anchor.diff:      goto 100
   
     end do
  -  
  +
     ! If we're here, we failed to read a checkpoint file
     write(93,"(a)") "CR_CHECK> ERROR Could not read checkpoint files"
     flush(93)
  
positive.code:     ! Just check crbinrecs against crbinrec
  #ifndef STF
      ! Binary files have been rewritten; now re-position
      write(93,"(a)") "SIXTRACR> CRCHECK re-positioning binary files"
      do ia=1,crnapxo/2,1
        myia=91-ia
        if (crbinrecs(ia).ge.crbinrec) then
          mybinrecs=0
          read(91-ia,err=102,end=102,iostat=ierro) hbuff
          do 11 j=2,crbinrecs(ia)
            if(ntwin.ne.2) then
              read(91-ia,err=102,end=102,iostat=ierro) (tbuff(k),k=1,17)
            else
              read(91-ia,err=102,end=102,iostat=ierro) tbuff
            endif
            mybinrecs=mybinrecs+1
  11        continue
          !This is not a FLUSH!
          endfile (91-ia,iostat=ierro)
          backspace (91-ia,iostat=ierro)
        else ! Number of ecords written to this file < general number of records written
            ! => Particle has been lost before last checkpoint, no need to reposition.
          write(93,"(2(a,i0))") "SIXTRACR> CRCHECK ignoring IA ",ia," Unit ",myia
        endif
      end do ! END "do ia=1,crnapxo/2,1"
  #else
      mybinrecs=0
      ! Reposition headers
      do ia=1,crnapxo/2,1
        read(90,err=102,end=102,iostat=ierro) hbuff
        mybinrecs=mybinrecs+1
      end do
      !Reposition track records
      do ia=1,crnapxo/2,1
        do j=2,crbinrecs(ia)
          if(ntwin.ne.2) then !ntwin=1
            read(90,err=102,end=102,iostat=ierro) (tbuff(k),k=1,17)
          else                !ntwin=2
            read(90,err=102,end=102,iostat=ierro) tbuff
          endif
          mybinrecs=mybinrecs+1
        end do
      end do
  #endif
    end if ! END "if (numl.ne.crnuml) then" and END else
    return
  #ifndef STF
  102 continue
    write(lerr,"(2(a,i0))") "SIXTRACR> ERROR PROBLEMS RE-READING fort.",myia," IOSTAT=",ierro
    write(lerr,"(3(a,i0))") "          Unit ",myia," mybinrecs=",mybinrecs," Expected crbinrecs=",crbinrecs(ia)
    write(lerr,"(a)")       "SIXTRACR> CRCHECK failure positioning binary files"
    call prror(-1)
  105 continue
    write(lerr,"(2(a,i0))") "SIXTRACR> ERROR PROBLEMS COPYING fort.",myia," IOSTAT=",ierro
    write(lerr,"(4(a,i0))") "          Unit ",myia," mybinrecs=",mybinrecs,&
      " Expected crbinrecs=",crbinrecs(ia)," binrecs94=",binrecs94
    write(lerr,"(a)")       "SIXTRACR> CRCHECK failure copying binary files"
    call prror(-1)
  #else
  102 continue
    write(lerr,"(2(a,i0))") "SIXTRACR> ERROR PROBLEMS RE-READING singletrackfile.dat for ia=",ia," IOSTAT=",ierro
    write(lerr,"(2(a,i0))") "          mybinrecs=",mybinrecs," Expected crbinrecs=",crbinrecs(ia)
    write(lerr,"(a)")       "SIXTRACR> CRCHECK failure positioning binary files"
    call prror(-1)
  105 continue
    write(lerr,"(2(a,i0))") "SIXTRACR> ERROR PROBLEMS COPYING particle pair ",ia," IOSTAT=",ierro," from/to singletrackfile.dat"
    write(lerr,"(3(a,i0))") "          mybinrecs=",mybinrecs," Expected crbinrecs=",crbinrecs(ia)," binrecs94=",binrecs94
    write(lerr,"(a)")       "SIXTRACR> CRCHECK failure copying binary files"
    call prror(-1)
  #endif
  end subroutine cr_positionTrackFiles
  
  
negative.code: ! ================================================================================================ !
  subroutine cr_positionTrackFiles
  
    use crcoall
    use mod_units
    use mod_common
    use, intrinsic :: iso_fortran_env, only : int32
  
    integer j, k, ia
    integer binrecs9x, binrecs94
  
    ! DANGER: If the length of the records in writebin(_header)changes, these arrays must be updated
    integer(kind=int32) hbuff(253),tbuff(35)
  
    ! We may be re-running with a DIFFERENT number of turns (numl)
    ! Eric fix this later by reading numl for fort.90
  