\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 r54648 = x;
double r54649 = y;
double r54650 = z;
double r54651 = log(r54650);
double r54652 = r54649 * r54651;
double r54653 = t;
double r54654 = 1.0;
double r54655 = r54653 - r54654;
double r54656 = a;
double r54657 = log(r54656);
double r54658 = r54655 * r54657;
double r54659 = r54652 + r54658;
double r54660 = b;
double r54661 = r54659 - r54660;
double r54662 = exp(r54661);
double r54663 = r54648 * r54662;
double r54664 = r54663 / r54649;
return r54664;
}
double f(double x, double y, double z, double t, double a, double b) {
double r54665 = x;
double r54666 = y;
double r54667 = z;
double r54668 = log(r54667);
double r54669 = r54666 * r54668;
double r54670 = t;
double r54671 = 1.0;
double r54672 = r54670 - r54671;
double r54673 = a;
double r54674 = log(r54673);
double r54675 = r54672 * r54674;
double r54676 = r54669 + r54675;
double r54677 = b;
double r54678 = r54676 - r54677;
double r54679 = exp(r54678);
double r54680 = r54665 * r54679;
double r54681 = r54680 / r54666;
return r54681;
}



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
Final simplification1.9
herbie shell --seed 2019326 +o rules:numerics
(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))