\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\left(\left(\left(\log \left(x + y\right) + \log \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) + \log \left(\sqrt[3]{z}\right)\right) - t\right) + \left(a - 0.5\right) \cdot \log tdouble f(double x, double y, double z, double t, double a) {
double r63023 = x;
double r63024 = y;
double r63025 = r63023 + r63024;
double r63026 = log(r63025);
double r63027 = z;
double r63028 = log(r63027);
double r63029 = r63026 + r63028;
double r63030 = t;
double r63031 = r63029 - r63030;
double r63032 = a;
double r63033 = 0.5;
double r63034 = r63032 - r63033;
double r63035 = log(r63030);
double r63036 = r63034 * r63035;
double r63037 = r63031 + r63036;
return r63037;
}
double f(double x, double y, double z, double t, double a) {
double r63038 = x;
double r63039 = y;
double r63040 = r63038 + r63039;
double r63041 = log(r63040);
double r63042 = z;
double r63043 = cbrt(r63042);
double r63044 = r63043 * r63043;
double r63045 = log(r63044);
double r63046 = r63041 + r63045;
double r63047 = log(r63043);
double r63048 = r63046 + r63047;
double r63049 = t;
double r63050 = r63048 - r63049;
double r63051 = a;
double r63052 = 0.5;
double r63053 = r63051 - r63052;
double r63054 = log(r63049);
double r63055 = r63053 * r63054;
double r63056 = r63050 + r63055;
return r63056;
}



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