code 31362;
procedure ALLZERORTPOL (N, B, C, ZER, EM);
value N; integer N; array B, C, ZER, EM;
begin integer I;real NRM;array BB[1:N];
    procedure DUPCEV (L, U, SHIFT, A, B);
    value L,U,SHIFT;integer L,U,SHIFT;array A,B;
    for U:=U step -1 until L do A[U]:=B[U+SHIFT];
    NRM:=ABS(B[0]);
    for I:=1step 1until N-2do if C[I]+ABS(B[I])>NRM"THEN"
         NRM:=C[I]+ABS(B[I]);
     if N>1then NRM:=if NRM+1>=C[N-1]+ABS(B[N-1])then NRM+1else 
                       C[N-1]+ABS(B[N-1]);
     EM[1]:=NRM; DUPCEV(1,N,-1,ZER,B);
     DUPVEC(1,N-1,0,BB,C);BB[N]:=0;
     QRIVALSYMTRI(ZER,BB,N,EM)
end ALLZERORTPOL

        eop