add new inputs that yield larger ulp errors for log2p1 on x86_64

Message ID 20240521141438.598295-1-Paul.Zimmermann@inria.fr (mailing list archive)
State Committed
Delegated to: Maxim Kuvyrkov
Headers
Series add new inputs that yield larger ulp errors for log2p1 on x86_64 |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent
linaro-tcwg-bot/tcwg_glibc_build--master-arm success Testing passed
redhat-pt-bot/TryBot-32bit fail Patch caused testsuite regressions
linaro-tcwg-bot/tcwg_glibc_check--master-arm fail Testing failed
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 fail Testing failed

Commit Message

Paul Zimmermann May 21, 2024, 2:14 p.m. UTC
  ---
 math/auto-libm-test-in            |   5 +
 math/auto-libm-test-out-log2p1    | 340 ++++++++++++++++++++++++++++++
 sysdeps/x86_64/fpu/libm-test-ulps |  10 +-
 3 files changed, 350 insertions(+), 5 deletions(-)
  

Comments

Adhemerval Zanella June 25, 2024, 1:20 p.m. UTC | #1
The new tests seems ok, but on my environment (gcc version 14.1.1, AMD Ryzen 9 5900X)
I see some additional ulps:

FAIL: math/test-float64x-log2p1
FAIL: math/test-ldouble-log2p1

$ cat math/test-ldouble-log2p1.out
testing long double (without inline functions)
Failure: Test: log2p1 (0x5.dda3a1f4c4020ebp-4)
Result:
 is:          4.50602782011001241062e-01   0xe.6b56868729ec0e10p-5
 should be:   4.50602782011001240953e-01   0xe.6b56868729ec0dd0p-5
 difference:  1.08420217248550443401e-19   0x8.0000000000000000p-66
 ulp       :  4.0000
 max.ulp   :  3.0000
