// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-strgraph.c
// Function: gt_spmproc_strgraph_count
void gt_spmproc_strgraph_count(GtUword suffix_readnum,
    GtUword prefix_readnum, GtUword length,
    bool suffixseq_direct, bool prefixseq_direct, void *strgraph)
{
  GtStrgraph* g;
  GtStrgraphVnum position;

  gt_assert(strgraph != NULL);
  g = (GtStrgraph*)strgraph;

  gt_assert(g != NULL && g->state == GT_STRGRAPH_PREPARATION);
  position = suffixseq_direct ? GT_STRGRAPH_V_E(suffix_readnum)
                              : GT_STRGRAPH_V_B(suffix_readnum);
  GT_STRGRAPH_INC_COUNT(g, position);

  position = prefixseq_direct ? GT_STRGRAPH_V_B(prefix_readnum)
                              : GT_STRGRAPH_V_E(prefix_readnum);
  GT_STRGRAPH_INC_COUNT(g, position);

  if (g->minmatchlen > (GtStrgraphLength)length)
    g->minmatchlen = (GtStrgraphLength)length;
}

// Assembly:
subq $0x58, %rsp
movb %r8b, %al
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
andb $0x1, %cl
movb %cl, 0x3f(%rsp)
andb $0x1, %al
movb %al, 0x3e(%rsp)
movq %r9, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0x291478
movq 0x3aab59(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x284bc2(%rip), %rsi    # 0x516013
leaq 0x2f0cac(%rip), %rdx    # 0x582104
leaq 0x2f0e47(%rip), %rcx    # 0x5822a6
leaq 0x2f0bda(%rip), %r8     # 0x582040
movl $0x252, %r9d            # imm = 0x252
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x29147a
movq 0x30(%rsp), %rax
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x291497
movq 0x28(%rsp), %rax
cmpl $0x0, 0x10(%rax)
je 0x2914cf
movq 0x3aab02(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x284b6b(%rip), %rsi    # 0x516013
leaq 0x2f0e11(%rip), %rdx    # 0x5822c0
leaq 0x2f0df0(%rip), %rcx    # 0x5822a6
leaq 0x2f0b83(%rip), %r8     # 0x582040
movl $0x255, %r9d            # imm = 0x255
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2914d1
testb $0x1, 0x3f(%rsp)
je 0x2914eb
movq 0x50(%rsp), %rax
shlq %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x2914f8
movq 0x50(%rsp), %rax
shlq %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x291522
movq 0x28(%rsp), %rax
cmpq $0x0, 0x40(%rax)
je 0x291522
movq 0x28(%rsp), %rax
cmpq $0x0, 0x48(%rax)
jne 0x29155a
movq 0x3aaa77(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x284ae0(%rip), %rsi    # 0x516013
leaq 0x2f0db7(%rip), %rdx    # 0x5822f1
leaq 0x2f0d65(%rip), %rcx    # 0x5822a6
leaq 0x2f0af8(%rip), %r8     # 0x582040
movl $0x258, %r9d            # imm = 0x258
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x29155c
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xfe, %eax
jge 0x291591
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movb (%rax,%rcx), %dl
addb $0x1, %dl
movb %dl, (%rax,%rcx)
jmp 0x2916f0
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xfe, %eax
jne 0x291630
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movb $-0x1, (%rax,%rcx)
movq 0x28(%rsp), %rax
movq 0x48(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28f990
cmpq $0x0, %rax
je 0x291611
movq 0x3aa9c0(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x284a29(%rip), %rsi    # 0x516013
leaq 0x2f0d4a(%rip), %rdx    # 0x58233b
leaq 0x2f0cae(%rip), %rcx    # 0x5822a6
leaq 0x2f0a41(%rip), %r8     # 0x582040
movl $0x258, %r9d            # imm = 0x258
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x291613
movq 0x28(%rsp), %rax
movq 0x48(%rax), %rdi
movq 0x20(%rsp), %rsi
movl $0xff, %edx
callq 0x291930
jmp 0x2916ee
movq 0x28(%rsp), %rax
movq 0x48(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28f990
movq %rax, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xff, %eax
je 0x291699
movq 0x3aa938(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2849a1(%rip), %rsi    # 0x516013
leaq 0x2f0cff(%rip), %rdx    # 0x582378
leaq 0x2f0c26(%rip), %rcx    # 0x5822a6
leaq 0x2f09b9(%rip), %r8     # 0x582040
movl $0x258, %r9d            # imm = 0x258
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x29169b
jmp 0x29169d
cmpq $0x0, 0x18(%rsp)
jne 0x2916dd
movq 0x3aa8f4(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x28495d(%rip), %rsi    # 0x516013
leaq 0x2f0a1d(%rip), %rdx    # 0x5820da
leaq 0x2f0be2(%rip), %rcx    # 0x5822a6
leaq 0x2f0975(%rip), %r8     # 0x582040
movl $0x258, %r9d            # imm = 0x258
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2916df
movq 0x18(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x2916f0
testb $0x1, 0x3e(%rsp)
je 0x291705
movq 0x48(%rsp), %rax
shlq %rax
movq %rax, (%rsp)
jmp 0x291715
movq 0x48(%rsp), %rax
shlq %rax
addq $0x1, %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq %rax, 0x20(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x29173e
movq 0x28(%rsp), %rax
cmpq $0x0, 0x40(%rax)
je 0x29173e
movq 0x28(%rsp), %rax
cmpq $0x0, 0x48(%rax)
jne 0x291776
movq 0x3aa85b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2848c4(%rip), %rsi    # 0x516013
leaq 0x2f0b9b(%rip), %rdx    # 0x5822f1
leaq 0x2f0b49(%rip), %rcx    # 0x5822a6
leaq 0x2f08dc(%rip), %r8     # 0x582040
movl $0x25c, %r9d            # imm = 0x25C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x291778
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xfe, %eax
jge 0x2917ad
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movb (%rax,%rcx), %dl
addb $0x1, %dl
movb %dl, (%rax,%rcx)
jmp 0x29190c
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xfe, %eax
jne 0x29184c
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movb $-0x1, (%rax,%rcx)
movq 0x28(%rsp), %rax
movq 0x48(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28f990
cmpq $0x0, %rax
je 0x29182d
movq 0x3aa7a4(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x28480d(%rip), %rsi    # 0x516013
leaq 0x2f0b2e(%rip), %rdx    # 0x58233b
leaq 0x2f0a92(%rip), %rcx    # 0x5822a6
leaq 0x2f0825(%rip), %r8     # 0x582040
movl $0x25c, %r9d            # imm = 0x25C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x29182f
movq 0x28(%rsp), %rax
movq 0x48(%rax), %rdi
movq 0x20(%rsp), %rsi
movl $0xff, %edx
callq 0x291930
jmp 0x29190a
movq 0x28(%rsp), %rax
movq 0x48(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28f990
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x40(%rax), %rax
movq 0x20(%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xff, %eax
je 0x2918b5
movq 0x3aa71c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x284785(%rip), %rsi    # 0x516013
leaq 0x2f0ae3(%rip), %rdx    # 0x582378
leaq 0x2f0a0a(%rip), %rcx    # 0x5822a6
leaq 0x2f079d(%rip), %r8     # 0x582040
movl $0x25c, %r9d            # imm = 0x25C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2918b7
jmp 0x2918b9
cmpq $0x0, 0x10(%rsp)
jne 0x2918f9
movq 0x3aa6d8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x284741(%rip), %rsi    # 0x516013
leaq 0x2f0801(%rip), %rdx    # 0x5820da
leaq 0x2f09c6(%rip), %rcx    # 0x5822a6
leaq 0x2f0759(%rip), %r8     # 0x582040
movl $0x25c, %r9d            # imm = 0x25C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2918fb
movq 0x10(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x29190c
movq 0x28(%rsp), %rax
movq 0x30(%rax), %rax
cmpq 0x40(%rsp), %rax
jbe 0x29192a
movq 0x40(%rsp), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x30(%rax)
addq $0x58, %rsp
retq
nop