I try to apply OpenMP for subroutine "multmatrix" with loop. What am I doing wrong?

SUBROUTINE multmatrix(diag,km2,V,dz,adz,il,jl,il1,jl1,ilp,jlp,len)

dimension diag(19,il,jl), km2(0:il1,0:jl1),

* v(len), dz(-1:ilp,-1:jlp)

dimension adz(-1:ilp,-1:jlp)

real*8 diag, v, dz, adz

m= 0

do j=1,jl

do i=1,il

if( km2(i,j) .GT. 0) then

m= m+1

dz(i,j)= v(m)

end if

end do

end do

!$OMP PARALLEL DO SHARED(adz,diag,dz,km2) PRIVATE(j,i)

do j=1,jl

do i=1,il

if( km2(i,j) .GT. 0) then

adz(i,j)=

* diag(1 ,i,j)*dz(i ,j-2) + diag(2 ,i,j)*dz(i+1,j-2)+

* diag(3 ,i,j)*dz(i+2,j-2) + diag(4 ,i,j)*dz(i-1,j-1)+

* diag(5 ,i,j)*dz(i ,j-1) + diag(6 ,i,j)*dz(i+1,j-1)+

* diag(7 ,i,j)*dz(i+2,j-1) + diag(8 ,i,j)*dz(i-2,j )+

* diag(9 ,i,j)*dz(i-1,j ) + diag(10,i,j)*dz(i ,j )+

* diag(11,i,j)*dz(i+1,j ) + diag(12,i,j)*dz(i+2,j )+

* diag(13,i,j)*dz(i-2,j+1) + diag(14,i,j)*dz(i-1,j+1)+

* diag(15,i,j)*dz(i ,j+1) + diag(16,i,j)*dz(i+1,j+1)+

* diag(17,i,j)*dz(i-2,j+2) + diag(18,i,j)*dz(i-1,j+2)+

* diag(19,i,j)*dz(i ,j+2)

else

adz(i,j)= 0.d0

end if

end do

end do

!$OMP END PARALLEL DO

I use 1 node with 4 Procs. Using OpenMP times greater than without OpenMP.