// File: /workspace/github_cpp_makefile_star2_O3/Luthaf[P]zeopp/voro++/src/container.cc
// Function: voro::container_base::container_base(double, double, double, double, double, double, int, int, int, bool, bool, bool, int, int)
container_base::container_base(double ax_,double bx_,double ay_,double by_,double az_,double bz_,
		int nx_,int ny_,int nz_,bool xperiodic_,bool yperiodic_,bool zperiodic_,int init_mem,int ps_)
	: voro_base(nx_,ny_,nz_,(bx_-ax_)/nx_,(by_-ay_)/ny_,(bz_-az_)/nz_),
	ax(ax_), bx(bx_), ay(ay_), by(by_), az(az_), bz(bz_),
	max_len_sq((bx-ax)*(bx-ax)*(xperiodic_?0.25:1)+(by-ay)*(by-ay)*(yperiodic_?0.25:1)
		  +(bz-az)*(bz-az)*(zperiodic_?0.25:1)),
	xperiodic(xperiodic_), yperiodic(yperiodic_), zperiodic(zperiodic_),
	id(new int*[nxyz]), p(new double*[nxyz]), co(new int[nxyz]), mem(new int[nxyz]), ps(ps_) {

	int l;
	for(l=0;l<nxyz;l++) co[l]=0;
	for(l=0;l<nxyz;l++) mem[l]=init_mem;
	for(l=0;l<nxyz;l++) id[l]=new int[init_mem];
	for(l=0;l<nxyz;l++) p[l]=new double[ps*init_mem];
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movl %r9d, %ebp
movl %r8d, %r14d
movq %rdi, %rbx
movsd %xmm1, 0x8(%rsp)
movapd %xmm1, %xmm6
movsd %xmm0, (%rsp)
subsd %xmm0, %xmm6
xorps %xmm1, %xmm1
cvtsi2sd %esi, %xmm1
movsd %xmm6, 0x40(%rsp)
movapd %xmm6, %xmm0
divsd %xmm1, %xmm0
movsd %xmm3, 0x18(%rsp)
movapd %xmm3, %xmm1
movsd %xmm2, 0x10(%rsp)
subsd %xmm2, %xmm1
xorps %xmm2, %xmm2
cvtsi2sd %edx, %xmm2
movsd %xmm1, 0x30(%rsp)
divsd %xmm2, %xmm1
movsd %xmm5, 0x28(%rsp)
movapd %xmm5, %xmm2
movsd %xmm4, 0x20(%rsp)
subsd %xmm4, %xmm2
xorps %xmm3, %xmm3
cvtsi2sd %ecx, %xmm3
movsd %xmm2, 0x38(%rsp)
divsd %xmm3, %xmm2
callq 0x2f188
movl $0x100, %edi            # imm = 0x100
callq 0x2030
movq %rax, 0x50(%rbx)
movq %rax, 0x58(%rbx)
addq $0x100, %rax            # imm = 0x100
movq %rax, 0x60(%rbx)
movl $0x20, 0x68(%rbx)
movsd (%rsp), %xmm0
movsd %xmm0, 0x70(%rbx)
movsd 0x8(%rsp), %xmm0
movsd %xmm0, 0x78(%rbx)
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x80(%rbx)
movsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x88(%rbx)
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x90(%rbx)
movsd 0x28(%rsp), %xmm0
movsd %xmm0, 0x98(%rbx)
movsd 0x250ea(%rip), %xmm0    # 0x38a58
movsd 0x23692(%rip), %xmm1    # 0x37008
movapd %xmm0, %xmm2
testb %r14b, %r14b
jne 0x13983
movapd %xmm1, %xmm2
movb 0x80(%rsp), %al
movsd 0x40(%rsp), %xmm4
mulsd %xmm4, %xmm4
movsd 0x30(%rsp), %xmm5
mulsd %xmm5, %xmm5
movapd %xmm0, %xmm3
testb %bpl, %bpl
jne 0x139ab
movapd %xmm1, %xmm3
mulsd %xmm3, %xmm5
mulsd %xmm2, %xmm4
addsd %xmm5, %xmm4
movsd 0x38(%rsp), %xmm2
mulsd %xmm2, %xmm2
testb %al, %al
jne 0x139c9
movapd %xmm1, %xmm0
mulsd %xmm0, %xmm2
addsd %xmm4, %xmm2
movsd %xmm2, 0xa0(%rbx)
movb %r14b, 0xa8(%rbx)
movb %bpl, 0xa9(%rbx)
movb %al, 0xaa(%rbx)
movslq 0x10(%rbx), %r13
leaq (,%r13,8), %rax
testq %r13, %r13
movq $-0x1, %r14
cmovnsq %rax, %r14
movq %r14, %rdi
callq 0x2030
movq %rax, 0xb0(%rbx)
movq %r14, %rdi
callq 0x2030
leaq (,%r13,4), %r15
testl %r13d, %r13d
movq %rax, 0xb8(%rbx)
movq $-0x1, %r14
cmovnsq %r15, %r14
movq %r14, %rdi
callq 0x2030
movq %rax, %r12
movq %rax, 0xc0(%rbx)
movq %r14, %rdi
callq 0x2030
movq %rax, %r14
movl 0x90(%rsp), %eax
movq %r14, 0xc8(%rbx)
movl %eax, 0xd0(%rbx)
testl %r13d, %r13d
jle 0x13bf3
movl 0x88(%rsp), %ebp
movq %r15, %rdx
xorl %r15d, %r15d
movq %r12, %rdi
xorl %esi, %esi
callq 0x20c0
leal 0x3(%r13), %eax
leaq -0x1(%r13), %rcx
movq %rcx, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
shrl $0x2, %eax
shlq $0x4, %rax
movdqa 0x24f53(%rip), %xmm1    # 0x38a00
movdqa 0x24f5b(%rip), %xmm2    # 0x38a10
movdqa 0x24f63(%rip), %xmm3    # 0x38a20
pxor %xmm3, %xmm0
pcmpeqd %xmm4, %xmm4
movdqa 0x256b3(%rip), %xmm5    # 0x39180
movdqa %xmm2, %xmm6
pxor %xmm3, %xmm6
movdqa %xmm6, %xmm7
pcmpgtd %xmm0, %xmm7
pcmpeqd %xmm0, %xmm6
pshufd $0xf5, %xmm6, %xmm8     # xmm8 = xmm6[1,1,3,3]
pand %xmm7, %xmm8
pshufd $0xf5, %xmm7, %xmm6     # xmm6 = xmm7[1,1,3,3]
por %xmm8, %xmm6
movd %xmm6, %ecx
notl %ecx
testb $0x1, %cl
je 0x13b05
movl %ebp, (%r14,%r15)
pxor %xmm4, %xmm6
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x13b18
movl %ebp, 0x4(%r14,%r15)
movdqa %xmm1, %xmm6
pxor %xmm3, %xmm6
movdqa %xmm6, %xmm7
pcmpgtd %xmm0, %xmm7
pcmpeqd %xmm0, %xmm6
pshufd $0xf5, %xmm6, %xmm8     # xmm8 = xmm6[1,1,3,3]
pand %xmm7, %xmm8
pshufd $0xf5, %xmm7, %xmm6     # xmm6 = xmm7[1,1,3,3]
por %xmm8, %xmm6
pxor %xmm4, %xmm6
pextrw $0x0, %xmm6, %ecx
testb $0x1, %cl
je 0x13b54
movl %ebp, 0x8(%r14,%r15)
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x13b63
movl %ebp, 0xc(%r14,%r15)
paddq %xmm5, %xmm2
paddq %xmm5, %xmm1
addq $0x10, %r15
cmpq %r15, %rax
jne 0x13acd
testl %r13d, %r13d
jle 0x13bf3
movl %ebp, %eax
shlq $0x2, %rax
testl %ebp, %ebp
movq $-0x1, %r14
cmovnsq %rax, %r14
xorl %r15d, %r15d
movq %r14, %rdi
callq 0x2030
movq 0xb0(%rbx), %rcx
movq %rax, (%rcx,%r15,8)
incq %r15
cmpq %r15, %r13
jne 0x13b93
testl %r13d, %r13d
jle 0x13bf3
movl 0x90(%rsp), %eax
movq %rax, %rcx
imull %ebp, %ecx
leaq (,%rcx,8), %rax
testl %ecx, %ecx
movq $-0x1, %r14
cmovnsq %rax, %r14
xorl %r15d, %r15d
movq %r14, %rdi
callq 0x2030
movq 0xb8(%rbx), %rcx
movq %rax, (%rcx,%r15,8)
incq %r15
cmpq %r15, %r13
jne 0x13bd8
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
jmp 0x13c1c
jmp 0x13c0b
jmp 0x13c0b
movq %rax, %r14
movq 0x50(%rbx), %rdi
testq %rdi, %rdi
je 0x13c1c
callq 0x2180
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x13c2a
callq 0x2180
movq %r14, %rdi
callq 0x2230