// File: Luthaf[P]zeopp/voro++/src/cmd_line.cc
// Function: void cmd_line_output<voro::c_loop_order, voro::container_poly>(voro::c_loop_order&, voro::container_poly&, char const*, _IO_FILE*, _IO_FILE*, _IO_FILE*, _IO_FILE*, bool, double&, int&, int&)
void cmd_line_output(c_loop &vl,c_class &con,const char* format,FILE* outfile,FILE* gnu_file,FILE* povp_file,FILE* povv_file,bool verbose,double &vol,int &vcc,int &tp) {
	int pid,ps=con.ps;double x,y,z,r;
	if(con.contains_neighbor(format)) {
		voronoicell_neighbor c(con);
		if(vl.start()) do if(con.compute_cell(c,vl)) {
			vl.pos(pid,x,y,z,r);
			if(outfile!=NULL) c.output_custom(format,pid,x,y,z,r,outfile);
			if(gnu_file!=NULL) c.draw_gnuplot(x,y,z,gnu_file);
			if(povp_file!=NULL) {
				fprintf(povp_file,"// id %d\n",pid);
				if(ps==4) fprintf(povp_file,"sphere{<%g,%g,%g>,%g}\n",x,y,z,r);
				else fprintf(povp_file,"sphere{<%g,%g,%g>,s}\n",x,y,z);
			}
			if(povv_file!=NULL) {
				fprintf(povv_file,"// cell %d\n",pid);
				c.draw_pov(x,y,z,povv_file);
			}
			if(verbose) {vol+=c.volume();vcc++;}
		} while(vl.inc());
	} else {
		voronoicell c(con);
		if(vl.start()) do if(con.compute_cell(c,vl)) {
			vl.pos(pid,x,y,z,r);
			if(outfile!=NULL) c.output_custom(format,pid,x,y,z,r,outfile);
			if(gnu_file!=NULL) c.draw_gnuplot(x,y,z,gnu_file);
			if(povp_file!=NULL) {
				fprintf(povp_file,"// id %d\n",pid);
				if(ps==4) fprintf(povp_file,"sphere{<%g,%g,%g>,%g}\n",x,y,z,r);
				else fprintf(povp_file,"sphere{<%g,%g,%g>,s}\n",x,y,z);
			}
			if(povv_file!=NULL) {
				fprintf(povv_file,"// cell %d\n",pid);
				c.draw_pov(x,y,z,povv_file);
			}
			if(verbose) {vol+=c.volume();vcc++;}
		} while(vl.inc());
	}
	if(verbose) tp=con.total_particles();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x290, %rsp            # imm = 0x290
movq 0x30(%rbp), %rax
movq 0x28(%rbp), %rax
movq 0x20(%rbp), %rax
movb 0x18(%rbp), %al
movq 0x10(%rbp), %r10
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
andb $0x1, %al
movb %al, -0x31(%rbp)
movq -0x10(%rbp), %rax
movl 0xd0(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x4b200
testb $0x1, %al
jne 0x4dee
jmp 0x500c
movq -0x10(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0x64b0
movq -0x8(%rbp), %rdi
callq 0x6520
movb %al, -0x261(%rbp)
jmp 0x4e0f
movb -0x261(%rbp), %al
testb $0x1, %al
jne 0x4e1e
jmp 0x4ffb
jmp 0x4e20
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rdx
leaq -0x168(%rbp), %rsi
callq 0x65a0
movb %al, -0x262(%rbp)
jmp 0x4e3c
movb -0x262(%rbp), %al
testb $0x1, %al
jne 0x4e4b
jmp 0x4fd6
movq -0x8(%rbp), %rdi
leaq -0x38(%rbp), %rsi
leaq -0x48(%rbp), %rdx
leaq -0x50(%rbp), %rcx
leaq -0x58(%rbp), %r8
leaq -0x60(%rbp), %r9
callq 0x6600
jmp 0x4e6a
cmpq $0x0, -0x20(%rbp)
je 0x4ec3
movq -0x18(%rbp), %rsi
movl -0x38(%rbp), %edx
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
movsd -0x60(%rbp), %xmm3
movq -0x20(%rbp), %rcx
leaq -0x168(%rbp), %rdi
callq 0xd810
jmp 0x4e9e
jmp 0x4ec3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x170(%rbp)
movl %eax, -0x174(%rbp)
leaq -0x168(%rbp), %rdi
callq 0xe650
jmp 0x5245
cmpq $0x0, -0x28(%rbp)
je 0x4eed
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
movq -0x28(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0xbe90
jmp 0x4eeb
jmp 0x4eed
cmpq $0x0, -0x30(%rbp)
je 0x4f5a
movq -0x30(%rbp), %rdi
movl -0x38(%rbp), %edx
leaq 0x5267d(%rip), %rsi     # 0x5757f
movb $0x0, %al
callq 0x21a0
cmpl $0x4, -0x3c(%rbp)
jne 0x4f37
movq -0x30(%rbp), %rdi
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
movsd -0x60(%rbp), %xmm3
leaq 0x5265b(%rip), %rsi     # 0x57589
movb $0x4, %al
callq 0x21a0
jmp 0x4f58
movq -0x30(%rbp), %rdi
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
leaq 0x5264f(%rip), %rsi     # 0x575a0
movb $0x3, %al
callq 0x21a0
jmp 0x4f5a
cmpq $0x0, 0x10(%rbp)
je 0x4f99
movq 0x10(%rbp), %rdi
movl -0x38(%rbp), %edx
leaq 0x52647(%rip), %rsi     # 0x575b6
xorl %eax, %eax
callq 0x21a0
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
movq 0x10(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0xbc70
jmp 0x4f97
jmp 0x4f99
testb $0x1, -0x31(%rbp)
je 0x4fd4
leaq -0x168(%rbp), %rdi
callq 0x9c90
movsd %xmm0, -0x270(%rbp)
jmp 0x4fb5
movsd -0x270(%rbp), %xmm0
movq 0x20(%rbp), %rax
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
movq 0x28(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x4fd6
jmp 0x4fd8
movq -0x8(%rbp), %rdi
callq 0x66f0
movb %al, -0x271(%rbp)
jmp 0x4fe9
movb -0x271(%rbp), %al
testb $0x1, %al
jne 0x4e20
jmp 0x4ff9
jmp 0x4ffb
leaq -0x168(%rbp), %rdi
callq 0xe650
jmp 0x5225
movq -0x10(%rbp), %rsi
leaq -0x260(%rbp), %rdi
callq 0x6760
movq -0x8(%rbp), %rdi
callq 0x6520
movb %al, -0x272(%rbp)
jmp 0x502d
movb -0x272(%rbp), %al
testb $0x1, %al
jne 0x503c
jmp 0x5219
jmp 0x503e
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rdx
leaq -0x260(%rbp), %rsi
callq 0x67b0
movb %al, -0x273(%rbp)
jmp 0x505a
movb -0x273(%rbp), %al
testb $0x1, %al
jne 0x5069
jmp 0x51f4
movq -0x8(%rbp), %rdi
leaq -0x38(%rbp), %rsi
leaq -0x48(%rbp), %rdx
leaq -0x50(%rbp), %rcx
leaq -0x58(%rbp), %r8
leaq -0x60(%rbp), %r9
callq 0x6600
jmp 0x5088
cmpq $0x0, -0x20(%rbp)
je 0x50e1
movq -0x18(%rbp), %rsi
movl -0x38(%rbp), %edx
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
movsd -0x60(%rbp), %xmm3
movq -0x20(%rbp), %rcx
leaq -0x260(%rbp), %rdi
callq 0xd810
jmp 0x50bc
jmp 0x50e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x170(%rbp)
movl %eax, -0x174(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x6810
jmp 0x5245
cmpq $0x0, -0x28(%rbp)
je 0x510b
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
movq -0x28(%rbp), %rsi
leaq -0x260(%rbp), %rdi
callq 0xbe90
jmp 0x5109
jmp 0x510b
cmpq $0x0, -0x30(%rbp)
je 0x5178
movq -0x30(%rbp), %rdi
movl -0x38(%rbp), %edx
leaq 0x5245f(%rip), %rsi     # 0x5757f
movb $0x0, %al
callq 0x21a0
cmpl $0x4, -0x3c(%rbp)
jne 0x5155
movq -0x30(%rbp), %rdi
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
movsd -0x60(%rbp), %xmm3
leaq 0x5243d(%rip), %rsi     # 0x57589
movb $0x4, %al
callq 0x21a0
jmp 0x5176
movq -0x30(%rbp), %rdi
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
leaq 0x52431(%rip), %rsi     # 0x575a0
movb $0x3, %al
callq 0x21a0
jmp 0x5178
cmpq $0x0, 0x10(%rbp)
je 0x51b7
movq 0x10(%rbp), %rdi
movl -0x38(%rbp), %edx
leaq 0x52429(%rip), %rsi     # 0x575b6
xorl %eax, %eax
callq 0x21a0
movsd -0x48(%rbp), %xmm0
movsd -0x50(%rbp), %xmm1
movsd -0x58(%rbp), %xmm2
movq 0x10(%rbp), %rsi
leaq -0x260(%rbp), %rdi
callq 0xbc70
jmp 0x51b5
jmp 0x51b7
testb $0x1, -0x31(%rbp)
je 0x51f2
leaq -0x260(%rbp), %rdi
callq 0x9c90
movsd %xmm0, -0x280(%rbp)
jmp 0x51d3
movsd -0x280(%rbp), %xmm0
movq 0x20(%rbp), %rax
addsd (%rax), %xmm0
movsd %xmm0, (%rax)
movq 0x28(%rbp), %rax
movl (%rax), %ecx
addl $0x1, %ecx
movl %ecx, (%rax)
jmp 0x51f4
jmp 0x51f6
movq -0x8(%rbp), %rdi
callq 0x66f0
movb %al, -0x281(%rbp)
jmp 0x5207
movb -0x281(%rbp), %al
testb $0x1, %al
jne 0x503e
jmp 0x5217
jmp 0x5219
leaq -0x260(%rbp), %rdi
callq 0x6810
testb $0x1, -0x31(%rbp)
je 0x523c
movq -0x10(%rbp), %rdi
callq 0x6830
movl %eax, %ecx
movq 0x30(%rbp), %rax
movl %ecx, (%rax)
addq $0x290, %rsp            # imm = 0x290
popq %rbp
retq
movq -0x170(%rbp), %rdi
callq 0x2220
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)