\left|\frac{x + 4}{y} - \frac{x}{y} \cdot z\right|\left|\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) + 4 \cdot \frac{1}{y}\right|double f(double x, double y, double z) {
double r29952 = x;
double r29953 = 4.0;
double r29954 = r29952 + r29953;
double r29955 = y;
double r29956 = r29954 / r29955;
double r29957 = r29952 / r29955;
double r29958 = z;
double r29959 = r29957 * r29958;
double r29960 = r29956 - r29959;
double r29961 = fabs(r29960);
return r29961;
}
double f(double x, double y, double z) {
double r29962 = x;
double r29963 = cbrt(r29962);
double r29964 = r29963 * r29963;
double r29965 = y;
double r29966 = cbrt(r29965);
double r29967 = r29966 * r29966;
double r29968 = r29964 / r29967;
double r29969 = r29963 / r29966;
double r29970 = 1.0;
double r29971 = z;
double r29972 = r29970 - r29971;
double r29973 = r29969 * r29972;
double r29974 = r29968 * r29973;
double r29975 = 4.0;
double r29976 = r29970 / r29965;
double r29977 = r29975 * r29976;
double r29978 = r29974 + r29977;
double r29979 = fabs(r29978);
return r29979;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
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
(FPCore (x y z)
:name "fabs fraction 1"
:precision binary64
(fabs (- (/ (+ x 4) y) (* (/ x y) z))))