\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\log \left(\sqrt[3]{\sqrt{z}}\right) + \left(\log \left(\sqrt[3]{\sqrt{z}} \cdot \sqrt[3]{\sqrt{z}}\right) + \left(\left(\log t \cdot \left(a - 0.5\right) + \left(\log \left(x + y\right) - t\right)\right) + \log \left(\sqrt{z}\right)\right)\right)double f(double x, double y, double z, double t, double a) {
double r4308361 = x;
double r4308362 = y;
double r4308363 = r4308361 + r4308362;
double r4308364 = log(r4308363);
double r4308365 = z;
double r4308366 = log(r4308365);
double r4308367 = r4308364 + r4308366;
double r4308368 = t;
double r4308369 = r4308367 - r4308368;
double r4308370 = a;
double r4308371 = 0.5;
double r4308372 = r4308370 - r4308371;
double r4308373 = log(r4308368);
double r4308374 = r4308372 * r4308373;
double r4308375 = r4308369 + r4308374;
return r4308375;
}
double f(double x, double y, double z, double t, double a) {
double r4308376 = z;
double r4308377 = sqrt(r4308376);
double r4308378 = cbrt(r4308377);
double r4308379 = log(r4308378);
double r4308380 = r4308378 * r4308378;
double r4308381 = log(r4308380);
double r4308382 = t;
double r4308383 = log(r4308382);
double r4308384 = a;
double r4308385 = 0.5;
double r4308386 = r4308384 - r4308385;
double r4308387 = r4308383 * r4308386;
double r4308388 = x;
double r4308389 = y;
double r4308390 = r4308388 + r4308389;
double r4308391 = log(r4308390);
double r4308392 = r4308391 - r4308382;
double r4308393 = r4308387 + r4308392;
double r4308394 = log(r4308377);
double r4308395 = r4308393 + r4308394;
double r4308396 = r4308381 + r4308395;
double r4308397 = r4308379 + r4308396;
return r4308397;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



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