This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.21-544-g63dbe5f


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  63dbe5f32238858c7b953b867ed0588c7808dd4f (commit)
      from  31545c23277cd54a1edd41c85d8255fb589158e3 (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=63dbe5f32238858c7b953b867ed0588c7808dd4f

commit 63dbe5f32238858c7b953b867ed0588c7808dd4f
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Jun 29 16:52:16 2015 +0000

    Fix j1, jn missing underflows (bug 16559).
    
    Similar to various other bugs in this area, j1 and jn implementations
    can fail to raise the underflow exception when the internal
    computation is exact although the actual function is inexact.  This
    patch forces the exception in a similar way to other such fixes.  (The
    ldbl-128 / ldbl-128ibm j1l implementation is different and doesn't
    need a change for this until spurious underflows in it are fixed.)
    
    Tested for x86_64, x86, mips64 and powerpc.
    
    	[BZ #16559]
    	* sysdeps/ieee754/dbl-64/e_j1.c: Include <float.h>.
    	(__ieee754_j1): Force underflow exception for small results.
    	* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
    	* sysdeps/ieee754/flt-32/e_j1f.c: Include <float.h>.
    	(__ieee754_j1f): Force underflow exception for small results.
    	* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise.
    	* 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: Include <float.h>.
    	(__ieee754_j1l): Force underflow exception for small results.
    	* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
    	* math/auto-libm-test-in: Add more tests of j1 and jn.
    	* math/auto-libm-test-out: Regenerated.

diff --git a/ChangeLog b/ChangeLog
index c6f0e49..cd03015 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
 2015-06-29  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #16559]
+	* sysdeps/ieee754/dbl-64/e_j1.c: Include <float.h>.
+	(__ieee754_j1): Force underflow exception for small results.
+	* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
+	* sysdeps/ieee754/flt-32/e_j1f.c: Include <float.h>.
+	(__ieee754_j1f): Force underflow exception for small results.
+	* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise.
+	* 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: Include <float.h>.
+	(__ieee754_j1l): Force underflow exception for small results.
+	* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
+	* math/auto-libm-test-in: Add more tests of j1 and jn.
+	* math/auto-libm-test-out: Regenerated.
+
 	* sysdeps/unix/sysv/linux/bits/in.h (IP_CHECKSUM): New macro.
 	* sysdeps/unix/sysv/linux/bits/socket.h (PF_IB): Likewise.
 	(PF_MPLS): Likewise.
diff --git a/NEWS b/NEWS
index 6bfb822..c454e91 100644
--- a/NEWS
+++ b/NEWS
@@ -11,21 +11,21 @@ Version 2.22
 
   438, 4719, 6792, 13028, 13064, 14094, 14841, 14906, 14958, 15319, 15467,
   15790, 15969, 16159, 16339, 16350, 16351, 16352, 16353, 16361, 16512,
-  16526, 16538, 16560, 16704, 16783, 16850, 17053, 17090, 17195, 17269,
-  17293, 17322, 17403, 17523, 17542, 17569, 17581, 17588, 17596, 17620,
-  17621, 17628, 17631, 17692, 17711, 17715, 17776, 17779, 17792, 17836,
-  17841, 17912, 17916, 17930, 17932, 17944, 17949, 17964, 17965, 17967,
-  17969, 17977, 17978, 17987, 17991, 17996, 17998, 17999, 18007, 18019,
-  18020, 18029, 18030, 18032, 18034, 18036, 18038, 18039, 18042, 18043,
-  18046, 18047, 18049, 18068, 18080, 18093, 18100, 18104, 18110, 18111,
-  18116, 18125, 18128, 18138, 18185, 18196, 18197, 18206, 18210, 18211,
-  18217, 18219, 18220, 18221, 18234, 18244, 18245, 18247, 18287, 18319,
-  18324, 18333, 18346, 18371, 18397, 18409, 18410, 18412, 18418, 18422,
-  18434, 18444, 18468, 18469, 18470, 18479, 18483, 18495, 18496, 18497,
-  18498, 18502, 18507, 18512, 18513, 18519, 18520, 18522, 18527, 18528,
-  18529, 18530, 18532, 18533, 18534, 18536, 18539, 18540, 18542, 18544,
-  18545, 18546, 18547, 18549, 18553, 18558, 18569, 18583, 18585, 18586,
-  18593, 18594, 18602.
+  16526, 16538, 16559, 16560, 16704, 16783, 16850, 17053, 17090, 17195,
+  17269, 17293, 17322, 17403, 17523, 17542, 17569, 17581, 17588, 17596,
+  17620, 17621, 17628, 17631, 17692, 17711, 17715, 17776, 17779, 17792,
+  17836, 17841, 17912, 17916, 17930, 17932, 17944, 17949, 17964, 17965,
+  17967, 17969, 17977, 17978, 17987, 17991, 17996, 17998, 17999, 18007,
+  18019, 18020, 18029, 18030, 18032, 18034, 18036, 18038, 18039, 18042,
+  18043, 18046, 18047, 18049, 18068, 18080, 18093, 18100, 18104, 18110,
+  18111, 18116, 18125, 18128, 18138, 18185, 18196, 18197, 18206, 18210,
+  18211, 18217, 18219, 18220, 18221, 18234, 18244, 18245, 18247, 18287,
+  18319, 18324, 18333, 18346, 18371, 18397, 18409, 18410, 18412, 18418,
+  18422, 18434, 18444, 18468, 18469, 18470, 18479, 18483, 18495, 18496,
+  18497, 18498, 18502, 18507, 18512, 18513, 18519, 18520, 18522, 18527,
+  18528, 18529, 18530, 18532, 18533, 18534, 18536, 18539, 18540, 18542,
+  18544, 18545, 18546, 18547, 18549, 18553, 18558, 18569, 18583, 18585,
+  18586, 18593, 18594, 18602.
 
 * Cache information can be queried via sysconf() function on s390 e.g. with
   _SC_LEVEL1_ICACHE_SIZE as argument.
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 75cf545..34b02c9 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -1812,6 +1812,11 @@ j1 0x1.ff00000000002p+840
 j1 0x1p1023
 j1 0x1p16382
 j1 0x1p16383
+# 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
 
 # jn (0, x) == j0 (x).
 jn 0 -1.0
@@ -1836,6 +1841,11 @@ 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 3 -1.0
 jn 3 0.0
@@ -1867,6 +1877,12 @@ jn 2 0x1p127
 jn 2 0x1p1023
 jn 2 0x1p16383
 
+# 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
+
 lgamma max
 lgamma 1
 lgamma 3
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 4482329..8ae005d 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -142437,6 +142437,322 @@ j1 0x1p16383
 = j1 tonearest ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : -0x5.34b8be56c9cb044a0ef191b026p-516L : inexact-ok
 = j1 towardzero ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : -0x5.34b8be56c9cb044a0ef191b024p-516L : inexact-ok
 = j1 upward ldbl-128ibm 0xf.ffffffffffffbffffffffffffcp+1020L : -0x5.34b8be56c9cb044a0ef191b024p-516L : inexact-ok
+j1 min missing-errno
+= 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
+= j1 upward flt-32 0x4p-128f : 0x2p-128f : inexact-ok underflow errno-erange-ok
+= j1 downward dbl-64 0x4p-128 : 0x1.fffffffffffffp-128 : inexact-ok
+= j1 tonearest dbl-64 0x4p-128 : 0x2p-128 : inexact-ok
+= j1 towardzero dbl-64 0x4p-128 : 0x1.fffffffffffffp-128 : inexact-ok
+= j1 upward dbl-64 0x4p-128 : 0x2p-128 : inexact-ok
+= j1 downward ldbl-96-intel 0x4p-128L : 0x1.fffffffffffffffep-128L : inexact-ok
+= j1 tonearest ldbl-96-intel 0x4p-128L : 0x2p-128L : inexact-ok
+= j1 towardzero ldbl-96-intel 0x4p-128L : 0x1.fffffffffffffffep-128L : inexact-ok
+= j1 upward ldbl-96-intel 0x4p-128L : 0x2p-128L : inexact-ok
+= j1 downward ldbl-96-m68k 0x4p-128L : 0x1.fffffffffffffffep-128L : inexact-ok
+= j1 tonearest ldbl-96-m68k 0x4p-128L : 0x2p-128L : inexact-ok
+= j1 towardzero ldbl-96-m68k 0x4p-128L : 0x1.fffffffffffffffep-128L : inexact-ok
+= j1 upward ldbl-96-m68k 0x4p-128L : 0x2p-128L : inexact-ok
+= j1 downward ldbl-128 0x4p-128L : 0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok
+= j1 tonearest ldbl-128 0x4p-128L : 0x2p-128L : inexact-ok
+= j1 towardzero ldbl-128 0x4p-128L : 0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok
+= j1 upward ldbl-128 0x4p-128L : 0x2p-128L : inexact-ok
+= j1 downward ldbl-128ibm 0x4p-128L : 0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok
+= j1 tonearest ldbl-128ibm 0x4p-128L : 0x2p-128L : inexact-ok
+= j1 towardzero ldbl-128ibm 0x4p-128L : 0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok
+= j1 upward ldbl-128ibm 0x4p-128L : 0x2p-128L : inexact-ok
+= j1 downward dbl-64 0x4p-1024 : 0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok
+= j1 tonearest dbl-64 0x4p-1024 : 0x2p-1024 : inexact-ok underflow errno-erange-ok
+= j1 towardzero dbl-64 0x4p-1024 : 0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok
+= j1 upward dbl-64 0x4p-1024 : 0x2p-1024 : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-intel 0x4p-1024L : 0x1.fffffffffffffffep-1024L : inexact-ok
+= j1 tonearest ldbl-96-intel 0x4p-1024L : 0x2p-1024L : inexact-ok
+= j1 towardzero ldbl-96-intel 0x4p-1024L : 0x1.fffffffffffffffep-1024L : inexact-ok
+= j1 upward ldbl-96-intel 0x4p-1024L : 0x2p-1024L : inexact-ok
+= j1 downward ldbl-96-m68k 0x4p-1024L : 0x1.fffffffffffffffep-1024L : inexact-ok
+= j1 tonearest ldbl-96-m68k 0x4p-1024L : 0x2p-1024L : inexact-ok
+= j1 towardzero ldbl-96-m68k 0x4p-1024L : 0x1.fffffffffffffffep-1024L : inexact-ok
+= j1 upward ldbl-96-m68k 0x4p-1024L : 0x2p-1024L : inexact-ok
+= j1 downward ldbl-128 0x4p-1024L : 0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok
+= j1 tonearest ldbl-128 0x4p-1024L : 0x2p-1024L : inexact-ok
+= j1 towardzero ldbl-128 0x4p-1024L : 0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok
+= j1 upward ldbl-128 0x4p-1024L : 0x2p-1024L : inexact-ok
+= j1 downward ldbl-128ibm 0x4p-1024L : 0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-128ibm 0x4p-1024L : 0x2p-1024L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-128ibm 0x4p-1024L : 0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-128ibm 0x4p-1024L : 0x2p-1024L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-intel 0x4p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-96-intel 0x4p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-96-intel 0x4p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-96-intel 0x4p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-m68k 0x4p-16384L : 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= j1 tonearest ldbl-96-m68k 0x4p-16384L : 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= j1 towardzero ldbl-96-m68k 0x4p-16384L : 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= j1 upward ldbl-96-m68k 0x4p-16384L : 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= j1 downward ldbl-128 0x4p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-128 0x4p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-128 0x4p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-128 0x4p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-intel 0x2p-16384L : 0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-96-intel 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-96-intel 0x2p-16384L : 0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-96-intel 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-m68k 0x2p-16384L : 0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-96-m68k 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-96-m68k 0x2p-16384L : 0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-96-m68k 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-128 0x2p-16384L : 0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-128 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-128 0x2p-16384L : 0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-128 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 downward dbl-64 0x8p-972 : 0x3.ffffffffffffep-972 : inexact-ok
+= j1 tonearest dbl-64 0x8p-972 : 0x4p-972 : inexact-ok
+= j1 towardzero dbl-64 0x8p-972 : 0x3.ffffffffffffep-972 : inexact-ok
+= j1 upward dbl-64 0x8p-972 : 0x4p-972 : inexact-ok
+= j1 downward ldbl-96-intel 0x8p-972L : 0x3.fffffffffffffffcp-972L : inexact-ok
+= j1 tonearest ldbl-96-intel 0x8p-972L : 0x4p-972L : inexact-ok
+= j1 towardzero ldbl-96-intel 0x8p-972L : 0x3.fffffffffffffffcp-972L : inexact-ok
+= j1 upward ldbl-96-intel 0x8p-972L : 0x4p-972L : inexact-ok
+= j1 downward ldbl-96-m68k 0x8p-972L : 0x3.fffffffffffffffcp-972L : inexact-ok
+= j1 tonearest ldbl-96-m68k 0x8p-972L : 0x4p-972L : inexact-ok
+= j1 towardzero ldbl-96-m68k 0x8p-972L : 0x3.fffffffffffffffcp-972L : inexact-ok
+= j1 upward ldbl-96-m68k 0x8p-972L : 0x4p-972L : inexact-ok
+= j1 downward ldbl-128 0x8p-972L : 0x3.fffffffffffffffffffffffffffep-972L : inexact-ok
+= j1 tonearest ldbl-128 0x8p-972L : 0x4p-972L : inexact-ok
+= j1 towardzero ldbl-128 0x8p-972L : 0x3.fffffffffffffffffffffffffffep-972L : inexact-ok
+= j1 upward ldbl-128 0x8p-972L : 0x4p-972L : inexact-ok
+= j1 downward ldbl-128ibm 0x8p-972L : 0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok
+= 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 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
+= j1 upward flt-32 -0x4p-128f : -0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok
+= j1 downward dbl-64 -0x4p-128 : -0x2p-128 : inexact-ok
+= j1 tonearest dbl-64 -0x4p-128 : -0x2p-128 : inexact-ok
+= j1 towardzero dbl-64 -0x4p-128 : -0x1.fffffffffffffp-128 : inexact-ok
+= j1 upward dbl-64 -0x4p-128 : -0x1.fffffffffffffp-128 : inexact-ok
+= j1 downward ldbl-96-intel -0x4p-128L : -0x2p-128L : inexact-ok
+= j1 tonearest ldbl-96-intel -0x4p-128L : -0x2p-128L : inexact-ok
+= j1 towardzero ldbl-96-intel -0x4p-128L : -0x1.fffffffffffffffep-128L : inexact-ok
+= j1 upward ldbl-96-intel -0x4p-128L : -0x1.fffffffffffffffep-128L : inexact-ok
+= j1 downward ldbl-96-m68k -0x4p-128L : -0x2p-128L : inexact-ok
+= j1 tonearest ldbl-96-m68k -0x4p-128L : -0x2p-128L : inexact-ok
+= j1 towardzero ldbl-96-m68k -0x4p-128L : -0x1.fffffffffffffffep-128L : inexact-ok
+= j1 upward ldbl-96-m68k -0x4p-128L : -0x1.fffffffffffffffep-128L : inexact-ok
+= j1 downward ldbl-128 -0x4p-128L : -0x2p-128L : inexact-ok
+= j1 tonearest ldbl-128 -0x4p-128L : -0x2p-128L : inexact-ok
+= j1 towardzero ldbl-128 -0x4p-128L : -0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok
+= j1 upward ldbl-128 -0x4p-128L : -0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok
+= j1 downward ldbl-128ibm -0x4p-128L : -0x2p-128L : inexact-ok
+= j1 tonearest ldbl-128ibm -0x4p-128L : -0x2p-128L : inexact-ok
+= j1 towardzero ldbl-128ibm -0x4p-128L : -0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok
+= j1 upward ldbl-128ibm -0x4p-128L : -0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok
+= j1 downward dbl-64 -0x4p-1024 : -0x2p-1024 : inexact-ok underflow errno-erange-ok
+= j1 tonearest dbl-64 -0x4p-1024 : -0x2p-1024 : inexact-ok underflow errno-erange-ok
+= j1 towardzero dbl-64 -0x4p-1024 : -0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok
+= j1 upward dbl-64 -0x4p-1024 : -0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-intel -0x4p-1024L : -0x2p-1024L : inexact-ok
+= j1 tonearest ldbl-96-intel -0x4p-1024L : -0x2p-1024L : inexact-ok
+= j1 towardzero ldbl-96-intel -0x4p-1024L : -0x1.fffffffffffffffep-1024L : inexact-ok
+= j1 upward ldbl-96-intel -0x4p-1024L : -0x1.fffffffffffffffep-1024L : inexact-ok
+= j1 downward ldbl-96-m68k -0x4p-1024L : -0x2p-1024L : inexact-ok
+= j1 tonearest ldbl-96-m68k -0x4p-1024L : -0x2p-1024L : inexact-ok
+= j1 towardzero ldbl-96-m68k -0x4p-1024L : -0x1.fffffffffffffffep-1024L : inexact-ok
+= j1 upward ldbl-96-m68k -0x4p-1024L : -0x1.fffffffffffffffep-1024L : inexact-ok
+= j1 downward ldbl-128 -0x4p-1024L : -0x2p-1024L : inexact-ok
+= j1 tonearest ldbl-128 -0x4p-1024L : -0x2p-1024L : inexact-ok
+= j1 towardzero ldbl-128 -0x4p-1024L : -0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok
+= j1 upward ldbl-128 -0x4p-1024L : -0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok
+= j1 downward ldbl-128ibm -0x4p-1024L : -0x2p-1024L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-128ibm -0x4p-1024L : -0x2p-1024L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-128ibm -0x4p-1024L : -0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-128ibm -0x4p-1024L : -0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-intel -0x4p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-96-intel -0x4p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-96-intel -0x4p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-96-intel -0x4p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-m68k -0x4p-16384L : -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= j1 tonearest ldbl-96-m68k -0x4p-16384L : -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= j1 towardzero ldbl-96-m68k -0x4p-16384L : -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= j1 upward ldbl-96-m68k -0x4p-16384L : -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= j1 downward ldbl-128 -0x4p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-128 -0x4p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-128 -0x4p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-128 -0x4p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-intel -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-96-intel -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-96-intel -0x2p-16384L : -0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-96-intel -0x2p-16384L : -0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-96-m68k -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-96-m68k -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-96-m68k -0x2p-16384L : -0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-96-m68k -0x2p-16384L : -0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-128 -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 tonearest ldbl-128 -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= j1 towardzero ldbl-128 -0x2p-16384L : -0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-128 -0x2p-16384L : -0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= j1 downward dbl-64 -0x8p-972 : -0x4p-972 : inexact-ok
+= j1 tonearest dbl-64 -0x8p-972 : -0x4p-972 : inexact-ok
+= j1 towardzero dbl-64 -0x8p-972 : -0x3.ffffffffffffep-972 : inexact-ok
+= j1 upward dbl-64 -0x8p-972 : -0x3.ffffffffffffep-972 : inexact-ok
+= j1 downward ldbl-96-intel -0x8p-972L : -0x4p-972L : inexact-ok
+= j1 tonearest ldbl-96-intel -0x8p-972L : -0x4p-972L : inexact-ok
+= j1 towardzero ldbl-96-intel -0x8p-972L : -0x3.fffffffffffffffcp-972L : inexact-ok
+= j1 upward ldbl-96-intel -0x8p-972L : -0x3.fffffffffffffffcp-972L : inexact-ok
+= j1 downward ldbl-96-m68k -0x8p-972L : -0x4p-972L : inexact-ok
+= j1 tonearest ldbl-96-m68k -0x8p-972L : -0x4p-972L : inexact-ok
+= j1 towardzero ldbl-96-m68k -0x8p-972L : -0x3.fffffffffffffffcp-972L : inexact-ok
+= j1 upward ldbl-96-m68k -0x8p-972L : -0x3.fffffffffffffffcp-972L : inexact-ok
+= j1 downward ldbl-128 -0x8p-972L : -0x4p-972L : inexact-ok
+= j1 tonearest ldbl-128 -0x8p-972L : -0x4p-972L : inexact-ok
+= j1 towardzero ldbl-128 -0x8p-972L : -0x3.fffffffffffffffffffffffffffep-972L : inexact-ok
+= j1 upward ldbl-128 -0x8p-972L : -0x3.fffffffffffffffffffffffffffep-972L : inexact-ok
+= j1 downward ldbl-128ibm -0x8p-972L : -0x4p-972L : inexact-ok underflow errno-erange-ok
+= 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 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
+= j1 towardzero dbl-64 0x8p-152 : 0x3.ffffffffffffep-152 : inexact-ok
+= j1 upward dbl-64 0x8p-152 : 0x4p-152 : inexact-ok
+= j1 downward ldbl-96-intel 0x8p-152L : 0x3.fffffffffffffffcp-152L : inexact-ok
+= j1 tonearest ldbl-96-intel 0x8p-152L : 0x4p-152L : inexact-ok
+= j1 towardzero ldbl-96-intel 0x8p-152L : 0x3.fffffffffffffffcp-152L : inexact-ok
+= j1 upward ldbl-96-intel 0x8p-152L : 0x4p-152L : inexact-ok
+= j1 downward ldbl-96-m68k 0x8p-152L : 0x3.fffffffffffffffcp-152L : inexact-ok
+= j1 tonearest ldbl-96-m68k 0x8p-152L : 0x4p-152L : inexact-ok
+= j1 towardzero ldbl-96-m68k 0x8p-152L : 0x3.fffffffffffffffcp-152L : inexact-ok
+= j1 upward ldbl-96-m68k 0x8p-152L : 0x4p-152L : inexact-ok
+= j1 downward ldbl-128 0x8p-152L : 0x3.fffffffffffffffffffffffffffep-152L : inexact-ok
+= j1 tonearest ldbl-128 0x8p-152L : 0x4p-152L : inexact-ok
+= j1 towardzero ldbl-128 0x8p-152L : 0x3.fffffffffffffffffffffffffffep-152L : inexact-ok
+= j1 upward ldbl-128 0x8p-152L : 0x4p-152L : inexact-ok
+= j1 downward ldbl-128ibm 0x8p-152L : 0x3.ffffffffffffffffffffffffffp-152L : inexact-ok
+= 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 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
+= j1 towardzero ldbl-96-intel 0x4p-1076L : 0x1.fffffffffffffffep-1076L : inexact-ok
+= j1 upward ldbl-96-intel 0x4p-1076L : 0x2p-1076L : inexact-ok
+= j1 downward ldbl-96-m68k 0x4p-1076L : 0x1.fffffffffffffffep-1076L : inexact-ok
+= j1 tonearest ldbl-96-m68k 0x4p-1076L : 0x2p-1076L : inexact-ok
+= j1 towardzero ldbl-96-m68k 0x4p-1076L : 0x1.fffffffffffffffep-1076L : inexact-ok
+= j1 upward ldbl-96-m68k 0x4p-1076L : 0x2p-1076L : inexact-ok
+= j1 downward ldbl-128 0x4p-1076L : 0x1.ffffffffffffffffffffffffffffp-1076L : inexact-ok
+= 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 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 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
+= j1 towardzero ldbl-96-m68k 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange-ok
+= j1 upward ldbl-96-m68k 0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-128 0x8p-16448L : 0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
+= 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 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 upward ldbl-128 0x4p-16496L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
+j1 -min_subnorm missing-errno
+= 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 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
+= j1 upward dbl-64 -0x8p-152 : -0x3.ffffffffffffep-152 : inexact-ok
+= j1 downward ldbl-96-intel -0x8p-152L : -0x4p-152L : inexact-ok
+= j1 tonearest ldbl-96-intel -0x8p-152L : -0x4p-152L : inexact-ok
+= j1 towardzero ldbl-96-intel -0x8p-152L : -0x3.fffffffffffffffcp-152L : inexact-ok
+= j1 upward ldbl-96-intel -0x8p-152L : -0x3.fffffffffffffffcp-152L : inexact-ok
+= j1 downward ldbl-96-m68k -0x8p-152L : -0x4p-152L : inexact-ok
+= j1 tonearest ldbl-96-m68k -0x8p-152L : -0x4p-152L : inexact-ok
+= j1 towardzero ldbl-96-m68k -0x8p-152L : -0x3.fffffffffffffffcp-152L : inexact-ok
+= j1 upward ldbl-96-m68k -0x8p-152L : -0x3.fffffffffffffffcp-152L : inexact-ok
+= j1 downward ldbl-128 -0x8p-152L : -0x4p-152L : inexact-ok
+= j1 tonearest ldbl-128 -0x8p-152L : -0x4p-152L : inexact-ok
+= j1 towardzero ldbl-128 -0x8p-152L : -0x3.fffffffffffffffffffffffffffep-152L : inexact-ok
+= j1 upward ldbl-128 -0x8p-152L : -0x3.fffffffffffffffffffffffffffep-152L : inexact-ok
+= j1 downward ldbl-128ibm -0x8p-152L : -0x4p-152L : inexact-ok
+= 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 : -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 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
+= j1 upward ldbl-96-intel -0x4p-1076L : -0x1.fffffffffffffffep-1076L : inexact-ok
+= j1 downward ldbl-96-m68k -0x4p-1076L : -0x2p-1076L : inexact-ok
+= j1 tonearest ldbl-96-m68k -0x4p-1076L : -0x2p-1076L : inexact-ok
+= j1 towardzero ldbl-96-m68k -0x4p-1076L : -0x1.fffffffffffffffep-1076L : inexact-ok
+= j1 upward ldbl-96-m68k -0x4p-1076L : -0x1.fffffffffffffffep-1076L : inexact-ok
+= j1 downward ldbl-128 -0x4p-1076L : -0x2p-1076L : inexact-ok
+= 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 : -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 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 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
+= j1 upward ldbl-96-m68k -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange-ok
+= j1 downward ldbl-128 -0x8p-16448L : -0x4p-16448L : inexact-ok underflow errno-erange-ok
+= 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 : -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 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
 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
@@ -142937,6 +143253,322 @@ 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 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
+= jn upward flt-32 1 0x4p-128f : 0x2p-128f : inexact-ok underflow errno-erange-ok
+= jn downward dbl-64 1 0x4p-128 : 0x1.fffffffffffffp-128 : inexact-ok
+= jn tonearest dbl-64 1 0x4p-128 : 0x2p-128 : inexact-ok
+= jn towardzero dbl-64 1 0x4p-128 : 0x1.fffffffffffffp-128 : inexact-ok
+= jn upward dbl-64 1 0x4p-128 : 0x2p-128 : inexact-ok
+= jn downward ldbl-96-intel 1 0x4p-128L : 0x1.fffffffffffffffep-128L : inexact-ok
+= jn tonearest ldbl-96-intel 1 0x4p-128L : 0x2p-128L : inexact-ok
+= jn towardzero ldbl-96-intel 1 0x4p-128L : 0x1.fffffffffffffffep-128L : inexact-ok
+= jn upward ldbl-96-intel 1 0x4p-128L : 0x2p-128L : inexact-ok
+= jn downward ldbl-96-m68k 1 0x4p-128L : 0x1.fffffffffffffffep-128L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 0x4p-128L : 0x2p-128L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 0x4p-128L : 0x1.fffffffffffffffep-128L : inexact-ok
+= jn upward ldbl-96-m68k 1 0x4p-128L : 0x2p-128L : inexact-ok
+= jn downward ldbl-128 1 0x4p-128L : 0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok
+= jn tonearest ldbl-128 1 0x4p-128L : 0x2p-128L : inexact-ok
+= jn towardzero ldbl-128 1 0x4p-128L : 0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok
+= jn upward ldbl-128 1 0x4p-128L : 0x2p-128L : inexact-ok
+= jn downward ldbl-128ibm 1 0x4p-128L : 0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok
+= jn tonearest ldbl-128ibm 1 0x4p-128L : 0x2p-128L : inexact-ok
+= jn towardzero ldbl-128ibm 1 0x4p-128L : 0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok
+= jn upward ldbl-128ibm 1 0x4p-128L : 0x2p-128L : inexact-ok
+= jn downward dbl-64 1 0x4p-1024 : 0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok
+= jn tonearest dbl-64 1 0x4p-1024 : 0x2p-1024 : inexact-ok underflow errno-erange-ok
+= jn towardzero dbl-64 1 0x4p-1024 : 0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok
+= jn upward dbl-64 1 0x4p-1024 : 0x2p-1024 : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-intel 1 0x4p-1024L : 0x1.fffffffffffffffep-1024L : inexact-ok
+= jn tonearest ldbl-96-intel 1 0x4p-1024L : 0x2p-1024L : inexact-ok
+= jn towardzero ldbl-96-intel 1 0x4p-1024L : 0x1.fffffffffffffffep-1024L : inexact-ok
+= jn upward ldbl-96-intel 1 0x4p-1024L : 0x2p-1024L : inexact-ok
+= jn downward ldbl-96-m68k 1 0x4p-1024L : 0x1.fffffffffffffffep-1024L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 0x4p-1024L : 0x2p-1024L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 0x4p-1024L : 0x1.fffffffffffffffep-1024L : inexact-ok
+= jn upward ldbl-96-m68k 1 0x4p-1024L : 0x2p-1024L : inexact-ok
+= jn downward ldbl-128 1 0x4p-1024L : 0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok
+= jn tonearest ldbl-128 1 0x4p-1024L : 0x2p-1024L : inexact-ok
+= jn towardzero ldbl-128 1 0x4p-1024L : 0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok
+= jn upward ldbl-128 1 0x4p-1024L : 0x2p-1024L : inexact-ok
+= jn downward ldbl-128ibm 1 0x4p-1024L : 0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-128ibm 1 0x4p-1024L : 0x2p-1024L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-128ibm 1 0x4p-1024L : 0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-128ibm 1 0x4p-1024L : 0x2p-1024L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-intel 1 0x4p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-96-intel 1 0x4p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-96-intel 1 0x4p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-96-intel 1 0x4p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-m68k 1 0x4p-16384L : 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= jn tonearest ldbl-96-m68k 1 0x4p-16384L : 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= jn towardzero ldbl-96-m68k 1 0x4p-16384L : 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= jn upward ldbl-96-m68k 1 0x4p-16384L : 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= jn downward ldbl-128 1 0x4p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-128 1 0x4p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-128 1 0x4p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-128 1 0x4p-16384L : 0x2p-16384L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-intel 1 0x2p-16384L : 0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-96-intel 1 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-96-intel 1 0x2p-16384L : 0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-96-intel 1 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-m68k 1 0x2p-16384L : 0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-96-m68k 1 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-96-m68k 1 0x2p-16384L : 0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-96-m68k 1 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-128 1 0x2p-16384L : 0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-128 1 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-128 1 0x2p-16384L : 0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-128 1 0x2p-16384L : 0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn downward dbl-64 1 0x8p-972 : 0x3.ffffffffffffep-972 : inexact-ok
+= jn tonearest dbl-64 1 0x8p-972 : 0x4p-972 : inexact-ok
+= jn towardzero dbl-64 1 0x8p-972 : 0x3.ffffffffffffep-972 : inexact-ok
+= jn upward dbl-64 1 0x8p-972 : 0x4p-972 : inexact-ok
+= jn downward ldbl-96-intel 1 0x8p-972L : 0x3.fffffffffffffffcp-972L : inexact-ok
+= jn tonearest ldbl-96-intel 1 0x8p-972L : 0x4p-972L : inexact-ok
+= jn towardzero ldbl-96-intel 1 0x8p-972L : 0x3.fffffffffffffffcp-972L : inexact-ok
+= jn upward ldbl-96-intel 1 0x8p-972L : 0x4p-972L : inexact-ok
+= jn downward ldbl-96-m68k 1 0x8p-972L : 0x3.fffffffffffffffcp-972L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 0x8p-972L : 0x4p-972L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 0x8p-972L : 0x3.fffffffffffffffcp-972L : inexact-ok
+= jn upward ldbl-96-m68k 1 0x8p-972L : 0x4p-972L : inexact-ok
+= jn downward ldbl-128 1 0x8p-972L : 0x3.fffffffffffffffffffffffffffep-972L : inexact-ok
+= jn tonearest ldbl-128 1 0x8p-972L : 0x4p-972L : inexact-ok
+= jn towardzero ldbl-128 1 0x8p-972L : 0x3.fffffffffffffffffffffffffffep-972L : inexact-ok
+= jn upward ldbl-128 1 0x8p-972L : 0x4p-972L : inexact-ok
+= jn downward ldbl-128ibm 1 0x8p-972L : 0x3.fffffffffffffffffffffffffcp-972L : inexact-ok underflow errno-erange-ok
+= 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 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
+= jn upward flt-32 1 -0x4p-128f : -0x1.fffff8p-128f : inexact-ok underflow errno-erange-ok
+= jn downward dbl-64 1 -0x4p-128 : -0x2p-128 : inexact-ok
+= jn tonearest dbl-64 1 -0x4p-128 : -0x2p-128 : inexact-ok
+= jn towardzero dbl-64 1 -0x4p-128 : -0x1.fffffffffffffp-128 : inexact-ok
+= jn upward dbl-64 1 -0x4p-128 : -0x1.fffffffffffffp-128 : inexact-ok
+= jn downward ldbl-96-intel 1 -0x4p-128L : -0x2p-128L : inexact-ok
+= jn tonearest ldbl-96-intel 1 -0x4p-128L : -0x2p-128L : inexact-ok
+= jn towardzero ldbl-96-intel 1 -0x4p-128L : -0x1.fffffffffffffffep-128L : inexact-ok
+= jn upward ldbl-96-intel 1 -0x4p-128L : -0x1.fffffffffffffffep-128L : inexact-ok
+= jn downward ldbl-96-m68k 1 -0x4p-128L : -0x2p-128L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 -0x4p-128L : -0x2p-128L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 -0x4p-128L : -0x1.fffffffffffffffep-128L : inexact-ok
+= jn upward ldbl-96-m68k 1 -0x4p-128L : -0x1.fffffffffffffffep-128L : inexact-ok
+= jn downward ldbl-128 1 -0x4p-128L : -0x2p-128L : inexact-ok
+= jn tonearest ldbl-128 1 -0x4p-128L : -0x2p-128L : inexact-ok
+= jn towardzero ldbl-128 1 -0x4p-128L : -0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok
+= jn upward ldbl-128 1 -0x4p-128L : -0x1.ffffffffffffffffffffffffffffp-128L : inexact-ok
+= jn downward ldbl-128ibm 1 -0x4p-128L : -0x2p-128L : inexact-ok
+= jn tonearest ldbl-128ibm 1 -0x4p-128L : -0x2p-128L : inexact-ok
+= jn towardzero ldbl-128ibm 1 -0x4p-128L : -0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok
+= jn upward ldbl-128ibm 1 -0x4p-128L : -0x1.ffffffffffffffffffffffffff8p-128L : inexact-ok
+= jn downward dbl-64 1 -0x4p-1024 : -0x2p-1024 : inexact-ok underflow errno-erange-ok
+= jn tonearest dbl-64 1 -0x4p-1024 : -0x2p-1024 : inexact-ok underflow errno-erange-ok
+= jn towardzero dbl-64 1 -0x4p-1024 : -0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok
+= jn upward dbl-64 1 -0x4p-1024 : -0x1.ffffffffffffcp-1024 : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-intel 1 -0x4p-1024L : -0x2p-1024L : inexact-ok
+= jn tonearest ldbl-96-intel 1 -0x4p-1024L : -0x2p-1024L : inexact-ok
+= jn towardzero ldbl-96-intel 1 -0x4p-1024L : -0x1.fffffffffffffffep-1024L : inexact-ok
+= jn upward ldbl-96-intel 1 -0x4p-1024L : -0x1.fffffffffffffffep-1024L : inexact-ok
+= jn downward ldbl-96-m68k 1 -0x4p-1024L : -0x2p-1024L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 -0x4p-1024L : -0x2p-1024L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 -0x4p-1024L : -0x1.fffffffffffffffep-1024L : inexact-ok
+= jn upward ldbl-96-m68k 1 -0x4p-1024L : -0x1.fffffffffffffffep-1024L : inexact-ok
+= jn downward ldbl-128 1 -0x4p-1024L : -0x2p-1024L : inexact-ok
+= jn tonearest ldbl-128 1 -0x4p-1024L : -0x2p-1024L : inexact-ok
+= jn towardzero ldbl-128 1 -0x4p-1024L : -0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok
+= jn upward ldbl-128 1 -0x4p-1024L : -0x1.ffffffffffffffffffffffffffffp-1024L : inexact-ok
+= jn downward ldbl-128ibm 1 -0x4p-1024L : -0x2p-1024L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-128ibm 1 -0x4p-1024L : -0x2p-1024L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-128ibm 1 -0x4p-1024L : -0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-128ibm 1 -0x4p-1024L : -0x1.ffffffffffffcp-1024L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-intel 1 -0x4p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-96-intel 1 -0x4p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-96-intel 1 -0x4p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-96-intel 1 -0x4p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-m68k 1 -0x4p-16384L : -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= jn tonearest ldbl-96-m68k 1 -0x4p-16384L : -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= jn towardzero ldbl-96-m68k 1 -0x4p-16384L : -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= jn upward ldbl-96-m68k 1 -0x4p-16384L : -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= jn downward ldbl-128 1 -0x4p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-128 1 -0x4p-16384L : -0x2p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-128 1 -0x4p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-128 1 -0x4p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-intel 1 -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-96-intel 1 -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-96-intel 1 -0x2p-16384L : -0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-96-intel 1 -0x2p-16384L : -0xf.ffffffffffffff8p-16388L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-96-m68k 1 -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-96-m68k 1 -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-96-m68k 1 -0x2p-16384L : -0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-96-m68k 1 -0x2p-16384L : -0xf.ffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-128 1 -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn tonearest ldbl-128 1 -0x2p-16384L : -0x1p-16384L : inexact-ok underflow errno-erange-ok
+= jn towardzero ldbl-128 1 -0x2p-16384L : -0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-128 1 -0x2p-16384L : -0xf.ffffffffffffffffffffffffffcp-16388L : inexact-ok underflow errno-erange-ok
+= jn downward dbl-64 1 -0x8p-972 : -0x4p-972 : inexact-ok
+= jn tonearest dbl-64 1 -0x8p-972 : -0x4p-972 : inexact-ok
+= jn towardzero dbl-64 1 -0x8p-972 : -0x3.ffffffffffffep-972 : inexact-ok
+= jn upward dbl-64 1 -0x8p-972 : -0x3.ffffffffffffep-972 : inexact-ok
+= jn downward ldbl-96-intel 1 -0x8p-972L : -0x4p-972L : inexact-ok
+= jn tonearest ldbl-96-intel 1 -0x8p-972L : -0x4p-972L : inexact-ok
+= jn towardzero ldbl-96-intel 1 -0x8p-972L : -0x3.fffffffffffffffcp-972L : inexact-ok
+= jn upward ldbl-96-intel 1 -0x8p-972L : -0x3.fffffffffffffffcp-972L : inexact-ok
+= jn downward ldbl-96-m68k 1 -0x8p-972L : -0x4p-972L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 -0x8p-972L : -0x4p-972L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 -0x8p-972L : -0x3.fffffffffffffffcp-972L : inexact-ok
+= jn upward ldbl-96-m68k 1 -0x8p-972L : -0x3.fffffffffffffffcp-972L : inexact-ok
+= jn downward ldbl-128 1 -0x8p-972L : -0x4p-972L : inexact-ok
+= jn tonearest ldbl-128 1 -0x8p-972L : -0x4p-972L : inexact-ok
+= jn towardzero ldbl-128 1 -0x8p-972L : -0x3.fffffffffffffffffffffffffffep-972L : inexact-ok
+= jn upward ldbl-128 1 -0x8p-972L : -0x3.fffffffffffffffffffffffffffep-972L : inexact-ok
+= jn downward ldbl-128ibm 1 -0x8p-972L : -0x4p-972L : inexact-ok underflow errno-erange-ok
+= 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 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
+= jn towardzero dbl-64 1 0x8p-152 : 0x3.ffffffffffffep-152 : inexact-ok
+= jn upward dbl-64 1 0x8p-152 : 0x4p-152 : inexact-ok
+= jn downward ldbl-96-intel 1 0x8p-152L : 0x3.fffffffffffffffcp-152L : inexact-ok
+= jn tonearest ldbl-96-intel 1 0x8p-152L : 0x4p-152L : inexact-ok
+= jn towardzero ldbl-96-intel 1 0x8p-152L : 0x3.fffffffffffffffcp-152L : inexact-ok
+= jn upward ldbl-96-intel 1 0x8p-152L : 0x4p-152L : inexact-ok
+= jn downward ldbl-96-m68k 1 0x8p-152L : 0x3.fffffffffffffffcp-152L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 0x8p-152L : 0x4p-152L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 0x8p-152L : 0x3.fffffffffffffffcp-152L : inexact-ok
+= jn upward ldbl-96-m68k 1 0x8p-152L : 0x4p-152L : inexact-ok
+= jn downward ldbl-128 1 0x8p-152L : 0x3.fffffffffffffffffffffffffffep-152L : inexact-ok
+= jn tonearest ldbl-128 1 0x8p-152L : 0x4p-152L : inexact-ok
+= jn towardzero ldbl-128 1 0x8p-152L : 0x3.fffffffffffffffffffffffffffep-152L : inexact-ok
+= jn upward ldbl-128 1 0x8p-152L : 0x4p-152L : inexact-ok
+= jn downward ldbl-128ibm 1 0x8p-152L : 0x3.ffffffffffffffffffffffffffp-152L : inexact-ok
+= 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 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
+= jn towardzero ldbl-96-intel 1 0x4p-1076L : 0x1.fffffffffffffffep-1076L : inexact-ok
+= jn upward ldbl-96-intel 1 0x4p-1076L : 0x2p-1076L : inexact-ok
+= jn downward ldbl-96-m68k 1 0x4p-1076L : 0x1.fffffffffffffffep-1076L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 0x4p-1076L : 0x2p-1076L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 0x4p-1076L : 0x1.fffffffffffffffep-1076L : inexact-ok
+= jn upward ldbl-96-m68k 1 0x4p-1076L : 0x2p-1076L : inexact-ok
+= jn downward ldbl-128 1 0x4p-1076L : 0x1.ffffffffffffffffffffffffffffp-1076L : inexact-ok
+= 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 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 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
+= jn towardzero ldbl-96-m68k 1 0x8p-16448L : 0x0p+0L : inexact-ok underflow errno-erange-ok
+= jn upward ldbl-96-m68k 1 0x8p-16448L : 0x4p-16448L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-128 1 0x8p-16448L : 0x3.fffffffffffcp-16448L : inexact-ok underflow errno-erange-ok
+= 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 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 upward ldbl-128 1 0x4p-16496L : 0x4p-16496L : inexact-ok underflow errno-erange-ok
+jn 1 -min_subnorm missing-errno
+= 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 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
+= jn upward dbl-64 1 -0x8p-152 : -0x3.ffffffffffffep-152 : inexact-ok
+= jn downward ldbl-96-intel 1 -0x8p-152L : -0x4p-152L : inexact-ok
+= jn tonearest ldbl-96-intel 1 -0x8p-152L : -0x4p-152L : inexact-ok
+= jn towardzero ldbl-96-intel 1 -0x8p-152L : -0x3.fffffffffffffffcp-152L : inexact-ok
+= jn upward ldbl-96-intel 1 -0x8p-152L : -0x3.fffffffffffffffcp-152L : inexact-ok
+= jn downward ldbl-96-m68k 1 -0x8p-152L : -0x4p-152L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 -0x8p-152L : -0x4p-152L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 -0x8p-152L : -0x3.fffffffffffffffcp-152L : inexact-ok
+= jn upward ldbl-96-m68k 1 -0x8p-152L : -0x3.fffffffffffffffcp-152L : inexact-ok
+= jn downward ldbl-128 1 -0x8p-152L : -0x4p-152L : inexact-ok
+= jn tonearest ldbl-128 1 -0x8p-152L : -0x4p-152L : inexact-ok
+= jn towardzero ldbl-128 1 -0x8p-152L : -0x3.fffffffffffffffffffffffffffep-152L : inexact-ok
+= jn upward ldbl-128 1 -0x8p-152L : -0x3.fffffffffffffffffffffffffffep-152L : inexact-ok
+= jn downward ldbl-128ibm 1 -0x8p-152L : -0x4p-152L : inexact-ok
+= 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 : -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 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
+= jn upward ldbl-96-intel 1 -0x4p-1076L : -0x1.fffffffffffffffep-1076L : inexact-ok
+= jn downward ldbl-96-m68k 1 -0x4p-1076L : -0x2p-1076L : inexact-ok
+= jn tonearest ldbl-96-m68k 1 -0x4p-1076L : -0x2p-1076L : inexact-ok
+= jn towardzero ldbl-96-m68k 1 -0x4p-1076L : -0x1.fffffffffffffffep-1076L : inexact-ok
+= jn upward ldbl-96-m68k 1 -0x4p-1076L : -0x1.fffffffffffffffep-1076L : inexact-ok
+= jn downward ldbl-128 1 -0x4p-1076L : -0x2p-1076L : inexact-ok
+= 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 : -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 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 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
+= jn upward ldbl-96-m68k 1 -0x8p-16448L : -0x0p+0L : inexact-ok underflow errno-erange-ok
+= jn downward ldbl-128 1 -0x8p-16448L : -0x4p-16448L : inexact-ok underflow errno-erange-ok
+= 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 : -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 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 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
@@ -144607,6 +145239,322 @@ jn 2 0x1p16383
 = jn tonearest ldbl-128ibm 2 0xf.ffffffffffffbffffffffffffcp+1020L : 0xb.a80d0ee91ce259a722e1f01904p-516L : inexact-ok
 = jn towardzero ldbl-128ibm 2 0xf.ffffffffffffbffffffffffffcp+1020L : 0xb.a80d0ee91ce259a722e1f019p-516L : inexact-ok
 = jn upward ldbl-128ibm 2 0xf.ffffffffffffbffffffffffffcp+1020L : 0xb.a80d0ee91ce259a722e1f01904p-516L : 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 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 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
+= jn towardzero ldbl-96-intel 10 0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
+= jn upward ldbl-96-intel 10 0x4p-128L : 0x1.27e4fb7789f5c73p-1292L : inexact-ok
+= jn downward ldbl-96-m68k 10 0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
+= jn upward ldbl-96-m68k 10 0x4p-128L : 0x1.27e4fb7789f5c73p-1292L : inexact-ok
+= jn downward ldbl-128 10 0x4p-128L : 0x1.27e4fb7789f5c72ef016d3ea6678p-1292L : inexact-ok
+= 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 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 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
+= jn towardzero ldbl-96-intel 10 0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
+= jn upward ldbl-96-intel 10 0x4p-1024L : 0x1.27e4fb7789f5c73p-10252L : inexact-ok
+= jn downward ldbl-96-m68k 10 0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
+= jn upward ldbl-96-m68k 10 0x4p-1024L : 0x1.27e4fb7789f5c73p-10252L : inexact-ok
+= jn downward ldbl-128 10 0x4p-1024L : 0x1.27e4fb7789f5c72ef016d3ea6678p-10252L : inexact-ok
+= 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 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 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 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 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 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 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 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 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
+= jn towardzero ldbl-96-intel 10 0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
+= jn upward ldbl-96-intel 10 0x8p-972L : 0x4.9f93edde27d71ccp-9724L : inexact-ok
+= jn downward ldbl-96-m68k 10 0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
+= jn upward ldbl-96-m68k 10 0x8p-972L : 0x4.9f93edde27d71ccp-9724L : inexact-ok
+= jn downward ldbl-128 10 0x8p-972L : 0x4.9f93edde27d71cbbc05b4fa999ep-9724L : inexact-ok
+= 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 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 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 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
+= jn towardzero ldbl-96-intel 10 -0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
+= jn upward ldbl-96-intel 10 -0x4p-128L : 0x1.27e4fb7789f5c73p-1292L : inexact-ok
+= jn downward ldbl-96-m68k 10 -0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 -0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 -0x4p-128L : 0x1.27e4fb7789f5c72ep-1292L : inexact-ok
+= jn upward ldbl-96-m68k 10 -0x4p-128L : 0x1.27e4fb7789f5c73p-1292L : inexact-ok
+= jn downward ldbl-128 10 -0x4p-128L : 0x1.27e4fb7789f5c72ef016d3ea6678p-1292L : inexact-ok
+= 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 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 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
+= jn towardzero ldbl-96-intel 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
+= jn upward ldbl-96-intel 10 -0x4p-1024L : 0x1.27e4fb7789f5c73p-10252L : inexact-ok
+= jn downward ldbl-96-m68k 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ep-10252L : inexact-ok
+= jn upward ldbl-96-m68k 10 -0x4p-1024L : 0x1.27e4fb7789f5c73p-10252L : inexact-ok
+= jn downward ldbl-128 10 -0x4p-1024L : 0x1.27e4fb7789f5c72ef016d3ea6678p-10252L : inexact-ok
+= 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 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 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 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 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 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 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 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 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
+= jn towardzero ldbl-96-intel 10 -0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
+= jn upward ldbl-96-intel 10 -0x8p-972L : 0x4.9f93edde27d71ccp-9724L : inexact-ok
+= jn downward ldbl-96-m68k 10 -0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 -0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 -0x8p-972L : 0x4.9f93edde27d71cb8p-9724L : inexact-ok
+= jn upward ldbl-96-m68k 10 -0x8p-972L : 0x4.9f93edde27d71ccp-9724L : inexact-ok
+= jn downward ldbl-128 10 -0x8p-972L : 0x4.9f93edde27d71cbbc05b4fa999ep-9724L : inexact-ok
+= 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 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 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 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
+= jn towardzero ldbl-96-intel 10 0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
+= jn upward ldbl-96-intel 10 0x8p-152L : 0x4.9f93edde27d71ccp-1524L : inexact-ok
+= jn downward ldbl-96-m68k 10 0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
+= jn upward ldbl-96-m68k 10 0x8p-152L : 0x4.9f93edde27d71ccp-1524L : inexact-ok
+= jn downward ldbl-128 10 0x8p-152L : 0x4.9f93edde27d71cbbc05b4fa999ep-1524L : inexact-ok
+= 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 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 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
+= jn towardzero ldbl-96-intel 10 0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
+= jn upward ldbl-96-intel 10 0x4p-1076L : 0x1.27e4fb7789f5c73p-10772L : inexact-ok
+= jn downward ldbl-96-m68k 10 0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
+= jn upward ldbl-96-m68k 10 0x4p-1076L : 0x1.27e4fb7789f5c73p-10772L : inexact-ok
+= jn downward ldbl-128 10 0x4p-1076L : 0x1.27e4fb7789f5c72ef016d3ea6678p-10772L : inexact-ok
+= 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 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 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 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 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 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 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 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 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 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
+= jn towardzero ldbl-96-intel 10 -0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
+= jn upward ldbl-96-intel 10 -0x8p-152L : 0x4.9f93edde27d71ccp-1524L : inexact-ok
+= jn downward ldbl-96-m68k 10 -0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 -0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 -0x8p-152L : 0x4.9f93edde27d71cb8p-1524L : inexact-ok
+= jn upward ldbl-96-m68k 10 -0x8p-152L : 0x4.9f93edde27d71ccp-1524L : inexact-ok
+= jn downward ldbl-128 10 -0x8p-152L : 0x4.9f93edde27d71cbbc05b4fa999ep-1524L : inexact-ok
+= 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 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 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
+= jn towardzero ldbl-96-intel 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
+= jn upward ldbl-96-intel 10 -0x4p-1076L : 0x1.27e4fb7789f5c73p-10772L : inexact-ok
+= jn downward ldbl-96-m68k 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
+= jn tonearest ldbl-96-m68k 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
+= jn towardzero ldbl-96-m68k 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ep-10772L : inexact-ok
+= jn upward ldbl-96-m68k 10 -0x4p-1076L : 0x1.27e4fb7789f5c73p-10772L : inexact-ok
+= jn downward ldbl-128 10 -0x4p-1076L : 0x1.27e4fb7789f5c72ef016d3ea6678p-10772L : inexact-ok
+= 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 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 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 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 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 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 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 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
 = lgamma tonearest flt-32 0xf.fffffp+124f : plus_infty 1 : inexact-ok overflow errno-erange
diff --git a/sysdeps/ieee754/dbl-64/e_j1.c b/sysdeps/ieee754/dbl-64/e_j1.c
index 653f33a..26ffdfe 100644
--- a/sysdeps/ieee754/dbl-64/e_j1.c
+++ b/sysdeps/ieee754/dbl-64/e_j1.c
@@ -59,6 +59,7 @@
  */
 
 #include <errno.h>
+#include <float.h>
 #include <math.h>
 #include <math_private.h>
 
@@ -124,8 +125,16 @@ __ieee754_j1 (double x)
     }
   if (__glibc_unlikely (ix < 0x3e400000))                  /* |x|<2**-27 */
     {
-      if (huge + x > one)
-	return 0.5 * x;                 /* inexact if x!=0 necessary */
+      if (huge + x > one)                 /* inexact if x!=0 necessary */
+	{
+	  double ret = 0.5 * x;
+	  if (fabs (ret) < DBL_MIN)
+	    {
+	      double force_underflow = ret * ret;
+	      math_force_eval (force_underflow);
+	    }
+	  return ret;
+	}
     }
   z = x * x;
   r1 = z * R[0]; z2 = z * z;
diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c
index b0ddd5e..ccef2dc 100644
--- a/sysdeps/ieee754/dbl-64/e_jn.c
+++ b/sysdeps/ieee754/dbl-64/e_jn.c
@@ -246,6 +246,11 @@ __ieee754_jn (int n, double x)
   }
   if (ret == 0)
     ret = __copysign (DBL_MIN, ret) * DBL_MIN;
