\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -2.225256278246885 \cdot 10^{+40}:\\
\;\;\;\;\left|\frac{4 + x}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{elif}\;x \le 1.1828035466780113 \cdot 10^{+84}:\\
\;\;\;\;\left|\frac{\left(4 + x\right) - z \cdot x}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\left(\frac{4}{y} + \frac{x}{y}\right) - \frac{z}{\frac{y}{x}}\right|\\
\end{array}double f(double x, double y, double z) {
double r870158 = x;
double r870159 = 4.0;
double r870160 = r870158 + r870159;
double r870161 = y;
double r870162 = r870160 / r870161;
double r870163 = r870158 / r870161;
double r870164 = z;
double r870165 = r870163 * r870164;
double r870166 = r870162 - r870165;
double r870167 = fabs(r870166);
return r870167;
}
double f(double x, double y, double z) {
double r870168 = x;
double r870169 = -2.225256278246885e+40;
bool r870170 = r870168 <= r870169;
double r870171 = 4.0;
double r870172 = r870171 + r870168;
double r870173 = y;
double r870174 = r870172 / r870173;
double r870175 = z;
double r870176 = r870175 / r870173;
double r870177 = r870168 * r870176;
double r870178 = r870174 - r870177;
double r870179 = fabs(r870178);
double r870180 = 1.1828035466780113e+84;
bool r870181 = r870168 <= r870180;
double r870182 = r870175 * r870168;
double r870183 = r870172 - r870182;
double r870184 = r870183 / r870173;
double r870185 = fabs(r870184);
double r870186 = r870171 / r870173;
double r870187 = r870168 / r870173;
double r870188 = r870186 + r870187;
double r870189 = r870173 / r870168;
double r870190 = r870175 / r870189;
double r870191 = r870188 - r870190;
double r870192 = fabs(r870191);
double r870193 = r870181 ? r870185 : r870192;
double r870194 = r870170 ? r870179 : r870193;
return r870194;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -2.225256278246885e+40Initial program 0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.1
if -2.225256278246885e+40 < x < 1.1828035466780113e+84Initial program 2.2
rmApplied div-inv2.3
Applied associate-*l*4.5
Simplified4.5
rmApplied associate-*r/0.3
Applied sub-div0.3
if 1.1828035466780113e+84 < x Initial program 0.1
rmApplied div-inv0.2
Applied associate-*l*0.2
Simplified0.1
Taylor expanded around inf 13.2
Simplified0.1
Final simplification0.2
herbie shell --seed 2019138
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))