\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 r203416 = x;
double r203417 = y;
double r203418 = z;
double r203419 = log(r203418);
double r203420 = r203417 * r203419;
double r203421 = t;
double r203422 = 1.0;
double r203423 = r203421 - r203422;
double r203424 = a;
double r203425 = log(r203424);
double r203426 = r203423 * r203425;
double r203427 = r203420 + r203426;
double r203428 = b;
double r203429 = r203427 - r203428;
double r203430 = exp(r203429);
double r203431 = r203416 * r203430;
double r203432 = r203431 / r203417;
return r203432;
}
double f(double x, double y, double z, double t, double a, double b) {
double r203433 = x;
double r203434 = y;
double r203435 = z;
double r203436 = log(r203435);
double r203437 = r203434 * r203436;
double r203438 = t;
double r203439 = 1.0;
double r203440 = r203438 - r203439;
double r203441 = a;
double r203442 = log(r203441);
double r203443 = r203440 * r203442;
double r203444 = r203437 + r203443;
double r203445 = b;
double r203446 = r203444 - r203445;
double r203447 = exp(r203446);
double r203448 = r203433 * r203447;
double r203449 = r203448 / r203434;
return r203449;
}



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 2019304 +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))