Add narrowing fma functions

This patch adds the narrowing fused multiply-add functions from TS
18661-1 / TS 18661-3 / C2X to glibc's libm: ffma, ffmal, dfmal,
f32fmaf64, f32fmaf32x, f32xfmaf64 for all configurations; f32fmaf64x,
f32fmaf128, f64fmaf64x, f64fmaf128, f32xfmaf64x, f32xfmaf128,
f64xfmaf128 for configurations with _Float64x and _Float128;
__f32fmaieee128 and __f64fmaieee128 aliases in the powerpc64le case
(for calls to ffmal and dfmal when long double is IEEE binary128).
Corresponding tgmath.h macro support is also added.

The changes are mostly similar to those for the other narrowing
functions previously added, especially that for sqrt, so the
description of those generally applies to this patch as well.  As with
sqrt, I reused the same test inputs in auto-libm-test-in as for
non-narrowing fma rather than adding extra or separate inputs for
narrowing fma.  The tests in libm-test-narrow-fma.inc also follow
those for non-narrowing fma.

The non-narrowing fma has a known bug (bug 6801) that it does not set
errno on errors (overflow, underflow, Inf * 0, Inf - Inf).  Rather
than fixing this or having narrowing fma check for errors when
non-narrowing does not (complicating the cases when narrowing fma can
otherwise be an alias for a non-narrowing function), this patch does
not attempt to check for errors from narrowing fma and set errno; the
CHECK_NARROW_FMA macro is still present, but as a placeholder that
does nothing, and this missing errno setting is considered to be
covered by the existing bug rather than needing a separate open bug.
missing-errno annotations are duly added to many of the
auto-libm-test-in test inputs for fma.

This completes adding all the new functions from TS 18661-1 to glibc,
so will be followed by corresponding stdc-predef.h changes to define
__STDC_IEC_60559_BFP__ and __STDC_IEC_60559_COMPLEX__, as the support
for TS 18661-1 will be at a similar level to that for C standard
floating-point facilities up to C11 (pragmas not implemented, but
library functions done).  (There are still further changes to be done
to implement changes to the types of fromfp functions from N2548.)

Tested as followed: natively with the full glibc testsuite for x86_64
(GCC 11, 7, 6) and x86 (GCC 11); with build-many-glibcs.py with GCC
11, 7 and 6; cross testing of math/ tests for powerpc64le, powerpc32
hard float, mips64 (all three ABIs, both hard and soft float).  The
different GCC versions are to cover the different cases in tgmath.h
and tgmath.h tests properly (GCC 6 has _Float* only as typedefs in
glibc headers, GCC 7 has proper _Float* support, GCC 8 adds
__builtin_tgmath).
This commit is contained in:
Joseph Myers 2021-09-22 21:25:31 +00:00
parent b413280cfb
commit b3f27d8150
82 changed files with 37043 additions and 306 deletions

3
NEWS
View File

@ -29,6 +29,9 @@ Major new features:
- fsqrt, fsqrtl, dsqrtl and corresponding fMsqrtfN, fMsqrtfNx,
fMxsqrtfN and fMxsqrtfNx functions.
- ffma, ffmal, dfmal and corresponding fMfmafN, fMfmafNx, fMxfmafN and
fMxfmafNx functions.
Deprecated and removed features, and other changes affecting compatibility:
* The r_version update in the debugger interface makes the glibc binary

View File

