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 r100845 = x;
double r100846 = y;
double r100847 = z;
double r100848 = log(r100847);
double r100849 = t;
double r100850 = r100848 - r100849;
double r100851 = r100846 * r100850;
double r100852 = a;
double r100853 = 1.0;
double r100854 = r100853 - r100847;
double r100855 = log(r100854);
double r100856 = b;
double r100857 = r100855 - r100856;
double r100858 = r100852 * r100857;
double r100859 = r100851 + r100858;
double r100860 = exp(r100859);
double r100861 = r100845 * r100860;
return r100861;
}
double f(double x, double y, double z, double t, double a, double b) {
double r100862 = x;
double r100863 = y;
double r100864 = z;
double r100865 = log(r100864);
double r100866 = t;
double r100867 = r100865 - r100866;
double r100868 = r100863 * r100867;
double r100869 = a;
double r100870 = 1.0;
double r100871 = log(r100870);
double r100872 = 0.5;
double r100873 = 2.0;
double r100874 = pow(r100864, r100873);
double r100875 = pow(r100870, r100873);
double r100876 = r100874 / r100875;
double r100877 = r100872 * r100876;
double r100878 = r100870 * r100864;
double r100879 = r100877 + r100878;
double r100880 = r100871 - r100879;
double r100881 = b;
double r100882 = r100880 - r100881;
double r100883 = r100869 * r100882;
double r100884 = r100868 + r100883;
double r100885 = exp(r100884);
double r100886 = r100862 * r100885;
return r100886;
}



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