about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--math/auto-libm-test-in2
-rw-r--r--math/auto-libm-test-out130
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps6
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps8
5 files changed, 144 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index d4181e2782..0b00161755 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2015-04-08  Joseph Myers  <joseph@codesourcery.com>
 
+	* math/auto-libm-test-in: Add more tests of atanh.
+	* 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: Add more tests of atan.
 	* math/auto-libm-test-out: Regenerated.
 	* sysdeps/i386/fpu/libm-test-ulps: Update.
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 0fa1f97602..433742a0a5 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -373,6 +373,8 @@ atanh -0x2.084568p-4
 atanh -0x3.e0a5d8p-4
 atanh 0x3.dfb1f5db0ceccp-4
 atanh 0x2.251b2a64c85dep-4
+atanh -0x2.e3458cp-4
+atanh 0x3.91d9f3c80c72d7acp-4
 # Bug 16352: underflow exception may be missing.
 atanh 0x1p-500 missing-underflow
 atanh 0x1p-5000 missing-underflow
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 76331ee630..41bd657f9c 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -20096,6 +20096,136 @@ atanh 0x2.251b2a64c85dep-4
 = atanh tonearest ldbl-128ibm 0x2.251b2a64c85dep-4L : 0x2.286e78db2bfabca36df0cd8584p-4L : inexact-ok
 = atanh towardzero ldbl-128ibm 0x2.251b2a64c85dep-4L : 0x2.286e78db2bfabca36df0cd8584p-4L : inexact-ok
 = atanh upward ldbl-128ibm 0x2.251b2a64c85dep-4L : 0x2.286e78db2bfabca36df0cd8585p-4L : inexact-ok
