// File: /workspace/github_c_makefile_star2_O3/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 0x17a804
movq %rax, %rdi
movq %r14, %rsi
callq 0x1630b1
movq %rax, %r14
movq 0x10(%rax), %rdx
testq %rdx, %rdx
je 0x17aa90
movq 0x68(%r14), %rcx
leaq 0x219f3c(%rip), %rsi    # 0x3949c2
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x18(%r14), %rdx
testq %rdx, %rdx
je 0x17aaaa
leaq 0x219f4e(%rip), %rsi    # 0x3949ee
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x20(%r14), %rdx
testq %rdx, %rdx
je 0x17aac4
leaq 0x219f58(%rip), %rsi    # 0x394a12
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x28(%r14), %rdx
testq %rdx, %rdx
je 0x17aade
leaq 0x219f2f(%rip), %rsi    # 0x394a03
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x30(%r14), %rdx
testq %rdx, %rdx
je 0x17aaf8
leaq 0x219f3f(%rip), %rsi    # 0x394a2d
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x38(%r14), %rdx
testq %rdx, %rdx
je 0x17ab12
leaq 0x219f16(%rip), %rsi    # 0x394a1e
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x40(%r14), %rdx
testq %rdx, %rdx
je 0x17ab2c
leaq 0x219f17(%rip), %rsi    # 0x394a39
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x48(%r14), %rdx
testq %rdx, %rdx
je 0x17ab46
leaq 0x219f09(%rip), %rsi    # 0x394a45
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x50(%r14), %rdx
testq %rdx, %rdx
je 0x17ab60
leaq 0x219efa(%rip), %rsi    # 0x394a50
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0xa8(%r14), %rdi
leaq 0x183(%rip), %rsi       # 0x17acf1
movq %rbx, %rdx
callq 0x11c48c
cmpq $0x0, 0x70(%r14)
je 0x17ab9a
leaq 0x219ee7(%rip), %rsi    # 0x394a6b
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x70(%r14), %rdi
movq %rbx, %rsi
callq 0xe55d7
cmpq $0x0, 0x78(%r14)
je 0x17abbe
leaq 0x219ede(%rip), %rsi    # 0x394a86
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x78(%r14), %rdi
movq %rbx, %rsi
callq 0xe55d7
cmpq $0x0, 0x80(%r14)
je 0x17abe8
leaq 0x219ed1(%rip), %rsi    # 0x394aa0
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x80(%r14), %rdi
movq %rbx, %rsi
callq 0xe55d7
cmpq $0x0, 0x88(%r14)
je 0x17ac12
leaq 0x219ec2(%rip), %rsi    # 0x394abb
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x88(%r14), %rdi
movq %rbx, %rsi
callq 0xe55d7
cmpq $0x0, 0x90(%r14)
je 0x17ac3c
leaq 0x219eb3(%rip), %rsi    # 0x394ad6
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x90(%r14), %rdi
movq %rbx, %rsi
callq 0xe55d7
cmpq $0x0, 0x98(%r14)
je 0x17ac66
leaq 0x219ea6(%rip), %rsi    # 0x394af3
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0x98(%r14), %rdi
movq %rbx, %rsi
callq 0xe55d7
cmpq $0x0, 0xa0(%r14)
je 0x17ace5
leaq 0x219e96(%rip), %rsi    # 0x394b0d
movq %rbx, %rdi
xorl %eax, %eax
callq 0xfee51
movq 0xa0(%r14), %rdi
callq 0xe49c2
movq %rax, %r14
movq %rax, %rdi
callq 0x11c131
testq %rax, %rax
je 0x17acd2
leaq 0x1db18c(%rip), %r15    # 0x355e30
xorl %r12d, %r12d
movq %r14, %rdi
movq %r12, %rsi
callq 0x11bfb3
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0xfee51
incq %r12
movq %r14, %rdi
callq 0x11c131
cmpq %rax, %r12
jb 0x17aca7
movq %r14, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x11c144
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq