anchor.diff:  
       end subroutine exact_diagonalisation
       
  -    pure function get_hmatel(root_det, excitation) result(hmatel)
  +    pure function get_hmatel(root_det_f, excitation) result(hmatel)
   
           real(dp) :: hmatel
           type(excit), intent(in) :: excitation
  -        integer, intent(in) :: root_det(nel)
  +        integer(i0), intent(in) :: root_det_f(basis_length)
  +        integer :: root_det(nel)
           integer :: i, j
   
           hmatel = 0.0_dp
   
           select case(excitation%nexcit)
           case(0)
  +
  +            root_det = decode_det(root_det_f)
   
               ! One electron operator
               do i = 1, nel
  
positive.code:             end do
  
          case(1)
  
              ! One electron operator
              hmatel = hmatel + get_one_e_int(excitation%from_orb(1), excitation%to_orb(1)) 
  
negative.code: 
          integer :: ierr, i, j
          type(excit) :: excitation
  
          allocate(hamil(ndets,ndets), stat=ierr)
  
  