diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-05-14 23:51:09 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-05-14 23:51:09 +0000 |
commit | 9a71f1fcf53615c00b5f9e5da4bba92bccb0efb4 (patch) | |
tree | 803585f46a9049a90164009e560b8f25e262faa0 /math/auto-libm-test-in | |
parent | 0b7a5f920163d03806d7c5d9d1c83b16942c9496 (diff) | |
download | glibc-9a71f1fcf53615c00b5f9e5da4bba92bccb0efb4.tar.gz |
Fix atanf spurious underflows (bug 18196).
The sysdeps/ieee754/flt-32 version of atanf produces spurious
underflow exceptions for some large arguments, because of computations
that compute x^-4. This patch fixes this by adjusting the threshold
for large arguments (for which +/- pi/2 can just be returned, the
correct result being roughly +/- pi/2 - 1/x) from 2^34 to 2^25.
Tested for x86_64 and x86.
[BZ #18196]
* sysdeps/ieee754/flt-32/s_atanf.c (__atanf): Use 2^25 not 2^34 as
threshold for large arguments.
* math/auto-libm-test-in: Add another test of atan.
* math/auto-libm-test-out: Regenerated.
Diffstat (limited to 'math/auto-libm-test-in')
-rw-r--r-- | math/auto-libm-test-in | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 7e5c7bb254..1deb99ad0d 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -239,6 +239,7 @@ atan 0x1p-5 atan 2.5 atan 10 atan 1e6 +atan 0x1p31 atan 0x1p-100 atan 0x1p-600 atan 0x1p-10000 |