int main(int argc, char *argv[]) {
  long long int consumption = 0;
  assert(digitalClock(2014, 10, 10, 20, 0, 2014, 10, 11, 10, 0, &consumption) ==
             1 &&
         consumption == 1262484LL);
  assert(digitalClock(2014, 10, 1, 13, 15, 2014, 10, 1, 18, 45, &consumption) ==
             1 &&
         consumption == 510384LL);
  assert(digitalClock(2014, 10, 1, 13, 15, 2014, 10, 2, 11, 20, &consumption) ==
             1 &&
         consumption == 2015964LL);
  assert(digitalClock(2014, 1, 1, 13, 15, 2014, 10, 5, 11, 20, &consumption) ==
             1 &&
         consumption == 605329884LL);
  assert(digitalClock(2012, 1, 1, 13, 15, 2012, 10, 5, 11, 20, &consumption) ==
             1 &&
         consumption == 607515804LL);
  assert(digitalClock(1900, 1, 1, 13, 15, 1900, 10, 5, 11, 20, &consumption) ==
             1 &&
         consumption == 605329884LL);
  assert(digitalClock(2014, 10, 1, 0, 0, 2014, 10, 1, 12, 0, &consumption) ==
             1 &&
         consumption == 1033464LL);
  assert(digitalClock(2014, 10, 1, 0, 15, 2014, 10, 1, 0, 25, &consumption) ==
             1 &&
         consumption == 15804LL);
  assert(digitalClock(2014, 10, 1, 12, 0, 2014, 10, 1, 12, 0, &consumption) ==
             1 &&
         consumption == 1704LL);
  assert(digitalClock(2014, 10, 1, 12, 0, 2014, 10, 1, 12, 1, &consumption) ==
             1 &&
         consumption == 3168LL);
  assert(digitalClock(2014, 11, 1, 12, 0, 2014, 10, 1, 12, 0, &consumption) ==
         0);
  assert(digitalClock(2014, 10, 32, 12, 0, 2014, 11, 10, 12, 0, &consumption) ==
         0);
  assert(digitalClock(2100, 2, 29, 12, 0, 2100, 2, 29, 12, 0, &consumption) ==
         0);
  assert(digitalClock(2400, 2, 29, 12, 0, 2400, 2, 29, 12, 0, &consumption) ==
             1 &&
         consumption == 1704LL);
  assert(digitalClock(1852, 1, 1, 0, 0, 1852, 1, 6, 0, 0, &consumption) == 1 &&
         consumption == 10931244LL);
  assert(digitalClock(1916, 10, 27, 13, 37, 2002, 5, 27, 14, 58,
                      &consumption) == 1 &&
         consumption == 68327610828LL);
  assert(digitalClock(2069, 2, 19, 5, 22, 2151, 8, 24, 19, 15, &consumption) ==
             1 &&
         consumption == 65873958336LL);
  assert(digitalClock(1844, 1, 1, 0, 0, 1844, 2, 20, 0, 0, &consumption) == 1 &&
         consumption == 109297644LL);
  assert(digitalClock(2023, 8, 1, 22, 35, 2194, 11, 11, 6, 29, &consumption) ==
             1 &&
         consumption == 136747478160LL);
  assert(digitalClock(1976, 6, 17, 11, 44, 2049, 11, 25, 10, 43,
                      &consumption) == 1 &&
         consumption == 58635032160LL);
  assert(digitalClock(2047, 10, 17, 20, 18, 2195, 5, 6, 13, 36, &consumption) ==
             1 &&
         consumption == 117802972296LL);
  assert(digitalClock(1938, 2, 18, 13, 16, 2108, 1, 19, 11, 37, &consumption) ==
             1 &&
         consumption == 135660233268LL);
  assert(digitalClock(2074, 2, 7, 2, 29, 2197, 3, 10, 11, 0, &consumption) ==
             1 &&
         consumption == 98270965548LL);
  assert(digitalClock(1910, 4, 9, 21, 10, 1921, 11, 6, 21, 30, &consumption) ==
             1 &&
         consumption == 9244287084LL);
  assert(digitalClock(2074, 4, 2, 10, 36, 2108, 2, 29, 12, 32, &consumption) ==
             1 &&
         consumption == 27072790908LL);
  assert(digitalClock(2044, 1, 4, 2, 19, 2122, 3, 6, 19, 26, &consumption) ==
             1 &&
         consumption == 62409550092LL);
  assert(digitalClock(2005, 4, 10, 0, 15, 2005, 4, 10, 0, 0, &consumption) ==
         0);
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x60,%rsp
movl   $0x0,-0x4(%rbp)
mov    %edi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movq   $0x0,-0x18(%rbp)
mov    $0x7de,%r9d
mov    $0xa,%edx
mov    $0x14,%ecx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
mov    %edx,%esi
movl   $0xa,(%rsp)
movl   $0xb,0x8(%rsp)
movl   $0xa,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x19(%rbp)
jne    11a3 <main+0x83>
cmpq   $0x134394,-0x18(%rbp)
sete   %al
mov    %al,-0x19(%rbp)
mov    -0x19(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7de,%r9d
mov    $0xa,%esi
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0xa,(%rsp)
movl   $0x1,0x8(%rsp)
movl   $0x12,0x10(%rsp)
movl   $0x2d,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x1a(%rbp)
jne    121d <main+0xfd>
cmpq   $0x7c9b0,-0x18(%rbp)
sete   %al
mov    %al,-0x1a(%rbp)
mov    -0x1a(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7de,%r9d
mov    $0xa,%esi
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0xa,(%rsp)
movl   $0x2,0x8(%rsp)
movl   $0xb,0x10(%rsp)
movl   $0x14,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x1b(%rbp)
jne    1297 <main+0x177>
cmpq   $0x1ec2dc,-0x18(%rbp)
sete   %al
mov    %al,-0x1b(%rbp)
mov    -0x1b(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7de,%r9d
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
mov    %edx,%esi
movl   $0xa,(%rsp)
movl   $0x5,0x8(%rsp)
movl   $0xb,0x10(%rsp)
movl   $0x14,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x1c(%rbp)
jne    130e <main+0x1ee>
cmpq   $0x241499dc,-0x18(%rbp)
24
sete   %al
mov    %al,-0x1c(%rbp)
mov    -0x1c(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7dc,%r9d
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
mov    %edx,%esi
movl   $0xa,(%rsp)
movl   $0x5,0x8(%rsp)
movl   $0xb,0x10(%rsp)
movl   $0x14,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x1d(%rbp)
jne    1385 <main+0x265>
cmpq   $0x2435f49c,-0x18(%rbp)
24
sete   %al
mov    %al,-0x1d(%rbp)
mov    -0x1d(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x76c,%r9d
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
mov    %edx,%esi
movl   $0xa,(%rsp)
movl   $0x5,0x8(%rsp)
movl   $0xb,0x10(%rsp)
movl   $0x14,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x1e(%rbp)
jne    13fc <main+0x2dc>
cmpq   $0x241499dc,-0x18(%rbp)
24
sete   %al
mov    %al,-0x1e(%rbp)
mov    -0x1e(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7de,%r9d
mov    $0xa,%esi
mov    $0x1,%edx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
mov    %r8d,%ecx
movl   $0xa,(%rsp)
movl   $0x1,0x8(%rsp)
movl   $0xc,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x1f(%rbp)
jne    1471 <main+0x351>
cmpq   $0xfc4f8,-0x18(%rbp)
sete   %al
mov    %al,-0x1f(%rbp)
mov    -0x1f(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7de,%r9d
mov    $0xa,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
mov    $0xf,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0xa,(%rsp)
movl   $0x1,0x8(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x19,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x20(%rbp)
jne    14e8 <main+0x3c8>
cmpq   $0x3dbc,-0x18(%rbp)
sete   %al
mov    %al,-0x20(%rbp)
mov    -0x20(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7de,%r9d
mov    $0xa,%esi
mov    $0x1,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0xa,(%rsp)
movl   $0x1,0x8(%rsp)
movl   $0xc,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x21(%rbp)
jne    155f <main+0x43f>
cmpq   $0x6a8,-0x18(%rbp)
sete   %al
mov    %al,-0x21(%rbp)
mov    -0x21(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7de,%r9d
mov    $0xa,%esi
mov    $0x1,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0xa,(%rsp)
movl   $0x1,0x8(%rsp)
movl   $0xc,0x10(%rsp)
movl   $0x1,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x22(%rbp)
jne    15d6 <main+0x4b6>
cmpq   $0xc60,-0x18(%rbp)
sete   %al
mov    %al,-0x22(%rbp)
mov    -0x22(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7de,%r9d
mov    $0xb,%esi
mov    $0x1,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0xa,(%rsp)
movl   $0x1,0x8(%rsp)
movl   $0xc,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
cmp    $0x0,%eax
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7de,%r9d
mov    $0xa,%esi
mov    $0x20,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0xb,(%rsp)
movl   $0xa,0x8(%rsp)
movl   $0xc,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
cmp    $0x0,%eax
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x834,%r9d
mov    $0x2,%esi
mov    $0x1d,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0x2,(%rsp)
movl   $0x1d,0x8(%rsp)
movl   $0xc,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
cmp    $0x0,%eax
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x960,%r9d
mov    $0x2,%esi
mov    $0x1d,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0x2,(%rsp)
movl   $0x1d,0x8(%rsp)
movl   $0xc,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x23(%rbp)
jne    1761 <main+0x641>
cmpq   $0x6a8,-0x18(%rbp)
sete   %al
mov    %al,-0x23(%rbp)
mov    -0x23(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x73c,%r9d
mov    $0x1,%edx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
mov    %edx,%esi
mov    %r8d,%ecx
movl   $0x1,(%rsp)
movl   $0x6,0x8(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x24(%rbp)
jne    17d3 <main+0x6b3>
cmpq   $0xa6cc2c,-0x18(%rbp)
sete   %al
mov    %al,-0x24(%rbp)
mov    -0x24(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x77c,%edi
mov    $0xa,%esi
mov    $0x1b,%edx
mov    $0xd,%ecx
mov    $0x25,%r8d
mov    $0x7d2,%r9d
lea    -0x18(%rbp),%rax
movl   $0x5,(%rsp)
movl   $0x1b,0x8(%rsp)
movl   $0xe,0x10(%rsp)
movl   $0x3a,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x25(%rbp)
jne    1855 <main+0x735>
movabs $0xfe8a499cc,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x25(%rbp)
mov    -0x25(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x815,%edi
mov    $0x2,%esi
mov    $0x13,%edx
mov    $0x5,%ecx
mov    $0x16,%r8d
mov    $0x867,%r9d
lea    -0x18(%rbp),%rax
movl   $0x8,(%rsp)
movl   $0x18,0x8(%rsp)
movl   $0x13,0x10(%rsp)
movl   $0xf,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x26(%rbp)
jne    18d7 <main+0x7b7>
movabs $0xf5664d5c0,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x26(%rbp)
mov    -0x26(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x734,%r9d
mov    $0x1,%edx
xor    %r8d,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
mov    %edx,%esi
mov    %r8d,%ecx
movl   $0x2,(%rsp)
movl   $0x14,0x8(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x27(%rbp)
jne    1949 <main+0x829>
cmpq   $0x683bfec,-0x18(%rbp)
06
sete   %al
mov    %al,-0x27(%rbp)
mov    -0x27(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7e7,%edi
mov    $0x8,%esi
mov    $0x1,%edx
mov    $0x16,%ecx
mov    $0x23,%r8d
mov    $0x892,%r9d
lea    -0x18(%rbp),%rax
movl   $0xb,(%rsp)
movl   $0xb,0x8(%rsp)
movl   $0x6,0x10(%rsp)
movl   $0x1d,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x28(%rbp)
jne    19cb <main+0x8ab>
movabs $0x1fd6c8ec90,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x28(%rbp)
mov    -0x28(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7b8,%edi
mov    $0x6,%esi
mov    $0x11,%edx
mov    $0xb,%ecx
mov    $0x2c,%r8d
mov    $0x801,%r9d
lea    -0x18(%rbp),%rax
movl   $0xb,(%rsp)
movl   $0x19,0x8(%rsp)
movl   $0xa,0x10(%rsp)
movl   $0x2b,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x29(%rbp)
jne    1a4d <main+0x92d>
movabs $0xda6eb9660,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x29(%rbp)
mov    -0x29(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7ff,%edi
mov    $0xa,%esi
mov    $0x11,%edx
mov    $0x14,%ecx
mov    $0x12,%r8d
mov    $0x893,%r9d
lea    -0x18(%rbp),%rax
movl   $0x5,(%rsp)
movl   $0x6,0x8(%rsp)
movl   $0xd,0x10(%rsp)
movl   $0x24,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x2a(%rbp)
jne    1acf <main+0x9af>
movabs $0x1b6d9ab488,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x2a(%rbp)
mov    -0x2a(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x792,%edi
mov    $0x2,%esi
mov    $0x12,%edx
mov    $0xd,%ecx
mov    $0x10,%r8d
mov    $0x83c,%r9d
lea    -0x18(%rbp),%rax
movl   $0x1,(%rsp)
movl   $0x13,0x8(%rsp)
movl   $0xb,0x10(%rsp)
movl   $0x25,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x2b(%rbp)
jne    1b51 <main+0xa31>
movabs $0x1f95fae234,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x2b(%rbp)
mov    -0x2b(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x81a,%edi
mov    $0x2,%ecx
mov    $0x7,%edx
mov    $0x1d,%r8d
mov    $0x895,%r9d
xor    %eax,%eax
lea    -0x18(%rbp),%rax
mov    %ecx,%esi
movl   $0x3,(%rsp)
movl   $0xa,0x8(%rsp)
movl   $0xb,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x2c(%rbp)
jne    1bd2 <main+0xab2>
movabs $0x16e167ef2c,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x2c(%rbp)
mov    -0x2c(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x776,%edi
mov    $0x4,%esi
mov    $0x9,%edx
mov    $0x15,%ecx
mov    $0xa,%r8d
mov    $0x781,%r9d
lea    -0x18(%rbp),%rax
movl   $0xb,(%rsp)
movl   $0x6,0x8(%rsp)
movl   $0x15,0x10(%rsp)
movl   $0x1e,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x2d(%rbp)
jne    1c54 <main+0xb34>
movabs $0x22700a06c,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x2d(%rbp)
mov    -0x2d(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x81a,%edi
mov    $0x4,%esi
mov    $0x2,%edx
mov    $0xa,%ecx
mov    $0x24,%r8d
mov    $0x83c,%r9d
lea    -0x18(%rbp),%rax
movl   $0x2,(%rsp)
movl   $0x1d,0x8(%rsp)
movl   $0xc,0x10(%rsp)
movl   $0x20,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x2e(%rbp)
jne    1cd6 <main+0xbb6>
movabs $0x64daa017c,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x2e(%rbp)
mov    -0x2e(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7fc,%edi
mov    $0x1,%esi
mov    $0x4,%edx
mov    $0x2,%ecx
mov    $0x13,%r8d
mov    $0x84a,%r9d
lea    -0x18(%rbp),%rax
movl   $0x3,(%rsp)
movl   $0x6,0x8(%rsp)
movl   $0x13,0x10(%rsp)
movl   $0x1a,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    $0x1,%ecx
mov    %al,-0x2f(%rbp)
jne    1d58 <main+0xc38>
movabs $0xe87e6290c,%rax
cmp    %rax,-0x18(%rbp)
sete   %al
mov    %al,-0x2f(%rbp)
mov    -0x2f(%rbp),%al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
mov    $0x7d5,%r9d
mov    $0x4,%esi
mov    $0xa,%edx
xor    %ecx,%ecx
mov    $0xf,%r8d
lea    -0x18(%rbp),%rax
mov    %r9d,%edi
movl   $0x4,(%rsp)
movl   $0xa,0x8(%rsp)
movl   $0x0,0x10(%rsp)
movl   $0x0,0x18(%rsp)
mov    %rax,0x20(%rsp)
mov    $0x0,%al
call   1030 <digitalClock@plt>
cmp    $0x0,%eax
sete   %al
and    $0x1,%al
movzbl %al,%edi
mov    $0x0,%al
call   1040 <assert@plt>
xor    %eax,%eax
add    $0x60,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %r14
push   %rbx
push   %rax
movq   $0x0,(%rsp)
sub    $0x8,%rsp
lea    0x8(%rsp),%rbx
mov    $0x7de,%edi
mov    $0xa,%esi
mov    $0xa,%edx
mov    $0x14,%ecx
xor    %r8d,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0xa
push   $0xb
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x134394,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7de,%edi
mov    $0xa,%esi
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x2d
push   $0x12
push   $0x1
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x7c9b0,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7de,%edi
mov    $0xa,%esi
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x14
push   $0xb
push   $0x2
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x1ec2dc,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7de,%edi
mov    $0x1,%esi
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x14
push   $0xb
push   $0x5
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x241499dc,(%rsp)
24
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7dc,%edi
mov    $0x1,%esi
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
mov    $0x7dc,%r9d
xor    %eax,%eax
push   %rbx
push   $0x14
push   $0xb
push   $0x5
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x2435f49c,(%rsp)
24
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x76c,%edi
mov    $0x1,%esi
mov    $0x1,%edx
mov    $0xd,%ecx
mov    $0xf,%r8d
mov    $0x76c,%r9d
xor    %eax,%eax
push   %rbx
push   $0x14
push   $0xb
push   $0x5
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x241499dc,(%rsp)
24
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7de,%edi
mov    $0xa,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0xc
push   $0x1
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0xfc4f8,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7de,%edi
mov    $0xa,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
mov    $0xf,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x19
push   $0x0
push   $0x1
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x3dbc,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7de,%edi
mov    $0xa,%esi
mov    $0x1,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0xc
push   $0x1
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x6a8,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7de,%edi
mov    $0xa,%esi
mov    $0x1,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x1
push   $0xc
push   $0x1
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0xc60,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7de,%edi
mov    $0xb,%esi
mov    $0x1,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0xc
push   $0x1
push   $0xa
call   1030 <digitalClock@plt>
add    $0x30,%rsp
xor    %edi,%edi
test   %eax,%eax
sete   %dil
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7de,%edi
mov    $0xa,%esi
mov    $0x20,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
mov    $0x7de,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0xc
push   $0xa
push   $0xb
call   1030 <digitalClock@plt>
add    $0x30,%rsp
xor    %edi,%edi
test   %eax,%eax
sete   %dil
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x834,%edi
mov    $0x2,%esi
mov    $0x1d,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
mov    $0x834,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0xc
push   $0x1d
push   $0x2
call   1030 <digitalClock@plt>
add    $0x30,%rsp
xor    %edi,%edi
test   %eax,%eax
sete   %dil
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x960,%edi
mov    $0x2,%esi
mov    $0x1d,%edx
mov    $0xc,%ecx
xor    %r8d,%r8d
mov    $0x960,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0xc
push   $0x1d
push   $0x2
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x6a8,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x73c,%edi
mov    $0x1,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x73c,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0x0
push   $0x6
push   $0x1
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0xa6cc2c,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x77c,%edi
mov    $0xa,%esi
mov    $0x1b,%edx
mov    $0xd,%ecx
mov    $0x25,%r8d
mov    $0x7d2,%r9d
xor    %eax,%eax
push   %rbx
push   $0x3a
push   $0xe
push   $0x1b
push   $0x5
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
movabs $0xfe8a499cc,%rcx
cmp    %rcx,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x815,%edi
mov    $0x2,%esi
mov    $0x13,%edx
mov    $0x5,%ecx
mov    $0x16,%r8d
mov    $0x867,%r9d
xor    %eax,%eax
push   %rbx
push   $0xf
push   $0x13
push   $0x18
push   $0x8
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
movabs $0xf5664d5c0,%rcx
cmp    %rcx,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x734,%edi
mov    $0x1,%esi
mov    $0x1,%edx
xor    %ecx,%ecx
xor    %r8d,%r8d
mov    $0x734,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0x0
push   $0x14
push   $0x2
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmpq   $0x683bfec,(%rsp)
06
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7e7,%edi
mov    $0x8,%esi
mov    $0x1,%edx
mov    $0x16,%ecx
mov    $0x23,%r8d
mov    $0x892,%r9d
xor    %eax,%eax
push   %rbx
push   $0x1d
push   $0x6
push   $0xb
push   $0xb
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
movabs $0x1f95fae234,%r14
lea    0x40ce0a5c(%r14),%rcx
cmp    %rcx,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7b8,%edi
mov    $0x6,%esi
mov    $0x11,%edx
mov    $0xb,%ecx
mov    $0x2c,%r8d
mov    $0x801,%r9d
xor    %eax,%eax
push   %rbx
push   $0x2b
push   $0xa
push   $0x19
push   $0xb
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
movabs $0xda6eb9660,%rcx
cmp    %rcx,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7ff,%edi
mov    $0xa,%esi
mov    $0x11,%edx
mov    $0x14,%ecx
mov    $0x12,%r8d
mov    $0x893,%r9d
xor    %eax,%eax
push   %rbx
push   $0x24
push   $0xd
push   $0x6
push   $0x5
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
movabs $0x1b6d9ab488,%rcx
cmp    %rcx,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x792,%edi
mov    $0x2,%esi
mov    $0x12,%edx
mov    $0xd,%ecx
mov    $0x10,%r8d
mov    $0x83c,%r9d
xor    %eax,%eax
push   %rbx
push   $0x25
push   $0xb
push   $0x13
push   $0x1
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
cmp    %r14,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x81a,%edi
mov    $0x2,%esi
mov    $0x7,%edx
mov    $0x2,%ecx
mov    $0x1d,%r8d
mov    $0x895,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0xb
push   $0xa
push   $0x3
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
movabs $0x16e167ef2c,%rcx
cmp    %rcx,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x776,%edi
mov    $0x4,%esi
mov    $0x9,%edx
mov    $0x15,%ecx
mov    $0xa,%r8d
mov    $0x781,%r9d
xor    %eax,%eax
push   %rbx
push   $0x1e
push   $0x15
push   $0x6
push   $0xb
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
movabs $0x22700a06c,%rcx
cmp    %rcx,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x81a,%edi
mov    $0x4,%esi
mov    $0x2,%edx
mov    $0xa,%ecx
mov    $0x24,%r8d
mov    $0x83c,%r9d
xor    %eax,%eax
push   %rbx
push   $0x20
push   $0xc
push   $0x1d
push   $0x2
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
movabs $0x64daa017c,%rcx
cmp    %rcx,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7fc,%edi
mov    $0x1,%esi
mov    $0x4,%edx
mov    $0x2,%ecx
mov    $0x13,%r8d
mov    $0x84a,%r9d
xor    %eax,%eax
push   %rbx
push   $0x1a
push   $0x13
push   $0x6
push   $0x3
call   1030 <digitalClock@plt>
add    $0x30,%rsp
cmp    $0x1,%eax
sete   %al
movabs $0xe87e6290c,%rcx
cmp    %rcx,(%rsp)
sete   %cl
and    %al,%cl
movzbl %cl,%edi
xor    %eax,%eax
call   1040 <assert@plt>
sub    $0x8,%rsp
mov    $0x7d5,%edi
mov    $0x4,%esi
mov    $0xa,%edx
xor    %ecx,%ecx
mov    $0xf,%r8d
mov    $0x7d5,%r9d
xor    %eax,%eax
push   %rbx
push   $0x0
push   $0x0
push   $0xa
push   $0x4
call   1030 <digitalClock@plt>
add    $0x30,%rsp
xor    %edi,%edi
test   %eax,%eax
sete   %dil
xor    %eax,%eax
call   1040 <assert@plt>
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
ret

LLVM IR (-O0):
define i32 @main(i32 %0, i8** %1) {
%3 = alloca i32
%4 = alloca i32
%5 = alloca i8**
%6 = alloca i64
store i32 0, i32* %3
store i32 %0, i32* %4
store i8** %1, i8*** %5
store i64 0, i64* %6
%7 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 10, i32 20, i32 0, i32 2014, i32 10, i32 11, i32 10, i32 0, i64* %6)
%8 = icmp eq i32 %7, 1
br i1 %8, label %9, label %12
9: ; preds = %2
%10 = load i64, i64* %6
%11 = icmp eq i64 %10, 1262484
br label %12
12: ; preds = %9, %2
%13 = phi i1 [ false, %2 ], [ %11, %9 ]
%14 = zext i1 %13 to i32
%15 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %14)
%16 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 13, i32 15, i32 2014, i32 10, i32 1, i32 18, i32 45, i64* %6)
%17 = icmp eq i32 %16, 1
br i1 %17, label %18, label %21
18: ; preds = %12
%19 = load i64, i64* %6
%20 = icmp eq i64 %19, 510384
br label %21
21: ; preds = %18, %12
%22 = phi i1 [ false, %12 ], [ %20, %18 ]
%23 = zext i1 %22 to i32
%24 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %23)
%25 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 13, i32 15, i32 2014, i32 10, i32 2, i32 11, i32 20, i64* %6)
%26 = icmp eq i32 %25, 1
br i1 %26, label %27, label %30
27: ; preds = %21
%28 = load i64, i64* %6
%29 = icmp eq i64 %28, 2015964
br label %30
30: ; preds = %27, %21
%31 = phi i1 [ false, %21 ], [ %29, %27 ]
%32 = zext i1 %31 to i32
%33 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %32)
%34 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 1, i32 1, i32 13, i32 15, i32 2014, i32 10, i32 5, i32 11, i32 20, i64* %6)
%35 = icmp eq i32 %34, 1
br i1 %35, label %36, label %39
36: ; preds = %30
%37 = load i64, i64* %6
%38 = icmp eq i64 %37, 605329884
br label %39
39: ; preds = %36, %30
%40 = phi i1 [ false, %30 ], [ %38, %36 ]
%41 = zext i1 %40 to i32
%42 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %41)
%43 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2012, i32 1, i32 1, i32 13, i32 15, i32 2012, i32 10, i32 5, i32 11, i32 20, i64* %6)
%44 = icmp eq i32 %43, 1
br i1 %44, label %45, label %48
45: ; preds = %39
%46 = load i64, i64* %6
%47 = icmp eq i64 %46, 607515804
br label %48
48: ; preds = %45, %39
%49 = phi i1 [ false, %39 ], [ %47, %45 ]
%50 = zext i1 %49 to i32
%51 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %50)
%52 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1900, i32 1, i32 1, i32 13, i32 15, i32 1900, i32 10, i32 5, i32 11, i32 20, i64* %6)
%53 = icmp eq i32 %52, 1
br i1 %53, label %54, label %57
54: ; preds = %48
%55 = load i64, i64* %6
%56 = icmp eq i64 %55, 605329884
br label %57
57: ; preds = %54, %48
%58 = phi i1 [ false, %48 ], [ %56, %54 ]
%59 = zext i1 %58 to i32
%60 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %59)
%61 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 0, i32 0, i32 2014, i32 10, i32 1, i32 12, i32 0, i64* %6)
%62 = icmp eq i32 %61, 1
br i1 %62, label %63, label %66
63: ; preds = %57
%64 = load i64, i64* %6
%65 = icmp eq i64 %64, 1033464
br label %66
66: ; preds = %63, %57
%67 = phi i1 [ false, %57 ], [ %65, %63 ]
%68 = zext i1 %67 to i32
%69 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %68)
%70 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 0, i32 15, i32 2014, i32 10, i32 1, i32 0, i32 25, i64* %6)
%71 = icmp eq i32 %70, 1
br i1 %71, label %72, label %75
72: ; preds = %66
%73 = load i64, i64* %6
%74 = icmp eq i64 %73, 15804
br label %75
75: ; preds = %72, %66
%76 = phi i1 [ false, %66 ], [ %74, %72 ]
%77 = zext i1 %76 to i32
%78 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %77)
%79 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 12, i32 0, i32 2014, i32 10, i32 1, i32 12, i32 0, i64* %6)
%80 = icmp eq i32 %79, 1
br i1 %80, label %81, label %84
81: ; preds = %75
%82 = load i64, i64* %6
%83 = icmp eq i64 %82, 1704
br label %84
84: ; preds = %81, %75
%85 = phi i1 [ false, %75 ], [ %83, %81 ]
%86 = zext i1 %85 to i32
%87 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %86)
%88 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 12, i32 0, i32 2014, i32 10, i32 1, i32 12, i32 1, i64* %6)
%89 = icmp eq i32 %88, 1
br i1 %89, label %90, label %93
90: ; preds = %84
%91 = load i64, i64* %6
%92 = icmp eq i64 %91, 3168
br label %93
93: ; preds = %90, %84
%94 = phi i1 [ false, %84 ], [ %92, %90 ]
%95 = zext i1 %94 to i32
%96 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %95)
%97 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 11, i32 1, i32 12, i32 0, i32 2014, i32 10, i32 1, i32 12, i32 0, i64* %6)
%98 = icmp eq i32 %97, 0
%99 = zext i1 %98 to i32
%100 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %99)
%101 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 32, i32 12, i32 0, i32 2014, i32 11, i32 10, i32 12, i32 0, i64* %6)
%102 = icmp eq i32 %101, 0
%103 = zext i1 %102 to i32
%104 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %103)
%105 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2100, i32 2, i32 29, i32 12, i32 0, i32 2100, i32 2, i32 29, i32 12, i32 0, i64* %6)
%106 = icmp eq i32 %105, 0
%107 = zext i1 %106 to i32
%108 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %107)
%109 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2400, i32 2, i32 29, i32 12, i32 0, i32 2400, i32 2, i32 29, i32 12, i32 0, i64* %6)
%110 = icmp eq i32 %109, 1
br i1 %110, label %111, label %114
111: ; preds = %93
%112 = load i64, i64* %6
%113 = icmp eq i64 %112, 1704
br label %114
114: ; preds = %111, %93
%115 = phi i1 [ false, %93 ], [ %113, %111 ]
%116 = zext i1 %115 to i32
%117 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %116)
%118 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1852, i32 1, i32 1, i32 0, i32 0, i32 1852, i32 1, i32 6, i32 0, i32 0, i64* %6)
%119 = icmp eq i32 %118, 1
br i1 %119, label %120, label %123
120: ; preds = %114
%121 = load i64, i64* %6
%122 = icmp eq i64 %121, 10931244
br label %123
123: ; preds = %120, %114
%124 = phi i1 [ false, %114 ], [ %122, %120 ]
%125 = zext i1 %124 to i32
%126 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %125)
%127 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1916, i32 10, i32 27, i32 13, i32 37, i32 2002, i32 5, i32 27, i32 14, i32 58, i64* %6)
%128 = icmp eq i32 %127, 1
br i1 %128, label %129, label %132
129: ; preds = %123
%130 = load i64, i64* %6
%131 = icmp eq i64 %130, 68327610828
br label %132
132: ; preds = %129, %123
%133 = phi i1 [ false, %123 ], [ %131, %129 ]
%134 = zext i1 %133 to i32
%135 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %134)
%136 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2069, i32 2, i32 19, i32 5, i32 22, i32 2151, i32 8, i32 24, i32 19, i32 15, i64* %6)
%137 = icmp eq i32 %136, 1
br i1 %137, label %138, label %141
138: ; preds = %132
%139 = load i64, i64* %6
%140 = icmp eq i64 %139, 65873958336
br label %141
141: ; preds = %138, %132
%142 = phi i1 [ false, %132 ], [ %140, %138 ]
%143 = zext i1 %142 to i32
%144 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %143)
%145 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1844, i32 1, i32 1, i32 0, i32 0, i32 1844, i32 2, i32 20, i32 0, i32 0, i64* %6)
%146 = icmp eq i32 %145, 1
br i1 %146, label %147, label %150
147: ; preds = %141
%148 = load i64, i64* %6
%149 = icmp eq i64 %148, 109297644
br label %150
150: ; preds = %147, %141
%151 = phi i1 [ false, %141 ], [ %149, %147 ]
%152 = zext i1 %151 to i32
%153 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %152)
%154 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2023, i32 8, i32 1, i32 22, i32 35, i32 2194, i32 11, i32 11, i32 6, i32 29, i64* %6)
%155 = icmp eq i32 %154, 1
br i1 %155, label %156, label %159
156: ; preds = %150
%157 = load i64, i64* %6
%158 = icmp eq i64 %157, 136747478160
br label %159
159: ; preds = %156, %150
%160 = phi i1 [ false, %150 ], [ %158, %156 ]
%161 = zext i1 %160 to i32
%162 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %161)
%163 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1976, i32 6, i32 17, i32 11, i32 44, i32 2049, i32 11, i32 25, i32 10, i32 43, i64* %6)
%164 = icmp eq i32 %163, 1
br i1 %164, label %165, label %168
165: ; preds = %159
%166 = load i64, i64* %6
%167 = icmp eq i64 %166, 58635032160
br label %168
168: ; preds = %165, %159
%169 = phi i1 [ false, %159 ], [ %167, %165 ]
%170 = zext i1 %169 to i32
%171 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %170)
%172 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2047, i32 10, i32 17, i32 20, i32 18, i32 2195, i32 5, i32 6, i32 13, i32 36, i64* %6)
%173 = icmp eq i32 %172, 1
br i1 %173, label %174, label %177
174: ; preds = %168
%175 = load i64, i64* %6
%176 = icmp eq i64 %175, 117802972296
br label %177
177: ; preds = %174, %168
%178 = phi i1 [ false, %168 ], [ %176, %174 ]
%179 = zext i1 %178 to i32
%180 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %179)
%181 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1938, i32 2, i32 18, i32 13, i32 16, i32 2108, i32 1, i32 19, i32 11, i32 37, i64* %6)
%182 = icmp eq i32 %181, 1
br i1 %182, label %183, label %186
183: ; preds = %177
%184 = load i64, i64* %6
%185 = icmp eq i64 %184, 135660233268
br label %186
186: ; preds = %183, %177
%187 = phi i1 [ false, %177 ], [ %185, %183 ]
%188 = zext i1 %187 to i32
%189 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %188)
%190 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2074, i32 2, i32 7, i32 2, i32 29, i32 2197, i32 3, i32 10, i32 11, i32 0, i64* %6)
%191 = icmp eq i32 %190, 1
br i1 %191, label %192, label %195
192: ; preds = %186
%193 = load i64, i64* %6
%194 = icmp eq i64 %193, 98270965548
br label %195
195: ; preds = %192, %186
%196 = phi i1 [ false, %186 ], [ %194, %192 ]
%197 = zext i1 %196 to i32
%198 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %197)
%199 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1910, i32 4, i32 9, i32 21, i32 10, i32 1921, i32 11, i32 6, i32 21, i32 30, i64* %6)
%200 = icmp eq i32 %199, 1
br i1 %200, label %201, label %204
201: ; preds = %195
%202 = load i64, i64* %6
%203 = icmp eq i64 %202, 9244287084
br label %204
204: ; preds = %201, %195
%205 = phi i1 [ false, %195 ], [ %203, %201 ]
%206 = zext i1 %205 to i32
%207 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %206)
%208 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2074, i32 4, i32 2, i32 10, i32 36, i32 2108, i32 2, i32 29, i32 12, i32 32, i64* %6)
%209 = icmp eq i32 %208, 1
br i1 %209, label %210, label %213
210: ; preds = %204
%211 = load i64, i64* %6
%212 = icmp eq i64 %211, 27072790908
br label %213
213: ; preds = %210, %204
%214 = phi i1 [ false, %204 ], [ %212, %210 ]
%215 = zext i1 %214 to i32
%216 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %215)
%217 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2044, i32 1, i32 4, i32 2, i32 19, i32 2122, i32 3, i32 6, i32 19, i32 26, i64* %6)
%218 = icmp eq i32 %217, 1
br i1 %218, label %219, label %222
219: ; preds = %213
%220 = load i64, i64* %6
%221 = icmp eq i64 %220, 62409550092
br label %222
222: ; preds = %219, %213
%223 = phi i1 [ false, %213 ], [ %221, %219 ]
%224 = zext i1 %223 to i32
%225 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %224)
%226 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2005, i32 4, i32 10, i32 0, i32 15, i32 2005, i32 4, i32 10, i32 0, i32 0, i64* %6)
%227 = icmp eq i32 %226, 0
%228 = zext i1 %227 to i32
%229 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %228)
ret i32 0
}

LLVM IR (-O2):
define i32 @main(i32 %0, i8** nocapture readnone %1) {
%3 = alloca i64
%4 = bitcast i64* %3 to i8*
store i64 0, i64* %3
%5 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 10, i32 20, i32 0, i32 2014, i32 10, i32 11, i32 10, i32 0, i64* %3)
%6 = icmp eq i32 %5, 1
%7 = load i64, i64* %3
%8 = icmp eq i64 %7, 1262484
%9 = select i1 %6, i1 %8, i1 false
%10 = zext i1 %9 to i32
%11 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %10)
%12 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 13, i32 15, i32 2014, i32 10, i32 1, i32 18, i32 45, i64* %3)
%13 = icmp eq i32 %12, 1
%14 = load i64, i64* %3
%15 = icmp eq i64 %14, 510384
%16 = select i1 %13, i1 %15, i1 false
%17 = zext i1 %16 to i32
%18 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %17)
%19 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 13, i32 15, i32 2014, i32 10, i32 2, i32 11, i32 20, i64* %3)
%20 = icmp eq i32 %19, 1
%21 = load i64, i64* %3
%22 = icmp eq i64 %21, 2015964
%23 = select i1 %20, i1 %22, i1 false
%24 = zext i1 %23 to i32
%25 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %24)
%26 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 1, i32 1, i32 13, i32 15, i32 2014, i32 10, i32 5, i32 11, i32 20, i64* %3)
%27 = icmp eq i32 %26, 1
%28 = load i64, i64* %3
%29 = icmp eq i64 %28, 605329884
%30 = select i1 %27, i1 %29, i1 false
%31 = zext i1 %30 to i32
%32 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %31)
%33 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2012, i32 1, i32 1, i32 13, i32 15, i32 2012, i32 10, i32 5, i32 11, i32 20, i64* %3)
%34 = icmp eq i32 %33, 1
%35 = load i64, i64* %3
%36 = icmp eq i64 %35, 607515804
%37 = select i1 %34, i1 %36, i1 false
%38 = zext i1 %37 to i32
%39 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %38)
%40 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1900, i32 1, i32 1, i32 13, i32 15, i32 1900, i32 10, i32 5, i32 11, i32 20, i64* %3)
%41 = icmp eq i32 %40, 1
%42 = load i64, i64* %3
%43 = icmp eq i64 %42, 605329884
%44 = select i1 %41, i1 %43, i1 false
%45 = zext i1 %44 to i32
%46 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %45)
%47 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 0, i32 0, i32 2014, i32 10, i32 1, i32 12, i32 0, i64* %3)
%48 = icmp eq i32 %47, 1
%49 = load i64, i64* %3
%50 = icmp eq i64 %49, 1033464
%51 = select i1 %48, i1 %50, i1 false
%52 = zext i1 %51 to i32
%53 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %52)
%54 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 0, i32 15, i32 2014, i32 10, i32 1, i32 0, i32 25, i64* %3)
%55 = icmp eq i32 %54, 1
%56 = load i64, i64* %3
%57 = icmp eq i64 %56, 15804
%58 = select i1 %55, i1 %57, i1 false
%59 = zext i1 %58 to i32
%60 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %59)
%61 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 12, i32 0, i32 2014, i32 10, i32 1, i32 12, i32 0, i64* %3)
%62 = icmp eq i32 %61, 1
%63 = load i64, i64* %3
%64 = icmp eq i64 %63, 1704
%65 = select i1 %62, i1 %64, i1 false
%66 = zext i1 %65 to i32
%67 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %66)
%68 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 1, i32 12, i32 0, i32 2014, i32 10, i32 1, i32 12, i32 1, i64* %3)
%69 = icmp eq i32 %68, 1
%70 = load i64, i64* %3
%71 = icmp eq i64 %70, 3168
%72 = select i1 %69, i1 %71, i1 false
%73 = zext i1 %72 to i32
%74 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %73)
%75 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 11, i32 1, i32 12, i32 0, i32 2014, i32 10, i32 1, i32 12, i32 0, i64* %3)
%76 = icmp eq i32 %75, 0
%77 = zext i1 %76 to i32
%78 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %77)
%79 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2014, i32 10, i32 32, i32 12, i32 0, i32 2014, i32 11, i32 10, i32 12, i32 0, i64* %3)
%80 = icmp eq i32 %79, 0
%81 = zext i1 %80 to i32
%82 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %81)
%83 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2100, i32 2, i32 29, i32 12, i32 0, i32 2100, i32 2, i32 29, i32 12, i32 0, i64* %3)
%84 = icmp eq i32 %83, 0
%85 = zext i1 %84 to i32
%86 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %85)
%87 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2400, i32 2, i32 29, i32 12, i32 0, i32 2400, i32 2, i32 29, i32 12, i32 0, i64* %3)
%88 = icmp eq i32 %87, 1
%89 = load i64, i64* %3
%90 = icmp eq i64 %89, 1704
%91 = select i1 %88, i1 %90, i1 false
%92 = zext i1 %91 to i32
%93 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %92)
%94 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1852, i32 1, i32 1, i32 0, i32 0, i32 1852, i32 1, i32 6, i32 0, i32 0, i64* %3)
%95 = icmp eq i32 %94, 1
%96 = load i64, i64* %3
%97 = icmp eq i64 %96, 10931244
%98 = select i1 %95, i1 %97, i1 false
%99 = zext i1 %98 to i32
%100 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %99)
%101 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1916, i32 10, i32 27, i32 13, i32 37, i32 2002, i32 5, i32 27, i32 14, i32 58, i64* %3)
%102 = icmp eq i32 %101, 1
%103 = load i64, i64* %3
%104 = icmp eq i64 %103, 68327610828
%105 = select i1 %102, i1 %104, i1 false
%106 = zext i1 %105 to i32
%107 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %106)
%108 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2069, i32 2, i32 19, i32 5, i32 22, i32 2151, i32 8, i32 24, i32 19, i32 15, i64* %3)
%109 = icmp eq i32 %108, 1
%110 = load i64, i64* %3
%111 = icmp eq i64 %110, 65873958336
%112 = select i1 %109, i1 %111, i1 false
%113 = zext i1 %112 to i32
%114 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %113)
%115 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1844, i32 1, i32 1, i32 0, i32 0, i32 1844, i32 2, i32 20, i32 0, i32 0, i64* %3)
%116 = icmp eq i32 %115, 1
%117 = load i64, i64* %3
%118 = icmp eq i64 %117, 109297644
%119 = select i1 %116, i1 %118, i1 false
%120 = zext i1 %119 to i32
%121 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %120)
%122 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2023, i32 8, i32 1, i32 22, i32 35, i32 2194, i32 11, i32 11, i32 6, i32 29, i64* %3)
%123 = icmp eq i32 %122, 1
%124 = load i64, i64* %3
%125 = icmp eq i64 %124, 136747478160
%126 = select i1 %123, i1 %125, i1 false
%127 = zext i1 %126 to i32
%128 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %127)
%129 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1976, i32 6, i32 17, i32 11, i32 44, i32 2049, i32 11, i32 25, i32 10, i32 43, i64* %3)
%130 = icmp eq i32 %129, 1
%131 = load i64, i64* %3
%132 = icmp eq i64 %131, 58635032160
%133 = select i1 %130, i1 %132, i1 false
%134 = zext i1 %133 to i32
%135 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %134)
%136 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2047, i32 10, i32 17, i32 20, i32 18, i32 2195, i32 5, i32 6, i32 13, i32 36, i64* %3)
%137 = icmp eq i32 %136, 1
%138 = load i64, i64* %3
%139 = icmp eq i64 %138, 117802972296
%140 = select i1 %137, i1 %139, i1 false
%141 = zext i1 %140 to i32
%142 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %141)
%143 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1938, i32 2, i32 18, i32 13, i32 16, i32 2108, i32 1, i32 19, i32 11, i32 37, i64* %3)
%144 = icmp eq i32 %143, 1
%145 = load i64, i64* %3
%146 = icmp eq i64 %145, 135660233268
%147 = select i1 %144, i1 %146, i1 false
%148 = zext i1 %147 to i32
%149 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %148)
%150 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2074, i32 2, i32 7, i32 2, i32 29, i32 2197, i32 3, i32 10, i32 11, i32 0, i64* %3)
%151 = icmp eq i32 %150, 1
%152 = load i64, i64* %3
%153 = icmp eq i64 %152, 98270965548
%154 = select i1 %151, i1 %153, i1 false
%155 = zext i1 %154 to i32
%156 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %155)
%157 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 1910, i32 4, i32 9, i32 21, i32 10, i32 1921, i32 11, i32 6, i32 21, i32 30, i64* %3)
%158 = icmp eq i32 %157, 1
%159 = load i64, i64* %3
%160 = icmp eq i64 %159, 9244287084
%161 = select i1 %158, i1 %160, i1 false
%162 = zext i1 %161 to i32
%163 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %162)
%164 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2074, i32 4, i32 2, i32 10, i32 36, i32 2108, i32 2, i32 29, i32 12, i32 32, i64* %3)
%165 = icmp eq i32 %164, 1
%166 = load i64, i64* %3
%167 = icmp eq i64 %166, 27072790908
%168 = select i1 %165, i1 %167, i1 false
%169 = zext i1 %168 to i32
%170 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %169)
%171 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2044, i32 1, i32 4, i32 2, i32 19, i32 2122, i32 3, i32 6, i32 19, i32 26, i64* %3)
%172 = icmp eq i32 %171, 1
%173 = load i64, i64* %3
%174 = icmp eq i64 %173, 62409550092
%175 = select i1 %172, i1 %174, i1 false
%176 = zext i1 %175 to i32
%177 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %176)
%178 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...) bitcast (i32 (...)* @digitalClock to i32 (i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64*, ...)*)(i32 2005, i32 4, i32 10, i32 0, i32 15, i32 2005, i32 4, i32 10, i32 0, i32 0, i64* %3)
%179 = icmp eq i32 %178, 0
%180 = zext i1 %179 to i32
%181 = call i32 (i32, ...) bitcast (i32 (...)* @assert to i32 (i32, ...)*)(i32 %180)
ret i32 0
}