\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 r80735 = x;
double r80736 = y;
double r80737 = z;
double r80738 = log(r80737);
double r80739 = r80736 * r80738;
double r80740 = t;
double r80741 = 1.0;
double r80742 = r80740 - r80741;
double r80743 = a;
double r80744 = log(r80743);
double r80745 = r80742 * r80744;
double r80746 = r80739 + r80745;
double r80747 = b;
double r80748 = r80746 - r80747;
double r80749 = exp(r80748);
double r80750 = r80735 * r80749;
double r80751 = r80750 / r80736;
return r80751;
}
double f(double x, double y, double z, double t, double a, double b) {
double r80752 = x;
double r80753 = y;
double r80754 = z;
double r80755 = log(r80754);
double r80756 = r80753 * r80755;
double r80757 = t;
double r80758 = 1.0;
double r80759 = r80757 - r80758;
double r80760 = a;
double r80761 = log(r80760);
double r80762 = r80759 * r80761;
double r80763 = r80756 + r80762;
double r80764 = b;
double r80765 = r80763 - r80764;
double r80766 = exp(r80765);
double r80767 = r80752 * r80766;
double r80768 = r80767 / r80753;
return r80768;
}



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.1
Final simplification2.1
herbie shell --seed 2020043
(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))