x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}\left(x \cdot \left(\sqrt[3]{e^{y \cdot \left(\log z - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}} \cdot \sqrt[3]{e^{y \cdot \left(\log z - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}}\right)\right) \cdot \sqrt[3]{e^{y \cdot \left(\log z - t\right) + a \cdot \left(\left(\log 1 - \left(\frac{1}{2} \cdot \frac{{z}^{2}}{{1}^{2}} + 1 \cdot z\right)\right) - b\right)}}double f(double x, double y, double z, double t, double a, double b) {
double r144432 = x;
double r144433 = y;
double r144434 = z;
double r144435 = log(r144434);
double r144436 = t;
double r144437 = r144435 - r144436;
double r144438 = r144433 * r144437;
double r144439 = a;
double r144440 = 1.0;
double r144441 = r144440 - r144434;
double r144442 = log(r144441);
double r144443 = b;
double r144444 = r144442 - r144443;
double r144445 = r144439 * r144444;
double r144446 = r144438 + r144445;
double r144447 = exp(r144446);
double r144448 = r144432 * r144447;
return r144448;
}
double f(double x, double y, double z, double t, double a, double b) {
double r144449 = x;
double r144450 = y;
double r144451 = z;
double r144452 = log(r144451);
double r144453 = t;
double r144454 = r144452 - r144453;
double r144455 = r144450 * r144454;
double r144456 = a;
double r144457 = 1.0;
double r144458 = log(r144457);
double r144459 = 0.5;
double r144460 = 2.0;
double r144461 = pow(r144451, r144460);
double r144462 = pow(r144457, r144460);
double r144463 = r144461 / r144462;
double r144464 = r144459 * r144463;
double r144465 = r144457 * r144451;
double r144466 = r144464 + r144465;
double r144467 = r144458 - r144466;
double r144468 = b;
double r144469 = r144467 - r144468;
double r144470 = r144456 * r144469;
double r144471 = r144455 + r144470;
double r144472 = exp(r144471);
double r144473 = cbrt(r144472);
double r144474 = r144473 * r144473;
double r144475 = r144449 * r144474;
double r144476 = r144475 * r144473;
return r144476;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Results
Initial program 1.9
Taylor expanded around 0 0.4
rmApplied add-cube-cbrt0.5
Applied associate-*r*0.5
Final simplification0.5
herbie shell --seed 2020034
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
:precision binary64
(* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1 z)) b))))))