anchor.diff:  
       PRECOND = hecmw_mat_get_precond( hecMAT )
   
  -    if (PRECOND.le.2) then
  -      call hecmw_precond_SSOR_33_setup(hecMAT)
  -    else if (PRECOND.eq.3) then
  -      call hecmw_precond_DIAG_33_setup(hecMAT)
  -    else if (PRECOND.eq.10.or.PRECOND.eq.11.or.PRECOND.eq.12) then
  -      call hecmw_precond_BILU_33_setup(hecMAT)
  -    else if (PRECOND.eq.5) then
  -      call hecmw_precond_ML_33_setup(hecMAT, hecMESH, sym)
  -    else if (PRECOND.eq.20) then
  -      call hecmw_precond_33_SAINV_setup(hecMAT)
  -    else if (PRECOND.eq.21) then
  -      call hecmw_precond_RIF_33_setup(hecMAT)
  -    endif
  -
  +    SELECT CASE(PRECOND)
  +      CASE(1,2)
  +        call hecmw_precond_SSOR_33_setup(hecMAT)
  +      CASE(3)
  +        call hecmw_precond_DIAG_33_setup(hecMAT)
  +      CASE(5)
  +        call hecmw_precond_ML_33_setup(hecMAT, hecMESH, sym)
  +      CASE(10,11,12)
  +        call hecmw_precond_BILU_33_setup(hecMAT)
  +      CASE(20)
  +        call hecmw_precond_33_SAINV_setup(hecMAT)
  +      CASE(21)
  +        call hecmw_precond_RIF_33_setup(hecMAT)
  +      CASE DEFAULT
  +        call hecmw_precond_nn_setup(hecMAT, hecMESH, sym)
  +    END SELECT
  +    
     end subroutine hecmw_precond_33_setup
   
     !C
  
positive.code: 
      PRECOND = hecmw_mat_get_precond( hecMAT )
  
      if (PRECOND.le.2) then
        call hecmw_precond_SSOR_33_clear(hecMAT)
      else if (PRECOND.eq.3) then
        call hecmw_precond_DIAG_33_clear()
      else if (PRECOND.eq.10.or.PRECOND.eq.11.or.PRECOND.eq.12) then
        call hecmw_precond_BILU_33_clear()
      else if (PRECOND.eq.5) then
        call hecmw_precond_ML_33_clear()
      else if (PRECOND.eq.20) then
        call hecmw_precond_33_SAINV_clear()
      else if (PRECOND.eq.21) then
        call hecmw_precond_RIF_33_clear()
      endif
  
    end subroutine hecmw_precond_33_clear
  
  
negative.code:     do iterPRE= 1, iterPREmax
  
        START_TIME = hecmw_Wtime()
        SELECT CASE(PRECOND)
          CASE(1,2)
            call hecmw_precond_SSOR_33_apply(ZP)
          CASE(3)
            call hecmw_precond_DIAG_33_apply(ZP)
          CASE(5)
            call hecmw_precond_ML_33_apply(ZP)
          CASE(10:12)
            call hecmw_precond_BILU_33_apply(ZP)
          CASE(20)
            call hecmw_precond_33_SAINV_apply(R,ZP)
          CASE(21)
            call hecmw_precond_RIF_33_apply(ZP)
          CASE DEFAULT
  
        END SELECT
        END_TIME = hecmw_Wtime()
        time_precond = time_precond + END_TIME - START_TIME
  
  