// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/tyr-map.c
// Function: gt_tyrindex_check
void gt_tyrindex_check(GT_UNUSED const Tyrindex *tyrindex)
{
#ifndef NDEBUG
  GtUchar *mercodeptr;
  const GtUchar *result;
  GtUword position;
  GT_UNUSED GtUword previousposition = 0;

  gt_assert(tyrindex->merbytes > 0);
  for (mercodeptr = tyrindex->mertable;
       mercodeptr <= tyrindex->lastmer;
       mercodeptr += tyrindex->merbytes)
  {
    result = gt_tyrindex_binmersearch(tyrindex,0,mercodeptr,
                                   tyrindex->mertable,
                                   tyrindex->lastmer);
    gt_assert(result != NULL);
    if ((result - tyrindex->mertable) % tyrindex->merbytes != 0)
    {
      fprintf(stderr,"result is not multiple of "GT_WU"\n",tyrindex->merbytes);
      exit(GT_EXIT_PROGRAMMING_ERROR);
    }
    position = (GtUword) (result-tyrindex->mertable)/
                               tyrindex->merbytes;
    if (position > 0 && previousposition + 1 != position)
    {
      fprintf(stderr,"position "GT_WU" is not increasing\n",position);
      exit(GT_EXIT_PROGRAMMING_ERROR);
    }
    previousposition = position;
  }
#endif
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq $0x0, (%rsp)
movq 0x20(%rsp), %rax
cmpq $0x0, 0x28(%rax)
ja 0x4e8905
movq 0x1536cc(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2d735(%rip), %rsi     # 0x516013
leaq 0xd2eaa(%rip), %rdx     # 0x5bb78f
leaq 0xd2eba(%rip), %rcx     # 0x5bb7a6
leaq 0xd2cee(%rip), %r8      # 0x5bb5e1
movl $0x17a, %r9d            # imm = 0x17A
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e8907
movq 0x20(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq 0x38(%rcx), %rax
ja 0x4e8a62
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rdx
movq 0x20(%rsp), %rax
movq 0x30(%rax), %rcx
movq 0x20(%rsp), %rax
movq 0x38(%rax), %r8
xorl %eax, %eax
movl %eax, %esi
callq 0x4e8680
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x4e8993
movq 0x15363e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2d6a7(%rip), %rsi     # 0x516013
leaq 0xd2e45(%rip), %rdx     # 0x5bb7b8
leaq 0xd2e2c(%rip), %rcx     # 0x5bb7a6
leaq 0xd2c60(%rip), %r8      # 0x5bb5e1
movl $0x182, %r9d            # imm = 0x182
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4e8995
movq 0x10(%rsp), %rax
movq 0x20(%rsp), %rcx
movq 0x30(%rcx), %rcx
subq %rcx, %rax
movq 0x20(%rsp), %rcx
xorl %edx, %edx
divq 0x28(%rcx)
cmpq $0x0, %rdx
je 0x4e89e2
movq 0x1535e2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rdx
leaq 0xd2df6(%rip), %rsi     # 0x5bb7c7
movb $0x0, %al
callq 0x199f0
movl $0x2, %edi
callq 0x19890
movq 0x10(%rsp), %rax
movq 0x20(%rsp), %rcx
movq 0x30(%rcx), %rcx
subq %rcx, %rax
movq 0x20(%rsp), %rcx
xorl %edx, %edx
divq 0x28(%rcx)
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jbe 0x4e8a41
movq (%rsp), %rax
addq $0x1, %rax
cmpq 0x8(%rsp), %rax
je 0x4e8a41
movq 0x15357f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
movq 0x8(%rsp), %rdx
leaq 0xd2db6(%rip), %rsi     # 0x5bb7e6
movb $0x0, %al
callq 0x199f0
movl $0x2, %edi
callq 0x19890
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rax
movq 0x28(%rax), %rax
addq 0x18(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x4e8915
addq $0x28, %rsp
retq
nopw (%rax,%rax)