diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-05-19 23:05:22 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-05-19 23:05:22 +0000 |
commit | 526af54142db14c1edcd2d80dc1b56d33ff4e8ce (patch) | |
tree | 04991e58f9d8c05a94a492eda37747bdcc8a4740 /math/auto-libm-test-in | |
parent | 88ed594f5d431d855256edbe7e886c8cf4b575dc (diff) | |
download | glibc-526af54142db14c1edcd2d80dc1b56d33ff4e8ce.tar.gz |
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.
Diffstat (limited to 'math/auto-libm-test-in')
-rw-r--r-- | math/auto-libm-test-in | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 6fe0ed7d75..9e55d913ae 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -368,6 +368,11 @@ atanh 0x1p-57 atanh 0x1p-58 atanh 0x1p-59 atanh 0x1p-100 +atanh -0x1p-100 +atanh 0x1p-600 +atanh -0x1p-600 +atanh 0x1p-10000 +atanh -0x1p-10000 atanh -0x6.e6c77p-20 atanh 0x3.2ca824p-4 atanh -0x1.cc1d66p-4 |