// File: /workspace/github_c_makefile_star2_O1/samtools[P]htslib/test/test_time_funcs.c
// Function: main
int main(int argc, char **argv) {
    int res = 0;

    if (test_normalised(0, INT_MAX - 1000, 1000) != 0)
        return EXIT_FAILURE;
    if (sizeof(time_t) >= 8) {
        if (test_normalised(INT_MAX - 1000,
                            (time_t)((int64_t) INT_MAX * 2), 1000) != 0)
            return EXIT_FAILURE;
    }

    // 2022-06-14 12:32:10
    res |= test_specific(2022, 6, 14, 12, 32, 10, 1655209930);
    // 2022-06-14 12:32:10
    res |= test_specific(1993, 9, 10514, 12, 32, 10, 1655209930);
    // 2022-02-28 12:00:00
    res |= test_specific(2020, 2, 28, 12, 0, 0, 1582891200);
    // 2022-02-29 12:00:00
    res |= test_specific(2020, 2, 29, 12, 0, 0, 1582977600);
    // 2022-03-01 12:00:00
    res |= test_specific(2020, 2, 30, 12, 0, 0, 1583064000);
    // 2022-02-29 12:00:00
    res |= test_specific(2020, 3, 0, 12, 0, 0, 1582977600);
    // 2020-02-01 12:00:00
    res |= test_specific(2019, 14, 1, 12, 0, 0, 1580558400);
    // 2020-03-01 12:00:00
    res |= test_specific(2019, 15, 1, 12, 0, 0, 1583064000);
    // 2021-03-01 12:00:00
    res |= test_specific(2019, 27, 1, 12, 0, 0, 1614600000);
    // 2024-02-01 12:00:00
    res |= test_specific(2019, 62, 1, 12, 0, 0, 1706788800);
    // 2024-03-01 12:00:00
    res |= test_specific(2019, 63, 1, 12, 0, 0, 1709294400);
    // 2020-12-31 23:59:59
    res |= test_specific(2021, 0, 31, 23, 59, 59, 1609459199);
    // 2020-03-01 12:00:00
    res |= test_specific(2021, -9, 1, 12, 0, 0, 1583064000);
    // 2020-02-01 12:00:00
    res |= test_specific(2021, -10, 1, 12, 0, 0, 1580558400);
    // 2019-02-01 12:00:00
    res |= test_specific(2021, -22, 1, 12, 0, 0, 1549022400);
    // 1970-01-01 00:00:00
    res |= test_specific(1970, 1, 1, 0, 0, 0, 0);
    // 2038-01-19 03:14:07
    res |= test_specific(1970, 1, 1, 0, 0, INT_MAX, INT_MAX);
    // 2038-01-19 03:14:07
    res |= test_specific(2038, 1, 19, 3, 14, 7, INT_MAX);
    if (sizeof(time_t) < 8) {
        // 2038-01-19 03:14:08
        res |= test_specific(2038, 1, 19, 3, 14, 8, (time_t) -1);
    } else {
        // 2038-01-19 03:14:08
        res |= test_specific(2038, 1, 19, 3, 14, 8,
                             (time_t)((int64_t) INT_MAX + 1));
    }

    return res == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl $0x7ffffc17, %esi       # imm = 0x7FFFFC17
movl $0x3e8, %edx            # imm = 0x3E8
xorl %edi, %edi
callq 0x115c
movl $0x1, %ebx
testl %eax, %eax
jne 0x1a57
movl $0x80000000, %eax       # imm = 0x80000000
leaq 0x7ffffffe(%rax), %rsi
movl $0x7ffffc17, %edi       # imm = 0x7FFFFC17
movl $0x3e8, %edx            # imm = 0x3E8
callq 0x115c
testl %eax, %eax
jne 0x1a57
movl $0x62a87fca, %r14d      # imm = 0x62A87FCA
movq %r14, (%rsp)
movl $0x7e6, %edi            # imm = 0x7E6
movl $0x6, %esi
movl $0xe, %edx
movl $0xc, %ecx
movl $0x20, %r8d
movl $0xa, %r9d
callq 0x160d
movl %eax, %ebx
movq %r14, (%rsp)
movl $0x7c9, %edi            # imm = 0x7C9
movl $0x9, %esi
movl $0x2912, %edx           # imm = 0x2912
movl $0xc, %ecx
movl $0x20, %r8d
movl $0xa, %r9d
callq 0x160d
movl %eax, %ebp
orl %ebx, %ebp
movq $0x5e5900c0, (%rsp)     # imm = 0x5E5900C0
movl $0x7e4, %edi            # imm = 0x7E4
movl $0x2, %esi
movl $0x1c, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %r14d
movl $0x5e5a5240, %r15d      # imm = 0x5E5A5240
movq %r15, (%rsp)
movl $0x7e4, %edi            # imm = 0x7E4
movl $0x2, %esi
movl $0x1d, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %ebx
orl %r14d, %ebx
orl %ebp, %ebx
movl $0x5e5ba3c0, %r13d      # imm = 0x5E5BA3C0
movq %r13, (%rsp)
movl $0x7e4, %edi            # imm = 0x7E4
movl $0x2, %esi
movl $0x1e, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %ebp
movq %r15, (%rsp)
movl $0x7e4, %edi            # imm = 0x7E4
movl $0x3, %esi
xorl %edx, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %r14d
orl %ebp, %r14d
movl $0x5e356840, %r12d      # imm = 0x5E356840
movq %r12, (%rsp)
movl $0x7e3, %edi            # imm = 0x7E3
movl $0xe, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %ebp
orl %r14d, %ebp
orl %ebx, %ebp
movq %r13, (%rsp)
movl $0x7e3, %edi            # imm = 0x7E3
movl $0xf, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %ebx
movq $0x603cd740, (%rsp)     # imm = 0x603CD740
movl $0x7e3, %edi            # imm = 0x7E3
movl $0x1b, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %r14d
orl %ebx, %r14d
movq $0x65bb87c0, (%rsp)     # imm = 0x65BB87C0
movl $0x7e3, %edi            # imm = 0x7E3
movl $0x3e, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %r15d
orl %r14d, %r15d
movq $0x65e1c340, (%rsp)     # imm = 0x65E1C340
movl $0x7e3, %edi            # imm = 0x7E3
movl $0x3f, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %ebx
orl %r15d, %ebx
orl %ebp, %ebx
movq $0x5fee65ff, (%rsp)     # imm = 0x5FEE65FF
movl $0x7e5, %edi            # imm = 0x7E5
xorl %esi, %esi
movl $0x1f, %edx
movl $0x17, %ecx
movl $0x3b, %r8d
movl $0x3b, %r9d
callq 0x160d
movl %eax, %ebp
movq %r13, (%rsp)
movl $0x7e5, %edi            # imm = 0x7E5
movl $0xfffffff7, %esi       # imm = 0xFFFFFFF7
movl $0x1, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %r14d
orl %ebp, %r14d
movq %r12, (%rsp)
movl $0x7e5, %edi            # imm = 0x7E5
movl $0xfffffff6, %esi       # imm = 0xFFFFFFF6
movl $0x1, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %ebp
orl %r14d, %ebp
movq $0x5c5434c0, (%rsp)     # imm = 0x5C5434C0
movl $0x7e5, %edi            # imm = 0x7E5
movl $0xffffffea, %esi       # imm = 0xFFFFFFEA
movl $0x1, %edx
movl $0xc, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %r14d
orl %ebp, %r14d
movq $0x0, (%rsp)
movl $0x7b2, %edi            # imm = 0x7B2
movl $0x1, %esi
movl $0x1, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x160d
movl %eax, %ebp
orl %r14d, %ebp
orl %ebx, %ebp
movl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
movq %r14, (%rsp)
movl $0x7b2, %edi            # imm = 0x7B2
movl $0x1, %esi
movl $0x1, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl $0x7fffffff, %r9d       # imm = 0x7FFFFFFF
callq 0x160d
movl %eax, %ebx
movq %r14, (%rsp)
movl $0x7f6, %edi            # imm = 0x7F6
movl $0x1, %esi
movl $0x13, %edx
movl $0x3, %ecx
movl $0xe, %r8d
movl $0x7, %r9d
callq 0x160d
movl %eax, %r14d
orl %ebx, %r14d
orl %ebp, %r14d
movl $0x80000000, %eax       # imm = 0x80000000
movq %rax, (%rsp)
movl $0x7f6, %edi            # imm = 0x7F6
movl $0x1, %esi
movl $0x13, %edx
movl $0x3, %ecx
movl $0xe, %r8d
movl $0x8, %r9d
callq 0x160d
xorl %ebx, %ebx
orl %r14d, %eax
setne %bl
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq