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 r120010 = x;
double r120011 = y;
double r120012 = z;
double r120013 = log(r120012);
double r120014 = t;
double r120015 = r120013 - r120014;
double r120016 = r120011 * r120015;
double r120017 = a;
double r120018 = 1.0;
double r120019 = r120018 - r120012;
double r120020 = log(r120019);
double r120021 = b;
double r120022 = r120020 - r120021;
double r120023 = r120017 * r120022;
double r120024 = r120016 + r120023;
double r120025 = exp(r120024);
double r120026 = r120010 * r120025;
return r120026;
}
double f(double x, double y, double z, double t, double a, double b) {
double r120027 = x;
double r120028 = y;
double r120029 = z;
double r120030 = log(r120029);
double r120031 = t;
double r120032 = r120030 - r120031;
double r120033 = r120028 * r120032;
double r120034 = a;
double r120035 = 1.0;
double r120036 = log(r120035);
double r120037 = 0.5;
double r120038 = 2.0;
double r120039 = pow(r120029, r120038);
double r120040 = pow(r120035, r120038);
double r120041 = r120039 / r120040;
double r120042 = r120037 * r120041;
double r120043 = r120035 * r120029;
double r120044 = r120042 + r120043;
double r120045 = r120036 - r120044;
double r120046 = b;
double r120047 = r120045 - r120046;
double r120048 = r120034 * r120047;
double r120049 = r120033 + r120048;
double r120050 = exp(r120049);
double r120051 = r120027 * r120050;
return r120051;
}



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