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 r498998 = x;
double r498999 = y;
double r499000 = z;
double r499001 = t;
double r499002 = r499000 - r499001;
double r499003 = r498999 * r499002;
double r499004 = a;
double r499005 = r499000 - r499004;
double r499006 = r499003 / r499005;
double r499007 = r498998 + r499006;
return r499007;
}
double f(double x, double y, double z, double t, double a) {
double r499008 = x;
double r499009 = y;
double r499010 = z;
double r499011 = a;
double r499012 = r499010 - r499011;
double r499013 = t;
double r499014 = r499010 - r499013;
double r499015 = r499012 / r499014;
double r499016 = r499009 / r499015;
double r499017 = r499008 + r499016;
return r499017;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




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