x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}x \cdot \left(\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) \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)double f(double x, double y, double z, double t, double a, double b) {
double r143424 = x;
double r143425 = y;
double r143426 = z;
double r143427 = log(r143426);
double r143428 = t;
double r143429 = r143427 - r143428;
double r143430 = r143425 * r143429;
double r143431 = a;
double r143432 = 1.0;
double r143433 = r143432 - r143426;
double r143434 = log(r143433);
double r143435 = b;
double r143436 = r143434 - r143435;
double r143437 = r143431 * r143436;
double r143438 = r143430 + r143437;
double r143439 = exp(r143438);
double r143440 = r143424 * r143439;
return r143440;
}
double f(double x, double y, double z, double t, double a, double b) {
double r143441 = x;
double r143442 = y;
double r143443 = z;
double r143444 = log(r143443);
double r143445 = t;
double r143446 = r143444 - r143445;
double r143447 = r143442 * r143446;
double r143448 = a;
double r143449 = 1.0;
double r143450 = log(r143449);
double r143451 = 0.5;
double r143452 = 2.0;
double r143453 = pow(r143443, r143452);
double r143454 = pow(r143449, r143452);
double r143455 = r143453 / r143454;
double r143456 = r143451 * r143455;
double r143457 = r143449 * r143443;
double r143458 = r143456 + r143457;
double r143459 = r143450 - r143458;
double r143460 = b;
double r143461 = r143459 - r143460;
double r143462 = r143448 * r143461;
double r143463 = r143447 + r143462;
double r143464 = exp(r143463);
double r143465 = cbrt(r143464);
double r143466 = r143465 * r143465;
double r143467 = r143466 * r143465;
double r143468 = r143441 * r143467;
return r143468;
}



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 2.0
Taylor expanded around 0 0.4
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2020047
(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))))))