\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\mathsf{fma}\left(4, \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 r36743 = x;
double r36744 = 4.0;
double r36745 = r36743 + r36744;
double r36746 = y;
double r36747 = r36745 / r36746;
double r36748 = r36743 / r36746;
double r36749 = z;
double r36750 = r36748 * r36749;
double r36751 = r36747 - r36750;
double r36752 = fabs(r36751);
return r36752;
}
double f(double x, double y, double z) {
double r36753 = 4.0;
double r36754 = 1.0;
double r36755 = y;
double r36756 = r36754 / r36755;
double r36757 = x;
double r36758 = r36757 / r36755;
double r36759 = fma(r36753, r36756, r36758);
double r36760 = cbrt(r36757);
double r36761 = r36760 * r36760;
double r36762 = cbrt(r36755);
double r36763 = r36762 * r36762;
double r36764 = r36761 / r36763;
double r36765 = r36760 / r36762;
double r36766 = z;
double r36767 = r36765 * r36766;
double r36768 = r36764 * r36767;
double r36769 = r36759 - r36768;
double r36770 = fabs(r36769);
return r36770;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 1.6
Taylor expanded around 0 1.6
Simplified1.6
rmApplied add-cube-cbrt1.9
Applied add-cube-cbrt2.0
Applied times-frac2.0
Applied associate-*l*0.7
Final simplification0.7
herbie shell --seed 2020035 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))