anchor.diff:   
       subroutine init_excit_mol_power_pitzer_orderN(sys, ref, pp)
   
  -        ! Generate excitation tables for all spinorbitals for the gen_excit_mol_power_pitzer
  +        ! Generate excitation tables for all spinorbitals for the gen_excit_mol_power_pitzer_orderN
           ! excitation generator.
   
           ! In:
  
positive.code:         else
              ! We have a double
              associate( pp => excit_gen_data%excit_gen_pp )
                  ! 2b. Select orbitals to excite from
                  
                  i_ind_ref = select_weighted_value_precalc(rng, sys%nel, pp%ppn_i_d%aliasU(:), pp%ppn_i_d%aliasK(:))
                  i_ref = pp%occ_list(i_ind_ref)
                  
                  ! Now map i_ref to i_cdet.
                  call get_excitation_locations(pp%occ_list, cdet%occ_list, ref_store, cdet_store, sys%nel, nex)
                  ! These orbitals might not be aligned in the most efficient way:
                  !  They may not match in spin, so first deal with this
  
negative.code:                     end if
                  end do
                  
                  ! 4. Find j_ref.
                  ! j is chosen from set of occupied spinorbitals in reference but with weights calculated for i_cdet.
                  j_ind_ref = select_weighted_value_precalc(rng, sys%nel, pp%ppn_ij_d%aliasU(:,i_cdet), &
                                                      pp%ppn_ij_d%aliasK(:,i_cdet))
                  j_ref = pp%occ_list(j_ind_ref)
  
                  ! 5. Map j_ref to j_cdet.
                  j_cdet = j_ref
                  do ii=1, nex
                      if (ref_store(ii) == j_ind_ref) then  ! j_ref isn't actually in cdet, so we assign j_cdet to the orb that is
  