// File: /workspace/github_c_makefile_star2_O2/josch[P]stride/fillasn.c
// Function: FilterAntiPar
void FilterAntiPar(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( J1D == J2A && J2D == J1A && I1D != I2A && I2D != I1A &&
	 ( (J1D == I1D && J1A == I1A) ||  (J1D == I1A && J1A == I1D) || 
	   (J1D == I2A && J1A == I2D) ||  (J1D == I2D && J1A == I2A) ) ) continue;

      if( ( ( I1D < I2A || 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) ) ) || 
	  ( ( I1D > I2A || 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, 0x38(%rsp)
xorl %r12d, %r12d
testl %esi, %esi
movl $0x0, %eax
cmovgl %esi, %eax
movq %rax, 0x40(%rsp)
movl %esi, %r13d
cmpq 0x40(%rsp), %r12
je 0xe98f
movq 0x38(%rsp), %rax
movq (%rax,%r12,8), %rax
cmpl $0x0, 0x20(%rax)
je 0xe987
subq $0x8, %rsp
leaq 0x38(%rsp), %rdi
leaq 0x3c(%rsp), %rsi
leaq 0x30(%rsp), %rdx
leaq 0x34(%rsp), %rcx
leaq 0x1b(%rsp), %r8
leaq 0x27(%rsp), %r9
pushq %rax
leaq 0x2e(%rsp), %rax
pushq %rax
leaq 0x2a(%rsp), %rax
pushq %rax
callq 0xcf5c
addq $0x20, %rsp
movl 0x30(%rsp), %ebp
movl 0x2c(%rsp), %r14d
movl 0x28(%rsp), %edx
movl 0x34(%rsp), %esi
cmpl %r14d, %ebp
setl %al
setg %cl
movl %edx, 0x8(%rsp)
movl %esi, 0xc(%rsp)
cmpl %esi, %edx
setl %dl
movb 0x13(%rsp), %sil
movb %sil, 0x5(%rsp)
movb 0x12(%rsp), %sil
movb %sil, 0x4(%rsp)
setg %sil
orb %al, %dl
movb %dl, 0x11(%rsp)
orb %cl, %sil
movb %sil, 0x10(%rsp)
xorl %r15d, %r15d
cmpq %r15, %r13
je 0xe987
cmpq %r15, %r12
je 0xe97f
movq 0x38(%rsp), %rax
movq (%rax,%r15,8), %rbx
cmpl $0x0, 0x20(%rbx)
je 0xe97f
subq $0x8, %rsp
leaq 0x2c(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x1c(%rsp), %rdx
leaq 0x28(%rsp), %rcx
leaq 0xf(%rsp), %r8
leaq 0x25(%rsp), %r9
pushq %rbx
leaq 0x2c(%rsp), %rax
pushq %rax
leaq 0x1e(%rsp), %rax
pushq %rax
callq 0xcf5c
addq $0x20, %rsp
movl 0x24(%rsp), %eax
movl 0x20(%rsp), %ecx
cmpl %ecx, %eax
jne 0xe739
movl 0xc(%rsp), %edx
cmpl %edx, 0x8(%rsp)
sete %sil
cmpl %r14d, %ebp
sete %dil
movl 0x14(%rsp), %edx
cmpl 0x18(%rsp), %edx
setne %r8b
orb %sil, %dil
orb %r8b, %dil
je 0xe8c1
cmpb $0x0, 0x11(%rsp)
je 0xe7e9
movl 0x18(%rsp), %edx
cmpl %r14d, %edx
setg %sil
cmpl %ebp, %edx
setl %dil
orb %sil, %dil
jne 0xe79b
movl 0x14(%rsp), %esi
cmpl %r14d, %esi
setg %dil
cmpl %ebp, %esi
setl %sil
orb %dil, %sil
movb 0x5(%rsp), %dil
cmpb %dil, 0x6(%rsp)
setne %dil
cmpl 0xc(%rsp), %ecx
setg %r8b
orb %dil, %r8b
orb %sil, %r8b
cmpl 0x8(%rsp), %ecx
setl %sil
orb %r8b, %sil
je 0xe90b
cmpl %r14d, %ecx
setg %sil
cmpl %ebp, %ecx
setl %dil
orb %sil, %dil
jne 0xe7e9
cmpl %r14d, %eax
setg %sil
cmpl %ebp, %eax
setl %dil
orb %sil, %dil
movb 0x5(%rsp), %sil
cmpb %sil, 0x7(%rsp)
setne %sil
cmpl 0xc(%rsp), %edx
setg %r8b
orb %sil, %r8b
orb %dil, %r8b
cmpl 0x8(%rsp), %edx
setl %dl
orb %r8b, %dl
je 0xe955
cmpb $0x0, 0x10(%rsp)
je 0xe97f
movl 0x18(%rsp), %edx
cmpl %r14d, %edx
setl %sil
cmpl %ebp, %edx
setg %dil
orb %sil, %dil
jne 0xe84b
movl 0x14(%rsp), %esi
cmpl %r14d, %esi
setl %dil
cmpl %ebp, %esi
setg %sil
orb %dil, %sil
movb 0x5(%rsp), %dil
cmpb %dil, 0x6(%rsp)
setne %dil
cmpl 0xc(%rsp), %ecx
setl %r8b
orb %dil, %r8b
orb %sil, %r8b
cmpl 0x8(%rsp), %ecx
setg %sil
orb %r8b, %sil
je 0xe930
cmpl %r14d, %ecx
setl %sil
cmpl %ebp, %ecx
setg %cl
orb %sil, %cl
jne 0xe97f
cmpl %r14d, %eax
setl %cl
cmpl %ebp, %eax
setg %al
orb %cl, %al
movb 0x5(%rsp), %cl
cmpb %cl, 0x7(%rsp)
setne %cl
cmpl 0xc(%rsp), %edx
setl %sil
orb %cl, %sil
orb %al, %sil
cmpl 0x8(%rsp), %edx
setg %al
orb %sil, %al
jne 0xe97f
movl 0x14(%rsp), %eax
cmpl 0xc(%rsp), %eax
jl 0xe97f
cmpl 0x8(%rsp), %eax
jg 0xe97f
movb 0x4(%rsp), %al
cmpb %al, 0x6(%rsp)
je 0xe97b
jmp 0xe97f
movl %eax, %esi
xorl %ebp, %esi
movl %edx, %edi
xorl 0xc(%rsp), %edi
orl %esi, %edi
je 0xe97f
movl %eax, %esi
xorl 0xc(%rsp), %esi
movl %edx, %edi
xorl %ebp, %edi
orl %esi, %edi
je 0xe97f
movl %eax, %esi
xorl %r14d, %esi
movl %edx, %edi
xorl 0x8(%rsp), %edi
orl %esi, %edi
je 0xe97f
movl %eax, %esi
xorl 0x8(%rsp), %esi
xorl %r14d, %edx
orl %esi, %edx
jne 0xe739
jmp 0xe97f
cmpl 0xc(%rsp), %eax
jg 0xe79b
cmpl 0x8(%rsp), %eax
jl 0xe79b
movb 0x4(%rsp), %sil
cmpb %sil, 0x7(%rsp)
je 0xe97b
jmp 0xe79b
cmpl 0xc(%rsp), %eax
jl 0xe84b
cmpl 0x8(%rsp), %eax
jg 0xe84b
movb 0x4(%rsp), %sil
cmpb %sil, 0x7(%rsp)
je 0xe97b
jmp 0xe84b
movl 0x14(%rsp), %edx
cmpl 0xc(%rsp), %edx
jg 0xe7e9
cmpl 0x8(%rsp), %edx
jl 0xe7e9
movb 0x4(%rsp), %dl
cmpb %dl, 0x6(%rsp)
jne 0xe7e9
andl $0x0, 0x20(%rbx)
incq %r15
jmp 0xe6a5
incq %r12
jmp 0xe5ff
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq