anchor.diff:      if (isFirst .eqv. .true.) then
         !$ numOfThread = omp_get_max_threads()
         numOfBlock = numOfThread * numOfBlockPerThread
  +      if (allocated(icToBlockIndex)) deallocate(icToBlockIndex)
  +      if (allocated(blockIndexToColorIndex)) deallocate(blockIndexToColorIndex)
         allocate (icToBlockIndex(0:NColor), &
              blockIndexToColorIndex(0:numOfBlock + NColor))
         numOfElement = N + indexL(N) + indexU(N)
  
positive.code:     real(kind=kreal) :: SW1, SW2, SW3, X1, X2, X3
  
      ! added for turning >>>
      logical, save :: isFirst = .true.
      integer(kind=kint), parameter :: numOfBlockPerThread = 100
      integer(kind=kint), save :: numOfThread = 1, numOfBlock
      integer(kind=kint), save, allocatable :: icToBlockIndex(:)
  
negative.code:       ALU(9*ii  )= ALUtmp(3,3)
      enddo
  
      isFirst = .true.
  
      !write(*,*) 'DEBUG: SSOR setup done', hecmw_Wtime()-t0
  
    end subroutine hecmw_precond_SSOR_33_setup
  