void pass_2(int fi, 
	      float in[],  int in0, int istride,
	      float out[], int out0, int ostride,
	      int sign, int product) {
    int k, k1;

    int factor = 2;
    int m = n / factor;
    int q = n / product;
    int product_1 = product / factor;

    int di = istride * m;
    int dj = ostride * product_1;
    int i = in0, j = out0;
    float x_real, x_imag;
    for (k = 0; k < q; k++) {
      float twids[] = twiddle[fi][k];
      float w_real =       twids[0];
      float w_imag = -sign*twids[1];

      for (k1 = 0; k1 < product_1; k1++) {
	float z0_real = in[i];
	float z0_imag = in[i+1];
	float z1_real = in[i+di];
	float z1_imag = in[i+di+1];
	i += istride;

	/* compute x = W(2) z */

	/* apply twiddle factors */
	  
	/* out0 = 1 * (z0 + z1) */
	out[j]   = z0_real + z1_real;
	out[j+1] = z0_imag + z1_imag;
	  
	/* out1 = w * (z0 - z1) */
	x_real = z0_real - z1_real;
	x_imag = z0_imag - z1_imag;
	out[j+dj]   = w_real * x_real - w_imag * x_imag;
	out[j+dj+1] = w_real * x_imag + w_imag * x_real;
	  
	j += ostride;
      }
      j += (factor-1)*dj;
    }}
void pass_2 ( int fi , float in [ ] , int in0 , int istride , float out [ ] , int out0 , int ostride , int sign , int product ) { int k , k1 ; int factor = 2 ; int m = n / factor ; int q = n / product ; int product_1 = product / factor ; int di = istride * m ; int dj = ostride * product_1 ; int i = in0 , j = out0 ; float x_real , x_imag ; for ( k = 0 ; k < q ; k ++ ) { float twids [ ] = twiddle [ fi ] [ k ] ; float w_real = twids [ 0 ] ; float w_imag = - sign * twids [ 1 ] ; for ( k1 = 0 ; k1 < product_1 ; k1 ++ ) { float z0_real = in [ i ] ; float z0_imag = in [ i + 1 ] ; float z1_real = in [ i + di ] ; float z1_imag = in [ i + di + 1 ] ; i += istride ; out [ j ] = z0_real + z1_real ; out [ j + 1 ] = z0_imag + z1_imag ; x_real = z0_real - z1_real ; x_imag = z0_imag - z1_imag ; out [ j + dj ] = w_real * x_real - w_imag * x_imag ; out [ j + dj + 1 ] = w_real * x_imag + w_imag * x_real ; j += ostride ; } j += ( factor - 1 ) * dj ; } }
/*______________________________________________________________________