	.file	"90762327.c"
	.intel_syntax noprefix
	.text
	.globl	colind
	.bss
	.align 32
	.type	colind, @object
	.size	colind, 32521372
colind:
	.zero	32521372
	.globl	rowptr
	.align 32
	.type	rowptr, @object
	.size	rowptr, 8253980
rowptr:
	.zero	8253980
	.globl	values
	.align 32
	.type	values, @object
	.size	values, 32521372
values:
	.zero	32521372
	.globl	x
	.align 32
	.type	x, @object
	.size	x, 8253976
x:
	.zero	8253976
	.globl	y
	.align 32
	.type	y, @object
	.size	y, 8253976
y:
	.zero	8253976
	.section	.rodata
.LC0:
	.string	"**** SerialSpmul starts! ****"
.LC1:
	.string	"Input file: %s\n"
.LC2:
	.string	"r"
.LC3:
	.string	"FILE %s DOES NOT EXIST; STOP\n"
.LC4:
	.string	"FILE open done"
.LC5:
	.string	"%d %d %d"
.LC6:
	.string	"alarm: incorrect row"
.LC7:
	.string	"alarm: incorrect col"
.LC8:
	.string	"alarm: incorrect nzero"
.LC9:
	.string	"%d"
.LC10:
	.string	"%E"
.LC18:
	.string	"alarm initial i = %d\n"
.LC19:
	.string	"x = %E\n"
.LC20:
	.string	"value = %E\n"
.LC21:
	.string	"exp = %d\n"
.LC22:
	.string	"Used CPU memory: %d bytes\n"
.LC23:
	.string	"initialization done"
.LC24:
	.string	"Total time = %f seconds\n"
.LC25:
	.string	"Initialize time = %f seconds\n"
	.align 8
.LC26:
	.string	"Accelerator Elapsed time = %f seconds\n"
