	.file	1 ""
	.section .mdebug.abi32
	.previous
	.nan	legacy
	.module	fp=32
	.module	nooddspreg
	.abicalls
	.text
	.align	2
	.globl	read_timer
	.set	nomips16
	.set	nomicromips
	.ent	read_timer
	.type	read_timer, @function
read_timer:
	.frame	$fp,48,$31		# vars= 16, regs= 2/0, args= 16, gp= 8
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	nomacro
	addiu	$sp,$sp,-48
	sw	$31,44($sp)
	sw	$fp,40($sp)
	move	$fp,$sp
	.cprestore	16
	movz	$31,$31,$0
	addiu	$2,$fp,24
	move	$4,$2
	lw	$2,%call16(ftime)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,ftime
1:	jalr	$25
	nop

	lw	$28,16($fp)
	lw	$2,24($fp)
	nop
	mtc1	$2,$f0
	nop
	cvt.d.w	$f2,$f0
	lhu	$2,28($fp)
	nop
	mtc1	$2,$f0
	nop
	cvt.d.w	$f4,$f0
	lw	$2,%got($LC0)($28)
	nop
	lwc1	$f0,%lo($LC0+4)($2)
	nop
	lwc1	$f1,%lo($LC0)($2)
	nop
	div.d	$f0,$f4,$f0
	add.d	$f0,$f2,$f0
	move	$sp,$fp
	lw	$31,44($sp)
	lw	$fp,40($sp)
	addiu	$sp,$sp,48
	j	$31
	nop

	.set	macro
	.set	reorder
	.end	read_timer
	.size	read_timer, .-read_timer
	.align	2
	.globl	read_timer_ms
	.set	nomips16
	.set	nomicromips
	.ent	read_timer_ms
	.type	read_timer_ms, @function
read_timer_ms:
	.frame	$fp,48,$31		# vars= 16, regs= 2/0, args= 16, gp= 8
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	nomacro
	addiu	$sp,$sp,-48
	sw	$31,44($sp)
	sw	$fp,40($sp)
	move	$fp,$sp
	.cprestore	16
	movz	$31,$31,$0
	addiu	$2,$fp,24
	move	$4,$2
	lw	$2,%call16(ftime)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,ftime
1:	jalr	$25
	nop

	lw	$28,16($fp)
	lw	$2,24($fp)
	nop
	mtc1	$2,$f0
	nop
	cvt.d.w	$f2,$f0
	lw	$2,%got($LC0)($28)
	nop
	lwc1	$f0,%lo($LC0+4)($2)
	nop
	lwc1	$f1,%lo($LC0)($2)
	nop
	mul.d	$f2,$f2,$f0
	lhu	$2,28($fp)
	nop
	mtc1	$2,$f0
	nop
	cvt.d.w	$f0,$f0
	add.d	$f0,$f2,$f0
	move	$sp,$fp
	lw	$31,44($sp)
	lw	$fp,40($sp)
	addiu	$sp,$sp,48
	j	$31
	nop

	.set	macro
	.set	reorder
	.end	read_timer_ms
	.size	read_timer_ms, .-read_timer_ms
	.align	2
	.globl	init
	.set	nomips16
	.set	nomicromips
	.ent	init
	.type	init, @function
init:
	.frame	$fp,48,$31		# vars= 8, regs= 3/0, args= 16, gp= 8
	.mask	0xc0010000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	nomacro
	addiu	$sp,$sp,-48
	sw	$31,44($sp)
	sw	$fp,40($sp)
	sw	$16,36($sp)
	move	$fp,$sp
	movz	$31,$31,$0
	.cprestore	16
	sw	$4,48($fp)
	sw	$5,52($fp)
	sw	$0,24($fp)
	b	$L6
	nop

$L7:
	lw	$2,24($fp)
	nop
	sll	$2,$2,2
	lw	$3,48($fp)
	nop
	addu	$16,$3,$2
	lw	$2,%call16(drand48)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,drand48
1:	jalr	$25
	nop

	lw	$28,16($fp)
	cvt.s.d	$f0,$f0
	swc1	$f0,0($16)
	lw	$2,24($fp)
	nop
	addiu	$2,$2,1
	sw	$2,24($fp)
