      INTERFACE
c
         SUBROUTINE APPCOL( KNAME, NONZ, VAL, IRO, TROUBLE)
            !MS$ATTRIBUTES C, ALIAS:'_APPCOL' :: APPCOL
		  INTEGER KNAME [REFERENCE]
		  INTEGER NONZ [REFERENCE]
		  INTEGER IRO [REFERENCE] (NONZ)
		  LOGICAL*4 TROUBLE [REFERENCE]
	      REAL VAL [REFERENCE] (NONZ)
         END SUBROUTINE APPCOL
c
	   SUBROUTINE BINVT( DDA)
            !MS$ATTRIBUTES C, ALIAS:'_BINVT' :: BINVT
		  REAL*8 DDA [REFERENCE] (*)
	   END SUBROUTINE BINVT
c
	   SUBROUTINE BIP( BIPVAL)
            !MS$ATTRIBUTES C, ALIAS:'_BIP' :: BIP
		  REAL*4 BIPVAL [REFERENCE] (*)
	   END SUBROUTINE BIP
c
	   SUBROUTINE CAPOUT( LUNIT)
            !MS$ATTRIBUTES C, ALIAS:'_CAPOUT' :: CAPOUT
		  INTEGER LUNIT [REFERENCE]
	   END SUBROUTINE CAPOUT
c
	   SUBROUTINE CLRBAS()
            !MS$ATTRIBUTES C, ALIAS:'_CLRBAS' :: CLRBAS
	   END SUBROUTINE CLRBAS
c
	   SUBROUTINE D2DMY( NS1800, NDAY, MON, NYR)
            !MS$ATTRIBUTES C, ALIAS:'_D2DMY' :: D2DMY
		  INTEGER NS1800 [REFERENCE]
		  INTEGER NDAY [REFERENCE]
		  INTEGER MON [REFERENCE]
		  INTEGER NYR [REFERENCE]
	   END SUBROUTINE D2DMY
c
         SUBROUTINE DEFROW( IDIR, RHS, IDROW, TROUBLE)
            !MS$ATTRIBUTES C, ALIAS:'_DEFROW' :: DEFROW
		  INTEGER IDIR [REFERENCE]
		  INTEGER IDROW [REFERENCE]
		  REAL RHS [REFERENCE]
	      LOGICAL*4 TROUBLE [REFERENCE]
         END SUBROUTINE DEFROW
c
         SUBROUTINE DELCON( J)
            !MS$ATTRIBUTES C, ALIAS:'_DELCON' :: DELCON
		  INTEGER J [REFERENCE]
         END SUBROUTINE DELCON
c
	   SUBROUTINE DMY2D( NDAY, MON, NYR, NS1800, NDOFWK)
            !MS$ATTRIBUTES C, ALIAS:'_DMY2D' :: DMY2D
		  INTEGER NDAY [REFERENCE]
		  INTEGER MON [REFERENCE]
		  INTEGER NYR [REFERENCE]
		  INTEGER NS1800 [REFERENCE]
		  INTEGER NDOFWK [REFERENCE]
	   END SUBROUTINE DMY2D
c
	   SUBROUTINE DRPVAR( J, PRIMAL, DUAL)
            !MS$ATTRIBUTES C, ALIAS:'_DRPVAR' :: DRPVAR
		  INTEGER J [REFERENCE]
	      REAL PRIMAL [REFERENCE]
	      REAL DUAL [REFERENCE]
	   END SUBROUTINE DRPVAR
c
	   SUBROUTINE FPRIME( N1, N2)
            !MS$ATTRIBUTES C, ALIAS:'_FPRIME' :: FPRIME
		  INTEGER N1 [REFERENCE]
		  INTEGER N2 [REFERENCE]
	   END SUBROUTINE FPRIME
c
	   SUBROUTINE FREEIT( J)
            !MS$ATTRIBUTES C, ALIAS:'_FREEIT' :: FREEIT
		  INTEGER J [REFERENCE]
	   END SUBROUTINE FREEIT
