\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 r452212 = x;
double r452213 = 4.0;
double r452214 = r452212 + r452213;
double r452215 = y;
double r452216 = r452214 / r452215;
double r452217 = r452212 / r452215;
double r452218 = z;
double r452219 = r452217 * r452218;
double r452220 = r452216 - r452219;
double r452221 = fabs(r452220);
return r452221;
}
double f(double x, double y, double z) {
double r452222 = x;
double r452223 = y;
double r452224 = r452222 / r452223;
double r452225 = 4.0;
double r452226 = r452225 / r452223;
double r452227 = r452224 + r452226;
double r452228 = z;
double r452229 = r452228 * r452224;
double r452230 = r452227 - r452229;
double r452231 = fabs(r452230);
return r452231;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 1.7
Taylor expanded around inf 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))))