// File: /workspace/github_c_makefile_star2_O3/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 %r12
pushq %rbx
movq %rdi, %rbx
leaq 0x27c719(%rip), %rdx    # 0x363660
movl $0x1, %edi
movl $0x18, %esi
movl $0x20, %ecx
callq 0x10436a
movq %rax, %r14
xorl %r15d, %r15d
movq %r14, %rdi
movq %r15, %rsi
callq 0xe6e7b
testb %al, %al
jne 0xe7083
cmpq $0xff, %r15
leaq 0x1(%r15), %r15
setb %cl
xorb $0x1, %al
testb %al, %cl
jne 0xe6f61
movq %r14, %rdi
xorl %esi, %esi
callq 0xe6da7
movl $0x20, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x40, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x4d, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x60, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x7b, %esi
movq %r14, %rdi
callq 0xe6da7
movq %r14, %rdi
xorl %esi, %esi
callq 0xe6e7b
testb %al, %al
je 0xe70b0
movl $0x20, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe70dd
movl $0x40, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe710a
movl $0x4d, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe7137
movl $0x60, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe7161
movl $0x7b, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe718b
movl $0x7c, %r15d
movq %r14, %rdi
movq %r15, %rsi
callq 0xe6e7b
testb %al, %al
jne 0xe71b5
cmpq $0xff, %r15
leaq 0x1(%r15), %r15
setb %cl
xorb $0x1, %al
movb $0x1, %r12b
testb %al, %cl
jne 0xe7054
jmp 0xe71e4
leaq 0x2773b4(%rip), %rsi    # 0x35e43e
leaq 0x27c687(%rip), %rdx    # 0x363718
leaq 0x27c6a0(%rip), %rcx    # 0x363738
leaq 0x27c5c1(%rip), %r8     # 0x363660
xorl %r12d, %r12d
movq %rbx, %rdi
movl $0x7e, %r9d
jmp 0xe71dd
leaq 0x277387(%rip), %rsi    # 0x35e43e
leaq 0x27c692(%rip), %rdx    # 0x363750
leaq 0x27c673(%rip), %rcx    # 0x363738
leaq 0x27c594(%rip), %r8     # 0x363660
xorl %r12d, %r12d
movq %rbx, %rdi
movl $0x88, %r9d
jmp 0xe71dd
leaq 0x27735a(%rip), %rsi    # 0x35e43e
leaq 0x27c684(%rip), %rdx    # 0x36376f
leaq 0x27c646(%rip), %rcx    # 0x363738
leaq 0x27c567(%rip), %r8     # 0x363660
xorl %r12d, %r12d
movq %rbx, %rdi
movl $0x89, %r9d
jmp 0xe71dd
leaq 0x27732d(%rip), %rsi    # 0x35e43e
leaq 0x27c677(%rip), %rdx    # 0x36378f
leaq 0x27c619(%rip), %rcx    # 0x363738
leaq 0x27c53a(%rip), %r8     # 0x363660
xorl %r12d, %r12d
movq %rbx, %rdi
movl $0x8a, %r9d
jmp 0xe71dd
leaq 0x277300(%rip), %rsi    # 0x35e43e
leaq 0x27c66a(%rip), %rdx    # 0x3637af
leaq 0x27c5ec(%rip), %rcx    # 0x363738
leaq 0x27c50d(%rip), %r8     # 0x363660
xorl %r12d, %r12d
movq %rbx, %rdi
movl $0x8b, %r9d
jmp 0xe71dd
leaq 0x2772d6(%rip), %rsi    # 0x35e43e
leaq 0x27c660(%rip), %rdx    # 0x3637cf
leaq 0x27c5c2(%rip), %rcx    # 0x363738
leaq 0x27c4e3(%rip), %r8     # 0x363660
xorl %r12d, %r12d
movq %rbx, %rdi
movl $0x8c, %r9d
jmp 0xe71dd
leaq 0x2772ac(%rip), %rsi    # 0x35e43e
leaq 0x27c656(%rip), %rdx    # 0x3637ef
leaq 0x27c598(%rip), %rcx    # 0x363738
leaq 0x27c4b9(%rip), %r8     # 0x363660
xorl %r12d, %r12d
movq %rbx, %rdi
movl $0x8d, %r9d
jmp 0xe71dd
leaq 0x277282(%rip), %rsi    # 0x35e43e
leaq 0x27c555(%rip), %rdx    # 0x363718
leaq 0x27c56e(%rip), %rcx    # 0x363738
leaq 0x27c48f(%rip), %r8     # 0x363660
xorl %r12d, %r12d
movq %rbx, %rdi
movl $0x8f, %r9d
xorl %eax, %eax
callq 0xfcb67
movq %r14, %rdi
callq 0xe74a1
leaq 0x27c46d(%rip), %rdx    # 0x363660
movl $0x1, %edi
movl $0x18, %esi
movl $0x20, %ecx
callq 0x10436a
movq %rax, %r14
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testb %r12b, %r12b
je 0xe748e
xorl %r15d, %r15d
movq %r14, %rdi
movq %r15, %rsi
callq 0xe6e7b
testb %al, %al
jne 0xe7340
cmpq $0xff, %r15
leaq 0x1(%r15), %r15
setae %cl
orb %al, %cl
je 0xe721b
movl $0x1, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x21, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x41, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x4d, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x61, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x7c, %esi
movq %r14, %rdi
callq 0xe6da7
movl $0x1, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe736a
movl $0x21, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe7394
movl $0x41, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe73be
movl $0x4d, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe73e8
movl $0x61, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe740f
movl $0x7c, %esi
movq %r14, %rdi
callq 0xe6e7b
testb %al, %al
je 0xe7436
movl $0x7d, %r15d
xorl %ebp, %ebp
movq %r14, %rdi
movq %r15, %rsi
callq 0xe6e7b
testb %al, %al
jne 0xe745d
cmpq $0xff, %r15
leaq 0x1(%r15), %r15
setb %cl
xorb $0x1, %al
testb %al, %cl
jne 0xe7314
jmp 0xe748e
leaq 0x2770f7(%rip), %rsi    # 0x35e43e
leaq 0x27c3ca(%rip), %rdx    # 0x363718
leaq 0x27c3e3(%rip), %rcx    # 0x363738
leaq 0x27c304(%rip), %r8     # 0x363660
movq %rbx, %rdi
movl $0x95, %r9d
jmp 0xe7482
leaq 0x2770cd(%rip), %rsi    # 0x35e43e
leaq 0x27c498(%rip), %rdx    # 0x363810
leaq 0x27c3b9(%rip), %rcx    # 0x363738
leaq 0x27c2da(%rip), %r8     # 0x363660
movq %rbx, %rdi
movl $0x9f, %r9d
jmp 0xe7482
leaq 0x2770a3(%rip), %rsi    # 0x35e43e
leaq 0x27c48d(%rip), %rdx    # 0x36382f
leaq 0x27c38f(%rip), %rcx    # 0x363738
leaq 0x27c2b0(%rip), %r8     # 0x363660
movq %rbx, %rdi
movl $0xa0, %r9d
jmp 0xe7482
leaq 0x277079(%rip), %rsi    # 0x35e43e
leaq 0x27c483(%rip), %rdx    # 0x36384f
leaq 0x27c365(%rip), %rcx    # 0x363738
leaq 0x27c286(%rip), %r8     # 0x363660
movq %rbx, %rdi
movl $0xa1, %r9d
jmp 0xe7482
leaq 0x27704f(%rip), %rsi    # 0x35e43e
leaq 0x27c3b9(%rip), %rdx    # 0x3637af
leaq 0x27c33b(%rip), %rcx    # 0x363738
leaq 0x27c25c(%rip), %r8     # 0x363660
movq %rbx, %rdi
movl $0xa2, %r9d
jmp 0xe7482
leaq 0x277028(%rip), %rsi    # 0x35e43e
leaq 0x27c452(%rip), %rdx    # 0x36386f
leaq 0x27c314(%rip), %rcx    # 0x363738
leaq 0x27c235(%rip), %r8     # 0x363660
movq %rbx, %rdi
movl $0xa3, %r9d
jmp 0xe7482
leaq 0x277001(%rip), %rsi    # 0x35e43e
leaq 0x27c44b(%rip), %rdx    # 0x36388f
leaq 0x27c2ed(%rip), %rcx    # 0x363738
leaq 0x27c20e(%rip), %r8     # 0x363660
movq %rbx, %rdi
movl $0xa4, %r9d
jmp 0xe7482
leaq 0x276fda(%rip), %rsi    # 0x35e43e
leaq 0x27c2ad(%rip), %rdx    # 0x363718
leaq 0x27c2c6(%rip), %rcx    # 0x363738
leaq 0x27c1e7(%rip), %r8     # 0x363660
movq %rbx, %rdi
movl $0xa6, %r9d
xorl %eax, %eax
callq 0xfcb67
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq %r14, %rdi
callq 0xe74a1
movl %ebp, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq