From cbf88869edced4b23d792d95a8626e35b831df35 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Mon, 18 Jul 2016 22:33:09 +0530 Subject: 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. --- math/auto-libm-test-in | 3 +++ 1 file changed, 3 insertions(+) (limited to 'math/auto-libm-test-in') diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in index ffcc40a8c6..51c152c231 100644 --- a/math/auto-libm-test-in +++ b/math/auto-libm-test-in @@ -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 -- cgit v1.2.3