anchor.diff:      integer(kind=kint) :: js, je, j, jj, ks, ke, k, kk, ls, le, l, ll, l0
       integer(kind=kint), allocatable :: iw(:)
       real(kind=kreal), pointer :: Ap(:), Bp(:), Cp(:)
  +    real(kind=kreal) :: t0, t1
  +    t0 = hecmw_wtime()
       if (Amat%ndof /= Bmat%ndof) stop 'ERROR: multiply_mat_mat: unmatching ndof'
       ndof = Amat%ndof
       ndof2 = ndof*ndof
  
positive.code:         endif
        enddo
      end do OUTER
      if (sorted) return
      ! perform sort
      ndof = BTmat%ndof
  
negative.code:     nnz = Cmat%index(nr)
      Cmat%nnz = nnz
      !write(0,*) 'nnz',nnz
      t1 = hecmw_wtime()
      if (TIMER >= 3) write(0, '(A,f10.4)') "###### multiply_mat_mat (1) : ",t1-t0
      t0 = hecmw_wtime()
      allocate(Cmat%item(nnz))
      allocate(Cmat%A(ndof2 * nnz))
      Cmat%A(:) = 0.0d0
  