y + \frac{x - y}{2} \cdot zy + \frac{x - y}{2} \cdot zdouble code(double y, double x, double z) {
return ((double) (y + ((double) (((double) (((double) (x - y)) / 2.0)) * z))));
}
double code(double y, double x, double z) {
return ((double) (y + ((double) (((double) (((double) (x - y)) / 2.0)) * z))));
}



Bits error versus y



Bits error versus x



Bits error versus z
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020153
(FPCore (y x z)
:name "(+ y (* (/ (- x y) 2) z))"
:precision binary64
(+ y (* (/ (- x y) 2.0) z)))