c
	   SUBROUTINE GETCOL( J, KNAME, NONZ, VAL, 
     +    IRO, SUBJ, TROUBLE)
            !MS$ATTRIBUTES C, ALIAS:'_GETCOL' :: GETCOL
		  INTEGER J [REFERENCE]
		  INTEGER KNAME [REFERENCE]
		  INTEGER NONZ [REFERENCE]
		  REAL*4 VAL [REFERENCE] (*)
		  INTEGER IRO [REFERENCE] (*)
		  INTEGER SUBJ [REFERENCE]
		  LOGICAL*4 TROUBLE [REFERENCE]
	   END SUBROUTINE GETCOL
c
         SUBROUTINE GO( LIMGO, ISTAT)
            !MS$ATTRIBUTES C, ALIAS:'_GO' :: GO
	      INTEGER LIMGO [REFERENCE]
	      INTEGER ISTAT [REFERENCE]
         END SUBROUTINE GO
c
         SUBROUTINE HEAPFR( N, M, INDX, NVALU)
            !MS$ATTRIBUTES C, ALIAS:'_HEAPFR' :: HEAPFR
	      INTEGER N [REFERENCE]
	      INTEGER M [REFERENCE]
	      INTEGER INDX [REFERENCE] (*)
	      INTEGER NVALU [REFERENCE] (*)
         END SUBROUTINE HEAPFR
c
         SUBROUTINE HEAPIT( N, M, INDX, NVALU)
            !MS$ATTRIBUTES C, ALIAS:'_HEAPIT' :: HEAPIT
	      INTEGER N [REFERENCE]
	      INTEGER M [REFERENCE]
	      INTEGER INDX [REFERENCE] (*)
	      INTEGER NVALU [REFERENCE] (*)
         END SUBROUTINE HEAPIT
c 
         SUBROUTINE ILINDO
            !MS$ATTRIBUTES C, ALIAS:'_ILINDO' :: ILINDO
         END SUBROUTINE ILINDO
c
         SUBROUTINE INIT
            !MS$ATTRIBUTES C, ALIAS:'_INIT' :: INIT
         END SUBROUTINE INIT
c
         SUBROUTINE INSERT( I, J, AMT, NOADD)
            !MS$ATTRIBUTES C, ALIAS:'_INSERT' :: INSERT
	      INTEGER I [REFERENCE]
	      INTEGER J [REFERENCE]
	      REAL*4 AMT [REFERENCE]
	      INTEGER NOADD [REFERENCE] (*)
         END SUBROUTINE INSERT
c
         SUBROUTINE INSROW( J, NONZ, LSTCOL, VALIST)
            !MS$ATTRIBUTES C, ALIAS:'_INSROW' :: INSROW
	      INTEGER J [REFERENCE]
	      INTEGER NONZ [REFERENCE]
	      INTEGER LSTCOL [REFERENCE] (NONZ)
	      REAL*4 VALIST [REFERENCE] (NONZ)
         END SUBROUTINE INSROW
c
         SUBROUTINE INVPRM( N, IPERM)
            !MS$ATTRIBUTES C, ALIAS:'_INVPRM' :: INVPRM
	      INTEGER N [REFERENCE]
	      INTEGER IPERM [REFERENCE] (N)
         END SUBROUTINE INVPRM
c
         SUBROUTINE KLOSE( LUNIT)
            !MS$ATTRIBUTES C, ALIAS:'_KLOSE' :: KLOSE
	      INTEGER LUNIT [REFERENCE]
         END SUBROUTINE KLOSE
c
         SUBROUTINE LOOK( J1, J2)
            !MS$ATTRIBUTES C, ALIAS:'_LOOK' :: LOOK
		  INTEGER J1 [REFERENCE]
		  INTEGER J2 [REFERENCE]
         END SUBROUTINE LOOK
c
         SUBROUTINE LSALTN( IRTCOD, KTEXT, J1, J2, INROW)
            !MS$ATTRIBUTES C, ALIAS:'_LSALTN' :: LSALTN
		  INTEGER IRTCOD [REFERENCE]
		  INTEGER KTEXT [REFERENCE]
		  INTEGER J1 [REFERENCE]
		  INTEGER J2 [REFERENCE]
		  INTEGER INROW [REFERENCE]
         END SUBROUTINE LSALTN
c
         SUBROUTINE LSAVPR( DZ, MEMDZ, KZ, MEMKZ, IRTCOD)
            !MS$ATTRIBUTES C, ALIAS:'_LSAVPR' :: LSAVPR
	      REAL*8 DZ [REFERENCE] (MEMDZ)
		  INTEGER MEMDZ [REFERENCE]
		  INTEGER KZ [REFERENCE]
		  INTEGER MEMKZ [REFERENCE]
		  INTEGER IRTCOD [REFERENCE]
         END SUBROUTINE LSAVPR
c
         SUBROUTINE LSCTTN
            !MS$ATTRIBUTES C, ALIAS:'_LSCTTN' :: LSCTTN
         END SUBROUTINE LSCTTN
c
         SUBROUTINE LSDMPS( LUNIT)
            !MS$ATTRIBUTES C, ALIAS:'_LSDMPS' :: LSDMPS
		  INTEGER LUNIT [REFERENCE]
         END SUBROUTINE LSDMPS
c
         SUBROUTINE LSEXIT
            !MS$ATTRIBUTES C, ALIAS:'_LSEXIT' :: LSEXIT
         END SUBROUTINE LSEXIT
c
         SUBROUTINE LSFETP( DERR, I, DVAL)
            !MS$ATTRIBUTES C, ALIAS:'_LSFETP' :: LSFETP
		  REAL*8 DERR [REFERENCE]
		  INTEGER I [REFERENCE]
		  REAL*8 DVAL [REFERENCE]
         END SUBROUTINE LSFETP
c
         SUBROUTINE LSGTPR( DZ, KZ, IRTCOD)
            !MS$ATTRIBUTES C, ALIAS:'_LSGTPR' :: LSGTPR
		  REAL*8 DZ [REFERENCE] (*)
		  INTEGER KZ [REFERENCE]
		  INTEGER IRTCOD [REFERENCE]
         END SUBROUTINE LSGTPR
c
         SUBROUTINE LSGTRO( IROW, NNZMX, NNZ, COF, ISCOL)
            !MS$ATTRIBUTES C, ALIAS:'_LSGTRO' :: LSGTRO
		  INTEGER IROW [REFERENCE]
		  INTEGER NNZMX [REFERENCE]
		  INTEGER NNZ [REFERENCE]
		  REAL*4 COF [REFERENCE] (NNZMX)
		  INTEGER ISCOL [REFERENCE] (NNZMX)
         END SUBROUTINE LSGTRO
c
         SUBROUTINE LSINSR( LUNIT)
            !MS$ATTRIBUTES C, ALIAS:'_LSINSR' :: LSINSR
		  INTEGER LUNIT [REFERENCE]
         END SUBROUTINE LSINSR
c
         SUBROUTINE LSPUNC( LUNIT, XDATA)
            !MS$ATTRIBUTES C, ALIAS:'_LSPUNC' :: LSPUNC
		  INTEGER LUNIT [REFERENCE]
		  INTEGER XDATA [REFERENCE]
         END SUBROUTINE LSPUNC
c
         SUBROUTINE LSPUTP( DERR, I, DVAL)
            !MS$ATTRIBUTES C, ALIAS:'_LSPUTP' :: LSPUTP
		  REAL*8 DERR [REFERENCE]
		  INTEGER I [REFERENCE]
		  REAL*8 DVAL [REFERENCE]
         END SUBROUTINE LSPUTP
