\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{e^{-1 \cdot \left(\log z \cdot y\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r98283 = x;
double r98284 = y;
double r98285 = z;
double r98286 = log(r98285);
double r98287 = r98284 * r98286;
double r98288 = t;
double r98289 = 1.0;
double r98290 = r98288 - r98289;
double r98291 = a;
double r98292 = log(r98291);
double r98293 = r98290 * r98292;
double r98294 = r98287 + r98293;
double r98295 = b;
double r98296 = r98294 - r98295;
double r98297 = exp(r98296);
double r98298 = r98283 * r98297;
double r98299 = r98298 / r98284;
return r98299;
}
double f(double x, double y, double z, double t, double a, double b) {
double r98300 = x;
double r98301 = 1.0;
double r98302 = a;
double r98303 = r98301 / r98302;
double r98304 = 1.0;
double r98305 = pow(r98303, r98304);
double r98306 = -1.0;
double r98307 = z;
double r98308 = log(r98307);
double r98309 = y;
double r98310 = r98308 * r98309;
double r98311 = r98306 * r98310;
double r98312 = log(r98303);
double r98313 = t;
double r98314 = r98312 * r98313;
double r98315 = b;
double r98316 = r98314 + r98315;
double r98317 = r98311 + r98316;
double r98318 = exp(r98317);
double r98319 = r98305 / r98318;
double r98320 = r98300 * r98319;
double r98321 = r98320 / r98309;
return r98321;
}



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.8
Taylor expanded around inf 1.8
Simplified1.2
Taylor expanded around 0 1.2
Final simplification1.2
herbie shell --seed 2020020
(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))