@ -2289,6 +2289,27 @@ function without any intermediate rounding to the type of the
arguments.
@end deftypefun
@deftypefun float ffma (double @var{x}, double @var{y}, double @var{z})
@deftypefunx float ffmal (long double @var{x}, long double @var{y}, long double @var{z})
@deftypefunx double dfmal (long double @var{x}, long double @var{y}, long double @var{z})
@deftypefunx _FloatM fMfmafN (_Float@var{N} @var{x}, _Float@var{N} @var{y}, _Float@var{N} @var{z})
@deftypefunx _FloatM fMfmafNx (_Float@var{N}x @var{x}, _Float@var{N}x @var{y}, _Float@var{N}x @var{z})
@deftypefunx _FloatMx fMxfmafN (_Float@var{N} @var{x}, _Float@var{N} @var{y}, _Float@var{N} @var{z})
@deftypefunx _FloatMx fMxfmafNx (_Float@var{N}x @var{x}, _Float@var{N}x @var{y}, _Float@var{N}x @var{z})
@standards{TS 18661-1:2014, math.h}
@standardsx{fMfmafN, TS 18661-3:2015, math.h}
@standardsx{fMfmafNx, TS 18661-3:2015, math.h}
@standardsx{fMxfmafN, TS 18661-3:2015, math.h}
@standardsx{fMxfmafNx, TS 18661-3:2015, math.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
These functions, from TS 18661-1:2014 and TS 18661-3:2015, return
@math{(@var{x} @mul{} @var{y}) + @var{z}}, rounded once to the return
type of the function without any intermediate rounding to the type of
the arguments and without any intermediate rounding of result of the
multiplication.
@end deftypefun
@node Complex Numbers
@section Complex Numbers
@pindex complex.h

View File

@ -91,7 +91,7 @@ libm-compat-calls = \
w_lgammaF_r_compat w_lgammaF_compat2 w_expF_compat \
w_lgamma_compatF k_standardF
libm-narrow-fns = add div mul sqrt sub
libm-narrow-fns = add div fma mul sqrt sub
libm-narrow-types-basic = s_fF s_f32xFf64
libm-narrow-types-ldouble-yes = s_fFl s_dFl
libm-narrow-types-float128-yes = s_f32Ff128 s_f64Ff128 s_f64xFf128
@ -299,7 +299,7 @@ libm-test-funcs-noauto = canonicalize ceil cimag conj copysign cproj creal \
significand totalorder totalordermag trunc ufromfp \
ufromfpx compat_totalorder compat_totalordermag
libm-test-funcs-compat = compat_totalorder compat_totalordermag
libm-test-funcs-narrow = add div mul sqrt sub
libm-test-funcs-narrow = add div fma mul sqrt sub
libm-test-funcs-all = $(libm-test-funcs-auto) $(libm-test-funcs-noauto)
libm-test-c-auto = $(foreach f,$(libm-test-funcs-auto),libm-test-$(f).c)
libm-test-c-noauto = $(foreach f,$(libm-test-funcs-noauto),libm-test-$(f).c)
@ -663,6 +663,7 @@ CFLAGS-s_ctan.c += -fno-builtin-ctanl
CFLAGS-s_ctanh.c += -fno-builtin-ctanhl
CFLAGS-s_dadd.c += -fno-builtin-daddl
CFLAGS-s_ddiv.c += -fno-builtin-ddivl
CFLAGS-s_dfma.c += -fno-builtin-dfmal
CFLAGS-s_dmul.c += -fno-builtin-dmull
CFLAGS-s_dsqrt.c += -fno-builtin-dsqrtl
CFLAGS-s_dsub.c += -fno-builtin-dsubl
@ -676,6 +677,7 @@ CFLAGS-s_fabs.c += -fno-builtin-fabsl
CFLAGS-s_fadd.c += -fno-builtin-faddl
CFLAGS-s_fdim.c += -fno-builtin-fdiml
CFLAGS-s_fdiv.c += -fno-builtin-fdivl
CFLAGS-s_ffma.c += -fno-builtin-ffmal
CFLAGS-s_finite.c += -fno-builtin-finitel
CFLAGS-s_floor.c += -fno-builtin-floorl
CFLAGS-s_fma.c += -fno-builtin-fmal

View File

@ -595,9 +595,14 @@ libm {
}
GLIBC_2.35 {
# Functions not involving _Float64x or _Float128, for all configurations.
ffma; ffmal; dfmal;
f32fmaf32x; f32fmaf64; f32xfmaf64;
fsqrt; fsqrtl; dsqrtl;
f32sqrtf32x; f32sqrtf64; f32xsqrtf64;
# Functions involving _Float64x or _Float128, for some configurations.
f32fmaf64x; f32fmaf128;
f32xfmaf64x; f32xfmaf128; f64fmaf64x; f64fmaf128;
f64xfmaf128;
f32sqrtf64x; f32sqrtf128;
f32xsqrtf64x; f32xsqrtf128; f64sqrtf64x; f64sqrtf128;
f64xsqrtf128;

View File

@ -5463,15 +5463,16 @@ fma -1.0 -1.0 -1.0
fma 0 0 1
fma 0 0 2
fma 0 0 max xfail-rounding:ibm128-libgcc
fma 0 0 max xfail-rounding:ibm128-libgcc missing-errno
fma 0 1 1
fma 1 0 1
fma 0 1 2
fma 1 0 2
fma 0 1 max xfail-rounding:ibm128-libgcc
fma 1 0 max xfail-rounding:ibm128-libgcc
fma 0 1 max xfail-rounding:ibm128-libgcc missing-errno
fma 1 0 max xfail-rounding:ibm128-libgcc missing-errno
# Bug 6801: errno setting may be missing.
# Bug 6801: errno setting may be missing. This applies to both plain
# and narrowing fma, and is only commented here once.
fma min min 0 missing-errno
fma min min -0 missing-errno
fma min -min 0 missing-errno
@ -5481,7 +5482,6 @@ fma -min min -0 missing-errno
fma -min -min 0 missing-errno
fma -min -min -0 missing-errno
# Bug 6801: errno setting may be missing.
fma max max min missing-errno
fma max max -min missing-errno
fma max -max min missing-errno
@ -5511,18 +5511,17 @@ fma 0x1p-149 -0x1p-149 0x1p127
fma 0x1p-149 0x1p-149 -0x1p127
fma 0x1p-149 -0x1p-149 -0x1p127
fma 0x1p-149 0x1p-149 0x1p-126
fma 0x1p-149 -0x1p-149 0x1p-126
fma 0x1p-149 0x1p-149 -0x1p-126
fma 0x1p-149 -0x1p-149 0x1p-126 missing-underflow:arg-ibm128
fma 0x1p-149 0x1p-149 -0x1p-126 missing-underflow:arg-ibm128
fma 0x1p-149 -0x1p-149 -0x1p-126
fma 0x1p-149 0x1p-149 0x0.fffffep-126
fma 0x1p-149 -0x1p-149 0x0.fffffep-126
fma 0x1p-149 0x1p-149 -0x0.fffffep-126
fma 0x1p-149 -0x1p-149 -0x0.fffffep-126
fma 0x1p-149 0x1p-149 0x1p-149
# Bug 6801: errno setting may be missing.
fma 0x1p-149 -0x1p-149 0x1p-149 missing-errno
fma 0x1p-149 0x1p-149 -0x1p-149 missing-errno
fma 0x1p-149 -0x1p-149 -0x1p-149
fma 0x1p-149 0x1p-149 0x0.fffffep-126 missing-underflow:arg-ibm128
fma 0x1p-149 -0x1p-149 0x0.fffffep-126 missing-underflow:arg-ibm128
fma 0x1p-149 0x1p-149 -0x0.fffffep-126 missing-underflow:arg-ibm128
fma 0x1p-149 -0x1p-149 -0x0.fffffep-126 missing-underflow:arg-ibm128
fma 0x1p-149 0x1p-149 0x1p-149 missing-underflow:arg-ibm128
fma 0x1p-149 -0x1p-149 0x1p-149 missing-errno missing-underflow:arg-ibm128
fma 0x1p-149 0x1p-149 -0x1p-149 missing-errno missing-underflow:arg-ibm128
fma 0x1p-149 -0x1p-149 -0x1p-149 missing-underflow:arg-ibm128
fma 0x0.fffp0 0x0.fffp0 -0x0.ffep0
fma 0x0.fffp0 -0x0.fffp0 0x0.ffep0
fma -0x0.fffp0 0x0.fffp0 0x0.ffep0
@ -5541,172 +5540,167 @@ fma 0x1.fffp+0 0x1.0000000000001p+0 -0x1.fffp+0
fma 0x1.0000002p+0 0x1.ffffffcp-1 0x1p-300
fma 0x1.0000002p+0 0x1.ffffffcp-1 -0x1p-300
fma 0x1.deadbeef2feedp+1023 0x0.deadbeef2feedp-1022 -0x1.a05f8c01a4bfbp+1
fma 0x1.deadbeef2feedp+900 0x0.deadbeef2feedp-1022 -0x1.a05f8c01a4bfbp-122
fma 0x1.fffffffffffffp+1023 0x1.001p+0 -0x1.fffffffffffffp+1023
fma -0x1.fffffffffffffp+1023 0x1.fffffffffffffp+0 0x1.fffffffffffffp+1023
fma 0x1.fffffffffffffp+1023 2.0 -0x1.fffffffffffffp+1023
# Bug 6801: errno setting may be missing.
fma 0x1.deadbeef2feedp+900 0x0.deadbeef2feedp-1022 -0x1.a05f8c01a4bfbp-122 missing-errno
fma 0x1.fffffffffffffp+1023 0x1.001p+0 -0x1.fffffffffffffp+1023 missing-errno
fma -0x1.fffffffffffffp+1023 0x1.fffffffffffffp+0 0x1.fffffffffffffp+1023 missing-errno
fma 0x1.fffffffffffffp+1023 2.0 -0x1.fffffffffffffp+1023 missing-errno
fma 0x1.6a09e667f3bccp-538 0x1.6a09e667f3bccp-538 0.0 missing-errno
fma 0x1.deadbeef2feedp-495 0x1.deadbeef2feedp-495 -0x1.bf86a5786a574p-989
fma 0x1.deadbeef2feedp-503 0x1.deadbeef2feedp-503 -0x1.bf86a5786a574p-1005
fma 0x1p-537 0x1p-538 0x1p-1074
fma 0x1.7fffff8p-968 0x1p-106 0x0.000001p-1022
fma 0x1.4000004p-967 0x1p-106 0x0.000001p-1022
fma 0x1.4p-967 -0x1p-106 -0x0.000001p-1022
fma -0x1.19cab66d73e17p-959 0x1.c7108a8c5ff51p-107 -0x0.80b0ad65d9b64p-1022
fma -0x1.d2eaed6e8e9d3p-979 -0x1.4e066c62ac9ddp-63 -0x0.9245e6b003454p-1022
fma 0x1.153d650bb9f06p-907 0x1.2d01230d48407p-125 -0x0.b278d5acfc3cp-1022
fma -0x1.fffffffffffffp-711 0x1.fffffffffffffp-275 0x1.fffffe00007ffp-983
fma 0x1.4p-1022 0x1.0000000000002p-1 0x1p-1024
fma -0x1.4p-1022 0x1.0000000000002p-1 -0x1p-1024
fma 0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 0x1p-1074
fma -0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 -0x1p-1074
fma 0x1p-1074 0x1p-1 0x0.fffffffffffffp-1022
fma -0x1p-1074 0x1p-1 -0x0.fffffffffffffp-1022
fma 0x1p-1074 0x1.1p-1 0x0.fffffffffffffp-1022
fma -0x1p-1074 0x1.1p-1 -0x0.fffffffffffffp-1022
fma 0x1p-1074 0x1p-1074 0x1p1023
fma 0x1p-1074 -0x1p-1074 0x1p1023
fma 0x1p-1074 0x1p-1074 -0x1p1023
fma 0x1p-1074 -0x1p-1074 -0x1p1023
fma 0x1p-1074 0x1p-1074 0x1p-1022
fma 0x1p-1074 -0x1p-1074 0x1p-1022
fma 0x1p-1074 0x1p-1074 -0x1p-1022
fma 0x1p-1074 -0x1p-1074 -0x1p-1022
fma 0x1p-1074 0x1p-1074 0x0.fffffffffffffp-1022
fma 0x1p-1074 -0x1p-1074 0x0.fffffffffffffp-1022
fma 0x1p-1074 0x1p-1074 -0x0.fffffffffffffp-1022
fma 0x1p-1074 -0x1p-1074 -0x0.fffffffffffffp-1022
fma 0x1p-1074 0x1p-1074 0x1p-1074
# Bug 6801: errno setting may be missing.
fma 0x1.deadbeef2feedp-495 0x1.deadbeef2feedp-495 -0x1.bf86a5786a574p-989 missing-errno
fma 0x1.deadbeef2feedp-503 0x1.deadbeef2feedp-503 -0x1.bf86a5786a574p-1005 missing-errno
fma 0x1p-537 0x1p-538 0x1p-1074 missing-errno
fma 0x1.7fffff8p-968 0x1p-106 0x0.000001p-1022 missing-errno
fma 0x1.4000004p-967 0x1p-106 0x0.000001p-1022 missing-errno
fma 0x1.4p-967 -0x1p-106 -0x0.000001p-1022 missing-errno
fma -0x1.19cab66d73e17p-959 0x1.c7108a8c5ff51p-107 -0x0.80b0ad65d9b64p-1022 missing-errno
fma -0x1.d2eaed6e8e9d3p-979 -0x1.4e066c62ac9ddp-63 -0x0.9245e6b003454p-1022 missing-errno
fma 0x1.153d650bb9f06p-907 0x1.2d01230d48407p-125 -0x0.b278d5acfc3cp-1022 missing-errno
fma -0x1.fffffffffffffp-711 0x1.fffffffffffffp-275 0x1.fffffe00007ffp-983 missing-errno
fma 0x1.4p-1022 0x1.0000000000002p-1 0x1p-1024 missing-errno
fma -0x1.4p-1022 0x1.0000000000002p-1 -0x1p-1024 missing-errno
fma 0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 0x1p-1074 missing-errno
fma -0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 -0x1p-1074 missing-errno
fma 0x1p-1074 0x1p-1 0x0.fffffffffffffp-1022 missing-errno
fma -0x1p-1074 0x1p-1 -0x0.fffffffffffffp-1022 missing-errno
fma 0x1p-1074 0x1.1p-1 0x0.fffffffffffffp-1022 missing-errno
fma -0x1p-1074 0x1.1p-1 -0x0.fffffffffffffp-1022 missing-errno
fma 0x1p-1074 0x1p-1074 0x1p1023 missing-errno
fma 0x1p-1074 -0x1p-1074 0x1p1023 missing-errno
fma 0x1p-1074 0x1p-1074 -0x1p1023 missing-errno
fma 0x1p-1074 -0x1p-1074 -0x1p1023 missing-errno
fma 0x1p-1074 0x1p-1074 0x1p-1022 missing-errno
fma 0x1p-1074 -0x1p-1074 0x1p-1022 missing-errno
fma 0x1p-1074 0x1p-1074 -0x1p-1022 missing-errno
fma 0x1p-1074 -0x1p-1074 -0x1p-1022 missing-errno
fma 0x1p-1074 0x1p-1074 0x0.fffffffffffffp-1022 missing-errno
fma 0x1p-1074 -0x1p-1074 0x0.fffffffffffffp-1022 missing-errno
fma 0x1p-1074 0x1p-1074 -0x0.fffffffffffffp-1022 missing-errno
fma 0x1p-1074 -0x1p-1074 -0x0.fffffffffffffp-1022 missing-errno
fma 0x1p-1074 0x1p-1074 0x1p-1074 missing-errno
fma 0x1p-1074 -0x1p-1074 0x1p-1074 missing-errno
fma 0x1p-1074 0x1p-1074 -0x1p-1074 missing-errno
fma 0x1p-1074 -0x1p-1074 -0x1p-1074
fma 0x1p-1074 -0x1p-1074 -0x1p-1074 missing-errno
fma 0x0.fffffffffffff8p0 0x0.fffffffffffff8p0 -0x0.fffffffffffffp0
fma 0x0.fffffffffffff8p0 -0x0.fffffffffffff8p0 0x0.fffffffffffffp0
fma -0x0.fffffffffffff8p0 0x0.fffffffffffff8p0 0x0.fffffffffffffp0
fma -0x0.fffffffffffff8p0 -0x0.fffffffffffff8p0 -0x0.fffffffffffffp0
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p1023
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p1023
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p1023
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p1023
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p970
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p970
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p970
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p970
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p1023 missing-errno
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p1023 missing-errno
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p1023 missing-errno
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p1023 missing-errno
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p970 missing-errno
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p970 missing-errno
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p970 missing-errno
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p970 missing-errno
fma -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x8.3ffffffffffffffp-2450
fma 0x9.fcp+2033 -0x8.000e1f000ff800fp-3613 -0xf.fffffffffffc0ffp-1579
fma 0xc.7fc000003ffffffp-1194 0x8.1e0003fffffffffp+15327 -0x8.fffep+14072
fma -0x8.0001fc000000003p+1798 0xcp-2230 0x8.f7e000000000007p-468
fma 0xc.0000000000007ffp+10130 -0x8.000000000000001p+4430 0xc.07000000001ffffp+14513
fma 0xb.ffffp-4777 0x8.000000fffffffffp-11612 -0x0.3800fff8p-16385
fma 0x1.4p-16382 0x1.0000000000000004p-1 0x1p-16384
fma -0x1.4p-16382 0x1.0000000000000004p-1 -0x1p-16384
fma 0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 0x1p-16445
fma -0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 -0x1p-16445
fma 0x1p-16445 0x1p-1 0x0.fffffffffffffffep-16382
fma -0x1p-16445 0x1p-1 -0x0.fffffffffffffffep-16382
fma 0x1p-16445 0x1.1p-1 0x0.fffffffffffffffep-16382
fma -0x1p-16445 0x1.1p-1 -0x0.fffffffffffffffep-16382
fma 0x1p-16445 0x1p-16445 0x1p16383
fma 0x1p-16445 -0x1p-16445 0x1p16383
fma 0x1p-16445 0x1p-16445 -0x1p16383
fma 0x1p-16445 -0x1p-16445 -0x1p16383
fma 0x1p-16445 0x1p-16445 0x1p-16382
fma 0x1p-16445 -0x1p-16445 0x1p-16382
fma 0x1p-16445 0x1p-16445 -0x1p-16382
fma 0x1p-16445 -0x1p-16445 -0x1p-16382
fma 0x1p-16445 0x1p-16445 0x0.fffffffffffffffep-16382
fma 0x1p-16445 -0x1p-16445 0x0.fffffffffffffffep-16382
fma 0x1p-16445 0x1p-16445 -0x0.fffffffffffffffep-16382
fma 0x1p-16445 -0x1p-16445 -0x0.fffffffffffffffep-16382
fma 0x1p-16445 0x1p-16445 0x1p-16445
# Bug 6801: errno setting may be missing.
fma -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x8.3ffffffffffffffp-2450 missing-errno
fma 0x9.fcp+2033 -0x8.000e1f000ff800fp-3613 -0xf.fffffffffffc0ffp-1579 missing-errno
fma 0xc.7fc000003ffffffp-1194 0x8.1e0003fffffffffp+15327 -0x8.fffep+14072 missing-errno
fma -0x8.0001fc000000003p+1798 0xcp-2230 0x8.f7e000000000007p-468 missing-errno
fma 0xc.0000000000007ffp+10130 -0x8.000000000000001p+4430 0xc.07000000001ffffp+14513 missing-errno
fma 0xb.ffffp-4777 0x8.000000fffffffffp-11612 -0x0.3800fff8p-16385 missing-errno
fma 0x1.4p-16382 0x1.0000000000000004p-1 0x1p-16384 missing-errno
fma -0x1.4p-16382 0x1.0000000000000004p-1 -0x1p-16384 missing-errno
fma 0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 0x1p-16445 missing-errno
fma -0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 -0x1p-16445 missing-errno
fma 0x1p-16445 0x1p-1 0x0.fffffffffffffffep-16382 missing-errno
fma -0x1p-16445 0x1p-1 -0x0.fffffffffffffffep-16382 missing-errno
fma 0x1p-16445 0x1.1p-1 0x0.fffffffffffffffep-16382 missing-errno
fma -0x1p-16445 0x1.1p-1 -0x0.fffffffffffffffep-16382 missing-errno
fma 0x1p-16445 0x1p-16445 0x1p16383 missing-errno
fma 0x1p-16445 -0x1p-16445 0x1p16383 missing-errno
fma 0x1p-16445 0x1p-16445 -0x1p16383 missing-errno
fma 0x1p-16445 -0x1p-16445 -0x1p16383 missing-errno
fma 0x1p-16445 0x1p-16445 0x1p-16382 missing-errno
fma 0x1p-16445 -0x1p-16445 0x1p-16382 missing-errno
fma 0x1p-16445 0x1p-16445 -0x1p-16382 missing-errno
fma 0x1p-16445 -0x1p-16445 -0x1p-16382 missing-errno
fma 0x1p-16445 0x1p-16445 0x0.fffffffffffffffep-16382 missing-errno
fma 0x1p-16445 -0x1p-16445 0x0.fffffffffffffffep-16382 missing-errno
fma 0x1p-16445 0x1p-16445 -0x0.fffffffffffffffep-16382 missing-errno
fma 0x1p-16445 -0x1p-16445 -0x0.fffffffffffffffep-16382 missing-errno
fma 0x1p-16445 0x1p-16445 0x1p-16445 missing-errno
fma 0x1p-16445 -0x1p-16445 0x1p-16445 missing-errno
fma 0x1p-16445 0x1p-16445 -0x1p-16445 missing-errno
fma 0x1p-16445 -0x1p-16445 -0x1p-16445
fma 0x1p-16445 -0x1p-16445 -0x1p-16445 missing-errno
fma 0x0.ffffffffffffffffp0 0x0.ffffffffffffffffp0 -0x0.fffffffffffffffep0
fma 0x0.ffffffffffffffffp0 -0x0.ffffffffffffffffp0 0x0.fffffffffffffffep0
fma -0x0.ffffffffffffffffp0 0x0.ffffffffffffffffp0 0x0.fffffffffffffffep0
fma -0x0.ffffffffffffffffp0 -0x0.ffffffffffffffffp0 -0x0.fffffffffffffffep0
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16383
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16383
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16383
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16383
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16319
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16319
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16319
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16319
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16383 missing-errno
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16383 missing-errno
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16383 missing-errno
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16383 missing-errno
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16319 missing-errno
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16319 missing-errno
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16319 missing-errno
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16319 missing-errno
fma 0x1.bb2de33e02ccbbfa6e245a7c1f71p-2584 -0x1.6b500daf0580d987f1bc0cadfcddp-13777 0x1.613cd91d9fed34b33820e5ab9d8dp-16378
fma -0x1.f949b880cacb0f0c61540105321dp-5954 -0x1.3876cec84b4140f3bd6198731b7ep-10525 -0x0.a5dc1c6cfbc498c54fb0b504bf19p-16382
fma -0x1.0000fffffffffp-16221 0x1.0000001fffff8007fep-239 0x0.ff87ffffffffffffe000003fffffp-16382
fma -0x1.ac79c9376ef447f3827c9e9de008p-2228 -0x1.5ba830022b6139e21fbe7270cad8p-6314 0x1.e8282b6a26bb6a9daf5c8e73e9f9p-8616
fma -0x1.c69749ec574caaa2ab8e97ddb9f3p+2652 0x1.f34235ff9d095449c29b4831b62dp+3311 0x1.fbe4302df23354dbd0c4d3cfe606p+5879
fma -0x1.ca8835fc6ecfb5398625fc891be5p-1686 0x1.621e1972bbe2180e5be9dd7d8df5p-7671 -0x1.7d2d21b73b52cf20dec2a83902a4p-9395
fma -0x1.55cff679ec49c2541fab41fc843ep-11819 0x1.e60e9f464f9e8df0509647c7c971p+12325 0x1.eaa2a7649d765c2f564f7a5beca7p+454
fma 0x1.f0e7b1454908576f2537d863cf9bp+11432 0x1.cdce52f09d4ca76e68706f34b5d5p-1417 -0x1.2e986187c70f146235ea2066e486p+9979
fma 0x1.f102f7da4a57a3a4aab620e29452p-3098 -0x1.cc06a4ff40248f9e2dcc4b6afd84p-11727 0x1.d512a11126b5ac8ed8973b8580c8p-14849
fma -0x1.fc47ac7434b993cd8dcb2b431f25p-3816 0x1.fbc9750da8468852d84558e1db6dp-5773 -0x1.00a98abf783f75c40fe5b7a37d86p-9607
fma 0x1.00000000000007ffffffffffffffp-9045 -0x1.ffffffffffff80000001ffffffffp+4773 -0x1.f8p-4316
fma 0x1.4e922764c90701d4a2f21d01893dp-8683 -0x1.955a12e2d7c9447c27fa022fc865p+212 -0x1.e9634462eaef96528b90b6944578p-8521
fma 0x1.801181509c03bdbef10d6165588cp-15131 0x1.ad86f8e57d3d40bfa8007780af63p-368 -0x1.6e9df0dab1c9f1d7a6043c390741p-15507
fma 0x1.bb2de33e02ccbbfa6e245a7c1f71p-2584 -0x1.6b500daf0580d987f1bc0cadfcddp-13777 0x1.613cd91d9fed34b33820e5ab9d8dp-16378 missing-errno
fma -0x1.f949b880cacb0f0c61540105321dp-5954 -0x1.3876cec84b4140f3bd6198731b7ep-10525 -0x0.a5dc1c6cfbc498c54fb0b504bf19p-16382 missing-errno
fma -0x1.0000fffffffffp-16221 0x1.0000001fffff8007fep-239 0x0.ff87ffffffffffffe000003fffffp-16382 missing-errno
fma -0x1.ac79c9376ef447f3827c9e9de008p-2228 -0x1.5ba830022b6139e21fbe7270cad8p-6314 0x1.e8282b6a26bb6a9daf5c8e73e9f9p-8616 missing-errno
fma -0x1.c69749ec574caaa2ab8e97ddb9f3p+2652 0x1.f34235ff9d095449c29b4831b62dp+3311 0x1.fbe4302df23354dbd0c4d3cfe606p+5879 missing-errno
fma -0x1.ca8835fc6ecfb5398625fc891be5p-1686 0x1.621e1972bbe2180e5be9dd7d8df5p-7671 -0x1.7d2d21b73b52cf20dec2a83902a4p-9395 missing-errno
fma -0x1.55cff679ec49c2541fab41fc843ep-11819 0x1.e60e9f464f9e8df0509647c7c971p+12325 0x1.eaa2a7649d765c2f564f7a5beca7p+454 missing-errno
fma 0x1.f0e7b1454908576f2537d863cf9bp+11432 0x1.cdce52f09d4ca76e68706f34b5d5p-1417 -0x1.2e986187c70f146235ea2066e486p+9979 missing-errno
fma 0x1.f102f7da4a57a3a4aab620e29452p-3098 -0x1.cc06a4ff40248f9e2dcc4b6afd84p-11727 0x1.d512a11126b5ac8ed8973b8580c8p-14849 missing-errno
fma -0x1.fc47ac7434b993cd8dcb2b431f25p-3816 0x1.fbc9750da8468852d84558e1db6dp-5773 -0x1.00a98abf783f75c40fe5b7a37d86p-9607 missing-errno
fma 0x1.00000000000007ffffffffffffffp-9045 -0x1.ffffffffffff80000001ffffffffp+4773 -0x1.f8p-4316 missing-errno
fma 0x1.4e922764c90701d4a2f21d01893dp-8683 -0x1.955a12e2d7c9447c27fa022fc865p+212 -0x1.e9634462eaef96528b90b6944578p-8521 missing-errno
fma 0x1.801181509c03bdbef10d6165588cp-15131 0x1.ad86f8e57d3d40bfa8007780af63p-368 -0x1.6e9df0dab1c9f1d7a6043c390741p-15507 missing-errno
fma 0x1.ffffffffffffffp0 0x1.000000000000008p0 -0x1p-1000
fma 0x1.4p-16382 0x1.0000000000000000000000000002p-1 0x1p-16384
fma -0x1.4p-16382 0x1.0000000000000000000000000002p-1 -0x1p-16384
fma 0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 0x1p-16494
fma -0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 -0x1p-16494
fma 0x1p-16494 0x1p-1 0x0.ffffffffffffffffffffffffffffp-16382
fma -0x1p-16494 0x1p-1 -0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 0x1.1p-1 0x0.ffffffffffffffffffffffffffffp-16382
fma -0x1p-16494 0x1.1p-1 -0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 0x1p-16494 0x1p16383
fma 0x1p-16494 -0x1p-16494 0x1p16383
fma 0x1p-16494 0x1p-16494 -0x1p16383
fma 0x1p-16494 -0x1p-16494 -0x1p16383
fma 0x1p-16494 0x1p-16494 0x1p-16382
fma 0x1p-16494 -0x1p-16494 0x1p-16382
fma 0x1p-16494 0x1p-16494 -0x1p-16382
fma 0x1p-16494 -0x1p-16494 -0x1p-16382
fma 0x1p-16494 0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 -0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 -0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 0x1p-16494 0x1p-16494
# Bug 6801: errno setting may be missing.
fma 0x1.4p-16382 0x1.0000000000000000000000000002p-1 0x1p-16384 missing-errno
fma -0x1.4p-16382 0x1.0000000000000000000000000002p-1 -0x1p-16384 missing-errno
fma 0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 0x1p-16494 missing-errno
fma -0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 -0x1p-16494 missing-errno
fma 0x1p-16494 0x1p-1 0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
fma -0x1p-16494 0x1p-1 -0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
fma 0x1p-16494 0x1.1p-1 0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
fma -0x1p-16494 0x1.1p-1 -0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
fma 0x1p-16494 0x1p-16494 0x1p16383 missing-errno
fma 0x1p-16494 -0x1p-16494 0x1p16383 missing-errno
fma 0x1p-16494 0x1p-16494 -0x1p16383 missing-errno
fma 0x1p-16494 -0x1p-16494 -0x1p16383 missing-errno
fma 0x1p-16494 0x1p-16494 0x1p-16382 missing-errno
fma 0x1p-16494 -0x1p-16494 0x1p-16382 missing-errno
fma 0x1p-16494 0x1p-16494 -0x1p-16382 missing-errno
fma 0x1p-16494 -0x1p-16494 -0x1p-16382 missing-errno
fma 0x1p-16494 0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
fma 0x1p-16494 -0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
fma 0x1p-16494 0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
fma 0x1p-16494 -0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
fma 0x1p-16494 0x1p-16494 0x1p-16494 missing-errno
fma 0x1p-16494 -0x1p-16494 0x1p-16494 missing-errno
fma 0x1p-16494 0x1p-16494 -0x1p-16494 missing-errno
fma 0x1p-16494 -0x1p-16494 -0x1p-16494
fma 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0
fma 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0
fma -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0
fma -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16383
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16383
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16383
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16383
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16319
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16319
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16319
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16319
fma 0x1p-16494 -0x1p-16494 -0x1p-16494 missing-errno
fma 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0 missing-errno
fma 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0 missing-errno
fma -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0 missing-errno
fma -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0 missing-errno
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16383 missing-errno
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16383 missing-errno
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16383 missing-errno
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16383 missing-errno
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16319 missing-errno
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16319 missing-errno
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16319 missing-errno
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16319 missing-errno
# Bug 6801: errno setting may be missing.
fma 0x1.fffffep-126 0x1.fffffep25 0x1.fffffep127 missing-errno
fma 0x1.fffffep-126 0x1.fffffep25 0x1.fffffep127 missing-errno xfail-rounding:ibm128-libgcc
fma 0x1.fffffep-126 -0x1.fffffep25 0x1.fffffep127
fma 0x1.fffffep-126 0x1.fffffep25 -0x1.fffffep127
fma 0x1.fffffep-126 -0x1.fffffep25 -0x1.fffffep127 missing-errno
fma 0x1.fffffffffffffp-1022 0x1.fffffffffffffp54 0x1.fffffffffffffp1023 missing-errno
fma 0x1.fffffffffffffp-1022 -0x1.fffffffffffffp54 0x1.fffffffffffffp1023
fma 0x1.fffffffffffffp-1022 0x1.fffffffffffffp54 -0x1.fffffffffffffp1023
fma 0x1.fffffffffffffp-1022 -0x1.fffffffffffffp54 -0x1.fffffffffffffp1023 missing-errno
fma 0x1.fffffep-126 -0x1.fffffep25 -0x1.fffffep127 missing-errno xfail-rounding:ibm128-libgcc
fma 0x1.fffffffffffffp-1022 0x1.fffffffffffffp54 0x1.fffffffffffffp1023 missing-errno xfail-rounding:ibm128-libgcc
fma 0x1.fffffffffffffp-1022 -0x1.fffffffffffffp54 0x1.fffffffffffffp1023 missing-errno
fma 0x1.fffffffffffffp-1022 0x1.fffffffffffffp54 -0x1.fffffffffffffp1023 missing-errno
fma 0x1.fffffffffffffp-1022 -0x1.fffffffffffffp54 -0x1.fffffffffffffp1023 missing-errno xfail-rounding:ibm128-libgcc
fma 0x1.fffffffffffffffep-16382 0x1.fffffffffffffffep65 0x1.fffffffffffffffep16383 missing-errno
fma 0x1.fffffffffffffffep-16382 -0x1.fffffffffffffffep65 0x1.fffffffffffffffep16383
fma 0x1.fffffffffffffffep-16382 0x1.fffffffffffffffep65 -0x1.fffffffffffffffep16383
fma 0x1.fffffffffffffffep-16382 -0x1.fffffffffffffffep65 0x1.fffffffffffffffep16383 missing-errno
fma 0x1.fffffffffffffffep-16382 0x1.fffffffffffffffep65 -0x1.fffffffffffffffep16383 missing-errno
fma 0x1.fffffffffffffffep-16382 -0x1.fffffffffffffffep65 -0x1.fffffffffffffffep16383 missing-errno
fma 0x1.ffffffffffffffffffffffffffffp-16382 0x1.ffffffffffffffffffffffffffffp114 0x1.ffffffffffffffffffffffffffffp16383 missing-errno
fma 0x1.ffffffffffffffffffffffffffffp-16382 -0x1.ffffffffffffffffffffffffffffp114 0x1.ffffffffffffffffffffffffffffp16383
fma 0x1.ffffffffffffffffffffffffffffp-16382 0x1.ffffffffffffffffffffffffffffp114 -0x1.ffffffffffffffffffffffffffffp16383
fma 0x1.ffffffffffffffffffffffffffffp-16382 -0x1.ffffffffffffffffffffffffffffp114 0x1.ffffffffffffffffffffffffffffp16383 missing-errno
fma 0x1.ffffffffffffffffffffffffffffp-16382 0x1.ffffffffffffffffffffffffffffp114 -0x1.ffffffffffffffffffffffffffffp16383 missing-errno
fma 0x1.ffffffffffffffffffffffffffffp-16382 -0x1.ffffffffffffffffffffffffffffp114 -0x1.ffffffffffffffffffffffffffffp16383 missing-errno
hypot 0 0

View File

@ -798,7 +798,7 @@ fma 0 0 2
= fma tonearest ibm128 0x0p+0 0x0p+0 0x2p+0 : 0x2p+0 :
= fma towardzero ibm128 0x0p+0 0x0p+0 0x2p+0 : 0x2p+0 :
= fma upward ibm128 0x0p+0 0x0p+0 0x2p+0 : 0x2p+0 :
fma 0 0 max xfail-rounding:ibm128-libgcc
fma 0 0 max xfail-rounding:ibm128-libgcc missing-errno
= fma downward binary32 0x0p+0 0x0p+0 0xf.fffffp+124 : 0xf.fffffp+124 : xfail:ibm128-libgcc
= fma tonearest binary32 0x0p+0 0x0p+0 0xf.fffffp+124 : 0xf.fffffp+124 :
= fma towardzero binary32 0x0p+0 0x0p+0 0xf.fffffp+124 : 0xf.fffffp+124 : xfail:ibm128-libgcc
@ -967,7 +967,7 @@ fma 1 0 2
= fma tonearest ibm128 0x1p+0 0x0p+0 0x2p+0 : 0x2p+0 :
= fma towardzero ibm128 0x1p+0 0x0p+0 0x2p+0 : 0x2p+0 :
= fma upward ibm128 0x1p+0 0x0p+0 0x2p+0 : 0x2p+0 :
fma 0 1 max xfail-rounding:ibm128-libgcc
fma 0 1 max xfail-rounding:ibm128-libgcc missing-errno
= fma downward binary32 0x0p+0 0x1p+0 0xf.fffffp+124 : 0xf.fffffp+124 : xfail:ibm128-libgcc
= fma tonearest binary32 0x0p+0 0x1p+0 0xf.fffffp+124 : 0xf.fffffp+124 :
= fma towardzero binary32 0x0p+0 0x1p+0 0xf.fffffp+124 : 0xf.fffffp+124 : xfail:ibm128-libgcc
@ -1036,7 +1036,7 @@ fma 0 1 max xfail-rounding:ibm128-libgcc
= fma tonearest ibm128 0x0p+0 0x1p+0 0xf.ffffffffffffbffffffffffffcp+1020 : 0xf.ffffffffffffbffffffffffffcp+1020 :
= fma towardzero ibm128 0x0p+0 0x1p+0 0xf.ffffffffffffbffffffffffffcp+1020 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:ibm128-libgcc
= fma upward ibm128 0x0p+0 0x1p+0 0xf.ffffffffffffbffffffffffffcp+1020 : 0xf.ffffffffffffbffffffffffffcp+1020 : xfail:ibm128-libgcc
fma 1 0 max xfail-rounding:ibm128-libgcc
fma 1 0 max xfail-rounding:ibm128-libgcc missing-errno
= fma downward binary32 0x1p+0 0x0p+0 0xf.fffffp+124 : 0xf.fffffp+124 : xfail:ibm128-libgcc
= fma tonearest binary32 0x1p+0 0x0p+0 0xf.fffffp+124 : 0xf.fffffp+124 :
= fma towardzero binary32 0x1p+0 0x0p+0 0xf.fffffp+124 : 0xf.fffffp+124 : xfail:ibm128-libgcc
@ -13469,7 +13469,7 @@ fma 0x1.deadbeef2feedp+1023 0x0.deadbeef2feedp-1022 -0x1.a05f8c01a4bfbp+1
= fma tonearest ibm128 0xe.f56df7797f768p+1020 0x3.7ab6fbbcbfbb4p-1024 -0x3.40bf1803497f6p+0 : 0x8.4c4b43de4ed2p-56 :
= fma towardzero ibm128 0xe.f56df7797f768p+1020 0x3.7ab6fbbcbfbb4p-1024 -0x3.40bf1803497f6p+0 : 0x8.4c4b43de4ed2p-56 :
= fma upward ibm128 0xe.f56df7797f768p+1020 0x3.7ab6fbbcbfbb4p-1024 -0x3.40bf1803497f6p+0 : 0x8.4c4b43de4ed2p-56 :
fma 0x1.deadbeef2feedp+900 0x0.deadbeef2feedp-1022 -0x1.a05f8c01a4bfbp-122
fma 0x1.deadbeef2feedp+900 0x0.deadbeef2feedp-1022 -0x1.a05f8c01a4bfbp-122 missing-errno
= fma downward binary64 0x1.deadbeef2feedp+900 0x3.7ab6fbbcbfbb4p-1024 -0x6.817e300692fecp-124 : 0x1.0989687bc9da4p-176 :
= fma tonearest binary64 0x1.deadbeef2feedp+900 0x3.7ab6fbbcbfbb4p-1024 -0x6.817e300692fecp-124 : 0x1.0989687bc9da4p-176 :
= fma towardzero binary64 0x1.deadbeef2feedp+900 0x3.7ab6fbbcbfbb4p-1024 -0x6.817e300692fecp-124 : 0x1.0989687bc9da4p-176 :
@ -13490,7 +13490,7 @@ fma 0x1.deadbeef2feedp+900 0x0.deadbeef2feedp-1022 -0x1.a05f8c01a4bfbp-122
= fma tonearest ibm128 0x1.deadbeef2feedp+900 0x3.7ab6fbbcbfbb4p-1024 -0x6.817e300692fecp-124 : 0x1.0989687bc9da4p-176 :
= fma towardzero ibm128 0x1.deadbeef2feedp+900 0x3.7ab6fbbcbfbb4p-1024 -0x6.817e300692fecp-124 : 0x1.0989687bc9da4p-176 :
= fma upward ibm128 0x1.deadbeef2feedp+900 0x3.7ab6fbbcbfbb4p-1024 -0x6.817e300692fecp-124 : 0x1.0989687bc9da4p-176 :
fma 0x1.fffffffffffffp+1023 0x1.001p+0 -0x1.fffffffffffffp+1023
fma 0x1.fffffffffffffp+1023 0x1.001p+0 -0x1.fffffffffffffp+1023 missing-errno
= fma downward binary64 0xf.ffffffffffff8p+1020 0x1.001p+0 -0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1008 :
= fma tonearest binary64 0xf.ffffffffffff8p+1020 0x1.001p+0 -0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1008 :
= fma towardzero binary64 0xf.ffffffffffff8p+1020 0x1.001p+0 -0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1008 :
@ -13511,7 +13511,7 @@ fma 0x1.fffffffffffffp+1023 0x1.001p+0 -0x1.fffffffffffffp+1023
= fma tonearest ibm128 0xf.ffffffffffff8p+1020 0x1.001p+0 -0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1008 :
= fma towardzero ibm128 0xf.ffffffffffff8p+1020 0x1.001p+0 -0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1008 :
= fma upward ibm128 0xf.ffffffffffff8p+1020 0x1.001p+0 -0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1008 :
fma -0x1.fffffffffffffp+1023 0x1.fffffffffffffp+0 0x1.fffffffffffffp+1023
fma -0x1.fffffffffffffp+1023 0x1.fffffffffffffp+0 0x1.fffffffffffffp+1023 missing-errno
= fma downward binary64 -0xf.ffffffffffff8p+1020 0x1.fffffffffffffp+0 0xf.ffffffffffff8p+1020 : -0xf.ffffffffffffp+1020 : inexact
= fma tonearest binary64 -0xf.ffffffffffff8p+1020 0x1.fffffffffffffp+0 0xf.ffffffffffff8p+1020 : -0xf.fffffffffffe8p+1020 : inexact
= fma towardzero binary64 -0xf.ffffffffffff8p+1020 0x1.fffffffffffffp+0 0xf.ffffffffffff8p+1020 : -0xf.fffffffffffe8p+1020 : inexact
@ -13532,7 +13532,7 @@ fma -0x1.fffffffffffffp+1023 0x1.fffffffffffffp+0 0x1.fffffffffffffp+1023
= fma tonearest ibm128 -0xf.ffffffffffff8p+1020 0x1.fffffffffffffp+0 0xf.ffffffffffff8p+1020 : -0xf.fffffffffffe80000000000008p+1020 :
= fma towardzero ibm128 -0xf.ffffffffffff8p+1020 0x1.fffffffffffffp+0 0xf.ffffffffffff8p+1020 : -0xf.fffffffffffe80000000000008p+1020 :
= fma upward ibm128 -0xf.ffffffffffff8p+1020 0x1.fffffffffffffp+0 0xf.ffffffffffff8p+1020 : -0xf.fffffffffffe80000000000008p+1020 :
fma 0x1.fffffffffffffp+1023 2.0 -0x1.fffffffffffffp+1023
fma 0x1.fffffffffffffp+1023 2.0 -0x1.fffffffffffffp+1023 missing-errno
= fma downward binary64 0xf.ffffffffffff8p+1020 0x2p+0 -0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 :
= fma tonearest binary64 0xf.ffffffffffff8p+1020 0x2p+0 -0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 :
= fma towardzero binary64 0xf.ffffffffffff8p+1020 0x2p+0 -0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 :
@ -13574,7 +13574,7 @@ fma 0x1.6a09e667f3bccp-538 0x1.6a09e667f3bccp-538 0.0 missing-errno
= fma tonearest ibm128 0x5.a827999fcef3p-540 0x5.a827999fcef3p-540 0x0p+0 : 0x0p+0 : inexact underflow errno-erange errno-erange-ok
= fma towardzero ibm128 0x5.a827999fcef3p-540 0x5.a827999fcef3p-540 0x0p+0 : 0x0p+0 : xfail:ibm128-libgcc inexact underflow errno-erange errno-erange-ok
= fma upward ibm128 0x5.a827999fcef3p-540 0x5.a827999fcef3p-540 0x0p+0 : 0x4p-1076 : xfail:ibm128-libgcc inexact underflow errno-erange-ok
fma 0x1.deadbeef2feedp-495 0x1.deadbeef2feedp-495 -0x1.bf86a5786a574p-989
fma 0x1.deadbeef2feedp-495 0x1.deadbeef2feedp-495 -0x1.bf86a5786a574p-989 missing-errno
= fma downward binary64 0x3.bd5b7dde5fddap-496 0x3.bd5b7dde5fddap-496 -0xd.fc352bc352bap-992 : 0x1.09896878p-1044 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x3.bd5b7dde5fddap-496 0x3.bd5b7dde5fddap-496 -0xd.fc352bc352bap-992 : 0x1.0989687cp-1044 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x3.bd5b7dde5fddap-496 0x3.bd5b7dde5fddap-496 -0xd.fc352bc352bap-992 : 0x1.09896878p-1044 : inexact underflow errno-erange-ok
@ -13595,7 +13595,7 @@ fma 0x1.deadbeef2feedp-495 0x1.deadbeef2feedp-495 -0x1.bf86a5786a574p-989
= fma tonearest ibm128 0x3.bd5b7dde5fddap-496 0x3.bd5b7dde5fddap-496 -0xd.fc352bc352bap-992 : 0x1.0989687cp-1044 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x3.bd5b7dde5fddap-496 0x3.bd5b7dde5fddap-496 -0xd.fc352bc352bap-992 : 0x1.09896878p-1044 : inexact underflow errno-erange-ok
= fma upward ibm128 0x3.bd5b7dde5fddap-496 0x3.bd5b7dde5fddap-496 -0xd.fc352bc352bap-992 : 0x1.0989687cp-1044 : inexact underflow errno-erange-ok
fma 0x1.deadbeef2feedp-503 0x1.deadbeef2feedp-503 -0x1.bf86a5786a574p-1005
fma 0x1.deadbeef2feedp-503 0x1.deadbeef2feedp-503 -0x1.bf86a5786a574p-1005 missing-errno
= fma downward binary64 0x3.bd5b7dde5fddap-504 0x3.bd5b7dde5fddap-504 -0xd.fc352bc352bap-1008 : 0x1.0988p-1060 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x3.bd5b7dde5fddap-504 0x3.bd5b7dde5fddap-504 -0xd.fc352bc352bap-1008 : 0x1.0988p-1060 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x3.bd5b7dde5fddap-504 0x3.bd5b7dde5fddap-504 -0xd.fc352bc352bap-1008 : 0x1.0988p-1060 : inexact underflow errno-erange-ok
@ -13616,7 +13616,7 @@ fma 0x1.deadbeef2feedp-503 0x1.deadbeef2feedp-503 -0x1.bf86a5786a574p-1005
= fma tonearest ibm128 0x3.bd5b7dde5fddap-504 0x3.bd5b7dde5fddap-504 -0xd.fc352bc352bap-1008 : 0x1.0988p-1060 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x3.bd5b7dde5fddap-504 0x3.bd5b7dde5fddap-504 -0xd.fc352bc352bap-1008 : 0x1.0988p-1060 : inexact underflow errno-erange-ok
= fma upward ibm128 0x3.bd5b7dde5fddap-504 0x3.bd5b7dde5fddap-504 -0xd.fc352bc352bap-1008 : 0x1.098cp-1060 : inexact underflow errno-erange-ok
fma 0x1p-537 0x1p-538 0x1p-1074
fma 0x1p-537 0x1p-538 0x1p-1074 missing-errno
= fma downward binary64 0x8p-540 0x4p-540 0x4p-1076 : 0x4p-1076 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x8p-540 0x4p-540 0x4p-1076 : 0x8p-1076 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x8p-540 0x4p-540 0x4p-1076 : 0x4p-1076 : inexact underflow errno-erange-ok
@ -13637,7 +13637,7 @@ fma 0x1p-537 0x1p-538 0x1p-1074
= fma tonearest ibm128 0x8p-540 0x4p-540 0x4p-1076 : 0x8p-1076 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x8p-540 0x4p-540 0x4p-1076 : 0x4p-1076 : inexact underflow errno-erange-ok
= fma upward ibm128 0x8p-540 0x4p-540 0x4p-1076 : 0x8p-1076 : inexact underflow errno-erange-ok
fma 0x1.7fffff8p-968 0x1p-106 0x0.000001p-1022
fma 0x1.7fffff8p-968 0x1p-106 0x0.000001p-1022 missing-errno
= fma downward binary64 0x1.7fffff8p-968 0x4p-108 0x4p-1048 : 0x4.0000004p-1048 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x1.7fffff8p-968 0x4p-108 0x4p-1048 : 0x4.0000004p-1048 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x1.7fffff8p-968 0x4p-108 0x4p-1048 : 0x4.0000004p-1048 : inexact underflow errno-erange-ok
@ -13658,7 +13658,7 @@ fma 0x1.7fffff8p-968 0x1p-106 0x0.000001p-1022
= fma tonearest ibm128 0x1.7fffff8p-968 0x4p-108 0x4p-1048 : 0x4.0000004p-1048 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x1.7fffff8p-968 0x4p-108 0x4p-1048 : 0x4.0000004p-1048 : inexact underflow errno-erange-ok
= fma upward ibm128 0x1.7fffff8p-968 0x4p-108 0x4p-1048 : 0x4.0000008p-1048 : inexact underflow errno-erange-ok
fma 0x1.4000004p-967 0x1p-106 0x0.000001p-1022
fma 0x1.4000004p-967 0x1p-106 0x0.000001p-1022 missing-errno
= fma downward binary64 0x2.8000008p-968 0x4p-108 0x4p-1048 : 0x4.0000008p-1048 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x2.8000008p-968 0x4p-108 0x4p-1048 : 0x4.000000cp-1048 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x2.8000008p-968 0x4p-108 0x4p-1048 : 0x4.0000008p-1048 : inexact underflow errno-erange-ok
@ -13679,7 +13679,7 @@ fma 0x1.4000004p-967 0x1p-106 0x0.000001p-1022
= fma tonearest ibm128 0x2.8000008p-968 0x4p-108 0x4p-1048 : 0x4.000000cp-1048 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x2.8000008p-968 0x4p-108 0x4p-1048 : 0x4.0000008p-1048 : inexact underflow errno-erange-ok
= fma upward ibm128 0x2.8000008p-968 0x4p-108 0x4p-1048 : 0x4.000000cp-1048 : inexact underflow errno-erange-ok
fma 0x1.4p-967 -0x1p-106 -0x0.000001p-1022
fma 0x1.4p-967 -0x1p-106 -0x0.000001p-1022 missing-errno
= fma downward binary64 0x2.8p-968 -0x4p-108 -0x4p-1048 : -0x4.000000cp-1048 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x2.8p-968 -0x4p-108 -0x4p-1048 : -0x4.0000008p-1048 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x2.8p-968 -0x4p-108 -0x4p-1048 : -0x4.0000008p-1048 : inexact underflow errno-erange-ok
@ -13700,7 +13700,7 @@ fma 0x1.4p-967 -0x1p-106 -0x0.000001p-1022
= fma tonearest ibm128 0x2.8p-968 -0x4p-108 -0x4p-1048 : -0x4.0000008p-1048 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x2.8p-968 -0x4p-108 -0x4p-1048 : -0x4.0000008p-1048 : inexact underflow errno-erange-ok
= fma upward ibm128 0x2.8p-968 -0x4p-108 -0x4p-1048 : -0x4.0000008p-1048 : inexact underflow errno-erange-ok
fma -0x1.19cab66d73e17p-959 0x1.c7108a8c5ff51p-107 -0x0.80b0ad65d9b64p-1022
fma -0x1.19cab66d73e17p-959 0x1.c7108a8c5ff51p-107 -0x0.80b0ad65d9b64p-1022 missing-errno
= fma downward binary64 -0x2.33956cdae7c2ep-960 0x3.8e211518bfea2p-108 -0x2.02c2b59766d9p-1024 : -0x2.02c2b59767564p-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 -0x2.33956cdae7c2ep-960 0x3.8e211518bfea2p-108 -0x2.02c2b59766d9p-1024 : -0x2.02c2b59767564p-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 -0x2.33956cdae7c2ep-960 0x3.8e211518bfea2p-108 -0x2.02c2b59766d9p-1024 : -0x2.02c2b5976756p-1024 : inexact underflow errno-erange-ok
@ -13721,7 +13721,7 @@ fma -0x1.19cab66d73e17p-959 0x1.c7108a8c5ff51p-107 -0x0.80b0ad65d9b64p-1022
= fma tonearest ibm128 -0x2.33956cdae7c2ep-960 0x3.8e211518bfea2p-108 -0x2.02c2b59766d9p-1024 : -0x2.02c2b59767564p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 -0x2.33956cdae7c2ep-960 0x3.8e211518bfea2p-108 -0x2.02c2b59766d9p-1024 : -0x2.02c2b5976756p-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 -0x2.33956cdae7c2ep-960 0x3.8e211518bfea2p-108 -0x2.02c2b59766d9p-1024 : -0x2.02c2b5976756p-1024 : inexact underflow errno-erange-ok
fma -0x1.d2eaed6e8e9d3p-979 -0x1.4e066c62ac9ddp-63 -0x0.9245e6b003454p-1022
fma -0x1.d2eaed6e8e9d3p-979 -0x1.4e066c62ac9ddp-63 -0x0.9245e6b003454p-1022 missing-errno
= fma downward binary64 -0x3.a5d5dadd1d3a6p-980 -0x2.9c0cd8c5593bap-64 -0x2.49179ac00d15p-1024 : -0x2.491702717ed78p-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 -0x3.a5d5dadd1d3a6p-980 -0x2.9c0cd8c5593bap-64 -0x2.49179ac00d15p-1024 : -0x2.491702717ed74p-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 -0x3.a5d5dadd1d3a6p-980 -0x2.9c0cd8c5593bap-64 -0x2.49179ac00d15p-1024 : -0x2.491702717ed74p-1024 : inexact underflow errno-erange-ok
@ -13742,7 +13742,7 @@ fma -0x1.d2eaed6e8e9d3p-979 -0x1.4e066c62ac9ddp-63 -0x0.9245e6b003454p-1022
= fma tonearest ibm128 -0x3.a5d5dadd1d3a6p-980 -0x2.9c0cd8c5593bap-64 -0x2.49179ac00d15p-1024 : -0x2.491702717ed74p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 -0x3.a5d5dadd1d3a6p-980 -0x2.9c0cd8c5593bap-64 -0x2.49179ac00d15p-1024 : -0x2.491702717ed74p-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 -0x3.a5d5dadd1d3a6p-980 -0x2.9c0cd8c5593bap-64 -0x2.49179ac00d15p-1024 : -0x2.491702717ed74p-1024 : inexact underflow errno-erange-ok
fma 0x1.153d650bb9f06p-907 0x1.2d01230d48407p-125 -0x0.b278d5acfc3cp-1022
fma 0x1.153d650bb9f06p-907 0x1.2d01230d48407p-125 -0x0.b278d5acfc3cp-1022 missing-errno
= fma downward binary64 0x2.2a7aca1773e0cp-908 0x9.6809186a42038p-128 -0x2.c9e356b3f0fp-1024 : -0x2.c89d5c48eefa4p-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x2.2a7aca1773e0cp-908 0x9.6809186a42038p-128 -0x2.c9e356b3f0fp-1024 : -0x2.c89d5c48eefa4p-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x2.2a7aca1773e0cp-908 0x9.6809186a42038p-128 -0x2.c9e356b3f0fp-1024 : -0x2.c89d5c48eefap-1024 : inexact underflow errno-erange-ok
@ -13763,7 +13763,7 @@ fma 0x1.153d650bb9f06p-907 0x1.2d01230d48407p-125 -0x0.b278d5acfc3cp-1022
= fma tonearest ibm128 0x2.2a7aca1773e0cp-908 0x9.6809186a42038p-128 -0x2.c9e356b3f0fp-1024 : -0x2.c89d5c48eefa4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x2.2a7aca1773e0cp-908 0x9.6809186a42038p-128 -0x2.c9e356b3f0fp-1024 : -0x2.c89d5c48eefap-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x2.2a7aca1773e0cp-908 0x9.6809186a42038p-128 -0x2.c9e356b3f0fp-1024 : -0x2.c89d5c48eefap-1024 : inexact underflow errno-erange-ok
fma -0x1.fffffffffffffp-711 0x1.fffffffffffffp-275 0x1.fffffe00007ffp-983
fma -0x1.fffffffffffffp-711 0x1.fffffffffffffp-275 0x1.fffffe00007ffp-983 missing-errno
= fma downward binary64 -0x3.ffffffffffffep-712 0x3.ffffffffffffep-276 0x3.fffffc0000ffep-984 : 0x2.fffffc0000ffep-984 : inexact
= fma tonearest binary64 -0x3.ffffffffffffep-712 0x3.ffffffffffffep-276 0x3.fffffc0000ffep-984 : 0x2.fffffc0000ffep-984 : inexact
= fma towardzero binary64 -0x3.ffffffffffffep-712 0x3.ffffffffffffep-276 0x3.fffffc0000ffep-984 : 0x2.fffffc0000ffep-984 : inexact
@ -13784,7 +13784,7 @@ fma -0x1.fffffffffffffp-711 0x1.fffffffffffffp-275 0x1.fffffe00007ffp-983
= fma tonearest ibm128 -0x3.ffffffffffffep-712 0x3.ffffffffffffep-276 0x3.fffffc0000ffep-984 : 0x2.fffffc0000fffp-984 : inexact underflow errno-erange-ok
= fma towardzero ibm128 -0x3.ffffffffffffep-712 0x3.ffffffffffffep-276 0x3.fffffc0000ffep-984 : 0x2.fffffc0000ffefffffffffcp-984 : inexact underflow errno-erange-ok
= fma upward ibm128 -0x3.ffffffffffffep-712 0x3.ffffffffffffep-276 0x3.fffffc0000ffep-984 : 0x2.fffffc0000fffp-984 : inexact underflow errno-erange-ok
fma 0x1.4p-1022 0x1.0000000000002p-1 0x1p-1024
fma 0x1.4p-1022 0x1.0000000000002p-1 0x1p-1024 missing-errno
= fma downward binary64 0x5p-1024 0x8.000000000001p-4 0x1p-1024 : 0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x5p-1024 0x8.000000000001p-4 0x1p-1024 : 0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x5p-1024 0x8.000000000001p-4 0x1p-1024 : 0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
@ -13805,7 +13805,7 @@ fma 0x1.4p-1022 0x1.0000000000002p-1 0x1p-1024
= fma tonearest ibm128 0x5p-1024 0x8.000000000001p-4 0x1p-1024 : 0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x5p-1024 0x8.000000000001p-4 0x1p-1024 : 0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x5p-1024 0x8.000000000001p-4 0x1p-1024 : 0x3.8000000000008p-1024 : inexact underflow errno-erange-ok
fma -0x1.4p-1022 0x1.0000000000002p-1 -0x1p-1024
fma -0x1.4p-1022 0x1.0000000000002p-1 -0x1p-1024 missing-errno
= fma downward binary64 -0x5p-1024 0x8.000000000001p-4 -0x1p-1024 : -0x3.8000000000008p-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 -0x5p-1024 0x8.000000000001p-4 -0x1p-1024 : -0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 -0x5p-1024 0x8.000000000001p-4 -0x1p-1024 : -0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
@ -13826,7 +13826,7 @@ fma -0x1.4p-1022 0x1.0000000000002p-1 -0x1p-1024
= fma tonearest ibm128 -0x5p-1024 0x8.000000000001p-4 -0x1p-1024 : -0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 -0x5p-1024 0x8.000000000001p-4 -0x1p-1024 : -0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 -0x5p-1024 0x8.000000000001p-4 -0x1p-1024 : -0x3.8000000000004p-1024 : inexact underflow errno-erange-ok
fma 0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 0x1p-1074
fma 0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 0x1p-1074 missing-errno
= fma downward binary64 0x7.ffffffffffffp-1024 0x8.0000000000008p-4 0x4p-1076 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x7.ffffffffffffp-1024 0x8.0000000000008p-4 0x4p-1076 : 0x4p-1024 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary64 0x7.ffffffffffffp-1024 0x8.0000000000008p-4 0x4p-1076 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -13847,7 +13847,7 @@ fma 0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 0x1p-1074
= fma tonearest ibm128 0x7.ffffffffffffp-1024 0x8.0000000000008p-4 0x4p-1076 : 0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x7.ffffffffffffp-1024 0x8.0000000000008p-4 0x4p-1076 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x7.ffffffffffffp-1024 0x8.0000000000008p-4 0x4p-1076 : 0x4p-1024 : inexact underflow errno-erange-ok
fma -0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 -0x1p-1074
fma -0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 -0x1p-1074 missing-errno
= fma downward binary64 -0x7.ffffffffffffp-1024 0x8.0000000000008p-4 -0x4p-1076 : -0x4p-1024 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma tonearest binary64 -0x7.ffffffffffffp-1024 0x8.0000000000008p-4 -0x4p-1076 : -0x4p-1024 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary64 -0x7.ffffffffffffp-1024 0x8.0000000000008p-4 -0x4p-1076 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -13868,7 +13868,7 @@ fma -0x1.ffffffffffffcp-1022 0x1.0000000000001p-1 -0x1p-1074
= fma tonearest ibm128 -0x7.ffffffffffffp-1024 0x8.0000000000008p-4 -0x4p-1076 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 -0x7.ffffffffffffp-1024 0x8.0000000000008p-4 -0x4p-1076 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 -0x7.ffffffffffffp-1024 0x8.0000000000008p-4 -0x4p-1076 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 0x1p-1 0x0.fffffffffffffp-1022
fma 0x1p-1074 0x1p-1 0x0.fffffffffffffp-1022 missing-errno
= fma downward binary64 0x4p-1076 0x8p-4 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x4p-1076 0x8p-4 0x3.ffffffffffffcp-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x4p-1076 0x8p-4 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -13889,7 +13889,7 @@ fma 0x1p-1074 0x1p-1 0x0.fffffffffffffp-1022
= fma tonearest ibm128 0x4p-1076 0x8p-4 0x3.ffffffffffffcp-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 0x8p-4 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 0x8p-4 0x3.ffffffffffffcp-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
fma -0x1p-1074 0x1p-1 -0x0.fffffffffffffp-1022
fma -0x1p-1074 0x1p-1 -0x0.fffffffffffffp-1022 missing-errno
= fma downward binary64 -0x4p-1076 0x8p-4 -0x3.ffffffffffffcp-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 -0x4p-1076 0x8p-4 -0x3.ffffffffffffcp-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 -0x4p-1076 0x8p-4 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -13910,7 +13910,7 @@ fma -0x1p-1074 0x1p-1 -0x0.fffffffffffffp-1022
= fma tonearest ibm128 -0x4p-1076 0x8p-4 -0x3.ffffffffffffcp-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 -0x4p-1076 0x8p-4 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 -0x4p-1076 0x8p-4 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 0x1.1p-1 0x0.fffffffffffffp-1022
fma 0x1p-1074 0x1.1p-1 0x0.fffffffffffffp-1022 missing-errno
= fma downward binary64 0x4p-1076 0x8.8p-4 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x4p-1076 0x8.8p-4 0x3.ffffffffffffcp-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x4p-1076 0x8.8p-4 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -13931,7 +13931,7 @@ fma 0x1p-1074 0x1.1p-1 0x0.fffffffffffffp-1022
= fma tonearest ibm128 0x4p-1076 0x8.8p-4 0x3.ffffffffffffcp-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 0x8.8p-4 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 0x8.8p-4 0x3.ffffffffffffcp-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
fma -0x1p-1074 0x1.1p-1 -0x0.fffffffffffffp-1022
fma -0x1p-1074 0x1.1p-1 -0x0.fffffffffffffp-1022 missing-errno
= fma downward binary64 -0x4p-1076 0x8.8p-4 -0x3.ffffffffffffcp-1024 : -0x4p-1024 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma tonearest binary64 -0x4p-1076 0x8.8p-4 -0x3.ffffffffffffcp-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 -0x4p-1076 0x8.8p-4 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -13952,7 +13952,7 @@ fma -0x1p-1074 0x1.1p-1 -0x0.fffffffffffffp-1022
= fma tonearest ibm128 -0x4p-1076 0x8.8p-4 -0x3.ffffffffffffcp-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 -0x4p-1076 0x8.8p-4 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 -0x4p-1076 0x8.8p-4 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 0x1p-1074 0x1p1023
fma 0x1p-1074 0x1p-1074 0x1p1023 missing-errno
= fma downward binary64 0x4p-1076 0x4p-1076 0x8p+1020 : 0x8p+1020 : inexact
= fma tonearest binary64 0x4p-1076 0x4p-1076 0x8p+1020 : 0x8p+1020 : inexact
= fma towardzero binary64 0x4p-1076 0x4p-1076 0x8p+1020 : 0x8p+1020 : inexact
@ -13973,7 +13973,7 @@ fma 0x1p-1074 0x1p-1074 0x1p1023
= fma tonearest ibm128 0x4p-1076 0x4p-1076 0x8p+1020 : 0x8p+1020 : inexact
= fma towardzero ibm128 0x4p-1076 0x4p-1076 0x8p+1020 : 0x8p+1020 : inexact
= fma upward ibm128 0x4p-1076 0x4p-1076 0x8p+1020 : 0x8.00000000000000000000000004p+1020 : inexact
fma 0x1p-1074 -0x1p-1074 0x1p1023
fma 0x1p-1074 -0x1p-1074 0x1p1023 missing-errno
= fma downward binary64 0x4p-1076 -0x4p-1076 0x8p+1020 : 0x7.ffffffffffffcp+1020 : inexact
= fma tonearest binary64 0x4p-1076 -0x4p-1076 0x8p+1020 : 0x8p+1020 : inexact
= fma towardzero binary64 0x4p-1076 -0x4p-1076 0x8p+1020 : 0x7.ffffffffffffcp+1020 : inexact
@ -13994,7 +13994,7 @@ fma 0x1p-1074 -0x1p-1074 0x1p1023
= fma tonearest ibm128 0x4p-1076 -0x4p-1076 0x8p+1020 : 0x8p+1020 : inexact
= fma towardzero ibm128 0x4p-1076 -0x4p-1076 0x8p+1020 : 0x7.fffffffffffffffffffffffffep+1020 : inexact
= fma upward ibm128 0x4p-1076 -0x4p-1076 0x8p+1020 : 0x8p+1020 : inexact
fma 0x1p-1074 0x1p-1074 -0x1p1023
fma 0x1p-1074 0x1p-1074 -0x1p1023 missing-errno
= fma downward binary64 0x4p-1076 0x4p-1076 -0x8p+1020 : -0x8p+1020 : inexact
= fma tonearest binary64 0x4p-1076 0x4p-1076 -0x8p+1020 : -0x8p+1020 : inexact
= fma towardzero binary64 0x4p-1076 0x4p-1076 -0x8p+1020 : -0x7.ffffffffffffcp+1020 : inexact
@ -14015,7 +14015,7 @@ fma 0x1p-1074 0x1p-1074 -0x1p1023
= fma tonearest ibm128 0x4p-1076 0x4p-1076 -0x8p+1020 : -0x8p+1020 : inexact
= fma towardzero ibm128 0x4p-1076 0x4p-1076 -0x8p+1020 : -0x7.fffffffffffffffffffffffffep+1020 : inexact
= fma upward ibm128 0x4p-1076 0x4p-1076 -0x8p+1020 : -0x7.fffffffffffffffffffffffffep+1020 : inexact
fma 0x1p-1074 -0x1p-1074 -0x1p1023
fma 0x1p-1074 -0x1p-1074 -0x1p1023 missing-errno
= fma downward binary64 0x4p-1076 -0x4p-1076 -0x8p+1020 : -0x8.0000000000008p+1020 : inexact
= fma tonearest binary64 0x4p-1076 -0x4p-1076 -0x8p+1020 : -0x8p+1020 : inexact
= fma towardzero binary64 0x4p-1076 -0x4p-1076 -0x8p+1020 : -0x8p+1020 : inexact
@ -14036,7 +14036,7 @@ fma 0x1p-1074 -0x1p-1074 -0x1p1023
= fma tonearest ibm128 0x4p-1076 -0x4p-1076 -0x8p+1020 : -0x8p+1020 : inexact
= fma towardzero ibm128 0x4p-1076 -0x4p-1076 -0x8p+1020 : -0x8p+1020 : inexact
= fma upward ibm128 0x4p-1076 -0x4p-1076 -0x8p+1020 : -0x8p+1020 : inexact
fma 0x1p-1074 0x1p-1074 0x1p-1022
fma 0x1p-1074 0x1p-1074 0x1p-1022 missing-errno
= fma downward binary64 0x4p-1076 0x4p-1076 0x4p-1024 : 0x4p-1024 : inexact
= fma tonearest binary64 0x4p-1076 0x4p-1076 0x4p-1024 : 0x4p-1024 : inexact
= fma towardzero binary64 0x4p-1076 0x4p-1076 0x4p-1024 : 0x4p-1024 : inexact
@ -14057,7 +14057,7 @@ fma 0x1p-1074 0x1p-1074 0x1p-1022
= fma tonearest ibm128 0x4p-1076 0x4p-1076 0x4p-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 0x4p-1076 0x4p-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 0x4p-1076 0x4p-1024 : 0x4.0000000000004p-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 -0x1p-1074 0x1p-1022
fma 0x1p-1074 -0x1p-1074 0x1p-1022 missing-errno
= fma downward binary64 0x4p-1076 -0x4p-1076 0x4p-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x4p-1076 -0x4p-1076 0x4p-1024 : 0x4p-1024 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary64 0x4p-1076 -0x4p-1076 0x4p-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -14078,7 +14078,7 @@ fma 0x1p-1074 -0x1p-1074 0x1p-1022
= fma tonearest ibm128 0x4p-1076 -0x4p-1076 0x4p-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 -0x4p-1076 0x4p-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 -0x4p-1076 0x4p-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 0x1p-1074 -0x1p-1022
fma 0x1p-1074 0x1p-1074 -0x1p-1022 missing-errno
= fma downward binary64 0x4p-1076 0x4p-1076 -0x4p-1024 : -0x4p-1024 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma tonearest binary64 0x4p-1076 0x4p-1076 -0x4p-1024 : -0x4p-1024 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary64 0x4p-1076 0x4p-1076 -0x4p-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -14099,7 +14099,7 @@ fma 0x1p-1074 0x1p-1074 -0x1p-1022
= fma tonearest ibm128 0x4p-1076 0x4p-1076 -0x4p-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 0x4p-1076 -0x4p-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 0x4p-1076 -0x4p-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 -0x1p-1074 -0x1p-1022
fma 0x1p-1074 -0x1p-1074 -0x1p-1022 missing-errno
= fma downward binary64 0x4p-1076 -0x4p-1076 -0x4p-1024 : -0x4.0000000000004p-1024 : inexact
= fma tonearest binary64 0x4p-1076 -0x4p-1076 -0x4p-1024 : -0x4p-1024 : inexact
= fma towardzero binary64 0x4p-1076 -0x4p-1076 -0x4p-1024 : -0x4p-1024 : inexact
@ -14120,7 +14120,7 @@ fma 0x1p-1074 -0x1p-1074 -0x1p-1022
= fma tonearest ibm128 0x4p-1076 -0x4p-1076 -0x4p-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 -0x4p-1076 -0x4p-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 -0x4p-1076 -0x4p-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 0x1p-1074 0x0.fffffffffffffp-1022
fma 0x1p-1074 0x1p-1074 0x0.fffffffffffffp-1022 missing-errno
= fma downward binary64 0x4p-1076 0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x4p-1076 0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x4p-1076 0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -14141,7 +14141,7 @@ fma 0x1p-1074 0x1p-1074 0x0.fffffffffffffp-1022
= fma tonearest ibm128 0x4p-1076 0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 0x4p-1076 0x3.ffffffffffffcp-1024 : 0x4p-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 -0x1p-1074 0x0.fffffffffffffp-1022
fma 0x1p-1074 -0x1p-1074 0x0.fffffffffffffp-1022 missing-errno
= fma downward binary64 0x4p-1076 -0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffff8p-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x4p-1076 -0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x4p-1076 -0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffff8p-1024 : inexact underflow errno-erange-ok
@ -14162,7 +14162,7 @@ fma 0x1p-1074 -0x1p-1074 0x0.fffffffffffffp-1022
= fma tonearest ibm128 0x4p-1076 -0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 -0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffff8p-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 -0x4p-1076 0x3.ffffffffffffcp-1024 : 0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 0x1p-1074 -0x0.fffffffffffffp-1022
fma 0x1p-1074 0x1p-1074 -0x0.fffffffffffffp-1022 missing-errno
= fma downward binary64 0x4p-1076 0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x4p-1076 0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x4p-1076 0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffff8p-1024 : inexact underflow errno-erange-ok
@ -14183,7 +14183,7 @@ fma 0x1p-1074 0x1p-1074 -0x0.fffffffffffffp-1022
= fma tonearest ibm128 0x4p-1076 0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffff8p-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffff8p-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 -0x1p-1074 -0x0.fffffffffffffp-1022
fma 0x1p-1074 -0x1p-1074 -0x0.fffffffffffffp-1022 missing-errno
= fma downward binary64 0x4p-1076 -0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x4p-1024 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x4p-1076 -0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x4p-1076 -0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
@ -14204,7 +14204,7 @@ fma 0x1p-1074 -0x1p-1074 -0x0.fffffffffffffp-1022
= fma tonearest ibm128 0x4p-1076 -0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 -0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
= fma upward ibm128 0x4p-1076 -0x4p-1076 -0x3.ffffffffffffcp-1024 : -0x3.ffffffffffffcp-1024 : inexact underflow errno-erange-ok
fma 0x1p-1074 0x1p-1074 0x1p-1074
fma 0x1p-1074 0x1p-1074 0x1p-1074 missing-errno
= fma downward binary64 0x4p-1076 0x4p-1076 0x4p-1076 : 0x4p-1076 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x4p-1076 0x4p-1076 0x4p-1076 : 0x4p-1076 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x4p-1076 0x4p-1076 0x4p-1076 : 0x4p-1076 : inexact underflow errno-erange-ok
@ -14267,7 +14267,7 @@ fma 0x1p-1074 0x1p-1074 -0x1p-1074 missing-errno
= fma tonearest ibm128 0x4p-1076 0x4p-1076 -0x4p-1076 : -0x4p-1076 : inexact underflow errno-erange-ok
= fma towardzero ibm128 0x4p-1076 0x4p-1076 -0x4p-1076 : -0x0p+0 : xfail:ibm128-libgcc inexact underflow errno-erange errno-erange-ok
= fma upward ibm128 0x4p-1076 0x4p-1076 -0x4p-1076 : -0x0p+0 : xfail:ibm128-libgcc inexact underflow errno-erange errno-erange-ok
fma 0x1p-1074 -0x1p-1074 -0x1p-1074
fma 0x1p-1074 -0x1p-1074 -0x1p-1074 missing-errno
= fma downward binary64 0x4p-1076 -0x4p-1076 -0x4p-1076 : -0x8p-1076 : inexact underflow errno-erange-ok
= fma tonearest binary64 0x4p-1076 -0x4p-1076 -0x4p-1076 : -0x4p-1076 : inexact underflow errno-erange-ok
= fma towardzero binary64 0x4p-1076 -0x4p-1076 -0x4p-1076 : -0x4p-1076 : inexact underflow errno-erange-ok
@ -14372,7 +14372,7 @@ fma -0x0.fffffffffffff8p0 -0x0.fffffffffffff8p0 -0x0.fffffffffffffp0
= fma tonearest ibm128 -0xf.ffffffffffff8p-4 -0xf.ffffffffffff8p-4 -0xf.ffffffffffffp-4 : 0x4p-108 :
= fma towardzero ibm128 -0xf.ffffffffffff8p-4 -0xf.ffffffffffff8p-4 -0xf.ffffffffffffp-4 : 0x4p-108 :
= fma upward ibm128 -0xf.ffffffffffff8p-4 -0xf.ffffffffffff8p-4 -0xf.ffffffffffffp-4 : 0x4p-108 :
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p1023
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p1023 missing-errno
= fma downward binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x8p+1020 : 0x8p+1020 : inexact
= fma tonearest binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x8p+1020 : 0x8p+1020 : inexact
= fma towardzero binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x8p+1020 : 0x8p+1020 : inexact
@ -14393,7 +14393,7 @@ fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p1023
= fma tonearest ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x8p+1020 : 0x8p+1020 : inexact
= fma towardzero ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x8p+1020 : 0x8p+1020 : inexact
= fma upward ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x8p+1020 : 0x8.00000000000000000000000004p+1020 : inexact
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p1023
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p1023 missing-errno
= fma downward binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x8p+1020 : 0x7.ffffffffffffcp+1020 : inexact
= fma tonearest binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x8p+1020 : 0x8p+1020 : inexact
= fma towardzero binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x8p+1020 : 0x7.ffffffffffffcp+1020 : inexact
@ -14414,7 +14414,7 @@ fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p1023
= fma tonearest ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x8p+1020 : 0x8p+1020 : inexact
= fma towardzero ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x8p+1020 : 0x7.fffffffffffffffffffffffffep+1020 : inexact
= fma upward ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x8p+1020 : 0x8p+1020 : inexact
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p1023
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p1023 missing-errno
= fma downward binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x8p+1020 : -0x8p+1020 : inexact
= fma tonearest binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x8p+1020 : -0x8p+1020 : inexact
= fma towardzero binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x8p+1020 : -0x7.ffffffffffffcp+1020 : inexact
@ -14435,7 +14435,7 @@ fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p1023
= fma tonearest ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x8p+1020 : -0x8p+1020 : inexact
= fma towardzero ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x8p+1020 : -0x7.fffffffffffffffffffffffffep+1020 : inexact
= fma upward ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x8p+1020 : -0x7.fffffffffffffffffffffffffep+1020 : inexact
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p1023
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p1023 missing-errno
= fma downward binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x8p+1020 : -0x8.0000000000008p+1020 : inexact
= fma tonearest binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x8p+1020 : -0x8p+1020 : inexact
= fma towardzero binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x8p+1020 : -0x8p+1020 : inexact
@ -14456,7 +14456,7 @@ fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p1023
= fma tonearest ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x8p+1020 : -0x8p+1020 : inexact
= fma towardzero ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x8p+1020 : -0x8p+1020 : inexact
= fma upward ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x8p+1020 : -0x8p+1020 : inexact
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p970
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p970 missing-errno
= fma downward binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x4p+968 : 0x4p+968 : inexact
= fma tonearest binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x4p+968 : 0x4p+968 : inexact
= fma towardzero binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x4p+968 : 0x4p+968 : inexact
@ -14477,7 +14477,7 @@ fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 0x1p970
= fma tonearest ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x4p+968 : 0x4p+968 : inexact
= fma towardzero ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x4p+968 : 0x4p+968 : inexact
= fma upward ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 0x4p+968 : 0x4.00000000000000000000000002p+968 : inexact
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p970
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p970 missing-errno
= fma downward binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x4p+968 : 0x3.ffffffffffffep+968 : inexact
= fma tonearest binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x4p+968 : 0x4p+968 : inexact
= fma towardzero binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x4p+968 : 0x3.ffffffffffffep+968 : inexact
@ -14498,7 +14498,7 @@ fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 0x1p970
= fma tonearest ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x4p+968 : 0x4p+968 : inexact
= fma towardzero ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x4p+968 : 0x3.ffffffffffffffffffffffffffp+968 : inexact
= fma upward ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 0x4p+968 : 0x4p+968 : inexact
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p970
fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p970 missing-errno
= fma downward binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x4p+968 : -0x4p+968 : inexact
= fma tonearest binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x4p+968 : -0x4p+968 : inexact
= fma towardzero binary64 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x4p+968 : -0x3.ffffffffffffep+968 : inexact
@ -14519,7 +14519,7 @@ fma 0x1.0000000000001p-1022 0x1.0000000000001p-55 -0x1p970
= fma tonearest ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x4p+968 : -0x4p+968 : inexact
= fma towardzero ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x4p+968 : -0x3.ffffffffffffffffffffffffffp+968 : inexact
= fma upward ibm128 0x4.0000000000004p-1024 0x2.0000000000002p-56 -0x4p+968 : -0x3.ffffffffffffffffffffffffffp+968 : inexact
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p970
fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p970 missing-errno
= fma downward binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x4p+968 : -0x4.0000000000004p+968 : inexact
= fma tonearest binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x4p+968 : -0x4p+968 : inexact
= fma towardzero binary64 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x4p+968 : -0x4p+968 : inexact
@ -14540,7 +14540,7 @@ fma 0x1.0000000000001p-1022 -0x1.0000000000001p-55 -0x1p970
= fma tonearest ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x4p+968 : -0x4p+968 : inexact
= fma towardzero ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x4p+968 : -0x4p+968 : inexact
= fma upward ibm128 0x4.0000000000004p-1024 -0x2.0000000000002p-56 -0x4p+968 : -0x4p+968 : inexact
fma -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x8.3ffffffffffffffp-2450
fma -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x8.3ffffffffffffffp-2450 missing-errno
= fma downward intel96 -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x2.0ffffffffffffffcp-2448 : -0x8.01ecp-2440 : inexact
= fma tonearest intel96 -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x2.0ffffffffffffffcp-2448 : -0x8.01ecp-2440 : inexact
= fma towardzero intel96 -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x2.0ffffffffffffffcp-2448 : -0x8.01ebfffffffffffp-2440 : inexact
@ -14553,7 +14553,7 @@ fma -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x8.3ffffffffffffffp-2450
= fma tonearest binary128 -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x2.0ffffffffffffffcp-2448 : -0x8.01ebfffffffffff80004p-2440 :
= fma towardzero binary128 -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x2.0ffffffffffffffcp-2448 : -0x8.01ebfffffffffff80004p-2440 :
= fma upward binary128 -0x8.03fcp+3696 0xf.fffffffffffffffp-6140 0x2.0ffffffffffffffcp-2448 : -0x8.01ebfffffffffff80004p-2440 :
fma 0x9.fcp+2033 -0x8.000e1f000ff800fp-3613 -0xf.fffffffffffc0ffp-1579
fma 0x9.fcp+2033 -0x8.000e1f000ff800fp-3613 -0xf.fffffffffffc0ffp-1579 missing-errno
= fma downward intel96 0x1.3f8p+2036 -0x4.00070f8007fc0078p-3612 -0x1.ffffffffffff81fep-1576 : -0x6.fe08cfd849f68498p-1576 : inexact
= fma tonearest intel96 0x1.3f8p+2036 -0x4.00070f8007fc0078p-3612 -0x1.ffffffffffff81fep-1576 : -0x6.fe08cfd849f6849p-1576 : inexact
= fma towardzero intel96 0x1.3f8p+2036 -0x4.00070f8007fc0078p-3612 -0x1.ffffffffffff81fep-1576 : -0x6.fe08cfd849f6849p-1576 : inexact
@ -14566,7 +14566,7 @@ fma 0x9.fcp+2033 -0x8.000e1f000ff800fp-3613 -0xf.fffffffffffc0ffp-1579
= fma tonearest binary128 0x1.3f8p+2036 -0x4.00070f8007fc0078p-3612 -0x1.ffffffffffff81fep-1576 : -0x6.fe08cfd849f68493c4p-1576 :
= fma towardzero binary128 0x1.3f8p+2036 -0x4.00070f8007fc0078p-3612 -0x1.ffffffffffff81fep-1576 : -0x6.fe08cfd849f68493c4p-1576 :
= fma upward binary128 0x1.3f8p+2036 -0x4.00070f8007fc0078p-3612 -0x1.ffffffffffff81fep-1576 : -0x6.fe08cfd849f68493c4p-1576 :
fma 0xc.7fc000003ffffffp-1194 0x8.1e0003fffffffffp+15327 -0x8.fffep+14072
fma 0xc.7fc000003ffffffp-1194 0x8.1e0003fffffffffp+15327 -0x8.fffep+14072 missing-errno
= fma downward intel96 0x3.1ff000000ffffffcp-1192 0x4.0f0001fffffffff8p+15328 -0x8.fffep+14072 : 0xc.ae9f164020efffep+14136 : inexact
= fma tonearest intel96 0x3.1ff000000ffffffcp-1192 0x4.0f0001fffffffff8p+15328 -0x8.fffep+14072 : 0xc.ae9f164020effffp+14136 : inexact
= fma towardzero intel96 0x3.1ff000000ffffffcp-1192 0x4.0f0001fffffffff8p+15328 -0x8.fffep+14072 : 0xc.ae9f164020efffep+14136 : inexact
@ -14579,7 +14579,7 @@ fma 0xc.7fc000003ffffffp-1194 0x8.1e0003fffffffffp+15327 -0x8.fffep+14072
= fma tonearest binary128 0x3.1ff000000ffffffcp-1192 0x4.0f0001fffffffff8p+15328 -0x8.fffep+14072 : 0xc.ae9f164020efffedc481f7ff8p+14136 : inexact
= fma towardzero binary128 0x3.1ff000000ffffffcp-1192 0x4.0f0001fffffffff8p+15328 -0x8.fffep+14072 : 0xc.ae9f164020efffedc481f7ff8p+14136 : inexact
= fma upward binary128 0x3.1ff000000ffffffcp-1192 0x4.0f0001fffffffff8p+15328 -0x8.fffep+14072 : 0xc.ae9f164020efffedc481f7ff8008p+14136 : inexact
fma -0x8.0001fc000000003p+1798 0xcp-2230 0x8.f7e000000000007p-468
fma -0x8.0001fc000000003p+1798 0xcp-2230 0x8.f7e000000000007p-468 missing-errno
= fma downward intel96 -0x2.00007f000000000cp+1800 0x3p-2228 0x8.f7e000000000007p-468 : -0x6.00017cfff7082028p-428 : inexact
= fma tonearest intel96 -0x2.00007f000000000cp+1800 0x3p-2228 0x8.f7e000000000007p-468 : -0x6.00017cfff708202p-428 : inexact
= fma towardzero intel96 -0x2.00007f000000000cp+1800 0x3p-2228 0x8.f7e000000000007p-468 : -0x6.00017cfff708202p-428 : inexact
@ -14592,7 +14592,7 @@ fma -0x8.0001fc000000003p+1798 0xcp-2230 0x8.f7e000000000007p-468
= fma tonearest binary128 -0x2.00007f000000000cp+1800 0x3p-2228 0x8.f7e000000000007p-468 : -0x6.00017cfff7082023ffffffff9p-428 :
= fma towardzero binary128 -0x2.00007f000000000cp+1800 0x3p-2228 0x8.f7e000000000007p-468 : -0x6.00017cfff7082023ffffffff9p-428 :
= fma upward binary128 -0x2.00007f000000000cp+1800 0x3p-2228 0x8.f7e000000000007p-468 : -0x6.00017cfff7082023ffffffff9p-428 :
fma 0xc.0000000000007ffp+10130 -0x8.000000000000001p+4430 0xc.07000000001ffffp+14513
fma 0xc.0000000000007ffp+10130 -0x8.000000000000001p+4430 0xc.07000000001ffffp+14513 missing-errno
= fma downward intel96 0x3.0000000000001ffcp+10132 -0x2.0000000000000004p+4432 0x1.80e000000003fffep+14516 : -0x5.fffffffffffebf28p+14564 : inexact
= fma tonearest intel96 0x3.0000000000001ffcp+10132 -0x2.0000000000000004p+4432 0x1.80e000000003fffep+14516 : -0x5.fffffffffffebf2p+14564 : inexact
= fma towardzero intel96 0x3.0000000000001ffcp+10132 -0x2.0000000000000004p+4432 0x1.80e000000003fffep+14516 : -0x5.fffffffffffebf2p+14564 : inexact
@ -14605,7 +14605,7 @@ fma 0xc.0000000000007ffp+10130 -0x8.000000000000001p+4430 0xc.07000000001ffffp+1
= fma tonearest binary128 0x3.0000000000001ffcp+10132 -0x2.0000000000000004p+4432 0x1.80e000000003fffep+14516 : -0x5.fffffffffffebf23fffffffc0004p+14564 : inexact
= fma towardzero binary128 0x3.0000000000001ffcp+10132 -0x2.0000000000000004p+4432 0x1.80e000000003fffep+14516 : -0x5.fffffffffffebf23fffffffcp+14564 : inexact
= fma upward binary128 0x3.0000000000001ffcp+10132 -0x2.0000000000000004p+4432 0x1.80e000000003fffep+14516 : -0x5.fffffffffffebf23fffffffcp+14564 : inexact
fma 0xb.ffffp-4777 0x8.000000fffffffffp-11612 -0x0.3800fff8p-16385
fma 0xb.ffffp-4777 0x8.000000fffffffffp-11612 -0x0.3800fff8p-16385 missing-errno
= fma downward intel96 0x5.ffff8p-4776 0x8.000000fffffffffp-11612 -0x1.c007ffcp-16388 : 0x2.e3ff4063fff7fff8p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x5.ffff8p-4776 0x8.000000fffffffffp-11612 -0x1.c007ffcp-16388 : 0x2.e3ff4063fff7fff8p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x5.ffff8p-4776 0x8.000000fffffffffp-11612 -0x1.c007ffcp-16388 : 0x2.e3ff4063fff7fff8p-16384 : inexact underflow errno-erange-ok
@ -14618,7 +14618,7 @@ fma 0xb.ffffp-4777 0x8.000000fffffffffp-11612 -0x0.3800fff8p-16385
= fma tonearest binary128 0x5.ffff8p-4776 0x8.000000fffffffffp-11612 -0x1.c007ffcp-16388 : 0x2.e3ff4063fff7fffa00008p-16384 :
= fma towardzero binary128 0x5.ffff8p-4776 0x8.000000fffffffffp-11612 -0x1.c007ffcp-16388 : 0x2.e3ff4063fff7fffa00008p-16384 :
= fma upward binary128 0x5.ffff8p-4776 0x8.000000fffffffffp-11612 -0x1.c007ffcp-16388 : 0x2.e3ff4063fff7fffa00008p-16384 :
fma 0x1.4p-16382 0x1.0000000000000004p-1 0x1p-16384
fma 0x1.4p-16382 0x1.0000000000000004p-1 0x1p-16384 missing-errno
= fma downward intel96 0x5p-16384 0x8.000000000000002p-4 0x1p-16384 : 0x3.8000000000000008p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x5p-16384 0x8.000000000000002p-4 0x1p-16384 : 0x3.8000000000000008p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x5p-16384 0x8.000000000000002p-4 0x1p-16384 : 0x3.8000000000000008p-16384 : inexact underflow errno-erange-ok
@ -14631,7 +14631,7 @@ fma 0x1.4p-16382 0x1.0000000000000004p-1 0x1p-16384
= fma tonearest binary128 0x5p-16384 0x8.000000000000002p-4 0x1p-16384 : 0x3.800000000000000ap-16384 :
= fma towardzero binary128 0x5p-16384 0x8.000000000000002p-4 0x1p-16384 : 0x3.800000000000000ap-16384 :
= fma upward binary128 0x5p-16384 0x8.000000000000002p-4 0x1p-16384 : 0x3.800000000000000ap-16384 :
fma -0x1.4p-16382 0x1.0000000000000004p-1 -0x1p-16384
fma -0x1.4p-16382 0x1.0000000000000004p-1 -0x1p-16384 missing-errno
= fma downward intel96 -0x5p-16384 0x8.000000000000002p-4 -0x1p-16384 : -0x3.800000000000001p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 -0x5p-16384 0x8.000000000000002p-4 -0x1p-16384 : -0x3.8000000000000008p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 -0x5p-16384 0x8.000000000000002p-4 -0x1p-16384 : -0x3.8000000000000008p-16384 : inexact underflow errno-erange-ok
@ -14644,7 +14644,7 @@ fma -0x1.4p-16382 0x1.0000000000000004p-1 -0x1p-16384
= fma tonearest binary128 -0x5p-16384 0x8.000000000000002p-4 -0x1p-16384 : -0x3.800000000000000ap-16384 :
= fma towardzero binary128 -0x5p-16384 0x8.000000000000002p-4 -0x1p-16384 : -0x3.800000000000000ap-16384 :
= fma upward binary128 -0x5p-16384 0x8.000000000000002p-4 -0x1p-16384 : -0x3.800000000000000ap-16384 :
fma 0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 0x1p-16445
fma 0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 0x1p-16445 missing-errno
= fma downward intel96 0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 0x8p-16448 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 0x8p-16448 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero intel96 0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 0x8p-16448 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14657,7 +14657,7 @@ fma 0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 0x1p-16445
= fma tonearest binary128 0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 0x8p-16448 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary128 0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 0x8p-16448 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 0x8p-16448 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
fma -0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 -0x1p-16445
fma -0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 -0x1p-16445 missing-errno
= fma downward intel96 -0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 -0x8p-16448 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma tonearest intel96 -0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 -0x8p-16448 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero intel96 -0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 -0x8p-16448 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14670,7 +14670,7 @@ fma -0x1.fffffffffffffff8p-16382 0x1.0000000000000002p-1 -0x1p-16445
= fma tonearest binary128 -0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 -0x8p-16448 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary128 -0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 -0x8p-16448 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 -0x7.ffffffffffffffep-16384 0x8.000000000000001p-4 -0x8p-16448 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
fma 0x1p-16445 0x1p-1 0x0.fffffffffffffffep-16382
fma 0x1p-16445 0x1p-1 0x0.fffffffffffffffep-16382 missing-errno
= fma downward intel96 0x8p-16448 0x8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x8p-16448 0x8p-4 0x3.fffffffffffffff8p-16384 : 0x4p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x8p-16448 0x8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14683,7 +14683,7 @@ fma 0x1p-16445 0x1p-1 0x0.fffffffffffffffep-16382
= fma tonearest binary128 0x8p-16448 0x8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffffcp-16384 :
= fma towardzero binary128 0x8p-16448 0x8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffffcp-16384 :
= fma upward binary128 0x8p-16448 0x8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffffcp-16384 :
fma -0x1p-16445 0x1p-1 -0x0.fffffffffffffffep-16382
fma -0x1p-16445 0x1p-1 -0x0.fffffffffffffffep-16382 missing-errno
= fma downward intel96 -0x8p-16448 0x8p-4 -0x3.fffffffffffffff8p-16384 : -0x4p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 -0x8p-16448 0x8p-4 -0x3.fffffffffffffff8p-16384 : -0x4p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 -0x8p-16448 0x8p-4 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14696,7 +14696,7 @@ fma -0x1p-16445 0x1p-1 -0x0.fffffffffffffffep-16382
= fma tonearest binary128 -0x8p-16448 0x8p-4 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffffcp-16384 :
= fma towardzero binary128 -0x8p-16448 0x8p-4 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffffcp-16384 :
= fma upward binary128 -0x8p-16448 0x8p-4 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffffcp-16384 :
fma 0x1p-16445 0x1.1p-1 0x0.fffffffffffffffep-16382
fma 0x1p-16445 0x1.1p-1 0x0.fffffffffffffffep-16382 missing-errno
= fma downward intel96 0x8p-16448 0x8.8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x8p-16448 0x8.8p-4 0x3.fffffffffffffff8p-16384 : 0x4p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x8p-16448 0x8.8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14709,7 +14709,7 @@ fma 0x1p-16445 0x1.1p-1 0x0.fffffffffffffffep-16382
= fma tonearest binary128 0x8p-16448 0x8.8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffffc4p-16384 :
= fma towardzero binary128 0x8p-16448 0x8.8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffffc4p-16384 :
= fma upward binary128 0x8p-16448 0x8.8p-4 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffffc4p-16384 :
fma -0x1p-16445 0x1.1p-1 -0x0.fffffffffffffffep-16382
fma -0x1p-16445 0x1.1p-1 -0x0.fffffffffffffffep-16382 missing-errno
= fma downward intel96 -0x8p-16448 0x8.8p-4 -0x3.fffffffffffffff8p-16384 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma tonearest intel96 -0x8p-16448 0x8.8p-4 -0x3.fffffffffffffff8p-16384 : -0x4p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 -0x8p-16448 0x8.8p-4 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14722,7 +14722,7 @@ fma -0x1p-16445 0x1.1p-1 -0x0.fffffffffffffffep-16382
= fma tonearest binary128 -0x8p-16448 0x8.8p-4 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffffc4p-16384 :
= fma towardzero binary128 -0x8p-16448 0x8.8p-4 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffffc4p-16384 :
= fma upward binary128 -0x8p-16448 0x8.8p-4 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffffc4p-16384 :
fma 0x1p-16445 0x1p-16445 0x1p16383
fma 0x1p-16445 0x1p-16445 0x1p16383 missing-errno
= fma downward intel96 0x8p-16448 0x8p-16448 0x8p+16380 : 0x8p+16380 : inexact
= fma tonearest intel96 0x8p-16448 0x8p-16448 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero intel96 0x8p-16448 0x8p-16448 0x8p+16380 : 0x8p+16380 : inexact
@ -14735,7 +14735,7 @@ fma 0x1p-16445 0x1p-16445 0x1p16383
= fma tonearest binary128 0x8p-16448 0x8p-16448 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero binary128 0x8p-16448 0x8p-16448 0x8p+16380 : 0x8p+16380 : inexact
= fma upward binary128 0x8p-16448 0x8p-16448 0x8p+16380 : 0x8.0000000000000000000000000008p+16380 : inexact
fma 0x1p-16445 -0x1p-16445 0x1p16383
fma 0x1p-16445 -0x1p-16445 0x1p16383 missing-errno
= fma downward intel96 0x8p-16448 -0x8p-16448 0x8p+16380 : 0x7.fffffffffffffff8p+16380 : inexact
= fma tonearest intel96 0x8p-16448 -0x8p-16448 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero intel96 0x8p-16448 -0x8p-16448 0x8p+16380 : 0x7.fffffffffffffff8p+16380 : inexact
@ -14748,7 +14748,7 @@ fma 0x1p-16445 -0x1p-16445 0x1p16383
= fma tonearest binary128 0x8p-16448 -0x8p-16448 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero binary128 0x8p-16448 -0x8p-16448 0x8p+16380 : 0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma upward binary128 0x8p-16448 -0x8p-16448 0x8p+16380 : 0x8p+16380 : inexact
fma 0x1p-16445 0x1p-16445 -0x1p16383
fma 0x1p-16445 0x1p-16445 -0x1p16383 missing-errno
= fma downward intel96 0x8p-16448 0x8p-16448 -0x8p+16380 : -0x8p+16380 : inexact
= fma tonearest intel96 0x8p-16448 0x8p-16448 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero intel96 0x8p-16448 0x8p-16448 -0x8p+16380 : -0x7.fffffffffffffff8p+16380 : inexact
@ -14761,7 +14761,7 @@ fma 0x1p-16445 0x1p-16445 -0x1p16383
= fma tonearest binary128 0x8p-16448 0x8p-16448 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero binary128 0x8p-16448 0x8p-16448 -0x8p+16380 : -0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma upward binary128 0x8p-16448 0x8p-16448 -0x8p+16380 : -0x7.fffffffffffffffffffffffffffcp+16380 : inexact
fma 0x1p-16445 -0x1p-16445 -0x1p16383
fma 0x1p-16445 -0x1p-16445 -0x1p16383 missing-errno
= fma downward intel96 0x8p-16448 -0x8p-16448 -0x8p+16380 : -0x8.000000000000001p+16380 : inexact
= fma tonearest intel96 0x8p-16448 -0x8p-16448 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero intel96 0x8p-16448 -0x8p-16448 -0x8p+16380 : -0x8p+16380 : inexact
@ -14774,7 +14774,7 @@ fma 0x1p-16445 -0x1p-16445 -0x1p16383
= fma tonearest binary128 0x8p-16448 -0x8p-16448 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero binary128 0x8p-16448 -0x8p-16448 -0x8p+16380 : -0x8p+16380 : inexact
= fma upward binary128 0x8p-16448 -0x8p-16448 -0x8p+16380 : -0x8p+16380 : inexact
fma 0x1p-16445 0x1p-16445 0x1p-16382
fma 0x1p-16445 0x1p-16445 0x1p-16382 missing-errno
= fma downward intel96 0x8p-16448 0x8p-16448 0x4p-16384 : 0x4p-16384 : inexact
= fma tonearest intel96 0x8p-16448 0x8p-16448 0x4p-16384 : 0x4p-16384 : inexact
= fma towardzero intel96 0x8p-16448 0x8p-16448 0x4p-16384 : 0x4p-16384 : inexact
@ -14787,7 +14787,7 @@ fma 0x1p-16445 0x1p-16445 0x1p-16382
= fma tonearest binary128 0x8p-16448 0x8p-16448 0x4p-16384 : 0x4p-16384 : inexact
= fma towardzero binary128 0x8p-16448 0x8p-16448 0x4p-16384 : 0x4p-16384 : inexact
= fma upward binary128 0x8p-16448 0x8p-16448 0x4p-16384 : 0x4.0000000000000000000000000004p-16384 : inexact
fma 0x1p-16445 -0x1p-16445 0x1p-16382
fma 0x1p-16445 -0x1p-16445 0x1p-16382 missing-errno
= fma downward intel96 0x8p-16448 -0x8p-16448 0x4p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x8p-16448 -0x8p-16448 0x4p-16384 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero intel96 0x8p-16448 -0x8p-16448 0x4p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14800,7 +14800,7 @@ fma 0x1p-16445 -0x1p-16445 0x1p-16382
= fma tonearest binary128 0x8p-16448 -0x8p-16448 0x4p-16384 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary128 0x8p-16448 -0x8p-16448 0x4p-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x8p-16448 -0x8p-16448 0x4p-16384 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
fma 0x1p-16445 0x1p-16445 -0x1p-16382
fma 0x1p-16445 0x1p-16445 -0x1p-16382 missing-errno
= fma downward intel96 0x8p-16448 0x8p-16448 -0x4p-16384 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma tonearest intel96 0x8p-16448 0x8p-16448 -0x4p-16384 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero intel96 0x8p-16448 0x8p-16448 -0x4p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14813,7 +14813,7 @@ fma 0x1p-16445 0x1p-16445 -0x1p-16382
= fma tonearest binary128 0x8p-16448 0x8p-16448 -0x4p-16384 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary128 0x8p-16448 0x8p-16448 -0x4p-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x8p-16448 0x8p-16448 -0x4p-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
fma 0x1p-16445 -0x1p-16445 -0x1p-16382
fma 0x1p-16445 -0x1p-16445 -0x1p-16382 missing-errno
= fma downward intel96 0x8p-16448 -0x8p-16448 -0x4p-16384 : -0x4.0000000000000008p-16384 : inexact
= fma tonearest intel96 0x8p-16448 -0x8p-16448 -0x4p-16384 : -0x4p-16384 : inexact
= fma towardzero intel96 0x8p-16448 -0x8p-16448 -0x4p-16384 : -0x4p-16384 : inexact
@ -14826,7 +14826,7 @@ fma 0x1p-16445 -0x1p-16445 -0x1p-16382
= fma tonearest binary128 0x8p-16448 -0x8p-16448 -0x4p-16384 : -0x4p-16384 : inexact
= fma towardzero binary128 0x8p-16448 -0x8p-16448 -0x4p-16384 : -0x4p-16384 : inexact
= fma upward binary128 0x8p-16448 -0x8p-16448 -0x4p-16384 : -0x4p-16384 : inexact
fma 0x1p-16445 0x1p-16445 0x0.fffffffffffffffep-16382
fma 0x1p-16445 0x1p-16445 0x0.fffffffffffffffep-16382 missing-errno
= fma downward intel96 0x8p-16448 0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x8p-16448 0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x8p-16448 0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14839,7 +14839,7 @@ fma 0x1p-16445 0x1p-16445 0x0.fffffffffffffffep-16382
= fma tonearest binary128 0x8p-16448 0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x8p-16448 0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x8p-16448 0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8000000000004p-16384 : inexact underflow errno-erange-ok
fma 0x1p-16445 -0x1p-16445 0x0.fffffffffffffffep-16382
fma 0x1p-16445 -0x1p-16445 0x0.fffffffffffffffep-16382 missing-errno
= fma downward intel96 0x8p-16448 -0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffffp-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x8p-16448 -0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x8p-16448 -0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffffp-16384 : inexact underflow errno-erange-ok
@ -14852,7 +14852,7 @@ fma 0x1p-16445 -0x1p-16445 0x0.fffffffffffffffep-16382
= fma tonearest binary128 0x8p-16448 -0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x8p-16448 -0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff7fffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x8p-16448 -0x8p-16448 0x3.fffffffffffffff8p-16384 : 0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
fma 0x1p-16445 0x1p-16445 -0x0.fffffffffffffffep-16382
fma 0x1p-16445 0x1p-16445 -0x0.fffffffffffffffep-16382 missing-errno
= fma downward intel96 0x8p-16448 0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x8p-16448 0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x8p-16448 0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffffp-16384 : inexact underflow errno-erange-ok
@ -14865,7 +14865,7 @@ fma 0x1p-16445 0x1p-16445 -0x0.fffffffffffffffep-16382
= fma tonearest binary128 0x8p-16448 0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x8p-16448 0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff7fffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x8p-16448 0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff7fffffffffffcp-16384 : inexact underflow errno-erange-ok
fma 0x1p-16445 -0x1p-16445 -0x0.fffffffffffffffep-16382
fma 0x1p-16445 -0x1p-16445 -0x0.fffffffffffffffep-16382 missing-errno
= fma downward intel96 0x8p-16448 -0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x4p-16384 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x8p-16448 -0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x8p-16448 -0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
@ -14878,7 +14878,7 @@ fma 0x1p-16445 -0x1p-16445 -0x0.fffffffffffffffep-16382
= fma tonearest binary128 0x8p-16448 -0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x8p-16448 -0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x8p-16448 -0x8p-16448 -0x3.fffffffffffffff8p-16384 : -0x3.fffffffffffffff8p-16384 : inexact underflow errno-erange-ok
fma 0x1p-16445 0x1p-16445 0x1p-16445
fma 0x1p-16445 0x1p-16445 0x1p-16445 missing-errno
= fma downward intel96 0x8p-16448 0x8p-16448 0x8p-16448 : 0x8p-16448 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x8p-16448 0x8p-16448 0x8p-16448 : 0x8p-16448 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x8p-16448 0x8p-16448 0x8p-16448 : 0x8p-16448 : inexact underflow errno-erange-ok
@ -14917,7 +14917,7 @@ fma 0x1p-16445 0x1p-16445 -0x1p-16445 missing-errno
= fma tonearest binary128 0x8p-16448 0x8p-16448 -0x8p-16448 : -0x8p-16448 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x8p-16448 0x8p-16448 -0x8p-16448 : -0x7.fffffffffffcp-16448 : inexact underflow errno-erange-ok
= fma upward binary128 0x8p-16448 0x8p-16448 -0x8p-16448 : -0x7.fffffffffffcp-16448 : inexact underflow errno-erange-ok
fma 0x1p-16445 -0x1p-16445 -0x1p-16445
fma 0x1p-16445 -0x1p-16445 -0x1p-16445 missing-errno
= fma downward intel96 0x8p-16448 -0x8p-16448 -0x8p-16448 : -0x1p-16444 : inexact underflow errno-erange-ok
= fma tonearest intel96 0x8p-16448 -0x8p-16448 -0x8p-16448 : -0x8p-16448 : inexact underflow errno-erange-ok
= fma towardzero intel96 0x8p-16448 -0x8p-16448 -0x8p-16448 : -0x8p-16448 : inexact underflow errno-erange-ok
@ -14998,7 +14998,7 @@ fma -0x0.ffffffffffffffffp0 -0x0.ffffffffffffffffp0 -0x0.fffffffffffffffep0
= fma tonearest ibm128 -0xf.fffffffffffffffp-4 -0xf.fffffffffffffffp-4 -0xf.ffffffffffffffep-4 : 0x1p-128 :
= fma towardzero ibm128 -0xf.fffffffffffffffp-4 -0xf.fffffffffffffffp-4 -0xf.ffffffffffffffep-4 : 0x1p-128 :
= fma upward ibm128 -0xf.fffffffffffffffp-4 -0xf.fffffffffffffffp-4 -0xf.ffffffffffffffep-4 : 0x1p-128 :
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16383
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16383 missing-errno
= fma downward intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma tonearest intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16380 : 0x8p+16380 : inexact
@ -15011,7 +15011,7 @@ fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16383
= fma tonearest binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma upward binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16380 : 0x8.0000000000000000000000000008p+16380 : inexact
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16383
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16383 missing-errno
= fma downward intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16380 : 0x7.fffffffffffffff8p+16380 : inexact
= fma tonearest intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16380 : 0x7.fffffffffffffff8p+16380 : inexact
@ -15024,7 +15024,7 @@ fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16383
= fma tonearest binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16380 : 0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma upward binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16380 : 0x8p+16380 : inexact
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16383
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16383 missing-errno
= fma downward intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma tonearest intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16380 : -0x7.fffffffffffffff8p+16380 : inexact
@ -15037,7 +15037,7 @@ fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16383
= fma tonearest binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16380 : -0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma upward binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16380 : -0x7.fffffffffffffffffffffffffffcp+16380 : inexact
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16383
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16383 missing-errno
= fma downward intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16380 : -0x8.000000000000001p+16380 : inexact
= fma tonearest intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16380 : -0x8p+16380 : inexact
@ -15050,7 +15050,7 @@ fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16383
= fma tonearest binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma upward binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16380 : -0x8p+16380 : inexact
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16319
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16319 missing-errno
= fma downward intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma tonearest intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma towardzero intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16316 : 0x8p+16316 : inexact
@ -15063,7 +15063,7 @@ fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 0x1p16319
= fma tonearest binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma towardzero binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma upward binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 0x8p+16316 : 0x8.0000000000000000000000000008p+16316 : inexact
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16319
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16319 missing-errno
= fma downward intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16316 : 0x7.fffffffffffffff8p+16316 : inexact
= fma tonearest intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma towardzero intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16316 : 0x7.fffffffffffffff8p+16316 : inexact
@ -15076,7 +15076,7 @@ fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 0x1p16319
= fma tonearest binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma towardzero binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16316 : 0x7.fffffffffffffffffffffffffffcp+16316 : inexact
= fma upward binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 0x8p+16316 : 0x8p+16316 : inexact
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16319
fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16319 missing-errno
= fma downward intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16316 : -0x8p+16316 : inexact
= fma tonearest intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16316 : -0x8p+16316 : inexact
= fma towardzero intel96 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16316 : -0x7.fffffffffffffff8p+16316 : inexact
@ -15089,7 +15089,7 @@ fma 0x1.0000000000000002p-16382 0x1.0000000000000002p-66 -0x1p16319
= fma tonearest binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16316 : -0x8p+16316 : inexact
= fma towardzero binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16316 : -0x7.fffffffffffffffffffffffffffcp+16316 : inexact
= fma upward binary128 0x4.0000000000000008p-16384 0x4.0000000000000008p-68 -0x8p+16316 : -0x7.fffffffffffffffffffffffffffcp+16316 : inexact
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16319
fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16319 missing-errno
= fma downward intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16316 : -0x8.000000000000001p+16316 : inexact
= fma tonearest intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16316 : -0x8p+16316 : inexact
= fma towardzero intel96 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16316 : -0x8p+16316 : inexact
@ -15102,67 +15102,67 @@ fma 0x1.0000000000000002p-16382 -0x1.0000000000000002p-66 -0x1p16319
= fma tonearest binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16316 : -0x8p+16316 : inexact
= fma towardzero binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16316 : -0x8p+16316 : inexact
= fma upward binary128 0x4.0000000000000008p-16384 -0x4.0000000000000008p-68 -0x8p+16316 : -0x8p+16316 : inexact
fma 0x1.bb2de33e02ccbbfa6e245a7c1f71p-2584 -0x1.6b500daf0580d987f1bc0cadfcddp-13777 0x1.613cd91d9fed34b33820e5ab9d8dp-16378
fma 0x1.bb2de33e02ccbbfa6e245a7c1f71p-2584 -0x1.6b500daf0580d987f1bc0cadfcddp-13777 0x1.613cd91d9fed34b33820e5ab9d8dp-16378 missing-errno
= fma downward binary128 0x1.bb2de33e02ccbbfa6e245a7c1f71p-2584 -0xb.5a806d782c06cc3f8de0656fe6e8p-13780 0x5.84f364767fb4d2cce08396ae7634p-16380 : -0x1.3a79fb50eb9ce887cffa0f09bd9fp-16360 : inexact
= fma tonearest binary128 0x1.bb2de33e02ccbbfa6e245a7c1f71p-2584 -0xb.5a806d782c06cc3f8de0656fe6e8p-13780 0x5.84f364767fb4d2cce08396ae7634p-16380 : -0x1.3a79fb50eb9ce887cffa0f09bd9fp-16360 : inexact
= fma towardzero binary128 0x1.bb2de33e02ccbbfa6e245a7c1f71p-2584 -0xb.5a806d782c06cc3f8de0656fe6e8p-13780 0x5.84f364767fb4d2cce08396ae7634p-16380 : -0x1.3a79fb50eb9ce887cffa0f09bd9ep-16360 : inexact
= fma upward binary128 0x1.bb2de33e02ccbbfa6e245a7c1f71p-2584 -0xb.5a806d782c06cc3f8de0656fe6e8p-13780 0x5.84f364767fb4d2cce08396ae7634p-16380 : -0x1.3a79fb50eb9ce887cffa0f09bd9ep-16360 : inexact
fma -0x1.f949b880cacb0f0c61540105321dp-5954 -0x1.3876cec84b4140f3bd6198731b7ep-10525 -0x0.a5dc1c6cfbc498c54fb0b504bf19p-16382
fma -0x1.f949b880cacb0f0c61540105321dp-5954 -0x1.3876cec84b4140f3bd6198731b7ep-10525 -0x0.a5dc1c6cfbc498c54fb0b504bf19p-16382 missing-errno
= fma downward binary128 -0x7.e526e2032b2c3c3185500414c874p-5956 -0x9.c3b676425a0a079deb0cc398dbfp-10528 -0x2.977071b3ef1263153ec2d412fc64p-16384 : -0x2.977071b3ef1263153ec2d40e2aecp-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 -0x7.e526e2032b2c3c3185500414c874p-5956 -0x9.c3b676425a0a079deb0cc398dbfp-10528 -0x2.977071b3ef1263153ec2d412fc64p-16384 : -0x2.977071b3ef1263153ec2d40e2aecp-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 -0x7.e526e2032b2c3c3185500414c874p-5956 -0x9.c3b676425a0a079deb0cc398dbfp-10528 -0x2.977071b3ef1263153ec2d412fc64p-16384 : -0x2.977071b3ef1263153ec2d40e2ae8p-16384 : inexact underflow errno-erange-ok
= fma upward binary128 -0x7.e526e2032b2c3c3185500414c874p-5956 -0x9.c3b676425a0a079deb0cc398dbfp-10528 -0x2.977071b3ef1263153ec2d412fc64p-16384 : -0x2.977071b3ef1263153ec2d40e2ae8p-16384 : inexact underflow errno-erange-ok
fma -0x1.0000fffffffffp-16221 0x1.0000001fffff8007fep-239 0x0.ff87ffffffffffffe000003fffffp-16382
fma -0x1.0000fffffffffp-16221 0x1.0000001fffff8007fep-239 0x0.ff87ffffffffffffe000003fffffp-16382 missing-errno
= fma downward binary128 -0x8.0007ffffffff8p-16224 0x2.0000003fffff000ffcp-240 0x3.fe1fffffffffffff800000fffffcp-16384 : 0x3.fe1fffffffffffff7ff000effdf8p-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 -0x8.0007ffffffff8p-16224 0x2.0000003fffff000ffcp-240 0x3.fe1fffffffffffff800000fffffcp-16384 : 0x3.fe1fffffffffffff7ff000effdfcp-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 -0x8.0007ffffffff8p-16224 0x2.0000003fffff000ffcp-240 0x3.fe1fffffffffffff800000fffffcp-16384 : 0x3.fe1fffffffffffff7ff000effdf8p-16384 : inexact underflow errno-erange-ok
= fma upward binary128 -0x8.0007ffffffff8p-16224 0x2.0000003fffff000ffcp-240 0x3.fe1fffffffffffff800000fffffcp-16384 : 0x3.fe1fffffffffffff7ff000effdfcp-16384 : inexact underflow errno-erange-ok
fma -0x1.ac79c9376ef447f3827c9e9de008p-2228 -0x1.5ba830022b6139e21fbe7270cad8p-6314 0x1.e8282b6a26bb6a9daf5c8e73e9f9p-8616
fma -0x1.ac79c9376ef447f3827c9e9de008p-2228 -0x1.5ba830022b6139e21fbe7270cad8p-6314 0x1.e8282b6a26bb6a9daf5c8e73e9f9p-8616 missing-errno
= fma downward binary128 -0x1.ac79c9376ef447f3827c9e9de008p-2228 -0x5.6ea0c008ad84e7887ef9c9c32b6p-6316 0x1.e8282b6a26bb6a9daf5c8e73e9f9p-8616 : 0x9.178a50129c3c5398668d771b9d68p-8544 : inexact
= fma tonearest binary128 -0x1.ac79c9376ef447f3827c9e9de008p-2228 -0x5.6ea0c008ad84e7887ef9c9c32b6p-6316 0x1.e8282b6a26bb6a9daf5c8e73e9f9p-8616 : 0x9.178a50129c3c5398668d771b9d68p-8544 : inexact
= fma towardzero binary128 -0x1.ac79c9376ef447f3827c9e9de008p-2228 -0x5.6ea0c008ad84e7887ef9c9c32b6p-6316 0x1.e8282b6a26bb6a9daf5c8e73e9f9p-8616 : 0x9.178a50129c3c5398668d771b9d68p-8544 : inexact
= fma upward binary128 -0x1.ac79c9376ef447f3827c9e9de008p-2228 -0x5.6ea0c008ad84e7887ef9c9c32b6p-6316 0x1.e8282b6a26bb6a9daf5c8e73e9f9p-8616 : 0x9.178a50129c3c5398668d771b9d7p-8544 : inexact
fma -0x1.c69749ec574caaa2ab8e97ddb9f3p+2652 0x1.f34235ff9d095449c29b4831b62dp+3311 0x1.fbe4302df23354dbd0c4d3cfe606p+5879
fma -0x1.c69749ec574caaa2ab8e97ddb9f3p+2652 0x1.f34235ff9d095449c29b4831b62dp+3311 0x1.fbe4302df23354dbd0c4d3cfe606p+5879 missing-errno
= fma downward binary128 -0x1.c69749ec574caaa2ab8e97ddb9f3p+2652 0xf.9a11affce84aa24e14da418db168p+3308 0xf.df21816f919aa6de86269e7f303p+5876 : -0x1.bb473bfdfb7a6e18886ce6e57ebp+5964 : inexact
= fma tonearest binary128 -0x1.c69749ec574caaa2ab8e97ddb9f3p+2652 0xf.9a11affce84aa24e14da418db168p+3308 0xf.df21816f919aa6de86269e7f303p+5876 : -0x1.bb473bfdfb7a6e18886ce6e57eafp+5964 : inexact
= fma towardzero binary128 -0x1.c69749ec574caaa2ab8e97ddb9f3p+2652 0xf.9a11affce84aa24e14da418db168p+3308 0xf.df21816f919aa6de86269e7f303p+5876 : -0x1.bb473bfdfb7a6e18886ce6e57eafp+5964 : inexact
= fma upward binary128 -0x1.c69749ec574caaa2ab8e97ddb9f3p+2652 0xf.9a11affce84aa24e14da418db168p+3308 0xf.df21816f919aa6de86269e7f303p+5876 : -0x1.bb473bfdfb7a6e18886ce6e57eafp+5964 : inexact
fma -0x1.ca8835fc6ecfb5398625fc891be5p-1686 0x1.621e1972bbe2180e5be9dd7d8df5p-7671 -0x1.7d2d21b73b52cf20dec2a83902a4p-9395
fma -0x1.ca8835fc6ecfb5398625fc891be5p-1686 0x1.621e1972bbe2180e5be9dd7d8df5p-7671 -0x1.7d2d21b73b52cf20dec2a83902a4p-9395 missing-errno
= fma downward binary128 -0x7.2a20d7f1bb3ed4e61897f2246f94p-1688 0x2.c43c32e577c4301cb7d3bafb1beap-7672 -0x2.fa5a436e76a59e41bd8550720548p-9396 : -0x1.3d2322191c9c88bc68a62ab8042dp-9356 : inexact
= fma tonearest binary128 -0x7.2a20d7f1bb3ed4e61897f2246f94p-1688 0x2.c43c32e577c4301cb7d3bafb1beap-7672 -0x2.fa5a436e76a59e41bd8550720548p-9396 : -0x1.3d2322191c9c88bc68a62ab8042cp-9356 : inexact
= fma towardzero binary128 -0x7.2a20d7f1bb3ed4e61897f2246f94p-1688 0x2.c43c32e577c4301cb7d3bafb1beap-7672 -0x2.fa5a436e76a59e41bd8550720548p-9396 : -0x1.3d2322191c9c88bc68a62ab8042cp-9356 : inexact
= fma upward binary128 -0x7.2a20d7f1bb3ed4e61897f2246f94p-1688 0x2.c43c32e577c4301cb7d3bafb1beap-7672 -0x2.fa5a436e76a59e41bd8550720548p-9396 : -0x1.3d2322191c9c88bc68a62ab8042cp-9356 : inexact
fma -0x1.55cff679ec49c2541fab41fc843ep-11819 0x1.e60e9f464f9e8df0509647c7c971p+12325 0x1.eaa2a7649d765c2f564f7a5beca7p+454
fma -0x1.55cff679ec49c2541fab41fc843ep-11819 0x1.e60e9f464f9e8df0509647c7c971p+12325 0x1.eaa2a7649d765c2f564f7a5beca7p+454 missing-errno
= fma downward binary128 -0x2.ab9fecf3d89384a83f5683f9087cp-11820 0x3.cc1d3e8c9f3d1be0a12c8f8f92e2p+12324 0x7.aa8a9d9275d970bd593de96fb29cp+452 : -0xa.23f14fd3f2035142fa71a87e7c38p+504 : inexact
= fma tonearest binary128 -0x2.ab9fecf3d89384a83f5683f9087cp-11820 0x3.cc1d3e8c9f3d1be0a12c8f8f92e2p+12324 0x7.aa8a9d9275d970bd593de96fb29cp+452 : -0xa.23f14fd3f2035142fa71a87e7c3p+504 : inexact
= fma towardzero binary128 -0x2.ab9fecf3d89384a83f5683f9087cp-11820 0x3.cc1d3e8c9f3d1be0a12c8f8f92e2p+12324 0x7.aa8a9d9275d970bd593de96fb29cp+452 : -0xa.23f14fd3f2035142fa71a87e7c3p+504 : inexact
= fma upward binary128 -0x2.ab9fecf3d89384a83f5683f9087cp-11820 0x3.cc1d3e8c9f3d1be0a12c8f8f92e2p+12324 0x7.aa8a9d9275d970bd593de96fb29cp+452 : -0xa.23f14fd3f2035142fa71a87e7c3p+504 : inexact
fma 0x1.f0e7b1454908576f2537d863cf9bp+11432 0x1.cdce52f09d4ca76e68706f34b5d5p-1417 -0x1.2e986187c70f146235ea2066e486p+9979
fma 0x1.f0e7b1454908576f2537d863cf9bp+11432 0x1.cdce52f09d4ca76e68706f34b5d5p-1417 -0x1.2e986187c70f146235ea2066e486p+9979 missing-errno
= fma downward binary128 0x1.f0e7b1454908576f2537d863cf9bp+11432 0xe.6e729784ea653b73438379a5aea8p-1420 -0x9.74c30c3e3878a311af510337243p+9976 : 0x1.c030dad3cc5643f3dd0f5619f661p+10016 : inexact
= fma tonearest binary128 0x1.f0e7b1454908576f2537d863cf9bp+11432 0xe.6e729784ea653b73438379a5aea8p-1420 -0x9.74c30c3e3878a311af510337243p+9976 : 0x1.c030dad3cc5643f3dd0f5619f661p+10016 : inexact
= fma towardzero binary128 0x1.f0e7b1454908576f2537d863cf9bp+11432 0xe.6e729784ea653b73438379a5aea8p-1420 -0x9.74c30c3e3878a311af510337243p+9976 : 0x1.c030dad3cc5643f3dd0f5619f661p+10016 : inexact
= fma upward binary128 0x1.f0e7b1454908576f2537d863cf9bp+11432 0xe.6e729784ea653b73438379a5aea8p-1420 -0x9.74c30c3e3878a311af510337243p+9976 : 0x1.c030dad3cc5643f3dd0f5619f662p+10016 : inexact
fma 0x1.f102f7da4a57a3a4aab620e29452p-3098 -0x1.cc06a4ff40248f9e2dcc4b6afd84p-11727 0x1.d512a11126b5ac8ed8973b8580c8p-14849
fma 0x1.f102f7da4a57a3a4aab620e29452p-3098 -0x1.cc06a4ff40248f9e2dcc4b6afd84p-11727 0x1.d512a11126b5ac8ed8973b8580c8p-14849 missing-errno
= fma downward binary128 0x7.c40bdf69295e8e92aad8838a5148p-3100 -0x3.980d49fe80491f3c5b9896d5fb08p-11728 0xe.a895088935ad6476c4b9dc2c064p-14852 : -0x1.be8f1cf737ab4d1c31c54f5ec23bp-14824 : inexact
= fma tonearest binary128 0x7.c40bdf69295e8e92aad8838a5148p-3100 -0x3.980d49fe80491f3c5b9896d5fb08p-11728 0xe.a895088935ad6476c4b9dc2c064p-14852 : -0x1.be8f1cf737ab4d1c31c54f5ec23bp-14824 : inexact
= fma towardzero binary128 0x7.c40bdf69295e8e92aad8838a5148p-3100 -0x3.980d49fe80491f3c5b9896d5fb08p-11728 0xe.a895088935ad6476c4b9dc2c064p-14852 : -0x1.be8f1cf737ab4d1c31c54f5ec23ap-14824 : inexact
= fma upward binary128 0x7.c40bdf69295e8e92aad8838a5148p-3100 -0x3.980d49fe80491f3c5b9896d5fb08p-11728 0xe.a895088935ad6476c4b9dc2c064p-14852 : -0x1.be8f1cf737ab4d1c31c54f5ec23ap-14824 : inexact
fma -0x1.fc47ac7434b993cd8dcb2b431f25p-3816 0x1.fbc9750da8468852d84558e1db6dp-5773 -0x1.00a98abf783f75c40fe5b7a37d86p-9607
fma -0x1.fc47ac7434b993cd8dcb2b431f25p-3816 0x1.fbc9750da8468852d84558e1db6dp-5773 -0x1.00a98abf783f75c40fe5b7a37d86p-9607 missing-errno
= fma downward binary128 -0x1.fc47ac7434b993cd8dcb2b431f25p-3816 0xf.de4ba86d42344296c22ac70edb68p-5776 -0x2.0153157ef07eeb881fcb6f46fb0cp-9608 : -0x1.f81917b166f45e763cfcc057e2adp-9588 : inexact
= fma tonearest binary128 -0x1.fc47ac7434b993cd8dcb2b431f25p-3816 0xf.de4ba86d42344296c22ac70edb68p-5776 -0x2.0153157ef07eeb881fcb6f46fb0cp-9608 : -0x1.f81917b166f45e763cfcc057e2adp-9588 : inexact
= fma towardzero binary128 -0x1.fc47ac7434b993cd8dcb2b431f25p-3816 0xf.de4ba86d42344296c22ac70edb68p-5776 -0x2.0153157ef07eeb881fcb6f46fb0cp-9608 : -0x1.f81917b166f45e763cfcc057e2acp-9588 : inexact
= fma upward binary128 -0x1.fc47ac7434b993cd8dcb2b431f25p-3816 0xf.de4ba86d42344296c22ac70edb68p-5776 -0x2.0153157ef07eeb881fcb6f46fb0cp-9608 : -0x1.f81917b166f45e763cfcc057e2acp-9588 : inexact
fma 0x1.00000000000007ffffffffffffffp-9045 -0x1.ffffffffffff80000001ffffffffp+4773 -0x1.f8p-4316
fma 0x1.00000000000007ffffffffffffffp-9045 -0x1.ffffffffffff80000001ffffffffp+4773 -0x1.f8p-4316 missing-errno
= fma downward binary128 0x8.0000000000003ffffffffffffff8p-9048 -0x3.ffffffffffff00000003fffffffep+4772 -0x1.f8p-4316 : -0x2.00000000001f10000001fffffbfep-4272 : inexact
= fma tonearest binary128 0x8.0000000000003ffffffffffffff8p-9048 -0x3.ffffffffffff00000003fffffffep+4772 -0x1.f8p-4316 : -0x2.00000000001f10000001fffffbfep-4272 : inexact
= fma towardzero binary128 0x8.0000000000003ffffffffffffff8p-9048 -0x3.ffffffffffff00000003fffffffep+4772 -0x1.f8p-4316 : -0x2.00000000001f10000001fffffbfcp-4272 : inexact
= fma upward binary128 0x8.0000000000003ffffffffffffff8p-9048 -0x3.ffffffffffff00000003fffffffep+4772 -0x1.f8p-4316 : -0x2.00000000001f10000001fffffbfcp-4272 : inexact
fma 0x1.4e922764c90701d4a2f21d01893dp-8683 -0x1.955a12e2d7c9447c27fa022fc865p+212 -0x1.e9634462eaef96528b90b6944578p-8521
fma 0x1.4e922764c90701d4a2f21d01893dp-8683 -0x1.955a12e2d7c9447c27fa022fc865p+212 -0x1.e9634462eaef96528b90b6944578p-8521 missing-errno
= fma downward binary128 0x2.9d244ec9920e03a945e43a03127ap-8684 -0x1.955a12e2d7c9447c27fa022fc865p+212 -0xf.4b1a2317577cb2945c85b4a22bcp-8524 : -0x4.2385e0c6128dc650f4d663842194p-8472 : inexact
= fma tonearest binary128 0x2.9d244ec9920e03a945e43a03127ap-8684 -0x1.955a12e2d7c9447c27fa022fc865p+212 -0xf.4b1a2317577cb2945c85b4a22bcp-8524 : -0x4.2385e0c6128dc650f4d663842194p-8472 : inexact
= fma towardzero binary128 0x2.9d244ec9920e03a945e43a03127ap-8684 -0x1.955a12e2d7c9447c27fa022fc865p+212 -0xf.4b1a2317577cb2945c85b4a22bcp-8524 : -0x4.2385e0c6128dc650f4d66384219p-8472 : inexact
= fma upward binary128 0x2.9d244ec9920e03a945e43a03127ap-8684 -0x1.955a12e2d7c9447c27fa022fc865p+212 -0xf.4b1a2317577cb2945c85b4a22bcp-8524 : -0x4.2385e0c6128dc650f4d66384219p-8472 : inexact
fma 0x1.801181509c03bdbef10d6165588cp-15131 0x1.ad86f8e57d3d40bfa8007780af63p-368 -0x1.6e9df0dab1c9f1d7a6043c390741p-15507
fma 0x1.801181509c03bdbef10d6165588cp-15131 0x1.ad86f8e57d3d40bfa8007780af63p-368 -0x1.6e9df0dab1c9f1d7a6043c390741p-15507 missing-errno
= fma downward binary128 0x3.002302a138077b7de21ac2cab118p-15132 0x1.ad86f8e57d3d40bfa8007780af63p-368 -0x2.dd3be1b56393e3af4c0878720e82p-15508 : 0x5.05f26cac578ab55f72783a48210cp-15500 : inexact
= fma tonearest binary128 0x3.002302a138077b7de21ac2cab118p-15132 0x1.ad86f8e57d3d40bfa8007780af63p-368 -0x2.dd3be1b56393e3af4c0878720e82p-15508 : 0x5.05f26cac578ab55f72783a48211p-15500 : inexact
= fma towardzero binary128 0x3.002302a138077b7de21ac2cab118p-15132 0x1.ad86f8e57d3d40bfa8007780af63p-368 -0x2.dd3be1b56393e3af4c0878720e82p-15508 : 0x5.05f26cac578ab55f72783a48210cp-15500 : inexact
@ -15184,107 +15184,107 @@ fma 0x1.ffffffffffffffp0 0x1.000000000000008p0 -0x1p-1000
= fma tonearest ibm128 0x1.ffffffffffffffp+0 0x1.000000000000008p+0 -0x1p-1000 : 0x2p+0 : inexact
= fma towardzero ibm128 0x1.ffffffffffffffp+0 0x1.000000000000008p+0 -0x1p-1000 : 0x1.ffffffffffffffffffffffffff8p+0 : inexact
= fma upward ibm128 0x1.ffffffffffffffp+0 0x1.000000000000008p+0 -0x1p-1000 : 0x2p+0 : inexact
fma 0x1.4p-16382 0x1.0000000000000000000000000002p-1 0x1p-16384
fma 0x1.4p-16382 0x1.0000000000000000000000000002p-1 0x1p-16384 missing-errno
= fma downward binary128 0x5p-16384 0x8.000000000000000000000000001p-4 0x1p-16384 : 0x3.8000000000000000000000000004p-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x5p-16384 0x8.000000000000000000000000001p-4 0x1p-16384 : 0x3.8000000000000000000000000004p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x5p-16384 0x8.000000000000000000000000001p-4 0x1p-16384 : 0x3.8000000000000000000000000004p-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x5p-16384 0x8.000000000000000000000000001p-4 0x1p-16384 : 0x3.8000000000000000000000000008p-16384 : inexact underflow errno-erange-ok
fma -0x1.4p-16382 0x1.0000000000000000000000000002p-1 -0x1p-16384
fma -0x1.4p-16382 0x1.0000000000000000000000000002p-1 -0x1p-16384 missing-errno
= fma downward binary128 -0x5p-16384 0x8.000000000000000000000000001p-4 -0x1p-16384 : -0x3.8000000000000000000000000008p-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 -0x5p-16384 0x8.000000000000000000000000001p-4 -0x1p-16384 : -0x3.8000000000000000000000000004p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 -0x5p-16384 0x8.000000000000000000000000001p-4 -0x1p-16384 : -0x3.8000000000000000000000000004p-16384 : inexact underflow errno-erange-ok
= fma upward binary128 -0x5p-16384 0x8.000000000000000000000000001p-4 -0x1p-16384 : -0x3.8000000000000000000000000004p-16384 : inexact underflow errno-erange-ok
fma 0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 0x1p-16494
fma 0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 0x1p-16494 missing-errno
= fma downward binary128 0x7.fffffffffffffffffffffffffffp-16384 0x8.0000000000000000000000000008p-4 0x4p-16496 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x7.fffffffffffffffffffffffffffp-16384 0x8.0000000000000000000000000008p-4 0x4p-16496 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary128 0x7.fffffffffffffffffffffffffffp-16384 0x8.0000000000000000000000000008p-4 0x4p-16496 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x7.fffffffffffffffffffffffffffp-16384 0x8.0000000000000000000000000008p-4 0x4p-16496 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
fma -0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 -0x1p-16494
fma -0x1.fffffffffffffffffffffffffffcp-16382 0x1.0000000000000000000000000001p-1 -0x1p-16494 missing-errno
= fma downward binary128 -0x7.fffffffffffffffffffffffffffp-16384 0x8.0000000000000000000000000008p-4 -0x4p-16496 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma tonearest binary128 -0x7.fffffffffffffffffffffffffffp-16384 0x8.0000000000000000000000000008p-4 -0x4p-16496 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary128 -0x7.fffffffffffffffffffffffffffp-16384 0x8.0000000000000000000000000008p-4 -0x4p-16496 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 -0x7.fffffffffffffffffffffffffffp-16384 0x8.0000000000000000000000000008p-4 -0x4p-16496 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
fma 0x1p-16494 0x1p-1 0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 0x1p-1 0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
= fma downward binary128 0x4p-16496 0x8p-4 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x4p-16496 0x8p-4 0x3.fffffffffffffffffffffffffffcp-16384 : 0x4p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x4p-16496 0x8p-4 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x4p-16496 0x8p-4 0x3.fffffffffffffffffffffffffffcp-16384 : 0x4p-16384 : inexact underflow errno-erange-ok
fma -0x1p-16494 0x1p-1 -0x0.ffffffffffffffffffffffffffffp-16382
fma -0x1p-16494 0x1p-1 -0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
= fma downward binary128 -0x4p-16496 0x8p-4 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x4p-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 -0x4p-16496 0x8p-4 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x4p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 -0x4p-16496 0x8p-4 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 -0x4p-16496 0x8p-4 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
fma 0x1p-16494 0x1.1p-1 0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 0x1.1p-1 0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
= fma downward binary128 0x4p-16496 0x8.8p-4 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x4p-16496 0x8.8p-4 0x3.fffffffffffffffffffffffffffcp-16384 : 0x4p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x4p-16496 0x8.8p-4 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x4p-16496 0x8.8p-4 0x3.fffffffffffffffffffffffffffcp-16384 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
fma -0x1p-16494 0x1.1p-1 -0x0.ffffffffffffffffffffffffffffp-16382
fma -0x1p-16494 0x1.1p-1 -0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
= fma downward binary128 -0x4p-16496 0x8.8p-4 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma tonearest binary128 -0x4p-16496 0x8.8p-4 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x4p-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 -0x4p-16496 0x8.8p-4 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 -0x4p-16496 0x8.8p-4 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
fma 0x1p-16494 0x1p-16494 0x1p16383
fma 0x1p-16494 0x1p-16494 0x1p16383 missing-errno
= fma downward binary128 0x4p-16496 0x4p-16496 0x8p+16380 : 0x8p+16380 : inexact
= fma tonearest binary128 0x4p-16496 0x4p-16496 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero binary128 0x4p-16496 0x4p-16496 0x8p+16380 : 0x8p+16380 : inexact
= fma upward binary128 0x4p-16496 0x4p-16496 0x8p+16380 : 0x8.0000000000000000000000000008p+16380 : inexact
fma 0x1p-16494 -0x1p-16494 0x1p16383
fma 0x1p-16494 -0x1p-16494 0x1p16383 missing-errno
= fma downward binary128 0x4p-16496 -0x4p-16496 0x8p+16380 : 0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma tonearest binary128 0x4p-16496 -0x4p-16496 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero binary128 0x4p-16496 -0x4p-16496 0x8p+16380 : 0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma upward binary128 0x4p-16496 -0x4p-16496 0x8p+16380 : 0x8p+16380 : inexact
fma 0x1p-16494 0x1p-16494 -0x1p16383
fma 0x1p-16494 0x1p-16494 -0x1p16383 missing-errno
= fma downward binary128 0x4p-16496 0x4p-16496 -0x8p+16380 : -0x8p+16380 : inexact
= fma tonearest binary128 0x4p-16496 0x4p-16496 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero binary128 0x4p-16496 0x4p-16496 -0x8p+16380 : -0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma upward binary128 0x4p-16496 0x4p-16496 -0x8p+16380 : -0x7.fffffffffffffffffffffffffffcp+16380 : inexact
fma 0x1p-16494 -0x1p-16494 -0x1p16383
fma 0x1p-16494 -0x1p-16494 -0x1p16383 missing-errno
= fma downward binary128 0x4p-16496 -0x4p-16496 -0x8p+16380 : -0x8.0000000000000000000000000008p+16380 : inexact
= fma tonearest binary128 0x4p-16496 -0x4p-16496 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero binary128 0x4p-16496 -0x4p-16496 -0x8p+16380 : -0x8p+16380 : inexact
= fma upward binary128 0x4p-16496 -0x4p-16496 -0x8p+16380 : -0x8p+16380 : inexact
fma 0x1p-16494 0x1p-16494 0x1p-16382
fma 0x1p-16494 0x1p-16494 0x1p-16382 missing-errno
= fma downward binary128 0x4p-16496 0x4p-16496 0x4p-16384 : 0x4p-16384 : inexact
= fma tonearest binary128 0x4p-16496 0x4p-16496 0x4p-16384 : 0x4p-16384 : inexact
= fma towardzero binary128 0x4p-16496 0x4p-16496 0x4p-16384 : 0x4p-16384 : inexact
= fma upward binary128 0x4p-16496 0x4p-16496 0x4p-16384 : 0x4.0000000000000000000000000004p-16384 : inexact
fma 0x1p-16494 -0x1p-16494 0x1p-16382
fma 0x1p-16494 -0x1p-16494 0x1p-16382 missing-errno
= fma downward binary128 0x4p-16496 -0x4p-16496 0x4p-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x4p-16496 -0x4p-16496 0x4p-16384 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary128 0x4p-16496 -0x4p-16496 0x4p-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x4p-16496 -0x4p-16496 0x4p-16384 : 0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
fma 0x1p-16494 0x1p-16494 -0x1p-16382
fma 0x1p-16494 0x1p-16494 -0x1p-16382 missing-errno
= fma downward binary128 0x4p-16496 0x4p-16496 -0x4p-16384 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma tonearest binary128 0x4p-16496 0x4p-16496 -0x4p-16384 : -0x4p-16384 : inexact underflow:before-rounding errno-erange-ok:before-rounding
= fma towardzero binary128 0x4p-16496 0x4p-16496 -0x4p-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x4p-16496 0x4p-16496 -0x4p-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
fma 0x1p-16494 -0x1p-16494 -0x1p-16382
fma 0x1p-16494 -0x1p-16494 -0x1p-16382 missing-errno
= fma downward binary128 0x4p-16496 -0x4p-16496 -0x4p-16384 : -0x4.0000000000000000000000000004p-16384 : inexact
= fma tonearest binary128 0x4p-16496 -0x4p-16496 -0x4p-16384 : -0x4p-16384 : inexact
= fma towardzero binary128 0x4p-16496 -0x4p-16496 -0x4p-16384 : -0x4p-16384 : inexact
= fma upward binary128 0x4p-16496 -0x4p-16496 -0x4p-16384 : -0x4p-16384 : inexact
fma 0x1p-16494 0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
= fma downward binary128 0x4p-16496 0x4p-16496 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x4p-16496 0x4p-16496 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x4p-16496 0x4p-16496 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x4p-16496 0x4p-16496 0x3.fffffffffffffffffffffffffffcp-16384 : 0x4p-16384 : inexact underflow errno-erange-ok
fma 0x1p-16494 -0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 -0x1p-16494 0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
= fma downward binary128 0x4p-16496 -0x4p-16496 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x4p-16496 -0x4p-16496 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x4p-16496 -0x4p-16496 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x4p-16496 -0x4p-16496 0x3.fffffffffffffffffffffffffffcp-16384 : 0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
fma 0x1p-16494 0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
= fma downward binary128 0x4p-16496 0x4p-16496 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x4p-16496 0x4p-16496 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x4p-16496 0x4p-16496 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffff8p-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x4p-16496 0x4p-16496 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffff8p-16384 : inexact underflow errno-erange-ok
fma 0x1p-16494 -0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382
fma 0x1p-16494 -0x1p-16494 -0x0.ffffffffffffffffffffffffffffp-16382 missing-errno
= fma downward binary128 0x4p-16496 -0x4p-16496 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x4p-16384 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x4p-16496 -0x4p-16496 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x4p-16496 -0x4p-16496 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
= fma upward binary128 0x4p-16496 -0x4p-16496 -0x3.fffffffffffffffffffffffffffcp-16384 : -0x3.fffffffffffffffffffffffffffcp-16384 : inexact underflow errno-erange-ok
fma 0x1p-16494 0x1p-16494 0x1p-16494
fma 0x1p-16494 0x1p-16494 0x1p-16494 missing-errno
= fma downward binary128 0x4p-16496 0x4p-16496 0x4p-16496 : 0x4p-16496 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x4p-16496 0x4p-16496 0x4p-16496 : 0x4p-16496 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x4p-16496 0x4p-16496 0x4p-16496 : 0x4p-16496 : inexact underflow errno-erange-ok
@ -15299,67 +15299,67 @@ fma 0x1p-16494 0x1p-16494 -0x1p-16494 missing-errno
= fma tonearest binary128 0x4p-16496 0x4p-16496 -0x4p-16496 : -0x4p-16496 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x4p-16496 0x4p-16496 -0x4p-16496 : -0x0p+0 : inexact underflow errno-erange errno-erange-ok
= fma upward binary128 0x4p-16496 0x4p-16496 -0x4p-16496 : -0x0p+0 : inexact underflow errno-erange errno-erange-ok
fma 0x1p-16494 -0x1p-16494 -0x1p-16494
fma 0x1p-16494 -0x1p-16494 -0x1p-16494 missing-errno
= fma downward binary128 0x4p-16496 -0x4p-16496 -0x4p-16496 : -0x8p-16496 : inexact underflow errno-erange-ok
= fma tonearest binary128 0x4p-16496 -0x4p-16496 -0x4p-16496 : -0x4p-16496 : inexact underflow errno-erange-ok
= fma towardzero binary128 0x4p-16496 -0x4p-16496 -0x4p-16496 : -0x4p-16496 : inexact underflow errno-erange-ok
= fma upward binary128 0x4p-16496 -0x4p-16496 -0x4p-16496 : -0x4p-16496 : inexact underflow errno-erange-ok
fma 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0
fma 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0 missing-errno
= fma downward binary128 0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffffp-4 : 0x4p-228 :
= fma tonearest binary128 0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffffp-4 : 0x4p-228 :
= fma towardzero binary128 0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffffp-4 : 0x4p-228 :
= fma upward binary128 0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffffp-4 : 0x4p-228 :
fma 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0
fma 0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0 missing-errno
= fma downward binary128 0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffffp-4 : -0x4p-228 :
= fma tonearest binary128 0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffffp-4 : -0x4p-228 :
= fma towardzero binary128 0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffffp-4 : -0x4p-228 :
= fma upward binary128 0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffffp-4 : -0x4p-228 :
fma -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0
fma -0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffff8p0 0x0.ffffffffffffffffffffffffffffp0 missing-errno
= fma downward binary128 -0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffffp-4 : -0x4p-228 :
= fma tonearest binary128 -0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffffp-4 : -0x4p-228 :
= fma towardzero binary128 -0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffffp-4 : -0x4p-228 :
= fma upward binary128 -0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffff8p-4 0xf.fffffffffffffffffffffffffffp-4 : -0x4p-228 :
fma -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0
fma -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffff8p0 -0x0.ffffffffffffffffffffffffffffp0 missing-errno
= fma downward binary128 -0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffffp-4 : 0x4p-228 :
= fma tonearest binary128 -0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffffp-4 : 0x4p-228 :
= fma towardzero binary128 -0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffffp-4 : 0x4p-228 :
= fma upward binary128 -0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffff8p-4 -0xf.fffffffffffffffffffffffffffp-4 : 0x4p-228 :
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16383
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16383 missing-errno
= fma downward binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma tonearest binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma upward binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 0x8p+16380 : 0x8.0000000000000000000000000008p+16380 : inexact
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16383
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16383 missing-errno
= fma downward binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 0x8p+16380 : 0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma tonearest binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 0x8p+16380 : 0x8p+16380 : inexact
= fma towardzero binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 0x8p+16380 : 0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma upward binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 0x8p+16380 : 0x8p+16380 : inexact
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16383
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16383 missing-errno
= fma downward binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma tonearest binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 -0x8p+16380 : -0x7.fffffffffffffffffffffffffffcp+16380 : inexact
= fma upward binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 -0x8p+16380 : -0x7.fffffffffffffffffffffffffffcp+16380 : inexact
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16383
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16383 missing-errno
= fma downward binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 -0x8p+16380 : -0x8.0000000000000000000000000008p+16380 : inexact
= fma tonearest binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma towardzero binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 -0x8p+16380 : -0x8p+16380 : inexact
= fma upward binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 -0x8p+16380 : -0x8p+16380 : inexact
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16319
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 0x1p16319 missing-errno
= fma downward binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma tonearest binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma towardzero binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma upward binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 0x8p+16316 : 0x8.0000000000000000000000000008p+16316 : inexact
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16319
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 0x1p16319 missing-errno
= fma downward binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 0x8p+16316 : 0x7.fffffffffffffffffffffffffffcp+16316 : inexact
= fma tonearest binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 0x8p+16316 : 0x8p+16316 : inexact
= fma towardzero binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 0x8p+16316 : 0x7.fffffffffffffffffffffffffffcp+16316 : inexact
= fma upward binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 0x8p+16316 : 0x8p+16316 : inexact
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16319
fma 0x1.0000000000000000000000000001p-16382 0x1.0000000000000000000000000001p-66 -0x1p16319 missing-errno
= fma downward binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 -0x8p+16316 : -0x8p+16316 : inexact
= fma tonearest binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 -0x8p+16316 : -0x8p+16316 : inexact
= fma towardzero binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 -0x8p+16316 : -0x7.fffffffffffffffffffffffffffcp+16316 : inexact
= fma upward binary128 0x4.0000000000000000000000000004p-16384 0x4.0000000000000000000000000004p-68 -0x8p+16316 : -0x7.fffffffffffffffffffffffffffcp+16316 : inexact
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16319
fma 0x1.0000000000000000000000000001p-16382 -0x1.0000000000000000000000000001p-66 -0x1p16319 missing-errno
= fma downward binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 -0x8p+16316 : -0x8.0000000000000000000000000008p+16316 : inexact
= fma tonearest binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 -0x8p+16316 : -0x8p+16316 : inexact
= fma towardzero binary128 0x4.0000000000000000000000000004p-16384 -0x4.0000000000000000000000000004p-68 -0x8p+16316 : -0x8p+16316 : inexact
@ -15485,7 +15485,7 @@ fma 0x1.fffffffffffffp-1022 0x1.fffffffffffffp54 0x1.fffffffffffffp1023 missing-
= fma tonearest ibm128 0x7.ffffffffffffcp-1024 0x7.ffffffffffffcp+52 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 : inexact
= fma towardzero ibm128 0x7.ffffffffffffcp-1024 0x7.ffffffffffffcp+52 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 : inexact
= fma upward ibm128 0x7.ffffffffffffcp-1024 0x7.ffffffffffffcp+52 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff80000000000004p+1020 : inexact
fma 0x1.fffffffffffffp-1022 -0x1.fffffffffffffp54 0x1.fffffffffffffp1023
fma 0x1.fffffffffffffp-1022 -0x1.fffffffffffffp54 0x1.fffffffffffffp1023 missing-errno
= fma downward binary64 0x7.ffffffffffffcp-1024 -0x7.ffffffffffffcp+52 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffp+1020 : inexact
= fma tonearest binary64 0x7.ffffffffffffcp-1024 -0x7.ffffffffffffcp+52 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 : inexact
= fma towardzero binary64 0x7.ffffffffffffcp-1024 -0x7.ffffffffffffcp+52 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffp+1020 : inexact
@ -15506,7 +15506,7 @@ fma 0x1.fffffffffffffp-1022 -0x1.fffffffffffffp54 0x1.fffffffffffffp1023
= fma tonearest ibm128 0x7.ffffffffffffcp-1024 -0x7.ffffffffffffcp+52 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 : inexact
= fma towardzero ibm128 0x7.ffffffffffffcp-1024 -0x7.ffffffffffffcp+52 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff7ffffffffffffcp+1020 : inexact
= fma upward ibm128 0x7.ffffffffffffcp-1024 -0x7.ffffffffffffcp+52 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+1020 : inexact
fma 0x1.fffffffffffffp-1022 0x1.fffffffffffffp54 -0x1.fffffffffffffp1023
fma 0x1.fffffffffffffp-1022 0x1.fffffffffffffp54 -0x1.fffffffffffffp1023 missing-errno
= fma downward binary64 0x7.ffffffffffffcp-1024 0x7.ffffffffffffcp+52 -0xf.ffffffffffff8p+1020 : -0xf.ffffffffffff8p+1020 : inexact
= fma tonearest binary64 0x7.ffffffffffffcp-1024 0x7.ffffffffffffcp+52 -0xf.ffffffffffff8p+1020 : -0xf.ffffffffffff8p+1020 : inexact
= fma towardzero binary64 0x7.ffffffffffffcp-1024 0x7.ffffffffffffcp+52 -0xf.ffffffffffff8p+1020 : -0xf.ffffffffffffp+1020 : inexact
@ -15561,7 +15561,7 @@ fma 0x1.fffffffffffffffep-16382 0x1.fffffffffffffffep65 0x1.fffffffffffffffep163
= fma tonearest binary128 0x7.fffffffffffffff8p-16384 0x3.fffffffffffffffcp+64 0xf.fffffffffffffffp+16380 : 0xf.fffffffffffffffp+16380 : inexact
= fma towardzero binary128 0x7.fffffffffffffff8p-16384 0x3.fffffffffffffffcp+64 0xf.fffffffffffffffp+16380 : 0xf.fffffffffffffffp+16380 : inexact
= fma upward binary128 0x7.fffffffffffffff8p-16384 0x3.fffffffffffffffcp+64 0xf.fffffffffffffffp+16380 : 0xf.fffffffffffffff0000000000008p+16380 : inexact
fma 0x1.fffffffffffffffep-16382 -0x1.fffffffffffffffep65 0x1.fffffffffffffffep16383
fma 0x1.fffffffffffffffep-16382 -0x1.fffffffffffffffep65 0x1.fffffffffffffffep16383 missing-errno
= fma downward intel96 0x7.fffffffffffffff8p-16384 -0x3.fffffffffffffffcp+64 0xf.fffffffffffffffp+16380 : 0xf.ffffffffffffffep+16380 : inexact
= fma tonearest intel96 0x7.fffffffffffffff8p-16384 -0x3.fffffffffffffffcp+64 0xf.fffffffffffffffp+16380 : 0xf.fffffffffffffffp+16380 : inexact
= fma towardzero intel96 0x7.fffffffffffffff8p-16384 -0x3.fffffffffffffffcp+64 0xf.fffffffffffffffp+16380 : 0xf.ffffffffffffffep+16380 : inexact
@ -15574,7 +15574,7 @@ fma 0x1.fffffffffffffffep-16382 -0x1.fffffffffffffffep65 0x1.fffffffffffffffep16
= fma tonearest binary128 0x7.fffffffffffffff8p-16384 -0x3.fffffffffffffffcp+64 0xf.fffffffffffffffp+16380 : 0xf.fffffffffffffffp+16380 : inexact
= fma towardzero binary128 0x7.fffffffffffffff8p-16384 -0x3.fffffffffffffffcp+64 0xf.fffffffffffffffp+16380 : 0xf.ffffffffffffffeffffffffffff8p+16380 : inexact
= fma upward binary128 0x7.fffffffffffffff8p-16384 -0x3.fffffffffffffffcp+64 0xf.fffffffffffffffp+16380 : 0xf.fffffffffffffffp+16380 : inexact
fma 0x1.fffffffffffffffep-16382 0x1.fffffffffffffffep65 -0x1.fffffffffffffffep16383
fma 0x1.fffffffffffffffep-16382 0x1.fffffffffffffffep65 -0x1.fffffffffffffffep16383 missing-errno
= fma downward intel96 0x7.fffffffffffffff8p-16384 0x3.fffffffffffffffcp+64 -0xf.fffffffffffffffp+16380 : -0xf.fffffffffffffffp+16380 : inexact
= fma tonearest intel96 0x7.fffffffffffffff8p-16384 0x3.fffffffffffffffcp+64 -0xf.fffffffffffffffp+16380 : -0xf.fffffffffffffffp+16380 : inexact
= fma towardzero intel96 0x7.fffffffffffffff8p-16384 0x3.fffffffffffffffcp+64 -0xf.fffffffffffffffp+16380 : -0xf.ffffffffffffffep+16380 : inexact
@ -15605,12 +15605,12 @@ fma 0x1.ffffffffffffffffffffffffffffp-16382 0x1.ffffffffffffffffffffffffffffp114
= fma tonearest binary128 0x7.fffffffffffffffffffffffffffcp-16384 0x7.fffffffffffffffffffffffffffcp+112 0xf.fffffffffffffffffffffffffff8p+16380 : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact
= fma towardzero binary128 0x7.fffffffffffffffffffffffffffcp-16384 0x7.fffffffffffffffffffffffffffcp+112 0xf.fffffffffffffffffffffffffff8p+16380 : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact
= fma upward binary128 0x7.fffffffffffffffffffffffffffcp-16384 0x7.fffffffffffffffffffffffffffcp+112 0xf.fffffffffffffffffffffffffff8p+16380 : plus_infty : inexact overflow errno-erange errno-erange-ok
fma 0x1.ffffffffffffffffffffffffffffp-16382 -0x1.ffffffffffffffffffffffffffffp114 0x1.ffffffffffffffffffffffffffffp16383
fma 0x1.ffffffffffffffffffffffffffffp-16382 -0x1.ffffffffffffffffffffffffffffp114 0x1.ffffffffffffffffffffffffffffp16383 missing-errno
= fma downward binary128 0x7.fffffffffffffffffffffffffffcp-16384 -0x7.fffffffffffffffffffffffffffcp+112 0xf.fffffffffffffffffffffffffff8p+16380 : 0xf.fffffffffffffffffffffffffffp+16380 : inexact
= fma tonearest binary128 0x7.fffffffffffffffffffffffffffcp-16384 -0x7.fffffffffffffffffffffffffffcp+112 0xf.fffffffffffffffffffffffffff8p+16380 : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact
= fma towardzero binary128 0x7.fffffffffffffffffffffffffffcp-16384 -0x7.fffffffffffffffffffffffffffcp+112 0xf.fffffffffffffffffffffffffff8p+16380 : 0xf.fffffffffffffffffffffffffffp+16380 : inexact
= fma upward binary128 0x7.fffffffffffffffffffffffffffcp-16384 -0x7.fffffffffffffffffffffffffffcp+112 0xf.fffffffffffffffffffffffffff8p+16380 : 0xf.fffffffffffffffffffffffffff8p+16380 : inexact
fma 0x1.ffffffffffffffffffffffffffffp-16382 0x1.ffffffffffffffffffffffffffffp114 -0x1.ffffffffffffffffffffffffffffp16383
fma 0x1.ffffffffffffffffffffffffffffp-16382 0x1.ffffffffffffffffffffffffffffp114 -0x1.ffffffffffffffffffffffffffffp16383 missing-errno
= fma downward binary128 0x7.fffffffffffffffffffffffffffcp-16384 0x7.fffffffffffffffffffffffffffcp+112 -0xf.fffffffffffffffffffffffffff8p+16380 : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact
= fma tonearest binary128 0x7.fffffffffffffffffffffffffffcp-16384 0x7.fffffffffffffffffffffffffffcp+112 -0xf.fffffffffffffffffffffffffff8p+16380 : -0xf.fffffffffffffffffffffffffff8p+16380 : inexact
= fma towardzero binary128 0x7.fffffffffffffffffffffffffffcp-16384 0x7.fffffffffffffffffffffffffffcp+112 -0xf.fffffffffffffffffffffffffff8p+16380 : -0xf.fffffffffffffffffffffffffffp+16380 : inexact

File diff suppressed because it is too large Load Diff

View File

@ -26,6 +26,9 @@ __MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2);
/* Divide. */
__MATHCALL_NARROW (__MATHCALL_NAME (div), __MATHCALL_REDIR_NAME (div), 2);
/* Fused multiply-add. */
__MATHCALL_NARROW (__MATHCALL_NAME (fma), __MATHCALL_REDIR_NAME2 (fma), 3);
/* Multiply. */
__MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2);

