\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\left(a - 0.5\right) \cdot \log t + \left(\left(\log \left(x + y\right) + \log z\right) - t\right)
double f(double x, double y, double z, double t, double a) {
double r86590 = x;
double r86591 = y;
double r86592 = r86590 + r86591;
double r86593 = log(r86592);
double r86594 = z;
double r86595 = log(r86594);
double r86596 = r86593 + r86595;
double r86597 = t;
double r86598 = r86596 - r86597;
double r86599 = a;
double r86600 = 0.5;
double r86601 = r86599 - r86600;
double r86602 = log(r86597);
double r86603 = r86601 * r86602;
double r86604 = r86598 + r86603;
return r86604;
}
double f(double x, double y, double z, double t, double a) {
double r86605 = a;
double r86606 = 0.5;
double r86607 = r86605 - r86606;
double r86608 = t;
double r86609 = log(r86608);
double r86610 = r86607 * r86609;
double r86611 = x;
double r86612 = y;
double r86613 = r86611 + r86612;
double r86614 = log(r86613);
double r86615 = z;
double r86616 = log(r86615);
double r86617 = r86614 + r86616;
double r86618 = r86617 - r86608;
double r86619 = r86610 + r86618;
return r86619;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Results
Initial program 0.3
rmApplied pow10.3
Final simplification0.3
herbie shell --seed 2019297
(FPCore (x y z t a)
:name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"
:precision binary64
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))