\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\frac{x + 4}{y} - \sqrt{\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \left(\left(\left|\frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right| \cdot z\right) \cdot \frac{\sqrt[3]{x}}{\sqrt[3]{y}}\right)\right|double f(double x, double y, double z) {
double r32110 = x;
double r32111 = 4.0;
double r32112 = r32110 + r32111;
double r32113 = y;
double r32114 = r32112 / r32113;
double r32115 = r32110 / r32113;
double r32116 = z;
double r32117 = r32115 * r32116;
double r32118 = r32114 - r32117;
double r32119 = fabs(r32118);
return r32119;
}
double f(double x, double y, double z) {
double r32120 = x;
double r32121 = 4.0;
double r32122 = r32120 + r32121;
double r32123 = y;
double r32124 = r32122 / r32123;
double r32125 = cbrt(r32120);
double r32126 = r32125 * r32125;
double r32127 = cbrt(r32123);
double r32128 = r32127 * r32127;
double r32129 = r32126 / r32128;
double r32130 = sqrt(r32129);
double r32131 = r32125 / r32127;
double r32132 = fabs(r32131);
double r32133 = z;
double r32134 = r32132 * r32133;
double r32135 = r32134 * r32131;
double r32136 = r32130 * r32135;
double r32137 = r32124 - r32136;
double r32138 = fabs(r32137);
return r32138;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 1.6
rmApplied add-cube-cbrt1.9
Applied add-cube-cbrt2.0
Applied times-frac2.0
Applied associate-*l*0.6
rmApplied add-sqr-sqrt0.6
Applied associate-*l*0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2020047
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))