aboutsummaryrefslogtreecommitdiff
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.145647e77