\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^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r96144 = x;
double r96145 = y;
double r96146 = z;
double r96147 = log(r96146);
double r96148 = r96145 * r96147;
double r96149 = t;
double r96150 = 1.0;
double r96151 = r96149 - r96150;
double r96152 = a;
double r96153 = log(r96152);
double r96154 = r96151 * r96153;
double r96155 = r96148 + r96154;
double r96156 = b;
double r96157 = r96155 - r96156;
double r96158 = exp(r96157);
double r96159 = r96144 * r96158;
double r96160 = r96159 / r96145;
return r96160;
}
double f(double x, double y, double z, double t, double a, double b) {
double r96161 = x;
double r96162 = 1.0;
double r96163 = a;
double r96164 = r96162 / r96163;
double r96165 = 1.0;
double r96166 = pow(r96164, r96165);
double r96167 = y;
double r96168 = z;
double r96169 = r96162 / r96168;
double r96170 = log(r96169);
double r96171 = r96167 * r96170;
double r96172 = log(r96164);
double r96173 = t;
double r96174 = r96172 * r96173;
double r96175 = b;
double r96176 = r96174 + r96175;
double r96177 = r96171 + r96176;
double r96178 = exp(r96177);
double r96179 = r96166 / r96178;
double r96180 = r96161 * r96179;
double r96181 = r96180 / r96167;
return r96181;
}



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