\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -1.2305355125827335 \cdot 10^{+35}:\\
\;\;\;\;\left|\left(\frac{4}{y} + \frac{x}{y}\right) - \frac{z}{y} \cdot x\right|\\
\mathbf{elif}\;x \le 8.399085920482073 \cdot 10^{+83}:\\
\;\;\;\;\left|\frac{4 + x}{y} - \frac{x \cdot z}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\left(\frac{4}{y} + \frac{x}{y}\right) - \frac{z}{y} \cdot x\right|\\
\end{array}double f(double x, double y, double z) {
double r1449443 = x;
double r1449444 = 4.0;
double r1449445 = r1449443 + r1449444;
double r1449446 = y;
double r1449447 = r1449445 / r1449446;
double r1449448 = r1449443 / r1449446;
double r1449449 = z;
double r1449450 = r1449448 * r1449449;
double r1449451 = r1449447 - r1449450;
double r1449452 = fabs(r1449451);
return r1449452;
}
double f(double x, double y, double z) {
double r1449453 = x;
double r1449454 = -1.2305355125827335e+35;
bool r1449455 = r1449453 <= r1449454;
double r1449456 = 4.0;
double r1449457 = y;
double r1449458 = r1449456 / r1449457;
double r1449459 = r1449453 / r1449457;
double r1449460 = r1449458 + r1449459;
double r1449461 = z;
double r1449462 = r1449461 / r1449457;
double r1449463 = r1449462 * r1449453;
double r1449464 = r1449460 - r1449463;
double r1449465 = fabs(r1449464);
double r1449466 = 8.399085920482073e+83;
bool r1449467 = r1449453 <= r1449466;
double r1449468 = r1449456 + r1449453;
double r1449469 = r1449468 / r1449457;
double r1449470 = r1449453 * r1449461;
double r1449471 = r1449470 / r1449457;
double r1449472 = r1449469 - r1449471;
double r1449473 = fabs(r1449472);
double r1449474 = r1449467 ? r1449473 : r1449465;
double r1449475 = r1449455 ? r1449465 : r1449474;
return r1449475;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -1.2305355125827335e+35 or 8.399085920482073e+83 < x Initial program 0.1
Taylor expanded around 0 11.1
Simplified0.1
if -1.2305355125827335e+35 < x < 8.399085920482073e+83Initial program 2.2
Taylor expanded around 0 0.4
Final simplification0.3
herbie shell --seed 2019121
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))