\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 r33805 = x;
double r33806 = 4.0;
double r33807 = r33805 + r33806;
double r33808 = y;
double r33809 = r33807 / r33808;
double r33810 = r33805 / r33808;
double r33811 = z;
double r33812 = r33810 * r33811;
double r33813 = r33809 - r33812;
double r33814 = fabs(r33813);
return r33814;
}
double f(double x, double y, double z) {
double r33815 = x;
double r33816 = y;
double r33817 = r33815 / r33816;
double r33818 = 1.0;
double r33819 = z;
double r33820 = r33818 - r33819;
double r33821 = 4.0;
double r33822 = r33821 / r33816;
double r33823 = fma(r33817, r33820, r33822);
double r33824 = fabs(r33823);
return r33824;
}



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 2019325 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))