\left(x + y\right) \cdot z
\mathsf{fma}\left(x, z, z \cdot y\right)double f(double x, double y, double z) {
double r64 = x;
double r65 = y;
double r66 = r64 + r65;
double r67 = z;
double r68 = r66 * r67;
return r68;
}
double f(double x, double y, double z) {
double r69 = x;
double r70 = z;
double r71 = y;
double r72 = r70 * r71;
double r73 = fma(r69, r70, r72);
return r73;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.0
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020025 +o rules:numerics
(FPCore (x y z)
:name "Text.Parsec.Token:makeTokenParser from parsec-3.1.9, B"
:precision binary64
(* (+ x y) z))