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 r331428 = x;
double r331429 = y;
double r331430 = z;
double r331431 = r331429 + r331430;
double r331432 = r331428 * r331431;
double r331433 = 5.0;
double r331434 = r331430 * r331433;
double r331435 = r331432 + r331434;
return r331435;
}
double f(double x, double y, double z) {
double r331436 = x;
double r331437 = y;
double r331438 = z;
double r331439 = r331437 + r331438;
double r331440 = r331436 * r331439;
double r331441 = 5.0;
double r331442 = r331438 * r331441;
double r331443 = r331440 + r331442;
return r331443;
}




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