LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/spec_visitor.c
// Function: spec_expect_index
static int spec_expect_index(lua_State *L)
{
  const char *matcher_name;
  GtSpecVisitor *sv;

  /* get parameters from stack */
  matcher_name = lua_tostring(L, 2);
  lua_pushlightuserdata(L, (void *) &spec_defuserdata);
  lua_gettable(L, LUA_REGISTRYINDEX);
  sv = lua_touserdata(L, -1);

  /* we can't do closures as nicely as in Lua -- keep this around for later */
  sv->matcher_name = matcher_name;

  /* return dispatcher function */
  lua_pushcfunction(L, spec_expect_matchdispatch);

  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x334f50
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x45eec3(%rip), %rsi    # 0x63dac0
callq 0x336160
movq 0x10(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
callq 0x336210
movq 0x10(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x335300
movq %rax, (%rsp)
movq 0x8(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x58(%rax)
movq 0x10(%rsp), %rdi
leaq 0x2f3(%rip), %rsi       # 0x1def30
xorl %edx, %edx
callq 0x335ef0
movl $0x1, %eax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_stream.c
// Function: gt_splice_site_info_stream_class
const GtNodeStreamClass* gt_splice_site_info_stream_class(void)
{
  static const GtNodeStreamClass *nsc = NULL;
  gt_class_alloc_lock_enter();
  if (!nsc) {
    nsc = gt_node_stream_class_new(sizeof (GtSpliceSiteInfoStream),
                                   gt_splice_site_info_stream_free,
                                   gt_splice_site_info_stream_next);
  }
  gt_class_alloc_lock_leave();
  return nsc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x463cc2(%rip)    # 0x642f10
jne 0x1df26f
movl $0x20, %edi
leaq 0x24(%rip), %rsi        # 0x1df280
leaq 0x6d(%rip), %rdx        # 0x1df2d0
callq 0x1b1ae0
movq %rax, 0x463ca1(%rip)    # 0x642f10
callq 0x9f280
movq 0x463c95(%rip), %rax    # 0x642f10
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_stream.c
// Function: gt_splice_site_info_stream_next
static int gt_splice_site_info_stream_next(GtNodeStream *ns, GtGenomeNode **gn,
                                           GtError *err)
{
  GtSpliceSiteInfoStream *ssis;
  int had_err;
  gt_error_check(err);
  ssis = gt_splice_site_info_stream_cast(ns);
  had_err = gt_node_stream_next(ssis->in_stream, gn, err);
  if (!had_err) {
    gt_assert(ssis->splice_site_info_visitor);
    if (*gn) {
      had_err = gt_genome_node_accept(*gn, ssis->splice_site_info_visitor, err);
      if (had_err) {
        /* we own the node -> delete it */
        gt_genome_node_delete(*gn);
        *gn = NULL;
      }
    }
  }
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1df333
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1df2fb
jmp 0x1df333
movq 0x45cc9e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x336d07(%rip), %rsi    # 0x516013
leaq 0x336eac(%rip), %rdx    # 0x5161bf
leaq 0x3876ce(%rip), %rcx    # 0x5669e8
leaq 0x38764a(%rip), %r8     # 0x56696b
movl $0x27, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df335
callq 0x1df240
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b20f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
callq 0x1b1d90
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
jne 0x1df409
jmp 0x1df375
movq 0x8(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x1df3b9
movq 0x45cc18(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x336c81(%rip), %rsi    # 0x516013
leaq 0x38766f(%rip), %rdx    # 0x566a08
leaq 0x387648(%rip), %rcx    # 0x5669e8
leaq 0x3875c4(%rip), %r8     # 0x56696b
movl $0x2b, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df3bb
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
je 0x1df407
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rsi
movq 0x10(%rsp), %rdx
callq 0x171f90
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
je 0x1df405
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x173180
movq 0x18(%rsp), %rax
movq $0x0, (%rax)
jmp 0x1df407
jmp 0x1df409
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_stream.c
// Function: gt_splice_site_info_stream_new
GtNodeStream* gt_splice_site_info_stream_new(GtNodeStream *in_stream,
                                             GtRegionMapping *rm)
{
  GtNodeStream *ns = gt_node_stream_create(gt_splice_site_info_stream_class(),
                                           false);
  GtSpliceSiteInfoStream *ssis = gt_splice_site_info_stream_cast(ns);
  ssis->in_stream = gt_node_stream_ref(in_stream);
  ssis->splice_site_info_visitor = gt_splice_site_info_visitor_new(rm);
  return ns;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
callq 0x1df240
movq %rax, %rdi
xorl %esi, %esi
callq 0x1b1b80
movq %rax, 0x10(%rsp)
callq 0x1df240
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b20f0
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
callq 0x1b1c50
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rdi
callq 0x1df860
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_stream.c
// Function: gt_splice_site_info_stream_show
bool gt_splice_site_info_stream_show(GtNodeStream *ns, GtFile *outfp)
{
  GtSpliceSiteInfoStream *ssis;
  gt_assert(ns);
  ssis = gt_splice_site_info_stream_cast(ns);
  return gt_splice_site_info_visitor_show(ssis->splice_site_info_visitor,
                                          outfp);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1df4de
movq 0x45caf3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x336b5c(%rip), %rsi    # 0x516013
leaq 0x3d63a8(%rip), %rdx    # 0x5b5866
leaq 0x387486(%rip), %rcx    # 0x56694b
leaq 0x38749f(%rip), %r8     # 0x56696b
movl $0x5a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df4e0
callq 0x1df240
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b20f0
movq %rax, (%rsp)
movq (%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x1df920
andb $0x1, %al
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_stream.c
// Function: gt_splice_site_info_stream_intron_processed
bool gt_splice_site_info_stream_intron_processed(GtNodeStream *ns)
{
  GtSpliceSiteInfoStream *ssis;
  gt_assert(ns);
  ssis = gt_splice_site_info_stream_cast(ns);
  return gt_splice_site_info_visitor_intron_processed(ssis
                                                    ->splice_site_info_visitor);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1df559
movq 0x45ca78(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x336ae1(%rip), %rsi    # 0x516013
leaq 0x3d632d(%rip), %rdx    # 0x5b5866
leaq 0x387452(%rip), %rcx    # 0x566992
leaq 0x387424(%rip), %r8     # 0x56696b
movl $0x63, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df55b
callq 0x1df240
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b20f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x1dfbc0
andb $0x1, %al
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_stream.c
// Function: gt_splice_site_info_stream_show_canonical
bool gt_splice_site_info_stream_show_canonical(GtNodeStream *ns, bool show_gc)
{
  GtSpliceSiteInfoStream *ssis;
  gt_assert(ns);
  ssis = gt_splice_site_info_stream_cast(ns);
  return gt_splice_site_info_visitor_show_canonical(ssis
                                                    ->splice_site_info_visitor,
                                                    show_gc);
}

// Assembly:
subq $0x18, %rsp
movb %sil, %al
movq %rdi, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1df5e2
movq 0x45c9ef(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x336a58(%rip), %rsi    # 0x516013
leaq 0x3d62a4(%rip), %rdx    # 0x5b5866
leaq 0x3873f5(%rip), %rcx    # 0x5669be
leaq 0x38739b(%rip), %r8     # 0x56696b
movl $0x6c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df5e4
callq 0x1df240
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b20f0
movq %rax, (%rsp)
movq (%rsp), %rax
movq 0x18(%rax), %rdi
movb 0xf(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x1dfc40
andb $0x1, %al
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_visitor.c
// Function: gt_splice_site_info_visitor_class
const GtNodeVisitorClass* gt_splice_site_info_visitor_class()
{
  static const GtNodeVisitorClass *nvc = NULL;
  gt_class_alloc_lock_enter();
  if (!nvc) {
   nvc = gt_node_visitor_class_new(sizeof (GtSpliceSiteInfoVisitor),
                                   splice_site_info_visitor_free,
                                   NULL,
                                   splice_site_info_visitor_feature_node,
                                   NULL,
                                   NULL,
                                   NULL);
  }
  gt_class_alloc_lock_leave();
  return nvc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x4638ea(%rip)    # 0x642f18
jne 0x1df662
movl $0x38, %edi
leaq 0x34(%rip), %rsi        # 0x1df670
xorl %eax, %eax
movl %eax, %r9d
leaq 0xc8(%rip), %rcx        # 0x1df710
movq %r9, %rdx
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x1b2170
movq %rax, 0x4638b6(%rip)    # 0x642f18
callq 0x9f280
movq 0x4638aa(%rip), %rax    # 0x642f18
popq %rcx
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_visitor.c
// Function: splice_site_info_visitor_free
static void splice_site_info_visitor_free(GtNodeVisitor *nv)
{
  GtSpliceSiteInfoVisitor *splice_site_info_visitor;
  gt_assert(nv);
  splice_site_info_visitor = splice_site_info_visitor_cast(nv);
  gt_region_mapping_delete(splice_site_info_visitor->region_mapping);
  gt_string_distri_delete(splice_site_info_visitor->splicesites);
  gt_string_distri_delete(splice_site_info_visitor->donorsites);
  gt_string_distri_delete(splice_site_info_visitor->acceptorsites);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1df6b9
movq 0x45c918(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x336981(%rip), %rsi    # 0x516013
leaq 0x390f37(%rip), %rdx    # 0x5705d0
leaq 0x387510(%rip), %rcx    # 0x566bb0
leaq 0x3873a0(%rip), %r8     # 0x566a47
movl $0x32, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df6bb
callq 0x1df620
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x1c7bd0
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x120820
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x120820
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x120820
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_visitor.c
// Function: splice_site_info_visitor_feature_node
static int splice_site_info_visitor_feature_node(GtNodeVisitor *nv,
                                                 GtFeatureNode *fn,
                                                 GtError *err)
{
  GtSpliceSiteInfoVisitor *ssiv;
  GtFeatureNodeIterator *fni;
  GtFeatureNode *node;
  int had_err = 0;
  gt_error_check(err);
  ssiv = splice_site_info_visitor_cast(nv);
  gt_assert(ssiv->region_mapping);
  fni = gt_feature_node_iterator_new(fn);
  while (!had_err && (node = gt_feature_node_iterator_next(fni))) {
    if (gt_feature_node_has_type((GtFeatureNode*) node, gt_ft_intron))
      had_err = process_intron(ssiv, (GtGenomeNode*) node, err);
  }
  gt_feature_node_iterator_delete(fni);
  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x1df77b
movq 0x20(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1df743
jmp 0x1df77b
movq 0x45c856(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3368bf(%rip), %rsi    # 0x516013
leaq 0x336a64(%rip), %rdx    # 0x5161bf
leaq 0x38746c(%rip), %rcx    # 0x566bce
leaq 0x3872de(%rip), %r8     # 0x566a47
movl $0x74, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df77d
callq 0x1df620
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x1df7d8
movq 0x45c7f9(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x336862(%rip), %rsi    # 0x516013
leaq 0x38743c(%rip), %rdx    # 0x566bf4
leaq 0x38740f(%rip), %rcx    # 0x566bce
leaq 0x387281(%rip), %r8     # 0x566a47
movl $0x76, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df7da
movq 0x28(%rsp), %rdi
callq 0x170b00
movq %rax, 0x10(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x4(%rsp)
movb %al, 0x3(%rsp)
jne 0x1df810
movq 0x10(%rsp), %rdi
callq 0x170e30
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
setne %al
movb %al, 0x3(%rsp)
movb 0x3(%rsp), %al
testb $0x1, %al
jne 0x1df81a
jmp 0x1df84b
movq 0x8(%rsp), %rdi
leaq 0x3873fa(%rip), %rsi    # 0x566c20
callq 0x16d960
testb $0x1, %al
jne 0x1df831
jmp 0x1df849
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x20(%rsp), %rdx
callq 0x1dfd90
movl %eax, 0x4(%rsp)
jmp 0x1df7e9
movq 0x10(%rsp), %rdi
callq 0x170f50
movl 0x4(%rsp), %eax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_visitor.c
// Function: gt_splice_site_info_visitor_new
GtNodeVisitor* gt_splice_site_info_visitor_new(GtRegionMapping *rm)
{
  GtNodeVisitor *nv;
  GtSpliceSiteInfoVisitor *ssiv;
  gt_assert(rm);
  nv = gt_node_visitor_create(gt_splice_site_info_visitor_class());
  ssiv = splice_site_info_visitor_cast(nv);
  ssiv->region_mapping = rm;
  ssiv->splicesites = gt_string_distri_new();
  ssiv->acceptorsites = gt_string_distri_new();
  ssiv->donorsites = gt_string_distri_new();
  return nv;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1df8a9
movq 0x45c728(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x336791(%rip), %rsi    # 0x516013
leaq 0x3869cd(%rip), %rdx    # 0x566256
leaq 0x387197(%rip), %rcx    # 0x566a27
leaq 0x3871b0(%rip), %r8     # 0x566a47
movl $0x95, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df8ab
callq 0x1df620
movq %rax, %rdi
callq 0x1b22c0
movq %rax, 0x8(%rsp)
callq 0x1df620
movq %rax, %rdi
movq 0x8(%rsp), %rsi
callq 0x1b2350
movq %rax, (%rsp)
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
callq 0x120120
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
callq 0x120120
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x28(%rax)
callq 0x120120
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_visitor.c
// Function: gt_splice_site_info_visitor_show
bool gt_splice_site_info_visitor_show(GtNodeVisitor *nv, GtFile *outfp)
{
  GtSpliceSiteInfoVisitor *ssiv;
  gt_assert(nv);
  ssiv = splice_site_info_visitor_cast(nv);

  if (ssiv->show) {
    /* show splice sites */
    gt_file_xprintf(outfp, "splice site distribution (for introns >= 4bp)\n");
    gt_string_distri_foreach(ssiv->splicesites, showsplicesite, outfp);
    gt_xputchar('\n');

    /* show donor sites */
    gt_file_xprintf(outfp, "donor site distribution (for introns >= 4bp)\n");
    gt_string_distri_foreach(ssiv->donorsites, showsinglesite, outfp);
    gt_xputchar('\n');

    /* show acceptor sites */
    gt_file_xprintf(outfp, "acceptor site distribution (for introns >= 4bp)\n");
    gt_string_distri_foreach(ssiv->acceptorsites, showsinglesite, outfp);
  }
  return ssiv->intron_processed;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1df96e
movq 0x45c663(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3366cc(%rip), %rsi    # 0x516013
leaq 0x390c82(%rip), %rdx    # 0x5705d0
leaq 0x38711a(%rip), %rcx    # 0x566a6f
leaq 0x3870eb(%rip), %r8     # 0x566a47
movl $0xb5, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1df970
callq 0x1df620
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b2350
movq %rax, (%rsp)
movq (%rsp), %rax
testb $0x1, 0x30(%rax)
je 0x1dfa2c
movq 0x8(%rsp), %rdi
leaq 0x3870f0(%rip), %rsi    # 0x566a90
movb $0x0, %al
callq 0xddca0
movq (%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x8(%rsp), %rdx
leaq 0x85(%rip), %rsi        # 0x1dfa40
callq 0x1205a0
movl $0xa, %edi
callq 0x126e30
movq 0x8(%rsp), %rdi
leaq 0x3870e9(%rip), %rsi    # 0x566abf
movb $0x0, %al
callq 0xddca0
movq (%rsp), %rax
movq 0x20(%rax), %rdi
movq 0x8(%rsp), %rdx
leaq 0x12f(%rip), %rsi       # 0x1dfb20
callq 0x1205a0
movl $0xa, %edi
callq 0x126e30
movq 0x8(%rsp), %rdi
leaq 0x3870e1(%rip), %rsi    # 0x566aed
movb $0x0, %al
callq 0xddca0
movq (%rsp), %rax
movq 0x28(%rax), %rdi
movq 0x8(%rsp), %rdx
leaq 0xf9(%rip), %rsi        # 0x1dfb20
callq 0x1205a0
movq (%rsp), %rax
movb 0x31(%rax), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_visitor.c
// Function: showsplicesite
static void showsplicesite(const char *string, GtUword occurrences,
                           double probability, GT_UNUSED void *unused)
{
  gt_assert(string && strlen(string) == 4);
  gt_xputchar(string[0]);
  gt_xputchar(string[1]);
  gt_xputchar('-');
  gt_xputchar(string[2]);
  gt_xputchar(string[3]);
  printf(": %6.2f%% (n="GT_WU")\n", probability * 100.0, occurrences);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movsd %xmm0, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x1dfa71
movq 0x20(%rsp), %rdi
callq 0x192b0
cmpq $0x4, %rax
je 0x1dfaa9
movq 0x45c528(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x336591(%rip), %rsi    # 0x516013
leaq 0x3871dc(%rip), %rdx    # 0x566c65
leaq 0x3871f3(%rip), %rcx    # 0x566c83
leaq 0x386fb0(%rip), %r8     # 0x566a47
movl $0xa2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1dfaab
movq 0x20(%rsp), %rax
movsbl (%rax), %edi
callq 0x126e30
movq 0x20(%rsp), %rax
movsbl 0x1(%rax), %edi
callq 0x126e30
movl $0x2d, %edi
callq 0x126e30
movq 0x20(%rsp), %rax
movsbl 0x2(%rax), %edi
callq 0x126e30
movq 0x20(%rsp), %rax
movsbl 0x3(%rax), %edi
callq 0x126e30
movsd 0x33ad44(%rip), %xmm0   # 0x51a838
mulsd 0x10(%rsp), %xmm0
movq 0x18(%rsp), %rsi
leaq 0x387097(%rip), %rdi    # 0x566b9d
movb $0x1, %al
callq 0x19070
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/splice_site_info_visitor.c
// Function: gt_splice_site_info_visitor_show_canonical
bool gt_splice_site_info_visitor_show_canonical(GtNodeVisitor *nv, bool show_gc)
{
  GtSpliceSiteInfoVisitor *ssiv;
  bool canonical_shown = false;
  gt_assert(nv);
  ssiv = splice_site_info_visitor_cast(nv);

  if (ssiv->show) {
    GtUword occ;
    if ((occ = gt_string_distri_get(ssiv->splicesites, "gtag"))) {
      printf("gt-ag: %6.2f%% (n="GT_WU")\n",
             gt_string_distri_get_prob(ssiv->splicesites, "gtag") * 100.0, occ);
      canonical_shown = true;
    }
    if (show_gc && (occ = gt_string_distri_get(ssiv->splicesites, "gcag"))) {
      printf("gc-ag: %6.2f%% (n="GT_WU")\n",
             gt_string_distri_get_prob(ssiv->splicesites, "gcag") * 100.0, occ);
      canonical_shown = true;
    }
  }

  return canonical_shown;
}

// Assembly:
subq $0x28, %rsp
movb %sil, %al
movq %rdi, 0x20(%rsp)
andb $0x1, %al
movb %al, 0x1f(%rsp)
movb $0x0, 0xf(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x1dfc97
movq 0x45c33a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3363a3(%rip), %rsi    # 0x516013
leaq 0x390959(%rip), %rdx    # 0x5705d0
leaq 0x386ecd(%rip), %rcx    # 0x566b4b
leaq 0x386dc2(%rip), %r8     # 0x566a47
movl $0xd6, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1dfc99
callq 0x1df620
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
testb $0x1, 0x30(%rax)
je 0x1dfd76
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x386ea7(%rip), %rsi    # 0x566b76
callq 0x1203f0
movq %rax, (%rsp)
cmpq $0x0, %rax
je 0x1dfd16
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x386e88(%rip), %rsi    # 0x566b76
callq 0x1204c0
movsd 0x33ab3d(%rip), %xmm1   # 0x51a838
mulsd %xmm1, %xmm0
movq (%rsp), %rsi
leaq 0x386e71(%rip), %rdi    # 0x566b7b
movb $0x1, %al
callq 0x19070
movb $0x1, 0xf(%rsp)
testb $0x1, 0x1f(%rsp)
je 0x1dfd74
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x386e66(%rip), %rsi    # 0x566b93
callq 0x1203f0
movq %rax, (%rsp)
cmpq $0x0, %rax
je 0x1dfd74
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rdi
leaq 0x386e47(%rip), %rsi    # 0x566b93
callq 0x1204c0
movsd 0x33aadf(%rip), %xmm1   # 0x51a838
mulsd %xmm1, %xmm0
movq (%rsp), %rsi
leaq 0x386e30(%rip), %rdi    # 0x566b98
movb $0x1, %al
callq 0x19070
movb $0x1, 0xf(%rsp)
jmp 0x1dfd76
movb 0xf(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/squarealign.c
// Function: gt_squarealign_global_distance_only
GtUword gt_squarealign_global_distance_only(const GtUchar *useq,
                                            GtUword ustart,
                                            GtUword ulen,
                                            const GtUchar *vseq,
                                            GtUword vstart,
                                            GtUword vlen,
                                            const GtScoreHandler *scorehandler)
{
  GtUword **E, distance;

  gt_assert(scorehandler);

  gt_array2dim_malloc(E, (ulen+1), (vlen+1));
  fillDPtab_in_square_space(E, useq, ustart, ulen,
                            vseq, vstart, vlen, scorehandler);
  distance = E[ulen][vlen];
  gt_array2dim_delete(E);
  return distance;
}

// Assembly:
subq $0x58, %rsp
movq 0x60(%rsp), %rax
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq %r9, 0x28(%rsp)
cmpq $0x0, 0x60(%rsp)
jne 0x1e0fc7
movq 0x45b00a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x335073(%rip), %rsi    # 0x516013
leaq 0x3813ac(%rip), %rdx    # 0x562353
leaq 0x38600f(%rip), %rcx    # 0x566fbd
leaq 0x385fed(%rip), %r8     # 0x566fa2
movl $0x73, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e0fc9
movq 0x40(%rsp), %rdi
addq $0x1, %rdi
shlq $0x3, %rdi
leaq 0x385fc5(%rip), %rsi    # 0x566fa2
movl $0x75, %edx
callq 0xe80f0
movq %rax, 0x20(%rsp)
movq 0x40(%rsp), %rdi
addq $0x1, %rdi
shlq $0x3, %rdi
movq 0x28(%rsp), %rax
addq $0x1, %rax
imulq %rax, %rdi
leaq 0x385f95(%rip), %rsi    # 0x566fa2
movl $0x75, %edx
callq 0xe80f0
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movq $0x1, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x40(%rsp), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
jae 0x1e107e
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rdx
movq 0x28(%rsp), %rax
addq $0x1, %rax
shlq $0x3, %rax
addq %rax, %rdx
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x10(%rsp)
jmp 0x1e102b
movq 0x20(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq 0x40(%rsp), %rcx
movq 0x38(%rsp), %r8
movq 0x30(%rsp), %r9
movq 0x28(%rsp), %r10
movq 0x60(%rsp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x1e0d00
movq 0x20(%rsp), %rax
movq 0x40(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x28(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rdi
leaq 0x385ec3(%rip), %rsi    # 0x566fa2
movl $0x79, %edx
callq 0xe88c0
movq 0x20(%rsp), %rdi
leaq 0x385ead(%rip), %rsi    # 0x566fa2
movl $0x79, %edx
callq 0xe88c0
movq 0x18(%rsp), %rax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/squarealign.c
// Function: gt_squarealign_calculate
GtUword gt_squarealign_calculate(GtLinspaceManagement *spacemanager,
                                 GtAlignment *align,
                                 const GtUchar *useq,
                                 GtUword ustart,
                                 GtUword ulen,
                                 const GtUchar *vseq,
                                 GtUword vstart,
                                 GtUword vlen,
                                 GtUword matchcost,
                                 GtUword mismatchcost,
                                 GtUword gapcost)
{
  GtUword distance;
  GtScoreHandler *scorehandler;

  gt_assert(align);
  scorehandler = gt_scorehandler_new(matchcost, mismatchcost, 0, gapcost);
  distance = gt_squarealign_calculate_generic (spacemanager, align,
                                               useq, ustart,  ulen,
                                               vseq,  vstart, vlen,
                                               scorehandler);
  gt_scorehandler_delete(scorehandler);
  return distance;
}

// Assembly:
subq $0x58, %rsp
movq 0x80(%rsp), %rax
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rax
movq 0x68(%rsp), %rax
movq 0x60(%rsp), %rax
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq %r9, 0x28(%rsp)
cmpq $0x0, 0x48(%rsp)
jne 0x1e118e
movq 0x45ae43(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x334eac(%rip), %rsi    # 0x516013
leaq 0x36bfba(%rip), %rdx    # 0x54d128
leaq 0x385e6c(%rip), %rcx    # 0x566fe1
leaq 0x385e26(%rip), %r8     # 0x566fa2
movl $0x8f, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e1190
movq 0x70(%rsp), %rdi
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rcx
xorl %eax, %eax
movl %eax, %edx
callq 0x1d0fb0
movq %rax, 0x18(%rsp)
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x38(%rsp), %rcx
movq 0x30(%rsp), %r8
movq 0x28(%rsp), %r9
movq 0x60(%rsp), %r11
movq 0x68(%rsp), %r10
movq 0x18(%rsp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x1e0ac0
movq %rax, 0x20(%rsp)
movq 0x18(%rsp), %rdi
callq 0x1d1150
movq 0x20(%rsp), %rax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/squarealign.c
// Function: gt_squarealign_print_edit_alignment
void gt_squarealign_print_edit_alignment(const GtUchar *useq, GtUword ustart,
                                         GtUword ulen, const GtUchar *vseq,
                                         GtUword vstart, GtUword vlen)
{
  GtAlignment *align;
  align = gt_alignment_new_with_seqs(useq+ustart, ulen, vseq+vstart, vlen);

  gt_squarealign_calculate(NULL, align, useq, ustart, ulen,
                           vseq, vstart, vlen, 0, 1, 1);
  gt_alignment_show(align, true, stdout, 80);
  gt_alignment_delete(align);
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
movq %rdx, 0x50(%rsp)
movq %rcx, 0x48(%rsp)
movq %r8, 0x40(%rsp)
movq %r9, 0x38(%rsp)
movq 0x60(%rsp), %rdi
addq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq 0x40(%rsp), %rdx
movq 0x38(%rsp), %rcx
callq 0x129ec0
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rsi
movq 0x60(%rsp), %rdx
movq 0x58(%rsp), %rcx
movq 0x50(%rsp), %r8
movq 0x48(%rsp), %r9
movq 0x40(%rsp), %r10
movq 0x38(%rsp), %rax
xorl %edi, %edi
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
movq $0x1, 0x18(%rsp)
movq $0x1, 0x20(%rsp)
callq 0x1e1110
movq 0x30(%rsp), %rdi
movq 0x45ac84(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
movl $0x1, %esi
movl $0x50, %ecx
callq 0x12bf80
movq 0x30(%rsp), %rdi
callq 0x12c3e0
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/squarealign.c
// Function: gt_squarealign_ctab
GtUword gt_squarealign_ctab(GtLinspaceManagement *spacemanager,
                            const GtScoreHandler *scorehandler,
                            GtUword *Ctab,
                            const GtUchar *useq,
                            GtUword ustart,
                            GtUword ulen,
                            const GtUchar *vseq,
                            GtUword vstart,
                            GtUword vlen,
                            GtUword rowoffset)
{
  GtUword **E, distance;

  gt_assert(Ctab && spacemanager && scorehandler);

  E = gt_linspace_management_change_to_square(spacemanager,ulen,vlen);
  E = gt_linspace_management_change_to_square(spacemanager,ulen, vlen);

  fillDPtab_in_square_space(E, useq, ustart, ulen,
                            vseq, vstart, vlen, scorehandler);
  distance = E[ulen][vlen];

  evaluate_crosspoints_from_2dimtab(E, Ctab, scorehandler, useq, ustart, ulen,
                                    vseq, vstart, vlen,  rowoffset);
  return distance;
}

// Assembly:
pushq %rbx
subq $0x60, %rsp
movq 0x88(%rsp), %rax
movq 0x80(%rsp), %rax
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rax
movq %rdi, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq %rdx, 0x48(%rsp)
movq %rcx, 0x40(%rsp)
movq %r8, 0x38(%rsp)
movq %r9, 0x30(%rsp)
cmpq $0x0, 0x48(%rsp)
je 0x1e1335
cmpq $0x0, 0x58(%rsp)
je 0x1e1335
cmpq $0x0, 0x50(%rsp)
jne 0x1e136d
movq 0x45ac64(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x334ccd(%rip), %rsi    # 0x516013
leaq 0x385cad(%rip), %rdx    # 0x566ffa
leaq 0x385ccb(%rip), %rcx    # 0x56701f
leaq 0x385c47(%rip), %r8     # 0x566fa2
movl $0xe2, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e136f
movq 0x58(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x80(%rsp), %rdx
callq 0x1a3830
movq %rax, 0x28(%rsp)
movq 0x58(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x80(%rsp), %rdx
callq 0x1a3830
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movq 0x70(%rsp), %r8
movq 0x78(%rsp), %r9
movq 0x80(%rsp), %r10
movq 0x50(%rsp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x1e0d00
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x80(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x40(%rsp), %rcx
movq 0x38(%rsp), %r8
movq 0x30(%rsp), %r9
movq 0x70(%rsp), %rbx
movq 0x78(%rsp), %r11
movq 0x80(%rsp), %r10
movq 0x88(%rsp), %rax
movq %rbx, (%rsp)
movq %r11, 0x8(%rsp)
movq %r10, 0x10(%rsp)
movq %rax, 0x18(%rsp)
callq 0x1e1460
movq 0x20(%rsp), %rax
addq $0x60, %rsp
popq %rbx
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/squarealign.c
// Function: gt_squarealign_calculate_local
GtWord gt_squarealign_calculate_local(GtLinspaceManagement *spacemanager,
                                      GtAlignment *align,
                                      const GtUchar *useq,
                                      GtUword ustart,
                                      GtUword ulen,
                                      const GtUchar *vseq,
                                      GtUword vstart,
                                      GtUword vlen,
                                      GtWord matchscore,
                                      GtWord mismatchscore,
                                      GtWord gapscore)
{
  GtWord score;
  gt_assert(align);
  GtScoreHandler *scorehandler = gt_scorehandler_new(matchscore,
                                                     mismatchscore, 0,
                                                     gapscore);
  score = gt_squarealign_calculate_local_generic(spacemanager, align,
                                                 useq, ustart, ulen,
                                                 vseq, vstart, vlen,
                                                 scorehandler);
  gt_scorehandler_delete(scorehandler);
  return score;
}

// Assembly:
subq $0x58, %rsp
movq 0x80(%rsp), %rax
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rax
movq 0x68(%rsp), %rax
movq 0x60(%rsp), %rax
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq %r9, 0x28(%rsp)
cmpq $0x0, 0x48(%rsp)
jne 0x1e1e3e
movq 0x45a193(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3341fc(%rip), %rsi    # 0x516013
leaq 0x36b30a(%rip), %rdx    # 0x54d128
leaq 0x385235(%rip), %rcx    # 0x56705a
leaq 0x385176(%rip), %r8     # 0x566fa2
movl $0x174, %r9d            # imm = 0x174
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e1e40
movq 0x70(%rsp), %rdi
movq 0x78(%rsp), %rsi
movq 0x80(%rsp), %rcx
xorl %eax, %eax
movl %eax, %edx
callq 0x1d0fb0
movq %rax, 0x18(%rsp)
movq 0x50(%rsp), %rdi
movq 0x48(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x38(%rsp), %rcx
movq 0x30(%rsp), %r8
movq 0x28(%rsp), %r9
movq 0x60(%rsp), %r11
movq 0x68(%rsp), %r10
movq 0x18(%rsp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x1e1730
movq %rax, 0x20(%rsp)
movq 0x18(%rsp), %rdi
callq 0x1d1150
movq 0x20(%rsp), %rax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sspliced_alignment.c
// Function: gt_sspliced_alignment_new
GtSSplicedAlignment* gt_sspliced_alignment_new(const char *id, bool forward)
{
  GtSSplicedAlignment *sa;
  gt_assert(id);
  sa = gt_malloc(sizeof *sa);
  sa->id = gt_cstr_dup(id);
  sa->forward = forward;
  sa->exons = gt_array_new(sizeof (GtRange));
  return sa;
}

// Assembly:
subq $0x18, %rsp
movb %sil, %al
movq %rdi, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1e1f12
movq 0x45a0bf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x334128(%rip), %rsi    # 0x516013
leaq 0x3d2825(%rip), %rdx    # 0x5b4717
leaq 0x3851ac(%rip), %rcx    # 0x5670a5
leaq 0x3851bf(%rip), %r8     # 0x5670bf
movl $0x1f, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e1f14
movl $0x18, %edi
leaq 0x38519f(%rip), %rsi    # 0x5670bf
movl $0x20, %edx
callq 0xe80f0
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0xa2db0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movb 0xf(%rsp), %cl
movq (%rsp), %rax
andb $0x1, %cl
movb %cl, 0x8(%rax)
movl $0x10, %edi
callq 0x80990
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sspliced_alignment.c
// Function: gt_sspliced_alignment_delete
void gt_sspliced_alignment_delete(GtSSplicedAlignment *sa)
{
  if (!sa) return;
  gt_array_delete(sa->exons);
  gt_free(sa->id);
  gt_free(sa);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x1e1f7e
jmp 0x1e1fb8
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x81f80
movq (%rsp), %rax
movq (%rax), %rdi
leaq 0x385126(%rip), %rsi    # 0x5670bf
movl $0x2b, %edx
callq 0xe88c0
movq (%rsp), %rdi
leaq 0x385111(%rip), %rsi    # 0x5670bf
movl $0x2c, %edx
callq 0xe88c0
popq %rax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sspliced_alignment.c
// Function: gt_sspliced_alignment_genomic_range
GtRange gt_sspliced_alignment_genomic_range(const GtSSplicedAlignment *sa)
{
  GtRange range;
  gt_assert(sa);
  gt_assert(gt_array_size(sa->exons));
  range.start = ((GtRange*) gt_array_get_first(sa->exons))->start;
  range.end   = ((GtRange*) gt_array_get_last(sa->exons))->end;
  return range;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x1e21b7
movq 0x459e1a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x333e83(%rip), %rsi    # 0x516013
leaq 0x3769c0(%rip), %rdx    # 0x558b57
leaq 0x384fc5(%rip), %rcx    # 0x567163
leaq 0x384f1a(%rip), %r8     # 0x5670bf
movl $0x4b, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e21b9
jmp 0x1e21bb
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x81370
cmpq $0x0, %rax
jne 0x1e2206
movq 0x459dcb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x333e34(%rip), %rsi    # 0x516013
leaq 0x384fa1(%rip), %rdx    # 0x567187
leaq 0x384f76(%rip), %rcx    # 0x567163
leaq 0x384ecb(%rip), %r8     # 0x5670bf
movl $0x4c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e2208
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x80be0
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x80c00
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rdx
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sspliced_alignment.c
// Function: range_compare_long_first
static int range_compare_long_first(GtRange range_a, GtRange range_b)
{
  gt_assert(range_a.start <= range_a.end && range_b.start <= range_b.end);

  if ((range_a.start == range_b.start) && (range_a.end == range_b.end))
    return 0; /* range_a == range_b */

  if ((range_a.start < range_b.start) ||
      ((range_a.start == range_b.start) && (range_a.end > range_b.end)))
    return -1; /* range_a < range_b */

  return 1; /* range_a > range_b */
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, (%rsp)
movq %rcx, 0x8(%rsp)
movq 0x10(%rsp), %rax
cmpq 0x18(%rsp), %rax
ja 0x1e230e
movq (%rsp), %rax
cmpq 0x8(%rsp), %rax
jbe 0x1e2346
movq 0x459c8b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x333cf4(%rip), %rsi    # 0x516013
leaq 0x384e7a(%rip), %rdx    # 0x5671a0
leaq 0x384eb0(%rip), %rcx    # 0x5671dd
leaq 0x384d8b(%rip), %r8     # 0x5670bf
movl $0x54, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e2348
movq 0x10(%rsp), %rax
cmpq (%rsp), %rax
jne 0x1e2369
movq 0x18(%rsp), %rax
cmpq 0x8(%rsp), %rax
jne 0x1e2369
movl $0x0, 0x24(%rsp)
jmp 0x1e239d
movq 0x10(%rsp), %rax
cmpq (%rsp), %rax
jb 0x1e238b
movq 0x10(%rsp), %rax
cmpq (%rsp), %rax
jne 0x1e2395
movq 0x18(%rsp), %rax
cmpq 0x8(%rsp), %rax
jbe 0x1e2395
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x1e239d
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sspliced_alignment_parsing.c
// Function: gt_sspliced_alignment_parse
int gt_sspliced_alignment_parse(GtArray *spliced_alignments,
                                const char *filename,
                                GtError *err)
{
  FILE *input_file;
  GtSSplicedAlignment *sa;
  int had_err = 0;
  GtStr *line;
  gt_error_check(err);

  line = gt_str_new();
  input_file = gt_fa_xfopen(filename, "r");

  while (!had_err && gt_str_read_next_line(line, input_file) != EOF) {
    /* parse input line and save result in spliced alignment */
    had_err = parse_input_line(&sa, gt_str_get(line), gt_str_length(line), err);
    if (!had_err) {
      /* store spliced alignment */
      gt_array_add(spliced_alignments, sa);
      /* reset array */
      gt_str_reset(line);
    }
  }

  gt_fa_xfclose(input_file);
  gt_str_delete(line);
  return had_err;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq %rdx, 0x30(%rsp)
movl $0x0, 0x1c(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x1e241b
movq 0x30(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1e23e3
jmp 0x1e241b
movq 0x459bb6(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x333c1f(%rip), %rsi    # 0x516013
leaq 0x333dc4(%rip), %rdx    # 0x5161bf
leaq 0x384df4(%rip), %rcx    # 0x5671f6
leaq 0x384e09(%rip), %r8     # 0x567212
movl $0x7d, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e241d
callq 0x11d4a0
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
leaq 0x349ba7(%rip), %rsi    # 0x52bfda
leaq 0x384dd8(%rip), %rdx    # 0x567212
movl $0x80, %ecx
callq 0xd91d0
movq %rax, 0x28(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x1c(%rsp)
movb %al, 0xf(%rsp)
jne 0x1e246f
movq 0x10(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x11e3a0
cmpl $-0x1, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0x1e2479
jmp 0x1e24d5
movq 0x10(%rsp), %rdi
callq 0x11dee0
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x11dfa0
movq (%rsp), %rsi
movq %rax, %rdx
movq 0x30(%rsp), %rcx
leaq 0x20(%rsp), %rdi
callq 0x1e2500
movl %eax, 0x1c(%rsp)
cmpl $0x0, 0x1c(%rsp)
jne 0x1e24d0
movq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
movl $0x8, %edx
callq 0x81100
movq 0x10(%rsp), %rdi
callq 0x11e110
jmp 0x1e2449
movq 0x28(%rsp), %rdi
callq 0xd9570
movq 0x10(%rsp), %rdi
callq 0x11f560
movl 0x1c(%rsp), %eax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/stat_stream.c
// Function: gt_stat_stream_class
const GtNodeStreamClass* gt_stat_stream_class(void)
{
  static const GtNodeStreamClass *nsc = NULL;
  gt_class_alloc_lock_enter();
  if (!nsc) {
    nsc = gt_node_stream_class_new(sizeof (GtStatStream),
                                   stat_stream_free,
                                   stat_stream_next);
  }
  gt_class_alloc_lock_leave();
  return nsc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x4605e2(%rip)    # 0x642f20
jne 0x1e295f
movl $0x28, %edi
leaq 0x24(%rip), %rsi        # 0x1e2970
leaq 0x6d(%rip), %rdx        # 0x1e29c0
callq 0x1b1ae0
movq %rax, 0x4605c1(%rip)    # 0x642f20
callq 0x9f280
movq 0x4605b5(%rip), %rax    # 0x642f20
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/stat_stream.c
// Function: stat_stream_next
static int stat_stream_next(GtNodeStream *ns, GtGenomeNode **gn, GtError *err)
{
  GtStatStream *stat_stream;
  int had_err;
  gt_error_check(err);
  stat_stream = stat_stream_cast(ns);
  had_err = gt_node_stream_next(stat_stream->in_stream, gn, err);
  if (!had_err) {
    gt_assert(stat_stream->stat_visitor);
    if (*gn) {
      if (!gt_eof_node_try_cast(*gn)) /* do not count EOF nodes */
        stat_stream->number_of_DAGs++;
      had_err = gt_genome_node_accept(*gn, stat_stream->stat_visitor, err);
      gt_assert(!had_err); /* the status visitor is sane */
    }
  }
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1e2a23
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1e29eb
jmp 0x1e2a23
movq 0x4595ae(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x333617(%rip), %rsi    # 0x516013
leaq 0x3337bc(%rip), %rdx    # 0x5161bf
leaq 0x3848f7(%rip), %rcx    # 0x567301
leaq 0x384901(%rip), %r8     # 0x567312
movl $0x2a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e2a25
callq 0x1e2930
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b20f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
callq 0x1b1d90
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
jne 0x1e2b42
jmp 0x1e2a65
movq 0x8(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x1e2aa9
movq 0x459528(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x333591(%rip), %rsi    # 0x516013
leaq 0x3848a4(%rip), %rdx    # 0x56732d
leaq 0x384871(%rip), %rcx    # 0x567301
leaq 0x38487b(%rip), %r8     # 0x567312
movl $0x2e, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e2aab
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
je 0x1e2b40
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x48f4c0
cmpq $0x0, %rax
jne 0x1e2ade
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x20(%rax)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rsi
movq 0x10(%rsp), %rdx
callq 0x171f90
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
je 0x1e2b3c
movq 0x459495(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3334fe(%rip), %rsi    # 0x516013
leaq 0x36a0eb(%rip), %rdx    # 0x54cc07
leaq 0x3847de(%rip), %rcx    # 0x567301
leaq 0x3847e8(%rip), %r8     # 0x567312
movl $0x33, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1e2b3e
jmp 0x1e2b40
jmp 0x1e2b42
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/stat_stream.c
// Function: gt_stat_stream_new
GtNodeStream* gt_stat_stream_new(GtNodeStream *in_stream,
                                 bool gene_length_distri,
                                 bool gene_score_distri,
                                 bool exon_length_distri,
                                 bool exon_number_distri,
                                 bool intron_length_distri,
                                 bool cds_length_distri,
                                 bool used_sources)
{
  GtNodeStream *ns = gt_node_stream_create(gt_stat_stream_class(), false);
  GtStatStream *ss = stat_stream_cast(ns);
  ss->in_stream = gt_node_stream_ref(in_stream);
  ss->stat_visitor = gt_stat_visitor_new(gene_length_distri, gene_score_distri,
                                         exon_length_distri, exon_number_distri,
                                         intron_length_distri,
                                         cds_length_distri, used_sources);
  return ns;
}

// Assembly:
subq $0x38, %rsp
movl %ecx, 0x14(%rsp)
movl %edx, %ecx
movl %esi, %eax
movq %rdi, %r10
movl 0x14(%rsp), %edi
movb %r9b, %dl
movb %r8b, %sil
movb %cl, %r8b
movb %al, %r9b
movb 0x48(%rsp), %al
movb 0x40(%rsp), %cl
movq %r10, 0x30(%rsp)
andb $0x1, %r9b
movb %r9b, 0x2f(%rsp)
andb $0x1, %r8b
movb %r8b, 0x2e(%rsp)
andb $0x1, %dil
movb %dil, 0x2d(%rsp)
andb $0x1, %sil
movb %sil, 0x2c(%rsp)
andb $0x1, %dl
movb %dl, 0x2b(%rsp)
andb $0x1, %cl
movb %cl, 0x2a(%rsp)
andb $0x1, %al
movb %al, 0x29(%rsp)
callq 0x1e2930
movq %rax, %rdi
xorl %esi, %esi
callq 0x1b1b80
movq %rax, 0x20(%rsp)
callq 0x1e2930
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b20f0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
callq 0x1b1c50
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x10(%rax)
movb 0x2f(%rsp), %dil
movb 0x2e(%rsp), %sil
movb 0x2d(%rsp), %dl
movb 0x2c(%rsp), %cl
movb 0x2b(%rsp), %r8b
movb 0x2a(%rsp), %r9b
movb 0x29(%rsp), %al
andb $0x1, %dil
andb $0x1, %sil
andb $0x1, %dl
andb $0x1, %cl
andb $0x1, %r8b
andb $0x1, %r9b
andb $0x1, %al
movzbl %dil, %edi
movzbl %sil, %esi
movzbl %dl, %edx
movzbl %cl, %ecx
movzbl %r8b, %r8d
movzbl %r9b, %r9d
movzbl %al, %eax
movl %eax, (%rsp)
callq 0x1e2f50
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x20(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/stat_visitor.c
// Function: gt_stat_visitor_class
const GtNodeVisitorClass* gt_stat_visitor_class()
{
  static const GtNodeVisitorClass *nvc = NULL;
  gt_class_alloc_lock_enter();
  if (!nvc) {
    nvc = gt_node_visitor_class_new(sizeof (GtStatVisitor),
                                    stat_visitor_free,
                                    NULL,
                                    stat_visitor_feature_node,
                                    stat_visitor_region_node,
                                    NULL,
                                    NULL);
  }
  gt_class_alloc_lock_leave();
  return nvc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x46025a(%rip)    # 0x642f28
jne 0x1e2d06
movl $0xb0, %edi
leaq 0x44(%rip), %rsi        # 0x1e2d20
xorl %eax, %eax
movl %eax, %r9d
leaq 0xe8(%rip), %rcx        # 0x1e2dd0
leaq 0x181(%rip), %r8        # 0x1e2e70
movq %r9, %rdx
movq $0x0, (%rsp)
callq 0x1b2170
movq %rax, 0x460222(%rip)    # 0x642f28
callq 0x9f280
movq 0x460216(%rip), %rax    # 0x642f28
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/stat_visitor.c
// Function: stat_visitor_free
static void stat_visitor_free(GtNodeVisitor *nv)
{
  GtStatVisitor *sv = stat_visitor_cast(nv);
  gt_cstr_table_delete(sv->used_sources);
  gt_disc_distri_delete(sv->cds_length_distribution);
  gt_disc_distri_delete(sv->intron_length_distribution);
  gt_disc_distri_delete(sv->exon_number_distribution);
  gt_disc_distri_delete(sv->exon_length_distribution);
  gt_disc_distri_delete(sv->gene_score_distribution);
  gt_disc_distri_delete(sv->gene_length_distribution);
  gt_string_distri_delete(sv->type_counts);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
callq 0x1e2cc0
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0xa0(%rax), %rdi
callq 0xa40d0
movq 0x8(%rsp), %rax
movq 0x98(%rax), %rdi
callq 0xa5bf0
movq 0x8(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0xa5bf0
movq 0x8(%rsp), %rax
movq 0x88(%rax), %rdi
callq 0xa5bf0
movq 0x8(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0xa5bf0
movq 0x8(%rsp), %rax
movq 0x78(%rax), %rdi
callq 0xa5bf0
movq 0x8(%rsp), %rax
movq 0x70(%rax), %rdi
callq 0xa5bf0
movq 0x8(%rsp), %rax
movq 0xa8(%rax), %rdi
callq 0x120820
addq $0x18, %rsp
retq
nopw (%rax,%rax)