anchor.diff:          MTLEXP=MTLEXP/2
           LM1EXP=LM1EXP*2
         end do
  -      if (IFSET) 20,600,20
  +      if (IFSET .eq. 0) then
  +        return
  +      end if
   20    MTT=MAX0(M(1),M(2),M(3))-2
         ROOT2=SQRT(2.)
         if (MTT-MT .gt. 0) then
  
positive.code:       NT00=NTOT+1
        A(1)=A(NTOT2+3)
        A(2)=A(NTOT2+4)
     21 do I=NT00,NTOP,2
          A(I)=A(I+2)
          A(I+1)=A(I+3)
        end do
  
negative.code: C    otherwise, periods are specified by user (maximum is 200 periods)
  C -------------------------------------------------------------------
        if (KPER.eq. 0) go to 99
        read(5,'(A32)') FPERIOD
        write(6,60) FPERIOD
   60   format(' File from which periods were read: ' A32)
        open(8,FILE=FPERIOD,STATUS='OLD')
        read (8,4) NLINES, NNM
        do I = 1, NLINES
          read(8,*) headerd
          write(6,*) headerd
        end do
        read(8,*) (T(I), I=1, NNM)
        close(8)
        go to 101
  C ----------------------------------------------------------------------
  C  default periods for calculating response spectra
  C  ---------------------------------------------------------------------
  