\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;b \le -4.56357796438428046 \cdot 10^{-228} \lor \neg \left(b \le 1.2486298280538037 \cdot 10^{-238}\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}:\\
\;\;\;\;x \cdot \left(\frac{{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt{a}}\right)}^{1}}{e^{\log \left(\frac{1}{a}\right) \cdot t + b}} \cdot \frac{\frac{{\left(\frac{\sqrt[3]{1}}{\sqrt{a}}\right)}^{1}}{{\left(\frac{1}{z}\right)}^{y}}}{y}\right)\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r83524 = x;
double r83525 = y;
double r83526 = z;
double r83527 = log(r83526);
double r83528 = r83525 * r83527;
double r83529 = t;
double r83530 = 1.0;
double r83531 = r83529 - r83530;
double r83532 = a;
double r83533 = log(r83532);
double r83534 = r83531 * r83533;
double r83535 = r83528 + r83534;
double r83536 = b;
double r83537 = r83535 - r83536;
double r83538 = exp(r83537);
double r83539 = r83524 * r83538;
double r83540 = r83539 / r83525;
return r83540;
}
double f(double x, double y, double z, double t, double a, double b) {
double r83541 = b;
double r83542 = -4.5635779643842805e-228;
bool r83543 = r83541 <= r83542;
double r83544 = 1.2486298280538037e-238;
bool r83545 = r83541 <= r83544;
double r83546 = !r83545;
bool r83547 = r83543 || r83546;
double r83548 = x;
double r83549 = 1.0;
double r83550 = a;
double r83551 = r83549 / r83550;
double r83552 = 1.0;
double r83553 = pow(r83551, r83552);
double r83554 = y;
double r83555 = z;
double r83556 = r83549 / r83555;
double r83557 = log(r83556);
double r83558 = r83554 * r83557;
double r83559 = log(r83551);
double r83560 = t;
double r83561 = r83559 * r83560;
double r83562 = r83561 + r83541;
double r83563 = r83558 + r83562;
double r83564 = exp(r83563);
double r83565 = r83553 / r83564;
double r83566 = r83548 * r83565;
double r83567 = r83566 / r83554;
double r83568 = cbrt(r83549);
double r83569 = r83568 * r83568;
double r83570 = sqrt(r83550);
double r83571 = r83569 / r83570;
double r83572 = pow(r83571, r83552);
double r83573 = exp(r83562);
double r83574 = r83572 / r83573;
double r83575 = r83568 / r83570;
double r83576 = pow(r83575, r83552);
double r83577 = pow(r83556, r83554);
double r83578 = r83576 / r83577;
double r83579 = r83578 / r83554;
double r83580 = r83574 * r83579;
double r83581 = r83548 * r83580;
double r83582 = r83547 ? r83567 : r83581;
return r83582;
}



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 b < -4.5635779643842805e-228 or 1.2486298280538037e-238 < b Initial program 1.7
Taylor expanded around inf 1.7
Simplified1.1
if -4.5635779643842805e-228 < b < 1.2486298280538037e-238Initial program 3.8
Taylor expanded around inf 3.8
Simplified2.5
rmApplied *-un-lft-identity2.5
Applied times-frac2.8
Simplified2.8
Simplified9.8
rmApplied *-un-lft-identity9.8
Applied add-sqr-sqrt9.8
Applied add-cube-cbrt9.8
Applied times-frac9.9
Applied unpow-prod-down9.9
Applied times-frac9.9
Applied times-frac11.5
Simplified11.5
Final simplification2.4
herbie shell --seed 2020027
(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))