\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -71921344804687528:\\
\;\;\;\;\left|\frac{x + 4}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{elif}\;x \le 9.36037578809800899 \cdot 10^{-141}:\\
\;\;\;\;\left|\frac{\left(x + 4\right) - x \cdot z}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\mathsf{fma}\left(x + 4, \frac{1}{y}, -\frac{x}{y} \cdot z\right)\right|\\
\end{array}double f(double x, double y, double z) {
double r35623 = x;
double r35624 = 4.0;
double r35625 = r35623 + r35624;
double r35626 = y;
double r35627 = r35625 / r35626;
double r35628 = r35623 / r35626;
double r35629 = z;
double r35630 = r35628 * r35629;
double r35631 = r35627 - r35630;
double r35632 = fabs(r35631);
return r35632;
}
double f(double x, double y, double z) {
double r35633 = x;
double r35634 = -7.192134480468753e+16;
bool r35635 = r35633 <= r35634;
double r35636 = 4.0;
double r35637 = r35633 + r35636;
double r35638 = y;
double r35639 = r35637 / r35638;
double r35640 = z;
double r35641 = r35640 / r35638;
double r35642 = r35633 * r35641;
double r35643 = r35639 - r35642;
double r35644 = fabs(r35643);
double r35645 = 9.360375788098009e-141;
bool r35646 = r35633 <= r35645;
double r35647 = r35633 * r35640;
double r35648 = r35637 - r35647;
double r35649 = r35648 / r35638;
double r35650 = fabs(r35649);
double r35651 = 1.0;
double r35652 = r35651 / r35638;
double r35653 = r35633 / r35638;
double r35654 = r35653 * r35640;
double r35655 = -r35654;
double r35656 = fma(r35637, r35652, r35655);
double r35657 = fabs(r35656);
double r35658 = r35646 ? r35650 : r35657;
double r35659 = r35635 ? r35644 : r35658;
return r35659;
}



Bits error versus x



Bits error versus y



Bits error versus z
if x < -7.192134480468753e+16Initial program 0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.1
if -7.192134480468753e+16 < x < 9.360375788098009e-141Initial program 2.5
rmApplied associate-*l/0.1
Applied sub-div0.1
if 9.360375788098009e-141 < x Initial program 1.3
rmApplied div-inv1.3
Applied fma-neg1.3
Final simplification0.5
herbie shell --seed 2020049 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))