\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -1.38469845285193904 \cdot 10^{-17}:\\
\;\;\;\;\left|\frac{x + 4}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{elif}\;x \le 1.2452244086873697 \cdot 10^{-13}:\\
\;\;\;\;\left|\frac{\left(x + 4\right) - x \cdot z}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\frac{x}{y} \cdot \left(1 - z\right) + \frac{4}{y}\right|\\
\end{array}double f(double x, double y, double z) {
double r25934 = x;
double r25935 = 4.0;
double r25936 = r25934 + r25935;
double r25937 = y;
double r25938 = r25936 / r25937;
double r25939 = r25934 / r25937;
double r25940 = z;
double r25941 = r25939 * r25940;
double r25942 = r25938 - r25941;
double r25943 = fabs(r25942);
return r25943;
}
double f(double x, double y, double z) {
double r25944 = x;
double r25945 = -1.384698452851939e-17;
bool r25946 = r25944 <= r25945;
double r25947 = 4.0;
double r25948 = r25944 + r25947;
double r25949 = y;
double r25950 = r25948 / r25949;
double r25951 = z;
double r25952 = r25951 / r25949;
double r25953 = r25944 * r25952;
double r25954 = r25950 - r25953;
double r25955 = fabs(r25954);
double r25956 = 1.2452244086873697e-13;
bool r25957 = r25944 <= r25956;
double r25958 = r25944 * r25951;
double r25959 = r25948 - r25958;
double r25960 = r25959 / r25949;
double r25961 = fabs(r25960);
double r25962 = r25944 / r25949;
double r25963 = 1.0;
double r25964 = r25963 - r25951;
double r25965 = r25962 * r25964;
double r25966 = r25947 / r25949;
double r25967 = r25965 + r25966;
double r25968 = fabs(r25967);
double r25969 = r25957 ? r25961 : r25968;
double r25970 = r25946 ? r25955 : r25969;
return r25970;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -1.384698452851939e-17Initial program 0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.2
if -1.384698452851939e-17 < x < 1.2452244086873697e-13Initial program 2.7
rmApplied associate-*l/0.1
Applied sub-div0.1
if 1.2452244086873697e-13 < x Initial program 0.1
Taylor expanded around 0 7.7
Simplified0.1
Final simplification0.1
herbie shell --seed 2020047
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))