x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}e^{\left(\left(\left(\log 1 - z \cdot 1\right) - \frac{\frac{1}{2}}{1} \cdot \frac{{z}^{2}}{1}\right) - b\right) \cdot a + \left(\log z - t\right) \cdot y} \cdot xdouble f(double x, double y, double z, double t, double a, double b) {
double r126581 = x;
double r126582 = y;
double r126583 = z;
double r126584 = log(r126583);
double r126585 = t;
double r126586 = r126584 - r126585;
double r126587 = r126582 * r126586;
double r126588 = a;
double r126589 = 1.0;
double r126590 = r126589 - r126583;
double r126591 = log(r126590);
double r126592 = b;
double r126593 = r126591 - r126592;
double r126594 = r126588 * r126593;
double r126595 = r126587 + r126594;
double r126596 = exp(r126595);
double r126597 = r126581 * r126596;
return r126597;
}
double f(double x, double y, double z, double t, double a, double b) {
double r126598 = 1.0;
double r126599 = log(r126598);
double r126600 = z;
double r126601 = r126600 * r126598;
double r126602 = r126599 - r126601;
double r126603 = 0.5;
double r126604 = r126603 / r126598;
double r126605 = 2.0;
double r126606 = pow(r126600, r126605);
double r126607 = r126606 / r126598;
double r126608 = r126604 * r126607;
double r126609 = r126602 - r126608;
double r126610 = b;
double r126611 = r126609 - r126610;
double r126612 = a;
double r126613 = r126611 * r126612;
double r126614 = log(r126600);
double r126615 = t;
double r126616 = r126614 - r126615;
double r126617 = y;
double r126618 = r126616 * r126617;
double r126619 = r126613 + r126618;
double r126620 = exp(r126619);
double r126621 = x;
double r126622 = r126620 * r126621;
return r126622;
}



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
Simplified0.4
Final simplification0.4
herbie shell --seed 2019194
(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))))))