x + \frac{y \cdot \left(z - t\right)}{a - t}x + \frac{y}{\frac{a}{z - t} - \frac{t}{z - t}}double f(double x, double y, double z, double t, double a) {
double r568286 = x;
double r568287 = y;
double r568288 = z;
double r568289 = t;
double r568290 = r568288 - r568289;
double r568291 = r568287 * r568290;
double r568292 = a;
double r568293 = r568292 - r568289;
double r568294 = r568291 / r568293;
double r568295 = r568286 + r568294;
return r568295;
}
double f(double x, double y, double z, double t, double a) {
double r568296 = x;
double r568297 = y;
double r568298 = a;
double r568299 = z;
double r568300 = t;
double r568301 = r568299 - r568300;
double r568302 = r568298 / r568301;
double r568303 = r568300 / r568301;
double r568304 = r568302 - r568303;
double r568305 = r568297 / r568304;
double r568306 = r568296 + r568305;
return r568306;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 10.8 |
|---|---|
| Target | 1.2 |
| Herbie | 1.2 |
Initial program 10.8
rmApplied associate-/l*1.2
rmApplied div-sub1.2
Final simplification1.2
herbie shell --seed 2020018
(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))))