code 35177;
    procedure NONEXP BESS I(X, N, I); value X, N;
    integer N; real X; array I;
    if X = 0 then 
    begin I[0]:= 1; for N:= N step - 1 until 1 do 
        I[N]:= 0
    end else 
    begin integer K; real X2, R, S; boolean NEGATIVE;
        NEGATIVE:= X < 0; X:= ABS(X);
        R:= S:= 0; X2:= 2/X; K:= START(X,N,1);
        for K:= K step - 1 until 1 do 
        begin R:= 1 / (R + X2 * K); S:= R * (2 + S);
            if K <= N then I[K]:= R
        end;
        I[0]:= R:= 1 / (1 + S);
        if NEGATIVE then 
        begin for K:= 1 step 1 until N do 
            I[K]:= R:= - R * I[K]
        end else 
        for K:=1 step 1 until N do I[K]:= R:= R * I[K];
    end NONEXP BESS I;
        eop