]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Fix j1, jn missing errno setting on underflow (bug 18611).
authorJoseph Myers <joseph@codesourcery.com>
Fri, 23 Oct 2015 21:37:33 +0000 (21:37 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 23 Oct 2015 21:37:33 +0000 (21:37 +0000)
j1 and jn can underflow for small arguments, but fail to set errno
when underflowing to 0.  This patch fixes them to set errno in that
case.

Tested for x86_64, x86, mips64 and powerpc.

[BZ #18611]
* sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_j1): Set errno and
avoid excess range and precision on underflow.
* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
* sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_j1f): Likewise.
* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise.
* sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Set errno on
underflow.
* sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise.
* sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise.
* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
* math/auto-libm-test-in: Do not allow missing errno setting for
tests of j1 and jn.
* math/auto-libm-test-out: Regenerated.

13 files changed:
ChangeLog
NEWS
math/auto-libm-test-in
math/auto-libm-test-out
sysdeps/ieee754/dbl-64/e_j1.c
sysdeps/ieee754/dbl-64/e_jn.c
sysdeps/ieee754/flt-32/e_j1f.c
sysdeps/ieee754/flt-32/e_jnf.c
sysdeps/ieee754/ldbl-128/e_j1l.c
sysdeps/ieee754/ldbl-128/e_jnl.c
sysdeps/ieee754/ldbl-128ibm/e_jnl.c
sysdeps/ieee754/ldbl-96/e_j1l.c
sysdeps/ieee754/ldbl-96/e_jnl.c

