From 440169d681cc9f422e8486f1324079bef0e0c35a Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 25 Feb 2015 00:01:15 +0000 Subject: 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. --- math/auto-libm-test-in | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'math/auto-libm-test-in') diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index 62e1439c02..a4bd972c80 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -43,6 +43,37 @@ acosh 1.625 acosh 7 acosh 100 acosh 1e5 +acosh 0x1p8 +acosh 0x1p9 +acosh 0x1p10 +acosh 0x1p11 +acosh 0x1p12 +acosh 0x1p13 +acosh 0x1p24 +acosh 0x1p25 +acosh 0x1p26 +acosh 0x1p27 +acosh 0x1p28 +acosh 0x1p29 +acosh 0x1p30 +acosh 0x1p31 +acosh 0x1p32 +acosh 0x1p33 +acosh 0x1p48 +acosh 0x1p49 +acosh 0x1p50 +acosh 0x1p51 +acosh 0x1p52 +acosh 0x1p53 +acosh 0x1p54 +acosh 0x1p55 +acosh 0x1p56 +acosh 0x1p57 +acosh 0x1p58 +acosh 0x1p59 +acosh 0x1p100 +acosh 0x1p500 +acosh 0x1p5000 acosh max no-test-inline asin 0 -- cgit 1.4.1