diff mbox series

Implement C23 log2p1

Message ID 41a4a6c9-4942-a9be-9459-1aaeb44ffee8@redhat.com
State New
Headers show
Series Implement C23 log2p1 | expand

Commit Message

Joseph Myers April 8, 2024, 9:19 p.m. UTC
C23 adds various <math.h> function families originally defined in TS
18661-4.  Add the log2p1 functions (log2(1+x): like log1p, but for
base-2 logarithms).

This illustrates the intended structure of implementations of all
these function families: define them initially with a type-generic
template implementation.  If someone wishes to add type-specific
implementations, it is likely such implementations can be both faster
and more accurate than the type-generic one and can then override it
for types for which they are implemented (adding benchmarks would be
desirable in such cases to demonstrate that a new implementation is
indeed faster).

The test inputs are copied from those for log1p.  Note that these
changes make gen-auto-libm-tests depend on MPFR 4.2 (or later).

The bulk of the changes are fairly generic for any such new function.
(sysdeps/powerpc/nofpu/Makefile only needs changing for those
type-generic templates that use fabs.)

Tested for x86_64 and x86, and with build-many-glibcs.py.

---

This is explicitly proposed for review (in particular, the overall
intended structure of all such patches for these functions should be
reviewed), not for applying without review as math maintainer.

Comments

Paul Zimmermann April 10, 2024, 8:31 a.m. UTC | #1
Dear Joseph,

I tried your patch on a x86_64, it applies cleanly, everything compiles
cleanly, and I can use the new log2p1 function in both binary32, binary64,
double-extended and binary128.

As for accuracy, here are the largest errors I found for rounding to nearest:

float 0x1.a69b4ap-2 1.88 ulps
double 0x1.a7b725780ff2cp-2 1.87575 ulps
long double 0x5.dda3a1f4c4020ebp-4l 4.04684 ulps
Float128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 3.34125 ulps

Probably some values in libm-test-ulps should be updated.

Best regards,
Paul
Joseph Myers April 10, 2024, 2:34 p.m. UTC | #2
On Wed, 10 Apr 2024, Paul Zimmermann wrote:

>        Dear Joseph,
> 
> I tried your patch on a x86_64, it applies cleanly, everything compiles
> cleanly, and I can use the new log2p1 function in both binary32, binary64,
> double-extended and binary128.
> 
> As for accuracy, here are the largest errors I found for rounding to nearest:

In general I encourage adding extra tests to auto-libm-test-in where they 
show errors, for any implementation in glibc, larger than those inputs 
already present (but not so large that they cannot be entered in 
libm-test-ulps files).  So adding such inputs for log2p1 would be 
appropriate after this patch is in, and the same applies for all the other 
C23 functions as they get added.
Paul Zimmermann April 10, 2024, 2:46 p.m. UTC | #3
Hi Joseph,

I would prefer that you submit a v2 including the inputs yielding larger
errors that I pointed out in my review.

Paul

> Date: Wed, 10 Apr 2024 14:34:09 +0000 (UTC)
> From: Joseph Myers <josmyers@redhat.com>
> cc: libc-alpha@sourceware.org
> 
> On Wed, 10 Apr 2024, Paul Zimmermann wrote:
> 
> >        Dear Joseph,
> > 
> > I tried your patch on a x86_64, it applies cleanly, everything compiles
> > cleanly, and I can use the new log2p1 function in both binary32, binary64,
> > double-extended and binary128.
> > 
> > As for accuracy, here are the largest errors I found for rounding to nearest:
> 
> In general I encourage adding extra tests to auto-libm-test-in where they 
> show errors, for any implementation in glibc, larger than those inputs 
> already present (but not so large that they cannot be entered in 
> libm-test-ulps files).  So adding such inputs for log2p1 would be 
> appropriate after this patch is in, and the same applies for all the other 
> C23 functions as they get added.
> 
> -- 
> Joseph S. Myers
> josmyers@redhat.com
> 
>
Joseph Myers April 10, 2024, 3 p.m. UTC | #4
On Wed, 10 Apr 2024, Paul Zimmermann wrote:

>        Hi Joseph,
> 
> I would prefer that you submit a v2 including the inputs yielding larger
> errors that I pointed out in my review.

I think that's out of scope for this patch in the same way that adding 
benchmarks, or optimized function implementations for particular formats, 
or for that matter updating all the architecture-specific libm-test-ulps 
files, is out of scope: the design for this patch, and thus for all the 
subsequent patches adding such APIs (TS 18661-4 interfaces adopted in 
C23), is to provide the API and ABI in glibc with everything required for 
such a new interface (including being sufficiently accurate that errors 
are within the bounds accepted in libm-test-ulps files, and having tests 
of a representative range of inputs), but going for simplicity of 
implementation rather than trying to cover things that can reasonably be 
done in subsequent incremental improvements after the API and ABI have 
been added.
Carlos O'Donell April 15, 2024, 1:41 p.m. UTC | #5
On 4/8/24 17:19, Joseph Myers wrote:
> C23 adds various <math.h> function families originally defined in TS
> 18661-4.  Add the log2p1 functions (log2(1+x): like log1p, but for
> base-2 logarithms).
> 
> This illustrates the intended structure of implementations of all
> these function families: define them initially with a type-generic
> template implementation.  If someone wishes to add type-specific
> implementations, it is likely such implementations can be both faster
> and more accurate than the type-generic one and can then override it
> for types for which they are implemented (adding benchmarks would be
> desirable in such cases to demonstrate that a new implementation is
> indeed faster).
> 
> The test inputs are copied from those for log1p.  Note that these
> changes make gen-auto-libm-tests depend on MPFR 4.2 (or later).
> 
> The bulk of the changes are fairly generic for any such new function.
> (sysdeps/powerpc/nofpu/Makefile only needs changing for those
> type-generic templates that use fabs.)
> 
> Tested for x86_64 and x86, and with build-many-glibcs.py.

This fails CI for glibc:
https://patchwork.sourceware.org/project/glibc/patch/41a4a6c9-4942-a9be-9459-1aaeb44ffee8@redhat.com/

Please review the results and work with Linaro to ensure this passes.
Adhemerval Zanella Netto April 15, 2024, 1:52 p.m. UTC | #6
On 15/04/24 10:41, Carlos O'Donell wrote:
> On 4/8/24 17:19, Joseph Myers wrote:
>> C23 adds various <math.h> function families originally defined in TS
>> 18661-4.  Add the log2p1 functions (log2(1+x): like log1p, but for
>> base-2 logarithms).
>>
>> This illustrates the intended structure of implementations of all
>> these function families: define them initially with a type-generic
>> template implementation.  If someone wishes to add type-specific
>> implementations, it is likely such implementations can be both faster
>> and more accurate than the type-generic one and can then override it
>> for types for which they are implemented (adding benchmarks would be
>> desirable in such cases to demonstrate that a new implementation is
>> indeed faster).
>>
>> The test inputs are copied from those for log1p.  Note that these
>> changes make gen-auto-libm-tests depend on MPFR 4.2 (or later).
>>
>> The bulk of the changes are fairly generic for any such new function.
>> (sysdeps/powerpc/nofpu/Makefile only needs changing for those
>> type-generic templates that use fabs.)
>>
>> Tested for x86_64 and x86, and with build-many-glibcs.py.
> 
> This fails CI for glibc:
> https://patchwork.sourceware.org/project/glibc/patch/41a4a6c9-4942-a9be-9459-1aaeb44ffee8@redhat.com/
> 
> Please review the results and work with Linaro to ensure this passes.
> 

These are the required ULPs update for arm and powerpc:

diff --git a/sysdeps/aarch64/libm-test-ulps b/sysdeps/aarch64/libm-test-ulps
index 116a5404f5..43aa07ba10 100644
--- a/sysdeps/aarch64/libm-test-ulps
+++ b/sysdeps/aarch64/libm-test-ulps
@@ -1355,6 +1355,26 @@ double: 3
 float: 3
 ldouble: 1
 
+Function: "log2p1":
+double: 1
+float: 1
+ldouble: 3
+
+Function: "log2p1_downward":
+double: 2
+float: 2
+ldouble: 3
+
+Function: "log2p1_towardzero":
+double: 2
+float: 2
+ldouble: 2
+
+Function: "log2p1_upward":
+double: 1
+float: 2
+ldouble: 2
+
 Function: "log_advsimd":
 double: 1
 float: 3
diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps
index 5720e73288..fc7ba1439a 100644
--- a/sysdeps/arm/libm-test-ulps
+++ b/sysdeps/arm/libm-test-ulps
@@ -965,6 +965,22 @@ Function: "log2_upward":
 double: 3
 float: 3
 
+Function: "log2p1":
+double: 1
+float: 1
+
+Function: "log2p1_downward":
+double: 2
+float: 2
+
+Function: "log2p1_towardzero":
+double: 2
+float: 2
+
+Function: "log2p1_upward":
+double: 1
+float: 2
+
 Function: "log_downward":
 float: 2
 
diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps
index dbf71d8194..78e9a9ad6e 100644
--- a/sysdeps/powerpc/fpu/libm-test-ulps
+++ b/sysdeps/powerpc/fpu/libm-test-ulps
@@ -1506,6 +1506,30 @@ float: 3
 float128: 1
 ldouble: 4
 
+Function: "log2p1":
+double: 1
+float: 1
+float128: 2
+ldouble: 2
+
+Function: "log2p1_downward":
+double: 2
+float: 2
+float128: 3
+ldouble: 4
+
+Function: "log2p1_towardzero":
+double: 2
+float: 2
+float128: 2
+ldouble: 4
+
+Function: "log2p1_upward":
+double: 1
+float: 2
+float128: 2
+ldouble: 4
+
 Function: "log_downward":
 float: 2
 float128: 1
Joseph Myers April 18, 2024, 1:26 p.m. UTC | #7
On Mon, 15 Apr 2024, Carlos O'Donell wrote:

> This fails CI for glibc:
> https://patchwork.sourceware.org/project/glibc/patch/41a4a6c9-4942-a9be-9459-1aaeb44ffee8@redhat.com/

New ulps failures are expected for new libm functions.  I think it's 
appropriate for libm-test-ulps updates to be done by architecture 
maintainers or others testing on an architecture (not necessarily for 
every patch, sometimes such testers might batch updates and update 
libm-test-ulps for multiple architectures at a time), rather than 
expecting them all to be included in the initial patch or making such 
functions need a multi-stage patch process where the initial patch needs 
updating with more libm-test-ulps updates before commit.

(There is a reasonable argument for having a single libm-test-ulps file 
that lists expected error bounds by format (e.g. binary64, binary128) not 
type, notwithstanding that sometimes multiple implementations are used for 
a given function for a given floating-point format, and notwithstanding 
that sometimes the ulps for a given implementation may depend on e.g. 
whether the compiler contracts operations when building it.  But while we 
have the per-architecture files, I don't think we should expect 
new-function patches to update them for more than one architecture.)
Joseph Myers April 29, 2024, 1:34 p.m. UTC | #8
I'd like to ping this patch 
<https://sourceware.org/pipermail/libc-alpha/2024-April/155960.html>, and, 
in particular:

(a) the actual content of the patch, which no-one has commented on 
(instead preferring to suggest other things to add to it);

(b) the questions of what goes in such patches, where I argue that we 
should not expect libm-test-ulps updates for more than one architecture, 
or additional test inputs based on searches for worst-case inputs, to be 
included in such a patch: that it should be sufficient to include 
libm-test-ulps updates for a single architecture, and tests that seem 
appropriate based on the mathematical properties of the function being 
tested, and further additions there can reasonably be made in followup 
patches.  (Note that even if we moved to a single libm-test-ulps shared 
between architectures and listing expected ulps based on floating-point 
format rather than type, it still wouldn't be possible to update all ulps 
on a single system: no architecture supports both ldbl-96 and 
ldbl-128ibm.)
Paul Zimmermann April 29, 2024, 1:51 p.m. UTC | #9
Dear Joseph,

I have already given my opinion on this patch (after sending several hours
to exercise it):

https://sourceware.org/pipermail/libc-alpha/2024-April/156007.html

I now let other people comment.

Paul Zimmermann

> Date: Mon, 29 Apr 2024 13:34:08 +0000 (UTC)
> From: Joseph Myers <josmyers@redhat.com>
> 
> I'd like to ping this patch 
> <https://sourceware.org/pipermail/libc-alpha/2024-April/155960.html>, and, 
> in particular:
> 
> (a) the actual content of the patch, which no-one has commented on 
> (instead preferring to suggest other things to add to it);
> 
> (b) the questions of what goes in such patches, where I argue that we 
> should not expect libm-test-ulps updates for more than one architecture, 
> or additional test inputs based on searches for worst-case inputs, to be 
> included in such a patch: that it should be sufficient to include 
> libm-test-ulps updates for a single architecture, and tests that seem 
> appropriate based on the mathematical properties of the function being 
> tested, and further additions there can reasonably be made in followup 
> patches.  (Note that even if we moved to a single libm-test-ulps shared 
> between architectures and listing expected ulps based on floating-point 
> format rather than type, it still wouldn't be possible to update all ulps 
> on a single system: no architecture supports both ldbl-96 and 
> ldbl-128ibm.)
> 
> -- 
> Joseph S. Myers
> josmyers@redhat.com
>
diff mbox series

Patch

diff --git a/NEWS b/NEWS
index da4b2223e9..e18e80addf 100644
--- a/NEWS
+++ b/NEWS
@@ -21,6 +21,13 @@  Major new features:
   by _GNU_SOURCE, or by compiling with the GCC options -std=c23,
   -std=gnu23, -std=c2x or -std=gnu2x.
 
+* The following ISO C23 function families (introduced in TS
+  18661-4:2015) are now supported in <math.h>.  Each family includes
+  functions for float, double, long double, _FloatN and _FloatNx, and a
+  type-generic macro in <tgmath.h>.
+
+  - Logarithmic functions: log2p1.
+
 * A new tunable, glibc.rtld.enable_secure, used to run a program
   as if it were a setuid process. This is currently a testing tool to allow
   more extensive verification tests for AT_SECURE programs and not meant to
diff --git a/manual/math.texi b/manual/math.texi
index dfb685a71e..c99501ccb1 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -754,6 +754,20 @@  They are computed in a way that is accurate even if @var{x} is
 near zero.
 @end deftypefun
 
+@deftypefun double log2p1 (double @var{x})
+@deftypefunx float log2p1f (float @var{x})
+@deftypefunx {long double} log2p1l (long double @var{x})
+@deftypefunx _FloatN log2p1fN (_Float@var{N} @var{x})
+@deftypefunx _FloatNx log2p1fNx (_Float@var{N}x @var{x})
+@standards{TS 18661-4:2015, math.h}
+@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
+These functions return a value equivalent to @w{@code{log2 (1 + @var{x})}}.
+They are computed in a way that is accurate even if @var{x} is
+near zero.
+
+The @code{log2p1} functions are from TS 18661-4:2015.
+@end deftypefun
+
 @cindex complex exponentiation functions
 @cindex complex logarithm functions
 
diff --git a/math/Makefile b/math/Makefile
index a9fef9e2db..16a0df8a57 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -127,6 +127,7 @@  gen-libm-calls = \
   s_fminimum_numF \
   s_fminmagF \
   s_iseqsigF \
+  s_log2p1F \
   s_nanF \
   s_nextdownF \
   s_significandF \
@@ -647,6 +648,7 @@  libm-test-funcs-auto = \
   log10 \
   log1p \
   log2 \
+  log2p1 \
   pow \
   sin \
   sincos \
@@ -889,6 +891,7 @@  tgmath3-macros = \
   log10 \
   log1p \
   log2 \
+  log2p1 \
   logb \
   lrint \
   lround \
@@ -1261,6 +1264,7 @@  CFLAGS-e_log.c += -fno-builtin-logl
 CFLAGS-w_log10.c += -fno-builtin-log10l
 CFLAGS-w_log1p.c += -fno-builtin-log1pl
 CFLAGS-e_log2.c += -fno-builtin-log2l
+CFLAGS-s_log2p1.c += -fno-builtin-log2p1l
 CFLAGS-s_logb.c += -fno-builtin-logbl
 CFLAGS-s_lrint.c += -fno-builtin-lrintl
 CFLAGS-s_lround.c += -fno-builtin-lroundl
@@ -1386,6 +1390,7 @@  CFLAGS-e_log.c += -fno-builtin-logf32x -fno-builtin-logf64
 CFLAGS-w_log10.c += -fno-builtin-log10f32x -fno-builtin-log10f64
 CFLAGS-w_log1p.c += -fno-builtin-log1pf32x -fno-builtin-log1pf64
 CFLAGS-e_log2.c += -fno-builtin-log2f32x -fno-builtin-log2f64
+CFLAGS-s_log2p1.c += -fno-builtin-log2p1f32x -fno-builtin-log2p1f64
 CFLAGS-s_logb.c += -fno-builtin-logbf32x -fno-builtin-logbf64
 CFLAGS-s_lrint.c += -fno-builtin-lrintf32x -fno-builtin-lrintf64
 CFLAGS-s_lround.c += -fno-builtin-lroundf32x -fno-builtin-lroundf64
@@ -1500,6 +1505,7 @@  CFLAGS-e_logf.c += -fno-builtin-logf32
 CFLAGS-w_log10f.c += -fno-builtin-log10f32
 CFLAGS-w_log1pf.c += -fno-builtin-log1pf32
 CFLAGS-e_log2f.c += -fno-builtin-log2f32
+CFLAGS-s_log2p1f.c += -fno-builtin-log2p1f32
 CFLAGS-s_logbf.c += -fno-builtin-logbf32
 CFLAGS-s_lrintf.c += -fno-builtin-lrintf32
 CFLAGS-s_lroundf.c += -fno-builtin-lroundf32
diff --git a/math/Versions b/math/Versions
index 26e15cedea..46b9b87010 100644
--- a/math/Versions
+++ b/math/Versions
@@ -639,4 +639,10 @@  libm {
     # No SVID compatible error handling.
     exp10;
   }
+  GLIBC_2.40 {
+    # Functions not involving _Float64x or _Float128, for all configurations.
+    log2p1; log2p1f; log2p1l; log2p1f32; log2p1f64; log2p1f32x;
+    # Functions involving _Float64x or _Float128, for some configurations.
+    log2p1f64x; log2p1f128;
+  }
 }
diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 05d7ae5002..8982338b3a 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -6664,6 +6664,57 @@  log2 min
 log2 min_subnorm
 log2 max
 
+log2p1 0
+log2p1 -0
+log2p1 e-1
+log2p1 -0.25
+log2p1 -0.875
+log2p1 0x1p-5
+log2p1 0x1p-10
+log2p1 0x1p-15
+log2p1 0x1p-20
+log2p1 0x1p-25
+log2p1 0x1p-30
+log2p1 0x1p-35
+log2p1 0x1p-40
+log2p1 0x1p-45
+log2p1 0x1p-50
+log2p1 0x1p-55
+log2p1 0x1p-60
+log2p1 0x1p-100
+log2p1 0x1p-600
+log2p1 0x1p-10000
+log2p1 min
+log2p1 min_subnorm
+log2p1 -min
+log2p1 -min_subnorm
+log2p1 0x1p10
+log2p1 0x1p20
+log2p1 0x1p30
+log2p1 0x1p50
+log2p1 0x1p60
+log2p1 0x1p100
+log2p1 0x1p1000
+log2p1 0x6.a0cf42befce9ed4085ef59254b48p-4
+log2p1 max
+
+log2p1 0x7.2a4368p-4
+log2p1 0x6.d3a118p-4
+log2p1 0x5.03f228p+0
+log2p1 0x7.264963888ac9p-4
+log2p1 0x8.786bdp-4
+log2p1 0x7.89dc17790eeb4p-4
+log2p1 0x9.81ccf8887c24a7bp-4
+log2p1 0xa.5028608bd65f38dp-4
+log2p1 0x5.bf78873e20a2d468p-4
+log2p1 0x7.aa5198p-4
+log2p1 0x2.564fap+0
+log2p1 0x7.fc242a2235222ef8p-4
+log2p1 -0x4.f37d3c9ce0b14bdd86eb157df5d4p-4
+log2p1 0x7.2eca50c4d93196362b4f37f6e8dcp-4
+log2p1 -0x6.3fef3067427e43dfcde9e48f74bcp-4
+log2p1 0x6.af53d00fd2845d4772260ef5adc4p-4
+
 mul 0 0
 mul 0 -0
 mul -0 0
