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



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
Simplified0.1
Taylor expanded around 0 0.1
Final simplification0.1
herbie shell --seed 2021118
(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))