\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(\left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) \cdot x + \left(\log \left(\sqrt[3]{{y}^{\frac{2}{3}}}\right) \cdot x + \log \left(\sqrt[3]{\sqrt[3]{y}}\right) \cdot x\right)\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 r84267 = x;
double r84268 = y;
double r84269 = log(r84268);
double r84270 = r84267 * r84269;
double r84271 = z;
double r84272 = r84270 + r84271;
double r84273 = t;
double r84274 = r84272 + r84273;
double r84275 = a;
double r84276 = r84274 + r84275;
double r84277 = b;
double r84278 = 0.5;
double r84279 = r84277 - r84278;
double r84280 = c;
double r84281 = log(r84280);
double r84282 = r84279 * r84281;
double r84283 = r84276 + r84282;
double r84284 = i;
double r84285 = r84268 * r84284;
double r84286 = r84283 + r84285;
return r84286;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r84287 = 2.0;
double r84288 = y;
double r84289 = cbrt(r84288);
double r84290 = log(r84289);
double r84291 = r84287 * r84290;
double r84292 = x;
double r84293 = r84291 * r84292;
double r84294 = 0.6666666666666666;
double r84295 = pow(r84288, r84294);
double r84296 = cbrt(r84295);
double r84297 = log(r84296);
double r84298 = r84297 * r84292;
double r84299 = cbrt(r84289);
double r84300 = log(r84299);
double r84301 = r84300 * r84292;
double r84302 = r84298 + r84301;
double r84303 = r84293 + r84302;
double r84304 = z;
double r84305 = r84303 + r84304;
double r84306 = t;
double r84307 = r84305 + r84306;
double r84308 = a;
double r84309 = r84307 + r84308;
double r84310 = b;
double r84311 = 0.5;
double r84312 = r84310 - r84311;
double r84313 = c;
double r84314 = log(r84313);
double r84315 = r84312 * r84314;
double r84316 = r84309 + r84315;
double r84317 = i;
double r84318 = r84288 * r84317;
double r84319 = r84316 + r84318;
return r84319;
}



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 add-cube-cbrt0.1
Applied cbrt-prod0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019235
(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)))