// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/core/encseq.c
// Function: gt_encseq_show_features
void gt_encseq_show_features(const GtEncseq *encseq,
                             GtLogger *logger,
                             bool withfilenames)
{
  GtUword idx;

  if (withfilenames) {
    for (idx = 0; idx < encseq->numofdbfiles; idx++) {
      gt_assert(encseq->filenametab != NULL);
      gt_logger_log(logger, "dbfile=%s " Formatuint64_t " " Formatuint64_t,
                     gt_str_array_get(encseq->filenametab, idx),
                PRINTuint64_tcast(encseq->headerptr.filelengthtab[idx].length),
                PRINTuint64_tcast(encseq->headerptr.filelengthtab[idx].
                                       effectivelength));
    }
  }
  gt_logger_log(logger, "totallength=" GT_WU,
                       gt_encseq_total_length(encseq));
  gt_logger_log(logger, "numofsequences=" GT_WU,
                       encseq->logicalnumofdbsequences);
  gt_logger_log(logger, "specialcharacters=" GT_WU,
                       gt_encseq_specialcharacters(encseq));
  gt_logger_log(logger, "specialranges=" GT_WU,
                       gt_encseq_specialranges(encseq));
  gt_logger_log(logger, "realspecialranges=" GT_WU,
                       gt_encseq_realspecialranges(encseq));
  gt_logger_log(logger, "wildcards=" GT_WU,
                       gt_encseq_wildcards(encseq));
  gt_logger_log(logger, "wildcardranges=" GT_WU,
                       gt_encseq_wildcardranges(encseq));
  gt_logger_log(logger, "realwildcardranges=" GT_WU,
                       gt_encseq_realwildcardranges(encseq));

  gt_assert(encseq->headerptr.characterdistribution != NULL);
  showcharacterdistribution(encseq, logger);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
testl %edx, %edx
je 0xa969b
pushq $0x8
popq %r13
leaq 0x4395d(%rip), %r15     # 0xecfae
xorl %r12d, %r12d
cmpq 0x50(%r14), %r12
jae 0xa969b
movq 0x1f8(%r14), %rdi
testq %rdi, %rdi
je 0xa9815
movq %r12, %rsi
callq 0x1555e
movq 0xf0(%r14), %rdx
movq -0x8(%rdx,%r13), %rcx
movq (%rdx,%r13), %r8
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0xc9c1
incq %r12
addq $0x10, %r13
jmp 0xa9654
movq %r14, %rdi
callq 0xa1f4a
leaq 0x43916(%rip), %rsi     # 0xecfc0
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xc9c1
movq 0x48(%r14), %rdx
leaq 0x4390e(%rip), %rsi     # 0xecfd0
movq %rbx, %rdi
xorl %eax, %eax
callq 0xc9c1
movq 0x178(%r14), %rax
leaq 0x1(,%rax,2), %rdx
cmpb $0x0, 0x3a8(%r14)
cmoveq %rax, %rdx
leaq 0x438f5(%rip), %rsi     # 0xecfe3
movq %rbx, %rdi
xorl %eax, %eax
callq 0xc9c1
movq %r14, %rdi
callq 0xa7ac0
leaq 0x438f6(%rip), %rsi     # 0xecffd
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xc9c1
movq %r14, %rdi
callq 0xa7c24
leaq 0x438d6(%rip), %rsi     # 0xecff9
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xc9c1
movb 0x3a8(%r14), %cl
movq 0x1a0(%r14), %rdx
shlq %cl, %rdx
leaq 0x438c7(%rip), %rsi     # 0xed00f
movq %rbx, %rdi
xorl %eax, %eax
callq 0xc9c1
movb 0x3a8(%r14), %cl
movq 0x1a8(%r14), %rdx
shlq %cl, %rdx
leaq 0x438b7(%rip), %rsi     # 0xed021
movq %rbx, %rdi
xorl %eax, %eax
callq 0xc9c1
movb 0x3a8(%r14), %cl
movq 0x1b0(%r14), %rdx
shlq %cl, %rdx
leaq 0x43891(%rip), %rsi     # 0xed01d
movq %rbx, %rdi
xorl %eax, %eax
callq 0xc9c1
cmpq $0x0, 0xf8(%r14)
je 0xa984d
movq 0x220(%r14), %rdi
callq 0x9b59a
cmpq $0x0, 0xf8(%r14)
je 0xa987b
movl %eax, %ebp
leaq 0x46551(%rip), %r15     # 0xefd18
xorl %r12d, %r12d
cmpl %r12d, %ebp
je 0xa9806
movq 0x220(%r14), %rdi
movl %r12d, %esi
callq 0x9bb97
movzbl %al, %r13d
movzbl %r12b, %esi
movq %r14, %rdi
callq 0xa6ee9
movq %rbx, %rdi
movq %r15, %rsi
movl %r13d, %edx
movq %rax, %rcx
xorl %eax, %eax
callq 0xc9c1
incl %r12d
jmp 0xa97ca
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8479c(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x20840(%rip), %rsi     # 0xca066
leaq 0x4374d(%rip), %rdx     # 0xecf7a
leaq 0x43762(%rip), %rcx     # 0xecf96
leaq 0x4235f(%rip), %r8      # 0xebb9a
movl $0x1cb8, %r9d           # imm = 0x1CB8
xorl %eax, %eax
callq 0xb8c0
callq 0xb300
movq 0x84764(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x20808(%rip), %rsi     # 0xca066
leaq 0x437cf(%rip), %rdx     # 0xed034
leaq 0x4372a(%rip), %rcx     # 0xecf96
leaq 0x42327(%rip), %r8      # 0xebb9a
movl $0x1cd1, %r9d           # imm = 0x1CD1
jmp 0xa9841
movq 0x84736(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x207da(%rip), %rsi     # 0xca066
leaq 0x437a1(%rip), %rdx     # 0xed034
leaq 0x46464(%rip), %rcx     # 0xefcfe
leaq 0x422f9(%rip), %r8      # 0xebb9a
movl $0x1ca8, %r9d           # imm = 0x1CA8
jmp 0xa9841