+  else if (fabs (ret) < DBL_MIN)
+    {
+      double force_underflow = ret * ret;
+      math_force_eval (force_underflow);
+    }
   return ret;
 }
 strong_alias (__ieee754_jn, __jn_finite)
diff --git a/sysdeps/ieee754/flt-32/e_j1f.c b/sysdeps/ieee754/flt-32/e_j1f.c
index 7ffb57e..63de21f 100644
--- a/sysdeps/ieee754/flt-32/e_j1f.c
+++ b/sysdeps/ieee754/flt-32/e_j1f.c
@@ -14,6 +14,7 @@
  */
 
 #include <errno.h>
+#include <float.h>
 #include <math.h>
 #include <math_private.h>
 
@@ -69,7 +70,14 @@ __ieee754_j1f(float x)
 		else	 return  z;
 	}
 	if(__builtin_expect(ix<0x32000000, 0)) {	/* |x|<2**-27 */
-	    if(huge+x>one) return (float)0.5*x;/* inexact if x!=0 necessary */
+	    if(huge+x>one) {		/* inexact if x!=0 necessary */
+		float ret = (float) 0.5 * x;
+		if (fabsf (ret) < FLT_MIN) {
+		    float force_underflow = ret * ret;
+		    math_force_eval (force_underflow);
+		}
+		return ret;
+	    }
 	}
 	z = x*x;
 	r =  z*(r00+z*(r01+z*(r02+z*r03)));
