\left(x + y\right) \cdot z
z \cdot y + x \cdot z
double f(double x, double y, double z) {
double r954118 = x;
double r954119 = y;
double r954120 = r954118 + r954119;
double r954121 = z;
double r954122 = r954120 * r954121;
return r954122;
}
double f(double x, double y, double z) {
double r954123 = z;
double r954124 = y;
double r954125 = r954123 * r954124;
double r954126 = x;
double r954127 = r954126 * r954123;
double r954128 = r954125 + r954127;
return r954128;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.0
rmApplied flip-+25.3
Applied associate-*l/30.3
Simplified20.1
Taylor expanded around 0 0.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))