GNU C Library master sources branch master updated. glibc-2.22-456-gc643db8

jsm28@sourceware.org jsm28@sourceware.org
Fri Oct 23 21:38:00 GMT 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  c643db8792102d1a2efad109f58139977d8608d6 (commit)
      from  846d9a4a3acdb4939ca7bf6aed48f9f6f26911be (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c643db8792102d1a2efad109f58139977d8608d6

commit c643db8792102d1a2efad109f58139977d8608d6
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Oct 23 21:37:33 2015 +0000

    Fix j1, jn missing errno setting on underflow (bug 18611).
    
    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.

diff --git a/ChangeLog b/ChangeLog
index ab42228..5e7ac83 100644
--- 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 77534b9..e1d34e8 100644
--- 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
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 3d7143f..b5308e3 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -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
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 91c27ee..cda8c65 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -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
diff --git a/sysdeps/ieee754/dbl-64/e_j1.c b/sysdeps/ieee754/dbl-64/e_j1.c
index 7f80b3c..4827fbf 100644
--- a/sysdeps/ieee754/dbl-64/e_j1.c
+++ b/sysdeps/ieee754/dbl-64/e_j1.c
@@ -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;
 	}
     }
diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
index d6ab0bc..3fecf82 100644
--- a/sysdeps/ieee754/dbl-64/e_jn.c
+++ b/sysdeps/ieee754/dbl-64/e_jn.c
@@ -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;
diff --git a/sysdeps/ieee754/flt-32/e_j1f.c b/sysdeps/ieee754/flt-32/e_j1f.c
index e24024f..f359a3d 100644
--- a/sysdeps/ieee754/flt-32/e_j1f.c
+++ b/sysdeps/ieee754/flt-32/e_j1f.c
@@ -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;
 	    }
 	}
diff --git a/sysdeps/ieee754/flt-32/e_jnf.c b/sysdeps/ieee754/flt-32/e_jnf.c
index d18922a..4e63477 100644
--- a/sysdeps/ieee754/flt-32/e_jnf.c
+++ b/sysdeps/ieee754/flt-32/e_jnf.c
@@ -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;
diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c
index 70ecf5e..f5b04c0 100644
--- a/sysdeps/ieee754/ldbl-128/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j1l.c
@@ -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)
diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
index ee5a16b..98669e6 100644
--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
@@ -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;
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
index c33bc19..4a8ccb0 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
@@ -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;
diff --git a/sysdeps/ieee754/ldbl-96/e_j1l.c b/sysdeps/ieee754/ldbl-96/e_j1l.c
index 1bca949..e8a7349 100644
--- a/sysdeps/ieee754/ldbl-96/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-96/e_j1l.c
@@ -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;
 	}
     }
diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
index ed2068b..92f9692 100644
--- a/sysdeps/ieee754/ldbl-96/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
@@ -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;

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                           |   18 ++
 NEWS                                |   18 +-
 math/auto-libm-test-in              |   27 +--
 math/auto-libm-test-out             |  456 +++++++++++++++++-----------------
 sysdeps/ieee754/dbl-64/e_j1.c       |    4 +-
 sysdeps/ieee754/dbl-64/e_jn.c       |    6 +-
 sysdeps/ieee754/flt-32/e_j1f.c      |    4 +-
 sysdeps/ieee754/flt-32/e_jnf.c      |    6 +-
 sysdeps/ieee754/ldbl-128/e_j1l.c    |    2 +
 sysdeps/ieee754/ldbl-128/e_jnl.c    |    5 +-
 sysdeps/ieee754/ldbl-128ibm/e_jnl.c |    5 +-
 sysdeps/ieee754/ldbl-96/e_j1l.c     |    2 +
 sysdeps/ieee754/ldbl-96/e_jnl.c     |    5 +-
 13 files changed, 299 insertions(+), 259 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources



More information about the Glibc-cvs mailing list