\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\log \left(x + y\right) - \left(\left(\mathsf{fma}\left(\log t, 0.5 - a, t\right) - \log \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) - \log \left(\sqrt[3]{z}\right)\right)double f(double x, double y, double z, double t, double a) {
double r2781411 = x;
double r2781412 = y;
double r2781413 = r2781411 + r2781412;
double r2781414 = log(r2781413);
double r2781415 = z;
double r2781416 = log(r2781415);
double r2781417 = r2781414 + r2781416;
double r2781418 = t;
double r2781419 = r2781417 - r2781418;
double r2781420 = a;
double r2781421 = 0.5;
double r2781422 = r2781420 - r2781421;
double r2781423 = log(r2781418);
double r2781424 = r2781422 * r2781423;
double r2781425 = r2781419 + r2781424;
return r2781425;
}
double f(double x, double y, double z, double t, double a) {
double r2781426 = x;
double r2781427 = y;
double r2781428 = r2781426 + r2781427;
double r2781429 = log(r2781428);
double r2781430 = t;
double r2781431 = log(r2781430);
double r2781432 = 0.5;
double r2781433 = a;
double r2781434 = r2781432 - r2781433;
double r2781435 = fma(r2781431, r2781434, r2781430);
double r2781436 = z;
double r2781437 = cbrt(r2781436);
double r2781438 = r2781437 * r2781437;
double r2781439 = log(r2781438);
double r2781440 = r2781435 - r2781439;
double r2781441 = log(r2781437);
double r2781442 = r2781440 - r2781441;
double r2781443 = r2781429 - r2781442;
return r2781443;
}



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-cube-cbrt0.3
Applied log-prod0.3
Applied associate--r+0.3
Final simplification0.3
herbie shell --seed 2019200 +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))))