~ubuntu-branches/ubuntu/maverick/blender/maverick

« back to all changes in this revision

Viewing changes to extern/fftw/rdft/codelets/r2hc/r2hc_128.c

  • Committer: Bazaar Package Importer
  • Author(s): Khashayar Naderehvandi, Khashayar Naderehvandi, Alessio Treglia
  • Date: 2009-01-22 16:53:59 UTC
  • mfrom: (14.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20090122165359-v0996tn7fbit64ni
Tags: 2.48a+dfsg-1ubuntu1
[ Khashayar Naderehvandi ]
* Merge from debian experimental (LP: #320045), Ubuntu remaining changes:
  - Add patch correcting header file locations.
  - Add libvorbis-dev and libgsm1-dev to Build-Depends.
  - Use avcodec_decode_audio2() in source/blender/src/hddaudio.c

[ Alessio Treglia ]
* Add missing previous changelog entries.

Show diffs side-by-side

added added

removed removed

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