\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -4.5186598216349587 \cdot 10^{+49}:\\
\;\;\;\;\left|\frac{4 + x}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{elif}\;x \le 8.018719735392733 \cdot 10^{-129}:\\
\;\;\;\;\left|\frac{\left(4 + x\right) - z \cdot x}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\frac{x}{y} + \left(\frac{4}{y} - \frac{x}{\frac{y}{z}}\right)\right|\\
\end{array}double f(double x, double y, double z) {
double r1119363 = x;
double r1119364 = 4.0;
double r1119365 = r1119363 + r1119364;
double r1119366 = y;
double r1119367 = r1119365 / r1119366;
double r1119368 = r1119363 / r1119366;
double r1119369 = z;
double r1119370 = r1119368 * r1119369;
double r1119371 = r1119367 - r1119370;
double r1119372 = fabs(r1119371);
return r1119372;
}
double f(double x, double y, double z) {
double r1119373 = x;
double r1119374 = -4.5186598216349587e+49;
bool r1119375 = r1119373 <= r1119374;
double r1119376 = 4.0;
double r1119377 = r1119376 + r1119373;
double r1119378 = y;
double r1119379 = r1119377 / r1119378;
double r1119380 = z;
double r1119381 = r1119380 / r1119378;
double r1119382 = r1119373 * r1119381;
double r1119383 = r1119379 - r1119382;
double r1119384 = fabs(r1119383);
double r1119385 = 8.018719735392733e-129;
bool r1119386 = r1119373 <= r1119385;
double r1119387 = r1119380 * r1119373;
double r1119388 = r1119377 - r1119387;
double r1119389 = r1119388 / r1119378;
double r1119390 = fabs(r1119389);
double r1119391 = r1119373 / r1119378;
double r1119392 = r1119376 / r1119378;
double r1119393 = r1119378 / r1119380;
double r1119394 = r1119373 / r1119393;
double r1119395 = r1119392 - r1119394;
double r1119396 = r1119391 + r1119395;
double r1119397 = fabs(r1119396);
double r1119398 = r1119386 ? r1119390 : r1119397;
double r1119399 = r1119375 ? r1119384 : r1119398;
return r1119399;
}



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.0
Simplified1.0
Taylor expanded around 0 5.8
Simplified0.8
Final simplification0.4
herbie shell --seed 2019165
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))