// File: /workspace/github_c_makefile_star2_O1/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 %r14
pushq %rbx
pushq %rax
movq %rdx, %r9
movq %rdi, %r10
testl %esi, %esi
je 0x2ff8
movl %esi, %r8d
cmpq $0x3e7, %r10            # imm = 0x3E7
jg 0x301c
leaq 0x83b6(%rip), %rsi      # 0xb397
movq %r9, %rdi
movl %r8d, %edx
movq %r10, %rcx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x11a0
cmpq $0x3e7, %r10            # imm = 0x3E7
jg 0x307c
leaq 0x8236(%rip), %rsi      # 0xb23e
movq %r9, %rdi
movq %r10, %rdx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x11a0
cmpq $0xf423f, %r10          # imm = 0xF423F
jg 0x30cb
cmpl $0x4, %r8d
jle 0x3089
addl $-0x4, %r8d
movq %r10, %rax
shrq $0x3, %rax
movabsq $0x20c49ba5e353f7cf, %rcx # imm = 0x20C49BA5E353F7CF
mulq %rcx
movq %rdx, %rcx
shrq $0x4, %rcx
imulq $0x3e8, %rcx, %rax      # imm = 0x3E8
subq %rax, %r10
leaq 0x833e(%rip), %rsi      # 0xb39d
movq %r9, %rdi
movl %r8d, %edx
movl $0x2c, %r8d
movq %r10, %r9
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x11a0
cmpq $0xf423f, %r10          # imm = 0xF423F
jg 0x3162
movq %r10, %rax
shrq $0x3, %rax
movabsq $0x20c49ba5e353f7cf, %rcx # imm = 0x20C49BA5E353F7CF
mulq %rcx
shrq $0x4, %rdx
imulq $0x3e8, %rdx, %rax      # imm = 0x3E8
subq %rax, %r10
leaq 0x82a6(%rip), %rsi      # 0xb358
movq %r9, %rdi
movl $0x2c, %ecx
movq %r10, %r8
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x11a0
cmpq $0x3b9ac9ff, %r10       # imm = 0x3B9AC9FF
jg 0x31f3
cmpl $0x8, %r8d
jle 0x316f
movabsq $0x431bde82d7b634db, %rcx # imm = 0x431BDE82D7B634DB
movq %r10, %rax
mulq %rcx
movq %rdx, %rcx
shrq $0x12, %rcx
imulq $0xf4240, %rcx, %rdx    # imm = 0xF4240
movq %r10, %rax
subq %rdx, %rax
movabsq $0x4189374bc6a7f0, %rdx # imm = 0x4189374BC6A7F0
mulq %rdx
movq %rdx, %r11
addl $-0x8, %r8d
movq %r10, %rax
shrq $0x3, %rax
movabsq $0x20c49ba5e353f7cf, %rdx # imm = 0x20C49BA5E353F7CF
mulq %rdx
shrq $0x4, %rdx
imulq $0x3e8, %rdx, %rax      # imm = 0x3E8
subq %rax, %r10
leaq 0x8268(%rip), %rsi      # 0xb3ab
movq %r9, %rdi
movl %r8d, %edx
movl $0x2c, %r8d
movq %r11, %r9
xorl %eax, %eax
pushq %r10
pushq $0x2c
callq 0x11a0
jmp 0x31ea
cmpq $0x3b9ac9ff, %r10       # imm = 0x3B9AC9FF
jg 0x31fd
movabsq $0x431bde82d7b634db, %rcx # imm = 0x431BDE82D7B634DB
movq %r10, %rax
mulq %rcx
movq %rdx, %rcx
shrq $0x12, %rcx
imulq $0xf4240, %rcx, %rdx    # imm = 0xF4240
movq %r10, %rax
subq %rdx, %rax
movabsq $0x4189374bc6a7f0, %rdx # imm = 0x4189374BC6A7F0
mulq %rdx
movq %rdx, %r8
movq %r10, %rax
shrq $0x3, %rax
movabsq $0x20c49ba5e353f7cf, %rdx # imm = 0x20C49BA5E353F7CF
mulq %rdx
shrq $0x4, %rdx
imulq $0x3e8, %rdx, %rax      # imm = 0x3E8
subq %rax, %r10
subq $0x8, %rsp
leaq 0x8195(%rip), %rsi      # 0xb365
movq %r9, %rdi
movq %rcx, %rdx
movl $0x2c, %ecx
movl $0x2c, %r9d
xorl %eax, %eax
pushq %r10
callq 0x11a0
addq $0x18, %rsp
jmp 0x3373
cmpl $0xc, %r8d
jg 0x32b6
movq %r10, %rax
shrq $0x9, %rax
movabsq $0x44b82fa09b5a53, %rcx # imm = 0x44B82FA09B5A53
mulq %rcx
movq %rdx, %rcx
shrq $0xb, %rcx
imulq $0x3b9aca00, %rcx, %rdx # imm = 0x3B9ACA00
movq %r10, %rax
subq %rdx, %rax
movabsq $0x10c6f7a0b5ee, %rdx   # imm = 0x10C6F7A0B5EE
mulq %rdx
movq %rdx, %r8
movabsq $0x431bde82d7b634db, %rdx # imm = 0x431BDE82D7B634DB
movq %r10, %rax
mulq %rdx
shrq $0x12, %rdx
imulq $0xf4240, %rdx, %rdx    # imm = 0xF4240
movq %r10, %rax
subq %rdx, %rax
movabsq $0x4189374bc6a7f0, %rdx # imm = 0x4189374BC6A7F0
mulq %rdx
movq %rdx, %r11
movq %r10, %rax
shrq $0x3, %rax
movabsq $0x20c49ba5e353f7cf, %rdx # imm = 0x20C49BA5E353F7CF
mulq %rdx
shrq $0x4, %rdx
imulq $0x3e8, %rdx, %rax      # imm = 0x3E8
subq %rax, %r10
subq $0x8, %rsp
leaq 0x80e7(%rip), %rsi      # 0xb37a
movq %r9, %rdi
movq %rcx, %rdx
movl $0x2c, %ecx
movl $0x2c, %r9d
xorl %eax, %eax
pushq %r10
pushq $0x2c
pushq %r11
callq 0x11a0
jmp 0x336f
movq %r10, %rax
shrq $0x9, %rax
movabsq $0x44b82fa09b5a53, %rcx # imm = 0x44B82FA09B5A53
mulq %rcx
movq %rdx, %rcx
shrq $0xb, %rcx
imulq $0x3b9aca00, %rcx, %rdx # imm = 0x3B9ACA00
movq %r10, %rax
subq %rdx, %rax
movabsq $0x10c6f7a0b5ee, %rdx   # imm = 0x10C6F7A0B5EE
mulq %rdx
movq %rdx, %r11
movabsq $0x431bde82d7b634db, %rdx # imm = 0x431BDE82D7B634DB
movq %r10, %rax
mulq %rdx
shrq $0x12, %rdx
imulq $0xf4240, %rdx, %rdx    # imm = 0xF4240
movq %r10, %rax
subq %rdx, %rax
movabsq $0x4189374bc6a7f0, %rdx # imm = 0x4189374BC6A7F0
mulq %rdx
movq %rdx, %rbx
addl $-0xc, %r8d
movq %r10, %rax
shrq $0x3, %rax
movabsq $0x20c49ba5e353f7cf, %rdx # imm = 0x20C49BA5E353F7CF
mulq %rdx
shrq $0x4, %rdx
imulq $0x3e8, %rdx, %rax      # imm = 0x3E8
subq %rax, %r10
movl $0x2c, %r14d
leaq 0x806f(%rip), %rsi      # 0xb3c1
movq %r9, %rdi
movl %r8d, %edx
movl $0x2c, %r8d
movq %r11, %r9
xorl %eax, %eax
pushq %r10
pushq %r14
pushq %rbx
pushq %r14
callq 0x11a0
addq $0x28, %rsp
popq %rbx
popq %r14
retq