anchor.diff:          integer :: i, num, choice, iex
           logical :: first, allowed, all_allowed
   
  -        cluster%pselect = real(nattempts*nprocs, p)
  +        cluster%pselect = real(nattempts, p)
   
           ! Select cluster size according to probability distribution set by
           ! update_selection_probabilites.
           rand = get_rand_close_open(rng)
           cluster%nexcitors = -1
           do i = min_size, max_size
  +            ! Add equality for edge case.
               if (rand <= selection_data%cumulative_stoch_size_weighting(i)) then
                   cluster%nexcitors = i
                   cluster%pselect = cluster%pselect * selection_data%stoch_size_weighting(i)
  
positive.code:                     ! and t_Y t_X collapse onto the same excitor (where X and Y each
                      ! label an excitor), the probability of selecting a given cluster is
                      ! proportional to the number of ways the cluster could have been
                      ! formed.
                      ! If two excitors in the cluster are the same, the factorial
                      ! overcounts the number of ways the cluster could have been formed
                      ! but the extra factor(s) of 2 are cancelled by a similar
  
negative.code:                     call reset_extra_info_bit_string(sys%basis, cdet%f)
                      cdet%data => psip_list%dat(:,pos) ! Only use if cluster is non-composite!
                      cluster_population = excitor_pop
                  else
                      call collapse_cluster(sys%basis, f0, psip_list%states(:,pos), excitor_pop, cdet%f, &
                                            cluster_population, allowed)
  