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 r27296897 = x;
double r27296898 = y;
double r27296899 = z;
double r27296900 = t;
double r27296901 = r27296899 - r27296900;
double r27296902 = r27296898 * r27296901;
double r27296903 = a;
double r27296904 = r27296899 - r27296903;
double r27296905 = r27296902 / r27296904;
double r27296906 = r27296897 + r27296905;
return r27296906;
}
double f(double x, double y, double z, double t, double a) {
double r27296907 = x;
double r27296908 = y;
double r27296909 = z;
double r27296910 = a;
double r27296911 = r27296909 - r27296910;
double r27296912 = t;
double r27296913 = r27296909 - r27296912;
double r27296914 = r27296911 / r27296913;
double r27296915 = r27296908 / r27296914;
double r27296916 = r27296907 + r27296915;
return r27296916;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




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