anchor.diff:    enddo
     !$OMP END DO 
   
  -  !$OMP CRITICAL (u0Hu0)
     do istate=1,N_st
       do i=1,n
  +      !$OMP ATOMIC
         v_0(i,istate) = v_0(i,istate) + vt(istate,i)
       enddo
     enddo
  -  !$OMP END CRITICAL (u0Hu0)
   
     deallocate(vt,st)
     !$OMP END PARALLEL
  
positive.code:   enddo
    !$OMP END DO
  
    !$OMP DO SCHEDULE(dynamic)
    do sh=1,shortcut(0,2)
      do i=shortcut(sh,2),shortcut(sh+1,2)-1
        org_i = sort_idx(i,2)
  
negative.code:   enddo
    !$OMP END DO
  
    !$OMP DO SCHEDULE(guided)
    do sh=1,shortcut(0,1)
      do sh2=1,shortcut(0,1)
        if (sh==sh2) cycle
  