x + \frac{y \cdot \left(z - t\right)}{z - a}x + \frac{y}{\frac{z}{z - t} - \frac{a}{z - t}}double f(double x, double y, double z, double t, double a) {
double r472321 = x;
double r472322 = y;
double r472323 = z;
double r472324 = t;
double r472325 = r472323 - r472324;
double r472326 = r472322 * r472325;
double r472327 = a;
double r472328 = r472323 - r472327;
double r472329 = r472326 / r472328;
double r472330 = r472321 + r472329;
return r472330;
}
double f(double x, double y, double z, double t, double a) {
double r472331 = x;
double r472332 = y;
double r472333 = z;
double r472334 = t;
double r472335 = r472333 - r472334;
double r472336 = r472333 / r472335;
double r472337 = a;
double r472338 = r472337 / r472335;
double r472339 = r472336 - r472338;
double r472340 = r472332 / r472339;
double r472341 = r472331 + r472340;
return r472341;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




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