// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_seqcorrect.c
// Function: gt_seqcorrect_bucketkey_kmersize
static bool gt_seqcorrect_bucketkey_kmersize(GtSeqcorrectArguments *arguments,
    unsigned int *kmersize, GtError *err)
{
  bool haserr = false;
  gt_assert(kmersize != NULL);
  if (arguments->forcek > 0)
  {
    *kmersize = arguments->forcek;
    if (*kmersize >= arguments->correction_kmersize)
    {
      gt_error_set(err,"argument %u to option -forcek must be < "
          "correction kmersize (-k)", *kmersize);
      haserr = true;
    }
    else if (*kmersize > (unsigned int)GT_UNITSIN2BITENC)
    {
      gt_error_set(err,
          "argument %u to option -forcek > %u (machine word size/2)",
          *kmersize, (unsigned int)GT_UNITSIN2BITENC);
      haserr = true;
    }
  }
  else
  {
    gt_assert(arguments->correction_kmersize > 1U);
    *kmersize = GT_MIN((unsigned int) GT_UNITSIN2BITENC,
        arguments->correction_kmersize - 1);
  }
  gt_log_log("bucketkey kmersize=%u", *kmersize);
  gt_assert(*kmersize > 0);
  return haserr;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movb $0x0, 0xf(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x63f98
movq 0x5d8039(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4b20a2(%rip), %rsi    # 0x516013
leaq 0x4b7c5a(%rip), %rdx    # 0x51bbd2
leaq 0x4c55ee(%rip), %rcx    # 0x52956d
leaq 0x4c4f6d(%rip), %r8     # 0x528ef3
movl $0x115, %r9d            # imm = 0x115
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x63f9a
movq 0x20(%rsp), %rax
cmpl $0x0, 0x24(%rax)
jbe 0x6401b
movq 0x20(%rsp), %rax
movl 0x24(%rax), %ecx
movq 0x18(%rsp), %rax
movl %ecx, (%rax)
movq 0x18(%rsp), %rax
movl (%rax), %eax
movq 0x20(%rsp), %rcx
cmpl 0xc(%rcx), %eax
jb 0x63fe6
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movl (%rax), %edx
leaq 0x4c55b6(%rip), %rsi    # 0x52958e
movb $0x0, %al
callq 0xd88c0
movb $0x1, 0xf(%rsp)
jmp 0x64016
movq 0x18(%rsp), %rax
cmpl $0x20, (%rax)
jbe 0x64014
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rax
movl (%rax), %edx
leaq 0x4b7c19(%rip), %rsi    # 0x51bc1c
movl $0x20, %ecx
movb $0x0, %al
callq 0xd88c0
movb $0x1, 0xf(%rsp)
jmp 0x64016
jmp 0x6409b
jmp 0x6401d
movq 0x20(%rsp), %rax
cmpl $0x1, 0xc(%rax)
ja 0x64060
movq 0x5d7f71(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4b1fda(%rip), %rsi    # 0x516013
leaq 0x4c558f(%rip), %rdx    # 0x5295cf
leaq 0x4c5526(%rip), %rcx    # 0x52956d
leaq 0x4c4ea5(%rip), %r8     # 0x528ef3
movl $0x129, %r9d            # imm = 0x129
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x64062
movq 0x20(%rsp), %rax
movl 0xc(%rax), %ecx
subl $0x1, %ecx
movl $0x20, %eax
cmpl %ecx, %eax
jae 0x64081
movl $0x20, %eax
movl %eax, 0x8(%rsp)
jmp 0x64090
movq 0x20(%rsp), %rax
movl 0xc(%rax), %eax
subl $0x1, %eax
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %ecx
movq 0x18(%rsp), %rax
movl %ecx, (%rax)
movq 0x18(%rsp), %rax
movl (%rax), %esi
leaq 0x4c554a(%rip), %rdi    # 0x5295f3
movb $0x0, %al
callq 0xe7740
movq 0x18(%rsp), %rax
cmpl $0x0, (%rax)
ja 0x640f2
movq 0x5d7edf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4b1f48(%rip), %rsi    # 0x516013
leaq 0x4b7b83(%rip), %rdx    # 0x51bc55
leaq 0x4c5494(%rip), %rcx    # 0x52956d
leaq 0x4c4e13(%rip), %r8     # 0x528ef3
movl $0x12e, %r9d            # imm = 0x12E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x640f4
movb 0xf(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nop