// File: /workspace/github_cpp_makefile_star2_O3/mattn[P]wandbox-run/./json.hpp
// Function: nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>::lexer::token_type_name(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>::lexer::token_type)
static std::string token_type_name(const token_type t)
        {
            switch (t)
            {
                case token_type::uninitialized:
                    return "<uninitialized>";
                case token_type::literal_true:
                    return "true literal";
                case token_type::literal_false:
                    return "false literal";
                case token_type::literal_null:
                    return "null literal";
                case token_type::value_string:
                    return "string literal";
                case lexer::token_type::value_unsigned:
                case lexer::token_type::value_integer:
                case lexer::token_type::value_float:
                    return "number literal";
                case token_type::begin_array:
                    return "'['";
                case token_type::begin_object:
                    return "'{'";
                case token_type::end_array:
                    return "']'";
                case token_type::end_object:
                    return "'}'";
                case token_type::name_separator:
                    return "':'";
                case token_type::value_separator:
                    return "','";
                case token_type::parse_error:
                    return "<parse error>";
                case token_type::end_of_input:
                    return "end of input";
                default:
                {
                    // catch non-enum values
                    return "unknown token"; // LCOV_EXCL_LINE
                }
            }
        }

// Assembly:
pushq %rbx
movq %rdi, %rbx
cmpl $0xf, %esi
ja 0x19ed4
movl %esi, %eax
leaq 0xb12f6(%rip), %rcx     # 0xcb064
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1ecb(%rip), %rsi     # 0xcbc50
leaq 0xb1ed2(%rip), %rdx     # 0xcbc5e
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1ed8(%rip), %rsi     # 0xcbc77
leaq 0xb1ede(%rip), %rdx     # 0xcbc84
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1eb2(%rip), %rsi     # 0xcbc6b
leaq 0xb1eae(%rip), %rdx     # 0xcbc6e
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1e9c(%rip), %rsi     # 0xcbc6f
leaq 0xb1e98(%rip), %rdx     # 0xcbc72
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1e54(%rip), %rsi     # 0xcbc41
leaq 0xb1e5b(%rip), %rdx     # 0xcbc4f
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1e5c(%rip), %rsi     # 0xcbc63
leaq 0xb1e58(%rip), %rdx     # 0xcbc66
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1e64(%rip), %rsi     # 0xcbc85
leaq 0xb1e69(%rip), %rdx     # 0xcbc91
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1deb(%rip), %rsi     # 0xcbc26
leaq 0xb1df1(%rip), %rdx     # 0xcbc33
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1ddf(%rip), %rsi     # 0xcbc34
leaq 0xb1de4(%rip), %rdx     # 0xcbc40
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1d9a(%rip), %rsi     # 0xcbc09
leaq 0xb1da2(%rip), %rdx     # 0xcbc18
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1d93(%rip), %rsi     # 0xcbc19
leaq 0xb1d98(%rip), %rdx     # 0xcbc25
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1dd6(%rip), %rsi     # 0xcbc73
leaq 0xb1dd2(%rip), %rdx     # 0xcbc76
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1db3(%rip), %rsi     # 0xcbc67
leaq 0xb1daf(%rip), %rdx     # 0xcbc6a
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1d94(%rip), %rsi     # 0xcbc5f
leaq 0xb1d90(%rip), %rdx     # 0xcbc62
jmp 0x19ee9
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xb1db0(%rip), %rsi     # 0xcbc92
leaq 0xb1db6(%rip), %rdx     # 0xcbc9f
movq %rbx, %rdi
callq 0x19ef6
movq %rbx, %rax
popq %rbx
retq