x + \frac{y \cdot \left(z - t\right)}{a - t}x + y \cdot \frac{z - t}{a - t}double f(double x, double y, double z, double t, double a) {
double r358571 = x;
double r358572 = y;
double r358573 = z;
double r358574 = t;
double r358575 = r358573 - r358574;
double r358576 = r358572 * r358575;
double r358577 = a;
double r358578 = r358577 - r358574;
double r358579 = r358576 / r358578;
double r358580 = r358571 + r358579;
return r358580;
}
double f(double x, double y, double z, double t, double a) {
double r358581 = x;
double r358582 = y;
double r358583 = z;
double r358584 = t;
double r358585 = r358583 - r358584;
double r358586 = a;
double r358587 = r358586 - r358584;
double r358588 = r358585 / r358587;
double r358589 = r358582 * r358588;
double r358590 = r358581 + r358589;
return r358590;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 10.4 |
|---|---|
| Target | 1.1 |
| Herbie | 1.2 |
Initial program 10.4
rmApplied *-un-lft-identity10.4
Applied times-frac1.2
Simplified1.2
Final simplification1.2
herbie shell --seed 2019304
(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))))