anchor.diff:  
           if (iwalker == ref_det) then
               ! Have reference determinant.
  -            D0_population = walker_population(iwalker)
  +            D0_population = D0_population + walker_population(iwalker)
           else
               inst_proj_energy = inst_proj_energy + hamil(iwalker,ref_det)*walker_population(iwalker)
           end if
  
positive.code: 
          do ireport = 1, nreport
  
              ! Zero averaged projected energy.
              proj_energy = 0.0_p
  
              do icycle = 1, ncycles
  
                  ! Zero instantaneous projected energy.
                  inst_proj_energy = 0.0_p
  
                  ! Zero spawning arrays.
                  spawned_walkers = 0
  
                  ! 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)
  
                      ! Simulate spawning.
                      do ipart = 1, abs(walker_population(iwalker))
  
negative.code:                 start_vary_shift = ireport
              end if
  
              ! Running average projected energy and walker population on
              ! reference determinant.
              av_proj_energy = av_proj_energy + proj_energy
              av_D0_population = av_D0_population + D0_population
              ! Average these quantities over the report cycle.
              proj_energy = proj_energy/ncycles
              D0_population = D0_population/ncycles
  
              call cpu_time(t2)
              
  