	.file	"152140.c"
	.intel_syntax noprefix
	.text
	.local	melg
	.comm	melg,5560,32
	.local	melgi
	.comm	melgi,4,4
	.local	lung
	.comm	lung,8,8
	.data
	.align 16
	.type	mag01, @object
	.size	mag01, 16
mag01:
	.quad	0
	.quad	5740341537407224233
	.local	x
	.comm	x,8,8
	.globl	genrand64_int64
	.bss
	.align 8
	.type	genrand64_int64, @object
	.size	genrand64_int64, 8
genrand64_int64:
	.zero	8
	.text
	.globl	init_genrand64
	.type	init_genrand64, @function
init_genrand64:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR melg[rip], rax
	mov	DWORD PTR melgi[rip], 1
	jmp	.L2
.L3:
	mov	eax, DWORD PTR melgi[rip]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR melgi[rip]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	shr	rax, 62
	xor	rcx, rax
	mov	rdx, rcx
	movabs	rax, 6364136223846793005
	mov	rcx, rdx
	imul	rcx, rax
	mov	eax, DWORD PTR melgi[rip]
	movsx	rdx, eax
	mov	eax, DWORD PTR melgi[rip]
	add	rcx, rdx
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	QWORD PTR [rdx+rax], rcx
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 1
	mov	DWORD PTR melgi[rip], eax
