code 31046; real procedure CHEPOLSUM(N,X,A); value N,X;integer N;real X;array A; if N=0 then CHEPOLSUM:=A[0] else if N=1 then CHEPOLSUM:=A[0]+A[1]*X else begin integer K;real H,R,S,TX; TX:=X+X;R:=A[N]; H:=A[N-1]+R*TX; for K:=N-2 step -1 until 1 do begin S:=R;R:=H; H:=A[K]+R*TX-S end K; CHEPOLSUM:=A[0]-R+H*X end CHEPOLSUM eop