// File: /workspace/github_cpp_makefile_star2_O3/chhylp123[P]hifiasm/rcut.cpp
// Function: debug_mc_g_t(mc_g_t*)
void debug_mc_g_t(mc_g_t *mg)
{
    fprintf(stderr, "0----------[M::%s]----------\n", __func__);
	mc_edge_t *o = NULL, *s = NULL;
	uint32_t i, k, n, cnt;
	for (i = 0; i < mg->e->n_seq; ++i) 
	{
		o = pt_a(*(mg->e), i); n = pt_n(*(mg->e), i);
		for (k = 0; k < n; ++k)
		{
			if(ma_x(o[k]) != i) fprintf(stderr, "ERROR-g\n");
			s = get_mc_edge(mg->e, ma_y(o[k]), ma_x(o[k]));
			if(!s) fprintf(stderr, "ERROR-e\n");
			if(s)
			{
				if(!(ma_x(*s) == ma_y(o[k]) && ma_y(*s) == ma_x(o[k]) && s->w == o[k].w))
				{
					fprintf(stderr, "ERROR-f\n");
				}
			}
		}

		for (k = cnt = 0; k < mg->e->ma.n; ++k)
		{
			if(ma_x(mg->e->ma.a[k]) == i) cnt++;
		}

		if(cnt != n) fprintf(stderr, "ERROR-h\n");
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movq 0x277df1(%rip), %rax    # 0x294fe0
movq (%rax), %rdi
leaq 0x21fc05(%rip), %rsi    # 0x23cdfe
leaq 0x21fc87(%rip), %rdx    # 0x23ce87
xorl %eax, %eax
callq 0x22b0
movq 0x28(%rbx), %rax
cmpl $0x0, 0x38(%rax)
je 0x1d3cc
movq %rbx, %r11
xorl %r14d, %r14d
leaq 0x21fc84(%rip), %r15    # 0x23cea6
movq %rbx, 0x8(%rsp)
movq 0x10(%rax), %rcx
movq (%rcx,%r14,8), %r10
testl %r10d, %r10d
je 0x1d35a
movq %r10, %r12
shrq $0x1c, %r12
andq $-0x10, %r12
addq 0x28(%rax), %r12
movq %r10, 0x10(%rsp)
movl %r10d, %r13d
xorl %ebp, %ebp
movq %rbp, %rax
shlq $0x4, %rax
leaq (%r12,%rax), %rbx
movq (%r12,%rax), %rcx
movq %rcx, %rax
shrq $0x20, %rax
cmpq %r14, %rax
jne 0x1d321
movq 0x28(%r11), %rdx
movq 0x10(%rdx), %rdi
movl %ecx, %esi
movq (%rdi,%rsi,8), %rcx
movq %rcx, %r9
leaq 0x21fc15(%rip), %rdi    # 0x23ce9d
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
andq %r8, %r9
je 0x1d2f9
movq 0x28(%rdx), %rdx
shrq $0x20, %rcx
shlq $0x4, %r9
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rdi
addq $0x8, %rdi
xorl %r8d, %r8d
movq -0x8(%rdi,%r8), %r10
cmpl %eax, %r10d
je 0x1d2ca
addq $0x10, %r8
cmpq %r8, %r9
jne 0x1d2ae
leaq 0x21fbd5(%rip), %rdi    # 0x23ce9d
jmp 0x1d2f9
movq %r10, %r9
shrq $0x20, %r9
movq %r15, %rdi
cmpl %esi, %r9d
jne 0x1d2f9
movl %r10d, %esi
movq %r15, %rdi
cmpl %eax, %esi
jne 0x1d2f9
addq %rcx, %rdx
movsd 0x8(%r8,%rdx), %xmm0
ucomisd 0x8(%rbx), %xmm0
movq %r15, %rdi
jne 0x1d2f9
jnp 0x1d313
movq 0x277ce0(%rip), %rax    # 0x294fe0
movq (%rax), %rcx
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
callq 0x2410
movq 0x8(%rsp), %r11
incq %rbp
cmpq %r13, %rbp
jne 0x1d251
jmp 0x1d351
movq 0x277cb8(%rip), %rax    # 0x294fe0
movq (%rax), %rcx
leaq 0x21fb62(%rip), %rdi    # 0x23ce94
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
callq 0x2410
movq 0x8(%rsp), %r11
movq (%rbx), %rcx
movq %rcx, %rax
shrq $0x20, %rax
jmp 0x1d270
movq 0x28(%r11), %rax
movq 0x10(%rsp), %r10
movq 0x18(%rax), %rcx
testq %rcx, %rcx
je 0x1d38d
movq 0x28(%rax), %rsi
xorl %edx, %edx
pushq $0x1
popq %rdi
movl 0x4(%rsi), %r8d
xorl %r9d, %r9d
cmpq %r14, %r8
sete %r9b
addl %r9d, %edx
movl %edi, %r8d
addq $0x10, %rsi
incl %edi
cmpq %r8, %rcx
ja 0x1d36c
jmp 0x1d38f
xorl %edx, %edx
cmpl %r10d, %edx
jne 0x1d3a5
incq %r14
movl 0x38(%rax), %ecx
cmpq %rcx, %r14
jb 0x1d227
jmp 0x1d3cc
movq 0x277c34(%rip), %rax    # 0x294fe0
movq (%rax), %rcx
leaq 0x21faf9(%rip), %rdi    # 0x23ceaf
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
callq 0x2410
movq 0x8(%rsp), %r11
movq 0x28(%r11), %rax
jmp 0x1d394
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq