	.file	"254371.c"
	.intel_syntax noprefix
	.text
	.globl	input_file
	.bss
	.align 8
	.type	input_file, @object
	.size	input_file, 8
input_file:
	.zero	8
	.globl	output_file
	.align 8
	.type	output_file, @object
	.size	output_file, 8
output_file:
	.zero	8
	.globl	i
	.align 4
	.type	i, @object
	.size	i, 4
i:
	.zero	4
	.globl	j
	.align 4
	.type	j, @object
	.size	j, 4
j:
	.zero	4
	.globl	k
	.align 4
	.type	k, @object
	.size	k, 4
k:
	.zero	4
	.globl	total_hole_size
	.align 8
	.type	total_hole_size, @object
	.size	total_hole_size, 8
total_hole_size:
	.zero	8
	.globl	total_process_size
	.align 8
	.type	total_process_size, @object
	.size	total_process_size, 8
total_process_size:
	.zero	8
	.globl	total_unallocated
	.align 8
	.type	total_unallocated, @object
	.size	total_unallocated, 8
total_unallocated:
	.zero	8
	.section	.rodata
	.align 8
.LC0:
	.string	"Warning! Worst Fit returned non-zero status.\n"
.LC1:
	.string	"output_file_for_wfmm.out"
	.align 8
.LC2:
	.string	"\n\t<===0===0===>\n Task complete, summary written to the output file:\n\t1. \"%s\".\n"
	.align 8
.LC3:
	.string	"Error! Cannot generate input, exiting.\n"
	.text
	.globl	main
	.type	main, @function
main:
.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, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, 0
	call	generateInput
	test	eax, eax
	jne	.L2
	mov	eax, 0
	call	runWorstFit
	test	eax, eax
	je	.L3
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 45
	mov	esi, 1
	lea	rdi, .LC0[rip]
	call	fwrite@PLT
.L3:
	lea	rsi, .LC1[rip]
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	jmp	.L5
.L2:
	mov	rax, QWORD PTR stderr[rip]
	mov	rcx, rax
	mov	edx, 39
	mov	esi, 1
	lea	rdi, .LC3[rip]
	call	fwrite@PLT
	mov	eax, 1
.L5:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.section	.rodata
.LC4:
	.string	"w"
.LC5:
	.string	"input_file_for_wf.in"
.LC6:
	.string	"Generating %d input data.\n"
	.align 8
.LC7:
	.string	"Iteration %d of %d running...\n"
	.align 8
.LC8:
	.string	"Generating %d memory holes with random size from %d to %d... "
.LC9:
	.string	"%d "
.LC10:
	.string	"Done."
	.align 8
.LC11:
	.string	"Generating %d processes with random size from %d to %d... "
.LC12:
	.string	"\n\n"
.LC13:
	.string	"Iteration %d complete.\n"
.LC14:
	.string	"Input generation complete."
	.text
	.globl	generateInput
	.type	generateInput, @function
generateInput:
.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, 16
	mov	edi, 0
	call	time@PLT
	mov	edi, eax
	call	srand@PLT
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	fopen@PLT
	mov	QWORD PTR input_file[rip], rax
	mov	esi, 64
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR i[rip], 0
	jmp	.L7
.L12:
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	edx, 64
	mov	esi, eax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	mov	ecx, 980
	mov	edx, 140
	mov	esi, 11
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR j[rip], 0
	jmp	.L8
.L9:
	call	rand@PLT
	movsx	rdx, eax
	imul	rdx, rdx, -2078209981
	shr	rdx, 32
	add	edx, eax
	sar	edx, 4
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	ecx, edx
	sal	ecx, 5
	sub	ecx, edx
	sub	eax, ecx
	mov	edx, eax
	lea	eax, 5[rdx]
	imul	eax, eax, 28
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR input_file[rip]
	mov	edx, DWORD PTR -4[rbp]
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR j[rip]
	add	eax, 1
	mov	DWORD PTR j[rip], eax