.L2:
	mov	eax, DWORD PTR melgi[rip]
	cmp	eax, 694
	jle	.L3
	mov	eax, DWORD PTR melgi[rip]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR melgi[rip]
	sub	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	shr	rax, 62
	xor	rcx, rax
	mov	rdx, rcx
	movabs	rax, 6364136223846793005
	imul	rdx, rax
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	add	rax, rdx
	mov	QWORD PTR lung[rip], rax
	mov	DWORD PTR melgi[rip], 0
	lea	rax, case_1[rip]
	mov	QWORD PTR genrand64_int64[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	init_genrand64, .-init_genrand64
	.globl	init_by_array64
	.type	init_by_array64, @function
init_by_array64:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	edi, 19650218
	call	init_genrand64
	mov	QWORD PTR -24[rbp], 1
	mov	QWORD PTR -16[rbp], 0
	mov	eax, 695
	cmp	QWORD PTR -48[rbp], 695
	cmovnb	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L5
.L8:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 1
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rsi, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 1
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	shr	rax, 62
	xor	rsi, rax
	mov	rdx, rsi
	movabs	rax, 3935559000370003845
	imul	rax, rdx
	xor	rcx, rax
	mov	rdx, rcx
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	QWORD PTR [rdx+rax], rcx
	add	QWORD PTR -24[rbp], 1
	add	QWORD PTR -16[rbp], 1
	cmp	QWORD PTR -24[rbp], 694
	jbe	.L6
	mov	rax, QWORD PTR melg[rip+5552]
	mov	QWORD PTR melg[rip], rax
	mov	QWORD PTR -24[rbp], 1
.L6:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jb	.L7
	mov	QWORD PTR -16[rbp], 0
.L7:
	sub	QWORD PTR -8[rbp], 1
.L5:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L8
	mov	QWORD PTR -8[rbp], 694
	jmp	.L9
.L11:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 1
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rsi, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, 1
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	shr	rax, 62
	xor	rsi, rax
	mov	rdx, rsi
	movabs	rax, 2862933555777941757
	imul	rax, rdx
	xor	rax, rcx
	sub	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	lea	rcx, 0[0+rdx*8]
	lea	rdx, melg[rip]
	mov	QWORD PTR [rcx+rdx], rax
	add	QWORD PTR -24[rbp], 1
	cmp	QWORD PTR -24[rbp], 694
	jbe	.L10
	mov	rax, QWORD PTR melg[rip+5552]
	mov	QWORD PTR melg[rip], rax
	mov	QWORD PTR -24[rbp], 1
.L10:
	sub	QWORD PTR -8[rbp], 1
.L9:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L11
	mov	rdx, QWORD PTR melg[rip+5552]
	mov	rax, QWORD PTR melg[rip+5552]
	shr	rax, 62
	xor	rdx, rax
	movabs	rax, 2862933555777941757
	imul	rdx, rax
	mov	rax, QWORD PTR lung[rip]
	xor	rax, rdx
	sub	rax, 695
	mov	QWORD PTR lung[rip], rax
	mov	rax, QWORD PTR melg[rip]
	movabs	rdx, -9223372036854775808
	or	rax, rdx
	mov	QWORD PTR melg[rip], rax
	mov	DWORD PTR melgi[rip], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	init_by_array64, .-init_by_array64
	.type	case_1, @function
case_1:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, -140737488355328
	and	rax, rdx
	mov	rcx, rax
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, 140737488355327
	and	rax, rdx
	or	rax, rcx
	mov	QWORD PTR x[rip], rax
	mov	rax, QWORD PTR x[rip]
	shr	rax
	mov	rcx, rax
	mov	rax, QWORD PTR x[rip]
	and	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, mag01[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 373
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rdx, rcx
	mov	rax, QWORD PTR lung[rip]
	sal	rax, 37
	mov	rcx, rax
	mov	rax, QWORD PTR lung[rip]
	xor	rax, rcx
	xor	rax, rdx
	mov	QWORD PTR lung[rip], rax
	mov	rax, QWORD PTR lung[rip]
	shr	rax, 14
	mov	rdx, rax
	mov	rax, QWORD PTR lung[rip]
	mov	rcx, rdx
	xor	rcx, rax
	mov	rdx, QWORD PTR x[rip]
	mov	eax, DWORD PTR melgi[rip]
	xor	rcx, rdx
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	QWORD PTR [rdx+rax], rcx
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	sal	rax, 6
	xor	rax, rcx
	mov	QWORD PTR x[rip], rax
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 95
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, 503205663848988049
	and	rdx, rax
	mov	rax, QWORD PTR x[rip]
	xor	rax, rdx
	mov	QWORD PTR x[rip], rax
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 1
	mov	DWORD PTR melgi[rip], eax
	mov	eax, DWORD PTR melgi[rip]
	cmp	eax, 322
	jne	.L13
	lea	rax, case_2[rip]
	mov	QWORD PTR genrand64_int64[rip], rax
.L13:
	mov	rax, QWORD PTR x[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	case_1, .-case_1
	.type	case_2, @function
case_2:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, -140737488355328
	and	rax, rdx
	mov	rcx, rax
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, 140737488355327
	and	rax, rdx
	or	rax, rcx
	mov	QWORD PTR x[rip], rax
	mov	rax, QWORD PTR x[rip]
	shr	rax
	mov	rcx, rax
	mov	rax, QWORD PTR x[rip]
	and	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, mag01[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	eax, DWORD PTR melgi[rip]
	sub	eax, 322
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rdx, rcx
	mov	rax, QWORD PTR lung[rip]
	sal	rax, 37
	mov	rcx, rax
	mov	rax, QWORD PTR lung[rip]
	xor	rax, rcx
	xor	rax, rdx
	mov	QWORD PTR lung[rip], rax
	mov	rax, QWORD PTR lung[rip]
	shr	rax, 14
	mov	rdx, rax
	mov	rax, QWORD PTR lung[rip]
	mov	rcx, rdx
	xor	rcx, rax
	mov	rdx, QWORD PTR x[rip]
	mov	eax, DWORD PTR melgi[rip]
	xor	rcx, rdx
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	QWORD PTR [rdx+rax], rcx
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	sal	rax, 6
	xor	rax, rcx
	mov	QWORD PTR x[rip], rax
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 95
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, 503205663848988049
	and	rdx, rax
	mov	rax, QWORD PTR x[rip]
	xor	rax, rdx
	mov	QWORD PTR x[rip], rax
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 1
	mov	DWORD PTR melgi[rip], eax
	mov	eax, DWORD PTR melgi[rip]
	cmp	eax, 600
	jne	.L16
	lea	rax, case_3[rip]
	mov	QWORD PTR genrand64_int64[rip], rax
.L16:
	mov	rax, QWORD PTR x[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	case_2, .-case_2
	.type	case_3, @function
case_3:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, -140737488355328
	and	rax, rdx
	mov	rcx, rax
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, 140737488355327
	and	rax, rdx
	or	rax, rcx
	mov	QWORD PTR x[rip], rax
	mov	rax, QWORD PTR x[rip]
	shr	rax
	mov	rcx, rax
	mov	rax, QWORD PTR x[rip]
	and	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, mag01[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	eax, DWORD PTR melgi[rip]
	sub	eax, 322
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rdx, rcx
	mov	rax, QWORD PTR lung[rip]
	sal	rax, 37
	mov	rcx, rax
	mov	rax, QWORD PTR lung[rip]
	xor	rax, rcx
	xor	rax, rdx
	mov	QWORD PTR lung[rip], rax
	mov	rax, QWORD PTR lung[rip]
	shr	rax, 14
	mov	rdx, rax
	mov	rax, QWORD PTR lung[rip]
	mov	rcx, rdx
	xor	rcx, rax
	mov	rdx, QWORD PTR x[rip]
	mov	eax, DWORD PTR melgi[rip]
	xor	rcx, rdx
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	QWORD PTR [rdx+rax], rcx
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	sal	rax, 6
	xor	rax, rcx
	mov	QWORD PTR x[rip], rax
	mov	eax, DWORD PTR melgi[rip]
	sub	eax, 600
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, 503205663848988049
	and	rdx, rax
	mov	rax, QWORD PTR x[rip]
	xor	rax, rdx
	mov	QWORD PTR x[rip], rax
	mov	eax, DWORD PTR melgi[rip]
	add	eax, 1
	mov	DWORD PTR melgi[rip], eax
	mov	eax, DWORD PTR melgi[rip]
	cmp	eax, 694
	jne	.L19
	lea	rax, case_4[rip]
	mov	QWORD PTR genrand64_int64[rip], rax
.L19:
	mov	rax, QWORD PTR x[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	case_3, .-case_3
	.type	case_4, @function
case_4:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR melg[rip+5552]
	movabs	rdx, -140737488355328
	and	rdx, rax
	mov	rax, QWORD PTR melg[rip]
	movabs	rcx, 140737488355327
	and	rax, rcx
	or	rax, rdx
	mov	QWORD PTR x[rip], rax
	mov	rax, QWORD PTR x[rip]
	shr	rax
	mov	rcx, rax
	mov	rax, QWORD PTR x[rip]
	and	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, mag01[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rdx, rcx
	mov	rax, QWORD PTR melg[rip+2976]
	xor	rdx, rax
	mov	rax, QWORD PTR lung[rip]
	sal	rax, 37
	mov	rcx, rax
	mov	rax, QWORD PTR lung[rip]
	xor	rax, rcx
	xor	rax, rdx
	mov	QWORD PTR lung[rip], rax
	mov	rax, QWORD PTR lung[rip]
	shr	rax, 14
	mov	rdx, rax
	mov	rax, QWORD PTR lung[rip]
	xor	rdx, rax
	mov	rax, QWORD PTR x[rip]
	xor	rax, rdx
	mov	QWORD PTR melg[rip+5552], rax
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR melgi[rip]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	sal	rax, 6
	xor	rax, rcx
	mov	QWORD PTR x[rip], rax
	mov	eax, DWORD PTR melgi[rip]
	sub	eax, 600
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movabs	rdx, 503205663848988049
	and	rdx, rax
	mov	rax, QWORD PTR x[rip]
	xor	rax, rdx
	mov	QWORD PTR x[rip], rax
	mov	DWORD PTR melgi[rip], 0
	lea	rax, case_1[rip]
	mov	QWORD PTR genrand64_int64[rip], rax
	mov	rax, QWORD PTR x[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	case_4, .-case_4
	.globl	genrand64_int63
	.type	genrand64_int63, @function
genrand64_int63:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	shr	rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	genrand64_int63, .-genrand64_int63
	.globl	genrand64_real1
	.type	genrand64_real1, @function
genrand64_real1:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	shr	rax, 11
	test	rax, rax
	js	.L26
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L27
.L26:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L27:
	movsd	xmm1, QWORD PTR .LC0[rip]
	mulsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	genrand64_real1, .-genrand64_real1
	.globl	genrand64_real2
	.type	genrand64_real2, @function
genrand64_real2:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	shr	rax, 11
	test	rax, rax
	js	.L30
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L31
.L30:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L31:
	movsd	xmm1, QWORD PTR .LC1[rip]
	mulsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	genrand64_real2, .-genrand64_real2
	.globl	genrand64_real3
	.type	genrand64_real3, @function
genrand64_real3:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	shr	rax, 12
	test	rax, rax
	js	.L34
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L35
.L34:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L35:
	movsd	xmm1, QWORD PTR .LC2[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC3[rip]
	mulsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	genrand64_real3, .-genrand64_real3
	.globl	genrand64_fast_res52
	.type	genrand64_fast_res52, @function
genrand64_fast_res52:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	shr	rax, 12
	mov	rdx, rax
	movabs	rax, 4607182418800017408
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC4[rip]
	subsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	genrand64_fast_res52, .-genrand64_fast_res52
	.globl	genrand64_fast_res52_open
	.type	genrand64_fast_res52_open, @function
genrand64_fast_res52_open:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	shr	rax, 12
	mov	rdx, rax
	movabs	rax, 4607182418800017409
	or	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC4[rip]
	subsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	genrand64_fast_res52_open, .-genrand64_fast_res52_open
	.globl	genrand64_res53
	.type	genrand64_res53, @function
genrand64_res53:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	shr	rax, 11
	test	rax, rax
	js	.L42
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L43
.L42:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L43:
	movsd	xmm1, QWORD PTR .LC1[rip]
	mulsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	genrand64_res53, .-genrand64_res53
	.section	.rodata
	.align 8
.LC5:
	.ascii	"a31871495c2f64e9655938d42afec1430ebcc71124b13d530790a3dee960"
	.ascii	"d1ee0bb6cc00644378319e36de4ede4065a9f5e8eae02572ed6f250e2263"
	.ascii	"6e39ff9a27fc7090d590afc519f3ea8d3acf0596c3fef37c1076e40125cb"
	.ascii	"16732423af58b3c45b923d7ef14d0cab20f1f08f7e6c8d5fdbea98239a80"
	.ascii	"ec69a429bcba74d3268fbe79c67717fdd4d9a854f88ff882d6028cd228a6"
	.ascii	"6908bf615a2a04c9d3f9c8dae5cf7e9e41f650fd610f45276c45607580b9"
	.ascii	"5041d9f8aa66fcf951d3dc7d5728d36eb186d8755e1cc29818496442eeb2"
	.ascii	"d702f4efeb3a2c8be9dfdf996c0bb45ff97e14f4fa3a9c53a08c452afc3b"
	.ascii	"fcc41c5257957ad1c01f17cc80fd623d685bb8936f388266c0117f8a5a19"
	.ascii	"6488ebc18f1ad252556625a6f710757a1db096b281084a672e093f6c84cf"
	.ascii	"29e3ba58044eed0c8374f8e09126b9080e10d8c6e33d66339b60ece9dc27"
	.ascii	"df759e51ed311aebec77b83b47ac172919958163b863203fc60f018b9f36"
	.ascii	"d227489bb2a8c46f3653a8143d08bc9a96a6acd387c1b9e4478b8ffdbcf5"
	.ascii	"51982746f2bf021c6c2c83662de7eccf542d6daf0d997f871e0b6745d31a"
	.ascii	"bbf219b036466d9412736c5181639452b9d5d6290b2416317e4125e5739d"
	.ascii	"d1860d15109f1cc7bca0fcc048a3d0097ba1577138e100c1129692c77d7a"
	.ascii	"09a01c07b9e15513d6679e615e481932fb4a0a1798b0236610fd0cf9caa5"
	.ascii	"71b6e0c180f68532d42384599eca391aa75c9f3e8b9c46012ee53a0c766d"
	.ascii	"a2b9fec1703ac90975ae78f27497f9d01afc7f8de438c485e3dc316acb83"
	.ascii	"999ef522f7dcd99d48a0450d443aa4b305258fb1c8859de56b017eb587ad"
	.ascii	"f1b0642186179310dbc949c660ddb5560beacad9a28e550907ca4850b0db"
	.ascii	"0b1521c2ea13d4ff184d387d51d19b82210815a5824a9bedb8b67804ba09"
	.ascii	"7d2bfe4012cec291b48260c15c95ec969b83546c0dcc4b2b435f1c7b6fd1"
	.ascii	"b03ad258d34c5b22c30d0ba88144f844d9928258b784c416f9594acdd17d"
	.ascii	"71f8f07164dc0aa457e751b35813ab6a83abd114c1f938d5b4f839354248"
	.ascii	"6e665e9946022e781648ea82cc08133ad2e71578dbc1150e52d0338bbf4c"
	.ascii	"7297559450c16c6420995789aca0f16cd2eed1505a5896f9ed840e9646e3"
	.ascii	"6ac47019ccf297697d2d26aa186aa9fa09dbd106aa1796fad677db1360a7"
	.ascii	"84d05d13c06b4cfe445a6c0aa463bccf73be5f6f609e9876d94023093842"
	.ascii	"3f7abc6514d51cb17e645e40a4f685680651eab70a8c17af64e43c6486db"
	.ascii	"9e411dc5f912c44e6bbaeecadc39e4f805f177b642e6a1e029e7a15acaa2"
	.ascii	"f5d71dc2aa1d9775b6c51ef4293353a10145d0d3f2d8485863484f0a1a48"
	.ascii	"c28f7d56ca311343fb2e18550fd4e67c77da467784acfff8652f959b481a"
	.ascii	"2a4918b8aabf9c0176ee"
	.ascii	"14e2c6b7279b810a1696050365bbf1f7cd023bb98caad2d0f69cc3ac04d1"
	.ascii	"921c1007eee16d6d9188352580f2f8dee387aecc1abadd739d932ef5b945"
	.ascii	"ee57532aeff57bdc1e492d261ef2bf7c467c142eee905c8dbe5f452f5183"
	.ascii	"9e66fd793575c3b4fe748b205662d4e2aaa63f857f8e42e80e79b64bf86d"
	.ascii	"bbf818aad66b3c8fc1bc404a83eb155a32a4a16049795f46433801d59a78"
	.ascii	"f3a137aa12c698ee2fa24331fd10e990bde99e077fdb9d4e9736ec513ebb"
	.ascii	"73c6c6b67e3c20129b83d07247307c3d58ba43d3e46d0e6af239f3ee2f0a"
	.ascii	"35b99f8da0a3c6a57d0ea0ce7428bab28fbd061d44c8f38e25291ff9c71f"
	.ascii	"63dfacceae0321e635273a22d0888387ebad489088d7efe0463592002545"
	.ascii	"654694b875dd37d73c09037ed729d8b7dc9d228ac76701633fbb09fe7151"
	.ascii	"de513b1b1b698c05a526dd4112aa81cd372790daaaef1e3abd242d00c050"
	.ascii	"8e4803f669cd59d771fc502e17167369cf408e97f1df4ac3ea9287170745"
	.ascii	"297e6aae5f2437b07097250d3c2e23800b0fc3ce36ee288502ff035b5247"
	.ascii	"c10a83e82b6fba5da027a5a67b8958e44546da9271b7c6cc2fadfb2bd979"
	.ascii	"ac9d4859b4d3a4c9209e6166d0b76f501fa3d92fbd750501e29c1df9aa8c"
	.ascii	"3848282c80fb86a53cf53638093e0ffb29c8b38e84d533300b6845d5f8ef"
	.ascii	"2936e86b654ee2006681ee23333861790bd8c75b7a4ccdd4f4ec9f671e7f"
	.ascii	"ece5c732ec02e80d4a7526b29904b6cf48ad38106d69f18b001fe17f6c97"
	.ascii	"6239019116e1d292fd21b954298e30567b78b322b68d467c6c9372a23ecc"
	.ascii	"62b9b2b75fcdbf47bcbc5e5d9ce305bdc9e06c1cdf01969289003e61e242"
	.ascii	"3a0e51322ee25110520552f52c17eea231b9c7f01c3eff85c1619ff825c3"
	.ascii	"b7d6b8eab7b4adb82e33a88f7e9e2699d28ec6ce48de61dd043c02105831"
	.ascii	"cf9e40f1b0f04f5262492d59a37c8f30fa4edd4c668e7db75ac9d9a244b0"
	.ascii	"8b5b5ade036b642f940a47519170d42e8b8ca1a79c8b35105f2b4361578c"
	.ascii	"724807b9384a185cde9e79e5257fd9c5d8e808f4559413b6cc8a130bc0d6"
	.ascii	"0f7ef58fb4c0c8201ed9e286b89df658c69c732f8cea9f0efa77e3c458d0"
	.ascii	"dbdded1f946602e4b7c73839ac242bf8fca0a19566e8d077db36b7a89981"
	.ascii	"0372f66700b3a655065c2f972b437f7c0c125133fb1d7aafe13a630fbeda"
	.ascii	"24e7ff5691e1534bfdbdd20903ade7422d0c078d3aea60460ec7a0ba89c5"
	.ascii	"bc9cff2575af6de87f73b3cc77871f3d8c68b8e7d3b94c071cb0e56884ec"
	.ascii	"bdde7f207ab4a2963dc6e386e26d8f2aa94801911afecdffbc2ca4591c47"
	.ascii	"c9bdbceadc98275ea91ea0a9a3f1985a77c15ebdfd48050c321dcf4b1fb5"
	.ascii	"296352279dcd83031e8451e83e9c5362711270026af1efec3d123504b3fe"
	.ascii	"2f3ee5f162098e9b43b3"
	.ascii	"ef408b4f838cc0cda5241400daca6b2001008eb451c85b8bcb29bbd4aecd"
	.ascii	"d3041cb8f8037d559dce46f79b902998a1a1e333f389ed0d52c2c8d31e84"
	.ascii	"d0b41f26d8785e473ddf758b4cf3acb7d83878107699582771276c122271"
	.ascii	"a71b5220d0cf68f5a941c768a1d404a84f5a103e0a8da215ccf05ccccc96"
	.ascii	"fba492de5d6b11a62191275decf97723285132f3c19b7809cfc659b338d6"
	.ascii	"5dc3f2f1950d45b213231c89d811e554174cf2d7aad6be703872c7f1c02f"
	.ascii	"af6267bae046a1293a53d827a1bf0278272be89dfa1fa85c7f6332865400"
	.ascii	"b6873479d77c0d3c68fd242506c20efdfce8a70a1d0f16d4f1a12b1dd0ab"
	.ascii	"33778deaa3d7a168a3716ee09a6dc4b1d19c00423732d43a22ad978a9bbd"
	.ascii	"2cf6c5c985a6666f7c3e2881013836d9280ecc3494bd0232629e608920ac"
	.ascii	"c306ddb61da9b82ae8a3f0a1dd26de008f7f27704451a8d0dce4016689ab"
	.ascii	"6e066f6cbcb58ec4eb1b7d46761f510d3292f16de8f07f513d7070c6785b"
	.ascii	"3752a635ce48b81ffae016a145236f8c1d5c2fb94f10e4094bf9ef576e89"
	.ascii	"74dd06d4ec5905f150862a40c79ac15f0718c86cf61b3855d39614d940e4"
	.ascii	"954bb61835b63ebd1f378f7ff4fe243800ecd1a98c2dc74438e618207f62"
	.ascii	"ee0bf82c27b563de1b396c794868406645b13dfffd2eef8e4edcd616427b"
	.ascii	"db88cf72225ca635b46e75cf7cca446440c8e490e7e742b7096c9c717700"
	.ascii	"5d3bb8ece97806e21c55d5cf1d23a032c3e86e6e22d2170c34d99b012d85"
	.ascii	"51b6cbf565ac110d99ffeca2d84404fb855e0df4094fc04998ca30eff10e"
	.ascii	"d73a67d810ef540b659bb08c3307514389c6b3c89d32746c08d24a44f815"
	.ascii	"28cd6701716cd5c52ff207aacfaca17cbcaa42d079c70cb2446514a94cae"
	.ascii	"89f18d5ed19963d6d4a65fb3490011362c5ee37114062c0cdf957f67818d"
	.ascii	"8afd34f258d858e0531f2cc0514ead0d9a58e282bedf2722fa0f3ab3253d"
	.ascii	"751e0f3adb5cedf67b1e865684708989162bad3ea168513df54976e41bd3"
	.ascii	"82f989f37865fbfb86dbdfdb04de5466c2b9ad5a54036f8fc0bb7336bfdf"
	.ascii	"0bac117e40b2a083e68b1d4c6dc062c353e602db6d926437ee88813b554a"
	.ascii	"3ca6f22436bd8f7577fbe99b795ea3ea81fd0852859052677983a2faedeb"
	.ascii	"66bfbfa46b58fdaa294d6d67beff2c9d11d29c9a9e9d4e97b1c1307735b4"
	.ascii	"6bf04dcd2c7590e0df7377e0b738cc3e83519d1451b361ce805d85cd15a8"
	.ascii	"e075f8b940424bc61dc9d2da15718c1be1e9ae618fc0d954592ebecddce0"
	.ascii	"21114cfadf8ba8093d282fc9126d993f310d75d3c2430a9c06820a43cd69"
	.ascii	"130e7d0e3d29d5bd3d9f974e765d919db72e99aea45c98fe0abd15da1a50"
	.ascii	"b549e5ad2d19f4db2a74079ded2173d66d4c696d9f5d1f72e2f98a0a5f7f"
	.ascii	"9bec9a53e68e5083c154"
	.ascii	"a5afa1705fbdae6cce3d995ad541cd9135ada17ebc81249091fa24aa760e"
	.ascii	"783bf38e52aee5802f25973dabad3b4162d5acfdc7d870c04a551f6cff0d"
	.ascii	"6a9541005ebcd07b390312fbd948dea8bc65deba9804758330dc7b149d01"
	.ascii	"fe9032ce1b97b4d6d501d31fc6e2cb0abfac8b4d457081ffa614d3c14991"
	.ascii	"4bb28199b68858d7bce5ffcdacbdc4a142fef87501946c63b1c750fb9d69"
	.ascii	"93012e7eab85bc3083056c26dcbf8d6c92ddb23d9718378816004e218544"
	.ascii	"f35eb5bb7dee0e396060e49c61897cce64ce419be0d6639ace204bbedbcf"
	.ascii	"0835bc713fb17b4cd521ad378417b29074d28c1e75f0b5378b303256f08d"
	.ascii	"ad97b2c5584ad5f5217beeeedb69e1813ee62891417c166f0ad7326be329"
	.ascii	"25d573087a9f9f593feba6bf08dfbc4d4abd0783c05dee281255e7da959e"
	.ascii	"a5d3d3c62b8a62ef397490d8da2c35c708ec7136905e52049cc408e1f82c"
	.ascii	"299865406b2da8a72e7759099711518bc80f4d2227c6447abc91a4fdc6e9"
	.ascii	"7a578e4d70d2e48508f18eb03dba323f4b2c02bc24bde1572c9ee8997c91"
	.ascii	"accd1331b3b22147470d6587a7c343704f7fbb3048b70b7f6e96b4956b69"
	.ascii	"ce4a425be485548a1a99e2fed32d639776a5dc680802c871bef0c88e508c"
	.ascii	"92390b96c5d7ebeb3d4d40a0c2a4b606ab8ea19d0b6009e59d3e90d731b1"
	.ascii	"00747c38250c7df11fe3cf693a46b88c27b933400014a842ce5924ba9354"
	.ascii	"343dc64306865fbede5c7650a192f4705eaf59bb80627abdfc70b0d1e694"
	.ascii	"1312fe96eb9eb5bb9704a268dd4330e35348341001454a96e2a534261d1f"
	.ascii	"4e88d0ba540ff9818c2a26dc847335b0e831963de8ee5342aecccdbea1f9"
	.ascii	"85b7445c123948835eb75705231fc485c02abbbe592b0c33f5257ee94074"
	.ascii	"2e92e43d3d901d6166de063ad9199ddb4da66955f1f7b4261a653452929c"
	.ascii	"138465b6deb67c189ab8f27271ad3fac1e82ee43394d38a920a1cb102014"
	.ascii	"df9841e16c5a939478fccf09dd6639a068c0dcae523c5a25eb316a03b1d6"
	.ascii	"d5872b79387694778f47e7341ccda18384a60866b2302023fc4e18179570"
	.ascii	"ea41ff437d0b196153c5d82c5dee1b00a21284e90070f80aaaf6db25bea0"
	.ascii	"711902528e1455c5ef810893857c25231dd0bb95b6d6a32d7501bd185f59"
	.ascii	"0f7211d5e70e5051f866ac33c846253cf2449de94db274dde042aa436395"
	.ascii	"bce16340bf94cd7da67b0bb63f61603c55a4811262936d2d6f338ee4af95"
	.ascii	"2beb557fc4ba052484fc95ec5e1d2c8d0fcffb93b65c138835363740234a"
	.ascii	"641a1464231b23a105d65a16b40e73178b0476fd5998e52f27b6bdd08e97"
	.ascii	"1e4495593366a033b69e7094762de5e681980acb7cb8ec242b37701460ab"
	.ascii	"017d99048b016b70f35579954a74a4cb01a102b5d2e160f8308781408ee9"
	.ascii	"2c7dbe2b3ae769f3a178"
	.ascii	"b89163c96e533a99c5110e8ec37835393a218b2ca23ac7644ed37b747545"
	.ascii	"c61882397ce603e6026ad0bef2fa946cda0d2a59a3e8afd8ece6dbd974b2"
	.ascii	"9c1cd98ec86ce98cf1f6db790bdcda3d5430f32dd00669bed51a5bac10b8"
	.ascii	"ce64c38a385a82f17d6e496e48cb251942ffb5ae5dd998398157c098c9b0"
	.ascii	"4d9af00027ca17b70d46f3390bbf0ab84702c98167ef3750363a336eccc4"
	.ascii	"00632ced942feab19c7c679d7a28638765ca961a791edf9670d02503a119"
	.ascii	"58f566a231ce8f5cc5b8f7d335f3257e810e4f413e1f305bbafa701a392d"
	.ascii	"a105d4c315ecdfe9ec45a8ed2fec77ed24be9b2149552ea90803f09cc7fa"
	.ascii	"0a7c798baaadf9b1d7cab44f4d1dc5a3cec9a20ce2ed4f67b0dc0d6fd8aa"
	.ascii	"f1608116d037feba862a1986dd3aa9a1307fd6993a43af8db68e170c1326"
	.ascii	"6c3a40be8c9fe40df9d813ee3eb0e73e027ba7b3e2ad555d5db542f2841b"
	.ascii	"4aba58fd8cae4768225e039d46393b069c8c1a4fb6b8d109d17059eb790b"
	.ascii	"2e1f88c2419836f372e80faff2d7b669381470b5622fa11f98343d879b10"
	.ascii	"46a972cd2e7334179defc1922942f1cd3fab0091693af023024bf49f82f7"
	.ascii	"4f3b06ff4736062a83c63c51f8c8ffd4ed49cc0611d04c013d3f54eab2a3"
	.ascii	"5ff997c0214973b1de90e85389d59bc4c8cb1f8c16b5731952f2f5054e92"
	.ascii	"487a138ef6bf60982b3b272984f0da2af7a547b92aecb993540c889f02e5"
	.ascii	"e7a5530d8361c507e498ab152b3b7356ae97cddcb67c17817df63c352ceb"
	.ascii	"88c00460c6a4b9bf1bd2e5c95d10350e2f16bc7141815ae90c75895a951b"
	.ascii	"cf64696f053fc2bca511a9a624c8b67272724ee71a1247a51eb49d3b08ea"
	.ascii	"9b108b751f99141c5cee292a22a9e5e40d9640bbebdfcece68d563df2a57"
	.ascii	"c8404ae12f579bfa069b648be292581f0ea37a3034df97734bc9dc9814b1"
	.ascii	"8a74149d860531365273a1d60e7fe5d7d4a87e00de305e1d0089c3c9f347"
	.ascii	"cfbb711532cd6e397ad35dc60e2bd83145edc01bcc2f06443f51b5039a63"
	.ascii	"15eb9c7f209ae926c842caa8ad18d6a3bd62ac4d6f65153e52460405e492"
	.ascii	"a1a866c0f5bdfeadda2c00efb3043158d2c6e1be58e939a77e94d1a9b166"
	.ascii	"76141cf4657d8039cb668b939dfe63c67f6c21b10424ccf80edee01ce02c"
	.ascii	"caa95c60edac675e08c86a09ee887cfb725f855ebbfe65c0204a4c15e9de"
	.ascii	"808d047ada80923a17a9fbb3c69f9ebb7e6dc6efcac9fe2983d6b1c4d5bb"
	.ascii	"82319cb1e65c1a0358f94f12111a0ef891cc7af7b5965bb772951286aac3"
	.ascii	"8d11b3b454d0f153fcfaa03f8526108eff7cf0cc77b308d44c5527777137"
	.ascii	"66f8ceec116e37714eb054f3191b6298be3ac743edcd071b23a680747a01"
	.ascii	"3c93ff92e12396318a6b56bde3c7136073dcee1dd8e7af29e9d6540c714c"
	.ascii	"46305e857e41bd078b8e"
	.ascii	"5ff3d609ee5a8d36ba9ac2cf58ce62da84d779ae0f699eff6a5a770e9208"
	.ascii	"8b2f65ee52347d91f493b79ffe3c6f76b999f32b122b12dca81a84bcb80c"
	.ascii	"c009806c77c4ceb6b20cefeee1f64bd8ead5fc1591b325683785ac44b6c4"
	.ascii	"9aa10b483c69bf998a21efa40af7aae227a88cb040e4806ad29ea7683318"
	.ascii	"687462fa1952c697ce9373bba2c3f4c6dc683fb52a7c61c9b2ec87246335"
	.ascii	"d677f7d155843279e46f56cd13bed457b40771f964aa245cfde7f0dcb9c5"
	.ascii	"8ed0aec35119f363ee526ca806ed404f3425e0fac7da6606958c9f156516"
	.ascii	"893da9df4fb4c7673f96daf9e6c990aaf09ca48c42c91b7d7753f9f2f278"
	.ascii	"d65f578e9ecec1f52b65e9c5c6977e2a04434742ff8ce6873e225555da21"
	.ascii	"a7902b60b25d4352978050866e6f572eb00519944e68b16d60abf4a2d049"
	.ascii	"980a2d7d97c103d1ab589d619b90fbd7210a99b9a82b0c32e4e01b8a0099"
	.ascii	"e762c5676e68419187468fceb8aedf7e1fc0cfc71a1212ee54d1177e8d61"
	.ascii	"e9ea391421371b57fc522c256e7f5704909f7a677ad8c349f19198a0d1e3"
	.ascii	"43f8fddf40e0853e71f207d5a9ca9f6a882ea8a67d39b7c4237fb1f7f3f9"
	.ascii	"c644d5e468df85ed5de9373abcc8a"
	.string	"7fcb4b91208b5d80c5e3305351e120e0166f18cc179bab703e1ef0d9a3f1edd3e8a4fa1f8336abcc1899a4d2f67d9a3b3d8507d2d5dd9845651d528a5292936b62c49c60396454bd2019419a1f3693c781a7628038f05735ae85998ec14f2b72d89c94ed01fbf5fca09afa7788be289c32cae4e217511d3067b7d9e0c27e0110"
	.text
	.globl	melg_jump
	.type	melg_jump, @function
melg_jump:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 2976
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -11136[rbp]
	lea	rcx, .LC5[rip]
	mov	edx, 11126
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	edi, 5584
	call	malloc@PLT
	mov	QWORD PTR -11144[rbp], rax
	mov	rax, QWORD PTR -11144[rbp]
	mov	QWORD PTR [rax], 0
	mov	DWORD PTR -11160[rbp], 0
	jmp	.L46
.L47:
	mov	rax, QWORD PTR -11144[rbp]
	mov	edx, DWORD PTR -11160[rbp]
	movsx	rdx, edx
	mov	QWORD PTR 8[rax+rdx*8], 0
	add	DWORD PTR -11160[rbp], 1
.L46:
	cmp	DWORD PTR -11160[rbp], 694
	jle	.L47
	mov	edx, DWORD PTR melgi[rip]
	mov	rax, QWORD PTR -11144[rbp]
	mov	DWORD PTR 5568[rax], edx
	mov	rdx, QWORD PTR genrand64_int64[rip]
	mov	rax, QWORD PTR -11144[rbp]
	mov	QWORD PTR 5576[rax], rdx
	mov	DWORD PTR -11160[rbp], 0
	jmp	.L48
.L54:
	mov	eax, DWORD PTR -11160[rbp]
	cdqe
	movzx	eax, BYTE PTR -11136[rbp+rax]
	movsx	eax, al
	mov	DWORD PTR -11152[rbp], eax
	cmp	DWORD PTR -11152[rbp], 96
	jle	.L49
	cmp	DWORD PTR -11152[rbp], 102
	jg	.L49
	sub	DWORD PTR -11152[rbp], 87
	jmp	.L50
.L49:
	sub	DWORD PTR -11152[rbp], 48
.L50:
	and	DWORD PTR -11152[rbp], 15
	mov	DWORD PTR -11148[rbp], 8
	mov	DWORD PTR -11156[rbp], 0
	jmp	.L51
.L53:
	mov	eax, DWORD PTR -11152[rbp]
	and	eax, DWORD PTR -11148[rbp]
	test	eax, eax
	je	.L52
	mov	rax, QWORD PTR -11144[rbp]
	mov	rdi, rax
	call	add
.L52:
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	sar	DWORD PTR -11148[rbp]
	add	DWORD PTR -11156[rbp], 1
.L51:
	cmp	DWORD PTR -11156[rbp], 3
	jle	.L53
	add	DWORD PTR -11160[rbp], 1
.L48:
	cmp	DWORD PTR -11160[rbp], 11124
	jle	.L54
	mov	rax, QWORD PTR -11144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR lung[rip], rax
	mov	DWORD PTR -11160[rbp], 0
	jmp	.L55
.L56:
	mov	rax, QWORD PTR -11144[rbp]
	mov	edx, DWORD PTR -11160[rbp]
	movsx	rdx, edx
	mov	rax, QWORD PTR 8[rax+rdx*8]
	mov	edx, DWORD PTR -11160[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	lea	rdx, melg[rip]
	mov	QWORD PTR [rcx+rdx], rax
	add	DWORD PTR -11160[rbp], 1
.L55:
	cmp	DWORD PTR -11160[rbp], 694
	jle	.L56
	mov	rax, QWORD PTR -11144[rbp]
	mov	eax, DWORD PTR 5568[rax]
	mov	DWORD PTR melgi[rip], eax
	mov	rax, QWORD PTR -11144[rbp]
	mov	rax, QWORD PTR 5576[rax]
	mov	QWORD PTR genrand64_int64[rip], rax
	mov	rax, QWORD PTR -11144[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L57
	call	__stack_chk_fail@PLT
.L57:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	melg_jump, .-melg_jump
	.type	add, @function
add:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR lung[rip]
	xor	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 5568[rax]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR melgi[rip]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jg	.L59
	mov	eax, 695
	sub	eax, DWORD PTR -12[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L60
.L61:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	rcx, QWORD PTR 8[rax+rdx*8]
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	QWORD PTR 8[rax+rdx*8], rcx
	add	DWORD PTR -20[rbp], 1
.L60:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jl	.L61
	jmp	.L62
.L63:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	rcx, QWORD PTR 8[rax+rdx*8]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	QWORD PTR 8[rax+rdx*8], rcx
	add	DWORD PTR -20[rbp], 1
.L62:
	cmp	DWORD PTR -20[rbp], 694
	jle	.L63
	mov	DWORD PTR -20[rbp], 0
	jmp	.L64
.L65:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	rcx, QWORD PTR 8[rax+rdx*8]
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	QWORD PTR 8[rax+rdx*8], rcx
	add	DWORD PTR -20[rbp], 1
.L64:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jl	.L65
	jmp	.L73
.L59:
	mov	eax, 695
	sub	eax, DWORD PTR -16[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	sub	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L67
.L68:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	rcx, QWORD PTR 8[rax+rdx*8]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	QWORD PTR 8[rax+rdx*8], rcx
	add	DWORD PTR -20[rbp], 1
.L67:
	cmp	DWORD PTR -20[rbp], 694
	jle	.L68
	mov	DWORD PTR -20[rbp], 0
	jmp	.L69
.L70:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	rcx, QWORD PTR 8[rax+rdx*8]
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	QWORD PTR 8[rax+rdx*8], rcx
	add	DWORD PTR -20[rbp], 1
.L69:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L70
	jmp	.L71
.L72:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	rcx, QWORD PTR 8[rax+rdx*8]
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, melg[rip]
	mov	rax, QWORD PTR [rdx+rax]
	xor	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	mov	QWORD PTR 8[rax+rdx*8], rcx
	add	DWORD PTR -20[rbp], 1
.L71:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jl	.L72
.L73:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	add, .-add
	.section	.rodata
	.align 8
.LC6:
	.string	"1000 outputs of genrand64_int64()"
.LC7:
	.string	"%20llu "
	.align 8
.LC8:
	.string	"\n1000 outputs of genrand64_res53()"
.LC9:
	.string	"%10.15f "
.LC10:
	.string	"\njump ahead by 2^256 steps"
	.align 8
.LC11:
	.string	"\n1000 outputs of genrand64_int64()"
	.text
	.globl	main
	.type	main, @function
main:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -48[rbp], 74565
	mov	QWORD PTR -40[rbp], 144470
	mov	QWORD PTR -32[rbp], 214375
	mov	QWORD PTR -24[rbp], 284280
	mov	QWORD PTR -56[rbp], 4
	mov	rdx, QWORD PTR -56[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	init_by_array64
	lea	rdi, .LC6[rip]
	call	puts@PLT
	mov	DWORD PTR -60[rbp], 0
	jmp	.L75
.L77:
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	mov	rsi, rax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edx, DWORD PTR -60[rbp]
	movsx	rax, edx
	imul	rax, rax, 1717986919
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 2
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cmp	eax, 4
	jne	.L76
	mov	edi, 10
	call	putchar@PLT
.L76:
	add	DWORD PTR -60[rbp], 1
.L75:
	cmp	DWORD PTR -60[rbp], 999
	jle	.L77
	lea	rdi, .LC8[rip]
	call	puts@PLT
	mov	DWORD PTR -60[rbp], 0
	jmp	.L78
.L80:
	call	genrand64_res53
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC9[rip]
	mov	eax, 1
	call	printf@PLT
	mov	edx, DWORD PTR -60[rbp]
	movsx	rax, edx
	imul	rax, rax, 1717986919
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 2
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cmp	eax, 4
	jne	.L79
	mov	edi, 10
	call	putchar@PLT
.L79:
	add	DWORD PTR -60[rbp], 1
.L78:
	cmp	DWORD PTR -60[rbp], 999
	jle	.L80
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	call	melg_jump
	lea	rdi, .LC11[rip]
	call	puts@PLT
	mov	DWORD PTR -60[rbp], 0
	jmp	.L81
.L83:
	mov	rax, QWORD PTR genrand64_int64[rip]
	call	rax
	mov	rsi, rax
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edx, DWORD PTR -60[rbp]
	movsx	rax, edx
	imul	rax, rax, 1717986919
	shr	rax, 32
	sar	eax
	mov	ecx, edx
	sar	ecx, 31
	sub	eax, ecx
	mov	ecx, eax
	sal	ecx, 2
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	cmp	eax, 4
	jne	.L82
	mov	edi, 10
	call	putchar@PLT
.L82:
	add	DWORD PTR -60[rbp], 1
.L81:
	cmp	DWORD PTR -60[rbp], 999
	jle	.L83
	mov	eax, 0
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L85
	call	__stack_chk_fail@PLT
.L85:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC0:
	.long	1
	.long	1017118720
	.align 8
.LC1:
	.long	0
	.long	1017118720
	.align 8
.LC2:
	.long	0
	.long	1071644672
	.align 8
.LC3:
	.long	0
	.long	1018167296
	.align 8
.LC4:
	.long	0
	.long	1072693248
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"152140.c"
	.text
	.local	melg
	.comm	melg,5560,8
	.local	melgi
	.comm	melgi,4,4
	.local	lung
	.comm	lung,8,8
	.data
	.align	3
	.type	mag01, %object
	.size	mag01, 16
mag01:
	.word	0
	.word	0
	.word	-225195607
	.word	1336527414
	.local	x
	.comm	x,8,8
	.comm	genrand64_int64,4,4
	.text
	.align	2
	.global	init_genrand64
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_genrand64, %function
init_genrand64:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #24
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	ldr	ip, .L4
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	stm	ip, {r0-r1}
	ldr	r1, .L4+4
	mov	r0, #1
	str	r0, [r1]
	b	.L2
.L3:
	ldr	r1, .L4+4
	ldr	r1, [r1]
	sub	r1, r1, #1
	ldr	r0, .L4
	lsl	r1, r1, #3
	add	r1, r0, r1
	ldmia	r1, {r6-r7}
	ldr	r1, .L4+4
	ldr	r1, [r1]
	sub	r1, r1, #1
	ldr	r0, .L4
	lsl	r1, r1, #3
	add	r1, r0, r1
	ldmia	r1, {r0-r1}
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	mov	r0, #0
	mov	r1, #0
	ldr	ip, [fp, #-48]
	lsr	r0, ip, #30
	mov	r1, #0
	eor	r4, r6, r0
	eor	r5, r7, r1
	ldr	r1, .L4+8
	mul	r0, r1, r5
	ldr	r1, .L4+12
	mul	r1, r4, r1
	add	ip, r0, r1
	ldr	lr, .L4+8
	umull	r0, r1, r4, lr
	add	ip, ip, r1
	mov	r1, ip
	ldr	ip, .L4+4
	ldr	ip, [ip]
	mov	r6, ip
	asr	r7, r6, #31
	ldr	ip, .L4+4
	ldr	ip, [ip]
	adds	lr, r0, r6
	str	lr, [fp, #-44]
	adc	r1, r1, r7
	str	r1, [fp, #-40]
	ldr	r0, .L4
	lsl	r1, ip, #3
	add	r1, r0, r1
	sub	r7, fp, #44
	ldmia	r7, {r6-r7}
	stm	r1, {r6-r7}
	ldr	r1, .L4+4
	ldr	r1, [r1]
	add	r1, r1, #1
	ldr	r0, .L4+4
	str	r1, [r0]
.L2:
	ldr	r1, .L4+4
	ldr	r1, [r1]
	ldr	r0, .L4+16
	cmp	r1, r0
	ble	.L3
	ldr	r1, .L4+4
	ldr	r1, [r1]
	sub	r1, r1, #1
	ldr	r0, .L4
	lsl	r1, r1, #3
	add	r1, r0, r1
	ldmia	r1, {r4-r5}
	ldr	r1, .L4+4
	ldr	r1, [r1]
	sub	r1, r1, #1
	ldr	r0, .L4
	lsl	r1, r1, #3
	add	r1, r0, r1
	ldmia	r1, {r6-r7}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r7, #30
	mov	r1, #0
	eor	r2, r4, r0
	eor	r3, r5, r1
	ldr	r1, .L4+8
	mul	r0, r1, r3
	ldr	r1, .L4+12
	mul	r1, r2, r1
	add	ip, r0, r1
	ldr	lr, .L4+8
	umull	r0, r1, r2, lr
	add	r3, ip, r1
	mov	r1, r3
	ldr	r3, .L4+4
	ldr	r3, [r3]
	mov	r2, r3
	asr	r3, r2, #31
	adds	r8, r0, r2
	adc	r9, r1, r3
	ldr	r3, .L4+20
	stm	r3, {r8-r9}
	ldr	r3, .L4+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L4+24
	ldr	r2, .L4+28
	str	r2, [r3]
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L5:
	.align	2
.L4:
	.word	melg
	.word	melgi
	.word	1284865837
	.word	1481765933
	.word	694
	.word	lung
	.word	genrand64_int64
	.word	case_1
	.size	init_genrand64, .-init_genrand64
	.align	2
	.global	init_by_array64
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_by_array64, %function
init_by_array64:
	@ args = 0, pretend = 0, frame = 192
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #192
	str	r0, [fp, #-56]
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	adr	r1, .L15
	ldmia	r1, {r0-r1}
	bl	init_genrand64
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	ldr	r2, .L15+8
	mov	r3, #0
	cmp	r1, r3
	cmpeq	r0, r2
	bcs	.L7
	ldr	r0, .L15+8
	mov	r1, #0
.L7:
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	b	.L8
.L11:
	ldr	r2, .L15+40
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r6-r7}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-76]
	sbc	r3, r3, #0
	str	r3, [fp, #-72]
	ldr	r2, .L15+40
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-84]
	sbc	r3, r3, #0
	str	r3, [fp, #-80]
	ldr	r2, .L15+40
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r3, #30
	mov	r1, #0
	eor	r3, r4, r0
	str	r3, [fp, #-92]
	eor	r3, r5, r1
	str	r3, [fp, #-88]
	ldr	r3, .L15+12
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	mov	r2, r1
	mul	r2, r3, r2
	ldr	r3, .L15+16
	mov	ip, r0
	mul	ip, r3, ip
	mov	r3, ip
	add	r2, r2, r3
	ldr	r3, .L15+12
	mov	ip, r0
	umull	r0, r1, ip, r3
	add	r3, r2, r1
	mov	r1, r3
	eor	r3, r6, r0
	str	r3, [fp, #-100]
	eor	r3, r7, r1
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-44]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	mov	ip, r0
	adds	r8, ip, r2
	adc	r9, r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	adds	r1, r8, r2
	str	r1, [fp, #-108]
	adc	r3, r9, r3
	str	r3, [fp, #-104]
	ldr	r2, .L15+40
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	sub	r2, fp, #108
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-188]
	adc	r3, r3, #0
	str	r3, [fp, #-184]
	sub	r4, fp, #188
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-52]
	str	r4, [fp, #-48]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-196]
	adc	r3, r3, #0
	str	r3, [fp, #-192]
	sub	r4, fp, #196
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-44]
	str	r4, [fp, #-40]
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	ldr	r2, .L15+20
	mov	r3, #0
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L9
	ldr	r3, .L15+40
	add	r3, r3, #5504
	add	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldr	r1, .L15+40
	stm	r1, {r2-r3}
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L9:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bcc	.L10
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
.L10:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-204]
	sbc	r3, r3, #0
	str	r3, [fp, #-200]
	sub	r4, fp, #204
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
.L8:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L11
	ldr	r2, .L15+20
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L12
.L16:
	.align	3
.L15:
	.word	19650218
	.word	0
	.word	695
	.word	832913285
	.word	916318735
	.word	694
	.word	666578662
	.word	-2018463491
	.word	-695
	.word	lung
	.word	melg
	.word	melgi
.L14:
	ldr	r2, .L15+40
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r6-r7}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-116]
	sbc	r3, r3, #0
	str	r3, [fp, #-112]
	ldr	r2, .L15+40
	ldr	r3, [fp, #-116]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-124]
	sbc	r3, r3, #0
	str	r3, [fp, #-120]
	ldr	r2, .L15+40
	ldr	r3, [fp, #-124]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r3, #30
	mov	r1, #0
	eor	r3, r4, r0
	str	r3, [fp, #-132]
	eor	r3, r5, r1
	str	r3, [fp, #-128]
	ldr	r3, .L15+28
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	mov	r2, r1
	mul	r2, r3, r2
	ldr	r3, .L15+24
	mov	ip, r0
	mul	ip, r3, ip
	mov	r3, ip
	add	r2, r2, r3
	ldr	r3, .L15+28
	mov	ip, r0
	umull	r0, r1, ip, r3
	add	r3, r2, r1
	mov	r1, r3
	eor	r3, r6, r0
	str	r3, [fp, #-140]
	eor	r3, r7, r1
	str	r3, [fp, #-136]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	mov	ip, r0
	subs	ip, ip, r2
	str	ip, [fp, #-148]
	sbc	r3, r1, r3
	str	r3, [fp, #-144]
	ldr	r2, .L15+40
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #3
	add	r3, r2, r3
	sub	r2, fp, #148
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-212]
	adc	r3, r3, #0
	str	r3, [fp, #-208]
	sub	r4, fp, #212
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-52]
	str	r4, [fp, #-48]
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	ldr	r2, .L15+20
	mov	r3, #0
	cmp	r1, r3
	cmpeq	r0, r2
	bls	.L13
	ldr	r3, .L15+40
	add	r3, r3, #5504
	add	r3, r3, #48
	ldmia	r3, {r2-r3}
	ldr	r1, .L15+40
	stm	r1, {r2-r3}
	mov	r2, #1
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L13:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	subs	r1, r2, #1
	str	r1, [fp, #-220]
	sbc	r3, r3, #0
	str	r3, [fp, #-216]
	sub	r4, fp, #220
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
.L12:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L14
	ldr	r3, .L15+40
	add	r3, r3, #5504
	add	r3, r3, #48
	ldmia	r3, {r0-r1}
	ldr	r3, .L15+40
	add	r3, r3, #5504
	add	r3, r3, #48
	ldmia	r3, {r4-r5}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r5, #30
	mov	r3, #0
	eor	ip, r0, r2
	str	ip, [fp, #-156]
	eor	r3, r1, r3
	str	r3, [fp, #-152]
	ldr	r3, .L15+28
	sub	r5, fp, #156
	ldmia	r5, {r4-r5}
	mov	r2, r5
	mul	r2, r3, r2
	ldr	r3, .L15+24
	mov	r1, r4
	mul	r1, r3, r1
	mov	r3, r1
	add	r1, r2, r3
	ldr	r0, .L15+28
	mov	ip, r4
	umull	r2, r3, ip, r0
	add	r1, r1, r3
	mov	r3, r1
	ldr	r1, .L15+36
	ldmia	r1, {r0-r1}
	eor	ip, r2, r0
	str	ip, [fp, #-164]
	eor	r3, r3, r1
	str	r3, [fp, #-160]
	ldr	r2, .L15+32
	mvn	r3, #0
	sub	r1, fp, #164
	ldmia	r1, {r0-r1}
	mov	ip, r0
	adds	ip, ip, r2
	str	ip, [fp, #-172]
	adc	r3, r1, r3
	str	r3, [fp, #-168]
	ldr	r3, .L15+36
	sub	r2, fp, #172
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L15+40
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #-2147483648
	orr	ip, r2, r0
	str	ip, [fp, #-180]
	orr	r3, r3, r1
	str	r3, [fp, #-176]
	ldr	r3, .L15+40
	sub	r2, fp, #180
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L15+44
	mov	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	init_by_array64, .-init_by_array64
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	case_1, %function
case_1:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #76
	ldr	r3, .L20+8
	ldr	r3, [r3]
	ldr	r2, .L20+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L20+16
	and	r6, r0, r2
	and	r7, r1, r3
	ldr	r3, .L20+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L20+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mvn	r2, #0
	ldr	r3, .L20+20
	and	r4, r0, r2
	and	r5, r1, r3
	orr	r8, r6, r4
	orr	r9, r7, r5
	ldr	r3, .L20+24
	stm	r3, {r8-r9}
	ldr	r3, .L20+24
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #1
	orr	r0, r0, r3, lsl #31
	lsr	r1, r3, #1
	ldr	r3, .L20+24
	ldmia	r3, {r2-r3}
	mov	r3, r2
	and	r3, r3, #1
	ldr	r2, .L20+28
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-36]
	eor	r3, r1, r3
	str	r3, [fp, #-32]
	ldr	r3, .L20+8
	ldr	r3, [r3]
	add	r3, r3, #372
	add	r3, r3, #1
	ldr	r2, .L20+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-44]
	eor	r1, r1, r3
	str	r1, [fp, #-40]
	ldr	r3, .L20+32
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r2, #5
	mov	r0, #0
	ldr	r3, .L20+32
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-52]
	eor	r3, r1, r3
	str	r3, [fp, #-48]
	sub	r2, fp, #44
	ldmia	r2, {r1-r2}
	mov	r0, r1
	sub	r4, fp, #52
	ldmia	r4, {r3-r4}
	mov	ip, r3
	eor	r0, r0, ip
	str	r0, [fp, #-60]
	mov	r3, r4
	eor	r2, r2, r3
	str	r2, [fp, #-56]
	ldr	r3, .L20+32
	sub	r2, fp, #60
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L20+32
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #14
	orr	r0, r0, r3, lsl #18
	lsr	r1, r3, #14
	ldr	r3, .L20+32
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-68]
	eor	r3, r1, r3
	str	r3, [fp, #-64]
	ldr	r3, .L20+24
	ldmia	r3, {r2-r3}
	ldr	r1, .L20+8
	ldr	r1, [r1]
	sub	r5, fp, #68
	ldmia	r5, {r4-r5}
	mov	r0, r4
	eor	r0, r0, r2
	str	r0, [fp, #-76]
	mov	r0, r5
	eor	r0, r0, r3
	str	r0, [fp, #-72]
	ldr	r2, .L20+12
	lsl	r3, r1, #3
	add	r3, r2, r3
	sub	r2, fp, #76
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L20+8
	ldr	r3, [r3]
	ldr	r2, .L20+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, .L20+8
	ldr	r3, [r3]
	ldr	r2, .L20+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #6
	orr	r3, r3, r0, lsr #26
	lsl	r2, r0, #6
	eor	r1, r4, r2
	str	r1, [fp, #-84]
	eor	r3, r5, r3
	str	r3, [fp, #-80]
	ldr	r3, .L20+24
	sub	r2, fp, #84
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L20+8
	ldr	r3, [r3]
	add	r3, r3, #95
	ldr	r2, .L20+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	adr	r1, .L20
	ldmia	r1, {r0-r1}
	and	ip, r2, r0
	str	ip, [fp, #-92]
	and	r3, r3, r1
	str	r3, [fp, #-88]
	ldr	r3, .L20+24
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-100]
	eor	r1, r1, r3
	str	r1, [fp, #-96]
	ldr	r3, .L20+24
	sub	r2, fp, #100
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L20+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L20+8
	str	r3, [r2]
	ldr	r3, .L20+8
	ldr	r3, [r3]
	ldr	r2, .L20+36
	cmp	r3, r2
	bne	.L18
	ldr	r3, .L20+40
	ldr	r2, .L20+44
	str	r2, [r3]
.L18:
	ldr	r3, .L20+24
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
.L21:
	.align	3
.L20:
	.word	-1699807855
	.word	117161698
	.word	melgi
	.word	melg
	.word	-32768
	.word	32767
	.word	x
	.word	mag01
	.word	lung
	.word	322
	.word	genrand64_int64
	.word	case_2
	.size	case_1, .-case_1
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	case_2, %function
case_2:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #76
	ldr	r3, .L25+8
	ldr	r3, [r3]
	ldr	r2, .L25+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L25+16
	and	r6, r0, r2
	and	r7, r1, r3
	ldr	r3, .L25+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L25+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mvn	r2, #0
	ldr	r3, .L25+20
	and	r4, r0, r2
	and	r5, r1, r3
	orr	r8, r6, r4
	orr	r9, r7, r5
	ldr	r3, .L25+24
	stm	r3, {r8-r9}
	ldr	r3, .L25+24
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #1
	orr	r0, r0, r3, lsl #31
	lsr	r1, r3, #1
	ldr	r3, .L25+24
	ldmia	r3, {r2-r3}
	mov	r3, r2
	and	r3, r3, #1
	ldr	r2, .L25+28
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-36]
	eor	r3, r1, r3
	str	r3, [fp, #-32]
	ldr	r3, .L25+8
	ldr	r3, [r3]
	sub	r3, r3, #320
	sub	r3, r3, #2
	ldr	r2, .L25+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-44]
	eor	r1, r1, r3
	str	r1, [fp, #-40]
	ldr	r3, .L25+32
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r2, #5
	mov	r0, #0
	ldr	r3, .L25+32
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-52]
	eor	r3, r1, r3
	str	r3, [fp, #-48]
	sub	r2, fp, #44
	ldmia	r2, {r1-r2}
	mov	r0, r1
	sub	r4, fp, #52
	ldmia	r4, {r3-r4}
	mov	ip, r3
	eor	r0, r0, ip
	str	r0, [fp, #-60]
	mov	r3, r4
	eor	r2, r2, r3
	str	r2, [fp, #-56]
	ldr	r3, .L25+32
	sub	r2, fp, #60
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L25+32
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #14
	orr	r0, r0, r3, lsl #18
	lsr	r1, r3, #14
	ldr	r3, .L25+32
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-68]
	eor	r3, r1, r3
	str	r3, [fp, #-64]
	ldr	r3, .L25+24
	ldmia	r3, {r2-r3}
	ldr	r1, .L25+8
	ldr	r1, [r1]
	sub	r5, fp, #68
	ldmia	r5, {r4-r5}
	mov	r0, r4
	eor	r0, r0, r2
	str	r0, [fp, #-76]
	mov	r0, r5
	eor	r0, r0, r3
	str	r0, [fp, #-72]
	ldr	r2, .L25+12
	lsl	r3, r1, #3
	add	r3, r2, r3
	sub	r2, fp, #76
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L25+8
	ldr	r3, [r3]
	ldr	r2, .L25+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, .L25+8
	ldr	r3, [r3]
	ldr	r2, .L25+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #6
	orr	r3, r3, r0, lsr #26
	lsl	r2, r0, #6
	eor	r1, r4, r2
	str	r1, [fp, #-84]
	eor	r3, r5, r3
	str	r3, [fp, #-80]
	ldr	r3, .L25+24
	sub	r2, fp, #84
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L25+8
	ldr	r3, [r3]
	add	r3, r3, #95
	ldr	r2, .L25+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	adr	r1, .L25
	ldmia	r1, {r0-r1}
	and	ip, r2, r0
	str	ip, [fp, #-92]
	and	r3, r3, r1
	str	r3, [fp, #-88]
	ldr	r3, .L25+24
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-100]
	eor	r1, r1, r3
	str	r1, [fp, #-96]
	ldr	r3, .L25+24
	sub	r2, fp, #100
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L25+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L25+8
	str	r3, [r2]
	ldr	r3, .L25+8
	ldr	r3, [r3]
	cmp	r3, #600
	bne	.L23
	ldr	r3, .L25+36
	ldr	r2, .L25+40
	str	r2, [r3]
.L23:
	ldr	r3, .L25+24
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
.L26:
	.align	3
.L25:
	.word	-1699807855
	.word	117161698
	.word	melgi
	.word	melg
	.word	-32768
	.word	32767
	.word	x
	.word	mag01
	.word	lung
	.word	genrand64_int64
	.word	case_3
	.size	case_2, .-case_2
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	case_3, %function
case_3:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #76
	ldr	r3, .L30+8
	ldr	r3, [r3]
	ldr	r2, .L30+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L30+16
	and	r6, r0, r2
	and	r7, r1, r3
	ldr	r3, .L30+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L30+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mvn	r2, #0
	ldr	r3, .L30+20
	and	r4, r0, r2
	and	r5, r1, r3
	orr	r8, r6, r4
	orr	r9, r7, r5
	ldr	r3, .L30+24
	stm	r3, {r8-r9}
	ldr	r3, .L30+24
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #1
	orr	r0, r0, r3, lsl #31
	lsr	r1, r3, #1
	ldr	r3, .L30+24
	ldmia	r3, {r2-r3}
	mov	r3, r2
	and	r3, r3, #1
	ldr	r2, .L30+28
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-36]
	eor	r3, r1, r3
	str	r3, [fp, #-32]
	ldr	r3, .L30+8
	ldr	r3, [r3]
	sub	r3, r3, #320
	sub	r3, r3, #2
	ldr	r2, .L30+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-44]
	eor	r1, r1, r3
	str	r1, [fp, #-40]
	ldr	r3, .L30+32
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r2, #5
	mov	r0, #0
	ldr	r3, .L30+32
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-52]
	eor	r3, r1, r3
	str	r3, [fp, #-48]
	sub	r2, fp, #44
	ldmia	r2, {r1-r2}
	mov	r0, r1
	sub	r4, fp, #52
	ldmia	r4, {r3-r4}
	mov	ip, r3
	eor	r0, r0, ip
	str	r0, [fp, #-60]
	mov	r3, r4
	eor	r2, r2, r3
	str	r2, [fp, #-56]
	ldr	r3, .L30+32
	sub	r2, fp, #60
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L30+32
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #14
	orr	r0, r0, r3, lsl #18
	lsr	r1, r3, #14
	ldr	r3, .L30+32
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-68]
	eor	r3, r1, r3
	str	r3, [fp, #-64]
	ldr	r3, .L30+24
	ldmia	r3, {r2-r3}
	ldr	r1, .L30+8
	ldr	r1, [r1]
	sub	r5, fp, #68
	ldmia	r5, {r4-r5}
	mov	r0, r4
	eor	r0, r0, r2
	str	r0, [fp, #-76]
	mov	r0, r5
	eor	r0, r0, r3
	str	r0, [fp, #-72]
	ldr	r2, .L30+12
	lsl	r3, r1, #3
	add	r3, r2, r3
	sub	r2, fp, #76
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L30+8
	ldr	r3, [r3]
	ldr	r2, .L30+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, .L30+8
	ldr	r3, [r3]
	ldr	r2, .L30+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #6
	orr	r3, r3, r0, lsr #26
	lsl	r2, r0, #6
	eor	r1, r4, r2
	str	r1, [fp, #-84]
	eor	r3, r5, r3
	str	r3, [fp, #-80]
	ldr	r3, .L30+24
	sub	r2, fp, #84
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L30+8
	ldr	r3, [r3]
	sub	r3, r3, #600
	ldr	r2, .L30+12
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	adr	r1, .L30
	ldmia	r1, {r0-r1}
	and	ip, r2, r0
	str	ip, [fp, #-92]
	and	r3, r3, r1
	str	r3, [fp, #-88]
	ldr	r3, .L30+24
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-100]
	eor	r1, r1, r3
	str	r1, [fp, #-96]
	ldr	r3, .L30+24
	sub	r2, fp, #100
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L30+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L30+8
	str	r3, [r2]
	ldr	r3, .L30+8
	ldr	r3, [r3]
	ldr	r2, .L30+36
	cmp	r3, r2
	bne	.L28
	ldr	r3, .L30+40
	ldr	r2, .L30+44
	str	r2, [r3]
.L28:
	ldr	r3, .L30+24
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
.L31:
	.align	3
.L30:
	.word	-1699807855
	.word	117161698
	.word	melgi
	.word	melg
	.word	-32768
	.word	32767
	.word	x
	.word	mag01
	.word	lung
	.word	694
	.word	genrand64_int64
	.word	case_4
	.size	case_3, .-case_3
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	case_4, %function
case_4:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #76
	ldr	r3, .L34+8
	add	r3, r3, #5504
	add	r3, r3, #48
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L34+12
	and	r6, r0, r2
	and	r7, r1, r3
	ldr	r3, .L34+8
	ldmia	r3, {r0-r1}
	mvn	r2, #0
	ldr	r3, .L34+16
	and	r4, r0, r2
	and	r5, r1, r3
	orr	r8, r6, r4
	orr	r9, r7, r5
	ldr	r3, .L34+20
	stm	r3, {r8-r9}
	ldr	r3, .L34+20
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #1
	orr	r0, r0, r3, lsl #31
	lsr	r1, r3, #1
	ldr	r3, .L34+20
	ldmia	r3, {r2-r3}
	mov	r3, r2
	and	r3, r3, #1
	ldr	r2, .L34+24
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-36]
	eor	r3, r1, r3
	str	r3, [fp, #-32]
	ldr	r3, .L34+8
	add	r3, r3, #2976
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-44]
	eor	r1, r1, r3
	str	r1, [fp, #-40]
	ldr	r3, .L34+28
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r2, #5
	mov	r0, #0
	ldr	r3, .L34+28
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-52]
	eor	r3, r1, r3
	str	r3, [fp, #-48]
	sub	r2, fp, #44
	ldmia	r2, {r1-r2}
	mov	r0, r1
	sub	r4, fp, #52
	ldmia	r4, {r3-r4}
	mov	ip, r3
	eor	r0, r0, ip
	str	r0, [fp, #-60]
	mov	r3, r4
	eor	r2, r2, r3
	str	r2, [fp, #-56]
	ldr	r3, .L34+28
	sub	r2, fp, #60
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L34+28
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #14
	orr	r0, r0, r3, lsl #18
	lsr	r1, r3, #14
	ldr	r3, .L34+28
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-68]
	eor	r3, r1, r3
	str	r3, [fp, #-64]
	ldr	r3, .L34+20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-76]
	eor	r1, r1, r3
	str	r1, [fp, #-72]
	ldr	r3, .L34+8
	add	r3, r3, #5504
	add	r3, r3, #48
	sub	r2, fp, #76
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L34+32
	ldr	r3, [r3]
	ldr	r2, .L34+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r4-r5}
	ldr	r3, .L34+32
	ldr	r3, [r3]
	ldr	r2, .L34+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #6
	orr	r3, r3, r0, lsr #26
	lsl	r2, r0, #6
	eor	r1, r4, r2
	str	r1, [fp, #-84]
	eor	r3, r5, r3
	str	r3, [fp, #-80]
	ldr	r3, .L34+20
	sub	r2, fp, #84
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L34+32
	ldr	r3, [r3]
	sub	r3, r3, #600
	ldr	r2, .L34+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	adr	r1, .L34
	ldmia	r1, {r0-r1}
	and	ip, r2, r0
	str	ip, [fp, #-92]
	and	r3, r3, r1
	str	r3, [fp, #-88]
	ldr	r3, .L34+20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	mov	ip, r0
	eor	ip, ip, r2
	str	ip, [fp, #-100]
	eor	r1, r1, r3
	str	r1, [fp, #-96]
	ldr	r3, .L34+20
	sub	r2, fp, #100
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, .L34+32
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L34+36
	ldr	r2, .L34+40
	str	r2, [r3]
	ldr	r3, .L34+20
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
.L35:
	.align	3
.L34:
	.word	-1699807855
	.word	117161698
	.word	melg
	.word	-32768
	.word	32767
	.word	x
	.word	mag01
	.word	lung
	.word	melgi
	.word	genrand64_int64
	.word	case_1
	.size	case_4, .-case_4
	.align	2
	.global	genrand64_int63
	.syntax unified
	.arm
	.fpu softvfp
	.type	genrand64_int63, %function
genrand64_int63:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L38
	ldr	r3, [r3]
	blx	r3
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r0, #1
	orr	r2, r2, r1, lsl #31
	lsr	r3, r1, #1
	mov	r0, r2
	mov	r1, r3
	pop	{fp, pc}
.L39:
	.align	2
.L38:
	.word	genrand64_int64
	.size	genrand64_int63, .-genrand64_int63
	.global	__aeabi_ul2d
	.global	__aeabi_dmul
	.align	2
	.global	genrand64_real1
	.syntax unified
	.arm
	.fpu softvfp
	.type	genrand64_real1, %function
genrand64_real1:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L42
	ldr	r3, [r3]
	blx	r3
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r0, #11
	orr	r2, r2, r1, lsl #21
	lsr	r3, r1, #11
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #1
	ldr	r3, .L42+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	pop	{fp, pc}
.L43:
	.align	2
.L42:
	.word	genrand64_int64
	.word	1017118720
	.size	genrand64_real1, .-genrand64_real1
	.align	2
	.global	genrand64_real2
	.syntax unified
	.arm
	.fpu softvfp
	.type	genrand64_real2, %function
genrand64_real2:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L46
	ldr	r3, [r3]
	blx	r3
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r0, #11
	orr	r2, r2, r1, lsl #21
	lsr	r3, r1, #11
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L46+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	pop	{fp, pc}
.L47:
	.align	2
.L46:
	.word	genrand64_int64
	.word	1017118720
	.size	genrand64_real2, .-genrand64_real2
	.global	__aeabi_dadd
	.align	2
	.global	genrand64_real3
	.syntax unified
	.arm
	.fpu softvfp
	.type	genrand64_real3, %function
genrand64_real3:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L50
	ldr	r3, [r3]
	blx	r3
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r0, #12
	orr	r2, r2, r1, lsl #20
	lsr	r3, r1, #12
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L50+4
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L50+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	pop	{fp, pc}
.L51:
	.align	2
.L50:
	.word	genrand64_int64
	.word	1071644672
	.word	1018167296
	.size	genrand64_real3, .-genrand64_real3
	.global	__aeabi_dsub
	.align	2
	.global	genrand64_fast_res52
	.syntax unified
	.arm
	.fpu softvfp
	.type	genrand64_fast_res52, %function
genrand64_fast_res52:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	ldr	r3, .L54
	ldr	r3, [r3]
	blx	r3
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r0, #12
	orr	r2, r2, r1, lsl #20
	lsr	r3, r1, #12
	mov	r0, #0
	ldr	r1, .L54+4
	orr	r4, r2, r0
	orr	r5, r3, r1
	str	r4, [fp, #-20]
	str	r5, [fp, #-16]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L54+4
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L55:
	.align	2
.L54:
	.word	genrand64_int64
	.word	1072693248
	.size	genrand64_fast_res52, .-genrand64_fast_res52
	.align	2
	.global	genrand64_fast_res52_open
	.syntax unified
	.arm
	.fpu softvfp
	.type	genrand64_fast_res52_open, %function
genrand64_fast_res52_open:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	ldr	r3, .L58
	ldr	r3, [r3]
	blx	r3
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r0, #12
	orr	r2, r2, r1, lsl #20
	lsr	r3, r1, #12
	mov	r0, #1
	ldr	r1, .L58+4
	orr	r4, r2, r0
	orr	r5, r3, r1
	str	r4, [fp, #-20]
	str	r5, [fp, #-16]
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L58+4
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L59:
	.align	2
.L58:
	.word	genrand64_int64
	.word	1072693248
	.size	genrand64_fast_res52_open, .-genrand64_fast_res52_open
	.align	2
	.global	genrand64_res53
	.syntax unified
	.arm
	.fpu softvfp
	.type	genrand64_res53, %function
genrand64_res53:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L62
	ldr	r3, [r3]
	blx	r3
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r0, #11
	orr	r2, r2, r1, lsl #21
	lsr	r3, r1, #11
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_ul2d
	mov	r2, #0
	ldr	r3, .L62+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	pop	{fp, pc}
.L63:
	.align	2
.L62:
	.word	genrand64_int64
	.word	1017118720
	.size	genrand64_res53, .-genrand64_res53
	.section	.rodata
	.align	2
.LC1:
	.ascii	"a31871495c2f64e9655938d42afec1430ebcc71124b13d53079"
	.ascii	"0a3dee960d1ee0bb6cc00644378319e36de4ede4065a9f5e8ea"
	.ascii	"e02572ed6f250e22636e39ff9a27fc7090d590afc519f3ea8d3"
	.ascii	"acf0596c3fef37c1076e40125cb16732423af58b3c45b923d7e"
	.ascii	"f14d0cab20f1f08f7e6c8d5fdbea98239a80ec69a429bcba74d"
	.ascii	"3268fbe79c67717fdd4d9a854f88ff882d6028cd228a66908bf"
	.ascii	"615a2a04c9d3f9c8dae5cf7e9e41f650fd610f45276c4560758"
	.ascii	"0b95041d9f8aa66fcf951d3dc7d5728d36eb186d8755e1cc298"
	.ascii	"18496442eeb2d702f4efeb3a2c8be9dfdf996c0bb45ff97e14f"
	.ascii	"4fa3a9c53a08c452afc3bfcc41c5257957ad1c01f17cc80fd62"
	.ascii	"3d685bb8936f388266c0117f8a5a196488ebc18f1ad25255662"
	.ascii	"5a6f710757a1db096b281084a672e093f6c84cf29e3ba58044e"
	.ascii	"ed0c8374f8e09126b9080e10d8c6e33d66339b60ece9dc27df7"
	.ascii	"59e51ed311aebec77b83b47ac172919958163b863203fc60f01"
	.ascii	"8b9f36d227489bb2a8c46f3653a8143d08bc9a96a6acd387c1b"
	.ascii	"9e4478b8ffdbcf551982746f2bf021c6c2c83662de7eccf542d"
	.ascii	"6daf0d997f871e0b6745d31abbf219b036466d9412736c51816"
	.ascii	"39452b9d5d6290b2416317e4125e5739dd1860d15109f1cc7bc"
	.ascii	"a0fcc048a3d0097ba1577138e100c1129692c77d7a09a01c07b"
	.ascii	"9e15513d6679e615e481932fb4a0a1798b0236610fd0cf9caa5"
	.ascii	"71b6e0c180f68532d42384599eca391aa75c9f3e8b9c46012ee"
	.ascii	"53a0c766da2b9fec1703ac90975ae78f27497f9d01afc7f8de4"
	.ascii	"38c485e3dc316acb83999ef522f7dcd99d48a0450d443aa4b30"
	.ascii	"5258fb1c8859de56b017eb587adf1b0642186179310dbc949c6"
	.ascii	"60ddb5560beacad9a28e550907ca4850b0db0b1521c2ea13d4f"
	.ascii	"f184d387d51d19b82210815a5824a9bedb8b67804ba097d2bfe"
	.ascii	"4012cec291b48260c15c95ec969b83546c0dcc4b2b435f1c7b6"
	.ascii	"fd1b03ad258d34c5b22c30d0ba88144f844d9928258b784c416"
	.ascii	"f9594acdd17d71f8f07164dc0aa457e751b35813ab6a83abd11"
	.ascii	"4c1f938d5b4f8393542486e665e9946022e781648ea82cc0813"
	.ascii	"3ad2e71578dbc1150e52d0338bbf4c7297559450c16c6420995"
	.ascii	"789aca0f16cd2eed1505a5896f9ed840e9646e36ac47019ccf2"
	.ascii	"97697d2d26aa186aa9fa09dbd106aa1796fad677db1360a784d"
	.ascii	"05d13c06b4cfe445a6c0aa463bccf73be5f6f609e9876d94023"
	.ascii	"0938423f7abc6514d51cb17e645e40a4f685680651eab70a8c1"
	.ascii	"7af64e43c6486db9e411dc5f912c44e6bbaeecadc39e4f805f1"
	.ascii	"77b642e6a1e029e7a15acaa2f5d71dc2aa1d9775b6c51ef4293"
	.ascii	"353a10145d0d3f2d8485863484f0a1a48c28f7d56ca311343fb"
	.ascii	"2e18550fd4e67c77da467784acfff8652f959b481a2a4918b8a"
	.ascii	"abf9c0176ee"
	.ascii	"14e2c6b7279b810a1696050365bbf1f7cd023bb98caad2d0f69"
	.ascii	"cc3ac04d1921c1007eee16d6d9188352580f2f8dee387aecc1a"
	.ascii	"badd739d932ef5b945ee57532aeff57bdc1e492d261ef2bf7c4"
	.ascii	"67c142eee905c8dbe5f452f51839e66fd793575c3b4fe748b20"
	.ascii	"5662d4e2aaa63f857f8e42e80e79b64bf86dbbf818aad66b3c8"
	.ascii	"fc1bc404a83eb155a32a4a16049795f46433801d59a78f3a137"
	.ascii	"aa12c698ee2fa24331fd10e990bde99e077fdb9d4e9736ec513"
	.ascii	"ebb73c6c6b67e3c20129b83d07247307c3d58ba43d3e46d0e6a"
	.ascii	"f239f3ee2f0a35b99f8da0a3c6a57d0ea0ce7428bab28fbd061"
	.ascii	"d44c8f38e25291ff9c71f63dfacceae0321e635273a22d08883"
	.ascii	"87ebad489088d7efe0463592002545654694b875dd37d73c090"
	.ascii	"37ed729d8b7dc9d228ac76701633fbb09fe7151de513b1b1b69"
	.ascii	"8c05a526dd4112aa81cd372790daaaef1e3abd242d00c0508e4"
	.ascii	"803f669cd59d771fc502e17167369cf408e97f1df4ac3ea9287"
	.ascii	"170745297e6aae5f2437b07097250d3c2e23800b0fc3ce36ee2"
	.ascii	"88502ff035b5247c10a83e82b6fba5da027a5a67b8958e44546"
	.ascii	"da9271b7c6cc2fadfb2bd979ac9d4859b4d3a4c9209e6166d0b"
	.ascii	"76f501fa3d92fbd750501e29c1df9aa8c3848282c80fb86a53c"
	.ascii	"f53638093e0ffb29c8b38e84d533300b6845d5f8ef2936e86b6"
	.ascii	"54ee2006681ee23333861790bd8c75b7a4ccdd4f4ec9f671e7f"
	.ascii	"ece5c732ec02e80d4a7526b29904b6cf48ad38106d69f18b001"
	.ascii	"fe17f6c976239019116e1d292fd21b954298e30567b78b322b6"
	.ascii	"8d467c6c9372a23ecc62b9b2b75fcdbf47bcbc5e5d9ce305bdc"
	.ascii	"9e06c1cdf01969289003e61e2423a0e51322ee25110520552f5"
	.ascii	"2c17eea231b9c7f01c3eff85c1619ff825c3b7d6b8eab7b4adb"
	.ascii	"82e33a88f7e9e2699d28ec6ce48de61dd043c02105831cf9e40"
	.ascii	"f1b0f04f5262492d59a37c8f30fa4edd4c668e7db75ac9d9a24"
	.ascii	"4b08b5b5ade036b642f940a47519170d42e8b8ca1a79c8b3510"
	.ascii	"5f2b4361578c724807b9384a185cde9e79e5257fd9c5d8e808f"
	.ascii	"4559413b6cc8a130bc0d60f7ef58fb4c0c8201ed9e286b89df6"
	.ascii	"58c69c732f8cea9f0efa77e3c458d0dbdded1f946602e4b7c73"
	.ascii	"839ac242bf8fca0a19566e8d077db36b7a899810372f66700b3"
	.ascii	"a655065c2f972b437f7c0c125133fb1d7aafe13a630fbeda24e"
	.ascii	"7ff5691e1534bfdbdd20903ade7422d0c078d3aea60460ec7a0"
	.ascii	"ba89c5bc9cff2575af6de87f73b3cc77871f3d8c68b8e7d3b94"
	.ascii	"c071cb0e56884ecbdde7f207ab4a2963dc6e386e26d8f2aa948"
	.ascii	"01911afecdffbc2ca4591c47c9bdbceadc98275ea91ea0a9a3f"
	.ascii	"1985a77c15ebdfd48050c321dcf4b1fb5296352279dcd83031e"
	.ascii	"8451e83e9c5362711270026af1efec3d123504b3fe2f3ee5f16"
	.ascii	"2098e9b43b3"
	.ascii	"ef408b4f838cc0cda5241400daca6b2001008eb451c85b8bcb2"
	.ascii	"9bbd4aecdd3041cb8f8037d559dce46f79b902998a1a1e333f3"
	.ascii	"89ed0d52c2c8d31e84d0b41f26d8785e473ddf758b4cf3acb7d"
	.ascii	"83878107699582771276c122271a71b5220d0cf68f5a941c768"
	.ascii	"a1d404a84f5a103e0a8da215ccf05ccccc96fba492de5d6b11a"
	.ascii	"62191275decf97723285132f3c19b7809cfc659b338d65dc3f2"
	.ascii	"f1950d45b213231c89d811e554174cf2d7aad6be703872c7f1c"
	.ascii	"02faf6267bae046a1293a53d827a1bf0278272be89dfa1fa85c"
	.ascii	"7f6332865400b6873479d77c0d3c68fd242506c20efdfce8a70"
	.ascii	"a1d0f16d4f1a12b1dd0ab33778deaa3d7a168a3716ee09a6dc4"
	.ascii	"b1d19c00423732d43a22ad978a9bbd2cf6c5c985a6666f7c3e2"
	.ascii	"881013836d9280ecc3494bd0232629e608920acc306ddb61da9"
	.ascii	"b82ae8a3f0a1dd26de008f7f27704451a8d0dce4016689ab6e0"
	.ascii	"66f6cbcb58ec4eb1b7d46761f510d3292f16de8f07f513d7070"
	.ascii	"c6785b3752a635ce48b81ffae016a145236f8c1d5c2fb94f10e"
	.ascii	"4094bf9ef576e8974dd06d4ec5905f150862a40c79ac15f0718"
	.ascii	"c86cf61b3855d39614d940e4954bb61835b63ebd1f378f7ff4f"
	.ascii	"e243800ecd1a98c2dc74438e618207f62ee0bf82c27b563de1b"
	.ascii	"396c794868406645b13dfffd2eef8e4edcd616427bdb88cf722"
	.ascii	"25ca635b46e75cf7cca446440c8e490e7e742b7096c9c717700"
	.ascii	"5d3bb8ece97806e21c55d5cf1d23a032c3e86e6e22d2170c34d"
	.ascii	"99b012d8551b6cbf565ac110d99ffeca2d84404fb855e0df409"
	.ascii	"4fc04998ca30eff10ed73a67d810ef540b659bb08c330751438"
	.ascii	"9c6b3c89d32746c08d24a44f81528cd6701716cd5c52ff207aa"
	.ascii	"cfaca17cbcaa42d079c70cb2446514a94cae89f18d5ed19963d"
	.ascii	"6d4a65fb3490011362c5ee37114062c0cdf957f67818d8afd34"
	.ascii	"f258d858e0531f2cc0514ead0d9a58e282bedf2722fa0f3ab32"
	.ascii	"53d751e0f3adb5cedf67b1e865684708989162bad3ea168513d"
	.ascii	"f54976e41bd382f989f37865fbfb86dbdfdb04de5466c2b9ad5"
	.ascii	"a54036f8fc0bb7336bfdf0bac117e40b2a083e68b1d4c6dc062"
	.ascii	"c353e602db6d926437ee88813b554a3ca6f22436bd8f7577fbe"
	.ascii	"99b795ea3ea81fd0852859052677983a2faedeb66bfbfa46b58"
	.ascii	"fdaa294d6d67beff2c9d11d29c9a9e9d4e97b1c1307735b46bf"
	.ascii	"04dcd2c7590e0df7377e0b738cc3e83519d1451b361ce805d85"
	.ascii	"cd15a8e075f8b940424bc61dc9d2da15718c1be1e9ae618fc0d"
	.ascii	"954592ebecddce021114cfadf8ba8093d282fc9126d993f310d"
	.ascii	"75d3c2430a9c06820a43cd69130e7d0e3d29d5bd3d9f974e765"
	.ascii	"d919db72e99aea45c98fe0abd15da1a50b549e5ad2d19f4db2a"
	.ascii	"74079ded2173d66d4c696d9f5d1f72e2f98a0a5f7f9bec9a53e"
	.ascii	"68e5083c154"
	.ascii	"a5afa1705fbdae6cce3d995ad541cd9135ada17ebc81249091f"
	.ascii	"a24aa760e783bf38e52aee5802f25973dabad3b4162d5acfdc7"
	.ascii	"d870c04a551f6cff0d6a9541005ebcd07b390312fbd948dea8b"
	.ascii	"c65deba9804758330dc7b149d01fe9032ce1b97b4d6d501d31f"
	.ascii	"c6e2cb0abfac8b4d457081ffa614d3c149914bb28199b68858d"
	.ascii	"7bce5ffcdacbdc4a142fef87501946c63b1c750fb9d6993012e"
	.ascii	"7eab85bc3083056c26dcbf8d6c92ddb23d9718378816004e218"
	.ascii	"544f35eb5bb7dee0e396060e49c61897cce64ce419be0d6639a"
	.ascii	"ce204bbedbcf0835bc713fb17b4cd521ad378417b29074d28c1"
	.ascii	"e75f0b5378b303256f08dad97b2c5584ad5f5217beeeedb69e1"
	.ascii	"813ee62891417c166f0ad7326be32925d573087a9f9f593feba"
	.ascii	"6bf08dfbc4d4abd0783c05dee281255e7da959ea5d3d3c62b8a"
	.ascii	"62ef397490d8da2c35c708ec7136905e52049cc408e1f82c299"
	.ascii	"865406b2da8a72e7759099711518bc80f4d2227c6447abc91a4"
	.ascii	"fdc6e97a578e4d70d2e48508f18eb03dba323f4b2c02bc24bde"
	.ascii	"1572c9ee8997c91accd1331b3b22147470d6587a7c343704f7f"
	.ascii	"bb3048b70b7f6e96b4956b69ce4a425be485548a1a99e2fed32"
	.ascii	"d639776a5dc680802c871bef0c88e508c92390b96c5d7ebeb3d"
	.ascii	"4d40a0c2a4b606ab8ea19d0b6009e59d3e90d731b100747c382"
	.ascii	"50c7df11fe3cf693a46b88c27b933400014a842ce5924ba9354"
	.ascii	"343dc64306865fbede5c7650a192f4705eaf59bb80627abdfc7"
	.ascii	"0b0d1e6941312fe96eb9eb5bb9704a268dd4330e35348341001"
	.ascii	"454a96e2a534261d1f4e88d0ba540ff9818c2a26dc847335b0e"
	.ascii	"831963de8ee5342aecccdbea1f985b7445c123948835eb75705"
	.ascii	"231fc485c02abbbe592b0c33f5257ee940742e92e43d3d901d6"
	.ascii	"166de063ad9199ddb4da66955f1f7b4261a653452929c138465"
	.ascii	"b6deb67c189ab8f27271ad3fac1e82ee43394d38a920a1cb102"
	.ascii	"014df9841e16c5a939478fccf09dd6639a068c0dcae523c5a25"
	.ascii	"eb316a03b1d6d5872b79387694778f47e7341ccda18384a6086"
	.ascii	"6b2302023fc4e18179570ea41ff437d0b196153c5d82c5dee1b"
	.ascii	"00a21284e90070f80aaaf6db25bea0711902528e1455c5ef810"
	.ascii	"893857c25231dd0bb95b6d6a32d7501bd185f590f7211d5e70e"
	.ascii	"5051f866ac33c846253cf2449de94db274dde042aa436395bce"
	.ascii	"16340bf94cd7da67b0bb63f61603c55a4811262936d2d6f338e"
	.ascii	"e4af952beb557fc4ba052484fc95ec5e1d2c8d0fcffb93b65c1"
	.ascii	"38835363740234a641a1464231b23a105d65a16b40e73178b04"
	.ascii	"76fd5998e52f27b6bdd08e971e4495593366a033b69e7094762"
	.ascii	"de5e681980acb7cb8ec242b37701460ab017d99048b016b70f3"
	.ascii	"5579954a74a4cb01a102b5d2e160f8308781408ee92c7dbe2b3"
	.ascii	"ae769f3a178"
	.ascii	"b89163c96e533a99c5110e8ec37835393a218b2ca23ac7644ed"
	.ascii	"37b747545c61882397ce603e6026ad0bef2fa946cda0d2a59a3"
	.ascii	"e8afd8ece6dbd974b29c1cd98ec86ce98cf1f6db790bdcda3d5"
	.ascii	"430f32dd00669bed51a5bac10b8ce64c38a385a82f17d6e496e"
	.ascii	"48cb251942ffb5ae5dd998398157c098c9b04d9af00027ca17b"
	.ascii	"70d46f3390bbf0ab84702c98167ef3750363a336eccc400632c"
	.ascii	"ed942feab19c7c679d7a28638765ca961a791edf9670d02503a"
	.ascii	"11958f566a231ce8f5cc5b8f7d335f3257e810e4f413e1f305b"
	.ascii	"bafa701a392da105d4c315ecdfe9ec45a8ed2fec77ed24be9b2"
	.ascii	"149552ea90803f09cc7fa0a7c798baaadf9b1d7cab44f4d1dc5"
	.ascii	"a3cec9a20ce2ed4f67b0dc0d6fd8aaf1608116d037feba862a1"
	.ascii	"986dd3aa9a1307fd6993a43af8db68e170c13266c3a40be8c9f"
	.ascii	"e40df9d813ee3eb0e73e027ba7b3e2ad555d5db542f2841b4ab"
	.ascii	"a58fd8cae4768225e039d46393b069c8c1a4fb6b8d109d17059"
	.ascii	"eb790b2e1f88c2419836f372e80faff2d7b669381470b5622fa"
	.ascii	"11f98343d879b1046a972cd2e7334179defc1922942f1cd3fab"
	.ascii	"0091693af023024bf49f82f74f3b06ff4736062a83c63c51f8c"
	.ascii	"8ffd4ed49cc0611d04c013d3f54eab2a35ff997c0214973b1de"
	.ascii	"90e85389d59bc4c8cb1f8c16b5731952f2f5054e92487a138ef"
	.ascii	"6bf60982b3b272984f0da2af7a547b92aecb993540c889f02e5"
	.ascii	"e7a5530d8361c507e498ab152b3b7356ae97cddcb67c17817df"
	.ascii	"63c352ceb88c00460c6a4b9bf1bd2e5c95d10350e2f16bc7141"
	.ascii	"815ae90c75895a951bcf64696f053fc2bca511a9a624c8b6727"
	.ascii	"2724ee71a1247a51eb49d3b08ea9b108b751f99141c5cee292a"
	.ascii	"22a9e5e40d9640bbebdfcece68d563df2a57c8404ae12f579bf"
	.ascii	"a069b648be292581f0ea37a3034df97734bc9dc9814b18a7414"
	.ascii	"9d860531365273a1d60e7fe5d7d4a87e00de305e1d0089c3c9f"
	.ascii	"347cfbb711532cd6e397ad35dc60e2bd83145edc01bcc2f0644"
	.ascii	"3f51b5039a6315eb9c7f209ae926c842caa8ad18d6a3bd62ac4"
	.ascii	"d6f65153e52460405e492a1a866c0f5bdfeadda2c00efb30431"
	.ascii	"58d2c6e1be58e939a77e94d1a9b16676141cf4657d8039cb668"
	.ascii	"b939dfe63c67f6c21b10424ccf80edee01ce02ccaa95c60edac"
	.ascii	"675e08c86a09ee887cfb725f855ebbfe65c0204a4c15e9de808"
	.ascii	"d047ada80923a17a9fbb3c69f9ebb7e6dc6efcac9fe2983d6b1"
	.ascii	"c4d5bb82319cb1e65c1a0358f94f12111a0ef891cc7af7b5965"
	.ascii	"bb772951286aac38d11b3b454d0f153fcfaa03f8526108eff7c"
	.ascii	"f0cc77b308d44c552777713766f8ceec116e37714eb054f3191"
	.ascii	"b6298be3ac743edcd071b23a680747a013c93ff92e12396318a"
	.ascii	"6b56bde3c7136073dcee1dd8e7af29e9d6540c714c46305e857"
	.ascii	"e41bd078b8e"
	.ascii	"5ff3d609ee5a8d36ba9ac2cf58ce62da84d779ae0f699eff6a5"
	.ascii	"a770e92088b2f65ee52347d91f493b79ffe3c6f76b999f32b12"
	.ascii	"2b12dca81a84bcb80cc009806c77c4ceb6b20cefeee1f64bd8e"
	.ascii	"ad5fc1591b325683785ac44b6c49aa10b483c69bf998a21efa4"
	.ascii	"0af7aae227a88cb040e4806ad29ea7683318687462fa1952c69"
	.ascii	"7ce9373bba2c3f4c6dc683fb52a7c61c9b2ec87246335d677f7"
	.ascii	"d155843279e46f56cd13bed457b40771f964aa245cfde7f0dcb"
	.ascii	"9c58ed0aec35119f363ee526ca806ed404f3425e0fac7da6606"
	.ascii	"958c9f156516893da9df4fb4c7673f96daf9e6c990aaf09ca48"
	.ascii	"c42c91b7d7753f9f2f278d65f578e9ecec1f52b65e9c5c6977e"
	.ascii	"2a04434742ff8ce6873e225555da21a7902b60b25d435297805"
	.ascii	"0866e6f572eb00519944e68b16d60abf4a2d049980a2d7d97c1"
	.ascii	"03d1ab589d619b90fbd7210a99b9a82b0c32e4e01b8a0099e76"
	.ascii	"2c5676e68419187468fceb8aedf7e1fc0cfc71a1212ee54d117"
	.ascii	"7e8d61e9ea391421371b57fc522c256e7f5704909f7a677ad8c"
	.ascii	"349f19198a0d1e343f8fddf40e0853e71f207d5a9ca9f6a882e"
	.ascii	"a8a67d39b7c4237fb1f7f3f9c644d5e468df85ed5de9373abcc"
	.ascii	"8a7fcb4b91208b5d80c5e3305351e120e0166f18cc179bab703"
	.ascii	"e1ef0d9a3f1edd3e8a4fa1f8336abcc1899a4d2f67d9a3b3d85"
	.ascii	"07d2d5dd9845651d528a5292936b62c49c60396454bd2019419"
	.ascii	"a1f3693c781a7628038f05735ae85998ec14f2b72d89c94ed01"
	.ascii	"fbf5fca09afa7788be289c32cae4e217511d3067b7d9e0c27e0"
	.ascii	"110\000"
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	melg_jump
	.syntax unified
	.arm
	.fpu softvfp
	.type	melg_jump, %function
melg_jump:
	@ args = 0, pretend = 0, frame = 11152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #11136
	sub	sp, sp, #20
	ldr	r3, .L77
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, .L77+4
	sub	r3, r3, #2928
	sub	r3, r3, #12
	mov	r1, r2
	ldr	r2, .L77+8
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	ldr	r0, .L77+12
	bl	malloc
	mov	r3, r0
	str	r3, [r4, #-2944]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, [r3, #-2944]
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2960]
	b	.L65
.L66:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r3, #-2944]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2960]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r1, r2, r3
	mov	r2, #0
	mov	r3, #0
	stm	r1, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2960]
	add	r3, r3, #1
	str	r3, [r2, #-2960]
.L65:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2960]
	ldr	r2, .L77+16
	cmp	r3, r2
	ble	.L66
	ldr	r3, .L77+20
	ldr	r3, [r3]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-2944]
	add	r2, r2, #4096
	str	r3, [r2, #1472]
	ldr	r3, .L77+24
	ldr	r3, [r3]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-2944]
	add	r2, r2, #4096
	str	r3, [r2, #1476]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2960]
	b	.L67
.L73:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2960]
	add	r3, r2, r3
	sub	r3, r3, #2928
	sub	r3, r3, #12
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-2952]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2952]
	cmp	r3, #96
	ble	.L68
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2952]
	cmp	r3, #102
	bgt	.L68
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2952]
	sub	r3, r3, #87
	str	r3, [r2, #-2952]
	b	.L69
.L68:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2952]
	sub	r3, r3, #48
	str	r3, [r2, #-2952]
.L69:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2952]
	and	r3, r3, #15
	str	r3, [r2, #-2952]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #8
	str	r3, [r2, #-2948]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2956]
	b	.L70
.L72:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-2952]
	ldr	r3, [r3, #-2948]
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L71
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-2944]
	bl	add
.L71:
	ldr	r3, .L77+24
	ldr	r3, [r3]
	blx	r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2948]
	asr	r3, r3, #1
	str	r3, [r2, #-2948]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2956]
	add	r3, r3, #1
	str	r3, [r2, #-2956]
.L70:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2956]
	cmp	r3, #3
	ble	.L72
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2960]
	add	r3, r3, #1
	str	r3, [r2, #-2960]
.L67:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2960]
	ldr	r2, .L77+28
	cmp	r3, r2
	ble	.L73
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2944]
	ldmia	r3, {r2-r3}
	ldr	r1, .L77+32
	stm	r1, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-2960]
	b	.L74
.L75:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r3, #-2944]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2960]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r0, .L77+36
	sub	r1, fp, #8192
	sub	r1, r1, #12
	ldr	r1, [r1, #-2960]
	lsl	r1, r1, #3
	add	r1, r0, r1
	stm	r1, {r2-r3}
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2960]
	add	r3, r3, #1
	str	r3, [r2, #-2960]
.L74:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2960]
	ldr	r2, .L77+16
	cmp	r3, r2
	ble	.L75
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2944]
	add	r3, r3, #4096
	ldr	r3, [r3, #1472]
	ldr	r2, .L77+20
	str	r3, [r2]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-2944]
	add	r3, r3, #4096
	ldr	r3, [r3, #1476]
	ldr	r2, .L77+24
	str	r3, [r2]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-2944]
	bl	free
	nop
	ldr	r3, .L77
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L76
	bl	__stack_chk_fail
.L76:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L78:
	.align	2
.L77:
	.word	.LC2
	.word	.LC1
	.word	11126
	.word	5576
	.word	694
	.word	melgi
	.word	genrand64_int64
	.word	11124
	.word	lung
	.word	melg
	.size	melg_jump, .-melg_jump
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	add, %function
add:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #68
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldmia	r3, {r0-r1}
	ldr	r3, .L95
	ldmia	r3, {r2-r3}
	eor	r4, r0, r2
	eor	r5, r1, r3
	ldr	r3, [fp, #-56]
	stm	r3, {r4-r5}
	ldr	r3, [fp, #-56]
	add	r3, r3, #4096
	ldr	r3, [r3, #1472]
	str	r3, [fp, #-44]
	ldr	r3, .L95+4
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bgt	.L80
	ldr	r3, [fp, #-40]
	rsb	r3, r3, #692
	add	r3, r3, #3
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-48]
	b	.L81
.L82:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, .L95+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-68]
	eor	r3, r1, r3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	sub	r2, fp, #68
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L81:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L82
	b	.L83
.L84:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	ldr	r2, .L95+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-76]
	eor	r3, r1, r3
	str	r3, [fp, #-72]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	sub	r2, fp, #76
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L83:
	ldr	r3, [fp, #-48]
	ldr	r2, .L95+12
	cmp	r3, r2
	ble	.L84
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L85
.L86:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, .L95+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-84]
	eor	r3, r1, r3
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	sub	r2, fp, #84
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L85:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L86
	b	.L94
.L80:
	ldr	r3, [fp, #-44]
	rsb	r3, r3, #692
	add	r3, r3, #3
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-48]
	b	.L88
.L89:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	ldr	r2, .L95+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	ip, r0, r2
	str	ip, [fp, #-92]
	eor	r3, r1, r3
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	sub	r2, fp, #92
	ldmia	r2, {r1-r2}
	stm	r3, {r1-r2}
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L88:
	ldr	r3, [fp, #-48]
	ldr	r2, .L95+12
	cmp	r3, r2
	ble	.L89
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L90
.L91:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, .L95+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	r8, r0, r2
	eor	r9, r1, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	stm	r3, {r8-r9}
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L90:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L91
	b	.L92
.L93:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r0-r1}
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	ldr	r2, .L95+8
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	eor	r6, r0, r2
	eor	r7, r1, r3
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	stm	r3, {r6-r7}
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L92:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L93
.L94:
	nop
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
.L96:
	.align	2
.L95:
	.word	lung
	.word	melgi
	.word	melg
	.word	694
	.size	add, .-add
	.section	.rodata
	.align	2
.LC3:
	.ascii	"1000 outputs of genrand64_int64()\000"
	.align	2
.LC4:
	.ascii	"%20llu \000"
	.align	2
.LC5:
	.ascii	"\0121000 outputs of genrand64_res53()\000"
	.align	2
.LC6:
	.ascii	"%10.15f \000"
	.align	2
.LC7:
	.ascii	"\012jump ahead by 2^256 steps\000"
	.align	2
.LC8:
	.ascii	"\0121000 outputs of genrand64_int64()\000"
	.align	3
.LC0:
	.word	74565
	.word	0
	.word	144470
	.word	0
	.word	214375
	.word	0
	.word	284280
	.word	0
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	ldr	r3, .L109
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L109+4
	sub	ip, fp, #44
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	mov	r2, #4
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r1, fp, #44
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	init_by_array64
	ldr	r0, .L109+8
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L98
.L100:
	ldr	r3, .L109+12
	ldr	r3, [r3]
	blx	r3
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L109+16
	bl	printf
	ldr	r1, [fp, #-56]
	ldr	r3, .L109+20
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #4
	bne	.L99
	mov	r0, #10
	bl	putchar
.L99:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L98:
	ldr	r3, [fp, #-56]
	cmp	r3, #1000
	blt	.L100
	ldr	r0, .L109+24
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L101
.L103:
	bl	genrand64_res53
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L109+28
	bl	printf
	ldr	r1, [fp, #-56]
	ldr	r3, .L109+20
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #4
	bne	.L102
	mov	r0, #10
	bl	putchar
.L102:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L101:
	ldr	r3, [fp, #-56]
	cmp	r3, #1000
	blt	.L103
	ldr	r0, .L109+32
	bl	printf
	bl	melg_jump
	ldr	r0, .L109+36
	bl	puts
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L104
.L106:
	ldr	r3, .L109+12
	ldr	r3, [r3]
	blx	r3
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L109+16
	bl	printf
	ldr	r1, [fp, #-56]
	ldr	r3, .L109+20
	smull	r2, r3, r1, r3
	asr	r2, r3, #1
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	sub	r2, r1, r3
	cmp	r2, #4
	bne	.L105
	mov	r0, #10
	bl	putchar
.L105:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L104:
	ldr	r3, [fp, #-56]
	cmp	r3, #1000
	blt	.L106
	mov	r3, #0
	ldr	r2, .L109
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L108
	bl	__stack_chk_fail
.L108:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L110:
	.align	2
.L109:
	.word	.LC9
	.word	.LC0
	.word	.LC3
	.word	genrand64_int64
	.word	.LC4
	.word	1717986919
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
