double code(double x, double y, double z) {
return ((double) (((double) (((double) (((double) (((double) (x + y)) + y)) + x)) + z)) + x));
}
double code(double x, double y, double z) {
return ((double) (x + ((double) (((double) (((double) (x + y)) * 2.0)) + z))));
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020191
(FPCore (x y z)
:name "Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendInside from plot-0.2.3.4"
:precision binary64
(+ (+ (+ (+ (+ x y) y) x) z) x))