From 0ae0af68d8fa3bf6cbe1e4f1de5929ff71de67b3 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 4 Dec 2024 10:20:44 +0000 Subject: Implement C23 cospi C23 adds various function families originally defined in TS 18661-4. Add the cospi functions (cos(pi*x)). Tested for x86_64 and x86, and with build-many-glibcs.py. --- math/Makefile | 6 + math/Versions | 6 + math/auto-libm-test-in | 91 + math/auto-libm-test-out-cospi | 9258 +++++++++++++++++++++++++++++++++++++++++ math/bits/mathcalls.h | 5 + math/gen-auto-libm-tests.c | 1 + math/gen-tgmath-tests.py | 1 + math/libm-test-cospi.inc | 49 + math/s_cospi_template.c | 39 + math/test-tgmath.c | 12 +- math/tgmath.h | 4 + 11 files changed, 9471 insertions(+), 1 deletion(-) create mode 100644 math/auto-libm-test-out-cospi create mode 100644 math/libm-test-cospi.inc create mode 100644 math/s_cospi_template.c (limited to 'math') diff --git a/math/Makefile b/math/Makefile index 2d5e016496..602797584e 100644 --- a/math/Makefile +++ b/math/Makefile @@ -105,6 +105,7 @@ gen-libm-calls = \ s_cexpF \ s_clog10F \ s_clogF \ + s_cospiF \ s_cpowF \ s_cprojF \ s_csinF \ @@ -635,6 +636,7 @@ libm-test-funcs-auto = \ clog10 \ cos \ cosh \ + cospi \ cpow \ csin \ csinh \ @@ -932,6 +934,7 @@ tgmath3-macros = \ copysign \ cos \ cosh \ + cospi \ cproj \ creal \ erf \ @@ -1324,6 +1327,7 @@ CFLAGS-s_conj.c += -fno-builtin-conjl CFLAGS-s_copysign.c += -fno-builtin-copysignl CFLAGS-s_cos.c += -fno-builtin-cosl CFLAGS-w_cosh.c += -fno-builtin-coshl +CFLAGS-s_cospi.c += -fno-builtin-cospil CFLAGS-s_cpow.c += -fno-builtin-cpowl CFLAGS-s_cproj.c += -fno-builtin-cprojl CFLAGS-s_creal.c += -fno-builtin-creall @@ -1462,6 +1466,7 @@ CFLAGS-s_conj.c += -fno-builtin-conjf32x -fno-builtin-conjf64 CFLAGS-s_copysign.c += -fno-builtin-copysignf32x -fno-builtin-copysignf64 CFLAGS-s_cos.c += -fno-builtin-cosf32x -fno-builtin-cosf64 CFLAGS-w_cosh.c += -fno-builtin-coshf32x -fno-builtin-coshf64 +CFLAGS-s_cospi.c += -fno-builtin-cospif32x -fno-builtin-cospif64 CFLAGS-s_cpow.c += -fno-builtin-cpowf32x -fno-builtin-cpowf64 CFLAGS-s_cproj.c += -fno-builtin-cprojf32x -fno-builtin-cprojf64 CFLAGS-s_creal.c += -fno-builtin-crealf32x -fno-builtin-crealf64 @@ -1586,6 +1591,7 @@ CFLAGS-s_conjf.c += -fno-builtin-conjf32 CFLAGS-s_copysignf.c += -fno-builtin-copysignf32 CFLAGS-s_cosf.c += -fno-builtin-cosf32 CFLAGS-w_coshf.c += -fno-builtin-coshf32 +CFLAGS-s_cospif.c += -fno-builtin-cospif32 CFLAGS-s_cpowf.c += -fno-builtin-cpowf32 CFLAGS-s_cprojf.c += -fno-builtin-cprojf32 CFLAGS-s_crealf.c += -fno-builtin-crealf32 diff --git a/math/Versions b/math/Versions index 49d61f212f..72dff5ff5b 100644 --- a/math/Versions +++ b/math/Versions @@ -653,4 +653,10 @@ libm { log10p1f64x; log10p1f128; logp1f64x; logp1f128; } + GLIBC_2.41 { + # Functions not involving _Float64x or _Float128, for all configurations. + cospi; cospif; cospil; cospif32; cospif64; cospif32x; + # Functions involving _Float64x or _Float128, for some configurations. + cospif64x; cospif128; + } } diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index b570e88e78..04fe31b863 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -4463,6 +4463,97 @@ cos 0x2.3c6ef4p-12 # the next value generates larger error bounds on x86_64 (binary128) cos 0xe.6672d458b05edf50af4fab1a42p+40 +cospi 0 +cospi -0 +cospi min +cospi -min +cospi min_subnorm +cospi -min_subnorm +cospi max +cospi -max +cospi 1 +cospi -1 +cospi 2 +cospi -2 +cospi 3 +cospi -3 +cospi 0.1 +cospi -0.1 +cospi 0.2 +cospi -0.2 +cospi 0.3 +cospi -0.3 +cospi 0.4 +cospi -0.4 +cospi 0.5 +cospi -0.5 +cospi 0.6 +cospi -0.6 +cospi 0.7 +cospi -0.7 +cospi 0.8 +cospi -0.8 +cospi 0.9 +cospi -0.9 +cospi 1.1 +cospi -1.1 +cospi 1.2 +cospi -1.2 +cospi 1.3 +cospi -1.3 +cospi 1.4 +cospi -1.4 +cospi 1.5 +cospi -1.5 +cospi 2.5 +cospi -2.5 +cospi 3.5 +cospi -3.5 +cospi 4.5 +cospi -4.5 +cospi 0.24 +cospi -0.24 +cospi 0.49 +cospi -0.49 +cospi 0.51 +cospi -0.51 +cospi 0.76 +cospi -0.76 +cospi 1.24 +cospi -1.24 +cospi 1.49 +cospi -1.49 +cospi 1.51 +cospi -1.51 +cospi 1.76 +cospi -1.76 +cospi 100.24 +cospi -100.24 +cospi 100.49 +cospi -100.49 +cospi 100.51 +cospi -100.51 +cospi 100.76 +cospi -100.76 +cospi 1234.56 +cospi -1234.56 +cospi 0x1fffff.6p0 +cospi -0x1fffff.6p0 +cospi 0x1fffff.ap0 +cospi -0x1fffff.ap0 +cospi 0x3ffffffffffff.6p0 +cospi -0x3ffffffffffff.6p0 +cospi 0x3ffffffffffff.ap0 +cospi -0x3ffffffffffff.ap0 +cospi 0x1fffffffffffffff.6p0 +cospi -0x1fffffffffffffff.6p0 +cospi 0x1fffffffffffffff.ap0 +cospi -0x1fffffffffffffff.ap0 +cospi 0x3fffffffffffffffffffffffffff.6p0 +cospi -0x3fffffffffffffffffffffffffff.6p0 +cospi 0x3fffffffffffffffffffffffffff.ap0 +cospi -0x3fffffffffffffffffffffffffff.ap0 + cosh 0 cosh -0 cosh 0.75 diff --git a/math/auto-libm-test-out-cospi b/math/auto-libm-test-out-cospi new file mode 100644 index 0000000000..cc6db07614 --- /dev/null +++ b/math/auto-libm-test-out-cospi @@ -0,0 +1,9258 @@ +cospi 0 += cospi downward binary32 0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary32 0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary32 0x0p+0 : 0x1p+0 : inexact-ok += cospi upward binary32 0x0p+0 : 0x1p+0 : inexact-ok += cospi downward binary64 0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary64 0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary64 0x0p+0 : 0x1p+0 : inexact-ok += cospi upward binary64 0x0p+0 : 0x1p+0 : inexact-ok += cospi downward intel96 0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest intel96 0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x0p+0 : 0x1p+0 : inexact-ok += cospi upward intel96 0x0p+0 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x0p+0 : 0x1p+0 : inexact-ok += cospi upward m68k96 0x0p+0 : 0x1p+0 : inexact-ok += cospi downward binary128 0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary128 0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x0p+0 : 0x1p+0 : inexact-ok += cospi upward binary128 0x0p+0 : 0x1p+0 : inexact-ok += cospi downward ibm128 0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0x0p+0 : 0x1p+0 : inexact-ok += cospi upward ibm128 0x0p+0 : 0x1p+0 : inexact-ok +cospi -0 += cospi downward binary32 -0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary32 -0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary32 -0x0p+0 : 0x1p+0 : inexact-ok += cospi upward binary32 -0x0p+0 : 0x1p+0 : inexact-ok += cospi downward binary64 -0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary64 -0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary64 -0x0p+0 : 0x1p+0 : inexact-ok += cospi upward binary64 -0x0p+0 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest intel96 -0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x0p+0 : 0x1p+0 : inexact-ok += cospi upward intel96 -0x0p+0 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 -0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x0p+0 : 0x1p+0 : inexact-ok += cospi upward m68k96 -0x0p+0 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary128 -0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x0p+0 : 0x1p+0 : inexact-ok += cospi upward binary128 -0x0p+0 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0x0p+0 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 -0x0p+0 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0x0p+0 : 0x1p+0 : inexact-ok += cospi upward ibm128 -0x0p+0 : 0x1p+0 : inexact-ok +cospi min += cospi downward binary32 0x4p-128 : 0xf.fffffp-4 : inexact-ok += cospi tonearest binary32 0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero binary32 0x4p-128 : 0xf.fffffp-4 : inexact-ok += cospi upward binary32 0x4p-128 : 0x1p+0 : inexact-ok += cospi downward binary64 0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero binary64 0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 0x4p-128 : 0x1p+0 : inexact-ok += cospi downward intel96 0x4p-128 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x4p-128 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 0x4p-128 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x4p-128 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x4p-128 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 0x4p-128 : 0x1p+0 : inexact-ok += cospi downward binary128 0x4p-128 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x4p-128 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x4p-128 : 0x1p+0 : inexact-ok += cospi downward ibm128 0x4p-128 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0x4p-128 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 0x4p-128 : 0x1p+0 : inexact-ok += cospi downward binary64 0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero binary64 0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward intel96 0x4p-1024 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x4p-1024 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x4p-1024 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x4p-1024 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward binary128 0x4p-1024 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x4p-1024 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward ibm128 0x4p-1024 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0x4p-1024 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward intel96 0x4p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 0x4p-16384 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x4p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 0x4p-16384 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x4p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 0x4p-16384 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x4p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 0x4p-16384 : 0x1p+0 : inexact-ok += cospi downward binary128 0x4p-16384 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x4p-16384 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x4p-16384 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x4p-16384 : 0x1p+0 : inexact-ok += cospi downward intel96 0x2p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 0x2p-16384 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x2p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 0x2p-16384 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x2p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 0x2p-16384 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x2p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 0x2p-16384 : 0x1p+0 : inexact-ok += cospi downward binary128 0x2p-16384 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x2p-16384 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x2p-16384 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x2p-16384 : 0x1p+0 : inexact-ok += cospi downward binary64 0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero binary64 0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 0x8p-972 : 0x1p+0 : inexact-ok += cospi downward intel96 0x8p-972 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x8p-972 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 0x8p-972 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x8p-972 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x8p-972 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 0x8p-972 : 0x1p+0 : inexact-ok += cospi downward binary128 0x8p-972 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x8p-972 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x8p-972 : 0x1p+0 : inexact-ok += cospi downward ibm128 0x8p-972 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0x8p-972 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 0x8p-972 : 0x1p+0 : inexact-ok +cospi -min += cospi downward binary32 -0x4p-128 : 0xf.fffffp-4 : inexact-ok += cospi tonearest binary32 -0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero binary32 -0x4p-128 : 0xf.fffffp-4 : inexact-ok += cospi upward binary32 -0x4p-128 : 0x1p+0 : inexact-ok += cospi downward binary64 -0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 -0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero binary64 -0x4p-128 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 -0x4p-128 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x4p-128 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 -0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x4p-128 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 -0x4p-128 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x4p-128 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 -0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x4p-128 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 -0x4p-128 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x4p-128 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x4p-128 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x4p-128 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0x4p-128 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 -0x4p-128 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0x4p-128 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 -0x4p-128 : 0x1p+0 : inexact-ok += cospi downward binary64 -0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero binary64 -0x4p-1024 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x4p-1024 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x4p-1024 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x4p-1024 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x4p-1024 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x4p-1024 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x4p-1024 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0x4p-1024 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0x4p-1024 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 -0x4p-1024 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x4p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 -0x4p-16384 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x4p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 -0x4p-16384 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x4p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 -0x4p-16384 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x4p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 -0x4p-16384 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x4p-16384 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x4p-16384 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x4p-16384 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x4p-16384 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x2p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 -0x2p-16384 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x2p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 -0x2p-16384 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x2p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 -0x2p-16384 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x2p-16384 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 -0x2p-16384 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x2p-16384 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x2p-16384 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x2p-16384 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x2p-16384 : 0x1p+0 : inexact-ok += cospi downward binary64 -0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 -0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero binary64 -0x8p-972 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 -0x8p-972 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x8p-972 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 -0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x8p-972 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 -0x8p-972 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x8p-972 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 -0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x8p-972 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 -0x8p-972 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x8p-972 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x8p-972 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x8p-972 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0x8p-972 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 -0x8p-972 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0x8p-972 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 -0x8p-972 : 0x1p+0 : inexact-ok +cospi min_subnorm += cospi downward binary32 0x8p-152 : 0xf.fffffp-4 : inexact-ok += cospi tonearest binary32 0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero binary32 0x8p-152 : 0xf.fffffp-4 : inexact-ok += cospi upward binary32 0x8p-152 : 0x1p+0 : inexact-ok += cospi downward binary64 0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero binary64 0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 0x8p-152 : 0x1p+0 : inexact-ok += cospi downward intel96 0x8p-152 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x8p-152 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 0x8p-152 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x8p-152 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x8p-152 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 0x8p-152 : 0x1p+0 : inexact-ok += cospi downward binary128 0x8p-152 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x8p-152 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x8p-152 : 0x1p+0 : inexact-ok += cospi downward ibm128 0x8p-152 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0x8p-152 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 0x8p-152 : 0x1p+0 : inexact-ok += cospi downward binary64 0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero binary64 0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward intel96 0x4p-1076 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x4p-1076 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x4p-1076 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x4p-1076 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward binary128 0x4p-1076 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x4p-1076 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward ibm128 0x4p-1076 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0x4p-1076 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward intel96 0x8p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 0x8p-16448 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x8p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 0x8p-16448 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x8p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 0x8p-16448 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x8p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 0x8p-16448 : 0x1p+0 : inexact-ok += cospi downward binary128 0x8p-16448 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x8p-16448 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x8p-16448 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x8p-16448 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x4p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 0x4p-16448 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x4p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 0x4p-16448 : 0x1p+0 : inexact-ok += cospi downward binary128 0x4p-16448 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x4p-16448 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x4p-16448 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x4p-16448 : 0x1p+0 : inexact-ok += cospi downward binary128 0x4p-16496 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 0x4p-16496 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x4p-16496 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 0x4p-16496 : 0x1p+0 : inexact-ok +cospi -min_subnorm += cospi downward binary32 -0x8p-152 : 0xf.fffffp-4 : inexact-ok += cospi tonearest binary32 -0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero binary32 -0x8p-152 : 0xf.fffffp-4 : inexact-ok += cospi upward binary32 -0x8p-152 : 0x1p+0 : inexact-ok += cospi downward binary64 -0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 -0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero binary64 -0x8p-152 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 -0x8p-152 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x8p-152 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 -0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x8p-152 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 -0x8p-152 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x8p-152 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 -0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x8p-152 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 -0x8p-152 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x8p-152 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x8p-152 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x8p-152 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0x8p-152 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 -0x8p-152 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0x8p-152 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 -0x8p-152 : 0x1p+0 : inexact-ok += cospi downward binary64 -0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi tonearest binary64 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero binary64 -0x4p-1076 : 0xf.ffffffffffff8p-4 : inexact-ok += cospi upward binary64 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x4p-1076 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x4p-1076 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x4p-1076 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x4p-1076 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x4p-1076 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x4p-1076 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0x4p-1076 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi tonearest ibm128 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0x4p-1076 : 0xf.fffffffffffffffffffffffffcp-4 : inexact-ok += cospi upward ibm128 -0x4p-1076 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x8p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest intel96 -0x8p-16448 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x8p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward intel96 -0x8p-16448 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x8p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 -0x8p-16448 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x8p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 -0x8p-16448 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x8p-16448 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x8p-16448 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x8p-16448 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x8p-16448 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x4p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi tonearest m68k96 -0x4p-16448 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x4p-16448 : 0xf.fffffffffffffffp-4 : inexact-ok += cospi upward m68k96 -0x4p-16448 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x4p-16448 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x4p-16448 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x4p-16448 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x4p-16448 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x4p-16496 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi tonearest binary128 -0x4p-16496 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x4p-16496 : 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok += cospi upward binary128 -0x4p-16496 : 0x1p+0 : inexact-ok +cospi max += cospi downward binary32 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest binary32 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero binary32 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward binary32 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward binary64 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest binary64 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero binary64 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward binary64 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward intel96 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest intel96 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward intel96 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward m68k96 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward m68k96 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward binary128 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest binary128 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward binary128 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward ibm128 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward ibm128 0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward binary64 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest binary64 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero binary64 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward binary64 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward intel96 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest intel96 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward intel96 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward m68k96 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward m68k96 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward binary128 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest binary128 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward binary128 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward ibm128 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward ibm128 0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward intel96 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi tonearest intel96 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi upward intel96 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi downward m68k96 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi upward m68k96 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi downward binary128 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi tonearest binary128 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi upward binary128 0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi downward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x1p+0 : inexact-ok += cospi tonearest binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x1p+0 : inexact-ok += cospi upward binary128 0xf.fffffffffffffffffffffffffff8p+16380 : 0x1p+0 : inexact-ok += cospi downward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi tonearest binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi upward binary128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi downward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi upward ibm128 0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok +cospi -max += cospi downward binary32 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest binary32 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero binary32 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward binary32 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward binary64 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest binary64 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero binary64 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward binary64 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward intel96 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest intel96 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward intel96 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward m68k96 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward binary128 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest binary128 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward binary128 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi upward ibm128 -0xf.fffffp+124 : 0x1p+0 : inexact-ok += cospi downward binary64 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest binary64 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero binary64 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward binary64 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward intel96 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest intel96 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward intel96 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward m68k96 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward binary128 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest binary128 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward binary128 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi upward ibm128 -0xf.ffffffffffff8p+1020 : 0x1p+0 : inexact-ok += cospi downward intel96 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi tonearest intel96 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi upward intel96 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi upward m68k96 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi downward binary128 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi tonearest binary128 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi upward binary128 -0xf.fffffffffffffffp+16380 : 0x1p+0 : inexact-ok += cospi downward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : 0x1p+0 : inexact-ok += cospi tonearest binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : 0x1p+0 : inexact-ok += cospi upward binary128 -0xf.fffffffffffffffffffffffffff8p+16380 : 0x1p+0 : inexact-ok += cospi downward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi tonearest binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi upward binary128 -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok += cospi upward ibm128 -0xf.ffffffffffffbffffffffffffcp+1020 : 0x1p+0 : inexact-ok +cospi 1 += cospi downward binary32 0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary32 0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary32 0x1p+0 : -0x1p+0 : inexact-ok += cospi upward binary32 0x1p+0 : -0x1p+0 : inexact-ok += cospi downward binary64 0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary64 0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary64 0x1p+0 : -0x1p+0 : inexact-ok += cospi upward binary64 0x1p+0 : -0x1p+0 : inexact-ok += cospi downward intel96 0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest intel96 0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero intel96 0x1p+0 : -0x1p+0 : inexact-ok += cospi upward intel96 0x1p+0 : -0x1p+0 : inexact-ok += cospi downward m68k96 0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest m68k96 0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero m68k96 0x1p+0 : -0x1p+0 : inexact-ok += cospi upward m68k96 0x1p+0 : -0x1p+0 : inexact-ok += cospi downward binary128 0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary128 0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary128 0x1p+0 : -0x1p+0 : inexact-ok += cospi upward binary128 0x1p+0 : -0x1p+0 : inexact-ok += cospi downward ibm128 0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest ibm128 0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero ibm128 0x1p+0 : -0x1p+0 : inexact-ok += cospi upward ibm128 0x1p+0 : -0x1p+0 : inexact-ok +cospi -1 += cospi downward binary32 -0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary32 -0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary32 -0x1p+0 : -0x1p+0 : inexact-ok += cospi upward binary32 -0x1p+0 : -0x1p+0 : inexact-ok += cospi downward binary64 -0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary64 -0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary64 -0x1p+0 : -0x1p+0 : inexact-ok += cospi upward binary64 -0x1p+0 : -0x1p+0 : inexact-ok += cospi downward intel96 -0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest intel96 -0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero intel96 -0x1p+0 : -0x1p+0 : inexact-ok += cospi upward intel96 -0x1p+0 : -0x1p+0 : inexact-ok += cospi downward m68k96 -0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest m68k96 -0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x1p+0 : -0x1p+0 : inexact-ok += cospi upward m68k96 -0x1p+0 : -0x1p+0 : inexact-ok += cospi downward binary128 -0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary128 -0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary128 -0x1p+0 : -0x1p+0 : inexact-ok += cospi upward binary128 -0x1p+0 : -0x1p+0 : inexact-ok += cospi downward ibm128 -0x1p+0 : -0x1p+0 : inexact-ok += cospi tonearest ibm128 -0x1p+0 : -0x1p+0 : inexact-ok += cospi towardzero ibm128 -0x1p+0 : -0x1p+0 : inexact-ok += cospi upward ibm128 -0x1p+0 : -0x1p+0 : inexact-ok +cospi 2 += cospi downward binary32 0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary32 0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary32 0x2p+0 : 0x1p+0 : inexact-ok += cospi upward binary32 0x2p+0 : 0x1p+0 : inexact-ok += cospi downward binary64 0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary64 0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary64 0x2p+0 : 0x1p+0 : inexact-ok += cospi upward binary64 0x2p+0 : 0x1p+0 : inexact-ok += cospi downward intel96 0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest intel96 0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero intel96 0x2p+0 : 0x1p+0 : inexact-ok += cospi upward intel96 0x2p+0 : 0x1p+0 : inexact-ok += cospi downward m68k96 0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 0x2p+0 : 0x1p+0 : inexact-ok += cospi upward m68k96 0x2p+0 : 0x1p+0 : inexact-ok += cospi downward binary128 0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary128 0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary128 0x2p+0 : 0x1p+0 : inexact-ok += cospi upward binary128 0x2p+0 : 0x1p+0 : inexact-ok += cospi downward ibm128 0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 0x2p+0 : 0x1p+0 : inexact-ok += cospi upward ibm128 0x2p+0 : 0x1p+0 : inexact-ok +cospi -2 += cospi downward binary32 -0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary32 -0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary32 -0x2p+0 : 0x1p+0 : inexact-ok += cospi upward binary32 -0x2p+0 : 0x1p+0 : inexact-ok += cospi downward binary64 -0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary64 -0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary64 -0x2p+0 : 0x1p+0 : inexact-ok += cospi upward binary64 -0x2p+0 : 0x1p+0 : inexact-ok += cospi downward intel96 -0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest intel96 -0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero intel96 -0x2p+0 : 0x1p+0 : inexact-ok += cospi upward intel96 -0x2p+0 : 0x1p+0 : inexact-ok += cospi downward m68k96 -0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest m68k96 -0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x2p+0 : 0x1p+0 : inexact-ok += cospi upward m68k96 -0x2p+0 : 0x1p+0 : inexact-ok += cospi downward binary128 -0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest binary128 -0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero binary128 -0x2p+0 : 0x1p+0 : inexact-ok += cospi upward binary128 -0x2p+0 : 0x1p+0 : inexact-ok += cospi downward ibm128 -0x2p+0 : 0x1p+0 : inexact-ok += cospi tonearest ibm128 -0x2p+0 : 0x1p+0 : inexact-ok += cospi towardzero ibm128 -0x2p+0 : 0x1p+0 : inexact-ok += cospi upward ibm128 -0x2p+0 : 0x1p+0 : inexact-ok +cospi 3 += cospi downward binary32 0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary32 0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary32 0x3p+0 : -0x1p+0 : inexact-ok += cospi upward binary32 0x3p+0 : -0x1p+0 : inexact-ok += cospi downward binary64 0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary64 0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary64 0x3p+0 : -0x1p+0 : inexact-ok += cospi upward binary64 0x3p+0 : -0x1p+0 : inexact-ok += cospi downward intel96 0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest intel96 0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero intel96 0x3p+0 : -0x1p+0 : inexact-ok += cospi upward intel96 0x3p+0 : -0x1p+0 : inexact-ok += cospi downward m68k96 0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest m68k96 0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero m68k96 0x3p+0 : -0x1p+0 : inexact-ok += cospi upward m68k96 0x3p+0 : -0x1p+0 : inexact-ok += cospi downward binary128 0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary128 0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary128 0x3p+0 : -0x1p+0 : inexact-ok += cospi upward binary128 0x3p+0 : -0x1p+0 : inexact-ok += cospi downward ibm128 0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest ibm128 0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero ibm128 0x3p+0 : -0x1p+0 : inexact-ok += cospi upward ibm128 0x3p+0 : -0x1p+0 : inexact-ok +cospi -3 += cospi downward binary32 -0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary32 -0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary32 -0x3p+0 : -0x1p+0 : inexact-ok += cospi upward binary32 -0x3p+0 : -0x1p+0 : inexact-ok += cospi downward binary64 -0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary64 -0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary64 -0x3p+0 : -0x1p+0 : inexact-ok += cospi upward binary64 -0x3p+0 : -0x1p+0 : inexact-ok += cospi downward intel96 -0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest intel96 -0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero intel96 -0x3p+0 : -0x1p+0 : inexact-ok += cospi upward intel96 -0x3p+0 : -0x1p+0 : inexact-ok += cospi downward m68k96 -0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest m68k96 -0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero m68k96 -0x3p+0 : -0x1p+0 : inexact-ok += cospi upward m68k96 -0x3p+0 : -0x1p+0 : inexact-ok += cospi downward binary128 -0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest binary128 -0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero binary128 -0x3p+0 : -0x1p+0 : inexact-ok += cospi upward binary128 -0x3p+0 : -0x1p+0 : inexact-ok += cospi downward ibm128 -0x3p+0 : -0x1p+0 : inexact-ok += cospi tonearest ibm128 -0x3p+0 : -0x1p+0 : inexact-ok += cospi towardzero ibm128 -0x3p+0 : -0x1p+0 : inexact-ok += cospi upward ibm128 -0x3p+0 : -0x1p+0 : inexact-ok +cospi 0.1 += cospi downward binary32 0x1.99999ap-4 : 0xf.3787p-4 : inexact-ok += cospi tonearest binary32 0x1.99999ap-4 : 0xf.37871p-4 : inexact-ok += cospi towardzero binary32 0x1.99999ap-4 : 0xf.3787p-4 : inexact-ok += cospi upward binary32 0x1.99999ap-4 : 0xf.37871p-4 : inexact-ok += cospi downward binary64 0x1.99999ap-4 : 0xf.3787093ec16ap-4 : inexact-ok += cospi tonearest binary64 0x1.99999ap-4 : 0xf.3787093ec16ap-4 : inexact-ok += cospi towardzero binary64 0x1.99999ap-4 : 0xf.3787093ec16ap-4 : inexact-ok += cospi upward binary64 0x1.99999ap-4 : 0xf.3787093ec16a8p-4 : inexact-ok += cospi downward intel96 0x1.99999ap-4 : 0xf.3787093ec16a149p-4 : inexact-ok += cospi tonearest intel96 0x1.99999ap-4 : 0xf.3787093ec16a14ap-4 : inexact-ok += cospi towardzero intel96 0x1.99999ap-4 : 0xf.3787093ec16a149p-4 : inexact-ok += cospi upward intel96 0x1.99999ap-4 : 0xf.3787093ec16a14ap-4 : inexact-ok += cospi downward m68k96 0x1.99999ap-4 : 0xf.3787093ec16a149p-4 : inexact-ok += cospi tonearest m68k96 0x1.99999ap-4 : 0xf.3787093ec16a14ap-4 : inexact-ok += cospi towardzero m68k96 0x1.99999ap-4 : 0xf.3787093ec16a149p-4 : inexact-ok += cospi upward m68k96 0x1.99999ap-4 : 0xf.3787093ec16a14ap-4 : inexact-ok += cospi downward binary128 0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310725a8p-4 : inexact-ok += cospi tonearest binary128 0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310725bp-4 : inexact-ok += cospi towardzero binary128 0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310725a8p-4 : inexact-ok += cospi upward binary128 0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310725bp-4 : inexact-ok += cospi downward ibm128 0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310724p-4 : inexact-ok += cospi tonearest ibm128 0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310724p-4 : inexact-ok += cospi towardzero ibm128 0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310724p-4 : inexact-ok += cospi upward ibm128 0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310728p-4 : inexact-ok += cospi downward binary32 0x1.999998p-4 : 0xf.3787p-4 : inexact-ok += cospi tonearest binary32 0x1.999998p-4 : 0xf.37871p-4 : inexact-ok += cospi towardzero binary32 0x1.999998p-4 : 0xf.3787p-4 : inexact-ok += cospi upward binary32 0x1.999998p-4 : 0xf.37871p-4 : inexact-ok += cospi downward binary64 0x1.999998p-4 : 0xf.37870b2fced5p-4 : inexact-ok += cospi tonearest binary64 0x1.999998p-4 : 0xf.37870b2fced5p-4 : inexact-ok += cospi towardzero binary64 0x1.999998p-4 : 0xf.37870b2fced5p-4 : inexact-ok += cospi upward binary64 0x1.999998p-4 : 0xf.37870b2fced58p-4 : inexact-ok += cospi downward intel96 0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi tonearest intel96 0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi towardzero intel96 0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi upward intel96 0x1.999998p-4 : 0xf.37870b2fced5295p-4 : inexact-ok += cospi downward m68k96 0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi tonearest m68k96 0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi towardzero m68k96 0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi upward m68k96 0x1.999998p-4 : 0xf.37870b2fced5295p-4 : inexact-ok += cospi downward binary128 0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783148p-4 : inexact-ok += cospi tonearest binary128 0x1.999998p-4 : 0xf.37870b2fced52942adcbd478315p-4 : inexact-ok += cospi towardzero binary128 0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783148p-4 : inexact-ok += cospi upward binary128 0x1.999998p-4 : 0xf.37870b2fced52942adcbd478315p-4 : inexact-ok += cospi downward ibm128 0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783p-4 : inexact-ok += cospi tonearest ibm128 0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783p-4 : inexact-ok += cospi towardzero ibm128 0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783p-4 : inexact-ok += cospi upward ibm128 0x1.999998p-4 : 0xf.37870b2fced52942adcbd47834p-4 : inexact-ok += cospi downward binary64 0x1.999999999999ap-4 : 0xf.378709a22a7f8p-4 : inexact-ok += cospi tonearest binary64 0x1.999999999999ap-4 : 0xf.378709a22a7f8p-4 : inexact-ok += cospi towardzero binary64 0x1.999999999999ap-4 : 0xf.378709a22a7f8p-4 : inexact-ok += cospi upward binary64 0x1.999999999999ap-4 : 0xf.378709a22a8p-4 : inexact-ok += cospi downward intel96 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fp-4 : inexact-ok += cospi tonearest intel96 0x1.999999999999ap-4 : 0xf.378709a22a7fa9p-4 : inexact-ok += cospi towardzero intel96 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fp-4 : inexact-ok += cospi upward intel96 0x1.999999999999ap-4 : 0xf.378709a22a7fa9p-4 : inexact-ok += cospi downward m68k96 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fp-4 : inexact-ok += cospi tonearest m68k96 0x1.999999999999ap-4 : 0xf.378709a22a7fa9p-4 : inexact-ok += cospi towardzero m68k96 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fp-4 : inexact-ok += cospi upward m68k96 0x1.999999999999ap-4 : 0xf.378709a22a7fa9p-4 : inexact-ok += cospi downward binary128 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fb2a17e8509cb8p-4 : inexact-ok += cospi tonearest binary128 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fb2a17e8509ccp-4 : inexact-ok += cospi towardzero binary128 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fb2a17e8509cb8p-4 : inexact-ok += cospi upward binary128 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fb2a17e8509ccp-4 : inexact-ok += cospi downward ibm128 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fb2a17e8509cp-4 : inexact-ok += cospi tonearest ibm128 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fb2a17e8509cp-4 : inexact-ok += cospi towardzero ibm128 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fb2a17e8509cp-4 : inexact-ok += cospi upward ibm128 0x1.999999999999ap-4 : 0xf.378709a22a7fa8fb2a17e850ap-4 : inexact-ok += cospi downward binary64 0x1.9999999999999p-4 : 0xf.378709a22a7f8p-4 : inexact-ok += cospi tonearest binary64 0x1.9999999999999p-4 : 0xf.378709a22a7f8p-4 : inexact-ok += cospi towardzero binary64 0x1.9999999999999p-4 : 0xf.378709a22a7f8p-4 : inexact-ok += cospi upward binary64 0x1.9999999999999p-4 : 0xf.378709a22a8p-4 : inexact-ok += cospi downward intel96 0x1.9999999999999p-4 : 0xf.378709a22a7fb88p-4 : inexact-ok += cospi tonearest intel96 0x1.9999999999999p-4 : 0xf.378709a22a7fb88p-4 : inexact-ok += cospi towardzero intel96 0x1.9999999999999p-4 : 0xf.378709a22a7fb88p-4 : inexact-ok += cospi upward intel96 0x1.9999999999999p-4 : 0xf.378709a22a7fb89p-4 : inexact-ok += cospi downward m68k96 0x1.9999999999999p-4 : 0xf.378709a22a7fb88p-4 : inexact-ok += cospi tonearest m68k96 0x1.9999999999999p-4 : 0xf.378709a22a7fb88p-4 : inexact-ok += cospi towardzero m68k96 0x1.9999999999999p-4 : 0xf.378709a22a7fb88p-4 : inexact-ok += cospi upward m68k96 0x1.9999999999999p-4 : 0xf.378709a22a7fb89p-4 : inexact-ok += cospi downward binary128 0x1.9999999999999p-4 : 0xf.378709a22a7fb88395762f57b728p-4 : inexact-ok += cospi tonearest binary128 0x1.9999999999999p-4 : 0xf.378709a22a7fb88395762f57b728p-4 : inexact-ok += cospi towardzero binary128 0x1.9999999999999p-4 : 0xf.378709a22a7fb88395762f57b728p-4 : inexact-ok += cospi upward binary128 0x1.9999999999999p-4 : 0xf.378709a22a7fb88395762f57b73p-4 : inexact-ok += cospi downward ibm128 0x1.9999999999999p-4 : 0xf.378709a22a7fb88395762f57b4p-4 : inexact-ok += cospi tonearest ibm128 0x1.9999999999999p-4 : 0xf.378709a22a7fb88395762f57b8p-4 : inexact-ok += cospi towardzero ibm128 0x1.9999999999999p-4 : 0xf.378709a22a7fb88395762f57b4p-4 : inexact-ok += cospi upward ibm128 0x1.9999999999999p-4 : 0xf.378709a22a7fb88395762f57b8p-4 : inexact-ok += cospi downward intel96 0x1.999999999999999ap-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi tonearest intel96 0x1.999999999999999ap-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi towardzero intel96 0x1.999999999999999ap-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi upward intel96 0x1.999999999999999ap-4 : 0xf.378709a22a7faf4p-4 : inexact-ok += cospi downward m68k96 0x1.999999999999999ap-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi tonearest m68k96 0x1.999999999999999ap-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi towardzero m68k96 0x1.999999999999999ap-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi upward m68k96 0x1.999999999999999ap-4 : 0xf.378709a22a7faf4p-4 : inexact-ok += cospi downward binary128 0x1.999999999999999ap-4 : 0xf.378709a22a7faf315807bbf813f8p-4 : inexact-ok += cospi tonearest binary128 0x1.999999999999999ap-4 : 0xf.378709a22a7faf315807bbf814p-4 : inexact-ok += cospi towardzero binary128 0x1.999999999999999ap-4 : 0xf.378709a22a7faf315807bbf813f8p-4 : inexact-ok += cospi upward binary128 0x1.999999999999999ap-4 : 0xf.378709a22a7faf315807bbf814p-4 : inexact-ok += cospi downward ibm128 0x1.999999999999999ap-4 : 0xf.378709a22a7faf315807bbf81p-4 : inexact-ok += cospi tonearest ibm128 0x1.999999999999999ap-4 : 0xf.378709a22a7faf315807bbf814p-4 : inexact-ok += cospi towardzero ibm128 0x1.999999999999999ap-4 : 0xf.378709a22a7faf315807bbf81p-4 : inexact-ok += cospi upward ibm128 0x1.999999999999999ap-4 : 0xf.378709a22a7faf315807bbf814p-4 : inexact-ok += cospi downward intel96 0x1.9999999999999998p-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi tonearest intel96 0x1.9999999999999998p-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi towardzero intel96 0x1.9999999999999998p-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi upward intel96 0x1.9999999999999998p-4 : 0xf.378709a22a7faf4p-4 : inexact-ok += cospi downward m68k96 0x1.9999999999999998p-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi tonearest m68k96 0x1.9999999999999998p-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi towardzero m68k96 0x1.9999999999999998p-4 : 0xf.378709a22a7faf3p-4 : inexact-ok += cospi upward m68k96 0x1.9999999999999998p-4 : 0xf.378709a22a7faf4p-4 : inexact-ok += cospi downward binary128 0x1.9999999999999998p-4 : 0xf.378709a22a7faf33491527c0f4ep-4 : inexact-ok += cospi tonearest binary128 0x1.9999999999999998p-4 : 0xf.378709a22a7faf33491527c0f4ep-4 : inexact-ok += cospi towardzero binary128 0x1.9999999999999998p-4 : 0xf.378709a22a7faf33491527c0f4ep-4 : inexact-ok += cospi upward binary128 0x1.9999999999999998p-4 : 0xf.378709a22a7faf33491527c0f4e8p-4 : inexact-ok += cospi downward ibm128 0x1.9999999999999998p-4 : 0xf.378709a22a7faf33491527c0f4p-4 : inexact-ok += cospi tonearest ibm128 0x1.9999999999999998p-4 : 0xf.378709a22a7faf33491527c0f4p-4 : inexact-ok += cospi towardzero ibm128 0x1.9999999999999998p-4 : 0xf.378709a22a7faf33491527c0f4p-4 : inexact-ok += cospi upward ibm128 0x1.9999999999999998p-4 : 0xf.378709a22a7faf33491527c0f8p-4 : inexact-ok += cospi downward binary128 0x1.999999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a758p-4 : inexact-ok += cospi tonearest binary128 0x1.999999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a76p-4 : inexact-ok += cospi towardzero binary128 0x1.999999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a758p-4 : inexact-ok += cospi upward binary128 0x1.999999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a76p-4 : inexact-ok += cospi downward binary128 0x1.9999999999999999999999999999p-4 : 0xf.378709a22a7faf31bb70d186a76p-4 : inexact-ok += cospi tonearest binary128 0x1.9999999999999999999999999999p-4 : 0xf.378709a22a7faf31bb70d186a76p-4 : inexact-ok += cospi towardzero binary128 0x1.9999999999999999999999999999p-4 : 0xf.378709a22a7faf31bb70d186a76p-4 : inexact-ok += cospi upward binary128 0x1.9999999999999999999999999999p-4 : 0xf.378709a22a7faf31bb70d186a768p-4 : inexact-ok += cospi downward binary128 0x1.9999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a6f8p-4 : inexact-ok += cospi tonearest binary128 0x1.9999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a7p-4 : inexact-ok += cospi towardzero binary128 0x1.9999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a6f8p-4 : inexact-ok += cospi upward binary128 0x1.9999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a7p-4 : inexact-ok += cospi downward ibm128 0x1.9999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a4p-4 : inexact-ok += cospi tonearest ibm128 0x1.9999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a8p-4 : inexact-ok += cospi towardzero ibm128 0x1.9999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a4p-4 : inexact-ok += cospi upward ibm128 0x1.9999999999999999999999999ap-4 : 0xf.378709a22a7faf31bb70d186a8p-4 : inexact-ok += cospi downward binary128 0x1.999999999999999999999999998p-4 : 0xf.378709a22a7faf31bb70d186a778p-4 : inexact-ok += cospi tonearest binary128 0x1.999999999999999999999999998p-4 : 0xf.378709a22a7faf31bb70d186a778p-4 : inexact-ok += cospi towardzero binary128 0x1.999999999999999999999999998p-4 : 0xf.378709a22a7faf31bb70d186a778p-4 : inexact-ok += cospi upward binary128 0x1.999999999999999999999999998p-4 : 0xf.378709a22a7faf31bb70d186a78p-4 : inexact-ok += cospi downward ibm128 0x1.999999999999999999999999998p-4 : 0xf.378709a22a7faf31bb70d186a4p-4 : inexact-ok += cospi tonearest ibm128 0x1.999999999999999999999999998p-4 : 0xf.378709a22a7faf31bb70d186a8p-4 : inexact-ok += cospi towardzero ibm128 0x1.999999999999999999999999998p-4 : 0xf.378709a22a7faf31bb70d186a4p-4 : inexact-ok += cospi upward ibm128 0x1.999999999999999999999999998p-4 : 0xf.378709a22a7faf31bb70d186a8p-4 : inexact-ok +cospi -0.1 += cospi downward binary32 -0x1.999998p-4 : 0xf.3787p-4 : inexact-ok += cospi tonearest binary32 -0x1.999998p-4 : 0xf.37871p-4 : inexact-ok += cospi towardzero binary32 -0x1.999998p-4 : 0xf.3787p-4 : inexact-ok += cospi upward binary32 -0x1.999998p-4 : 0xf.37871p-4 : inexact-ok += cospi downward binary64 -0x1.999998p-4 : 0xf.37870b2fced5p-4 : inexact-ok += cospi tonearest binary64 -0x1.999998p-4 : 0xf.37870b2fced5p-4 : inexact-ok += cospi towardzero binary64 -0x1.999998p-4 : 0xf.37870b2fced5p-4 : inexact-ok += cospi upward binary64 -0x1.999998p-4 : 0xf.37870b2fced58p-4 : inexact-ok += cospi downward intel96 -0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi tonearest intel96 -0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi towardzero intel96 -0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi upward intel96 -0x1.999998p-4 : 0xf.37870b2fced5295p-4 : inexact-ok += cospi downward m68k96 -0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi tonearest m68k96 -0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi towardzero m68k96 -0x1.999998p-4 : 0xf.37870b2fced5294p-4 : inexact-ok += cospi upward m68k96 -0x1.999998p-4 : 0xf.37870b2fced5295p-4 : inexact-ok += cospi downward binary128 -0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783148p-4 : inexact-ok += cospi tonearest binary128 -0x1.999998p-4 : 0xf.37870b2fced52942adcbd478315p-4 : inexact-ok += cospi towardzero binary128 -0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783148p-4 : inexact-ok += cospi upward binary128 -0x1.999998p-4 : 0xf.37870b2fced52942adcbd478315p-4 : inexact-ok += cospi downward ibm128 -0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783p-4 : inexact-ok += cospi tonearest ibm128 -0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783p-4 : inexact-ok += cospi towardzero ibm128 -0x1.999998p-4 : 0xf.37870b2fced52942adcbd4783p-4 : inexact-ok += cospi upward ibm128 -0x1.999998p-4 : 0xf.37870b2fced52942adcbd47834p-4 : inexact-ok += cospi downward binary32 -0x1.99999ap-4 : 0xf.3787p-4 : inexact-ok += cospi tonearest binary32 -0x1.99999ap-4 : 0xf.37871p-4 : inexact-ok += cospi towardzero binary32 -0x1.99999ap-4 : 0xf.3787p-4 : inexact-ok += cospi upward binary32 -0x1.99999ap-4 : 0xf.37871p-4 : inexact-ok += cospi downward binary64 -0x1.99999ap-4 : 0xf.3787093ec16ap-4 : inexact-ok += cospi tonearest binary64 -0x1.99999ap-4 : 0xf.3787093ec16ap-4 : inexact-ok += cospi towardzero binary64 -0x1.99999ap-4 : 0xf.3787093ec16ap-4 : inexact-ok += cospi upward binary64 -0x1.99999ap-4 : 0xf.3787093ec16a8p-4 : inexact-ok += cospi downward intel96 -0x1.99999ap-4 : 0xf.3787093ec16a149p-4 : inexact-ok += cospi tonearest intel96 -0x1.99999ap-4 : 0xf.3787093ec16a14ap-4 : inexact-ok += cospi towardzero intel96 -0x1.99999ap-4 : 0xf.3787093ec16a149p-4 : inexact-ok += cospi upward intel96 -0x1.99999ap-4 : 0xf.3787093ec16a14ap-4 : inexact-ok += cospi downward m68k96 -0x1.99999ap-4 : 0xf.3787093ec16a149p-4 : inexact-ok += cospi tonearest m68k96 -0x1.99999ap-4 : 0xf.3787093ec16a14ap-4 : inexact-ok += cospi towardzero m68k96 -0x1.99999ap-4 : 0xf.3787093ec16a149p-4 : inexact-ok += cospi upward m68k96 -0x1.99999ap-4 : 0xf.3787093ec16a14ap-4 : inexact-ok += cospi downward binary128 -0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310725a8p-4 : inexact-ok += cospi tonearest binary128 -0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310725bp-4 : inexact-ok += cospi towardzero binary128 -0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310725a8p-4 : inexact-ok += cospi upward binary128 -0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310725bp-4 : inexact-ok += cospi downward ibm128 -0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310724p-4 : inexact-ok += cospi tonearest ibm128 -0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310724p-4 : inexact-ok += cospi towardzero ibm128 -0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310724p-4 : inexact-ok += cospi upward ibm128 -0x1.99999ap-4 : 0xf.3787093ec16a149a91c3310728p-4 : inexact-ok += cospi downward binary64 -0x1.9999999999999p-4 : 0xf.378709a22a7f8p-4 : inexact-ok += cospi tonearest binary64 -0x1.9999999999999p-4 : 0xf.378709a22a7f8p-4 : inexact-ok += cospi towardzero binary64 -0x1.9999999999999p-4 : 0xf.378709a22a7f8p-4 : inexact-ok += cospi upward binary64 -0x1.9999999999999p-4 : 0xf.378709a22a8p-4 : inexact-ok += cospi downward intel96 -0x1.9999999999999p-4 : 0xf.378709a22a7fb88p-4 : inexact-ok += cospi tonearest intel96 -0x1.9999999999999p-4 : 0xf.378709a22a7fb88p-4 : inexact-ok += c