\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;x \le -8.9526966727005439 \cdot 10^{73} \lor \neg \left(x \le 1.54253563263351339 \cdot 10^{-62}\right):\\
\;\;\;\;\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}\\
\mathbf{else}:\\
\;\;\;\;{\left(\frac{1}{a}\right)}^{1} \cdot \frac{\frac{1}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{\frac{y}{x}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r212295 = x;
double r212296 = y;
double r212297 = z;
double r212298 = log(r212297);
double r212299 = r212296 * r212298;
double r212300 = t;
double r212301 = 1.0;
double r212302 = r212300 - r212301;
double r212303 = a;
double r212304 = log(r212303);
double r212305 = r212302 * r212304;
double r212306 = r212299 + r212305;
double r212307 = b;
double r212308 = r212306 - r212307;
double r212309 = exp(r212308);
double r212310 = r212295 * r212309;
double r212311 = r212310 / r212296;
return r212311;
}
double f(double x, double y, double z, double t, double a, double b) {
double r212312 = x;
double r212313 = -8.952696672700544e+73;
bool r212314 = r212312 <= r212313;
double r212315 = 1.5425356326335134e-62;
bool r212316 = r212312 <= r212315;
double r212317 = !r212316;
bool r212318 = r212314 || r212317;
double r212319 = 1.0;
double r212320 = a;
double r212321 = r212319 / r212320;
double r212322 = 1.0;
double r212323 = pow(r212321, r212322);
double r212324 = y;
double r212325 = z;
double r212326 = r212319 / r212325;
double r212327 = log(r212326);
double r212328 = r212324 * r212327;
double r212329 = log(r212321);
double r212330 = t;
double r212331 = r212329 * r212330;
double r212332 = b;
double r212333 = r212331 + r212332;
double r212334 = r212328 + r212333;
double r212335 = exp(r212334);
double r212336 = r212323 / r212335;
double r212337 = r212312 * r212336;
double r212338 = r212337 / r212324;
double r212339 = r212319 / r212335;
double r212340 = r212324 / r212312;
double r212341 = r212339 / r212340;
double r212342 = r212323 * r212341;
double r212343 = r212318 ? r212338 : r212342;
return r212343;
}



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
if x < -8.952696672700544e+73 or 1.5425356326335134e-62 < x Initial program 0.9
Taylor expanded around inf 0.9
Simplified0.2
if -8.952696672700544e+73 < x < 1.5425356326335134e-62Initial program 3.0
Taylor expanded around inf 3.0
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied *-un-lft-identity0.4
Applied times-frac0.4
Applied div-inv0.4
Applied times-frac0.4
Simplified0.4
Final simplification0.3
herbie shell --seed 2020057
(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))