x + y \cdot \frac{z - t}{z - a}x + \frac{y}{\frac{z - a}{z - t}}double f(double x, double y, double z, double t, double a) {
double r28305098 = x;
double r28305099 = y;
double r28305100 = z;
double r28305101 = t;
double r28305102 = r28305100 - r28305101;
double r28305103 = a;
double r28305104 = r28305100 - r28305103;
double r28305105 = r28305102 / r28305104;
double r28305106 = r28305099 * r28305105;
double r28305107 = r28305098 + r28305106;
return r28305107;
}
double f(double x, double y, double z, double t, double a) {
double r28305108 = x;
double r28305109 = y;
double r28305110 = z;
double r28305111 = a;
double r28305112 = r28305110 - r28305111;
double r28305113 = t;
double r28305114 = r28305110 - r28305113;
double r28305115 = r28305112 / r28305114;
double r28305116 = r28305109 / r28305115;
double r28305117 = r28305108 + r28305116;
return r28305117;
}




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.2 |
| Herbie | 1.2 |
Initial program 1.3
rmApplied clear-num1.3
rmApplied un-div-inv1.2
Final simplification1.2
herbie shell --seed 2019165
(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)))))