\left(\left(x \cdot \log y - y\right) - z\right) + \log t
\left(\left(\left(x \cdot \left(2 \cdot \log \left(\sqrt[3]{y}\right)\right) + \left(0 + x \cdot \log \left({y}^{\frac{1}{3}}\right)\right)\right) - y\right) - z\right) + \log tdouble f(double x, double y, double z, double t) {
double r128388 = x;
double r128389 = y;
double r128390 = log(r128389);
double r128391 = r128388 * r128390;
double r128392 = r128391 - r128389;
double r128393 = z;
double r128394 = r128392 - r128393;
double r128395 = t;
double r128396 = log(r128395);
double r128397 = r128394 + r128396;
return r128397;
}
double f(double x, double y, double z, double t) {
double r128398 = x;
double r128399 = 2.0;
double r128400 = y;
double r128401 = cbrt(r128400);
double r128402 = log(r128401);
double r128403 = r128399 * r128402;
double r128404 = r128398 * r128403;
double r128405 = 0.0;
double r128406 = 0.3333333333333333;
double r128407 = pow(r128400, r128406);
double r128408 = log(r128407);
double r128409 = r128398 * r128408;
double r128410 = r128405 + r128409;
double r128411 = r128404 + r128410;
double r128412 = r128411 - r128400;
double r128413 = z;
double r128414 = r128412 - r128413;
double r128415 = t;
double r128416 = log(r128415);
double r128417 = r128414 + r128416;
return r128417;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
rmApplied *-un-lft-identity0.1
Applied cbrt-prod0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020065
(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)))