// File: /workspace/github_cpp_makefile_star2_O1/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, -0x50(%rbp)
leaq -0x300(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8bcc(%rip), %rsi      # 0xe18b
leaq 0x8bd1(%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 0x8baa(%rip), %rsi      # 0xe198
leaq 0x8baf(%rip), %rdx      # 0xe1a4
movq %r14, %rdi
callq 0x5178
leaq -0x2d0(%rbp), %r14
leaq -0x2c0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b8f(%rip), %rsi      # 0xe1a5
leaq 0x8b98(%rip), %rdx      # 0xe1b5
movq %r14, %rdi
callq 0x5178
leaq -0x2b0(%rbp), %r14
leaq -0x2a0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b78(%rip), %rsi      # 0xe1b6
leaq 0x8b81(%rip), %rdx      # 0xe1c6
movq %r14, %rdi
callq 0x5178
leaq -0x290(%rbp), %r14
leaq -0x280(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b61(%rip), %rsi      # 0xe1c7
leaq 0x8b65(%rip), %rdx      # 0xe1d2
movq %r14, %rdi
callq 0x5178
leaq -0x270(%rbp), %r14
leaq -0x260(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b45(%rip), %rsi      # 0xe1d3
leaq 0x8b49(%rip), %rdx      # 0xe1de
movq %r14, %rdi
callq 0x5178
leaq -0x250(%rbp), %r14
leaq -0x240(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b29(%rip), %rsi      # 0xe1df
leaq 0x8b31(%rip), %rdx      # 0xe1ee
movq %r14, %rdi
callq 0x5178
leaq -0x230(%rbp), %r14
leaq -0x220(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8b11(%rip), %rsi      # 0xe1ef
leaq 0x8b1b(%rip), %rdx      # 0xe200
movq %r14, %rdi
callq 0x5178
leaq -0x210(%rbp), %r14
leaq -0x200(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8afb(%rip), %rsi      # 0xe201
leaq 0x8b02(%rip), %rdx      # 0xe20f
movq %r14, %rdi
callq 0x5178
leaq -0x1f0(%rbp), %r14
leaq -0x1e0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8ae2(%rip), %rsi      # 0xe210
leaq 0x8aeb(%rip), %rdx      # 0xe220
movq %r14, %rdi
callq 0x5178
leaq -0x1d0(%rbp), %r14
leaq -0x1c0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8acb(%rip), %rsi      # 0xe221
leaq 0x8ad4(%rip), %rdx      # 0xe231
movq %r14, %rdi
callq 0x5178
leaq -0x1b0(%rbp), %r14
leaq -0x1a0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8ab4(%rip), %rsi      # 0xe232
leaq 0x8aba(%rip), %rdx      # 0xe23f
movq %r14, %rdi
callq 0x5178
leaq -0x190(%rbp), %r14
leaq -0x180(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a9a(%rip), %rsi      # 0xe240
leaq 0x8aa2(%rip), %rdx      # 0xe24f
movq %r14, %rdi
callq 0x5178
leaq -0x170(%rbp), %r14
leaq -0x160(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a82(%rip), %rsi      # 0xe250
leaq 0x8a8b(%rip), %rdx      # 0xe260
movq %r14, %rdi
callq 0x5178
leaq -0x150(%rbp), %r14
leaq -0x140(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a6b(%rip), %rsi      # 0xe261
leaq 0x8a6f(%rip), %rdx      # 0xe26c
movq %r14, %rdi
callq 0x5178
leaq -0x130(%rbp), %r14
leaq -0x120(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a4f(%rip), %rsi      # 0xe26d
leaq 0x8a53(%rip), %rdx      # 0xe278
movq %r14, %rdi
callq 0x5178
leaq -0x110(%rbp), %r14
leaq -0x100(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a33(%rip), %rsi      # 0xe279
leaq 0x8a3b(%rip), %rdx      # 0xe288
movq %r14, %rdi
callq 0x5178
leaq -0xf0(%rbp), %r14
leaq -0xe0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a1b(%rip), %rsi      # 0xe289
leaq 0x8a26(%rip), %rdx      # 0xe29b
movq %r14, %rdi
callq 0x5178
leaq -0xd0(%rbp), %r14
leaq -0xc0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x8a06(%rip), %rsi      # 0xe29c
leaq 0x8a0c(%rip), %rdx      # 0xe2a9
movq %r14, %rdi
callq 0x5178
leaq -0xb0(%rbp), %r14
leaq -0xa0(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x89ec(%rip), %rsi      # 0xe2aa
leaq 0x89f2(%rip), %rdx      # 0xe2b7
movq %r14, %rdi
callq 0x5178
movb $0x1, %bl
movl $0x8, %r13d
leaq -0x48(%rbp), %r14
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x318(%rbp,%r13), %rsi
movq -0x310(%rbp,%r13), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x669c
movq %r14, %rdi
movq -0x50(%rbp), %rsi
callq 0x3040
movl %eax, %r12d
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x5924
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
testl %r12d, %r12d
je 0x5a99
addq $0x20, %r13
cmpq $0x288, %r13            # imm = 0x288
setne %bl
jne 0x58d9
movq 0xd684(%rip), %rdi      # 0x12fc8
leaq 0x8827(%rip), %rsi      # 0xe172
movl $0x14, %edx
callq 0x31c0
movb %bl, -0x50(%rbp)
movl $0x8, %r13d
leaq -0x48(%rbp), %r12
leaq -0x90(%rbp), %rbx
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x318(%rbp,%r13), %rsi
movq -0x310(%rbp,%r13), %rdx
addq %rsi, %rdx
movq %r12, %rdi
callq 0x669c
movq %rbx, %rdi
leaq 0x87f2(%rip), %rsi      # 0xe188
movq %r12, %r14
movq %r12, %rdx
callq 0x65fc
movq %rbx, %rdi
leaq 0x87dc(%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 0x59d4
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x59da
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 0xd5c8(%rip), %rdi      # 0x12fc8
callq 0x31c0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x5a1e
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x5a3a
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x5a53
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
addq $0x20, %r13
cmpq $0x288, %r13            # imm = 0x288
movq %r14, %r12
jne 0x5969
movq 0xd55a(%rip), %rdi      # 0x12fc8
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x3170
movb -0x50(%rbp), %bl
movsbl %al, %esi
movq 0xd53c(%rip), %rdi      # 0x12fc8
callq 0x3030
movq %rax, %rdi
callq 0x3110
movq $-0x280, %r14           # imm = 0xFD80
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x5ab4
movq (%r15), %rsi
incq %rsi
callq 0x3190
addq $-0x20, %r15
addq $0x20, %r14
jne 0x5aa0
andb $0x1, %bl
movl %ebx, %eax
addq $0x2e8, %rsp            # imm = 0x2E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
jmp 0x5af9
movq %rax, %r13
cmpq %r14, %rbx
je 0x5bd2
addq $-0x10, %r14
leaq -0x310(%rbp), %rbx
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x5b24
movq (%r14), %rsi
incq %rsi
callq 0x3190
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %rbx, %r14
movq %rax, %r14
jne 0x5b10
jmp 0x5bd2
movq %rax, %r13
movq %rbx, %r14
jmp 0x5afc
jmp 0x5b86
jmp 0x5b86
jmp 0x5b8b
movq %rax, %r13
jmp 0x5b68
movq %rax, %r13
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x5b68
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x3190
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x5b8e
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x3190
jmp 0x5b8e
movq %rax, %r13
jmp 0x5ba7
movq %rax, %r13
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x5ba7
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x3190
xorl %ebx, %ebx
movq -0xb0(%rbp,%rbx), %rdi
leaq (%r15,%rbx), %rax
cmpq %rdi, %rax
je 0x5bc5
movq (%rax), %rsi
incq %rsi
callq 0x3190
addq $-0x20, %rbx
cmpq $-0x280, %rbx           # imm = 0xFD80
jne 0x5ba9
movq %r13, %rdi
callq 0x32b0