anchor.diff:        SXX = 0.
         SFX = 0.
         NCUT=0
  -      DO 33 I = 1,MFOLD
  -      IF(FREQ.LE.FMAX) GO TO 34
  +      do 33 I = 1,MFOLD
  +      if (FREQ .LE. FMAX) go to 34
         NCUT=NCUT+1
         X(I)=0.0
  -   34 CONTINUE
  +   34 continue
         XA = CABS(X(I))
         SXX= SXX + XA*XA
         SFX = SFX + FREQ*XA*XA
         AX(1,I) = X(I)
         FREQ = FREQ + DF
  -   33 CONTINUE
  +   33 continue
         SFX = SFX/SXX
         NCUT=MFOLD-NCUT
         NZERO=NCUT+1
  -      WRITE(6,2005) SFX
  -      IF (FMAX.GT.FREQ) RETURN
  -      CALL RFSN(X,MX,INV,S,IFERR,-2)
  -      CALL XMX(X,MA,XM,NXMAX)
  -      DO 72 I = 1,MFOLD
  +      write(6,2005) SFX
  +      if (FMAX.GT.FREQ) return
  +      callRFSN(X,MX,INV,S,IFERR,-2)
  +      callXMX(X,MA,XM,NXMAX)
  +      do 72 I = 1,MFOLD
      72 X(I) = AX(1,I)
  -      WRITE(6,2001) XM,FMAX
  -C
  - 1001 FORMAT(2I5,  F10.3, A30, A12)
  - 1002 FORMAT(8F9.5,I7)
  - 1003 FORMAT(8F10.0)
  - 1004 FORMAT(3F10.0,2I5)
  - 2001 FORMAT(21H  MAX ACCELERATION =  F10.5, 22H FOR FREQUENCIES REMOV
  +      write(6,2001) XM,FMAX
  +C
  + 1001 format(2I5,  F10.3, A30, A12)
  + 1002 format(8F9.5,I7)
  + 1003 format(8F10.0)
  + 1004 format(3F10.0,2I5)
  + 2001 format(21H  MAX ACCELERATION =  F10.5, 22H FOR FREQUENCIES REMOV
        19HED ABOVE F10.2, 7H C/SEC.)
  - 2003 FORMAT(17H   ACC. CARD NO. I4,16H OUT OF SEQUENCE  )
  - 2005 FORMAT(25H MEAN SQUARE FREQUENCY =  F10.2, 7H C/SEC. )
  -C2008 FORMAT(2X, I5, 5X, 8F15.6)
  - 2008 FORMAT(1X,I5,1X, 8F9.6)
  - 2012 FORMAT(/1X, ' FILE NAME FOR INPUT MOTION = ', A30,/
  + 2003 format(17H   ACC. CARD NO. I4,16H OUT OF SEQUENCE  )
  + 2005 format(25H MEAN SQUARE FREQUENCY =  F10.2, 7H C/SEC. )
  +C2008 format(2X, I5, 5X, 8F15.6)
  + 2008 format(1X,I5,1X, 8F9.6)
  + 2012 format(/1X, ' FILE NAME FOR INPUT MOTION = ', A30,/
        +         1X, '   NO. OF INPUT ACC. POINTS = ',I5,/
        +         1X, '  NO. OF POINTS USED IN FFT = ',I5/
        +         1X, '       NO. OF HEADING LINES = ',I5/
        +         1X, '     NO. OF POINTS PER LINE = ',I5/
        +         1X, ' TIME STEP FOR INPUT MOTION = ',F6.4/
  -     +         1X, ' FORMAT FOR OF TIME HISTORY = ', A12, /)
  - 2014 FORMAT(/23H MAXIMUM ACCELERATION =  F9.5/
  +     +         1X, ' format FOR OF TIME HISTORY = ', A12, /)
  + 2014 format(/23H MAXIMUM ACCELERATION =  F9.5/
        1        23H AT TIME              =  F6.2, 4H SEC/
        1 44H THE VALUES WILL BE MULTIPLIED BY A FACTOR = F7.3/
        3 44H TO GIVE NEW MAXIMUM ACCELERATION          = F9.5 )
  - 2021 FORMAT (/1X,'***** H E A D E R   ')
  - 2022 FORMAT (A80)
  - 2023 FORMAT (1X,'*************************************************'
  + 2021 format (/1X,'***** H E A D E R   ')
  + 2022 format (A80)
  + 2023 format (1X,'*************************************************'
        1       ,'*****************')
  - 2024 FORMAT (' **  FIRST & LAST 5 LINES OF INPUT MOTION *****'/)
  - 2025 FORMAT (' *****************************************************'/)
  - 2026 FORMAT(/,1X, ' READING INPUT MOTION FROM ----> ',A30/
  -     +         1X, ' FORMAT OF INPUT MOTION USED --> ',A12)
  -      RETURN
  -      END
  + 2024 format (' **  FIRST & LAST 5 LINES OF INPUT MOTION *****'/)
  + 2025 format (' *****************************************************'/)
  + 2026 format(/,1X, ' READING INPUT MOTION FROM ----> ',A30/
  +     +         1X, ' format OF INPUT MOTION USED --> ',A12)
  +      return
  +      end
  
positive.code: C $NOFLOATCALLS
  C $NODEBUG
  C ...................................................................
        PROGRAM SHAKE91
        CHARACTER*32 FIN,FOUT,PUNCH
        COMMON X(25620)
        COMMON /TIME/ T(9)
        COMMON /WGK/  WW, GT, SKO
  C ...................................................................
        WRITE(*,100)
    100 FORMAT(2X,'*****************************************************'/
       + 2X,'* SHAKE  --   A COMPUTER PROGRAM FOR EARTHQUAKE RESPONSE  *'/
       + 2X,'*             ANALYSIS OF HORIZONTALLY LAYERED SITES      *'/
       + 2X,'*             by: Per B. Schnabel & John Lysmer -- 1970   *'/
  
negative.code:      + 2X,'*             December 1991                               *'/
       + 2X,'***********************************************************')
  C
        write(*,200)
    200 format(4X,'Name of Input File =')
        read(*,10) FIN
  C
        write(*,300)
    300 format(4X,'Name of Output File #1 (input, peak values .. etc) =')
        read(*,10) FOUT
  C
        write(*,400)
    400 format(4X,'Name of Output File #2 (time histories .. etc) =')
        read(*,10) PUNCH
  C
     10 format(A32)
  C
        open(5,FILE=FIN,STATUS='OLD')
        open(6,FILE=FOUT,STATUS='NEW')
        open(7,FILE=PUNCH,STATUS='NEW')
  C
        write(6,100)
        WW = .0624
        GT = 32.2
        MAMAX=4096
  