This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Add more random libm-test inputs [committed]
- From: Joseph Myers <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Thu, 13 Aug 2015 23:24:28 +0000
- Subject: Add more random libm-test inputs [committed]
- Authentication-results: sourceware.org; auth=none
This patch adds more test inputs to various libm functions found
through random generation to have larger ulps errors than previously
listed in libm-test-ulp, on at least one of x86_64 and x86.
Tested for x86_64 and x86. Committed.
(auto-libm-test-out diffs omitted below.)
2015-08-13 Joseph Myers <joseph@codesourcery.com>
* math/auto-libm-test-in: Add more tests of acos, acosh, asin,
asinh, atan, atan2, atanh, cabs, cbrt, cosh, csqrt, erf, erfc,
exp, exp2, lgamma, log, log1p, log2, pow, sin, sincos, tan, tanh
and tgamma.
* math/auto-libm-test-out: Regenerated.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index b14146e..d3a4834 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -70,6 +70,8 @@ acos 0x5.dd258006121b8p-4
acos -0x2.35f051e70dbc4p-4
acos 0xe.9a5c0d7fabb9aa1p-4
acos 0xe.17513589de79b75p-4
+acos 0x3.e57821d368ebap-4
+acos 0x2.0bee8p-4
acos min
acos -min
acos min_subnorm
@@ -117,6 +119,10 @@ acosh 0x1.11eab6p+0
acosh 0x1.0fffaap+0
acosh 0x1.068e0eca105a6p+0
acosh 0x2.8d4288p+0
+acosh 0x1.5d71a6p+36
+acosh 0x1.476a3c43d7edep+288
+acosh 0xc.84cb1dbbd1b1p+0
+acosh 0x1.0722362c26ba5p+0
acosh max no-test-inline
asin 0
@@ -140,6 +146,7 @@ asin -0x3.1c54d10e5c844p-4
asin 0xf.c9675fa6fe69f12p-4
asin -0xa.fc5afp-4
asin 0xd.805e5p-4
+asin -0x2.1a02dcp-4
asin min
asin -min
asin min_subnorm
@@ -221,6 +228,9 @@ asinh -0x7.63a06320c42e4p-4
asinh 0x6.f4a93p-4
asinh -0x7.88bcc8p-4
asinh -0x3.11c35p-4
+asinh -0x4.39534p-4
+asinh -0xd.d62e8p+92
+asinh -0x4.cfb9805a53a2065p-4
asinh 0x1p-500
asinh 0x1p-5000
asinh min
@@ -251,6 +261,7 @@ atan -0x2.3249ap+0
atan -0x1.363f46p+0
atan -0x1.ad4c0ap+0
atan -0x3.eb8e18p+0
+atan 0x3.53c188p+0
atan min
atan -min
atan min_subnorm
@@ -304,6 +315,7 @@ atan2 -0xa.b4101p+20 -0xf.9c4c8p-4
atan2 0x4.251bb8p-4 0x7.40ac68p+0
atan2 0x1.47239ep+68 0xa.3ac3cp+68
atan2 -0x6.b0794p-4 0x3.8ff10cp+0
+atan2 -0x7.15e7af0a1780cp-724 0xf.fffffp+124
atan2 min min
atan2 min -min
atan2 -min min
@@ -392,6 +404,8 @@ atanh -0x3.f0f519a687b64p-8
atanh 0x6.fd4ec8p-4
atanh -0x2.6cb2a8p-4
atanh -0xc.21df7c7f51508p-4
+atanh 0x5.8be99p-40
+atanh 0x3.cbed35fe733d8p-4
atanh 0x1p-500
atanh 0x1p-5000
atanh min
@@ -425,6 +439,7 @@ cabs -0x1.26a566p+120 0x4.017b28p+92
cabs -0x1.0eda54p+28 0xb.09476p+0
cabs -0x1.133b84p+84 -0xa.7d925f57f60cp+768
cabs -0 -0x3.4e5d7877324cp+0
+cabs -0xa.f59b8p+4 0xa.21a95p+20
# carg (x + i 0) == 0 for x > 0.
carg 2.0 0
@@ -476,6 +491,7 @@ cbrt -0x1.d6a8bep-20
cbrt -0x3.593ed8p-72
cbrt 0x1.bd0098p-104
cbrt -0x3.300d34p+0
+cbrt 0x6.247f5p-4
cbrt max
cbrt -max
cbrt min
@@ -942,6 +958,7 @@ cosh -0xb.60713p+0
cosh -0x3.cee48p+0
cosh 0x2.f5d128p+0
cosh -0xd.0c03p+0
+cosh -0x3.d04328728b72cp-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
@@ -1093,6 +1110,8 @@ csqrt -0xb.e2bc1cd6eaa7p-180 0x8p-152
csqrt 0xd.25d559ac5baap-168 0x8p-152
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.fffffep+127 0x1.fffffep+127
csqrt 0x1.fffffep+127 1.0
@@ -1252,6 +1271,7 @@ erf 0x1.44e722p+0
erf -0x1.3a0d48p+0
erf -0x1.c975cap+0
erf -0x1.e6a006p+0
+erf -0x1.4d32f4p-12
erfc 0.0
erfc -0
@@ -1295,6 +1315,8 @@ erfc 0x2.f8646cp+0
erfc 0x1.514548p+0
erfc 0x2.36c504p+0
erfc 0x1.65e31p+0
+erfc 0xd.44cd3p-4
+erfc 0xd.47425b3cafa48p-4
exp 0
exp -0
@@ -1341,6 +1363,8 @@ exp -0x1.760cd14774bd9p+0
exp 0x1.4bed28p+0
exp -0x1.f1cf36p+8
exp 0x3.248524p+0
+exp 0x1.f0b362p+0
+exp 0xd.89746a799ac4eedp+0
exp10 0
exp10 -0
@@ -1442,6 +1466,7 @@ exp2 -0x1.3045fep+8
exp2 0xa.87b8bp+0
exp2 -0xe.2ce69p-4
exp2 -0xc.1bf12p-16
+exp2 -0x4.8ce878p-4
expm1 0
expm1 -0
@@ -1980,6 +2005,7 @@ lgamma 0xb.2e679p+0
lgamma 0xb.01191p+0
lgamma 0xb.26fdap+0
lgamma 0xb.4ad0ap+0
+lgamma 0xe.7a678p+20
log 1
log e
@@ -1996,6 +2022,7 @@ log 0xa.ae688p-4
log 0x1.017f8ap+44
log 0x1.0b5c1ep+36
log 0x2.1b17c2887e938p+928
+log 0x1.929d9cp+0
log10 1
log10 0.1
@@ -2045,6 +2072,7 @@ log1p 0xa.5028608bd65f38dp-4
log1p 0x5.bf78873e20a2d468p-4
log1p 0x7.aa5198p-4
log1p 0x2.564fap+0
+log1p 0x7.fc242a2235222ef8p-4
log2 1
log2 e
@@ -2062,6 +2090,7 @@ log2 0x1.0a588ep+0
log2 0xb.e77c6p-4
log2 0x1.4fe37ep+0
log2 0x3.9b0754p+8
+log2 0xb.e132ap-4
log2 min
log2 min_subnorm
@@ -2464,6 +2493,7 @@ pow 1.5 1.03125
pow 0x1.7d1a0a6f2p+681 1.5
pow 0x1.ce78f2p+0 -0x2.7f1f78p+4
pow 0xf.fffffp+124 -0x5.b5b648p+0
+pow 0x1.430d4cp+0 0x5.0e462p+4
sin 0
sin -0
@@ -2507,6 +2537,7 @@ sin 0x1.2001469775ce6p32
sin -0x3.3de320f6be87ep+1020
sin 0xe.9f1e5bc3bb88p+112
sin 0x4.7857dp+68
+sin 0x6.287cc8749212e72p+0
sin min
sin -min
sin min_subnorm
@@ -2533,6 +2564,7 @@ sincos 0x1p+28
sincos -0x3.3de320f6be87ep+1020
sincos 0xe.9f1e5bc3bb88p+112
sincos 0x4.7857dp+68
+sincos 0x6.287cc8749212e72p+0
sincos min
sincos -min
sincos min_subnorm
@@ -2720,6 +2752,9 @@ tan -0x1.4f69cp+0
tan 0x1.6ca7e8p+0
tan -0x1.b569cp+0
tan -0x2.12bafcp+0
+tan 0x2.091d68p+0
+tan -0x5.302ab9b18593264p+0
+tan 0x1.1ad374p+0
tan min
tan -min
tan min_subnorm
@@ -2779,6 +2814,8 @@ tanh -0x2.6082fp-4
tanh 0xe.05031p-16
tanh 0x3.c80eaa7adaa3p-4
tanh 0x2.00f9857616524p-4
+tanh -0xe.9e035p+0
+tanh -0x3.c0d8b54c5a488p-4
tanh min
tanh -min
tanh min_subnorm
@@ -3236,6 +3273,14 @@ tgamma -0x1.4a5caap+4
tgamma -0x9.2d3a5p+0
tgamma -0xb.0f63ep+0
tgamma -0x5.f0e02p+8
+tgamma -0xb.3123bp+0
+tgamma -0x9.6d538p+0
+tgamma -0xc.c2439p+0
+tgamma -0xc.372f043322128p+0
+tgamma -0xa.ccfcep+0
+tgamma -0x9.418c8p+0
+tgamma -0x6.ce9158p+0
+tgamma -0xd.cbf53d0e7d06p+0
y0 0.125
y0 0.75
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index de53451..8263717 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -2,6 +2,8 @@
# Maximal error of functions:
Function: "acos":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
@@ -14,10 +16,14 @@ ildouble: 2
ldouble: 2
Function: "acos_upward":
+double: 1
+idouble: 1
ildouble: 2
ldouble: 2
Function: "acosh":
+double: 1
+idouble: 1
ildouble: 4
ldouble: 2
@@ -34,6 +40,8 @@ ildouble: 6
ldouble: 4
Function: "acosh_upward":
+double: 1
+idouble: 1
ildouble: 4
ldouble: 3
@@ -44,10 +52,14 @@ ildouble: 1
ldouble: 1
Function: "asin_downward":
+double: 1
+idouble: 1
ildouble: 2
ldouble: 2
Function: "asin_towardzero":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
@@ -62,18 +74,20 @@ ldouble: 1
Function: "asinh":
double: 1
idouble: 1
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: "asinh_downward":
double: 1
float: 1
+idouble: 1
ildouble: 5
ldouble: 5
Function: "asinh_towardzero":
double: 1
float: 1
+idouble: 1
ildouble: 4
ldouble: 4
@@ -83,13 +97,17 @@ float: 1
idouble: 1
ifloat: 1
ildouble: 5
-ldouble: 4
+ldouble: 5
Function: "atan":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
Function: "atan2":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
@@ -165,12 +183,15 @@ ldouble: 3
Function: "atanh_upward":
double: 1
+float: 1
idouble: 1
ifloat: 1
ildouble: 5
ldouble: 5
Function: "cabs":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
@@ -595,8 +616,8 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: "cbrt_downward":
double: 1
@@ -962,6 +983,7 @@ ldouble: 2
Function: "cosh":
double: 1
+idouble: 1
ildouble: 2
ldouble: 2
@@ -1230,8 +1252,8 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: Real part of "ctan":
double: 1
@@ -1386,7 +1408,9 @@ ildouble: 1
ldouble: 1
Function: "erf_upward":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -1420,8 +1444,8 @@ double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
Function: "exp":
double: 1
@@ -1470,6 +1494,8 @@ ildouble: 1
ldouble: 1
Function: "exp2_towardzero":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
@@ -1486,12 +1512,14 @@ ldouble: 1
Function: "exp_towardzero":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "exp_upward":
double: 1
+float: 1
idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
@@ -1710,6 +1738,8 @@ ildouble: 4
ldouble: 4
Function: "log":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
@@ -1754,16 +1784,16 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: "log1p_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: "log1p_upward":
double: 1
@@ -1780,6 +1810,8 @@ ildouble: 1
ldouble: 1
Function: "log2_downward":
+double: 1
+idouble: 1
ildouble: 1
ldouble: 1
@@ -1884,8 +1916,8 @@ ldouble: 2
Function: "sin_towardzero":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "sin_upward":
double: 1
@@ -1946,24 +1978,24 @@ ldouble: 5
Function: "tan":
float: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "tan_downward":
double: 1
float: 2
idouble: 1
ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: "tan_towardzero":
double: 1
float: 2
idouble: 1
ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: "tan_upward":
double: 1
@@ -1974,8 +2006,10 @@ ildouble: 2
ldouble: 2
Function: "tanh":
-ildouble: 2
-ldouble: 2
+double: 1
+idouble: 1
+ildouble: 3
+ldouble: 3
Function: "tanh_downward":
double: 1
@@ -2002,36 +2036,36 @@ ildouble: 5
ldouble: 4
Function: "tgamma":
-double: 2
+double: 3
float: 3
-idouble: 2
+idouble: 3
ifloat: 3
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
Function: "tgamma_downward":
double: 3
-float: 3
+float: 4
idouble: 3
-ifloat: 3
-ildouble: 3
-ldouble: 3
+ifloat: 4
+ildouble: 5
+ldouble: 5
Function: "tgamma_towardzero":
-double: 3
-float: 3
-idouble: 3
-ifloat: 3
-ildouble: 4
-ldouble: 4
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+ildouble: 5
+ldouble: 5
Function: "tgamma_upward":
-double: 3
+double: 4
float: 4
-idouble: 3
+idouble: 4
ifloat: 4
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
Function: "y0":
double: 1
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index b5f2680..aeb3d49 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -40,9 +40,9 @@ ildouble: 2
ldouble: 2
Function: "acosh_downward":
-double: 1
+double: 2
float: 1
-idouble: 1
+idouble: 2
ifloat: 1
ildouble: 4
ldouble: 4
@@ -57,9 +57,9 @@ ldouble: 4
Function: "acosh_upward":
double: 2
-float: 1
+float: 2
idouble: 2
-ifloat: 1
+ifloat: 2
ildouble: 3
ldouble: 3
@@ -98,8 +98,8 @@ double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: "asinh_downward":
double: 3
@@ -122,8 +122,8 @@ double: 3
float: 3
idouble: 3
ifloat: 3
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
Function: "atan":
float: 1
@@ -186,9 +186,9 @@ ildouble: 1
ldouble: 1
Function: "atanh":
-double: 1
+double: 2
float: 2
-idouble: 1
+idouble: 2
ifloat: 2
ildouble: 3
ldouble: 3
@@ -1280,9 +1280,9 @@ ildouble: 4
ldouble: 4
Function: Real part of "csqrt_towardzero":
-double: 3
+double: 4
float: 3
-idouble: 3
+idouble: 4
ifloat: 3
ildouble: 4
ldouble: 4
@@ -1308,8 +1308,8 @@ double: 3
float: 3
idouble: 3
ifloat: 3
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: Real part of "ctan":
double: 1
@@ -1480,9 +1480,9 @@ ildouble: 3
ldouble: 3
Function: "erfc_downward":
-double: 4
+double: 5
float: 6
-idouble: 4
+idouble: 5
ifloat: 6
ildouble: 4
ldouble: 4
@@ -1496,12 +1496,12 @@ ildouble: 4
ldouble: 4
Function: "erfc_upward":
-double: 4
+double: 5
float: 6
-idouble: 4
+idouble: 5
ifloat: 6
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
Function: "exp":
ildouble: 1
@@ -1578,12 +1578,14 @@ ldouble: 1
Function: "exp_towardzero":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "exp_upward":
double: 1
+float: 1
idouble: 1
+ifloat: 1
ildouble: 1
ldouble: 1
@@ -1665,9 +1667,9 @@ ldouble: 6
Function: "gamma_upward":
double: 4
-float: 3
+float: 4
idouble: 4
-ifloat: 3
+ifloat: 4
ildouble: 4
ldouble: 4
@@ -1817,9 +1819,9 @@ ldouble: 6
Function: "lgamma_upward":
double: 4
-float: 3
+float: 4
idouble: 4
-ifloat: 3
+ifloat: 4
ildouble: 4
ldouble: 4
@@ -1874,16 +1876,16 @@ double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: "log1p_towardzero":
double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 3
-ldouble: 3
+ildouble: 4
+ldouble: 4
Function: "log1p_upward":
double: 2
@@ -2001,25 +2003,25 @@ ldouble: 2
Function: "pow_downward":
double: 1
-float: 3
+float: 4
idouble: 1
-ifloat: 3
+ifloat: 4
ildouble: 4
ldouble: 4
Function: "pow_towardzero":
double: 1
-float: 4
+float: 8
idouble: 1
-ifloat: 4
+ifloat: 8
ildouble: 1
ldouble: 1
Function: "pow_upward":
double: 1
-float: 4
+float: 8
idouble: 1
-ifloat: 4
+ifloat: 8
ildouble: 2
ldouble: 2
@@ -2056,8 +2058,8 @@ ldouble: 2
Function: "sin_towardzero":
double: 1
idouble: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "sin_upward":
double: 1
@@ -2111,10 +2113,10 @@ Function: "sincos_vlen16":
float: 1
Function: "sincos_vlen2":
-double: 1
+double: 2
Function: "sincos_vlen4":
-double: 1
+double: 2
float: 1
Function: "sincos_vlen4_avx2":
@@ -2162,24 +2164,24 @@ ldouble: 5
Function: "tan":
float: 1
ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
Function: "tan_downward":
double: 1
float: 2
idouble: 1
ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: "tan_towardzero":
double: 1
float: 1
idouble: 1
ifloat: 1
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: "tan_upward":
double: 1
@@ -2194,8 +2196,8 @@ double: 2
float: 2
idouble: 2
ifloat: 2
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
Function: "tanh_downward":
double: 3
@@ -2222,36 +2224,36 @@ ildouble: 4
ldouble: 4
Function: "tgamma":
-double: 4
+double: 5
float: 5
-idouble: 4
+idouble: 5
ifloat: 5
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
Function: "tgamma_downward":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-ildouble: 3
-ldouble: 3
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
+ildouble: 5
+ldouble: 5
Function: "tgamma_towardzero":
double: 5
float: 5
idouble: 5
ifloat: 5
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
Function: "tgamma_upward":
double: 5
float: 5
idouble: 5
ifloat: 5
-ildouble: 4
-ldouble: 4
+ildouble: 5
+ldouble: 5
Function: "y0":
double: 2
--
Joseph S. Myers
joseph@codesourcery.com