View File

@ -696,8 +696,8 @@ class Tests(object):
self.add_tests('fromfpx', 'intmax_t', ['r', 'int', 'unsigned int'])
self.add_tests('ufromfp', 'uintmax_t', ['r', 'int', 'unsigned int'])
self.add_tests('ufromfpx', 'uintmax_t', ['r', 'int', 'unsigned int'])
for fn, args in (('add', 2), ('div', 2), ('mul', 2), ('sqrt', 1),
('sub', 2)):
for fn, args in (('add', 2), ('div', 2), ('fma', 3), ('mul', 2),
('sqrt', 1), ('sub', 2)):
for ret, prefix in (('float', 'f'),
('double', 'd'),
('_Float16', 'f16'),

View File

@ -189,6 +189,16 @@ struct test_aa_f_data
int exceptions;
} rd, rn, rz, ru;
};
struct test_aaa_f_data
{
const char *arg_str;
ARG_FLOAT arg1, arg2, arg3;
struct
{
FLOAT expected;
int exceptions;
} rd, rn, rz, ru;
};
#endif
struct test_fi_f_data
{
@ -536,8 +546,8 @@ struct test_Ff_b1_data
#define RUN_TEST_LOOP_fl_f RUN_TEST_LOOP_2_f
#define RUN_TEST_if_f RUN_TEST_2_f
#define RUN_TEST_LOOP_if_f RUN_TEST_LOOP_2_f
#define RUN_TEST_fff_f(ARG_STR, FUNC_NAME, ARG1, ARG2, ARG3, \
EXPECTED, EXCEPTIONS) \
#define RUN_TEST_3_f(ARG_STR, FUNC_NAME, ARG1, ARG2, ARG3, \
EXPECTED, EXCEPTIONS) \
do \
if (enable_test (EXCEPTIONS)) \
{ \
@ -547,14 +557,16 @@ struct test_Ff_b1_data
COMMON_TEST_CLEANUP; \
} \
while (0)
#define RUN_TEST_LOOP_fff_f(FUNC_NAME, ARRAY, ROUNDING_MODE) \
#define RUN_TEST_LOOP_3_f(FUNC_NAME, ARRAY, ROUNDING_MODE) \
IF_ROUND_INIT_ ## ROUNDING_MODE \
for (size_t i = 0; i < sizeof (ARRAY) / sizeof (ARRAY)[0]; i++) \
RUN_TEST_fff_f ((ARRAY)[i].arg_str, FUNC_NAME, (ARRAY)[i].arg1, \
(ARRAY)[i].arg2, (ARRAY)[i].arg3, \
(ARRAY)[i].RM_##ROUNDING_MODE.expected, \
(ARRAY)[i].RM_##ROUNDING_MODE.exceptions); \
RUN_TEST_3_f ((ARRAY)[i].arg_str, FUNC_NAME, (ARRAY)[i].arg1, \
(ARRAY)[i].arg2, (ARRAY)[i].arg3, \
(ARRAY)[i].RM_##ROUNDING_MODE.expected, \
(ARRAY)[i].RM_##ROUNDING_MODE.exceptions); \
ROUND_RESTORE_ ## ROUNDING_MODE
#define RUN_TEST_LOOP_fff_f RUN_TEST_LOOP_3_f
#define RUN_TEST_LOOP_aaa_f RUN_TEST_LOOP_3_f
#define RUN_TEST_fiu_M(ARG_STR, FUNC_NAME, ARG1, ARG2, ARG3, \
EXPECTED, EXCEPTIONS) \
do \

View File

@ -0,0 +1,361 @@
/* Test narrowing fma.
Copyright (C) 1997-2021 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_aaa_f_data fma_test_data[] =
{
TEST_aaa_f (fma, arg_qnan_value, 2.0, 3.0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_qnan_value, 2.0, 3.0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_snan_value, 2.0, 3.0, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, -arg_snan_value, 2.0, 3.0, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 1.0, arg_qnan_value, 3.0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, 1.0, -arg_qnan_value, 3.0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, 1.0, arg_snan_value, 3.0, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 1.0, -arg_snan_value, 3.0, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 1.0, 2.0, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, 1.0, 2.0, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, 1.0, 2.0, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 1.0, 2.0, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_max_value, arg_max_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_max_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_min_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_min_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_min_subnorm_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_min_subnorm_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_max_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_max_value, arg_max_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_min_value, arg_min_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_min_value, arg_min_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_min_subnorm_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_min_subnorm_value, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_qnan_value, arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_qnan_value, arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_qnan_value, -arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_qnan_value, -arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_qnan_value, arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_qnan_value, arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_qnan_value, -arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_qnan_value, -arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_snan_value, arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_qnan_value, arg_snan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_qnan_value, arg_qnan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_snan_value, arg_snan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 1.0, arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, 1.0, arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, 1.0, -arg_qnan_value, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, 1.0, -arg_qnan_value, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, 1.0, arg_snan_value, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_qnan_value, 2.0, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_qnan_value, 2.0, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_qnan_value, 2.0, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_qnan_value, 2.0, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_snan_value, 2.0, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_qnan_value, arg_qnan_value, 3.0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_qnan_value, -arg_qnan_value, 3.0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_qnan_value, arg_qnan_value, 3.0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_qnan_value, -arg_qnan_value, 3.0, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_snan_value, arg_snan_value, 3.0, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_plus_infty, 0.0, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION_OK),
TEST_aaa_f (fma, arg_plus_infty, 0.0, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION_OK),
TEST_aaa_f (fma, arg_minus_infty, 0.0, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION_OK),
TEST_aaa_f (fma, arg_minus_infty, 0.0, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION_OK),
TEST_aaa_f (fma, arg_plus_infty, 0.0, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_plus_infty, 0.0, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_minus_infty, 0.0, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_minus_infty, 0.0, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 0.0, arg_plus_infty, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION_OK),
TEST_aaa_f (fma, 0.0, arg_plus_infty, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION_OK),
TEST_aaa_f (fma, 0.0, arg_minus_infty, arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION_OK),
TEST_aaa_f (fma, 0.0, arg_minus_infty, -arg_qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION_OK),
TEST_aaa_f (fma, 0.0, arg_plus_infty, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 0.0, arg_plus_infty, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 0.0, arg_minus_infty, arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 0.0, arg_minus_infty, -arg_snan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
/* Bug 6801: errno setting may be missing. */
TEST_aaa_f (fma, arg_plus_infty, 0.0, 1.0, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_minus_infty, 0.0, 1.0, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 0.0, arg_plus_infty, 1.0, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, 0.0, arg_minus_infty, 1.0, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_plus_infty, 3.5L, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_minus_infty, -7.5L, arg_minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, -13.5L, arg_plus_infty, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, arg_minus_infty, 7.5L, arg_plus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION),
TEST_aaa_f (fma, -arg_max_value, -arg_max_value, arg_minus_infty, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_max_value / 2, arg_max_value / 2, arg_minus_infty, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_max_value, arg_plus_infty, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_max_value / 2, -arg_max_value / 4, arg_plus_infty, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, 4, arg_plus_infty, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, 2, arg_minus_infty, arg_minus_infty, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, arg_plus_infty, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, arg_plus_infty, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, arg_minus_infty, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, arg_minus_infty, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, arg_plus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, arg_minus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_plus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_minus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, arg_max_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_max_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_max_value, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_max_value, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_max_value, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_max_value, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_max_value, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, arg_max_value, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, arg_min_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_value, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_value, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_value, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_value, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_value, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, arg_min_value, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, arg_min_subnorm_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_subnorm_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_subnorm_value, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_subnorm_value, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_subnorm_value, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_subnorm_value, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, arg_min_subnorm_value, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, arg_min_subnorm_value, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, -arg_max_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_max_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_max_value, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_max_value, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_max_value, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_max_value, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_max_value, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, -arg_max_value, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_value, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_value, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_value, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_value, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_value, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_value, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_subnorm_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_subnorm_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_subnorm_value, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_subnorm_value, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_subnorm_value, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_subnorm_value, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_subnorm_value, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_plus_infty, -arg_min_subnorm_value, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_max_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_max_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_max_value, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_max_value, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_max_value, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_max_value, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_max_value, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_max_value, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_min_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_value, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_value, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_value, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_value, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_value, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_min_value, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_min_subnorm_value, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_subnorm_value, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_subnorm_value, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_subnorm_value, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_subnorm_value, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_subnorm_value, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, arg_min_subnorm_value, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, arg_min_subnorm_value, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, -arg_max_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_max_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_max_value, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_max_value, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_max_value, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_max_value, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_max_value, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, -arg_max_value, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_value, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_value, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_value, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_value, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_value, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_value, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_subnorm_value, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_subnorm_value, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_subnorm_value, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_subnorm_value, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_subnorm_value, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_subnorm_value, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_subnorm_value, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_minus_infty, -arg_min_subnorm_value, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_max_value, arg_plus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_plus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_plus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_plus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_plus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_plus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_plus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_max_value, arg_plus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_min_value, arg_plus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_plus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_plus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_plus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_plus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_plus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_plus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_min_value, arg_plus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_plus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_plus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_plus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_plus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_plus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_plus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_plus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_plus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_max_value, arg_plus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_plus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_plus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_plus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_plus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_plus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_plus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_max_value, arg_plus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_min_value, arg_plus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_plus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_plus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_plus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_plus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_plus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_plus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_min_value, arg_plus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_plus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_plus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_plus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_plus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_plus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_plus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_plus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_plus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_max_value, arg_minus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_minus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_minus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_minus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_minus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_minus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_max_value, arg_minus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_max_value, arg_minus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_min_value, arg_minus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_minus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_minus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_minus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_minus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_minus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_value, arg_minus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_min_value, arg_minus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_minus_infty, arg_plus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_minus_infty, arg_minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_minus_infty, arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_minus_infty, -arg_min_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_minus_infty, arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_minus_infty, -arg_min_subnorm_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_minus_infty, arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, arg_min_subnorm_value, arg_minus_infty, -arg_max_value, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_max_value, arg_minus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_minus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_minus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_minus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_minus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_minus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_max_value, arg_minus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_max_value, arg_minus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_min_value, arg_minus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_minus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_minus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_minus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_minus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_minus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_value, arg_minus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_min_value, arg_minus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_minus_infty, arg_plus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_minus_infty, arg_minus_zero, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_minus_infty, arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_minus_infty, -arg_min_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_minus_infty, arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_minus_infty, -arg_min_subnorm_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_minus_infty, arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
TEST_aaa_f (fma, -arg_min_subnorm_value, arg_minus_infty, -arg_max_value, plus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED|XFAIL_ROUNDING_IBM128_LIBGCC),
AUTO_TESTS_aaa_f (fma),
};
static void
fma_test (void)
{
ALL_RM_TEST (fma, 1, fma_test_data, RUN_TEST_LOOP_aaa_f, END);
}
static void
do_test (void)
{
fma_test ();
}
/*
* Local Variables:
* mode:c
* End:
*/

View File

@ -342,4 +342,57 @@
} \
while (0)
/* Check for error conditions from a narrowing fused multiply-add
function returning RET with arguments X, Y and Z and set errno as
needed. Checking for error conditions for fma (either narrowing or
not) and setting errno is not currently implemented. See bug
6801. */
#define CHECK_NARROW_FMA(RET, X, Y, Z) \
do \
{ \
} \
while (0)
/* Implement narrowing fused multiply-add using round-to-odd. The
arguments are X, Y and Z, the return type is TYPE and UNION,
MANTISSA, SUFFIX and CLEAR_UNDERFLOW are as for ROUND_TO_ODD. */
#define NARROW_FMA_ROUND_TO_ODD(X, Y, Z, TYPE, UNION, SUFFIX, MANTISSA, \
CLEAR_UNDERFLOW) \
do \
{ \
typeof (X) tmp; \
TYPE ret; \
\
tmp = ROUND_TO_ODD (fma ## SUFFIX (math_opt_barrier (X), (Y), \
(Z)), \
UNION, SUFFIX, MANTISSA, CLEAR_UNDERFLOW); \
/* If the round-to-odd result is zero, the result is an exact \
zero and must be recomputed in the original rounding mode. */ \
if (tmp == 0) \
ret = (TYPE) (math_opt_barrier (X) * (Y) + (Z)); \
else \
ret = (TYPE) tmp; \
\
CHECK_NARROW_FMA (ret, (X), (Y), (Z)); \
return ret; \
} \
while (0)
/* Implement a narrowing fused multiply-add function where no attempt
is made to be correctly rounding (this only applies to IBM long
double; the case where the function is not actually narrowing is
handled by aliasing other fma functions in libm, not using this
macro). The arguments are X, Y and Z and the return type is
TYPE. */
#define NARROW_FMA_TRIVIAL(X, Y, Z, TYPE, SUFFIX) \
do \
{ \
TYPE ret; \
\
ret = (TYPE) (fma ## SUFFIX ((X), (Y), (Z))); \
CHECK_NARROW_FMA (ret, (X), (Y), (Z)); \
return ret; \
} \
while (0)
#endif /* math-narrow.h. */

View File

@ -17,8 +17,13 @@
<https://www.gnu.org/licenses/>. */
#define NO_MATH_REDIRECT
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
double
__fma (double x, double y, double z)
@ -27,4 +32,5 @@ __fma (double x, double y, double z)
}
#ifndef __fma
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)
#endif

