// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/extended/kmer_database.c
// Function: gt_kmer_database_print
void gt_kmer_database_print(GtKmerDatabase *kdb, GtLogger *logger, bool verbose)
{
  GtUword i,
          start,
          end;

  gt_assert(kdb != NULL && logger != NULL);

  if (!gt_logger_enabled(logger))
    return;

  gt_logger_log(logger, "DB.offset/DB.positions:");
  for (i = 0; i < kdb->nu_kmer_codes; i++) {
    start = kdb->offset[i];
    end = kdb->offset[i + 1];
    if (start < end)
      gt_logger_log(logger, GT_WU, i);
    if (verbose) {
      while (start < end) {
        gt_logger_log(logger, "\t" GT_WU, kdb->positions[start]);
        start++;
      }
    }
    else if (start < end) {
      GtUword diff = end - start;
      gt_logger_log(logger, "\t" GT_WU, diff);
    }
  }
  gt_logger_log(logger, "number of kmers: " GT_WU, kdb->offset[i]);
  if (verbose) {
    gt_logger_log(logger, "byte size of GtKmerDatabase: " GT_WU,
                  gt_kmer_database_get_used_size(kdb));
    gt_logger_log(logger, "allocated byte size for KmerDatabase: " GT_WU,
                  gt_kmer_database_get_byte_size(kdb));
    gt_logger_log(logger, "minimal occurrence: " GT_WU,
                  gt_kmer_database_get_min_nu_of_occ(kdb));
    gt_logger_log(logger, "mean occurrence: " GT_WU,
                  gt_kmer_database_get_mean_nu_of_occ(kdb));
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edx, 0xc(%rsp)
movq %rdi, (%rsp)
testq %rdi, %rdi
je 0x158124
movq %rsi, %rbx
testq %rsi, %rsi
je 0x158124
movq %rbx, %rdi
callq 0x103eac
testb %al, %al
je 0x158115
leaq 0x22d772(%rip), %rsi    # 0x385718
xorl %r15d, %r15d
movq %rbx, 0x10(%rsp)
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103fe1
movq (%rsp), %rdx
cmpq $0x0, 0x28(%rdx)
je 0x158052
leaq 0x263fed(%rip), %rcx    # 0x3bbfbb
xorl %r15d, %r15d
movq 0x10(%rsp), %r13
movq (%rdx), %rax
movq (%rax,%r15,8), %rbp
movq 0x8(%rax,%r15,8), %r12
movq %r12, %rbx
subq %rbp, %rbx
jbe 0x158049
movq %rcx, %r14
movq %r13, %rdi
leaq 0x263fc5(%rip), %rsi    # 0x3bbfbc
movq %r15, %rdx
xorl %eax, %eax
callq 0x103fe1
cmpb $0x0, 0xc(%rsp)
je 0x158032
movq (%rsp), %rdx
movq 0x10(%rdx), %rax
movq (%rax,%rbp,8), %rdx
movq %r13, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x103fe1
movq (%rsp), %rdx
movq %r14, %rcx
incq %rbp
cmpq %rbp, %r12
jne 0x15800c
jmp 0x158049
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x103fe1
movq %r14, %rcx
movq (%rsp), %rdx
incq %r15
cmpq 0x28(%rdx), %r15
jb 0x157fd6
movq (%rdx), %rax
movq (%rax,%r15,8), %rdx
leaq 0x22d6d0(%rip), %rsi    # 0x385730
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103fe1
cmpb $0x0, 0xc(%rsp)
je 0x158115
movq (%rsp), %r14
movq (%r14), %rax
movq 0x28(%r14), %rcx
movq (%rax,%rcx,8), %rax
shlq $0x4, %rcx
leaq (%rcx,%rax,8), %rdx
addq $0xf, %rdx
leaq 0x22d6a9(%rip), %rsi    # 0x385745
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103fe1
movq 0x28(%r14), %rax
movq 0x38(%r14), %rcx
shlq $0x4, %rcx
shlq $0x4, %rax
leaq (%rax,%rcx), %rdx
addq $0xf, %rdx
leaq 0x22d6a1(%rip), %rsi    # 0x385766
movq %rbx, %rdi
xorl %eax, %eax
callq 0x103fe1
movq %r14, %rdi
callq 0x157cc5
leaq 0x22d6b2(%rip), %rsi    # 0x385790
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x103fe1
movq %r14, %rdi
callq 0x157c90
leaq 0x22d6ae(%rip), %rsi    # 0x3857a8
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x103fe1
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x4a6c3