\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -2.458562722192793626558471518628763370729 \cdot 10^{-272}:\\
\;\;\;\;\left|\frac{4 + x}{y} - x \cdot \frac{z}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\mathsf{fma}\left(\frac{1}{\sqrt[3]{y} \cdot \sqrt[3]{y}}, \frac{4}{\sqrt[3]{y}}, \frac{x}{y} - \frac{x}{y} \cdot z\right)\right|\\
\end{array}double f(double x, double y, double z) {
double r1109271 = x;
double r1109272 = 4.0;
double r1109273 = r1109271 + r1109272;
double r1109274 = y;
double r1109275 = r1109273 / r1109274;
double r1109276 = r1109271 / r1109274;
double r1109277 = z;
double r1109278 = r1109276 * r1109277;
double r1109279 = r1109275 - r1109278;
double r1109280 = fabs(r1109279);
return r1109280;
}
double f(double x, double y, double z) {
double r1109281 = x;
double r1109282 = -2.4585627221927936e-272;
bool r1109283 = r1109281 <= r1109282;
double r1109284 = 4.0;
double r1109285 = r1109284 + r1109281;
double r1109286 = y;
double r1109287 = r1109285 / r1109286;
double r1109288 = z;
double r1109289 = r1109288 / r1109286;
double r1109290 = r1109281 * r1109289;
double r1109291 = r1109287 - r1109290;
double r1109292 = fabs(r1109291);
double r1109293 = 1.0;
double r1109294 = cbrt(r1109286);
double r1109295 = r1109294 * r1109294;
double r1109296 = r1109293 / r1109295;
double r1109297 = r1109284 / r1109294;
double r1109298 = r1109281 / r1109286;
double r1109299 = r1109298 * r1109288;
double r1109300 = r1109298 - r1109299;
double r1109301 = fma(r1109296, r1109297, r1109300);
double r1109302 = fabs(r1109301);
double r1109303 = r1109283 ? r1109292 : r1109302;
return r1109303;
}



Bits error versus x



Bits error versus y



Bits error versus z
if x < -2.4585627221927936e-272Initial program 1.8
rmApplied div-inv1.8
Applied associate-*l*3.1
Simplified3.1
if -2.4585627221927936e-272 < x Initial program 1.3
Taylor expanded around 0 3.3
Simplified1.3
rmApplied add-cube-cbrt1.9
Applied *-un-lft-identity1.9
Applied times-frac2.0
Applied fma-def2.0
Final simplification2.5
herbie shell --seed 2019171 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4.0) y) (* (/ x y) z))))