// File: harry830622[P]floorplanner/src/./././json.hpp
// Function: void 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>::numtostr::x_write<long>(long, std::integral_constant<bool, true>)
void x_write(NumberType x, /*is_integral=*/std::true_type)
        {
            // special case for "0"
            if (x == 0)
            {
                m_buf[0] = '0';
                return;
            }

            const bool is_negative = x < 0;
            size_t i = 0;

            // spare 1 byte for '\0'
            while (x != 0 and i < m_buf.size() - 1)
            {
                const auto digit = std::labs(static_cast<long>(x % 10));
                m_buf[i++] = static_cast<char>('0' + digit);
                x /= 10;
            }

            // make sure the number has been processed completely
            assert(x == 0);

            if (is_negative)
            {
                // make sure there is capacity for the '-'
                assert(i < m_buf.size() - 2);
                m_buf[i++] = '-';
            }

            std::reverse(m_buf.begin(), m_buf.begin() + i);
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0x46f24
movq -0x38(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x47090
movb $0x30, (%rax)
jmp 0x4707f
cmpq $0x0, -0x18(%rbp)
setl %al
andb $0x1, %al
movb %al, -0x19(%rbp)
movq $0x0, -0x28(%rbp)
xorl %eax, %eax
cmpq $0x0, -0x18(%rbp)
movb %al, -0x39(%rbp)
je 0x46f6a
movq -0x38(%rbp), %rdi
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
callq 0x470c0
movq %rax, %rcx
movq -0x48(%rbp), %rax
subq $0x1, %rcx
cmpq %rcx, %rax
setb %al
movb %al, -0x39(%rbp)
movb -0x39(%rbp), %al
testb $0x1, %al
jne 0x46f73
jmp 0x46fce
movq -0x38(%rbp), %rdi
movq -0x18(%rbp), %rax
movl $0xa, %ecx
cqto
idivq %rcx
movq %rdx, %rax
negq %rax
cmovnsq %rax, %rdx
movq %rdx, -0x30(%rbp)
movq -0x30(%rbp), %rax
addq $0x30, %rax
movb %al, -0x49(%rbp)
movq -0x28(%rbp), %rsi
movq %rsi, %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
callq 0x47090
movb -0x49(%rbp), %cl
movb %cl, (%rax)
movq -0x18(%rbp), %rax
movl $0xa, %ecx
cqto
idivq %rcx
movq %rax, -0x18(%rbp)
jmp 0x46f39
cmpq $0x0, -0x18(%rbp)
jne 0x46fd7
jmp 0x46ff6
leaq 0x4fb9(%rip), %rdi      # 0x4bf97
leaq 0x4443(%rip), %rsi      # 0x4b428
movl $0x2066, %edx           # imm = 0x2066
leaq 0x4fad(%rip), %rcx      # 0x4bf9e
callq 0x9330
testb $0x1, -0x19(%rbp)
je 0x47059
movq -0x38(%rbp), %rdi
movq -0x28(%rbp), %rax
movq %rax, -0x58(%rbp)
callq 0x470c0
movq %rax, %rcx
movq -0x58(%rbp), %rax
subq $0x2, %rcx
cmpq %rcx, %rax
jae 0x4701f
jmp 0x4703e
leaq 0x50e4(%rip), %rdi      # 0x4c10a
leaq 0x43fb(%rip), %rsi      # 0x4b428
movl $0x206b, %edx           # imm = 0x206B
leaq 0x4f65(%rip), %rcx      # 0x4bf9e
callq 0x9330
movq -0x38(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq %rsi, %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
callq 0x47090
movb $0x2d, (%rax)
movq -0x38(%rbp), %rdi
callq 0x47110
movq -0x38(%rbp), %rdi
movq %rax, -0x60(%rbp)
callq 0x47110
movq -0x60(%rbp), %rdi
movq %rax, %rsi
addq -0x28(%rbp), %rsi
callq 0x470d0
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop