diff options
Diffstat (limited to 'sysdeps/ieee754/dbl-64/k_rem_pio2.c')
-rw-r--r-- | sysdeps/ieee754/dbl-64/k_rem_pio2.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/sysdeps/ieee754/dbl-64/k_rem_pio2.c b/sysdeps/ieee754/dbl-64/k_rem_pio2.c index 047c6c2886..e58c9e854c 100644 --- a/sysdeps/ieee754/dbl-64/k_rem_pio2.c +++ b/sysdeps/ieee754/dbl-64/k_rem_pio2.c @@ -315,34 +315,25 @@ recompute: break; case 1: case 2:; -#if __FLT_EVAL_METHOD__ != 0 - volatile -#endif double fv = 0.0; for (i = jz; i >= 0; i--) - fv += fq[i]; + fv = math_narrow_eval (fv + fq[i]); y[0] = (ih == 0) ? fv : -fv; - fv = fq[0] - fv; + fv = math_narrow_eval (fq[0] - fv); for (i = 1; i <= jz; i++) - fv += fq[i]; + fv = math_narrow_eval (fv + fq[i]); y[1] = (ih == 0) ? fv : -fv; break; case 3: /* painful */ for (i = jz; i > 0; i--) { -#if __FLT_EVAL_METHOD__ != 0 - volatile -#endif - double fv = (double) (fq[i - 1] + fq[i]); + double fv = math_narrow_eval (fq[i - 1] + fq[i]); fq[i] += fq[i - 1] - fv; fq[i - 1] = fv; } for (i = jz; i > 1; i--) { -#if __FLT_EVAL_METHOD__ != 0 - volatile -#endif - double fv = (double) (fq[i - 1] + fq[i]); + double fv = math_narrow_eval (fq[i - 1] + fq[i]); fq[i] += fq[i - 1] - fv; fq[i - 1] = fv; } |