index ab42228a0c25cc71328fefc73781460c0dd13351..5e7ac830e276216efe8e369e58e2bb917ba9339a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2015-10-23  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #18611]
+       * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_j1): Set errno and
+       avoid excess range and precision on underflow.
+       * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
+       * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_j1f): Likewise.
+       * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise.
+       * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Set errno on
+       underflow.
+       * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
+       * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise.
+       * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise.
+       * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
+       * math/auto-libm-test-in: Do not allow missing errno setting for
+       tests of j1 and jn.
+       * math/auto-libm-test-out: Regenerated.
+
 2015-10-22  Joseph Myers  <joseph@codesourcery.com>
 
        [BZ #15491]
diff --git a/NEWS b/NEWS
index 77534b941c3c6dd8d721aae27ce89c81bab858f2..e1d34e8c708bfca50898af92647c2202a2a8e4ac 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -13,15 +13,15 @@ Version 2.23
   15384, 15470, 15491, 15786, 15918, 16141, 16296, 16347, 16399, 16415,
   16422, 16517, 16519, 16520, 16521, 16620, 16734, 16973, 16985, 17118,
   17243, 17244, 17250, 17441, 17787, 17886, 17887, 17905, 18084, 18086,
-  18240, 18265, 18370, 18421, 18480, 18525, 18595, 18589, 18610, 18618,
-  18647, 18661, 18674, 18675, 18681, 18699, 18724, 18743, 18757, 18778,
-  18781, 18787, 18789, 18790, 18795, 18796, 18803, 18820, 18823, 18824,
-  18825, 18857, 18863, 18870, 18872, 18873, 18875, 18887, 18918, 18921,
-  18928, 18951, 18952, 18953, 18956, 18961, 18966, 18967, 18969, 18970,
-  18977, 18980, 18981, 18982, 18985, 19003, 19007, 19012, 19016, 19018,
-  19032, 19046, 19049, 19050, 19059, 19071, 19074, 19076, 19077, 19078,
-  19079, 19085, 19086, 19088, 19094, 19095, 19124, 19125, 19129, 19134,
-  19137, 19156.
+  18240, 18265, 18370, 18421, 18480, 18525, 18595, 18589, 18610, 18611,
+  18618, 18647, 18661, 18674, 18675, 18681, 18699, 18724, 18743, 18757,
+  18778, 18781, 18787, 18789, 18790, 18795, 18796, 18803, 18820, 18823,
+  18824, 18825, 18857, 18863, 18870, 18872, 18873, 18875, 18887, 18918,
+  18921, 18928, 18951, 18952, 18953, 18956, 18961, 18966, 18967, 18969,
+  18970, 18977, 18980, 18981, 18982, 18985, 19003, 19007, 19012, 19016,
+  19018, 19032, 19046, 19049, 19050, 19059, 19071, 19074, 19076, 19077,
+  19078, 19079, 19085, 19086, 19088, 19094, 19095, 19124, 19125, 19129,
+  19134, 19137, 19156.
 
 * There is now a --disable-timezone-tools configure option for disabling the
   building and installing of the timezone related utilities (zic, zdump, and
index 3d7143fb2116c73dbd7b7158ce07f5f57392a980..b5308e3c302958937bc1b52a34e8201d45fb3250 100644 (file)
@@ -2424,11 +2424,10 @@ j1 0x1p-60
 j1 0x1p-100
 j1 0x1p-600
 j1 0x1p-10000
-# Bug 18611: errno setting may be missing.
-j1 min missing-errno
-j1 -min missing-errno
-j1 min_subnorm missing-errno
-j1 -min_subnorm missing-errno
+j1 min
+j1 -min
+j1 min_subnorm
+j1 -min_subnorm
 
 # jn (0, x) == j0 (x).
 jn 0 -1.0
@@ -2459,11 +2458,10 @@ jn 1 1.5
 jn 1 2.0
 jn 1 8.0
 jn 1 10.0
-# Bug 18611: errno setting may be missing.
-jn 1 min missing-errno
-jn 1 -min missing-errno
-jn 1 min_subnorm missing-errno
-jn 1 -min_subnorm missing-errno
+jn 1 min
+jn 1 -min
+jn 1 min_subnorm
+jn 1 -min_subnorm
 
 jn 3 -1.0
 jn 3 0.0
@@ -2504,11 +2502,10 @@ jn -2 -1
 jn -3 -1
 jn -4 -1
 
-# Bug 18611: errno setting may be missing.
-jn 10 min missing-errno
-jn 10 -min missing-errno
-jn 10 min_subnorm missing-errno
-jn 10 -min_subnorm missing-errno
+jn 10 min
+jn 10 -min
+jn 10 min_subnorm
+jn 10 -min_subnorm
 
 lgamma max
 lgamma 1
index 91c27ee8b87a30b76e81a50d67cb5787025e1934..cda8c6591b049ea89c588cd356aa1dfa9224e416 100644 (file)
@@ -180831,7 +180831,7 @@ j1 0x1p-10000
 = j1 tonearest ldbl-128 0x1p-10000L : 0x8p-10004L : inexact-ok
 = j1 towardzero ldbl-128 0x1p-10000L : 0x7.fffffffffffffffffffffffffffcp-10004L : inexact-ok
 = j1 upward ldbl-128 0x1p-10000L : 0x8p-10004L : inexact-ok
-j1 min missing-errno
+j1 min
 = j1 downward flt-32 0x4p-128f : 0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok
 = j1 tonearest flt-32 0x4p-128f : 0x2p-128f : inexact-ok underflow errno-erange-ok
 = j1 towardzero flt-32 0x4p-128f : 0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok
@@ -180920,7 +180920,7 @@ j1 min missing-errno
 = j1 tonearest ldbl-128ibm 0x8p-972L : 0x4p-972L : inexact-ok underflow errno-erange-ok
 = j1 towardzero ldbl-128ibm 0x8p-972L : 0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok
 = j1 upward ldbl-128ibm 0x8p-972L : 0x4p-972L : inexact-ok underflow errno-erange-ok
-j1 -min missing-errno
+j1 -min
 = j1 downward flt-32 -0x4p-128f : -0x2p-128f : inexact-ok underflow errno-erange-ok
 = j1 tonearest flt-32 -0x4p-128f : -0x2p-128f : inexact-ok underflow errno-erange-ok
 = j1 towardzero flt-32 -0x4p-128f : -0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok
@@ -181009,10 +181009,10 @@ j1 -min missing-errno
 = j1 tonearest ldbl-128ibm -0x8p-972L : -0x4p-972L : inexact-ok underflow errno-erange-ok
 = j1 towardzero ldbl-128ibm -0x8p-972L : -0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok
 = j1 upward ldbl-128ibm -0x8p-972L : -0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok
-j1 min_subnorm missing-errno
-= j1 downward flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= j1 tonearest flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+j1 min_subnorm
+= j1 downward flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
+= j1 tonearest flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
+= j1 towardzero flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
 = j1 upward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok
 = j1 downward dbl-64 0x8p-152 : 0x3.ffffffffffffep-152 : inexact-ok
 = j1 tonearest dbl-64 0x8p-152 : 0x4p-152 : inexact-ok
@@ -181034,9 +181034,9 @@ j1 min_subnorm missing-errno
 = j1 tonearest ldbl-128ibm 0x8p-152L : 0x4p-152L : inexact-ok
 = j1 towardzero ldbl-128ibm 0x8p-152L : 0x3.ffffffffffffffffffffffffffp-152L : inexact-ok
 = j1 upward ldbl-128ibm 0x8p-152L : 0x4p-152L : inexact-ok
-= j1 downward dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= j1 tonearest dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= j1 downward dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= j1 tonearest dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= j1 towardzero dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
 = j1 upward dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = j1 downward ldbl-96-intel 0x4p-1076L : 0x1.fffffffffffffffep-1076L : inexact-ok
 = j1 tonearest ldbl-96-intel 0x4p-1076L : 0x2p-1076L : inexact-ok
@@ -181050,13 +181050,13 @@ j1 min_subnorm missing-errno
 = j1 tonearest ldbl-128 0x4p-1076L : 0x2p-1076L : inexact-ok
 = j1 towardzero ldbl-128 0x4p-1076L : 0x1.ffffffffffffffffffffffffffffp-1076L : inexact-ok
 = j1 upward ldbl-128 0x4p-1076L : 0x2p-1076L : inexact-ok
-= j1 downward ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 tonearest ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= j1 downward ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
+= j1 tonearest ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
+= j1 towardzero ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
 = j1 upward ldbl-128ibm 0x4p-1076L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= j1 downward ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 tonearest ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= j1 downward ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= j1 tonearest ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= j1 towardzero ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = j1 upward ldbl-96-intel 0x8p-16448L : 0x8p-16448L : inexact-ok underflow errno-erange-ok
 = j1 downward ldbl-96-m68k 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange-ok
 = j1 tonearest ldbl-96-m68k 0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
@@ -181066,23 +181066,23 @@ j1 min_subnorm missing-errno
 = j1 tonearest ldbl-128 0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
 = j1 towardzero ldbl-128 0x8p-16448L : 0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = j1 upward ldbl-128 0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= j1 downward ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 tonearest ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= j1 downward ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= j1 tonearest ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= j1 towardzero ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = j1 upward ldbl-96-m68k 0x4p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
 = j1 downward ldbl-128 0x4p-16448L : 0x1.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = j1 tonearest ldbl-128 0x4p-16448L : 0x2p-16448L : inexact-ok underflow errno-erange-ok
 = j1 towardzero ldbl-128 0x4p-16448L : 0x1.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = j1 upward ldbl-128 0x4p-16448L : 0x2p-16448L : inexact-ok underflow errno-erange-ok
-= j1 downward ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 tonearest ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= j1 downward ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
+= j1 tonearest ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
+= j1 towardzero ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
 = j1 upward ldbl-128 0x4p-16496L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-j1 -min_subnorm missing-errno
+j1 -min_subnorm
 = j1 downward flt-32 -0x8p-152f : -0x8p-152f : inexact-ok underflow errno-erange-ok
-= j1 tonearest flt-32 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero flt-32 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= j1 upward flt-32 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+= j1 tonearest flt-32 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange
+= j1 towardzero flt-32 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange
+= j1 upward flt-32 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange
 = j1 downward dbl-64 -0x8p-152 : -0x4p-152 : inexact-ok
 = j1 tonearest dbl-64 -0x8p-152 : -0x4p-152 : inexact-ok
 = j1 towardzero dbl-64 -0x8p-152 : -0x3.ffffffffffffep-152 : inexact-ok
@@ -181104,9 +181104,9 @@ j1 -min_subnorm missing-errno
 = j1 towardzero ldbl-128ibm -0x8p-152L : -0x3.ffffffffffffffffffffffffffp-152L : inexact-ok
 = j1 upward ldbl-128ibm -0x8p-152L : -0x3.ffffffffffffffffffffffffffp-152L : inexact-ok
 = j1 downward dbl-64 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
-= j1 tonearest dbl-64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero dbl-64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= j1 upward dbl-64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= j1 tonearest dbl-64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
+= j1 towardzero dbl-64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
+= j1 upward dbl-64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
 = j1 downward ldbl-96-intel -0x4p-1076L : -0x2p-1076L : inexact-ok
 = j1 tonearest ldbl-96-intel -0x4p-1076L : -0x2p-1076L : inexact-ok
 = j1 towardzero ldbl-96-intel -0x4p-1076L : -0x1.fffffffffffffffep-1076L : inexact-ok
@@ -181120,13 +181120,13 @@ j1 -min_subnorm missing-errno
 = j1 towardzero ldbl-128 -0x4p-1076L : -0x1.ffffffffffffffffffffffffffffp-1076L : inexact-ok
 = j1 upward ldbl-128 -0x4p-1076L : -0x1.ffffffffffffffffffffffffffffp-1076L : inexact-ok
 = j1 downward ldbl-128ibm -0x4p-1076L : -0x4p-1076L : inexact-ok underflow errno-erange-ok
-= j1 tonearest ldbl-128ibm -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero ldbl-128ibm -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 upward ldbl-128ibm -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= j1 tonearest ldbl-128ibm -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange
+= j1 towardzero ldbl-128ibm -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange
+= j1 upward ldbl-128ibm -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange
 = j1 downward ldbl-96-intel -0x8p-16448L : -0x8p-16448L : inexact-ok underflow errno-erange-ok
-= j1 tonearest ldbl-96-intel -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero ldbl-96-intel -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 upward ldbl-96-intel -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= j1 tonearest ldbl-96-intel -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
+= j1 towardzero ldbl-96-intel -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
+= j1 upward ldbl-96-intel -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
 = j1 downward ldbl-96-m68k -0x8p-16448L : -0x4p-16448L : inexact-ok underflow errno-erange-ok
 = j1 tonearest ldbl-96-m68k -0x8p-16448L : -0x4p-16448L : inexact-ok underflow errno-erange-ok
 = j1 towardzero ldbl-96-m68k -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange-ok
@@ -181136,17 +181136,17 @@ j1 -min_subnorm missing-errno
 = j1 towardzero ldbl-128 -0x8p-16448L : -0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = j1 upward ldbl-128 -0x8p-16448L : -0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = j1 downward ldbl-96-m68k -0x4p-16448L : -0x4p-16448L : inexact-ok underflow errno-erange-ok
-= j1 tonearest ldbl-96-m68k -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero ldbl-96-m68k -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 upward ldbl-96-m68k -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= j1 tonearest ldbl-96-m68k -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
+= j1 towardzero ldbl-96-m68k -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
+= j1 upward ldbl-96-m68k -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
 = j1 downward ldbl-128 -0x4p-16448L : -0x2p-16448L : inexact-ok underflow errno-erange-ok
 = j1 tonearest ldbl-128 -0x4p-16448L : -0x2p-16448L : inexact-ok underflow errno-erange-ok
 = j1 towardzero ldbl-128 -0x4p-16448L : -0x1.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = j1 upward ldbl-128 -0x4p-16448L : -0x1.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = j1 downward ldbl-128 -0x4p-16496L : -0x4p-16496L : inexact-ok underflow errno-erange-ok
-= j1 tonearest ldbl-128 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 towardzero ldbl-128 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= j1 upward ldbl-128 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= j1 tonearest ldbl-128 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange
+= j1 towardzero ldbl-128 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange
+= j1 upward ldbl-128 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange
 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
@@ -182013,7 +182013,7 @@ jn 1 10.0
 = jn tonearest ldbl-128ibm 1 0xap+0L : 0xb.2107a710048861578f0a8f4f2cp-8L : inexact-ok
 = jn towardzero ldbl-128ibm 1 0xap+0L : 0xb.2107a710048861578f0a8f4f28p-8L : inexact-ok
 = jn upward ldbl-128ibm 1 0xap+0L : 0xb.2107a710048861578f0a8f4f2cp-8L : inexact-ok
-jn 1 min missing-errno
+jn 1 min
 = jn downward flt-32 1 0x4p-128f : 0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok
 = jn tonearest flt-32 1 0x4p-128f : 0x2p-128f : inexact-ok underflow errno-erange-ok
 = jn towardzero flt-32 1 0x4p-128f : 0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok
@@ -182102,7 +182102,7 @@ jn 1 min missing-errno
 = jn tonearest ldbl-128ibm 1 0x8p-972L : 0x4p-972L : inexact-ok underflow errno-erange-ok
 = jn towardzero ldbl-128ibm 1 0x8p-972L : 0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok
 = jn upward ldbl-128ibm 1 0x8p-972L : 0x4p-972L : inexact-ok underflow errno-erange-ok
-jn 1 -min missing-errno
+jn 1 -min
 = jn downward flt-32 1 -0x4p-128f : -0x2p-128f : inexact-ok underflow errno-erange-ok
 = jn tonearest flt-32 1 -0x4p-128f : -0x2p-128f : inexact-ok underflow errno-erange-ok
 = jn towardzero flt-32 1 -0x4p-128f : -0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok
@@ -182191,10 +182191,10 @@ jn 1 -min missing-errno
 = jn tonearest ldbl-128ibm 1 -0x8p-972L : -0x4p-972L : inexact-ok underflow errno-erange-ok
 = jn towardzero ldbl-128ibm 1 -0x8p-972L : -0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok
 = jn upward ldbl-128ibm 1 -0x8p-972L : -0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok
-jn 1 min_subnorm missing-errno
-= jn downward flt-32 1 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest flt-32 1 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero flt-32 1 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+jn 1 min_subnorm
+= jn downward flt-32 1 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn tonearest flt-32 1 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn towardzero flt-32 1 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
 = jn upward flt-32 1 0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok
 = jn downward dbl-64 1 0x8p-152 : 0x3.ffffffffffffep-152 : inexact-ok
 = jn tonearest dbl-64 1 0x8p-152 : 0x4p-152 : inexact-ok
@@ -182216,9 +182216,9 @@ jn 1 min_subnorm missing-errno
 = jn tonearest ldbl-128ibm 1 0x8p-152L : 0x4p-152L : inexact-ok
 = jn towardzero ldbl-128ibm 1 0x8p-152L : 0x3.ffffffffffffffffffffffffffp-152L : inexact-ok
 = jn upward ldbl-128ibm 1 0x8p-152L : 0x4p-152L : inexact-ok
-= jn downward dbl-64 1 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 1 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 1 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 1 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 1 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 1 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 1 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 1 0x4p-1076L : 0x1.fffffffffffffffep-1076L : inexact-ok
 = jn tonearest ldbl-96-intel 1 0x4p-1076L : 0x2p-1076L : inexact-ok
@@ -182232,13 +182232,13 @@ jn 1 min_subnorm missing-errno
 = jn tonearest ldbl-128 1 0x4p-1076L : 0x2p-1076L : inexact-ok
 = jn towardzero ldbl-128 1 0x4p-1076L : 0x1.ffffffffffffffffffffffffffffp-1076L : inexact-ok
 = jn upward ldbl-128 1 0x4p-1076L : 0x2p-1076L : inexact-ok
-= jn downward ldbl-128ibm 1 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 1 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 1 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 1 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 1 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 1 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 1 0x4p-1076L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-intel 1 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-intel 1 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-intel 1 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-intel 1 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-intel 1 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-intel 1 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-intel 1 0x8p-16448L : 0x8p-16448L : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-m68k 1 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange-ok
 = jn tonearest ldbl-96-m68k 1 0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
@@ -182248,23 +182248,23 @@ jn 1 min_subnorm missing-errno
 = jn tonearest ldbl-128 1 0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
 = jn towardzero ldbl-128 1 0x8p-16448L : 0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = jn upward ldbl-128 1 0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-m68k 1 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-m68k 1 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 1 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-m68k 1 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-m68k 1 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 1 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-m68k 1 0x4p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-128 1 0x4p-16448L : 0x1.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = jn tonearest ldbl-128 1 0x4p-16448L : 0x2p-16448L : inexact-ok underflow errno-erange-ok
 = jn towardzero ldbl-128 1 0x4p-16448L : 0x1.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = jn upward ldbl-128 1 0x4p-16448L : 0x2p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 1 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 1 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 1 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 1 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 1 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 1 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 1 0x4p-16496L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-jn 1 -min_subnorm missing-errno
+jn 1 -min_subnorm
 = jn downward flt-32 1 -0x8p-152f : -0x8p-152f : inexact-ok underflow errno-erange-ok
-= jn tonearest flt-32 1 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero flt-32 1 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn upward flt-32 1 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+= jn tonearest flt-32 1 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange
+= jn towardzero flt-32 1 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange
+= jn upward flt-32 1 -0x8p-152f : -0x0p+0f : inexact-ok underflow errno-erange
 = jn downward dbl-64 1 -0x8p-152 : -0x4p-152 : inexact-ok
 = jn tonearest dbl-64 1 -0x8p-152 : -0x4p-152 : inexact-ok
 = jn towardzero dbl-64 1 -0x8p-152 : -0x3.ffffffffffffep-152 : inexact-ok
@@ -182286,9 +182286,9 @@ jn 1 -min_subnorm missing-errno
 = jn towardzero ldbl-128ibm 1 -0x8p-152L : -0x3.ffffffffffffffffffffffffffp-152L : inexact-ok
 = jn upward ldbl-128ibm 1 -0x8p-152L : -0x3.ffffffffffffffffffffffffffp-152L : inexact-ok
 = jn downward dbl-64 1 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
-= jn tonearest dbl-64 1 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 1 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn upward dbl-64 1 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn tonearest dbl-64 1 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 1 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
+= jn upward dbl-64 1 -0x4p-1076 : -0x0p+0 : inexact-ok underflow errno-erange
 = jn downward ldbl-96-intel 1 -0x4p-1076L : -0x2p-1076L : inexact-ok
 = jn tonearest ldbl-96-intel 1 -0x4p-1076L : -0x2p-1076L : inexact-ok
 = jn towardzero ldbl-96-intel 1 -0x4p-1076L : -0x1.fffffffffffffffep-1076L : inexact-ok
@@ -182302,13 +182302,13 @@ jn 1 -min_subnorm missing-errno
 = jn towardzero ldbl-128 1 -0x4p-1076L : -0x1.ffffffffffffffffffffffffffffp-1076L : inexact-ok
 = jn upward ldbl-128 1 -0x4p-1076L : -0x1.ffffffffffffffffffffffffffffp-1076L : inexact-ok
 = jn downward ldbl-128ibm 1 -0x4p-1076L : -0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn tonearest ldbl-128ibm 1 -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 1 -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn upward ldbl-128ibm 1 -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn tonearest ldbl-128ibm 1 -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 1 -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange
+= jn upward ldbl-128ibm 1 -0x4p-1076L : -0x0p+0L : inexact-ok underflow errno-erange
 = jn downward ldbl-96-intel 1 -0x8p-16448L : -0x8p-16448L : inexact-ok underflow errno-erange-ok
-= jn tonearest ldbl-96-intel 1 -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-intel 1 -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn upward ldbl-96-intel 1 -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn tonearest ldbl-96-intel 1 -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-intel 1 -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
+= jn upward ldbl-96-intel 1 -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
 = jn downward ldbl-96-m68k 1 -0x8p-16448L : -0x4p-16448L : inexact-ok underflow errno-erange-ok
 = jn tonearest ldbl-96-m68k 1 -0x8p-16448L : -0x4p-16448L : inexact-ok underflow errno-erange-ok
 = jn towardzero ldbl-96-m68k 1 -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange-ok
@@ -182318,17 +182318,17 @@ jn 1 -min_subnorm missing-errno
 = jn towardzero ldbl-128 1 -0x8p-16448L : -0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = jn upward ldbl-128 1 -0x8p-16448L : -0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-m68k 1 -0x4p-16448L : -0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn tonearest ldbl-96-m68k 1 -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 1 -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn upward ldbl-96-m68k 1 -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn tonearest ldbl-96-m68k 1 -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 1 -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
+= jn upward ldbl-96-m68k 1 -0x4p-16448L : -0x0p+0L : inexact-ok underflow errno-erange
 = jn downward ldbl-128 1 -0x4p-16448L : -0x2p-16448L : inexact-ok underflow errno-erange-ok
 = jn tonearest ldbl-128 1 -0x4p-16448L : -0x2p-16448L : inexact-ok underflow errno-erange-ok
 = jn towardzero ldbl-128 1 -0x4p-16448L : -0x1.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = jn upward ldbl-128 1 -0x4p-16448L : -0x1.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-128 1 -0x4p-16496L : -0x4p-16496L : inexact-ok underflow errno-erange-ok
-= jn tonearest ldbl-128 1 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 1 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn upward ldbl-128 1 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn tonearest ldbl-128 1 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 1 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange
+= jn upward ldbl-128 1 -0x4p-16496L : -0x0p+0L : inexact-ok underflow errno-erange
 jn 3 -1.0
 = jn downward flt-32 3 -0x1p+0f : -0x5.021aap-8f : inexact-ok
 = jn tonearest flt-32 3 -0x1p+0f : -0x5.021aap-8f : inexact-ok
@@ -184199,14 +184199,14 @@ jn -4 -1
 = jn tonearest ldbl-128ibm -4 -0x1p+0L : 0xa.24f1b5ad78d841a7d14af73288p-12L : inexact-ok
 = jn towardzero ldbl-128ibm -4 -0x1p+0L : 0xa.24f1b5ad78d841a7d14af73288p-12L : inexact-ok
 = jn upward ldbl-128ibm -4 -0x1p+0L : 0xa.24f1b5ad78d841a7d14af7328cp-12L : inexact-ok
-jn 10 min missing-errno
-= jn downward flt-32 10 0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest flt-32 10 0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero flt-32 10 0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+jn 10 min
+= jn downward flt-32 10 0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn tonearest flt-32 10 0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn towardzero flt-32 10 0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange
 = jn upward flt-32 10 0x4p-128f : 0x8p-152f : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 0x4p-128 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
 = jn tonearest ldbl-96-intel 10 0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
@@ -184220,13 +184220,13 @@ jn 10 min missing-errno
 = jn tonearest ldbl-128 10 0x4p-128L : 0x1.27e4fb7789f5c72ef016d3ea6679p-1292L : inexact-ok
 = jn towardzero ldbl-128 10 0x4p-128L : 0x1.27e4fb7789f5c72ef016d3ea6678p-1292L : inexact-ok
 = jn upward ldbl-128 10 0x4p-128L : 0x1.27e4fb7789f5c72ef016d3ea6679p-1292L : inexact-ok
-= jn downward ldbl-128ibm 10 0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 0x4p-128L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 0x4p-1024 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
 = jn tonearest ldbl-96-intel 10 0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
@@ -184240,37 +184240,37 @@ jn 10 min missing-errno
 = jn tonearest ldbl-128 10 0x4p-1024L : 0x1.27e4fb7789f5c72ef016d3ea6679p-10252L : inexact-ok
 = jn towardzero ldbl-128 10 0x4p-1024L : 0x1.27e4fb7789f5c72ef016d3ea6678p-10252L : inexact-ok
 = jn upward ldbl-128 10 0x4p-1024L : 0x1.27e4fb7789f5c72ef016d3ea6679p-10252L : inexact-ok
-= jn downward ldbl-128ibm 10 0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 0x4p-1024L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-intel 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-intel 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-intel 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-intel 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-intel 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-intel 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-intel 10 0x4p-16384L : 0x8p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-m68k 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-m68k 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-m68k 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-m68k 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-m68k 10 0x4p-16384L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 0x4p-16384L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-intel 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-intel 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-intel 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-intel 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-intel 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-intel 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-intel 10 0x2p-16384L : 0x8p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-m68k 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-m68k 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-m68k 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-m68k 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-m68k 10 0x2p-16384L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 0x2p-16384L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 0x8p-972 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
 = jn tonearest ldbl-96-intel 10 0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
@@ -184284,18 +184284,18 @@ jn 10 min missing-errno
 = jn tonearest ldbl-128 10 0x8p-972L : 0x4.9f93edde27d71cbbc05b4fa999e4p-9724L : inexact-ok
 = jn towardzero ldbl-128 10 0x8p-972L : 0x4.9f93edde27d71cbbc05b4fa999ep-9724L : inexact-ok
 = jn upward ldbl-128 10 0x8p-972L : 0x4.9f93edde27d71cbbc05b4fa999e4p-9724L : inexact-ok
-= jn downward ldbl-128ibm 10 0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 0x8p-972L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-jn 10 -min missing-errno
-= jn downward flt-32 10 -0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest flt-32 10 -0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero flt-32 10 -0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+jn 10 -min
+= jn downward flt-32 10 -0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn tonearest flt-32 10 -0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn towardzero flt-32 10 -0x4p-128f : 0x0p+0f : inexact-ok underflow errno-erange
 = jn upward flt-32 10 -0x4p-128f : 0x8p-152f : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 -0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 -0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 -0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 -0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 -0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 -0x4p-128 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 -0x4p-128 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 -0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
 = jn tonearest ldbl-96-intel 10 -0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
@@ -184309,13 +184309,13 @@ jn 10 -min missing-errno
 = jn tonearest ldbl-128 10 -0x4p-128L : 0x1.27e4fb7789f5c72ef016d3ea6679p-1292L : inexact-ok
 = jn towardzero ldbl-128 10 -0x4p-128L : 0x1.27e4fb7789f5c72ef016d3ea6678p-1292L : inexact-ok
 = jn upward ldbl-128 10 -0x4p-128L : 0x1.27e4fb7789f5c72ef016d3ea6679p-1292L : inexact-ok
-= jn downward ldbl-128ibm 10 -0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 -0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 -0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 -0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 -0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 -0x4p-128L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 -0x4p-128L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 -0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 -0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 -0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 -0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 -0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 -0x4p-1024 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 -0x4p-1024 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
 = jn tonearest ldbl-96-intel 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
@@ -184329,37 +184329,37 @@ jn 10 -min missing-errno
 = jn tonearest ldbl-128 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ef016d3ea6679p-10252L : inexact-ok
 = jn towardzero ldbl-128 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ef016d3ea6678p-10252L : inexact-ok
 = jn upward ldbl-128 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ef016d3ea6679p-10252L : inexact-ok
-= jn downward ldbl-128ibm 10 -0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 -0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 -0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 -0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 -0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 -0x4p-1024L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 -0x4p-1024L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-intel 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-intel 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-intel 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-intel 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-intel 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-intel 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-intel 10 -0x4p-16384L : 0x8p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-m68k 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-m68k 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-m68k 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-m68k 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-m68k 10 -0x4p-16384L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 -0x4p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 -0x4p-16384L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-intel 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-intel 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-intel 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-intel 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-intel 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-intel 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-intel 10 -0x2p-16384L : 0x8p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-m68k 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-m68k 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-m68k 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-m68k 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-m68k 10 -0x2p-16384L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 -0x2p-16384L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 -0x2p-16384L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 -0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 -0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 -0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 -0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 -0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 -0x8p-972 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 -0x8p-972 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 -0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
 = jn tonearest ldbl-96-intel 10 -0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
@@ -184373,18 +184373,18 @@ jn 10 -min missing-errno
 = jn tonearest ldbl-128 10 -0x8p-972L : 0x4.9f93edde27d71cbbc05b4fa999e4p-9724L : inexact-ok
 = jn towardzero ldbl-128 10 -0x8p-972L : 0x4.9f93edde27d71cbbc05b4fa999ep-9724L : inexact-ok
 = jn upward ldbl-128 10 -0x8p-972L : 0x4.9f93edde27d71cbbc05b4fa999e4p-9724L : inexact-ok
-= jn downward ldbl-128ibm 10 -0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 -0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 -0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 -0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 -0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 -0x8p-972L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 -0x8p-972L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-jn 10 min_subnorm missing-errno
-= jn downward flt-32 10 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest flt-32 10 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero flt-32 10 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+jn 10 min_subnorm
+= jn downward flt-32 10 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn tonearest flt-32 10 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn towardzero flt-32 10 0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
 = jn upward flt-32 10 0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 0x8p-152 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
 = jn tonearest ldbl-96-intel 10 0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
@@ -184398,13 +184398,13 @@ jn 10 min_subnorm missing-errno
 = jn tonearest ldbl-128 10 0x8p-152L : 0x4.9f93edde27d71cbbc05b4fa999e4p-1524L : inexact-ok
 = jn towardzero ldbl-128 10 0x8p-152L : 0x4.9f93edde27d71cbbc05b4fa999ep-1524L : inexact-ok
 = jn upward ldbl-128 10 0x8p-152L : 0x4.9f93edde27d71cbbc05b4fa999e4p-1524L : inexact-ok
-= jn downward ldbl-128ibm 10 0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 0x8p-152L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
 = jn tonearest ldbl-96-intel 10 0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
@@ -184418,42 +184418,42 @@ jn 10 min_subnorm missing-errno
 = jn tonearest ldbl-128 10 0x4p-1076L : 0x1.27e4fb7789f5c72ef016d3ea6679p-10772L : inexact-ok
 = jn towardzero ldbl-128 10 0x4p-1076L : 0x1.27e4fb7789f5c72ef016d3ea6678p-10772L : inexact-ok
 = jn upward ldbl-128 10 0x4p-1076L : 0x1.27e4fb7789f5c72ef016d3ea6679p-10772L : inexact-ok
-= jn downward ldbl-128ibm 10 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 0x4p-1076L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-intel 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-intel 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-intel 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-intel 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-intel 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-intel 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-intel 10 0x8p-16448L : 0x8p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-m68k 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-m68k 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-m68k 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-m68k 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-m68k 10 0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 0x8p-16448L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-m68k 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-m68k 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-m68k 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-m68k 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-m68k 10 0x4p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 0x4p-16448L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 0x4p-16496L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-jn 10 -min_subnorm missing-errno
-= jn downward flt-32 10 -0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest flt-32 10 -0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero flt-32 10 -0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange errno-erange-ok
+jn 10 -min_subnorm
+= jn downward flt-32 10 -0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn tonearest flt-32 10 -0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
+= jn towardzero flt-32 10 -0x8p-152f : 0x0p+0f : inexact-ok underflow errno-erange
 = jn upward flt-32 10 -0x8p-152f : 0x8p-152f : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 -0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 -0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 -0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 -0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 -0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 -0x8p-152 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 -0x8p-152 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 -0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
 = jn tonearest ldbl-96-intel 10 -0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
@@ -184467,13 +184467,13 @@ jn 10 -min_subnorm missing-errno
 = jn tonearest ldbl-128 10 -0x8p-152L : 0x4.9f93edde27d71cbbc05b4fa999e4p-1524L : inexact-ok
 = jn towardzero ldbl-128 10 -0x8p-152L : 0x4.9f93edde27d71cbbc05b4fa999ep-1524L : inexact-ok
 = jn upward ldbl-128 10 -0x8p-152L : 0x4.9f93edde27d71cbbc05b4fa999e4p-1524L : inexact-ok
-= jn downward ldbl-128ibm 10 -0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 -0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 -0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 -0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 -0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 -0x8p-152L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 -0x8p-152L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn downward dbl-64 10 -0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest dbl-64 10 -0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero dbl-64 10 -0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward dbl-64 10 -0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn tonearest dbl-64 10 -0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
+= jn towardzero dbl-64 10 -0x4p-1076 : 0x0p+0 : inexact-ok underflow errno-erange
 = jn upward dbl-64 10 -0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
 = jn downward ldbl-96-intel 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
 = jn tonearest ldbl-96-intel 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
@@ -184487,33 +184487,33 @@ jn 10 -min_subnorm missing-errno
 = jn tonearest ldbl-128 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ef016d3ea6679p-10772L : inexact-ok
 = jn towardzero ldbl-128 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ef016d3ea6678p-10772L : inexact-ok
 = jn upward ldbl-128 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ef016d3ea6679p-10772L : inexact-ok
-= jn downward ldbl-128ibm 10 -0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128ibm 10 -0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128ibm 10 -0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128ibm 10 -0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128ibm 10 -0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128ibm 10 -0x4p-1076L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128ibm 10 -0x4p-1076L : 0x4p-1076L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-intel 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-intel 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-intel 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-intel 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-intel 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-intel 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-intel 10 -0x8p-16448L : 0x8p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-m68k 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-m68k 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-m68k 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-m68k 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-m68k 10 -0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 -0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 -0x8p-16448L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-96-m68k 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-96-m68k 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-96-m68k 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-96-m68k 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-96-m68k 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-96-m68k 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-96-m68k 10 -0x4p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 -0x4p-16448L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 -0x4p-16448L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
-= jn downward ldbl-128 10 -0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn tonearest ldbl-128 10 -0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
-= jn towardzero ldbl-128 10 -0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange errno-erange-ok
+= jn downward ldbl-128 10 -0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn tonearest ldbl-128 10 -0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
+= jn towardzero ldbl-128 10 -0x4p-16496L : 0x0p+0L : inexact-ok underflow errno-erange
 = jn upward ldbl-128 10 -0x4p-16496L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
 lgamma max
 = lgamma downward flt-32 0xf.fffffp+124f : 0xf.fffffp+124f 1 : inexact-ok overflow errno-erange-ok
index 7f80b3ced0751fac939e8472f900a4c37ea55536..4827fbf3d39bec50b396edfb8a5d152f4e3da25f 100644 (file)
@@ -127,8 +127,10 @@ __ieee754_j1 (double x)
     {
       if (huge + x > one)                 /* inexact if x!=0 necessary */
        {
-         double ret = 0.5 * x;
+         double ret = math_narrow_eval (0.5 * x);
          math_check_force_underflow (ret);
+         if (ret == 0 && x != 0)
+           __set_errno (ERANGE);
          return ret;
        }
     }
index d6ab0bced5af2bc56243e86db9f7dba58583dfeb..3fecf82f10fa00e2cf95fb8503844140f68b1748 100644 (file)
@@ -243,9 +243,13 @@ __ieee754_jn (int n, double x)
       ret = -b;
     else
       ret = b;
+    ret = math_narrow_eval (ret);
   }
   if (ret == 0)
-    ret = __copysign (DBL_MIN, ret) * DBL_MIN;
+    {
+      ret = math_narrow_eval (__copysign (DBL_MIN, ret) * DBL_MIN);
+      __set_errno (ERANGE);
+    }
   else
     math_check_force_underflow (ret);
   return ret;
index e24024f22e8b9b29d943ac8263d873824e845ec5..f359a3d9ba6bf55074c000936d2190250d52ae76 100644 (file)
@@ -71,8 +71,10 @@ __ieee754_j1f(float x)
        }
        if(__builtin_expect(ix<0x32000000, 0)) {        /* |x|<2**-27 */
            if(huge+x>one) {            /* inexact if x!=0 necessary */
-               float ret = (float) 0.5 * x;
+               float ret = math_narrow_eval ((float) 0.5 * x);
                math_check_force_underflow (ret);
+               if (ret == 0 && x != 0)
+                 __set_errno (ERANGE);
                return ret;
            }
        }