c
         SUBROUTINE LUNGET( LUNIT, INROUT, NOTFMT)
            !MS$ATTRIBUTES C, ALIAS:'_LUNGET' :: LUNGET
		  INTEGER LUNIT [REFERENCE]
		  INTEGER INROUT [REFERENCE]
		  INTEGER NOTFMT [REFERENCE]
         END SUBROUTINE LUNGET
c
         SUBROUTINE LUNOPN( LUNIT, LFNAME, KFNAME, INROUT,
     +    NOTFMT, LUTRMI, LUTRMO)
            !MS$ATTRIBUTES C, ALIAS:'_LUNOPN' :: LUNOPN
		  INTEGER LUNIT [REFERENCE]
		  INTEGER LFNAME [REFERENCE]
		  INTEGER KFNAME [REFERENCE]
		  INTEGER INROUT [REFERENCE]
		  INTEGER NOTFMT [REFERENCE]
		  INTEGER LUTRMI [REFERENCE]
		  INTEGER LUTRMO [REFERENCE]
         END SUBROUTINE LUNOPN
c
         SUBROUTINE LXBRED( LUNIT, INERR)
            !MS$ATTRIBUTES C, ALIAS:'_LXBRED' :: LXBRED
		  INTEGER LUNIT [REFERENCE]
		  INTEGER INERR [REFERENCE]
         END SUBROUTINE LXBRED
c
         SUBROUTINE LXBWRT( LUNIT, INERR)
            !MS$ATTRIBUTES C, ALIAS:'_LXBWRT' :: LXBWRT
		  INTEGER LUNIT [REFERENCE]
		  INTEGER INERR [REFERENCE]
         END SUBROUTINE LXBWRT
c
         SUBROUTINE MAKINT( J)
            !MS$ATTRIBUTES C, ALIAS:'_MAKINT' :: MAKINT
		  INTEGER J [REFERENCE]
         END SUBROUTINE MAKINT
c
         SUBROUTINE NDXOFV( KLINE, I1, I2, J)
            !MS$ATTRIBUTES C, ALIAS:'_NDXOFV' :: NDXOFV
		  INTEGER KLINE [REFERENCE]
		  INTEGER I1 [REFERENCE]
		  INTEGER I2 [REFERENCE]
		  INTEGER J [REFERENCE]
         END SUBROUTINE NDXOFV
c
         SUBROUTINE NINTEQ( NOINT)
            !MS$ATTRIBUTES C, ALIAS:'_NINTEQ' :: NINTEQ
		  INTEGER NOINT [REFERENCE]
         END SUBROUTINE NINTEQ
c
         SUBROUTINE OUTSPC( K)
            !MS$ATTRIBUTES C, ALIAS:'_OUTSPC' :: OUTSPC
		  INTEGER K [REFERENCE]
         END SUBROUTINE OUTSPC
c
         SUBROUTINE PARBGN( K, PAML)
            !MS$ATTRIBUTES C, ALIAS:'_PARBGN' :: PARBGN
		  INTEGER K [REFERENCE]
		  REAL*4 PAML [REFERENCE]
         END SUBROUTINE PARBGN
c
         SUBROUTINE PARSTP( PV, JI, JO)
            !MS$ATTRIBUTES C, ALIAS:'_PARSTP' :: PARSTP
		  REAL*4 PV [REFERENCE]
		  INTEGER JI [REFERENCE]
		  INTEGER JO [REFERENCE]
         END SUBROUTINE PARSTP
c
         SUBROUTINE QUIET( I)
            !MS$ATTRIBUTES C, ALIAS:'_QUIET' :: QUIET
		  INTEGER I [REFERENCE]
         END SUBROUTINE QUIET
c
         SUBROUTINE RDBC( LUNIT)
            !MS$ATTRIBUTES C, ALIAS:'_RDBC' :: RDBC
		  INTEGER LUNIT [REFERENCE]
         END SUBROUTINE RDBC
