x + \frac{y \cdot \left(z - t\right)}{a - t}x + \frac{y}{\frac{a - t}{z - t}}double f(double x, double y, double z, double t, double a) {
double r575162 = x;
double r575163 = y;
double r575164 = z;
double r575165 = t;
double r575166 = r575164 - r575165;
double r575167 = r575163 * r575166;
double r575168 = a;
double r575169 = r575168 - r575165;
double r575170 = r575167 / r575169;
double r575171 = r575162 + r575170;
return r575171;
}
double f(double x, double y, double z, double t, double a) {
double r575172 = x;
double r575173 = y;
double r575174 = a;
double r575175 = t;
double r575176 = r575174 - r575175;
double r575177 = z;
double r575178 = r575177 - r575175;
double r575179 = r575176 / r575178;
double r575180 = r575173 / r575179;
double r575181 = r575172 + r575180;
return r575181;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




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