// File: /workspace/github_c_makefile_star2_O1/madler[P]pigz/pigz.c
// Function: show_info
local void show_info(int method, unsigned long check, length_t len, int cont) {
    size_t max;             // maximum name length for current verbosity
    size_t n;               // name length without suffix
    time_t now;             // for getting current year
    char mod[26];           // modification time in text
    char tag[NAMEMAX1+1];   // header or file name, possibly truncated

    // create abbreviated name from header file name or actual file name
    max = g.verbosity > 1 ? NAMEMAX2 : NAMEMAX1;
    memset(tag, 0, max + 1);
    if (cont)
        strncpy(tag, "<...>", max + 1);
    else if (g.hname == NULL) {
        n = strlen(g.inf) - compressed_suffix(g.inf);
        memcpy(tag, g.inf, n > max + 1 ? max + 1 : n);
        if (strcmp(g.inf + n, ".tgz") == 0 && n < max + 1)
            strncpy(tag + n, ".tar", max + 1 - n);
    }
    else
        strncpy(tag, g.hname, max + 1);
    if (tag[max])
        strcpy(tag + max - 3, "...");

    // convert time stamp to text
    if (g.stamp && !cont) {
        strcpy(mod, ctime(&g.stamp));
        now = time(NULL);
        if (strcmp(mod + 20, ctime(&now) + 20) != 0)
            strcpy(mod + 11, mod + 19);
    }
    else
        strcpy(mod + 4, "------ -----");
    mod[16] = 0;

    // if first time, print header
    if (g.first) {
        if (g.verbosity > 1)
            fputs("method    check    timestamp    ", stdout);
        if (g.verbosity > 0)
            puts("compressed   original reduced  name");
        g.first = 0;
    }

    // print information
    if (g.verbosity > 1) {
        if (g.form == 3 && !g.decode)
            printf("zip%3d  --------  %s  ", method, mod + 4);
        else if (g.form > 1)
            printf("zip%3d  %08lx  %s  ", method, check, mod + 4);
        else if (g.form == 1)
            printf("zlib%2d  %08lx  %s  ", method, check, mod + 4);
        else if (method == 257)
            printf("lzw     --------  %s  ", mod + 4);
        else
            printf("gzip%2d  %08lx  %s  ", method, check, mod + 4);
    }
    if (g.verbosity > 0) {
        // compute reduction percent -- allow divide-by-zero, displays as -inf%
        double red = 100. * (len - (double)g.in_tot) / len;
        if ((g.form == 3 && !g.decode) ||
            (method == 8 && g.in_tot > (len + (len >> 10) + 12)) ||
            (method == 257 && g.in_tot > len + (len >> 1) + 3))
#if __STDC_VERSION__-0 >= 199901L || __GNUC__-0 >= 3
            printf("%10ju %10ju?  unk    %s\n", g.in_tot, len, tag);
        else
            printf("%10ju %10ju %6.1f%%  %s\n", g.in_tot, len, red, tag);
#else
            printf("%10lu %10lu?  unk    %s\n", g.in_tot, len, tag);
        else
            printf("%10lu %10lu %6.1f%%  %s\n", g.in_tot, len, red, tag);
#endif
    }
    if (g.verbosity > 1 && g.hcomm != NULL)
        puts(g.hcomm);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movl %ecx, %r15d
movq %rdx, %r14
movq %rsi, 0x8(%rsp)
movl %edi, 0x4(%rsp)
movl 0x13e1d(%rip), %ebx     # 0x1d370
xorl %ebp, %ebp
cmpl $0x2, %ebx
setl %bpl
shll $0x5, %ebp
leaq 0x11(%rbp), %r12
leaq 0x40(%rsp), %rdi
xorl %esi, %esi
movq %r12, %rdx
callq 0x3260
testl %r15d, %r15d
je 0x9580
leaq 0xd1e8(%rip), %rsi      # 0x16766
jmp 0x9590
movq 0x13e89(%rip), %rsi     # 0x1d410
testq %rsi, %rsi
je 0x96f4
leaq 0x40(%rsp), %rdi
movq %r12, %rdx
callq 0x3090
xorl %eax, %eax
cmpl $0x2, %ebx
setl %al
shll $0x5, %eax
cmpb $0x0, 0x50(%rsp,%rax)
je 0x95c2
xorl %eax, %eax
cmpl $0x2, %ebx
setl %al
shll $0x5, %eax
movl $0x2e2e2e, 0x4d(%rsp,%rax) # imm = 0x2E2E2E
testl %r15d, %r15d
jne 0x9631
cmpq $0x0, 0x13e39(%rip)     # 0x1d408
je 0x9631
leaq 0x13e30(%rip), %rdi     # 0x1d408
callq 0x3190
leaq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x30b0
xorl %edi, %edi
callq 0x3380
leaq 0x80(%rsp), %rdi
movq %rax, (%rdi)
movq %r14, %rbx
leaq 0x24(%rsp), %r14
callq 0x3190
leaq 0x14(%rax), %rsi
movq %r14, %rdi
movq %rbx, %r14
callq 0x3320
testl %eax, %eax
movl 0x4(%rsp), %ebx
je 0x9653
leaq 0x1b(%rsp), %rdi
leaq 0x23(%rsp), %rsi
callq 0x30b0
jmp 0x9653
movabsq $0x2d2d2d2d2d202d, %rax # imm = 0x2D2D2D2D2D202D
movq %rax, 0x19(%rsp)
movabsq $0x2d202d2d2d2d2d2d, %rax # imm = 0x2D202D2D2D2D2D2D
movq %rax, 0x14(%rsp)
movl 0x4(%rsp), %ebx
movb $0x0, 0x20(%rsp)
cmpl $0x0, 0x13d65(%rip)     # 0x1d3c4
je 0x969f
cmpl $0x2, 0x13d08(%rip)     # 0x1d370
jl 0x9680
movq 0x1395f(%rip), %rax     # 0x1cfd0
movq (%rax), %rsi
leaq 0xd0fe(%rip), %rdi      # 0x16779
callq 0x3230
cmpl $0x0, 0x13ce9(%rip)     # 0x1d370
jle 0x9695
leaq 0xd10a(%rip), %rdi      # 0x1679a
callq 0x30d0
movl $0x0, 0x13d25(%rip)     # 0x1d3c4
cmpl $0x2, 0x13cca(%rip)     # 0x1d370
jl 0x97b0
movl 0x13cd6(%rip), %eax     # 0x1d388
cmpl $0x3, %eax
jne 0x96da
cmpl $0x0, 0x13d0a(%rip)     # 0x1d3c8
jne 0x96da
leaq 0x14(%rsp), %rdx
leaq 0xd0f2(%rip), %rdi      # 0x167be
movl %ebx, %esi
xorl %eax, %eax
callq 0x31d0
jmp 0x97b0
leaq 0x14(%rsp), %rcx
cmpl $0x2, %eax
jl 0x9772
leaq 0xd0e6(%rip), %rdi      # 0x167d5
jmp 0x97a2
orq $0x10, %rbp
movq %r14, 0x38(%rsp)
movq 0x13c54(%rip), %r14     # 0x1d358
movq %r14, %rdi
callq 0x31a0
movq %rax, %r13
movq %r14, %rdi
callq 0x6867
subq %rax, %r13
cmpq %r12, %r13
movq %r12, %rdx
cmovbq %r13, %rdx
leaq 0x40(%rsp), %rdi
movq %r14, %rsi
callq 0x3360
addq %r13, %r14
leaq 0xcad4(%rip), %rsi      # 0x1620f
movq %r14, %rdi
movq 0x38(%rsp), %r14
callq 0x3320
testl %eax, %eax
setne %al
cmpq %rbp, %r13
seta %cl
orb %al, %cl
jne 0x959d
leaq (%rsp,%r13), %rdi
addq $0x40, %rdi
subq %r13, %r12
leaq 0xccd2(%rip), %rsi      # 0x1643f
jmp 0x9595
cmpl $0x1, %eax
jne 0x9780
leaq 0xd06b(%rip), %rdi      # 0x167e9
jmp 0x97a2
cmpl $0x101, %ebx            # imm = 0x101
jne 0x979b
leaq 0xd06f(%rip), %rdi      # 0x167fe
movq %rcx, %rsi
xorl %eax, %eax
callq 0x31d0
jmp 0x97b0
leaq 0xd073(%rip), %rdi      # 0x16815
movl %ebx, %esi
movq 0x8(%rsp), %rdx
xorl %eax, %eax
callq 0x31d0
cmpl $0x0, 0x13bb9(%rip)     # 0x1d370
jle 0x9897
movq 0x1bcbc(%rip), %rsi     # 0x25480
cmpl $0x3, 0x13bbd(%rip)     # 0x1d388
jne 0x97f1
cmpl $0x0, 0x13bf4(%rip)     # 0x1d3c8
jne 0x97f1
leaq 0xd04d(%rip), %rdi      # 0x1682a
leaq 0x40(%rsp), %rcx
movq %r14, %rdx
xorl %eax, %eax
callq 0x31d0
jmp 0x9897
cmpl $0x101, %ebx            # imm = 0x101
je 0x9819
cmpl $0x8, %ebx
jne 0x982b
movq %r14, %rax
shrq $0xa, %rax
addq %r14, %rax
addq $0xc, %rax
cmpq %rax, %rsi
ja 0x97d6
cmpl $0x101, %ebx            # imm = 0x101
jne 0x982b
movq %r14, %rax
shrq %rax
addq %r14, %rax
addq $0x3, %rax
cmpq %rax, %rsi
ja 0x97d6
movq %r14, %xmm0
movq 0xb7e8(%rip), %xmm1     # 0x15020
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0xb7ec(%rip), %xmm2     # 0x15030
subpd %xmm2, %xmm0
movapd %xmm0, %xmm3
unpckhpd %xmm0, %xmm3            # xmm3 = xmm3[1],xmm0[1]
addsd %xmm0, %xmm3
movq %rsi, %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
subpd %xmm2, %xmm0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
addsd %xmm0, %xmm1
movapd %xmm3, %xmm0
subsd %xmm1, %xmm0
mulsd 0xba4b(%rip), %xmm0     # 0x152c8
divsd %xmm3, %xmm0
leaq 0xcfbb(%rip), %rdi      # 0x16843
leaq 0x40(%rsp), %rcx
movq %r14, %rdx
movb $0x1, %al
callq 0x31d0
cmpl $0x2, 0x13ad2(%rip)     # 0x1d370
setge %al
movq 0x13b70(%rip), %rdi     # 0x1d418
testq %rdi, %rdi
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x98ba
callq 0x30d0
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq