\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -1.999124164362740075741348219369766432845 \cdot 10^{-59}:\\
\;\;\;\;\left|\frac{x + 4}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{elif}\;x \le 8.845625549732625789022603988355496545354 \cdot 10^{-128}:\\
\;\;\;\;\left|\frac{\left(x + 4\right) - x \cdot z}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\frac{x + 4}{y} - x \cdot \frac{z}{y}\right|\\
\end{array}double f(double x, double y, double z) {
double r2904497 = x;
double r2904498 = 4.0;
double r2904499 = r2904497 + r2904498;
double r2904500 = y;
double r2904501 = r2904499 / r2904500;
double r2904502 = r2904497 / r2904500;
double r2904503 = z;
double r2904504 = r2904502 * r2904503;
double r2904505 = r2904501 - r2904504;
double r2904506 = fabs(r2904505);
return r2904506;
}
double f(double x, double y, double z) {
double r2904507 = x;
double r2904508 = -1.99912416436274e-59;
bool r2904509 = r2904507 <= r2904508;
double r2904510 = 4.0;
double r2904511 = r2904507 + r2904510;
double r2904512 = y;
double r2904513 = r2904511 / r2904512;
double r2904514 = z;
double r2904515 = r2904514 / r2904512;
double r2904516 = r2904507 * r2904515;
double r2904517 = r2904513 - r2904516;
double r2904518 = fabs(r2904517);
double r2904519 = 8.845625549732626e-128;
bool r2904520 = r2904507 <= r2904519;
double r2904521 = r2904507 * r2904514;
double r2904522 = r2904511 - r2904521;
double r2904523 = r2904522 / r2904512;
double r2904524 = fabs(r2904523);
double r2904525 = r2904520 ? r2904524 : r2904518;
double r2904526 = r2904509 ? r2904518 : r2904525;
return r2904526;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -1.99912416436274e-59 or 8.845625549732626e-128 < x Initial program 0.7
rmApplied div-inv0.7
Applied associate-*l*1.1
Simplified1.0
if -1.99912416436274e-59 < x < 8.845625549732626e-128Initial program 3.0
rmApplied associate-*l/0.1
Applied sub-div0.1
Final simplification0.6
herbie shell --seed 2019173
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4.0) y) (* (/ x y) z))))