\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\mathsf{fma}\left(\frac{x}{y}, 1 - z, \frac{4}{y}\right)\right|double f(double x, double y, double z) {
double r36184 = x;
double r36185 = 4.0;
double r36186 = r36184 + r36185;
double r36187 = y;
double r36188 = r36186 / r36187;
double r36189 = r36184 / r36187;
double r36190 = z;
double r36191 = r36189 * r36190;
double r36192 = r36188 - r36191;
double r36193 = fabs(r36192);
return r36193;
}
double f(double x, double y, double z) {
double r36194 = x;
double r36195 = y;
double r36196 = r36194 / r36195;
double r36197 = 1.0;
double r36198 = z;
double r36199 = r36197 - r36198;
double r36200 = 4.0;
double r36201 = r36200 / r36195;
double r36202 = fma(r36196, r36199, r36201);
double r36203 = fabs(r36202);
return r36203;
}



Bits error versus x



Bits error versus y



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