// File: /workspace/github_cpp_makefile_star2_O2/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, %r15d
movq %rdi, %rbx
movsd %xmm1, 0x10(%rsp)
movapd %xmm1, %xmm6
movsd %xmm0, 0x8(%rsp)
subsd %xmm0, %xmm6
cvtsi2sd %esi, %xmm1
movsd %xmm6, (%rsp)
movapd %xmm6, %xmm0
divsd %xmm1, %xmm0
movsd %xmm3, 0x20(%rsp)
movapd %xmm3, %xmm1
movsd %xmm2, 0x18(%rsp)
subsd %xmm2, %xmm1
cvtsi2sd %edx, %xmm2
movsd %xmm1, 0x38(%rsp)
divsd %xmm2, %xmm1
movsd %xmm5, 0x30(%rsp)
movapd %xmm5, %xmm2
movsd %xmm4, 0x28(%rsp)
subsd %xmm4, %xmm2
cvtsi2sd %ecx, %xmm3
movsd %xmm2, 0x40(%rsp)
divsd %xmm3, %xmm2
callq 0x28234
leaq 0x50(%rbx), %r14
movq %r14, %rdi
callq 0x104c8
movsd 0x8(%rsp), %xmm0
movsd %xmm0, 0x70(%rbx)
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0x78(%rbx)
movsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x80(%rbx)
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x88(%rbx)
movsd 0x28(%rsp), %xmm0
movsd %xmm0, 0x90(%rbx)
movsd 0x30(%rsp), %xmm0
movsd %xmm0, 0x98(%rbx)
movsd 0x20721(%rip), %xmm0    # 0x30a28
movsd 0x1ed09(%rip), %xmm1    # 0x2f018
movapd %xmm0, %xmm2
testb %r15b, %r15b
jne 0x1031c
movapd %xmm1, %xmm2
movb 0x80(%rsp), %al
movsd (%rsp), %xmm4
mulsd %xmm4, %xmm4
movsd 0x38(%rsp), %xmm5
mulsd %xmm5, %xmm5
movapd %xmm0, %xmm3
testb %bpl, %bpl
jne 0x10343
movapd %xmm1, %xmm3
mulsd %xmm3, %xmm5
mulsd %xmm2, %xmm4
addsd %xmm5, %xmm4
movsd 0x40(%rsp), %xmm2
mulsd %xmm2, %xmm2
testb %al, %al
jne 0x10361
movapd %xmm1, %xmm0
movq %r14, (%rsp)
mulsd %xmm0, %xmm2
addsd %xmm4, %xmm2
movsd %xmm2, 0xa0(%rbx)
movb %r15b, 0xa8(%rbx)
movb %bpl, 0xa9(%rbx)
movb %al, 0xaa(%rbx)
movslq 0x10(%rbx), %r13
leaq (,%r13,8), %r15
testq %r13, %r13
pushq $-0x1
popq %r14
cmovsq %r14, %r15
movq %r15, %rdi
callq 0x2030
movq %rax, 0xb0(%rbx)
movq %r15, %rdi
callq 0x2030
leaq (,%r13,4), %r12
testl %r13d, %r13d
movq %rax, 0xb8(%rbx)
cmovsq %r14, %r12
movq %r12, %rdi
callq 0x2030
movq %rax, %r15
movq %rax, 0xc0(%rbx)
movq %r12, %rdi
callq 0x2030
movl 0x90(%rsp), %r12d
movl 0x88(%rsp), %r14d
movq %rax, 0xc8(%rbx)
movl %r12d, 0xd0(%rbx)
xorl %ecx, %ecx
testl %r13d, %r13d
cmovlel %ecx, %r13d
cmpq %rcx, %r13
je 0x1041d
andl $0x0, (%r15,%rcx,4)
incq %rcx
jmp 0x1040e
xorl %ecx, %ecx
cmpq %rcx, %r13
je 0x1042d
movl %r14d, (%rax,%rcx,4)
incq %rcx
jmp 0x1041f
movl %r14d, %r15d
shlq $0x2, %r15
testl %r14d, %r14d
pushq $-0x1
popq %rax
cmovsq %rax, %r15
xorl %ebp, %ebp
cmpq %rbp, %r13
je 0x1045d
movq %r15, %rdi
callq 0x2030
movq 0xb0(%rbx), %rcx
movq %rax, (%rcx,%rbp,8)
incq %rbp
jmp 0x10440
imull %r14d, %r12d
leaq (,%r12,8), %r15
testl %r12d, %r12d
pushq $-0x1
popq %rax
cmovsq %rax, %r15
xorl %r14d, %r14d
cmpq %r14, %r13
je 0x10493
movq %r15, %rdi
callq 0x2030
movq 0xb8(%rbx), %rcx
movq %rax, (%rcx,%r14,8)
incq %r14
jmp 0x10476
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
jmp 0x104b7
jmp 0x104ab
jmp 0x104ab
movq %rax, %r15
movq (%rsp), %rdi
callq 0x104f0
movq %rbx, %rdi
callq 0x11bcc
movq %r15, %rdi
callq 0x2220
nop