anchor.diff:                  ! 3b. Probability of generating this excitation.
   
                   ! [review] - JSS: isn't this p(a|i) p(b|ija) + p(b|i)p(a|ijb) ?
  -                ! Calculate p(ab|ij) = p(a|i) p(j|b) + p(b|i)p(a|j)
  +                ! [reply] - VAN: I think you are correct. I have changed that.
  +                ! Calculate p(ab|ij) = p(a|i) p(b|ija) + p(b|i)p(a|ijb)
                 
                   if (ij_spin==0) then 
                       ! Not possible to have chosen the reversed excitation.
  
positive.code:         ! This creates a random excitation from cdet and calculate both the probability
          ! of selecting that excitation and the Hamiltonian matrix element.
          ! Weight the double excitations according the the Cauchy-Schwarz bound
          ! <ij|ab> <= Sqrt(<ia|ai><jb|bj>)
          ! This version uses the excitation weights from the reference rather than
          ! recalculating for each determinant.
  
  
negative.code: 
      subroutine create_weighted_excitation_list_ueg(sys, i, a_list, a_list_len, weights, weight_tot)
  
          ! Generate a list of allowed excitations from a to an element in a_list with their weights based on
          ! |<ia|ai>|. 
          !
          ! In:
          !    sys:   The system in which the orbitals live
          !    i:  integer specifying the from orbital
          !    a_list:   list of integers specifying the basis functions we're allowed to excite to
          !    a_list_len:   The length of a_list
          ! Out:
          !    weights:   A list of reals (length a_list_len), with the weight of each of the to_list orbitals
          !    weight_tot: The sum of all the weights.
          
          ! [review] - VAN: Do we think I should move this to hamiltonian_ueg.f90?
  
          use system, only: sys_t
          type(sys_t), intent(in) :: sys
  