\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r91771 = x;
double r91772 = y;
double r91773 = z;
double r91774 = log(r91773);
double r91775 = r91772 * r91774;
double r91776 = t;
double r91777 = 1.0;
double r91778 = r91776 - r91777;
double r91779 = a;
double r91780 = log(r91779);
double r91781 = r91778 * r91780;
double r91782 = r91775 + r91781;
double r91783 = b;
double r91784 = r91782 - r91783;
double r91785 = exp(r91784);
double r91786 = r91771 * r91785;
double r91787 = r91786 / r91772;
return r91787;
}
double f(double x, double y, double z, double t, double a, double b) {
double r91788 = x;
double r91789 = 1.0;
double r91790 = a;
double r91791 = r91789 / r91790;
double r91792 = 1.0;
double r91793 = pow(r91791, r91792);
double r91794 = y;
double r91795 = z;
double r91796 = r91789 / r91795;
double r91797 = log(r91796);
double r91798 = r91794 * r91797;
double r91799 = log(r91791);
double r91800 = t;
double r91801 = r91799 * r91800;
double r91802 = b;
double r91803 = r91801 + r91802;
double r91804 = r91798 + r91803;
double r91805 = exp(r91804);
double r91806 = r91793 / r91805;
double r91807 = r91788 * r91806;
double r91808 = r91807 / r91794;
return r91808;
}



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.9
Taylor expanded around inf 1.9
Simplified1.1
Final simplification1.1
herbie shell --seed 2020001
(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))