// File: /workspace/github_c_makefile_star2_O1/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
pushq %rax
movl %edx, 0x4(%rsp)
testq %rdi, %rdi
je 0x15fd48
movq %rsi, %rbx
testq %rsi, %rsi
je 0x15fd48
movq %rdi, %r14
movq %rbx, %rdi
callq 0x108f3c
testb %al, %al
je 0x15fd39
leaq 0x22eefd(%rip), %rsi    # 0x38eaf0
xorl %r15d, %r15d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10906e
cmpq $0x0, 0x28(%r14)
je 0x15fc7f
leaq 0x265a1d(%rip), %r13    # 0x3c562b
xorl %r15d, %r15d
movq (%r14), %rax
movq (%rax,%r15,8), %rbp
movq 0x8(%rax,%r15,8), %r12
cmpq %rbp, %r12
jbe 0x15fc36
movq %rbx, %rdi
leaq 0x265a00(%rip), %rsi    # 0x3c562c
movq %r15, %rdx
xorl %eax, %eax
callq 0x10906e
cmpb $0x0, 0x4(%rsp)
je 0x15fc61
cmpq %rbp, %r12
jbe 0x15fc76
movq 0x10(%r14), %rax
movq (%rax,%rbp,8), %rdx
movq %rbx, %rdi
movq %r13, %rsi
xorl %eax, %eax
callq 0x10906e
incq %rbp
cmpq %rbp, %r12
jne 0x15fc42
jmp 0x15fc76
subq %rbp, %r12
jbe 0x15fc76
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
xorl %eax, %eax
callq 0x10906e
incq %r15
cmpq 0x28(%r14), %r15
jb 0x15fc11
movq (%r14), %rax
movq (%rax,%r15,8), %rdx
leaq 0x22ee7b(%rip), %rsi    # 0x38eb08
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10906e
cmpb $0x0, 0x4(%rsp)
je 0x15fd39
movq (%r14), %rax
movq 0x28(%r14), %rcx
movq (%rax,%rcx,8), %rax
shlq $0x4, %rcx
leaq (%rcx,%rax,8), %rdx
addq $0xf, %rdx
leaq 0x22ee5d(%rip), %rsi    # 0x38eb1d
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10906e
movq 0x28(%r14), %rax
movq 0x38(%r14), %rcx
shlq $0x4, %rcx
shlq $0x4, %rax
leaq (%rax,%rcx), %rdx
addq $0xf, %rdx
leaq 0x22ee55(%rip), %rsi    # 0x38eb3e
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10906e
movq %r14, %rdi
callq 0x15f8c3
leaq 0x22ee66(%rip), %rsi    # 0x38eb68
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x10906e
movq %r14, %rdi
callq 0x15f88e
leaq 0x22ee62(%rip), %rsi    # 0x38eb80
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x10906e
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x4b4d6