// File: 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 %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rsi, -0x68(%rbp)
movq %rdi, -0x60(%rbp)
movq %rdi, %rax
movq %rax, -0x58(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb $0x0, -0x11(%rbp)
callq 0x5720
movq 0x10143e(%rip), %rdi    # 0x272fc0
leaq 0x8d7fb(%rip), %rsi     # 0x1ff384
callq 0x5540
movq %rax, -0x50(%rbp)
jmp 0x171b94
movq -0x50(%rbp), %rdi
leaq 0x87a86(%rip), %rsi     # 0x1f9625
callq 0x5540
jmp 0x171ba6
movq -0x68(%rbp), %rdi
callq 0x592f0
cmpq $0x1, %rax
jne 0x171bdd
movq -0x60(%rbp), %rdi
leaq 0x8d7f7(%rip), %rsi     # 0x1ff3b7
callq 0x5710
jmp 0x171bc7
jmp 0x1720e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x172109
movq -0x68(%rbp), %rdi
callq 0x592f0
cmpq $0x2, %rax
jne 0x172034
movq -0x68(%rbp), %rdi
movl $0x1, %esi
callq 0x59310
movq %rax, %rsi
leaq -0x48(%rbp), %rdi
callq 0x67f0
jmp 0x171c0c
leaq 0x8ad2d(%rip), %rsi     # 0x1fc940
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x69(%rbp)
jmp 0x171c21
movb -0x69(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171c2e
leaq 0x8ad0f(%rip), %rsi     # 0x1fc944
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x6a(%rbp)
jmp 0x171c43
movb -0x6a(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171c50
leaq 0x8acf1(%rip), %rsi     # 0x1fc948
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x6b(%rbp)
jmp 0x171c65
movb -0x6b(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171c72
leaq 0x8acd3(%rip), %rsi     # 0x1fc94c
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x6c(%rbp)
jmp 0x171c87
movb -0x6c(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171c94
leaq 0x8acb5(%rip), %rsi     # 0x1fc950
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x6d(%rbp)
jmp 0x171ca9
movb -0x6d(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171cb6
leaq 0x8ac97(%rip), %rsi     # 0x1fc954
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x6e(%rbp)
jmp 0x171ccb
movb -0x6e(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171cd8
leaq 0x8ac79(%rip), %rsi     # 0x1fc958
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x6f(%rbp)
jmp 0x171ced
movb -0x6f(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171cfa
leaq 0x8ac5b(%rip), %rsi     # 0x1fc95c
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x70(%rbp)
jmp 0x171d0f
movb -0x70(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171d1c
leaq 0x8ac3d(%rip), %rsi     # 0x1fc960
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x71(%rbp)
jmp 0x171d31
movb -0x71(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171d3e
leaq 0x8ac1f(%rip), %rsi     # 0x1fc964
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x72(%rbp)
jmp 0x171d53
movb -0x72(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171d60
leaq 0x8ac00(%rip), %rsi     # 0x1fc967
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x73(%rbp)
jmp 0x171d75
movb -0x73(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171d82
leaq 0x8abe2(%rip), %rsi     # 0x1fc96b
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x74(%rbp)
jmp 0x171d97
movb -0x74(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171da4
leaq 0x8abc4(%rip), %rsi     # 0x1fc96f
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x75(%rbp)
jmp 0x171db9
movb -0x75(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171dc6
leaq 0x8aba6(%rip), %rsi     # 0x1fc973
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x76(%rbp)
jmp 0x171ddb
movb -0x76(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171de8
leaq 0x8ab88(%rip), %rsi     # 0x1fc977
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x77(%rbp)
jmp 0x171dfd
movb -0x77(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171e0a
leaq 0x8ab6a(%rip), %rsi     # 0x1fc97b
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x78(%rbp)
jmp 0x171e1f
movb -0x78(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171e2c
leaq 0x8ab4d(%rip), %rsi     # 0x1fc980
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x79(%rbp)
jmp 0x171e41
movb -0x79(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171e4e
leaq 0x8ab30(%rip), %rsi     # 0x1fc985
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x7a(%rbp)
jmp 0x171e63
movb -0x7a(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171e70
leaq 0x8ab14(%rip), %rsi     # 0x1fc98b
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x7b(%rbp)
jmp 0x171e85
movb -0x7b(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171e8e
leaq 0x8d522(%rip), %rsi     # 0x1ff3b7
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x7c(%rbp)
jmp 0x171ea3
movb -0x7c(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171eac
leaq 0x8ac9a(%rip), %rsi     # 0x1fcb4d
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x7d(%rbp)
jmp 0x171ec1
movb -0x7d(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171eca
leaq 0x8ac7f(%rip), %rsi     # 0x1fcb50
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x7e(%rbp)
jmp 0x171edf
movb -0x7e(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171ee8
leaq 0x8ac65(%rip), %rsi     # 0x1fcb54
leaq -0x48(%rbp), %rdi
callq 0x845d0
movb %al, -0x7f(%rbp)
jmp 0x171efd
movb -0x7f(%rbp), %al
testb $0x1, %al
jne 0x171f06
jmp 0x171f7e
movq 0x1010b3(%rip), %rdi    # 0x272fc0
leaq 0x8d4a7(%rip), %rsi     # 0x1ff3bb
callq 0x5540
movq %rax, -0x88(%rbp)
jmp 0x171f22
movq -0x88(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x5480
movq %rax, -0x90(%rbp)
jmp 0x171f3b
movq -0x90(%rbp), %rdi
leaq 0x876dc(%rip), %rsi     # 0x1f9625
callq 0x5540
jmp 0x171f50
movq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x5060
jmp 0x171f5f
jmp 0x172026
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x5300
jmp 0x172109
movq 0x10106b(%rip), %rdi    # 0x272ff0
leaq 0x8d44b(%rip), %rsi     # 0x1ff3d7
callq 0x5540
movq %rax, -0x98(%rbp)
jmp 0x171f9a
movq -0x98(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x5480
movq %rax, -0xa0(%rbp)
jmp 0x171fb3
movq -0xa0(%rbp), %rdi
leaq 0x8d42c(%rip), %rsi     # 0x1ff3ed
callq 0x5540
movq %rax, -0xa8(%rbp)
jmp 0x171fcf
movq -0xa8(%rbp), %rdi
leaq 0x8d425(%rip), %rsi     # 0x1ff402
callq 0x5540
movq %rax, -0xb0(%rbp)
jmp 0x171feb
movq -0xb0(%rbp), %rdi
leaq 0x89321(%rip), %rsi     # 0x1fb31a
callq 0x5540
movq %rax, -0xb8(%rbp)
jmp 0x172007
movq -0xb8(%rbp), %rdi
leaq 0x87610(%rip), %rsi     # 0x1f9625
callq 0x5540
jmp 0x17201c
movl $0x1, %edi
callq 0x67c0
leaq -0x48(%rbp), %rdi
callq 0x5300
jmp 0x1720e7
movq 0x100fb5(%rip), %rdi    # 0x272ff0
leaq 0x8d431(%rip), %rsi     # 0x1ff473
callq 0x5540
movq %rax, -0xc0(%rbp)
jmp 0x172050
movq -0x68(%rbp), %rdi
callq 0x592f0
movq -0xc0(%rbp), %rdi
movq %rax, %rsi
decq %rsi
callq 0x5160
movq %rax, -0xc8(%rbp)
jmp 0x172074
movq -0xc8(%rbp), %rdi
leaq 0x8d237(%rip), %rsi     # 0x1ff2b9
callq 0x5540
movq %rax, -0xd0(%rbp)
jmp 0x172090
movq -0xd0(%rbp), %rdi
leaq 0x87587(%rip), %rsi     # 0x1f9625
callq 0x5540
movq %rax, -0xd8(%rbp)
jmp 0x1720ac
movq -0xd8(%rbp), %rdi
leaq 0x89260(%rip), %rsi     # 0x1fb31a
callq 0x5540
movq %rax, -0xe0(%rbp)
jmp 0x1720c8
movq -0xe0(%rbp), %rdi
leaq 0x8754f(%rip), %rsi     # 0x1f9625
callq 0x5540
jmp 0x1720dd
movl $0x1, %edi
callq 0x67c0
jmp 0x1720e9
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x1720fc
movq -0x60(%rbp), %rdi
callq 0x5300
movq -0x58(%rbp), %rax
addq $0xe0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x5300
movq -0x20(%rbp), %rdi
callq 0x58f0
nopl (%rax,%rax)