\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;y \le -2.57110383934263432 \cdot 10^{-203} \lor \neg \left(y \le 0.139731382195094705\right):\\
\;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{{a}^{\left(-1\right)}}{{\left(\frac{1}{z}\right)}^{y}}}{e^{\left(-\log a\right) \cdot t + b}} \cdot \frac{1}{y}}{\frac{1}{x}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r963637 = x;
double r963638 = y;
double r963639 = z;
double r963640 = log(r963639);
double r963641 = r963638 * r963640;
double r963642 = t;
double r963643 = 1.0;
double r963644 = r963642 - r963643;
double r963645 = a;
double r963646 = log(r963645);
double r963647 = r963644 * r963646;
double r963648 = r963641 + r963647;
double r963649 = b;
double r963650 = r963648 - r963649;
double r963651 = exp(r963650);
double r963652 = r963637 * r963651;
double r963653 = r963652 / r963638;
return r963653;
}
double f(double x, double y, double z, double t, double a, double b) {
double r963654 = y;
double r963655 = -2.5711038393426343e-203;
bool r963656 = r963654 <= r963655;
double r963657 = 0.1397313821950947;
bool r963658 = r963654 <= r963657;
double r963659 = !r963658;
bool r963660 = r963656 || r963659;
double r963661 = x;
double r963662 = z;
double r963663 = log(r963662);
double r963664 = r963654 * r963663;
double r963665 = t;
double r963666 = 1.0;
double r963667 = r963665 - r963666;
double r963668 = a;
double r963669 = log(r963668);
double r963670 = r963667 * r963669;
double r963671 = r963664 + r963670;
double r963672 = b;
double r963673 = r963671 - r963672;
double r963674 = exp(r963673);
double r963675 = r963661 * r963674;
double r963676 = r963675 / r963654;
double r963677 = -r963666;
double r963678 = pow(r963668, r963677);
double r963679 = 1.0;
double r963680 = r963679 / r963662;
double r963681 = pow(r963680, r963654);
double r963682 = r963678 / r963681;
double r963683 = -r963669;
double r963684 = r963683 * r963665;
double r963685 = r963684 + r963672;
double r963686 = exp(r963685);
double r963687 = r963682 / r963686;
double r963688 = r963679 / r963654;
double r963689 = r963687 * r963688;
double r963690 = r963679 / r963661;
double r963691 = r963689 / r963690;
double r963692 = r963660 ? r963676 : r963691;
return r963692;
}



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 y < -2.5711038393426343e-203 or 0.1397313821950947 < y Initial program 0.9
if -2.5711038393426343e-203 < y < 0.1397313821950947Initial program 3.5
Taylor expanded around inf 3.5
Simplified14.1
rmApplied div-inv14.1
Applied associate-/r*2.6
rmApplied div-inv2.7
Final simplification1.5
herbie shell --seed 2019199
(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))