// File: 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
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movl %r9d, -0x6c(%rbp)
movl %r8d, %eax
movl %ecx, %r8d
movl -0x6c(%rbp), %ecx
movl %r8d, -0x68(%rbp)
movl %edx, -0x64(%rbp)
movl %esi, %r8d
movl -0x68(%rbp), %esi
movq %rdi, %r9
movl -0x64(%rbp), %edi
movb %al, %dl
movl 0x20(%rbp), %eax
movl 0x18(%rbp), %eax
movb 0x10(%rbp), %al
movq %r9, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x18(%rbp)
movsd %xmm2, -0x20(%rbp)
movsd %xmm3, -0x28(%rbp)
movsd %xmm4, -0x30(%rbp)
movsd %xmm5, -0x38(%rbp)
movl %r8d, -0x3c(%rbp)
movl %edi, -0x40(%rbp)
movl %esi, -0x44(%rbp)
andb $0x1, %dl
movb %dl, -0x45(%rbp)
andb $0x1, %cl
movb %cl, -0x46(%rbp)
andb $0x1, %al
movb %al, -0x47(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x60(%rbp)
movl -0x3c(%rbp), %esi
movl -0x40(%rbp), %edx
movl -0x44(%rbp), %ecx
movsd -0x18(%rbp), %xmm0
movsd -0x10(%rbp), %xmm1
subsd %xmm1, %xmm0
cvtsi2sd %esi, %xmm1
divsd %xmm1, %xmm0
movsd -0x28(%rbp), %xmm1
movsd -0x20(%rbp), %xmm2
subsd %xmm2, %xmm1
cvtsi2sd %edx, %xmm2
divsd %xmm2, %xmm1
movsd -0x38(%rbp), %xmm2
movsd -0x30(%rbp), %xmm3
subsd %xmm3, %xmm2
cvtsi2sd %ecx, %xmm3
divsd %xmm3, %xmm2
callq 0x4a6f0
movq -0x60(%rbp), %rdi
addq $0x50, %rdi
callq 0x1c4c0
jmp 0x1c03a
movq -0x60(%rbp), %rax
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x70(%rax)
movsd -0x18(%rbp), %xmm0
movsd %xmm0, 0x78(%rax)
movsd -0x20(%rbp), %xmm0
movsd %xmm0, 0x80(%rax)
movsd -0x28(%rbp), %xmm0
movsd %xmm0, 0x88(%rax)
movsd -0x30(%rbp), %xmm0
movsd %xmm0, 0x90(%rax)
movsd -0x38(%rbp), %xmm0
movsd %xmm0, 0x98(%rax)
movsd 0x70(%rax), %xmm1
movsd 0x78(%rax), %xmm0
subsd %xmm1, %xmm0
mulsd %xmm0, %xmm0
movsd %xmm0, -0x90(%rbp)
movb -0x45(%rbp), %al
testb $0x1, %al
movsd 0x3b57b(%rip), %xmm0    # 0x57628
movsd %xmm0, -0x88(%rbp)
movsd 0x39f53(%rip), %xmm1    # 0x56010
movsd %xmm1, -0x80(%rbp)
movsd %xmm0, -0x78(%rbp)
jne 0x1c0d3
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x88(%rbp), %xmm0
movq -0x60(%rbp), %rax
movsd -0x78(%rbp), %xmm1
movsd %xmm1, -0xa8(%rbp)
movsd 0x88(%rax), %xmm1
movsd 0x80(%rax), %xmm2
subsd %xmm2, %xmm1
mulsd %xmm1, %xmm1
movsd %xmm1, -0xa0(%rbp)
movb -0x46(%rbp), %al
testb $0x1, %al
movsd %xmm0, -0x98(%rbp)
jne 0x1c128
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x88(%rbp), %xmm0
movq -0x60(%rbp), %rax
movsd -0xa8(%rbp), %xmm3
movsd -0x90(%rbp), %xmm1
movsd -0xa0(%rbp), %xmm2
movsd -0x98(%rbp), %xmm4
mulsd %xmm4, %xmm2
mulsd %xmm3, %xmm1
addsd %xmm2, %xmm1
movsd %xmm1, -0xc0(%rbp)
movsd 0x98(%rax), %xmm1
movsd 0x90(%rax), %xmm2
subsd %xmm2, %xmm1
mulsd %xmm1, %xmm1
movsd %xmm1, -0xb8(%rbp)
movb -0x47(%rbp), %al
testb $0x1, %al
movsd %xmm0, -0xb0(%rbp)
jne 0x1c1a4
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0xb0(%rbp)
movq -0x60(%rbp), %rax
movsd -0xc0(%rbp), %xmm1
movsd -0xb8(%rbp), %xmm0
movsd -0xb0(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0xa0(%rax)
movb -0x45(%rbp), %cl
andb $0x1, %cl
movb %cl, 0xa8(%rax)
movb -0x46(%rbp), %cl
andb $0x1, %cl
movb %cl, 0xa9(%rax)
movb -0x47(%rbp), %cl
andb $0x1, %cl
movb %cl, 0xaa(%rax)
movq %rax, %rcx
addq $0xb0, %rcx
movq %rcx, -0xd0(%rbp)
movslq 0x10(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0x2030
movq %rax, -0xc8(%rbp)
jmp 0x1c22d
movq -0x60(%rbp), %rax
movq -0xd0(%rbp), %rcx
movq -0xc8(%rbp), %rdx
movq %rdx, (%rcx)
movq %rax, %rcx
addq $0xb8, %rcx
movq %rcx, -0xe0(%rbp)
movslq 0x10(%rax), %rax
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0x2030
movq %rax, -0xd8(%rbp)
jmp 0x1c27b
movq -0x60(%rbp), %rax
movq -0xe0(%rbp), %rcx
movq -0xd8(%rbp), %rdx
movq %rdx, (%rcx)
movq %rax, %rcx
addq $0xc0, %rcx
movq %rcx, -0xf0(%rbp)
movslq 0x10(%rax), %rax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0x2030
movq %rax, -0xe8(%rbp)
jmp 0x1c2c9
movq -0x60(%rbp), %rax
movq -0xf0(%rbp), %rcx
movq -0xe8(%rbp), %rdx
movq %rdx, (%rcx)
movq %rax, %rcx
addq $0xc8, %rcx
movq %rcx, -0x100(%rbp)
movslq 0x10(%rax), %rax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0x2030
movq %rax, -0xf8(%rbp)
jmp 0x1c317
movq -0x60(%rbp), %rax
movq -0x100(%rbp), %rcx
movq -0xf8(%rbp), %rdx
movq %rdx, (%rcx)
movl 0x20(%rbp), %ecx
movl %ecx, 0xd0(%rax)
movl $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movl -0x58(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x1c398
movq -0x60(%rbp), %rax
movq 0xc0(%rax), %rax
movslq -0x58(%rbp), %rcx
movl $0x0, (%rax,%rcx,4)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x1c33c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x1c4a2
movq -0x60(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
addq $0x50, %rdi
callq 0x1c510
jmp 0x1c4a2
movl $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movl -0x58(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x1c3cb
movq -0x60(%rbp), %rax
movl 0x18(%rbp), %edx
movq 0xc8(%rax), %rax
movslq -0x58(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x1c39f
movl $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movl -0x58(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x1c42b
movslq 0x18(%rbp), %rax
movl $0x4, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0x2030
movq %rax, -0x108(%rbp)
jmp 0x1c406
movq -0x108(%rbp), %rdx
movq -0x60(%rbp), %rax
movq 0xb0(%rax), %rax
movslq -0x58(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x1c3d2
movl $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movl -0x58(%rbp), %eax
cmpl 0x10(%rcx), %eax
jge 0x1c499
movq -0x60(%rbp), %rax
movl 0xd0(%rax), %eax
movl 0x18(%rbp), %ecx
imull %ecx, %eax
cltq
movl $0x8, %ecx
mulq %rcx
movq %rax, %rdi
movq $-0x1, %rax
cmovoq %rax, %rdi
callq 0x2030
movq %rax, -0x110(%rbp)
jmp 0x1c474
movq -0x110(%rbp), %rdx
movq -0x60(%rbp), %rax
movq 0xb8(%rax), %rax
movslq -0x58(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0x1c432
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x1e8c0
movq -0x50(%rbp), %rdi
callq 0x2220
nopw %cs:(%rax,%rax)