\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;y \le 2.4249468621417827 \cdot 10^{-83}:\\
\;\;\;\;\left|\frac{x + 4}{y} - \frac{1}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \left(z \cdot \left(\sqrt[3]{\frac{1}{y}} \cdot x\right)\right)\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\frac{x + 4}{y} - \frac{x}{\frac{\frac{y}{\sqrt[3]{-1} \cdot \sqrt[3]{-1}}}{z}}\right|\\
\end{array}double f(double x, double y, double z) {
double r1452220 = x;
double r1452221 = 4.0;
double r1452222 = r1452220 + r1452221;
double r1452223 = y;
double r1452224 = r1452222 / r1452223;
double r1452225 = r1452220 / r1452223;
double r1452226 = z;
double r1452227 = r1452225 * r1452226;
double r1452228 = r1452224 - r1452227;
double r1452229 = fabs(r1452228);
return r1452229;
}
double f(double x, double y, double z) {
double r1452230 = y;
double r1452231 = 2.4249468621417827e-83;
bool r1452232 = r1452230 <= r1452231;
double r1452233 = x;
double r1452234 = 4.0;
double r1452235 = r1452233 + r1452234;
double r1452236 = r1452235 / r1452230;
double r1452237 = 1.0;
double r1452238 = cbrt(r1452230);
double r1452239 = r1452238 * r1452238;
double r1452240 = r1452237 / r1452239;
double r1452241 = z;
double r1452242 = r1452237 / r1452230;
double r1452243 = cbrt(r1452242);
double r1452244 = r1452243 * r1452233;
double r1452245 = r1452241 * r1452244;
double r1452246 = r1452240 * r1452245;
double r1452247 = r1452236 - r1452246;
double r1452248 = fabs(r1452247);
double r1452249 = -1.0;
double r1452250 = cbrt(r1452249);
double r1452251 = r1452250 * r1452250;
double r1452252 = r1452230 / r1452251;
double r1452253 = r1452252 / r1452241;
double r1452254 = r1452233 / r1452253;
double r1452255 = r1452236 - r1452254;
double r1452256 = fabs(r1452255);
double r1452257 = r1452232 ? r1452248 : r1452256;
return r1452257;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if y < 2.4249468621417827e-83Initial program 1.3
rmApplied add-cube-cbrt1.5
Applied *-un-lft-identity1.5
Applied times-frac1.6
Applied associate-*l*1.8
Taylor expanded around inf 48.9
Simplified1.7
if 2.4249468621417827e-83 < y Initial program 1.9
rmApplied add-cube-cbrt2.2
Applied *-un-lft-identity2.2
Applied times-frac2.2
Applied associate-*l*2.7
Taylor expanded around inf 5.4
Simplified2.7
rmApplied add-cube-cbrt2.7
Applied associate-*r*2.7
Taylor expanded around -inf 4.3
Simplified0.4
Final simplification1.2
herbie shell --seed 2019144 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))