aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog25
-rw-r--r--math/auto-libm-test-in148
-rw-r--r--math/auto-libm-test-out4141
-rw-r--r--math/gen-auto-libm-tests.c32
-rw-r--r--math/libm-test.inc215
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps158
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps244
7 files changed, 4752 insertions, 211 deletions
diff --git a/ChangeLog b/ChangeLog
index c8ef77774d..cccf41943e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2013-12-03 Joseph Myers <joseph@codesourcery.com>
+
+ * math/auto-libm-test-in: Add tests of erf, erfc, exp, exp10,
+ exp2, expm1, j0 and j1.
+ * math/auto-libm-test-out: Regenerated.
+ * math/libm-test.inc (erf_test_data): Use AUTO_TESTS_f_f.
+ (erfc_test_data): Likewise.
+ (exp_test_data): Likewise.
+ (exp_tonearest_test_data): Likewise.
+ (exp_towardzero_test_data): Likewise.
+ (exp_downward_test_data): Likewise.
+ (exp_upward_test_data): Likewise.
+ (exp10_test_data): Likewise.
+ (exp2_test_data): Likewise.
+ (expm1_test_data): Likewise.
+ (j0_test_data): Likewise.
+ (j1_test_data): Likewise.
+ * math/gen-auto-libm-tests.c: Mention "xfail-rounding" in comment.
+ (input_flag_type): Add flag_xfail_rounding.
+ (input_flags): Add xfail-rounding.
+ (adjust_real): Assert mpfr_number_p not mpfr_regular_p.
+ (output_for_one_input_case): Handle flag_xfail_rounding.
+ * sysdeps/i386/fpu/libm-test-ulps: Update.
+ * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
2013-12-03 Aurelien Jarno <aurelien@aurel32.net>
[BZ #16289]
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 7eac25f5f3..392cc57bf3 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -127,6 +127,154 @@ cosh 22
cosh 23
cosh 24
+erf 0
+erf -0
+erf 0.125
+erf 0.75
+erf 1.25
+erf 2.0
+erf 4.125
+erf 27.0
+erf -27.0
+erf -0x1.fffffffffffff8p-2
+
+erfc 0.0
+erfc -0
+erfc 0.125
+erfc 0.75
+erfc 1.25
+erfc 2.0
+erfc 0x1.f7303cp+1
+erfc 4.125
+erfc 0x1.ffa002p+2
+erfc 0x1.ffffc8p+2
+erfc -0x1.fffffffffffff8p-2
+# Bug 6786: errno may not be set on underflow.
+erfc 27.0 missing-errno
+erfc 0x1.ffff56789abcdef0123456789a8p+2
+
+exp 0
+exp -0
+exp 1
+exp 2
+exp 3
+exp 0.75
+exp 50.0
+exp 88.72269439697265625
+exp 709.75
+# Bug 16284: results on directed rounding may be incorrect.
+exp 1000.0 xfail-rounding:dbl-64
+exp 710 xfail-rounding:dbl-64
+exp -1234
+# Bug 16284: results on directed rounding may be incorrect.
+exp 1e5 xfail-rounding:dbl-64
+exp max xfail-rounding:dbl-64
+exp -max
+
+exp10 0
+exp10 -0
+exp10 3
+exp10 -1
+exp10 36
+exp10 -36
+exp10 305
+exp10 -305
+exp10 4932
+exp10 -4932
+exp10 1e5
+exp10 -1e5
+exp10 1e6
+exp10 -1e6
+exp10 max
+exp10 -max
+exp10 0.75
+
+exp2 0
+exp2 -0
+exp2 10
+exp2 -1
+exp2 1e6
+# Bug 16283: errno may not be set on underflow.
+exp2 -1e6 missing-errno
+exp2 max
+# Bug 16283: errno may not be set on underflow.
+exp2 -max missing-errno
+exp2 0.75
+exp2 100.5
+exp2 127
+exp2 -149
+exp2 1000.25
+exp2 1023
+# Bug 16283: errno may not be set on underflow.
+exp2 -1074 missing-errno
+exp2 16383
+# Bug 16283: errno may not be set on underflow.
+exp2 -16400 missing-errno
+
+expm1 0
+expm1 -0
+expm1 1
+expm1 0.75
+expm1 50.0
+expm1 127.0
+expm1 500.0
+expm1 11356.25
+expm1 -10.0
+expm1 -16.0
+expm1 -17.0
+expm1 -18.0
+expm1 -36.0
+expm1 -37.0
+expm1 -38.0
+expm1 -44.0
+expm1 -45.0
+expm1 -46.0
+expm1 -73.0
+expm1 -74.0
+expm1 -75.0
+expm1 -78.0
+expm1 -79.0
+expm1 -80.0
+expm1 -100.0
+expm1 -1000.0
+expm1 -10000.0
+expm1 -100000.0
+expm1 100000.0
+expm1 max
+expm1 -max
+
+j0 -1.0
+j0 0.0
+j0 0.125
+j0 0.75
+j0 1.0
+j0 1.5
+j0 2.0
+j0 8.0
+j0 10.0
+j0 4.0
+j0 -4.0
+j0 0x1.d7ce3ap+107
+j0 -0x1.001000001p+593
+j0 0x1p1023
+j0 0x1p16382
+j0 0x1p16383
+
+j1 -1.0
+j1 0.0
+j1 0.125
+j1 0.75
+j1 1.0
+j1 1.5
+j1 2.0
+j1 8.0
+j1 10.0
+j1 0x1.3ffp+74
+j1 0x1.ff00000000002p+840
+j1 0x1p1023
+j1 0x1p16382
+j1 0x1p16383
+
sqrt 0
sqrt -0
sqrt 2209
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index a692640da1..8769a9df7c 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -4531,6 +4531,4147 @@ cosh 24
= cosh tonearest ldbl-128ibm 0x1.8p+4L : 0x3.156ff6a8ebf6e66f4935281c6p+32L : inexact-ok
= cosh towardzero ldbl-128ibm 0x1.8p+4L : 0x3.156ff6a8ebf6e66f4935281c5fp+32L : inexact-ok
= cosh upward ldbl-128ibm 0x1.8p+4L : 0x3.156ff6a8ebf6e66f4935281c6p+32L : inexact-ok
+erf 0
+= erf downward flt-32 0x0p+0f : 0x0p+0f : inexact-ok
+= erf tonearest flt-32 0x0p+0f : 0x0p+0f : inexact-ok
+= erf towardzero flt-32 0x0p+0f : 0x0p+0f : inexact-ok
+= erf upward flt-32 0x0p+0f : 0x0p+0f : inexact-ok
+= erf downward dbl-64 0x0p+0 : 0x0p+0 : inexact-ok
+= erf tonearest dbl-64 0x0p+0 : 0x0p+0 : inexact-ok
+= erf towardzero dbl-64 0x0p+0 : 0x0p+0 : inexact-ok
+= erf upward dbl-64 0x0p+0 : 0x0p+0 : inexact-ok
+= erf downward ldbl-96-intel 0x0p+0L : 0x0p+0L : inexact-ok
+= erf tonearest ldbl-96-intel 0x0p+0L : 0x0p+0L : inexact-ok
+= erf towardzero ldbl-96-intel 0x0p+0L : 0x0p+0L : inexact-ok
+= erf upward ldbl-96-intel 0x0p+0L : 0x0p+0L : inexact-ok
+= erf downward ldbl-96-m68k 0x0p+0L : 0x0p+0L : inexact-ok
+= erf tonearest ldbl-96-m68k 0x0p+0L : 0x0p+0L : inexact-ok
+= erf towardzero ldbl-96-m68k 0x0p+0L : 0x0p+0L : inexact-ok
+= erf upward ldbl-96-m68k 0x0p+0L : 0x0p+0L : inexact-ok
+= erf downward ldbl-128 0x0p+0L : 0x0p+0L : inexact-ok
+= erf tonearest ldbl-128 0x0p+0L : 0x0p+0L : inexact-ok
+= erf towardzero ldbl-128 0x0p+0L : 0x0p+0L : inexact-ok
+= erf upward ldbl-128 0x0p+0L : 0x0p+0L : inexact-ok
+= erf downward ldbl-128ibm 0x0p+0L : 0x0p+0L : inexact-ok
+= erf tonearest ldbl-128ibm 0x0p+0L : 0x0p+0L : inexact-ok
+= erf towardzero ldbl-128ibm 0x0p+0L : 0x0p+0L : inexact-ok
+= erf upward ldbl-128ibm 0x0p+0L : 0x0p+0L : inexact-ok
+erf -0
+= erf downward flt-32 -0x0p+0f : -0x0p+0f : inexact-ok
+= erf tonearest flt-32 -0x0p+0f : -0x0p+0f : inexact-ok
+= erf towardzero flt-32 -0x0p+0f : -0x0p+0f : inexact-ok
+= erf upward flt-32 -0x0p+0f : -0x0p+0f : inexact-ok
+= erf downward dbl-64 -0x0p+0 : -0x0p+0 : inexact-ok
+= erf tonearest dbl-64 -0x0p+0 : -0x0p+0 : inexact-ok
+= erf towardzero dbl-64 -0x0p+0 : -0x0p+0 : inexact-ok
+= erf upward dbl-64 -0x0p+0 : -0x0p+0 : inexact-ok
+= erf downward ldbl-96-intel -0x0p+0L : -0x0p+0L : inexact-ok
+= erf tonearest ldbl-96-intel -0x0p+0L : -0x0p+0L : inexact-ok
+= erf towardzero ldbl-96-intel -0x0p+0L : -0x0p+0L : inexact-ok
+= erf upward ldbl-96-intel -0x0p+0L : -0x0p+0L : inexact-ok
+= erf downward ldbl-96-m68k -0x0p+0L : -0x0p+0L : inexact-ok
+= erf tonearest ldbl-96-m68k -0x0p+0L : -0x0p+0L : inexact-ok
+= erf towardzero ldbl-96-m68k -0x0p+0L : -0x0p+0L : inexact-ok
+= erf upward ldbl-96-m68k -0x0p+0L : -0x0p+0L : inexact-ok
+= erf downward ldbl-128 -0x0p+0L : -0x0p+0L : inexact-ok
+= erf tonearest ldbl-128 -0x0p+0L : -0x0p+0L : inexact-ok
+= erf towardzero ldbl-128 -0x0p+0L : -0x0p+0L : inexact-ok
+= erf upward ldbl-128 -0x0p+0L : -0x0p+0L : inexact-ok
+= erf downward ldbl-128ibm -0x0p+0L : -0x0p+0L : inexact-ok
+= erf tonearest ldbl-128ibm -0x0p+0L : -0x0p+0L : inexact-ok
+= erf towardzero ldbl-128ibm -0x0p+0L : -0x0p+0L : inexact-ok
+= erf upward ldbl-128ibm -0x0p+0L : -0x0p+0L : inexact-ok
+erf 0.125
+= erf downward flt-32 0x2p-4f : 0x2.3ebc34p-4f : inexact-ok
+= erf tonearest flt-32 0x2p-4f : 0x2.3ebc34p-4f : inexact-ok
+= erf towardzero flt-32 0x2p-4f : 0x2.3ebc34p-4f : inexact-ok
+= erf upward flt-32 0x2p-4f : 0x2.3ebc38p-4f : inexact-ok
+= erf downward dbl-64 0x2p-4 : 0x2.3ebc346b87712p-4 : inexact-ok
+= erf tonearest dbl-64 0x2p-4 : 0x2.3ebc346b87712p-4 : inexact-ok
+= erf towardzero dbl-64 0x2p-4 : 0x2.3ebc346b87712p-4 : inexact-ok
+= erf upward dbl-64 0x2p-4 : 0x2.3ebc346b87714p-4 : inexact-ok
+= erf downward ldbl-96-intel 0x2p-4L : 0x2.3ebc346b87712e84p-4L : inexact-ok
+= erf tonearest ldbl-96-intel 0x2p-4L : 0x2.3ebc346b87712e84p-4L : inexact-ok
+= erf towardzero ldbl-96-intel 0x2p-4L : 0x2.3ebc346b87712e84p-4L : inexact-ok
+= erf upward ldbl-96-intel 0x2p-4L : 0x2.3ebc346b87712e88p-4L : inexact-ok
+= erf downward ldbl-96-m68k 0x2p-4L : 0x2.3ebc346b87712e84p-4L : inexact-ok
+= erf tonearest ldbl-96-m68k 0x2p-4L : 0x2.3ebc346b87712e84p-4L : inexact-ok
+= erf towardzero ldbl-96-m68k 0x2p-4L : 0x2.3ebc346b87712e84p-4L : inexact-ok
+= erf upward ldbl-96-m68k 0x2p-4L : 0x2.3ebc346b87712e88p-4L : inexact-ok
+= erf downward ldbl-128 0x2p-4L : 0x2.3ebc346b87712e85b6b249f079ep-4L : inexact-ok
+= erf tonearest ldbl-128 0x2p-4L : 0x2.3ebc346b87712e85b6b249f079e2p-4L : inexact-ok
+= erf towardzero ldbl-128 0x2p-4L : 0x2.3ebc346b87712e85b6b249f079ep-4L : inexact-ok
+= erf upward ldbl-128 0x2p-4L : 0x2.3ebc346b87712e85b6b249f079e2p-4L : inexact-ok
+= erf downward ldbl-128ibm 0x2p-4L : 0x2.3ebc346b87712e85b6b249f079p-4L : inexact-ok
+= erf tonearest ldbl-128ibm 0x2p-4L : 0x2.3ebc346b87712e85b6b249f07ap-4L : inexact-ok
+= erf towardzero ldbl-128ibm 0x2p-4L : 0x2.3ebc346b87712e85b6b249f079p-4L : inexact-ok
+= erf upward ldbl-128ibm 0x2p-4L : 0x2.3ebc346b87712e85b6b249f07ap-4L : inexact-ok
+erf 0.75
+= erf downward flt-32 0xcp-4f : 0xb.60e4bp-4f : inexact-ok
+= erf tonearest flt-32 0xcp-4f : 0xb.60e4cp-4f : inexact-ok
+= erf towardzero flt-32 0xcp-4f : 0xb.60e4bp-4f : inexact-ok
+= erf upward flt-32 0xcp-4f : 0xb.60e4cp-4f : inexact-ok
+= erf downward dbl-64 0xcp-4 : 0xb.60e4bace872f8p-4 : inexact-ok
+= erf tonearest dbl-64 0xcp-4 : 0xb.60e4bace872f8p-4 : inexact-ok
+= erf towardzero dbl-64 0xcp-4 : 0xb.60e4bace872f8p-4 : inexact-ok
+= erf upward dbl-64 0xcp-4 : 0xb.60e4bace873p-4 : inexact-ok
+= erf downward ldbl-96-intel 0xcp-4L : 0xb.60e4bace872fb62p-4L : inexact-ok
+= erf tonearest ldbl-96-intel 0xcp-4L : 0xb.60e4bace872fb63p-4L : inexact-ok
+= erf towardzero ldbl-96-intel 0xcp-4L : 0xb.60e4bace872fb62p-4L : inexact-ok
+= erf upward ldbl-96-intel 0xcp-4L : 0xb.60e4bace872fb63p-4L : inexact-ok
+= erf downward ldbl-96-m68k 0xcp-4L : 0xb.60e4bace872fb62p-4L : inexact-ok
+= erf tonearest ldbl-96-m68k 0xcp-4L : 0xb.60e4bace872fb63p-4L : inexact-ok
+= erf towardzero ldbl-96-m68k 0xcp-4L : 0xb.60e4bace872fb62p-4L : inexact-ok
+= erf upward ldbl-96-m68k 0xcp-4L : 0xb.60e4bace872fb63p-4L : inexact-ok
+= erf downward ldbl-128 0xcp-4L : 0xb.60e4bace872fb62865e59788aa68p-4L : inexact-ok
+= erf tonearest ldbl-128 0xcp-4L : 0xb.60e4bace872fb62865e59788aa7p-4L : inexact-ok
+= erf towardzero ldbl-128 0xcp-4L : 0xb.60e4bace872fb62865e59788aa68p-4L : inexact-ok
+= erf upward ldbl-128 0xcp-4L : 0xb.60e4bace872fb62865e59788aa7p-4L : inexact-ok
+= erf downward ldbl-128ibm 0xcp-4L : 0xb.60e4bace872fb62865e59788a8p-4L : inexact-ok
+= erf tonearest ldbl-128ibm 0xcp-4L : 0xb.60e4bace872fb62865e59788acp-4L : inexact-ok
+= erf towardzero ldbl-128ibm 0xcp-4L : 0xb.60e4bace872fb62865e59788a8p-4L : inexact-ok
+= erf upward ldbl-128ibm 0xcp-4L : 0xb.60e4bace872fb62865e59788acp-4L : inexact-ok
+erf 1.25
+= erf downward flt-32 0x1.4p+0f : 0xe.c432ep-4f : inexact-ok
+= erf tonearest flt-32 0x1.4p+0f : 0xe.c432fp-4f : inexact-ok
+= erf towardzero flt-32 0x1.4p+0f : 0xe.c432ep-4f : inexact-ok
+= erf upward flt-32 0x1.4p+0f : 0xe.c432fp-4f : inexact-ok
+= erf downward dbl-64 0x1.4p+0 : 0xe.c432ecc55fp-4 : inexact-ok
+= erf tonearest dbl-64 0x1.4p+0 : 0xe.c432ecc55f008p-4 : inexact-ok
+= erf towardzero dbl-64 0x1.4p+0 : 0xe.c432ecc55fp-4 : inexact-ok
+= erf upward dbl-64 0x1.4p+0 : 0xe.c432ecc55f008p-4 : inexact-ok
+= erf downward ldbl-96-intel 0x1.4p+0L : 0xe.c432ecc55f00406p-4L : inexact-ok
+= erf tonearest ldbl-96-intel 0x1.4p+0L : 0xe.c432ecc55f00406p-4L : inexact-ok
+= erf towardzero ldbl-96-intel 0x1.4p+0L : 0xe.c432ecc55f00406p-4L : inexact-ok
+= erf upward ldbl-96-intel 0x1.4p+0L : 0xe.c432ecc55f00407p-4L : inexact-ok
+= erf downward ldbl-96-m68k 0x1.4p+0L : 0xe.c432ecc55f00406p-4L : inexact-ok
+= erf tonearest ldbl-96-m68k 0x1.4p+0L : 0xe.c432ecc55f00406p-4L : inexact-ok
+= erf towardzero ldbl-96-m68k 0x1.4p+0L : 0xe.c432ecc55f00406p-4L : inexact-ok
+= erf upward ldbl-96-m68k 0x1.4p+0L : 0xe.c432ecc55f00407p-4L : inexact-ok
+= erf downward ldbl-128 0x1.4p+0L : 0xe.c432ecc55f00406276a08d164e28p-4L : inexact-ok
+= erf tonearest ldbl-128 0x1.4p+0L : 0xe.c432ecc55f00406276a08d164e3p-4L : inexact-ok
+= erf towardzero ldbl-128 0x1.4p+0L : 0xe.c432ecc55f00406276a08d164e28p-4L : inexact-ok
+= erf upward ldbl-128 0x1.4p+0L : 0xe.c432ecc55f00406276a08d164e3p-4L : inexact-ok
+= erf downward ldbl-128ibm 0x1.4p+0L : 0xe.c432ecc55f00406276a08d164cp-4L : inexact-ok
+= erf tonearest ldbl-128ibm 0x1.4p+0L : 0xe.c432ecc55f00406276a08d165p-4L : inexact-ok
+= erf towardzero ldbl-128ibm 0x1.4p+0L : 0xe.c432ecc55f00406276a08d164cp-4L : inexact-ok
+= erf upward ldbl-128ibm 0x1.4p+0L : 0xe.c432ecc55f00406276a08d165p-4L : inexact-ok
+erf 2.0
+= erf downward flt-32 0x2p+0f : 0xf.ecd7p-4f : inexact-ok
+= erf tonearest flt-32 0x2p+0f : 0xf.ecd71p-4f : inexact-ok
+= erf towardzero flt-32 0x2p+0f : 0xf.ecd7p-4f : inexact-ok
+= erf upward flt-32 0x2p+0f : 0xf.ecd71p-4f : inexact-ok
+= erf downward dbl-64 0x2p+0 : 0xf.ecd70a13caf18p-4 : inexact-ok
+= erf tonearest dbl-64 0x2p+0 : 0xf.ecd70a13caf18p-4 : inexact-ok
+= erf towardzero dbl-64 0x2p+0 : 0xf.ecd70a13caf18p-4 : inexact-ok
+= erf upward dbl-64 0x2p+0 : 0xf.ecd70a13caf2p-4 : inexact-ok
+= erf downward ldbl-96-intel 0x2p+0L : 0xf.ecd70a13caf1997p-4L : inexact-ok
+= erf tonearest ldbl-96-intel 0x2p+0L : 0xf.ecd70a13caf1997p-4L : inexact-ok
+= erf towardzero ldbl-96-intel 0x2p+0L : 0xf.ecd70a13caf1997p-4L : inexact-ok
+= erf upward ldbl-96-intel 0x2p+0L : 0xf.ecd70a13caf1998p-4L : inexact-ok
+= erf downward ldbl-96-m68k 0x2p+0L : 0xf.ecd70a13caf1997p-4L : inexact-ok
+= erf tonearest ldbl-96-m68k 0x2p+0L : 0xf.ecd70a13caf1997p-4L : inexact-ok
+= erf towardzero ldbl-96-m68k 0x2p+0L : 0xf.ecd70a13caf1997p-4L : inexact-ok
+= erf upward ldbl-96-m68k 0x2p+0L : 0xf.ecd70a13caf1998p-4L : inexact-ok
+= erf downward ldbl-128 0x2p+0L : 0xf.ecd70a13caf19972801904b9a338p-4L : inexact-ok
+= erf tonearest ldbl-128 0x2p+0L : 0xf.ecd70a13caf19972801904b9a34p-4L : inexact-ok
+= erf towardzero ldbl-128 0x2p+0L : 0xf.ecd70a13caf19972801904b9a338p-4L : inexact-ok
+= erf upward ldbl-128 0x2p+0L : 0xf.ecd70a13caf19972801904b9a34p-4L : inexact-ok
+= erf downward ldbl-128ibm 0x2p+0L : 0xf.ecd70a13caf19972801904b9ap-4L : inexact-ok
+= erf tonearest ldbl-128ibm 0x2p+0L : 0xf.ecd70a13caf19972801904b9a4p-4L : inexact-ok
+= erf towardzero ldbl-128ibm 0x2p+0L : 0xf.ecd70a13caf19972801904b9ap-4L : inexact-ok
+= erf upward ldbl-128ibm 0x2p+0L : 0xf.ecd70a13caf19972801904b9a4p-4L : inexact-ok
+erf 4.125
+= erf downward flt-32 0x4.2p+0f : 0xf.fffffp-4f : inexact-ok
+= erf tonearest flt-32 0x4.2p+0f : 0x1p+0f : inexact-ok
+= erf towardzero flt-32 0x4.2p+0f : 0xf.fffffp-4f : inexact-ok
+= erf upward flt-32 0x4.2p+0f : 0x1p+0f : inexact-ok
+= erf downward dbl-64 0x4.2p+0 : 0xf.fffffe8b4e86p-4 : inexact-ok
+= erf tonearest dbl-64 0x4.2p+0 : 0xf.fffffe8b4e86p-4 : inexact-ok
+= erf towardzero dbl-64 0x4.2p+0 : 0xf.fffffe8b4e86p-4 : inexact-ok
+= erf upward dbl-64 0x4.2p+0 : 0xf.fffffe8b4e868p-4 : inexact-ok
+= erf downward ldbl-96-intel 0x4.2p+0L : 0xf.fffffe8b4e862e1p-4L : inexact-ok
+= erf tonearest ldbl-96-intel 0x4.2p+0L : 0xf.fffffe8b4e862e1p-4L : inexact-ok
+= erf towardzero ldbl-96-intel 0x4.2p+0L : 0xf.fffffe8b4e862e1p-4L : inexact-ok
+= erf upward ldbl-96-intel 0x4.2p+0L : 0xf.fffffe8b4e862e2p-4L : inexact-ok
+= erf downward ldbl-96-m68k 0x4.2p+0L : 0xf.fffffe8b4e862e1p-4L : inexact-ok
+= erf tonearest ldbl-96-m68k 0x4.2p+0L : 0xf.fffffe8b4e862e1p-4L : inexact-ok
+= erf towardzero ldbl-96-m68k 0x4.2p+0L : 0xf.fffffe8b4e862e1p-4L : inexact-ok
+= erf upward ldbl-96-m68k 0x4.2p+0L : 0xf.fffffe8b4e862e2p-4L : inexact-ok
+= erf downward ldbl-128 0x4.2p+0L : 0xf.fffffe8b4e862e1457f60d1cddd8p-4L : inexact-ok
+= erf tonearest ldbl-128 0x4.2p+0L : 0xf.fffffe8b4e862e1457f60d1cddd8p-4L : inexact-ok
+= erf towardzero ldbl-128 0x4.2p+0L : 0xf.fffffe8b4e862e1457f60d1cddd8p-4L : inexact-ok
+= erf upward ldbl-128 0x4.2p+0L : 0xf.fffffe8b4e862e1457f60d1cddep-4L : inexact-ok
+= erf downward ldbl-128ibm 0x4.2p+0L : 0xf.fffffe8b4e862e1457f60d1cdcp-4L : inexact-ok
+= erf tonearest ldbl-128ibm 0x4.2p+0L : 0xf.fffffe8b4e862e1457f60d1cdcp-4L : inexact-ok
+= erf towardzero ldbl-128ibm 0x4.2p+0L : 0xf.fffffe8b4e862e1457f60d1cdcp-4L : inexact-ok
+= erf upward ldbl-128ibm 0x4.2p+0L : 0xf.fffffe8b4e862e1457f60d1cep-4L : inexact-ok
+erf 27.0
+= erf downward flt-32 0x1.bp+4f : 0xf.fffffp-4f : inexact-ok
+= erf tonearest flt-32 0x1.bp+4f : 0x1p+0f : inexact-ok
+= erf towardzero flt-32 0x1.bp+4f : 0xf.fffffp-4f : inexact-ok
+= erf upward flt-32 0x1.bp+4f : 0x1p+0f : inexact-ok
+= erf downward dbl-64 0x1.bp+4 : 0xf.ffffffffffff8p-4 : inexact-ok
+= erf tonearest dbl-64 0x1.bp+4 : 0x1p+0 : inexact-ok
+= erf towardzero dbl-64 0x1.bp+4 : 0xf.ffffffffffff8p-4 : inexact-ok
+= erf upward dbl-64 0x1.bp+4 : 0x1p+0 : inexact-ok
+= erf downward ldbl-96-intel 0x1.bp+4L : 0xf.fffffffffffffffp-4L : inexact-ok
+= erf tonearest ldbl-96-intel 0x1.bp+4L : 0x1p+0L : inexact-ok
+= erf towardzero ldbl-96-intel 0x1.bp+4L : 0xf.fffffffffffffffp-4L : inexact-ok
+= erf upward ldbl-96-intel 0x1.bp+4L : 0x1p+0L : inexact-ok
+= erf downward ldbl-96-m68k 0x1.bp+4L : 0xf.fffffffffffffffp-4L : inexact-ok
+= erf tonearest ldbl-96-m68k 0x1.bp+4L : 0x1p+0L : inexact-ok
+= erf towardzero ldbl-96-m68k 0x1.bp+4L : 0xf.fffffffffffffffp-4L : inexact-ok
+= erf upward ldbl-96-m68k 0x1.bp+4L : 0x1p+0L : inexact-ok
+= erf downward ldbl-128 0x1.bp+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= erf tonearest ldbl-128 0x1.bp+4L : 0x1p+0L : inexact-ok
+= erf towardzero ldbl-128 0x1.bp+4L : 0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= erf upward ldbl-128 0x1.bp+4L : 0x1p+0L : inexact-ok
+= erf downward ldbl-128ibm 0x1.bp+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= erf tonearest ldbl-128ibm 0x1.bp+4L : 0x1p+0L : inexact-ok
+= erf towardzero ldbl-128ibm 0x1.bp+4L : 0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= erf upward ldbl-128ibm 0x1.bp+4L : 0x1p+0L : inexact-ok
+erf -27.0
+= erf downward flt-32 -0x1.bp+4f : -0x1p+0f : inexact-ok
+= erf tonearest flt-32 -0x1.bp+4f : -0x1p+0f : inexact-ok
+= erf towardzero flt-32 -0x1.bp+4f : -0xf.fffffp-4f : inexact-ok
+= erf upward flt-32 -0x1.bp+4f : -0xf.fffffp-4f : inexact-ok
+= erf downward dbl-64 -0x1.bp+4 : -0x1p+0 : inexact-ok
+= erf tonearest dbl-64 -0x1.bp+4 : -0x1p+0 : inexact-ok
+= erf towardzero dbl-64 -0x1.bp+4 : -0xf.ffffffffffff8p-4 : inexact-ok
+= erf upward dbl-64 -0x1.bp+4 : -0xf.ffffffffffff8p-4 : inexact-ok
+= erf downward ldbl-96-intel -0x1.bp+4L : -0x1p+0L : inexact-ok
+= erf tonearest ldbl-96-intel -0x1.bp+4L : -0x1p+0L : inexact-ok
+= erf towardzero ldbl-96-intel -0x1.bp+4L : -0xf.fffffffffffffffp-4L : inexact-ok
+= erf upward ldbl-96-intel -0x1.bp+4L : -0xf.fffffffffffffffp-4L : inexact-ok
+= erf downward ldbl-96-m68k -0x1.bp+4L : -0x1p+0L : inexact-ok
+= erf tonearest ldbl-96-m68k -0x1.bp+4L : -0x1p+0L : inexact-ok
+= erf towardzero ldbl-96-m68k -0x1.bp+4L : -0xf.fffffffffffffffp-4L : inexact-ok
+= erf upward ldbl-96-m68k -0x1.bp+4L : -0xf.fffffffffffffffp-4L : inexact-ok
+= erf downward ldbl-128 -0x1.bp+4L : -0x1p+0L : inexact-ok
+= erf tonearest ldbl-128 -0x1.bp+4L : -0x1p+0L : inexact-ok
+= erf towardzero ldbl-128 -0x1.bp+4L : -0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= erf upward ldbl-128 -0x1.bp+4L : -0xf.fffffffffffffffffffffffffff8p-4L : inexact-ok
+= erf downward ldbl-128ibm -0x1.bp+4L : -0x1p+0L : inexact-ok
+= erf tonearest ldbl-128ibm -0x1.bp+4L : -0x1p+0L : inexact-ok
+= erf towardzero ldbl-128ibm -0x1.bp+4L : -0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+= erf upward ldbl-128ibm -0x1.bp+4L : -0xf.fffffffffffffffffffffffffcp-4L : inexact-ok
+erf -0x1.fffffffffffff8p-2
+= erf downward flt-32 -0x7.fffff8p-4f : -0x8.53f7bp-4f : inexact-ok
+= erf tonearest flt-32 -0x7.fffff8p-4f : -0x8.53f7ap-4f : inexact-ok
+= erf towardzero flt-32 -0x7.fffff8p-4f : -0x8.53f7ap-4f : inexact-ok
+= erf upward flt-32 -0x7.fffff8p-4f : -0x8.53f7ap-4f : inexact-ok
+= erf downward dbl-64 -0x7.fffff8p-4 : -0x8.53f7a704b7be8p-4 : inexact-ok
+= erf tonearest dbl-64 -0x7.fffff8p-4 : -0x8.53f7a704b7bep-4 : inexact-ok
+= erf towardzero dbl-64 -0x7.fffff8p-4 : -0x8.53f7a704b7bep-4 : inexact-ok
+= erf upward dbl-64 -0x7.fffff8p-4 : -0x8.53f7a704b7bep-4 : inexact-ok
+= erf downward ldbl-96-intel -0x7.fffff8p-4L : -0x8.53f7a704b7be2d7p-4L : inexact-ok
+= erf tonearest ldbl-96-intel -0x7.fffff8p-4L : -0x8.53f7a704b7be2d6p-4L : inexact-ok
+= erf towardzero ldbl-96-intel -0x7.fffff8p-4L : -0x8.53f7a704b7be2d6p-4L : inexact-ok
+= erf upward ldbl-96-intel -0x7.fffff8p-4L : -0x8.53f7a704b7be2d6p-4L : inexact-ok
+= erf downward ldbl-96-m68k -0x7.fffff8p-4L : -0x8.53f7a704b7be2d7p-4L : inexact-ok
+= erf tonearest ldbl-96-m68k -0x7.fffff8p-4L : -0x8.53f7a704b7be2d6p-4L : inexact-ok
+= erf towardzero ldbl-96-m68k -0x7.fffff8p-4L : -0x8.53f7a704b7be2d6p-4L : inexact-ok
+= erf upward ldbl-96-m68k -0x7.fffff8p-4L : -0x8.53f7a704b7be2d6p-4L : inexact-ok
+= erf downward ldbl-128 -0x7.fffff8p-4L : -0x8.53f7a704b7be2d643b9e3ae3cbp-4L : inexact-ok
+= erf tonearest ldbl-128 -0x7.fffff8p-4L : -0x8.53f7a704b7be2d643b9e3ae3cbp-4L : inexact-ok
+= erf towardzero ldbl-128 -0x7.fffff8p-4L : -0x8.53f7a704b7be2d643b9e3ae3caf8p-4L : inexact-ok
+= erf upward ldbl-128 -0x7.fffff8p-4L : -0x8.53f7a704b7be2d643b9e3ae3caf8p-4L : inexact-ok
+= erf downward ldbl-128ibm -0x7.fffff8p-4L : -0x8.53f7a704b7be2d643b9e3ae3ccp-4L : inexact-ok
+= erf tonearest ldbl-128ibm -0x7.fffff8p-4L : -0x8.53f7a704b7be2d643b9e3ae3ccp-4L : inexact-ok
+= erf towardzero ldbl-128ibm -0x7.fffff8p-4L : -0x8.53f7a704b7be2d643b9e3ae3c8p-4L : inexact-ok
+= erf upward ldbl-128ibm -0x7.fffff8p-4L : -0x8.53f7a704b7be2d643b9e3ae3c8p-4L : inexact-ok
+= erf downward flt-32 -0x8p-4f : -0x8.53f7bp-4f : inexact-ok
+= erf tonearest flt-32 -0x8p-4f : -0x8.53f7bp-4f : inexact-ok
+= erf towardzero flt-32 -0x8p-4f : -0x8.53f7ap-4f : inexact-ok
+= erf upward flt-32 -0x8p-4f : -0x8.53f7ap-4f : inexact-ok
+= erf downward dbl-64 -0x8p-4 : -0x8.53f7ae0c76e98p-4 : inexact-ok
+= erf tonearest dbl-64 -0x8p-4 : -0x8.53f7ae0c76e9p-4 : inexact-ok
+= erf towardzero dbl-64 -0x8p-4 : -0x8.53f7ae0c76e9p-4 : inexact-ok
+= erf upward dbl-64 -0x8p-4 : -0x8.53f7ae0c76e9p-4 : inexact-ok
+= erf downward ldbl-96-intel -0x8p-4L : -0x8.53f7ae0c76e915fp-4L : inexact-ok
+= erf tonearest ldbl-96-intel -0x8p-4L : -0x8.53f7ae0c76e915fp-4L : inexact-ok
+= erf towardzero ldbl-96-intel -0x8p-4L : -0x8.53f7ae0c76e915ep-4L : inexact-ok
+= erf upward ldbl-96-intel -0x8p-4L : -0x8.53f7ae0c76e915ep-4L : inexact-ok
+= erf downward ldbl-96-m68k -0x8p-4L : -0x8.53f7ae0c76e915fp-4L : inexact-ok
+= erf tonearest ldbl-96-m68k -0x8p-4L : -0x8.53f7ae0c76e915fp-4L : inexact-ok
+= erf towardzero ldbl-96-m68k -0x8p-4L : -0x8.53f7ae0c76e915ep-4L : inexact-ok
+= erf upward ldbl-96-m68k -0x8p-4L : -0x8.53f7ae0c76e915ep-4L : inexact-ok
+= erf downward ldbl-128 -0x8p-4L : -0x8.53f7ae0c76e915e809f1a31a27a8p-4L : inexact-ok
+= erf tonearest ldbl-128 -0x8p-4L : -0x8.53f7ae0c76e915e809f1a31a27a8p-4L : inexact-ok
+= erf towardzero ldbl-128 -0x8p-4L : -0x8.53f7ae0c76e915e809f1a31a27ap-4L : inexact-ok
+= erf upward ldbl-128 -0x8p-4L : -0x8.53f7ae0c76e915e809f1a31a27ap-4L : inexact-ok
+= erf downward ldbl-128ibm -0x8p-4L : -0x8.53f7ae0c76e915e809f1a31a28p-4L : inexact-ok
+= erf tonearest ldbl-128ibm -0x8p-4L : -0x8.53f7ae0c76e915e809f1a31a28p-4L : inexact-ok
+= erf towardzero ldbl-128ibm -0x8p-4L : -0x8.53f7ae0c76e915e809f1a31a24p-4L : inexact-ok
+= erf upward ldbl-128ibm -0x8p-4L : -0x8.53f7ae0c76e915e809f1a31a24p-4L : inexact-ok
+= erf downward dbl-64 -0x7.ffffffffffffcp-4 : -0x8.53f7ae0c76e9p-4 : inexact-ok
+= erf tonearest dbl-64 -0x7.ffffffffffffcp-4 : -0x8.53f7ae0c76e9p-4 : inexact-ok
+= erf towardzero dbl-64 -0x7.ffffffffffffcp-4 : -0x8.53f7ae0c76e88p-4 : inexact-ok
+= erf upward dbl-64 -0x7.ffffffffffffcp-4 : -0x8.53f7ae0c76e88p-4 : inexact-ok
+= erf downward ldbl-96-intel -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddbp-4L : inexact-ok
+= erf tonearest ldbl-96-intel -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddbp-4L : inexact-ok
+= erf towardzero ldbl-96-intel -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddap-4L : inexact-ok
+= erf upward ldbl-96-intel -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddap-4L : inexact-ok
+= erf downward ldbl-96-m68k -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddbp-4L : inexact-ok
+= erf tonearest ldbl-96-m68k -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddbp-4L : inexact-ok
+= erf towardzero ldbl-96-m68k -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddap-4L : inexact-ok
+= erf upward ldbl-96-m68k -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddap-4L : inexact-ok
+= erf downward ldbl-128 -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddaa10a86e7a0498p-4L : inexact-ok
+= erf tonearest ldbl-128 -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddaa10a86e7a049p-4L : inexact-ok
+= erf towardzero ldbl-128 -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddaa10a86e7a049p-4L : inexact-ok
+= erf upward ldbl-128 -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddaa10a86e7a049p-4L : inexact-ok
+= erf downward ldbl-128ibm -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddaa10a86e7a08p-4L : inexact-ok
+= erf tonearest ldbl-128ibm -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddaa10a86e7a04p-4L : inexact-ok
+= erf towardzero ldbl-128ibm -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddaa10a86e7a04p-4L : inexact-ok
+= erf upward ldbl-128ibm -0x7.ffffffffffffcp-4L : -0x8.53f7ae0c76e8ddaa10a86e7a04p-4L : inexact-ok
+= erf downward ldbl-96-intel -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9dp-4L : inexact-ok
+= erf tonearest ldbl-96-intel -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9dp-4L : inexact-ok
+= erf towardzero ldbl-96-intel -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9cp-4L : inexact-ok
+= erf upward ldbl-96-intel -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9cp-4L : inexact-ok
+= erf downward ldbl-96-m68k -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9dp-4L : inexact-ok
+= erf tonearest ldbl-96-m68k -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9dp-4L : inexact-ok
+= erf towardzero ldbl-96-m68k -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9cp-4L : inexact-ok
+= erf upward ldbl-96-m68k -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9cp-4L : inexact-ok
+= erf downward ldbl-128 -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9c90d4d08ca164p-4L : inexact-ok
+= erf tonearest ldbl-128 -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9c90d4d08ca1638p-4L : inexact-ok
+= erf towardzero ldbl-128 -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9c90d4d08ca1638p-4L : inexact-ok
+= erf upward ldbl-128 -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9c90d4d08ca1638p-4L : inexact-ok
+= erf downward ldbl-128ibm -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9c90d4d08ca18p-4L : inexact-ok
+= erf tonearest ldbl-128ibm -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9c90d4d08ca18p-4L : inexact-ok
+= erf towardzero ldbl-128ibm -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9c90d4d08ca14p-4L : inexact-ok
+= erf upward ldbl-128ibm -0x7.ffffffffffffep-4L : -0x8.53f7ae0c76e8f9c90d4d08ca14p-4L : inexact-ok
+erfc 0.0
+= erfc downward flt-32 0x0p+0f : 0x1p+0f : inexact-ok
+= erfc tonearest flt-32 0x0p+0f : 0x1p+0f : inexact-ok
+= erfc towardzero flt-32 0x0p+0f : 0x1p+0f : inexact-ok
+= erfc upward flt-32 0x0p+0f : 0x1p+0f : inexact-ok
+= erfc downw