anchor.diff:  
           use determinant_enumeration
           use diagonalisation, only: generate_hamil
  -        use qmc_data, only: qmc_in_t, reference_t, walker_global
  +        use qmc_data, only: qmc_in_t, reference_t, walker_t
           use system, only: sys_t, copy_sys_spin_info, set_spin_polarisation
   
           type(sys_t), intent(inout) :: sys
  
positive.code: 
      end subroutine simple_death
  
      subroutine simple_annihilation()
  
          ! Annihilation: merge main and spawned lists.
  
          ! This is especially easy as we store the walker populations for all
          ! determinants for both the main and spawned lists so it just amounts to
          ! adding the two arrays together,
  
          use qmc_data, only: walker_global
  
          walker_global%walker_population = walker_global%walker_population + int(qmc_spawn%sdata, int_p)
  
      end subroutine simple_annihilation
  
  
negative.code: 
                      ! 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 == idet, H0i, psip_list%walker_population(1,idet), proj_energy)
  
                      ! Attempt to spawn from each particle onto all connected determinants.
                      if (use_sparse_hamil) then
                          associate(hstart=>hamil_csr%row_ptr(idet), hend=>hamil_csr%row_ptr(idet+1)-1)
                              do ipart = 1, abs(psip_list%walker_population(1,idet))
                                  call attempt_spawn(rng, qmc_in%tau, idet, psip_list%walker_population(1,idet), hamil_csr%mat(hstart:hend), &
                                                     hamil_csr%col_ind(hstart:hend))
                              end do
                          end associate
                      else
                          do ipart = 1, abs(psip_list%walker_population(1,idet))
                              call attempt_spawn(rng, qmc_in%tau, idet, psip_list%walker_population(1,idet), hamil(:,idet))
                          end do
                      end if
  
                      call simple_death(rng, qmc_in%tau, Hii, reference%H00, psip_list%walker_population(1,idet))
  
                  end do
  
  