	.file	"331310.c"
	.intel_syntax noprefix
	.text
	.globl	corr
	.bss
	.align 32
	.type	corr, @object
	.size	corr, 128
corr:
	.zero	128
	.globl	bv
	.align 32
	.type	bv, @object
	.size	bv, 128
bv:
	.zero	128
	.globl	a
	.align 32
	.type	a, @object
	.size	a, 256
a:
	.zero	256
	.globl	w
	.align 32
	.type	w, @object
	.size	w, 32
w:
	.zero	32
	.globl	ns2
	.align 32
	.type	ns2, @object
	.size	ns2, 1296
ns2:
	.zero	1296
	.globl	nq2
	.align 32
	.type	nq2, @object
	.size	nq2, 8208
nq2:
	.zero	8208
	.globl	nucl
	.align 16
	.type	nucl, @object
	.size	nucl, 16
nucl:
	.zero	16
	.globl	iso
	.align 16
	.type	iso, @object
	.size	iso, 16
iso:
	.zero	16
	.globl	nucname
	.align 8
	.type	nucname, @object
	.size	nucname, 8
nucname:
	.zero	8
	.globl	nijs
	.align 32
	.type	nijs, @object
	.size	nijs, 162
nijs:
	.zero	162
	.globl	ll
	.align 32
	.type	ll, @object
	.size	ll, 128
ll:
	.zero	128
	.globl	no
	.align 32
	.type	no, @object
	.size	no, 128
no:
	.zero	128
	.globl	nss
	.align 32
	.type	nss, @object
	.size	nss, 160
nss:
	.zero	160
	.globl	va
	.align 32
	.type	va, @object
	.size	va, 32400
va:
	.zero	32400
	.globl	x
	.align 32
	.type	x, @object
	.size	x, 32400
x:
	.zero	32400
	.globl	iq
	.align 16
	.type	iq, @object
	.size	iq, 16
iq:
	.zero	16
	.globl	il
	.align 32
	.type	il, @object
	.size	il, 402
il:
	.zero	402
	.globl	e
	.align 32
	.type	e, @object
	.size	e, 2048
e:
	.zero	2048
	.globl	ia
	.align 32
	.type	ia, @object
	.size	ia, 528
ia:
	.zero	528
	.globl	ib
	.align 32
	.type	ib, @object
	.size	ib, 528
ib:
	.zero	528
	.globl	f
	.align 32
	.type	f, @object
	.size	f, 804
f:
	.zero	804
	.globl	ntype
	.align 4
	.type	ntype, @object
	.size	ntype, 4
ntype:
	.zero	4
	.globl	ntypem
	.align 4
	.type	ntypem, @object
	.size	ntypem, 4
ntypem:
	.zero	4
	.globl	matd
	.align 4
	.type	matd, @object
	.size	matd, 4
matd:
	.zero	4
	.globl	nsbsb
	.align 4
	.type	nsbsb, @object
	.size	nsbsb, 4
nsbsb:
	.zero	4
	.globl	dev
	.align 4
	.type	dev, @object
	.size	dev, 4
dev:
	.zero	4
	.globl	nos
	.align 4
	.type	nos, @object
	.size	nos, 4
nos:
	.zero	4
	.globl	ni
	.align 4
	.type	ni, @object
	.size	ni, 4
ni:
	.zero	4
	.globl	vb
	.align 32
	.type	vb, @object
	.size	vb, 2073600
vb:
	.zero	2073600
	.globl	spinsystemstring
	.align 32
	.type	spinsystemstring, @object
	.size	spinsystemstring, 80
spinsystemstring:
	.zero	80
	.globl	er1
	.align 4
	.type	er1, @object
	.size	er1, 4
er1:
	.zero	4
	.globl	er2
	.align 4
	.type	er2, @object
	.size	er2, 4
er2:
	.zero	4
	.globl	frgp
	.align 4
	.type	frgp, @object
	.size	frgp, 4
frgp:
	.zero	4
	.globl	nl
	.align 4
	.type	nl, @object
	.size	nl, 4
nl:
	.zero	4
	.globl	amin
	.align 4
	.type	amin, @object
	.size	amin, 4
amin:
	.zero	4
	.globl	fr1
	.align 4
	.type	fr1, @object
	.size	fr1, 4
fr1:
	.zero	4
	.globl	fr2
	.align 4
	.type	fr2, @object
	.size	fr2, 4
fr2:
	.zero	4
	.globl	js
	.align 4
	.type	js, @object
	.size	js, 4
js:
	.zero	4
	.globl	irow
	.align 4
	.type	irow, @object
	.size	irow, 4
irow:
	.zero	4
	.globl	jj
	.align 4
	.type	jj, @object
	.size	jj, 4
jj:
	.zero	4
	.globl	na
	.align 4
	.type	na, @object
	.size	na, 4
na:
	.zero	4
	.globl	lul
	.align 4
	.type	lul, @object
	.size	lul, 4
lul:
	.zero	4
	.globl	kcurr
	.align 4
	.type	kcurr, @object
	.size	kcurr, 4
kcurr:
	.zero	4
	.globl	jjs
	.align 4
	.type	jjs, @object
	.size	jjs, 4
jjs:
	.zero	4
	.globl	moa
	.align 4
	.type	moa, @object
	.size	moa, 4
moa:
	.zero	4
	.globl	iter
	.align 4
	.type	iter, @object
	.size	iter, 4
iter:
	.zero	4
	.globl	nconv
	.align 4
	.type	nconv, @object
	.size	nconv, 4
nconv:
	.zero	4
	.globl	do_continue
	.align 4
	.type	do_continue, @object
	.size	do_continue, 4
do_continue:
	.zero	4
	.globl	listiterations
	.align 4
	.type	listiterations, @object
	.size	listiterations, 4
listiterations:
	.zero	4
	.globl	dcv
	.align 32
	.type	dcv, @object
	.size	dcv, 128
dcv:
	.zero	128
	.globl	listtransitions
	.align 4
	.type	listtransitions, @object
	.size	listtransitions, 4
listtransitions:
	.zero	4
	.globl	listenergy
	.align 4
	.type	listenergy, @object
	.size	listenergy, 4
listenergy:
	.zero	4
	.globl	imrow
	.align 32
	.type	imrow, @object
	.size	imrow, 160
imrow:
	.zero	160
	.globl	nt2
	.align 32
	.type	nt2, @object
	.size	nt2, 512
nt2:
	.zero	512
	.globl	lin
	.align 32
	.type	lin, @object
	.size	lin, 32768
lin:
	.zero	32768
	.globl	nkal
	.align 32
	.type	nkal, @object
	.size	nkal, 32768
nkal:
	.zero	32768
	.globl	nkbl
	.align 32
	.type	nkbl, @object
	.size	nkbl, 32768
nkbl:
	.zero	32768
	.globl	clines
	.align 32
	.type	clines, @object
	.size	clines, 131076
clines:
	.zero	131076
	.globl	d
	.align 32
	.type	d, @object
	.size	d, 4096
d:
	.zero	4096
	.globl	y
	.align 32
	.type	y, @object
	.size	y, 4096
y:
	.zero	4096
	.globl	path
	.align 32
	.type	path, @object
	.size	path, 128
path:
	.zero	128
	.section	.rodata
.LC0:
	.string	"Spin system %s\n"
.LC1:
	.string	"%c %16.2f\n"
.LC2:
	.string	"J%c%c %16.4f\n"
	.text
	.globl	printparams
	.type	printparams, @function
