\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(x \cdot \log \left({\left({y}^{\frac{2}{3}}\right)}^{1}\right) + \left(\log \left(\sqrt[3]{y}\right) \cdot x + z\right)\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 r58828 = x;
double r58829 = y;
double r58830 = log(r58829);
double r58831 = r58828 * r58830;
double r58832 = z;
double r58833 = r58831 + r58832;
double r58834 = t;
double r58835 = r58833 + r58834;
double r58836 = a;
double r58837 = r58835 + r58836;
double r58838 = b;
double r58839 = 0.5;
double r58840 = r58838 - r58839;
double r58841 = c;
double r58842 = log(r58841);
double r58843 = r58840 * r58842;
double r58844 = r58837 + r58843;
double r58845 = i;
double r58846 = r58829 * r58845;
double r58847 = r58844 + r58846;
return r58847;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r58848 = x;
double r58849 = y;
double r58850 = 0.6666666666666666;
double r58851 = pow(r58849, r58850);
double r58852 = 1.0;
double r58853 = pow(r58851, r58852);
double r58854 = log(r58853);
double r58855 = r58848 * r58854;
double r58856 = cbrt(r58849);
double r58857 = log(r58856);
double r58858 = r58857 * r58848;
double r58859 = z;
double r58860 = r58858 + r58859;
double r58861 = r58855 + r58860;
double r58862 = t;
double r58863 = r58861 + r58862;
double r58864 = a;
double r58865 = r58863 + r58864;
double r58866 = b;
double r58867 = 0.5;
double r58868 = r58866 - r58867;
double r58869 = c;
double r58870 = log(r58869);
double r58871 = r58868 * r58870;
double r58872 = r58865 + r58871;
double r58873 = i;
double r58874 = r58849 * r58873;
double r58875 = r58872 + r58874;
return r58875;
}



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-lft-in0.1
Applied associate-+l+0.1
Simplified0.1
rmApplied pow10.1
Applied pow10.1
Applied pow-prod-down0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020036
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logBeta from math-functions-0.1.5.2, B"
:precision binary64
(+ (+ (+ (+ (+ (* x (log y)) z) t) a) (* (- b 0.5) (log c))) (* y i)))