// File: Luthaf[P]zeopp/voro++/src/./container.hh
// Function: bool voro::container_base::initialize_voronoicell<voro::voronoicell>(voro::voronoicell&, int, int, int, int, int, int&, int&, int&, double&, double&, double&, int&)
inline bool initialize_voronoicell(v_cell &c,int ijk,int q,int ci,int cj,int ck,
				int &i,int &j,int &k,double &x,double &y,double &z,int &disp) {
			double x1,x2,y1,y2,z1,z2,*pp=p[ijk]+ps*q;
			x=*(pp++);y=*(pp++);z=*pp;
			if(xperiodic) {x1=-(x2=0.5*(bx-ax));i=nx;} else {x1=ax-x;x2=bx-x;i=ci;}
			if(yperiodic) {y1=-(y2=0.5*(by-ay));j=ny;} else {y1=ay-y;y2=by-y;j=cj;}
			if(zperiodic) {z1=-(z2=0.5*(bz-az));k=nz;} else {z1=az-z;z2=bz-z;k=ck;}
			c.init(x1,x2,y1,y2,z1,z2);
			if(!apply_walls(c,x,y,z)) return false;
			disp=ijk-i-nx*(j+ny*k);
			return true;
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq 0x48(%rbp), %rax
movq 0x40(%rbp), %rax
movq 0x38(%rbp), %rax
movq 0x30(%rbp), %rax
movq 0x28(%rbp), %rax
movq 0x20(%rbp), %rax
movq 0x18(%rbp), %rax
movl 0x10(%rbp), %eax
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movl %ecx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movl %r9d, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq 0xb8(%rax), %rcx
movslq -0x1c(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movl 0xd0(%rax), %edx
imull -0x20(%rbp), %edx
movslq %edx, %rdx
shlq $0x3, %rdx
addq %rdx, %rcx
movq %rcx, -0x60(%rbp)
movq -0x60(%rbp), %rcx
movq %rcx, %rdx
addq $0x8, %rdx
movq %rdx, -0x60(%rbp)
movsd (%rcx), %xmm0
movq 0x30(%rbp), %rcx
movsd %xmm0, (%rcx)
movq -0x60(%rbp), %rcx
movq %rcx, %rdx
addq $0x8, %rdx
movq %rdx, -0x60(%rbp)
movsd (%rcx), %xmm0
movq 0x38(%rbp), %rcx
movsd %xmm0, (%rcx)
movq -0x60(%rbp), %rcx
movsd (%rcx), %xmm0
movq 0x40(%rbp), %rcx
movsd %xmm0, (%rcx)
testb $0x1, 0xa8(%rax)
je 0x21ca0
movq -0x68(%rbp), %rax
movsd 0x78(%rax), %xmm1
subsd 0x70(%rax), %xmm1
movsd 0x343bf(%rip), %xmm0    # 0x56030
mulsd %xmm1, %xmm0
movsd %xmm0, -0x38(%rbp)
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
movsd %xmm0, -0x30(%rbp)
movl (%rax), %ecx
movq 0x18(%rbp), %rax
movl %ecx, (%rax)
jmp 0x21cd1
movq -0x68(%rbp), %rax
movsd 0x70(%rax), %xmm0
movq 0x30(%rbp), %rcx
subsd (%rcx), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd 0x78(%rax), %xmm0
movq 0x30(%rbp), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
movl -0x24(%rbp), %ecx
movq 0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x68(%rbp), %rax
testb $0x1, 0xa9(%rax)
je 0x21d2a
movq -0x68(%rbp), %rax
movsd 0x88(%rax), %xmm1
subsd 0x80(%rax), %xmm1
movsd 0x34336(%rip), %xmm0    # 0x56030
mulsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
movsd %xmm0, -0x40(%rbp)
movl 0x4(%rax), %ecx
movq 0x20(%rbp), %rax
movl %ecx, (%rax)
jmp 0x21d61
movq -0x68(%rbp), %rax
movsd 0x80(%rax), %xmm0
movq 0x38(%rbp), %rcx
subsd (%rcx), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd 0x88(%rax), %xmm0
movq 0x38(%rbp), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x48(%rbp)
movl -0x28(%rbp), %ecx
movq 0x20(%rbp), %rax
movl %ecx, (%rax)
movq -0x68(%rbp), %rax
testb $0x1, 0xaa(%rax)
je 0x21dba
movq -0x68(%rbp), %rax
movsd 0x98(%rax), %xmm1
subsd 0x90(%rax), %xmm1
movsd 0x342a6(%rip), %xmm0    # 0x56030
mulsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movq %xmm0, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm0
movsd %xmm0, -0x50(%rbp)
movl 0x8(%rax), %ecx
movq 0x28(%rbp), %rax
movl %ecx, (%rax)
jmp 0x21df1
movq -0x68(%rbp), %rax
movsd 0x90(%rax), %xmm0
movq 0x40(%rbp), %rcx
subsd (%rcx), %xmm0
movsd %xmm0, -0x50(%rbp)
movsd 0x98(%rax), %xmm0
movq 0x40(%rbp), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x58(%rbp)
movl 0x10(%rbp), %ecx
movq 0x28(%rbp), %rax
movl %ecx, (%rax)
movq -0x18(%rbp), %rdi
movsd -0x30(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
movsd -0x40(%rbp), %xmm2
movsd -0x48(%rbp), %xmm3
movsd -0x50(%rbp), %xmm4
movsd -0x58(%rbp), %xmm5
callq 0x49730
movq -0x68(%rbp), %rdi
addq $0x50, %rdi
movq -0x18(%rbp), %rsi
movq 0x30(%rbp), %rax
movsd (%rax), %xmm0
movq 0x38(%rbp), %rax
movsd (%rax), %xmm1
movq 0x40(%rbp), %rax
movsd (%rax), %xmm2
callq 0x49790
testb $0x1, %al
jne 0x21e4b
movb $0x0, -0x1(%rbp)
jmp 0x21e7b
movq -0x68(%rbp), %rsi
movl -0x1c(%rbp), %ecx
movq 0x18(%rbp), %rax
subl (%rax), %ecx
movl (%rsi), %eax
movq 0x20(%rbp), %rdx
movl (%rdx), %edx
movl 0x4(%rsi), %esi
movq 0x28(%rbp), %rdi
imull (%rdi), %esi
addl %esi, %edx
imull %edx, %eax
subl %eax, %ecx
movq 0x48(%rbp), %rax
movl %ecx, (%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)