View File

@ -17,8 +17,11 @@
<https://www.gnu.org/licenses/>. */
#define NO_MATH_REDIRECT
#define f64xfmaf128 __hide_f64xfmaf128
#include <math.h>
#undef f64xfmaf128
#include <libm-alias-ldouble.h>
#include <math-narrow-alias.h>
long double
__fmal (long double x, long double y, long double z)
@ -26,3 +29,4 @@ __fmal (long double x, long double y, long double z)
return (x * y) + z;
}
libm_alias_ldouble (__fma, fma)
libm_alias_ldouble_narrow (__fma, fma)

View File

@ -57,15 +57,21 @@
(F ## l (X))
# define __TGMATH_2_NARROW_D(F, X, Y) \
(F ## l (X, Y))
# define __TGMATH_3_NARROW_D(F, X, Y, Z) \
(F ## l (X, Y, Z))
# define __TGMATH_1_NARROW_F64X(F, X) \
(F ## f128 (X))
# define __TGMATH_2_NARROW_F64X(F, X, Y) \
(F ## f128 (X, Y))
# define __TGMATH_3_NARROW_F64X(F, X, Y, Z) \
(F ## f128 (X, Y, Z))
# if !__HAVE_FLOAT128
# define __TGMATH_1_NARROW_F32X(F, X) \
(F ## f64 (X))
# define __TGMATH_2_NARROW_F32X(F, X, Y) \
(F ## f64 (X, Y))
# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \
(F ## f64 (X, Y, Z))
# endif
# if __HAVE_BUILTIN_TGMATH
@ -137,23 +143,33 @@
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X))
# define __TGMATH_2_NARROW_F(F, X, Y) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X), (Y))
# define __TGMATH_3_NARROW_F(F, X, Y, Z) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X), (Y), (Z))
# define __TGMATH_1_NARROW_F16(F, X) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X))
# define __TGMATH_2_NARROW_F16(F, X, Y) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X), (Y))
# define __TGMATH_3_NARROW_F16(F, X, Y, Z) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X), (Y), (Z))
# define __TGMATH_1_NARROW_F32(F, X) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X))
# define __TGMATH_2_NARROW_F32(F, X, Y) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X), (Y))
# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X), (Y), (Z))
# define __TGMATH_1_NARROW_F64(F, X) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X))
# define __TGMATH_2_NARROW_F64(F, X, Y) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X), (Y))
# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X), (Y), (Z))
# if __HAVE_FLOAT128
# define __TGMATH_1_NARROW_F32X(F, X) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X))
# define __TGMATH_2_NARROW_F32X(F, X, Y) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X), (Y))
# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \
__builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X), (Y), (Z))
# endif
# else /* !__HAVE_BUILTIN_TGMATH. */
@ -565,6 +581,12 @@
+ (__tgmath_real_type (Y)) 0) > sizeof (double) \
? F ## l (X, Y) \
: F (X, Y)))
# define __TGMATH_3_NARROW_F(F, X, Y, Z) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
+ (__tgmath_real_type (Y)) 0 \
+ (__tgmath_real_type (Z)) 0) > sizeof (double) \
? F ## l (X, Y, Z) \
: F (X, Y, Z)))
/* In most cases, these narrowing macro definitions based on sizeof
ensure that the function called has the right argument format, as
for other <tgmath.h> macros for compilers before GCC 8, but may not
@ -594,6 +616,13 @@
? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \
F ## f64x (X, Y) \
: F ## f64 (X, Y)))
# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
+ (__tgmath_real_type (Y)) 0 \
+ (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \
? __TGMATH_F128 ((X) + (Y) + (Z), F, (X, Y, Z)) \
F ## f64x (X, Y, Z) \
: F ## f64 (X, Y, Z)))
# define __TGMATH_1_NARROW_F64(F, X) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \
? __TGMATH_F128 ((X), F, (X)) \
@ -605,6 +634,13 @@
? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \
F ## f64x (X, Y) \
: F ## f128 (X, Y)))
# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
+ (__tgmath_real_type (Y)) 0 \
+ (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \
? __TGMATH_F128 ((X) + (Y) + (Z), F, (X, Y, Z)) \
F ## f64x (X, Y, Z) \
: F ## f128 (X, Y, Z)))
# define __TGMATH_1_NARROW_F32X(F, X) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \
? __TGMATH_F128 ((X), F, (X)) \
@ -616,6 +652,13 @@
? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \
F ## f64x (X, Y) \
: F ## f64 (X, Y)))
# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
+ (__tgmath_real_type (Y)) 0 \
+ (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \
? __TGMATH_F128 ((X) + (Y) + (Z), F, (X, Y, Z)) \
F ## f64x (X, Y, Z) \
: F ## f64 (X, Y, Z)))
# elif __HAVE_FLOAT128
# define __TGMATH_1_NARROW_F32(F, X) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \
@ -626,10 +669,18 @@
+ (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \
? F ## f128 (X, Y) \
: F ## f64 (X, Y)))
# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
+ (__tgmath_real_type (Y)) 0 \
+ (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \
? F ## f128 (X, Y, Z) \
: F ## f64 (X, Y, Z)))
# define __TGMATH_1_NARROW_F64(F, X) \
(F ## f128 (X))
# define __TGMATH_2_NARROW_F64(F, X, Y) \
(F ## f128 (X, Y))
# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \
(F ## f128 (X, Y, Z))
# define __TGMATH_1_NARROW_F32X(F, X) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float32x) \
? F ## f64x (X) \
@ -639,11 +690,19 @@
+ (__tgmath_real_type (Y)) 0) > sizeof (_Float32x) \
? F ## f64x (X, Y) \
: F ## f64 (X, Y)))
# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \
(__extension__ (sizeof ((__tgmath_real_type (X)) 0 \
+ (__tgmath_real_type (Y)) 0 \
+ (__tgmath_real_type (Z)) 0) > sizeof (_Float32x) \
? F ## f64x (X, Y, Z) \
: F ## f64 (X, Y, Z)))
# else
# define __TGMATH_1_NARROW_F32(F, X) \
(F ## f64 (X))
# define __TGMATH_2_NARROW_F32(F, X, Y) \
(F ## f64 (X, Y))
# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \
(F ## f64 (X, Y, Z))
# endif
# endif /* !__HAVE_BUILTIN_TGMATH. */
#else
@ -916,6 +975,10 @@
# define fsqrt(Val) __TGMATH_1_NARROW_F (fsqrt, Val)
# define dsqrt(Val) __TGMATH_1_NARROW_D (dsqrt, Val)
/* Fused multiply-add. */
# define ffma(Val1, Val2, Val3) __TGMATH_3_NARROW_F (ffma, Val1, Val2, Val3)
# define dfma(Val1, Val2, Val3) __TGMATH_3_NARROW_D (dfma, Val1, Val2, Val3)
#endif
#if __GLIBC_USE (IEC_60559_TYPES_EXT)
@ -926,6 +989,8 @@
# define f16mul(Val1, Val2) __TGMATH_2_NARROW_F16 (f16mul, Val1, Val2)
# define f16sub(Val1, Val2) __TGMATH_2_NARROW_F16 (f16sub, Val1, Val2)
# define f16sqrt(Val) __TGMATH_1_NARROW_F16 (f16sqrt, Val)
# define f16fma(Val1, Val2, Val3) \
__TGMATH_3_NARROW_F16 (f16fma, Val1, Val2, Val3)
# endif
# if __HAVE_FLOAT32
@ -934,6 +999,8 @@
# define f32mul(Val1, Val2) __TGMATH_2_NARROW_F32 (f32mul, Val1, Val2)
# define f32sub(Val1, Val2) __TGMATH_2_NARROW_F32 (f32sub, Val1, Val2)
# define f32sqrt(Val) __TGMATH_1_NARROW_F32 (f32sqrt, Val)
# define f32fma(Val1, Val2, Val3) \
__TGMATH_3_NARROW_F32 (f32fma, Val1, Val2, Val3)
# endif
# if __HAVE_FLOAT64 && (__HAVE_FLOAT64X || __HAVE_FLOAT128)
@ -942,6 +1009,8 @@
# define f64mul(Val1, Val2) __TGMATH_2_NARROW_F64 (f64mul, Val1, Val2)
# define f64sub(Val1, Val2) __TGMATH_2_NARROW_F64 (f64sub, Val1, Val2)
# define f64sqrt(Val) __TGMATH_1_NARROW_F64 (f64sqrt, Val)
# define f64fma(Val1, Val2, Val3) \
__TGMATH_3_NARROW_F64 (f64fma, Val1, Val2, Val3)
# endif
# if __HAVE_FLOAT32X
@ -950,6 +1019,8 @@
# define f32xmul(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xmul, Val1, Val2)
# define f32xsub(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xsub, Val1, Val2)
# define f32xsqrt(Val) __TGMATH_1_NARROW_F32X (f32xsqrt, Val)
# define f32xfma(Val1, Val2, Val3) \
__TGMATH_3_NARROW_F32X (f32xfma, Val1, Val2, Val3)
# endif
# if __HAVE_FLOAT64X && (__HAVE_FLOAT128X || __HAVE_FLOAT128)
@ -958,6 +1029,8 @@
# define f64xmul(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xmul, Val1, Val2)
# define f64xsub(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xsub, Val1, Val2)
# define f64xsqrt(Val) __TGMATH_1_NARROW_F64X (f64xsqrt, Val)
# define f64xfma(Val1, Val2, Val3) \
__TGMATH_3_NARROW_F64X (f64xfma, Val1, Val2, Val3)
# endif
#endif

