anchor.diff:                          call do_fciqmc_spawning_attempt(rng, qs%spawn_store%spawn, bloom_stats, sys, qs, nattempts_current_det, &
                                                           cdet, determ, determ_parent, qs%psip_list%pops(ispace, idet), &
                                                           sys%read_in%comp .and. modulo(ispace,2)==0, &
  -                                                        ispace, nspawned, nspawned_im, logging_info)
  +                                                        ispace, logging_info)
   
                           ! Clone or die.
                           if (.not. determ_parent) then
  
positive.code: 
                  nattempts_current_det = decide_nattempts(rng, real_pop(ispace))
  
                  ! Possibly redundant if only one walker spawned at each spawning event.
                  do iparticle = 1, nattempts_current_det
  
                      ! Attempt to spawn.
                      call spawner_ptr(rng, sys, qs, spawn_to_send%cutoff, qs%psip_list%pop_real_factor, cdet, int_pop(ispace), &
                                       gen_excit_ptr, qs%trial%wfn_dat, logging_info, nspawned, nspawned_im, connection)
  
                      if (sys%read_in%comp .and. ispace == 2) then
                          ! If imaginary parent have to factor into resulting signs/reality.
                          scratch = nspawned_im
                          nspawned_im = nspawned
                          nspawned = -scratch
                      end if
                      ! Spawn if attempt was successful.
                      if (nspawned /= 0) then
                          call create_spawned_particle_ptr(sys%basis, qs%ref, cdet, connection, nspawned, 1, spawn_to_send)
                      end if
                      if (nspawned_im /= 0) then
                          call create_spawned_particle_ptr(sys%basis, qs%ref, cdet, connection, nspawned_im, 2, spawn_to_send)
                      end if
  
                  end do
  
                  ! Clone or die.
                  ! list_pop is meaningless as particle_t%nparticles is updated upon annihilation.
  
negative.code:         use system, only: sys_t
          use qmc_common, only: decide_nattempts
          use hamiltonian_data
          use bloom_handler, only: bloom_stats_t
          use semi_stoch, only: semi_stoch_t
  
          type(sys_t), intent(in) :: sys
          type(qmc_in_t), intent(in) :: qmc_in
  