Признаюсь, в БПФ я полный профан (до сих пор не могу понять, как этот алгоритм работает   
 
  
   ). Единственное, что меня в приведенном коде напрягает - это то, что элементы массива re[u] и re[v] используются раньше, чем были проинициализированы... 
То есть, если принимать во внимание только приведенный текст, получается,  что элементам re[u] и re[v] было присвоено какое-то значение уже после того, как они были использованы в вычислениях.
Вот использование их:
Код:
            double ReY1 = re[u] + re[v]; 
            double ImY1 = im[u] + im[v]; 
А инициализация на несколько строк позже:
Код:
            re[u] = ReY1; 
            re[v] = ReY2;
Может, эти элементы (re[u] и re[v]) были инициализированы раньше (до входа в цикл)?