\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\left(\frac{4}{y} + \frac{x}{y}\right) - \sqrt[3]{\left(\sqrt[3]{\frac{x}{y}} \cdot \sqrt[3]{\frac{x}{y}}\right) \cdot \left(\frac{\sqrt[3]{x}}{\sqrt[3]{y}} \cdot z\right)} \cdot \left(\sqrt[3]{z \cdot \frac{x}{y}} \cdot \sqrt[3]{z \cdot \frac{x}{y}}\right)\right|double f(double x, double y, double z) {
double r1339382 = x;
double r1339383 = 4.0;
double r1339384 = r1339382 + r1339383;
double r1339385 = y;
double r1339386 = r1339384 / r1339385;
double r1339387 = r1339382 / r1339385;
double r1339388 = z;
double r1339389 = r1339387 * r1339388;
double r1339390 = r1339386 - r1339389;
double r1339391 = fabs(r1339390);
return r1339391;
}
double f(double x, double y, double z) {
double r1339392 = 4.0;
double r1339393 = y;
double r1339394 = r1339392 / r1339393;
double r1339395 = x;
double r1339396 = r1339395 / r1339393;
double r1339397 = r1339394 + r1339396;
double r1339398 = cbrt(r1339396);
double r1339399 = r1339398 * r1339398;
double r1339400 = cbrt(r1339395);
double r1339401 = cbrt(r1339393);
double r1339402 = r1339400 / r1339401;
double r1339403 = z;
double r1339404 = r1339402 * r1339403;
double r1339405 = r1339399 * r1339404;
double r1339406 = cbrt(r1339405);
double r1339407 = r1339403 * r1339396;
double r1339408 = cbrt(r1339407);
double r1339409 = r1339408 * r1339408;
double r1339410 = r1339406 * r1339409;
double r1339411 = r1339397 - r1339410;
double r1339412 = fabs(r1339411);
return r1339412;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 1.6
Taylor expanded around 0 1.6
Simplified1.6
rmApplied add-cube-cbrt1.8
rmApplied add-cube-cbrt1.8
Applied associate-*l*1.8
rmApplied cbrt-div1.8
Final simplification1.8
herbie shell --seed 2019158 +o rules:numerics
(FPCore (x y z)
:name "fabs fraction 1"
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))