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 r574995 = x;
double r574996 = y;
double r574997 = z;
double r574998 = t;
double r574999 = r574997 - r574998;
double r575000 = r574996 * r574999;
double r575001 = a;
double r575002 = r574997 - r575001;
double r575003 = r575000 / r575002;
double r575004 = r574995 + r575003;
return r575004;
}
double f(double x, double y, double z, double t, double a) {
double r575005 = x;
double r575006 = y;
double r575007 = z;
double r575008 = a;
double r575009 = r575007 - r575008;
double r575010 = t;
double r575011 = r575007 - r575010;
double r575012 = r575009 / r575011;
double r575013 = r575006 / r575012;
double r575014 = r575005 + r575013;
return r575014;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 10.7 |
|---|---|
| Target | 1.3 |
| Herbie | 1.3 |
Initial program 10.7
rmApplied associate-/l*1.3
Final simplification1.3
herbie shell --seed 2020024
(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))))