diff options
Diffstat (limited to 'math')
| -rw-r--r-- | math/Makefile | 6 | ||||
| -rw-r--r-- | math/Versions | 9 | ||||
| -rw-r--r-- | math/auto-libm-test-out-narrow-sqrt | 4485 | ||||
| -rw-r--r-- | math/bits/mathcalls-narrow.h | 3 | ||||
| -rwxr-xr-x | math/gen-tgmath-tests.py | 5 | ||||
| -rw-r--r-- | math/libm-test-driver.c | 18 | ||||
| -rw-r--r-- | math/libm-test-narrow-sqrt.inc | 56 | ||||
| -rw-r--r-- | math/math-narrow.h | 145 | ||||
| -rw-r--r-- | math/math.h | 6 | ||||
| -rw-r--r-- | math/tgmath.h | 56 | ||||
| -rw-r--r-- | math/w_sqrt_compat.c | 6 | ||||
| -rw-r--r-- | math/w_sqrt_template.c | 8 | ||||
| -rw-r--r-- | math/w_sqrtl_compat.c | 4 |
13 files changed, 4716 insertions, 91 deletions
diff --git a/math/Makefile b/math/Makefile index ceb1eb2085..987e9841f9 100644 --- a/math/Makefile +++ b/math/Makefile @@ -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 sub +libm-narrow-fns = add div 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 sub +libm-test-funcs-narrow = add div 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) @@ -664,6 +664,7 @@ CFLAGS-s_ctanh.c += -fno-builtin-ctanhl CFLAGS-s_dadd.c += -fno-builtin-daddl CFLAGS-s_ddiv.c += -fno-builtin-ddivl CFLAGS-s_dmul.c += -fno-builtin-dmull +CFLAGS-s_dsqrt.c += -fno-builtin-dsqrtl CFLAGS-s_dsub.c += -fno-builtin-dsubl CFLAGS-s_erf.c += -fno-builtin-erfl CFLAGS-s_erfc.c += -fno-builtin-erfcl @@ -687,6 +688,7 @@ CFLAGS-s_fmul.c += -fno-builtin-fmull CFLAGS-s_frexp.c += -fno-builtin-frexpl CFLAGS-s_fromfp.c += -fno-builtin-fromfpl CFLAGS-s_fromfpx.c += -fno-builtin-fromfpxl +CFLAGS-s_fsqrt.c += -fno-builtin-fsqrtl CFLAGS-s_fsub.c += -fno-builtin-fsubl CFLAGS-s_gamma.c += -fno-builtin-gammal CFLAGS-s_getpayload.c += -fno-builtin-getpayloadl diff --git a/math/Versions b/math/Versions index 5b3c321490..b121b454cd 100644 --- a/math/Versions +++ b/math/Versions @@ -593,4 +593,13 @@ libm { GLIBC_2.32 { exp10f; } + GLIBC_2.35 { + # Functions not involving _Float64x or _Float128, for all configurations. + fsqrt; fsqrtl; dsqrtl; + f32sqrtf32x; f32sqrtf64; f32xsqrtf64; + # Functions involving _Float64x or _Float128, for some configurations. + f32sqrtf64x; f32sqrtf128; + f32xsqrtf64x; f32xsqrtf128; f64sqrtf64x; f64sqrtf128; + f64xsqrtf128; + } } diff --git a/math/auto-libm-test-out-narrow-sqrt b/math/auto-libm-test-out-narrow-sqrt new file mode 100644 index 0000000000..5e995b0780 --- /dev/null +++ b/math/auto-libm-test-out-narrow-sqrt @@ -0,0 +1,4485 @@ +sqrt 0 += sqrt downward binary32:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt tonearest binary32:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt towardzero binary32:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt upward binary32:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt downward binary64:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt tonearest binary64:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt towardzero binary64:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt upward binary64:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt downward intel96:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt tonearest intel96:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt towardzero intel96:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt upward intel96:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt downward m68k96:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt tonearest m68k96:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt towardzero m68k96:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt upward m68k96:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt downward binary128:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt tonearest binary128:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt towardzero binary128:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt upward binary128:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt downward ibm128:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt tonearest ibm128:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt towardzero ibm128:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : += sqrt upward ibm128:arg_fmt(0,0,0,0) 0x0p+0 : 0x0p+0 : +sqrt -0 += sqrt downward binary32:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt tonearest binary32:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt towardzero binary32:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt upward binary32:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt downward binary64:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt tonearest binary64:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt towardzero binary64:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt upward binary64:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt downward intel96:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt tonearest intel96:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt towardzero intel96:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt upward intel96:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt downward m68k96:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt tonearest m68k96:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt towardzero m68k96:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt upward m68k96:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt downward binary128:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt tonearest binary128:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt towardzero binary128:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt upward binary128:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt downward ibm128:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt tonearest ibm128:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt towardzero ibm128:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : += sqrt upward ibm128:arg_fmt(0,0,0,0) -0x0p+0 : -0x0p+0 : +sqrt 2209 += sqrt downward binary32:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt tonearest binary32:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt towardzero binary32:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt upward binary32:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt downward binary64:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt tonearest binary64:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt towardzero binary64:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt upward binary64:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt downward intel96:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt tonearest intel96:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt towardzero intel96:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt upward intel96:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt downward m68k96:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt tonearest m68k96:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt towardzero m68k96:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt upward m68k96:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt downward binary128:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt tonearest binary128:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt towardzero binary128:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt upward binary128:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt downward ibm128:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt tonearest ibm128:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt towardzero ibm128:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : += sqrt upward ibm128:arg_fmt(11,1,0,12) 0x8.a1p+8 : 0x2.fp+4 : +sqrt 4 += sqrt downward binary32:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt tonearest binary32:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt towardzero binary32:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt upward binary32:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt downward binary64:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt tonearest binary64:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt towardzero binary64:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt upward binary64:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt downward intel96:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt tonearest intel96:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt towardzero intel96:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt upward intel96:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt downward m68k96:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt tonearest m68k96:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt towardzero m68k96:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt upward m68k96:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt downward binary128:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt tonearest binary128:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt towardzero binary128:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt upward binary128:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt downward ibm128:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt tonearest ibm128:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt towardzero ibm128:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : += sqrt upward ibm128:arg_fmt(2,1,2,1) 0x4p+0 : 0x2p+0 : +sqrt 2 += sqrt downward binary32:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e6p+0 : inexact += sqrt tonearest binary32:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e6p+0 : inexact += sqrt towardzero binary32:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e6p+0 : inexact += sqrt upward binary32:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e8p+0 : inexact += sqrt downward binary64:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bccp+0 : inexact += sqrt tonearest binary64:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcdp+0 : inexact += sqrt towardzero binary64:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bccp+0 : inexact += sqrt upward binary64:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcdp+0 : inexact += sqrt downward intel96:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908p+0 : inexact += sqrt tonearest intel96:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908p+0 : inexact += sqrt towardzero intel96:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908p+0 : inexact += sqrt upward intel96:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc90ap+0 : inexact += sqrt downward m68k96:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908p+0 : inexact += sqrt tonearest m68k96:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908p+0 : inexact += sqrt towardzero m68k96:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908p+0 : inexact += sqrt upward m68k96:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc90ap+0 : inexact += sqrt downward binary128:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908b2fb1366ea95p+0 : inexact += sqrt tonearest binary128:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908b2fb1366ea95p+0 : inexact += sqrt towardzero binary128:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908b2fb1366ea95p+0 : inexact += sqrt upward binary128:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908b2fb1366ea96p+0 : inexact += sqrt downward ibm128:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908b2fb1366ea8p+0 : inexact += sqrt tonearest ibm128:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908b2fb1366ea8p+0 : inexact += sqrt towardzero ibm128:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908b2fb1366ea8p+0 : inexact += sqrt upward ibm128:arg_fmt(1,1,1,1) 0x2p+0 : 0x1.6a09e667f3bcc908b2fb1366ebp+0 : inexact +sqrt 0.25 += sqrt downward binary32:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt tonearest binary32:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt towardzero binary32:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt upward binary32:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt downward binary64:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt tonearest binary64:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt towardzero binary64:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt upward binary64:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt downward intel96:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt tonearest intel96:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt towardzero intel96:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt upward intel96:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt downward m68k96:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt tonearest m68k96:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt towardzero m68k96:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt upward m68k96:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt downward binary128:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt tonearest binary128:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt towardzero binary128:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt upward binary128:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt downward ibm128:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt tonearest ibm128:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt towardzero ibm128:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : += sqrt upward ibm128:arg_fmt(-2,1,-2,1) 0x4p-4 : 0x8p-4 : +sqrt 6642.25 += sqrt downward binary32:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt tonearest binary32:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt towardzero binary32:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt upward binary32:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt downward binary64:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt tonearest binary64:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt towardzero binary64:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt upward binary64:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt downward intel96:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt tonearest intel96:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt towardzero intel96:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt upward intel96:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt downward m68k96:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt tonearest m68k96:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt towardzero m68k96:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt upward m68k96:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt downward binary128:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt tonearest binary128:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt towardzero binary128:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt upward binary128:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt downward ibm128:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt tonearest ibm128:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt towardzero ibm128:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : += sqrt upward ibm128:arg_fmt(12,2,-2,15) 0x1.9f24p+12 : 0x5.18p+4 : +sqrt 15190.5625 += sqrt downward binary32:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt tonearest binary32:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt towardzero binary32:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt upward binary32:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt downward binary64:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt tonearest binary64:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt towardzero binary64:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt upward binary64:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt downward intel96:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt tonearest intel96:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt towardzero intel96:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt upward intel96:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt downward m68k96:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt tonearest m68k96:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt towardzero m68k96:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt upward m68k96:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt downward binary128:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt tonearest binary128:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt towardzero binary128:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt upward binary128:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt downward ibm128:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt tonearest ibm128:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt towardzero ibm128:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : += sqrt upward ibm128:arg_fmt(13,3,-4,18) 0x3.b569p+12 : 0x7.b4p+4 : +sqrt 0.75 += sqrt downward binary32:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d7p-4 : inexact += sqrt tonearest binary32:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d7p-4 : inexact += sqrt towardzero binary32:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d7p-4 : inexact += sqrt upward binary32:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d8p-4 : inexact += sqrt downward binary64:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c2655p-4 : inexact += sqrt tonearest binary64:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c2655p-4 : inexact += sqrt towardzero binary64:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c2655p-4 : inexact += sqrt upward binary64:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c26558p-4 : inexact += sqrt downward intel96:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539dp-4 : inexact += sqrt tonearest intel96:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539ep-4 : inexact += sqrt towardzero intel96:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539dp-4 : inexact += sqrt upward intel96:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539ep-4 : inexact += sqrt downward m68k96:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539dp-4 : inexact += sqrt tonearest m68k96:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539ep-4 : inexact += sqrt towardzero m68k96:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539dp-4 : inexact += sqrt upward m68k96:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539ep-4 : inexact += sqrt downward binary128:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539d92ba16b83c5cp-4 : inexact += sqrt tonearest binary128:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539d92ba16b83c5cp-4 : inexact += sqrt towardzero binary128:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539d92ba16b83c5cp-4 : inexact += sqrt upward binary128:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539d92ba16b83c5c8p-4 : inexact += sqrt downward ibm128:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539d92ba16b83c4p-4 : inexact += sqrt tonearest ibm128:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539d92ba16b83c4p-4 : inexact += sqrt towardzero ibm128:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539d92ba16b83c4p-4 : inexact += sqrt upward ibm128:arg_fmt(-1,2,-2,2) 0xcp-4 : 0xd.db3d742c265539d92ba16b83c8p-4 : inexact +sqrt 0x1.fffffffffffffp+1023 += sqrt downward binary32:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffffp+60 : inexact += sqrt tonearest binary32:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffffp+60 : inexact += sqrt towardzero binary32:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffffp+60 : inexact += sqrt upward binary32:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0x1p+64 : inexact += sqrt downward binary64:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffd8p+60 : inexact += sqrt tonearest binary64:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt towardzero binary64:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffd8p+60 : inexact += sqrt upward binary64:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt downward intel96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffp+60 : inexact += sqrt tonearest intel96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt towardzero intel96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffp+60 : inexact += sqrt upward intel96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt downward m68k96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffp+60 : inexact += sqrt tonearest m68k96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt towardzero m68k96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffp+60 : inexact += sqrt upward m68k96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt downward binary128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff5ff8p+60 : inexact += sqrt tonearest binary128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact += sqrt towardzero binary128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff5ff8p+60 : inexact += sqrt upward binary128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact += sqrt downward ibm128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff5cp+60 : inexact += sqrt tonearest ibm128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact += sqrt towardzero ibm128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff5cp+60 : inexact += sqrt upward ibm128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact += sqrt downward binary32:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.fffffp+124 : inexact overflow errno-erange-ok += sqrt tonearest binary32:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : plus_infty : inexact overflow errno-erange += sqrt towardzero binary32:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.fffffp+124 : inexact overflow errno-erange-ok += sqrt upward binary32:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : plus_infty : inexact overflow errno-erange += sqrt downward binary64:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+508 : inexact += sqrt tonearest binary64:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+508 : inexact += sqrt towardzero binary64:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffff8p+508 : inexact += sqrt upward binary64:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0x1p+512 : inexact += sqrt downward intel96:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbffp+508 : inexact += sqrt tonearest intel96:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffcp+508 : inexact += sqrt towardzero intel96:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbffp+508 : inexact += sqrt upward intel96:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffcp+508 : inexact += sqrt downward m68k96:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbffp+508 : inexact += sqrt tonearest m68k96:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffcp+508 : inexact += sqrt towardzero m68k96:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbffp+508 : inexact += sqrt upward m68k96:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffcp+508 : inexact += sqrt downward binary128:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbfffffffffffff78p+508 : inexact += sqrt tonearest binary128:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbfffffffffffff8p+508 : inexact += sqrt towardzero binary128:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbfffffffffffff78p+508 : inexact += sqrt upward binary128:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbfffffffffffff8p+508 : inexact += sqrt downward ibm128:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbffffffffffffcp+508 : inexact += sqrt tonearest ibm128:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffcp+508 : inexact += sqrt towardzero ibm128:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffbffffffffffffcp+508 : inexact += sqrt upward ibm128:arg_fmt(1023,53,971,53) 0xf.ffffffffffff8p+1020 : 0xf.ffffffffffffcp+508 : inexact +sqrt 0x1.ffffffffffffbp+1023 += sqrt downward binary32:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffffp+60 : inexact += sqrt tonearest binary32:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffffp+60 : inexact += sqrt towardzero binary32:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffffp+60 : inexact += sqrt upward binary32:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0x1p+64 : inexact += sqrt downward binary64:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffd8p+60 : inexact += sqrt tonearest binary64:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt towardzero binary64:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffd8p+60 : inexact += sqrt upward binary64:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt downward intel96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffp+60 : inexact += sqrt tonearest intel96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt towardzero intel96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffp+60 : inexact += sqrt upward intel96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt downward m68k96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffp+60 : inexact += sqrt tonearest m68k96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt towardzero m68k96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffp+60 : inexact += sqrt upward m68k96:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffep+60 : inexact += sqrt downward binary128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff5ff8p+60 : inexact += sqrt tonearest binary128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact += sqrt towardzero binary128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff5ff8p+60 : inexact += sqrt upward binary128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact += sqrt downward ibm128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff5cp+60 : inexact += sqrt tonearest ibm128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact += sqrt towardzero ibm128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff5cp+60 : inexact += sqrt upward ibm128:arg_fmt(127,24,104,24) 0xf.fffffp+124 : 0xf.fffff7fffffdfffffeffffff6p+60 : inexact += sqrt downward binary32:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffp+124 : inexact overflow errno-erange-ok += sqrt tonearest binary32:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : plus_infty : inexact overflow errno-erange += sqrt towardzero binary32:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffp+124 : inexact overflow errno-erange-ok += sqrt upward binary32:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : plus_infty : inexact overflow errno-erange += sqrt downward binary64:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffe8p+508 : inexact += sqrt tonearest binary64:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffe8p+508 : inexact += sqrt towardzero binary64:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffe8p+508 : inexact += sqrt upward binary64:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.ffffffffffffp+508 : inexact += sqrt downward intel96:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffebffp+508 : inexact += sqrt tonearest intel96:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffecp+508 : inexact += sqrt towardzero intel96:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffebffp+508 : inexact += sqrt upward intel96:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffecp+508 : inexact += sqrt downward m68k96:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffebffp+508 : inexact += sqrt tonearest m68k96:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffecp+508 : inexact += sqrt towardzero m68k96:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffebffp+508 : inexact += sqrt upward m68k96:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffecp+508 : inexact += sqrt downward binary128:arg_fmt(1023,50,971,53) 0xf.fffffffffffd8p+1020 : 0xf.fffffffffffebffffffffffff378p+508 : inexact |
