diff options
Diffstat (limited to 'src/fma.c')
-rw-r--r-- | src/fma.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -261,9 +261,10 @@ mpfr_fma (mpfr_ptr s, mpfr_srcptr x, mpfr_srcptr y, mpfr_srcptr z, MPFR_BLOCK_DECL (flags); if (MPFR_GET_EXP (u) > MPFR_GET_EXP (z) && - MPFR_GET_EXP (u) - MPFR_GET_EXP (z) > MPFR_PREC (u) + 1) + MPFR_GET_EXP (u) - MPFR_GET_EXP (z) > MPFR_PREC (s) + 1) { - /* |z| < ulp(u)/4, therefore one can use z instead of z/4, + /* |z| < ulp(u)/4, where the ulp is meant with the precision + of the result s, therefore one can use z instead of z/4, including when u is a power of 2! */ zz = z; } |