code 41251;
real procedure BINPROB(X, N, P);
value X, N, P; real X, N, P;
BINPROB:= if N < 0 ∨ N > ENTIER(N)
          then STATAL3 ERROR(“BINPROB”, 2, N)
          else if P < 0 ∨ P > 1
          then STATAL3 ERROR(“BINPROB”, 3, P)
          else if X < 0 ∨ X > N ∨ X > ENTIER(X)
          then 0 else if P = 0 ∨ N = 0
          then (if X = 0 then 1 else 0)
          else if P = 1
          then (if X = N then 1 else 0)
          else EXP(LOGGAMMA(N+1) - LOGGAMMA(X+1)
          - LOGGAMMA(N-X+1) + X × LN(P) + (N-X) × LN(1-P));
eop