// File: /workspace/github_cpp_makefile_star2_O3/icemiliang[P]vot/src/vot/cell.cc
// Function: voro::voronoicell_base::output_pov_mesh(double, double, double, double**, int**)
void voronoicell_base::output_pov_mesh(double x, double y, double z, double** v, int** f) {
    int i, j, k, l, m, n;
    double *ptsp = pts;
    for (i = 0; i < p; i++, ptsp += 3){
        v[i][0] = x + *ptsp*0.5; v[i][1] = y + ptsp[1] * 0.5; v[i][2] = z + ptsp[2] * 0.5;
    }
    int numf = 0;
    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);
                f[numf][0] = i; f[numf][1] = k; f[numf++][2] = m;
                k = m; l = n;
                m = ed[k][l]; ed[k][l] = -1 - m;
            }
        }
    }
    reset_edges();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movslq 0x18(%rdi), %r10
testq %r10, %r10
jle 0x1dcbf
movq 0x30(%rdi), %rax
xorl %ecx, %ecx
movsd 0x31bbe(%rip), %xmm3    # 0x4f6e8
movsd (%rax), %xmm4
mulsd %xmm3, %xmm4
addsd %xmm0, %xmm4
movq (%rsi,%rcx,8), %r8
movsd %xmm4, (%r8)
movsd 0x8(%rax), %xmm4
mulsd %xmm3, %xmm4
addsd %xmm1, %xmm4
movsd %xmm4, 0x8(%r8)
movsd 0x10(%rax), %xmm4
mulsd %xmm3, %xmm4
addsd %xmm2, %xmm4
movsd %xmm4, 0x10(%r8)
incq %rcx
addq $0x18, %rax
cmpq %rcx, %r10
jne 0x1db2a
cmpl $0x1, %r10d
je 0x1dc78
movq 0x20(%rdi), %rax
movq 0x28(%rdi), %rcx
xorl %esi, %esi
movl $0x1, %r8d
xorl %r9d, %r9d
movq %rdi, (%rsp)
cmpl $0x0, (%rcx,%r8,4)
jle 0x1dc69
movq (%rax,%r8,8), %rdi
xorl %r11d, %r11d
movslq (%rdi,%r11,4), %r12
testq %r12, %r12
js 0x1dc51
movl %r12d, %ebx
notl %ebx
movl %ebx, (%rdi,%r11,4)
movslq (%rcx,%r8,4), %rbx
movslq %r11d, %r14
addq %rbx, %r14
movl (%rdi,%r14,4), %r14d
movl (%rcx,%r12,4), %ebp
decl %ebp
leal 0x1(%r14), %ebx
cmpl %r14d, %ebp
cmovel %esi, %ebx
movq (%rax,%r12,8), %r15
movslq %ebx, %r14
movl (%r15,%r14,4), %r13d
movl %r13d, %ebp
notl %ebp
movl %ebp, (%r15,%r14,4)
cmpq %r13, %r8
je 0x1dc51
movslq %r9d, %r14
leaq (%rdx,%r14,8), %r14
movslq %r12d, %r12
movl %r13d, %ebp
movslq (%rcx,%r12,4), %r13
movslq %ebx, %rbx
addq %r13, %rbx
movl (%r15,%rbx,4), %r15d
movslq %ebp, %r13
movl (%rcx,%r13,4), %r10d
decl %r10d
leal 0x1(%r15), %ebx
cmpl %r15d, %r10d
cmovel %esi, %ebx
movq (%r14), %r10
movl %r8d, (%r10)
movl %r12d, 0x4(%r10)
movl %r13d, 0x8(%r10)
movq (%rax,%r13,8), %r15
movslq %ebx, %r10
movl %ebp, %r12d
movl (%r15,%r10,4), %r13d
movl %r13d, %ebp
notl %ebp
movl %ebp, (%r15,%r10,4)
addq $0x8, %r14
incl %r9d
cmpq %r13, %r8
jne 0x1dbf8
incq %r11
movslq (%rcx,%r8,4), %r10
cmpq %r10, %r11
jl 0x1dba4
movq (%rsp), %rdi
movl 0x18(%rdi), %r10d
incq %r8
movslq %r10d, %r11
cmpq %r11, %r8
jl 0x1db92
testl %r10d, %r10d
jle 0x1dcbf
movq 0x20(%rdi), %rax
movq 0x28(%rdi), %rcx
xorl %edx, %edx
cmpl $0x0, (%rcx,%rdx,4)
jle 0x1dcb4
movq (%rax,%rdx,8), %rsi
xorl %r8d, %r8d
movl (%rsi,%r8,4), %r9d
testl %r9d, %r9d
jns 0x1dcce
notl %r9d
movl %r9d, (%rsi,%r8,4)
incq %r8
movslq (%rcx,%rdx,4), %r9
cmpq %r9, %r8
jl 0x1dc94
movl 0x18(%rdi), %r10d
incq %rdx
movslq %r10d, %rsi
cmpq %rsi, %rdx
jl 0x1dc87
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x7c0e
nop