\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\mathsf{fma}\left(4, \frac{1}{y}, \frac{x}{y}\right) - \frac{x}{y} \cdot z\right|double f(double x, double y, double z) {
double r30268 = x;
double r30269 = 4.0;
double r30270 = r30268 + r30269;
double r30271 = y;
double r30272 = r30270 / r30271;
double r30273 = r30268 / r30271;
double r30274 = z;
double r30275 = r30273 * r30274;
double r30276 = r30272 - r30275;
double r30277 = fabs(r30276);
return r30277;
}
double f(double x, double y, double z) {
double r30278 = 4.0;
double r30279 = 1.0;
double r30280 = y;
double r30281 = r30279 / r30280;
double r30282 = x;
double r30283 = r30282 / r30280;
double r30284 = fma(r30278, r30281, r30283);
double r30285 = z;
double r30286 = r30283 * r30285;
double r30287 = r30284 - r30286;
double r30288 = fabs(r30287);
return r30288;
}



Bits error versus x



Bits error versus y



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