$L6:
	lw	$3,24($fp)
	lw	$2,52($fp)
	nop
	slt	$2,$3,$2
	bne	$2,$0,$L7
	nop

	nop
	move	$sp,$fp
	lw	$31,44($sp)
	lw	$fp,40($sp)
	lw	$16,36($sp)
	addiu	$sp,$sp,48
	j	$31
	nop

	.set	macro
	.set	reorder
	.end	init
	.size	init, .-init
	.align	2
	.globl	sum
	.set	nomips16
	.set	nomicromips
	.ent	sum
	.type	sum, @function
sum:
	.frame	$fp,24,$31		# vars= 8, regs= 1/0, args= 0, gp= 8
	.mask	0x40000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.set	nomacro
	addiu	$sp,$sp,-24
	sw	$fp,20($sp)
	move	$fp,$sp
	sw	$4,24($fp)
	sw	$5,28($fp)
	movz	$31,$31,$0
	sw	$6,32($fp)
	sw	$0,12($fp)
	sw	$0,8($fp)
	b	$L9
	nop

$L10:
	lw	$2,8($fp)
	nop
	sll	$2,$2,2
	lw	$3,28($fp)
	nop
	addu	$2,$3,$2
	lwc1	$f2,0($2)
	lwc1	$f0,32($fp)
	nop
	mul.s	$f0,$f2,$f0
	lwc1	$f2,12($fp)
	nop
	add.s	$f0,$f2,$f0
	swc1	$f0,12($fp)
	lw	$2,8($fp)
	nop
	addiu	$2,$2,1
	sw	$2,8($fp)
$L9:
	lw	$3,8($fp)
	lw	$2,24($fp)
	nop
	slt	$2,$3,$2
	bne	$2,$0,$L10
	nop

	lwc1	$f0,12($fp)
	move	$sp,$fp
	lw	$fp,20($sp)
	addiu	$sp,$sp,24
	j	$31
	nop

	.set	macro
	.set	reorder
	.end	sum
	.size	sum, .-sum
	.rdata
	.align	2
$LC1:
	.ascii	"Usage: sum <n> (default %d)\012\000"
	.align	2
$LC3:
	.ascii	"========================================================"
	.ascii	"==============================================\000"
	.align	2
$LC4:
	.ascii	"\011Sum %d numbers\012\000"
	.align	2
$LC5:
	.ascii	"--------------------------------------------------------"
	.ascii	"----------------------------------------------\000"
	.align	2
$LC6:
	.ascii	"Performance:\011\011Runtime (ms)\011 MFLOPS \000"
	.align	2
$LC8:
	.ascii	"Sum:\011\011\011%4f\011%4f\012\000"
	.text
	.align	2
	.globl	main
	.set	nomips16
	.set	nomicromips
	.ent	main
	.type	main, @function
main:
	.frame	$fp,72,$31		# vars= 32, regs= 2/0, args= 24, gp= 8
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	nomacro
	addiu	$sp,$sp,-72
	sw	$31,68($sp)
	sw	$fp,64($sp)
	move	$fp,$sp
	.cprestore	24
	movz	$31,$31,$0
	sw	$4,72($fp)
	sw	$5,76($fp)
	li	$2,65536			# 0x10000
	ori	$2,$2,0x9000
	sw	$2,32($fp)
	lw	$2,72($fp)
	nop
	slt	$2,$2,2
	beq	$2,$0,$L13
	nop

	lw	$2,%got(stderr)($28)
	nop
	lw	$3,0($2)
	lw	$6,32($fp)
	lw	$2,%got($LC1)($28)
	nop
	addiu	$5,$2,%lo($LC1)
	move	$4,$3
	lw	$2,%call16(fprintf)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,fprintf
1:	jalr	$25
	nop

	lw	$28,24($fp)
	b	$L14
	nop

$L13:
	lw	$2,76($fp)
	nop
	addiu	$2,$2,4
	lw	$2,0($2)
	nop
	move	$4,$2
	lw	$2,%call16(atoi)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,atoi
1:	jalr	$25
	nop

	lw	$28,24($fp)
	sw	$2,32($fp)
$L14:
	lw	$2,32($fp)
	nop
	sll	$2,$2,2
	move	$4,$2
	lw	$2,%call16(malloc)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,malloc
1:	jalr	$25
	nop

	lw	$28,24($fp)
	sw	$2,36($fp)
	lw	$2,32($fp)
	nop
	sll	$2,$2,2
	move	$4,$2
	lw	$2,%call16(malloc)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,malloc
1:	jalr	$25
	nop

	lw	$28,24($fp)
	sw	$2,40($fp)
	li	$4,4096			# 0x1000
	lw	$2,%call16(srand48)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,srand48
