// File: /workspace/github_c_makefile_star2_O0/jiqingxiaoxi[P]RPA/RPA.c
// Function: check_common
int check_common(struct Primer *F,struct Primer *R,int *result,int common)
{
        int dis,num,i;
	struct Node *c_F,*c_R,*b_R;

	for(i=0;i<common;i++)
		result[i]=0;
//plus
	b_R=R->common;
	for(c_F=F->common;c_F;c_F=c_F->next)
	{
		if(c_F->plus!=1)
			continue;
		if(result[c_F->gi])
			continue;
		for(c_R=b_R;c_R;c_R=c_R->next)
		{
			if(c_R->gi<c_F->gi)
			{
				b_R=c_R->next;
				continue;
			}
			if(c_R->gi>c_F->gi)
				break;
			if(c_R->minus!=1)
				continue;
			if(c_R->pos+R->len-c_F->pos<100)
			{
				b_R=c_R->next;
				continue;
			}
			if(c_R->pos+R->len-c_F->pos>200)
				break;
			result[c_F->gi]=1;
			break;
		}
	}
//minus
	b_R=R->common;
        for(c_F=F->common;c_F;c_F=c_F->next)
        {
                if(c_F->minus!=1)
                        continue;
                if(result[c_F->gi])
                        continue;  //this GI can common

                for(c_R=b_R;c_R;c_R=c_R->next)
                {
			if(c_R->gi<c_F->gi)
                        {
                                b_R=c_R->next;
                                continue;
                        }
                        if(c_R->gi>c_F->gi)
                                break;
                        if(c_R->plus!=1)
                                continue;
			if(c_F->pos+F->len-c_R->pos<100)
				break;
			if(c_F->pos+F->len-c_R->pos>200)
			{
				b_R=c_R->next;
				continue;
			}
			result[c_F->gi]=1;
			break;
                }
        }
	num=0;
	for(i=0;i<common;i++)
	{
		num=num+result[i];
	}
	return num;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x13d6c
movq -0x18(%rbp), %rax
movslq -0x28(%rbp), %rcx
movl $0x0, (%rax,%rcx,4)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x13d4a
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x13e7f
movq -0x30(%rbp), %rax
cmpl $0x1, 0x8(%rax)
je 0x13d9e
jmp 0x13e6e
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movslq 0x4(%rcx), %rcx
cmpl $0x0, (%rax,%rcx,4)
je 0x13db5
jmp 0x13e6e
movq -0x40(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x13e6c
movq -0x38(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x30(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jge 0x13de6
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x13e5b
movq -0x38(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x30(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jle 0x13df8
jmp 0x13e6c
movq -0x38(%rbp), %rax
cmpl $0x1, 0xc(%rax)
je 0x13e04
jmp 0x13e5b
movq -0x38(%rbp), %rax
movl (%rax), %eax
movq -0x10(%rbp), %rcx
addl 0x4(%rcx), %eax
movq -0x30(%rbp), %rcx
subl (%rcx), %eax
cmpl $0x64, %eax
jge 0x13e2a
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x13e5b
movq -0x38(%rbp), %rax
movl (%rax), %eax
movq -0x10(%rbp), %rcx
addl 0x4(%rcx), %eax
movq -0x30(%rbp), %rcx
subl (%rcx), %eax
cmpl $0xc8, %eax
jle 0x13e46
jmp 0x13e6c
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movslq 0x4(%rcx), %rcx
movl $0x1, (%rax,%rcx,4)
jmp 0x13e6c
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x13dbd
jmp 0x13e6e
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x13d84
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x13f92
movq -0x30(%rbp), %rax
cmpl $0x1, 0xc(%rax)
je 0x13eb1
jmp 0x13f81
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movslq 0x4(%rcx), %rcx
cmpl $0x0, (%rax,%rcx,4)
je 0x13ec8
jmp 0x13f81
movq -0x40(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x13f7f
movq -0x38(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x30(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jge 0x13ef9
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x13f6e
movq -0x38(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x30(%rbp), %rcx
cmpl 0x4(%rcx), %eax
jle 0x13f0b
jmp 0x13f7f
movq -0x38(%rbp), %rax
cmpl $0x1, 0x8(%rax)
je 0x13f17
jmp 0x13f6e
movq -0x30(%rbp), %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
addl 0x4(%rcx), %eax
movq -0x38(%rbp), %rcx
subl (%rcx), %eax
cmpl $0x64, %eax
jge 0x13f31
jmp 0x13f7f
movq -0x30(%rbp), %rax
movl (%rax), %eax
movq -0x8(%rbp), %rcx
addl 0x4(%rcx), %eax
movq -0x38(%rbp), %rcx
subl (%rcx), %eax
cmpl $0xc8, %eax
jle 0x13f59
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x40(%rbp)
jmp 0x13f6e
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movslq 0x4(%rcx), %rcx
movl $0x1, (%rax,%rcx,4)
jmp 0x13f7f
movq -0x38(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x13ed0
jmp 0x13f81
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x13e97
movl $0x0, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x13fc4
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
movslq -0x28(%rbp), %rdx
addl (%rcx,%rdx,4), %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x13fa0
movl -0x24(%rbp), %eax
popq %rbp
retq
nopl (%rax)