	.file	"243894284.c"
	.intel_syntax noprefix
	.text
	.globl	time_stamp
	.type	time_stamp, @function
time_stamp:
.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, 48
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	rax, QWORD PTR -32[rbp]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	mov	rax, QWORD PTR -24[rbp]
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, rax
	movsd	xmm0, QWORD PTR .LC0[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	movq	rax, xmm0
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, QWORD PTR fs:40
	je	.L3
	call	__stack_chk_fail@PLT
.L3:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	time_stamp, .-time_stamp
	.globl	time1
	.bss
	.align 8
	.type	time1, @object
	.size	time1, 8
time1:
	.zero	8
	.globl	time2
	.align 8
	.type	time2, @object
	.size	time2, 8
time2:
	.zero	8
	.globl	error_ref
	.data
	.align 4
	.type	error_ref, @object
	.size	error_ref, 4
error_ref:
	.long	980517333
	.globl	resid_ref
	.align 4
	.type	resid_ref, @object
	.size	resid_ref, 4
resid_ref:
	.long	852120686
	.globl	n
	.bss
	.align 4
	.type	n, @object
	.size	n, 4
n:
	.zero	4
	.globl	m
	.align 4
	.type	m, @object
	.size	m, 4
m:
	.zero	4
	.globl	mits
	.align 4
	.type	mits, @object
	.size	mits, 4
mits:
	.zero	4
	.globl	tol
	.align 4
	.type	tol, @object
	.size	tol, 4
tol:
	.zero	4
	.globl	relax
	.data
	.align 4
	.type	relax, @object
	.size	relax, 4
relax:
	.long	1065353216
	.globl	alpha
	.align 4
	.type	alpha, @object
	.size	alpha, 4
alpha:
	.long	1029597613
	.globl	u
	.bss
	.align 32
	.type	u, @object
	.size	u, 1048576
u:
	.zero	1048576
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 1048576
f:
	.zero	1048576
	.globl	uold
	.align 32
	.type	uold, @object
	.size	uold, 1048576
uold:
	.zero	1048576
	.globl	dx
	.align 4
	.type	dx, @object
	.size	dx, 4
dx:
	.zero	4
	.globl	dy
	.align 4
	.type	dy, @object
	.size	dy, 4
dy:
	.zero	4
	.text
	.globl	main
	.type	main, @function
main:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR n[rip], 512
	mov	DWORD PTR m[rip], 512
	movss	xmm0, DWORD PTR .LC1[rip]
	movss	DWORD PTR tol[rip], xmm0
	mov	DWORD PTR mits[rip], 5000
	call	driver
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	main, .-main
	.section	.rodata
.LC2:
	.string	"------------------------"
.LC3:
	.string	"Execution time = %f\n"
	.text
	.globl	driver
	.type	driver, @function
driver:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	initialize
	mov	eax, 0
	call	time_stamp
	movq	rax, xmm0
	mov	QWORD PTR time1[rip], rax
	call	jacobi
	mov	eax, 0
	call	time_stamp
	movq	rax, xmm0
	mov	QWORD PTR time2[rip], rax
	lea	rdi, .LC2[rip]
	call	puts@PLT
	movsd	xmm0, QWORD PTR time2[rip]
	movsd	xmm1, QWORD PTR time1[rip]
	subsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC3[rip]
	mov	eax, 1
	call	printf@PLT
	call	error_check
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	driver, .-driver
	.globl	initialize
	.type	initialize, @function
initialize:
.LFB9:
	.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 n[rip]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR .LC4[rip]
	divsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR dx[rip], xmm0
	mov	eax, DWORD PTR m[rip]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR .LC4[rip]
	divsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR dy[rip], xmm0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L8
.L11:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L9
.L10:
	mov	eax, DWORD PTR -16[rbp]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	movss	xmm0, DWORD PTR dx[rip]
	mulss	xmm0, xmm1
	cvtss2sd	xmm0, xmm0
	movsd	xmm1, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	movss	xmm0, DWORD PTR dy[rip]
	mulss	xmm0, xmm1
	cvtss2sd	xmm0, xmm0
	movsd	xmm1, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, u[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	movss	xmm0, DWORD PTR alpha[rip]
	cvtss2sd	xmm0, xmm0
	movq	xmm1, QWORD PTR .LC7[rip]
	xorpd	xmm1, xmm0
	mov	eax, DWORD PTR -8[rbp]
	imul	eax, eax
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, eax
	movsd	xmm0, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	eax, DWORD PTR -4[rbp]
	imul	eax, eax
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, eax
	movsd	xmm0, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm2
	mulsd	xmm1, xmm0
	mov	eax, DWORD PTR -8[rbp]
	imul	eax, eax
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, eax
	movsd	xmm0, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm2
	addsd	xmm0, xmm0
	subsd	xmm1, xmm0
	mov	eax, DWORD PTR -4[rbp]
	imul	eax, eax
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, eax
	movsd	xmm0, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm2
	addsd	xmm0, xmm0
	subsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, xmm1
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -12[rbp], 1
.L9:
	mov	eax, DWORD PTR m[rip]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L10
	add	DWORD PTR -16[rbp], 1
.L8:
	mov	eax, DWORD PTR n[rip]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L11
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	initialize, .-initialize
	.section	.rodata
	.align 8
.LC11:
	.string	"Finished %d iteration with error =%f\n"
	.align 8
.LC12:
	.string	"Total Number of Iterations:%d\n"
.LC13:
	.string	"Residual:%E\n"
.LC14:
	.string	"Residual_ref :%E\n"
.LC16:
	.string	"Diff ref=%E\n"
.LC18:
	.string	"the_stack_data/243894284.c"
.LC19:
	.string	"fabs(error-resid_ref) < 1E-14"
	.text
	.globl	jacobi
	.type	jacobi, @function
jacobi:
.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, 48
	movss	xmm0, DWORD PTR relax[rip]
	movss	DWORD PTR -20[rbp], xmm0
	movss	xmm1, DWORD PTR dx[rip]
	movss	xmm0, DWORD PTR dx[rip]
	mulss	xmm1, xmm0
	movss	xmm0, DWORD PTR .LC8[rip]
	divss	xmm0, xmm1
	movss	DWORD PTR -16[rbp], xmm0
	movss	xmm1, DWORD PTR dy[rip]
	movss	xmm0, DWORD PTR dy[rip]
	mulss	xmm1, xmm0
	movss	xmm0, DWORD PTR .LC8[rip]
	divss	xmm0, xmm1
	movss	DWORD PTR -12[rbp], xmm0
	movss	xmm1, DWORD PTR dx[rip]
	movss	xmm0, DWORD PTR dx[rip]
	mulss	xmm0, xmm1
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC9[rip]
	divsd	xmm0, xmm1
	movss	xmm2, DWORD PTR dy[rip]
	movss	xmm1, DWORD PTR dy[rip]
	mulss	xmm1, xmm2
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm1
	movsd	xmm1, QWORD PTR .LC4[rip]
	divsd	xmm1, xmm2
	subsd	xmm0, xmm1
	movss	xmm1, DWORD PTR alpha[rip]
	cvtss2sd	xmm1, xmm1
	subsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -8[rbp], xmm0
	movss	xmm1, DWORD PTR tol[rip]
	movss	xmm0, DWORD PTR .LC10[rip]
	mulss	xmm0, xmm1
	movss	DWORD PTR -24[rbp], xmm0
	mov	DWORD PTR -28[rbp], 1
	jmp	.L13
.L24:
	pxor	xmm0, xmm0
	movss	DWORD PTR -24[rbp], xmm0
	mov	DWORD PTR -36[rbp], 0
	jmp	.L14
.L17:
	mov	DWORD PTR -32[rbp], 0
	jmp	.L15
.L16:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, u[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, uold[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -32[rbp], 1
.L15:
	mov	eax, DWORD PTR m[rip]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L16
	add	DWORD PTR -36[rbp], 1
.L14:
	mov	eax, DWORD PTR n[rip]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L17
	mov	DWORD PTR -36[rbp], 1
	jmp	.L18
.L21:
	mov	DWORD PTR -32[rbp], 1
	jmp	.L19
.L20:
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rcx, eax
	movsx	rax, edx
	sal	rax, 9
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, uold[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rcx, eax
	movsx	rax, edx
	sal	rax, 9
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, uold[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	addss	xmm0, xmm1
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, 1
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, uold[rip]
	movss	xmm2, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, uold[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	addss	xmm0, xmm2
	mulss	xmm0, DWORD PTR -12[rbp]
	addss	xmm1, xmm0
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, uold[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, DWORD PTR -8[rbp]
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	subss	xmm0, xmm1
	divss	xmm0, DWORD PTR -8[rbp]
	movss	DWORD PTR -4[rbp], xmm0
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, uold[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	xmm1, DWORD PTR -20[rbp]
	mulss	xmm1, DWORD PTR -4[rbp]
	subss	xmm0, xmm1
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, u[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movss	xmm0, DWORD PTR -4[rbp]
	mulss	xmm0, xmm0
	movss	xmm1, DWORD PTR -24[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -24[rbp], xmm0
	add	DWORD PTR -32[rbp], 1
.L19:
	mov	eax, DWORD PTR m[rip]
	sub	eax, 1
	cmp	DWORD PTR -32[rbp], eax
	jl	.L20
	add	DWORD PTR -36[rbp], 1
.L18:
	mov	eax, DWORD PTR n[rip]
	sub	eax, 1
	cmp	DWORD PTR -36[rbp], eax
	jl	.L21
	mov	edx, DWORD PTR -28[rbp]
	movsx	rax, edx
	imul	rax, rax, 274877907
	shr	rax, 32
	sar	eax, 5
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	imul	ecx, eax, 500
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L22
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, DWORD PTR -24[rbp]
	movq	rdx, xmm3
	mov	eax, DWORD PTR -28[rbp]
	movq	xmm0, rdx
	mov	esi, eax
	lea	rdi, .LC11[rip]
	mov	eax, 1
	call	printf@PLT
.L22:
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, DWORD PTR -24[rbp]
	movq	rax, xmm4
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	ecx, DWORD PTR n[rip]
	mov	edx, DWORD PTR m[rip]
	imul	edx, ecx
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, edx
	movq	xmm1, rax
	divsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, xmm1
	movss	DWORD PTR -24[rbp], xmm0
	add	DWORD PTR -28[rbp], 1
.L13:
	mov	eax, DWORD PTR mits[rip]
	cmp	DWORD PTR -28[rbp], eax
	jg	.L23
	movss	xmm1, DWORD PTR tol[rip]
	movss	xmm0, DWORD PTR -24[rbp]
	comiss	xmm0, xmm1
	ja	.L24
.L23:
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, eax
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, DWORD PTR -24[rbp]
	movq	rax, xmm5
	movq	xmm0, rax
	lea	rdi, .LC13[rip]
	mov	eax, 1
	call	printf@PLT
	movss	xmm0, DWORD PTR resid_ref[rip]
	pxor	xmm6, xmm6
	cvtss2sd	xmm6, xmm0
	movq	rax, xmm6
	movq	xmm0, rax
	lea	rdi, .LC14[rip]
	mov	eax, 1
	call	printf@PLT
	movss	xmm1, DWORD PTR resid_ref[rip]
	movss	xmm0, DWORD PTR -24[rbp]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC15[rip]
	andps	xmm0, xmm1
	pxor	xmm7, xmm7
	cvtss2sd	xmm7, xmm0
	movq	rax, xmm7
	movq	xmm0, rax
	lea	rdi, .LC16[rip]
	mov	eax, 1
	call	printf@PLT
	movss	xmm1, DWORD PTR resid_ref[rip]
	movss	xmm0, DWORD PTR -24[rbp]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC15[rip]
	andps	xmm0, xmm1
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC17[rip]
	comisd	xmm0, xmm1
	ja	.L26
	lea	rcx, __PRETTY_FUNCTION__.1[rip]
	mov	edx, 236
	lea	rsi, .LC18[rip]
	lea	rdi, .LC19[rip]
	call	__assert_fail@PLT
.L26:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	jacobi, .-jacobi
	.section	.rodata
.LC20:
	.string	"Solution Error :%E \n"
.LC21:
	.string	"Solution Error Ref :%E \n"
.LC22:
	.string	"fabs(error-error_ref) < 1E-14"
	.text
	.globl	error_check
	.type	error_check, @function
error_check:
.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, 32
	mov	eax, DWORD PTR n[rip]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR .LC4[rip]
	divsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR dx[rip], xmm0
	mov	eax, DWORD PTR m[rip]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR .LC4[rip]
	divsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR dy[rip], xmm0
	pxor	xmm0, xmm0
	movss	DWORD PTR -16[rbp], xmm0
	mov	DWORD PTR -24[rbp], 0
	jmp	.L28
.L31:
	mov	DWORD PTR -20[rbp], 0
	jmp	.L29
.L30:
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	movss	xmm0, DWORD PTR dx[rip]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC8[rip]
	subss	xmm0, xmm1
	movss	DWORD PTR -12[rbp], xmm0
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, 1
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	movss	xmm0, DWORD PTR dy[rip]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC8[rip]
	subss	xmm0, xmm1
	movss	DWORD PTR -8[rbp], xmm0
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 9
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, u[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movss	xmm0, DWORD PTR -12[rbp]
	mulss	xmm0, xmm0
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm3
	movss	xmm0, DWORD PTR -8[rbp]
	mulss	xmm0, xmm0
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, xmm1
	movss	DWORD PTR -4[rbp], xmm0
	movss	xmm0, DWORD PTR -4[rbp]
	mulss	xmm0, xmm0
	movss	xmm1, DWORD PTR -16[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -16[rbp], xmm0
	add	DWORD PTR -20[rbp], 1
.L29:
	mov	eax, DWORD PTR m[rip]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L30
	add	DWORD PTR -24[rbp], 1
.L28:
	mov	eax, DWORD PTR n[rip]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L31
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, DWORD PTR -16[rbp]
	movq	rax, xmm4
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	mov	ecx, DWORD PTR n[rip]
	mov	edx, DWORD PTR m[rip]
	imul	edx, ecx
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, edx
	movq	xmm1, rax
	divsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, xmm1
	movss	DWORD PTR -16[rbp], xmm0
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, DWORD PTR -16[rbp]
	movq	rax, xmm5
	movq	xmm0, rax
	lea	rdi, .LC20[rip]
	mov	eax, 1
	call	printf@PLT
	movss	xmm0, DWORD PTR error_ref[rip]
	pxor	xmm6, xmm6
	cvtss2sd	xmm6, xmm0
	movq	rax, xmm6
	movq	xmm0, rax
	lea	rdi, .LC21[rip]
	mov	eax, 1
	call	printf@PLT
	movss	xmm1, DWORD PTR error_ref[rip]
	movss	xmm0, DWORD PTR -16[rbp]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC15[rip]
	andps	xmm0, xmm1
	pxor	xmm7, xmm7
	cvtss2sd	xmm7, xmm0
	movq	rax, xmm7
	movq	xmm0, rax
	lea	rdi, .LC16[rip]
	mov	eax, 1
	call	printf@PLT
	movss	xmm1, DWORD PTR error_ref[rip]
	movss	xmm0, DWORD PTR -16[rbp]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR .LC15[rip]
	andps	xmm0, xmm1
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC17[rip]
	comisd	xmm0, xmm1
	ja	.L33
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 268
	lea	rsi, .LC18[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L33:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	error_check, .-error_check
	.section	.rodata
	.type	__PRETTY_FUNCTION__.1, @object
	.size	__PRETTY_FUNCTION__.1, 7
__PRETTY_FUNCTION__.1:
	.string	"jacobi"
	.align 8
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 12
__PRETTY_FUNCTION__.0:
	.string	"error_check"
	.align 8
.LC0:
	.long	-1598689907
	.long	1051772663
	.align 4
.LC1:
	.long	786163455
	.align 8
.LC4:
	.long	0
	.long	1073741824
	.align 8
.LC5:
	.long	0
	.long	1072693248
	.align 16
.LC7:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 4
.LC8:
	.long	1065353216
	.align 8
.LC9:
	.long	0
	.long	-1073741824
	.align 4
.LC10:
	.long	1092616192
	.align 16
.LC15:
	.long	2147483647
	.long	0
	.long	0
	.long	0
	.align 8
.LC17:
	.long	-2036257893
	.long	1023837339
	.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	"243894284.c"
	.text
	.global	__aeabi_i2d
	.global	__aeabi_dmul
	.global	__aeabi_dadd
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	time_stamp
	.syntax unified
	.arm
	.fpu softvfp
	.type	time_stamp, %function
time_stamp:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	ldr	r3, .L4
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #24
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r2, .L4+4
	ldr	r3, .L4+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r1, .L4
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L3
	bl	__stack_chk_fail
.L3:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L5:
	.align	2
.L4:
	.word	.LC0
	.word	-1598689907
	.word	1051772663
	.size	time_stamp, .-time_stamp
	.comm	time1,8,8
	.comm	time2,8,8
	.global	error_ref
	.data
	.align	2
	.type	error_ref, %object
	.size	error_ref, 4
error_ref:
	.word	980517333
	.global	resid_ref
	.align	2
	.type	resid_ref, %object
	.size	resid_ref, 4
resid_ref:
	.word	852120686
	.comm	n,4,4
	.comm	m,4,4
	.comm	mits,4,4
	.comm	tol,4,4
	.global	relax
	.align	2
	.type	relax, %object
	.size	relax, 4
relax:
	.word	1065353216
	.global	alpha
	.align	2
	.type	alpha, %object
	.size	alpha, 4
alpha:
	.word	1029597613
	.comm	u,1048576,4
	.comm	f,1048576,4
	.comm	uold,1048576,4
	.comm	dx,4,4
	.comm	dy,4,4
	.text
	.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
	ldr	r3, .L8
	mov	r2, #512
	str	r2, [r3]
	ldr	r3, .L8+4
	mov	r2, #512
	str	r2, [r3]
	ldr	r3, .L8+8
	ldr	r2, .L8+12
	str	r2, [r3]	@ float
	ldr	r3, .L8+16
	ldr	r2, .L8+20
	str	r2, [r3]
	bl	driver
	mov	r3, #0
	mov	r0, r3
	pop	{fp, pc}
.L9:
	.align	2
.L8:
	.word	n
	.word	m
	.word	tol
	.word	786163455
	.word	mits
	.word	5000
	.size	main, .-main
	.section	.rodata
	.align	2
.LC1:
	.ascii	"------------------------\000"
	.global	__aeabi_dsub
	.align	2
.LC2:
	.ascii	"Execution time = %f\012\000"
	.text
	.align	2
	.global	driver
	.syntax unified
	.arm
	.fpu softvfp
	.type	driver, %function
driver:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	initialize
	bl	time_stamp
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L11
	stm	r1, {r2-r3}
	bl	jacobi
	bl	time_stamp
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L11+4
	stm	r1, {r2-r3}
	ldr	r0, .L11+8
	bl	puts
	ldr	r3, .L11+4
	ldmia	r3, {r0-r1}
	ldr	r3, .L11
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L11+12
	bl	printf
	bl	error_check
	nop
	pop	{fp, pc}
.L12:
	.align	2
.L11:
	.word	time1
	.word	time2
	.word	.LC1
	.word	.LC2
	.size	driver, .-driver
	.global	__aeabi_ddiv
	.global	__aeabi_d2f
	.global	__aeabi_i2f
	.global	__aeabi_fmul
	.global	__aeabi_f2d
	.global	__aeabi_d2iz
	.align	2
	.global	initialize
	.syntax unified
	.arm
	.fpu softvfp
	.type	initialize, %function
initialize:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #16
	ldr	r3, .L18
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	mov	r1, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	ldr	r2, .L18+4
	str	r3, [r2]	@ float
	ldr	r3, .L18+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	mov	r1, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	ldr	r2, .L18+12
	str	r3, [r2]	@ float
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L14
.L17:
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L15
.L16:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L18+4
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L18+16
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L18+12
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L18+16
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r1, .L18+20
	ldr	r3, [fp, #-36]
	lsl	r2, r3, #9
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r1, r3, lsl #2]	@ float
	ldr	r3, .L18+24
	ldr	r3, [r3]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	eor	r5, r3, #-2147483648
	ldr	r3, [fp, #-28]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L18+16
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-24]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L18+16
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-28]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L18+16
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-24]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L18+16
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r1, r0
	ldr	r0, .L18+28
	ldr	r3, [fp, #-36]
	lsl	r2, r3, #9
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	str	r1, [r0, r3, lsl #2]	@ float
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L15:
	ldr	r3, .L18+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L16
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L14:
	ldr	r3, .L18
	ldr	r3, [r3]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L17
	nop
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L19:
	.align	2
.L18:
	.word	n
	.word	dx
	.word	m
	.word	dy
	.word	1072693248
	.word	u
	.word	alpha
	.word	f
	.size	initialize, .-initialize
	.global	__aeabi_fdiv
	.global	__aeabi_fadd
	.global	__aeabi_fsub
	.section	.rodata
	.align	2
.LC3:
	.ascii	"Finished %d iteration with error =%f\012\000"
	.global	__aeabi_fcmpgt
	.align	2
.LC4:
	.ascii	"Total Number of Iterations:%d\012\000"
	.align	2
.LC5:
	.ascii	"Residual:%E\012\000"
	.align	2
.LC6:
	.ascii	"Residual_ref :%E\012\000"
	.align	2
.LC7:
	.ascii	"Diff ref=%E\012\000"
	.global	__aeabi_dcmplt
	.align	2
.LC8:
	.ascii	"the_stack_data/243894284.c\000"
	.align	2
.LC9:
	.ascii	"fabs(error-resid_ref) < 1E-14\000"
	.text
	.align	2
	.global	jacobi
	.syntax unified
	.arm
	.fpu softvfp
	.type	jacobi, %function
jacobi:
	@ 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
	ldr	r3, .L35
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-32]	@ float
	ldr	r3, .L35+4
	ldr	r3, [r3]	@ float
	ldr	r2, .L35+4
	ldr	r2, [r2]	@ float
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, #1065353216
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, .L35+8
	ldr	r3, [r3]	@ float
	ldr	r2, .L35+8
	ldr	r2, [r2]	@ float
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, #1065353216
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-24]	@ float
	ldr	r3, .L35+4
	ldr	r3, [r3]	@ float
	ldr	r2, .L35+4
	ldr	r2, [r2]	@ float
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	mov	r1, #-1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, .L35+8
	ldr	r3, [r3]	@ float
	ldr	r2, .L35+8
	ldr	r2, [r2]	@ float
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	mov	r1, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r3, .L35+12
	ldr	r3, [r3]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-20]	@ float
	ldr	r3, .L35+16
	ldr	r3, [r3]	@ float
	ldr	r1, .L35+20
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-36]	@ float
	mov	r3, #1
	str	r3, [fp, #-40]
	b	.L21
.L32:
	mov	r3, #0
	str	r3, [fp, #-36]	@ float
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L22
.L25:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L23
.L24:
	ldr	r1, .L35+24
	ldr	r3, [fp, #-48]
	lsl	r2, r3, #9
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r2, [r1, r3, lsl #2]	@ float
	ldr	r0, .L35+28
	ldr	r3, [fp, #-48]
	lsl	r1, r3, #9
	ldr	r3, [fp, #-44]
	add	r3, r1, r3
	str	r2, [r0, r3, lsl #2]	@ float
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L23:
	ldr	r3, .L35+32
	ldr	r3, [r3]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L24
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L22:
	ldr	r3, .L35+36
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L25
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L26
.L29:
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L27
.L28:
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	ldr	r1, .L35+28
	lsl	r2, r3, #9
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r0, [r1, r3, lsl #2]	@ float
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	ldr	r1, .L35+28
	lsl	r2, r3, #9
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	ldr	r1, [fp, #-28]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r1, .L35+28
	ldr	r2, [fp, #-48]
	lsl	r2, r2, #9
	add	r3, r2, r3
	ldr	r0, [r1, r3, lsl #2]	@ float
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r1, .L35+28
	ldr	r2, [fp, #-48]
	lsl	r2, r2, #9
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fadd
	mov	r3, r0
	ldr	r1, [fp, #-24]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r4, r3
	ldr	r1, .L35+28
	ldr	r3, [fp, #-48]
	lsl	r2, r3, #9
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	ldr	r1, [fp, #-20]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	ldr	r1, .L35+40
	ldr	r3, [fp, #-48]
	lsl	r2, r3, #9
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	ldr	r1, [fp, #-20]	@ float
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-16]	@ float
	ldr	r1, .L35+28
	ldr	r3, [fp, #-48]
	lsl	r2, r3, #9
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r4, [r1, r3, lsl #2]	@ float
	ldr	r1, [fp, #-16]	@ float
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	ldr	r1, .L35+24
	ldr	r3, [fp, #-48]
	lsl	r2, r3, #9
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	str	r0, [r1, r3, lsl #2]	@ float
	ldr	r1, [fp, #-16]	@ float
	ldr	r0, [fp, #-16]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-36]	@ float
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L27:
	ldr	r3, .L35+32
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L28
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L26:
	ldr	r3, .L35+36
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L29
	ldr	r1, [fp, #-40]
	ldr	r3, .L35+44
	smull	r2, r3, r1, r3
	asr	r2, r3, #5
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L30
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-40]
	ldr	r0, .L35+48
	bl	printf
.L30:
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r4, r0
	mov	r5, r1
	ldr	r3, .L35+36
	ldr	r3, [r3]
	ldr	r2, .L35+32
	ldr	r2, [r2]
	mul	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-36]	@ float
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L21:
	ldr	r3, .L35+52
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	bgt	.L31
	ldr	r3, .L35+16
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L32
.L31:
	ldr	r1, [fp, #-40]
	ldr	r0, .L35+56
	bl	printf
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L35+60
	bl	printf
	ldr	r3, .L35+64
	ldr	r3, [r3]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L35+68
	bl	printf
	ldr	r3, .L35+64
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	bic	r3, r3, #-2147483648
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L35+72
	bl	printf
	ldr	r3, .L35+64
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	bic	r3, r3, #-2147483648
	mov	r0, r3
	bl	__aeabi_f2d
	ldr	r2, .L35+76
	ldr	r3, .L35+80
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L34
	ldr	r3, .L35+84
	mov	r2, #236
	ldr	r1, .L35+88
	ldr	r0, .L35+92
	bl	__assert_fail
.L34:
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L36:
	.align	2
.L35:
	.word	relax
	.word	dx
	.word	dy
	.word	alpha
	.word	tol
	.word	1092616192
	.word	u
	.word	uold
	.word	m
	.word	n
	.word	f
	.word	274877907
	.word	.LC3
	.word	mits
	.word	.LC4
	.word	.LC5
	.word	resid_ref
	.word	.LC6
	.word	.LC7
	.word	-2036257893
	.word	1023837339
	.word	__PRETTY_FUNCTION__.6273
	.word	.LC8
	.word	.LC9
	.size	jacobi, .-jacobi
	.section	.rodata
	.align	2
.LC10:
	.ascii	"Solution Error :%E \012\000"
	.align	2
.LC11:
	.ascii	"Solution Error Ref :%E \012\000"
	.align	2
.LC12:
	.ascii	"fabs(error-error_ref) < 1E-14\000"
	.text
	.align	2
	.global	error_check
	.syntax unified
	.arm
	.fpu softvfp
	.type	error_check, %function
error_check:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #24
	ldr	r3, .L44
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	mov	r1, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	ldr	r2, .L44+4
	str	r3, [r2]	@ float
	ldr	r3, .L44+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	mov	r1, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	ldr	r2, .L44+12
	str	r3, [r2]	@ float
	mov	r3, #0
	str	r3, [fp, #-36]	@ float
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L38
.L41:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L39
.L40:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L44+4
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, #1065353216
	mov	r0, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-32]	@ float
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r2, r0
	ldr	r3, .L44+12
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, #1065353216
	mov	r0, r3
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r1, .L44+16
	ldr	r3, [fp, #-44]
	lsl	r2, r3, #9
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r1, [fp, #-32]	@ float
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L44+20
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r1, [fp, #-28]	@ float
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L44+20
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-24]	@ float
	ldr	r1, [fp, #-24]	@ float
	ldr	r0, [fp, #-24]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-36]	@ float
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L39:
	ldr	r3, .L44+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	cmp	r2, r3
	blt	.L40
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L38:
	ldr	r3, .L44
	ldr	r3, [r3]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L41
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r4, r0
	mov	r5, r1
	ldr	r3, .L44
	ldr	r3, [r3]
	ldr	r2, .L44+8
	ldr	r2, [r2]
	mul	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-36]	@ float
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L44+24
	bl	printf
	ldr	r3, .L44+28
	ldr	r3, [r3]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L44+32
	bl	printf
	ldr	r3, .L44+28
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	bic	r3, r3, #-2147483648
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L44+36
	bl	printf
	ldr	r3, .L44+28
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-36]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	bic	r3, r3, #-2147483648
	mov	r0, r3
	bl	__aeabi_f2d
	ldr	r2, .L44+40
	ldr	r3, .L44+44
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L43
	ldr	r3, .L44+48
	mov	r2, #268
	ldr	r1, .L44+52
	ldr	r0, .L44+56
	bl	__assert_fail
.L43:
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L45:
	.align	2
.L44:
	.word	n
	.word	dx
	.word	m
	.word	dy
	.word	u
	.word	1072693248
	.word	.LC10
	.word	error_ref
	.word	.LC11
	.word	.LC7
	.word	-2036257893
	.word	1023837339
	.word	__PRETTY_FUNCTION__.6288
	.word	.LC8
	.word	.LC12
	.size	error_check, .-error_check
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.6273, %object
	.size	__PRETTY_FUNCTION__.6273, 7
__PRETTY_FUNCTION__.6273:
	.ascii	"jacobi\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6288, %object
	.size	__PRETTY_FUNCTION__.6288, 12
__PRETTY_FUNCTION__.6288:
	.ascii	"error_check\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
