\left|\frac{x + 4.0}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -4.5186598216349587 \cdot 10^{+49}:\\
\;\;\;\;\left|\frac{4.0 + x}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{elif}\;x \le 8.018719735392733 \cdot 10^{-129}:\\
\;\;\;\;\left|\frac{\left(4.0 + x\right) - z \cdot x}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\frac{x}{y} + \left(\frac{4.0}{y} - \frac{x}{\frac{y}{z}}\right)\right|\\
\end{array}double f(double x, double y, double z) {
double r1171712 = x;
double r1171713 = 4.0;
double r1171714 = r1171712 + r1171713;
double r1171715 = y;
double r1171716 = r1171714 / r1171715;
double r1171717 = r1171712 / r1171715;
double r1171718 = z;
double r1171719 = r1171717 * r1171718;
double r1171720 = r1171716 - r1171719;
double r1171721 = fabs(r1171720);
return r1171721;
}
double f(double x, double y, double z) {
double r1171722 = x;
double r1171723 = -4.5186598216349587e+49;
bool r1171724 = r1171722 <= r1171723;
double r1171725 = 4.0;
double r1171726 = r1171725 + r1171722;
double r1171727 = y;
double r1171728 = r1171726 / r1171727;
double r1171729 = z;
double r1171730 = r1171729 / r1171727;
double r1171731 = r1171722 * r1171730;
double r1171732 = r1171728 - r1171731;
double r1171733 = fabs(r1171732);
double r1171734 = 8.018719735392733e-129;
bool r1171735 = r1171722 <= r1171734;
double r1171736 = r1171729 * r1171722;
double r1171737 = r1171726 - r1171736;
double r1171738 = r1171737 / r1171727;
double r1171739 = fabs(r1171738);
double r1171740 = r1171722 / r1171727;
double r1171741 = r1171725 / r1171727;
double r1171742 = r1171727 / r1171729;
double r1171743 = r1171722 / r1171742;
double r1171744 = r1171741 - r1171743;
double r1171745 = r1171740 + r1171744;
double r1171746 = fabs(r1171745);
double r1171747 = r1171735 ? r1171739 : r1171746;
double r1171748 = r1171724 ? r1171733 : r1171747;
return r1171748;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -4.5186598216349587e+49Initial program 0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.1
if -4.5186598216349587e+49 < x < 8.018719735392733e-129Initial program 2.4
rmApplied associate-*l/0.2
Applied sub-div0.2
if 8.018719735392733e-129 < x Initial program 0.9
rmApplied div-inv1.0
Applied associate-*l*1.1
Simplified1.0
Taylor expanded around 0 6.1
Simplified0.9
Final simplification0.4
herbie shell --seed 2019165
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4.0) y) (* (/ x y) z))))