// File: /workspace/github_cpp_makefile_star2_O3/millanek[P]evo/process_vcf_IUPAC.cpp
// Function: getAmbiguityCode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
std::string getAmbiguityCode(std::string b1, std::string b2) {
    if ((b1 == "A" && b2 == "C") || (b1 == "C" && b2 == "A"))
        return "M";
    else if ((b1 == "A" && b2 == "G") || (b1 == "G" && b2 == "A"))
        return "R";
    else if ((b1 == "A" && b2 == "T") || (b1 == "T" && b2 == "A"))
        return "W";
    else if ((b1 == "C" && b2 == "G") || (b1 == "G" && b2 == "C"))
        return "S";
    else if ((b1 == "C" && b2 == "T") || (b1 == "T" && b2 == "C"))
        return "Y";
    else if ((b1 == "G" && b2 == "T") || (b1 == "T" && b2 == "G"))
        return "K";
    else
        return "?";
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x725e1(%rip), %rsi     # 0xca070
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57ab2
leaq 0x725c0(%rip), %rsi     # 0xca062
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57c9a
leaq 0x725a9(%rip), %rsi     # 0xca062
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57adc
leaq 0x725a4(%rip), %rsi     # 0xca070
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57c9a
leaq 0x7258d(%rip), %rsi     # 0xca070
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57b06
leaq 0x72573(%rip), %rsi     # 0xca069
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57cb1
leaq 0x7255c(%rip), %rsi     # 0xca069
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57b30
leaq 0x72550(%rip), %rsi     # 0xca070
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57cb1
leaq 0x72539(%rip), %rsi     # 0xca070
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57b5a
leaq 0x72511(%rip), %rsi     # 0xca05b
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57cc8
leaq 0x724fa(%rip), %rsi     # 0xca05b
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57b84
leaq 0x724fc(%rip), %rsi     # 0xca070
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57cc8
leaq 0x724d7(%rip), %rsi     # 0xca062
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57bae
leaq 0x724cb(%rip), %rsi     # 0xca069
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57cdf
leaq 0x724b4(%rip), %rsi     # 0xca069
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57bd8
leaq 0x7249a(%rip), %rsi     # 0xca062
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57cdf
leaq 0x72483(%rip), %rsi     # 0xca062
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57c02
leaq 0x72469(%rip), %rsi     # 0xca05b
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57cf6
leaq 0x72452(%rip), %rsi     # 0xca05b
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57c2c
leaq 0x72446(%rip), %rsi     # 0xca062
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57cf6
leaq 0x72436(%rip), %rsi     # 0xca069
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57c56
leaq 0x72415(%rip), %rsi     # 0xca05b
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57d0d
leaq 0x723fe(%rip), %rsi     # 0xca05b
movq %r15, %rdi
callq 0x8160
testl %eax, %eax
jne 0x57c80
leaq 0x723f9(%rip), %rsi     # 0xca069
movq %r14, %rdi
callq 0x8160
testl %eax, %eax
je 0x57d0d
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x82c25(%rip), %rsi     # 0xda8b3
leaq 0x82c1f(%rip), %rdx     # 0xda8b4
jmp 0x57d22
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x726af(%rip), %rsi     # 0xca357
leaq 0x726a9(%rip), %rdx     # 0xca358
jmp 0x57d22
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x85418(%rip), %rsi     # 0xdd0d7
leaq 0x85412(%rip), %rdx     # 0xdd0d8
jmp 0x57d22
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x86ccd(%rip), %rsi     # 0xde9a3
leaq 0x86cc7(%rip), %rdx     # 0xde9a4
jmp 0x57d22
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x725eb(%rip), %rsi     # 0xca2d8
leaq 0x725e5(%rip), %rdx     # 0xca2d9
jmp 0x57d22
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x76653(%rip), %rsi     # 0xce357
leaq 0x7664d(%rip), %rdx     # 0xce358
jmp 0x57d22
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0x79b9a(%rip), %rsi     # 0xd18b5
leaq 0x79b94(%rip), %rdx     # 0xd18b6
movq %rbx, %rdi
callq 0x28a52
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
nop