// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/extended/compressed_bitsequence.c
// Function: gt_compressed_bitsequence_header_setup_mapspec
static void gt_compressed_bitsequence_header_setup_mapspec(GtMapspec *mapspec,
                                                           void *data,
                                                           bool write)
{
  GtCompressedBitsequence *cbs = data;

  if (write) {
    cbs->header.c_offsets_size         = &(cbs->c_offsets_size);
    cbs->header.classes_size           = &(cbs->classes_size);
    cbs->header.num_of_bits            = &(cbs->num_of_bits);
    cbs->header.num_of_blocks          = &(cbs->num_of_blocks);
    cbs->header.num_of_superblocks     = &(cbs->num_of_superblocks);
    cbs->header.superblockoffsets_size = &(cbs->superblockoffsets_size);
    cbs->header.superblockranks_size   = &(cbs->superblockranks_size);

    cbs->header.blocksize              = &(cbs->blocksize);
    cbs->header.class_bits             = &(cbs->class_bits);
    cbs->header.last_block_len         = &(cbs->last_block_len);
    cbs->header.superblockoffsets_bits = &(cbs->superblockoffsets_bits);
    cbs->header.superblockranks_bits   = &(cbs->superblockranks_bits);
    cbs->header.superblocksize         = &(cbs->superblocksize);
  }
  gt_mapspec_add_ulong(mapspec, cbs->header.c_offsets_size, 1UL);
  gt_mapspec_add_ulong(mapspec, cbs->header.classes_size, 1UL);
  gt_mapspec_add_ulong(mapspec, cbs->header.num_of_bits, 1UL);
  gt_mapspec_add_ulong(mapspec, cbs->header.num_of_blocks, 1UL);
  gt_mapspec_add_ulong(mapspec, cbs->header.num_of_superblocks, 1UL);
  gt_mapspec_add_ulong(mapspec, cbs->header.superblockoffsets_size, 1UL);
  gt_mapspec_add_ulong(mapspec, cbs->header.superblockranks_size, 1UL);

  gt_mapspec_add_uint(mapspec, cbs->header.blocksize, 1UL);
  gt_mapspec_add_uint(mapspec, cbs->header.class_bits, 1UL);
  gt_mapspec_add_uint(mapspec, cbs->header.last_block_len, 1UL);
  gt_mapspec_add_uint(mapspec, cbs->header.superblockoffsets_bits, 1UL);
  gt_mapspec_add_uint(mapspec, cbs->header.superblockranks_bits, 1UL);
  gt_mapspec_add_uint(mapspec, cbs->header.superblocksize, 1UL);
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
testl %edx, %edx
je 0x12aee2
leaq 0xa0(%rbx), %rax
movq %rax, (%rbx)
leaq 0xa8(%rbx), %rax
movq %rax, 0x8(%rbx)
leaq 0xb0(%rbx), %rax
movq %rax, 0x10(%rbx)
leaq 0xb8(%rbx), %rax
movq %rax, 0x18(%rbx)
leaq 0xc0(%rbx), %rax
movq %rax, 0x20(%rbx)
leaq 0xc8(%rbx), %rax
movq %rax, 0x28(%rbx)
leaq 0xd0(%rbx), %rax
movq %rax, 0x30(%rbx)
leaq 0xd8(%rbx), %rax
movq %rax, 0x38(%rbx)
leaq 0xdc(%rbx), %rax
movq %rax, 0x40(%rbx)
leaq 0xe0(%rbx), %rax
movq %rax, 0x48(%rbx)
leaq 0xe4(%rbx), %rax
movq %rax, 0x50(%rbx)
leaq 0xe8(%rbx), %rax
movq %rax, 0x58(%rbx)
leaq 0xec(%rbx), %rax
movq %rax, 0x60(%rbx)
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1053cc
leaq 0x8(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x1053cc
leaq 0x10(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x1053cc
leaq 0x18(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x1053cc
leaq 0x20(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x1053cc
leaq 0x28(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x1053cc
leaq 0x30(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x1053cc
leaq 0x38(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x105a3e
leaq 0x40(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x105a3e
leaq 0x48(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x105a3e
leaq 0x50(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x105a3e
leaq 0x58(%rbx), %rsi
movl $0x1, %edx
movq %r14, %rdi
callq 0x105a3e
addq $0x60, %rbx
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x105a3e