	.file	"561500.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
.LC0:
	.string	"r"
.LC1:
	.string	"inputs/number_of_states.txt"
.LC2:
	.string	"%u"
	.align 8
.LC3:
	.string	"Failed reading file inputs/number_of_states.txt"
.LC4:
	.string	"inputs/number_of_bandits.txt"
	.align 8
.LC5:
	.string	"Failed reading file inputs/number_of_bandits.txt"
	.align 8
.LC7:
	.string	"inputs/global_bandit_mean_mean.txt"
.LC8:
	.string	"%lf"
	.align 8
.LC9:
	.string	"Failed reading file inputs/global_bandit_mean_mean.txt"
	.align 8
.LC10:
	.string	"inputs/global_bandit_mean_variance.txt"
	.align 8
.LC11:
	.string	"Failed reading file inputs/global_bandit_mean_variance.txt"
	.align 8
.LC12:
	.string	"inputs/global_bandit_variance_mean.txt"
	.align 8
.LC13:
	.string	"Failed reading file inputs/global_bandit_variance_mean.txt"
	.align 8
.LC14:
	.string	"inputs/global_bandit_variance_variance.txt"
	.align 8
.LC15:
	.string	"Failed reading file inputs/global_bandit_variance_variance.txt"
	.align 8
.LC16:
	.string	"inputs/bandit_stochastic_change_frequencies.txt"
.LC17:
	.string	"%u\n"
	.align 8
.LC18:
	.string	"Failed reading file inputs/bandit_stochastic_change_frequencies.txt"
	.align 8
.LC21:
	.string	"inputs/action_selection_type.txt"
.LC22:
	.string	"%d"
	.align 8
.LC23:
	.string	"Failed reading file inputs/action_selection_type.txt"
	.align 8
.LC24:
	.string	"inputs/action_value_update_type.txt"
	.align 8
.LC25:
	.string	"Failed reading file inputs/action_value_update_type.txt"
.LC26:
	.string	"\nInitial bandit properties:"
.LC27:
	.string	"state\tbandit\tmean\tvar\tchg_frq"
.LC28:
	.string	"%u\t%u\t%lf\t%lf\t%u\n"
	.align 8
.LC29:
	.string	"\nInitial state-action-value function:"
.LC30:
	.string	"s\\b\t"
.LC31:
	.string	"\t%u"
.LC32:
	.string	"\t%lf"
.LC33:
	.string	"\nInitial policy:"
.LC34:
	.string	"\nFinal bandit properties:"
	.align 8
.LC35:
	.string	"\nFinal state-action-value function:"
.LC36:
	.string	"\nFinal policy:"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 264
	.cfi_offset 3, -24
	mov	DWORD PTR -260[rbp], edi
	mov	QWORD PTR -272[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -248[rbp], 0
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	fopen@PLT
	mov	QWORD PTR -184[rbp], rax
	lea	rdx, -248[rbp]
	mov	rax, QWORD PTR -184[rbp]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], -1
	jne	.L2
	lea	rdi, .LC3[rip]
	call	puts@PLT
.L2:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	DWORD PTR -244[rbp], 0
	lea	rsi, .LC0[rip]
	lea	rdi, .LC4[rip]
	call	fopen@PLT
	mov	QWORD PTR -176[rbp], rax
	lea	rdx, -244[rbp]
	mov	rax, QWORD PTR -176[rbp]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], -1
	jne	.L3
	lea	rdi, .LC5[rip]
	call	puts@PLT
.L3:
	mov	rax, QWORD PTR -176[rbp]
	mov	rdi, rax
	call	fclose@PLT
	pxor	xmm0, xmm0
	movsd	QWORD PTR -216[rbp], xmm0
	lea	rsi, .LC0[rip]
	lea	rdi, .LC7[rip]
	call	fopen@PLT
	mov	QWORD PTR -168[rbp], rax
	lea	rdx, -216[rbp]
	mov	rax, QWORD PTR -168[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], -1
	jne	.L4
	lea	rdi, .LC9[rip]
	call	puts@PLT
.L4:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	pxor	xmm0, xmm0
	movsd	QWORD PTR -208[rbp], xmm0
	lea	rsi, .LC0[rip]
	lea	rdi, .LC10[rip]
	call	fopen@PLT
	mov	QWORD PTR -160[rbp], rax
	lea	rdx, -208[rbp]
	mov	rax, QWORD PTR -160[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], -1
	jne	.L5
	lea	rdi, .LC11[rip]
	call	puts@PLT
