aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-12-18 17:59:29 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-12-18 17:59:29 +0000
commitf889953b44da50bf8a7824c97d09dbe03fd11b83 (patch)
treed498fd7f8015c4de4f9fe5bfaf3b6bd476271dd7 /math
parent237764876709dfbd81ae9fc9f91ef7e496a3eb08 (diff)
downloadglibc-f889953b44da50bf8a7824c97d09dbe03fd11b83.tar.xz
glibc-f889953b44da50bf8a7824c97d09dbe03fd11b83.zip
Move tests of jn and yn from libm-test.inc to auto-libm-test-in.
This patch moves tests of jn and yn to auto-libm-test-in, adding the required support for gen-auto-libm-tests (and adding a missing assertion there and fixing logic that was broken for functions with integer arguments). Tested x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add tests of jn and yn. * math/auto-libm-test-out: Regenerated. * math/libm-test.inc (jn_test_data): Use AUTO_TESTS_if_f. (yn_test_data): Likewise. * math/gen-auto-libm-tests.c (func_calc_method): Add value mpfr_if_f. (func_calc_desc): Add mpfr_if_f union field. (FUNC_mpfr_if_f): New macro. (test_functions): Add jn and yn. (calc_generic_results): Assert type of second input for mpfr_ff_f. Handle mpfr_if_f. (output_for_one_input_case): Disable all checking for arguments fitting floating-point types in case of an integer argument. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
Diffstat (limited to 'math')
-rw-r--r--math/auto-libm-test-in98
-rw-r--r--math/auto-libm-test-out3069
-rw-r--r--math/gen-auto-libm-tests.c39
-rw-r--r--math/libm-test.inc99
4 files changed, 3201 insertions, 104 deletions
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 8b675e0fe4..50e0e6b628 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -352,6 +352,60 @@ j1 0x1p1023
j1 0x1p16382
j1 0x1p16383
+# jn (0, x) == j0 (x).
+jn 0 -1.0
+jn 0 0.0
+jn 0 0.125
+jn 0 0.75
+jn 0 1.0
+jn 0 1.5
+jn 0 2.0
+jn 0 8.0
+jn 0 10.0
+jn 0 4.0
+jn 0 -4.0
+
+# jn (1, x) == j1 (x).
+jn 1 -1.0
+jn 1 0.0
+jn 1 0.125
+jn 1 0.75
+jn 1 1.0
+jn 1 1.5
+jn 1 2.0
+jn 1 8.0
+jn 1 10.0
+
+jn 3 -1.0
+jn 3 0.0
+jn 3 0.125
+jn 3 0.75
+jn 3 1.0
+jn 3 2.0
+jn 3 10.0
+
+jn 10 -1.0
+jn 10 0.0
+jn 10 0.125
+jn 10 0.75
+jn 10 1.0
+jn 10 2.0
+jn 10 10.0
+
+jn 2 2.4048255576957729
+jn 3 2.4048255576957729
+jn 4 2.4048255576957729
+jn 5 2.4048255576957729
+jn 6 2.4048255576957729
+jn 7 2.4048255576957729
+jn 8 2.4048255576957729
+jn 9 2.4048255576957729
+
+jn 2 0x1.ffff62p+99
+jn 2 0x1p127
+jn 2 0x1p1023
+jn 2 0x1p16383
+
lgamma max
lgamma 1
lgamma 3
@@ -1406,3 +1460,47 @@ y1 0x1p-80
y1 0x1p-90
y1 0x1p-100
y1 0x1p-110
+
+# yn (0, x) == y0 (x).
+yn 0 0.125
+yn 0 0.75
+yn 0 1.0
+yn 0 1.5
+yn 0 2.0
+yn 0 8.0
+yn 0 10.0
+
+# yn (1, x) == y1 (x).
+yn 1 0.125
+yn 1 0.75
+yn 1 1.0
+yn 1 1.5
+yn 1 2.0
+yn 1 8.0
+yn 1 10.0
+
+# yn (-1, x) == -y1 (x).
+yn -1 1.0
+
+# yn (3, x).
+yn 3 0.125
+yn 3 0.75
+yn 3 1.0
+yn 3 2.0
+yn 3 10.0
+
+# yn (10, x).
+yn 10 0.125
+yn 10 0.75
+yn 10 1.0
+yn 10 2.0
+yn 10 10.0
+
+yn -10 1.0
+
+yn 10 min
+
+yn 2 0x1.ffff62p+99
+yn 2 0x1p127
+yn 2 0x1p1023
+yn 2 0x1p16383
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 3f197b12d1..e80e363380 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -23466,6 +23466,2176 @@ j1 0x1p16383
= j1 tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : -0x5.34b8be56c9cb044a0ef191b026p-516L : inexact-ok
= j1 towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : -0x5.34b8be56c9cb044a0ef191b024p-516L : inexact-ok
= j1 upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : -0x5.34b8be56c9cb044a0ef191b024p-516L : inexact-ok
+jn 0 -1.0
+= jn downward flt-32 0 -0x1p+0f : 0xc.3e3fep-4f : inexact-ok
+= jn tonearest flt-32 0 -0x1p+0f : 0xc.3e3ffp-4f : inexact-ok
+= jn towardzero flt-32 0 -0x1p+0f : 0xc.3e3fep-4f : inexact-ok
+= jn upward flt-32 0 -0x1p+0f : 0xc.3e3ffp-4f : inexact-ok
+= jn downward dbl-64 0 -0x1p+0 : 0xc.3e3fedebdc778p-4 : inexact-ok
+= jn tonearest dbl-64 0 -0x1p+0 : 0xc.3e3fedebdc78p-4 : inexact-ok
+= jn towardzero dbl-64 0 -0x1p+0 : 0xc.3e3fedebdc778p-4 : inexact-ok
+= jn upward dbl-64 0 -0x1p+0 : 0xc.3e3fedebdc78p-4 : inexact-ok
+= jn downward ldbl-96-intel 0 -0x1p+0L : 0xc.3e3fedebdc77c1cp-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 -0x1p+0L : 0xc.3e3fedebdc77c1dp-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 -0x1p+0L : 0xc.3e3fedebdc77c1cp-4L : inexact-ok
+= jn upward ldbl-96-intel 0 -0x1p+0L : 0xc.3e3fedebdc77c1dp-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 -0x1p+0L : 0xc.3e3fedebdc77c1cp-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 -0x1p+0L : 0xc.3e3fedebdc77c1dp-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 -0x1p+0L : 0xc.3e3fedebdc77c1cp-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 -0x1p+0L : 0xc.3e3fedebdc77c1dp-4L : inexact-ok
+= jn downward ldbl-128 0 -0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159a6p-4L : inexact-ok
+= jn tonearest ldbl-128 0 -0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159a68p-4L : inexact-ok
+= jn towardzero ldbl-128 0 -0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159a6p-4L : inexact-ok
+= jn upward ldbl-128 0 -0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159a68p-4L : inexact-ok
+= jn downward ldbl-128ibm 0 -0x1p+0L : 0xc.3e3fedebdc77c1cf1a98611598p-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 -0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159cp-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 -0x1p+0L : 0xc.3e3fedebdc77c1cf1a98611598p-4L : inexact-ok
+= jn upward ldbl-128ibm 0 -0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159cp-4L : inexact-ok
+jn 0 0.0
+= jn downward flt-32 0 0x0p+0f : 0x1p+0f : inexact-ok
+= jn tonearest flt-32 0 0x0p+0f : 0x1p+0f : inexact-ok
+= jn towardzero flt-32 0 0x0p+0f : 0x1p+0f : inexact-ok
+= jn upward flt-32 0 0x0p+0f : 0x1p+0f : inexact-ok
+= jn downward dbl-64 0 0x0p+0 : 0x1p+0 : inexact-ok
+= jn tonearest dbl-64 0 0x0p+0 : 0x1p+0 : inexact-ok
+= jn towardzero dbl-64 0 0x0p+0 : 0x1p+0 : inexact-ok
+= jn upward dbl-64 0 0x0p+0 : 0x1p+0 : inexact-ok
+= jn downward ldbl-96-intel 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn tonearest ldbl-96-intel 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn towardzero ldbl-96-intel 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn upward ldbl-96-intel 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn downward ldbl-96-m68k 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn upward ldbl-96-m68k 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn downward ldbl-128 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn tonearest ldbl-128 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn towardzero ldbl-128 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn upward ldbl-128 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn downward ldbl-128ibm 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn tonearest ldbl-128ibm 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn towardzero ldbl-128ibm 0 0x0p+0L : 0x1p+0L : inexact-ok
+= jn upward ldbl-128ibm 0 0x0p+0L : 0x1p+0L : inexact-ok
+jn 0 0.125
+= jn downward flt-32 0 0x2p-4f : 0xf.f003fp-4f : inexact-ok
+= jn tonearest flt-32 0 0x2p-4f : 0xf.f004p-4f : inexact-ok
+= jn towardzero flt-32 0 0x2p-4f : 0xf.f003fp-4f : inexact-ok
+= jn upward flt-32 0 0x2p-4f : 0xf.f004p-4f : inexact-ok
+= jn downward dbl-64 0 0x2p-4 : 0xf.f003ff8e3fff8p-4 : inexact-ok
+= jn tonearest dbl-64 0 0x2p-4 : 0xf.f003ff8e3fff8p-4 : inexact-ok
+= jn towardzero dbl-64 0 0x2p-4 : 0xf.f003ff8e3fff8p-4 : inexact-ok
+= jn upward dbl-64 0 0x2p-4 : 0xf.f003ff8e4p-4 : inexact-ok
+= jn downward ldbl-96-intel 0 0x2p-4L : 0xf.f003ff8e3fffb73p-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 0x2p-4L : 0xf.f003ff8e3fffb73p-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 0x2p-4L : 0xf.f003ff8e3fffb73p-4L : inexact-ok
+= jn upward ldbl-96-intel 0 0x2p-4L : 0xf.f003ff8e3fffb74p-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 0x2p-4L : 0xf.f003ff8e3fffb73p-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 0x2p-4L : 0xf.f003ff8e3fffb73p-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 0x2p-4L : 0xf.f003ff8e3fffb73p-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 0x2p-4L : 0xf.f003ff8e3fffb74p-4L : inexact-ok
+= jn downward ldbl-128 0 0x2p-4L : 0xf.f003ff8e3fffb730abe3bbf5da78p-4L : inexact-ok
+= jn tonearest ldbl-128 0 0x2p-4L : 0xf.f003ff8e3fffb730abe3bbf5da78p-4L : inexact-ok
+= jn towardzero ldbl-128 0 0x2p-4L : 0xf.f003ff8e3fffb730abe3bbf5da78p-4L : inexact-ok
+= jn upward ldbl-128 0 0x2p-4L : 0xf.f003ff8e3fffb730abe3bbf5da8p-4L : inexact-ok
+= jn downward ldbl-128ibm 0 0x2p-4L : 0xf.f003ff8e3fffb730abe3bbf5d8p-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 0x2p-4L : 0xf.f003ff8e3fffb730abe3bbf5dcp-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 0x2p-4L : 0xf.f003ff8e3fffb730abe3bbf5d8p-4L : inexact-ok
+= jn upward ldbl-128ibm 0 0x2p-4L : 0xf.f003ff8e3fffb730abe3bbf5dcp-4L : inexact-ok
+jn 0 0.75
+= jn downward flt-32 0 0xcp-4f : 0xd.d3efbp-4f : inexact-ok
+= jn tonearest flt-32 0 0xcp-4f : 0xd.d3efbp-4f : inexact-ok
+= jn towardzero flt-32 0 0xcp-4f : 0xd.d3efbp-4f : inexact-ok
+= jn upward flt-32 0 0xcp-4f : 0xd.d3efcp-4f : inexact-ok
+= jn downward dbl-64 0 0xcp-4 : 0xd.d3efb53a950cp-4 : inexact-ok
+= jn tonearest dbl-64 0 0xcp-4 : 0xd.d3efb53a950c8p-4 : inexact-ok
+= jn towardzero dbl-64 0 0xcp-4 : 0xd.d3efb53a950cp-4 : inexact-ok
+= jn upward dbl-64 0 0xcp-4 : 0xd.d3efb53a950c8p-4 : inexact-ok
+= jn downward ldbl-96-intel 0 0xcp-4L : 0xd.d3efb53a950c68ep-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 0xcp-4L : 0xd.d3efb53a950c68fp-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 0xcp-4L : 0xd.d3efb53a950c68ep-4L : inexact-ok
+= jn upward ldbl-96-intel 0 0xcp-4L : 0xd.d3efb53a950c68fp-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 0xcp-4L : 0xd.d3efb53a950c68ep-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 0xcp-4L : 0xd.d3efb53a950c68fp-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 0xcp-4L : 0xd.d3efb53a950c68ep-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 0xcp-4L : 0xd.d3efb53a950c68fp-4L : inexact-ok
+= jn downward ldbl-128 0 0xcp-4L : 0xd.d3efb53a950c68ecf70068c9937p-4L : inexact-ok
+= jn tonearest ldbl-128 0 0xcp-4L : 0xd.d3efb53a950c68ecf70068c9937p-4L : inexact-ok
+= jn towardzero ldbl-128 0 0xcp-4L : 0xd.d3efb53a950c68ecf70068c9937p-4L : inexact-ok
+= jn upward ldbl-128 0 0xcp-4L : 0xd.d3efb53a950c68ecf70068c99378p-4L : inexact-ok
+= jn downward ldbl-128ibm 0 0xcp-4L : 0xd.d3efb53a950c68ecf70068c99p-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 0xcp-4L : 0xd.d3efb53a950c68ecf70068c994p-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 0xcp-4L : 0xd.d3efb53a950c68ecf70068c99p-4L : inexact-ok
+= jn upward ldbl-128ibm 0 0xcp-4L : 0xd.d3efb53a950c68ecf70068c994p-4L : inexact-ok
+jn 0 1.0
+= jn downward flt-32 0 0x1p+0f : 0xc.3e3fep-4f : inexact-ok
+= jn tonearest flt-32 0 0x1p+0f : 0xc.3e3ffp-4f : inexact-ok
+= jn towardzero flt-32 0 0x1p+0f : 0xc.3e3fep-4f : inexact-ok
+= jn upward flt-32 0 0x1p+0f : 0xc.3e3ffp-4f : inexact-ok
+= jn downward dbl-64 0 0x1p+0 : 0xc.3e3fedebdc778p-4 : inexact-ok
+= jn tonearest dbl-64 0 0x1p+0 : 0xc.3e3fedebdc78p-4 : inexact-ok
+= jn towardzero dbl-64 0 0x1p+0 : 0xc.3e3fedebdc778p-4 : inexact-ok
+= jn upward dbl-64 0 0x1p+0 : 0xc.3e3fedebdc78p-4 : inexact-ok
+= jn downward ldbl-96-intel 0 0x1p+0L : 0xc.3e3fedebdc77c1cp-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 0x1p+0L : 0xc.3e3fedebdc77c1dp-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 0x1p+0L : 0xc.3e3fedebdc77c1cp-4L : inexact-ok
+= jn upward ldbl-96-intel 0 0x1p+0L : 0xc.3e3fedebdc77c1dp-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 0x1p+0L : 0xc.3e3fedebdc77c1cp-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 0x1p+0L : 0xc.3e3fedebdc77c1dp-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 0x1p+0L : 0xc.3e3fedebdc77c1cp-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 0x1p+0L : 0xc.3e3fedebdc77c1dp-4L : inexact-ok
+= jn downward ldbl-128 0 0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159a6p-4L : inexact-ok
+= jn tonearest ldbl-128 0 0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159a68p-4L : inexact-ok
+= jn towardzero ldbl-128 0 0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159a6p-4L : inexact-ok
+= jn upward ldbl-128 0 0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159a68p-4L : inexact-ok
+= jn downward ldbl-128ibm 0 0x1p+0L : 0xc.3e3fedebdc77c1cf1a98611598p-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159cp-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 0x1p+0L : 0xc.3e3fedebdc77c1cf1a98611598p-4L : inexact-ok
+= jn upward ldbl-128ibm 0 0x1p+0L : 0xc.3e3fedebdc77c1cf1a9861159cp-4L : inexact-ok
+jn 0 1.5
+= jn downward flt-32 0 0x1.8p+0f : 0x8.30723p-4f : inexact-ok
+= jn tonearest flt-32 0 0x1.8p+0f : 0x8.30723p-4f : inexact-ok
+= jn towardzero flt-32 0 0x1.8p+0f : 0x8.30723p-4f : inexact-ok
+= jn upward flt-32 0 0x1.8p+0f : 0x8.30724p-4f : inexact-ok
+= jn downward dbl-64 0 0x1.8p+0 : 0x8.30723674b28dp-4 : inexact-ok
+= jn tonearest dbl-64 0 0x1.8p+0 : 0x8.30723674b28d8p-4 : inexact-ok
+= jn towardzero dbl-64 0 0x1.8p+0 : 0x8.30723674b28dp-4 : inexact-ok
+= jn upward dbl-64 0 0x1.8p+0 : 0x8.30723674b28d8p-4 : inexact-ok
+= jn downward ldbl-96-intel 0 0x1.8p+0L : 0x8.30723674b28d6eap-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 0x1.8p+0L : 0x8.30723674b28d6eap-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 0x1.8p+0L : 0x8.30723674b28d6eap-4L : inexact-ok
+= jn upward ldbl-96-intel 0 0x1.8p+0L : 0x8.30723674b28d6ebp-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 0x1.8p+0L : 0x8.30723674b28d6eap-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 0x1.8p+0L : 0x8.30723674b28d6eap-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 0x1.8p+0L : 0x8.30723674b28d6eap-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 0x1.8p+0L : 0x8.30723674b28d6ebp-4L : inexact-ok
+= jn downward ldbl-128 0 0x1.8p+0L : 0x8.30723674b28d6ea4efdbfbb4b748p-4L : inexact-ok
+= jn tonearest ldbl-128 0 0x1.8p+0L : 0x8.30723674b28d6ea4efdbfbb4b75p-4L : inexact-ok
+= jn towardzero ldbl-128 0 0x1.8p+0L : 0x8.30723674b28d6ea4efdbfbb4b748p-4L : inexact-ok
+= jn upward ldbl-128 0 0x1.8p+0L : 0x8.30723674b28d6ea4efdbfbb4b75p-4L : inexact-ok
+= jn downward ldbl-128ibm 0 0x1.8p+0L : 0x8.30723674b28d6ea4efdbfbb4b4p-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 0x1.8p+0L : 0x8.30723674b28d6ea4efdbfbb4b8p-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 0x1.8p+0L : 0x8.30723674b28d6ea4efdbfbb4b4p-4L : inexact-ok
+= jn upward ldbl-128ibm 0 0x1.8p+0L : 0x8.30723674b28d6ea4efdbfbb4b8p-4L : inexact-ok
+jn 0 2.0
+= jn downward flt-32 0 0x2p+0f : 0x3.950e7cp-4f : inexact-ok
+= jn tonearest flt-32 0 0x2p+0f : 0x3.950e8p-4f : inexact-ok
+= jn towardzero flt-32 0 0x2p+0f : 0x3.950e7cp-4f : inexact-ok
+= jn upward flt-32 0 0x2p+0f : 0x3.950e8p-4f : inexact-ok
+= jn downward dbl-64 0 0x2p+0 : 0x3.950e7f6499deep-4 : inexact-ok
+= jn tonearest dbl-64 0 0x2p+0 : 0x3.950e7f6499dfp-4 : inexact-ok
+= jn towardzero dbl-64 0 0x2p+0 : 0x3.950e7f6499deep-4 : inexact-ok
+= jn upward dbl-64 0 0x2p+0 : 0x3.950e7f6499dfp-4 : inexact-ok
+= jn downward ldbl-96-intel 0 0x2p+0L : 0x3.950e7f6499def918p-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 0x2p+0L : 0x3.950e7f6499def91cp-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 0x2p+0L : 0x3.950e7f6499def918p-4L : inexact-ok
+= jn upward ldbl-96-intel 0 0x2p+0L : 0x3.950e7f6499def91cp-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 0x2p+0L : 0x3.950e7f6499def918p-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 0x2p+0L : 0x3.950e7f6499def91cp-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 0x2p+0L : 0x3.950e7f6499def918p-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 0x2p+0L : 0x3.950e7f6499def91cp-4L : inexact-ok
+= jn downward ldbl-128 0 0x2p+0L : 0x3.950e7f6499def91adac0afbc5d8cp-4L : inexact-ok
+= jn tonearest ldbl-128 0 0x2p+0L : 0x3.950e7f6499def91adac0afbc5d8cp-4L : inexact-ok
+= jn towardzero ldbl-128 0 0x2p+0L : 0x3.950e7f6499def91adac0afbc5d8cp-4L : inexact-ok
+= jn upward ldbl-128 0 0x2p+0L : 0x3.950e7f6499def91adac0afbc5d8ep-4L : inexact-ok
+= jn downward ldbl-128ibm 0 0x2p+0L : 0x3.950e7f6499def91adac0afbc5dp-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 0x2p+0L : 0x3.950e7f6499def91adac0afbc5ep-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 0x2p+0L : 0x3.950e7f6499def91adac0afbc5dp-4L : inexact-ok
+= jn upward ldbl-128ibm 0 0x2p+0L : 0x3.950e7f6499def91adac0afbc5ep-4L : inexact-ok
+jn 0 8.0
+= jn downward flt-32 0 0x8p+0f : 0x2.bf14e8p-4f : inexact-ok
+= jn tonearest flt-32 0 0x8p+0f : 0x2.bf14ecp-4f : inexact-ok
+= jn towardzero flt-32 0 0x8p+0f : 0x2.bf14e8p-4f : inexact-ok
+= jn upward flt-32 0 0x8p+0f : 0x2.bf14ecp-4f : inexact-ok
+= jn downward dbl-64 0 0x8p+0 : 0x2.bf14eaafce04ap-4 : inexact-ok
+= jn tonearest dbl-64 0 0x8p+0 : 0x2.bf14eaafce04ap-4 : inexact-ok
+= jn towardzero dbl-64 0 0x8p+0 : 0x2.bf14eaafce04ap-4 : inexact-ok
+= jn upward dbl-64 0 0x8p+0 : 0x2.bf14eaafce04cp-4 : inexact-ok
+= jn downward ldbl-96-intel 0 0x8p+0L : 0x2.bf14eaafce04a584p-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 0x8p+0L : 0x2.bf14eaafce04a588p-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 0x8p+0L : 0x2.bf14eaafce04a584p-4L : inexact-ok
+= jn upward ldbl-96-intel 0 0x8p+0L : 0x2.bf14eaafce04a588p-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 0x8p+0L : 0x2.bf14eaafce04a584p-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 0x8p+0L : 0x2.bf14eaafce04a588p-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 0x8p+0L : 0x2.bf14eaafce04a584p-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 0x8p+0L : 0x2.bf14eaafce04a588p-4L : inexact-ok
+= jn downward ldbl-128 0 0x8p+0L : 0x2.bf14eaafce04a587ded211e82082p-4L : inexact-ok
+= jn tonearest ldbl-128 0 0x8p+0L : 0x2.bf14eaafce04a587ded211e82084p-4L : inexact-ok
+= jn towardzero ldbl-128 0 0x8p+0L : 0x2.bf14eaafce04a587ded211e82082p-4L : inexact-ok
+= jn upward ldbl-128 0 0x8p+0L : 0x2.bf14eaafce04a587ded211e82084p-4L : inexact-ok
+= jn downward ldbl-128ibm 0 0x8p+0L : 0x2.bf14eaafce04a587ded211e82p-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 0x8p+0L : 0x2.bf14eaafce04a587ded211e821p-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 0x8p+0L : 0x2.bf14eaafce04a587ded211e82p-4L : inexact-ok
+= jn upward ldbl-128ibm 0 0x8p+0L : 0x2.bf14eaafce04a587ded211e821p-4L : inexact-ok
+jn 0 10.0
+= jn downward flt-32 0 0xap+0f : -0x3.ef5a58p-4f : inexact-ok
+= jn tonearest flt-32 0 0xap+0f : -0x3.ef5a58p-4f : inexact-ok
+= jn towardzero flt-32 0 0xap+0f : -0x3.ef5a54p-4f : inexact-ok
+= jn upward flt-32 0 0xap+0f : -0x3.ef5a54p-4f : inexact-ok
+= jn downward dbl-64 0 0xap+0 : -0x3.ef5a5713c3ca8p-4 : inexact-ok
+= jn tonearest dbl-64 0 0xap+0 : -0x3.ef5a5713c3ca8p-4 : inexact-ok
+= jn towardzero dbl-64 0 0xap+0 : -0x3.ef5a5713c3ca6p-4 : inexact-ok
+= jn upward dbl-64 0 0xap+0 : -0x3.ef5a5713c3ca6p-4 : inexact-ok
+= jn downward ldbl-96-intel 0 0xap+0L : -0x3.ef5a5713c3ca7068p-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 0xap+0L : -0x3.ef5a5713c3ca7064p-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 0xap+0L : -0x3.ef5a5713c3ca7064p-4L : inexact-ok
+= jn upward ldbl-96-intel 0 0xap+0L : -0x3.ef5a5713c3ca7064p-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 0xap+0L : -0x3.ef5a5713c3ca7068p-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 0xap+0L : -0x3.ef5a5713c3ca7064p-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 0xap+0L : -0x3.ef5a5713c3ca7064p-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 0xap+0L : -0x3.ef5a5713c3ca7064p-4L : inexact-ok
+= jn downward ldbl-128 0 0xap+0L : -0x3.ef5a5713c3ca70644304d7022886p-4L : inexact-ok
+= jn tonearest ldbl-128 0 0xap+0L : -0x3.ef5a5713c3ca70644304d7022886p-4L : inexact-ok
+= jn towardzero ldbl-128 0 0xap+0L : -0x3.ef5a5713c3ca70644304d7022884p-4L : inexact-ok
+= jn upward ldbl-128 0 0xap+0L : -0x3.ef5a5713c3ca70644304d7022884p-4L : inexact-ok
+= jn downward ldbl-128ibm 0 0xap+0L : -0x3.ef5a5713c3ca70644304d70229p-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 0xap+0L : -0x3.ef5a5713c3ca70644304d70229p-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 0xap+0L : -0x3.ef5a5713c3ca70644304d70228p-4L : inexact-ok
+= jn upward ldbl-128ibm 0 0xap+0L : -0x3.ef5a5713c3ca70644304d70228p-4L : inexact-ok
+jn 0 4.0
+= jn downward flt-32 0 0x4p+0f : -0x6.5ab9c8p-4f : inexact-ok
+= jn tonearest flt-32 0 0x4p+0f : -0x6.5ab9cp-4f : inexact-ok
+= jn towardzero flt-32 0 0x4p+0f : -0x6.5ab9cp-4f : inexact-ok
+= jn upward flt-32 0 0x4p+0f : -0x6.5ab9cp-4f : inexact-ok
+= jn downward dbl-64 0 0x4p+0 : -0x6.5ab9c24fa53e8p-4 : inexact-ok
+= jn tonearest dbl-64 0 0x4p+0 : -0x6.5ab9c24fa53e4p-4 : inexact-ok
+= jn towardzero dbl-64 0 0x4p+0 : -0x6.5ab9c24fa53e4p-4 : inexact-ok
+= jn upward dbl-64 0 0x4p+0 : -0x6.5ab9c24fa53e4p-4 : inexact-ok
+= jn downward ldbl-96-intel 0 0x4p+0L : -0x6.5ab9c24fa53e5cd8p-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn upward ldbl-96-intel 0 0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 0x4p+0L : -0x6.5ab9c24fa53e5cd8p-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn downward ldbl-128 0 0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87d9cp-4L : inexact-ok
+= jn tonearest ldbl-128 0 0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87d98p-4L : inexact-ok
+= jn towardzero ldbl-128 0 0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87d98p-4L : inexact-ok
+= jn upward ldbl-128 0 0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87d98p-4L : inexact-ok
+= jn downward ldbl-128ibm 0 0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87ep-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87ep-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87cp-4L : inexact-ok
+= jn upward ldbl-128ibm 0 0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87cp-4L : inexact-ok
+jn 0 -4.0
+= jn downward flt-32 0 -0x4p+0f : -0x6.5ab9c8p-4f : inexact-ok
+= jn tonearest flt-32 0 -0x4p+0f : -0x6.5ab9cp-4f : inexact-ok
+= jn towardzero flt-32 0 -0x4p+0f : -0x6.5ab9cp-4f : inexact-ok
+= jn upward flt-32 0 -0x4p+0f : -0x6.5ab9cp-4f : inexact-ok
+= jn downward dbl-64 0 -0x4p+0 : -0x6.5ab9c24fa53e8p-4 : inexact-ok
+= jn tonearest dbl-64 0 -0x4p+0 : -0x6.5ab9c24fa53e4p-4 : inexact-ok
+= jn towardzero dbl-64 0 -0x4p+0 : -0x6.5ab9c24fa53e4p-4 : inexact-ok
+= jn upward dbl-64 0 -0x4p+0 : -0x6.5ab9c24fa53e4p-4 : inexact-ok
+= jn downward ldbl-96-intel 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd8p-4L : inexact-ok
+= jn tonearest ldbl-96-intel 0 -0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn towardzero ldbl-96-intel 0 -0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn upward ldbl-96-intel 0 -0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn downward ldbl-96-m68k 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd8p-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 0 -0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 0 -0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn upward ldbl-96-m68k 0 -0x4p+0L : -0x6.5ab9c24fa53e5cdp-4L : inexact-ok
+= jn downward ldbl-128 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87d9cp-4L : inexact-ok
+= jn tonearest ldbl-128 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87d98p-4L : inexact-ok
+= jn towardzero ldbl-128 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87d98p-4L : inexact-ok
+= jn upward ldbl-128 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87d98p-4L : inexact-ok
+= jn downward ldbl-128ibm 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87ep-4L : inexact-ok
+= jn tonearest ldbl-128ibm 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87ep-4L : inexact-ok
+= jn towardzero ldbl-128ibm 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87cp-4L : inexact-ok
+= jn upward ldbl-128ibm 0 -0x4p+0L : -0x6.5ab9c24fa53e5cd1657dfde87cp-4L : inexact-ok
+jn 1 -1.0
+= jn downward flt-32 1 -0x1p+0f : -0x7.0a728p-4f : inexact-ok
+= jn tonearest flt-32 1 -0x1p+0f : -0x7.0a7278p-4f : inexact-ok
+= jn towardzero flt-32 1 -0x1p+0f : -0x7.0a7278p-4f : inexact-ok
+= jn upward flt-32 1 -0x1p+0f : -0x7.0a7278p-4f : inexact-ok
+= jn downward dbl-64 1 -0x1p+0 : -0x7.0a727ba5c31b4p-4 : inexact-ok
+= jn tonearest dbl-64 1 -0x1p+0 : -0x7.0a727ba5c31bp-4 : inexact-ok
+= jn towardzero dbl-64 1 -0x1p+0 : -0x7.0a727ba5c31bp-4 : inexact-ok
+= jn upward dbl-64 1 -0x1p+0 : -0x7.0a727ba5c31bp-4 : inexact-ok
+= jn downward ldbl-96-intel 1 -0x1p+0L : -0x7.0a727ba5c31b14ep-4L : inexact-ok
+= jn tonearest ldbl-96-intel 1 -0x1p+0L : -0x7.0a727ba5c31b14d8p-4L : inexact-ok
+= jn towardzero ldbl-96-intel 1 -0x1p+0L : -0x7.0a727ba5c31b14d8p-4L : inexact-ok
+= jn upward ldbl-96-intel 1 -0x1p+0L : -0x7.0a727ba5c31b14d8p-4L : inexact-ok
+= jn downward ldbl-96-m68k 1 -0x1p+0L : -0x7.0a727ba5c31b14ep-4L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 -0x1p+0L : -0x7.0a727ba5c31b14d8p-4L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 -0x1p+0L : -0x7.0a727ba5c31b14d8p-4L : inexact-ok
+= jn upward ldbl-96-m68k 1 -0x1p+0L : -0x7.0a727ba5c31b14d8p-4L : inexact-ok
+= jn downward ldbl-128 1 -0x1p+0L : -0x7.0a727ba5c31b14d8b9e340190074p-4L : inexact-ok
+= jn tonearest ldbl-128 1 -0x1p+0L : -0x7.0a727ba5c31b14d8b9e34019007p-4L : inexact-ok
+= jn towardzero ldbl-128 1 -0x1p+0L : -0x7.0a727ba5c31b14d8b9e34019007p-4L : inexact-ok
+= jn upward ldbl-128 1 -0x1p+0L : -0x7.0a727ba5c31b14d8b9e34019007p-4L : inexact-ok
+= jn downward ldbl-128ibm 1 -0x1p+0L : -0x7.0a727ba5c31b14d8b9e3401902p-4L : inexact-ok
+= jn tonearest ldbl-128ibm 1 -0x1p+0L : -0x7.0a727ba5c31b14d8b9e34019p-4L : inexact-ok
+= jn towardzero ldbl-128ibm 1 -0x1p+0L : -0x7.0a727ba5c31b14d8b9e34019p-4L : inexact-ok
+= jn upward ldbl-128ibm 1 -0x1p+0L : -0x7.0a727ba5c31b14d8b9e34019p-4L : inexact-ok
+jn 1 0.0
+= jn downward flt-32 1 0x0p+0f : 0x0p+0f : inexact-ok
+= jn tonearest flt-32 1 0x0p+0f : 0x0p+0f : inexact-ok
+= jn towardzero flt-32 1 0x0p+0f : 0x0p+0f : inexact-ok
+= jn upward flt-32 1 0x0p+0f : 0x0p+0f : inexact-ok
+= jn downward dbl-64 1 0x0p+0 : 0x0p+0 : inexact-ok
+= jn tonearest dbl-64 1 0x0p+0 : 0x0p+0 : inexact-ok
+= jn towardzero dbl-64 1 0x0p+0 : 0x0p+0 : inexact-ok
+= jn upward dbl-64 1 0x0p+0 : 0x0p+0 : inexact-ok
+= jn downward ldbl-96-intel 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn tonearest ldbl-96-intel 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn towardzero ldbl-96-intel 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn upward ldbl-96-intel 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn downward ldbl-96-m68k 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn upward ldbl-96-m68k 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn downward ldbl-128 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn tonearest ldbl-128 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn towardzero ldbl-128 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn upward ldbl-128 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn downward ldbl-128ibm 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn tonearest ldbl-128ibm 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn towardzero ldbl-128ibm 1 0x0p+0L : 0x0p+0L : inexact-ok
+= jn upward ldbl-128ibm 1 0x0p+0L : 0x0p+0L : inexact-ok
+jn 1 0.125
+= jn downward flt-32 1 0x2p-4f : 0xf.f8015p-8f : inexact-ok
+= jn tonearest flt-32 1 0x2p-4f : 0xf.f8015p-8f : inexact-ok
+= jn towardzero flt-32 1 0x2p-4f : 0xf.f8015p-8f : inexact-ok
+= jn upward flt-32 1 0x2p-4f : 0xf.f8016p-8f : inexact-ok
+= jn downward dbl-64 1 0x2p-4 : 0xf.f8015538e4fap-8 : inexact-ok
+= jn tonearest dbl-64 1 0x2p-4 : 0xf.f8015538e4fa8p-8 : inexact-ok
+= jn towardzero dbl-64 1 0x2p-4 : 0xf.f8015538e4fap-8 : inexact-ok
+= jn upward dbl-64 1 0x2p-4 : 0xf.f8015538e4fa8p-8 : inexact-ok
+= jn downward ldbl-96-intel 1 0x2p-4L : 0xf.f8015538e4fa438p-8L : inexact-ok
+= jn tonearest ldbl-96-intel 1 0x2p-4L : 0xf.f8015538e4fa438p-8L : inexact-ok
+= jn towardzero ldbl-96-intel 1 0x2p-4L : 0xf.f8015538e4fa438p-8L : inexact-ok
+= jn upward ldbl-96-intel 1 0x2p-4L : 0xf.f8015538e4fa439p-8L : inexact-ok
+= jn downward ldbl-96-m68k 1 0x2p-4L : 0xf.f8015538e4fa438p-8L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 0x2p-4L : 0xf.f8015538e4fa438p-8L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 0x2p-4L : 0xf.f8015538e4fa438p-8L : inexact-ok
+= jn upward ldbl-96-m68k 1 0x2p-4L : 0xf.f8015538e4fa439p-8L : inexact-ok
+= jn downward ldbl-128 1 0x2p-4L : 0xf.f8015538e4fa43825ff72a8a0bdp-8L : inexact-