// File: /workspace/github_c_makefile_star2_O0/jiqingxiaoxi[P]RPA/RPA.c
// Function: check_uniq
int check_uniq(struct Primer *F,struct Primer *R)
{
        struct Node *s_F,*s_R,*b_R;

//plus
	b_R=R->specific;
        for(s_F=F->specific;s_F;s_F=s_F->next)
        {
                if(s_F->plus!=1)
                        continue;
                for(s_R=b_R;s_R;s_R=s_R->next)
                {
			if(s_R->gi<s_F->gi)
			{
				b_R=s_R->next;
				continue;
			}
                        if(s_R->gi>s_F->gi)
                                break;
			if(s_R->pos<s_F->pos)
			{
				b_R=b_R->next;
                                continue;
                        }
			if(s_R->pos-s_F->pos>2000)
				break;
                        if(s_R->minus!=1)
                                continue;
			return 0;
                }
        }
//minus
	b_R=R->specific;
        for(s_F=F->specific;s_F;s_F=s_F->next)
        {
                if(s_F->minus!=1)
                        continue;
                for(s_R=b_R;s_R;s_R=s_R->next)
                {
                        if(s_R->gi<s_F->gi)
			{
				b_R=s_R->next;
                                continue;
			}
			if(s_R->gi>s_F->gi)
				break;
			if(s_R->pos>s_F->pos)
				break;
			if(s_R->pos-s_F->pos<-2000)
			{
                                b_R=b_R->next;
                                continue;
                        }
                        if(s_R->plus!=1)
                                continue;
			return 0;
                }
        }
	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x1614e
movq -0x20(%rbp), %rax
cmpl $0x1, 0x8(%rax)
je 0x1609e
jmp 0x1613d
movq -0x30(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x1613b
movq -0x28(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x20(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jge 0x160cf
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x1612a
movq -0x28(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x20(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jle 0x160e1
jmp 0x1613b
movq -0x28(%rbp), %rax
movl (%rax), %eax
movq -0x20(%rbp), %rcx
cmpl (%rcx), %eax
jge 0x160fd
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x1612a
movq -0x28(%rbp), %rax
movl (%rax), %eax
movq -0x20(%rbp), %rcx
subl (%rcx), %eax
cmpl $0x7d0, %eax            # imm = 0x7D0
jle 0x16112
jmp 0x1613b
movq -0x28(%rbp), %rax
cmpl $0x1, 0xc(%rax)
je 0x1611e
jmp 0x1612a
movl $0x0, -0x4(%rbp)
jmp 0x16234
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x160a6
jmp 0x1613d
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x16084
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x1622d
movq -0x20(%rbp), %rax
cmpl $0x1, 0xc(%rax)
je 0x16180
jmp 0x1621c
movq -0x30(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x1621a
movq -0x28(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x20(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jge 0x161b1
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x16209
movq -0x28(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x20(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jle 0x161c3
jmp 0x1621a
movq -0x28(%rbp), %rax
movl (%rax), %eax
movq -0x20(%rbp), %rcx
cmpl (%rcx), %eax
jle 0x161d3
jmp 0x1621a
movq -0x28(%rbp), %rax
movl (%rax), %eax
movq -0x20(%rbp), %rcx
subl (%rcx), %eax
cmpl $0xfffff830, %eax       # imm = 0xFFFFF830
jge 0x161f4
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x16209
movq -0x28(%rbp), %rax
cmpl $0x1, 0x8(%rax)
je 0x16200
jmp 0x16209
movl $0x0, -0x4(%rbp)
jmp 0x16234
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x16188
jmp 0x1621c
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x16166
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq