\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\left(x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}\right) \cdot \frac{1}{y}double f(double x, double y, double z, double t, double a, double b) {
double r61403 = x;
double r61404 = y;
double r61405 = z;
double r61406 = log(r61405);
double r61407 = r61404 * r61406;
double r61408 = t;
double r61409 = 1.0;
double r61410 = r61408 - r61409;
double r61411 = a;
double r61412 = log(r61411);
double r61413 = r61410 * r61412;
double r61414 = r61407 + r61413;
double r61415 = b;
double r61416 = r61414 - r61415;
double r61417 = exp(r61416);
double r61418 = r61403 * r61417;
double r61419 = r61418 / r61404;
return r61419;
}
double f(double x, double y, double z, double t, double a, double b) {
double r61420 = x;
double r61421 = y;
double r61422 = z;
double r61423 = log(r61422);
double r61424 = r61421 * r61423;
double r61425 = t;
double r61426 = 1.0;
double r61427 = r61425 - r61426;
double r61428 = a;
double r61429 = log(r61428);
double r61430 = r61427 * r61429;
double r61431 = r61424 + r61430;
double r61432 = b;
double r61433 = r61431 - r61432;
double r61434 = exp(r61433);
double r61435 = r61420 * r61434;
double r61436 = 1.0;
double r61437 = r61436 / r61421;
double r61438 = r61435 * r61437;
return r61438;
}



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 2.1
rmApplied div-inv2.1
Final simplification2.1
herbie shell --seed 2019325 +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))