// File: ncbi[P]amr/stx/stxtyper.cpp
// Function: (anonymous namespace)::stxType_reported_operon2elementName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
string stxType_reported_operon2elementName (const string &stxType_reported,
                                            const string &operon)
{
  string elementName (stxType_reported  + " operon");
       if (operon == "FRAMESHIFT")
    elementName += " with frameshift";
  else if (operon == "INTERNAL_STOP")
    elementName += " with internal stop";
  else if (contains (operon, "PARTIAL"))
    elementName = "Partial " + elementName;
  else if (operon == "EXTENDED")
    elementName = "Extended " + elementName;
  else if (contains (operon, "NOVEL"))
    elementName = "Novel " + elementName;
    
  return elementName;
}

// Assembly:
subq $0x128, %rsp            # imm = 0x128
movq %rdi, 0x38(%rsp)
movq %rdi, %rax
movq %rax, 0x40(%rsp)
movq %rdi, 0x120(%rsp)
movq %rsi, 0x118(%rsp)
movq %rdx, 0x110(%rsp)
movb $0x0, 0x10f(%rsp)
movq 0x118(%rsp), %rsi
leaq 0x9c43c(%rip), %rdx     # 0xc4e8f
callq 0x31270
movq 0x110(%rsp), %rdi
leaq 0x9c3a0(%rip), %rsi     # 0xc4e07
callq 0x36400
testb $0x1, %al
jne 0x28a72
jmp 0x28aa3
movq 0x38(%rsp), %rdi
leaq 0x9c419(%rip), %rsi     # 0xc4e97
callq 0xc6c0
jmp 0x28a85
jmp 0x28d11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
jmp 0x28d3a
movq 0x110(%rsp), %rdi
leaq 0x9c360(%rip), %rsi     # 0xc4e12
callq 0x36400
testb $0x1, %al
jne 0x28abd
jmp 0x28ad5
movq 0x38(%rsp), %rdi
leaq 0x9c3df(%rip), %rsi     # 0xc4ea8
callq 0xc6c0
jmp 0x28ad0
jmp 0x28d0f
movq 0x110(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0xd7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xccc0
movq 0x30(%rsp), %rdx
leaq 0x9c34d(%rip), %rsi     # 0xc4e4d
leaq 0xd8(%rsp), %rdi
callq 0x2efd0
jmp 0x28b0f
movq 0x28(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0x371c0
movb %al, 0x27(%rsp)
jmp 0x28b27
leaq 0xd8(%rsp), %rdi
callq 0xce58
leaq 0xd7(%rsp), %rdi
callq 0xc780
movb 0x27(%rsp), %al
testb $0x1, %al
jne 0x28b4e
jmp 0x28bd6
movq 0x38(%rsp), %rdx
leaq 0x9c362(%rip), %rsi     # 0xc4ebc
leaq 0xb0(%rsp), %rdi
callq 0x331d0
jmp 0x28b69
movq 0x38(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0xc8d0
leaq 0xb0(%rsp), %rdi
callq 0xce58
jmp 0x28d0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
jmp 0x28bc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0xce58
leaq 0xd7(%rsp), %rdi
callq 0xc780
jmp 0x28d3a
movq 0x110(%rsp), %rdi
leaq 0x9c25f(%rip), %rsi     # 0xc4e44
callq 0x36400
testb $0x1, %al
jne 0x28bf0
jmp 0x28c2f
movq 0x38(%rsp), %rdx
leaq 0x9c2c9(%rip), %rsi     # 0xc4ec5
leaq 0x90(%rsp), %rdi
callq 0x331d0
jmp 0x28c0b
movq 0x38(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0xc8d0
leaq 0x90(%rsp), %rdi
callq 0xce58
jmp 0x28d0b
movq 0x110(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x6f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xccc0
movq 0x18(%rsp), %rdx
leaq 0x9c760(%rip), %rsi     # 0xc53b7
leaq 0x70(%rsp), %rdi
callq 0x2efd0
jmp 0x28c63
movq 0x10(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x371c0
movb %al, 0xf(%rsp)
jmp 0x28c78
leaq 0x70(%rsp), %rdi
callq 0xce58
leaq 0x6f(%rsp), %rdi
callq 0xc780
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0x28c96
jmp 0x28d09
movq 0x38(%rsp), %rdx
leaq 0x9c22d(%rip), %rsi     # 0xc4ecf
leaq 0x48(%rsp), %rdi
callq 0x331d0
jmp 0x28cae
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0xc8d0
leaq 0x48(%rsp), %rdi
callq 0xce58
jmp 0x28d09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
jmp 0x28cfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
leaq 0x70(%rsp), %rdi
callq 0xce58
leaq 0x6f(%rsp), %rdi
callq 0xc780
jmp 0x28d3a
jmp 0x28d0b
jmp 0x28d0d
jmp 0x28d0f
jmp 0x28d11
movb $0x1, 0x10f(%rsp)
testb $0x1, 0x10f(%rsp)
jne 0x28d2d
movq 0x38(%rsp), %rdi
callq 0xce58
movq 0x40(%rsp), %rax
addq $0x128, %rsp            # imm = 0x128
retq
movq 0x38(%rsp), %rdi
callq 0xce58
movq 0x100(%rsp), %rdi
callq 0xccb0
nopw %cs:(%rax,%rax)