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 r490616 = x;
double r490617 = y;
double r490618 = z;
double r490619 = t;
double r490620 = r490618 - r490619;
double r490621 = r490617 * r490620;
double r490622 = a;
double r490623 = r490622 - r490619;
double r490624 = r490621 / r490623;
double r490625 = r490616 + r490624;
return r490625;
}
double f(double x, double y, double z, double t, double a) {
double r490626 = x;
double r490627 = y;
double r490628 = a;
double r490629 = t;
double r490630 = r490628 - r490629;
double r490631 = z;
double r490632 = r490631 - r490629;
double r490633 = r490630 / r490632;
double r490634 = r490627 / r490633;
double r490635 = r490626 + r490634;
return r490635;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




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