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 r358148 = x;
double r358149 = y;
double r358150 = z;
double r358151 = r358149 + r358150;
double r358152 = r358148 * r358151;
double r358153 = 5.0;
double r358154 = r358150 * r358153;
double r358155 = r358152 + r358154;
return r358155;
}
double f(double x, double y, double z) {
double r358156 = x;
double r358157 = y;
double r358158 = z;
double r358159 = r358157 + r358158;
double r358160 = r358156 * r358159;
double r358161 = 5.0;
double r358162 = r358158 * r358161;
double r358163 = r358160 + r358162;
return r358163;
}




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