// File: /workspace/github_cpp_makefile_star2_O3/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 $0x2e8, %rsp            # imm = 0x2E8
movq %rdi, %r13
leaq -0x300(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8bc9(%rip), %rsi      # 0xe18b
leaq 0x8bce(%rip), %rdx      # 0xe197
leaq -0x310(%rbp), %rbx
movq %rbx, %rdi
callq 0x5178
leaq -0x2f0(%rbp), %r14
leaq -0x2e0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8ba7(%rip), %rsi      # 0xe198
leaq 0x8bac(%rip), %rdx      # 0xe1a4
movq %r14, %rdi
callq 0x5178
leaq -0x2d0(%rbp), %r14
leaq -0x2c0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b8c(%rip), %rsi      # 0xe1a5
leaq 0x8b95(%rip), %rdx      # 0xe1b5
movq %r14, %rdi
callq 0x5178
leaq -0x2b0(%rbp), %r14
leaq -0x2a0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b75(%rip), %rsi      # 0xe1b6
leaq 0x8b7e(%rip), %rdx      # 0xe1c6
movq %r14, %rdi
callq 0x5178
leaq -0x290(%rbp), %r14
leaq -0x280(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b5e(%rip), %rsi      # 0xe1c7
leaq 0x8b62(%rip), %rdx      # 0xe1d2
movq %r14, %rdi
callq 0x5178
leaq -0x270(%rbp), %r14
leaq -0x260(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b42(%rip), %rsi      # 0xe1d3
leaq 0x8b46(%rip), %rdx      # 0xe1de
movq %r14, %rdi
callq 0x5178
leaq -0x250(%rbp), %r14
leaq -0x240(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b26(%rip), %rsi      # 0xe1df
leaq 0x8b2e(%rip), %rdx      # 0xe1ee
movq %r14, %rdi
callq 0x5178
leaq -0x230(%rbp), %r14
leaq -0x220(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b0e(%rip), %rsi      # 0xe1ef
leaq 0x8b18(%rip), %rdx      # 0xe200
movq %r14, %rdi
callq 0x5178
leaq -0x210(%rbp), %r14
leaq -0x200(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8af8(%rip), %rsi      # 0xe201
leaq 0x8aff(%rip), %rdx      # 0xe20f
movq %r14, %rdi
callq 0x5178
leaq -0x1f0(%rbp), %r14
leaq -0x1e0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8adf(%rip), %rsi      # 0xe210
leaq 0x8ae8(%rip), %rdx      # 0xe220
movq %r14, %rdi
callq 0x5178
leaq -0x1d0(%rbp), %r14
leaq -0x1c0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8ac8(%rip), %rsi      # 0xe221
leaq 0x8ad1(%rip), %rdx      # 0xe231
movq %r14, %rdi
callq 0x5178
leaq -0x1b0(%rbp), %r14
leaq -0x1a0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8ab1(%rip), %rsi      # 0xe232
leaq 0x8ab7(%rip), %rdx      # 0xe23f
movq %r14, %rdi
callq 0x5178
leaq -0x190(%rbp), %r14
leaq -0x180(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a97(%rip), %rsi      # 0xe240
leaq 0x8a9f(%rip), %rdx      # 0xe24f
movq %r14, %rdi
callq 0x5178
leaq -0x170(%rbp), %r14
leaq -0x160(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a7f(%rip), %rsi      # 0xe250
leaq 0x8a88(%rip), %rdx      # 0xe260
movq %r14, %rdi
callq 0x5178
leaq -0x150(%rbp), %r14
leaq -0x140(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a68(%rip), %rsi      # 0xe261
leaq 0x8a6c(%rip), %rdx      # 0xe26c
movq %r14, %rdi
callq 0x5178
leaq -0x130(%rbp), %r14
leaq -0x120(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a4c(%rip), %rsi      # 0xe26d
leaq 0x8a50(%rip), %rdx      # 0xe278
movq %r14, %rdi
callq 0x5178
leaq -0x110(%rbp), %r14
leaq -0x100(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a30(%rip), %rsi      # 0xe279
leaq 0x8a38(%rip), %rdx      # 0xe288
movq %r14, %rdi
callq 0x5178
leaq -0xf0(%rbp), %r14
leaq -0xe0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a18(%rip), %rsi      # 0xe289
leaq 0x8a23(%rip), %rdx      # 0xe29b
movq %r14, %rdi
callq 0x5178
leaq -0xd0(%rbp), %r14
leaq -0xc0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a03(%rip), %rsi      # 0xe29c
leaq 0x8a09(%rip), %rdx      # 0xe2a9
movq %r14, %rdi
callq 0x5178
leaq -0xb0(%rbp), %r14
leaq -0xa0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x89e8(%rip), %rsi      # 0xe2aa
leaq 0x89ee(%rip), %rdx      # 0xe2b7
movq %r14, %rdi
callq 0x5178
movl $0x8, %r15d
leaq -0x48(%rbp), %r14
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x318(%rbp,%r15), %rsi
movq -0x310(%rbp,%r15), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x663a
movq %r14, %rdi
movq %r13, %rsi
callq 0x3040
movl %eax, %ebx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x5924
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
testl %ebx, %ebx
je 0x5a95
addq $0x20, %r15
cmpq $0x288, %r15            # imm = 0x288
jne 0x58db
movq 0xd688(%rip), %rdi      # 0x12fc8
leaq 0x882b(%rip), %rsi      # 0xe172
movl $0x14, %edx
callq 0x31c0
movl %ebx, -0x4c(%rbp)
movl $0x8, %r15d
leaq -0x48(%rbp), %r13
leaq -0x90(%rbp), %rbx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x318(%rbp,%r15), %rsi
movq -0x310(%rbp,%r15), %rdx
addq %rsi, %rdx
movq %r13, %rdi
callq 0x663a
movq %rbx, %rdi
leaq 0x87f6(%rip), %rsi      # 0xe188
movq %r13, %r14
movq %r13, %rdx
callq 0x6599
movq %rbx, %rdi
leaq 0x87e0(%rip), %rsi      # 0xe187
callq 0x32e0
leaq -0x60(%rbp), %rsi
movq %rsi, -0x70(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x59d0
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x59d6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x68(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
movq 0xd5cc(%rip), %rdi      # 0x12fc8
callq 0x31c0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x5a1a
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x5a36
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x5a4f
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
addq $0x20, %r15
cmpq $0x288, %r15            # imm = 0x288
movq %r14, %r13
jne 0x5965
movq 0xd55e(%rip), %rdi      # 0x12fc8
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x3170
movl -0x4c(%rbp), %ebx
movsbl %al, %esi
movq 0xd540(%rip), %rdi      # 0x12fc8
callq 0x3030
movq %rax, %rdi
callq 0x3110
movq $-0x280, %r14           # imm = 0xFD80
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x5ab2
movq (%r12), %rsi
incq %rsi
callq 0x3190
addq $-0x20, %r12
addq $0x20, %r14
jne 0x5a9c
testl %ebx, %ebx
sete %al
addq $0x2e8, %rsp            # imm = 0x2E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
jmp 0x5af7
movq %rax, %r15
addq $-0x10, %r14
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x5b12
movq (%r14), %rsi
incq %rsi
callq 0x3190
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %rbx, %r14
movq %rax, %r14
jne 0x5afe
jmp 0x5bb8
jmp 0x5b6c
jmp 0x5b6c
jmp 0x5b71
movq %rax, %r15
jmp 0x5b4e
movq %rax, %r15
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x5b4e
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x5b74
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0x5b74
movq %rax, %r15
jmp 0x5b8d
movq %rax, %r15
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x5b8d
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
xorl %ebx, %ebx
movq -0xb0(%rbp,%rbx), %rdi
leaq (%r12,%rbx), %rax
cmpq %rdi, %rax
je 0x5bab
movq (%rax), %rsi
incq %rsi
callq 0x3190
addq $-0x20, %rbx
cmpq $-0x280, %rbx           # imm = 0xFD80
jne 0x5b8f
movq %r15, %rdi
callq 0x32b0