index d18922aa05852a5de68d6a3b3969a6b290222f72..4e634778d32ddcdf8efb278b7899444708457423 100644 (file)
@@ -167,9 +167,13 @@ __ieee754_jnf(int n, float x)
            }
        }
        if(sgn==1) ret = -b; else ret = b;
+       ret = math_narrow_eval (ret);
     }
     if (ret == 0)
-       ret = __copysignf (FLT_MIN, ret) * FLT_MIN;
+      {
+       ret = math_narrow_eval (__copysignf (FLT_MIN, ret) * FLT_MIN);
+       __set_errno (ERANGE);
+      }
     else
        math_check_force_underflow (ret);
     return ret;
index 70ecf5eae34f8f67f7f4fd979f137dcbf9dc71ac..f5b04c073d0f4c51233fbb7490a89ab352a44b6d 100644 (file)
@@ -701,6 +701,8 @@ __ieee754_j1l (long double x)
     {
       long double ret = x * 0.5L;
       math_check_force_underflow (ret);
+      if (ret == 0)
+       __set_errno (ERANGE);
       return ret;
     }
   if (xx <= 2.0L)
index ee5a16b62e8466f4b983a0d147723591d0e6cb65..98669e6e3ec1cfa9fddd875a83195fb558c7e0f4 100644 (file)
@@ -296,7 +296,10 @@ __ieee754_jnl (int n, long double x)
       ret = b;
   }
   if (ret == 0)
