\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;\log a \cdot \left(t - 1\right) \le -2.758687718269212165448790199192525359418 \cdot 10^{69} \lor \neg \left(\log a \cdot \left(t - 1\right) \le -205.7954937512333799531916156411170959473\right):\\
\;\;\;\;\frac{x \cdot e^{\left(\log a \cdot \left(t - 1\right) + \log z \cdot y\right) - b}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{y}{\left(\frac{{a}^{\left(-1\right)}}{\sqrt{e^{b}}} \cdot \frac{{a}^{t}}{\sqrt{e^{b}}}\right) \cdot {z}^{y}}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r50793 = x;
double r50794 = y;
double r50795 = z;
double r50796 = log(r50795);
double r50797 = r50794 * r50796;
double r50798 = t;
double r50799 = 1.0;
double r50800 = r50798 - r50799;
double r50801 = a;
double r50802 = log(r50801);
double r50803 = r50800 * r50802;
double r50804 = r50797 + r50803;
double r50805 = b;
double r50806 = r50804 - r50805;
double r50807 = exp(r50806);
double r50808 = r50793 * r50807;
double r50809 = r50808 / r50794;
return r50809;
}
double f(double x, double y, double z, double t, double a, double b) {
double r50810 = a;
double r50811 = log(r50810);
double r50812 = t;
double r50813 = 1.0;
double r50814 = r50812 - r50813;
double r50815 = r50811 * r50814;
double r50816 = -2.758687718269212e+69;
bool r50817 = r50815 <= r50816;
double r50818 = -205.79549375123338;
bool r50819 = r50815 <= r50818;
double r50820 = !r50819;
bool r50821 = r50817 || r50820;
double r50822 = x;
double r50823 = z;
double r50824 = log(r50823);
double r50825 = y;
double r50826 = r50824 * r50825;
double r50827 = r50815 + r50826;
double r50828 = b;
double r50829 = r50827 - r50828;
double r50830 = exp(r50829);
double r50831 = r50822 * r50830;
double r50832 = r50831 / r50825;
double r50833 = -r50813;
double r50834 = pow(r50810, r50833);
double r50835 = exp(r50828);
double r50836 = sqrt(r50835);
double r50837 = r50834 / r50836;
double r50838 = pow(r50810, r50812);
double r50839 = r50838 / r50836;
double r50840 = r50837 * r50839;
double r50841 = pow(r50823, r50825);
double r50842 = r50840 * r50841;
double r50843 = r50825 / r50842;
double r50844 = r50822 / r50843;
double r50845 = r50821 ? r50832 : r50844;
return r50845;
}



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)) < -2.758687718269212e+69 or -205.79549375123338 < (* (- t 1.0) (log a)) Initial program 0.7
if -2.758687718269212e+69 < (* (- t 1.0) (log a)) < -205.79549375123338Initial program 5.4
rmApplied associate-/l*1.8
Simplified6.8
rmApplied add-sqr-sqrt6.8
Applied sub-neg6.8
Applied unpow-prod-up6.8
Applied times-frac6.8
Final simplification2.3
herbie shell --seed 2019174
(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))