// File: /workspace/github_cpp_makefile_star2_O3/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
subq $0x18, %rsp
movq %rsi, 0x8(%rsp)
movq %rdi, %rbx
movl 0x8(%rdi), %eax
movq %rax, 0x10(%rsp)
leal (%rax,%rax), %ebp
cmpl $0x1000001, %ebp        # imm = 0x1000001
jl 0x2b72
leaq 0x36511(%rip), %rdi     # 0x3907b
pushq $0x2
popq %rsi
callq 0x133c5
movq 0x42467(%rip), %rax     # 0x44fe0
movq (%rax), %rdi
leaq 0x3652b(%rip), %rsi     # 0x390ae
movl %ebp, %edx
xorl %eax, %eax
callq 0x21b0
movslq %ebp, %r14
leaq (,%r14,8), %rdi
testl %ebp, %ebp
pushq $-0x1
popq %r15
cmovsq %r15, %rdi
callq 0x2030
movq %rax, %r12
movslq 0x8(%rbx), %rax
movq 0x28(%rbx), %rdi
testq %rax, %rax
jle 0x2bce
xorl %ecx, %ecx
movq (%rdi,%rcx,8), %rdx
movq %rdx, (%r12,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x2bb8
leaq 0x28(%rbx), %r13
jmp 0x2bd7
leaq 0x28(%rbx), %r13
testq %rdi, %rdi
je 0x2bdc
callq 0x2180
movl %ebp, %edi
shlq $0x3, %rdi
testl %ebp, %ebp
movq %r12, (%r13)
movq %r15, %r13
cmovsq %r15, %rdi
callq 0x2030
movq %rax, %r12
movq 0x8(%rsp), %r15
movslq 0x8(%r15), %rax
movq 0xf0(%r15), %rdi
testq %rax, %rax
jle 0x2c20
xorl %ecx, %ecx
movq (%rdi,%rcx,8), %rdx
movq %rdx, (%r12,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x2c0e
jmp 0x2c25
testq %rdi, %rdi
je 0x2c2a
callq 0x2180
shlq $0x2, %r14
testl %ebp, %ebp
movq %r12, 0xf0(%r15)
cmovsq %r13, %r14
movq %r14, %rdi
callq 0x2030
movq %rax, %r15
movslq 0x8(%rbx), %r12
movq 0x30(%rbx), %rdi
testq %r12, %r12
jle 0x2c66
xorl %eax, %eax
movl (%rdi,%rax,4), %ecx
movl %ecx, (%r15,%rax,4)
incq %rax
cmpq %rax, %r12
jne 0x2c55
jmp 0x2c6b
testq %rdi, %rdi
je 0x2ca2
callq 0x2180
movslq 0x8(%rbx), %r12
movq %r15, 0x30(%rbx)
movq %r14, %rdi
callq 0x2030
movq %rax, %r14
testq %r12, %r12
jle 0x2cb1
movq 0x38(%rbx), %rax
xorl %ecx, %ecx
movl (%rax,%rcx,4), %edx
movl %edx, (%r14,%rcx,4)
incq %rcx
cmpq %rcx, %r12
jne 0x2c8e
movl %r12d, %eax
jmp 0x2cb3
movq %r15, 0x30(%rbx)
movq %r14, %rdi
callq 0x2030
movq %rax, %r14
xorl %eax, %eax
cmpl %ebp, %eax
jge 0x2cd0
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 0x2ce2
callq 0x2180
movl 0x8(%rbx), %r12d
movq %r14, 0x38(%rbx)
movq 0x10(%rsp), %rax
shll $0x3, %eax
cltq
leaq (,%rax,8), %rdi
testl %eax, %eax
cmovsq %r13, %rdi
callq 0x2030
movq %rax, %r14
shll $0x2, %r12d
movq 0x40(%rbx), %rdi
testl %r12d, %r12d
jle 0x2d2d
movl %r12d, %eax
xorl %ecx, %ecx
movsd (%rdi,%rcx,8), %xmm0
movsd %xmm0, (%r14,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x2d18
jmp 0x2d32
testq %rdi, %rdi
je 0x2d37
callq 0x2180
movq %r14, 0x40(%rbx)
movl %ebp, 0x8(%rbx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq