x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}e^{a \cdot \left(\left(\left(\log 1 - z \cdot 1\right) - \frac{\frac{1}{2}}{\frac{1}{z} \cdot \frac{1}{z}}\right) - b\right) + \left(\log z - t\right) \cdot y} \cdot xdouble f(double x, double y, double z, double t, double a, double b) {
double r8664615 = x;
double r8664616 = y;
double r8664617 = z;
double r8664618 = log(r8664617);
double r8664619 = t;
double r8664620 = r8664618 - r8664619;
double r8664621 = r8664616 * r8664620;
double r8664622 = a;
double r8664623 = 1.0;
double r8664624 = r8664623 - r8664617;
double r8664625 = log(r8664624);
double r8664626 = b;
double r8664627 = r8664625 - r8664626;
double r8664628 = r8664622 * r8664627;
double r8664629 = r8664621 + r8664628;
double r8664630 = exp(r8664629);
double r8664631 = r8664615 * r8664630;
return r8664631;
}
double f(double x, double y, double z, double t, double a, double b) {
double r8664632 = a;
double r8664633 = 1.0;
double r8664634 = log(r8664633);
double r8664635 = z;
double r8664636 = r8664635 * r8664633;
double r8664637 = r8664634 - r8664636;
double r8664638 = 0.5;
double r8664639 = r8664633 / r8664635;
double r8664640 = r8664639 * r8664639;
double r8664641 = r8664638 / r8664640;
double r8664642 = r8664637 - r8664641;
double r8664643 = b;
double r8664644 = r8664642 - r8664643;
double r8664645 = r8664632 * r8664644;
double r8664646 = log(r8664635);
double r8664647 = t;
double r8664648 = r8664646 - r8664647;
double r8664649 = y;
double r8664650 = r8664648 * r8664649;
double r8664651 = r8664645 + r8664650;
double r8664652 = exp(r8664651);
double r8664653 = x;
double r8664654 = r8664652 * r8664653;
return r8664654;
}



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
Simplified0.4
Final simplification0.4
herbie shell --seed 2019169
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaApprox from math-functions-0.1.5.2, B"
(* x (exp (+ (* y (- (log z) t)) (* a (- (log (- 1.0 z)) b))))))