.L5:
	mov	rax, QWORD PTR -160[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -248[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -152[rbp], rax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L6
.L9:
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	edx, DWORD PTR -232[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -152[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	DWORD PTR -228[rbp], 0
	jmp	.L7
.L8:
	mov	rax, QWORD PTR -208[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rdx, xmm0
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, DWORD PTR -232[rbp]
	lea	rsi, 0[0+rcx*8]
	mov	rcx, QWORD PTR -152[rbp]
	add	rcx, rsi
	mov	rsi, QWORD PTR [rcx]
	mov	ecx, DWORD PTR -228[rbp]
	sal	rcx, 3
	lea	rbx, [rsi+rcx]
	movq	xmm1, rdx
	movq	xmm0, rax
	call	RNorm
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -228[rbp], 1
.L7:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L8
	add	DWORD PTR -232[rbp], 1
.L6:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L9
	pxor	xmm0, xmm0
	movsd	QWORD PTR -200[rbp], xmm0
	lea	rsi, .LC0[rip]
	lea	rdi, .LC12[rip]
	call	fopen@PLT
	mov	QWORD PTR -144[rbp], rax
	lea	rdx, -200[rbp]
	mov	rax, QWORD PTR -144[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], -1
	jne	.L10
	lea	rdi, .LC13[rip]
	call	puts@PLT
.L10:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	fclose@PLT
	pxor	xmm0, xmm0
	movsd	QWORD PTR -192[rbp], xmm0
	lea	rsi, .LC0[rip]
	lea	rdi, .LC14[rip]
	call	fopen@PLT
	mov	QWORD PTR -136[rbp], rax
	lea	rdx, -192[rbp]
	mov	rax, QWORD PTR -136[rbp]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], -1
	jne	.L11
	lea	rdi, .LC15[rip]
	call	puts@PLT
.L11:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -248[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -128[rbp], rax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L12
.L15:
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	edx, DWORD PTR -232[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -128[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	DWORD PTR -228[rbp], 0
	jmp	.L13
.L14:
	mov	rax, QWORD PTR -192[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rdx, xmm0
	mov	rax, QWORD PTR -200[rbp]
	mov	ecx, DWORD PTR -232[rbp]
	lea	rsi, 0[0+rcx*8]
	mov	rcx, QWORD PTR -128[rbp]
	add	rcx, rsi
	mov	rsi, QWORD PTR [rcx]
	mov	ecx, DWORD PTR -228[rbp]
	sal	rcx, 3
	lea	rbx, [rsi+rcx]
	movq	xmm1, rdx
	movq	xmm0, rax
	call	RNorm
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
	add	DWORD PTR -228[rbp], 1
.L13:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L14
	add	DWORD PTR -232[rbp], 1
.L12:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L15
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -120[rbp], rax
	lea	rsi, .LC0[rip]
	lea	rdi, .LC16[rip]
	call	fopen@PLT
	mov	QWORD PTR -112[rbp], rax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L16
.L18:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	lea	rsi, .LC17[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], -1
	jne	.L17
	lea	rdi, .LC18[rip]
	call	puts@PLT
.L17:
	add	DWORD PTR -232[rbp], 1
.L16:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L18
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -104[rbp], rax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L19
.L20:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	add	DWORD PTR -232[rbp], 1
.L19:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L20
	mov	DWORD PTR -220[rbp], 2000
	mov	eax, DWORD PTR -248[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -96[rbp], rax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L21
.L24:
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	edx, DWORD PTR -232[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -96[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	DWORD PTR -228[rbp], 0
	jmp	.L22
.L23:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -228[rbp], 1
.L22:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L23
	add	DWORD PTR -232[rbp], 1
.L21:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L24
	mov	eax, DWORD PTR -248[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -88[rbp], rax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L25
.L28:
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	sal	rax, 2
	mov	edx, DWORD PTR -232[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -88[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	DWORD PTR -228[rbp], 0
	jmp	.L26
.L27:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	add	DWORD PTR -228[rbp], 1
.L26:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L27
	add	DWORD PTR -232[rbp], 1
.L25:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L28
	mov	eax, DWORD PTR -248[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -80[rbp], rax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L29
.L32:
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	edx, DWORD PTR -232[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -80[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	DWORD PTR -228[rbp], 0
	jmp	.L30
.L31:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	pxor	xmm0, xmm0
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -228[rbp], 1
.L30:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L31
	add	DWORD PTR -232[rbp], 1
.L29:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L32
	mov	eax, DWORD PTR -248[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -72[rbp], rax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L33
.L38:
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	edx, DWORD PTR -232[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -72[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	DWORD PTR -228[rbp], 0
	jmp	.L34
.L37:
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	test	rax, rax
	js	.L35
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L36
.L35:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L36:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR .LC19[rip]
	divsd	xmm1, xmm0
	movsd	QWORD PTR [rax], xmm1
	add	DWORD PTR -228[rbp], 1
.L34:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L37
	add	DWORD PTR -232[rbp], 1
.L33:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L38
	mov	eax, DWORD PTR -248[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -64[rbp], rax
	mov	DWORD PTR -232[rbp], 0
	jmp	.L39
.L42:
	mov	eax, DWORD PTR -244[rbp]
	mov	eax, eax
	sal	rax, 3
	mov	edx, DWORD PTR -232[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -64[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -232[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rdx]
	movsd	QWORD PTR [rax], xmm0
	mov	DWORD PTR -228[rbp], 1
	jmp	.L40
.L41:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sub	eax, 1
	mov	eax, eax
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -228[rbp], 1
.L40:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L41
	add	DWORD PTR -232[rbp], 1
.L39:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L42
	movsd	xmm0, QWORD PTR .LC20[rip]
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC20[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	DWORD PTR -240[rbp], 0
	lea	rsi, .LC0[rip]
	lea	rdi, .LC21[rip]
	call	fopen@PLT
	mov	QWORD PTR -40[rbp], rax
	lea	rdx, -240[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], -1
	jne	.L43
	lea	rdi, .LC23[rip]
	call	puts@PLT
.L43:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	DWORD PTR -236[rbp], 0
	lea	rsi, .LC0[rip]
	lea	rdi, .LC24[rip]
	call	fopen@PLT
	mov	QWORD PTR -32[rbp], rax
	lea	rdx, -236[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	mov	DWORD PTR -224[rbp], eax
	cmp	DWORD PTR -224[rbp], -1
	jne	.L44
	lea	rdi, .LC25[rip]
	call	puts@PLT
.L44:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	edi, 0
	call	srand@PLT
	lea	rdi, .LC26[rip]
	call	puts@PLT
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	DWORD PTR -232[rbp], 0
	jmp	.L45
.L48:
	mov	DWORD PTR -228[rbp], 0
	jmp	.L46
.L47:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	mov	edx, DWORD PTR -228[rbp]
	mov	eax, DWORD PTR -232[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rsi
	mov	esi, eax
	lea	rdi, .LC28[rip]
	mov	eax, 2
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L46:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L47
	add	DWORD PTR -232[rbp], 1
.L45:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L48
	lea	rdi, .LC29[rip]
	call	puts@PLT
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -228[rbp], 0
	jmp	.L49
.L50:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L49:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L50
	mov	edi, 10
	call	putchar@PLT
	mov	DWORD PTR -232[rbp], 0
	jmp	.L51
.L54:
	mov	eax, DWORD PTR -232[rbp]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -228[rbp], 0
	jmp	.L52
.L53:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movq	xmm0, rax
	lea	rdi, .LC32[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L52:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L53
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -232[rbp], 1
.L51:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L54
	lea	rdi, .LC33[rip]
	call	puts@PLT
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -228[rbp], 0
	jmp	.L55
.L56:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L55:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L56
	mov	edi, 10
	call	putchar@PLT
	mov	DWORD PTR -232[rbp], 0
	jmp	.L57
.L60:
	mov	eax, DWORD PTR -232[rbp]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -228[rbp], 0
	jmp	.L58
.L59:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movq	xmm0, rax
	lea	rdi, .LC32[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L58:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L59
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -232[rbp], 1
.L57:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L60
	mov	r9d, DWORD PTR -236[rbp]
	mov	r8d, DWORD PTR -240[rbp]
	movsd	xmm2, QWORD PTR -192[rbp]
	movsd	xmm1, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR -208[rbp]
	mov	rdi, QWORD PTR -216[rbp]
	mov	edx, DWORD PTR -244[rbp]
	mov	esi, DWORD PTR -248[rbp]
	movsd	xmm4, QWORD PTR -48[rbp]
	movsd	xmm3, QWORD PTR -56[rbp]
	mov	r11, QWORD PTR -120[rbp]
	mov	r10, QWORD PTR -128[rbp]
	mov	rcx, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR -220[rbp]
	push	r9
	push	r8
	push	QWORD PTR -64[rbp]
	push	QWORD PTR -72[rbp]
	push	QWORD PTR -80[rbp]
	push	QWORD PTR -88[rbp]
	push	QWORD PTR -96[rbp]
	push	QWORD PTR -104[rbp]
	movapd	xmm5, xmm4
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rdi
	mov	r9, r11
	mov	r8, r10
	mov	edi, eax
	call	LoopThroughIterations
	add	rsp, 64
	lea	rdi, .LC34[rip]
	call	puts@PLT
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	DWORD PTR -232[rbp], 0
	jmp	.L61
.L64:
	mov	DWORD PTR -228[rbp], 0
	jmp	.L62
.L63:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	mov	edx, DWORD PTR -228[rbp]
	mov	eax, DWORD PTR -232[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rsi
	mov	esi, eax
	lea	rdi, .LC28[rip]
	mov	eax, 2
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L62:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L63
	add	DWORD PTR -232[rbp], 1
.L61:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L64
	lea	rdi, .LC35[rip]
	call	puts@PLT
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -228[rbp], 0
	jmp	.L65
.L66:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L65:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L66
	mov	edi, 10
	call	putchar@PLT
	mov	DWORD PTR -232[rbp], 0
	jmp	.L67
.L70:
	mov	eax, DWORD PTR -232[rbp]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -228[rbp], 0
	jmp	.L68
.L69:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movq	xmm0, rax
	lea	rdi, .LC32[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L68:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L69
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -232[rbp], 1
.L67:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L70
	lea	rdi, .LC36[rip]
	call	puts@PLT
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -228[rbp], 0
	jmp	.L71
.L72:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L71:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L72
	mov	edi, 10
	call	putchar@PLT
	mov	DWORD PTR -232[rbp], 0
	jmp	.L73
.L76:
	mov	eax, DWORD PTR -232[rbp]
	mov	esi, eax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -228[rbp], 0
	jmp	.L74
.L75:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -228[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movq	xmm0, rax
	lea	rdi, .LC32[rip]
	mov	eax, 1
	call	printf@PLT
	add	DWORD PTR -228[rbp], 1
.L74:
	mov	eax, DWORD PTR -244[rbp]
	cmp	DWORD PTR -228[rbp], eax
	jb	.L75
	mov	edi, 10
	call	putchar@PLT
	add	DWORD PTR -232[rbp], 1
.L73:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L76
	mov	DWORD PTR -232[rbp], 0
	jmp	.L77
.L78:
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -232[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	add	DWORD PTR -232[rbp], 1
.L77:
	mov	eax, DWORD PTR -248[rbp]
	cmp	DWORD PTR -232[rbp], eax
	jb	.L78
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L80
	call	__stack_chk_fail@PLT
.L80:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.globl	LoopThroughIterations
	.type	LoopThroughIterations, @function
LoopThroughIterations:
.LFB7:
	.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, 152
	.cfi_offset 3, -24
	mov	DWORD PTR -68[rbp], edi
	mov	DWORD PTR -72[rbp], esi
	mov	DWORD PTR -76[rbp], edx
	mov	QWORD PTR -88[rbp], rcx
	mov	QWORD PTR -96[rbp], r8
	mov	QWORD PTR -104[rbp], r9
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	QWORD PTR -120[rbp], xmm1
	movsd	QWORD PTR -128[rbp], xmm2
	movsd	QWORD PTR -136[rbp], xmm3
	movsd	QWORD PTR -144[rbp], xmm4
	movsd	QWORD PTR -152[rbp], xmm5
	mov	DWORD PTR -52[rbp], 0
	jmp	.L82
.L98:
	call	rand@PLT
	mov	edx, 0
	div	DWORD PTR -72[rbp]
	mov	DWORD PTR -36[rbp], edx
	mov	eax, DWORD PTR -52[rbp]
	lea	r10d, 1[rax]
	mov	r8d, DWORD PTR 64[rbp]
	mov	rdi, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR 32[rbp]
	mov	rdx, QWORD PTR 24[rbp]
	mov	esi, DWORD PTR -76[rbp]
	mov	eax, DWORD PTR -36[rbp]
	push	QWORD PTR 56[rbp]
	push	QWORD PTR 48[rbp]
	mov	r9d, r8d
	movq	xmm0, rdi
	mov	r8d, r10d
	mov	edi, eax
	call	UpdatePolicyFromStateActionValueFunction
	add	rsp, 16
	call	UnifRand
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L83
.L87:
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, QWORD PTR -32[rbp]
	jb	.L101
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -40[rbp], eax
	jmp	.L86
.L101:
	add	DWORD PTR -48[rbp], 1
.L83:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jb	.L87
.L86:
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	RNorm
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	cmp	DWORD PTR 72[rbp], 0
	jne	.L88
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm2, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	test	rax, rax
	js	.L89
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L90
.L89:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L90:
	movsd	xmm1, QWORD PTR .LC19[rip]
	divsd	xmm1, xmm0
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm3, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -24[rbp]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm1
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	addsd	xmm0, xmm2
	movsd	QWORD PTR [rax], xmm0
	jmp	.L91
.L88:
	cmp	DWORD PTR 72[rbp], 1
	jne	.L92
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm2, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -24[rbp]
	subsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	jmp	.L91
.L92:
	cmp	DWORD PTR 72[rbp], 2
	jne	.L91
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm2, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR .LC19[rip]
	subsd	xmm0, xmm2
	mulsd	xmm0, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 40[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm3, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm2, xmm0
	divsd	xmm2, xmm3
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm3, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -24[rbp]
	subsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
.L91:
	mov	DWORD PTR -48[rbp], 0
	jmp	.L93
.L97:
	mov	eax, DWORD PTR -48[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L94
	mov	eax, DWORD PTR -48[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 16[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -48[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 16[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jne	.L94
	mov	DWORD PTR -44[rbp], 0
	jmp	.L95
.L96:
	mov	rax, QWORD PTR -120[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rdx, xmm0
	mov	eax, DWORD PTR -44[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	sal	rax, 3
	lea	rbx, [rcx+rax]
	mov	rax, QWORD PTR -112[rbp]
	movq	xmm1, rdx
	movq	xmm0, rax
	call	RNorm
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR -136[rbp]
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rdx, xmm0
	mov	eax, DWORD PTR -44[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	sal	rax, 3
	lea	rbx, [rcx+rax]
	mov	rax, QWORD PTR -128[rbp]
	movq	xmm1, rdx
	movq	xmm0, rax
	call	RNorm
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
	mov	eax, DWORD PTR -48[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR 16[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	add	DWORD PTR -44[rbp], 1
.L95:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jb	.L96
.L94:
	add	DWORD PTR -48[rbp], 1
.L93:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jb	.L97
	add	DWORD PTR -52[rbp], 1
.L82:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jb	.L98
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	LoopThroughIterations, .-LoopThroughIterations
	.globl	UpdatePolicyFromStateActionValueFunction
	.type	UpdatePolicyFromStateActionValueFunction, @function
UpdatePolicyFromStateActionValueFunction:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	mov	QWORD PTR -64[rbp], rdx
	mov	QWORD PTR -72[rbp], rcx
	mov	DWORD PTR -76[rbp], r8d
	movsd	QWORD PTR -88[rbp], xmm0
	mov	DWORD PTR -80[rbp], r9d
	mov	DWORD PTR -36[rbp], 1
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC37[rip]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC19[rip]
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	mov	DWORD PTR -40[rbp], 0
	jmp	.L103
.L117:
	cmp	DWORD PTR -80[rbp], 0
	je	.L104
	cmp	DWORD PTR -80[rbp], 1
	jne	.L105
.L104:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -32[rbp], xmm0
	jmp	.L106
.L105:
	cmp	DWORD PTR -80[rbp], 2
	jne	.L106
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L107
	movsd	xmm0, QWORD PTR .LC38[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	jmp	.L108
.L107:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm4, QWORD PTR [rax]
	movsd	QWORD PTR -96[rbp], xmm4
	mov	eax, DWORD PTR -76[rbp]
	test	rax, rax
	js	.L109
	pxor	xmm5, xmm5
	cvtsi2sd	xmm5, rax
	movq	rax, xmm5
	jmp	.L110
.L109:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
	movq	rax, xmm0
.L110:
	movq	xmm0, rax
	call	log@PLT
	movq	rcx, xmm0
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	test	rax, rax
	js	.L111
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L112
.L111:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L112:
	movq	xmm2, rcx
	divsd	xmm2, xmm0
	movq	rax, xmm2
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	movq	xmm0, rax
	mulsd	xmm0, QWORD PTR -88[rbp]
	addsd	xmm0, QWORD PTR -96[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
.L106:
	movsd	xmm0, QWORD PTR -32[rbp]
	comisd	xmm0, QWORD PTR -24[rbp]
	jbe	.L149
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	mov	DWORD PTR -36[rbp], 1
	jmp	.L115
.L149:
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L115
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L115
	add	DWORD PTR -36[rbp], 1
.L115:
	add	DWORD PTR -40[rbp], 1
.L103:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jb	.L117
.L108:
	cmp	DWORD PTR -80[rbp], 1
	jne	.L118
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jne	.L119
	mov	eax, DWORD PTR -36[rbp]
	test	rax, rax
	js	.L120
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L121
.L120:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L121:
	movsd	xmm1, QWORD PTR .LC19[rip]
	divsd	xmm1, xmm0
	movsd	QWORD PTR -16[rbp], xmm1
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
	jmp	.L122
.L119:
	movsd	xmm0, QWORD PTR .LC19[rip]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR -36[rbp]
	test	rax, rax
	js	.L123
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L124
.L123:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L124:
	divsd	xmm1, xmm0
	movsd	QWORD PTR -16[rbp], xmm1
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, DWORD PTR -36[rbp]
	mov	eax, eax
	test	rax, rax
	js	.L125
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L126
.L125:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L126:
	movsd	xmm1, QWORD PTR -88[rbp]
	divsd	xmm1, xmm0
	movsd	QWORD PTR -8[rbp], xmm1
	jmp	.L122
.L118:
	cmp	DWORD PTR -80[rbp], 0
	je	.L127
	cmp	DWORD PTR -80[rbp], 2
	jne	.L122
.L127:
	mov	eax, DWORD PTR -36[rbp]
	test	rax, rax
	js	.L128
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L129
.L128:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L129:
	movsd	xmm1, QWORD PTR .LC19[rip]
	divsd	xmm1, xmm0
	movsd	QWORD PTR -16[rbp], xmm1
	pxor	xmm0, xmm0
	movsd	QWORD PTR -8[rbp], xmm0
.L122:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L130
.L142:
	cmp	DWORD PTR -80[rbp], 0
	je	.L131
	cmp	DWORD PTR -80[rbp], 1
	jne	.L132
.L131:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -32[rbp], xmm0
	jmp	.L133
.L132:
	cmp	DWORD PTR -80[rbp], 2
	jne	.L133
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L134
	movsd	xmm0, QWORD PTR .LC38[rip]
	movsd	QWORD PTR -32[rbp], xmm0
	jmp	.L133
.L134:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm7, QWORD PTR [rax]
	movsd	QWORD PTR -96[rbp], xmm7
	mov	eax, DWORD PTR -76[rbp]
	test	rax, rax
	js	.L135
	pxor	xmm4, xmm4
	cvtsi2sd	xmm4, rax
	movq	rax, xmm4
	jmp	.L136
.L135:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
	movq	rax, xmm0
.L136:
	movq	xmm0, rax
	call	log@PLT
	movq	rcx, xmm0
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	test	rax, rax
	js	.L137
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L138
.L137:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L138:
	movq	xmm3, rcx
	divsd	xmm3, xmm0
	movq	rax, xmm3
	movq	xmm0, rax
	call	sqrt@PLT
	movq	rax, xmm0
	movq	xmm0, rax
	mulsd	xmm0, QWORD PTR -88[rbp]
	addsd	xmm0, QWORD PTR -96[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
.L133:
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jp	.L139
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -24[rbp]
	jne	.L139
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 16[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L141
.L139:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 16[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR [rax], xmm0
.L141:
	add	DWORD PTR -40[rbp], 1
.L130:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jb	.L142
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 16[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR [rdx]
	movsd	QWORD PTR [rax], xmm0
	mov	DWORD PTR -40[rbp], 1
	jmp	.L143
.L144:
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, 1
	mov	eax, eax
	sal	rax, 3
	add	rax, rdx
	movsd	xmm1, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 16[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	movsd	xmm0, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR 24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	sal	rax, 3
	add	rax, rdx
	addsd	xmm0, xmm1
	movsd	QWORD PTR [rax], xmm0
	add	DWORD PTR -40[rbp], 1
.L143:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jb	.L144
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	UpdatePolicyFromStateActionValueFunction, .-UpdatePolicyFromStateActionValueFunction
	.globl	RNorm
	.type	RNorm, @function
RNorm:
.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
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	QWORD PTR -16[rbp], xmm1
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jp	.L151
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jne	.L151
	movsd	xmm0, QWORD PTR -8[rbp]
	jmp	.L153
.L151:
	call	NormRand
	movq	rax, xmm0
	movq	xmm0, rax
	mulsd	xmm0, QWORD PTR -16[rbp]
	addsd	xmm0, QWORD PTR -8[rbp]
.L153:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	RNorm, .-RNorm
	.globl	NormRand
	.type	NormRand, @function
NormRand:
.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, 64
	call	UnifRand
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	comisd	xmm0, QWORD PTR .LC39[rip]
	jbe	.L156
	movsd	xmm0, QWORD PTR .LC19[rip]
	movsd	QWORD PTR -56[rbp], xmm0
.L156:
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC40[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	cvttsd2si	eax, xmm0
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 32
	jne	.L158
	mov	DWORD PTR -60[rbp], 31
.L158:
	cmp	DWORD PTR -60[rbp], 0
	je	.L159
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -60[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, a.3[rip]
	movsd	xmm0, QWORD PTR [rdx+rax]
	movsd	QWORD PTR -24[rbp], xmm0
	jmp	.L160
.L168:
	call	UnifRand
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, a.3[rip]
	movsd	xmm0, QWORD PTR [rdx+rax]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm1, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR .LC39[rip]
	mulsd	xmm0, xmm1
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
.L167:
	movsd	xmm0, QWORD PTR -32[rbp]
	comisd	xmm0, QWORD PTR -16[rbp]
	ja	.L187
	call	UnifRand
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm0, QWORD PTR -48[rbp]
	comisd	xmm0, QWORD PTR -32[rbp]
	ja	.L188
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	call	UnifRand
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	jmp	.L167
.L188:
	nop
	call	UnifRand
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
.L160:
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, t.2[rip]
	movsd	xmm0, QWORD PTR [rdx+rax]
	comisd	xmm0, QWORD PTR -32[rbp]
	jnb	.L168
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, t.2[rip]
	movsd	xmm2, QWORD PTR [rdx+rax]
	movsd	xmm0, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, xmm2
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, h.1[rip]
	movsd	xmm0, QWORD PTR [rdx+rax]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	jmp	.L163
.L159:
	mov	DWORD PTR -60[rbp], 6
	movsd	xmm0, QWORD PTR a.3[rip+248]
	movsd	QWORD PTR -24[rbp], xmm0
.L172:
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC19[rip]
	comisd	xmm0, xmm1
	jnb	.L189
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, d.0[rip]
	movsd	xmm0, QWORD PTR [rdx+rax]
	movsd	xmm1, QWORD PTR -24[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	add	DWORD PTR -60[rbp], 1
	jmp	.L172
.L189:
	nop
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC19[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
.L180:
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, d.0[rip]
	movsd	xmm0, QWORD PTR [rdx+rax]
	movsd	xmm1, QWORD PTR -48[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm1, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR .LC39[rip]
	mulsd	xmm0, xmm1
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
.L179:
	call	UnifRand
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm0, QWORD PTR -32[rbp]
	comisd	xmm0, QWORD PTR -16[rbp]
	ja	.L190
	call	UnifRand
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	movsd	xmm0, QWORD PTR -48[rbp]
	comisd	xmm0, QWORD PTR -32[rbp]
	ja	.L191
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	jmp	.L179
.L191:
	nop
	call	UnifRand
	movq	rax, xmm0
	mov	QWORD PTR -48[rbp], rax
	jmp	.L180
.L175:
.L187:
	nop
	jmp	.L163
.L190:
	nop
.L163:
	movsd	xmm0, QWORD PTR -24[rbp]
	addsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR .LC19[rip]
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jp	.L181
	movsd	xmm0, QWORD PTR .LC19[rip]
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jne	.L181
	movsd	xmm0, QWORD PTR -8[rbp]
	movq	xmm1, QWORD PTR .LC41[rip]
	xorpd	xmm0, xmm1
	jmp	.L184
.L181:
	movsd	xmm0, QWORD PTR -8[rbp]
.L184:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	NormRand, .-NormRand
	.globl	UnifRand
	.type	UnifRand, @function
UnifRand:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	rand@PLT
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	xmm1, QWORD PTR .LC42[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	UnifRand, .-UnifRand
	.section	.rodata
	.align 32
	.type	a.3, @object
	.size	a.3, 256
a.3:
	.long	0
	.long	0
	.long	1923848480
	.long	1067716323
	.long	-259198871
	.long	1068765909
	.long	217318473
	.long	1069426219
	.long	-874001793
	.long	1069818561
	.long	373888929
	.long	1070152331
	.long	1862627673
	.long	1070488739
	.long	-191205072
	.long	1070712237
	.long	-2104630182
	.long	1070883990
	.long	1202975672
	.long	1071058014
	.long	873726915
	.long	1071234679
	.long	130292128
	.long	1071414390
	.long	-817651822
	.long	1071597596
	.long	941346880
	.long	1071714737
	.long	1080160223
	.long	1071810624
	.long	-987636320
	.long	1071909120
	.long	-1576039967
	.long	1072010603
	.long	-760257315
	.long	1072115512
	.long	-2015569740
	.long	1072224370
	.long	-1739647297
	.long	1072337803
	.long	1144536629
	.long	1072456577
	.long	1483626015
	.long	1072581641
	.long	1177851831
	.long	1072703723
	.long	1791929075
	.long	1072774529
	.long	1516226535
	.long	1072850900
	.long	-1585770645
	.long	1072934272
	.long	-1278457145
	.long	1073026706
	.long	-399122721
	.long	1073131339
	.long	1982969221
	.long	1073253314
	.long	1981869709
	.long	1073402022
	.long	299067163
	.long	1073597888
	.long	-790273982
	.long	1073822498
	.align 32
	.type	t.2, @object
	.size	t.2, 248
t.2:
	.long	63378489
	.long	1061758278
	.long	1721274458
	.long	1063445979
	.long	-2119379031
	.long	1064280141
	.long	-517865579
	.long	1064715937
	.long	-1712902777
	.long	1065148721
	.long	539638108
	.long	1065473461
	.long	-502300892
	.long	1065703667
	.long	1617260658
	.long	1065943375
	.long	1642395494
	.long	1066194593
	.long	-740784964
	.long	1066430701
	.long	2135911288
	.long	1066571436
	.long	1162865488
	.long	1066721950
	.long	-126575779
	.long	1066884087
	.long	-1955943225
	.long	1067060067
	.long	2119297667
	.long	1067252595
	.long	1065800601
	.long	1067457690
	.long	-1041501394
	.long	1067575939
	.long	834540321
	.long	1067708899
	.long	-1381635316
	.long	1067860026
	.long	1359491152
	.long	1068033891
	.long	1776239044
	.long	1068236660
	.long	-1865222520
	.long	1068476872
	.long	1424010494
	.long	1068632823
	.long	1072243739
	.long	1068811536
	.long	-1422669090
	.long	1069037902
	.long	148269143
	.long	1069334451
	.long	922490256
	.long	1069643972
	.long	1561086609
	.long	1069939172
	.long	1487144452
	.long	1070408393
	.long	358165913
	.long	1070933729
	.long	1183569292
	.long	1071822307
	.align 32
	.type	h.1, @object
	.size	h.1, 248
h.1:
	.long	-1008263158
	.long	1067717332
	.long	-751681124
	.long	1067721388
	.long	1171562625
	.long	1067727527
	.long	-1891258956
	.long	1067735816
	.long	1270716583
	.long	1067746349
	.long	-1634138162
	.long	1067759247
	.long	901676501
	.long	1067774665
	.long	1406044474
	.long	1067792793
	.long	-632032269
	.long	1067813866
	.long	-1388342337
	.long	1067838172
	.long	1902276062
	.long	1067866061
	.long	1313685498
	.long	1067897961
	.long	1714204598
	.long	1067934398
	.long	3980232
	.long	1067976022
	.long	466621740
	.long	1068023641
	.long	1782099441
	.long	1068078271
	.long	1903232637
	.long	1068141206
	.long	762082504
	.long	1068214113
	.long	-1278380179
	.long	1068299179
	.long	-181584345
	.long	1068399330
	.long	-747898804
	.long	1068508756
	.long	1852490176
	.long	1068580733
	.long	1023469404
	.long	1068669156
	.long	690834151
	.long	1068780209
	.long	98318330
	.long	1068923730
	.long	1383493491
	.long	1069116412
	.long	1731895740
	.long	1069389141
	.long	563994489
	.long	1069676993
	.long	-1945475874
	.long	1070039211
	.long	-2032007439
	.long	1070717737
	.long	-184662978
	.long	1072066298
	.align 32
	.type	d.0, @object
	.size	d.0, 248
d.0:
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	490602088
	.long	1070653492
	.long	-1103085041
	.long	1070533252
	.long	2131073437
	.long	1070391140
	.long	1474005288
	.long	1070274260
	.long	-1793688294
	.long	1070176030
	.long	1100226310
	.long	1070092031
	.long	698024957
	.long	1070019171
	.long	398792867
	.long	1069955218
	.long	1275928268
	.long	1069898515
	.long	2078736683
	.long	1069847804
	.long	-1132936781
	.long	1069802111
	.long	2130798559
	.long	1069760669
	.long	-1212981228
	.long	1069722863
	.long	-188291366
	.long	1069688196
	.long	872847306
	.long	1069656263
	.long	-1894018730
	.long	1069626723
	.long	714242753
	.long	1069599296
	.long	-907921727
	.long	1069573742
	.long	1118808057
	.long	1069549861
	.long	-1918757742
	.long	1069507437
	.long	169984498
	.long	1069465372
	.long	-287302388
	.long	1069425745
	.long	416055200
	.long	1069388336
	.long	-506819885
	.long	1069352942
	.long	690988082
	.long	1069319395
	.long	-1790389759
	.long	1069287538
	.align 8
.LC19:
	.long	0
	.long	1072693248
	.align 8
.LC20:
	.long	-1717986918
	.long	1069128089
	.align 8
.LC37:
	.long	-1
	.long	-1048577
	.align 8
.LC38:
	.long	-1
	.long	2146435071
	.align 8
.LC39:
	.long	0
	.long	1071644672
	.align 8
.LC40:
	.long	0
	.long	1077936128
	.align 16
.LC41:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC42:
	.long	-4194304
	.long	1105199103
	.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	"561500.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"r\000"
	.align	2
.LC1:
	.ascii	"inputs/number_of_states.txt\000"
	.align	2
.LC2:
	.ascii	"%u\000"
	.align	2
.LC3:
	.ascii	"Failed reading file inputs/number_of_states.txt\000"
	.align	2
.LC4:
	.ascii	"inputs/number_of_bandits.txt\000"
	.align	2
.LC5:
	.ascii	"Failed reading file inputs/number_of_bandits.txt\000"
	.align	2
.LC6:
	.ascii	"inputs/global_bandit_mean_mean.txt\000"
	.align	2
.LC7:
	.ascii	"%lf\000"
	.align	2
.LC8:
	.ascii	"Failed reading file inputs/global_bandit_mean_mean."
	.ascii	"txt\000"
	.align	2
.LC9:
	.ascii	"inputs/global_bandit_mean_variance.txt\000"
	.align	2
.LC10:
	.ascii	"Failed reading file inputs/global_bandit_mean_varia"
	.ascii	"nce.txt\000"
	.align	2
.LC11:
	.ascii	"inputs/global_bandit_variance_mean.txt\000"
	.align	2
.LC12:
	.ascii	"Failed reading file inputs/global_bandit_variance_m"
	.ascii	"ean.txt\000"
	.align	2
.LC13:
	.ascii	"inputs/global_bandit_variance_variance.txt\000"
	.align	2
.LC14:
	.ascii	"Failed reading file inputs/global_bandit_variance_v"
	.ascii	"ariance.txt\000"
	.align	2
.LC15:
	.ascii	"inputs/bandit_stochastic_change_frequencies.txt\000"
	.align	2
.LC16:
	.ascii	"%u\012\000"
	.align	2
.LC17:
	.ascii	"Failed reading file inputs/bandit_stochastic_change"
	.ascii	"_frequencies.txt\000"
	.global	__aeabi_ui2d
	.global	__aeabi_ddiv
	.global	__aeabi_dadd
	.align	2
.LC18:
	.ascii	"inputs/action_selection_type.txt\000"
	.align	2
.LC19:
	.ascii	"%d\000"
	.align	2
.LC20:
	.ascii	"Failed reading file inputs/action_selection_type.tx"
	.ascii	"t\000"
	.align	2
.LC21:
	.ascii	"inputs/action_value_update_type.txt\000"
	.align	2
.LC22:
	.ascii	"Failed reading file inputs/action_value_update_type"
	.ascii	".txt\000"
	.align	2
.LC23:
	.ascii	"\012Initial bandit properties:\000"
	.align	2
.LC24:
	.ascii	"state\011bandit\011mean\011var\011chg_frq\000"
	.align	2
.LC25:
	.ascii	"%u\011%u\011%lf\011%lf\011%u\012\000"
	.align	2
.LC26:
	.ascii	"\012Initial state-action-value function:\000"
	.align	2
.LC27:
	.ascii	"s\\b\011\000"
	.align	2
.LC28:
	.ascii	"\011%u\000"
	.align	2
.LC29:
	.ascii	"\011%lf\000"
	.align	2
.LC30:
	.ascii	"\012Initial policy:\000"
	.align	2
.LC31:
	.ascii	"\012Final bandit properties:\000"
	.align	2
.LC32:
	.ascii	"\012Final state-action-value function:\000"
	.align	2
.LC33:
	.ascii	"\012Final policy:\000"
	.align	2
.LC34:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 176
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #276
	str	r0, [fp, #-200]
	str	r1, [fp, #-204]
	ldr	r3, .L79
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-196]
	ldr	r1, .L79+4
	ldr	r0, .L79+8
	bl	fopen
	str	r0, [fp, #-172]
	sub	r3, fp, #196
	mov	r2, r3
	ldr	r1, .L79+12
	ldr	r0, [fp, #-172]
	bl	__isoc99_fscanf
	str	r0, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmn	r3, #1
	bne	.L2
	ldr	r0, .L79+16
	bl	puts
.L2:
	ldr	r0, [fp, #-172]
	bl	fclose
	mov	r3, #0
	str	r3, [fp, #-192]
	ldr	r1, .L79+4
	ldr	r0, .L79+20
	bl	fopen
	str	r0, [fp, #-164]
	sub	r3, fp, #192
	mov	r2, r3
	ldr	r1, .L79+12
	ldr	r0, [fp, #-164]
	bl	__isoc99_fscanf
	str	r0, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmn	r3, #1
	bne	.L3
	ldr	r0, .L79+24
	bl	puts
.L3:
	ldr	r0, [fp, #-164]
	bl	fclose
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r1, .L79+4
	ldr	r0, .L79+28
	bl	fopen
	str	r0, [fp, #-160]
	sub	r3, fp, #92
	mov	r2, r3
	ldr	r1, .L79+32
	ldr	r0, [fp, #-160]
	bl	__isoc99_fscanf
	str	r0, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmn	r3, #1
	bne	.L4
	ldr	r0, .L79+36
	bl	puts
.L4:
	ldr	r0, [fp, #-160]
	bl	fclose
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	ldr	r1, .L79+4
	ldr	r0, .L79+40
	bl	fopen
	str	r0, [fp, #-156]
	sub	r3, fp, #84
	mov	r2, r3
	ldr	r1, .L79+32
	ldr	r0, [fp, #-156]
	bl	__isoc99_fscanf
	str	r0, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmn	r3, #1
	bne	.L5
	ldr	r0, .L79+44
	bl	puts
.L5:
	ldr	r0, [fp, #-156]
	bl	fclose
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-152]
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L6
.L9:
	ldr	r3, [fp, #-192]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-152]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L7
.L8:
	sub	r5, fp, #92
	ldmia	r5, {r4-r5}
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-180]
	lsl	r1, r1, #2
	ldr	r0, [fp, #-152]
	add	r1, r0, r1
	ldr	r0, [r1]
	ldr	r1, [fp, #-176]
	lsl	r1, r1, #3
	add	r6, r0, r1
	mov	r0, r4
	mov	r1, r5
	bl	RNorm
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L7:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L8
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L6:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L9
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r1, .L79+4
	ldr	r0, .L79+48
	bl	fopen
	str	r0, [fp, #-148]
	sub	r3, fp, #76
	mov	r2, r3
	ldr	r1, .L79+32
	ldr	r0, [fp, #-148]
	bl	__isoc99_fscanf
	str	r0, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmn	r3, #1
	bne	.L10
	ldr	r0, .L79+52
	bl	puts
.L10:
	ldr	r0, [fp, #-148]
	bl	fclose
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r1, .L79+4
	ldr	r0, .L79+56
	bl	fopen
	str	r0, [fp, #-144]
	sub	r3, fp, #68
	mov	r2, r3
	ldr	r1, .L79+32
	ldr	r0, [fp, #-144]
	bl	__isoc99_fscanf
	str	r0, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmn	r3, #1
	bne	.L11
	ldr	r0, .L79+60
	bl	puts
.L11:
	ldr	r0, [fp, #-144]
	bl	fclose
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L12
.L15:
	ldr	r3, [fp, #-192]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-140]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L13
.L14:
	sub	r5, fp, #76
	ldmia	r5, {r4-r5}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-180]
	lsl	r1, r1, #2
	ldr	r0, [fp, #-140]
	add	r1, r0, r1
	ldr	r0, [r1]
	ldr	r1, [fp, #-176]
	lsl	r1, r1, #3
	add	r6, r0, r1
	mov	r0, r4
	mov	r1, r5
	bl	RNorm
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L13:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L14
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L12:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L15
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-136]
	ldr	r1, .L79+4
	ldr	r0, .L79+64
	bl	fopen
	str	r0, [fp, #-132]
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L16
.L18:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-136]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r1, .L79+68
	ldr	r0, [fp, #-132]
	bl	__isoc99_fscanf
	str	r0, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmn	r3, #1
	bne	.L17
	ldr	r0, .L79+72
	bl	puts
.L17:
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L16:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L18
	ldr	r0, [fp, #-132]
	bl	fclose
	ldr	r3, [fp, #-192]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-128]
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L19
.L20:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-128]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L19:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L20
	mov	r3, #2000
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L21
.L24:
	ldr	r3, [fp, #-192]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L22
.L23:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	add	r1, r2, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L22:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L23
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L21:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L24
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-116]
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L25
.L28:
	ldr	r3, [fp, #-192]
	lsl	r1, r3, #2
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L26
.L27:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L26:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L27
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L25:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L28
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-112]
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L29
.L32:
	ldr	r3, [fp, #-192]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L30
.L31:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	add	r1, r2, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L30:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L31
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L29:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L32
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-108]
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L33
.L36:
	ldr	r3, [fp, #-192]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L34
.L35:
	ldr	r3, [fp, #-192]
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-180]
	lsl	r1, r1, #2
	ldr	r0, [fp, #-108]
	add	r1, r0, r1
	ldr	r0, [r1]
	ldr	r1, [fp, #-176]
	lsl	r1, r1, #3
	add	r4, r0, r1
	mov	r0, #0
	ldr	r1, .L79+76
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L34:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L35
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L33:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L36
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-104]
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L37
.L40:
	ldr	r3, [fp, #-192]
	lsl	r1, r3, #3
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-104]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-180]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-104]
	add	r2, r1, r2
	ldr	r1, [r2]
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	mov	r3, #1
	str	r3, [fp, #-176]
	b	.L38
.L39:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-104]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	ip, [fp, #-180]
	lsl	ip, ip, #2
	ldr	lr, [fp, #-104]
	add	ip, lr, ip
	ldr	lr, [ip]
	ldr	ip, [fp, #-176]
	lsl	ip, ip, #3
	add	r4, lr, ip
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L38:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L39
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L37:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L40
	ldr	r2, .L79+80
	ldr	r3, .L79+84
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r2, .L79+80
	ldr	r3, .L79+84
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-188]
	ldr	r1, .L79+4
	ldr	r0, .L79+88
	bl	fopen
	str	r0, [fp, #-100]
	sub	r3, fp, #188
	mov	r2, r3
	ldr	r1, .L79+92
	ldr	r0, [fp, #-100]
	bl	__isoc99_fscanf
	str	r0, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmn	r3, #1
	bne	.L41
	ldr	r0, .L79+96
	bl	puts
.L41:
	ldr	r0, [fp, #-100]
	bl	fclose
	mov	r3, #0
	str	r3, [fp, #-184]
	ldr	r1, .L79+4
	ldr	r0, .L79+100
	bl	fopen
	str	r0, [fp, #-96]
	sub	r3, fp, #184
	mov	r2, r3
	ldr	r1, .L79+92
	ldr	r0, [fp, #-96]
	bl	__isoc99_fscanf
	str	r0, [fp, #-168]
	ldr	r3, [fp, #-168]
	cmn	r3, #1
	bne	.L42
	ldr	r0, .L79+104
	bl	puts
.L42:
	ldr	r0, [fp, #-96]
	bl	fclose
	mov	r0, #0
	bl	srand
	ldr	r0, .L79+108
	bl	puts
	ldr	r0, .L79+112
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L43
.L46:
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L44
.L45:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-152]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-180]
	lsl	r1, r1, #2
	ldr	r0, [fp, #-140]
	add	r1, r0, r1
	ldr	r0, [r1]
	ldr	r1, [fp, #-176]
	lsl	r1, r1, #3
	add	r1, r0, r1
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-180]
	lsl	ip, ip, #2
	ldr	lr, [fp, #-136]
	add	ip, lr, ip
	ldr	ip, [ip]
	str	ip, [sp, #16]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-176]
	ldr	r1, [fp, #-180]
	ldr	r0, .L79+116
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L44:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L45
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L43:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L46
	ldr	r0, .L79+120
	bl	puts
	ldr	r0, .L79+124
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L47
.L48:
	ldr	r1, [fp, #-176]
	ldr	r0, .L79+128
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L47:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L48
	mov	r0, #10
	bl	putchar
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L49
.L52:
	ldr	r1, [fp, #-180]
	ldr	r0, .L79+12
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L50
.L51:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r0, .L79+148
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L50:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L51
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L49:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L52
	ldr	r0, .L79+132
	bl	puts
	ldr	r0, .L79+124
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L53
.L54:
	ldr	r1, [fp, #-176]
	ldr	r0, .L79+128
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L53:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L54
	mov	r0, #10
	bl	putchar
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L55
.L58:
	ldr	r1, [fp, #-180]
	ldr	r0, .L79+12
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L56
.L57:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r0, .L79+148
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L56:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L57
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L55:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L58
	ldr	r10, [fp, #-196]
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-208]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	sub	r5, fp, #76
	ldmia	r5, {r4-r5}
	sub	r7, fp, #68
	ldmia	r7, {r6-r7}
	ldr	ip, [fp, #-188]
	ldr	lr, [fp, #-184]
	str	lr, [sp, #92]
	str	ip, [sp, #88]
	sub	r9, fp, #52
	ldmia	r9, {r8-r9}
	str	r8, [sp, #80]
	str	r9, [sp, #84]
	sub	r9, fp, #60
	ldmia	r9, {r8-r9}
	str	r8, [sp, #72]
	str	r9, [sp, #76]
	ldr	ip, [fp, #-104]
	str	ip, [sp, #64]
	ldr	ip, [fp, #-108]
	str	ip, [sp, #60]
	ldr	ip, [fp, #-112]
	str	ip, [sp, #56]
	ldr	ip, [fp, #-116]
	str	ip, [sp, #52]
	ldr	ip, [fp, #-120]
	str	ip, [sp, #48]
	str	r6, [sp, #40]
	str	r7, [sp, #44]
	str	r4, [sp, #32]
	str	r5, [sp, #36]
	str	r0, [sp, #24]
	str	r1, [sp, #28]
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	ldr	r3, [fp, #-128]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-136]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-140]
	str	r3, [sp]
	ldr	r3, [fp, #-152]
	ldr	r2, [fp, #-208]
	mov	r1, r10
	ldr	r0, [fp, #-124]
	bl	LoopThroughIterations
	ldr	r0, .L79+136
	bl	puts
	ldr	r0, .L79+112
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L59
.L62:
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L60
.L61:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-152]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-180]
	lsl	r1, r1, #2
	ldr	r0, [fp, #-140]
	add	r1, r0, r1
	ldr	r0, [r1]
	ldr	r1, [fp, #-176]
	lsl	r1, r1, #3
	add	r1, r0, r1
	ldmia	r1, {r0-r1}
	ldr	ip, [fp, #-180]
	lsl	ip, ip, #2
	ldr	lr, [fp, #-136]
	add	ip, lr, ip
	ldr	ip, [ip]
	str	ip, [sp, #16]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	ldr	r2, [fp, #-176]
	ldr	r1, [fp, #-180]
	ldr	r0, .L79+116
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L60:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L61
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L59:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L62
	ldr	r0, .L79+140
	bl	puts
	ldr	r0, .L79+124
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L63
.L64:
	ldr	r1, [fp, #-176]
	ldr	r0, .L79+128
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L63:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L64
	mov	r0, #10
	bl	putchar
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L65
.L68:
	ldr	r1, [fp, #-180]
	ldr	r0, .L79+12
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L66
.L67:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r0, .L79+148
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L66:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L67
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L65:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L68
	ldr	r0, .L79+144
	bl	puts
	ldr	r0, .L79+124
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L69
.L70:
	ldr	r1, [fp, #-176]
	ldr	r0, .L79+128
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L69:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L70
	mov	r0, #10
	bl	putchar
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L71
.L74:
	ldr	r1, [fp, #-180]
	ldr	r0, .L79+12
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-176]
	b	.L72
.L80:
	.align	2
.L79:
	.word	.LC34
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	1072693248
	.word	-1717986918
	.word	1069128089
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC29
	.word	.LC34
.L73:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r0, .L79+148
	bl	printf
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L72:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-176]
	cmp	r2, r3
	bcc	.L73
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L71:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L74
	mov	r3, #0
	str	r3, [fp, #-180]
	b	.L75
.L76:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-104]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-152]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L75:
	ldr	r3, [fp, #-196]
	ldr	r2, [fp, #-180]
	cmp	r2, r3
	bcc	.L76
	ldr	r0, [fp, #-104]
	bl	free
	ldr	r0, [fp, #-108]
	bl	free
	ldr	r0, [fp, #-112]
	bl	free
	ldr	r0, [fp, #-116]
	bl	free
	ldr	r0, [fp, #-120]
	bl	free
	ldr	r0, [fp, #-128]
	bl	free
	ldr	r0, [fp, #-136]
	bl	free
	ldr	r0, [fp, #-140]
	bl	free
	ldr	r0, [fp, #-152]
	bl	free
	mov	r3, #0
	ldr	r2, .L79+152
	ldr	r1, [r2]
	ldr	r2, [fp, #-40]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L78
	bl	__stack_chk_fail
.L78:
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
	.size	main, .-main
	.global	__aeabi_uidivmod
	.global	__aeabi_dcmple
	.global	__aeabi_dsub
	.global	__aeabi_dmul
	.align	2
	.global	LoopThroughIterations
	.syntax unified
	.arm
	.fpu softvfp
	.type	LoopThroughIterations, %function
LoopThroughIterations:
	@ args = 96, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #88
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L82
.L96:
	bl	rand
	mov	r3, r0
	ldr	r1, [fp, #-68]
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	add	r1, r3, #1
	ldr	r3, [fp, #68]
	str	r3, [sp, #24]
	ldr	r3, [fp, #64]
	str	r3, [sp, #20]
	ldr	r3, [fp, #92]
	str	r3, [sp, #16]
	add	r3, fp, #84
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	str	r1, [sp]
	ldr	r3, [fp, #56]
	ldr	r2, [fp, #52]
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-40]
	bl	UpdatePolicyFromStateActionValueFunction
	bl	UnifRand
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L83
.L87:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L99
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-44]
	b	.L86
.L99:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L83:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	bcc	.L87
.L86:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	RNorm
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #56]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #96]
	cmp	r3, #0
	bne	.L88
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #52]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #56]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L100
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #52]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #52]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r6, r2, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	b	.L89
.L88:
	ldr	r3, [fp, #96]
	cmp	r3, #1
	bne	.L90
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #52]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #52]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #52]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r6, r2, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	b	.L89
.L90:
	ldr	r3, [fp, #96]
	cmp	r3, #2
	bne	.L89
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #60]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #60]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L100
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	add	r3, fp, #76
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #60]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r6, r2, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #52]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #60]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	add	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #52]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #52]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r6, r2, r3
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r6, {r2-r3}
.L89:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L91
.L95:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #8]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L92
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #12]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #12]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #8]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L92
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L93
.L94:
	add	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-48]
	lsl	r1, r1, #2
	ldr	r0, [fp, #-76]
	add	r1, r0, r1
	ldr	r0, [r1]
	ldr	r1, [fp, #-52]
	lsl	r1, r1, #3
	add	r4, r0, r1
	add	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	RNorm
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	add	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	sqrt
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-48]
	lsl	r1, r1, #2
	ldr	r0, [fp, #4]
	add	r1, r0, r1
	ldr	r0, [r1]
	ldr	r1, [fp, #-52]
	lsl	r1, r1, #3
	add	r4, r0, r1
	add	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	RNorm
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #12]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L93:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bcc	.L94
.L92:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L91:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	bcc	.L95
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L82:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	bcc	.L96
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L101:
	.align	2
.L100:
	.word	1072693248
	.size	LoopThroughIterations, .-LoopThroughIterations
	.global	__aeabi_dcmpgt
	.global	__aeabi_dcmpeq
	.align	2
	.global	UpdatePolicyFromStateActionValueFunction
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpdatePolicyFromStateActionValueFunction, %function
UpdatePolicyFromStateActionValueFunction:
	@ args = 28, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #56
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	mov	r3, #1
	str	r3, [fp, #-56]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mvn	r2, #0
	mvn	r3, #1048576
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	ldr	r3, .L135
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L103
.L113:
	ldr	r3, [fp, #20]
	cmp	r3, #0
	beq	.L104
	ldr	r3, [fp, #20]
	cmp	r3, #1
	bne	.L105
.L104:
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L106
.L105:
	ldr	r3, [fp, #20]
	cmp	r3, #2
	bne	.L106
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L107
	mvn	r2, #0
	ldr	r3, .L135+4
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	b	.L108
.L107:
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r0, [fp, #4]
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	log
	mov	r6, r0
	mov	r7, r1
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_ui2d
	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	sqrt
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	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, #-52]
	str	r3, [fp, #-48]
.L106:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L133
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L111
.L133:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L111
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L111:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L103:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bcc	.L113
.L108:
	ldr	r3, [fp, #20]
	cmp	r3, #1
	bne	.L114
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bne	.L115
	ldr	r0, [fp, #-56]
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L135
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L116
.L115:
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L135
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-56]
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L116
.L114:
	ldr	r3, [fp, #20]
	cmp	r3, #0
	beq	.L117
	ldr	r3, [fp, #20]
	cmp	r3, #2
	bne	.L116
.L117:
	ldr	r0, [fp, #-56]
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L135
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L116:
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L118
.L126:
	ldr	r3, [fp, #20]
	cmp	r3, #0
	beq	.L119
	ldr	r3, [fp, #20]
	cmp	r3, #1
	bne	.L120
.L119:
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L121
.L120:
	ldr	r3, [fp, #20]
	cmp	r3, #2
	bne	.L121
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L122
	mvn	r2, #0
	ldr	r3, .L135+4
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L121
.L122:
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r0, [fp, #4]
	bl	__aeabi_ui2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	log
	mov	r6, r0
	mov	r7, r1
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_ui2d
	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	sqrt
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	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, #-52]
	str	r3, [fp, #-48]
.L121:
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L134
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	b	.L125
.L134:
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
.L125:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L118:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bcc	.L126
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-64]
	lsl	r2, r2, #2
	ldr	r1, [fp, #28]
	add	r2, r1, r2
	ldr	r1, [r2]
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	mov	r3, #1
	str	r3, [fp, #-60]
	b	.L127
.L128:
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #28]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	ip, [fp, #-64]
	lsl	ip, ip, #2
	ldr	lr, [fp, #28]
	add	ip, lr, ip
	ldr	lr, [ip]
	ldr	ip, [fp, #-60]
	lsl	ip, ip, #3
	add	r4, lr, ip
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L127:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	bcc	.L128
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L136:
	.align	2
.L135:
	.word	1072693248
	.word	2146435071
	.size	UpdatePolicyFromStateActionValueFunction, .-UpdatePolicyFromStateActionValueFunction
	.align	2
	.global	RNorm
	.syntax unified
	.arm
	.fpu softvfp
	.type	RNorm, %function
RNorm:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L142
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	b	.L140
.L142:
	bl	NormRand
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
.L140:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	RNorm, .-RNorm
	.global	__aeabi_d2iz
	.global	__aeabi_i2d
	.global	__aeabi_dcmplt
	.global	__aeabi_dcmpge
	.align	2
	.global	NormRand
	.syntax unified
	.arm
	.fpu softvfp
	.type	NormRand, %function
NormRand:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #64
	bl	UnifRand
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	mov	r2, #0
	ldr	r3, .L181
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L144
	mov	r2, #0
	ldr	r3, .L181+4
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
.L144:
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	mov	r2, #0
	ldr	r3, .L181+8
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #32
	bne	.L146
	mov	r3, #31
	str	r3, [fp, #-72]
.L146:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L147
	ldr	r0, [fp, #-72]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	ldr	r2, .L181+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L148
.L156:
	bl	UnifRand
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	ldr	r2, .L181+12
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	ldr	r3, .L181
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L155:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L176
	bl	UnifRand
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L177
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	bl	UnifRand
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	b	.L155
.L177:
	nop
	bl	UnifRand
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
.L148:
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	ldr	r2, .L181+16
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L156
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	ldr	r2, .L181+16
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	ldr	r2, .L181+20
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L168
.L147:
	mov	r3, #6
	str	r3, [fp, #-72]
	ldr	r3, .L181+12
	add	r3, r3, #248
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
.L160:
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	mov	r2, #0
	ldr	r3, .L181+4
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L178
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	ldr	r2, .L181+24
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	b	.L160
.L178:
	nop
	mov	r2, #0
	ldr	r3, .L181+4
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
.L167:
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	ldr	r2, .L181+24
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	ldr	r3, .L181
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L166:
	bl	UnifRand
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L179
	bl	UnifRand
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L180
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L166
.L180:
	nop
	bl	UnifRand
	str	r0, [fp, #-60]
	str	r1, [fp, #-56]
	b	.L167
.L151:
.L176:
	nop
	b	.L168
.L179:
	nop
.L168:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	ldr	r3, .L181+4
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L175
	ldr	r4, [fp, #-20]
	ldr	r3, [fp, #-16]
	eor	r5, r3, #-2147483648
	b	.L172
.L175:
	sub	r5, fp, #20
	ldmia	r5, {r4-r5}
.L172:
	mov	r2, r4
	mov	r3, r5
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L182:
	.align	2
.L181:
	.word	1071644672
	.word	1072693248
	.word	1077936128
	.word	a.6400
	.word	t.6402
	.word	h.6403
	.word	d.6401
	.size	NormRand, .-NormRand
	.align	2
	.global	UnifRand
	.syntax unified
	.arm
	.fpu softvfp
	.type	UnifRand, %function
UnifRand:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	rand
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r2, .L185
	ldr	r3, .L185+4
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	pop	{fp, pc}
.L186:
	.align	2
.L185:
	.word	-4194304
	.word	1105199103
	.size	UnifRand, .-UnifRand
	.section	.rodata
	.align	3
	.type	a.6400, %object
	.size	a.6400, 256
a.6400:
	.word	0
	.word	0
	.word	1923848480
	.word	1067716323
	.word	4035768425
	.word	1068765909
	.word	217318473
	.word	1069426219
	.word	3420965503
	.word	1069818561
	.word	373888929
	.word	1070152331
	.word	1862627673
	.word	1070488739
	.word	4103762224
	.word	1070712237
	.word	2190337114
	.word	1070883990
	.word	1202975672
	.word	1071058014
	.word	873726915
	.word	1071234679
	.word	130292128
	.word	1071414390
	.word	3477315474
	.word	1071597596
	.word	941346880
	.word	1071714737
	.word	1080160223
	.word	1071810624
	.word	3307330976
	.word	1071909120
	.word	2718927329
	.word	1072010603
	.word	3534709981
	.word	1072115512
	.word	2279397556
	.word	1072224370
	.word	2555319999
	.word	1072337803
	.word	1144536629
	.word	1072456577
	.word	1483626015
	.word	1072581641
	.word	1177851831
	.word	1072703723
	.word	1791929075
	.word	1072774529
	.word	1516226535
	.word	1072850900
	.word	2709196651
	.word	1072934272
	.word	3016510151
	.word	1073026706
	.word	3895844575
	.word	1073131339
	.word	1982969221
	.word	1073253314
	.word	1981869709
	.word	1073402022
	.word	299067163
	.word	1073597888
	.word	3504693314
	.word	1073822498
	.align	3
	.type	t.6402, %object
	.size	t.6402, 248
t.6402:
	.word	63378489
	.word	1061758278
	.word	1721274458
	.word	1063445979
	.word	2175588265
	.word	1064280141
	.word	3777101717
	.word	1064715937
	.word	2582064519
	.word	1065148721
	.word	539638108
	.word	1065473461
	.word	3792666404
	.word	1065703667
	.word	1617260658
	.word	1065943375
	.word	1642395494
	.word	1066194593
	.word	3554182332
	.word	1066430701
	.word	2135911288
	.word	1066571436
	.word	1162865488
	.word	1066721950
	.word	4168391517
	.word	1066884087
	.word	2339024071
	.word	1067060067
	.word	2119297667
	.word	1067252595
	.word	1065800601
	.word	1067457690
	.word	3253465902
	.word	1067575939
	.word	834540321
	.word	1067708899
	.word	2913331980
	.word	1067860026
	.word	1359491152
	.word	1068033891
	.word	1776239044
	.word	1068236660
	.word	2429744776
	.word	1068476872
	.word	1424010494
	.word	1068632823
	.word	1072243739
	.word	1068811536
	.word	2872298206
	.word	1069037902
	.word	148269143
	.word	1069334451
	.word	922490256
	.word	1069643972
	.word	1561086609
	.word	1069939172
	.word	1487144452
	.word	1070408393
	.word	358165913
	.word	1070933729
	.word	1183569292
	.word	1071822307
	.align	3
	.type	h.6403, %object
	.size	h.6403, 248
h.6403:
	.word	3286704138
	.word	1067717332
	.word	3543286172
	.word	1067721388
	.word	1171562625
	.word	1067727527
	.word	2403708340
	.word	1067735816
	.word	1270716583
	.word	1067746349
	.word	2660829134
	.word	1067759247
	.word	901676501
	.word	1067774665
	.word	1406044474
	.word	1067792793
	.word	3662935027
	.word	1067813866
	.word	2906624959
	.word	1067838172
	.word	1902276062
	.word	1067866061
	.word	1313685498
	.word	1067897961
	.word	1714204598
	.word	1067934398
	.word	3980232
	.word	1067976022
	.word	466621740
	.word	1068023641
	.word	1782099441
	.word	1068078271
	.word	1903232637
	.word	1068141206
	.word	762082504
	.word	1068214113
	.word	3016587117
	.word	1068299179
	.word	4113382951
	.word	1068399330
	.word	3547068492
	.word	1068508756
	.word	1852490176
	.word	1068580733
	.word	1023469404
	.word	1068669156
	.word	690834151
	.word	1068780209
	.word	98318330
	.word	1068923730
	.word	1383493491
	.word	1069116412
	.word	1731895740
	.word	1069389141
	.word	563994489
	.word	1069676993
	.word	2349491422
	.word	1070039211
	.word	2262959857
	.word	1070717737
	.word	4110304318
	.word	1072066298
	.align	3
	.type	d.6401, %object
	.size	d.6401, 248
d.6401:
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	490602088
	.word	1070653492
	.word	3191882255
	.word	1070533252
	.word	2131073437
	.word	1070391140
	.word	1474005288
	.word	1070274260
	.word	2501279002
	.word	1070176030
	.word	1100226310
	.word	1070092031
	.word	698024957
	.word	1070019171
	.word	398792867
	.word	1069955218
	.word	1275928268
	.word	1069898515
	.word	2078736683
	.word	1069847804
	.word	3162030515
	.word	1069802111
	.word	2130798559
	.word	1069760669
	.word	3081986068
	.word	1069722863
	.word	4106675930
	.word	1069688196
	.word	872847306
	.word	1069656263
	.word	2400948566
	.word	1069626723
	.word	714242753
	.word	1069599296
	.word	3387045569
	.word	1069573742
	.word	1118808057
	.word	1069549861
	.word	2376209554
	.word	1069507437
	.word	169984498
	.word	1069465372
	.word	4007664908
	.word	1069425745
	.word	416055200
	.word	1069388336
	.word	3788147411
	.word	1069352942
	.word	690988082
	.word	1069319395
	.word	2504577537
	.word	1069287538
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
