// File: /workspace/github_c_makefile_star2_O2/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:
movl 0xde60(%rip), %eax      # 0x24080
leal 0x1(%rax), %ecx
movl %ecx, 0xde57(%rip)      # 0x24080
cmpl $0x7530, %eax           # imm = 0x7530
jl 0x16258
movl $0x1, 0xde46(%rip)      # 0x24080
xorl %eax, %eax
pushq $0x1
popq %rcx
leaq 0x2729da(%rip), %rdx    # 0x288c20
cmpq $0x100, %rax            # imm = 0x100
je 0x16258
andl $0x0, (%rax,%rdx)
addq $0x4, %rax
jmp 0x16246
movq 0x18(%rdi), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq 0x18(%rax), %rdx
movq 0x18(%rdx), %rsi
leaq 0x2729ad(%rip), %rdx    # 0x288c20
movq 0x18(%rsi), %rsi
movslq 0x4(%rsi), %r8
movl %ecx, (%rdx,%r8,4)
cmpq %rax, %rsi
jne 0x16273
movq 0x10(%rdi), %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 0x16377
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
je 0x16377
movq 0x10(%rsi), %rsi
movq 0x10(%rsi), %rsi
movq 0x10(%r9), %r9
movq 0x10(%r9), %r9
cmpq %r9, %r8
je 0x162e6
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
jne 0x162ce
jmp 0x16377
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 0x16377
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
je 0x16377
movq 0x10(%r9), %r9
movq 0x10(%r9), %r9
cmpq %r9, %r8
je 0x1632b
movq 0x18(%r8), %r8
movslq 0x4(%r8), %r10
cmpl %ecx, (%rdx,%r10,4)
jne 0x16316
jmp 0x16377
pushq $0x1
popq %r8
cmpq %rsi, %rdi
je 0x16378
movq 0x18(%rdi), %rdi
movq 0x20(%rdi), %r10
movq 0x18(%r10), %r9
movq 0x18(%r9), %r9
movslq 0x4(%r9), %r11
cmpl %ecx, (%rdx,%r11,4)
je 0x16377
movq 0x18(%r9), %r9
movslq 0x4(%r9), %r11
cmpl %ecx, (%rdx,%r11,4)
je 0x16377
movq 0x10(%r10), %r10
movq 0x10(%r10), %r10
cmpq %r10, %r9
je 0x1632f
movq 0x18(%r9), %r9
movslq 0x4(%r9), %r11
cmpl %ecx, (%rdx,%r11,4)
jne 0x16364
retq
movl %r8d, %eax
retq