// File: TBody[P]atomicpp/atomicpp/ExternalModules/json.hpp
// Function: void nlohmann::detail::get_arithmetic_value<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>, double, 0>(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> const&, double&)
void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
{
    switch (static_cast<value_t>(j))
    {
        case value_t::number_unsigned:
        {
            val = static_cast<ArithmeticType>(
                      *j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
            break;
        }
        case value_t::number_integer:
        {
            val = static_cast<ArithmeticType>(
                      *j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
            break;
        }
        case value_t::number_float:
        {
            val = static_cast<ArithmeticType>(
                      *j.template get_ptr<const typename BasicJsonType::number_float_t*>());
            break;
        }
        default:
        {
            JSON_THROW(
                std::domain_error("type must be number, but is " + j.type_name()));
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x16c40
movb %al, %cl
movb %cl, -0x5e(%rbp)
subb $0x5, %al
je 0x171c2
jmp 0x17174
movb -0x5e(%rbp), %al
subb $0x6, %al
je 0x17186
jmp 0x1717d
movb -0x5e(%rbp), %al
subb $0x7, %al
je 0x171dd
jmp 0x171f7
movq -0x8(%rbp), %rdi
callq 0x16c50
movq (%rax), %xmm0
movaps 0x20736(%rip), %xmm1    # 0x378d0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x2073a(%rip), %xmm1    # 0x378e0
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
jmp 0x172a7
movq -0x8(%rbp), %rdi
callq 0x16c70
cvtsi2sdq (%rax), %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
jmp 0x172a7
movq -0x8(%rbp), %rdi
callq 0x16c90
movsd (%rax), %xmm0
movq -0x10(%rbp), %rax
movsd %xmm0, (%rax)
jmp 0x172a7
movb $0x1, -0x5d(%rbp)
movl $0x10, %edi
callq 0x41b0
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0xe170
jmp 0x17218
leaq 0x20d50(%rip), %rsi     # 0x37f6f
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0xcd60
jmp 0x1722e
movq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4460
jmp 0x1723d
movq -0x68(%rbp), %rdi
movb $0x0, -0x5d(%rbp)
movq 0x37d3c(%rip), %rsi     # 0x4ef88
movq 0x37d45(%rip), %rdx     # 0x4ef98
callq 0x45b0
jmp 0x172b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x17294
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x1728b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4220
leaq -0x50(%rbp), %rdi
callq 0x4220
testb $0x1, -0x5d(%rbp)
jne 0x1729c
jmp 0x172a5
movq -0x68(%rbp), %rdi
callq 0x42b0
jmp 0x172ad
addq $0x70, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x45e0
nopw %cs:(%rax,%rax)