\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -16246640829.1726360321044921875:\\
\;\;\;\;\left|\left(\frac{4}{y} + \frac{x}{y}\right) - \frac{x}{y} \cdot z\right|\\
\mathbf{elif}\;x \le 6.465235870316558323202068264318582009221 \cdot 10^{-120}:\\
\;\;\;\;\left|\frac{\left(4 + x\right) - x \cdot z}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\left(\frac{4}{y} + \frac{x}{y}\right) - \frac{x}{\frac{y}{z}}\right|\\
\end{array}double f(double x, double y, double z) {
double r1675362 = x;
double r1675363 = 4.0;
double r1675364 = r1675362 + r1675363;
double r1675365 = y;
double r1675366 = r1675364 / r1675365;
double r1675367 = r1675362 / r1675365;
double r1675368 = z;
double r1675369 = r1675367 * r1675368;
double r1675370 = r1675366 - r1675369;
double r1675371 = fabs(r1675370);
return r1675371;
}
double f(double x, double y, double z) {
double r1675372 = x;
double r1675373 = -16246640829.172636;
bool r1675374 = r1675372 <= r1675373;
double r1675375 = 4.0;
double r1675376 = y;
double r1675377 = r1675375 / r1675376;
double r1675378 = r1675372 / r1675376;
double r1675379 = r1675377 + r1675378;
double r1675380 = z;
double r1675381 = r1675378 * r1675380;
double r1675382 = r1675379 - r1675381;
double r1675383 = fabs(r1675382);
double r1675384 = 6.465235870316558e-120;
bool r1675385 = r1675372 <= r1675384;
double r1675386 = r1675375 + r1675372;
double r1675387 = r1675372 * r1675380;
double r1675388 = r1675386 - r1675387;
double r1675389 = r1675388 / r1675376;
double r1675390 = fabs(r1675389);
double r1675391 = r1675376 / r1675380;
double r1675392 = r1675372 / r1675391;
double r1675393 = r1675379 - r1675392;
double r1675394 = fabs(r1675393);
double r1675395 = r1675385 ? r1675390 : r1675394;
double r1675396 = r1675374 ? r1675383 : r1675395;
return r1675396;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -16246640829.172636Initial program 0.1
Taylor expanded around 0 0.1
Simplified0.1
if -16246640829.172636 < x < 6.465235870316558e-120Initial program 2.6
rmApplied associate-*l/0.1
Applied sub-div0.1
if 6.465235870316558e-120 < x Initial program 0.7
Taylor expanded around 0 0.7
Simplified0.7
rmApplied add-cube-cbrt1.0
Applied associate-*r*1.0
rmApplied pow11.0
Applied pow11.0
Applied pow11.0
Applied pow-prod-down1.0
Applied pow11.0
Applied pow-prod-down1.0
Applied pow-prod-down1.0
Simplified1.1
Final simplification0.4
herbie shell --seed 2019172
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4.0) y) (* (/ x y) z))))