anchor.diff:  !$omp end do
   !$omp end parallel
   
  -#else ! #ifdef _OPENACC
  -
  -!$acc data pcopy(zu) create(ztpsi)
  -  do ikb0=1,NKB, blk_nkb_hpsi
  -    num_ikb1 = min(blk_nkb_hpsi, NKB-ikb0+1)
  -    ikb_s = ikb0
  -    ikb_e = ikb0 + num_ikb1-1
  -
  -    call init_LBLK(ztpsi(:,:,4),zu(:,:,:), ikb_s,ikb_e)
  -
  -    call hpsi_acc_KB_RT_LBLK(ztpsi(:,:,4),ztpsi(:,:,1), ikb_s,ikb_e)
  -    call hpsi_acc_KB_RT_LBLK(ztpsi(:,:,1),ztpsi(:,:,2), ikb_s,ikb_e)
  -    call hpsi_acc_KB_RT_LBLK(ztpsi(:,:,2),ztpsi(:,:,3), ikb_s,ikb_e)
  -    call hpsi_acc_KB_RT_LBLK(ztpsi(:,:,3),ztpsi(:,:,4), ikb_s,ikb_e)
  -
  -    call update_LBLK(zfac,ztpsi(:,:,:),zu(:,:,:), ikb_s,ikb_e)
  -#ifdef ARTED_CURRENT_OPTIMIZED
  -    call current_acc_KB_ST_LBLK(zu(:,:,:), ikb_s,ikb_e)
  -#endif
  -  end do
  -!$acc end data
  -
  -#endif ! _OPENACC
  -
     call timelog_end(LOG_HPSI)
  -  ! NVTX_END()
   
   contains
     subroutine init(tpsi,zu)
  
positive.code:     end do
      TIMELOG_END(LOG_HPSI_UPDATE)
    end subroutine
  
  #ifdef ARTED_LBLK
    subroutine init_LBLK(tpsi,zu, ikb_s,ikb_e)
      use Global_Variables, only: NLx,NLy,NLz
      use opt_variables, only: PNLx,PNLy,PNLz
  
negative.code:   integer    :: ikb,ik,ib,i
    integer    :: iexp
    complex(8) :: zfac(4)
  
    zfac(1)=(-zI*dt)
    do i=2,4
      zfac(i)=zfac(i-1)*(-zI*dt)/i
    end do
  
    call timelog_begin(LOG_HPSI)
  
  !$omp parallel private(tid) shared(zfac)
  !$  tid=omp_get_thread_num()
  