comparison src/fftw-3.3.8/dft/simd/common/n2sv_64.c @ 167:bd3cc4d1df30

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