code 35054;
procedure IXPFIX(X,P,Q,NMAX,EPS,I); value X,P,Q,NMAX,EPS;
real X,P,Q,EPS; integer NMAX; array I;
begin integer M,MMAX; real S,P0,I0,I1,IQ0,IQ1;
M:= ENTIER(P); S:= P-M; P0:= if S>0 then S else S+1;
MMAX:= if S>0 then M else M-1;
I0:= INCBETA(X,P0,Q,EPS);
I1:= INCBETA(X,P0,Q+1,EPS);
begin array IP[0:MMAX];
BACKWARD(X,P0,Q,I0,MMAX,EPS,IP); IQ0:= IP[MMAX];
BACKWARD(X,P0,Q+1,I1,MMAX,EPS,IP); IQ1:= IP[MMAX]
end;
FORWARD(X,P,Q,IQ0,IQ1,NMAX,I)
end IXPFIX;
eop