.LC27:
	.string	"%d: x_sum = %.12E\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, 256
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movabs	rax, 3919872638346815535
	movabs	rdx, 5281690253547220844
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	movabs	rax, 203817316462
	mov	edx, 0
	mov	QWORD PTR -96[rbp], rax
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -80[rbp], 0
	mov	QWORD PTR -72[rbp], 0
	mov	QWORD PTR -64[rbp], 0
	mov	QWORD PTR -56[rbp], 0
	mov	QWORD PTR -48[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	movabs	rax, 7311435048487775083
	movabs	rdx, 289414458994
	mov	QWORD PTR -144[rbp], rax
	mov	QWORD PTR -136[rbp], rdx
	mov	QWORD PTR -128[rbp], 0
	mov	QWORD PTR -120[rbp], 0
	mov	DWORD PTR -216[rbp], 0
	lea	rdi, .LC0[rip]
	call	puts@PLT
	lea	rdx, -144[rbp]
	lea	rax, -112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcat@PLT
	lea	rax, -144[rbp]
	mov	rsi, rax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	call	timer_@PLT
	movq	rax, xmm0
	mov	QWORD PTR -200[rbp], rax
	mov	eax, 0
	call	timer_@PLT
	movq	rax, xmm0
	mov	QWORD PTR -192[rbp], rax
	lea	rax, -112[rbp]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -184[rbp], rax
	cmp	QWORD PTR -184[rbp], 0
	jne	.L2
	lea	rax, -112[rbp]
	mov	rsi, rax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L2:
	lea	rdi, .LC4[rip]
	call	puts@PLT
	lea	rsi, -240[rbp]
	lea	rcx, -244[rbp]
	lea	rdx, -236[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	r8, rsi
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	eax, DWORD PTR -236[rbp]
	cmp	eax, 2063494
	je	.L3
	lea	rdi, .LC6[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L3:
	mov	eax, DWORD PTR -244[rbp]
	cmp	eax, 2063494
	je	.L4
	lea	rdi, .LC7[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L4:
	mov	eax, DWORD PTR -240[rbp]
	cmp	eax, 8130343
	je	.L5
	lea	rdi, .LC8[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L5:
	mov	DWORD PTR -228[rbp], 0
	jmp	.L6
.L7:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, rowptr[rip]
	add	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	add	DWORD PTR -228[rbp], 1
.L6:
	cmp	DWORD PTR -228[rbp], 2063494
	jle	.L7
	mov	DWORD PTR -228[rbp], 0
	jmp	.L8
.L9:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, colind[rip]
	add	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	add	DWORD PTR -228[rbp], 1
.L8:
	cmp	DWORD PTR -228[rbp], 8130342
	jle	.L9
	mov	DWORD PTR -228[rbp], 0
	jmp	.L10
.L11:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, values[rip]
	add	rdx, rax
	mov	rax, QWORD PTR -184[rbp]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	add	DWORD PTR -228[rbp], 1
.L10:
	cmp	DWORD PTR -228[rbp], 8130342
	jle	.L11
	mov	rax, QWORD PTR -184[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	DWORD PTR -224[rbp], 0
	mov	DWORD PTR -228[rbp], 0
	jmp	.L12
.L53:
	nop
.L13:
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, values[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	DWORD PTR -204[rbp], xmm0
	movss	xmm0, DWORD PTR -204[rbp]
	comiss	xmm0, DWORD PTR .LC11[rip]
	jbe	.L14
	movss	xmm0, DWORD PTR .LC12[rip]
	comiss	xmm0, DWORD PTR -204[rbp]
	jbe	.L14
	add	DWORD PTR -224[rbp], 1
	pxor	xmm0, xmm0
	ucomiss	xmm0, DWORD PTR -204[rbp]
	jp	.L17
	pxor	xmm0, xmm0
	ucomiss	xmm0, DWORD PTR -204[rbp]
	jne	.L17
	jmp	.L13
.L17:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR -204[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
	jmp	.L19
.L14:
	movss	xmm0, DWORD PTR -204[rbp]
	movss	xmm1, DWORD PTR .LC14[rip]
	andps	xmm0, xmm1
	movd	eax, xmm0
	movd	xmm0, eax
	call	log10f@PLT
	cvttss2si	eax, xmm0
	mov	DWORD PTR -208[rbp], eax
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR -204[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
	cmp	DWORD PTR -208[rbp], 0
	js	.L20
	mov	DWORD PTR -220[rbp], 1
	jmp	.L21
.L22:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	xmm1, DWORD PTR .LC15[rip]
	divss	xmm0, xmm1
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -220[rbp], 1
.L21:
	mov	eax, DWORD PTR -208[rbp]
	add	eax, 1
	cmp	DWORD PTR -220[rbp], eax
	jle	.L22
	jmp	.L23
.L20:
	cmp	DWORD PTR -208[rbp], 0
	jns	.L23
	mov	DWORD PTR -220[rbp], -1
	mov	DWORD PTR -220[rbp], 1
	jmp	.L24
.L25:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	movss	xmm0, DWORD PTR .LC15[rip]
	mulss	xmm0, xmm1
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -220[rbp], 1
.L24:
	mov	eax, DWORD PTR -208[rbp]
	neg	eax
	cmp	DWORD PTR -220[rbp], eax
	jle	.L25
.L23:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	xmm1, DWORD PTR .LC16[rip]
	comiss	xmm0, xmm1
	ja	.L26
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	movss	xmm0, DWORD PTR .LC17[rip]
	comiss	xmm0, xmm1
	jbe	.L52
.L26:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, eax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm0
	movq	rax, xmm3
	movq	xmm0, rax
	lea	rdi, .LC19[rip]
	mov	eax, 1
	call	printf@PLT
	mov	eax, DWORD PTR -228[rbp]
	add	eax, 1000
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, values[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, xmm0
	movq	rax, xmm4
	movq	xmm0, rax
	lea	rdi, .LC20[rip]
	mov	eax, 1
	call	printf@PLT
	mov	eax, DWORD PTR -208[rbp]
	mov	esi, eax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L52:
	add	DWORD PTR -224[rbp], 1
.L19:
	add	DWORD PTR -228[rbp], 1
.L12:
	cmp	DWORD PTR -228[rbp], 2063493
	jle	.L53
	mov	eax, DWORD PTR -216[rbp]
	add	eax, 40775352
	mov	DWORD PTR -216[rbp], eax
	mov	eax, DWORD PTR -216[rbp]
	add	eax, 49029324
	mov	DWORD PTR -216[rbp], eax
	mov	eax, DWORD PTR -216[rbp]
	mov	esi, eax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC23[rip]
	call	puts@PLT
	mov	eax, 0
	call	timer_@PLT
	movq	rax, xmm0
	mov	QWORD PTR -176[rbp], rax
	mov	eax, 0
	call	timer_@PLT
	movq	rax, xmm0
	mov	QWORD PTR -168[rbp], rax
	mov	DWORD PTR -220[rbp], 0
	jmp	.L29
.L43:
	mov	DWORD PTR -228[rbp], 0
	jmp	.L30
.L33:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	mov	DWORD PTR -224[rbp], 0
	jmp	.L31
.L32:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, rowptr[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -224[rbp]
	add	eax, edx
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, values[rip]
	movss	xmm2, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, rowptr[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -224[rbp]
	add	eax, edx
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, colind[rip]
	mov	eax, DWORD PTR [rdx+rax]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm2
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -224[rbp], 1
.L31:
	mov	eax, DWORD PTR -228[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, rowptr[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edx, DWORD PTR -228[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, rowptr[rip]
	mov	edx, DWORD PTR [rcx+rdx]
	sub	eax, edx
	cmp	DWORD PTR -224[rbp], eax
	jl	.L32
	add	DWORD PTR -228[rbp], 1
.L30:
	cmp	DWORD PTR -228[rbp], 2063493
	jle	.L33
	mov	DWORD PTR -228[rbp], 0
	jmp	.L34
.L42:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	DWORD PTR -212[rbp], xmm0
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR -212[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
	pxor	xmm0, xmm0
	ucomiss	xmm0, DWORD PTR -212[rbp]
	jp	.L51
	pxor	xmm0, xmm0
	comiss	xmm0, DWORD PTR -212[rbp]
	je	.L35
.L51:
	movss	xmm0, DWORD PTR -212[rbp]
	movss	xmm1, DWORD PTR .LC14[rip]
	andps	xmm0, xmm1
	movd	eax, xmm0
	movd	xmm0, eax
	call	log10f@PLT
	cvttss2si	eax, xmm0
	mov	DWORD PTR -208[rbp], eax
	cmp	DWORD PTR -208[rbp], 0
	js	.L37
	mov	DWORD PTR -224[rbp], 1
	jmp	.L38
.L39:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	xmm1, DWORD PTR .LC15[rip]
	divss	xmm0, xmm1
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -224[rbp], 1
.L38:
	mov	eax, DWORD PTR -208[rbp]
	add	eax, 1
	cmp	DWORD PTR -224[rbp], eax
	jle	.L39
	jmp	.L35
.L37:
	cmp	DWORD PTR -208[rbp], 0
	jns	.L35
	mov	DWORD PTR -224[rbp], -1
	mov	DWORD PTR -224[rbp], 1
	jmp	.L40
.L41:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	movss	xmm0, DWORD PTR .LC15[rip]
	mulss	xmm0, xmm1
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -224[rbp], 1
.L40:
	mov	eax, DWORD PTR -208[rbp]
	neg	eax
	cmp	DWORD PTR -224[rbp], eax
	jle	.L41
.L35:
	add	DWORD PTR -228[rbp], 1
.L34:
	cmp	DWORD PTR -228[rbp], 2063493
	jle	.L42
	add	DWORD PTR -220[rbp], 1
.L29:
	cmp	DWORD PTR -220[rbp], 99
	jle	.L43
	mov	eax, 0
	call	timer_@PLT
	movq	rax, xmm0
	mov	QWORD PTR -160[rbp], rax
	mov	eax, 0
	call	timer_@PLT
	movq	rax, xmm0
	mov	QWORD PTR -152[rbp], rax
	movsd	xmm0, QWORD PTR -152[rbp]
	subsd	xmm0, QWORD PTR -200[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC24[rip]
	mov	eax, 1
	call	printf@PLT
	movsd	xmm0, QWORD PTR -176[rbp]
	subsd	xmm0, QWORD PTR -192[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC25[rip]
	mov	eax, 1
	call	printf@PLT
	movsd	xmm0, QWORD PTR -160[rbp]
	subsd	xmm0, QWORD PTR -168[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC26[rip]
	mov	eax, 1
	call	printf@PLT
	pxor	xmm0, xmm0
	movss	DWORD PTR -232[rbp], xmm0
	mov	DWORD PTR -228[rbp], 0
	jmp	.L44
.L45:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	xmm1, DWORD PTR -232[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -232[rbp], xmm0
	add	DWORD PTR -228[rbp], 1
.L44:
	cmp	DWORD PTR -228[rbp], 2063493
	jle	.L45
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, DWORD PTR -232[rbp]
	movq	rax, xmm5
	mov	edx, DWORD PTR -220[rbp]
	add	edx, 1
	movq	xmm0, rax
	mov	esi, edx
	lea	rdi, .LC27[rip]
	mov	eax, 1
	call	printf@PLT
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L47
	call	__stack_chk_fail@PLT
.L47:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.section	.rodata
	.align 4
.LC11:
	.long	-1110651699
	.align 4
.LC12:
	.long	1036831949
	.align 16
.LC14:
	.long	2147483647
	.long	0
	.long	0
	.long	0
	.align 4
.LC15:
	.long	1092616192
	.align 4
.LC16:
	.long	1065353216
	.align 4
.LC17:
	.long	-1082130432
	.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	"90762327.c"
	.text
	.comm	colind,32521372,4
	.comm	rowptr,8253980,4
	.comm	values,32521372,4
	.comm	x,8253976,4
	.comm	y,8253976,4
	.section	.rodata
	.align	2
.LC2:
	.ascii	"**** SerialSpmul starts! ****\000"
	.align	2
.LC3:
	.ascii	"Input file: %s\012\000"
	.align	2
.LC4:
	.ascii	"r\000"
	.align	2
.LC5:
	.ascii	"FILE %s DOES NOT EXIST; STOP\012\000"
	.align	2
.LC6:
	.ascii	"FILE open done\000"
	.align	2
.LC7:
	.ascii	"%d %d %d\000"
	.align	2
.LC8:
	.ascii	"alarm: incorrect row\000"
	.align	2
.LC9:
	.ascii	"alarm: incorrect col\000"
	.align	2
.LC10:
	.ascii	"alarm: incorrect nzero\000"
	.align	2
.LC11:
	.ascii	"%d\000"
	.align	2
.LC12:
	.ascii	"%E\000"
	.global	__aeabi_fcmpgt
	.global	__aeabi_fcmplt
	.global	__aeabi_fcmpeq
	.global	__aeabi_f2iz
	.global	__aeabi_fdiv
	.global	__aeabi_fmul
	.align	2
.LC13:
	.ascii	"alarm initial i = %d\012\000"
	.global	__aeabi_f2d
	.align	2
.LC14:
	.ascii	"x = %E\012\000"
	.align	2
.LC15:
	.ascii	"value = %E\012\000"
	.align	2
.LC16:
	.ascii	"exp = %d\012\000"
	.align	2
.LC17:
	.ascii	"Used CPU memory: %d bytes\012\000"
	.align	2
.LC18:
	.ascii	"initialization done\000"
	.global	__aeabi_fadd
	.global	__aeabi_dsub
	.align	2
.LC19:
	.ascii	"Total time = %f seconds\012\000"
	.align	2
.LC20:
	.ascii	"Initialize time = %f seconds\012\000"
	.align	2
.LC21:
	.ascii	"Accelerator Elapsed time = %f seconds\012\000"
	.align	2
.LC22:
	.ascii	"%d: x_sum = %.12E\012\000"
	.align	2
.LC0:
	.ascii	"/home/f6l/SPMULInput/\000"
	.space	74
	.align	2
.LC1:
	.ascii	"kkt_power.rbC\000"
	.space	18
	.align	2
.LC23:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 232
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #244
	ldr	r3, .L55
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L55+4
	sub	ip, fp, #112
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	str	r0, [ip]
	add	ip, ip, #4
	strh	r1, [ip]	@ movhi
	sub	r3, fp, #90
	mov	r2, #74
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, .L55+8
	sub	ip, fp, #144
	ldm	r3, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2}
	strh	r3, [ip]	@ movhi
	sub	r3, fp, #130
	mov	r2, #18
	mov	r1, #0
	mov	r0, r3
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-216]
	ldr	r0, .L55+12
	bl	puts
	sub	r2, fp, #144
	sub	r3, fp, #112
	mov	r1, r2
	mov	r0, r3
	bl	strcat
	sub	r3, fp, #144
	mov	r1, r3
	ldr	r0, .L55+16
	bl	printf
	bl	timer_
	str	r0, [fp, #-196]
	str	r1, [fp, #-192]
	bl	timer_
	str	r0, [fp, #-188]
	str	r1, [fp, #-184]
	sub	r3, fp, #112
	ldr	r1, .L55+20
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-212]
	ldr	r3, [fp, #-212]
	cmp	r3, #0
	bne	.L2
	sub	r3, fp, #112
	mov	r1, r3
	ldr	r0, .L55+24
	bl	printf
	mov	r0, #1
	bl	exit
.L2:
	ldr	r0, .L55+28
	bl	puts
	sub	r1, fp, #244
	sub	r2, fp, #236
	sub	r3, fp, #240
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L55+32
	ldr	r0, [fp, #-212]
	bl	__isoc99_fscanf
	ldr	r3, [fp, #-236]
	ldr	r2, .L55+36
	cmp	r3, r2
	beq	.L3
	ldr	r0, .L55+40
	bl	puts
	mov	r0, #1
	bl	exit
.L3:
	ldr	r3, [fp, #-244]
	ldr	r2, .L55+36
	cmp	r3, r2
	beq	.L4
	ldr	r0, .L55+44
	bl	puts
	mov	r0, #1
	bl	exit
.L4:
	ldr	r3, [fp, #-240]
	ldr	r2, .L55+48
	cmp	r3, r2
	beq	.L5
	ldr	r0, .L55+52
	bl	puts
	mov	r0, #1
	bl	exit
.L5:
	mov	r3, #0
	str	r3, [fp, #-228]
	b	.L6
.L7:
	ldr	r3, [fp, #-228]
	lsl	r3, r3, #2
	ldr	r2, .L55+56
	add	r3, r3, r2
	mov	r2, r3
	ldr	r1, .L55+60
	ldr	r0, [fp, #-212]
	bl	__isoc99_fscanf
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	str	r3, [fp, #-228]
.L6:
	ldr	r3, [fp, #-228]
	ldr	r2, .L55+36
	cmp	r3, r2
	ble	.L7
	mov	r3, #0
	str	r3, [fp, #-228]
	b	.L8
.L9:
	ldr	r3, [fp, #-228]
	lsl	r3, r3, #2
	ldr	r2, .L55+64
	add	r3, r3, r2
	mov	r2, r3
	ldr	r1, .L55+60
	ldr	r0, [fp, #-212]
	bl	__isoc99_fscanf
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	str	r3, [fp, #-228]
.L8:
	ldr	r3, [fp, #-228]
	ldr	r2, .L55+68
	cmp	r3, r2
	ble	.L9
	mov	r3, #0
	str	r3, [fp, #-228]
	b	.L10
.L11:
	ldr	r3, [fp, #-228]
	lsl	r3, r3, #2
	ldr	r2, .L55+72
	add	r3, r3, r2
	mov	r2, r3
	ldr	r1, .L55+76
	ldr	r0, [fp, #-212]
	bl	__isoc99_fscanf
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	str	r3, [fp, #-228]
.L10:
	ldr	r3, [fp, #-228]
	ldr	r2, .L55+68
	cmp	r3, r2
	ble	.L11
	ldr	r0, [fp, #-212]
	bl	fclose
	mov	r3, #0
	str	r3, [fp, #-224]
	mov	r3, #0
	str	r3, [fp, #-228]
	b	.L12
.L54:
	nop
.L13:
	ldr	r2, .L55+72
	ldr	r3, [fp, #-224]
	ldr	r3, [r2, r3, lsl #2]	@ float
	str	r3, [fp, #-200]	@ float
	ldr	r1, .L55+80
	ldr	r0, [fp, #-200]	@ float
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L14
	ldr	r1, .L55+84
	ldr	r0, [fp, #-200]	@ float
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L14
	ldr	r3, [fp, #-224]
	add	r3, r3, #1
	str	r3, [fp, #-224]
	mov	r1, #0
	ldr	r0, [fp, #-200]	@ float
	bl	__aeabi_fcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L52
	b	.L13
.L52:
	ldr	r1, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r2, [fp, #-200]	@ float
	str	r2, [r1, r3, lsl #2]	@ float
	b	.L19
.L14:
	ldr	r3, [fp, #-200]
	bic	r3, r3, #-2147483648
	mov	r0, r3
	bl	log10f
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [fp, #-204]
	ldr	r1, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r2, [fp, #-200]	@ float
	str	r2, [r1, r3, lsl #2]	@ float
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	blt	.L20
	mov	r3, #1
	str	r3, [fp, #-220]
	b	.L21
.L22:
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r3, [r2, r3, lsl #2]	@ float
	ldr	r1, .L55+92
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	str	r1, [r2, r3, lsl #2]	@ float
	ldr	r3, [fp, #-220]
	add	r3, r3, #1
	str	r3, [fp, #-220]
.L21:
	ldr	r3, [fp, #-204]
	add	r3, r3, #1
	ldr	r2, [fp, #-220]
	cmp	r2, r3
	ble	.L22
	b	.L23
.L20:
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bge	.L23
	mvn	r3, #0
	str	r3, [fp, #-220]
	mov	r3, #1
	str	r3, [fp, #-220]
	b	.L24
.L25:
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r3, [r2, r3, lsl #2]	@ float
	ldr	r1, .L55+92
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	str	r1, [r2, r3, lsl #2]	@ float
	ldr	r3, [fp, #-220]
	add	r3, r3, #1
	str	r3, [fp, #-220]
.L24:
	ldr	r3, [fp, #-204]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-220]
	cmp	r2, r3
	ble	.L25
.L23:
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r1, #1065353216
	mov	r0, r3
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L26
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r3, [r2, r3, lsl #2]	@ float
	ldr	r1, .L55+96
	mov	r0, r3
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L53
.L26:
	ldr	r1, [fp, #-228]
	ldr	r0, .L55+100
	bl	printf
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L55+104
	bl	printf
	ldr	r3, [fp, #-228]
	add	r3, r3, #1000
	ldr	r2, .L55+72
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L55+108
	bl	printf
	ldr	r1, [fp, #-204]
	ldr	r0, .L55+112
	bl	printf
	mov	r0, #1
	bl	exit
.L53:
	ldr	r3, [fp, #-224]
	add	r3, r3, #1
	str	r3, [fp, #-224]
.L19:
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	str	r3, [fp, #-228]
.L12:
	ldr	r3, [fp, #-228]
	ldr	r2, .L55+116
	cmp	r3, r2
	ble	.L54
	ldr	r2, [fp, #-216]
	ldr	r3, .L55+120
	add	r3, r2, r3
	str	r3, [fp, #-216]
	ldr	r2, [fp, #-216]
	ldr	r3, .L55+124
	add	r3, r2, r3
	str	r3, [fp, #-216]
	ldr	r1, [fp, #-216]
	ldr	r0, .L55+128
	bl	printf
	ldr	r0, .L55+132
	bl	puts
	bl	timer_
	str	r0, [fp, #-180]
	str	r1, [fp, #-176]
	bl	timer_
	str	r0, [fp, #-172]
	str	r1, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-220]
	b	.L29
.L43:
	mov	r3, #0
	str	r3, [fp, #-228]
	b	.L30
.L33:
	ldr	r2, .L55+136
	ldr	r3, [fp, #-228]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]	@ float
	mov	r3, #0
	str	r3, [fp, #-224]
	b	.L31
.L32:
	ldr	r2, .L55+136
	ldr	r3, [fp, #-228]
	ldr	r4, [r2, r3, lsl #2]	@ float
	ldr	r2, .L55+56
	ldr	r3, [fp, #-228]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-224]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, .L55+72
	ldr	r0, [r2, r3, lsl #2]	@ float
	ldr	r2, .L55+56
	ldr	r3, [fp, #-228]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-224]
	add	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, .L55+64
	ldr	r3, [r2, r3, lsl #2]
	sub	r3, r3, #1
	ldr	r2, .L55+88
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L55+136
	ldr	r3, [fp, #-228]
	str	r1, [r2, r3, lsl #2]	@ float
	ldr	r3, [fp, #-224]
	add	r3, r3, #1
	str	r3, [fp, #-224]
.L31:
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	ldr	r2, .L55+56
	ldr	r2, [r2, r3, lsl #2]
	ldr	r1, .L55+56
	ldr	r3, [fp, #-228]
	ldr	r3, [r1, r3, lsl #2]
	sub	r3, r2, r3
	ldr	r2, [fp, #-224]
	cmp	r2, r3
	blt	.L32
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	str	r3, [fp, #-228]
.L30:
	ldr	r3, [fp, #-228]
	ldr	r2, .L55+116
	cmp	r3, r2
	ble	.L33
	mov	r3, #0
	str	r3, [fp, #-228]
	b	.L34
.L42:
	ldr	r2, .L55+136
	ldr	r3, [fp, #-228]
	ldr	r3, [r2, r3, lsl #2]	@ float
	str	r3, [fp, #-208]	@ float
	ldr	r1, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r2, [fp, #-208]	@ float
	str	r2, [r1, r3, lsl #2]	@ float
	mov	r1, #0
	ldr	r0, [fp, #-208]	@ float
	bl	__aeabi_fcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L35
	ldr	r3, [fp, #-208]
	bic	r3, r3, #-2147483648
	mov	r0, r3
	bl	log10f
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	blt	.L37
	mov	r3, #1
	str	r3, [fp, #-224]
	b	.L38
.L39:
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r3, [r2, r3, lsl #2]	@ float
	ldr	r1, .L55+92
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	str	r1, [r2, r3, lsl #2]	@ float
	ldr	r3, [fp, #-224]
	add	r3, r3, #1
	str	r3, [fp, #-224]
.L38:
	ldr	r3, [fp, #-204]
	add	r3, r3, #1
	ldr	r2, [fp, #-224]
	cmp	r2, r3
	ble	.L39
	b	.L35
.L37:
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bge	.L35
	mvn	r3, #0
	str	r3, [fp, #-224]
	mov	r3, #1
	str	r3, [fp, #-224]
	b	.L40
.L41:
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r3, [r2, r3, lsl #2]	@ float
	ldr	r1, .L55+92
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	str	r1, [r2, r3, lsl #2]	@ float
	ldr	r3, [fp, #-224]
	add	r3, r3, #1
	str	r3, [fp, #-224]
.L40:
	ldr	r3, [fp, #-204]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-224]
	cmp	r2, r3
	ble	.L41
.L35:
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	str	r3, [fp, #-228]
.L34:
	ldr	r3, [fp, #-228]
	ldr	r2, .L55+116
	cmp	r3, r2
	ble	.L42
	ldr	r3, [fp, #-220]
	add	r3, r3, #1
	str	r3, [fp, #-220]
.L29:
	ldr	r3, [fp, #-220]
	cmp	r3, #99
	ble	.L43
	bl	timer_
	str	r0, [fp, #-164]
	str	r1, [fp, #-160]
	bl	timer_
	str	r0, [fp, #-156]
	str	r1, [fp, #-152]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L55+140
	bl	printf
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L55+144
	bl	printf
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L55+148
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-232]	@ float
	mov	r3, #0
	str	r3, [fp, #-228]
	b	.L44
.L45:
	ldr	r2, .L55+88
	ldr	r3, [fp, #-228]
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-232]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-232]	@ float
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	str	r3, [fp, #-228]
.L44:
	ldr	r3, [fp, #-228]
	ldr	r2, .L55+116
	cmp	r3, r2
	ble	.L45
	ldr	r3, [fp, #-220]
	add	r4, r3, #1
	ldr	r0, [fp, #-232]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r1, r4
	ldr	r0, .L55+152
	bl	printf
	mov	r3, #0
	ldr	r2, .L55
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L47
	bl	__stack_chk_fail
.L47:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L56:
	.align	2
.L55:
	.word	.LC23
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	2063494
	.word	.LC8
	.word	.LC9
	.word	8130343
	.word	.LC10
	.word	rowptr
	.word	.LC11
	.word	colind
	.word	8130342
	.word	values
	.word	.LC12
	.word	-1110651699
	.word	1036831949
	.word	x
	.word	1092616192
	.word	-1082130432
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	2063493
	.word	40775352
	.word	49029324
	.word	.LC17
	.word	.LC18
	.word	y
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
