// File: /workspace/github_c_makefile_star2_O2/mishun[P]plantri/plantri.c
// Function: add_new_nf3_cycles
static void
add_new_nf3_cycles(EDGE *e, EDGE **on3, int *non3)
 
/* The edge e has just been switched.  Previously it was not on any
   nf-3-cycles and on3[0..non3-1] was a list of all edges on nf-3-cycles.
   Add any new nf-3-cycles to on3[].  All edges are in min form. */
 
{
    int i,j,k,v1;
    EDGE *e1,*e2,*ee;
    EDGE *e0[MAXN];
 
    RESETMARKS;
    for (i = *non3; --i >= 0; ) MARKLO(on3[i]);
 
    RESETMARKS_V;
    v1 = e->start;
    for (e1 = e->next->next, k = degree[v1]-3; --k >= 0; e1 = e1->next)
    {
        MARK_V(e1->end);
        e0[e1->end] = e1;
    }
 
    j = *non3;
    for (e1 = e->invers->next->next, k = degree[e->end]-3;
                                                   --k >= 0; e1 = e1->next)
        if (ISMARKED_V(e1->end))
        {
            e2 = e0[e1->end];
 
            ee = e->min;
            if (!ISMARKEDLO(ee))
            {
                on3[j++] = ee;
                MARKLO(ee);
            }
            ee = e1->min;
            if (!ISMARKEDLO(ee))
            {
                on3[j++] = ee;
                MARKLO(ee);
            }
            ee = e2->min;
            if (!ISMARKEDLO(ee))
            {
                on3[j++] = ee;
                MARKLO(ee);
            }
        }
    *non3 = j;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x180, %rsp            # imm = 0x180
movl 0xda33(%rip), %ecx      # 0x2407c
leal 0x2(%rcx), %eax
movl %eax, 0xda2a(%rip)      # 0x2407c
cmpl $0x752f, %ecx           # imm = 0x752F
jl 0x1668e
movl $0x2, 0xda18(%rip)      # 0x2407c
movabsq $0x30, %rcx
movl $0x2, %eax
leaq 0x22bf96(%rip), %r8     # 0x242610
cmpq $0x46630, %rcx          # imm = 0x46630
je 0x1668e
andl $0x0, (%rcx,%r8)
addq $0x40, %rcx
jmp 0x1667a
movl (%rdx), %ecx
testl %ecx, %ecx
jle 0x166a2
movq -0x8(%rsi,%rcx,8), %r8
decq %rcx
movl %eax, 0x30(%r8)
jmp 0x16690
movl 0xd9d7(%rip), %r8d      # 0x24080
leal 0x1(%r8), %ecx
movl %ecx, 0xd9cd(%rip)      # 0x24080
cmpl $0x7530, %r8d           # imm = 0x7530
jl 0x166e9
movl $0x1, 0xd9ba(%rip)      # 0x24080
xorl %r8d, %r8d
movl $0x1, %ecx
leaq 0x27254b(%rip), %r9     # 0x288c20
cmpq $0x100, %r8             # imm = 0x100
je 0x166e9
andl $0x0, (%r8,%r9)
addq $0x4, %r8
jmp 0x166d5
movslq (%rdi), %r8
movq 0x18(%rdi), %r9
leaq 0xf4e9(%rip), %r11      # 0x25be0
movl (%r11,%r8,4), %r10d
addl $-0x3, %r10d
leaq 0x27251a(%rip), %r8     # 0x288c20
testl %r10d, %r10d
jle 0x16725
decl %r10d
movq 0x18(%r9), %r9
movslq 0x4(%r9), %rbx
movl %ecx, (%r8,%rbx,4)
movslq 0x4(%r9), %rbx
movq %r9, -0x80(%rsp,%rbx,8)
jmp 0x16706
movl (%rdx), %r9d
movq 0x20(%rdi), %r10
movq 0x18(%r10), %r10
movslq 0x4(%rdi), %rbx
movl (%r11,%rbx,4), %r11d
addl $-0x3, %r11d
testl %r11d, %r11d
jle 0x1679f
decl %r11d
movq 0x18(%r10), %r10
movslq 0x4(%r10), %rbx
cmpl %ecx, (%r8,%rbx,4)
jne 0x1673c
movq 0x28(%rdi), %r14
cmpl %eax, 0x30(%r14)
je 0x1676a
movslq %r9d, %r15
incl %r9d
movq %r14, (%rsi,%r15,8)
movl %eax, 0x30(%r14)
movq 0x28(%r10), %r14
cmpl %eax, 0x30(%r14)
je 0x16782
movslq %r9d, %r15
incl %r9d
movq %r14, (%rsi,%r15,8)
movl %eax, 0x30(%r14)
movq -0x80(%rsp,%rbx,8), %rbx
movq 0x28(%rbx), %rbx
cmpl %eax, 0x30(%rbx)
je 0x1673c
movslq %r9d, %r14
incl %r9d
movq %rbx, (%rsi,%r14,8)
movl %eax, 0x30(%rbx)
jmp 0x1673c
movl %r9d, (%rdx)
addq $0x180, %rsp            # imm = 0x180
popq %rbx
popq %r14
popq %r15
retq