// File: /workspace/github_c_makefile_star2_O0/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:
subq $0x28, %rsp
movb %dl, %al
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
andb $0x1, %al
movb %al, 0x17(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
testb $0x1, 0x17(%rsp)
je 0x13cf4b
movq 0x8(%rsp), %rcx
addq $0xa0, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rcx
addq $0xa8, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rcx
addq $0xb0, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rcx
addq $0xb8, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x8(%rsp), %rcx
addq $0xc0, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x8(%rsp), %rcx
addq $0xc8, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x8(%rsp), %rcx
addq $0xd0, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x8(%rsp), %rcx
addq $0xd8, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x8(%rsp), %rcx
addq $0xdc, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x8(%rsp), %rcx
addq $0xe0, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x48(%rax)
movq 0x8(%rsp), %rcx
addq $0xe4, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x50(%rax)
movq 0x8(%rsp), %rcx
addq $0xe8, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x58(%rax)
movq 0x8(%rsp), %rcx
addq $0xec, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x60(%rax)
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
movl $0x1, %edx
callq 0xead10
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x8, %rsi
movl $0x1, %edx
callq 0xead10
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x10, %rsi
movl $0x1, %edx
callq 0xead10
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x18, %rsi
movl $0x1, %edx
callq 0xead10
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x20, %rsi
movl $0x1, %edx
callq 0xead10
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x28, %rsi
movl $0x1, %edx
callq 0xead10
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x30, %rsi
movl $0x1, %edx
callq 0xead10
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x38, %rsi
movl $0x1, %edx
callq 0xebe90
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x40, %rsi
movl $0x1, %edx
callq 0xebe90
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x48, %rsi
movl $0x1, %edx
callq 0xebe90
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x50, %rsi
movl $0x1, %edx
callq 0xebe90
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x58, %rsi
movl $0x1, %edx
callq 0xebe90
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
addq $0x60, %rsi
movl $0x1, %edx
callq 0xebe90
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)