c
         SUBROUTINE RDMPS( LUNIT, NDIR)
            !MS$ATTRIBUTES C, ALIAS:'_RDMPS' :: RDMPS
		  INTEGER LUNIT [REFERENCE]
		  INTEGER NDIR [REFERENCE]
         END SUBROUTINE RDMPS
c
         SUBROUTINE REPROW( I, PRIMAL, DUAL)
            !MS$ATTRIBUTES C, ALIAS:'_REPROW' :: REPROW
	      INTEGER I [REFERENCE]
	      REAL PRIMAL [REFERENCE]
	      REAL DUAL [REFERENCE]
         END SUBROUTINE REPROW
c
         SUBROUTINE REPVAR( I, PRIMAL, DUAL)
            !MS$ATTRIBUTES C, ALIAS:'_REPVAR' :: REPVAR
	      INTEGER I [REFERENCE]
	      REAL PRIMAL [REFERENCE]
	      REAL DUAL [REFERENCE]
         END SUBROUTINE REPVAR
c
         SUBROUTINE RETR( LUNIT)
            !MS$ATTRIBUTES C, ALIAS:'_RETR' :: RETR
	      INTEGER LUNIT [REFERENCE]
         END SUBROUTINE RETR
c
         SUBROUTINE RNGBGN
            !MS$ATTRIBUTES C, ALIAS:'_RNGBGN' :: RNGBGN
         END SUBROUTINE RNGBGN
c
         SUBROUTINE RNGCOL( J, COBJ, TU, TD)
            !MS$ATTRIBUTES C, ALIAS:'_RNGCOL' :: RNGCOL
	      INTEGER J [REFERENCE]
	      REAL*4 COBJ [REFERENCE]
	      REAL*4 TU [REFERENCE]
	      REAL*4 TD [REFERENCE]
         END SUBROUTINE RNGCOL
c
         SUBROUTINE RNGROW( I, RHS, TU, TD)
            !MS$ATTRIBUTES C, ALIAS:'_RNGROW' :: RNGROW
	      INTEGER I [REFERENCE]
	      REAL*4 RHS [REFERENCE]
	      REAL*4 TU [REFERENCE]
	      REAL*4 TD [REFERENCE]
         END SUBROUTINE RNGROW
c
         SUBROUTINE SAVE( LUNIT)
            !MS$ATTRIBUTES C, ALIAS:'_SAVE' :: SAVE
	      INTEGER LUNIT [REFERENCE]
         END SUBROUTINE SAVE
c
         SUBROUTINE SDBC( LUNIT)
            !MS$ATTRIBUTES C, ALIAS:'_SDBC' :: SDBC
	      INTEGER LUNIT [REFERENCE]
         END SUBROUTINE SDBC
c
         SUBROUTINE SETIPT( TOL)
            !MS$ATTRIBUTES C, ALIAS:'_SETIPT' :: SETIPT
	      REAL*4 TOL [REFERENCE]
         END SUBROUTINE SETIPT
c
         SUBROUTINE SETQCP( J)
            !MS$ATTRIBUTES C, ALIAS:'_SETQCP' :: SETQCP
	      INTEGER J [REFERENCE]
         END SUBROUTINE SETQCP
c
         SUBROUTINE SETSLB( J, SLB)
            !MS$ATTRIBUTES C, ALIAS:'_SETSLB' :: SETSLB
	      INTEGER J [REFERENCE]
	      REAL*4 SLB [REFERENCE]
         END SUBROUTINE SETSLB
c
         SUBROUTINE SETSUB( J, SLB)
            !MS$ATTRIBUTES C, ALIAS:'_SETSUB' :: SETSUB
	      INTEGER J [REFERENCE]
	      REAL*4 SLB [REFERENCE]
         END SUBROUTINE SETSUB
c
         SUBROUTINE STATS( J, SLB)
            !MS$ATTRIBUTES C, ALIAS:'_STATS' :: STATS
	      INTEGER J [REFERENCE]
	      REAL*4 SLB [REFERENCE]
         END SUBROUTINE STATS
c 
      END INTERFACE
