\left(\left(x \cdot \log y - y\right) - z\right) + \log t
x \cdot \log \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) + \left(\left(\left(\log \left({\left({y}^{\frac{1}{3}}\right)}^{\frac{2}{3}} \cdot {\left(\sqrt[3]{y}\right)}^{\frac{1}{3}}\right) \cdot x - y\right) - z\right) + \log t\right)double f(double x, double y, double z, double t) {
double r76976 = x;
double r76977 = y;
double r76978 = log(r76977);
double r76979 = r76976 * r76978;
double r76980 = r76979 - r76977;
double r76981 = z;
double r76982 = r76980 - r76981;
double r76983 = t;
double r76984 = log(r76983);
double r76985 = r76982 + r76984;
return r76985;
}
double f(double x, double y, double z, double t) {
double r76986 = x;
double r76987 = y;
double r76988 = cbrt(r76987);
double r76989 = r76988 * r76988;
double r76990 = log(r76989);
double r76991 = r76986 * r76990;
double r76992 = 0.3333333333333333;
double r76993 = pow(r76987, r76992);
double r76994 = 0.6666666666666666;
double r76995 = pow(r76993, r76994);
double r76996 = pow(r76988, r76992);
double r76997 = r76995 * r76996;
double r76998 = log(r76997);
double r76999 = r76998 * r76986;
double r77000 = r76999 - r76987;
double r77001 = z;
double r77002 = r77000 - r77001;
double r77003 = t;
double r77004 = log(r77003);
double r77005 = r77002 + r77004;
double r77006 = r76991 + r77005;
return r77006;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Applied associate--l+0.1
Applied associate--l+0.1
Applied associate-+l+0.1
Simplified0.1
rmApplied pow1/30.1
rmApplied add-cube-cbrt0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020020 +o rules:numerics
(FPCore (x y z t)
:name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, A"
:precision binary64
(+ (- (- (* x (log y)) y) z) (log t)))