// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_sortbench.c
// Function: gt_sortbench_verify_keypair
static void gt_sortbench_verify_keypair(GT_UNUSED const Gtuint64keyPair *arr,
                                        GT_UNUSED const Gtuint64keyPair
                                             *arr_copy,
                                        GtUword len)
{
  GtUword idx;

  gt_assert(sizeof (GtSeedExtendSeedPair) == sizeof (*arr));
  for (idx = 1UL; idx < len; idx++)
  {
    /* We check if the order in GtSeedExtendSeedPair is correctly implemented
       by casting a Gtuint64keyPair-pointer to a GtSeedExtendSeedPair-pointer
       and then calling the comparison function. The order on
       Gtuint64keyPair implies the order on GtSeedExtendSeedPair. */
#ifndef NDEBUG
    GtSeedExtendSeedPair *ptr1, *ptr2;
    ptr1 = (GtSeedExtendSeedPair *) (arr + idx - 1);
    ptr2 = (GtSeedExtendSeedPair *) (arr + idx);
#endif
    gt_assert(arr[idx-1].uint64_a < arr[idx].uint64_a ||
              (arr[idx-1].uint64_a == arr[idx].uint64_a &&
               arr[idx-1].uint64_b <= arr[idx].uint64_b));
    gt_assert(compareseedextendseedpair(ptr1,ptr2) <= 0);
  }
  for (idx = 0UL; idx < len; idx++)
  {
    gt_assert(arr[idx].uint64_a == arr_copy[idx].uint64_a);
    gt_assert(arr[idx].uint64_b == arr_copy[idx].uint64_b);
    /*seedptr = (GtSeedExtendSeedPair *) (arr + idx);
    printf("%12u %12u %12u %12u\n",seedptr->bseqnum,seedptr->aseqnum,
                           seedptr->bpos,seedptr->apos);*/
  }
  printf("verified\n");
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
jmp 0x72aa5
movq $0x1, 0x18(%rsp)
movq 0x18(%rsp), %rax
cmpq 0x20(%rsp), %rax
jae 0x72c1d
movq 0x30(%rsp), %rax
movq 0x18(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
addq $-0x10, %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x18(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq 0x18(%rsp), %rcx
subq $0x1, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
cmpq (%rcx), %rax
jb 0x72bb6
movq 0x30(%rsp), %rax
movq 0x18(%rsp), %rcx
subq $0x1, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
cmpq (%rcx), %rax
jne 0x72b7e
movq 0x30(%rsp), %rax
movq 0x18(%rsp), %rcx
subq $0x1, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
jbe 0x72bb6
movq 0x5c941b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3484(%rip), %rsi    # 0x516013
leaq 0x4b9d30(%rip), %rdx    # 0x52c8c6
leaq 0x4b9dab(%rip), %rcx    # 0x52c948
leaq 0x4b9689(%rip), %r8     # 0x52c22d
movl $0x17d, %r9d            # imm = 0x17D
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x72bb8
jmp 0x72bba
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x75cd0
cmpl $0x0, %eax
jle 0x72c06
movq 0x5c93cb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3434(%rip), %rsi    # 0x516013
leaq 0x4b9d7e(%rip), %rdx    # 0x52c964
leaq 0x4b9d5b(%rip), %rcx    # 0x52c948
leaq 0x4b9639(%rip), %r8     # 0x52c22d
movl $0x17e, %r9d            # imm = 0x17E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x72c08
jmp 0x72c0a
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x72aae
movq $0x0, 0x18(%rsp)
movq 0x18(%rsp), %rax
cmpq 0x20(%rsp), %rax
jae 0x72d19
jmp 0x72c38
movq 0x30(%rsp), %rax
movq 0x18(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x18(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
cmpq (%rcx), %rax
je 0x72c9a
movq 0x5c9337(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a33a0(%rip), %rsi    # 0x516013
leaq 0x4b9d14(%rip), %rdx    # 0x52c98e
leaq 0x4b9cc7(%rip), %rcx    # 0x52c948
leaq 0x4b95a5(%rip), %r8     # 0x52c22d
movl $0x182, %r9d            # imm = 0x182
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x72c9c
jmp 0x72c9e
movq 0x30(%rsp), %rax
movq 0x18(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x28(%rsp), %rcx
movq 0x18(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
cmpq 0x8(%rcx), %rax
je 0x72d02
movq 0x5c92cf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4a3338(%rip), %rsi    # 0x516013
leaq 0x4b9cd8(%rip), %rdx    # 0x52c9ba
leaq 0x4b9c5f(%rip), %rcx    # 0x52c948
leaq 0x4b953d(%rip), %r8     # 0x52c22d
movl $0x183, %r9d            # imm = 0x183
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x72d04
jmp 0x72d06
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x72c26
leaq 0x4b9cc6(%rip), %rdi    # 0x52c9e6
movb $0x0, %al
callq 0x19070
addq $0x38, %rsp
retq
nopl (%rax)