// File: /workspace/github_cpp_makefile_star2_O2/Wombozo[P]harmony/src/utils.cpp
// Function: valid_user_type_interval_input(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
bool valid_user_type_interval_input(const std::string &str)
{
    std::string sints[] = {"minor second",
                           "major second",
                           "augmented second",
                           "diminished third",
                           "minor third",
                           "major third",
                           "augmented third",
                           "diminished fourth",
                           "perfect fourth",
                           "augmented fourth",
                           "diminished fifth",
                           "perfect fifth",
                           "augmented fifth",
                           "diminished sixth",
                           "minor sixth",
                           "major sixth",
                           "augmented sixth",
                           "diminished seventh",
                           "minor seventh",
                           "major seventh"};
    for (auto sint : sints)
    {
        if (!sint.compare(str))
            return true;
    }
    std::cout << "Available answers : ";
    for (auto sint : sints)
    {
        std::cout << "| " + sint + " | ";
    }
    std::cout << std::endl;
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2f8, %rsp            # imm = 0x2F8
movq %rdi, %r15
leaq 0x7066(%rip), %rsi      # 0xc1b5
leaq -0x320(%rbp), %rbx
leaq -0x60(%rbp), %rdx
movq %rbx, %rdi
callq 0x4d30
leaq -0x300(%rbp), %r14
leaq 0x7052(%rip), %rsi      # 0xc1c2
leaq -0xa0(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x2e0(%rbp), %r14
leaq 0x7042(%rip), %rsi      # 0xc1cf
leaq -0x80(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x2c0(%rbp), %r14
leaq 0x7039(%rip), %rsi      # 0xc1e0
leaq -0x39(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x2a0(%rbp), %r14
leaq 0x7030(%rip), %rsi      # 0xc1f1
leaq -0x38(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x280(%rbp), %r14
leaq 0x7022(%rip), %rsi      # 0xc1fd
leaq -0x37(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x260(%rbp), %r14
leaq 0x7014(%rip), %rsi      # 0xc209
leaq -0x36(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x240(%rbp), %r14
leaq 0x700a(%rip), %rsi      # 0xc219
leaq -0x35(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x220(%rbp), %r14
leaq 0x7002(%rip), %rsi      # 0xc22b
leaq -0x34(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x200(%rbp), %r14
leaq 0x6ff7(%rip), %rsi      # 0xc23a
leaq -0x33(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x1e0(%rbp), %r14
leaq 0x6fee(%rip), %rsi      # 0xc24b
leaq -0x32(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x1c0(%rbp), %r14
leaq 0x6fe5(%rip), %rsi      # 0xc25c
leaq -0x31(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x1a0(%rbp), %r14
leaq 0x6fd9(%rip), %rsi      # 0xc26a
leaq -0x30(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x180(%rbp), %r14
leaq 0x6fcf(%rip), %rsi      # 0xc27a
leaq -0x2f(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x160(%rbp), %r14
leaq 0x6fc6(%rip), %rsi      # 0xc28b
leaq -0x2e(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x140(%rbp), %r14
leaq 0x6fb8(%rip), %rsi      # 0xc297
leaq -0x2d(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x120(%rbp), %r14
leaq 0x6faa(%rip), %rsi      # 0xc2a3
leaq -0x2c(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0x100(%rbp), %r14
leaq 0x6fa0(%rip), %rsi      # 0xc2b3
leaq -0x2b(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0xe0(%rbp), %r14
leaq 0x6f99(%rip), %rsi      # 0xc2c6
leaq -0x2a(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
leaq -0xc0(%rbp), %r14
leaq 0x6f8d(%rip), %rsi      # 0xc2d4
leaq -0x29(%rbp), %rdx
movq %r14, %rdi
callq 0x4d30
xorl %eax, %eax
leaq -0x60(%rbp), %rbx
movq %rax, %r12
cmpq $0x280, %rax            # imm = 0x280
je 0x539c
leaq (%r12,%rbp), %rsi
addq $-0x320, %rsi           # imm = 0xFCE0
movq %rbx, %rdi
callq 0x31f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x3030
movl %eax, %r14d
movq %rbx, %rdi
callq 0x30d0
leaq 0x20(%r12), %rax
testl %r14d, %r14d
jne 0x5359
jmp 0x543a
movq 0xcc25(%rip), %rdi      # 0x11fc8
leaq 0x6df2(%rip), %rsi      # 0xc19c
callq 0x3190
xorl %r14d, %r14d
leaq -0x60(%rbp), %rbx
leaq -0x80(%rbp), %r15
leaq -0xa0(%rbp), %r13
cmpq $0x280, %r14            # imm = 0x280
je 0x542e
leaq (%r14,%rbp), %rsi
addq $-0x320, %rsi           # imm = 0xFCE0
movq %rbx, %rdi
callq 0x31f0
movq %r15, %rdi
leaq 0x6dcb(%rip), %rsi      # 0xc1b2
movq %rbx, %rdx
callq 0x5b4e
movq %r13, %rdi
movq %r15, %rsi
leaq 0x6db5(%rip), %rdx      # 0xc1b1
callq 0x5b25
movq 0xcbc0(%rip), %rdi      # 0x11fc8
movq %r13, %rsi
callq 0x3180
movq %r13, %rdi
callq 0x30d0
movq %r15, %rdi
callq 0x30d0
movq %rbx, %rdi
callq 0x30d0
addq $0x20, %r14
jmp 0x53c1
movq 0xcb93(%rip), %rdi      # 0x11fc8
callq 0x30e0
movl $0x260, %ebx            # imm = 0x260
leaq (%rbx,%rbp), %rdi
addq $-0x320, %rdi           # imm = 0xFCE0
callq 0x30d0
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x543f
cmpq $0x280, %r12            # imm = 0x280
setne %al
addq $0x2f8, %rsp            # imm = 0x2F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
jmp 0x5499
movq %rax, %r15
addq $-0x20, %r14
movq %r14, %rdi
callq 0x30d0
cmpq %rbx, %r14
jne 0x549c
jmp 0x5504
jmp 0x54d4
jmp 0x54d4
jmp 0x54d9
movq %rax, %r15
jmp 0x54c9
movq %rax, %r15
leaq -0xa0(%rbp), %rdi
callq 0x30d0
leaq -0x80(%rbp), %rdi
callq 0x30d0
jmp 0x54dc
movq %rax, %r15
jmp 0x54e5
movq %rax, %r15
leaq -0x60(%rbp), %rdi
callq 0x30d0
movl $0x260, %ebx            # imm = 0x260
leaq (%rbx,%rbp), %rdi
addq $-0x320, %rdi           # imm = 0xFCE0
callq 0x30d0
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x54ea
movq %r15, %rdi
callq 0x32b0