comparison src/fftw-3.3.3/dft/simd/common/n2sv_64.c @ 10:37bf6b4a2645

Add FFTW3
author Chris Cannam
date Wed, 20 Mar 2013 15:35:50 +0000
parents
children
comparison
equal deleted inserted replaced
9:c0fb53affa76 10:37bf6b4a2645
1 /*
2 * Copyright (c) 2003, 2007-11 Matteo Frigo
3 * Copyright (c) 2003, 2007-11 Massachusetts Institute of Technology
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 *
19 */
20
21 /* This file was automatically generated --- DO NOT EDIT */
22 /* Generated on Sun Nov 25 07:37:57 EST 2012 */
23
24 #include "codelet-dft.h"
25
26 #ifdef HAVE_FMA
27
28 /* Generated by: ../../../genfft/gen_notw.native -fma -reorder-insns -schedule-for-pipeline -simd -compact -variables 4 -pipeline-latency 8 -n 64 -name n2sv_64 -with-ostride 1 -include n2s.h -store-multiple 4 */
29
30 /*
31 * This function contains 912 FP additions, 392 FP multiplications,
32 * (or, 520 additions, 0 multiplications, 392 fused multiply/add),
33 * 310 stack variables, 15 constants, and 288 memory accesses
34 */
35 #include "n2s.h"
36
37 static void n2sv_64(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
38 {
39 DVK(KP881921264, +0.881921264348355029712756863660388349508442621);
40 DVK(KP956940335, +0.956940335732208864935797886980269969482849206);
41 DVK(KP534511135, +0.534511135950791641089685961295362908582039528);
42 DVK(KP303346683, +0.303346683607342391675883946941299872384187453);
43 DVK(KP773010453, +0.773010453362736960810906609758469800971041293);
44 DVK(KP995184726, +0.995184726672196886244836953109479921575474869);
45 DVK(KP820678790, +0.820678790828660330972281985331011598767386482);
46 DVK(KP098491403, +0.098491403357164253077197521291327432293052451);
47 DVK(KP831469612, +0.831469612302545237078788377617905756738560812);
48 DVK(KP980785280, +0.980785280403230449126182236134239036973933731);
49 DVK(KP668178637, +0.668178637919298919997757686523080761552472251);
50 DVK(KP198912367, +0.198912367379658006911597622644676228597850501);
51 DVK(KP923879532, +0.923879532511286756128183189396788286822416626);
52 DVK(KP707106781, +0.707106781186547524400844362104849039284835938);
53 DVK(KP414213562, +0.414213562373095048801688724209698078569671875);
54 {
55 INT i;
56 for (i = v; i > 0; i = i - (2 * VL), ri = ri + ((2 * VL) * ivs), ii = ii + ((2 * VL) * ivs), ro = ro + ((2 * VL) * ovs), io = io + ((2 * VL) * ovs), MAKE_VOLATILE_STRIDE(256, is), MAKE_VOLATILE_STRIDE(256, os)) {
57 V TeJ, TeK, TeP, TeQ, TfH, TfI, TfJ, TfK, Tgj, Tgk, Tgv, Tgw, T9a, T99, T9e;
58 V T9b;
59 {
60 V T7B, T37, T5Z, T8F, TbB, TcB, Tf, Td9, T62, T7C, T2i, TdH, Tcb, Tah, T8G;
61 V T3e, Tak, TbC, T65, T3m, TdI, Tu, Tda, T2x, TbD, Tan, T8I, T7G, T8J, T7J;
62 V T64, T3t, Tas, Tce, TK, Tdd, Tav, Tcf, Tdc, T2N, T3G, T6G, T9k, T7O, T9l;
63 V T7R, T6H, T3N, T1L, TdA, Tdx, Teo, Tbs, Tct, T5Q, T6V, T8y, T9z, T5j, T6Y;
64 V Tbb, Tcw, T8n, T9C, Tch, Taz, Tdf, TZ, Tdg, T32, Tci, TaC, T6J, T3Z, T9n;
65 V T7V, T9o, T7Y, T6K, T46, Tdp, T1g, Tej, Tdm, Tcm, Tb1, Tcp, TaK, T6O, T4X;
66 V T9s, T8f, T6R, T4q, T9v, T84, Tdn, T1v, Tek, Tds, Tcn, TaV, Tcq, Tb4, T9t;
67 V T8b, T9w, T8i, T6S, T50, T6P, T4N, T5k, T1V, T1S, TdB, Tbi, T5s, Tbt, Tbg;
68 V T5F, T5R, T5p, T1Y, Tbj, T5n, T8z, T8q;
69 {
70 V Tba, T57, T8l, Tb7, T5M, T8w, T8m, T5P, T8x, T5i;
71 {
72 V T2p, T7F, T7E, Tal, T2w, Tam, T3s, T7H, T7I, T3p, T3d, T3a;
73 {
74 V T8, T35, T3, T5Y, T26, T5X, T6, T36, T29, T9, T2b, T2c, Tb, Tc, T2e;
75 V T2f;
76 {
77 V T1, T2, T24, T25, T4, T5, T27, T28;
78 T1 = LD(&(ri[0]), ivs, &(ri[0]));
79 T2 = LD(&(ri[WS(is, 32)]), ivs, &(ri[0]));
80 T24 = LD(&(ii[0]), ivs, &(ii[0]));
81 T25 = LD(&(ii[WS(is, 32)]), ivs, &(ii[0]));
82 T4 = LD(&(ri[WS(is, 16)]), ivs, &(ri[0]));
83 T5 = LD(&(ri[WS(is, 48)]), ivs, &(ri[0]));
84 T27 = LD(&(ii[WS(is, 16)]), ivs, &(ii[0]));
85 T28 = LD(&(ii[WS(is, 48)]), ivs, &(ii[0]));
86 T8 = LD(&(ri[WS(is, 8)]), ivs, &(ri[0]));
87 T35 = VSUB(T1, T2);
88 T3 = VADD(T1, T2);
89 T5Y = VSUB(T24, T25);
90 T26 = VADD(T24, T25);
91 T5X = VSUB(T4, T5);
92 T6 = VADD(T4, T5);
93 T36 = VSUB(T27, T28);
94 T29 = VADD(T27, T28);
95 T9 = LD(&(ri[WS(is, 40)]), ivs, &(ri[0]));
96 T2b = LD(&(ii[WS(is, 8)]), ivs, &(ii[0]));
97 T2c = LD(&(ii[WS(is, 40)]), ivs, &(ii[0]));
98 Tb = LD(&(ri[WS(is, 56)]), ivs, &(ri[0]));
99 Tc = LD(&(ri[WS(is, 24)]), ivs, &(ri[0]));
100 T2e = LD(&(ii[WS(is, 56)]), ivs, &(ii[0]));
101 T2f = LD(&(ii[WS(is, 24)]), ivs, &(ii[0]));
102 }
103 {
104 V T39, Ta, T38, T2d, T3b, Td, T3c, T2g, Taf, T7;
105 T7B = VADD(T35, T36);
106 T37 = VSUB(T35, T36);
107 T39 = VSUB(T8, T9);
108 Ta = VADD(T8, T9);
109 T38 = VSUB(T2b, T2c);
110 T2d = VADD(T2b, T2c);
111 T3b = VSUB(Tb, Tc);
112 Td = VADD(Tb, Tc);
113 T3c = VSUB(T2e, T2f);
114 T2g = VADD(T2e, T2f);
115 T5Z = VADD(T5X, T5Y);
116 T8F = VSUB(T5Y, T5X);
117 Taf = VSUB(T3, T6);
118 T7 = VADD(T3, T6);
119 {
120 V TbA, T2a, Te, Tbz, T60, T61, T2h, Tag;
121 TbA = VSUB(T26, T29);
122 T2a = VADD(T26, T29);
123 Te = VADD(Ta, Td);
124 Tbz = VSUB(Td, Ta);
125 T3d = VADD(T3b, T3c);
126 T60 = VSUB(T3b, T3c);
127 T61 = VADD(T39, T38);
128 T3a = VSUB(T38, T39);
129 T2h = VADD(T2d, T2g);
130 Tag = VSUB(T2d, T2g);
131 TbB = VADD(Tbz, TbA);
132 TcB = VSUB(TbA, Tbz);
133 Tf = VADD(T7, Te);
134 Td9 = VSUB(T7, Te);
135 T62 = VSUB(T60, T61);
136 T7C = VADD(T61, T60);
137 T2i = VADD(T2a, T2h);
138 TdH = VSUB(T2a, T2h);
139 Tcb = VSUB(Taf, Tag);
140 Tah = VADD(Taf, Tag);
141 }
142 }
143 }
144 {
145 V T3j, Ti, T3h, T2l, T3g, Tl, T2t, T3k, T2o, T3q, Tp, T3o, T2s, T3n, Ts;
146 V T2u, T2m, T2n;
147 {
148 V Tg, Th, T2j, T2k, Tj, Tk;
149 Tg = LD(&(ri[WS(is, 4)]), ivs, &(ri[0]));
150 Th = LD(&(ri[WS(is, 36)]), ivs, &(ri[0]));
151 T2j = LD(&(ii[WS(is, 4)]), ivs, &(ii[0]));
152 T2k = LD(&(ii[WS(is, 36)]), ivs, &(ii[0]));
153 Tj = LD(&(ri[WS(is, 20)]), ivs, &(ri[0]));
154 Tk = LD(&(ri[WS(is, 52)]), ivs, &(ri[0]));
155 T2m = LD(&(ii[WS(is, 20)]), ivs, &(ii[0]));
156 T8G = VADD(T3a, T3d);
157 T3e = VSUB(T3a, T3d);
158 T3j = VSUB(Tg, Th);
159 Ti = VADD(Tg, Th);
160 T3h = VSUB(T2j, T2k);
161 T2l = VADD(T2j, T2k);
162 T3g = VSUB(Tj, Tk);
163 Tl = VADD(Tj, Tk);
164 T2n = LD(&(ii[WS(is, 52)]), ivs, &(ii[0]));
165 }
166 {
167 V Tn, To, T2q, T2r, Tq, Tr;
168 Tn = LD(&(ri[WS(is, 60)]), ivs, &(ri[0]));
169 To = LD(&(ri[WS(is, 28)]), ivs, &(ri[0]));
170 T2q = LD(&(ii[WS(is, 60)]), ivs, &(ii[0]));
171 T2r = LD(&(ii[WS(is, 28)]), ivs, &(ii[0]));
172 Tq = LD(&(ri[WS(is, 12)]), ivs, &(ri[0]));
173 Tr = LD(&(ri[WS(is, 44)]), ivs, &(ri[0]));
174 T2t = LD(&(ii[WS(is, 12)]), ivs, &(ii[0]));
175 T3k = VSUB(T2m, T2n);
176 T2o = VADD(T2m, T2n);
177 T3q = VSUB(Tn, To);
178 Tp = VADD(Tn, To);
179 T3o = VSUB(T2q, T2r);
180 T2s = VADD(T2q, T2r);
181 T3n = VSUB(Tq, Tr);
182 Ts = VADD(Tq, Tr);
183 T2u = LD(&(ii[WS(is, 44)]), ivs, &(ii[0]));
184 }
185 {
186 V Tai, Tm, Taj, T3r;
187 Tai = VSUB(Ti, Tl);
188 Tm = VADD(Ti, Tl);
189 T2p = VADD(T2l, T2o);
190 Taj = VSUB(T2l, T2o);
191 {
192 V T3i, T3l, Tt, T2v;
193 T7F = VSUB(T3h, T3g);
194 T3i = VADD(T3g, T3h);
195 T3l = VSUB(T3j, T3k);
196 T7E = VADD(T3j, T3k);
197 Tt = VADD(Tp, Ts);
198 Tal = VSUB(Tp, Ts);
199 T2v = VADD(T2t, T2u);
200 T3r = VSUB(T2t, T2u);
201 Tak = VADD(Tai, Taj);
202 TbC = VSUB(Taj, Tai);
203 T65 = VFNMS(LDK(KP414213562), T3i, T3l);
204 T3m = VFMA(LDK(KP414213562), T3l, T3i);
205 TdI = VSUB(Tt, Tm);
206 Tu = VADD(Tm, Tt);
207 T2w = VADD(T2s, T2v);
208 Tam = VSUB(T2s, T2v);
209 }
210 T3s = VSUB(T3q, T3r);
211 T7H = VADD(T3q, T3r);
212 T7I = VSUB(T3o, T3n);
213 T3p = VADD(T3n, T3o);
214 }
215 }
216 {
217 V T7M, T7Q, T7N, T3M, T3J, T7P;
218 {
219 V TG, T3H, Ty, T3x, T2B, T3w, TB, T3I, T2E, TH, T2J, T2K, TD, TE, T2G;
220 V T2H;
221 {
222 V Tw, Tx, T2z, T2A, Tz, TA, T2C, T2D;
223 Tw = LD(&(ri[WS(is, 2)]), ivs, &(ri[0]));
224 Tda = VSUB(T2p, T2w);
225 T2x = VADD(T2p, T2w);
226 TbD = VADD(Tal, Tam);
227 Tan = VSUB(Tal, Tam);
228 T8I = VFNMS(LDK(KP414213562), T7E, T7F);
229 T7G = VFMA(LDK(KP414213562), T7F, T7E);
230 T8J = VFMA(LDK(KP414213562), T7H, T7I);
231 T7J = VFNMS(LDK(KP414213562), T7I, T7H);
232 T64 = VFMA(LDK(KP414213562), T3p, T3s);
233 T3t = VFNMS(LDK(KP414213562), T3s, T3p);
234 Tx = LD(&(ri[WS(is, 34)]), ivs, &(ri[0]));
235 T2z = LD(&(ii[WS(is, 2)]), ivs, &(ii[0]));
236 T2A = LD(&(ii[WS(is, 34)]), ivs, &(ii[0]));
237 Tz = LD(&(ri[WS(is, 18)]), ivs, &(ri[0]));
238 TA = LD(&(ri[WS(is, 50)]), ivs, &(ri[0]));
239 T2C = LD(&(ii[WS(is, 18)]), ivs, &(ii[0]));
240 T2D = LD(&(ii[WS(is, 50)]), ivs, &(ii[0]));
241 TG = LD(&(ri[WS(is, 58)]), ivs, &(ri[0]));
242 T3H = VSUB(Tw, Tx);
243 Ty = VADD(Tw, Tx);
244 T3x = VSUB(T2z, T2A);
245 T2B = VADD(T2z, T2A);
246 T3w = VSUB(Tz, TA);
247 TB = VADD(Tz, TA);
248 T3I = VSUB(T2C, T2D);
249 T2E = VADD(T2C, T2D);
250 TH = LD(&(ri[WS(is, 26)]), ivs, &(ri[0]));
251 T2J = LD(&(ii[WS(is, 58)]), ivs, &(ii[0]));
252 T2K = LD(&(ii[WS(is, 26)]), ivs, &(ii[0]));
253 TD = LD(&(ri[WS(is, 10)]), ivs, &(ri[0]));
254 TE = LD(&(ri[WS(is, 42)]), ivs, &(ri[0]));
255 T2G = LD(&(ii[WS(is, 10)]), ivs, &(ii[0]));
256 T2H = LD(&(ii[WS(is, 42)]), ivs, &(ii[0]));
257 }
258 {
259 V Tat, TC, Tar, T2F, T3K, T3E, TJ, Taq, T2M, Tau, T3B, T3L, T3y, T3F;
260 {
261 V TI, T3C, T2L, T3D, TF, T3z, T2I, T3A;
262 Tat = VSUB(Ty, TB);
263 TC = VADD(Ty, TB);
264 TI = VADD(TG, TH);
265 T3C = VSUB(TG, TH);
266 T2L = VADD(T2J, T2K);
267 T3D = VSUB(T2J, T2K);
268 TF = VADD(TD, TE);
269 T3z = VSUB(TD, TE);
270 T2I = VADD(T2G, T2H);
271 T3A = VSUB(T2G, T2H);
272 Tar = VSUB(T2B, T2E);
273 T2F = VADD(T2B, T2E);
274 T3K = VADD(T3C, T3D);
275 T3E = VSUB(T3C, T3D);
276 TJ = VADD(TF, TI);
277 Taq = VSUB(TI, TF);
278 T2M = VADD(T2I, T2L);
279 Tau = VSUB(T2I, T2L);
280 T3B = VADD(T3z, T3A);
281 T3L = VSUB(T3A, T3z);
282 }
283 T7M = VSUB(T3x, T3w);
284 T3y = VADD(T3w, T3x);
285 Tas = VADD(Taq, Tar);
286 Tce = VSUB(Tar, Taq);
287 TK = VADD(TC, TJ);
288 Tdd = VSUB(TC, TJ);
289 Tav = VADD(Tat, Tau);
290 Tcf = VSUB(Tat, Tau);
291 T7Q = VADD(T3B, T3E);
292 T3F = VSUB(T3B, T3E);
293 Tdc = VSUB(T2F, T2M);
294 T2N = VADD(T2F, T2M);
295 T7N = VADD(T3L, T3K);
296 T3M = VSUB(T3K, T3L);
297 T3J = VSUB(T3H, T3I);
298 T7P = VADD(T3H, T3I);
299 T3G = VFNMS(LDK(KP707106781), T3F, T3y);
300 T6G = VFMA(LDK(KP707106781), T3F, T3y);
301 }
302 }
303 {
304 V T1H, T5I, T1z, Tb8, T56, T53, T1C, Tb9, T5L, T1I, T5e, T5f, T1E, T1F, T59;
305 V T5a;
306 {
307 V T1x, T1y, T54, T55, T1A, T1B, T5J, T5K;
308 T1x = LD(&(ri[WS(is, 63)]), ivs, &(ri[WS(is, 1)]));
309 T9k = VFNMS(LDK(KP707106781), T7N, T7M);
310 T7O = VFMA(LDK(KP707106781), T7N, T7M);
311 T9l = VFNMS(LDK(KP707106781), T7Q, T7P);
312 T7R = VFMA(LDK(KP707106781), T7Q, T7P);
313 T6H = VFMA(LDK(KP707106781), T3M, T3J);
314 T3N = VFNMS(LDK(KP707106781), T3M, T3J);
315 T1y = LD(&(ri[WS(is, 31)]), ivs, &(ri[WS(is, 1)]));
316 T54 = LD(&(ii[WS(is, 63)]), ivs, &(ii[WS(is, 1)]));
317 T55 = LD(&(ii[WS(is, 31)]), ivs, &(ii[WS(is, 1)]));
318 T1A = LD(&(ri[WS(is, 15)]), ivs, &(ri[WS(is, 1)]));
319 T1B = LD(&(ri[WS(is, 47)]), ivs, &(ri[WS(is, 1)]));
320 T5J = LD(&(ii[WS(is, 15)]), ivs, &(ii[WS(is, 1)]));
321 T5K = LD(&(ii[WS(is, 47)]), ivs, &(ii[WS(is, 1)]));
322 T1H = LD(&(ri[WS(is, 55)]), ivs, &(ri[WS(is, 1)]));
323 T5I = VSUB(T1x, T1y);
324 T1z = VADD(T1x, T1y);
325 Tb8 = VADD(T54, T55);
326 T56 = VSUB(T54, T55);
327 T53 = VSUB(T1A, T1B);
328 T1C = VADD(T1A, T1B);
329 Tb9 = VADD(T5J, T5K);
330 T5L = VSUB(T5J, T5K);
331 T1I = LD(&(ri[WS(is, 23)]), ivs, &(ri[WS(is, 1)]));
332 T5e = LD(&(ii[WS(is, 55)]), ivs, &(ii[WS(is, 1)]));
333 T5f = LD(&(ii[WS(is, 23)]), ivs, &(ii[WS(is, 1)]));
334 T1E = LD(&(ri[WS(is, 7)]), ivs, &(ri[WS(is, 1)]));
335 T1F = LD(&(ri[WS(is, 39)]), ivs, &(ri[WS(is, 1)]));
336 T59 = LD(&(ii[WS(is, 7)]), ivs, &(ii[WS(is, 1)]));
337 T5a = LD(&(ii[WS(is, 39)]), ivs, &(ii[WS(is, 1)]));
338 }
339 {
340 V Tbo, T1D, Tdv, T5h, T5N, T1K, Tdw, Tbr, T5O, T5c;
341 {
342 V T1J, T5d, Tbq, T5g, T1G, T58, Tbp, T5b;
343 Tbo = VSUB(T1z, T1C);
344 T1D = VADD(T1z, T1C);
345 T1J = VADD(T1H, T1I);
346 T5d = VSUB(T1H, T1I);
347 Tbq = VADD(T5e, T5f);
348 T5g = VSUB(T5e, T5f);
349 T1G = VADD(T1E, T1F);
350 T58 = VSUB(T1E, T1F);
351 Tbp = VADD(T59, T5a);
352 T5b = VSUB(T59, T5a);
353 Tba = VSUB(Tb8, Tb9);
354 Tdv = VADD(Tb8, Tb9);
355 T57 = VADD(T53, T56);
356 T8l = VSUB(T56, T53);
357 T5h = VSUB(T5d, T5g);
358 T5N = VADD(T5d, T5g);
359 Tb7 = VSUB(T1J, T1G);
360 T1K = VADD(T1G, T1J);
361 Tdw = VADD(Tbp, Tbq);
362 Tbr = VSUB(Tbp, Tbq);
363 T5O = VSUB(T5b, T58);
364 T5c = VADD(T58, T5b);
365 }
366 T5M = VSUB(T5I, T5L);
367 T8w = VADD(T5I, T5L);
368 T1L = VADD(T1D, T1K);
369 TdA = VSUB(T1D, T1K);
370 Tdx = VSUB(Tdv, Tdw);
371 Teo = VADD(Tdv, Tdw);
372 Tbs = VADD(Tbo, Tbr);
373 Tct = VSUB(Tbo, Tbr);
374 T8m = VADD(T5O, T5N);
375 T5P = VSUB(T5N, T5O);
376 T8x = VADD(T5c, T5h);
377 T5i = VSUB(T5c, T5h);
378 }
379 }
380 }
381 }
382 {
383 V T4e, T82, T8d, T4T, T4W, T83, T4p, T8e;
384 {
385 V T7T, T3R, T42, T7W, T3Y, T7X, T45, T7U;
386 {
387 V T40, TN, T2Y, T3Q, T2Q, T3P, TQ, T41, T2T, T3V, TX, T2Z, TS, TT, T2V;
388 V T2W;
389 {
390 V T2O, T2P, TO, TP, TL, TM;
391 TL = LD(&(ri[WS(is, 62)]), ivs, &(ri[0]));
392 TM = LD(&(ri[WS(is, 30)]), ivs, &(ri[0]));
393 T5Q = VFNMS(LDK(KP707106781), T5P, T5M);
394 T6V = VFMA(LDK(KP707106781), T5P, T5M);
395 T8y = VFMA(LDK(KP707106781), T8x, T8w);
396 T9z = VFNMS(LDK(KP707106781), T8x, T8w);
397 T5j = VFNMS(LDK(KP707106781), T5i, T57);
398 T6Y = VFMA(LDK(KP707106781), T5i, T57);
399 Tbb = VADD(Tb7, Tba);
400 Tcw = VSUB(Tba, Tb7);
401 T8n = VFMA(LDK(KP707106781), T8m, T8l);
402 T9C = VFNMS(LDK(KP707106781), T8m, T8l);
403 T40 = VSUB(TL, TM);
404 TN = VADD(TL, TM);
405 T2O = LD(&(ii[WS(is, 62)]), ivs, &(ii[0]));
406 T2P = LD(&(ii[WS(is, 30)]), ivs, &(ii[0]));
407 TO = LD(&(ri[WS(is, 14)]), ivs, &(ri[0]));
408 TP = LD(&(ri[WS(is, 46)]), ivs, &(ri[0]));
409 {
410 V T2R, T2S, TV, TW;
411 T2R = LD(&(ii[WS(is, 14)]), ivs, &(ii[0]));
412 T2S = LD(&(ii[WS(is, 46)]), ivs, &(ii[0]));
413 TV = LD(&(ri[WS(is, 54)]), ivs, &(ri[0]));
414 TW = LD(&(ri[WS(is, 22)]), ivs, &(ri[0]));
415 T2Y = LD(&(ii[WS(is, 54)]), ivs, &(ii[0]));
416 T3Q = VSUB(T2O, T2P);
417 T2Q = VADD(T2O, T2P);
418 T3P = VSUB(TO, TP);
419 TQ = VADD(TO, TP);
420 T41 = VSUB(T2R, T2S);
421 T2T = VADD(T2R, T2S);
422 T3V = VSUB(TV, TW);
423 TX = VADD(TV, TW);
424 T2Z = LD(&(ii[WS(is, 22)]), ivs, &(ii[0]));
425 TS = LD(&(ri[WS(is, 6)]), ivs, &(ri[0]));
426 TT = LD(&(ri[WS(is, 38)]), ivs, &(ri[0]));
427 T2V = LD(&(ii[WS(is, 6)]), ivs, &(ii[0]));
428 T2W = LD(&(ii[WS(is, 38)]), ivs, &(ii[0]));
429 }
430 }
431 {
432 V TaA, TR, Tay, T2U, T3W, T30, TU, T3S, T2X, T3T;
433 TaA = VSUB(TN, TQ);
434 TR = VADD(TN, TQ);
435 Tay = VSUB(T2Q, T2T);
436 T2U = VADD(T2Q, T2T);
437 T3W = VSUB(T2Y, T2Z);
438 T30 = VADD(T2Y, T2Z);
439 TU = VADD(TS, TT);
440 T3S = VSUB(TS, TT);
441 T2X = VADD(T2V, T2W);
442 T3T = VSUB(T2V, T2W);
443 {
444 V T3X, T43, Tax, TY, T31, TaB, T3U, T44;
445 T7T = VSUB(T3Q, T3P);
446 T3R = VADD(T3P, T3Q);
447 T3X = VSUB(T3V, T3W);
448 T43 = VADD(T3V, T3W);
449 Tax = VSUB(TX, TU);
450 TY = VADD(TU, TX);
451 T31 = VADD(T2X, T30);
452 TaB = VSUB(T2X, T30);
453 T3U = VADD(T3S, T3T);
454 T44 = VSUB(T3T, T3S);
455 T42 = VSUB(T40, T41);
456 T7W = VADD(T40, T41);
457 Tch = VSUB(Tay, Tax);
458 Taz = VADD(Tax, Tay);
459 Tdf = VSUB(TR, TY);
460 TZ = VADD(TR, TY);
461 Tdg = VSUB(T2U, T31);
462 T32 = VADD(T2U, T31);
463 Tci = VSUB(TaA, TaB);
464 TaC = VADD(TaA, TaB);
465 T3Y = VSUB(T3U, T3X);
466 T7X = VADD(T3U, T3X);
467 T45 = VSUB(T43, T44);
468 T7U = VADD(T44, T43);
469 }
470 }
471 }
472 {
473 V T4P, T14, T4l, TaH, T4d, T4a, T17, TaI, T4S, T4k, T1e, T4m, T19, T1a, T4g;
474 V T4h;
475 {
476 V T4b, T4c, T15, T16, T12, T13;
477 T12 = LD(&(ri[WS(is, 1)]), ivs, &(ri[WS(is, 1)]));
478 T13 = LD(&(ri[WS(is, 33)]), ivs, &(ri[WS(is, 1)]));
479 T4b = LD(&(ii[WS(is, 1)]), ivs, &(ii[WS(is, 1)]));
480 T6J = VFMA(LDK(KP707106781), T3Y, T3R);
481 T3Z = VFNMS(LDK(KP707106781), T3Y, T3R);
482 T9n = VFNMS(LDK(KP707106781), T7U, T7T);
483 T7V = VFMA(LDK(KP707106781), T7U, T7T);
484 T9o = VFNMS(LDK(KP707106781), T7X, T7W);
485 T7Y = VFMA(LDK(KP707106781), T7X, T7W);
486 T6K = VFMA(LDK(KP707106781), T45, T42);
487 T46 = VFNMS(LDK(KP707106781), T45, T42);
488 T4P = VSUB(T12, T13);
489 T14 = VADD(T12, T13);
490 T4c = LD(&(ii[WS(is, 33)]), ivs, &(ii[WS(is, 1)]));
491 T15 = LD(&(ri[WS(is, 17)]), ivs, &(ri[WS(is, 1)]));
492 T16 = LD(&(ri[WS(is, 49)]), ivs, &(ri[WS(is, 1)]));
493 {
494 V T4Q, T4R, T1c, T1d;
495 T4Q = LD(&(ii[WS(is, 17)]), ivs, &(ii[WS(is, 1)]));
496 T4R = LD(&(ii[WS(is, 49)]), ivs, &(ii[WS(is, 1)]));
497 T1c = LD(&(ri[WS(is, 57)]), ivs, &(ri[WS(is, 1)]));
498 T1d = LD(&(ri[WS(is, 25)]), ivs, &(ri[WS(is, 1)]));
499 T4l = LD(&(ii[WS(is, 57)]), ivs, &(ii[WS(is, 1)]));
500 TaH = VADD(T4b, T4c);
501 T4d = VSUB(T4b, T4c);
502 T4a = VSUB(T15, T16);
503 T17 = VADD(T15, T16);
504 TaI = VADD(T4Q, T4R);
505 T4S = VSUB(T4Q, T4R);
506 T4k = VSUB(T1c, T1d);
507 T1e = VADD(T1c, T1d);
508 T4m = LD(&(ii[WS(is, 25)]), ivs, &(ii[WS(is, 1)]));
509 T19 = LD(&(ri[WS(is, 9)]), ivs, &(ri[WS(is, 1)]));
510 T1a = LD(&(ri[WS(is, 41)]), ivs, &(ri[WS(is, 1)]));
511 T4g = LD(&(ii[WS(is, 9)]), ivs, &(ii[WS(is, 1)]));
512 T4h = LD(&(ii[WS(is, 41)]), ivs, &(ii[WS(is, 1)]));
513 }
514 }
515 {
516 V TaX, T18, T4n, TaZ, TaJ, Tdk, T1b, T4f, TaY, T4i;
517 TaX = VSUB(T14, T17);
518 T18 = VADD(T14, T17);
519 T4n = VSUB(T4l, T4m);
520 TaZ = VADD(T4l, T4m);
521 TaJ = VSUB(TaH, TaI);
522 Tdk = VADD(TaH, TaI);
523 T1b = VADD(T19, T1a);
524 T4f = VSUB(T19, T1a);
525 TaY = VADD(T4g, T4h);
526 T4i = VSUB(T4g, T4h);
527 T4e = VADD(T4a, T4d);
528 T82 = VSUB(T4d, T4a);
529 {
530 V T4U, T4o, T1f, TaG, Tdl, Tb0, T4V, T4j;
531 T8d = VADD(T4P, T4S);
532 T4T = VSUB(T4P, T4S);
533 T4U = VADD(T4k, T4n);
534 T4o = VSUB(T4k, T4n);
535 T1f = VADD(T1b, T1e);
536 TaG = VSUB(T1e, T1b);
537 Tdl = VADD(TaY, TaZ);
538 Tb0 = VSUB(TaY, TaZ);
539 T4V = VSUB(T4i, T4f);
540 T4j = VADD(T4f, T4i);
541 Tdp = VSUB(T18, T1f);
542 T1g = VADD(T18, T1f);
543 Tej = VADD(Tdk, Tdl);
544 Tdm = VSUB(Tdk, Tdl);
545 Tcm = VSUB(TaX, Tb0);
546 Tb1 = VADD(TaX, Tb0);
547 T4W = VSUB(T4U, T4V);
548 T83 = VADD(T4V, T4U);
549 T4p = VSUB(T4j, T4o);
550 T8e = VADD(T4j, T4o);
551 Tcp = VSUB(TaJ, TaG);
552 TaK = VADD(TaG, TaJ);
553 }
554 }
555 }
556 }
557 {
558 V T1n, Tdq, T4r, T1q, TaR, T4z, Tb2, TaP, T4M, T4Y, T4w, T1t, TaS, T4u, T8g;
559 V T87;
560 {
561 V T1r, T85, T4L, TaO, TaN, T86, T4G, T1s, T4s, T4t;
562 {
563 V T1h, T1i, T4I, T4J, T1k, T1l, T4D, T4E;
564 T1h = LD(&(ri[WS(is, 5)]), ivs, &(ri[WS(is, 1)]));
565 T6O = VFMA(LDK(KP707106781), T4W, T4T);
566 T4X = VFNMS(LDK(KP707106781), T4W, T4T);
567 T9s = VFNMS(LDK(KP707106781), T8e, T8d);
568 T8f = VFMA(LDK(KP707106781), T8e, T8d);
569 T6R = VFMA(LDK(KP707106781), T4p, T4e);
570 T4q = VFNMS(LDK(KP707106781), T4p, T4e);
571 T9v = VFNMS(LDK(KP707106781), T83, T82);
572 T84 = VFMA(LDK(KP707106781), T83, T82);
573 T1i = LD(&(ri[WS(is, 37)]), ivs, &(ri[WS(is, 1)]));
574 T4I = LD(&(ii[WS(is, 5)]), ivs, &(ii[WS(is, 1)]));
575 T4J = LD(&(ii[WS(is, 37)]), ivs, &(ii[WS(is, 1)]));
576 T1k = LD(&(ri[WS(is, 21)]), ivs, &(ri[WS(is, 1)]));
577 T1l = LD(&(ri[WS(is, 53)]), ivs, &(ri[WS(is, 1)]));
578 T4D = LD(&(ii[WS(is, 21)]), ivs, &(ii[WS(is, 1)]));
579 T4E = LD(&(ii[WS(is, 53)]), ivs, &(ii[WS(is, 1)]));
580 {
581 V T1o, T4C, T1j, TaL, T4K, T4H, T1m, TaM, T4F, T1p, T4x, T4y;
582 T1o = LD(&(ri[WS(is, 61)]), ivs, &(ri[WS(is, 1)]));
583 T4C = VSUB(T1h, T1i);
584 T1j = VADD(T1h, T1i);
585 TaL = VADD(T4I, T4J);
586 T4K = VSUB(T4I, T4J);
587 T4H = VSUB(T1k, T1l);
588 T1m = VADD(T1k, T1l);
589 TaM = VADD(T4D, T4E);
590 T4F = VSUB(T4D, T4E);
591 T1p = LD(&(ri[WS(is, 29)]), ivs, &(ri[WS(is, 1)]));
592 T4x = LD(&(ii[WS(is, 61)]), ivs, &(ii[WS(is, 1)]));
593 T4y = LD(&(ii[WS(is, 29)]), ivs, &(ii[WS(is, 1)]));
594 T1r = LD(&(ri[WS(is, 13)]), ivs, &(ri[WS(is, 1)]));
595 T85 = VSUB(T4K, T4H);
596 T4L = VADD(T4H, T4K);
597 TaO = VSUB(T1j, T1m);
598 T1n = VADD(T1j, T1m);
599 Tdq = VADD(TaL, TaM);
600 TaN = VSUB(TaL, TaM);
601 T86 = VADD(T4C, T4F);
602 T4G = VSUB(T4C, T4F);
603 T4r = VSUB(T1o, T1p);
604 T1q = VADD(T1o, T1p);
605 TaR = VADD(T4x, T4y);
606 T4z = VSUB(T4x, T4y);
607 T1s = LD(&(ri[WS(is, 45)]), ivs, &(ri[WS(is, 1)]));
608 T4s = LD(&(ii[WS(is, 13)]), ivs, &(ii[WS(is, 1)]));
609 T4t = LD(&(ii[WS(is, 45)]), ivs, &(ii[WS(is, 1)]));
610 }
611 }
612 Tb2 = VADD(TaO, TaN);
613 TaP = VSUB(TaN, TaO);
614 T4M = VFNMS(LDK(KP414213562), T4L, T4G);
615 T4Y = VFMA(LDK(KP414213562), T4G, T4L);
616 T4w = VSUB(T1r, T1s);
617 T1t = VADD(T1r, T1s);
618 TaS = VADD(T4s, T4t);
619 T4u = VSUB(T4s, T4t);
620 T8g = VFMA(LDK(KP414213562), T85, T86);
621 T87 = VFNMS(LDK(KP414213562), T86, T85);
622 }
623 {
624 V T1W, T8o, T5E, Tbf, Tbe, T8p, T5z, T1X, T5l, T5m;
625 {
626 V T5B, T5v, T1O, T5C, T1P, T1Q, T5w, T5x;
627 {
628 V T1M, T88, T4A, T1u, TaQ, Tdr, TaT, T89, T4v, T1N, TaU, Tb3;
629 T1M = LD(&(ri[WS(is, 3)]), ivs, &(ri[WS(is, 1)]));
630 T88 = VSUB(T4z, T4w);
631 T4A = VADD(T4w, T4z);
632 T1u = VADD(T1q, T1t);
633 TaQ = VSUB(T1q, T1t);
634 Tdr = VADD(TaR, TaS);
635 TaT = VSUB(TaR, TaS);
636 T89 = VADD(T4r, T4u);
637 T4v = VSUB(T4r, T4u);
638 T1N = LD(&(ri[WS(is, 35)]), ivs, &(ri[WS(is, 1)]));
639 T5B = LD(&(ii[WS(is, 3)]), ivs, &(ii[WS(is, 1)]));
640 Tdn = VSUB(T1u, T1n);
641 T1v = VADD(T1n, T1u);
642 Tek = VADD(Tdq, Tdr);
643 Tds = VSUB(Tdq, Tdr);
644 TaU = VADD(TaQ, TaT);
645 Tb3 = VSUB(TaQ, TaT);
646 {
647 V T8a, T8h, T4Z, T4B;
648 T8a = VFMA(LDK(KP414213562), T89, T88);
649 T8h = VFNMS(LDK(KP414213562), T88, T89);
650 T4Z = VFNMS(LDK(KP414213562), T4v, T4A);
651 T4B = VFMA(LDK(KP414213562), T4A, T4v);
652 T5v = VSUB(T1M, T1N);
653 T1O = VADD(T1M, T1N);
654 Tcn = VSUB(TaU, TaP);
655 TaV = VADD(TaP, TaU);
656 Tcq = VSUB(Tb2, Tb3);
657 Tb4 = VADD(Tb2, Tb3);
658 T9t = VSUB(T8a, T87);
659 T8b = VADD(T87, T8a);
660 T9w = VSUB(T8g, T8h);
661 T8i = VADD(T8g, T8h);
662 T6S = VADD(T4Y, T4Z);
663 T50 = VSUB(T4Y, T4Z);
664 T6P = VADD(T4M, T4B);
665 T4N = VSUB(T4B, T4M);
666 T5C = LD(&(ii[WS(is, 35)]), ivs, &(ii[WS(is, 1)]));
667 }
668 }
669 T1P = LD(&(ri[WS(is, 19)]), ivs, &(ri[WS(is, 1)]));
670 T1Q = LD(&(ri[WS(is, 51)]), ivs, &(ri[WS(is, 1)]));
671 T5w = LD(&(ii[WS(is, 19)]), ivs, &(ii[WS(is, 1)]));
672 T5x = LD(&(ii[WS(is, 51)]), ivs, &(ii[WS(is, 1)]));
673 {
674 V T5q, Tbc, T5D, T5A, T1R, Tbd, T5y, T5r, T1T, T1U;
675 T1T = LD(&(ri[WS(is, 59)]), ivs, &(ri[WS(is, 1)]));
676 T1U = LD(&(ri[WS(is, 27)]), ivs, &(ri[WS(is, 1)]));
677 T5q = LD(&(ii[WS(is, 59)]), ivs, &(ii[WS(is, 1)]));
678 Tbc = VADD(T5B, T5C);
679 T5D = VSUB(T5B, T5C);
680 T5A = VSUB(T1P, T1Q);
681 T1R = VADD(T1P, T1Q);
682 Tbd = VADD(T5w, T5x);
683 T5y = VSUB(T5w, T5x);
684 T5k = VSUB(T1T, T1U);
685 T1V = VADD(T1T, T1U);
686 T5r = LD(&(ii[WS(is, 27)]), ivs, &(ii[WS(is, 1)]));
687 T1W = LD(&(ri[WS(is, 11)]), ivs, &(ri[WS(is, 1)]));
688 T8o = VSUB(T5D, T5A);
689 T5E = VADD(T5A, T5D);
690 Tbf = VSUB(T1O, T1R);
691 T1S = VADD(T1O, T1R);
692 TdB = VADD(Tbc, Tbd);
693 Tbe = VSUB(Tbc, Tbd);
694 T8p = VADD(T5v, T5y);
695 T5z = VSUB(T5v, T5y);
696 Tbi = VADD(T5q, T5r);
697 T5s = VSUB(T5q, T5r);
698 T1X = LD(&(ri[WS(is, 43)]), ivs, &(ri[WS(is, 1)]));
699 T5l = LD(&(ii[WS(is, 11)]), ivs, &(ii[WS(is, 1)]));
700 T5m = LD(&(ii[WS(is, 43)]), ivs, &(ii[WS(is, 1)]));
701 }
702 }
703 Tbt = VADD(Tbf, Tbe);
704 Tbg = VSUB(Tbe, Tbf);
705 T5F = VFNMS(LDK(KP414213562), T5E, T5z);
706 T5R = VFMA(LDK(KP414213562), T5z, T5E);
707 T5p = VSUB(T1W, T1X);
708 T1Y = VADD(T1W, T1X);
709 Tbj = VADD(T5l, T5m);
710 T5n = VSUB(T5l, T5m);
711 T8z = VFMA(LDK(KP414213562), T8o, T8p);
712 T8q = VFNMS(LDK(KP414213562), T8p, T8o);
713 }
714 }
715 }
716 }
717 {
718 V Tbm, Tbv, T9A, T8u, T9D, T8B, T6Z, T5T, T6W, T5G, TeL, TeM, TeN, TeO, TeR;
719 V TeS, TeT, TeU, TeV, TeW, TeX, TeY, TeZ, Tf0, Tf1, Tf2, Tf3, Tf4, Tf5, Tf6;
720 V Tf7, Tf8, Tf9, Tfa, Tfb, Tfc, TbE, Tao, Tfd, Tfe, Td7, Td8, Tff, Tfg, Tfh;
721 V Tfi, Tfj, Tfk, Tfl, Tfm, Tfn, Tfo, Tfp, Tfq, Tfr, Tfs;
722 {
723 V Tel, Tdy, TdD, Tcu, Tcx, Teq, Tei, Ten, Tex, Teh, TeB, Tev, Te9, Tec;
724 {
725 V Tef, Teu, TeE, TeD, T11, TeF, T1w, T21, Tet, T2y, T33, Teg, T20;
726 {
727 V Tv, T8r, T5t, T1Z, Tbh, TdC, Tbk, T8s, T5o, T10, Tep, Tbl, Tbu;
728 Tef = VSUB(Tf, Tu);
729 Tv = VADD(Tf, Tu);
730 T8r = VSUB(T5s, T5p);
731 T5t = VADD(T5p, T5s);
732 T1Z = VADD(T1V, T1Y);
733 Tbh = VSUB(T1V, T1Y);
734 TdC = VADD(Tbi, Tbj);
735 Tbk = VSUB(Tbi, Tbj);
736 T8s = VADD(T5k, T5n);
737 T5o = VSUB(T5k, T5n);
738 T10 = VADD(TK, TZ);
739 Teu = VSUB(TZ, TK);
740 Tel = VSUB(Tej, Tek);
741 TeE = VADD(Tej, Tek);
742 Tdy = VSUB(T1Z, T1S);
743 T20 = VADD(T1S, T1Z);
744 Tep = VADD(TdB, TdC);
745 TdD = VSUB(TdB, TdC);
746 Tbl = VADD(Tbh, Tbk);
747 Tbu = VSUB(Tbh, Tbk);
748 {
749 V T8t, T8A, T5S, T5u;
750 T8t = VFMA(LDK(KP414213562), T8s, T8r);
751 T8A = VFNMS(LDK(KP414213562), T8r, T8s);
752 T5S = VFNMS(LDK(KP414213562), T5o, T5t);
753 T5u = VFMA(LDK(KP414213562), T5t, T5o);
754 TeD = VSUB(Tv, T10);
755 T11 = VADD(Tv, T10);
756 Tcu = VSUB(Tbl, Tbg);
757 Tbm = VADD(Tbg, Tbl);
758 Tcx = VSUB(Tbt, Tbu);
759 Tbv = VADD(Tbt, Tbu);
760 T9A = VSUB(T8t, T8q);
761 T8u = VADD(T8q, T8t);
762 T9D = VSUB(T8z, T8A);
763 T8B = VADD(T8z, T8A);
764 T6Z = VADD(T5R, T5S);
765 T5T = VSUB(T5R, T5S);
766 T6W = VADD(T5F, T5u);
767 T5G = VSUB(T5u, T5F);
768 TeF = VADD(Teo, Tep);
769 Teq = VSUB(Teo, Tep);
770 }
771 }
772 Tei = VSUB(T1g, T1v);
773 T1w = VADD(T1g, T1v);
774 T21 = VADD(T1L, T20);
775 Ten = VSUB(T1L, T20);
776 Tet = VSUB(T2i, T2x);
777 T2y = VADD(T2i, T2x);
778 T33 = VADD(T2N, T32);
779 Teg = VSUB(T2N, T32);
780 {
781 V TeI, TeG, T23, T22, TeH, T34;
782 TeI = VADD(TeE, TeF);
783 TeG = VSUB(TeE, TeF);
784 T23 = VSUB(T21, T1w);
785 T22 = VADD(T1w, T21);
786 TeH = VADD(T2y, T33);
787 T34 = VSUB(T2y, T33);
788 Tex = VSUB(Tef, Teg);
789 Teh = VADD(Tef, Teg);
790 TeJ = VSUB(TeD, TeG);
791 STM4(&(ro[48]), TeJ, ovs, &(ro[0]));
792 TeK = VADD(TeD, TeG);
793 STM4(&(ro[16]), TeK, ovs, &(ro[0]));
794 TeL = VADD(T11, T22);
795 STM4(&(ro[0]), TeL, ovs, &(ro[0]));
796 TeM = VSUB(T11, T22);
797 STM4(&(ro[32]), TeM, ovs, &(ro[0]));
798 TeN = VADD(TeH, TeI);
799 STM4(&(io[0]), TeN, ovs, &(io[0]));
800 TeO = VSUB(TeH, TeI);
801 STM4(&(io[32]), TeO, ovs, &(io[0]));
802 TeP = VSUB(T34, T23);
803 STM4(&(io[48]), TeP, ovs, &(io[0]));
804 TeQ = VADD(T23, T34);
805 STM4(&(io[16]), TeQ, ovs, &(io[0]));
806 TeB = VADD(Teu, Tet);
807 Tev = VSUB(Tet, Teu);
808 }
809 }
810 {
811 V TdV, Tdb, TdJ, Te5, TdE, Tdz, TdZ, Tdo, Te6, Tdi, Teb, Te3, TdW, TdM, Tdt;
812 V TdY;
813 {
814 V TdL, Tde, Tey, Tem, Tez, Ter, Tdh, TdK, Te1, Te2;
815 TdV = VADD(Td9, Tda);
816 Tdb = VSUB(Td9, Tda);
817 TdJ = VSUB(TdH, TdI);
818 Te5 = VADD(TdI, TdH);
819 TdL = VADD(Tdd, Tdc);
820 Tde = VSUB(Tdc, Tdd);
821 Tey = VSUB(Tel, Tei);
822 Tem = VADD(Tei, Tel);
823 Tez = VADD(Ten, Teq);
824 Ter = VSUB(Ten, Teq);
825 Tdh = VADD(Tdf, Tdg);
826 TdK = VSUB(Tdf, Tdg);
827 TdE = VSUB(TdA, TdD);
828 Te1 = VADD(TdA, TdD);
829 Te2 = VADD(Tdy, Tdx);
830 Tdz = VSUB(Tdx, Tdy);
831 TdZ = VADD(Tdn, Tdm);
832 Tdo = VSUB(Tdm, Tdn);
833 {
834 V TeA, TeC, Tew, Tes;
835 TeA = VSUB(Tey, Tez);
836 TeC = VADD(Tey, Tez);
837 Tew = VSUB(Ter, Tem);
838 Tes = VADD(Tem, Ter);
839 Te6 = VADD(Tde, Tdh);
840 Tdi = VSUB(Tde, Tdh);
841 Teb = VFMA(LDK(KP414213562), Te1, Te2);
842 Te3 = VFNMS(LDK(KP414213562), Te2, Te1);
843 TdW = VADD(TdL, TdK);
844 TdM = VSUB(TdK, TdL);
845 TeR = VFMA(LDK(KP707106781), TeA, Tex);
846 STM4(&(ro[24]), TeR, ovs, &(ro[0]));
847 TeS = VFNMS(LDK(KP707106781), TeA, Tex);
848 STM4(&(ro[56]), TeS, ovs, &(ro[0]));
849 TeT = VFMA(LDK(KP707106781), TeC, TeB);
850 STM4(&(io[8]), TeT, ovs, &(io[0]));
851 TeU = VFNMS(LDK(KP707106781), TeC, TeB);
852 STM4(&(io[40]), TeU, ovs, &(io[0]));
853 TeV = VFMA(LDK(KP707106781), Tew, Tev);
854 STM4(&(io[24]), TeV, ovs, &(io[0]));
855 TeW = VFNMS(LDK(KP707106781), Tew, Tev);
856 STM4(&(io[56]), TeW, ovs, &(io[0]));
857 TeX = VFMA(LDK(KP707106781), Tes, Teh);
858 STM4(&(ro[8]), TeX, ovs, &(ro[0]));
859 TeY = VFNMS(LDK(KP707106781), Tes, Teh);
860 STM4(&(ro[40]), TeY, ovs, &(ro[0]));
861 Tdt = VSUB(Tdp, Tds);
862 TdY = VADD(Tdp, Tds);
863 }
864 }
865 {
866 V TdT, Tdj, TdP, TdN, TdR, Tdu, Tea, Te0, TdQ, TdF, TdX, Ted, Te7;
867 TdT = VFNMS(LDK(KP707106781), Tdi, Tdb);
868 Tdj = VFMA(LDK(KP707106781), Tdi, Tdb);
869 TdP = VFMA(LDK(KP707106781), TdM, TdJ);
870 TdN = VFNMS(LDK(KP707106781), TdM, TdJ);
871 TdR = VFNMS(LDK(KP414213562), Tdo, Tdt);
872 Tdu = VFMA(LDK(KP414213562), Tdt, Tdo);
873 Tea = VFNMS(LDK(KP414213562), TdY, TdZ);
874 Te0 = VFMA(LDK(KP414213562), TdZ, TdY);
875 TdQ = VFMA(LDK(KP414213562), Tdz, TdE);
876 TdF = VFNMS(LDK(KP414213562), TdE, Tdz);
877 Te9 = VFNMS(LDK(KP707106781), TdW, TdV);
878 TdX = VFMA(LDK(KP707106781), TdW, TdV);
879 Ted = VFMA(LDK(KP707106781), Te6, Te5);
880 Te7 = VFNMS(LDK(KP707106781), Te6, Te5);
881 {
882 V Tee, Te8, Te4, TdU, TdS, TdO, TdG;
883 Tee = VADD(Tea, Teb);
884 Tec = VSUB(Tea, Teb);
885 Te8 = VSUB(Te3, Te0);
886 Te4 = VADD(Te0, Te3);
887 TdU = VADD(TdR, TdQ);
888 TdS = VSUB(TdQ, TdR);
889 TdO = VADD(Tdu, TdF);
890 TdG = VSUB(Tdu, TdF);
891 TeZ = VFMA(LDK(KP923879532), Tee, Ted);
892 STM4(&(io[4]), TeZ, ovs, &(io[0]));
893 Tf0 = VFNMS(LDK(KP923879532), Tee, Ted);
894 STM4(&(io[36]), Tf0, ovs, &(io[0]));
895 Tf1 = VFMA(LDK(KP923879532), Te4, TdX);
896 STM4(&(ro[4]), Tf1, ovs, &(ro[0]));
897 Tf2 = VFNMS(LDK(KP923879532), Te4, TdX);
898 STM4(&(ro[36]), Tf2, ovs, &(ro[0]));
899 Tf3 = VFMA(LDK(KP923879532), TdU, TdT);
900 STM4(&(ro[60]), Tf3, ovs, &(ro[0]));
901 Tf4 = VFNMS(LDK(KP923879532), TdU, TdT);
902 STM4(&(ro[28]), Tf4, ovs, &(ro[0]));
903 Tf5 = VFMA(LDK(KP923879532), TdS, TdP);
904 STM4(&(io[12]), Tf5, ovs, &(io[0]));
905 Tf6 = VFNMS(LDK(KP923879532), TdS, TdP);
906 STM4(&(io[44]), Tf6, ovs, &(io[0]));
907 Tf7 = VFMA(LDK(KP923879532), TdO, TdN);
908 STM4(&(io[60]), Tf7, ovs, &(io[0]));
909 Tf8 = VFNMS(LDK(KP923879532), TdO, TdN);
910 STM4(&(io[28]), Tf8, ovs, &(io[0]));
911 Tf9 = VFMA(LDK(KP923879532), TdG, Tdj);
912 STM4(&(ro[12]), Tf9, ovs, &(ro[0]));
913 Tfa = VFNMS(LDK(KP923879532), TdG, Tdj);
914 STM4(&(ro[44]), Tfa, ovs, &(ro[0]));
915 Tfb = VFMA(LDK(KP923879532), Te8, Te7);
916 STM4(&(io[20]), Tfb, ovs, &(io[0]));
917 Tfc = VFNMS(LDK(KP923879532), Te8, Te7);
918 STM4(&(io[52]), Tfc, ovs, &(io[0]));
919 }
920 }
921 }
922 {
923 V TcF, TcE, Tcy, Tcv, TcT, Tco, TcP, Tcd, TcZ, TcD, Td0, Tck, Td4, TcX, Tcr;
924 V TcS;
925 {
926 V Tcc, TcC, Tcg, Tcj, TcV, TcW;
927 TbE = VADD(TbC, TbD);
928 Tcc = VSUB(TbC, TbD);
929 TcC = VSUB(Tan, Tak);
930 Tao = VADD(Tak, Tan);
931 TcF = VFNMS(LDK(KP414213562), Tce, Tcf);
932 Tcg = VFMA(LDK(KP414213562), Tcf, Tce);
933 Tcj = VFNMS(LDK(KP414213562), Tci, Tch);
934 TcE = VFMA(LDK(KP414213562), Tch, Tci);
935 Tcy = VFNMS(LDK(KP707106781), Tcx, Tcw);
936 TcV = VFMA(LDK(KP707106781), Tcx, Tcw);
937 TcW = VFMA(LDK(KP707106781), Tcu, Tct);
938 Tcv = VFNMS(LDK(KP707106781), Tcu, Tct);
939 TcT = VFMA(LDK(KP707106781), Tcn, Tcm);
940 Tco = VFNMS(LDK(KP707106781), Tcn, Tcm);
941 Tfd = VFMA(LDK(KP923879532), Tec, Te9);
942 STM4(&(ro[20]), Tfd, ovs, &(ro[0]));
943 Tfe = VFNMS(LDK(KP923879532), Tec, Te9);
944 STM4(&(ro[52]), Tfe, ovs, &(ro[0]));
945 TcP = VFNMS(LDK(KP707106781), Tcc, Tcb);
946 Tcd = VFMA(LDK(KP707106781), Tcc, Tcb);
947 TcZ = VFNMS(LDK(KP707106781), TcC, TcB);
948 TcD = VFMA(LDK(KP707106781), TcC, TcB);
949 Td0 = VADD(Tcg, Tcj);
950 Tck = VSUB(Tcg, Tcj);
951 Td4 = VFMA(LDK(KP198912367), TcV, TcW);
952 TcX = VFNMS(LDK(KP198912367), TcW, TcV);
953 Tcr = VFNMS(LDK(KP707106781), Tcq, Tcp);
954 TcS = VFMA(LDK(KP707106781), Tcq, Tcp);
955 }
956 {
957 V TcJ, Tcl, TcK, Tcs, TcQ, TcG, Td5, TcU, TcL, Tcz;
958 TcJ = VFNMS(LDK(KP923879532), Tck, Tcd);
959 Tcl = VFMA(LDK(KP923879532), Tck, Tcd);
960 TcK = VFNMS(LDK(KP668178637), Tco, Tcr);
961 Tcs = VFMA(LDK(KP668178637), Tcr, Tco);
962 TcQ = VADD(TcF, TcE);
963 TcG = VSUB(TcE, TcF);
964 Td5 = VFNMS(LDK(KP198912367), TcS, TcT);
965 TcU = VFMA(LDK(KP198912367), TcT, TcS);
966 TcL = VFMA(LDK(KP668178637), Tcv, Tcy);
967 Tcz = VFNMS(LDK(KP668178637), Tcy, Tcv);
968 {
969 V Td1, Td3, TcR, TcN, TcH, Td2, TcY, TcM, TcO, TcI, TcA, Td6;
970 Td1 = VFMA(LDK(KP923879532), Td0, TcZ);
971 Td3 = VFNMS(LDK(KP923879532), Td0, TcZ);
972 TcR = VFNMS(LDK(KP923879532), TcQ, TcP);
973 Td7 = VFMA(LDK(KP923879532), TcQ, TcP);
974 TcN = VFMA(LDK(KP923879532), TcG, TcD);
975 TcH = VFNMS(LDK(KP923879532), TcG, TcD);
976 Td2 = VADD(TcU, TcX);
977 TcY = VSUB(TcU, TcX);
978 TcM = VSUB(TcK, TcL);
979 TcO = VADD(TcK, TcL);
980 TcI = VSUB(Tcz, Tcs);
981 TcA = VADD(Tcs, Tcz);
982 Td6 = VSUB(Td4, Td5);
983 Td8 = VADD(Td5, Td4);
984 Tff = VFMA(LDK(KP980785280), TcY, TcR);
985 STM4(&(ro[14]), Tff, ovs, &(ro[0]));
986 Tfg = VFNMS(LDK(KP980785280), TcY, TcR);
987 STM4(&(ro[46]), Tfg, ovs, &(ro[0]));
988 Tfh = VFMA(LDK(KP831469612), TcM, TcJ);
989 STM4(&(ro[22]), Tfh, ovs, &(ro[0]));
990 Tfi = VFNMS(LDK(KP831469612), TcM, TcJ);
991 STM4(&(ro[54]), Tfi, ovs, &(ro[0]));
992 Tfj = VFMA(LDK(KP831469612), TcO, TcN);
993 STM4(&(io[6]), Tfj, ovs, &(io[0]));
994 Tfk = VFNMS(LDK(KP831469612), TcO, TcN);
995 STM4(&(io[38]), Tfk, ovs, &(io[0]));
996 Tfl = VFMA(LDK(KP831469612), TcI, TcH);
997 STM4(&(io[22]), Tfl, ovs, &(io[0]));
998 Tfm = VFNMS(LDK(KP831469612), TcI, TcH);
999 STM4(&(io[54]), Tfm, ovs, &(io[0]));
1000 Tfn = VFMA(LDK(KP831469612), TcA, Tcl);
1001 STM4(&(ro[6]), Tfn, ovs, &(ro[0]));
1002 Tfo = VFNMS(LDK(KP831469612), TcA, Tcl);
1003 STM4(&(ro[38]), Tfo, ovs, &(ro[0]));
1004 Tfp = VFMA(LDK(KP980785280), Td6, Td3);
1005 STM4(&(io[14]), Tfp, ovs, &(io[0]));
1006 Tfq = VFNMS(LDK(KP980785280), Td6, Td3);
1007 STM4(&(io[46]), Tfq, ovs, &(io[0]));
1008 Tfr = VFNMS(LDK(KP980785280), Td2, Td1);
1009 STM4(&(io[30]), Tfr, ovs, &(io[0]));
1010 Tfs = VFMA(LDK(KP980785280), Td2, Td1);
1011 STM4(&(io[62]), Tfs, ovs, &(io[0]));
1012 }
1013 }
1014 }
1015 }
1016 {
1017 V Tft, Tfu, Tfv, Tfw, Tfx, Tfy, Tfz, TfA, TfB, TfC, TfD, TfE, TfF, TfG, T3f;
1018 V T66, T63, T3u, TfL, TfM, TfN, TfO, TfP, TfQ, TfR, TfS, TfT, TfU, TfV, TfW;
1019 V TfX, TfY, TfZ, Tg0, Tc5, Tc8;
1020 {
1021 V TbH, TbG, Tbw, Tbn, TbV, TaW, TbR, Tap, Tc1, TbF, Tc2, TaE, Tc7, TbZ, Tb5;
1022 V TbU;
1023 {
1024 V Taw, TaD, TbX, TbY;
1025 TbH = VFMA(LDK(KP414213562), Tas, Tav);
1026 Taw = VFNMS(LDK(KP414213562), Tav, Tas);
1027 TaD = VFMA(LDK(KP414213562), TaC, Taz);
1028 TbG = VFNMS(LDK(KP414213562), Taz, TaC);
1029 Tbw = VFNMS(LDK(KP707106781), Tbv, Tbs);
1030 TbX = VFMA(LDK(KP707106781), Tbv, Tbs);
1031 TbY = VFMA(LDK(KP707106781), Tbm, Tbb);
1032 Tbn = VFNMS(LDK(KP707106781), Tbm, Tbb);
1033 TbV = VFMA(LDK(KP707106781), TaV, TaK);
1034 TaW = VFNMS(LDK(KP707106781), TaV, TaK);
1035 Tft = VFMA(LDK(KP980785280), Td8, Td7);
1036 STM4(&(ro[62]), Tft, ovs, &(ro[0]));
1037 Tfu = VFNMS(LDK(KP980785280), Td8, Td7);
1038 STM4(&(ro[30]), Tfu, ovs, &(ro[0]));
1039 TbR = VFMA(LDK(KP707106781), Tao, Tah);
1040 Tap = VFNMS(LDK(KP707106781), Tao, Tah);
1041 Tc1 = VFMA(LDK(KP707106781), TbE, TbB);
1042 TbF = VFNMS(LDK(KP707106781), TbE, TbB);
1043 Tc2 = VADD(Taw, TaD);
1044 TaE = VSUB(Taw, TaD);
1045 Tc7 = VFMA(LDK(KP198912367), TbX, TbY);
1046 TbZ = VFNMS(LDK(KP198912367), TbY, TbX);
1047 Tb5 = VFNMS(LDK(KP707106781), Tb4, Tb1);
1048 TbU = VFMA(LDK(KP707106781), Tb4, Tb1);
1049 }
1050 {
1051 V TbP, TaF, TbN, Tb6, TbS, TbI, Tc6, TbW, TbM, Tbx;
1052 TbP = VFNMS(LDK(KP923879532), TaE, Tap);
1053 TaF = VFMA(LDK(KP923879532), TaE, Tap);
1054 TbN = VFNMS(LDK(KP668178637), TaW, Tb5);
1055 Tb6 = VFMA(LDK(KP668178637), Tb5, TaW);
1056 TbS = VADD(TbH, TbG);
1057 TbI = VSUB(TbG, TbH);
1058 Tc6 = VFNMS(LDK(KP198912367), TbU, TbV);
1059 TbW = VFMA(LDK(KP198912367), TbV, TbU);
1060 TbM = VFMA(LDK(KP668178637), Tbn, Tbw);
1061 Tbx = VFNMS(LDK(KP668178637), Tbw, Tbn);
1062 {
1063 V Tc3, Tc9, TbT, TbL, TbJ, Tc4, Tc0, TbQ, TbO, TbK, Tby, Tca;
1064 Tc3 = VFNMS(LDK(KP923879532), Tc2, Tc1);
1065 Tc9 = VFMA(LDK(KP923879532), Tc2, Tc1);
1066 TbT = VFMA(LDK(KP923879532), TbS, TbR);
1067 Tc5 = VFNMS(LDK(KP923879532), TbS, TbR);
1068 TbL = VFMA(LDK(KP923879532), TbI, TbF);
1069 TbJ = VFNMS(LDK(KP923879532), TbI, TbF);
1070 Tc4 = VSUB(TbZ, TbW);
1071 Tc0 = VADD(TbW, TbZ);
1072 TbQ = VADD(TbN, TbM);
1073 TbO = VSUB(TbM, TbN);
1074 TbK = VADD(Tb6, Tbx);
1075 Tby = VSUB(Tb6, Tbx);
1076 Tca = VADD(Tc6, Tc7);
1077 Tc8 = VSUB(Tc6, Tc7);
1078 Tfv = VFMA(LDK(KP980785280), Tc0, TbT);
1079 STM4(&(ro[2]), Tfv, ovs, &(ro[0]));
1080 Tfw = VFNMS(LDK(KP980785280), Tc0, TbT);
1081 STM4(&(ro[34]), Tfw, ovs, &(ro[0]));
1082 Tfx = VFMA(LDK(KP831469612), TbQ, TbP);
1083 STM4(&(ro[58]), Tfx, ovs, &(ro[0]));
1084 Tfy = VFNMS(LDK(KP831469612), TbQ, TbP);
1085 STM4(&(ro[26]), Tfy, ovs, &(ro[0]));
1086 Tfz = VFMA(LDK(KP831469612), TbO, TbL);
1087 STM4(&(io[10]), Tfz, ovs, &(io[0]));
1088 TfA = VFNMS(LDK(KP831469612), TbO, TbL);
1089 STM4(&(io[42]), TfA, ovs, &(io[0]));
1090 TfB = VFMA(LDK(KP831469612), TbK, TbJ);
1091 STM4(&(io[58]), TfB, ovs, &(io[0]));
1092 TfC = VFNMS(LDK(KP831469612), TbK, TbJ);
1093 STM4(&(io[26]), TfC, ovs, &(io[0]));
1094 TfD = VFMA(LDK(KP831469612), Tby, TaF);
1095 STM4(&(ro[10]), TfD, ovs, &(ro[0]));
1096 TfE = VFNMS(LDK(KP831469612), Tby, TaF);
1097 STM4(&(ro[42]), TfE, ovs, &(ro[0]));
1098 TfF = VFMA(LDK(KP980785280), Tca, Tc9);
1099 STM4(&(io[2]), TfF, ovs, &(io[0]));
1100 TfG = VFNMS(LDK(KP980785280), Tca, Tc9);
1101 STM4(&(io[34]), TfG, ovs, &(io[0]));
1102 TfH = VFNMS(LDK(KP980785280), Tc4, Tc3);
1103 STM4(&(io[50]), TfH, ovs, &(io[0]));
1104 TfI = VFMA(LDK(KP980785280), Tc4, Tc3);
1105 STM4(&(io[18]), TfI, ovs, &(io[0]));
1106 }
1107 }
1108 }
1109 {
1110 V T70, T6X, T7h, T6F, T7x, T7m, T7w, T7p, T7s, T6M, T7c, T6U, T7r, T75, T7i;
1111 V T78, T7b, T6N;
1112 {
1113 V T6T, T6Q, T77, T6I, T6L, T76, T73, T74;
1114 {
1115 V T6D, T6E, T7k, T7l, T7n, T7o;
1116 T3f = VFMA(LDK(KP707106781), T3e, T37);
1117 T6D = VFNMS(LDK(KP707106781), T3e, T37);
1118 T6E = VADD(T65, T64);
1119 T66 = VSUB(T64, T65);
1120 T6T = VFNMS(LDK(KP923879532), T6S, T6R);
1121 T7k = VFMA(LDK(KP923879532), T6S, T6R);
1122 T7l = VFMA(LDK(KP923879532), T6P, T6O);
1123 T6Q = VFNMS(LDK(KP923879532), T6P, T6O);
1124 T70 = VFNMS(LDK(KP923879532), T6Z, T6Y);
1125 T7n = VFMA(LDK(KP923879532), T6Z, T6Y);
1126 T7o = VFMA(LDK(KP923879532), T6W, T6V);
1127 T6X = VFNMS(LDK(KP923879532), T6W, T6V);
1128 T77 = VFNMS(LDK(KP198912367), T6G, T6H);
1129 T6I = VFMA(LDK(KP198912367), T6H, T6G);
1130 TfJ = VFMA(LDK(KP980785280), Tc8, Tc5);
1131 STM4(&(ro[18]), TfJ, ovs, &(ro[0]));
1132 TfK = VFNMS(LDK(KP980785280), Tc8, Tc5);
1133 STM4(&(ro[50]), TfK, ovs, &(ro[0]));
1134 T7h = VFMA(LDK(KP923879532), T6E, T6D);
1135 T6F = VFNMS(LDK(KP923879532), T6E, T6D);
1136 T7x = VFNMS(LDK(KP098491403), T7k, T7l);
1137 T7m = VFMA(LDK(KP098491403), T7l, T7k);
1138 T7w = VFMA(LDK(KP098491403), T7n, T7o);
1139 T7p = VFNMS(LDK(KP098491403), T7o, T7n);
1140 T6L = VFNMS(LDK(KP198912367), T6K, T6J);
1141 T76 = VFMA(LDK(KP198912367), T6J, T6K);
1142 }
1143 T63 = VFMA(LDK(KP707106781), T62, T5Z);
1144 T73 = VFNMS(LDK(KP707106781), T62, T5Z);
1145 T74 = VADD(T3m, T3t);
1146 T3u = VSUB(T3m, T3t);
1147 T7s = VADD(T6I, T6L);
1148 T6M = VSUB(T6I, T6L);
1149 T7c = VFNMS(LDK(KP820678790), T6Q, T6T);
1150 T6U = VFMA(LDK(KP820678790), T6T, T6Q);
1151 T7r = VFMA(LDK(KP923879532), T74, T73);
1152 T75 = VFNMS(LDK(KP923879532), T74, T73);
1153 T7i = VADD(T77, T76);
1154 T78 = VSUB(T76, T77);
1155 }
1156 T7b = VFNMS(LDK(KP980785280), T6M, T6F);
1157 T6N = VFMA(LDK(KP980785280), T6M, T6F);
1158 {
1159 V T7u, T7q, T7v, T7t, T7A, T7y, T7j, T7z, T7f, T79, T71, T7d;
1160 T7u = VADD(T7m, T7p);
1161 T7q = VSUB(T7m, T7p);
1162 T7v = VFNMS(LDK(KP980785280), T7s, T7r);
1163 T7t = VFMA(LDK(KP980785280), T7s, T7r);
1164 T7A = VADD(T7x, T7w);
1165 T7y = VSUB(T7w, T7x);
1166 T7j = VFNMS(LDK(KP980785280), T7i, T7h);
1167 T7z = VFMA(LDK(KP980785280), T7i, T7h);
1168 T7f = VFMA(LDK(KP980785280), T78, T75);
1169 T79 = VFNMS(LDK(KP980785280), T78, T75);
1170 T71 = VFNMS(LDK(KP820678790), T70, T6X);
1171 T7d = VFMA(LDK(KP820678790), T6X, T70);
1172 {
1173 V T7g, T7e, T72, T7a;
1174 TfL = VFMA(LDK(KP995184726), T7y, T7v);
1175 STM4(&(io[15]), TfL, ovs, &(io[1]));
1176 TfM = VFNMS(LDK(KP995184726), T7y, T7v);
1177 STM4(&(io[47]), TfM, ovs, &(io[1]));
1178 TfN = VFMA(LDK(KP995184726), T7q, T7j);
1179 STM4(&(ro[15]), TfN, ovs, &(ro[1]));
1180 TfO = VFNMS(LDK(KP995184726), T7q, T7j);
1181 STM4(&(ro[47]), TfO, ovs, &(ro[1]));
1182 T7g = VADD(T7c, T7d);
1183 T7e = VSUB(T7c, T7d);
1184 T72 = VADD(T6U, T71);
1185 T7a = VSUB(T71, T6U);
1186 TfP = VFNMS(LDK(KP995184726), T7u, T7t);
1187 STM4(&(io[31]), TfP, ovs, &(io[1]));
1188 TfQ = VFMA(LDK(KP995184726), T7u, T7t);
1189 STM4(&(io[63]), TfQ, ovs, &(io[1]));
1190 TfR = VFMA(LDK(KP773010453), T7e, T7b);
1191 STM4(&(ro[23]), TfR, ovs, &(ro[1]));
1192 TfS = VFNMS(LDK(KP773010453), T7e, T7b);
1193 STM4(&(ro[55]), TfS, ovs, &(ro[1]));
1194 TfT = VFMA(LDK(KP773010453), T7g, T7f);
1195 STM4(&(io[7]), TfT, ovs, &(io[1]));
1196 TfU = VFNMS(LDK(KP773010453), T7g, T7f);
1197 STM4(&(io[39]), TfU, ovs, &(io[1]));
1198 TfV = VFMA(LDK(KP773010453), T7a, T79);
1199 STM4(&(io[23]), TfV, ovs, &(io[1]));
1200 TfW = VFNMS(LDK(KP773010453), T7a, T79);
1201 STM4(&(io[55]), TfW, ovs, &(io[1]));
1202 TfX = VFMA(LDK(KP773010453), T72, T6N);
1203 STM4(&(ro[7]), TfX, ovs, &(ro[1]));
1204 TfY = VFNMS(LDK(KP773010453), T72, T6N);
1205 STM4(&(ro[39]), TfY, ovs, &(ro[1]));
1206 TfZ = VFNMS(LDK(KP995184726), T7A, T7z);
1207 STM4(&(ro[31]), TfZ, ovs, &(ro[1]));
1208 Tg0 = VFMA(LDK(KP995184726), T7A, T7z);
1209 STM4(&(ro[63]), Tg0, ovs, &(ro[1]));
1210 }
1211 }
1212 }
1213 {
1214 V T7D, T8K, T8H, T7K, Ta8, Ta7, Tae, Tad;
1215 {
1216 V T9x, T9u, T9E, T9B, T9L, T9K, T9V, T9j, Tab, Ta0, Taa, Ta3, Ta6, T9q, T9H;
1217 V T9I;
1218 {
1219 V T9h, T9i, T9Y, T9Z, Ta1, Ta2, T9m, T9p;
1220 T7D = VFMA(LDK(KP707106781), T7C, T7B);
1221 T9h = VFNMS(LDK(KP707106781), T7C, T7B);
1222 T9i = VSUB(T8I, T8J);
1223 T8K = VADD(T8I, T8J);
1224 T9x = VFNMS(LDK(KP923879532), T9w, T9v);
1225 T9Y = VFMA(LDK(KP923879532), T9w, T9v);
1226 T9Z = VFMA(LDK(KP923879532), T9t, T9s);
1227 T9u = VFNMS(LDK(KP923879532), T9t, T9s);
1228 T9E = VFNMS(LDK(KP923879532), T9D, T9C);
1229 Ta1 = VFMA(LDK(KP923879532), T9D, T9C);
1230 Ta2 = VFMA(LDK(KP923879532), T9A, T9z);
1231 T9B = VFNMS(LDK(KP923879532), T9A, T9z);
1232 T9L = VFNMS(LDK(KP668178637), T9k, T9l);
1233 T9m = VFMA(LDK(KP668178637), T9l, T9k);
1234 T9p = VFNMS(LDK(KP668178637), T9o, T9n);
1235 T9K = VFMA(LDK(KP668178637), T9n, T9o);
1236 T9V = VFNMS(LDK(KP923879532), T9i, T9h);
1237 T9j = VFMA(LDK(KP923879532), T9i, T9h);
1238 Tab = VFNMS(LDK(KP303346683), T9Y, T9Z);
1239 Ta0 = VFMA(LDK(KP303346683), T9Z, T9Y);
1240 Taa = VFMA(LDK(KP303346683), Ta1, Ta2);
1241 Ta3 = VFNMS(LDK(KP303346683), Ta2, Ta1);
1242 Ta6 = VADD(T9m, T9p);
1243 T9q = VSUB(T9m, T9p);
1244 T8H = VFMA(LDK(KP707106781), T8G, T8F);
1245 T9H = VFNMS(LDK(KP707106781), T8G, T8F);
1246 T9I = VSUB(T7J, T7G);
1247 T7K = VADD(T7G, T7J);
1248 }
1249 {
1250 V T9P, T9r, T9Q, T9y, Ta5, T9J, T9W, T9M, T9R, T9F;
1251 T9P = VFNMS(LDK(KP831469612), T9q, T9j);
1252 T9r = VFMA(LDK(KP831469612), T9q, T9j);
1253 T9Q = VFNMS(LDK(KP534511135), T9u, T9x);
1254 T9y = VFMA(LDK(KP534511135), T9x, T9u);
1255 Ta5 = VFNMS(LDK(KP923879532), T9I, T9H);
1256 T9J = VFMA(LDK(KP923879532), T9I, T9H);
1257 T9W = VADD(T9L, T9K);
1258 T9M = VSUB(T9K, T9L);
1259 T9R = VFMA(LDK(KP534511135), T9B, T9E);
1260 T9F = VFNMS(LDK(KP534511135), T9E, T9B);
1261 {
1262 V T9T, T9N, T9U, T9S, T9G, T9O;
1263 {
1264 V Ta4, Ta9, Tac, T9X;
1265 Ta8 = VADD(Ta0, Ta3);
1266 Ta4 = VSUB(Ta0, Ta3);
1267 Ta9 = VFNMS(LDK(KP831469612), Ta6, Ta5);
1268 Ta7 = VFMA(LDK(KP831469612), Ta6, Ta5);
1269 Tae = VADD(Tab, Taa);
1270 Tac = VSUB(Taa, Tab);
1271 T9X = VFNMS(LDK(KP831469612), T9W, T9V);
1272 Tad = VFMA(LDK(KP831469612), T9W, T9V);
1273 T9T = VFMA(LDK(KP831469612), T9M, T9J);
1274 T9N = VFNMS(LDK(KP831469612), T9M, T9J);
1275 T9U = VADD(T9Q, T9R);
1276 T9S = VSUB(T9Q, T9R);
1277 T9G = VADD(T9y, T9F);
1278 T9O = VSUB(T9F, T9y);
1279 {
1280 V Tg1, Tg2, Tg3, Tg4;
1281 Tg1 = VFNMS(LDK(KP956940335), Tac, Ta9);
1282 STM4(&(io[45]), Tg1, ovs, &(io[1]));
1283 STN4(&(io[44]), Tf6, Tg1, Tfq, TfM, ovs);
1284 Tg2 = VFMA(LDK(KP956940335), Ta4, T9X);
1285 STM4(&(ro[13]), Tg2, ovs, &(ro[1]));
1286 STN4(&(ro[12]), Tf9, Tg2, Tff, TfN, ovs);
1287 Tg3 = VFNMS(LDK(KP956940335), Ta4, T9X);
1288 STM4(&(ro[45]), Tg3, ovs, &(ro[1]));
1289 STN4(&(ro[44]), Tfa, Tg3, Tfg, TfO, ovs);
1290 Tg4 = VFMA(LDK(KP956940335), Tac, Ta9);
1291 STM4(&(io[13]), Tg4, ovs, &(io[1]));
1292 STN4(&(io[12]), Tf5, Tg4, Tfp, TfL, ovs);
1293 }
1294 }
1295 {
1296 V Tg5, Tg6, Tg7, Tg8;
1297 Tg5 = VFMA(LDK(KP881921264), T9S, T9P);
1298 STM4(&(ro[21]), Tg5, ovs, &(ro[1]));
1299 STN4(&(ro[20]), Tfd, Tg5, Tfh, TfR, ovs);
1300 Tg6 = VFNMS(LDK(KP881921264), T9S, T9P);
1301 STM4(&(ro[53]), Tg6, ovs, &(ro[1]));
1302 STN4(&(ro[52]), Tfe, Tg6, Tfi, TfS, ovs);
1303 Tg7 = VFMA(LDK(KP881921264), T9U, T9T);
1304 STM4(&(io[5]), Tg7, ovs, &(io[1]));
1305 STN4(&(io[4]), TeZ, Tg7, Tfj, TfT, ovs);
1306 Tg8 = VFNMS(LDK(KP881921264), T9U, T9T);
1307 STM4(&(io[37]), Tg8, ovs, &(io[1]));
1308 STN4(&(io[36]), Tf0, Tg8, Tfk, TfU, ovs);
1309 {
1310 V Tg9, Tga, Tgb, Tgc;
1311 Tg9 = VFMA(LDK(KP881921264), T9O, T9N);
1312 STM4(&(io[21]), Tg9, ovs, &(io[1]));
1313 STN4(&(io[20]), Tfb, Tg9, Tfl, TfV, ovs);
1314 Tga = VFNMS(LDK(KP881921264), T9O, T9N);
1315 STM4(&(io[53]), Tga, ovs, &(io[1]));
1316 STN4(&(io[52]), Tfc, Tga, Tfm, TfW, ovs);
1317 Tgb = VFMA(LDK(KP881921264), T9G, T9r);
1318 STM4(&(ro[5]), Tgb, ovs, &(ro[1]));
1319 STN4(&(ro[4]), Tf1, Tgb, Tfn, TfX, ovs);
1320 Tgc = VFNMS(LDK(KP881921264), T9G, T9r);
1321 STM4(&(ro[37]), Tgc, ovs, &(ro[1]));
1322 STN4(&(ro[36]), Tf2, Tgc, Tfo, TfY, ovs);
1323 }
1324 }
1325 }
1326 }
1327 }
1328 {
1329 V Tgh, Tgi, Tgl, Tgm, Tgn, Tgo, Tgp, Tgq, Tgr, Tgs, Tgt, Tgu;
1330 {
1331 V T5U, T6j, T3v, T6y, T6o, T5H, T69, T68, T6z, T6r, T6u, T48, T6f, T52, T6t;
1332 V T67, T6h, T49;
1333 {
1334 V T51, T4O, T6p, T6q, T3O, T47, T6m, T6n;
1335 T51 = VFNMS(LDK(KP923879532), T50, T4X);
1336 T6m = VFMA(LDK(KP923879532), T50, T4X);
1337 T6n = VFMA(LDK(KP923879532), T4N, T4q);
1338 T4O = VFNMS(LDK(KP923879532), T4N, T4q);
1339 T5U = VFNMS(LDK(KP923879532), T5T, T5Q);
1340 T6p = VFMA(LDK(KP923879532), T5T, T5Q);
1341 {
1342 V Tgd, Tge, Tgf, Tgg;
1343 Tgd = VFMA(LDK(KP956940335), Ta8, Ta7);
1344 STM4(&(io[61]), Tgd, ovs, &(io[1]));
1345 STN4(&(io[60]), Tf7, Tgd, Tfs, TfQ, ovs);
1346 Tge = VFNMS(LDK(KP956940335), Ta8, Ta7);
1347 STM4(&(io[29]), Tge, ovs, &(io[1]));
1348 STN4(&(io[28]), Tf8, Tge, Tfr, TfP, ovs);
1349 Tgf = VFMA(LDK(KP956940335), Tae, Tad);
1350 STM4(&(ro[61]), Tgf, ovs, &(ro[1]));
1351 STN4(&(ro[60]), Tf3, Tgf, Tft, Tg0, ovs);
1352 Tgg = VFNMS(LDK(KP956940335), Tae, Tad);
1353 STM4(&(ro[29]), Tgg, ovs, &(ro[1]));
1354 STN4(&(ro[28]), Tf4, Tgg, Tfu, TfZ, ovs);
1355 T6j = VFMA(LDK(KP923879532), T3u, T3f);
1356 T3v = VFNMS(LDK(KP923879532), T3u, T3f);
1357 T6y = VFNMS(LDK(KP303346683), T6m, T6n);
1358 T6o = VFMA(LDK(KP303346683), T6n, T6m);
1359 T6q = VFMA(LDK(KP923879532), T5G, T5j);
1360 T5H = VFNMS(LDK(KP923879532), T5G, T5j);
1361 }
1362 T69 = VFMA(LDK(KP668178637), T3G, T3N);
1363 T3O = VFNMS(LDK(KP668178637), T3N, T3G);
1364 T47 = VFMA(LDK(KP668178637), T46, T3Z);
1365 T68 = VFNMS(LDK(KP668178637), T3Z, T46);
1366 T6z = VFMA(LDK(KP303346683), T6p, T6q);
1367 T6r = VFNMS(LDK(KP303346683), T6q, T6p);
1368 T6u = VADD(T3O, T47);
1369 T48 = VSUB(T3O, T47);
1370 T6f = VFNMS(LDK(KP534511135), T4O, T51);
1371 T52 = VFMA(LDK(KP534511135), T51, T4O);
1372 T6t = VFMA(LDK(KP923879532), T66, T63);
1373 T67 = VFNMS(LDK(KP923879532), T66, T63);
1374 }
1375 T6h = VFNMS(LDK(KP831469612), T48, T3v);
1376 T49 = VFMA(LDK(KP831469612), T48, T3v);
1377 {
1378 V T6w, T6s, T6B, T6v, T6A, T6C, T6k, T6a, T6e, T5V;
1379 T6w = VSUB(T6r, T6o);
1380 T6s = VADD(T6o, T6r);
1381 T6B = VFMA(LDK(KP831469612), T6u, T6t);
1382 T6v = VFNMS(LDK(KP831469612), T6u, T6t);
1383 T6A = VSUB(T6y, T6z);
1384 T6C = VADD(T6y, T6z);
1385 T6k = VADD(T69, T68);
1386 T6a = VSUB(T68, T69);
1387 T6e = VFMA(LDK(KP534511135), T5H, T5U);
1388 T5V = VFNMS(LDK(KP534511135), T5U, T5H);
1389 Tgh = VFMA(LDK(KP956940335), T6C, T6B);
1390 STM4(&(io[3]), Tgh, ovs, &(io[1]));
1391 Tgi = VFNMS(LDK(KP956940335), T6C, T6B);
1392 STM4(&(io[35]), Tgi, ovs, &(io[1]));
1393 {
1394 V T6l, T6x, T6d, T6b;
1395 T6l = VFMA(LDK(KP831469612), T6k, T6j);
1396 T6x = VFNMS(LDK(KP831469612), T6k, T6j);
1397 T6d = VFMA(LDK(KP831469612), T6a, T67);
1398 T6b = VFNMS(LDK(KP831469612), T6a, T67);
1399 {
1400 V T6g, T6i, T5W, T6c;
1401 T6g = VSUB(T6e, T6f);
1402 T6i = VADD(T6f, T6e);
1403 T5W = VSUB(T52, T5V);
1404 T6c = VADD(T52, T5V);
1405 Tgj = VFMA(LDK(KP956940335), T6w, T6v);
1406 STM4(&(io[19]), Tgj, ovs, &(io[1]));
1407 Tgk = VFNMS(LDK(KP956940335), T6w, T6v);
1408 STM4(&(io[51]), Tgk, ovs, &(io[1]));
1409 Tgl = VFMA(LDK(KP956940335), T6s, T6l);
1410 STM4(&(ro[3]), Tgl, ovs, &(ro[1]));
1411 Tgm = VFNMS(LDK(KP956940335), T6s, T6l);
1412 STM4(&(ro[35]), Tgm, ovs, &(ro[1]));
1413 Tgn = VFMA(LDK(KP881921264), T6i, T6h);
1414 STM4(&(ro[59]), Tgn, ovs, &(ro[1]));
1415 Tgo = VFNMS(LDK(KP881921264), T6i, T6h);
1416 STM4(&(ro[27]), Tgo, ovs, &(ro[1]));
1417 Tgp = VFMA(LDK(KP881921264), T6g, T6d);
1418 STM4(&(io[11]), Tgp, ovs, &(io[1]));
1419 Tgq = VFNMS(LDK(KP881921264), T6g, T6d);
1420 STM4(&(io[43]), Tgq, ovs, &(io[1]));
1421 Tgr = VFMA(LDK(KP881921264), T6c, T6b);
1422 STM4(&(io[59]), Tgr, ovs, &(io[1]));
1423 Tgs = VFNMS(LDK(KP881921264), T6c, T6b);
1424 STM4(&(io[27]), Tgs, ovs, &(io[1]));
1425 Tgt = VFMA(LDK(KP881921264), T5W, T49);
1426 STM4(&(ro[11]), Tgt, ovs, &(ro[1]));
1427 Tgu = VFNMS(LDK(KP881921264), T5W, T49);
1428 STM4(&(ro[43]), Tgu, ovs, &(ro[1]));
1429 Tgv = VFNMS(LDK(KP956940335), T6A, T6x);
1430 STM4(&(ro[51]), Tgv, ovs, &(ro[1]));
1431 Tgw = VFMA(LDK(KP956940335), T6A, T6x);
1432 STM4(&(ro[19]), Tgw, ovs, &(ro[1]));
1433 }
1434 }
1435 }
1436 }
1437 {
1438 V T8j, T8c, T8C, T8v, T8N, T8M, T8X, T7L, T9c, T92, T9d, T95, T98, T80;
1439 {
1440 V T90, T91, T93, T94, T7S, T7Z;
1441 T8j = VFNMS(LDK(KP923879532), T8i, T8f);
1442 T90 = VFMA(LDK(KP923879532), T8i, T8f);
1443 T91 = VFMA(LDK(KP923879532), T8b, T84);
1444 T8c = VFNMS(LDK(KP923879532), T8b, T84);
1445 T8C = VFNMS(LDK(KP923879532), T8B, T8y);
1446 T93 = VFMA(LDK(KP923879532), T8B, T8y);
1447 T94 = VFMA(LDK(KP923879532), T8u, T8n);
1448 T8v = VFNMS(LDK(KP923879532), T8u, T8n);
1449 T8N = VFMA(LDK(KP198912367), T7O, T7R);
1450 T7S = VFNMS(LDK(KP198912367), T7R, T7O);
1451 T7Z = VFMA(LDK(KP198912367), T7Y, T7V);
1452 T8M = VFNMS(LDK(KP198912367), T7V, T7Y);
1453 T8X = VFMA(LDK(KP923879532), T7K, T7D);
1454 T7L = VFNMS(LDK(KP923879532), T7K, T7D);
1455 T9c = VFNMS(LDK(KP098491403), T90, T91);
1456 T92 = VFMA(LDK(KP098491403), T91, T90);
1457 T9d = VFMA(LDK(KP098491403), T93, T94);
1458 T95 = VFNMS(LDK(KP098491403), T94, T93);
1459 T98 = VADD(T7S, T7Z);
1460 T80 = VSUB(T7S, T7Z);
1461 }
1462 {
1463 V T8V, T81, T8T, T8k, T97, T8L, T8Y, T8O, T8S, T8D;
1464 T8V = VFNMS(LDK(KP980785280), T80, T7L);
1465 T81 = VFMA(LDK(KP980785280), T80, T7L);
1466 T8T = VFNMS(LDK(KP820678790), T8c, T8j);
1467 T8k = VFMA(LDK(KP820678790), T8j, T8c);
1468 T97 = VFMA(LDK(KP923879532), T8K, T8H);
1469 T8L = VFNMS(LDK(KP923879532), T8K, T8H);
1470 T8Y = VADD(T8N, T8M);
1471 T8O = VSUB(T8M, T8N);
1472 T8S = VFMA(LDK(KP820678790), T8v, T8C);
1473 T8D = VFNMS(LDK(KP820678790), T8C, T8v);
1474 {
1475 V T8R, T8P, T8U, T8W, T8E, T8Q;
1476 {
1477 V T96, T9f, T9g, T8Z;
1478 T9a = VSUB(T95, T92);
1479 T96 = VADD(T92, T95);
1480 T9f = VFMA(LDK(KP980785280), T98, T97);
1481 T99 = VFNMS(LDK(KP980785280), T98, T97);
1482 T9e = VSUB(T9c, T9d);
1483 T9g = VADD(T9c, T9d);
1484 T8Z = VFMA(LDK(KP980785280), T8Y, T8X);
1485 T9b = VFNMS(LDK(KP980785280), T8Y, T8X);
1486 T8R = VFMA(LDK(KP980785280), T8O, T8L);
1487 T8P = VFNMS(LDK(KP980785280), T8O, T8L);
1488 T8U = VSUB(T8S, T8T);
1489 T8W = VADD(T8T, T8S);
1490 T8E = VSUB(T8k, T8D);
1491 T8Q = VADD(T8k, T8D);
1492 {
1493 V Tgx, Tgy, Tgz, TgA;
1494 Tgx = VFNMS(LDK(KP995184726), T9g, T9f);
1495 STM4(&(io[33]), Tgx, ovs, &(io[1]));
1496 STN4(&(io[32]), TeO, Tgx, TfG, Tgi, ovs);
1497 Tgy = VFMA(LDK(KP995184726), T96, T8Z);
1498 STM4(&(ro[1]), Tgy, ovs, &(ro[1]));
1499 STN4(&(ro[0]), TeL, Tgy, Tfv, Tgl, ovs);
1500 Tgz = VFNMS(LDK(KP995184726), T96, T8Z);
1501 STM4(&(ro[33]), Tgz, ovs, &(ro[1]));
1502 STN4(&(ro[32]), TeM, Tgz, Tfw, Tgm, ovs);
1503 TgA = VFMA(LDK(KP995184726), T9g, T9f);
1504 STM4(&(io[1]), TgA, ovs, &(io[1]));
1505 STN4(&(io[0]), TeN, TgA, TfF, Tgh, ovs);
1506 }
1507 }
1508 {
1509 V TgB, TgC, TgD, TgE;
1510 TgB = VFMA(LDK(KP773010453), T8W, T8V);
1511 STM4(&(ro[57]), TgB, ovs, &(ro[1]));
1512 STN4(&(ro[56]), TeS, TgB, Tfx, Tgn, ovs);
1513 TgC = VFNMS(LDK(KP773010453), T8W, T8V);
1514 STM4(&(ro[25]), TgC, ovs, &(ro[1]));
1515 STN4(&(ro[24]), TeR, TgC, Tfy, Tgo, ovs);
1516 TgD = VFMA(LDK(KP773010453), T8U, T8R);
1517 STM4(&(io[9]), TgD, ovs, &(io[1]));
1518 STN4(&(io[8]), TeT, TgD, Tfz, Tgp, ovs);
1519 TgE = VFNMS(LDK(KP773010453), T8U, T8R);
1520 STM4(&(io[41]), TgE, ovs, &(io[1]));
1521 STN4(&(io[40]), TeU, TgE, TfA, Tgq, ovs);
1522 {
1523 V TgF, TgG, TgH, TgI;
1524 TgF = VFMA(LDK(KP773010453), T8Q, T8P);
1525 STM4(&(io[57]), TgF, ovs, &(io[1]));
1526 STN4(&(io[56]), TeW, TgF, TfB, Tgr, ovs);
1527 TgG = VFNMS(LDK(KP773010453), T8Q, T8P);
1528 STM4(&(io[25]), TgG, ovs, &(io[1]));
1529 STN4(&(io[24]), TeV, TgG, TfC, Tgs, ovs);
1530 TgH = VFMA(LDK(KP773010453), T8E, T81);
1531 STM4(&(ro[9]), TgH, ovs, &(ro[1]));
1532 STN4(&(ro[8]), TeX, TgH, TfD, Tgt, ovs);
1533 TgI = VFNMS(LDK(KP773010453), T8E, T81);
1534 STM4(&(ro[41]), TgI, ovs, &(ro[1]));
1535 STN4(&(ro[40]), TeY, TgI, TfE, Tgu, ovs);
1536 }
1537 }
1538 }
1539 }
1540 }
1541 }
1542 }
1543 }
1544 }
1545 }
1546 {
1547 V TgJ, TgK, TgL, TgM;
1548 TgJ = VFMA(LDK(KP995184726), T9a, T99);
1549 STM4(&(io[17]), TgJ, ovs, &(io[1]));
1550 STN4(&(io[16]), TeQ, TgJ, TfI, Tgj, ovs);
1551 TgK = VFNMS(LDK(KP995184726), T9a, T99);
1552 STM4(&(io[49]), TgK, ovs, &(io[1]));
1553 STN4(&(io[48]), TeP, TgK, TfH, Tgk, ovs);
1554 TgL = VFMA(LDK(KP995184726), T9e, T9b);
1555 STM4(&(ro[17]), TgL, ovs, &(ro[1]));
1556 STN4(&(ro[16]), TeK, TgL, TfJ, Tgw, ovs);
1557 TgM = VFNMS(LDK(KP995184726), T9e, T9b);
1558 STM4(&(ro[49]), TgM, ovs, &(ro[1]));
1559 STN4(&(ro[48]), TeJ, TgM, TfK, Tgv, ovs);
1560 }
1561 }
1562 }
1563 VLEAVE();
1564 }
1565
1566 static const kdft_desc desc = { 64, XSIMD_STRING("n2sv_64"), {520, 0, 392, 0}, &GENUS, 0, 1, 0, 0 };
1567
1568 void XSIMD(codelet_n2sv_64) (planner *p) {
1569 X(kdft_register) (p, n2sv_64, &desc);
1570 }
1571
1572 #else /* HAVE_FMA */
1573
1574 /* Generated by: ../../../genfft/gen_notw.native -simd -compact -variables 4 -pipeline-latency 8 -n 64 -name n2sv_64 -with-ostride 1 -include n2s.h -store-multiple 4 */
1575
1576 /*
1577 * This function contains 912 FP additions, 248 FP multiplications,
1578 * (or, 808 additions, 144 multiplications, 104 fused multiply/add),
1579 * 260 stack variables, 15 constants, and 288 memory accesses
1580 */
1581 #include "n2s.h"
1582
1583 static void n2sv_64(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
1584 {
1585 DVK(KP773010453, +0.773010453362736960810906609758469800971041293);
1586 DVK(KP634393284, +0.634393284163645498215171613225493370675687095);
1587 DVK(KP098017140, +0.098017140329560601994195563888641845861136673);
1588 DVK(KP995184726, +0.995184726672196886244836953109479921575474869);
1589 DVK(KP881921264, +0.881921264348355029712756863660388349508442621);
1590 DVK(KP471396736, +0.471396736825997648556387625905254377657460319);
1591 DVK(KP290284677, +0.290284677254462367636192375817395274691476278);
1592 DVK(KP956940335, +0.956940335732208864935797886980269969482849206);
1593 DVK(KP831469612, +0.831469612302545237078788377617905756738560812);
1594 DVK(KP555570233, +0.555570233019602224742830813948532874374937191);
1595 DVK(KP195090322, +0.195090322016128267848284868477022240927691618);
1596 DVK(KP980785280, +0.980785280403230449126182236134239036973933731);
1597 DVK(KP923879532, +0.923879532511286756128183189396788286822416626);
1598 DVK(KP382683432, +0.382683432365089771728459984030398866761344562);
1599 DVK(KP707106781, +0.707106781186547524400844362104849039284835938);
1600 {
1601 INT i;
1602 for (i = v; i > 0; i = i - (2 * VL), ri = ri + ((2 * VL) * ivs), ii = ii + ((2 * VL) * ivs), ro = ro + ((2 * VL) * ovs), io = io + ((2 * VL) * ovs), MAKE_VOLATILE_STRIDE(256, is), MAKE_VOLATILE_STRIDE(256, os)) {
1603 V T37, T7B, T8F, T5Z, Tf, Td9, TbB, TcB, T62, T7C, T2i, TdH, Tah, Tcb, T3e;
1604 V T8G, Tu, TdI, Tak, TbD, Tan, TbC, T2x, Tda, T3m, T65, T7G, T8J, T7J, T8I;
1605 V T3t, T64, TK, Tdd, Tas, Tce, Tav, Tcf, T2N, Tdc, T3G, T6G, T7O, T9k, T7R;
1606 V T9l, T3N, T6H, T1L, Tdv, Tbs, Tcw, TdC, Teo, T5j, T6V, T5Q, T6Y, T8y, T9C;
1607 V Tbb, Tct, T8n, T9z, TZ, Tdf, Taz, Tch, TaC, Tci, T32, Tdg, T3Z, T6J, T7V;
1608 V T9n, T7Y, T9o, T46, T6K, T1g, Tdp, Tb1, Tcm, Tdm, Tej, T4q, T6R, T4X, T6O;
1609 V T8f, T9s, TaK, Tcp, T84, T9v, T1v, Tdn, Tb4, Tcq, Tds, Tek, T4N, T6P, T50;
1610 V T6S, T8i, T9w, TaV, Tcn, T8b, T9t, T20, TdD, Tbv, Tcu, Tdy, Tep, T5G, T6Z;
1611 V T5T, T6W, T8B, T9A, Tbm, Tcx, T8u, T9D;
1612 {
1613 V T3, T35, T26, T5Y, T6, T5X, T29, T36, Ta, T39, T2d, T38, Td, T3b, T2g;
1614 V T3c;
1615 {
1616 V T1, T2, T24, T25;
1617 T1 = LD(&(ri[0]), ivs, &(ri[0]));
1618 T2 = LD(&(ri[WS(is, 32)]), ivs, &(ri[0]));
1619 T3 = VADD(T1, T2);
1620 T35 = VSUB(T1, T2);
1621 T24 = LD(&(ii[0]), ivs, &(ii[0]));
1622 T25 = LD(&(ii[WS(is, 32)]), ivs, &(ii[0]));
1623 T26 = VADD(T24, T25);
1624 T5Y = VSUB(T24, T25);
1625 }
1626 {
1627 V T4, T5, T27, T28;
1628 T4 = LD(&(ri[WS(is, 16)]), ivs, &(ri[0]));
1629 T5 = LD(&(ri[WS(is, 48)]), ivs, &(ri[0]));
1630 T6 = VADD(T4, T5);
1631 T5X = VSUB(T4, T5);
1632 T27 = LD(&(ii[WS(is, 16)]), ivs, &(ii[0]));
1633 T28 = LD(&(ii[WS(is, 48)]), ivs, &(ii[0]));
1634 T29 = VADD(T27, T28);
1635 T36 = VSUB(T27, T28);
1636 }
1637 {
1638 V T8, T9, T2b, T2c;
1639 T8 = LD(&(ri[WS(is, 8)]), ivs, &(ri[0]));
1640 T9 = LD(&(ri[WS(is, 40)]), ivs, &(ri[0]));
1641 Ta = VADD(T8, T9);
1642 T39 = VSUB(T8, T9);
1643 T2b = LD(&(ii[WS(is, 8)]), ivs, &(ii[0]));
1644 T2c = LD(&(ii[WS(is, 40)]), ivs, &(ii[0]));
1645 T2d = VADD(T2b, T2c);
1646 T38 = VSUB(T2b, T2c);
1647 }
1648 {
1649 V Tb, Tc, T2e, T2f;
1650 Tb = LD(&(ri[WS(is, 56)]), ivs, &(ri[0]));
1651 Tc = LD(&(ri[WS(is, 24)]), ivs, &(ri[0]));
1652 Td = VADD(Tb, Tc);
1653 T3b = VSUB(Tb, Tc);
1654 T2e = LD(&(ii[WS(is, 56)]), ivs, &(ii[0]));
1655 T2f = LD(&(ii[WS(is, 24)]), ivs, &(ii[0]));
1656 T2g = VADD(T2e, T2f);
1657 T3c = VSUB(T2e, T2f);
1658 }
1659 {
1660 V T7, Te, T2a, T2h;
1661 T37 = VSUB(T35, T36);
1662 T7B = VADD(T35, T36);
1663 T8F = VSUB(T5Y, T5X);
1664 T5Z = VADD(T5X, T5Y);
1665 T7 = VADD(T3, T6);
1666 Te = VADD(Ta, Td);
1667 Tf = VADD(T7, Te);
1668 Td9 = VSUB(T7, Te);
1669 {
1670 V Tbz, TbA, T60, T61;
1671 Tbz = VSUB(T26, T29);
1672 TbA = VSUB(Td, Ta);
1673 TbB = VSUB(Tbz, TbA);
1674 TcB = VADD(TbA, Tbz);
1675 T60 = VSUB(T3b, T3c);
1676 T61 = VADD(T39, T38);
1677 T62 = VMUL(LDK(KP707106781), VSUB(T60, T61));
1678 T7C = VMUL(LDK(KP707106781), VADD(T61, T60));
1679 }
1680 T2a = VADD(T26, T29);
1681 T2h = VADD(T2d, T2g);
1682 T2i = VADD(T2a, T2h);
1683 TdH = VSUB(T2a, T2h);
1684 {
1685 V Taf, Tag, T3a, T3d;
1686 Taf = VSUB(T3, T6);
1687 Tag = VSUB(T2d, T2g);
1688 Tah = VSUB(Taf, Tag);
1689 Tcb = VADD(Taf, Tag);
1690 T3a = VSUB(T38, T39);
1691 T3d = VADD(T3b, T3c);
1692 T3e = VMUL(LDK(KP707106781), VSUB(T3a, T3d));
1693 T8G = VMUL(LDK(KP707106781), VADD(T3a, T3d));
1694 }
1695 }
1696 }
1697 {
1698 V Ti, T3j, T2l, T3h, Tl, T3g, T2o, T3k, Tp, T3q, T2s, T3o, Ts, T3n, T2v;
1699 V T3r;
1700 {
1701 V Tg, Th, T2j, T2k;
1702 Tg = LD(&(ri[WS(is, 4)]), ivs, &(ri[0]));
1703 Th = LD(&(ri[WS(is, 36)]), ivs, &(ri[0]));
1704 Ti = VADD(Tg, Th);
1705 T3j = VSUB(Tg, Th);
1706 T2j = LD(&(ii[WS(is, 4)]), ivs, &(ii[0]));
1707 T2k = LD(&(ii[WS(is, 36)]), ivs, &(ii[0]));
1708 T2l = VADD(T2j, T2k);
1709 T3h = VSUB(T2j, T2k);
1710 }
1711 {
1712 V Tj, Tk, T2m, T2n;
1713 Tj = LD(&(ri[WS(is, 20)]), ivs, &(ri[0]));
1714 Tk = LD(&(ri[WS(is, 52)]), ivs, &(ri[0]));
1715 Tl = VADD(Tj, Tk);
1716 T3g = VSUB(Tj, Tk);
1717 T2m = LD(&(ii[WS(is, 20)]), ivs, &(ii[0]));
1718 T2n = LD(&(ii[WS(is, 52)]), ivs, &(ii[0]));
1719 T2o = VADD(T2m, T2n);
1720 T3k = VSUB(T2m, T2n);
1721 }
1722 {
1723 V Tn, To, T2q, T2r;
1724 Tn = LD(&(ri[WS(is, 60)]), ivs, &(ri[0]));
1725 To = LD(&(ri[WS(is, 28)]), ivs, &(ri[0]));
1726 Tp = VADD(Tn, To);
1727 T3q = VSUB(Tn, To);
1728 T2q = LD(&(ii[WS(is, 60)]), ivs, &(ii[0]));
1729 T2r = LD(&(ii[WS(is, 28)]), ivs, &(ii[0]));
1730 T2s = VADD(T2q, T2r);
1731 T3o = VSUB(T2q, T2r);
1732 }
1733 {
1734 V Tq, Tr, T2t, T2u;
1735 Tq = LD(&(ri[WS(is, 12)]), ivs, &(ri[0]));
1736 Tr = LD(&(ri[WS(is, 44)]), ivs, &(ri[0]));
1737 Ts = VADD(Tq, Tr);
1738 T3n = VSUB(Tq, Tr);
1739 T2t = LD(&(ii[WS(is, 12)]), ivs, &(ii[0]));
1740 T2u = LD(&(ii[WS(is, 44)]), ivs, &(ii[0]));
1741 T2v = VADD(T2t, T2u);
1742 T3r = VSUB(T2t, T2u);
1743 }
1744 {
1745 V Tm, Tt, Tai, Taj;
1746 Tm = VADD(Ti, Tl);
1747 Tt = VADD(Tp, Ts);
1748 Tu = VADD(Tm, Tt);
1749 TdI = VSUB(Tt, Tm);
1750 Tai = VSUB(T2l, T2o);
1751 Taj = VSUB(Ti, Tl);
1752 Tak = VSUB(Tai, Taj);
1753 TbD = VADD(Taj, Tai);
1754 }
1755 {
1756 V Tal, Tam, T2p, T2w;
1757 Tal = VSUB(Tp, Ts);
1758 Tam = VSUB(T2s, T2v);
1759 Tan = VADD(Tal, Tam);
1760 TbC = VSUB(Tal, Tam);
1761 T2p = VADD(T2l, T2o);
1762 T2w = VADD(T2s, T2v);
1763 T2x = VADD(T2p, T2w);
1764 Tda = VSUB(T2p, T2w);
1765 }
1766 {
1767 V T3i, T3l, T7E, T7F;
1768 T3i = VADD(T3g, T3h);
1769 T3l = VSUB(T3j, T3k);
1770 T3m = VFNMS(LDK(KP923879532), T3l, VMUL(LDK(KP382683432), T3i));
1771 T65 = VFMA(LDK(KP923879532), T3i, VMUL(LDK(KP382683432), T3l));
1772 T7E = VSUB(T3h, T3g);
1773 T7F = VADD(T3j, T3k);
1774 T7G = VFNMS(LDK(KP382683432), T7F, VMUL(LDK(KP923879532), T7E));
1775 T8J = VFMA(LDK(KP382683432), T7E, VMUL(LDK(KP923879532), T7F));
1776 }
1777 {
1778 V T7H, T7I, T3p, T3s;
1779 T7H = VSUB(T3o, T3n);
1780 T7I = VADD(T3q, T3r);
1781 T7J = VFMA(LDK(KP923879532), T7H, VMUL(LDK(KP382683432), T7I));
1782 T8I = VFNMS(LDK(KP382683432), T7H, VMUL(LDK(KP923879532), T7I));
1783 T3p = VADD(T3n, T3o);
1784 T3s = VSUB(T3q, T3r);
1785 T3t = VFMA(LDK(KP382683432), T3p, VMUL(LDK(KP923879532), T3s));
1786 T64 = VFNMS(LDK(KP923879532), T3p, VMUL(LDK(KP382683432), T3s));
1787 }
1788 }
1789 {
1790 V Ty, T3H, T2B, T3x, TB, T3w, T2E, T3I, TI, T3L, T2L, T3B, TF, T3K, T2I;
1791 V T3E;
1792 {
1793 V Tw, Tx, T2C, T2D;
1794 Tw = LD(&(ri[WS(is, 2)]), ivs, &(ri[0]));
1795 Tx = LD(&(ri[WS(is, 34)]), ivs, &(ri[0]));
1796 Ty = VADD(Tw, Tx);
1797 T3H = VSUB(Tw, Tx);
1798 {
1799 V T2z, T2A, Tz, TA;
1800 T2z = LD(&(ii[WS(is, 2)]), ivs, &(ii[0]));
1801 T2A = LD(&(ii[WS(is, 34)]), ivs, &(ii[0]));
1802 T2B = VADD(T2z, T2A);
1803 T3x = VSUB(T2z, T2A);
1804 Tz = LD(&(ri[WS(is, 18)]), ivs, &(ri[0]));
1805 TA = LD(&(ri[WS(is, 50)]), ivs, &(ri[0]));
1806 TB = VADD(Tz, TA);
1807 T3w = VSUB(Tz, TA);
1808 }
1809 T2C = LD(&(ii[WS(is, 18)]), ivs, &(ii[0]));
1810 T2D = LD(&(ii[WS(is, 50)]), ivs, &(ii[0]));
1811 T2E = VADD(T2C, T2D);
1812 T3I = VSUB(T2C, T2D);
1813 {
1814 V TG, TH, T3z, T2J, T2K, T3A;
1815 TG = LD(&(ri[WS(is, 58)]), ivs, &(ri[0]));
1816 TH = LD(&(ri[WS(is, 26)]), ivs, &(ri[0]));
1817 T3z = VSUB(TG, TH);
1818 T2J = LD(&(ii[WS(is, 58)]), ivs, &(ii[0]));
1819 T2K = LD(&(ii[WS(is, 26)]), ivs, &(ii[0]));
1820 T3A = VSUB(T2J, T2K);
1821 TI = VADD(TG, TH);
1822 T3L = VADD(T3z, T3A);
1823 T2L = VADD(T2J, T2K);
1824 T3B = VSUB(T3z, T3A);
1825 }
1826 {
1827 V TD, TE, T3C, T2G, T2H, T3D;
1828 TD = LD(&(ri[WS(is, 10)]), ivs, &(ri[0]));
1829 TE = LD(&(ri[WS(is, 42)]), ivs, &(ri[0]));
1830 T3C = VSUB(TD, TE);
1831 T2G = LD(&(ii[WS(is, 10)]), ivs, &(ii[0]));
1832 T2H = LD(&(ii[WS(is, 42)]), ivs, &(ii[0]));
1833 T3D = VSUB(T2G, T2H);
1834 TF = VADD(TD, TE);
1835 T3K = VSUB(T3D, T3C);
1836 T2I = VADD(T2G, T2H);
1837 T3E = VADD(T3C, T3D);
1838 }
1839 }
1840 {
1841 V TC, TJ, Taq, Tar;
1842 TC = VADD(Ty, TB);
1843 TJ = VADD(TF, TI);
1844 TK = VADD(TC, TJ);
1845 Tdd = VSUB(TC, TJ);
1846 Taq = VSUB(T2B, T2E);
1847 Tar = VSUB(TI, TF);
1848 Tas = VSUB(Taq, Tar);
1849 Tce = VADD(Tar, Taq);
1850 }
1851 {
1852 V Tat, Tau, T2F, T2M;
1853 Tat = VSUB(Ty, TB);
1854 Tau = VSUB(T2I, T2L);
1855 Tav = VSUB(Tat, Tau);
1856 Tcf = VADD(Tat, Tau);
1857 T2F = VADD(T2B, T2E);
1858 T2M = VADD(T2I, T2L);
1859 T2N = VADD(T2F, T2M);
1860 Tdc = VSUB(T2F, T2M);
1861 }
1862 {
1863 V T3y, T3F, T7M, T7N;
1864 T3y = VADD(T3w, T3x);
1865 T3F = VMUL(LDK(KP707106781), VSUB(T3B, T3E));
1866 T3G = VSUB(T3y, T3F);
1867 T6G = VADD(T3y, T3F);
1868 T7M = VSUB(T3x, T3w);
1869 T7N = VMUL(LDK(KP707106781), VADD(T3K, T3L));
1870 T7O = VSUB(T7M, T7N);
1871 T9k = VADD(T7M, T7N);
1872 }
1873 {
1874 V T7P, T7Q, T3J, T3M;
1875 T7P = VADD(T3H, T3I);
1876 T7Q = VMUL(LDK(KP707106781), VADD(T3E, T3B));
1877 T7R = VSUB(T7P, T7Q);
1878 T9l = VADD(T7P, T7Q);
1879 T3J = VSUB(T3H, T3I);
1880 T3M = VMUL(LDK(KP707106781), VSUB(T3K, T3L));
1881 T3N = VSUB(T3J, T3M);
1882 T6H = VADD(T3J, T3M);
1883 }
1884 }
1885 {
1886 V T1z, T53, T5L, Tbo, T1C, T5I, T56, Tbp, T1J, Tb9, T5h, T5N, T1G, Tb8, T5c;
1887 V T5O;
1888 {
1889 V T1x, T1y, T54, T55;
1890 T1x = LD(&(ri[WS(is, 63)]), ivs, &(ri[WS(is, 1)]));
1891 T1y = LD(&(ri[WS(is, 31)]), ivs, &(ri[WS(is, 1)]));
1892 T1z = VADD(T1x, T1y);
1893 T53 = VSUB(T1x, T1y);
1894 {
1895 V T5J, T5K, T1A, T1B;
1896 T5J = LD(&(ii[WS(is, 63)]), ivs, &(ii[WS(is, 1)]));
1897 T5K = LD(&(ii[WS(is, 31)]), ivs, &(ii[WS(is, 1)]));
1898 T5L = VSUB(T5J, T5K);
1899 Tbo = VADD(T5J, T5K);
1900 T1A = LD(&(ri[WS(is, 15)]), ivs, &(ri[WS(is, 1)]));
1901 T1B = LD(&(ri[WS(is, 47)]), ivs, &(ri[WS(is, 1)]));
1902 T1C = VADD(T1A, T1B);
1903 T5I = VSUB(T1A, T1B);
1904 }
1905 T54 = LD(&(ii[WS(is, 15)]), ivs, &(ii[WS(is, 1)]));
1906 T55 = LD(&(ii[WS(is, 47)]), ivs, &(ii[WS(is, 1)]));
1907 T56 = VSUB(T54, T55);
1908 Tbp = VADD(T54, T55);
1909 {
1910 V T1H, T1I, T5d, T5e, T5f, T5g;
1911 T1H = LD(&(ri[WS(is, 55)]), ivs, &(ri[WS(is, 1)]));
1912 T1I = LD(&(ri[WS(is, 23)]), ivs, &(ri[WS(is, 1)]));
1913 T5d = VSUB(T1H, T1I);
1914 T5e = LD(&(ii[WS(is, 55)]), ivs, &(ii[WS(is, 1)]));
1915 T5f = LD(&(ii[WS(is, 23)]), ivs, &(ii[WS(is, 1)]));
1916 T5g = VSUB(T5e, T5f);
1917 T1J = VADD(T1H, T1I);
1918 Tb9 = VADD(T5e, T5f);
1919 T5h = VADD(T5d, T5g);
1920 T5N = VSUB(T5d, T5g);
1921 }
1922 {
1923 V T1E, T1F, T5b, T58, T59, T5a;
1924 T1E = LD(&(ri[WS(is, 7)]), ivs, &(ri[WS(is, 1)]));
1925 T1F = LD(&(ri[WS(is, 39)]), ivs, &(ri[WS(is, 1)]));
1926 T5b = VSUB(T1E, T1F);
1927 T58 = LD(&(ii[WS(is, 7)]), ivs, &(ii[WS(is, 1)]));
1928 T59 = LD(&(ii[WS(is, 39)]), ivs, &(ii[WS(is, 1)]));
1929 T5a = VSUB(T58, T59);
1930 T1G = VADD(T1E, T1F);
1931 Tb8 = VADD(T58, T59);
1932 T5c = VSUB(T5a, T5b);
1933 T5O = VADD(T5b, T5a);
1934 }
1935 }
1936 {
1937 V T1D, T1K, Tbq, Tbr;
1938 T1D = VADD(T1z, T1C);
1939 T1K = VADD(T1G, T1J);
1940 T1L = VADD(T1D, T1K);
1941 Tdv = VSUB(T1D, T1K);
1942 Tbq = VSUB(Tbo, Tbp);
1943 Tbr = VSUB(T1J, T1G);
1944 Tbs = VSUB(Tbq, Tbr);
1945 Tcw = VADD(Tbr, Tbq);
1946 }
1947 {
1948 V TdA, TdB, T57, T5i;
1949 TdA = VADD(Tbo, Tbp);
1950 TdB = VADD(Tb8, Tb9);
1951 TdC = VSUB(TdA, TdB);
1952 Teo = VADD(TdA, TdB);
1953 T57 = VSUB(T53, T56);
1954 T5i = VMUL(LDK(KP707106781), VSUB(T5c, T5h));
1955 T5j = VSUB(T57, T5i);
1956 T6V = VADD(T57, T5i);
1957 }
1958 {
1959 V T5M, T5P, T8w, T8x;
1960 T5M = VADD(T5I, T5L);
1961 T5P = VMUL(LDK(KP707106781), VSUB(T5N, T5O));
1962 T5Q = VSUB(T5M, T5P);
1963 T6Y = VADD(T5M, T5P);
1964 T8w = VSUB(T5L, T5I);
1965 T8x = VMUL(LDK(KP707106781), VADD(T5c, T5h));
1966 T8y = VSUB(T8w, T8x);
1967 T9C = VADD(T8w, T8x);
1968 }
1969 {
1970 V Tb7, Tba, T8l, T8m;
1971 Tb7 = VSUB(T1z, T1C);
1972 Tba = VSUB(Tb8, Tb9);
1973 Tbb = VSUB(Tb7, Tba);
1974 Tct = VADD(Tb7, Tba);
1975 T8l = VADD(T53, T56);
1976 T8m = VMUL(LDK(KP707106781), VADD(T5O, T5N));
1977 T8n = VSUB(T8l, T8m);
1978 T9z = VADD(T8l, T8m);
1979 }
1980 }
1981 {
1982 V TN, T40, T2Q, T3Q, TQ, T3P, T2T, T41, TX, T44, T30, T3U, TU, T43, T2X;
1983 V T3X;
1984 {
1985 V TL, TM, T2R, T2S;
1986 TL = LD(&(ri[WS(is, 62)]), ivs, &(ri[0]));
1987 TM = LD(&(ri[WS(is, 30)]), ivs, &(ri[0]));
1988 TN = VADD(TL, TM);
1989 T40 = VSUB(TL, TM);
1990 {
1991 V T2O, T2P, TO, TP;
1992 T2O = LD(&(ii[WS(is, 62)]), ivs, &(ii[0]));
1993 T2P = LD(&(ii[WS(is, 30)]), ivs, &(ii[0]));
1994 T2Q = VADD(T2O, T2P);
1995 T3Q = VSUB(T2O, T2P);
1996 TO = LD(&(ri[WS(is, 14)]), ivs, &(ri[0]));
1997 TP = LD(&(ri[WS(is, 46)]), ivs, &(ri[0]));
1998 TQ = VADD(TO, TP);
1999 T3P = VSUB(TO, TP);
2000 }
2001 T2R = LD(&(ii[WS(is, 14)]), ivs, &(ii[0]));
2002 T2S = LD(&(ii[WS(is, 46)]), ivs, &(ii[0]));
2003 T2T = VADD(T2R, T2S);
2004 T41 = VSUB(T2R, T2S);
2005 {
2006 V TV, TW, T3S, T2Y, T2Z, T3T;
2007 TV = LD(&(ri[WS(is, 54)]), ivs, &(ri[0]));
2008 TW = LD(&(ri[WS(is, 22)]), ivs, &(ri[0]));
2009 T3S = VSUB(TV, TW);
2010 T2Y = LD(&(ii[WS(is, 54)]), ivs, &(ii[0]));
2011 T2Z = LD(&(ii[WS(is, 22)]), ivs, &(ii[0]));
2012 T3T = VSUB(T2Y, T2Z);
2013 TX = VADD(TV, TW);
2014 T44 = VADD(T3S, T3T);
2015 T30 = VADD(T2Y, T2Z);
2016 T3U = VSUB(T3S, T3T);
2017 }
2018 {
2019 V TS, TT, T3V, T2V, T2W, T3W;
2020 TS = LD(&(ri[WS(is, 6)]), ivs, &(ri[0]));
2021 TT = LD(&(ri[WS(is, 38)]), ivs, &(ri[0]));
2022 T3V = VSUB(TS, TT);
2023 T2V = LD(&(ii[WS(is, 6)]), ivs, &(ii[0]));
2024 T2W = LD(&(ii[WS(is, 38)]), ivs, &(ii[0]));
2025 T3W = VSUB(T2V, T2W);
2026 TU = VADD(TS, TT);
2027 T43 = VSUB(T3W, T3V);
2028 T2X = VADD(T2V, T2W);
2029 T3X = VADD(T3V, T3W);
2030 }
2031 }
2032 {
2033 V TR, TY, Tax, Tay;
2034 TR = VADD(TN, TQ);
2035 TY = VADD(TU, TX);
2036 TZ = VADD(TR, TY);
2037 Tdf = VSUB(TR, TY);
2038 Tax = VSUB(T2Q, T2T);
2039 Tay = VSUB(TX, TU);
2040 Taz = VSUB(Tax, Tay);
2041 Tch = VADD(Tay, Tax);
2042 }
2043 {
2044 V TaA, TaB, T2U, T31;
2045 TaA = VSUB(TN, TQ);
2046 TaB = VSUB(T2X, T30);
2047 TaC = VSUB(TaA, TaB);
2048 Tci = VADD(TaA, TaB);
2049 T2U = VADD(T2Q, T2T);
2050 T31 = VADD(T2X, T30);
2051 T32 = VADD(T2U, T31);
2052 Tdg = VSUB(T2U, T31);
2053 }
2054 {
2055 V T3R, T3Y, T7T, T7U;
2056 T3R = VADD(T3P, T3Q);
2057 T3Y = VMUL(LDK(KP707106781), VSUB(T3U, T3X));
2058 T3Z = VSUB(T3R, T3Y);
2059 T6J = VADD(T3R, T3Y);
2060 T7T = VADD(T40, T41);
2061 T7U = VMUL(LDK(KP707106781), VADD(T3X, T3U));
2062 T7V = VSUB(T7T, T7U);
2063 T9n = VADD(T7T, T7U);
2064 }
2065 {
2066 V T7W, T7X, T42, T45;
2067 T7W = VSUB(T3Q, T3P);
2068 T7X = VMUL(LDK(KP707106781), VADD(T43, T44));
2069 T7Y = VSUB(T7W, T7X);
2070 T9o = VADD(T7W, T7X);
2071 T42 = VSUB(T40, T41);
2072 T45 = VMUL(LDK(KP707106781), VSUB(T43, T44));
2073 T46 = VSUB(T42, T45);
2074 T6K = VADD(T42, T45);
2075 }
2076 }
2077 {
2078 V T14, T4P, T4d, TaG, T17, T4a, T4S, TaH, T1e, TaZ, T4j, T4V, T1b, TaY, T4o;
2079 V T4U;
2080 {
2081 V T12, T13, T4Q, T4R;
2082 T12 = LD(&(ri[WS(is, 1)]), ivs, &(ri[WS(is, 1)]));
2083 T13 = LD(&(ri[WS(is, 33)]), ivs, &(ri[WS(is, 1)]));
2084 T14 = VADD(T12, T13);
2085 T4P = VSUB(T12, T13);
2086 {
2087 V T4b, T4c, T15, T16;
2088 T4b = LD(&(ii[WS(is, 1)]), ivs, &(ii[WS(is, 1)]));
2089 T4c = LD(&(ii[WS(is, 33)]), ivs, &(ii[WS(is, 1)]));
2090 T4d = VSUB(T4b, T4c);
2091 TaG = VADD(T4b, T4c);
2092 T15 = LD(&(ri[WS(is, 17)]), ivs, &(ri[WS(is, 1)]));
2093 T16 = LD(&(ri[WS(is, 49)]), ivs, &(ri[WS(is, 1)]));
2094 T17 = VADD(T15, T16);
2095 T4a = VSUB(T15, T16);
2096 }
2097 T4Q = LD(&(ii[WS(is, 17)]), ivs, &(ii[WS(is, 1)]));
2098 T4R = LD(&(ii[WS(is, 49)]), ivs, &(ii[WS(is, 1)]));
2099 T4S = VSUB(T4Q, T4R);
2100 TaH = VADD(T4Q, T4R);
2101 {
2102 V T1c, T1d, T4f, T4g, T4h, T4i;
2103 T1c = LD(&(ri[WS(is, 57)]), ivs, &(ri[WS(is, 1)]));
2104 T1d = LD(&(ri[WS(is, 25)]), ivs, &(ri[WS(is, 1)]));
2105 T4f = VSUB(T1c, T1d);
2106 T4g = LD(&(ii[WS(is, 57)]), ivs, &(ii[WS(is, 1)]));
2107 T4h = LD(&(ii[WS(is, 25)]), ivs, &(ii[WS(is, 1)]));
2108 T4i = VSUB(T4g, T4h);
2109 T1e = VADD(T1c, T1d);
2110 TaZ = VADD(T4g, T4h);
2111 T4j = VSUB(T4f, T4i);
2112 T4V = VADD(T4f, T4i);
2113 }
2114 {
2115 V T19, T1a, T4k, T4l, T4m, T4n;
2116 T19 = LD(&(ri[WS(is, 9)]), ivs, &(ri[WS(is, 1)]));
2117 T1a = LD(&(ri[WS(is, 41)]), ivs, &(ri[WS(is, 1)]));
2118 T4k = VSUB(T19, T1a);
2119 T4l = LD(&(ii[WS(is, 9)]), ivs, &(ii[WS(is, 1)]));
2120 T4m = LD(&(ii[WS(is, 41)]), ivs, &(ii[WS(is, 1)]));
2121 T4n = VSUB(T4l, T4m);
2122 T1b = VADD(T19, T1a);
2123 TaY = VADD(T4l, T4m);
2124 T4o = VADD(T4k, T4n);
2125 T4U = VSUB(T4n, T4k);
2126 }
2127 }
2128 {
2129 V T18, T1f, TaX, Tb0;
2130 T18 = VADD(T14, T17);
2131 T1f = VADD(T1b, T1e);
2132 T1g = VADD(T18, T1f);
2133 Tdp = VSUB(T18, T1f);
2134 TaX = VSUB(T14, T17);
2135 Tb0 = VSUB(TaY, TaZ);
2136 Tb1 = VSUB(TaX, Tb0);
2137 Tcm = VADD(TaX, Tb0);
2138 }
2139 {
2140 V Tdk, Tdl, T4e, T4p;
2141 Tdk = VADD(TaG, TaH);
2142 Tdl = VADD(TaY, TaZ);
2143 Tdm = VSUB(Tdk, Tdl);
2144 Tej = VADD(Tdk, Tdl);
2145 T4e = VADD(T4a, T4d);
2146 T4p = VMUL(LDK(KP707106781), VSUB(T4j, T4o));
2147 T4q = VSUB(T4e, T4p);
2148 T6R = VADD(T4e, T4p);
2149 }
2150 {
2151 V T4T, T4W, T8d, T8e;
2152 T4T = VSUB(T4P, T4S);
2153 T4W = VMUL(LDK(KP707106781), VSUB(T4U, T4V));
2154 T4X = VSUB(T4T, T4W);
2155 T6O = VADD(T4T, T4W);
2156 T8d = VADD(T4P, T4S);
2157 T8e = VMUL(LDK(KP707106781), VADD(T4o, T4j));
2158 T8f = VSUB(T8d, T8e);
2159 T9s = VADD(T8d, T8e);
2160 }
2161 {
2162 V TaI, TaJ, T82, T83;
2163 TaI = VSUB(TaG, TaH);
2164 TaJ = VSUB(T1e, T1b);
2165 TaK = VSUB(TaI, TaJ);
2166 Tcp = VADD(TaJ, TaI);
2167 T82 = VSUB(T4d, T4a);
2168 T83 = VMUL(LDK(KP707106781), VADD(T4U, T4V));
2169 T84 = VSUB(T82, T83);
2170 T9v = VADD(T82, T83);
2171 }
2172 }
2173 {
2174 V T1j, TaR, T1m, TaS, T4G, T4L, TaT, TaQ, T89, T88, T1q, TaM, T1t, TaN, T4v;
2175 V T4A, TaO, TaL, T86, T85;
2176 {
2177 V T4H, T4F, T4C, T4K;
2178 {
2179 V T1h, T1i, T4D, T4E;
2180 T1h = LD(&(ri[WS(is, 5)]), ivs, &(ri[WS(is, 1)]));
2181 T1i = LD(&(ri[WS(is, 37)]), ivs, &(ri[WS(is, 1)]));
2182 T1j = VADD(T1h, T1i);
2183 T4H = VSUB(T1h, T1i);
2184 T4D = LD(&(ii[WS(is, 5)]), ivs, &(ii[WS(is, 1)]));
2185 T4E = LD(&(ii[WS(is, 37)]), ivs, &(ii[WS(is, 1)]));
2186 T4F = VSUB(T4D, T4E);
2187 TaR = VADD(T4D, T4E);
2188 }
2189 {
2190 V T1k, T1l, T4I, T4J;
2191 T1k = LD(&(ri[WS(is, 21)]), ivs, &(ri[WS(is, 1)]));
2192 T1l = LD(&(ri[WS(is, 53)]), ivs, &(ri[WS(is, 1)]));
2193 T1m = VADD(T1k, T1l);
2194 T4C = VSUB(T1k, T1l);
2195 T4I = LD(&(ii[WS(is, 21)]), ivs, &(ii[WS(is, 1)]));
2196 T4J = LD(&(ii[WS(is, 53)]), ivs, &(ii[WS(is, 1)]));
2197 T4K = VSUB(T4I, T4J);
2198 TaS = VADD(T4I, T4J);
2199 }
2200 T4G = VADD(T4C, T4F);
2201 T4L = VSUB(T4H, T4K);
2202 TaT = VSUB(TaR, TaS);
2203 TaQ = VSUB(T1j, T1m);
2204 T89 = VADD(T4H, T4K);
2205 T88 = VSUB(T4F, T4C);
2206 }
2207 {
2208 V T4r, T4z, T4w, T4u;
2209 {
2210 V T1o, T1p, T4x, T4y;
2211 T1o = LD(&(ri[WS(is, 61)]), ivs, &(ri[WS(is, 1)]));
2212 T1p = LD(&(ri[WS(is, 29)]), ivs, &(ri[WS(is, 1)]));
2213 T1q = VADD(T1o, T1p);
2214 T4r = VSUB(T1o, T1p);
2215 T4x = LD(&(ii[WS(is, 61)]), ivs, &(ii[WS(is, 1)]));
2216 T4y = LD(&(ii[WS(is, 29)]), ivs, &(ii[WS(is, 1)]));
2217 T4z = VSUB(T4x, T4y);
2218 TaM = VADD(T4x, T4y);
2219 }
2220 {
2221 V T1r, T1s, T4s, T4t;
2222 T1r = LD(&(ri[WS(is, 13)]), ivs, &(ri[WS(is, 1)]));
2223 T1s = LD(&(ri[WS(is, 45)]), ivs, &(ri[WS(is, 1)]));
2224 T1t = VADD(T1r, T1s);
2225 T4w = VSUB(T1r, T1s);
2226 T4s = LD(&(ii[WS(is, 13)]), ivs, &(ii[WS(is, 1)]));
2227 T4t = LD(&(ii[WS(is, 45)]), ivs, &(ii[WS(is, 1)]));
2228 T4u = VSUB(T4s, T4t);
2229 TaN = VADD(T4s, T4t);
2230 }
2231 T4v = VSUB(T4r, T4u);
2232 T4A = VADD(T4w, T4z);
2233 TaO = VSUB(TaM, TaN);
2234 TaL = VSUB(T1q, T1t);
2235 T86 = VSUB(T4z, T4w);
2236 T85 = VADD(T4r, T4u);
2237 }
2238 {
2239 V T1n, T1u, Tb2, Tb3;
2240 T1n = VADD(T1j, T1m);
2241 T1u = VADD(T1q, T1t);
2242 T1v = VADD(T1n, T1u);
2243 Tdn = VSUB(T1u, T1n);
2244 Tb2 = VSUB(TaT, TaQ);
2245 Tb3 = VADD(TaL, TaO);
2246 Tb4 = VMUL(LDK(KP707106781), VSUB(Tb2, Tb3));
2247 Tcq = VMUL(LDK(KP707106781), VADD(Tb2, Tb3));
2248 }
2249 {
2250 V Tdq, Tdr, T4B, T4M;
2251 Tdq = VADD(TaR, TaS);
2252 Tdr = VADD(TaM, TaN);
2253 Tds = VSUB(Tdq, Tdr);
2254 Tek = VADD(Tdq, Tdr);
2255 T4B = VFNMS(LDK(KP923879532), T4A, VMUL(LDK(KP382683432), T4v));
2256 T4M = VFMA(LDK(KP923879532), T4G, VMUL(LDK(KP382683432), T4L));
2257 T4N = VSUB(T4B, T4M);
2258 T6P = VADD(T4M, T4B);
2259 }
2260 {
2261 V T4Y, T4Z, T8g, T8h;
2262 T4Y = VFNMS(LDK(KP923879532), T4L, VMUL(LDK(KP382683432), T4G));
2263 T4Z = VFMA(LDK(KP382683432), T4A, VMUL(LDK(KP923879532), T4v));
2264 T50 = VSUB(T4Y, T4Z);
2265 T6S = VADD(T4Y, T4Z);
2266 T8g = VFNMS(LDK(KP382683432), T89, VMUL(LDK(KP923879532), T88));
2267 T8h = VFMA(LDK(KP923879532), T86, VMUL(LDK(KP382683432), T85));
2268 T8i = VSUB(T8g, T8h);
2269 T9w = VADD(T8g, T8h);
2270 }
2271 {
2272 V TaP, TaU, T87, T8a;
2273 TaP = VSUB(TaL, TaO);
2274 TaU = VADD(TaQ, TaT);
2275 TaV = VMUL(LDK(KP707106781), VSUB(TaP, TaU));
2276 Tcn = VMUL(LDK(KP707106781), VADD(TaU, TaP));
2277 T87 = VFNMS(LDK(KP382683432), T86, VMUL(LDK(KP923879532), T85));
2278 T8a = VFMA(LDK(KP382683432), T88, VMUL(LDK(KP923879532), T89));
2279 T8b = VSUB(T87, T8a);
2280 T9t = VADD(T8a, T87);
2281 }
2282 }
2283 {
2284 V T1O, Tbc, T1R, Tbd, T5o, T5t, Tbf, Tbe, T8p, T8o, T1V, Tbi, T1Y, Tbj, T5z;
2285 V T5E, Tbk, Tbh, T8s, T8r;
2286 {
2287 V T5p, T5n, T5k, T5s;
2288 {
2289 V T1M, T1N, T5l, T5m;
2290 T1M = LD(&(ri[WS(is, 3)]), ivs, &(ri[WS(is, 1)]));
2291 T1N = LD(&(ri[WS(is, 35)]), ivs, &(ri[WS(is, 1)]));
2292 T1O = VADD(T1M, T1N);
2293 T5p = VSUB(T1M, T1N);
2294 T5l = LD(&(ii[WS(is, 3)]), ivs, &(ii[WS(is, 1)]));
2295 T5m = LD(&(ii[WS(is, 35)]), ivs, &(ii[WS(is, 1)]));
2296 T5n = VSUB(T5l, T5m);
2297 Tbc = VADD(T5l, T5m);
2298 }
2299 {
2300 V T1P, T1Q, T5q, T5r;
2301 T1P = LD(&(ri[WS(is, 19)]), ivs, &(ri[WS(is, 1)]));
2302 T1Q = LD(&(ri[WS(is, 51)]), ivs, &(ri[WS(is, 1)]));
2303 T1R = VADD(T1P, T1Q);
2304 T5k = VSUB(T1P, T1Q);
2305 T5q = LD(&(ii[WS(is, 19)]), ivs, &(ii[WS(is, 1)]));
2306 T5r = LD(&(ii[WS(is, 51)]), ivs, &(ii[WS(is, 1)]));
2307 T5s = VSUB(T5q, T5r);
2308 Tbd = VADD(T5q, T5r);
2309 }
2310 T5o = VADD(T5k, T5n);
2311 T5t = VSUB(T5p, T5s);
2312 Tbf = VSUB(T1O, T1R);
2313 Tbe = VSUB(Tbc, Tbd);
2314 T8p = VADD(T5p, T5s);
2315 T8o = VSUB(T5n, T5k);
2316 }
2317 {
2318 V T5A, T5y, T5v, T5D;
2319 {
2320 V T1T, T1U, T5w, T5x;
2321 T1T = LD(&(ri[WS(is, 59)]), ivs, &(ri[WS(is, 1)]));
2322 T1U = LD(&(ri[WS(is, 27)]), ivs, &(ri[WS(is, 1)]));
2323 T1V = VADD(T1T, T1U);
2324 T5A = VSUB(T1T, T1U);
2325 T5w = LD(&(ii[WS(is, 59)]), ivs, &(ii[WS(is, 1)]));
2326 T5x = LD(&(ii[WS(is, 27)]), ivs, &(ii[WS(is, 1)]));
2327 T5y = VSUB(T5w, T5x);
2328 Tbi = VADD(T5w, T5x);
2329 }
2330 {
2331 V T1W, T1X, T5B, T5C;
2332 T1W = LD(&(ri[WS(is, 11)]), ivs, &(ri[WS(is, 1)]));
2333 T1X = LD(&(ri[WS(is, 43)]), ivs, &(ri[WS(is, 1)]));
2334 T1Y = VADD(T1W, T1X);
2335 T5v = VSUB(T1W, T1X);
2336 T5B = LD(&(ii[WS(is, 11)]), ivs, &(ii[WS(is, 1)]));
2337 T5C = LD(&(ii[WS(is, 43)]), ivs, &(ii[WS(is, 1)]));
2338 T5D = VSUB(T5B, T5C);
2339 Tbj = VADD(T5B, T5C);
2340 }
2341 T5z = VADD(T5v, T5y);
2342 T5E = VSUB(T5A, T5D);
2343 Tbk = VSUB(Tbi, Tbj);
2344 Tbh = VSUB(T1V, T1Y);
2345 T8s = VADD(T5A, T5D);
2346 T8r = VSUB(T5y, T5v);
2347 }
2348 {
2349 V T1S, T1Z, Tbt, Tbu;
2350 T1S = VADD(T1O, T1R);
2351 T1Z = VADD(T1V, T1Y);
2352 T20 = VADD(T1S, T1Z);
2353 TdD = VSUB(T1Z, T1S);
2354 Tbt = VSUB(Tbh, Tbk);
2355 Tbu = VADD(Tbf, Tbe);
2356 Tbv = VMUL(LDK(KP707106781), VSUB(Tbt, Tbu));
2357 Tcu = VMUL(LDK(KP707106781), VADD(Tbu, Tbt));
2358 }
2359 {
2360 V Tdw, Tdx, T5u, T5F;
2361 Tdw = VADD(Tbc, Tbd);
2362 Tdx = VADD(Tbi, Tbj);
2363 Tdy = VSUB(Tdw, Tdx);
2364 Tep = VADD(Tdw, Tdx);
2365 T5u = VFNMS(LDK(KP923879532), T5t, VMUL(LDK(KP382683432), T5o));
2366 T5F = VFMA(LDK(KP382683432), T5z, VMUL(LDK(KP923879532), T5E));
2367 T5G = VSUB(T5u, T5F);
2368 T6Z = VADD(T5u, T5F);
2369 }
2370 {
2371 V T5R, T5S, T8z, T8A;
2372 T5R = VFNMS(LDK(KP923879532), T5z, VMUL(LDK(KP382683432), T5E));
2373 T5S = VFMA(LDK(KP923879532), T5o, VMUL(LDK(KP382683432), T5t));
2374 T5T = VSUB(T5R, T5S);
2375 T6W = VADD(T5S, T5R);
2376 T8z = VFNMS(LDK(KP382683432), T8r, VMUL(LDK(KP923879532), T8s));
2377 T8A = VFMA(LDK(KP382683432), T8o, VMUL(LDK(KP923879532), T8p));
2378 T8B = VSUB(T8z, T8A);
2379 T9A = VADD(T8A, T8z);
2380 }
2381 {
2382 V Tbg, Tbl, T8q, T8t;
2383 Tbg = VSUB(Tbe, Tbf);
2384 Tbl = VADD(Tbh, Tbk);
2385 Tbm = VMUL(LDK(KP707106781), VSUB(Tbg, Tbl));
2386 Tcx = VMUL(LDK(KP707106781), VADD(Tbg, Tbl));
2387 T8q = VFNMS(LDK(KP382683432), T8p, VMUL(LDK(KP923879532), T8o));
2388 T8t = VFMA(LDK(KP923879532), T8r, VMUL(LDK(KP382683432), T8s));
2389 T8u = VSUB(T8q, T8t);
2390 T9D = VADD(T8q, T8t);
2391 }
2392 }
2393 {
2394 V TeJ, TeK, TeL, TeM, TeN, TeO, TeP, TeQ, TeR, TeS, TeT, TeU, TeV, TeW, TeX;
2395 V TeY, TeZ, Tf0, Tf1, Tf2, Tf3, Tf4, Tf5, Tf6, Tf7, Tf8, Tf9, Tfa, Tfb, Tfc;
2396 V Tfd, Tfe, Tff, Tfg, Tfh, Tfi, Tfj, Tfk, Tfl, Tfm, Tfn, Tfo, Tfp, Tfq, Tfr;
2397 V Tfs, Tft, Tfu;
2398 {
2399 V T11, TeD, TeG, TeI, T22, T23, T34, TeH;
2400 {
2401 V Tv, T10, TeE, TeF;
2402 Tv = VADD(Tf, Tu);
2403 T10 = VADD(TK, TZ);
2404 T11 = VADD(Tv, T10);
2405 TeD = VSUB(Tv, T10);
2406 TeE = VADD(Tej, Tek);
2407 TeF = VADD(Teo, Tep);
2408 TeG = VSUB(TeE, TeF);
2409 TeI = VADD(TeE, TeF);
2410 }
2411 {
2412 V T1w, T21, T2y, T33;
2413 T1w = VADD(T1g, T1v);
2414 T21 = VADD(T1L, T20);
2415 T22 = VADD(T1w, T21);
2416 T23 = VSUB(T21, T1w);
2417 T2y = VADD(T2i, T2x);
2418 T33 = VADD(T2N, T32);
2419 T34 = VSUB(T2y, T33);
2420 TeH = VADD(T2y, T33);
2421 }
2422 TeJ = VSUB(T11, T22);
2423 STM4(&(ro[32]), TeJ, ovs, &(ro[0]));
2424 TeK = VSUB(TeH, TeI);
2425 STM4(&(io[32]), TeK, ovs, &(io[0]));
2426 TeL = VADD(T11, T22);
2427 STM4(&(ro[0]), TeL, ovs, &(ro[0]));
2428 TeM = VADD(TeH, TeI);
2429 STM4(&(io[0]), TeM, ovs, &(io[0]));
2430 TeN = VADD(T23, T34);
2431 STM4(&(io[16]), TeN, ovs, &(io[0]));
2432 TeO = VADD(TeD, TeG);
2433 STM4(&(ro[16]), TeO, ovs, &(ro[0]));
2434 TeP = VSUB(T34, T23);
2435 STM4(&(io[48]), TeP, ovs, &(io[0]));
2436 TeQ = VSUB(TeD, TeG);
2437 STM4(&(ro[48]), TeQ, ovs, &(ro[0]));
2438 }
2439 {
2440 V Teh, Tex, Tev, TeB, Tem, Tey, Ter, Tez;
2441 {
2442 V Tef, Teg, Tet, Teu;
2443 Tef = VSUB(Tf, Tu);
2444 Teg = VSUB(T2N, T32);
2445 Teh = VADD(Tef, Teg);
2446 Tex = VSUB(Tef, Teg);
2447 Tet = VSUB(T2i, T2x);
2448 Teu = VSUB(TZ, TK);
2449 Tev = VSUB(Tet, Teu);
2450 TeB = VADD(Teu, Tet);
2451 }
2452 {
2453 V Tei, Tel, Ten, Teq;
2454 Tei = VSUB(T1g, T1v);
2455 Tel = VSUB(Tej, Tek);
2456 Tem = VADD(Tei, Tel);
2457 Tey = VSUB(Tel, Tei);
2458 Ten = VSUB(T1L, T20);
2459 Teq = VSUB(Teo, Tep);
2460 Ter = VSUB(Ten, Teq);
2461 Tez = VADD(Ten, Teq);
2462 }
2463 {
2464 V Tes, TeC, Tew, TeA;
2465 Tes = VMUL(LDK(KP707106781), VADD(Tem, Ter));
2466 TeR = VSUB(Teh, Tes);
2467 STM4(&(ro[40]), TeR, ovs, &(ro[0]));
2468 TeS = VADD(Teh, Tes);
2469 STM4(&(ro[8]), TeS, ovs, &(ro[0]));
2470 TeC = VMUL(LDK(KP707106781), VADD(Tey, Tez));
2471 TeT = VSUB(TeB, TeC);
2472 STM4(&(io[40]), TeT, ovs, &(io[0]));
2473 TeU = VADD(TeB, TeC);
2474 STM4(&(io[8]), TeU, ovs, &(io[0]));
2475 Tew = VMUL(LDK(KP707106781), VSUB(Ter, Tem));
2476 TeV = VSUB(Tev, Tew);
2477 STM4(&(io[56]), TeV, ovs, &(io[0]));
2478 TeW = VADD(Tev, Tew);
2479 STM4(&(io[24]), TeW, ovs, &(io[0]));
2480 TeA = VMUL(LDK(KP707106781), VSUB(Tey, Tez));
2481 TeX = VSUB(Tex, TeA);
2482 STM4(&(ro[56]), TeX, ovs, &(ro[0]));
2483 TeY = VADD(Tex, TeA);
2484 STM4(&(ro[24]), TeY, ovs, &(ro[0]));
2485 }
2486 }
2487 {
2488 V Tdb, TdV, Te5, TdJ, Tdi, Te6, Te3, Teb, TdM, TdW, Tdu, TdQ, Te0, Tea, TdF;
2489 V TdR;
2490 {
2491 V Tde, Tdh, Tdo, Tdt;
2492 Tdb = VSUB(Td9, Tda);
2493 TdV = VADD(Td9, Tda);
2494 Te5 = VADD(TdI, TdH);
2495 TdJ = VSUB(TdH, TdI);
2496 Tde = VSUB(Tdc, Tdd);
2497 Tdh = VADD(Tdf, Tdg);
2498 Tdi = VMUL(LDK(KP707106781), VSUB(Tde, Tdh));
2499 Te6 = VMUL(LDK(KP707106781), VADD(Tde, Tdh));
2500 {
2501 V Te1, Te2, TdK, TdL;
2502 Te1 = VADD(Tdv, Tdy);
2503 Te2 = VADD(TdD, TdC);
2504 Te3 = VFNMS(LDK(KP382683432), Te2, VMUL(LDK(KP923879532), Te1));
2505 Teb = VFMA(LDK(KP923879532), Te2, VMUL(LDK(KP382683432), Te1));
2506 TdK = VSUB(Tdf, Tdg);
2507 TdL = VADD(Tdd, Tdc);
2508 TdM = VMUL(LDK(KP707106781), VSUB(TdK, TdL));
2509 TdW = VMUL(LDK(KP707106781), VADD(TdL, TdK));
2510 }
2511 Tdo = VSUB(Tdm, Tdn);
2512 Tdt = VSUB(Tdp, Tds);
2513 Tdu = VFMA(LDK(KP923879532), Tdo, VMUL(LDK(KP382683432), Tdt));
2514 TdQ = VFNMS(LDK(KP923879532), Tdt, VMUL(LDK(KP382683432), Tdo));
2515 {
2516 V TdY, TdZ, Tdz, TdE;
2517 TdY = VADD(Tdn, Tdm);
2518 TdZ = VADD(Tdp, Tds);
2519 Te0 = VFMA(LDK(KP382683432), TdY, VMUL(LDK(KP923879532), TdZ));
2520 Tea = VFNMS(LDK(KP382683432), TdZ, VMUL(LDK(KP923879532), TdY));
2521 Tdz = VSUB(Tdv, Tdy);
2522 TdE = VSUB(TdC, TdD);
2523 TdF = VFNMS(LDK(KP923879532), TdE, VMUL(LDK(KP382683432), Tdz));
2524 TdR = VFMA(LDK(KP382683432), TdE, VMUL(LDK(KP923879532), Tdz));
2525 }
2526 }
2527 {
2528 V Tdj, TdG, TdT, TdU;
2529 Tdj = VADD(Tdb, Tdi);
2530 TdG = VADD(Tdu, TdF);
2531 TeZ = VSUB(Tdj, TdG);
2532 STM4(&(ro[44]), TeZ, ovs, &(ro[0]));
2533 Tf0 = VADD(Tdj, TdG);
2534 STM4(&(ro[12]), Tf0, ovs, &(ro[0]));
2535 TdT = VADD(TdJ, TdM);
2536 TdU = VADD(TdQ, TdR);
2537 Tf1 = VSUB(TdT, TdU);
2538 STM4(&(io[44]), Tf1, ovs, &(io[0]));
2539 Tf2 = VADD(TdT, TdU);
2540 STM4(&(io[12]), Tf2, ovs, &(io[0]));
2541 }
2542 {
2543 V TdN, TdO, TdP, TdS;
2544 TdN = VSUB(TdJ, TdM);
2545 TdO = VSUB(TdF, Tdu);
2546 Tf3 = VSUB(TdN, TdO);
2547 STM4(&(io[60]), Tf3, ovs, &(io[0]));
2548 Tf4 = VADD(TdN, TdO);
2549 STM4(&(io[28]), Tf4, ovs, &(io[0]));
2550 TdP = VSUB(Tdb, Tdi);
2551 TdS = VSUB(TdQ, TdR);
2552 Tf5 = VSUB(TdP, TdS);
2553 STM4(&(ro[60]), Tf5, ovs, &(ro[0]));
2554 Tf6 = VADD(TdP, TdS);
2555 STM4(&(ro[28]), Tf6, ovs, &(ro[0]));
2556 }
2557 {
2558 V TdX, Te4, Ted, Tee;
2559 TdX = VADD(TdV, TdW);
2560 Te4 = VADD(Te0, Te3);
2561 Tf7 = VSUB(TdX, Te4);
2562 STM4(&(ro[36]), Tf7, ovs, &(ro[0]));
2563 Tf8 = VADD(TdX, Te4);
2564 STM4(&(ro[4]), Tf8, ovs, &(ro[0]));
2565 Ted = VADD(Te5, Te6);
2566 Tee = VADD(Tea, Teb);
2567 Tf9 = VSUB(Ted, Tee);
2568 STM4(&(io[36]), Tf9, ovs, &(io[0]));
2569 Tfa = VADD(Ted, Tee);
2570 STM4(&(io[4]), Tfa, ovs, &(io[0]));
2571 }
2572 {
2573 V Te7, Te8, Te9, Tec;
2574 Te7 = VSUB(Te5, Te6);
2575 Te8 = VSUB(Te3, Te0);
2576 Tfb = VSUB(Te7, Te8);
2577 STM4(&(io[52]), Tfb, ovs, &(io[0]));
2578 Tfc = VADD(Te7, Te8);
2579 STM4(&(io[20]), Tfc, ovs, &(io[0]));
2580 Te9 = VSUB(TdV, TdW);
2581 Tec = VSUB(Tea, Teb);
2582 Tfd = VSUB(Te9, Tec);
2583 STM4(&(ro[52]), Tfd, ovs, &(ro[0]));
2584 Tfe = VADD(Te9, Tec);
2585 STM4(&(ro[20]), Tfe, ovs, &(ro[0]));
2586 }
2587 }
2588 {
2589 V Tcd, TcP, TcD, TcZ, Tck, Td0, TcX, Td5, Tcs, TcK, TcG, TcQ, TcU, Td4, Tcz;
2590 V TcL, Tcc, TcC;
2591 Tcc = VMUL(LDK(KP707106781), VADD(TbD, TbC));
2592 Tcd = VSUB(Tcb, Tcc);
2593 TcP = VADD(Tcb, Tcc);
2594 TcC = VMUL(LDK(KP707106781), VADD(Tak, Tan));
2595 TcD = VSUB(TcB, TcC);
2596 TcZ = VADD(TcB, TcC);
2597 {
2598 V Tcg, Tcj, TcV, TcW;
2599 Tcg = VFNMS(LDK(KP382683432), Tcf, VMUL(LDK(KP923879532), Tce));
2600 Tcj = VFMA(LDK(KP923879532), Tch, VMUL(LDK(KP382683432), Tci));
2601 Tck = VSUB(Tcg, Tcj);
2602 Td0 = VADD(Tcg, Tcj);
2603 TcV = VADD(Tct, Tcu);
2604 TcW = VADD(Tcw, Tcx);
2605 TcX = VFNMS(LDK(KP195090322), TcW, VMUL(LDK(KP980785280), TcV));
2606 Td5 = VFMA(LDK(KP195090322), TcV, VMUL(LDK(KP980785280), TcW));
2607 }
2608 {
2609 V Tco, Tcr, TcE, TcF;
2610 Tco = VSUB(Tcm, Tcn);
2611 Tcr = VSUB(Tcp, Tcq);
2612 Tcs = VFMA(LDK(KP555570233), Tco, VMUL(LDK(KP831469612), Tcr));
2613 TcK = VFNMS(LDK(KP831469612), Tco, VMUL(LDK(KP555570233), Tcr));
2614 TcE = VFNMS(LDK(KP382683432), Tch, VMUL(LDK(KP923879532), Tci));
2615 TcF = VFMA(LDK(KP382683432), Tce, VMUL(LDK(KP923879532), Tcf));
2616 TcG = VSUB(TcE, TcF);
2617 TcQ = VADD(TcF, TcE);
2618 }
2619 {
2620 V TcS, TcT, Tcv, Tcy;
2621 TcS = VADD(Tcm, Tcn);
2622 TcT = VADD(Tcp, Tcq);
2623 TcU = VFMA(LDK(KP980785280), TcS, VMUL(LDK(KP195090322), TcT));
2624 Td4 = VFNMS(LDK(KP195090322), TcS, VMUL(LDK(KP980785280), TcT));
2625 Tcv = VSUB(Tct, Tcu);
2626 Tcy = VSUB(Tcw, Tcx);
2627 Tcz = VFNMS(LDK(KP831469612), Tcy, VMUL(LDK(KP555570233), Tcv));
2628 TcL = VFMA(LDK(KP831469612), Tcv, VMUL(LDK(KP555570233), Tcy));
2629 }
2630 {
2631 V Tcl, TcA, TcN, TcO;
2632 Tcl = VADD(Tcd, Tck);
2633 TcA = VADD(Tcs, Tcz);
2634 Tff = VSUB(Tcl, TcA);
2635 STM4(&(ro[42]), Tff, ovs, &(ro[0]));
2636 Tfg = VADD(Tcl, TcA);
2637 STM4(&(ro[10]), Tfg, ovs, &(ro[0]));
2638 TcN = VADD(TcD, TcG);
2639 TcO = VADD(TcK, TcL);
2640 Tfh = VSUB(TcN, TcO);
2641 STM4(&(io[42]), Tfh, ovs, &(io[0]));
2642 Tfi = VADD(TcN, TcO);
2643 STM4(&(io[10]), Tfi, ovs, &(io[0]));
2644 }
2645 {
2646 V TcH, TcI, TcJ, TcM;
2647 TcH = VSUB(TcD, TcG);
2648 TcI = VSUB(Tcz, Tcs);
2649 Tfj = VSUB(TcH, TcI);
2650 STM4(&(io[58]), Tfj, ovs, &(io[0]));
2651 Tfk = VADD(TcH, TcI);
2652 STM4(&(io[26]), Tfk, ovs, &(io[0]));
2653 TcJ = VSUB(Tcd, Tck);
2654 TcM = VSUB(TcK, TcL);
2655 Tfl = VSUB(TcJ, TcM);
2656 STM4(&(ro[58]), Tfl, ovs, &(ro[0]));
2657 Tfm = VADD(TcJ, TcM);
2658 STM4(&(ro[26]), Tfm, ovs, &(ro[0]));
2659 }
2660 {
2661 V TcR, TcY, Td7, Td8;
2662 TcR = VADD(TcP, TcQ);
2663 TcY = VADD(TcU, TcX);
2664 Tfn = VSUB(TcR, TcY);
2665 STM4(&(ro[34]), Tfn, ovs, &(ro[0]));
2666 Tfo = VADD(TcR, TcY);
2667 STM4(&(ro[2]), Tfo, ovs, &(ro[0]));
2668 Td7 = VADD(TcZ, Td0);
2669 Td8 = VADD(Td4, Td5);
2670 Tfp = VSUB(Td7, Td8);
2671 STM4(&(io[34]), Tfp, ovs, &(io[0]));
2672 Tfq = VADD(Td7, Td8);
2673 STM4(&(io[2]), Tfq, ovs, &(io[0]));
2674 }
2675 {
2676 V Td1, Td2, Td3, Td6;
2677 Td1 = VSUB(TcZ, Td0);
2678 Td2 = VSUB(TcX, TcU);
2679 Tfr = VSUB(Td1, Td2);
2680 STM4(&(io[50]), Tfr, ovs, &(io[0]));
2681 Tfs = VADD(Td1, Td2);
2682 STM4(&(io[18]), Tfs, ovs, &(io[0]));
2683 Td3 = VSUB(TcP, TcQ);
2684 Td6 = VSUB(Td4, Td5);
2685 Tft = VSUB(Td3, Td6);
2686 STM4(&(ro[50]), Tft, ovs, &(ro[0]));
2687 Tfu = VADD(Td3, Td6);
2688 STM4(&(ro[18]), Tfu, ovs, &(ro[0]));
2689 }
2690 }
2691 {
2692 V Tfv, Tfw, Tfx, Tfy, Tfz, TfA, TfB, TfC, TfD, TfE, TfF, TfG, TfH, TfI, TfJ;
2693 V TfK, TfL, TfM, TfN, TfO, TfP, TfQ, TfR, TfS, TfT, TfU, TfV, TfW, TfX, TfY;
2694 V TfZ, Tg0;
2695 {
2696 V Tap, TbR, TbF, Tc1, TaE, Tc2, TbZ, Tc7, Tb6, TbM, TbI, TbS, TbW, Tc6, Tbx;
2697 V TbN, Tao, TbE;
2698 Tao = VMUL(LDK(KP707106781), VSUB(Tak, Tan));
2699 Tap = VSUB(Tah, Tao);
2700 TbR = VADD(Tah, Tao);
2701 TbE = VMUL(LDK(KP707106781), VSUB(TbC, TbD));
2702 TbF = VSUB(TbB, TbE);
2703 Tc1 = VADD(TbB, TbE);
2704 {
2705 V Taw, TaD, TbX, TbY;
2706 Taw = VFNMS(LDK(KP923879532), Tav, VMUL(LDK(KP382683432), Tas));
2707 TaD = VFMA(LDK(KP382683432), Taz, VMUL(LDK(KP923879532), TaC));
2708 TaE = VSUB(Taw, TaD);
2709 Tc2 = VADD(Taw, TaD);
2710 TbX = VADD(Tbb, Tbm);
2711 TbY = VADD(Tbs, Tbv);
2712 TbZ = VFNMS(LDK(KP555570233), TbY, VMUL(LDK(KP831469612), TbX));
2713 Tc7 = VFMA(LDK(KP831469612), TbY, VMUL(LDK(KP555570233), TbX));
2714 }
2715 {
2716 V TaW, Tb5, TbG, TbH;
2717 TaW = VSUB(TaK, TaV);
2718 Tb5 = VSUB(Tb1, Tb4);
2719 Tb6 = VFMA(LDK(KP980785280), TaW, VMUL(LDK(KP195090322), Tb5));
2720 TbM = VFNMS(LDK(KP980785280), Tb5, VMUL(LDK(KP195090322), TaW));
2721 TbG = VFNMS(LDK(KP923879532), Taz, VMUL(LDK(KP382683432), TaC));
2722 TbH = VFMA(LDK(KP923879532), Tas, VMUL(LDK(KP382683432), Tav));
2723 TbI = VSUB(TbG, TbH);
2724 TbS = VADD(TbH, TbG);
2725 }
2726 {
2727 V TbU, TbV, Tbn, Tbw;
2728 TbU = VADD(TaK, TaV);
2729 TbV = VADD(Tb1, Tb4);
2730 TbW = VFMA(LDK(KP555570233), TbU, VMUL(LDK(KP831469612), TbV));
2731 Tc6 = VFNMS(LDK(KP555570233), TbV, VMUL(LDK(KP831469612), TbU));
2732 Tbn = VSUB(Tbb, Tbm);
2733 Tbw = VSUB(Tbs, Tbv);
2734 Tbx = VFNMS(LDK(KP980785280), Tbw, VMUL(LDK(KP195090322), Tbn));
2735 TbN = VFMA(LDK(KP195090322), Tbw, VMUL(LDK(KP980785280), Tbn));
2736 }
2737 {
2738 V TaF, Tby, TbP, TbQ;
2739 TaF = VADD(Tap, TaE);
2740 Tby = VADD(Tb6, Tbx);
2741 Tfv = VSUB(TaF, Tby);
2742 STM4(&(ro[46]), Tfv, ovs, &(ro[0]));
2743 Tfw = VADD(TaF, Tby);
2744 STM4(&(ro[14]), Tfw, ovs, &(ro[0]));
2745 TbP = VADD(TbF, TbI);
2746 TbQ = VADD(TbM, TbN);
2747 Tfx = VSUB(TbP, TbQ);
2748 STM4(&(io[46]), Tfx, ovs, &(io[0]));
2749 Tfy = VADD(TbP, TbQ);
2750 STM4(&(io[14]), Tfy, ovs, &(io[0]));
2751 }
2752 {
2753 V TbJ, TbK, TbL, TbO;
2754 TbJ = VSUB(TbF, TbI);
2755 TbK = VSUB(Tbx, Tb6);
2756 Tfz = VSUB(TbJ, TbK);
2757 STM4(&(io[62]), Tfz, ovs, &(io[0]));
2758 TfA = VADD(TbJ, TbK);
2759 STM4(&(io[30]), TfA, ovs, &(io[0]));
2760 TbL = VSUB(Tap, TaE);
2761 TbO = VSUB(TbM, TbN);
2762 TfB = VSUB(TbL, TbO);
2763 STM4(&(ro[62]), TfB, ovs, &(ro[0]));
2764 TfC = VADD(TbL, TbO);
2765 STM4(&(ro[30]), TfC, ovs, &(ro[0]));
2766 }
2767 {
2768 V TbT, Tc0, Tc9, Tca;
2769 TbT = VADD(TbR, TbS);
2770 Tc0 = VADD(TbW, TbZ);
2771 TfD = VSUB(TbT, Tc0);
2772 STM4(&(ro[38]), TfD, ovs, &(ro[0]));
2773 TfE = VADD(TbT, Tc0);
2774 STM4(&(ro[6]), TfE, ovs, &(ro[0]));
2775 Tc9 = VADD(Tc1, Tc2);
2776 Tca = VADD(Tc6, Tc7);
2777 TfF = VSUB(Tc9, Tca);
2778 STM4(&(io[38]), TfF, ovs, &(io[0]));
2779 TfG = VADD(Tc9, Tca);
2780 STM4(&(io[6]), TfG, ovs, &(io[0]));
2781 }
2782 {
2783 V Tc3, Tc4, Tc5, Tc8;
2784 Tc3 = VSUB(Tc1, Tc2);
2785 Tc4 = VSUB(TbZ, TbW);
2786 TfH = VSUB(Tc3, Tc4);
2787 STM4(&(io[54]), TfH, ovs, &(io[0]));
2788 TfI = VADD(Tc3, Tc4);
2789 STM4(&(io[22]), TfI, ovs, &(io[0]));
2790 Tc5 = VSUB(TbR, TbS);
2791 Tc8 = VSUB(Tc6, Tc7);
2792 TfJ = VSUB(Tc5, Tc8);
2793 STM4(&(ro[54]), TfJ, ovs, &(ro[0]));
2794 TfK = VADD(Tc5, Tc8);
2795 STM4(&(ro[22]), TfK, ovs, &(ro[0]));
2796 }
2797 }
2798 {
2799 V T6F, T7h, T7m, T7w, T7p, T7x, T6M, T7s, T6U, T7c, T75, T7r, T78, T7i, T71;
2800 V T7d;
2801 {
2802 V T6D, T6E, T7k, T7l;
2803 T6D = VADD(T37, T3e);
2804 T6E = VADD(T65, T64);
2805 T6F = VSUB(T6D, T6E);
2806 T7h = VADD(T6D, T6E);
2807 T7k = VADD(T6O, T6P);
2808 T7l = VADD(T6R, T6S);
2809 T7m = VFMA(LDK(KP956940335), T7k, VMUL(LDK(KP290284677), T7l));
2810 T7w = VFNMS(LDK(KP290284677), T7k, VMUL(LDK(KP956940335), T7l));
2811 }
2812 {
2813 V T7n, T7o, T6I, T6L;
2814 T7n = VADD(T6V, T6W);
2815 T7o = VADD(T6Y, T6Z);
2816 T7p = VFNMS(LDK(KP290284677), T7o, VMUL(LDK(KP956940335), T7n));
2817 T7x = VFMA(LDK(KP290284677), T7n, VMUL(LDK(KP956940335), T7o));
2818 T6I = VFNMS(LDK(KP555570233), T6H, VMUL(LDK(KP831469612), T6G));
2819 T6L = VFMA(LDK(KP831469612), T6J, VMUL(LDK(KP555570233), T6K));
2820 T6M = VSUB(T6I, T6L);
2821 T7s = VADD(T6I, T6L);
2822 }
2823 {
2824 V T6Q, T6T, T73, T74;
2825 T6Q = VSUB(T6O, T6P);
2826 T6T = VSUB(T6R, T6S);
2827 T6U = VFMA(LDK(KP471396736), T6Q, VMUL(LDK(KP881921264), T6T));
2828 T7c = VFNMS(LDK(KP881921264), T6Q, VMUL(LDK(KP471396736), T6T));
2829 T73 = VADD(T5Z, T62);
2830 T74 = VADD(T3m, T3t);
2831 T75 = VSUB(T73, T74);
2832 T7r = VADD(T73, T74);
2833 }
2834 {
2835 V T76, T77, T6X, T70;
2836 T76 = VFNMS(LDK(KP555570233), T6J, VMUL(LDK(KP831469612), T6K));
2837 T77 = VFMA(LDK(KP555570233), T6G, VMUL(LDK(KP831469612), T6H));
2838 T78 = VSUB(T76, T77);
2839 T7i = VADD(T77, T76);
2840 T6X = VSUB(T6V, T6W);
2841 T70 = VSUB(T6Y, T6Z);
2842 T71 = VFNMS(LDK(KP881921264), T70, VMUL(LDK(KP471396736), T6X));
2843 T7d = VFMA(LDK(KP881921264), T6X, VMUL(LDK(KP471396736), T70));
2844 }
2845 {
2846 V T6N, T72, T7f, T7g;
2847 T6N = VADD(T6F, T6M);
2848 T72 = VADD(T6U, T71);
2849 TfL = VSUB(T6N, T72);
2850 STM4(&(ro[43]), TfL, ovs, &(ro[1]));
2851 TfM = VADD(T6N, T72);
2852 STM4(&(ro[11]), TfM, ovs, &(ro[1]));
2853 T7f = VADD(T75, T78);
2854 T7g = VADD(T7c, T7d);
2855 TfN = VSUB(T7f, T7g);
2856 STM4(&(io[43]), TfN, ovs, &(io[1]));
2857 TfO = VADD(T7f, T7g);
2858 STM4(&(io[11]), TfO, ovs, &(io[1]));
2859 }
2860 {
2861 V T79, T7a, T7b, T7e;
2862 T79 = VSUB(T75, T78);
2863 T7a = VSUB(T71, T6U);
2864 TfP = VSUB(T79, T7a);
2865 STM4(&(io[59]), TfP, ovs, &(io[1]));
2866 TfQ = VADD(T79, T7a);
2867 STM4(&(io[27]), TfQ, ovs, &(io[1]));
2868 T7b = VSUB(T6F, T6M);
2869 T7e = VSUB(T7c, T7d);
2870 TfR = VSUB(T7b, T7e);
2871 STM4(&(ro[59]), TfR, ovs, &(ro[1]));
2872 TfS = VADD(T7b, T7e);
2873 STM4(&(ro[27]), TfS, ovs, &(ro[1]));
2874 }
2875 {
2876 V T7j, T7q, T7z, T7A;
2877 T7j = VADD(T7h, T7i);
2878 T7q = VADD(T7m, T7p);
2879 TfT = VSUB(T7j, T7q);
2880 STM4(&(ro[35]), TfT, ovs, &(ro[1]));
2881 TfU = VADD(T7j, T7q);
2882 STM4(&(ro[3]), TfU, ovs, &(ro[1]));
2883 T7z = VADD(T7r, T7s);
2884 T7A = VADD(T7w, T7x);
2885 TfV = VSUB(T7z, T7A);
2886 STM4(&(io[35]), TfV, ovs, &(io[1]));
2887 TfW = VADD(T7z, T7A);
2888 STM4(&(io[3]), TfW, ovs, &(io[1]));
2889 }
2890 {
2891 V T7t, T7u, T7v, T7y;
2892 T7t = VSUB(T7r, T7s);
2893 T7u = VSUB(T7p, T7m);
2894 TfX = VSUB(T7t, T7u);
2895 STM4(&(io[51]), TfX, ovs, &(io[1]));
2896 TfY = VADD(T7t, T7u);
2897 STM4(&(io[19]), TfY, ovs, &(io[1]));
2898 T7v = VSUB(T7h, T7i);
2899 T7y = VSUB(T7w, T7x);
2900 TfZ = VSUB(T7v, T7y);
2901 STM4(&(ro[51]), TfZ, ovs, &(ro[1]));
2902 Tg0 = VADD(T7v, T7y);
2903 STM4(&(ro[19]), Tg0, ovs, &(ro[1]));
2904 }
2905 }
2906 {
2907 V T9j, T9V, Ta0, Taa, Ta3, Tab, T9q, Ta6, T9y, T9Q, T9J, Ta5, T9M, T9W, T9F;
2908 V T9R;
2909 {
2910 V T9h, T9i, T9Y, T9Z;
2911 T9h = VADD(T7B, T7C);
2912 T9i = VADD(T8J, T8I);
2913 T9j = VSUB(T9h, T9i);
2914 T9V = VADD(T9h, T9i);
2915 T9Y = VADD(T9s, T9t);
2916 T9Z = VADD(T9v, T9w);
2917 Ta0 = VFMA(LDK(KP995184726), T9Y, VMUL(LDK(KP098017140), T9Z));
2918 Taa = VFNMS(LDK(KP098017140), T9Y, VMUL(LDK(KP995184726), T9Z));
2919 }
2920 {
2921 V Ta1, Ta2, T9m, T9p;
2922 Ta1 = VADD(T9z, T9A);
2923 Ta2 = VADD(T9C, T9D);
2924 Ta3 = VFNMS(LDK(KP098017140), Ta2, VMUL(LDK(KP995184726), Ta1));
2925 Tab = VFMA(LDK(KP098017140), Ta1, VMUL(LDK(KP995184726), Ta2));
2926 T9m = VFNMS(LDK(KP195090322), T9l, VMUL(LDK(KP980785280), T9k));
2927 T9p = VFMA(LDK(KP195090322), T9n, VMUL(LDK(KP980785280), T9o));
2928 T9q = VSUB(T9m, T9p);
2929 Ta6 = VADD(T9m, T9p);
2930 }
2931 {
2932 V T9u, T9x, T9H, T9I;
2933 T9u = VSUB(T9s, T9t);
2934 T9x = VSUB(T9v, T9w);
2935 T9y = VFMA(LDK(KP634393284), T9u, VMUL(LDK(KP773010453), T9x));
2936 T9Q = VFNMS(LDK(KP773010453), T9u, VMUL(LDK(KP634393284), T9x));
2937 T9H = VADD(T8F, T8G);
2938 T9I = VADD(T7G, T7J);
2939 T9J = VSUB(T9H, T9I);
2940 Ta5 = VADD(T9H, T9I);
2941 }
2942 {
2943 V T9K, T9L, T9B, T9E;
2944 T9K = VFNMS(LDK(KP195090322), T9o, VMUL(LDK(KP980785280), T9n));
2945 T9L = VFMA(LDK(KP980785280), T9l, VMUL(LDK(KP195090322), T9k));
2946 T9M = VSUB(T9K, T9L);
2947 T9W = VADD(T9L, T9K);
2948 T9B = VSUB(T9z, T9A);
2949 T9E = VSUB(T9C, T9D);
2950 T9F = VFNMS(LDK(KP773010453), T9E, VMUL(LDK(KP634393284), T9B));
2951 T9R = VFMA(LDK(KP773010453), T9B, VMUL(LDK(KP634393284), T9E));
2952 }
2953 {
2954 V T9r, T9G, Tg1, Tg2;
2955 T9r = VADD(T9j, T9q);
2956 T9G = VADD(T9y, T9F);
2957 Tg1 = VSUB(T9r, T9G);
2958 STM4(&(ro[41]), Tg1, ovs, &(ro[1]));
2959 STN4(&(ro[40]), TeR, Tg1, Tff, TfL, ovs);
2960 Tg2 = VADD(T9r, T9G);
2961 STM4(&(ro[9]), Tg2, ovs, &(ro[1]));
2962 STN4(&(ro[8]), TeS, Tg2, Tfg, TfM, ovs);
2963 }
2964 {
2965 V T9T, T9U, Tg3, Tg4;
2966 T9T = VADD(T9J, T9M);
2967 T9U = VADD(T9Q, T9R);
2968 Tg3 = VSUB(T9T, T9U);
2969 STM4(&(io[41]), Tg3, ovs, &(io[1]));
2970 STN4(&(io[40]), TeT, Tg3, Tfh, TfN, ovs);
2971 Tg4 = VADD(T9T, T9U);
2972 STM4(&(io[9]), Tg4, ovs, &(io[1]));
2973 STN4(&(io[8]), TeU, Tg4, Tfi, TfO, ovs);
2974 }
2975 {
2976 V T9N, T9O, Tg5, Tg6;
2977 T9N = VSUB(T9J, T9M);
2978 T9O = VSUB(T9F, T9y);
2979 Tg5 = VSUB(T9N, T9O);
2980 STM4(&(io[57]), Tg5, ovs, &(io[1]));
2981 STN4(&(io[56]), TeV, Tg5, Tfj, TfP, ovs);
2982 Tg6 = VADD(T9N, T9O);
2983 STM4(&(io[25]), Tg6, ovs, &(io[1]));
2984 STN4(&(io[24]), TeW, Tg6, Tfk, TfQ, ovs);
2985 }
2986 {
2987 V T9P, T9S, Tg7, Tg8;
2988 T9P = VSUB(T9j, T9q);
2989 T9S = VSUB(T9Q, T9R);
2990 Tg7 = VSUB(T9P, T9S);
2991 STM4(&(ro[57]), Tg7, ovs, &(ro[1]));
2992 STN4(&(ro[56]), TeX, Tg7, Tfl, TfR, ovs);
2993 Tg8 = VADD(T9P, T9S);
2994 STM4(&(ro[25]), Tg8, ovs, &(ro[1]));
2995 STN4(&(ro[24]), TeY, Tg8, Tfm, TfS, ovs);
2996 }
2997 {
2998 V T9X, Ta4, Tg9, Tga;
2999 T9X = VADD(T9V, T9W);
3000 Ta4 = VADD(Ta0, Ta3);
3001 Tg9 = VSUB(T9X, Ta4);
3002 STM4(&(ro[33]), Tg9, ovs, &(ro[1]));
3003 STN4(&(ro[32]), TeJ, Tg9, Tfn, TfT, ovs);
3004 Tga = VADD(T9X, Ta4);
3005 STM4(&(ro[1]), Tga, ovs, &(ro[1]));
3006 STN4(&(ro[0]), TeL, Tga, Tfo, TfU, ovs);
3007 }
3008 {
3009 V Tad, Tae, Tgb, Tgc;
3010 Tad = VADD(Ta5, Ta6);
3011 Tae = VADD(Taa, Tab);
3012 Tgb = VSUB(Tad, Tae);
3013 STM4(&(io[33]), Tgb, ovs, &(io[1]));
3014 STN4(&(io[32]), TeK, Tgb, Tfp, TfV, ovs);
3015 Tgc = VADD(Tad, Tae);
3016 STM4(&(io[1]), Tgc, ovs, &(io[1]));
3017 STN4(&(io[0]), TeM, Tgc, Tfq, TfW, ovs);
3018 }
3019 {
3020 V Ta7, Ta8, Tgd, Tge;
3021 Ta7 = VSUB(Ta5, Ta6);
3022 Ta8 = VSUB(Ta3, Ta0);
3023 Tgd = VSUB(Ta7, Ta8);
3024 STM4(&(io[49]), Tgd, ovs, &(io[1]));
3025 STN4(&(io[48]), TeP, Tgd, Tfr, TfX, ovs);
3026 Tge = VADD(Ta7, Ta8);
3027 STM4(&(io[17]), Tge, ovs, &(io[1]));
3028 STN4(&(io[16]), TeN, Tge, Tfs, TfY, ovs);
3029 }
3030 {
3031 V Ta9, Tac, Tgf, Tgg;
3032 Ta9 = VSUB(T9V, T9W);
3033 Tac = VSUB(Taa, Tab);
3034 Tgf = VSUB(Ta9, Tac);
3035 STM4(&(ro[49]), Tgf, ovs, &(ro[1]));
3036 STN4(&(ro[48]), TeQ, Tgf, Tft, TfZ, ovs);
3037 Tgg = VADD(Ta9, Tac);
3038 STM4(&(ro[17]), Tgg, ovs, &(ro[1]));
3039 STN4(&(ro[16]), TeO, Tgg, Tfu, Tg0, ovs);
3040 }
3041 }
3042 {
3043 V Tgh, Tgi, Tgj, Tgk, Tgl, Tgm, Tgn, Tgo, Tgp, Tgq, Tgr, Tgs, Tgt, Tgu, Tgv;
3044 V Tgw;
3045 {
3046 V T3v, T6j, T6o, T6y, T6r, T6z, T48, T6u, T52, T6e, T67, T6t, T6a, T6k, T5V;
3047 V T6f;
3048 {
3049 V T3f, T3u, T6m, T6n;
3050 T3f = VSUB(T37, T3e);
3051 T3u = VSUB(T3m, T3t);
3052 T3v = VSUB(T3f, T3u);
3053 T6j = VADD(T3f, T3u);
3054 T6m = VADD(T4q, T4N);
3055 T6n = VADD(T4X, T50);
3056 T6o = VFMA(LDK(KP634393284), T6m, VMUL(LDK(KP773010453), T6n));
3057 T6y = VFNMS(LDK(KP634393284), T6n, VMUL(LDK(KP773010453), T6m));
3058 }
3059 {
3060 V T6p, T6q, T3O, T47;
3061 T6p = VADD(T5j, T5G);
3062 T6q = VADD(T5Q, T5T);
3063 T6r = VFNMS(LDK(KP634393284), T6q, VMUL(LDK(KP773010453), T6p));
3064 T6z = VFMA(LDK(KP773010453), T6q, VMUL(LDK(KP634393284), T6p));
3065 T3O = VFNMS(LDK(KP980785280), T3N, VMUL(LDK(KP195090322), T3G));
3066 T47 = VFMA(LDK(KP195090322), T3Z, VMUL(LDK(KP980785280), T46));
3067 T48 = VSUB(T3O, T47);
3068 T6u = VADD(T3O, T47);
3069 }
3070 {
3071 V T4O, T51, T63, T66;
3072 T4O = VSUB(T4q, T4N);
3073 T51 = VSUB(T4X, T50);
3074 T52 = VFMA(LDK(KP995184726), T4O, VMUL(LDK(KP098017140), T51));
3075 T6e = VFNMS(LDK(KP995184726), T51, VMUL(LDK(KP098017140), T4O));
3076 T63 = VSUB(T5Z, T62);
3077 T66 = VSUB(T64, T65);
3078 T67 = VSUB(T63, T66);
3079 T6t = VADD(T63, T66);
3080 }
3081 {
3082 V T68, T69, T5H, T5U;
3083 T68 = VFNMS(LDK(KP980785280), T3Z, VMUL(LDK(KP195090322), T46));
3084 T69 = VFMA(LDK(KP980785280), T3G, VMUL(LDK(KP195090322), T3N));
3085 T6a = VSUB(T68, T69);
3086 T6k = VADD(T69, T68);
3087 T5H = VSUB(T5j, T5G);
3088 T5U = VSUB(T5Q, T5T);
3089 T5V = VFNMS(LDK(KP995184726), T5U, VMUL(LDK(KP098017140), T5H));
3090 T6f = VFMA(LDK(KP098017140), T5U, VMUL(LDK(KP995184726), T5H));
3091 }
3092 {
3093 V T49, T5W, T6h, T6i;
3094 T49 = VADD(T3v, T48);
3095 T5W = VADD(T52, T5V);
3096 Tgh = VSUB(T49, T5W);
3097 STM4(&(ro[47]), Tgh, ovs, &(ro[1]));
3098 Tgi = VADD(T49, T5W);
3099 STM4(&(ro[15]), Tgi, ovs, &(ro[1]));
3100 T6h = VADD(T67, T6a);
3101 T6i = VADD(T6e, T6f);
3102 Tgj = VSUB(T6h, T6i);
3103 STM4(&(io[47]), Tgj, ovs, &(io[1]));
3104 Tgk = VADD(T6h, T6i);
3105 STM4(&(io[15]), Tgk, ovs, &(io[1]));
3106 }
3107 {
3108 V T6b, T6c, T6d, T6g;
3109 T6b = VSUB(T67, T6a);
3110 T6c = VSUB(T5V, T52);
3111 Tgl = VSUB(T6b, T6c);
3112 STM4(&(io[63]), Tgl, ovs, &(io[1]));
3113 Tgm = VADD(T6b, T6c);
3114 STM4(&(io[31]), Tgm, ovs, &(io[1]));
3115 T6d = VSUB(T3v, T48);
3116 T6g = VSUB(T6e, T6f);
3117 Tgn = VSUB(T6d, T6g);
3118 STM4(&(ro[63]), Tgn, ovs, &(ro[1]));
3119 Tgo = VADD(T6d, T6g);
3120 STM4(&(ro[31]), Tgo, ovs, &(ro[1]));
3121 }
3122 {
3123 V T6l, T6s, T6B, T6C;
3124 T6l = VADD(T6j, T6k);
3125 T6s = VADD(T6o, T6r);
3126 Tgp = VSUB(T6l, T6s);
3127 STM4(&(ro[39]), Tgp, ovs, &(ro[1]));
3128 Tgq = VADD(T6l, T6s);
3129 STM4(&(ro[7]), Tgq, ovs, &(ro[1]));
3130 T6B = VADD(T6t, T6u);
3131 T6C = VADD(T6y, T6z);
3132 Tgr = VSUB(T6B, T6C);
3133 STM4(&(io[39]), Tgr, ovs, &(io[1]));
3134 Tgs = VADD(T6B, T6C);
3135 STM4(&(io[7]), Tgs, ovs, &(io[1]));
3136 }
3137 {
3138 V T6v, T6w, T6x, T6A;
3139 T6v = VSUB(T6t, T6u);
3140 T6w = VSUB(T6r, T6o);
3141 Tgt = VSUB(T6v, T6w);
3142 STM4(&(io[55]), Tgt, ovs, &(io[1]));
3143 Tgu = VADD(T6v, T6w);
3144 STM4(&(io[23]), Tgu, ovs, &(io[1]));
3145 T6x = VSUB(T6j, T6k);
3146 T6A = VSUB(T6y, T6z);
3147 Tgv = VSUB(T6x, T6A);
3148 STM4(&(ro[55]), Tgv, ovs, &(ro[1]));
3149 Tgw = VADD(T6x, T6A);
3150 STM4(&(ro[23]), Tgw, ovs, &(ro[1]));
3151 }
3152 }
3153 {
3154 V T7L, T8X, T92, T9c, T95, T9d, T80, T98, T8k, T8S, T8L, T97, T8O, T8Y, T8D;
3155 V T8T;
3156 {
3157 V T7D, T7K, T90, T91;
3158 T7D = VSUB(T7B, T7C);
3159 T7K = VSUB(T7G, T7J);
3160 T7L = VSUB(T7D, T7K);
3161 T8X = VADD(T7D, T7K);
3162 T90 = VADD(T84, T8b);
3163 T91 = VADD(T8f, T8i);
3164 T92 = VFMA(LDK(KP471396736), T90, VMUL(LDK(KP881921264), T91));
3165 T9c = VFNMS(LDK(KP471396736), T91, VMUL(LDK(KP881921264), T90));
3166 }
3167 {
3168 V T93, T94, T7S, T7Z;
3169 T93 = VADD(T8n, T8u);
3170 T94 = VADD(T8y, T8B);
3171 T95 = VFNMS(LDK(KP471396736), T94, VMUL(LDK(KP881921264), T93));
3172 T9d = VFMA(LDK(KP881921264), T94, VMUL(LDK(KP471396736), T93));
3173 T7S = VFNMS(LDK(KP831469612), T7R, VMUL(LDK(KP555570233), T7O));
3174 T7Z = VFMA(LDK(KP831469612), T7V, VMUL(LDK(KP555570233), T7Y));
3175 T80 = VSUB(T7S, T7Z);
3176 T98 = VADD(T7S, T7Z);
3177 }
3178 {
3179 V T8c, T8j, T8H, T8K;
3180 T8c = VSUB(T84, T8b);
3181 T8j = VSUB(T8f, T8i);
3182 T8k = VFMA(LDK(KP956940335), T8c, VMUL(LDK(KP290284677), T8j));
3183 T8S = VFNMS(LDK(KP956940335), T8j, VMUL(LDK(KP290284677), T8c));
3184 T8H = VSUB(T8F, T8G);
3185 T8K = VSUB(T8I, T8J);
3186 T8L = VSUB(T8H, T8K);
3187 T97 = VADD(T8H, T8K);
3188 }
3189 {
3190 V T8M, T8N, T8v, T8C;
3191 T8M = VFNMS(LDK(KP831469612), T7Y, VMUL(LDK(KP555570233), T7V));
3192 T8N = VFMA(LDK(KP555570233), T7R, VMUL(LDK(KP831469612), T7O));
3193 T8O = VSUB(T8M, T8N);
3194 T8Y = VADD(T8N, T8M);
3195 T8v = VSUB(T8n, T8u);
3196 T8C = VSUB(T8y, T8B);
3197 T8D = VFNMS(LDK(KP956940335), T8C, VMUL(LDK(KP290284677), T8v));
3198 T8T = VFMA(LDK(KP290284677), T8C, VMUL(LDK(KP956940335), T8v));
3199 }
3200 {
3201 V T81, T8E, Tgx, Tgy;
3202 T81 = VADD(T7L, T80);
3203 T8E = VADD(T8k, T8D);
3204 Tgx = VSUB(T81, T8E);
3205 STM4(&(ro[45]), Tgx, ovs, &(ro[1]));
3206 STN4(&(ro[44]), TeZ, Tgx, Tfv, Tgh, ovs);
3207 Tgy = VADD(T81, T8E);
3208 STM4(&(ro[13]), Tgy, ovs, &(ro[1]));
3209 STN4(&(ro[12]), Tf0, Tgy, Tfw, Tgi, ovs);
3210 }
3211 {
3212 V T8V, T8W, Tgz, TgA;
3213 T8V = VADD(T8L, T8O);
3214 T8W = VADD(T8S, T8T);
3215 Tgz = VSUB(T8V, T8W);
3216 STM4(&(io[45]), Tgz, ovs, &(io[1]));
3217 STN4(&(io[44]), Tf1, Tgz, Tfx, Tgj, ovs);
3218 TgA = VADD(T8V, T8W);
3219 STM4(&(io[13]), TgA, ovs, &(io[1]));
3220 STN4(&(io[12]), Tf2, TgA, Tfy, Tgk, ovs);
3221 }
3222 {
3223 V T8P, T8Q, TgB, TgC;
3224 T8P = VSUB(T8L, T8O);
3225 T8Q = VSUB(T8D, T8k);
3226 TgB = VSUB(T8P, T8Q);
3227 STM4(&(io[61]), TgB, ovs, &(io[1]));
3228 STN4(&(io[60]), Tf3, TgB, Tfz, Tgl, ovs);
3229 TgC = VADD(T8P, T8Q);
3230 STM4(&(io[29]), TgC, ovs, &(io[1]));
3231 STN4(&(io[28]), Tf4, TgC, TfA, Tgm, ovs);
3232 }
3233 {
3234 V T8R, T8U, TgD, TgE;
3235 T8R = VSUB(T7L, T80);
3236 T8U = VSUB(T8S, T8T);
3237 TgD = VSUB(T8R, T8U);
3238 STM4(&(ro[61]), TgD, ovs, &(ro[1]));
3239 STN4(&(ro[60]), Tf5, TgD, TfB, Tgn, ovs);
3240 TgE = VADD(T8R, T8U);
3241 STM4(&(ro[29]), TgE, ovs, &(ro[1]));
3242 STN4(&(ro[28]), Tf6, TgE, TfC, Tgo, ovs);
3243 }
3244 {
3245 V T8Z, T96, TgF, TgG;
3246 T8Z = VADD(T8X, T8Y);
3247 T96 = VADD(T92, T95);
3248 TgF = VSUB(T8Z, T96);
3249 STM4(&(ro[37]), TgF, ovs, &(ro[1]));
3250 STN4(&(ro[36]), Tf7, TgF, TfD, Tgp, ovs);
3251 TgG = VADD(T8Z, T96);
3252 STM4(&(ro[5]), TgG, ovs, &(ro[1]));
3253 STN4(&(ro[4]), Tf8, TgG, TfE, Tgq, ovs);
3254 }
3255 {
3256 V T9f, T9g, TgH, TgI;
3257 T9f = VADD(T97, T98);
3258 T9g = VADD(T9c, T9d);
3259 TgH = VSUB(T9f, T9g);
3260 STM4(&(io[37]), TgH, ovs, &(io[1]));
3261 STN4(&(io[36]), Tf9, TgH, TfF, Tgr, ovs);
3262 TgI = VADD(T9f, T9g);
3263 STM4(&(io[5]), TgI, ovs, &(io[1]));
3264 STN4(&(io[4]), Tfa, TgI, TfG, Tgs, ovs);
3265 }
3266 {
3267 V T99, T9a, TgJ, TgK;
3268 T99 = VSUB(T97, T98);
3269 T9a = VSUB(T95, T92);
3270 TgJ = VSUB(T99, T9a);
3271 STM4(&(io[53]), TgJ, ovs, &(io[1]));
3272 STN4(&(io[52]), Tfb, TgJ, TfH, Tgt, ovs);
3273 TgK = VADD(T99, T9a);
3274 STM4(&(io[21]), TgK, ovs, &(io[1]));
3275 STN4(&(io[20]), Tfc, TgK, TfI, Tgu, ovs);
3276 }
3277 {
3278 V T9b, T9e, TgL, TgM;
3279 T9b = VSUB(T8X, T8Y);
3280 T9e = VSUB(T9c, T9d);
3281 TgL = VSUB(T9b, T9e);
3282 STM4(&(ro[53]), TgL, ovs, &(ro[1]));
3283 STN4(&(ro[52]), Tfd, TgL, TfJ, Tgv, ovs);
3284 TgM = VADD(T9b, T9e);
3285 STM4(&(ro[21]), TgM, ovs, &(ro[1]));
3286 STN4(&(ro[20]), Tfe, TgM, TfK, Tgw, ovs);
3287 }
3288 }
3289 }
3290 }
3291 }
3292 }
3293 }
3294 VLEAVE();
3295 }
3296
3297 static const kdft_desc desc = { 64, XSIMD_STRING("n2sv_64"), {808, 144, 104, 0}, &GENUS, 0, 1, 0, 0 };
3298
3299 void XSIMD(codelet_n2sv_64) (planner *p) {
3300 X(kdft_register) (p, n2sv_64, &desc);
3301 }
3302
3303 #endif /* HAVE_FMA */