View File

@ -19,9 +19,14 @@
#define NO_MATH_REDIRECT
#include <config.h>
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <init-arch.h>
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
extern double __fma_ia32 (double x, double y, double z) attribute_hidden;
extern double __fma_fma (double x, double y, double z) attribute_hidden;
@ -29,6 +34,7 @@ extern double __fma_fma (double x, double y, double z) attribute_hidden;
libm_ifunc (__fma,
CPU_FEATURE_USABLE (FMA) ? __fma_fma : __fma_ia32);
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)
#define __fma __fma_ia32

View File

@ -69,3 +69,4 @@ GLOBAL_LIBM_ENTRY(fma)
GLOBAL_LIBM_END(fma)
libm_alias_double_other (fma, fma)
libm_alias_double_narrow (fma, fma)

View File

@ -69,3 +69,4 @@ GLOBAL_LIBM_ENTRY(fmal)
GLOBAL_LIBM_END(fmal)
libm_alias_ldouble_other (fma, fma)
libm_alias_ldouble_narrow (fma, fma)

View File

@ -0,0 +1 @@
/* Defined as an alias of fma. */

View File

@ -0,0 +1,35 @@
/* Fused multiply-add of double value, narrowing the result to float.
Copyright (C) 2021 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/>. */
#define f32fmaf64 __hide_f32fmaf64
#define f32fmaf32x __hide_f32fmaf32x
#define ffmal __hide_ffmal
#include <math.h>
#undef f32fmaf64
#undef f32fmaf32x
#undef ffmal
#include <math-narrow.h>
float
__ffma (double x, double y, double z)
{
NARROW_FMA_ROUND_TO_ODD (x, y, z, float, union ieee754_double, , mantissa1,
false);
}
libm_alias_float_double (fma)

