\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\left(\left(\left(\log \left(x + y\right) + \log \left(\sqrt{z}\right)\right) + \log \left(\sqrt{z}\right)\right) - t\right) + \left(\left(a - 0.5\right) \cdot \log \left(\sqrt{t}\right) + \left(\left(a - 0.5\right) \cdot \log \left(\sqrt{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right) + \left(a - 0.5\right) \cdot \log \left(\sqrt{\sqrt[3]{t}}\right)\right)\right)double f(double x, double y, double z, double t, double a) {
double r398932 = x;
double r398933 = y;
double r398934 = r398932 + r398933;
double r398935 = log(r398934);
double r398936 = z;
double r398937 = log(r398936);
double r398938 = r398935 + r398937;
double r398939 = t;
double r398940 = r398938 - r398939;
double r398941 = a;
double r398942 = 0.5;
double r398943 = r398941 - r398942;
double r398944 = log(r398939);
double r398945 = r398943 * r398944;
double r398946 = r398940 + r398945;
return r398946;
}
double f(double x, double y, double z, double t, double a) {
double r398947 = x;
double r398948 = y;
double r398949 = r398947 + r398948;
double r398950 = log(r398949);
double r398951 = z;
double r398952 = sqrt(r398951);
double r398953 = log(r398952);
double r398954 = r398950 + r398953;
double r398955 = r398954 + r398953;
double r398956 = t;
double r398957 = r398955 - r398956;
double r398958 = a;
double r398959 = 0.5;
double r398960 = r398958 - r398959;
double r398961 = sqrt(r398956);
double r398962 = log(r398961);
double r398963 = r398960 * r398962;
double r398964 = cbrt(r398956);
double r398965 = r398964 * r398964;
double r398966 = sqrt(r398965);
double r398967 = log(r398966);
double r398968 = r398960 * r398967;
double r398969 = sqrt(r398964);
double r398970 = log(r398969);
double r398971 = r398960 * r398970;
double r398972 = r398968 + r398971;
double r398973 = r398963 + r398972;
double r398974 = r398957 + r398973;
return r398974;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 0.3 |
|---|---|
| Target | 0.3 |
| Herbie | 0.3 |
Initial program 0.3
rmApplied add-sqr-sqrt0.3
Applied log-prod0.3
Applied distribute-lft-in0.3
rmApplied add-cube-cbrt0.3
Applied sqrt-prod0.3
Applied log-prod0.3
Applied distribute-lft-in0.3
rmApplied add-sqr-sqrt0.3
Applied log-prod0.3
Applied associate-+r+0.3
Final simplification0.3
herbie shell --seed 2019353
(FPCore (x y z t a)
:name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"
:precision binary64
:herbie-target
(+ (log (+ x y)) (+ (- (log z) t) (* (- a 0.5) (log t))))
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))