// File: /workspace/github_c_makefile_star2_O2/josch[P]stride/fillasn.c
// Function: FilterPar
void FilterPar(PATTERN **Pat, int NPat)
{
 
  register int i, j;
  int I1A, I1D, I2A, I2D, J1A, J1D, J2A, J2D;
  char I1ACn, I1DCn, I2ACn, I2DCn, J1ACn, J1DCn, J2ACn, J2DCn;

  for( i=0; i<NPat; i++ ) {
    
    if( !Pat[i]->ExistPattern ) continue;

    Alias(&I1D,&I1A,&I2D,&I2A,&I1DCn,&I1ACn,&I2DCn,&I2ACn,Pat[i]);
    
    for( j=0; j<NPat; j++ ) {
      
      if( j == i || !Pat[j]->ExistPattern ) continue;
      
      Alias(&J1D,&J1A,&J2D,&J2A,&J1DCn,&J1ACn,&J2DCn,&J2ACn,Pat[j]);
      
      if( ( ( I1A >= I2D && I1D >= I2A ) && 
	   ( (J1A >= I2A && J1A <= I1D && J2D >= I2A && J2D <= I1D && J2DCn == I1DCn &&
	      J2A <= I1A && J2A >= I2D && J1D <= I1A && J1D >= I2D && J1DCn == I2DCn) ||
	     (J2A >= I2A && J2A <= I1D && J1D >= I2A && J1D <= I1D && J1DCn == I1DCn &&
	      J1A <= I1A && J1A >= I2D && J2D <= I1A && J2D >= I2D && J2DCn == I2DCn) ) ) || 

	  ( I2A >= I1D && I2D >= I1A  && 
	   ( (J1A <= I2A && J1A >= I1D && J2D <= I2A && J2D >= I1D && J2DCn == I1DCn &&
	      J2A >= I1A && J2A <= I2D && J1D >= I1A && J1D <= I2D && J1DCn == I2DCn) ||

	     (J2A <= I2A && J2A >= I1D && J1D <= I2A && J1D >= I1D && J1DCn == I1DCn &&
	      J1A >= I1A && J1A <= I2D && J2D >= I1A && J2D <= I2D && J2DCn == I2DCn) ) ) ) {
	Pat[j]->ExistPattern = NO;
      }
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, 0x30(%rsp)
xorl %r15d, %r15d
testl %esi, %esi
movl $0x0, %eax
cmovgl %esi, %eax
movq %rax, 0x38(%rsp)
movl %esi, %r13d
cmpq 0x38(%rsp), %r15
je 0xecd5
movq 0x30(%rsp), %rax
movq (%rax,%r15,8), %rax
cmpl $0x0, 0x20(%rax)
je 0xeccd
subq $0x8, %rsp
leaq 0x30(%rsp), %rdi
leaq 0x34(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x2c(%rsp), %rcx
leaq 0x13(%rsp), %r8
leaq 0x23(%rsp), %r9
pushq %rax
leaq 0x2a(%rsp), %rax
pushq %rax
leaq 0x22(%rsp), %rax
pushq %rax
callq 0xcf5c
addq $0x20, %rsp
movl 0x2c(%rsp), %edi
movl 0x20(%rsp), %edx
cmpl %edx, %edi
setl %al
movl 0x28(%rsp), %ebp
movl 0x24(%rsp), %r12d
cmpl %r12d, %ebp
setl %sil
movb 0xb(%rsp), %cl
movb %cl, 0x1(%rsp)
movb 0xa(%rsp), %cl
movb %cl, (%rsp)
setg %cl
movl %edx, 0x4(%rsp)
cmpl %edi, %edx
setl %dl
orb %cl, %dl
movb %dl, 0x8(%rsp)
orb %al, %sil
movb %sil, 0x9(%rsp)
xorl %r14d, %r14d
movq %r15, 0x40(%rsp)
cmpq %r14, %r13
je 0xeccd
cmpq %r14, %r15
je 0xecc5
movq 0x30(%rsp), %rax
movq (%rax,%r14,8), %rbx
cmpl $0x0, 0x20(%rbx)
je 0xecc5
subq $0x8, %rsp
movq %r13, %r15
movl %edi, %r13d
leaq 0x1c(%rsp), %rdi
leaq 0x24(%rsp), %rsi
leaq 0x14(%rsp), %rdx
leaq 0x18(%rsp), %rcx
leaq 0xb(%rsp), %r8
leaq 0x21(%rsp), %r9
pushq %rbx
leaq 0x28(%rsp), %rax
pushq %rax
leaq 0x1a(%rsp), %rax
pushq %rax
callq 0xcf5c
movl %r13d, %edi
movq %r15, %r13
movq 0x60(%rsp), %r15
addq $0x20, %rsp
cmpb $0x0, 0x9(%rsp)
jne 0xeb20
movl 0x1c(%rsp), %eax
cmpl %r12d, %eax
setge %cl
cmpl %ebp, %eax
setle %dl
testb %dl, %cl
jne 0xebb8
movl 0x10(%rsp), %ecx
cmpl %r12d, %ecx
setl %dl
cmpl %ebp, %ecx
setg %cl
orb %dl, %cl
jne 0xeb20
movl 0x14(%rsp), %ecx
cmpl %r12d, %ecx
setl %dl
cmpl %ebp, %ecx
setg %cl
orb %dl, %cl
je 0xec7e
cmpb $0x0, 0x8(%rsp)
jne 0xecc5
movl 0x1c(%rsp), %eax
cmpl %r12d, %eax
setle %cl
cmpl %ebp, %eax
setge %dl
testb %dl, %cl
jne 0xec1d
movl 0x10(%rsp), %ecx
cmpl %r12d, %ecx
setg %dl
cmpl %ebp, %ecx
setl %cl
orb %dl, %cl
jne 0xecc5
movl 0x14(%rsp), %ecx
cmpl %r12d, %ecx
setg %dl
cmpl %ebp, %ecx
setl %cl
orb %dl, %cl
jne 0xecc5
cmpl 0x4(%rsp), %eax
jg 0xecc5
cmpl %edi, %eax
jl 0xecc5
movb 0x1(%rsp), %al
cmpb %al, 0x3(%rsp)
jne 0xecc5
movl 0xc(%rsp), %eax
cmpl %edi, %eax
jl 0xecc5
cmpl 0x4(%rsp), %eax
jg 0xecc5
movb (%rsp), %al
cmpb %al, 0x2(%rsp)
je 0xecc1
jmp 0xecc5
movl 0xc(%rsp), %edx
movl 0x10(%rsp), %ecx
cmpl %r12d, %edx
jl 0xeafa
cmpl %ebp, %edx
jg 0xeafa
movb 0x1(%rsp), %dl
cmpb %dl, 0x2(%rsp)
jne 0xeafa
cmpl %edi, %ecx
setg %dl
cmpl 0x4(%rsp), %ecx
setl %sil
orb %dl, %sil
jne 0xeafa
movl 0x14(%rsp), %edx
cmpl %edi, %edx
jg 0xeafa
cmpl 0x4(%rsp), %edx
jl 0xeafa
movb (%rsp), %dl
cmpb %dl, 0x3(%rsp)
je 0xecc1
jmp 0xeafa
movl 0xc(%rsp), %edx
movl 0x10(%rsp), %ecx
cmpl %r12d, %edx
jg 0xeb46
cmpl %ebp, %edx
jl 0xeb46
movb 0x1(%rsp), %dl
cmpb %dl, 0x2(%rsp)
jne 0xeb46
cmpl %edi, %ecx
setl %dl
cmpl 0x4(%rsp), %ecx
setg %sil
orb %dl, %sil
jne 0xeb46
movl 0x14(%rsp), %edx
cmpl %edi, %edx
jl 0xeb46
cmpl 0x4(%rsp), %edx
jg 0xeb46
movb (%rsp), %dl
cmpb %dl, 0x3(%rsp)
je 0xecc1
jmp 0xeb46
cmpl 0x4(%rsp), %eax
jl 0xeb20
cmpl %edi, %eax
jg 0xeb20
movb 0x1(%rsp), %al
cmpb %al, 0x3(%rsp)
jne 0xeb20
movl 0xc(%rsp), %eax
cmpl %edi, %eax
jg 0xeb20
cmpl 0x4(%rsp), %eax
jl 0xeb20
movb (%rsp), %al
cmpb %al, 0x2(%rsp)
jne 0xeb20
andl $0x0, 0x20(%rbx)
incq %r14
jmp 0xea6a
incq %r15
jmp 0xe9c6
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq