x - \frac{y - z}{\frac{\left(t - z\right) + 1}{a}}x - \frac{y - z}{\left(t - z\right) + 1} \cdot adouble f(double x, double y, double z, double t, double a) {
double r356157 = x;
double r356158 = y;
double r356159 = z;
double r356160 = r356158 - r356159;
double r356161 = t;
double r356162 = r356161 - r356159;
double r356163 = 1.0;
double r356164 = r356162 + r356163;
double r356165 = a;
double r356166 = r356164 / r356165;
double r356167 = r356160 / r356166;
double r356168 = r356157 - r356167;
return r356168;
}
double f(double x, double y, double z, double t, double a) {
double r356169 = x;
double r356170 = y;
double r356171 = z;
double r356172 = r356170 - r356171;
double r356173 = t;
double r356174 = r356173 - r356171;
double r356175 = 1.0;
double r356176 = r356174 + r356175;
double r356177 = r356172 / r356176;
double r356178 = a;
double r356179 = r356177 * r356178;
double r356180 = r356169 - r356179;
return r356180;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 2.0 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 2.0
rmApplied associate-/r/0.3
Final simplification0.3
herbie shell --seed 2019323
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.SparkLine:renderSparkLine from Chart-1.5.3"
:precision binary64
:herbie-target
(- x (* (/ (- y z) (+ (- t z) 1)) a))
(- x (/ (- y z) (/ (+ (- t z) 1) a))))