x + \frac{y \cdot \left(z - t\right)}{z - a}x + \frac{y}{\frac{z - a}{z - t}}double f(double x, double y, double z, double t, double a) {
double r28657401 = x;
double r28657402 = y;
double r28657403 = z;
double r28657404 = t;
double r28657405 = r28657403 - r28657404;
double r28657406 = r28657402 * r28657405;
double r28657407 = a;
double r28657408 = r28657403 - r28657407;
double r28657409 = r28657406 / r28657408;
double r28657410 = r28657401 + r28657409;
return r28657410;
}
double f(double x, double y, double z, double t, double a) {
double r28657411 = x;
double r28657412 = y;
double r28657413 = z;
double r28657414 = a;
double r28657415 = r28657413 - r28657414;
double r28657416 = t;
double r28657417 = r28657413 - r28657416;
double r28657418 = r28657415 / r28657417;
double r28657419 = r28657412 / r28657418;
double r28657420 = r28657411 + r28657419;
return r28657420;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




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