mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-08 18:30:18 +00:00
Fix cos computation for multiple precision fallback (bz #20357)
During the sincos consolidation I made two mistakes, one was a logical error due to which cos(0x1.8475e5afd4481p+0) returned sin(0x1.8475e5afd4481p+0) instead. The second issue was an error in negating inputs for the correct quadrants for sine. I could not find a suitable test case for this despite running a program to search for such an input for a couple of hours. Following patch fixes both issues. Tested on x86_64. Thanks to Matt Clay for identifying the issue. [BZ #20357] * sysdeps/ieee754/dbl-64/s_sin.c (sloww): Fix up condition to call __mpsin/__mpcos and to negate values. * math/auto-libm-test-in: Add test. * math/auto-libm-test-out: Regenerate.
This commit is contained in:
parent
2413e73c32
commit
cbf88869ed
@ -1,3 +1,12 @@
|
||||
2016-07-18 Siddhesh Poyarekar <siddhesh@sourceware.org>
|
||||
Matt Clay <mclay@lycos.com>
|
||||
|
||||
[BZ #20357]
|
||||
* sysdeps/ieee754/dbl-64/s_sin.c (sloww): Fix up condition
|
||||
to call __mpsin/__mpcos and to negate values.
|
||||
* math/auto-libm-test-in: Add test.
|
||||
* math/auto-libm-test-out: Regenerate.
|
||||
|
||||
2016-07-18 Zack Weinberg <zackw@panix.com>
|
||||
|
||||
* grp/Makefile: Don't install the internal header grp-merge.h.
|
||||
|
@ -1144,6 +1144,7 @@ cos 0x4.7857dp+68
|
||||
cos -0x1.02e34cp+0
|
||||
cos 0xf.f0274p+4
|
||||
cos 0x3.042d88p+0
|
||||
cos 0x1.8475e5afd4481p+0
|
||||
|
||||
cosh 0
|
||||
cosh -0
|
||||
@ -3818,6 +3819,7 @@ sin min
|
||||
sin -min
|
||||
sin min_subnorm
|
||||
sin -min_subnorm
|
||||
sin 0x1.8475e5afd4481p+0
|
||||
|
||||
sincos 0
|
||||
sincos -0
|
||||
@ -3852,6 +3854,7 @@ sincos min
|
||||
sincos -min
|
||||
sincos min_subnorm
|
||||
sincos -min_subnorm
|
||||
sincos 0x1.8475e5afd4481p+0
|
||||
|
||||
sinh 0
|
||||
sinh -0
|
||||
|
@ -103416,6 +103416,75 @@ cos 0x3.042d88p+0
|
||||
= cos tonearest ibm128 0x3.042d88p+0 : -0xf.dfe6f2169e24f276e8027d91bcp-4 : inexact-ok
|
||||
= cos towardzero ibm128 0x3.042d88p+0 : -0xf.dfe6f2169e24f276e8027d91b8p-4 : inexact-ok
|
||||
= cos upward ibm128 0x3.042d88p+0 : -0xf.dfe6f2169e24f276e8027d91b8p-4 : inexact-ok
|
||||
cos 0x1.8475e5afd4481p+0
|
||||
= cos downward binary32 0x1.8475e6p+0 : 0xd.a8263p-8 : inexact-ok
|
||||
= cos tonearest binary32 0x1.8475e6p+0 : 0xd.a8263p-8 : inexact-ok
|
||||
= cos towardzero binary32 0x1.8475e6p+0 : 0xd.a8263p-8 : inexact-ok
|
||||
= cos upward binary32 0x1.8475e6p+0 : 0xd.a8264p-8 : inexact-ok
|
||||
= cos downward binary64 0x1.8475e6p+0 : 0xd.a8263394be6dp-8 : inexact-ok
|
||||
= cos tonearest binary64 0x1.8475e6p+0 : 0xd.a8263394be6dp-8 : inexact-ok
|
||||
= cos towardzero binary64 0x1.8475e6p+0 : 0xd.a8263394be6dp-8 : inexact-ok
|
||||
= cos upward binary64 0x1.8475e6p+0 : 0xd.a8263394be6d8p-8 : inexact-ok
|
||||
= cos downward intel96 0x1.8475e6p+0 : 0xd.a8263394be6d0e5p-8 : inexact-ok
|
||||
= cos tonearest intel96 0x1.8475e6p+0 : 0xd.a8263394be6d0e6p-8 : inexact-ok
|
||||
= cos towardzero intel96 0x1.8475e6p+0 : 0xd.a8263394be6d0e5p-8 : inexact-ok
|
||||
= cos upward intel96 0x1.8475e6p+0 : 0xd.a8263394be6d0e6p-8 : inexact-ok
|
||||
= cos downward m68k96 0x1.8475e6p+0 : 0xd.a8263394be6d0e5p-8 : inexact-ok
|
||||
= cos tonearest m68k96 0x1.8475e6p+0 : 0xd.a8263394be6d0e6p-8 : inexact-ok
|
||||
= cos towardzero m68k96 0x1.8475e6p+0 : 0xd.a8263394be6d0e5p-8 : inexact-ok
|
||||
= cos upward m68k96 0x1.8475e6p+0 : 0xd.a8263394be6d0e6p-8 : inexact-ok
|
||||
= cos downward binary128 0x1.8475e6p+0 : 0xd.a8263394be6d0e58c1c35a8a3bap-8 : inexact-ok
|
||||
= cos tonearest binary128 0x1.8475e6p+0 : 0xd.a8263394be6d0e58c1c35a8a3bap-8 : inexact-ok
|
||||
= cos towardzero binary128 0x1.8475e6p+0 : 0xd.a8263394be6d0e58c1c35a8a3bap-8 : inexact-ok
|
||||
= cos upward binary128 0x1.8475e6p+0 : 0xd.a8263394be6d0e58c1c35a8a3ba8p-8 : inexact-ok
|
||||
= cos downward ibm128 0x1.8475e6p+0 : 0xd.a8263394be6d0e58c1c35a8a38p-8 : inexact-ok
|
||||
= cos tonearest ibm128 0x1.8475e6p+0 : 0xd.a8263394be6d0e58c1c35a8a3cp-8 : inexact-ok
|
||||
= cos towardzero ibm128 0x1.8475e6p+0 : 0xd.a8263394be6d0e58c1c35a8a38p-8 : inexact-ok
|
||||
= cos upward ibm128 0x1.8475e6p+0 : 0xd.a8263394be6d0e58c1c35a8a3cp-8 : inexact-ok
|
||||
= cos downward binary32 0x1.8475e4p+0 : 0xd.a8283p-8 : inexact-ok
|
||||
= cos tonearest binary32 0x1.8475e4p+0 : 0xd.a8283p-8 : inexact-ok
|
||||
= cos towardzero binary32 0x1.8475e4p+0 : 0xd.a8283p-8 : inexact-ok
|
||||
= cos upward binary32 0x1.8475e4p+0 : 0xd.a8284p-8 : inexact-ok
|
||||
= cos downward binary64 0x1.8475e4p+0 : 0xd.a82832da19f98p-8 : inexact-ok
|
||||
= cos tonearest binary64 0x1.8475e4p+0 : 0xd.a82832da19f98p-8 : inexact-ok
|
||||
= cos towardzero binary64 0x1.8475e4p+0 : 0xd.a82832da19f98p-8 : inexact-ok
|
||||
= cos upward binary64 0x1.8475e4p+0 : 0xd.a82832da19fap-8 : inexact-ok
|
||||
= cos downward intel96 0x1.8475e4p+0 : 0xd.a82832da19f9891p-8 : inexact-ok
|
||||
= cos tonearest intel96 0x1.8475e4p+0 : 0xd.a82832da19f9892p-8 : inexact-ok
|
||||
= cos towardzero intel96 0x1.8475e4p+0 : 0xd.a82832da19f9891p-8 : inexact-ok
|
||||
= cos upward intel96 0x1.8475e4p+0 : 0xd.a82832da19f9892p-8 : inexact-ok
|
||||
= cos downward m68k96 0x1.8475e4p+0 : 0xd.a82832da19f9891p-8 : inexact-ok
|
||||
= cos tonearest m68k96 0x1.8475e4p+0 : 0xd.a82832da19f9892p-8 : inexact-ok
|
||||
= cos towardzero m68k96 0x1.8475e4p+0 : 0xd.a82832da19f9891p-8 : inexact-ok
|
||||
= cos upward m68k96 0x1.8475e4p+0 : 0xd.a82832da19f9892p-8 : inexact-ok
|
||||
= cos downward binary128 0x1.8475e4p+0 : 0xd.a82832da19f9891d9762fa659ff8p-8 : inexact-ok
|
||||
= cos tonearest binary128 0x1.8475e4p+0 : 0xd.a82832da19f9891d9762fa659ff8p-8 : inexact-ok
|
||||
= cos towardzero binary128 0x1.8475e4p+0 : 0xd.a82832da19f9891d9762fa659ff8p-8 : inexact-ok
|
||||
= cos upward binary128 0x1.8475e4p+0 : 0xd.a82832da19f9891d9762fa65ap-8 : inexact-ok
|
||||
= cos downward ibm128 0x1.8475e4p+0 : 0xd.a82832da19f9891d9762fa659cp-8 : inexact-ok
|
||||
= cos tonearest ibm128 0x1.8475e4p+0 : 0xd.a82832da19f9891d9762fa65ap-8 : inexact-ok
|
||||
= cos towardzero ibm128 0x1.8475e4p+0 : 0xd.a82832da19f9891d9762fa659cp-8 : inexact-ok
|
||||
= cos upward ibm128 0x1.8475e4p+0 : 0xd.a82832da19f9891d9762fa65ap-8 : inexact-ok
|
||||
= cos downward binary64 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbe8p-8 : inexact-ok
|
||||
= cos tonearest binary64 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbe8p-8 : inexact-ok
|
||||
= cos towardzero binary64 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbe8p-8 : inexact-ok
|
||||
= cos upward binary64 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbfp-8 : inexact-ok
|
||||
= cos downward intel96 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebffp-8 : inexact-ok
|
||||
= cos tonearest intel96 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbecp-8 : inexact-ok
|
||||
= cos towardzero intel96 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebffp-8 : inexact-ok
|
||||
= cos upward intel96 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbecp-8 : inexact-ok
|
||||
= cos downward m68k96 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebffp-8 : inexact-ok
|
||||
= cos tonearest m68k96 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbecp-8 : inexact-ok
|
||||
= cos towardzero m68k96 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebffp-8 : inexact-ok
|
||||
= cos upward m68k96 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbecp-8 : inexact-ok
|
||||
= cos downward binary128 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebfffffffa2966878p-8 : inexact-ok
|
||||
= cos tonearest binary128 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebfffffffa2966878p-8 : inexact-ok
|
||||
= cos towardzero binary128 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebfffffffa2966878p-8 : inexact-ok
|
||||
= cos upward binary128 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebfffffffa296688p-8 : inexact-ok
|
||||
= cos downward ibm128 0x1.8475e5afd4481p+0 : 0xd.a82683a33cbebfffffffa29668p-8 : inexact-ok
|
||||
= 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
|
||||
cosh 0
|
||||
= cosh downward binary32 0x0p+0 : 0x1p+0 : inexact-ok
|
||||
= cosh tonearest binary32 0x0p+0 : 0x1p+0 : inexact-ok
|
||||
@ -264628,6 +264697,75 @@ sin -min_subnorm
|
||||
= sin tonearest binary128 -0x4p-16496 : -0x4p-16496 : inexact-ok underflow errno-erange-ok
|
||||
= sin towardzero binary128 -0x4p-16496 : -0x0p+0 : inexact-ok underflow errno-erange-ok
|
||||
= sin upward binary128 -0x4p-16496 : -0x0p+0 : inexact-ok underflow errno-erange-ok
|
||||
sin 0x1.8475e5afd4481p+0
|
||||
= sin downward binary32 0x1.8475e6p+0 : 0xf.fa2adp-4 : inexact-ok
|
||||
= sin tonearest binary32 0x1.8475e6p+0 : 0xf.fa2aep-4 : inexact-ok
|
||||
= sin towardzero binary32 0x1.8475e6p+0 : 0xf.fa2adp-4 : inexact-ok
|
||||
= sin upward binary32 0x1.8475e6p+0 : 0xf.fa2aep-4 : inexact-ok
|
||||
= sin downward binary64 0x1.8475e6p+0 : 0xf.fa2add3e58948p-4 : inexact-ok
|
||||
= sin tonearest binary64 0x1.8475e6p+0 : 0xf.fa2add3e58948p-4 : inexact-ok
|
||||
= sin towardzero binary64 0x1.8475e6p+0 : 0xf.fa2add3e58948p-4 : inexact-ok
|
||||
= sin upward binary64 0x1.8475e6p+0 : 0xf.fa2add3e5895p-4 : inexact-ok
|
||||
= sin downward intel96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 : inexact-ok
|
||||
= sin tonearest intel96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 : inexact-ok
|
||||
= sin towardzero intel96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 : inexact-ok
|
||||
= sin upward intel96 0x1.8475e6p+0 : 0xf.fa2add3e58948d2p-4 : inexact-ok
|
||||
= sin downward m68k96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 : inexact-ok
|
||||
= sin tonearest m68k96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 : inexact-ok
|
||||
= sin towardzero m68k96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 : inexact-ok
|
||||
= sin upward m68k96 0x1.8475e6p+0 : 0xf.fa2add3e58948d2p-4 : inexact-ok
|
||||
= sin downward binary128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b5618p-4 : inexact-ok
|
||||
= sin tonearest binary128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b562p-4 : inexact-ok
|
||||
= sin towardzero binary128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b5618p-4 : inexact-ok
|
||||
= sin upward binary128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b562p-4 : inexact-ok
|
||||
= sin downward ibm128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b54p-4 : inexact-ok
|
||||
= sin tonearest ibm128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b58p-4 : inexact-ok
|
||||
= sin towardzero ibm128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b54p-4 : inexact-ok
|
||||
= sin upward ibm128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b58p-4 : inexact-ok
|
||||
= sin downward binary32 0x1.8475e4p+0 : 0xf.fa2adp-4 : inexact-ok
|
||||
= sin tonearest binary32 0x1.8475e4p+0 : 0xf.fa2aep-4 : inexact-ok
|
||||
= sin towardzero binary32 0x1.8475e4p+0 : 0xf.fa2adp-4 : inexact-ok
|
||||
= sin upward binary32 0x1.8475e4p+0 : 0xf.fa2aep-4 : inexact-ok
|
||||
= sin downward binary64 0x1.8475e4p+0 : 0xf.fa2adb8953aep-4 : inexact-ok
|
||||
= sin tonearest binary64 0x1.8475e4p+0 : 0xf.fa2adb8953aep-4 : inexact-ok
|
||||
= sin towardzero binary64 0x1.8475e4p+0 : 0xf.fa2adb8953aep-4 : inexact-ok
|
||||
= sin upward binary64 0x1.8475e4p+0 : 0xf.fa2adb8953ae8p-4 : inexact-ok
|
||||
= sin downward intel96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 : inexact-ok
|
||||
= sin tonearest intel96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 : inexact-ok
|
||||
= sin towardzero intel96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 : inexact-ok
|
||||
= sin upward intel96 0x1.8475e4p+0 : 0xf.fa2adb8953ae263p-4 : inexact-ok
|
||||
= sin downward m68k96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 : inexact-ok
|
||||
= sin tonearest m68k96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 : inexact-ok
|
||||
= sin towardzero m68k96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 : inexact-ok
|
||||
= sin upward m68k96 0x1.8475e4p+0 : 0xf.fa2adb8953ae263p-4 : inexact-ok
|
||||
= sin downward binary128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f6b8p-4 : inexact-ok
|
||||
= sin tonearest binary128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f6cp-4 : inexact-ok
|
||||
= sin towardzero binary128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f6b8p-4 : inexact-ok
|
||||
= sin upward binary128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f6cp-4 : inexact-ok
|
||||
= sin downward ibm128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f4p-4 : inexact-ok
|
||||
= sin tonearest ibm128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f8p-4 : inexact-ok
|
||||
= sin towardzero ibm128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f4p-4 : inexact-ok
|
||||
= sin upward ibm128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f8p-4 : inexact-ok
|
||||
= sin downward binary64 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea838p-4 : inexact-ok
|
||||
= sin tonearest binary64 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea84p-4 : inexact-ok
|
||||
= sin towardzero binary64 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea838p-4 : inexact-ok
|
||||
= sin upward binary64 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea84p-4 : inexact-ok
|
||||
= sin downward intel96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdp-4 : inexact-ok
|
||||
= sin tonearest intel96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbep-4 : inexact-ok
|
||||
= sin towardzero intel96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdp-4 : inexact-ok
|
||||
= sin upward intel96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbep-4 : inexact-ok
|
||||
= sin downward m68k96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdp-4 : inexact-ok
|
||||
= sin tonearest m68k96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbep-4 : inexact-ok
|
||||
= sin towardzero m68k96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdp-4 : inexact-ok
|
||||
= sin upward m68k96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbep-4 : inexact-ok
|
||||
= sin downward binary128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ea68p-4 : inexact-ok
|
||||
= sin tonearest binary128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ea7p-4 : inexact-ok
|
||||
= sin towardzero binary128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ea68p-4 : inexact-ok
|
||||
= sin upward binary128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ea7p-4 : inexact-ok
|
||||
= sin downward ibm128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455e8p-4 : inexact-ok
|
||||
= sin tonearest ibm128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ecp-4 : inexact-ok
|
||||
= sin towardzero ibm128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455e8p-4 : inexact-ok
|
||||
= sin upward ibm128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ecp-4 : inexact-ok
|
||||
sincos 0
|
||||
= sincos downward binary32 0x0p+0 : 0x0p+0 0x1p+0 : inexact-ok
|
||||
= sincos tonearest binary32 0x0p+0 : 0x0p+0 0x1p+0 : inexact-ok
|
||||
@ -266725,6 +266863,75 @@ sincos -min_subnorm
|
||||
= sincos tonearest binary128 -0x4p-16496 : -0x4p-16496 0x1p+0 : inexact-ok underflow errno-erange-ok
|
||||
= sincos towardzero binary128 -0x4p-16496 : -0x0p+0 0xf.fffffffffffffffffffffffffff8p-4 : inexact-ok underflow errno-erange-ok
|
||||
= sincos upward binary128 -0x4p-16496 : -0x0p+0 0x1p+0 : inexact-ok underflow errno-erange-ok
|
||||
sincos 0x1.8475e5afd4481p+0
|
||||
= sincos downward binary32 0x1.8475e6p+0 : 0xf.fa2adp-4 0xd.a8263p-8 : inexact-ok
|
||||
= sincos tonearest binary32 0x1.8475e6p+0 : 0xf.fa2aep-4 0xd.a8263p-8 : inexact-ok
|
||||
= sincos towardzero binary32 0x1.8475e6p+0 : 0xf.fa2adp-4 0xd.a8263p-8 : inexact-ok
|
||||
= sincos upward binary32 0x1.8475e6p+0 : 0xf.fa2aep-4 0xd.a8264p-8 : inexact-ok
|
||||
= sincos downward binary64 0x1.8475e6p+0 : 0xf.fa2add3e58948p-4 0xd.a8263394be6dp-8 : inexact-ok
|
||||
= sincos tonearest binary64 0x1.8475e6p+0 : 0xf.fa2add3e58948p-4 0xd.a8263394be6dp-8 : inexact-ok
|
||||
= sincos towardzero binary64 0x1.8475e6p+0 : 0xf.fa2add3e58948p-4 0xd.a8263394be6dp-8 : inexact-ok
|
||||
= sincos upward binary64 0x1.8475e6p+0 : 0xf.fa2add3e5895p-4 0xd.a8263394be6d8p-8 : inexact-ok
|
||||
= sincos downward intel96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 0xd.a8263394be6d0e5p-8 : inexact-ok
|
||||
= sincos tonearest intel96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 0xd.a8263394be6d0e6p-8 : inexact-ok
|
||||
= sincos towardzero intel96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 0xd.a8263394be6d0e5p-8 : inexact-ok
|
||||
= sincos upward intel96 0x1.8475e6p+0 : 0xf.fa2add3e58948d2p-4 0xd.a8263394be6d0e6p-8 : inexact-ok
|
||||
= sincos downward m68k96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 0xd.a8263394be6d0e5p-8 : inexact-ok
|
||||
= sincos tonearest m68k96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 0xd.a8263394be6d0e6p-8 : inexact-ok
|
||||
= sincos towardzero m68k96 0x1.8475e6p+0 : 0xf.fa2add3e58948d1p-4 0xd.a8263394be6d0e5p-8 : inexact-ok
|
||||
= sincos upward m68k96 0x1.8475e6p+0 : 0xf.fa2add3e58948d2p-4 0xd.a8263394be6d0e6p-8 : inexact-ok
|
||||
= sincos downward binary128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b5618p-4 0xd.a8263394be6d0e58c1c35a8a3bap-8 : inexact-ok
|
||||
= sincos tonearest binary128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b562p-4 0xd.a8263394be6d0e58c1c35a8a3bap-8 : inexact-ok
|
||||
= sincos towardzero binary128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b5618p-4 0xd.a8263394be6d0e58c1c35a8a3bap-8 : inexact-ok
|
||||
= sincos upward binary128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b562p-4 0xd.a8263394be6d0e58c1c35a8a3ba8p-8 : inexact-ok
|
||||
= sincos downward ibm128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b54p-4 0xd.a8263394be6d0e58c1c35a8a38p-8 : inexact-ok
|
||||
= sincos tonearest ibm128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b58p-4 0xd.a8263394be6d0e58c1c35a8a3cp-8 : inexact-ok
|
||||
= sincos towardzero ibm128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b54p-4 0xd.a8263394be6d0e58c1c35a8a38p-8 : inexact-ok
|
||||
= sincos upward ibm128 0x1.8475e6p+0 : 0xf.fa2add3e58948d10238cc27b58p-4 0xd.a8263394be6d0e58c1c35a8a3cp-8 : inexact-ok
|
||||
= sincos downward binary32 0x1.8475e4p+0 : 0xf.fa2adp-4 0xd.a8283p-8 : inexact-ok
|
||||
= sincos tonearest binary32 0x1.8475e4p+0 : 0xf.fa2aep-4 0xd.a8283p-8 : inexact-ok
|
||||
= sincos towardzero binary32 0x1.8475e4p+0 : 0xf.fa2adp-4 0xd.a8283p-8 : inexact-ok
|
||||
= sincos upward binary32 0x1.8475e4p+0 : 0xf.fa2aep-4 0xd.a8284p-8 : inexact-ok
|
||||
= sincos downward binary64 0x1.8475e4p+0 : 0xf.fa2adb8953aep-4 0xd.a82832da19f98p-8 : inexact-ok
|
||||
= sincos tonearest binary64 0x1.8475e4p+0 : 0xf.fa2adb8953aep-4 0xd.a82832da19f98p-8 : inexact-ok
|
||||
= sincos towardzero binary64 0x1.8475e4p+0 : 0xf.fa2adb8953aep-4 0xd.a82832da19f98p-8 : inexact-ok
|
||||
= sincos upward binary64 0x1.8475e4p+0 : 0xf.fa2adb8953ae8p-4 0xd.a82832da19fap-8 : inexact-ok
|
||||
= sincos downward intel96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 0xd.a82832da19f9891p-8 : inexact-ok
|
||||
= sincos tonearest intel96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 0xd.a82832da19f9892p-8 : inexact-ok
|
||||
= sincos towardzero intel96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 0xd.a82832da19f9891p-8 : inexact-ok
|
||||
= sincos upward intel96 0x1.8475e4p+0 : 0xf.fa2adb8953ae263p-4 0xd.a82832da19f9892p-8 : inexact-ok
|
||||
= sincos downward m68k96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 0xd.a82832da19f9891p-8 : inexact-ok
|
||||
= sincos tonearest m68k96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 0xd.a82832da19f9892p-8 : inexact-ok
|
||||
= sincos towardzero m68k96 0x1.8475e4p+0 : 0xf.fa2adb8953ae262p-4 0xd.a82832da19f9891p-8 : inexact-ok
|
||||
= sincos upward m68k96 0x1.8475e4p+0 : 0xf.fa2adb8953ae263p-4 0xd.a82832da19f9892p-8 : inexact-ok
|
||||
= sincos downward binary128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f6b8p-4 0xd.a82832da19f9891d9762fa659ff8p-8 : inexact-ok
|
||||
= sincos tonearest binary128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f6cp-4 0xd.a82832da19f9891d9762fa659ff8p-8 : inexact-ok
|
||||
= sincos towardzero binary128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f6b8p-4 0xd.a82832da19f9891d9762fa659ff8p-8 : inexact-ok
|
||||
= sincos upward binary128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f6cp-4 0xd.a82832da19f9891d9762fa65ap-8 : inexact-ok
|
||||
= sincos downward ibm128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f4p-4 0xd.a82832da19f9891d9762fa659cp-8 : inexact-ok
|
||||
= sincos tonearest ibm128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f8p-4 0xd.a82832da19f9891d9762fa65ap-8 : inexact-ok
|
||||
= sincos towardzero ibm128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f4p-4 0xd.a82832da19f9891d9762fa659cp-8 : inexact-ok
|
||||
= sincos upward ibm128 0x1.8475e4p+0 : 0xf.fa2adb8953ae26229c919ec8f8p-4 0xd.a82832da19f9891d9762fa65ap-8 : inexact-ok
|
||||
= sincos downward binary64 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea838p-4 0xd.a82683a33cbe8p-8 : inexact-ok
|
||||
= sincos tonearest binary64 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea84p-4 0xd.a82683a33cbe8p-8 : inexact-ok
|
||||
= sincos towardzero binary64 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea838p-4 0xd.a82683a33cbe8p-8 : inexact-ok
|
||||
= sincos upward binary64 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea84p-4 0xd.a82683a33cbfp-8 : inexact-ok
|
||||
= sincos downward intel96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdp-4 0xd.a82683a33cbebffp-8 : inexact-ok
|
||||
= sincos tonearest intel96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbep-4 0xd.a82683a33cbecp-8 : inexact-ok
|
||||
= sincos towardzero intel96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdp-4 0xd.a82683a33cbebffp-8 : inexact-ok
|
||||
= sincos upward intel96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbep-4 0xd.a82683a33cbecp-8 : inexact-ok
|
||||
= sincos downward m68k96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdp-4 0xd.a82683a33cbebffp-8 : inexact-ok
|
||||
= sincos tonearest m68k96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbep-4 0xd.a82683a33cbecp-8 : inexact-ok
|
||||
= sincos towardzero m68k96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdp-4 0xd.a82683a33cbebffp-8 : inexact-ok
|
||||
= sincos upward m68k96 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbep-4 0xd.a82683a33cbecp-8 : inexact-ok
|
||||
= sincos downward binary128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ea68p-4 0xd.a82683a33cbebfffffffa2966878p-8 : inexact-ok
|
||||
= sincos tonearest binary128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ea7p-4 0xd.a82683a33cbebfffffffa2966878p-8 : inexact-ok
|
||||
= sincos towardzero binary128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ea68p-4 0xd.a82683a33cbebfffffffa2966878p-8 : inexact-ok
|
||||
= sincos upward binary128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ea7p-4 0xd.a82683a33cbebfffffffa296688p-8 : inexact-ok
|
||||
= sincos downward ibm128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455e8p-4 0xd.a82683a33cbebfffffffa29668p-8 : inexact-ok
|
||||
= sincos tonearest ibm128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ecp-4 0xd.a82683a33cbebfffffffa29668p-8 : inexact-ok
|
||||
= sincos towardzero ibm128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455e8p-4 0xd.a82683a33cbebfffffffa29668p-8 : inexact-ok
|
||||
= sincos upward ibm128 0x1.8475e5afd4481p+0 : 0xf.fa2adcf9ea83dbdd053ee455ecp-4 0xd.a82683a33cbebfffffffa2966cp-8 : inexact-ok
|
||||
sinh 0
|
||||
= sinh downward binary32 0x0p+0 : 0x0p+0 : inexact-ok
|
||||
= sinh tonearest binary32 0x0p+0 : 0x0p+0 : inexact-ok
|
||||
|
@ -803,7 +803,7 @@ sloww (double x, double dx, double orig, int k)
|
||||
a = t - y;
|
||||
da = ((t - a) - y) + da;
|
||||
|
||||
if (n == 2 || n == 1)
|
||||
if (n & 2)
|
||||
{
|
||||
a = -a;
|
||||
da = -da;
|
||||
@ -817,7 +817,7 @@ sloww (double x, double dx, double orig, int k)
|
||||
if (w[0] == w[0] + cor)
|
||||
return (a > 0) ? w[0] : -w[0];
|
||||
|
||||
return (n & 1) ? __mpcos (orig, 0, true) : __mpsin (orig, 0, true);
|
||||
return k ? __mpcos (orig, 0, true) : __mpsin (orig, 0, true);
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
Loading…
Reference in New Issue
Block a user