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 r438436 = x;
double r438437 = y;
double r438438 = z;
double r438439 = r438437 + r438438;
double r438440 = r438436 * r438439;
double r438441 = 5.0;
double r438442 = r438438 * r438441;
double r438443 = r438440 + r438442;
return r438443;
}
double f(double x, double y, double z) {
double r438444 = x;
double r438445 = y;
double r438446 = z;
double r438447 = r438445 + r438446;
double r438448 = r438444 * r438447;
double r438449 = 5.0;
double r438450 = r438446 * r438449;
double r438451 = r438448 + r438450;
return r438451;
}




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