// File: /workspace/github_c_makefile_star2_O1/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 0x8018
movq %rcx, %rdx
jmp 0x8e4a
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 0x807f
movabsq $0x16345785d8a0000, %rax # imm = 0x16345785D8A0000
cmpq %rax, %rsi
jb 0x80c5
leaq 0x2b3e(%rip), %rax      # 0xaba0
movzbl (%rdx,%rax), %eax
movl %eax, (%rcx)
leaq 0x2a61(%rip), %rax      # 0xaad0
movzwl (%rax,%rdx,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x8114
imull $0x147b, %edx, %r10d    # imm = 0x147B
shrl $0x13, %r10d
imull $-0x64, %r10d, %r9d
addl %edx, %r9d
movabsq $-0x7538dcfb76180000, %rax # imm = 0x8AC7230489E80000
leaq 0x2afe(%rip), %rdx      # 0xaba0
cmpq %rax, %rsi
jb 0x80d6
movzbl (%r10,%rdx), %eax
movl %eax, (%rcx)
movl %r10d, %eax
leaq 0x2a18(%rip), %rsi      # 0xaad0
movzwl (%rsi,%rax,2), %eax
movw %ax, (%rdi)
leaq 0x2(%rdi), %rax
jmp 0x80e7
movl $0x0, (%rcx)
orb $0x30, %dl
leaq 0x1(%rdi), %rax
movb %dl, (%rdi)
jmp 0x8114
movl $0x0, (%rcx)
orb $0x30, %r10b
leaq 0x1(%rdi), %rax
movb %r10b, (%rdi)
testl %r9d, %r9d
je 0x8106
movl %r9d, %esi
movzbl (%rsi,%rdx), %edx
movl %edx, (%rcx)
addl %r9d, %r9d
leaq 0x29d1(%rip), %rdx      # 0xaad0
movzwl (%r9,%rdx), %edx
jmp 0x810d
addl $0x2, (%rcx)
movw $0x3030, %dx            # imm = 0x3030
movw %dx, (%rax)
addq $0x2, %rax
subl %edi, %eax
movslq %eax, %rsi
addq %rdi, %rsi
testq %r8, %r8
je 0x8189
cmpq $0x5f5e0ff, %r8         # imm = 0x5F5E0FF
ja 0x819d
movabsq $0x3030303030303030, %rax # imm = 0x3030303030303030
movq %rax, (%rsi)
cmpq $0x270f, %r8            # imm = 0x270F
ja 0x8210
movl $0x30303030, 0x8(%rsi)  # imm = 0x30303030
imull $0x147b, %r8d, %eax     # imm = 0x147B
shrl $0x13, %eax
imull $-0x64, %eax, %edx
addl %r8d, %edx
leaq 0x296e(%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 0x82d0
movl %edx, %eax
jmp 0x84bf
movaps 0x28e0(%rip), %xmm0     # 0xaa70
movups %xmm0, (%rsi)
movl (%rcx), %eax
addl $0x10, %eax
jmp 0x84e9
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 0x8272
movl $0x30303030, (%rsi)     # imm = 0x30303030
imull $0x147b, %edx, %r8d     # imm = 0x147B
shrl $0x13, %r8d
imull $-0x64, %r8d, %r9d
addl %edx, %r9d
leaq 0x28e8(%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 0x82e0
movl %r9d, %edx
jmp 0x837d
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 0x2893(%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 0x82f1
movl %r9d, %r8d
leaq 0x2938(%rip), %r9       # 0xaba0
movzbl (%r8,%r9), %r8d
jmp 0x8301
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 0x282d(%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 0x8334
movl %r10d, %r9d
leaq 0x28d7(%rip), %r10      # 0xaba0
movzbl (%r9,%r10), %r9d
jmp 0x8344
leaq 0x28c9(%rip), %rdx      # 0xaba0
movzbl (%rax,%rdx), %eax
jmp 0x84e6
leaq 0x28b9(%rip), %rdx      # 0xaba0
movzbl (%r8,%rdx), %edx
jmp 0x83a5
leaq 0x28a8(%rip), %r9       # 0xaba0
movzbl (%r8,%r9), %r8d
addl $0x2, %r8d
movl %r8d, (%rcx)
testl %eax, %eax
je 0x84cc
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 0x84b3
leaq 0x2865(%rip), %r10      # 0xaba0
movzbl (%r9,%r10), %r9d
addl $0x2, %r9d
movl %r9d, (%rcx)
testl %r8d, %r8d
je 0x838b
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 0x8399
movl %r10d, %edx
leaq 0x281c(%rip), %r8       # 0xaba0
movzbl (%rdx,%r8), %edx
jmp 0x83a8
movl $0x30303030, 0x4(%rsi)  # imm = 0x30303030
movl (%rcx), %edx
addl $0x4, %edx
jmp 0x83a8
leaq 0x2800(%rip), %rdx      # 0xaba0
movzbl (%r9,%rdx), %edx
addl $0x2, %edx
movl %edx, (%rcx)
testl %eax, %eax
je 0x83f7
cmpl $0x270f, %eax           # imm = 0x270F
ja 0x840f
movl $0x30303030, 0x8(%rsi)  # imm = 0x30303030
imull $0x147b, %eax, %edx     # imm = 0x147B
shrl $0x13, %edx
imull $-0x64, %edx, %r8d
addl %eax, %r8d
leaq 0x26fd(%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 0x846c
movl %r8d, %eax
jmp 0x84bf
movabsq $0x3030303030303030, %rax # imm = 0x3030303030303030
movq %rax, 0x8(%rsi)
movl (%rcx), %eax
addl $0x8, %eax
jmp 0x84e9
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 0x2692(%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 0x8479
movl %r9d, %r8d
leaq 0x273b(%rip), %r9       # 0xaba0
movzbl (%r8,%r9), %r8d
jmp 0x8489
leaq 0x272d(%rip), %rax      # 0xaba0
movzbl (%rdx,%rax), %eax
jmp 0x84e6
leaq 0x2720(%rip), %r9       # 0xaba0
movzbl (%r8,%r9), %r8d
addl $0x2, %r8d
movl %r8d, (%rcx)
testl %edx, %edx
je 0x84cc
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 0x84da
movl %r9d, %eax
leaq 0x26da(%rip), %rdx      # 0xaba0
movzbl (%rax,%rdx), %eax
jmp 0x84e9
movl $0x30303030, 0xc(%rsi)  # imm = 0x30303030
movl (%rcx), %eax
addl $0x4, %eax
jmp 0x84e9
leaq 0x26bf(%rip), %rax      # 0xaba0
movzbl (%r8,%rax), %eax
addl $0x2, %eax
movl %eax, (%rcx)
subl %edi, %esi
addl $0x10, %esi
movl %esi, %eax
retq