// File: /workspace/github_cpp_makefile_star2_O3/Luthaf[P]zeopp/voro++/src/cell.cc
// Function: voro::voronoicell_base::draw_pov_mesh(double, double, double, _IO_FILE*)
void voronoicell_base::draw_pov_mesh(double x,double y,double z,FILE *fp) {
	int i,j,k,l,m,n;
	double *ptsp=pts;
	fprintf(fp,"mesh2 {\nvertex_vectors {\n%d\n",p);
	for(i=0;i<p;i++,ptsp+=4) fprintf(fp,",<%g,%g,%g>\n",x+*ptsp*0.5,y+ptsp[1]*0.5,z+ptsp[2]*0.5);
	fprintf(fp,"}\nface_indices {\n%d\n",(p-2)<<1);
	for(i=1;i<p;i++) for(j=0;j<nu[i];j++) {
		k=ed[i][j];
		if(k>=0) {
			ed[i][j]=-1-k;
			l=cycle_up(ed[i][nu[i]+j],k);
			m=ed[k][l];ed[k][l]=-1-m;
			while(m!=i) {
				n=cycle_up(ed[k][nu[k]+l],m);
				fprintf(fp,",<%d,%d,%d>\n",i,k,m);
				k=m;l=n;
				m=ed[k][l];ed[k][l]=-1-m;
			}
		}
	}
	fputs("}\ninside_vector <0,0,1>\n}\n",fp);
	reset_edges();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
movsd %xmm2, 0x8(%rsp)
movsd %xmm1, 0x20(%rsp)
movsd %xmm0, 0x18(%rsp)
movq %rdi, %rbx
movq 0x40(%rdi), %r12
movl 0x1c(%rdi), %edx
leaq 0x2edeb(%rip), %rsi     # 0x38dd1
xorl %ebp, %ebp
movq %r14, %rdi
xorl %eax, %eax
callq 0x21b0
movl 0x1c(%rbx), %eax
testl %eax, %eax
jle 0xa054
leaq 0x2edee(%rip), %r15     # 0x38dee
movsd (%r12), %xmm0
movsd 0x2d022(%rip), %xmm3    # 0x37030
mulsd %xmm3, %xmm0
addsd 0x18(%rsp), %xmm0
movsd 0x8(%r12), %xmm1
mulsd %xmm3, %xmm1
addsd 0x20(%rsp), %xmm1
movsd 0x10(%r12), %xmm2
mulsd %xmm3, %xmm2
addsd 0x8(%rsp), %xmm2
movq %r14, %rdi
movq %r15, %rsi
movb $0x3, %al
callq 0x21b0
incl %ebp
addq $0x20, %r12
movl 0x1c(%rbx), %eax
cmpl %eax, %ebp
jl 0xa000
leal -0x4(,%rax,2), %edx
leaq 0x2ed99(%rip), %rsi     # 0x38dfb
movq %r14, %rdi
xorl %eax, %eax
callq 0x21b0
xorl %r10d, %r10d
movl 0x1c(%rbx), %ecx
cmpl $0x2, %ecx
jl 0xa196
movq 0x30(%rbx), %rax
movl $0x1, %ebp
leaq 0x2ed85(%rip), %r11     # 0x38e10
movq %r14, 0x10(%rsp)
cmpl $0x0, (%rax,%rbp,4)
jle 0xa187
leaq (%rax,%rbp,4), %rsi
movq 0x28(%rbx), %rcx
xorl %r14d, %r14d
movq (%rcx,%rbp,8), %rdi
movslq (%rdi,%r14,4), %r15
testq %r15, %r15
js 0xa16c
movl %r15d, %r8d
notl %r8d
movl %r8d, (%rdi,%r14,4)
movslq (%rsi), %rsi
movslq %r14d, %r8
addq %rsi, %r8
movl (%rdi,%r8,4), %esi
movl (%rax,%r15,4), %edi
decl %edi
leal 0x1(%rsi), %r12d
cmpl %esi, %edi
cmovel %r10d, %r12d
movq (%rcx,%r15,8), %rsi
movslq %r12d, %r8
movl (%rsi,%r8,4), %edi
movl %edi, %r9d
notl %r9d
movl %r9d, (%rsi,%r8,4)
cmpq %rdi, %rbp
je 0xa16c
movq %r14, 0x8(%rsp)
movl %edi, %r14d
movslq %r15d, %rcx
movq 0x30(%rbx), %rax
movslq (%rax,%rcx,4), %r8
movslq %r12d, %rdi
addq %r8, %rdi
movl (%rsi,%rdi,4), %esi
movslq %r14d, %r13
movl (%rax,%r13,4), %eax
decl %eax
leal 0x1(%rsi), %r12d
cmpl %esi, %eax
cmovel %r10d, %r12d
movq 0x10(%rsp), %rdi
movq %r11, %rsi
movl %ebp, %edx
movl %r13d, %r8d
xorl %eax, %eax
movq %r11, %r15
callq 0x21b0
movq %r15, %r11
xorl %r10d, %r10d
movq 0x28(%rbx), %rcx
movq (%rcx,%r13,8), %rsi
movslq %r12d, %rax
movl (%rsi,%rax,4), %edi
movl %edi, %r8d
notl %r8d
movl %r8d, (%rsi,%rax,4)
movl %r14d, %r15d
cmpq %rdi, %rbp
jne 0xa0fc
movq 0x30(%rbx), %rax
movq 0x8(%rsp), %r14
incq %r14
leaq (%rax,%rbp,4), %rsi
movslq (%rsi), %rdi
cmpq %rdi, %r14
jl 0xa0a5
movl 0x1c(%rbx), %ecx
movq 0x10(%rsp), %r14
incq %rbp
movslq %ecx, %rdi
cmpq %rdi, %rbp
jl 0xa090
leaq 0x2ec80(%rip), %rdi     # 0x38e1d
movq %r14, %rsi
callq 0x2140
movl 0x1c(%rbx), %ecx
testl %ecx, %ecx
jle 0xa211
movq 0x30(%rbx), %rax
xorl %r15d, %r15d
leaq 0x2ecfb(%rip), %r14     # 0x38eb5
cmpl $0x0, (%rax,%r15,4)
jle 0xa206
movq 0x28(%rbx), %rcx
movq (%rcx,%r15,8), %rcx
xorl %r12d, %r12d
movl (%rcx,%r12,4), %edx
testl %edx, %edx
js 0xa1f1
movq %r14, %rdi
movl $0x3, %esi
callq 0x133c5
movq 0x28(%rbx), %rcx
movq 0x30(%rbx), %rax
movq (%rcx,%r15,8), %rcx
movl (%rcx,%r12,4), %edx
notl %edx
movl %edx, (%rcx,%r12,4)
incq %r12
movslq (%rax,%r15,4), %rdx
cmpq %rdx, %r12
jl 0xa1cc
movl 0x1c(%rbx), %ecx
incq %r15
movslq %ecx, %rdx
cmpq %rdx, %r15
jl 0xa1ba
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq