// File: /workspace/github_cpp_makefile_star2_O1/Luthaf[P]zeopp/voro++/src/cell.cc
// Function: void voro::voronoicell_base::add_memory_vertices<voro::voronoicell_neighbor>(voro::voronoicell_neighbor&)
void voronoicell_base::add_memory_vertices(vc_class &vc) {
	int i=(current_vertices<<1),j,**pp,*pnu;
	unsigned int* pmask;
	if(i>max_vertices) voro_fatal_error("Vertex memory allocation exceeded absolute maximum",VOROPP_MEMORY_ERROR);
#if VOROPP_VERBOSE >=2
	fprintf(stderr,"Vertex memory scaled up to %d\n",i);
#endif
	double *ppts;
	pp=new int*[i];
	for(j=0;j<current_vertices;j++) pp[j]=ed[j];
	delete [] ed;ed=pp;
	vc.n_add_memory_vertices(i);
	pnu=new int[i];
	for(j=0;j<current_vertices;j++) pnu[j]=nu[j];
	delete [] nu;nu=pnu;
	pmask=new unsigned int[i];
	for(j=0;j<current_vertices;j++) pmask[j]=mask[j];
	while(j<i) pmask[j++]=0;
	delete [] mask;mask=pmask;
	ppts=new double[i<<2];
	for(j=0;j<(current_vertices<<2);j++) ppts[j]=pts[j];
	delete [] pts;pts=ppts;
	current_vertices=i;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r15
movq %rdi, %rbx
movl 0x8(%rdi), %eax
movq %rax, (%rsp)
leal (%rax,%rax), %ebp
cmpl $0x1000001, %ebp        # imm = 0x1000001
jl 0x2af0
leaq 0x36523(%rip), %rdi     # 0x3900b
pushq $0x2
popq %rsi
callq 0x1318d
movq 0x434e9(%rip), %rax     # 0x45fe0
movq (%rax), %rdi
leaq 0x3653d(%rip), %rsi     # 0x3903e
movl %ebp, %edx
xorl %eax, %eax
callq 0x21b0
movslq %ebp, %r14
leaq (,%r14,8), %r12
testl %ebp, %ebp
pushq $-0x1
popq %rax
cmovsq %rax, %r12
movq %r12, %rdi
callq 0x2030
movq %rax, %r13
movslq 0x8(%rbx), %rax
testq %rax, %rax
jle 0x2b49
movq 0x28(%rbx), %rcx
xorl %edx, %edx
movq (%rcx,%rdx,8), %rsi
movq %rsi, (%r13,%rdx,8)
incq %rdx
cmpq %rdx, %rax
jne 0x2b38
movq 0x28(%rbx), %rdi
testq %rdi, %rdi
je 0x2b57
callq 0x2180
movq %r13, 0x28(%rbx)
movq %r12, %rdi
callq 0x2030
movq %rax, %r12
movslq 0x8(%r15), %rax
testq %rax, %rax
jle 0x2b88
movq 0xf0(%r15), %rcx
xorl %edx, %edx
movq (%rcx,%rdx,8), %rsi
movq %rsi, (%r12,%rdx,8)
incq %rdx
cmpq %rdx, %rax
jne 0x2b78
movq 0xf0(%r15), %rdi
testq %rdi, %rdi
je 0x2b99
callq 0x2180
shlq $0x2, %r14
testl %ebp, %ebp
movq %r12, 0xf0(%r15)
pushq $-0x1
popq %r12
cmovsq %r12, %r14
movq %r14, %rdi
callq 0x2030
movq %rax, %r15
movslq 0x8(%rbx), %rax
testq %rax, %rax
jle 0x2bd7
movq 0x30(%rbx), %rcx
xorl %edx, %edx
movl (%rcx,%rdx,4), %esi
movl %esi, (%r15,%rdx,4)
incq %rdx
cmpq %rdx, %rax
jne 0x2bc8
movq 0x30(%rbx), %rdi
testq %rdi, %rdi
je 0x2be5
callq 0x2180
movq %r15, 0x30(%rbx)
movq %r14, %rdi
callq 0x2030
movq %rax, %r14
movslq 0x8(%rbx), %rcx
testq %rcx, %rcx
jle 0x2c14
movq 0x38(%rbx), %rdx
xorl %eax, %eax
movl (%rdx,%rax,4), %esi
movl %esi, (%r14,%rax,4)
incq %rax
cmpq %rax, %rcx
jne 0x2c03
jmp 0x2c16
xorl %eax, %eax
cmpl %ebp, %eax
jge 0x2c33
movl %eax, %ecx
leaq (%r14,%rcx,4), %rdi
notl %eax
addl %ebp, %eax
leaq 0x4(,%rax,4), %rdx
xorl %esi, %esi
callq 0x20c0
movq 0x38(%rbx), %rdi
testq %rdi, %rdi
je 0x2c41
callq 0x2180
movq %r14, 0x38(%rbx)
movq (%rsp), %rax
shll $0x3, %eax
cltq
leaq (,%rax,8), %rdi
testl %eax, %eax
cmovsq %r12, %rdi
callq 0x2030
movq %rax, %r14
movl 0x8(%rbx), %ecx
shll $0x2, %ecx
testl %ecx, %ecx
jle 0x2c89
movq 0x40(%rbx), %rax
movl %ecx, %ecx
xorl %edx, %edx
movsd (%rax,%rdx,8), %xmm0
movsd %xmm0, (%r14,%rdx,8)
incq %rdx
cmpq %rdx, %rcx
jne 0x2c76
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x2c97
callq 0x2180
movq %r14, 0x40(%rbx)
movl %ebp, 0x8(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq