// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-strgraph.c
// Function: gt_strgraph_add_spm_unit_test
static int gt_strgraph_add_spm_unit_test(GtError *err)
{
  int had_err = 0;
  GtStrgraph *strgraph;
  GtUword nofreads = 2UL;

  gt_error_check(err);
  strgraph = gt_strgraph_new(nofreads);
  gt_spmproc_strgraph_count(0, 1UL, 10UL, true, true, strgraph);
  gt_strgraph_allocate_graph(strgraph, 22UL, NULL);
  gt_spmproc_strgraph_add(0, 1UL, 10UL, true, true, strgraph);
  gt_ensure(GT_STRGRAPH_NOFVERTICES(strgraph) == (GtStrgraphVnum)4);
  gt_ensure(GT_STRGRAPH_V_OUTDEG(strgraph, GT_STRGRAPH_V_B(0)) == 0);
  gt_ensure(GT_STRGRAPH_V_OUTDEG(strgraph, GT_STRGRAPH_V_E(0)) ==
      (GtStrgraphVEdgenum)1);
  gt_ensure(GT_STRGRAPH_EDGE_DEST(strgraph, GT_STRGRAPH_V_E(0), 0) ==
      GT_STRGRAPH_V_E(1));
  gt_ensure(GT_STRGRAPH_EDGE_LEN(strgraph, GT_STRGRAPH_V_E(0), 0) ==
      (GtStrgraphLength)12);
  gt_ensure(!GT_STRGRAPH_EDGE_IS_REDUCED(strgraph,
      GT_STRGRAPH_V_E(0), 0));
  gt_ensure(GT_STRGRAPH_V_OUTDEG(strgraph, GT_STRGRAPH_V_B(1)) ==
      (GtStrgraphVEdgenum)1);
  gt_ensure(GT_STRGRAPH_V_OUTDEG(strgraph, GT_STRGRAPH_V_E(1)) == 0);
  gt_ensure(GT_STRGRAPH_EDGE_DEST(strgraph, GT_STRGRAPH_V_B(1), 0) ==
      (GtStrgraphVnum)GT_STRGRAPH_V_B(0));
  gt_ensure(GT_STRGRAPH_EDGE_LEN(strgraph, GT_STRGRAPH_V_B(1), 0) ==
      (GtStrgraphLength)12);
  gt_ensure(!GT_STRGRAPH_EDGE_IS_REDUCED(strgraph,
      GT_STRGRAPH_V_B(1), 0));
  gt_strgraph_delete(strgraph);
  return had_err;
}

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0xa0(%rsp)
movl $0x0, 0x9c(%rsp)
movq $0x2, 0x88(%rsp)
cmpq $0x0, 0xa0(%rsp)
je 0x29c96c
movq 0xa0(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x29c934
jmp 0x29c96c
movq 0x39f665(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2796ce(%rip), %rsi    # 0x516013
leaq 0x279873(%rip), %rdx    # 0x5161bf
leaq 0x2e6e86(%rip), %rcx    # 0x5837d9
leaq 0x2e56e6(%rip), %r8     # 0x582040
movl $0xb42, %r9d            # imm = 0xB42
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x29c96e
movq 0x88(%rsp), %rdi
callq 0x28fae0
movq %rax, 0x90(%rsp)
movq 0x90(%rsp), %r9
xorl %eax, %eax
movl %eax, %edi
movl $0x1, %esi
movl $0xa, %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x291410
movq 0x90(%rsp), %rdi
movl $0x16, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x28fbf0
movq 0x90(%rsp), %r9
xorl %eax, %eax
movl %eax, %edi
movl $0x1, %esi
movl $0xa, %edx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x292260
cmpl $0x0, 0x9c(%rsp)
jne 0x29ca3b
movq 0x90(%rsp), %rax
cmpq $0x4, 0x80(%rax)
je 0x29ca39
movq 0xa0(%rsp), %rdi
leaq 0x292bee(%rip), %rsi    # 0x52f5fa
leaq 0x2e6de4(%rip), %rdx    # 0x5837f7
leaq 0x2e6dbf(%rip), %rcx    # 0x5837d9
leaq 0x2e561f(%rip), %r8     # 0x582040
movl $0xb47, %r9d            # imm = 0xB47
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29ca3b
jmp 0x29ca3d
jmp 0x29ca3f
cmpl $0x0, 0x9c(%rsp)
jne 0x29caa2
movq 0x90(%rsp), %rax
movq 0x70(%rax), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x290730
cmpq $0x0, %rax
je 0x29caa0
movq 0xa0(%rsp), %rdi
leaq 0x292b87(%rip), %rsi    # 0x52f5fa
leaq 0x2e6db4(%rip), %rdx    # 0x58382e
leaq 0x2e6d58(%rip), %rcx    # 0x5837d9
leaq 0x2e55b8(%rip), %r8     # 0x582040
movl $0xb48, %r9d            # imm = 0xB48
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29caa2
jmp 0x29caa4
jmp 0x29caa6
cmpl $0x0, 0x9c(%rsp)
jne 0x29cb0a
movq 0x90(%rsp), %rax
movq 0x70(%rax), %rdi
movl $0x1, %esi
callq 0x290730
cmpq $0x1, %rax
je 0x29cb08
movq 0xa0(%rsp), %rdi
leaq 0x292b1f(%rip), %rsi    # 0x52f5fa
leaq 0x2e6d84(%rip), %rdx    # 0x583866
leaq 0x2e6cf0(%rip), %rcx    # 0x5837d9
leaq 0x2e5550(%rip), %r8     # 0x582040
movl $0xb4a, %r9d            # imm = 0xB4A
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29cb0a
jmp 0x29cb0c
jmp 0x29cb0e
cmpl $0x0, 0x9c(%rsp)
jne 0x29cc1e
movq 0x90(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x68(%rsp)
movq 0x90(%rsp), %rax
movq 0x60(%rax), %rdi
movl $0x1, %esi
callq 0x290730
movq 0x68(%rsp), %rdi
movq %rax, %rsi
addq $0x0, %rsi
callq 0x290730
movq %rax, 0x78(%rsp)
movq 0x90(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
movl %eax, 0x74(%rsp)
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl 0x74(%rsp), %edx
movl %eax, %ecx
movq 0x78(%rsp), %rax
addl $0x1, %ecx
shll %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
andq %rcx, %rax
movq %rax, 0x80(%rsp)
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x80(%rsp), %rax
addl $0x1, %ecx
movl %ecx, %ecx
shrq %cl, %rax
cmpq $0x3, %rax
je 0x29cc1c
movq 0xa0(%rsp), %rdi
leaq 0x292a0b(%rip), %rsi    # 0x52f5fa
leaq 0x2e6cbc(%rip), %rdx    # 0x5838b2
leaq 0x2e6bdc(%rip), %rcx    # 0x5837d9
leaq 0x2e543c(%rip), %r8     # 0x582040
movl $0xb4c, %r9d            # imm = 0xB4C
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29cc1e
jmp 0x29cc20
jmp 0x29cc22
cmpl $0x0, 0x9c(%rsp)
jne 0x29cce6
movq 0x90(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0x90(%rsp), %rax
movq 0x60(%rax), %rdi
movl $0x1, %esi
callq 0x290730
movq 0x58(%rsp), %rdi
movq %rax, %rsi
addq $0x0, %rsi
callq 0x290730
movq %rax, 0x60(%rsp)
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x60(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
cmpq $0xc, %rax
je 0x29cce4
movq 0xa0(%rsp), %rdi
leaq 0x292943(%rip), %rsi    # 0x52f5fa
leaq 0x2e6c41(%rip), %rdx    # 0x5838ff
leaq 0x2e6b14(%rip), %rcx    # 0x5837d9
leaq 0x2e5374(%rip), %r8     # 0x582040
movl $0xb4e, %r9d            # imm = 0xB4E
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29cce6
jmp 0x29cce8
jmp 0x29ccea
cmpl $0x0, 0x9c(%rsp)
jne 0x29cdc9
movq 0x90(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x90(%rsp), %rax
movq 0x60(%rax), %rdi
movl $0x1, %esi
callq 0x290730
movq 0x48(%rsp), %rdi
movq %rax, %rsi
addq $0x0, %rsi
callq 0x290730
movq %rax, 0x50(%rsp)
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x50(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
movq 0x90(%rsp), %rcx
cmpq 0x90(%rcx), %rax
jne 0x29cd83
movb $0x1, %al
testb $0x1, %al
jne 0x29cd8b
jmp 0x29cdc7
xorl %eax, %eax
testb $0x1, %al
jne 0x29cd8b
jmp 0x29cdc7
movq 0xa0(%rsp), %rdi
leaq 0x292860(%rip), %rsi    # 0x52f5fa
leaq 0x2e6bac(%rip), %rdx    # 0x58394d
leaq 0x2e6a31(%rip), %rcx    # 0x5837d9
leaq 0x2e5291(%rip), %r8     # 0x582040
movl $0xb50, %r9d            # imm = 0xB50
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29cdc9
jmp 0x29cdcb
jmp 0x29cdcd
cmpl $0x0, 0x9c(%rsp)
jne 0x29ce31
movq 0x90(%rsp), %rax
movq 0x70(%rax), %rdi
movl $0x2, %esi
callq 0x290730
cmpq $0x1, %rax
je 0x29ce2f
movq 0xa0(%rsp), %rdi
leaq 0x2927f8(%rip), %rsi    # 0x52f5fa
leaq 0x2e6b82(%rip), %rdx    # 0x58398b
leaq 0x2e69c9(%rip), %rcx    # 0x5837d9
leaq 0x2e5229(%rip), %r8     # 0x582040
movl $0xb52, %r9d            # imm = 0xB52
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29ce31
jmp 0x29ce33
jmp 0x29ce35
cmpl $0x0, 0x9c(%rsp)
jne 0x29ce99
movq 0x90(%rsp), %rax
movq 0x70(%rax), %rdi
movl $0x3, %esi
callq 0x290730
cmpq $0x0, %rax
je 0x29ce97
movq 0xa0(%rsp), %rdi
leaq 0x292790(%rip), %rsi    # 0x52f5fa
leaq 0x2e6b66(%rip), %rdx    # 0x5839d7
leaq 0x2e6961(%rip), %rcx    # 0x5837d9
leaq 0x2e51c1(%rip), %r8     # 0x582040
movl $0xb53, %r9d            # imm = 0xB53
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29ce99
jmp 0x29ce9b
jmp 0x29ce9d
cmpl $0x0, 0x9c(%rsp)
jne 0x29cfa7
movq 0x90(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x90(%rsp), %rax
movq 0x60(%rax), %rdi
movl $0x2, %esi
callq 0x290730
movq 0x28(%rsp), %rdi
movq %rax, %rsi
addq $0x0, %rsi
callq 0x290730
movq %rax, 0x38(%rsp)
movq 0x90(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
movl %eax, 0x34(%rsp)
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl 0x34(%rsp), %edx
movl %eax, %ecx
movq 0x38(%rsp), %rax
addl $0x1, %ecx
shll %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
andq %rcx, %rax
movq %rax, 0x40(%rsp)
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x40(%rsp), %rax
addl $0x1, %ecx
movl %ecx, %ecx
shrq %cl, %rax
cmpq $0x0, %rax
je 0x29cfa5
movq 0xa0(%rsp), %rdi
leaq 0x292682(%rip), %rsi    # 0x52f5fa
leaq 0x2e6a90(%rip), %rdx    # 0x583a0f
leaq 0x2e6853(%rip), %rcx    # 0x5837d9
leaq 0x2e50b3(%rip), %r8     # 0x582040
movl $0xb55, %r9d            # imm = 0xB55
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29cfa7
jmp 0x29cfa9
jmp 0x29cfab
cmpl $0x0, 0x9c(%rsp)
jne 0x29d06f
movq 0x90(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x90(%rsp), %rax
movq 0x60(%rax), %rdi
movl $0x2, %esi
callq 0x290730
movq 0x18(%rsp), %rdi
movq %rax, %rsi
addq $0x0, %rsi
callq 0x290730
movq %rax, 0x20(%rsp)
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x20(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
cmpq $0xc, %rax
je 0x29d06d
movq 0xa0(%rsp), %rdi
leaq 0x2925ba(%rip), %rsi    # 0x52f5fa
leaq 0x2e6a25(%rip), %rdx    # 0x583a6c
leaq 0x2e678b(%rip), %rcx    # 0x5837d9
leaq 0x2e4feb(%rip), %r8     # 0x582040
movl $0xb57, %r9d            # imm = 0xB57
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29d06f
jmp 0x29d071
jmp 0x29d073
cmpl $0x0, 0x9c(%rsp)
jne 0x29d152
movq 0x90(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x90(%rsp), %rax
movq 0x60(%rax), %rdi
movl $0x2, %esi
callq 0x290730
movq 0x8(%rsp), %rdi
movq %rax, %rsi
addq $0x0, %rsi
callq 0x290730
movq %rax, 0x10(%rsp)
movq 0x90(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x10(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
movq 0x90(%rsp), %rcx
cmpq 0x90(%rcx), %rax
jne 0x29d10c
movb $0x1, %al
testb $0x1, %al
jne 0x29d114
jmp 0x29d150
xorl %eax, %eax
testb $0x1, %al
jne 0x29d114
jmp 0x29d150
movq 0xa0(%rsp), %rdi
leaq 0x2924d7(%rip), %rsi    # 0x52f5fa
leaq 0x2e6990(%rip), %rdx    # 0x583aba
leaq 0x2e66a8(%rip), %rcx    # 0x5837d9
leaq 0x2e4f08(%rip), %r8     # 0x582040
movl $0xb59, %r9d            # imm = 0xB59
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x9c(%rsp) # imm = 0xFFFFFFFF
jmp 0x29d152
jmp 0x29d154
movq 0x90(%rsp), %rdi
callq 0x290110
movl 0x9c(%rsp), %eax
addq $0xa8, %rsp
retq