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 r536835 = x;
double r536836 = y;
double r536837 = z;
double r536838 = t;
double r536839 = r536837 - r536838;
double r536840 = r536836 * r536839;
double r536841 = a;
double r536842 = r536837 - r536841;
double r536843 = r536840 / r536842;
double r536844 = r536835 + r536843;
return r536844;
}
double f(double x, double y, double z, double t, double a) {
double r536845 = x;
double r536846 = y;
double r536847 = z;
double r536848 = a;
double r536849 = r536847 - r536848;
double r536850 = t;
double r536851 = r536847 - r536850;
double r536852 = r536849 / r536851;
double r536853 = r536846 / r536852;
double r536854 = r536845 + r536853;
return r536854;
}




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.3 |
| Herbie | 1.3 |
Initial program 10.8
rmApplied associate-/l*1.3
Final simplification1.3
herbie shell --seed 2020036 +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))))