\left(\left(\left(\left(x \cdot \log y + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot i
\left(\left(\left(\left(\left(\log \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot x + \log \left(\sqrt[3]{y}\right) \cdot x\right) + z\right) + t\right) + a\right) + \left(b - 0.5\right) \cdot \log c\right) + y \cdot idouble f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r4930871 = x;
double r4930872 = y;
double r4930873 = log(r4930872);
double r4930874 = r4930871 * r4930873;
double r4930875 = z;
double r4930876 = r4930874 + r4930875;
double r4930877 = t;
double r4930878 = r4930876 + r4930877;
double r4930879 = a;
double r4930880 = r4930878 + r4930879;
double r4930881 = b;
double r4930882 = 0.5;
double r4930883 = r4930881 - r4930882;
double r4930884 = c;
double r4930885 = log(r4930884);
double r4930886 = r4930883 * r4930885;
double r4930887 = r4930880 + r4930886;
double r4930888 = i;
double r4930889 = r4930872 * r4930888;
double r4930890 = r4930887 + r4930889;
return r4930890;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r4930891 = y;
double r4930892 = cbrt(r4930891);
double r4930893 = r4930892 * r4930892;
double r4930894 = log(r4930893);
double r4930895 = x;
double r4930896 = r4930894 * r4930895;
double r4930897 = log(r4930892);
double r4930898 = r4930897 * r4930895;
double r4930899 = r4930896 + r4930898;
double r4930900 = z;
double r4930901 = r4930899 + r4930900;
double r4930902 = t;
double r4930903 = r4930901 + r4930902;
double r4930904 = a;
double r4930905 = r4930903 + r4930904;
double r4930906 = b;
double r4930907 = 0.5;
double r4930908 = r4930906 - r4930907;
double r4930909 = c;
double r4930910 = log(r4930909);
double r4930911 = r4930908 * r4930910;
double r4930912 = r4930905 + r4930911;
double r4930913 = i;
double r4930914 = r4930891 * r4930913;
double r4930915 = r4930912 + r4930914;
return r4930915;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus i
Results
Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-rgt-in0.1
Final simplification0.1
herbie shell --seed 2019174
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logBeta from math-functions-0.1.5.2, B"
(+ (+ (+ (+ (+ (* x (log y)) z) t) a) (* (- b 0.5) (log c))) (* y i)))