Fix ldbl-128ibm acoshl inaccuracy (bug 18019).
commit440169d681cc9f422e8486f1324079bef0e0c35a
authorJoseph Myers <joseph@codesourcery.com>
Wed, 25 Feb 2015 00:01:15 +0000 (25 00:01 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 25 Feb 2015 00:01:15 +0000 (25 00:01 +0000)
tree9b732f618ba081518cf0cca84ef33328526a4633
parentba7d2c543f7d69883ece7eab39bf6c5cd5dc3081
Fix ldbl-128ibm acoshl inaccuracy (bug 18019).

The ldbl-128ibm implementation of acoshl uses a cut-off of 0x1p28 to
determine when to use log(x) + log(2) as a formula.  That cut-off is
too small for this format, resulting in large errors.  This patch
changes it to a more appropriate cut-off of 0x1p56, adding tests
around the cut-offs for various floating-point formats.

Tested for powerpc.  Also tested for x86_64 and x86 and updated ulps.

[BZ #18019]
* sysdeps/ieee754/ldbl-128ibm/e_acoshl.c (__ieee754_acoshl): Use
2**56 not 2**28 as threshold for log (2x) formula.
* math/auto-libm-test-in: Add more tests of acosh.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
ChangeLog
NEWS
math/auto-libm-test-in
math/auto-libm-test-out
sysdeps/i386/fpu/libm-test-ulps
sysdeps/ieee754/ldbl-128ibm/e_acoshl.c
sysdeps/x86_64/fpu/libm-test-ulps