// File: /workspace/github_c_makefile_star2_O2/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 0x11feb4
movq %rax, %rdi
movq %r14, %rsi
callq 0x102dfe
movq %rax, %r14
movq 0x10(%rax), %rdx
testq %rdx, %rdx
je 0x1201a3
movq 0x68(%r14), %rcx
leaq 0x214b98(%rip), %rsi    # 0x334d31
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x18(%r14), %rdx
testq %rdx, %rdx
je 0x1201bd
leaq 0x214baa(%rip), %rsi    # 0x334d5d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x20(%r14), %rdx
testq %rdx, %rdx
je 0x1201d7
leaq 0x214bb4(%rip), %rsi    # 0x334d81
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x28(%r14), %rdx
testq %rdx, %rdx
je 0x1201f1
leaq 0x214b8b(%rip), %rsi    # 0x334d72
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x30(%r14), %rdx
testq %rdx, %rdx
je 0x12020b
leaq 0x214b9b(%rip), %rsi    # 0x334d9c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x38(%r14), %rdx
testq %rdx, %rdx
je 0x120225
leaq 0x214b72(%rip), %rsi    # 0x334d8d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x40(%r14), %rdx
testq %rdx, %rdx
je 0x12023f
leaq 0x214b73(%rip), %rsi    # 0x334da8
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x48(%r14), %rdx
testq %rdx, %rdx
je 0x120259
leaq 0x214b65(%rip), %rsi    # 0x334db4
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x50(%r14), %rdx
testq %rdx, %rdx
je 0x120273
leaq 0x214b56(%rip), %rsi    # 0x334dbf
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0xa8(%r14), %rdi
leaq 0x178(%rip), %rsi       # 0x1203f9
movq %rbx, %rdx
callq 0xaeb2d
cmpq $0x0, 0x70(%r14)
je 0x1202ad
leaq 0x214b43(%rip), %rsi    # 0x334dda
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x70(%r14), %rdi
movq %rbx, %rsi
callq 0x6dab5
cmpq $0x0, 0x78(%r14)
je 0x1202d1
leaq 0x214b3a(%rip), %rsi    # 0x334df5
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x78(%r14), %rdi
movq %rbx, %rsi
callq 0x6dab5
cmpq $0x0, 0x80(%r14)
je 0x1202fb
leaq 0x214b2d(%rip), %rsi    # 0x334e0f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x80(%r14), %rdi
movq %rbx, %rsi
callq 0x6dab5
cmpq $0x0, 0x88(%r14)
je 0x120325
leaq 0x214b1e(%rip), %rsi    # 0x334e2a
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x88(%r14), %rdi
movq %rbx, %rsi
callq 0x6dab5
cmpq $0x0, 0x90(%r14)
je 0x12034f
leaq 0x214b0f(%rip), %rsi    # 0x334e45
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x90(%r14), %rdi
movq %rbx, %rsi
callq 0x6dab5
cmpq $0x0, 0x98(%r14)
je 0x120379
leaq 0x214b02(%rip), %rsi    # 0x334e62
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0x98(%r14), %rdi
movq %rbx, %rsi
callq 0x6dab5
cmpq $0x0, 0xa0(%r14)
je 0x1203ed
leaq 0x214af2(%rip), %rsi    # 0x334e7c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x8d432
movq 0xa0(%r14), %rdi
callq 0x6cbf8
movq %rax, %r14
leaq 0x1d5a96(%rip), %r15    # 0x2f5e40
xorl %r12d, %r12d
movq %r14, %rdi
callq 0xae61c
cmpq %rax, %r12
jae 0x1203da
movq %r14, %rdi
movq %r12, %rsi
callq 0xae386
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x8d432
incq %r12
jmp 0x1203ad
movq %r14, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0xae662
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq