\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\frac{x + 4}{y} - \frac{x}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{z}{\sqrt[3]{y}}\right|double f(double x, double y, double z) {
double r36395 = x;
double r36396 = 4.0;
double r36397 = r36395 + r36396;
double r36398 = y;
double r36399 = r36397 / r36398;
double r36400 = r36395 / r36398;
double r36401 = z;
double r36402 = r36400 * r36401;
double r36403 = r36399 - r36402;
double r36404 = fabs(r36403);
return r36404;
}
double f(double x, double y, double z) {
double r36405 = x;
double r36406 = 4.0;
double r36407 = r36405 + r36406;
double r36408 = y;
double r36409 = r36407 / r36408;
double r36410 = cbrt(r36408);
double r36411 = r36410 * r36410;
double r36412 = r36405 / r36411;
double r36413 = z;
double r36414 = r36413 / r36410;
double r36415 = r36412 * r36414;
double r36416 = r36409 - r36415;
double r36417 = fabs(r36416);
return r36417;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 1.7
rmApplied div-inv1.7
Applied associate-*l*3.5
Simplified3.5
rmApplied add-cube-cbrt3.8
Applied *-un-lft-identity3.8
Applied times-frac3.8
Applied associate-*r*1.9
Simplified1.9
Final simplification1.9
herbie shell --seed 2019322
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))