diff --git a/math/auto-libm-test-out-log2p1 b/math/auto-libm-test-out-log2p1
new file mode 100644
index 0000000000..c8ec972d6f
--- /dev/null
+++ b/math/auto-libm-test-out-log2p1
@@ -0,0 +1,2713 @@ 
+log2p1 0
+= log2p1 downward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+log2p1 -0
+= log2p1 downward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 tonearest binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 towardzero binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 upward binary32 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 downward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 tonearest binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 towardzero binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 upward binary64 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 downward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 tonearest intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 towardzero intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 upward intel96 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 downward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 tonearest m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 towardzero m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 upward m68k96 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 downward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 tonearest binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 towardzero binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 upward binary128 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 downward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 tonearest ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 towardzero ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+= log2p1 upward ibm128 -0x0p+0 : -0x0p+0 : inexact-ok
+log2p1 e-1
+= log2p1 downward binary32 0x1.b7e152p+0 : 0x1.715476p+0 : inexact-ok
+= log2p1 tonearest binary32 0x1.b7e152p+0 : 0x1.715476p+0 : inexact-ok
+= log2p1 towardzero binary32 0x1.b7e152p+0 : 0x1.715476p+0 : inexact-ok
+= log2p1 upward binary32 0x1.b7e152p+0 : 0x1.715478p+0 : inexact-ok
+= log2p1 downward binary64 0x1.b7e152p+0 : 0x1.715476a649bcdp+0 : inexact-ok
+= log2p1 tonearest binary64 0x1.b7e152p+0 : 0x1.715476a649bcep+0 : inexact-ok
+= log2p1 towardzero binary64 0x1.b7e152p+0 : 0x1.715476a649bcdp+0 : inexact-ok
+= log2p1 upward binary64 0x1.b7e152p+0 : 0x1.715476a649bcep+0 : inexact-ok
+= log2p1 downward intel96 0x1.b7e152p+0 : 0x1.715476a649bcdd1p+0 : inexact-ok
+= log2p1 tonearest intel96 0x1.b7e152p+0 : 0x1.715476a649bcdd1p+0 : inexact-ok
+= log2p1 towardzero intel96 0x1.b7e152p+0 : 0x1.715476a649bcdd1p+0 : inexact-ok
+= log2p1 upward intel96 0x1.b7e152p+0 : 0x1.715476a649bcdd12p+0 : inexact-ok
+= log2p1 downward m68k96 0x1.b7e152p+0 : 0x1.715476a649bcdd1p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x1.b7e152p+0 : 0x1.715476a649bcdd1p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x1.b7e152p+0 : 0x1.715476a649bcdd1p+0 : inexact-ok
+= log2p1 upward m68k96 0x1.b7e152p+0 : 0x1.715476a649bcdd12p+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e152p+0 : 0x1.715476a649bcdd1095ef715f7243p+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e152p+0 : 0x1.715476a649bcdd1095ef715f7243p+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e152p+0 : 0x1.715476a649bcdd1095ef715f7243p+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e152p+0 : 0x1.715476a649bcdd1095ef715f7244p+0 : inexact-ok
+= log2p1 downward ibm128 0x1.b7e152p+0 : 0x1.715476a649bcdd1095ef715f72p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x1.b7e152p+0 : 0x1.715476a649bcdd1095ef715f728p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x1.b7e152p+0 : 0x1.715476a649bcdd1095ef715f72p+0 : inexact-ok
+= log2p1 upward ibm128 0x1.b7e152p+0 : 0x1.715476a649bcdd1095ef715f728p+0 : inexact-ok
+= log2p1 downward binary32 0x1.b7e15p+0 : 0x1.715474p+0 : inexact-ok
+= log2p1 tonearest binary32 0x1.b7e15p+0 : 0x1.715476p+0 : inexact-ok
+= log2p1 towardzero binary32 0x1.b7e15p+0 : 0x1.715474p+0 : inexact-ok
+= log2p1 upward binary32 0x1.b7e15p+0 : 0x1.715476p+0 : inexact-ok
+= log2p1 downward binary64 0x1.b7e15p+0 : 0x1.715475968cddcp+0 : inexact-ok
+= log2p1 tonearest binary64 0x1.b7e15p+0 : 0x1.715475968cddcp+0 : inexact-ok
+= log2p1 towardzero binary64 0x1.b7e15p+0 : 0x1.715475968cddcp+0 : inexact-ok
+= log2p1 upward binary64 0x1.b7e15p+0 : 0x1.715475968cdddp+0 : inexact-ok
+= log2p1 downward intel96 0x1.b7e15p+0 : 0x1.715475968cddc4e6p+0 : inexact-ok
+= log2p1 tonearest intel96 0x1.b7e15p+0 : 0x1.715475968cddc4e6p+0 : inexact-ok
+= log2p1 towardzero intel96 0x1.b7e15p+0 : 0x1.715475968cddc4e6p+0 : inexact-ok
+= log2p1 upward intel96 0x1.b7e15p+0 : 0x1.715475968cddc4e8p+0 : inexact-ok
+= log2p1 downward m68k96 0x1.b7e15p+0 : 0x1.715475968cddc4e6p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x1.b7e15p+0 : 0x1.715475968cddc4e6p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x1.b7e15p+0 : 0x1.715475968cddc4e6p+0 : inexact-ok
+= log2p1 upward m68k96 0x1.b7e15p+0 : 0x1.715475968cddc4e8p+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e15p+0 : 0x1.715475968cddc4e6c2b1cbd1a7c7p+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e15p+0 : 0x1.715475968cddc4e6c2b1cbd1a7c8p+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e15p+0 : 0x1.715475968cddc4e6c2b1cbd1a7c7p+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e15p+0 : 0x1.715475968cddc4e6c2b1cbd1a7c8p+0 : inexact-ok
+= log2p1 downward ibm128 0x1.b7e15p+0 : 0x1.715475968cddc4e6c2b1cbd1a78p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x1.b7e15p+0 : 0x1.715475968cddc4e6c2b1cbd1a8p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x1.b7e15p+0 : 0x1.715475968cddc4e6c2b1cbd1a78p+0 : inexact-ok
+= log2p1 upward ibm128 0x1.b7e15p+0 : 0x1.715475968cddc4e6c2b1cbd1a8p+0 : inexact-ok
+= log2p1 downward binary64 0x1.b7e151628aed3p+0 : 0x1.71547652b82fep+0 : inexact-ok
+= log2p1 tonearest binary64 0x1.b7e151628aed3p+0 : 0x1.71547652b82fep+0 : inexact-ok
+= log2p1 towardzero binary64 0x1.b7e151628aed3p+0 : 0x1.71547652b82fep+0 : inexact-ok
+= log2p1 upward binary64 0x1.b7e151628aed3p+0 : 0x1.71547652b82ffp+0 : inexact-ok
+= log2p1 downward intel96 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46ep+0 : inexact-ok
+= log2p1 tonearest intel96 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46ep+0 : inexact-ok
+= log2p1 towardzero intel96 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46ep+0 : inexact-ok
+= log2p1 upward intel96 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe47p+0 : inexact-ok
+= log2p1 downward m68k96 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46ep+0 : inexact-ok
+= log2p1 tonearest m68k96 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46ep+0 : inexact-ok
+= log2p1 towardzero m68k96 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46ep+0 : inexact-ok
+= log2p1 upward m68k96 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe47p+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46e0bf78d510ab9p+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46e0bf78d510ab9p+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46e0bf78d510ab9p+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46e0bf78d510abap+0 : inexact-ok
+= log2p1 downward ibm128 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46e0bf78d510a8p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46e0bf78d510a8p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46e0bf78d510a8p+0 : inexact-ok
+= log2p1 upward ibm128 0x1.b7e151628aed3p+0 : 0x1.71547652b82fe46e0bf78d510bp+0 : inexact-ok
+= log2p1 downward binary64 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdp+0 : inexact-ok
+= log2p1 tonearest binary64 0x1.b7e151628aed2p+0 : 0x1.71547652b82fep+0 : inexact-ok
+= log2p1 towardzero binary64 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdp+0 : inexact-ok
+= log2p1 upward binary64 0x1.b7e151628aed2p+0 : 0x1.71547652b82fep+0 : inexact-ok
+= log2p1 downward intel96 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbfp+0 : inexact-ok
+= log2p1 tonearest intel96 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbfp+0 : inexact-ok
+= log2p1 towardzero intel96 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbfp+0 : inexact-ok
+= log2p1 upward intel96 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf2p+0 : inexact-ok
+= log2p1 downward m68k96 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbfp+0 : inexact-ok
+= log2p1 tonearest m68k96 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbfp+0 : inexact-ok
+= log2p1 towardzero m68k96 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbfp+0 : inexact-ok
+= log2p1 upward m68k96 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf2p+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf024ffffda5e62p+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf024ffffda5e62p+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf024ffffda5e62p+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf024ffffda5e63p+0 : inexact-ok
+= log2p1 downward ibm128 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf024ffffda5ep+0 : inexact-ok
+= log2p1 tonearest ibm128 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf024ffffda5e8p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf024ffffda5ep+0 : inexact-ok
+= log2p1 upward ibm128 0x1.b7e151628aed2p+0 : 0x1.71547652b82fdbf024ffffda5e8p+0 : inexact-ok
+= log2p1 downward intel96 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 tonearest intel96 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 towardzero intel96 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 upward intel96 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe17ap+0 : inexact-ok
+= log2p1 downward m68k96 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 upward m68k96 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe17ap+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe1782731bf3f6b29p+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe1782731bf3f6b29p+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe1782731bf3f6b29p+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe1782731bf3f6b2ap+0 : inexact-ok
+= log2p1 downward ibm128 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe1782731bf3f6bp+0 : inexact-ok
+= log2p1 tonearest ibm128 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe1782731bf3f6bp+0 : inexact-ok
+= log2p1 towardzero ibm128 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe1782731bf3f6bp+0 : inexact-ok
+= log2p1 upward ibm128 0x1.b7e151628aed2a6cp+0 : 0x1.71547652b82fe1782731bf3f6b8p+0 : inexact-ok
+= log2p1 downward intel96 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe176p+0 : inexact-ok
+= log2p1 tonearest intel96 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 towardzero intel96 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe176p+0 : inexact-ok
+= log2p1 upward intel96 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 downward m68k96 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe176p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe176p+0 : inexact-ok
+= log2p1 upward m68k96 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe178p+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe1771774e04dbc53p+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe1771774e04dbc54p+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe1771774e04dbc53p+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe1771774e04dbc54p+0 : inexact-ok
+= log2p1 downward ibm128 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe1771774e04dbcp+0 : inexact-ok
+= log2p1 tonearest ibm128 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe1771774e04dbc8p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe1771774e04dbcp+0 : inexact-ok
+= log2p1 upward ibm128 0x1.b7e151628aed2a6ap+0 : 0x1.71547652b82fe1771774e04dbc8p+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e151628aed2a6abf7158809cf5p+0 : 0x1.71547652b82fe1777d0ffda0d23ap+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e151628aed2a6abf7158809cf5p+0 : 0x1.71547652b82fe1777d0ffda0d23bp+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e151628aed2a6abf7158809cf5p+0 : 0x1.71547652b82fe1777d0ffda0d23ap+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e151628aed2a6abf7158809cf5p+0 : 0x1.71547652b82fe1777d0ffda0d23bp+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e151628aed2a6abf7158809cf4p+0 : 0x1.71547652b82fe1777d0ffda0d239p+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e151628aed2a6abf7158809cf4p+0 : 0x1.71547652b82fe1777d0ffda0d23ap+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e151628aed2a6abf7158809cf4p+0 : 0x1.71547652b82fe1777d0ffda0d239p+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e151628aed2a6abf7158809cf4p+0 : 0x1.71547652b82fe1777d0ffda0d23ap+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e151628aed2a6abf7158809dp+0 : 0x1.71547652b82fe1777d0ffda0d24p+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e151628aed2a6abf7158809dp+0 : 0x1.71547652b82fe1777d0ffda0d24p+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e151628aed2a6abf7158809dp+0 : 0x1.71547652b82fe1777d0ffda0d24p+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e151628aed2a6abf7158809dp+0 : 0x1.71547652b82fe1777d0ffda0d241p+0 : inexact-ok
+= log2p1 downward ibm128 0x1.b7e151628aed2a6abf7158809dp+0 : 0x1.71547652b82fe1777d0ffda0d2p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x1.b7e151628aed2a6abf7158809dp+0 : 0x1.71547652b82fe1777d0ffda0d28p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x1.b7e151628aed2a6abf7158809dp+0 : 0x1.71547652b82fe1777d0ffda0d2p+0 : inexact-ok
+= log2p1 upward ibm128 0x1.b7e151628aed2a6abf7158809dp+0 : 0x1.71547652b82fe1777d0ffda0d28p+0 : inexact-ok
+= log2p1 downward binary128 0x1.b7e151628aed2a6abf7158809c8p+0 : 0x1.71547652b82fe1777d0ffda0d1fcp+0 : inexact-ok
+= log2p1 tonearest binary128 0x1.b7e151628aed2a6abf7158809c8p+0 : 0x1.71547652b82fe1777d0ffda0d1fcp+0 : inexact-ok
+= log2p1 towardzero binary128 0x1.b7e151628aed2a6abf7158809c8p+0 : 0x1.71547652b82fe1777d0ffda0d1fcp+0 : inexact-ok
+= log2p1 upward binary128 0x1.b7e151628aed2a6abf7158809c8p+0 : 0x1.71547652b82fe1777d0ffda0d1fdp+0 : inexact-ok
+= log2p1 downward ibm128 0x1.b7e151628aed2a6abf7158809c8p+0 : 0x1.71547652b82fe1777d0ffda0d18p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x1.b7e151628aed2a6abf7158809c8p+0 : 0x1.71547652b82fe1777d0ffda0d2p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x1.b7e151628aed2a6abf7158809c8p+0 : 0x1.71547652b82fe1777d0ffda0d18p+0 : inexact-ok
+= log2p1 upward ibm128 0x1.b7e151628aed2a6abf7158809c8p+0 : 0x1.71547652b82fe1777d0ffda0d2p+0 : inexact-ok
+log2p1 -0.25
+= log2p1 downward binary32 -0x4p-4 : -0x6.a3fe6p-4 : inexact-ok
+= log2p1 tonearest binary32 -0x4p-4 : -0x6.a3fe6p-4 : inexact-ok
+= log2p1 towardzero binary32 -0x4p-4 : -0x6.a3fe58p-4 : inexact-ok
+= log2p1 upward binary32 -0x4p-4 : -0x6.a3fe58p-4 : inexact-ok
+= log2p1 downward binary64 -0x4p-4 : -0x6.a3fe5c604297cp-4 : inexact-ok
+= log2p1 tonearest binary64 -0x4p-4 : -0x6.a3fe5c6042978p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x4p-4 : -0x6.a3fe5c6042978p-4 : inexact-ok
+= log2p1 upward binary64 -0x4p-4 : -0x6.a3fe5c6042978p-4 : inexact-ok
+= log2p1 downward intel96 -0x4p-4 : -0x6.a3fe5c6042978608p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x4p-4 : -0x6.a3fe5c6042978608p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x4p-4 : -0x6.a3fe5c60429786p-4 : inexact-ok
+= log2p1 upward intel96 -0x4p-4 : -0x6.a3fe5c60429786p-4 : inexact-ok
+= log2p1 downward m68k96 -0x4p-4 : -0x6.a3fe5c6042978608p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x4p-4 : -0x6.a3fe5c6042978608p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x4p-4 : -0x6.a3fe5c60429786p-4 : inexact-ok
+= log2p1 upward m68k96 -0x4p-4 : -0x6.a3fe5c60429786p-4 : inexact-ok
+= log2p1 downward binary128 -0x4p-4 : -0x6.a3fe5c6042978605ff4edf5f9748p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4p-4 : -0x6.a3fe5c6042978605ff4edf5f9744p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4p-4 : -0x6.a3fe5c6042978605ff4edf5f9744p-4 : inexact-ok
+= log2p1 upward binary128 -0x4p-4 : -0x6.a3fe5c6042978605ff4edf5f9744p-4 : inexact-ok
+= log2p1 downward ibm128 -0x4p-4 : -0x6.a3fe5c6042978605ff4edf5f98p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x4p-4 : -0x6.a3fe5c6042978605ff4edf5f98p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x4p-4 : -0x6.a3fe5c6042978605ff4edf5f96p-4 : inexact-ok
+= log2p1 upward ibm128 -0x4p-4 : -0x6.a3fe5c6042978605ff4edf5f96p-4 : inexact-ok
+log2p1 -0.875
+= log2p1 downward binary32 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 tonearest binary32 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 towardzero binary32 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 upward binary32 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 downward binary64 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 tonearest binary64 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 towardzero binary64 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 upward binary64 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 downward intel96 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 tonearest intel96 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 towardzero intel96 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 upward intel96 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 downward m68k96 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 tonearest m68k96 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 towardzero m68k96 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 upward m68k96 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 downward binary128 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 tonearest binary128 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 towardzero binary128 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 upward binary128 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 downward ibm128 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 tonearest ibm128 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 towardzero ibm128 -0xep-4 : -0x3p+0 : inexact-ok
+= log2p1 upward ibm128 -0xep-4 : -0x3p+0 : inexact-ok
+log2p1 0x1p-5
+= log2p1 downward binary32 0x8p-8 : 0xb.5d69bp-8 : inexact-ok
+= log2p1 tonearest binary32 0x8p-8 : 0xb.5d69cp-8 : inexact-ok
+= log2p1 towardzero binary32 0x8p-8 : 0xb.5d69bp-8 : inexact-ok
+= log2p1 upward binary32 0x8p-8 : 0xb.5d69cp-8 : inexact-ok
+= log2p1 downward binary64 0x8p-8 : 0xb.5d69bac77ec38p-8 : inexact-ok
+= log2p1 tonearest binary64 0x8p-8 : 0xb.5d69bac77ec38p-8 : inexact-ok
+= log2p1 towardzero binary64 0x8p-8 : 0xb.5d69bac77ec38p-8 : inexact-ok
+= log2p1 upward binary64 0x8p-8 : 0xb.5d69bac77ec4p-8 : inexact-ok
+= log2p1 downward intel96 0x8p-8 : 0xb.5d69bac77ec3989p-8 : inexact-ok
+= log2p1 tonearest intel96 0x8p-8 : 0xb.5d69bac77ec398ap-8 : inexact-ok
+= log2p1 towardzero intel96 0x8p-8 : 0xb.5d69bac77ec3989p-8 : inexact-ok
+= log2p1 upward intel96 0x8p-8 : 0xb.5d69bac77ec398ap-8 : inexact-ok
+= log2p1 downward m68k96 0x8p-8 : 0xb.5d69bac77ec3989p-8 : inexact-ok
+= log2p1 tonearest m68k96 0x8p-8 : 0xb.5d69bac77ec398ap-8 : inexact-ok
+= log2p1 towardzero m68k96 0x8p-8 : 0xb.5d69bac77ec3989p-8 : inexact-ok
+= log2p1 upward m68k96 0x8p-8 : 0xb.5d69bac77ec398ap-8 : inexact-ok
+= log2p1 downward binary128 0x8p-8 : 0xb.5d69bac77ec3989b03784b5be08p-8 : inexact-ok
+= log2p1 tonearest binary128 0x8p-8 : 0xb.5d69bac77ec3989b03784b5be088p-8 : inexact-ok
+= log2p1 towardzero binary128 0x8p-8 : 0xb.5d69bac77ec3989b03784b5be08p-8 : inexact-ok
+= log2p1 upward binary128 0x8p-8 : 0xb.5d69bac77ec3989b03784b5be088p-8 : inexact-ok
+= log2p1 downward ibm128 0x8p-8 : 0xb.5d69bac77ec3989b03784b5bep-8 : inexact-ok
+= log2p1 tonearest ibm128 0x8p-8 : 0xb.5d69bac77ec3989b03784b5bep-8 : inexact-ok
+= log2p1 towardzero ibm128 0x8p-8 : 0xb.5d69bac77ec3989b03784b5bep-8 : inexact-ok
+= log2p1 upward ibm128 0x8p-8 : 0xb.5d69bac77ec3989b03784b5be4p-8 : inexact-ok
+log2p1 0x1p-10
+= log2p1 downward binary32 0x4p-12 : 0x5.c49948p-12 : inexact-ok
+= log2p1 tonearest binary32 0x4p-12 : 0x5.c4995p-12 : inexact-ok
+= log2p1 towardzero binary32 0x4p-12 : 0x5.c49948p-12 : inexact-ok
+= log2p1 upward binary32 0x4p-12 : 0x5.c4995p-12 : inexact-ok
+= log2p1 downward binary64 0x4p-12 : 0x5.c4994dd0fd15p-12 : inexact-ok
+= log2p1 tonearest binary64 0x4p-12 : 0x5.c4994dd0fd15p-12 : inexact-ok
+= log2p1 towardzero binary64 0x4p-12 : 0x5.c4994dd0fd15p-12 : inexact-ok
+= log2p1 upward binary64 0x4p-12 : 0x5.c4994dd0fd154p-12 : inexact-ok
+= log2p1 downward intel96 0x4p-12 : 0x5.c4994dd0fd1507e8p-12 : inexact-ok
+= log2p1 tonearest intel96 0x4p-12 : 0x5.c4994dd0fd1507e8p-12 : inexact-ok
+= log2p1 towardzero intel96 0x4p-12 : 0x5.c4994dd0fd1507e8p-12 : inexact-ok
+= log2p1 upward intel96 0x4p-12 : 0x5.c4994dd0fd1507fp-12 : inexact-ok
+= log2p1 downward m68k96 0x4p-12 : 0x5.c4994dd0fd1507e8p-12 : inexact-ok
+= log2p1 tonearest m68k96 0x4p-12 : 0x5.c4994dd0fd1507e8p-12 : inexact-ok
+= log2p1 towardzero m68k96 0x4p-12 : 0x5.c4994dd0fd1507e8p-12 : inexact-ok
+= log2p1 upward m68k96 0x4p-12 : 0x5.c4994dd0fd1507fp-12 : inexact-ok
+= log2p1 downward binary128 0x4p-12 : 0x5.c4994dd0fd1507ea7e50e498deb4p-12 : inexact-ok
+= log2p1 tonearest binary128 0x4p-12 : 0x5.c4994dd0fd1507ea7e50e498deb8p-12 : inexact-ok
+= log2p1 towardzero binary128 0x4p-12 : 0x5.c4994dd0fd1507ea7e50e498deb4p-12 : inexact-ok
+= log2p1 upward binary128 0x4p-12 : 0x5.c4994dd0fd1507ea7e50e498deb8p-12 : inexact-ok
+= log2p1 downward ibm128 0x4p-12 : 0x5.c4994dd0fd1507ea7e50e498dep-12 : inexact-ok
+= log2p1 tonearest ibm128 0x4p-12 : 0x5.c4994dd0fd1507ea7e50e498dep-12 : inexact-ok
+= log2p1 towardzero ibm128 0x4p-12 : 0x5.c4994dd0fd1507ea7e50e498dep-12 : inexact-ok
+= log2p1 upward ibm128 0x4p-12 : 0x5.c4994dd0fd1507ea7e50e498ep-12 : inexact-ok
+log2p1 0x1p-15
+= log2p1 downward binary32 0x2p-16 : 0x2.e2a608p-16 : inexact-ok
+= log2p1 tonearest binary32 0x2p-16 : 0x2.e2a60cp-16 : inexact-ok
+= log2p1 towardzero binary32 0x2p-16 : 0x2.e2a608p-16 : inexact-ok
+= log2p1 upward binary32 0x2p-16 : 0x2.e2a60cp-16 : inexact-ok
+= log2p1 downward binary64 0x2p-16 : 0x2.e2a60a005c95cp-16 : inexact-ok
+= log2p1 tonearest binary64 0x2p-16 : 0x2.e2a60a005c95cp-16 : inexact-ok
+= log2p1 towardzero binary64 0x2p-16 : 0x2.e2a60a005c95cp-16 : inexact-ok
+= log2p1 upward binary64 0x2p-16 : 0x2.e2a60a005c95ep-16 : inexact-ok
+= log2p1 downward intel96 0x2p-16 : 0x2.e2a60a005c95c8ccp-16 : inexact-ok
+= log2p1 tonearest intel96 0x2p-16 : 0x2.e2a60a005c95c8ccp-16 : inexact-ok
+= log2p1 towardzero intel96 0x2p-16 : 0x2.e2a60a005c95c8ccp-16 : inexact-ok
+= log2p1 upward intel96 0x2p-16 : 0x2.e2a60a005c95c8dp-16 : inexact-ok
+= log2p1 downward m68k96 0x2p-16 : 0x2.e2a60a005c95c8ccp-16 : inexact-ok
+= log2p1 tonearest m68k96 0x2p-16 : 0x2.e2a60a005c95c8ccp-16 : inexact-ok
+= log2p1 towardzero m68k96 0x2p-16 : 0x2.e2a60a005c95c8ccp-16 : inexact-ok
+= log2p1 upward m68k96 0x2p-16 : 0x2.e2a60a005c95c8dp-16 : inexact-ok
+= log2p1 downward binary128 0x2p-16 : 0x2.e2a60a005c95c8cdda0c94035caap-16 : inexact-ok
+= log2p1 tonearest binary128 0x2p-16 : 0x2.e2a60a005c95c8cdda0c94035caap-16 : inexact-ok
+= log2p1 towardzero binary128 0x2p-16 : 0x2.e2a60a005c95c8cdda0c94035caap-16 : inexact-ok
+= log2p1 upward binary128 0x2p-16 : 0x2.e2a60a005c95c8cdda0c94035cacp-16 : inexact-ok
+= log2p1 downward ibm128 0x2p-16 : 0x2.e2a60a005c95c8cdda0c94035cp-16 : inexact-ok
+= log2p1 tonearest ibm128 0x2p-16 : 0x2.e2a60a005c95c8cdda0c94035dp-16 : inexact-ok
+= log2p1 towardzero ibm128 0x2p-16 : 0x2.e2a60a005c95c8cdda0c94035cp-16 : inexact-ok
+= log2p1 upward ibm128 0x2p-16 : 0x2.e2a60a005c95c8cdda0c94035dp-16 : inexact-ok
+log2p1 0x1p-20
+= log2p1 downward binary32 0x1p-20 : 0x1.71546ap-20 : inexact-ok
+= log2p1 tonearest binary32 0x1p-20 : 0x1.71546ap-20 : inexact-ok
+= log2p1 towardzero binary32 0x1p-20 : 0x1.71546ap-20 : inexact-ok
+= log2p1 upward binary32 0x1p-20 : 0x1.71546cp-20 : inexact-ok
+= log2p1 downward binary64 0x1p-20 : 0x1.71546ac814f86p-20 : inexact-ok
+= log2p1 tonearest binary64 0x1p-20 : 0x1.71546ac814f86p-20 : inexact-ok
+= log2p1 towardzero binary64 0x1p-20 : 0x1.71546ac814f86p-20 : inexact-ok
+= log2p1 upward binary64 0x1p-20 : 0x1.71546ac814f87p-20 : inexact-ok
+= log2p1 downward intel96 0x1p-20 : 0x1.71546ac814f867d6p-20 : inexact-ok
+= log2p1 tonearest intel96 0x1p-20 : 0x1.71546ac814f867d8p-20 : inexact-ok
+= log2p1 towardzero intel96 0x1p-20 : 0x1.71546ac814f867d6p-20 : inexact-ok
+= log2p1 upward intel96 0x1p-20 : 0x1.71546ac814f867d8p-20 : inexact-ok
+= log2p1 downward m68k96 0x1p-20 : 0x1.71546ac814f867d6p-20 : inexact-ok
+= log2p1 tonearest m68k96 0x1p-20 : 0x1.71546ac814f867d8p-20 : inexact-ok
+= log2p1 towardzero m68k96 0x1p-20 : 0x1.71546ac814f867d6p-20 : inexact-ok
+= log2p1 upward m68k96 0x1p-20 : 0x1.71546ac814f867d8p-20 : inexact-ok
+= log2p1 downward binary128 0x1p-20 : 0x1.71546ac814f867d7a99ac240f177p-20 : inexact-ok
+= log2p1 tonearest binary128 0x1p-20 : 0x1.71546ac814f867d7a99ac240f178p-20 : inexact-ok
+= log2p1 towardzero binary128 0x1p-20 : 0x1.71546ac814f867d7a99ac240f177p-20 : inexact-ok
+= log2p1 upward binary128 0x1p-20 : 0x1.71546ac814f867d7a99ac240f178p-20 : inexact-ok
+= log2p1 downward ibm128 0x1p-20 : 0x1.71546ac814f867d7a99ac240f1p-20 : inexact-ok
+= log2p1 tonearest ibm128 0x1p-20 : 0x1.71546ac814f867d7a99ac240f18p-20 : inexact-ok
+= log2p1 towardzero ibm128 0x1p-20 : 0x1.71546ac814f867d7a99ac240f1p-20 : inexact-ok
+= log2p1 upward ibm128 0x1p-20 : 0x1.71546ac814f867d7a99ac240f18p-20 : inexact-ok
+log2p1 0x1p-25
+= log2p1 downward binary32 0x8p-28 : 0xb.8aa3ap-28 : inexact-ok
+= log2p1 tonearest binary32 0x8p-28 : 0xb.8aa3bp-28 : inexact-ok
+= log2p1 towardzero binary32 0x8p-28 : 0xb.8aa3ap-28 : inexact-ok
+= log2p1 upward binary32 0x8p-28 : 0xb.8aa3bp-28 : inexact-ok
+= log2p1 downward binary64 0x8p-28 : 0xb.8aa3afb31893p-28 : inexact-ok
+= log2p1 tonearest binary64 0x8p-28 : 0xb.8aa3afb318938p-28 : inexact-ok
+= log2p1 towardzero binary64 0x8p-28 : 0xb.8aa3afb31893p-28 : inexact-ok
+= log2p1 upward binary64 0x8p-28 : 0xb.8aa3afb318938p-28 : inexact-ok
+= log2p1 downward intel96 0x8p-28 : 0xb.8aa3afb318935c8p-28 : inexact-ok
+= log2p1 tonearest intel96 0x8p-28 : 0xb.8aa3afb318935c8p-28 : inexact-ok
+= log2p1 towardzero intel96 0x8p-28 : 0xb.8aa3afb318935c8p-28 : inexact-ok
+= log2p1 upward intel96 0x8p-28 : 0xb.8aa3afb318935c9p-28 : inexact-ok
+= log2p1 downward m68k96 0x8p-28 : 0xb.8aa3afb318935c8p-28 : inexact-ok
+= log2p1 tonearest m68k96 0x8p-28 : 0xb.8aa3afb318935c8p-28 : inexact-ok
+= log2p1 towardzero m68k96 0x8p-28 : 0xb.8aa3afb318935c8p-28 : inexact-ok
+= log2p1 upward m68k96 0x8p-28 : 0xb.8aa3afb318935c9p-28 : inexact-ok
+= log2p1 downward binary128 0x8p-28 : 0xb.8aa3afb318935c83d742790eedb8p-28 : inexact-ok
+= log2p1 tonearest binary128 0x8p-28 : 0xb.8aa3afb318935c83d742790eedcp-28 : inexact-ok
+= log2p1 towardzero binary128 0x8p-28 : 0xb.8aa3afb318935c83d742790eedb8p-28 : inexact-ok
+= log2p1 upward binary128 0x8p-28 : 0xb.8aa3afb318935c83d742790eedcp-28 : inexact-ok
+= log2p1 downward ibm128 0x8p-28 : 0xb.8aa3afb318935c83d742790eecp-28 : inexact-ok
+= log2p1 tonearest ibm128 0x8p-28 : 0xb.8aa3afb318935c83d742790eecp-28 : inexact-ok
+= log2p1 towardzero ibm128 0x8p-28 : 0xb.8aa3afb318935c83d742790eecp-28 : inexact-ok
+= log2p1 upward ibm128 0x8p-28 : 0xb.8aa3afb318935c83d742790efp-28 : inexact-ok
+log2p1 0x1p-30
+= log2p1 downward binary32 0x4p-32 : 0x5.c551d8p-32 : inexact-ok
+= log2p1 tonearest binary32 0x4p-32 : 0x5.c551d8p-32 : inexact-ok
+= log2p1 towardzero binary32 0x4p-32 : 0x5.c551d8p-32 : inexact-ok
+= log2p1 upward binary32 0x4p-32 : 0x5.c551ep-32 : inexact-ok
+= log2p1 downward binary64 0x4p-32 : 0x5.c551d93f561bcp-32 : inexact-ok
+= log2p1 tonearest binary64 0x4p-32 : 0x5.c551d93f561bcp-32 : inexact-ok
+= log2p1 towardzero binary64 0x4p-32 : 0x5.c551d93f561bcp-32 : inexact-ok
+= log2p1 upward binary64 0x4p-32 : 0x5.c551d93f561cp-32 : inexact-ok
+= log2p1 downward intel96 0x4p-32 : 0x5.c551d93f561bd36p-32 : inexact-ok
+= log2p1 tonearest intel96 0x4p-32 : 0x5.c551d93f561bd368p-32 : inexact-ok
+= log2p1 towardzero intel96 0x4p-32 : 0x5.c551d93f561bd36p-32 : inexact-ok
+= log2p1 upward intel96 0x4p-32 : 0x5.c551d93f561bd368p-32 : inexact-ok
+= log2p1 downward m68k96 0x4p-32 : 0x5.c551d93f561bd36p-32 : inexact-ok
+= log2p1 tonearest m68k96 0x4p-32 : 0x5.c551d93f561bd368p-32 : inexact-ok
+= log2p1 towardzero m68k96 0x4p-32 : 0x5.c551d93f561bd36p-32 : inexact-ok
+= log2p1 upward m68k96 0x4p-32 : 0x5.c551d93f561bd368p-32 : inexact-ok
+= log2p1 downward binary128 0x4p-32 : 0x5.c551d93f561bd366f9cac6a50f48p-32 : inexact-ok
+= log2p1 tonearest binary128 0x4p-32 : 0x5.c551d93f561bd366f9cac6a50f48p-32 : inexact-ok
+= log2p1 towardzero binary128 0x4p-32 : 0x5.c551d93f561bd366f9cac6a50f48p-32 : inexact-ok
+= log2p1 upward binary128 0x4p-32 : 0x5.c551d93f561bd366f9cac6a50f4cp-32 : inexact-ok
+= log2p1 downward ibm128 0x4p-32 : 0x5.c551d93f561bd366f9cac6a50ep-32 : inexact-ok
+= log2p1 tonearest ibm128 0x4p-32 : 0x5.c551d93f561bd366f9cac6a51p-32 : inexact-ok
+= log2p1 towardzero ibm128 0x4p-32 : 0x5.c551d93f561bd366f9cac6a50ep-32 : inexact-ok
+= log2p1 upward ibm128 0x4p-32 : 0x5.c551d93f561bd366f9cac6a51p-32 : inexact-ok
+log2p1 0x1p-35
+= log2p1 downward binary32 0x2p-36 : 0x2.e2a8ecp-36 : inexact-ok
+= log2p1 tonearest binary32 0x2p-36 : 0x2.e2a8ecp-36 : inexact-ok
+= log2p1 towardzero binary32 0x2p-36 : 0x2.e2a8ecp-36 : inexact-ok
+= log2p1 upward binary32 0x2p-36 : 0x2.e2a8fp-36 : inexact-ok
+= log2p1 downward binary64 0x2p-36 : 0x2.e2a8eca542352p-36 : inexact-ok
+= log2p1 tonearest binary64 0x2p-36 : 0x2.e2a8eca542354p-36 : inexact-ok
+= log2p1 towardzero binary64 0x2p-36 : 0x2.e2a8eca542352p-36 : inexact-ok
+= log2p1 upward binary64 0x2p-36 : 0x2.e2a8eca542354p-36 : inexact-ok
+= log2p1 downward intel96 0x2p-36 : 0x2.e2a8eca542353424p-36 : inexact-ok
+= log2p1 tonearest intel96 0x2p-36 : 0x2.e2a8eca542353424p-36 : inexact-ok
+= log2p1 towardzero intel96 0x2p-36 : 0x2.e2a8eca542353424p-36 : inexact-ok
+= log2p1 upward intel96 0x2p-36 : 0x2.e2a8eca542353428p-36 : inexact-ok
+= log2p1 downward m68k96 0x2p-36 : 0x2.e2a8eca542353424p-36 : inexact-ok
+= log2p1 tonearest m68k96 0x2p-36 : 0x2.e2a8eca542353424p-36 : inexact-ok
+= log2p1 towardzero m68k96 0x2p-36 : 0x2.e2a8eca542353424p-36 : inexact-ok
+= log2p1 upward m68k96 0x2p-36 : 0x2.e2a8eca542353428p-36 : inexact-ok
+= log2p1 downward binary128 0x2p-36 : 0x2.e2a8eca542353424a6f2e04e3bb6p-36 : inexact-ok
+= log2p1 tonearest binary128 0x2p-36 : 0x2.e2a8eca542353424a6f2e04e3bb8p-36 : inexact-ok
+= log2p1 towardzero binary128 0x2p-36 : 0x2.e2a8eca542353424a6f2e04e3bb6p-36 : inexact-ok
+= log2p1 upward binary128 0x2p-36 : 0x2.e2a8eca542353424a6f2e04e3bb8p-36 : inexact-ok
+= log2p1 downward ibm128 0x2p-36 : 0x2.e2a8eca542353424a6f2e04e3bp-36 : inexact-ok
+= log2p1 tonearest ibm128 0x2p-36 : 0x2.e2a8eca542353424a6f2e04e3cp-36 : inexact-ok
+= log2p1 towardzero ibm128 0x2p-36 : 0x2.e2a8eca542353424a6f2e04e3bp-36 : inexact-ok
+= log2p1 upward ibm128 0x2p-36 : 0x2.e2a8eca542353424a6f2e04e3cp-36 : inexact-ok
+log2p1 0x1p-40
+= log2p1 downward binary32 0x1p-40 : 0x1.715476p-40 : inexact-ok
+= log2p1 tonearest binary32 0x1p-40 : 0x1.715476p-40 : inexact-ok
+= log2p1 towardzero binary32 0x1p-40 : 0x1.715476p-40 : inexact-ok
+= log2p1 upward binary32 0x1p-40 : 0x1.715478p-40 : inexact-ok
+= log2p1 downward binary64 0x1p-40 : 0x1.71547652b7773p-40 : inexact-ok
+= log2p1 tonearest binary64 0x1p-40 : 0x1.71547652b7773p-40 : inexact-ok
+= log2p1 towardzero binary64 0x1p-40 : 0x1.71547652b7773p-40 : inexact-ok
+= log2p1 upward binary64 0x1p-40 : 0x1.71547652b7774p-40 : inexact-ok
+= log2p1 downward intel96 0x1p-40 : 0x1.71547652b777373cp-40 : inexact-ok
+= log2p1 tonearest intel96 0x1p-40 : 0x1.71547652b777373cp-40 : inexact-ok
+= log2p1 towardzero intel96 0x1p-40 : 0x1.71547652b777373cp-40 : inexact-ok
+= log2p1 upward intel96 0x1p-40 : 0x1.71547652b777373ep-40 : inexact-ok
+= log2p1 downward m68k96 0x1p-40 : 0x1.71547652b777373cp-40 : inexact-ok
+= log2p1 tonearest m68k96 0x1p-40 : 0x1.71547652b777373cp-40 : inexact-ok
+= log2p1 towardzero m68k96 0x1p-40 : 0x1.71547652b777373cp-40 : inexact-ok
+= log2p1 upward m68k96 0x1p-40 : 0x1.71547652b777373ep-40 : inexact-ok
+= log2p1 downward binary128 0x1p-40 : 0x1.71547652b777373c53b460cc3decp-40 : inexact-ok
+= log2p1 tonearest binary128 0x1p-40 : 0x1.71547652b777373c53b460cc3dedp-40 : inexact-ok
+= log2p1 towardzero binary128 0x1p-40 : 0x1.71547652b777373c53b460cc3decp-40 : inexact-ok
+= log2p1 upward binary128 0x1p-40 : 0x1.71547652b777373c53b460cc3dedp-40 : inexact-ok
+= log2p1 downward ibm128 0x1p-40 : 0x1.71547652b777373c53b460cc3d8p-40 : inexact-ok
+= log2p1 tonearest ibm128 0x1p-40 : 0x1.71547652b777373c53b460cc3ep-40 : inexact-ok
+= log2p1 towardzero ibm128 0x1p-40 : 0x1.71547652b777373c53b460cc3d8p-40 : inexact-ok
+= log2p1 upward ibm128 0x1p-40 : 0x1.71547652b777373c53b460cc3ep-40 : inexact-ok
+log2p1 0x1p-45
+= log2p1 downward binary32 0x8p-48 : 0xb.8aa3bp-48 : inexact-ok
+= log2p1 tonearest binary32 0x8p-48 : 0xb.8aa3bp-48 : inexact-ok
+= log2p1 towardzero binary32 0x8p-48 : 0xb.8aa3bp-48 : inexact-ok
+= log2p1 upward binary32 0x8p-48 : 0xb.8aa3cp-48 : inexact-ok
+= log2p1 downward binary64 0x8p-48 : 0xb.8aa3b295c1508p-48 : inexact-ok
+= log2p1 tonearest binary64 0x8p-48 : 0xb.8aa3b295c151p-48 : inexact-ok
+= log2p1 towardzero binary64 0x8p-48 : 0xb.8aa3b295c1508p-48 : inexact-ok
+= log2p1 upward binary64 0x8p-48 : 0xb.8aa3b295c151p-48 : inexact-ok
+= log2p1 downward intel96 0x8p-48 : 0xb.8aa3b295c150e12p-48 : inexact-ok
+= log2p1 tonearest intel96 0x8p-48 : 0xb.8aa3b295c150e13p-48 : inexact-ok
+= log2p1 towardzero intel96 0x8p-48 : 0xb.8aa3b295c150e12p-48 : inexact-ok
+= log2p1 upward intel96 0x8p-48 : 0xb.8aa3b295c150e13p-48 : inexact-ok
+= log2p1 downward m68k96 0x8p-48 : 0xb.8aa3b295c150e12p-48 : inexact-ok
+= log2p1 tonearest m68k96 0x8p-48 : 0xb.8aa3b295c150e13p-48 : inexact-ok
+= log2p1 towardzero m68k96 0x8p-48 : 0xb.8aa3b295c150e12p-48 : inexact-ok
+= log2p1 upward m68k96 0x8p-48 : 0xb.8aa3b295c150e13p-48 : inexact-ok
+= log2p1 downward binary128 0x8p-48 : 0xb.8aa3b295c150e12d1e28e8009b3p-48 : inexact-ok
+= log2p1 tonearest binary128 0x8p-48 : 0xb.8aa3b295c150e12d1e28e8009b3p-48 : inexact-ok
+= log2p1 towardzero binary128 0x8p-48 : 0xb.8aa3b295c150e12d1e28e8009b3p-48 : inexact-ok
+= log2p1 upward binary128 0x8p-48 : 0xb.8aa3b295c150e12d1e28e8009b38p-48 : inexact-ok
+= log2p1 downward ibm128 0x8p-48 : 0xb.8aa3b295c150e12d1e28e80098p-48 : inexact-ok
+= log2p1 tonearest ibm128 0x8p-48 : 0xb.8aa3b295c150e12d1e28e8009cp-48 : inexact-ok
+= log2p1 towardzero ibm128 0x8p-48 : 0xb.8aa3b295c150e12d1e28e80098p-48 : inexact-ok
+= log2p1 upward ibm128 0x8p-48 : 0xb.8aa3b295c150e12d1e28e8009cp-48 : inexact-ok
+log2p1 0x1p-50
+= log2p1 downward binary32 0x4p-52 : 0x5.c551d8p-52 : inexact-ok
+= log2p1 tonearest binary32 0x4p-52 : 0x5.c551d8p-52 : inexact-ok
+= log2p1 towardzero binary32 0x4p-52 : 0x5.c551d8p-52 : inexact-ok
+= log2p1 upward binary32 0x4p-52 : 0x5.c551ep-52 : inexact-ok
+= log2p1 downward binary64 0x4p-52 : 0x5.c551d94ae0becp-52 : inexact-ok
+= log2p1 tonearest binary64 0x4p-52 : 0x5.c551d94ae0becp-52 : inexact-ok
+= log2p1 towardzero binary64 0x4p-52 : 0x5.c551d94ae0becp-52 : inexact-ok
+= log2p1 upward binary64 0x4p-52 : 0x5.c551d94ae0bfp-52 : inexact-ok
+= log2p1 downward intel96 0x4p-52 : 0x5.c551d94ae0becd3p-52 : inexact-ok
+= log2p1 tonearest intel96 0x4p-52 : 0x5.c551d94ae0becd3p-52 : inexact-ok
+= log2p1 towardzero intel96 0x4p-52 : 0x5.c551d94ae0becd3p-52 : inexact-ok
+= log2p1 upward intel96 0x4p-52 : 0x5.c551d94ae0becd38p-52 : inexact-ok
+= log2p1 downward m68k96 0x4p-52 : 0x5.c551d94ae0becd3p-52 : inexact-ok
+= log2p1 tonearest m68k96 0x4p-52 : 0x5.c551d94ae0becd3p-52 : inexact-ok
+= log2p1 towardzero m68k96 0x4p-52 : 0x5.c551d94ae0becd3p-52 : inexact-ok
+= log2p1 upward m68k96 0x4p-52 : 0x5.c551d94ae0becd38p-52 : inexact-ok
+= log2p1 downward binary128 0x4p-52 : 0x5.c551d94ae0becd33b9169a6b76f4p-52 : inexact-ok
+= log2p1 tonearest binary128 0x4p-52 : 0x5.c551d94ae0becd33b9169a6b76f4p-52 : inexact-ok
+= log2p1 towardzero binary128 0x4p-52 : 0x5.c551d94ae0becd33b9169a6b76f4p-52 : inexact-ok
+= log2p1 upward binary128 0x4p-52 : 0x5.c551d94ae0becd33b9169a6b76f8p-52 : inexact-ok
+= log2p1 downward ibm128 0x4p-52 : 0x5.c551d94ae0becd33b9169a6b76p-52 : inexact-ok
+= log2p1 tonearest ibm128 0x4p-52 : 0x5.c551d94ae0becd33b9169a6b76p-52 : inexact-ok
+= log2p1 towardzero ibm128 0x4p-52 : 0x5.c551d94ae0becd33b9169a6b76p-52 : inexact-ok
+= log2p1 upward ibm128 0x4p-52 : 0x5.c551d94ae0becd33b9169a6b78p-52 : inexact-ok
+log2p1 0x1p-55
+= log2p1 downward binary32 0x2p-56 : 0x2.e2a8ecp-56 : inexact-ok
+= log2p1 tonearest binary32 0x2p-56 : 0x2.e2a8ecp-56 : inexact-ok
+= log2p1 towardzero binary32 0x2p-56 : 0x2.e2a8ecp-56 : inexact-ok
+= log2p1 upward binary32 0x2p-56 : 0x2.e2a8fp-56 : inexact-ok
+= log2p1 downward binary64 0x2p-56 : 0x2.e2a8eca5705fcp-56 : inexact-ok
+= log2p1 tonearest binary64 0x2p-56 : 0x2.e2a8eca5705fcp-56 : inexact-ok
+= log2p1 towardzero binary64 0x2p-56 : 0x2.e2a8eca5705fcp-56 : inexact-ok
+= log2p1 upward binary64 0x2p-56 : 0x2.e2a8eca5705fep-56 : inexact-ok
+= log2p1 downward intel96 0x2p-56 : 0x2.e2a8eca5705fc00cp-56 : inexact-ok
+= log2p1 tonearest intel96 0x2p-56 : 0x2.e2a8eca5705fc00cp-56 : inexact-ok
+= log2p1 towardzero intel96 0x2p-56 : 0x2.e2a8eca5705fc00cp-56 : inexact-ok
+= log2p1 upward intel96 0x2p-56 : 0x2.e2a8eca5705fc01p-56 : inexact-ok
+= log2p1 downward m68k96 0x2p-56 : 0x2.e2a8eca5705fc00cp-56 : inexact-ok
+= log2p1 tonearest m68k96 0x2p-56 : 0x2.e2a8eca5705fc00cp-56 : inexact-ok
+= log2p1 towardzero m68k96 0x2p-56 : 0x2.e2a8eca5705fc00cp-56 : inexact-ok
+= log2p1 upward m68k96 0x2p-56 : 0x2.e2a8eca5705fc01p-56 : inexact-ok
+= log2p1 downward binary128 0x2p-56 : 0x2.e2a8eca5705fc00c513355d144b4p-56 : inexact-ok
+= log2p1 tonearest binary128 0x2p-56 : 0x2.e2a8eca5705fc00c513355d144b6p-56 : inexact-ok
+= log2p1 towardzero binary128 0x2p-56 : 0x2.e2a8eca5705fc00c513355d144b4p-56 : inexact-ok
+= log2p1 upward binary128 0x2p-56 : 0x2.e2a8eca5705fc00c513355d144b6p-56 : inexact-ok
+= log2p1 downward ibm128 0x2p-56 : 0x2.e2a8eca5705fc00c513355d144p-56 : inexact-ok
+= log2p1 tonearest ibm128 0x2p-56 : 0x2.e2a8eca5705fc00c513355d145p-56 : inexact-ok
+= log2p1 towardzero ibm128 0x2p-56 : 0x2.e2a8eca5705fc00c513355d144p-56 : inexact-ok
+= log2p1 upward ibm128 0x2p-56 : 0x2.e2a8eca5705fc00c513355d145p-56 : inexact-ok
+log2p1 0x1p-60
+= log2p1 downward binary32 0x1p-60 : 0x1.715476p-60 : inexact-ok
+= log2p1 tonearest binary32 0x1p-60 : 0x1.715476p-60 : inexact-ok
+= log2p1 towardzero binary32 0x1p-60 : 0x1.715476p-60 : inexact-ok
+= log2p1 upward binary32 0x1p-60 : 0x1.715478p-60 : inexact-ok
+= log2p1 downward binary64 0x1p-60 : 0x1.71547652b82fep-60 : inexact-ok
+= log2p1 tonearest binary64 0x1p-60 : 0x1.71547652b82fep-60 : inexact-ok
+= log2p1 towardzero binary64 0x1p-60 : 0x1.71547652b82fep-60 : inexact-ok
+= log2p1 upward binary64 0x1p-60 : 0x1.71547652b82ffp-60 : inexact-ok
+= log2p1 downward intel96 0x1p-60 : 0x1.71547652b82fe16ap-60 : inexact-ok
+= log2p1 tonearest intel96 0x1p-60 : 0x1.71547652b82fe16cp-60 : inexact-ok
+= log2p1 towardzero intel96 0x1p-60 : 0x1.71547652b82fe16ap-60 : inexact-ok
+= log2p1 upward intel96 0x1p-60 : 0x1.71547652b82fe16cp-60 : inexact-ok
+= log2p1 downward m68k96 0x1p-60 : 0x1.71547652b82fe16ap-60 : inexact-ok
+= log2p1 tonearest m68k96 0x1p-60 : 0x1.71547652b82fe16cp-60 : inexact-ok
+= log2p1 towardzero m68k96 0x1p-60 : 0x1.71547652b82fe16ap-60 : inexact-ok
+= log2p1 upward m68k96 0x1p-60 : 0x1.71547652b82fe16cp-60 : inexact-ok
+= log2p1 downward binary128 0x1p-60 : 0x1.71547652b82fe16bf26c4b0b10bbp-60 : inexact-ok
+= log2p1 tonearest binary128 0x1p-60 : 0x1.71547652b82fe16bf26c4b0b10bbp-60 : inexact-ok
+= log2p1 towardzero binary128 0x1p-60 : 0x1.71547652b82fe16bf26c4b0b10bbp-60 : inexact-ok
+= log2p1 upward binary128 0x1p-60 : 0x1.71547652b82fe16bf26c4b0b10bcp-60 : inexact-ok
+= log2p1 downward ibm128 0x1p-60 : 0x1.71547652b82fe16bf26c4b0b108p-60 : inexact-ok
+= log2p1 tonearest ibm128 0x1p-60 : 0x1.71547652b82fe16bf26c4b0b108p-60 : inexact-ok
+= log2p1 towardzero ibm128 0x1p-60 : 0x1.71547652b82fe16bf26c4b0b108p-60 : inexact-ok
+= log2p1 upward ibm128 0x1p-60 : 0x1.71547652b82fe16bf26c4b0b11p-60 : inexact-ok
+log2p1 0x1p-100
+= log2p1 downward binary32 0x1p-100 : 0x1.715476p-100 : inexact-ok
+= log2p1 tonearest binary32 0x1p-100 : 0x1.715476p-100 : inexact-ok
+= log2p1 towardzero binary32 0x1p-100 : 0x1.715476p-100 : inexact-ok
+= log2p1 upward binary32 0x1p-100 : 0x1.715478p-100 : inexact-ok
+= log2p1 downward binary64 0x1p-100 : 0x1.71547652b82fep-100 : inexact-ok
+= log2p1 tonearest binary64 0x1p-100 : 0x1.71547652b82fep-100 : inexact-ok
+= log2p1 towardzero binary64 0x1p-100 : 0x1.71547652b82fep-100 : inexact-ok
+= log2p1 upward binary64 0x1p-100 : 0x1.71547652b82ffp-100 : inexact-ok
+= log2p1 downward intel96 0x1p-100 : 0x1.71547652b82fe176p-100 : inexact-ok
+= log2p1 tonearest intel96 0x1p-100 : 0x1.71547652b82fe178p-100 : inexact-ok
+= log2p1 towardzero intel96 0x1p-100 : 0x1.71547652b82fe176p-100 : inexact-ok
+= log2p1 upward intel96 0x1p-100 : 0x1.71547652b82fe178p-100 : inexact-ok
+= log2p1 downward m68k96 0x1p-100 : 0x1.71547652b82fe176p-100 : inexact-ok
+= log2p1 tonearest m68k96 0x1p-100 : 0x1.71547652b82fe178p-100 : inexact-ok
+= log2p1 towardzero m68k96 0x1p-100 : 0x1.71547652b82fe176p-100 : inexact-ok
+= log2p1 upward m68k96 0x1p-100 : 0x1.71547652b82fe178p-100 : inexact-ok
+= log2p1 downward binary128 0x1p-100 : 0x1.71547652b82fe1777d0ffda0c6afp-100 : inexact-ok
+= log2p1 tonearest binary128 0x1p-100 : 0x1.71547652b82fe1777d0ffda0c6bp-100 : inexact-ok
+= log2p1 towardzero binary128 0x1p-100 : 0x1.71547652b82fe1777d0ffda0c6afp-100 : inexact-ok
+= log2p1 upward binary128 0x1p-100 : 0x1.71547652b82fe1777d0ffda0c6bp-100 : inexact-ok
+= log2p1 downward ibm128 0x1p-100 : 0x1.71547652b82fe1777d0ffda0c68p-100 : inexact-ok
+= log2p1 tonearest ibm128 0x1p-100 : 0x1.71547652b82fe1777d0ffda0c68p-100 : inexact-ok
+= log2p1 towardzero ibm128 0x1p-100 : 0x1.71547652b82fe1777d0ffda0c68p-100 : inexact-ok
+= log2p1 upward ibm128 0x1p-100 : 0x1.71547652b82fe1777d0ffda0c7p-100 : inexact-ok
+log2p1 0x1p-600
+= log2p1 downward binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary32 0x8p-152 : 0x1p-148 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary64 0x8p-152 : 0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 tonearest binary64 0x8p-152 : 0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 towardzero binary64 0x8p-152 : 0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 upward binary64 0x8p-152 : 0xb.8aa3b295c17f8p-152 : inexact-ok
+= log2p1 downward intel96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 tonearest intel96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 towardzero intel96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 upward intel96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 downward m68k96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 tonearest m68k96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 towardzero m68k96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 upward m68k96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 downward binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 tonearest binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 towardzero binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 upward binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691d8p-152 : inexact-ok
+= log2p1 downward ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 tonearest ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 towardzero ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 upward ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0694p-152 : inexact-ok
+= log2p1 downward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward binary64 0x1p-600 : 0x1.71547652b82fep-600 : inexact-ok
+= log2p1 tonearest binary64 0x1p-600 : 0x1.71547652b82fep-600 : inexact-ok
+= log2p1 towardzero binary64 0x1p-600 : 0x1.71547652b82fep-600 : inexact-ok
+= log2p1 upward binary64 0x1p-600 : 0x1.71547652b82ffp-600 : inexact-ok
+= log2p1 downward intel96 0x1p-600 : 0x1.71547652b82fe176p-600 : inexact-ok
+= log2p1 tonearest intel96 0x1p-600 : 0x1.71547652b82fe178p-600 : inexact-ok
+= log2p1 towardzero intel96 0x1p-600 : 0x1.71547652b82fe176p-600 : inexact-ok
+= log2p1 upward intel96 0x1p-600 : 0x1.71547652b82fe178p-600 : inexact-ok
+= log2p1 downward m68k96 0x1p-600 : 0x1.71547652b82fe176p-600 : inexact-ok
+= log2p1 tonearest m68k96 0x1p-600 : 0x1.71547652b82fe178p-600 : inexact-ok
+= log2p1 towardzero m68k96 0x1p-600 : 0x1.71547652b82fe176p-600 : inexact-ok
+= log2p1 upward m68k96 0x1p-600 : 0x1.71547652b82fe178p-600 : inexact-ok
+= log2p1 downward binary128 0x1p-600 : 0x1.71547652b82fe1777d0ffda0d23ap-600 : inexact-ok
+= log2p1 tonearest binary128 0x1p-600 : 0x1.71547652b82fe1777d0ffda0d23ap-600 : inexact-ok
+= log2p1 towardzero binary128 0x1p-600 : 0x1.71547652b82fe1777d0ffda0d23ap-600 : inexact-ok
+= log2p1 upward binary128 0x1p-600 : 0x1.71547652b82fe1777d0ffda0d23bp-600 : inexact-ok
+= log2p1 downward ibm128 0x1p-600 : 0x1.71547652b82fe1777d0ffda0d2p-600 : inexact-ok
+= log2p1 tonearest ibm128 0x1p-600 : 0x1.71547652b82fe1777d0ffda0d2p-600 : inexact-ok
+= log2p1 towardzero ibm128 0x1p-600 : 0x1.71547652b82fe1777d0ffda0d2p-600 : inexact-ok
+= log2p1 upward ibm128 0x1p-600 : 0x1.71547652b82fe1777d0ffda0d28p-600 : inexact-ok
+log2p1 0x1p-10000
+= log2p1 downward binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary32 0x8p-152 : 0x1p-148 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary64 0x8p-152 : 0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 tonearest binary64 0x8p-152 : 0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 towardzero binary64 0x8p-152 : 0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 upward binary64 0x8p-152 : 0xb.8aa3b295c17f8p-152 : inexact-ok
+= log2p1 downward intel96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 tonearest intel96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 towardzero intel96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 upward intel96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 downward m68k96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 tonearest m68k96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 towardzero m68k96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 upward m68k96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 downward binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 tonearest binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 towardzero binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 upward binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691d8p-152 : inexact-ok
+= log2p1 downward ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 tonearest ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 towardzero ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 upward ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0694p-152 : inexact-ok
+= log2p1 downward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward binary32 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward binary64 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward intel96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward m68k96 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward binary128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 upward ibm128 0x0p+0 : 0x0p+0 : inexact-ok
+= log2p1 downward binary64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary64 0x4p-1076 : 0x8p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 downward intel96 0x4p-1076 : 0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 tonearest intel96 0x4p-1076 : 0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 towardzero intel96 0x4p-1076 : 0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 upward intel96 0x4p-1076 : 0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 downward m68k96 0x4p-1076 : 0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 tonearest m68k96 0x4p-1076 : 0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 towardzero m68k96 0x4p-1076 : 0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 upward m68k96 0x4p-1076 : 0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 downward binary128 0x4p-1076 : 0x5.c551d94ae0bf85ddf43ff68348e8p-1076 : inexact-ok
+= log2p1 tonearest binary128 0x4p-1076 : 0x5.c551d94ae0bf85ddf43ff68348e8p-1076 : inexact-ok
+= log2p1 towardzero binary128 0x4p-1076 : 0x5.c551d94ae0bf85ddf43ff68348e8p-1076 : inexact-ok
+= log2p1 upward binary128 0x4p-1076 : 0x5.c551d94ae0bf85ddf43ff68348ecp-1076 : inexact-ok
+= log2p1 downward ibm128 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest ibm128 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero ibm128 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 upward ibm128 0x4p-1076 : 0x8p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 downward intel96 0x1p-10000 : 0x1.71547652b82fe176p-10000 : inexact-ok
+= log2p1 tonearest intel96 0x1p-10000 : 0x1.71547652b82fe178p-10000 : inexact-ok
+= log2p1 towardzero intel96 0x1p-10000 : 0x1.71547652b82fe176p-10000 : inexact-ok
+= log2p1 upward intel96 0x1p-10000 : 0x1.71547652b82fe178p-10000 : inexact-ok
+= log2p1 downward m68k96 0x1p-10000 : 0x1.71547652b82fe176p-10000 : inexact-ok
+= log2p1 tonearest m68k96 0x1p-10000 : 0x1.71547652b82fe178p-10000 : inexact-ok
+= log2p1 towardzero m68k96 0x1p-10000 : 0x1.71547652b82fe176p-10000 : inexact-ok
+= log2p1 upward m68k96 0x1p-10000 : 0x1.71547652b82fe178p-10000 : inexact-ok
+= log2p1 downward binary128 0x1p-10000 : 0x1.71547652b82fe1777d0ffda0d23ap-10000 : inexact-ok
+= log2p1 tonearest binary128 0x1p-10000 : 0x1.71547652b82fe1777d0ffda0d23ap-10000 : inexact-ok
+= log2p1 towardzero binary128 0x1p-10000 : 0x1.71547652b82fe1777d0ffda0d23ap-10000 : inexact-ok
+= log2p1 upward binary128 0x1p-10000 : 0x1.71547652b82fe1777d0ffda0d23bp-10000 : inexact-ok
+log2p1 min
+= log2p1 downward binary32 0x4p-128 : 0x5.c551d8p-128 : inexact-ok
+= log2p1 tonearest binary32 0x4p-128 : 0x5.c551d8p-128 : inexact-ok
+= log2p1 towardzero binary32 0x4p-128 : 0x5.c551d8p-128 : inexact-ok
+= log2p1 upward binary32 0x4p-128 : 0x5.c551ep-128 : inexact-ok
+= log2p1 downward binary64 0x4p-128 : 0x5.c551d94ae0bf8p-128 : inexact-ok
+= log2p1 tonearest binary64 0x4p-128 : 0x5.c551d94ae0bf8p-128 : inexact-ok
+= log2p1 towardzero binary64 0x4p-128 : 0x5.c551d94ae0bf8p-128 : inexact-ok
+= log2p1 upward binary64 0x4p-128 : 0x5.c551d94ae0bfcp-128 : inexact-ok
+= log2p1 downward intel96 0x4p-128 : 0x5.c551d94ae0bf85d8p-128 : inexact-ok
+= log2p1 tonearest intel96 0x4p-128 : 0x5.c551d94ae0bf85ep-128 : inexact-ok
+= log2p1 towardzero intel96 0x4p-128 : 0x5.c551d94ae0bf85d8p-128 : inexact-ok
+= log2p1 upward intel96 0x4p-128 : 0x5.c551d94ae0bf85ep-128 : inexact-ok
+= log2p1 downward m68k96 0x4p-128 : 0x5.c551d94ae0bf85d8p-128 : inexact-ok
+= log2p1 tonearest m68k96 0x4p-128 : 0x5.c551d94ae0bf85ep-128 : inexact-ok
+= log2p1 towardzero m68k96 0x4p-128 : 0x5.c551d94ae0bf85d8p-128 : inexact-ok
+= log2p1 upward m68k96 0x4p-128 : 0x5.c551d94ae0bf85ep-128 : inexact-ok
+= log2p1 downward binary128 0x4p-128 : 0x5.c551d94ae0bf85ddf43ff68348e8p-128 : inexact-ok
+= log2p1 tonearest binary128 0x4p-128 : 0x5.c551d94ae0bf85ddf43ff68348e8p-128 : inexact-ok
+= log2p1 towardzero binary128 0x4p-128 : 0x5.c551d94ae0bf85ddf43ff68348e8p-128 : inexact-ok
+= log2p1 upward binary128 0x4p-128 : 0x5.c551d94ae0bf85ddf43ff68348ecp-128 : inexact-ok
+= log2p1 downward ibm128 0x4p-128 : 0x5.c551d94ae0bf85ddf43ff68348p-128 : inexact-ok
+= log2p1 tonearest ibm128 0x4p-128 : 0x5.c551d94ae0bf85ddf43ff68348p-128 : inexact-ok
+= log2p1 towardzero ibm128 0x4p-128 : 0x5.c551d94ae0bf85ddf43ff68348p-128 : inexact-ok
+= log2p1 upward ibm128 0x4p-128 : 0x5.c551d94ae0bf85ddf43ff6834ap-128 : inexact-ok
+= log2p1 downward binary64 0x4p-1024 : 0x5.c551d94ae0bf8p-1024 : inexact-ok
+= log2p1 tonearest binary64 0x4p-1024 : 0x5.c551d94ae0bf8p-1024 : inexact-ok
+= log2p1 towardzero binary64 0x4p-1024 : 0x5.c551d94ae0bf8p-1024 : inexact-ok
+= log2p1 upward binary64 0x4p-1024 : 0x5.c551d94ae0bfcp-1024 : inexact-ok
+= log2p1 downward intel96 0x4p-1024 : 0x5.c551d94ae0bf85d8p-1024 : inexact-ok
+= log2p1 tonearest intel96 0x4p-1024 : 0x5.c551d94ae0bf85ep-1024 : inexact-ok
+= log2p1 towardzero intel96 0x4p-1024 : 0x5.c551d94ae0bf85d8p-1024 : inexact-ok
+= log2p1 upward intel96 0x4p-1024 : 0x5.c551d94ae0bf85ep-1024 : inexact-ok
+= log2p1 downward m68k96 0x4p-1024 : 0x5.c551d94ae0bf85d8p-1024 : inexact-ok
+= log2p1 tonearest m68k96 0x4p-1024 : 0x5.c551d94ae0bf85ep-1024 : inexact-ok
+= log2p1 towardzero m68k96 0x4p-1024 : 0x5.c551d94ae0bf85d8p-1024 : inexact-ok
+= log2p1 upward m68k96 0x4p-1024 : 0x5.c551d94ae0bf85ep-1024 : inexact-ok
+= log2p1 downward binary128 0x4p-1024 : 0x5.c551d94ae0bf85ddf43ff68348e8p-1024 : inexact-ok
+= log2p1 tonearest binary128 0x4p-1024 : 0x5.c551d94ae0bf85ddf43ff68348e8p-1024 : inexact-ok
+= log2p1 towardzero binary128 0x4p-1024 : 0x5.c551d94ae0bf85ddf43ff68348e8p-1024 : inexact-ok
+= log2p1 upward binary128 0x4p-1024 : 0x5.c551d94ae0bf85ddf43ff68348ecp-1024 : inexact-ok
+= log2p1 downward ibm128 0x4p-1024 : 0x5.c551d94ae0bf8p-1024 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest ibm128 0x4p-1024 : 0x5.c551d94ae0bf8p-1024 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero ibm128 0x4p-1024 : 0x5.c551d94ae0bf8p-1024 : inexact-ok underflow errno-erange-ok
+= log2p1 upward ibm128 0x4p-1024 : 0x5.c551d94ae0bfcp-1024 : inexact-ok underflow errno-erange-ok
+= log2p1 downward intel96 0x4p-16384 : 0x5.c551d94ae0bf85d8p-16384 : inexact-ok
+= log2p1 tonearest intel96 0x4p-16384 : 0x5.c551d94ae0bf85ep-16384 : inexact-ok
+= log2p1 towardzero intel96 0x4p-16384 : 0x5.c551d94ae0bf85d8p-16384 : inexact-ok
+= log2p1 upward intel96 0x4p-16384 : 0x5.c551d94ae0bf85ep-16384 : inexact-ok
+= log2p1 downward m68k96 0x4p-16384 : 0x5.c551d94ae0bf85d8p-16384 : inexact-ok
+= log2p1 tonearest m68k96 0x4p-16384 : 0x5.c551d94ae0bf85ep-16384 : inexact-ok
+= log2p1 towardzero m68k96 0x4p-16384 : 0x5.c551d94ae0bf85d8p-16384 : inexact-ok
+= log2p1 upward m68k96 0x4p-16384 : 0x5.c551d94ae0bf85ep-16384 : inexact-ok
+= log2p1 downward binary128 0x4p-16384 : 0x5.c551d94ae0bf85ddf43ff68348e8p-16384 : inexact-ok
+= log2p1 tonearest binary128 0x4p-16384 : 0x5.c551d94ae0bf85ddf43ff68348e8p-16384 : inexact-ok
+= log2p1 towardzero binary128 0x4p-16384 : 0x5.c551d94ae0bf85ddf43ff68348e8p-16384 : inexact-ok
+= log2p1 upward binary128 0x4p-16384 : 0x5.c551d94ae0bf85ddf43ff68348ecp-16384 : inexact-ok
+= log2p1 downward intel96 0x2p-16384 : 0x2.e2a8eca5705fc2e8p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest intel96 0x2p-16384 : 0x2.e2a8eca5705fc2fp-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero intel96 0x2p-16384 : 0x2.e2a8eca5705fc2e8p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 upward intel96 0x2p-16384 : 0x2.e2a8eca5705fc2fp-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 downward m68k96 0x2p-16384 : 0x2.e2a8eca5705fc2ecp-16384 : inexact-ok
+= log2p1 tonearest m68k96 0x2p-16384 : 0x2.e2a8eca5705fc2fp-16384 : inexact-ok
+= log2p1 towardzero m68k96 0x2p-16384 : 0x2.e2a8eca5705fc2ecp-16384 : inexact-ok
+= log2p1 upward m68k96 0x2p-16384 : 0x2.e2a8eca5705fc2fp-16384 : inexact-ok
+= log2p1 downward binary128 0x2p-16384 : 0x2.e2a8eca5705fc2eefa1ffb41a474p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary128 0x2p-16384 : 0x2.e2a8eca5705fc2eefa1ffb41a474p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary128 0x2p-16384 : 0x2.e2a8eca5705fc2eefa1ffb41a474p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary128 0x2p-16384 : 0x2.e2a8eca5705fc2eefa1ffb41a478p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary64 0x8p-972 : 0xb.8aa3b295c17fp-972 : inexact-ok
+= log2p1 tonearest binary64 0x8p-972 : 0xb.8aa3b295c17fp-972 : inexact-ok
+= log2p1 towardzero binary64 0x8p-972 : 0xb.8aa3b295c17fp-972 : inexact-ok
+= log2p1 upward binary64 0x8p-972 : 0xb.8aa3b295c17f8p-972 : inexact-ok
+= log2p1 downward intel96 0x8p-972 : 0xb.8aa3b295c17f0bbp-972 : inexact-ok
+= log2p1 tonearest intel96 0x8p-972 : 0xb.8aa3b295c17f0bcp-972 : inexact-ok
+= log2p1 towardzero intel96 0x8p-972 : 0xb.8aa3b295c17f0bbp-972 : inexact-ok
+= log2p1 upward intel96 0x8p-972 : 0xb.8aa3b295c17f0bcp-972 : inexact-ok
+= log2p1 downward m68k96 0x8p-972 : 0xb.8aa3b295c17f0bbp-972 : inexact-ok
+= log2p1 tonearest m68k96 0x8p-972 : 0xb.8aa3b295c17f0bcp-972 : inexact-ok
+= log2p1 towardzero m68k96 0x8p-972 : 0xb.8aa3b295c17f0bbp-972 : inexact-ok
+= log2p1 upward m68k96 0x8p-972 : 0xb.8aa3b295c17f0bcp-972 : inexact-ok
+= log2p1 downward binary128 0x8p-972 : 0xb.8aa3b295c17f0bbbe87fed0691dp-972 : inexact-ok
+= log2p1 tonearest binary128 0x8p-972 : 0xb.8aa3b295c17f0bbbe87fed0691dp-972 : inexact-ok
+= log2p1 towardzero binary128 0x8p-972 : 0xb.8aa3b295c17f0bbbe87fed0691dp-972 : inexact-ok
+= log2p1 upward binary128 0x8p-972 : 0xb.8aa3b295c17f0bbbe87fed0691d8p-972 : inexact-ok
+= log2p1 downward ibm128 0x8p-972 : 0xb.8aa3b295c17f0bbbe87fed069p-972 : inexact-ok
+= log2p1 tonearest ibm128 0x8p-972 : 0xb.8aa3b295c17f0bbbe87fed069p-972 : inexact-ok
+= log2p1 towardzero ibm128 0x8p-972 : 0xb.8aa3b295c17f0bbbe87fed069p-972 : inexact-ok
+= log2p1 upward ibm128 0x8p-972 : 0xb.8aa3b295c17f0bbbe87fed0694p-972 : inexact-ok
+log2p1 min_subnorm
+= log2p1 downward binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary32 0x8p-152 : 0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary32 0x8p-152 : 0x1p-148 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary64 0x8p-152 : 0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 tonearest binary64 0x8p-152 : 0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 towardzero binary64 0x8p-152 : 0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 upward binary64 0x8p-152 : 0xb.8aa3b295c17f8p-152 : inexact-ok
+= log2p1 downward intel96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 tonearest intel96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 towardzero intel96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 upward intel96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 downward m68k96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 tonearest m68k96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 towardzero m68k96 0x8p-152 : 0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 upward m68k96 0x8p-152 : 0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 downward binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 tonearest binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 towardzero binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 upward binary128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0691d8p-152 : inexact-ok
+= log2p1 downward ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 tonearest ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 towardzero ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 upward ibm128 0x8p-152 : 0xb.8aa3b295c17f0bbbe87fed0694p-152 : inexact-ok
+= log2p1 downward binary64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary64 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary64 0x4p-1076 : 0x8p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 downward intel96 0x4p-1076 : 0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 tonearest intel96 0x4p-1076 : 0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 towardzero intel96 0x4p-1076 : 0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 upward intel96 0x4p-1076 : 0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 downward m68k96 0x4p-1076 : 0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 tonearest m68k96 0x4p-1076 : 0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 towardzero m68k96 0x4p-1076 : 0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 upward m68k96 0x4p-1076 : 0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 downward binary128 0x4p-1076 : 0x5.c551d94ae0bf85ddf43ff68348e8p-1076 : inexact-ok
+= log2p1 tonearest binary128 0x4p-1076 : 0x5.c551d94ae0bf85ddf43ff68348e8p-1076 : inexact-ok
+= log2p1 towardzero binary128 0x4p-1076 : 0x5.c551d94ae0bf85ddf43ff68348e8p-1076 : inexact-ok
+= log2p1 upward binary128 0x4p-1076 : 0x5.c551d94ae0bf85ddf43ff68348ecp-1076 : inexact-ok
+= log2p1 downward ibm128 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest ibm128 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero ibm128 0x4p-1076 : 0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 upward ibm128 0x4p-1076 : 0x8p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 downward intel96 0x8p-16448 : 0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest intel96 0x8p-16448 : 0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero intel96 0x8p-16448 : 0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward intel96 0x8p-16448 : 0x1p-16444 : inexact-ok underflow errno-erange-ok
+= log2p1 downward m68k96 0x8p-16448 : 0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest m68k96 0x8p-16448 : 0xcp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero m68k96 0x8p-16448 : 0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward m68k96 0x8p-16448 : 0xcp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary128 0x8p-16448 : 0xb.8aa3b295c17cp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary128 0x8p-16448 : 0xb.8aa3b295c18p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary128 0x8p-16448 : 0xb.8aa3b295c17cp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary128 0x8p-16448 : 0xb.8aa3b295c18p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 downward m68k96 0x4p-16448 : 0x4p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest m68k96 0x4p-16448 : 0x4p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero m68k96 0x4p-16448 : 0x4p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward m68k96 0x4p-16448 : 0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary128 0x4p-16448 : 0x5.c551d94ae0bcp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary128 0x4p-16448 : 0x5.c551d94ae0cp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary128 0x4p-16448 : 0x5.c551d94ae0bcp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary128 0x4p-16448 : 0x5.c551d94ae0cp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary128 0x4p-16496 : 0x4p-16496 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary128 0x4p-16496 : 0x4p-16496 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary128 0x4p-16496 : 0x4p-16496 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary128 0x4p-16496 : 0x8p-16496 : inexact-ok underflow errno-erange-ok
+log2p1 -min
+= log2p1 downward binary32 -0x4p-128 : -0x5.c551ep-128 : inexact-ok
+= log2p1 tonearest binary32 -0x4p-128 : -0x5.c551d8p-128 : inexact-ok
+= log2p1 towardzero binary32 -0x4p-128 : -0x5.c551d8p-128 : inexact-ok
+= log2p1 upward binary32 -0x4p-128 : -0x5.c551d8p-128 : inexact-ok
+= log2p1 downward binary64 -0x4p-128 : -0x5.c551d94ae0bfcp-128 : inexact-ok
+= log2p1 tonearest binary64 -0x4p-128 : -0x5.c551d94ae0bf8p-128 : inexact-ok
+= log2p1 towardzero binary64 -0x4p-128 : -0x5.c551d94ae0bf8p-128 : inexact-ok
+= log2p1 upward binary64 -0x4p-128 : -0x5.c551d94ae0bf8p-128 : inexact-ok
+= log2p1 downward intel96 -0x4p-128 : -0x5.c551d94ae0bf85ep-128 : inexact-ok
+= log2p1 tonearest intel96 -0x4p-128 : -0x5.c551d94ae0bf85ep-128 : inexact-ok
+= log2p1 towardzero intel96 -0x4p-128 : -0x5.c551d94ae0bf85d8p-128 : inexact-ok
+= log2p1 upward intel96 -0x4p-128 : -0x5.c551d94ae0bf85d8p-128 : inexact-ok
+= log2p1 downward m68k96 -0x4p-128 : -0x5.c551d94ae0bf85ep-128 : inexact-ok
+= log2p1 tonearest m68k96 -0x4p-128 : -0x5.c551d94ae0bf85ep-128 : inexact-ok
+= log2p1 towardzero m68k96 -0x4p-128 : -0x5.c551d94ae0bf85d8p-128 : inexact-ok
+= log2p1 upward m68k96 -0x4p-128 : -0x5.c551d94ae0bf85d8p-128 : inexact-ok
+= log2p1 downward binary128 -0x4p-128 : -0x5.c551d94ae0bf85ddf43ff68348ecp-128 : inexact-ok
+= log2p1 tonearest binary128 -0x4p-128 : -0x5.c551d94ae0bf85ddf43ff68348e8p-128 : inexact-ok
+= log2p1 towardzero binary128 -0x4p-128 : -0x5.c551d94ae0bf85ddf43ff68348e8p-128 : inexact-ok
+= log2p1 upward binary128 -0x4p-128 : -0x5.c551d94ae0bf85ddf43ff68348e8p-128 : inexact-ok
+= log2p1 downward ibm128 -0x4p-128 : -0x5.c551d94ae0bf85ddf43ff6834ap-128 : inexact-ok
+= log2p1 tonearest ibm128 -0x4p-128 : -0x5.c551d94ae0bf85ddf43ff68348p-128 : inexact-ok
+= log2p1 towardzero ibm128 -0x4p-128 : -0x5.c551d94ae0bf85ddf43ff68348p-128 : inexact-ok
+= log2p1 upward ibm128 -0x4p-128 : -0x5.c551d94ae0bf85ddf43ff68348p-128 : inexact-ok
+= log2p1 downward binary64 -0x4p-1024 : -0x5.c551d94ae0bfcp-1024 : inexact-ok
+= log2p1 tonearest binary64 -0x4p-1024 : -0x5.c551d94ae0bf8p-1024 : inexact-ok
+= log2p1 towardzero binary64 -0x4p-1024 : -0x5.c551d94ae0bf8p-1024 : inexact-ok
+= log2p1 upward binary64 -0x4p-1024 : -0x5.c551d94ae0bf8p-1024 : inexact-ok
+= log2p1 downward intel96 -0x4p-1024 : -0x5.c551d94ae0bf85ep-1024 : inexact-ok
+= log2p1 tonearest intel96 -0x4p-1024 : -0x5.c551d94ae0bf85ep-1024 : inexact-ok
+= log2p1 towardzero intel96 -0x4p-1024 : -0x5.c551d94ae0bf85d8p-1024 : inexact-ok
+= log2p1 upward intel96 -0x4p-1024 : -0x5.c551d94ae0bf85d8p-1024 : inexact-ok
+= log2p1 downward m68k96 -0x4p-1024 : -0x5.c551d94ae0bf85ep-1024 : inexact-ok
+= log2p1 tonearest m68k96 -0x4p-1024 : -0x5.c551d94ae0bf85ep-1024 : inexact-ok
+= log2p1 towardzero m68k96 -0x4p-1024 : -0x5.c551d94ae0bf85d8p-1024 : inexact-ok
+= log2p1 upward m68k96 -0x4p-1024 : -0x5.c551d94ae0bf85d8p-1024 : inexact-ok
+= log2p1 downward binary128 -0x4p-1024 : -0x5.c551d94ae0bf85ddf43ff68348ecp-1024 : inexact-ok
+= log2p1 tonearest binary128 -0x4p-1024 : -0x5.c551d94ae0bf85ddf43ff68348e8p-1024 : inexact-ok
+= log2p1 towardzero binary128 -0x4p-1024 : -0x5.c551d94ae0bf85ddf43ff68348e8p-1024 : inexact-ok
+= log2p1 upward binary128 -0x4p-1024 : -0x5.c551d94ae0bf85ddf43ff68348e8p-1024 : inexact-ok
+= log2p1 downward ibm128 -0x4p-1024 : -0x5.c551d94ae0bfcp-1024 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest ibm128 -0x4p-1024 : -0x5.c551d94ae0bf8p-1024 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero ibm128 -0x4p-1024 : -0x5.c551d94ae0bf8p-1024 : inexact-ok underflow errno-erange-ok
+= log2p1 upward ibm128 -0x4p-1024 : -0x5.c551d94ae0bf8p-1024 : inexact-ok underflow errno-erange-ok
+= log2p1 downward intel96 -0x4p-16384 : -0x5.c551d94ae0bf85ep-16384 : inexact-ok
+= log2p1 tonearest intel96 -0x4p-16384 : -0x5.c551d94ae0bf85ep-16384 : inexact-ok
+= log2p1 towardzero intel96 -0x4p-16384 : -0x5.c551d94ae0bf85d8p-16384 : inexact-ok
+= log2p1 upward intel96 -0x4p-16384 : -0x5.c551d94ae0bf85d8p-16384 : inexact-ok
+= log2p1 downward m68k96 -0x4p-16384 : -0x5.c551d94ae0bf85ep-16384 : inexact-ok
+= log2p1 tonearest m68k96 -0x4p-16384 : -0x5.c551d94ae0bf85ep-16384 : inexact-ok
+= log2p1 towardzero m68k96 -0x4p-16384 : -0x5.c551d94ae0bf85d8p-16384 : inexact-ok
+= log2p1 upward m68k96 -0x4p-16384 : -0x5.c551d94ae0bf85d8p-16384 : inexact-ok
+= log2p1 downward binary128 -0x4p-16384 : -0x5.c551d94ae0bf85ddf43ff68348ecp-16384 : inexact-ok
+= log2p1 tonearest binary128 -0x4p-16384 : -0x5.c551d94ae0bf85ddf43ff68348e8p-16384 : inexact-ok
+= log2p1 towardzero binary128 -0x4p-16384 : -0x5.c551d94ae0bf85ddf43ff68348e8p-16384 : inexact-ok
+= log2p1 upward binary128 -0x4p-16384 : -0x5.c551d94ae0bf85ddf43ff68348e8p-16384 : inexact-ok
+= log2p1 downward intel96 -0x2p-16384 : -0x2.e2a8eca5705fc2fp-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest intel96 -0x2p-16384 : -0x2.e2a8eca5705fc2fp-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero intel96 -0x2p-16384 : -0x2.e2a8eca5705fc2e8p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 upward intel96 -0x2p-16384 : -0x2.e2a8eca5705fc2e8p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 downward m68k96 -0x2p-16384 : -0x2.e2a8eca5705fc2fp-16384 : inexact-ok
+= log2p1 tonearest m68k96 -0x2p-16384 : -0x2.e2a8eca5705fc2fp-16384 : inexact-ok
+= log2p1 towardzero m68k96 -0x2p-16384 : -0x2.e2a8eca5705fc2ecp-16384 : inexact-ok
+= log2p1 upward m68k96 -0x2p-16384 : -0x2.e2a8eca5705fc2ecp-16384 : inexact-ok
+= log2p1 downward binary128 -0x2p-16384 : -0x2.e2a8eca5705fc2eefa1ffb41a478p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary128 -0x2p-16384 : -0x2.e2a8eca5705fc2eefa1ffb41a474p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary128 -0x2p-16384 : -0x2.e2a8eca5705fc2eefa1ffb41a474p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary128 -0x2p-16384 : -0x2.e2a8eca5705fc2eefa1ffb41a474p-16384 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary64 -0x8p-972 : -0xb.8aa3b295c17f8p-972 : inexact-ok
+= log2p1 tonearest binary64 -0x8p-972 : -0xb.8aa3b295c17fp-972 : inexact-ok
+= log2p1 towardzero binary64 -0x8p-972 : -0xb.8aa3b295c17fp-972 : inexact-ok
+= log2p1 upward binary64 -0x8p-972 : -0xb.8aa3b295c17fp-972 : inexact-ok
+= log2p1 downward intel96 -0x8p-972 : -0xb.8aa3b295c17f0bcp-972 : inexact-ok
+= log2p1 tonearest intel96 -0x8p-972 : -0xb.8aa3b295c17f0bcp-972 : inexact-ok
+= log2p1 towardzero intel96 -0x8p-972 : -0xb.8aa3b295c17f0bbp-972 : inexact-ok
+= log2p1 upward intel96 -0x8p-972 : -0xb.8aa3b295c17f0bbp-972 : inexact-ok
+= log2p1 downward m68k96 -0x8p-972 : -0xb.8aa3b295c17f0bcp-972 : inexact-ok
+= log2p1 tonearest m68k96 -0x8p-972 : -0xb.8aa3b295c17f0bcp-972 : inexact-ok
+= log2p1 towardzero m68k96 -0x8p-972 : -0xb.8aa3b295c17f0bbp-972 : inexact-ok
+= log2p1 upward m68k96 -0x8p-972 : -0xb.8aa3b295c17f0bbp-972 : inexact-ok
+= log2p1 downward binary128 -0x8p-972 : -0xb.8aa3b295c17f0bbbe87fed0691d8p-972 : inexact-ok
+= log2p1 tonearest binary128 -0x8p-972 : -0xb.8aa3b295c17f0bbbe87fed0691dp-972 : inexact-ok
+= log2p1 towardzero binary128 -0x8p-972 : -0xb.8aa3b295c17f0bbbe87fed0691dp-972 : inexact-ok
+= log2p1 upward binary128 -0x8p-972 : -0xb.8aa3b295c17f0bbbe87fed0691dp-972 : inexact-ok
+= log2p1 downward ibm128 -0x8p-972 : -0xb.8aa3b295c17f0bbbe87fed0694p-972 : inexact-ok
+= log2p1 tonearest ibm128 -0x8p-972 : -0xb.8aa3b295c17f0bbbe87fed069p-972 : inexact-ok
+= log2p1 towardzero ibm128 -0x8p-972 : -0xb.8aa3b295c17f0bbbe87fed069p-972 : inexact-ok
+= log2p1 upward ibm128 -0x8p-972 : -0xb.8aa3b295c17f0bbbe87fed069p-972 : inexact-ok
+log2p1 -min_subnorm
+= log2p1 downward binary32 -0x8p-152 : -0x1p-148 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary32 -0x8p-152 : -0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary32 -0x8p-152 : -0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary32 -0x8p-152 : -0x8p-152 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary64 -0x8p-152 : -0xb.8aa3b295c17f8p-152 : inexact-ok
+= log2p1 tonearest binary64 -0x8p-152 : -0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 towardzero binary64 -0x8p-152 : -0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 upward binary64 -0x8p-152 : -0xb.8aa3b295c17fp-152 : inexact-ok
+= log2p1 downward intel96 -0x8p-152 : -0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 tonearest intel96 -0x8p-152 : -0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 towardzero intel96 -0x8p-152 : -0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 upward intel96 -0x8p-152 : -0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 downward m68k96 -0x8p-152 : -0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 tonearest m68k96 -0x8p-152 : -0xb.8aa3b295c17f0bcp-152 : inexact-ok
+= log2p1 towardzero m68k96 -0x8p-152 : -0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 upward m68k96 -0x8p-152 : -0xb.8aa3b295c17f0bbp-152 : inexact-ok
+= log2p1 downward binary128 -0x8p-152 : -0xb.8aa3b295c17f0bbbe87fed0691d8p-152 : inexact-ok
+= log2p1 tonearest binary128 -0x8p-152 : -0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 towardzero binary128 -0x8p-152 : -0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 upward binary128 -0x8p-152 : -0xb.8aa3b295c17f0bbbe87fed0691dp-152 : inexact-ok
+= log2p1 downward ibm128 -0x8p-152 : -0xb.8aa3b295c17f0bbbe87fed0694p-152 : inexact-ok
+= log2p1 tonearest ibm128 -0x8p-152 : -0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 towardzero ibm128 -0x8p-152 : -0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 upward ibm128 -0x8p-152 : -0xb.8aa3b295c17f0bbbe87fed069p-152 : inexact-ok
+= log2p1 downward binary64 -0x4p-1076 : -0x8p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary64 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary64 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary64 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 downward intel96 -0x4p-1076 : -0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 tonearest intel96 -0x4p-1076 : -0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 towardzero intel96 -0x4p-1076 : -0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 upward intel96 -0x4p-1076 : -0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 downward m68k96 -0x4p-1076 : -0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 tonearest m68k96 -0x4p-1076 : -0x5.c551d94ae0bf85ep-1076 : inexact-ok
+= log2p1 towardzero m68k96 -0x4p-1076 : -0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 upward m68k96 -0x4p-1076 : -0x5.c551d94ae0bf85d8p-1076 : inexact-ok
+= log2p1 downward binary128 -0x4p-1076 : -0x5.c551d94ae0bf85ddf43ff68348ecp-1076 : inexact-ok
+= log2p1 tonearest binary128 -0x4p-1076 : -0x5.c551d94ae0bf85ddf43ff68348e8p-1076 : inexact-ok
+= log2p1 towardzero binary128 -0x4p-1076 : -0x5.c551d94ae0bf85ddf43ff68348e8p-1076 : inexact-ok
+= log2p1 upward binary128 -0x4p-1076 : -0x5.c551d94ae0bf85ddf43ff68348e8p-1076 : inexact-ok
+= log2p1 downward ibm128 -0x4p-1076 : -0x8p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest ibm128 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero ibm128 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 upward ibm128 -0x4p-1076 : -0x4p-1076 : inexact-ok underflow errno-erange-ok
+= log2p1 downward intel96 -0x8p-16448 : -0x1p-16444 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest intel96 -0x8p-16448 : -0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero intel96 -0x8p-16448 : -0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward intel96 -0x8p-16448 : -0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 downward m68k96 -0x8p-16448 : -0xcp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest m68k96 -0x8p-16448 : -0xcp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero m68k96 -0x8p-16448 : -0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward m68k96 -0x8p-16448 : -0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary128 -0x8p-16448 : -0xb.8aa3b295c18p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary128 -0x8p-16448 : -0xb.8aa3b295c18p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary128 -0x8p-16448 : -0xb.8aa3b295c17cp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary128 -0x8p-16448 : -0xb.8aa3b295c17cp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 downward m68k96 -0x4p-16448 : -0x8p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest m68k96 -0x4p-16448 : -0x4p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero m68k96 -0x4p-16448 : -0x4p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward m68k96 -0x4p-16448 : -0x4p-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary128 -0x4p-16448 : -0x5.c551d94ae0cp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary128 -0x4p-16448 : -0x5.c551d94ae0cp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary128 -0x4p-16448 : -0x5.c551d94ae0bcp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary128 -0x4p-16448 : -0x5.c551d94ae0bcp-16448 : inexact-ok underflow errno-erange-ok
+= log2p1 downward binary128 -0x4p-16496 : -0x8p-16496 : inexact-ok underflow errno-erange-ok
+= log2p1 tonearest binary128 -0x4p-16496 : -0x4p-16496 : inexact-ok underflow errno-erange-ok
+= log2p1 towardzero binary128 -0x4p-16496 : -0x4p-16496 : inexact-ok underflow errno-erange-ok
+= log2p1 upward binary128 -0x4p-16496 : -0x4p-16496 : inexact-ok underflow errno-erange-ok
+log2p1 0x1p10
+= log2p1 downward binary32 0x4p+8 : 0xa.005c4p+0 : inexact-ok
+= log2p1 tonearest binary32 0x4p+8 : 0xa.005c5p+0 : inexact-ok
+= log2p1 towardzero binary32 0x4p+8 : 0xa.005c4p+0 : inexact-ok
+= log2p1 upward binary32 0x4p+8 : 0xa.005c5p+0 : inexact-ok
+= log2p1 downward binary64 0x4p+8 : 0xa.005c4994dd0f8p+0 : inexact-ok
+= log2p1 tonearest binary64 0x4p+8 : 0xa.005c4994dd1p+0 : inexact-ok
+= log2p1 towardzero binary64 0x4p+8 : 0xa.005c4994dd0f8p+0 : inexact-ok
+= log2p1 upward binary64 0x4p+8 : 0xa.005c4994dd1p+0 : inexact-ok
+= log2p1 downward intel96 0x4p+8 : 0xa.005c4994dd0fd15p+0 : inexact-ok
+= log2p1 tonearest intel96 0x4p+8 : 0xa.005c4994dd0fd15p+0 : inexact-ok
+= log2p1 towardzero intel96 0x4p+8 : 0xa.005c4994dd0fd15p+0 : inexact-ok
+= log2p1 upward intel96 0x4p+8 : 0xa.005c4994dd0fd16p+0 : inexact-ok
+= log2p1 downward m68k96 0x4p+8 : 0xa.005c4994dd0fd15p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x4p+8 : 0xa.005c4994dd0fd15p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x4p+8 : 0xa.005c4994dd0fd15p+0 : inexact-ok
+= log2p1 upward m68k96 0x4p+8 : 0xa.005c4994dd0fd16p+0 : inexact-ok
+= log2p1 downward binary128 0x4p+8 : 0xa.005c4994dd0fd1507ea7e50e4988p+0 : inexact-ok
+= log2p1 tonearest binary128 0x4p+8 : 0xa.005c4994dd0fd1507ea7e50e499p+0 : inexact-ok
+= log2p1 towardzero binary128 0x4p+8 : 0xa.005c4994dd0fd1507ea7e50e4988p+0 : inexact-ok
+= log2p1 upward binary128 0x4p+8 : 0xa.005c4994dd0fd1507ea7e50e499p+0 : inexact-ok
+= log2p1 downward ibm128 0x4p+8 : 0xa.005c4994dd0fd1507ea7e50e48p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x4p+8 : 0xa.005c4994dd0fd1507ea7e50e48p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x4p+8 : 0xa.005c4994dd0fd1507ea7e50e48p+0 : inexact-ok
+= log2p1 upward ibm128 0x4p+8 : 0xa.005c4994dd0fd1507ea7e50e4cp+0 : inexact-ok
+log2p1 0x1p20
+= log2p1 downward binary32 0x1p+20 : 0x1.4p+4 : inexact-ok
+= log2p1 tonearest binary32 0x1p+20 : 0x1.400002p+4 : inexact-ok
+= log2p1 towardzero binary32 0x1p+20 : 0x1.4p+4 : inexact-ok
+= log2p1 upward binary32 0x1p+20 : 0x1.400002p+4 : inexact-ok
+= log2p1 downward binary64 0x1p+20 : 0x1.40000171546acp+4 : inexact-ok
+= log2p1 tonearest binary64 0x1p+20 : 0x1.40000171546adp+4 : inexact-ok
+= log2p1 towardzero binary64 0x1p+20 : 0x1.40000171546acp+4 : inexact-ok
+= log2p1 upward binary64 0x1p+20 : 0x1.40000171546adp+4 : inexact-ok
+= log2p1 downward intel96 0x1p+20 : 0x1.40000171546ac814p+4 : inexact-ok
+= log2p1 tonearest intel96 0x1p+20 : 0x1.40000171546ac814p+4 : inexact-ok
+= log2p1 towardzero intel96 0x1p+20 : 0x1.40000171546ac814p+4 : inexact-ok
+= log2p1 upward intel96 0x1p+20 : 0x1.40000171546ac816p+4 : inexact-ok
+= log2p1 downward m68k96 0x1p+20 : 0x1.40000171546ac814p+4 : inexact-ok
+= log2p1 tonearest m68k96 0x1p+20 : 0x1.40000171546ac814p+4 : inexact-ok
+= log2p1 towardzero m68k96 0x1p+20 : 0x1.40000171546ac814p+4 : inexact-ok
+= log2p1 upward m68k96 0x1p+20 : 0x1.40000171546ac816p+4 : inexact-ok
+= log2p1 downward binary128 0x1p+20 : 0x1.40000171546ac814f867d7a99ac2p+4 : inexact-ok
+= log2p1 tonearest binary128 0x1p+20 : 0x1.40000171546ac814f867d7a99ac2p+4 : inexact-ok
+= log2p1 towardzero binary128 0x1p+20 : 0x1.40000171546ac814f867d7a99ac2p+4 : inexact-ok
+= log2p1 upward binary128 0x1p+20 : 0x1.40000171546ac814f867d7a99ac3p+4 : inexact-ok
+= log2p1 downward ibm128 0x1p+20 : 0x1.40000171546ac814f867d7a99a8p+4 : inexact-ok
+= log2p1 tonearest ibm128 0x1p+20 : 0x1.40000171546ac814f867d7a99bp+4 : inexact-ok
+= log2p1 towardzero ibm128 0x1p+20 : 0x1.40000171546ac814f867d7a99a8p+4 : inexact-ok
+= log2p1 upward ibm128 0x1p+20 : 0x1.40000171546ac814f867d7a99bp+4 : inexact-ok
+log2p1 0x1p30
+= log2p1 downward binary32 0x4p+28 : 0x1.ep+4 : inexact-ok
+= log2p1 tonearest binary32 0x4p+28 : 0x1.ep+4 : inexact-ok
+= log2p1 towardzero binary32 0x4p+28 : 0x1.ep+4 : inexact-ok
+= log2p1 upward binary32 0x4p+28 : 0x1.e00002p+4 : inexact-ok
+= log2p1 downward binary64 0x4p+28 : 0x1.e00000005c551p+4 : inexact-ok
+= log2p1 tonearest binary64 0x4p+28 : 0x1.e00000005c552p+4 : inexact-ok
+= log2p1 towardzero binary64 0x4p+28 : 0x1.e00000005c551p+4 : inexact-ok
+= log2p1 upward binary64 0x4p+28 : 0x1.e00000005c552p+4 : inexact-ok
+= log2p1 downward intel96 0x4p+28 : 0x1.e00000005c551d92p+4 : inexact-ok
+= log2p1 tonearest intel96 0x4p+28 : 0x1.e00000005c551d94p+4 : inexact-ok
+= log2p1 towardzero intel96 0x4p+28 : 0x1.e00000005c551d92p+4 : inexact-ok
+= log2p1 upward intel96 0x4p+28 : 0x1.e00000005c551d94p+4 : inexact-ok
+= log2p1 downward m68k96 0x4p+28 : 0x1.e00000005c551d92p+4 : inexact-ok
+= log2p1 tonearest m68k96 0x4p+28 : 0x1.e00000005c551d94p+4 : inexact-ok
+= log2p1 towardzero m68k96 0x4p+28 : 0x1.e00000005c551d92p+4 : inexact-ok
+= log2p1 upward m68k96 0x4p+28 : 0x1.e00000005c551d94p+4 : inexact-ok
+= log2p1 downward binary128 0x4p+28 : 0x1.e00000005c551d93f561bd366f9cp+4 : inexact-ok
+= log2p1 tonearest binary128 0x4p+28 : 0x1.e00000005c551d93f561bd366f9dp+4 : inexact-ok
+= log2p1 towardzero binary128 0x4p+28 : 0x1.e00000005c551d93f561bd366f9cp+4 : inexact-ok
+= log2p1 upward binary128 0x4p+28 : 0x1.e00000005c551d93f561bd366f9dp+4 : inexact-ok
+= log2p1 downward ibm128 0x4p+28 : 0x1.e00000005c551d93f561bd366f8p+4 : inexact-ok
+= log2p1 tonearest ibm128 0x4p+28 : 0x1.e00000005c551d93f561bd366f8p+4 : inexact-ok
+= log2p1 towardzero ibm128 0x4p+28 : 0x1.e00000005c551d93f561bd366f8p+4 : inexact-ok
+= log2p1 upward ibm128 0x4p+28 : 0x1.e00000005c551d93f561bd367p+4 : inexact-ok
+log2p1 0x1p50
+= log2p1 downward binary32 0x4p+48 : 0x3.2p+4 : inexact-ok
+= log2p1 tonearest binary32 0x4p+48 : 0x3.2p+4 : inexact-ok
+= log2p1 towardzero binary32 0x4p+48 : 0x3.2p+4 : inexact-ok
+= log2p1 upward binary32 0x4p+48 : 0x3.200004p+4 : inexact-ok
+= log2p1 downward binary64 0x4p+48 : 0x3.2p+4 : inexact-ok
+= log2p1 tonearest binary64 0x4p+48 : 0x3.2p+4 : inexact-ok
+= log2p1 towardzero binary64 0x4p+48 : 0x3.2p+4 : inexact-ok
+= log2p1 upward binary64 0x4p+48 : 0x3.2000000000002p+4 : inexact-ok
+= log2p1 downward intel96 0x4p+48 : 0x3.20000000000005c4p+4 : inexact-ok
+= log2p1 tonearest intel96 0x4p+48 : 0x3.20000000000005c4p+4 : inexact-ok
+= log2p1 towardzero intel96 0x4p+48 : 0x3.20000000000005c4p+4 : inexact-ok
+= log2p1 upward intel96 0x4p+48 : 0x3.20000000000005c8p+4 : inexact-ok
+= log2p1 downward m68k96 0x4p+48 : 0x3.20000000000005c4p+4 : inexact-ok
+= log2p1 tonearest m68k96 0x4p+48 : 0x3.20000000000005c4p+4 : inexact-ok
+= log2p1 towardzero m68k96 0x4p+48 : 0x3.20000000000005c4p+4 : inexact-ok
+= log2p1 upward m68k96 0x4p+48 : 0x3.20000000000005c8p+4 : inexact-ok
+= log2p1 downward binary128 0x4p+48 : 0x3.20000000000005c551d94ae0beccp+4 : inexact-ok
+= log2p1 tonearest binary128 0x4p+48 : 0x3.20000000000005c551d94ae0becep+4 : inexact-ok
+= log2p1 towardzero binary128 0x4p+48 : 0x3.20000000000005c551d94ae0beccp+4 : inexact-ok
+= log2p1 upward binary128 0x4p+48 : 0x3.20000000000005c551d94ae0becep+4 : inexact-ok
+= log2p1 downward ibm128 0x4p+48 : 0x3.20000000000005c551d94ae0bep+4 : inexact-ok
+= log2p1 tonearest ibm128 0x4p+48 : 0x3.20000000000005c551d94ae0bfp+4 : inexact-ok
+= log2p1 towardzero ibm128 0x4p+48 : 0x3.20000000000005c551d94ae0bep+4 : inexact-ok
+= log2p1 upward ibm128 0x4p+48 : 0x3.20000000000005c551d94ae0bfp+4 : inexact-ok
+log2p1 0x1p60
+= log2p1 downward binary32 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 tonearest binary32 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 towardzero binary32 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 upward binary32 0x1p+60 : 0x3.c00004p+4 : inexact-ok
+= log2p1 downward binary64 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 tonearest binary64 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 towardzero binary64 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 upward binary64 0x1p+60 : 0x3.c000000000002p+4 : inexact-ok
+= log2p1 downward intel96 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 tonearest intel96 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 towardzero intel96 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 upward intel96 0x1p+60 : 0x3.c000000000000004p+4 : inexact-ok
+= log2p1 downward m68k96 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 tonearest m68k96 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 towardzero m68k96 0x1p+60 : 0x3.cp+4 : inexact-ok
+= log2p1 upward m68k96 0x1p+60 : 0x3.c000000000000004p+4 : inexact-ok
+= log2p1 downward binary128 0x1p+60 : 0x3.c00000000000000171547652b82ep+4 : inexact-ok
+= log2p1 tonearest binary128 0x1p+60 : 0x3.c00000000000000171547652b83p+4 : inexact-ok
+= log2p1 towardzero binary128 0x1p+60 : 0x3.c00000000000000171547652b82ep+4 : inexact-ok
+= log2p1 upward binary128 0x1p+60 : 0x3.c00000000000000171547652b83p+4 : inexact-ok
+= log2p1 downward ibm128 0x1p+60 : 0x3.c00000000000000171547652b8p+4 : inexact-ok
+= log2p1 tonearest ibm128 0x1p+60 : 0x3.c00000000000000171547652b8p+4 : inexact-ok
+= log2p1 towardzero ibm128 0x1p+60 : 0x3.c00000000000000171547652b8p+4 : inexact-ok
+= log2p1 upward ibm128 0x1p+60 : 0x3.c00000000000000171547652b9p+4 : inexact-ok
+log2p1 0x1p100
+= log2p1 downward binary32 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 tonearest binary32 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 towardzero binary32 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 upward binary32 0x1p+100 : 0x6.400008p+4 : inexact-ok
+= log2p1 downward binary64 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 tonearest binary64 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 towardzero binary64 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 upward binary64 0x1p+100 : 0x6.4000000000004p+4 : inexact-ok
+= log2p1 downward intel96 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 tonearest intel96 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 towardzero intel96 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 upward intel96 0x1p+100 : 0x6.4000000000000008p+4 : inexact-ok
+= log2p1 downward m68k96 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 tonearest m68k96 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 towardzero m68k96 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 upward m68k96 0x1p+100 : 0x6.4000000000000008p+4 : inexact-ok
+= log2p1 downward binary128 0x1p+100 : 0x6.400000000000000000000000017p+4 : inexact-ok
+= log2p1 tonearest binary128 0x1p+100 : 0x6.400000000000000000000000017p+4 : inexact-ok
+= log2p1 towardzero binary128 0x1p+100 : 0x6.400000000000000000000000017p+4 : inexact-ok
+= log2p1 upward binary128 0x1p+100 : 0x6.4000000000000000000000000174p+4 : inexact-ok
+= log2p1 downward ibm128 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 tonearest ibm128 0x1p+100 : 0x6.40000000000000000000000002p+4 : inexact-ok
+= log2p1 towardzero ibm128 0x1p+100 : 0x6.4p+4 : inexact-ok
+= log2p1 upward ibm128 0x1p+100 : 0x6.40000000000000000000000002p+4 : inexact-ok
+log2p1 0x1p1000
+= log2p1 downward binary32 0xf.fffffp+124 : 0x7.fffff8p+4 : inexact-ok
+= log2p1 tonearest binary32 0xf.fffffp+124 : 0x8p+4 : inexact-ok
+= log2p1 towardzero binary32 0xf.fffffp+124 : 0x7.fffff8p+4 : inexact-ok
+= log2p1 upward binary32 0xf.fffffp+124 : 0x8p+4 : inexact-ok
+= log2p1 downward binary64 0xf.fffffp+124 : 0x7.ffffffe8eab88p+4 : inexact-ok
+= log2p1 tonearest binary64 0xf.fffffp+124 : 0x7.ffffffe8eab88p+4 : inexact-ok
+= log2p1 towardzero binary64 0xf.fffffp+124 : 0x7.ffffffe8eab88p+4 : inexact-ok
+= log2p1 upward binary64 0xf.fffffp+124 : 0x7.ffffffe8eab8cp+4 : inexact-ok
+= log2p1 downward intel96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 tonearest intel96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 towardzero intel96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 upward intel96 0xf.fffffp+124 : 0x7.ffffffe8eab88f5p+4 : inexact-ok
+= log2p1 downward m68k96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 tonearest m68k96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 towardzero m68k96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 upward m68k96 0xf.fffffp+124 : 0x7.ffffffe8eab88f5p+4 : inexact-ok
+= log2p1 downward binary128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a104332p+4 : inexact-ok
+= log2p1 tonearest binary128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a104332p+4 : inexact-ok
+= log2p1 towardzero binary128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a104332p+4 : inexact-ok
+= log2p1 upward binary128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a1043324p+4 : inexact-ok
+= log2p1 downward ibm128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a10432p+4 : inexact-ok
+= log2p1 tonearest ibm128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a10434p+4 : inexact-ok
+= log2p1 towardzero ibm128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a10432p+4 : inexact-ok
+= log2p1 upward ibm128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a10434p+4 : inexact-ok
+= log2p1 downward binary64 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 tonearest binary64 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 towardzero binary64 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 upward binary64 0x1p+1000 : 0x3.e800000000002p+8 : inexact-ok
+= log2p1 downward intel96 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 tonearest intel96 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 towardzero intel96 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 upward intel96 0x1p+1000 : 0x3.e800000000000004p+8 : inexact-ok
+= log2p1 downward m68k96 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 tonearest m68k96 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 towardzero m68k96 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 upward m68k96 0x1p+1000 : 0x3.e800000000000004p+8 : inexact-ok
+= log2p1 downward binary128 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 tonearest binary128 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 towardzero binary128 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 upward binary128 0x1p+1000 : 0x3.e800000000000000000000000002p+8 : inexact-ok
+= log2p1 downward ibm128 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 tonearest ibm128 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 towardzero ibm128 0x1p+1000 : 0x3.e8p+8 : inexact-ok
+= log2p1 upward ibm128 0x1p+1000 : 0x3.e8000000000000000000000001p+8 : inexact-ok
+log2p1 0x6.a0cf42befce9ed4085ef59254b48p-4
+= log2p1 downward binary32 0x6.a0cf48p-4 : 0x8.0031dp-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.a0cf48p-4 : 0x8.0031ep-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.a0cf48p-4 : 0x8.0031dp-4 : inexact-ok
+= log2p1 upward binary32 0x6.a0cf48p-4 : 0x8.0031ep-4 : inexact-ok
+= log2p1 downward binary64 0x6.a0cf48p-4 : 0x8.0031dd4ec0d88p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.a0cf48p-4 : 0x8.0031dd4ec0d9p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.a0cf48p-4 : 0x8.0031dd4ec0d88p-4 : inexact-ok
+= log2p1 upward binary64 0x6.a0cf48p-4 : 0x8.0031dd4ec0d9p-4 : inexact-ok
+= log2p1 downward intel96 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f5p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f51p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f5p-4 : inexact-ok
+= log2p1 upward intel96 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f51p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f5p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f51p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f5p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f51p-4 : inexact-ok
+= log2p1 downward binary128 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f50c69dcd5a6fa8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f50c69dcd5a6fa8p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f50c69dcd5a6fa8p-4 : inexact-ok
+= log2p1 upward binary128 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f50c69dcd5a6fa88p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f50c69dcd5a6f8p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f50c69dcd5a6fcp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f50c69dcd5a6f8p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.a0cf48p-4 : 0x8.0031dd4ec0d8f50c69dcd5a6fcp-4 : inexact-ok
+= log2p1 downward binary32 0x6.a0cf4p-4 : 0x8.0031dp-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.a0cf4p-4 : 0x8.0031dp-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.a0cf4p-4 : 0x8.0031dp-4 : inexact-ok
+= log2p1 upward binary32 0x6.a0cf4p-4 : 0x8.0031ep-4 : inexact-ok
+= log2p1 downward binary64 0x6.a0cf4p-4 : 0x8.0031d52593998p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.a0cf4p-4 : 0x8.0031d525939ap-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.a0cf4p-4 : 0x8.0031d52593998p-4 : inexact-ok
+= log2p1 upward binary64 0x6.a0cf4p-4 : 0x8.0031d525939ap-4 : inexact-ok
+= log2p1 downward intel96 0x6.a0cf4p-4 : 0x8.0031d5259399e48p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.a0cf4p-4 : 0x8.0031d5259399e48p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.a0cf4p-4 : 0x8.0031d5259399e48p-4 : inexact-ok
+= log2p1 upward intel96 0x6.a0cf4p-4 : 0x8.0031d5259399e49p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.a0cf4p-4 : 0x8.0031d5259399e48p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.a0cf4p-4 : 0x8.0031d5259399e48p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.a0cf4p-4 : 0x8.0031d5259399e48p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.a0cf4p-4 : 0x8.0031d5259399e49p-4 : inexact-ok
+= log2p1 downward binary128 0x6.a0cf4p-4 : 0x8.0031d5259399e483b6c7d6a7e5fp-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.a0cf4p-4 : 0x8.0031d5259399e483b6c7d6a7e5fp-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.a0cf4p-4 : 0x8.0031d5259399e483b6c7d6a7e5fp-4 : inexact-ok
+= log2p1 upward binary128 0x6.a0cf4p-4 : 0x8.0031d5259399e483b6c7d6a7e5f8p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.a0cf4p-4 : 0x8.0031d5259399e483b6c7d6a7e4p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.a0cf4p-4 : 0x8.0031d5259399e483b6c7d6a7e4p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.a0cf4p-4 : 0x8.0031d5259399e483b6c7d6a7e4p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.a0cf4p-4 : 0x8.0031d5259399e483b6c7d6a7e8p-4 : inexact-ok
+= log2p1 downward binary64 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dcp-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dcp-4 : inexact-ok
+= log2p1 upward binary64 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc8p-4 : inexact-ok
+= log2p1 downward intel96 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b6p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5p-4 : inexact-ok
+= log2p1 upward intel96 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b6p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b6p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b6p-4 : inexact-ok
+= log2p1 downward binary128 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5d560332b9b7ep-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5d560332b9b7ep-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5d560332b9b7ep-4 : inexact-ok
+= log2p1 upward binary128 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5d560332b9b7e8p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5d560332b9b4p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5d560332b9b8p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5d560332b9b4p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.a0cf42befceap-4 : 0x8.0031d7f2b2dc5b5d560332b9b8p-4 : inexact-ok
+= log2p1 downward binary64 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dcp-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dcp-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dcp-4 : inexact-ok
+= log2p1 upward binary64 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc8p-4 : inexact-ok
+= log2p1 downward intel96 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a1p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a1p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a1p-4 : inexact-ok
+= log2p1 upward intel96 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a2p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a1p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a1p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a1p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a2p-4 : inexact-ok
+= log2p1 downward binary128 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a13ec071045078p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a13ec0710450788p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a13ec071045078p-4 : inexact-ok
+= log2p1 upward binary128 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a13ec0710450788p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a13ec07104504p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a13ec07104508p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a13ec07104504p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.a0cf42befce9cp-4 : 0x8.0031d7f2b2dc1a13ec07104508p-4 : inexact-ok
+= log2p1 downward intel96 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 upward intel96 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc485p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc485p-4 : inexact-ok
+= log2p1 downward binary128 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc4844fd239425d6ep-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc4844fd239425d6ep-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc4844fd239425d6ep-4 : inexact-ok
+= log2p1 upward binary128 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc4844fd239425d6e8p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc4844fd239425d4p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc4844fd239425d8p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc4844fd239425d4p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.a0cf42befce9ed48p-4 : 0x8.0031d7f2b2dc4844fd239425d8p-4 : inexact-ok
+= log2p1 downward intel96 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483p-4 : inexact-ok
+= log2p1 upward intel96 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc484p-4 : inexact-ok
+= log2p1 downward binary128 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483cd3f654a18848p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483cd3f654a18848p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483cd3f654a18848p-4 : inexact-ok
+= log2p1 upward binary128 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483cd3f654a1885p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483cd3f654a188p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483cd3f654a188p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483cd3f654a188p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.a0cf42befce9ed4p-4 : 0x8.0031d7f2b2dc483cd3f654a18cp-4 : inexact-ok
+= log2p1 downward binary128 0x6.a0cf42befce9ed4085ef59254b48p-4 : 0x8.0031d7f2b2dc483d5c970df96c1p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.a0cf42befce9ed4085ef59254b48p-4 : 0x8.0031d7f2b2dc483d5c970df96c18p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.a0cf42befce9ed4085ef59254b48p-4 : 0x8.0031d7f2b2dc483d5c970df96c1p-4 : inexact-ok
+= log2p1 upward binary128 0x6.a0cf42befce9ed4085ef59254b48p-4 : 0x8.0031d7f2b2dc483d5c970df96c18p-4 : inexact-ok
+= log2p1 downward binary128 0x6.a0cf42befce9ed4085ef59254cp-4 : 0x8.0031d7f2b2dc483d5c970df96cdp-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.a0cf42befce9ed4085ef59254cp-4 : 0x8.0031d7f2b2dc483d5c970df96cdp-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.a0cf42befce9ed4085ef59254cp-4 : 0x8.0031d7f2b2dc483d5c970df96cdp-4 : inexact-ok
+= log2p1 upward binary128 0x6.a0cf42befce9ed4085ef59254cp-4 : 0x8.0031d7f2b2dc483d5c970df96cd8p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.a0cf42befce9ed4085ef59254cp-4 : 0x8.0031d7f2b2dc483d5c970df96cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.a0cf42befce9ed4085ef59254cp-4 : 0x8.0031d7f2b2dc483d5c970df96cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.a0cf42befce9ed4085ef59254cp-4 : 0x8.0031d7f2b2dc483d5c970df96cp-4 : inexact-ok
+= log2p1 upward ibm128 0x6.a0cf42befce9ed4085ef59254cp-4 : 0x8.0031d7f2b2dc483d5c970df97p-4 : inexact-ok
+= log2p1 downward binary128 0x6.a0cf42befce9ed4085ef59254ap-4 : 0x8.0031d7f2b2dc483d5c970df96acp-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.a0cf42befce9ed4085ef59254ap-4 : 0x8.0031d7f2b2dc483d5c970df96ac8p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.a0cf42befce9ed4085ef59254ap-4 : 0x8.0031d7f2b2dc483d5c970df96acp-4 : inexact-ok
+= log2p1 upward binary128 0x6.a0cf42befce9ed4085ef59254ap-4 : 0x8.0031d7f2b2dc483d5c970df96ac8p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.a0cf42befce9ed4085ef59254ap-4 : 0x8.0031d7f2b2dc483d5c970df968p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.a0cf42befce9ed4085ef59254ap-4 : 0x8.0031d7f2b2dc483d5c970df96cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.a0cf42befce9ed4085ef59254ap-4 : 0x8.0031d7f2b2dc483d5c970df968p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.a0cf42befce9ed4085ef59254ap-4 : 0x8.0031d7f2b2dc483d5c970df96cp-4 : inexact-ok
+log2p1 max
+= log2p1 downward binary32 0xf.fffffp+124 : 0x7.fffff8p+4 : inexact-ok
+= log2p1 tonearest binary32 0xf.fffffp+124 : 0x8p+4 : inexact-ok
+= log2p1 towardzero binary32 0xf.fffffp+124 : 0x7.fffff8p+4 : inexact-ok
+= log2p1 upward binary32 0xf.fffffp+124 : 0x8p+4 : inexact-ok
+= log2p1 downward binary64 0xf.fffffp+124 : 0x7.ffffffe8eab88p+4 : inexact-ok
+= log2p1 tonearest binary64 0xf.fffffp+124 : 0x7.ffffffe8eab88p+4 : inexact-ok
+= log2p1 towardzero binary64 0xf.fffffp+124 : 0x7.ffffffe8eab88p+4 : inexact-ok
+= log2p1 upward binary64 0xf.fffffp+124 : 0x7.ffffffe8eab8cp+4 : inexact-ok
+= log2p1 downward intel96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 tonearest intel96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 towardzero intel96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 upward intel96 0xf.fffffp+124 : 0x7.ffffffe8eab88f5p+4 : inexact-ok
+= log2p1 downward m68k96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 tonearest m68k96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 towardzero m68k96 0xf.fffffp+124 : 0x7.ffffffe8eab88f48p+4 : inexact-ok
+= log2p1 upward m68k96 0xf.fffffp+124 : 0x7.ffffffe8eab88f5p+4 : inexact-ok
+= log2p1 downward binary128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a104332p+4 : inexact-ok
+= log2p1 tonearest binary128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a104332p+4 : inexact-ok
+= log2p1 towardzero binary128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a104332p+4 : inexact-ok
+= log2p1 upward binary128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a1043324p+4 : inexact-ok
+= log2p1 downward ibm128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a10432p+4 : inexact-ok
+= log2p1 tonearest ibm128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a10434p+4 : inexact-ok
+= log2p1 towardzero ibm128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a10432p+4 : inexact-ok
+= log2p1 upward ibm128 0xf.fffffp+124 : 0x7.ffffffe8eab88f49d947a10434p+4 : inexact-ok
+= log2p1 downward binary64 0xf.ffffffffffff8p+1020 : 0x3.ffffffffffffep+8 : inexact-ok
+= log2p1 tonearest binary64 0xf.ffffffffffff8p+1020 : 0x4p+8 : inexact-ok
+= log2p1 towardzero binary64 0xf.ffffffffffff8p+1020 : 0x3.ffffffffffffep+8 : inexact-ok
+= log2p1 upward binary64 0xf.ffffffffffff8p+1020 : 0x4p+8 : inexact-ok
+= log2p1 downward intel96 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4p+8 : inexact-ok
+= log2p1 tonearest intel96 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4p+8 : inexact-ok
+= log2p1 towardzero intel96 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4p+8 : inexact-ok
+= log2p1 upward intel96 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff8p+8 : inexact-ok
+= log2p1 downward m68k96 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4p+8 : inexact-ok
+= log2p1 tonearest m68k96 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4p+8 : inexact-ok
+= log2p1 towardzero m68k96 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4p+8 : inexact-ok
+= log2p1 upward m68k96 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff8p+8 : inexact-ok
+= log2p1 downward binary128 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4755c4d6a3e8p+8 : inexact-ok
+= log2p1 tonearest binary128 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4755c4d6a3e8p+8 : inexact-ok
+= log2p1 towardzero binary128 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4755c4d6a3e8p+8 : inexact-ok
+= log2p1 upward binary128 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4755c4d6a3e82p+8 : inexact-ok
+= log2p1 downward ibm128 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4755c4d6a3ep+8 : inexact-ok
+= log2p1 tonearest ibm128 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4755c4d6a3fp+8 : inexact-ok
+= log2p1 towardzero ibm128 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4755c4d6a3ep+8 : inexact-ok
+= log2p1 upward ibm128 0xf.ffffffffffff8p+1020 : 0x3.fffffffffffffff4755c4d6a3fp+8 : inexact-ok
+= log2p1 downward intel96 0xf.fffffffffffffffp+16380 : 0x3.fffffffffffffffcp+12 : inexact-ok
+= log2p1 tonearest intel96 0xf.fffffffffffffffp+16380 : 0x4p+12 : inexact-ok
+= log2p1 towardzero intel96 0xf.fffffffffffffffp+16380 : 0x3.fffffffffffffffcp+12 : inexact-ok
+= log2p1 upward intel96 0xf.fffffffffffffffp+16380 : 0x4p+12 : inexact-ok
+= log2p1 downward m68k96 0xf.fffffffffffffffp+16380 : 0x3.fffffffffffffffcp+12 : inexact-ok
+= log2p1 tonearest m68k96 0xf.fffffffffffffffp+16380 : 0x4p+12 : inexact-ok
+= log2p1 towardzero m68k96 0xf.fffffffffffffffp+16380 : 0x3.fffffffffffffffcp+12 : inexact-ok
+= log2p1 upward m68k96 0xf.fffffffffffffffp+16380 : 0x4p+12 : inexact-ok
+= log2p1 downward binary128 0xf.fffffffffffffffp+16380 : 0x3.ffffffffffffffffffe8eab89ad4p+12 : inexact-ok
+= log2p1 tonearest binary128 0xf.fffffffffffffffp+16380 : 0x3.ffffffffffffffffffe8eab89ad4p+12 : inexact-ok
+= log2p1 towardzero binary128 0xf.fffffffffffffffp+16380 : 0x3.ffffffffffffffffffe8eab89ad4p+12 : inexact-ok
+= log2p1 upward binary128 0xf.fffffffffffffffp+16380 : 0x3.ffffffffffffffffffe8eab89ad6p+12 : inexact-ok
+= log2p1 downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x3.fffffffffffffffffffffffffffep+12 : inexact-ok
+= log2p1 tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x4p+12 : inexact-ok
+= log2p1 towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x3.fffffffffffffffffffffffffffep+12 : inexact-ok
+= log2p1 upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x4p+12 : inexact-ok
+= log2p1 downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b51f4p+8 : inexact-ok
+= log2p1 tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b51f4p+8 : inexact-ok
+= log2p1 towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b51f4p+8 : inexact-ok
+= log2p1 upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b51f42p+8 : inexact-ok
+= log2p1 downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b51fp+8 : inexact-ok
+= log2p1 tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b51fp+8 : inexact-ok
+= log2p1 towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b51fp+8 : inexact-ok
+= log2p1 upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x3.fffffffffffffffa3aae26b52p+8 : inexact-ok
+log2p1 0x7.2a4368p-4
+= log2p1 downward binary32 0x7.2a4368p-4 : 0x8.8ac63p-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.2a4368p-4 : 0x8.8ac64p-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.2a4368p-4 : 0x8.8ac63p-4 : inexact-ok
+= log2p1 upward binary32 0x7.2a4368p-4 : 0x8.8ac64p-4 : inexact-ok
+= log2p1 downward binary64 0x7.2a4368p-4 : 0x8.8ac6393d19eep-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.2a4368p-4 : 0x8.8ac6393d19ee8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.2a4368p-4 : 0x8.8ac6393d19eep-4 : inexact-ok
+= log2p1 upward binary64 0x7.2a4368p-4 : 0x8.8ac6393d19ee8p-4 : inexact-ok
+= log2p1 downward intel96 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b2p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1p-4 : inexact-ok
+= log2p1 upward intel96 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b2p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b2p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b2p-4 : inexact-ok
+= log2p1 downward binary128 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1c76048fa0d97p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1c76048fa0d978p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1c76048fa0d97p-4 : inexact-ok
+= log2p1 upward binary128 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1c76048fa0d978p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1c76048fa0d8p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1c76048fa0d8p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1c76048fa0d8p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.2a4368p-4 : 0x8.8ac6393d19ee6b1c76048fa0dcp-4 : inexact-ok
+log2p1 0x6.d3a118p-4
+= log2p1 downward binary32 0x6.d3a118p-4 : 0x8.33cf5p-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.d3a118p-4 : 0x8.33cf6p-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.d3a118p-4 : 0x8.33cf5p-4 : inexact-ok
+= log2p1 upward binary32 0x6.d3a118p-4 : 0x8.33cf6p-4 : inexact-ok
+= log2p1 downward binary64 0x6.d3a118p-4 : 0x8.33cf5fc557078p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.d3a118p-4 : 0x8.33cf5fc55708p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.d3a118p-4 : 0x8.33cf5fc557078p-4 : inexact-ok
+= log2p1 upward binary64 0x6.d3a118p-4 : 0x8.33cf5fc55708p-4 : inexact-ok
+= log2p1 downward intel96 0x6.d3a118p-4 : 0x8.33cf5fc55707e24p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.d3a118p-4 : 0x8.33cf5fc55707e24p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.d3a118p-4 : 0x8.33cf5fc55707e24p-4 : inexact-ok
+= log2p1 upward intel96 0x6.d3a118p-4 : 0x8.33cf5fc55707e25p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.d3a118p-4 : 0x8.33cf5fc55707e24p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.d3a118p-4 : 0x8.33cf5fc55707e24p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.d3a118p-4 : 0x8.33cf5fc55707e24p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.d3a118p-4 : 0x8.33cf5fc55707e25p-4 : inexact-ok
+= log2p1 downward binary128 0x6.d3a118p-4 : 0x8.33cf5fc55707e247166db43908a8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.d3a118p-4 : 0x8.33cf5fc55707e247166db43908bp-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.d3a118p-4 : 0x8.33cf5fc55707e247166db43908a8p-4 : inexact-ok
+= log2p1 upward binary128 0x6.d3a118p-4 : 0x8.33cf5fc55707e247166db43908bp-4 : inexact-ok
+= log2p1 downward ibm128 0x6.d3a118p-4 : 0x8.33cf5fc55707e247166db43908p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.d3a118p-4 : 0x8.33cf5fc55707e247166db43908p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.d3a118p-4 : 0x8.33cf5fc55707e247166db43908p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.d3a118p-4 : 0x8.33cf5fc55707e247166db4390cp-4 : inexact-ok
+log2p1 0x5.03f228p+0
+= log2p1 downward binary32 0x5.03f228p+0 : 0x2.96b2acp+0 : inexact-ok
+= log2p1 tonearest binary32 0x5.03f228p+0 : 0x2.96b2bp+0 : inexact-ok
+= log2p1 towardzero binary32 0x5.03f228p+0 : 0x2.96b2acp+0 : inexact-ok
+= log2p1 upward binary32 0x5.03f228p+0 : 0x2.96b2bp+0 : inexact-ok
+= log2p1 downward binary64 0x5.03f228p+0 : 0x2.96b2aea66dc4ap+0 : inexact-ok
+= log2p1 tonearest binary64 0x5.03f228p+0 : 0x2.96b2aea66dc4ap+0 : inexact-ok
+= log2p1 towardzero binary64 0x5.03f228p+0 : 0x2.96b2aea66dc4ap+0 : inexact-ok
+= log2p1 upward binary64 0x5.03f228p+0 : 0x2.96b2aea66dc4cp+0 : inexact-ok
+= log2p1 downward intel96 0x5.03f228p+0 : 0x2.96b2aea66dc4abe4p+0 : inexact-ok
+= log2p1 tonearest intel96 0x5.03f228p+0 : 0x2.96b2aea66dc4abe8p+0 : inexact-ok
+= log2p1 towardzero intel96 0x5.03f228p+0 : 0x2.96b2aea66dc4abe4p+0 : inexact-ok
+= log2p1 upward intel96 0x5.03f228p+0 : 0x2.96b2aea66dc4abe8p+0 : inexact-ok
+= log2p1 downward m68k96 0x5.03f228p+0 : 0x2.96b2aea66dc4abe4p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x5.03f228p+0 : 0x2.96b2aea66dc4abe8p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x5.03f228p+0 : 0x2.96b2aea66dc4abe4p+0 : inexact-ok
+= log2p1 upward m68k96 0x5.03f228p+0 : 0x2.96b2aea66dc4abe8p+0 : inexact-ok
+= log2p1 downward binary128 0x5.03f228p+0 : 0x2.96b2aea66dc4abe7061d213ba8b4p+0 : inexact-ok
+= log2p1 tonearest binary128 0x5.03f228p+0 : 0x2.96b2aea66dc4abe7061d213ba8b6p+0 : inexact-ok
+= log2p1 towardzero binary128 0x5.03f228p+0 : 0x2.96b2aea66dc4abe7061d213ba8b4p+0 : inexact-ok
+= log2p1 upward binary128 0x5.03f228p+0 : 0x2.96b2aea66dc4abe7061d213ba8b6p+0 : inexact-ok
+= log2p1 downward ibm128 0x5.03f228p+0 : 0x2.96b2aea66dc4abe7061d213ba8p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x5.03f228p+0 : 0x2.96b2aea66dc4abe7061d213ba9p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x5.03f228p+0 : 0x2.96b2aea66dc4abe7061d213ba8p+0 : inexact-ok
+= log2p1 upward ibm128 0x5.03f228p+0 : 0x2.96b2aea66dc4abe7061d213ba9p+0 : inexact-ok
+log2p1 0x7.264963888ac9p-4
+= log2p1 downward binary32 0x7.264968p-4 : 0x8.86cf7p-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.264968p-4 : 0x8.86cf8p-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.264968p-4 : 0x8.86cf7p-4 : inexact-ok
+= log2p1 upward binary32 0x7.264968p-4 : 0x8.86cf8p-4 : inexact-ok
+= log2p1 downward binary64 0x7.264968p-4 : 0x8.86cf7c4d6b298p-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.264968p-4 : 0x8.86cf7c4d6b2ap-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.264968p-4 : 0x8.86cf7c4d6b298p-4 : inexact-ok
+= log2p1 upward binary64 0x7.264968p-4 : 0x8.86cf7c4d6b2ap-4 : inexact-ok
+= log2p1 downward intel96 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.264968p-4 : 0x8.86cf7c4d6b29ea2p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1p-4 : inexact-ok
+= log2p1 upward intel96 0x7.264968p-4 : 0x8.86cf7c4d6b29ea2p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.264968p-4 : 0x8.86cf7c4d6b29ea2p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.264968p-4 : 0x8.86cf7c4d6b29ea2p-4 : inexact-ok
+= log2p1 downward binary128 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1b7d2626b2b33p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1b7d2626b2b338p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1b7d2626b2b33p-4 : inexact-ok
+= log2p1 upward binary128 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1b7d2626b2b338p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1b7d2626b2bp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1b7d2626b2b4p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1b7d2626b2bp-4 : inexact-ok
+= log2p1 upward ibm128 0x7.264968p-4 : 0x8.86cf7c4d6b29ea1b7d2626b2b4p-4 : inexact-ok
+= log2p1 downward binary32 0x7.26496p-4 : 0x8.86cf7p-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.26496p-4 : 0x8.86cf7p-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.26496p-4 : 0x8.86cf7p-4 : inexact-ok
+= log2p1 upward binary32 0x7.26496p-4 : 0x8.86cf8p-4 : inexact-ok
+= log2p1 downward binary64 0x7.26496p-4 : 0x8.86cf74534bdp-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.26496p-4 : 0x8.86cf74534bdp-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.26496p-4 : 0x8.86cf74534bdp-4 : inexact-ok
+= log2p1 upward binary64 0x7.26496p-4 : 0x8.86cf74534bd08p-4 : inexact-ok
+= log2p1 downward intel96 0x7.26496p-4 : 0x8.86cf74534bd01d7p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.26496p-4 : 0x8.86cf74534bd01d7p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.26496p-4 : 0x8.86cf74534bd01d7p-4 : inexact-ok
+= log2p1 upward intel96 0x7.26496p-4 : 0x8.86cf74534bd01d8p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.26496p-4 : 0x8.86cf74534bd01d7p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.26496p-4 : 0x8.86cf74534bd01d7p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.26496p-4 : 0x8.86cf74534bd01d7p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.26496p-4 : 0x8.86cf74534bd01d8p-4 : inexact-ok
+= log2p1 downward binary128 0x7.26496p-4 : 0x8.86cf74534bd01d760e529a8582ep-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.26496p-4 : 0x8.86cf74534bd01d760e529a8582ep-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.26496p-4 : 0x8.86cf74534bd01d760e529a8582ep-4 : inexact-ok
+= log2p1 upward binary128 0x7.26496p-4 : 0x8.86cf74534bd01d760e529a8582e8p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.26496p-4 : 0x8.86cf74534bd01d760e529a858p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.26496p-4 : 0x8.86cf74534bd01d760e529a8584p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.26496p-4 : 0x8.86cf74534bd01d760e529a858p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.26496p-4 : 0x8.86cf74534bd01d760e529a8584p-4 : inexact-ok
+= log2p1 downward binary64 0x7.264963888ac9p-4 : 0x8.86cf77d93e0ap-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.264963888ac9p-4 : 0x8.86cf77d93e0ap-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.264963888ac9p-4 : 0x8.86cf77d93e0ap-4 : inexact-ok
+= log2p1 upward binary64 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a8p-4 : inexact-ok
+= log2p1 downward intel96 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ep-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20fp-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ep-4 : inexact-ok
+= log2p1 upward intel96 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20fp-4 : inexact-ok
+= log2p1 downward m68k96 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ep-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20fp-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ep-4 : inexact-ok
+= log2p1 upward m68k96 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20fp-4 : inexact-ok
+= log2p1 downward binary128 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ef5722b8e1eb58p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ef5722b8e1eb6p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ef5722b8e1eb58p-4 : inexact-ok
+= log2p1 upward binary128 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ef5722b8e1eb6p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ef5722b8e1e8p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ef5722b8e1ecp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ef5722b8e1e8p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.264963888ac9p-4 : 0x8.86cf77d93e0a20ef5722b8e1ecp-4 : inexact-ok
+log2p1 0x8.786bdp-4
+= log2p1 downward binary32 0x8.786bdp-4 : 0x9.ceb4ep-4 : inexact-ok
+= log2p1 tonearest binary32 0x8.786bdp-4 : 0x9.ceb4ep-4 : inexact-ok
+= log2p1 towardzero binary32 0x8.786bdp-4 : 0x9.ceb4ep-4 : inexact-ok
+= log2p1 upward binary32 0x8.786bdp-4 : 0x9.ceb4fp-4 : inexact-ok
+= log2p1 downward binary64 0x8.786bdp-4 : 0x9.ceb4e6b738158p-4 : inexact-ok
+= log2p1 tonearest binary64 0x8.786bdp-4 : 0x9.ceb4e6b738158p-4 : inexact-ok
+= log2p1 towardzero binary64 0x8.786bdp-4 : 0x9.ceb4e6b738158p-4 : inexact-ok
+= log2p1 upward binary64 0x8.786bdp-4 : 0x9.ceb4e6b73816p-4 : inexact-ok
+= log2p1 downward intel96 0x8.786bdp-4 : 0x9.ceb4e6b73815a5p-4 : inexact-ok
+= log2p1 tonearest intel96 0x8.786bdp-4 : 0x9.ceb4e6b73815a5p-4 : inexact-ok
+= log2p1 towardzero intel96 0x8.786bdp-4 : 0x9.ceb4e6b73815a5p-4 : inexact-ok
+= log2p1 upward intel96 0x8.786bdp-4 : 0x9.ceb4e6b73815a51p-4 : inexact-ok
+= log2p1 downward m68k96 0x8.786bdp-4 : 0x9.ceb4e6b73815a5p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x8.786bdp-4 : 0x9.ceb4e6b73815a5p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x8.786bdp-4 : 0x9.ceb4e6b73815a5p-4 : inexact-ok
+= log2p1 upward m68k96 0x8.786bdp-4 : 0x9.ceb4e6b73815a51p-4 : inexact-ok
+= log2p1 downward binary128 0x8.786bdp-4 : 0x9.ceb4e6b73815a504dfa91fd4b5p-4 : inexact-ok
+= log2p1 tonearest binary128 0x8.786bdp-4 : 0x9.ceb4e6b73815a504dfa91fd4b5p-4 : inexact-ok
+= log2p1 towardzero binary128 0x8.786bdp-4 : 0x9.ceb4e6b73815a504dfa91fd4b5p-4 : inexact-ok
+= log2p1 upward binary128 0x8.786bdp-4 : 0x9.ceb4e6b73815a504dfa91fd4b508p-4 : inexact-ok
+= log2p1 downward ibm128 0x8.786bdp-4 : 0x9.ceb4e6b73815a504dfa91fd4b4p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x8.786bdp-4 : 0x9.ceb4e6b73815a504dfa91fd4b4p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x8.786bdp-4 : 0x9.ceb4e6b73815a504dfa91fd4b4p-4 : inexact-ok
+= log2p1 upward ibm128 0x8.786bdp-4 : 0x9.ceb4e6b73815a504dfa91fd4b8p-4 : inexact-ok
+log2p1 0x7.89dc17790eeb4p-4
+= log2p1 downward binary32 0x7.89dc18p-4 : 0x8.e945dp-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.89dc18p-4 : 0x8.e945ep-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.89dc18p-4 : 0x8.e945dp-4 : inexact-ok
+= log2p1 upward binary32 0x7.89dc18p-4 : 0x8.e945ep-4 : inexact-ok
+= log2p1 downward binary64 0x7.89dc18p-4 : 0x8.e945d9046f2ap-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.89dc18p-4 : 0x8.e945d9046f2a8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.89dc18p-4 : 0x8.e945d9046f2ap-4 : inexact-ok
+= log2p1 upward binary64 0x7.89dc18p-4 : 0x8.e945d9046f2a8p-4 : inexact-ok
+= log2p1 downward intel96 0x7.89dc18p-4 : 0x8.e945d9046f2a40cp-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.89dc18p-4 : 0x8.e945d9046f2a40cp-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.89dc18p-4 : 0x8.e945d9046f2a40cp-4 : inexact-ok
+= log2p1 upward intel96 0x7.89dc18p-4 : 0x8.e945d9046f2a40dp-4 : inexact-ok
+= log2p1 downward m68k96 0x7.89dc18p-4 : 0x8.e945d9046f2a40cp-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.89dc18p-4 : 0x8.e945d9046f2a40cp-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.89dc18p-4 : 0x8.e945d9046f2a40cp-4 : inexact-ok
+= log2p1 upward m68k96 0x7.89dc18p-4 : 0x8.e945d9046f2a40dp-4 : inexact-ok
+= log2p1 downward binary128 0x7.89dc18p-4 : 0x8.e945d9046f2a40c7b47774b4fe98p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.89dc18p-4 : 0x8.e945d9046f2a40c7b47774b4feap-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.89dc18p-4 : 0x8.e945d9046f2a40c7b47774b4fe98p-4 : inexact-ok
+= log2p1 upward binary128 0x7.89dc18p-4 : 0x8.e945d9046f2a40c7b47774b4feap-4 : inexact-ok
+= log2p1 downward ibm128 0x7.89dc18p-4 : 0x8.e945d9046f2a40c7b47774b4fcp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.89dc18p-4 : 0x8.e945d9046f2a40c7b47774b5p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.89dc18p-4 : 0x8.e945d9046f2a40c7b47774b4fcp-4 : inexact-ok
+= log2p1 upward ibm128 0x7.89dc18p-4 : 0x8.e945d9046f2a40c7b47774b5p-4 : inexact-ok
+= log2p1 downward binary32 0x7.89dc1p-4 : 0x8.e945dp-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.89dc1p-4 : 0x8.e945dp-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.89dc1p-4 : 0x8.e945dp-4 : inexact-ok
+= log2p1 upward binary32 0x7.89dc1p-4 : 0x8.e945ep-4 : inexact-ok
+= log2p1 downward binary64 0x7.89dc1p-4 : 0x8.e945d12c0e6e8p-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.89dc1p-4 : 0x8.e945d12c0e6fp-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.89dc1p-4 : 0x8.e945d12c0e6e8p-4 : inexact-ok
+= log2p1 upward binary64 0x7.89dc1p-4 : 0x8.e945d12c0e6fp-4 : inexact-ok
+= log2p1 downward intel96 0x7.89dc1p-4 : 0x8.e945d12c0e6ee7p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.89dc1p-4 : 0x8.e945d12c0e6ee7p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.89dc1p-4 : 0x8.e945d12c0e6ee7p-4 : inexact-ok
+= log2p1 upward intel96 0x7.89dc1p-4 : 0x8.e945d12c0e6ee71p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.89dc1p-4 : 0x8.e945d12c0e6ee7p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.89dc1p-4 : 0x8.e945d12c0e6ee7p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.89dc1p-4 : 0x8.e945d12c0e6ee7p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.89dc1p-4 : 0x8.e945d12c0e6ee71p-4 : inexact-ok
+= log2p1 downward binary128 0x7.89dc1p-4 : 0x8.e945d12c0e6ee704f7b8b42201bp-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.89dc1p-4 : 0x8.e945d12c0e6ee704f7b8b42201bp-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.89dc1p-4 : 0x8.e945d12c0e6ee704f7b8b42201bp-4 : inexact-ok
+= log2p1 upward binary128 0x7.89dc1p-4 : 0x8.e945d12c0e6ee704f7b8b42201b8p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.89dc1p-4 : 0x8.e945d12c0e6ee704f7b8b422p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.89dc1p-4 : 0x8.e945d12c0e6ee704f7b8b422p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.89dc1p-4 : 0x8.e945d12c0e6ee704f7b8b422p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.89dc1p-4 : 0x8.e945d12c0e6ee704f7b8b42204p-4 : inexact-ok
+= log2p1 downward binary64 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6bp-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6bp-4 : inexact-ok
+= log2p1 upward binary64 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b8p-4 : inexact-ok
+= log2p1 downward intel96 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b586p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b586p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b586p-4 : inexact-ok
+= log2p1 upward intel96 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b587p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b586p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b586p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b586p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b587p-4 : inexact-ok
+= log2p1 downward binary128 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b5862e21590e7459p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b5862e21590e7459p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b5862e21590e7459p-4 : inexact-ok
+= log2p1 upward binary128 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b5862e21590e74598p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b5862e21590e744p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b5862e21590e744p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b5862e21590e744p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.89dc17790eeb4p-4 : 0x8.e945d8801a6b5862e21590e748p-4 : inexact-ok
+log2p1 0x9.81ccf8887c24a7bp-4
+= log2p1 downward binary32 0x9.81cdp-4 : 0xa.c3e25p-4 : inexact-ok
+= log2p1 tonearest binary32 0x9.81cdp-4 : 0xa.c3e25p-4 : inexact-ok
+= log2p1 towardzero binary32 0x9.81cdp-4 : 0xa.c3e25p-4 : inexact-ok
+= log2p1 upward binary32 0x9.81cdp-4 : 0xa.c3e26p-4 : inexact-ok
+= log2p1 downward binary64 0x9.81cdp-4 : 0xa.c3e2530f0a4c8p-4 : inexact-ok
+= log2p1 tonearest binary64 0x9.81cdp-4 : 0xa.c3e2530f0a4dp-4 : inexact-ok
+= log2p1 towardzero binary64 0x9.81cdp-4 : 0xa.c3e2530f0a4c8p-4 : inexact-ok
+= log2p1 upward binary64 0x9.81cdp-4 : 0xa.c3e2530f0a4dp-4 : inexact-ok
+= log2p1 downward intel96 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5p-4 : inexact-ok
+= log2p1 tonearest intel96 0x9.81cdp-4 : 0xa.c3e2530f0a4cef6p-4 : inexact-ok
+= log2p1 towardzero intel96 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5p-4 : inexact-ok
+= log2p1 upward intel96 0x9.81cdp-4 : 0xa.c3e2530f0a4cef6p-4 : inexact-ok
+= log2p1 downward m68k96 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x9.81cdp-4 : 0xa.c3e2530f0a4cef6p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5p-4 : inexact-ok
+= log2p1 upward m68k96 0x9.81cdp-4 : 0xa.c3e2530f0a4cef6p-4 : inexact-ok
+= log2p1 downward binary128 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5e0347d0efa0a8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5e0347d0efa0bp-4 : inexact-ok
+= log2p1 towardzero binary128 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5e0347d0efa0a8p-4 : inexact-ok
+= log2p1 upward binary128 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5e0347d0efa0bp-4 : inexact-ok
+= log2p1 downward ibm128 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5e0347d0efap-4 : inexact-ok
+= log2p1 tonearest ibm128 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5e0347d0efap-4 : inexact-ok
+= log2p1 towardzero ibm128 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5e0347d0efap-4 : inexact-ok
+= log2p1 upward ibm128 0x9.81cdp-4 : 0xa.c3e2530f0a4cef5e0347d0efa4p-4 : inexact-ok
+= log2p1 downward binary32 0x9.81ccfp-4 : 0xa.c3e24p-4 : inexact-ok
+= log2p1 tonearest binary32 0x9.81ccfp-4 : 0xa.c3e24p-4 : inexact-ok
+= log2p1 towardzero binary32 0x9.81ccfp-4 : 0xa.c3e24p-4 : inexact-ok
+= log2p1 upward binary32 0x9.81ccfp-4 : 0xa.c3e25p-4 : inexact-ok
+= log2p1 downward binary64 0x9.81ccfp-4 : 0xa.c3e2449447a5p-4 : inexact-ok
+= log2p1 tonearest binary64 0x9.81ccfp-4 : 0xa.c3e2449447a5p-4 : inexact-ok
+= log2p1 towardzero binary64 0x9.81ccfp-4 : 0xa.c3e2449447a5p-4 : inexact-ok
+= log2p1 upward binary64 0x9.81ccfp-4 : 0xa.c3e2449447a58p-4 : inexact-ok
+= log2p1 downward intel96 0x9.81ccfp-4 : 0xa.c3e2449447a52b5p-4 : inexact-ok
+= log2p1 tonearest intel96 0x9.81ccfp-4 : 0xa.c3e2449447a52b6p-4 : inexact-ok
+= log2p1 towardzero intel96 0x9.81ccfp-4 : 0xa.c3e2449447a52b5p-4 : inexact-ok
+= log2p1 upward intel96 0x9.81ccfp-4 : 0xa.c3e2449447a52b6p-4 : inexact-ok
+= log2p1 downward m68k96 0x9.81ccfp-4 : 0xa.c3e2449447a52b5p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x9.81ccfp-4 : 0xa.c3e2449447a52b6p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x9.81ccfp-4 : 0xa.c3e2449447a52b5p-4 : inexact-ok
+= log2p1 upward m68k96 0x9.81ccfp-4 : 0xa.c3e2449447a52b6p-4 : inexact-ok
+= log2p1 downward binary128 0x9.81ccfp-4 : 0xa.c3e2449447a52b5c659a3721057p-4 : inexact-ok
+= log2p1 tonearest binary128 0x9.81ccfp-4 : 0xa.c3e2449447a52b5c659a37210578p-4 : inexact-ok
+= log2p1 towardzero binary128 0x9.81ccfp-4 : 0xa.c3e2449447a52b5c659a3721057p-4 : inexact-ok
+= log2p1 upward binary128 0x9.81ccfp-4 : 0xa.c3e2449447a52b5c659a37210578p-4 : inexact-ok
+= log2p1 downward ibm128 0x9.81ccfp-4 : 0xa.c3e2449447a52b5c659a372104p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x9.81ccfp-4 : 0xa.c3e2449447a52b5c659a372104p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x9.81ccfp-4 : 0xa.c3e2449447a52b5c659a372104p-4 : inexact-ok
+= log2p1 upward ibm128 0x9.81ccfp-4 : 0xa.c3e2449447a52b5c659a372108p-4 : inexact-ok
+= log2p1 downward binary64 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc98p-4 : inexact-ok
+= log2p1 tonearest binary64 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc98p-4 : inexact-ok
+= log2p1 towardzero binary64 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc98p-4 : inexact-ok
+= log2p1 upward binary64 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2ccap-4 : inexact-ok
+= log2p1 downward intel96 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a13p-4 : inexact-ok
+= log2p1 tonearest intel96 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a13p-4 : inexact-ok
+= log2p1 towardzero intel96 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a13p-4 : inexact-ok
+= log2p1 upward intel96 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a14p-4 : inexact-ok
+= log2p1 downward m68k96 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a13p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a13p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a13p-4 : inexact-ok
+= log2p1 upward m68k96 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a14p-4 : inexact-ok
+= log2p1 downward binary128 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a130895186e1289p-4 : inexact-ok
+= log2p1 tonearest binary128 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a130895186e12898p-4 : inexact-ok
+= log2p1 towardzero binary128 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a130895186e1289p-4 : inexact-ok
+= log2p1 upward binary128 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a130895186e12898p-4 : inexact-ok
+= log2p1 downward ibm128 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a130895186e128p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a130895186e128p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a130895186e128p-4 : inexact-ok
+= log2p1 upward ibm128 0x9.81ccf8887c25p-4 : 0xa.c3e24c4d2cc9a130895186e12cp-4 : inexact-ok
+= log2p1 downward binary64 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc9p-4 : inexact-ok
+= log2p1 tonearest binary64 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc9p-4 : inexact-ok
+= log2p1 towardzero binary64 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc9p-4 : inexact-ok
+= log2p1 upward binary64 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc98p-4 : inexact-ok
+= log2p1 downward intel96 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5p-4 : inexact-ok
+= log2p1 tonearest intel96 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d6p-4 : inexact-ok
+= log2p1 towardzero intel96 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5p-4 : inexact-ok
+= log2p1 upward intel96 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d6p-4 : inexact-ok
+= log2p1 downward m68k96 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d6p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5p-4 : inexact-ok
+= log2p1 upward m68k96 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d6p-4 : inexact-ok
+= log2p1 downward binary128 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5a7415d2a78558p-4 : inexact-ok
+= log2p1 tonearest binary128 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5a7415d2a78558p-4 : inexact-ok
+= log2p1 towardzero binary128 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5a7415d2a78558p-4 : inexact-ok
+= log2p1 upward binary128 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5a7415d2a7856p-4 : inexact-ok
+= log2p1 downward ibm128 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5a7415d2a784p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5a7415d2a784p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5a7415d2a784p-4 : inexact-ok
+= log2p1 upward ibm128 0x9.81ccf8887c248p-4 : 0xa.c3e24c4d2cc92d5a7415d2a788p-4 : inexact-ok
+= log2p1 downward intel96 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc9514p-4 : inexact-ok
+= log2p1 tonearest intel96 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc9514p-4 : inexact-ok
+= log2p1 towardzero intel96 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc9514p-4 : inexact-ok
+= log2p1 upward intel96 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc9515p-4 : inexact-ok
+= log2p1 downward m68k96 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc9514p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc9514p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc9514p-4 : inexact-ok
+= log2p1 upward m68k96 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc9515p-4 : inexact-ok
+= log2p1 downward binary128 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc95144f4eb35a8e49p-4 : inexact-ok
+= log2p1 tonearest binary128 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc95144f4eb35a8e498p-4 : inexact-ok
+= log2p1 towardzero binary128 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc95144f4eb35a8e49p-4 : inexact-ok
+= log2p1 upward binary128 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc95144f4eb35a8e498p-4 : inexact-ok
+= log2p1 downward ibm128 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc95144f4eb35a8e4p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc95144f4eb35a8e4p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc95144f4eb35a8e4p-4 : inexact-ok
+= log2p1 upward ibm128 0x9.81ccf8887c24a7bp-4 : 0xa.c3e24c4d2cc95144f4eb35a8e8p-4 : inexact-ok
+log2p1 0xa.5028608bd65f38dp-4
+= log2p1 downward binary32 0xa.50287p-4 : 0xb.7bbdbp-4 : inexact-ok
+= log2p1 tonearest binary32 0xa.50287p-4 : 0xb.7bbdcp-4 : inexact-ok
+= log2p1 towardzero binary32 0xa.50287p-4 : 0xb.7bbdbp-4 : inexact-ok
+= log2p1 upward binary32 0xa.50287p-4 : 0xb.7bbdcp-4 : inexact-ok
+= log2p1 downward binary64 0xa.50287p-4 : 0xb.7bbdbf42ba38p-4 : inexact-ok
+= log2p1 tonearest binary64 0xa.50287p-4 : 0xb.7bbdbf42ba38p-4 : inexact-ok
+= log2p1 towardzero binary64 0xa.50287p-4 : 0xb.7bbdbf42ba38p-4 : inexact-ok
+= log2p1 upward binary64 0xa.50287p-4 : 0xb.7bbdbf42ba388p-4 : inexact-ok
+= log2p1 downward intel96 0xa.50287p-4 : 0xb.7bbdbf42ba381e1p-4 : inexact-ok
+= log2p1 tonearest intel96 0xa.50287p-4 : 0xb.7bbdbf42ba381e1p-4 : inexact-ok
+= log2p1 towardzero intel96 0xa.50287p-4 : 0xb.7bbdbf42ba381e1p-4 : inexact-ok
+= log2p1 upward intel96 0xa.50287p-4 : 0xb.7bbdbf42ba381e2p-4 : inexact-ok
+= log2p1 downward m68k96 0xa.50287p-4 : 0xb.7bbdbf42ba381e1p-4 : inexact-ok
+= log2p1 tonearest m68k96 0xa.50287p-4 : 0xb.7bbdbf42ba381e1p-4 : inexact-ok
+= log2p1 towardzero m68k96 0xa.50287p-4 : 0xb.7bbdbf42ba381e1p-4 : inexact-ok
+= log2p1 upward m68k96 0xa.50287p-4 : 0xb.7bbdbf42ba381e2p-4 : inexact-ok
+= log2p1 downward binary128 0xa.50287p-4 : 0xb.7bbdbf42ba381e10534774e00828p-4 : inexact-ok
+= log2p1 tonearest binary128 0xa.50287p-4 : 0xb.7bbdbf42ba381e10534774e00828p-4 : inexact-ok
+= log2p1 towardzero binary128 0xa.50287p-4 : 0xb.7bbdbf42ba381e10534774e00828p-4 : inexact-ok
+= log2p1 upward binary128 0xa.50287p-4 : 0xb.7bbdbf42ba381e10534774e0083p-4 : inexact-ok
+= log2p1 downward ibm128 0xa.50287p-4 : 0xb.7bbdbf42ba381e10534774e008p-4 : inexact-ok
+= log2p1 tonearest ibm128 0xa.50287p-4 : 0xb.7bbdbf42ba381e10534774e008p-4 : inexact-ok
+= log2p1 towardzero ibm128 0xa.50287p-4 : 0xb.7bbdbf42ba381e10534774e008p-4 : inexact-ok
+= log2p1 upward ibm128 0xa.50287p-4 : 0xb.7bbdbf42ba381e10534774e00cp-4 : inexact-ok
+= log2p1 downward binary32 0xa.50286p-4 : 0xb.7bbdbp-4 : inexact-ok
+= log2p1 tonearest binary32 0xa.50286p-4 : 0xb.7bbdbp-4 : inexact-ok
+= log2p1 towardzero binary32 0xa.50286p-4 : 0xb.7bbdbp-4 : inexact-ok
+= log2p1 upward binary32 0xa.50286p-4 : 0xb.7bbdcp-4 : inexact-ok
+= log2p1 downward binary64 0xa.50286p-4 : 0xb.7bbdb1398559p-4 : inexact-ok
+= log2p1 tonearest binary64 0xa.50286p-4 : 0xb.7bbdb1398559p-4 : inexact-ok
+= log2p1 towardzero binary64 0xa.50286p-4 : 0xb.7bbdb1398559p-4 : inexact-ok
+= log2p1 upward binary64 0xa.50286p-4 : 0xb.7bbdb13985598p-4 : inexact-ok
+= log2p1 downward intel96 0xa.50286p-4 : 0xb.7bbdb1398559009p-4 : inexact-ok
+= log2p1 tonearest intel96 0xa.50286p-4 : 0xb.7bbdb1398559009p-4 : inexact-ok
+= log2p1 towardzero intel96 0xa.50286p-4 : 0xb.7bbdb1398559009p-4 : inexact-ok
+= log2p1 upward intel96 0xa.50286p-4 : 0xb.7bbdb139855900ap-4 : inexact-ok
+= log2p1 downward m68k96 0xa.50286p-4 : 0xb.7bbdb1398559009p-4 : inexact-ok
+= log2p1 tonearest m68k96 0xa.50286p-4 : 0xb.7bbdb1398559009p-4 : inexact-ok
+= log2p1 towardzero m68k96 0xa.50286p-4 : 0xb.7bbdb1398559009p-4 : inexact-ok
+= log2p1 upward m68k96 0xa.50286p-4 : 0xb.7bbdb139855900ap-4 : inexact-ok
+= log2p1 downward binary128 0xa.50286p-4 : 0xb.7bbdb13985590093f2b14c2f5f38p-4 : inexact-ok
+= log2p1 tonearest binary128 0xa.50286p-4 : 0xb.7bbdb13985590093f2b14c2f5f38p-4 : inexact-ok
+= log2p1 towardzero binary128 0xa.50286p-4 : 0xb.7bbdb13985590093f2b14c2f5f38p-4 : inexact-ok
+= log2p1 upward binary128 0xa.50286p-4 : 0xb.7bbdb13985590093f2b14c2f5f4p-4 : inexact-ok
+= log2p1 downward ibm128 0xa.50286p-4 : 0xb.7bbdb13985590093f2b14c2f5cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0xa.50286p-4 : 0xb.7bbdb13985590093f2b14c2f6p-4 : inexact-ok
+= log2p1 towardzero ibm128 0xa.50286p-4 : 0xb.7bbdb13985590093f2b14c2f5cp-4 : inexact-ok
+= log2p1 upward ibm128 0xa.50286p-4 : 0xb.7bbdb13985590093f2b14c2f6p-4 : inexact-ok
+= log2p1 downward binary64 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b43163p-4 : inexact-ok
+= log2p1 tonearest binary64 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431638p-4 : inexact-ok
+= log2p1 towardzero binary64 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b43163p-4 : inexact-ok
+= log2p1 upward binary64 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431638p-4 : inexact-ok
+= log2p1 downward intel96 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b4316361p-4 : inexact-ok
+= log2p1 tonearest intel96 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b4316361p-4 : inexact-ok
+= log2p1 towardzero intel96 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b4316361p-4 : inexact-ok
+= log2p1 upward intel96 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b43163611p-4 : inexact-ok
+= log2p1 downward m68k96 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b4316361p-4 : inexact-ok
+= log2p1 tonearest m68k96 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b4316361p-4 : inexact-ok
+= log2p1 towardzero m68k96 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b4316361p-4 : inexact-ok
+= log2p1 upward m68k96 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b43163611p-4 : inexact-ok
+= log2p1 downward binary128 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431636105af6937915768p-4 : inexact-ok
+= log2p1 tonearest binary128 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431636105af693791577p-4 : inexact-ok
+= log2p1 towardzero binary128 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431636105af6937915768p-4 : inexact-ok
+= log2p1 upward binary128 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431636105af693791577p-4 : inexact-ok
+= log2p1 downward ibm128 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431636105af69379154p-4 : inexact-ok
+= log2p1 tonearest ibm128 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431636105af69379158p-4 : inexact-ok
+= log2p1 towardzero ibm128 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431636105af69379154p-4 : inexact-ok
+= log2p1 upward ibm128 0xa.5028608bd65f8p-4 : 0xb.7bbdb1b431636105af69379158p-4 : inexact-ok
+= log2p1 downward binary64 0xa.5028608bd65fp-4 : 0xb.7bbdb1b431628p-4 : inexact-ok
+= log2p1 tonearest binary64 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43163p-4 : inexact-ok
+= log2p1 towardzero binary64 0xa.5028608bd65fp-4 : 0xb.7bbdb1b431628p-4 : inexact-ok
+= log2p1 upward binary64 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43163p-4 : inexact-ok
+= log2p1 downward intel96 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bp-4 : inexact-ok
+= log2p1 tonearest intel96 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0cp-4 : inexact-ok
+= log2p1 towardzero intel96 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bp-4 : inexact-ok
+= log2p1 upward intel96 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0cp-4 : inexact-ok
+= log2p1 downward m68k96 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bp-4 : inexact-ok
+= log2p1 tonearest m68k96 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0cp-4 : inexact-ok
+= log2p1 towardzero m68k96 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bp-4 : inexact-ok
+= log2p1 upward m68k96 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0cp-4 : inexact-ok
+= log2p1 downward binary128 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bc08507cda2d4p-4 : inexact-ok
+= log2p1 tonearest binary128 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bc08507cda2d4p-4 : inexact-ok
+= log2p1 towardzero binary128 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bc08507cda2d4p-4 : inexact-ok
+= log2p1 upward binary128 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bc08507cda2d48p-4 : inexact-ok
+= log2p1 downward ibm128 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bc08507cda2cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bc08507cda2cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bc08507cda2cp-4 : inexact-ok
+= log2p1 upward ibm128 0xa.5028608bd65fp-4 : 0xb.7bbdb1b43162f0bc08507cda3p-4 : inexact-ok
+= log2p1 downward intel96 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b43163229p-4 : inexact-ok
+= log2p1 tonearest intel96 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b43163229p-4 : inexact-ok
+= log2p1 towardzero intel96 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b43163229p-4 : inexact-ok
+= log2p1 upward intel96 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b4316322ap-4 : inexact-ok
+= log2p1 downward m68k96 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b43163229p-4 : inexact-ok
+= log2p1 tonearest m68k96 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b43163229p-4 : inexact-ok
+= log2p1 towardzero m68k96 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b43163229p-4 : inexact-ok
+= log2p1 upward m68k96 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b4316322ap-4 : inexact-ok
+= log2p1 downward binary128 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b431632292b91ad6b9b998p-4 : inexact-ok
+= log2p1 tonearest binary128 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b431632292b91ad6b9b998p-4 : inexact-ok
+= log2p1 towardzero binary128 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b431632292b91ad6b9b998p-4 : inexact-ok
+= log2p1 upward binary128 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b431632292b91ad6b9b9ap-4 : inexact-ok
+= log2p1 downward ibm128 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b431632292b91ad6b9b8p-4 : inexact-ok
+= log2p1 tonearest ibm128 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b431632292b91ad6b9b8p-4 : inexact-ok
+= log2p1 towardzero ibm128 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b431632292b91ad6b9b8p-4 : inexact-ok
+= log2p1 upward ibm128 0xa.5028608bd65f38dp-4 : 0xb.7bbdb1b431632292b91ad6b9bcp-4 : inexact-ok
+log2p1 0x5.bf78873e20a2d468p-4
+= log2p1 downward binary32 0x5.bf7888p-4 : 0x7.15bc2p-4 : inexact-ok
+= log2p1 tonearest binary32 0x5.bf7888p-4 : 0x7.15bc2p-4 : inexact-ok
+= log2p1 towardzero binary32 0x5.bf7888p-4 : 0x7.15bc2p-4 : inexact-ok
+= log2p1 upward binary32 0x5.bf7888p-4 : 0x7.15bc28p-4 : inexact-ok
+= log2p1 downward binary64 0x5.bf7888p-4 : 0x7.15bc23e74542cp-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.bf7888p-4 : 0x7.15bc23e74543p-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.bf7888p-4 : 0x7.15bc23e74542cp-4 : inexact-ok
+= log2p1 upward binary64 0x5.bf7888p-4 : 0x7.15bc23e74543p-4 : inexact-ok
+= log2p1 downward intel96 0x5.bf7888p-4 : 0x7.15bc23e74542ea98p-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.bf7888p-4 : 0x7.15bc23e74542ea98p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.bf7888p-4 : 0x7.15bc23e74542ea98p-4 : inexact-ok
+= log2p1 upward intel96 0x5.bf7888p-4 : 0x7.15bc23e74542eaap-4 : inexact-ok
+= log2p1 downward m68k96 0x5.bf7888p-4 : 0x7.15bc23e74542ea98p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.bf7888p-4 : 0x7.15bc23e74542ea98p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.bf7888p-4 : 0x7.15bc23e74542ea98p-4 : inexact-ok
+= log2p1 upward m68k96 0x5.bf7888p-4 : 0x7.15bc23e74542eaap-4 : inexact-ok
+= log2p1 downward binary128 0x5.bf7888p-4 : 0x7.15bc23e74542ea9bf00660a9d608p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.bf7888p-4 : 0x7.15bc23e74542ea9bf00660a9d608p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.bf7888p-4 : 0x7.15bc23e74542ea9bf00660a9d608p-4 : inexact-ok
+= log2p1 upward binary128 0x5.bf7888p-4 : 0x7.15bc23e74542ea9bf00660a9d60cp-4 : inexact-ok
+= log2p1 downward ibm128 0x5.bf7888p-4 : 0x7.15bc23e74542ea9bf00660a9d6p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.bf7888p-4 : 0x7.15bc23e74542ea9bf00660a9d6p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.bf7888p-4 : 0x7.15bc23e74542ea9bf00660a9d6p-4 : inexact-ok
+= log2p1 upward ibm128 0x5.bf7888p-4 : 0x7.15bc23e74542ea9bf00660a9d8p-4 : inexact-ok
+= log2p1 downward binary32 0x5.bf788p-4 : 0x7.15bc18p-4 : inexact-ok
+= log2p1 tonearest binary32 0x5.bf788p-4 : 0x7.15bc18p-4 : inexact-ok
+= log2p1 towardzero binary32 0x5.bf788p-4 : 0x7.15bc18p-4 : inexact-ok
+= log2p1 upward binary32 0x5.bf788p-4 : 0x7.15bc2p-4 : inexact-ok
+= log2p1 downward binary64 0x5.bf788p-4 : 0x7.15bc1b69893cp-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.bf788p-4 : 0x7.15bc1b69893cp-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.bf788p-4 : 0x7.15bc1b69893cp-4 : inexact-ok
+= log2p1 upward binary64 0x5.bf788p-4 : 0x7.15bc1b69893c4p-4 : inexact-ok
+= log2p1 downward intel96 0x5.bf788p-4 : 0x7.15bc1b69893c17b8p-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.bf788p-4 : 0x7.15bc1b69893c17b8p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.bf788p-4 : 0x7.15bc1b69893c17b8p-4 : inexact-ok
+= log2p1 upward intel96 0x5.bf788p-4 : 0x7.15bc1b69893c17cp-4 : inexact-ok
+= log2p1 downward m68k96 0x5.bf788p-4 : 0x7.15bc1b69893c17b8p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.bf788p-4 : 0x7.15bc1b69893c17b8p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.bf788p-4 : 0x7.15bc1b69893c17b8p-4 : inexact-ok
+= log2p1 upward m68k96 0x5.bf788p-4 : 0x7.15bc1b69893c17cp-4 : inexact-ok
+= log2p1 downward binary128 0x5.bf788p-4 : 0x7.15bc1b69893c17b9285e030f2e28p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.bf788p-4 : 0x7.15bc1b69893c17b9285e030f2e2cp-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.bf788p-4 : 0x7.15bc1b69893c17b9285e030f2e28p-4 : inexact-ok
+= log2p1 upward binary128 0x5.bf788p-4 : 0x7.15bc1b69893c17b9285e030f2e2cp-4 : inexact-ok
+= log2p1 downward ibm128 0x5.bf788p-4 : 0x7.15bc1b69893c17b9285e030f2ep-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.bf788p-4 : 0x7.15bc1b69893c17b9285e030f2ep-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.bf788p-4 : 0x7.15bc1b69893c17b9285e030f2ep-4 : inexact-ok
+= log2p1 upward ibm128 0x5.bf788p-4 : 0x7.15bc1b69893c17b9285e030f3p-4 : inexact-ok
+= log2p1 downward binary64 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed74p-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed74p-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed74p-4 : inexact-ok
+= log2p1 upward binary64 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed78p-4 : inexact-ok
+= log2p1 downward intel96 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958p-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958p-4 : inexact-ok
+= log2p1 upward intel96 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed7596p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958p-4 : inexact-ok
+= log2p1 upward m68k96 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed7596p-4 : inexact-ok
+= log2p1 downward binary128 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958019f8398164cp-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958019f8398165p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958019f8398164cp-4 : inexact-ok
+= log2p1 upward binary128 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958019f8398165p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958019f839816p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958019f839816p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958019f839816p-4 : inexact-ok
+= log2p1 upward ibm128 0x5.bf78873e20a3p-4 : 0x7.15bc23197ed75958019f839818p-4 : inexact-ok
+= log2p1 downward binary64 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7p-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7p-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7p-4 : inexact-ok
+= log2p1 upward binary64 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed74p-4 : inexact-ok
+= log2p1 downward intel96 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed71568p-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed71568p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed71568p-4 : inexact-ok
+= log2p1 upward intel96 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7157p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed71568p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed71568p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed71568p-4 : inexact-ok
+= log2p1 upward m68k96 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7157p-4 : inexact-ok
+= log2p1 downward binary128 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7156a21730d6484a4p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7156a21730d6484a8p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7156a21730d6484a4p-4 : inexact-ok
+= log2p1 upward binary128 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7156a21730d6484a8p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7156a21730d6484p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7156a21730d6484p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7156a21730d6484p-4 : inexact-ok
+= log2p1 upward ibm128 0x5.bf78873e20a2cp-4 : 0x7.15bc23197ed7156a21730d6486p-4 : inexact-ok
+= log2p1 downward intel96 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b1p-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b1p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b1p-4 : inexact-ok
+= log2p1 upward intel96 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b18p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b1p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b1p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b1p-4 : inexact-ok
+= log2p1 upward m68k96 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b18p-4 : inexact-ok
+= log2p1 downward binary128 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b12da0d3a94b60cp-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b12da0d3a94b60cp-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b12da0d3a94b60cp-4 : inexact-ok
+= log2p1 upward binary128 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b12da0d3a94b61p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b12da0d3a94b6p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b12da0d3a94b6p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b12da0d3a94b6p-4 : inexact-ok
+= log2p1 upward ibm128 0x5.bf78873e20a2d468p-4 : 0x7.15bc23197ed72b12da0d3a94b8p-4 : inexact-ok
+log2p1 0x7.aa5198p-4
+= log2p1 downward binary32 0x7.aa5198p-4 : 0x9.0904bp-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.aa5198p-4 : 0x9.0904bp-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.aa5198p-4 : 0x9.0904bp-4 : inexact-ok
+= log2p1 upward binary32 0x7.aa5198p-4 : 0x9.0904cp-4 : inexact-ok
+= log2p1 downward binary64 0x7.aa5198p-4 : 0x9.0904b79f424ep-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.aa5198p-4 : 0x9.0904b79f424e8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.aa5198p-4 : 0x9.0904b79f424ep-4 : inexact-ok
+= log2p1 upward binary64 0x7.aa5198p-4 : 0x9.0904b79f424e8p-4 : inexact-ok
+= log2p1 downward intel96 0x7.aa5198p-4 : 0x9.0904b79f424e4fap-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.aa5198p-4 : 0x9.0904b79f424e4fap-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.aa5198p-4 : 0x9.0904b79f424e4fap-4 : inexact-ok
+= log2p1 upward intel96 0x7.aa5198p-4 : 0x9.0904b79f424e4fbp-4 : inexact-ok
+= log2p1 downward m68k96 0x7.aa5198p-4 : 0x9.0904b79f424e4fap-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.aa5198p-4 : 0x9.0904b79f424e4fap-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.aa5198p-4 : 0x9.0904b79f424e4fap-4 : inexact-ok
+= log2p1 upward m68k96 0x7.aa5198p-4 : 0x9.0904b79f424e4fbp-4 : inexact-ok
+= log2p1 downward binary128 0x7.aa5198p-4 : 0x9.0904b79f424e4fa19cca66692bc8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.aa5198p-4 : 0x9.0904b79f424e4fa19cca66692bc8p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.aa5198p-4 : 0x9.0904b79f424e4fa19cca66692bc8p-4 : inexact-ok
+= log2p1 upward binary128 0x7.aa5198p-4 : 0x9.0904b79f424e4fa19cca66692bdp-4 : inexact-ok
+= log2p1 downward ibm128 0x7.aa5198p-4 : 0x9.0904b79f424e4fa19cca666928p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.aa5198p-4 : 0x9.0904b79f424e4fa19cca66692cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.aa5198p-4 : 0x9.0904b79f424e4fa19cca666928p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.aa5198p-4 : 0x9.0904b79f424e4fa19cca66692cp-4 : inexact-ok
+log2p1 0x2.564fap+0
+= log2p1 downward binary32 0x2.564fap+0 : 0x1.bd160ap+0 : inexact-ok
+= log2p1 tonearest binary32 0x2.564fap+0 : 0x1.bd160cp+0 : inexact-ok
+= log2p1 towardzero binary32 0x2.564fap+0 : 0x1.bd160ap+0 : inexact-ok
+= log2p1 upward binary32 0x2.564fap+0 : 0x1.bd160cp+0 : inexact-ok
+= log2p1 downward binary64 0x2.564fap+0 : 0x1.bd160b24ed662p+0 : inexact-ok
+= log2p1 tonearest binary64 0x2.564fap+0 : 0x1.bd160b24ed663p+0 : inexact-ok
+= log2p1 towardzero binary64 0x2.564fap+0 : 0x1.bd160b24ed662p+0 : inexact-ok
+= log2p1 upward binary64 0x2.564fap+0 : 0x1.bd160b24ed663p+0 : inexact-ok
+= log2p1 downward intel96 0x2.564fap+0 : 0x1.bd160b24ed662fd6p+0 : inexact-ok
+= log2p1 tonearest intel96 0x2.564fap+0 : 0x1.bd160b24ed662fd8p+0 : inexact-ok
+= log2p1 towardzero intel96 0x2.564fap+0 : 0x1.bd160b24ed662fd6p+0 : inexact-ok
+= log2p1 upward intel96 0x2.564fap+0 : 0x1.bd160b24ed662fd8p+0 : inexact-ok
+= log2p1 downward m68k96 0x2.564fap+0 : 0x1.bd160b24ed662fd6p+0 : inexact-ok
+= log2p1 tonearest m68k96 0x2.564fap+0 : 0x1.bd160b24ed662fd8p+0 : inexact-ok
+= log2p1 towardzero m68k96 0x2.564fap+0 : 0x1.bd160b24ed662fd6p+0 : inexact-ok
+= log2p1 upward m68k96 0x2.564fap+0 : 0x1.bd160b24ed662fd8p+0 : inexact-ok
+= log2p1 downward binary128 0x2.564fap+0 : 0x1.bd160b24ed662fd779d7c941f88ap+0 : inexact-ok
+= log2p1 tonearest binary128 0x2.564fap+0 : 0x1.bd160b24ed662fd779d7c941f88bp+0 : inexact-ok
+= log2p1 towardzero binary128 0x2.564fap+0 : 0x1.bd160b24ed662fd779d7c941f88ap+0 : inexact-ok
+= log2p1 upward binary128 0x2.564fap+0 : 0x1.bd160b24ed662fd779d7c941f88bp+0 : inexact-ok
+= log2p1 downward ibm128 0x2.564fap+0 : 0x1.bd160b24ed662fd779d7c941f88p+0 : inexact-ok
+= log2p1 tonearest ibm128 0x2.564fap+0 : 0x1.bd160b24ed662fd779d7c941f88p+0 : inexact-ok
+= log2p1 towardzero ibm128 0x2.564fap+0 : 0x1.bd160b24ed662fd779d7c941f88p+0 : inexact-ok
+= log2p1 upward ibm128 0x2.564fap+0 : 0x1.bd160b24ed662fd779d7c941f9p+0 : inexact-ok
+log2p1 0x7.fc242a2235222ef8p-4
+= log2p1 downward binary32 0x7.fc243p-4 : 0x9.584b4p-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.fc243p-4 : 0x9.584b4p-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.fc243p-4 : 0x9.584b4p-4 : inexact-ok
+= log2p1 upward binary32 0x7.fc243p-4 : 0x9.584b5p-4 : inexact-ok
+= log2p1 downward binary64 0x7.fc243p-4 : 0x9.584b4411ad52p-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.fc243p-4 : 0x9.584b4411ad528p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.fc243p-4 : 0x9.584b4411ad52p-4 : inexact-ok
+= log2p1 upward binary64 0x7.fc243p-4 : 0x9.584b4411ad528p-4 : inexact-ok
+= log2p1 downward intel96 0x7.fc243p-4 : 0x9.584b4411ad52726p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.fc243p-4 : 0x9.584b4411ad52726p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.fc243p-4 : 0x9.584b4411ad52726p-4 : inexact-ok
+= log2p1 upward intel96 0x7.fc243p-4 : 0x9.584b4411ad52727p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.fc243p-4 : 0x9.584b4411ad52726p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.fc243p-4 : 0x9.584b4411ad52726p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.fc243p-4 : 0x9.584b4411ad52726p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.fc243p-4 : 0x9.584b4411ad52727p-4 : inexact-ok
+= log2p1 downward binary128 0x7.fc243p-4 : 0x9.584b4411ad527260f3ec4ffd4df8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.fc243p-4 : 0x9.584b4411ad527260f3ec4ffd4df8p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.fc243p-4 : 0x9.584b4411ad527260f3ec4ffd4df8p-4 : inexact-ok
+= log2p1 upward binary128 0x7.fc243p-4 : 0x9.584b4411ad527260f3ec4ffd4ep-4 : inexact-ok
+= log2p1 downward ibm128 0x7.fc243p-4 : 0x9.584b4411ad527260f3ec4ffd4cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.fc243p-4 : 0x9.584b4411ad527260f3ec4ffd4cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.fc243p-4 : 0x9.584b4411ad527260f3ec4ffd4cp-4 : inexact-ok
+= log2p1 upward ibm128 0x7.fc243p-4 : 0x9.584b4411ad527260f3ec4ffd5p-4 : inexact-ok
+= log2p1 downward binary32 0x7.fc2428p-4 : 0x9.584b3p-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.fc2428p-4 : 0x9.584b4p-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.fc2428p-4 : 0x9.584b3p-4 : inexact-ok
+= log2p1 upward binary32 0x7.fc2428p-4 : 0x9.584b4p-4 : inexact-ok
+= log2p1 downward binary64 0x7.fc2428p-4 : 0x9.584b3c5eadf6p-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.fc2428p-4 : 0x9.584b3c5eadf6p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.fc2428p-4 : 0x9.584b3c5eadf6p-4 : inexact-ok
+= log2p1 upward binary64 0x7.fc2428p-4 : 0x9.584b3c5eadf68p-4 : inexact-ok
+= log2p1 downward intel96 0x7.fc2428p-4 : 0x9.584b3c5eadf61bbp-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.fc2428p-4 : 0x9.584b3c5eadf61bbp-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.fc2428p-4 : 0x9.584b3c5eadf61bbp-4 : inexact-ok
+= log2p1 upward intel96 0x7.fc2428p-4 : 0x9.584b3c5eadf61bcp-4 : inexact-ok
+= log2p1 downward m68k96 0x7.fc2428p-4 : 0x9.584b3c5eadf61bbp-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.fc2428p-4 : 0x9.584b3c5eadf61bbp-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.fc2428p-4 : 0x9.584b3c5eadf61bbp-4 : inexact-ok
+= log2p1 upward m68k96 0x7.fc2428p-4 : 0x9.584b3c5eadf61bcp-4 : inexact-ok
+= log2p1 downward binary128 0x7.fc2428p-4 : 0x9.584b3c5eadf61bb02d03d77ecf5p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.fc2428p-4 : 0x9.584b3c5eadf61bb02d03d77ecf58p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.fc2428p-4 : 0x9.584b3c5eadf61bb02d03d77ecf5p-4 : inexact-ok
+= log2p1 upward binary128 0x7.fc2428p-4 : 0x9.584b3c5eadf61bb02d03d77ecf58p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.fc2428p-4 : 0x9.584b3c5eadf61bb02d03d77eccp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.fc2428p-4 : 0x9.584b3c5eadf61bb02d03d77edp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.fc2428p-4 : 0x9.584b3c5eadf61bb02d03d77eccp-4 : inexact-ok
+= log2p1 upward ibm128 0x7.fc2428p-4 : 0x9.584b3c5eadf61bb02d03d77edp-4 : inexact-ok
+= log2p1 downward binary64 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8p-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8p-4 : inexact-ok
+= log2p1 upward binary64 0x7.fc242a2235224p-4 : 0x9.584b3e6c59aep-4 : inexact-ok
+= log2p1 downward intel96 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c3p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2p-4 : inexact-ok
+= log2p1 upward intel96 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c3p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c3p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c3p-4 : inexact-ok
+= log2p1 downward binary128 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2efd0dca56be98p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2efd0dca56beap-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2efd0dca56be98p-4 : inexact-ok
+= log2p1 upward binary128 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2efd0dca56beap-4 : inexact-ok
+= log2p1 downward ibm128 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2efd0dca56bcp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2efd0dca56cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2efd0dca56bcp-4 : inexact-ok
+= log2p1 upward ibm128 0x7.fc242a2235224p-4 : 0x9.584b3e6c59ad8c2efd0dca56cp-4 : inexact-ok
+= log2p1 downward binary64 0x7.fc242a223522p-4 : 0x9.584b3e6c59adp-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.fc242a223522p-4 : 0x9.584b3e6c59adp-4 : inexact-ok
+= log2p1 upward binary64 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad8p-4 : inexact-ok
+= log2p1 downward intel96 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e9p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e9p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e9p-4 : inexact-ok
+= log2p1 upward intel96 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4eap-4 : inexact-ok
+= log2p1 downward m68k96 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e9p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e9p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e9p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4eap-4 : inexact-ok
+= log2p1 downward binary128 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e97022649d60418p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e97022649d6042p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e97022649d60418p-4 : inexact-ok
+= log2p1 upward binary128 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e97022649d6042p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e97022649d604p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e97022649d604p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e97022649d604p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.fc242a223522p-4 : 0x9.584b3e6c59ad4e97022649d608p-4 : inexact-ok
+= log2p1 downward intel96 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcp-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bdp-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcp-4 : inexact-ok
+= log2p1 upward intel96 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bdp-4 : inexact-ok
+= log2p1 downward m68k96 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcp-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bdp-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcp-4 : inexact-ok
+= log2p1 upward m68k96 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bdp-4 : inexact-ok
+= log2p1 downward binary128 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcaeb68ef447d08p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcaeb68ef447d08p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcaeb68ef447d08p-4 : inexact-ok
+= log2p1 upward binary128 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcaeb68ef447d1p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcaeb68ef447cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcaeb68ef447cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcaeb68ef447cp-4 : inexact-ok
+= log2p1 upward ibm128 0x7.fc242a2235222ef8p-4 : 0x9.584b3e6c59ad7bcaeb68ef448p-4 : inexact-ok
+log2p1 -0x4.f37d3c9ce0b14bdd86eb157df5d4p-4
+= log2p1 downward binary32 -0x4.f37d38p-4 : -0x8.8bf9p-4 : inexact-ok
+= log2p1 tonearest binary32 -0x4.f37d38p-4 : -0x8.8bf9p-4 : inexact-ok
+= log2p1 towardzero binary32 -0x4.f37d38p-4 : -0x8.8bf8fp-4 : inexact-ok
+= log2p1 upward binary32 -0x4.f37d38p-4 : -0x8.8bf8fp-4 : inexact-ok
+= log2p1 downward binary64 -0x4.f37d38p-4 : -0x8.8bf8fda35446p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x4.f37d38p-4 : -0x8.8bf8fda354458p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x4.f37d38p-4 : -0x8.8bf8fda354458p-4 : inexact-ok
+= log2p1 upward binary64 -0x4.f37d38p-4 : -0x8.8bf8fda354458p-4 : inexact-ok
+= log2p1 downward intel96 -0x4.f37d38p-4 : -0x8.8bf8fda35445b83p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x4.f37d38p-4 : -0x8.8bf8fda35445b83p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82p-4 : inexact-ok
+= log2p1 upward intel96 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82p-4 : inexact-ok
+= log2p1 downward m68k96 -0x4.f37d38p-4 : -0x8.8bf8fda35445b83p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x4.f37d38p-4 : -0x8.8bf8fda35445b83p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82p-4 : inexact-ok
+= log2p1 upward m68k96 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82p-4 : inexact-ok
+= log2p1 downward binary128 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82d038ee9e4731p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82d038ee9e47308p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82d038ee9e47308p-4 : inexact-ok
+= log2p1 upward binary128 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82d038ee9e47308p-4 : inexact-ok
+= log2p1 downward ibm128 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82d038ee9e474p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82d038ee9e474p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82d038ee9e47p-4 : inexact-ok
+= log2p1 upward ibm128 -0x4.f37d38p-4 : -0x8.8bf8fda35445b82d038ee9e47p-4 : inexact-ok
+= log2p1 downward binary32 -0x4.f37d4p-4 : -0x8.8bf91p-4 : inexact-ok
+= log2p1 tonearest binary32 -0x4.f37d4p-4 : -0x8.8bf91p-4 : inexact-ok
+= log2p1 towardzero binary32 -0x4.f37d4p-4 : -0x8.8bf9p-4 : inexact-ok
+= log2p1 upward binary32 -0x4.f37d4p-4 : -0x8.8bf9p-4 : inexact-ok
+= log2p1 downward binary64 -0x4.f37d4p-4 : -0x8.8bf90e59fa42p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x4.f37d4p-4 : -0x8.8bf90e59fa42p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x4.f37d4p-4 : -0x8.8bf90e59fa418p-4 : inexact-ok
+= log2p1 upward binary64 -0x4.f37d4p-4 : -0x8.8bf90e59fa418p-4 : inexact-ok
+= log2p1 downward intel96 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d91p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d91p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d9p-4 : inexact-ok
+= log2p1 upward intel96 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d9p-4 : inexact-ok
+= log2p1 downward m68k96 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d91p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d91p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d9p-4 : inexact-ok
+= log2p1 upward m68k96 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d9p-4 : inexact-ok
+= log2p1 downward binary128 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d908a56c9443ab6p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d908a56c9443ab58p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d908a56c9443ab58p-4 : inexact-ok
+= log2p1 upward binary128 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d908a56c9443ab58p-4 : inexact-ok
+= log2p1 downward ibm128 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d908a56c9443acp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d908a56c9443acp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d908a56c9443a8p-4 : inexact-ok
+= log2p1 upward ibm128 -0x4.f37d4p-4 : -0x8.8bf90e59fa41d908a56c9443a8p-4 : inexact-ok
+= log2p1 downward binary64 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf9074666538p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf9074666538p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653p-4 : inexact-ok
+= log2p1 upward binary64 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653p-4 : inexact-ok
+= log2p1 downward intel96 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653796p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795p-4 : inexact-ok
+= log2p1 upward intel96 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795p-4 : inexact-ok
+= log2p1 downward m68k96 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653796p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795p-4 : inexact-ok
+= log2p1 upward m68k96 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795p-4 : inexact-ok
+= log2p1 downward binary128 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795421abe9044ce8p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795421abe9044ce8p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795421abe9044cep-4 : inexact-ok
+= log2p1 upward binary128 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795421abe9044cep-4 : inexact-ok
+= log2p1 downward ibm128 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795421abe9045p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795421abe9044cp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795421abe9044cp-4 : inexact-ok
+= log2p1 upward ibm128 -0x4.f37d3c9ce0b14p-4 : -0x8.8bf907466653795421abe9044cp-4 : inexact-ok
+= log2p1 downward binary64 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466654p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466654p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf9074666538p-4 : inexact-ok
+= log2p1 upward binary64 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf9074666538p-4 : inexact-ok
+= log2p1 downward intel96 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff1p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff1p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ffp-4 : inexact-ok
+= log2p1 upward intel96 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ffp-4 : inexact-ok
+= log2p1 downward m68k96 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff1p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff1p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ffp-4 : inexact-ok
+= log2p1 upward m68k96 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ffp-4 : inexact-ok
+= log2p1 downward binary128 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff0951945a5571d8p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff0951945a5571dp-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff0951945a5571dp-4 : inexact-ok
+= log2p1 upward binary128 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff0951945a5571dp-4 : inexact-ok
+= log2p1 downward ibm128 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff0951945a5574p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff0951945a557p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff0951945a557p-4 : inexact-ok
+= log2p1 upward ibm128 -0x4.f37d3c9ce0b18p-4 : -0x8.8bf907466653ff0951945a557p-4 : inexact-ok
+= log2p1 downward intel96 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653922p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921p-4 : inexact-ok
+= log2p1 upward intel96 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921p-4 : inexact-ok
+= log2p1 downward m68k96 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653922p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921p-4 : inexact-ok
+= log2p1 upward m68k96 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921p-4 : inexact-ok
+= log2p1 downward binary128 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921289698cfcb0ep-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921289698cfcb0ep-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921289698cfcb0d8p-4 : inexact-ok
+= log2p1 upward binary128 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921289698cfcb0d8p-4 : inexact-ok
+= log2p1 downward ibm128 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921289698cfcb4p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921289698cfcbp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921289698cfcbp-4 : inexact-ok
+= log2p1 upward ibm128 -0x4.f37d3c9ce0b14bd8p-4 : -0x8.8bf907466653921289698cfcbp-4 : inexact-ok
+= log2p1 downward intel96 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf907466653923p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf907466653922p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf907466653922p-4 : inexact-ok
+= log2p1 upward intel96 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf907466653922p-4 : inexact-ok
+= log2p1 downward m68k96 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf907466653923p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf907466653922p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf907466653922p-4 : inexact-ok
+= log2p1 upward m68k96 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf907466653922p-4 : inexact-ok
+= log2p1 downward binary128 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf9074666539223400f8a0adb08p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf9074666539223400f8a0adb08p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf9074666539223400f8a0adbp-4 : inexact-ok
+= log2p1 upward binary128 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf9074666539223400f8a0adbp-4 : inexact-ok
+= log2p1 downward ibm128 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf9074666539223400f8a0adcp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf9074666539223400f8a0adcp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf9074666539223400f8a0ad8p-4 : inexact-ok
+= log2p1 upward ibm128 -0x4.f37d3c9ce0b14bep-4 : -0x8.8bf9074666539223400f8a0ad8p-4 : inexact-ok
+= log2p1 downward binary128 -0x4.f37d3c9ce0b14bdd86eb157df5d4p-4 : -0x8.8bf907466653921e156fc9a6bd28p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4.f37d3c9ce0b14bdd86eb157df5d4p-4 : -0x8.8bf907466653921e156fc9a6bd28p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4.f37d3c9ce0b14bdd86eb157df5d4p-4 : -0x8.8bf907466653921e156fc9a6bd2p-4 : inexact-ok
+= log2p1 upward binary128 -0x4.f37d3c9ce0b14bdd86eb157df5d4p-4 : -0x8.8bf907466653921e156fc9a6bd2p-4 : inexact-ok
+= log2p1 downward binary128 -0x4.f37d3c9ce0b14bdd86eb157df4p-4 : -0x8.8bf907466653921e156fc9a6b958p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4.f37d3c9ce0b14bdd86eb157df4p-4 : -0x8.8bf907466653921e156fc9a6b958p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4.f37d3c9ce0b14bdd86eb157df4p-4 : -0x8.8bf907466653921e156fc9a6b95p-4 : inexact-ok
+= log2p1 upward binary128 -0x4.f37d3c9ce0b14bdd86eb157df4p-4 : -0x8.8bf907466653921e156fc9a6b95p-4 : inexact-ok
+= log2p1 downward ibm128 -0x4.f37d3c9ce0b14bdd86eb157df4p-4 : -0x8.8bf907466653921e156fc9a6bcp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x4.f37d3c9ce0b14bdd86eb157df4p-4 : -0x8.8bf907466653921e156fc9a6b8p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x4.f37d3c9ce0b14bdd86eb157df4p-4 : -0x8.8bf907466653921e156fc9a6b8p-4 : inexact-ok
+= log2p1 upward ibm128 -0x4.f37d3c9ce0b14bdd86eb157df4p-4 : -0x8.8bf907466653921e156fc9a6b8p-4 : inexact-ok
+= log2p1 downward binary128 -0x4.f37d3c9ce0b14bdd86eb157df6p-4 : -0x8.8bf907466653921e156fc9a6bd88p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x4.f37d3c9ce0b14bdd86eb157df6p-4 : -0x8.8bf907466653921e156fc9a6bd8p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x4.f37d3c9ce0b14bdd86eb157df6p-4 : -0x8.8bf907466653921e156fc9a6bd8p-4 : inexact-ok
+= log2p1 upward binary128 -0x4.f37d3c9ce0b14bdd86eb157df6p-4 : -0x8.8bf907466653921e156fc9a6bd8p-4 : inexact-ok
+= log2p1 downward ibm128 -0x4.f37d3c9ce0b14bdd86eb157df6p-4 : -0x8.8bf907466653921e156fc9a6cp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x4.f37d3c9ce0b14bdd86eb157df6p-4 : -0x8.8bf907466653921e156fc9a6bcp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x4.f37d3c9ce0b14bdd86eb157df6p-4 : -0x8.8bf907466653921e156fc9a6bcp-4 : inexact-ok
+= log2p1 upward ibm128 -0x4.f37d3c9ce0b14bdd86eb157df6p-4 : -0x8.8bf907466653921e156fc9a6bcp-4 : inexact-ok
+log2p1 0x7.2eca50c4d93196362b4f37f6e8dcp-4
+= log2p1 downward binary32 0x7.2eca58p-4 : 0x8.8f489p-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.2eca58p-4 : 0x8.8f48ap-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.2eca58p-4 : 0x8.8f489p-4 : inexact-ok
+= log2p1 upward binary32 0x7.2eca58p-4 : 0x8.8f48ap-4 : inexact-ok
+= log2p1 downward binary64 0x7.2eca58p-4 : 0x8.8f489e9ced978p-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.2eca58p-4 : 0x8.8f489e9ced98p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.2eca58p-4 : 0x8.8f489e9ced978p-4 : inexact-ok
+= log2p1 upward binary64 0x7.2eca58p-4 : 0x8.8f489e9ced98p-4 : inexact-ok
+= log2p1 downward intel96 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.2eca58p-4 : 0x8.8f489e9ced97eb5p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4p-4 : inexact-ok
+= log2p1 upward intel96 0x7.2eca58p-4 : 0x8.8f489e9ced97eb5p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.2eca58p-4 : 0x8.8f489e9ced97eb5p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.2eca58p-4 : 0x8.8f489e9ced97eb5p-4 : inexact-ok
+= log2p1 downward binary128 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4fb36bd0d7917p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4fb36bd0d79178p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4fb36bd0d7917p-4 : inexact-ok
+= log2p1 upward binary128 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4fb36bd0d79178p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4fb36bd0d79p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4fb36bd0d79p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4fb36bd0d79p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.2eca58p-4 : 0x8.8f489e9ced97eb4fb36bd0d794p-4 : inexact-ok
+= log2p1 downward binary32 0x7.2eca5p-4 : 0x8.8f489p-4 : inexact-ok
+= log2p1 tonearest binary32 0x7.2eca5p-4 : 0x8.8f489p-4 : inexact-ok
+= log2p1 towardzero binary32 0x7.2eca5p-4 : 0x8.8f489p-4 : inexact-ok
+= log2p1 upward binary32 0x7.2eca5p-4 : 0x8.8f48ap-4 : inexact-ok
+= log2p1 downward binary64 0x7.2eca5p-4 : 0x8.8f4896a5bb5p-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.2eca5p-4 : 0x8.8f4896a5bb5p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.2eca5p-4 : 0x8.8f4896a5bb5p-4 : inexact-ok
+= log2p1 upward binary64 0x7.2eca5p-4 : 0x8.8f4896a5bb508p-4 : inexact-ok
+= log2p1 downward intel96 0x7.2eca5p-4 : 0x8.8f4896a5bb50056p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.2eca5p-4 : 0x8.8f4896a5bb50057p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.2eca5p-4 : 0x8.8f4896a5bb50056p-4 : inexact-ok
+= log2p1 upward intel96 0x7.2eca5p-4 : 0x8.8f4896a5bb50057p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.2eca5p-4 : 0x8.8f4896a5bb50056p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.2eca5p-4 : 0x8.8f4896a5bb50057p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.2eca5p-4 : 0x8.8f4896a5bb50056p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.2eca5p-4 : 0x8.8f4896a5bb50057p-4 : inexact-ok
+= log2p1 downward binary128 0x7.2eca5p-4 : 0x8.8f4896a5bb50056aecc5c33c8d4p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2eca5p-4 : 0x8.8f4896a5bb50056aecc5c33c8d4p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2eca5p-4 : 0x8.8f4896a5bb50056aecc5c33c8d4p-4 : inexact-ok
+= log2p1 upward binary128 0x7.2eca5p-4 : 0x8.8f4896a5bb50056aecc5c33c8d48p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.2eca5p-4 : 0x8.8f4896a5bb50056aecc5c33c8cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.2eca5p-4 : 0x8.8f4896a5bb50056aecc5c33c8cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.2eca5p-4 : 0x8.8f4896a5bb50056aecc5c33c8cp-4 : inexact-ok
+= log2p1 upward ibm128 0x7.2eca5p-4 : 0x8.8f4896a5bb50056aecc5c33c9p-4 : inexact-ok
+= log2p1 downward binary64 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe28p-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe3p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe28p-4 : inexact-ok
+= log2p1 upward binary64 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe3p-4 : inexact-ok
+= log2p1 downward intel96 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c2ap-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29p-4 : inexact-ok
+= log2p1 upward intel96 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c2ap-4 : inexact-ok
+= log2p1 downward m68k96 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c2ap-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c2ap-4 : inexact-ok
+= log2p1 downward binary128 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29ba809a31863f8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29ba809a31864p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29ba809a31863f8p-4 : inexact-ok
+= log2p1 upward binary128 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29ba809a31864p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29ba809a3186p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29ba809a31864p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29ba809a3186p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.2eca50c4d931cp-4 : 0x8.8f489769bbe2c29ba809a31864p-4 : inexact-ok
+= log2p1 downward binary64 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe28p-4 : inexact-ok
+= log2p1 tonearest binary64 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe28p-4 : inexact-ok
+= log2p1 towardzero binary64 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe28p-4 : inexact-ok
+= log2p1 upward binary64 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe3p-4 : inexact-ok
+= log2p1 downward intel96 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282ep-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282ep-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282ep-4 : inexact-ok
+= log2p1 upward intel96 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282fp-4 : inexact-ok
+= log2p1 downward m68k96 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282ep-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282ep-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282ep-4 : inexact-ok
+= log2p1 upward m68k96 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282fp-4 : inexact-ok
+= log2p1 downward binary128 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282e215c19244dda8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282e215c19244ddbp-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282e215c19244dda8p-4 : inexact-ok
+= log2p1 upward binary128 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282e215c19244ddbp-4 : inexact-ok
+= log2p1 downward ibm128 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282e215c19244dcp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282e215c19244dcp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282e215c19244dcp-4 : inexact-ok
+= log2p1 upward ibm128 0x7.2eca50c4d9318p-4 : 0x8.8f489769bbe282e215c19244ep-4 : inexact-ok
+= log2p1 downward intel96 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 upward intel96 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe2991p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 upward m68k96 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe2991p-4 : inexact-ok
+= log2p1 downward binary128 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe29901a26a571c4dp-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe29901a26a571c4dp-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe29901a26a571c4dp-4 : inexact-ok
+= log2p1 upward binary128 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe29901a26a571c4d08p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe29901a26a571c4cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe29901a26a571c4cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe29901a26a571c4cp-4 : inexact-ok
+= log2p1 upward ibm128 0x7.2eca50c4d9319638p-4 : 0x8.8f489769bbe29901a26a571c5p-4 : inexact-ok
+= log2p1 downward intel96 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298fp-4 : inexact-ok
+= log2p1 tonearest intel96 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 towardzero intel96 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298fp-4 : inexact-ok
+= log2p1 upward intel96 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 downward m68k96 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298fp-4 : inexact-ok
+= log2p1 tonearest m68k96 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298fp-4 : inexact-ok
+= log2p1 upward m68k96 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe299p-4 : inexact-ok
+= log2p1 downward binary128 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298f9ab380e1a329p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298f9ab380e1a329p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298f9ab380e1a329p-4 : inexact-ok
+= log2p1 upward binary128 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298f9ab380e1a3298p-4 : inexact-ok
+= log2p1 downward ibm128 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298f9ab380e1a3p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298f9ab380e1a34p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298f9ab380e1a3p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.2eca50c4d931963p-4 : 0x8.8f489769bbe298f9ab380e1a34p-4 : inexact-ok
+= log2p1 downward binary128 0x7.2eca50c4d93196362b4f37f6e8dcp-4 : 0x8.8f489769bbe298ffcfbd53ee158p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2eca50c4d93196362b4f37f6e8dcp-4 : 0x8.8f489769bbe298ffcfbd53ee1588p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2eca50c4d93196362b4f37f6e8dcp-4 : 0x8.8f489769bbe298ffcfbd53ee158p-4 : inexact-ok
+= log2p1 upward binary128 0x7.2eca50c4d93196362b4f37f6e8dcp-4 : 0x8.8f489769bbe298ffcfbd53ee1588p-4 : inexact-ok
+= log2p1 downward binary128 0x7.2eca50c4d93196362b4f37f6eap-4 : 0x8.8f489769bbe298ffcfbd53ee16a8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2eca50c4d93196362b4f37f6eap-4 : 0x8.8f489769bbe298ffcfbd53ee16a8p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2eca50c4d93196362b4f37f6eap-4 : 0x8.8f489769bbe298ffcfbd53ee16a8p-4 : inexact-ok
+= log2p1 upward binary128 0x7.2eca50c4d93196362b4f37f6eap-4 : 0x8.8f489769bbe298ffcfbd53ee16bp-4 : inexact-ok
+= log2p1 downward ibm128 0x7.2eca50c4d93196362b4f37f6eap-4 : 0x8.8f489769bbe298ffcfbd53ee14p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.2eca50c4d93196362b4f37f6eap-4 : 0x8.8f489769bbe298ffcfbd53ee18p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.2eca50c4d93196362b4f37f6eap-4 : 0x8.8f489769bbe298ffcfbd53ee14p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.2eca50c4d93196362b4f37f6eap-4 : 0x8.8f489769bbe298ffcfbd53ee18p-4 : inexact-ok
+= log2p1 downward binary128 0x7.2eca50c4d93196362b4f37f6e8p-4 : 0x8.8f489769bbe298ffcfbd53ee14a8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x7.2eca50c4d93196362b4f37f6e8p-4 : 0x8.8f489769bbe298ffcfbd53ee14a8p-4 : inexact-ok
+= log2p1 towardzero binary128 0x7.2eca50c4d93196362b4f37f6e8p-4 : 0x8.8f489769bbe298ffcfbd53ee14a8p-4 : inexact-ok
+= log2p1 upward binary128 0x7.2eca50c4d93196362b4f37f6e8p-4 : 0x8.8f489769bbe298ffcfbd53ee14bp-4 : inexact-ok
+= log2p1 downward ibm128 0x7.2eca50c4d93196362b4f37f6e8p-4 : 0x8.8f489769bbe298ffcfbd53ee14p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x7.2eca50c4d93196362b4f37f6e8p-4 : 0x8.8f489769bbe298ffcfbd53ee14p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x7.2eca50c4d93196362b4f37f6e8p-4 : 0x8.8f489769bbe298ffcfbd53ee14p-4 : inexact-ok
+= log2p1 upward ibm128 0x7.2eca50c4d93196362b4f37f6e8p-4 : 0x8.8f489769bbe298ffcfbd53ee18p-4 : inexact-ok
+log2p1 -0x6.3fef3067427e43dfcde9e48f74bcp-4
+= log2p1 downward binary32 -0x6.3fef3p-4 : -0xb.6ed65p-4 : inexact-ok
+= log2p1 tonearest binary32 -0x6.3fef3p-4 : -0xb.6ed64p-4 : inexact-ok
+= log2p1 towardzero binary32 -0x6.3fef3p-4 : -0xb.6ed64p-4 : inexact-ok
+= log2p1 upward binary32 -0x6.3fef3p-4 : -0xb.6ed64p-4 : inexact-ok
+= log2p1 downward binary64 -0x6.3fef3p-4 : -0xb.6ed647a6fb358p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x6.3fef3p-4 : -0xb.6ed647a6fb358p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x6.3fef3p-4 : -0xb.6ed647a6fb35p-4 : inexact-ok
+= log2p1 upward binary64 -0x6.3fef3p-4 : -0xb.6ed647a6fb35p-4 : inexact-ok
+= log2p1 downward intel96 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e7p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e7p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6p-4 : inexact-ok
+= log2p1 upward intel96 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6p-4 : inexact-ok
+= log2p1 downward m68k96 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e7p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e7p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6p-4 : inexact-ok
+= log2p1 upward m68k96 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6p-4 : inexact-ok
+= log2p1 downward binary128 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6aadb9fc6a6c98p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6aadb9fc6a6c9p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6aadb9fc6a6c9p-4 : inexact-ok
+= log2p1 upward binary128 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6aadb9fc6a6c9p-4 : inexact-ok
+= log2p1 downward ibm128 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6aadb9fc6a7p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6aadb9fc6a6cp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6aadb9fc6a6cp-4 : inexact-ok
+= log2p1 upward ibm128 -0x6.3fef3p-4 : -0xb.6ed647a6fb356e6aadb9fc6a6cp-4 : inexact-ok
+= log2p1 downward binary32 -0x6.3fef38p-4 : -0xb.6ed66p-4 : inexact-ok
+= log2p1 tonearest binary32 -0x6.3fef38p-4 : -0xb.6ed66p-4 : inexact-ok
+= log2p1 towardzero binary32 -0x6.3fef38p-4 : -0xb.6ed65p-4 : inexact-ok
+= log2p1 upward binary32 -0x6.3fef38p-4 : -0xb.6ed65p-4 : inexact-ok
+= log2p1 downward binary64 -0x6.3fef38p-4 : -0xb.6ed65a977e3p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x6.3fef38p-4 : -0xb.6ed65a977e3p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x6.3fef38p-4 : -0xb.6ed65a977e2f8p-4 : inexact-ok
+= log2p1 upward binary64 -0x6.3fef38p-4 : -0xb.6ed65a977e2f8p-4 : inexact-ok
+= log2p1 downward intel96 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7ep-4 : inexact-ok
+= log2p1 tonearest intel96 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7ep-4 : inexact-ok
+= log2p1 towardzero intel96 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dp-4 : inexact-ok
+= log2p1 upward intel96 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dp-4 : inexact-ok
+= log2p1 downward m68k96 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7ep-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7ep-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dp-4 : inexact-ok
+= log2p1 upward m68k96 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dp-4 : inexact-ok
+= log2p1 downward binary128 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dc19362a6ea158p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dc19362a6ea158p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dc19362a6ea15p-4 : inexact-ok
+= log2p1 upward binary128 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dc19362a6ea15p-4 : inexact-ok
+= log2p1 downward ibm128 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dc19362a6ea4p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dc19362a6eap-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dc19362a6eap-4 : inexact-ok
+= log2p1 upward ibm128 -0x6.3fef38p-4 : -0xb.6ed65a977e2fd7dc19362a6eap-4 : inexact-ok
+= log2p1 downward binary64 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b7137p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368p-4 : inexact-ok
+= log2p1 upward binary64 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368p-4 : inexact-ok
+= log2p1 downward intel96 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b7136837p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b7136836p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b7136836p-4 : inexact-ok
+= log2p1 upward intel96 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b7136836p-4 : inexact-ok
+= log2p1 downward m68k96 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b7136837p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b7136836p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b7136836p-4 : inexact-ok
+= log2p1 upward m68k96 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b7136836p-4 : inexact-ok
+= log2p1 downward binary128 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368361a39160dadc58p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368361a39160dadc5p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368361a39160dadc5p-4 : inexact-ok
+= log2p1 upward binary128 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368361a39160dadc5p-4 : inexact-ok
+= log2p1 downward ibm128 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368361a39160daep-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368361a39160dadcp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368361a39160dadcp-4 : inexact-ok
+= log2p1 upward ibm128 -0x6.3fef3067427e4p-4 : -0xb.6ed6489b71368361a39160dadcp-4 : inexact-ok
+= log2p1 downward binary64 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71378p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b7137p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b7137p-4 : inexact-ok
+= log2p1 upward binary64 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b7137p-4 : inexact-ok
+= log2p1 downward intel96 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371afp-4 : inexact-ok
+= log2p1 tonearest intel96 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371aep-4 : inexact-ok
+= log2p1 towardzero intel96 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371aep-4 : inexact-ok
+= log2p1 upward intel96 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371aep-4 : inexact-ok
+= log2p1 downward m68k96 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371afp-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371aep-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371aep-4 : inexact-ok
+= log2p1 upward m68k96 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371aep-4 : inexact-ok
+= log2p1 downward binary128 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371ae5bb2cc860ed08p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371ae5bb2cc860ed08p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371ae5bb2cc860edp-4 : inexact-ok
+= log2p1 upward binary128 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371ae5bb2cc860edp-4 : inexact-ok
+= log2p1 downward ibm128 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371ae5bb2cc860fp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371ae5bb2cc860ecp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371ae5bb2cc860ecp-4 : inexact-ok
+= log2p1 upward ibm128 -0x6.3fef3067427e8p-4 : -0xb.6ed6489b71371ae5bb2cc860ecp-4 : inexact-ok
+= log2p1 downward intel96 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c8p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c8p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7p-4 : inexact-ok
+= log2p1 upward intel96 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7p-4 : inexact-ok
+= log2p1 downward m68k96 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c8p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c8p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7p-4 : inexact-ok
+= log2p1 upward m68k96 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7p-4 : inexact-ok
+= log2p1 downward binary128 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7b327c56328978p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7b327c56328978p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7b327c5632897p-4 : inexact-ok
+= log2p1 upward binary128 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7b327c5632897p-4 : inexact-ok
+= log2p1 downward ibm128 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7b327c56328cp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7b327c563288p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7b327c563288p-4 : inexact-ok
+= log2p1 upward ibm128 -0x6.3fef3067427e43d8p-4 : -0xb.6ed6489b71368c7b327c563288p-4 : inexact-ok
+= log2p1 downward intel96 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c9p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c9p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8p-4 : inexact-ok
+= log2p1 upward intel96 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8p-4 : inexact-ok
+= log2p1 downward m68k96 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c9p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c9p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8p-4 : inexact-ok
+= log2p1 upward m68k96 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8p-4 : inexact-ok
+= log2p1 downward binary128 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8e22ff499f7a38p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8e22ff499f7a38p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8e22ff499f7a3p-4 : inexact-ok
+= log2p1 upward binary128 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8e22ff499f7a3p-4 : inexact-ok
+= log2p1 downward ibm128 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8e22ff499f7cp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8e22ff499f7cp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8e22ff499f78p-4 : inexact-ok
+= log2p1 upward ibm128 -0x6.3fef3067427e43ep-4 : -0xb.6ed6489b71368c8e22ff499f78p-4 : inexact-ok
+= log2p1 downward binary128 -0x6.3fef3067427e43dfcde9e48f74bcp-4 : -0xb.6ed6489b71368c8dac6bc0cfc92p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x6.3fef3067427e43dfcde9e48f74bcp-4 : -0xb.6ed6489b71368c8dac6bc0cfc918p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x6.3fef3067427e43dfcde9e48f74bcp-4 : -0xb.6ed6489b71368c8dac6bc0cfc918p-4 : inexact-ok
+= log2p1 upward binary128 -0x6.3fef3067427e43dfcde9e48f74bcp-4 : -0xb.6ed6489b71368c8dac6bc0cfc918p-4 : inexact-ok
+= log2p1 downward binary128 -0x6.3fef3067427e43dfcde9e48f74p-4 : -0xb.6ed6489b71368c8dac6bc0cfc76p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x6.3fef3067427e43dfcde9e48f74p-4 : -0xb.6ed6489b71368c8dac6bc0cfc758p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x6.3fef3067427e43dfcde9e48f74p-4 : -0xb.6ed6489b71368c8dac6bc0cfc758p-4 : inexact-ok
+= log2p1 upward binary128 -0x6.3fef3067427e43dfcde9e48f74p-4 : -0xb.6ed6489b71368c8dac6bc0cfc758p-4 : inexact-ok
+= log2p1 downward ibm128 -0x6.3fef3067427e43dfcde9e48f74p-4 : -0xb.6ed6489b71368c8dac6bc0cfc8p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x6.3fef3067427e43dfcde9e48f74p-4 : -0xb.6ed6489b71368c8dac6bc0cfc8p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x6.3fef3067427e43dfcde9e48f74p-4 : -0xb.6ed6489b71368c8dac6bc0cfc4p-4 : inexact-ok
+= log2p1 upward ibm128 -0x6.3fef3067427e43dfcde9e48f74p-4 : -0xb.6ed6489b71368c8dac6bc0cfc4p-4 : inexact-ok
+= log2p1 downward binary128 -0x6.3fef3067427e43dfcde9e48f76p-4 : -0xb.6ed6489b71368c8dac6bc0cfcc18p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x6.3fef3067427e43dfcde9e48f76p-4 : -0xb.6ed6489b71368c8dac6bc0cfcc18p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x6.3fef3067427e43dfcde9e48f76p-4 : -0xb.6ed6489b71368c8dac6bc0cfcc1p-4 : inexact-ok
+= log2p1 upward binary128 -0x6.3fef3067427e43dfcde9e48f76p-4 : -0xb.6ed6489b71368c8dac6bc0cfcc1p-4 : inexact-ok
+= log2p1 downward ibm128 -0x6.3fef3067427e43dfcde9e48f76p-4 : -0xb.6ed6489b71368c8dac6bc0cfdp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x6.3fef3067427e43dfcde9e48f76p-4 : -0xb.6ed6489b71368c8dac6bc0cfccp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x6.3fef3067427e43dfcde9e48f76p-4 : -0xb.6ed6489b71368c8dac6bc0cfccp-4 : inexact-ok
+= log2p1 upward ibm128 -0x6.3fef3067427e43dfcde9e48f76p-4 : -0xb.6ed6489b71368c8dac6bc0cfccp-4 : inexact-ok
+log2p1 0x6.af53d00fd2845d4772260ef5adc4p-4
+= log2p1 downward binary32 0x6.af53d8p-4 : 0x8.0efc6p-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.af53d8p-4 : 0x8.0efc7p-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.af53d8p-4 : 0x8.0efc6p-4 : inexact-ok
+= log2p1 upward binary32 0x6.af53d8p-4 : 0x8.0efc7p-4 : inexact-ok
+= log2p1 downward binary64 0x6.af53d8p-4 : 0x8.0efc689b81d3p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.af53d8p-4 : 0x8.0efc689b81d38p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.af53d8p-4 : 0x8.0efc689b81d3p-4 : inexact-ok
+= log2p1 upward binary64 0x6.af53d8p-4 : 0x8.0efc689b81d38p-4 : inexact-ok
+= log2p1 downward intel96 0x6.af53d8p-4 : 0x8.0efc689b81d3601p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.af53d8p-4 : 0x8.0efc689b81d3602p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.af53d8p-4 : 0x8.0efc689b81d3601p-4 : inexact-ok
+= log2p1 upward intel96 0x6.af53d8p-4 : 0x8.0efc689b81d3602p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.af53d8p-4 : 0x8.0efc689b81d3601p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.af53d8p-4 : 0x8.0efc689b81d3602p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.af53d8p-4 : 0x8.0efc689b81d3601p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.af53d8p-4 : 0x8.0efc689b81d3602p-4 : inexact-ok
+= log2p1 downward binary128 0x6.af53d8p-4 : 0x8.0efc689b81d36019c0e4142aafbp-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.af53d8p-4 : 0x8.0efc689b81d36019c0e4142aafbp-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.af53d8p-4 : 0x8.0efc689b81d36019c0e4142aafbp-4 : inexact-ok
+= log2p1 upward binary128 0x6.af53d8p-4 : 0x8.0efc689b81d36019c0e4142aafb8p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.af53d8p-4 : 0x8.0efc689b81d36019c0e4142aacp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.af53d8p-4 : 0x8.0efc689b81d36019c0e4142abp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.af53d8p-4 : 0x8.0efc689b81d36019c0e4142aacp-4 : inexact-ok
+= log2p1 upward ibm128 0x6.af53d8p-4 : 0x8.0efc689b81d36019c0e4142abp-4 : inexact-ok
+= log2p1 downward binary32 0x6.af53dp-4 : 0x8.0efc6p-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.af53dp-4 : 0x8.0efc6p-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.af53dp-4 : 0x8.0efc6p-4 : inexact-ok
+= log2p1 upward binary32 0x6.af53dp-4 : 0x8.0efc7p-4 : inexact-ok
+= log2p1 downward binary64 0x6.af53dp-4 : 0x8.0efc60778d9bp-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.af53dp-4 : 0x8.0efc60778d9b8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.af53dp-4 : 0x8.0efc60778d9bp-4 : inexact-ok
+= log2p1 upward binary64 0x6.af53dp-4 : 0x8.0efc60778d9b8p-4 : inexact-ok
+= log2p1 downward intel96 0x6.af53dp-4 : 0x8.0efc60778d9b536p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.af53dp-4 : 0x8.0efc60778d9b537p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.af53dp-4 : 0x8.0efc60778d9b536p-4 : inexact-ok
+= log2p1 upward intel96 0x6.af53dp-4 : 0x8.0efc60778d9b537p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.af53dp-4 : 0x8.0efc60778d9b536p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.af53dp-4 : 0x8.0efc60778d9b537p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.af53dp-4 : 0x8.0efc60778d9b536p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.af53dp-4 : 0x8.0efc60778d9b537p-4 : inexact-ok
+= log2p1 downward binary128 0x6.af53dp-4 : 0x8.0efc60778d9b536b1d88afb8bc2p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.af53dp-4 : 0x8.0efc60778d9b536b1d88afb8bc28p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.af53dp-4 : 0x8.0efc60778d9b536b1d88afb8bc2p-4 : inexact-ok
+= log2p1 upward binary128 0x6.af53dp-4 : 0x8.0efc60778d9b536b1d88afb8bc28p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.af53dp-4 : 0x8.0efc60778d9b536b1d88afb8bcp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.af53dp-4 : 0x8.0efc60778d9b536b1d88afb8bcp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.af53dp-4 : 0x8.0efc60778d9b536b1d88afb8bcp-4 : inexact-ok
+= log2p1 upward ibm128 0x6.af53dp-4 : 0x8.0efc60778d9b536b1d88afb8cp-4 : inexact-ok
+= log2p1 downward binary64 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73b8p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73cp-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73b8p-4 : inexact-ok
+= log2p1 upward binary64 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73cp-4 : inexact-ok
+= log2p1 downward intel96 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9p-4 : inexact-ok
+= log2p1 upward intel96 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bddap-4 : inexact-ok
+= log2p1 downward m68k96 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bddap-4 : inexact-ok
+= log2p1 downward binary128 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9037f33081abdp-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9037f33081abdp-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9037f33081abdp-4 : inexact-ok
+= log2p1 upward binary128 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9037f33081abd8p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9037f33081a8p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9037f33081acp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9037f33081a8p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.af53d00fd2848p-4 : 0x8.0efc6087a73bdd9037f33081acp-4 : inexact-ok
+= log2p1 downward binary64 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b8p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b8p-4 : inexact-ok
+= log2p1 upward binary64 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73cp-4 : inexact-ok
+= log2p1 downward intel96 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7p-4 : inexact-ok
+= log2p1 upward intel96 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c8p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c8p-4 : inexact-ok
+= log2p1 downward binary128 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7096277cc7bcdp-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7096277cc7bcd8p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7096277cc7bcdp-4 : inexact-ok
+= log2p1 upward binary128 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7096277cc7bcd8p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7096277cc7bcp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7096277cc7bcp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7096277cc7bcp-4 : inexact-ok
+= log2p1 upward ibm128 0x6.af53d00fd2844p-4 : 0x8.0efc6087a73b9c7096277cc7cp-4 : inexact-ok
+= log2p1 downward intel96 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba4p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 upward intel96 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba4p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba4p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba4p-4 : inexact-ok
+= log2p1 downward binary128 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3c2f0dcf622e6p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3c2f0dcf622e68p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3c2f0dcf622e6p-4 : inexact-ok
+= log2p1 upward binary128 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3c2f0dcf622e68p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3c2f0dcf622cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3c2f0dcf623p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3c2f0dcf622cp-4 : inexact-ok
+= log2p1 upward ibm128 0x6.af53d00fd2845d48p-4 : 0x8.0efc6087a73bba3c2f0dcf623p-4 : inexact-ok
+= log2p1 downward intel96 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 upward intel96 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba4p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba3p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba4p-4 : inexact-ok
+= log2p1 downward binary128 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba340b1995ebb72p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba340b1995ebb728p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba340b1995ebb72p-4 : inexact-ok
+= log2p1 upward binary128 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba340b1995ebb728p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba340b1995ebb4p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba340b1995ebb8p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba340b1995ebb4p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.af53d00fd2845d4p-4 : 0x8.0efc6087a73bba340b1995ebb8p-4 : inexact-ok
+= log2p1 downward binary128 0x6.af53d00fd2845d4772260ef5adc4p-4 : 0x8.0efc6087a73bba3b9eb65a6731d8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.af53d00fd2845d4772260ef5adc4p-4 : 0x8.0efc6087a73bba3b9eb65a6731ep-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.af53d00fd2845d4772260ef5adc4p-4 : 0x8.0efc6087a73bba3b9eb65a6731d8p-4 : inexact-ok
+= log2p1 upward binary128 0x6.af53d00fd2845d4772260ef5adc4p-4 : 0x8.0efc6087a73bba3b9eb65a6731ep-4 : inexact-ok
+= log2p1 downward binary128 0x6.af53d00fd2845d4772260ef5aep-4 : 0x8.0efc6087a73bba3b9eb65a673218p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.af53d00fd2845d4772260ef5aep-4 : 0x8.0efc6087a73bba3b9eb65a67322p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.af53d00fd2845d4772260ef5aep-4 : 0x8.0efc6087a73bba3b9eb65a673218p-4 : inexact-ok
+= log2p1 upward binary128 0x6.af53d00fd2845d4772260ef5aep-4 : 0x8.0efc6087a73bba3b9eb65a67322p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.af53d00fd2845d4772260ef5aep-4 : 0x8.0efc6087a73bba3b9eb65a673p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.af53d00fd2845d4772260ef5aep-4 : 0x8.0efc6087a73bba3b9eb65a6734p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.af53d00fd2845d4772260ef5aep-4 : 0x8.0efc6087a73bba3b9eb65a673p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.af53d00fd2845d4772260ef5aep-4 : 0x8.0efc6087a73bba3b9eb65a6734p-4 : inexact-ok
+= log2p1 downward binary128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x8.0efc6087a73bba3b9eb65a67301p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x8.0efc6087a73bba3b9eb65a67301p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x8.0efc6087a73bba3b9eb65a67301p-4 : inexact-ok
+= log2p1 upward binary128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x8.0efc6087a73bba3b9eb65a673018p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x8.0efc6087a73bba3b9eb65a673p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x8.0efc6087a73bba3b9eb65a673p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x8.0efc6087a73bba3b9eb65a673p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.af53d00fd2845d4772260ef5acp-4 : 0x8.0efc6087a73bba3b9eb65a6734p-4 : inexact-ok
diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h
index f46d3000b2..fbfc27a452 100644
--- a/math/bits/mathcalls.h
+++ b/math/bits/mathcalls.h
@@ -112,6 +112,9 @@  __MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
 #if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23)
 /* Compute exponent to base ten.  */
 __MATHCALL_VEC (exp10,, (_Mdouble_ __x));
