// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/extended/stat_visitor.c
// Function: gt_stat_visitor_show_stats
void gt_stat_visitor_show_stats(GtNodeVisitor *nv, GtFile *outfp)
{
  GtStatVisitor *sv = stat_visitor_cast(nv);
  if (sv->number_of_sequence_regions) {
    gt_file_xprintf(outfp, "sequence regions: "GT_WU
                    " (total length: "GT_LLU")\n",
                    sv->number_of_sequence_regions,
                    sv->total_length_of_sequence_regions);
  }
  if (sv->number_of_multi_features) {
    gt_file_xprintf(outfp, "multi-features: "GT_WU"\n",
                    sv->number_of_multi_features);
  }
  if (sv->number_of_genes)
    gt_file_xprintf(outfp, "genes: "GT_WU"\n", sv->number_of_genes);
  if (sv->number_of_protein_coding_genes) {
    gt_file_xprintf(outfp, "protein-coding genes: "GT_WU"\n",
                    sv->number_of_protein_coding_genes);
  }
  if (sv->number_of_mRNAs)
    gt_file_xprintf(outfp, "mRNAs: "GT_WU"\n", sv->number_of_mRNAs);
  if (sv->number_of_protein_coding_mRNAs) {
    gt_file_xprintf(outfp, "protein-coding mRNAs: "GT_WU"\n",
                    sv->number_of_protein_coding_mRNAs);
  }
  if (sv->number_of_exons)
    gt_file_xprintf(outfp, "exons: "GT_WU"\n", sv->number_of_exons);
  if (sv->number_of_CDSs)
    gt_file_xprintf(outfp, "CDSs: "GT_WU"\n", sv->number_of_CDSs);
  if (sv->number_of_LTR_retrotransposons) {
    gt_file_xprintf(outfp, "LTR_retrotransposons: "GT_WU"\n",
                    sv->number_of_LTR_retrotransposons);
  }
  gt_string_distri_foreach(sv->type_counts, gt_stat_print_string_distri_item,
                           outfp);
  if (sv->gene_length_distribution) {
    gt_file_xprintf(outfp, "gene length distribution:\n");
    gt_disc_distri_show(sv->gene_length_distribution, outfp);
  }
  if (sv->gene_score_distribution) {
    gt_file_xprintf(outfp, "gene score distribution:\n");
    gt_disc_distri_show(sv->gene_score_distribution, outfp);
  }
  if (sv->exon_length_distribution) {
    gt_file_xprintf(outfp, "exon length distribution:\n");
    gt_disc_distri_show(sv->exon_length_distribution, outfp);
  }
  if (sv->exon_number_distribution) {
    gt_file_xprintf(outfp, "exon number distribution:\n");
    gt_disc_distri_show(sv->exon_number_distribution, outfp);
  }
  if (sv->intron_length_distribution) {
    gt_file_xprintf(outfp, "intron length distribution:\n");
    gt_disc_distri_show(sv->intron_length_distribution, outfp);
  }
  if (sv->cds_length_distribution) {
    gt_file_xprintf(outfp, "CDS length distribution:\n");
    gt_disc_distri_show(sv->cds_length_distribution, outfp);
  }
  if (sv->used_sources) {
    GtStrArray *sources;
    GtUword i;
    gt_file_xprintf(outfp, "used source tags:\n");
    sources = gt_cstr_table_get_all(sv->used_sources);
    for (i = 0; i < gt_str_array_size(sources); i++)
      gt_file_xprintf(outfp, "%s\n", gt_str_array_get(sources, i));
    gt_str_array_delete(sources);
  }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
callq 0x182d70
movq %rax, %rdi
movq %r14, %rsi
callq 0x16af21
movq %rax, %r14
movq 0x10(%rax), %rdx
testq %rdx, %rdx
je 0x182ffc
movq 0x68(%r14), %rcx
leaq 0x21ae77(%rip), %rsi    # 0x39de69
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x18(%r14), %rdx
testq %rdx, %rdx
je 0x183016
leaq 0x21ae89(%rip), %rsi    # 0x39de95
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x20(%r14), %rdx
testq %rdx, %rdx
je 0x183030
leaq 0x21ae93(%rip), %rsi    # 0x39deb9
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x28(%r14), %rdx
testq %rdx, %rdx
je 0x18304a
leaq 0x21ae6a(%rip), %rsi    # 0x39deaa
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x30(%r14), %rdx
testq %rdx, %rdx
je 0x183064
leaq 0x21ae7a(%rip), %rsi    # 0x39ded4
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x38(%r14), %rdx
testq %rdx, %rdx
je 0x18307e
leaq 0x21ae51(%rip), %rsi    # 0x39dec5
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x40(%r14), %rdx
testq %rdx, %rdx
je 0x183098
leaq 0x21ae52(%rip), %rsi    # 0x39dee0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x48(%r14), %rdx
testq %rdx, %rdx
je 0x1830b2
leaq 0x21ae44(%rip), %rsi    # 0x39deec
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x50(%r14), %rdx
testq %rdx, %rdx
je 0x1830cc
leaq 0x21ae35(%rip), %rsi    # 0x39def7
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0xa8(%r14), %rdi
leaq 0x183(%rip), %rsi       # 0x18325d
movq %rbx, %rdx
callq 0x1221da
cmpq $0x0, 0x70(%r14)
je 0x183106
leaq 0x21ae22(%rip), %rsi    # 0x39df12
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x70(%r14), %rdi
movq %rbx, %rsi
callq 0xe9ad1
cmpq $0x0, 0x78(%r14)
je 0x18312a
leaq 0x21ae19(%rip), %rsi    # 0x39df2d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x78(%r14), %rdi
movq %rbx, %rsi
callq 0xe9ad1
cmpq $0x0, 0x80(%r14)
je 0x183154
leaq 0x21ae0c(%rip), %rsi    # 0x39df47
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x80(%r14), %rdi
movq %rbx, %rsi
callq 0xe9ad1
cmpq $0x0, 0x88(%r14)
je 0x18317e
leaq 0x21adfd(%rip), %rsi    # 0x39df62
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x88(%r14), %rdi
movq %rbx, %rsi
callq 0xe9ad1
cmpq $0x0, 0x90(%r14)
je 0x1831a8
leaq 0x21adee(%rip), %rsi    # 0x39df7d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x90(%r14), %rdi
movq %rbx, %rsi
callq 0xe9ad1
cmpq $0x0, 0x98(%r14)
je 0x1831d2
leaq 0x21ade1(%rip), %rsi    # 0x39df9a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0x98(%r14), %rdi
movq %rbx, %rsi
callq 0xe9ad1
cmpq $0x0, 0xa0(%r14)
je 0x183251
leaq 0x21add1(%rip), %rsi    # 0x39dfb4
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103d21
movq 0xa0(%r14), %rdi
callq 0xe8e8e
movq %rax, %r14
movq %rax, %rdi
callq 0x121e78
testq %rax, %rax
je 0x18323e
leaq 0x1dbc4c(%rip), %r15    # 0x35ee5c
xorl %r12d, %r12d
movq %r14, %rdi
movq %r12, %rsi
callq 0x121cfa
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x103d21
incq %r12
movq %r14, %rdi
callq 0x121e78
cmpq %rax, %r12
jb 0x183213
movq %r14, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x121e8b
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq