      program main
      implicit none
      real*8, allocatable :: x(:), y(:), z(:), u(:)
      real*8 time
      integer*8 time0, time1, dtime
      integer i, j, n, m
c
      n = 10000
      m = 100000

c Initialization
      allocate(x(n), y(n), z(n), u(n))
      do i=1,n
        x(i) = rand()
        y(i) = rand()
        z(i) = rand()
      end do

c Start time
      call system_clock(time0)

c Main calculation
      do j=1,m
        do i=1,n
          u(i) = x(i) * (y(i) + z(i)) + y(i) * z(i)
        end do
      end do

c Finish time
      call system_clock(time1, dtime)

c Output time
      time = 1d0*(time1-time0)/dtime
      write(*,"(a7,f16.7)")"Time = ",time

      deallocate(x, y, z, u)
      end program