printparams:
.LFB0:
	.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
	lea	rsi, spinsystemstring[rip]
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L2
.L3:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, w[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movq	rdx, xmm1
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rcx, nucname[rip]
	movzx	eax, BYTE PTR [rax+rcx]
	movsx	eax, al
	movq	xmm0, rdx
	mov	esi, eax
	lea	rdi, .LC1[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -8[rbp], 1
.L2:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L3
	mov	DWORD PTR -8[rbp], 0
	jmp	.L4
.L7:
	mov	eax, DWORD PTR -8[rbp]
	add	eax, 1
	mov	DWORD PTR -4[rbp], eax
	jmp	.L5
.L6:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movq	rcx, xmm2
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	edx, al
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rsi, nucname[rip]
	movzx	eax, BYTE PTR [rax+rsi]
	movsx	eax, al
	movq	xmm0, rcx
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L5:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L6
	add	DWORD PTR -8[rbp], 1
.L4:
	mov	eax, DWORD PTR ntype[rip]
	sub	eax, 1
	cmp	DWORD PTR -8[rbp], eax
	jl	.L7
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	printparams, .-printparams
	.section	.rodata
.LC3:
	.string	"w"
.LC4:
	.string	"%c   %14.4f\n"
.LC5:
	.string	"J%c%c %14.4f\n"
.LC6:
	.string	"ERROR: cannot open file %s\n"
	.text
	.globl	saveparams
	.type	saveparams, @function
saveparams:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -144[rbp]
	lea	rsi, path[rip]
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -144[rbp]
	add	rax, rdx
	movabs	rcx, 8462033255211298931
	mov	QWORD PTR [rax], rcx
	mov	DWORD PTR 8[rax], 1918988404
	mov	BYTE PTR 12[rax], 0
	lea	rax, -144[rbp]
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -152[rbp], rax
	cmp	QWORD PTR -152[rbp], 0
	je	.L9
	mov	DWORD PTR -160[rbp], 0
	jmp	.L10
.L11:
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, w[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movq	rcx, xmm1
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	edx, al
	mov	rax, QWORD PTR -152[rbp]
	movq	xmm0, rcx
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	add	DWORD PTR -160[rbp], 1
.L10:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -160[rbp], eax
	jl	.L11
	mov	DWORD PTR -160[rbp], 0
	jmp	.L12
.L15:
	mov	eax, DWORD PTR -160[rbp]
	add	eax, 1
	mov	DWORD PTR -156[rbp], eax
	jmp	.L13
.L14:
	mov	eax, DWORD PTR -156[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movq	rsi, xmm2
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	ecx, al
	mov	eax, DWORD PTR -160[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	edx, al
	mov	rax, QWORD PTR -152[rbp]
	movq	xmm0, rsi
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	add	DWORD PTR -156[rbp], 1
.L13:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -156[rbp], eax
	jl	.L14
	add	DWORD PTR -160[rbp], 1
.L12:
	mov	eax, DWORD PTR ntype[rip]
	sub	eax, 1
	cmp	DWORD PTR -160[rbp], eax
	jl	.L15
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L18
.L9:
	lea	rax, -144[rbp]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
.L18:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L19
	call	__stack_chk_fail@PLT
.L19:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	saveparams, .-saveparams
	.section	.rodata
.LC7:
	.string	"w+"
.LC8:
	.string	"%d\n"
.LC9:
	.string	"%g\n"
	.text
	.globl	writestatus
	.type	writestatus, @function
writestatus:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	DWORD PTR -164[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -144[rbp]
	lea	rsi, path[rip]
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -144[rbp]
	add	rax, rdx
	movabs	rcx, 8391101604029886579
	mov	QWORD PTR [rax], rcx
	mov	WORD PTR 8[rax], 29793
	mov	BYTE PTR 10[rax], 0
	lea	rax, -144[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -152[rbp], rax
	cmp	QWORD PTR -152[rbp], 0
	je	.L21
	mov	edx, DWORD PTR -164[rbp]
	mov	rax, QWORD PTR -152[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edx, DWORD PTR nconv[rip]
	mov	rax, QWORD PTR -152[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edx, DWORD PTR iter[rip]
	mov	rax, QWORD PTR -152[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	movss	xmm0, DWORD PTR er2[rip]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movq	rdx, xmm1
	mov	rax, QWORD PTR -152[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	fclose@PLT
.L21:
	nop
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L22
	call	__stack_chk_fail@PLT
.L22:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	writestatus, .-writestatus
	.section	.rodata
.LC11:
	.string	"r"
.LC12:
	.string	"%f,%f,%f\n"
	.align 8
.LC13:
	.string	"ERROR: cannot read 'amin,fr1,fr2' from %s\n"
.LC14:
	.string	"%s\n"
	.align 8
.LC15:
	.string	"ERROR: cannot read spin system type from %s\n"
	.align 8
.LC16:
	.string	"ERROR: J is not a legal nucleus"
	.align 8
.LC17:
	.string	"ERROR: too many non equivalent spins"
	.align 8
.LC18:
	.string	"ERROR: illegal syntax in spin system type"
	.align 8
.LC19:
	.string	"ERROR: minimum of two not equivalent spins required"
.LC20:
	.string	"%e\n"
	.align 8
.LC21:
	.string	"ERROR: chemical shift w[%d] input error\n"
.LC22:
	.string	"%e,"
	.align 8
.LC23:
	.string	"ERROR: coupling constant a[%d][%d] input error\n"
	.text
	.globl	init_spins
	.type	init_spins, @function
init_spins:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 160
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	ebx, 0
	jmp	.L24
.L27:
	movsx	rdx, ebx
	mov	rax, rdx
	sal	rax, 3
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, a[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, nucl[rip]
	mov	WORD PTR [rdx+rax], 0
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, iso[rip]
	mov	WORD PTR [rdx+rax], 0
	mov	r12d, 0
	jmp	.L25
.L26:
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	add	r12d, 1
.L25:
	cmp	r12d, 7
	jle	.L26
	add	ebx, 1
.L24:
	cmp	ebx, 7
	jle	.L27
	lea	rax, -160[rbp]
	lea	rsi, path[rip]
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -160[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -160[rbp]
	add	rax, rdx
	movabs	rsi, 7955941290035212403
	mov	QWORD PTR [rax], rsi
	mov	DWORD PTR 8[rax], 7496048
	lea	rax, -160[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	je	.L28
	mov	rax, QWORD PTR -168[rbp]
	lea	r8, fr2[rip]
	lea	rcx, fr1[rip]
	lea	rdx, amin[rip]
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	cmp	eax, 3
	je	.L29
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L59
.L29:
	mov	rax, QWORD PTR -168[rbp]
	lea	rdx, spinsystemstring[rip]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	cmp	eax, 1
	je	.L31
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L59
.L31:
	mov	ebx, 0
	mov	DWORD PTR ntype[rip], 0
	jmp	.L32
.L43:
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 96
	jle	.L33
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 122
	jg	.L33
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	sub	eax, 32
	mov	ecx, eax
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	mov	BYTE PTR [rax+rdx], cl
.L33:
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 64
	jle	.L34
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 90
	jg	.L34
	mov	ecx, DWORD PTR ntype[rip]
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movsx	rax, ecx
	lea	rcx, nucname[rip]
	mov	BYTE PTR [rax+rcx], dl
	mov	eax, DWORD PTR ntype[rip]
	cdqe
	lea	rdx, nucname[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 74
	jne	.L35
	lea	rdi, .LC16[rip]
	call	puts@PLT
	mov	eax, 1
	jmp	.L59
.L35:
	mov	eax, DWORD PTR ntype[rip]
	test	eax, eax
	jle	.L36
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	edx, al
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rcx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rcx]
	movsx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	cmp	eax, 1
	jne	.L37
	mov	eax, DWORD PTR ntype[rip]
	sub	eax, 1
	mov	edx, DWORD PTR ntype[rip]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, iso[rip]
	movzx	eax, WORD PTR [rcx+rax]
	movsx	rdx, edx
	lea	rcx, [rdx+rdx]
	lea	rdx, iso[rip]
	mov	WORD PTR [rcx+rdx], ax
	jmp	.L38
.L37:
	mov	eax, DWORD PTR ntype[rip]
	sub	eax, 1
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, iso[rip]
	movzx	eax, WORD PTR [rdx+rax]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR ntype[rip]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, iso[rip]
	mov	WORD PTR [rdx+rax], cx
.L38:
	mov	DWORD PTR -176[rbp], ebx
	jmp	.L39
.L36:
	mov	eax, DWORD PTR ntype[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, iso[rip]
	mov	WORD PTR [rdx+rax], 0
	mov	DWORD PTR -176[rbp], ebx
.L39:
	add	ebx, 1
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 48
	jle	.L40
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 57
	jg	.L40
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cbw
	lea	edx, -48[rax]
	mov	eax, DWORD PTR ntype[rip]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nucl[rip]
	mov	WORD PTR [rdx+rax], cx
	add	ebx, 1
	jmp	.L41
.L40:
	mov	eax, DWORD PTR ntype[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nucl[rip]
	mov	WORD PTR [rdx+rax], 1
.L41:
	mov	eax, DWORD PTR ntype[rip]
	add	eax, 1
	mov	DWORD PTR ntype[rip], eax
	mov	eax, DWORD PTR ntype[rip]
	cmp	eax, 8
	jle	.L32
	lea	rdi, .LC17[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L59
.L34:
	lea	rdi, .LC18[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L59
.L32:
	movsx	rax, ebx
	lea	rdx, spinsystemstring[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	test	al, al
	jne	.L43
	mov	eax, DWORD PTR ntype[rip]
	cmp	eax, 1
	jg	.L44
	lea	rdi, .LC19[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L59
.L44:
	mov	ebx, 0
	jmp	.L45
.L47:
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, w[rip]
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	cmp	eax, 1
	je	.L46
	mov	esi, ebx
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L59
.L46:
	add	ebx, 1
.L45:
	mov	eax, DWORD PTR ntype[rip]
	cmp	ebx, eax
	jl	.L47
	mov	ebx, 0
	jmp	.L48
.L55:
	lea	r12d, 1[rbx]
	jmp	.L49
.L52:
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	cmp	eax, 1
	je	.L50
	mov	edx, r12d
	mov	esi, ebx
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L59
.L50:
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, iso[rip]
	movzx	edx, WORD PTR [rdx+rax]
	movsx	rax, r12d
	lea	rcx, [rax+rax]
	lea	rax, iso[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	jne	.L51
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rdx, ebx
	movsx	rax, r12d
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	DWORD PTR [rdx+rax], xmm0
.L51:
	add	r12d, 1
.L49:
	mov	eax, DWORD PTR ntype[rip]
	sub	eax, 1
	cmp	r12d, eax
	jl	.L52
	mov	eax, DWORD PTR ntype[rip]
	lea	r12d, -1[rax]
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	add	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	cmp	eax, 1
	je	.L53
	mov	edx, r12d
	mov	esi, ebx
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L59
.L53:
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, iso[rip]
	movzx	edx, WORD PTR [rdx+rax]
	movsx	rax, r12d
	lea	rcx, [rax+rax]
	lea	rax, iso[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	jne	.L54
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rdx, ebx
	movsx	rax, r12d
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	DWORD PTR [rdx+rax], xmm0
.L54:
	add	ebx, 1
.L48:
	mov	eax, DWORD PTR ntype[rip]
	sub	eax, 1
	cmp	ebx, eax
	jl	.L55
	mov	eax, 0
	call	printparams
	mov	DWORD PTR nos[rip], 1
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jle	.L57
	jmp	.L61
.L28:
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L59
.L61:
	mov	eax, 0
	call	setiteration1
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	je	.L58
	mov	eax, DWORD PTR -172[rbp]
	jmp	.L59
.L58:
	mov	eax, 0
	call	setiteration2
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], 0
	je	.L57
	mov	eax, DWORD PTR -172[rbp]
	jmp	.L59
.L57:
	mov	eax, 0
.L59:
	mov	rsi, QWORD PTR -24[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L60
	call	__stack_chk_fail@PLT
.L60:
	add	rsp, 160
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	init_spins, .-init_spins
	.section	.rodata
.LC24:
	.string	"matrix ia:"
.LC25:
	.string	"[%2d]:  "
.LC26:
	.string	"%10d"
.LC27:
	.string	"matrix ib:"
	.text
	.globl	print_iaib
	.type	print_iaib, @function
print_iaib:
.LFB4:
	.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
	lea	rdi, .LC24[rip]
	call	puts@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L63
.L66:
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L64
.L65:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ia[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L64:
	cmp	DWORD PTR -4[rbp], 7
	jle	.L65
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -8[rbp], 1
.L63:
	mov	edx, DWORD PTR ntype[rip]
	mov	eax, DWORD PTR ntype[rip]
	imul	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -8[rbp], eax
	jl	.L66
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L67
.L70:
	mov	eax, DWORD PTR -8[rbp]
	mov	esi, eax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L68
.L69:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ib[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L68:
	cmp	DWORD PTR -4[rbp], 7
	jle	.L69
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -8[rbp], 1
.L67:
	mov	edx, DWORD PTR ntype[rip]
	mov	eax, DWORD PTR ntype[rip]
	imul	eax, edx
	sub	eax, 1
	cmp	DWORD PTR -8[rbp], eax
	jl	.L70
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	print_iaib, .-print_iaib
	.section	.rodata
.LC28:
	.string	"%d,%f\n"
	.align 8
.LC29:
	.string	"ERROR: too many assigned lines, maximum=%d\n"
	.text
	.globl	setiteration2
	.type	setiteration2, @function
setiteration2:
.LFB5:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 176
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	lea	rax, -160[rbp]
	lea	rsi, path[rip]
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -160[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -160[rbp]
	add	rax, rdx
	movabs	rsi, 7955941247085539443
	mov	QWORD PTR [rax], rsi
	mov	DWORD PTR 8[rax], 1635017060
	mov	BYTE PTR 12[rax], 0
	lea	rax, -160[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	je	.L72
	mov	DWORD PTR -184[rbp], -1
.L82:
	lea	rcx, -188[rbp]
	lea	rdx, -192[rbp]
	mov	rax, QWORD PTR -168[rbp]
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	cmp	eax, 2
	je	.L73
	mov	eax, DWORD PTR -184[rbp]
	add	eax, 1
	mov	DWORD PTR nl[rip], eax
	mov	ebx, 0
	jmp	.L74
.L79:
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -180[rbp], eax
	mov	DWORD PTR -176[rbp], -1
	lea	r12d, 1[rbx]
	jmp	.L75
.L77:
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	DWORD PTR -180[rbp], eax
	jle	.L76
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -180[rbp], eax
	mov	DWORD PTR -176[rbp], r12d
.L76:
	add	r12d, 1
.L75:
	mov	eax, DWORD PTR nl[rip]
	cmp	r12d, eax
	jl	.L77
	cmp	DWORD PTR -176[rbp], -1
	je	.L78
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	DWORD PTR -172[rbp], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	xmm0, DWORD PTR -172[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	r12d, ax
	mov	eax, DWORD PTR -180[rbp]
	mov	ecx, eax
	movsx	rax, ebx
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	ecx, r12d
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	mov	WORD PTR [rdx+rax], cx
.L78:
	add	ebx, 1
.L74:
	mov	eax, DWORD PTR nl[rip]
	sub	eax, 1
	cmp	ebx, eax
	jl	.L79
	mov	eax, 0
	jmp	.L83
.L73:
	add	DWORD PTR -184[rbp], 1
	cmp	DWORD PTR -184[rbp], 199
	jle	.L81
	mov	esi, 200
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L83
.L81:
	mov	eax, DWORD PTR -192[rbp]
	sub	eax, 1
	mov	ecx, eax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	mov	WORD PTR [rdx+rax], cx
	movss	xmm0, DWORD PTR -188[rbp]
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	jmp	.L82
.L72:
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
.L83:
	mov	rdi, QWORD PTR -24[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L84
	call	__stack_chk_fail@PLT
.L84:
	add	rsp, 176
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	setiteration2, .-setiteration2
	.section	.rodata
.LC30:
	.string	"%s %s"
	.align 8
.LC31:
	.string	"ERROR: illegal syntax in file %s\n"
	.align 8
.LC32:
	.string	"ERROR: illegal coupling constant syntax in file %s\n"
	.align 8
.LC33:
	.string	"ERROR: assignment to non iterative parameter"
	.align 8
.LC34:
	.string	"ERROR: too many equal parameters"
	.align 8
.LC35:
	.string	"ERROR: assignment to unknown nucleus %c in file %s\n"
	.align 8
.LC36:
	.string	"ERROR: unknown nucleus %c in file %s\n"
	.text
	.globl	setiteration1
	.type	setiteration1, @function
setiteration1:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 616
	.cfi_offset 3, -24
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -612[rbp], 0
	jmp	.L86
.L89:
	mov	DWORD PTR -608[rbp], 0
	jmp	.L87
.L88:
	mov	eax, DWORD PTR -608[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -612[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ia[rip]
	mov	WORD PTR [rdx+rax], -1
	mov	eax, DWORD PTR -608[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -612[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ib[rip]
	mov	WORD PTR [rdx+rax], -1
	add	DWORD PTR -608[rbp], 1
.L87:
	cmp	DWORD PTR -608[rbp], 7
	jle	.L88
	add	DWORD PTR -612[rbp], 1
.L86:
	cmp	DWORD PTR -612[rbp], 31
	jle	.L89
	lea	rax, -160[rbp]
	lea	rsi, path[rip]
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -160[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -160[rbp]
	add	rax, rdx
	movabs	rbx, 7955941247085539443
	mov	QWORD PTR [rax], rbx
	mov	DWORD PTR 8[rax], 7496048
	lea	rax, -160[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -584[rbp], rax
	cmp	QWORD PTR -584[rbp], 0
	je	.L90
	mov	DWORD PTR -596[rbp], 0
.L135:
	lea	rcx, -240[rbp]
	lea	rdx, -320[rbp]
	mov	rax, QWORD PTR -584[rbp]
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	cmp	eax, 2
	je	.L91
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -596[rbp]
	mov	DWORD PTR nos[rip], eax
	mov	eax, 0
	jmp	.L136
.L91:
	lea	rax, -320[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L93
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L93:
	mov	DWORD PTR -608[rbp], 0
	jmp	.L94
.L96:
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	movzx	eax, BYTE PTR -320[rbp+rax]
	cmp	al, 96
	jle	.L95
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	movzx	eax, BYTE PTR -320[rbp+rax]
	cmp	al, 122
	jg	.L95
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	movzx	eax, BYTE PTR -320[rbp+rax]
	sub	eax, 32
	mov	edx, eax
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	mov	BYTE PTR -320[rbp+rax], dl
.L95:
	add	DWORD PTR -608[rbp], 1
.L94:
	mov	eax, DWORD PTR -608[rbp]
	movsx	rbx, eax
	lea	rax, -320[rbp]
	mov	rdi, rax
	call	strlen@PLT
	cmp	rbx, rax
	jb	.L96
	movzx	eax, BYTE PTR -320[rbp]
	cmp	al, 74
	jne	.L97
	lea	rax, -320[rbp]
	mov	rdi, rax
	call	strlen@PLT
	cmp	rax, 2
	ja	.L98
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L98:
	mov	DWORD PTR -608[rbp], 0
	jmp	.L99
.L101:
	add	DWORD PTR -608[rbp], 1
.L99:
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -319[rbp]
	cmp	dl, al
	je	.L100
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -608[rbp], eax
	jl	.L101
.L100:
	mov	DWORD PTR -604[rbp], 0
	jmp	.L102
.L104:
	add	DWORD PTR -604[rbp], 1
.L102:
	mov	eax, DWORD PTR -604[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -318[rbp]
	cmp	dl, al
	je	.L103
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -604[rbp], eax
	jl	.L104
.L103:
	mov	edx, DWORD PTR ntype[rip]
	mov	eax, DWORD PTR -608[rbp]
	add	edx, eax
	mov	eax, DWORD PTR ntype[rip]
	imul	eax, DWORD PTR -604[rbp]
	add	eax, edx
	mov	DWORD PTR -588[rbp], eax
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -319[rbp]
	cmp	dl, al
	jne	.L105
	mov	eax, DWORD PTR -604[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -318[rbp]
	cmp	dl, al
	jne	.L105
	movzx	eax, BYTE PTR -317[rbp]
	test	al, al
	jne	.L106
	mov	eax, DWORD PTR -588[rbp]
	cdqe
	mov	DWORD PTR -572[rbp+rax*8], 1
	mov	eax, DWORD PTR -588[rbp]
	cdqe
	mov	edx, DWORD PTR -596[rbp]
	mov	DWORD PTR -576[rbp+rax*8], edx
	add	DWORD PTR -596[rbp], 1
	mov	eax, DWORD PTR -588[rbp]
	cdqe
	mov	edx, DWORD PTR -576[rbp+rax*8]
	mov	eax, DWORD PTR -588[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -608[rbp]
	mov	esi, eax
	movsx	rcx, ecx
	movsx	rax, edx
	sal	rax, 3
	add	rax, rcx
	lea	rdx, [rax+rax]
	lea	rax, ia[rip]
	mov	WORD PTR [rdx+rax], si
	mov	eax, DWORD PTR -588[rbp]
	cdqe
	mov	edx, DWORD PTR -576[rbp+rax*8]
	mov	eax, DWORD PTR -588[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -604[rbp]
	mov	esi, eax
	movsx	rcx, ecx
	movsx	rax, edx
	sal	rax, 3
	add	rax, rcx
	lea	rdx, [rax+rax]
	lea	rax, ib[rip]
	mov	WORD PTR [rdx+rax], si
	jmp	.L121
.L106:
	movzx	eax, BYTE PTR -317[rbp]
	cmp	al, 61
	jne	.L108
	lea	rax, -320[rbp]
	mov	rdi, rax
	call	strlen@PLT
	cmp	rax, 7
	jne	.L109
	movzx	eax, BYTE PTR -316[rbp]
	cmp	al, 74
	je	.L110
.L109:
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L110:
	mov	DWORD PTR -600[rbp], 0
	jmp	.L111
.L113:
	add	DWORD PTR -600[rbp], 1
.L111:
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -315[rbp]
	cmp	dl, al
	je	.L112
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -600[rbp], eax
	jl	.L113
.L112:
	mov	DWORD PTR -592[rbp], 0
	jmp	.L114
.L116:
	add	DWORD PTR -592[rbp], 1
.L114:
	mov	eax, DWORD PTR -592[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -314[rbp]
	cmp	dl, al
	je	.L115
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -592[rbp], eax
	jl	.L116
.L115:
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -315[rbp]
	cmp	dl, al
	jne	.L117
	mov	eax, DWORD PTR -592[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -314[rbp]
	cmp	dl, al
	jne	.L117
	mov	edx, DWORD PTR ntype[rip]
	mov	eax, DWORD PTR -600[rbp]
	add	edx, eax
	mov	eax, DWORD PTR ntype[rip]
	imul	eax, DWORD PTR -592[rbp]
	add	eax, edx
	mov	DWORD PTR -600[rbp], eax
	mov	eax, DWORD PTR -600[rbp]
	cmp	eax, DWORD PTR -588[rbp]
	jle	.L118
	lea	rdi, .LC33[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L118:
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	DWORD PTR -572[rbp+rax*8], edx
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	cmp	eax, 8
	jle	.L119
	lea	rdi, .LC34[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L119:
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	edx, DWORD PTR -576[rbp+rax*8]
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -608[rbp]
	mov	esi, eax
	movsx	rcx, ecx
	movsx	rax, edx
	sal	rax, 3
	add	rax, rcx
	lea	rdx, [rax+rax]
	lea	rax, ia[rip]
	mov	WORD PTR [rdx+rax], si
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	edx, DWORD PTR -576[rbp+rax*8]
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -604[rbp]
	mov	esi, eax
	movsx	rcx, ecx
	movsx	rax, edx
	sal	rax, 3
	add	rax, rcx
	lea	rdx, [rax+rax]
	lea	rax, ib[rip]
	mov	WORD PTR [rdx+rax], si
	jmp	.L121
.L117:
	movzx	eax, BYTE PTR -318[rbp]
	movsx	eax, al
	lea	rdx, -160[rbp]
	mov	esi, eax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L108:
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L105:
	movzx	eax, BYTE PTR -320[rbp]
	movsx	eax, al
	lea	rdx, -160[rbp]
	mov	esi, eax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L97:
	mov	DWORD PTR -608[rbp], 0
	jmp	.L122
.L124:
	add	DWORD PTR -608[rbp], 1
.L122:
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -320[rbp]
	cmp	dl, al
	je	.L123
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -608[rbp], eax
	jl	.L124
.L123:
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -320[rbp]
	cmp	dl, al
	jne	.L125
	movzx	eax, BYTE PTR -319[rbp]
	test	al, al
	jne	.L126
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	mov	DWORD PTR -572[rbp+rax*8], 1
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	mov	edx, DWORD PTR -596[rbp]
	mov	DWORD PTR -576[rbp+rax*8], edx
	add	DWORD PTR -596[rbp], 1
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	mov	edx, DWORD PTR -576[rbp+rax*8]
	mov	eax, DWORD PTR -608[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -608[rbp]
	mov	esi, eax
	movsx	rcx, ecx
	movsx	rax, edx
	sal	rax, 3
	add	rax, rcx
	lea	rdx, [rax+rax]
	lea	rax, ia[rip]
	mov	WORD PTR [rdx+rax], si
	jmp	.L135
.L126:
	movzx	eax, BYTE PTR -319[rbp]
	cmp	al, 61
	jne	.L127
	lea	rax, -320[rbp]
	mov	rdi, rax
	call	strlen@PLT
	cmp	rax, 3
	je	.L128
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L128:
	mov	DWORD PTR -600[rbp], 0
	jmp	.L129
.L131:
	add	DWORD PTR -600[rbp], 1
.L129:
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -318[rbp]
	cmp	dl, al
	je	.L130
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -600[rbp], eax
	jl	.L131
.L130:
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	lea	rdx, nucname[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	movzx	eax, BYTE PTR -318[rbp]
	cmp	dl, al
	jne	.L132
	mov	eax, DWORD PTR -600[rbp]
	cmp	eax, DWORD PTR -608[rbp]
	jle	.L133
	lea	rdi, .LC33[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L133:
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	DWORD PTR -572[rbp+rax*8], edx
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	cmp	eax, 8
	jle	.L134
	lea	rdi, .LC34[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L134:
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	edx, DWORD PTR -576[rbp+rax*8]
	mov	eax, DWORD PTR -600[rbp]
	cdqe
	mov	eax, DWORD PTR -572[rbp+rax*8]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -608[rbp]
	mov	esi, eax
	movsx	rcx, ecx
	movsx	rax, edx
	sal	rax, 3
	add	rax, rcx
	lea	rdx, [rax+rax]
	lea	rax, ia[rip]
	mov	WORD PTR [rdx+rax], si
	jmp	.L135
.L132:
	movzx	eax, BYTE PTR -318[rbp]
	movsx	eax, al
	lea	rdx, -160[rbp]
	mov	esi, eax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L127:
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L125:
	movzx	eax, BYTE PTR -320[rbp]
	movsx	eax, al
	lea	rdx, -160[rbp]
	mov	esi, eax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 1
	jmp	.L136
.L121:
	jmp	.L135
.L90:
	lea	rax, -160[rbp]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
.L136:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L137
	call	__stack_chk_fail@PLT
.L137:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	setiteration1, .-setiteration1
	.globl	invert
	.type	invert, @function
invert:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r15
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 168
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -56[rbp], rax
	xor	eax, eax
	mov	r14d, DWORD PTR nos[rip]
	mov	ebx, 0
	jmp	.L139
.L140:
	movsx	rax, ebx
	mov	DWORD PTR -192[rbp+rax*4], ebx
	add	ebx, 1
.L139:
	cmp	ebx, r14d
	jl	.L140
	mov	r12d, 0
	jmp	.L141
.L155:
	mov	r13d, r12d
	movsx	rax, r12d
	imul	rax, rax, 364
	lea	rdx, va[rip]
	movss	xmm5, DWORD PTR [rax+rdx]
	movaps	xmm2, xmm5
	lea	r15d, -1[r12]
	lea	eax, 1[r12]
	mov	DWORD PTR -196[rbp], eax
	cmp	r14d, DWORD PTR -196[rbp]
	jle	.L142
	mov	ebx, DWORD PTR -196[rbp]
	jmp	.L143
.L146:
	movsx	rdx, ebx
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm3, DWORD PTR [rdx+rax]
	movss	xmm0, DWORD PTR .LC37[rip]
	andps	xmm0, xmm3
	movss	xmm1, DWORD PTR .LC37[rip]
	movaps	xmm6, xmm2
	andps	xmm1, xmm6
	comiss	xmm0, xmm1
	jbe	.L144
	mov	r13d, ebx
	movaps	xmm2, xmm3
.L144:
	add	ebx, 1
.L143:
	cmp	ebx, r14d
	jl	.L146
.L142:
	mov	ebx, 0
	jmp	.L147
.L148:
	movsx	rdx, r13d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, dcv[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rdx, r12d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rdx, r13d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, dcv[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	xmm1, DWORD PTR .LC38[rip]
	xorps	xmm0, xmm1
	movaps	xmm4, xmm2
	divss	xmm0, xmm4
	movsx	rdx, r12d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rdx, ebx
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	divss	xmm0, xmm4
	movsx	rdx, ebx
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rdx, ebx
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, corr[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	ebx, 1
.L147:
	cmp	ebx, r14d
	jl	.L148
	movss	xmm0, DWORD PTR .LC39[rip]
	movaps	xmm7, xmm2
	divss	xmm0, xmm7
	movsx	rax, r12d
	imul	rax, rax, 364
	lea	rdx, va[rip]
	movss	DWORD PTR [rax+rdx], xmm0
	movsx	rax, r12d
	mov	ebx, DWORD PTR -192[rbp+rax*4]
	movsx	rax, r13d
	mov	edx, DWORD PTR -192[rbp+rax*4]
	movsx	rax, r12d
	mov	DWORD PTR -192[rbp+rax*4], edx
	movsx	rax, r13d
	mov	DWORD PTR -192[rbp+rax*4], ebx
	mov	r13d, 0
	jmp	.L149
.L154:
	cmp	r12d, r13d
	je	.L150
	mov	ebx, 0
	jmp	.L151
.L153:
	cmp	r12d, ebx
	je	.L152
	movsx	rdx, ebx
	movsx	rax, r13d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, corr[rip]
	movss	xmm2, DWORD PTR [rdx+rax]
	movsx	rax, r13d
	lea	rdx, 0[0+rax*4]
	lea	rax, dcv[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mulss	xmm1, xmm2
	subss	xmm0, xmm1
	movsx	rdx, ebx
	movsx	rax, r13d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	DWORD PTR [rdx+rax], xmm0
.L152:
	add	ebx, 1
.L151:
	cmp	ebx, r14d
	jl	.L153
.L150:
	add	r13d, 1
.L149:
	cmp	r13d, r14d
	jl	.L154
	add	r12d, 1
.L141:
	cmp	r12d, r14d
	jl	.L155
	mov	r12d, 0
	jmp	.L156
.L163:
	movsx	rax, r12d
	mov	eax, DWORD PTR -192[rbp+rax*4]
	cmp	r12d, eax
	je	.L157
	lea	ebx, 1[r12]
	jmp	.L158
.L162:
	movsx	rax, ebx
	mov	eax, DWORD PTR -192[rbp+rax*4]
	cmp	r12d, eax
	jne	.L159
	movsx	rax, r12d
	mov	eax, DWORD PTR -192[rbp+rax*4]
	mov	DWORD PTR -200[rbp], eax
	movsx	rax, ebx
	mov	edx, DWORD PTR -192[rbp+rax*4]
	movsx	rax, r12d
	mov	DWORD PTR -192[rbp+rax*4], edx
	movsx	rax, ebx
	mov	edx, DWORD PTR -200[rbp]
	mov	DWORD PTR -192[rbp+rax*4], edx
	mov	r15d, 0
	jmp	.L160
.L161:
	movsx	rdx, r15d
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rax, r15d
	lea	rdx, 0[0+rax*4]
	lea	rax, dcv[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rdx, r15d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rdx, r15d
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rax, r15d
	lea	rdx, 0[0+rax*4]
	lea	rax, dcv[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rdx, r15d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	r15d, 1
.L160:
	cmp	r15d, r14d
	jl	.L161
.L159:
	add	ebx, 1
.L158:
	cmp	ebx, r14d
	jl	.L162
.L157:
	add	r12d, 1
.L156:
	cmp	r12d, r14d
	jl	.L163
	nop
	mov	rcx, QWORD PTR -56[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L164
	call	__stack_chk_fail@PLT
.L164:
	add	rsp, 168
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	r15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	invert, .-invert
	.globl	hamilt
	.type	hamilt, @function
hamilt:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	r12d, 0
	jmp	.L167
.L168:
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, nucl[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rdx, r12d
	lea	rcx, [rdx+rdx]
	lea	rdx, ns2[rip]
	mov	WORD PTR [rcx+rdx], ax
	add	r12d, 1
.L167:
	mov	eax, DWORD PTR ntype[rip]
	cmp	r12d, eax
	jl	.L168
	mov	ebx, 0
	mov	eax, DWORD PTR ntype[rip]
	lea	r12d, -1[rax]
.L175:
	add	ebx, 1
	cmp	ebx, 79
	jle	.L169
	mov	eax, 4
	jmp	.L170
.L169:
	mov	r12d, 0
	jmp	.L171
.L172:
	lea	eax, -1[rbx]
	movsx	rdx, r12d
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rcx, r12d
	movsx	rdx, ebx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, ns2[rip]
	mov	WORD PTR [rcx+rdx], ax
	add	r12d, 1
.L171:
	mov	eax, DWORD PTR ntype[rip]
	cmp	r12d, eax
	jl	.L172
	mov	eax, DWORD PTR ntype[rip]
	lea	r12d, -1[rax]
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	sub	eax, 2
	mov	ecx, eax
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	mov	WORD PTR [rdx+rax], cx
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	jns	.L173
.L174:
	movsx	rax, r12d
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rcx, r12d
	movsx	rdx, ebx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, ns2[rip]
	mov	WORD PTR [rcx+rdx], ax
	sub	r12d, 1
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	sub	eax, 2
	mov	ecx, eax
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	mov	WORD PTR [rdx+rax], cx
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	jns	.L173
	test	r12d, r12d
	jne	.L174
.L173:
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	test	ax, ax
	jns	.L175
	mov	DWORD PTR irow[rip], ebx
	mov	DWORD PTR js[rip], 0
	mov	DWORD PTR -52[rbp], 0
	mov	DWORD PTR jj[rip], -1
.L203:
	mov	eax, DWORD PTR jj[rip]
	add	eax, 1
	mov	DWORD PTR jj[rip], eax
	mov	r12d, 0
	jmp	.L176
.L177:
	mov	eax, DWORD PTR jj[rip]
	movsx	rdx, r12d
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rcx, r12d
	mov	edx, DWORD PTR -52[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	mov	WORD PTR [rcx+rdx], ax
	add	r12d, 1
.L176:
	mov	eax, DWORD PTR ntype[rip]
	cmp	r12d, eax
	jl	.L177
	mov	ebx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR ntype[rip]
	lea	r12d, -1[rax]
	jmp	.L178
.L183:
	add	ebx, 1
	mov	r12d, 0
	jmp	.L179
.L180:
	lea	eax, -1[rbx]
	movsx	rdx, r12d
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rcx, r12d
	movsx	rdx, ebx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	mov	WORD PTR [rcx+rdx], ax
	add	r12d, 1
.L179:
	mov	eax, DWORD PTR ntype[rip]
	cmp	r12d, eax
	jl	.L180
	mov	eax, DWORD PTR ntype[rip]
	lea	r12d, -1[rax]
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	sub	eax, 2
	mov	ecx, eax
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	mov	WORD PTR [rdx+rax], cx
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	ecx, ax
	mov	eax, DWORD PTR jj[rip]
	movsx	rdx, r12d
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	add	eax, ecx
	test	eax, eax
	jns	.L181
.L182:
	movsx	rdx, r12d
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	rcx, r12d
	movsx	rdx, ebx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	mov	WORD PTR [rcx+rdx], ax
	sub	r12d, 1
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	sub	eax, 2
	mov	ecx, eax
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	mov	WORD PTR [rdx+rax], cx
	movsx	rdx, r12d
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	ecx, ax
	mov	eax, DWORD PTR jj[rip]
	movsx	rdx, r12d
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	add	eax, ecx
	test	eax, eax
	jns	.L181
	test	r12d, r12d
	jne	.L182
.L181:
	movsx	rax, ebx
	sal	rax, 4
	mov	rdx, rax
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	ecx, ax
	mov	eax, DWORD PTR jj[rip]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	add	eax, ecx
	test	eax, eax
	jns	.L178
	mov	r12d, -1
.L178:
	test	r12d, r12d
	jns	.L183
	mov	edx, ebx
	mov	eax, DWORD PTR -52[rbp]
	sub	edx, eax
	mov	eax, DWORD PTR jj[rip]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, imrow[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	eax, DWORD PTR jj[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, imrow[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cmp	ax, 256
	jle	.L184
	mov	eax, 1
	jmp	.L170
.L184:
	mov	eax, DWORD PTR jj[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, imrow[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 1
	jne	.L185
	mov	DWORD PTR -48[rbp], 1
	jmp	.L186
.L185:
	mov	eax, DWORD PTR -24[rbp]
	sub	eax, 1
	mov	DWORD PTR -48[rbp], eax
.L186:
	mov	DWORD PTR -44[rbp], 0
	jmp	.L187
.L190:
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -52[rbp]
	lea	ebx, [rdx+rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nt2[rip]
	mov	WORD PTR [rdx+rax], 0
	mov	DWORD PTR -32[rbp], 0
	jmp	.L188
.L189:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nt2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	mov	ecx, eax
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	add	eax, ecx
	mov	ecx, eax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nt2[rip]
	mov	WORD PTR [rdx+rax], cx
	add	DWORD PTR -32[rbp], 1
.L188:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L189
	add	DWORD PTR -44[rbp], 1
.L187:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L190
	cmp	DWORD PTR -24[rbp], 1
	je	.L191
.L197:
	mov	DWORD PTR -28[rbp], 1
	mov	DWORD PTR -44[rbp], 0
	jmp	.L192
.L196:
	mov	edx, DWORD PTR -44[rbp]
	mov	eax, DWORD PTR -52[rbp]
	lea	ebx, [rdx+rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nt2[rip]
	movzx	edx, WORD PTR [rdx+rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, nt2[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	jge	.L193
	mov	DWORD PTR -28[rbp], 0
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nt2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nt2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	lea	rcx, [rdx+rdx]
	lea	rdx, nt2[rip]
	mov	WORD PTR [rcx+rdx], ax
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	ecx, eax
	movsx	rax, edx
	lea	rdx, [rax+rax]
	lea	rax, nt2[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	DWORD PTR -32[rbp], 0
	jmp	.L194
.L195:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -20[rbp], eax
	lea	eax, 1[rbx]
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	mov	edx, DWORD PTR -32[rbp]
	movsx	rcx, edx
	movsx	rdx, ebx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	mov	WORD PTR [rcx+rdx], ax
	lea	eax, 1[rbx]
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, edx
	mov	edx, DWORD PTR -32[rbp]
	movsx	rdx, edx
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	mov	WORD PTR [rdx+rax], cx
	add	DWORD PTR -32[rbp], 1
.L194:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L195
.L193:
	add	DWORD PTR -44[rbp], 1
.L192:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jl	.L196
	cmp	DWORD PTR -28[rbp], 0
	je	.L197
.L191:
	mov	DWORD PTR -36[rbp], 0
	mov	edx, DWORD PTR js[rip]
	mov	eax, DWORD PTR jj[rip]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nijs[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	DWORD PTR -40[rbp], 0
	mov	eax, DWORD PTR js[rip]
	mov	edx, DWORD PTR -52[rbp]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	mov	WORD PTR [rdx+rax], cx
	cmp	DWORD PTR -24[rbp], 1
	je	.L198
	mov	DWORD PTR -44[rbp], 0
	jmp	.L199
.L202:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nt2[rip]
	movzx	edx, WORD PTR [rdx+rax]
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, nt2[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	je	.L200
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR js[rip]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, no[rip]
	mov	WORD PTR [rdx+rax], cx
	cmp	DWORD PTR -36[rbp], 90
	jle	.L201
	mov	eax, 2
	jmp	.L170
.L201:
	mov	DWORD PTR -36[rbp], -1
	add	DWORD PTR -40[rbp], 1
	mov	eax, DWORD PTR js[rip]
	add	eax, 1
	mov	DWORD PTR js[rip], eax
	mov	eax, DWORD PTR -52[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR js[rip]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	mov	WORD PTR [rdx+rax], cx
.L200:
	add	DWORD PTR -36[rbp], 1
	add	DWORD PTR -52[rbp], 1
	add	DWORD PTR -44[rbp], 1
.L199:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jl	.L202
	mov	eax, DWORD PTR js[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, no[rip]
	mov	WORD PTR [rdx+rax], 1
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR jj[rip]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nss[rip]
	mov	WORD PTR [rdx+rax], cx
	add	DWORD PTR -52[rbp], 1
	mov	eax, DWORD PTR js[rip]
	add	eax, 1
	mov	DWORD PTR js[rip], eax
	mov	eax, DWORD PTR js[rip]
	cmp	eax, 64
	jle	.L198
	mov	eax, 5
	jmp	.L170
.L198:
	mov	eax, DWORD PTR irow[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR jj[rip]
	cmp	edx, eax
	jg	.L203
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR matd[rip], eax
	mov	eax, DWORD PTR matd[rip]
	cmp	eax, 512
	jle	.L204
	mov	eax, 3
	jmp	.L170
.L204:
	mov	edx, DWORD PTR js[rip]
	mov	eax, DWORD PTR irow[rip]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nijs[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	eax, DWORD PTR js[rip]
	mov	DWORD PTR nsbsb[rip], eax
	mov	eax, 0
.L170:
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	hamilt, .-hamilt
	.section	.rodata
	.align 8
.LC40:
	.string	"ERROR:Submatrix no %d has %d functions, max=%d\n"
	.align 8
.LC41:
	.string	"ERROR:Subsubmatrix no %d has %d functions, max=%d\n"
	.align 8
.LC42:
	.string	"ERROR:The number of functions is %d, max=%d\n"
	.align 8
.LC43:
	.string	"ERROR:The number of submatrices is too big"
	.align 8
.LC44:
	.string	"ERROR:The number of subsubmatrices is too large"
	.align 8
.LC45:
	.string	"ERROR:Error condition in calculation of hamiltonian"
	.text
	.globl	hamilt_error
	.type	hamilt_error, @function
hamilt_error:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 5
	ja	.L206
	mov	eax, DWORD PTR -4[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L208[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L208[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L208:
	.long	.L206-.L208
	.long	.L212-.L208
	.long	.L211-.L208
	.long	.L210-.L208
	.long	.L209-.L208
	.long	.L207-.L208
	.text
.L212:
	mov	eax, DWORD PTR jj[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, imrow[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR jj[rip]
	mov	ecx, 256
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L213
.L211:
	mov	eax, DWORD PTR js[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, no[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR js[rip]
	mov	ecx, 90
	mov	esi, eax
	lea	rdi, .LC41[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L213
.L210:
	mov	eax, DWORD PTR matd[rip]
	mov	edx, 512
	mov	esi, eax
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L213
.L209:
	lea	rdi, .LC43[rip]
	call	puts@PLT
	jmp	.L213
.L207:
	lea	rdi, .LC44[rip]
	call	puts@PLT
	jmp	.L213
.L206:
	lea	rdi, .LC45[rip]
	call	puts@PLT
	nop
.L213:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	hamilt_error, .-hamilt_error
	.globl	iterat
	.type	iterat, @function
iterat:
.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, 80
	mov	DWORD PTR na[rip], 0
	pxor	xmm0, xmm0
	movss	DWORD PTR dev[rip], xmm0
	mov	DWORD PTR -60[rbp], 0
	jmp	.L215
.L216:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bv[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -60[rbp], 1
.L215:
	mov	eax, DWORD PTR nos[rip]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L216
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jle	.L217
	mov	DWORD PTR -64[rbp], 0
	jmp	.L218
.L221:
	mov	DWORD PTR -60[rbp], 0
	jmp	.L219
.L220:
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -60[rbp], 1
.L219:
	cmp	DWORD PTR -60[rbp], 31
	jle	.L220
	add	DWORD PTR -64[rbp], 1
.L218:
	cmp	DWORD PTR -64[rbp], 31
	jle	.L221
.L217:
	mov	DWORD PTR lul[rip], -1
	mov	DWORD PTR kcurr[rip], 0
	mov	DWORD PTR jj[rip], 0
	jmp	.L222
.L259:
	mov	DWORD PTR jjs[rip], 0
.L258:
	mov	eax, DWORD PTR na[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, no[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR moa[rip], eax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L223
.L239:
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -56[rbp], eax
	jmp	.L224
.L238:
	mov	eax, DWORD PTR na[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -60[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR na[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -56[rbp]
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jne	.L225
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	imul	rax, rax, 364
	lea	rdx, x[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rax+rdx], xmm0
	mov	DWORD PTR -52[rbp], 0
	jmp	.L226
.L227:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm0, DWORD PTR [rax+rdx]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, eax
	movsd	xmm0, QWORD PTR .LC46[rip]
	mulsd	xmm2, xmm0
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, w[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	cvtss2sd	xmm0, xmm0
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	DWORD PTR [rax+rdx], xmm0
	add	DWORD PTR -52[rbp], 1
.L226:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -52[rbp], eax
	jl	.L227
	mov	DWORD PTR -52[rbp], 0
	jmp	.L228
.L231:
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	mov	DWORD PTR -48[rbp], eax
	jmp	.L229
.L230:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm0, DWORD PTR [rax+rdx]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, eax
	movsd	xmm0, QWORD PTR .LC47[rip]
	mulsd	xmm2, xmm0
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm2, xmm0
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	cvtss2sd	xmm0, xmm0
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	DWORD PTR [rax+rdx], xmm0
	add	DWORD PTR -48[rbp], 1
.L229:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -48[rbp], eax
	jl	.L230
	add	DWORD PTR -52[rbp], 1
.L228:
	mov	eax, DWORD PTR ntypem[rip]
	cmp	DWORD PTR -52[rbp], eax
	jl	.L231
	jmp	.L232
.L225:
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -64[rbp], 0
	jmp	.L233
.L235:
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	edx, WORD PTR [rdx+rax]
	mov	eax, DWORD PTR -64[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	lea	rcx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	je	.L234
	mov	eax, DWORD PTR -64[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, iq[rip]
	mov	WORD PTR [rdx+rax], cx
	add	DWORD PTR -44[rbp], 1
.L234:
	add	DWORD PTR -64[rbp], 1
.L233:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -64[rbp], eax
	jl	.L235
	cmp	DWORD PTR -44[rbp], 2
	jne	.L236
	movzx	eax, WORD PTR iq[rip]
	cwde
	mov	DWORD PTR -64[rbp], eax
	movzx	eax, WORD PTR iq[rip+2]
	cwde
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	ucomiss	xmm0, xmm1
	jp	.L260
	pxor	xmm1, xmm1
	comiss	xmm0, xmm1
	je	.L236
.L260:
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR -64[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	sub	eax, edx
	mov	esi, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR -8[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	sub	eax, edx
	imul	eax, esi
	cmp	eax, -4
	jne	.L236
	mov	eax, DWORD PTR jj[rip]
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR jj[rip]
	mov	ecx, DWORD PTR -64[rbp]
	movsx	rcx, ecx
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, ns2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	add	edx, 2
	imul	eax, edx
	mov	edx, DWORD PTR -64[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	ecx, dx
	mov	edx, DWORD PTR -64[rbp]
	movsx	rsi, edx
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rsi
	lea	rsi, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rsi+rdx]
	movsx	edx, dx
	imul	edx, ecx
	sub	eax, edx
	mov	edi, eax
	mov	eax, DWORD PTR jj[rip]
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR jj[rip]
	mov	ecx, DWORD PTR -8[rbp]
	movsx	rcx, ecx
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, ns2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	add	edx, 2
	imul	eax, edx
	mov	edx, DWORD PTR -8[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	ecx, dx
	mov	edx, DWORD PTR -8[rbp]
	movsx	rsi, edx
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rsi
	lea	rsi, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rsi+rdx]
	movsx	edx, dx
	imul	edx, ecx
	sub	eax, edx
	imul	eax, edi
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC48[rip]
	mulsd	xmm1, xmm0
	movsd	QWORD PTR -72[rbp], xmm1
	pxor	xmm3, xmm3
	cvtsi2sd	xmm3, DWORD PTR -4[rbp]
	movq	rax, xmm3
	movq	xmm0, rax
	call	sqrt@PLT
	mulsd	xmm0, QWORD PTR -72[rbp]
	cvtsd2ss	xmm0, xmm0
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
.L236:
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
.L232:
	add	DWORD PTR -56[rbp], 1
.L224:
	mov	eax, DWORD PTR moa[rip]
	cmp	DWORD PTR -56[rbp], eax
	jl	.L238
	add	DWORD PTR -60[rbp], 1
.L223:
	mov	eax, DWORD PTR moa[rip]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L239
	mov	eax, DWORD PTR iter[rip]
	test	eax, eax
	jne	.L240
	mov	DWORD PTR -40[rbp], 0
	jmp	.L241
.L240:
	mov	DWORD PTR -36[rbp], 0
	jmp	.L242
.L247:
	mov	DWORD PTR -32[rbp], 0
	jmp	.L243
.L246:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	mov	DWORD PTR -28[rbp], 0
	jmp	.L244
.L245:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm2, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR na[rip]
	mov	edx, DWORD PTR -32[rbp]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm2
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -28[rbp], 1
.L244:
	mov	eax, DWORD PTR moa[rip]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L245
	add	DWORD PTR -32[rbp], 1
.L243:
	mov	eax, DWORD PTR moa[rip]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L246
	add	DWORD PTR -36[rbp], 1
.L242:
	mov	eax, DWORD PTR moa[rip]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L247
	mov	DWORD PTR -28[rbp], 0
	jmp	.L248
.L253:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L249
.L252:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	mov	DWORD PTR -36[rbp], 0
	jmp	.L250
.L251:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR na[rip]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rcx, edx
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm2, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm2
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -36[rbp], 1
.L250:
	mov	eax, DWORD PTR moa[rip]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L251
	add	DWORD PTR -24[rbp], 1
.L249:
	mov	eax, DWORD PTR moa[rip]
	cmp	DWORD PTR -24[rbp], eax
	jl	.L252
	add	DWORD PTR -28[rbp], 1
.L248:
	mov	eax, DWORD PTR moa[rip]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L253
	mov	DWORD PTR -40[rbp], 1
.L241:
	mov	eax, DWORD PTR moa[rip]
	mov	edx, DWORD PTR -40[rbp]
	mov	esi, edx
	mov	edi, eax
	mov	eax, 0
	call	diagonalizematrix
	mov	DWORD PTR -60[rbp], 0
	jmp	.L254
.L255:
	mov	eax, DWORD PTR na[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -60[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm0, DWORD PTR [rax+rdx]
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, e[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -60[rbp], 1
.L254:
	mov	eax, DWORD PTR moa[rip]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L255
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	je	.L256
	mov	eax, 0
	call	square
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L256
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L257
.L256:
	mov	eax, DWORD PTR na[rip]
	add	eax, 1
	mov	DWORD PTR na[rip], eax
	mov	eax, DWORD PTR jj[rip]
	add	eax, 1
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nijs[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR na[rip]
	cmp	edx, eax
	jg	.L258
	mov	eax, DWORD PTR jj[rip]
	add	eax, 1
	mov	DWORD PTR jj[rip], eax
.L222:
	mov	edx, DWORD PTR jj[rip]
	mov	eax, DWORD PTR irow[rip]
	cmp	edx, eax
	jl	.L259
	mov	eax, 0
.L257:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	iterat, .-iterat
	.section	.rodata
.LC51:
	.string	"Final parameters"
.LC52:
	.string	"Iteration number %4d\n"
.LC53:
	.string	"rms frequency error %16.4f\n"
.LC54:
	.string	"Iteration has converged"
	.align 8
.LC55:
	.string	"ERROR:continue not implemented in setup"
	.text
	.globl	setup
	.type	setup, @function
setup:
.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	DWORD PTR nconv[rip], 0
	mov	eax, DWORD PTR ntype[rip]
	sub	eax, 1
	mov	DWORD PTR ntypem[rip], eax
	mov	DWORD PTR iter[rip], 0
	movss	xmm0, DWORD PTR .LC49[rip]
	movss	DWORD PTR er1[rip], xmm0
	pxor	xmm0, xmm0
	movss	DWORD PTR er2[rip], xmm0
.L290:
	mov	eax, DWORD PTR do_continue[rip]
	test	eax, eax
	jne	.L262
	mov	eax, 0
	call	iterat
	test	eax, eax
	je	.L263
	mov	eax, 1
	jmp	.L264
.L263:
	mov	eax, DWORD PTR na[rip]
	sub	eax, 1
	mov	DWORD PTR na[rip], eax
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jg	.L265
	mov	eax, 0
	call	printenergylevels
	mov	eax, 0
	jmp	.L264
.L265:
	movss	xmm0, DWORD PTR er2[rip]
	mov	eax, DWORD PTR nl[rip]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm0
	movq	rax, xmm3
	movq	xmm0, rax
	call	sqrt@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR er2[rip], xmm0
	mov	edx, DWORD PTR iter[rip]
	mov	eax, DWORD PTR ni[rip]
	cmp	edx, eax
	jne	.L266
	mov	DWORD PTR nconv[rip], 1
	jmp	.L267
.L266:
	mov	eax, DWORD PTR iter[rip]
	cmp	eax, 2
	jle	.L267
	movss	xmm0, DWORD PTR er2[rip]
	pxor	xmm1, xmm1
	ucomiss	xmm0, xmm1
	jp	.L268
	pxor	xmm1, xmm1
	ucomiss	xmm0, xmm1
	jne	.L268
	mov	DWORD PTR nconv[rip], 2
	jmp	.L270
.L268:
	movss	xmm0, DWORD PTR er1[rip]
	movss	xmm1, DWORD PTR er2[rip]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR er1[rip]
	divss	xmm0, xmm1
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC50[rip]
	comisd	xmm0, xmm1
	jb	.L270
	mov	DWORD PTR nconv[rip], 2
.L270:
	movss	xmm0, DWORD PTR er2[rip]
	movss	xmm1, DWORD PTR er1[rip]
	comiss	xmm0, xmm1
	jbe	.L267
	mov	DWORD PTR nconv[rip], 3
.L267:
	movss	xmm0, DWORD PTR er2[rip]
	movss	DWORD PTR er1[rip], xmm0
	mov	eax, DWORD PTR nconv[rip]
	test	eax, eax
	jne	.L273
	mov	eax, DWORD PTR listiterations[rip]
	test	eax, eax
	je	.L274
	mov	eax, DWORD PTR iter[rip]
	test	eax, eax
	jle	.L274
.L273:
	mov	eax, DWORD PTR nconv[rip]
	test	eax, eax
	jle	.L275
	lea	rdi, .LC51[rip]
	call	puts@PLT
.L275:
	mov	eax, DWORD PTR iter[rip]
	mov	esi, eax
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	call	printparams
	mov	eax, 0
	call	saveparams
.L274:
	movss	xmm0, DWORD PTR er2[rip]
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, xmm0
	movq	rax, xmm4
	movq	xmm0, rax
	lea	rdi, .LC53[rip]
	mov	eax, 1
	call	printf@PLT
	mov	eax, DWORD PTR nconv[rip]
	cmp	eax, 2
	jne	.L276
	lea	rdi, .LC54[rip]
	call	puts@PLT
.L276:
	mov	edi, 10
	call	putchar@PLT
	mov	eax, DWORD PTR nconv[rip]
	test	eax, eax
	jne	.L278
	jmp	.L294
.L262:
	lea	rdi, .LC55[rip]
	call	puts@PLT
	mov	eax, 1
	jmp	.L264
.L294:
	mov	eax, 0
	call	invert
	mov	DWORD PTR -16[rbp], 0
	jmp	.L280
.L278:
	mov	eax, 0
	jmp	.L264
.L283:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, corr[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	mov	DWORD PTR -12[rbp], 0
	jmp	.L281
.L282:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, corr[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm2, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, bv[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm2
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, corr[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -12[rbp], 1
.L281:
	mov	eax, DWORD PTR nos[rip]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L282
	add	DWORD PTR -16[rbp], 1
.L280:
	mov	eax, DWORD PTR nos[rip]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L283
	mov	DWORD PTR -20[rbp], 0
	jmp	.L284
.L289:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L285
.L288:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ia[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -8[rbp], eax
	cmp	DWORD PTR -8[rbp], -1
	je	.L286
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ib[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	je	.L287
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, corr[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, iso[rip]
	movzx	edx, WORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, iso[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	jne	.L286
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -8[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, a[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	jmp	.L286
.L287:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, w[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, corr[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, w[rip]
	movss	DWORD PTR [rdx+rax], xmm0
.L286:
	add	DWORD PTR -24[rbp], 1
.L285:
	cmp	DWORD PTR -24[rbp], 7
	jle	.L288
	add	DWORD PTR -20[rbp], 1
.L284:
	mov	eax, DWORD PTR nos[rip]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L289
	mov	DWORD PTR do_continue[rip], 0
	mov	eax, DWORD PTR iter[rip]
	add	eax, 1
	mov	DWORD PTR iter[rip], eax
	mov	edx, DWORD PTR iter[rip]
	mov	eax, DWORD PTR ni[rip]
	cmp	edx, eax
	jle	.L290
	mov	eax, 0
.L264:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	setup, .-setup
	.section	.rodata
	.align 8
.LC64:
	.string	"ERROR:inclomplete diagonalization"
	.text
	.globl	diagonalizematrix
	.type	diagonalizematrix, @function
diagonalizematrix:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r14
	push	r13
	push	r12
	push	rbx
	sub	rsp, 64
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
	mov	DWORD PTR -84[rbp], edi
	mov	DWORD PTR -88[rbp], esi
	mov	DWORD PTR -72[rbp], 0
	mov	eax, DWORD PTR -84[rbp]
	imul	eax, eax
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -68[rbp], eax
	mov	DWORD PTR -76[rbp], 0
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -64[rbp], eax
	cmp	DWORD PTR -64[rbp], 0
	js	.L296
	cmp	DWORD PTR -64[rbp], 0
	jne	.L297
	mov	eax, DWORD PTR na[rip]
	cdqe
	imul	rax, rax, 32400
	lea	rdx, vb[rip]
	movss	xmm0, DWORD PTR .LC39[rip]
	movss	DWORD PTR [rax+rdx], xmm0
	jmp	.L296
.L297:
	cmp	DWORD PTR -88[rbp], 0
	jne	.L334
	mov	r14d, 0
	jmp	.L299
.L302:
	mov	ebx, 0
	jmp	.L300
.L301:
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, ebx
	movsx	rdx, eax
	movsx	rax, r14d
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	add	ebx, 1
.L300:
	cmp	ebx, DWORD PTR -84[rbp]
	jl	.L301
	add	r14d, 1
.L299:
	cmp	r14d, DWORD PTR -84[rbp]
	jl	.L302
	mov	r12d, 0
	jmp	.L303
.L304:
	mov	eax, DWORD PTR na[rip]
	movsx	rdx, r12d
	cdqe
	imul	rdx, rdx, 364
	imul	rax, rax, 32400
	add	rdx, rax
	lea	rax, vb[rip]
	add	rax, rdx
	movss	xmm0, DWORD PTR .LC39[rip]
	movss	DWORD PTR [rax], xmm0
	add	r12d, 1
.L303:
	cmp	r12d, DWORD PTR -84[rbp]
	jl	.L304
.L334:
	add	DWORD PTR -76[rbp], 1
	pxor	xmm4, xmm4
	movaps	xmm6, xmm4
	mov	ebx, 1
	jmp	.L305
.L310:
	mov	DWORD PTR -36[rbp], ebx
	mov	r14d, 0
	jmp	.L306
.L309:
	movsx	rdx, ebx
	movsx	rax, r14d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	xmm1, DWORD PTR .LC37[rip]
	andps	xmm0, xmm1
	comiss	xmm0, xmm6
	jbe	.L307
	movsx	rdx, ebx
	movsx	rax, r14d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	xmm1, DWORD PTR .LC37[rip]
	andps	xmm0, xmm1
	movaps	xmm6, xmm0
	mov	r12d, r14d
	mov	r13d, ebx
.L307:
	add	r14d, 1
.L306:
	cmp	r14d, DWORD PTR -36[rbp]
	jl	.L309
	add	ebx, 1
.L305:
	cmp	ebx, DWORD PTR -84[rbp]
	jl	.L310
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm6
	movsd	xmm0, QWORD PTR .LC56[rip]
	comisd	xmm0, xmm1
	jb	.L343
	movss	xmm4, DWORD PTR .LC57[rip]
	movaps	xmm5, xmm4
	mov	r14d, 0
	jmp	.L313
.L320:
	lea	eax, 1[r14]
	mov	DWORD PTR -60[rbp], eax
	mov	ebx, DWORD PTR -60[rbp]
	jmp	.L314
.L319:
	movsx	rdx, ebx
	movsx	rax, r14d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	ucomiss	xmm0, xmm1
	jp	.L337
	pxor	xmm1, xmm1
	comiss	xmm0, xmm1
	je	.L315
.L337:
	movsx	rax, r14d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm0, DWORD PTR [rax+rdx]
	movsx	rax, ebx
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm1, DWORD PTR [rax+rdx]
	subss	xmm0, xmm1
	movss	DWORD PTR -56[rbp], xmm0
	pxor	xmm0, xmm0
	ucomiss	xmm0, DWORD PTR -56[rbp]
	jp	.L338
	pxor	xmm0, xmm0
	comiss	xmm0, DWORD PTR -56[rbp]
	je	.L315
.L338:
	movsx	rdx, ebx
	movsx	rax, r14d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	divss	xmm0, DWORD PTR -56[rbp]
	movss	xmm1, DWORD PTR .LC37[rip]
	andps	xmm0, xmm1
	movss	DWORD PTR -52[rbp], xmm0
	movss	xmm0, DWORD PTR -52[rbp]
	comiss	xmm0, xmm5
	jbe	.L315
	movss	xmm6, DWORD PTR -52[rbp]
	movaps	xmm5, xmm6
	mov	r12d, r14d
	mov	r13d, ebx
.L315:
	add	ebx, 1
.L314:
	cmp	ebx, DWORD PTR -84[rbp]
	jl	.L319
	add	r14d, 1
.L313:
	cmp	r14d, DWORD PTR -64[rbp]
	jl	.L320
	jmp	.L321
.L343:
	movss	xmm3, DWORD PTR .LC58[rip]
	movaps	xmm5, xmm3
.L321:
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, xmm5
	comisd	xmm0, QWORD PTR .LC59[rip]
	jbe	.L344
	movsx	rdx, r13d
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	movsx	rdx, r13d
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm1
	movss	DWORD PTR -48[rbp], xmm0
	movsx	rax, r12d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm0, DWORD PTR [rax+rdx]
	movsx	rax, r13d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm1, DWORD PTR [rax+rdx]
	subss	xmm0, xmm1
	movss	DWORD PTR -56[rbp], xmm0
	movss	xmm0, DWORD PTR -56[rbp]
	mulss	xmm0, xmm0
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, DWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC60[rip]
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	movq	xmm1, QWORD PTR .LC61[rip]
	andpd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	sqrt@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -44[rbp], xmm0
	movss	xmm0, DWORD PTR -44[rbp]
	addss	xmm0, DWORD PTR -56[rbp]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -44[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	divsd	xmm1, xmm2
	movapd	xmm0, xmm1
	movq	xmm1, QWORD PTR .LC61[rip]
	andpd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	sqrt@PLT
	pxor	xmm3, xmm3
	cvtsd2ss	xmm3, xmm0
	movss	DWORD PTR -96[rbp], xmm3
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm3
	movsd	xmm0, QWORD PTR .LC62[rip]
	comisd	xmm0, xmm1
	jbe	.L345
	movss	xmm0, DWORD PTR .LC38[rip]
	xorps	xmm3, xmm0
	movss	DWORD PTR -92[rbp], xmm3
	movaps	xmm0, xmm3
	mulss	xmm0, xmm3
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC63[rip]
	subsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	sqrt@PLT
	pxor	xmm4, xmm4
	cvtsd2ss	xmm4, xmm0
	movss	DWORD PTR -96[rbp], xmm4
	jmp	.L326
.L345:
	movss	xmm6, DWORD PTR -96[rbp]
	movaps	xmm0, xmm6
	mulss	xmm0, xmm6
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC63[rip]
	subsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	call	sqrt@PLT
	cvtsd2ss	xmm0, xmm0
	movss	xmm1, DWORD PTR .LC38[rip]
	xorps	xmm0, xmm1
	movss	DWORD PTR -92[rbp], xmm0
.L326:
	movsx	rdx, r13d
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm2, DWORD PTR [rdx+rax]
	movss	xmm0, DWORD PTR -56[rbp]
	movaps	xmm1, xmm0
	divss	xmm1, xmm2
	pxor	xmm0, xmm0
	comiss	xmm0, xmm1
	jbe	.L327
	movss	xmm0, DWORD PTR .LC38[rip]
	movss	xmm6, DWORD PTR -92[rbp]
	xorps	xmm6, xmm0
	movaps	xmm0, xmm6
	movss	DWORD PTR -92[rbp], xmm0
.L327:
	mov	ebx, 0
	jmp	.L329
.L331:
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, r12d
	movsx	rdx, eax
	movsx	rax, ebx
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm7, DWORD PTR [rdx+rax]
	movss	xmm4, DWORD PTR -96[rbp]
	movaps	xmm0, xmm4
	mulss	xmm0, xmm7
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, r13d
	movsx	rdx, eax
	movsx	rax, ebx
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	movss	xmm5, DWORD PTR -92[rbp]
	mulss	xmm1, xmm5
	mov	eax, DWORD PTR na[rip]
	subss	xmm0, xmm1
	movsx	rcx, r12d
	movsx	rdx, eax
	movsx	rax, ebx
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	mulss	xmm7, xmm5
	movaps	xmm1, xmm7
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, r13d
	movsx	rdx, eax
	movsx	rax, ebx
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm4
	mov	eax, DWORD PTR na[rip]
	addss	xmm0, xmm1
	movsx	rcx, r13d
	movsx	rdx, eax
	movsx	rax, ebx
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	cmp	r12d, ebx
	je	.L330
	cmp	r13d, ebx
	je	.L330
	movsx	rdx, r12d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm4
	movsx	rdx, r13d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mulss	xmm1, xmm5
	subss	xmm0, xmm1
	movsx	rdx, ebx
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rdx, r12d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movaps	xmm1, xmm0
	mulss	xmm1, xmm5
	movsx	rdx, r13d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm4
	addss	xmm0, xmm1
	movsx	rdx, ebx
	movsx	rax, r13d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rdx, ebx
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rdx, r12d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rdx, ebx
	movsx	rax, r13d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rdx, r13d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	DWORD PTR [rdx+rax], xmm0
.L330:
	add	ebx, 1
.L329:
	cmp	ebx, DWORD PTR -84[rbp]
	jl	.L331
	movsx	rax, r12d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm1, DWORD PTR [rax+rdx]
	movsx	rax, r13d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm0, DWORD PTR [rax+rdx]
	addss	xmm0, xmm1
	movss	DWORD PTR -40[rbp], xmm0
	movss	xmm6, DWORD PTR -96[rbp]
	movaps	xmm1, xmm6
	mulss	xmm1, xmm6
	movsx	rax, r12d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm0, DWORD PTR [rax+rdx]
	mulss	xmm1, xmm0
	movss	xmm7, DWORD PTR -92[rbp]
	movaps	xmm2, xmm7
	mulss	xmm2, xmm7
	movsx	rax, r13d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm0, DWORD PTR [rax+rdx]
	mulss	xmm0, xmm2
	addss	xmm0, xmm1
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, xmm6
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, xmm7
	mulsd	xmm2, xmm0
	movsx	rdx, r13d
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	cvtss2sd	xmm0, xmm0
	mulsd	xmm0, xmm2
	subsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, xmm1
	movsx	rax, r12d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	DWORD PTR [rax+rdx], xmm0
	movsx	rax, r12d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	xmm1, DWORD PTR [rax+rdx]
	movss	xmm0, DWORD PTR -40[rbp]
	subss	xmm0, xmm1
	movsx	rax, r13d
	imul	rax, rax, 364
	lea	rdx, x[rip]
	movss	DWORD PTR [rax+rdx], xmm0
	movsx	rdx, r12d
	movsx	rax, r13d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rdx, r13d
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	jmp	.L332
.L344:
	mov	DWORD PTR -72[rbp], 1
.L332:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jge	.L333
	cmp	DWORD PTR -72[rbp], 0
	je	.L334
.L333:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L296
	lea	rdi, .LC64[rip]
	call	puts@PLT
.L296:
	nop
	add	rsp, 64
	pop	rbx
	pop	r12
	pop	r13
	pop	r14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	diagonalizematrix, .-diagonalizematrix
	.globl	square
	.type	square, @function
square:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 104
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	eax, DWORD PTR jjs[rip]
	test	eax, eax
	je	.L347
	mov	eax, DWORD PTR na[rip]
	sub	eax, 1
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, no[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -96[rbp], eax
	mov	ebx, 0
	jmp	.L348
.L351:
	mov	DWORD PTR -100[rbp], 0
	jmp	.L349
.L350:
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, d[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -100[rbp], 1
.L349:
	mov	eax, DWORD PTR nos[rip]
	cmp	DWORD PTR -100[rbp], eax
	jl	.L350
	add	ebx, 1
.L348:
	cmp	ebx, DWORD PTR -96[rbp]
	jl	.L351
.L347:
	mov	ebx, 0
	jmp	.L352
.L371:
	mov	DWORD PTR -100[rbp], 0
	jmp	.L353
.L370:
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, d[rip]
	pxor	xmm0, xmm0
	movss	DWORD PTR [rdx+rax], xmm0
	mov	DWORD PTR -104[rbp], -1
.L369:
	add	DWORD PTR -104[rbp], 1
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ia[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], -1
	je	.L354
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ib[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	jg	.L355
	mov	r13d, 0
	jmp	.L356
.L357:
	mov	eax, DWORD PTR na[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	add	eax, r13d
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, d[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, ebx
	movsx	rdx, eax
	movsx	rax, r13d
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movsd	xmm0, QWORD PTR .LC46[rip]
	mulsd	xmm2, xmm0
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, ebx
	movsx	rdx, eax
	movsx	rax, r13d
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	cvtss2sd	xmm0, xmm0
	mulsd	xmm2, xmm0
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, d[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	r13d, 1
.L356:
	mov	eax, DWORD PTR moa[rip]
	cmp	r13d, eax
	jl	.L357
	jmp	.L354
.L355:
	mov	r13d, 0
	jmp	.L358
.L359:
	mov	eax, DWORD PTR na[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	add	eax, r13d
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, d[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, ebx
	movsx	rdx, eax
	movsx	rax, r13d
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movsd	xmm0, QWORD PTR .LC47[rip]
	mulsd	xmm2, xmm0
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, ebx
	movsx	rdx, eax
	movsx	rax, r13d
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	cvtss2sd	xmm0, xmm0
	mulsd	xmm2, xmm0
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm2, xmm0
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, xmm2
	addsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, d[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	r13d, 1
.L358:
	mov	eax, DWORD PTR moa[rip]
	cmp	r13d, eax
	jl	.L359
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, iso[rip]
	movzx	edx, WORD PTR [rdx+rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, iso[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	jne	.L354
	mov	eax, DWORD PTR moa[rip]
	cmp	eax, 1
	jle	.L354
	mov	DWORD PTR -108[rbp], 0
	jmp	.L360
.L367:
	mov	eax, DWORD PTR -108[rbp]
	add	eax, 1
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR na[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -108[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	r13d, DWORD PTR -48[rbp]
	jmp	.L361
.L366:
	mov	eax, DWORD PTR na[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	add	eax, r13d
	mov	DWORD PTR -44[rbp], eax
	mov	DWORD PTR -92[rbp], 0
	mov	r12d, -1
.L364:
	add	r12d, 1
	cmp	r12d, DWORD PTR -56[rbp]
	je	.L362
	cmp	r12d, DWORD PTR -52[rbp]
	je	.L362
	movsx	rdx, r12d
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	edx, WORD PTR [rdx+rax]
	movsx	rcx, r12d
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	lea	rcx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -92[rbp], eax
.L362:
	cmp	DWORD PTR -92[rbp], 0
	jne	.L363
	mov	eax, DWORD PTR ntype[rip]
	sub	eax, 1
	cmp	r12d, eax
	je	.L363
	cmp	r12d, DWORD PTR -56[rbp]
	je	.L363
	cmp	r12d, DWORD PTR -52[rbp]
	jne	.L364
.L363:
	cmp	DWORD PTR -92[rbp], 0
	jne	.L365
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR -56[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	sub	eax, edx
	mov	esi, eax
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR -52[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	sub	eax, edx
	imul	eax, esi
	cmp	eax, -4
	jne	.L365
	mov	eax, DWORD PTR jj[rip]
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR jj[rip]
	mov	ecx, DWORD PTR -56[rbp]
	movsx	rcx, ecx
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, ns2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	add	edx, 2
	imul	eax, edx
	mov	edx, DWORD PTR -56[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	ecx, dx
	mov	edx, DWORD PTR -56[rbp]
	movsx	rsi, edx
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rsi
	lea	rsi, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rsi+rdx]
	movsx	edx, dx
	imul	edx, ecx
	sub	eax, edx
	mov	edi, eax
	mov	eax, DWORD PTR jj[rip]
	mov	edx, DWORD PTR -52[rbp]
	movsx	rdx, edx
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR jj[rip]
	mov	ecx, DWORD PTR -52[rbp]
	movsx	rcx, ecx
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, ns2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	add	edx, 2
	imul	eax, edx
	mov	edx, DWORD PTR -52[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	ecx, dx
	mov	edx, DWORD PTR -52[rbp]
	movsx	rsi, edx
	mov	edx, DWORD PTR -44[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rsi
	lea	rsi, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rsi+rdx]
	movsx	edx, dx
	imul	edx, ecx
	sub	eax, edx
	imul	eax, edi
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, ebx
	movsx	rdx, eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC47[rip]
	mulsd	xmm1, xmm0
	mov	eax, DWORD PTR na[rip]
	movsx	rcx, ebx
	movsx	rdx, eax
	movsx	rax, r13d
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	cvtss2sd	xmm0, xmm0
	mulsd	xmm1, xmm0
	movsd	QWORD PTR -120[rbp], xmm1
	pxor	xmm3, xmm3
	cvtsi2sd	xmm3, DWORD PTR -40[rbp]
	movq	rax, xmm3
	movq	xmm0, rax
	call	sqrt@PLT
	movsd	xmm1, QWORD PTR -120[rbp]
	mulsd	xmm1, xmm0
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, d[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	cvtss2sd	xmm0, xmm0
	addsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	movsx	rax, ebx
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, d[rip]
	movss	DWORD PTR [rdx+rax], xmm0
.L365:
	add	r13d, 1
.L361:
	mov	eax, DWORD PTR moa[rip]
	cmp	r13d, eax
	jl	.L366
	add	DWORD PTR -108[rbp], 1
.L360:
	mov	eax, DWORD PTR moa[rip]
	sub	eax, 1
	cmp	DWORD PTR -108[rbp], eax
	jl	.L367
.L354:
	cmp	DWORD PTR -56[rbp], -1
	je	.L368
	cmp	DWORD PTR -104[rbp], 7
	jne	.L369
.L368:
	add	DWORD PTR -100[rbp], 1
.L353:
	mov	eax, DWORD PTR nos[rip]
	cmp	DWORD PTR -100[rbp], eax
	jl	.L370
	add	ebx, 1
.L352:
	mov	eax, DWORD PTR moa[rip]
	cmp	ebx, eax
	jl	.L371
	mov	eax, DWORD PTR jjs[rip]
	test	eax, eax
	je	.L372
	mov	eax, DWORD PTR na[rip]
	sub	eax, 1
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR na[rip]
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR moa[rip]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR lul[rip]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -96[rbp]
	imul	eax, DWORD PTR -80[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR lul[rip]
	add	eax, edx
	mov	DWORD PTR lul[rip], eax
	mov	r13d, DWORD PTR -76[rbp]
	jmp	.L373
.L376:
	mov	eax, DWORD PTR kcurr[rip]
	add	eax, 1
	mov	DWORD PTR kcurr[rip], eax
.L374:
	mov	eax, DWORD PTR kcurr[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	r13d, eax
	je	.L375
	mov	eax, DWORD PTR nl[rip]
	lea	edx, -1[rax]
	mov	eax, DWORD PTR kcurr[rip]
	cmp	edx, eax
	jle	.L375
	mov	eax, DWORD PTR kcurr[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	r13d, eax
	jg	.L376
.L375:
	mov	eax, r13d
	sub	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdq
	idiv	DWORD PTR -80[rbp]
	mov	DWORD PTR -108[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	imul	eax, DWORD PTR -80[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -72[rbp]
	sub	eax, edx
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -108[rbp]
	add	eax, edx
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -68[rbp]
	add	eax, edx
	mov	DWORD PTR -60[rbp], eax
	mov	DWORD PTR -100[rbp], 0
	jmp	.L377
.L378:
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, y[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 5
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, d[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	subss	xmm0, xmm1
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, dcv[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -100[rbp], 1
.L377:
	mov	eax, DWORD PTR nos[rip]
	cmp	DWORD PTR -100[rbp], eax
	jl	.L378
	mov	eax, DWORD PTR kcurr[rip]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	r13d, eax
	jne	.L379
	mov	eax, DWORD PTR kcurr[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, e[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	addss	xmm0, xmm1
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, e[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	subss	xmm0, xmm1
	movaps	xmm6, xmm0
	jmp	.L380
.L379:
	pxor	xmm4, xmm4
	movaps	xmm6, xmm4
.L380:
	mov	r12d, 0
	jmp	.L381
.L384:
	mov	ebx, 0
	jmp	.L382
.L383:
	movsx	rdx, ebx
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	movsx	rax, r12d
	lea	rdx, 0[0+rax*4]
	lea	rax, dcv[rip]
	movss	xmm2, DWORD PTR [rdx+rax]
	movsx	rax, ebx
	lea	rdx, 0[0+rax*4]
	lea	rax, dcv[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm2
	addss	xmm0, xmm1
	movsx	rdx, ebx
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	movsx	rdx, ebx
	movsx	rax, r12d
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movsx	rdx, r12d
	movsx	rax, ebx
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	ebx, 1
.L382:
	mov	eax, DWORD PTR nos[rip]
	cmp	ebx, eax
	jl	.L383
	movsx	rax, r12d
	lea	rdx, 0[0+rax*4]
	lea	rax, bv[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	movsx	rax, r12d
	lea	rdx, 0[0+rax*4]
	lea	rax, dcv[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	movaps	xmm5, xmm6
	mulss	xmm0, xmm5
	addss	xmm0, xmm1
	movsx	rax, r12d
	lea	rdx, 0[0+rax*4]
	lea	rax, bv[rip]
	movss	DWORD PTR [rdx+rax], xmm0
	add	r12d, 1
.L381:
	mov	eax, DWORD PTR nos[rip]
	cmp	r12d, eax
	jl	.L384
	movaps	xmm1, xmm6
	mulss	xmm1, xmm1
	movss	xmm0, DWORD PTR dev[rip]
	addss	xmm0, xmm1
	movss	DWORD PTR dev[rip], xmm0
	movss	xmm0, DWORD PTR dev[rip]
	movss	DWORD PTR er2[rip], xmm0
	add	r13d, 1
.L373:
	mov	eax, DWORD PTR lul[rip]
	cmp	r13d, eax
	jle	.L374
.L372:
	mov	eax, DWORD PTR jjs[rip]
	add	eax, 1
	mov	DWORD PTR jjs[rip], eax
	mov	eax, 0
	add	rsp, 104
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	square, .-square
	.section	.rodata
.LC65:
	.string	"Energy levels"
.LC66:
	.string	"Submatrix number %d\n"
.LC67:
	.string	"Total spin quantum numbers"
.LC68:
	.string	"%8.1f"
.LC69:
	.string	"\n"
.LC70:
	.string	"Level number    energy"
.LC71:
	.string	"%4d  %12.3f\n"
	.text
	.globl	printenergylevels
	.type	printenergylevels, @function
printenergylevels:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR listenergy[rip]
	test	eax, eax
	jne	.L388
	mov	eax, 0
	jmp	.L387
.L388:
	mov	DWORD PTR -52[rbp], 0
	mov	edx, DWORD PTR matd[rip]
	mov	eax, DWORD PTR nsbsb[rip]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	mov	WORD PTR [rdx+rax], cx
	lea	rdi, .LC65[rip]
	call	puts@PLT
	mov	DWORD PTR -56[rbp], 0
	jmp	.L390
.L400:
	mov	DWORD PTR -60[rbp], 0
	jmp	.L391
.L392:
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR .LC46[rip]
	mulsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	movss	DWORD PTR -48[rbp+rax*4], xmm0
	add	DWORD PTR -60[rbp], 1
.L391:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L392
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 1
	mov	esi, eax
	lea	rdi, .LC66[rip]
	mov	eax, 0
	call	printf@PLT
	cmp	DWORD PTR -56[rbp], 0
	jne	.L393
	lea	rdi, .LC67[rip]
	call	puts@PLT
.L393:
	mov	DWORD PTR -60[rbp], 0
	jmp	.L394
.L395:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	movss	xmm0, DWORD PTR -48[rbp+rax*4]
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movq	rax, xmm2
	movq	xmm0, rax
	lea	rdi, .LC68[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -60[rbp], 1
.L394:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -60[rbp], eax
	jl	.L395
	lea	rdi, .LC69[rip]
	call	puts@PLT
	cmp	DWORD PTR -56[rbp], 0
	jne	.L399
	lea	rdi, .LC70[rip]
	call	puts@PLT
.L399:
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -60[rbp], eax
	jmp	.L397
.L398:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, e[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm0
	movq	rax, xmm3
	mov	edx, DWORD PTR -60[rbp]
	add	edx, 1
	movq	xmm0, rax
	mov	esi, edx
	lea	rdi, .LC71[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -60[rbp], 1
.L397:
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	DWORD PTR -60[rbp], eax
	jl	.L398
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -52[rbp], 1
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 1
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nijs[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	DWORD PTR -52[rbp], eax
	jl	.L399
	add	DWORD PTR -56[rbp], 1
.L390:
	mov	eax, DWORD PTR irow[rip]
	cmp	DWORD PTR -56[rbp], eax
	jl	.L400
.L387:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L401
	call	__stack_chk_fail@PLT
.L401:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	printenergylevels, .-printenergylevels
	.globl	fact
	.type	fact, @function
fact:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	DWORD PTR -20[rbp], edi
	mov	r12d, 1
	mov	ebx, 1
	jmp	.L403
.L404:
	imul	r12d, ebx
	add	ebx, 1
.L403:
	cmp	ebx, DWORD PTR -20[rbp]
	jle	.L404
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, r12d
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	fact, .-fact
	.section	.rodata
	.align 8
.LC72:
	.string	"line # transitions    frequency     intensity"
	.align 8
.LC73:
	.string	"%4d%c%4d  %4d  %12.3f  %12.3f\n"
	.align 8
.LC74:
	.string	"Calculated transitions = %d, maximum allowed = %d\n"
	.align 8
.LC75:
	.string	"ERROR:Increase amin to reduce transition count."
.LC76:
	.string	"   observed     difference  "
.LC77:
	.string	"%4d%c%4d  %4d  %12.3f  %12.3f"
.LC78:
	.string	"%12.3f  %12.3f"
.LC79:
	.string	"%g,%g;L%d%c\n"
	.text
	.globl	transt
	.type	transt, @function
transt:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 0
	mov	eax, DWORD PTR listtransitions[rip]
	test	eax, eax
	je	.L407
	lea	rdi, .LC72[rip]
	call	puts@PLT
.L407:
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jns	.L408
	mov	DWORD PTR ni[rip], 0
.L408:
	mov	DWORD PTR -260[rbp], 0
	mov	DWORD PTR -264[rbp], -1
	mov	DWORD PTR clines[rip], -1
	mov	DWORD PTR -248[rbp], -2
	mov	DWORD PTR -236[rbp], 0
	jmp	.L409
.L450:
	mov	eax, DWORD PTR -236[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nss[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cmp	ax, 1
	je	.L410
	movss	xmm0, DWORD PTR .LC39[rip]
	movss	DWORD PTR -292[rbp], xmm0
	mov	DWORD PTR -280[rbp], 0
	jmp	.L411
.L413:
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nucl[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR -280[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -236[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, ns2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	sub	eax, edx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -160[rbp], eax
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -236[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	add	eax, 1
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -156[rbp], xmm0
	cmp	DWORD PTR -160[rbp], 0
	jle	.L412
	movss	xmm0, DWORD PTR -292[rbp]
	mulss	xmm0, DWORD PTR -156[rbp]
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movsd	QWORD PTR -312[rbp], xmm2
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nucl[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edi, eax
	mov	eax, 0
	call	fact
	mulsd	xmm0, QWORD PTR -312[rbp]
	movsd	QWORD PTR -312[rbp], xmm0
	mov	eax, DWORD PTR -160[rbp]
	mov	edi, eax
	mov	eax, 0
	call	fact
	movsd	QWORD PTR -320[rbp], xmm0
	mov	eax, DWORD PTR -280[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nucl[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	ecx, ax
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -236[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	add	eax, ecx
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	add	eax, 1
	mov	edi, eax
	mov	eax, 0
	call	fact
	mulsd	xmm0, QWORD PTR -320[rbp]
	movsd	xmm1, QWORD PTR -312[rbp]
	divsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, xmm1
	movss	DWORD PTR -292[rbp], xmm0
.L412:
	add	DWORD PTR -280[rbp], 1
.L411:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -280[rbp], eax
	jl	.L413
	mov	DWORD PTR -252[rbp], 0
	add	DWORD PTR -248[rbp], 1
	jmp	.L414
.L449:
	add	DWORD PTR -248[rbp], 1
	mov	eax, DWORD PTR -248[rbp]
	add	eax, 1
	mov	DWORD PTR -196[rbp], eax
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, no[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -192[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, no[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -188[rbp], eax
	mov	DWORD PTR -240[rbp], 0
	jmp	.L415
.L422:
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -240[rbp]
	add	eax, edx
	mov	DWORD PTR -168[rbp], eax
	mov	DWORD PTR -244[rbp], 0
	jmp	.L416
.L421:
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -244[rbp]
	add	eax, edx
	mov	DWORD PTR -164[rbp], eax
	mov	DWORD PTR -216[rbp], -1
	mov	WORD PTR iq[rip], -1
	mov	DWORD PTR -280[rbp], 0
	jmp	.L417
.L419:
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -168[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	edx, WORD PTR [rdx+rax]
	mov	eax, DWORD PTR -280[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	lea	rcx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	je	.L418
	add	DWORD PTR -216[rbp], 1
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR -280[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -168[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	add	edx, 2
	cmp	eax, edx
	jne	.L418
	mov	eax, DWORD PTR -280[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -216[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, iq[rip]
	mov	WORD PTR [rdx+rax], cx
.L418:
	add	DWORD PTR -280[rbp], 1
.L417:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -280[rbp], eax
	jl	.L419
	pxor	xmm0, xmm0
	movss	DWORD PTR -284[rbp], xmm0
	cmp	DWORD PTR -216[rbp], 0
	jne	.L420
	movzx	eax, WORD PTR iq[rip]
	cmp	ax, -1
	je	.L420
	movzx	eax, WORD PTR iq[rip]
	cwde
	mov	DWORD PTR -280[rbp], eax
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -236[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	ecx, ax
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	lea	esi, [rcx+rax]
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -236[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	edx, DWORD PTR -280[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -168[rbp]
	movsx	rdx, edx
	sal	rdx, 3
	add	rdx, rcx
	lea	rcx, [rdx+rdx]
	lea	rdx, nq2[rip]
	movzx	edx, WORD PTR [rcx+rdx]
	movsx	edx, dx
	sub	eax, edx
	imul	eax, esi
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -284[rbp], xmm0
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, DWORD PTR -284[rbp]
	movq	rax, xmm4
	movq	xmm0, rax
	call	sqrt@PLT
	movsd	xmm1, QWORD PTR .LC46[rip]
	mulsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -284[rbp], xmm0
.L420:
	mov	eax, DWORD PTR -240[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR -284[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -244[rbp], 1
.L416:
	mov	eax, DWORD PTR -244[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jl	.L421
	add	DWORD PTR -240[rbp], 1
.L415:
	mov	eax, DWORD PTR -240[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L422
	mov	DWORD PTR -244[rbp], 0
	jmp	.L423
.L428:
	mov	DWORD PTR -240[rbp], 0
	jmp	.L424
.L427:
	pxor	xmm0, xmm0
	movss	DWORD PTR -284[rbp], xmm0
	mov	DWORD PTR -220[rbp], 0
	jmp	.L425
.L426:
	mov	eax, DWORD PTR -244[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -252[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -240[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -220[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, x[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR -284[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -284[rbp], xmm0
	add	DWORD PTR -220[rbp], 1
.L425:
	mov	eax, DWORD PTR -220[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jl	.L426
	mov	eax, DWORD PTR -240[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -244[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm0, DWORD PTR -284[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
	add	DWORD PTR -240[rbp], 1
.L424:
	mov	eax, DWORD PTR -240[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L427
	add	DWORD PTR -244[rbp], 1
.L423:
	mov	eax, DWORD PTR -244[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jl	.L428
	mov	eax, DWORD PTR -196[rbp]
	mov	DWORD PTR -252[rbp], eax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L429
.L448:
	mov	DWORD PTR -228[rbp], 0
	jmp	.L430
.L447:
	add	DWORD PTR -264[rbp], 1
	pxor	xmm0, xmm0
	movss	DWORD PTR -288[rbp], xmm0
	mov	DWORD PTR -224[rbp], 0
	jmp	.L431
.L432:
	mov	eax, DWORD PTR -224[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -232[rbp]
	cdqe
	imul	rax, rax, 90
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, va[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -228[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -252[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	imul	rdx, rdx, 8100
	imul	rax, rax, 90
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, vb[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mulss	xmm0, xmm1
	movss	xmm1, DWORD PTR -288[rbp]
	addss	xmm0, xmm1
	movss	DWORD PTR -288[rbp], xmm0
	add	DWORD PTR -224[rbp], 1
.L431:
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L432
	movss	xmm0, DWORD PTR -292[rbp]
	mulss	xmm0, DWORD PTR -288[rbp]
	movss	xmm1, DWORD PTR -288[rbp]
	mulss	xmm0, xmm1
	movss	DWORD PTR -288[rbp], xmm0
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -232[rbp]
	add	eax, edx
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -196[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -228[rbp]
	add	eax, edx
	mov	DWORD PTR -180[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, e[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, e[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	subss	xmm0, xmm1
	movss	DWORD PTR -176[rbp], xmm0
	movss	xmm1, DWORD PTR amin[rip]
	movss	xmm0, DWORD PTR -288[rbp]
	comiss	xmm0, xmm1
	jb	.L433
	movss	xmm1, DWORD PTR fr1[rip]
	movss	xmm0, DWORD PTR -176[rbp]
	comiss	xmm0, xmm1
	jb	.L433
	movss	xmm0, DWORD PTR fr2[rip]
	comiss	xmm0, DWORD PTR -176[rbp]
	jb	.L433
	mov	eax, 1
	jmp	.L437
.L433:
	mov	eax, 0
.L437:
	mov	DWORD PTR -172[rbp], eax
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jle	.L438
	mov	eax, DWORD PTR -260[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	cmp	DWORD PTR -264[rbp], eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -212[rbp], eax
	jmp	.L439
.L438:
	mov	DWORD PTR -212[rbp], 0
.L439:
	cmp	DWORD PTR -172[rbp], 0
	jne	.L440
	cmp	DWORD PTR -212[rbp], 0
	je	.L441
.L440:
	mov	eax, DWORD PTR listtransitions[rip]
	test	eax, eax
	je	.L442
	cmp	DWORD PTR -212[rbp], 0
	je	.L443
	mov	BYTE PTR -297[rbp], 42
	jmp	.L444
.L443:
	mov	BYTE PTR -297[rbp], 32
.L444:
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -288[rbp]
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, DWORD PTR -176[rbp]
	movq	rcx, xmm5
	mov	eax, DWORD PTR -180[rbp]
	lea	edi, 1[rax]
	mov	eax, DWORD PTR -184[rbp]
	lea	esi, 1[rax]
	movsx	edx, BYTE PTR -297[rbp]
	mov	eax, DWORD PTR -264[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rcx
	mov	r8d, edi
	mov	ecx, esi
	mov	esi, eax
	lea	rdi, .LC73[rip]
	mov	eax, 2
	call	printf@PLT
.L442:
	cmp	DWORD PTR -212[rbp], 0
	je	.L445
	add	DWORD PTR -260[rbp], 1
.L445:
	mov	eax, DWORD PTR clines[rip]
	cmp	eax, 16382
	jg	.L446
	mov	eax, DWORD PTR clines[rip]
	add	eax, 1
	mov	DWORD PTR clines[rip], eax
.L446:
	mov	eax, DWORD PTR clines[rip]
	cmp	eax, 16383
	jg	.L441
	mov	eax, DWORD PTR clines[rip]
	mov	edx, DWORD PTR -264[rbp]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, lin[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	eax, DWORD PTR clines[rip]
	mov	edx, DWORD PTR -184[rbp]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nkal[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	eax, DWORD PTR clines[rip]
	mov	edx, DWORD PTR -180[rbp]
	mov	ecx, edx
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nkbl[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	eax, DWORD PTR clines[rip]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR -176[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
	mov	eax, DWORD PTR clines[rip]
	cdqe
	add	rax, 16384
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR -288[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
.L441:
	add	DWORD PTR -228[rbp], 1
.L430:
	mov	eax, DWORD PTR -228[rbp]
	cmp	eax, DWORD PTR -188[rbp]
	jl	.L447
	add	DWORD PTR -232[rbp], 1
.L429:
	mov	eax, DWORD PTR -232[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jl	.L448
.L414:
	mov	eax, DWORD PTR -236[rbp]
	add	eax, 1
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nijs[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	sub	eax, 2
	cmp	DWORD PTR -248[rbp], eax
	jl	.L449
.L410:
	add	DWORD PTR -236[rbp], 1
.L409:
	mov	eax, DWORD PTR irow[rip]
	cmp	DWORD PTR -236[rbp], eax
	jl	.L450
	mov	eax, DWORD PTR clines[rip]
	add	eax, 1
	mov	DWORD PTR clines[rip], eax
	mov	eax, DWORD PTR clines[rip]
	cmp	eax, 16382
	jg	.L451
	mov	DWORD PTR -276[rbp], 0
	jmp	.L452
.L458:
	mov	DWORD PTR -256[rbp], -1
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	DWORD PTR -296[rbp], xmm0
	mov	eax, DWORD PTR -276[rbp]
	add	eax, 1
	mov	DWORD PTR -272[rbp], eax
	jmp	.L453
.L456:
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rdx+rax]
	comiss	xmm0, DWORD PTR -296[rbp]
	jbe	.L454
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	DWORD PTR -296[rbp], xmm0
	mov	eax, DWORD PTR -272[rbp]
	mov	DWORD PTR -256[rbp], eax
.L454:
	add	DWORD PTR -272[rbp], 1
.L453:
	mov	eax, DWORD PTR clines[rip]
	cmp	DWORD PTR -272[rbp], eax
	jl	.L456
	cmp	DWORD PTR -256[rbp], -1
	je	.L457
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	DWORD PTR -204[rbp], xmm0
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	DWORD PTR [rdx+rax], xmm0
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR -204[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	add	rax, 16384
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rdx+rax]
	movss	DWORD PTR -204[rbp], xmm0
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	add	rax, 16384
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	add	rax, 16384
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	DWORD PTR [rdx+rax], xmm0
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	add	rax, 16384
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR -204[rbp]
	movss	DWORD PTR [rdx+rax], xmm0
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, lin[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -200[rbp], eax
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, lin[rip]
	movzx	eax, WORD PTR [rdx+rax]
	mov	edx, DWORD PTR -276[rbp]
	movsx	rdx, edx
	lea	rcx, [rdx+rdx]
	lea	rdx, lin[rip]
	mov	WORD PTR [rcx+rdx], ax
	mov	eax, DWORD PTR -200[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, lin[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nkal[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -200[rbp], eax
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nkal[rip]
	movzx	eax, WORD PTR [rdx+rax]
	mov	edx, DWORD PTR -276[rbp]
	movsx	rdx, edx
	lea	rcx, [rdx+rdx]
	lea	rdx, nkal[rip]
	mov	WORD PTR [rcx+rdx], ax
	mov	eax, DWORD PTR -200[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nkal[rip]
	mov	WORD PTR [rdx+rax], cx
	mov	eax, DWORD PTR -276[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nkbl[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -200[rbp], eax
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nkbl[rip]
	movzx	eax, WORD PTR [rdx+rax]
	mov	edx, DWORD PTR -276[rbp]
	movsx	rdx, edx
	lea	rcx, [rdx+rdx]
	lea	rdx, nkbl[rip]
	mov	WORD PTR [rcx+rdx], ax
	mov	eax, DWORD PTR -200[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nkbl[rip]
	mov	WORD PTR [rdx+rax], cx
.L457:
	add	DWORD PTR -276[rbp], 1
.L452:
	mov	eax, DWORD PTR clines[rip]
	sub	eax, 1
	cmp	DWORD PTR -276[rbp], eax
	jl	.L458
	jmp	.L481
.L451:
	mov	eax, DWORD PTR clines[rip]
	mov	edx, 16384
	mov	esi, eax
	lea	rdi, .LC74[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC75[rip]
	call	puts@PLT
	mov	eax, 1
	jmp	.L473
.L481:
	lea	rdi, .LC72[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jle	.L461
	lea	rdi, .LC76[rip]
	mov	eax, 0
	call	printf@PLT
.L461:
	mov	edi, 10
	call	putchar@PLT
	lea	rax, -144[rbp]
	lea	rsi, path[rip]
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -144[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -144[rbp]
	add	rax, rdx
	movabs	rsi, 8462033298160971891
	mov	QWORD PTR [rax], rsi
	mov	DWORD PTR 8[rax], 1952539764
	mov	WORD PTR 12[rax], 97
	lea	rax, -144[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -152[rbp], rax
	mov	DWORD PTR -268[rbp], 0
	jmp	.L462
.L471:
	cmp	DWORD PTR -268[rbp], 0
	je	.L463
	movss	xmm0, DWORD PTR frgp[rip]
	pxor	xmm1, xmm1
	ucomiss	xmm0, xmm1
	jp	.L479
	pxor	xmm1, xmm1
	comiss	xmm0, xmm1
	je	.L463
.L479:
	mov	eax, DWORD PTR -268[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm1, DWORD PTR [rdx+rax]
	subss	xmm0, xmm1
	movss	xmm1, DWORD PTR frgp[rip]
	comiss	xmm0, xmm1
	jbe	.L463
	mov	edi, 10
	call	putchar@PLT
.L463:
	mov	BYTE PTR -297[rbp], 32
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jle	.L466
	mov	DWORD PTR -272[rbp], -1
.L468:
	add	DWORD PTR -272[rbp], 1
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, lin[rip]
	movzx	edx, WORD PTR [rdx+rax]
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	je	.L467
	mov	eax, DWORD PTR nl[rip]
	sub	eax, 1
	cmp	DWORD PTR -272[rbp], eax
	jl	.L468
.L467:
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, lin[rip]
	movzx	edx, WORD PTR [rdx+rax]
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, il[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cmp	dx, ax
	jne	.L466
	mov	BYTE PTR -297[rbp], 42
.L466:
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	add	rax, 16384
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rdx+rax]
	cvtss2sd	xmm0, xmm0
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm1, DWORD PTR [rdx+rax]
	pxor	xmm6, xmm6
	cvtss2sd	xmm6, xmm1
	movq	rdx, xmm6
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, nkbl[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cwde
	lea	r8d, 1[rax]
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, nkal[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cwde
	lea	ecx, 1[rax]
	movsx	eax, BYTE PTR -297[rbp]
	mov	esi, DWORD PTR -268[rbp]
	movsx	rsi, esi
	lea	rdi, [rsi+rsi]
	lea	rsi, lin[rip]
	movzx	esi, WORD PTR [rdi+rsi]
	movsx	esi, si
	add	esi, 1
	movapd	xmm1, xmm0
	movq	xmm0, rdx
	mov	edx, eax
	lea	rdi, .LC77[rip]
	mov	eax, 2
	call	printf@PLT
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jle	.L469
	cmp	BYTE PTR -297[rbp], 42
	jne	.L469
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	xmm0, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm1, DWORD PTR [rdx+rax]
	subss	xmm0, xmm1
	cvtss2sd	xmm0, xmm0
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, f[rip]
	movss	xmm1, DWORD PTR [rdx+rax]
	pxor	xmm7, xmm7
	cvtss2sd	xmm7, xmm1
	movq	rax, xmm7
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC78[rip]
	mov	eax, 2
	call	printf@PLT
.L469:
	mov	edi, 10
	call	putchar@PLT
	cmp	QWORD PTR -152[rbp], 0
	je	.L470
	movsx	edx, BYTE PTR -297[rbp]
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, lin[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cwde
	lea	edi, 1[rax]
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	add	rax, 16384
	lea	rcx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm0, DWORD PTR [rcx+rax]
	cvtss2sd	xmm0, xmm0
	mov	eax, DWORD PTR -268[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, clines[rip+4]
	movss	xmm1, DWORD PTR [rcx+rax]
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm1
	movq	rsi, xmm3
	mov	rax, QWORD PTR -152[rbp]
	mov	ecx, edx
	mov	edx, edi
	movapd	xmm1, xmm0
	movq	xmm0, rsi
	lea	rsi, .LC79[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
.L470:
	add	DWORD PTR -268[rbp], 1
.L462:
	mov	eax, DWORD PTR clines[rip]
	cmp	DWORD PTR -268[rbp], eax
	jl	.L471
	cmp	QWORD PTR -152[rbp], 0
	je	.L472
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	fclose@PLT
.L472:
	mov	eax, 0
.L473:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L474
	call	__stack_chk_fail@PLT
.L474:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	transt, .-transt
	.section	.rodata
.LC80:
	.string	"nucl"
.LC81:
	.string	"%5d"
.LC82:
	.string	"\n ns2"
.LC83:
	.string	"\nq2"
.LC84:
	.string	"matd = %d\n"
.LC85:
	.string	"    imrow    nijs+1    nss"
.LC86:
	.string	"%8d%8d%8d\n"
.LC87:
	.string	"    no       ll"
.LC88:
	.string	"%8d%8d\n"
	.text
	.globl	printhamilt
	.type	printhamilt, @function
printhamilt:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	lea	rdi, .LC80[rip]
	call	puts@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L483
.L484:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nucl[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	esi, eax
	lea	rdi, .LC81[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -8[rbp], 1
.L483:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L484
	lea	rdi, .LC82[rip]
	call	puts@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L485
.L488:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L486
.L487:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, ns2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	esi, eax
	lea	rdi, .LC81[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L486:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L487
	add	DWORD PTR -8[rbp], 1
.L485:
	mov	eax, DWORD PTR irow[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L488
	lea	rdi, .LC83[rip]
	call	puts@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L489
.L492:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L490
.L491:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	lea	rdx, [rax+rax]
	lea	rax, nq2[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	esi, eax
	lea	rdi, .LC81[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -4[rbp], 1
.L490:
	mov	eax, DWORD PTR ntype[rip]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L491
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -8[rbp], 1
.L489:
	mov	eax, DWORD PTR matd[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L492
	mov	eax, DWORD PTR matd[rip]
	mov	esi, eax
	lea	rdi, .LC84[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC85[rip]
	call	puts@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L493
.L494:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, nss[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, nijs[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cwde
	lea	esi, 1[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, imrow[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cwde
	mov	ecx, edx
	mov	edx, esi
	mov	esi, eax
	lea	rdi, .LC86[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -8[rbp], 1
.L493:
	mov	eax, DWORD PTR irow[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L494
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC87[rip]
	call	puts@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L495
.L496:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, ll[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rcx, [rax+rax]
	lea	rax, no[rip]
	movzx	eax, WORD PTR [rcx+rax]
	cwde
	mov	esi, eax
	lea	rdi, .LC88[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -8[rbp], 1
.L495:
	mov	eax, DWORD PTR nsbsb[rip]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L496
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	printhamilt, .-printhamilt
	.section	.rodata
.LC89:
	.string	"iterate"
.LC90:
	.string	"continue"
.LC91:
	.string	"transitions"
.LC92:
	.string	"iterations"
.LC93:
	.string	"iteration"
.LC94:
	.string	"energy"
.LC95:
	.string	"%d"
	.align 8
.LC96:
	.string	"ERROR: integer argument syntax error"
	.align 8
.LC97:
	.string	"ERROR: number of iteration out of limits"
	.align 8
.LC98:
	.string	"ERROR: continue not yet implemented"
	.text
	.globl	main
	.type	main, @function
main:
.LFB18:
	.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	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR do_continue[rip], 0
	mov	eax, DWORD PTR do_continue[rip]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR ni[rip], eax
	mov	DWORD PTR listtransitions[rip], 0
	mov	DWORD PTR listiterations[rip], 0
	mov	DWORD PTR listenergy[rip], 0
	pxor	xmm0, xmm0
	movss	DWORD PTR frgp[rip], xmm0
	mov	BYTE PTR path[rip], 0
	cmp	DWORD PTR -20[rbp], 1
	jle	.L498
	mov	DWORD PTR -12[rbp], 1
	jmp	.L499
.L511:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC89[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L500
	mov	DWORD PTR -8[rbp], 1
	jmp	.L501
.L500:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC90[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L502
	mov	DWORD PTR do_continue[rip], 1
	jmp	.L501
.L502:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC91[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L503
	mov	DWORD PTR listtransitions[rip], 1
	jmp	.L501
.L503:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC92[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L504
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC93[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L505
.L504:
	mov	DWORD PTR listiterations[rip], 1
	jmp	.L501
.L505:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC94[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L506
	mov	DWORD PTR listenergy[rip], 1
	jmp	.L501
.L506:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L507
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, path[rip]
	call	strcpy@PLT
	lea	rdi, path[rip]
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, path[rip]
	add	rax, rdx
	mov	WORD PTR [rax], 47
	jmp	.L501
.L507:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L501
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jg	.L501
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, ni[rip]
	lea	rsi, .LC95[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	je	.L508
	lea	rdi, .LC96[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	writestatus
	mov	eax, 1
	jmp	.L509
.L508:
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jle	.L510
	mov	eax, DWORD PTR ni[rip]
	cmp	eax, 9999
	jle	.L501
.L510:
	lea	rdi, .LC97[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	writestatus
	mov	eax, 1
	jmp	.L509
.L501:
	add	DWORD PTR -12[rbp], 1
.L499:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L511
.L498:
	cmp	DWORD PTR -8[rbp], 0
	jne	.L512
	mov	eax, DWORD PTR do_continue[rip]
	test	eax, eax
	je	.L513
.L512:
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	jne	.L515
	mov	DWORD PTR ni[rip], 32
	jmp	.L515
.L513:
	mov	eax, DWORD PTR ni[rip]
	test	eax, eax
	je	.L515
	mov	DWORD PTR -8[rbp], 1
.L515:
	mov	eax, DWORD PTR do_continue[rip]
	test	eax, eax
	je	.L516
	lea	rdi, .LC98[rip]
	call	puts@PLT
	mov	edi, 1
	mov	eax, 0
	call	writestatus
	mov	eax, 1
	jmp	.L509
.L516:
	mov	eax, 0
	call	init_spins
	test	eax, eax
	je	.L517
	mov	edi, 1
	mov	eax, 0
	call	writestatus
	mov	eax, 1
	jmp	.L509
.L517:
	mov	eax, 0
	call	hamilt
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L518
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	mov	eax, 0
	call	hamilt_error
	mov	edi, 1
	mov	eax, 0
	call	writestatus
	mov	eax, 1
	jmp	.L509
.L518:
	mov	eax, 0
	call	setup
	test	eax, eax
	je	.L519
	mov	edi, 1
	mov	eax, 0
	call	writestatus
	mov	eax, 1
	jmp	.L509
.L519:
	mov	eax, 0
	call	transt
	test	eax, eax
	je	.L520
	mov	edi, 1
	mov	eax, 0
	call	writestatus
	mov	eax, 1
	jmp	.L509
.L520:
	mov	edi, 0
	mov	eax, 0
	call	writestatus
	mov	eax, 0
.L509:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	main, .-main
	.section	.rodata
	.align 16
.LC37:
	.long	2147483647
	.long	0
	.long	0
	.long	0
	.align 16
.LC38:
	.long	-2147483648
	.long	0
	.long	0
	.long	0
	.align 4
.LC39:
	.long	1065353216
	.align 8
.LC46:
	.long	0
	.long	1071644672
	.align 8
.LC47:
	.long	0
	.long	1070596096
	.align 8
.LC48:
	.long	0
	.long	1069547520
	.align 4
.LC49:
	.long	1343554297
	.align 8
.LC50:
	.long	1202590843
	.long	1065646817
	.align 8
.LC56:
	.long	-1998362383
	.long	1055193269
	.align 4
.LC57:
	.long	942130604
	.align 4
.LC58:
	.long	1065353552
	.align 8
.LC59:
	.long	-1998362383
	.long	1057290421
	.align 8
.LC60:
	.long	0
	.long	1074790400
	.align 16
.LC61:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC62:
	.long	1992864825
	.long	1072078782
	.align 8
.LC63:
	.long	0
	.long	1072693248
	.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	"331310.c"
	.text
	.comm	corr,128,4
	.comm	bv,128,4
	.comm	a,256,4
	.comm	w,32,4
	.comm	ns2,1296,4
	.comm	nq2,8208,4
	.comm	nucl,16,4
	.comm	iso,16,4
	.comm	nucname,8,4
	.comm	nijs,162,4
	.comm	ll,128,4
	.comm	no,128,4
	.comm	nss,160,4
	.comm	va,32400,4
	.comm	x,32400,4
	.comm	iq,16,4
	.comm	il,402,4
	.comm	e,2048,4
	.comm	ia,528,4
	.comm	ib,528,4
	.comm	f,804,4
	.comm	ntype,4,4
	.comm	ntypem,4,4
	.comm	matd,4,4
	.comm	nsbsb,4,4
	.comm	dev,4,4
	.comm	nos,4,4
	.comm	ni,4,4
	.comm	vb,2073600,4
	.comm	spinsystemstring,80,4
	.comm	er1,4,4
	.comm	er2,4,4
	.comm	frgp,4,4
	.comm	nl,4,4
	.comm	amin,4,4
	.comm	fr1,4,4
	.comm	fr2,4,4
	.comm	js,4,4
	.comm	irow,4,4
	.comm	jj,4,4
	.comm	na,4,4
	.comm	lul,4,4
	.comm	kcurr,4,4
	.comm	jjs,4,4
	.comm	moa,4,4
	.comm	iter,4,4
	.comm	nconv,4,4
	.comm	do_continue,4,4
	.comm	listiterations,4,4
	.comm	dcv,128,4
	.comm	listtransitions,4,4
	.comm	listenergy,4,4
	.comm	imrow,160,4
	.comm	nt2,512,4
	.comm	lin,32768,4
	.comm	nkal,32768,4
	.comm	nkbl,32768,4
	.comm	clines,131076,4
	.comm	d,4096,4
	.comm	y,4096,4
	.comm	path,128,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Spin system %s\012\000"
	.global	__aeabi_f2d
	.align	2
.LC1:
	.ascii	"%c %16.2f\012\000"
	.align	2
.LC2:
	.ascii	"J%c%c %16.4f\012\000"
	.text
	.align	2
	.global	printparams
	.syntax unified
	.arm
	.fpu softvfp
	.type	printparams, %function
printparams:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	ldr	r1, .L8
	ldr	r0, .L8+4
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L2
.L3:
	ldr	r2, .L8+8
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r4, r3
	ldr	r2, .L8+12
	ldr	r3, [fp, #-20]
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r1, r4
	ldr	r0, .L8+16
	bl	printf
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L2:
	ldr	r3, .L8+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L3
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L4
.L7:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L5
.L6:
	ldr	r2, .L8+8
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r4, r3
	ldr	r2, .L8+8
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r5, r3
	ldr	r1, .L8+24
	ldr	r3, [fp, #-20]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r5
	mov	r1, r4
	ldr	r0, .L8+28
	bl	printf
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L5:
	ldr	r3, .L8+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L6
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L4:
	ldr	r3, .L8+20
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L7
	nop
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L9:
	.align	2
.L8:
	.word	spinsystemstring
	.word	.LC0
	.word	nucname
	.word	w
	.word	.LC1
	.word	ntype
	.word	a
	.word	.LC2
	.size	printparams, .-printparams
	.section	.rodata
	.align	2
.LC3:
	.ascii	"spini.outpar\000"
	.align	2
.LC4:
	.ascii	"w\000"
	.align	2
.LC5:
	.ascii	"%c   %14.4f\012\000"
	.align	2
.LC6:
	.ascii	"J%c%c %14.4f\012\000"
	.align	2
.LC7:
	.ascii	"ERROR: cannot open file %s\012\000"
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	saveparams
	.syntax unified
	.arm
	.fpu softvfp
	.type	saveparams, %function
saveparams:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #152
	ldr	r3, .L22
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #144
	ldr	r1, .L22+4
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #144
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #144
	add	r3, r3, r2
	ldr	r2, .L22+8
	mov	r0, r3
	mov	r1, r2
	mov	r3, #13
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #144
	ldr	r1, .L22+12
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-148]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L11
	mov	r3, #0
	str	r3, [fp, #-156]
	b	.L12
.L13:
	ldr	r2, .L22+16
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r4, r3
	ldr	r2, .L22+20
	ldr	r3, [fp, #-156]
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r4
	ldr	r1, .L22+24
	ldr	r0, [fp, #-148]
	bl	fprintf
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-156]
.L12:
	ldr	r3, .L22+28
	ldr	r3, [r3]
	ldr	r2, [fp, #-156]
	cmp	r2, r3
	blt	.L13
	mov	r3, #0
	str	r3, [fp, #-156]
	b	.L14
.L17:
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-152]
	b	.L15
.L16:
	ldr	r2, .L22+16
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r4, r3
	ldr	r2, .L22+16
	ldr	r3, [fp, #-152]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r5, r3
	ldr	r1, .L22+32
	ldr	r3, [fp, #-156]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-152]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r3, r5
	mov	r2, r4
	ldr	r1, .L22+36
	ldr	r0, [fp, #-148]
	bl	fprintf
	ldr	r3, [fp, #-152]
	add	r3, r3, #1
	str	r3, [fp, #-152]
.L15:
	ldr	r3, .L22+28
	ldr	r3, [r3]
	ldr	r2, [fp, #-152]
	cmp	r2, r3
	blt	.L16
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	str	r3, [fp, #-156]
.L14:
	ldr	r3, .L22+28
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-156]
	cmp	r2, r3
	blt	.L17
	ldr	r0, [fp, #-148]
	bl	fclose
	mov	r3, #0
	b	.L20
.L11:
	sub	r3, fp, #144
	mov	r1, r3
	ldr	r0, .L22+40
	bl	printf
	mov	r3, #1
.L20:
	ldr	r2, .L22
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L21
	bl	__stack_chk_fail
.L21:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L23:
	.align	2
.L22:
	.word	.LC8
	.word	path
	.word	.LC3
	.word	.LC4
	.word	nucname
	.word	w
	.word	.LC5
	.word	ntype
	.word	a
	.word	.LC6
	.word	.LC7
	.size	saveparams, .-saveparams
	.section	.rodata
	.align	2
.LC9:
	.ascii	"spins.stat\000"
	.align	2
.LC10:
	.ascii	"w+\000"
	.align	2
.LC11:
	.ascii	"%d\012\000"
	.align	2
.LC12:
	.ascii	"%g\012\000"
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	writestatus
	.syntax unified
	.arm
	.fpu softvfp
	.type	writestatus, %function
writestatus:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-144]
	ldr	r3, .L27
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #136
	ldr	r1, .L27+4
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #136
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #136
	add	r3, r3, r2
	ldr	r2, .L27+8
	mov	r0, r3
	mov	r1, r2
	mov	r3, #11
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #136
	ldr	r1, .L27+12
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	beq	.L25
	ldr	r2, [fp, #-144]
	ldr	r1, .L27+16
	ldr	r0, [fp, #-140]
	bl	fprintf
	ldr	r3, .L27+20
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L27+16
	ldr	r0, [fp, #-140]
	bl	fprintf
	ldr	r3, .L27+24
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L27+16
	ldr	r0, [fp, #-140]
	bl	fprintf
	ldr	r3, .L27+28
	ldr	r3, [r3]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L27+32
	ldr	r0, [fp, #-140]
	bl	fprintf
	ldr	r0, [fp, #-140]
	bl	fclose
.L25:
	nop
	ldr	r2, .L27
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L26
	bl	__stack_chk_fail
.L26:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L28:
	.align	2
.L27:
	.word	.LC13
	.word	path
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	nconv
	.word	iter
	.word	er2
	.word	.LC12
	.size	writestatus, .-writestatus
	.section	.rodata
	.align	2
.LC14:
	.ascii	"spins.inpar\000"
	.align	2
.LC15:
	.ascii	"r\000"
	.align	2
.LC16:
	.ascii	"%f,%f,%f\012\000"
	.align	2
.LC17:
	.ascii	"ERROR: cannot read 'amin,fr1,fr2' from %s\012\000"
	.align	2
.LC18:
	.ascii	"%s\012\000"
	.align	2
.LC19:
	.ascii	"ERROR: cannot read spin system type from %s\012\000"
	.align	2
.LC20:
	.ascii	"ERROR: J is not a legal nucleus\000"
	.align	2
.LC21:
	.ascii	"ERROR: too many non equivalent spins\000"
	.align	2
.LC22:
	.ascii	"ERROR: illegal syntax in spin system type\000"
	.align	2
.LC23:
	.ascii	"ERROR: minimum of two not equivalent spins required"
	.ascii	"\000"
	.align	2
.LC24:
	.ascii	"%e\012\000"
	.align	2
.LC25:
	.ascii	"ERROR: chemical shift w[%d] input error\012\000"
	.align	2
.LC26:
	.ascii	"%e,\000"
	.align	2
.LC27:
	.ascii	"ERROR: coupling constant a[%d][%d] input error\012\000"
	.align	2
.LC28:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	init_spins
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_spins, %function
init_spins:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #152
	ldr	r3, .L68
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r4, #0
	b	.L30
.L33:
	ldr	r2, .L68+4
	mov	r3, r4
	lsl	r3, r3, #3
	add	r3, r3, r4
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]	@ float
	ldr	r2, .L68+8
	lsl	r3, r4, #1
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r2, .L68+12
	lsl	r3, r4, #1
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	mov	r5, #0
	b	.L31
.L32:
	ldr	r2, .L68+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]	@ float
	add	r5, r5, #1
.L31:
	cmp	r5, #7
	ble	.L32
	add	r4, r4, #1
.L30:
	cmp	r4, #7
	ble	.L33
	sub	r3, fp, #144
	ldr	r1, .L68+16
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #144
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #144
	add	r3, r3, r2
	ldr	r2, .L68+20
	mov	r0, r3
	mov	r1, r2
	mov	r3, #12
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #144
	ldr	r1, .L68+24
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	beq	.L34
	ldr	r3, .L68+28
	str	r3, [sp]
	ldr	r3, .L68+32
	ldr	r2, .L68+36
	ldr	r1, .L68+40
	ldr	r0, [fp, #-152]
	bl	__isoc99_fscanf
	mov	r3, r0
	cmp	r3, #3
	beq	.L35
	sub	r3, fp, #144
	mov	r1, r3
	ldr	r0, .L68+44
	bl	printf
	ldr	r0, [fp, #-152]
	bl	fclose
	mov	r3, #1
	b	.L65
.L35:
	ldr	r2, .L68+48
	ldr	r1, .L68+52
	ldr	r0, [fp, #-152]
	bl	__isoc99_fscanf
	mov	r3, r0
	cmp	r3, #1
	beq	.L37
	sub	r3, fp, #144
	mov	r1, r3
	ldr	r0, .L68+56
	bl	printf
	ldr	r0, [fp, #-152]
	bl	fclose
	mov	r3, #1
	b	.L65
.L37:
	mov	r4, #0
	ldr	r3, .L68+60
	mov	r2, #0
	str	r2, [r3]
	b	.L38
.L49:
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L39
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	cmp	r3, #122
	bhi	.L39
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	sub	r3, r3, #32
	and	r2, r3, #255
	ldr	r3, .L68+48
	strb	r2, [r3, r4]
.L39:
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L40
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L40
	ldr	r3, .L68+60
	ldr	r3, [r3]
	ldr	r2, .L68+48
	ldrb	r1, [r2, r4]	@ zero_extendqisi2
	ldr	r2, .L68+64
	strb	r1, [r2, r3]
	ldr	r3, .L68+60
	ldr	r3, [r3]
	ldr	r2, .L68+64
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	cmp	r3, #74
	bne	.L41
	ldr	r0, .L68+68
	bl	puts
	mov	r3, #1
	b	.L65
.L41:
	ldr	r3, .L68+60
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L42
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r2, .L68+48
	ldr	r3, [fp, #-156]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r1, r3
	cmp	r3, #1
	bne	.L43
	ldr	r3, .L68+60
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, .L68+60
	ldr	r3, [r3]
	ldr	r1, .L68+12
	lsl	r2, r2, #1
	add	r2, r1, r2
	ldrsh	r2, [r2]
	ldr	r1, .L68+12
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	b	.L44
.L43:
	ldr	r3, .L68+60
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L68+12
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L68+60
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L68+12
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
.L44:
	str	r4, [fp, #-156]
	b	.L45
.L42:
	ldr	r3, .L68+60
	ldr	r3, [r3]
	ldr	r2, .L68+12
	lsl	r3, r3, #1
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	str	r4, [fp, #-156]
.L45:
	add	r4, r4, #1
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	cmp	r3, #48
	bls	.L46
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L46
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #48
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L68+60
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L68+8
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	add	r4, r4, #1
	b	.L47
.L46:
	ldr	r3, .L68+60
	ldr	r3, [r3]
	ldr	r2, .L68+8
	lsl	r3, r3, #1
	add	r3, r2, r3
	mov	r2, #1
	strh	r2, [r3]	@ movhi
.L47:
	ldr	r3, .L68+60
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L68+60
	str	r3, [r2]
	ldr	r3, .L68+60
	ldr	r3, [r3]
	cmp	r3, #8
	ble	.L38
	ldr	r0, .L68+72
	bl	puts
	ldr	r0, [fp, #-152]
	bl	fclose
	mov	r3, #1
	b	.L65
.L40:
	ldr	r0, .L68+76
	bl	puts
	ldr	r0, [fp, #-152]
	bl	fclose
	mov	r3, #1
	b	.L65
.L38:
	ldr	r3, .L68+48
	ldrb	r3, [r3, r4]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L49
	ldr	r3, .L68+60
	ldr	r3, [r3]
	cmp	r3, #1
	bgt	.L50
	ldr	r0, .L68+80
	bl	puts
	ldr	r0, [fp, #-152]
	bl	fclose
	mov	r3, #1
	b	.L65
.L50:
	mov	r4, #0
	b	.L51
.L53:
	lsl	r3, r4, #2
	ldr	r2, .L68+84
	add	r3, r3, r2
	mov	r2, r3
	ldr	r1, .L68+88
	ldr	r0, [fp, #-152]
	bl	__isoc99_fscanf
	mov	r3, r0
	cmp	r3, #1
	beq	.L52
	mov	r1, r4
	ldr	r0, .L68+92
	bl	printf
	ldr	r0, [fp, #-152]
	bl	fclose
	mov	r3, #1
	b	.L65
.L52:
	add	r4, r4, #1
.L51:
	ldr	r3, .L68+60
	ldr	r3, [r3]
	cmp	r4, r3
	blt	.L53
	mov	r4, #0
	b	.L54
.L61:
	add	r5, r4, #1
	b	.L55
.L58:
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #2
	ldr	r2, .L68+4
	add	r3, r3, r2
	mov	r2, r3
	ldr	r1, .L68+96
	ldr	r0, [fp, #-152]
	bl	__isoc99_fscanf
	mov	r3, r0
	cmp	r3, #1
	beq	.L56
	mov	r2, r5
	mov	r1, r4
	ldr	r0, .L68+100
	bl	printf
	ldr	r0, [fp, #-152]
	bl	fclose
	mov	r3, #1
	b	.L65
.L56:
	ldr	r2, .L68+12
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L68+12
	lsl	r3, r5, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	bne	.L57
	ldr	r2, .L68+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	ldr	r2, [r2, r3, lsl #2]	@ float
	ldr	r1, .L68+4
	lsl	r3, r5, #3
	add	r3, r3, r4
	str	r2, [r1, r3, lsl #2]	@ float
.L57:
	add	r5, r5, #1
.L55:
	ldr	r3, .L68+60
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r5, r3
	blt	.L58
	ldr	r3, .L68+60
	ldr	r3, [r3]
	sub	r5, r3, #1
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #2
	ldr	r2, .L68+4
	add	r3, r3, r2
	mov	r2, r3
	ldr	r1, .L68+88
	ldr	r0, [fp, #-152]
	bl	__isoc99_fscanf
	mov	r3, r0
	cmp	r3, #1
	beq	.L59
	mov	r2, r5
	mov	r1, r4
	ldr	r0, .L68+100
	bl	printf
	ldr	r0, [fp, #-152]
	bl	fclose
	mov	r3, #1
	b	.L65
.L59:
	ldr	r2, .L68+12
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L68+12
	lsl	r3, r5, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	bne	.L60
	ldr	r2, .L68+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	ldr	r2, [r2, r3, lsl #2]	@ float
	ldr	r1, .L68+4
	lsl	r3, r5, #3
	add	r3, r3, r4
	str	r2, [r1, r3, lsl #2]	@ float
.L60:
	add	r4, r4, #1
.L54:
	ldr	r3, .L68+60
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r4, r3
	blt	.L61
	bl	printparams
	ldr	r3, .L68+104
	mov	r2, #1
	str	r2, [r3]
	ldr	r0, [fp, #-152]
	bl	fclose
	ldr	r3, .L68+108
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L63
	b	.L67
.L34:
	sub	r3, fp, #144
	mov	r1, r3
	ldr	r0, .L68+112
	bl	printf
	mov	r3, #1
	b	.L65
.L67:
	bl	setiteration1
	str	r0, [fp, #-148]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L64
	ldr	r3, [fp, #-148]
	b	.L65
.L64:
	bl	setiteration2
	str	r0, [fp, #-148]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	beq	.L63
	ldr	r3, [fp, #-148]
	b	.L65
.L63:
	mov	r3, #0
.L65:
	ldr	r2, .L68
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L66
	bl	__stack_chk_fail
.L66:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L69:
	.align	2
.L68:
	.word	.LC28
	.word	a
	.word	nucl
	.word	iso
	.word	path
	.word	.LC14
	.word	.LC15
	.word	fr2
	.word	fr1
	.word	amin
	.word	.LC16
	.word	.LC17
	.word	spinsystemstring
	.word	.LC18
	.word	.LC19
	.word	ntype
	.word	nucname
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	w
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	nos
	.word	ni
	.word	.LC7
	.size	init_spins, .-init_spins
	.section	.rodata
	.align	2
.LC29:
	.ascii	"matrix ia:\000"
	.align	2
.LC30:
	.ascii	"[%2d]:  \000"
	.align	2
.LC31:
	.ascii	"%10d\000"
	.align	2
.LC32:
	.ascii	"matrix ib:\000"
	.text
	.align	2
	.global	print_iaib
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_iaib, %function
print_iaib:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r0, .L79
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L71
.L74:
	ldr	r1, [fp, #-12]
	ldr	r0, .L79+4
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L72
.L73:
	ldr	r1, .L79+8
	ldr	r3, [fp, #-12]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r0, .L79+12
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L72:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	ble	.L73
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L71:
	ldr	r3, .L79+16
	ldr	r3, [r3]
	ldr	r2, .L79+16
	ldr	r2, [r2]
	mul	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L74
	ldr	r0, .L79+20
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L75
.L78:
	ldr	r1, [fp, #-12]
	ldr	r0, .L79+4
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L76
.L77:
	ldr	r1, .L79+24
	ldr	r3, [fp, #-12]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r0, .L79+12
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L76:
	ldr	r3, [fp, #-8]
	cmp	r3, #7
	ble	.L77
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L75:
	ldr	r3, .L79+16
	ldr	r3, [r3]
	ldr	r2, .L79+16
	ldr	r2, [r2]
	mul	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L78
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L80:
	.align	2
.L79:
	.word	.LC29
	.word	.LC30
	.word	ia
	.word	.LC31
	.word	ntype
	.word	.LC32
	.word	ib
	.size	print_iaib, .-print_iaib
	.section	.rodata
	.align	2
.LC33:
	.ascii	"spini.indata\000"
	.align	2
.LC34:
	.ascii	"%d,%f\012\000"
	.align	2
.LC35:
	.ascii	"ERROR: too many assigned lines, maximum=%d\012\000"
	.align	2
.LC36:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	setiteration2
	.syntax unified
	.arm
	.fpu softvfp
	.type	setiteration2, %function
setiteration2:
	@ args = 0, pretend = 0, frame = 160
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #160
	ldr	r3, .L95
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #144
	ldr	r1, .L95+4
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #144
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #144
	add	r3, r3, r2
	ldr	r2, .L95+8
	mov	r0, r3
	mov	r1, r2
	mov	r3, #13
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #144
	ldr	r1, .L95+12
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-152]
	cmp	r3, #0
	beq	.L82
	mvn	r3, #0
	str	r3, [fp, #-164]
.L92:
	sub	r3, fp, #168
	sub	r2, fp, #172
	ldr	r1, .L95+16
	ldr	r0, [fp, #-152]
	bl	__isoc99_fscanf
	mov	r3, r0
	cmp	r3, #2
	beq	.L83
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	ldr	r2, .L95+20
	str	r3, [r2]
	mov	r4, #0
	b	.L84
.L89:
	ldr	r2, .L95+24
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-160]
	mvn	r3, #0
	str	r3, [fp, #-156]
	add	r5, r4, #1
	b	.L85
.L87:
	ldr	r2, .L95+24
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-160]
	cmp	r3, r2
	ble	.L86
	ldr	r2, .L95+24
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-160]
	str	r5, [fp, #-156]
.L86:
	add	r5, r5, #1
.L85:
	ldr	r3, .L95+20
	ldr	r3, [r3]
	cmp	r5, r3
	blt	.L87
	ldr	r3, [fp, #-156]
	cmn	r3, #1
	beq	.L88
	ldr	r3, .L95+28
	ldr	r3, [r3, r4, lsl #2]	@ float
	str	r3, [fp, #-148]	@ float
	ldr	r2, .L95+28
	ldr	r3, [fp, #-156]
	ldr	r3, [r2, r3, lsl #2]	@ float
	ldr	r2, .L95+28
	str	r3, [r2, r4, lsl #2]	@ float
	ldr	r1, .L95+28
	ldr	r3, [fp, #-156]
	ldr	r2, [fp, #-148]	@ float
	str	r2, [r1, r3, lsl #2]	@ float
	ldr	r2, .L95+24
	lsl	r3, r4, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r5, r3
	ldr	r3, [fp, #-160]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L95+24
	lsl	r3, r4, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	lsl	r3, r5, #16
	asr	r2, r3, #16
	ldr	r1, .L95+24
	ldr	r3, [fp, #-156]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
.L88:
	add	r4, r4, #1
.L84:
	ldr	r3, .L95+20
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r4, r3
	blt	.L89
	mov	r3, #0
	b	.L93
.L83:
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r3, #199
	ble	.L91
	mov	r1, #200
	ldr	r0, .L95+32
	bl	printf
	mov	r3, #1
	b	.L93
.L91:
	ldr	r3, [fp, #-172]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L95+24
	ldr	r3, [fp, #-164]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r2, [fp, #-168]	@ float
	ldr	r1, .L95+28
	ldr	r3, [fp, #-164]
	str	r2, [r1, r3, lsl #2]	@ float
	b	.L92
.L82:
	sub	r3, fp, #144
	mov	r1, r3
	ldr	r0, .L95+36
	bl	printf
	mov	r3, #1
.L93:
	ldr	r2, .L95
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L94
	bl	__stack_chk_fail
.L94:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L96:
	.align	2
.L95:
	.word	.LC36
	.word	path
	.word	.LC33
	.word	.LC15
	.word	.LC34
	.word	nl
	.word	il
	.word	f
	.word	.LC35
	.word	.LC7
	.size	setiteration2, .-setiteration2
	.section	.rodata
	.align	2
.LC37:
	.ascii	"spini.inpar\000"
	.align	2
.LC38:
	.ascii	"%s %s\000"
	.align	2
.LC39:
	.ascii	"ERROR: illegal syntax in file %s\012\000"
	.align	2
.LC40:
	.ascii	"ERROR: illegal coupling constant syntax in file %s\012"
	.ascii	"\000"
	.align	2
.LC41:
	.ascii	"ERROR: assignment to non iterative parameter\000"
	.align	2
.LC42:
	.ascii	"ERROR: too many equal parameters\000"
	.align	2
.LC43:
	.ascii	"ERROR: assignment to unknown nucleus %c in file %s\012"
	.ascii	"\000"
	.align	2
.LC44:
	.ascii	"ERROR: unknown nucleus %c in file %s\012\000"
	.align	2
.LC45:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	setiteration1
	.syntax unified
	.arm
	.fpu softvfp
	.type	setiteration1, %function
setiteration1:
	@ args = 0, pretend = 0, frame = 584
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #584
	ldr	r3, .L150
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-584]
	b	.L98
.L101:
	mov	r3, #0
	str	r3, [fp, #-580]
	b	.L99
.L100:
	ldr	r1, .L150+4
	ldr	r3, [fp, #-584]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	mvn	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r1, .L150+8
	ldr	r3, [fp, #-584]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	mvn	r2, #0
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-580]
	add	r3, r3, #1
	str	r3, [fp, #-580]
.L99:
	ldr	r3, [fp, #-580]
	cmp	r3, #7
	ble	.L100
	ldr	r3, [fp, #-584]
	add	r3, r3, #1
	str	r3, [fp, #-584]
.L98:
	ldr	r3, [fp, #-584]
	cmp	r3, #31
	ble	.L101
	sub	r3, fp, #136
	ldr	r1, .L150+12
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #136
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #136
	add	r3, r3, r2
	ldr	r2, .L150+16
	mov	r0, r3
	mov	r1, r2
	mov	r3, #12
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #136
	ldr	r1, .L150+20
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-560]
	ldr	r3, [fp, #-560]
	cmp	r3, #0
	beq	.L102
	mov	r3, #0
	str	r3, [fp, #-568]
.L147:
	sub	r3, fp, #216
	sub	r2, fp, #296
	ldr	r1, .L150+24
	ldr	r0, [fp, #-560]
	bl	__isoc99_fscanf
	mov	r3, r0
	cmp	r3, #2
	beq	.L103
	ldr	r0, [fp, #-560]
	bl	fclose
	ldr	r2, .L150+28
	ldr	r3, [fp, #-568]
	str	r3, [r2]
	mov	r3, #0
	b	.L148
.L103:
	sub	r3, fp, #296
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L105
	sub	r3, fp, #136
	mov	r1, r3
	ldr	r0, .L150+32
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L105:
	mov	r3, #0
	str	r3, [fp, #-580]
	b	.L106
.L108:
	sub	r2, fp, #296
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L107
	sub	r2, fp, #296
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #122
	bhi	.L107
	sub	r2, fp, #296
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #32
	and	r1, r3, #255
	sub	r2, fp, #296
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
.L107:
	ldr	r3, [fp, #-580]
	add	r3, r3, #1
	str	r3, [fp, #-580]
.L106:
	sub	r3, fp, #296
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	ldr	r3, [fp, #-580]
	cmp	r2, r3
	bhi	.L108
	ldrb	r3, [fp, #-296]	@ zero_extendqisi2
	cmp	r3, #74
	bne	.L109
	sub	r3, fp, #296
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	cmp	r3, #2
	bhi	.L110
	sub	r3, fp, #136
	mov	r1, r3
	ldr	r0, .L150+36
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L110:
	mov	r3, #0
	str	r3, [fp, #-580]
	b	.L111
.L113:
	ldr	r3, [fp, #-580]
	add	r3, r3, #1
	str	r3, [fp, #-580]
.L111:
	ldr	r2, .L150+40
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-295]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L112
	ldr	r3, .L150+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-580]
	cmp	r2, r3
	blt	.L113
.L112:
	mov	r3, #0
	str	r3, [fp, #-576]
	b	.L114
.L116:
	ldr	r3, [fp, #-576]
	add	r3, r3, #1
	str	r3, [fp, #-576]
.L114:
	ldr	r2, .L150+40
	ldr	r3, [fp, #-576]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-294]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L115
	ldr	r3, .L150+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-576]
	cmp	r2, r3
	blt	.L116
.L115:
	ldr	r3, .L150+44
	ldr	r2, [r3]
	ldr	r3, [fp, #-580]
	add	r2, r2, r3
	ldr	r3, .L150+44
	ldr	r3, [r3]
	ldr	r1, [fp, #-576]
	mul	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-556]
	ldr	r2, .L150+40
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-295]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L117
	ldr	r2, .L150+40
	ldr	r3, [fp, #-576]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-294]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L117
	ldrb	r3, [fp, #-293]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L118
	ldr	r3, [fp, #-556]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3, #-544]
	ldr	r3, [fp, #-556]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-568]
	str	r2, [r3, #-548]
	ldr	r3, [fp, #-568]
	add	r3, r3, #1
	str	r3, [fp, #-568]
	ldr	r3, [fp, #-556]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r1, [r3, #-548]
	ldr	r3, [fp, #-556]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	sub	r3, r3, #1
	ldr	r2, [fp, #-580]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r0, .L150+4
	lsl	r1, r1, #3
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-556]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r1, [r3, #-548]
	ldr	r3, [fp, #-556]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	sub	r3, r3, #1
	ldr	r2, [fp, #-576]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r0, .L150+8
	lsl	r1, r1, #3
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	strh	r2, [r3]	@ movhi
	b	.L133
.L118:
	ldrb	r3, [fp, #-293]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L120
	sub	r3, fp, #296
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	cmp	r3, #7
	bne	.L121
	ldrb	r3, [fp, #-292]	@ zero_extendqisi2
	cmp	r3, #74
	beq	.L122
.L121:
	sub	r3, fp, #136
	mov	r1, r3
	ldr	r0, .L150+32
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L122:
	mov	r3, #0
	str	r3, [fp, #-572]
	b	.L123
.L125:
	ldr	r3, [fp, #-572]
	add	r3, r3, #1
	str	r3, [fp, #-572]
.L123:
	ldr	r2, .L150+40
	ldr	r3, [fp, #-572]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-291]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L124
	ldr	r3, .L150+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-572]
	cmp	r2, r3
	blt	.L125
.L124:
	mov	r3, #0
	str	r3, [fp, #-564]
	b	.L126
.L128:
	ldr	r3, [fp, #-564]
	add	r3, r3, #1
	str	r3, [fp, #-564]
.L126:
	ldr	r2, .L150+40
	ldr	r3, [fp, #-564]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-290]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L127
	ldr	r3, .L150+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-564]
	cmp	r2, r3
	blt	.L128
.L127:
	ldr	r2, .L150+40
	ldr	r3, [fp, #-572]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-291]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L129
	ldr	r2, .L150+40
	ldr	r3, [fp, #-564]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-290]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L129
	ldr	r3, .L150+44
	ldr	r2, [r3]
	ldr	r3, [fp, #-572]
	add	r2, r2, r3
	ldr	r3, .L150+44
	ldr	r3, [r3]
	ldr	r1, [fp, #-564]
	mul	r3, r1, r3
	add	r3, r2, r3
	str	r3, [fp, #-572]
	ldr	r2, [fp, #-572]
	ldr	r3, [fp, #-556]
	cmp	r2, r3
	ble	.L130
	ldr	r0, .L150+48
	bl	puts
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L130:
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	add	r2, r3, #1
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-544]
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	cmp	r3, #8
	ble	.L131
	ldr	r0, .L150+52
	bl	puts
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L131:
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r1, [r3, #-548]
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	sub	r3, r3, #1
	ldr	r2, [fp, #-580]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r0, .L150+4
	lsl	r1, r1, #3
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r1, [r3, #-548]
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	sub	r3, r3, #1
	ldr	r2, [fp, #-576]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r0, .L150+8
	lsl	r1, r1, #3
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	strh	r2, [r3]	@ movhi
	b	.L133
.L129:
	ldrb	r3, [fp, #-294]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #136
	mov	r2, r3
	ldr	r0, .L150+56
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L120:
	sub	r3, fp, #136
	mov	r1, r3
	ldr	r0, .L150+32
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L117:
	ldrb	r3, [fp, #-296]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #136
	mov	r2, r3
	ldr	r0, .L150+60
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L109:
	mov	r3, #0
	str	r3, [fp, #-580]
	b	.L134
.L136:
	ldr	r3, [fp, #-580]
	add	r3, r3, #1
	str	r3, [fp, #-580]
.L134:
	ldr	r2, .L150+40
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-296]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L135
	ldr	r3, .L150+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-580]
	cmp	r2, r3
	blt	.L136
.L135:
	ldr	r2, .L150+40
	ldr	r3, [fp, #-580]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-296]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L137
	ldrb	r3, [fp, #-295]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L138
	ldr	r3, [fp, #-580]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3, #-544]
	ldr	r3, [fp, #-580]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-568]
	str	r2, [r3, #-548]
	ldr	r3, [fp, #-568]
	add	r3, r3, #1
	str	r3, [fp, #-568]
	ldr	r3, [fp, #-580]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r1, [r3, #-548]
	ldr	r3, [fp, #-580]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	sub	r3, r3, #1
	ldr	r2, [fp, #-580]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r0, .L150+4
	lsl	r1, r1, #3
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	strh	r2, [r3]	@ movhi
	b	.L147
.L138:
	ldrb	r3, [fp, #-295]	@ zero_extendqisi2
	cmp	r3, #61
	bne	.L139
	sub	r3, fp, #296
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	cmp	r3, #3
	beq	.L140
	sub	r3, fp, #136
	mov	r1, r3
	ldr	r0, .L150+32
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L140:
	mov	r3, #0
	str	r3, [fp, #-572]
	b	.L141
.L143:
	ldr	r3, [fp, #-572]
	add	r3, r3, #1
	str	r3, [fp, #-572]
.L141:
	ldr	r2, .L150+40
	ldr	r3, [fp, #-572]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-294]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L142
	ldr	r3, .L150+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-572]
	cmp	r2, r3
	blt	.L143
.L142:
	ldr	r2, .L150+40
	ldr	r3, [fp, #-572]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-294]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L144
	ldr	r2, [fp, #-572]
	ldr	r3, [fp, #-580]
	cmp	r2, r3
	ble	.L145
	ldr	r0, .L150+48
	bl	puts
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L145:
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	add	r2, r3, #1
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-544]
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	cmp	r3, #8
	ble	.L146
	ldr	r0, .L150+52
	bl	puts
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L146:
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r1, [r3, #-548]
	ldr	r3, [fp, #-572]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-544]
	sub	r3, r3, #1
	ldr	r2, [fp, #-580]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r0, .L150+4
	lsl	r1, r1, #3
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	strh	r2, [r3]	@ movhi
	b	.L147
.L144:
	ldrb	r3, [fp, #-294]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #136
	mov	r2, r3
	ldr	r0, .L150+56
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L139:
	sub	r3, fp, #136
	mov	r1, r3
	ldr	r0, .L150+32
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L137:
	ldrb	r3, [fp, #-296]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #136
	mov	r2, r3
	ldr	r0, .L150+60
	bl	printf
	ldr	r0, [fp, #-560]
	bl	fclose
	mov	r3, #1
	b	.L148
.L133:
	b	.L147
.L102:
	sub	r3, fp, #136
	mov	r1, r3
	ldr	r0, .L150+64
	bl	printf
	mov	r3, #1
.L148:
	ldr	r2, .L150
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L149
	bl	__stack_chk_fail
.L149:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L151:
	.align	2
.L150:
	.word	.LC45
	.word	ia
	.word	ib
	.word	path
	.word	.LC37
	.word	.LC15
	.word	.LC38
	.word	nos
	.word	.LC39
	.word	.LC40
	.word	nucname
	.word	ntype
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC7
	.size	setiteration1, .-setiteration1
	.global	__aeabi_fcmpgt
	.global	__aeabi_fdiv
	.global	__aeabi_fmul
	.global	__aeabi_fsub
	.section	.rodata
	.align	2
.LC46:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	invert
	.syntax unified
	.arm
	.fpu softvfp
	.type	invert, %function
invert:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #144
	ldr	r3, .L180
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	ldr	r3, .L180+4
	ldr	r7, [r3]
	mov	r4, #0
	b	.L153
.L154:
	lsl	r3, r4, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	str	r4, [r3, #-132]
	add	r4, r4, #1
.L153:
	cmp	r4, r7
	blt	.L154
	mov	r5, #0
	b	.L155
.L169:
	mov	r6, r5
	ldr	r2, .L180+8
	mov	r3, #364
	mul	r3, r5, r3
	add	r3, r2, r3
	ldr	r9, [r3]	@ float
	sub	r8, r5, #1
	add	r3, r5, #1
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-164]
	cmp	r7, r3
	ble	.L156
	ldr	r4, [fp, #-164]
	b	.L157
.L160:
	ldr	r1, .L180+8
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r4
	ldr	r8, [r1, r3, lsl #2]	@ float
	bic	r3, r8, #-2147483648
	bic	r2, r9, #-2147483648
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L158
	mov	r6, r4
	mov	r9, r8
.L158:
	add	r4, r4, #1
.L157:
	cmp	r4, r7
	blt	.L160
.L156:
	mov	r4, #0
	b	.L161
.L162:
	ldr	r1, .L180+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	ldr	r3, [r1, r3, lsl #2]	@ float
	ldr	r2, .L180+12
	str	r3, [r2, r4, lsl #2]	@ float
	ldr	r1, .L180+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r5
	ldr	r1, [r1, r3, lsl #2]	@ float
	ldr	r0, .L180+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	str	r1, [r0, r3, lsl #2]	@ float
	ldr	r3, .L180+12
	ldr	r3, [r3, r4, lsl #2]	@ float
	eor	r3, r3, #-2147483648
	mov	r1, r9
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	ldr	r1, .L180+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r5
	str	r0, [r1, r3, lsl #2]	@ float
	ldr	r1, .L180+8
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r4
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r9
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	ldr	r1, .L180+8
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r4
	str	r0, [r1, r3, lsl #2]	@ float
	ldr	r1, .L180+8
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r4
	ldr	r3, [r1, r3, lsl #2]	@ float
	ldr	r2, .L180+16
	str	r3, [r2, r4, lsl #2]	@ float
	add	r4, r4, #1
.L161:
	cmp	r4, r7
	blt	.L162
	mov	r1, r9
	mov	r0, #1065353216
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L180+8
	mov	r3, #364
	mul	r3, r5, r3
	add	r3, r2, r3
	str	r1, [r3]	@ float
	lsl	r3, r5, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r4, [r3, #-132]
	lsl	r3, r6, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-132]
	lsl	r3, r5, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-132]
	lsl	r3, r6, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	str	r4, [r3, #-132]
	mov	r6, #0
	b	.L163
.L168:
	cmp	r5, r6
	beq	.L164
	mov	r4, #0
	b	.L165
.L167:
	cmp	r5, r4
	beq	.L166
	ldr	r1, .L180+8
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r4
	ldr	r8, [r1, r3, lsl #2]	@ float
	ldr	r3, .L180+16
	ldr	r3, [r3, r4, lsl #2]	@ float
	ldr	r2, .L180+12
	ldr	r2, [r2, r6, lsl #2]	@ float
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r8
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	ldr	r1, .L180+8
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r4
	str	r0, [r1, r3, lsl #2]	@ float
.L166:
	add	r4, r4, #1
.L165:
	cmp	r4, r7
	blt	.L167
.L164:
	add	r6, r6, #1
.L163:
	cmp	r6, r7
	blt	.L168
	add	r5, r5, #1
.L155:
	cmp	r5, r7
	blt	.L169
	mov	r5, #0
	b	.L170
.L177:
	lsl	r3, r5, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-132]
	cmp	r5, r3
	beq	.L171
	add	r4, r5, #1
	b	.L172
.L176:
	lsl	r3, r4, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-132]
	cmp	r5, r3
	bne	.L173
	lsl	r3, r5, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r3, [r3, #-132]
	str	r3, [fp, #-168]
	lsl	r3, r4, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [r3, #-132]
	lsl	r3, r5, #2
	sub	r1, fp, #28
	add	r3, r1, r3
	str	r2, [r3, #-132]
	lsl	r3, r4, #2
	sub	r2, fp, #28
	add	r3, r2, r3
	ldr	r2, [fp, #-168]
	str	r2, [r3, #-132]
	mov	r8, #0
	b	.L174
.L175:
	ldr	r1, .L180+8
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r8
	ldr	r3, [r1, r3, lsl #2]	@ float
	ldr	r2, .L180+12
	str	r3, [r2, r8, lsl #2]	@ float
	ldr	r1, .L180+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r8
	ldr	r1, [r1, r3, lsl #2]	@ float
	ldr	r0, .L180+8
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r8
	str	r1, [r0, r3, lsl #2]	@ float
	ldr	r3, .L180+12
	ldr	r1, [r3, r8, lsl #2]	@ float
	ldr	r0, .L180+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r8
	str	r1, [r0, r3, lsl #2]	@ float
	add	r8, r8, #1
.L174:
	cmp	r8, r7
	blt	.L175
.L173:
	add	r4, r4, #1
.L172:
	cmp	r4, r7
	blt	.L176
.L171:
	add	r5, r5, #1
.L170:
	cmp	r5, r7
	blt	.L177
	nop
	ldr	r2, .L180
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L178
	bl	__stack_chk_fail
.L178:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L181:
	.align	2
.L180:
	.word	.LC46
	.word	nos
	.word	va
	.word	dcv
	.word	corr
	.size	invert, .-invert
	.align	2
	.global	hamilt
	.syntax unified
	.arm
	.fpu softvfp
	.type	hamilt, %function
hamilt:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #44
	mov	r5, #0
	b	.L183
.L184:
	ldr	r2, .L221
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L221+4
	lsl	r3, r5, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	add	r5, r5, #1
.L183:
	ldr	r3, .L221+8
	ldr	r3, [r3]
	cmp	r5, r3
	blt	.L184
	mov	r4, #0
	ldr	r3, .L221+8
	ldr	r3, [r3]
	sub	r5, r3, #1
.L191:
	add	r4, r4, #1
	cmp	r4, #79
	ble	.L185
	mov	r3, #4
	b	.L186
.L185:
	mov	r5, #0
	b	.L187
.L188:
	sub	r3, r4, #1
	ldr	r2, .L221+4
	lsl	r3, r3, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L221+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	add	r5, r5, #1
.L187:
	ldr	r3, .L221+8
	ldr	r3, [r3]
	cmp	r5, r3
	blt	.L188
	ldr	r3, .L221+8
	ldr	r3, [r3]
	sub	r5, r3, #1
	ldr	r2, .L221+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L221+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r2, .L221+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #0
	bge	.L189
.L190:
	ldr	r2, .L221+4
	lsl	r3, r5, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L221+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	sub	r5, r5, #1
	ldr	r2, .L221+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L221+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r2, .L221+4
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #0
	bge	.L189
	cmp	r5, #0
	bne	.L190
.L189:
	ldr	r2, .L221+4
	lsl	r3, r4, #4
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #0
	bge	.L191
	ldr	r3, .L221+12
	str	r4, [r3]
	ldr	r3, .L221+16
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, .L221+20
	mvn	r2, #0
	str	r2, [r3]
.L219:
	ldr	r3, .L221+20
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L221+20
	str	r3, [r2]
	mov	r5, #0
	b	.L192
.L193:
	ldr	r3, .L221+20
	ldr	r3, [r3]
	ldr	r2, .L221+4
	lsl	r3, r3, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L221+24
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	add	r5, r5, #1
.L192:
	ldr	r3, .L221+8
	ldr	r3, [r3]
	cmp	r5, r3
	blt	.L193
	ldr	r4, [fp, #-48]
	ldr	r3, .L221+8
	ldr	r3, [r3]
	sub	r5, r3, #1
	b	.L194
.L199:
	add	r4, r4, #1
	mov	r5, #0
	b	.L195
.L196:
	sub	r3, r4, #1
	ldr	r2, .L221+24
	lsl	r3, r3, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L221+24
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	add	r5, r5, #1
.L195:
	ldr	r3, .L221+8
	ldr	r3, [r3]
	cmp	r5, r3
	blt	.L196
	ldr	r3, .L221+8
	ldr	r3, [r3]
	sub	r5, r3, #1
	ldr	r2, .L221+24
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L221+24
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r2, .L221+24
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r3, .L221+20
	ldr	r3, [r3]
	ldr	r2, .L221+4
	lsl	r3, r3, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r3, r1, r3
	cmp	r3, #0
	bge	.L197
.L198:
	ldr	r2, .L221+24
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L221+24
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	sub	r5, r5, #1
	ldr	r2, .L221+24
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #2
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L221+24
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r2, .L221+24
	lsl	r3, r4, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r3, .L221+20
	ldr	r3, [r3]
	ldr	r2, .L221+4
	lsl	r3, r3, #3
	add	r3, r3, r5
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r3, r1, r3
	cmp	r3, #0
	bge	.L197
	cmp	r5, #0
	bne	.L198
.L197:
	ldr	r2, .L221+24
	lsl	r3, r4, #4
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r3, .L221+20
	ldr	r3, [r3]
	ldr	r2, .L221+4
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r3, r1, r3
	cmp	r3, #0
	bge	.L194
	mvn	r5, #0
.L194:
	cmp	r5, #0
	bge	.L199
	lsl	r3, r4, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L221+20
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L221+28
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, .L221+20
	ldr	r3, [r3]
	ldr	r2, .L221+28
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #256
	ble	.L200
	mov	r3, #1
	b	.L186
.L200:
	ldr	r3, .L221+20
	ldr	r3, [r3]
	ldr	r2, .L221+28
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L201
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L202
.L201:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
.L202:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L203
.L206:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	add	r4, r2, r3
	ldr	r2, .L221+32
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L204
.L205:
	ldr	r2, .L221+32
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r0, .L221+24
	lsl	r1, r4, #3
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L221+32
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L204:
	ldr	r3, .L221+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L205
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L203:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L206
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L207
.L213:
	mov	r3, #1
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L208
.L212:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	add	r4, r2, r3
	ldr	r2, .L221+32
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	ldr	r1, .L221+32
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	bge	.L209
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r2, .L221+32
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	ldr	r2, .L221+32
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L221+32
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L221+32
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L210
.L211:
	ldr	r1, .L221+24
	lsl	r2, r4, #3
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-16]
	add	r3, r4, #1
	ldr	r1, .L221+24
	lsl	r2, r3, #3
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r2, [r3]
	ldr	r0, .L221+24
	lsl	r1, r4, #3
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	strh	r2, [r3]	@ movhi
	add	r3, r4, #1
	ldr	r2, [fp, #-16]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r0, .L221+24
	lsl	r1, r3, #3
	ldr	r3, [fp, #-28]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L210:
	ldr	r3, .L221+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L211
.L209:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L208:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L212
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L213
.L207:
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, .L221+16
	ldr	r2, [r3]
	ldr	r3, .L221+20
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L221+36
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, .L221+16
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L221+40
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L214
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L215
.L218:
	ldr	r2, .L221+32
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	ldr	r1, .L221+32
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	beq	.L216
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L221+16
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L221+44
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-32]
	cmp	r3, #90
	ble	.L217
	mov	r3, #2
	b	.L186
.L217:
	mvn	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, .L221+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L221+16
	str	r3, [r2]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L221+16
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L221+40
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
.L216:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L215:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L218
	ldr	r3, .L221+16
	ldr	r3, [r3]
	ldr	r2, .L221+44
	lsl	r3, r3, #1
	add	r3, r2, r3
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, .L221+20
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L221+48
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, .L221+16
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L221+16
	str	r3, [r2]
	ldr	r3, .L221+16
	ldr	r3, [r3]
	cmp	r3, #64
	ble	.L214
	mov	r3, #5
	b	.L186
.L214:
	ldr	r3, .L221+12
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, .L221+20
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L219
	ldr	r2, .L221+52
	ldr	r3, [fp, #-48]
	str	r3, [r2]
	ldr	r3, .L221+52
	ldr	r3, [r3]
	cmp	r3, #512
	ble	.L220
	mov	r3, #3
	b	.L186
.L220:
	ldr	r3, .L221+16
	ldr	r2, [r3]
	ldr	r3, .L221+12
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L221+36
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, .L221+16
	ldr	r3, [r3]
	ldr	r2, .L221+56
	str	r3, [r2]
	mov	r3, #0
.L186:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
.L222:
	.align	2
.L221:
	.word	nucl
	.word	ns2
	.word	ntype
	.word	irow
	.word	js
	.word	jj
	.word	nq2
	.word	imrow
	.word	nt2
	.word	nijs
	.word	ll
	.word	no
	.word	nss
	.word	matd
	.word	nsbsb
	.size	hamilt, .-hamilt
	.section	.rodata
	.align	2
.LC47:
	.ascii	"ERROR:Submatrix no %d has %d functions, max=%d\012\000"
	.align	2
.LC48:
	.ascii	"ERROR:Subsubmatrix no %d has %d functions, max=%d\012"
	.ascii	"\000"
	.align	2
.LC49:
	.ascii	"ERROR:The number of functions is %d, max=%d\012\000"
	.align	2
.LC50:
	.ascii	"ERROR:The number of submatrices is too big\000"
	.align	2
.LC51:
	.ascii	"ERROR:The number of subsubmatrices is too large\000"
	.align	2
.LC52:
	.ascii	"ERROR:Error condition in calculation of hamiltonian"
	.ascii	"\000"
	.text
	.align	2
	.global	hamilt_error
	.syntax unified
	.arm
	.fpu softvfp
	.type	hamilt_error, %function
hamilt_error:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L224
.L226:
	.word	.L230
	.word	.L229
	.word	.L228
	.word	.L227
	.word	.L225
.L230:
	ldr	r3, .L232
	ldr	r1, [r3]
	ldr	r3, .L232
	ldr	r3, [r3]
	ldr	r2, .L232+4
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r3, #256
	ldr	r0, .L232+8
	bl	printf
	b	.L231
.L229:
	ldr	r3, .L232+12
	ldr	r1, [r3]
	ldr	r3, .L232+12
	ldr	r3, [r3]
	ldr	r2, .L232+16
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	mov	r3, #90
	ldr	r0, .L232+20
	bl	printf
	b	.L231
.L228:
	ldr	r3, .L232+24
	ldr	r3, [r3]
	mov	r2, #512
	mov	r1, r3
	ldr	r0, .L232+28
	bl	printf
	b	.L231
.L227:
	ldr	r0, .L232+32
	bl	puts
	b	.L231
.L225:
	ldr	r0, .L232+36
	bl	puts
	b	.L231
.L224:
	ldr	r0, .L232+40
	bl	puts
	nop
.L231:
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L233:
	.align	2
.L232:
	.word	jj
	.word	imrow
	.word	.LC47
	.word	js
	.word	no
	.word	.LC48
	.word	matd
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.size	hamilt_error, .-hamilt_error
	.global	__aeabi_i2d
	.global	__aeabi_dmul
	.global	__aeabi_dadd
	.global	__aeabi_d2f
	.global	__aeabi_fcmpeq
	.global	__aeabi_fadd
	.align	2
	.global	iterat
	.syntax unified
	.arm
	.fpu softvfp
	.type	iterat, %function
iterat:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #64
	ldr	r3, .L281
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L281+4
	mov	r2, #0
	str	r2, [r3]	@ float
	mov	r3, #0
	str	r3, [fp, #-80]
	b	.L235
.L236:
	ldr	r2, .L281+8
	ldr	r3, [fp, #-80]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]	@ float
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L235:
	ldr	r3, .L281+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-80]
	cmp	r2, r3
	blt	.L236
	ldr	r3, .L281+16
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L237
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L238
.L241:
	mov	r3, #0
	str	r3, [fp, #-80]
	b	.L239
.L240:
	ldr	r1, .L281+20
	ldr	r2, [fp, #-84]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r1, r3, lsl #2]	@ float
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L239:
	ldr	r3, [fp, #-80]
	cmp	r3, #31
	ble	.L240
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L238:
	ldr	r3, [fp, #-84]
	cmp	r3, #31
	ble	.L241
.L237:
	ldr	r3, .L281+24
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, .L281+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L281+32
	mov	r2, #0
	str	r2, [r3]
	b	.L242
.L279:
	ldr	r3, .L281+36
	mov	r2, #0
	str	r2, [r3]
.L278:
	ldr	r3, .L281
	ldr	r3, [r3]
	ldr	r2, .L281+40
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, .L281+44
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-80]
	b	.L243
.L259:
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-76]
	b	.L244
.L258:
	ldr	r3, .L281
	ldr	r3, [r3]
	ldr	r2, .L281+48
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r3, .L281
	ldr	r3, [r3]
	ldr	r2, .L281+48
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bne	.L245
	ldr	r2, .L281+52
	ldr	r3, [fp, #-80]
	mov	r1, #364
	mul	r3, r1, r3
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]	@ float
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L246
.L247:
	ldr	r2, .L281+52
	ldr	r3, [fp, #-80]
	mov	r1, #364
	mul	r3, r1, r3
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r1, .L281+56
	ldr	r3, [fp, #-36]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L281+60
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r2, .L281+64
	ldr	r3, [fp, #-72]
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	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_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r2, r0
	ldr	r1, .L281+52
	ldr	r3, [fp, #-80]
	mov	r0, #364
	mul	r3, r0, r3
	add	r3, r1, r3
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L246:
	ldr	r3, .L281+68
	ldr	r3, [r3]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	blt	.L247
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L248
.L251:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-68]
	b	.L249
.L250:
	ldr	r2, .L281+52
	ldr	r3, [fp, #-80]
	mov	r1, #364
	mul	r3, r1, r3
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r1, .L281+56
	ldr	r3, [fp, #-36]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L281+72
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r1, .L281+56
	ldr	r3, [fp, #-36]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-68]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	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	r1, .L281+76
	ldr	r3, [fp, #-72]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	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_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r2, r0
	ldr	r1, .L281+52
	ldr	r3, [fp, #-80]
	mov	r0, #364
	mul	r3, r0, r3
	add	r3, r1, r3
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L249:
	ldr	r3, .L281+68
	ldr	r3, [r3]
	ldr	r2, [fp, #-68]
	cmp	r2, r3
	blt	.L250
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L248:
	ldr	r3, .L281+80
	ldr	r3, [r3]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	blt	.L251
	b	.L252
.L245:
	ldr	r1, .L281+52
	ldr	r2, [fp, #-80]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r1, r3, lsl #2]	@ float
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L253
.L255:
	ldr	r1, .L281+56
	ldr	r3, [fp, #-36]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r2, [r3]
	ldr	r0, .L281+56
	ldr	r3, [fp, #-32]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	beq	.L254
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L281+84
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L254:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L253:
	ldr	r3, .L281+68
	ldr	r3, [r3]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	blt	.L255
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	bne	.L256
	ldr	r3, .L281+84
	ldrsh	r3, [r3]
	str	r3, [fp, #-84]
	ldr	r3, .L281+84
	ldrsh	r3, [r3, #2]
	str	r3, [fp, #-28]
	ldr	r1, .L281+76
	ldr	r3, [fp, #-28]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, #0
	mov	r0, r3
	bl	__aeabi_fcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L256
	ldr	r1, .L281+56
	ldr	r3, [fp, #-36]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	ldr	r1, .L281+56
	ldr	r3, [fp, #-32]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	sub	r3, r0, r3
	ldr	r0, .L281+56
	ldr	r2, [fp, #-36]
	lsl	r1, r2, #3
	ldr	r2, [fp, #-28]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	mov	ip, r2
	ldr	r0, .L281+56
	ldr	r2, [fp, #-32]
	lsl	r1, r2, #3
	ldr	r2, [fp, #-28]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	sub	r2, ip, r2
	mul	r3, r2, r3
	cmn	r3, #4
	bne	.L256
	ldr	r3, .L281+32
	ldr	r3, [r3]
	ldr	r1, .L281+88
	lsl	r2, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	ldr	r3, .L281+32
	ldr	r3, [r3]
	ldr	r1, .L281+88
	lsl	r2, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	add	r3, r3, #2
	mul	r2, r3, r0
	ldr	r0, .L281+56
	ldr	r3, [fp, #-36]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	ldrsh	r3, [r3]
	mov	ip, r3
	ldr	r0, .L281+56
	ldr	r3, [fp, #-32]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	ldrsh	r3, [r3]
	mul	r3, ip, r3
	sub	r3, r2, r3
	ldr	r2, .L281+32
	ldr	r2, [r2]
	ldr	r0, .L281+88
	lsl	r1, r2, #3
	ldr	r2, [fp, #-28]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	mov	ip, r2
	ldr	r2, .L281+32
	ldr	r2, [r2]
	ldr	r0, .L281+88
	lsl	r1, r2, #3
	ldr	r2, [fp, #-28]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	add	r2, r2, #2
	mul	r1, r2, ip
	ldr	ip, .L281+56
	ldr	r2, [fp, #-36]
	lsl	r0, r2, #3
	ldr	r2, [fp, #-28]
	add	r2, r0, r2
	lsl	r2, r2, #1
	add	r2, ip, r2
	ldrsh	r2, [r2]
	mov	lr, r2
	ldr	ip, .L281+56
	ldr	r2, [fp, #-32]
	lsl	r0, r2, #3
	ldr	r2, [fp, #-28]
	add	r2, r0, r2
	lsl	r2, r2, #1
	add	r2, ip, r2
	ldrsh	r2, [r2]
	mul	r2, lr, r2
	sub	r2, r1, r2
	mul	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r1, .L281+76
	ldr	r3, [fp, #-28]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	mov	r3, #1069547520
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-24]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r1, r0
	ldr	r0, .L281+52
	ldr	r2, [fp, #-80]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	str	r1, [r0, r3, lsl #2]	@ float
.L256:
	ldr	r1, .L281+52
	ldr	r2, [fp, #-80]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-76]
	add	r3, r2, r3
	ldr	r1, [r1, r3, lsl #2]	@ float
	ldr	r0, .L281+52
	ldr	r2, [fp, #-76]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r2, r3
	str	r1, [r0, r3, lsl #2]	@ float
.L252:
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L244:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	blt	.L258
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L243:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-80]
	cmp	r2, r3
	blt	.L259
	ldr	r3, .L281+92
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L260
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L261
.L260:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L262
.L267:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L263
.L266:
	ldr	r1, .L281+96
	ldr	r3, [fp, #-56]
	lsl	r2, r3, #5
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r1, r3, lsl #2]	@ float
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L264
.L265:
	ldr	r1, .L281+96
	ldr	r3, [fp, #-56]
	lsl	r2, r3, #5
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldr	r4, [r1, r3, lsl #2]	@ float
	ldr	r1, .L281+52
	ldr	r2, [fp, #-56]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	ldr	r0, [r1, r3, lsl #2]	@ float
	ldr	r3, .L281
	ldr	r1, [r3]
	ldr	ip, .L281+100
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [ip, 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	r0, r3
	ldr	r1, .L281+96
	ldr	r3, [fp, #-56]
	lsl	r2, r3, #5
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	str	r0, [r1, r3, lsl #2]	@ float
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L264:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L265
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L263:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L266
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L262:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L267
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L268
.L273:
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L269
.L272:
	ldr	r1, .L281+52
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r1, r3, lsl #2]	@ float
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L270
.L271:
	ldr	r1, .L281+52
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r4, [r1, r3, lsl #2]	@ float
	ldr	r3, .L281
	ldr	r1, [r3]
	ldr	r0, .L281+100
	ldr	r2, [fp, #-56]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	ldr	r0, [r0, r3, lsl #2]	@ float
	ldr	r1, .L281+96
	ldr	r3, [fp, #-56]
	lsl	r2, r3, #5
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r1, 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	r0, r3
	ldr	r1, .L281+52
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r2, r3
	str	r0, [r1, r3, lsl #2]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L270:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L271
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L269:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L272
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L268:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L273
	mov	r3, #1
	str	r3, [fp, #-60]
.L261:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	diagonalizematrix
	mov	r3, #0
	str	r3, [fp, #-80]
	b	.L274
.L275:
	ldr	r3, .L281
	ldr	r3, [r3]
	ldr	r2, .L281+48
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, r2
	str	r3, [fp, #-36]
	ldr	r2, .L281+52
	ldr	r3, [fp, #-80]
	mov	r1, #364
	mul	r3, r1, r3
	add	r3, r2, r3
	ldr	r2, [r3]	@ float
	ldr	r1, .L281+104
	ldr	r3, [fp, #-36]
	str	r2, [r1, r3, lsl #2]	@ float
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L274:
	ldr	r3, .L281+44
	ldr	r3, [r3]
	ldr	r2, [fp, #-80]
	cmp	r2, r3
	blt	.L275
	ldr	r3, .L281+16
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L276
	bl	square
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L276
	ldr	r3, [fp, #-40]
	b	.L277
.L276:
	ldr	r3, .L281
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L281
	str	r3, [r2]
	ldr	r3, .L281+32
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L281+108
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, .L281
	ldr	r3, [r3]
	cmp	r2, r3
	bgt	.L278
	ldr	r3, .L281+32
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L281+32
	str	r3, [r2]
.L242:
	ldr	r3, .L281+32
	ldr	r2, [r3]
	ldr	r3, .L281+112
	ldr	r3, [r3]
	cmp	r2, r3
	blt	.L279
	mov	r3, #0
.L277:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L282:
	.align	2
.L281:
	.word	na
	.word	dev
	.word	bv
	.word	nos
	.word	ni
	.word	va
	.word	lul
	.word	kcurr
	.word	jj
	.word	jjs
	.word	no
	.word	moa
	.word	ll
	.word	x
	.word	nq2
	.word	1071644672
	.word	w
	.word	ntype
	.word	1070596096
	.word	a
	.word	ntypem
	.word	iq
	.word	ns2
	.word	iter
	.word	y
	.word	vb
	.word	e
	.word	nijs
	.word	irow
	.size	iterat, .-iterat
	.global	__aeabi_i2f
	.global	__aeabi_dcmple
	.section	.rodata
	.align	2
.LC53:
	.ascii	"Final parameters\000"
	.align	2
.LC54:
	.ascii	"Iteration number %4d\012\000"
	.align	2
.LC55:
	.ascii	"rms frequency error %16.4f\012\000"
	.align	2
.LC56:
	.ascii	"Iteration has converged\000"
	.align	2
.LC57:
	.ascii	"ERROR:continue not implemented in setup\000"
	.text
	.align	2
	.global	setup
	.syntax unified
	.arm
	.fpu softvfp
	.type	setup, %function
setup:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	ldr	r3, .L318
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L318+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L318+8
	str	r3, [r2]
	ldr	r3, .L318+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L318+16
	ldr	r2, .L318+20
	str	r2, [r3]	@ float
	ldr	r3, .L318+24
	mov	r2, #0
	str	r2, [r3]	@ float
.L312:
	ldr	r3, .L318+28
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L284
	bl	iterat
	mov	r3, r0
	cmp	r3, #0
	beq	.L285
	mov	r3, #1
	b	.L286
.L285:
	ldr	r3, .L318+32
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L318+32
	str	r3, [r2]
	ldr	r3, .L318+36
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L287
	bl	printenergylevels
	mov	r3, #0
	b	.L286
.L287:
	ldr	r3, .L318+24
	ldr	r4, [r3]	@ float
	ldr	r3, .L318+40
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	ldr	r2, .L318+24
	str	r3, [r2]	@ float
	ldr	r3, .L318+12
	ldr	r2, [r3]
	ldr	r3, .L318+36
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L288
	ldr	r3, .L318
	mov	r2, #1
	str	r2, [r3]
	b	.L289
.L288:
	ldr	r3, .L318+12
	ldr	r3, [r3]
	cmp	r3, #2
	ble	.L289
	ldr	r3, .L318+24
	ldr	r3, [r3]	@ float
	mov	r1, #0
	mov	r0, r3
	bl	__aeabi_fcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L316
	ldr	r3, .L318
	mov	r2, #2
	str	r2, [r3]
	b	.L292
.L316:
	ldr	r3, .L318+16
	ldr	r3, [r3]	@ float
	ldr	r2, .L318+24
	ldr	r2, [r2]	@ float
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L318+16
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	ldr	r2, .L318+44
	ldr	r3, .L318+48
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L292
	ldr	r3, .L318
	mov	r2, #2
	str	r2, [r3]
.L292:
	ldr	r3, .L318+24
	ldr	r3, [r3]	@ float
	ldr	r2, .L318+16
	ldr	r2, [r2]	@ float
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L289
	ldr	r3, .L318
	mov	r2, #3
	str	r2, [r3]
.L289:
	ldr	r3, .L318+24
	ldr	r3, [r3]	@ float
	ldr	r2, .L318+16
	str	r3, [r2]	@ float
	ldr	r3, .L318
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L295
	ldr	r3, .L318+52
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L296
	ldr	r3, .L318+12
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L296
.L295:
	ldr	r3, .L318
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L297
	ldr	r0, .L318+56
	bl	puts
.L297:
	ldr	r3, .L318+12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L318+60
	bl	printf
	bl	printparams
	bl	saveparams
.L296:
	ldr	r3, .L318+24
	ldr	r3, [r3]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L318+64
	bl	printf
	ldr	r3, .L318
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L298
	ldr	r0, .L318+68
	bl	puts
.L298:
	mov	r0, #10
	bl	putchar
	ldr	r3, .L318
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L300
	b	.L317
.L284:
	ldr	r0, .L318+72
	bl	puts
	mov	r3, #1
	b	.L286
.L317:
	bl	invert
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L302
.L300:
	mov	r3, #0
	b	.L286
.L305:
	ldr	r2, .L318+76
	ldr	r3, [fp, #-28]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]	@ float
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L303
.L304:
	ldr	r2, .L318+76
	ldr	r3, [fp, #-28]
	ldr	r4, [r2, r3, lsl #2]	@ float
	ldr	r1, .L318+80
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [r1, r3, lsl #2]	@ float
	ldr	r1, .L318+84
	ldr	r3, [fp, #-24]
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L318+76
	ldr	r3, [fp, #-28]
	str	r1, [r2, r3, lsl #2]	@ float
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L303:
	ldr	r3, .L318+88
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L304
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L302:
	ldr	r3, .L318+88
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	blt	.L305
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L306
.L311:
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L307
.L310:
	ldr	r1, .L318+92
	ldr	r3, [fp, #-32]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	beq	.L308
	ldr	r1, .L318+96
	ldr	r3, [fp, #-32]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	beq	.L309
	ldr	r1, .L318+100
	ldr	r3, [fp, #-20]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r1, r3, lsl #2]	@ float
	ldr	r1, .L318+76
	ldr	r3, [fp, #-32]
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	ldr	r1, .L318+100
	ldr	r3, [fp, #-20]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r0, [r1, r3, lsl #2]	@ float
	ldr	r2, .L318+104
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L318+104
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	bne	.L308
	ldr	r1, .L318+100
	ldr	r3, [fp, #-20]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r1, r3, lsl #2]	@ float
	ldr	r0, .L318+100
	ldr	r3, [fp, #-16]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-20]
	add	r3, r1, r3
	str	r2, [r0, r3, lsl #2]	@ float
	b	.L308
.L309:
	ldr	r2, .L318+108
	ldr	r3, [fp, #-20]
	ldr	r2, [r2, r3, lsl #2]	@ float
	ldr	r1, .L318+76
	ldr	r3, [fp, #-32]
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L318+108
	ldr	r3, [fp, #-20]
	str	r1, [r2, r3, lsl #2]	@ float
.L308:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L307:
	ldr	r3, [fp, #-36]
	cmp	r3, #7
	ble	.L310
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L306:
	ldr	r3, .L318+88
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	blt	.L311
	ldr	r3, .L318+28
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L318+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L318+12
	str	r3, [r2]
	ldr	r3, .L318+12
	ldr	r2, [r3]
	ldr	r3, .L318+36
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L312
	mov	r3, #0
.L286:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L319:
	.align	2
.L318:
	.word	nconv
	.word	ntype
	.word	ntypem
	.word	iter
	.word	er1
	.word	1343554297
	.word	er2
	.word	do_continue
	.word	na
	.word	ni
	.word	nl
	.word	1202590843
	.word	1065646817
	.word	listiterations
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	corr
	.word	va
	.word	bv
	.word	nos
	.word	ia
	.word	ib
	.word	a
	.word	iso
	.word	w
	.size	setup, .-setup
	.global	__aeabi_fcmplt
	.global	__aeabi_dcmpgt
	.global	__aeabi_ddiv
	.global	__aeabi_dcmplt
	.global	__aeabi_dsub
	.section	.rodata
	.align	2
.LC58:
	.ascii	"ERROR:inclomplete diagonalization\000"
	.text
	.align	2
	.global	diagonalizematrix
	.syntax unified
	.arm
	.fpu softvfp
	.type	diagonalizematrix, %function
diagonalizematrix:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #84
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-88]
	mul	r2, r3, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-88]
	sub	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	blt	.L321
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L322
	ldr	r3, .L371
	ldr	r2, [r3]
	ldr	r1, .L371+4
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	mov	r2, #1065353216
	str	r2, [r3]	@ float
	b	.L321
.L322:
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L359
	mov	r4, #0
	b	.L324
.L327:
	mov	r6, #0
	b	.L325
.L326:
	ldr	r3, .L371
	ldr	r1, [r3]
	ldr	r0, .L371+4
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r6
	mov	r2, #0
	str	r2, [r0, r3, lsl #2]	@ float
	add	r6, r6, #1
.L325:
	ldr	r3, [fp, #-88]
	cmp	r6, r3
	blt	.L326
	add	r4, r4, #1
.L324:
	ldr	r3, [fp, #-88]
	cmp	r4, r3
	blt	.L327
	mov	r7, #0
	b	.L328
.L329:
	ldr	r3, .L371
	ldr	r2, [r3]
	ldr	r0, .L371+4
	mov	r3, #364
	mul	r1, r3, r7
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	add	r3, r0, r3
	mov	r2, #1065353216
	str	r2, [r3]	@ float
	add	r7, r7, #1
.L328:
	ldr	r3, [fp, #-88]
	cmp	r7, r3
	blt	.L329
.L359:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
	mov	r5, #0
	mov	r6, #1
	b	.L330
.L335:
	str	r6, [fp, #-40]
	mov	r4, #0
	b	.L331
.L334:
	ldr	r1, .L371+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	ldr	r3, [r1, r3, lsl #2]	@ float
	bic	r3, r3, #-2147483648
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L332
	ldr	r1, .L371+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	ldr	r3, [r1, r3, lsl #2]	@ float
	bic	r5, r3, #-2147483648
	mov	r7, r4
	mov	r10, r6
.L332:
	add	r4, r4, #1
.L331:
	ldr	r3, [fp, #-40]
	cmp	r4, r3
	blt	.L334
	add	r6, r6, #1
.L330:
	ldr	r3, [fp, #-88]
	cmp	r6, r3
	blt	.L335
	mov	r0, r5
	bl	__aeabi_f2d
	ldr	r2, .L371+12
	ldr	r3, .L371+16
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L368
	ldr	r5, .L371+20
	mov	r4, #0
	b	.L338
.L345:
	add	r3, r4, #1
	str	r3, [fp, #-64]
	ldr	r6, [fp, #-64]
	b	.L339
.L344:
	ldr	r1, .L371+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, #0
	mov	r0, r3
	bl	__aeabi_fcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L340
	ldr	r2, .L371+8
	mov	r3, #364
	mul	r3, r4, r3
	add	r3, r2, r3
	ldr	r2, [r3]	@ float
	ldr	r1, .L371+8
	mov	r3, #364
	mul	r3, r6, r3
	add	r3, r1, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-60]	@ float
	mov	r1, #0
	ldr	r0, [fp, #-60]	@ float
	bl	__aeabi_fcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L340
	ldr	r1, .L371+8
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	ldr	r3, [r1, r3, lsl #2]	@ float
	ldr	r1, [fp, #-60]	@ float
	mov	r0, r3
	bl	__aeabi_fdiv
	mov	r3, r0
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-56]	@ float
	mov	r1, r5
	ldr	r0, [fp, #-56]	@ float
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L340
	ldr	r5, [fp, #-56]	@ float
	mov	r7, r4
	mov	r10, r6
.L340:
	add	r6, r6, #1
.L339:
	ldr	r3, [fp, #-88]
	cmp	r6, r3
	blt	.L344
	add	r4, r4, #1
.L338:
	ldr	r3, [fp, #-68]
	cmp	r4, r3
	blt	.L345
	b	.L346
.L368:
	ldr	r5, .L371+24
.L346:
	mov	r0, r5
	bl	__aeabi_f2d
	ldr	r2, .L371+12
	ldr	r3, .L371+28
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L369
	ldr	r1, .L371+8
	mov	r3, r7
	lsl	r3, r3, #1
	add	r3, r3, r7
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r10
	ldr	r0, [r1, r3, lsl #2]	@ float
	ldr	r1, .L371+8
	mov	r3, r7
	lsl	r3, r3, #1
	add	r3, r3, r7
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r10
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-52]	@ float
	ldr	r2, .L371+8
	mov	r3, #364
	mul	r3, r7, r3
	add	r3, r2, r3
	ldr	r2, [r3]	@ float
	ldr	r1, .L371+8
	mov	r3, #364
	mul	r3, r10, r3
	add	r3, r1, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-60]	@ float
	ldr	r1, [fp, #-60]	@ float
	ldr	r0, [fp, #-60]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-52]	@ float
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L371+32
	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, #-108]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-104]
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-48]	@ float
	ldr	r1, [fp, #-60]	@ float
	ldr	r0, [fp, #-48]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-48]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	bic	r3, r3, #-2147483648
	str	r3, [fp, #-112]
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	mov	r5, r3
	mov	r0, r5
	bl	__aeabi_f2d
	ldr	r2, .L371+36
	ldr	r3, .L371+40
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L370
	eor	r3, r5, #-2147483648
	mov	r1, r3
	str	r1, [fp, #-96]	@ float
	mov	r0, r1
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L371+44
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	mov	r5, r3
	b	.L351
.L370:
	mov	r1, r5
	mov	r0, r5
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L371+44
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-96]
.L351:
	ldr	r1, .L371+8
	mov	r3, r7
	lsl	r3, r3, #1
	add	r3, r3, r7
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r10
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-60]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r1, #0
	mov	r0, r3
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L352
	ldr	r3, [fp, #-96]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-96]	@ float
.L352:
	mov	r6, #0
	b	.L354
.L356:
	ldr	r3, .L371
	ldr	r1, [r3]
	ldr	r0, .L371+4
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r7
	ldr	r8, [r0, r3, lsl #2]	@ float
	mov	r1, r8
	mov	r0, r5
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r9, r3
	ldr	r3, .L371
	ldr	r2, [r3]
	ldr	r0, .L371+4
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #1
	mov	r1, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, r10
	ldr	r3, [r0, r3, lsl #2]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-96]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L371
	ldr	r4, [r3]
	mov	r1, r2
	mov	r0, r9
	bl	__aeabi_fsub
	mov	r3, r0
	mov	ip, r3
	ldr	r0, .L371+4
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #1
	mov	r1, r3
	mov	r3, r4
	lsl	r3, r3, #3
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, r7
	str	ip, [r0, r3, lsl #2]	@ float
	mov	r1, r8
	ldr	r9, [fp, #-96]	@ float
	mov	r0, r9
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r8, r3
	ldr	r3, .L371
	ldr	r2, [r3]
	ldr	r0, .L371+4
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #1
	mov	r1, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, r10
	ldr	r3, [r0, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L371
	ldr	r4, [r3]
	mov	r1, r2
	mov	r0, r8
	bl	__aeabi_fadd
	mov	r3, r0
	mov	ip, r3
	ldr	r0, .L371+4
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #1
	mov	r1, r3
	mov	r3, r4
	lsl	r3, r3, #3
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, r10
	str	ip, [r0, r3, lsl #2]	@ float
	cmp	r7, r6
	beq	.L355
	cmp	r10, r6
	beq	.L355
	ldr	r1, .L371+8
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r7
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, .L371+8
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r10
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r9
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	ldr	r1, .L371+8
	mov	r3, r7
	lsl	r3, r3, #1
	add	r3, r3, r7
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	str	r0, [r1, r3, lsl #2]	@ float
	ldr	r1, .L371+8
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r7
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r9
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r1, .L371+8
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r10
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r5
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	ldr	r1, .L371+8
	mov	r3, r10
	lsl	r3, r3, #1
	add	r3, r3, r10
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	str	r0, [r1, r3, lsl #2]	@ float
	ldr	r1, .L371+8
	mov	r3, r7
	lsl	r3, r3, #1
	add	r3, r3, r7
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	ldr	r1, [r1, r3, lsl #2]	@ float
	ldr	r0, .L371+8
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r7
	str	r1, [r0, r3, lsl #2]	@ float
	ldr	r1, .L371+8
	mov	r3, r10
	lsl	r3, r3, #1
	add	r3, r3, r10
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	ldr	r1, [r1, r3, lsl #2]	@ float
	ldr	r0, .L371+8
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r10
	str	r1, [r0, r3, lsl #2]	@ float
.L355:
	add	r6, r6, #1
.L354:
	ldr	r3, [fp, #-88]
	cmp	r6, r3
	blt	.L356
	ldr	r2, .L371+8
	mov	r3, #364
	mul	r3, r7, r3
	add	r3, r2, r3
	ldr	r2, [r3]	@ float
	ldr	r1, .L371+8
	mov	r3, #364
	mul	r3, r10, r3
	add	r3, r1, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-44]	@ float
	mov	r1, r5
	mov	r0, r5
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	ldr	r2, .L371+8
	mov	r3, #364
	mul	r3, r7, r3
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r4, r3
	ldr	r6, [fp, #-96]	@ float
	mov	r1, r6
	mov	r0, r6
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	ldr	r2, .L371+8
	mov	r3, #364
	mul	r3, r10, r3
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r8, r0
	mov	r9, r1
	mov	r0, r5
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r0, r6
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r1, .L371+8
	mov	r3, r7
	lsl	r3, r3, #1
	add	r3, r3, r7
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r10
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r2, r0
	ldr	r1, .L371+8
	mov	r3, #364
	mul	r3, r7, r3
	add	r3, r1, r3
	str	r2, [r3]	@ float
	ldr	r2, .L371+8
	mov	r3, #364
	mul	r3, r7, r3
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-44]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L371+8
	mov	r3, #364
	mul	r3, r10, r3
	add	r3, r2, r3
	str	r1, [r3]	@ float
	ldr	r1, .L371+8
	mov	r3, r10
	lsl	r3, r3, #1
	add	r3, r3, r10
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r7
	mov	r2, #0
	str	r2, [r1, r3, lsl #2]	@ float
	ldr	r1, .L371+8
	mov	r3, r7
	lsl	r3, r3, #1
	add	r3, r3, r7
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r10
	mov	r2, #0
	str	r2, [r1, r3, lsl #2]	@ float
	b	.L357
.L369:
	mov	r3, #1
	str	r3, [fp, #-76]
.L357:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	bge	.L358
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L359
.L358:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	blt	.L321
	ldr	r0, .L371+48
	bl	puts
.L321:
	nop
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L372:
	.align	2
.L371:
	.word	na
	.word	vb
	.word	x
	.word	-1998362383
	.word	1055193269
	.word	942130604
	.word	1065353552
	.word	1057290421
	.word	1074790400
	.word	1992864825
	.word	1072078782
	.word	1072693248
	.word	.LC58
	.size	diagonalizematrix, .-diagonalizematrix
	.global	__aeabi_idiv
	.align	2
	.global	square
	.syntax unified
	.arm
	.fpu softvfp
	.type	square, %function
square:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #80
	ldr	r3, .L414
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L374
	ldr	r3, .L414+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L414+8
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-92]
	mov	r4, #0
	b	.L375
.L378:
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L376
.L377:
	ldr	r1, .L414+12
	lsl	r2, r4, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	ldr	r2, [r1, r3, lsl #2]	@ float
	ldr	r0, .L414+16
	lsl	r1, r4, #5
	ldr	r3, [fp, #-96]
	add	r3, r1, r3
	str	r2, [r0, r3, lsl #2]	@ float
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L376:
	ldr	r3, .L414+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	blt	.L377
	add	r4, r4, #1
.L375:
	ldr	r3, [fp, #-92]
	cmp	r4, r3
	blt	.L378
.L374:
	mov	r4, #0
	b	.L379
.L398:
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L380
.L397:
	ldr	r1, .L414+12
	lsl	r2, r4, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r1, r3, lsl #2]	@ float
	mvn	r3, #0
	str	r3, [fp, #-100]
.L396:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
	ldr	r1, .L414+24
	ldr	r3, [fp, #-96]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-100]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmn	r3, #1
	beq	.L381
	ldr	r1, .L414+28
	ldr	r3, [fp, #-96]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-100]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bgt	.L382
	mov	r5, #0
	b	.L383
.L384:
	ldr	r3, .L414+4
	ldr	r3, [r3]
	ldr	r2, .L414+32
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r3, r5, r3
	str	r3, [fp, #-32]
	ldr	r1, .L414+12
	lsl	r2, r4, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r6, r0
	mov	r7, r1
	ldr	r3, .L414+4
	ldr	r1, [r3]
	ldr	r0, .L414+36
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r4
	ldr	r3, [r0, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L414+40
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, .L414+4
	ldr	r1, [r3]
	ldr	r0, .L414+36
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r4
	ldr	r3, [r0, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r1, .L414+44
	ldr	r3, [fp, #-32]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r1, r0
	ldr	r0, .L414+12
	lsl	r2, r4, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	str	r1, [r0, r3, lsl #2]	@ float
	add	r5, r5, #1
.L383:
	ldr	r3, .L414+48
	ldr	r3, [r3]
	cmp	r5, r3
	blt	.L384
	b	.L381
.L382:
	mov	r5, #0
	b	.L385
.L386:
	ldr	r3, .L414+4
	ldr	r3, [r3]
	ldr	r2, .L414+32
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r3, r5, r3
	str	r3, [fp, #-32]
	ldr	r1, .L414+12
	lsl	r2, r4, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r6, r0
	mov	r7, r1
	ldr	r3, .L414+4
	ldr	r1, [r3]
	ldr	r0, .L414+36
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r4
	ldr	r3, [r0, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L414+52
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r3, .L414+4
	ldr	r1, [r3]
	ldr	r0, .L414+36
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r4
	ldr	r3, [r0, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r1, .L414+44
	ldr	r3, [fp, #-32]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	ldr	r1, .L414+44
	ldr	r3, [fp, #-32]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r1, r0
	ldr	r0, .L414+12
	lsl	r2, r4, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	str	r1, [r0, r3, lsl #2]	@ float
	add	r5, r5, #1
.L385:
	ldr	r3, .L414+48
	ldr	r3, [r3]
	cmp	r5, r3
	blt	.L386
	ldr	r2, .L414+56
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L414+56
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	bne	.L381
	ldr	r3, .L414+48
	ldr	r3, [r3]
	cmp	r3, #1
	ble	.L381
	mov	r3, #0
	str	r3, [fp, #-104]
	b	.L387
.L394:
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, .L414+4
	ldr	r3, [r3]
	ldr	r2, .L414+32
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-104]
	add	r3, r3, r2
	str	r3, [fp, #-60]
	ldr	r5, [fp, #-44]
	b	.L388
.L393:
	ldr	r3, .L414+4
	ldr	r3, [r3]
	ldr	r2, .L414+32
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r3, r5, r3
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-88]
	mvn	r6, #0
.L391:
	add	r6, r6, #1
	ldr	r3, [fp, #-52]
	cmp	r6, r3
	beq	.L389
	ldr	r3, [fp, #-48]
	cmp	r6, r3
	beq	.L389
	ldr	r2, .L414+44
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r3, r3, r6
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L414+44
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r3, r3, r6
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-88]
.L389:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L390
	ldr	r3, .L414+60
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r6, r3
	beq	.L390
	ldr	r3, [fp, #-52]
	cmp	r6, r3
	beq	.L390
	ldr	r3, [fp, #-48]
	cmp	r6, r3
	bne	.L391
.L390:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L392
	ldr	r1, .L414+44
	ldr	r3, [fp, #-60]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	ldr	r1, .L414+44
	ldr	r3, [fp, #-40]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	sub	r3, r0, r3
	ldr	r0, .L414+44
	ldr	r2, [fp, #-60]
	lsl	r1, r2, #3
	ldr	r2, [fp, #-48]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	mov	ip, r2
	ldr	r0, .L414+44
	ldr	r2, [fp, #-40]
	lsl	r1, r2, #3
	ldr	r2, [fp, #-48]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	sub	r2, ip, r2
	mul	r3, r2, r3
	cmn	r3, #4
	bne	.L392
	ldr	r3, .L414+64
	ldr	r3, [r3]
	ldr	r1, .L414+68
	lsl	r2, r3, #3
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	ldr	r3, .L414+64
	ldr	r3, [r3]
	ldr	r1, .L414+68
	lsl	r2, r3, #3
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	add	r3, r3, #2
	mul	r2, r3, r0
	ldr	r0, .L414+44
	ldr	r3, [fp, #-60]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-52]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	ldrsh	r3, [r3]
	mov	ip, r3
	ldr	r0, .L414+44
	ldr	r3, [fp, #-40]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-52]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	ldrsh	r3, [r3]
	mul	r3, ip, r3
	sub	r3, r2, r3
	ldr	r2, .L414+64
	ldr	r2, [r2]
	ldr	r0, .L414+68
	lsl	r1, r2, #3
	ldr	r2, [fp, #-48]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	mov	ip, r2
	ldr	r2, .L414+64
	ldr	r2, [r2]
	ldr	r0, .L414+68
	lsl	r1, r2, #3
	ldr	r2, [fp, #-48]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	add	r2, r2, #2
	mul	r1, r2, ip
	ldr	ip, .L414+44
	ldr	r2, [fp, #-60]
	lsl	r0, r2, #3
	ldr	r2, [fp, #-48]
	add	r2, r0, r2
	lsl	r2, r2, #1
	add	r2, ip, r2
	ldrsh	r2, [r2]
	mov	lr, r2
	ldr	ip, .L414+44
	ldr	r2, [fp, #-40]
	lsl	r0, r2, #3
	ldr	r2, [fp, #-48]
	add	r2, r0, r2
	lsl	r2, r2, #1
	add	r2, ip, r2
	ldrsh	r2, [r2]
	mul	r2, lr, r2
	sub	r2, r1, r2
	mul	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, .L414+4
	ldr	r1, [r3]
	ldr	r0, .L414+36
	ldr	r2, [fp, #-104]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r4
	ldr	r3, [r0, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L414+52
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, .L414+4
	ldr	r1, [r3]
	ldr	r0, .L414+36
	mov	r3, r5
	lsl	r3, r3, #1
	add	r3, r3, r5
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	add	r3, r3, r4
	ldr	r3, [r0, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	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	r0, [fp, #-36]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	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	r1, .L414+12
	lsl	r2, r4, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r1, r0
	ldr	r0, .L414+12
	lsl	r2, r4, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	str	r1, [r0, r3, lsl #2]	@ float
.L392:
	add	r5, r5, #1
.L388:
	ldr	r3, .L414+48
	ldr	r3, [r3]
	cmp	r5, r3
	blt	.L393
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L387:
	ldr	r3, .L414+48
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	blt	.L394
.L381:
	ldr	r3, [fp, #-52]
	cmn	r3, #1
	beq	.L395
	ldr	r3, [fp, #-100]
	cmp	r3, #7
	bne	.L396
.L395:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L380:
	ldr	r3, .L414+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	blt	.L397
	add	r4, r4, #1
.L379:
	ldr	r3, .L414+48
	ldr	r3, [r3]
	cmp	r4, r3
	blt	.L398
	ldr	r3, .L414
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L399
	ldr	r3, .L414+4
	ldr	r3, [r3]
	sub	r3, r3, #1
	str	r3, [fp, #-84]
	ldr	r3, .L414+4
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	ldr	r3, .L414+48
	ldr	r3, [r3]
	str	r3, [fp, #-76]
	ldr	r3, .L414+72
	ldr	r5, [r3]
	ldr	r3, .L414+76
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-92]
	ldr	r2, [fp, #-76]
	mul	r2, r3, r2
	ldr	r3, .L414+76
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L414+76
	str	r3, [r2]
	ldr	r5, [fp, #-72]
	b	.L400
.L403:
	ldr	r3, .L414+72
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L414+72
	str	r3, [r2]
.L401:
	ldr	r3, .L414+72
	ldr	r3, [r3]
	ldr	r2, .L414+80
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r5, r3
	beq	.L402
	ldr	r3, .L414+84
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, .L414+72
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L402
	ldr	r3, .L414+72
	ldr	r3, [r3]
	ldr	r2, .L414+80
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r5, r3
	bgt	.L403
.L402:
	ldr	r3, [fp, #-72]
	sub	r3, r5, r3
	str	r3, [fp, #-68]
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-68]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-76]
	mul	r3, r2, r3
	ldr	r2, [fp, #-68]
	sub	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r2, .L414+32
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-104]
	add	r3, r3, r2
	str	r3, [fp, #-60]
	ldr	r2, .L414+32
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-64]
	add	r3, r3, r2
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L404
.L405:
	ldr	r1, .L414+16
	ldr	r3, [fp, #-104]
	lsl	r2, r3, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	ldr	r0, [r1, r3, lsl #2]	@ float
	ldr	r1, .L414+12
	ldr	r3, [fp, #-64]
	lsl	r2, r3, #5
	ldr	r3, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r1, r3
	ldr	r2, .L414+88
	ldr	r3, [fp, #-96]
	str	r1, [r2, r3, lsl #2]	@ float
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L404:
	ldr	r3, .L414+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	blt	.L405
	ldr	r3, .L414+72
	ldr	r3, [r3]
	ldr	r2, .L414+80
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r5, r3
	bne	.L406
	ldr	r3, .L414+72
	ldr	r3, [r3]
	ldr	r2, .L414+92
	ldr	r2, [r2, r3, lsl #2]	@ float
	ldr	r1, .L414+96
	ldr	r3, [fp, #-56]
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	ldr	r2, .L414+96
	ldr	r3, [fp, #-60]
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r7, r3
	b	.L407
.L406:
	mov	r7, #0
.L407:
	mov	r6, #0
	b	.L408
.L411:
	mov	r4, #0
	b	.L409
.L410:
	ldr	r1, .L414+100
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r4
	ldr	r8, [r1, r3, lsl #2]	@ float
	ldr	r3, .L414+88
	ldr	r3, [r3, r6, lsl #2]	@ float
	ldr	r2, .L414+88
	ldr	r2, [r2, r4, lsl #2]	@ float
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r8
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	ldr	r1, .L414+100
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r4
	str	r0, [r1, r3, lsl #2]	@ float
	ldr	r1, .L414+100
	mov	r3, r6
	lsl	r3, r3, #1
	add	r3, r3, r6
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r4
	ldr	r1, [r1, r3, lsl #2]	@ float
	ldr	r0, .L414+100
	mov	r3, r4
	lsl	r3, r3, #1
	add	r3, r3, r4
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	add	r3, r2, r6
	str	r1, [r0, r3, lsl #2]	@ float
	add	r4, r4, #1
.L409:
	ldr	r3, .L414+20
	ldr	r3, [r3]
	cmp	r4, r3
	blt	.L410
	ldr	r3, .L414+104
	ldr	r4, [r3, r6, lsl #2]	@ float
	ldr	r3, .L414+88
	ldr	r3, [r3, r6, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r7
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L414+104
	str	r2, [r3, r6, lsl #2]	@ float
	add	r6, r6, #1
.L408:
	ldr	r3, .L414+20
	ldr	r3, [r3]
	cmp	r6, r3
	blt	.L411
	mov	r1, r7
	mov	r0, r7
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L414+108
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L414+108
	str	r2, [r3]	@ float
	ldr	r3, .L414+108
	ldr	r3, [r3]	@ float
	ldr	r2, .L414+112
	str	r3, [r2]	@ float
	add	r5, r5, #1
.L400:
	ldr	r3, .L414+76
	ldr	r3, [r3]
	cmp	r5, r3
	ble	.L401
.L399:
	ldr	r3, .L414
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L414
	str	r3, [r2]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L415:
	.align	2
.L414:
	.word	jjs
	.word	na
	.word	no
	.word	d
	.word	y
	.word	nos
	.word	ia
	.word	ib
	.word	ll
	.word	vb
	.word	1071644672
	.word	nq2
	.word	moa
	.word	1070596096
	.word	iso
	.word	ntype
	.word	jj
	.word	ns2
	.word	kcurr
	.word	lul
	.word	il
	.word	nl
	.word	dcv
	.word	f
	.word	e
	.word	va
	.word	bv
	.word	dev
	.word	er2
	.size	square, .-square
	.section	.rodata
	.align	2
.LC59:
	.ascii	"Energy levels\000"
	.align	2
.LC60:
	.ascii	"Submatrix number %d\012\000"
	.align	2
.LC61:
	.ascii	"Total spin quantum numbers\000"
	.align	2
.LC62:
	.ascii	"%8.1f\000"
	.align	2
.LC63:
	.ascii	"\012\000"
	.align	2
.LC64:
	.ascii	"Level number    energy\000"
	.align	2
.LC65:
	.ascii	"%4d  %12.3f\012\000"
	.align	2
.LC66:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	printenergylevels
	.syntax unified
	.arm
	.fpu softvfp
	.type	printenergylevels, %function
printenergylevels:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	ldr	r3, .L431
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L431+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L417
	mov	r3, #0
	b	.L416
.L417:
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, .L431+8
	ldr	r2, [r3]
	ldr	r3, .L431+12
	ldr	r3, [r3]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L431+16
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r0, .L431+20
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L419
.L429:
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L420
.L421:
	ldr	r1, .L431+24
	ldr	r3, [fp, #-56]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L431+28
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r2, r0
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	sub	r1, fp, #12
	add	r3, r1, r3
	str	r2, [r3, #-36]	@ float
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L420:
	ldr	r3, .L431+32
	ldr	r3, [r3]
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	blt	.L421
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L431+36
	bl	printf
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L422
	ldr	r0, .L431+40
	bl	puts
.L422:
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L423
.L424:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r3, [r3, #-36]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L431+44
	bl	printf
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L423:
	ldr	r3, .L431+32
	ldr	r3, [r3]
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	blt	.L424
	ldr	r0, .L431+48
	bl	puts
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L428
	ldr	r0, .L431+52
	bl	puts
.L428:
	ldr	r2, .L431+16
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-60]
	b	.L426
.L427:
	ldr	r3, [fp, #-60]
	add	r4, r3, #1
	ldr	r2, .L431+56
	ldr	r3, [fp, #-60]
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r1, r4
	ldr	r0, .L431+60
	bl	printf
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L426:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	ldr	r2, .L431+16
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	cmp	r3, r2
	blt	.L427
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	ldr	r2, .L431+64
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-52]
	cmp	r3, r2
	blt	.L428
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L419:
	ldr	r3, .L431+68
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	cmp	r2, r3
	blt	.L429
.L416:
	ldr	r2, .L431
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L430
	bl	__stack_chk_fail
.L430:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L432:
	.align	2
.L431:
	.word	.LC66
	.word	listenergy
	.word	matd
	.word	nsbsb
	.word	ll
	.word	.LC59
	.word	ns2
	.word	1071644672
	.word	ntype
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.word	.LC64
	.word	e
	.word	.LC65
	.word	nijs
	.word	irow
	.size	printenergylevels, .-printenergylevels
	.align	2
	.global	fact
	.syntax unified
	.arm
	.fpu softvfp
	.type	fact, %function
fact:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	str	r0, [fp, #-16]
	mov	r5, #1
	mov	r4, #1
	b	.L434
.L435:
	mul	r5, r4, r5
	add	r4, r4, #1
.L434:
	ldr	r3, [fp, #-16]
	cmp	r4, r3
	ble	.L435
	mov	r0, r5
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	fact, .-fact
	.section	.rodata
	.align	2
.LC67:
	.ascii	"line # transitions    frequency     intensity\000"
	.global	__aeabi_fcmpge
	.global	__aeabi_fcmple
	.align	2
.LC68:
	.ascii	"%4d%c%4d  %4d  %12.3f  %12.3f\012\000"
	.align	2
.LC69:
	.ascii	"Calculated transitions = %d, maximum allowed = %d\012"
	.ascii	"\000"
	.align	2
.LC70:
	.ascii	"ERROR:Increase amin to reduce transition count.\000"
	.align	2
.LC71:
	.ascii	"   observed     difference  \000"
	.align	2
.LC72:
	.ascii	"spins.outdata\000"
	.align	2
.LC73:
	.ascii	"%4d%c%4d  %4d  %12.3f  %12.3f\000"
	.align	2
.LC74:
	.ascii	"%12.3f  %12.3f\000"
	.align	2
.LC75:
	.ascii	"%g,%g;L%d%c\012\000"
	.align	2
.LC76:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	transt
	.syntax unified
	.arm
	.fpu softvfp
	.type	transt, %function
transt:
	@ args = 0, pretend = 0, frame = 288
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #312
	ldr	r3, .L513+160
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-220]
	ldr	r3, .L513
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L438
	ldr	r0, .L513+4
	bl	puts
.L438:
	ldr	r3, .L513+136
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L439
	ldr	r3, .L513+136
	mov	r2, #0
	str	r2, [r3]
.L439:
	mov	r3, #0
	str	r3, [fp, #-272]
	mvn	r3, #0
	str	r3, [fp, #-276]
	ldr	r3, .L513+156
	mvn	r2, #0
	str	r2, [r3]
	mvn	r3, #1
	str	r3, [fp, #-260]
	mov	r3, #0
	str	r3, [fp, #-248]
	b	.L440
.L481:
	ldr	r2, .L513+8
	ldr	r3, [fp, #-248]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmp	r3, #1
	beq	.L441
	mov	r3, #1065353216
	str	r3, [fp, #-304]	@ float
	mov	r3, #0
	str	r3, [fp, #-292]
	b	.L442
.L444:
	ldr	r2, .L513+12
	ldr	r3, [fp, #-292]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	ldr	r1, .L513+16
	ldr	r3, [fp, #-248]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-292]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	sub	r3, r0, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r1, .L513+16
	ldr	r3, [fp, #-248]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-292]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	add	r3, r3, #1
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-164]	@ float
	ldr	r3, [fp, #-168]
	cmp	r3, #0
	ble	.L443
	ldr	r1, [fp, #-164]	@ float
	ldr	r0, [fp, #-304]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r2, .L513+12
	ldr	r3, [fp, #-292]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	fact
	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	r0, [fp, #-168]
	bl	fact
	mov	r4, r0
	mov	r5, r1
	ldr	r2, .L513+12
	ldr	r3, [fp, #-292]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	ldr	r1, .L513+16
	ldr	r3, [fp, #-248]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-292]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	add	r3, r0, r3
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	add	r3, r3, #1
	mov	r0, r3
	bl	fact
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-304]	@ float
.L443:
	ldr	r3, [fp, #-292]
	add	r3, r3, #1
	str	r3, [fp, #-292]
.L442:
	ldr	r3, .L513+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-292]
	cmp	r2, r3
	blt	.L444
	mov	r3, #0
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-260]
	add	r3, r3, #1
	str	r3, [fp, #-260]
	b	.L445
.L480:
	ldr	r3, [fp, #-260]
	add	r3, r3, #1
	str	r3, [fp, #-260]
	ldr	r3, [fp, #-260]
	add	r3, r3, #1
	str	r3, [fp, #-204]
	ldr	r2, .L513+24
	ldr	r3, [fp, #-260]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-200]
	ldr	r2, .L513+24
	ldr	r3, [fp, #-204]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-196]
	mov	r3, #0
	str	r3, [fp, #-252]
	b	.L446
.L453:
	ldr	r2, .L513+28
	ldr	r3, [fp, #-204]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-252]
	add	r3, r3, r2
	str	r3, [fp, #-176]
	mov	r3, #0
	str	r3, [fp, #-256]
	b	.L447
.L452:
	ldr	r2, .L513+28
	ldr	r3, [fp, #-260]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-256]
	add	r3, r3, r2
	str	r3, [fp, #-172]
	mvn	r3, #0
	str	r3, [fp, #-228]
	ldr	r3, .L513+32
	mvn	r2, #0
	strh	r2, [r3]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-292]
	b	.L448
.L450:
	ldr	r1, .L513+36
	ldr	r3, [fp, #-176]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-292]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r2, [r3]
	ldr	r0, .L513+36
	ldr	r3, [fp, #-172]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-292]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	beq	.L449
	ldr	r3, [fp, #-228]
	add	r3, r3, #1
	str	r3, [fp, #-228]
	ldr	r1, .L513+36
	ldr	r3, [fp, #-172]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-292]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	ldr	r1, .L513+36
	ldr	r3, [fp, #-176]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-292]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	add	r3, r3, #2
	cmp	r0, r3
	bne	.L449
	ldr	r3, [fp, #-292]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L513+32
	ldr	r3, [fp, #-228]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
.L449:
	ldr	r3, [fp, #-292]
	add	r3, r3, #1
	str	r3, [fp, #-292]
.L448:
	ldr	r3, .L513+20
	ldr	r3, [r3]
	ldr	r2, [fp, #-292]
	cmp	r2, r3
	blt	.L450
	mov	r3, #0
	str	r3, [fp, #-296]	@ float
	ldr	r3, [fp, #-228]
	cmp	r3, #0
	bne	.L451
	ldr	r3, .L513+32
	ldrsh	r3, [r3]
	cmn	r3, #1
	beq	.L451
	ldr	r3, .L513+32
	ldrsh	r3, [r3]
	str	r3, [fp, #-292]
	ldr	r1, .L513+16
	ldr	r3, [fp, #-248]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-292]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	ldr	r1, .L513+36
	ldr	r3, [fp, #-172]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-292]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	add	r3, r0, r3
	ldr	r0, .L513+16
	ldr	r2, [fp, #-248]
	lsl	r1, r2, #3
	ldr	r2, [fp, #-292]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	mov	ip, r2
	ldr	r0, .L513+36
	ldr	r2, [fp, #-176]
	lsl	r1, r2, #3
	ldr	r2, [fp, #-292]
	add	r2, r1, r2
	lsl	r2, r2, #1
	add	r2, r0, r2
	ldrsh	r2, [r2]
	sub	r2, ip, r2
	mul	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-296]	@ float
	ldr	r0, [fp, #-296]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, #0
	ldr	r3, .L513+40
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-296]	@ float
.L451:
	ldr	r1, .L513+44
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-252]
	add	r3, r2, r3
	ldr	r2, [fp, #-296]	@ float
	str	r2, [r1, r3, lsl #2]	@ float
	ldr	r3, [fp, #-256]
	add	r3, r3, #1
	str	r3, [fp, #-256]
.L447:
	ldr	r2, [fp, #-256]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	blt	.L452
	ldr	r3, [fp, #-252]
	add	r3, r3, #1
	str	r3, [fp, #-252]
.L446:
	ldr	r2, [fp, #-252]
	ldr	r3, [fp, #-196]
	cmp	r2, r3
	blt	.L453
	mov	r3, #0
	str	r3, [fp, #-256]
	b	.L454
.L459:
	mov	r3, #0
	str	r3, [fp, #-252]
	b	.L455
.L458:
	mov	r3, #0
	str	r3, [fp, #-296]	@ float
	mov	r3, #0
	str	r3, [fp, #-232]
	b	.L456
.L457:
	ldr	r0, .L513+48
	ldr	r2, [fp, #-232]
	ldr	r1, [fp, #-264]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-256]
	add	r3, r2, r3
	ldr	r0, [r0, r3, lsl #2]	@ float
	ldr	r1, .L513+44
	ldr	r2, [fp, #-232]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-252]
	add	r3, r2, r3
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-296]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-296]	@ float
	ldr	r3, [fp, #-232]
	add	r3, r3, #1
	str	r3, [fp, #-232]
.L456:
	ldr	r2, [fp, #-232]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	blt	.L457
	ldr	r1, .L513+52
	ldr	r2, [fp, #-256]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-252]
	add	r3, r2, r3
	ldr	r2, [fp, #-296]	@ float
	str	r2, [r1, r3, lsl #2]	@ float
	ldr	r3, [fp, #-252]
	add	r3, r3, #1
	str	r3, [fp, #-252]
.L455:
	ldr	r2, [fp, #-252]
	ldr	r3, [fp, #-196]
	cmp	r2, r3
	blt	.L458
	ldr	r3, [fp, #-256]
	add	r3, r3, #1
	str	r3, [fp, #-256]
.L454:
	ldr	r2, [fp, #-256]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	blt	.L459
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-264]
	mov	r3, #0
	str	r3, [fp, #-244]
	b	.L460
.L479:
	mov	r3, #0
	str	r3, [fp, #-240]
	b	.L461
.L478:
	ldr	r3, [fp, #-276]
	add	r3, r3, #1
	str	r3, [fp, #-276]
	mov	r3, #0
	str	r3, [fp, #-300]	@ float
	mov	r3, #0
	str	r3, [fp, #-236]
	b	.L462
.L463:
	ldr	r1, .L513+52
	ldr	r2, [fp, #-244]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	ldr	r3, [fp, #-236]
	add	r3, r2, r3
	ldr	r0, [r1, r3, lsl #2]	@ float
	ldr	ip, .L513+48
	ldr	r2, [fp, #-236]
	ldr	r1, [fp, #-264]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r1
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r1, r3, #4
	sub	r1, r1, r3
	lsl	r3, r1, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-240]
	add	r3, r2, r3
	ldr	r3, [ip, r3, lsl #2]	@ float
	mov	r1, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-300]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-300]	@ float
	ldr	r3, [fp, #-236]
	add	r3, r3, #1
	str	r3, [fp, #-236]
.L462:
	ldr	r2, [fp, #-236]
	ldr	r3, [fp, #-196]
	cmp	r2, r3
	blt	.L463
	ldr	r1, [fp, #-300]	@ float
	ldr	r0, [fp, #-304]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-300]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-300]	@ float
	ldr	r2, .L513+28
	ldr	r3, [fp, #-260]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-244]
	add	r3, r3, r2
	str	r3, [fp, #-192]
	ldr	r2, .L513+28
	ldr	r3, [fp, #-204]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-240]
	add	r3, r3, r2
	str	r3, [fp, #-188]
	ldr	r2, .L513+56
	ldr	r3, [fp, #-192]
	ldr	r2, [r2, r3, lsl #2]	@ float
	ldr	r1, .L513+56
	ldr	r3, [fp, #-188]
	ldr	r3, [r1, r3, lsl #2]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	str	r3, [fp, #-184]	@ float
	ldr	r3, .L513+60
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-300]	@ float
	bl	__aeabi_fcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L464
	ldr	r3, .L513+64
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-184]	@ float
	bl	__aeabi_fcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L464
	ldr	r3, .L513+68
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-184]	@ float
	bl	__aeabi_fcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L464
	mov	r3, #1
	b	.L468
.L464:
	mov	r3, #0
.L468:
	str	r3, [fp, #-180]
	ldr	r3, .L513+136
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L469
	ldr	r2, .L513+120
	ldr	r3, [fp, #-272]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-276]
	cmp	r3, r2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-224]
	b	.L470
.L469:
	mov	r3, #0
	str	r3, [fp, #-224]
.L470:
	ldr	r3, [fp, #-180]
	cmp	r3, #0
	bne	.L471
	ldr	r3, [fp, #-224]
	cmp	r3, #0
	beq	.L472
.L471:
	ldr	r3, .L513
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L473
	ldr	r3, [fp, #-224]
	cmp	r3, #0
	beq	.L474
	mov	r3, #42
	strb	r3, [fp, #-309]
	b	.L475
.L474:
	mov	r3, #32
	strb	r3, [fp, #-309]
.L475:
	ldrb	r7, [fp, #-309]	@ zero_extendqisi2
	ldr	r3, [fp, #-192]
	add	r8, r3, #1
	ldr	r3, [fp, #-188]
	add	r6, r3, #1
	ldr	r0, [fp, #-184]	@ float
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-300]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	str	r6, [sp]
	mov	r3, r8
	mov	r2, r7
	ldr	r1, [fp, #-276]
	ldr	r0, .L513+72
	bl	printf
.L473:
	ldr	r3, [fp, #-224]
	cmp	r3, #0
	beq	.L476
	ldr	r3, [fp, #-272]
	add	r3, r3, #1
	str	r3, [fp, #-272]
.L476:
	ldr	r3, .L513+156
	ldr	r3, [r3]
	ldr	r2, .L513+76
	cmp	r3, r2
	bgt	.L477
	ldr	r3, .L513+156
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L513+156
	str	r3, [r2]
.L477:
	ldr	r3, .L513+156
	ldr	r3, [r3]
	cmp	r3, #16384
	bge	.L472
	ldr	r3, .L513+156
	ldr	r3, [r3]
	ldr	r2, [fp, #-276]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L513+148
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, .L513+156
	ldr	r3, [r3]
	ldr	r2, [fp, #-192]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L513+124
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, .L513+156
	ldr	r3, [r3]
	ldr	r2, [fp, #-188]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	ldr	r1, .L513+128
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, .L513+156
	ldr	r3, [r3]
	ldr	r2, .L513+156
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-184]	@ float
	str	r2, [r3, #4]	@ float
	ldr	r3, .L513+156
	ldr	r3, [r3]
	ldr	r2, .L513+156
	add	r3, r3, #16384
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-300]	@ float
	str	r2, [r3, #4]	@ float
.L472:
	ldr	r3, [fp, #-240]
	add	r3, r3, #1
	str	r3, [fp, #-240]
.L461:
	ldr	r2, [fp, #-240]
	ldr	r3, [fp, #-196]
	cmp	r2, r3
	blt	.L478
	ldr	r3, [fp, #-244]
	add	r3, r3, #1
	str	r3, [fp, #-244]
.L460:
	ldr	r2, [fp, #-244]
	ldr	r3, [fp, #-200]
	cmp	r2, r3
	blt	.L479
.L445:
	ldr	r3, [fp, #-248]
	add	r3, r3, #1
	ldr	r2, .L513+80
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	sub	r3, r3, #2
	ldr	r2, [fp, #-260]
	cmp	r2, r3
	blt	.L480
.L441:
	ldr	r3, [fp, #-248]
	add	r3, r3, #1
	str	r3, [fp, #-248]
.L440:
	ldr	r3, .L513+84
	ldr	r3, [r3]
	ldr	r2, [fp, #-248]
	cmp	r2, r3
	blt	.L481
	ldr	r3, .L513+156
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L513+156
	str	r3, [r2]
	ldr	r3, .L513+156
	ldr	r3, [r3]
	ldr	r2, .L513+76
	cmp	r3, r2
	bgt	.L482
	mov	r3, #0
	str	r3, [fp, #-288]
	b	.L483
.L489:
	mvn	r3, #0
	str	r3, [fp, #-268]
	ldr	r2, .L513+156
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	str	r3, [fp, #-308]	@ float
	ldr	r3, [fp, #-288]
	add	r3, r3, #1
	str	r3, [fp, #-284]
	b	.L484
.L487:
	ldr	r2, .L513+156
	ldr	r3, [fp, #-284]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-308]	@ float
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L485
	ldr	r2, .L513+156
	ldr	r3, [fp, #-284]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	str	r3, [fp, #-308]	@ float
	ldr	r3, [fp, #-284]
	str	r3, [fp, #-268]
.L485:
	ldr	r3, [fp, #-284]
	add	r3, r3, #1
	str	r3, [fp, #-284]
.L484:
	ldr	r3, .L513+156
	ldr	r3, [r3]
	ldr	r2, [fp, #-284]
	cmp	r2, r3
	blt	.L487
	ldr	r3, [fp, #-268]
	cmn	r3, #1
	beq	.L488
	ldr	r2, .L513+156
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	str	r3, [fp, #-212]	@ float
	ldr	r2, .L513+156
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #4]	@ float
	ldr	r1, .L513+156
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]	@ float
	ldr	r2, .L513+156
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-212]	@ float
	str	r2, [r3, #4]	@ float
	ldr	r2, .L513+156
	ldr	r3, [fp, #-288]
	add	r3, r3, #16384
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	str	r3, [fp, #-212]	@ float
	ldr	r2, .L513+156
	ldr	r3, [fp, #-268]
	add	r3, r3, #16384
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #4]	@ float
	ldr	r1, .L513+156
	ldr	r3, [fp, #-288]
	add	r3, r3, #16384
	lsl	r3, r3, #2
	add	r3, r1, r3
	str	r2, [r3, #4]	@ float
	ldr	r2, .L513+156
	ldr	r3, [fp, #-268]
	add	r3, r3, #16384
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-212]	@ float
	str	r2, [r3, #4]	@ float
	ldr	r2, .L513+148
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-208]
	ldr	r2, .L513+148
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L513+148
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L513+148
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r2, .L513+124
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-208]
	ldr	r2, .L513+124
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L513+124
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L513+124
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r2, .L513+128
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-208]
	ldr	r2, .L513+128
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L513+128
	ldr	r3, [fp, #-288]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #-208]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r1, .L513+128
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #1
	add	r3, r1, r3
	strh	r2, [r3]	@ movhi
.L488:
	ldr	r3, [fp, #-288]
	add	r3, r3, #1
	str	r3, [fp, #-288]
.L483:
	ldr	r3, .L513+156
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-288]
	cmp	r2, r3
	blt	.L489
	b	.L512
.L482:
	ldr	r3, .L513+156
	ldr	r3, [r3]
	mov	r2, #16384
	mov	r1, r3
	ldr	r0, .L513+88
	bl	printf
	ldr	r0, .L513+92
	bl	puts
	mov	r3, #1
	b	.L504
.L512:
	ldr	r0, .L513+4
	bl	printf
	ldr	r3, .L513+136
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L492
	ldr	r0, .L513+96
	bl	printf
.L492:
	mov	r0, #10
	bl	putchar
	sub	r3, fp, #160
	ldr	r1, .L513+100
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #160
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #160
	add	r3, r3, r2
	ldr	r2, .L513+104
	mov	r0, r3
	mov	r1, r2
	mov	r3, #14
	mov	r2, r3
	bl	memcpy
	sub	r3, fp, #160
	ldr	r1, .L513+108
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-216]
	mov	r3, #0
	str	r3, [fp, #-280]
	b	.L493
.L514:
	.align	2
.L513:
	.word	listtransitions
	.word	.LC67
	.word	nss
	.word	nucl
	.word	ns2
	.word	ntype
	.word	no
	.word	ll
	.word	iq
	.word	nq2
	.word	1071644672
	.word	x
	.word	vb
	.word	va
	.word	e
	.word	amin
	.word	fr1
	.word	fr2
	.word	.LC68
	.word	16382
	.word	nijs
	.word	irow
	.word	.LC69
	.word	.LC70
	.word	.LC71
	.word	path
	.word	.LC72
	.word	.LC10
	.word	frgp
	.word	nl
	.word	il
	.word	nkal
	.word	nkbl
	.word	.LC73
	.word	ni
	.word	f
	.word	.LC74
	.word	lin
	.word	.LC75
	.word	clines
	.word	.LC76
.L502:
	ldr	r3, [fp, #-280]
	cmp	r3, #0
	beq	.L494
	ldr	r3, .L513+112
	ldr	r3, [r3]	@ float
	mov	r1, #0
	mov	r0, r3
	bl	__aeabi_fcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L494
	ldr	r3, [fp, #-280]
	sub	r3, r3, #1
	ldr	r2, .L513+156
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #4]	@ float
	ldr	r1, .L513+156
	ldr	r3, [fp, #-280]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L513+112
	ldr	r3, [r3]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L494
	mov	r0, #10
	bl	putchar
.L494:
	mov	r3, #32
	strb	r3, [fp, #-309]
	ldr	r3, .L513+136
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L497
	mvn	r3, #0
	str	r3, [fp, #-284]
.L499:
	ldr	r3, [fp, #-284]
	add	r3, r3, #1
	str	r3, [fp, #-284]
	ldr	r2, .L513+148
	ldr	r3, [fp, #-280]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L513+120
	ldr	r3, [fp, #-284]
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	beq	.L498
	ldr	r3, .L513+116
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, [fp, #-284]
	cmp	r2, r3
	blt	.L499
.L498:
	ldr	r2, .L513+148
	ldr	r3, [fp, #-280]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r2, [r3]
	ldr	r1, .L513+120
	ldr	r3, [fp, #-284]
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	cmp	r2, r3
	bne	.L497
	mov	r3, #42
	strb	r3, [fp, #-309]
.L497:
	ldr	r2, .L513+148
	ldr	r3, [fp, #-280]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r7, r3, #1
	ldrb	r8, [fp, #-309]	@ zero_extendqisi2
	ldr	r2, .L513+124
	ldr	r3, [fp, #-280]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r9, r3, #1
	ldr	r2, .L513+128
	ldr	r3, [fp, #-280]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r6, r3, #1
	ldr	r2, .L513+156
	ldr	r3, [fp, #-280]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r2, .L513+156
	ldr	r3, [fp, #-280]
	add	r3, r3, #16384
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	str	r4, [sp, #8]
	str	r5, [sp, #12]
	str	r6, [sp]
	mov	r3, r9
	mov	r2, r8
	mov	r1, r7
	ldr	r0, .L513+132
	bl	printf
	ldr	r3, .L513+136
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L500
	ldrb	r3, [fp, #-309]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L500
	ldr	r2, .L513+140
	ldr	r3, [fp, #-284]
	ldr	r3, [r2, r3, lsl #2]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r2, .L513+140
	ldr	r3, [fp, #-284]
	ldr	r2, [r2, r3, lsl #2]	@ float
	ldr	r1, .L513+156
	ldr	r3, [fp, #-280]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #4]	@ float
	mov	r1, r3
	mov	r0, r2
	bl	__aeabi_fsub
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r0, .L513+144
	bl	printf
.L500:
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-216]
	cmp	r3, #0
	beq	.L501
	ldr	r2, .L513+156
	ldr	r3, [fp, #-280]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r2, .L513+156
	ldr	r3, [fp, #-280]
	add	r3, r3, #16384
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L513+148
	ldr	r1, [fp, #-280]
	lsl	r1, r1, #1
	add	r1, r0, r1
	ldrsh	r1, [r1]
	add	r1, r1, #1
	ldrb	r0, [fp, #-309]	@ zero_extendqisi2
	str	r0, [sp, #12]
	str	r1, [sp, #8]
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L513+152
	ldr	r0, [fp, #-216]
	bl	fprintf
.L501:
	ldr	r3, [fp, #-280]
	add	r3, r3, #1
	str	r3, [fp, #-280]
.L493:
	ldr	r3, .L513+156
	ldr	r3, [r3]
	ldr	r2, [fp, #-280]
	cmp	r2, r3
	blt	.L502
	ldr	r3, [fp, #-216]
	cmp	r3, #0
	beq	.L503
	ldr	r0, [fp, #-216]
	bl	fclose
.L503:
	mov	r3, #0
.L504:
	ldr	r2, .L513+160
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L505
	bl	__stack_chk_fail
.L505:
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	transt, .-transt
	.section	.rodata
	.align	2
.LC77:
	.ascii	"nucl\000"
	.align	2
.LC78:
	.ascii	"%5d\000"
	.align	2
.LC79:
	.ascii	"\012 ns2\000"
	.align	2
.LC80:
	.ascii	"\012q2\000"
	.align	2
.LC81:
	.ascii	"matd = %d\012\000"
	.align	2
.LC82:
	.ascii	"    imrow    nijs+1    nss\000"
	.align	2
.LC83:
	.ascii	"%8d%8d%8d\012\000"
	.align	2
.LC84:
	.ascii	"    no       ll\000"
	.align	2
.LC85:
	.ascii	"%8d%8d\012\000"
	.text
	.align	2
	.global	printhamilt
	.syntax unified
	.arm
	.fpu softvfp
	.type	printhamilt, %function
printhamilt:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r0, .L530
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L516
.L517:
	ldr	r2, .L530+4
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r0, .L530+8
	bl	printf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L516:
	ldr	r3, .L530+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L517
	ldr	r0, .L530+16
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L518
.L521:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L519
.L520:
	ldr	r1, .L530+20
	ldr	r3, [fp, #-12]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r0, .L530+8
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L519:
	ldr	r3, .L530+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L520
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L518:
	ldr	r3, .L530+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L521
	ldr	r0, .L530+28
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L522
.L525:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L523
.L524:
	ldr	r1, .L530+32
	ldr	r3, [fp, #-12]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r0, .L530+8
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L523:
	ldr	r3, .L530+12
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L524
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L522:
	ldr	r3, .L530+36
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L525
	ldr	r3, .L530+36
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L530+40
	bl	printf
	ldr	r0, .L530+44
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L526
.L527:
	ldr	r2, .L530+48
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r0, r3
	ldr	r2, .L530+52
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	add	r2, r3, #1
	ldr	r1, .L530+56
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r1, r0
	ldr	r0, .L530+60
	bl	printf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L526:
	ldr	r3, .L530+24
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L527
	mov	r0, #10
	bl	putchar
	ldr	r0, .L530+64
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L528
.L529:
	ldr	r2, .L530+68
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r2, .L530+72
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r0, .L530+76
	bl	printf
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L528:
	ldr	r3, .L530+80
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L529
	mov	r0, #10
	bl	putchar
	nop
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L531:
	.align	2
.L530:
	.word	.LC77
	.word	nucl
	.word	.LC78
	.word	ntype
	.word	.LC79
	.word	ns2
	.word	irow
	.word	.LC80
	.word	nq2
	.word	matd
	.word	.LC81
	.word	.LC82
	.word	imrow
	.word	nijs
	.word	nss
	.word	.LC83
	.word	.LC84
	.word	no
	.word	ll
	.word	.LC85
	.word	nsbsb
	.size	printhamilt, .-printhamilt
	.section	.rodata
	.align	2
.LC86:
	.ascii	"iterate\000"
	.align	2
.LC87:
	.ascii	"continue\000"
	.align	2
.LC88:
	.ascii	"transitions\000"
	.align	2
.LC89:
	.ascii	"iterations\000"
	.align	2
.LC90:
	.ascii	"iteration\000"
	.align	2
.LC91:
	.ascii	"energy\000"
	.align	2
.LC92:
	.ascii	"/\000"
	.align	2
.LC93:
	.ascii	"%d\000"
	.align	2
.LC94:
	.ascii	"ERROR: integer argument syntax error\000"
	.align	2
.LC95:
	.ascii	"ERROR: number of iteration out of limits\000"
	.align	2
.LC96:
	.ascii	"ERROR: continue not yet implemented\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L556
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L556
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r2, .L556+4
	ldr	r3, [fp, #-12]
	str	r3, [r2]
	ldr	r3, .L556+8
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L556+12
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L556+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L556+20
	mov	r2, #0
	str	r2, [r3]	@ float
	ldr	r3, .L556+24
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	ble	.L533
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L534
.L546:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L556+28
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L535
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L536
.L535:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L556+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L537
	ldr	r3, .L556
	mov	r2, #1
	str	r2, [r3]
	b	.L536
.L537:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L556+36
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L538
	ldr	r3, .L556+8
	mov	r2, #1
	str	r2, [r3]
	b	.L536
.L538:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L556+40
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L539
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L556+44
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L540
.L539:
	ldr	r3, .L556+12
	mov	r2, #1
	str	r2, [r3]
	b	.L536
.L540:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L556+48
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L541
	ldr	r3, .L556+16
	mov	r2, #1
	str	r2, [r3]
	b	.L536
.L541:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L542
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L556+24
	bl	strcpy
	ldr	r0, .L556+24
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L556+24
	add	r3, r2, r3
	ldr	r2, .L556+52
	mov	r0, r3
	mov	r1, r2
	mov	r3, #2
	mov	r2, r3
	bl	memcpy
	b	.L536
.L542:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L536
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L536
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L556+4
	ldr	r1, .L556+56
	mov	r0, r3
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	beq	.L543
	ldr	r0, .L556+60
	bl	puts
	mov	r0, #1
	bl	writestatus
	mov	r3, #1
	b	.L544
.L543:
	ldr	r3, .L556+4
	ldr	r3, [r3]
	cmp	r3, #0
	ble	.L545
	ldr	r3, .L556+4
	ldr	r3, [r3]
	ldr	r2, .L556+64
	cmp	r3, r2
	ble	.L536
.L545:
	ldr	r0, .L556+68
	bl	puts
	mov	r0, #1
	bl	writestatus
	mov	r3, #1
	b	.L544
.L536:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L534:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L546
.L533:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L547
	ldr	r3, .L556
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L548
.L547:
	ldr	r3, .L556+4
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L550
	ldr	r3, .L556+4
	mov	r2, #32
	str	r2, [r3]
	b	.L550
.L548:
	ldr	r3, .L556+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L550
	mov	r3, #1
	str	r3, [fp, #-12]
.L550:
	ldr	r3, .L556
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L551
	ldr	r0, .L556+72
	bl	puts
	mov	r0, #1
	bl	writestatus
	mov	r3, #1
	b	.L544
.L551:
	bl	init_spins
	mov	r3, r0
	cmp	r3, #0
	beq	.L552
	mov	r0, #1
	bl	writestatus
	mov	r3, #1
	b	.L544
.L552:
	bl	hamilt
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L553
	ldr	r0, [fp, #-8]
	bl	hamilt_error
	mov	r0, #1
	bl	writestatus
	mov	r3, #1
	b	.L544
.L553:
	bl	setup
	mov	r3, r0
	cmp	r3, #0
	beq	.L554
	mov	r0, #1
	bl	writestatus
	mov	r3, #1
	b	.L544
.L554:
	bl	transt
	mov	r3, r0
	cmp	r3, #0
	beq	.L555
	mov	r0, #1
	bl	writestatus
	mov	r3, #1
	b	.L544
.L555:
	mov	r0, #0
	bl	writestatus
	mov	r3, #0
.L544:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L557:
	.align	2
.L556:
	.word	do_continue
	.word	ni
	.word	listtransitions
	.word	listiterations
	.word	listenergy
	.word	frgp
	.word	path
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	.LC89
	.word	.LC90
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC94
	.word	9999
	.word	.LC95
	.word	.LC96
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
