\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 -702.6583505807568599266232922673225402832 \lor \neg \left(\left(t - 1\right) \cdot \log a \le -106.4073004455099749065993819385766983032\right):\\
\;\;\;\;\frac{x \cdot e^{\left(\left(t - 1\right) \cdot \log a + \log z \cdot y\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{\log \left({z}^{y}\right) + t \cdot \log a}}{y \cdot \left(a \cdot e^{b}\right)} \cdot x\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r58913 = x;
double r58914 = y;
double r58915 = z;
double r58916 = log(r58915);
double r58917 = r58914 * r58916;
double r58918 = t;
double r58919 = 1.0;
double r58920 = r58918 - r58919;
double r58921 = a;
double r58922 = log(r58921);
double r58923 = r58920 * r58922;
double r58924 = r58917 + r58923;
double r58925 = b;
double r58926 = r58924 - r58925;
double r58927 = exp(r58926);
double r58928 = r58913 * r58927;
double r58929 = r58928 / r58914;
return r58929;
}
double f(double x, double y, double z, double t, double a, double b) {
double r58930 = t;
double r58931 = 1.0;
double r58932 = r58930 - r58931;
double r58933 = a;
double r58934 = log(r58933);
double r58935 = r58932 * r58934;
double r58936 = -702.6583505807569;
bool r58937 = r58935 <= r58936;
double r58938 = -106.40730044550997;
bool r58939 = r58935 <= r58938;
double r58940 = !r58939;
bool r58941 = r58937 || r58940;
double r58942 = x;
double r58943 = z;
double r58944 = log(r58943);
double r58945 = y;
double r58946 = r58944 * r58945;
double r58947 = r58935 + r58946;
double r58948 = b;
double r58949 = r58947 - r58948;
double r58950 = exp(r58949);
double r58951 = r58942 * r58950;
double r58952 = r58951 / r58945;
double r58953 = pow(r58943, r58945);
double r58954 = log(r58953);
double r58955 = r58930 * r58934;
double r58956 = r58954 + r58955;
double r58957 = exp(r58956);
double r58958 = exp(r58948);
double r58959 = r58933 * r58958;
double r58960 = r58945 * r58959;
double r58961 = r58957 / r58960;
double r58962 = r58961 * r58942;
double r58963 = r58941 ? r58952 : r58962;
return r58963;
}



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)) < -702.6583505807569 or -106.40730044550997 < (* (- t 1.0) (log a)) Initial program 0.6
if -702.6583505807569 < (* (- t 1.0) (log a)) < -106.40730044550997Initial program 6.9
rmApplied associate-/l*2.3
Simplified6.1
rmApplied *-un-lft-identity6.1
Applied sub-neg6.1
Applied unpow-prod-up6.0
Applied times-frac6.0
Applied associate-*r*6.0
Simplified6.0
rmApplied div-inv6.0
Simplified6.0
Taylor expanded around inf 6.0
Simplified6.0
Final simplification1.9
herbie shell --seed 2019196
(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))