\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 y + z\right) + t\right) + a\right) + \left(\left(b - 0.5\right) \cdot \left(2 \cdot \log \left(\sqrt[3]{c}\right)\right) + \left(b - 0.5\right) \cdot \log \left(\sqrt[3]{1} \cdot {c}^{\frac{1}{3}}\right)\right)\right) + y \cdot idouble f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r94099 = x;
double r94100 = y;
double r94101 = log(r94100);
double r94102 = r94099 * r94101;
double r94103 = z;
double r94104 = r94102 + r94103;
double r94105 = t;
double r94106 = r94104 + r94105;
double r94107 = a;
double r94108 = r94106 + r94107;
double r94109 = b;
double r94110 = 0.5;
double r94111 = r94109 - r94110;
double r94112 = c;
double r94113 = log(r94112);
double r94114 = r94111 * r94113;
double r94115 = r94108 + r94114;
double r94116 = i;
double r94117 = r94100 * r94116;
double r94118 = r94115 + r94117;
return r94118;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r94119 = x;
double r94120 = y;
double r94121 = log(r94120);
double r94122 = r94119 * r94121;
double r94123 = z;
double r94124 = r94122 + r94123;
double r94125 = t;
double r94126 = r94124 + r94125;
double r94127 = a;
double r94128 = r94126 + r94127;
double r94129 = b;
double r94130 = 0.5;
double r94131 = r94129 - r94130;
double r94132 = 2.0;
double r94133 = c;
double r94134 = cbrt(r94133);
double r94135 = log(r94134);
double r94136 = r94132 * r94135;
double r94137 = r94131 * r94136;
double r94138 = 1.0;
double r94139 = cbrt(r94138);
double r94140 = 0.3333333333333333;
double r94141 = pow(r94133, r94140);
double r94142 = r94139 * r94141;
double r94143 = log(r94142);
double r94144 = r94131 * r94143;
double r94145 = r94137 + r94144;
double r94146 = r94128 + r94145;
double r94147 = i;
double r94148 = r94120 * r94147;
double r94149 = r94146 + r94148;
return r94149;
}



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
Simplified0.1
rmApplied *-un-lft-identity0.1
Applied cbrt-prod0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020039
(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)))