// File: /workspace/github_cpp_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movl %esi, %ebx
movq %rdi, %r14
cvtsi2sd %esi, %xmm3
xorpd %xmm2, %xmm2
movsd 0x8(%rdi), %xmm0
mulsd %xmm2, %xmm0
movsd (%rdi), %xmm1
movsd %xmm3, 0x20(%rsp)
mulsd %xmm3, %xmm1
addsd %xmm0, %xmm1
movsd 0x18(%rdi), %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd 0x20(%rdi), %xmm3
mulsd %xmm2, %xmm3
movsd 0x10(%rdi), %xmm1
mulsd %xmm2, %xmm1
addsd %xmm3, %xmm1
mulsd 0x28(%rdi), %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm4, %xmm3
leaq 0x30(%rdi), %r15
movq %r15, %rdi
callq 0x1ece2
testb %al, %al
je 0x47943
movb $0x1, %al
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0x2, %ebx
jl 0x47a79
movl %ebx, %eax
negl %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x18(%rsp)
movl $0x1, %ebp
xorpd %xmm3, %xmm3
xorps %xmm4, %xmm4
cvtsi2sd %ebp, %xmm4
movsd 0x8(%r14), %xmm0
mulsd %xmm4, %xmm0
movsd (%r14), %xmm1
mulsd 0x20(%rsp), %xmm1
addsd %xmm0, %xmm1
movsd 0x18(%r14), %xmm0
mulsd %xmm3, %xmm0
addsd %xmm1, %xmm0
movsd 0x20(%r14), %xmm2
mulsd %xmm3, %xmm2
movsd 0x10(%r14), %xmm1
movsd %xmm4, 0x8(%rsp)
mulsd %xmm4, %xmm1
addsd %xmm2, %xmm1
movsd 0x28(%r14), %xmm2
mulsd %xmm3, %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm4, %xmm3
movq %r15, %rdi
callq 0x1ece2
testb %al, %al
jne 0x47932
movsd 0x8(%r14), %xmm0
movsd 0x8(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd (%r14), %xmm2
mulsd 0x18(%rsp), %xmm2
addsd %xmm0, %xmm2
movsd 0x18(%r14), %xmm0
xorpd %xmm3, %xmm3
mulsd %xmm3, %xmm0
addsd %xmm2, %xmm0
movsd 0x20(%r14), %xmm2
mulsd 0x10(%r14), %xmm1
mulsd %xmm3, %xmm2
addsd %xmm2, %xmm1
movsd 0x28(%r14), %xmm2
mulsd %xmm3, %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm4, %xmm3
movq %r15, %rdi
callq 0x1ece2
testb %al, %al
jne 0x47932
incl %ebp
cmpl %ebp, %ebx
xorpd %xmm3, %xmm3
jne 0x47966
movl %ebx, %r13d
negl %r13d
testl %ebx, %ebx
movsd 0x20(%rsp), %xmm3
js 0x47b27
leal 0x1(,%rbx,2), %ebp
movl %r13d, %r12d
xorps %xmm1, %xmm1
cvtsi2sd %r12d, %xmm1
movsd 0x8(%r14), %xmm0
mulsd (%r14), %xmm1
mulsd %xmm3, %xmm0
addsd %xmm0, %xmm1
movsd 0x18(%r14), %xmm0
xorpd %xmm4, %xmm4
mulsd %xmm4, %xmm0
addsd %xmm1, %xmm0
movsd 0x20(%r14), %xmm2
mulsd %xmm4, %xmm2
movsd 0x10(%r14), %xmm1
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd 0x28(%r14), %xmm2
mulsd %xmm4, %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm4, %xmm3
movq %r15, %rdi
callq 0x1ece2
testb %al, %al
jne 0x47932
incl %r12d
decl %ebp
movsd 0x20(%rsp), %xmm3
jne 0x47a97
cmpl $0x2, %ebx
movl %r13d, 0x2c(%rsp)
jl 0x47dd9
movl $0x1, 0x14(%rsp)
movl $0x1, %eax
subl %ebx, %eax
xorps %xmm0, %xmm0
cvtsi2sd %r13d, %xmm0
movsd %xmm0, 0x18(%rsp)
leal (%rbx,%rbx), %ecx
movl %ecx, 0x34(%rsp)
leal -0x1(%rbx), %ecx
movl %ecx, 0x30(%rsp)
movl %eax, 0x28(%rsp)
cmpl %ebx, %eax
jle 0x47b84
movl 0x14(%rsp), %eax
incl %eax
movl %eax, 0x14(%rsp)
cmpl %ebx, %eax
movl 0x2c(%rsp), %r13d
movl 0x28(%rsp), %eax
jne 0x47b64
jmp 0x47dd9
xorps %xmm4, %xmm4
cvtsi2sdl 0x14(%rsp), %xmm4
movl 0x30(%rsp), %r13d
movl 0x34(%rsp), %ebp
movl 0x28(%rsp), %r12d
movsd %xmm4, 0x8(%rsp)
cvtsi2sd %r12d, %xmm5
movsd 0x8(%r14), %xmm0
mulsd %xmm5, %xmm0
movsd (%r14), %xmm1
mulsd %xmm3, %xmm1
addsd %xmm0, %xmm1
movsd 0x18(%r14), %xmm0
mulsd %xmm4, %xmm0
addsd %xmm1, %xmm0
movsd 0x20(%r14), %xmm2
mulsd %xmm4, %xmm2
movsd 0x10(%r14), %xmm1
movsd %xmm5, 0x40(%rsp)
mulsd %xmm5, %xmm1
addsd %xmm2, %xmm1
movsd 0x28(%r14), %xmm2
mulsd %xmm4, %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm4, %xmm3
movq %r15, %rdi
callq 0x1ece2
testb %al, %al
jne 0x47932
xorps %xmm2, %xmm2
cvtsi2sd %r13d, %xmm2
movsd 0x8(%r14), %xmm0
movsd 0x20(%rsp), %xmm4
mulsd %xmm4, %xmm0
movsd (%r14), %xmm1
movsd %xmm2, 0x38(%rsp)
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movsd 0x18(%r14), %xmm0
movsd 0x8(%rsp), %xmm3
mulsd %xmm3, %xmm0
addsd %xmm1, %xmm0
movsd 0x20(%r14), %xmm2
mulsd %xmm3, %xmm2
movsd 0x10(%r14), %xmm1
mulsd %xmm4, %xmm1
addsd %xmm2, %xmm1
movsd 0x28(%r14), %xmm2
mulsd %xmm3, %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm4, %xmm3
movq %r15, %rdi
callq 0x1ece2
testb %al, %al
jne 0x47932
movsd 0x8(%r14), %xmm0
movsd 0x38(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd (%r14), %xmm2
mulsd 0x18(%rsp), %xmm2
addsd %xmm0, %xmm2
movsd 0x18(%r14), %xmm0
movsd 0x8(%rsp), %xmm3
mulsd %xmm3, %xmm0
addsd %xmm2, %xmm0
movsd 0x20(%r14), %xmm2
mulsd 0x10(%r14), %xmm1
mulsd %xmm3, %xmm2
addsd %xmm2, %xmm1
movsd 0x28(%r14), %xmm2
mulsd %xmm3, %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm4, %xmm3
movq %r15, %rdi
callq 0x1ece2
testb %al, %al
jne 0x47932
movsd 0x8(%r14), %xmm0
movsd 0x40(%rsp), %xmm1
mulsd (%r14), %xmm1
movsd 0x18(%rsp), %xmm4
mulsd %xmm4, %xmm0
addsd %xmm0, %xmm1
movsd 0x18(%r14), %xmm0
movsd 0x8(%rsp), %xmm3
mulsd %xmm3, %xmm0
addsd %xmm1, %xmm0
movsd 0x20(%r14), %xmm2
mulsd %xmm3, %xmm2
movsd 0x10(%r14), %xmm1
mulsd %xmm4, %xmm1
addsd %xmm2, %xmm1
movsd 0x28(%r14), %xmm2
mulsd %xmm3, %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm4, %xmm3
movq %r15, %rdi
callq 0x1ece2
testb %al, %al
jne 0x47932
incl %r12d
decl %r13d
decl %ebp
movsd 0x20(%rsp), %xmm3
movsd 0x8(%rsp), %xmm4
jne 0x47ba1
jmp 0x47b68
testl %ebx, %ebx
js 0x47eb0
leal 0x1(,%rbx,2), %ecx
movl %r13d, %r12d
movl %r13d, %ebp
movl %ecx, 0x18(%rsp)
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
movsd %xmm0, 0x8(%rsp)
movl %ecx, %r13d
xorps %xmm1, %xmm1
cvtsi2sd %ebp, %xmm1
movsd 0x8(%r14), %xmm0
mulsd %xmm1, %xmm0
movsd (%r14), %xmm2
mulsd 0x8(%rsp), %xmm2
addsd %xmm0, %xmm2
movsd 0x18(%r14), %xmm0
mulsd %xmm3, %xmm0
addsd %xmm2, %xmm0
movsd 0x20(%r14), %xmm2
mulsd 0x10(%r14), %xmm1
mulsd %xmm3, %xmm2
addsd %xmm2, %xmm1
movsd 0x28(%r14), %xmm2
mulsd %xmm3, %xmm2
movapd %xmm1, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm0, %xmm4
mulsd %xmm0, %xmm4
addsd %xmm3, %xmm4
movapd %xmm2, %xmm3
mulsd %xmm2, %xmm3
addsd %xmm4, %xmm3
movq %r15, %rdi
callq 0x1ece2
testb %al, %al
jne 0x47932
incl %ebp
decl %r13d
movsd 0x20(%rsp), %xmm3
jne 0x47e03
leal 0x1(%r12), %ecx
xorl %eax, %eax
cmpl %ebx, %r12d
movl %ecx, %r12d
movl 0x2c(%rsp), %ebp
movl 0x18(%rsp), %ecx
jne 0x47df2
jmp 0x47934
xorl %eax, %eax
jmp 0x47934
nop