\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{\frac{{\left(\frac{1}{a}\right)}^{1}}{\frac{\frac{y}{{z}^{y}}}{x}}}{\frac{e^{b}}{{a}^{t}}}double f(double x, double y, double z, double t, double a, double b) {
double r186516 = x;
double r186517 = y;
double r186518 = z;
double r186519 = log(r186518);
double r186520 = r186517 * r186519;
double r186521 = t;
double r186522 = 1.0;
double r186523 = r186521 - r186522;
double r186524 = a;
double r186525 = log(r186524);
double r186526 = r186523 * r186525;
double r186527 = r186520 + r186526;
double r186528 = b;
double r186529 = r186527 - r186528;
double r186530 = exp(r186529);
double r186531 = r186516 * r186530;
double r186532 = r186531 / r186517;
return r186532;
}
double f(double x, double y, double z, double t, double a, double b) {
double r186533 = 1.0;
double r186534 = a;
double r186535 = r186533 / r186534;
double r186536 = 1.0;
double r186537 = pow(r186535, r186536);
double r186538 = y;
double r186539 = z;
double r186540 = pow(r186539, r186538);
double r186541 = r186538 / r186540;
double r186542 = x;
double r186543 = r186541 / r186542;
double r186544 = r186537 / r186543;
double r186545 = b;
double r186546 = exp(r186545);
double r186547 = t;
double r186548 = pow(r186534, r186547);
double r186549 = r186546 / r186548;
double r186550 = r186544 / r186549;
return r186550;
}



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
rmApplied add-cube-cbrt1.9
Taylor expanded around inf 1.9
Simplified6.5
rmApplied div-inv6.5
Applied associate-/r*1.4
Final simplification25.1
herbie shell --seed 2019304
(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))