\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;\left|\frac{4 + x}{y} - \frac{x}{y} \cdot z\right| \le 1.9019857839603548 \cdot 10^{-49}:\\
\;\;\;\;\left|\frac{4 + x}{y} - \frac{z}{y} \cdot x\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\frac{4 + x}{y} - \frac{x}{y} \cdot z\right|\\
\end{array}double f(double x, double y, double z) {
double r943402 = x;
double r943403 = 4.0;
double r943404 = r943402 + r943403;
double r943405 = y;
double r943406 = r943404 / r943405;
double r943407 = r943402 / r943405;
double r943408 = z;
double r943409 = r943407 * r943408;
double r943410 = r943406 - r943409;
double r943411 = fabs(r943410);
return r943411;
}
double f(double x, double y, double z) {
double r943412 = 4.0;
double r943413 = x;
double r943414 = r943412 + r943413;
double r943415 = y;
double r943416 = r943414 / r943415;
double r943417 = r943413 / r943415;
double r943418 = z;
double r943419 = r943417 * r943418;
double r943420 = r943416 - r943419;
double r943421 = fabs(r943420);
double r943422 = 1.9019857839603548e-49;
bool r943423 = r943421 <= r943422;
double r943424 = r943418 / r943415;
double r943425 = r943424 * r943413;
double r943426 = r943416 - r943425;
double r943427 = fabs(r943426);
double r943428 = r943423 ? r943427 : r943421;
return r943428;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if (fabs (- (/ (+ x 4) y) (* (/ x y) z))) < 1.9019857839603548e-49Initial program 5.0
rmApplied div-inv5.1
Applied associate-*l*0.1
Simplified0.1
if 1.9019857839603548e-49 < (fabs (- (/ (+ x 4) y) (* (/ x y) z))) Initial program 0.1
Final simplification0.1
herbie shell --seed 2019168
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))