// File: /workspace/github_cpp_makefile_star2_O3/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 0x7a6b(%rip), %rsi      # 0xb022
leaq 0x7a7f(%rip), %rdx      # 0xb03d
leaq 0x88(%rsp), %rdi
callq 0x710c
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7a63(%rip), %rsi      # 0xb03e
leaq 0x7a5f(%rip), %rdx      # 0xb041
movq %rsp, %rdi
callq 0x710c
leaq 0x178(%rsp), %r14
leaq 0x88(%rsp), %rsi
movq %rsp, %rcx
movq %r14, %rdi
movl $0x20, %edx
movl $0x1, %r8d
callq 0x52f2
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3626
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x31c0
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x3643
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x31c0
movq %rsp, %rdi
movq %r15, (%rdi)
leaq 0x79f2(%rip), %rsi      # 0xb042
leaq 0x79ec(%rip), %rdx      # 0xb043
callq 0x710c
movl %ebp, %r12d
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x79d5(%rip), %rsi      # 0xb044
leaq 0x79d2(%rip), %rdx      # 0xb048
leaq 0x28(%rsp), %rdi
callq 0x710c
movq %rbx, %rbp
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x7d55(%rip), %rsi      # 0xb3e8
leaq 0x7d54(%rip), %rdx      # 0xb3ee
leaq 0x68(%rsp), %rdi
callq 0x710c
leaq 0x58(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x7d31(%rip), %rsi      # 0xb3e5
leaq 0x7d33(%rip), %rdx      # 0xb3ee
leaq 0x48(%rsp), %rdi
callq 0x710c
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 0x550a
addq $0x10, %rsp
movq 0x48(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3709
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x31c0
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
movq %rbp, %rbx
je 0x3723
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x31c0
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x373f
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x31c0
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3755
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0x178(%rsp), %rdi
movl %r12d, %esi
movq %rbx, %rdx
callq 0x55f0
movq 0x130(%rsp), %rbx
movq 0x138(%rsp), %rax
movq 0xc851(%rip), %rcx      # 0xffd0
movq %rcx, (%rsp)
leaq 0x78bf(%rip), %r13      # 0xb049
movq %r13, 0x8(%rsp)
subq %rbx, %rax
movabsq $-0x5555555555555555, %r12 # imm = 0xAAAAAAAAAAAAAAAB
testq %rax, %rax
jle 0x37c9
mulq %r12
movq %rdx, %r14
shrq $0x4, %r14
incq %r14
movq %rsp, %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0xadae
addq $0x18, %rbx
decq %r14
cmpq $0x1, %r14
ja 0x37b1
movq 0xc800(%rip), %rbx      # 0xffd0
leaq 0x7874(%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 0xc7ce(%rip), %r14      # 0xffd0
movq %r14, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x3130
leaq 0x130(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x56cc
movq 0x28(%rsp), %rbx
movq 0x30(%rsp), %rax
cmpq %rax, %rbx
setne %dl
leaq -0x18(%rax), %rcx
cmpq %rbx, %rcx
seta %sil
andb %dl, %sil
cmpb $0x1, %sil
jne 0x3896
addq $0x18, %rbx
movq -0x8(%rbx), %rax
movq %rax, 0x10(%rsp)
movups -0x18(%rbx), %xmm0
movaps %xmm0, (%rsp)
movq 0x10(%rcx), %rax
movq %rax, -0x8(%rbx)
movups (%rcx), %xmm0
movups %xmm0, -0x18(%rbx)
movq 0x10(%rsp), %rax
movq %rax, 0x10(%rcx)
movaps (%rsp), %xmm0
movups %xmm0, (%rcx)
addq $-0x18, %rcx
leaq 0x18(%rbx), %rax
cmpq %rcx, %rbx
movq %rax, %rbx
jb 0x384c
movq 0x28(%rsp), %rbx
movq 0x30(%rsp), %rax
movq %r14, (%rsp)
movq %r13, 0x8(%rsp)
subq %rbx, %rax
testq %rax, %rax
jle 0x38d4
mulq %r12
movq %rdx, %r14
shrq $0x4, %r14
incq %r14
movq %rsp, %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0xadae
addq $0x18, %rbx
decq %r14
cmpq $0x1, %r14
ja 0x38b7
movq 0x28(%rsp), %rbx
testq %rbx, %rbx
je 0x38e9
movq 0x38(%rsp), %rsi
subq %rbx, %rsi
movq %rbx, %rdi
callq 0x31c0
xorl %ebx, %ebx
leaq 0xc3e6(%rip), %rax      # 0xfcd8
leaq 0x158(%rsp), %rcx
movq %rax, -0xd0(%rcx)
movq -0x10(%rcx), %rdi
cmpq %rcx, %rdi
je 0x391a
movq 0x158(%rsp), %rsi
incq %rsi
callq 0x31c0
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x3937
movq 0x140(%rsp), %rsi
subq %rdi, %rsi
callq 0x31c0
leaq 0xbfb2(%rip), %rax      # 0xf8f0
leaq 0x108(%rsp), %rcx
movq %rax, -0x80(%rcx)
movq -0x10(%rcx), %rdi
cmpq %rcx, %rdi
je 0x3963
movq 0x108(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3984
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x39a5
movq 0xc0(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x39c6
movq 0xa0(%rsp), %rsi
incq %rsi
callq 0x31c0
leaq 0x178(%rsp), %rdi
callq 0x51d4
movl %ebx, %eax
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3b26
movq %rax, %r14
cmpl $0x1, %edx
jne 0x3b29
movq %r14, %rdi
callq 0x30b0
movq (%rax), %rcx
movq %rax, %rdi
callq *0x10(%rcx)
movq 0xc5c0(%rip), %rdi      # 0xffd0
movq %rax, %rsi
callq 0x31a0
movq %rax, %rdi
callq 0x30d0
movl $0x1, %ebx
callq 0x32c0
jmp 0x38eb
jmp 0x3b26
movq %rax, %r14
callq 0x32c0
jmp 0x3b29
movq %rax, %rdi
callq 0x517c
movq %rax, %r14
movq 0x48(%rsp), %rdi
cmpq %rbx, %rdi
je 0x3a68
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3a68
movq %rax, %r14
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x3a84
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3a84
movq %rax, %r14
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x3aa5
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3aa5
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3b36
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3b36
movq %rax, %r14
jmp 0x3b36
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x3ae4
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3ae4
movq %rax, %r14
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x3b43
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x31c0
jmp 0x3b43
movq %rax, %r14
jmp 0x3b43
jmp 0x3b26
movq %rax, %r14
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x3b29
movq 0x38(%rsp), %rsi
subq %rdi, %rsi
callq 0x31c0
jmp 0x3b29
movq %rax, %r14
leaq 0x88(%rsp), %rdi
callq 0x575e
leaq 0x178(%rsp), %rdi
callq 0x51d4
movq %r14, %rdi
callq 0x3300
nop