// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/randomcodes-tab.h
// Function: gt_randomcodes_countocc_increment
GT_UNUSED
static inline void gt_randomcodes_countocc_increment(GtRandomcodestab *rct,
                                                    GtUword idx)
{
  rct->all_incrementcount++;
  if (rct->countocc_small[idx] != GT_RANDOMCODES_COUNTOCC_OVERFLOW)
  {
    if (rct->countocc_small[idx] < GT_RANDOMCODES_MAXSMALL)
    {
      rct->countocc_small[idx]++;
    } else
    {
      gt_assert (rct->countocc_small[idx] == GT_RANDOMCODES_MAXSMALL);
      rct->countocc_small[idx] = GT_RANDOMCODES_COUNTOCC_OVERFLOW;
      rct->lastincremented_valueptr
        = ul_u32_gt_hashmap_add_and_return_storage(rct->countocc_exceptions,
            idx, (uint32_t) 1);
      rct->lastincremented_idx = idx;
      rct->hashmap_addcount++;
    }
  } else
  {
    /* there is already an overflow for this index */
    if (rct->lastincremented_valueptr != NULL &&
        rct->lastincremented_idx == idx)
    {
      /* last index is identical to current index. */
      gt_assert(*rct->lastincremented_valueptr < UINT32_MAX);
      (*rct->lastincremented_valueptr)++;
    } else
    {
      uint32_t *valueptr
        = ul_u32_gt_hashmap_get(rct->countocc_exceptions,idx);

      rct->hashmap_getcount++;
      gt_assert(valueptr != NULL && *valueptr < UINT32_MAX);
      (*valueptr)++;
      rct->lastincremented_idx = idx;
      rct->lastincremented_valueptr = valueptr;
    }
    rct->hashmap_incrementcount++;
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq 0x30(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x30(%rax)
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xff, %eax
je 0x273320
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xfe, %eax
jge 0x273271
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rsp), %rcx
movb (%rax,%rcx), %dl
addb $0x1, %dl
movb %dl, (%rax,%rcx)
jmp 0x27331b
jmp 0x273273
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xfe, %eax
je 0x2732c4
movq 0x3c8d0d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2a2d76(%rip), %rsi    # 0x516013
leaq 0x30be29(%rip), %rdx    # 0x57f0cd
leaq 0x30be56(%rip), %rcx    # 0x57f101
leaq 0x30be71(%rip), %r8     # 0x57f123
movl $0x45, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2732c6
movq 0x10(%rsp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rsp), %rcx
movb $-0x1, (%rax,%rcx)
movq 0x10(%rsp), %rax
movq 0x50(%rax), %rdi
movq 0x8(%rsp), %rsi
movl $0x1, %edx
callq 0x273450
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x70(%rax)
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x68(%rax)
movq 0x10(%rsp), %rax
movq 0x18(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x18(%rax)
jmp 0x273444
movq 0x10(%rsp), %rax
cmpq $0x0, 0x70(%rax)
je 0x27339b
movq 0x10(%rsp), %rax
movq 0x68(%rax), %rax
cmpq 0x8(%rsp), %rax
jne 0x27339b
jmp 0x27333e
movq 0x10(%rsp), %rax
movq 0x70(%rax), %rax
cmpl $-0x1, (%rax)
jb 0x273384
movq 0x3c8c4d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2a2cb6(%rip), %rsi    # 0x516013
leaq 0x30be1b(%rip), %rdx    # 0x57f17f
leaq 0x30bd96(%rip), %rcx    # 0x57f101
leaq 0x30bdb1(%rip), %r8     # 0x57f123
movl $0x54, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x273386
movq 0x10(%rsp), %rax
movq 0x70(%rax), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x273433
movq 0x10(%rsp), %rax
movq 0x50(%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x2734b0
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq 0x28(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x28(%rax)
cmpq $0x0, (%rsp)
je 0x2733d3
movq (%rsp), %rax
cmpl $-0x1, (%rax)
jb 0x27340b
movq 0x3c8bc6(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2a2c2f(%rip), %rsi    # 0x516013
leaq 0x30bdc0(%rip), %rdx    # 0x57f1ab
leaq 0x30bd0f(%rip), %rcx    # 0x57f101
leaq 0x30bd2a(%rip), %r8     # 0x57f123
movl $0x5c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x27340d
movq (%rsp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x68(%rax)
movq (%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x70(%rax)
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x20(%rax)
addq $0x18, %rsp
retq
nopl (%rax)