diff --git a/sysdeps/ieee754/flt-32/e_jnf.c b/sysdeps/ieee754/flt-32/e_jnf.c
index ec5a81b..44a3761 100644
--- a/sysdeps/ieee754/flt-32/e_jnf.c
+++ b/sysdeps/ieee754/flt-32/e_jnf.c
@@ -170,6 +170,10 @@ __ieee754_jnf(int n, float x)
     }
     if (ret == 0)
 	ret = __copysignf (FLT_MIN, ret) * FLT_MIN;
+    else if (fabsf (ret) < FLT_MIN) {
+	float force_underflow = ret * ret;
+	math_force_eval (force_underflow);
+    }
     return ret;
 }
 strong_alias (__ieee754_jnf, __jnf_finite)
diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
index 14d65ff..a419994 100644
--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
@@ -297,6 +297,11 @@ __ieee754_jnl (int n, long double x)
   }
   if (ret == 0)
     ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+  else if (fabsl (ret) < LDBL_MIN)
+    {
+      long double force_underflow = ret * ret;
+      math_force_eval (force_underflow);
+    }
   return ret;
 }
 strong_alias (__ieee754_jnl, __jnl_finite)
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
index 5d0a2b5..7594196 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_jnl.c
@@ -297,6 +297,11 @@ __ieee754_jnl (int n, long double x)
   }
   if (ret == 0)
     ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+  else if (fabsl (ret) < LDBL_MIN)
