// File: /workspace/github_cpp_makefile_star2_O2/statgen[P]statgen/lib/tclap-1.2.0/examples/test9.cpp
// Function: main
int main(int argc, char** argv)
{
	try {

	CmdLine cmd("Command description message", ' ', "0.9",false);

	SwitchArg reverseSwitch("r","reverse","REVERSE instead of FORWARDS", false);
	cmd.add( reverseSwitch );

	MultiSwitchArg verbose("V","verbose","Level of verbosity");
	cmd.add( verbose );

	MultiSwitchArg noise("N","noise","Level of noise",5);
	cmd.add( noise );

	UnlabeledValueArg<string> word("word","a random word", false, "string",
					               "won't see this",false);
	cmd.add( word );

	// Uncommenting the next arg will (correctly) cause an exception
	// to be thrown.

//	UnlabeledMultiArg<string> badword("badword","a bad word", false,"string");
//
//	cmd.add( badword );

	cmd.parse( argc, argv );

	bool reverseName = reverseSwitch.getValue();

	if ( reverseName )
		cout << "REVERSE" << endl;
	else
		cout << "FORWARD" << endl;

	if ( verbose.isSet() )
		cout << "Verbose level: " << verbose.getValue() << endl;

	if ( noise.isSet() )
		cout << "Noise level: " << noise.getValue() << endl;

	if ( word.isSet() )
		cout << "Word: " << word.getValue() << endl;

	} catch (ArgException &e)  // catch any exceptions
	{ cerr << "error: " << e.error() << " for arg " << e.argId() << endl; }
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x490, %rsp            # imm = 0x490
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x5bcf(%rip), %rsi      # 0x9022
leaq 0x98(%rsp), %rdi
leaq 0x1a8(%rsp), %rdx
callq 0x3e0a
leaq 0x5bcf(%rip), %rsi      # 0x903e
leaq 0x258(%rsp), %rdi
leaq 0x3e8(%rsp), %rdx
callq 0x3e0a
leaq 0x308(%rsp), %rdi
leaq 0x98(%rsp), %rsi
pushq $0x20
popq %rdx
leaq 0x258(%rsp), %rcx
xorl %r8d, %r8d
callq 0x48f0
leaq 0x258(%rsp), %rdi
callq 0x3318
leaq 0x98(%rsp), %rdi
callq 0x3318
leaq 0x5b7a(%rip), %rsi      # 0x9042
leaq 0x98(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0x3e0a
leaq 0x5b63(%rip), %rsi      # 0x9044
leaq 0x258(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x3e0a
leaq 0x5b52(%rip), %rsi      # 0x904c
leaq 0x1a8(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3e0a
leaq 0x3e8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x258(%rsp), %rdx
leaq 0x1a8(%rsp), %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x4a5e
leaq 0x1a8(%rsp), %rdi
callq 0x3318
leaq 0x258(%rsp), %rdi
callq 0x3318
leaq 0x98(%rsp), %rdi
callq 0x3318
leaq 0x308(%rsp), %rdi
movq (%rdi), %rax
leaq 0x3e8(%rsp), %rsi
callq *0x18(%rax)
leaq 0x5aed(%rip), %rsi      # 0x9068
leaq 0x98(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x3e0a
leaq 0x5ad6(%rip), %rsi      # 0x906a
leaq 0x1a8(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3e0a
leaq 0x5ac5(%rip), %rsi      # 0x9072
leaq 0x18(%rsp), %rdi
leaq 0x14(%rsp), %rdx
callq 0x3e0a
leaq 0x258(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x1a8(%rsp), %rdx
leaq 0x18(%rsp), %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x4aa2
leaq 0x18(%rsp), %rdi
callq 0x3318
leaq 0x1a8(%rsp), %rdi
callq 0x3318
leaq 0x98(%rsp), %rdi
callq 0x3318
leaq 0x308(%rsp), %rdi
movq (%rdi), %rax
leaq 0x258(%rsp), %rsi
callq *0x18(%rax)
leaq 0x5a60(%rip), %rsi      # 0x9085
leaq 0x98(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x3e0a
leaq 0x5a52(%rip), %rsi      # 0x9090
leaq 0x18(%rsp), %rdi
leaq 0x14(%rsp), %rdx
callq 0x3e0a
leaq 0x5a33(%rip), %rsi      # 0x9087
leaq 0x38(%rsp), %rdi
leaq 0x15(%rsp), %rdx
callq 0x3e0a
leaq 0x1a8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x38(%rsp), %rcx
pushq $0x5
popq %r8
xorl %r9d, %r9d
callq 0x4aa2
leaq 0x38(%rsp), %rdi
callq 0x3318
leaq 0x18(%rsp), %rdi
callq 0x3318
leaq 0x98(%rsp), %rdi
callq 0x3318
leaq 0x308(%rsp), %rdi
movq (%rdi), %rax
leaq 0x1a8(%rsp), %rsi
callq *0x18(%rax)
leaq 0x59d8(%rip), %rsi      # 0x909f
leaq 0x18(%rsp), %rdi
leaq 0x14(%rsp), %rdx
callq 0x3e0a
leaq 0x59b9(%rip), %rsi      # 0x9096
leaq 0x38(%rsp), %rdi
leaq 0x15(%rsp), %rdx
callq 0x3e0a
leaq 0x59b1(%rip), %rsi      # 0x90a4
leaq 0x78(%rsp), %rdi
leaq 0x17(%rsp), %rdx
callq 0x3e0a
leaq 0x59a2(%rip), %rsi      # 0x90ab
leaq 0x58(%rsp), %rdi
leaq 0x16(%rsp), %rdx
callq 0x3e0a
andq $0x0, 0x8(%rsp)
andl $0x0, (%rsp)
leaq 0x98(%rsp), %rdi
leaq 0x18(%rsp), %rsi
leaq 0x38(%rsp), %rdx
leaq 0x78(%rsp), %r8
leaq 0x58(%rsp), %r9
xorl %ecx, %ecx
callq 0x4ad4
leaq 0x58(%rsp), %rdi
callq 0x3318
leaq 0x78(%rsp), %rdi
callq 0x3318
leaq 0x38(%rsp), %rdi
callq 0x3318
leaq 0x18(%rsp), %rdi
callq 0x3318
leaq 0x308(%rsp), %rdi
movq (%rdi), %rax
leaq 0x98(%rsp), %rsi
callq *0x18(%rax)
leaq 0x308(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0x4be4
leaq 0x591e(%rip), %rax      # 0x90ba
leaq 0x591f(%rip), %rsi      # 0x90c2
cmpb $0x0, 0x48b(%rsp)
cmovneq %rax, %rsi
movq 0xa81a(%rip), %rdi      # 0xdfd0
callq 0x3170
movq %rax, %rdi
callq 0x30c0
cmpb $0x1, 0x2e9(%rsp)
jne 0x3801
cmpb $0x0, 0x2f9(%rsp)
jne 0x3801
movq 0xa7f2(%rip), %rdi      # 0xdfd0
leaq 0x58e5(%rip), %rsi      # 0x90ca
callq 0x3170
movl 0x300(%rsp), %esi
movq %rax, %rdi
callq 0x3280
movq %rax, %rdi
callq 0x30c0
cmpb $0x1, 0x239(%rsp)
jne 0x383f
cmpb $0x0, 0x249(%rsp)
jne 0x383f
movq 0xa7b4(%rip), %rdi      # 0xdfd0
leaq 0x58b7(%rip), %rsi      # 0x90da
callq 0x3170
movl 0x250(%rsp), %esi
movq %rax, %rdi
callq 0x3280
movq %rax, %rdi
callq 0x30c0
cmpb $0x1, 0x129(%rsp)
jne 0x387e
cmpb $0x0, 0x139(%rsp)
jne 0x387e
movq 0xa776(%rip), %rdi      # 0xdfd0
leaq 0x5887(%rip), %rsi      # 0x90e8
callq 0x3170
leaq 0x140(%rsp), %rsi
movq %rax, %rdi
callq 0x3160
movq %rax, %rdi
callq 0x30c0
leaq 0x98(%rsp), %rdi
callq 0x7acc
leaq 0x1a8(%rsp), %rdi
callq 0x4c9c
leaq 0x258(%rsp), %rdi
callq 0x4c9c
leaq 0x3e8(%rsp), %rdi
callq 0x4c9c
leaq 0x308(%rsp), %rdi
callq 0x484c
xorl %eax, %eax
addq $0x490, %rsp            # imm = 0x490
popq %rbx
popq %r14
popq %rbp
retq
movq %rdx, %r14
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0x3318
jmp 0x38e5
movq %rdx, %r14
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3318
jmp 0x38f7
movq %rdx, %r14
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x3318
jmp 0x3909
movq %rdx, %r14
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x3318
jmp 0x3a48
jmp 0x391a
movq %rdx, %r14
movq %rax, %rbx
jmp 0x3a48
movq %rdx, %r14
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x3318
jmp 0x393d
movq %rdx, %r14
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x3318
jmp 0x394f
movq %rdx, %r14
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x3318
jmp 0x3a55
jmp 0x3963
movq %rdx, %r14
movq %rax, %rbx
jmp 0x3a55
movq %rdx, %r14
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x3318
jmp 0x3986
movq %rdx, %r14
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x3318
jmp 0x399b
movq %rdx, %r14
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x3318
jmp 0x3a62
jmp 0x39af
movq %rdx, %r14
movq %rax, %rbx
jmp 0x3a62
movq %rdx, %r14
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x3318
jmp 0x39d5
movq %rdx, %r14
movq %rax, %rbx
leaq 0x258(%rsp), %rdi
callq 0x3318
jmp 0x39ea
movq %rdx, %r14
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x3318
jmp 0x3a6f
movq %rdx, %r14
movq %rax, %rbx
jmp 0x3a6f
movq %rdx, %r14
movq %rax, %rbx
leaq 0x258(%rsp), %rdi
callq 0x3318
jmp 0x3a1c
movq %rdx, %r14
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x3318
jmp 0x3a7c
movq %rdx, %r14
movq %rax, %rbx
jmp 0x3a7c
jmp 0x3a35
movq %rdx, %r14
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x7acc
leaq 0x1a8(%rsp), %rdi
callq 0x4c9c
leaq 0x258(%rsp), %rdi
callq 0x4c9c
leaq 0x3e8(%rsp), %rdi
callq 0x4c9c
leaq 0x308(%rsp), %rdi
callq 0x484c
cmpl $0x1, %r14d
jne 0x3b56
movq %rbx, %rdi
callq 0x3090
movq %rax, %rbx
movq 0xa558(%rip), %rdi      # 0xdff0
leaq 0x5650(%rip), %rsi      # 0x90ef
callq 0x3170
movq %rax, %r14
leaq 0x8(%rbx), %rsi
leaq 0x98(%rsp), %rdi
callq 0x3200
leaq 0x98(%rsp), %rsi
movq %r14, %rdi
callq 0x3160
leaq 0x5628(%rip), %rsi      # 0x90f7
movq %rax, %rdi
callq 0x3170
movq %rax, %r14
leaq 0x308(%rsp), %rdi
movq %rbx, %rsi
callq 0x4cd2
leaq 0x308(%rsp), %rsi
movq %r14, %rdi
callq 0x3160
movq %rax, %rdi
callq 0x30c0
leaq 0x308(%rsp), %rdi
callq 0x3318
leaq 0x98(%rsp), %rdi
callq 0x3318
callq 0x3260
jmp 0x38bf
jmp 0x3b41
jmp 0x3b2a
movq %rax, %rbx
jmp 0x3b51
movq %rax, %rbx
leaq 0x308(%rsp), %rdi
callq 0x3318
jmp 0x3b44
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x3318
callq 0x3260
movq %rbx, %rdi
callq 0x3290
movq %rax, %rdi
callq 0x47f6