// File: Luthaf[P]zeopp/voro++/src/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 0x54430
testb $0x1, %al
jne 0x53149
jmp 0x53152
movb $0x1, -0x1(%rbp)
jmp 0x5331c
movl $0x1, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x531b0
movq -0x28(%rbp), %rdi
movl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
xorl %ecx, %ecx
callq 0x54430
testb $0x1, %al
jne 0x53178
jmp 0x53181
movb $0x1, -0x1(%rbp)
jmp 0x5331c
movq -0x28(%rbp), %rdi
xorl %esi, %esi
subl -0x14(%rbp), %esi
movl -0x18(%rbp), %edx
xorl %ecx, %ecx
callq 0x54430
testb $0x1, %al
jne 0x5319a
jmp 0x531a3
movb $0x1, -0x1(%rbp)
jmp 0x5331c
jmp 0x531a5
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x53159
xorl %eax, %eax
subl -0x14(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jg 0x531ed
movq -0x28(%rbp), %rdi
movl -0x18(%rbp), %esi
movl -0x14(%rbp), %edx
xorl %ecx, %ecx
callq 0x54430
testb $0x1, %al
jne 0x531d7
jmp 0x531e0
movb $0x1, -0x1(%rbp)
jmp 0x5331c
jmp 0x531e2
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x531b8
movl $0x1, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x532c0
xorl %eax, %eax
subl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jg 0x532b0
movq -0x28(%rbp), %rdi
movl -0x14(%rbp), %esi
movl -0x1c(%rbp), %edx
movl -0x18(%rbp), %ecx
callq 0x54430
testb $0x1, %al
jne 0x5322f
jmp 0x53238
movb $0x1, -0x1(%rbp)
jmp 0x5331c
movq -0x28(%rbp), %rdi
xorl %esi, %esi
subl -0x1c(%rbp), %esi
movl -0x14(%rbp), %edx
movl -0x18(%rbp), %ecx
callq 0x54430
testb $0x1, %al
jne 0x53252
jmp 0x5325b
movb $0x1, -0x1(%rbp)
jmp 0x5331c
movq -0x28(%rbp), %rdi
xorl %esi, %esi
subl -0x14(%rbp), %esi
xorl %edx, %edx
subl -0x1c(%rbp), %edx
movl -0x18(%rbp), %ecx
callq 0x54430
testb $0x1, %al
jne 0x53277
jmp 0x53280
movb $0x1, -0x1(%rbp)
jmp 0x5331c
movq -0x28(%rbp), %rdi
movl -0x1c(%rbp), %esi
xorl %edx, %edx
subl -0x14(%rbp), %edx
movl -0x18(%rbp), %ecx
callq 0x54430
testb $0x1, %al
jne 0x5329a
jmp 0x532a0
movb $0x1, -0x1(%rbp)
jmp 0x5331c
jmp 0x532a2
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5320b
jmp 0x532b2
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x531f4
xorl %eax, %eax
subl -0x14(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jg 0x53318
xorl %eax, %eax
subl -0x14(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jg 0x5330b
movq -0x28(%rbp), %rdi
movl -0x18(%rbp), %esi
movl -0x1c(%rbp), %edx
movl -0x14(%rbp), %ecx
callq 0x54430
testb $0x1, %al
jne 0x532f8
jmp 0x532fe
movb $0x1, -0x1(%rbp)
jmp 0x5331c
jmp 0x53300
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x532d8
jmp 0x5330d
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x532c8
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)