Maximal error of `log2p1'
 is      : 4 ulp
 accepted: 3 ulp

Test suite completed:
  4 max error test cases,
  548 input tests,
  - with 2200 tests for exception flags,
  - with 524 tests for errno executed.
  2 errors occurred.

So maybe update the patch to avoid additional changes.

On 21/05/24 11:14, Paul Zimmermann wrote:
> ---
>  math/auto-libm-test-in            |   5 +
>  math/auto-libm-test-out-log2p1    | 340 ++++++++++++++++++++++++++++++
>  sysdeps/x86_64/fpu/libm-test-ulps |  10 +-
>  3 files changed, 350 insertions(+), 5 deletions(-)
> 
> diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
> index 8982338b3a..85ff2fb932 100644
> --- a/math/auto-libm-test-in
> +++ b/math/auto-libm-test-in
> @@ -6697,6 +6697,11 @@ log2p1 0x1p100
>  log2p1 0x1p1000
>  log2p1 0x6.a0cf42befce9ed4085ef59254b48p-4
>  log2p1 max
> +# the following inputs yield large errors on x86_64
> +log2p1 0x1.a69b4ap-2
> +log2p1 0x1.a7b725780ff2cp-2
> +log2p1 0x5.dda3a1f4c4020ebp-4
> +log2p1 -0x7.fff3a57fdd2666bcecba33bd89f4p-4
>  
>  log2p1 0x7.2a4368p-4
>  log2p1 0x6.d3a118p-4
> diff --git a/math/auto-libm-test-out-log2p1 b/math/auto-libm-test-out-log2p1
> index c8ec972d6f..5996315418 100644
> --- a/math/auto-libm-test-out-log2p1
> +++ b/math/auto-libm-test-out-log2p1
> @@ -1439,6 +1439,346 @@ log2p1 max
>  = 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 0x1.a69b4ap-2
> += log2p1 downward binary32 0x6.9a6d28p-4 : 0x7.f9adfp-4 : inexact-ok
> += log2p1 tonearest binary32 0x6.9a6d28p-4 : 0x7.f9adf8p-4 : inexact-ok
> += log2p1 towardzero binary32 0x6.9a6d28p-4 : 0x7.f9adfp-4 : inexact-ok
> += log2p1 upward binary32 0x6.9a6d28p-4 : 0x7.f9adf8p-4 : inexact-ok
> += log2p1 downward binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a88p-4 : inexact-ok
> += log2p1 tonearest binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a88p-4 : inexact-ok
> += log2p1 towardzero binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a88p-4 : inexact-ok
> += log2p1 upward binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a8cp-4 : inexact-ok
> += log2p1 downward intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
> += log2p1 tonearest intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
> += log2p1 towardzero intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
> += log2p1 upward intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
> += log2p1 downward m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
> += log2p1 tonearest m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
> += log2p1 towardzero m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
> += log2p1 upward m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
> += log2p1 downward binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02544p-4 : inexact-ok
> += log2p1 tonearest binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02544p-4 : inexact-ok
> += log2p1 towardzero binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02544p-4 : inexact-ok
> += log2p1 upward binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02548p-4 : inexact-ok
> += log2p1 downward ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b024p-4 : inexact-ok
> += log2p1 tonearest ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b026p-4 : inexact-ok
> += log2p1 towardzero ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b024p-4 : inexact-ok
> += log2p1 upward ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b026p-4 : inexact-ok
> +log2p1 0x1.a7b725780ff2cp-2
> += log2p1 downward binary32 0x6.9edc98p-4 : 0x7.fe351p-4 : inexact-ok
> += log2p1 tonearest binary32 0x6.9edc98p-4 : 0x7.fe351p-4 : inexact-ok
> += log2p1 towardzero binary32 0x6.9edc98p-4 : 0x7.fe351p-4 : inexact-ok
> += log2p1 upward binary32 0x6.9edc98p-4 : 0x7.fe3518p-4 : inexact-ok
> += log2p1 downward binary64 0x6.9edc98p-4 : 0x7.fe35109dc38fcp-4 : inexact-ok
> += log2p1 tonearest binary64 0x6.9edc98p-4 : 0x7.fe35109dc38fcp-4 : inexact-ok
> += log2p1 towardzero binary64 0x6.9edc98p-4 : 0x7.fe35109dc38fcp-4 : inexact-ok
> += log2p1 upward binary64 0x6.9edc98p-4 : 0x7.fe35109dc39p-4 : inexact-ok
> += log2p1 downward intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
> += log2p1 tonearest intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
> += log2p1 towardzero intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
> += log2p1 upward intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
> += log2p1 downward m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
> += log2p1 tonearest m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
> += log2p1 towardzero m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
> += log2p1 upward m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
> += log2p1 downward binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194664p-4 : inexact-ok
> += log2p1 tonearest binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194664p-4 : inexact-ok
> += log2p1 towardzero binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194664p-4 : inexact-ok
> += log2p1 upward binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194668p-4 : inexact-ok
> += log2p1 downward ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91946p-4 : inexact-ok
> += log2p1 tonearest ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91946p-4 : inexact-ok
> += log2p1 towardzero ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91946p-4 : inexact-ok
> += log2p1 upward ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91948p-4 : inexact-ok
> += log2p1 downward binary32 0x6.9edc9p-4 : 0x7.fe3508p-4 : inexact-ok
> += log2p1 tonearest binary32 0x6.9edc9p-4 : 0x7.fe3508p-4 : inexact-ok
> += log2p1 towardzero binary32 0x6.9edc9p-4 : 0x7.fe3508p-4 : inexact-ok
> += log2p1 upward binary32 0x6.9edc9p-4 : 0x7.fe351p-4 : inexact-ok
> += log2p1 downward binary64 0x6.9edc9p-4 : 0x7.fe350873e267p-4 : inexact-ok
> += log2p1 tonearest binary64 0x6.9edc9p-4 : 0x7.fe350873e2674p-4 : inexact-ok
> += log2p1 towardzero binary64 0x6.9edc9p-4 : 0x7.fe350873e267p-4 : inexact-ok
> += log2p1 upward binary64 0x6.9edc9p-4 : 0x7.fe350873e2674p-4 : inexact-ok
> += log2p1 downward intel96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
> += log2p1 tonearest intel96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
> += log2p1 towardzero intel96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
> += log2p1 upward intel96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
> += log2p1 downward m68k96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
> += log2p1 tonearest m68k96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
> += log2p1 towardzero m68k96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
> += log2p1 upward m68k96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
> += log2p1 downward binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d04p-4 : inexact-ok
> += log2p1 tonearest binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d04p-4 : inexact-ok
> += log2p1 towardzero binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d04p-4 : inexact-ok
> += log2p1 upward binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d08p-4 : inexact-ok
> += log2p1 downward ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170cp-4 : inexact-ok
> += log2p1 tonearest ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170ep-4 : inexact-ok
> += log2p1 towardzero ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170cp-4 : inexact-ok
> += log2p1 upward ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170ep-4 : inexact-ok
> += log2p1 downward binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4dap-4 : inexact-ok
> += log2p1 tonearest binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da4p-4 : inexact-ok
> += log2p1 towardzero binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4dap-4 : inexact-ok
> += log2p1 upward binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da4p-4 : inexact-ok
> += log2p1 downward intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
> += log2p1 tonearest intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
> += log2p1 towardzero intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
> += log2p1 upward intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
> += log2p1 downward m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
> += log2p1 tonearest m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
> += log2p1 towardzero m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
> += log2p1 upward m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
> += log2p1 downward binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613f8p-4 : inexact-ok
> += log2p1 tonearest binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613fcp-4 : inexact-ok
> += log2p1 towardzero binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613f8p-4 : inexact-ok
> += log2p1 upward binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613fcp-4 : inexact-ok
> += log2p1 downward ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd612p-4 : inexact-ok
> += log2p1 tonearest ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd614p-4 : inexact-ok
> += log2p1 towardzero ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd612p-4 : inexact-ok
> += log2p1 upward ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd614p-4 : inexact-ok
> +log2p1 0x5.dda3a1f4c4020ebp-4
> += log2p1 downward binary32 0x5.dda3a8p-4 : 0x7.35ab48p-4 : inexact-ok
> += log2p1 tonearest binary32 0x5.dda3a8p-4 : 0x7.35ab48p-4 : inexact-ok
> += log2p1 towardzero binary32 0x5.dda3a8p-4 : 0x7.35ab48p-4 : inexact-ok
> += log2p1 upward binary32 0x5.dda3a8p-4 : 0x7.35ab5p-4 : inexact-ok
> += log2p1 downward binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be4p-4 : inexact-ok
> += log2p1 tonearest binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be8p-4 : inexact-ok
> += log2p1 towardzero binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be4p-4 : inexact-ok
> += log2p1 upward binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be8p-4 : inexact-ok
> += log2p1 downward intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
> += log2p1 tonearest intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
> += log2p1 towardzero intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
> += log2p1 upward intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
> += log2p1 downward m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
> += log2p1 tonearest m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
> += log2p1 towardzero m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
> += log2p1 upward m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
> += log2p1 downward binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde74p-4 : inexact-ok
> += log2p1 tonearest binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde74p-4 : inexact-ok
> += log2p1 towardzero binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde74p-4 : inexact-ok
> += log2p1 upward binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde78p-4 : inexact-ok
> += log2p1 downward ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacddep-4 : inexact-ok
> += log2p1 tonearest ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacddep-4 : inexact-ok
> += log2p1 towardzero ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacddep-4 : inexact-ok
> += log2p1 upward ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdep-4 : inexact-ok
> += log2p1 downward binary32 0x5.dda3ap-4 : 0x7.35ab4p-4 : inexact-ok
> += log2p1 tonearest binary32 0x5.dda3ap-4 : 0x7.35ab4p-4 : inexact-ok
> += log2p1 towardzero binary32 0x5.dda3ap-4 : 0x7.35ab4p-4 : inexact-ok
> += log2p1 upward binary32 0x5.dda3ap-4 : 0x7.35ab48p-4 : inexact-ok
> += log2p1 downward binary64 0x5.dda3ap-4 : 0x7.35ab4132efd7cp-4 : inexact-ok
> += log2p1 tonearest binary64 0x5.dda3ap-4 : 0x7.35ab4132efd7cp-4 : inexact-ok
> += log2p1 towardzero binary64 0x5.dda3ap-4 : 0x7.35ab4132efd7cp-4 : inexact-ok
> += log2p1 upward binary64 0x5.dda3ap-4 : 0x7.35ab4132efd8p-4 : inexact-ok
> += log2p1 downward intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
> += log2p1 tonearest intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
> += log2p1 towardzero intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
> += log2p1 upward intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
> += log2p1 downward m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
> += log2p1 tonearest m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
> += log2p1 towardzero m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
> += log2p1 upward m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
> += log2p1 downward binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d98p-4 : inexact-ok
> += log2p1 tonearest binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d9cp-4 : inexact-ok
> += log2p1 towardzero binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d98p-4 : inexact-ok
> += log2p1 upward binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d9cp-4 : inexact-ok
> += log2p1 downward ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38cp-4 : inexact-ok
> += log2p1 tonearest ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38ep-4 : inexact-ok
> += log2p1 towardzero ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38cp-4 : inexact-ok
> += log2p1 upward ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38ep-4 : inexact-ok
> += log2p1 downward binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f6p-4 : inexact-ok
> += log2p1 tonearest binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f64p-4 : inexact-ok
> += log2p1 towardzero binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f6p-4 : inexact-ok
> += log2p1 upward binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f64p-4 : inexact-ok
> += log2p1 downward intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
> += log2p1 tonearest intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
> += log2p1 towardzero intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
> += log2p1 upward intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
> += log2p1 downward m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
> += log2p1 tonearest m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
> += log2p1 towardzero m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
> += log2p1 upward m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
> += log2p1 downward binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f8509905p-4 : inexact-ok
> += log2p1 tonearest binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099054p-4 : inexact-ok
> += log2p1 towardzero binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f8509905p-4 : inexact-ok
> += log2p1 upward binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099054p-4 : inexact-ok
> += log2p1 downward ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099p-4 : inexact-ok
> += log2p1 tonearest ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099p-4 : inexact-ok
> += log2p1 towardzero ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099p-4 : inexact-ok
> += log2p1 upward ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f850992p-4 : inexact-ok
> += log2p1 downward binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5cp-4 : inexact-ok
> += log2p1 tonearest binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f6p-4 : inexact-ok
> += log2p1 towardzero binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5cp-4 : inexact-ok
> += log2p1 upward binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f6p-4 : inexact-ok
> += log2p1 downward intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
> += log2p1 tonearest intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
> += log2p1 towardzero intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
> += log2p1 upward intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
> += log2p1 downward m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
> += log2p1 tonearest m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
> += log2p1 towardzero m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
> += log2p1 upward m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
> += log2p1 downward binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc4p-4 : inexact-ok
> += log2p1 tonearest binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc4p-4 : inexact-ok
> += log2p1 towardzero binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc4p-4 : inexact-ok
> += log2p1 upward binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc8p-4 : inexact-ok
> += log2p1 downward ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cp-4 : inexact-ok
> += log2p1 tonearest ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cp-4 : inexact-ok
> += log2p1 towardzero ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cp-4 : inexact-ok
> += log2p1 upward ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53ep-4 : inexact-ok
> += log2p1 downward intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
> += log2p1 tonearest intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
> += log2p1 towardzero intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
> += log2p1 upward intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
> += log2p1 downward m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
> += log2p1 tonearest m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
> += log2p1 towardzero m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
> += log2p1 upward m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
> += log2p1 downward binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3fp-4 : inexact-ok
> += log2p1 tonearest binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3f04p-4 : inexact-ok
> += log2p1 towardzero binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3fp-4 : inexact-ok
> += log2p1 upward binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3f04p-4 : inexact-ok
> += log2p1 downward ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3ep-4 : inexact-ok
> += log2p1 tonearest ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a4p-4 : inexact-ok
> += log2p1 towardzero ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3ep-4 : inexact-ok
> += log2p1 upward ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a4p-4 : inexact-ok
> +log2p1 -0x7.fff3a57fdd2666bcecba33bd89f4p-4
> += log2p1 downward binary32 -0x7.fff3ap-4 : -0xf.ffdc5p-4 : inexact-ok
> += log2p1 tonearest binary32 -0x7.fff3ap-4 : -0xf.ffdc5p-4 : inexact-ok
> += log2p1 towardzero binary32 -0x7.fff3ap-4 : -0xf.ffdc4p-4 : inexact-ok
> += log2p1 upward binary32 -0x7.fff3ap-4 : -0xf.ffdc4p-4 : inexact-ok
> += log2p1 downward binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d52p-4 : inexact-ok
> += log2p1 tonearest binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d518p-4 : inexact-ok
> += log2p1 towardzero binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d518p-4 : inexact-ok
> += log2p1 upward binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d518p-4 : inexact-ok
> += log2p1 downward intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189bp-4 : inexact-ok
> += log2p1 tonearest intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
> += log2p1 towardzero intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
> += log2p1 upward intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
> += log2p1 downward m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189bp-4 : inexact-ok
> += log2p1 tonearest m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
> += log2p1 towardzero m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
> += log2p1 upward m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
> += log2p1 downward binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad68p-4 : inexact-ok
> += log2p1 tonearest binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad6p-4 : inexact-ok
> += log2p1 towardzero binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad6p-4 : inexact-ok
> += log2p1 upward binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad6p-4 : inexact-ok
> += log2p1 downward ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cbp-4 : inexact-ok
> += log2p1 tonearest ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cacp-4 : inexact-ok
> += log2p1 towardzero ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cacp-4 : inexact-ok
> += log2p1 upward ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cacp-4 : inexact-ok
> += log2p1 downward binary32 -0x7.fff3a8p-4 : -0xf.ffdc7p-4 : inexact-ok
> += log2p1 tonearest binary32 -0x7.fff3a8p-4 : -0xf.ffdc6p-4 : inexact-ok
> += log2p1 towardzero binary32 -0x7.fff3a8p-4 : -0xf.ffdc6p-4 : inexact-ok
> += log2p1 upward binary32 -0x7.fff3a8p-4 : -0xf.ffdc6p-4 : inexact-ok
> += log2p1 downward binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510ep-4 : inexact-ok
> += log2p1 tonearest binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8p-4 : inexact-ok
> += log2p1 towardzero binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8p-4 : inexact-ok
> += log2p1 upward binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8p-4 : inexact-ok
> += log2p1 downward intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c8p-4 : inexact-ok
> += log2p1 tonearest intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
> += log2p1 towardzero intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
> += log2p1 upward intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
> += log2p1 downward m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c8p-4 : inexact-ok
> += log2p1 tonearest m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
> += log2p1 towardzero m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
> += log2p1 upward m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
> += log2p1 downward binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb5p-4 : inexact-ok
> += log2p1 tonearest binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb48p-4 : inexact-ok
> += log2p1 towardzero binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb48p-4 : inexact-ok
> += log2p1 upward binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb48p-4 : inexact-ok
> += log2p1 downward ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bcp-4 : inexact-ok
> += log2p1 tonearest ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bcp-4 : inexact-ok
> += log2p1 towardzero ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4b8p-4 : inexact-ok
> += log2p1 upward ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4b8p-4 : inexact-ok
> += log2p1 downward binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f51528p-4 : inexact-ok
> += log2p1 tonearest binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152p-4 : inexact-ok
> += log2p1 towardzero binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152p-4 : inexact-ok
> += log2p1 upward binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152p-4 : inexact-ok
> += log2p1 downward intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
> += log2p1 tonearest intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
> += log2p1 towardzero intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
> += log2p1 upward intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
> += log2p1 downward m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
> += log2p1 tonearest m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
> += log2p1 towardzero m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
> += log2p1 upward m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
> += log2p1 downward binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a87p-4 : inexact-ok
> += log2p1 tonearest binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a87p-4 : inexact-ok
> += log2p1 towardzero binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a868p-4 : inexact-ok
> += log2p1 upward binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a868p-4 : inexact-ok
> += log2p1 downward ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372acp-4 : inexact-ok
> += log2p1 tonearest ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a8p-4 : inexact-ok
> += log2p1 towardzero ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a8p-4 : inexact-ok
> += log2p1 upward ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a8p-4 : inexact-ok
> += log2p1 downward binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5153p-4 : inexact-ok
> += log2p1 tonearest binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5153p-4 : inexact-ok
> += log2p1 towardzero binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f51528p-4 : inexact-ok
> += log2p1 upward binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f51528p-4 : inexact-ok
> += log2p1 downward intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea3p-4 : inexact-ok
> += log2p1 tonearest intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
> += log2p1 towardzero intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
> += log2p1 upward intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
> += log2p1 downward m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea3p-4 : inexact-ok
> += log2p1 tonearest m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
> += log2p1 towardzero m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
> += log2p1 upward m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
> += log2p1 downward binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea06p-4 : inexact-ok
> += log2p1 tonearest binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea058p-4 : inexact-ok
> += log2p1 towardzero binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea058p-4 : inexact-ok
> += log2p1 upward binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea058p-4 : inexact-ok
> += log2p1 downward ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea4p-4 : inexact-ok
> += log2p1 tonearest ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363eap-4 : inexact-ok
> += log2p1 towardzero ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363eap-4 : inexact-ok
> += log2p1 upward ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363eap-4 : inexact-ok
> += log2p1 downward intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
> += log2p1 tonearest intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
> += log2p1 towardzero intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
> += log2p1 upward intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
> += log2p1 downward m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
> += log2p1 tonearest m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
> += log2p1 towardzero m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
> += log2p1 upward m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
> += log2p1 downward binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd6p-4 : inexact-ok
> += log2p1 tonearest binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd58p-4 : inexact-ok
> += log2p1 towardzero binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd58p-4 : inexact-ok
> += log2p1 upward binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd58p-4 : inexact-ok
> += log2p1 downward ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655ddp-4 : inexact-ok
> += log2p1 tonearest ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dccp-4 : inexact-ok
> += log2p1 towardzero ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dccp-4 : inexact-ok
> += log2p1 upward ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dccp-4 : inexact-ok
> += log2p1 downward intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
> += log2p1 tonearest intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
> += log2p1 towardzero intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
> += log2p1 upward intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
> += log2p1 downward m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
> += log2p1 tonearest m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
> += log2p1 towardzero m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
> += log2p1 upward m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
> += log2p1 downward binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426ep-4 : inexact-ok
> += log2p1 tonearest binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426d8p-4 : inexact-ok
> += log2p1 towardzero binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426d8p-4 : inexact-ok
> += log2p1 upward binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426d8p-4 : inexact-ok
> += log2p1 downward ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b428p-4 : inexact-ok
> += log2p1 tonearest ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b428p-4 : inexact-ok
> += log2p1 towardzero ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b424p-4 : inexact-ok
> += log2p1 upward ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b424p-4 : inexact-ok
> += log2p1 downward binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaa8p-4 : inexact-ok
> += log2p1 tonearest binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaap-4 : inexact-ok
> += log2p1 towardzero binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaap-4 : inexact-ok
> += log2p1 upward binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaap-4 : inexact-ok
> += log2p1 downward binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc508p-4 : inexact-ok
> += log2p1 tonearest binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc5p-4 : inexact-ok
> += log2p1 towardzero binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc5p-4 : inexact-ok
> += log2p1 upward binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc5p-4 : inexact-ok
> += log2p1 downward ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc8p-4 : inexact-ok
> += log2p1 tonearest ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc4p-4 : inexact-ok
> += log2p1 towardzero ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc4p-4 : inexact-ok
> += log2p1 upward ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc4p-4 : inexact-ok
> += log2p1 downward binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcac8p-4 : inexact-ok
> += log2p1 tonearest binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcac8p-4 : inexact-ok
> += log2p1 towardzero binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcacp-4 : inexact-ok
> += log2p1 upward binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcacp-4 : inexact-ok
> += log2p1 downward ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbccp-4 : inexact-ok
> += log2p1 tonearest ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbccp-4 : inexact-ok
> += log2p1 towardzero ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbc8p-4 : inexact-ok
> += log2p1 upward ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbc8p-4 : 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
> diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
> index 893c22b19b..d6a9eb4d6a 100644
> --- a/sysdeps/x86_64/fpu/libm-test-ulps
> +++ b/sysdeps/x86_64/fpu/libm-test-ulps
> @@ -1848,10 +1848,10 @@ Function: "log2_vlen8_avx2":
>  float: 1
>  
>  Function: "log2p1":
> -double: 1
> -float: 1
> +double: 2
> +float: 2
>  float128: 3
> -ldouble: 2
> +ldouble: 3
>  
>  Function: "log2p1_downward":
>  double: 2
> @@ -1866,9 +1866,9 @@ float128: 2
>  ldouble: 4
>  
>  Function: "log2p1_upward":
> -double: 1
> +double: 2
>  float: 2
> -float128: 2
> +float128: 3
>  ldouble: 5
>  
>  Function: "log_downward":
  
Paul Zimmermann June 25, 2024, 3:04 p.m. UTC | #2
thank you Adhemerval for your review, here is a v2.

Paul

PS: in case this patch is accepted, I guess we should only apply it in 2.41,
to avoid ulp updates just before the 2.40 release.
  
Adhemerval Zanella June 25, 2024, 3:19 p.m. UTC | #3
On 25/06/24 12:04, Paul Zimmermann wrote:
> thank you Adhemerval for your review, here is a v2.
> 
> Paul
> 
> PS: in case this patch is accepted, I guess we should only apply it in 2.41,
> to avoid ulp updates just before the 2.40 release.

The v2 LGTM and it sounds good to me to postpone to 2.41.
  

Patch

diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in
index 8982338b3a..85ff2fb932 100644
--- a/math/auto-libm-test-in
+++ b/math/auto-libm-test-in
@@ -6697,6 +6697,11 @@  log2p1 0x1p100
 log2p1 0x1p1000
 log2p1 0x6.a0cf42befce9ed4085ef59254b48p-4
 log2p1 max
+# the following inputs yield large errors on x86_64
+log2p1 0x1.a69b4ap-2
+log2p1 0x1.a7b725780ff2cp-2
+log2p1 0x5.dda3a1f4c4020ebp-4
+log2p1 -0x7.fff3a57fdd2666bcecba33bd89f4p-4
 
 log2p1 0x7.2a4368p-4
 log2p1 0x6.d3a118p-4
diff --git a/math/auto-libm-test-out-log2p1 b/math/auto-libm-test-out-log2p1
index c8ec972d6f..5996315418 100644
--- a/math/auto-libm-test-out-log2p1
+++ b/math/auto-libm-test-out-log2p1
@@ -1439,6 +1439,346 @@  log2p1 max
 = 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 0x1.a69b4ap-2
+= log2p1 downward binary32 0x6.9a6d28p-4 : 0x7.f9adfp-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.9a6d28p-4 : 0x7.f9adf8p-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.9a6d28p-4 : 0x7.f9adfp-4 : inexact-ok
+= log2p1 upward binary32 0x6.9a6d28p-4 : 0x7.f9adf8p-4 : inexact-ok
+= log2p1 downward binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a88p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a88p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a88p-4 : inexact-ok
+= log2p1 upward binary64 0x6.9a6d28p-4 : 0x7.f9adf705b1a8cp-4 : inexact-ok
+= log2p1 downward intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
+= log2p1 upward intel96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a887p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.9a6d28p-4 : 0x7.f9adf705b1a88708p-4 : inexact-ok
+= log2p1 downward binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02544p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02544p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02544p-4 : inexact-ok
+= log2p1 upward binary128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b02548p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b024p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b026p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b024p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.9a6d28p-4 : 0x7.f9adf705b1a8870743c5e1b026p-4 : inexact-ok
+log2p1 0x1.a7b725780ff2cp-2
+= log2p1 downward binary32 0x6.9edc98p-4 : 0x7.fe351p-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.9edc98p-4 : 0x7.fe351p-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.9edc98p-4 : 0x7.fe351p-4 : inexact-ok
+= log2p1 upward binary32 0x6.9edc98p-4 : 0x7.fe3518p-4 : inexact-ok
+= log2p1 downward binary64 0x6.9edc98p-4 : 0x7.fe35109dc38fcp-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.9edc98p-4 : 0x7.fe35109dc38fcp-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.9edc98p-4 : 0x7.fe35109dc38fcp-4 : inexact-ok
+= log2p1 upward binary64 0x6.9edc98p-4 : 0x7.fe35109dc39p-4 : inexact-ok
+= log2p1 downward intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
+= log2p1 upward intel96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc32p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.9edc98p-4 : 0x7.fe35109dc38fc328p-4 : inexact-ok
+= log2p1 downward binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194664p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194664p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194664p-4 : inexact-ok
+= log2p1 upward binary128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e9194668p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91946p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91946p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91946p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.9edc98p-4 : 0x7.fe35109dc38fc3250574e91948p-4 : inexact-ok
+= log2p1 downward binary32 0x6.9edc9p-4 : 0x7.fe3508p-4 : inexact-ok
+= log2p1 tonearest binary32 0x6.9edc9p-4 : 0x7.fe3508p-4 : inexact-ok
+= log2p1 towardzero binary32 0x6.9edc9p-4 : 0x7.fe3508p-4 : inexact-ok
+= log2p1 upward binary32 0x6.9edc9p-4 : 0x7.fe351p-4 : inexact-ok
+= log2p1 downward binary64 0x6.9edc9p-4 : 0x7.fe350873e267p-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.9edc9p-4 : 0x7.fe350873e2674p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.9edc9p-4 : 0x7.fe350873e267p-4 : inexact-ok
+= log2p1 upward binary64 0x6.9edc9p-4 : 0x7.fe350873e2674p-4 : inexact-ok
+= log2p1 downward intel96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
+= log2p1 upward intel96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.9edc9p-4 : 0x7.fe350873e267306p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.9edc9p-4 : 0x7.fe350873e2673068p-4 : inexact-ok
+= log2p1 downward binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d04p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d04p-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d04p-4 : inexact-ok
+= log2p1 upward binary128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170d08p-4 : inexact-ok
+= log2p1 downward ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170ep-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170cp-4 : inexact-ok
+= log2p1 upward ibm128 0x6.9edc9p-4 : 0x7.fe350873e2673065341a8d170ep-4 : inexact-ok
+= log2p1 downward binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4dap-4 : inexact-ok
+= log2p1 tonearest binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da4p-4 : inexact-ok
+= log2p1 towardzero binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4dap-4 : inexact-ok
+= log2p1 upward binary64 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da4p-4 : inexact-ok
+= log2p1 downward intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
+= log2p1 tonearest intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
+= log2p1 towardzero intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
+= log2p1 upward intel96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
+= log2p1 downward m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da3808p-4 : inexact-ok
+= log2p1 upward m68k96 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da381p-4 : inexact-ok
+= log2p1 downward binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613f8p-4 : inexact-ok
+= log2p1 tonearest binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613fcp-4 : inexact-ok
+= log2p1 towardzero binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613f8p-4 : inexact-ok
+= log2p1 upward binary128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd613fcp-4 : inexact-ok
+= log2p1 downward ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd612p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd614p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd612p-4 : inexact-ok
+= log2p1 upward ibm128 0x6.9edc95e03fcbp-4 : 0x7.fe350e72e4da380c30e23bd614p-4 : inexact-ok
+log2p1 0x5.dda3a1f4c4020ebp-4
+= log2p1 downward binary32 0x5.dda3a8p-4 : 0x7.35ab48p-4 : inexact-ok
+= log2p1 tonearest binary32 0x5.dda3a8p-4 : 0x7.35ab48p-4 : inexact-ok
+= log2p1 towardzero binary32 0x5.dda3a8p-4 : 0x7.35ab48p-4 : inexact-ok
+= log2p1 upward binary32 0x5.dda3a8p-4 : 0x7.35ab5p-4 : inexact-ok
+= log2p1 downward binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be4p-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be8p-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be4p-4 : inexact-ok
+= log2p1 upward binary64 0x5.dda3a8p-4 : 0x7.35ab49a4f4be8p-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be745p-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3a8p-4 : 0x7.35ab49a4f4be7458p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde74p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde74p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde74p-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdde78p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacddep-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacddep-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacddep-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3a8p-4 : 0x7.35ab49a4f4be74564ad9aacdep-4 : inexact-ok
+= log2p1 downward binary32 0x5.dda3ap-4 : 0x7.35ab4p-4 : inexact-ok
+= log2p1 tonearest binary32 0x5.dda3ap-4 : 0x7.35ab4p-4 : inexact-ok
+= log2p1 towardzero binary32 0x5.dda3ap-4 : 0x7.35ab4p-4 : inexact-ok
+= log2p1 upward binary32 0x5.dda3ap-4 : 0x7.35ab48p-4 : inexact-ok
+= log2p1 downward binary64 0x5.dda3ap-4 : 0x7.35ab4132efd7cp-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.dda3ap-4 : 0x7.35ab4132efd7cp-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.dda3ap-4 : 0x7.35ab4132efd7cp-4 : inexact-ok
+= log2p1 upward binary64 0x5.dda3ap-4 : 0x7.35ab4132efd8p-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8ep-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e8p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d98p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d9cp-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d98p-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38d9cp-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38ep-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38cp-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3ap-4 : 0x7.35ab4132efd7c8e78316d2c38ep-4 : inexact-ok
+= log2p1 downward binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f6p-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f64p-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f6p-4 : inexact-ok
+= log2p1 upward binary64 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f64p-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63afp-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af8p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f8509905p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099054p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f8509905p-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099054p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099p-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f85099p-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3a1f4c4024p-4 : 0x7.35ab434394f63af6724f850992p-4 : inexact-ok
+= log2p1 downward binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5cp-4 : inexact-ok
+= log2p1 tonearest binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f6p-4 : inexact-ok
+= log2p1 towardzero binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5cp-4 : inexact-ok
+= log2p1 upward binary64 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f6p-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f76p-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f768p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc4p-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc4p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc4p-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cc8p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cp-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cp-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53cp-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3a1f4c402p-4 : 0x7.35ab434394f5f7664b13d8d53ep-4 : inexact-ok
+= log2p1 downward intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
+= log2p1 tonearest intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
+= log2p1 towardzero intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
+= log2p1 upward intel96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
+= log2p1 downward m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
+= log2p1 tonearest m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
+= log2p1 towardzero m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606ep-4 : inexact-ok
+= log2p1 upward m68k96 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e8p-4 : inexact-ok
+= log2p1 downward binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3fp-4 : inexact-ok
+= log2p1 tonearest binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3f04p-4 : inexact-ok
+= log2p1 towardzero binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3fp-4 : inexact-ok
+= log2p1 upward binary128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3f04p-4 : inexact-ok
+= log2p1 downward ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3ep-4 : inexact-ok
+= log2p1 tonearest ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a4p-4 : inexact-ok
+= log2p1 towardzero ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a3ep-4 : inexact-ok
+= log2p1 upward ibm128 0x5.dda3a1f4c4020ebp-4 : 0x7.35ab434394f606e7a014ca9a4p-4 : inexact-ok
+log2p1 -0x7.fff3a57fdd2666bcecba33bd89f4p-4
+= log2p1 downward binary32 -0x7.fff3ap-4 : -0xf.ffdc5p-4 : inexact-ok
+= log2p1 tonearest binary32 -0x7.fff3ap-4 : -0xf.ffdc5p-4 : inexact-ok
+= log2p1 towardzero binary32 -0x7.fff3ap-4 : -0xf.ffdc4p-4 : inexact-ok
+= log2p1 upward binary32 -0x7.fff3ap-4 : -0xf.ffdc4p-4 : inexact-ok
+= log2p1 downward binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d52p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d518p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d518p-4 : inexact-ok
+= log2p1 upward binary64 -0x7.fff3ap-4 : -0xf.ffdc4b312d518p-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189bp-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189bp-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189ap-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad68p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad6p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad6p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cad6p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cbp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cacp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cacp-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3ap-4 : -0xf.ffdc4b312d5189a5b749e26cacp-4 : inexact-ok
+= log2p1 downward binary32 -0x7.fff3a8p-4 : -0xf.ffdc7p-4 : inexact-ok
+= log2p1 tonearest binary32 -0x7.fff3a8p-4 : -0xf.ffdc6p-4 : inexact-ok
+= log2p1 towardzero binary32 -0x7.fff3a8p-4 : -0xf.ffdc6p-4 : inexact-ok
+= log2p1 upward binary32 -0x7.fff3a8p-4 : -0xf.ffdc6p-4 : inexact-ok
+= log2p1 downward binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510ep-4 : inexact-ok
+= log2p1 tonearest binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8p-4 : inexact-ok
+= log2p1 upward binary64 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8p-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c8p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c8p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c7p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb5p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb48p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb48p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bb48p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bcp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4bcp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4b8p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a8p-4 : -0xf.ffdc6246510d8c73c0f874f4b8p-4 : inexact-ok
+= log2p1 downward binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f51528p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152p-4 : inexact-ok
+= log2p1 upward binary64 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152p-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152318p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a87p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a87p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a868p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a868p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372acp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a8p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a8p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd264p-4 : -0xf.ffdc5b0f5152317b50908372a8p-4 : inexact-ok
+= log2p1 downward binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5153p-4 : inexact-ok
+= log2p1 tonearest binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5153p-4 : inexact-ok
+= log2p1 towardzero binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f51528p-4 : inexact-ok
+= log2p1 upward binary64 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f51528p-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea3p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea3p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea2p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea06p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea058p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea058p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea058p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363ea4p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363eap-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363eap-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd268p-4 : -0xf.ffdc5b0f5152ea246e93363eap-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a13p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd6p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd58p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd58p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dcd58p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655ddp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dccp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dccp-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd2666b8p-4 : -0xf.ffdc5b0f5152a132a098655dccp-4 : inexact-ok
+= log2p1 downward intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
+= log2p1 tonearest intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
+= log2p1 towardzero intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 upward intel96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 downward m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
+= log2p1 tonearest m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a15p-4 : inexact-ok
+= log2p1 towardzero m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 upward m68k96 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a14p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426ep-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426d8p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426d8p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b426d8p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b428p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b428p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b424p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd2666cp-4 : -0xf.ffdc5b0f5152a149b5bc25b424p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaa8p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaap-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaap-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666bcecba33bd89f4p-4 : -0xf.ffdc5b0f5152a140d63324fbcaap-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc508p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc5p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc5p-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc5p-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc8p-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc4p-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc4p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd2666bcecba33bd88p-4 : -0xf.ffdc5b0f5152a140d63324fbc4p-4 : inexact-ok
+= log2p1 downward binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcac8p-4 : inexact-ok
+= log2p1 tonearest binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcac8p-4 : inexact-ok
+= log2p1 towardzero binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcacp-4 : inexact-ok
+= log2p1 upward binary128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbcacp-4 : inexact-ok
+= log2p1 downward ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbccp-4 : inexact-ok
+= log2p1 tonearest ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbccp-4 : inexact-ok
+= log2p1 towardzero ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbc8p-4 : inexact-ok
+= log2p1 upward ibm128 -0x7.fff3a57fdd2666bcecba33bd8ap-4 : -0xf.ffdc5b0f5152a140d63324fbc8p-4 : 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
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 893c22b19b..d6a9eb4d6a 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -1848,10 +1848,10 @@  Function: "log2_vlen8_avx2":
 float: 1
 
 Function: "log2p1":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-ldouble: 2
+ldouble: 3
 
 Function: "log2p1_downward":
 double: 2
@@ -1866,9 +1866,9 @@  float128: 2
 ldouble: 4
 
 Function: "log2p1_upward":
-double: 1
+double: 2
 float: 2
-float128: 2
+float128: 3
 ldouble: 5
 
 Function: "log_downward":