// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
xorl %eax, %eax
movl %eax, %edi
movl $0x7ffffc17, %esi       # imm = 0x7FFFFC17
movl $0x3e8, %edx            # imm = 0x3E8
callq 0x1170
cmpl $0x0, %eax
je 0x1491
movl $0x1, -0x4(%rbp)
jmp 0x1832
movl $0x7ffffc17, %edi       # imm = 0x7FFFFC17
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
movl $0x3e8, %edx            # imm = 0x3E8
callq 0x1170
cmpl $0x0, %eax
je 0x14b6
movl $0x1, -0x4(%rbp)
jmp 0x1832
movl $0x7e6, %edi            # imm = 0x7E6
movl $0x6, %esi
movl $0xe, %edx
movl $0xc, %ecx
movl $0x20, %r8d
movl $0xa, %r9d
movq $0x62a87fca, (%rsp)     # imm = 0x62A87FCA
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7c9, %edi            # imm = 0x7C9
movl $0x9, %esi
movl $0x2912, %edx           # imm = 0x2912
movl $0xc, %ecx
movl $0x20, %r8d
movl $0xa, %r9d
movq $0x62a87fca, (%rsp)     # imm = 0x62A87FCA
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e4, %edi            # imm = 0x7E4
movl $0x2, %esi
movl $0x1c, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x5e5900c0, (%rsp)     # imm = 0x5E5900C0
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e4, %edi            # imm = 0x7E4
movl $0x2, %esi
movl $0x1d, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x5e5a5240, (%rsp)     # imm = 0x5E5A5240
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e4, %edi            # imm = 0x7E4
movl $0x2, %esi
movl $0x1e, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x5e5ba3c0, (%rsp)     # imm = 0x5E5BA3C0
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e4, %edi            # imm = 0x7E4
movl $0x3, %esi
xorl %r9d, %r9d
movl $0xc, %ecx
movl %r9d, %edx
movl %r9d, %r8d
movq $0x5e5a5240, (%rsp)     # imm = 0x5E5A5240
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e3, %edi            # imm = 0x7E3
movl $0xe, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x5e356840, (%rsp)     # imm = 0x5E356840
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e3, %edi            # imm = 0x7E3
movl $0xf, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x5e5ba3c0, (%rsp)     # imm = 0x5E5BA3C0
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e3, %edi            # imm = 0x7E3
movl $0x1b, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x603cd740, (%rsp)     # imm = 0x603CD740
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e3, %edi            # imm = 0x7E3
movl $0x3e, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x65bb87c0, (%rsp)     # imm = 0x65BB87C0
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e3, %edi            # imm = 0x7E3
movl $0x3f, %esi
movl $0x1, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x65e1c340, (%rsp)     # imm = 0x65E1C340
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e5, %edi            # imm = 0x7E5
xorl %esi, %esi
movl $0x1f, %edx
movl $0x17, %ecx
movl $0x3b, %r9d
movl %r9d, %r8d
movq $0x5fee65ff, (%rsp)     # imm = 0x5FEE65FF
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e5, %edi            # imm = 0x7E5
movl $0xfffffff7, %esi       # imm = 0xFFFFFFF7
movl $0x1, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x5e5ba3c0, (%rsp)     # imm = 0x5E5BA3C0
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e5, %edi            # imm = 0x7E5
movl $0xfffffff6, %esi       # imm = 0xFFFFFFF6
movl $0x1, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x5e356840, (%rsp)     # imm = 0x5E356840
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7e5, %edi            # imm = 0x7E5
movl $0xffffffea, %esi       # imm = 0xFFFFFFEA
movl $0x1, %edx
movl $0xc, %ecx
xorl %r9d, %r9d
movl %r9d, %r8d
movq $0x5c5434c0, (%rsp)     # imm = 0x5C5434C0
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7b2, %edi            # imm = 0x7B2
movl $0x1, %edx
xorl %r9d, %r9d
xorl %eax, %eax
movl %edx, %esi
movl %r9d, %ecx
movl %r9d, %r8d
movq $0x0, (%rsp)
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7b2, %edi            # imm = 0x7B2
movl $0x1, %edx
xorl %r8d, %r8d
movl $0x7fffffff, %r9d       # imm = 0x7FFFFFFF
movl %edx, %esi
movl %r8d, %ecx
movq $0x7fffffff, (%rsp)     # imm = 0x7FFFFFFF
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7f6, %edi            # imm = 0x7F6
movl $0x1, %esi
movl $0x13, %edx
movl $0x3, %ecx
movl $0xe, %r8d
movl $0x7, %r9d
movq $0x7fffffff, (%rsp)     # imm = 0x7FFFFFFF
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl $0x7f6, %edi            # imm = 0x7F6
movl $0x1, %esi
movl $0x13, %edx
movl $0x3, %ecx
movl $0xe, %r8d
movl $0x8, %r9d
movl $0x80000000, %eax       # imm = 0x80000000
movq %rax, (%rsp)
callq 0x1360
orl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %edx
movl $0x1, %eax
xorl %ecx, %ecx
cmpl $0x0, %edx
cmovel %ecx, %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)