// File: Luthaf[P]zeopp/voro++/src/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[4]=x1*2;pts[5]=y1*2;pts[6]=z1*2;
	pts[8]=x2*2;pts[9]=y2*2;pts[10]=z2*2;
	pts[12]=x3*2;pts[13]=y3*2;pts[14]=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 0x9051
movq -0x60(%rbp), %rax
movq 0x68(%rax), %rax
movslq -0x4c(%rbp), %rcx
movl $0x0, (%rax,%rcx,4)
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x9027
movq -0x60(%rbp), %rax
movl $0x0, 0x20(%rax)
movl $0x4, 0x1c(%rax)
movq 0x68(%rax), %rcx
movl $0x4, 0xc(%rcx)
movsd 0x4e592(%rip), %xmm0    # 0x57608
mulsd -0x10(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, (%rcx)
movsd 0x4e57d(%rip), %xmm0    # 0x57608
mulsd -0x18(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x8(%rcx)
movsd 0x4e567(%rip), %xmm0    # 0x57608
mulsd -0x20(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x10(%rcx)
movsd 0x4e551(%rip), %xmm0    # 0x57608
mulsd -0x28(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x20(%rcx)
movsd 0x4e53b(%rip), %xmm0    # 0x57608
mulsd -0x30(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x28(%rcx)
movsd 0x4e525(%rip), %xmm0    # 0x57608
mulsd -0x38(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x30(%rcx)
movsd 0x4e50f(%rip), %xmm0    # 0x57608
mulsd -0x40(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x40(%rcx)
movsd 0x4e4f9(%rip), %xmm0    # 0x57608
mulsd -0x48(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x48(%rcx)
movsd 0x4e4e3(%rip), %xmm0    # 0x57608
mulsd 0x10(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x50(%rcx)
movsd 0x4e4cd(%rip), %xmm0    # 0x57608
mulsd 0x18(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x60(%rcx)
movsd 0x4e4b7(%rip), %xmm0    # 0x57608
mulsd 0x20(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x68(%rcx)
movsd 0x4e4a1(%rip), %xmm0    # 0x57608
mulsd 0x28(%rbp), %xmm0
movq 0x40(%rax), %rcx
movsd %xmm0, 0x70(%rcx)
movq 0x70(%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 0x28(%rax), %rcx
movq %rdx, (%rcx)
movq -0x58(%rbp), %rdx
addq $0x1c, %rdx
movq 0x28(%rax), %rcx
movq %rdx, 0x8(%rcx)
movq -0x58(%rbp), %rdx
addq $0x38, %rdx
movq 0x28(%rax), %rcx
movq %rdx, 0x10(%rcx)
movq -0x58(%rbp), %rdx
addq $0x54, %rdx
movq 0x28(%rax), %rcx
movq %rdx, 0x18(%rcx)
movq 0x30(%rax), %rcx
movl $0x3, 0xc(%rcx)
movq 0x30(%rax), %rcx
movl $0x3, 0x8(%rcx)
movq 0x30(%rax), %rcx
movl $0x3, 0x4(%rcx)
movq 0x30(%rax), %rax
movl $0x3, (%rax)
popq %rbp
retq
nopl (%rax)