\left(\frac{x}{2} + \frac{y}{2}\right) + \frac{z}{2}\left(\frac{x}{2} + \frac{y}{2}\right) + \frac{z}{2}double code(double x, double y, double z) {
return ((double) (((double) (((double) (x / 2.0)) + ((double) (y / 2.0)))) + ((double) (z / 2.0))));
}
double code(double x, double y, double z) {
return ((double) (((double) (((double) (x / 2.0)) + ((double) (y / 2.0)))) + ((double) (z / 2.0))));
}



Bits error versus x



Bits error versus y



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