anchor.diff:      real(kind=kreal), intent(inout) :: Z(:), ZP(:)
       real(kind=kreal), intent(inout) :: COMMtime
       integer(kind=kint ) :: N, NP, NNDOF, NPNDOF
  -    integer(kind=kint ) :: PRECOND, iterPREmax
       integer(kind=kint ) :: i, iterPRE
       real(kind=kreal) :: START_TIME, END_TIME
       N = hecMAT%N
       NP = hecMAT%NP
       NNDOF = N * hecMAT%NDOF
       NPNDOF = NP * hecMAT%NDOF
  -    PRECOND = hecmw_mat_get_precond( hecMAT )
  -    iterPREmax = hecmw_mat_get_iterpremax( hecMAT )
       
  -    if (iterPREmax.le.0) then
  +    if (hecmw_mat_get_iterpremax( hecMAT ).le.0) then
         do i= 1, NNDOF
           Z(i)= R(i)
         enddo
  
positive.code:   subroutine hecmw_precond_clear(hecMAT)
      implicit none
      type (hecmwST_matrix), intent(inout) :: hecMAT
      integer(kind=kint ) :: PRECOND, iterPREmax
  
      iterPREmax = hecmw_mat_get_iterpremax( hecMAT )
      if (iterPREmax.le.0) return
      
      SELECT CASE(hecMAT%NDOF)
        CASE(3)
  
negative.code:   use hecmw_precond_66
    use hecmw_precond_nn
    use hecmw_matrix_misc
    implicit none
  
    private
    public :: hecmw_precond_setup
    public :: hecmw_precond_clear
    public :: hecmw_precond_apply
  