\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 -693.5771125449351757197291590273380279541 \lor \neg \left(\left(t - 1\right) \cdot \log a \le -115.603317971975243949600553605705499649\right):\\
\;\;\;\;\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{\frac{\frac{{a}^{\left(-1\right)}}{{\left(\frac{1}{z}\right)}^{y}}}{e^{\left(-\log a\right) \cdot t + b}}}{y}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r163937 = x;
double r163938 = y;
double r163939 = z;
double r163940 = log(r163939);
double r163941 = r163938 * r163940;
double r163942 = t;
double r163943 = 1.0;
double r163944 = r163942 - r163943;
double r163945 = a;
double r163946 = log(r163945);
double r163947 = r163944 * r163946;
double r163948 = r163941 + r163947;
double r163949 = b;
double r163950 = r163948 - r163949;
double r163951 = exp(r163950);
double r163952 = r163937 * r163951;
double r163953 = r163952 / r163938;
return r163953;
}
double f(double x, double y, double z, double t, double a, double b) {
double r163954 = t;
double r163955 = 1.0;
double r163956 = r163954 - r163955;
double r163957 = a;
double r163958 = log(r163957);
double r163959 = r163956 * r163958;
double r163960 = -693.5771125449352;
bool r163961 = r163959 <= r163960;
double r163962 = -115.60331797197524;
bool r163963 = r163959 <= r163962;
double r163964 = !r163963;
bool r163965 = r163961 || r163964;
double r163966 = x;
double r163967 = y;
double r163968 = z;
double r163969 = log(r163968);
double r163970 = r163967 * r163969;
double r163971 = r163970 + r163959;
double r163972 = b;
double r163973 = r163971 - r163972;
double r163974 = exp(r163973);
double r163975 = r163966 * r163974;
double r163976 = r163975 / r163967;
double r163977 = -r163955;
double r163978 = pow(r163957, r163977);
double r163979 = 1.0;
double r163980 = r163979 / r163968;
double r163981 = pow(r163980, r163967);
double r163982 = r163978 / r163981;
double r163983 = -r163958;
double r163984 = r163983 * r163954;
double r163985 = r163984 + r163972;
double r163986 = exp(r163985);
double r163987 = r163982 / r163986;
double r163988 = r163987 / r163967;
double r163989 = r163966 * r163988;
double r163990 = r163965 ? r163976 : r163989;
return r163990;
}



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)) < -693.5771125449352 or -115.60331797197524 < (* (- t 1.0) (log a)) Initial program 0.6
if -693.5771125449352 < (* (- t 1.0) (log a)) < -115.60331797197524Initial program 6.0
Taylor expanded around inf 6.0
Simplified10.6
rmApplied *-un-lft-identity10.6
Applied times-frac6.3
Simplified6.3
Final simplification2.0
herbie shell --seed 2019212
(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))