\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(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + x \cdot \log \left(\sqrt[3]{y}\right)\right) + 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({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 r78565 = x;
double r78566 = y;
double r78567 = log(r78566);
double r78568 = r78565 * r78567;
double r78569 = z;
double r78570 = r78568 + r78569;
double r78571 = t;
double r78572 = r78570 + r78571;
double r78573 = a;
double r78574 = r78572 + r78573;
double r78575 = b;
double r78576 = 0.5;
double r78577 = r78575 - r78576;
double r78578 = c;
double r78579 = log(r78578);
double r78580 = r78577 * r78579;
double r78581 = r78574 + r78580;
double r78582 = i;
double r78583 = r78566 * r78582;
double r78584 = r78581 + r78583;
return r78584;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r78585 = x;
double r78586 = 2.0;
double r78587 = y;
double r78588 = cbrt(r78587);
double r78589 = log(r78588);
double r78590 = r78586 * r78589;
double r78591 = r78585 * r78590;
double r78592 = r78585 * r78589;
double r78593 = r78591 + r78592;
double r78594 = z;
double r78595 = r78593 + r78594;
double r78596 = t;
double r78597 = r78595 + r78596;
double r78598 = a;
double r78599 = r78597 + r78598;
double r78600 = b;
double r78601 = 0.5;
double r78602 = r78600 - r78601;
double r78603 = c;
double r78604 = cbrt(r78603);
double r78605 = log(r78604);
double r78606 = r78586 * r78605;
double r78607 = r78602 * r78606;
double r78608 = 0.3333333333333333;
double r78609 = pow(r78603, r78608);
double r78610 = log(r78609);
double r78611 = r78602 * r78610;
double r78612 = r78607 + r78611;
double r78613 = r78599 + r78612;
double r78614 = i;
double r78615 = r78587 * r78614;
double r78616 = r78613 + r78615;
return r78616;
}



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