anchor.diff:        integer(kind=kint) :: i, j, k , ii, iii, ik, in, in1, in2, in3, nstep, istep
         integer(kind=kint) :: ig, ig0, is0, ie0, its0, ite0, jiter, iiter, kiter
         integer(kind=kint) :: kk, jjiter, ppc
  -      real(kind=kreal)   :: t1, t2, aalf, tmp, tmp2, r1, r2, r3
  +      real(kind=kreal)   :: t1, t2, aalf, tmp, tmp2, r1, r2, r3, gm1, gm2, gm3
   
         integer(kind=kint) IOUT,IREOR,eITMAX,itype,iS,iE,ic_type,icel,jS,nn
         integer(kind=kint), allocatable :: isnode33(:)
  +      real(kind=kreal), allocatable   :: gmass(:)
   
   !C*-------- solver control -----------*
         logical :: ds = .false. !using Direct Solver or not
  
positive.code:         r1 = 0.0
          r2 = 0.0
          r3 = 0.0
          do j = 1, numn
            if(isnode33(j)==0)then
              in1 = 3*j-2
              in2 = 3*j-1
              in3 = 3*j
              r1 = r1 + mass(in1)*ewk(in1,i)
              r2 = r2 + mass(in2)*ewk(in2,i)
              r3 = r3 + mass(in3)*ewk(in3,i)
            endif
          enddo
          myEIG%partfactor(3*i-2) = r1/prechk2
          myEIG%partfactor(3*i-1) = r2/prechk2
          myEIG%partfactor(3*i  ) = r3/prechk2
          myEIG%effmass(3*i-2) = r1*r1/prechk2
          myEIG%effmass(3*i-1) = r2*r2/prechk2
          myEIG%effmass(3*i  ) = r3*r3/prechk2
        END DO
  
        DO JITER=1,NGET
  
negative.code: !C        CALL VECPRO1(prechk1,ewk(1:,JITER:),ewk(1:,JITER:),Gntotal)
          do iii = 1, Gntotal
            prechk1 = prechk1 + ewk(iii,JITER)*ewk(iii,JITER)
          enddo
          if (.not. ds) then !In case of Direct Solver prevent MPI
            CALL hecmw_allreduce_R1(hecMESH,prechk1,hecmw_sum)
          end if
          !prechk1 = sqrt(prechk1)
          !if(prechk1.NE.0.0D0) ewk(:,JITER) = ewk(:,JITER)/prechk1
  