-    ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+    {
+      ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+      __set_errno (ERANGE);
+    }
   else
     math_check_force_underflow (ret);
   return ret;
index c33bc19d091e895de055027fda3bc2c6c460509e..4a8ccb044e6a3def61f8152b2d73c68ddf1a54fc 100644 (file)
@@ -296,7 +296,10 @@ __ieee754_jnl (int n, long double x)
       ret = b;
   }
   if (ret == 0)
-    ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+    {
+      ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+      __set_errno (ERANGE);
+    }
   else
     math_check_force_underflow (ret);
   return ret;
index 1bca949e5a2dfa956bf0aeda26111485bb9a4a55..e8a7349cf44715abac3f022b16798f95a4e5298e 100644 (file)
@@ -155,6 +155,8 @@ __ieee754_j1l (long double x)
        {
          long double ret = 0.5 * x;
          math_check_force_underflow (ret);
+         if (ret == 0 && x != 0)
+           __set_errno (ERANGE);
          return ret;
        }
     }
index ed2068b5e287ee54a0f38a0012de56fb0d1afe59..92f96921a7cbc44de51756e948980ea01cfac37c 100644 (file)
@@ -289,7 +289,10 @@ __ieee754_jnl (int n, long double x)
       ret = b;
   }
   if (ret == 0)
-    ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+    {
+      ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+      __set_errno (ERANGE);
+    }
   else
     math_check_force_underflow (ret);
   return ret;