\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^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r98434 = x;
double r98435 = y;
double r98436 = z;
double r98437 = log(r98436);
double r98438 = r98435 * r98437;
double r98439 = t;
double r98440 = 1.0;
double r98441 = r98439 - r98440;
double r98442 = a;
double r98443 = log(r98442);
double r98444 = r98441 * r98443;
double r98445 = r98438 + r98444;
double r98446 = b;
double r98447 = r98445 - r98446;
double r98448 = exp(r98447);
double r98449 = r98434 * r98448;
double r98450 = r98449 / r98435;
return r98450;
}
double f(double x, double y, double z, double t, double a, double b) {
double r98451 = x;
double r98452 = 1.0;
double r98453 = a;
double r98454 = r98452 / r98453;
double r98455 = 1.0;
double r98456 = pow(r98454, r98455);
double r98457 = y;
double r98458 = z;
double r98459 = r98452 / r98458;
double r98460 = log(r98459);
double r98461 = log(r98454);
double r98462 = t;
double r98463 = b;
double r98464 = fma(r98461, r98462, r98463);
double r98465 = fma(r98457, r98460, r98464);
double r98466 = exp(r98465);
double r98467 = r98456 / r98466;
double r98468 = r98451 * r98467;
double r98469 = r98468 / r98457;
return r98469;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Initial program 1.9
Taylor expanded around inf 1.9
Simplified1.2
Final simplification1.2
herbie shell --seed 2020083 +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))