LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_write
GtIntset *gt_intset_16_write(GtIntset *intset, FILE *fp, GtError *err)
{
  gt_assert(intset != NULL);
  gt_assert(fp != NULL);
  gt_error_check(err);
  return gt_intset_16_io(intset, fp, err);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq %rdx, (%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x4931d2
movq 0x1a8dff(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x82e68(%rip), %rsi     # 0x516013
leaq 0xc42c7(%rip), %rdx     # 0x557479
leaq 0x120399(%rip), %rcx    # 0x5b3552
leaq 0x1202dc(%rip), %r8     # 0x5b349c
movl $0xcd, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4931d4
jmp 0x4931d6
cmpq $0x0, 0x8(%rsp)
jne 0x493216
movq 0x1a8dbb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x82e24(%rip), %rsi     # 0x516013
leaq 0xb808a(%rip), %rdx     # 0x54b280
leaq 0x120355(%rip), %rcx    # 0x5b3552
leaq 0x120298(%rip), %r8     # 0x5b349c
movl $0xce, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x493218
jmp 0x49321a
cmpq $0x0, (%rsp)
je 0x493268
movq (%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x493230
jmp 0x493268
movq 0x1a8d69(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x82dd2(%rip), %rsi     # 0x516013
leaq 0x82f77(%rip), %rdx     # 0x5161bf
leaq 0x120303(%rip), %rcx    # 0x5b3552
leaq 0x120246(%rip), %r8     # 0x5b349c
movl $0xcf, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49326a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq (%rsp), %rdx
callq 0x493000
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_get
GtUword gt_intset_16_get(GtIntset *intset, GtUword idx)
{
  GtUword quotient;
  GtIntset16 *intset_16 = gt_intset_16_cast(intset);
  GtIntsetMembers *members = intset->members;
  GtUword *sectionstart = members->sectionstart;
  gt_assert(idx < members->nextfree);

  quotient = gt_intset_16_binarysearch_sec_idx_largest_leq(
                                      sectionstart,
                                      sectionstart + members->numofsections - 1,
                                      idx);
  return (quotient << members->logsectionsize) +
         intset_16->elements[idx];
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
callq 0x492bd0
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jb 0x4935d8
movq 0x1a89f9(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x82a62(%rip), %rsi     # 0x516013
leaq 0x120124(%rip), %rdx    # 0x5b36dc
leaq 0x120135(%rip), %rcx    # 0x5b36f4
leaq 0x11fed6(%rip), %r8     # 0x5b349c
movl $0x11d, %r9d            # imm = 0x11D
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4935da
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rax
shlq $0x3, %rax
addq %rax, %rsi
addq $-0x8, %rsi
movq 0x28(%rsp), %rdx
callq 0x493640
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rcx
shlq %cl, %rax
movq 0x18(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x28(%rsp), %rdx
movzwl (%rcx,%rdx,2), %ecx
addq %rcx, %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_binarysearch_sec_idx_largest_leq
static GtUword
gt_intset_16_binarysearch_sec_idx_largest_leq(GtUword *secstart_begin,
                                              GtUword *secstart_end,
                                              GtUword idx)
{
  GtUword *midptr = NULL, *found = NULL,
          *startorig = secstart_begin;
  if (*secstart_begin <= idx)
    found = secstart_begin;
  while (secstart_begin < secstart_end) {
    midptr = secstart_begin + (GtUword) GT_DIV2(secstart_end - secstart_begin);
    if (*midptr < idx) {
      found = midptr;
      if (*midptr == idx) {
        break;
      }
      secstart_begin = midptr + 1;
    }
    else {
      secstart_end = midptr - 1;
    }
  }
  gt_assert(found != NULL);
  while (found[1] <= idx)
    found++;
  return (GtUword) (found - startorig);
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rax
cmpq 0x20(%rsp), %rax
ja 0x493688
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x49368a
movq 0x30(%rsp), %rax
cmpq 0x28(%rsp), %rax
jae 0x493705
movq 0x30(%rsp), %rax
movq 0x28(%rsp), %rcx
movq 0x30(%rsp), %rdx
subq %rdx, %rcx
sarq $0x3, %rcx
sarq %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
cmpq 0x20(%rsp), %rax
jae 0x4936f5
movq 0x18(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
cmpq 0x20(%rsp), %rax
jne 0x4936e5
jmp 0x493705
movq 0x18(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x30(%rsp)
jmp 0x493703
movq 0x18(%rsp), %rax
addq $-0x8, %rax
movq %rax, 0x28(%rsp)
jmp 0x49368a
jmp 0x493707
cmpq $0x0, 0x10(%rsp)
jne 0x493747
movq 0x1a888a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x828f3(%rip), %rsi     # 0x516013
leaq 0xe5685(%rip), %rdx     # 0x578dac
leaq 0x120334(%rip), %rcx    # 0x5b3a62
leaq 0x11fd67(%rip), %r8     # 0x5b349c
movl $0x106, %r9d            # imm = 0x106
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x493749
jmp 0x49374b
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
cmpq 0x20(%rsp), %rax
ja 0x49376b
movq 0x10(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x10(%rsp)
jmp 0x49374b
movq 0x10(%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rcx, %rax
sarq $0x3, %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_is_member
bool gt_intset_16_is_member(GtIntset *intset, GtUword elem)
{
  GtIntset16 *intset_16 = gt_intset_16_cast(intset);
  GtIntsetMembers *members = intset->members;
  GtUword *sectionstart = members->sectionstart;
  if (elem <= members->maxelement)
  {
    const GtUword sectionnum = GT_ELEM2SECTION_M(elem);

    if (sectionstart[sectionnum] < sectionstart[sectionnum+1]) {
      return gt_intset_16_binarysearch_is_member(
                           intset_16->elements + sectionstart[sectionnum],
                           intset_16->elements + sectionstart[sectionnum+1] - 1,
                           (uint64_t) elem);
    }
  }
  return false;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
callq 0x492bd0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
ja 0x4938aa
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq %cl, %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x8(%rsp), %rcx
movq (%rsp), %rdx
cmpq 0x8(%rcx,%rdx,8), %rax
jae 0x4938a8
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movq (%rax,%rcx,8), %rax
shlq %rax
addq %rax, %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
shlq %rax
addq %rax, %rsi
addq $-0x2, %rsi
movq 0x20(%rsp), %rax
movzwl %ax, %edx
callq 0x4938c0
andb $0x1, %al
movb %al, 0x37(%rsp)
jmp 0x4938af
jmp 0x4938aa
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_binarysearch_is_member
static bool gt_intset_16_binarysearch_is_member(const uint16_t *leftptr,
                                                const uint16_t *rightptr,
                                                uint16_t elem)
{
  const uint16_t *midptr;
    while (leftptr <= rightptr) {
      midptr = leftptr + (GtUword) GT_DIV2(rightptr - leftptr);
      if (elem < *midptr) {
        rightptr = midptr - 1;
      }
      else {
        if (elem > *midptr)
          leftptr = midptr + 1;
        else
          return true;
      }
    }
  return false;
}

// Assembly:
movw %dx, %ax
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movw %ax, -0x1a(%rsp)
movq -0x10(%rsp), %rax
cmpq -0x18(%rsp), %rax
ja 0x49394e
movq -0x10(%rsp), %rax
movq -0x18(%rsp), %rcx
movq -0x10(%rsp), %rdx
subq %rdx, %rcx
sarq %rcx
sarq %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x28(%rsp)
movzwl -0x1a(%rsp), %eax
movq -0x28(%rsp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x493922
movq -0x28(%rsp), %rax
addq $-0x2, %rax
movq %rax, -0x18(%rsp)
jmp 0x49394c
movzwl -0x1a(%rsp), %eax
movq -0x28(%rsp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jle 0x493943
movq -0x28(%rsp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rsp)
jmp 0x49394a
movb $0x1, -0x1(%rsp)
jmp 0x493953
jmp 0x49394c
jmp 0x4938d2
movb $0x0, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_get_idx_smallest_geq
GtUword gt_intset_16_get_idx_smallest_geq(GtIntset *intset, GtUword value)
{
  GtIntset16 *intset_16 = gt_intset_16_cast(intset);
  GtIntsetMembers *members = intset->members;

  GtUword sectionnum = GT_ELEM2SECTION_M(value);

  if (value > members->previouselem)
    return members->num_of_elems;

  gt_assert(value <= members->maxelement);

  if (members->sectionstart[sectionnum] < members->sectionstart[sectionnum+1]) {
    return members->sectionstart[sectionnum] +
           gt_intset_16_binarysearch_idx_sm_geq(
                  intset_16->elements + members->sectionstart[sectionnum],
                  intset_16->elements + members->sectionstart[sectionnum+1] - 1,
                  (uint16_t) value);
  }
  return members->sectionstart[sectionnum];
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
callq 0x492bd0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq %cl, %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jbe 0x4939cc
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x493acb
jmp 0x4939ce
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x493a16
movq 0x1a85bb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x82624(%rip), %rsi     # 0x516013
leaq 0x11fd0f(%rip), %rdx    # 0x5b3705
leaq 0x11fd25(%rip), %rcx    # 0x5b3722
leaq 0x11fa98(%rip), %r8     # 0x5b349c
movl $0x19b, %r9d            # imm = 0x19B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x493a18
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rsp), %rcx
movq (%rcx), %rcx
movq 0x8(%rsp), %rdx
cmpq 0x8(%rcx,%rdx,8), %rax
jae 0x493ab5
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
shlq %rax
addq %rax, %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
shlq %rax
addq %rax, %rsi
addq $-0x2, %rsi
movq 0x20(%rsp), %rax
movzwl %ax, %edx
callq 0x493ae0
movq %rax, %rcx
movq (%rsp), %rax
addq %rcx, %rax
movq %rax, 0x30(%rsp)
jmp 0x493acb
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_binarysearch_idx_sm_geq
static GtUword gt_intset_16_binarysearch_idx_sm_geq(const uint16_t *leftptr,
                                                    const uint16_t *rightptr,
                                                    uint16_t value)
{
  const uint16_t *midptr = NULL,
        *leftorig = leftptr;

  gt_assert(leftptr <= rightptr);
  if (value <= *leftptr)
    return 0;
  if (value > *rightptr)
    return 1UL + (GtUword) (rightptr - leftptr);
  while (leftptr < rightptr) {
    midptr = leftptr + (GtUword) GT_DIV2(rightptr - leftptr);
    if (value <= *midptr)
      rightptr = midptr;
    else {
      leftptr = midptr + 1;
    }
  }
  return (GtUword) (leftptr - leftorig);
}

// Assembly:
subq $0x38, %rsp
movw %dx, %ax
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movw %ax, 0x1e(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
cmpq 0x20(%rsp), %rax
jbe 0x493b4d
movq 0x1a8484(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x824ed(%rip), %rsi     # 0x516013
leaq 0x11ff63(%rip), %rdx    # 0x5b3a90
leaq 0x11ff70(%rip), %rcx    # 0x5b3aa4
leaq 0x11f961(%rip), %r8     # 0x5b349c
movl $0x16b, %r9d            # imm = 0x16B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x493b4f
movzwl 0x1e(%rsp), %eax
movq 0x28(%rsp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jg 0x493b6e
movq $0x0, 0x30(%rsp)
jmp 0x493c0d
movzwl 0x1e(%rsp), %eax
movq 0x20(%rsp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jle 0x493b9a
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
subq %rcx, %rax
sarq %rax
addq $0x1, %rax
movq %rax, 0x30(%rsp)
jmp 0x493c0d
jmp 0x493b9c
movq 0x28(%rsp), %rax
cmpq 0x20(%rsp), %rax
jae 0x493bf8
movq 0x28(%rsp), %rax
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rdx
subq %rdx, %rcx
sarq %rcx
sarq %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, 0x10(%rsp)
movzwl 0x1e(%rsp), %eax
movq 0x10(%rsp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jg 0x493be8
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x493bf6
movq 0x10(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x28(%rsp)
jmp 0x493b9c
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rcx, %rax
sarq %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_size_of_rep
size_t gt_intset_16_size_of_rep(GtUword maxelement, GtUword num_of_elems)
{
  size_t logsectionsize = GT_BITS_FOR_TYPE(uint16_t);
  gt_assert(GT_BITS_FOR_TYPE(GtUword) > logsectionsize);
  return sizeof (uint16_t) * num_of_elems +
    sizeof (GtUword) * (GT_ELEM2SECTION(maxelement, logsectionsize) + 1);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq $0x10, (%rsp)
movl $0x40, %eax
cmpq (%rsp), %rax
ja 0x493c79
movq 0x1a8358(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x823c1(%rip), %rsi     # 0x516013
leaq 0x11faeb(%rip), %rdx    # 0x5b3744
leaq 0x11fb0f(%rip), %rcx    # 0x5b376f
leaq 0x11f835(%rip), %r8     # 0x5b349c
movl $0x1b2, %r9d            # imm = 0x1B2
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x493c7b
movq 0x8(%rsp), %rax
shlq %rax
movq 0x10(%rsp), %rdx
movq (%rsp), %rcx
shrq %cl, %rdx
movq %rdx, %rcx
addq $0x1, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_elems_is_valid
static bool gt_intset_16_elems_is_valid(GtIntset *intset)
{
  GtUword idx, sec_idx = 0;
  GtIntset16 *intset_16;
  GtIntsetMembers *members;
  intset_16 = gt_intset_16_cast(intset);
  members = intset->members;

  for (idx = (GtUword) 1; idx < members->num_of_elems; idx++) {
    while (idx > members->sectionstart[sec_idx])
      sec_idx++;

    if (idx != members->sectionstart[sec_idx] &&
        intset_16->elements[idx] <= intset_16->elements[idx - 1])
      return false;
  }
  return true;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq $0x0, 0x18(%rsp)
callq 0x492bd0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq $0x1, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq 0x28(%rcx), %rax
jae 0x4946de
jmp 0x494656
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rcx), %rcx
movq 0x18(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x49467e
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x494656
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rcx), %rcx
movq 0x18(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
je 0x4946c9
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x20(%rsp), %rcx
movzwl (%rax,%rcx,2), %eax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x20(%rsp), %rdx
subq $0x1, %rdx
movzwl (%rcx,%rdx,2), %ecx
cmpl %ecx, %eax
jg 0x4946c9
movb $0x0, 0x37(%rsp)
jmp 0x4946e3
jmp 0x4946cb
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x494640
movb $0x1, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_secstart_is_valid
static bool gt_intset_16_secstart_is_valid(GtIntset *intset)
{
  GtUword idx;
  GtIntsetMembers *members;
  members = intset->members;

  for (idx = (GtUword) 1; idx <= members->numofsections; idx++) {
    if (members->sectionstart[idx] < members->sectionstart[idx - 1])
      return false;
  }
  return true;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq -0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rsp)
movq $0x1, -0x18(%rsp)
movq -0x18(%rsp), %rax
movq -0x20(%rsp), %rcx
cmpq 0x30(%rcx), %rax
ja 0x49475d
movq -0x20(%rsp), %rax
movq (%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq -0x20(%rsp), %rcx
movq (%rcx), %rcx
movq -0x18(%rsp), %rdx
subq $0x1, %rdx
cmpq (%rcx,%rdx,8), %rax
jae 0x49474b
movb $0x0, -0x1(%rsp)
jmp 0x494762
jmp 0x49474d
movq -0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rsp)
jmp 0x49470c
movb $0x1, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_get_test
static GtUword gt_intset_16_get_test(GtIntset *intset, GtUword idx)
{
  GtIntset16 *intset_16 = gt_intset_16_cast(intset);
  GtIntsetMembers *members = intset->members;
  GtUword *sectionstart = members->sectionstart;
  gt_assert(idx < members->nextfree);

  return (gt_intset_16_sec_idx_largest_leq(sectionstart, idx) <<
         members->logsectionsize) + intset_16->elements[idx];
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
callq 0x492bd0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jb 0x4947f7
movq 0x1a77da(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x81843(%rip), %rsi     # 0x516013
leaq 0x11ef05(%rip), %rdx    # 0x5b36dc
leaq 0x11f2eb(%rip), %rcx    # 0x5b3ac9
leaq 0x11ecb7(%rip), %r8     # 0x5b349c
movl $0x111, %r9d            # imm = 0x111
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4947f9
movq (%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x4949b0
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rcx
shlq %cl, %rax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x18(%rsp), %rdx
movzwl (%rcx,%rdx,2), %ecx
addq %rcx, %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_get_idx_smallest_geq_test
static GtUword gt_intset_16_get_idx_smallest_geq_test(GtIntset *intset,
                                                     GtUword value)
{
  GtIntset16 *intset_16 = gt_intset_16_cast(intset);
  GtIntsetMembers *members = intset->members;

  GtUword sectionnum = GT_ELEM2SECTION_M(value);

  if (value > members->previouselem)
    return members->num_of_elems;

  gt_assert(value <= members->maxelement);
  if (members->sectionstart[sectionnum] < members->sectionstart[sectionnum+1]) {
    return members->sectionstart[sectionnum] +
           gt_intset_16_idx_sm_geq(
                  intset_16->elements + members->sectionstart[sectionnum],
                  intset_16->elements + members->sectionstart[sectionnum+1] - 1,
                  (uint16_t) value);
  }
  return members->sectionstart[sectionnum];
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
callq 0x492bd0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq %cl, %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jbe 0x49489c
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x49499b
jmp 0x49489e
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x4948e6
movq 0x1a76eb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x81754(%rip), %rsi     # 0x516013
leaq 0x11ee3f(%rip), %rdx    # 0x5b3705
leaq 0x11f212(%rip), %rcx    # 0x5b3adf
leaq 0x11ebc8(%rip), %r8     # 0x5b349c
movl $0x186, %r9d            # imm = 0x186
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4948e8
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rsp), %rcx
movq (%rcx), %rcx
movq 0x8(%rsp), %rdx
cmpq 0x8(%rcx,%rdx,8), %rax
jae 0x494985
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
shlq %rax
addq %rax, %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
shlq %rax
addq %rax, %rsi
addq $-0x2, %rsi
movq 0x20(%rsp), %rax
movzwl %ax, %edx
callq 0x494a00
movq %rax, %rcx
movq (%rsp), %rax
addq %rcx, %rax
movq %rax, 0x30(%rsp)
jmp 0x49499b
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_sec_idx_largest_leq
static GtUword gt_intset_16_sec_idx_largest_leq(GtUword *sectionstart,
                                                GtUword idx)
{
  GtUword result = 0;
  while (sectionstart[result] <= idx)
    result++;
  return result - 1;
}

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq $0x0, -0x18(%rsp)
movq -0x8(%rsp), %rax
movq -0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
cmpq -0x10(%rsp), %rax
ja 0x4949e8
movq -0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rsp)
jmp 0x4949c3
movq -0x18(%rsp), %rax
subq $0x1, %rax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_16.c
// Function: gt_intset_16_idx_sm_geq
static GtUword gt_intset_16_idx_sm_geq(const uint16_t *leftptr,
                                       const uint16_t *rightptr,
                                       uint16_t value)
{
  const uint16_t *leftorig = leftptr;
  if (value < *leftptr)
    return 0;
  if (value > *rightptr)
    return 1UL + (GtUword) (rightptr - leftptr);
  gt_assert(value <= *rightptr);
  while (*leftptr < value)
    leftptr++;
  return (GtUword) (leftptr - leftorig);
}

// Assembly:
subq $0x28, %rsp
movw %dx, %ax
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movw %ax, 0xe(%rsp)
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movzwl 0xe(%rsp), %eax
movq 0x18(%rsp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x494a3e
movq $0x0, 0x20(%rsp)
jmp 0x494af1
movzwl 0xe(%rsp), %eax
movq 0x10(%rsp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jle 0x494a6d
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rcx, %rax
sarq %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x494af1
jmp 0x494a6f
movzwl 0xe(%rsp), %eax
movq 0x10(%rsp), %rcx
movzwl (%rcx), %ecx
cmpl %ecx, %eax
jle 0x494ab8
movq 0x1a7519(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x81582(%rip), %rsi     # 0x516013
leaq 0x11f06e(%rip), %rdx    # 0x5b3b06
leaq 0x11f07a(%rip), %rcx    # 0x5b3b19
leaq 0x11e9f6(%rip), %r8     # 0x5b349c
movl $0x15e, %r9d            # imm = 0x15E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x494aba
jmp 0x494abc
movq 0x18(%rsp), %rax
movzwl (%rax), %eax
movzwl 0xe(%rsp), %ecx
cmpl %ecx, %eax
jge 0x494add
movq 0x18(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x18(%rsp)
jmp 0x494abc
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
subq %rcx, %rax
sarq %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_new
GtIntset* gt_intset_32_new(GtUword maxelement, GtUword num_of_elems)
{
  GtIntset *intset;
  GtIntset32 *intset_32;
  GtIntsetMembers *members;
  GtUword idx;

  gt_assert(num_of_elems != 0);

  intset = gt_intset_create(gt_intset_32_class());
  intset_32 = gt_intset_32_cast(intset);
  members = intset->members;

  members->currentsectionnum = 0;
  members->maxelement = maxelement;
  members->nextfree = 0;
  members->num_of_elems = num_of_elems;
  members->previouselem = ULONG_MAX;
  members->refcount = 0;

  members->logsectionsize = GT_BITS_FOR_TYPE(uint32_t);
  members->numofsections = GT_ELEM2SECTION_M(maxelement) + 1;

  intset_32->elements =
    gt_malloc(sizeof (*intset_32->elements) * num_of_elems);

  members->sectionstart = gt_malloc(sizeof (*members->sectionstart) *
                                    (members->numofsections + 1));

  members->sectionstart[0] = 0;
  for (idx = (GtUword) 1; idx <= members->numofsections; idx++) {
    members->sectionstart[idx] = num_of_elems;
  }
  return intset;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x494b4e
movq 0x1a7483(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x814ec(%rip), %rsi     # 0x516013
leaq 0x11e94b(%rip), %rdx    # 0x5b3479
leaq 0x11effc(%rip), %rcx    # 0x5b3b31
leaq 0x11f006(%rip), %r8     # 0x5b3b42
movl $0x3b, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x494b50
callq 0x494cb0
movq %rax, %rdi
callq 0x1967b0
movq %rax, 0x20(%rsp)
callq 0x494cb0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq $0x0, 0x10(%rax)
movq 0x30(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rax
movq $0x0, 0x20(%rax)
movq 0x28(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x10(%rsp), %rax
movq $-0x1, 0x38(%rax)
movq 0x10(%rsp), %rax
movq $0x0, 0x40(%rax)
movq 0x10(%rsp), %rax
movq $0x20, 0x8(%rax)
movq 0x30(%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq %cl, %rax
movq %rax, %rcx
addq $0x1, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x28(%rsp), %rdi
shlq $0x2, %rdi
leaq 0x11ef2d(%rip), %rsi    # 0x5b3b42
movl $0x4c, %edx
callq 0xe80f0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rdi
addq $0x1, %rdi
shlq $0x3, %rdi
leaq 0x11eeff(%rip), %rsi    # 0x5b3b42
movl $0x4f, %edx
callq 0xe80f0
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq $0x0, (%rax)
movq $0x1, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x30(%rcx), %rax
ja 0x494ca6
movq 0x28(%rsp), %rdx
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x494c70
movq 0x20(%rsp), %rax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_io
GtIntset *gt_intset_32_io(GtIntset *intset, FILE *fp, GtError *err)
{
  GtIntset32 *intset_32;
  if (intset == NULL) {
    intset = gt_intset_create(gt_intset_32_class());
    intset->members->sectionstart = NULL;
    intset->members->refcount = 0;
    intset_32 = gt_intset_32_cast(intset);
    intset_32->elements = NULL;
    intset = gt_intset_32_io_fp(intset, fp, err, gt_io_error_fread);
  }
  else {
    intset = gt_intset_32_io_fp(intset, fp, err, gt_io_error_fwrite);
  }
  return intset;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x495184
callq 0x494cb0
movq %rax, %rdi
callq 0x1967b0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq $0x0, (%rax)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq $0x0, 0x40(%rax)
callq 0x494cb0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq $0x0, 0x10(%rax)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq -0x2fd898(%rip), %rcx   # 0x1978e0
callq 0x494d50
movq %rax, 0x20(%rsp)
jmp 0x4951a4
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq -0x2fd94a(%rip), %rcx   # 0x197850
callq 0x494d50
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_write
GtIntset *gt_intset_32_write(GtIntset *intset, FILE *fp, GtError *err)
{
  gt_assert(intset != NULL);
  gt_assert(fp != NULL);
  gt_error_check(err);
  return gt_intset_32_io(intset, fp, err);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq %rdx, (%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x4952c2
movq 0x1a6d0f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x80d78(%rip), %rsi     # 0x516013
leaq 0xc21d7(%rip), %rdx     # 0x557479
leaq 0x11e91a(%rip), %rcx    # 0x5b3bc3
leaq 0x11e892(%rip), %r8     # 0x5b3b42
movl $0xcd, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4952c4
jmp 0x4952c6
cmpq $0x0, 0x8(%rsp)
jne 0x495306
movq 0x1a6ccb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x80d34(%rip), %rsi     # 0x516013
leaq 0xb5f9a(%rip), %rdx     # 0x54b280
leaq 0x11e8d6(%rip), %rcx    # 0x5b3bc3
leaq 0x11e84e(%rip), %r8     # 0x5b3b42
movl $0xce, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x495308
jmp 0x49530a
cmpq $0x0, (%rsp)
je 0x495358
movq (%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x495320
jmp 0x495358
movq 0x1a6c79(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x80ce2(%rip), %rsi     # 0x516013
leaq 0x80e87(%rip), %rdx     # 0x5161bf
leaq 0x11e884(%rip), %rcx    # 0x5b3bc3
leaq 0x11e7fc(%rip), %r8     # 0x5b3b42
movl $0xcf, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49535a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq (%rsp), %rdx
callq 0x4950f0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_get
GtUword gt_intset_32_get(GtIntset *intset, GtUword idx)
{
  GtUword quotient;
  GtIntset32 *intset_32 = gt_intset_32_cast(intset);
  GtIntsetMembers *members = intset->members;
  GtUword *sectionstart = members->sectionstart;
  gt_assert(idx < members->nextfree);

  quotient = gt_intset_32_binarysearch_sec_idx_largest_leq(
                                      sectionstart,
                                      sectionstart + members->numofsections - 1,
                                      idx);
  return (quotient << members->logsectionsize) +
         intset_32->elements[idx];
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
callq 0x494cb0
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jb 0x4956c8
movq 0x1a6909(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x80972(%rip), %rsi     # 0x516013
leaq 0x11e034(%rip), %rdx    # 0x5b36dc
leaq 0x11e538(%rip), %rcx    # 0x5b3be7
leaq 0x11e48c(%rip), %r8     # 0x5b3b42
movl $0x11d, %r9d            # imm = 0x11D
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4956ca
movq 0x8(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rax
shlq $0x3, %rax
addq %rax, %rsi
addq $-0x8, %rsi
movq 0x28(%rsp), %rdx
callq 0x495730
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rcx
shlq %cl, %rax
movq 0x18(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x28(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
addq %rcx, %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_is_member
bool gt_intset_32_is_member(GtIntset *intset, GtUword elem)
{
  GtIntset32 *intset_32 = gt_intset_32_cast(intset);
  GtIntsetMembers *members = intset->members;
  GtUword *sectionstart = members->sectionstart;
  if (elem <= members->maxelement)
  {
    const GtUword sectionnum = GT_ELEM2SECTION_M(elem);

    if (sectionstart[sectionnum] < sectionstart[sectionnum+1]) {
      return gt_intset_32_binarysearch_is_member(
                           intset_32->elements + sectionstart[sectionnum],
                           intset_32->elements + sectionstart[sectionnum+1] - 1,
                           (uint64_t) elem);
    }
  }
  return false;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
callq 0x494cb0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
ja 0x49599b
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq %cl, %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x8(%rsp), %rcx
movq (%rsp), %rdx
cmpq 0x8(%rcx,%rdx,8), %rax
jae 0x495999
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movq (%rax,%rcx,8), %rax
shlq $0x2, %rax
addq %rax, %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
shlq $0x2, %rax
addq %rax, %rsi
addq $-0x4, %rsi
movq 0x20(%rsp), %rax
movl %eax, %edx
callq 0x4959b0
andb $0x1, %al
movb %al, 0x37(%rsp)
jmp 0x4959a0
jmp 0x49599b
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_binarysearch_is_member
static bool gt_intset_32_binarysearch_is_member(const uint32_t *leftptr,
                                                const uint32_t *rightptr,
                                                uint32_t elem)
{
  const uint32_t *midptr;
    while (leftptr <= rightptr) {
      midptr = leftptr + (GtUword) GT_DIV2(rightptr - leftptr);
      if (elem < *midptr) {
        rightptr = midptr - 1;
      }
      else {
        if (elem > *midptr)
          leftptr = midptr + 1;
        else
          return true;
      }
    }
  return false;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movl %edx, -0x1c(%rsp)
movq -0x10(%rsp), %rax
cmpq -0x18(%rsp), %rax
ja 0x495a34
movq -0x10(%rsp), %rax
movq -0x18(%rsp), %rcx
movq -0x10(%rsp), %rdx
subq %rdx, %rcx
sarq $0x2, %rcx
sarq %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rsp)
movl -0x1c(%rsp), %eax
movq -0x28(%rsp), %rcx
cmpl (%rcx), %eax
jae 0x495a0c
movq -0x28(%rsp), %rax
addq $-0x4, %rax
movq %rax, -0x18(%rsp)
jmp 0x495a32
movl -0x1c(%rsp), %eax
movq -0x28(%rsp), %rcx
cmpl (%rcx), %eax
jbe 0x495a29
movq -0x28(%rsp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rsp)
jmp 0x495a30
movb $0x1, -0x1(%rsp)
jmp 0x495a39
jmp 0x495a32
jmp 0x4959be
movb $0x0, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_get_idx_smallest_geq
GtUword gt_intset_32_get_idx_smallest_geq(GtIntset *intset, GtUword value)
{
  GtIntset32 *intset_32 = gt_intset_32_cast(intset);
  GtIntsetMembers *members = intset->members;

  GtUword sectionnum = GT_ELEM2SECTION_M(value);

  if (value > members->previouselem)
    return members->num_of_elems;

  gt_assert(value <= members->maxelement);

  if (members->sectionstart[sectionnum] < members->sectionstart[sectionnum+1]) {
    return members->sectionstart[sectionnum] +
           gt_intset_32_binarysearch_idx_sm_geq(
                  intset_32->elements + members->sectionstart[sectionnum],
                  intset_32->elements + members->sectionstart[sectionnum+1] - 1,
                  (uint32_t) value);
  }
  return members->sectionstart[sectionnum];
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
callq 0x494cb0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x8(%rcx), %rcx
shrq %cl, %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jbe 0x495aac
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x495bac
jmp 0x495aae
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x495af6
movq 0x1a64db(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x80544(%rip), %rsi     # 0x516013
leaq 0x11dc2f(%rip), %rdx    # 0x5b3705
leaq 0x11e11b(%rip), %rcx    # 0x5b3bf8
leaq 0x11e05e(%rip), %r8     # 0x5b3b42
movl $0x19b, %r9d            # imm = 0x19B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x495af8
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rsp), %rcx
movq (%rcx), %rcx
movq 0x8(%rsp), %rdx
cmpq 0x8(%rcx,%rdx,8), %rax
jae 0x495b96
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
shlq $0x2, %rax
addq %rax, %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x8(%rax,%rcx,8), %rax
shlq $0x2, %rax
addq %rax, %rsi
addq $-0x4, %rsi
movq 0x20(%rsp), %rax
movl %eax, %edx
callq 0x495bc0
movq %rax, %rcx
movq (%rsp), %rax
addq %rcx, %rax
movq %rax, 0x30(%rsp)
jmp 0x495bac
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_binarysearch_idx_sm_geq
static GtUword gt_intset_32_binarysearch_idx_sm_geq(const uint32_t *leftptr,
                                                    const uint32_t *rightptr,
                                                    uint32_t value)
{
  const uint32_t *midptr = NULL,
        *leftorig = leftptr;

  gt_assert(leftptr <= rightptr);
  if (value <= *leftptr)
    return 0;
  if (value > *rightptr)
    return 1UL + (GtUword) (rightptr - leftptr);
  while (leftptr < rightptr) {
    midptr = leftptr + (GtUword) GT_DIV2(rightptr - leftptr);
    if (value <= *midptr)
      rightptr = midptr;
    else {
      leftptr = midptr + 1;
    }
  }
  return (GtUword) (leftptr - leftorig);
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
cmpq 0x20(%rsp), %rax
jbe 0x495c29
movq 0x1a63a8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x80411(%rip), %rsi     # 0x516013
leaq 0x11de87(%rip), %rdx    # 0x5b3a90
leaq 0x11e32b(%rip), %rcx    # 0x5b3f3b
leaq 0x11df2b(%rip), %r8     # 0x5b3b42
movl $0x16b, %r9d            # imm = 0x16B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x495c2b
movl 0x1c(%rsp), %eax
movq 0x28(%rsp), %rcx
cmpl (%rcx), %eax
ja 0x495c46
movq $0x0, 0x30(%rsp)
jmp 0x495ce1
movl 0x1c(%rsp), %eax
movq 0x20(%rsp), %rcx
cmpl (%rcx), %eax
jbe 0x495c6f
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
subq %rcx, %rax
sarq $0x2, %rax
addq $0x1, %rax
movq %rax, 0x30(%rsp)
jmp 0x495ce1
jmp 0x495c71
movq 0x28(%rsp), %rax
cmpq 0x20(%rsp), %rax
jae 0x495ccb
movq 0x28(%rsp), %rax
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rdx
subq %rdx, %rcx
sarq $0x2, %rcx
sarq %rcx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, 0x10(%rsp)
movl 0x1c(%rsp), %eax
movq 0x10(%rsp), %rcx
cmpl (%rcx), %eax
ja 0x495cbb
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x495cc9
movq 0x10(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x28(%rsp)
jmp 0x495c71
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rcx, %rax
sarq $0x2, %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_size_of_rep
size_t gt_intset_32_size_of_rep(GtUword maxelement, GtUword num_of_elems)
{
  size_t logsectionsize = GT_BITS_FOR_TYPE(uint32_t);
  gt_assert(GT_BITS_FOR_TYPE(GtUword) > logsectionsize);
  return sizeof (uint32_t) * num_of_elems +
    sizeof (GtUword) * (GT_ELEM2SECTION(maxelement, logsectionsize) + 1);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq $0x20, (%rsp)
movl $0x40, %eax
cmpq (%rsp), %rax
ja 0x495d49
movq 0x1a6288(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x802f1(%rip), %rsi     # 0x516013
leaq 0x11da1b(%rip), %rdx    # 0x5b3744
leaq 0x11deea(%rip), %rcx    # 0x5b3c1a
leaq 0x11de0b(%rip), %r8     # 0x5b3b42
movl $0x1b2, %r9d            # imm = 0x1B2
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x495d4b
movq 0x8(%rsp), %rax
shlq $0x2, %rax
movq 0x10(%rsp), %rdx
movq (%rsp), %rcx
shrq %cl, %rdx
movq %rdx, %rcx
addq $0x1, %rcx
shlq $0x3, %rcx
addq %rcx, %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_elems_is_valid
static bool gt_intset_32_elems_is_valid(GtIntset *intset)
{
  GtUword idx, sec_idx = 0;
  GtIntset32 *intset_32;
  GtIntsetMembers *members;
  intset_32 = gt_intset_32_cast(intset);
  members = intset->members;

  for (idx = (GtUword) 1; idx < members->num_of_elems; idx++) {
    while (idx > members->sectionstart[sec_idx])
      sec_idx++;

    if (idx != members->sectionstart[sec_idx] &&
        intset_32->elements[idx] <= intset_32->elements[idx - 1])
      return false;
  }
  return true;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq $0x0, 0x18(%rsp)
callq 0x494cb0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq $0x1, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq 0x28(%rcx), %rax
jae 0x4967aa
jmp 0x496726
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rcx), %rcx
movq 0x18(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x49674e
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x496726
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rcx), %rcx
movq 0x18(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
je 0x496795
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x20(%rsp), %rcx
movl (%rax,%rcx,4), %eax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x20(%rsp), %rdx
subq $0x1, %rdx
cmpl (%rcx,%rdx,4), %eax
ja 0x496795
movb $0x0, 0x37(%rsp)
jmp 0x4967af
jmp 0x496797
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x496710
movb $0x1, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_secstart_is_valid
static bool gt_intset_32_secstart_is_valid(GtIntset *intset)
{
  GtUword idx;
  GtIntsetMembers *members;
  members = intset->members;

  for (idx = (GtUword) 1; idx <= members->numofsections; idx++) {
    if (members->sectionstart[idx] < members->sectionstart[idx - 1])
      return false;
  }
  return true;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq -0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rsp)
movq $0x1, -0x18(%rsp)
movq -0x18(%rsp), %rax
movq -0x20(%rsp), %rcx
cmpq 0x30(%rcx), %rax
ja 0x49682d
movq -0x20(%rsp), %rax
movq (%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq -0x20(%rsp), %rcx
movq (%rcx), %rcx
movq -0x18(%rsp), %rdx
subq $0x1, %rdx
cmpq (%rcx,%rdx,8), %rax
jae 0x49681b
movb $0x0, -0x1(%rsp)
jmp 0x496832
jmp 0x49681d
movq -0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rsp)
jmp 0x4967dc
movb $0x1, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_get_test
static GtUword gt_intset_32_get_test(GtIntset *intset, GtUword idx)
{
  GtIntset32 *intset_32 = gt_intset_32_cast(intset);
  GtIntsetMembers *members = intset->members;
  GtUword *sectionstart = members->sectionstart;
  gt_assert(idx < members->nextfree);

  return (gt_intset_32_sec_idx_largest_leq(sectionstart, idx) <<
         members->logsectionsize) + intset_32->elements[idx];
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
callq 0x494cb0
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1968d0
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jb 0x4968c7
movq 0x1a570a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7f773(%rip), %rsi     # 0x516013
leaq 0x11ce35(%rip), %rdx    # 0x5b36dc
leaq 0x11d6b2(%rip), %rcx    # 0x5b3f60
leaq 0x11d28d(%rip), %r8     # 0x5b3b42
movl $0x111, %r9d            # imm = 0x111
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4968c9
movq (%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x496a80
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rcx
shlq %cl, %rax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x18(%rsp), %rdx
movl (%rcx,%rdx,4), %ecx
addq %rcx, %rax
addq $0x28, %rsp
retq
nopl (%rax)