+    {
+      long double force_underflow = ret * ret;
+      math_force_eval (force_underflow);
+    }
   return ret;
 }
 strong_alias (__ieee754_jnl, __jnl_finite)
diff --git a/sysdeps/ieee754/ldbl-96/e_j1l.c b/sysdeps/ieee754/ldbl-96/e_j1l.c
index 1bd5499..46e28df 100644
--- a/sysdeps/ieee754/ldbl-96/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-96/e_j1l.c
@@ -72,6 +72,7 @@
  */
 
 #include <errno.h>
+#include <float.h>
 #include <math.h>
 #include <math_private.h>
 
@@ -150,8 +151,16 @@ __ieee754_j1l (long double x)
     }
   if (__glibc_unlikely (ix < 0x3fde))       /* |x| < 2^-33 */
     {
-      if (huge + x > one)
-	return 0.5 * x;		/* inexact if x!=0 necessary */
+      if (huge + x > one)		/* inexact if x!=0 necessary */
+	{
+	  long double ret = 0.5 * x;
+	  if (fabsl (ret) < LDBL_MIN)
+	    {
+	      long double force_underflow = ret * ret;
+	      math_force_eval (force_underflow);
+	    }
+	  return ret;
+	}
     }
   z = x * x;
   r = z * (R[0] + z * (R[1]+ z * (R[2] + z * (R[3] + z * R[4]))));
diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
index 49c9c42..2f3a452 100644
--- a/sysdeps/ieee754/ldbl-96/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
@@ -290,6 +290,11 @@ __ieee754_jnl (int n, long double x)
   }
   if (ret == 0)
     ret = __copysignl (LDBL_MIN, ret) * LDBL_MIN;
+  else if (fabsl (ret) < LDBL_MIN)
+    {
+      long double force_underflow = ret * ret;
+      math_force_eval (force_underflow);
+    }
   return ret;
 }
 strong_alias (__ieee754_jnl, __jnl_finite)

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

Summary of changes:
 ChangeLog                           |   15 +
 NEWS                                |   30 +-
 math/auto-libm-test-in              |   16 +
 math/auto-libm-test-out             |  948 +++++++++++++++++++++++++++++++++++
 sysdeps/ieee754/dbl-64/e_j1.c       |   13 +-
 sysdeps/ieee754/dbl-64/e_jn.c       |    5 +
 sysdeps/ieee754/flt-32/e_j1f.c      |   10 +-
 sysdeps/ieee754/flt-32/e_jnf.c      |    4 +
 sysdeps/ieee754/ldbl-128/e_jnl.c    |    5 +
 sysdeps/ieee754/ldbl-128ibm/e_jnl.c |    5 +
 sysdeps/ieee754/ldbl-96/e_j1l.c     |   13 +-
 sysdeps/ieee754/ldbl-96/e_jnl.c     |    5 +
 12 files changed, 1049 insertions(+), 20 deletions(-)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]