\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}x \cdot \frac{\frac{{a}^{\left(-1\right)}}{e^{b - \mathsf{fma}\left(\log z, y, t \cdot \log a\right)}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r66523 = x;
double r66524 = y;
double r66525 = z;
double r66526 = log(r66525);
double r66527 = r66524 * r66526;
double r66528 = t;
double r66529 = 1.0;
double r66530 = r66528 - r66529;
double r66531 = a;
double r66532 = log(r66531);
double r66533 = r66530 * r66532;
double r66534 = r66527 + r66533;
double r66535 = b;
double r66536 = r66534 - r66535;
double r66537 = exp(r66536);
double r66538 = r66523 * r66537;
double r66539 = r66538 / r66524;
return r66539;
}
double f(double x, double y, double z, double t, double a, double b) {
double r66540 = x;
double r66541 = a;
double r66542 = 1.0;
double r66543 = -r66542;
double r66544 = pow(r66541, r66543);
double r66545 = b;
double r66546 = z;
double r66547 = log(r66546);
double r66548 = y;
double r66549 = t;
double r66550 = log(r66541);
double r66551 = r66549 * r66550;
double r66552 = fma(r66547, r66548, r66551);
double r66553 = r66545 - r66552;
double r66554 = exp(r66553);
double r66555 = r66544 / r66554;
double r66556 = r66555 / r66548;
double r66557 = r66540 * r66556;
return r66557;
}



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 2.0
Taylor expanded around inf 2.0
Simplified1.2
rmApplied div-inv1.3
rmApplied associate-*l*1.3
Simplified1.3
Final simplification1.3
herbie shell --seed 2019174 +o rules:numerics
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))