\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -5.323311533620367095344248379509361504445 \cdot 10^{50}:\\
\;\;\;\;\left|\frac{x + 4}{y} - \frac{x}{\frac{y}{z}}\right|\\
\mathbf{elif}\;x \le 4.452832877986661053171246749116107821465:\\
\;\;\;\;\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 r23424 = x;
double r23425 = 4.0;
double r23426 = r23424 + r23425;
double r23427 = y;
double r23428 = r23426 / r23427;
double r23429 = r23424 / r23427;
double r23430 = z;
double r23431 = r23429 * r23430;
double r23432 = r23428 - r23431;
double r23433 = fabs(r23432);
return r23433;
}
double f(double x, double y, double z) {
double r23434 = x;
double r23435 = -5.323311533620367e+50;
bool r23436 = r23434 <= r23435;
double r23437 = 4.0;
double r23438 = r23434 + r23437;
double r23439 = y;
double r23440 = r23438 / r23439;
double r23441 = z;
double r23442 = r23439 / r23441;
double r23443 = r23434 / r23442;
double r23444 = r23440 - r23443;
double r23445 = fabs(r23444);
double r23446 = 4.452832877986661;
bool r23447 = r23434 <= r23446;
double r23448 = r23434 * r23441;
double r23449 = r23438 - r23448;
double r23450 = r23449 / r23439;
double r23451 = fabs(r23450);
double r23452 = r23441 / r23439;
double r23453 = r23434 * r23452;
double r23454 = r23440 - r23453;
double r23455 = fabs(r23454);
double r23456 = r23447 ? r23451 : r23455;
double r23457 = r23436 ? r23445 : r23456;
return r23457;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -5.323311533620367e+50Initial program 0.1
rmApplied *-un-lft-identity0.1
Applied *-un-lft-identity0.1
Applied times-frac0.1
Applied associate-*l*0.1
Simplified0.1
if -5.323311533620367e+50 < x < 4.452832877986661Initial program 2.2
rmApplied associate-*l/0.1
Applied sub-div0.1
if 4.452832877986661 < x Initial program 0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2019212
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))