anchor.diff:      do i=1,hecMAT%NP*hecMESH%n_dof
         hecMAT%X(i) = hecMAT%B(i)
       end do
  -    call NUSOL0(hecMAT%X,NEQns,NDEg,NSTop,IPErm,XLNzr,COLno,DIAg,ZLN,DSLn,STAge,ir)
  +    call NUSOL0(hecMAT%X,FCT%NEQns,FCT%NDEg,FCT%NSTop,FCT%IPErm,FCT%XLNzr,FCT%COLno,FCT%DIAg,FCT%ZLN,FCT%DSLn,FCT%STAge,ir)
       call PTIME(t5)
       !* Errors 4
       if ( ir/=0 ) then
  
positive.code:     type (HECMWST_MATRIX), intent(inout)::hecMAT
      integer(kind=kint), intent(in):: Ifmsg
      !------
      integer(kind=kint), save :: LEN_colno
      integer(kind=kint), save :: NSTop
      integer(kind=kint), save :: STAge
      integer(kind=kint), save :: NEQns
      integer(kind=kint), save :: NDEg
      integer(kind=kint), save :: NTTbr
      integer(kind=kint), save :: ISYm
      integer(kind=kint), save :: LEN_dsln
      integer(kind=kint), pointer, save :: JCOl(:)
      integer(kind=kint), pointer, save :: IROw(:)
      integer(kind=kint), pointer, save :: IPErm(:)
      integer(kind=kint), pointer, save :: INVp(:)
      integer(kind=kint), pointer, save :: PARent(:)
      integer(kind=kint), pointer, save :: NCH(:)
      integer(kind=kint), pointer, save :: XLNzr(:)
      integer(kind=kint), pointer, save :: COLno(:)
      real(kind=kreal), pointer, save :: DIAg(:)
      real(kind=kreal), pointer, save :: ZLN(:)
      real(kind=kreal), pointer, save :: DSLn(:)
      !*Allocation variables
      integer(kind=kint), save :: ialoc
      integer(kind=kint), save :: raloc
      !------
      integer(kind=kint):: i98
      integer(kind=kint):: i97
  
negative.code:     i97 = hecMAT%IARRAY(97)
      if ( hecMAT%IARRAY(97)==1 ) then
        !* Interface to numeric factorization
        call NUFORM(hecMESH,hecMAT,FCT%NEQns,FCT%NDEg,FCT%LEN_colno,FCT%NSTop,FCT%LEN_dsln,FCT%INVp,FCT%XLNzr,FCT%COLno,FCT%DIAg,&
             FCT%ZLN,FCT%DSLn,FCT%RALoc,FCT%STAge,ir)
        call PTIME(t3)
  
        !* Numeric factorization
        call NUFCT0(FCT%NEQns,FCT%NDEg,FCT%NSTop,FCT%PARent,FCT%NCH,FCT%XLNzr,FCT%COLno,FCT%DIAg,FCT%ZLN,FCT%DSLn,FCT%STAge,ir)
        hecMAT%IARRAY(97) = 0
  
        if ( timelog > 0 .or. iterlog > 0 ) write (*,*) "[DIRECT]: numeric fct done"
  