summaryrefslogtreecommitdiffstats
path: root/lib/msun/src/s_cos.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/msun/src/s_cos.c')
-rw-r--r--lib/msun/src/s_cos.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/msun/src/s_cos.c b/lib/msun/src/s_cos.c
index b49b28a..17afa34 100644
--- a/lib/msun/src/s_cos.c
+++ b/lib/msun/src/s_cos.c
@@ -59,7 +59,11 @@ cos(double x)
/* |x| ~< pi/4 */
ix &= 0x7fffffff;
- if(ix <= 0x3fe921fb) return __kernel_cos(x,z);
+ if(ix <= 0x3fe921fb) {
+ if(ix<0x3e400000) /* if x < 2**-27 */
+ if(((int)x)==0) return 1.0; /* generate inexact */
+ return __kernel_cos(x,z);
+ }
/* cos(Inf or NaN) is NaN */
else if (ix>=0x7ff00000) return x-x;
OpenPOWER on IntegriCloud