\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -1.09954904008270574 \cdot 10^{-121}:\\
\;\;\;\;\left|\frac{x + 4}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{elif}\;x \le 4360323.74267882574:\\
\;\;\;\;\left|\frac{x + 4}{y} - 1 \cdot \frac{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 r35157 = x;
double r35158 = 4.0;
double r35159 = r35157 + r35158;
double r35160 = y;
double r35161 = r35159 / r35160;
double r35162 = r35157 / r35160;
double r35163 = z;
double r35164 = r35162 * r35163;
double r35165 = r35161 - r35164;
double r35166 = fabs(r35165);
return r35166;
}
double f(double x, double y, double z) {
double r35167 = x;
double r35168 = -1.0995490400827057e-121;
bool r35169 = r35167 <= r35168;
double r35170 = 4.0;
double r35171 = r35167 + r35170;
double r35172 = y;
double r35173 = r35171 / r35172;
double r35174 = z;
double r35175 = r35174 / r35172;
double r35176 = r35167 * r35175;
double r35177 = r35173 - r35176;
double r35178 = fabs(r35177);
double r35179 = 4360323.742678826;
bool r35180 = r35167 <= r35179;
double r35181 = 1.0;
double r35182 = r35167 * r35174;
double r35183 = r35182 / r35172;
double r35184 = r35181 * r35183;
double r35185 = r35173 - r35184;
double r35186 = fabs(r35185);
double r35187 = r35167 / r35172;
double r35188 = r35187 * r35174;
double r35189 = r35173 - r35188;
double r35190 = fabs(r35189);
double r35191 = r35180 ? r35186 : r35190;
double r35192 = r35169 ? r35178 : r35191;
return r35192;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if x < -1.0995490400827057e-121Initial program 0.9
rmApplied div-inv0.9
Applied associate-*l*1.0
Simplified0.9
if -1.0995490400827057e-121 < x < 4360323.742678826Initial program 2.8
rmApplied add-cube-cbrt3.0
Applied *-un-lft-identity3.0
Applied times-frac3.0
Applied associate-*l*0.5
rmApplied *-un-lft-identity0.5
Applied associate-*l*0.5
Simplified0.1
if 4360323.742678826 < x Initial program 0.1
Final simplification0.3
herbie shell --seed 2020056 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))