\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\log \left(y + x\right) + \left(\left(a - 0.5\right) \cdot \log \left({\left({t}^{\left(\sqrt{\frac{1}{3}}\right)}\right)}^{\left(\sqrt{\frac{1}{3}}\right)}\right) + \left(\log \left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \left(a - 0.5\right) + \left(\log z - t\right)\right)\right)double f(double x, double y, double z, double t, double a) {
double r15966291 = x;
double r15966292 = y;
double r15966293 = r15966291 + r15966292;
double r15966294 = log(r15966293);
double r15966295 = z;
double r15966296 = log(r15966295);
double r15966297 = r15966294 + r15966296;
double r15966298 = t;
double r15966299 = r15966297 - r15966298;
double r15966300 = a;
double r15966301 = 0.5;
double r15966302 = r15966300 - r15966301;
double r15966303 = log(r15966298);
double r15966304 = r15966302 * r15966303;
double r15966305 = r15966299 + r15966304;
return r15966305;
}
double f(double x, double y, double z, double t, double a) {
double r15966306 = y;
double r15966307 = x;
double r15966308 = r15966306 + r15966307;
double r15966309 = log(r15966308);
double r15966310 = a;
double r15966311 = 0.5;
double r15966312 = r15966310 - r15966311;
double r15966313 = t;
double r15966314 = 0.3333333333333333;
double r15966315 = sqrt(r15966314);
double r15966316 = pow(r15966313, r15966315);
double r15966317 = pow(r15966316, r15966315);
double r15966318 = log(r15966317);
double r15966319 = r15966312 * r15966318;
double r15966320 = cbrt(r15966313);
double r15966321 = r15966320 * r15966320;
double r15966322 = log(r15966321);
double r15966323 = r15966322 * r15966312;
double r15966324 = z;
double r15966325 = log(r15966324);
double r15966326 = r15966325 - r15966313;
double r15966327 = r15966323 + r15966326;
double r15966328 = r15966319 + r15966327;
double r15966329 = r15966309 + r15966328;
return r15966329;
}




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 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
rmApplied pow1/30.3
rmApplied add-sqr-sqrt0.3
Applied pow-unpow0.3
Final simplification0.3
herbie shell --seed 2019165
(FPCore (x y z t a)
:name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"
:herbie-target
(+ (log (+ x y)) (+ (- (log z) t) (* (- a 0.5) (log t))))
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))