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 r553679 = x;
double r553680 = y;
double r553681 = z;
double r553682 = r553680 + r553681;
double r553683 = r553679 * r553682;
double r553684 = 5.0;
double r553685 = r553681 * r553684;
double r553686 = r553683 + r553685;
return r553686;
}
double f(double x, double y, double z) {
double r553687 = x;
double r553688 = y;
double r553689 = z;
double r553690 = r553688 + r553689;
double r553691 = r553687 * r553690;
double r553692 = 5.0;
double r553693 = r553689 * r553692;
double r553694 = r553691 + r553693;
return r553694;
}




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 2020018
(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)))