Делал генератор согласно этой формуле для преобразования брал случайные числа из равномерного распределения на интервале (0;1] (array1), но распределение действует наоборот (больше значений в районе СКО +1 и -1, а в математическом ожидании 0 наоборот - минимум)
array2[ij]=cos(2*PI*array1[ij+1])*pow((-2)*log(array1[ij]),(1/2));
array2[ij+1]=sin(2*PI*array1[ij+1])*pow((-2)*log(array1[ij]),(1/2));
//otvet.imgsmail.ru/download/92139390_2bbe761b2d56aa6b14366b5ad5dc1654_800.png
array2[ij]=cos(2*PI*array1[ij+1])*pow((-2)*log(array1[ij]),(1/2));
array2[ij+1]=sin(2*PI*array1[ij+1])*pow((-2)*log(array1[ij]),(1/2));
//otvet.imgsmail.ru/download/92139390_2bbe761b2d56aa6b14366b5ad5dc1654_800.png