\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 r51616 = x;
double r51617 = y;
double r51618 = z;
double r51619 = log(r51618);
double r51620 = r51617 * r51619;
double r51621 = t;
double r51622 = 1.0;
double r51623 = r51621 - r51622;
double r51624 = a;
double r51625 = log(r51624);
double r51626 = r51623 * r51625;
double r51627 = r51620 + r51626;
double r51628 = b;
double r51629 = r51627 - r51628;
double r51630 = exp(r51629);
double r51631 = r51616 * r51630;
double r51632 = r51631 / r51617;
return r51632;
}
double f(double x, double y, double z, double t, double a, double b) {
double r51633 = x;
double r51634 = y;
double r51635 = z;
double r51636 = log(r51635);
double r51637 = r51634 * r51636;
double r51638 = t;
double r51639 = 1.0;
double r51640 = r51638 - r51639;
double r51641 = a;
double r51642 = log(r51641);
double r51643 = r51640 * r51642;
double r51644 = r51637 + r51643;
double r51645 = b;
double r51646 = r51644 - r51645;
double r51647 = exp(r51646);
double r51648 = r51633 * r51647;
double r51649 = r51648 / r51634;
return r51649;
}



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
(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))