import sys, os, os.path
from pylab import *

seed=262093818;


def randbit():
    global seed
    seed=seed<<1
    if(seed&(2**2)):
        seed=seed^1;
    if(seed&(2**29)):
        seed=seed^1;
    seed=seed&(2**30-1)
    return seed&1;

def randnum():
    sum=0
    for i in range(0,30):
        sum=sum+randbit()
        sum=sum<<1
    sum=sum+0.0
    sum=sum/(2**31)
    return sum;

x1=range(0,100000);
x2=range(0,100000);
y1=range(0,100000);
y2=range(0,100000);

mu1=0;
mu2=0;
mu3=0;


for i in range(1,100000):
    x1[i]=randnum()+randnum()/(2**32)
    x2[i]=randnum()*2*pi
    y1[i]=sqrt(-2*log(x1[i]))*sin(x2[i])
    y2[i]=sqrt(-2*log(x1[i]))*cos(x2[i])
    mu1=mu1+y1[i];
    mu2=mu2+(y1[i]+0.0013349302731746232)**2;
    mu3=mu3+y1[i]**3;

plot(y1, y2, "r+");
show()

