about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--NEWS2
-rw-r--r--math/auto-libm-test-in11
-rw-r--r--math/auto-libm-test-out790
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps3
-rw-r--r--sysdeps/ieee754/ldbl-128/e_logl.c5
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps3
7 files changed, 821 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 84bf75e2da..0990137073 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 7886834864..fa19722fce 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 dd4fd22886..30e1ec6b38 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 7076b687ae..ff55c14271 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 ce4e631bbe..5ed3feefc9 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 395a76302a..3d1034dd61 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 398594533b..d36b76a047 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