// File: /workspace/github_cpp_makefile_star2_O2/chhylp123[P]hifiasm/gfa_ut.cpp
// Function: print_node(asg_t*, unsigned int)
void print_node(asg_t *sg, uint32_t src)
{
    asg_arc_t *av; uint32_t nv, v, i;
    v = src<<1;
    av = asg_arc_a(sg, v); nv = asg_arc_n(sg, v);
    fprintf(stderr, "\n%.*s(%c)\tnv:%u\n", 
                (int32_t)Get_NAME_LENGTH(R_INF, v>>1), Get_NAME(R_INF, v>>1), "+-"[v&1], nv);
    for (i = 0; i < nv; i++) {
        fprintf(stderr, "++++++%.*s(%c)<id:%lu>\t%.*s(%c)<id:%u>\tol:%u\tou:%u\tdel:%u\n", 
                (int32_t)Get_NAME_LENGTH(R_INF, (av[i].ul>>33)), Get_NAME(R_INF, (av[i].ul>>33)), "+-"[(av[i].ul>>32)&1], av[i].ul>>33, 
                (int32_t)Get_NAME_LENGTH(R_INF, (av[i].v>>1)), Get_NAME(R_INF, (av[i].v>>1)), "+-"[av[i].v&1], av[i].v>>1, av[i].ol, av[i].ou, av[i].del);
    }

    v = (src<<1)+1;
    av = asg_arc_a(sg, v); nv = asg_arc_n(sg, v);
    fprintf(stderr, "\n%.*s(%c)\tnv:%u\n", 
                (int32_t)Get_NAME_LENGTH(R_INF, v>>1), Get_NAME(R_INF, v>>1), "+-"[v&1], nv);
    for (i = 0; i < nv; i++) {
        fprintf(stderr, "------%.*s(%c)<id:%lu>\t%.*s(%c)<id:%u>\tol:%u\tou:%u\tdel:%u\n", 
                (int32_t)Get_NAME_LENGTH(R_INF, (av[i].ul>>33)), Get_NAME(R_INF, (av[i].ul>>33)), "+-"[(av[i].ul>>32)&1], av[i].ul>>33, 
                (int32_t)Get_NAME_LENGTH(R_INF, (av[i].v>>1)), Get_NAME(R_INF, (av[i].v>>1)), "+-"[av[i].v&1], av[i].v>>1, av[i].ol, av[i].ou, av[i].del);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
leal (%rsi,%rsi), %ecx
movq 0x8(%rdi), %rbx
movq %rdi, 0x20(%rsp)
movq 0x28(%rdi), %rax
movq %rcx, 0x18(%rsp)
movq (%rax,%rcx,8), %r15
movq %r15, %r12
shrq $0x20, %r12
movq 0xa5adc(%rip), %rax     # 0x252fe0
movq (%rax), %rdi
leaq 0xa6d22(%rip), %r8      # 0x254230
movq 0x40(%r8), %rax
andl $0x7fffffff, %esi       # imm = 0x7FFFFFFF
leaq 0x1(%rsi), %rcx
movq %rcx, 0x10(%rsp)
movl 0x8(%rax,%rsi,8), %edx
movq %rsi, 0x28(%rsp)
movq (%rax,%rsi,8), %rcx
subl %ecx, %edx
addq 0x8(%r8), %rcx
leaq 0x4a532(%rip), %rsi     # 0x1f7a6d
pushq $0x2b
popq %r8
movl %r15d, %r9d
xorl %eax, %eax
callq 0x22b0
movl %r15d, %eax
imulq $0x18, %rax, %rax
movq %rax, (%rsp)
imulq $0x18, %r12, %rax
addq %rbx, %rax
addq $0x10, %rax
movq %rax, 0x30(%rsp)
xorl %r12d, %r12d
movq 0x30(%rsp), %rbp
cmpq %r12, (%rsp)
je 0x1ad633
movq 0xa5a63(%rip), %rax     # 0x252fe0
movq (%rax), %rdi
leaq 0xa6ca9(%rip), %rax     # 0x254230
movq 0x8(%rax), %r10
movq 0x40(%rax), %rax
movq -0x10(%rbp,%r12), %rsi
movq %rsi, %r9
shrq $0x21, %r9
movl 0x8(%rax,%r9,8), %edx
movq (%rax,%r9,8), %rcx
subl %ecx, %edx
addq %r10, %rcx
btq $0x20, %rsi
leaq 0x36c6e(%rip), %rbx     # 0x1e4223
movq %rbx, %rsi
adcq $0x0, %rsi
movsbl (%rsi), %r8d
movl -0x8(%rbp,%r12), %esi
movl %esi, %r13d
shrl %r13d
movl 0x8(%rax,%r13,8), %r11d
movq (%rax,%r13,8), %rax
subl %eax, %r11d
addq %rax, %r10
andl $0x1, %esi
movsbl (%rsi,%rbx), %eax
movq %rax, 0x8(%rsp)
movl -0x4(%rbp,%r12), %r15d
movl %r15d, %r14d
andl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
movzwl (%rbp,%r12), %ebx
andl $0x3fff, %ebx           # imm = 0x3FFF
shrl $0x1f, %r15d
subq $0x8, %rsp
leaq 0x4a46e(%rip), %rsi     # 0x1f7a7e
xorl %eax, %eax
pushq %r15
pushq %rbx
pushq %r14
pushq %r13
pushq 0x30(%rsp)
pushq %r10
pushq %r11
callq 0x22b0
addq $0x40, %rsp
addq $0x18, %r12
jmp 0x1ad56c
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rbx
movq 0x28(%rax), %rax
movl 0x18(%rsp), %ecx
movq 0x8(%rax,%rcx,8), %r14
movq %r14, %r15
shrq $0x20, %r15
movq 0xa5989(%rip), %rax     # 0x252fe0
movq (%rax), %rdi
leaq 0xa6bcf(%rip), %rsi     # 0x254230
movq 0x40(%rsi), %rax
movq 0x10(%rsp), %rcx
movl (%rax,%rcx,8), %edx
movq 0x28(%rsp), %rcx
movq (%rax,%rcx,8), %rcx
subl %ecx, %edx
addq 0x8(%rsi), %rcx
leaq 0x4a3ea(%rip), %rsi     # 0x1f7a6d
pushq $0x2d
popq %r8
movl %r14d, %r9d
xorl %eax, %eax
callq 0x22b0
movl %r14d, %eax
imulq $0x18, %rax, %rcx
imulq $0x18, %r15, %rax
leaq (%rax,%rbx), %r15
addq $0x10, %r15
xorl %r12d, %r12d
movq %rcx, (%rsp)
cmpq %r12, %rcx
je 0x1ad773
movq 0xa5925(%rip), %rax     # 0x252fe0
movq (%rax), %rdi
leaq 0xa6b6b(%rip), %rax     # 0x254230
movq 0x8(%rax), %r10
movq 0x40(%rax), %rax
movq -0x10(%r15,%r12), %rsi
movq %rsi, %r9
shrq $0x21, %r9
movl 0x8(%rax,%r9,8), %edx
movq (%rax,%r9,8), %rcx
subl %ecx, %edx
addq %r10, %rcx
btq $0x20, %rsi
leaq 0x36b30(%rip), %rbx     # 0x1e4223
movq %rbx, %rsi
adcq $0x0, %rsi
movsbl (%rsi), %r8d
movl -0x8(%r15,%r12), %esi
movl %esi, %r13d
shrl %r13d
movl 0x8(%rax,%r13,8), %r11d
movq (%rax,%r13,8), %rax
subl %eax, %r11d
addq %rax, %r10
andl $0x1, %esi
movsbl (%rsi,%rbx), %eax
movq %rax, 0x8(%rsp)
movl -0x4(%r15,%r12), %ebx
movl %ebx, %r14d
andl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
movzwl (%r15,%r12), %ebp
andl $0x3fff, %ebp           # imm = 0x3FFF
shrl $0x1f, %ebx
subq $0x8, %rsp
leaq 0x4a36d(%rip), %rsi     # 0x1f7ab9
xorl %eax, %eax
pushq %rbx
pushq %rbp
pushq %r14
pushq %r13
pushq 0x30(%rsp)
pushq %r10
pushq %r11
callq 0x22b0
movq 0x40(%rsp), %rcx
addq $0x40, %rsp
addq $0x18, %r12
jmp 0x1ad6ab
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq