You can obtain substantial benefits from the algorithmic point of view (not a Julia thing but the way you compute the coefficients).
For example:
for i in 1:m
FACTS[i] = factorial(i-1)
end
This calls factorial
one time per iteration (slow) but you can use the fact that n!=n \cdot (n-1)! (the recursive definition of the factorial) and write simply:
FACTS[1]=1
for i in 2:m
FACTS[i] = n*factorial(i-1)
end
Witch use only one multiplication per coefficient.
The same thing can be done with BINS
(because binomial is defined in terms of factorials) and with the powers of two since (-2)^n=-2\cdot(-2)^{n-1} and by applying this together you can simplify the Laguerre coefficients computation.
In fact, the best way of computing the Laguerre coefficients is to use the recurrence relation (Laguerre polynomials - Wikipedia) and not the closed form you use.