// File: /workspace/github_c_makefile_star2_O2/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)
callq 0x6f700
movq %rax, %r14
leaq 0x293c5d(%rip), %rbx    # 0x303668
leaq 0x293b7e(%rip), %r13    # 0x303590
pushq $0x7e
popq %rbp
pushq $-0x1
popq %r12
xorl %r15d, %r15d
xorl %ecx, %ecx
testl %ecx, %ecx
jne 0x6fa66
cmpq $0xff, %r15
ja 0x6fa66
movq %r14, %rdi
movq %r15, %rsi
callq 0x6f846
xorl %ecx, %ecx
testb %al, %al
je 0x6fa61
movq (%rsp), %rdi
leaq 0x28e9ab(%rip), %rsi    # 0x2fe3f2
leaq 0x293bfa(%rip), %rdx    # 0x303648
movq %rbx, %rcx
movq %r13, %r8
movl %ebp, %r9d
xorl %eax, %eax
callq 0x89dbb
movl %r12d, %ecx
incq %r15
jmp 0x6fa1e
pushq $-0x1
popq %r12
testl %ecx, %ecx
jne 0x6fc26
movq %r14, %rdi
xorl %esi, %esi
callq 0x6f715
pushq $0x20
popq %rsi
movq %r14, %rdi
callq 0x6f715
pushq $0x40
popq %rsi
movq %r14, %rdi
callq 0x6f715
pushq $0x4d
popq %rsi
movq %r14, %rdi
callq 0x6f715
pushq $0x60
popq %rsi
movq %r14, %rdi
callq 0x6f715
pushq $0x7b
popq %rsi
movq %r14, %rdi
callq 0x6f715
movq %r14, %rdi
xorl %esi, %esi
callq 0x6f846
testb %al, %al
je 0x6fb52
pushq $0x20
popq %rsi
movq %r14, %rdi
callq 0x6f846
testb %al, %al
je 0x6fb7d
pushq $0x40
popq %rsi
movq %r14, %rdi
callq 0x6f846
testb %al, %al
je 0x6fba5
pushq $0x4d
popq %rsi
movq %r14, %rdi
callq 0x6f846
testb %al, %al
je 0x6fbcd
pushq $0x60
popq %rsi
movq %r14, %rdi
callq 0x6f846
testb %al, %al
je 0x6fbf5
pushq $0x7b
popq %rsi
movq %r14, %rdi
callq 0x6f846
xorl %r12d, %r12d
testb %al, %al
jne 0x6fc26
leaq 0x28e8c4(%rip), %rsi    # 0x2fe3f2
leaq 0x293bea(%rip), %rdx    # 0x30371f
leaq 0x293b2c(%rip), %rcx    # 0x303668
leaq 0x293a4d(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0x8d, %r9d
jmp 0x6fc1b
leaq 0x28e899(%rip), %rsi    # 0x2fe3f2
leaq 0x293b20(%rip), %rdx    # 0x303680
leaq 0x293b01(%rip), %rcx    # 0x303668
leaq 0x293a22(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0x88, %r9d
jmp 0x6fc1b
leaq 0x28e86e(%rip), %rsi    # 0x2fe3f2
leaq 0x293b14(%rip), %rdx    # 0x30369f
leaq 0x293ad6(%rip), %rcx    # 0x303668
leaq 0x2939f7(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0x89, %r9d
jmp 0x6fc1b
leaq 0x28e846(%rip), %rsi    # 0x2fe3f2
leaq 0x293b0c(%rip), %rdx    # 0x3036bf
leaq 0x293aae(%rip), %rcx    # 0x303668
leaq 0x2939cf(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0x8a, %r9d
jmp 0x6fc1b
leaq 0x28e81e(%rip), %rsi    # 0x2fe3f2
leaq 0x293b04(%rip), %rdx    # 0x3036df
leaq 0x293a86(%rip), %rcx    # 0x303668
leaq 0x2939a7(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0x8b, %r9d
jmp 0x6fc1b
leaq 0x28e7f6(%rip), %rsi    # 0x2fe3f2
leaq 0x293afc(%rip), %rdx    # 0x3036ff
leaq 0x293a5e(%rip), %rcx    # 0x303668
leaq 0x29397f(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0x8c, %r9d
xorl %eax, %eax
callq 0x89dbb
pushq $-0x1
popq %r12
pushq $0x7c
popq %r15
leaq 0x293a17(%rip), %r13    # 0x303648
leaq 0x293a30(%rip), %rbx    # 0x303668
leaq 0x293951(%rip), %rbp    # 0x303590
testl %r12d, %r12d
jne 0x6fc89
cmpq $0xff, %r15
ja 0x6fc89
movq %r14, %rdi
movq %r15, %rsi
callq 0x6f846
xorl %r12d, %r12d
testb %al, %al
je 0x6fc84
movq (%rsp), %rdi
leaq 0x28e788(%rip), %rsi    # 0x2fe3f2
movq %r13, %rdx
movq %rbx, %rcx
movq %rbp, %r8
movl $0x8f, %r9d
xorl %eax, %eax
callq 0x89dbb
pushq $-0x1
popq %r12
incq %r15
jmp 0x6fc3f
movq %r14, %rdi
callq 0x6ff36
callq 0x6f700
movq %rax, %r14
leaq 0x2939c8(%rip), %rbx    # 0x303668
leaq 0x2938e9(%rip), %r13    # 0x303590
pushq $-0x1
popq %r15
xorl %ebp, %ebp
testl %r12d, %r12d
jne 0x6fcfa
cmpq $0xff, %rbp
ja 0x6fcfa
movq %r14, %rdi
movq %rbp, %rsi
callq 0x6f846
xorl %r12d, %r12d
testb %al, %al
je 0x6fcf5
movq (%rsp), %rdi
leaq 0x28e71a(%rip), %rsi    # 0x2fe3f2
leaq 0x293969(%rip), %rdx    # 0x303648
movq %rbx, %rcx
movq %r13, %r8
movl $0x95, %r9d
xorl %eax, %eax
callq 0x89dbb
movl %r15d, %r12d
incq %rbp
jmp 0x6fcad
pushq $-0x1
popq %rbp
testl %r12d, %r12d
jne 0x6febd
pushq $0x1
popq %rbx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6f715
pushq $0x21
popq %rsi
movq %r14, %rdi
callq 0x6f715
pushq $0x41
popq %rsi
movq %r14, %rdi
callq 0x6f715
pushq $0x4d
popq %rsi
movq %r14, %rdi
callq 0x6f715
pushq $0x61
popq %rsi
movq %r14, %rdi
callq 0x6f715
pushq $0x7c
popq %rsi
movq %r14, %rdi
callq 0x6f715
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6f846
testb %al, %al
je 0x6fdea
pushq $0x21
popq %rsi
movq %r14, %rdi
callq 0x6f846
testb %al, %al
je 0x6fe15
pushq $0x41
popq %rsi
movq %r14, %rdi
callq 0x6f846
testb %al, %al
je 0x6fe3d
pushq $0x4d
popq %rsi
movq %r14, %rdi
callq 0x6f846
testb %al, %al
je 0x6fe65
pushq $0x61
popq %rsi
movq %r14, %rdi
callq 0x6f846
testb %al, %al
je 0x6fe8d
pushq $0x7c
popq %rsi
movq %r14, %rdi
callq 0x6f846
xorl %ebp, %ebp
testb %al, %al
jne 0x6febd
leaq 0x28e62c(%rip), %rsi    # 0x2fe3f2
leaq 0x2939f2(%rip), %rdx    # 0x3037bf
leaq 0x293894(%rip), %rcx    # 0x303668
leaq 0x2937b5(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0xa4, %r9d
jmp 0x6feb3
leaq 0x28e601(%rip), %rsi    # 0x2fe3f2
leaq 0x293948(%rip), %rdx    # 0x303740
leaq 0x293869(%rip), %rcx    # 0x303668
leaq 0x29378a(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0x9f, %r9d
jmp 0x6feb3
leaq 0x28e5d6(%rip), %rsi    # 0x2fe3f2
leaq 0x29393c(%rip), %rdx    # 0x30375f
leaq 0x29383e(%rip), %rcx    # 0x303668
leaq 0x29375f(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0xa0, %r9d
jmp 0x6feb3
leaq 0x28e5ae(%rip), %rsi    # 0x2fe3f2
leaq 0x293934(%rip), %rdx    # 0x30377f
leaq 0x293816(%rip), %rcx    # 0x303668
leaq 0x293737(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0xa1, %r9d
jmp 0x6feb3
leaq 0x28e586(%rip), %rsi    # 0x2fe3f2
leaq 0x29386c(%rip), %rdx    # 0x3036df
leaq 0x2937ee(%rip), %rcx    # 0x303668
leaq 0x29370f(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0xa2, %r9d
jmp 0x6feb3
leaq 0x28e55e(%rip), %rsi    # 0x2fe3f2
leaq 0x293904(%rip), %rdx    # 0x30379f
leaq 0x2937c6(%rip), %rcx    # 0x303668
leaq 0x2936e7(%rip), %r8     # 0x303590
movq (%rsp), %rdi
movl $0xa3, %r9d
xorl %eax, %eax
callq 0x89dbb
pushq $-0x1
popq %rbp
pushq $0x7d
popq %r15
leaq 0x293780(%rip), %r13    # 0x303648
leaq 0x293799(%rip), %rbx    # 0x303668
leaq 0x2936ba(%rip), %r12    # 0x303590
testl %ebp, %ebp
jne 0x6ff1d
cmpq $0xff, %r15
ja 0x6ff1d
movq %r14, %rdi
movq %r15, %rsi
callq 0x6f846
xorl %ebp, %ebp
testb %al, %al
je 0x6ff18
movq (%rsp), %rdi
leaq 0x28e4f3(%rip), %rsi    # 0x2fe3f2
movq %r13, %rdx
movq %rbx, %rcx
movq %r12, %r8
movl $0xa6, %r9d
xorl %eax, %eax
callq 0x89dbb
pushq $-0x1
popq %rbp
incq %r15
jmp 0x6fed6
movq %r14, %rdi
callq 0x6ff36
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq