Add more randomly-generated libm tests [committed]

Message ID alpine.DEB.2.10.1509111503340.11676@digraph.polyomino.org.uk
State Committed
Headers

Commit Message

Joseph Myers Sept. 11, 2015, 3:04 p.m. UTC
  This patch adds more libm test inputs found through random test
generation to increase observed ulps on x86_64.

Tested for x86_64 and x86.

(auto-libm-test-out diffs omitted below.)

2015-09-11  Joseph Myers  <joseph@codesourcery.com>

	* math/auto-libm-test-in: Add more tests of acosh, atanh, cbrt,
	cosh, csqrt, erfc, expm1 and lgamma.
	* math/auto-libm-test-out: Regenerated.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
  

Patch

diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 46c3e72..84b3df0 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -123,6 +123,9 @@  acosh 0x1.5d71a6p+36
 acosh 0x1.476a3c43d7edep+288
 acosh 0xc.84cb1dbbd1b1p+0
 acosh 0x1.0722362c26ba5p+0
+acosh 0x1.73515p+0
+acosh 0x1.1b836p+0
+acosh 0x1.07c956p+0
 acosh max no-test-inline
 
 asin 0
@@ -406,6 +409,8 @@  atanh -0x2.6cb2a8p-4
 atanh -0xc.21df7c7f51508p-4
 atanh 0x5.8be99p-40
 atanh 0x3.cbed35fe733d8p-4
+atanh -0x5.c18b6p-4
+atanh -0x7.c88a5p-8
 atanh 0x1p-500
 atanh 0x1p-5000
 atanh min
@@ -492,6 +497,7 @@  cbrt -0x3.593ed8p-72
 cbrt 0x1.bd0098p-104
 cbrt -0x3.300d34p+0
 cbrt 0x6.247f5p-4
+cbrt -0x3.48648028cb464p+0
 cbrt max
 cbrt -max
 cbrt min
@@ -959,6 +965,7 @@  cosh -0x3.cee48p+0
 cosh 0x2.f5d128p+0
 cosh -0xd.0c03p+0
 cosh -0x3.d04328728b72cp-4
+cosh 0x1.629188p+4
 # GCC bug 59666: results on directed rounding may be incorrect.
 cosh max no-test-inline xfail-rounding:ldbl-128ibm
 cosh -max no-test-inline xfail-rounding:ldbl-128ibm
@@ -1112,6 +1119,8 @@  csqrt -0x9.0a61a7b482d28p-168 -0x8p-152
 csqrt 0x3.f768f58949e3fe6cp-4 0x2.0c2e89a5cff98p+0
 csqrt 0x6.b1a2e79e9c9acp-164 0x8p-152
 csqrt -0x8.ec8932bf5603p-172 0x8p-152
+csqrt -0x1.9edb24c83e22cp-172 -0x8p-152
+csqrt -0x1.65c7ac7c97a25p-176 -0x8p-152
 
 csqrt 0x1.fffffep+127 0x1.fffffep+127
 csqrt 0x1.fffffep+127 1.0
@@ -1331,6 +1340,7 @@  erfc 0x2.36c504p+0
 erfc 0x1.65e31p+0
 erfc 0xd.44cd3p-4
 erfc 0xd.47425b3cafa48p-4
+erfc 0x1.2f644ep+0
 
 exp 0
 exp -0
@@ -1538,6 +1548,7 @@  expm1 0x6.1b4d318238d4a2a8p-4
 expm1 0x5.fb8dc64e91a74p-4
 expm1 0x3.735f497c4e67535cp-4
 expm1 -0x7.d6c50b469d404p+0
+expm1 0x4.857de8p+4
 expm1 0x4.0000000000000028p-16384
 expm1 min
 expm1 -min
@@ -2473,6 +2484,9 @@  lgamma -0x2.dea4ccp-4
 lgamma -0x2.dd306p-4
 lgamma -0x1.bdc8bp+0
 lgamma -0x4.0a82e8p-4
+lgamma -0x1.bca67ap+0
+lgamma -0x3.46446bb6a23aap+0
+lgamma -0x3.f3d2c40911814p+0
 
 log 1
 log e
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 2b81704..3c7ba5b 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -1216,8 +1216,8 @@  double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
 
 Function: Imaginary part of "csqrt_downward":
 double: 1
@@ -1562,8 +1562,8 @@  double: 3
 float: 3
 idouble: 3
 ifloat: 3
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
 
 Function: "gamma_downward":
 double: 4
@@ -1714,8 +1714,8 @@  double: 3
 float: 3
 idouble: 3
 ifloat: 3
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
 
 Function: "lgamma_downward":
 double: 4
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index b4a65d0..b4f2faf 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -32,26 +32,26 @@  ildouble: 2
 ldouble: 2
 
 Function: "acosh":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ildouble: 2
 ldouble: 2
 
 Function: "acosh_downward":
 double: 2
-float: 1
+float: 2
 idouble: 2
-ifloat: 1
+ifloat: 2
 ildouble: 4
 ldouble: 4
 
 Function: "acosh_towardzero":
 double: 2
-float: 1
+float: 2
 idouble: 2
-ifloat: 1
+ifloat: 2
 ildouble: 4
 ldouble: 4
 
@@ -195,9 +195,9 @@  ldouble: 3
 
 Function: "atanh_downward":
 double: 3
-float: 2
+float: 3
 idouble: 3
-ifloat: 2
+ifloat: 3
 ildouble: 5
 ldouble: 5
 
@@ -210,9 +210,9 @@  ildouble: 4
 ldouble: 4
 
 Function: "atanh_upward":
-double: 2
+double: 3
 float: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ildouble: 5
 ldouble: 5
@@ -668,9 +668,9 @@  ildouble: 1
 ldouble: 1
 
 Function: "cbrt_upward":
-double: 4
+double: 5
 float: 1
-idouble: 4
+idouble: 5
 ifloat: 1
 ildouble: 1
 ldouble: 1
@@ -1040,7 +1040,7 @@  double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
+ildouble: 2
 ldouble: 2
 
 Function: "cosh_downward":
@@ -1264,12 +1264,12 @@  ildouble: 2
 ldouble: 2
 
 Function: Real part of "csqrt_downward":
-double: 4
+double: 5
 float: 4
-idouble: 4
+idouble: 5
 ifloat: 4
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
 
 Function: Imaginary part of "csqrt_downward":
 double: 4
@@ -1472,9 +1472,9 @@  ildouble: 1
 ldouble: 1
 
 Function: "erfc":
-double: 2
+double: 3
 float: 2
-idouble: 2
+idouble: 3
 ifloat: 2
 ildouble: 3
 ldouble: 3
@@ -1627,9 +1627,9 @@  ldouble: 4
 
 Function: "expm1_towardzero":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ildouble: 4
 ldouble: 4
 
@@ -1642,12 +1642,12 @@  ildouble: 4
 ldouble: 4
 
 Function: "gamma":
-double: 3
-float: 3
-idouble: 3
-ifloat: 3
-ildouble: 3
-ldouble: 3
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+ildouble: 4
+ldouble: 4
 
 Function: "gamma_downward":
 double: 5
@@ -1794,12 +1794,12 @@  ildouble: 5
 ldouble: 5
 
 Function: "lgamma":
-double: 3
-float: 3
-idouble: 3
-ifloat: 3
-ildouble: 3
-ldouble: 3
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+ildouble: 4
+ldouble: 4
 
 Function: "lgamma_downward":
 double: 5