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 r35771759 = x;
double r35771760 = y;
double r35771761 = z;
double r35771762 = t;
double r35771763 = r35771761 - r35771762;
double r35771764 = a;
double r35771765 = r35771761 - r35771764;
double r35771766 = r35771763 / r35771765;
double r35771767 = r35771760 * r35771766;
double r35771768 = r35771759 + r35771767;
return r35771768;
}
double f(double x, double y, double z, double t, double a) {
double r35771769 = x;
double r35771770 = y;
double r35771771 = z;
double r35771772 = t;
double r35771773 = r35771771 - r35771772;
double r35771774 = a;
double r35771775 = r35771771 - r35771774;
double r35771776 = r35771773 / r35771775;
double r35771777 = r35771770 * r35771776;
double r35771778 = r35771769 + r35771777;
return r35771778;
}




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 2019174 +o rules:numerics
(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)))))