// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/plantri.c
// Function: is_valid_min5_b
static int
is_valid_min5_b(EDGE *ref, int mirror)

/* Check if the B-reduction (ref,mirror) is valid.  The important
   things are that two vertices have degree >= 6 and there are no
   non-facial 5-cycles that will become non-facial 4-cycles.
   It is assumed that the ends and sides of ref have degree 5.
*/

{
    EDGE *e1,*e2,*e,*refi;

    refi = ref->invers;

    if (!mirror)
    {
	if (degree[ref->next->next->end] < 6
				         || degree[refi->next->next->end] < 6)
	    return FALSE;
	e1 = ref->prev->prev->invers->prev->prev;
	e2 = refi->prev->prev->invers->prev->prev;

	RESETMARKS_V;

	for (e = e1->next->next->next->next; e != e1; e = e->next)
	    MARK_V(e->end);
	e1 = e1->invers;
	for (e = e1->prev->prev->prev; e != e1; e = e->prev)
	    MARK_V(e->end);

	for (e = e2->next->next->next->next; e != e2; e = e->next)
	    if (ISMARKED_V(e->end)) return FALSE;
	e2 = e2->invers;
        for (e = e2->prev->prev->prev; e != e2; e = e->prev)
            if (ISMARKED_V(e->end)) return FALSE;
    }
    else
    {
        if (degree[ref->prev->prev->end] < 6
                                         || degree[refi->prev->prev->end] < 6)
            return FALSE;
        e1 = ref->next->next->invers->next->next;
        e2 = refi->next->next->invers->next->next;

        RESETMARKS_V;  

	for (e = e1->prev->prev->prev->prev; e != e1; e = e->prev)
            MARK_V(e->end);
        e1 = e1->invers;
        for (e = e1->next->next->next; e != e1; e = e->next)
            MARK_V(e->end);

        for (e = e2->prev->prev->prev->prev; e != e2; e = e->prev)
            if (ISMARKED_V(e->end)) return FALSE;
        e2 = e2->invers;
        for (e = e2->next->next->next; e != e2; e = e->next)
            if (ISMARKED_V(e->end)) return FALSE;
    }

    return TRUE;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x38(%rbp)
cmpl $0x0, -0x14(%rbp)
jne 0x27d50
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0x160b8(%rip), %rax     # 0x3dc00
cmpl $0x6, (%rax,%rcx,4)
jl 0x27b6b
movq -0x38(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0x1609b(%rip), %rax     # 0x3dc00
cmpl $0x6, (%rax,%rcx,4)
jge 0x27b77
movl $0x0, -0x4(%rbp)
jmp 0x27f6d
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movl 0x144db(%rip), %eax     # 0x3c090
addl $0x1, %eax
movl %eax, 0x144d2(%rip)     # 0x3c090
cmpl $0x7530, %eax           # imm = 0x7530
jle 0x27bfb
movl $0x1, 0x144c1(%rip)     # 0x3c090
movl $0x0, -0x3c(%rbp)
cmpl $0x40, -0x3c(%rbp)
jge 0x27bf9
movslq -0x3c(%rbp), %rcx
leaq 0x279059(%rip), %rax    # 0x2a0c40
movl $0x0, (%rax,%rcx,4)
movl -0x3c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3c(%rbp)
jmp 0x27bd6
jmp 0x27bfb
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x20(%rbp), %rax
je 0x27c43
movl 0x1446d(%rip), %edx     # 0x3c090
movq -0x30(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x27900e(%rip), %rax    # 0x2a0c40
movl %edx, (%rax,%rcx,4)
movq -0x30(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x27c13
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x20(%rbp), %rax
je 0x27c93
movl 0x1441d(%rip), %edx     # 0x3c090
movq -0x30(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x278fbe(%rip), %rax    # 0x2a0c40
movl %edx, (%rax,%rcx,4)
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x27c63
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0x27ceb
movq -0x30(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x278f7c(%rip), %rax    # 0x2a0c40
movl (%rax,%rcx,4), %eax
cmpl 0x143c3(%rip), %eax     # 0x3c090
jne 0x27cdb
movl $0x0, -0x4(%rbp)
jmp 0x27f6d
jmp 0x27cdd
movq -0x30(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x27cab
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0x27d4b
movq -0x30(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x278f1c(%rip), %rax    # 0x2a0c40
movl (%rax,%rcx,4), %eax
cmpl 0x14363(%rip), %eax     # 0x3c090
jne 0x27d3b
movl $0x0, -0x4(%rbp)
jmp 0x27f6d
jmp 0x27d3d
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x27d0b
jmp 0x27f66
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0x15e99(%rip), %rax     # 0x3dc00
cmpl $0x6, (%rax,%rcx,4)
jl 0x27d8a
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movslq 0x4(%rax), %rcx
leaq 0x15e7c(%rip), %rax     # 0x3dc00
cmpl $0x6, (%rax,%rcx,4)
jge 0x27d96
movl $0x0, -0x4(%rbp)
jmp 0x27f6d
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x38(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x20(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
movl 0x142bc(%rip), %eax     # 0x3c090
addl $0x1, %eax
movl %eax, 0x142b3(%rip)     # 0x3c090
cmpl $0x7530, %eax           # imm = 0x7530
jle 0x27e1a
movl $0x1, 0x142a2(%rip)     # 0x3c090
movl $0x0, -0x40(%rbp)
cmpl $0x40, -0x40(%rbp)
jge 0x27e18
movslq -0x40(%rbp), %rcx
leaq 0x278e3a(%rip), %rax    # 0x2a0c40
movl $0x0, (%rax,%rcx,4)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x27df5
jmp 0x27e1a
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x20(%rbp), %rax
je 0x27e62
movl 0x1424e(%rip), %edx     # 0x3c090
movq -0x30(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x278def(%rip), %rax    # 0x2a0c40
movl %edx, (%rax,%rcx,4)
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x27e32
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x20(%rbp), %rax
je 0x27eb2
movl 0x141fe(%rip), %edx     # 0x3c090
movq -0x30(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x278d9f(%rip), %rax    # 0x2a0c40
movl %edx, (%rax,%rcx,4)
movq -0x30(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x27e82
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0x27f07
movq -0x30(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x278d5d(%rip), %rax    # 0x2a0c40
movl (%rax,%rcx,4), %eax
cmpl 0x141a4(%rip), %eax     # 0x3c090
jne 0x27ef7
movl $0x0, -0x4(%rbp)
jmp 0x27f6d
jmp 0x27ef9
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x27eca
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0x27f64
movq -0x30(%rbp), %rax
movslq 0x4(%rax), %rcx
leaq 0x278d00(%rip), %rax    # 0x2a0c40
movl (%rax,%rcx,4), %eax
cmpl 0x14147(%rip), %eax     # 0x3c090
jne 0x27f54
movl $0x0, -0x4(%rbp)
jmp 0x27f6d
jmp 0x27f56
movq -0x30(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x27f27
jmp 0x27f66
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)