x + y \cdot \frac{z - t}{z - a}\frac{y}{\frac{z - a}{z - t}} + xdouble f(double x, double y, double z, double t, double a) {
double r684410 = x;
double r684411 = y;
double r684412 = z;
double r684413 = t;
double r684414 = r684412 - r684413;
double r684415 = a;
double r684416 = r684412 - r684415;
double r684417 = r684414 / r684416;
double r684418 = r684411 * r684417;
double r684419 = r684410 + r684418;
return r684419;
}
double f(double x, double y, double z, double t, double a) {
double r684420 = y;
double r684421 = z;
double r684422 = a;
double r684423 = r684421 - r684422;
double r684424 = t;
double r684425 = r684421 - r684424;
double r684426 = r684423 / r684425;
double r684427 = r684420 / r684426;
double r684428 = x;
double r684429 = r684427 + r684428;
return r684429;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 1.2 |
|---|---|
| Target | 1.1 |
| Herbie | 1.1 |
Initial program 1.2
rmApplied clear-num1.2
rmApplied pow11.2
Applied pow11.2
Applied pow-prod-down1.2
Simplified1.1
Final simplification1.1
herbie shell --seed 2020020
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisLine from plot-0.2.3.4, A"
:precision binary64
:herbie-target
(+ x (/ y (/ (- z a) (- z t))))
(+ x (* y (/ (- z t) (- z a)))))