	.file	"mtwister.cpp"
@ GNU C++ version 3.3.2 (arm-thumb-elf)
@	compiled by GNU C version 3.3.1 (cygming special).
@ GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=65463
@ options passed:  -fpreprocessed -mthumb-interwork -mlong-calls
@ -auxbase-strip -O2 -Wall -fverbose-asm
@ options enabled:  -fdefer-pop -fomit-frame-pointer
@ -foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks
@ -fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole
@ -fforce-mem -ffunction-cse -fkeep-static-consts -fcaller-saves
@ -freg-struct-return -fgcse -fgcse-lm -fgcse-sm -floop-optimize
@ -fcrossjumping -fif-conversion -fif-conversion2 -frerun-cse-after-loop
@ -frerun-loop-opt -fdelete-null-pointer-checks -fschedule-insns
@ -fschedule-insns2 -fsched-interblock -fsched-spec -fbranch-count-reg
@ -fexceptions -freorder-blocks -freorder-functions -fcprop-registers
@ -fcommon -fverbose-asm -fgnu-linker -fregmove -foptimize-register-move
@ -fargument-alias -fstrict-aliasing -fmerge-constants
@ -fzero-initialized-in-bss -fident -fpeephole2 -fguess-branch-probability
@ -fmath-errno -ftrapping-math -mapcs -mapcs-frame -mapcs-32 -msoft-float
@ -mthumb-interwork -mlong-calls

	.bss
	.align	2
mt:
	.space	2496
	.data
	.align	2
	.type	mti, %object
	.size	mti, 4
mti:
	.word	625
	.text
	.align	2
	.global	_Z8sgenrandi
	.type	_Z8sgenrandi, %function
_Z8sgenrandi:
	@ Function supports interworking.
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	stmfd	sp!, {r4, lr}
	ldr	lr, .L10
	ldr	r4, .L10+4
	mov	r3, #1
	mov	r1, lr
	mov	ip, #620
	str	r3, [r4, #0]	@  mti
	str	r0, [r1], #4	@  seed,  mt
	add	ip, ip, #3
	mov	r0, r3
.L6:
	ldr	r3, [r1, #-4]	@  mt
	add	r2, r3, r3, asl #2
	rsb	r2, r2, r2, asl #4
	rsb	r3, r3, r2, asl #2
	rsb	r3, r3, r3, asl #3
	add	r3, r3, r3, asl #5
	str	r3, [lr, r0, asl #2]	@  mt
	add	r0, r0, #1
	cmp	r0, ip
	add	r1, r1, #4
	ble	.L6
	mov	r0, #624
	str	r0, [r4, #0]	@  mti
	ldmfd	sp!, {r4, lr}
	bx	lr
.L11:
	.align	2
.L10:
	.word	mt
	.word	mti
	.size	_Z8sgenrandi, .-_Z8sgenrandi
	.data
	.align	2
	.type	_ZZ7genrandvE5mag01, %object
	.size	_ZZ7genrandvE5mag01, 8
_ZZ7genrandvE5mag01:
	.word	0
	.word	-1727483681
	.text
	.align	2
	.global	_Z7genrandv
	.type	_Z7genrandv, %function
_Z7genrandv:
	@ Function supports interworking.
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	mov	ip, sp
	stmfd	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
	ldr	r7, .L31
	ldr	r2, [r7, #0]	@  mti
	cmp	r2, #624
	sub	fp, ip, #4
	ldrlt	r4, .L31+4
	blt	.L13
	mov	r3, #624
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L30
.L14:
	ldr	r4, .L31+4
	ldr	r5, .L31+8
	mov	lr, #0	@  kk
.L19:
	add	r0, r4, lr, asl #2	@  kk
	ldr	r1, [r4, lr, asl #2]	@  mt
	ldr	r3, [r0, #4]	@  mt
	and	r1, r1, #-2147483648
	bic	r3, r3, #-2147483648
	orr	ip, r1, r3	@  y
	ldr	r2, [r0, #1588]	@  mt
	and	r3, ip, #1	@  y
	ldr	r1, [r5, r3, asl #2]	@  mag01
	eor	r2, r2, ip, lsr #1	@  y
	eor	r2, r2, r1
	str	r2, [r4, lr, asl #2]	@  mt
	add	lr, lr, #1	@  kk,  kk
	cmp	lr, #226	@  kk
	ble	.L19
	mov	r6, #620
	mov	lr, #227	@  kk
	add	r6, r6, #2
	cmp	lr, r6	@  kk
	bgt	.L28
.L24:
	add	r0, r4, lr, asl #2	@  kk
	ldr	r1, [r4, lr, asl #2]	@  mt
	ldr	r3, [r0, #4]	@  mt
	and	r1, r1, #-2147483648
	bic	r3, r3, #-2147483648
	orr	ip, r1, r3	@  y
	ldr	r2, [r0, #-908]	@  mt
	and	r3, ip, #1	@  y
	ldr	r1, [r5, r3, asl #2]	@  mag01
	eor	r2, r2, ip, lsr #1	@  y
	eor	r2, r2, r1
	str	r2, [r4, lr, asl #2]	@  mt
	add	lr, lr, #1	@  kk,  kk
	cmp	lr, r6	@  kk
	ble	.L24
.L28:
	ldr	r2, [r4, #2492]	@  mt
	ldr	r3, [r4, #0]	@  mt
	and	r2, r2, #-2147483648
	bic	r3, r3, #-2147483648
	orr	ip, r2, r3	@  y
	and	r1, ip, #1	@  y
	ldr	r3, [r4, #1584]	@  mt
	ldr	r2, [r5, r1, asl #2]	@  mag01
	eor	r3, r3, ip, lsr #1	@  y
	eor	r3, r3, r2
	mov	r2, #0
	str	r3, [r4, #2492]	@  mt
	str	r2, [r7, #0]	@  mti
.L13:
	ldr	r3, [r7, #0]	@  mti
	ldr	ip, [r4, r3, asl #2]	@  y,  mt
	eor	ip, ip, ip, lsr #11	@  y,  y,  y
	mov	r2, ip, asl #7	@  y
	bic	r2, r2, #1644167168
	bic	r2, r2, #13828096
	bic	r2, r2, #43264
	bic	r2, r2, #127
	eor	ip, ip, r2	@  y,  y
	mov	r1, ip, asl #15	@  y
	bic	r1, r1, #268435456
	bic	r1, r1, #3670016
	mov	r1, r1, lsr #17
	mov	r1, r1, asl #17
	eor	ip, ip, r1	@  y,  y
	eor	ip, ip, ip, lsr #18	@  y,  y,  y
	add	r3, r3, #1
	mov	r0, ip	@  y
	str	r3, [r7, #0]	@  mti
	ldmea	fp, {r4, r5, r6, r7, fp, sp, lr}
	bx	lr
.L30:
	mov	r0, #4352
	add	r0, r0, #5
	bl	_Z8sgenrandi
	b	.L14
.L32:
	.align	2
.L31:
	.word	mti
	.word	mt
	.word	_ZZ7genrandvE5mag01
	.size	_Z7genrandv, .-_Z7genrandv
	.ident	"GCC: (GNU) 3.3.2"
