// File: /workspace/github_c_makefile_star2_O3/chatziko-k08[P]lecture-code/tests/../include/acutest.h
// Function: acutest_dump_
void
acutest_dump_(const char* title, const void* addr, size_t size)
{
    static const size_t BYTES_PER_LINE = 16;
    size_t line_beg;
    size_t truncate = 0;

    if(acutest_verbose_level_ < 2)
        return;

    /* We allow extra message only when something is already wrong in the
     * current test. */
    if(acutest_current_test_ == NULL  ||  !acutest_cond_failed_)
        return;

    if(size > TEST_DUMP_MAXSIZE) {
        truncate = size - TEST_DUMP_MAXSIZE;
        size = TEST_DUMP_MAXSIZE;
    }

    acutest_line_indent_(acutest_case_name_[0] ? 3 : 2);
    printf((title[strlen(title)-1] == ':') ? "%s\n" : "%s:\n", title);

    for(line_beg = 0; line_beg < size; line_beg += BYTES_PER_LINE) {
        size_t line_end = line_beg + BYTES_PER_LINE;
        size_t off;

        acutest_line_indent_(acutest_case_name_[0] ? 4 : 3);
        printf("%08lx: ", (unsigned long)line_beg);
        for(off = line_beg; off < line_end; off++) {
            if(off < size)
                printf(" %02x", ((const unsigned char*)addr)[off]);
            else
                printf("   ");
        }

        printf("  ");
        for(off = line_beg; off < line_end; off++) {
            unsigned char byte = ((const unsigned char*)addr)[off];
            if(off < size)
                printf("%c", (iscntrl(byte) ? '.' : byte));
            else
                break;
        }

        printf("\n");
    }

    if(truncate > 0) {
        acutest_line_indent_(acutest_case_name_[0] ? 4 : 3);
        printf("           ... (and more %u bytes)\n", (unsigned) truncate);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
cmpl $0x2, 0x74d4(%rip)      # 0xa168
jge 0x2ca5
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpq $0x0, 0x74db(%rip)      # 0xa188
je 0x2c96
cmpl $0x0, 0x752a(%rip)      # 0xa1e0
je 0x2c96
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
movl $0x400, %r13d           # imm = 0x400
movq %rdx, %rax
subq %r13, %rax
movl $0x0, %r12d
cmovaeq %rax, %r12
cmovbq %rdx, %r13
cmpb $0x1, 0x74be(%rip)      # 0xa1a0
movl $0x3, %edi
sbbl $0x0, %edi
callq 0x2895
movq %rbx, %rdi
callq 0x20d0
cmpb $0x3a, -0x1(%rbx,%rax)
leaq 0x3bab(%rip), %rax      # 0x68ae
leaq 0x3402(%rip), %rdi      # 0x610c
cmoveq %rax, %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x20f0
testq %r15, %r15
je 0x2c96
movq %r12, (%rsp)
movq %r15, 0x8(%rsp)
leaq 0x3402(%rip), %r15      # 0x6133
xorl %ebx, %ebx
cmpb $0x1, 0x7466(%rip)      # 0xa1a0
movl $0x4, %edi
sbbl $0x0, %edi
callq 0x2895
leaq 0x33d7(%rip), %rdi      # 0x6125
movq %rbx, %rsi
xorl %eax, %eax
callq 0x20f0
movl $0x10, %r12d
movq %rbx, %rbp
cmpq %r13, %rbp
jae 0x2d7b
movzbl (%r14,%rbp), %esi
leaq 0x33bb(%rip), %rdi      # 0x612d
xorl %eax, %eax
callq 0x20f0
jmp 0x2d85
movq %r15, %rdi
xorl %eax, %eax
callq 0x20f0
incq %rbp
decq %r12
jne 0x2d61
leaq 0x10(%rbx), %r12
leaq 0x339c(%rip), %rdi      # 0x6134
xorl %eax, %eax
callq 0x20f0
cmpq %r13, %r12
movq %r13, %rbp
movq %r12, 0x10(%rsp)
cmovbq %r12, %rbp
cmpq %rbx, %r13
jbe 0x2dde
callq 0x22a0
movq %rax, %r12
movzbl (%r14,%rbx), %edi
movq (%r12), %rax
movzwl (%rax,%rdi,2), %eax
testb $0x2, %al
je 0x2dd1
movl $0x2e, %edi
callq 0x2030
incq %rbx
cmpq %rbp, %rbx
jb 0x2dbb
movl $0xa, %edi
callq 0x2030
movq 0x10(%rsp), %rbx
cmpq %r13, %rbx
jb 0x2d33
cmpq $0x401, 0x8(%rsp)       # imm = 0x401
movq (%rsp), %rbx
jb 0x2c96
cmpb $0x1, 0x7390(%rip)      # 0xa1a0
movl $0x4, %edi
sbbl $0x0, %edi
callq 0x2895
leaq 0x3313(%rip), %rdi      # 0x6137
movl %ebx, %esi
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x20f0