1:	jalr	$25
	nop

	lw	$28,24($fp)
	lw	$5,32($fp)
	lw	$4,36($fp)
	lw	$2,%got(init)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,init
1:	jalr	$25
	nop

	lw	$28,24($fp)
	lw	$5,32($fp)
	lw	$4,40($fp)
	lw	$2,%got(init)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,init
1:	jalr	$25
	nop

	lw	$28,24($fp)
	nop
	lw	$2,%got($LC2)($28)
	nop
	lwc1	$f0,%lo($LC2)($2)
	nop
	swc1	$f0,44($fp)
	lw	$2,%got(read_timer)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,read_timer
1:	jalr	$25
	nop

	lw	$28,24($fp)
	swc1	$f0,52($fp)
	swc1	$f1,48($fp)
	lw	$6,44($fp)
	lw	$5,36($fp)
	lw	$4,32($fp)
	lw	$2,%got(sum)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,sum
1:	jalr	$25
	nop

	lw	$28,24($fp)
	swc1	$f0,56($fp)
	lw	$2,%got(read_timer)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,read_timer
1:	jalr	$25
	nop

	lw	$28,24($fp)
	mov.d	$f2,$f0
	lwc1	$f0,52($fp)
	nop
	lwc1	$f1,48($fp)
	nop
	sub.d	$f0,$f2,$f0
	swc1	$f0,52($fp)
	swc1	$f1,48($fp)
	lw	$2,%got($LC3)($28)
	nop
	addiu	$4,$2,%lo($LC3)
	lw	$2,%call16(puts)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,puts
1:	jalr	$25
	nop

	lw	$28,24($fp)
	lw	$5,32($fp)
	lw	$2,%got($LC4)($28)
	nop
	addiu	$4,$2,%lo($LC4)
	lw	$2,%call16(printf)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,printf
1:	jalr	$25
	nop

	lw	$28,24($fp)
	nop
	lw	$2,%got($LC5)($28)
	nop
	addiu	$4,$2,%lo($LC5)
	lw	$2,%call16(puts)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,puts
1:	jalr	$25
	nop

	lw	$28,24($fp)
	nop
	lw	$2,%got($LC6)($28)
	nop
	addiu	$4,$2,%lo($LC6)
	lw	$2,%call16(puts)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,puts
1:	jalr	$25
	nop

	lw	$28,24($fp)
	nop
	lw	$2,%got($LC5)($28)
	nop
	addiu	$4,$2,%lo($LC5)
	lw	$2,%call16(puts)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,puts
1:	jalr	$25
	nop

	lw	$28,24($fp)
	lwc1	$f2,52($fp)
	nop
	lwc1	$f3,48($fp)
	lw	$2,%got($LC0)($28)
	nop
	lwc1	$f0,%lo($LC0+4)($2)
	nop
	lwc1	$f1,%lo($LC0)($2)
	nop
	mul.d	$f6,$f2,$f0
	lw	$2,32($fp)
	nop
	sll	$2,$2,1
	mtc1	$2,$f0
	nop
	cvt.d.w	$f2,$f0
	lwc1	$f4,52($fp)
	nop
	lwc1	$f5,48($fp)
	lw	$2,%got($LC7)($28)
	nop
	lwc1	$f0,%lo($LC7+4)($2)
	nop
	lwc1	$f1,%lo($LC7)($2)
	nop
	mul.d	$f0,$f4,$f0
	div.d	$f0,$f2,$f0
	swc1	$f0,20($sp)
	swc1	$f1,16($sp)
	mfc1	$7,$f6
	mfc1	$6,$f7
	lw	$2,%got($LC8)($28)
	nop
	addiu	$4,$2,%lo($LC8)
	lw	$2,%call16(printf)($28)
	nop
	move	$25,$2
	.reloc	1f,R_MIPS_JALR,printf
1:	jalr	$25
	nop

	lw	$28,24($fp)
	move	$2,$0
	move	$sp,$fp
	lw	$31,68($sp)
	lw	$fp,64($sp)
	addiu	$sp,$sp,72
	j	$31
	nop

	.set	macro
	.set	reorder
	.end	main
	.size	main, .-main
	.rdata
	.align	3
$LC0:
	.word	1083129856
	.word	0
	.align	2
$LC2:
	.word	1039972644
	.align	3
$LC7:
	.word	1093567616
	.word	0
	.ident	"GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609"
