\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\left(\log \left(x + y\right) + \log \left(\sqrt{z}\right)\right) + \left(\left(\left(a - 0.5\right) \cdot \left(2 \cdot \log \left(\sqrt[3]{{t}^{\frac{2}{3}}} \cdot \sqrt[3]{\sqrt[3]{t}}\right)\right) + \left(\log \left(\sqrt{z}\right) - t\right)\right) + \log \left(\sqrt[3]{t}\right) \cdot \left(a - 0.5\right)\right)double f(double x, double y, double z, double t, double a) {
double r249079 = x;
double r249080 = y;
double r249081 = r249079 + r249080;
double r249082 = log(r249081);
double r249083 = z;
double r249084 = log(r249083);
double r249085 = r249082 + r249084;
double r249086 = t;
double r249087 = r249085 - r249086;
double r249088 = a;
double r249089 = 0.5;
double r249090 = r249088 - r249089;
double r249091 = log(r249086);
double r249092 = r249090 * r249091;
double r249093 = r249087 + r249092;
return r249093;
}
double f(double x, double y, double z, double t, double a) {
double r249094 = x;
double r249095 = y;
double r249096 = r249094 + r249095;
double r249097 = log(r249096);
double r249098 = z;
double r249099 = sqrt(r249098);
double r249100 = log(r249099);
double r249101 = r249097 + r249100;
double r249102 = a;
double r249103 = 0.5;
double r249104 = r249102 - r249103;
double r249105 = 2.0;
double r249106 = t;
double r249107 = 0.6666666666666666;
double r249108 = pow(r249106, r249107);
double r249109 = cbrt(r249108);
double r249110 = cbrt(r249106);
double r249111 = cbrt(r249110);
double r249112 = r249109 * r249111;
double r249113 = log(r249112);
double r249114 = r249105 * r249113;
double r249115 = r249104 * r249114;
double r249116 = r249100 - r249106;
double r249117 = r249115 + r249116;
double r249118 = log(r249110);
double r249119 = r249118 * r249104;
double r249120 = r249117 + r249119;
double r249121 = r249101 + r249120;
return r249121;
}




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 associate-+r+0.3
rmApplied associate--l+0.3
Applied associate-+l+0.3
rmApplied add-cube-cbrt0.3
Applied log-prod0.3
Applied distribute-rgt-in0.3
Applied associate-+r+0.3
Simplified0.3
rmApplied add-cube-cbrt0.3
Applied cbrt-prod0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020046
(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))))