View File

@ -18,12 +18,17 @@
#define NO_MATH_REDIRECT
#include <float.h>
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <fenv.h>
#include <ieee754.h>
#include <math-barriers.h>
#include <fenv_private.h>
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
#include <tininess.h>
#include <math-use-builtins.h>
@ -301,4 +306,5 @@ __fma (double x, double y, double z)
}
#ifndef __fma
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)
#endif

View File

@ -285,6 +285,8 @@
#define __daddl __f64addf128
#define __fdivl __f32divf128
#define __ddivl __f64divf128
#define __ffmal __f32fmaf128
#define __dfmal __f64fmaf128
#define __fmull __f32mulf128
#define __dmull __f64mulf128
#define __fsqrtl __f32sqrtf128

View File

@ -0,0 +1,6 @@
#define f32fmaf64x __hide_f32fmaf64x
#define f32fmaf128 __hide_f32fmaf128
#include <float128_private.h>
#undef f32fmaf64x
#undef f32fmaf128
#include "../ldbl-128/s_ffmal.c"

View File

@ -0,0 +1,10 @@
#define f32xfmaf64x __hide_f32xfmaf64x
#define f32xfmaf128 __hide_f32xfmaf128
#define f64fmaf64x __hide_f64fmaf64x
#define f64fmaf128 __hide_f64fmaf128
#include <float128_private.h>
#undef f32xfmaf64x
#undef f32xfmaf128
#undef f64fmaf64x
#undef f64fmaf128
#include "../ldbl-128/s_dfmal.c"

