anchor.diff:  
           do ireport = 1, nreport
   
  -            ! Zero averaged projected energy.
  +            ! Zero report cycle quantities.
               proj_energy = 0.0_p
  +            rspawn = 0.0_p
  +            D0_population = 0.0_p
   
               do icycle = 1, ncycles
  -
  -                ! Zero instantaneous projected energy.
  -                inst_proj_energy = 0.0_p
   
                   ! Zero spawning arrays.
                   spawned_walkers = 0
   
  +                ! Number of spawning attempts that will be made.
  +                nattempts = nparticles
  +
                   ! 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(iwalker, inst_proj_energy)
  +                    call simple_update_proj_energy(iwalker, proj_energy)
   
                       ! Simulate spawning.
                       do ipart = 1, abs(walker_population(iwalker))
  
positive.code: 
                  end do
  
                  ! Normalise and update running average projected energy.
                  proj_energy = proj_energy + inst_proj_energy/D0_population
  
                  call simple_annihilation()
  
  
negative.code: 
          if (iwalker == ref_det) then
              ! Have reference determinant.
              D0_population = D0_population + walker_population(iwalker)
          else
              inst_proj_energy = inst_proj_energy + hamil(iwalker,ref_det)*walker_population(iwalker)
          end if
  