\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\mathsf{fma}\left(4, \frac{1}{y}, \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 \left(1 - z\right)\right)\right)\right|double f(double x, double y, double z) {
double r27667 = x;
double r27668 = 4.0;
double r27669 = r27667 + r27668;
double r27670 = y;
double r27671 = r27669 / r27670;
double r27672 = r27667 / r27670;
double r27673 = z;
double r27674 = r27672 * r27673;
double r27675 = r27671 - r27674;
double r27676 = fabs(r27675);
return r27676;
}
double f(double x, double y, double z) {
double r27677 = 4.0;
double r27678 = 1.0;
double r27679 = y;
double r27680 = r27678 / r27679;
double r27681 = x;
double r27682 = cbrt(r27681);
double r27683 = r27682 * r27682;
double r27684 = cbrt(r27679);
double r27685 = r27684 * r27684;
double r27686 = r27683 / r27685;
double r27687 = r27682 / r27684;
double r27688 = z;
double r27689 = r27678 - r27688;
double r27690 = r27687 * r27689;
double r27691 = r27686 * r27690;
double r27692 = fma(r27677, r27680, r27691);
double r27693 = fabs(r27692);
return r27693;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 1.7
Taylor expanded around 0 3.5
Simplified1.7
rmApplied add-cube-cbrt2.3
Applied add-cube-cbrt2.5
Applied times-frac2.5
Applied associate-*l*1.0
Final simplification1.0
herbie shell --seed 2020024 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))