\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x \cdot e^{\left(\log a \cdot \left(t - 1\right) + \log z \cdot y\right) - b}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r71579 = x;
double r71580 = y;
double r71581 = z;
double r71582 = log(r71581);
double r71583 = r71580 * r71582;
double r71584 = t;
double r71585 = 1.0;
double r71586 = r71584 - r71585;
double r71587 = a;
double r71588 = log(r71587);
double r71589 = r71586 * r71588;
double r71590 = r71583 + r71589;
double r71591 = b;
double r71592 = r71590 - r71591;
double r71593 = exp(r71592);
double r71594 = r71579 * r71593;
double r71595 = r71594 / r71580;
return r71595;
}
double f(double x, double y, double z, double t, double a, double b) {
double r71596 = x;
double r71597 = a;
double r71598 = log(r71597);
double r71599 = t;
double r71600 = 1.0;
double r71601 = r71599 - r71600;
double r71602 = r71598 * r71601;
double r71603 = z;
double r71604 = log(r71603);
double r71605 = y;
double r71606 = r71604 * r71605;
double r71607 = r71602 + r71606;
double r71608 = b;
double r71609 = r71607 - r71608;
double r71610 = exp(r71609);
double r71611 = r71596 * r71610;
double r71612 = r71611 / r71605;
return r71612;
}



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 2019195
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))