\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\left(4 \cdot \frac{1}{y} + \frac{x}{y}\right) - \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot z\right)\right|double f(double x, double y, double z) {
double r27901 = x;
double r27902 = 4.0;
double r27903 = r27901 + r27902;
double r27904 = y;
double r27905 = r27903 / r27904;
double r27906 = r27901 / r27904;
double r27907 = z;
double r27908 = r27906 * r27907;
double r27909 = r27905 - r27908;
double r27910 = fabs(r27909);
return r27910;
}
double f(double x, double y, double z) {
double r27911 = 4.0;
double r27912 = 1.0;
double r27913 = y;
double r27914 = r27912 / r27913;
double r27915 = r27911 * r27914;
double r27916 = x;
double r27917 = r27916 / r27913;
double r27918 = r27915 + r27917;
double r27919 = cbrt(r27916);
double r27920 = r27919 * r27919;
double r27921 = cbrt(r27913);
double r27922 = r27921 * r27921;
double r27923 = r27920 / r27922;
double r27924 = r27919 / r27921;
double r27925 = z;
double r27926 = r27924 * r27925;
double r27927 = r27923 * r27926;
double r27928 = r27918 - r27927;
double r27929 = fabs(r27928);
return r27929;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 1.5
Taylor expanded around 0 1.5
rmApplied add-cube-cbrt1.8
Applied add-cube-cbrt1.9
Applied times-frac1.9
Applied associate-*l*0.7
Final simplification0.7
herbie shell --seed 2019353
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))