\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right| \le 2046219022.6208431720733642578125:\\
\;\;\;\;\left|\frac{\left(x + 4\right) - x \cdot z}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\\
\end{array}double f(double x, double y, double z) {
double r14177 = x;
double r14178 = 4.0;
double r14179 = r14177 + r14178;
double r14180 = y;
double r14181 = r14179 / r14180;
double r14182 = r14177 / r14180;
double r14183 = z;
double r14184 = r14182 * r14183;
double r14185 = r14181 - r14184;
double r14186 = fabs(r14185);
return r14186;
}
double f(double x, double y, double z) {
double r14187 = x;
double r14188 = 4.0;
double r14189 = r14187 + r14188;
double r14190 = y;
double r14191 = r14189 / r14190;
double r14192 = r14187 / r14190;
double r14193 = z;
double r14194 = r14192 * r14193;
double r14195 = r14191 - r14194;
double r14196 = fabs(r14195);
double r14197 = 2046219022.6208432;
bool r14198 = r14196 <= r14197;
double r14199 = r14187 * r14193;
double r14200 = r14189 - r14199;
double r14201 = r14200 / r14190;
double r14202 = fabs(r14201);
double r14203 = r14198 ? r14202 : r14196;
return r14203;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if (fabs (- (/ (+ x 4.0) y) (* (/ x y) z))) < 2046219022.6208432Initial program 4.0
rmApplied associate-*l/0.1
Applied sub-div0.1
if 2046219022.6208432 < (fabs (- (/ (+ x 4.0) y) (* (/ x y) z))) Initial program 0.1
Final simplification0.1
herbie shell --seed 2019315
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))