#include <stdio.h>
static unsigned int mirand = 1;
float sfrand( void )
{
unsigned int a;
mirand *= 16807;
a = (mirand&0x007fffff) | 0x40000000;
return( *((float*)&a) - 3.0f );
}
int main ( void )
{
int i;
for (i = 0; i < 100; i++)
printf("%g\n", sfrand());
return 0;
}