// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/core/dyn_bittab.c
// Function: gt_dyn_bittab_unit_test
int gt_dyn_bittab_unit_test(GtError *err)
{
  GtUword i;
  GtDynBittab *b;
  int had_err = 0;

  b = gt_dyn_bittab_new();
  for (i = 0; !had_err && i < 256; i++) {
    gt_ensure(!gt_dyn_bittab_bit_is_set(b, i));
  }
  if (!had_err) {
    gt_dyn_bittab_set_bit(b, 0);
    gt_dyn_bittab_set_bit(b, 32);
    gt_dyn_bittab_set_bit(b, 64);
    gt_dyn_bittab_set_bit(b, 77);
    gt_dyn_bittab_set_bit(b, 96);
    gt_dyn_bittab_set_bit(b, 123);
  }
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 0));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 32));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 64));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 77));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 96));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 123));
  for (i = 124; !had_err && i < 256; i++) {
    gt_ensure(!gt_dyn_bittab_bit_is_set(b, i));
  }
  gt_dyn_bittab_delete(b);

  b = gt_dyn_bittab_new();
  for (i = 0; !had_err && i < 256; i++) {
    gt_ensure(!gt_dyn_bittab_bit_is_set(b, i));
  }
  if (!had_err) {
    gt_dyn_bittab_set_bit(b, 1);
    gt_dyn_bittab_set_bit(b, 33);
    gt_dyn_bittab_set_bit(b, 65);
    gt_dyn_bittab_set_bit(b, 77);
    gt_dyn_bittab_set_bit(b, 97);
    gt_dyn_bittab_set_bit(b, 124);
  }
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 1));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 33));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 65));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 77));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 97));
  gt_ensure(gt_dyn_bittab_bit_is_set(b, 124));
  for (i = 125; !had_err && i < 256; i++) {
    gt_ensure(!gt_dyn_bittab_bit_is_set(b, i));
  }
  gt_dyn_bittab_delete(b);

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, (%rsp)
leaq 0x28128c(%rip), %rdx    # 0x36c770
movl $0x1, %edi
movl $0x18, %esi
movl $0x20, %ecx
callq 0x1093ef
movq %rax, %r14
leaq 0x27c038(%rip), %rbx    # 0x36753a
leaq 0x28131f(%rip), %r12    # 0x36c828
leaq 0x281338(%rip), %r13    # 0x36c848
xorl %ebp, %ebp
movq %r14, %rdi
movq %rbp, %rsi
callq 0xeb3f9
movl %eax, %r15d
testb %al, %al
je 0xeb545
movq (%rsp), %rdi
movq %rbx, %rsi
movq %r12, %rdx
movq %r13, %rcx
leaq 0x281238(%rip), %r8     # 0x36c770
movl $0x7e, %r9d
xorl %eax, %eax
callq 0x1019cf
cmpq $0xff, %rbp
leaq 0x1(%rbp), %rbp
setb %al
movl %r15d, %ecx
xorb $0x1, %cl
testb %cl, %al
jne 0xeb512
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
testb %r15b, %r15b
je 0xeb56f
xorl %ebx, %ebx
jmp 0xeb742
movq %r14, %rdi
xorl %esi, %esi
callq 0xeb32b
movl $0x20, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x40, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x4d, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x60, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x7b, %esi
movq %r14, %rdi
callq 0xeb32b
movq %r14, %rdi
xorl %esi, %esi
callq 0xeb3f9
testb %al, %al
je 0xeb63b
movl $0x20, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb668
movl $0x40, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb695
movl $0x4d, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb6bf
movl $0x60, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb6e9
movl $0x7b, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb713
xorl %r12d, %r12d
movb $0x1, %bl
jmp 0xeb742
leaq 0x27bef8(%rip), %rsi    # 0x36753a
leaq 0x281217(%rip), %rdx    # 0x36c860
leaq 0x2811f8(%rip), %rcx    # 0x36c848
leaq 0x281119(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x88, %r9d
jmp 0xeb73b
leaq 0x27becb(%rip), %rsi    # 0x36753a
leaq 0x281209(%rip), %rdx    # 0x36c87f
leaq 0x2811cb(%rip), %rcx    # 0x36c848
leaq 0x2810ec(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x89, %r9d
jmp 0xeb73b
leaq 0x27be9e(%rip), %rsi    # 0x36753a
leaq 0x2811fc(%rip), %rdx    # 0x36c89f
leaq 0x28119e(%rip), %rcx    # 0x36c848
leaq 0x2810bf(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x8a, %r9d
jmp 0xeb73b
leaq 0x27be74(%rip), %rsi    # 0x36753a
leaq 0x2811f2(%rip), %rdx    # 0x36c8bf
leaq 0x281174(%rip), %rcx    # 0x36c848
leaq 0x281095(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x8b, %r9d
jmp 0xeb73b
leaq 0x27be4a(%rip), %rsi    # 0x36753a
leaq 0x2811e8(%rip), %rdx    # 0x36c8df
leaq 0x28114a(%rip), %rcx    # 0x36c848
leaq 0x28106b(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x8c, %r9d
jmp 0xeb73b
leaq 0x27be20(%rip), %rsi    # 0x36753a
leaq 0x2811de(%rip), %rdx    # 0x36c8ff
leaq 0x281120(%rip), %rcx    # 0x36c848
leaq 0x281041(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x8d, %r9d
xorl %eax, %eax
callq 0x1019cf
testb %bl, %bl
je 0xeb7b3
movl $0x7c, %ebx
leaq 0x2810f6(%rip), %r13    # 0x36c848
leaq 0x281017(%rip), %rbp    # 0x36c770
movq %r14, %rdi
movq %rbx, %rsi
callq 0xeb3f9
movl %eax, %r15d
movl $0x0, %r12d
testb %al, %al
je 0xeb79c
movq (%rsp), %rdi
leaq 0x27bdbe(%rip), %rsi    # 0x36753a
leaq 0x2810a5(%rip), %rdx    # 0x36c828
movq %r13, %rcx
movq %rbp, %r8
movl $0x8f, %r9d
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
cmpq $0xff, %rbx
leaq 0x1(%rbx), %rbx
setb %al
xorb $0x1, %r15b
testb %r15b, %al
jne 0xeb759
movq %r14, %rdi
callq 0xebab4
leaq 0x280fae(%rip), %rdx    # 0x36c770
movl $0x1, %edi
movl $0x18, %esi
movl $0x20, %ecx
callq 0x1093ef
movq %rax, %r14
testl %r12d, %r12d
sete %bl
jne 0xeb83f
leaq 0x281040(%rip), %r15    # 0x36c828
leaq 0x281059(%rip), %r12    # 0x36c848
leaq 0x280f7a(%rip), %r13    # 0x36c770
xorl %ebp, %ebp
movq %r14, %rdi
movq %rbp, %rsi
callq 0xeb3f9
movl %eax, %ebx
testb %al, %al
je 0xeb82a
movq (%rsp), %rdi
leaq 0x27bd26(%rip), %rsi    # 0x36753a
movq %r15, %rdx
movq %r12, %rcx
movq %r13, %r8
movl $0x95, %r9d
xorl %eax, %eax
callq 0x1019cf
cmpq $0xff, %rbp
leaq 0x1(%rbp), %rbp
setb %al
xorb $0x1, %bl
testb %bl, %al
jne 0xeb7f8
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testb %bl, %bl
je 0xeb91d
movl $0x1, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x21, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x41, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x4d, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x61, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x7c, %esi
movq %r14, %rdi
callq 0xeb32b
movl $0x1, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb924
movl $0x21, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb951
movl $0x41, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb97e
movl $0x4d, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb9a8
movl $0x61, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb9d2
movl $0x7c, %esi
movq %r14, %rdi
callq 0xeb3f9
testb %al, %al
je 0xeb9fc
xorl %ebp, %ebp
movb $0x1, %bl
jmp 0xeba2b
xorl %ebx, %ebx
jmp 0xeba2b
leaq 0x27bc0f(%rip), %rsi    # 0x36753a
leaq 0x280fee(%rip), %rdx    # 0x36c920
leaq 0x280f0f(%rip), %rcx    # 0x36c848
leaq 0x280e30(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0x9f, %r9d
jmp 0xeba24
leaq 0x27bbe2(%rip), %rsi    # 0x36753a
leaq 0x280fe0(%rip), %rdx    # 0x36c93f
leaq 0x280ee2(%rip), %rcx    # 0x36c848
leaq 0x280e03(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0xa0, %r9d
jmp 0xeba24
leaq 0x27bbb5(%rip), %rsi    # 0x36753a
leaq 0x280fd3(%rip), %rdx    # 0x36c95f
leaq 0x280eb5(%rip), %rcx    # 0x36c848
leaq 0x280dd6(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0xa1, %r9d
jmp 0xeba24
leaq 0x27bb8b(%rip), %rsi    # 0x36753a
leaq 0x280f09(%rip), %rdx    # 0x36c8bf
leaq 0x280e8b(%rip), %rcx    # 0x36c848
leaq 0x280dac(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0xa2, %r9d
jmp 0xeba24
leaq 0x27bb61(%rip), %rsi    # 0x36753a
leaq 0x280f9f(%rip), %rdx    # 0x36c97f
leaq 0x280e61(%rip), %rcx    # 0x36c848
leaq 0x280d82(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0xa3, %r9d
jmp 0xeba24
leaq 0x27bb37(%rip), %rsi    # 0x36753a
leaq 0x280f95(%rip), %rdx    # 0x36c99f
leaq 0x280e37(%rip), %rcx    # 0x36c848
leaq 0x280d58(%rip), %r8     # 0x36c770
xorl %ebx, %ebx
movq (%rsp), %rdi
movl $0xa4, %r9d
xorl %eax, %eax
callq 0x1019cf
testb %bl, %bl
je 0xeba9b
movl $0x7d, %r15d
leaq 0x280e0c(%rip), %r13    # 0x36c848
leaq 0x280d2d(%rip), %rbx    # 0x36c770
movq %r14, %rdi
movq %r15, %rsi
callq 0xeb3f9
movl %eax, %r12d
movl $0x0, %ebp
testb %al, %al
je 0xeba84
movq (%rsp), %rdi
leaq 0x27bad5(%rip), %rsi    # 0x36753a
leaq 0x280dbc(%rip), %rdx    # 0x36c828
movq %r13, %rcx
movq %rbx, %r8
movl $0xa6, %r9d
xorl %eax, %eax
callq 0x1019cf
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpq $0xff, %r15
leaq 0x1(%r15), %r15
setb %al
xorb $0x1, %r12b
testb %r12b, %al
jne 0xeba43
movq %r14, %rdi
callq 0xebab4
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq