x \cdot e^{y \cdot \left(\log z - t\right) + a \cdot \left(\log \left(1 - z\right) - b\right)}x \cdot 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 r116729 = x;
double r116730 = y;
double r116731 = z;
double r116732 = log(r116731);
double r116733 = t;
double r116734 = r116732 - r116733;
double r116735 = r116730 * r116734;
double r116736 = a;
double r116737 = 1.0;
double r116738 = r116737 - r116731;
double r116739 = log(r116738);
double r116740 = b;
double r116741 = r116739 - r116740;
double r116742 = r116736 * r116741;
double r116743 = r116735 + r116742;
double r116744 = exp(r116743);
double r116745 = r116729 * r116744;
return r116745;
}
double f(double x, double y, double z, double t, double a, double b) {
double r116746 = x;
double r116747 = y;
double r116748 = z;
double r116749 = log(r116748);
double r116750 = t;
double r116751 = r116749 - r116750;
double r116752 = r116747 * r116751;
double r116753 = a;
double r116754 = 1.0;
double r116755 = log(r116754);
double r116756 = 0.5;
double r116757 = 2.0;
double r116758 = pow(r116748, r116757);
double r116759 = pow(r116754, r116757);
double r116760 = r116758 / r116759;
double r116761 = r116756 * r116760;
double r116762 = r116754 * r116748;
double r116763 = r116761 + r116762;
double r116764 = r116755 - r116763;
double r116765 = b;
double r116766 = r116764 - r116765;
double r116767 = r116753 * r116766;
double r116768 = r116752 + r116767;
double r116769 = exp(r116768);
double r116770 = r116746 * r116769;
return r116770;
}



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.2
Taylor expanded around 0 0.5
Final simplification0.5
herbie shell --seed 2020045
(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))))))