\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{\frac{{a}^{\left(-1\right)}}{e^{\mathsf{fma}\left(y, -\log z, \mathsf{fma}\left(-\log a, t, b\right)\right)}}}{y} \cdot xdouble f(double x, double y, double z, double t, double a, double b) {
double r85029 = x;
double r85030 = y;
double r85031 = z;
double r85032 = log(r85031);
double r85033 = r85030 * r85032;
double r85034 = t;
double r85035 = 1.0;
double r85036 = r85034 - r85035;
double r85037 = a;
double r85038 = log(r85037);
double r85039 = r85036 * r85038;
double r85040 = r85033 + r85039;
double r85041 = b;
double r85042 = r85040 - r85041;
double r85043 = exp(r85042);
double r85044 = r85029 * r85043;
double r85045 = r85044 / r85030;
return r85045;
}
double f(double x, double y, double z, double t, double a, double b) {
double r85046 = a;
double r85047 = 1.0;
double r85048 = -r85047;
double r85049 = pow(r85046, r85048);
double r85050 = y;
double r85051 = z;
double r85052 = log(r85051);
double r85053 = -r85052;
double r85054 = log(r85046);
double r85055 = -r85054;
double r85056 = t;
double r85057 = b;
double r85058 = fma(r85055, r85056, r85057);
double r85059 = fma(r85050, r85053, r85058);
double r85060 = exp(r85059);
double r85061 = r85049 / r85060;
double r85062 = r85061 / r85050;
double r85063 = x;
double r85064 = r85062 * r85063;
return r85064;
}



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.8
Taylor expanded around inf 1.8
Simplified5.9
rmApplied associate-/r/1.3
Final simplification1.3
herbie shell --seed 2019199 +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))