// File: /workspace/github_c_makefile_star2_O2/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
testq %r9, %r9
je 0x180860
movq %r9, %rbx
cmpl $0x0, 0x10(%r9)
jne 0x18088e
movq %rdx, %r14
movq 0x40(%rbx), %rdx
testq %rdx, %rdx
je 0x180801
movq 0x48(%rbx), %rax
testq %rax, %rax
je 0x180801
movl %r8d, %ebp
movq %rsi, %r15
movzbl %cl, %ecx
leaq (%rcx,%rdi,2), %r12
movb (%rdx,%r12), %cl
cmpb $-0x3, %cl
ja 0x18070a
incb %cl
movb %cl, (%rdx,%r12)
jmp 0x180762
cmpb $-0x2, %cl
jne 0x18073c
movb $-0x1, (%rdx,%r12)
movq 0x48(%rbx), %rdi
movq %r12, %rsi
callq 0x17f839
testq %rax, %rax
jne 0x1808c6
movq 0x48(%rbx), %rdi
movl $0xff, %edx
movq %r12, %rsi
callq 0x180974
jmp 0x180762
movq %rax, %rdi
movq %r12, %rsi
callq 0x17f839
movq 0x40(%rbx), %rcx
cmpb $-0x1, (%rcx,%r12)
jne 0x1808e3
testq %rax, %rax
je 0x180900
incq (%rax)
movq 0x40(%rbx), %rax
testq %rax, %rax
je 0x180832
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x180832
xorb $0x1, %bpl
movzbl %bpl, %ecx
leaq (%rcx,%r15,2), %r15
movb (%rax,%r15), %cl
cmpb $-0x3, %cl
ja 0x180799
incb %cl
movb %cl, (%rax,%r15)
jmp 0x1807ee
cmpb $-0x2, %cl
jne 0x1807cb
movb $-0x1, (%rax,%r15)
movq 0x48(%rbx), %rdi
movq %r15, %rsi
callq 0x17f839
testq %rax, %rax
jne 0x18091d
movq 0x48(%rbx), %rdi
movl $0xff, %edx
movq %r15, %rsi
callq 0x180974
jmp 0x1807ee
movq %r15, %rsi
callq 0x17f839
movq 0x40(%rbx), %rcx
cmpb $-0x1, (%rcx,%r15)
jne 0x18093a
testq %rax, %rax
je 0x180957
incq (%rax)
cmpq %r14, 0x30(%rbx)
jbe 0x1807f8
movq %r14, 0x30(%rbx)
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq 0x2b7760(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x164801(%rip), %rsi    # 0x2e5013
leaq 0x1cf1db(%rip), %rdx    # 0x34f9f4
leaq 0x1cf189(%rip), %rcx    # 0x34f9a9
leaq 0x1cef4e(%rip), %r8     # 0x34f775
movl $0x258, %r9d            # imm = 0x258
jmp 0x1808ba
movq 0x2b772f(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1647d0(%rip), %rsi    # 0x2e5013
leaq 0x1cf1aa(%rip), %rdx    # 0x34f9f4
leaq 0x1cf158(%rip), %rcx    # 0x34f9a9
leaq 0x1cef1d(%rip), %r8     # 0x34f775
movl $0x25c, %r9d            # imm = 0x25C
jmp 0x1808ba
movq 0x2b7701(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1647a2(%rip), %rsi    # 0x2e5013
leaq 0x1cefc1(%rip), %rdx    # 0x34f839
leaq 0x1cf12a(%rip), %rcx    # 0x34f9a9
leaq 0x1ceeef(%rip), %r8     # 0x34f775
movl $0x252, %r9d            # imm = 0x252
jmp 0x1808ba
movq 0x2b76d3(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x164774(%rip), %rsi    # 0x2e5013
leaq 0x1cf11d(%rip), %rdx    # 0x34f9c3
leaq 0x1cf0fc(%rip), %rcx    # 0x34f9a9
leaq 0x1ceec1(%rip), %r8     # 0x34f775
movl $0x255, %r9d            # imm = 0x255
xorl %eax, %eax
callq 0x17a50
callq 0x17390
movq 0x2b769b(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x16473c(%rip), %rsi    # 0x2e5013
leaq 0x1cf160(%rip), %rdx    # 0x34fa3e
jmp 0x180819
movq 0x2b767e(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x16471f(%rip), %rsi    # 0x2e5013
leaq 0x1cf180(%rip), %rdx    # 0x34fa7b
jmp 0x180819
movq 0x2b7661(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x164702(%rip), %rsi    # 0x2e5013
leaq 0x1ceef7(%rip), %rdx    # 0x34f80f
jmp 0x180819
movq 0x2b7644(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1646e5(%rip), %rsi    # 0x2e5013
leaq 0x1cf109(%rip), %rdx    # 0x34fa3e
jmp 0x18084a
movq 0x2b7627(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1646c8(%rip), %rsi    # 0x2e5013
leaq 0x1cf129(%rip), %rdx    # 0x34fa7b
jmp 0x18084a
movq 0x2b760a(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1646ab(%rip), %rsi    # 0x2e5013
leaq 0x1ceea0(%rip), %rdx    # 0x34f80f
jmp 0x18084a