code 31370;
    procedure ALL JAC ZER(N, ALFA, BETA, ZER);
    value N, ALFA, BETA     ; integer N;
    real ALFA, BETA     ; array ZER;
    if ALFA = BETA then 
    begin integer I, M;
        array A, B[0:N//2], EM[0:5];
        real MIN, GAMMA, SUM, ZERI;
        M:= N//2; if N ^= 2*M then 
        begin GAMMA:= + 0.5; ZER[M + 1]:= 0 end 
        else GAMMA:= - 0.5;
        MIN:= 0.25 - ALFA*ALFA; SUM:= ALFA + GAMMA + 2;
        A[0]:= (GAMMA - ALFA)/SUM; A[1]:= MIN/SUM/(SUM + 2);
        B[1]:= 4*(1 + ALFA)*(1 + GAMMA)/SUM/SUM/(SUM + 1);
        for I:= 2 step 1 until M - 1 do 
        begin SUM:= I + I + ALFA + GAMMA;
            A[I]:= MIN/SUM/(SUM + 2); SUM := SUM*SUM;
            B[I]:= 4*I*(I + ALFA + GAMMA)*(I + ALFA)*(I + GAMMA)/
            SUM/(SUM - 1)
        end;
        EM[0]:=ARREB; EM[2]:="-10; EM[4]:= 6*M;
        ALL ZER ORT POL (M, A, B, ZER, EM);
        for I:= 1 step 1 until M do 
        begin ZER[I]:= ZERI:= - SQRT((1 + ZER[I])/2);
            ZER[N + 1 - I]:= - ZERI
        end 
    end else 
    begin integer I; real SUM, MIN;
        array A, B[0:N], EM[0:5];
        MIN:= (BETA - ALFA)*(BETA + ALFA);
        SUM:= ALFA + BETA + 2; B[0]:= 0;
        A[0]:= (BETA - ALFA)/SUM;
        A[1]:= MIN/SUM/(SUM + 2);
        B[1]:= 4*(1 + ALFA)*(1 + BETA)/SUM/SUM/(SUM + 1);
        for I:= 2 step 1 until N - 1 do 
        begin SUM:= I + I + ALFA + BETA;
            A[I]:= MIN/SUM/(SUM + 2); SUM:= SUM*SUM;
            B[I]:= 4*I*(I + ALFA + BETA)*(I + ALFA)*(I + BETA)/
            (SUM - 1)/SUM
        end;
        EM[0]:=ARREB; EM[2]:= 1.0"-8; EM[4]:= 6*N;
        ALL ZER ORT POL(N, A, B, ZER, EM)
    end ALL JAC ZER;
        eop