// File: /workspace/github_cpp_makefile_star2_O3/chhylp123[P]hifiasm/Overlaps.cpp
// Function: dbg_spec_edge(asg_t*, unsigned int, unsigned int)
void dbg_spec_edge(asg_t *g, uint32_t s, uint32_t e)
{
    asg_arc_t *av; uint32_t an, k, v, w;

    if(s >= g->n_seq) return;

    v = s<<1;
    av = asg_arc_a(g, v); an = asg_arc_n(g, v);
    for (k = 0; k < an; k++) {
        if(av[k].del) continue;
        if((av[k].v>>1) == e) {
            w = av[k].v;
            fprintf(stderr, "[M::%s]\tL\tutg%.6dl\t%c\tutg%.6dl\t%c\t%dM\tL1:i:%d\tL2:i:%u\n", __func__,
            (v>>1)+1, "+-"[v&1], (w>>1)+1, "+-"[w&1], av[k].ol, asg_arc_len(av[k]), 0/**au[j].ou**/);
        }
    }

    v = (s<<1)+1;
    av = asg_arc_a(g, v); an = asg_arc_n(g, v);
    for (k = 0; k < an; k++) {
        if(av[k].del) continue;
        if((av[k].v>>1) == e) {
            w = av[k].v;
            fprintf(stderr, "[M::%s]\tL\tutg%.6dl\t%c\tutg%.6dl\t%c\t%dM\tL1:i:%d\tL2:i:%u\n", __func__,
            (v>>1)+1, "+-"[v&1], (w>>1)+1, "+-"[w&1], av[k].ol, asg_arc_len(av[k]), 0/**au[j].ou**/);
        }
    }
    
}

// Assembly:
movl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
andl 0x14(%rdi), %eax
cmpl %esi, %eax
jbe 0xf242a
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edx, %ebx
movl %esi, %r14d
movq %rdi, %r15
leal (%r14,%r14), %edi
movq 0x8(%r15), %rax
movq 0x28(%r15), %rcx
movq (%rcx,%rdi,8), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
andq %rsi, %rdx
je 0xf2375
movq %rdi, 0x10(%rsp)
shrq $0x20, %rsi
leal 0x1(%r14), %ecx
movl %ecx, 0xc(%rsp)
leal 0x1(%rbx), %ecx
movl %ecx, 0x8(%rsp)
leaq (%rsi,%rsi,2), %rcx
leaq (%rax,%rcx,8), %rbp
addq $0xc, %rbp
shlq $0x3, %rdx
leaq (%rdx,%rdx,2), %r12
xorl %r13d, %r13d
movl (%rbp,%r13), %r10d
testl %r10d, %r10d
js 0xf2308
movl -0x4(%rbp,%r13), %eax
movl %eax, %ecx
shrl %ecx
cmpl %ebx, %ecx
je 0xf2313
addq $0x18, %r13
cmpq %r13, %r12
jne 0xf22f1
jmp 0xf2368
movq 0x1a2cc6(%rip), %rcx    # 0x294fe0
movq (%rcx), %rdi
andl $0x1, %eax
leaq 0x13ffac(%rip), %rcx    # 0x2322d3
movsbl (%rax,%rcx), %eax
movq %rax, (%rsp)
movl -0xc(%rbp,%r13), %r11d
leaq 0x1464ed(%rip), %rsi    # 0x238828
leaq 0x14651d(%rip), %rdx    # 0x23885f
movl 0xc(%rsp), %ecx
movl $0x2b, %r8d
movl 0x8(%rsp), %r9d
xorl %eax, %eax
pushq $0x0
pushq %r11
pushq %r10
pushq 0x18(%rsp)
callq 0x22b0
addq $0x20, %rsp
jmp 0xf2308
movq 0x8(%r15), %rax
movq 0x28(%r15), %rcx
movq 0x10(%rsp), %rdi
movl %edi, %edx
movq 0x8(%rcx,%rdx,8), %rcx
testl %ecx, %ecx
je 0xf241c
movq %rcx, %rdx
shrq $0x20, %rdx
incl %r14d
movl %ecx, %ecx
leal 0x1(%rbx), %esi
movl %esi, (%rsp)
leaq (%rdx,%rdx,2), %rdx
leaq (%rax,%rdx,8), %r13
addq $0xc, %r13
shlq $0x3, %rcx
leaq (%rcx,%rcx,2), %r15
xorl %r12d, %r12d
movl (%r13,%r12), %r10d
testl %r10d, %r10d
js 0xf23c4
movl -0x4(%r13,%r12), %eax
movl %eax, %ecx
shrl %ecx
cmpl %ebx, %ecx
je 0xf23cf
addq $0x18, %r12
cmpq %r12, %r15
jne 0xf23ad
jmp 0xf241c
movq 0x1a2c0a(%rip), %rcx    # 0x294fe0
movq (%rcx), %rdi
andl $0x1, %eax
leaq 0x13fef0(%rip), %rcx    # 0x2322d3
movsbl (%rax,%rcx), %r11d
movl -0xc(%r13,%r12), %ebp
leaq 0x146434(%rip), %rsi    # 0x238828
leaq 0x146464(%rip), %rdx    # 0x23885f
movl %r14d, %ecx
movl $0x2d, %r8d
movl (%rsp), %r9d
xorl %eax, %eax
pushq $0x0
pushq %rbp
pushq %r10
pushq %r11
callq 0x22b0
addq $0x20, %rsp
jmp 0xf23c4
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq