anchor.diff:      enddo
     end subroutine hecmw_localmat_write
   
  +  subroutine hecmw_localmat_write_size(Tmat,iunit)
  +    implicit none
  +    type (hecmwST_local_matrix), intent(in) :: Tmat
  +    integer(kind=kint), intent(in) :: iunit
  +    integer(kind=kint) :: nr, nc, nnz, ndof
  +    nr=Tmat%nr
  +    nc=Tmat%nc
  +    nnz=Tmat%nnz
  +    ndof=Tmat%ndof
  +    write(iunit,'(a,4i10)') 'nr, nc, nnz, ndof', nr, nc, nnz, ndof
  +  end subroutine hecmw_localmat_write_size
  +
     subroutine hecmw_localmat_write_ij(Tmat,iunit)
       implicit none
       type (hecmwST_local_matrix), intent(in) :: Tmat
  
positive.code:     t0 = hecmw_wtime()
      call hecmw_localmat_multmat(BTtKmat, BTmat, hecMESH, BTtKTmat)
      if (DEBUG >= 2) write(0,*) '  DEBUG2: multiply TtK and T done'
      if (DEBUG >= 3) then
        write(700+hecmw_comm_get_rank(),*) 'BTtKTmat'
        if (DEBUG == 3) then
          call hecmw_localmat_write_ij(BTtKTmat, 700+hecmw_comm_get_rank())
        else
          call hecmw_localmat_write(BTtKTmat, 700+hecmw_comm_get_rank())
  
negative.code:     ! perform three matrices multiplication for elimination
      t0 = hecmw_wtime()
      call hecmw_localmat_init_with_hecmat(BKmat, hecMAT)
      if (DEBUG >= 2) then
        write(700+hecmw_comm_get_rank(),*) 'BKmat (hecMAT)'
        if (DEBUG == 2) then
          call hecmw_localmat_write_size(BKmat, 700+hecmw_comm_get_rank())
        else if (DEBUG == 3) then
          call hecmw_localmat_write_ij(BKmat, 700+hecmw_comm_get_rank())
        else
          call hecmw_localmat_write(BKmat, 700+hecmw_comm_get_rank())
  