\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x}{\left(y \cdot e^{\left(b - \log a \cdot t\right) - \log z \cdot y}\right) \cdot \frac{1}{{a}^{\left(-1\right)}}}double f(double x, double y, double z, double t, double a, double b) {
double r71346 = x;
double r71347 = y;
double r71348 = z;
double r71349 = log(r71348);
double r71350 = r71347 * r71349;
double r71351 = t;
double r71352 = 1.0;
double r71353 = r71351 - r71352;
double r71354 = a;
double r71355 = log(r71354);
double r71356 = r71353 * r71355;
double r71357 = r71350 + r71356;
double r71358 = b;
double r71359 = r71357 - r71358;
double r71360 = exp(r71359);
double r71361 = r71346 * r71360;
double r71362 = r71361 / r71347;
return r71362;
}
double f(double x, double y, double z, double t, double a, double b) {
double r71363 = x;
double r71364 = y;
double r71365 = b;
double r71366 = a;
double r71367 = log(r71366);
double r71368 = t;
double r71369 = r71367 * r71368;
double r71370 = r71365 - r71369;
double r71371 = z;
double r71372 = log(r71371);
double r71373 = r71372 * r71364;
double r71374 = r71370 - r71373;
double r71375 = exp(r71374);
double r71376 = r71364 * r71375;
double r71377 = 1.0;
double r71378 = 1.0;
double r71379 = -r71378;
double r71380 = pow(r71366, r71379);
double r71381 = r71377 / r71380;
double r71382 = r71376 * r71381;
double r71383 = r71363 / r71382;
return r71383;
}



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
Taylor expanded around inf 1.9
Simplified1.1
rmApplied associate-/l*1.5
Simplified1.5
rmApplied div-inv1.5
Final simplification1.5
herbie shell --seed 2019209
(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))