\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 + x \cdot \log \left(\sqrt[3]{y}\right)\right) + z\right) + t\right) + a\right) + \left(\left(2 \cdot \log \left(\sqrt[3]{c}\right)\right) \cdot \left(b - 0.5\right) + \left(b - 0.5\right) \cdot \log \left({\left(\frac{1}{c}\right)}^{\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 r76624 = x;
double r76625 = y;
double r76626 = log(r76625);
double r76627 = r76624 * r76626;
double r76628 = z;
double r76629 = r76627 + r76628;
double r76630 = t;
double r76631 = r76629 + r76630;
double r76632 = a;
double r76633 = r76631 + r76632;
double r76634 = b;
double r76635 = 0.5;
double r76636 = r76634 - r76635;
double r76637 = c;
double r76638 = log(r76637);
double r76639 = r76636 * r76638;
double r76640 = r76633 + r76639;
double r76641 = i;
double r76642 = r76625 * r76641;
double r76643 = r76640 + r76642;
return r76643;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r76644 = 2.0;
double r76645 = y;
double r76646 = cbrt(r76645);
double r76647 = log(r76646);
double r76648 = r76644 * r76647;
double r76649 = x;
double r76650 = r76648 * r76649;
double r76651 = r76649 * r76647;
double r76652 = r76650 + r76651;
double r76653 = z;
double r76654 = r76652 + r76653;
double r76655 = t;
double r76656 = r76654 + r76655;
double r76657 = a;
double r76658 = r76656 + r76657;
double r76659 = c;
double r76660 = cbrt(r76659);
double r76661 = log(r76660);
double r76662 = r76644 * r76661;
double r76663 = b;
double r76664 = 0.5;
double r76665 = r76663 - r76664;
double r76666 = r76662 * r76665;
double r76667 = 1.0;
double r76668 = r76667 / r76659;
double r76669 = -0.3333333333333333;
double r76670 = pow(r76668, r76669);
double r76671 = log(r76670);
double r76672 = r76665 * r76671;
double r76673 = r76666 + r76672;
double r76674 = r76658 + r76673;
double r76675 = i;
double r76676 = r76645 * r76675;
double r76677 = r76674 + r76676;
return r76677;
}



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
Taylor expanded around inf 0.1
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020046
(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)))