// File: /workspace/github_c_makefile_star2_O0/JimKent[P]linearSat/lib/obscure.c
// Function: sprintLongWithCommas
void sprintLongWithCommas(char *s, long long l)
/* Print out a long number with commas a thousands, millions, etc. */
{
long long trillions, billions, millions, thousands;
if (l >= 1000000000000LL)
    {
    trillions = l/1000000000000LL;
    l -= trillions * 1000000000000LL;
    billions = l/1000000000;
    l -= billions * 1000000000;
    millions = l/1000000;
    l -= millions * 1000000;
    thousands = l/1000;
    l -= thousands * 1000;
    sprintf(s, "%lld,%03lld,%03lld,%03lld,%03lld", trillions, billions, millions, thousands, l);
    }
else if (l >= 1000000000)
    {
    billions = l/1000000000;
    l -= billions * 1000000000;
    millions = l/1000000;
    l -= millions * 1000000;
    thousands = l/1000;
    l -= thousands * 1000;
    sprintf(s, "%lld,%03lld,%03lld,%03lld", billions, millions, thousands, l);
    }
else if (l >= 1000000)
    {
    millions = l/1000000;
    l -= millions * (long long)1000000;
    thousands = l/1000;
    l -= thousands * 1000;
    sprintf(s, "%lld,%03lld,%03lld", millions, thousands, l);
    }
else if (l >= 1000)
    {
    thousands = l/1000;
    l -= thousands * 1000;
    sprintf(s, "%lld,%03lld", thousands, l);
    }
else
    sprintf(s, "%lld", l);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movabsq $0xe8d4a51000, %rax     # imm = 0xE8D4A51000
cmpq %rax, -0x10(%rbp)
jl 0x16d13
movq -0x10(%rbp), %rax
movabsq $0xe8d4a51000, %rcx     # imm = 0xE8D4A51000
cqto
idivq %rcx
movq %rax, -0x18(%rbp)
movabsq $0xe8d4a51000, %rcx     # imm = 0xE8D4A51000
imulq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x3b9aca00, %ecx       # imm = 0x3B9ACA00
cqto
idivq %rcx
movq %rax, -0x20(%rbp)
imulq $0x3b9aca00, -0x20(%rbp), %rcx # imm = 0x3B9ACA00
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0xf4240, %ecx          # imm = 0xF4240
cqto
idivq %rcx
movq %rax, -0x28(%rbp)
imulq $0xf4240, -0x28(%rbp), %rcx # imm = 0xF4240
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x3e8, %ecx            # imm = 0x3E8
cqto
idivq %rcx
movq %rax, -0x30(%rbp)
imulq $0x3e8, -0x30(%rbp), %rcx # imm = 0x3E8
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x10(%rbp), %rax
leaq 0xec3e(%rip), %rsi      # 0x25941
movq %rax, (%rsp)
movb $0x0, %al
callq 0x36a0
jmp 0x16e92
cmpq $0x3b9aca00, -0x10(%rbp) # imm = 0x3B9ACA00
jl 0x16db7
movq -0x10(%rbp), %rax
movl $0x3b9aca00, %ecx       # imm = 0x3B9ACA00
cqto
idivq %rcx
movq %rax, -0x20(%rbp)
imulq $0x3b9aca00, -0x20(%rbp), %rcx # imm = 0x3B9ACA00
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0xf4240, %ecx          # imm = 0xF4240
cqto
idivq %rcx
movq %rax, -0x28(%rbp)
imulq $0xf4240, -0x28(%rbp), %rcx # imm = 0xF4240
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x3e8, %ecx            # imm = 0x3E8
cqto
idivq %rcx
movq %rax, -0x30(%rbp)
imulq $0x3e8, -0x30(%rbp), %rcx # imm = 0x3E8
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x30(%rbp), %r8
movq -0x10(%rbp), %r9
leaq 0xebb7(%rip), %rsi      # 0x25962
movb $0x0, %al
callq 0x36a0
jmp 0x16e90
cmpq $0xf4240, -0x10(%rbp)   # imm = 0xF4240
jl 0x16e2b
movq -0x10(%rbp), %rax
movl $0xf4240, %ecx          # imm = 0xF4240
cqto
idivq %rcx
movq %rax, -0x28(%rbp)
imulq $0xf4240, -0x28(%rbp), %rcx # imm = 0xF4240
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x3e8, %ecx            # imm = 0x3E8
cqto
idivq %rcx
movq %rax, -0x30(%rbp)
imulq $0x3e8, -0x30(%rbp), %rcx # imm = 0x3E8
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x10(%rbp), %r8
leaq 0xeb5a(%rip), %rsi      # 0x2597c
movb $0x0, %al
callq 0x36a0
jmp 0x16e8e
cmpq $0x3e8, -0x10(%rbp)     # imm = 0x3E8
jl 0x16e76
movq -0x10(%rbp), %rax
movl $0x3e8, %ecx            # imm = 0x3E8
cqto
idivq %rcx
movq %rax, -0x30(%rbp)
imulq $0x3e8, -0x30(%rbp), %rcx # imm = 0x3E8
movq -0x10(%rbp), %rax
subq %rcx, %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rdx
movq -0x10(%rbp), %rcx
leaq 0xeb22(%rip), %rsi      # 0x2598f
movb $0x0, %al
callq 0x36a0
jmp 0x16e8c
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq 0xd9f9(%rip), %rsi      # 0x2487e
movb $0x0, %al
callq 0x36a0
jmp 0x16e8e
jmp 0x16e90
jmp 0x16e92
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)