


      implicit none

      integer size
      parameter(size=1000)
      integer n
      integer nloops

      
      real a(size,size),b(size,size),c(size,size)

      call fillmat(size,a,b)

      call multmat(size,a,b,c)



      end

C-------------------------------------------------------

      subroutine fillmat(size,a,b)
      implicit none

      integer size
      real a(size,size),b(size,size)
      real gaussvar 

      integer i,j
      integer seed

      data seed/-1991/


      do i = 1,size
        do j = 1,size
          a(i,j)=gaussvar(seed)
          b(i,j)=gaussvar(seed)
        enddo
      enddo
      return
      end

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

      subroutine multmat(size,a,b,c)
      implicit none
      
      integer size
      real a(size,size),b(size,size),c(size,size)
      integer i,j,k
      real temp


      do i = 1,size
        do j = 1,size
           temp = 0.0
           do k = 1,size
              temp = temp+a(i,k)*b(k,j)
           enddo
           c(i,j)=temp
        enddo
      enddo
      return
      end

