// File: /workspace/github_c_makefile_star2_O3/lengjingzju[P]json/jnum.c
// Function: fill_1_20_digits
static inline int32_t fill_1_20_digits(char *buffer, uint64_t digits, int32_t *ptz)
{
    char *s = buffer;

    if (digits < 10000000000000000llu) {
        return fill_1_16_digits(s, digits, ptz);
    } else {
        uint32_t q = (uint32_t)(digits / 10000000000000000llu);
        uint64_t r = (digits - (uint64_t)q * 10000000000000000llu);

        s += fill_1_4_digits(s, q, ptz);
        if (!r) {
            memset(s, '0', 16);
            s += 16;
            *ptz += 16;
        } else {
            s += fill_t_16_digits(s, r, ptz);
        }
    }

    return (int32_t)(s - buffer);
}

// Assembly:
movq %rdx, %rcx
movabsq $0x2386f26fc0ffff, %rax # imm = 0x2386F26FC0FFFF
cmpq %rax, %rsi
ja 0x7f00
movq %rcx, %rdx
jmp 0x8d3f
movabsq $0x39a5652fb1137857, %rdx # imm = 0x39A5652FB1137857
movq %rsi, %rax
mulq %rdx
shrq $0x33, %rdx
movabsq $-0x2386f26fc10000, %r8 # imm = 0xFFDC790D903F0000
imulq %rdx, %r8
addq %rsi, %r8
movabsq $0xde0b6b3a763ffff, %rax # imm = 0xDE0B6B3A763FFFF
cmpq %rax, %rsi
ja 0x7f67
movabsq $0x16345785d8a0000, %rax # imm = 0x16345785D8A0000
cmpq %rax, %rsi
jb 0x7fad
leaq 0x2c56(%rip), %rax      # 0xaba0
movzbl (%rdx,%rax), %eax
movl %eax, (%rcx)
leaq 0x2b79(%rip), %rax      # 0xaad0
movzwl (%rax,%rdx,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7ffe
imull $0x147b, %edx, %r10d    # imm = 0x147B
shrl $0x13, %r10d
imull $-0x64, %r10d, %r9d
addl %edx, %r9d
movabsq $-0x7538dcfb76180000, %rax # imm = 0x8AC7230489E80000
leaq 0x2c16(%rip), %rdx      # 0xaba0
cmpq %rax, %rsi
jb 0x7fbe
movzbl (%r10,%rdx), %eax
movl %eax, (%rcx)
movl %r10d, %eax
leaq 0x2b30(%rip), %rsi      # 0xaad0
movzwl (%rsi,%rax,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x7fcf
movl $0x0, (%rcx)
orb $0x30, %dl
leaq 0x1(%rdi), %rax
movb %dl, (%rdi)
jmp 0x7ffe
movl $0x0, (%rcx)
orb $0x30, %r10b
leaq 0x1(%rdi), %rax
movb %r10b, (%rdi)
testl %r9d, %r9d
je 0x7fec
movl %r9d, %esi
movzbl (%rsi,%rdx), %edx
addl %r9d, %r9d
leaq 0x2aeb(%rip), %rsi      # 0xaad0
movzwl (%r9,%rsi), %esi
jmp 0x7ff5
movl (%rcx), %edx
addl $0x2, %edx
movw $0x3030, %si            # imm = 0x3030
movl %edx, (%rcx)
movw %si, (%rax)
addq $0x2, %rax
subl %edi, %eax
movslq %eax, %rsi
addq %rdi, %rsi
testq %r8, %r8
je 0x8073
cmpq $0x5f5e0ff, %r8         # imm = 0x5F5E0FF
ja 0x8087
movabsq $0x3030303030303030, %rax # imm = 0x3030303030303030
movq %rax, (%rsi)
cmpq $0x270f, %r8            # imm = 0x270F
ja 0x80fa
movl $0x30303030, 0x8(%rsi)  # imm = 0x30303030
imull $0x147b, %r8d, %eax     # imm = 0x147B
shrl $0x13, %eax
imull $-0x64, %eax, %edx
addl %r8d, %edx
leaq 0x2a84(%rip), %r8       # 0xaad0
movzwl (%r8,%rax,2), %r9d
movw %r9w, 0xc(%rsi)
leal (%rdx,%rdx), %r9d
movzwl (%r9,%r8), %r8d
movw %r8w, 0xe(%rsi)
testl %edx, %edx
je 0x81ba
movl %edx, %eax
jmp 0x83a9
movaps 0x29f6(%rip), %xmm0     # 0xaa70
movups %xmm0, (%rsi)
movl (%rcx), %eax
addl $0x10, %eax
jmp 0x83d3
movabsq $-0x543388ee7b9e3103, %rdx # imm = 0xABCC77118461CEFD
movq %r8, %rax
mulq %rdx
shrq $0x1a, %rdx
movl $0xfa0a1f00, %eax       # imm = 0xFA0A1F00
imulq %rdx, %rax
addq %r8, %rax
cmpl $0x270f, %edx           # imm = 0x270F
ja 0x815c
movl $0x30303030, (%rsi)     # imm = 0x30303030
imull $0x147b, %edx, %r8d     # imm = 0x147B
shrl $0x13, %r8d
imull $-0x64, %r8d, %r9d
addl %edx, %r9d
leaq 0x29fe(%rip), %rdx      # 0xaad0
movzwl (%rdx,%r8,2), %r10d
movw %r10w, 0x4(%rsi)
leal (%r9,%r9), %r10d
movzwl (%r10,%rdx), %edx
movw %dx, 0x6(%rsi)
testl %r9d, %r9d
je 0x81ca
movl %r9d, %edx
jmp 0x8267
imulq $0x68db8bb, %r8, %rdx   # imm = 0x68DB8BB
shrq $0x28, %rdx
imull $0xffffd8f0, %edx, %eax # imm = 0xFFFFD8F0
addl %r8d, %eax
imull $0x147b, %edx, %r8d     # imm = 0x147B
shrl $0x13, %r8d
imull $-0x64, %r8d, %r9d
addl %edx, %r9d
leaq 0x29a9(%rip), %rdx      # 0xaad0
movzwl (%rdx,%r8,2), %r10d
movw %r10w, 0x8(%rsi)
leal (%r9,%r9), %r10d
movzwl (%r10,%rdx), %r10d
movw %r10w, 0xa(%rsi)
testl %r9d, %r9d
je 0x81db
movl %r9d, %r8d
leaq 0x2a4e(%rip), %r9       # 0xaba0
movzbl (%r8,%r9), %r8d
jmp 0x81eb
movl %edx, %r8d
imulq $0x68db8bb, %r8, %r11   # imm = 0x68DB8BB
shrq $0x28, %r11
imull $0xffffd8f0, %r11d, %r8d # imm = 0xFFFFD8F0
addl %edx, %r8d
imull $0x147b, %r11d, %r9d    # imm = 0x147B
shrl $0x13, %r9d
imull $-0x64, %r9d, %r10d
addl %r11d, %r10d
leaq 0x2943(%rip), %rdx      # 0xaad0
movzwl (%rdx,%r9,2), %r11d
movw %r11w, (%rsi)
leal (%r10,%r10), %r11d
movzwl (%r11,%rdx), %r11d
movw %r11w, 0x2(%rsi)
testl %r10d, %r10d
je 0x821e
movl %r10d, %r9d
leaq 0x29ed(%rip), %r10      # 0xaba0
movzbl (%r9,%r10), %r9d
jmp 0x822e
leaq 0x29df(%rip), %rdx      # 0xaba0
movzbl (%rax,%rdx), %eax
jmp 0x83d0
leaq 0x29cf(%rip), %rdx      # 0xaba0
movzbl (%r8,%rdx), %edx
jmp 0x828f
leaq 0x29be(%rip), %r9       # 0xaba0
movzbl (%r8,%r9), %r8d
addl $0x2, %r8d
movl %r8d, (%rcx)
testl %eax, %eax
je 0x83b6
imull $0x147b, %eax, %r8d     # imm = 0x147B
shrl $0x13, %r8d
imull $-0x64, %r8d, %r9d
addl %eax, %r9d
movzwl (%rdx,%r8,2), %eax
movw %ax, 0xc(%rsi)
leal (%r9,%r9), %eax
movzwl (%rax,%rdx), %eax
jmp 0x839d
leaq 0x297b(%rip), %r10      # 0xaba0
movzbl (%r9,%r10), %r9d
addl $0x2, %r9d
movl %r9d, (%rcx)
testl %r8d, %r8d
je 0x8275
imull $0x147b, %r8d, %r9d     # imm = 0x147B
shrl $0x13, %r9d
imull $-0x64, %r9d, %r10d
addl %r8d, %r10d
movzwl (%rdx,%r9,2), %r8d
movw %r8w, 0x4(%rsi)
leal (%r10,%r10), %r8d
movzwl (%r8,%rdx), %edx
movw %dx, 0x6(%rsi)
testl %r10d, %r10d
je 0x8283
movl %r10d, %edx
leaq 0x2932(%rip), %r8       # 0xaba0
movzbl (%rdx,%r8), %edx
jmp 0x8292
movl $0x30303030, 0x4(%rsi)  # imm = 0x30303030
movl (%rcx), %edx
addl $0x4, %edx
jmp 0x8292
leaq 0x2916(%rip), %rdx      # 0xaba0
movzbl (%r9,%rdx), %edx
addl $0x2, %edx
movl %edx, (%rcx)
testl %eax, %eax
je 0x82e1
cmpl $0x270f, %eax           # imm = 0x270F
ja 0x82f9
movl $0x30303030, 0x8(%rsi)  # imm = 0x30303030
imull $0x147b, %eax, %edx     # imm = 0x147B
shrl $0x13, %edx
imull $-0x64, %edx, %r8d
addl %eax, %r8d
leaq 0x2813(%rip), %rax      # 0xaad0
movzwl (%rax,%rdx,2), %r9d
movw %r9w, 0xc(%rsi)
leal (%r8,%r8), %r9d
movzwl (%r9,%rax), %eax
movw %ax, 0xe(%rsi)
testl %r8d, %r8d
je 0x8356
movl %r8d, %eax
jmp 0x83a9
movabsq $0x3030303030303030, %rax # imm = 0x3030303030303030
movq %rax, 0x8(%rsi)
movl (%rcx), %eax
addl $0x8, %eax
jmp 0x83d3
movl %eax, %edx
imulq $0x68db8bb, %rdx, %r10  # imm = 0x68DB8BB
shrq $0x28, %r10
imull $0xffffd8f0, %r10d, %edx # imm = 0xFFFFD8F0
addl %eax, %edx
imull $0x147b, %r10d, %r8d    # imm = 0x147B
shrl $0x13, %r8d
imull $-0x64, %r8d, %r9d
addl %r10d, %r9d
leaq 0x27a8(%rip), %rax      # 0xaad0
movzwl (%rax,%r8,2), %r10d
movw %r10w, 0x8(%rsi)
leal (%r9,%r9), %r10d
movzwl (%r10,%rax), %r10d
movw %r10w, 0xa(%rsi)
testl %r9d, %r9d
je 0x8363
movl %r9d, %r8d
leaq 0x2851(%rip), %r9       # 0xaba0
movzbl (%r8,%r9), %r8d
jmp 0x8373
leaq 0x2843(%rip), %rax      # 0xaba0
movzbl (%rdx,%rax), %eax
jmp 0x83d0
leaq 0x2836(%rip), %r9       # 0xaba0
movzbl (%r8,%r9), %r8d
addl $0x2, %r8d
movl %r8d, (%rcx)
testl %edx, %edx
je 0x83b6
imull $0x147b, %edx, %r8d     # imm = 0x147B
shrl $0x13, %r8d
imull $-0x64, %r8d, %r9d
addl %edx, %r9d
movzwl (%rax,%r8,2), %edx
movw %dx, 0xc(%rsi)
leal (%r9,%r9), %edx
movzwl (%rdx,%rax), %eax
movw %ax, 0xe(%rsi)
testl %r9d, %r9d
je 0x83c4
movl %r9d, %eax
leaq 0x27f0(%rip), %rdx      # 0xaba0
movzbl (%rax,%rdx), %eax
jmp 0x83d3
movl $0x30303030, 0xc(%rsi)  # imm = 0x30303030
movl (%rcx), %eax
addl $0x4, %eax
jmp 0x83d3
leaq 0x27d5(%rip), %rax      # 0xaba0
movzbl (%r8,%rax), %eax
addl $0x2, %eax
movl %eax, (%rcx)
subl %edi, %esi
addl $0x10, %esi
movl %esi, %eax
retq