anchor.diff:  
                   ! Find the spawning rate and add to the running
                   ! total.
  -                rspawn = rspawn + real(sum(abs(qmc_spawn%sdata(1,:))))/nattempts
  -
  -                call simple_annihilation(qmc_spawn, psip_list%walker_population)
  +                rspawn = rspawn + real(sum(abs(spawn%sdata(1,:))))/nattempts
  +
  +                call simple_annihilation(spawn, psip_list%walker_population)
   
               end do
   
  
positive.code:                     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
  
  
negative.code:             do icycle = 1, qmc_in%ncycles
  
                  ! Zero spawning arrays.
                  spawn%sdata = 0_int_s
  
                  ! Number of spawning attempts that will be made.
                  nattempts = int(nparticles)
  