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.18-650-g2dec468


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  2dec468fd82c6d968f622c2c519fcb8dc09bddac (commit)
      from  4d84e6addd62bdc256627af334ba85489112e008 (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=2dec468fd82c6d968f622c2c519fcb8dc09bddac

commit 2dec468fd82c6d968f622c2c519fcb8dc09bddac
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Dec 18 11:38:27 2013 +0000

    Fix ldbl-128 logl for subnormals (bug 16338).
    
    This patch fixes bug 16338, ldbl-128 logl not handling subnormals
    (with consequent inaccuracy for lgammal as well).  The fix is simply
    to use __frexpl when determining the exponent, as done already in
    log2l and log10l.  Given the lack of testing of small arguments to any
    of the log* functions, appropriate tests are added for all of them.
    
    Tested x86_64 and x86 and ulps updated accordingly, and spot tests
    also run for mips64 to confirm the ldbl-128 fix.
    
    Note that while this fixes lgammal inaccuracy for small positive
    arguments, I suspect that there will still be problems with spurious
    underflows in that case.
    
    	* sysdeps/ieee754/ldbl-128/e_logl.c (__ieee754_logl): Use __frexpl
    	to determine exponent and adjust argument to have exponent of -1.
    	* math/auto-libm-test-in: Add more tests of log, log10, log1p and
    	log2.
    	* math/auto-libm-test-out: Regenerated.
    	* sysdeps/x86_64/fpu/libm-test-ulps: Update.

diff --git a/ChangeLog b/ChangeLog
index 84bf75e..0990137 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2013-12-18  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #16338]
+	* sysdeps/ieee754/ldbl-128/e_logl.c (__ieee754_logl): Use __frexpl
+	to determine exponent and adjust argument to have exponent of -1.
+	* math/auto-libm-test-in: Add more tests of log, log10, log1p and
+	log2.
+	* math/auto-libm-test-out: Regenerated.
+	* sysdeps/i386/fpu/libm-test-ulps: Update.
+	* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
+
 2013-12-18  OndÅ?ej Bílka  <neleai@seznam.cz>
 
 	* manual/probes.texi: Remove cases when per-thread arenas are
diff --git a/NEWS b/NEWS
index 7886834..fa19722 100644
--- a/NEWS
+++ b/NEWS
@@ -22,7 +22,7 @@ Version 2.19
   15988, 15997, 16032, 16034, 16036, 16037, 16038, 16041, 16055, 16071,
   16072, 16074, 16077, 16078, 16103, 16112, 16143, 16144, 16146, 16150,
   16151, 16153, 16167, 16172, 16195, 16214, 16245, 16271, 16274, 16283,
-  16289, 16314, 16316, 16330.
+  16289, 16314, 16316, 16330, 16338.
 
 * The public headers no longer use __unused nor __block.  This change is to
   support compiling programs that are derived from BSD sources and use
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index dd4fd22..30e1ec6 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -414,6 +414,8 @@ log 1/e
 log 2
 log 10
 log 0.75
+log min
+log min_subnorm
 
 log10 1
 log10 0.1
@@ -422,12 +424,19 @@ log10 100.0
 log10 10000.0
 log10 e
 log10 0.75
+log10 min
+log10 min_subnorm
 
 log1p 0
 log1p -0
 log1p e-1
 log1p -0.25
 log1p -0.875
+# Bug 16339: underflow exception may be missing.
+log1p min missing-underflow
+log1p min_subnorm missing-underflow
+log1p -min missing-underflow
+log1p -min_subnorm missing-underflow
 
 log2 1
 log2 e
@@ -435,6 +444,8 @@ log2 2.0
 log2 16.0
 log2 256.0
 log2 0.75
+log2 min
+log2 min_subnorm
 
 pow 0 0
 pow 0 -0
diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out
index 7076b68..ff55c14 100644
--- a/math/auto-libm-test-out
+++ b/math/auto-libm-test-out
@@ -26059,6 +26059,164 @@ log 0.75
 = log tonearest ldbl-128ibm 0xcp-4L : -0x4.9a58844d36e49e0efadd9db02ap-4L : inexact-ok
 = log towardzero ldbl-128ibm 0xcp-4L : -0x4.9a58844d36e49e0efadd9db02ap-4L : inexact-ok
 = log upward ldbl-128ibm 0xcp-4L : -0x4.9a58844d36e49e0efadd9db02ap-4L : inexact-ok
+log min
+= log downward flt-32 0x4p-128f : -0x5.75628p+4f : inexact-ok
+= log tonearest flt-32 0x4p-128f : -0x5.75628p+4f : inexact-ok
+= log towardzero flt-32 0x4p-128f : -0x5.756278p+4f : inexact-ok
+= log upward flt-32 0x4p-128f : -0x5.756278p+4f : inexact-ok
+= log downward dbl-64 0x4p-128 : -0x5.75627cbf9442p+4 : inexact-ok
+= log tonearest dbl-64 0x4p-128 : -0x5.75627cbf9441cp+4 : inexact-ok
+= log towardzero dbl-64 0x4p-128 : -0x5.75627cbf9441cp+4 : inexact-ok
+= log upward dbl-64 0x4p-128 : -0x5.75627cbf9441cp+4 : inexact-ok
+= log downward ldbl-96-intel 0x4p-128L : -0x5.75627cbf9441de3p+4L : inexact-ok
+= log tonearest ldbl-96-intel 0x4p-128L : -0x5.75627cbf9441de28p+4L : inexact-ok
+= log towardzero ldbl-96-intel 0x4p-128L : -0x5.75627cbf9441de28p+4L : inexact-ok
+= log upward ldbl-96-intel 0x4p-128L : -0x5.75627cbf9441de28p+4L : inexact-ok
+= log downward ldbl-96-m68k 0x4p-128L : -0x5.75627cbf9441de3p+4L : inexact-ok
+= log tonearest ldbl-96-m68k 0x4p-128L : -0x5.75627cbf9441de28p+4L : inexact-ok
+= log towardzero ldbl-96-m68k 0x4p-128L : -0x5.75627cbf9441de28p+4L : inexact-ok
+= log upward ldbl-96-m68k 0x4p-128L : -0x5.75627cbf9441de28p+4L : inexact-ok
+= log downward ldbl-128 0x4p-128L : -0x5.75627cbf9441de28d5e1264d1f1cp+4L : inexact-ok
+= log tonearest ldbl-128 0x4p-128L : -0x5.75627cbf9441de28d5e1264d1f18p+4L : inexact-ok
+= log towardzero ldbl-128 0x4p-128L : -0x5.75627cbf9441de28d5e1264d1f18p+4L : inexact-ok
+= log upward ldbl-128 0x4p-128L : -0x5.75627cbf9441de28d5e1264d1f18p+4L : inexact-ok
+= log downward ldbl-128ibm 0x4p-128L : -0x5.75627cbf9441de28d5e1264d2p+4L : inexact-ok
+= log tonearest ldbl-128ibm 0x4p-128L : -0x5.75627cbf9441de28d5e1264d2p+4L : inexact-ok
+= log towardzero ldbl-128ibm 0x4p-128L : -0x5.75627cbf9441de28d5e1264d1ep+4L : inexact-ok
+= log upward ldbl-128ibm 0x4p-128L : -0x5.75627cbf9441de28d5e1264d1ep+4L : inexact-ok
+= log downward dbl-64 0x4p-1024 : -0x2.c4657baf579a6p+8 : inexact-ok
+= log tonearest dbl-64 0x4p-1024 : -0x2.c4657baf579a4p+8 : inexact-ok
+= log towardzero dbl-64 0x4p-1024 : -0x2.c4657baf579a4p+8 : inexact-ok
+= log upward dbl-64 0x4p-1024 : -0x2.c4657baf579a4p+8 : inexact-ok
+= log downward ldbl-96-intel 0x4p-1024L : -0x2.c4657baf579a47bcp+8L : inexact-ok
+= log tonearest ldbl-96-intel 0x4p-1024L : -0x2.c4657baf579a47bcp+8L : inexact-ok
+= log towardzero ldbl-96-intel 0x4p-1024L : -0x2.c4657baf579a47b8p+8L : inexact-ok
+= log upward ldbl-96-intel 0x4p-1024L : -0x2.c4657baf579a47b8p+8L : inexact-ok
+= log downward ldbl-96-m68k 0x4p-1024L : -0x2.c4657baf579a47bcp+8L : inexact-ok
+= log tonearest ldbl-96-m68k 0x4p-1024L : -0x2.c4657baf579a47bcp+8L : inexact-ok
+= log towardzero ldbl-96-m68k 0x4p-1024L : -0x2.c4657baf579a47b8p+8L : inexact-ok
+= log upward ldbl-96-m68k 0x4p-1024L : -0x2.c4657baf579a47b8p+8L : inexact-ok
+= log downward ldbl-128 0x4p-1024L : -0x2.c4657baf579a47bbcffb06f8dfc4p+8L : inexact-ok
+= log tonearest ldbl-128 0x4p-1024L : -0x2.c4657baf579a47bbcffb06f8dfc4p+8L : inexact-ok
+= log towardzero ldbl-128 0x4p-1024L : -0x2.c4657baf579a47bbcffb06f8dfc2p+8L : inexact-ok
+= log upward ldbl-128 0x4p-1024L : -0x2.c4657baf579a47bbcffb06f8dfc2p+8L : inexact-ok
+= log downward ldbl-128ibm 0x4p-1024L : -0x2.c4657baf579a47bbcffb06f8ep+8L : inexact-ok
+= log tonearest ldbl-128ibm 0x4p-1024L : -0x2.c4657baf579a47bbcffb06f8ep+8L : inexact-ok
+= log towardzero ldbl-128ibm 0x4p-1024L : -0x2.c4657baf579a47bbcffb06f8dfp+8L : inexact-ok
+= log upward ldbl-128ibm 0x4p-1024L : -0x2.c4657baf579a47bbcffb06f8dfp+8L : inexact-ok
+= log downward ldbl-96-intel 0x4p-16384L : -0x2.c5b2319c4843accp+12L : inexact-ok
+= log tonearest ldbl-96-intel 0x4p-16384L : -0x2.c5b2319c4843accp+12L : inexact-ok
+= log towardzero ldbl-96-intel 0x4p-16384L : -0x2.c5b2319c4843acbcp+12L : inexact-ok
+= log upward ldbl-96-intel 0x4p-16384L : -0x2.c5b2319c4843acbcp+12L : inexact-ok
+= log downward ldbl-96-m68k 0x4p-16384L : -0x2.c5b2319c4843accp+12L : inexact-ok
+= log tonearest ldbl-96-m68k 0x4p-16384L : -0x2.c5b2319c4843accp+12L : inexact-ok
+= log towardzero ldbl-96-m68k 0x4p-16384L : -0x2.c5b2319c4843acbcp+12L : inexact-ok
+= log upward ldbl-96-m68k 0x4p-16384L : -0x2.c5b2319c4843acbcp+12L : inexact-ok
+= log downward ldbl-128 0x4p-16384L : -0x2.c5b2319c4843acbff21591e99cccp+12L : inexact-ok
+= log tonearest ldbl-128 0x4p-16384L : -0x2.c5b2319c4843acbff21591e99ccap+12L : inexact-ok
+= log towardzero ldbl-128 0x4p-16384L : -0x2.c5b2319c4843acbff21591e99ccap+12L : inexact-ok
+= log upward ldbl-128 0x4p-16384L : -0x2.c5b2319c4843acbff21591e99ccap+12L : inexact-ok
+= log downward ldbl-96-intel 0x2p-16384L : -0x2.c5bd48bdc7c0c9b8p+12L : inexact-ok
+= log tonearest ldbl-96-intel 0x2p-16384L : -0x2.c5bd48bdc7c0c9b8p+12L : inexact-ok
+= log towardzero ldbl-96-intel 0x2p-16384L : -0x2.c5bd48bdc7c0c9b4p+12L : inexact-ok
+= log upward ldbl-96-intel 0x2p-16384L : -0x2.c5bd48bdc7c0c9b4p+12L : inexact-ok
+= log downward ldbl-96-m68k 0x2p-16384L : -0x2.c5bd48bdc7c0c9b8p+12L : inexact-ok
+= log tonearest ldbl-96-m68k 0x2p-16384L : -0x2.c5bd48bdc7c0c9b8p+12L : inexact-ok
+= log towardzero ldbl-96-m68k 0x2p-16384L : -0x2.c5bd48bdc7c0c9b4p+12L : inexact-ok
+= log upward ldbl-96-m68k 0x2p-16384L : -0x2.c5bd48bdc7c0c9b4p+12L : inexact-ok
+= log downward ldbl-128 0x2p-16384L : -0x2.c5bd48bdc7c0c9b78cd23024d64cp+12L : inexact-ok
+= log tonearest ldbl-128 0x2p-16384L : -0x2.c5bd48bdc7c0c9b78cd23024d64cp+12L : inexact-ok
+= log towardzero ldbl-128 0x2p-16384L : -0x2.c5bd48bdc7c0c9b78cd23024d64ap+12L : inexact-ok
+= log upward ldbl-128 0x2p-16384L : -0x2.c5bd48bdc7c0c9b78cd23024d64ap+12L : inexact-ok
+= log downward dbl-64 0x8p-972 : -0x2.9fa8dcb9092a6p+8 : inexact-ok
+= log tonearest dbl-64 0x8p-972 : -0x2.9fa8dcb9092a6p+8 : inexact-ok
+= log towardzero dbl-64 0x8p-972 : -0x2.9fa8dcb9092a4p+8 : inexact-ok
+= log upward dbl-64 0x8p-972 : -0x2.9fa8dcb9092a4p+8 : inexact-ok
+= log downward ldbl-96-intel 0x8p-972L : -0x2.9fa8dcb9092a538cp+8L : inexact-ok
+= log tonearest ldbl-96-intel 0x8p-972L : -0x2.9fa8dcb9092a538cp+8L : inexact-ok
+= log towardzero ldbl-96-intel 0x8p-972L : -0x2.9fa8dcb9092a5388p+8L : inexact-ok
+= log upward ldbl-96-intel 0x8p-972L : -0x2.9fa8dcb9092a5388p+8L : inexact-ok
+= log downward ldbl-96-m68k 0x8p-972L : -0x2.9fa8dcb9092a538cp+8L : inexact-ok
+= log tonearest ldbl-96-m68k 0x8p-972L : -0x2.9fa8dcb9092a538cp+8L : inexact-ok
+= log towardzero ldbl-96-m68k 0x8p-972L : -0x2.9fa8dcb9092a5388p+8L : inexact-ok
+= log upward ldbl-96-m68k 0x8p-972L : -0x2.9fa8dcb9092a5388p+8L : inexact-ok
+= log downward ldbl-128 0x8p-972L : -0x2.9fa8dcb9092a538b3f2ee2ca66f4p+8L : inexact-ok
+= log tonearest ldbl-128 0x8p-972L : -0x2.9fa8dcb9092a538b3f2ee2ca66f2p+8L : inexact-ok
+= log towardzero ldbl-128 0x8p-972L : -0x2.9fa8dcb9092a538b3f2ee2ca66f2p+8L : inexact-ok
+= log upward ldbl-128 0x8p-972L : -0x2.9fa8dcb9092a538b3f2ee2ca66f2p+8L : inexact-ok
+= log downward ldbl-128ibm 0x8p-972L : -0x2.9fa8dcb9092a538b3f2ee2ca67p+8L : inexact-ok
+= log tonearest ldbl-128ibm 0x8p-972L : -0x2.9fa8dcb9092a538b3f2ee2ca67p+8L : inexact-ok
+= log towardzero ldbl-128ibm 0x8p-972L : -0x2.9fa8dcb9092a538b3f2ee2ca66p+8L : inexact-ok
+= log upward ldbl-128ibm 0x8p-972L : -0x2.9fa8dcb9092a538b3f2ee2ca66p+8L : inexact-ok
+log min_subnorm
+= log downward flt-32 0x8p-152f : -0x6.74768p+4f : inexact-ok
+= log tonearest flt-32 0x8p-152f : -0x6.74768p+4f : inexact-ok
+= log towardzero flt-32 0x8p-152f : -0x6.747678p+4f : inexact-ok
+= log upward flt-32 0x8p-152f : -0x6.747678p+4f : inexact-ok
+= log downward dbl-64 0x8p-152 : -0x6.74767f33d1dc4p+4 : inexact-ok
+= log tonearest dbl-64 0x8p-152 : -0x6.74767f33d1dcp+4 : inexact-ok
+= log towardzero dbl-64 0x8p-152 : -0x6.74767f33d1dcp+4 : inexact-ok
+= log upward dbl-64 0x8p-152 : -0x6.74767f33d1dcp+4 : inexact-ok
+= log downward ldbl-96-intel 0x8p-152L : -0x6.74767f33d1dc1d1p+4L : inexact-ok
+= log tonearest ldbl-96-intel 0x8p-152L : -0x6.74767f33d1dc1d1p+4L : inexact-ok
+= log towardzero ldbl-96-intel 0x8p-152L : -0x6.74767f33d1dc1d08p+4L : inexact-ok
+= log upward ldbl-96-intel 0x8p-152L : -0x6.74767f33d1dc1d08p+4L : inexact-ok
+= log downward ldbl-96-m68k 0x8p-152L : -0x6.74767f33d1dc1d1p+4L : inexact-ok
+= log tonearest ldbl-96-m68k 0x8p-152L : -0x6.74767f33d1dc1d1p+4L : inexact-ok
+= log towardzero ldbl-96-m68k 0x8p-152L : -0x6.74767f33d1dc1d08p+4L : inexact-ok
+= log upward ldbl-96-m68k 0x8p-152L : -0x6.74767f33d1dc1d08p+4L : inexact-ok
+= log downward ldbl-128 0x8p-152L : -0x6.74767f33d1dc1d0fc8187877a4c8p+4L : inexact-ok
+= log tonearest ldbl-128 0x8p-152L : -0x6.74767f33d1dc1d0fc8187877a4c4p+4L : inexact-ok
+= log towardzero ldbl-128 0x8p-152L : -0x6.74767f33d1dc1d0fc8187877a4c4p+4L : inexact-ok
+= log upward ldbl-128 0x8p-152L : -0x6.74767f33d1dc1d0fc8187877a4c4p+4L : inexact-ok
+= log downward ldbl-128ibm 0x8p-152L : -0x6.74767f33d1dc1d0fc8187877a6p+4L : inexact-ok
+= log tonearest ldbl-128ibm 0x8p-152L : -0x6.74767f33d1dc1d0fc8187877a4p+4L : inexact-ok
+= log towardzero ldbl-128ibm 0x8p-152L : -0x6.74767f33d1dc1d0fc8187877a4p+4L : inexact-ok
+= log upward ldbl-128ibm 0x8p-152L : -0x6.74767f33d1dc1d0fc8187877a4p+4L : inexact-ok
+= log downward dbl-64 0x4p-1076 : -0x2.e870a88dae388p+8 : inexact-ok
+= log tonearest dbl-64 0x4p-1076 : -0x2.e870a88dae386p+8 : inexact-ok
+= log towardzero dbl-64 0x4p-1076 : -0x2.e870a88dae386p+8 : inexact-ok
+= log upward dbl-64 0x4p-1076 : -0x2.e870a88dae386p+8 : inexact-ok
+= log downward ldbl-96-intel 0x4p-1076L : -0x2.e870a88dae386c74p+8L : inexact-ok
+= log tonearest ldbl-96-intel 0x4p-1076L : -0x2.e870a88dae386c74p+8L : inexact-ok
+= log towardzero ldbl-96-intel 0x4p-1076L : -0x2.e870a88dae386c7p+8L : inexact-ok
+= log upward ldbl-96-intel 0x4p-1076L : -0x2.e870a88dae386c7p+8L : inexact-ok
+= log downward ldbl-96-m68k 0x4p-1076L : -0x2.e870a88dae386c74p+8L : inexact-ok
+= log tonearest ldbl-96-m68k 0x4p-1076L : -0x2.e870a88dae386c74p+8L : inexact-ok
+= log towardzero ldbl-96-m68k 0x4p-1076L : -0x2.e870a88dae386c7p+8L : inexact-ok
+= log upward ldbl-96-m68k 0x4p-1076L : -0x2.e870a88dae386c7p+8L : inexact-ok
+= log downward ldbl-128 0x4p-1076L : -0x2.e870a88dae386c72b4fd4773c092p+8L : inexact-ok
+= log tonearest ldbl-128 0x4p-1076L : -0x2.e870a88dae386c72b4fd4773c09p+8L : inexact-ok
+= log towardzero ldbl-128 0x4p-1076L : -0x2.e870a88dae386c72b4fd4773c09p+8L : inexact-ok
+= log upward ldbl-128 0x4p-1076L : -0x2.e870a88dae386c72b4fd4773c09p+8L : inexact-ok
+= log downward ldbl-128ibm 0x4p-1076L : -0x2.e870a88dae386c72b4fd4773c1p+8L : inexact-ok
+= log tonearest ldbl-128ibm 0x4p-1076L : -0x2.e870a88dae386c72b4fd4773c1p+8L : inexact-ok
+= log towardzero ldbl-128ibm 0x4p-1076L : -0x2.e870a88dae386c72b4fd4773cp+8L : inexact-ok
+= log upward ldbl-128ibm 0x4p-1076L : -0x2.e870a88dae386c72b4fd4773cp+8L : inexact-ok
+= log downward ldbl-96-intel 0x8p-16448L : -0x2.c86ce2daa80dcdbp+12L : inexact-ok
+= log tonearest ldbl-96-intel 0x8p-16448L : -0x2.c86ce2daa80dcdbp+12L : inexact-ok
+= log towardzero ldbl-96-intel 0x8p-16448L : -0x2.c86ce2daa80dcdacp+12L : inexact-ok
+= log upward ldbl-96-intel 0x8p-16448L : -0x2.c86ce2daa80dcdacp+12L : inexact-ok
+= log downward ldbl-96-m68k 0x8p-16448L : -0x2.c86ce2daa80dcdbp+12L : inexact-ok
+= log tonearest ldbl-96-m68k 0x8p-16448L : -0x2.c86ce2daa80dcdbp+12L : inexact-ok
+= log towardzero ldbl-96-m68k 0x8p-16448L : -0x2.c86ce2daa80dcdacp+12L : inexact-ok
+= log upward ldbl-96-m68k 0x8p-16448L : -0x2.c86ce2daa80dcdacp+12L : inexact-ok
+= log downward ldbl-128 0x8p-16448L : -0x2.c86ce2daa80dcdaf0680827cc35cp+12L : inexact-ok
+= log tonearest ldbl-128 0x8p-16448L : -0x2.c86ce2daa80dcdaf0680827cc35ap+12L : inexact-ok
+= log towardzero ldbl-128 0x8p-16448L : -0x2.c86ce2daa80dcdaf0680827cc35ap+12L : inexact-ok
+= log upward ldbl-128 0x8p-16448L : -0x2.c86ce2daa80dcdaf0680827cc35ap+12L : inexact-ok
+= log downward ldbl-96-m68k 0x4p-16448L : -0x2.c877f9fc278aeaa8p+12L : inexact-ok
+= log tonearest ldbl-96-m68k 0x4p-16448L : -0x2.c877f9fc278aeaa8p+12L : inexact-ok
+= log towardzero ldbl-96-m68k 0x4p-16448L : -0x2.c877f9fc278aeaa4p+12L : inexact-ok
+= log upward ldbl-96-m68k 0x4p-16448L : -0x2.c877f9fc278aeaa4p+12L : inexact-ok
+= log downward ldbl-128 0x4p-16448L : -0x2.c877f9fc278aeaa6a13d20b7fcdcp+12L : inexact-ok
+= log tonearest ldbl-128 0x4p-16448L : -0x2.c877f9fc278aeaa6a13d20b7fcdap+12L : inexact-ok
+= log towardzero ldbl-128 0x4p-16448L : -0x2.c877f9fc278aeaa6a13d20b7fcdap+12L : inexact-ok
+= log upward ldbl-128 0x4p-16448L : -0x2.c877f9fc278aeaa6a13d20b7fcdap+12L : inexact-ok
+= log downward ldbl-128 0x4p-16496L : -0x2.ca8c50440f005913a49acbd2c4e8p+12L : inexact-ok
+= log tonearest ldbl-128 0x4p-16496L : -0x2.ca8c50440f005913a49acbd2c4e6p+12L : inexact-ok
+= log towardzero ldbl-128 0x4p-16496L : -0x2.ca8c50440f005913a49acbd2c4e6p+12L : inexact-ok
+= log upward ldbl-128 0x4p-16496L : -0x2.ca8c50440f005913a49acbd2c4e6p+12L : inexact-ok
 log10 1
 = log10 downward flt-32 0x1p+0f : 0x0p+0f : inexact-ok
 = log10 tonearest flt-32 0x1p+0f : 0x0p+0f : inexact-ok
@@ -26474,6 +26632,164 @@ log10 0.75
 = log10 tonearest ldbl-128ibm 0xcp-4L : -0x1.ffbfc2bbc780375837c4b0b84fp-4L : inexact-ok
 = log10 towardzero ldbl-128ibm 0xcp-4L : -0x1.ffbfc2bbc780375837c4b0b84fp-4L : inexact-ok
 = log10 upward ldbl-128ibm 0xcp-4L : -0x1.ffbfc2bbc780375837c4b0b84fp-4L : inexact-ok
+log10 min
+= log10 downward flt-32 0x4p-128f : -0x2.5ee064p+4f : inexact-ok
+= log10 tonearest flt-32 0x4p-128f : -0x2.5ee06p+4f : inexact-ok
+= log10 towardzero flt-32 0x4p-128f : -0x2.5ee06p+4f : inexact-ok
+= log10 upward flt-32 0x4p-128f : -0x2.5ee06p+4f : inexact-ok
+= log10 downward dbl-64 0x4p-128 : -0x2.5ee0606b9f82ep+4 : inexact-ok
+= log10 tonearest dbl-64 0x4p-128 : -0x2.5ee0606b9f82ep+4 : inexact-ok
+= log10 towardzero dbl-64 0x4p-128 : -0x2.5ee0606b9f82cp+4 : inexact-ok
+= log10 upward dbl-64 0x4p-128 : -0x2.5ee0606b9f82cp+4 : inexact-ok
+= log10 downward ldbl-96-intel 0x4p-128L : -0x2.5ee0606b9f82deecp+4L : inexact-ok
+= log10 tonearest ldbl-96-intel 0x4p-128L : -0x2.5ee0606b9f82dee8p+4L : inexact-ok
+= log10 towardzero ldbl-96-intel 0x4p-128L : -0x2.5ee0606b9f82dee8p+4L : inexact-ok
+= log10 upward ldbl-96-intel 0x4p-128L : -0x2.5ee0606b9f82dee8p+4L : inexact-ok
+= log10 downward ldbl-96-m68k 0x4p-128L : -0x2.5ee0606b9f82deecp+4L : inexact-ok
+= log10 tonearest ldbl-96-m68k 0x4p-128L : -0x2.5ee0606b9f82dee8p+4L : inexact-ok
+= log10 towardzero ldbl-96-m68k 0x4p-128L : -0x2.5ee0606b9f82dee8p+4L : inexact-ok
+= log10 upward ldbl-96-m68k 0x4p-128L : -0x2.5ee0606b9f82dee8p+4L : inexact-ok
+= log10 downward ldbl-128 0x4p-128L : -0x2.5ee0606b9f82dee8b52cd1156d3ap+4L : inexact-ok
+= log10 tonearest ldbl-128 0x4p-128L : -0x2.5ee0606b9f82dee8b52cd1156d3ap+4L : inexact-ok
+= log10 towardzero ldbl-128 0x4p-128L : -0x2.5ee0606b9f82dee8b52cd1156d38p+4L : inexact-ok
+= log10 upward ldbl-128 0x4p-128L : -0x2.5ee0606b9f82dee8b52cd1156d38p+4L : inexact-ok
+= log10 downward ldbl-128ibm 0x4p-128L : -0x2.5ee0606b9f82dee8b52cd1156ep+4L : inexact-ok
+= log10 tonearest ldbl-128ibm 0x4p-128L : -0x2.5ee0606b9f82dee8b52cd1156dp+4L : inexact-ok
+= log10 towardzero ldbl-128ibm 0x4p-128L : -0x2.5ee0606b9f82dee8b52cd1156dp+4L : inexact-ok
+= log10 upward ldbl-128ibm 0x4p-128L : -0x2.5ee0606b9f82dee8b52cd1156dp+4L : inexact-ok
+= log10 downward dbl-64 0x4p-1024 : -0x1.33a7146f72a42p+8 : inexact-ok
+= log10 tonearest dbl-64 0x4p-1024 : -0x1.33a7146f72a42p+8 : inexact-ok
+= log10 towardzero dbl-64 0x4p-1024 : -0x1.33a7146f72a41p+8 : inexact-ok
+= log10 upward dbl-64 0x4p-1024 : -0x1.33a7146f72a41p+8 : inexact-ok
+= log10 downward ldbl-96-intel 0x4p-1024L : -0x1.33a7146f72a41f3ap+8L : inexact-ok
+= log10 tonearest ldbl-96-intel 0x4p-1024L : -0x1.33a7146f72a41f3ap+8L : inexact-ok
+= log10 towardzero ldbl-96-intel 0x4p-1024L : -0x1.33a7146f72a41f38p+8L : inexact-ok
+= log10 upward ldbl-96-intel 0x4p-1024L : -0x1.33a7146f72a41f38p+8L : inexact-ok
+= log10 downward ldbl-96-m68k 0x4p-1024L : -0x1.33a7146f72a41f3ap+8L : inexact-ok
+= log10 tonearest ldbl-96-m68k 0x4p-1024L : -0x1.33a7146f72a41f3ap+8L : inexact-ok
+= log10 towardzero ldbl-96-m68k 0x4p-1024L : -0x1.33a7146f72a41f38p+8L : inexact-ok
+= log10 upward ldbl-96-m68k 0x4p-1024L : -0x1.33a7146f72a41f38p+8L : inexact-ok
+= log10 downward ldbl-128 0x4p-1024L : -0x1.33a7146f72a41f39868329fe6aeep+8L : inexact-ok
+= log10 tonearest ldbl-128 0x4p-1024L : -0x1.33a7146f72a41f39868329fe6aedp+8L : inexact-ok
+= log10 towardzero ldbl-128 0x4p-1024L : -0x1.33a7146f72a41f39868329fe6aedp+8L : inexact-ok
+= log10 upward ldbl-128 0x4p-1024L : -0x1.33a7146f72a41f39868329fe6aedp+8L : inexact-ok
+= log10 downward ldbl-128ibm 0x4p-1024L : -0x1.33a7146f72a41f39868329fe6bp+8L : inexact-ok
+= log10 tonearest ldbl-128ibm 0x4p-1024L : -0x1.33a7146f72a41f39868329fe6bp+8L : inexact-ok
+= log10 towardzero ldbl-128ibm 0x4p-1024L : -0x1.33a7146f72a41f39868329fe6a8p+8L : inexact-ok
+= log10 upward ldbl-128ibm 0x4p-1024L : -0x1.33a7146f72a41f39868329fe6a8p+8L : inexact-ok
+= log10 downward ldbl-96-intel 0x4p-16384L : -0x1.343793004f503232p+12L : inexact-ok
+= log10 tonearest ldbl-96-intel 0x4p-16384L : -0x1.343793004f503232p+12L : inexact-ok
+= log10 towardzero ldbl-96-intel 0x4p-16384L : -0x1.343793004f50323p+12L : inexact-ok
+= log10 upward ldbl-96-intel 0x4p-16384L : -0x1.343793004f50323p+12L : inexact-ok
+= log10 downward ldbl-96-m68k 0x4p-16384L : -0x1.343793004f503232p+12L : inexact-ok
+= log10 tonearest ldbl-96-m68k 0x4p-16384L : -0x1.343793004f503232p+12L : inexact-ok
+= log10 towardzero ldbl-96-m68k 0x4p-16384L : -0x1.343793004f50323p+12L : inexact-ok
+= log10 upward ldbl-96-m68k 0x4p-16384L : -0x1.343793004f50323p+12L : inexact-ok
+= log10 downward ldbl-128 0x4p-16384L : -0x1.343793004f503231a589bac27c39p+12L : inexact-ok
+= log10 tonearest ldbl-128 0x4p-16384L : -0x1.343793004f503231a589bac27c38p+12L : inexact-ok
+= log10 towardzero ldbl-128 0x4p-16384L : -0x1.343793004f503231a589bac27c38p+12L : inexact-ok
+= log10 upward ldbl-128 0x4p-16384L : -0x1.343793004f503231a589bac27c38p+12L : inexact-ok
+= log10 downward ldbl-96-intel 0x2p-16384L : -0x1.343c6405237810b2p+12L : inexact-ok
+= log10 tonearest ldbl-96-intel 0x2p-16384L : -0x1.343c6405237810b2p+12L : inexact-ok
+= log10 towardzero ldbl-96-intel 0x2p-16384L : -0x1.343c6405237810bp+12L : inexact-ok
+= log10 upward ldbl-96-intel 0x2p-16384L : -0x1.343c6405237810bp+12L : inexact-ok
+= log10 downward ldbl-96-m68k 0x2p-16384L : -0x1.343c6405237810b2p+12L : inexact-ok
+= log10 tonearest ldbl-96-m68k 0x2p-16384L : -0x1.343c6405237810b2p+12L : inexact-ok
+= log10 towardzero ldbl-96-m68k 0x2p-16384L : -0x1.343c6405237810bp+12L : inexact-ok
+= log10 upward ldbl-96-m68k 0x2p-16384L : -0x1.343c6405237810bp+12L : inexact-ok
+= log10 downward ldbl-128 0x2p-16384L : -0x1.343c6405237810b1624e370d4999p+12L : inexact-ok
+= log10 tonearest ldbl-128 0x2p-16384L : -0x1.343c6405237810b1624e370d4999p+12L : inexact-ok
+= log10 towardzero ldbl-128 0x2p-16384L : -0x1.343c6405237810b1624e370d4998p+12L : inexact-ok
+= log10 upward ldbl-128 0x2p-16384L : -0x1.343c6405237810b1624e370d4998p+12L : inexact-ok
+= log10 downward dbl-64 0x8p-972 : -0x1.23b2b470ae932p+8 : inexact-ok
+= log10 tonearest dbl-64 0x8p-972 : -0x1.23b2b470ae932p+8 : inexact-ok
+= log10 towardzero dbl-64 0x8p-972 : -0x1.23b2b470ae931p+8 : inexact-ok
+= log10 upward dbl-64 0x8p-972 : -0x1.23b2b470ae931p+8 : inexact-ok
+= log10 downward ldbl-96-intel 0x8p-972L : -0x1.23b2b470ae93181ap+8L : inexact-ok
+= log10 tonearest ldbl-96-intel 0x8p-972L : -0x1.23b2b470ae931818p+8L : inexact-ok
+= log10 towardzero ldbl-96-intel 0x8p-972L : -0x1.23b2b470ae931818p+8L : inexact-ok
+= log10 upward ldbl-96-intel 0x8p-972L : -0x1.23b2b470ae931818p+8L : inexact-ok
+= log10 downward ldbl-96-m68k 0x8p-972L : -0x1.23b2b470ae93181ap+8L : inexact-ok
+= log10 tonearest ldbl-96-m68k 0x8p-972L : -0x1.23b2b470ae931818p+8L : inexact-ok
+= log10 towardzero ldbl-96-m68k 0x8p-972L : -0x1.23b2b470ae931818p+8L : inexact-ok
+= log10 upward ldbl-96-m68k 0x8p-972L : -0x1.23b2b470ae931818p+8L : inexact-ok
+= log10 downward ldbl-128 0x8p-972L : -0x1.23b2b470ae9318183ba772361bbep+8L : inexact-ok
+= log10 tonearest ldbl-128 0x8p-972L : -0x1.23b2b470ae9318183ba772361bbdp+8L : inexact-ok
+= log10 towardzero ldbl-128 0x8p-972L : -0x1.23b2b470ae9318183ba772361bbdp+8L : inexact-ok
+= log10 upward ldbl-128 0x8p-972L : -0x1.23b2b470ae9318183ba772361bbdp+8L : inexact-ok
+= log10 downward ldbl-128ibm 0x8p-972L : -0x1.23b2b470ae9318183ba772361cp+8L : inexact-ok
+= log10 tonearest ldbl-128ibm 0x8p-972L : -0x1.23b2b470ae9318183ba772361b8p+8L : inexact-ok
+= log10 towardzero ldbl-128ibm 0x8p-972L : -0x1.23b2b470ae9318183ba772361b8p+8L : inexact-ok
+= log10 upward ldbl-128ibm 0x8p-972L : -0x1.23b2b470ae9318183ba772361b8p+8L : inexact-ok
+log10 min_subnorm
+= log10 downward flt-32 0x8p-152f : -0x2.cda7dp+4f : inexact-ok
+= log10 tonearest flt-32 0x8p-152f : -0x2.cda7dp+4f : inexact-ok
+= log10 towardzero flt-32 0x8p-152f : -0x2.cda7ccp+4f : inexact-ok
+= log10 upward flt-32 0x8p-152f : -0x2.cda7ccp+4f : inexact-ok
+= log10 downward dbl-64 0x8p-152 : -0x2.cda7cf7b34806p+4 : inexact-ok
+= log10 tonearest dbl-64 0x8p-152 : -0x2.cda7cf7b34806p+4 : inexact-ok
+= log10 towardzero dbl-64 0x8p-152 : -0x2.cda7cf7b34804p+4 : inexact-ok
+= log10 upward dbl-64 0x8p-152 : -0x2.cda7cf7b34804p+4 : inexact-ok
+= log10 downward ldbl-96-intel 0x8p-152L : -0x2.cda7cf7b348058ep+4L : inexact-ok
+= log10 tonearest ldbl-96-intel 0x8p-152L : -0x2.cda7cf7b348058ep+4L : inexact-ok
+= log10 towardzero ldbl-96-intel 0x8p-152L : -0x2.cda7cf7b348058dcp+4L : inexact-ok
+= log10 upward ldbl-96-intel 0x8p-152L : -0x2.cda7cf7b348058dcp+4L : inexact-ok
+= log10 downward ldbl-96-m68k 0x8p-152L : -0x2.cda7cf7b348058ep+4L : inexact-ok
+= log10 tonearest ldbl-96-m68k 0x8p-152L : -0x2.cda7cf7b348058ep+4L : inexact-ok
+= log10 towardzero ldbl-96-m68k 0x8p-152L : -0x2.cda7cf7b348058dcp+4L : inexact-ok
+= log10 upward ldbl-96-m68k 0x8p-152L : -0x2.cda7cf7b348058dcp+4L : inexact-ok
+= log10 downward ldbl-128 0x8p-152L : -0x2.cda7cf7b348058de5c578989157cp+4L : inexact-ok
+= log10 tonearest ldbl-128 0x8p-152L : -0x2.cda7cf7b348058de5c578989157cp+4L : inexact-ok
+= log10 towardzero ldbl-128 0x8p-152L : -0x2.cda7cf7b348058de5c578989157ap+4L : inexact-ok
+= log10 upward ldbl-128 0x8p-152L : -0x2.cda7cf7b348058de5c578989157ap+4L : inexact-ok
+= log10 downward ldbl-128ibm 0x8p-152L : -0x2.cda7cf7b348058de5c57898916p+4L : inexact-ok
+= log10 tonearest ldbl-128ibm 0x8p-152L : -0x2.cda7cf7b348058de5c57898915p+4L : inexact-ok
+= log10 towardzero ldbl-128ibm 0x8p-152L : -0x2.cda7cf7b348058de5c57898915p+4L : inexact-ok
+= log10 upward ldbl-128ibm 0x8p-152L : -0x2.cda7cf7b348058de5c57898915p+4L : inexact-ok
+= log10 downward dbl-64 0x4p-1076 : -0x1.434e6420f4374p+8 : inexact-ok
+= log10 tonearest dbl-64 0x4p-1076 : -0x1.434e6420f4374p+8 : inexact-ok
+= log10 towardzero dbl-64 0x4p-1076 : -0x1.434e6420f4373p+8 : inexact-ok
+= log10 upward dbl-64 0x4p-1076 : -0x1.434e6420f4373p+8 : inexact-ok
+= log10 downward ldbl-96-intel 0x4p-1076L : -0x1.434e6420f4373e6p+8L : inexact-ok
+= log10 tonearest ldbl-96-intel 0x4p-1076L : -0x1.434e6420f4373e6p+8L : inexact-ok
+= log10 towardzero ldbl-96-intel 0x4p-1076L : -0x1.434e6420f4373e5ep+8L : inexact-ok
+= log10 upward ldbl-96-intel 0x4p-1076L : -0x1.434e6420f4373e5ep+8L : inexact-ok
+= log10 downward ldbl-96-m68k 0x4p-1076L : -0x1.434e6420f4373e6p+8L : inexact-ok
+= log10 tonearest ldbl-96-m68k 0x4p-1076L : -0x1.434e6420f4373e6p+8L : inexact-ok
+= log10 towardzero ldbl-96-m68k 0x4p-1076L : -0x1.434e6420f4373e5ep+8L : inexact-ok
+= log10 upward ldbl-96-m68k 0x4p-1076L : -0x1.434e6420f4373e5ep+8L : inexact-ok
+= log10 downward ldbl-128 0x4p-1076L : -0x1.434e6420f4373e5f05171d19e419p+8L : inexact-ok
+= log10 tonearest ldbl-128 0x4p-1076L : -0x1.434e6420f4373e5f05171d19e418p+8L : inexact-ok
+= log10 towardzero ldbl-128 0x4p-1076L : -0x1.434e6420f4373e5f05171d19e418p+8L : inexact-ok
+= log10 upward ldbl-128 0x4p-1076L : -0x1.434e6420f4373e5f05171d19e418p+8L : inexact-ok
+= log10 downward ldbl-128ibm 0x4p-1076L : -0x1.434e6420f4373e5f05171d19e48p+8L : inexact-ok
+= log10 tonearest ldbl-128ibm 0x4p-1076L : -0x1.434e6420f4373e5f05171d19e4p+8L : inexact-ok
+= log10 towardzero ldbl-128ibm 0x4p-1076L : -0x1.434e6420f4373e5f05171d19e4p+8L : inexact-ok
+= log10 upward ldbl-128ibm 0x4p-1076L : -0x1.434e6420f4373e5f05171d19e4p+8L : inexact-ok
+= log10 downward ldbl-96-intel 0x8p-16448L : -0x1.35670330851ff3a2p+12L : inexact-ok
+= log10 tonearest ldbl-96-intel 0x8p-16448L : -0x1.35670330851ff3a2p+12L : inexact-ok
+= log10 towardzero ldbl-96-intel 0x8p-16448L : -0x1.35670330851ff3ap+12L : inexact-ok
+= log10 upward ldbl-96-intel 0x8p-16448L : -0x1.35670330851ff3ap+12L : inexact-ok
+= log10 downward ldbl-96-m68k 0x8p-16448L : -0x1.35670330851ff3a2p+12L : inexact-ok
+= log10 tonearest ldbl-96-m68k 0x8p-16448L : -0x1.35670330851ff3a2p+12L : inexact-ok
+= log10 towardzero ldbl-96-m68k 0x8p-16448L : -0x1.35670330851ff3ap+12L : inexact-ok
+= log10 upward ldbl-96-m68k 0x8p-16448L : -0x1.35670330851ff3ap+12L : inexact-ok
+= log10 downward ldbl-128 0x8p-16448L : -0x1.35670330851ff3a119e4512b06efp+12L : inexact-ok
+= log10 tonearest ldbl-128 0x8p-16448L : -0x1.35670330851ff3a119e4512b06efp+12L : inexact-ok
+= log10 towardzero ldbl-128 0x8p-16448L : -0x1.35670330851ff3a119e4512b06eep+12L : inexact-ok
+= log10 upward ldbl-128 0x8p-16448L : -0x1.35670330851ff3a119e4512b06eep+12L : inexact-ok
+= log10 downward ldbl-96-m68k 0x4p-16448L : -0x1.356bd4355947d222p+12L : inexact-ok
+= log10 tonearest ldbl-96-m68k 0x4p-16448L : -0x1.356bd4355947d22p+12L : inexact-ok
+= log10 towardzero ldbl-96-m68k 0x4p-16448L : -0x1.356bd4355947d22p+12L : inexact-ok
+= log10 upward ldbl-96-m68k 0x4p-16448L : -0x1.356bd4355947d22p+12L : inexact-ok
+= log10 downward ldbl-128 0x4p-16448L : -0x1.356bd4355947d220d6a8cd75d45p+12L : inexact-ok
+= log10 tonearest ldbl-128 0x4p-16448L : -0x1.356bd4355947d220d6a8cd75d44fp+12L : inexact-ok
+= log10 towardzero ldbl-128 0x4p-16448L : -0x1.356bd4355947d220d6a8cd75d44fp+12L : inexact-ok
+= log10 upward ldbl-128 0x4p-16448L : -0x1.356bd4355947d220d6a8cd75d44fp+12L : inexact-ok
+= log10 downward ldbl-128 0x4p-16496L : -0x1.3653051d20c18a143b801b7c5661p+12L : inexact-ok
+= log10 tonearest ldbl-128 0x4p-16496L : -0x1.3653051d20c18a143b801b7c566p+12L : inexact-ok
+= log10 towardzero ldbl-128 0x4p-16496L : -0x1.3653051d20c18a143b801b7c566p+12L : inexact-ok
+= log10 upward ldbl-128 0x4p-16496L : -0x1.3653051d20c18a143b801b7c566p+12L : inexact-ok
 log1p 0
 = log1p downward flt-32 0x0p+0f : 0x0p+0f : inexact-ok
 = log1p tonearest flt-32 0x0p+0f : 0x0p+0f : inexact-ok
@@ -26719,6 +27035,322 @@ log1p -0.875
 = log1p tonearest ldbl-128ibm -0xep-4L : -0x2.145647e7756e6d035dab1ac80cp+0L : inexact-ok
 = log1p towardzero ldbl-128ibm -0xep-4L : -0x2.145647e7756e6d035dab1ac80bp+0L : inexact-ok
 = log1p upward ldbl-128ibm -0xep-4L : -0x2.145647e7756e6d035dab1ac80bp+0L : inexact-ok
+log1p min missing-underflow
+= log1p downward flt-32 0x4p-128f : 0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest flt-32 0x4p-128f : 0x4p-128f : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero flt-32 0x4p-128f : 0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok
+= log1p upward flt-32 0x4p-128f : 0x4p-128f : inexact-ok underflow-ok errno-erange-ok
+= log1p downward dbl-64 0x4p-128 : 0x3.ffffffffffffep-128 : inexact-ok
+= log1p tonearest dbl-64 0x4p-128 : 0x4p-128 : inexact-ok
+= log1p towardzero dbl-64 0x4p-128 : 0x3.ffffffffffffep-128 : inexact-ok
+= log1p upward dbl-64 0x4p-128 : 0x4p-128 : inexact-ok
+= log1p downward ldbl-96-intel 0x4p-128L : 0x3.fffffffffffffffcp-128L : inexact-ok
+= log1p tonearest ldbl-96-intel 0x4p-128L : 0x4p-128L : inexact-ok
+= log1p towardzero ldbl-96-intel 0x4p-128L : 0x3.fffffffffffffffcp-128L : inexact-ok
+= log1p upward ldbl-96-intel 0x4p-128L : 0x4p-128L : inexact-ok
+= log1p downward ldbl-96-m68k 0x4p-128L : 0x3.fffffffffffffffcp-128L : inexact-ok
+= log1p tonearest ldbl-96-m68k 0x4p-128L : 0x4p-128L : inexact-ok
+= log1p towardzero ldbl-96-m68k 0x4p-128L : 0x3.fffffffffffffffcp-128L : inexact-ok
+= log1p upward ldbl-96-m68k 0x4p-128L : 0x4p-128L : inexact-ok
+= log1p downward ldbl-128 0x4p-128L : 0x3.fffffffffffffffffffffffffffep-128L : inexact-ok
+= log1p tonearest ldbl-128 0x4p-128L : 0x4p-128L : inexact-ok
+= log1p towardzero ldbl-128 0x4p-128L : 0x3.fffffffffffffffffffffffffffep-128L : inexact-ok
+= log1p upward ldbl-128 0x4p-128L : 0x4p-128L : inexact-ok
+= log1p downward ldbl-128ibm 0x4p-128L : 0x3.ffffffffffffffffffffffffffp-128L : inexact-ok
+= log1p tonearest ldbl-128ibm 0x4p-128L : 0x4p-128L : inexact-ok
+= log1p towardzero ldbl-128ibm 0x4p-128L : 0x3.ffffffffffffffffffffffffffp-128L : inexact-ok
+= log1p upward ldbl-128ibm 0x4p-128L : 0x4p-128L : inexact-ok
+= log1p downward dbl-64 0x4p-1024 : 0x3.ffffffffffffcp-1024 : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest dbl-64 0x4p-1024 : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero dbl-64 0x4p-1024 : 0x3.ffffffffffffcp-1024 : inexact-ok underflow-ok errno-erange-ok
+= log1p upward dbl-64 0x4p-1024 : 0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel 0x4p-1024L : 0x3.fffffffffffffffcp-1024L : inexact-ok
+= log1p tonearest ldbl-96-intel 0x4p-1024L : 0x4p-1024L : inexact-ok
+= log1p towardzero ldbl-96-intel 0x4p-1024L : 0x3.fffffffffffffffcp-1024L : inexact-ok
+= log1p upward ldbl-96-intel 0x4p-1024L : 0x4p-1024L : inexact-ok
+= log1p downward ldbl-96-m68k 0x4p-1024L : 0x3.fffffffffffffffcp-1024L : inexact-ok
+= log1p tonearest ldbl-96-m68k 0x4p-1024L : 0x4p-1024L : inexact-ok
+= log1p towardzero ldbl-96-m68k 0x4p-1024L : 0x3.fffffffffffffffcp-1024L : inexact-ok
+= log1p upward ldbl-96-m68k 0x4p-1024L : 0x4p-1024L : inexact-ok
+= log1p downward ldbl-128 0x4p-1024L : 0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok
+= log1p tonearest ldbl-128 0x4p-1024L : 0x4p-1024L : inexact-ok
+= log1p towardzero ldbl-128 0x4p-1024L : 0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok
+= log1p upward ldbl-128 0x4p-1024L : 0x4p-1024L : inexact-ok
+= log1p downward ldbl-128ibm 0x4p-1024L : 0x3.ffffffffffffcp-1024L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128ibm 0x4p-1024L : 0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128ibm 0x4p-1024L : 0x3.ffffffffffffcp-1024L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128ibm 0x4p-1024L : 0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel 0x4p-16384L : 0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-intel 0x4p-16384L : 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-intel 0x4p-16384L : 0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p upward ldbl-96-intel 0x4p-16384L : 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p downward ldbl-96-m68k 0x4p-16384L : 0x3.fffffffffffffffcp-16384L : inexact-ok
+= log1p tonearest ldbl-96-m68k 0x4p-16384L : 0x4p-16384L : inexact-ok
+= log1p towardzero ldbl-96-m68k 0x4p-16384L : 0x3.fffffffffffffffcp-16384L : inexact-ok
+= log1p upward ldbl-96-m68k 0x4p-16384L : 0x4p-16384L : inexact-ok
+= log1p downward ldbl-128 0x4p-16384L : 0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 0x4p-16384L : 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 0x4p-16384L : 0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p upward ldbl-128 0x4p-16384L : 0x4p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel 0x2p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-intel 0x2p-16384L : 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-intel 0x2p-16384L : 0x1.fffffffffffffff8p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-96-intel 0x2p-16384L : 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-m68k 0x2p-16384L : 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-m68k 0x2p-16384L : 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-m68k 0x2p-16384L : 0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p upward ldbl-96-m68k 0x2p-16384L : 0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p downward ldbl-128 0x2p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 0x2p-16384L : 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 0x2p-16384L : 0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128 0x2p-16384L : 0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward dbl-64 0x8p-972 : 0x7.ffffffffffffcp-972 : inexact-ok
+= log1p tonearest dbl-64 0x8p-972 : 0x8p-972 : inexact-ok
+= log1p towardzero dbl-64 0x8p-972 : 0x7.ffffffffffffcp-972 : inexact-ok
+= log1p upward dbl-64 0x8p-972 : 0x8p-972 : inexact-ok
+= log1p downward ldbl-96-intel 0x8p-972L : 0x7.fffffffffffffff8p-972L : inexact-ok
+= log1p tonearest ldbl-96-intel 0x8p-972L : 0x8p-972L : inexact-ok
+= log1p towardzero ldbl-96-intel 0x8p-972L : 0x7.fffffffffffffff8p-972L : inexact-ok
+= log1p upward ldbl-96-intel 0x8p-972L : 0x8p-972L : inexact-ok
+= log1p downward ldbl-96-m68k 0x8p-972L : 0x7.fffffffffffffff8p-972L : inexact-ok
+= log1p tonearest ldbl-96-m68k 0x8p-972L : 0x8p-972L : inexact-ok
+= log1p towardzero ldbl-96-m68k 0x8p-972L : 0x7.fffffffffffffff8p-972L : inexact-ok
+= log1p upward ldbl-96-m68k 0x8p-972L : 0x8p-972L : inexact-ok
+= log1p downward ldbl-128 0x8p-972L : 0x7.fffffffffffffffffffffffffffcp-972L : inexact-ok
+= log1p tonearest ldbl-128 0x8p-972L : 0x8p-972L : inexact-ok
+= log1p towardzero ldbl-128 0x8p-972L : 0x7.fffffffffffffffffffffffffffcp-972L : inexact-ok
+= log1p upward ldbl-128 0x8p-972L : 0x8p-972L : inexact-ok
+= log1p downward ldbl-128ibm 0x8p-972L : 0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128ibm 0x8p-972L : 0x8p-972L : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128ibm 0x8p-972L : 0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok
+= log1p upward ldbl-128ibm 0x8p-972L : 0x8p-972L : inexact-ok underflow-ok errno-erange-ok
+log1p min_subnorm missing-underflow
+= log1p downward flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero flt-32 0x8p-152f : 0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward flt-32 0x8p-152f : 0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward dbl-64 0x8p-152 : 0x7.ffffffffffffcp-152 : inexact-ok
+= log1p tonearest dbl-64 0x8p-152 : 0x8p-152 : inexact-ok
+= log1p towardzero dbl-64 0x8p-152 : 0x7.ffffffffffffcp-152 : inexact-ok
+= log1p upward dbl-64 0x8p-152 : 0x8p-152 : inexact-ok
+= log1p downward ldbl-96-intel 0x8p-152L : 0x7.fffffffffffffff8p-152L : inexact-ok
+= log1p tonearest ldbl-96-intel 0x8p-152L : 0x8p-152L : inexact-ok
+= log1p towardzero ldbl-96-intel 0x8p-152L : 0x7.fffffffffffffff8p-152L : inexact-ok
+= log1p upward ldbl-96-intel 0x8p-152L : 0x8p-152L : inexact-ok
+= log1p downward ldbl-96-m68k 0x8p-152L : 0x7.fffffffffffffff8p-152L : inexact-ok
+= log1p tonearest ldbl-96-m68k 0x8p-152L : 0x8p-152L : inexact-ok
+= log1p towardzero ldbl-96-m68k 0x8p-152L : 0x7.fffffffffffffff8p-152L : inexact-ok
+= log1p upward ldbl-96-m68k 0x8p-152L : 0x8p-152L : inexact-ok
+= log1p downward ldbl-128 0x8p-152L : 0x7.fffffffffffffffffffffffffffcp-152L : inexact-ok
+= log1p tonearest ldbl-128 0x8p-152L : 0x8p-152L : inexact-ok
+= log1p towardzero ldbl-128 0x8p-152L : 0x7.fffffffffffffffffffffffffffcp-152L : inexact-ok
+= log1p upward ldbl-128 0x8p-152L : 0x8p-152L : inexact-ok
+= log1p downward ldbl-128ibm 0x8p-152L : 0x7.fffffffffffffffffffffffffep-152L : inexact-ok
+= log1p tonearest ldbl-128ibm 0x8p-152L : 0x8p-152L : inexact-ok
+= log1p towardzero ldbl-128ibm 0x8p-152L : 0x7.fffffffffffffffffffffffffep-152L : inexact-ok
+= log1p upward ldbl-128ibm 0x8p-152L : 0x8p-152L : inexact-ok
+= log1p downward dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero dbl-64 0x4p-1076 : 0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward dbl-64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel 0x4p-1076L : 0x3.fffffffffffffffcp-1076L : inexact-ok
+= log1p tonearest ldbl-96-intel 0x4p-1076L : 0x4p-1076L : inexact-ok
+= log1p towardzero ldbl-96-intel 0x4p-1076L : 0x3.fffffffffffffffcp-1076L : inexact-ok
+= log1p upward ldbl-96-intel 0x4p-1076L : 0x4p-1076L : inexact-ok
+= log1p downward ldbl-96-m68k 0x4p-1076L : 0x3.fffffffffffffffcp-1076L : inexact-ok
+= log1p tonearest ldbl-96-m68k 0x4p-1076L : 0x4p-1076L : inexact-ok
+= log1p towardzero ldbl-96-m68k 0x4p-1076L : 0x3.fffffffffffffffcp-1076L : inexact-ok
+= log1p upward ldbl-96-m68k 0x4p-1076L : 0x4p-1076L : inexact-ok
+= log1p downward ldbl-128 0x4p-1076L : 0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok
+= log1p tonearest ldbl-128 0x4p-1076L : 0x4p-1076L : inexact-ok
+= log1p towardzero ldbl-128 0x4p-1076L : 0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok
+= log1p upward ldbl-128 0x4p-1076L : 0x4p-1076L : inexact-ok
+= log1p downward ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128ibm 0x4p-1076L : 0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128ibm 0x4p-1076L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128ibm 0x4p-1076L : 0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-intel 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-intel 0x8p-16448L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-96-intel 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-m68k 0x8p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-m68k 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-m68k 0x8p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-96-m68k 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-128 0x8p-16448L : 0x7.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 0x8p-16448L : 0x7.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128 0x8p-16448L : 0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-m68k 0x4p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-m68k 0x4p-16448L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-96-m68k 0x4p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-128 0x4p-16448L : 0x3.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 0x4p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 0x4p-16448L : 0x3.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128 0x4p-16448L : 0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 0x4p-16496L : 0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 0x4p-16496L : 0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128 0x4p-16496L : 0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok
+log1p -min missing-underflow
+= log1p downward flt-32 -0x4p-128f : -0x4p-128f : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest flt-32 -0x4p-128f : -0x4p-128f : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero flt-32 -0x4p-128f : -0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok
+= log1p upward flt-32 -0x4p-128f : -0x3.fffff8p-128f : inexact-ok underflow-ok errno-erange-ok
+= log1p downward dbl-64 -0x4p-128 : -0x4p-128 : inexact-ok
+= log1p tonearest dbl-64 -0x4p-128 : -0x4p-128 : inexact-ok
+= log1p towardzero dbl-64 -0x4p-128 : -0x3.ffffffffffffep-128 : inexact-ok
+= log1p upward dbl-64 -0x4p-128 : -0x3.ffffffffffffep-128 : inexact-ok
+= log1p downward ldbl-96-intel -0x4p-128L : -0x4p-128L : inexact-ok
+= log1p tonearest ldbl-96-intel -0x4p-128L : -0x4p-128L : inexact-ok
+= log1p towardzero ldbl-96-intel -0x4p-128L : -0x3.fffffffffffffffcp-128L : inexact-ok
+= log1p upward ldbl-96-intel -0x4p-128L : -0x3.fffffffffffffffcp-128L : inexact-ok
+= log1p downward ldbl-96-m68k -0x4p-128L : -0x4p-128L : inexact-ok
+= log1p tonearest ldbl-96-m68k -0x4p-128L : -0x4p-128L : inexact-ok
+= log1p towardzero ldbl-96-m68k -0x4p-128L : -0x3.fffffffffffffffcp-128L : inexact-ok
+= log1p upward ldbl-96-m68k -0x4p-128L : -0x3.fffffffffffffffcp-128L : inexact-ok
+= log1p downward ldbl-128 -0x4p-128L : -0x4p-128L : inexact-ok
+= log1p tonearest ldbl-128 -0x4p-128L : -0x4p-128L : inexact-ok
+= log1p towardzero ldbl-128 -0x4p-128L : -0x3.fffffffffffffffffffffffffffep-128L : inexact-ok
+= log1p upward ldbl-128 -0x4p-128L : -0x3.fffffffffffffffffffffffffffep-128L : inexact-ok
+= log1p downward ldbl-128ibm -0x4p-128L : -0x4p-128L : inexact-ok
+= log1p tonearest ldbl-128ibm -0x4p-128L : -0x4p-128L : inexact-ok
+= log1p towardzero ldbl-128ibm -0x4p-128L : -0x3.ffffffffffffffffffffffffffp-128L : inexact-ok
+= log1p upward ldbl-128ibm -0x4p-128L : -0x3.ffffffffffffffffffffffffffp-128L : inexact-ok
+= log1p downward dbl-64 -0x4p-1024 : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest dbl-64 -0x4p-1024 : -0x4p-1024 : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero dbl-64 -0x4p-1024 : -0x3.ffffffffffffcp-1024 : inexact-ok underflow-ok errno-erange-ok
+= log1p upward dbl-64 -0x4p-1024 : -0x3.ffffffffffffcp-1024 : inexact-ok underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel -0x4p-1024L : -0x4p-1024L : inexact-ok
+= log1p tonearest ldbl-96-intel -0x4p-1024L : -0x4p-1024L : inexact-ok
+= log1p towardzero ldbl-96-intel -0x4p-1024L : -0x3.fffffffffffffffcp-1024L : inexact-ok
+= log1p upward ldbl-96-intel -0x4p-1024L : -0x3.fffffffffffffffcp-1024L : inexact-ok
+= log1p downward ldbl-96-m68k -0x4p-1024L : -0x4p-1024L : inexact-ok
+= log1p tonearest ldbl-96-m68k -0x4p-1024L : -0x4p-1024L : inexact-ok
+= log1p towardzero ldbl-96-m68k -0x4p-1024L : -0x3.fffffffffffffffcp-1024L : inexact-ok
+= log1p upward ldbl-96-m68k -0x4p-1024L : -0x3.fffffffffffffffcp-1024L : inexact-ok
+= log1p downward ldbl-128 -0x4p-1024L : -0x4p-1024L : inexact-ok
+= log1p tonearest ldbl-128 -0x4p-1024L : -0x4p-1024L : inexact-ok
+= log1p towardzero ldbl-128 -0x4p-1024L : -0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok
+= log1p upward ldbl-128 -0x4p-1024L : -0x3.fffffffffffffffffffffffffffep-1024L : inexact-ok
+= log1p downward ldbl-128ibm -0x4p-1024L : -0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128ibm -0x4p-1024L : -0x4p-1024L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128ibm -0x4p-1024L : -0x3.ffffffffffffcp-1024L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128ibm -0x4p-1024L : -0x3.ffffffffffffcp-1024L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel -0x4p-16384L : -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-intel -0x4p-16384L : -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-intel -0x4p-16384L : -0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p upward ldbl-96-intel -0x4p-16384L : -0x3.fffffffffffffff8p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p downward ldbl-96-m68k -0x4p-16384L : -0x4p-16384L : inexact-ok
+= log1p tonearest ldbl-96-m68k -0x4p-16384L : -0x4p-16384L : inexact-ok
+= log1p towardzero ldbl-96-m68k -0x4p-16384L : -0x3.fffffffffffffffcp-16384L : inexact-ok
+= log1p upward ldbl-96-m68k -0x4p-16384L : -0x3.fffffffffffffffcp-16384L : inexact-ok
+= log1p downward ldbl-128 -0x4p-16384L : -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 -0x4p-16384L : -0x4p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 -0x4p-16384L : -0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p upward ldbl-128 -0x4p-16384L : -0x3.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel -0x2p-16384L : -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-intel -0x2p-16384L : -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-intel -0x2p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-96-intel -0x2p-16384L : -0x1.fffffffffffffff8p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-m68k -0x2p-16384L : -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-m68k -0x2p-16384L : -0x2p-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-m68k -0x2p-16384L : -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p upward ldbl-96-m68k -0x2p-16384L : -0x1.fffffffffffffffcp-16384L : inexact-ok underflow-ok errno-erange-ok
+= log1p downward ldbl-128 -0x2p-16384L : -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 -0x2p-16384L : -0x2p-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 -0x2p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128 -0x2p-16384L : -0x1.fffffffffffffffffffffffffffcp-16384L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward dbl-64 -0x8p-972 : -0x8p-972 : inexact-ok
+= log1p tonearest dbl-64 -0x8p-972 : -0x8p-972 : inexact-ok
+= log1p towardzero dbl-64 -0x8p-972 : -0x7.ffffffffffffcp-972 : inexact-ok
+= log1p upward dbl-64 -0x8p-972 : -0x7.ffffffffffffcp-972 : inexact-ok
+= log1p downward ldbl-96-intel -0x8p-972L : -0x8p-972L : inexact-ok
+= log1p tonearest ldbl-96-intel -0x8p-972L : -0x8p-972L : inexact-ok
+= log1p towardzero ldbl-96-intel -0x8p-972L : -0x7.fffffffffffffff8p-972L : inexact-ok
+= log1p upward ldbl-96-intel -0x8p-972L : -0x7.fffffffffffffff8p-972L : inexact-ok
+= log1p downward ldbl-96-m68k -0x8p-972L : -0x8p-972L : inexact-ok
+= log1p tonearest ldbl-96-m68k -0x8p-972L : -0x8p-972L : inexact-ok
+= log1p towardzero ldbl-96-m68k -0x8p-972L : -0x7.fffffffffffffff8p-972L : inexact-ok
+= log1p upward ldbl-96-m68k -0x8p-972L : -0x7.fffffffffffffff8p-972L : inexact-ok
+= log1p downward ldbl-128 -0x8p-972L : -0x8p-972L : inexact-ok
+= log1p tonearest ldbl-128 -0x8p-972L : -0x8p-972L : inexact-ok
+= log1p towardzero ldbl-128 -0x8p-972L : -0x7.fffffffffffffffffffffffffffcp-972L : inexact-ok
+= log1p upward ldbl-128 -0x8p-972L : -0x7.fffffffffffffffffffffffffffcp-972L : inexact-ok
+= log1p downward ldbl-128ibm -0x8p-972L : -0x8p-972L : inexact-ok underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128ibm -0x8p-972L : -0x8p-972L : inexact-ok underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128ibm -0x8p-972L : -0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok
+= log1p upward ldbl-128ibm -0x8p-972L : -0x7.fffffffffffffffffffffffffcp-972L : inexact-ok underflow-ok errno-erange-ok
+log1p -min_subnorm missing-underflow
+= log1p downward flt-32 -0x8p-152f : -0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest flt-32 -0x8p-152f : -0x8p-152f : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero flt-32 -0x8p-152f : -0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward flt-32 -0x8p-152f : -0x0p+0f : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward dbl-64 -0x8p-152 : -0x8p-152 : inexact-ok
+= log1p tonearest dbl-64 -0x8p-152 : -0x8p-152 : inexact-ok
+= log1p towardzero dbl-64 -0x8p-152 : -0x7.ffffffffffffcp-152 : inexact-ok
+= log1p upward dbl-64 -0x8p-152 : -0x7.ffffffffffffcp-152 : inexact-ok
+= log1p downward ldbl-96-intel -0x8p-152L : -0x8p-152L : inexact-ok
+= log1p tonearest ldbl-96-intel -0x8p-152L : -0x8p-152L : inexact-ok
+= log1p towardzero ldbl-96-intel -0x8p-152L : -0x7.fffffffffffffff8p-152L : inexact-ok
+= log1p upward ldbl-96-intel -0x8p-152L : -0x7.fffffffffffffff8p-152L : inexact-ok
+= log1p downward ldbl-96-m68k -0x8p-152L : -0x8p-152L : inexact-ok
+= log1p tonearest ldbl-96-m68k -0x8p-152L : -0x8p-152L : inexact-ok
+= log1p towardzero ldbl-96-m68k -0x8p-152L : -0x7.fffffffffffffff8p-152L : inexact-ok
+= log1p upward ldbl-96-m68k -0x8p-152L : -0x7.fffffffffffffff8p-152L : inexact-ok
+= log1p downward ldbl-128 -0x8p-152L : -0x8p-152L : inexact-ok
+= log1p tonearest ldbl-128 -0x8p-152L : -0x8p-152L : inexact-ok
+= log1p towardzero ldbl-128 -0x8p-152L : -0x7.fffffffffffffffffffffffffffcp-152L : inexact-ok
+= log1p upward ldbl-128 -0x8p-152L : -0x7.fffffffffffffffffffffffffffcp-152L : inexact-ok
+= log1p downward ldbl-128ibm -0x8p-152L : -0x8p-152L : inexact-ok
+= log1p tonearest ldbl-128ibm -0x8p-152L : -0x8p-152L : inexact-ok
+= log1p towardzero ldbl-128ibm -0x8p-152L : -0x7.fffffffffffffffffffffffffep-152L : inexact-ok
+= log1p upward ldbl-128ibm -0x8p-152L : -0x7.fffffffffffffffffffffffffep-152L : inexact-ok
+= log1p downward dbl-64 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest dbl-64 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero dbl-64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward dbl-64 -0x4p-1076 : -0x0p+0 : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel -0x4p-1076L : -0x4p-1076L : inexact-ok
+= log1p tonearest ldbl-96-intel -0x4p-1076L : -0x4p-1076L : inexact-ok
+= log1p towardzero ldbl-96-intel -0x4p-1076L : -0x3.fffffffffffffffcp-1076L : inexact-ok
+= log1p upward ldbl-96-intel -0x4p-1076L : -0x3.fffffffffffffffcp-1076L : inexact-ok
+= log1p downward ldbl-96-m68k -0x4p-1076L : -0x4p-1076L : inexact-ok
+= log1p tonearest ldbl-96-m68k -0x4p-1076L : -0x4p-1076L : inexact-ok
+= log1p towardzero ldbl-96-m68k -0x4p-1076L : -0x3.fffffffffffffffcp-1076L : inexact-ok
+= log1p upward ldbl-96-m68k -0x4p-1076L : -0x3.fffffffffffffffcp-1076L : inexact-ok
+= log1p downward ldbl-128 -0x4p-1076L : -0x4p-1076L : inexact-ok
+= log1p tonearest ldbl-128 -0x4p-1076L : -0x4p-1076L : inexact-ok
+= log1p towardzero ldbl-128 -0x4p-1076L : -0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok
+= log1p upward ldbl-128 -0x4p-1076L : -0x3.fffffffffffffffffffffffffffep-1076L : inexact-ok
+= log1p downward ldbl-128ibm -0x4p-1076L : -0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128ibm -0x4p-1076L : -0x4p-1076L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128ibm -0x4p-1076L : -0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128ibm -0x4p-1076L : -0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-intel -0x8p-16448L : -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-intel -0x8p-16448L : -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-intel -0x8p-16448L : -0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-96-intel -0x8p-16448L : -0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-m68k -0x8p-16448L : -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-m68k -0x8p-16448L : -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-m68k -0x8p-16448L : -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-96-m68k -0x8p-16448L : -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-128 -0x8p-16448L : -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 -0x8p-16448L : -0x8p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 -0x8p-16448L : -0x7.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128 -0x8p-16448L : -0x7.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-96-m68k -0x4p-16448L : -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-96-m68k -0x4p-16448L : -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-96-m68k -0x4p-16448L : -0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-96-m68k -0x4p-16448L : -0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-128 -0x4p-16448L : -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 -0x4p-16448L : -0x4p-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 -0x4p-16448L : -0x3.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128 -0x4p-16448L : -0x3.fffffffffffcp-16448L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p downward ldbl-128 -0x4p-16496L : -0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p tonearest ldbl-128 -0x4p-16496L : -0x4p-16496L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p towardzero ldbl-128 -0x4p-16496L : -0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
+= log1p upward ldbl-128 -0x4p-16496L : -0x0p+0L : inexact-ok underflow underflow-ok errno-erange-ok
 log2 1
 = log2 downward flt-32 0x1p+0f : 0x0p+0f : inexact-ok
 = log2 tonearest flt-32 0x1p+0f : 0x0p+0f : inexact-ok
@@ -26989,6 +27621,164 @@ log2 0.75
 = log2 tonearest ldbl-128ibm 0xcp-4L : -0x6.a3fe5c6042978605ff4edf5f98p-4L : inexact-ok
 = log2 towardzero ldbl-128ibm 0xcp-4L : -0x6.a3fe5c6042978605ff4edf5f96p-4L : inexact-ok
 = log2 upward ldbl-128ibm 0xcp-4L : -0x6.a3fe5c6042978605ff4edf5f96p-4L : inexact-ok
+log2 min
+= log2 downward flt-32 0x4p-128f : -0x7.ep+4f : inexact-ok
+= log2 tonearest flt-32 0x4p-128f : -0x7.ep+4f : inexact-ok
+= log2 towardzero flt-32 0x4p-128f : -0x7.ep+4f : inexact-ok
+= log2 upward flt-32 0x4p-128f : -0x7.ep+4f : inexact-ok
+= log2 downward dbl-64 0x4p-128 : -0x7.ep+4 : inexact-ok
+= log2 tonearest dbl-64 0x4p-128 : -0x7.ep+4 : inexact-ok
+= log2 towardzero dbl-64 0x4p-128 : -0x7.ep+4 : inexact-ok
+= log2 upward dbl-64 0x4p-128 : -0x7.ep+4 : inexact-ok
+= log2 downward ldbl-96-intel 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 tonearest ldbl-96-intel 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 towardzero ldbl-96-intel 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 upward ldbl-96-intel 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 downward ldbl-96-m68k 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 tonearest ldbl-96-m68k 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 towardzero ldbl-96-m68k 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 upward ldbl-96-m68k 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 downward ldbl-128 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 tonearest ldbl-128 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 towardzero ldbl-128 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 upward ldbl-128 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 downward ldbl-128ibm 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 tonearest ldbl-128ibm 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 towardzero ldbl-128ibm 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 upward ldbl-128ibm 0x4p-128L : -0x7.ep+4L : inexact-ok
+= log2 downward dbl-64 0x4p-1024 : -0x3.fep+8 : inexact-ok
+= log2 tonearest dbl-64 0x4p-1024 : -0x3.fep+8 : inexact-ok
+= log2 towardzero dbl-64 0x4p-1024 : -0x3.fep+8 : inexact-ok
+= log2 upward dbl-64 0x4p-1024 : -0x3.fep+8 : inexact-ok
+= log2 downward ldbl-96-intel 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 tonearest ldbl-96-intel 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 towardzero ldbl-96-intel 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 upward ldbl-96-intel 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 downward ldbl-96-m68k 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 tonearest ldbl-96-m68k 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 towardzero ldbl-96-m68k 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 upward ldbl-96-m68k 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 downward ldbl-128 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 tonearest ldbl-128 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 towardzero ldbl-128 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 upward ldbl-128 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 downward ldbl-128ibm 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 tonearest ldbl-128ibm 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 towardzero ldbl-128ibm 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 upward ldbl-128ibm 0x4p-1024L : -0x3.fep+8L : inexact-ok
+= log2 downward ldbl-96-intel 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 tonearest ldbl-96-intel 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 towardzero ldbl-96-intel 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 upward ldbl-96-intel 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 downward ldbl-96-m68k 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 tonearest ldbl-96-m68k 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 towardzero ldbl-96-m68k 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 upward ldbl-96-m68k 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 downward ldbl-128 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 tonearest ldbl-128 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 towardzero ldbl-128 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 upward ldbl-128 0x4p-16384L : -0x3.ffep+12L : inexact-ok
+= log2 downward ldbl-96-intel 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 tonearest ldbl-96-intel 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 towardzero ldbl-96-intel 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 upward ldbl-96-intel 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 downward ldbl-96-m68k 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 tonearest ldbl-96-m68k 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 towardzero ldbl-96-m68k 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 upward ldbl-96-m68k 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 downward ldbl-128 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 tonearest ldbl-128 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 towardzero ldbl-128 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 upward ldbl-128 0x2p-16384L : -0x3.fffp+12L : inexact-ok
+= log2 downward dbl-64 0x8p-972 : -0x3.c9p+8 : inexact-ok
+= log2 tonearest dbl-64 0x8p-972 : -0x3.c9p+8 : inexact-ok
+= log2 towardzero dbl-64 0x8p-972 : -0x3.c9p+8 : inexact-ok
+= log2 upward dbl-64 0x8p-972 : -0x3.c9p+8 : inexact-ok
+= log2 downward ldbl-96-intel 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 tonearest ldbl-96-intel 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 towardzero ldbl-96-intel 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 upward ldbl-96-intel 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 downward ldbl-96-m68k 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 tonearest ldbl-96-m68k 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 towardzero ldbl-96-m68k 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 upward ldbl-96-m68k 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 downward ldbl-128 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 tonearest ldbl-128 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 towardzero ldbl-128 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 upward ldbl-128 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 downward ldbl-128ibm 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 tonearest ldbl-128ibm 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 towardzero ldbl-128ibm 0x8p-972L : -0x3.c9p+8L : inexact-ok
+= log2 upward ldbl-128ibm 0x8p-972L : -0x3.c9p+8L : inexact-ok
+log2 min_subnorm
+= log2 downward flt-32 0x8p-152f : -0x9.5p+4f : inexact-ok
+= log2 tonearest flt-32 0x8p-152f : -0x9.5p+4f : inexact-ok
+= log2 towardzero flt-32 0x8p-152f : -0x9.5p+4f : inexact-ok
+= log2 upward flt-32 0x8p-152f : -0x9.5p+4f : inexact-ok
+= log2 downward dbl-64 0x8p-152 : -0x9.5p+4 : inexact-ok
+= log2 tonearest dbl-64 0x8p-152 : -0x9.5p+4 : inexact-ok
+= log2 towardzero dbl-64 0x8p-152 : -0x9.5p+4 : inexact-ok
+= log2 upward dbl-64 0x8p-152 : -0x9.5p+4 : inexact-ok
+= log2 downward ldbl-96-intel 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 tonearest ldbl-96-intel 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 towardzero ldbl-96-intel 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 upward ldbl-96-intel 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 downward ldbl-96-m68k 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 tonearest ldbl-96-m68k 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 towardzero ldbl-96-m68k 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 upward ldbl-96-m68k 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 downward ldbl-128 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 tonearest ldbl-128 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 towardzero ldbl-128 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 upward ldbl-128 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 downward ldbl-128ibm 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 tonearest ldbl-128ibm 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 towardzero ldbl-128ibm 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 upward ldbl-128ibm 0x8p-152L : -0x9.5p+4L : inexact-ok
+= log2 downward dbl-64 0x4p-1076 : -0x4.32p+8 : inexact-ok
+= log2 tonearest dbl-64 0x4p-1076 : -0x4.32p+8 : inexact-ok
+= log2 towardzero dbl-64 0x4p-1076 : -0x4.32p+8 : inexact-ok
+= log2 upward dbl-64 0x4p-1076 : -0x4.32p+8 : inexact-ok
+= log2 downward ldbl-96-intel 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 tonearest ldbl-96-intel 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 towardzero ldbl-96-intel 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 upward ldbl-96-intel 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 downward ldbl-96-m68k 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 tonearest ldbl-96-m68k 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 towardzero ldbl-96-m68k 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 upward ldbl-96-m68k 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 downward ldbl-128 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 tonearest ldbl-128 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 towardzero ldbl-128 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 upward ldbl-128 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 downward ldbl-128ibm 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 tonearest ldbl-128ibm 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 towardzero ldbl-128ibm 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 upward ldbl-128ibm 0x4p-1076L : -0x4.32p+8L : inexact-ok
+= log2 downward ldbl-96-intel 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 tonearest ldbl-96-intel 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 towardzero ldbl-96-intel 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 upward ldbl-96-intel 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 downward ldbl-96-m68k 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 tonearest ldbl-96-m68k 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 towardzero ldbl-96-m68k 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 upward ldbl-96-m68k 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 downward ldbl-128 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 tonearest ldbl-128 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 towardzero ldbl-128 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 upward ldbl-128 0x8p-16448L : -0x4.03dp+12L : inexact-ok
+= log2 downward ldbl-96-m68k 0x4p-16448L : -0x4.03ep+12L : inexact-ok
+= log2 tonearest ldbl-96-m68k 0x4p-16448L : -0x4.03ep+12L : inexact-ok
+= log2 towardzero ldbl-96-m68k 0x4p-16448L : -0x4.03ep+12L : inexact-ok
+= log2 upward ldbl-96-m68k 0x4p-16448L : -0x4.03ep+12L : inexact-ok
+= log2 downward ldbl-128 0x4p-16448L : -0x4.03ep+12L : inexact-ok
+= log2 tonearest ldbl-128 0x4p-16448L : -0x4.03ep+12L : inexact-ok
+= log2 towardzero ldbl-128 0x4p-16448L : -0x4.03ep+12L : inexact-ok
+= log2 upward ldbl-128 0x4p-16448L : -0x4.03ep+12L : inexact-ok
+= log2 downward ldbl-128 0x4p-16496L : -0x4.06ep+12L : inexact-ok
+= log2 tonearest ldbl-128 0x4p-16496L : -0x4.06ep+12L : inexact-ok
+= log2 towardzero ldbl-128 0x4p-16496L : -0x4.06ep+12L : inexact-ok
+= log2 upward ldbl-128 0x4p-16496L : -0x4.06ep+12L : inexact-ok
 pow 0 0
 = pow downward flt-32 0x0p+0f 0x0p+0f : 0x1p+0f : inexact-ok
 = pow tonearest flt-32 0x0p+0f 0x0p+0f : 0x1p+0f : inexact-ok
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index ce4e631..5ed3fee 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -6684,6 +6684,9 @@ ldouble: 1
 Test "log10 (0x2.b7e151628aed2p+0)":
 ildouble: 1
 ldouble: 1
+Test "log10 (0x4p-128)":
+ildouble: 1
+ldouble: 1
 Test "log10 (0xcp-4)":
 ildouble: 1
 ldouble: 1
diff --git a/sysdeps/ieee754/ldbl-128/e_logl.c b/sysdeps/ieee754/ldbl-128/e_logl.c
index 395a763..3d1034d 100644
--- a/sysdeps/ieee754/ldbl-128/e_logl.c
+++ b/sysdeps/ieee754/ldbl-128/e_logl.c
@@ -212,9 +212,8 @@ __ieee754_logl(long double x)
     }
 
   /* Extract exponent and reduce domain to 0.703125 <= u < 1.40625  */
-  e = (int) (m >> 16) - (int) 0x3ffe;
-  m &= 0xffff;
-  u.parts32.w0 = m | 0x3ffe0000;
+  u.value = __frexpl (x, &e);
+  m = u.parts32.w0 & 0xffff;
   m |= 0x10000;
   /* Find lookup table index k from high order bits of the significand. */
   if (m < 0x16800)
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 3985945..d36b76a 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -7675,6 +7675,9 @@ ldouble: 1
 Test "log10 (0x2.b7e154p+0)":
 float: 1
 ifloat: 1
+Test "log10 (0x4p-128)":
+ildouble: 1
+ldouble: 1
 Test "log10 (0xcp-4)":
 double: 1
 float: 2

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

Summary of changes:
 ChangeLog                         |   11 +
 NEWS                              |    2 +-
 math/auto-libm-test-in            |   11 +
 math/auto-libm-test-out           |  790 +++++++++++++++++++++++++++++++++++++
 sysdeps/i386/fpu/libm-test-ulps   |    3 +
 sysdeps/ieee754/ldbl-128/e_logl.c |    5 +-
 sysdeps/x86_64/fpu/libm-test-ulps |    3 +
 7 files changed, 821 insertions(+), 4 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]