.L8:
	mov	eax, DWORD PTR j[rip]
	cmp	eax, 10
	jle	.L9
	mov	rax, QWORD PTR input_file[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	mov	ecx, 560
	mov	edx, 280
	mov	esi, 11
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR j[rip], 0
	jmp	.L10
.L11:
	call	rand@PLT
	mov	ecx, eax
	movsx	rax, ecx
	imul	rax, rax, 780903145
	shr	rax, 32
	sar	eax
	mov	esi, ecx
	sar	esi, 31
	sub	eax, esi
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	add	eax, edx
	sub	ecx, eax
	mov	edx, ecx
	lea	eax, 10[rdx]
	imul	eax, eax, 28
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR input_file[rip]
	mov	edx, DWORD PTR -8[rbp]
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	eax, DWORD PTR j[rip]
	add	eax, 1
	mov	DWORD PTR j[rip], eax
.L10:
	mov	eax, DWORD PTR j[rip]
	cmp	eax, 10
	jle	.L11
	mov	rax, QWORD PTR input_file[rip]
	mov	rcx, rax
	mov	edx, 2
	mov	esi, 1
	lea	rdi, .LC12[rip]
	call	fwrite@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	DWORD PTR i[rip], eax
.L7:
	mov	eax, DWORD PTR i[rip]
	cmp	eax, 63
	jle	.L12
	mov	rax, QWORD PTR input_file[rip]
	mov	rdi, rax
	call	fclose@PLT
	lea	rdi, .LC14[rip]
	call	puts@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	generateInput, .-generateInput
	.section	.rodata
	.align 8
.LC15:
	.string	"Running Worst Fit scheme.\n0%%."
.LC16:
	.string	"r"
.LC17:
	.string	"%d"
	.align 8
.LC18:
	.string	"=========== Iteration %2d =============\n"
.LC19:
	.string	"HOLE_SIZE"
.LC20:
	.string	"HOLE_ID"
.LC21:
	.string	"P_SIZE"
.LC22:
	.string	"PID"
.LC23:
	.string	"%-5s\t%-8s\t%-8s\t%-10s\t%-8s\n"
.LC24:
	.string	"AVAILABLE"
	.align 8
.LC25:
	.string	"------------------------------------------\n"
.LC26:
	.string	"%-5d\t%-8d\t"
.LC27:
	.string	"%-8d\t%-10d\t%-8d\n"
.LC28:
	.string	"=> NOT ALLOCATED\n"
.LC29:
	.string	"\r%d%%."
.LC30:
	.string	"\nWriting summary... "
	.align 8
.LC31:
	.string	"\n\n========== Summary ==========\n"
.LC33:
	.string	"Average Process Size : %.2f\n"
.LC34:
	.string	"Average Hole Size    : %.2f\n"
	.align 8
.LC36:
	.string	"Average unallocated  : %.2f%%.\n"
	.text
	.globl	runWorstFit
	.type	runWorstFit, @function
runWorstFit:
.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, 112
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, .LC16[rip]
	lea	rdi, .LC5[rip]
	call	fopen@PLT
	mov	QWORD PTR input_file[rip], rax
	lea	rsi, .LC4[rip]
	lea	rdi, .LC1[rip]
	call	fopen@PLT
	mov	QWORD PTR output_file[rip], rax
	mov	QWORD PTR total_unallocated[rip], 0
	mov	rax, QWORD PTR total_unallocated[rip]
	mov	QWORD PTR total_process_size[rip], rax
	mov	rax, QWORD PTR total_process_size[rip]
	mov	QWORD PTR total_hole_size[rip], rax
	mov	DWORD PTR i[rip], 1
	jmp	.L15
.L25:
	mov	DWORD PTR j[rip], 0
	jmp	.L16
.L17:
	mov	eax, DWORD PTR j[rip]
	lea	rdx, -96[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR input_file[rip]
	lea	rsi, .LC17[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	eax, DWORD PTR j[rip]
	mov	ecx, DWORD PTR j[rip]
	cdqe
	mov	edx, DWORD PTR -96[rbp+rax*8]
	movsx	rax, ecx
	mov	DWORD PTR -92[rbp+rax*8], edx
	mov	eax, DWORD PTR j[rip]
	cdqe
	mov	eax, DWORD PTR -96[rbp+rax*8]
	movsx	rdx, eax
	mov	rax, QWORD PTR total_hole_size[rip]
	add	rax, rdx
	mov	QWORD PTR total_hole_size[rip], rax
	mov	eax, DWORD PTR j[rip]
	add	eax, 1
	mov	DWORD PTR j[rip], eax
.L16:
	mov	eax, DWORD PTR j[rip]
	cmp	eax, 10
	jle	.L17
	mov	edx, DWORD PTR i[rip]
	mov	rax, QWORD PTR output_file[rip]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR output_file[rip]
	sub	rsp, 8
	lea	rdx, .LC24[rip]
	push	rdx
	lea	r9, .LC19[rip]
	lea	r8, .LC20[rip]
	lea	rcx, .LC21[rip]
	lea	rdx, .LC22[rip]
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	rsp, 16
	mov	rax, QWORD PTR output_file[rip]
	mov	rcx, rax
	mov	edx, 43
	mov	esi, 1
	lea	rdi, .LC25[rip]
	call	fwrite@PLT
	mov	DWORD PTR j[rip], 1
	jmp	.L18
.L24:
	mov	rax, QWORD PTR input_file[rip]
	lea	rdx, -108[rbp]
	lea	rsi, .LC17[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	eax, DWORD PTR -108[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR total_process_size[rip]
	add	rax, rdx
	mov	QWORD PTR total_process_size[rip], rax
	mov	ecx, DWORD PTR -108[rbp]
	mov	edx, DWORD PTR j[rip]
	mov	rax, QWORD PTR output_file[rip]
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	WORD PTR -110[rbp], 0
	mov	DWORD PTR -104[rbp], -255
	mov	DWORD PTR k[rip], 0
	jmp	.L19
.L21:
	mov	eax, DWORD PTR k[rip]
	cdqe
	mov	edx, DWORD PTR -92[rbp+rax*8]
	mov	eax, DWORD PTR -108[rbp]
	cmp	edx, eax
	jl	.L20
	mov	eax, DWORD PTR k[rip]
	cdqe
	mov	eax, DWORD PTR -92[rbp+rax*8]
	cmp	DWORD PTR -104[rbp], eax
	jge	.L20
	mov	eax, DWORD PTR k[rip]
	cdqe
	mov	eax, DWORD PTR -92[rbp+rax*8]
	mov	DWORD PTR -104[rbp], eax
	mov	eax, DWORD PTR k[rip]
	mov	DWORD PTR -100[rbp], eax
	mov	WORD PTR -110[rbp], 1
.L20:
	mov	eax, DWORD PTR k[rip]
	add	eax, 1
	mov	DWORD PTR k[rip], eax
.L19:
	mov	eax, DWORD PTR k[rip]
	cmp	eax, 10
	jle	.L21
	cmp	WORD PTR -110[rbp], 0
	je	.L22
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	mov	eax, DWORD PTR -92[rbp+rax*8]
	mov	ecx, DWORD PTR -108[rbp]
	sub	eax, ecx
	mov	edx, eax
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	mov	DWORD PTR -92[rbp+rax*8], edx
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	mov	ecx, DWORD PTR -92[rbp+rax*8]
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	mov	edx, DWORD PTR -96[rbp+rax*8]
	mov	eax, DWORD PTR -100[rbp]
	lea	esi, 1[rax]
	mov	rax, QWORD PTR output_file[rip]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, esi
	lea	rsi, .LC27[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L23
.L22:
	mov	rax, QWORD PTR output_file[rip]
	mov	rcx, rax
	mov	edx, 17
	mov	esi, 1
	lea	rdi, .LC28[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR total_unallocated[rip]
	add	rax, 1
	mov	QWORD PTR total_unallocated[rip], rax
.L23:
	mov	eax, DWORD PTR j[rip]
	add	eax, 1
	mov	DWORD PTR j[rip], eax
.L18:
	mov	eax, DWORD PTR j[rip]
	cmp	eax, 11
	jle	.L24
	mov	rax, QWORD PTR output_file[rip]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	eax, DWORD PTR i[rip]
	imul	eax, eax, 100
	lea	edx, 63[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 6
	mov	esi, eax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR i[rip]
	add	eax, 1
	mov	DWORD PTR i[rip], eax
.L15:
	mov	eax, DWORD PTR i[rip]
	cmp	eax, 64
	jle	.L25
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR output_file[rip]
	mov	rcx, rax
	mov	edx, 32
	mov	esi, 1
	lea	rdi, .LC31[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR total_process_size[rip]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	xmm1, QWORD PTR .LC32[rip]
	divsd	xmm0, xmm1
	movq	rdx, xmm0
	mov	rax, QWORD PTR output_file[rip]
	movq	xmm0, rdx
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	mov	rax, QWORD PTR total_hole_size[rip]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	xmm1, QWORD PTR .LC32[rip]
	divsd	xmm0, xmm1
	movq	rdx, xmm0
	mov	rax, QWORD PTR output_file[rip]
	movq	xmm0, rdx
	lea	rsi, .LC34[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	mov	rax, QWORD PTR total_unallocated[rip]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	movsd	xmm0, QWORD PTR .LC35[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC32[rip]
	divsd	xmm0, xmm1
	movq	rdx, xmm0
	mov	rax, QWORD PTR output_file[rip]
	movq	xmm0, rdx
	lea	rsi, .LC36[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	mov	rax, QWORD PTR input_file[rip]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR output_file[rip]
	mov	rdi, rax
	call	fclose@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L27
	call	__stack_chk_fail@PLT
.L27:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	runWorstFit, .-runWorstFit
	.section	.rodata
	.align 8
.LC32:
	.long	0
	.long	1082523648
	.align 8
.LC35:
	.long	0
	.long	1079574528
	.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	"254371.c"
	.text
	.comm	input_file,4,4
	.comm	output_file,4,4
	.comm	i,4,4
	.comm	j,4,4
	.comm	k,4,4
	.comm	total_hole_size,8,8
	.comm	total_process_size,8,8
	.comm	total_unallocated,8,8
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Warning! Worst Fit returned non-zero status.\012\000"
	.align	2
.LC1:
	.ascii	"output_file_for_wfmm.out\000"
	.align	2
.LC2:
	.ascii	"\012\011<===0===0===>\012 Task complete, summary wr"
	.ascii	"itten to the output file:\012\0111. \"%s\".\012\000"
	.align	2
.LC3:
	.ascii	"Error! Cannot generate input, exiting.\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ 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]
	str	r1, [fp, #-12]
	bl	generateInput
	mov	r3, r0
	cmp	r3, #0
	bne	.L2
	bl	runWorstFit
	mov	r3, r0
	cmp	r3, #0
	beq	.L3
	ldr	r3, .L6
	ldr	r3, [r3]
	mov	r2, #45
	mov	r1, #1
	ldr	r0, .L6+4
	bl	fwrite
.L3:
	ldr	r1, .L6+8
	ldr	r0, .L6+12
	bl	printf
	mov	r3, #0
	b	.L5
.L2:
	ldr	r3, .L6
	ldr	r3, [r3]
	mov	r2, #39
	mov	r1, #1
	ldr	r0, .L6+16
	bl	fwrite
	mov	r3, #1
.L5:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L7:
	.align	2
.L6:
	.word	stderr
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.size	main, .-main
	.section	.rodata
	.align	2
.LC4:
	.ascii	"w\000"
	.align	2
.LC5:
	.ascii	"input_file_for_wf.in\000"
	.align	2
.LC6:
	.ascii	"Generating %d input data.\012\000"
	.align	2
.LC7:
	.ascii	"Iteration %d of %d running...\012\000"
	.align	2
.LC8:
	.ascii	"Generating %d memory holes with random size from %d"
	.ascii	" to %d... \000"
	.align	2
.LC9:
	.ascii	"%d \000"
	.align	2
.LC10:
	.ascii	"Done.\000"
	.align	2
.LC11:
	.ascii	"Generating %d processes with random size from %d to"
	.ascii	" %d... \000"
	.align	2
.LC12:
	.ascii	"\012\012\000"
	.align	2
.LC13:
	.ascii	"Iteration %d complete.\012\000"
	.align	2
.LC14:
	.ascii	"Input generation complete.\000"
	.text
	.align	2
	.global	generateInput
	.syntax unified
	.arm
	.fpu softvfp
	.type	generateInput, %function
generateInput:
	@ 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	r0, #0
	bl	time
	mov	r3, r0
	mov	r0, r3
	bl	srand
	ldr	r1, .L16
	ldr	r0, .L16+4
	bl	fopen
	mov	r3, r0
	ldr	r2, .L16+8
	str	r3, [r2]
	mov	r1, #64
	ldr	r0, .L16+12
	bl	printf
	ldr	r3, .L16+16
	mov	r2, #0
	str	r2, [r3]
	b	.L9
.L14:
	ldr	r3, .L16+16
	ldr	r3, [r3]
	add	r3, r3, #1
	mov	r2, #64
	mov	r1, r3
	ldr	r0, .L16+20
	bl	printf
	mov	r3, #980
	mov	r2, #140
	mov	r1, #11
	ldr	r0, .L16+24
	bl	printf
	ldr	r3, .L16+28
	mov	r2, #0
	str	r2, [r3]
	b	.L10
.L11:
	bl	rand
	mov	r2, r0
	ldr	r3, .L16+32
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #4
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #5
	sub	r3, r3, r1
	sub	r1, r2, r3
	add	r2, r1, #5
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, .L16+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r1, .L16+36
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L16+28
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L16+28
	str	r3, [r2]
.L10:
	ldr	r3, .L16+28
	ldr	r3, [r3]
	cmp	r3, #10
	ble	.L11
	ldr	r3, .L16+8
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r0, .L16+40
	bl	puts
	mov	r3, #560
	mov	r2, #280
	mov	r1, #11
	ldr	r0, .L16+44
	bl	printf
	ldr	r3, .L16+28
	mov	r2, #0
	str	r2, [r3]
	b	.L12
.L13:
	bl	rand
	mov	r1, r0
	ldr	r3, .L16+48
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	sub	r2, r1, r3
	add	r2, r2, #10
	mov	r3, r2
	lsl	r3, r3, #3
	sub	r3, r3, r2
	lsl	r3, r3, #2
	str	r3, [fp, #-12]
	ldr	r3, .L16+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, .L16+36
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L16+28
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L16+28
	str	r3, [r2]
.L12:
	ldr	r3, .L16+28
	ldr	r3, [r3]
	cmp	r3, #10
	ble	.L13
	ldr	r3, .L16+8
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, #1
	ldr	r0, .L16+52
	bl	fwrite
	ldr	r0, .L16+40
	bl	puts
	ldr	r3, .L16+16
	ldr	r3, [r3]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L16+56
	bl	printf
	ldr	r3, .L16+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L16+16
	str	r3, [r2]
.L9:
	ldr	r3, .L16+16
	ldr	r3, [r3]
	cmp	r3, #63
	ble	.L14
	ldr	r3, .L16+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
	ldr	r0, .L16+60
	bl	puts
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L17:
	.align	2
.L16:
	.word	.LC4
	.word	.LC5
	.word	input_file
	.word	.LC6
	.word	i
	.word	.LC7
	.word	.LC8
	.word	j
	.word	-2078209981
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	780903145
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.size	generateInput, .-generateInput
	.section	.rodata
	.align	2
.LC15:
	.ascii	"Running Worst Fit scheme.\0120%%.\000"
	.align	2
.LC16:
	.ascii	"r\000"
	.align	2
.LC17:
	.ascii	"%d\000"
	.align	2
.LC18:
	.ascii	"=========== Iteration %2d =============\012\000"
	.align	2
.LC19:
	.ascii	"P_SIZE\000"
	.align	2
.LC20:
	.ascii	"PID\000"
	.align	2
.LC21:
	.ascii	"%-5s\011%-8s\011%-8s\011%-10s\011%-8s\012\000"
	.align	2
.LC22:
	.ascii	"AVAILABLE\000"
	.align	2
.LC23:
	.ascii	"HOLE_SIZE\000"
	.align	2
.LC24:
	.ascii	"HOLE_ID\000"
	.align	2
.LC25:
	.ascii	"------------------------------------------\012\000"
	.align	2
.LC26:
	.ascii	"%-5d\011%-8d\011\000"
	.align	2
.LC27:
	.ascii	"%-8d\011%-10d\011%-8d\012\000"
	.align	2
.LC28:
	.ascii	"=> NOT ALLOCATED\012\000"
	.align	2
.LC29:
	.ascii	"\015%d%%.\000"
	.align	2
.LC30:
	.ascii	"\012Writing summary... \000"
	.align	2
.LC31:
	.ascii	"\012\012========== Summary ==========\012\000"
	.global	__aeabi_l2d
	.global	__aeabi_ddiv
	.align	2
.LC32:
	.ascii	"Average Process Size : %.2f\012\000"
	.align	2
.LC33:
	.ascii	"Average Hole Size    : %.2f\012\000"
	.global	__aeabi_dmul
	.align	2
.LC34:
	.ascii	"Average unallocated  : %.2f%%.\012\000"
	.align	2
.LC35:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	runWorstFit
	.syntax unified
	.arm
	.fpu softvfp
	.type	runWorstFit, %function
runWorstFit:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #128
	ldr	r3, .L32
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r0, .L32+4
	bl	printf
	ldr	r1, .L32+8
	ldr	r0, .L32+12
	bl	fopen
	mov	r3, r0
	ldr	r2, .L32+16
	str	r3, [r2]
	ldr	r1, .L32+20
	ldr	r0, .L32+24
	bl	fopen
	mov	r3, r0
	ldr	r2, .L32+28
	str	r3, [r2]
	ldr	r1, .L32+32
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r3, .L32+32
	ldmia	r3, {r2-r3}
	ldr	r1, .L32+36
	stm	r1, {r2-r3}
	ldr	r3, .L32+36
	ldmia	r3, {r2-r3}
	ldr	r1, .L32+40
	stm	r1, {r2-r3}
	ldr	r3, .L32+44
	mov	r2, #1
	str	r2, [r3]
	b	.L19
.L29:
	ldr	r3, .L32+48
	mov	r2, #0
	str	r2, [r3]
	b	.L20
.L21:
	ldr	r3, .L32+16
	ldr	r0, [r3]
	ldr	r3, .L32+48
	ldr	r3, [r3]
	sub	r2, fp, #120
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r3
	ldr	r1, .L32+52
	bl	__isoc99_fscanf
	ldr	r3, .L32+48
	ldr	r3, [r3]
	ldr	r2, .L32+48
	ldr	r1, [r2]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-92]
	lsl	r3, r1, #3
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-88]
	ldr	r3, .L32+48
	ldr	r3, [r3]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-92]
	mov	r0, r3
	asr	r1, r0, #31
	ldr	r3, .L32+40
	ldmia	r3, {r2-r3}
	adds	r4, r0, r2
	adc	r5, r1, r3
	ldr	r3, .L32+40
	stm	r3, {r4-r5}
	ldr	r3, .L32+48
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L32+48
	str	r3, [r2]
.L20:
	ldr	r3, .L32+48
	ldr	r3, [r3]
	cmp	r3, #10
	ble	.L21
	ldr	r3, .L32+28
	ldr	r3, [r3]
	ldr	r2, .L32+44
	ldr	r2, [r2]
	ldr	r1, .L32+56
	mov	r0, r3
	bl	fprintf
	ldr	r3, .L32+28
	ldr	r0, [r3]
	ldr	r3, .L32+60
	str	r3, [sp, #8]
	ldr	r3, .L32+64
	str	r3, [sp, #4]
	ldr	r3, .L32+68
	str	r3, [sp]
	ldr	r3, .L32+72
	ldr	r2, .L32+76
	ldr	r1, .L32+80
	bl	fprintf
	ldr	r3, .L32+28
	ldr	r3, [r3]
	mov	r2, #43
	mov	r1, #1
	ldr	r0, .L32+84
	bl	fwrite
	ldr	r3, .L32+48
	mov	r2, #1
	str	r2, [r3]
	b	.L22
.L28:
	ldr	r3, .L32+16
	ldr	r3, [r3]
	sub	r2, fp, #132
	ldr	r1, .L32+52
	mov	r0, r3
	bl	__isoc99_fscanf
	ldr	r3, [fp, #-132]
	mov	r0, r3
	asr	r1, r0, #31
	ldr	r3, .L32+36
	ldmia	r3, {r2-r3}
	adds	r6, r0, r2
	adc	r7, r1, r3
	ldr	r3, .L32+36
	stm	r3, {r6-r7}
	ldr	r3, .L32+28
	ldr	r0, [r3]
	ldr	r3, .L32+48
	ldr	r2, [r3]
	ldr	r3, [fp, #-132]
	ldr	r1, .L32+88
	bl	fprintf
	mov	r3, #0
	strh	r3, [fp, #-134]	@ movhi
	mvn	r3, #254
	str	r3, [fp, #-128]
	ldr	r3, .L32+92
	mov	r2, #0
	str	r2, [r3]
	b	.L23
.L25:
	ldr	r3, .L32+92
	ldr	r3, [r3]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-88]
	ldr	r3, [fp, #-132]
	cmp	r2, r3
	blt	.L24
	ldr	r3, .L32+92
	ldr	r3, [r3]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-88]
	ldr	r2, [fp, #-128]
	cmp	r2, r3
	bge	.L24
	ldr	r3, .L32+92
	ldr	r3, [r3]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-88]
	str	r3, [fp, #-128]
	ldr	r3, .L32+92
	ldr	r3, [r3]
	str	r3, [fp, #-124]
	mov	r3, #1
	strh	r3, [fp, #-134]	@ movhi
.L24:
	ldr	r3, .L32+92
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L32+92
	str	r3, [r2]
.L23:
	ldr	r3, .L32+92
	ldr	r3, [r3]
	cmp	r3, #10
	ble	.L25
	ldrsh	r3, [fp, #-134]
	cmp	r3, #0
	beq	.L26
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #3
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-88]
	ldr	r3, [fp, #-132]
	sub	r2, r2, r3
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #3
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-88]
	ldr	r3, .L32+28
	ldr	r0, [r3]
	ldr	r3, [fp, #-124]
	add	r2, r3, #1
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #3
	sub	r1, fp, #28
	add	r3, r1, r3
	ldr	r1, [r3, #-92]
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #3
	sub	ip, fp, #28
	add	r3, ip, r3
	ldr	r3, [r3, #-88]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L32+96
	bl	fprintf
	b	.L27
.L26:
	ldr	r3, .L32+28
	ldr	r3, [r3]
	mov	r2, #17
	mov	r1, #1
	ldr	r0, .L32+100
	bl	fwrite
	ldr	r3, .L32+32
	ldmia	r3, {r2-r3}
	adds	r8, r2, #1
	adc	r9, r3, #0
	ldr	r3, .L32+32
	stm	r3, {r8-r9}
.L27:
	ldr	r3, .L32+48
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L32+48
	str	r3, [r2]
.L22:
	ldr	r3, .L32+48
	ldr	r3, [r3]
	cmp	r3, #11
	ble	.L28
	ldr	r3, .L32+28
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, #10
	bl	fputc
	ldr	r3, .L32+44
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r2, r3, #63
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #6
	mov	r1, r3
	ldr	r0, .L32+104
	bl	printf
	ldr	r3, .L32+44
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L32+44
	str	r3, [r2]
.L19:
	ldr	r3, .L32+44
	ldr	r3, [r3]
	cmp	r3, #64
	ble	.L29
	ldr	r0, .L32+108
	bl	printf
	ldr	r3, .L32+28
	ldr	r3, [r3]
	mov	r2, #32
	mov	r1, #1
	ldr	r0, .L32+112
	bl	fwrite
	ldr	r3, .L32+28
	ldr	r4, [r3]
	ldr	r3, .L32+36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_l2d
	mov	r2, #0
	ldr	r3, .L32+116
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L32+120
	mov	r0, r4
	bl	fprintf
	ldr	r3, .L32+28
	ldr	r4, [r3]
	ldr	r3, .L32+40
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_l2d
	mov	r2, #0
	ldr	r3, .L32+116
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L32+124
	mov	r0, r4
	bl	fprintf
	ldr	r3, .L32+28
	ldr	r4, [r3]
	ldr	r3, .L32+32
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_l2d
	mov	r2, #0
	ldr	r3, .L32+128
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L32+116
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L32+132
	mov	r0, r4
	bl	fprintf
	ldr	r3, .L32+16
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
	ldr	r3, .L32+28
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
	ldr	r0, .L32+136
	bl	puts
	mov	r3, #0
	ldr	r2, .L32
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L31
	bl	__stack_chk_fail
.L31:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L33:
	.align	2
.L32:
	.word	.LC35
	.word	.LC15
	.word	.LC16
	.word	.LC5
	.word	input_file
	.word	.LC4
	.word	.LC1
	.word	output_file
	.word	total_unallocated
	.word	total_process_size
	.word	total_hole_size
	.word	i
	.word	j
	.word	.LC17
	.word	.LC18
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC25
	.word	.LC26
	.word	k
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	1082523648
	.word	.LC32
	.word	.LC33
	.word	1079574528
	.word	.LC34
	.word	.LC10
	.size	runWorstFit, .-runWorstFit
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
