LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_32.c
// Function: gt_intset_32_get_idx_smallest_geq_test
static GtUword gt_intset_32_get_idx_smallest_geq_test(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_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 0x49696c
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x496a6c
jmp 0x49696e
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x4969b6
movq 0x1a561b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7f684(%rip), %rsi     # 0x516013
leaq 0x11cd6f(%rip), %rdx    # 0x5b3705
leaq 0x11d5d9(%rip), %rcx    # 0x5b3f76
leaq 0x11d19e(%rip), %r8     # 0x5b3b42
movl $0x186, %r9d            # imm = 0x186
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4969b8
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 0x496a56
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 0x496ad0
movq %rax, %rcx
movq (%rsp), %rax
addq %rcx, %rax
movq %rax, 0x30(%rsp)
jmp 0x496a6c
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_idx_sm_geq
static GtUword gt_intset_32_idx_sm_geq(const uint32_t *leftptr,
                                       const uint32_t *rightptr,
                                       uint32_t value)
{
  const uint32_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
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movl %edx, 0xc(%rsp)
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movl 0xc(%rsp), %eax
movq 0x18(%rsp), %rcx
cmpl (%rcx), %eax
jae 0x496b06
movq $0x0, 0x20(%rsp)
jmp 0x496bac
movl 0xc(%rsp), %eax
movq 0x10(%rsp), %rcx
cmpl (%rcx), %eax
jbe 0x496b2f
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rcx, %rax
sarq $0x2, %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x496bac
jmp 0x496b31
movl 0xc(%rsp), %eax
movq 0x10(%rsp), %rcx
cmpl (%rcx), %eax
jbe 0x496b76
movq 0x1a545b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7f4c4(%rip), %rsi     # 0x516013
leaq 0x11cfb0(%rip), %rdx    # 0x5b3b06
leaq 0x11d440(%rip), %rcx    # 0x5b3f9d
leaq 0x11cfde(%rip), %r8     # 0x5b3b42
movl $0x15e, %r9d            # imm = 0x15E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x496b78
jmp 0x496b7a
movq 0x18(%rsp), %rax
movl (%rax), %eax
cmpl 0xc(%rsp), %eax
jae 0x496b97
movq 0x18(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x18(%rsp)
jmp 0x496b7a
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
subq %rcx, %rax
sarq $0x2, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_8.c
// Function: gt_intset_8_new
GtIntset* gt_intset_8_new(GtUword maxelement, GtUword num_of_elems)
{
  GtIntset *intset;
  GtIntset8 *intset_8;
  GtIntsetMembers *members;
  GtUword idx;

  gt_assert(num_of_elems != 0);

  intset = gt_intset_create(gt_intset_8_class());
  intset_8 = gt_intset_8_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(uint8_t);
  members->numofsections = GT_ELEM2SECTION_M(maxelement) + 1;

  intset_8->elements =
    gt_malloc(sizeof (*intset_8->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 0x496c0e
movq 0x1a53c3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7f42c(%rip), %rsi     # 0x516013
leaq 0x11c88b(%rip), %rdx    # 0x5b3479
leaq 0x11d3c0(%rip), %rcx    # 0x5b3fb5
leaq 0x11d3c9(%rip), %r8     # 0x5b3fc5
movl $0x3b, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x496c10
callq 0x496d70
movq %rax, %rdi
callq 0x1967b0
movq %rax, 0x20(%rsp)
callq 0x496d70
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 $0x8, 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 $0x0, %rdi
leaq 0x11d2f0(%rip), %rsi    # 0x5b3fc5
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 0x11d2c2(%rip), %rsi    # 0x5b3fc5
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 0x496d66
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 0x496d30
movq 0x20(%rsp), %rax
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_8.c
// Function: gt_intset_8_io
GtIntset *gt_intset_8_io(GtIntset *intset, FILE *fp, GtError *err)
{
  GtIntset8 *intset_8;
  if (intset == NULL) {
    intset = gt_intset_create(gt_intset_8_class());
    intset->members->sectionstart = NULL;
    intset->members->refcount = 0;
    intset_8 = gt_intset_8_cast(intset);
    intset_8->elements = NULL;
    intset = gt_intset_8_io_fp(intset, fp, err, gt_io_error_fread);
  }
  else {
    intset = gt_intset_8_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 0x497244
callq 0x496d70
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 0x496d70
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 -0x2ff958(%rip), %rcx   # 0x1978e0
callq 0x496e10
movq %rax, 0x20(%rsp)
jmp 0x497264
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq -0x2ffa0a(%rip), %rcx   # 0x197850
callq 0x496e10
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_8.c
// Function: gt_intset_8_write
GtIntset *gt_intset_8_write(GtIntset *intset, FILE *fp, GtError *err)
{
  gt_assert(intset != NULL);
  gt_assert(fp != NULL);
  gt_error_check(err);
  return gt_intset_8_io(intset, fp, err);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq %rdx, (%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x497382
movq 0x1a4c4f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7ecb8(%rip), %rsi     # 0x516013
leaq 0xc0117(%rip), %rdx     # 0x557479
leaq 0x11ccd9(%rip), %rcx    # 0x5b4042
leaq 0x11cc55(%rip), %r8     # 0x5b3fc5
movl $0xcd, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x497384
jmp 0x497386
cmpq $0x0, 0x8(%rsp)
jne 0x4973c6
movq 0x1a4c0b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7ec74(%rip), %rsi     # 0x516013
leaq 0xb3eda(%rip), %rdx     # 0x54b280
leaq 0x11cc95(%rip), %rcx    # 0x5b4042
leaq 0x11cc11(%rip), %r8     # 0x5b3fc5
movl $0xce, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4973c8
jmp 0x4973ca
cmpq $0x0, (%rsp)
je 0x497418
movq (%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x4973e0
jmp 0x497418
movq 0x1a4bb9(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7ec22(%rip), %rsi     # 0x516013
leaq 0x7edc7(%rip), %rdx     # 0x5161bf
leaq 0x11cc43(%rip), %rcx    # 0x5b4042
leaq 0x11cbbf(%rip), %r8     # 0x5b3fc5
movl $0xcf, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49741a
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq (%rsp), %rdx
callq 0x4971b0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_8.c
// Function: gt_intset_8_get
GtUword gt_intset_8_get(GtIntset *intset, GtUword idx)
{
  GtUword quotient;
  GtIntset8 *intset_8 = gt_intset_8_cast(intset);
  GtIntsetMembers *members = intset->members;
  GtUword *sectionstart = members->sectionstart;
  gt_assert(idx < members->nextfree);

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

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
callq 0x496d70
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 0x497788
movq 0x1a4849(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7e8b2(%rip), %rsi     # 0x516013
leaq 0x11bf74(%rip), %rdx    # 0x5b36dc
leaq 0x11c8f5(%rip), %rcx    # 0x5b4064
leaq 0x11c84f(%rip), %r8     # 0x5b3fc5
movl $0x11d, %r9d            # imm = 0x11D
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49778a
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 0x4977f0
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
movzbl (%rcx,%rdx), %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_8.c
// Function: gt_intset_8_is_member
bool gt_intset_8_is_member(GtIntset *intset, GtUword elem)
{
  GtIntset8 *intset_8 = gt_intset_8_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_8_binarysearch_is_member(
                            intset_8->elements + sectionstart[sectionnum],
                            intset_8->elements + sectionstart[sectionnum+1] - 1,
                            (uint64_t) elem);
    }
  }
  return false;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
callq 0x496d70
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 0x497a4a
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 0x497a48
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
addq (%rax,%rcx,8), %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
addq 0x8(%rax,%rcx,8), %rsi
addq $-0x1, %rsi
movq 0x20(%rsp), %rax
movzbl %al, %edx
callq 0x497a60
andb $0x1, %al
movb %al, 0x37(%rsp)
jmp 0x497a4f
jmp 0x497a4a
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_8.c
// Function: gt_intset_8_binarysearch_is_member
static bool gt_intset_8_binarysearch_is_member(const uint8_t *leftptr,
                                               const uint8_t *rightptr,
                                               uint8_t elem)
{
  const uint8_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:
movb %dl, %al
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movb %al, -0x19(%rsp)
movq -0x10(%rsp), %rax
cmpq -0x18(%rsp), %rax
ja 0x497ae6
movq -0x10(%rsp), %rax
movq -0x18(%rsp), %rcx
movq -0x10(%rsp), %rdx
subq %rdx, %rcx
sarq %rcx
addq %rcx, %rax
movq %rax, -0x28(%rsp)
movzbl -0x19(%rsp), %eax
movq -0x28(%rsp), %rcx
movzbl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x497aba
movq -0x28(%rsp), %rax
addq $-0x1, %rax
movq %rax, -0x18(%rsp)
jmp 0x497ae4
movzbl -0x19(%rsp), %eax
movq -0x28(%rsp), %rcx
movzbl (%rcx), %ecx
cmpl %ecx, %eax
jle 0x497adb
movq -0x28(%rsp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rsp)
jmp 0x497ae2
movb $0x1, -0x1(%rsp)
jmp 0x497aeb
jmp 0x497ae4
jmp 0x497a70
movb $0x0, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_8.c
// Function: gt_intset_8_get_idx_smallest_geq
GtUword gt_intset_8_get_idx_smallest_geq(GtIntset *intset, GtUword value)
{
  GtIntset8 *intset_8 = gt_intset_8_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_8_binarysearch_idx_sm_geq(
                   intset_8->elements + members->sectionstart[sectionnum],
                   intset_8->elements + members->sectionstart[sectionnum+1] - 1,
                   (uint8_t) value);
  }
  return members->sectionstart[sectionnum];
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
callq 0x496d70
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 0x497b6c
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x497c5f
jmp 0x497b6e
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x497bb6
movq 0x1a441b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7e484(%rip), %rsi     # 0x516013
leaq 0x11bb6f(%rip), %rdx    # 0x5b3705
leaq 0x11c4d7(%rip), %rcx    # 0x5b4074
leaq 0x11c421(%rip), %r8     # 0x5b3fc5
movl $0x19b, %r9d            # imm = 0x19B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x497bb8
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 0x497c49
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
addq (%rax,%rcx,8), %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
addq 0x8(%rax,%rcx,8), %rsi
addq $-0x1, %rsi
movq 0x20(%rsp), %rax
movzbl %al, %edx
callq 0x497c70
movq %rax, %rcx
movq (%rsp), %rax
addq %rcx, %rax
movq %rax, 0x30(%rsp)
jmp 0x497c5f
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
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_8.c
// Function: gt_intset_8_binarysearch_idx_sm_geq
static GtUword gt_intset_8_binarysearch_idx_sm_geq(const uint8_t *leftptr,
                                                   const uint8_t *rightptr,
                                                   uint8_t value)
{
  const uint8_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
movb %dl, %al
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movb %al, 0x1f(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
cmpq 0x20(%rsp), %rax
jbe 0x497cdb
movq 0x1a42f6(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7e35f(%rip), %rsi     # 0x516013
leaq 0x11bdd5(%rip), %rdx    # 0x5b3a90
leaq 0x11c6e3(%rip), %rcx    # 0x5b43a5
leaq 0x11c2fc(%rip), %r8     # 0x5b3fc5
movl $0x16b, %r9d            # imm = 0x16B
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x497cdd
movzbl 0x1f(%rsp), %eax
movq 0x28(%rsp), %rcx
movzbl (%rcx), %ecx
cmpl %ecx, %eax
jg 0x497cfc
movq $0x0, 0x30(%rsp)
jmp 0x497d8f
movzbl 0x1f(%rsp), %eax
movq 0x20(%rsp), %rcx
movzbl (%rcx), %ecx
cmpl %ecx, %eax
jle 0x497d25
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
subq %rcx, %rax
addq $0x1, %rax
movq %rax, 0x30(%rsp)
jmp 0x497d8f
jmp 0x497d27
movq 0x28(%rsp), %rax
cmpq 0x20(%rsp), %rax
jae 0x497d7d
movq 0x28(%rsp), %rax
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rdx
subq %rdx, %rcx
sarq %rcx
addq %rcx, %rax
movq %rax, 0x10(%rsp)
movzbl 0x1f(%rsp), %eax
movq 0x10(%rsp), %rcx
movzbl (%rcx), %ecx
cmpl %ecx, %eax
jg 0x497d6d
movq 0x10(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x497d7b
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
jmp 0x497d27
movq 0x28(%rsp), %rax
movq 0x8(%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_8.c
// Function: gt_intset_8_size_of_rep
size_t gt_intset_8_size_of_rep(GtUword maxelement, GtUword num_of_elems)
{
  size_t logsectionsize = GT_BITS_FOR_TYPE(uint8_t);
  gt_assert(GT_BITS_FOR_TYPE(GtUword) > logsectionsize);
  return sizeof (uint8_t) * num_of_elems +
    sizeof (GtUword) * (GT_ELEM2SECTION(maxelement, logsectionsize) + 1);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq $0x8, (%rsp)
movl $0x40, %eax
cmpq (%rsp), %rax
ja 0x497df9
movq 0x1a41d8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7e241(%rip), %rsi     # 0x516013
leaq 0x11b96b(%rip), %rdx    # 0x5b3744
leaq 0x11c2b5(%rip), %rcx    # 0x5b4095
leaq 0x11c1de(%rip), %r8     # 0x5b3fc5
movl $0x1b2, %r9d            # imm = 0x1B2
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x497dfb
movq 0x8(%rsp), %rax
shlq $0x0, %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_8.c
// Function: gt_intset_8_elems_is_valid
static bool gt_intset_8_elems_is_valid(GtIntset *intset)
{
  GtUword idx, sec_idx = 0;
  GtIntset8 *intset_8;
  GtIntsetMembers *members;
  intset_8 = gt_intset_8_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_8->elements[idx] <= intset_8->elements[idx - 1])
      return false;
  }
  return true;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq $0x0, 0x18(%rsp)
callq 0x496d70
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 0x49885e
jmp 0x4987d6
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rcx), %rcx
movq 0x18(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
jbe 0x4987fe
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x4987d6
movq 0x20(%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rcx), %rcx
movq 0x18(%rsp), %rdx
cmpq (%rcx,%rdx,8), %rax
je 0x498849
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x20(%rsp), %rcx
movzbl (%rax,%rcx), %eax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x20(%rsp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
jg 0x498849
movb $0x0, 0x37(%rsp)
jmp 0x498863
jmp 0x49884b
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x4987c0
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_8.c
// Function: gt_intset_8_secstart_is_valid
static bool gt_intset_8_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 0x4988dd
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 0x4988cb
movb $0x0, -0x1(%rsp)
jmp 0x4988e2
jmp 0x4988cd
movq -0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rsp)
jmp 0x49888c
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_8.c
// Function: gt_intset_8_get_test
static GtUword gt_intset_8_get_test(GtIntset *intset, GtUword idx)
{
  GtIntset8 *intset_8 = gt_intset_8_cast(intset);
  GtIntsetMembers *members = intset->members;
  GtUword *sectionstart = members->sectionstart;
  gt_assert(idx < members->nextfree);

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

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
callq 0x496d70
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 0x498977
movq 0x1a365a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7d6c3(%rip), %rsi     # 0x516013
leaq 0x11ad85(%rip), %rdx    # 0x5b36dc
leaq 0x11ba6b(%rip), %rcx    # 0x5b43c9
leaq 0x11b660(%rip), %r8     # 0x5b3fc5
movl $0x111, %r9d            # imm = 0x111
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x498979
movq (%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x498b20
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rcx
shlq %cl, %rax
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x18(%rsp), %rdx
movzbl (%rcx,%rdx), %ecx
addq %rcx, %rax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_8.c
// Function: gt_intset_8_get_idx_smallest_geq_test
static GtUword gt_intset_8_get_idx_smallest_geq_test(GtIntset *intset,
                                                      GtUword value)
{
  GtIntset8 *intset_8 = gt_intset_8_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_8_idx_sm_geq(
                   intset_8->elements + members->sectionstart[sectionnum],
                   intset_8->elements + members->sectionstart[sectionnum+1] - 1,
                   (uint8_t) value);
  }
  return members->sectionstart[sectionnum];
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
callq 0x496d70
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 0x498a1c
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x498b0f
jmp 0x498a1e
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x498a66
movq 0x1a356b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7d5d4(%rip), %rsi     # 0x516013
leaq 0x11acbf(%rip), %rdx    # 0x5b3705
leaq 0x11b991(%rip), %rcx    # 0x5b43de
leaq 0x11b571(%rip), %r8     # 0x5b3fc5
movl $0x186, %r9d            # imm = 0x186
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x498a68
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 0x498af9
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
addq (%rax,%rcx,8), %rdi
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
addq 0x8(%rax,%rcx,8), %rsi
addq $-0x1, %rsi
movq 0x20(%rsp), %rax
movzbl %al, %edx
callq 0x498b70
movq %rax, %rcx
movq (%rsp), %rax
addq %rcx, %rax
movq %rax, 0x30(%rsp)
jmp 0x498b0f
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
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/intset_8.c
// Function: gt_intset_8_idx_sm_geq
static GtUword gt_intset_8_idx_sm_geq(const uint8_t *leftptr,
                                      const uint8_t *rightptr,
                                      uint8_t value)
{
  const uint8_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
movb %dl, %al
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movb %al, 0xf(%rsp)
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movzbl 0xf(%rsp), %eax
movq 0x18(%rsp), %rcx
movzbl (%rcx), %ecx
cmpl %ecx, %eax
jge 0x498bac
movq $0x0, 0x20(%rsp)
jmp 0x498c59
movzbl 0xf(%rsp), %eax
movq 0x10(%rsp), %rcx
movzbl (%rcx), %ecx
cmpl %ecx, %eax
jle 0x498bd8
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rcx, %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x498c59
jmp 0x498bda
movzbl 0xf(%rsp), %eax
movq 0x10(%rsp), %rcx
movzbl (%rcx), %ecx
cmpl %ecx, %eax
jle 0x498c23
movq 0x1a33ae(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7d417(%rip), %rsi     # 0x516013
leaq 0x11af03(%rip), %rdx    # 0x5b3b06
leaq 0x11b7fa(%rip), %rcx    # 0x5b4404
leaq 0x11b3b4(%rip), %r8     # 0x5b3fc5
movl $0x15e, %r9d            # imm = 0x15E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x498c25
jmp 0x498c27
movq 0x18(%rsp), %rax
movzbl (%rax), %eax
movzbl 0xf(%rsp), %ecx
cmpl %ecx, %eax
jge 0x498c48
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x498c27
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
subq %rcx, %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_checker_obo.c
// Function: gt_type_checker_obo_free
static void gt_type_checker_obo_free(GtTypeChecker *tc)
{
  GtTypeCheckerOBO *tco = gt_type_checker_obo_cast(tc);
  gt_type_graph_delete(tco->type_graph);
  gt_cstr_table_delete(tco->feature_node_types);
  gt_str_delete(tco->description);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
callq 0x498c70
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1f44d0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x499400
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0xa40d0
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x11f560
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_checker_obo.c
// Function: gt_type_checker_obo_new
GtTypeChecker* gt_type_checker_obo_new(const char *obo_file_path, GtError *err)
{
  GtTypeCheckerOBO *tco;
  GtTypeChecker *tc;
  gt_error_check(err);
  gt_assert(obo_file_path);
  tc = gt_type_checker_create(gt_type_checker_obo_class());
  tco = gt_type_checker_obo_cast(tc);
  tco->description= gt_str_new_cstr("OBO file ");
  gt_str_append_cstr(tco->description, obo_file_path);
  tco->feature_node_types = gt_cstr_table_new();
  tco->type_graph = gt_type_graph_new();
  if (create_feature_nodes(tco, obo_file_path, err)) {
    gt_type_checker_delete(tc);
    return NULL;
  }
  return tc;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x498f8e
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x498f56
jmp 0x498f8e
movq 0x1a3043(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7d0ac(%rip), %rsi     # 0x516013
leaq 0x7d251(%rip), %rdx     # 0x5161bf
leaq 0x11b4a6(%rip), %rcx    # 0x5b441b
leaq 0x11b4b7(%rip), %r8     # 0x5b4433
movl $0x8e, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x498f90
jmp 0x498f92
cmpq $0x0, 0x18(%rsp)
jne 0x498fd2
movq 0x1a2fff(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7d068(%rip), %rsi     # 0x516013
leaq 0x11b53b(%rip), %rdx    # 0x5b44ed
leaq 0x11b462(%rip), %rcx    # 0x5b441b
leaq 0x11b473(%rip), %r8     # 0x5b4433
movl $0x8f, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x498fd4
callq 0x498c70
movq %rax, %rdi
callq 0x1f4040
movq %rax, (%rsp)
callq 0x498c70
movq %rax, %rdi
movq (%rsp), %rsi
callq 0x1f44d0
movq %rax, 0x8(%rsp)
leaq 0x11b451(%rip), %rdi    # 0x5b4453
callq 0x11d510
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0x11d550
callq 0xa39d0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
callq 0x499350
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x8(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
callq 0x499090
cmpl $0x0, %eax
je 0x499075
movq (%rsp), %rdi
callq 0x1f4420
movq $0x0, 0x20(%rsp)
jmp 0x49907e
movq (%rsp), %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/type_checker_obo.c
// Function: add_feature_node_from_tree
static void add_feature_node_from_tree(GtTypeCheckerOBO *tco,
                                       GtOBOParseTree *obo_parse_tree,
                                       GtUword stanza_num,
                                       const char *stanza_key)
{
  const char *value;
  gt_assert(tco && obo_parse_tree && stanza_key);
  value = gt_obo_parse_tree_get_stanza_value(obo_parse_tree, stanza_num,
                                             stanza_key);
  /* do not add values multiple times (possible for "name" values) */
  if (!gt_cstr_table_get(tco->feature_node_types, value))
    gt_cstr_table_add(tco->feature_node_types, value);
  else
    puts(value);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x4992c0
cmpq $0x0, 0x18(%rsp)
je 0x4992c0
cmpq $0x0, 0x8(%rsp)
jne 0x4992f8
movq 0x1a2cd9(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7cd42(%rip), %rsi     # 0x516013
leaq 0x11b228(%rip), %rdx    # 0x5b4500
leaq 0x11b245(%rip), %rcx    # 0x5b4524
leaq 0x11b14d(%rip), %r8     # 0x5b4433
movl $0x63, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x4992fa
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x50b690
movq %rax, (%rsp)
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rdi
movq (%rsp), %rsi
callq 0xa3b80
cmpq $0x0, %rax
jne 0x49933e
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rdi
movq (%rsp), %rsi
callq 0xa3a60
jmp 0x499347
movq (%rsp), %rdi
callq 0x19b00
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_graph.c
// Function: gt_type_graph_new
GtTypeGraph* gt_type_graph_new(void)
{
  GtTypeGraph *type_graph = gt_malloc(sizeof (GtTypeGraph));
  type_graph->name2id = gt_hashmap_new(GT_HASH_DIRECT, NULL, NULL);
  type_graph->id2name = gt_hashmap_new(GT_HASH_DIRECT, NULL, NULL);
  type_graph->nodemap = gt_hashmap_new(GT_HASH_DIRECT, NULL, NULL);
  type_graph->nodes = gt_array_new(sizeof (GtTypeNode*));
  type_graph->part_of_out_edges = gt_bool_matrix_new();
  type_graph->part_of_in_edges = gt_bool_matrix_new();
  type_graph->ready = false;
  return type_graph;
}

// Assembly:
pushq %rax
movl $0x38, %edi
leaq 0x11b1e2(%rip), %rsi    # 0x5b453f
movl $0x2b, %edx
callq 0xe80f0
movq %rax, (%rsp)
xorl %edi, %edi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0xe0c40
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
xorl %edi, %edi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0xe0c40
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
xorl %edi, %edi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0xe0c40
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movl $0x8, %edi
callq 0x80990
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
callq 0x50aaf0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
callq 0x50aaf0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x28(%rax)
movq (%rsp), %rax
movb $0x0, 0x30(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_graph.c
// Function: gt_type_graph_delete
void gt_type_graph_delete(GtTypeGraph *type_graph)
{
  GtUword i;
  if (!type_graph) return;
  gt_bool_matrix_delete(type_graph->part_of_in_edges);
  gt_bool_matrix_delete(type_graph->part_of_out_edges);
  for (i = 0; i < gt_array_size(type_graph->nodes); i++)
    gt_type_node_delete(*(GtTypeNode**) gt_array_get(type_graph->nodes, i));
  gt_array_delete(type_graph->nodes);
  gt_hashmap_delete(type_graph->nodemap);
  gt_hashmap_delete(type_graph->id2name);
  gt_hashmap_delete(type_graph->name2id);
  gt_free(type_graph);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x499416
jmp 0x4994d6
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x50b030
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x50b030
movq $0x0, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x81370
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jae 0x499489
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x80b60
movq (%rax), %rdi
callq 0x49a190
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x49943b
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x81f80
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xe1770
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0xe1770
movq 0x10(%rsp), %rax
movq (%rax), %rdi
callq 0xe1770
movq 0x10(%rsp), %rdi
leaq 0x11b073(%rip), %rsi    # 0x5b453f
movl $0x42, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_graph.c
// Function: gt_type_graph_is_a
bool gt_type_graph_is_a(GtTypeGraph *type_graph, const char *parent_type,
                        const char *child_type)
{
  const char *parent_id, *child_id;
  GtTypeNode *child_node;
  gt_assert(type_graph && parent_type && child_type);
  /* make sure graph is built */
  if (!type_graph->ready) {
    create_vertices(type_graph);
    type_graph->ready = true;
  }
  /* get parent ID, if the type is not mappable to an ID, assume it is the ID */
  if (!(parent_id = gt_hashmap_get(type_graph->name2id, parent_type)))
    parent_id = parent_type;
  /* get child ID, if the type is not mappable to an ID, assume it is the ID */
  if (!(child_id = gt_hashmap_get(type_graph->name2id, child_type)))
    child_id = child_type;
  /* get child node */
  child_node = gt_hashmap_get(type_graph->nodemap, child_id);
  gt_assert(child_node);
  /* check for parent */
  return gt_type_node_is_a(child_node, parent_id);
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x49a01b
cmpq $0x0, 0x28(%rsp)
je 0x49a01b
cmpq $0x0, 0x20(%rsp)
jne 0x49a053
movq 0x1a1f7e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7bfe7(%rip), %rsi     # 0x516013
leaq 0x11a618(%rip), %rdx    # 0x5b464b
leaq 0x11a668(%rip), %rcx    # 0x5b46a2
leaq 0x11a4fe(%rip), %r8     # 0x5b453f
movl $0xc2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49a055
movq 0x30(%rsp), %rax
testb $0x1, 0x30(%rax)
jne 0x49a073
movq 0x30(%rsp), %rdi
callq 0x499d40
movq 0x30(%rsp), %rax
movb $0x1, 0x30(%rax)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x28(%rsp), %rsi
callq 0xe0f20
movq %rax, 0x18(%rsp)
cmpq $0x0, %rax
jne 0x49a09a
movq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0xe0f20
movq %rax, 0x10(%rsp)
cmpq $0x0, %rax
jne 0x49a0c1
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x10(%rsp), %rsi
callq 0xe0f20
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x49a119
movq 0x1a1eb8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7bf21(%rip), %rsi     # 0x516013
leaq 0x11a59e(%rip), %rdx    # 0x5b4697
leaq 0x11a5a2(%rip), %rcx    # 0x5b46a2
leaq 0x11a438(%rip), %r8     # 0x5b453f
movl $0xd0, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49a11b
movq 0x8(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x49acc0
andb $0x1, %al
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_node.c
// Function: gt_type_node_new
GtTypeNode* gt_type_node_new(GtUword num, const char *id)
{
  GtTypeNode *node = gt_calloc(1, sizeof *node);
  node->num = num;
  node->id = id;
  return node;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movl $0x1, %edi
movl $0x38, %esi
leaq 0x11a577(%rip), %rdx    # 0x5b46d6
movl $0x24, %ecx
callq 0xe83c0
movq %rax, (%rsp)
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_node.c
// Function: gt_type_node_delete
void  gt_type_node_delete(GtTypeNode *type_node)
{
  if (!type_node) return;
  gt_hashmap_delete(type_node->cache);
  gt_array_delete(type_node->is_a_out_edges);
  gt_array_delete(type_node->part_of_list);
  gt_array_delete(type_node->is_a_list);
  gt_free(type_node);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x49a19e
jmp 0x49a1e7
movq (%rsp), %rax
movq 0x28(%rax), %rdi
callq 0xe1770
movq (%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x81f80
movq (%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x81f80
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x81f80
movq (%rsp), %rdi
leaq 0x11a4f9(%rip), %rsi    # 0x5b46d6
movl $0x31, %edx
callq 0xe88c0
popq %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_node.c
// Function: gt_type_node_is_a_add
void gt_type_node_is_a_add(GtTypeNode *type_node, const char *id)
{
  gt_assert(type_node && id);
  if (!type_node->is_a_list)
    type_node->is_a_list = gt_array_new(sizeof (const char*));
  gt_array_add(type_node->is_a_list, id);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x49a25e
cmpq $0x0, 0x8(%rsp)
jne 0x49a296
movq 0x1a1d3b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7bda4(%rip), %rsi     # 0x516013
leaq 0x11a494(%rip), %rdx    # 0x5b470a
leaq 0x11a49d(%rip), %rcx    # 0x5b471a
leaq 0x11a452(%rip), %r8     # 0x5b46d6
movl $0x3c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49a298
movq 0x10(%rsp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x49a2ba
movl $0x8, %edi
callq 0x80990
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rdi
leaq 0x8(%rsp), %rsi
movl $0x8, %edx
callq 0x81100
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_node.c
// Function: gt_type_node_part_of_add
void gt_type_node_part_of_add(GtTypeNode *type_node, const char *id)
{
  gt_assert(type_node && id);
  if (!type_node->part_of_list)
    type_node->part_of_list = gt_array_new(sizeof (const char*));
  gt_array_add(type_node->part_of_list, id);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x49a40e
cmpq $0x0, 0x8(%rsp)
jne 0x49a446
movq 0x1a1b8b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7bbf4(%rip), %rsi     # 0x516013
leaq 0x11a2e4(%rip), %rdx    # 0x5b470a
leaq 0x11a365(%rip), %rcx    # 0x5b4792
leaq 0x11a2a2(%rip), %r8     # 0x5b46d6
movl $0x51, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49a448
movq 0x10(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x49a46a
movl $0x8, %edi
callq 0x80990
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x8(%rsp), %rsi
movl $0x8, %edx
callq 0x81100
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_node.c
// Function: gt_type_node_add_is_a_vertex
void gt_type_node_add_is_a_vertex(GtTypeNode *src, const GtTypeNode *dst)
{
  gt_assert(src && dst);
  if (!src->is_a_out_edges)
    src->is_a_out_edges = gt_array_new(sizeof (GtTypeNode*));
  gt_array_add(src->is_a_out_edges, dst);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x49a5be
cmpq $0x0, 0x8(%rsp)
jne 0x49a5f6
movq 0x1a19db(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7ba44(%rip), %rsi     # 0x516013
leaq 0x11a240(%rip), %rdx    # 0x5b4816
leaq 0x11a244(%rip), %rcx    # 0x5b4821
leaq 0x11a0f2(%rip), %r8     # 0x5b46d6
movl $0x66, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49a5f8
movq 0x10(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x49a61a
movl $0x8, %edi
callq 0x80990
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rdi
leaq 0x8(%rsp), %rsi
movl $0x8, %edx
callq 0x81100
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/type_node.c
// Function: gt_type_node_is_a
bool gt_type_node_is_a(GtTypeNode *child_node, const char *parent_id)
{
  GtUword i;
  gt_assert(child_node && parent_id);

  /* XXX: do path compression */
  if (!strcmp(child_node->id, parent_id))
    return true;
  for (i = 0; i < gt_array_size(child_node->is_a_out_edges); i++) {
    GtTypeNode *node = *(GtTypeNode**) gt_array_get(child_node->is_a_out_edges,
                                                    i);
    if (gt_type_node_is_a(node, parent_id))
      return true;
  }
  return false;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x49acde
cmpq $0x0, 0x20(%rsp)
jne 0x49ad16
movq 0x1a12bb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x7b324(%rip), %rsi     # 0x516013
leaq 0x119be3(%rip), %rdx    # 0x5b48d9
leaq 0x119bf4(%rip), %rcx    # 0x5b48f1
leaq 0x1199d2(%rip), %r8     # 0x5b46d6
movl $0xf1, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x49ad18
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x19980
cmpl $0x0, %eax
jne 0x49ad37
movb $0x1, 0x37(%rsp)
jmp 0x49adb3
movq $0x0, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x81370
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0x49adae
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0x80b60
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x49acc0
testb $0x1, %al
jne 0x49ad95
jmp 0x49ad9c
movb $0x1, 0x37(%rsp)
jmp 0x49adb3
jmp 0x49ad9e
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x49ad40
movb $0x0, 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/match/apmeoveridx.c
// Function: apme_allocatedfsconstinfo
static Limdfsconstinfo *apme_allocatedfsconstinfo(unsigned int alphasize)
{
  ApmeoveridxLimdfsconstinfo *mti =
                                 gt_malloc(sizeof (ApmeoveridxLimdfsconstinfo));
  mti->eqsvector = gt_malloc(sizeof (*mti->eqsvector) * alphasize);
  return (Limdfsconstinfo*) mti;
}

// Assembly:
subq $0x18, %rsp
movl %edi, 0x14(%rsp)
movl $0x28, %edi
leaq 0x11365b(%rip), %rsi    # 0x5b5a4f
movl $0xbd, %edx
callq 0xe80f0
movq %rax, 0x8(%rsp)
movl 0x14(%rsp), %eax
movl %eax, %edi
shlq $0x3, %rdi
leaq 0x11363b(%rip), %rsi    # 0x5b5a4f
movl $0xbe, %edx
callq 0xe80f0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)