View File

@ -0,0 +1,2 @@
#include <float128_private.h>
#include "../ldbl-128/s_f64xfmaf128.c"

View File

@ -0,0 +1,38 @@
/* Fused multiply-add of long double (ldbl-128) value, narrowing the result
to double.
Copyright (C) 2021 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/>. */
#define f32xfmaf64x __hide_f32xfmaf64x
#define f32xfmaf128 __hide_f32xfmaf128
#define f64fmaf64x __hide_f64fmaf64x
#define f64fmaf128 __hide_f64fmaf128
#include <math.h>
#undef f32xfmaf64x
#undef f32xfmaf128
#undef f64fmaf64x
#undef f64fmaf128
#include <math-narrow.h>
double
__dfmal (_Float128 x, _Float128 y, _Float128 z)
{
NARROW_FMA_ROUND_TO_ODD (x, y, z, double, union ieee854_long_double, l,
mantissa3, false);
}
libm_alias_double_ldouble (fma)

View File

@ -0,0 +1,39 @@
/* Fused multiply-add of _Float128 value, converting the result to _Float64x.
Copyright (C) 2021 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 <math.h>
#include <math-narrow.h>
#include <tininess.h>
/* math_ldbl.h defines _Float128 to long double for this directory,
but when they are different, this function must be defined with
_Float128 arguments to avoid defining an alias with an incompatible
type. */
#undef _Float128
#if __HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128
_Float64x
__f64xfmaf128 (_Float128 x, _Float128 y, _Float128 z)
{
NARROW_FMA_ROUND_TO_ODD (x, y, z, _Float64x, union ieee854_long_double, l,
mantissa3, TININESS_AFTER_ROUNDING);
}
libm_alias_float64x_float128 (fma)
#else
/* Defined as an alias of fmal. */
#endif

