\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;y \le -6.123189090912366160804526572354602418751 \cdot 10^{161}:\\
\;\;\;\;\left|\frac{x + 4}{y} - \frac{x}{\frac{y}{z}}\right|\\
\mathbf{elif}\;y \le 5.600885815035954071116474607611908162649 \cdot 10^{83}:\\
\;\;\;\;\left|\frac{\left(x + 4\right) - z \cdot x}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\frac{x + 4}{y} - \frac{x}{\frac{y}{z}}\right|\\
\end{array}double f(double x, double y, double z) {
double r1920653 = x;
double r1920654 = 4.0;
double r1920655 = r1920653 + r1920654;
double r1920656 = y;
double r1920657 = r1920655 / r1920656;
double r1920658 = r1920653 / r1920656;
double r1920659 = z;
double r1920660 = r1920658 * r1920659;
double r1920661 = r1920657 - r1920660;
double r1920662 = fabs(r1920661);
return r1920662;
}
double f(double x, double y, double z) {
double r1920663 = y;
double r1920664 = -6.123189090912366e+161;
bool r1920665 = r1920663 <= r1920664;
double r1920666 = x;
double r1920667 = 4.0;
double r1920668 = r1920666 + r1920667;
double r1920669 = r1920668 / r1920663;
double r1920670 = z;
double r1920671 = r1920663 / r1920670;
double r1920672 = r1920666 / r1920671;
double r1920673 = r1920669 - r1920672;
double r1920674 = fabs(r1920673);
double r1920675 = 5.600885815035954e+83;
bool r1920676 = r1920663 <= r1920675;
double r1920677 = r1920670 * r1920666;
double r1920678 = r1920668 - r1920677;
double r1920679 = r1920678 / r1920663;
double r1920680 = fabs(r1920679);
double r1920681 = r1920676 ? r1920680 : r1920674;
double r1920682 = r1920665 ? r1920674 : r1920681;
return r1920682;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if y < -6.123189090912366e+161 or 5.600885815035954e+83 < y Initial program 4.0
rmApplied *-un-lft-identity4.0
Applied add-cube-cbrt4.4
Applied times-frac4.4
Applied associate-*l*1.7
rmApplied *-un-lft-identity1.7
Applied associate-*l*1.7
Simplified0.1
if -6.123189090912366e+161 < y < 5.600885815035954e+83Initial program 0.3
rmApplied associate-*l/1.2
Applied sub-div1.2
Final simplification0.8
herbie shell --seed 2019170
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4.0) y) (* (/ x y) z))))