// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/extended/compressed_bitsequence.c
// Function: gt_compressed_bitsequence_new
GtCompressedBitsequence *
gt_compressed_bitsequence_new(GtBitsequence *bitseq,
                              unsigned int samplerate,
                              GtUword num_of_bits)
{
  GtCompressedBitsequence *cbs;

  gt_assert(samplerate != 0);

  cbs = gt_compressed_bitsequence_new_empty();
  gt_compressed_bitsequence_init(cbs, samplerate, num_of_bits);

  gt_compressed_bitsequence_init_c_tab(cbs);
  gt_compressed_bitsequence_fill_c_tab_init_o_tab(cbs, bitseq);
  gt_compressed_bitsequence_init_s_tabs(cbs);
  gt_compressed_bitsequence_fill_tabs(cbs, bitseq);
  cbs->from_file = false;
  gt_log_log("new cbs:\n"
             "blzise: %u\n"
             "offsize: " GT_WU "\n"
             "cbits: %u\n"
             "csize: " GT_WU "\n"
             "lastblen: %u\n",
             cbs->blocksize,
             cbs->c_offsets_size,
             cbs->class_bits,
             cbs->classes_size,
             cbs->last_block_len);
  return cbs;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
testl %esi, %esi
je 0x129cd6
movq %rdx, %r13
movl %esi, %ebp
leaq 0x24f1b7(%rip), %r12    # 0x378536
movl $0x1, %r14d
movl $0x1, %edi
movl $0xf8, %esi
movq %r12, %rdx
movl $0x192, %ecx            # imm = 0x192
callq 0x10436a
movq %rax, %rbx
movl $0xf, 0xd8(%rax)
movq $0x0, 0x98(%rax)
movl %ebp, 0xec(%rax)
movl $0xf, %edi
callq 0x163ff0
movq %rax, 0x68(%rbx)
movq %r13, 0xb0(%rbx)
movl 0xd8(%rbx), %edi
movq %r13, %rax
xorl %edx, %edx
divq %rdi
xorl %r15d, %r15d
testq %rdx, %rdx
cmovel %edi, %edx
movl %edx, 0xe0(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x98(%rbx)
setne %cl
cmpq %r13, %rdi
seta %dl
orb %cl, %dl
movzbl %dl, %ecx
addq %rax, %rcx
movq %rcx, 0xb8(%rbx)
callq 0x105e91
movl %eax, 0xdc(%rbx)
movl %eax, %eax
imulq 0xb8(%rbx), %rax
leaq -0x1(%rax), %r13
shrq $0x6, %r13
incq %r13
cmpq $0x40, %rax
cmovbq %r14, %r13
movq %r13, 0xa8(%rbx)
shlq $0x3, %r13
xorl %edi, %edi
movq %r13, %rsi
movq %r12, %rdx
movl $0x169, %ecx            # imm = 0x169
callq 0x104461
movq %rax, 0x78(%rbx)
movq %rax, %rdi
xorl %esi, %esi
movq %r13, %rdx
callq 0x173a0
movq 0xb8(%rbx), %rax
movl $0x0, %r12d
movl $0x1, %r13d
testq %rax, %rax
je 0x1295ff
movl 0xd8(%rbx), %r14d
xorl %ebp, %ebp
xorl %r15d, %r15d
xorl %r12d, %r12d
decq %rax
cmpq %rax, %rbp
jne 0x12949e
movl 0xe0(%rbx), %r14d
cmpl $0x41, %r14d
movq 0x20(%rsp), %rsi
jae 0x129cae
testl %r14d, %r14d
je 0x1294ed
movl 0xd8(%rbx), %ecx
imulq %rbp, %rcx
movq %rcx, %rax
shrq $0x6, %rax
movq (%rsi,%rax,8), %r13
shlq %cl, %r13
andl $0x3f, %ecx
leal (%rcx,%r14), %edx
cmpl $0x41, %edx
jb 0x1294e3
movq 0x8(%rsi,%rax,8), %rax
negb %cl
shrq %cl, %rax
orq %rax, %r13
movl %r14d, %ecx
negb %cl
shrq %cl, %r13
jmp 0x1294f0
xorl %r13d, %r13d
movq 0x68(%rbx), %rdi
movq %r13, %rsi
callq 0x164332
movq 0x78(%rbx), %r9
movq 0xa8(%rbx), %r11
movl 0xdc(%rbx), %r8d
movq %r8, %r10
imulq %rbp, %r10
movl %eax, %esi
movl %r10d, %edi
andl $0x3f, %edi
shrq $0x6, %r10
movl %edi, %ecx
negl %ecx
movq $-0x1, %rdx
shlq %cl, %rdx
movl $0x40, %ecx
subl %edi, %ecx
testl %edi, %edi
movl $0x0, %eax
cmovneq %rdx, %rax
movl %ecx, %edx
subl %r8d, %edx
jae 0x129585
leaq 0x1(%r10), %rdx
cmpq %r11, %rdx
jae 0x129cc2
subl %ecx, %r8d
andq (%r9,%r10,8), %rax
movq %rsi, %rdi
movl %r8d, %ecx
shrq %cl, %rdi
orq %rax, %rdi
movq %rdi, (%r9,%r10,8)
movq 0x8(%r9,%r10,8), %rax
shlq %cl, %rax
shrq %cl, %rax
leaq (%r9,%rdx,8), %rdi
movl $0x40, %edx
subl %r8d, %edx
jmp 0x1295b3
cmpq %r11, %r10
jae 0x129cc7
addl %r8d, %edi
movq $-0x1, %r8
movl %edi, %ecx
shrq %cl, %r8
cmpl $0x40, %edi
movl $0x0, %ecx
cmovneq %r8, %rcx
orq %rcx, %rax
leaq (%r9,%r10,8), %rdi
andq (%rdi), %rax
movq %rsi, %r8
movl %edx, %ecx
shlq %cl, %r8
orq %rax, %r8
movq %r8, (%rdi)
movq 0x68(%rbx), %rdi
callq 0x1643ab
movl %eax, %eax
addq %rax, %r12
addq %r13, %r15
incq %rbp
movq 0xb8(%rbx), %rax
cmpq %rax, %rbp
jb 0x12948f
leaq -0x1(%r12), %rax
shrq $0x6, %rax
incq %rax
cmpq $0x40, %r12
movl $0x1, %r13d
cmovaeq %rax, %r13
movq %r13, 0xa0(%rbx)
movq %r12, %rdi
callq 0x105e91
movl %eax, 0xe4(%rbx)
movq %r15, %rdi
callq 0x105e91
movl %eax, 0xe8(%rbx)
shlq $0x3, %r13
leaq 0x24ef09(%rip), %r15    # 0x378536
xorl %edi, %edi
movq %r13, %rsi
movq %r15, %rdx
movl $0x18b, %ecx            # imm = 0x18B
callq 0x104461
movq %rax, 0x70(%rbx)
movq %rax, %rdi
xorl %esi, %esi
movq %r13, %rdx
callq 0x173a0
movq 0xb8(%rbx), %rax
movl 0xec(%rbx), %ecx
xorl %edx, %edx
divq %rcx
movl $0x1, %edi
cmpq %rdi, %rdx
sbbq $-0x1, %rax
movq %rax, 0xc0(%rbx)
movl 0xe4(%rbx), %ecx
imulq %rax, %rcx
leaq -0x1(%rcx), %r12
movq %r12, %rdx
shrq $0x6, %rdx
incq %rdx
movl 0xe8(%rbx), %esi
imulq %rax, %rsi
leaq -0x1(%rsi), %rax
shrq $0x6, %rax
incq %rax
cmpq $0x40, %rsi
cmovbq %rdi, %rax
shrq $0x3, %r12
andq $-0x8, %r12
movl $0x8, %r14d
addq %r14, %r12
cmpq $0x40, %rcx
cmovbq %rdi, %rdx
movq %rdx, 0xc8(%rbx)
movq %rax, 0xd0(%rbx)
cmovbq %r14, %r12
xorl %edi, %edi
movq %r12, %rsi
movq %r15, %rdx
movl $0x156, %ecx            # imm = 0x156
callq 0x104461
movq %rax, 0x80(%rbx)
movq %rax, %rdi
xorl %esi, %esi
movq %r12, %rdx
callq 0x173a0
movl 0xe8(%rbx), %eax
imulq 0xc0(%rbx), %rax
leaq -0x1(%rax), %rcx
shrq $0x6, %rcx
cmpq $0x40, %rax
leaq 0x8(,%rcx,8), %r12
cmovbq %r14, %r12
xorl %edi, %edi
movq %r12, %rsi
movq %r15, %rdx
movl $0x158, %ecx            # imm = 0x158
callq 0x104461
movq %rax, 0x88(%rbx)
movq %rax, %rdi
xorl %esi, %esi
movq %r12, %rdx
callq 0x173a0
movq 0xb8(%rbx), %rax
testq %rax, %rax
je 0x129c66
movl 0xd8(%rbx), %ecx
movq %rcx, 0x10(%rsp)
xorl %r11d, %r11d
xorl %r13d, %r13d
movq $0x0, 0x8(%rsp)
xorl %r14d, %r14d
movl $0x1, %r12d
decq %rax
cmpq %rax, %r14
jne 0x12978d
movl 0xe0(%rbx), %eax
movq %rax, 0x10(%rsp)
movq 0x78(%rbx), %rdx
testq %rdx, %rdx
je 0x129cbd
movl 0xdc(%rbx), %eax
cmpq $0x41, %rax
jae 0x129cb8
testq %rax, %rax
movq %r11, 0x18(%rsp)
je 0x1297ea
movq %r14, %rcx
imulq %rax, %rcx
movq %rcx, %rsi
shrq $0x6, %rsi
movq (%rdx,%rsi,8), %r15
shlq %cl, %r15
andl $0x3f, %ecx
leal (%rcx,%rax), %edi
cmpl $0x41, %edi
jb 0x1297e1
movq 0x8(%rdx,%rsi,8), %rdx
negb %cl
shrq %cl, %rdx
orq %rdx, %r15
negb %al
movl %eax, %ecx
shrq %cl, %r15
jmp 0x1297ed
xorl %r15d, %r15d
movq 0x68(%rbx), %rdi
movl %r15d, %esi
callq 0x1643ab
movq 0x10(%rsp), %r8
cmpl $0x41, %r8d
jae 0x129cb3
movl %eax, %ebp
testl %r8d, %r8d
movq 0x20(%rsp), %rdi
je 0x12984f
movl 0xd8(%rbx), %ecx
imulq %r14, %rcx
movq %rcx, %rax
shrq $0x6, %rax
movq (%rdi,%rax,8), %rsi
shlq %cl, %rsi
andl $0x3f, %ecx
leal (%rcx,%r8), %edx
cmpl $0x41, %edx
jb 0x129845
movq 0x8(%rdi,%rax,8), %rax
negb %cl
shrq %cl, %rax
orq %rax, %rsi
movl %r8d, %ecx
negb %cl
shrq %cl, %rsi
jmp 0x129851
xorl %esi, %esi
movq 0x68(%rbx), %rdi
callq 0x164591
movq 0x70(%rbx), %rdi
movq 0xa0(%rbx), %r10
movl %r13d, %esi
andl $0x3f, %esi
movq %r13, %r8
shrq $0x6, %r8
movl %esi, %ecx
negl %ecx
movq $-0x1, %rdx
shlq %cl, %rdx
movl $0x40, %r11d
subl %esi, %r11d
testl %esi, %esi
movl $0x0, %r9d
cmovneq %rdx, %r9
movl %r11d, %edx
subl %ebp, %edx
jae 0x1298d7
leaq 0x1(%r8), %rdx
cmpq %r10, %rdx
jae 0x129cd1
movl %ebp, %ecx
subl %r11d, %ecx
andq (%rdi,%r8,8), %r9
movq %rax, %rsi
shrq %cl, %rsi
orq %r9, %rsi
movq %rsi, (%rdi,%r8,8)
movq 0x8(%rdi,%r8,8), %rsi
shlq %cl, %rsi
shrq %cl, %rsi
leaq (%rdi,%rdx,8), %rdi
movl $0x40, %edx
subl %ecx, %edx
jmp 0x129904
cmpq %r10, %r8
jae 0x129ccc
addl %ebp, %esi
movq $-0x1, %r10
movl %esi, %ecx
shrq %cl, %r10
cmpl $0x40, %esi
movl $0x0, %esi
cmovneq %r10, %rsi
orq %r9, %rsi
leaq (%rdi,%r8,8), %rdi
andq (%rdi), %rsi
movq 0x18(%rsp), %r11
movl %edx, %ecx
shlq %cl, %rax
orq %rsi, %rax
movq %rax, (%rdi)
movl %r15d, %eax
addq %rax, %r11
movl %ebp, %eax
addq %rax, %r13
cmpl 0xec(%rbx), %r12d
je 0x129943
incq %r14
movq 0xb8(%rbx), %rax
incl %r12d
cmpq %rax, %r14
jb 0x12977a
jmp 0x129aea
movq 0x80(%rbx), %rdi
movq 0xc8(%rbx), %r10
movl 0xe4(%rbx), %eax
movq %rax, %r9
movq 0x8(%rsp), %r15
imulq %r15, %r9
movl %r9d, %esi
andl $0x3f, %esi
shrq $0x6, %r9
movl %esi, %ecx
negl %ecx
movq $-0x1, %rdx
shlq %cl, %rdx
movl $0x40, %ecx
subl %esi, %ecx
testl %esi, %esi
movl $0x0, %r8d
cmovneq %rdx, %r8
movl %ecx, %edx
subl %eax, %edx
jae 0x1299ce
leaq 0x1(%r9), %rdx
cmpq %r10, %rdx
jae 0x129ce0
subl %ecx, %eax
andq (%rdi,%r9,8), %r8
movq %r13, %rsi
movl %eax, %ecx
shrq %cl, %rsi
orq %r8, %rsi
movq %rsi, (%rdi,%r9,8)
movq 0x8(%rdi,%r9,8), %r8
shlq %cl, %r8
shrq %cl, %r8
leaq (%rdi,%rdx,8), %rsi
movl $0x40, %edx
subl %eax, %edx
jmp 0x1299fb
cmpq %r10, %r9
jae 0x129cea
addl %eax, %esi
movq $-0x1, %rax
movl %esi, %ecx
shrq %cl, %rax
cmpl $0x40, %esi
movl $0x0, %ecx
cmovneq %rax, %rcx
orq %rcx, %r8
leaq (%rdi,%r9,8), %rsi
andq (%rsi), %r8
movq %r13, %rax
movl %edx, %ecx
shlq %cl, %rax
orq %r8, %rax
movq %rax, (%rsi)
movq 0x88(%rbx), %rdi
movq 0xd0(%rbx), %r10
movl 0xe8(%rbx), %eax
movq %rax, %r9
imulq %r15, %r9
movl %r9d, %esi
andl $0x3f, %esi
shrq $0x6, %r9
movl %esi, %ecx
negl %ecx
movq $-0x1, %rdx
shlq %cl, %rdx
movl $0x40, %ecx
subl %esi, %ecx
testl %esi, %esi
movl $0x0, %r8d
cmovneq %rdx, %r8
movl %ecx, %edx
subl %eax, %edx
jae 0x129a8f
leaq 0x1(%r9), %rdx
cmpq %r10, %rdx
jae 0x129cdb
subl %ecx, %eax
andq (%rdi,%r9,8), %r8
movq %r11, %rsi
movl %eax, %ecx
shrq %cl, %rsi
orq %r8, %rsi
movq %rsi, (%rdi,%r9,8)
movq 0x8(%rdi,%r9,8), %r8
shlq %cl, %r8
shrq %cl, %r8
leaq (%rdi,%rdx,8), %rsi
movl $0x40, %edx
subl %eax, %edx
jmp 0x129abc
cmpq %r10, %r9
jae 0x129ce5
addl %eax, %esi
movq $-0x1, %rax
movl %esi, %ecx
shrq %cl, %rax
cmpl $0x40, %esi
movl $0x0, %ecx
cmovneq %rax, %rcx
orq %rcx, %r8
leaq (%rdi,%r9,8), %rsi
andq (%rsi), %r8
movq %r11, %rax
movl %edx, %ecx
shlq %cl, %rax
orq %r8, %rax
movq %rax, (%rsi)
incq %r15
movq %r15, 0x8(%rsp)
incq %r14
movq 0xb8(%rbx), %rax
cmpq %rax, %r14
jb 0x129774
jmp 0x129c66
cmpl $0x1, %r12d
je 0x129c66
movq 0x80(%rbx), %rdi
movq 0xc8(%rbx), %r10
movl 0xe4(%rbx), %eax
movq %rax, %r9
movq 0x8(%rsp), %r14
imulq %r14, %r9
movl %r9d, %esi
andl $0x3f, %esi
shrq $0x6, %r9
movl %esi, %ecx
negl %ecx
movq $-0x1, %rdx
shlq %cl, %rdx
movl $0x40, %ecx
subl %esi, %ecx
xorl %r8d, %r8d
testl %esi, %esi
cmovneq %rdx, %r8
movl %ecx, %edx
subl %eax, %edx
jae 0x129b7c
leaq 0x1(%r9), %rdx
cmpq %r10, %rdx
jae 0x129cef
subl %ecx, %eax
andq (%rdi,%r9,8), %r8
movq %r13, %rsi
movl %eax, %ecx
shrq %cl, %rsi
orq %r8, %rsi
movq %rsi, (%rdi,%r9,8)
movq 0x8(%rdi,%r9,8), %r8
shlq %cl, %r8
shrq %cl, %r8
leaq (%rdi,%rdx,8), %rsi
movl $0x40, %edx
subl %eax, %edx
jmp 0x129ba6
cmpq %r10, %r9
jae 0x129cf4
addl %eax, %esi
movq $-0x1, %rax
movl %esi, %ecx
shrq %cl, %rax
xorl %ecx, %ecx
cmpl $0x40, %esi
cmovneq %rax, %rcx
orq %rcx, %r8
leaq (%rdi,%r9,8), %rsi
andq (%rsi), %r8
movl %edx, %ecx
shlq %cl, %r13
orq %r8, %r13
movq %r13, (%rsi)
movq 0x88(%rbx), %rdi
movq 0xd0(%rbx), %r9
movl 0xe8(%rbx), %eax
imulq %rax, %r14
movl %r14d, %esi
andl $0x3f, %esi
shrq $0x6, %r14
movl %esi, %ecx
negl %ecx
movq $-0x1, %rdx
shlq %cl, %rdx
movl $0x40, %ecx
subl %esi, %ecx
xorl %r8d, %r8d
testl %esi, %esi
cmovneq %rdx, %r8
movl %ecx, %edx
subl %eax, %edx
jae 0x129c31
leaq 0x1(%r14), %rdx
cmpq %r9, %rdx
jae 0x129cf9
subl %ecx, %eax
andq (%rdi,%r14,8), %r8
movq %r11, %rsi
movl %eax, %ecx
shrq %cl, %rsi
orq %r8, %rsi
movq %rsi, (%rdi,%r14,8)
movq 0x8(%rdi,%r14,8), %r8
shlq %cl, %r8
shrq %cl, %r8
leaq (%rdi,%rdx,8), %rsi
movl $0x40, %edx
subl %eax, %edx
jmp 0x129c5b
cmpq %r9, %r14
jae 0x129cfe
addl %eax, %esi
movq $-0x1, %rax
movl %esi, %ecx
shrq %cl, %rax
xorl %ecx, %ecx
cmpl $0x40, %esi
cmovneq %rax, %rcx
orq %rcx, %r8
leaq (%rdi,%r14,8), %rsi
andq (%rsi), %r8
movl %edx, %ecx
shlq %cl, %r11
orq %r8, %r11
movq %r11, (%rsi)
movb $0x0, 0xf0(%rbx)
movl 0xd8(%rbx), %esi
movl 0xdc(%rbx), %ecx
movq 0xa0(%rbx), %rdx
movq 0xa8(%rbx), %r8
movl 0xe0(%rbx), %r9d
leaq 0x24e8c7(%rip), %rdi    # 0x37855c
xorl %eax, %eax
callq 0x103d72
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x3c1a4
callq 0x3c288
callq 0x3c24f
callq 0x3c4fb
callq 0x3c216
callq 0x3c1dd
callq 0x3c2c1
callq 0x3c2fa
callq 0x3c534
callq 0x3c4c2
callq 0x3c450
callq 0x3c489
callq 0x3c417
callq 0x3c36c
callq 0x3c333
callq 0x3c3de
callq 0x3c3a5