// File: /workspace/github_c_makefile_star2_O3/mishun[P]plantri/plantri.c
// Function: wont_be_on_nf_4_cycle
static int
wont_be_on_nf_4_cycle(EDGE *e)

/* returns 1 if after switching e won't be on an nf 4-cycle. Assumes that
   there are no nf 3-cycles either before or after the switching. */            

/* Alternative version:
{
    EDGE *e1,*e2,*e3;
    int k1,k2,k3;

    RESETMARKS_V;

    for (e1 = e->prev->invers->next,
              k1 = degree[e1->start]-2; --k1 >= 0; e1 = e1->next)
	MARK_V(e1->end);

    for (e2 = e->next->invers->prev,
              k2 = degree[e2->start]-2; --k2 >= 0; e2 = e2->prev)
	for (e3 = e2->invers->next->next,
                  k3 = degree[e3->start]-3; --k3 >= 0; e3 = e3->next)
	    if (ISMARKED_V(e3->end)) return FALSE;

    return TRUE;
}
*/

{
  EDGE *run, *run1, *last, *last1, *dummy;

  RESETMARKS_V;
  last=e->next->invers->prev;
  run=last->next->next->next;
  MARK_V(run->end);
  while (run!=last)
    { run=run->next;
      MARK_V(run->end);
    }

  e=e->prev->invers;
  run=e->next;
  last=e->prev->prev;
    dummy=run->invers;                           
    last1=dummy->prev->prev;
    run1=dummy->next->next;   
    if (ISMARKED_V(run1->end)) return 0;
    run1=run1->next;
    if (ISMARKED_V(run1->end)) return 0;
    while (run1!=last1)
      { run1=run1->next; if (ISMARKED_V(run1->end)) return 0; }
  run=run->next;
    dummy=run->invers;
    last1=dummy->prev->prev;
    run1=dummy->next->next;
    if (ISMARKED_V(run1->end)) return 0;
    run1=run1->next;
    if (ISMARKED_V(run1->end)) return 0;
    while (run1!=last1)
      { run1=run1->next; if (ISMARKED_V(run1->end)) return 0; }
  while (run!=last)
    { run=run->next;
      dummy=run->invers;
      last1=dummy->prev->prev;
      run1=dummy->next->next;
      if (ISMARKED_V(run1->end)) return 0;
      run1=run1->next;
      if (ISMARKED_V(run1->end)) return 0;
      while (run1!=last1)
        { run1=run1->next; if (ISMARKED_V(run1->end)) return 0; }
    }
  return 1;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl 0xe833(%rip), %eax      # 0x26090
leal 0x1(%rax), %ecx
movl %ecx, 0xe82a(%rip)      # 0x26090
cmpl $0x7530, %eax           # imm = 0x7530
jl 0x1788f
movl $0x1, 0xe819(%rip)      # 0x26090
leaq 0x2733b2(%rip), %rdi    # 0x28ac30
movl $0x100, %edx            # imm = 0x100
xorl %esi, %esi
callq 0x1030
movl $0x1, %ecx
movq 0x18(%rbx), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq 0x18(%rax), %rdx
movq 0x18(%rdx), %rdx
movq 0x18(%rdx), %rsi
movslq 0x4(%rsi), %rdi
leaq 0x27337e(%rip), %rdx    # 0x28ac30
movl %ecx, (%rdx,%rdi,4)
cmpq %rax, %rsi
je 0x178c4
movq 0x18(%rsi), %rsi
movslq 0x4(%rsi), %rdi
jmp 0x178b2
movq 0x10(%rbx), %rax
movq 0x20(%rax), %rsi
movq 0x18(%rsi), %rdi
movq 0x20(%rdi), %r9
movq 0x18(%r9), %rax
movq 0x18(%rax), %r8
movslq 0x4(%r8), %r10
xorl %eax, %eax
cmpl %ecx, (%rdx,%r10,4)
je 0x179ba
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
je 0x179ba
movq 0x10(%rsi), %rsi
movq 0x10(%rsi), %rsi
movq 0x10(%r9), %r9
movq 0x10(%r9), %r9
cmpq %r9, %r8
je 0x17926
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
jne 0x1790e
jmp 0x179ba
movq 0x18(%rdi), %rdi
movq 0x20(%rdi), %r9
movq 0x18(%r9), %r8
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
je 0x179ba
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
je 0x179ba
movq 0x10(%r9), %r9
movq 0x10(%r9), %r9
cmpq %r9, %r8
je 0x179b0
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
jne 0x17956
jmp 0x179ba
movq 0x18(%rdi), %rdi
movq 0x20(%rdi), %r9
movq 0x18(%r9), %r8
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
je 0x179ba
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
je 0x179ba
movq 0x10(%r9), %r9
movq 0x10(%r9), %r9
cmpq %r9, %r8
je 0x179b0
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
jne 0x1799b
jmp 0x179ba
cmpq %rsi, %rdi
jne 0x1796b
movl $0x1, %eax
popq %rbx
retq