	.file	"688488.c"
	.intel_syntax noprefix
	.text
	.globl	isLeapYear
	.type	isLeapYear, @function
isLeapYear:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	isLeapYear, .-isLeapYear
	.globl	daysInMonth
	.type	daysInMonth, @function
daysInMonth:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	daysInMonth, .-daysInMonth
	.globl	isValidDate
	.type	isValidDate, @function
isValidDate:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	isValidDate, .-isValidDate
	.globl	readDate
	.type	readDate, @function
readDate:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	readDate, .-readDate
	.section	.rodata
.LC0:
	.string	"pondeli"
.LC1:
	.string	"utery"
.LC2:
	.string	"streda"
.LC3:
	.string	"ctvrtek"
.LC4:
	.string	"patek"
.LC5:
	.string	"sobota"
.LC6:
	.string	"nedele"
	.text
	.globl	dayOfTheWeek
	.type	dayOfTheWeek, @function
dayOfTheWeek:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 6
	ja	.L10
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L12[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L12[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L12:
	.long	.L18-.L12
	.long	.L17-.L12
	.long	.L16-.L12
	.long	.L15-.L12
	.long	.L14-.L12
	.long	.L13-.L12
	.long	.L11-.L12
	.text
.L18:
	lea	rax, .LC0[rip]
	jmp	.L19
.L17:
	lea	rax, .LC1[rip]
	jmp	.L19
.L16:
	lea	rax, .LC2[rip]
	jmp	.L19
.L15:
	lea	rax, .LC3[rip]
	jmp	.L19
.L14:
	lea	rax, .LC4[rip]
	jmp	.L19
.L13:
	lea	rax, .LC5[rip]
	jmp	.L19
.L11:
	lea	rax, .LC6[rip]
	jmp	.L19
.L10:
	mov	eax, 0
.L19:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	dayOfTheWeek, .-dayOfTheWeek
	.section	.rodata
.LC7:
	.string	"brezen"
	.text
	.globl	monthOfTheYear
	.type	monthOfTheYear, @function
monthOfTheYear:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	lea	rax, .LC7[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	monthOfTheYear, .-monthOfTheYear
	.globl	daysUntil
	.type	daysUntil, @function
daysUntil:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	daysUntil, .-daysUntil
	.globl	weeksUntil
	.type	weeksUntil, @function
weeksUntil:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	mov	DWORD PTR -16[rbp], ecx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	weeksUntil, .-weeksUntil
	.globl	dayFromDate
	.type	dayFromDate, @function
dayFromDate:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	DWORD PTR -12[rbp], edx
	mov	DWORD PTR -16[rbp], ecx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	dayFromDate, .-dayFromDate
	.section	.rodata
.LC8:
	.string	"the_stack_data/688488.c"
.LC9:
	.string	"isValidDate ( 1, 1, 2016 )"
.LC10:
	.string	"! isValidDate ( -1, 1, 2016 )"
.LC11:
	.string	"! isValidDate ( 0, 1, 2016 )"
.LC12:
	.string	"! isValidDate ( 32, 1, 2016 )"
.LC13:
	.string	"! isValidDate ( 32, 1, 111 )"
.LC14:
	.string	"! isValidDate ( 32, 0, 2016 )"
	.align 8
.LC15:
	.string	"! isValidDate ( 32, 13, 2016 )"
.LC16:
	.string	"isValidDate ( 28, 2, 2016 )"
.LC17:
	.string	"isValidDate ( 29, 2, 2016 )"
.LC18:
	.string	"! isValidDate ( 30, 2, 2016 )"
.LC19:
	.string	"! isValidDate ( 29, 2, 2017 )"
.LC20:
	.string	"! isValidDate ( 29, 2, 2015 )"
.LC21:
	.string	"! isValidDate ( 29, 2, 2100 )"
.LC22:
	.string	"daysInMonth ( 1, 2016 ) == 31"
.LC23:
	.string	"daysInMonth ( 3, 2016 ) == 31"
.LC24:
	.string	"daysInMonth ( 4, 2016 ) == 30"
.LC25:
	.string	"daysInMonth ( 5, 2016 ) == 31"
.LC26:
	.string	"daysInMonth ( 6, 2016 ) == 30"
.LC27:
	.string	"daysInMonth ( 7, 2016 ) == 31"
.LC28:
	.string	"daysInMonth ( 8, 2016 ) == 31"
.LC29:
	.string	"daysInMonth ( 9, 2016 ) == 30"
	.align 8
.LC30:
	.string	"daysInMonth ( 10, 2016 ) == 31"
	.align 8
.LC31:
	.string	"daysInMonth ( 11, 2016 ) == 30"
	.align 8
.LC32:
	.string	"daysInMonth ( 12, 2016 ) == 31"
.LC33:
	.string	"daysInMonth ( 2, 2016 ) == 29"
.LC34:
	.string	"daysInMonth ( 2, 2015 ) == 28"
.LC35:
	.string	"daysInMonth ( 2, 2017 ) == 28"
.LC36:
	.string	"daysInMonth ( 2, 2000 ) == 29"
.LC37:
	.string	"daysInMonth ( 2, 2100 ) == 28"
.LC38:
	.string	"daysInMonth ( 2, 2400 ) == 29"
.LC39:
	.string	"daysUntil ( 1, 1, 2016 ) == 0"
.LC40:
	.string	"daysUntil ( 2, 1, 2016 ) == 1"
.LC41:
	.string	"daysUntil ( 3, 1, 2016 ) == 2"
.LC42:
	.string	"daysUntil ( 4, 1, 2016 ) == 3"
.LC43:
	.string	"daysUntil ( 5, 1, 2016 ) == 4"
.LC44:
	.string	"daysUntil ( 6, 1, 2016 ) == 5"
.LC45:
	.string	"daysUntil ( 7, 1, 2016 ) == 6"
.LC46:
	.string	"daysUntil ( 8, 1, 2016 ) == 7"
.LC47:
	.string	"daysUntil ( 9, 1, 2016 ) == 8"
	.align 8
.LC48:
	.string	"daysUntil ( 10, 1, 2016 ) == 9"
	.align 8
.LC49:
	.string	"daysUntil ( 11, 1, 2016 ) == 10"
	.align 8
.LC50:
	.string	"daysUntil ( 30, 12, 2016 ) == 364"
	.align 8
.LC51:
	.string	"daysUntil ( 31, 12, 2016 ) == 365"
	.align 8
.LC52:
	.string	"weeksUntil ( 1, 1, 2016, 4 ) == 0"
	.align 8
.LC53:
	.string	"weeksUntil ( 2, 1, 2016, 4 ) == 0"
	.align 8
.LC54:
	.string	"weeksUntil ( 3, 1, 2016, 4 ) == 0"
	.align 8
.LC55:
	.string	"weeksUntil ( 4, 1, 2016, 4 ) == 1"
	.align 8
.LC56:
	.string	"weeksUntil ( 5, 1, 2016, 4 ) == 1"
	.align 8
.LC57:
	.string	"weeksUntil ( 6, 1, 2016, 4 ) == 1"
	.align 8
.LC58:
	.string	"weeksUntil ( 7, 1, 2016, 4 ) == 1"
	.align 8
.LC59:
	.string	"weeksUntil ( 8, 1, 2016, 4 ) == 1"
	.align 8
.LC60:
	.string	"weeksUntil ( 9, 1, 2016, 4 ) == 1"
	.align 8
.LC61:
	.string	"weeksUntil ( 10, 1, 2016, 4 ) == 1"
	.align 8
.LC62:
	.string	"weeksUntil ( 11, 1, 2016, 4 ) == 2"
	.align 8
.LC63:
	.string	"weeksUntil ( 12, 1, 2016, 4 ) == 2"
	.align 8
.LC64:
	.string	"weeksUntil ( 25, 12, 2016, 4 ) == 51"
	.align 8
.LC65:
	.string	"weeksUntil ( 26, 12, 2016, 4 ) == 52"
	.align 8
.LC66:
	.string	"dayFromDate ( 1, 1, 2016, 4 ) == 4"
	.align 8
.LC67:
	.string	"dayFromDate ( 2, 1, 2016, 4 ) == 5"
	.align 8
.LC68:
	.string	"dayFromDate ( 3, 1, 2016, 4 ) == 6"
	.align 8
.LC69:
	.string	"dayFromDate ( 4, 1, 2016, 4 ) == 0"
	.align 8
.LC70:
	.string	"dayFromDate ( 5, 1, 2016, 4 ) == 1"
	.align 8
.LC71:
	.string	"dayFromDate ( 6, 1, 2016, 4 ) == 2"
	.align 8
.LC72:
	.string	"dayFromDate ( 11, 1, 2016, 4 ) == 0"
	.align 8
.LC73:
	.string	"dayFromDate ( 18, 1, 2016, 4 ) == 0"
	.align 8
.LC74:
	.string	"dayFromDate ( 25, 1, 2016, 4 ) == 0"
	.align 8
.LC75:
	.string	"dayFromDate ( 1, 2, 2016, 4 ) == 0"
	.align 8
.LC76:
	.string	"dayFromDate ( 8, 2, 2016, 4 ) == 0"
	.align 8
.LC77:
	.string	"dayFromDate ( 15, 2, 2016, 4 ) == 0"
	.align 8
.LC78:
	.string	"dayFromDate ( 22, 2, 2016, 4 ) == 0"
	.text
	.globl	tests
	.type	tests, @function
tests:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 1
	call	isValidDate
	test	eax, eax
	jne	.L29
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 152
	lea	rsi, .LC8[rip]
	lea	rdi, .LC9[rip]
	call	__assert_fail@PLT
.L29:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, -1
	call	isValidDate
	test	eax, eax
	je	.L30
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 153
	lea	rsi, .LC8[rip]
	lea	rdi, .LC10[rip]
	call	__assert_fail@PLT
.L30:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 0
	call	isValidDate
	test	eax, eax
	je	.L31
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 154
	lea	rsi, .LC8[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L31:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 32
	call	isValidDate
	test	eax, eax
	je	.L32
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 155
	lea	rsi, .LC8[rip]
	lea	rdi, .LC12[rip]
	call	__assert_fail@PLT
.L32:
	mov	edx, 111
	mov	esi, 1
	mov	edi, 32
	call	isValidDate
	test	eax, eax
	je	.L33
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 156
	lea	rsi, .LC8[rip]
	lea	rdi, .LC13[rip]
	call	__assert_fail@PLT
.L33:
	mov	edx, 2016
	mov	esi, 0
	mov	edi, 32
	call	isValidDate
	test	eax, eax
	je	.L34
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 157
	lea	rsi, .LC8[rip]
	lea	rdi, .LC14[rip]
	call	__assert_fail@PLT
.L34:
	mov	edx, 2016
	mov	esi, 13
	mov	edi, 32
	call	isValidDate
	test	eax, eax
	je	.L35
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 158
	lea	rsi, .LC8[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L35:
	mov	edx, 2016
	mov	esi, 2
	mov	edi, 28
	call	isValidDate
	test	eax, eax
	jne	.L36
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 159
	lea	rsi, .LC8[rip]
	lea	rdi, .LC16[rip]
	call	__assert_fail@PLT
.L36:
	mov	edx, 2016
	mov	esi, 2
	mov	edi, 29
	call	isValidDate
	test	eax, eax
	jne	.L37
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 160
	lea	rsi, .LC8[rip]
	lea	rdi, .LC17[rip]
	call	__assert_fail@PLT
.L37:
	mov	edx, 2016
	mov	esi, 2
	mov	edi, 30
	call	isValidDate
	test	eax, eax
	je	.L38
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 161
	lea	rsi, .LC8[rip]
	lea	rdi, .LC18[rip]
	call	__assert_fail@PLT
.L38:
	mov	edx, 2017
	mov	esi, 2
	mov	edi, 29
	call	isValidDate
	test	eax, eax
	je	.L39
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 162
	lea	rsi, .LC8[rip]
	lea	rdi, .LC19[rip]
	call	__assert_fail@PLT
.L39:
	mov	edx, 2015
	mov	esi, 2
	mov	edi, 29
	call	isValidDate
	test	eax, eax
	je	.L40
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 163
	lea	rsi, .LC8[rip]
	lea	rdi, .LC20[rip]
	call	__assert_fail@PLT
.L40:
	mov	edx, 2100
	mov	esi, 2
	mov	edi, 29
	call	isValidDate
	test	eax, eax
	je	.L41
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 164
	lea	rsi, .LC8[rip]
	lea	rdi, .LC21[rip]
	call	__assert_fail@PLT
.L41:
	mov	esi, 2016
	mov	edi, 1
	call	daysInMonth
	cmp	eax, 31
	je	.L42
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 166
	lea	rsi, .LC8[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L42:
	mov	esi, 2016
	mov	edi, 3
	call	daysInMonth
	cmp	eax, 31
	je	.L43
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 167
	lea	rsi, .LC8[rip]
	lea	rdi, .LC23[rip]
	call	__assert_fail@PLT
.L43:
	mov	esi, 2016
	mov	edi, 4
	call	daysInMonth
	cmp	eax, 30
	je	.L44
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 168
	lea	rsi, .LC8[rip]
	lea	rdi, .LC24[rip]
	call	__assert_fail@PLT
.L44:
	mov	esi, 2016
	mov	edi, 5
	call	daysInMonth
	cmp	eax, 31
	je	.L45
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 169
	lea	rsi, .LC8[rip]
	lea	rdi, .LC25[rip]
	call	__assert_fail@PLT
.L45:
	mov	esi, 2016
	mov	edi, 6
	call	daysInMonth
	cmp	eax, 30
	je	.L46
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 170
	lea	rsi, .LC8[rip]
	lea	rdi, .LC26[rip]
	call	__assert_fail@PLT
.L46:
	mov	esi, 2016
	mov	edi, 7
	call	daysInMonth
	cmp	eax, 31
	je	.L47
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 171
	lea	rsi, .LC8[rip]
	lea	rdi, .LC27[rip]
	call	__assert_fail@PLT
.L47:
	mov	esi, 2016
	mov	edi, 8
	call	daysInMonth
	cmp	eax, 31
	je	.L48
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 172
	lea	rsi, .LC8[rip]
	lea	rdi, .LC28[rip]
	call	__assert_fail@PLT
.L48:
	mov	esi, 2016
	mov	edi, 9
	call	daysInMonth
	cmp	eax, 30
	je	.L49
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 173
	lea	rsi, .LC8[rip]
	lea	rdi, .LC29[rip]
	call	__assert_fail@PLT
.L49:
	mov	esi, 2016
	mov	edi, 10
	call	daysInMonth
	cmp	eax, 31
	je	.L50
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 174
	lea	rsi, .LC8[rip]
	lea	rdi, .LC30[rip]
	call	__assert_fail@PLT
.L50:
	mov	esi, 2016
	mov	edi, 11
	call	daysInMonth
	cmp	eax, 30
	je	.L51
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 175
	lea	rsi, .LC8[rip]
	lea	rdi, .LC31[rip]
	call	__assert_fail@PLT
.L51:
	mov	esi, 2016
	mov	edi, 12
	call	daysInMonth
	cmp	eax, 31
	je	.L52
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 176
	lea	rsi, .LC8[rip]
	lea	rdi, .LC32[rip]
	call	__assert_fail@PLT
.L52:
	mov	esi, 2016
	mov	edi, 2
	call	daysInMonth
	cmp	eax, 29
	je	.L53
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 177
	lea	rsi, .LC8[rip]
	lea	rdi, .LC33[rip]
	call	__assert_fail@PLT
.L53:
	mov	esi, 2015
	mov	edi, 2
	call	daysInMonth
	cmp	eax, 28
	je	.L54
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 178
	lea	rsi, .LC8[rip]
	lea	rdi, .LC34[rip]
	call	__assert_fail@PLT
.L54:
	mov	esi, 2017
	mov	edi, 2
	call	daysInMonth
	cmp	eax, 28
	je	.L55
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 179
	lea	rsi, .LC8[rip]
	lea	rdi, .LC35[rip]
	call	__assert_fail@PLT
.L55:
	mov	esi, 2000
	mov	edi, 2
	call	daysInMonth
	cmp	eax, 29
	je	.L56
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 180
	lea	rsi, .LC8[rip]
	lea	rdi, .LC36[rip]
	call	__assert_fail@PLT
.L56:
	mov	esi, 2100
	mov	edi, 2
	call	daysInMonth
	cmp	eax, 28
	je	.L57
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 181
	lea	rsi, .LC8[rip]
	lea	rdi, .LC37[rip]
	call	__assert_fail@PLT
.L57:
	mov	esi, 2400
	mov	edi, 2
	call	daysInMonth
	cmp	eax, 29
	je	.L58
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 182
	lea	rsi, .LC8[rip]
	lea	rdi, .LC38[rip]
	call	__assert_fail@PLT
.L58:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 1
	call	daysUntil
	test	eax, eax
	je	.L59
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 184
	lea	rsi, .LC8[rip]
	lea	rdi, .LC39[rip]
	call	__assert_fail@PLT
.L59:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 2
	call	daysUntil
	cmp	eax, 1
	je	.L60
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 185
	lea	rsi, .LC8[rip]
	lea	rdi, .LC40[rip]
	call	__assert_fail@PLT
.L60:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 3
	call	daysUntil
	cmp	eax, 2
	je	.L61
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 186
	lea	rsi, .LC8[rip]
	lea	rdi, .LC41[rip]
	call	__assert_fail@PLT
.L61:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 4
	call	daysUntil
	cmp	eax, 3
	je	.L62
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 187
	lea	rsi, .LC8[rip]
	lea	rdi, .LC42[rip]
	call	__assert_fail@PLT
.L62:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 5
	call	daysUntil
	cmp	eax, 4
	je	.L63
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 188
	lea	rsi, .LC8[rip]
	lea	rdi, .LC43[rip]
	call	__assert_fail@PLT
.L63:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 6
	call	daysUntil
	cmp	eax, 5
	je	.L64
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 189
	lea	rsi, .LC8[rip]
	lea	rdi, .LC44[rip]
	call	__assert_fail@PLT
.L64:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 7
	call	daysUntil
	cmp	eax, 6
	je	.L65
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 190
	lea	rsi, .LC8[rip]
	lea	rdi, .LC45[rip]
	call	__assert_fail@PLT
.L65:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 8
	call	daysUntil
	cmp	eax, 7
	je	.L66
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 191
	lea	rsi, .LC8[rip]
	lea	rdi, .LC46[rip]
	call	__assert_fail@PLT
.L66:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 9
	call	daysUntil
	cmp	eax, 8
	je	.L67
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 192
	lea	rsi, .LC8[rip]
	lea	rdi, .LC47[rip]
	call	__assert_fail@PLT
.L67:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 10
	call	daysUntil
	cmp	eax, 9
	je	.L68
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 193
	lea	rsi, .LC8[rip]
	lea	rdi, .LC48[rip]
	call	__assert_fail@PLT
.L68:
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 11
	call	daysUntil
	cmp	eax, 10
	je	.L69
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 194
	lea	rsi, .LC8[rip]
	lea	rdi, .LC49[rip]
	call	__assert_fail@PLT
.L69:
	mov	edx, 2016
	mov	esi, 12
	mov	edi, 30
	call	daysUntil
	cmp	eax, 364
	je	.L70
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 195
	lea	rsi, .LC8[rip]
	lea	rdi, .LC50[rip]
	call	__assert_fail@PLT
.L70:
	mov	edx, 2016
	mov	esi, 12
	mov	edi, 31
	call	daysUntil
	cmp	eax, 365
	je	.L71
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 196
	lea	rsi, .LC8[rip]
	lea	rdi, .LC51[rip]
	call	__assert_fail@PLT
.L71:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 1
	call	weeksUntil
	test	eax, eax
	je	.L72
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 198
	lea	rsi, .LC8[rip]
	lea	rdi, .LC52[rip]
	call	__assert_fail@PLT
.L72:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 2
	call	weeksUntil
	test	eax, eax
	je	.L73
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 199
	lea	rsi, .LC8[rip]
	lea	rdi, .LC53[rip]
	call	__assert_fail@PLT
.L73:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 3
	call	weeksUntil
	test	eax, eax
	je	.L74
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 200
	lea	rsi, .LC8[rip]
	lea	rdi, .LC54[rip]
	call	__assert_fail@PLT
.L74:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 4
	call	weeksUntil
	cmp	eax, 1
	je	.L75
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 201
	lea	rsi, .LC8[rip]
	lea	rdi, .LC55[rip]
	call	__assert_fail@PLT
.L75:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 5
	call	weeksUntil
	cmp	eax, 1
	je	.L76
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 202
	lea	rsi, .LC8[rip]
	lea	rdi, .LC56[rip]
	call	__assert_fail@PLT
.L76:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 6
	call	weeksUntil
	cmp	eax, 1
	je	.L77
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 203
	lea	rsi, .LC8[rip]
	lea	rdi, .LC57[rip]
	call	__assert_fail@PLT
.L77:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 7
	call	weeksUntil
	cmp	eax, 1
	je	.L78
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 204
	lea	rsi, .LC8[rip]
	lea	rdi, .LC58[rip]
	call	__assert_fail@PLT
.L78:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 8
	call	weeksUntil
	cmp	eax, 1
	je	.L79
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 205
	lea	rsi, .LC8[rip]
	lea	rdi, .LC59[rip]
	call	__assert_fail@PLT
.L79:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 9
	call	weeksUntil
	cmp	eax, 1
	je	.L80
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 206
	lea	rsi, .LC8[rip]
	lea	rdi, .LC60[rip]
	call	__assert_fail@PLT
.L80:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 10
	call	weeksUntil
	cmp	eax, 1
	je	.L81
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 207
	lea	rsi, .LC8[rip]
	lea	rdi, .LC61[rip]
	call	__assert_fail@PLT
.L81:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 11
	call	weeksUntil
	cmp	eax, 2
	je	.L82
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 208
	lea	rsi, .LC8[rip]
	lea	rdi, .LC62[rip]
	call	__assert_fail@PLT
.L82:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 12
	call	weeksUntil
	cmp	eax, 2
	je	.L83
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 209
	lea	rsi, .LC8[rip]
	lea	rdi, .LC63[rip]
	call	__assert_fail@PLT
.L83:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 12
	mov	edi, 25
	call	weeksUntil
	cmp	eax, 51
	je	.L84
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 210
	lea	rsi, .LC8[rip]
	lea	rdi, .LC64[rip]
	call	__assert_fail@PLT
.L84:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 12
	mov	edi, 26
	call	weeksUntil
	cmp	eax, 52
	je	.L85
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 211
	lea	rsi, .LC8[rip]
	lea	rdi, .LC65[rip]
	call	__assert_fail@PLT
.L85:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 1
	call	dayFromDate
	cmp	eax, 4
	je	.L86
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 213
	lea	rsi, .LC8[rip]
	lea	rdi, .LC66[rip]
	call	__assert_fail@PLT
.L86:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 2
	call	dayFromDate
	cmp	eax, 5
	je	.L87
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 214
	lea	rsi, .LC8[rip]
	lea	rdi, .LC67[rip]
	call	__assert_fail@PLT
.L87:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 3
	call	dayFromDate
	cmp	eax, 6
	je	.L88
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 215
	lea	rsi, .LC8[rip]
	lea	rdi, .LC68[rip]
	call	__assert_fail@PLT
.L88:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 4
	call	dayFromDate
	test	eax, eax
	je	.L89
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 216
	lea	rsi, .LC8[rip]
	lea	rdi, .LC69[rip]
	call	__assert_fail@PLT
.L89:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 5
	call	dayFromDate
	cmp	eax, 1
	je	.L90
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 217
	lea	rsi, .LC8[rip]
	lea	rdi, .LC70[rip]
	call	__assert_fail@PLT
.L90:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 6
	call	dayFromDate
	cmp	eax, 2
	je	.L91
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 218
	lea	rsi, .LC8[rip]
	lea	rdi, .LC71[rip]
	call	__assert_fail@PLT
.L91:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 11
	call	dayFromDate
	test	eax, eax
	je	.L92
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 219
	lea	rsi, .LC8[rip]
	lea	rdi, .LC72[rip]
	call	__assert_fail@PLT
.L92:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 18
	call	dayFromDate
	test	eax, eax
	je	.L93
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 220
	lea	rsi, .LC8[rip]
	lea	rdi, .LC73[rip]
	call	__assert_fail@PLT
.L93:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 1
	mov	edi, 25
	call	dayFromDate
	test	eax, eax
	je	.L94
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 221
	lea	rsi, .LC8[rip]
	lea	rdi, .LC74[rip]
	call	__assert_fail@PLT
.L94:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 2
	mov	edi, 1
	call	dayFromDate
	test	eax, eax
	je	.L95
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 222
	lea	rsi, .LC8[rip]
	lea	rdi, .LC75[rip]
	call	__assert_fail@PLT
.L95:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 2
	mov	edi, 8
	call	dayFromDate
	test	eax, eax
	je	.L96
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 223
	lea	rsi, .LC8[rip]
	lea	rdi, .LC76[rip]
	call	__assert_fail@PLT
.L96:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 2
	mov	edi, 15
	call	dayFromDate
	test	eax, eax
	je	.L97
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 224
	lea	rsi, .LC8[rip]
	lea	rdi, .LC77[rip]
	call	__assert_fail@PLT
.L97:
	mov	ecx, 4
	mov	edx, 2016
	mov	esi, 2
	mov	edi, 22
	call	dayFromDate
	test	eax, eax
	je	.L99
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 225
	lea	rsi, .LC8[rip]
	lea	rdi, .LC78[rip]
	call	__assert_fail@PLT
.L99:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	tests, .-tests
	.section	.rodata
.LC79:
	.string	"%d"
.LC80:
	.string	"Nespravny vstup."
.LC81:
	.string	"%s %d. %s %d (%d)\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 32
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -40[rbp], rax
	xor	eax, eax
	call	tests
	lea	rax, -56[rbp]
	mov	rsi, rax
	lea	rdi, .LC79[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	cmp	eax, 1
	jne	.L101
	mov	eax, DWORD PTR -56[rbp]
	test	eax, eax
	js	.L101
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, 6
	jg	.L101
	lea	rdx, -52[rbp]
	lea	rcx, -48[rbp]
	lea	rax, -44[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	readDate
	test	eax, eax
	jne	.L102
.L101:
	lea	rdi, .LC80[rip]
	call	puts@PLT
	mov	eax, 1
	jmp	.L104
.L102:
	mov	ecx, DWORD PTR -56[rbp]
	mov	edx, DWORD PTR -52[rbp]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	weeksUntil
	mov	r13d, eax
	mov	r14d, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -48[rbp]
	mov	edi, eax
	call	monthOfTheYear
	mov	r12, rax
	mov	ebx, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -56[rbp]
	mov	edx, DWORD PTR -52[rbp]
	mov	esi, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	dayFromDate
	mov	edi, eax
	call	dayOfTheWeek
	mov	r9d, r13d
	mov	r8d, r14d
	mov	rcx, r12
	mov	edx, ebx
	mov	rsi, rax
	lea	rdi, .LC81[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
.L104:
	mov	rbx, QWORD PTR -40[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L105
	call	__stack_chk_fail@PLT
.L105:
	add	rsp, 32
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	main, .-main
	.section	.rodata
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 6
__PRETTY_FUNCTION__.0:
	.string	"tests"
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"688488.c"
	.text
	.align	2
	.global	isLeapYear
	.syntax unified
	.arm
	.fpu softvfp
	.type	isLeapYear, %function
isLeapYear:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isLeapYear, .-isLeapYear
	.align	2
	.global	daysInMonth
	.syntax unified
	.arm
	.fpu softvfp
	.type	daysInMonth, %function
daysInMonth:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	daysInMonth, .-daysInMonth
	.align	2
	.global	isValidDate
	.syntax unified
	.arm
	.fpu softvfp
	.type	isValidDate, %function
isValidDate:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	isValidDate, .-isValidDate
	.align	2
	.global	readDate
	.syntax unified
	.arm
	.fpu softvfp
	.type	readDate, %function
readDate:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	readDate, .-readDate
	.section	.rodata
	.align	2
.LC0:
	.ascii	"pondeli\000"
	.align	2
.LC1:
	.ascii	"utery\000"
	.align	2
.LC2:
	.ascii	"streda\000"
	.align	2
.LC3:
	.ascii	"ctvrtek\000"
	.align	2
.LC4:
	.ascii	"patek\000"
	.align	2
.LC5:
	.ascii	"sobota\000"
	.align	2
.LC6:
	.ascii	"nedele\000"
	.text
	.align	2
	.global	dayOfTheWeek
	.syntax unified
	.arm
	.fpu softvfp
	.type	dayOfTheWeek, %function
dayOfTheWeek:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #6
	ldrls	pc, [pc, r3, asl #2]
	b	.L10
.L12:
	.word	.L18
	.word	.L17
	.word	.L16
	.word	.L15
	.word	.L14
	.word	.L13
	.word	.L11
.L18:
	ldr	r3, .L20
	b	.L19
.L17:
	ldr	r3, .L20+4
	b	.L19
.L16:
	ldr	r3, .L20+8
	b	.L19
.L15:
	ldr	r3, .L20+12
	b	.L19
.L14:
	ldr	r3, .L20+16
	b	.L19
.L13:
	ldr	r3, .L20+20
	b	.L19
.L11:
	ldr	r3, .L20+24
	b	.L19
.L10:
	mov	r3, #0
.L19:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L21:
	.align	2
.L20:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.size	dayOfTheWeek, .-dayOfTheWeek
	.section	.rodata
	.align	2
.LC7:
	.ascii	"brezen\000"
	.text
	.align	2
	.global	monthOfTheYear
	.syntax unified
	.arm
	.fpu softvfp
	.type	monthOfTheYear, %function
monthOfTheYear:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, .L24
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L25:
	.align	2
.L24:
	.word	.LC7
	.size	monthOfTheYear, .-monthOfTheYear
	.align	2
	.global	daysUntil
	.syntax unified
	.arm
	.fpu softvfp
	.type	daysUntil, %function
daysUntil:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	daysUntil, .-daysUntil
	.align	2
	.global	weeksUntil
	.syntax unified
	.arm
	.fpu softvfp
	.type	weeksUntil, %function
weeksUntil:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	weeksUntil, .-weeksUntil
	.align	2
	.global	dayFromDate
	.syntax unified
	.arm
	.fpu softvfp
	.type	dayFromDate, %function
dayFromDate:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	dayFromDate, .-dayFromDate
	.section	.rodata
	.align	2
.LC8:
	.ascii	"the_stack_data/688488.c\000"
	.align	2
.LC9:
	.ascii	"isValidDate ( 1, 1, 2016 )\000"
	.align	2
.LC10:
	.ascii	"! isValidDate ( -1, 1, 2016 )\000"
	.align	2
.LC11:
	.ascii	"! isValidDate ( 0, 1, 2016 )\000"
	.align	2
.LC12:
	.ascii	"! isValidDate ( 32, 1, 2016 )\000"
	.align	2
.LC13:
	.ascii	"! isValidDate ( 32, 1, 111 )\000"
	.align	2
.LC14:
	.ascii	"! isValidDate ( 32, 0, 2016 )\000"
	.align	2
.LC15:
	.ascii	"! isValidDate ( 32, 13, 2016 )\000"
	.align	2
.LC16:
	.ascii	"isValidDate ( 28, 2, 2016 )\000"
	.align	2
.LC17:
	.ascii	"isValidDate ( 29, 2, 2016 )\000"
	.align	2
.LC18:
	.ascii	"! isValidDate ( 30, 2, 2016 )\000"
	.align	2
.LC19:
	.ascii	"! isValidDate ( 29, 2, 2017 )\000"
	.align	2
.LC20:
	.ascii	"! isValidDate ( 29, 2, 2015 )\000"
	.align	2
.LC21:
	.ascii	"! isValidDate ( 29, 2, 2100 )\000"
	.align	2
.LC22:
	.ascii	"daysInMonth ( 1, 2016 ) == 31\000"
	.align	2
.LC23:
	.ascii	"daysInMonth ( 3, 2016 ) == 31\000"
	.align	2
.LC24:
	.ascii	"daysInMonth ( 4, 2016 ) == 30\000"
	.align	2
.LC25:
	.ascii	"daysInMonth ( 5, 2016 ) == 31\000"
	.align	2
.LC26:
	.ascii	"daysInMonth ( 6, 2016 ) == 30\000"
	.align	2
.LC27:
	.ascii	"daysInMonth ( 7, 2016 ) == 31\000"
	.align	2
.LC28:
	.ascii	"daysInMonth ( 8, 2016 ) == 31\000"
	.align	2
.LC29:
	.ascii	"daysInMonth ( 9, 2016 ) == 30\000"
	.align	2
.LC30:
	.ascii	"daysInMonth ( 10, 2016 ) == 31\000"
	.align	2
.LC31:
	.ascii	"daysInMonth ( 11, 2016 ) == 30\000"
	.align	2
.LC32:
	.ascii	"daysInMonth ( 12, 2016 ) == 31\000"
	.align	2
.LC33:
	.ascii	"daysInMonth ( 2, 2016 ) == 29\000"
	.align	2
.LC34:
	.ascii	"daysInMonth ( 2, 2015 ) == 28\000"
	.align	2
.LC35:
	.ascii	"daysInMonth ( 2, 2017 ) == 28\000"
	.align	2
.LC36:
	.ascii	"daysInMonth ( 2, 2000 ) == 29\000"
	.align	2
.LC37:
	.ascii	"daysInMonth ( 2, 2100 ) == 28\000"
	.align	2
.LC38:
	.ascii	"daysInMonth ( 2, 2400 ) == 29\000"
	.align	2
.LC39:
	.ascii	"daysUntil ( 1, 1, 2016 ) == 0\000"
	.align	2
.LC40:
	.ascii	"daysUntil ( 2, 1, 2016 ) == 1\000"
	.align	2
.LC41:
	.ascii	"daysUntil ( 3, 1, 2016 ) == 2\000"
	.align	2
.LC42:
	.ascii	"daysUntil ( 4, 1, 2016 ) == 3\000"
	.align	2
.LC43:
	.ascii	"daysUntil ( 5, 1, 2016 ) == 4\000"
	.align	2
.LC44:
	.ascii	"daysUntil ( 6, 1, 2016 ) == 5\000"
	.align	2
.LC45:
	.ascii	"daysUntil ( 7, 1, 2016 ) == 6\000"
	.align	2
.LC46:
	.ascii	"daysUntil ( 8, 1, 2016 ) == 7\000"
	.align	2
.LC47:
	.ascii	"daysUntil ( 9, 1, 2016 ) == 8\000"
	.align	2
.LC48:
	.ascii	"daysUntil ( 10, 1, 2016 ) == 9\000"
	.align	2
.LC49:
	.ascii	"daysUntil ( 11, 1, 2016 ) == 10\000"
	.align	2
.LC50:
	.ascii	"daysUntil ( 30, 12, 2016 ) == 364\000"
	.align	2
.LC51:
	.ascii	"daysUntil ( 31, 12, 2016 ) == 365\000"
	.align	2
.LC52:
	.ascii	"weeksUntil ( 1, 1, 2016, 4 ) == 0\000"
	.align	2
.LC53:
	.ascii	"weeksUntil ( 2, 1, 2016, 4 ) == 0\000"
	.align	2
.LC54:
	.ascii	"weeksUntil ( 3, 1, 2016, 4 ) == 0\000"
	.align	2
.LC55:
	.ascii	"weeksUntil ( 4, 1, 2016, 4 ) == 1\000"
	.align	2
.LC56:
	.ascii	"weeksUntil ( 5, 1, 2016, 4 ) == 1\000"
	.align	2
.LC57:
	.ascii	"weeksUntil ( 6, 1, 2016, 4 ) == 1\000"
	.align	2
.LC58:
	.ascii	"weeksUntil ( 7, 1, 2016, 4 ) == 1\000"
	.align	2
.LC59:
	.ascii	"weeksUntil ( 8, 1, 2016, 4 ) == 1\000"
	.align	2
.LC60:
	.ascii	"weeksUntil ( 9, 1, 2016, 4 ) == 1\000"
	.align	2
.LC61:
	.ascii	"weeksUntil ( 10, 1, 2016, 4 ) == 1\000"
	.align	2
.LC62:
	.ascii	"weeksUntil ( 11, 1, 2016, 4 ) == 2\000"
	.align	2
.LC63:
	.ascii	"weeksUntil ( 12, 1, 2016, 4 ) == 2\000"
	.align	2
.LC64:
	.ascii	"weeksUntil ( 25, 12, 2016, 4 ) == 51\000"
	.align	2
.LC65:
	.ascii	"weeksUntil ( 26, 12, 2016, 4 ) == 52\000"
	.align	2
.LC66:
	.ascii	"dayFromDate ( 1, 1, 2016, 4 ) == 4\000"
	.align	2
.LC67:
	.ascii	"dayFromDate ( 2, 1, 2016, 4 ) == 5\000"
	.align	2
.LC68:
	.ascii	"dayFromDate ( 3, 1, 2016, 4 ) == 6\000"
	.align	2
.LC69:
	.ascii	"dayFromDate ( 4, 1, 2016, 4 ) == 0\000"
	.align	2
.LC70:
	.ascii	"dayFromDate ( 5, 1, 2016, 4 ) == 1\000"
	.align	2
.LC71:
	.ascii	"dayFromDate ( 6, 1, 2016, 4 ) == 2\000"
	.align	2
.LC72:
	.ascii	"dayFromDate ( 11, 1, 2016, 4 ) == 0\000"
	.align	2
.LC73:
	.ascii	"dayFromDate ( 18, 1, 2016, 4 ) == 0\000"
	.align	2
.LC74:
	.ascii	"dayFromDate ( 25, 1, 2016, 4 ) == 0\000"
	.align	2
.LC75:
	.ascii	"dayFromDate ( 1, 2, 2016, 4 ) == 0\000"
	.align	2
.LC76:
	.ascii	"dayFromDate ( 8, 2, 2016, 4 ) == 0\000"
	.align	2
.LC77:
	.ascii	"dayFromDate ( 15, 2, 2016, 4 ) == 0\000"
	.align	2
.LC78:
	.ascii	"dayFromDate ( 22, 2, 2016, 4 ) == 0\000"
	.text
	.align	2
	.global	tests
	.syntax unified
	.arm
	.fpu softvfp
	.type	tests, %function
tests:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #1
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	bne	.L33
	ldr	r3, .L104
	mov	r2, #152
	ldr	r1, .L104+4
	ldr	r0, .L104+8
	bl	__assert_fail
.L33:
	mov	r2, #2016
	mov	r1, #1
	mvn	r0, #0
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L34
	ldr	r3, .L104
	mov	r2, #153
	ldr	r1, .L104+4
	ldr	r0, .L104+12
	bl	__assert_fail
.L34:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #0
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L35
	ldr	r3, .L104
	mov	r2, #154
	ldr	r1, .L104+4
	ldr	r0, .L104+16
	bl	__assert_fail
.L35:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #32
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L36
	ldr	r3, .L104
	mov	r2, #155
	ldr	r1, .L104+4
	ldr	r0, .L104+20
	bl	__assert_fail
.L36:
	mov	r2, #111
	mov	r1, #1
	mov	r0, #32
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L37
	ldr	r3, .L104
	mov	r2, #156
	ldr	r1, .L104+4
	ldr	r0, .L104+24
	bl	__assert_fail
.L37:
	mov	r2, #2016
	mov	r1, #0
	mov	r0, #32
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L38
	ldr	r3, .L104
	mov	r2, #157
	ldr	r1, .L104+4
	ldr	r0, .L104+28
	bl	__assert_fail
.L38:
	mov	r2, #2016
	mov	r1, #13
	mov	r0, #32
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L39
	ldr	r3, .L104
	mov	r2, #158
	ldr	r1, .L104+4
	ldr	r0, .L104+32
	bl	__assert_fail
.L39:
	mov	r2, #2016
	mov	r1, #2
	mov	r0, #28
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	bne	.L40
	ldr	r3, .L104
	mov	r2, #159
	ldr	r1, .L104+4
	ldr	r0, .L104+36
	bl	__assert_fail
.L40:
	mov	r2, #2016
	mov	r1, #2
	mov	r0, #29
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	bne	.L41
	ldr	r3, .L104
	mov	r2, #160
	ldr	r1, .L104+4
	ldr	r0, .L104+40
	bl	__assert_fail
.L41:
	mov	r2, #2016
	mov	r1, #2
	mov	r0, #30
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L42
	ldr	r3, .L104
	mov	r2, #161
	ldr	r1, .L104+4
	ldr	r0, .L104+44
	bl	__assert_fail
.L42:
	ldr	r2, .L104+48
	mov	r1, #2
	mov	r0, #29
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L43
	ldr	r3, .L104
	mov	r2, #162
	ldr	r1, .L104+4
	ldr	r0, .L104+52
	bl	__assert_fail
.L43:
	ldr	r2, .L104+56
	mov	r1, #2
	mov	r0, #29
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L44
	ldr	r3, .L104
	mov	r2, #163
	ldr	r1, .L104+4
	ldr	r0, .L104+60
	bl	__assert_fail
.L44:
	ldr	r2, .L104+64
	mov	r1, #2
	mov	r0, #29
	bl	isValidDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L45
	ldr	r3, .L104
	mov	r2, #164
	ldr	r1, .L104+4
	ldr	r0, .L104+68
	bl	__assert_fail
.L45:
	mov	r1, #2016
	mov	r0, #1
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #31
	beq	.L46
	ldr	r3, .L104
	mov	r2, #166
	ldr	r1, .L104+4
	ldr	r0, .L104+72
	bl	__assert_fail
.L46:
	mov	r1, #2016
	mov	r0, #3
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #31
	beq	.L47
	ldr	r3, .L104
	mov	r2, #167
	ldr	r1, .L104+4
	ldr	r0, .L104+76
	bl	__assert_fail
.L47:
	mov	r1, #2016
	mov	r0, #4
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #30
	beq	.L48
	ldr	r3, .L104
	mov	r2, #168
	ldr	r1, .L104+4
	ldr	r0, .L104+80
	bl	__assert_fail
.L48:
	mov	r1, #2016
	mov	r0, #5
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #31
	beq	.L49
	ldr	r3, .L104
	mov	r2, #169
	ldr	r1, .L104+4
	ldr	r0, .L104+84
	bl	__assert_fail
.L49:
	mov	r1, #2016
	mov	r0, #6
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #30
	beq	.L50
	ldr	r3, .L104
	mov	r2, #170
	ldr	r1, .L104+4
	ldr	r0, .L104+88
	bl	__assert_fail
.L50:
	mov	r1, #2016
	mov	r0, #7
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #31
	beq	.L51
	ldr	r3, .L104
	mov	r2, #171
	ldr	r1, .L104+4
	ldr	r0, .L104+92
	bl	__assert_fail
.L51:
	mov	r1, #2016
	mov	r0, #8
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #31
	beq	.L52
	ldr	r3, .L104
	mov	r2, #172
	ldr	r1, .L104+4
	ldr	r0, .L104+96
	bl	__assert_fail
.L52:
	mov	r1, #2016
	mov	r0, #9
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #30
	beq	.L53
	ldr	r3, .L104
	mov	r2, #173
	ldr	r1, .L104+4
	ldr	r0, .L104+100
	bl	__assert_fail
.L53:
	mov	r1, #2016
	mov	r0, #10
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #31
	beq	.L54
	ldr	r3, .L104
	mov	r2, #174
	ldr	r1, .L104+4
	ldr	r0, .L104+104
	bl	__assert_fail
.L54:
	mov	r1, #2016
	mov	r0, #11
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #30
	beq	.L55
	ldr	r3, .L104
	mov	r2, #175
	ldr	r1, .L104+4
	ldr	r0, .L104+108
	bl	__assert_fail
.L55:
	mov	r1, #2016
	mov	r0, #12
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #31
	beq	.L56
	ldr	r3, .L104
	mov	r2, #176
	ldr	r1, .L104+4
	ldr	r0, .L104+112
	bl	__assert_fail
.L56:
	mov	r1, #2016
	mov	r0, #2
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #29
	beq	.L57
	ldr	r3, .L104
	mov	r2, #177
	ldr	r1, .L104+4
	ldr	r0, .L104+116
	bl	__assert_fail
.L57:
	ldr	r1, .L104+56
	mov	r0, #2
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #28
	beq	.L58
	ldr	r3, .L104
	mov	r2, #178
	ldr	r1, .L104+4
	ldr	r0, .L104+120
	bl	__assert_fail
.L58:
	ldr	r1, .L104+48
	mov	r0, #2
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #28
	beq	.L59
	ldr	r3, .L104
	mov	r2, #179
	ldr	r1, .L104+4
	ldr	r0, .L104+124
	bl	__assert_fail
.L59:
	mov	r1, #2000
	mov	r0, #2
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #29
	beq	.L60
	ldr	r3, .L104
	mov	r2, #180
	ldr	r1, .L104+4
	ldr	r0, .L104+128
	bl	__assert_fail
.L60:
	ldr	r1, .L104+64
	mov	r0, #2
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #28
	beq	.L61
	ldr	r3, .L104
	mov	r2, #181
	ldr	r1, .L104+4
	ldr	r0, .L104+132
	bl	__assert_fail
.L61:
	mov	r1, #2400
	mov	r0, #2
	bl	daysInMonth
	mov	r3, r0
	cmp	r3, #29
	beq	.L62
	ldr	r3, .L104
	mov	r2, #182
	ldr	r1, .L104+4
	ldr	r0, .L104+136
	bl	__assert_fail
.L62:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #1
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #0
	beq	.L63
	ldr	r3, .L104
	mov	r2, #184
	ldr	r1, .L104+4
	ldr	r0, .L104+140
	bl	__assert_fail
.L63:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #2
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #1
	beq	.L64
	ldr	r3, .L104
	mov	r2, #185
	ldr	r1, .L104+4
	ldr	r0, .L104+144
	bl	__assert_fail
.L64:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #3
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #2
	beq	.L65
	ldr	r3, .L104
	mov	r2, #186
	ldr	r1, .L104+4
	ldr	r0, .L104+148
	bl	__assert_fail
.L65:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #4
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #3
	beq	.L66
	ldr	r3, .L104
	mov	r2, #187
	ldr	r1, .L104+4
	ldr	r0, .L104+152
	bl	__assert_fail
.L66:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #5
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #4
	beq	.L67
	ldr	r3, .L104
	mov	r2, #188
	ldr	r1, .L104+4
	ldr	r0, .L104+156
	bl	__assert_fail
.L67:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #6
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #5
	beq	.L68
	ldr	r3, .L104
	mov	r2, #189
	ldr	r1, .L104+4
	ldr	r0, .L104+160
	bl	__assert_fail
.L68:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #7
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #6
	beq	.L69
	ldr	r3, .L104
	mov	r2, #190
	ldr	r1, .L104+4
	ldr	r0, .L104+164
	bl	__assert_fail
.L69:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #8
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #7
	beq	.L70
	ldr	r3, .L104
	mov	r2, #191
	ldr	r1, .L104+4
	ldr	r0, .L104+168
	bl	__assert_fail
.L70:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #9
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #8
	beq	.L71
	ldr	r3, .L104
	mov	r2, #192
	ldr	r1, .L104+4
	ldr	r0, .L104+172
	bl	__assert_fail
.L71:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #10
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #9
	beq	.L72
	ldr	r3, .L104
	mov	r2, #193
	ldr	r1, .L104+4
	ldr	r0, .L104+176
	bl	__assert_fail
.L72:
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #11
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #10
	beq	.L73
	ldr	r3, .L104
	mov	r2, #194
	ldr	r1, .L104+4
	ldr	r0, .L104+180
	bl	__assert_fail
.L73:
	mov	r2, #2016
	mov	r1, #12
	mov	r0, #30
	bl	daysUntil
	mov	r3, r0
	cmp	r3, #364
	beq	.L74
	ldr	r3, .L104
	mov	r2, #195
	ldr	r1, .L104+4
	ldr	r0, .L104+184
	bl	__assert_fail
.L74:
	mov	r2, #2016
	mov	r1, #12
	mov	r0, #31
	bl	daysUntil
	mov	r3, r0
	ldr	r2, .L104+188
	cmp	r3, r2
	beq	.L75
	ldr	r3, .L104
	mov	r2, #196
	ldr	r1, .L104+4
	ldr	r0, .L104+192
	bl	__assert_fail
.L75:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #1
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #0
	beq	.L76
	ldr	r3, .L104
	mov	r2, #198
	ldr	r1, .L104+4
	ldr	r0, .L104+196
	bl	__assert_fail
.L76:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #2
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #0
	beq	.L77
	ldr	r3, .L104
	mov	r2, #199
	ldr	r1, .L104+4
	ldr	r0, .L104+200
	bl	__assert_fail
.L77:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #3
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #0
	beq	.L78
	ldr	r3, .L104
	mov	r2, #200
	ldr	r1, .L104+4
	ldr	r0, .L104+204
	bl	__assert_fail
.L78:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #4
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #1
	beq	.L79
	ldr	r3, .L104
	mov	r2, #201
	ldr	r1, .L104+4
	ldr	r0, .L104+208
	bl	__assert_fail
.L79:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #5
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #1
	beq	.L80
	ldr	r3, .L104
	mov	r2, #202
	ldr	r1, .L104+4
	ldr	r0, .L104+212
	bl	__assert_fail
.L80:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #6
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #1
	beq	.L81
	ldr	r3, .L104
	mov	r2, #203
	ldr	r1, .L104+4
	ldr	r0, .L104+216
	bl	__assert_fail
.L81:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #7
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #1
	beq	.L82
	ldr	r3, .L104
	mov	r2, #204
	ldr	r1, .L104+4
	ldr	r0, .L104+220
	bl	__assert_fail
.L82:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #8
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #1
	beq	.L83
	ldr	r3, .L104
	mov	r2, #205
	ldr	r1, .L104+4
	ldr	r0, .L104+224
	bl	__assert_fail
.L83:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #9
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #1
	beq	.L84
	ldr	r3, .L104
	mov	r2, #206
	ldr	r1, .L104+4
	ldr	r0, .L104+228
	bl	__assert_fail
.L84:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #10
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #1
	beq	.L85
	ldr	r3, .L104
	mov	r2, #207
	ldr	r1, .L104+4
	ldr	r0, .L104+232
	bl	__assert_fail
.L85:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #11
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #2
	beq	.L86
	ldr	r3, .L104
	mov	r2, #208
	ldr	r1, .L104+4
	ldr	r0, .L104+236
	bl	__assert_fail
.L86:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #12
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #2
	beq	.L87
	ldr	r3, .L104
	mov	r2, #209
	ldr	r1, .L104+4
	ldr	r0, .L104+240
	bl	__assert_fail
.L87:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #12
	mov	r0, #25
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #51
	beq	.L88
	ldr	r3, .L104
	mov	r2, #210
	ldr	r1, .L104+4
	ldr	r0, .L104+244
	bl	__assert_fail
.L88:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #12
	mov	r0, #26
	bl	weeksUntil
	mov	r3, r0
	cmp	r3, #52
	beq	.L89
	ldr	r3, .L104
	mov	r2, #211
	ldr	r1, .L104+4
	ldr	r0, .L104+248
	bl	__assert_fail
.L89:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #1
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #4
	beq	.L90
	ldr	r3, .L104
	mov	r2, #213
	ldr	r1, .L104+4
	ldr	r0, .L104+252
	bl	__assert_fail
.L90:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #2
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #5
	beq	.L91
	ldr	r3, .L104
	mov	r2, #214
	ldr	r1, .L104+4
	ldr	r0, .L104+256
	bl	__assert_fail
.L91:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #3
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #6
	beq	.L92
	ldr	r3, .L104
	mov	r2, #215
	ldr	r1, .L104+4
	ldr	r0, .L104+260
	bl	__assert_fail
.L92:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #4
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L93
	ldr	r3, .L104
	mov	r2, #216
	ldr	r1, .L104+4
	ldr	r0, .L104+264
	bl	__assert_fail
.L93:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #5
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #1
	beq	.L94
	ldr	r3, .L104
	mov	r2, #217
	ldr	r1, .L104+4
	ldr	r0, .L104+268
	bl	__assert_fail
.L94:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #6
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #2
	beq	.L95
	ldr	r3, .L104
	mov	r2, #218
	ldr	r1, .L104+4
	ldr	r0, .L104+272
	bl	__assert_fail
.L95:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #11
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L96
	ldr	r3, .L104
	mov	r2, #219
	ldr	r1, .L104+4
	ldr	r0, .L104+276
	bl	__assert_fail
.L96:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #18
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L97
	ldr	r3, .L104
	mov	r2, #220
	ldr	r1, .L104+4
	ldr	r0, .L104+280
	bl	__assert_fail
.L97:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #1
	mov	r0, #25
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L98
	ldr	r3, .L104
	mov	r2, #221
	ldr	r1, .L104+4
	ldr	r0, .L104+284
	bl	__assert_fail
.L98:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #2
	mov	r0, #1
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L99
	ldr	r3, .L104
	mov	r2, #222
	ldr	r1, .L104+4
	ldr	r0, .L104+288
	bl	__assert_fail
.L99:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #2
	mov	r0, #8
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L100
	ldr	r3, .L104
	mov	r2, #223
	ldr	r1, .L104+4
	ldr	r0, .L104+292
	bl	__assert_fail
.L100:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #2
	mov	r0, #15
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L101
	ldr	r3, .L104
	mov	r2, #224
	ldr	r1, .L104+4
	ldr	r0, .L104+296
	bl	__assert_fail
.L101:
	mov	r3, #4
	mov	r2, #2016
	mov	r1, #2
	mov	r0, #22
	bl	dayFromDate
	mov	r3, r0
	cmp	r3, #0
	beq	.L103
	ldr	r3, .L104
	mov	r2, #225
	ldr	r1, .L104+4
	ldr	r0, .L104+300
	bl	__assert_fail
.L103:
	nop
	pop	{fp, pc}
.L105:
	.align	2
.L104:
	.word	__PRETTY_FUNCTION__.4662
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	2017
	.word	.LC19
	.word	2015
	.word	.LC20
	.word	2100
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	365
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	.LC65
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.size	tests, .-tests
	.section	.rodata
	.align	2
.LC79:
	.ascii	"%d\000"
	.align	2
.LC80:
	.ascii	"Nespravny vstup.\000"
	.align	2
.LC81:
	.ascii	"%s %d. %s %d (%d)\012\000"
	.align	2
.LC82:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #32
	ldr	r3, .L112
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	bl	tests
	sub	r3, fp, #40
	mov	r1, r3
	ldr	r0, .L112+4
	bl	__isoc99_scanf
	mov	r3, r0
	cmp	r3, #1
	bne	.L107
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	blt	.L107
	ldr	r3, [fp, #-40]
	cmp	r3, #6
	bgt	.L107
	sub	r2, fp, #36
	sub	r1, fp, #32
	sub	r3, fp, #28
	mov	r0, r3
	bl	readDate
	mov	r3, r0
	cmp	r3, #0
	bne	.L108
.L107:
	ldr	r0, .L112+8
	bl	puts
	mov	r3, #1
	b	.L110
.L108:
	ldr	r0, [fp, #-28]
	ldr	r1, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-40]
	bl	dayFromDate
	mov	r3, r0
	mov	r0, r3
	bl	dayOfTheWeek
	mov	r6, r0
	ldr	r5, [fp, #-28]
	ldr	r3, [fp, #-32]
	mov	r0, r3
	bl	monthOfTheYear
	mov	r7, r0
	ldr	r4, [fp, #-36]
	ldr	r0, [fp, #-28]
	ldr	r1, [fp, #-32]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-40]
	bl	weeksUntil
	mov	r3, r0
	str	r3, [sp, #4]
	str	r4, [sp]
	mov	r3, r7
	mov	r2, r5
	mov	r1, r6
	ldr	r0, .L112+12
	bl	printf
	mov	r3, #0
.L110:
	ldr	r2, .L112
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L111
	bl	__stack_chk_fail
.L111:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L113:
	.align	2
.L112:
	.word	.LC82
	.word	.LC79
	.word	.LC80
	.word	.LC81
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.4662, %object
	.size	__PRETTY_FUNCTION__.4662, 6
__PRETTY_FUNCTION__.4662:
	.ascii	"tests\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
