anchor.diff:      if (send_to_left < 0 .and. send_to_right >= 0) then
          i = -send_to_left         ! size of first block
          j = count - send_to_right ! size of second block
  +       call copy_from_bank(temp_sites, i+1, j)
  +#ifdef MPI
  +       call MPI_WAIT(request_left, status, ierr)
  +#endif
          call copy_from_bank(left_bank, 1, i)
  -       call copy_from_bank(temp_sites, i+1, j)
       else if (send_to_left >= 0 .and. send_to_right < 0) then
          i = count - send_to_left ! size of first block
          j = -send_to_right       ! size of second block
          call copy_from_bank(temp_sites(1+send_to_left), 1, i)
  +#ifdef MPI
  +       call MPI_WAIT(request_right, status, ierr)
  +#endif
          call copy_from_bank(right_bank, i+1, j)
       else if (send_to_left >= 0 .and. send_to_right >= 0) then
          i = count - send_to_left - send_to_right
  
positive.code: 
      if (send_to_right > 0) then
         i = count - send_to_right + 1
         call MPI_SEND(temp_sites(i), send_to_right, MPI_BANK, rank+1, 0, &
              & MPI_COMM_WORLD, ierr)
      else if (send_to_right < 0) then
         call MPI_RECV(right_bank, -send_to_right, MPI_BANK, rank+1, 1, &
              & MPI_COMM_WORLD, status, ierr)
      end if
  
      if (send_to_left < 0) then
         call MPI_RECV(left_bank, -send_to_left, MPI_BANK, rank-1, 0, &
              & MPI_COMM_WORLD, status, ierr)
      else if (send_to_left > 0) then
         call MPI_SEND(temp_sites(1), send_to_left, MPI_BANK, rank-1, 1, &
              & MPI_COMM_WORLD, ierr)
      end if
  
      t3 = MPI_WTIME()
  
negative.code:     integer    :: send_to_right   ! # of bank sites to send/recv to or from right
      integer(8) :: sites_needed    ! # of sites to be sampled
      integer(8) :: sites_remaining ! # of sites left in fission bank
      integer    :: request         ! communication request for sending sites
      integer    :: request_left    ! communication request for recv sites from left
      integer    :: request_right   ! communication request for recv sites from right
      real(8)    :: p_sample        ! probability of sampling a site
      real(8)    :: t0, t1, t2, t3, t4
      type(Bank), allocatable :: &
  