2137{
2138 float *ee0 = e + i_off;
2139 float *ee2 = ee0 + k_off;
2141
2142 FL_ASSERT((n & 3) == 0,
"n must be multiple of 4");
2143 for (i=(n>>2); i > 0; --i) {
2144 float k00_20, k01_21;
2145 k00_20 = ee0[ 0] - ee2[ 0];
2146 k01_21 = ee0[-1] - ee2[-1];
2147 ee0[ 0] += ee2[ 0];
2148 ee0[-1] += ee2[-1];
2149 ee2[ 0] = k00_20 * A[0] - k01_21 * A[1];
2150 ee2[-1] = k01_21 * A[0] + k00_20 * A[1];
2151 A += 8;
2152
2153 k00_20 = ee0[-2] - ee2[-2];
2154 k01_21 = ee0[-3] - ee2[-3];
2155 ee0[-2] += ee2[-2];
2156 ee0[-3] += ee2[-3];
2157 ee2[-2] = k00_20 * A[0] - k01_21 * A[1];
2158 ee2[-3] = k01_21 * A[0] + k00_20 * A[1];
2159 A += 8;
2160
2161 k00_20 = ee0[-4] - ee2[-4];
2162 k01_21 = ee0[-5] - ee2[-5];
2163 ee0[-4] += ee2[-4];
2164 ee0[-5] += ee2[-5];
2165 ee2[-4] = k00_20 * A[0] - k01_21 * A[1];
2166 ee2[-5] = k01_21 * A[0] + k00_20 * A[1];
2167 A += 8;
2168
2169 k00_20 = ee0[-6] - ee2[-6];
2170 k01_21 = ee0[-7] - ee2[-7];
2171 ee0[-6] += ee2[-6];
2172 ee0[-7] += ee2[-7];
2173 ee2[-6] = k00_20 * A[0] - k01_21 * A[1];
2174 ee2[-7] = k01_21 * A[0] + k00_20 * A[1];
2175 A += 8;
2176 ee0 -= 8;
2177 ee2 -= 8;
2178 }
2179}
#define FL_ASSERT(x, MSG)