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