// File: Luthaf[P]zeopp/voro++/src/unitcell.cc
// Function: voro::unitcell::draw_domain_pov(_IO_FILE*)
void unitcell::draw_domain_pov(FILE *fp) {
	fprintf(fp,"cylinder{0,0,0>,<%g,0,0>,rr}\n"
		   "cylinder{<%g,%g,0>,<%g,%g,0>,rr}\n",bx,bxy,by,bx+bxy,by);
	fprintf(fp,"cylinder{<%g,%g,%g>,<%g,%g,%g>,rr}\n"
		   "cylinder{<%g,%g,%g>,<%g,%g,%g>,rr}\n",bxz,byz,bz,bx+bxz,byz,bz,bxy+bxz,by+byz,bz,bx+bxy+bxz,by+byz,bz);
	fprintf(fp,"cylinder{<0,0,0>,<%g,%g,0>,rr}\n"
		   "cylinder{<%g,0,0>,<%g,%g,0>,rr}\n",bxy,by,bx,bx+bxy,by);
	fprintf(fp,"cylinder{<%g,%g,%g>,<%g,%g,%g>,rr}\n"
		   "cylinder{<%g,%g,%g>,<%g,%g,%g>,rr}\n",bxz,byz,bz,bxy+bxz,by+byz,bz,bx+bxz,byz,bz,bx+bxy+bxz,by+byz,bz);
	fprintf(fp,"cylinder{<0,0,0>,<%g,%g,%g>,rr}\n"
		   "cylinder{<%g,0,0>,<%g,%g,%g>,rr}\n",bxz,byz,bz,bx,bx+bxz,byz,bz);
	fprintf(fp,"cylinder{<%g,%g,0>,<%g,%g,%g>,rr}\n"
		   "cylinder{<%g,%g,0>,<%g,%g,%g>,rr}\n",bxy,by,bxy+bxz,by+byz,bz,bx+bxy,by,bx+bxy+bxz,by+byz,bz);
	fprintf(fp,"sphere{<0,0,0>,rr}\nsphere{<%g,0,0>,rr}\n"
		   "sphere{<%g,%g,0>,rr}\nsphere{<%g,%g,0>,rr}\n",bx,bxy,by,bx+bxy,by);
	fprintf(fp,"sphere{<%g,%g,%g>,rr}\nsphere{<%g,%g,%g>,rr}\n"
		   "sphere{<%g,%g,%g>,rr}\nsphere{<%g,%g,%g>,rr}\n",bxz,byz,bz,bx+bxz,byz,bz,bxy+bxz,by+byz,bz,bx+bxy+bxz,by+byz,bz);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movsd 0x10(%rax), %xmm2
movsd (%rax), %xmm3
addsd 0x8(%rax), %xmm3
movsd 0x10(%rax), %xmm4
leaq 0x8587(%rip), %rsi      # 0x5c396
movb $0x5, %al
callq 0x21a0
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rdi
movsd 0x18(%rax), %xmm0
movsd 0x20(%rax), %xmm1
movsd 0x28(%rax), %xmm2
movsd (%rax), %xmm3
addsd 0x18(%rax), %xmm3
movsd 0x20(%rax), %xmm4
movsd 0x28(%rax), %xmm5
movsd 0x8(%rax), %xmm6
addsd 0x18(%rax), %xmm6
movsd 0x10(%rax), %xmm7
addsd 0x20(%rax), %xmm7
movsd 0x28(%rax), %xmm11
movsd (%rax), %xmm10
addsd 0x8(%rax), %xmm10
addsd 0x18(%rax), %xmm10
movsd 0x10(%rax), %xmm9
addsd 0x20(%rax), %xmm9
movsd 0x28(%rax), %xmm8
leaq 0x40a0(%rip), %rsi      # 0x57f24
movsd %xmm11, (%rsp)
movsd %xmm10, 0x8(%rsp)
movsd %xmm9, 0x10(%rsp)
movsd %xmm8, 0x18(%rsp)
movb $0x8, %al
callq 0x21a0
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rdi
movsd 0x8(%rax), %xmm0
movsd 0x10(%rax), %xmm1
movsd (%rax), %xmm2
movsd (%rax), %xmm3
addsd 0x8(%rax), %xmm3
movsd 0x10(%rax), %xmm4
leaq 0x8504(%rip), %rsi      # 0x5c3d5
movb $0x5, %al
callq 0x21a0
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rdi
movsd 0x18(%rax), %xmm0
movsd 0x20(%rax), %xmm1
movsd 0x28(%rax), %xmm2
movsd 0x8(%rax), %xmm3
addsd 0x18(%rax), %xmm3
movsd 0x10(%rax), %xmm4
addsd 0x20(%rax), %xmm4
movsd 0x28(%rax), %xmm5
movsd (%rax), %xmm6
addsd 0x18(%rax), %xmm6
movsd 0x20(%rax), %xmm7
movsd 0x28(%rax), %xmm11
movsd (%rax), %xmm10
addsd 0x8(%rax), %xmm10
addsd 0x18(%rax), %xmm10
movsd 0x10(%rax), %xmm9
addsd 0x20(%rax), %xmm9
movsd 0x28(%rax), %xmm8
leaq 0x3fde(%rip), %rsi      # 0x57f24
movsd %xmm11, (%rsp)
movsd %xmm10, 0x8(%rsp)
movsd %xmm9, 0x10(%rsp)
movsd %xmm8, 0x18(%rsp)
movb $0x8, %al
callq 0x21a0
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rdi
movsd 0x18(%rax), %xmm0
movsd 0x20(%rax), %xmm1
movsd 0x28(%rax), %xmm2
movsd (%rax), %xmm3
movsd (%rax), %xmm4
addsd 0x18(%rax), %xmm4
movsd 0x20(%rax), %xmm5
movsd 0x28(%rax), %xmm6
leaq 0x8478(%rip), %rsi      # 0x5c415
movb $0x7, %al
callq 0x21a0
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rdi
movsd 0x8(%rax), %xmm0
movsd 0x10(%rax), %xmm1
movsd 0x8(%rax), %xmm2
addsd 0x18(%rax), %xmm2
movsd 0x10(%rax), %xmm3
addsd 0x20(%rax), %xmm3
movsd 0x28(%rax), %xmm4
movsd (%rax), %xmm5
addsd 0x8(%rax), %xmm5
movsd 0x10(%rax), %xmm6
movsd (%rax), %xmm7
addsd 0x8(%rax), %xmm7
addsd 0x18(%rax), %xmm7
movsd 0x10(%rax), %xmm9
addsd 0x20(%rax), %xmm9
movsd 0x28(%rax), %xmm8
leaq 0x8453(%rip), %rsi      # 0x5c457
movsd %xmm9, (%rsp)
movsd %xmm8, 0x8(%rsp)
movb $0x8, %al
callq 0x21a0
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rdi
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movsd 0x10(%rax), %xmm2
movsd (%rax), %xmm3
addsd 0x8(%rax), %xmm3
movsd 0x10(%rax), %xmm4
leaq 0x8459(%rip), %rsi      # 0x5c49c
movb $0x5, %al
callq 0x21a0
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rdi
movsd 0x18(%rax), %xmm0
movsd 0x20(%rax), %xmm1
movsd 0x28(%rax), %xmm2
movsd (%rax), %xmm3
addsd 0x18(%rax), %xmm3
movsd 0x20(%rax), %xmm4
movsd 0x28(%rax), %xmm5
movsd 0x8(%rax), %xmm6
addsd 0x18(%rax), %xmm6
movsd 0x10(%rax), %xmm7
addsd 0x20(%rax), %xmm7
movsd 0x28(%rax), %xmm11
movsd (%rax), %xmm10
addsd 0x8(%rax), %xmm10
addsd 0x18(%rax), %xmm10
movsd 0x10(%rax), %xmm9
addsd 0x20(%rax), %xmm9
movsd 0x28(%rax), %xmm8
leaq 0x3eb3(%rip), %rsi      # 0x57f6b
movsd %xmm11, (%rsp)
movsd %xmm10, 0x8(%rsp)
movsd %xmm9, 0x10(%rsp)
movsd %xmm8, 0x18(%rsp)
movb $0x8, %al
callq 0x21a0
addq $0x40, %rsp
popq %rbp
retq