// File: /workspace/github_c_makefile_star2_O3/mishun[P]plantri/plantri.c
// Function: mark_edge_orbits
static void
mark_edge_orbits(EDGE *edge[], int count, int minimal[], int nbtot)

/* edge[0..count-1] is a list of edges.  Put minimal[i] = 1 if
   edge[i] is the first appearance of its orbit, and  minimal[i] = 0
   if not.  Orbits on undirected edges are considered. */
{
    int i;
    EDGE **nb0,**nb,**nblim;
 
    if (nbtot == 1) 
        for (i = 0; i < count; ++i) minimal[i] = 1;
    else
    {
        nb0 = (EDGE**)numbering[0];
        nblim = (EDGE**)numbering[nbtot];
        for (i = 0; i < ne; ++i) nb0[i]->index = i;
 
        RESETMARKS;
    
        for (i = 0; i < count; ++i)
        {
            nb = nb0 + edge[i]->index;
            if (!ISMARKEDLO((*nb)->min))
            {
                minimal[i] = 1;
                for ( ; nb < nblim; nb += MAXE) MARKLO((*nb)->min);
            }
            else
                minimal[i] = 0;
        }
    }
}

// Assembly:
pushq %rbx
cmpl $0x1, %ecx
jne 0xe32d
testl %esi, %esi
jle 0xe415
movl %esi, %eax
addl $0x3, %esi
decq %rax
movq %rax, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
shrl $0x2, %esi
shlq $0x4, %rsi
movdqa 0x11ec1(%rip), %xmm1    # 0x20110
movdqa 0x11e89(%rip), %xmm2    # 0x200e0
xorl %eax, %eax
movdqa 0x11e8f(%rip), %xmm3    # 0x200f0
pxor %xmm3, %xmm0
pcmpeqd %xmm4, %xmm4
movdqa 0x11eaf(%rip), %xmm5    # 0x20120
movdqa %xmm2, %xmm6
pxor %xmm3, %xmm6
movdqa %xmm6, %xmm7
pcmpgtd %xmm0, %xmm7
pcmpeqd %xmm0, %xmm6
pshufd $0xf5, %xmm6, %xmm8     # xmm8 = xmm6[1,1,3,3]
pand %xmm7, %xmm8
pshufd $0xf5, %xmm7, %xmm6     # xmm6 = xmm7[1,1,3,3]
por %xmm8, %xmm6
movd %xmm6, %ecx
notl %ecx
testb $0x1, %cl
je 0xe2ac
movl $0x1, (%rdx,%rax)
pxor %xmm4, %xmm6
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0xe2c2
movl $0x1, 0x4(%rdx,%rax)
movdqa %xmm1, %xmm6
pxor %xmm3, %xmm6
movdqa %xmm6, %xmm7
pcmpgtd %xmm0, %xmm7
pcmpeqd %xmm0, %xmm6
pshufd $0xf5, %xmm6, %xmm8     # xmm8 = xmm6[1,1,3,3]
pand %xmm7, %xmm8
pshufd $0xf5, %xmm7, %xmm6     # xmm6 = xmm7[1,1,3,3]
por %xmm8, %xmm6
pxor %xmm4, %xmm6
pextrw $0x0, %xmm6, %ecx
testb $0x1, %cl
je 0xe301
movl $0x1, 0x8(%rdx,%rax)
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0xe313
movl $0x1, 0xc(%rdx,%rax)
paddq %xmm5, %xmm2
paddq %xmm5, %xmm1
addq $0x10, %rax
cmpq %rax, %rsi
jne 0xe271
jmp 0xe415
leaq 0x199bc(%rip), %rax     # 0x27cf0
movslq 0x2362d9(%rip), %r8     # 0x244614
testq %r8, %r8
jle 0xe359
xorl %r9d, %r9d
movq %rax, %r10
movq (%r10), %r11
movl %r9d, 0x34(%r11)
incq %r9
addq $0x8, %r10
cmpq %r9, %r8
jne 0xe346
movl 0x17d2c(%rip), %r9d     # 0x2608c
leal 0x2(%r9), %r8d
movl %r8d, 0x17d21(%rip)     # 0x2608c
cmpl $0x752f, %r9d           # imm = 0x752F
jl 0xe3a6
movl $0x2, 0x17d0e(%rip)     # 0x2608c
movl $0x30, %r8d
leaq 0x236295(%rip), %r9     # 0x244620
movl $0x0, (%r8,%r9)
addq $0x40, %r8
cmpq $0x46630, %r8           # imm = 0x46630
jne 0xe38b
movl $0x2, %r8d
testl %esi, %esi
jle 0xe415
movslq %ecx, %rcx
imulq $0xba0, %rcx, %rcx      # imm = 0xBA0
leaq (%rax,%rcx), %r9
movl %esi, %esi
xorl %r10d, %r10d
movq (%rdi,%r10,8), %r11
movslq 0x34(%r11), %r11
movq (%rax,%r11,8), %rbx
movq 0x28(%rbx), %rbx
cmpl %r8d, 0x30(%rbx)
jne 0xe3dd
movl $0x0, (%rdx,%r10,4)
jmp 0xe40d
leaq (,%r11,8), %rbx
movl $0x1, (%rdx,%r10,4)
cmpq %rcx, %rbx
jge 0xe40d
leaq (%rax,%r11,8), %r11
movq (%r11), %rbx
movq 0x28(%rbx), %rbx
movl %r8d, 0x30(%rbx)
addq $0xba0, %r11            # imm = 0xBA0
cmpq %r9, %r11
jb 0xe3f6
incq %r10
cmpq %rsi, %r10
jne 0xe3bd
popq %rbx
retq