\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\left(\left(\log \left(y + x\right) + \left(\log \left(\sqrt{z}\right) - \mathsf{fma}\left(0.5 - a, \log t, t\right)\right)\right) + \log \left(\sqrt[3]{\sqrt{z}}\right)\right) + \log \left(\sqrt[3]{\sqrt{z}} \cdot \sqrt[3]{\sqrt{z}}\right)double f(double x, double y, double z, double t, double a) {
double r2993771 = x;
double r2993772 = y;
double r2993773 = r2993771 + r2993772;
double r2993774 = log(r2993773);
double r2993775 = z;
double r2993776 = log(r2993775);
double r2993777 = r2993774 + r2993776;
double r2993778 = t;
double r2993779 = r2993777 - r2993778;
double r2993780 = a;
double r2993781 = 0.5;
double r2993782 = r2993780 - r2993781;
double r2993783 = log(r2993778);
double r2993784 = r2993782 * r2993783;
double r2993785 = r2993779 + r2993784;
return r2993785;
}
double f(double x, double y, double z, double t, double a) {
double r2993786 = y;
double r2993787 = x;
double r2993788 = r2993786 + r2993787;
double r2993789 = log(r2993788);
double r2993790 = z;
double r2993791 = sqrt(r2993790);
double r2993792 = log(r2993791);
double r2993793 = 0.5;
double r2993794 = a;
double r2993795 = r2993793 - r2993794;
double r2993796 = t;
double r2993797 = log(r2993796);
double r2993798 = fma(r2993795, r2993797, r2993796);
double r2993799 = r2993792 - r2993798;
double r2993800 = r2993789 + r2993799;
double r2993801 = cbrt(r2993791);
double r2993802 = log(r2993801);
double r2993803 = r2993800 + r2993802;
double r2993804 = r2993801 * r2993801;
double r2993805 = log(r2993804);
double r2993806 = r2993803 + r2993805;
return r2993806;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



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