code 35180; procedure BESS JAPLUSN(A, X, N, JA); value A, X, N; integer N; real X, A; array JA; if X = 0 then begin JA[0]:= if A = 0 then 1 else 0; for N:= N step -1 until 1 do JA[N]:= 0 end else if A = 0 then begin BESS J(X, N, JA) end else if A = .5 then begin real S; S:= SQRT(X) * .797 884 560 802 865; comment S = SQRT(2X / PI); SPHER BESS J(X, N, JA); for N:= N step - 1 until 0 do JA[N]:= JA[N] * S end else begin real A2, X2, R, S, L, LABDA; integer K, M, NU; L:= 1; NU:= START(X,N,0); for M:= 1 step 1 until NU do L:= L * (M+A) / (M+1); R:= S:= 0; X2:= 2 / X; K:= -1; A2:= A + A; for M:= NU+NU step - 1 until 1 do begin R:= 1 / (X2 * (A + M) - R); if K = 1 then LABDA:= 0 else begin L:= L * (M + 2) / (M + A2); LABDA:= L * (M + A) end; S:= R * (LABDA + S); K:= -K; if M<= N then JA[M]:= R end; JA[0]:= R:= 1 / GAMMA(1 + A) / (1 + S) / X2 ** A; for M:= 1 step 1 until N do JA[M]:= R:= R * JA[M]; end BESS JAPLUSN; eop