\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -6.802828374588185734214273309161669089917 \cdot 10^{-6}:\\
\;\;\;\;\left|\frac{4 + x}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{elif}\;x \le 1.911097105881180336510542685795471779445 \cdot 10^{-21}:\\
\;\;\;\;\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 r1105875 = x;
double r1105876 = 4.0;
double r1105877 = r1105875 + r1105876;
double r1105878 = y;
double r1105879 = r1105877 / r1105878;
double r1105880 = r1105875 / r1105878;
double r1105881 = z;
double r1105882 = r1105880 * r1105881;
double r1105883 = r1105879 - r1105882;
double r1105884 = fabs(r1105883);
return r1105884;
}
double f(double x, double y, double z) {
double r1105885 = x;
double r1105886 = -6.802828374588186e-06;
bool r1105887 = r1105885 <= r1105886;
double r1105888 = 4.0;
double r1105889 = r1105888 + r1105885;
double r1105890 = y;
double r1105891 = r1105889 / r1105890;
double r1105892 = z;
double r1105893 = r1105892 / r1105890;
double r1105894 = r1105885 * r1105893;
double r1105895 = r1105891 - r1105894;
double r1105896 = fabs(r1105895);
double r1105897 = 1.9110971058811803e-21;
bool r1105898 = r1105885 <= r1105897;
double r1105899 = r1105892 * r1105885;
double r1105900 = r1105889 - r1105899;
double r1105901 = r1105900 / r1105890;
double r1105902 = fabs(r1105901);
double r1105903 = r1105885 / r1105890;
double r1105904 = r1105888 / r1105890;
double r1105905 = r1105890 / r1105892;
double r1105906 = r1105885 / r1105905;
double r1105907 = r1105904 - r1105906;
double r1105908 = r1105903 + r1105907;
double r1105909 = fabs(r1105908);
double r1105910 = r1105898 ? r1105902 : r1105909;
double r1105911 = r1105887 ? r1105896 : r1105910;
return r1105911;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -6.802828374588186e-06Initial program 0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.1
if -6.802828374588186e-06 < x < 1.9110971058811803e-21Initial program 2.8
rmApplied associate-*l/0.1
Applied sub-div0.1
if 1.9110971058811803e-21 < x Initial program 0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.2
Taylor expanded around 0 7.7
Simplified0.1
Final simplification0.1
herbie shell --seed 2019168
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4.0) y) (* (/ x y) z))))