The fma is not strickly required to provide correctly rounded and
it helps on !__FP_FAST_FMA ABIs.
Checked on x86_64-linux-gnu and i686-linux-gnu.
Reviewed-by: Paul Zimmermann <Paul.Zimmermann@inria.fr>
const double ln2h = 0x1.62e4p-1;
double Lh = ln2h * e;
double Ll = ln2l * e;
- r = fma (z, c0, Ll + LIX[j]) + Lh;
+ r = (z * c0 + (Ll + LIX[j])) + Lh;
if (__glibc_unlikely ((asuint64 (r) & UINT64_C(0xfffffff)) == 0))
{
- double h = fma (z, c0, Ll + LIX[j]) + (Lh - r);
+ double h = (z * c0 + (Ll + LIX[j])) + (Lh - r);
r = r + 64.0 * h;
}
}