C   07/06/96 606071804  MEMBER NAME  BCRE     (S4)          FORTG1
      SUBROUTINE BCRE(IND,NAME,NR,NWORD,*,IER)
C     BOS SUBPROGRAM =1.3=
C   18/10/82            MEMBER NAME  ACS      (S)           FORTRAN
      COMMON/ACS/
     1   ICOND,NLAST,NDUMP,NSPL,NAMAX,NAMAX1,NLIST,NPRIM,NFRS,NLST,
     2   NEXT,NCI,NFRE,IN,KPOS,LIND,ILOW,LFDI,LFDK,NCPL,
     3   NHISTH(11),
     4        NCOL,NZT,IBFI,NLAST1,ISLST,IMLST,INAMV,IOLST,IPLST,
     5   NER(10),
     6   NRECL,NERRL,NRIN,NROUT,NS,NEXTI,NEXTA,NEXTB,ISAVB,NSAVB,
     7   NHISTL(11),
     8        MARKWR,NOUT(3),IASW,NPRE,IDUMMY(1),NEOTP,NDUMP1
      COMMON/BCS/IW(1)
C   30/04/96 604301841  MEMBER NAME  STAR     (BOSLIB.S)    FORTRAN
      REAL STAR/Z0000005C/,FF/Z000000FF/
      EQUIVALENCE (XNAME,INAME)
      LOGICAL NOTLOW
      REAL AND
      EXTERNAL AND
      NOTLOW(XNAME)=AND(XNAME,FF).NE.STAR
      IND=0
      IW(INAMV)=NAME
      LFDI=MOD(IABS(NAMEV),NPRIM)+NAMAX1
    1 LFDI=IW(LFDI+IPLST)
      IF(IW(LFDI+INAMV).NE.IW(INAMV)) GOTO 1
      IF(LFDI.EQ.0) LFDI=IBLN(IW(INAMV))
      LFDK=LFDI+1
      LFDI=IW(LFDI)
      GOTO 3
    2 LFDK=LFDI
      LFDI=IW(LFDI-1)
    3 IF(LFDI.EQ.0)        GOTO    10
      IF(IW(LFDI-2).LT.NR) GOTO 2
      IF(IW(LFDI-2).GT.NR) GOTO    10
      IND=LFDI
      IER=1
      NSV=IW(IND)
      IF(NSV.GE.NWORD) GOTO 100
      CALL BCHF(IND,NWORD,IER)
      IF(IER.GE.1) IER=2
      IF(IER.EQ.2) GOTO 101
      CALL VZERO(IW(IND+NSV+1),NWORD-NSV)
      IER=1
      GOTO 100
   10 IER=2
      NW=MAX0(0,NWORD)
      NN=NW+4
      IF(NEXT+NN.LT.NLST) GOTO 20
      NHISTH(11)=NHISTH(11)+1
      GOTO 101
   20 INAME=NAME
      IF(NOTLOW(XNAME)) GOTO 40
      IF(NCPL+NN.LT.NSPL) GOTO 30
      NHISTL(11)=NHISTL(11)+1
      GOTO 101
   30 NCPL=NCPL+NN
   40 IER=0
      IND=NEXT+3
      IW(IND-3)=NAME
      IW(IND-2)=NR
      IW(IND)=NW
      ISV=IW(LFDK-1)
      IW(LFDK-1)=IND
      IW(IND -1)=ISV
      IF(NW.GT.0) CALL VZERO(IW(IND+1),NW)
      NEXT=NEXT+NN
   50 LIND=IND
  100 RETURN
  101 RETURN 1
      END
