\left(\left(x \cdot \log y - y\right) - z\right) + \log t
\left(\left(\mathsf{fma}\left(x, 2 \cdot \log \left(\sqrt[3]{y}\right), {\left(x \cdot \log \left({y}^{\frac{1}{3}}\right)\right)}^{1}\right) - y\right) - z\right) + \log tdouble f(double x, double y, double z, double t) {
double r148853 = x;
double r148854 = y;
double r148855 = log(r148854);
double r148856 = r148853 * r148855;
double r148857 = r148856 - r148854;
double r148858 = z;
double r148859 = r148857 - r148858;
double r148860 = t;
double r148861 = log(r148860);
double r148862 = r148859 + r148861;
return r148862;
}
double f(double x, double y, double z, double t) {
double r148863 = x;
double r148864 = 2.0;
double r148865 = y;
double r148866 = cbrt(r148865);
double r148867 = log(r148866);
double r148868 = r148864 * r148867;
double r148869 = 0.3333333333333333;
double r148870 = pow(r148865, r148869);
double r148871 = log(r148870);
double r148872 = r148863 * r148871;
double r148873 = 1.0;
double r148874 = pow(r148872, r148873);
double r148875 = fma(r148863, r148868, r148874);
double r148876 = r148875 - r148865;
double r148877 = z;
double r148878 = r148876 - r148877;
double r148879 = t;
double r148880 = log(r148879);
double r148881 = r148878 + r148880;
return r148881;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
rmApplied fma-def0.1
rmApplied pow10.1
Applied pow10.1
Applied pow-prod-down0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020083 +o rules:numerics
(FPCore (x y z t)
:name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, A"
:precision binary64
(+ (- (- (* x (log y)) y) z) (log t)))