// File: /workspace/github_cpp_makefile_star2_O3/Luthaf[P]zeopp/voro++/src/cell.cc
// Function: void voro::voronoicell_base::add_memory_vorder<voro::voronoicell_neighbor>(voro::voronoicell_neighbor&)
void voronoicell_base::add_memory_vorder(vc_class &vc) {
	int i=(current_vertex_order<<1),j,*p1,**p2;
	if(i>max_vertex_order) voro_fatal_error("Vertex order memory allocation exceeded absolute maximum",VOROPP_MEMORY_ERROR);
#if VOROPP_VERBOSE >=2
	fprintf(stderr,"Vertex order memory scaled up to %d\n",i);
#endif
	p1=new int[i];
	for(j=0;j<current_vertex_order;j++) p1[j]=mem[j];
	while(j<i) p1[j++]=0;
	delete [] mem;mem=p1;
	p2=new int*[i];
	for(j=0;j<current_vertex_order;j++) p2[j]=mep[j];
	delete [] mep;mep=p2;
	p1=new int[i];
	for(j=0;j<current_vertex_order;j++) p1[j]=mec[j];
	while(j<i) p1[j++]=0;
	delete [] mec;mec=p1;
	vc.n_add_memory_vorder(i);
	current_vertex_order=i;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, 0x10(%rsp)
movq %rdi, %rbx
movl 0xc(%rdi), %ebp
addl %ebp, %ebp
cmpl $0x801, %ebp            # imm = 0x801
jl 0x2980
leaq 0x36608(%rip), %rdi     # 0x38f80
pushq $0x2
popq %rsi
callq 0x133c5
movq 0x42659(%rip), %rax     # 0x44fe0
movq (%rax), %rdi
leaq 0x36628(%rip), %rsi     # 0x38fb9
xorl %r15d, %r15d
movl %ebp, %edx
xorl %eax, %eax
callq 0x21b0
movslq %ebp, %r12
leaq (,%r12,4), %rdi
testl %ebp, %ebp
pushq $-0x1
popq %rax
cmovsq %rax, %rdi
movq %rdi, 0x8(%rsp)
callq 0x2030
movq %rax, %r13
movslq 0xc(%rbx), %r14
testq %r14, %r14
jle 0x29e0
movq 0x60(%rbx), %rax
xorl %ecx, %ecx
movl (%rax,%rcx,4), %edx
movl %edx, (%r13,%rcx,4)
incq %rcx
cmpq %rcx, %r14
jne 0x29cd
movl %r14d, %r15d
cmpl %ebp, %r15d
jge 0x2a08
movl %r15d, %eax
leaq (,%rax,4), %rdi
addq %r13, %rdi
notl %r15d
addl %ebp, %r15d
leaq 0x4(,%r15,4), %rdx
xorl %esi, %esi
callq 0x20c0
movq 0x60(%rbx), %rdi
testq %rdi, %rdi
je 0x2a1a
callq 0x2180
movl 0xc(%rbx), %r14d
shlq $0x3, %r12
testl %ebp, %ebp
movq %r13, 0x60(%rbx)
pushq $-0x1
popq %r13
cmovsq %r13, %r12
movq %r12, %rdi
callq 0x2030
movq %rax, %r12
movq 0x70(%rbx), %rdi
testl %r14d, %r14d
jle 0x2a57
movl %r14d, %eax
xorl %ecx, %ecx
movq (%rdi,%rcx,8), %rdx
movq %rdx, (%r12,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x2a45
jmp 0x2a5c
testq %rdi, %rdi
je 0x2a92
callq 0x2180
movslq 0xc(%rbx), %r14
movq %r12, 0x70(%rbx)
movq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %r15
testq %r14, %r14
jle 0x2aa3
movq 0x68(%rbx), %rax
xorl %ecx, %ecx
movl (%rax,%rcx,4), %edx
movl %edx, (%r15,%rcx,4)
incq %rcx
cmpq %rcx, %r14
jne 0x2a81
jmp 0x2aa6
movq %r12, 0x70(%rbx)
movq 0x8(%rsp), %rdi
callq 0x2030
movq %rax, %r15
xorl %r14d, %r14d
cmpl %ebp, %r14d
jge 0x2ac7
movl %r14d, %eax
leaq (%r15,%rax,4), %rdi
notl %r14d
addl %ebp, %r14d
leaq 0x4(,%r14,4), %rdx
xorl %esi, %esi
callq 0x20c0
movq 0x68(%rbx), %rdi
testq %rdi, %rdi
je 0x2ad5
callq 0x2180
movl %ebp, %edi
shlq $0x3, %rdi
testl %ebp, %ebp
movq %r15, 0x68(%rbx)
cmovsq %r13, %rdi
callq 0x2030
movq %rax, %r15
movq 0x10(%rsp), %r14
movslq 0xc(%r14), %rax
movq 0xe8(%r14), %rdi
testq %rax, %rax
jle 0x2b16
xorl %ecx, %ecx
movq (%rdi,%rcx,8), %rdx
movq %rdx, (%r15,%rcx,8)
incq %rcx
cmpq %rcx, %rax
jne 0x2b04
jmp 0x2b1b
testq %rdi, %rdi
je 0x2b20
callq 0x2180
movq %r15, 0xe8(%r14)
movl %ebp, 0xc(%rbx)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop