	.file	"703078.c"
	.intel_syntax noprefix
	.text
	.globl	TICK_MS
	.section	.rodata
	.align 4
	.type	TICK_MS, @object
	.size	TICK_MS, 4
TICK_MS:
	.long	1092616192
	.text
	.globl	my_clock
	.type	my_clock, @function
my_clock:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	clock_gettime@PLT
	mov	rax, QWORD PTR -32[rbp]
	imul	rsi, rax, 1000000
	mov	rcx, QWORD PTR -24[rbp]
	movabs	rdx, 2361183241434822607
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 7
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	add	rax, rsi
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L3
	call	__stack_chk_fail@PLT
.L3:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	my_clock, .-my_clock
	.globl	sch
	.bss
	.align 32
	.type	sch, @object
	.size	sch, 2816
sch:
	.zero	2816
	.section	.rodata
.LC0:
	.string	"the_stack_data/703078.c"
	.align 8
.LC1:
	.string	"epoll_ctl(sch.epollfd, EPOLL_CTL_ADD, fd, &ev) == 0"
	.text
	.globl	add_to_watchlist
	.type	add_to_watchlist, @function
add_to_watchlist:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -20[rbp], 1
	mov	eax, DWORD PTR sch[rip+32]
	lea	rcx, -20[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, 1
	mov	edi, eax
	call	epoll_ctl@PLT
	test	eax, eax
	je	.L7
	lea	rcx, __PRETTY_FUNCTION__.4[rip]
	mov	edx, 107
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	__assert_fail@PLT
.L7:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L6
	call	__stack_chk_fail@PLT
.L6:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	add_to_watchlist, .-add_to_watchlist
	.globl	overflow_message
	.section	.rodata
.LC2:
	.string	"Overflow stack detected\n"
	.section	.data.rel.local,"aw"
	.align 8
	.type	overflow_message, @object
	.size	overflow_message, 8
overflow_message:
	.quad	.LC2
	.text
	.globl	stack_checker
	.type	stack_checker, @function
stack_checker:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -52[rbp], 0
	lea	rax, -52[rbp]
	mov	QWORD PTR -40[rbp], rax
	sub	QWORD PTR -40[rbp], 2048
	mov	eax, DWORD PTR sch[rip+2804]
	cdqe
	add	rax, 145
	sal	rax, 4
	mov	rdx, rax
	lea	rax, sch[rip]
	add	rdx, rax
	mov	rax, QWORD PTR [rdx]
	mov	rdx, QWORD PTR 8[rdx]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	cmp	QWORD PTR -40[rbp], rax
	ja	.L11
	mov	rax, QWORD PTR -32[rbp]
	cmp	QWORD PTR -40[rbp], rax
	jb	.L11
	mov	rax, QWORD PTR overflow_message[rip]
	mov	edx, 24
	mov	rsi, rax
	mov	edi, 1
	call	write@PLT
	mov	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	edi, 0
	call	exit@PLT
.L11:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	stack_checker, .-stack_checker
	.section	.rodata
.LC6:
	.string	"Inaccurate %f %s\n"
.LC8:
	.string	"inaccuracy / (float) ms < 0.3"
	.text
	.globl	sleep_for
	.type	sleep_for, @function
sleep_for:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	movss	DWORD PTR -36[rbp], xmm0
	mov	QWORD PTR -48[rbp], rdi
	mov	eax, 0
	call	my_clock
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR sch[rip+2804]
	cdqe
	add	rax, 4
	lea	rdx, 0[0+rax*8]
	lea	rax, sch[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, rax
	movss	xmm2, DWORD PTR -36[rbp]
	movss	xmm0, DWORD PTR .LC3[rip]
	mulss	xmm0, xmm2
	addss	xmm0, xmm1
	mov	edx, DWORD PTR sch[rip+2804]
	cvttss2si	rax, xmm0
	movsx	rdx, edx
	add	rdx, 4
	lea	rcx, 0[0+rdx*8]
	lea	rdx, sch[rip+8]
	mov	QWORD PTR [rcx+rdx], rax
	mov	eax, 0
	call	get_context1@PLT
	mov	BYTE PTR sch[rip+2808], 0
	mov	eax, 0
	call	my_clock
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -16[rbp]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, rax
	movss	xmm2, DWORD PTR .LC3[rip]
	movaps	xmm1, xmm0
	divss	xmm1, xmm2
	movss	xmm0, DWORD PTR -36[rbp]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC4[rip]
	andps	xmm0, xmm1
	movss	DWORD PTR -20[rbp], xmm0
	movss	xmm0, DWORD PTR -20[rbp]
	comiss	xmm0, DWORD PTR .LC5[rip]
	jbe	.L13
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, DWORD PTR -20[rbp]
	movq	rax, xmm3
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	movq	xmm0, rax
	lea	rdi, .LC6[rip]
	mov	eax, 1
	call	printf@PLT
.L13:
	movss	xmm0, DWORD PTR -20[rbp]
	divss	xmm0, DWORD PTR -36[rbp]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC7[rip]
	comisd	xmm0, xmm1
	ja	.L17
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 176
	lea	rsi, .LC0[rip]
	lea	rdi, .LC8[rip]
	call	__assert_fail@PLT
.L17:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	sleep_for, .-sleep_for
	.globl	print
	.type	print, @function
print:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -168[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L19
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L19:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 8
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vprintf@PLT
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L20
	call	__stack_chk_fail@PLT
.L20:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	print, .-print
	.section	.rodata
.LC9:
	.string	"foo"
.LC11:
	.string	"foo %d\n"
	.text
	.globl	foo
	.type	foo, @function
foo:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], 0
.L22:
	lea	rdi, .LC9[rip]
	movss	xmm0, DWORD PTR .LC10[rip]
	call	sleep_for
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	print
	add	DWORD PTR -4[rbp], 1
	jmp	.L22
	.cfi_endproc
.LFE11:
	.size	foo, .-foo
	.section	.rodata
.LC12:
	.string	"bar"
.LC13:
	.string	"bar %d\n"
	.text
	.globl	bar
	.type	bar, @function
bar:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], 0
.L24:
	lea	rdi, .LC12[rip]
	movss	xmm0, DWORD PTR .LC3[rip]
	call	sleep_for
	mov	eax, DWORD PTR -4[rbp]
	mov	esi, eax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	print
	add	DWORD PTR -4[rbp], 1
	jmp	.L24
	.cfi_endproc
.LFE12:
	.size	bar, .-bar
	.globl	do_some_work
	.section	.rodata
.LC14:
	.string	"fda80dsh0shfdasfdsa;fa"
	.section	.data.rel.local
	.align 8
	.type	do_some_work, @object
	.size	do_some_work, 8
do_some_work:
	.quad	.LC14
	.section	.rodata
.LC16:
	.string	"Baz....Time: %f\n"
	.text
	.globl	baz
	.type	baz, @function
baz:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	BYTE PTR sch[rip+2808], 0
	mov	eax, 0
	call	my_clock
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -36[rbp], 0
.L27:
	mov	ecx, DWORD PTR -36[rbp]
	movsx	rax, ecx
	imul	rax, rax, 1717986919
	shr	rax, 32
	sar	eax, 2
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	movsx	rbx, edx
	mov	rax, QWORD PTR do_some_work[rip]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, [rbx+rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	sub	rax, 20
	mov	QWORD PTR -24[rbp], rax
	movabs	rax, 13107200000
	cmp	QWORD PTR -24[rbp], rax
	jbe	.L26
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	mov	eax, 0
	call	my_clock
	sub	rax, QWORD PTR -32[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	xmm1, QWORD PTR .LC15[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC16[rip]
	mov	eax, 1
	call	printf@PLT
	mov	eax, 0
	call	my_clock
	mov	QWORD PTR -32[rbp], rax
.L26:
	add	DWORD PTR -36[rbp], 1
	jmp	.L27
	.cfi_endproc
.LFE13:
	.size	baz, .-baz
	.section	.rodata
.LC17:
	.string	"Baz1...%lu rounds %lu\n"
	.text
	.globl	baz1
	.type	baz1, @function
baz1:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	BYTE PTR sch[rip+2808], 0
	mov	QWORD PTR -16[rbp], 38209
	mov	QWORD PTR -8[rbp], 0
.L30:
	mov	rax, QWORD PTR do_some_work[rip]
	mov	rdi, rax
	call	strlen@PLT
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 3
	xor	QWORD PTR -16[rbp], rax
	mov	rcx, QWORD PTR -8[rbp]
	movabs	rdx, -1940876883237814617
	mov	rax, rcx
	mul	rdx
	mov	rax, rdx
	shr	rax, 29
	imul	rdx, rax, 600000000
	mov	rax, rcx
	sub	rax, rdx
	test	rax, rax
	jne	.L29
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
.L29:
	add	QWORD PTR -8[rbp], 1
	jmp	.L30
	.cfi_endproc
.LFE14:
	.size	baz1, .-baz1
	.section	.rodata
.LC18:
	.string	"index < sch.taskno"
	.text
	.globl	run_program
	.type	run_program, @function
run_program:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR sch[rip+2800]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L32
	lea	rcx, __PRETTY_FUNCTION__.2[rip]
	mov	edx, 246
	lea	rsi, .LC0[rip]
	lea	rdi, .LC18[rip]
	call	__assert_fail@PLT
.L32:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR sch[rip+2804], eax
	mov	eax, DWORD PTR sch[rip+2804]
	cdqe
	sal	rax, 6
	lea	rdx, 400[rax]
	lea	rax, sch[rip]
	add	rax, rdx
	mov	rdi, rax
	call	set_context@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	run_program, .-run_program
	.globl	sig_handler
	.type	sig_handler, @function
sig_handler:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	movzx	eax, BYTE PTR sch[rip+2808]
	test	al, al
	jne	.L37
	mov	eax, 0
	call	is_in_critical@PLT
	test	al, al
	jne	.L37
	movzx	eax, BYTE PTR sch[rip+2809]
	xor	eax, 1
	test	al, al
	jne	.L37
	mov	BYTE PTR sch[rip+2808], 1
	mov	eax, 0
	call	stack_checker
	mov	eax, 0
	call	get_context1@PLT
	mov	BYTE PTR sch[rip+2808], 0
	jmp	.L33
.L37:
	nop
.L33:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	sig_handler, .-sig_handler
	.section	.rodata
.LC19:
	.string	"Timer error"
.LC21:
	.string	"Set timer error"
	.text
	.globl	setup_timer
	.type	setup_timer, @function
setup_timer:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -192[rbp]
	mov	rsi, rax
	mov	edi, 0
	call	getitimer@PLT
	test	eax, eax
	je	.L39
	lea	rdi, .LC19[rip]
	call	perror@PLT
.L39:
	mov	QWORD PTR -192[rbp], 0
	movss	xmm1, DWORD PTR .LC20[rip]
	movss	xmm0, DWORD PTR .LC3[rip]
	mulss	xmm0, xmm1
	cvttss2si	rax, xmm0
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	QWORD PTR -168[rbp], rdx
	lea	rax, -192[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	setitimer@PLT
	test	eax, eax
	je	.L40
	lea	rdi, .LC21[rip]
	call	perror@PLT
.L40:
	lea	rdx, -160[rbp]
	mov	eax, 0
	mov	ecx, 19
	mov	rdi, rdx
	rep stosq
	mov	DWORD PTR -24[rbp], 1073741824
	lea	rax, sig_handler[rip]
	mov	QWORD PTR -160[rbp], rax
	lea	rax, -160[rbp]
	add	rax, 8
	mov	rdi, rax
	call	sigemptyset@PLT
	lea	rax, -160[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 14
	call	sigaction@PLT
	lea	rax, -160[rbp]
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 11
	call	sigaction@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L41
	call	__stack_chk_fail@PLT
.L41:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	setup_timer, .-setup_timer
	.globl	idle_task
	.type	idle_task, @function
idle_task:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
.L43:
	jmp	.L43
	.cfi_endproc
.LFE18:
	.size	idle_task, .-idle_task
	.section	.rodata
.LC22:
	.string	"clear-ready-mask"
	.text
	.globl	clear_ready_mask
	.type	clear_ready_mask, @function
clear_ready_mask:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR sch[rip+2804]
	cdqe
	lea	rdx, sch[rip]
	mov	BYTE PTR [rax+rdx], 0
	lea	rdi, .LC22[rip]
	pxor	xmm0, xmm0
	call	sleep_for
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	clear_ready_mask, .-clear_ready_mask
	.section	.rodata
.LC24:
	.string	"Waking %d\n"
.LC25:
	.string	"Watch for IO failed"
	.text
	.globl	watch_for_io
	.type	watch_for_io, @function
watch_for_io:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 384
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR sch[rip+32]
	lea	rsi, -368[rbp]
	mov	ecx, 0
	mov	edx, 30
	mov	edi, eax
	call	epoll_wait@PLT
	mov	DWORD PTR -376[rbp], eax
	cmp	DWORD PTR -376[rbp], 0
	js	.L46
	mov	DWORD PTR -380[rbp], 0
	jmp	.L47
.L48:
	mov	eax, DWORD PTR -380[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rbp
	sub	rax, 364
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -372[rbp], eax
	mov	eax, DWORD PTR -372[rbp]
	lea	rdx, sch[rip]
	mov	BYTE PTR [rax+rdx], 1
	mov	eax, DWORD PTR -372[rbp]
	mov	esi, eax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -380[rbp], 1
.L47:
	mov	eax, DWORD PTR -380[rbp]
	cmp	eax, DWORD PTR -376[rbp]
	jl	.L48
	jmp	.L51
.L46:
	lea	rdi, .LC25[rip]
	call	perror@PLT
.L51:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L50
	call	__stack_chk_fail@PLT
.L50:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	watch_for_io, .-watch_for_io
	.globl	start_time
	.bss
	.align 8
	.type	start_time, @object
	.size	start_time, 8
start_time:
	.zero	8
	.text
	.globl	scheduler
	.type	scheduler, @function
scheduler:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	BYTE PTR sch[rip+2808], 1
	mov	rax, QWORD PTR start_time[rip]
	test	rax, rax
	jne	.L53
	mov	eax, 0
	call	my_clock
	mov	QWORD PTR start_time[rip], rax
.L53:
	mov	eax, 0
	call	my_clock
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR start_time[rip]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR start_time[rip], rax
	mov	eax, 0
	call	watch_for_io
	mov	eax, DWORD PTR sch[rip+2804]
	cdqe
	sal	rax, 6
	mov	rcx, rax
	lea	rdx, sch[rip+400]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rdi, QWORD PTR 8[rax]
	mov	QWORD PTR [rcx+rdx], rsi
	mov	QWORD PTR 8[rcx+rdx], rdi
	mov	rsi, QWORD PTR 16[rax]
	mov	rdi, QWORD PTR 24[rax]
	mov	QWORD PTR 16[rcx+rdx], rsi
	mov	QWORD PTR 24[rcx+rdx], rdi
	mov	rsi, QWORD PTR 32[rax]
	mov	rdi, QWORD PTR 40[rax]
	mov	QWORD PTR 32[rcx+rdx], rsi
	mov	QWORD PTR 40[rcx+rdx], rdi
	mov	rsi, QWORD PTR 48[rax]
	mov	rdi, QWORD PTR 56[rax]
	mov	QWORD PTR 48[rcx+rdx], rsi
	mov	QWORD PTR 56[rcx+rdx], rdi
	mov	eax, DWORD PTR sch[rip+2804]
	cdqe
	add	rax, 68
	lea	rdx, 0[0+rax*4]
	lea	rax, sch[rip+8]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR sch[rip+2804]
	subss	xmm0, xmm1
	cdqe
	add	rax, 68
	lea	rdx, 0[0+rax*4]
	lea	rax, sch[rip+8]
	movss	DWORD PTR [rdx+rax], xmm0
	mov	DWORD PTR -36[rbp], 0
	jmp	.L54
.L57:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, 4
	lea	rdx, 0[0+rax*8]
	lea	rax, sch[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jle	.L55
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, 4
	lea	rdx, 0[0+rax*8]
	lea	rax, sch[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	sub	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	movsx	rdx, edx
	add	rdx, 4
	lea	rcx, 0[0+rdx*8]
	lea	rdx, sch[rip+8]
	mov	QWORD PTR [rcx+rdx], rax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, 4
	lea	rdx, 0[0+rax*8]
	lea	rax, sch[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	movss	xmm0, DWORD PTR .LC20[rip]
	cvtss2sd	xmm0, xmm0
	movsd	xmm3, QWORD PTR .LC26[rip]
	movapd	xmm2, xmm0
	divsd	xmm2, xmm3
	movsd	xmm0, QWORD PTR .LC27[rip]
	mulsd	xmm0, xmm2
	comisd	xmm0, xmm1
	jb	.L55
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, 4
	lea	rdx, 0[0+rax*8]
	lea	rax, sch[rip+8]
	mov	QWORD PTR [rdx+rax], 0
.L55:
	add	DWORD PTR -36[rbp], 1
.L54:
	mov	eax, DWORD PTR sch[rip+2800]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L57
	mov	DWORD PTR -32[rbp], 1
	jmp	.L58
.L59:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	add	rax, 68
	lea	rdx, 0[0+rax*4]
	lea	rax, sch[rip+8]
	movss	xmm1, DWORD PTR [rdx+rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR sch[rip+2800]
	pxor	xmm2, xmm2
	cvtsi2ss	xmm2, eax
	divss	xmm0, xmm2
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	add	rax, 68
	lea	rdx, 0[0+rax*4]
	lea	rax, sch[rip+8]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -32[rbp], 1
.L58:
	mov	eax, DWORD PTR sch[rip+2800]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L59
	movss	xmm0, DWORD PTR .LC28[rip]
	movss	DWORD PTR -28[rbp], xmm0
	mov	DWORD PTR -24[rbp], -1
	mov	DWORD PTR -20[rbp], 1
	jmp	.L60
.L63:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 68
	lea	rdx, 0[0+rax*4]
	lea	rax, sch[rip+8]
	movss	xmm0, DWORD PTR [rdx+rax]
	comiss	xmm0, DWORD PTR -28[rbp]
	jbe	.L61
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 4
	lea	rdx, 0[0+rax*8]
	lea	rax, sch[rip+8]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L61
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, sch[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	je	.L61
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 68
	lea	rdx, 0[0+rax*4]
	lea	rax, sch[rip+8]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	DWORD PTR -28[rbp], xmm0
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -24[rbp], eax
.L61:
	add	DWORD PTR -20[rbp], 1
.L60:
	mov	eax, DWORD PTR sch[rip+2800]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L63
	mov	eax, DWORD PTR -24[rbp]
	mov	edi, eax
	call	run_program
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	scheduler, .-scheduler
	.section	.rodata
.LC29:
	.string	"Ending"
	.text
	.globl	end
	.type	end, @function
end:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC29[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
	.cfi_endproc
.LFE22:
	.size	end, .-end
	.section	.rodata
	.align 8
.LC30:
	.string	"Blocked writing lower than %p \n"
	.align 8
.LC31:
	.string	"protect_low != NULL && protect_low + 4096 == protect_high"
	.text
	.globl	new_task
	.type	new_task, @function
new_task:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 152
	.cfi_offset 3, -24
	mov	QWORD PTR -152[rbp], rdi
	mov	DWORD PTR -132[rbp], 8192
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	mov	r9d, 0
	mov	r8d, -1
	mov	ecx, 34
	mov	edx, 3
	mov	rsi, rax
	mov	edi, 0
	call	mmap@PLT
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	sub	rax, 4096
	mov	r9d, 0
	mov	r8d, -1
	mov	ecx, 34
	mov	edx, 0
	mov	esi, 4096
	mov	rdi, rax
	call	mmap@PLT
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	cmp	QWORD PTR -112[rbp], 0
	je	.L68
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 4096
	cmp	QWORD PTR -120[rbp], rax
	je	.L71
.L68:
	lea	rcx, __PRETTY_FUNCTION__.1[rip]
	mov	edx, 385
	lea	rsi, .LC0[rip]
	lea	rdi, .LC31[rip]
	call	__assert_fail@PLT
.L71:
	mov	eax, DWORD PTR -132[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	and	rax, -16
	mov	QWORD PTR -104[rbp], rax
	sub	QWORD PTR -104[rbp], 256
	sub	QWORD PTR -104[rbp], 8
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, end[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR sch[rip+2800]
	cmp	eax, 28
	jg	.L70
	mov	eax, DWORD PTR sch[rip+2800]
	cdqe
	sal	rax, 6
	mov	rdx, rax
	lea	rax, sch[rip+400]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rbx, QWORD PTR -72[rbp]
	mov	QWORD PTR [rdx+rax], rcx
	mov	QWORD PTR 8[rdx+rax], rbx
	mov	rcx, QWORD PTR -64[rbp]
	mov	rbx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rdx+rax], rcx
	mov	QWORD PTR 24[rdx+rax], rbx
	mov	rcx, QWORD PTR -48[rbp]
	mov	rbx, QWORD PTR -40[rbp]
	mov	QWORD PTR 32[rdx+rax], rcx
	mov	QWORD PTR 40[rdx+rax], rbx
	mov	rcx, QWORD PTR -32[rbp]
	mov	rbx, QWORD PTR -24[rbp]
	mov	QWORD PTR 48[rdx+rax], rcx
	mov	QWORD PTR 56[rdx+rax], rbx
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	QWORD PTR -88[rbp], rax
	mov	eax, DWORD PTR sch[rip+2800]
	cdqe
	add	rax, 145
	sal	rax, 4
	mov	rsi, rax
	lea	rcx, sch[rip]
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rsi+rcx], rax
	mov	QWORD PTR 8[rsi+rcx], rdx
	mov	eax, DWORD PTR sch[rip+2800]
	add	eax, 1
	mov	DWORD PTR sch[rip+2800], eax
	jmp	.L72
.L70:
	mov	edi, 89
	call	exit@PLT
.L72:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	new_task, .-new_task
	.section	.rodata
.LC32:
	.string	"Read error"
.LC33:
	.string	"Got: %d\n"
	.text
	.globl	poll_stdin_safe
	.type	poll_stdin_safe, @function
poll_stdin_safe:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -112[rbp]
	mov	edx, 100
	mov	rsi, rax
	mov	edi, 0
	call	read@PLT
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -120[rbp], 0
	jg	.L74
	lea	rdi, .LC32[rip]
	call	perror@PLT
	jmp	.L73
.L74:
	lea	rax, -112[rbp]
	mov	edx, 10
	mov	esi, 0
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -124[rbp], eax
	mov	eax, DWORD PTR -124[rbp]
	mov	esi, eax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
.L73:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L76
	call	__stack_chk_fail@PLT
.L76:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	poll_stdin_safe, .-poll_stdin_safe
	.section	.rodata
.LC34:
	.string	"protect == 832083"
	.text
	.globl	stdin_task
	.type	stdin_task, @function
stdin_task:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, DWORD PTR sch[rip+2804]
	mov	esi, eax
	mov	edi, 0
	call	add_to_watchlist
	mov	eax, 0
	call	clear_ready_mask
	mov	DWORD PTR -4[rbp], 832083
.L79:
	cmp	DWORD PTR -4[rbp], 832083
	je	.L78
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 425
	lea	rsi, .LC0[rip]
	lea	rdi, .LC34[rip]
	call	__assert_fail@PLT
.L78:
	mov	eax, 0
	call	enter_critical@PLT
	mov	eax, 0
	call	poll_stdin_safe
	mov	eax, 0
	call	exit_critical@PLT
	mov	eax, 0
	call	clear_ready_mask
	jmp	.L79
	.cfi_endproc
.LFE25:
	.size	stdin_task, .-stdin_task
	.globl	main
	.type	main, @function
main:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edi, 1
	call	epoll_create@PLT
	mov	DWORD PTR sch[rip+32], eax
	mov	edx, 30
	mov	esi, 1
	lea	rdi, sch[rip]
	call	memset@PLT
	mov	eax, 0
	call	setup_timer
	lea	rdi, idle_task[rip]
	call	new_task
	lea	rdi, stdin_task[rip]
	call	new_task
	lea	rdi, foo[rip]
	call	new_task
	lea	rdi, bar[rip]
	call	new_task
	lea	rdi, baz[rip]
	call	new_task
	lea	rdi, baz1[rip]
	call	new_task
	mov	BYTE PTR sch[rip+2809], 1
	mov	DWORD PTR sch[rip+2804], 0
	mov	eax, DWORD PTR sch[rip+2804]
	cdqe
	sal	rax, 6
	lea	rdx, 400[rax]
	lea	rax, sch[rip]
	add	rax, rdx
	mov	rdi, rax
	call	set_context@PLT
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	main, .-main
	.section	.rodata
	.align 16
	.type	__PRETTY_FUNCTION__.4, @object
	.size	__PRETTY_FUNCTION__.4, 17
__PRETTY_FUNCTION__.4:
	.string	"add_to_watchlist"
	.align 8
	.type	__PRETTY_FUNCTION__.3, @object
	.size	__PRETTY_FUNCTION__.3, 10
__PRETTY_FUNCTION__.3:
	.string	"sleep_for"
	.align 8
	.type	__PRETTY_FUNCTION__.2, @object
	.size	__PRETTY_FUNCTION__.2, 12
__PRETTY_FUNCTION__.2:
	.string	"run_program"
	.align 8
	.type	__PRETTY_FUNCTION__.1, @object
	.size	__PRETTY_FUNCTION__.1, 9
__PRETTY_FUNCTION__.1:
	.string	"new_task"
	.align 8
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 11
__PRETTY_FUNCTION__.0:
	.string	"stdin_task"
	.align 4
.LC3:
	.long	1148846080
	.align 16
.LC4:
	.long	2147483647
	.long	0
	.long	0
	.long	0
	.align 4
.LC5:
	.long	1036831949
	.align 8
.LC7:
	.long	858993459
	.long	1070805811
	.align 4
.LC10:
	.long	1161527296
	.align 8
.LC15:
	.long	0
	.long	1093567616
	.align 4
.LC20:
	.long	1092616192
	.align 8
.LC26:
	.long	0
	.long	1073741824
	.align 8
.LC27:
	.long	0
	.long	1083129856
	.align 4
.LC28:
	.long	-51331646
	.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	"703078.c"
	.text
	.global	TICK_MS
	.section	.rodata
	.align	2
	.type	TICK_MS, %object
	.size	TICK_MS, 4
TICK_MS:
	.word	1092616192
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	my_clock
	.syntax unified
	.arm
	.fpu softvfp
	.type	my_clock, %function
my_clock:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L4
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	mov	r0, #1
	bl	clock_gettime
	ldr	r1, [fp, #-16]
	mov	r2, r1
	lsl	r2, r2, #5
	sub	r2, r2, r1
	lsl	r3, r2, #6
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #6
	mov	r1, r3
	ldr	r3, [fp, #-12]
	ldr	r2, .L4+4
	smull	r0, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	ldr	r2, .L4
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3
	bl	__stack_chk_fail
.L3:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5:
	.align	2
.L4:
	.word	.LC0
	.word	274877907
	.size	my_clock, .-my_clock
	.comm	sch,1488,4
	.section	.rodata
	.align	2
.LC1:
	.ascii	"the_stack_data/703078.c\000"
	.align	2
.LC2:
	.ascii	"epoll_ctl(sch.epollfd, EPOLL_CTL_ADD, fd, &ev) == 0"
	.ascii	"\000"
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	add_to_watchlist
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_to_watchlist, %function
add_to_watchlist:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L10
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-28]
	ldr	r3, .L10+4
	ldr	r0, [r3, #32]
	sub	r3, fp, #28
	ldr	r2, [fp, #-32]
	mov	r1, #1
	bl	epoll_ctl
	mov	r3, r0
	cmp	r3, #0
	beq	.L9
	ldr	r3, .L10+8
	mov	r2, #107
	ldr	r1, .L10+12
	ldr	r0, .L10+16
	bl	__assert_fail
.L9:
	nop
	ldr	r3, .L10
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L8
	bl	__stack_chk_fail
.L8:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L11:
	.align	2
.L10:
	.word	.LC3
	.word	sch
	.word	__PRETTY_FUNCTION__.7592
	.word	.LC1
	.word	.LC2
	.size	add_to_watchlist, .-add_to_watchlist
	.global	overflow_message
	.section	.rodata
	.align	2
.LC4:
	.ascii	"Overflow stack detected\012\000"
	.data
	.align	2
	.type	overflow_message, %object
	.size	overflow_message, 4
overflow_message:
	.word	.LC4
	.section	.rodata
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	stack_checker
	.syntax unified
	.arm
	.fpu softvfp
	.type	stack_checker, %function
stack_checker:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	ldr	r3, .L16
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-32]
	sub	r3, fp, #32
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #2048
	str	r3, [fp, #-24]
	ldr	r3, .L16+4
	ldr	r3, [r3, #1480]
	ldr	r2, .L16+4
	add	r3, r3, #154
	lsl	r3, r3, #3
	add	r3, r2, r3
	sub	r2, fp, #16
	add	r3, r3, #4
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bhi	.L15
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bcc	.L15
	ldr	r3, .L16+8
	ldr	r3, [r3]
	mov	r2, #24
	mov	r1, r3
	mov	r0, #1
	bl	write
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	mov	r0, #0
	bl	exit
.L15:
	nop
	ldr	r3, .L16
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L14
	bl	__stack_chk_fail
.L14:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L17:
	.align	2
.L16:
	.word	.LC5
	.word	sch
	.word	overflow_message
	.size	stack_checker, .-stack_checker
	.global	__aeabi_i2f
	.global	__aeabi_fmul
	.global	__aeabi_fadd
	.global	__aeabi_f2iz
	.global	__aeabi_fdiv
	.global	__aeabi_fsub
	.global	__aeabi_fcmpgt
	.global	__aeabi_f2d
	.section	.rodata
	.align	2
.LC6:
	.ascii	"Inaccurate %f %s\012\000"
	.global	__aeabi_dcmplt
	.align	2
.LC7:
	.ascii	"inaccuracy / (float) ms < 0.3\000"
	.text
	.align	2
	.global	sleep_for
	.syntax unified
	.arm
	.fpu softvfp
	.type	sleep_for, %function
sleep_for:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-32]	@ float
	str	r1, [fp, #-36]
	bl	my_clock
	str	r0, [fp, #-24]
	ldr	r3, .L24
	ldr	r3, [r3, #1480]
	ldr	r2, .L24
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldr	r1, .L24+4
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L24
	ldr	r4, [r3, #1480]
	mov	r0, r2
	bl	__aeabi_f2iz
	mov	r2, r0
	ldr	r1, .L24
	add	r3, r4, #8
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	bl	get_context1
	ldr	r3, .L24
	mov	r2, #0
	strb	r2, [r3, #1484]
	bl	my_clock
	str	r0, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r1, .L24+4
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-16]	@ float
	ldr	r1, .L24+8
	ldr	r0, [fp, #-16]	@ float
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L19
	ldr	r0, [fp, #-16]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-36]
	str	r1, [sp]
	ldr	r0, .L24+12
	bl	printf
.L19:
	ldr	r1, [fp, #-32]	@ float
	ldr	r0, [fp, #-16]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	ldr	r2, .L24+16
	ldr	r3, .L24+20
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L23
	ldr	r3, .L24+24
	mov	r2, #176
	ldr	r1, .L24+28
	ldr	r0, .L24+32
	bl	__assert_fail
.L23:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L25:
	.align	2
.L24:
	.word	sch
	.word	1148846080
	.word	1036831949
	.word	.LC6
	.word	858993459
	.word	1070805811
	.word	__PRETTY_FUNCTION__.7611
	.word	.LC1
	.word	.LC7
	.size	sleep_for, .-sleep_for
	.section	.rodata
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	print
	.syntax unified
	.arm
	.fpu softvfp
	.type	print, %function
print:
	@ args = 4, pretend = 16, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r0, r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	ldr	r3, .L28
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	vprintf
	nop
	ldr	r3, .L28
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L27
	bl	__stack_chk_fail
.L27:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #16
	bx	lr
.L29:
	.align	2
.L28:
	.word	.LC8
	.size	print, .-print
	.section	.rodata
	.align	2
.LC9:
	.ascii	"foo\000"
	.align	2
.LC10:
	.ascii	"foo %d\012\000"
	.text
	.align	2
	.global	foo
	.syntax unified
	.arm
	.fpu softvfp
	.type	foo, %function
foo:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
.L31:
	ldr	r1, .L32
	ldr	r0, .L32+4
	bl	sleep_for
	ldr	r1, [fp, #-8]
	ldr	r0, .L32+8
	bl	print
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L31
.L33:
	.align	2
.L32:
	.word	.LC9
	.word	1161527296
	.word	.LC10
	.size	foo, .-foo
	.section	.rodata
	.align	2
.LC11:
	.ascii	"bar\000"
	.align	2
.LC12:
	.ascii	"bar %d\012\000"
	.text
	.align	2
	.global	bar
	.syntax unified
	.arm
	.fpu softvfp
	.type	bar, %function
bar:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-8]
.L35:
	ldr	r1, .L36
	ldr	r0, .L36+4
	bl	sleep_for
	ldr	r1, [fp, #-8]
	ldr	r0, .L36+8
	bl	print
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L35
.L37:
	.align	2
.L36:
	.word	.LC11
	.word	1148846080
	.word	.LC12
	.size	bar, .-bar
	.global	do_some_work
	.section	.rodata
	.align	2
.LC13:
	.ascii	"fda80dsh0shfdasfdsa;fa\000"
	.data
	.align	2
	.type	do_some_work, %object
	.size	do_some_work, 4
do_some_work:
	.word	.LC13
	.global	__aeabi_i2d
	.global	__aeabi_ddiv
	.section	.rodata
	.align	2
.LC14:
	.ascii	"Baz....Time: %f\012\000"
	.text
	.align	2
	.global	baz
	.syntax unified
	.arm
	.fpu softvfp
	.type	baz, %function
baz:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	ldr	r3, .L41
	mov	r2, #0
	strb	r2, [r3, #1484]
	bl	my_clock
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
.L40:
	ldr	r2, [fp, #-16]
	ldr	r3, .L41+4
	smull	r1, r3, r2, r3
	asr	r1, r3, #2
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r1, r2, r3
	mov	r4, r1
	ldr	r3, .L41+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r2, r4, r3
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	sub	r3, r3, #20
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #222298112
	bls	.L39
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	bl	my_clock
	mov	r2, r0
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L41+12
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L41+16
	bl	printf
	bl	my_clock
	str	r0, [fp, #-24]
.L39:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L40
.L42:
	.align	2
.L41:
	.word	sch
	.word	1717986919
	.word	do_some_work
	.word	1093567616
	.word	.LC14
	.size	baz, .-baz
	.section	.rodata
	.align	2
.LC15:
	.ascii	"Baz1...%lu rounds %lu\012\000"
	.text
	.align	2
	.global	baz1
	.syntax unified
	.arm
	.fpu softvfp
	.type	baz1, %function
baz1:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L46
	mov	r2, #0
	strb	r2, [r3, #1484]
	ldr	r3, .L46+4
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
.L45:
	ldr	r3, .L46+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #3
	ldr	r2, [fp, #-12]
	eor	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	lsr	r3, r2, #9
	ldr	r1, .L46+12
	umull	r0, r3, r1, r3
	lsr	r3, r3, #7
	ldr	r1, .L46+16
	mul	r3, r1, r3
	sub	r3, r2, r3
	cmp	r3, #0
	bne	.L44
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	ldr	r0, .L46+20
	bl	printf
.L44:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L45
.L47:
	.align	2
.L46:
	.word	sch
	.word	38209
	.word	do_some_work
	.word	469125
	.word	600000000
	.word	.LC15
	.size	baz1, .-baz1
	.section	.rodata
	.align	2
.LC16:
	.ascii	"index < sch.taskno\000"
	.text
	.align	2
	.global	run_program
	.syntax unified
	.arm
	.fpu softvfp
	.type	run_program, %function
run_program:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L50
	ldr	r3, [r3, #1476]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L49
	ldr	r3, .L50+4
	mov	r2, #246
	ldr	r1, .L50+8
	ldr	r0, .L50+12
	bl	__assert_fail
.L49:
	ldr	r2, .L50
	ldr	r3, [fp, #-8]
	str	r3, [r2, #1480]
	ldr	r3, .L50
	ldr	r3, [r3, #1480]
	lsl	r3, r3, #5
	add	r3, r3, #272
	ldr	r2, .L50
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r0, r3
	bl	set_context
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L51:
	.align	2
.L50:
	.word	sch
	.word	__PRETTY_FUNCTION__.7639
	.word	.LC1
	.word	.LC16
	.size	run_program, .-run_program
	.align	2
	.global	sig_handler
	.syntax unified
	.arm
	.fpu softvfp
	.type	sig_handler, %function
sig_handler:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L57
	ldrb	r3, [r3, #1484]
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L56
	bl	is_in_critical
	mov	r3, r0
	cmp	r3, #0
	bne	.L56
	ldr	r3, .L57
	ldrb	r3, [r3, #1485]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L56
	ldr	r3, .L57
	mov	r2, #1
	strb	r2, [r3, #1484]
	bl	stack_checker
	bl	get_context1
	ldr	r3, .L57
	mov	r2, #0
	strb	r2, [r3, #1484]
	b	.L52
.L56:
	nop
.L52:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L58:
	.align	2
.L57:
	.word	sch
	.size	sig_handler, .-sig_handler
	.section	.rodata
	.align	2
.LC17:
	.ascii	"Timer error\000"
	.align	2
.LC18:
	.ascii	"Set timer error\000"
	.align	2
.LC19:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	setup_timer
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup_timer, %function
setup_timer:
	@ args = 0, pretend = 0, frame = 160
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #160
	ldr	r3, .L63
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #164
	mov	r1, r3
	mov	r0, #0
	bl	getitimer
	mov	r3, r0
	cmp	r3, #0
	beq	.L60
	ldr	r0, .L63+4
	bl	perror
.L60:
	mov	r3, #0
	str	r3, [fp, #-164]
	ldr	r3, .L63+8
	ldr	r1, .L63+12
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [fp, #-160]
	sub	r3, fp, #156
	sub	r2, fp, #164
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	sub	r3, fp, #164
	mov	r2, #0
	mov	r1, r3
	mov	r0, #0
	bl	setitimer
	mov	r3, r0
	cmp	r3, #0
	beq	.L61
	ldr	r0, .L63+16
	bl	perror
.L61:
	sub	r3, fp, #148
	mov	r2, #140
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #1073741824
	str	r3, [fp, #-16]
	ldr	r3, .L63+20
	str	r3, [fp, #-148]
	sub	r3, fp, #148
	add	r3, r3, #4
	mov	r0, r3
	bl	sigemptyset
	sub	r3, fp, #148
	mov	r2, #0
	mov	r1, r3
	mov	r0, #14
	bl	sigaction
	sub	r3, fp, #148
	mov	r2, #0
	mov	r1, r3
	mov	r0, #11
	bl	sigaction
	nop
	ldr	r3, .L63
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L62
	bl	__stack_chk_fail
.L62:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L64:
	.align	2
.L63:
	.word	.LC19
	.word	.LC17
	.word	1092616192
	.word	1148846080
	.word	.LC18
	.word	sig_handler
	.size	setup_timer, .-setup_timer
	.align	2
	.global	idle_task
	.syntax unified
	.arm
	.fpu softvfp
	.type	idle_task, %function
idle_task:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
.L66:
	b	.L66
	.size	idle_task, .-idle_task
	.section	.rodata
	.align	2
.LC20:
	.ascii	"clear-ready-mask\000"
	.text
	.align	2
	.global	clear_ready_mask
	.syntax unified
	.arm
	.fpu softvfp
	.type	clear_ready_mask, %function
clear_ready_mask:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L68
	ldr	r3, [r3, #1480]
	ldr	r2, .L68
	mov	r1, #0
	strb	r1, [r2, r3]
	ldr	r1, .L68+4
	mov	r0, #0
	bl	sleep_for
	nop
	pop	{fp, pc}
.L69:
	.align	2
.L68:
	.word	sch
	.word	.LC20
	.size	clear_ready_mask, .-clear_ready_mask
	.section	.rodata
	.align	2
.LC21:
	.ascii	"Waking %d\012\000"
	.align	2
.LC22:
	.ascii	"Watch for IO failed\000"
	.align	2
.LC23:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	watch_for_io
	.syntax unified
	.arm
	.fpu softvfp
	.type	watch_for_io, %function
watch_for_io:
	@ args = 0, pretend = 0, frame = 504
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #504
	ldr	r3, .L77
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L77+4
	ldr	r0, [r3, #32]
	sub	r1, fp, #492
	mov	r3, #0
	mov	r2, #30
	bl	epoll_wait
	str	r0, [fp, #-500]
	ldr	r3, [fp, #-500]
	cmp	r3, #0
	blt	.L71
	mov	r3, #0
	str	r3, [fp, #-504]
	b	.L72
.L73:
	ldr	r3, [fp, #-504]
	lsl	r3, r3, #4
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-480]
	str	r3, [fp, #-496]
	ldr	r2, .L77+4
	ldr	r3, [fp, #-496]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	ldr	r1, [fp, #-496]
	ldr	r0, .L77+8
	bl	printf
	ldr	r3, [fp, #-504]
	add	r3, r3, #1
	str	r3, [fp, #-504]
.L72:
	ldr	r2, [fp, #-504]
	ldr	r3, [fp, #-500]
	cmp	r2, r3
	blt	.L73
	b	.L76
.L71:
	ldr	r0, .L77+12
	bl	perror
.L76:
	nop
	ldr	r3, .L77
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L75
	bl	__stack_chk_fail
.L75:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L78:
	.align	2
.L77:
	.word	.LC23
	.word	sch
	.word	.LC21
	.word	.LC22
	.size	watch_for_io, .-watch_for_io
	.global	start_time
	.bss
	.align	2
	.type	start_time, %object
	.size	start_time, 4
start_time:
	.space	4
	.global	__aeabi_dmul
	.global	__aeabi_dcmple
	.global	__aeabi_fcmplt
	.text
	.align	2
	.global	scheduler
	.syntax unified
	.arm
	.fpu softvfp
	.type	scheduler, %function
scheduler:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	str	r0, [fp, #-48]
	ldr	r3, .L93
	mov	r2, #1
	strb	r2, [r3, #1484]
	ldr	r3, .L93+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L80
	bl	my_clock
	mov	r3, r0
	ldr	r2, .L93+4
	str	r3, [r2]
.L80:
	bl	my_clock
	str	r0, [fp, #-20]
	ldr	r3, .L93+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r2, .L93+4
	ldr	r3, [fp, #-20]
	str	r3, [r2]
	bl	watch_for_io
	ldr	r3, .L93
	ldr	r3, [r3, #1480]
	ldr	r2, .L93
	lsl	r3, r3, #5
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	add	ip, r3, #276
	mov	lr, r2
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, .L93
	ldr	r3, [r3, #1480]
	ldr	r2, .L93
	add	r3, r3, #38
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r5, [r3, #4]	@ float
	ldr	r0, [fp, #-16]
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r2, .L93
	ldr	r4, [r2, #1480]
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L93
	add	r3, r4, #38
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r1, [r3, #4]	@ float
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L81
.L84:
	ldr	r2, .L93
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	ble	.L82
	ldr	r2, .L93
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	sub	r2, r2, r3
	ldr	r1, .L93
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]
	ldr	r2, .L93
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r3, .L93+8
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L93+12
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L82
	ldr	r2, .L93
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #4]
.L82:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L81:
	ldr	r3, .L93
	ldr	r3, [r3, #1476]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L84
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L85
.L86:
	ldr	r2, .L93
	ldr	r3, [fp, #-36]
	add	r3, r3, #38
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r4, [r3, #4]	@ float
	ldr	r0, [fp, #-16]
	bl	__aeabi_i2f
	mov	r5, r0
	ldr	r3, .L93
	ldr	r3, [r3, #1476]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L93
	ldr	r3, [fp, #-36]
	add	r3, r3, #38
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r1, [r3, #4]	@ float
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L85:
	ldr	r3, .L93
	ldr	r3, [r3, #1476]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L86
	ldr	r3, .L93+16
	str	r3, [fp, #-32]	@ float
	mvn	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L87
.L90:
	ldr	r2, .L93
	ldr	r3, [fp, #-24]
	add	r3, r3, #38
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L88
	ldr	r2, .L93
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L88
	ldr	r2, .L93
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L88
	ldr	r2, .L93
	ldr	r3, [fp, #-24]
	add	r3, r3, #38
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	str	r3, [fp, #-32]	@ float
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-28]
.L88:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L87:
	ldr	r3, .L93
	ldr	r3, [r3, #1476]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L90
	ldr	r0, [fp, #-28]
	bl	run_program
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L94:
	.align	2
.L93:
	.word	sch
	.word	start_time
	.word	1092616192
	.word	1083129856
	.word	-51331646
	.size	scheduler, .-scheduler
	.section	.rodata
	.align	2
.LC24:
	.ascii	"Ending\000"
	.text
	.align	2
	.global	end
	.syntax unified
	.arm
	.fpu softvfp
	.type	end, %function
end:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L96
	bl	puts
	mov	r0, #0
	bl	exit
.L97:
	.align	2
.L96:
	.word	.LC24
	.size	end, .-end
	.section	.rodata
	.align	2
.LC25:
	.ascii	"Blocked writing lower than %p \012\000"
	.align	2
.LC26:
	.ascii	"protect_low != NULL && protect_low + 4096 == protec"
	.ascii	"t_high\000"
	.text
	.align	2
	.global	new_task
	.syntax unified
	.arm
	.fpu softvfp
	.type	new_task, %function
new_task:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-72]
	mov	r3, #8192
	str	r3, [fp, #-64]
	ldr	r1, [fp, #-64]
	mov	r3, #0
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	mov	r3, #34
	mov	r2, #3
	mov	r0, #0
	bl	mmap
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	sub	r0, r3, #4096
	mov	r3, #0
	str	r3, [sp, #4]
	mvn	r3, #0
	str	r3, [sp]
	mov	r3, #34
	mov	r2, #0
	mov	r1, #4096
	bl	mmap
	str	r0, [fp, #-52]
	ldr	r1, [fp, #-56]
	ldr	r0, .L104
	bl	printf
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L99
	ldr	r3, [fp, #-52]
	add	r3, r3, #4096
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	beq	.L102
.L99:
	ldr	r3, .L104+4
	ldr	r2, .L104+8
	ldr	r1, .L104+12
	ldr	r0, .L104+16
	bl	__assert_fail
.L102:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	bic	r3, r3, #15
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	sub	r3, r3, #256
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	sub	r3, r3, #8
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r2, .L104+20
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-72]
	str	r3, [fp, #-36]
	ldr	r3, .L104+24
	ldr	r3, [r3, #1476]
	cmp	r3, #28
	bgt	.L101
	ldr	r3, .L104+24
	ldr	r3, [r3, #1476]
	ldr	r2, .L104+24
	lsl	r3, r3, #5
	add	r3, r2, r3
	add	ip, r3, #276
	sub	lr, fp, #36
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-40]
	ldr	r3, .L104+24
	ldr	r3, [r3, #1476]
	ldr	r2, .L104+24
	add	r3, r3, #154
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	sub	r2, fp, #44
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r3, .L104+24
	ldr	r3, [r3, #1476]
	add	r3, r3, #1
	ldr	r2, .L104+24
	str	r3, [r2, #1476]
	b	.L103
.L101:
	mov	r0, #89
	bl	exit
.L103:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L105:
	.align	2
.L104:
	.word	.LC25
	.word	__PRETTY_FUNCTION__.7690
	.word	385
	.word	.LC1
	.word	.LC26
	.word	end
	.word	sch
	.size	new_task, .-new_task
	.section	.rodata
	.align	2
.LC27:
	.ascii	"Read error\000"
	.align	2
.LC28:
	.ascii	"Got: %d\012\000"
	.align	2
.LC29:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	poll_stdin_safe
	.syntax unified
	.arm
	.fpu softvfp
	.type	poll_stdin_safe, %function
poll_stdin_safe:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	ldr	r3, .L110
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #108
	mov	r2, #100
	mov	r1, r3
	mov	r0, #0
	bl	read
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-116]
	cmp	r3, #0
	bgt	.L107
	ldr	r0, .L110+4
	bl	perror
	b	.L106
.L107:
	sub	r3, fp, #108
	mov	r2, #10
	mov	r1, #0
	mov	r0, r3
	bl	strtol
	str	r0, [fp, #-112]
	ldr	r1, [fp, #-112]
	ldr	r0, .L110+8
	bl	printf
.L106:
	ldr	r3, .L110
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L109
	bl	__stack_chk_fail
.L109:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L111:
	.align	2
.L110:
	.word	.LC29
	.word	.LC27
	.word	.LC28
	.size	poll_stdin_safe, .-poll_stdin_safe
	.section	.rodata
	.align	2
.LC30:
	.ascii	"protect == 832083\000"
	.text
	.align	2
	.global	stdin_task
	.syntax unified
	.arm
	.fpu softvfp
	.type	stdin_task, %function
stdin_task:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L115
	ldr	r3, [r3, #1480]
	mov	r1, r3
	mov	r0, #0
	bl	add_to_watchlist
	bl	clear_ready_mask
	ldr	r3, .L115+4
	str	r3, [fp, #-8]
.L114:
	ldr	r3, [fp, #-8]
	ldr	r2, .L115+4
	cmp	r3, r2
	beq	.L113
	ldr	r3, .L115+8
	ldr	r2, .L115+12
	ldr	r1, .L115+16
	ldr	r0, .L115+20
	bl	__assert_fail
.L113:
	bl	enter_critical
	bl	poll_stdin_safe
	bl	exit_critical
	bl	clear_ready_mask
	b	.L114
.L116:
	.align	2
.L115:
	.word	sch
	.word	832083
	.word	__PRETTY_FUNCTION__.7702
	.word	425
	.word	.LC1
	.word	.LC30
	.size	stdin_task, .-stdin_task
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	mov	r0, #1
	bl	epoll_create
	mov	r3, r0
	ldr	r2, .L119
	str	r3, [r2, #32]
	mov	r2, #30
	mov	r1, #1
	ldr	r0, .L119
	bl	memset
	bl	setup_timer
	ldr	r0, .L119+4
	bl	new_task
	ldr	r0, .L119+8
	bl	new_task
	ldr	r0, .L119+12
	bl	new_task
	ldr	r0, .L119+16
	bl	new_task
	ldr	r0, .L119+20
	bl	new_task
	ldr	r0, .L119+24
	bl	new_task
	ldr	r3, .L119
	mov	r2, #1
	strb	r2, [r3, #1485]
	ldr	r3, .L119
	mov	r2, #0
	str	r2, [r3, #1480]
	ldr	r3, .L119
	ldr	r3, [r3, #1480]
	lsl	r3, r3, #5
	add	r3, r3, #272
	ldr	r2, .L119
	add	r3, r3, r2
	add	r3, r3, #4
	mov	r0, r3
	bl	set_context
	mov	r3, #0
	mov	r0, r3
	pop	{fp, pc}
.L120:
	.align	2
.L119:
	.word	sch
	.word	idle_task
	.word	stdin_task
	.word	foo
	.word	bar
	.word	baz
	.word	baz1
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.7592, %object
	.size	__PRETTY_FUNCTION__.7592, 17
__PRETTY_FUNCTION__.7592:
	.ascii	"add_to_watchlist\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7611, %object
	.size	__PRETTY_FUNCTION__.7611, 10
__PRETTY_FUNCTION__.7611:
	.ascii	"sleep_for\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7639, %object
	.size	__PRETTY_FUNCTION__.7639, 12
__PRETTY_FUNCTION__.7639:
	.ascii	"run_program\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7690, %object
	.size	__PRETTY_FUNCTION__.7690, 9
__PRETTY_FUNCTION__.7690:
	.ascii	"new_task\000"
	.align	2
	.type	__PRETTY_FUNCTION__.7702, %object
	.size	__PRETTY_FUNCTION__.7702, 11
__PRETTY_FUNCTION__.7702:
	.ascii	"stdin_task\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
