// File: /workspace/github_c_makefile_star2_O1/chatziko-k08[P]lecture-code/tests/../include/acutest.h
// Function: acutest_cmdline_callback_
static int
acutest_cmdline_callback_(int id, const char* arg)
{
    switch(id) {
        case 's':
            acutest_skip_mode_ = 1;
            break;

        case 'e':
            if(arg == NULL || strcmp(arg, "always") == 0) {
                acutest_no_exec_ = 0;
            } else if(strcmp(arg, "never") == 0) {
                acutest_no_exec_ = 1;
            } else if(strcmp(arg, "auto") == 0) {
                /*noop*/
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --exec.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case 'E':
            acutest_no_exec_ = 1;
            break;

        case 't':
#if defined ACUTEST_WIN_  ||  defined ACUTEST_HAS_POSIX_TIMER_
            if(arg == NULL || strcmp(arg, "real") == 0) {
                acutest_timer_ = 1;
    #ifndef ACUTEST_WIN_
            } else if(strcmp(arg, "cpu") == 0) {
                acutest_timer_ = 2;
    #endif
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --time.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
#endif
            break;

        case 'S':
            acutest_no_summary_ = 1;
            break;

        case 'T':
            acutest_tap_ = 1;
            break;

        case 'l':
            acutest_list_names_();
            acutest_exit_(0);
            break;

        case 'v':
            acutest_verbose_level_ = (arg != NULL ? atoi(arg) : acutest_verbose_level_+1);
            break;

        case 'q':
            acutest_verbose_level_ = 0;
            break;

        case 'c':
            if(arg == NULL || strcmp(arg, "always") == 0) {
                acutest_colorize_ = 1;
            } else if(strcmp(arg, "never") == 0) {
                acutest_colorize_ = 0;
            } else if(strcmp(arg, "auto") == 0) {
                /*noop*/
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --color.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case 'C':
            acutest_colorize_ = 0;
            break;

        case 'h':
            acutest_help_();
            acutest_exit_(0);
            break;

        case 'w':
            acutest_worker_ = 1;
            acutest_worker_index_ = atoi(arg);
            break;
        case 'x':
            acutest_xml_output_ = fopen(arg, "w");
            if (!acutest_xml_output_) {
                fprintf(stderr, "Unable to open '%s': %s\n", arg, strerror(errno));
                acutest_exit_(2);
            }
            break;

        case 0:
            if(acutest_lookup_(arg) == 0) {
                fprintf(stderr, "%s: Unrecognized unit test '%s'\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --list' for list of unit tests.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case ACUTEST_CMDLINE_OPTID_UNKNOWN_:
            fprintf(stderr, "Unrecognized command line option '%s'.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;

        case ACUTEST_CMDLINE_OPTID_MISSINGARG_:
            fprintf(stderr, "The command line option '%s' requires an argument.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;

        case ACUTEST_CMDLINE_OPTID_BOGUSARG_:
            fprintf(stderr, "The command line option '%s' does not expect an argument.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;
    }

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r13
cmpl $0x52, %edi
jle 0x3990
leal -0x63(%rdi), %eax
cmpl $0x15, %eax
ja 0x39df
leaq 0x26df(%rip), %rcx      # 0x6010
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testq %r13, %r13
je 0x3d1c
leaq 0x2d90(%rip), %rsi      # 0x66da
movq %r13, %rdi
callq 0x2170
testl %eax, %eax
je 0x3d1c
leaq 0x3239(%rip), %rsi      # 0x6b9a
movq %r13, %rdi
callq 0x2170
testl %eax, %eax
je 0x39fd
leaq 0x2d69(%rip), %rsi      # 0x66e1
movq %r13, %rdi
callq 0x2170
testl %eax, %eax
je 0x3d79
movq %r13, %rdi
callq 0x2418
testl %edi, %edi
js 0x39b3
je 0x3a0c
cmpl $0x43, %edi
je 0x39fd
cmpl $0x45, %edi
jne 0x3d79
movl $0x1, 0x67be(%rip)      # 0xa16c
jmp 0x3d79
cmpl $0x80000001, %edi       # imm = 0x80000001
je 0x3d8a
cmpl $0x80000002, %edi       # imm = 0x80000002
je 0x3d92
cmpl $0x80000003, %edi       # imm = 0x80000003
jne 0x3d79
movq %r13, %rdi
callq 0x22e5
cmpl $0x53, %edi
je 0x3d07
cmpl $0x54, %edi
jne 0x3d79
movb $0x1, 0x68e8(%rip)      # 0xa2e0
jmp 0x3d79
movl $0x0, 0x68b9(%rip)      # 0xa2c0
jmp 0x3d79
movb 0x68b6(%rip), %dl       # 0xa2c8
xorl %ecx, %ecx
testb %dl, %dl
movl $0x6, %ebp
movl $0x0, %eax
movq %rax, 0x8(%rsp)
cmoveq %rcx, %rbp
movb %dl, 0x7(%rsp)
cmpb $0x1, %dl
jne 0x3b93
leaq 0x6323(%rip), %r14      # 0x9d60
xorl %ebx, %ebx
movq (%r14), %rdi
movq %r13, %rsi
callq 0x2170
testl %eax, %eax
je 0x3d44
incq %rbx
addq $0x10, %r14
cmpq %rbx, %rbp
jne 0x3a3f
movq $0x0, 0x8(%rsp)
cmpb $0x0, 0x7(%rsp)
je 0x3b93
movq 0x685f(%rip), %rax      # 0xa2d8
movq %rax, 0x10(%rsp)
xorl %eax, %eax
movq 0x6849(%rip), %rcx      # 0xa2d0
movq %rcx, 0x28(%rsp)
movq $0x0, 0x8(%rsp)
movq %rbp, 0x18(%rsp)
movq %rax, 0x20(%rsp)
movq %rax, %rcx
shlq $0x4, %rcx
leaq 0x62b3(%rip), %rax      # 0x9d60
movq %rcx, 0x30(%rsp)
movq (%rcx,%rax), %r15
movq %r13, %rdi
callq 0x20d0
movq %rax, %r12
movq %r15, %rdi
movq %r13, %rbp
movq %r13, %rsi
callq 0x2280
movq %rax, %r13
testq %r13, %r13
je 0x3b7a
movb $0x1, %r14b
movb $0x1, %bl
cmpq %r15, %r13
je 0x3b01
movsbl -0x1(%r13), %esi
movl $0xa, %edx
leaq 0x258b(%rip), %rdi      # 0x6081
callq 0x2130
testq %rax, %rax
setne %bl
movsbl (%r13,%r12), %esi
testl %esi, %esi
je 0x3b23
movl $0xa, %edx
leaq 0x256a(%rip), %rdi      # 0x6081
callq 0x2130
testq %rax, %rax
setne %r14b
andb %r14b, %bl
jne 0x3b39
incq %r13
movq %r13, %rdi
movq %rbp, %rsi
callq 0x2280
movq %rax, %r13
testb %bl, %bl
je 0x3ad2
movq 0x28(%rsp), %rcx
movq 0x30(%rsp), %rdx
movb (%rcx,%rdx), %al
testb $0x1, %al
jne 0x3b69
addq %rcx, %rdx
orb $0x1, %al
movb %al, (%rdx)
movq 0x10(%rsp), %rax
incq %rax
movq %rax, 0x10(%rsp)
movq %rax, 0x676f(%rip)      # 0xa2d8
movq %rbp, %r13
movq 0x8(%rsp), %rax
incl %eax
movq %rax, 0x8(%rsp)
jmp 0x3b7d
movq %rbp, %r13
movq 0x18(%rsp), %rbp
movq 0x20(%rsp), %rax
incq %rax
cmpq %rbp, %rax
jne 0x3a9a
cmpl $0x0, 0x8(%rsp)
setg %al
movb 0x7(%rsp), %cl
xorb $0x1, %cl
orb %al, %cl
jne 0x3d72
movq 0x6727(%rip), %rbx      # 0xa2d8
movq 0x6718(%rip), %r14      # 0xa2d0
xorl %r15d, %r15d
leaq 0x619e(%rip), %r12      # 0x9d60
movq (%r15,%r12), %rdi
movq %r13, %rsi
callq 0x2280
testq %rax, %rax
je 0x3bf7
movb (%r14,%r15), %al
testb $0x1, %al
jne 0x3beb
orb $0x1, %al
movb %al, (%r14,%r15)
incq %rbx
movq %rbx, 0x66ed(%rip)      # 0xa2d8
movq 0x8(%rsp), %rax
incl %eax
movq %rax, 0x8(%rsp)
addq $0x10, %r15
decq %rbp
jne 0x3bc2
jmp 0x3d72
testq %r13, %r13
je 0x3d34
movq %r13, %rdi
callq 0x2220
jmp 0x3d3c
testq %r13, %r13
je 0x3d10
leaq 0x2aaf(%rip), %rsi      # 0x66da
movq %r13, %rdi
callq 0x2170
testl %eax, %eax
je 0x3d10
leaq 0x2f58(%rip), %rsi      # 0x6b9a
movq %r13, %rdi
callq 0x2170
testl %eax, %eax
je 0x39a4
leaq 0x2a88(%rip), %rsi      # 0x66e1
movq %r13, %rdi
callq 0x2170
testl %eax, %eax
je 0x3d79
movq %r13, %rdi
callq 0x249e
movb $0x1, 0x6678(%rip)      # 0xa2f0
jmp 0x3d79
movl $0x0, 0x64e1(%rip)      # 0xa168
jmp 0x3d79
movb $0x1, 0x6655(%rip)      # 0xa2e8
movq %r13, %rdi
callq 0x2220
movl %eax, 0x664b(%rip)      # 0xa2ec
jmp 0x3d79
testq %r13, %r13
je 0x3d28
leaq 0x2a8e(%rip), %rsi      # 0x6740
movq %r13, %rdi
callq 0x2170
testl %eax, %eax
je 0x3d28
leaq 0x2a80(%rip), %rsi      # 0x6745
movq %r13, %rdi
callq 0x2170
testl %eax, %eax
jne 0x3db5
movl $0x2, 0x662d(%rip)      # 0xa30c
jmp 0x3d79
leaq 0x2ac5(%rip), %rsi      # 0x67b0
movq %r13, %rdi
callq 0x2210
movq %rax, 0x6606(%rip)      # 0xa300
testq %rax, %rax
jne 0x3d79
movq %r13, %rdi
callq 0x23dc
movb $0x1, 0x65d6(%rip)      # 0xa2e4
jmp 0x3d79
movl $0x0, 0x6452(%rip)      # 0xa16c
jmp 0x3d79
movl $0x1, 0x659a(%rip)      # 0xa2c0
jmp 0x3d79
movl $0x1, 0x65da(%rip)      # 0xa30c
jmp 0x3d79
movl 0x642e(%rip), %eax      # 0xa168
incl %eax
movl %eax, 0x6426(%rip)      # 0xa168
jmp 0x3d79
movq 0x6585(%rip), %rax      # 0xa2d0
movl %ebx, %ecx
shlq $0x4, %rcx
movb (%rax,%rcx), %dl
movl $0x1, %esi
movq %rsi, 0x8(%rsp)
testb $0x1, %dl
jne 0x3d72
addq %rcx, %rax
orb $0x1, %dl
movb %dl, (%rax)
incq 0x6566(%rip)            # 0xa2d8
cmpl $0x0, 0x8(%rsp)
je 0x3d9a
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r13, %rdi
callq 0x235d
movq %r13, %rdi
callq 0x2321
movq %r13, %rdi
callq 0x2399
callq 0x499f
jmp 0x3dae
callq 0x49dd
xorl %edi, %edi
callq 0x38f9
movq %r13, %rdi
callq 0x245b