x + y \cdot \frac{z - t}{z - a}x + y \cdot \frac{z - t}{z - a}double f(double x, double y, double z, double t, double a) {
double r32241077 = x;
double r32241078 = y;
double r32241079 = z;
double r32241080 = t;
double r32241081 = r32241079 - r32241080;
double r32241082 = a;
double r32241083 = r32241079 - r32241082;
double r32241084 = r32241081 / r32241083;
double r32241085 = r32241078 * r32241084;
double r32241086 = r32241077 + r32241085;
return r32241086;
}
double f(double x, double y, double z, double t, double a) {
double r32241087 = x;
double r32241088 = y;
double r32241089 = z;
double r32241090 = t;
double r32241091 = r32241089 - r32241090;
double r32241092 = a;
double r32241093 = r32241089 - r32241092;
double r32241094 = r32241091 / r32241093;
double r32241095 = r32241088 * r32241094;
double r32241096 = r32241087 + r32241095;
return r32241096;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 1.3 |
|---|---|
| Target | 1.1 |
| Herbie | 1.3 |
Initial program 1.3
Final simplification1.3
herbie shell --seed 2019162
(FPCore (x y z t a)
:name "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisLine from plot-0.2.3.4, A"
:herbie-target
(+ x (/ y (/ (- z a) (- z t))))
(+ x (* y (/ (- z t) (- z a)))))