CALL HELMHOLTZ(LMAX,SIN0,P)
DO M = 0,LMAX
DO L = M,LMAX-1,2
IF(MOD(LMAX-M,2).NE.1) THEN
K = LMAX*LMAX+LMAX+1
SUBROUTINE HELMHOLTZ(LMAX,S,P)
INTEGER LMAX ! INPUT max. degree.
IF(LMAX.NE.LMAXOLD) THEN
DO L = 1,LMAX
Y(L+LMAX) = SNGL(DSQRT(DBLE(FLOAT(L+LMAX))))
ISECT(L) = L*LMAX-L*(L-3)/2+1
CALL RECUR_Z(Z,LMAX)
LMAXOLD = LMAX
DO M = 1,LMAX
DO M = 0,LMAX-N
DO N = 2,LMAX
SUBROUTINE RECUR_Z(Z,LMAX)
INTEGER LMAX
REAL Z(LMAX)