x \cdot \left(y + z\right) + z \cdot 5
z \cdot 5 + \left(y + z\right) \cdot x
double f(double x, double y, double z) {
double r36509858 = x;
double r36509859 = y;
double r36509860 = z;
double r36509861 = r36509859 + r36509860;
double r36509862 = r36509858 * r36509861;
double r36509863 = 5.0;
double r36509864 = r36509860 * r36509863;
double r36509865 = r36509862 + r36509864;
return r36509865;
}
double f(double x, double y, double z) {
double r36509866 = z;
double r36509867 = 5.0;
double r36509868 = r36509866 * r36509867;
double r36509869 = y;
double r36509870 = r36509869 + r36509866;
double r36509871 = x;
double r36509872 = r36509870 * r36509871;
double r36509873 = r36509868 + r36509872;
return r36509873;
}




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 2019171
(FPCore (x y z)
:name "Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendOutside from plot-0.2.3.4, C"
:herbie-target
(+ (* (+ x 5.0) z) (* x y))
(+ (* x (+ y z)) (* z 5.0)))