\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 r45742 = x;
double r45743 = 4.0;
double r45744 = r45742 + r45743;
double r45745 = y;
double r45746 = r45744 / r45745;
double r45747 = r45742 / r45745;
double r45748 = z;
double r45749 = r45747 * r45748;
double r45750 = r45746 - r45749;
double r45751 = fabs(r45750);
return r45751;
}
double f(double x, double y, double z) {
double r45752 = x;
double r45753 = y;
double r45754 = r45752 / r45753;
double r45755 = 1.0;
double r45756 = z;
double r45757 = r45755 - r45756;
double r45758 = 4.0;
double r45759 = r45758 / r45753;
double r45760 = fma(r45754, r45757, r45759);
double r45761 = fabs(r45760);
return r45761;
}



Bits error versus x



Bits error versus y



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