anchor.diff:        idx = idx_b + ikb1
   
         call init(ztpsi(:,4,idx),zu(:,ib,ik))
  +    enddo
  +#endif
  +
  +    do ikb1 = 0, num_ikb1-1
  +      ikb = ikb0 + ikb1
  +      ik=ik_table(ikb)
  +      ib=ib_table(ikb)
  +      idx = idx_b + ikb1
  +
         call hpsi_omp_KB_RT(ik,ztpsi(:,4,idx),ztpsi(:,1,idx))
         call hpsi_omp_KB_RT(ik,ztpsi(:,1,idx),ztpsi(:,2,idx))
         call hpsi_omp_KB_RT(ik,ztpsi(:,2,idx),ztpsi(:,3,idx))
  
positive.code:   integer    :: iexp
    complex(8) :: zfac(4)
  #ifdef ARTED_LBLK
    integer    :: ikb0,ikb1,num_ikb1
    integer    :: idx_b,idx
  #endif
  #ifdef ARTED_SC
    integer    :: loop_count
  
negative.code: !$  tid=omp_get_thread_num()
    idx_b = tid * blk_nkb_hpsi
  
  !$omp do private(num_ikb1,ikb_s,ikb_e,ikb,ik,ib,idx)
    do ikb0=1,NKB, blk_nkb_hpsi
  #ifdef ARTED_USE_NVTX
      call nvtxStartRange('dt_evolve_hpsi: do ikb0',3)
  #endif
      num_ikb1 = min(blk_nkb_hpsi, NKB-ikb0+1)
      ikb_s = ikb0
      ikb_e = ikb0 + num_ikb1-1
  
  #if 1
      call init_LBLK(ztpsi(:,:,idx_b),zu(:,:,:), ikb_s,ikb_e, 4)
  #else
      do ikb1 = 0, num_ikb1-1
        ikb = ikb0 + ikb1
        ik=ik_table(ikb)
  