\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r87927 = x;
double r87928 = y;
double r87929 = z;
double r87930 = log(r87929);
double r87931 = r87928 * r87930;
double r87932 = t;
double r87933 = 1.0;
double r87934 = r87932 - r87933;
double r87935 = a;
double r87936 = log(r87935);
double r87937 = r87934 * r87936;
double r87938 = r87931 + r87937;
double r87939 = b;
double r87940 = r87938 - r87939;
double r87941 = exp(r87940);
double r87942 = r87927 * r87941;
double r87943 = r87942 / r87928;
return r87943;
}
double f(double x, double y, double z, double t, double a, double b) {
double r87944 = x;
double r87945 = y;
double r87946 = z;
double r87947 = log(r87946);
double r87948 = r87945 * r87947;
double r87949 = t;
double r87950 = 1.0;
double r87951 = r87949 - r87950;
double r87952 = a;
double r87953 = log(r87952);
double r87954 = r87951 * r87953;
double r87955 = r87948 + r87954;
double r87956 = b;
double r87957 = r87955 - r87956;
double r87958 = exp(r87957);
double r87959 = r87944 * r87958;
double r87960 = r87959 / r87945;
return r87960;
}



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.7
Final simplification1.7
herbie shell --seed 2019351
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1) (log a))) b))) y))