\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(z + \left(\left(\log \left(\sqrt[3]{y}\right) \cdot x + \log \left(\sqrt[3]{y}\right) \cdot x\right) + \log \left({y}^{\frac{1}{3}}\right) \cdot x\right)\right) + t\right) + a\right) + \log c \cdot \left(b - 0.5\right)\right) + y \cdot idouble f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r4381058 = x;
double r4381059 = y;
double r4381060 = log(r4381059);
double r4381061 = r4381058 * r4381060;
double r4381062 = z;
double r4381063 = r4381061 + r4381062;
double r4381064 = t;
double r4381065 = r4381063 + r4381064;
double r4381066 = a;
double r4381067 = r4381065 + r4381066;
double r4381068 = b;
double r4381069 = 0.5;
double r4381070 = r4381068 - r4381069;
double r4381071 = c;
double r4381072 = log(r4381071);
double r4381073 = r4381070 * r4381072;
double r4381074 = r4381067 + r4381073;
double r4381075 = i;
double r4381076 = r4381059 * r4381075;
double r4381077 = r4381074 + r4381076;
return r4381077;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r4381078 = z;
double r4381079 = y;
double r4381080 = cbrt(r4381079);
double r4381081 = log(r4381080);
double r4381082 = x;
double r4381083 = r4381081 * r4381082;
double r4381084 = r4381083 + r4381083;
double r4381085 = 0.3333333333333333;
double r4381086 = pow(r4381079, r4381085);
double r4381087 = log(r4381086);
double r4381088 = r4381087 * r4381082;
double r4381089 = r4381084 + r4381088;
double r4381090 = r4381078 + r4381089;
double r4381091 = t;
double r4381092 = r4381090 + r4381091;
double r4381093 = a;
double r4381094 = r4381092 + r4381093;
double r4381095 = c;
double r4381096 = log(r4381095);
double r4381097 = b;
double r4381098 = 0.5;
double r4381099 = r4381097 - r4381098;
double r4381100 = r4381096 * r4381099;
double r4381101 = r4381094 + r4381100;
double r4381102 = i;
double r4381103 = r4381079 * r4381102;
double r4381104 = r4381101 + r4381103;
return r4381104;
}



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
Simplified0.1
rmApplied pow1/30.1
Final simplification0.1
herbie shell --seed 2019172
(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)))