Fix atanf spurious underflows (bug 18196).
commit9a71f1fcf53615c00b5f9e5da4bba92bccb0efb4
authorJoseph Myers <joseph@codesourcery.com>
Thu, 14 May 2015 23:51:09 +0000 (14 23:51 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 14 May 2015 23:51:09 +0000 (14 23:51 +0000)
tree803585f46a9049a90164009e560b8f25e262faa0
parent0b7a5f920163d03806d7c5d9d1c83b16942c9496
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.
ChangeLog
NEWS
math/auto-libm-test-in
math/auto-libm-test-out
sysdeps/ieee754/flt-32/s_atanf.c