From 526af54142db14c1edcd2d80dc1b56d33ff4e8ce Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 19 May 2015 23:05:22 +0000 Subject: Fix i386 atanhl spurious underflows (bug 18049). The i386 implementation of atanhl, for small arguments, does a calculation that involves computing twice the square of the argument, resulting in spurious underflows for some arguments. This patch fixes this by just returning the argument when its exponent is below -32, with underflow being forced as needed for subnormal arguments. Tested for x86 and x86_64. [BZ #18049] * sysdeps/i386/fpu/e_atanhl.S (__ieee754_atanhl): For exponents below -32, return the argument, with underflow if subnormal. * math/auto-libm-test-in: Add more tests of atanh. * math/auto-libm-test-out: Regenerated. --- ChangeLog | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 5ea3db5a2c..0a5ef3b4a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-05-19 Joseph Myers + + [BZ #18049] + * sysdeps/i386/fpu/e_atanhl.S (__ieee754_atanhl): For exponents + below -32, return the argument, with underflow if subnormal. + * math/auto-libm-test-in: Add more tests of atanh. + * math/auto-libm-test-out: Regenerated. + 2015-05-19 Roland McGrath [BZ #18434] -- cgit v1.2.3