summaryrefslogtreecommitdiff
path: root/math/auto-libm-test-out-cos
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-03-15 22:00:54 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-03-15 22:00:54 +0000
commite4e52ff059f46472145433d2bd003d5383f89e82 (patch)
treec5044e3b2e2f98778087319e79d308bd817e9a75 /math/auto-libm-test-out-cos
parent5d20a49aaccef5ef7adac93d5ca159f6b7ba0105 (diff)
downloadglibc-e4e52ff059f46472145433d2bd003d5383f89e82.tar.gz
Improve float range reduction accuracy near pi/2 (bug 21094).
Bug 21094 reports 3ulp errors of cosf and tanf for certain arguments near pi/2 arising from the use of an insufficiently accurate range reduction. (To be clear, this is a quality-of-implementation issue relating to the apparent intent of those particular cosf and tanf implementations; 3ulp is within the general glibc accuracy goals, so not inherently a bug.) This patch fixes that error by making a wider range of cases use the existing more accurate range reduction for arguments close to pi/2. The wider range of values is still narrow enough for the "z -= pio2_2;" in the more accurate case to be exact, as the code expects. Tested for x86_64, x86 and mips64; no ulps updates needed (but at least on mips64, the larger ulps were seen if the tests were added without the substantive fix). [BZ #21094] * sysdeps/ieee754/flt-32/e_rem_pio2f.c (__ieee754_rem_pio2f): Use 24+24+24-bit pi for wider range of values around pi/2. * math/auto-libm-test-in: Add more tests of cos and tan. * math/auto-libm-test-out-cos: Regenerated. * math/auto-libm-test-out-tan: Likewise.
Diffstat (limited to 'math/auto-libm-test-out-cos')
-rw-r--r--math/auto-libm-test-out-cos290
1 files changed, 290 insertions, 0 deletions
diff --git a/math/auto-libm-test-out-cos b/math/auto-libm-test-out-cos
index 329ae93719..072e04f157 100644
--- a/math/auto-libm-test-out-cos
+++ b/math/auto-libm-test-out-cos
@@ -2933,3 +2933,293 @@ cos 0x1.8475e5afd4481p+0
= cos tonearest ibm128 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebfffffffa29668p-8 : inexact-ok
= cos towardzero ibm128 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebfffffffa29668p-8 : inexact-ok
= cos upward ibm128 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebfffffffa2966cp-8 : inexact-ok
+cos 1.57079697
+= cos downward binary32 0x1.921fc2p+0 : -0xc.bbbd3p-24 : inexact-ok
+= cos tonearest binary32 0x1.921fc2p+0 : -0xc.bbbd3p-24 : inexact-ok
+= cos towardzero binary32 0x1.921fc2p+0 : -0xc.bbbd2p-24 : inexact-ok
+= cos upward binary32 0x1.921fc2p+0 : -0xc.bbbd2p-24 : inexact-ok
+= cos downward binary64 0x1.921fc2p+0 : -0xc.bbbd2e7b951e8p-24 : inexact-ok
+= cos tonearest binary64 0x1.921fc2p+0 : -0xc.bbbd2e7b951e8p-24 : inexact-ok
+= cos towardzero binary64 0x1.921fc2p+0 : -0xc.bbbd2e7b951ep-24 : inexact-ok
+= cos upward binary64 0x1.921fc2p+0 : -0xc.bbbd2e7b951ep-24 : inexact-ok
+= cos downward intel96 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b2p-24 : inexact-ok
+= cos tonearest intel96 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b2p-24 : inexact-ok
+= cos towardzero intel96 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1p-24 : inexact-ok
+= cos upward intel96 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1p-24 : inexact-ok
+= cos downward m68k96 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b2p-24 : inexact-ok
+= cos tonearest m68k96 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b2p-24 : inexact-ok
+= cos towardzero m68k96 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1p-24 : inexact-ok
+= cos upward m68k96 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1p-24 : inexact-ok
+= cos downward binary128 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a12p-24 : inexact-ok
+= cos tonearest binary128 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a12p-24 : inexact-ok
+= cos towardzero binary128 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a118p-24 : inexact-ok
+= cos upward binary128 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a118p-24 : inexact-ok
+= cos downward ibm128 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a4p-24 : inexact-ok
+= cos tonearest ibm128 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460ap-24 : inexact-ok
+= cos towardzero ibm128 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460ap-24 : inexact-ok
+= cos upward ibm128 0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460ap-24 : inexact-ok
+= cos downward binary32 0x1.921fcp+0 : -0xa.bbbd3p-24 : inexact-ok
+= cos tonearest binary32 0x1.921fcp+0 : -0xa.bbbd3p-24 : inexact-ok
+= cos towardzero binary32 0x1.921fcp+0 : -0xa.bbbd2p-24 : inexact-ok
+= cos upward binary32 0x1.921fcp+0 : -0xa.bbbd2p-24 : inexact-ok
+= cos downward binary64 0x1.921fcp+0 : -0xa.bbbd2e7b95a88p-24 : inexact-ok
+= cos tonearest binary64 0x1.921fcp+0 : -0xa.bbbd2e7b95a88p-24 : inexact-ok
+= cos towardzero binary64 0x1.921fcp+0 : -0xa.bbbd2e7b95a8p-24 : inexact-ok
+= cos upward binary64 0x1.921fcp+0 : -0xa.bbbd2e7b95a8p-24 : inexact-ok
+= cos downward intel96 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c7p-24 : inexact-ok
+= cos tonearest intel96 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos towardzero intel96 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos upward intel96 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos downward m68k96 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c7p-24 : inexact-ok
+= cos tonearest m68k96 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos towardzero m68k96 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos upward m68k96 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos downward binary128 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4f68p-24 : inexact-ok
+= cos tonearest binary128 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4f6p-24 : inexact-ok
+= cos towardzero binary128 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4f6p-24 : inexact-ok
+= cos upward binary128 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4f6p-24 : inexact-ok
+= cos downward ibm128 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f5p-24 : inexact-ok
+= cos tonearest ibm128 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f5p-24 : inexact-ok
+= cos towardzero ibm128 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4cp-24 : inexact-ok
+= cos upward ibm128 0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4cp-24 : inexact-ok
+= cos downward binary64 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a58p-24 : inexact-ok
+= cos tonearest binary64 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a5p-24 : inexact-ok
+= cos towardzero binary64 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a5p-24 : inexact-ok
+= cos upward binary64 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a5p-24 : inexact-ok
+= cos downward intel96 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502fp-24 : inexact-ok
+= cos tonearest intel96 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502fp-24 : inexact-ok
+= cos towardzero intel96 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ep-24 : inexact-ok
+= cos upward intel96 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ep-24 : inexact-ok
+= cos downward m68k96 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502fp-24 : inexact-ok
+= cos tonearest m68k96 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502fp-24 : inexact-ok
+= cos towardzero m68k96 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ep-24 : inexact-ok
+= cos upward m68k96 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ep-24 : inexact-ok
+= cos downward binary128 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f3948p-24 : inexact-ok
+= cos tonearest binary128 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f394p-24 : inexact-ok
+= cos towardzero binary128 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f394p-24 : inexact-ok
+= cos upward binary128 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f394p-24 : inexact-ok
+= cos downward ibm128 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f3cp-24 : inexact-ok
+= cos tonearest ibm128 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f38p-24 : inexact-ok
+= cos towardzero ibm128 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f38p-24 : inexact-ok
+= cos upward ibm128 0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f38p-24 : inexact-ok
+= cos downward binary64 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a58p-24 : inexact-ok
+= cos tonearest binary64 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a5p-24 : inexact-ok
+= cos towardzero binary64 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a5p-24 : inexact-ok
+= cos upward binary64 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a5p-24 : inexact-ok
+= cos downward intel96 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502fp-24 : inexact-ok
+= cos tonearest intel96 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502fp-24 : inexact-ok
+= cos towardzero intel96 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ep-24 : inexact-ok
+= cos upward intel96 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ep-24 : inexact-ok
+= cos downward m68k96 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502fp-24 : inexact-ok
+= cos tonearest m68k96 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502fp-24 : inexact-ok
+= cos towardzero m68k96 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ep-24 : inexact-ok
+= cos upward m68k96 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ep-24 : inexact-ok
+= cos downward binary128 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11c3p-24 : inexact-ok
+= cos tonearest binary128 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11c28p-24 : inexact-ok
+= cos towardzero binary128 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11c28p-24 : inexact-ok
+= cos upward binary128 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11c28p-24 : inexact-ok
+= cos downward ibm128 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b12p-24 : inexact-ok
+= cos tonearest ibm128 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11cp-24 : inexact-ok
+= cos towardzero ibm128 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11cp-24 : inexact-ok
+= cos upward ibm128 0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11cp-24 : inexact-ok
+= cos downward intel96 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502fp-24 : inexact-ok
+= cos tonearest intel96 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502fp-24 : inexact-ok
+= cos towardzero intel96 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ep-24 : inexact-ok
+= cos upward intel96 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ep-24 : inexact-ok
+= cos downward m68k96 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502fp-24 : inexact-ok
+= cos tonearest m68k96 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502fp-24 : inexact-ok
+= cos towardzero m68k96 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ep-24 : inexact-ok
+= cos upward m68k96 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ep-24 : inexact-ok
+= cos downward binary128 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa7d8p-24 : inexact-ok
+= cos tonearest binary128 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa7d8p-24 : inexact-ok
+= cos towardzero binary128 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa7dp-24 : inexact-ok
+= cos upward binary128 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa7dp-24 : inexact-ok
+= cos downward ibm128 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa8p-24 : inexact-ok
+= cos tonearest ibm128 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa8p-24 : inexact-ok
+= cos towardzero ibm128 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa4p-24 : inexact-ok
+= cos upward ibm128 0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa4p-24 : inexact-ok
+= cos downward intel96 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502fp-24 : inexact-ok
+= cos tonearest intel96 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502fp-24 : inexact-ok
+= cos towardzero intel96 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ep-24 : inexact-ok
+= cos upward intel96 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ep-24 : inexact-ok
+= cos downward m68k96 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502fp-24 : inexact-ok
+= cos tonearest m68k96 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502fp-24 : inexact-ok
+= cos towardzero m68k96 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ep-24 : inexact-ok
+= cos upward m68k96 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ep-24 : inexact-ok
+= cos downward binary128 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dce18p-24 : inexact-ok
+= cos tonearest binary128 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dce1p-24 : inexact-ok
+= cos towardzero binary128 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dce1p-24 : inexact-ok
+= cos upward binary128 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dce1p-24 : inexact-ok
+= cos downward ibm128 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1ddp-24 : inexact-ok
+= cos tonearest ibm128 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1ddp-24 : inexact-ok
+= cos towardzero ibm128 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dccp-24 : inexact-ok
+= cos upward ibm128 0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dccp-24 : inexact-ok
+= cos downward binary128 0x1.921fc00ece4f02f278ade6ad9e8ap+0 : -0xa.ca8b7d7e881db0d49193eaab43cp-24 : inexact-ok
+= cos tonearest binary128 0x1.921fc00ece4f02f278ade6ad9e8ap+0 : -0xa.ca8b7d7e881db0d49193eaab43cp-24 : inexact-ok
+= cos towardzero binary128 0x1.921fc00ece4f02f278ade6ad9e8ap+0 : -0xa.ca8b7d7e881db0d49193eaab43b8p-24 : inexact-ok
+= cos upward binary128 0x1.921fc00ece4f02f278ade6ad9e8ap+0 : -0xa.ca8b7d7e881db0d49193eaab43b8p-24 : inexact-ok
+= cos downward binary128 0x1.921fc00ece4f02f278ade6ad9e89p+0 : -0xa.ca8b7d7e881db0d49193e9ab43cp-24 : inexact-ok
+= cos tonearest binary128 0x1.921fc00ece4f02f278ade6ad9e89p+0 : -0xa.ca8b7d7e881db0d49193e9ab43cp-24 : inexact-ok
+= cos towardzero binary128 0x1.921fc00ece4f02f278ade6ad9e89p+0 : -0xa.ca8b7d7e881db0d49193e9ab43b8p-24 : inexact-ok
+= cos upward binary128 0x1.921fc00ece4f02f278ade6ad9e89p+0 : -0xa.ca8b7d7e881db0d49193e9ab43b8p-24 : inexact-ok
+= cos downward binary128 0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab43cp-24 : inexact-ok
+= cos tonearest binary128 0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab43cp-24 : inexact-ok
+= cos towardzero binary128 0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab43b8p-24 : inexact-ok
+= cos upward binary128 0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab43b8p-24 : inexact-ok
+= cos downward ibm128 0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab44p-24 : inexact-ok
+= cos tonearest ibm128 0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab44p-24 : inexact-ok
+= cos towardzero ibm128 0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab4p-24 : inexact-ok
+= cos upward ibm128 0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab4p-24 : inexact-ok
+= cos downward binary128 0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab43cp-24 : inexact-ok
+= cos tonearest binary128 0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab43cp-24 : inexact-ok
+= cos towardzero binary128 0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab43b8p-24 : inexact-ok
+= cos upward binary128 0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab43b8p-24 : inexact-ok
+= cos downward ibm128 0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab44p-24 : inexact-ok
+= cos tonearest ibm128 0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab44p-24 : inexact-ok
+= cos towardzero ibm128 0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab4p-24 : inexact-ok
+= cos upward ibm128 0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab4p-24 : inexact-ok
+cos -1.57079697
+= cos downward binary32 -0x1.921fcp+0 : -0xa.bbbd3p-24 : inexact-ok
+= cos tonearest binary32 -0x1.921fcp+0 : -0xa.bbbd3p-24 : inexact-ok
+= cos towardzero binary32 -0x1.921fcp+0 : -0xa.bbbd2p-24 : inexact-ok
+= cos upward binary32 -0x1.921fcp+0 : -0xa.bbbd2p-24 : inexact-ok
+= cos downward binary64 -0x1.921fcp+0 : -0xa.bbbd2e7b95a88p-24 : inexact-ok
+= cos tonearest binary64 -0x1.921fcp+0 : -0xa.bbbd2e7b95a88p-24 : inexact-ok
+= cos towardzero binary64 -0x1.921fcp+0 : -0xa.bbbd2e7b95a8p-24 : inexact-ok
+= cos upward binary64 -0x1.921fcp+0 : -0xa.bbbd2e7b95a8p-24 : inexact-ok
+= cos downward intel96 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c7p-24 : inexact-ok
+= cos tonearest intel96 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos towardzero intel96 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos upward intel96 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos downward m68k96 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c7p-24 : inexact-ok
+= cos tonearest m68k96 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos towardzero m68k96 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos upward m68k96 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c6p-24 : inexact-ok
+= cos downward binary128 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4f68p-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4f6p-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4f6p-24 : inexact-ok
+= cos upward binary128 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4f6p-24 : inexact-ok
+= cos downward ibm128 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f5p-24 : inexact-ok
+= cos tonearest ibm128 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f5p-24 : inexact-ok
+= cos towardzero ibm128 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4cp-24 : inexact-ok
+= cos upward ibm128 -0x1.921fcp+0 : -0xa.bbbd2e7b95a85c638e746a5f4cp-24 : inexact-ok
+= cos downward binary32 -0x1.921fc2p+0 : -0xc.bbbd3p-24 : inexact-ok
+= cos tonearest binary32 -0x1.921fc2p+0 : -0xc.bbbd3p-24 : inexact-ok
+= cos towardzero binary32 -0x1.921fc2p+0 : -0xc.bbbd2p-24 : inexact-ok
+= cos upward binary32 -0x1.921fc2p+0 : -0xc.bbbd2p-24 : inexact-ok
+= cos downward binary64 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e8p-24 : inexact-ok
+= cos tonearest binary64 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e8p-24 : inexact-ok
+= cos towardzero binary64 -0x1.921fc2p+0 : -0xc.bbbd2e7b951ep-24 : inexact-ok
+= cos upward binary64 -0x1.921fc2p+0 : -0xc.bbbd2e7b951ep-24 : inexact-ok
+= cos downward intel96 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b2p-24 : inexact-ok
+= cos tonearest intel96 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b2p-24 : inexact-ok
+= cos towardzero intel96 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1p-24 : inexact-ok
+= cos upward intel96 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1p-24 : inexact-ok
+= cos downward m68k96 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b2p-24 : inexact-ok
+= cos tonearest m68k96 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b2p-24 : inexact-ok
+= cos towardzero m68k96 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1p-24 : inexact-ok
+= cos upward m68k96 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1p-24 : inexact-ok
+= cos downward binary128 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a12p-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a12p-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a118p-24 : inexact-ok
+= cos upward binary128 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a118p-24 : inexact-ok
+= cos downward ibm128 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460a4p-24 : inexact-ok
+= cos tonearest ibm128 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460ap-24 : inexact-ok
+= cos towardzero ibm128 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460ap-24 : inexact-ok
+= cos upward ibm128 -0x1.921fc2p+0 : -0xc.bbbd2e7b951e5b1e4cc9f460ap-24 : inexact-ok
+= cos downward binary64 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a58p-24 : inexact-ok
+= cos tonearest binary64 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a5p-24 : inexact-ok
+= cos towardzero binary64 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a5p-24 : inexact-ok
+= cos upward binary64 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a5p-24 : inexact-ok
+= cos downward intel96 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502fp-24 : inexact-ok
+= cos tonearest intel96 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502fp-24 : inexact-ok
+= cos towardzero intel96 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ep-24 : inexact-ok
+= cos upward intel96 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ep-24 : inexact-ok
+= cos downward m68k96 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502fp-24 : inexact-ok
+= cos tonearest m68k96 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502fp-24 : inexact-ok
+= cos towardzero m68k96 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ep-24 : inexact-ok
+= cos upward m68k96 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ep-24 : inexact-ok
+= cos downward binary128 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11c3p-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11c28p-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11c28p-24 : inexact-ok
+= cos upward binary128 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11c28p-24 : inexact-ok
+= cos downward ibm128 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b12p-24 : inexact-ok
+= cos tonearest ibm128 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11cp-24 : inexact-ok
+= cos towardzero ibm128 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11cp-24 : inexact-ok
+= cos upward ibm128 -0x1.921fc00ece4fp+0 : -0xa.ca8b7d7b95a502ede4a0f9b11cp-24 : inexact-ok
+= cos downward binary64 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a58p-24 : inexact-ok
+= cos tonearest binary64 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a5p-24 : inexact-ok
+= cos towardzero binary64 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a5p-24 : inexact-ok
+= cos upward binary64 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a5p-24 : inexact-ok
+= cos downward intel96 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502fp-24 : inexact-ok
+= cos tonearest intel96 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502fp-24 : inexact-ok
+= cos towardzero intel96 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ep-24 : inexact-ok
+= cos upward intel96 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ep-24 : inexact-ok
+= cos downward m68k96 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502fp-24 : inexact-ok
+= cos tonearest m68k96 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502fp-24 : inexact-ok
+= cos towardzero m68k96 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ep-24 : inexact-ok
+= cos upward m68k96 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ep-24 : inexact-ok
+= cos downward binary128 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f3948p-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f394p-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f394p-24 : inexact-ok
+= cos upward binary128 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f394p-24 : inexact-ok
+= cos downward ibm128 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f3cp-24 : inexact-ok
+= cos tonearest ibm128 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f38p-24 : inexact-ok
+= cos towardzero ibm128 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f38p-24 : inexact-ok
+= cos upward ibm128 -0x1.921fc00ece4f1p+0 : -0xa.ca8b7d8b95a502ede0fd607f38p-24 : inexact-ok
+= cos downward intel96 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502fp-24 : inexact-ok
+= cos tonearest intel96 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502fp-24 : inexact-ok
+= cos towardzero intel96 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ep-24 : inexact-ok
+= cos upward intel96 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ep-24 : inexact-ok
+= cos downward m68k96 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502fp-24 : inexact-ok
+= cos tonearest m68k96 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502fp-24 : inexact-ok
+= cos towardzero m68k96 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ep-24 : inexact-ok
+= cos upward m68k96 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ep-24 : inexact-ok
+= cos downward binary128 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dce18p-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dce1p-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dce1p-24 : inexact-ok
+= cos upward binary128 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dce1p-24 : inexact-ok
+= cos downward ibm128 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1ddp-24 : inexact-ok
+= cos tonearest ibm128 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1ddp-24 : inexact-ok
+= cos towardzero ibm128 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dccp-24 : inexact-ok
+= cos upward ibm128 -0x1.921fc00ece4f02f2p+0 : -0xa.ca8b7d7e87a502ede3f57c1dccp-24 : inexact-ok
+= cos downward intel96 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502fp-24 : inexact-ok
+= cos tonearest intel96 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502fp-24 : inexact-ok
+= cos towardzero intel96 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ep-24 : inexact-ok
+= cos upward intel96 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ep-24 : inexact-ok
+= cos downward m68k96 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502fp-24 : inexact-ok
+= cos tonearest m68k96 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502fp-24 : inexact-ok
+= cos towardzero m68k96 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ep-24 : inexact-ok
+= cos upward m68k96 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ep-24 : inexact-ok
+= cos downward binary128 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa7d8p-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa7d8p-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa7dp-24 : inexact-ok
+= cos upward binary128 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa7dp-24 : inexact-ok
+= cos downward ibm128 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa8p-24 : inexact-ok
+= cos tonearest ibm128 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa8p-24 : inexact-ok
+= cos towardzero ibm128 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa4p-24 : inexact-ok
+= cos upward ibm128 -0x1.921fc00ece4f02f4p+0 : -0xa.ca8b7d7e89a502ede3f507aaa4p-24 : inexact-ok
+= cos downward binary128 -0x1.921fc00ece4f02f278ade6ad9e89p+0 : -0xa.ca8b7d7e881db0d49193e9ab43cp-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fc00ece4f02f278ade6ad9e89p+0 : -0xa.ca8b7d7e881db0d49193e9ab43cp-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fc00ece4f02f278ade6ad9e89p+0 : -0xa.ca8b7d7e881db0d49193e9ab43b8p-24 : inexact-ok
+= cos upward binary128 -0x1.921fc00ece4f02f278ade6ad9e89p+0 : -0xa.ca8b7d7e881db0d49193e9ab43b8p-24 : inexact-ok
+= cos downward binary128 -0x1.921fc00ece4f02f278ade6ad9e8ap+0 : -0xa.ca8b7d7e881db0d49193eaab43cp-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fc00ece4f02f278ade6ad9e8ap+0 : -0xa.ca8b7d7e881db0d49193eaab43cp-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fc00ece4f02f278ade6ad9e8ap+0 : -0xa.ca8b7d7e881db0d49193eaab43b8p-24 : inexact-ok
+= cos upward binary128 -0x1.921fc00ece4f02f278ade6ad9e8ap+0 : -0xa.ca8b7d7e881db0d49193eaab43b8p-24 : inexact-ok
+= cos downward binary128 -0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab43cp-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab43cp-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab43b8p-24 : inexact-ok
+= cos upward binary128 -0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab43b8p-24 : inexact-ok
+= cos downward ibm128 -0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab44p-24 : inexact-ok
+= cos tonearest ibm128 -0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab44p-24 : inexact-ok
+= cos towardzero ibm128 -0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab4p-24 : inexact-ok
+= cos upward ibm128 -0x1.921fc00ece4f02f278ade6ad9e8p+0 : -0xa.ca8b7d7e881db0d49193e0ab4p-24 : inexact-ok
+= cos downward binary128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab43cp-24 : inexact-ok
+= cos tonearest binary128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab43cp-24 : inexact-ok
+= cos towardzero binary128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab43b8p-24 : inexact-ok
+= cos upward binary128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab43b8p-24 : inexact-ok
+= cos downward ibm128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab44p-24 : inexact-ok
+= cos tonearest ibm128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab44p-24 : inexact-ok
+= cos towardzero ibm128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab4p-24 : inexact-ok
+= cos upward ibm128 -0x1.921fc00ece4f02f278ade6ad9fp+0 : -0xa.ca8b7d7e881db0d4919460ab4p-24 : inexact-ok