// File: /workspace/github_cpp_makefile_star2_O3/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
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, 0x18(%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 0xb0f4
testb %al, %al
je 0x3506d
movb $0x1, %al
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %ebx, %ebp
negl %ebp
cmpl $0x2, %ebx
jl 0x351a7
xorps %xmm0, %xmm0
cvtsi2sd %ebp, %xmm0
movsd %xmm0, 0x10(%rsp)
movl $0x1, %r12d
xorpd %xmm3, %xmm3
xorps %xmm4, %xmm4
cvtsi2sd %r12d, %xmm4
movsd 0x8(%r14), %xmm0
mulsd %xmm4, %xmm0
movsd (%r14), %xmm1
mulsd 0x18(%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 0xb0f4
testb %al, %al
jne 0x3505c
movsd 0x8(%r14), %xmm0
movsd 0x8(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd (%r14), %xmm2
mulsd 0x10(%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 0xb0f4
testb %al, %al
jne 0x3505c
incl %r12d
cmpl %r12d, %ebx
xorpd %xmm3, %xmm3
jne 0x35091
testl %ebx, %ebx
movsd 0x18(%rsp), %xmm3
js 0x355c9
leal 0x1(,%rbx,2), %r12d
movl %ebp, %r13d
xorps %xmm1, %xmm1
cvtsi2sd %r13d, %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 0xb0f4
testb %al, %al
jne 0x3505c
incl %r13d
decl %r12d
movsd 0x18(%rsp), %xmm3
jne 0x351c0
cmpl $0x2, %ebx
jl 0x354f2
movl $0x1, %eax
movl $0x1, %r13d
subl %ebx, %r13d
xorps %xmm0, %xmm0
cvtsi2sd %ebp, %xmm0
movsd %xmm0, 0x10(%rsp)
leal (%rbx,%rbx), %ecx
movq %rcx, 0x30(%rsp)
movl %r13d, 0x28(%rsp)
movl %eax, 0x2c(%rsp)
xorps %xmm4, %xmm4
cvtsi2sd %eax, %xmm4
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movsd %xmm4, 0x8(%rsp)
cvtsi2sd %r13d, %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 0xb0f4
testb %al, %al
jne 0x3505c
leal (%rbx,%r12), %eax
xorps %xmm2, %xmm2
cvtsi2sd %eax, %xmm2
movsd 0x8(%r14), %xmm0
movsd 0x18(%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 0xb0f4
testb %al, %al
jne 0x3505c
movsd 0x8(%r14), %xmm0
movsd 0x38(%rsp), %xmm1
mulsd %xmm1, %xmm0
movsd (%r14), %xmm2
mulsd 0x10(%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 0xb0f4
testb %al, %al
jne 0x3505c
movsd 0x8(%r14), %xmm0
movsd 0x40(%rsp), %xmm1
mulsd (%r14), %xmm1
movsd 0x10(%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 0xb0f4
testb %al, %al
jne 0x3505c
incl %r13d
movq 0x30(%rsp), %rax
addl %r12d, %eax
decl %eax
movl %r12d, %ecx
decl %ecx
movl %ecx, %r12d
cmpl $-0x1, %eax
movsd 0x18(%rsp), %xmm3
movsd 0x8(%rsp), %xmm4
jne 0x35299
movl 0x2c(%rsp), %eax
incl %eax
cmpl %ebx, %eax
movl 0x28(%rsp), %r13d
jne 0x35282
testl %ebx, %ebx
js 0x355c9
leal 0x1(,%rbx,2), %r12d
movl %ebp, %r13d
movl %ebp, 0x24(%rsp)
movl %r12d, 0x10(%rsp)
xorps %xmm0, %xmm0
cvtsi2sd %r13d, %xmm0
movsd %xmm0, 0x8(%rsp)
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 0xb0f4
testb %al, %al
jne 0x3505c
incl %ebp
decl %r12d
movsd 0x18(%rsp), %xmm3
jne 0x3551c
leal 0x1(%r13), %ecx
xorl %eax, %eax
cmpl %ebx, %r13d
movl %ecx, %r13d
movl 0x24(%rsp), %ebp
movl 0x10(%rsp), %r12d
jne 0x3550e
jmp 0x3505e
xorl %eax, %eax
jmp 0x3505e