+
+/* Return log2(1 + X).  */
+__MATHCALL (log2p1,, (_Mdouble_ __x));
 #endif
 
 #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
diff --git a/math/gen-auto-libm-tests.c b/math/gen-auto-libm-tests.c
index c35242b356..d01ac71dbe 100644
--- a/math/gen-auto-libm-tests.c
+++ b/math/gen-auto-libm-tests.c
@@ -580,6 +580,7 @@  static test_function test_functions[] =
     FUNC_mpfr_f_f ("log10", mpfr_log10, false),
     FUNC_mpfr_f_f ("log1p", mpfr_log1p, false),
     FUNC_mpfr_f_f ("log2", mpfr_log2, false),
+    FUNC_mpfr_f_f ("log2p1", mpfr_log2p1, false),
     FUNC_mpfr_ff_f ("mul", mpfr_mul, true),
     FUNC_mpfr_ff_f ("pow", mpfr_pow, false),
     FUNC_mpfr_f_f ("sin", mpfr_sin, false),
diff --git a/math/gen-tgmath-tests.py b/math/gen-tgmath-tests.py
index d3a7f65899..1131481fad 100755
--- a/math/gen-tgmath-tests.py
+++ b/math/gen-tgmath-tests.py
@@ -743,6 +743,7 @@  class Tests(object):
                 self.add_tests(prefix + fn, ret, ['r'] * args)
         # TS 18661-4 functions.
         self.add_tests('exp10', 'r', ['r'])