View File

@ -0,0 +1,34 @@
/* Fused multiply-add of long double (ldbl-128) value, narrowing the result
to float.
Copyright (C) 2021 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/>. */
#define f32fmaf64x __hide_f32fmaf64x
#define f32fmaf128 __hide_f32fmaf128
#include <math.h>
#undef f32fmaf64x
#undef f32fmaf128
#include <math-narrow.h>
float
__ffmal (_Float128 x, _Float128 y, _Float128 z)
{
NARROW_FMA_ROUND_TO_ODD (x, y, z, float, union ieee854_long_double, l,
mantissa3, false);
}
libm_alias_float_ldouble (fma)

View File

@ -17,10 +17,15 @@
<https://www.gnu.org/licenses/>. */
#define NO_MATH_REDIRECT
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <fenv.h>
#include <ieee754.h>
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
#include <math-use-builtins.h>
/* This implementation relies on long double being more than twice as
@ -58,4 +63,5 @@ __fma (double x, double y, double z)
}
#ifndef __fma
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)
#endif

View File

@ -18,12 +18,15 @@
#define NO_MATH_REDIRECT
#include <float.h>
#define f64xfmaf128 __hide_f64xfmaf128
#include <math.h>
#undef f64xfmaf128
#include <fenv.h>
#include <ieee754.h>
#include <math-barriers.h>
#include <math_private.h>
#include <libm-alias-ldouble.h>
#include <math-narrow-alias.h>
#include <tininess.h>
#include <math-use-builtins.h>
@ -303,3 +306,4 @@ __fmal (_Float128 x, _Float128 y, _Float128 z)
#endif /* ! USE_FMAL_BUILTIN */
}
libm_alias_ldouble (__fma, fma)
libm_alias_ldouble_narrow (__fma, fma)

View File

@ -124,6 +124,8 @@ libm {
__ynieee128;
}
GLIBC_2.35 {
__f32fmaieee128;
__f64fmaieee128;
__f32sqrtieee128;
__f64sqrtieee128;
}

View File

@ -0,0 +1,28 @@
/* Fused multiply-add of long double (ldbl-128ibm) value, narrowing the result
to double.
Copyright (C) 2021 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 <math.h>
#include <math-narrow.h>
double
__dfmal (long double x, long double y, long double z)
{
NARROW_FMA_TRIVIAL (x, y, z, double, l);
}
libm_alias_double_ldouble (fma)

View File

@ -0,0 +1,28 @@
/* Fused multiply-add of long double (ldbl-128ibm) value, narrowing the result
to float.
Copyright (C) 2021 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 <math.h>
#include <math-narrow.h>
float
__ffmal (long double x, long double y, long double z)
{
NARROW_FMA_TRIVIAL (x, y, z, float, l);
}
libm_alias_float_ldouble (fma)

View File

@ -0,0 +1,34 @@
/* Fused multiply-add of long double (ldbl-96) value, narrowing the result
to double.
Copyright (C) 2021 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/>. */
#define f32xfmaf64x __hide_f32xfmaf64x
#define f64fmaf64x __hide_f64fmaf64x
#include <math.h>
#undef f32xfmaf64x
#undef f64fmaf64x
#include <math-narrow.h>
double
__dfmal (long double x, long double y, long double z)
{
NARROW_FMA_ROUND_TO_ODD (x, y, z, double, union ieee854_long_double, l,
mantissa1, false);
}
libm_alias_double_ldouble (fma)

View File

@ -0,0 +1,32 @@
/* Fused multiply-add of long double (ldbl-96) value, narrowing the result
to float.
Copyright (C) 2021 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/>. */
#define f32fmaf64x __hide_f32fmaf64x
#include <math.h>
#undef f32fmaf64x
#include <math-narrow.h>
float
__ffmal (long double x, long double y, long double z)
{
NARROW_FMA_ROUND_TO_ODD (x, y, z, float, union ieee854_long_double, l,
mantissa1, false);
}
libm_alias_float_ldouble (fma)

View File

@ -18,11 +18,16 @@
#define NO_MATH_REDIRECT
#include <float.h>
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <fenv.h>
#include <ieee754.h>
#include <math-barriers.h>
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
/* This implementation uses rounding to odd to avoid problems with
double rounding. See a paper by Boldo and Melquiond:
@ -97,4 +102,5 @@ __fma (double x, double y, double z)
}
#ifndef __fma
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)
#endif

View File

@ -45,7 +45,7 @@ libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \
nextup nextdown totalorder totalordermag getpayload \
canonicalize setpayload setpayloadsig llogb fmaxmag fminmag \
roundeven fromfp ufromfp fromfpx ufromfpx fadd dadd \
fdiv ddiv fmul dmul fsqrt dsqrt fsub dsub
fdiv ddiv ffma dfma fmul dmul fsqrt dsqrt fsub dsub
libnldbl-routines = $(libnldbl-calls:%=nldbl-%)
libnldbl-inhibit-o = $(object-suffixes)
libnldbl-static-only-routines = $(libnldbl-routines)
@ -89,6 +89,7 @@ CFLAGS-nldbl-ctan.c = -fno-builtin-ctanl
CFLAGS-nldbl-ctanh.c = -fno-builtin-ctanhl
CFLAGS-nldbl-dadd.c = -fno-builtin-daddl
CFLAGS-nldbl-ddiv.c = -fno-builtin-ddivl
CFLAGS-nldbl-dfma.c = -fno-builtin-dfmal
CFLAGS-nldbl-dmul.c = -fno-builtin-dmull
CFLAGS-nldbl-dsqrt.c = -fno-builtin-dsqrtl
CFLAGS-nldbl-dsub.c = -fno-builtin-dsubl
@ -102,6 +103,7 @@ CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl
CFLAGS-nldbl-fadd.c = -fno-builtin-faddl
CFLAGS-nldbl-fdim.c = -fno-builtin-fdiml
CFLAGS-nldbl-fdiv.c = -fno-builtin-fdivl
CFLAGS-nldbl-ffma.c = -fno-builtin-ffmal
CFLAGS-nldbl-finite.c = -fno-builtin-finitel
CFLAGS-nldbl-floor.c = -fno-builtin-floorl
CFLAGS-nldbl-fma.c = -fno-builtin-fmal

View File

@ -0,0 +1,28 @@
/* Compatibility routine for IEEE double as long double for dfma.
Copyright (C) 2021 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/>. */
#define dfmal __hide_dfmal
#include "nldbl-compat.h"
#undef dfmal
double
attribute_hidden
dfmal (double x, double y, double z)
{
return fma (x, y, z);
}

View File

@ -0,0 +1,28 @@
/* Compatibility routine for IEEE double as long double for ffma.
Copyright (C) 2021 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/>. */
#define ffmal __hide_ffmal
#include "nldbl-compat.h"
#undef ffmal
float
attribute_hidden
ffmal (double x, double y, double z)
{
return ffma (x, y, z);
}

View File

@ -0,0 +1,74 @@
/* Fused multiply-add of long double (ldbl-128) values, narrowing the result to
double, using soft-fp.
Copyright (C) 2021 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/>. */
#define f32xfmaf64x __hide_f32xfmaf64x
#define f32xfmaf128 __hide_f32xfmaf128
#define f64fmaf64x __hide_f64fmaf64x
#define f64fmaf128 __hide_f64fmaf128
#include <math.h>
#undef f32xfmaf64x
#undef f32xfmaf128
#undef f64fmaf64x
#undef f64fmaf128
#include <math-narrow.h>
#include <libc-diag.h>
/* R_e is not set in cases where it is not used in packing, but the
compiler does not see that it is set in all cases where it is
used, resulting in warnings that it may be used uninitialized.
The location of the warning differs in different versions of GCC,
it may be where R is defined using a macro or it may be where the
macro is defined. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
#include <soft-fp.h>
#include <double.h>
#include <quad.h>
double
__dfmal (_Float128 x, _Float128 y, _Float128 z)
{
FP_DECL_EX;
FP_DECL_Q (X);
FP_DECL_Q (Y);
FP_DECL_Q (Z);
FP_DECL_Q (R);
FP_DECL_D (RN);
double ret;
FP_INIT_ROUNDMODE;
FP_UNPACK_Q (X, x);
FP_UNPACK_Q (Y, y);
FP_UNPACK_Q (Z, z);
FP_FMA_Q (R, X, Y, Z);
#if _FP_W_TYPE_SIZE < 64
FP_TRUNC_COOKED (D, Q, 2, 4, RN, R);
#else
FP_TRUNC_COOKED (D, Q, 1, 2, RN, R);
#endif
FP_PACK_D (ret, RN);
FP_HANDLE_EXCEPTIONS;
CHECK_NARROW_FMA (ret, x, y, z);
return ret;
}
DIAG_POP_NEEDS_COMMENT;
libm_alias_double_ldouble (fma)

View File

@ -0,0 +1,72 @@
/* Fused multiply-add of double values, narrowing the result to float,
using soft-fp.
Copyright (C) 2021 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/>. */
#define f32fmaf64 __hide_f32fmaf64
#define f32fmaf32x __hide_f32fmaf32x
#define ffmal __hide_ffmal
#include <math.h>
#undef f32fmaf64
#undef f32fmaf32x
#undef ffmal
#include <math-narrow.h>
#include <libc-diag.h>
/* R_e is not set in cases where it is not used in packing, but the
compiler does not see that it is set in all cases where it is
used, resulting in warnings that it may be used uninitialized.
The location of the warning differs in different versions of GCC,
it may be where R is defined using a macro or it may be where the
macro is defined. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
#include <soft-fp.h>
#include <single.h>
#include <double.h>
float
__ffma (double x, double y, double z)
{
FP_DECL_EX;
FP_DECL_D (X);
FP_DECL_D (Y);
FP_DECL_D (Z);
FP_DECL_D (R);
FP_DECL_S (RN);
float ret;
FP_INIT_ROUNDMODE;
FP_UNPACK_D (X, x);
FP_UNPACK_D (Y, y);
FP_UNPACK_D (Z, z);
FP_FMA_D (R, X, Y, Z);
#if _FP_W_TYPE_SIZE < _FP_FRACBITS_D
FP_TRUNC_COOKED (S, D, 1, 2, RN, R);
#else
FP_TRUNC_COOKED (S, D, 1, 1, RN, R);
#endif
FP_PACK_S (ret, RN);
FP_HANDLE_EXCEPTIONS;
CHECK_NARROW_FMA (ret, x, y, z);
return ret;
}
DIAG_POP_NEEDS_COMMENT;
libm_alias_float_double (fma)

View File

@ -0,0 +1,70 @@
/* Fused multiply-add of long double (ldbl-128) values, narrowing the result to
float, using soft-fp.
Copyright (C) 2021 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/>. */
#define f32fmaf64x __hide_f32fmaf64x
#define f32fmaf128 __hide_f32fmaf128
#include <math.h>
#undef f32fmaf64x
#undef f32fmaf128
#include <math-narrow.h>
#include <libc-diag.h>
/* R_e is not set in cases where it is not used in packing, but the
compiler does not see that it is set in all cases where it is
used, resulting in warnings that it may be used uninitialized.
The location of the warning differs in different versions of GCC,
it may be where R is defined using a macro or it may be where the
macro is defined. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized");
#include <soft-fp.h>
#include <single.h>
#include <quad.h>
float
__ffmal (_Float128 x, _Float128 y, _Float128 z)
{
FP_DECL_EX;
FP_DECL_Q (X);
FP_DECL_Q (Y);
FP_DECL_Q (Z);
FP_DECL_Q (R);
FP_DECL_S (RN);
float ret;
FP_INIT_ROUNDMODE;
FP_UNPACK_Q (X, x);
FP_UNPACK_Q (Y, y);
FP_UNPACK_Q (Z, z);
FP_FMA_Q (R, X, Y, Z);
#if _FP_W_TYPE_SIZE < 64
FP_TRUNC_COOKED (S, Q, 1, 4, RN, R);
#else
FP_TRUNC_COOKED (S, Q, 1, 2, RN, R);
#endif
FP_PACK_S (ret, RN);
FP_HANDLE_EXCEPTIONS;
CHECK_NARROW_FMA (ret, x, y, z);
return ret;
}
DIAG_POP_NEEDS_COMMENT;
libm_alias_float_ldouble (fma)

View File

@ -26,9 +26,14 @@
<https://www.gnu.org/licenses/>. */
#define NO_MATH_REDIRECT
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <libc-diag.h>
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
/* R_e is not set in cases where it is not used in packing, but the
compiler does not see that it is set in all cases where it is
@ -66,4 +71,5 @@ DIAG_POP_NEEDS_COMMENT;
#ifndef __fma
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)
#endif

View File

@ -26,9 +26,12 @@
<https://www.gnu.org/licenses/>. */
#define NO_MATH_REDIRECT
#define f64xfmaf128 __hide_f64xfmaf128
#include <math.h>
#undef f64xfmaf128
#include <libc-diag.h>
#include <libm-alias-ldouble.h>
#include <math-narrow-alias.h>
/* R_e is not set in cases where it is not used in packing, but the
compiler does not see that it is set in all cases where it is
@ -65,3 +68,4 @@ __fmal (long double a, long double b, long double c)
DIAG_POP_NEEDS_COMMENT;
libm_alias_ldouble (__fma, fma)
libm_alias_ldouble_narrow (__fma, fma)

View File

@ -1089,16 +1089,29 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -1250,12 +1250,28 @@ ldouble: 1
Function: "fma_downward":
ldouble: 1
Function: "fma_downward_ldouble":
double: 1
float: 1
Function: "fma_ldouble":
double: 1
float: 1
Function: "fma_towardzero":
ldouble: 2
Function: "fma_towardzero_ldouble":
double: 1
float: 1
Function: "fma_upward":
ldouble: 3
Function: "fma_upward_ldouble":
double: 1
float: 1
Function: "fmod":
ldouble: 1

View File

@ -24,11 +24,13 @@
from _Float128 implementation objects. */
#include <libm-alias-float128.h>
#include <libm-alias-finite.h>
#include <math-narrow-alias.h>
#undef libm_alias_float128_r
#undef libm_alias_finite
#undef libm_alias_exclusive_ldouble
#undef libm_alias_float128_other_r_ldbl
#undef libm_alias_float128_narrow
#undef declare_mgen_finite_alias
#undef declare_mgen_alias
#undef declare_mgen_alias_r
@ -38,6 +40,7 @@
#define libm_alias_float128_r(from, to, r)
#define libm_alias_exclusive_ldouble(from, to)
#define libm_alias_float128_other_r_ldbl(from, to, r)
#define libm_alias_float128_narrow(from, to)
#define declare_mgen_finite_alias(from, to)
#define declare_mgen_alias(from, to)
#define declare_mgen_alias_r(from, to)

View File

@ -27,8 +27,10 @@
/* Include the real math.h to avoid optimizations caused by include/math.h
(e.x fabsf128 prototype is masked by an inline definition).*/
#define f64xfmaf128 __hide_f64xfmaf128
#define f64xsqrtf128 __hide_f64xsqrtf128
#include <math/math.h>
#undef f64xfmaf128
#undef f64xsqrtf128
#include <math_private.h>
#include <complex.h>
@ -152,6 +154,9 @@
/* scalbnf128 is an alias of ldexpf128. */
#define DECL_ALIAS_s_ldexp(f) MAKE_IFUNCP_R (f,) MAKE_IFUNCP_WRAP_R (wrap_, scalbn,)
/* f64xfmaf128 is an alias of fmaf128. */
#define DECL_ALIAS_s_fma(f) MAKE_IFUNCP_R (f,) libm_alias_float128_narrow (__fma, fma)
/* f64xsqrtf128 is an alias of sqrtf128. */
#define DECL_ALIAS_w_sqrt(f) MAKE_IFUNCP_R (f,) libm_alias_float128_narrow (__sqrt, sqrt)

View File

@ -17,10 +17,15 @@
<https://www.gnu.org/licenses/>. */
#define NO_MATH_REDIRECT
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <fenv.h>
#include <ieee754.h>
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
double
__fma (double x, double y, double z)
@ -29,3 +34,4 @@ __fma (double x, double y, double z)
return x;
}
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)

View File

@ -1,11 +1,17 @@
#define NO_MATH_REDIRECT
#include <sparc-ifunc.h>
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <math_ldbl_opt.h>
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
extern double __fma_vis3 (double, double, double);
extern double __fma_generic (double, double, double);
sparc_libm_ifunc(__fma, hwcap & HWCAP_SPARC_FMAF ? __fma_vis3 : __fma_generic);
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)

View File

@ -1,7 +1,12 @@
#define NO_MATH_REDIRECT
#include <sparc-ifunc.h>
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
extern __typeof (fma) __fma_vis3 attribute_hidden;
extern __typeof (fma) __fma_generic attribute_hidden;
@ -11,3 +16,4 @@ sparc_libm_ifunc (__fma,
? __fma_vis3
: __fma_generic);
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)

View File

@ -1054,16 +1054,29 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -1111,17 +1111,30 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 __clog10l F

View File

@ -697,9 +697,15 @@ GLIBC_2.32 ynf32 F
GLIBC_2.32 ynf32x F
GLIBC_2.32 ynf64 F
GLIBC_2.32 ynl F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -471,10 +471,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 _LIB_VERSION D 0x4

View File

@ -471,10 +471,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 _LIB_VERSION D 0x4

View File

@ -763,9 +763,15 @@ GLIBC_2.31 totalordermagf32 F
GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -782,10 +782,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 exp2l F

View File

@ -1096,16 +1096,29 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -1026,16 +1026,29 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -471,10 +471,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 _LIB_VERSION D 0x4

View File

@ -822,9 +822,15 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -783,9 +783,15 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -783,9 +783,15 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -782,10 +782,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 exp2l F

View File

@ -1054,16 +1054,29 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -783,9 +783,15 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -828,10 +828,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 __clog10l F

View File

@ -827,10 +827,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 __clog10l F

View File

@ -821,10 +821,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 __clog10l F

View File

@ -1214,18 +1214,33 @@ GLIBC_2.32 __y0ieee128 F
GLIBC_2.32 __y1ieee128 F
GLIBC_2.32 __ynieee128 F
GLIBC_2.32 exp10f F
GLIBC_2.35 __f32fmaieee128 F
GLIBC_2.35 __f32sqrtieee128 F
GLIBC_2.35 __f64fmaieee128 F
GLIBC_2.35 __f64sqrtieee128 F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -938,16 +938,29 @@ GLIBC_2.33 ynf32x F
GLIBC_2.33 ynf64 F
GLIBC_2.33 ynf64x F
GLIBC_2.33 ynl F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -1035,16 +1035,29 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -1055,17 +1055,30 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 __clog10l F

View File

@ -1055,17 +1055,30 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 __clog10l F

View File

@ -782,10 +782,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 exp2l F

View File

@ -782,10 +782,16 @@ GLIBC_2.31 totalordermagf32x F
GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 exp2l F

View File

@ -1062,17 +1062,30 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F
GLIBC_2.4 __clog10l F

View File

@ -1054,16 +1054,29 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -1087,16 +1087,29 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -1087,16 +1087,29 @@ GLIBC_2.31 totalordermagf64 F
GLIBC_2.31 totalordermagf64x F
GLIBC_2.31 totalordermagl F
GLIBC_2.32 exp10f F
GLIBC_2.35 dfmal F
GLIBC_2.35 dsqrtl F
GLIBC_2.35 f32fmaf128 F
GLIBC_2.35 f32fmaf32x F
GLIBC_2.35 f32fmaf64 F
GLIBC_2.35 f32fmaf64x F
GLIBC_2.35 f32sqrtf128 F
GLIBC_2.35 f32sqrtf32x F
GLIBC_2.35 f32sqrtf64 F
GLIBC_2.35 f32sqrtf64x F
GLIBC_2.35 f32xfmaf128 F
GLIBC_2.35 f32xfmaf64 F
GLIBC_2.35 f32xfmaf64x F
GLIBC_2.35 f32xsqrtf128 F
GLIBC_2.35 f32xsqrtf64 F
GLIBC_2.35 f32xsqrtf64x F
GLIBC_2.35 f64fmaf128 F
GLIBC_2.35 f64fmaf64x F
GLIBC_2.35 f64sqrtf128 F
GLIBC_2.35 f64sqrtf64x F
GLIBC_2.35 f64xfmaf128 F
GLIBC_2.35 f64xsqrtf128 F
GLIBC_2.35 ffma F
GLIBC_2.35 ffmal F
GLIBC_2.35 fsqrt F
GLIBC_2.35 fsqrtl F

View File

@ -18,9 +18,14 @@
#define NO_MATH_REDIRECT
#include <config.h>
#define dfmal __hide_dfmal
#define f32xfmaf64 __hide_f32xfmaf64
#include <math.h>
#undef dfmal
#undef f32xfmaf64
#include <init-arch.h>
#include <libm-alias-double.h>
#include <math-narrow-alias.h>
extern double __fma_sse2 (double x, double y, double z) attribute_hidden;
@ -45,6 +50,7 @@ libm_ifunc (__fma, CPU_FEATURE_USABLE (FMA)
? __fma_fma3 : (CPU_FEATURE_USABLE (FMA4)
? __fma_fma4 : __fma_sse2));
libm_alias_double (__fma, fma)
libm_alias_double_narrow (__fma, fma)
#define __fma __fma_sse2