\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(\log \left(\sqrt{y}\right) \cdot x + \left(\log \left(\sqrt{y}\right) \cdot x + z\right)\right) + t\right) + a\right) + \left(\left(2 \cdot \log \left(\sqrt[3]{c}\right)\right) \cdot \left(b - 0.5\right) + \log \left(\sqrt[3]{c}\right) \cdot \left(b - 0.5\right)\right)\right) + y \cdot idouble f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r75288 = x;
double r75289 = y;
double r75290 = log(r75289);
double r75291 = r75288 * r75290;
double r75292 = z;
double r75293 = r75291 + r75292;
double r75294 = t;
double r75295 = r75293 + r75294;
double r75296 = a;
double r75297 = r75295 + r75296;
double r75298 = b;
double r75299 = 0.5;
double r75300 = r75298 - r75299;
double r75301 = c;
double r75302 = log(r75301);
double r75303 = r75300 * r75302;
double r75304 = r75297 + r75303;
double r75305 = i;
double r75306 = r75289 * r75305;
double r75307 = r75304 + r75306;
return r75307;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r75308 = y;
double r75309 = sqrt(r75308);
double r75310 = log(r75309);
double r75311 = x;
double r75312 = r75310 * r75311;
double r75313 = z;
double r75314 = r75312 + r75313;
double r75315 = r75312 + r75314;
double r75316 = t;
double r75317 = r75315 + r75316;
double r75318 = a;
double r75319 = r75317 + r75318;
double r75320 = 2.0;
double r75321 = c;
double r75322 = cbrt(r75321);
double r75323 = log(r75322);
double r75324 = r75320 * r75323;
double r75325 = b;
double r75326 = 0.5;
double r75327 = r75325 - r75326;
double r75328 = r75324 * r75327;
double r75329 = r75323 * r75327;
double r75330 = r75328 + r75329;
double r75331 = r75319 + r75330;
double r75332 = i;
double r75333 = r75308 * r75332;
double r75334 = r75331 + r75333;
return r75334;
}



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