// File: /workspace/github_cpp_makefile_star2_O3/icemiliang[P]vot/src/vot/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_),
    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 $0x38, %rsp
movl %r9d, %ebp
movl %r8d, %r14d
movapd %xmm0, %xmm6
movq %rdi, %rbx
movsd %xmm1, 0x10(%rsp)
movapd %xmm1, %xmm0
xorps %xmm1, %xmm1
cvtsi2sd %esi, %xmm1
movsd %xmm6, 0x8(%rsp)
subsd %xmm6, %xmm0
divsd %xmm1, %xmm0
movsd %xmm3, 0x20(%rsp)
movapd %xmm3, %xmm1
movsd %xmm2, 0x18(%rsp)
subsd %xmm2, %xmm1
xorps %xmm2, %xmm2
cvtsi2sd %edx, %xmm2
divsd %xmm2, %xmm1
movsd %xmm5, 0x30(%rsp)
movapd %xmm5, %xmm2
movsd %xmm4, 0x28(%rsp)
subsd %xmm4, %xmm2
xorps %xmm3, %xmm3
cvtsi2sd %ecx, %xmm3
divsd %xmm3, %xmm2
callq 0x43718
movl $0x100, %edi            # imm = 0x100
callq 0x7030
movb 0x70(%rsp), %cl
movq %rax, 0x50(%rbx)
movq %rax, 0x58(%rbx)
addq $0x100, %rax            # imm = 0x100
movq %rax, 0x60(%rbx)
movl $0x20, 0x68(%rbx)
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)
movq 0x30(%rsp), %xmm0
movq %xmm0, 0x98(%rbx)
movb %r14b, 0xa0(%rbx)
movb %bpl, 0xa1(%rbx)
movb %cl, 0xa2(%rbx)
movslq 0x10(%rbx), %r13
leaq (,%r13,8), %rax
testq %r13, %r13
movq $-0x1, %r14
cmovnsq %rax, %r14
movq %r14, %rdi
callq 0x7030
movq %rax, 0xa8(%rbx)
movq %r14, %rdi
callq 0x7030
leaq (,%r13,4), %r15
testl %r13d, %r13d
movq %rax, 0xb0(%rbx)
movq $-0x1, %r14
cmovnsq %r15, %r14
movq %r14, %rdi
callq 0x7030
movq %rax, %r12
movq %rax, 0xb8(%rbx)
movq %r14, %rdi
callq 0x7030
movq %rax, %r14
movl 0x80(%rsp), %eax
movq %r14, 0xc0(%rbx)
movl %eax, 0xc8(%rbx)
testl %r13d, %r13d
jle 0x27c55
movl 0x78(%rsp), %ebp
movq %r15, %rdx
xorl %r15d, %r15d
movq %r12, %rdi
xorl %esi, %esi
callq 0x71e0
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 0x230b1(%rip), %xmm1    # 0x4abc0
movdqa 0x23069(%rip), %xmm2    # 0x4ab80
movdqa 0x23071(%rip), %xmm3    # 0x4ab90
pxor %xmm3, %xmm0
pcmpeqd %xmm4, %xmm4
movdqa 0x280e1(%rip), %xmm5    # 0x4fc10
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 0x27b67
movl %ebp, (%r14,%r15)
pxor %xmm4, %xmm6
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x27b7a
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 0x27bb6
movl %ebp, 0x8(%r14,%r15)
pextrw $0x4, %xmm6, %ecx
testb $0x1, %cl
je 0x27bc5
movl %ebp, 0xc(%r14,%r15)
paddq %xmm5, %xmm2
paddq %xmm5, %xmm1
addq $0x10, %r15
cmpq %r15, %rax
jne 0x27b2f
testl %r13d, %r13d
jle 0x27c55
movl %ebp, %eax
shlq $0x2, %rax
testl %ebp, %ebp
movq $-0x1, %r14
cmovnsq %rax, %r14
xorl %r15d, %r15d
movq %r14, %rdi
callq 0x7030
movq 0xa8(%rbx), %rcx
movq %rax, (%rcx,%r15,8)
incq %r15
cmpq %r15, %r13
jne 0x27bf5
testl %r13d, %r13d
jle 0x27c55
movl 0x80(%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 0x7030
movq 0xb0(%rbx), %rcx
movq %rax, (%rcx,%r15,8)
incq %r15
cmpq %r15, %r13
jne 0x27c3a
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
jmp 0x27c7e
jmp 0x27c6d
jmp 0x27c6d
movq %rax, %r14
movq 0x50(%rbx), %rdi
testq %rdi, %rdi
je 0x27c7e
callq 0x7490
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x27c8c
callq 0x7490
movq %r14, %rdi
callq 0x76d0