Efficient calculation of critical values for Mann-Whitney-Wilcoxon Most tables of critical values for the Mann-Whitney-Wilcoxon rank sum test statistic, usually known as U, are only calculated for very small samples. Presumably, this is because the test is most commonly recommended for non-normally distributed numeric data in samples too small for the central limit theorem to kick in. However, there may be other reasons for using a non-parametric test, for example when working with ordinal data. For this reason, it would be convenient to have tables of critical values for larger samples.
Calculating critical values for U is very easy in R, using the qwilcox function. However, I find that this function becomes unusably slow when working with group sizes greater than about 250. I presume that this is because of the recursive algorithm used in the underlying C code.
What would be an efficient way of calculating critical values for U?

As I understand it, there is no closed-form CDF (nor CDF–1) for the Wilcoxon-Mann-Whitney, and $p$ values or critical values must be calculated from a combinatoric recursion function of the sample sizes of the two groups. Combinatoric computations get big fast (note the difference in computation demand of $20!$ versus $200!$. While sometimes one can improve computing efficiency using $e(\ln())$ transformations of things like $\Gamma()$ and $\cdot!$, there's no getting around the fact that exact probabilities/critical values in rank sum distributions require a hairy bit of work that only grows nastily in computational demand with sample size.
Now I'ma scoot before someone who knows this better comes along to answer more completely.
