\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\log \left(\sqrt{x + y}\right) + \left(\left(\log \left(\sqrt{x + y}\right) - t\right) + \mathsf{fma}\left(\left(a - 0.5\right), \left(\log t\right), \left(\log z\right)\right)\right)double f(double x, double y, double z, double t, double a) {
double r946442 = x;
double r946443 = y;
double r946444 = r946442 + r946443;
double r946445 = log(r946444);
double r946446 = z;
double r946447 = log(r946446);
double r946448 = r946445 + r946447;
double r946449 = t;
double r946450 = r946448 - r946449;
double r946451 = a;
double r946452 = 0.5;
double r946453 = r946451 - r946452;
double r946454 = log(r946449);
double r946455 = r946453 * r946454;
double r946456 = r946450 + r946455;
return r946456;
}
double f(double x, double y, double z, double t, double a) {
double r946457 = x;
double r946458 = y;
double r946459 = r946457 + r946458;
double r946460 = sqrt(r946459);
double r946461 = log(r946460);
double r946462 = t;
double r946463 = r946461 - r946462;
double r946464 = a;
double r946465 = 0.5;
double r946466 = r946464 - r946465;
double r946467 = log(r946462);
double r946468 = z;
double r946469 = log(r946468);
double r946470 = fma(r946466, r946467, r946469);
double r946471 = r946463 + r946470;
double r946472 = r946461 + r946471;
return r946472;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Initial program 0.2
Simplified0.2
rmApplied add-sqr-sqrt0.2
Applied log-prod0.2
Applied associate--l+0.3
Applied associate-+l+0.3
Final simplification0.3
herbie shell --seed 2019128 +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))))