// File: icemiliang[P]vot/src/vot/unitcell.cc
// Function: voro::unitcell::unit_voro_intersect(int)
bool unitcell::unit_voro_intersect(int l) {
	int i,j;
	if(unit_voro_test(l,0,0)) return true;
	for(i=1;i<l;i++) {
		if(unit_voro_test(l,i,0)) return true;
		if(unit_voro_test(-l,i,0)) return true;
	}
	for(i=-l;i<=l;i++) if(unit_voro_test(i,l,0)) return true;
	for(i=1;i<l;i++) for(j=-l+1;j<=l;j++) {
		if(unit_voro_test(l,j,i)) return true;
		if(unit_voro_test(-j,l,i)) return true;
		if(unit_voro_test(-l,-j,i)) return true;
		if(unit_voro_test(j,-l,i)) return true;
	}
	for(i=-l;i<=l;i++) for(j=-l;j<=l;j++) if(unit_voro_test(i,j,l)) return true;
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x28(%rbp)
movl -0x14(%rbp), %esi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0x8b820
testb $0x1, %al
jne 0x8a629
jmp 0x8a632
movb $0x1, -0x1(%rbp)
jmp 0x8a7fc
movl $0x1, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x8a690
movq -0x28(%rbp), %rdi
movl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
xorl %ecx, %ecx
callq 0x8b820
testb $0x1, %al
jne 0x8a658
jmp 0x8a661
movb $0x1, -0x1(%rbp)
jmp 0x8a7fc
movq -0x28(%rbp), %rdi
xorl %esi, %esi
subl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
xorl %ecx, %ecx
callq 0x8b820
testb $0x1, %al
jne 0x8a67a
jmp 0x8a683
movb $0x1, -0x1(%rbp)
jmp 0x8a7fc
jmp 0x8a685
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x8a639
xorl %eax, %eax
subl -0x14(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jg 0x8a6cd
movq -0x28(%rbp), %rdi
movl -0x18(%rbp), %esi
movl -0x14(%rbp), %edx
xorl %ecx, %ecx
callq 0x8b820
testb $0x1, %al
jne 0x8a6b7
jmp 0x8a6c0
movb $0x1, -0x1(%rbp)
jmp 0x8a7fc
jmp 0x8a6c2
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x8a698
movl $0x1, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x8a7a0
xorl %eax, %eax
subl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jg 0x8a790
movq -0x28(%rbp), %rdi
movl -0x14(%rbp), %esi
movl -0x1c(%rbp), %edx
movl -0x18(%rbp), %ecx
callq 0x8b820
testb $0x1, %al
jne 0x8a70f
jmp 0x8a718
movb $0x1, -0x1(%rbp)
jmp 0x8a7fc
movq -0x28(%rbp), %rdi
xorl %esi, %esi
subl -0x1c(%rbp), %esi
movl -0x14(%rbp), %edx
movl -0x18(%rbp), %ecx
callq 0x8b820
testb $0x1, %al
jne 0x8a732
jmp 0x8a73b
movb $0x1, -0x1(%rbp)
jmp 0x8a7fc
movq -0x28(%rbp), %rdi
xorl %esi, %esi
subl -0x14(%rbp), %esi
xorl %edx, %edx
subl -0x1c(%rbp), %edx
movl -0x18(%rbp), %ecx
callq 0x8b820
testb $0x1, %al
jne 0x8a757
jmp 0x8a760
movb $0x1, -0x1(%rbp)
jmp 0x8a7fc
movq -0x28(%rbp), %rdi
movl -0x1c(%rbp), %esi
xorl %edx, %edx
subl -0x14(%rbp), %edx
movl -0x18(%rbp), %ecx
callq 0x8b820
testb $0x1, %al
jne 0x8a77a
jmp 0x8a780
movb $0x1, -0x1(%rbp)
jmp 0x8a7fc
jmp 0x8a782
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x8a6eb
jmp 0x8a792
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x8a6d4
xorl %eax, %eax
subl -0x14(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jg 0x8a7f8
xorl %eax, %eax
subl -0x14(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jg 0x8a7eb
movq -0x28(%rbp), %rdi
movl -0x18(%rbp), %esi
movl -0x1c(%rbp), %edx
movl -0x14(%rbp), %ecx
callq 0x8b820
testb $0x1, %al
jne 0x8a7d8
jmp 0x8a7de
movb $0x1, -0x1(%rbp)
jmp 0x8a7fc
jmp 0x8a7e0
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x8a7b8
jmp 0x8a7ed
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x8a7a8
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)