\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x \cdot \frac{{a}^{\left(-1\right)}}{e^{b + \left(-\left(\log a \cdot t + \log z \cdot y\right)\right)}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r67190 = x;
double r67191 = y;
double r67192 = z;
double r67193 = log(r67192);
double r67194 = r67191 * r67193;
double r67195 = t;
double r67196 = 1.0;
double r67197 = r67195 - r67196;
double r67198 = a;
double r67199 = log(r67198);
double r67200 = r67197 * r67199;
double r67201 = r67194 + r67200;
double r67202 = b;
double r67203 = r67201 - r67202;
double r67204 = exp(r67203);
double r67205 = r67190 * r67204;
double r67206 = r67205 / r67191;
return r67206;
}
double f(double x, double y, double z, double t, double a, double b) {
double r67207 = x;
double r67208 = a;
double r67209 = 1.0;
double r67210 = -r67209;
double r67211 = pow(r67208, r67210);
double r67212 = b;
double r67213 = log(r67208);
double r67214 = t;
double r67215 = r67213 * r67214;
double r67216 = z;
double r67217 = log(r67216);
double r67218 = y;
double r67219 = r67217 * r67218;
double r67220 = r67215 + r67219;
double r67221 = -r67220;
double r67222 = r67212 + r67221;
double r67223 = exp(r67222);
double r67224 = r67211 / r67223;
double r67225 = r67207 * r67224;
double r67226 = r67225 / r67218;
return r67226;
}



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.2
Taylor expanded around inf 2.2
Simplified1.4
Final simplification1.4
herbie shell --seed 2019208
(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))