// File: /workspace/github_cpp_makefile_star2_O1/statgen[P]statgen/lib/tclap-1.2.0/examples/test12.cpp
// Function: main
int main(int argc, char *argv[])
{
    CmdLine cmd("Command description message", ' ', "0.9");
    MultiArg<Vect3D> vec("v", "vect", "vector", 
			 true, "3D vector", cmd);
    
    try {
	cmd.parse(argc, argv);
    } catch(std::exception &e) {
	std::cout << e.what() << std::endl;
	return EXIT_FAILURE;
    }

    std::copy(vec.begin(), vec.end(),
	      std::ostream_iterator<Vect3D>(std::cout, "\n"));

    std::cout << "REVERSED" << std::endl;

    // use alt. form getValue()
    std::vector<Vect3D> v(vec.getValue());
    std::reverse(v.begin(), v.end());

    std::copy(v.begin(), v.end(),
	      std::ostream_iterator<Vect3D>(std::cout, "\n"));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x7a7b(%rip), %rsi      # 0xb022
leaq 0x7a8f(%rip), %rdx      # 0xb03d
leaq 0x88(%rsp), %rdi
callq 0x71fe
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7a73(%rip), %rsi      # 0xb03e
leaq 0x7a6f(%rip), %rdx      # 0xb041
movq %rsp, %rdi
callq 0x71fe
leaq 0x178(%rsp), %r14
leaq 0x88(%rsp), %rsi
movq %rsp, %rcx
movq %r14, %rdi
movl $0x20, %edx
movl $0x1, %r8d
callq 0x53e6
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3616
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x31c0
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x3633
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x31c0
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x7a02(%rip), %rsi      # 0xb042
leaq 0x79fc(%rip), %rdx      # 0xb043
callq 0x71fe
movl %ebp, %r12d
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x79e5(%rip), %rsi      # 0xb044
leaq 0x79e2(%rip), %rdx      # 0xb048
leaq 0x28(%rsp), %rdi
callq 0x71fe
movq %rbx, %rbp
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x7d65(%rip), %rsi      # 0xb3e8
leaq 0x7d64(%rip), %rdx      # 0xb3ee
leaq 0x68(%rsp), %rdi
callq 0x71fe
leaq 0x58(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x7d41(%rip), %rsi      # 0xb3e5
leaq 0x7d43(%rip), %rdx      # 0xb3ee
leaq 0x48(%rsp), %rdi
callq 0x71fe
leaq 0x88(%rsp), %rdi
movq %rsp, %rsi
leaq 0x28(%rsp), %rdx
leaq 0x68(%rsp), %rcx
leaq 0x48(%rsp), %r9
movl $0x1, %r8d
pushq $0x0
pushq %r14
callq 0x55fe
addq $0x10, %rsp
movq 0x48(%rsp), %rdi
cmpq %rbx, %rdi
je 0x36f9
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x31c0
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
movq %rbp, %rbx
je 0x3713
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x31c0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x372f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x31c0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3745
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0x178(%rsp), %rdi
movl %r12d, %esi
movq %rbx, %rdx
callq 0x56e4
movq 0x130(%rsp), %rbx
movq 0x138(%rsp), %rax
movq 0xc861(%rip), %rcx      # 0xffd0
movq %rcx, (%rsp)
leaq 0x78cf(%rip), %r13      # 0xb049
movq %r13, 0x8(%rsp)
subq %rbx, %rax
movabsq $-0x5555555555555555, %r12 # imm = 0xAAAAAAAAAAAAAAAB
testq %rax, %rax
jle 0x37b9
mulq %r12
movq %rdx, %r14
shrq $0x4, %r14
incq %r14
movq %rsp, %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0xaeec
addq $0x18, %rbx
decq %r14
cmpq $0x1, %r14
jg 0x37a1
movq 0xc810(%rip), %rbx      # 0xffd0
leaq 0x7884(%rip), %rsi      # 0xb04b
movl $0x8, %edx
movq %rbx, %rdi
callq 0x3200
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x3190
movsbl %al, %esi
movq 0xc7de(%rip), %rbx      # 0xffd0
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq 0x130(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x57c0
movq 0x28(%rsp), %rax
movq 0x30(%rsp), %rcx
cmpq %rcx, %rax
setne %dl
addq $-0x18, %rcx
cmpq %rax, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x387c
addq $0x18, %rax
movq -0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movups -0x18(%rax), %xmm0
movaps %xmm0, (%rsp)
movq 0x10(%rcx), %rdx
movq %rdx, -0x8(%rax)
movups (%rcx), %xmm0
movups %xmm0, -0x18(%rax)
movq 0x10(%rsp), %rdx
movq %rdx, 0x10(%rcx)
movaps (%rsp), %xmm0
movups %xmm0, (%rcx)
addq $-0x18, %rcx
leaq 0x18(%rax), %rdx
cmpq %rcx, %rax
movq %rdx, %rax
jb 0x383c
movq 0x28(%rsp), %r14
movq 0x30(%rsp), %rax
movq %rbx, (%rsp)
movq %r13, 0x8(%rsp)
subq %r14, %rax
testq %rax, %rax
jle 0x38bf
mulq %r12
movq %rdx, %rbx
shrq $0x4, %rbx
incq %rbx
movq %rsp, %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0xaeec
addq $0x18, %r14
decq %rbx
cmpq $0x1, %rbx
jg 0x38a7
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x38d6
movq 0x38(%rsp), %rsi
subq %rdi, %rsi
callq 0x31c0
xorl %ebx, %ebx
leaq 0xc3f9(%rip), %rax      # 0xfcd8
leaq 0x158(%rsp), %rcx
movq %rax, -0xd0(%rcx)
movq -0x10(%rcx), %rdi
cmpq %rcx, %rdi
je 0x3907
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x31c0
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x3924
movq 0x140(%rsp), %rsi
subq %rdi, %rsi
callq 0x31c0
leaq 0xbfc5(%rip), %rax      # 0xf8f0
leaq 0x108(%rsp), %rcx
movq %rax, -0x80(%rcx)
movq -0x10(%rcx), %rdi
cmpq %rcx, %rdi
je 0x3950
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3971
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3992
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x39b3
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0x178(%rsp), %rdi
callq 0x52c8
movl %ebx, %eax
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3b13
movq %rax, %r14
cmpl $0x1, %edx
jne 0x3b16
movq %r14, %rdi
callq 0x30b0
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0xc5d3(%rip), %rdi      # 0xffd0
movq %rax, %rsi
callq 0x31a0
movq %rax, %rdi
callq 0x30d0
movl $0x1, %ebx
callq 0x32c0
jmp 0x38d8
jmp 0x3b13
movq %rax, %r14
callq 0x32c0
jmp 0x3b16
movq %rax, %rdi
callq 0x5270
movq %rax, %r14
movq 0x48(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3a55
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3a55
movq %rax, %r14
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x3a71
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3a71
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x3a92
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3a92
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3b23
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3b23
movq %rax, %r14
jmp 0x3b23
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3ad1
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3ad1
movq %rax, %r14
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x3b30
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3b30
movq %rax, %r14
jmp 0x3b30
jmp 0x3b13
movq %rax, %r14
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x3b16
movq 0x38(%rsp), %rsi
subq %rdi, %rsi
callq 0x31c0
jmp 0x3b16
movq %rax, %r14
leaq 0x88(%rsp), %rdi
callq 0x5852
leaq 0x178(%rsp), %rdi
callq 0x52c8
movq %r14, %rdi
callq 0x3300