стадії */= DM (groups) ; = SI ;/ * CNTR = # груп даній стадії */
SR = LSHIFT SI BY 1 (LO); (groups) = SR0; = DM (node_space) ;/ * SI = зміни node_space */
M2 = SI; = SI; (I1, M2) ;/ * I1 -> x1 в першій групі даній стадії */(I5, M7) ;/ * I5 -> y1 у першій групі даній стадії */
DO group_loop UNTIL CE; = PM (I4, M5), MX0 = DM (I1, M0) ;/ * MY0 = C, MX0 = x1 */= MX0 * MY0 (SS), MX1 = PM (I5, M4) ;/ * MR = C * x1, MX1 = y1 */= DM (I0, M1) ;/ * MY1 = (-S) */= SI ;/ * CNTR = лічильник метелики */ bfly_loop UNTIL CE; = MR-MX1 * MY1 (RND), AY0 = DM (I2, M0);/* MR = x1 * C-y1 *-S, AY0 = x0 */= MR1 + AY0, AX1 = PM ( I5, M5)/* AR = x0 '= x0 + (x1 * C-y1 *-S) */(I2, M1) = AR, AR = AY0-MR1;/* DM = x0', AR = x1 ' = x0-(x1 * C-y1 * (-S)) */= MX0 * MY1 (SS), DM (I1, M1) = AR;/* MR = x1 * (-S), DM = x1 '* /= MR + MX1 * MY0 (RND), AY1 = PM (I6, M4), MX0 = DM (I1, M0);/* MR = x1 * (-S) + y1 * C, AY1 = y0, MX0 = наступного x1 */= MR1 + AY1, MX1 = PM (I5, M6)/* AR = y0 '= y0 + (y1 * C + x1 * (-S)), MX1 = наступного y1 */(I6, M5) = AR, AR = AY1-MR1;/* PM = y0 ', AR = y1' = y0-(y1 * C + x1 * (-S)) */_loop: = MX0 * MY0 (SS), PM (I5 , M5) = AR;/* PM = y1 '*/= PM (I5, M7), MX0 = DM (I1, M2); _loop: = PM (I6, M7), MX0 = DM (I2, M2); = ASHIFT SI BY -1 (LO); _loop: (node_space) = SR0; = twid_imag/* I0 -> (-S) */= Inputreal ;/ * I1 -> x1 */= Inputreal ;/ * I2 -> x0 */
M2 = 2; = Refft_Bitrev ;/ * Біт-реверсований Refft */= Mod_Value ;/ * Біт-реверсований зміна */
I4 = twid_real ;/ * I4 -> C */= Inputimag ;/ * I5 -> y1 */= Inputimag ;/ * I6 -> y0 */= 2 ; (I1, M1) ;/ * I1 -> x1 */(I5, M5) ;/ * I5 -> y1 */= PM (I4, M5), MX0 = DM (I1, M2); /* MY0 = C, MX0 = x1 */= MX0 * MY0 (SS), MX1 = PM (I5, M6) ;/ * MR = C * x1, MX1 = y1 */= DM (I0, M1) ;/ * MY1 = (-S) */= Ndiv2; last_loop UNTIL CE; = MR-MX1 * MY1 (RND), AY0 = DM (I2, M2)/* MR = x1 * C-y1 * (-S), AY0 = x0 */= MR1 + AY0, AY1 = PM (I6, M4)/* AR = x0 '= x0 + (x1 * C-y1 * (-S)), AY1 = y0 */
ENA BIT_REV; (I3, M3) = AR, AR = AY0-MR1 ;/ * Читання дійсних даних */= MX0 * MY1 (SS), DM (I3, M3) = AR ;/ *