\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t
\left(\left(\mathsf{fma}\left(2, \log \left(\sqrt[3]{z}\right), \log \left(x + y\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 r66029 = x;
double r66030 = y;
double r66031 = r66029 + r66030;
double r66032 = log(r66031);
double r66033 = z;
double r66034 = log(r66033);
double r66035 = r66032 + r66034;
double r66036 = t;
double r66037 = r66035 - r66036;
double r66038 = a;
double r66039 = 0.5;
double r66040 = r66038 - r66039;
double r66041 = log(r66036);
double r66042 = r66040 * r66041;
double r66043 = r66037 + r66042;
return r66043;
}
double f(double x, double y, double z, double t, double a) {
double r66044 = 2.0;
double r66045 = z;
double r66046 = cbrt(r66045);
double r66047 = log(r66046);
double r66048 = x;
double r66049 = y;
double r66050 = r66048 + r66049;
double r66051 = log(r66050);
double r66052 = fma(r66044, r66047, r66051);
double r66053 = r66052 + r66047;
double r66054 = t;
double r66055 = r66053 - r66054;
double r66056 = a;
double r66057 = 0.5;
double r66058 = r66056 - r66057;
double r66059 = log(r66054);
double r66060 = r66058 * r66059;
double r66061 = r66055 + r66060;
return r66061;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Initial program 0.3
rmApplied add-cube-cbrt0.3
Applied log-prod0.3
Applied associate-+r+0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019325 +o rules:numerics
(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))))