\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(\log z - t\right) + \left(\left(a - 0.5\right) \cdot \left(2 \cdot \log \left(\sqrt[3]{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right)\right) + \left(a - 0.5\right) \cdot \left(\log \left(\sqrt[3]{\sqrt[3]{t}}\right) \cdot 2 + \log \left(\sqrt[3]{t}\right)\right)\right)\right)double f(double x, double y, double z, double t, double a) {
double r49978 = x;
double r49979 = y;
double r49980 = r49978 + r49979;
double r49981 = log(r49980);
double r49982 = z;
double r49983 = log(r49982);
double r49984 = r49981 + r49983;
double r49985 = t;
double r49986 = r49984 - r49985;
double r49987 = a;
double r49988 = 0.5;
double r49989 = r49987 - r49988;
double r49990 = log(r49985);
double r49991 = r49989 * r49990;
double r49992 = r49986 + r49991;
return r49992;
}
double f(double x, double y, double z, double t, double a) {
double r49993 = x;
double r49994 = y;
double r49995 = r49993 + r49994;
double r49996 = log(r49995);
double r49997 = z;
double r49998 = log(r49997);
double r49999 = t;
double r50000 = r49998 - r49999;
double r50001 = a;
double r50002 = 0.5;
double r50003 = r50001 - r50002;
double r50004 = 2.0;
double r50005 = cbrt(r49999);
double r50006 = r50005 * r50005;
double r50007 = cbrt(r50006);
double r50008 = log(r50007);
double r50009 = r50004 * r50008;
double r50010 = r50003 * r50009;
double r50011 = cbrt(r50005);
double r50012 = log(r50011);
double r50013 = r50012 * r50004;
double r50014 = log(r50005);
double r50015 = r50013 + r50014;
double r50016 = r50003 * r50015;
double r50017 = r50010 + r50016;
double r50018 = r50000 + r50017;
double r50019 = r49996 + r50018;
return r50019;
}



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
rmApplied associate--l+0.3
Applied associate-+l+0.3
rmApplied add-cube-cbrt0.3
Applied log-prod0.3
Applied distribute-lft-in0.3
Simplified0.3
rmApplied add-cube-cbrt0.3
Applied cbrt-prod0.3
Applied log-prod0.3
Applied distribute-lft-in0.3
Applied distribute-lft-in0.3
Applied associate-+l+0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020003
(FPCore (x y z t a)
:name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"
:precision binary64
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))