code 41518;
real procedure BETAINV(PROB,ALPHA1,ALPHAZ2);
value PROB,ALPHA1,ALPHA2; real PROB,ALPHA1,ALPHA2;
begin real X,Y,TOL;

  comment DEFINE ACCURACY;
  TOL:= 10-10;
  
  comment TEST FOR ADMISSIBILITY OF PARAMETERS;
  if ALPHA1 ≤ 0 then
      STATAL3 ERROR(“BETAINV”,2,ALPHA1)
  else
  if ALPHA2 ≤ 0 then
      STATAL3 ERROR(“BETAINV”,3,ALPHA2)
  else
  if PROB ≤ TOL ∨ PROB ≥ 1 - TOL then
      STATAL3 ERROR(“BETAINV”,1,PROB);
    
  X:= 0;
  BETAINV:= INVERSE(X,BETA(X,ALPHA1,ALPHA2),PROB,TOL)
end BETAINV;
eop