// File: icemiliang[P]vot/src/vot/cell.cc
// Function: voro::voronoicell_base::init_tetrahedron_base(double, double, double, double, double, double, double, double, double, double, double, double)
void voronoicell_base::init_tetrahedron_base(double x0,double y0,double z0,double x1,double y1,double z1,double x2,double y2,double z2,double x3,double y3,double z3) {
    for(int i=0;i<current_vertex_order;i++) mec[i]=0;up=0;
    mec[3]=p=4;
    *pts=x0*2;pts[1]=y0*2;pts[2]=z0*2;
    pts[3]=x1*2;pts[4]=y1*2;pts[5]=z1*2;
    pts[6]=x2*2;pts[7]=y2*2;pts[8]=z2*2;
    pts[9]=x3*2;pts[10]=y3*2;pts[11]=z3*2;
    int *q=mep[3];
    *q=1;q[1]=3;q[2]=2;q[3]=0;q[4]=0;q[5]=0;q[6]=0;
    q[7]=0;q[8]=2;q[9]=3;q[10]=0;q[11]=2;q[12]=1;q[13]=1;
    q[14]=0;q[15]=3;q[16]=1;q[17]=2;q[18]=2;q[19]=1;q[20]=2;
    q[21]=0;q[22]=1;q[23]=2;q[24]=1;q[25]=2;q[26]=1;q[27]=3;
    *ed=q;ed[1]=q+7;ed[2]=q+14;ed[3]=q+21;
    *nu=nu[1]=nu[2]=nu[3]=3;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movsd 0x28(%rbp), %xmm8
movsd 0x20(%rbp), %xmm8
movsd 0x18(%rbp), %xmm8
movsd 0x10(%rbp), %xmm8
movq %rdi, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movsd %xmm1, -0x18(%rbp)
movsd %xmm2, -0x20(%rbp)
movsd %xmm3, -0x28(%rbp)
movsd %xmm4, -0x30(%rbp)
movsd %xmm5, -0x38(%rbp)
movsd %xmm6, -0x40(%rbp)
movsd %xmm7, -0x48(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movl $0x0, -0x4c(%rbp)
movq -0x60(%rbp), %rcx
movl -0x4c(%rbp), %eax
cmpl 0xc(%rcx), %eax
jge 0x435d1
movq -0x60(%rbp), %rax
movq 0x40(%rax), %rax
movslq -0x4c(%rbp), %rcx
movl $0x0, (%rax,%rcx,4)
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x435a7
movq -0x60(%rbp), %rax
movl $0x0, 0x1c(%rax)
movl $0x4, 0x18(%rax)
movq 0x40(%rax), %rcx
movl $0x4, 0xc(%rcx)
movsd 0x50aca(%rip), %xmm0    # 0x940c0
mulsd -0x10(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, (%rcx)
movsd 0x50ab5(%rip), %xmm0    # 0x940c0
mulsd -0x18(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x8(%rcx)
movsd 0x50a9f(%rip), %xmm0    # 0x940c0
mulsd -0x20(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x10(%rcx)
movsd 0x50a89(%rip), %xmm0    # 0x940c0
mulsd -0x28(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x18(%rcx)
movsd 0x50a73(%rip), %xmm0    # 0x940c0
mulsd -0x30(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x20(%rcx)
movsd 0x50a5d(%rip), %xmm0    # 0x940c0
mulsd -0x38(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x28(%rcx)
movsd 0x50a47(%rip), %xmm0    # 0x940c0
mulsd -0x40(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x30(%rcx)
movsd 0x50a31(%rip), %xmm0    # 0x940c0
mulsd -0x48(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x38(%rcx)
movsd 0x50a1b(%rip), %xmm0    # 0x940c0
mulsd 0x10(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x40(%rcx)
movsd 0x50a05(%rip), %xmm0    # 0x940c0
mulsd 0x18(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x48(%rcx)
movsd 0x509ef(%rip), %xmm0    # 0x940c0
mulsd 0x20(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x50(%rcx)
movsd 0x509d9(%rip), %xmm0    # 0x940c0
mulsd 0x28(%rbp), %xmm0
movq 0x30(%rax), %rcx
movsd %xmm0, 0x58(%rcx)
movq 0x48(%rax), %rcx
movq 0x18(%rcx), %rcx
movq %rcx, -0x58(%rbp)
movq -0x58(%rbp), %rcx
movl $0x1, (%rcx)
movq -0x58(%rbp), %rcx
movl $0x3, 0x4(%rcx)
movq -0x58(%rbp), %rcx
movl $0x2, 0x8(%rcx)
movq -0x58(%rbp), %rcx
movl $0x0, 0xc(%rcx)
movq -0x58(%rbp), %rcx
movl $0x0, 0x10(%rcx)
movq -0x58(%rbp), %rcx
movl $0x0, 0x14(%rcx)
movq -0x58(%rbp), %rcx
movl $0x0, 0x18(%rcx)
movq -0x58(%rbp), %rcx
movl $0x0, 0x1c(%rcx)
movq -0x58(%rbp), %rcx
movl $0x2, 0x20(%rcx)
movq -0x58(%rbp), %rcx
movl $0x3, 0x24(%rcx)
movq -0x58(%rbp), %rcx
movl $0x0, 0x28(%rcx)
movq -0x58(%rbp), %rcx
movl $0x2, 0x2c(%rcx)
movq -0x58(%rbp), %rcx
movl $0x1, 0x30(%rcx)
movq -0x58(%rbp), %rcx
movl $0x1, 0x34(%rcx)
movq -0x58(%rbp), %rcx
movl $0x0, 0x38(%rcx)
movq -0x58(%rbp), %rcx
movl $0x3, 0x3c(%rcx)
movq -0x58(%rbp), %rcx
movl $0x1, 0x40(%rcx)
movq -0x58(%rbp), %rcx
movl $0x2, 0x44(%rcx)
movq -0x58(%rbp), %rcx
movl $0x2, 0x48(%rcx)
movq -0x58(%rbp), %rcx
movl $0x1, 0x4c(%rcx)
movq -0x58(%rbp), %rcx
movl $0x2, 0x50(%rcx)
movq -0x58(%rbp), %rcx
movl $0x0, 0x54(%rcx)
movq -0x58(%rbp), %rcx
movl $0x1, 0x58(%rcx)
movq -0x58(%rbp), %rcx
movl $0x2, 0x5c(%rcx)
movq -0x58(%rbp), %rcx
movl $0x1, 0x60(%rcx)
movq -0x58(%rbp), %rcx
movl $0x2, 0x64(%rcx)
movq -0x58(%rbp), %rcx
movl $0x1, 0x68(%rcx)
movq -0x58(%rbp), %rcx
movl $0x3, 0x6c(%rcx)
movq -0x58(%rbp), %rdx
movq 0x20(%rax), %rcx
movq %rdx, (%rcx)
movq -0x58(%rbp), %rdx
addq $0x1c, %rdx
movq 0x20(%rax), %rcx
movq %rdx, 0x8(%rcx)
movq -0x58(%rbp), %rdx
addq $0x38, %rdx
movq 0x20(%rax), %rcx
movq %rdx, 0x10(%rcx)
movq -0x58(%rbp), %rdx
addq $0x54, %rdx
movq 0x20(%rax), %rcx
movq %rdx, 0x18(%rcx)
movq 0x28(%rax), %rcx
movl $0x3, 0xc(%rcx)
movq 0x28(%rax), %rcx
movl $0x3, 0x8(%rcx)
movq 0x28(%rax), %rcx
movl $0x3, 0x4(%rcx)
movq 0x28(%rax), %rax
movl $0x3, (%rax)
popq %rbp
retq
nopl (%rax)