\left(x + y\right) \cdot z
z \cdot x + y \cdot z
double f(double x, double y, double z) {
double r17310 = x;
double r17311 = y;
double r17312 = r17310 + r17311;
double r17313 = z;
double r17314 = r17312 * r17313;
return r17314;
}
double f(double x, double y, double z) {
double r17315 = z;
double r17316 = x;
double r17317 = r17315 * r17316;
double r17318 = y;
double r17319 = r17318 * r17315;
double r17320 = r17317 + r17319;
return r17320;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.0
Simplified0.0
rmApplied flip-+25.3
Applied associate-*l/30.3
Simplified20.1
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019174
(FPCore (x y z)
:name "Text.Parsec.Token:makeTokenParser from parsec-3.1.9, B"
(* (+ x y) z))