\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(\log c \cdot \left(b - 0.5\right) + \left(\left(\left(\log \left({y}^{\frac{1}{3}}\right) \cdot x + x \cdot \left(\log \left(\sqrt[3]{y}\right) + \log \left(\sqrt[3]{\sqrt[3]{y}} \cdot \left(\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}\right)\right)\right)\right) + z\right) + \left(t + a\right)\right)\right) + y \cdot idouble f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r4263571 = x;
double r4263572 = y;
double r4263573 = log(r4263572);
double r4263574 = r4263571 * r4263573;
double r4263575 = z;
double r4263576 = r4263574 + r4263575;
double r4263577 = t;
double r4263578 = r4263576 + r4263577;
double r4263579 = a;
double r4263580 = r4263578 + r4263579;
double r4263581 = b;
double r4263582 = 0.5;
double r4263583 = r4263581 - r4263582;
double r4263584 = c;
double r4263585 = log(r4263584);
double r4263586 = r4263583 * r4263585;
double r4263587 = r4263580 + r4263586;
double r4263588 = i;
double r4263589 = r4263572 * r4263588;
double r4263590 = r4263587 + r4263589;
return r4263590;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r4263591 = c;
double r4263592 = log(r4263591);
double r4263593 = b;
double r4263594 = 0.5;
double r4263595 = r4263593 - r4263594;
double r4263596 = r4263592 * r4263595;
double r4263597 = y;
double r4263598 = 0.3333333333333333;
double r4263599 = pow(r4263597, r4263598);
double r4263600 = log(r4263599);
double r4263601 = x;
double r4263602 = r4263600 * r4263601;
double r4263603 = cbrt(r4263597);
double r4263604 = log(r4263603);
double r4263605 = cbrt(r4263603);
double r4263606 = r4263605 * r4263605;
double r4263607 = r4263605 * r4263606;
double r4263608 = log(r4263607);
double r4263609 = r4263604 + r4263608;
double r4263610 = r4263601 * r4263609;
double r4263611 = r4263602 + r4263610;
double r4263612 = z;
double r4263613 = r4263611 + r4263612;
double r4263614 = t;
double r4263615 = a;
double r4263616 = r4263614 + r4263615;
double r4263617 = r4263613 + r4263616;
double r4263618 = r4263596 + r4263617;
double r4263619 = i;
double r4263620 = r4263597 * r4263619;
double r4263621 = r4263618 + r4263620;
return r4263621;
}



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
rmApplied pow1/30.1
rmApplied add-cube-cbrt0.1
Final simplification0.1
herbie shell --seed 2019163
(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)))