+        self.add_tests('log2p1', 'r', ['r'])
         # C23 functions.
         self.add_tests('fmaximum', 'r', ['r', 'r'])
         self.add_tests('fmaximum_mag', 'r', ['r', 'r'])
diff --git a/math/libm-test-log2p1.inc b/math/libm-test-log2p1.inc
new file mode 100644
index 0000000000..62df95903d
--- /dev/null
+++ b/math/libm-test-log2p1.inc
@@ -0,0 +1,53 @@ 
+/* Test log2p1.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include "libm-test-driver.c"
+
+static const struct test_f_f_data log2p1_test_data[] =
+  {
+    TEST_f_f (log2p1, -1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
+    TEST_f_f (log2p1, -2, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+    TEST_f_f (log2p1, -max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM|XFAIL_ROUNDING_IBM128_LIBGCC),
+    TEST_f_f (log2p1, minus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
+
+    TEST_f_f (log2p1, plus_infty, plus_infty, ERRNO_UNCHANGED),
+    TEST_f_f (log2p1, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_f_f (log2p1, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
+    TEST_f_f (log2p1, snan_value, qnan_value, INVALID_EXCEPTION),
+    TEST_f_f (log2p1, -snan_value, qnan_value, INVALID_EXCEPTION),
+
+    AUTO_TESTS_f_f (log2p1),
+  };
+
+static void
+log2p1_test (void)
+{
+  ALL_RM_TEST (log2p1, 0, log2p1_test_data, RUN_TEST_LOOP_f_f, END);
+}
+
+static void
+do_test (void)
+{
+  log2p1_test ();
+}
+
+/*
+ * Local Variables:
+ * mode:c
+ * End:
+ */
diff --git a/math/s_log2p1_template.c b/math/s_log2p1_template.c
new file mode 100644
index 0000000000..e3e5fa3d79
--- /dev/null
+++ b/math/s_log2p1_template.c
@@ -0,0 +1,43 @@ 
+/* Return base-2 logarithm of 1 + X.
+   Copyright (C) 2024 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <math.h>
+#include <math-underflow.h>
+
+FLOAT
+M_DECL_FUNC (__log2p1) (FLOAT x)
+{
+  if (__glibc_unlikely (islessequal (x, M_LIT (-1.0))))
+    {
+      if (x == -1)
+	__set_errno (ERANGE);
+      else
+	__set_errno (EDOM);
+    }
+  if (isless (M_FABS (x), M_EPSILON / 4))
+    {
+      /* Avoid spurious underflows when log1p underflows but log2p1
+	 should not.  */
+      FLOAT ret = M_MLIT (M_LOG2E) * x;
+      math_check_force_underflow (ret);
+      return ret;
+    }
+  return M_MLIT (M_LOG2E) * M_SUF (__log1p) (x);
+}
+declare_mgen_alias (__log2p1, log2p1);
diff --git a/math/test-tgmath.c b/math/test-tgmath.c
index 93efd8b812..141e96bd6e 100644
--- a/math/test-tgmath.c
+++ b/math/test-tgmath.c
@@ -48,7 +48,7 @@  volatile int count_cdouble;
 volatile int count_cfloat;
 volatile int count_cldouble;
 
