
# Rnd(seed:r3:LONG)(LONG)

	.text
	.sdreg	r2
	.global	_Rnd

_Rnd:	mr.	r5,r3
	blt	.set
	subi	r4,r5,1
	lwz	r3,.rnd(r2)
.l2:	add.	r3,r3,r3
	bgt	.l3
	xoris	r3,r3,0x1d87
	xori	r3,r3,0x2b41
.l3:	srwi.	r3,r3,1
	bne	.l2
	stw	r3,.rnd(r2)
	mr.	r5,r5
	bne	.l4
	rotlwi.	r3,r3,16
	b	.l5
.l4:	mullw	r3,r3,r5
.l5:	li	r3,0
	rotlwi.	r3,r3,16
	blr
.set:	neg	r5,r5
	stw	r5,.rnd(r2)
	blr

	.type	_Rnd,@function
	.size	_Rnd,$-_Rnd

	.tocd
	.global	.rnd
.rnd:	.long	0
