// File: /workspace/github_cpp_makefile_star2_O1/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), %rax
testq %rax, %rax
jle 0x1db20
movq 0x30(%rdi), %rcx
xorl %r8d, %r8d
movsd 0x31a9f(%rip), %xmm3    # 0x4f578
movsd (%rcx), %xmm4
mulsd %xmm3, %xmm4
addsd %xmm0, %xmm4
movq (%rsi,%r8,8), %r9
movsd %xmm4, (%r9)
movsd 0x8(%rcx), %xmm4
mulsd %xmm3, %xmm4
addsd %xmm1, %xmm4
movsd %xmm4, 0x8(%r9)
movsd 0x10(%rcx), %xmm4
mulsd %xmm3, %xmm4
addsd %xmm2, %xmm4
movsd %xmm4, 0x10(%r9)
incq %r8
addq $0x18, %rcx
cmpq %r8, %rax
jne 0x1dad9
movl 0x18(%rdi), %r10d
cmpl $0x2, %r10d
jl 0x1dc2d
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 0x1dc19
movq (%rax,%r8,8), %rdi
xorl %r11d, %r11d
movslq (%rdi,%r11,4), %r15
testq %r15, %r15
js 0x1dc09
movl %r15d, %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,%r15,4), %ebp
decl %ebp
leal 0x1(%r14), %ebx
cmpl %r14d, %ebp
cmovel %esi, %ebx
movq (%rax,%r15,8), %r14
movslq %ebx, %r13
movl (%r14,%r13,4), %r12d
movl %r12d, %ebp
notl %ebp
movl %ebp, (%r14,%r13,4)
cmpq %r12, %r8
je 0x1dc09
movslq %r9d, %r14
leaq (%rdx,%r14,8), %r14
movslq %r15d, %r15
movl %r12d, %ebp
movq (%rax,%r15,8), %r12
movslq (%rcx,%r15,4), %r13
movslq %ebx, %rbx
addq %r13, %rbx
movl (%r12,%rbx,4), %r12d
movslq %ebp, %r13
movl (%rcx,%r13,4), %r10d
decl %r10d
leal 0x1(%r12), %ebx
cmpl %r12d, %r10d
cmovel %esi, %ebx
movq (%r14), %r10
movl %r8d, (%r10)
movl %r15d, 0x4(%r10)
movl %r13d, 0x8(%r10)
movq (%rax,%r13,8), %r10
movslq %ebx, %r13
movl %ebp, %r15d
movl (%r10,%r13,4), %r12d
movl %r12d, %ebp
notl %ebp
movl %ebp, (%r10,%r13,4)
addq $0x8, %r14
incl %r9d
cmpq %r12, %r8
jne 0x1dbab
incq %r11
movslq (%rcx,%r8,4), %r10
cmpq %r10, %r11
jl 0x1db57
incq %r8
movq (%rsp), %rdi
movslq 0x18(%rdi), %r10
cmpq %r10, %r8
jl 0x1db45
testl %r10d, %r10d
jle 0x1dc71
movq 0x20(%rdi), %rax
movq 0x28(%rdi), %rcx
xorl %edx, %edx
cmpl $0x0, (%rcx,%rdx,4)
jle 0x1dc65
movq (%rax,%rdx,8), %rsi
xorl %r8d, %r8d
movl (%rsi,%r8,4), %r9d
testl %r9d, %r9d
jns 0x1dc80
notl %r9d
movl %r9d, (%rsi,%r8,4)
incq %r8
movslq (%rcx,%rdx,4), %r9
cmpq %r9, %r8
jl 0x1dc49
incq %rdx
movslq 0x18(%rdi), %rsi
cmpq %rsi, %rdx
jl 0x1dc3c
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x7c00
nop