\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -4.429102782305307 \cdot 10^{+43}:\\
\;\;\;\;\left|\frac{4 + x}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{elif}\;x \le 1.4338863214513387 \cdot 10^{-10}:\\
\;\;\;\;\left|\frac{\left(4 + x\right) - z \cdot x}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\frac{4 + x}{y} - x \cdot \frac{z}{y}\right|\\
\end{array}double f(double x, double y, double z) {
double r2404138 = x;
double r2404139 = 4.0;
double r2404140 = r2404138 + r2404139;
double r2404141 = y;
double r2404142 = r2404140 / r2404141;
double r2404143 = r2404138 / r2404141;
double r2404144 = z;
double r2404145 = r2404143 * r2404144;
double r2404146 = r2404142 - r2404145;
double r2404147 = fabs(r2404146);
return r2404147;
}
double f(double x, double y, double z) {
double r2404148 = x;
double r2404149 = -4.429102782305307e+43;
bool r2404150 = r2404148 <= r2404149;
double r2404151 = 4.0;
double r2404152 = r2404151 + r2404148;
double r2404153 = y;
double r2404154 = r2404152 / r2404153;
double r2404155 = z;
double r2404156 = r2404155 / r2404153;
double r2404157 = r2404148 * r2404156;
double r2404158 = r2404154 - r2404157;
double r2404159 = fabs(r2404158);
double r2404160 = 1.4338863214513387e-10;
bool r2404161 = r2404148 <= r2404160;
double r2404162 = r2404155 * r2404148;
double r2404163 = r2404152 - r2404162;
double r2404164 = r2404163 / r2404153;
double r2404165 = fabs(r2404164);
double r2404166 = r2404161 ? r2404165 : r2404159;
double r2404167 = r2404150 ? r2404159 : r2404166;
return r2404167;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -4.429102782305307e+43 or 1.4338863214513387e-10 < x Initial program 0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.1
if -4.429102782305307e+43 < x < 1.4338863214513387e-10Initial program 2.4
rmApplied associate-*l/0.1
Applied sub-div0.1
Final simplification0.1
herbie shell --seed 2019125 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))