#define NOR (hz=SHR3,iz=(hz&127),(abs(hz)<kn[iz])? hz*wn[iz] : nfix())
doublenfix(void)
{
constdoubler=3.442620;
staticdoublex,y;
for(;;)
{
x=hz*wn[iz];
if(iz==0)
{
do
{
x=-0.2904764*log(UNI);
y=-log(UNI);
}
while(y+y<x*x);
return(hz>0)?r+x:-r-x;
}
if(fn[iz]+UNI*(fn[iz-1]-fn[iz])<exp(-0.5*x*x)){
returnx;
}
hz=SHR3;
iz=hz&127;
if(abs(hz)<kn[iz]){
return((hz)*wn[iz]);
}
}
}
staticuint32_tjsr4[4]__attribute__((aligned(16)))={123456789,112548569,985584512,452236879};//This initialization depends on the seed for nor_table function in oaisim_functions.c file.