\left(x + y\right) \cdot z
x \cdot z + z \cdot y
double f(double x, double y, double z) {
double r10574 = x;
double r10575 = y;
double r10576 = r10574 + r10575;
double r10577 = z;
double r10578 = r10576 * r10577;
return r10578;
}
double f(double x, double y, double z) {
double r10579 = x;
double r10580 = z;
double r10581 = r10579 * r10580;
double r10582 = y;
double r10583 = r10580 * r10582;
double r10584 = r10581 + r10583;
return r10584;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.0
rmApplied add-sqr-sqrt32.2
Applied associate-*r*32.2
Simplified32.2
Taylor expanded around 0 0.0
Final simplification0.0
herbie shell --seed 2019209
(FPCore (x y z)
:name "Text.Parsec.Token:makeTokenParser from parsec-3.1.9, B"
:precision binary64
(* (+ x y) z))