// File: /workspace/github_cpp_makefile_star2_O1/Luthaf[P]zeopp/arguments.cc
// Function: processAccuracyParameters(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>)
string processAccuracyParameters(vector<string> args){
    string accSetting;
    cout << "High accuracy requested (DEF (default) settings). "<< "\n";
    if(args.size() == 1){
        accSetting = "DEF";
    }
    else if(args.size() == 2){
        
        string tempSetting = toUpperCase(args[1]);
        
        if(tempSetting == "OCC" ||
           tempSetting == "FCC" ||
           tempSetting == "ACC" ||
           tempSetting == "AQC" ||
           tempSetting == "DDH" ||
           tempSetting == "TIH" ||
           tempSetting == "ICH" ||
           tempSetting == "ICC" ||
           tempSetting == "RIH" ||
           tempSetting == "S4" ||
           tempSetting == "S10" ||
           tempSetting == "S20" ||
           tempSetting == "S30" ||
           tempSetting == "S40" ||
           tempSetting == "S50" ||
           tempSetting == "S100" ||
           tempSetting == "S500" ||
           tempSetting == "S1000" ||
           tempSetting == "S10000" ||
           tempSetting == "DEF" ||
           tempSetting == "HI" ||
           tempSetting == "MED" ||
           tempSetting == "LOW") { cout << "Selected accuracy setting: " << tempSetting << "\n"; accSetting = tempSetting;}
        else{
            cerr << "Error: -ha option of " << tempSetting << " is not recognized.\n"
            << "Available options: FCC ACC AQC DDH TIH ICH ICC RIH S4 S10 S20 S30 S40 S50 S100 S500 S1000 S10000 HI MED LOW DEF\n"
            << "Exiting..." << "\n";
            exit(1);
            
        };
        
    }
    else{
        cerr << "Error: -ha option accepts at most 1 argument but " << args.size() - 1 << " were provided." << "\n"
        << "Exiting..." << "\n";
        exit(1);
    }
    
    return accSetting;
    
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x10(%rdi), %r15
movq %r15, (%rdi)
movq $0x0, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
movq 0x8c390(%rip), %rdi     # 0x196fc0
leaq 0x4e715(%rip), %rsi     # 0x15934c
movl $0x32, %edx
callq 0x44e0
movq 0x8c378(%rip), %rdi     # 0x196fc0
leaq 0x4a8df(%rip), %rsi     # 0x15552e
movl $0x1, %edx
callq 0x44e0
movq (%r14), %rsi
movq 0x8(%r14), %rax
subq %rsi, %rax
sarq $0x5, %rax
cmpq $0x2, %rax
je 0x10ac97
cmpq $0x1, %rax
jne 0x10af10
movq 0x8(%rbx), %rdx
leaq 0x4e6fd(%rip), %rcx     # 0x15937f
movl $0x3, %r8d
movq %rbx, %rdi
xorl %esi, %esi
callq 0x4670
jmp 0x10af03
addq $0x20, %rsi
movq %rsp, %rdi
callq 0x711e
leaq 0x4cf3e(%rip), %rsi     # 0x157be8
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cf2b(%rip), %rsi     # 0x157bec
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cf18(%rip), %rsi     # 0x157bf0
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cf05(%rip), %rsi     # 0x157bf4
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cef2(%rip), %rsi     # 0x157bf8
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cedf(%rip), %rsi     # 0x157bfc
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cecc(%rip), %rsi     # 0x157c00
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ceb9(%rip), %rsi     # 0x157c04
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cea6(%rip), %rsi     # 0x157c08
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ce93(%rip), %rsi     # 0x157c0c
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ce7f(%rip), %rsi     # 0x157c0f
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ce6c(%rip), %rsi     # 0x157c13
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ce59(%rip), %rsi     # 0x157c17
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ce46(%rip), %rsi     # 0x157c1b
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ce33(%rip), %rsi     # 0x157c1f
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ce20(%rip), %rsi     # 0x157c23
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ce0e(%rip), %rsi     # 0x157c28
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4ce00(%rip), %rsi     # 0x157c2d
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cdf3(%rip), %rsi     # 0x157c33
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4e52c(%rip), %rsi     # 0x15937f
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cf8f(%rip), %rsi     # 0x157df5
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cf7f(%rip), %rsi     # 0x157df8
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
je 0x10ae9c
leaq 0x4cf70(%rip), %rsi     # 0x157dfc
movq %rsp, %rdi
callq 0x4170
testl %eax, %eax
jne 0x10af9a
movq 0x8c11d(%rip), %rdi     # 0x196fc0
leaq 0x4e4d9(%rip), %rsi     # 0x159383
movl $0x1b, %edx
callq 0x44e0
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0x8c0fc(%rip), %rdi     # 0x196fc0
callq 0x44e0
leaq 0x4a65e(%rip), %rsi     # 0x15552e
movl $0x1, %edx
movq %rax, %rdi
callq 0x44e0
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x4240
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x10af03
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq 0x8c0d9(%rip), %rdi     # 0x196ff0
leaq 0x4e51d(%rip), %rsi     # 0x15943b
movl $0x31, %edx
callq 0x44e0
movq 0x8(%r14), %rsi
subq (%r14), %rsi
sarq $0x5, %rsi
decq %rsi
movq 0x8c0b3(%rip), %rdi     # 0x196ff0
callq 0x42b0
movq %rax, %r14
leaq 0x4e335(%rip), %rsi     # 0x159281
movl $0xf, %edx
movq %rax, %rdi
callq 0x44e0
leaq 0x4a5ce(%rip), %rsi     # 0x15552e
movl $0x1, %edx
movq %r14, %rdi
callq 0x44e0
leaq 0x4b63e(%rip), %rsi     # 0x1565b2
movl $0xa, %edx
movq %r14, %rdi
callq 0x44e0
leaq 0x4a5a6(%rip), %rsi     # 0x15552e
movq %r14, %rdi
callq 0x4440
movl $0x1, %edi
callq 0x710c
movq 0x8c04f(%rip), %rdi     # 0x196ff0
leaq 0x4e3f7(%rip), %rsi     # 0x15939f
movl $0x15, %edx
callq 0x44e0
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0x8c02e(%rip), %rdi     # 0x196ff0
callq 0x44e0
movq %rax, %r14
leaq 0x4e3e4(%rip), %rsi     # 0x1593b5
movl $0x14, %edx
movq %rax, %rdi
callq 0x44e0
leaq 0x4e3e5(%rip), %rsi     # 0x1593ca
movl $0x70, %edx
movq %r14, %rdi
callq 0x44e0
leaq 0x4b5b9(%rip), %rsi     # 0x1565b2
movl $0xa, %edx
movq %r14, %rdi
callq 0x44e0
leaq 0x4a521(%rip), %rsi     # 0x15552e
movq %r14, %rdi
callq 0x4440
jmp 0x10af90
jmp 0x10b03c
movq %rax, %r14
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x10b03f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x4470
jmp 0x10b03f
movq %rax, %r14
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x10b052
movq (%r15), %rsi
incq %rsi
callq 0x4470
movq %r14, %rdi
callq 0x4780