\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;y \le -5.4332739855837574 \cdot 10^{73}:\\
\;\;\;\;\left|\left(\frac{x}{y} + \frac{4}{y}\right) - \frac{x}{\frac{y}{z}}\right|\\
\mathbf{elif}\;y \le 1.4318648069754203 \cdot 10^{-23}:\\
\;\;\;\;\left|\frac{x + 4}{y} - \frac{x \cdot z}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\left(\frac{x}{y} + \frac{4}{y}\right) - x \cdot \frac{z}{y}\right|\\
\end{array}double f(double x, double y, double z) {
double r24219 = x;
double r24220 = 4.0;
double r24221 = r24219 + r24220;
double r24222 = y;
double r24223 = r24221 / r24222;
double r24224 = r24219 / r24222;
double r24225 = z;
double r24226 = r24224 * r24225;
double r24227 = r24223 - r24226;
double r24228 = fabs(r24227);
return r24228;
}
double f(double x, double y, double z) {
double r24229 = y;
double r24230 = -5.4332739855837574e+73;
bool r24231 = r24229 <= r24230;
double r24232 = x;
double r24233 = r24232 / r24229;
double r24234 = 4.0;
double r24235 = r24234 / r24229;
double r24236 = r24233 + r24235;
double r24237 = z;
double r24238 = r24229 / r24237;
double r24239 = r24232 / r24238;
double r24240 = r24236 - r24239;
double r24241 = fabs(r24240);
double r24242 = 1.4318648069754203e-23;
bool r24243 = r24229 <= r24242;
double r24244 = r24232 + r24234;
double r24245 = r24244 / r24229;
double r24246 = r24232 * r24237;
double r24247 = r24246 / r24229;
double r24248 = r24245 - r24247;
double r24249 = fabs(r24248);
double r24250 = r24237 / r24229;
double r24251 = r24232 * r24250;
double r24252 = r24236 - r24251;
double r24253 = fabs(r24252);
double r24254 = r24243 ? r24249 : r24253;
double r24255 = r24231 ? r24241 : r24254;
return r24255;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if y < -5.4332739855837574e+73Initial program 3.7
Taylor expanded around 0 3.7
Simplified3.7
rmApplied pow13.7
Applied pow13.7
Applied pow-prod-down3.7
Simplified0.1
if -5.4332739855837574e+73 < y < 1.4318648069754203e-23Initial program 0.1
rmApplied associate-*l/0.2
if 1.4318648069754203e-23 < y Initial program 2.1
Taylor expanded around 0 2.1
Simplified2.1
rmApplied div-inv2.1
Applied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019198 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4.0) y) (* (/ x y) z))))