// File: /workspace/github_c_makefile_star2_O3/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:
testl %esi, %esi
jle 0xeda3
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %esi, %eax
xorl %ecx, %ecx
movq (%rdi,%rcx,8), %rdx
cmpl $0x0, 0x20(%rdx)
je 0xed8d
movq (%rdx), %rsi
movq 0x8(%rdx), %r8
movq (%rsi), %r10
movq 0x8(%rsi), %rsi
movl 0x8(%r10), %edx
movl 0x8(%rsi), %r11d
movq (%r8), %rsi
movq 0x8(%r8), %r8
movl 0x8(%rsi), %ebp
movl 0x8(%r8), %r9d
movq (%r10), %r8
movb 0x40(%r8), %r8b
movb %r8b, -0xd(%rsp)
movq (%rsi), %rsi
movb 0x40(%rsi), %sil
movb %sil, -0xe(%rsp)
cmpl %ebp, %r11d
setl %sil
cmpl %r9d, %edx
setl %bl
orb %sil, %bl
cmpl %edx, %r9d
setl %sil
movl %r11d, -0x8(%rsp)
movl %ebp, -0xc(%rsp)
cmpl %r11d, %ebp
setl %r8b
orb %sil, %r8b
movb %r8b, -0x1(%rsp)
xorl %r14d, %r14d
cmpq %r14, %rcx
je 0xed81
movq (%rdi,%r14,8), %r15
cmpl $0x0, 0x20(%r15)
je 0xed81
movq (%r15), %rsi
movq 0x8(%r15), %r8
movq (%rsi), %r13
movq 0x8(%rsi), %rsi
movl 0x8(%r13), %r10d
movl 0x8(%rsi), %r11d
movq (%r8), %rbp
movq 0x8(%r8), %rsi
movl 0x8(%rbp), %r12d
movl 0x8(%rsi), %esi
movq (%r13), %r8
movb 0x40(%r8), %r8b
movq (%rbp), %r13
movb 0x40(%r13), %r13b
testb %bl, %bl
je 0xecd8
cmpb $0x0, -0x1(%rsp)
jne 0xed81
cmpl %r9d, %r11d
jg 0xec6e
cmpl %edx, %r11d
jl 0xec6e
cmpl %r9d, %r12d
jg 0xec6e
cmpl %edx, %r12d
jl 0xec6e
cmpb -0xd(%rsp), %r13b
jne 0xec6e
cmpl -0x8(%rsp), %esi
jl 0xec6e
cmpl -0xc(%rsp), %esi
jg 0xec6e
cmpl -0x8(%rsp), %r10d
jl 0xec6e
cmpl -0xc(%rsp), %r10d
jg 0xec6e
cmpb -0xe(%rsp), %r8b
je 0xed79
cmpl %r9d, %esi
jg 0xed81
cmpl %edx, %esi
jl 0xed81
cmpl %r9d, %r10d
jg 0xed81
cmpl %edx, %r10d
jl 0xed81
cmpb -0xd(%rsp), %r8b
jne 0xed81
cmpl -0x8(%rsp), %r11d
jl 0xed81
cmpl -0xc(%rsp), %r11d
jg 0xed81
cmpl -0x8(%rsp), %r12d
jl 0xed81
cmpl -0xc(%rsp), %r12d
jg 0xed81
cmpb -0xe(%rsp), %r13b
je 0xed79
jmp 0xed81
cmpl %r9d, %r11d
jl 0xed14
cmpl %edx, %r11d
jg 0xed14
cmpl %r9d, %r12d
jl 0xed14
cmpl %edx, %r12d
jg 0xed14
cmpb -0xd(%rsp), %r13b
jne 0xed14
cmpl -0x8(%rsp), %esi
jg 0xed14
cmpl -0xc(%rsp), %esi
jl 0xed14
cmpl -0x8(%rsp), %r10d
jg 0xed14
cmpl -0xc(%rsp), %r10d
jl 0xed14
cmpb -0xe(%rsp), %r8b
je 0xed79
cmpl %r9d, %esi
jl 0xec23
cmpl %edx, %esi
jg 0xec23
cmpl %r9d, %r10d
jl 0xec23
cmpl %edx, %r10d
jg 0xec23
cmpb -0xd(%rsp), %r8b
jne 0xec23
cmpl -0x8(%rsp), %r11d
jg 0xec23
cmpl -0xc(%rsp), %r11d
jl 0xec23
cmpl -0x8(%rsp), %r12d
jg 0xec23
cmpl -0xc(%rsp), %r12d
jl 0xec23
cmpb -0xe(%rsp), %r13b
jne 0xec23
movl $0x0, 0x20(%r15)
incq %r14
cmpq %r14, %rax
jne 0xebcf
incq %rcx
cmpq %rax, %rcx
jne 0xeb53
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq