\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\mathsf{fma}\left(\log t, a - 0.5, \left(\log \left(\sqrt[3]{z}\right) - t\right) + \log \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) + \log \left(y + x\right)double f(double x, double y, double z, double t, double a) {
double r978594 = x;
double r978595 = y;
double r978596 = r978594 + r978595;
double r978597 = log(r978596);
double r978598 = z;
double r978599 = log(r978598);
double r978600 = r978597 + r978599;
double r978601 = t;
double r978602 = r978600 - r978601;
double r978603 = a;
double r978604 = 0.5;
double r978605 = r978603 - r978604;
double r978606 = log(r978601);
double r978607 = r978605 * r978606;
double r978608 = r978602 + r978607;
return r978608;
}
double f(double x, double y, double z, double t, double a) {
double r978609 = t;
double r978610 = log(r978609);
double r978611 = a;
double r978612 = 0.5;
double r978613 = r978611 - r978612;
double r978614 = z;
double r978615 = cbrt(r978614);
double r978616 = log(r978615);
double r978617 = r978616 - r978609;
double r978618 = r978615 * r978615;
double r978619 = log(r978618);
double r978620 = r978617 + r978619;
double r978621 = fma(r978610, r978613, r978620);
double r978622 = y;
double r978623 = x;
double r978624 = r978622 + r978623;
double r978625 = log(r978624);
double r978626 = r978621 + r978625;
return r978626;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Initial program 0.3
rmApplied associate--l+0.3
Applied associate-+l+0.3
Simplified0.3
rmApplied add-cube-cbrt0.3
Applied log-prod0.3
Applied associate--l+0.3
Final simplification0.3
herbie shell --seed 2019153 +o rules:numerics
(FPCore (x y z t a)
:name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))