// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/match/randomcodes.c
// Function: gt_randomcodes_accumulatecounts_flush
static void gt_randomcodes_accumulatecounts_flush(void *data)
{
  GtRandomcodesinfo *fci = (GtRandomcodesinfo *) data;

  if (fci->buf.nextfree > 0)
  {
    GtUword foundindex;

    gt_assert(fci->allrandomcodes != NULL);
    fci->codebuffer_total += fci->buf.nextfree;
    gt_radixsort_inplace_sort(fci->radixsort_code, fci->buf.nextfree);
    foundindex = gt_randomcodes_find_accu(fci, fci->buf.spaceGtUword[0]);
    gt_assert(foundindex != ULONG_MAX);
    fci->total_count += gt_randomcodes_accumulatecounts_merge(fci,
        fci->buf.spaceGtUword, fci->allrandomcodes + foundindex);
    gt_assert(fci->total_count == fci->codebuffer_total);
    fci->flushcount++;
    fci->buf.nextfree = 0;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq 0xc0(%rdi), %rsi
testq %rsi, %rsi
je 0x171813
movq %rdi, %rbx
cmpq $0x0, 0xa0(%rdi)
je 0x171882
addq %rsi, 0x20(%rbx)
movq 0x78(%rbx), %rdi
callq 0xa0ea4
movq 0xf0(%rbx), %rax
movq (%rax), %rsi
movq %rbx, %rdi
callq 0x16c830
cmpq $-0x1, %rax
je 0x1718b0
movq 0xf0(%rbx), %r13
movq 0x38(%rbx), %rcx
movq 0xa0(%rbx), %rdx
leaq (%rdx,%rax,8), %r14
movq 0xc0(%rbx), %rax
leaq -0x8(,%rax,8), %r15
addq %r13, %r15
leaq (%rdx,%rcx,8), %rax
addq $-0x8, %rax
movq %rax, 0x18(%rsp)
xorl %r12d, %r12d
negq %r12
cmpq %r15, %r13
ja 0x1717ef
cmpq 0x18(%rsp), %r14
ja 0x1717ef
movq (%r13), %rax
cmpq (%r14), %rax
ja 0x1717e3
movq %r14, %rbp
subq 0xa0(%rbx), %rbp
incq 0x140(%rbx)
sarq $0x3, %rbp
movq 0x158(%rbx), %rax
movzbl (%rax,%rbp), %ecx
cmpl $0xfe, %ecx
je 0x171738
cmpl $0xff, %ecx
jne 0x17178a
movq 0x180(%rbx), %rax
testq %rax, %rax
je 0x171791
cmpq %rbp, 0x178(%rbx)
jne 0x171791
movl (%rax), %ecx
cmpl $-0x1, %ecx
je 0x171858
incl %ecx
movl %ecx, (%rax)
jmp 0x1717d0
movb $-0x1, (%rax,%rbp)
movq 0x160(%rbx), %rdi
movq %rbp, 0x8(%rsp)
movl $0x1, 0x10(%rsp)
leaq 0x8(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0x8ff07
movq 0x20(%rsp), %rcx
testl %eax, %eax
jne 0x17176f
movl $0x1, 0x8(%rcx)
addq $0x8, %rcx
movq %rcx, 0x180(%rbx)
movq %rbp, 0x178(%rbx)
incq 0x128(%rbx)
jmp 0x1717d7
incb %cl
movb %cl, (%rax,%rbp)
jmp 0x1717d7
movq 0x160(%rbx), %rdi
movq %rbp, 0x8(%rsp)
leaq 0x8(%rsp), %rsi
callq 0x8fb4d
incq 0x138(%rbx)
testq %rax, %rax
je 0x171822
addq $0x8, %rax
movl (%rax), %ecx
cmpl $-0x1, %ecx
je 0x171822
incl %ecx
movl %ecx, (%rax)
movq %rbp, 0x178(%rbx)
movq %rax, 0x180(%rbx)
incq 0x130(%rbx)
addq $0x8, %r13
decq %r12
jmp 0x1716be
addq $0x8, %r14
negq %r12
jmp 0x1716bb
movq (%rbx), %rax
movq %rax, %rcx
subq %r12, %rcx
movq %rcx, (%rbx)
subq 0x20(%rbx), %rax
cmpq %r12, %rax
jne 0x1718e1
incl 0x70(%rbx)
andq $0x0, 0xc0(%rbx)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x2c673f(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1737e0(%rip), %rsi    # 0x2e5013
leaq 0x1db204(%rip), %rdx    # 0x34ca3e
leaq 0x1db153(%rip), %rcx    # 0x34c994
leaq 0x1db16e(%rip), %r8     # 0x34c9b6
pushq $0x5c
popq %r9
xorl %eax, %eax
callq 0x17a50
callq 0x17390
movq 0x2c6709(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1737aa(%rip), %rsi    # 0x2e5013
leaq 0x1db1a2(%rip), %rdx    # 0x34ca12
leaq 0x1db11d(%rip), %rcx    # 0x34c994
leaq 0x1db138(%rip), %r8     # 0x34c9b6
pushq $0x54
jmp 0x17184a
movq 0x2c66df(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x173780(%rip), %rsi    # 0x2e5013
leaq 0x1dadb9(%rip), %rdx    # 0x34c653
leaq 0x1db0b5(%rip), %rcx    # 0x34c956
leaq 0x1dab45(%rip), %r8     # 0x34c3ed
movl $0x14d, %r9d            # imm = 0x14D
jmp 0x17184c
movq 0x2c66b1(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x173752(%rip), %rsi    # 0x2e5013
leaq 0x1db0b4(%rip), %rdx    # 0x34c97c
leaq 0x1db087(%rip), %rcx    # 0x34c956
leaq 0x1dab17(%rip), %r8     # 0x34c3ed
movl $0x151, %r9d            # imm = 0x151
jmp 0x17184c
movq 0x2c6680(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x173721(%rip), %rsi    # 0x2e5013
leaq 0x1dafee(%rip), %rdx    # 0x34c8e7
leaq 0x1db056(%rip), %rcx    # 0x34c956
leaq 0x1daae6(%rip), %r8     # 0x34c3ed
movl $0x154, %r9d            # imm = 0x154
jmp 0x17184c