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 r631016 = x;
double r631017 = y;
double r631018 = z;
double r631019 = t;
double r631020 = r631018 - r631019;
double r631021 = r631017 * r631020;
double r631022 = a;
double r631023 = r631022 - r631019;
double r631024 = r631021 / r631023;
double r631025 = r631016 + r631024;
return r631025;
}
double f(double x, double y, double z, double t, double a) {
double r631026 = x;
double r631027 = y;
double r631028 = a;
double r631029 = t;
double r631030 = r631028 - r631029;
double r631031 = z;
double r631032 = r631031 - r631029;
double r631033 = r631030 / r631032;
double r631034 = r631027 / r631033;
double r631035 = r631026 + r631034;
return r631035;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




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