about summary refs log tree commit diff
path: root/math/auto-libm-test-in
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-02-25 00:01:15 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-02-25 00:01:15 +0000
commit440169d681cc9f422e8486f1324079bef0e0c35a (patch)
tree9b732f618ba081518cf0cca84ef33328526a4633 /math/auto-libm-test-in
parentba7d2c543f7d69883ece7eab39bf6c5cd5dc3081 (diff)
downloadglibc-440169d681cc9f422e8486f1324079bef0e0c35a.tar.gz
glibc-440169d681cc9f422e8486f1324079bef0e0c35a.tar.xz
glibc-440169d681cc9f422e8486f1324079bef0e0c35a.zip
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.
Diffstat (limited to 'math/auto-libm-test-in')
-rw-r--r--math/auto-libm-test-in31
1 files changed, 31 insertions, 0 deletions
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