Add more tests of atanh.

This patch adds some randomly-generated tests of atanh that are
observed to increase ulps on x86_64.

Tested for x86_64 and x86 and ulps updated accordingly.

	* 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.
This commit is contained in:
Joseph Myers 2015-04-08 21:13:35 +00:00
parent 024bcc5106
commit 787d22bce6
5 changed files with 144 additions and 7 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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":

View File

@ -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