anchor.diff:                          call attempt_spawn(rng, iwalker)
                       end do
   
  -                    call simple_death(rng, iwalker)
  +                    call simple_death(rng, Hii, walker_population(1,iwalker))
   
                   end do
   
  
positive.code:                 ! Consider all walkers.
                  do iwalker = 1, ndets
  
                      ! It is much easier to evaluate the projected energy at the
                      ! start of the FCIQMC cycle than at the end.
                      call simple_update_proj_energy(ref_det, iwalker, proj_energy)
  
                      ! Simulate spawning.
                      do ipart = 1, abs(walker_population(1,iwalker))
  
negative.code:         ! This procedure is only for the simple fciqmc algorithm, where the
          ! Hamiltonian matrix is explicitly stored.
          ! In:
          !    ref: true if |D_i> is the reference, |D_0>.
          !    pop: population on |D_i>.
          ! In/Out:
          !    proj_energy: running total of the \sum_{i \neq 0} <D_i|H|D_0> N_i.
          !    This is updated if |D_i> is connected to |D_0> (and isn't |D_0>).
  
          logical, intent(in) :: ref
          real(p), intent(in) :: H0i
          integer(int_p), intent(in) :: pop
          real(p), intent(inout) :: proj_energy
  
          if (ref) then
              ! Have reference determinant.
              D0_population = D0_population + pop
          else
              proj_energy = proj_energy + H0i*pop
          end if
  
      end subroutine simple_update_proj_energy
  