anchor.diff:          call check_deallocate('occ', ierr)
   
       end subroutine enumerate_determinants
  -
  -    function point_to_det(i) result(d)
  -
  -        ! Return a variable of type dets which has components
  -        ! that point to the bit string, spin and wavevector (if
  -        ! doing a momentum space calculation) of a determinant.
  -        ! In:
  -        !    i: index of determinant.
  -
  -        use system, only: system_type, hub_real
  -
  -        type(det) :: d
  -        integer, intent(in) :: i
  -
  -        d%f => dets_list(:,i)
  -        d%Ms => dets_Ms
  -        if (system_type /= hub_real) d%sym = dets_sym
  -
  -    end function point_to_det
   
       pure subroutine encode_det(occ_list, bit_list)
   
  
positive.code: use parallel
  
  implicit none
  
  ! Bit masks to reveal the list of alpha basis functions and beta functions
  ! occupied in a Slater determinant, required for Hubbard model.
  
negative.code: 
  !--- Info for FCI calculations ---
  
  ! Store of determinant information.
  ! This will quickly become a memory issue, but for dealing with the FCI of small
  ! systems it is ok.
  
  ! Rather than creating an array of derived types containing information about
  ! each determinant, which leads to a serious memory overhead due to the need for
  ! pointers/allocatable arrays in the derived type, we instead create 3 separate
  ! variables.
  
  ! Bit list of the Slater determinant.  See note for f in det type.
  ! We only store determinants of the same Ms and (for momentum space
  