// File: /workspace/github_c_makefile_star2_O2/thegenemyers[P]DASCRUBBER/DB.c
// Function: Print_Number
void Print_Number(int64 num, int width, FILE *out)
{ if (width == 0)
    { if (num < 1000ll)
        fprintf(out,"%lld",num);
      else if (num < 1000000ll)
        fprintf(out,"%lld%c%03lld",num/1000ll,COMMA,num%1000ll);
      else if (num < 1000000000ll)
        fprintf(out,"%lld%c%03lld%c%03lld",num/1000000ll,
                                           COMMA,(num%1000000ll)/1000ll,COMMA,num%1000ll);
      else
        fprintf(out,"%lld%c%03lld%c%03lld%c%03lld",num/1000000000ll,
                                                   COMMA,(num%1000000000ll)/1000000ll,
                                                   COMMA,(num%1000000ll)/1000ll,COMMA,num%1000ll);
    }
  else
    { if (num < 1000ll)
        fprintf(out,"%*lld",width,num);
      else if (num < 1000000ll)
        { if (width <= 4)
            fprintf(out,"%lld%c%03lld",num/1000ll,COMMA,num%1000ll);
          else
            fprintf(out,"%*lld%c%03lld",width-4,num/1000ll,COMMA,num%1000ll);
        }
      else if (num < 1000000000ll)
        { if (width <= 8)
            fprintf(out,"%lld%c%03lld%c%03lld",num/1000000ll,COMMA,(num%1000000ll)/1000ll,
                                               COMMA,num%1000ll);
          else
            fprintf(out,"%*lld%c%03lld%c%03lld",width-8,num/1000000ll,COMMA,(num%1000000ll)/1000ll,
                                                COMMA,num%1000ll);
        }
      else
        { if (width <= 12)
            fprintf(out,"%lld%c%03lld%c%03lld%c%03lld",num/1000000000ll,COMMA,
                                                       (num%1000000000ll)/1000000ll,COMMA,
                                                       (num%1000000ll)/1000ll,COMMA,num%1000ll);
          else
            fprintf(out,"%*lld%c%03lld%c%03lld%c%03lld",width-12,num/1000000000ll,COMMA,
                                                        (num%1000000000ll)/1000000ll,COMMA,
                                                        (num%1000000ll)/1000ll,COMMA,num%1000ll);
        }
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r8
testl %esi, %esi
je 0x2074
movl %esi, %r9d
cmpq $0x3e7, %r8             # imm = 0x3E7
jg 0x2096
leaq 0x7338(%rip), %rsi      # 0x9397
movq %rbx, %rdi
movl %r9d, %edx
movq %r8, %rcx
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
jmp 0x11a0
cmpq $0x3e7, %r8             # imm = 0x3E7
jg 0x20db
leaq 0x71ba(%rip), %rsi      # 0x923e
movq %rbx, %rdi
movq %r8, %rdx
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
jmp 0x11a0
cmpq $0xf423f, %r8           # imm = 0xF423F
ja 0x2113
cmpl $0x4, %r9d
jle 0x20e8
addl $-0x4, %r9d
movl $0x3e8, %ecx            # imm = 0x3E8
movl %r8d, %eax
xorl %edx, %edx
divl %ecx
movl %edx, %r10d
leaq 0x72de(%rip), %rsi      # 0x939d
pushq $0x2c
popq %r8
movq %rbx, %rdi
movl %r9d, %edx
movq %rax, %rcx
movq %r10, %r9
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
jmp 0x11a0
cmpq $0xf423f, %r8           # imm = 0xF423F
ja 0x2171
movl $0x3e8, %ecx            # imm = 0x3E8
movl %r8d, %eax
xorl %edx, %edx
divl %ecx
movl %edx, %r8d
leaq 0x725a(%rip), %rsi      # 0x9358
pushq $0x2c
popq %rcx
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
jmp 0x11a0
cmpq $0x3b9ac9ff, %r8        # imm = 0x3B9AC9FF
ja 0x21cb
cmpl $0x8, %r9d
jle 0x217a
movl $0xf4240, %ecx          # imm = 0xF4240
movl %r8d, %eax
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movl %edx, %eax
addl $-0x8, %r9d
movl $0x3e8, %esi            # imm = 0x3E8
xorl %edx, %edx
divl %esi
movl %eax, %r10d
movl %r8d, %eax
xorl %edx, %edx
divl %esi
movl %edx, %r11d
leaq 0x7254(%rip), %rsi      # 0x93ab
pushq $0x2c
popq %r8
movq %rbx, %rdi
movl %r9d, %edx
movq %r10, %r9
xorl %eax, %eax
pushq %r11
pushq $0x2c
callq 0x11a0
jmp 0x21c4
cmpq $0x3b9ac9ff, %r8        # imm = 0x3B9AC9FF
ja 0x21d1
movl $0xf4240, %ecx          # imm = 0xF4240
movl %r8d, %eax
xorl %edx, %edx
divl %ecx
movl %eax, %r11d
movl %edx, %eax
movl $0x3e8, %ecx            # imm = 0x3E8
xorl %edx, %edx
divl %ecx
movl %eax, %r9d
movl %r8d, %eax
xorl %edx, %edx
divl %ecx
movl %edx, %r10d
subq $0x8, %rsp
leaq 0x71b9(%rip), %rsi      # 0x9365
pushq $0x2c
popq %rcx
movq %rbx, %rdi
movq %r11, %rdx
movq %r9, %r8
movl %ecx, %r9d
xorl %eax, %eax
pushq %r10
callq 0x11a0
popq %rcx
popq %rdx
jmp 0x22be
cmpl $0xc, %r9d
jg 0x2245
movl $0x3b9aca00, %ecx       # imm = 0x3B9ACA00
movq %r8, %rax
xorl %edx, %edx
divq %rcx
movq %rax, %r9
movq %rdx, %rax
movl $0xf4240, %ecx          # imm = 0xF4240
xorl %edx, %edx
divl %ecx
movl %eax, %r10d
movl $0xf4240, %ecx          # imm = 0xF4240
movq %r8, %rax
xorl %edx, %edx
divq %rcx
movq %rdx, %rax
movl $0x3e8, %ecx            # imm = 0x3E8
xorl %edx, %edx
divl %ecx
movl %eax, %r11d
movl $0x3e8, %ecx            # imm = 0x3E8
movq %r8, %rax
xorl %edx, %edx
divq %rcx
movq %rdx, %r14
subq $0x8, %rsp
leaq 0x7153(%rip), %rsi      # 0x937a
pushq $0x2c
popq %rcx
movq %rbx, %rdi
movq %r9, %rdx
movq %r10, %r8
movl %ecx, %r9d
xorl %eax, %eax
pushq %r14
pushq $0x2c
pushq %r11
callq 0x11a0
jmp 0x22ba
movl $0x3b9aca00, %ecx       # imm = 0x3B9ACA00
movq %r8, %rax
xorl %edx, %edx
divq %rcx
movq %rax, %r10
movq %rdx, %rax
addl $-0xc, %r9d
movl $0xf4240, %ecx          # imm = 0xF4240
xorl %edx, %edx
divl %ecx
movl %eax, %r11d
movl $0xf4240, %ecx          # imm = 0xF4240
movq %r8, %rax
xorl %edx, %edx
divq %rcx
movq %rdx, %rax
movl $0x3e8, %ecx            # imm = 0x3E8
xorl %edx, %edx
divl %ecx
movl %eax, %r14d
movl $0x3e8, %ecx            # imm = 0x3E8
movq %r8, %rax
xorl %edx, %edx
divq %rcx
movq %rdx, %r15
pushq $0x2c
popq %r8
leaq 0x7122(%rip), %rsi      # 0x93c1
movq %rbx, %rdi
movl %r9d, %edx
movq %r10, %rcx
movq %r11, %r9
xorl %eax, %eax
pushq %r15
pushq %r8
pushq %r14
pushq %r8
callq 0x11a0
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq