\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^{\mathsf{fma}\left(y, -\log z, \mathsf{fma}\left(-\log a, t, b\right)\right)}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r70661 = x;
double r70662 = y;
double r70663 = z;
double r70664 = log(r70663);
double r70665 = r70662 * r70664;
double r70666 = t;
double r70667 = 1.0;
double r70668 = r70666 - r70667;
double r70669 = a;
double r70670 = log(r70669);
double r70671 = r70668 * r70670;
double r70672 = r70665 + r70671;
double r70673 = b;
double r70674 = r70672 - r70673;
double r70675 = exp(r70674);
double r70676 = r70661 * r70675;
double r70677 = r70676 / r70662;
return r70677;
}
double f(double x, double y, double z, double t, double a, double b) {
double r70678 = x;
double r70679 = a;
double r70680 = 1.0;
double r70681 = -r70680;
double r70682 = pow(r70679, r70681);
double r70683 = y;
double r70684 = z;
double r70685 = log(r70684);
double r70686 = -r70685;
double r70687 = log(r70679);
double r70688 = -r70687;
double r70689 = t;
double r70690 = b;
double r70691 = fma(r70688, r70689, r70690);
double r70692 = fma(r70683, r70686, r70691);
double r70693 = exp(r70692);
double r70694 = r70682 / r70693;
double r70695 = r70678 * r70694;
double r70696 = r70695 / r70683;
return r70696;
}



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.3
Final simplification1.3
herbie shell --seed 2019305 +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))