// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/match/bcktab.c
// Function: gt_bcktab_updatespecials
void gt_bcktab_updatespecials(GtBcktab *bcktab,
                              GtCodetype code,
                              unsigned int prefixindex)
{
  GtCodetype specialcode;

  gt_assert(prefixindex > 0);
  gt_assert(prefixindex <= bcktab->prefixlength);
  gt_assert(code < bcktab->numofallcodes);
  if (prefixindex < bcktab->prefixlength-1)
  {
    GtCodetype ordercode = (code - bcktab->filltable[prefixindex])/
                           (bcktab->filltable[prefixindex]+1);
    gt_bcktab_distpfxidx_increment(bcktab,prefixindex-1,ordercode);
  }
  gt_assert(code >= (GtCodetype) (bcktab->numofchars-1));
  specialcode = GT_FROMCODE2SPECIALCODE(code,bcktab->numofchars);
  if (bcktab->ulongcountspecialcodes != NULL)
  {
    bcktab->ulongcountspecialcodes[specialcode]++;
  } else
  {
    gt_assert(bcktab->uintcountspecialcodes != NULL);
    bcktab->uintcountspecialcodes[specialcode]++;
  }
}

// Assembly:
pushq %rax
testl %edx, %edx
je 0x1351d2
movl %edx, %ecx
movl 0x48(%rdi), %eax
cmpl %edx, %eax
jb 0x135203
cmpq %rsi, 0x58(%rdi)
jbe 0x135234
decl %eax
cmpl %ecx, %eax
jbe 0x13518c
movq 0x28(%rdi), %r8
movq 0x78(%rdi), %rax
movl %ecx, %edx
movq (%rax,%rdx,8), %r9
movq %rsi, %rax
subq %r9, %rax
incq %r9
xorl %edx, %edx
divq %r9
decl %ecx
testq %r8, %r8
je 0x135176
movl %ecx, %ecx
movq (%r8,%rcx,8), %rcx
incq (%rcx,%rax,8)
jmp 0x13518c
movq 0x18(%rdi), %rdx
testq %rdx, %rdx
je 0x1352c1
movl %ecx, %ecx
movq (%rdx,%rcx,8), %rcx
incl (%rcx,%rax,4)
movl 0x4c(%rdi), %ecx
leal -0x1(%rcx), %edx
movq %rsi, %rax
subq %rdx, %rax
jb 0x135265
cmpl $0x4, %ecx
jne 0x1351a9
shrq $0x2, %rsi
jmp 0x1351b1
xorl %edx, %edx
divq %rcx
movq %rax, %rsi
movq 0x20(%rdi), %rax
testq %rax, %rax
je 0x1351c0
incq (%rax,%rsi,8)
jmp 0x1351d0
movq 0x10(%rdi), %rax
testq %rax, %rax
je 0x135293
incl (%rax,%rsi,4)
popq %rax
retq
movq 0x302d8f(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1afe30(%rip), %rsi    # 0x2e5013
leaq 0x20966a(%rip), %rdx    # 0x33e854
leaq 0x209673(%rip), %rcx    # 0x33e864
leaq 0x20948e(%rip), %r8     # 0x33e686
movl $0x372, %r9d            # imm = 0x372
jmp 0x1352ed
movq 0x302d5e(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1afdff(%rip), %rsi    # 0x2e5013
leaq 0x209662(%rip), %rdx    # 0x33e87d
leaq 0x209642(%rip), %rcx    # 0x33e864
leaq 0x20945d(%rip), %r8     # 0x33e686
movl $0x373, %r9d            # imm = 0x373
jmp 0x1352ed
movq 0x302d2d(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1afdce(%rip), %rsi    # 0x2e5013
leaq 0x209655(%rip), %rdx    # 0x33e8a1
leaq 0x209611(%rip), %rcx    # 0x33e864
leaq 0x20942c(%rip), %r8     # 0x33e686
movl $0x374, %r9d            # imm = 0x374
jmp 0x1352ed
movq 0x302cfc(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1afd9d(%rip), %rsi    # 0x2e5013
leaq 0x209641(%rip), %rdx    # 0x33e8be
leaq 0x2095e0(%rip), %rcx    # 0x33e864
leaq 0x2093fb(%rip), %r8     # 0x33e686
movl $0x37b, %r9d            # imm = 0x37B
jmp 0x1352ed
movq 0x302cce(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1afd6f(%rip), %rsi    # 0x2e5013
leaq 0x20963f(%rip), %rdx    # 0x33e8ea
leaq 0x2095b2(%rip), %rcx    # 0x33e864
leaq 0x2093cd(%rip), %r8     # 0x33e686
movl $0x382, %r9d            # imm = 0x382
jmp 0x1352ed
movq 0x302ca0(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1afd41(%rip), %rsi    # 0x2e5013
leaq 0x209936(%rip), %rdx    # 0x33ec0f
leaq 0x209967(%rip), %rcx    # 0x33ec47
leaq 0x20939f(%rip), %r8     # 0x33e686
movl $0x82, %r9d
xorl %eax, %eax
callq 0x17a50
callq 0x17390