anchor.diff:      write(*,*) "-------------------------------------------------------------"
       write(*,*) "Statsitcs:"
       write(*,*) "-------------------------------------------------------------"
  -    write(*,*) "Time to compute = ", endTime-startTime
  +    write(*,*) "Time to compute = ", elapsedTime
       write(*,*) ""
       write(*,*) "Avg Iters for iterating betn. soln. =", avgIters
       write(*,*) "Max Iters for iterating betn. soln. =", maxIters
       write(*,*) "Avg Iters for linear solver =", avgNit
       write(*,*) "Max Iters for linear solver =", maxNit  
       write(*,*) "Writing statistics to file"
  -    call reportStats(avgIters,maxIters,avgNit,maxNit,endTime-startTime)
  +    call reportStats(avgIters,maxIters,avgNit,maxNit,elapsedTime)
       
       write(*,*) "Execution completed"
     
  
positive.code:     MatrixM(:,:) = 0
  
      ! Compute all the diffusion coefficients
      !$omp parallel do shared(M,diff,delta,alpha,beta,dSelect) private(i)
      do i = 1,n
          call dFunc(M(i), diff(i), delta, alpha, beta, dSelect)
      enddo
  
negative.code:     !!$omp parallel do shared(MatrixM,yCof,diff,Mrhs,tDel,M,C,k,yConst,nu,m0,c0,gam,fSelect) private(i, f)
      !$omp parallel do private(f)
      do i = 1,n
          if (i .LE. col) then
              MatrixM(i,5) = MatrixM(i,5) - yCof*0.5*(diff(i+col)+diff(i))
              MatrixM(i,3) = MatrixM(i,3) + yCof*0.5*(diff(i+col)+diff(i))
          else
              MatrixM(i,1) = MatrixM(i,1) - yCof*0.5*(diff(i-col)+diff(i))
              MatrixM(i,3) = MatrixM(i,3) + yCof*0.5*(diff(i-col)+diff(i))         
          endif
            
          if (MOD(i,col) == 1) then
              MatrixM(i,4) = MatrixM(i,4) - xCof*0.5*(diff(i+1)+diff(i))
              MatrixM(i,3) = MatrixM(i,3) + xCof*0.5*(diff(i+1)+diff(i))
          else
              MatrixM(i,2) = MatrixM(i,2) - xCof*0.5*(diff(i-1)+diff(i))
              MatrixM(i,3) = MatrixM(i,3) + xCof*0.5*(diff(i-1)+diff(i))         
          endif
  
          if (MOD(i,col) == 0) then
              MatrixM(i,2) = MatrixM(i,2) - xCof*0.5*(diff(i-1)+diff(i))
              MatrixM(i,3) = MatrixM(i,3) + xCof*0.5*(diff(i-1)+diff(i))
          else
              MatrixM(i,4) = MatrixM(i,4) - xCof*0.5*(diff(i+1)+diff(i))
              MatrixM(i,3) = MatrixM(i,3) + xCof*0.5*(diff(i+1)+diff(i))         
          endif
            
          if  (i .GE. n-col) then
              MatrixM(i,1) = MatrixM(i,1) - yCof*0.5*(diff(i-col)+diff(i))
              MatrixM(i,3) = MatrixM(i,3) + yCof*0.5*(diff(i-col)+diff(i))
          else
              MatrixM(i,5) = MatrixM(i,5) - yCof*0.5*(diff(i+col)+diff(i))
              MatrixM(i,3) = MatrixM(i,3) + yCof*0.5*(diff(i+col)+diff(i))         
          endif
          
          call fFunc(M(i),C(i),f,k,yConst,nu,m0,c0,gam,fSelect)
  