anchor.diff:  use derivative_structure_generator
   use vector_matrix_utilities
   use labeling_related
  +use combinatorics
   implicit none
   character(800)  title, dummy
   character(len=:), allocatable :: f1name, f2name
  
positive.code:    ! Use the permutations effected by the rotations that fix the superlattice to generate labelings
     ! that are equivalent. The list of equivalent labelings will be used when we look for a match in the
     ! struct_enum file
     allocate(ilabeling(n*nD1),ilabeling2(n*nD1))
     read(labeling,'(500i1)') ilabeling
     !write(*,'("ilabeling:",/,30(i1),/)') ilabeling
     !print *,"size",size(ilabeling)
  
negative.code:          write(13,'("Volume is too small for structure #: ",i9," in file 2 (label # ",i9,")")') iStr2
           cycle
        endif
        ! Note here that we are assuming the structures are listed in ascending order by size. If
        ! that is not the case, one cannot use this early exit to speed things up. As it stands now
        ! though, the enum code always writes in ascending size order.
        if (n2 > n) then  ! We've passed the point in the f2 file where the size of cells matches
           write(13,'("Volume is too big for structure #: ",i9," in file 2 (label # ", &
                & i9,")")') iStr2, strN2
  