x + y \cdot \frac{z - t}{z - a}x + y \cdot \frac{z - t}{z - a}double f(double x, double y, double z, double t, double a) {
double r25994920 = x;
double r25994921 = y;
double r25994922 = z;
double r25994923 = t;
double r25994924 = r25994922 - r25994923;
double r25994925 = a;
double r25994926 = r25994922 - r25994925;
double r25994927 = r25994924 / r25994926;
double r25994928 = r25994921 * r25994927;
double r25994929 = r25994920 + r25994928;
return r25994929;
}
double f(double x, double y, double z, double t, double a) {
double r25994930 = x;
double r25994931 = y;
double r25994932 = z;
double r25994933 = t;
double r25994934 = r25994932 - r25994933;
double r25994935 = a;
double r25994936 = r25994932 - r25994935;
double r25994937 = r25994934 / r25994936;
double r25994938 = r25994931 * r25994937;
double r25994939 = r25994930 + r25994938;
return r25994939;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




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