\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\begin{array}{l}
\mathbf{if}\;x \le -1.237348821278526922224499800172906900589 \cdot 10^{131}:\\
\;\;\;\;\left|\frac{\sqrt[3]{4 + x} \cdot \sqrt[3]{4 + x}}{\frac{y}{\sqrt[3]{4 + x}}} - z \cdot \frac{x}{y}\right|\\
\mathbf{elif}\;x \le 1.998896073279736443750109813264113386158 \cdot 10^{68}:\\
\;\;\;\;\left|\frac{\mathsf{fma}\left(-x, z, 4 + x\right)}{y}\right|\\
\mathbf{else}:\\
\;\;\;\;\left|\mathsf{fma}\left(\frac{-x}{y}, z, {\left(\frac{\sqrt[3]{4 + x}}{\sqrt[3]{y}}\right)}^{3}\right) + \left(z + \left(-z\right)\right) \cdot \frac{x}{y}\right|\\
\end{array}double f(double x, double y, double z) {
double r68812 = x;
double r68813 = 4.0;
double r68814 = r68812 + r68813;
double r68815 = y;
double r68816 = r68814 / r68815;
double r68817 = r68812 / r68815;
double r68818 = z;
double r68819 = r68817 * r68818;
double r68820 = r68816 - r68819;
double r68821 = fabs(r68820);
return r68821;
}
double f(double x, double y, double z) {
double r68822 = x;
double r68823 = -1.237348821278527e+131;
bool r68824 = r68822 <= r68823;
double r68825 = 4.0;
double r68826 = r68825 + r68822;
double r68827 = cbrt(r68826);
double r68828 = r68827 * r68827;
double r68829 = y;
double r68830 = r68829 / r68827;
double r68831 = r68828 / r68830;
double r68832 = z;
double r68833 = r68822 / r68829;
double r68834 = r68832 * r68833;
double r68835 = r68831 - r68834;
double r68836 = fabs(r68835);
double r68837 = 1.9988960732797364e+68;
bool r68838 = r68822 <= r68837;
double r68839 = -r68822;
double r68840 = fma(r68839, r68832, r68826);
double r68841 = r68840 / r68829;
double r68842 = fabs(r68841);
double r68843 = r68839 / r68829;
double r68844 = cbrt(r68829);
double r68845 = r68827 / r68844;
double r68846 = 3.0;
double r68847 = pow(r68845, r68846);
double r68848 = fma(r68843, r68832, r68847);
double r68849 = -r68832;
double r68850 = r68832 + r68849;
double r68851 = r68850 * r68833;
double r68852 = r68848 + r68851;
double r68853 = fabs(r68852);
double r68854 = r68838 ? r68842 : r68853;
double r68855 = r68824 ? r68836 : r68854;
return r68855;
}



Bits error versus x



Bits error versus y



Bits error versus z
if x < -1.237348821278527e+131Initial program 0.1
rmApplied add-cube-cbrt0.8
Applied associate-/l*0.9
Simplified0.9
if -1.237348821278527e+131 < x < 1.9988960732797364e+68Initial program 2.0
rmApplied associate-*l/0.6
Applied sub-div0.6
Simplified0.6
if 1.9988960732797364e+68 < x Initial program 0.1
rmApplied add-cube-cbrt0.9
Applied add-cube-cbrt1.1
Applied times-frac1.1
Applied prod-diff1.1
Simplified1.1
Simplified1.1
Final simplification0.7
herbie shell --seed 2019195 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4.0) y) (* (/ x y) z))))