-#define NCALLS     158
+#define NCALLS     160
 #define NCALLS_INT 4
 #define NCCALLS    47
 
@@ -255,6 +255,7 @@  F(compile_test) (void)
   a = exp2 (exp2 (x));
   a = exp10 (exp10 (x));
   b = log2 (log2 (a));
+  a = log2p1 (log2p1 (x));
   a = pow (pow (x, a), pow (c, b));
   b = sqrt (sqrt (a));
   a = hypot (hypot (x, b), hypot (c, a));
@@ -368,6 +369,7 @@  F(compile_test) (void)
       a = exp2 (y);
       a = exp10 (y);
       a = log2 (y);
+      a = log2p1 (y);
       a = pow (y, y);
       a = sqrt (y);
       a = hypot (y, y);
@@ -641,6 +643,14 @@  TYPE
   return x;
 }
 
+TYPE
+(F(log2p1)) (TYPE x)
+{
+  ++count;
+  P ();
+  return x;
+}
+
 TYPE
 (F(pow)) (TYPE x, TYPE y)
 {
diff --git a/math/tgmath.h b/math/tgmath.h
index dbfa92d51d..d9ee3e3a17 100644
--- a/math/tgmath.h
+++ b/math/tgmath.h
@@ -874,6 +874,9 @@ 
 #if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23)
 /* Compute exponent to base ten.  */
 #define exp10(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp10)
+
+/* Return log2(1 + X).  */
+#define log2p1(Val) __TGMATH_UNARY_REAL_ONLY (Val, log2p1)
 #endif
 
 
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
index da6602f909..9eb3088d7a 100644
--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
+++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
@@ -1424,6 +1424,30 @@  float: 1
 float128: 1
 ldouble: 1
 
+Function: "log2p1":
+double: 1
+float: 1
+float128: 3
+ldouble: 2
+
+Function: "log2p1_downward":
+double: 1
+float: 1
+float128: 3
+ldouble: 4
+
+Function: "log2p1_towardzero":
+double: 1
+float: 1
+float128: 2
+ldouble: 4
+
+Function: "log2p1_upward":
+double: 1
+float: 1
+float128: 2
+ldouble: 5
+
 Function: "log_downward":
 double: 1
 float128: 1
diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Versions b/sysdeps/ieee754/ldbl-128ibm-compat/Versions
index c0679a1153..c9a74366fd 100644
--- a/sysdeps/ieee754/ldbl-128ibm-compat/Versions
+++ b/sysdeps/ieee754/ldbl-128ibm-compat/Versions
@@ -137,6 +137,9 @@  libm {
     __fminimum_magieee128;
     __fminimum_mag_numieee128;
   }
+  GLIBC_2.40 {
+    __log2p1ieee128;
+  }
 }
 libc {
   LDBL_IBM128_VERSION {
diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile
index 74788ac999..80727613c7 100644
--- a/sysdeps/ieee754/ldbl-opt/Makefile
+++ b/sysdeps/ieee754/ldbl-opt/Makefile
@@ -51,7 +51,8 @@  libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \
 		 roundeven fromfp ufromfp fromfpx ufromfpx fadd dadd \
 		 fdiv ddiv ffma dfma fmul dmul fsqrt dsqrt fsub dsub \
 		 fmaximum fmaximum_mag fmaximum_num fmaximum_mag_num \
-		 fminimum fminimum_mag fminimum_num fminimum_mag_num
+		 fminimum fminimum_mag fminimum_num fminimum_mag_num \
+		 log2p1
 libnldbl-routines = $(libnldbl-calls:%=nldbl-%)
 libnldbl-inhibit-o = $(object-suffixes)
 libnldbl-static-only-routines = $(libnldbl-routines)
@@ -151,6 +152,7 @@  CFLAGS-nldbl-log.c = -fno-builtin-logl
 CFLAGS-nldbl-log10.c = -fno-builtin-log10l
 CFLAGS-nldbl-log1p.c = -fno-builtin-log1pl
 CFLAGS-nldbl-log2.c = -fno-builtin-log2l
+CFLAGS-nldbl-log2p1.c = -fno-builtin-log2p1l
 CFLAGS-nldbl-logb.c = -fno-builtin-logbl
 CFLAGS-nldbl-lrint.c = -fno-builtin-lrintl
 CFLAGS-nldbl-lround.c = -fno-builtin-lroundl
diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-log2p1.c b/sysdeps/ieee754/ldbl-opt/nldbl-log2p1.c
new file mode 100644
index 0000000000..989c69e3d7
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-opt/nldbl-log2p1.c
@@ -0,0 +1,8 @@ 
+#include "nldbl-compat.h"
+
+double
+attribute_hidden
+log2p1l (double x)
+{
+  return log2p1 (x);
+}
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index 8f40ddb150..113daa4b44 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1181,3 +1181,11 @@  GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
 GLIBC_2.35 hypot F
 GLIBC_2.35 hypotf F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/mach/hurd/x86_64/libm.abilist b/sysdeps/mach/hurd/x86_64/libm.abilist
index 5c762b937b..0c7ffd4e3f 100644
--- a/sysdeps/mach/hurd/x86_64/libm.abilist
+++ b/sysdeps/mach/hurd/x86_64/libm.abilist
@@ -1038,3 +1038,11 @@  GLIBC_2.38 ynf32x F
 GLIBC_2.38 ynf64 F
 GLIBC_2.38 ynf64x F
 GLIBC_2.38 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile
index fa462339ba..96657c9676 100644
--- a/sysdeps/powerpc/nofpu/Makefile
+++ b/sysdeps/powerpc/nofpu/Makefile
@@ -54,4 +54,5 @@  CFLAGS-s_fmaximum_magl.c += -fno-builtin-fabsl
 CFLAGS-s_fmaximum_mag_numl.c += -fno-builtin-fabsl
 CFLAGS-s_fminimum_magl.c += -fno-builtin-fabsl
 CFLAGS-s_fminimum_mag_numl.c += -fno-builtin-fabsl
+CFLAGS-s_log2p1l.c += -fno-builtin-fabsl
 endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index f0da228fbb..a4bb539670 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1149,3 +1149,11 @@  GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index f5d8023d62..8ff65e3f7e 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1308,3 +1308,11 @@  GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist
index f2169f8f57..af9df2673c 100644
--- a/sysdeps/unix/sysv/linux/arc/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libm.abilist
@@ -757,3 +757,9 @@  GLIBC_2.35 fminimumf64 F
 GLIBC_2.35 fminimuml F
 GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index f020a8a904..0e460259f3 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.4 y1l F
 GLIBC_2.4 yn F
 GLIBC_2.4 ynf F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index f020a8a904..0e460259f3 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.4 y1l F
 GLIBC_2.4 yn F
 GLIBC_2.4 ynf F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/csky/libm.abilist b/sysdeps/unix/sysv/linux/csky/libm.abilist
index 225a5e9b81..4c1216044d 100644
--- a/sysdeps/unix/sysv/linux/csky/libm.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libm.abilist
@@ -823,3 +823,9 @@  GLIBC_2.35 fminimumf64 F
 GLIBC_2.35 fminimuml F
 GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index 450ac03223..3ea5b611eb 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
 GLIBC_2.4 exp2l F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index 5d89aaa08e..696e52e65a 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1188,3 +1188,11 @@  GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
 GLIBC_2.35 hypot F
 GLIBC_2.35 hypotf F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
index b3dbd00001..1c6f02ac5a 100644
--- a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
@@ -1028,3 +1028,11 @@  GLIBC_2.36 ynf32x F
 GLIBC_2.36 ynf64 F
 GLIBC_2.36 ynf64x F
 GLIBC_2.36 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index f020a8a904..0e460259f3 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.4 y1l F
 GLIBC_2.4 yn F
 GLIBC_2.4 ynf F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
index e7cd739a54..be8262bb48 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
@@ -884,3 +884,9 @@  GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
 GLIBC_2.35 hypot F
 GLIBC_2.35 hypotf F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index 1f7f63f60c..cc091b2d4e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index 1f7f63f60c..cc091b2d4e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index 797071aee8..4d442a989d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
 GLIBC_2.4 exp2l F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index 14758703cf..ae7b4a7558 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1149,3 +1149,11 @@  GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist
index c0ebe119dc..9ed3fbdee4 100644
--- a/sysdeps/unix/sysv/linux/nios2/libm.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/or1k/libm.abilist b/sysdeps/unix/sysv/linux/or1k/libm.abilist
index 9d26508ff5..69655f7d23 100644
--- a/sysdeps/unix/sysv/linux/or1k/libm.abilist
+++ b/sysdeps/unix/sysv/linux/or1k/libm.abilist
@@ -757,3 +757,9 @@  GLIBC_2.35 ynf32 F
 GLIBC_2.35 ynf32x F
 GLIBC_2.35 ynf64 F
 GLIBC_2.35 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index 4f88e0af9c..564eb87d4b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -995,3 +995,9 @@  GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
index edc26140dc..a57eedb779 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -994,3 +994,9 @@  GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index 0a8a1433d7..7564069a37 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -988,3 +988,9 @@  GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index 5174d20032..b02a7115af 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1321,3 +1321,12 @@  GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 __log2p1ieee128 F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
index 45ca5c677a..7bf0bd7c7a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
@@ -1028,3 +1028,11 @@  GLIBC_2.35 fminimumf64x F
 GLIBC_2.35 fminimuml F
 GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
index 4838edf991..c22d9bb7c6 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
@@ -1125,3 +1125,11 @@  GLIBC_2.35 fminimumf64x F
 GLIBC_2.35 fminimuml F
 GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index 5ff11fb54f..2fb712ec71 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1252,3 +1252,11 @@  GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 0e246c2c54..40489589a7 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1252,3 +1252,11 @@  GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index 7b43a866e2..a5363e90d6 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
 GLIBC_2.4 exp2l F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index 7b43a866e2..a5363e90d6 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -848,3 +848,9 @@  GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
 GLIBC_2.4 exp2l F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index e3dcf3d4e7..9bda9bdeb5 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1259,3 +1259,11 @@  GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index 20fef20c8b..61d2aa05a9 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1149,3 +1149,11 @@  GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index c1c5c76e26..bbf646fe7f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1182,3 +1182,11 @@  GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index fac219d45a..7c7b884dde 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1182,3 +1182,11 @@  GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 log2p1 F
+GLIBC_2.40 log2p1f F
+GLIBC_2.40 log2p1f128 F
+GLIBC_2.40 log2p1f32 F
+GLIBC_2.40 log2p1f32x F
+GLIBC_2.40 log2p1f64 F
+GLIBC_2.40 log2p1f64x F
+GLIBC_2.40 log2p1l F
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index e0015347d0..893c22b19b 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -1847,6 +1847,30 @@  float: 1
 Function: "log2_vlen8_avx2":
 float: 1
 
+Function: "log2p1":
+double: 1
+float: 1
+float128: 3
+ldouble: 2
+
+Function: "log2p1_downward":
+double: 2
+float: 2
+float128: 3
+ldouble: 4
+
+Function: "log2p1_towardzero":
+double: 2
+float: 2
+float128: 2
+ldouble: 4
+
+Function: "log2p1_upward":
+double: 1
+float: 2
+float128: 2
+ldouble: 5
+
 Function: "log_downward":
 float: 2
 float128: 1