x + \frac{y \cdot \left(z - t\right)}{a - t}x + \frac{y}{\frac{a - t}{z - t}}double f(double x, double y, double z, double t, double a) {
double r40958629 = x;
double r40958630 = y;
double r40958631 = z;
double r40958632 = t;
double r40958633 = r40958631 - r40958632;
double r40958634 = r40958630 * r40958633;
double r40958635 = a;
double r40958636 = r40958635 - r40958632;
double r40958637 = r40958634 / r40958636;
double r40958638 = r40958629 + r40958637;
return r40958638;
}
double f(double x, double y, double z, double t, double a) {
double r40958639 = x;
double r40958640 = y;
double r40958641 = a;
double r40958642 = t;
double r40958643 = r40958641 - r40958642;
double r40958644 = z;
double r40958645 = r40958644 - r40958642;
double r40958646 = r40958643 / r40958645;
double r40958647 = r40958640 / r40958646;
double r40958648 = r40958639 + r40958647;
return r40958648;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 10.7 |
|---|---|
| Target | 1.2 |
| Herbie | 1.2 |
Initial program 10.7
rmApplied associate-/l*1.2
Final simplification1.2
herbie shell --seed 2019171
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTicks from plot-0.2.3.4, B"
:herbie-target
(+ x (/ y (/ (- a t) (- z t))))
(+ x (/ (* y (- z t)) (- a t))))