\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 r29672 = x;
double r29673 = 4.0;
double r29674 = r29672 + r29673;
double r29675 = y;
double r29676 = r29674 / r29675;
double r29677 = r29672 / r29675;
double r29678 = z;
double r29679 = r29677 * r29678;
double r29680 = r29676 - r29679;
double r29681 = fabs(r29680);
return r29681;
}
double f(double x, double y, double z) {
double r29682 = 4.0;
double r29683 = 1.0;
double r29684 = y;
double r29685 = r29683 / r29684;
double r29686 = x;
double r29687 = r29686 / r29684;
double r29688 = fma(r29682, r29685, r29687);
double r29689 = z;
double r29690 = r29687 * r29689;
double r29691 = r29688 - r29690;
double r29692 = fabs(r29691);
return r29692;
}



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