+atanh -0x2.e3458cp-4
+= atanh downward flt-32 -0x2.e3458cp-4f : -0x2.eb75acp-4f : inexact-ok
+= atanh tonearest flt-32 -0x2.e3458cp-4f : -0x2.eb75acp-4f : inexact-ok
+= atanh towardzero flt-32 -0x2.e3458cp-4f : -0x2.eb75a8p-4f : inexact-ok
+= atanh upward flt-32 -0x2.e3458cp-4f : -0x2.eb75a8p-4f : inexact-ok
+= atanh downward dbl-64 -0x2.e3458cp-4 : -0x2.eb75aac832c62p-4 : inexact-ok
+= atanh tonearest dbl-64 -0x2.e3458cp-4 : -0x2.eb75aac832c62p-4 : inexact-ok
+= atanh towardzero dbl-64 -0x2.e3458cp-4 : -0x2.eb75aac832c6p-4 : inexact-ok
+= atanh upward dbl-64 -0x2.e3458cp-4 : -0x2.eb75aac832c6p-4 : inexact-ok
+= atanh downward ldbl-96-intel -0x2.e3458cp-4L : -0x2.eb75aac832c61fa4p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh towardzero ldbl-96-intel -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh upward ldbl-96-intel -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh downward ldbl-96-m68k -0x2.e3458cp-4L : -0x2.eb75aac832c61fa4p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh upward ldbl-96-m68k -0x2.e3458cp-4L : -0x2.eb75aac832c61fap-4L : inexact-ok
+= atanh downward ldbl-128 -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277ed62p-4L : inexact-ok
+= atanh tonearest ldbl-128 -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277ed6p-4L : inexact-ok
+= atanh towardzero ldbl-128 -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277ed6p-4L : inexact-ok
+= atanh upward ldbl-128 -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277ed6p-4L : inexact-ok
+= atanh downward ldbl-128ibm -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277eep-4L : inexact-ok
+= atanh tonearest ldbl-128ibm -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277edp-4L : inexact-ok
+= atanh towardzero ldbl-128ibm -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277edp-4L : inexact-ok
+= atanh upward ldbl-128ibm -0x2.e3458cp-4L : -0x2.eb75aac832c61fa1080a8277edp-4L : inexact-ok
+atanh 0x3.91d9f3c80c72d7acp-4
+= atanh downward flt-32 0x3.91d9f4p-4f : 0x3.a17be8p-4f : inexact-ok
+= atanh tonearest flt-32 0x3.91d9f4p-4f : 0x3.a17be8p-4f : inexact-ok
+= atanh towardzero flt-32 0x3.91d9f4p-4f : 0x3.a17be8p-4f : inexact-ok
+= atanh upward flt-32 0x3.91d9f4p-4f : 0x3.a17becp-4f : inexact-ok
+= atanh downward dbl-64 0x3.91d9f4p-4 : 0x3.a17be81862298p-4 : inexact-ok
+= atanh tonearest dbl-64 0x3.91d9f4p-4 : 0x3.a17be8186229ap-4 : inexact-ok
+= atanh towardzero dbl-64 0x3.91d9f4p-4 : 0x3.a17be81862298p-4 : inexact-ok
+= atanh upward dbl-64 0x3.91d9f4p-4 : 0x3.a17be8186229ap-4 : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9f4p-4L : 0x3.a17be81862299c08p-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9f4p-4L : 0x3.a17be81862299c04p-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9f4p-4L : 0x3.a17be81862299c08p-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7c2p-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7c2p-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7c2p-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7c4p-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7p-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de8p-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de7p-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9f4p-4L : 0x3.a17be81862299c04ac8cc24de8p-4L : inexact-ok
+= atanh downward flt-32 0x3.91d9fp-4f : 0x3.a17bep-4f : inexact-ok
+= atanh tonearest flt-32 0x3.91d9fp-4f : 0x3.a17be4p-4f : inexact-ok
+= atanh towardzero flt-32 0x3.91d9fp-4f : 0x3.a17bep-4f : inexact-ok
+= atanh upward flt-32 0x3.91d9fp-4f : 0x3.a17be4p-4f : inexact-ok
+= atanh downward dbl-64 0x3.91d9fp-4 : 0x3.a17be3e2bdc8ep-4 : inexact-ok
+= atanh tonearest dbl-64 0x3.91d9fp-4 : 0x3.a17be3e2bdc9p-4 : inexact-ok
+= atanh towardzero dbl-64 0x3.91d9fp-4 : 0x3.a17be3e2bdc8ep-4 : inexact-ok
+= atanh upward dbl-64 0x3.91d9fp-4 : 0x3.a17be3e2bdc9p-4 : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f91p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f914p-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f91p-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f914p-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f91p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f914p-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f91p-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f914p-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b9621ap-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b9621ap-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b9621ap-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b9621cp-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b962p-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b962p-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b962p-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9fp-4L : 0x3.a17be3e2bdc8f913609ba2b963p-4L : inexact-ok
+= atanh downward dbl-64 0x3.91d9f3c80c72ep-4 : 0x3.a17be7dd80462p-4 : inexact-ok
+= atanh tonearest dbl-64 0x3.91d9f3c80c72ep-4 : 0x3.a17be7dd80462p-4 : inexact-ok
+= atanh towardzero dbl-64 0x3.91d9f3c80c72ep-4 : 0x3.a17be7dd80462p-4 : inexact-ok
+= atanh upward dbl-64 0x3.91d9f3c80c72ep-4 : 0x3.a17be7dd80464p-4 : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462184p-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd8046218p-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462184p-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafc6p-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafc6p-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafc6p-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafc8p-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafp-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eabp-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eaafp-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9f3c80c72ep-4L : 0x3.a17be7dd80462181a104c9eabp-4L : inexact-ok
+= atanh downward dbl-64 0x3.91d9f3c80c72cp-4 : 0x3.a17be7dd8045ep-4 : inexact-ok
+= atanh tonearest dbl-64 0x3.91d9f3c80c72cp-4 : 0x3.a17be7dd8046p-4 : inexact-ok
+= atanh towardzero dbl-64 0x3.91d9f3c80c72cp-4 : 0x3.a17be7dd8045ep-4 : inexact-ok
+= atanh upward dbl-64 0x3.91d9f3c80c72cp-4 : 0x3.a17be7dd8046p-4 : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd8p-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd4p-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd8p-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa0421ep-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa0422p-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa0421ep-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa0422p-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa042p-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa042p-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa042p-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9f3c80c72cp-4L : 0x3.a17be7dd8045ffd47dfdefa043p-4L : inexact-ok
+= atanh downward ldbl-96-intel 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh tonearest ldbl-96-intel 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh towardzero ldbl-96-intel 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh upward ldbl-96-intel 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618cp-4L : inexact-ok
+= atanh downward ldbl-96-m68k 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh tonearest ldbl-96-m68k 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh towardzero ldbl-96-m68k 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bcp-4L : inexact-ok
+= atanh upward ldbl-96-m68k 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618cp-4L : inexact-ok
+= atanh downward ldbl-128 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b10fap-4L : inexact-ok
+= atanh tonearest ldbl-128 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b10fap-4L : inexact-ok
+= atanh towardzero ldbl-128 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b10fap-4L : inexact-ok
+= atanh upward ldbl-128 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b10fcp-4L : inexact-ok
+= atanh downward ldbl-128ibm 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b1p-4L : inexact-ok
+= atanh tonearest ldbl-128ibm 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b11p-4L : inexact-ok
+= atanh towardzero ldbl-128ibm 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b1p-4L : inexact-ok
+= atanh upward ldbl-128ibm 0x3.91d9f3c80c72d7acp-4L : 0x3.a17be7dd804618bdf1c7215b11p-4L : inexact-ok
 atanh 0x1p-500 missing-underflow
 = atanh downward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok
 = atanh tonearest flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index e3554ede68..6a036f5e5e 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -135,14 +135,14 @@ ldouble: 1
 
 Function: "atanh":
 ildouble: 3
-ldouble: 2
+ldouble: 3
 
 Function: "atanh_downward":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 2
+ildouble: 3
 ldouble: 4
 
 Function: "atanh_towardzero":
@@ -156,7 +156,7 @@ ldouble: 3
 Function: "atanh_upward":
 idouble: 1
 ifloat: 1
-ildouble: 4
+ildouble: 5
 ldouble: 4
 
 Function: "cabs":
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 33e597a956..5d9bc9b075 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -190,8 +190,8 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
 
 Function: "atanh_downward":
 double: 2
@@ -202,9 +202,9 @@ ildouble: 5
 ldouble: 5
 
 Function: "atanh_towardzero":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 4
 ldouble: 4