// File: /workspace/github_cpp_makefile_star2_O1/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 $0x18, %rsp
movq %rsi, %r14
movsd %xmm2, 0x10(%rsp)
movsd %xmm1, 0x8(%rsp)
movsd %xmm0, (%rsp)
movq %rdi, %rbx
movq 0x40(%rdi), %r12
movl 0x1c(%rdi), %edx
leaq 0x2ec90(%rip), %rsi     # 0x38d61
xorl %ebp, %ebp
movq %r14, %rdi
xorl %eax, %eax
callq 0x21b0
movl 0x1c(%rbx), %eax
testl %eax, %eax
jle 0xa13e
leaq 0x2ec93(%rip), %r15     # 0x38d7e
movsd (%r12), %xmm0
movsd 0x2cf2f(%rip), %xmm3    # 0x37028
mulsd %xmm3, %xmm0
addsd (%rsp), %xmm0
movsd 0x8(%r12), %xmm1
mulsd %xmm3, %xmm1
addsd 0x8(%rsp), %xmm1
movsd 0x10(%r12), %xmm2
mulsd %xmm3, %xmm2
addsd 0x10(%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 0xa0eb
leal -0x4(,%rax,2), %edx
leaq 0x2ec3f(%rip), %rsi     # 0x38d8b
movq %r14, (%rsp)
movq %r14, %rdi
xorl %eax, %eax
callq 0x21b0
xorl %r9d, %r9d
cmpl $0x2, 0x1c(%rbx)
jl 0xa297
movl $0x1, %edx
leaq 0x2ec2d(%rip), %rsi     # 0x38da0
movq 0x30(%rbx), %rcx
cmpl $0x0, (%rcx,%rdx,4)
jle 0xa287
leaq (%rcx,%rdx,4), %r15
xorl %r8d, %r8d
movq 0x28(%rbx), %r10
movq (%r10,%rdx,8), %r14
movq %r8, 0x8(%rsp)
movslq (%r14,%r8,4), %rax
testq %rax, %rax
movq (%rsp), %rdi
js 0xa26b
movl %eax, %r8d
notl %r8d
movq 0x8(%rsp), %r11
movl %r8d, (%r14,%r11,4)
movslq (%r15), %r15
movslq %r11d, %r8
addq %r15, %r8
movl (%r14,%r8,4), %r8d
movl (%rcx,%rax,4), %ecx
decl %ecx
leal 0x1(%r8), %r12d
cmpl %r8d, %ecx
cmovel %r9d, %r12d
movq (%r10,%rax,8), %r11
movslq %r12d, %r8
movl (%r11,%r8,4), %ecx
movl %ecx, %r10d
notl %r10d
movl %r10d, (%r11,%r8,4)
cmpq %rcx, %rdx
je 0xa26b
movl %ecx, %ebp
movl %ecx, 0x10(%rsp)
movslq %eax, %rcx
movq 0x28(%rbx), %rax
movq 0x30(%rbx), %r11
movq (%rax,%rcx,8), %rax
movslq (%r11,%rcx,4), %r8
movslq %r12d, %r10
addq %r8, %r10
movl (%rax,%r10,4), %eax
movslq %ebp, %r13
movl (%r11,%r13,4), %r8d
decl %r8d
leal 0x1(%rax), %r12d
cmpl %eax, %r8d
cmovel %r9d, %r12d
movl %r13d, %r8d
xorl %eax, %eax
movq %rdx, %r14
movq %rbx, %r15
movq %rdi, %rbx
movq %rsi, %rbp
callq 0x21b0
movq %rbp, %rsi
movq %rbx, %rdi
movq %r15, %rbx
movq %r14, %rdx
xorl %r9d, %r9d
movq 0x28(%r15), %rax
movq (%rax,%r13,8), %rax
movslq %r12d, %r10
movl (%rax,%r10,4), %ecx
movl %ecx, %r8d
notl %r8d
movl %r8d, (%rax,%r10,4)
movl 0x10(%rsp), %eax
cmpq %rcx, %r14
jne 0xa1ec
movq 0x8(%rsp), %r8
incq %r8
movq 0x30(%rbx), %rcx
leaq (%rcx,%rdx,4), %r15
movslq (%r15), %rax
cmpq %rax, %r8
jl 0xa188
incq %rdx
movslq 0x1c(%rbx), %rax
cmpq %rax, %rdx
jl 0xa173
leaq 0x2eb0f(%rip), %rdi     # 0x38dad
movq (%rsp), %rsi
callq 0x2140
cmpl $0x0, 0x1c(%rbx)
jle 0xa309
xorl %r15d, %r15d
leaq 0x2eb8e(%rip), %r14     # 0x38e45
movq 0x30(%rbx), %rax
cmpl $0x0, (%rax,%r15,4)
jle 0xa2fd
xorl %r12d, %r12d
movq 0x28(%rbx), %rax
movq (%rax,%r15,8), %rax
cmpl $0x0, (%rax,%r12,4)
js 0xa2e1
movq %r14, %rdi
movl $0x3, %esi
callq 0x1318d
movq 0x28(%rbx), %rax
movq (%rax,%r15,8), %rax
notl (%rax,%r12,4)
incq %r12
movq 0x30(%rbx), %rax
movslq (%rax,%r15,4), %rax
cmpq %rax, %r12
jl 0xa2c5
incq %r15
movslq 0x1c(%rbx), %rax
cmpq %rax, %r15
jl 0xa2b7
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq