\left(\left(\left(\left(x + y\right) + y\right) + x\right) + z\right) + x
\left(x + \left(x + y\right) \cdot 2\right) + z
(FPCore (x y z) :precision binary64 (+ (+ (+ (+ (+ x y) y) x) z) x))
(FPCore (x y z) :precision binary64 (+ (+ x (* (+ x y) 2.0)) z))
double code(double x, double y, double z) {
return ((((x + y) + y) + x) + z) + x;
}
double code(double x, double y, double z) {
return (x + ((x + y) * 2.0)) + z;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
Simplified0.1
rmApplied associate-+r+_binary640.1
Final simplification0.1
herbie shell --seed 2020224
(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))