\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\left(\frac{x}{y} + \frac{4}{y}\right) - z \cdot \frac{x}{y}\right|double f(double x, double y, double z) {
double r444730 = x;
double r444731 = 4.0;
double r444732 = r444730 + r444731;
double r444733 = y;
double r444734 = r444732 / r444733;
double r444735 = r444730 / r444733;
double r444736 = z;
double r444737 = r444735 * r444736;
double r444738 = r444734 - r444737;
double r444739 = fabs(r444738);
return r444739;
}
double f(double x, double y, double z) {
double r444740 = x;
double r444741 = y;
double r444742 = r444740 / r444741;
double r444743 = 4.0;
double r444744 = r444743 / r444741;
double r444745 = r444742 + r444744;
double r444746 = z;
double r444747 = r444746 * r444742;
double r444748 = r444745 - r444747;
double r444749 = fabs(r444748);
return r444749;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 1.7
Taylor expanded around 0 1.7
Simplified1.7
Final simplification1.7
herbie shell --seed 2019153
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))