\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;\left(t - 1\right) \cdot \log a \le -173011673.0759815275669097900390625 \lor \neg \left(\left(t - 1\right) \cdot \log a \le 145.8223216718689627668936736881732940674\right):\\
\;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left(\frac{1}{{a}^{1}}\right)}^{1}}{y} \cdot \left(e^{\left(y \cdot \log z - \left(-\log a\right) \cdot t\right) - b} \cdot x\right)\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r62652 = x;
double r62653 = y;
double r62654 = z;
double r62655 = log(r62654);
double r62656 = r62653 * r62655;
double r62657 = t;
double r62658 = 1.0;
double r62659 = r62657 - r62658;
double r62660 = a;
double r62661 = log(r62660);
double r62662 = r62659 * r62661;
double r62663 = r62656 + r62662;
double r62664 = b;
double r62665 = r62663 - r62664;
double r62666 = exp(r62665);
double r62667 = r62652 * r62666;
double r62668 = r62667 / r62653;
return r62668;
}
double f(double x, double y, double z, double t, double a, double b) {
double r62669 = t;
double r62670 = 1.0;
double r62671 = r62669 - r62670;
double r62672 = a;
double r62673 = log(r62672);
double r62674 = r62671 * r62673;
double r62675 = -173011673.07598153;
bool r62676 = r62674 <= r62675;
double r62677 = 145.82232167186896;
bool r62678 = r62674 <= r62677;
double r62679 = !r62678;
bool r62680 = r62676 || r62679;
double r62681 = x;
double r62682 = y;
double r62683 = z;
double r62684 = log(r62683);
double r62685 = r62682 * r62684;
double r62686 = r62685 + r62674;
double r62687 = b;
double r62688 = r62686 - r62687;
double r62689 = exp(r62688);
double r62690 = r62681 * r62689;
double r62691 = r62690 / r62682;
double r62692 = 1.0;
double r62693 = pow(r62672, r62670);
double r62694 = r62692 / r62693;
double r62695 = pow(r62694, r62670);
double r62696 = r62695 / r62682;
double r62697 = -r62673;
double r62698 = r62697 * r62669;
double r62699 = r62685 - r62698;
double r62700 = r62699 - r62687;
double r62701 = exp(r62700);
double r62702 = r62701 * r62681;
double r62703 = r62696 * r62702;
double r62704 = r62680 ? r62691 : r62703;
return r62704;
}



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 (* (- t 1.0) (log a)) < -173011673.07598153 or 145.82232167186896 < (* (- t 1.0) (log a)) Initial program 0.4
if -173011673.07598153 < (* (- t 1.0) (log a)) < 145.82232167186896Initial program 5.2
rmApplied associate-/l*2.2
Simplified7.7
rmApplied pow-sub7.6
Applied associate-*l/7.6
Applied associate-/l/7.6
Taylor expanded around inf 10.8
Simplified0.9
Final simplification0.6
herbie shell --seed 2019325
(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))