x \cdot \left(y + z\right) + z \cdot 5
x \cdot \left(y + z\right) + z \cdot 5
double f(double x, double y, double z) {
double r786725 = x;
double r786726 = y;
double r786727 = z;
double r786728 = r786726 + r786727;
double r786729 = r786725 * r786728;
double r786730 = 5.0;
double r786731 = r786727 * r786730;
double r786732 = r786729 + r786731;
return r786732;
}
double f(double x, double y, double z) {
double r786733 = x;
double r786734 = y;
double r786735 = z;
double r786736 = r786734 + r786735;
double r786737 = r786733 * r786736;
double r786738 = 5.0;
double r786739 = r786735 * r786738;
double r786740 = r786737 + r786739;
return r786740;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
Final simplification0.1
herbie shell --seed 2019353
(FPCore (x y z)
:name "Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendOutside from plot-0.2.3.4, C"
:precision binary64
:herbie-target
(+ (* (+ x 5) z) (* x y))
(+ (* x (+ y z)) (* z 5)))