\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(x \cdot \log y + z\right) + \left(a + t\right)\right) + \left(\left(\left(b - 0.5\right) \cdot \log \left(\sqrt[3]{c}\right) + \left(b - 0.5\right) \cdot \log \left(\sqrt[3]{c}\right)\right) + \left(b - 0.5\right) \cdot \log \left({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 r4205262 = x;
double r4205263 = y;
double r4205264 = log(r4205263);
double r4205265 = r4205262 * r4205264;
double r4205266 = z;
double r4205267 = r4205265 + r4205266;
double r4205268 = t;
double r4205269 = r4205267 + r4205268;
double r4205270 = a;
double r4205271 = r4205269 + r4205270;
double r4205272 = b;
double r4205273 = 0.5;
double r4205274 = r4205272 - r4205273;
double r4205275 = c;
double r4205276 = log(r4205275);
double r4205277 = r4205274 * r4205276;
double r4205278 = r4205271 + r4205277;
double r4205279 = i;
double r4205280 = r4205263 * r4205279;
double r4205281 = r4205278 + r4205280;
return r4205281;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r4205282 = x;
double r4205283 = y;
double r4205284 = log(r4205283);
double r4205285 = r4205282 * r4205284;
double r4205286 = z;
double r4205287 = r4205285 + r4205286;
double r4205288 = a;
double r4205289 = t;
double r4205290 = r4205288 + r4205289;
double r4205291 = r4205287 + r4205290;
double r4205292 = b;
double r4205293 = 0.5;
double r4205294 = r4205292 - r4205293;
double r4205295 = c;
double r4205296 = cbrt(r4205295);
double r4205297 = log(r4205296);
double r4205298 = r4205294 * r4205297;
double r4205299 = r4205298 + r4205298;
double r4205300 = 0.3333333333333333;
double r4205301 = pow(r4205295, r4205300);
double r4205302 = log(r4205301);
double r4205303 = r4205294 * r4205302;
double r4205304 = r4205299 + r4205303;
double r4205305 = r4205291 + r4205304;
double r4205306 = i;
double r4205307 = r4205283 * r4205306;
double r4205308 = r4205305 + r4205307;
return r4205308;
}



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 associate-+l+0.1
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
Simplified0.1
rmApplied pow1/30.1
Final simplification0.1
herbie shell --seed 2019171
(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)))