cannam@167: /* cannam@167: * Copyright (c) 2003, 2007-14 Matteo Frigo cannam@167: * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology cannam@167: * cannam@167: * This program is free software; you can redistribute it and/or modify cannam@167: * it under the terms of the GNU General Public License as published by cannam@167: * the Free Software Foundation; either version 2 of the License, or cannam@167: * (at your option) any later version. cannam@167: * cannam@167: * This program is distributed in the hope that it will be useful, cannam@167: * but WITHOUT ANY WARRANTY; without even the implied warranty of cannam@167: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the cannam@167: * GNU General Public License for more details. cannam@167: * cannam@167: * You should have received a copy of the GNU General Public License cannam@167: * along with this program; if not, write to the Free Software cannam@167: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA cannam@167: * cannam@167: */ cannam@167: cannam@167: /* This file was automatically generated --- DO NOT EDIT */ cannam@167: /* Generated on Thu May 24 08:05:24 EDT 2018 */ cannam@167: cannam@167: #include "dft/codelet-dft.h" cannam@167: cannam@167: #if defined(ARCH_PREFERS_FMA) || defined(ISA_EXTENSION_PREFERS_FMA) cannam@167: cannam@167: /* Generated by: ../../../genfft/gen_notw.native -fma -simd -compact -variables 4 -pipeline-latency 8 -n 64 -name n2sv_64 -with-ostride 1 -include dft/simd/n2s.h -store-multiple 4 */ cannam@167: cannam@167: /* cannam@167: * This function contains 912 FP additions, 392 FP multiplications, cannam@167: * (or, 520 additions, 0 multiplications, 392 fused multiply/add), cannam@167: * 260 stack variables, 15 constants, and 288 memory accesses cannam@167: */ cannam@167: #include "dft/simd/n2s.h" cannam@167: cannam@167: static void n2sv_64(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs) cannam@167: { cannam@167: DVK(KP956940335, +0.956940335732208864935797886980269969482849206); cannam@167: DVK(KP881921264, +0.881921264348355029712756863660388349508442621); cannam@167: DVK(KP534511135, +0.534511135950791641089685961295362908582039528); cannam@167: DVK(KP303346683, +0.303346683607342391675883946941299872384187453); cannam@167: DVK(KP995184726, +0.995184726672196886244836953109479921575474869); cannam@167: DVK(KP773010453, +0.773010453362736960810906609758469800971041293); cannam@167: DVK(KP820678790, +0.820678790828660330972281985331011598767386482); cannam@167: DVK(KP098491403, +0.098491403357164253077197521291327432293052451); cannam@167: DVK(KP980785280, +0.980785280403230449126182236134239036973933731); cannam@167: DVK(KP831469612, +0.831469612302545237078788377617905756738560812); cannam@167: DVK(KP668178637, +0.668178637919298919997757686523080761552472251); cannam@167: DVK(KP198912367, +0.198912367379658006911597622644676228597850501); cannam@167: DVK(KP923879532, +0.923879532511286756128183189396788286822416626); cannam@167: DVK(KP707106781, +0.707106781186547524400844362104849039284835938); cannam@167: DVK(KP414213562, +0.414213562373095048801688724209698078569671875); cannam@167: { cannam@167: INT i; cannam@167: for (i = v; i > 0; i = i - (2 * VL), ri = ri + ((2 * VL) * ivs), ii = ii + ((2 * VL) * ivs), ro = ro + ((2 * VL) * ovs), io = io + ((2 * VL) * ovs), MAKE_VOLATILE_STRIDE(256, is), MAKE_VOLATILE_STRIDE(256, os)) { cannam@167: V T37, T7B, T8F, T5Z, Tf, Td9, TbB, TcB, T62, T7C, T2i, TdH, Tah, Tcb, T3e; cannam@167: V T8G, Tu, TdI, Tak, TbC, Tan, TbD, T2x, Tda, T3m, T65, T7G, T8I, T7J, T8J; cannam@167: V T3t, T64, TK, Tdd, Tas, Tce, Tav, Tcf, T2N, Tdc, T3G, T6G, T7O, T9k, T7R; cannam@167: V T9l, T3N, T6H, T1L, TdA, Tbs, Tct, Tdx, Teo, T5j, T6Y, T5Q, T6V, T8y, T9z; cannam@167: V Tbb, Tcw, T8n, T9C, TZ, Tdf, Taz, Tch, TaC, Tci, T32, Tdg, T3Z, T6J, T7V; cannam@167: V T9n, T7Y, T9o, T46, T6K, T1g, Tdp, Tb1, Tcm, Tdm, Tej, T4q, T6R, T4X, T6O; cannam@167: V T8f, T9s, TaK, Tcp, T84, T9v, T1v, Tdn, Tb4, Tcq, Tds, Tek, T4N, T6P, T50; cannam@167: V T6S, T8i, T9w, TaV, Tcn, T8b, T9t, T20, Tdy, Tbv, Tcx, TdD, Tep, T5G, T6W; cannam@167: V T5T, T6Z, T8B, T9D, Tbm, Tcu, T8u, T9A; cannam@167: { cannam@167: V T3, T35, T26, T5Y, T6, T5X, T29, T36, Ta, T39, T2d, T38, Td, T3b, T2g; cannam@167: V T3c; cannam@167: { cannam@167: V T1, T2, T24, T25; cannam@167: T1 = LD(&(ri[0]), ivs, &(ri[0])); cannam@167: T2 = LD(&(ri[WS(is, 32)]), ivs, &(ri[0])); cannam@167: T3 = VADD(T1, T2); cannam@167: T35 = VSUB(T1, T2); cannam@167: T24 = LD(&(ii[0]), ivs, &(ii[0])); cannam@167: T25 = LD(&(ii[WS(is, 32)]), ivs, &(ii[0])); cannam@167: T26 = VADD(T24, T25); cannam@167: T5Y = VSUB(T24, T25); cannam@167: } cannam@167: { cannam@167: V T4, T5, T27, T28; cannam@167: T4 = LD(&(ri[WS(is, 16)]), ivs, &(ri[0])); cannam@167: T5 = LD(&(ri[WS(is, 48)]), ivs, &(ri[0])); cannam@167: T6 = VADD(T4, T5); cannam@167: T5X = VSUB(T4, T5); cannam@167: T27 = LD(&(ii[WS(is, 16)]), ivs, &(ii[0])); cannam@167: T28 = LD(&(ii[WS(is, 48)]), ivs, &(ii[0])); cannam@167: T29 = VADD(T27, T28); cannam@167: T36 = VSUB(T27, T28); cannam@167: } cannam@167: { cannam@167: V T8, T9, T2b, T2c; cannam@167: T8 = LD(&(ri[WS(is, 8)]), ivs, &(ri[0])); cannam@167: T9 = LD(&(ri[WS(is, 40)]), ivs, &(ri[0])); cannam@167: Ta = VADD(T8, T9); cannam@167: T39 = VSUB(T8, T9); cannam@167: T2b = LD(&(ii[WS(is, 8)]), ivs, &(ii[0])); cannam@167: T2c = LD(&(ii[WS(is, 40)]), ivs, &(ii[0])); cannam@167: T2d = VADD(T2b, T2c); cannam@167: T38 = VSUB(T2b, T2c); cannam@167: } cannam@167: { cannam@167: V Tb, Tc, T2e, T2f; cannam@167: Tb = LD(&(ri[WS(is, 56)]), ivs, &(ri[0])); cannam@167: Tc = LD(&(ri[WS(is, 24)]), ivs, &(ri[0])); cannam@167: Td = VADD(Tb, Tc); cannam@167: T3b = VSUB(Tb, Tc); cannam@167: T2e = LD(&(ii[WS(is, 56)]), ivs, &(ii[0])); cannam@167: T2f = LD(&(ii[WS(is, 24)]), ivs, &(ii[0])); cannam@167: T2g = VADD(T2e, T2f); cannam@167: T3c = VSUB(T2e, T2f); cannam@167: } cannam@167: { cannam@167: V T7, Te, T2a, T2h; cannam@167: T37 = VSUB(T35, T36); cannam@167: T7B = VADD(T35, T36); cannam@167: T8F = VSUB(T5Y, T5X); cannam@167: T5Z = VADD(T5X, T5Y); cannam@167: T7 = VADD(T3, T6); cannam@167: Te = VADD(Ta, Td); cannam@167: Tf = VADD(T7, Te); cannam@167: Td9 = VSUB(T7, Te); cannam@167: { cannam@167: V Tbz, TbA, T60, T61; cannam@167: Tbz = VSUB(Td, Ta); cannam@167: TbA = VSUB(T26, T29); cannam@167: TbB = VADD(Tbz, TbA); cannam@167: TcB = VSUB(TbA, Tbz); cannam@167: T60 = VSUB(T3b, T3c); cannam@167: T61 = VADD(T39, T38); cannam@167: T62 = VSUB(T60, T61); cannam@167: T7C = VADD(T61, T60); cannam@167: } cannam@167: T2a = VADD(T26, T29); cannam@167: T2h = VADD(T2d, T2g); cannam@167: T2i = VADD(T2a, T2h); cannam@167: TdH = VSUB(T2a, T2h); cannam@167: { cannam@167: V Taf, Tag, T3a, T3d; cannam@167: Taf = VSUB(T3, T6); cannam@167: Tag = VSUB(T2d, T2g); cannam@167: Tah = VADD(Taf, Tag); cannam@167: Tcb = VSUB(Taf, Tag); cannam@167: T3a = VSUB(T38, T39); cannam@167: T3d = VADD(T3b, T3c); cannam@167: T3e = VSUB(T3a, T3d); cannam@167: T8G = VADD(T3a, T3d); cannam@167: } cannam@167: } cannam@167: } cannam@167: { cannam@167: V Ti, T3j, T2l, T3h, Tl, T3g, T2o, T3k, Tp, T3q, T2s, T3o, Ts, T3n, T2v; cannam@167: V T3r; cannam@167: { cannam@167: V Tg, Th, T2j, T2k; cannam@167: Tg = LD(&(ri[WS(is, 4)]), ivs, &(ri[0])); cannam@167: Th = LD(&(ri[WS(is, 36)]), ivs, &(ri[0])); cannam@167: Ti = VADD(Tg, Th); cannam@167: T3j = VSUB(Tg, Th); cannam@167: T2j = LD(&(ii[WS(is, 4)]), ivs, &(ii[0])); cannam@167: T2k = LD(&(ii[WS(is, 36)]), ivs, &(ii[0])); cannam@167: T2l = VADD(T2j, T2k); cannam@167: T3h = VSUB(T2j, T2k); cannam@167: } cannam@167: { cannam@167: V Tj, Tk, T2m, T2n; cannam@167: Tj = LD(&(ri[WS(is, 20)]), ivs, &(ri[0])); cannam@167: Tk = LD(&(ri[WS(is, 52)]), ivs, &(ri[0])); cannam@167: Tl = VADD(Tj, Tk); cannam@167: T3g = VSUB(Tj, Tk); cannam@167: T2m = LD(&(ii[WS(is, 20)]), ivs, &(ii[0])); cannam@167: T2n = LD(&(ii[WS(is, 52)]), ivs, &(ii[0])); cannam@167: T2o = VADD(T2m, T2n); cannam@167: T3k = VSUB(T2m, T2n); cannam@167: } cannam@167: { cannam@167: V Tn, To, T2q, T2r; cannam@167: Tn = LD(&(ri[WS(is, 60)]), ivs, &(ri[0])); cannam@167: To = LD(&(ri[WS(is, 28)]), ivs, &(ri[0])); cannam@167: Tp = VADD(Tn, To); cannam@167: T3q = VSUB(Tn, To); cannam@167: T2q = LD(&(ii[WS(is, 60)]), ivs, &(ii[0])); cannam@167: T2r = LD(&(ii[WS(is, 28)]), ivs, &(ii[0])); cannam@167: T2s = VADD(T2q, T2r); cannam@167: T3o = VSUB(T2q, T2r); cannam@167: } cannam@167: { cannam@167: V Tq, Tr, T2t, T2u; cannam@167: Tq = LD(&(ri[WS(is, 12)]), ivs, &(ri[0])); cannam@167: Tr = LD(&(ri[WS(is, 44)]), ivs, &(ri[0])); cannam@167: Ts = VADD(Tq, Tr); cannam@167: T3n = VSUB(Tq, Tr); cannam@167: T2t = LD(&(ii[WS(is, 12)]), ivs, &(ii[0])); cannam@167: T2u = LD(&(ii[WS(is, 44)]), ivs, &(ii[0])); cannam@167: T2v = VADD(T2t, T2u); cannam@167: T3r = VSUB(T2t, T2u); cannam@167: } cannam@167: { cannam@167: V Tm, Tt, Tai, Taj; cannam@167: Tm = VADD(Ti, Tl); cannam@167: Tt = VADD(Tp, Ts); cannam@167: Tu = VADD(Tm, Tt); cannam@167: TdI = VSUB(Tt, Tm); cannam@167: Tai = VSUB(Ti, Tl); cannam@167: Taj = VSUB(T2l, T2o); cannam@167: Tak = VADD(Tai, Taj); cannam@167: TbC = VSUB(Taj, Tai); cannam@167: } cannam@167: { cannam@167: V Tal, Tam, T2p, T2w; cannam@167: Tal = VSUB(Tp, Ts); cannam@167: Tam = VSUB(T2s, T2v); cannam@167: Tan = VSUB(Tal, Tam); cannam@167: TbD = VADD(Tal, Tam); cannam@167: T2p = VADD(T2l, T2o); cannam@167: T2w = VADD(T2s, T2v); cannam@167: T2x = VADD(T2p, T2w); cannam@167: Tda = VSUB(T2p, T2w); cannam@167: } cannam@167: { cannam@167: V T3i, T3l, T7E, T7F; cannam@167: T3i = VADD(T3g, T3h); cannam@167: T3l = VSUB(T3j, T3k); cannam@167: T3m = VFMA(LDK(KP414213562), T3l, T3i); cannam@167: T65 = VFNMS(LDK(KP414213562), T3i, T3l); cannam@167: T7E = VADD(T3j, T3k); cannam@167: T7F = VSUB(T3h, T3g); cannam@167: T7G = VFMA(LDK(KP414213562), T7F, T7E); cannam@167: T8I = VFNMS(LDK(KP414213562), T7E, T7F); cannam@167: } cannam@167: { cannam@167: V T7H, T7I, T3p, T3s; cannam@167: T7H = VADD(T3q, T3r); cannam@167: T7I = VSUB(T3o, T3n); cannam@167: T7J = VFNMS(LDK(KP414213562), T7I, T7H); cannam@167: T8J = VFMA(LDK(KP414213562), T7H, T7I); cannam@167: T3p = VADD(T3n, T3o); cannam@167: T3s = VSUB(T3q, T3r); cannam@167: T3t = VFNMS(LDK(KP414213562), T3s, T3p); cannam@167: T64 = VFMA(LDK(KP414213562), T3p, T3s); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Ty, T3H, T2B, T3x, TB, T3w, T2E, T3I, TI, T3K, T2L, T3E, TF, T3L, T2I; cannam@167: V T3B; cannam@167: { cannam@167: V Tw, Tx, T2C, T2D; cannam@167: Tw = LD(&(ri[WS(is, 2)]), ivs, &(ri[0])); cannam@167: Tx = LD(&(ri[WS(is, 34)]), ivs, &(ri[0])); cannam@167: Ty = VADD(Tw, Tx); cannam@167: T3H = VSUB(Tw, Tx); cannam@167: { cannam@167: V T2z, T2A, Tz, TA; cannam@167: T2z = LD(&(ii[WS(is, 2)]), ivs, &(ii[0])); cannam@167: T2A = LD(&(ii[WS(is, 34)]), ivs, &(ii[0])); cannam@167: T2B = VADD(T2z, T2A); cannam@167: T3x = VSUB(T2z, T2A); cannam@167: Tz = LD(&(ri[WS(is, 18)]), ivs, &(ri[0])); cannam@167: TA = LD(&(ri[WS(is, 50)]), ivs, &(ri[0])); cannam@167: TB = VADD(Tz, TA); cannam@167: T3w = VSUB(Tz, TA); cannam@167: } cannam@167: T2C = LD(&(ii[WS(is, 18)]), ivs, &(ii[0])); cannam@167: T2D = LD(&(ii[WS(is, 50)]), ivs, &(ii[0])); cannam@167: T2E = VADD(T2C, T2D); cannam@167: T3I = VSUB(T2C, T2D); cannam@167: { cannam@167: V TG, TH, T3C, T2J, T2K, T3D; cannam@167: TG = LD(&(ri[WS(is, 58)]), ivs, &(ri[0])); cannam@167: TH = LD(&(ri[WS(is, 26)]), ivs, &(ri[0])); cannam@167: T3C = VSUB(TG, TH); cannam@167: T2J = LD(&(ii[WS(is, 58)]), ivs, &(ii[0])); cannam@167: T2K = LD(&(ii[WS(is, 26)]), ivs, &(ii[0])); cannam@167: T3D = VSUB(T2J, T2K); cannam@167: TI = VADD(TG, TH); cannam@167: T3K = VADD(T3C, T3D); cannam@167: T2L = VADD(T2J, T2K); cannam@167: T3E = VSUB(T3C, T3D); cannam@167: } cannam@167: { cannam@167: V TD, TE, T3z, T2G, T2H, T3A; cannam@167: TD = LD(&(ri[WS(is, 10)]), ivs, &(ri[0])); cannam@167: TE = LD(&(ri[WS(is, 42)]), ivs, &(ri[0])); cannam@167: T3z = VSUB(TD, TE); cannam@167: T2G = LD(&(ii[WS(is, 10)]), ivs, &(ii[0])); cannam@167: T2H = LD(&(ii[WS(is, 42)]), ivs, &(ii[0])); cannam@167: T3A = VSUB(T2G, T2H); cannam@167: TF = VADD(TD, TE); cannam@167: T3L = VSUB(T3A, T3z); cannam@167: T2I = VADD(T2G, T2H); cannam@167: T3B = VADD(T3z, T3A); cannam@167: } cannam@167: } cannam@167: { cannam@167: V TC, TJ, Taq, Tar; cannam@167: TC = VADD(Ty, TB); cannam@167: TJ = VADD(TF, TI); cannam@167: TK = VADD(TC, TJ); cannam@167: Tdd = VSUB(TC, TJ); cannam@167: Taq = VSUB(TI, TF); cannam@167: Tar = VSUB(T2B, T2E); cannam@167: Tas = VADD(Taq, Tar); cannam@167: Tce = VSUB(Tar, Taq); cannam@167: } cannam@167: { cannam@167: V Tat, Tau, T2F, T2M; cannam@167: Tat = VSUB(Ty, TB); cannam@167: Tau = VSUB(T2I, T2L); cannam@167: Tav = VADD(Tat, Tau); cannam@167: Tcf = VSUB(Tat, Tau); cannam@167: T2F = VADD(T2B, T2E); cannam@167: T2M = VADD(T2I, T2L); cannam@167: T2N = VADD(T2F, T2M); cannam@167: Tdc = VSUB(T2F, T2M); cannam@167: } cannam@167: { cannam@167: V T3y, T3F, T7M, T7N; cannam@167: T3y = VADD(T3w, T3x); cannam@167: T3F = VSUB(T3B, T3E); cannam@167: T3G = VFNMS(LDK(KP707106781), T3F, T3y); cannam@167: T6G = VFMA(LDK(KP707106781), T3F, T3y); cannam@167: T7M = VSUB(T3x, T3w); cannam@167: T7N = VADD(T3L, T3K); cannam@167: T7O = VFMA(LDK(KP707106781), T7N, T7M); cannam@167: T9k = VFNMS(LDK(KP707106781), T7N, T7M); cannam@167: } cannam@167: { cannam@167: V T7P, T7Q, T3J, T3M; cannam@167: T7P = VADD(T3H, T3I); cannam@167: T7Q = VADD(T3B, T3E); cannam@167: T7R = VFMA(LDK(KP707106781), T7Q, T7P); cannam@167: T9l = VFNMS(LDK(KP707106781), T7Q, T7P); cannam@167: T3J = VSUB(T3H, T3I); cannam@167: T3M = VSUB(T3K, T3L); cannam@167: T3N = VFNMS(LDK(KP707106781), T3M, T3J); cannam@167: T6H = VFMA(LDK(KP707106781), T3M, T3J); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T1z, T5I, T56, Tb8, T1C, T53, T5L, Tb9, T1J, Tbq, T5h, T5N, T1G, Tbp, T5c; cannam@167: V T5O; cannam@167: { cannam@167: V T1x, T1y, T5J, T5K; cannam@167: T1x = LD(&(ri[WS(is, 63)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1y = LD(&(ri[WS(is, 31)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1z = VADD(T1x, T1y); cannam@167: T5I = VSUB(T1x, T1y); cannam@167: { cannam@167: V T54, T55, T1A, T1B; cannam@167: T54 = LD(&(ii[WS(is, 63)]), ivs, &(ii[WS(is, 1)])); cannam@167: T55 = LD(&(ii[WS(is, 31)]), ivs, &(ii[WS(is, 1)])); cannam@167: T56 = VSUB(T54, T55); cannam@167: Tb8 = VADD(T54, T55); cannam@167: T1A = LD(&(ri[WS(is, 15)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1B = LD(&(ri[WS(is, 47)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1C = VADD(T1A, T1B); cannam@167: T53 = VSUB(T1A, T1B); cannam@167: } cannam@167: T5J = LD(&(ii[WS(is, 15)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5K = LD(&(ii[WS(is, 47)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5L = VSUB(T5J, T5K); cannam@167: Tb9 = VADD(T5J, T5K); cannam@167: { cannam@167: V T1H, T1I, T5d, T5e, T5f, T5g; cannam@167: T1H = LD(&(ri[WS(is, 55)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1I = LD(&(ri[WS(is, 23)]), ivs, &(ri[WS(is, 1)])); cannam@167: T5d = VSUB(T1H, T1I); cannam@167: T5e = LD(&(ii[WS(is, 55)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5f = LD(&(ii[WS(is, 23)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5g = VSUB(T5e, T5f); cannam@167: T1J = VADD(T1H, T1I); cannam@167: Tbq = VADD(T5e, T5f); cannam@167: T5h = VSUB(T5d, T5g); cannam@167: T5N = VADD(T5d, T5g); cannam@167: } cannam@167: { cannam@167: V T1E, T1F, T58, T59, T5a, T5b; cannam@167: T1E = LD(&(ri[WS(is, 7)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1F = LD(&(ri[WS(is, 39)]), ivs, &(ri[WS(is, 1)])); cannam@167: T58 = VSUB(T1E, T1F); cannam@167: T59 = LD(&(ii[WS(is, 7)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5a = LD(&(ii[WS(is, 39)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5b = VSUB(T59, T5a); cannam@167: T1G = VADD(T1E, T1F); cannam@167: Tbp = VADD(T59, T5a); cannam@167: T5c = VADD(T58, T5b); cannam@167: T5O = VSUB(T5b, T58); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T1D, T1K, Tbo, Tbr; cannam@167: T1D = VADD(T1z, T1C); cannam@167: T1K = VADD(T1G, T1J); cannam@167: T1L = VADD(T1D, T1K); cannam@167: TdA = VSUB(T1D, T1K); cannam@167: Tbo = VSUB(T1z, T1C); cannam@167: Tbr = VSUB(Tbp, Tbq); cannam@167: Tbs = VADD(Tbo, Tbr); cannam@167: Tct = VSUB(Tbo, Tbr); cannam@167: } cannam@167: { cannam@167: V Tdv, Tdw, T57, T5i; cannam@167: Tdv = VADD(Tb8, Tb9); cannam@167: Tdw = VADD(Tbp, Tbq); cannam@167: Tdx = VSUB(Tdv, Tdw); cannam@167: Teo = VADD(Tdv, Tdw); cannam@167: T57 = VADD(T53, T56); cannam@167: T5i = VSUB(T5c, T5h); cannam@167: T5j = VFNMS(LDK(KP707106781), T5i, T57); cannam@167: T6Y = VFMA(LDK(KP707106781), T5i, T57); cannam@167: } cannam@167: { cannam@167: V T5M, T5P, T8w, T8x; cannam@167: T5M = VSUB(T5I, T5L); cannam@167: T5P = VSUB(T5N, T5O); cannam@167: T5Q = VFNMS(LDK(KP707106781), T5P, T5M); cannam@167: T6V = VFMA(LDK(KP707106781), T5P, T5M); cannam@167: T8w = VADD(T5I, T5L); cannam@167: T8x = VADD(T5c, T5h); cannam@167: T8y = VFMA(LDK(KP707106781), T8x, T8w); cannam@167: T9z = VFNMS(LDK(KP707106781), T8x, T8w); cannam@167: } cannam@167: { cannam@167: V Tb7, Tba, T8l, T8m; cannam@167: Tb7 = VSUB(T1J, T1G); cannam@167: Tba = VSUB(Tb8, Tb9); cannam@167: Tbb = VADD(Tb7, Tba); cannam@167: Tcw = VSUB(Tba, Tb7); cannam@167: T8l = VSUB(T56, T53); cannam@167: T8m = VADD(T5O, T5N); cannam@167: T8n = VFMA(LDK(KP707106781), T8m, T8l); cannam@167: T9C = VFNMS(LDK(KP707106781), T8m, T8l); cannam@167: } cannam@167: } cannam@167: { cannam@167: V TN, T40, T2Q, T3Q, TQ, T3P, T2T, T41, TX, T43, T30, T3X, TU, T44, T2X; cannam@167: V T3U; cannam@167: { cannam@167: V TL, TM, T2R, T2S; cannam@167: TL = LD(&(ri[WS(is, 62)]), ivs, &(ri[0])); cannam@167: TM = LD(&(ri[WS(is, 30)]), ivs, &(ri[0])); cannam@167: TN = VADD(TL, TM); cannam@167: T40 = VSUB(TL, TM); cannam@167: { cannam@167: V T2O, T2P, TO, TP; cannam@167: T2O = LD(&(ii[WS(is, 62)]), ivs, &(ii[0])); cannam@167: T2P = LD(&(ii[WS(is, 30)]), ivs, &(ii[0])); cannam@167: T2Q = VADD(T2O, T2P); cannam@167: T3Q = VSUB(T2O, T2P); cannam@167: TO = LD(&(ri[WS(is, 14)]), ivs, &(ri[0])); cannam@167: TP = LD(&(ri[WS(is, 46)]), ivs, &(ri[0])); cannam@167: TQ = VADD(TO, TP); cannam@167: T3P = VSUB(TO, TP); cannam@167: } cannam@167: T2R = LD(&(ii[WS(is, 14)]), ivs, &(ii[0])); cannam@167: T2S = LD(&(ii[WS(is, 46)]), ivs, &(ii[0])); cannam@167: T2T = VADD(T2R, T2S); cannam@167: T41 = VSUB(T2R, T2S); cannam@167: { cannam@167: V TV, TW, T3V, T2Y, T2Z, T3W; cannam@167: TV = LD(&(ri[WS(is, 54)]), ivs, &(ri[0])); cannam@167: TW = LD(&(ri[WS(is, 22)]), ivs, &(ri[0])); cannam@167: T3V = VSUB(TV, TW); cannam@167: T2Y = LD(&(ii[WS(is, 54)]), ivs, &(ii[0])); cannam@167: T2Z = LD(&(ii[WS(is, 22)]), ivs, &(ii[0])); cannam@167: T3W = VSUB(T2Y, T2Z); cannam@167: TX = VADD(TV, TW); cannam@167: T43 = VADD(T3V, T3W); cannam@167: T30 = VADD(T2Y, T2Z); cannam@167: T3X = VSUB(T3V, T3W); cannam@167: } cannam@167: { cannam@167: V TS, TT, T3S, T2V, T2W, T3T; cannam@167: TS = LD(&(ri[WS(is, 6)]), ivs, &(ri[0])); cannam@167: TT = LD(&(ri[WS(is, 38)]), ivs, &(ri[0])); cannam@167: T3S = VSUB(TS, TT); cannam@167: T2V = LD(&(ii[WS(is, 6)]), ivs, &(ii[0])); cannam@167: T2W = LD(&(ii[WS(is, 38)]), ivs, &(ii[0])); cannam@167: T3T = VSUB(T2V, T2W); cannam@167: TU = VADD(TS, TT); cannam@167: T44 = VSUB(T3T, T3S); cannam@167: T2X = VADD(T2V, T2W); cannam@167: T3U = VADD(T3S, T3T); cannam@167: } cannam@167: } cannam@167: { cannam@167: V TR, TY, Tax, Tay; cannam@167: TR = VADD(TN, TQ); cannam@167: TY = VADD(TU, TX); cannam@167: TZ = VADD(TR, TY); cannam@167: Tdf = VSUB(TR, TY); cannam@167: Tax = VSUB(TX, TU); cannam@167: Tay = VSUB(T2Q, T2T); cannam@167: Taz = VADD(Tax, Tay); cannam@167: Tch = VSUB(Tay, Tax); cannam@167: } cannam@167: { cannam@167: V TaA, TaB, T2U, T31; cannam@167: TaA = VSUB(TN, TQ); cannam@167: TaB = VSUB(T2X, T30); cannam@167: TaC = VADD(TaA, TaB); cannam@167: Tci = VSUB(TaA, TaB); cannam@167: T2U = VADD(T2Q, T2T); cannam@167: T31 = VADD(T2X, T30); cannam@167: T32 = VADD(T2U, T31); cannam@167: Tdg = VSUB(T2U, T31); cannam@167: } cannam@167: { cannam@167: V T3R, T3Y, T7T, T7U; cannam@167: T3R = VADD(T3P, T3Q); cannam@167: T3Y = VSUB(T3U, T3X); cannam@167: T3Z = VFNMS(LDK(KP707106781), T3Y, T3R); cannam@167: T6J = VFMA(LDK(KP707106781), T3Y, T3R); cannam@167: T7T = VSUB(T3Q, T3P); cannam@167: T7U = VADD(T44, T43); cannam@167: T7V = VFMA(LDK(KP707106781), T7U, T7T); cannam@167: T9n = VFNMS(LDK(KP707106781), T7U, T7T); cannam@167: } cannam@167: { cannam@167: V T7W, T7X, T42, T45; cannam@167: T7W = VADD(T40, T41); cannam@167: T7X = VADD(T3U, T3X); cannam@167: T7Y = VFMA(LDK(KP707106781), T7X, T7W); cannam@167: T9o = VFNMS(LDK(KP707106781), T7X, T7W); cannam@167: T42 = VSUB(T40, T41); cannam@167: T45 = VSUB(T43, T44); cannam@167: T46 = VFNMS(LDK(KP707106781), T45, T42); cannam@167: T6K = VFMA(LDK(KP707106781), T45, T42); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T14, T4P, T4d, TaH, T17, T4a, T4S, TaI, T1e, TaZ, T4o, T4U, T1b, TaY, T4j; cannam@167: V T4V; cannam@167: { cannam@167: V T12, T13, T4Q, T4R; cannam@167: T12 = LD(&(ri[WS(is, 1)]), ivs, &(ri[WS(is, 1)])); cannam@167: T13 = LD(&(ri[WS(is, 33)]), ivs, &(ri[WS(is, 1)])); cannam@167: T14 = VADD(T12, T13); cannam@167: T4P = VSUB(T12, T13); cannam@167: { cannam@167: V T4b, T4c, T15, T16; cannam@167: T4b = LD(&(ii[WS(is, 1)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4c = LD(&(ii[WS(is, 33)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4d = VSUB(T4b, T4c); cannam@167: TaH = VADD(T4b, T4c); cannam@167: T15 = LD(&(ri[WS(is, 17)]), ivs, &(ri[WS(is, 1)])); cannam@167: T16 = LD(&(ri[WS(is, 49)]), ivs, &(ri[WS(is, 1)])); cannam@167: T17 = VADD(T15, T16); cannam@167: T4a = VSUB(T15, T16); cannam@167: } cannam@167: T4Q = LD(&(ii[WS(is, 17)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4R = LD(&(ii[WS(is, 49)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4S = VSUB(T4Q, T4R); cannam@167: TaI = VADD(T4Q, T4R); cannam@167: { cannam@167: V T1c, T1d, T4k, T4l, T4m, T4n; cannam@167: T1c = LD(&(ri[WS(is, 57)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1d = LD(&(ri[WS(is, 25)]), ivs, &(ri[WS(is, 1)])); cannam@167: T4k = VSUB(T1c, T1d); cannam@167: T4l = LD(&(ii[WS(is, 57)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4m = LD(&(ii[WS(is, 25)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4n = VSUB(T4l, T4m); cannam@167: T1e = VADD(T1c, T1d); cannam@167: TaZ = VADD(T4l, T4m); cannam@167: T4o = VSUB(T4k, T4n); cannam@167: T4U = VADD(T4k, T4n); cannam@167: } cannam@167: { cannam@167: V T19, T1a, T4f, T4g, T4h, T4i; cannam@167: T19 = LD(&(ri[WS(is, 9)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1a = LD(&(ri[WS(is, 41)]), ivs, &(ri[WS(is, 1)])); cannam@167: T4f = VSUB(T19, T1a); cannam@167: T4g = LD(&(ii[WS(is, 9)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4h = LD(&(ii[WS(is, 41)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4i = VSUB(T4g, T4h); cannam@167: T1b = VADD(T19, T1a); cannam@167: TaY = VADD(T4g, T4h); cannam@167: T4j = VADD(T4f, T4i); cannam@167: T4V = VSUB(T4i, T4f); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T18, T1f, TaX, Tb0; cannam@167: T18 = VADD(T14, T17); cannam@167: T1f = VADD(T1b, T1e); cannam@167: T1g = VADD(T18, T1f); cannam@167: Tdp = VSUB(T18, T1f); cannam@167: TaX = VSUB(T14, T17); cannam@167: Tb0 = VSUB(TaY, TaZ); cannam@167: Tb1 = VADD(TaX, Tb0); cannam@167: Tcm = VSUB(TaX, Tb0); cannam@167: } cannam@167: { cannam@167: V Tdk, Tdl, T4e, T4p; cannam@167: Tdk = VADD(TaH, TaI); cannam@167: Tdl = VADD(TaY, TaZ); cannam@167: Tdm = VSUB(Tdk, Tdl); cannam@167: Tej = VADD(Tdk, Tdl); cannam@167: T4e = VADD(T4a, T4d); cannam@167: T4p = VSUB(T4j, T4o); cannam@167: T4q = VFNMS(LDK(KP707106781), T4p, T4e); cannam@167: T6R = VFMA(LDK(KP707106781), T4p, T4e); cannam@167: } cannam@167: { cannam@167: V T4T, T4W, T8d, T8e; cannam@167: T4T = VSUB(T4P, T4S); cannam@167: T4W = VSUB(T4U, T4V); cannam@167: T4X = VFNMS(LDK(KP707106781), T4W, T4T); cannam@167: T6O = VFMA(LDK(KP707106781), T4W, T4T); cannam@167: T8d = VADD(T4P, T4S); cannam@167: T8e = VADD(T4j, T4o); cannam@167: T8f = VFMA(LDK(KP707106781), T8e, T8d); cannam@167: T9s = VFNMS(LDK(KP707106781), T8e, T8d); cannam@167: } cannam@167: { cannam@167: V TaG, TaJ, T82, T83; cannam@167: TaG = VSUB(T1e, T1b); cannam@167: TaJ = VSUB(TaH, TaI); cannam@167: TaK = VADD(TaG, TaJ); cannam@167: Tcp = VSUB(TaJ, TaG); cannam@167: T82 = VSUB(T4d, T4a); cannam@167: T83 = VADD(T4V, T4U); cannam@167: T84 = VFMA(LDK(KP707106781), T83, T82); cannam@167: T9v = VFNMS(LDK(KP707106781), T83, T82); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T1j, TaL, T1m, TaM, T4G, T4L, TaO, TaN, T86, T85, T1q, TaR, T1t, TaS, T4v; cannam@167: V T4A, TaT, TaQ, T89, T88; cannam@167: { cannam@167: V T4C, T4K, T4H, T4F; cannam@167: { cannam@167: V T1h, T1i, T4I, T4J; cannam@167: T1h = LD(&(ri[WS(is, 5)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1i = LD(&(ri[WS(is, 37)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1j = VADD(T1h, T1i); cannam@167: T4C = VSUB(T1h, T1i); cannam@167: T4I = LD(&(ii[WS(is, 5)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4J = LD(&(ii[WS(is, 37)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4K = VSUB(T4I, T4J); cannam@167: TaL = VADD(T4I, T4J); cannam@167: } cannam@167: { cannam@167: V T1k, T1l, T4D, T4E; cannam@167: T1k = LD(&(ri[WS(is, 21)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1l = LD(&(ri[WS(is, 53)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1m = VADD(T1k, T1l); cannam@167: T4H = VSUB(T1k, T1l); cannam@167: T4D = LD(&(ii[WS(is, 21)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4E = LD(&(ii[WS(is, 53)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4F = VSUB(T4D, T4E); cannam@167: TaM = VADD(T4D, T4E); cannam@167: } cannam@167: T4G = VSUB(T4C, T4F); cannam@167: T4L = VADD(T4H, T4K); cannam@167: TaO = VSUB(T1j, T1m); cannam@167: TaN = VSUB(TaL, TaM); cannam@167: T86 = VADD(T4C, T4F); cannam@167: T85 = VSUB(T4K, T4H); cannam@167: } cannam@167: { cannam@167: V T4r, T4z, T4w, T4u; cannam@167: { cannam@167: V T1o, T1p, T4x, T4y; cannam@167: T1o = LD(&(ri[WS(is, 61)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1p = LD(&(ri[WS(is, 29)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1q = VADD(T1o, T1p); cannam@167: T4r = VSUB(T1o, T1p); cannam@167: T4x = LD(&(ii[WS(is, 61)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4y = LD(&(ii[WS(is, 29)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4z = VSUB(T4x, T4y); cannam@167: TaR = VADD(T4x, T4y); cannam@167: } cannam@167: { cannam@167: V T1r, T1s, T4s, T4t; cannam@167: T1r = LD(&(ri[WS(is, 13)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1s = LD(&(ri[WS(is, 45)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1t = VADD(T1r, T1s); cannam@167: T4w = VSUB(T1r, T1s); cannam@167: T4s = LD(&(ii[WS(is, 13)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4t = LD(&(ii[WS(is, 45)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4u = VSUB(T4s, T4t); cannam@167: TaS = VADD(T4s, T4t); cannam@167: } cannam@167: T4v = VSUB(T4r, T4u); cannam@167: T4A = VADD(T4w, T4z); cannam@167: TaT = VSUB(TaR, TaS); cannam@167: TaQ = VSUB(T1q, T1t); cannam@167: T89 = VADD(T4r, T4u); cannam@167: T88 = VSUB(T4z, T4w); cannam@167: } cannam@167: { cannam@167: V T1n, T1u, Tb2, Tb3; cannam@167: T1n = VADD(T1j, T1m); cannam@167: T1u = VADD(T1q, T1t); cannam@167: T1v = VADD(T1n, T1u); cannam@167: Tdn = VSUB(T1u, T1n); cannam@167: Tb2 = VADD(TaO, TaN); cannam@167: Tb3 = VSUB(TaQ, TaT); cannam@167: Tb4 = VADD(Tb2, Tb3); cannam@167: Tcq = VSUB(Tb2, Tb3); cannam@167: } cannam@167: { cannam@167: V Tdq, Tdr, T4B, T4M; cannam@167: Tdq = VADD(TaL, TaM); cannam@167: Tdr = VADD(TaR, TaS); cannam@167: Tds = VSUB(Tdq, Tdr); cannam@167: Tek = VADD(Tdq, Tdr); cannam@167: T4B = VFMA(LDK(KP414213562), T4A, T4v); cannam@167: T4M = VFNMS(LDK(KP414213562), T4L, T4G); cannam@167: T4N = VSUB(T4B, T4M); cannam@167: T6P = VADD(T4M, T4B); cannam@167: } cannam@167: { cannam@167: V T4Y, T4Z, T8g, T8h; cannam@167: T4Y = VFMA(LDK(KP414213562), T4G, T4L); cannam@167: T4Z = VFNMS(LDK(KP414213562), T4v, T4A); cannam@167: T50 = VSUB(T4Y, T4Z); cannam@167: T6S = VADD(T4Y, T4Z); cannam@167: T8g = VFMA(LDK(KP414213562), T85, T86); cannam@167: T8h = VFNMS(LDK(KP414213562), T88, T89); cannam@167: T8i = VADD(T8g, T8h); cannam@167: T9w = VSUB(T8g, T8h); cannam@167: } cannam@167: { cannam@167: V TaP, TaU, T87, T8a; cannam@167: TaP = VSUB(TaN, TaO); cannam@167: TaU = VADD(TaQ, TaT); cannam@167: TaV = VADD(TaP, TaU); cannam@167: Tcn = VSUB(TaU, TaP); cannam@167: T87 = VFNMS(LDK(KP414213562), T86, T85); cannam@167: T8a = VFMA(LDK(KP414213562), T89, T88); cannam@167: T8b = VADD(T87, T8a); cannam@167: T9t = VSUB(T8a, T87); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T1O, Tbc, T1R, Tbd, T5z, T5E, Tbf, Tbe, T8p, T8o, T1V, Tbi, T1Y, Tbj, T5o; cannam@167: V T5t, Tbk, Tbh, T8s, T8r; cannam@167: { cannam@167: V T5v, T5D, T5A, T5y; cannam@167: { cannam@167: V T1M, T1N, T5B, T5C; cannam@167: T1M = LD(&(ri[WS(is, 3)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1N = LD(&(ri[WS(is, 35)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1O = VADD(T1M, T1N); cannam@167: T5v = VSUB(T1M, T1N); cannam@167: T5B = LD(&(ii[WS(is, 3)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5C = LD(&(ii[WS(is, 35)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5D = VSUB(T5B, T5C); cannam@167: Tbc = VADD(T5B, T5C); cannam@167: } cannam@167: { cannam@167: V T1P, T1Q, T5w, T5x; cannam@167: T1P = LD(&(ri[WS(is, 19)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1Q = LD(&(ri[WS(is, 51)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1R = VADD(T1P, T1Q); cannam@167: T5A = VSUB(T1P, T1Q); cannam@167: T5w = LD(&(ii[WS(is, 19)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5x = LD(&(ii[WS(is, 51)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5y = VSUB(T5w, T5x); cannam@167: Tbd = VADD(T5w, T5x); cannam@167: } cannam@167: T5z = VSUB(T5v, T5y); cannam@167: T5E = VADD(T5A, T5D); cannam@167: Tbf = VSUB(T1O, T1R); cannam@167: Tbe = VSUB(Tbc, Tbd); cannam@167: T8p = VADD(T5v, T5y); cannam@167: T8o = VSUB(T5D, T5A); cannam@167: } cannam@167: { cannam@167: V T5k, T5s, T5p, T5n; cannam@167: { cannam@167: V T1T, T1U, T5q, T5r; cannam@167: T1T = LD(&(ri[WS(is, 59)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1U = LD(&(ri[WS(is, 27)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1V = VADD(T1T, T1U); cannam@167: T5k = VSUB(T1T, T1U); cannam@167: T5q = LD(&(ii[WS(is, 59)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5r = LD(&(ii[WS(is, 27)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5s = VSUB(T5q, T5r); cannam@167: Tbi = VADD(T5q, T5r); cannam@167: } cannam@167: { cannam@167: V T1W, T1X, T5l, T5m; cannam@167: T1W = LD(&(ri[WS(is, 11)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1X = LD(&(ri[WS(is, 43)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1Y = VADD(T1W, T1X); cannam@167: T5p = VSUB(T1W, T1X); cannam@167: T5l = LD(&(ii[WS(is, 11)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5m = LD(&(ii[WS(is, 43)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5n = VSUB(T5l, T5m); cannam@167: Tbj = VADD(T5l, T5m); cannam@167: } cannam@167: T5o = VSUB(T5k, T5n); cannam@167: T5t = VADD(T5p, T5s); cannam@167: Tbk = VSUB(Tbi, Tbj); cannam@167: Tbh = VSUB(T1V, T1Y); cannam@167: T8s = VADD(T5k, T5n); cannam@167: T8r = VSUB(T5s, T5p); cannam@167: } cannam@167: { cannam@167: V T1S, T1Z, Tbt, Tbu; cannam@167: T1S = VADD(T1O, T1R); cannam@167: T1Z = VADD(T1V, T1Y); cannam@167: T20 = VADD(T1S, T1Z); cannam@167: Tdy = VSUB(T1Z, T1S); cannam@167: Tbt = VADD(Tbf, Tbe); cannam@167: Tbu = VSUB(Tbh, Tbk); cannam@167: Tbv = VADD(Tbt, Tbu); cannam@167: Tcx = VSUB(Tbt, Tbu); cannam@167: } cannam@167: { cannam@167: V TdB, TdC, T5u, T5F; cannam@167: TdB = VADD(Tbc, Tbd); cannam@167: TdC = VADD(Tbi, Tbj); cannam@167: TdD = VSUB(TdB, TdC); cannam@167: Tep = VADD(TdB, TdC); cannam@167: T5u = VFMA(LDK(KP414213562), T5t, T5o); cannam@167: T5F = VFNMS(LDK(KP414213562), T5E, T5z); cannam@167: T5G = VSUB(T5u, T5F); cannam@167: T6W = VADD(T5F, T5u); cannam@167: } cannam@167: { cannam@167: V T5R, T5S, T8z, T8A; cannam@167: T5R = VFMA(LDK(KP414213562), T5z, T5E); cannam@167: T5S = VFNMS(LDK(KP414213562), T5o, T5t); cannam@167: T5T = VSUB(T5R, T5S); cannam@167: T6Z = VADD(T5R, T5S); cannam@167: T8z = VFMA(LDK(KP414213562), T8o, T8p); cannam@167: T8A = VFNMS(LDK(KP414213562), T8r, T8s); cannam@167: T8B = VADD(T8z, T8A); cannam@167: T9D = VSUB(T8z, T8A); cannam@167: } cannam@167: { cannam@167: V Tbg, Tbl, T8q, T8t; cannam@167: Tbg = VSUB(Tbe, Tbf); cannam@167: Tbl = VADD(Tbh, Tbk); cannam@167: Tbm = VADD(Tbg, Tbl); cannam@167: Tcu = VSUB(Tbl, Tbg); cannam@167: T8q = VFNMS(LDK(KP414213562), T8p, T8o); cannam@167: T8t = VFMA(LDK(KP414213562), T8s, T8r); cannam@167: T8u = VADD(T8q, T8t); cannam@167: T9A = VSUB(T8t, T8q); cannam@167: } cannam@167: } cannam@167: { cannam@167: V TeJ, TeK, TeL, TeM, TeN, TeO, TeP, TeQ, TeR, TeS, TeT, TeU, TeV, TeW, TeX; cannam@167: V TeY, TeZ, Tf0, Tf1, Tf2, Tf3, Tf4, Tf5, Tf6, Tf7, Tf8, Tf9, Tfa, Tfb, Tfc; cannam@167: V Tfd, Tfe, Tff, Tfg, Tfh, Tfi, Tfj, Tfk, Tfl, Tfm, Tfn, Tfo, Tfp, Tfq, Tfr; cannam@167: V Tfs, Tft, Tfu; cannam@167: { cannam@167: V T11, TeD, TeG, TeI, T22, T23, T34, TeH; cannam@167: { cannam@167: V Tv, T10, TeE, TeF; cannam@167: Tv = VADD(Tf, Tu); cannam@167: T10 = VADD(TK, TZ); cannam@167: T11 = VADD(Tv, T10); cannam@167: TeD = VSUB(Tv, T10); cannam@167: TeE = VADD(Tej, Tek); cannam@167: TeF = VADD(Teo, Tep); cannam@167: TeG = VSUB(TeE, TeF); cannam@167: TeI = VADD(TeE, TeF); cannam@167: } cannam@167: { cannam@167: V T1w, T21, T2y, T33; cannam@167: T1w = VADD(T1g, T1v); cannam@167: T21 = VADD(T1L, T20); cannam@167: T22 = VADD(T1w, T21); cannam@167: T23 = VSUB(T21, T1w); cannam@167: T2y = VADD(T2i, T2x); cannam@167: T33 = VADD(T2N, T32); cannam@167: T34 = VSUB(T2y, T33); cannam@167: TeH = VADD(T2y, T33); cannam@167: } cannam@167: TeJ = VSUB(T11, T22); cannam@167: STM4(&(ro[32]), TeJ, ovs, &(ro[0])); cannam@167: TeK = VSUB(TeH, TeI); cannam@167: STM4(&(io[32]), TeK, ovs, &(io[0])); cannam@167: TeL = VADD(T11, T22); cannam@167: STM4(&(ro[0]), TeL, ovs, &(ro[0])); cannam@167: TeM = VADD(TeH, TeI); cannam@167: STM4(&(io[0]), TeM, ovs, &(io[0])); cannam@167: TeN = VADD(T23, T34); cannam@167: STM4(&(io[16]), TeN, ovs, &(io[0])); cannam@167: TeO = VADD(TeD, TeG); cannam@167: STM4(&(ro[16]), TeO, ovs, &(ro[0])); cannam@167: TeP = VSUB(T34, T23); cannam@167: STM4(&(io[48]), TeP, ovs, &(io[0])); cannam@167: TeQ = VSUB(TeD, TeG); cannam@167: STM4(&(ro[48]), TeQ, ovs, &(ro[0])); cannam@167: } cannam@167: { cannam@167: V Teh, Tex, Tev, TeB, Tem, Tey, Ter, Tez; cannam@167: { cannam@167: V Tef, Teg, Tet, Teu; cannam@167: Tef = VSUB(Tf, Tu); cannam@167: Teg = VSUB(T2N, T32); cannam@167: Teh = VADD(Tef, Teg); cannam@167: Tex = VSUB(Tef, Teg); cannam@167: Tet = VSUB(T2i, T2x); cannam@167: Teu = VSUB(TZ, TK); cannam@167: Tev = VSUB(Tet, Teu); cannam@167: TeB = VADD(Teu, Tet); cannam@167: } cannam@167: { cannam@167: V Tei, Tel, Ten, Teq; cannam@167: Tei = VSUB(T1g, T1v); cannam@167: Tel = VSUB(Tej, Tek); cannam@167: Tem = VADD(Tei, Tel); cannam@167: Tey = VSUB(Tel, Tei); cannam@167: Ten = VSUB(T1L, T20); cannam@167: Teq = VSUB(Teo, Tep); cannam@167: Ter = VSUB(Ten, Teq); cannam@167: Tez = VADD(Ten, Teq); cannam@167: } cannam@167: { cannam@167: V Tes, TeC, Tew, TeA; cannam@167: Tes = VADD(Tem, Ter); cannam@167: TeR = VFNMS(LDK(KP707106781), Tes, Teh); cannam@167: STM4(&(ro[40]), TeR, ovs, &(ro[0])); cannam@167: TeS = VFMA(LDK(KP707106781), Tes, Teh); cannam@167: STM4(&(ro[8]), TeS, ovs, &(ro[0])); cannam@167: TeC = VADD(Tey, Tez); cannam@167: TeT = VFNMS(LDK(KP707106781), TeC, TeB); cannam@167: STM4(&(io[40]), TeT, ovs, &(io[0])); cannam@167: TeU = VFMA(LDK(KP707106781), TeC, TeB); cannam@167: STM4(&(io[8]), TeU, ovs, &(io[0])); cannam@167: Tew = VSUB(Ter, Tem); cannam@167: TeV = VFNMS(LDK(KP707106781), Tew, Tev); cannam@167: STM4(&(io[56]), TeV, ovs, &(io[0])); cannam@167: TeW = VFMA(LDK(KP707106781), Tew, Tev); cannam@167: STM4(&(io[24]), TeW, ovs, &(io[0])); cannam@167: TeA = VSUB(Tey, Tez); cannam@167: TeX = VFNMS(LDK(KP707106781), TeA, Tex); cannam@167: STM4(&(ro[56]), TeX, ovs, &(ro[0])); cannam@167: TeY = VFMA(LDK(KP707106781), TeA, Tex); cannam@167: STM4(&(ro[24]), TeY, ovs, &(ro[0])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tdb, TdV, Te5, TdJ, Tdi, Te6, Te3, Teb, TdM, TdW, Tdu, TdR, Te0, Tea, TdF; cannam@167: V TdQ; cannam@167: { cannam@167: V Tde, Tdh, Tdo, Tdt; cannam@167: Tdb = VSUB(Td9, Tda); cannam@167: TdV = VADD(Td9, Tda); cannam@167: Te5 = VADD(TdI, TdH); cannam@167: TdJ = VSUB(TdH, TdI); cannam@167: Tde = VSUB(Tdc, Tdd); cannam@167: Tdh = VADD(Tdf, Tdg); cannam@167: Tdi = VSUB(Tde, Tdh); cannam@167: Te6 = VADD(Tde, Tdh); cannam@167: { cannam@167: V Te1, Te2, TdK, TdL; cannam@167: Te1 = VADD(TdA, TdD); cannam@167: Te2 = VADD(Tdy, Tdx); cannam@167: Te3 = VFNMS(LDK(KP414213562), Te2, Te1); cannam@167: Teb = VFMA(LDK(KP414213562), Te1, Te2); cannam@167: TdK = VSUB(Tdf, Tdg); cannam@167: TdL = VADD(Tdd, Tdc); cannam@167: TdM = VSUB(TdK, TdL); cannam@167: TdW = VADD(TdL, TdK); cannam@167: } cannam@167: Tdo = VSUB(Tdm, Tdn); cannam@167: Tdt = VSUB(Tdp, Tds); cannam@167: Tdu = VFMA(LDK(KP414213562), Tdt, Tdo); cannam@167: TdR = VFNMS(LDK(KP414213562), Tdo, Tdt); cannam@167: { cannam@167: V TdY, TdZ, Tdz, TdE; cannam@167: TdY = VADD(Tdp, Tds); cannam@167: TdZ = VADD(Tdn, Tdm); cannam@167: Te0 = VFMA(LDK(KP414213562), TdZ, TdY); cannam@167: Tea = VFNMS(LDK(KP414213562), TdY, TdZ); cannam@167: Tdz = VSUB(Tdx, Tdy); cannam@167: TdE = VSUB(TdA, TdD); cannam@167: TdF = VFNMS(LDK(KP414213562), TdE, Tdz); cannam@167: TdQ = VFMA(LDK(KP414213562), Tdz, TdE); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tdj, TdG, TdP, TdS; cannam@167: Tdj = VFMA(LDK(KP707106781), Tdi, Tdb); cannam@167: TdG = VSUB(Tdu, TdF); cannam@167: TeZ = VFNMS(LDK(KP923879532), TdG, Tdj); cannam@167: STM4(&(ro[44]), TeZ, ovs, &(ro[0])); cannam@167: Tf0 = VFMA(LDK(KP923879532), TdG, Tdj); cannam@167: STM4(&(ro[12]), Tf0, ovs, &(ro[0])); cannam@167: TdP = VFMA(LDK(KP707106781), TdM, TdJ); cannam@167: TdS = VSUB(TdQ, TdR); cannam@167: Tf1 = VFNMS(LDK(KP923879532), TdS, TdP); cannam@167: STM4(&(io[44]), Tf1, ovs, &(io[0])); cannam@167: Tf2 = VFMA(LDK(KP923879532), TdS, TdP); cannam@167: STM4(&(io[12]), Tf2, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V TdN, TdO, TdT, TdU; cannam@167: TdN = VFNMS(LDK(KP707106781), TdM, TdJ); cannam@167: TdO = VADD(Tdu, TdF); cannam@167: Tf3 = VFNMS(LDK(KP923879532), TdO, TdN); cannam@167: STM4(&(io[28]), Tf3, ovs, &(io[0])); cannam@167: Tf4 = VFMA(LDK(KP923879532), TdO, TdN); cannam@167: STM4(&(io[60]), Tf4, ovs, &(io[0])); cannam@167: TdT = VFNMS(LDK(KP707106781), Tdi, Tdb); cannam@167: TdU = VADD(TdR, TdQ); cannam@167: Tf5 = VFNMS(LDK(KP923879532), TdU, TdT); cannam@167: STM4(&(ro[28]), Tf5, ovs, &(ro[0])); cannam@167: Tf6 = VFMA(LDK(KP923879532), TdU, TdT); cannam@167: STM4(&(ro[60]), Tf6, ovs, &(ro[0])); cannam@167: } cannam@167: { cannam@167: V TdX, Te4, Ted, Tee; cannam@167: TdX = VFMA(LDK(KP707106781), TdW, TdV); cannam@167: Te4 = VADD(Te0, Te3); cannam@167: Tf7 = VFNMS(LDK(KP923879532), Te4, TdX); cannam@167: STM4(&(ro[36]), Tf7, ovs, &(ro[0])); cannam@167: Tf8 = VFMA(LDK(KP923879532), Te4, TdX); cannam@167: STM4(&(ro[4]), Tf8, ovs, &(ro[0])); cannam@167: Ted = VFMA(LDK(KP707106781), Te6, Te5); cannam@167: Tee = VADD(Tea, Teb); cannam@167: Tf9 = VFNMS(LDK(KP923879532), Tee, Ted); cannam@167: STM4(&(io[36]), Tf9, ovs, &(io[0])); cannam@167: Tfa = VFMA(LDK(KP923879532), Tee, Ted); cannam@167: STM4(&(io[4]), Tfa, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V Te7, Te8, Te9, Tec; cannam@167: Te7 = VFNMS(LDK(KP707106781), Te6, Te5); cannam@167: Te8 = VSUB(Te3, Te0); cannam@167: Tfb = VFNMS(LDK(KP923879532), Te8, Te7); cannam@167: STM4(&(io[52]), Tfb, ovs, &(io[0])); cannam@167: Tfc = VFMA(LDK(KP923879532), Te8, Te7); cannam@167: STM4(&(io[20]), Tfc, ovs, &(io[0])); cannam@167: Te9 = VFNMS(LDK(KP707106781), TdW, TdV); cannam@167: Tec = VSUB(Tea, Teb); cannam@167: Tfd = VFNMS(LDK(KP923879532), Tec, Te9); cannam@167: STM4(&(ro[52]), Tfd, ovs, &(ro[0])); cannam@167: Tfe = VFMA(LDK(KP923879532), Tec, Te9); cannam@167: STM4(&(ro[20]), Tfe, ovs, &(ro[0])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tcd, TcP, TcD, TcZ, Tck, Td0, TcX, Td4, Tcs, TcK, TcG, TcQ, TcU, Td5, Tcz; cannam@167: V TcL, Tcc, TcC; cannam@167: Tcc = VSUB(TbC, TbD); cannam@167: Tcd = VFMA(LDK(KP707106781), Tcc, Tcb); cannam@167: TcP = VFNMS(LDK(KP707106781), Tcc, Tcb); cannam@167: TcC = VSUB(Tan, Tak); cannam@167: TcD = VFMA(LDK(KP707106781), TcC, TcB); cannam@167: TcZ = VFNMS(LDK(KP707106781), TcC, TcB); cannam@167: { cannam@167: V Tcg, Tcj, TcV, TcW; cannam@167: Tcg = VFMA(LDK(KP414213562), Tcf, Tce); cannam@167: Tcj = VFNMS(LDK(KP414213562), Tci, Tch); cannam@167: Tck = VSUB(Tcg, Tcj); cannam@167: Td0 = VADD(Tcg, Tcj); cannam@167: TcV = VFMA(LDK(KP707106781), Tcx, Tcw); cannam@167: TcW = VFMA(LDK(KP707106781), Tcu, Tct); cannam@167: TcX = VFNMS(LDK(KP198912367), TcW, TcV); cannam@167: Td4 = VFMA(LDK(KP198912367), TcV, TcW); cannam@167: } cannam@167: { cannam@167: V Tco, Tcr, TcE, TcF; cannam@167: Tco = VFNMS(LDK(KP707106781), Tcn, Tcm); cannam@167: Tcr = VFNMS(LDK(KP707106781), Tcq, Tcp); cannam@167: Tcs = VFMA(LDK(KP668178637), Tcr, Tco); cannam@167: TcK = VFNMS(LDK(KP668178637), Tco, Tcr); cannam@167: TcE = VFMA(LDK(KP414213562), Tch, Tci); cannam@167: TcF = VFNMS(LDK(KP414213562), Tce, Tcf); cannam@167: TcG = VSUB(TcE, TcF); cannam@167: TcQ = VADD(TcF, TcE); cannam@167: } cannam@167: { cannam@167: V TcS, TcT, Tcv, Tcy; cannam@167: TcS = VFMA(LDK(KP707106781), Tcq, Tcp); cannam@167: TcT = VFMA(LDK(KP707106781), Tcn, Tcm); cannam@167: TcU = VFMA(LDK(KP198912367), TcT, TcS); cannam@167: Td5 = VFNMS(LDK(KP198912367), TcS, TcT); cannam@167: Tcv = VFNMS(LDK(KP707106781), Tcu, Tct); cannam@167: Tcy = VFNMS(LDK(KP707106781), Tcx, Tcw); cannam@167: Tcz = VFNMS(LDK(KP668178637), Tcy, Tcv); cannam@167: TcL = VFMA(LDK(KP668178637), Tcv, Tcy); cannam@167: } cannam@167: { cannam@167: V Tcl, TcA, TcN, TcO; cannam@167: Tcl = VFMA(LDK(KP923879532), Tck, Tcd); cannam@167: TcA = VADD(Tcs, Tcz); cannam@167: Tff = VFNMS(LDK(KP831469612), TcA, Tcl); cannam@167: STM4(&(ro[38]), Tff, ovs, &(ro[0])); cannam@167: Tfg = VFMA(LDK(KP831469612), TcA, Tcl); cannam@167: STM4(&(ro[6]), Tfg, ovs, &(ro[0])); cannam@167: TcN = VFMA(LDK(KP923879532), TcG, TcD); cannam@167: TcO = VADD(TcK, TcL); cannam@167: Tfh = VFNMS(LDK(KP831469612), TcO, TcN); cannam@167: STM4(&(io[38]), Tfh, ovs, &(io[0])); cannam@167: Tfi = VFMA(LDK(KP831469612), TcO, TcN); cannam@167: STM4(&(io[6]), Tfi, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V TcH, TcI, TcJ, TcM; cannam@167: TcH = VFNMS(LDK(KP923879532), TcG, TcD); cannam@167: TcI = VSUB(Tcz, Tcs); cannam@167: Tfj = VFNMS(LDK(KP831469612), TcI, TcH); cannam@167: STM4(&(io[54]), Tfj, ovs, &(io[0])); cannam@167: Tfk = VFMA(LDK(KP831469612), TcI, TcH); cannam@167: STM4(&(io[22]), Tfk, ovs, &(io[0])); cannam@167: TcJ = VFNMS(LDK(KP923879532), Tck, Tcd); cannam@167: TcM = VSUB(TcK, TcL); cannam@167: Tfl = VFNMS(LDK(KP831469612), TcM, TcJ); cannam@167: STM4(&(ro[54]), Tfl, ovs, &(ro[0])); cannam@167: Tfm = VFMA(LDK(KP831469612), TcM, TcJ); cannam@167: STM4(&(ro[22]), Tfm, ovs, &(ro[0])); cannam@167: } cannam@167: { cannam@167: V TcR, TcY, Td3, Td6; cannam@167: TcR = VFNMS(LDK(KP923879532), TcQ, TcP); cannam@167: TcY = VSUB(TcU, TcX); cannam@167: Tfn = VFNMS(LDK(KP980785280), TcY, TcR); cannam@167: STM4(&(ro[46]), Tfn, ovs, &(ro[0])); cannam@167: Tfo = VFMA(LDK(KP980785280), TcY, TcR); cannam@167: STM4(&(ro[14]), Tfo, ovs, &(ro[0])); cannam@167: Td3 = VFNMS(LDK(KP923879532), Td0, TcZ); cannam@167: Td6 = VSUB(Td4, Td5); cannam@167: Tfp = VFNMS(LDK(KP980785280), Td6, Td3); cannam@167: STM4(&(io[46]), Tfp, ovs, &(io[0])); cannam@167: Tfq = VFMA(LDK(KP980785280), Td6, Td3); cannam@167: STM4(&(io[14]), Tfq, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V Td1, Td2, Td7, Td8; cannam@167: Td1 = VFMA(LDK(KP923879532), Td0, TcZ); cannam@167: Td2 = VADD(TcU, TcX); cannam@167: Tfr = VFNMS(LDK(KP980785280), Td2, Td1); cannam@167: STM4(&(io[30]), Tfr, ovs, &(io[0])); cannam@167: Tfs = VFMA(LDK(KP980785280), Td2, Td1); cannam@167: STM4(&(io[62]), Tfs, ovs, &(io[0])); cannam@167: Td7 = VFMA(LDK(KP923879532), TcQ, TcP); cannam@167: Td8 = VADD(Td5, Td4); cannam@167: Tft = VFNMS(LDK(KP980785280), Td8, Td7); cannam@167: STM4(&(ro[30]), Tft, ovs, &(ro[0])); cannam@167: Tfu = VFMA(LDK(KP980785280), Td8, Td7); cannam@167: STM4(&(ro[62]), Tfu, ovs, &(ro[0])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tfv, Tfw, Tfx, Tfy, Tfz, TfA, TfB, TfC, TfD, TfE, TfF, TfG, TfH, TfI, TfJ; cannam@167: V TfK, TfL, TfM, TfN, TfO, TfP, TfQ, TfR, TfS, TfT, TfU, TfV, TfW, TfX, TfY; cannam@167: V TfZ, Tg0; cannam@167: { cannam@167: V Tap, TbR, TbF, Tc1, TaE, Tc2, TbZ, Tc7, Tb6, TbN, TbI, TbS, TbW, Tc6, Tbx; cannam@167: V TbM, Tao, TbE; cannam@167: Tao = VADD(Tak, Tan); cannam@167: Tap = VFNMS(LDK(KP707106781), Tao, Tah); cannam@167: TbR = VFMA(LDK(KP707106781), Tao, Tah); cannam@167: TbE = VADD(TbC, TbD); cannam@167: TbF = VFNMS(LDK(KP707106781), TbE, TbB); cannam@167: Tc1 = VFMA(LDK(KP707106781), TbE, TbB); cannam@167: { cannam@167: V Taw, TaD, TbX, TbY; cannam@167: Taw = VFNMS(LDK(KP414213562), Tav, Tas); cannam@167: TaD = VFMA(LDK(KP414213562), TaC, Taz); cannam@167: TaE = VSUB(Taw, TaD); cannam@167: Tc2 = VADD(Taw, TaD); cannam@167: TbX = VFMA(LDK(KP707106781), Tbv, Tbs); cannam@167: TbY = VFMA(LDK(KP707106781), Tbm, Tbb); cannam@167: TbZ = VFNMS(LDK(KP198912367), TbY, TbX); cannam@167: Tc7 = VFMA(LDK(KP198912367), TbX, TbY); cannam@167: } cannam@167: { cannam@167: V TaW, Tb5, TbG, TbH; cannam@167: TaW = VFNMS(LDK(KP707106781), TaV, TaK); cannam@167: Tb5 = VFNMS(LDK(KP707106781), Tb4, Tb1); cannam@167: Tb6 = VFMA(LDK(KP668178637), Tb5, TaW); cannam@167: TbN = VFNMS(LDK(KP668178637), TaW, Tb5); cannam@167: TbG = VFNMS(LDK(KP414213562), Taz, TaC); cannam@167: TbH = VFMA(LDK(KP414213562), Tas, Tav); cannam@167: TbI = VSUB(TbG, TbH); cannam@167: TbS = VADD(TbH, TbG); cannam@167: } cannam@167: { cannam@167: V TbU, TbV, Tbn, Tbw; cannam@167: TbU = VFMA(LDK(KP707106781), Tb4, Tb1); cannam@167: TbV = VFMA(LDK(KP707106781), TaV, TaK); cannam@167: TbW = VFMA(LDK(KP198912367), TbV, TbU); cannam@167: Tc6 = VFNMS(LDK(KP198912367), TbU, TbV); cannam@167: Tbn = VFNMS(LDK(KP707106781), Tbm, Tbb); cannam@167: Tbw = VFNMS(LDK(KP707106781), Tbv, Tbs); cannam@167: Tbx = VFNMS(LDK(KP668178637), Tbw, Tbn); cannam@167: TbM = VFMA(LDK(KP668178637), Tbn, Tbw); cannam@167: } cannam@167: { cannam@167: V TaF, Tby, TbL, TbO; cannam@167: TaF = VFMA(LDK(KP923879532), TaE, Tap); cannam@167: Tby = VSUB(Tb6, Tbx); cannam@167: Tfv = VFNMS(LDK(KP831469612), Tby, TaF); cannam@167: STM4(&(ro[42]), Tfv, ovs, &(ro[0])); cannam@167: Tfw = VFMA(LDK(KP831469612), Tby, TaF); cannam@167: STM4(&(ro[10]), Tfw, ovs, &(ro[0])); cannam@167: TbL = VFMA(LDK(KP923879532), TbI, TbF); cannam@167: TbO = VSUB(TbM, TbN); cannam@167: Tfx = VFNMS(LDK(KP831469612), TbO, TbL); cannam@167: STM4(&(io[42]), Tfx, ovs, &(io[0])); cannam@167: Tfy = VFMA(LDK(KP831469612), TbO, TbL); cannam@167: STM4(&(io[10]), Tfy, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V TbJ, TbK, TbP, TbQ; cannam@167: TbJ = VFNMS(LDK(KP923879532), TbI, TbF); cannam@167: TbK = VADD(Tb6, Tbx); cannam@167: Tfz = VFNMS(LDK(KP831469612), TbK, TbJ); cannam@167: STM4(&(io[26]), Tfz, ovs, &(io[0])); cannam@167: TfA = VFMA(LDK(KP831469612), TbK, TbJ); cannam@167: STM4(&(io[58]), TfA, ovs, &(io[0])); cannam@167: TbP = VFNMS(LDK(KP923879532), TaE, Tap); cannam@167: TbQ = VADD(TbN, TbM); cannam@167: TfB = VFNMS(LDK(KP831469612), TbQ, TbP); cannam@167: STM4(&(ro[26]), TfB, ovs, &(ro[0])); cannam@167: TfC = VFMA(LDK(KP831469612), TbQ, TbP); cannam@167: STM4(&(ro[58]), TfC, ovs, &(ro[0])); cannam@167: } cannam@167: { cannam@167: V TbT, Tc0, Tc9, Tca; cannam@167: TbT = VFMA(LDK(KP923879532), TbS, TbR); cannam@167: Tc0 = VADD(TbW, TbZ); cannam@167: TfD = VFNMS(LDK(KP980785280), Tc0, TbT); cannam@167: STM4(&(ro[34]), TfD, ovs, &(ro[0])); cannam@167: TfE = VFMA(LDK(KP980785280), Tc0, TbT); cannam@167: STM4(&(ro[2]), TfE, ovs, &(ro[0])); cannam@167: Tc9 = VFMA(LDK(KP923879532), Tc2, Tc1); cannam@167: Tca = VADD(Tc6, Tc7); cannam@167: TfF = VFNMS(LDK(KP980785280), Tca, Tc9); cannam@167: STM4(&(io[34]), TfF, ovs, &(io[0])); cannam@167: TfG = VFMA(LDK(KP980785280), Tca, Tc9); cannam@167: STM4(&(io[2]), TfG, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V Tc3, Tc4, Tc5, Tc8; cannam@167: Tc3 = VFNMS(LDK(KP923879532), Tc2, Tc1); cannam@167: Tc4 = VSUB(TbZ, TbW); cannam@167: TfH = VFNMS(LDK(KP980785280), Tc4, Tc3); cannam@167: STM4(&(io[50]), TfH, ovs, &(io[0])); cannam@167: TfI = VFMA(LDK(KP980785280), Tc4, Tc3); cannam@167: STM4(&(io[18]), TfI, ovs, &(io[0])); cannam@167: Tc5 = VFNMS(LDK(KP923879532), TbS, TbR); cannam@167: Tc8 = VSUB(Tc6, Tc7); cannam@167: TfJ = VFNMS(LDK(KP980785280), Tc8, Tc5); cannam@167: STM4(&(ro[50]), TfJ, ovs, &(ro[0])); cannam@167: TfK = VFMA(LDK(KP980785280), Tc8, Tc5); cannam@167: STM4(&(ro[18]), TfK, ovs, &(ro[0])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T6F, T7h, T7m, T7x, T7p, T7w, T6M, T7s, T6U, T7c, T75, T7r, T78, T7i, T71; cannam@167: V T7d; cannam@167: { cannam@167: V T6D, T6E, T7k, T7l; cannam@167: T6D = VFNMS(LDK(KP707106781), T3e, T37); cannam@167: T6E = VADD(T65, T64); cannam@167: T6F = VFNMS(LDK(KP923879532), T6E, T6D); cannam@167: T7h = VFMA(LDK(KP923879532), T6E, T6D); cannam@167: T7k = VFMA(LDK(KP923879532), T6S, T6R); cannam@167: T7l = VFMA(LDK(KP923879532), T6P, T6O); cannam@167: T7m = VFMA(LDK(KP098491403), T7l, T7k); cannam@167: T7x = VFNMS(LDK(KP098491403), T7k, T7l); cannam@167: } cannam@167: { cannam@167: V T7n, T7o, T6I, T6L; cannam@167: T7n = VFMA(LDK(KP923879532), T6Z, T6Y); cannam@167: T7o = VFMA(LDK(KP923879532), T6W, T6V); cannam@167: T7p = VFNMS(LDK(KP098491403), T7o, T7n); cannam@167: T7w = VFMA(LDK(KP098491403), T7n, T7o); cannam@167: T6I = VFMA(LDK(KP198912367), T6H, T6G); cannam@167: T6L = VFNMS(LDK(KP198912367), T6K, T6J); cannam@167: T6M = VSUB(T6I, T6L); cannam@167: T7s = VADD(T6I, T6L); cannam@167: } cannam@167: { cannam@167: V T6Q, T6T, T73, T74; cannam@167: T6Q = VFNMS(LDK(KP923879532), T6P, T6O); cannam@167: T6T = VFNMS(LDK(KP923879532), T6S, T6R); cannam@167: T6U = VFMA(LDK(KP820678790), T6T, T6Q); cannam@167: T7c = VFNMS(LDK(KP820678790), T6Q, T6T); cannam@167: T73 = VFNMS(LDK(KP707106781), T62, T5Z); cannam@167: T74 = VADD(T3m, T3t); cannam@167: T75 = VFNMS(LDK(KP923879532), T74, T73); cannam@167: T7r = VFMA(LDK(KP923879532), T74, T73); cannam@167: } cannam@167: { cannam@167: V T76, T77, T6X, T70; cannam@167: T76 = VFMA(LDK(KP198912367), T6J, T6K); cannam@167: T77 = VFNMS(LDK(KP198912367), T6G, T6H); cannam@167: T78 = VSUB(T76, T77); cannam@167: T7i = VADD(T77, T76); cannam@167: T6X = VFNMS(LDK(KP923879532), T6W, T6V); cannam@167: T70 = VFNMS(LDK(KP923879532), T6Z, T6Y); cannam@167: T71 = VFNMS(LDK(KP820678790), T70, T6X); cannam@167: T7d = VFMA(LDK(KP820678790), T6X, T70); cannam@167: } cannam@167: { cannam@167: V T6N, T72, T7f, T7g; cannam@167: T6N = VFMA(LDK(KP980785280), T6M, T6F); cannam@167: T72 = VADD(T6U, T71); cannam@167: TfL = VFNMS(LDK(KP773010453), T72, T6N); cannam@167: STM4(&(ro[39]), TfL, ovs, &(ro[1])); cannam@167: TfM = VFMA(LDK(KP773010453), T72, T6N); cannam@167: STM4(&(ro[7]), TfM, ovs, &(ro[1])); cannam@167: T7f = VFMA(LDK(KP980785280), T78, T75); cannam@167: T7g = VADD(T7c, T7d); cannam@167: TfN = VFNMS(LDK(KP773010453), T7g, T7f); cannam@167: STM4(&(io[39]), TfN, ovs, &(io[1])); cannam@167: TfO = VFMA(LDK(KP773010453), T7g, T7f); cannam@167: STM4(&(io[7]), TfO, ovs, &(io[1])); cannam@167: } cannam@167: { cannam@167: V T79, T7a, T7b, T7e; cannam@167: T79 = VFNMS(LDK(KP980785280), T78, T75); cannam@167: T7a = VSUB(T71, T6U); cannam@167: TfP = VFNMS(LDK(KP773010453), T7a, T79); cannam@167: STM4(&(io[55]), TfP, ovs, &(io[1])); cannam@167: TfQ = VFMA(LDK(KP773010453), T7a, T79); cannam@167: STM4(&(io[23]), TfQ, ovs, &(io[1])); cannam@167: T7b = VFNMS(LDK(KP980785280), T6M, T6F); cannam@167: T7e = VSUB(T7c, T7d); cannam@167: TfR = VFNMS(LDK(KP773010453), T7e, T7b); cannam@167: STM4(&(ro[55]), TfR, ovs, &(ro[1])); cannam@167: TfS = VFMA(LDK(KP773010453), T7e, T7b); cannam@167: STM4(&(ro[23]), TfS, ovs, &(ro[1])); cannam@167: } cannam@167: { cannam@167: V T7j, T7q, T7v, T7y; cannam@167: T7j = VFNMS(LDK(KP980785280), T7i, T7h); cannam@167: T7q = VSUB(T7m, T7p); cannam@167: TfT = VFNMS(LDK(KP995184726), T7q, T7j); cannam@167: STM4(&(ro[47]), TfT, ovs, &(ro[1])); cannam@167: TfU = VFMA(LDK(KP995184726), T7q, T7j); cannam@167: STM4(&(ro[15]), TfU, ovs, &(ro[1])); cannam@167: T7v = VFNMS(LDK(KP980785280), T7s, T7r); cannam@167: T7y = VSUB(T7w, T7x); cannam@167: TfV = VFNMS(LDK(KP995184726), T7y, T7v); cannam@167: STM4(&(io[47]), TfV, ovs, &(io[1])); cannam@167: TfW = VFMA(LDK(KP995184726), T7y, T7v); cannam@167: STM4(&(io[15]), TfW, ovs, &(io[1])); cannam@167: } cannam@167: { cannam@167: V T7t, T7u, T7z, T7A; cannam@167: T7t = VFMA(LDK(KP980785280), T7s, T7r); cannam@167: T7u = VADD(T7m, T7p); cannam@167: TfX = VFNMS(LDK(KP995184726), T7u, T7t); cannam@167: STM4(&(io[31]), TfX, ovs, &(io[1])); cannam@167: TfY = VFMA(LDK(KP995184726), T7u, T7t); cannam@167: STM4(&(io[63]), TfY, ovs, &(io[1])); cannam@167: T7z = VFMA(LDK(KP980785280), T7i, T7h); cannam@167: T7A = VADD(T7x, T7w); cannam@167: TfZ = VFNMS(LDK(KP995184726), T7A, T7z); cannam@167: STM4(&(ro[31]), TfZ, ovs, &(ro[1])); cannam@167: Tg0 = VFMA(LDK(KP995184726), T7A, T7z); cannam@167: STM4(&(ro[63]), Tg0, ovs, &(ro[1])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T9j, T9V, Ta0, Tab, Ta3, Taa, T9q, Ta6, T9y, T9Q, T9J, Ta5, T9M, T9W, T9F; cannam@167: V T9R; cannam@167: { cannam@167: V T9h, T9i, T9Y, T9Z; cannam@167: T9h = VFNMS(LDK(KP707106781), T7C, T7B); cannam@167: T9i = VSUB(T8I, T8J); cannam@167: T9j = VFMA(LDK(KP923879532), T9i, T9h); cannam@167: T9V = VFNMS(LDK(KP923879532), T9i, T9h); cannam@167: T9Y = VFMA(LDK(KP923879532), T9w, T9v); cannam@167: T9Z = VFMA(LDK(KP923879532), T9t, T9s); cannam@167: Ta0 = VFMA(LDK(KP303346683), T9Z, T9Y); cannam@167: Tab = VFNMS(LDK(KP303346683), T9Y, T9Z); cannam@167: } cannam@167: { cannam@167: V Ta1, Ta2, T9m, T9p; cannam@167: Ta1 = VFMA(LDK(KP923879532), T9D, T9C); cannam@167: Ta2 = VFMA(LDK(KP923879532), T9A, T9z); cannam@167: Ta3 = VFNMS(LDK(KP303346683), Ta2, Ta1); cannam@167: Taa = VFMA(LDK(KP303346683), Ta1, Ta2); cannam@167: T9m = VFMA(LDK(KP668178637), T9l, T9k); cannam@167: T9p = VFNMS(LDK(KP668178637), T9o, T9n); cannam@167: T9q = VSUB(T9m, T9p); cannam@167: Ta6 = VADD(T9m, T9p); cannam@167: } cannam@167: { cannam@167: V T9u, T9x, T9H, T9I; cannam@167: T9u = VFNMS(LDK(KP923879532), T9t, T9s); cannam@167: T9x = VFNMS(LDK(KP923879532), T9w, T9v); cannam@167: T9y = VFMA(LDK(KP534511135), T9x, T9u); cannam@167: T9Q = VFNMS(LDK(KP534511135), T9u, T9x); cannam@167: T9H = VFNMS(LDK(KP707106781), T8G, T8F); cannam@167: T9I = VSUB(T7J, T7G); cannam@167: T9J = VFMA(LDK(KP923879532), T9I, T9H); cannam@167: Ta5 = VFNMS(LDK(KP923879532), T9I, T9H); cannam@167: } cannam@167: { cannam@167: V T9K, T9L, T9B, T9E; cannam@167: T9K = VFMA(LDK(KP668178637), T9n, T9o); cannam@167: T9L = VFNMS(LDK(KP668178637), T9k, T9l); cannam@167: T9M = VSUB(T9K, T9L); cannam@167: T9W = VADD(T9L, T9K); cannam@167: T9B = VFNMS(LDK(KP923879532), T9A, T9z); cannam@167: T9E = VFNMS(LDK(KP923879532), T9D, T9C); cannam@167: T9F = VFNMS(LDK(KP534511135), T9E, T9B); cannam@167: T9R = VFMA(LDK(KP534511135), T9B, T9E); cannam@167: } cannam@167: { cannam@167: V T9r, T9G, Tg1, Tg2; cannam@167: T9r = VFMA(LDK(KP831469612), T9q, T9j); cannam@167: T9G = VADD(T9y, T9F); cannam@167: Tg1 = VFNMS(LDK(KP881921264), T9G, T9r); cannam@167: STM4(&(ro[37]), Tg1, ovs, &(ro[1])); cannam@167: STN4(&(ro[36]), Tf7, Tg1, Tff, TfL, ovs); cannam@167: Tg2 = VFMA(LDK(KP881921264), T9G, T9r); cannam@167: STM4(&(ro[5]), Tg2, ovs, &(ro[1])); cannam@167: STN4(&(ro[4]), Tf8, Tg2, Tfg, TfM, ovs); cannam@167: } cannam@167: { cannam@167: V T9T, T9U, Tg3, Tg4; cannam@167: T9T = VFMA(LDK(KP831469612), T9M, T9J); cannam@167: T9U = VADD(T9Q, T9R); cannam@167: Tg3 = VFNMS(LDK(KP881921264), T9U, T9T); cannam@167: STM4(&(io[37]), Tg3, ovs, &(io[1])); cannam@167: STN4(&(io[36]), Tf9, Tg3, Tfh, TfN, ovs); cannam@167: Tg4 = VFMA(LDK(KP881921264), T9U, T9T); cannam@167: STM4(&(io[5]), Tg4, ovs, &(io[1])); cannam@167: STN4(&(io[4]), Tfa, Tg4, Tfi, TfO, ovs); cannam@167: } cannam@167: { cannam@167: V T9N, T9O, Tg5, Tg6; cannam@167: T9N = VFNMS(LDK(KP831469612), T9M, T9J); cannam@167: T9O = VSUB(T9F, T9y); cannam@167: Tg5 = VFNMS(LDK(KP881921264), T9O, T9N); cannam@167: STM4(&(io[53]), Tg5, ovs, &(io[1])); cannam@167: STN4(&(io[52]), Tfb, Tg5, Tfj, TfP, ovs); cannam@167: Tg6 = VFMA(LDK(KP881921264), T9O, T9N); cannam@167: STM4(&(io[21]), Tg6, ovs, &(io[1])); cannam@167: STN4(&(io[20]), Tfc, Tg6, Tfk, TfQ, ovs); cannam@167: } cannam@167: { cannam@167: V T9P, T9S, Tg7, Tg8; cannam@167: T9P = VFNMS(LDK(KP831469612), T9q, T9j); cannam@167: T9S = VSUB(T9Q, T9R); cannam@167: Tg7 = VFNMS(LDK(KP881921264), T9S, T9P); cannam@167: STM4(&(ro[53]), Tg7, ovs, &(ro[1])); cannam@167: STN4(&(ro[52]), Tfd, Tg7, Tfl, TfR, ovs); cannam@167: Tg8 = VFMA(LDK(KP881921264), T9S, T9P); cannam@167: STM4(&(ro[21]), Tg8, ovs, &(ro[1])); cannam@167: STN4(&(ro[20]), Tfe, Tg8, Tfm, TfS, ovs); cannam@167: } cannam@167: { cannam@167: V T9X, Ta4, Tg9, Tga; cannam@167: T9X = VFNMS(LDK(KP831469612), T9W, T9V); cannam@167: Ta4 = VSUB(Ta0, Ta3); cannam@167: Tg9 = VFNMS(LDK(KP956940335), Ta4, T9X); cannam@167: STM4(&(ro[45]), Tg9, ovs, &(ro[1])); cannam@167: STN4(&(ro[44]), TeZ, Tg9, Tfn, TfT, ovs); cannam@167: Tga = VFMA(LDK(KP956940335), Ta4, T9X); cannam@167: STM4(&(ro[13]), Tga, ovs, &(ro[1])); cannam@167: STN4(&(ro[12]), Tf0, Tga, Tfo, TfU, ovs); cannam@167: } cannam@167: { cannam@167: V Ta9, Tac, Tgb, Tgc; cannam@167: Ta9 = VFNMS(LDK(KP831469612), Ta6, Ta5); cannam@167: Tac = VSUB(Taa, Tab); cannam@167: Tgb = VFNMS(LDK(KP956940335), Tac, Ta9); cannam@167: STM4(&(io[45]), Tgb, ovs, &(io[1])); cannam@167: STN4(&(io[44]), Tf1, Tgb, Tfp, TfV, ovs); cannam@167: Tgc = VFMA(LDK(KP956940335), Tac, Ta9); cannam@167: STM4(&(io[13]), Tgc, ovs, &(io[1])); cannam@167: STN4(&(io[12]), Tf2, Tgc, Tfq, TfW, ovs); cannam@167: } cannam@167: { cannam@167: V Ta7, Ta8, Tgd, Tge; cannam@167: Ta7 = VFMA(LDK(KP831469612), Ta6, Ta5); cannam@167: Ta8 = VADD(Ta0, Ta3); cannam@167: Tgd = VFNMS(LDK(KP956940335), Ta8, Ta7); cannam@167: STM4(&(io[29]), Tgd, ovs, &(io[1])); cannam@167: STN4(&(io[28]), Tf3, Tgd, Tfr, TfX, ovs); cannam@167: Tge = VFMA(LDK(KP956940335), Ta8, Ta7); cannam@167: STM4(&(io[61]), Tge, ovs, &(io[1])); cannam@167: STN4(&(io[60]), Tf4, Tge, Tfs, TfY, ovs); cannam@167: } cannam@167: { cannam@167: V Tad, Tae, Tgf, Tgg; cannam@167: Tad = VFMA(LDK(KP831469612), T9W, T9V); cannam@167: Tae = VADD(Tab, Taa); cannam@167: Tgf = VFNMS(LDK(KP956940335), Tae, Tad); cannam@167: STM4(&(ro[29]), Tgf, ovs, &(ro[1])); cannam@167: STN4(&(ro[28]), Tf5, Tgf, Tft, TfZ, ovs); cannam@167: Tgg = VFMA(LDK(KP956940335), Tae, Tad); cannam@167: STM4(&(ro[61]), Tgg, ovs, &(ro[1])); cannam@167: STN4(&(ro[60]), Tf6, Tgg, Tfu, Tg0, ovs); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tgh, Tgi, Tgj, Tgk, Tgl, Tgm, Tgn, Tgo, Tgp, Tgq, Tgr, Tgs, Tgt, Tgu, Tgv; cannam@167: V Tgw; cannam@167: { cannam@167: V T3v, T6j, T6o, T6y, T6r, T6z, T48, T6u, T52, T6f, T67, T6t, T6a, T6k, T5V; cannam@167: V T6e; cannam@167: { cannam@167: V T3f, T3u, T6m, T6n; cannam@167: T3f = VFMA(LDK(KP707106781), T3e, T37); cannam@167: T3u = VSUB(T3m, T3t); cannam@167: T3v = VFNMS(LDK(KP923879532), T3u, T3f); cannam@167: T6j = VFMA(LDK(KP923879532), T3u, T3f); cannam@167: T6m = VFMA(LDK(KP923879532), T50, T4X); cannam@167: T6n = VFMA(LDK(KP923879532), T4N, T4q); cannam@167: T6o = VFMA(LDK(KP303346683), T6n, T6m); cannam@167: T6y = VFNMS(LDK(KP303346683), T6m, T6n); cannam@167: } cannam@167: { cannam@167: V T6p, T6q, T3O, T47; cannam@167: T6p = VFMA(LDK(KP923879532), T5T, T5Q); cannam@167: T6q = VFMA(LDK(KP923879532), T5G, T5j); cannam@167: T6r = VFNMS(LDK(KP303346683), T6q, T6p); cannam@167: T6z = VFMA(LDK(KP303346683), T6p, T6q); cannam@167: T3O = VFNMS(LDK(KP668178637), T3N, T3G); cannam@167: T47 = VFMA(LDK(KP668178637), T46, T3Z); cannam@167: T48 = VSUB(T3O, T47); cannam@167: T6u = VADD(T3O, T47); cannam@167: } cannam@167: { cannam@167: V T4O, T51, T63, T66; cannam@167: T4O = VFNMS(LDK(KP923879532), T4N, T4q); cannam@167: T51 = VFNMS(LDK(KP923879532), T50, T4X); cannam@167: T52 = VFMA(LDK(KP534511135), T51, T4O); cannam@167: T6f = VFNMS(LDK(KP534511135), T4O, T51); cannam@167: T63 = VFMA(LDK(KP707106781), T62, T5Z); cannam@167: T66 = VSUB(T64, T65); cannam@167: T67 = VFNMS(LDK(KP923879532), T66, T63); cannam@167: T6t = VFMA(LDK(KP923879532), T66, T63); cannam@167: } cannam@167: { cannam@167: V T68, T69, T5H, T5U; cannam@167: T68 = VFNMS(LDK(KP668178637), T3Z, T46); cannam@167: T69 = VFMA(LDK(KP668178637), T3G, T3N); cannam@167: T6a = VSUB(T68, T69); cannam@167: T6k = VADD(T69, T68); cannam@167: T5H = VFNMS(LDK(KP923879532), T5G, T5j); cannam@167: T5U = VFNMS(LDK(KP923879532), T5T, T5Q); cannam@167: T5V = VFNMS(LDK(KP534511135), T5U, T5H); cannam@167: T6e = VFMA(LDK(KP534511135), T5H, T5U); cannam@167: } cannam@167: { cannam@167: V T49, T5W, T6d, T6g; cannam@167: T49 = VFMA(LDK(KP831469612), T48, T3v); cannam@167: T5W = VSUB(T52, T5V); cannam@167: Tgh = VFNMS(LDK(KP881921264), T5W, T49); cannam@167: STM4(&(ro[43]), Tgh, ovs, &(ro[1])); cannam@167: Tgi = VFMA(LDK(KP881921264), T5W, T49); cannam@167: STM4(&(ro[11]), Tgi, ovs, &(ro[1])); cannam@167: T6d = VFMA(LDK(KP831469612), T6a, T67); cannam@167: T6g = VSUB(T6e, T6f); cannam@167: Tgj = VFNMS(LDK(KP881921264), T6g, T6d); cannam@167: STM4(&(io[43]), Tgj, ovs, &(io[1])); cannam@167: Tgk = VFMA(LDK(KP881921264), T6g, T6d); cannam@167: STM4(&(io[11]), Tgk, ovs, &(io[1])); cannam@167: } cannam@167: { cannam@167: V T6b, T6c, T6h, T6i; cannam@167: T6b = VFNMS(LDK(KP831469612), T6a, T67); cannam@167: T6c = VADD(T52, T5V); cannam@167: Tgl = VFNMS(LDK(KP881921264), T6c, T6b); cannam@167: STM4(&(io[27]), Tgl, ovs, &(io[1])); cannam@167: Tgm = VFMA(LDK(KP881921264), T6c, T6b); cannam@167: STM4(&(io[59]), Tgm, ovs, &(io[1])); cannam@167: T6h = VFNMS(LDK(KP831469612), T48, T3v); cannam@167: T6i = VADD(T6f, T6e); cannam@167: Tgn = VFNMS(LDK(KP881921264), T6i, T6h); cannam@167: STM4(&(ro[27]), Tgn, ovs, &(ro[1])); cannam@167: Tgo = VFMA(LDK(KP881921264), T6i, T6h); cannam@167: STM4(&(ro[59]), Tgo, ovs, &(ro[1])); cannam@167: } cannam@167: { cannam@167: V T6l, T6s, T6B, T6C; cannam@167: T6l = VFMA(LDK(KP831469612), T6k, T6j); cannam@167: T6s = VADD(T6o, T6r); cannam@167: Tgp = VFNMS(LDK(KP956940335), T6s, T6l); cannam@167: STM4(&(ro[35]), Tgp, ovs, &(ro[1])); cannam@167: Tgq = VFMA(LDK(KP956940335), T6s, T6l); cannam@167: STM4(&(ro[3]), Tgq, ovs, &(ro[1])); cannam@167: T6B = VFMA(LDK(KP831469612), T6u, T6t); cannam@167: T6C = VADD(T6y, T6z); cannam@167: Tgr = VFNMS(LDK(KP956940335), T6C, T6B); cannam@167: STM4(&(io[35]), Tgr, ovs, &(io[1])); cannam@167: Tgs = VFMA(LDK(KP956940335), T6C, T6B); cannam@167: STM4(&(io[3]), Tgs, ovs, &(io[1])); cannam@167: } cannam@167: { cannam@167: V T6v, T6w, T6x, T6A; cannam@167: T6v = VFNMS(LDK(KP831469612), T6u, T6t); cannam@167: T6w = VSUB(T6r, T6o); cannam@167: Tgt = VFNMS(LDK(KP956940335), T6w, T6v); cannam@167: STM4(&(io[51]), Tgt, ovs, &(io[1])); cannam@167: Tgu = VFMA(LDK(KP956940335), T6w, T6v); cannam@167: STM4(&(io[19]), Tgu, ovs, &(io[1])); cannam@167: T6x = VFNMS(LDK(KP831469612), T6k, T6j); cannam@167: T6A = VSUB(T6y, T6z); cannam@167: Tgv = VFNMS(LDK(KP956940335), T6A, T6x); cannam@167: STM4(&(ro[51]), Tgv, ovs, &(ro[1])); cannam@167: Tgw = VFMA(LDK(KP956940335), T6A, T6x); cannam@167: STM4(&(ro[19]), Tgw, ovs, &(ro[1])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T7L, T8X, T92, T9c, T95, T9d, T80, T98, T8k, T8T, T8L, T97, T8O, T8Y, T8D; cannam@167: V T8S; cannam@167: { cannam@167: V T7D, T7K, T90, T91; cannam@167: T7D = VFMA(LDK(KP707106781), T7C, T7B); cannam@167: T7K = VADD(T7G, T7J); cannam@167: T7L = VFNMS(LDK(KP923879532), T7K, T7D); cannam@167: T8X = VFMA(LDK(KP923879532), T7K, T7D); cannam@167: T90 = VFMA(LDK(KP923879532), T8i, T8f); cannam@167: T91 = VFMA(LDK(KP923879532), T8b, T84); cannam@167: T92 = VFMA(LDK(KP098491403), T91, T90); cannam@167: T9c = VFNMS(LDK(KP098491403), T90, T91); cannam@167: } cannam@167: { cannam@167: V T93, T94, T7S, T7Z; cannam@167: T93 = VFMA(LDK(KP923879532), T8B, T8y); cannam@167: T94 = VFMA(LDK(KP923879532), T8u, T8n); cannam@167: T95 = VFNMS(LDK(KP098491403), T94, T93); cannam@167: T9d = VFMA(LDK(KP098491403), T93, T94); cannam@167: T7S = VFNMS(LDK(KP198912367), T7R, T7O); cannam@167: T7Z = VFMA(LDK(KP198912367), T7Y, T7V); cannam@167: T80 = VSUB(T7S, T7Z); cannam@167: T98 = VADD(T7S, T7Z); cannam@167: } cannam@167: { cannam@167: V T8c, T8j, T8H, T8K; cannam@167: T8c = VFNMS(LDK(KP923879532), T8b, T84); cannam@167: T8j = VFNMS(LDK(KP923879532), T8i, T8f); cannam@167: T8k = VFMA(LDK(KP820678790), T8j, T8c); cannam@167: T8T = VFNMS(LDK(KP820678790), T8c, T8j); cannam@167: T8H = VFMA(LDK(KP707106781), T8G, T8F); cannam@167: T8K = VADD(T8I, T8J); cannam@167: T8L = VFNMS(LDK(KP923879532), T8K, T8H); cannam@167: T97 = VFMA(LDK(KP923879532), T8K, T8H); cannam@167: } cannam@167: { cannam@167: V T8M, T8N, T8v, T8C; cannam@167: T8M = VFNMS(LDK(KP198912367), T7V, T7Y); cannam@167: T8N = VFMA(LDK(KP198912367), T7O, T7R); cannam@167: T8O = VSUB(T8M, T8N); cannam@167: T8Y = VADD(T8N, T8M); cannam@167: T8v = VFNMS(LDK(KP923879532), T8u, T8n); cannam@167: T8C = VFNMS(LDK(KP923879532), T8B, T8y); cannam@167: T8D = VFNMS(LDK(KP820678790), T8C, T8v); cannam@167: T8S = VFMA(LDK(KP820678790), T8v, T8C); cannam@167: } cannam@167: { cannam@167: V T81, T8E, Tgx, Tgy; cannam@167: T81 = VFMA(LDK(KP980785280), T80, T7L); cannam@167: T8E = VSUB(T8k, T8D); cannam@167: Tgx = VFNMS(LDK(KP773010453), T8E, T81); cannam@167: STM4(&(ro[41]), Tgx, ovs, &(ro[1])); cannam@167: STN4(&(ro[40]), TeR, Tgx, Tfv, Tgh, ovs); cannam@167: Tgy = VFMA(LDK(KP773010453), T8E, T81); cannam@167: STM4(&(ro[9]), Tgy, ovs, &(ro[1])); cannam@167: STN4(&(ro[8]), TeS, Tgy, Tfw, Tgi, ovs); cannam@167: } cannam@167: { cannam@167: V T8R, T8U, Tgz, TgA; cannam@167: T8R = VFMA(LDK(KP980785280), T8O, T8L); cannam@167: T8U = VSUB(T8S, T8T); cannam@167: Tgz = VFNMS(LDK(KP773010453), T8U, T8R); cannam@167: STM4(&(io[41]), Tgz, ovs, &(io[1])); cannam@167: STN4(&(io[40]), TeT, Tgz, Tfx, Tgj, ovs); cannam@167: TgA = VFMA(LDK(KP773010453), T8U, T8R); cannam@167: STM4(&(io[9]), TgA, ovs, &(io[1])); cannam@167: STN4(&(io[8]), TeU, TgA, Tfy, Tgk, ovs); cannam@167: } cannam@167: { cannam@167: V T8P, T8Q, TgB, TgC; cannam@167: T8P = VFNMS(LDK(KP980785280), T8O, T8L); cannam@167: T8Q = VADD(T8k, T8D); cannam@167: TgB = VFNMS(LDK(KP773010453), T8Q, T8P); cannam@167: STM4(&(io[25]), TgB, ovs, &(io[1])); cannam@167: STN4(&(io[24]), TeW, TgB, Tfz, Tgl, ovs); cannam@167: TgC = VFMA(LDK(KP773010453), T8Q, T8P); cannam@167: STM4(&(io[57]), TgC, ovs, &(io[1])); cannam@167: STN4(&(io[56]), TeV, TgC, TfA, Tgm, ovs); cannam@167: } cannam@167: { cannam@167: V T8V, T8W, TgD, TgE; cannam@167: T8V = VFNMS(LDK(KP980785280), T80, T7L); cannam@167: T8W = VADD(T8T, T8S); cannam@167: TgD = VFNMS(LDK(KP773010453), T8W, T8V); cannam@167: STM4(&(ro[25]), TgD, ovs, &(ro[1])); cannam@167: STN4(&(ro[24]), TeY, TgD, TfB, Tgn, ovs); cannam@167: TgE = VFMA(LDK(KP773010453), T8W, T8V); cannam@167: STM4(&(ro[57]), TgE, ovs, &(ro[1])); cannam@167: STN4(&(ro[56]), TeX, TgE, TfC, Tgo, ovs); cannam@167: } cannam@167: { cannam@167: V T8Z, T96, TgF, TgG; cannam@167: T8Z = VFMA(LDK(KP980785280), T8Y, T8X); cannam@167: T96 = VADD(T92, T95); cannam@167: TgF = VFNMS(LDK(KP995184726), T96, T8Z); cannam@167: STM4(&(ro[33]), TgF, ovs, &(ro[1])); cannam@167: STN4(&(ro[32]), TeJ, TgF, TfD, Tgp, ovs); cannam@167: TgG = VFMA(LDK(KP995184726), T96, T8Z); cannam@167: STM4(&(ro[1]), TgG, ovs, &(ro[1])); cannam@167: STN4(&(ro[0]), TeL, TgG, TfE, Tgq, ovs); cannam@167: } cannam@167: { cannam@167: V T9f, T9g, TgH, TgI; cannam@167: T9f = VFMA(LDK(KP980785280), T98, T97); cannam@167: T9g = VADD(T9c, T9d); cannam@167: TgH = VFNMS(LDK(KP995184726), T9g, T9f); cannam@167: STM4(&(io[33]), TgH, ovs, &(io[1])); cannam@167: STN4(&(io[32]), TeK, TgH, TfF, Tgr, ovs); cannam@167: TgI = VFMA(LDK(KP995184726), T9g, T9f); cannam@167: STM4(&(io[1]), TgI, ovs, &(io[1])); cannam@167: STN4(&(io[0]), TeM, TgI, TfG, Tgs, ovs); cannam@167: } cannam@167: { cannam@167: V T99, T9a, TgJ, TgK; cannam@167: T99 = VFNMS(LDK(KP980785280), T98, T97); cannam@167: T9a = VSUB(T95, T92); cannam@167: TgJ = VFNMS(LDK(KP995184726), T9a, T99); cannam@167: STM4(&(io[49]), TgJ, ovs, &(io[1])); cannam@167: STN4(&(io[48]), TeP, TgJ, TfH, Tgt, ovs); cannam@167: TgK = VFMA(LDK(KP995184726), T9a, T99); cannam@167: STM4(&(io[17]), TgK, ovs, &(io[1])); cannam@167: STN4(&(io[16]), TeN, TgK, TfI, Tgu, ovs); cannam@167: } cannam@167: { cannam@167: V T9b, T9e, TgL, TgM; cannam@167: T9b = VFNMS(LDK(KP980785280), T8Y, T8X); cannam@167: T9e = VSUB(T9c, T9d); cannam@167: TgL = VFNMS(LDK(KP995184726), T9e, T9b); cannam@167: STM4(&(ro[49]), TgL, ovs, &(ro[1])); cannam@167: STN4(&(ro[48]), TeQ, TgL, TfJ, Tgv, ovs); cannam@167: TgM = VFMA(LDK(KP995184726), T9e, T9b); cannam@167: STM4(&(ro[17]), TgM, ovs, &(ro[1])); cannam@167: STN4(&(ro[16]), TeO, TgM, TfK, Tgw, ovs); cannam@167: } cannam@167: } cannam@167: } cannam@167: } cannam@167: } cannam@167: } cannam@167: } cannam@167: VLEAVE(); cannam@167: } cannam@167: cannam@167: static const kdft_desc desc = { 64, XSIMD_STRING("n2sv_64"), {520, 0, 392, 0}, &GENUS, 0, 1, 0, 0 }; cannam@167: cannam@167: void XSIMD(codelet_n2sv_64) (planner *p) { cannam@167: X(kdft_register) (p, n2sv_64, &desc); cannam@167: } cannam@167: cannam@167: #else cannam@167: cannam@167: /* Generated by: ../../../genfft/gen_notw.native -simd -compact -variables 4 -pipeline-latency 8 -n 64 -name n2sv_64 -with-ostride 1 -include dft/simd/n2s.h -store-multiple 4 */ cannam@167: cannam@167: /* cannam@167: * This function contains 912 FP additions, 248 FP multiplications, cannam@167: * (or, 808 additions, 144 multiplications, 104 fused multiply/add), cannam@167: * 260 stack variables, 15 constants, and 288 memory accesses cannam@167: */ cannam@167: #include "dft/simd/n2s.h" cannam@167: cannam@167: static void n2sv_64(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs) cannam@167: { cannam@167: DVK(KP773010453, +0.773010453362736960810906609758469800971041293); cannam@167: DVK(KP634393284, +0.634393284163645498215171613225493370675687095); cannam@167: DVK(KP098017140, +0.098017140329560601994195563888641845861136673); cannam@167: DVK(KP995184726, +0.995184726672196886244836953109479921575474869); cannam@167: DVK(KP881921264, +0.881921264348355029712756863660388349508442621); cannam@167: DVK(KP471396736, +0.471396736825997648556387625905254377657460319); cannam@167: DVK(KP290284677, +0.290284677254462367636192375817395274691476278); cannam@167: DVK(KP956940335, +0.956940335732208864935797886980269969482849206); cannam@167: DVK(KP831469612, +0.831469612302545237078788377617905756738560812); cannam@167: DVK(KP555570233, +0.555570233019602224742830813948532874374937191); cannam@167: DVK(KP195090322, +0.195090322016128267848284868477022240927691618); cannam@167: DVK(KP980785280, +0.980785280403230449126182236134239036973933731); cannam@167: DVK(KP923879532, +0.923879532511286756128183189396788286822416626); cannam@167: DVK(KP382683432, +0.382683432365089771728459984030398866761344562); cannam@167: DVK(KP707106781, +0.707106781186547524400844362104849039284835938); cannam@167: { cannam@167: INT i; cannam@167: for (i = v; i > 0; i = i - (2 * VL), ri = ri + ((2 * VL) * ivs), ii = ii + ((2 * VL) * ivs), ro = ro + ((2 * VL) * ovs), io = io + ((2 * VL) * ovs), MAKE_VOLATILE_STRIDE(256, is), MAKE_VOLATILE_STRIDE(256, os)) { cannam@167: V T37, T7B, T8F, T5Z, Tf, Td9, TbB, TcB, T62, T7C, T2i, TdH, Tah, Tcb, T3e; cannam@167: V T8G, Tu, TdI, Tak, TbD, Tan, TbC, T2x, Tda, T3m, T65, T7G, T8J, T7J, T8I; cannam@167: V T3t, T64, TK, Tdd, Tas, Tce, Tav, Tcf, T2N, Tdc, T3G, T6G, T7O, T9k, T7R; cannam@167: V T9l, T3N, T6H, T1L, Tdv, Tbs, Tcw, TdC, Teo, T5j, T6V, T5Q, T6Y, T8y, T9C; cannam@167: V Tbb, Tct, T8n, T9z, TZ, Tdf, Taz, Tch, TaC, Tci, T32, Tdg, T3Z, T6J, T7V; cannam@167: V T9n, T7Y, T9o, T46, T6K, T1g, Tdp, Tb1, Tcm, Tdm, Tej, T4q, T6R, T4X, T6O; cannam@167: V T8f, T9s, TaK, Tcp, T84, T9v, T1v, Tdn, Tb4, Tcq, Tds, Tek, T4N, T6P, T50; cannam@167: V T6S, T8i, T9w, TaV, Tcn, T8b, T9t, T20, TdD, Tbv, Tcu, Tdy, Tep, T5G, T6Z; cannam@167: V T5T, T6W, T8B, T9A, Tbm, Tcx, T8u, T9D; cannam@167: { cannam@167: V T3, T35, T26, T5Y, T6, T5X, T29, T36, Ta, T39, T2d, T38, Td, T3b, T2g; cannam@167: V T3c; cannam@167: { cannam@167: V T1, T2, T24, T25; cannam@167: T1 = LD(&(ri[0]), ivs, &(ri[0])); cannam@167: T2 = LD(&(ri[WS(is, 32)]), ivs, &(ri[0])); cannam@167: T3 = VADD(T1, T2); cannam@167: T35 = VSUB(T1, T2); cannam@167: T24 = LD(&(ii[0]), ivs, &(ii[0])); cannam@167: T25 = LD(&(ii[WS(is, 32)]), ivs, &(ii[0])); cannam@167: T26 = VADD(T24, T25); cannam@167: T5Y = VSUB(T24, T25); cannam@167: } cannam@167: { cannam@167: V T4, T5, T27, T28; cannam@167: T4 = LD(&(ri[WS(is, 16)]), ivs, &(ri[0])); cannam@167: T5 = LD(&(ri[WS(is, 48)]), ivs, &(ri[0])); cannam@167: T6 = VADD(T4, T5); cannam@167: T5X = VSUB(T4, T5); cannam@167: T27 = LD(&(ii[WS(is, 16)]), ivs, &(ii[0])); cannam@167: T28 = LD(&(ii[WS(is, 48)]), ivs, &(ii[0])); cannam@167: T29 = VADD(T27, T28); cannam@167: T36 = VSUB(T27, T28); cannam@167: } cannam@167: { cannam@167: V T8, T9, T2b, T2c; cannam@167: T8 = LD(&(ri[WS(is, 8)]), ivs, &(ri[0])); cannam@167: T9 = LD(&(ri[WS(is, 40)]), ivs, &(ri[0])); cannam@167: Ta = VADD(T8, T9); cannam@167: T39 = VSUB(T8, T9); cannam@167: T2b = LD(&(ii[WS(is, 8)]), ivs, &(ii[0])); cannam@167: T2c = LD(&(ii[WS(is, 40)]), ivs, &(ii[0])); cannam@167: T2d = VADD(T2b, T2c); cannam@167: T38 = VSUB(T2b, T2c); cannam@167: } cannam@167: { cannam@167: V Tb, Tc, T2e, T2f; cannam@167: Tb = LD(&(ri[WS(is, 56)]), ivs, &(ri[0])); cannam@167: Tc = LD(&(ri[WS(is, 24)]), ivs, &(ri[0])); cannam@167: Td = VADD(Tb, Tc); cannam@167: T3b = VSUB(Tb, Tc); cannam@167: T2e = LD(&(ii[WS(is, 56)]), ivs, &(ii[0])); cannam@167: T2f = LD(&(ii[WS(is, 24)]), ivs, &(ii[0])); cannam@167: T2g = VADD(T2e, T2f); cannam@167: T3c = VSUB(T2e, T2f); cannam@167: } cannam@167: { cannam@167: V T7, Te, T2a, T2h; cannam@167: T37 = VSUB(T35, T36); cannam@167: T7B = VADD(T35, T36); cannam@167: T8F = VSUB(T5Y, T5X); cannam@167: T5Z = VADD(T5X, T5Y); cannam@167: T7 = VADD(T3, T6); cannam@167: Te = VADD(Ta, Td); cannam@167: Tf = VADD(T7, Te); cannam@167: Td9 = VSUB(T7, Te); cannam@167: { cannam@167: V Tbz, TbA, T60, T61; cannam@167: Tbz = VSUB(T26, T29); cannam@167: TbA = VSUB(Td, Ta); cannam@167: TbB = VSUB(Tbz, TbA); cannam@167: TcB = VADD(TbA, Tbz); cannam@167: T60 = VSUB(T3b, T3c); cannam@167: T61 = VADD(T39, T38); cannam@167: T62 = VMUL(LDK(KP707106781), VSUB(T60, T61)); cannam@167: T7C = VMUL(LDK(KP707106781), VADD(T61, T60)); cannam@167: } cannam@167: T2a = VADD(T26, T29); cannam@167: T2h = VADD(T2d, T2g); cannam@167: T2i = VADD(T2a, T2h); cannam@167: TdH = VSUB(T2a, T2h); cannam@167: { cannam@167: V Taf, Tag, T3a, T3d; cannam@167: Taf = VSUB(T3, T6); cannam@167: Tag = VSUB(T2d, T2g); cannam@167: Tah = VSUB(Taf, Tag); cannam@167: Tcb = VADD(Taf, Tag); cannam@167: T3a = VSUB(T38, T39); cannam@167: T3d = VADD(T3b, T3c); cannam@167: T3e = VMUL(LDK(KP707106781), VSUB(T3a, T3d)); cannam@167: T8G = VMUL(LDK(KP707106781), VADD(T3a, T3d)); cannam@167: } cannam@167: } cannam@167: } cannam@167: { cannam@167: V Ti, T3j, T2l, T3h, Tl, T3g, T2o, T3k, Tp, T3q, T2s, T3o, Ts, T3n, T2v; cannam@167: V T3r; cannam@167: { cannam@167: V Tg, Th, T2j, T2k; cannam@167: Tg = LD(&(ri[WS(is, 4)]), ivs, &(ri[0])); cannam@167: Th = LD(&(ri[WS(is, 36)]), ivs, &(ri[0])); cannam@167: Ti = VADD(Tg, Th); cannam@167: T3j = VSUB(Tg, Th); cannam@167: T2j = LD(&(ii[WS(is, 4)]), ivs, &(ii[0])); cannam@167: T2k = LD(&(ii[WS(is, 36)]), ivs, &(ii[0])); cannam@167: T2l = VADD(T2j, T2k); cannam@167: T3h = VSUB(T2j, T2k); cannam@167: } cannam@167: { cannam@167: V Tj, Tk, T2m, T2n; cannam@167: Tj = LD(&(ri[WS(is, 20)]), ivs, &(ri[0])); cannam@167: Tk = LD(&(ri[WS(is, 52)]), ivs, &(ri[0])); cannam@167: Tl = VADD(Tj, Tk); cannam@167: T3g = VSUB(Tj, Tk); cannam@167: T2m = LD(&(ii[WS(is, 20)]), ivs, &(ii[0])); cannam@167: T2n = LD(&(ii[WS(is, 52)]), ivs, &(ii[0])); cannam@167: T2o = VADD(T2m, T2n); cannam@167: T3k = VSUB(T2m, T2n); cannam@167: } cannam@167: { cannam@167: V Tn, To, T2q, T2r; cannam@167: Tn = LD(&(ri[WS(is, 60)]), ivs, &(ri[0])); cannam@167: To = LD(&(ri[WS(is, 28)]), ivs, &(ri[0])); cannam@167: Tp = VADD(Tn, To); cannam@167: T3q = VSUB(Tn, To); cannam@167: T2q = LD(&(ii[WS(is, 60)]), ivs, &(ii[0])); cannam@167: T2r = LD(&(ii[WS(is, 28)]), ivs, &(ii[0])); cannam@167: T2s = VADD(T2q, T2r); cannam@167: T3o = VSUB(T2q, T2r); cannam@167: } cannam@167: { cannam@167: V Tq, Tr, T2t, T2u; cannam@167: Tq = LD(&(ri[WS(is, 12)]), ivs, &(ri[0])); cannam@167: Tr = LD(&(ri[WS(is, 44)]), ivs, &(ri[0])); cannam@167: Ts = VADD(Tq, Tr); cannam@167: T3n = VSUB(Tq, Tr); cannam@167: T2t = LD(&(ii[WS(is, 12)]), ivs, &(ii[0])); cannam@167: T2u = LD(&(ii[WS(is, 44)]), ivs, &(ii[0])); cannam@167: T2v = VADD(T2t, T2u); cannam@167: T3r = VSUB(T2t, T2u); cannam@167: } cannam@167: { cannam@167: V Tm, Tt, Tai, Taj; cannam@167: Tm = VADD(Ti, Tl); cannam@167: Tt = VADD(Tp, Ts); cannam@167: Tu = VADD(Tm, Tt); cannam@167: TdI = VSUB(Tt, Tm); cannam@167: Tai = VSUB(T2l, T2o); cannam@167: Taj = VSUB(Ti, Tl); cannam@167: Tak = VSUB(Tai, Taj); cannam@167: TbD = VADD(Taj, Tai); cannam@167: } cannam@167: { cannam@167: V Tal, Tam, T2p, T2w; cannam@167: Tal = VSUB(Tp, Ts); cannam@167: Tam = VSUB(T2s, T2v); cannam@167: Tan = VADD(Tal, Tam); cannam@167: TbC = VSUB(Tal, Tam); cannam@167: T2p = VADD(T2l, T2o); cannam@167: T2w = VADD(T2s, T2v); cannam@167: T2x = VADD(T2p, T2w); cannam@167: Tda = VSUB(T2p, T2w); cannam@167: } cannam@167: { cannam@167: V T3i, T3l, T7E, T7F; cannam@167: T3i = VADD(T3g, T3h); cannam@167: T3l = VSUB(T3j, T3k); cannam@167: T3m = VFNMS(LDK(KP923879532), T3l, VMUL(LDK(KP382683432), T3i)); cannam@167: T65 = VFMA(LDK(KP923879532), T3i, VMUL(LDK(KP382683432), T3l)); cannam@167: T7E = VSUB(T3h, T3g); cannam@167: T7F = VADD(T3j, T3k); cannam@167: T7G = VFNMS(LDK(KP382683432), T7F, VMUL(LDK(KP923879532), T7E)); cannam@167: T8J = VFMA(LDK(KP382683432), T7E, VMUL(LDK(KP923879532), T7F)); cannam@167: } cannam@167: { cannam@167: V T7H, T7I, T3p, T3s; cannam@167: T7H = VSUB(T3o, T3n); cannam@167: T7I = VADD(T3q, T3r); cannam@167: T7J = VFMA(LDK(KP923879532), T7H, VMUL(LDK(KP382683432), T7I)); cannam@167: T8I = VFNMS(LDK(KP382683432), T7H, VMUL(LDK(KP923879532), T7I)); cannam@167: T3p = VADD(T3n, T3o); cannam@167: T3s = VSUB(T3q, T3r); cannam@167: T3t = VFMA(LDK(KP382683432), T3p, VMUL(LDK(KP923879532), T3s)); cannam@167: T64 = VFNMS(LDK(KP923879532), T3p, VMUL(LDK(KP382683432), T3s)); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Ty, T3H, T2B, T3x, TB, T3w, T2E, T3I, TI, T3L, T2L, T3B, TF, T3K, T2I; cannam@167: V T3E; cannam@167: { cannam@167: V Tw, Tx, T2C, T2D; cannam@167: Tw = LD(&(ri[WS(is, 2)]), ivs, &(ri[0])); cannam@167: Tx = LD(&(ri[WS(is, 34)]), ivs, &(ri[0])); cannam@167: Ty = VADD(Tw, Tx); cannam@167: T3H = VSUB(Tw, Tx); cannam@167: { cannam@167: V T2z, T2A, Tz, TA; cannam@167: T2z = LD(&(ii[WS(is, 2)]), ivs, &(ii[0])); cannam@167: T2A = LD(&(ii[WS(is, 34)]), ivs, &(ii[0])); cannam@167: T2B = VADD(T2z, T2A); cannam@167: T3x = VSUB(T2z, T2A); cannam@167: Tz = LD(&(ri[WS(is, 18)]), ivs, &(ri[0])); cannam@167: TA = LD(&(ri[WS(is, 50)]), ivs, &(ri[0])); cannam@167: TB = VADD(Tz, TA); cannam@167: T3w = VSUB(Tz, TA); cannam@167: } cannam@167: T2C = LD(&(ii[WS(is, 18)]), ivs, &(ii[0])); cannam@167: T2D = LD(&(ii[WS(is, 50)]), ivs, &(ii[0])); cannam@167: T2E = VADD(T2C, T2D); cannam@167: T3I = VSUB(T2C, T2D); cannam@167: { cannam@167: V TG, TH, T3z, T2J, T2K, T3A; cannam@167: TG = LD(&(ri[WS(is, 58)]), ivs, &(ri[0])); cannam@167: TH = LD(&(ri[WS(is, 26)]), ivs, &(ri[0])); cannam@167: T3z = VSUB(TG, TH); cannam@167: T2J = LD(&(ii[WS(is, 58)]), ivs, &(ii[0])); cannam@167: T2K = LD(&(ii[WS(is, 26)]), ivs, &(ii[0])); cannam@167: T3A = VSUB(T2J, T2K); cannam@167: TI = VADD(TG, TH); cannam@167: T3L = VADD(T3z, T3A); cannam@167: T2L = VADD(T2J, T2K); cannam@167: T3B = VSUB(T3z, T3A); cannam@167: } cannam@167: { cannam@167: V TD, TE, T3C, T2G, T2H, T3D; cannam@167: TD = LD(&(ri[WS(is, 10)]), ivs, &(ri[0])); cannam@167: TE = LD(&(ri[WS(is, 42)]), ivs, &(ri[0])); cannam@167: T3C = VSUB(TD, TE); cannam@167: T2G = LD(&(ii[WS(is, 10)]), ivs, &(ii[0])); cannam@167: T2H = LD(&(ii[WS(is, 42)]), ivs, &(ii[0])); cannam@167: T3D = VSUB(T2G, T2H); cannam@167: TF = VADD(TD, TE); cannam@167: T3K = VSUB(T3D, T3C); cannam@167: T2I = VADD(T2G, T2H); cannam@167: T3E = VADD(T3C, T3D); cannam@167: } cannam@167: } cannam@167: { cannam@167: V TC, TJ, Taq, Tar; cannam@167: TC = VADD(Ty, TB); cannam@167: TJ = VADD(TF, TI); cannam@167: TK = VADD(TC, TJ); cannam@167: Tdd = VSUB(TC, TJ); cannam@167: Taq = VSUB(T2B, T2E); cannam@167: Tar = VSUB(TI, TF); cannam@167: Tas = VSUB(Taq, Tar); cannam@167: Tce = VADD(Tar, Taq); cannam@167: } cannam@167: { cannam@167: V Tat, Tau, T2F, T2M; cannam@167: Tat = VSUB(Ty, TB); cannam@167: Tau = VSUB(T2I, T2L); cannam@167: Tav = VSUB(Tat, Tau); cannam@167: Tcf = VADD(Tat, Tau); cannam@167: T2F = VADD(T2B, T2E); cannam@167: T2M = VADD(T2I, T2L); cannam@167: T2N = VADD(T2F, T2M); cannam@167: Tdc = VSUB(T2F, T2M); cannam@167: } cannam@167: { cannam@167: V T3y, T3F, T7M, T7N; cannam@167: T3y = VADD(T3w, T3x); cannam@167: T3F = VMUL(LDK(KP707106781), VSUB(T3B, T3E)); cannam@167: T3G = VSUB(T3y, T3F); cannam@167: T6G = VADD(T3y, T3F); cannam@167: T7M = VSUB(T3x, T3w); cannam@167: T7N = VMUL(LDK(KP707106781), VADD(T3K, T3L)); cannam@167: T7O = VSUB(T7M, T7N); cannam@167: T9k = VADD(T7M, T7N); cannam@167: } cannam@167: { cannam@167: V T7P, T7Q, T3J, T3M; cannam@167: T7P = VADD(T3H, T3I); cannam@167: T7Q = VMUL(LDK(KP707106781), VADD(T3E, T3B)); cannam@167: T7R = VSUB(T7P, T7Q); cannam@167: T9l = VADD(T7P, T7Q); cannam@167: T3J = VSUB(T3H, T3I); cannam@167: T3M = VMUL(LDK(KP707106781), VSUB(T3K, T3L)); cannam@167: T3N = VSUB(T3J, T3M); cannam@167: T6H = VADD(T3J, T3M); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T1z, T53, T5L, Tbo, T1C, T5I, T56, Tbp, T1J, Tb9, T5h, T5N, T1G, Tb8, T5c; cannam@167: V T5O; cannam@167: { cannam@167: V T1x, T1y, T54, T55; cannam@167: T1x = LD(&(ri[WS(is, 63)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1y = LD(&(ri[WS(is, 31)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1z = VADD(T1x, T1y); cannam@167: T53 = VSUB(T1x, T1y); cannam@167: { cannam@167: V T5J, T5K, T1A, T1B; cannam@167: T5J = LD(&(ii[WS(is, 63)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5K = LD(&(ii[WS(is, 31)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5L = VSUB(T5J, T5K); cannam@167: Tbo = VADD(T5J, T5K); cannam@167: T1A = LD(&(ri[WS(is, 15)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1B = LD(&(ri[WS(is, 47)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1C = VADD(T1A, T1B); cannam@167: T5I = VSUB(T1A, T1B); cannam@167: } cannam@167: T54 = LD(&(ii[WS(is, 15)]), ivs, &(ii[WS(is, 1)])); cannam@167: T55 = LD(&(ii[WS(is, 47)]), ivs, &(ii[WS(is, 1)])); cannam@167: T56 = VSUB(T54, T55); cannam@167: Tbp = VADD(T54, T55); cannam@167: { cannam@167: V T1H, T1I, T5d, T5e, T5f, T5g; cannam@167: T1H = LD(&(ri[WS(is, 55)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1I = LD(&(ri[WS(is, 23)]), ivs, &(ri[WS(is, 1)])); cannam@167: T5d = VSUB(T1H, T1I); cannam@167: T5e = LD(&(ii[WS(is, 55)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5f = LD(&(ii[WS(is, 23)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5g = VSUB(T5e, T5f); cannam@167: T1J = VADD(T1H, T1I); cannam@167: Tb9 = VADD(T5e, T5f); cannam@167: T5h = VADD(T5d, T5g); cannam@167: T5N = VSUB(T5d, T5g); cannam@167: } cannam@167: { cannam@167: V T1E, T1F, T5b, T58, T59, T5a; cannam@167: T1E = LD(&(ri[WS(is, 7)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1F = LD(&(ri[WS(is, 39)]), ivs, &(ri[WS(is, 1)])); cannam@167: T5b = VSUB(T1E, T1F); cannam@167: T58 = LD(&(ii[WS(is, 7)]), ivs, &(ii[WS(is, 1)])); cannam@167: T59 = LD(&(ii[WS(is, 39)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5a = VSUB(T58, T59); cannam@167: T1G = VADD(T1E, T1F); cannam@167: Tb8 = VADD(T58, T59); cannam@167: T5c = VSUB(T5a, T5b); cannam@167: T5O = VADD(T5b, T5a); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T1D, T1K, Tbq, Tbr; cannam@167: T1D = VADD(T1z, T1C); cannam@167: T1K = VADD(T1G, T1J); cannam@167: T1L = VADD(T1D, T1K); cannam@167: Tdv = VSUB(T1D, T1K); cannam@167: Tbq = VSUB(Tbo, Tbp); cannam@167: Tbr = VSUB(T1J, T1G); cannam@167: Tbs = VSUB(Tbq, Tbr); cannam@167: Tcw = VADD(Tbr, Tbq); cannam@167: } cannam@167: { cannam@167: V TdA, TdB, T57, T5i; cannam@167: TdA = VADD(Tbo, Tbp); cannam@167: TdB = VADD(Tb8, Tb9); cannam@167: TdC = VSUB(TdA, TdB); cannam@167: Teo = VADD(TdA, TdB); cannam@167: T57 = VSUB(T53, T56); cannam@167: T5i = VMUL(LDK(KP707106781), VSUB(T5c, T5h)); cannam@167: T5j = VSUB(T57, T5i); cannam@167: T6V = VADD(T57, T5i); cannam@167: } cannam@167: { cannam@167: V T5M, T5P, T8w, T8x; cannam@167: T5M = VADD(T5I, T5L); cannam@167: T5P = VMUL(LDK(KP707106781), VSUB(T5N, T5O)); cannam@167: T5Q = VSUB(T5M, T5P); cannam@167: T6Y = VADD(T5M, T5P); cannam@167: T8w = VSUB(T5L, T5I); cannam@167: T8x = VMUL(LDK(KP707106781), VADD(T5c, T5h)); cannam@167: T8y = VSUB(T8w, T8x); cannam@167: T9C = VADD(T8w, T8x); cannam@167: } cannam@167: { cannam@167: V Tb7, Tba, T8l, T8m; cannam@167: Tb7 = VSUB(T1z, T1C); cannam@167: Tba = VSUB(Tb8, Tb9); cannam@167: Tbb = VSUB(Tb7, Tba); cannam@167: Tct = VADD(Tb7, Tba); cannam@167: T8l = VADD(T53, T56); cannam@167: T8m = VMUL(LDK(KP707106781), VADD(T5O, T5N)); cannam@167: T8n = VSUB(T8l, T8m); cannam@167: T9z = VADD(T8l, T8m); cannam@167: } cannam@167: } cannam@167: { cannam@167: V TN, T40, T2Q, T3Q, TQ, T3P, T2T, T41, TX, T44, T30, T3U, TU, T43, T2X; cannam@167: V T3X; cannam@167: { cannam@167: V TL, TM, T2R, T2S; cannam@167: TL = LD(&(ri[WS(is, 62)]), ivs, &(ri[0])); cannam@167: TM = LD(&(ri[WS(is, 30)]), ivs, &(ri[0])); cannam@167: TN = VADD(TL, TM); cannam@167: T40 = VSUB(TL, TM); cannam@167: { cannam@167: V T2O, T2P, TO, TP; cannam@167: T2O = LD(&(ii[WS(is, 62)]), ivs, &(ii[0])); cannam@167: T2P = LD(&(ii[WS(is, 30)]), ivs, &(ii[0])); cannam@167: T2Q = VADD(T2O, T2P); cannam@167: T3Q = VSUB(T2O, T2P); cannam@167: TO = LD(&(ri[WS(is, 14)]), ivs, &(ri[0])); cannam@167: TP = LD(&(ri[WS(is, 46)]), ivs, &(ri[0])); cannam@167: TQ = VADD(TO, TP); cannam@167: T3P = VSUB(TO, TP); cannam@167: } cannam@167: T2R = LD(&(ii[WS(is, 14)]), ivs, &(ii[0])); cannam@167: T2S = LD(&(ii[WS(is, 46)]), ivs, &(ii[0])); cannam@167: T2T = VADD(T2R, T2S); cannam@167: T41 = VSUB(T2R, T2S); cannam@167: { cannam@167: V TV, TW, T3S, T2Y, T2Z, T3T; cannam@167: TV = LD(&(ri[WS(is, 54)]), ivs, &(ri[0])); cannam@167: TW = LD(&(ri[WS(is, 22)]), ivs, &(ri[0])); cannam@167: T3S = VSUB(TV, TW); cannam@167: T2Y = LD(&(ii[WS(is, 54)]), ivs, &(ii[0])); cannam@167: T2Z = LD(&(ii[WS(is, 22)]), ivs, &(ii[0])); cannam@167: T3T = VSUB(T2Y, T2Z); cannam@167: TX = VADD(TV, TW); cannam@167: T44 = VADD(T3S, T3T); cannam@167: T30 = VADD(T2Y, T2Z); cannam@167: T3U = VSUB(T3S, T3T); cannam@167: } cannam@167: { cannam@167: V TS, TT, T3V, T2V, T2W, T3W; cannam@167: TS = LD(&(ri[WS(is, 6)]), ivs, &(ri[0])); cannam@167: TT = LD(&(ri[WS(is, 38)]), ivs, &(ri[0])); cannam@167: T3V = VSUB(TS, TT); cannam@167: T2V = LD(&(ii[WS(is, 6)]), ivs, &(ii[0])); cannam@167: T2W = LD(&(ii[WS(is, 38)]), ivs, &(ii[0])); cannam@167: T3W = VSUB(T2V, T2W); cannam@167: TU = VADD(TS, TT); cannam@167: T43 = VSUB(T3W, T3V); cannam@167: T2X = VADD(T2V, T2W); cannam@167: T3X = VADD(T3V, T3W); cannam@167: } cannam@167: } cannam@167: { cannam@167: V TR, TY, Tax, Tay; cannam@167: TR = VADD(TN, TQ); cannam@167: TY = VADD(TU, TX); cannam@167: TZ = VADD(TR, TY); cannam@167: Tdf = VSUB(TR, TY); cannam@167: Tax = VSUB(T2Q, T2T); cannam@167: Tay = VSUB(TX, TU); cannam@167: Taz = VSUB(Tax, Tay); cannam@167: Tch = VADD(Tay, Tax); cannam@167: } cannam@167: { cannam@167: V TaA, TaB, T2U, T31; cannam@167: TaA = VSUB(TN, TQ); cannam@167: TaB = VSUB(T2X, T30); cannam@167: TaC = VSUB(TaA, TaB); cannam@167: Tci = VADD(TaA, TaB); cannam@167: T2U = VADD(T2Q, T2T); cannam@167: T31 = VADD(T2X, T30); cannam@167: T32 = VADD(T2U, T31); cannam@167: Tdg = VSUB(T2U, T31); cannam@167: } cannam@167: { cannam@167: V T3R, T3Y, T7T, T7U; cannam@167: T3R = VADD(T3P, T3Q); cannam@167: T3Y = VMUL(LDK(KP707106781), VSUB(T3U, T3X)); cannam@167: T3Z = VSUB(T3R, T3Y); cannam@167: T6J = VADD(T3R, T3Y); cannam@167: T7T = VADD(T40, T41); cannam@167: T7U = VMUL(LDK(KP707106781), VADD(T3X, T3U)); cannam@167: T7V = VSUB(T7T, T7U); cannam@167: T9n = VADD(T7T, T7U); cannam@167: } cannam@167: { cannam@167: V T7W, T7X, T42, T45; cannam@167: T7W = VSUB(T3Q, T3P); cannam@167: T7X = VMUL(LDK(KP707106781), VADD(T43, T44)); cannam@167: T7Y = VSUB(T7W, T7X); cannam@167: T9o = VADD(T7W, T7X); cannam@167: T42 = VSUB(T40, T41); cannam@167: T45 = VMUL(LDK(KP707106781), VSUB(T43, T44)); cannam@167: T46 = VSUB(T42, T45); cannam@167: T6K = VADD(T42, T45); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T14, T4P, T4d, TaG, T17, T4a, T4S, TaH, T1e, TaZ, T4j, T4V, T1b, TaY, T4o; cannam@167: V T4U; cannam@167: { cannam@167: V T12, T13, T4Q, T4R; cannam@167: T12 = LD(&(ri[WS(is, 1)]), ivs, &(ri[WS(is, 1)])); cannam@167: T13 = LD(&(ri[WS(is, 33)]), ivs, &(ri[WS(is, 1)])); cannam@167: T14 = VADD(T12, T13); cannam@167: T4P = VSUB(T12, T13); cannam@167: { cannam@167: V T4b, T4c, T15, T16; cannam@167: T4b = LD(&(ii[WS(is, 1)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4c = LD(&(ii[WS(is, 33)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4d = VSUB(T4b, T4c); cannam@167: TaG = VADD(T4b, T4c); cannam@167: T15 = LD(&(ri[WS(is, 17)]), ivs, &(ri[WS(is, 1)])); cannam@167: T16 = LD(&(ri[WS(is, 49)]), ivs, &(ri[WS(is, 1)])); cannam@167: T17 = VADD(T15, T16); cannam@167: T4a = VSUB(T15, T16); cannam@167: } cannam@167: T4Q = LD(&(ii[WS(is, 17)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4R = LD(&(ii[WS(is, 49)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4S = VSUB(T4Q, T4R); cannam@167: TaH = VADD(T4Q, T4R); cannam@167: { cannam@167: V T1c, T1d, T4f, T4g, T4h, T4i; cannam@167: T1c = LD(&(ri[WS(is, 57)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1d = LD(&(ri[WS(is, 25)]), ivs, &(ri[WS(is, 1)])); cannam@167: T4f = VSUB(T1c, T1d); cannam@167: T4g = LD(&(ii[WS(is, 57)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4h = LD(&(ii[WS(is, 25)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4i = VSUB(T4g, T4h); cannam@167: T1e = VADD(T1c, T1d); cannam@167: TaZ = VADD(T4g, T4h); cannam@167: T4j = VSUB(T4f, T4i); cannam@167: T4V = VADD(T4f, T4i); cannam@167: } cannam@167: { cannam@167: V T19, T1a, T4k, T4l, T4m, T4n; cannam@167: T19 = LD(&(ri[WS(is, 9)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1a = LD(&(ri[WS(is, 41)]), ivs, &(ri[WS(is, 1)])); cannam@167: T4k = VSUB(T19, T1a); cannam@167: T4l = LD(&(ii[WS(is, 9)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4m = LD(&(ii[WS(is, 41)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4n = VSUB(T4l, T4m); cannam@167: T1b = VADD(T19, T1a); cannam@167: TaY = VADD(T4l, T4m); cannam@167: T4o = VADD(T4k, T4n); cannam@167: T4U = VSUB(T4n, T4k); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T18, T1f, TaX, Tb0; cannam@167: T18 = VADD(T14, T17); cannam@167: T1f = VADD(T1b, T1e); cannam@167: T1g = VADD(T18, T1f); cannam@167: Tdp = VSUB(T18, T1f); cannam@167: TaX = VSUB(T14, T17); cannam@167: Tb0 = VSUB(TaY, TaZ); cannam@167: Tb1 = VSUB(TaX, Tb0); cannam@167: Tcm = VADD(TaX, Tb0); cannam@167: } cannam@167: { cannam@167: V Tdk, Tdl, T4e, T4p; cannam@167: Tdk = VADD(TaG, TaH); cannam@167: Tdl = VADD(TaY, TaZ); cannam@167: Tdm = VSUB(Tdk, Tdl); cannam@167: Tej = VADD(Tdk, Tdl); cannam@167: T4e = VADD(T4a, T4d); cannam@167: T4p = VMUL(LDK(KP707106781), VSUB(T4j, T4o)); cannam@167: T4q = VSUB(T4e, T4p); cannam@167: T6R = VADD(T4e, T4p); cannam@167: } cannam@167: { cannam@167: V T4T, T4W, T8d, T8e; cannam@167: T4T = VSUB(T4P, T4S); cannam@167: T4W = VMUL(LDK(KP707106781), VSUB(T4U, T4V)); cannam@167: T4X = VSUB(T4T, T4W); cannam@167: T6O = VADD(T4T, T4W); cannam@167: T8d = VADD(T4P, T4S); cannam@167: T8e = VMUL(LDK(KP707106781), VADD(T4o, T4j)); cannam@167: T8f = VSUB(T8d, T8e); cannam@167: T9s = VADD(T8d, T8e); cannam@167: } cannam@167: { cannam@167: V TaI, TaJ, T82, T83; cannam@167: TaI = VSUB(TaG, TaH); cannam@167: TaJ = VSUB(T1e, T1b); cannam@167: TaK = VSUB(TaI, TaJ); cannam@167: Tcp = VADD(TaJ, TaI); cannam@167: T82 = VSUB(T4d, T4a); cannam@167: T83 = VMUL(LDK(KP707106781), VADD(T4U, T4V)); cannam@167: T84 = VSUB(T82, T83); cannam@167: T9v = VADD(T82, T83); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T1j, TaR, T1m, TaS, T4G, T4L, TaT, TaQ, T89, T88, T1q, TaM, T1t, TaN, T4v; cannam@167: V T4A, TaO, TaL, T86, T85; cannam@167: { cannam@167: V T4H, T4F, T4C, T4K; cannam@167: { cannam@167: V T1h, T1i, T4D, T4E; cannam@167: T1h = LD(&(ri[WS(is, 5)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1i = LD(&(ri[WS(is, 37)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1j = VADD(T1h, T1i); cannam@167: T4H = VSUB(T1h, T1i); cannam@167: T4D = LD(&(ii[WS(is, 5)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4E = LD(&(ii[WS(is, 37)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4F = VSUB(T4D, T4E); cannam@167: TaR = VADD(T4D, T4E); cannam@167: } cannam@167: { cannam@167: V T1k, T1l, T4I, T4J; cannam@167: T1k = LD(&(ri[WS(is, 21)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1l = LD(&(ri[WS(is, 53)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1m = VADD(T1k, T1l); cannam@167: T4C = VSUB(T1k, T1l); cannam@167: T4I = LD(&(ii[WS(is, 21)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4J = LD(&(ii[WS(is, 53)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4K = VSUB(T4I, T4J); cannam@167: TaS = VADD(T4I, T4J); cannam@167: } cannam@167: T4G = VADD(T4C, T4F); cannam@167: T4L = VSUB(T4H, T4K); cannam@167: TaT = VSUB(TaR, TaS); cannam@167: TaQ = VSUB(T1j, T1m); cannam@167: T89 = VADD(T4H, T4K); cannam@167: T88 = VSUB(T4F, T4C); cannam@167: } cannam@167: { cannam@167: V T4r, T4z, T4w, T4u; cannam@167: { cannam@167: V T1o, T1p, T4x, T4y; cannam@167: T1o = LD(&(ri[WS(is, 61)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1p = LD(&(ri[WS(is, 29)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1q = VADD(T1o, T1p); cannam@167: T4r = VSUB(T1o, T1p); cannam@167: T4x = LD(&(ii[WS(is, 61)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4y = LD(&(ii[WS(is, 29)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4z = VSUB(T4x, T4y); cannam@167: TaM = VADD(T4x, T4y); cannam@167: } cannam@167: { cannam@167: V T1r, T1s, T4s, T4t; cannam@167: T1r = LD(&(ri[WS(is, 13)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1s = LD(&(ri[WS(is, 45)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1t = VADD(T1r, T1s); cannam@167: T4w = VSUB(T1r, T1s); cannam@167: T4s = LD(&(ii[WS(is, 13)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4t = LD(&(ii[WS(is, 45)]), ivs, &(ii[WS(is, 1)])); cannam@167: T4u = VSUB(T4s, T4t); cannam@167: TaN = VADD(T4s, T4t); cannam@167: } cannam@167: T4v = VSUB(T4r, T4u); cannam@167: T4A = VADD(T4w, T4z); cannam@167: TaO = VSUB(TaM, TaN); cannam@167: TaL = VSUB(T1q, T1t); cannam@167: T86 = VSUB(T4z, T4w); cannam@167: T85 = VADD(T4r, T4u); cannam@167: } cannam@167: { cannam@167: V T1n, T1u, Tb2, Tb3; cannam@167: T1n = VADD(T1j, T1m); cannam@167: T1u = VADD(T1q, T1t); cannam@167: T1v = VADD(T1n, T1u); cannam@167: Tdn = VSUB(T1u, T1n); cannam@167: Tb2 = VSUB(TaT, TaQ); cannam@167: Tb3 = VADD(TaL, TaO); cannam@167: Tb4 = VMUL(LDK(KP707106781), VSUB(Tb2, Tb3)); cannam@167: Tcq = VMUL(LDK(KP707106781), VADD(Tb2, Tb3)); cannam@167: } cannam@167: { cannam@167: V Tdq, Tdr, T4B, T4M; cannam@167: Tdq = VADD(TaR, TaS); cannam@167: Tdr = VADD(TaM, TaN); cannam@167: Tds = VSUB(Tdq, Tdr); cannam@167: Tek = VADD(Tdq, Tdr); cannam@167: T4B = VFNMS(LDK(KP923879532), T4A, VMUL(LDK(KP382683432), T4v)); cannam@167: T4M = VFMA(LDK(KP923879532), T4G, VMUL(LDK(KP382683432), T4L)); cannam@167: T4N = VSUB(T4B, T4M); cannam@167: T6P = VADD(T4M, T4B); cannam@167: } cannam@167: { cannam@167: V T4Y, T4Z, T8g, T8h; cannam@167: T4Y = VFNMS(LDK(KP923879532), T4L, VMUL(LDK(KP382683432), T4G)); cannam@167: T4Z = VFMA(LDK(KP382683432), T4A, VMUL(LDK(KP923879532), T4v)); cannam@167: T50 = VSUB(T4Y, T4Z); cannam@167: T6S = VADD(T4Y, T4Z); cannam@167: T8g = VFNMS(LDK(KP382683432), T89, VMUL(LDK(KP923879532), T88)); cannam@167: T8h = VFMA(LDK(KP923879532), T86, VMUL(LDK(KP382683432), T85)); cannam@167: T8i = VSUB(T8g, T8h); cannam@167: T9w = VADD(T8g, T8h); cannam@167: } cannam@167: { cannam@167: V TaP, TaU, T87, T8a; cannam@167: TaP = VSUB(TaL, TaO); cannam@167: TaU = VADD(TaQ, TaT); cannam@167: TaV = VMUL(LDK(KP707106781), VSUB(TaP, TaU)); cannam@167: Tcn = VMUL(LDK(KP707106781), VADD(TaU, TaP)); cannam@167: T87 = VFNMS(LDK(KP382683432), T86, VMUL(LDK(KP923879532), T85)); cannam@167: T8a = VFMA(LDK(KP382683432), T88, VMUL(LDK(KP923879532), T89)); cannam@167: T8b = VSUB(T87, T8a); cannam@167: T9t = VADD(T8a, T87); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T1O, Tbc, T1R, Tbd, T5o, T5t, Tbf, Tbe, T8p, T8o, T1V, Tbi, T1Y, Tbj, T5z; cannam@167: V T5E, Tbk, Tbh, T8s, T8r; cannam@167: { cannam@167: V T5p, T5n, T5k, T5s; cannam@167: { cannam@167: V T1M, T1N, T5l, T5m; cannam@167: T1M = LD(&(ri[WS(is, 3)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1N = LD(&(ri[WS(is, 35)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1O = VADD(T1M, T1N); cannam@167: T5p = VSUB(T1M, T1N); cannam@167: T5l = LD(&(ii[WS(is, 3)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5m = LD(&(ii[WS(is, 35)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5n = VSUB(T5l, T5m); cannam@167: Tbc = VADD(T5l, T5m); cannam@167: } cannam@167: { cannam@167: V T1P, T1Q, T5q, T5r; cannam@167: T1P = LD(&(ri[WS(is, 19)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1Q = LD(&(ri[WS(is, 51)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1R = VADD(T1P, T1Q); cannam@167: T5k = VSUB(T1P, T1Q); cannam@167: T5q = LD(&(ii[WS(is, 19)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5r = LD(&(ii[WS(is, 51)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5s = VSUB(T5q, T5r); cannam@167: Tbd = VADD(T5q, T5r); cannam@167: } cannam@167: T5o = VADD(T5k, T5n); cannam@167: T5t = VSUB(T5p, T5s); cannam@167: Tbf = VSUB(T1O, T1R); cannam@167: Tbe = VSUB(Tbc, Tbd); cannam@167: T8p = VADD(T5p, T5s); cannam@167: T8o = VSUB(T5n, T5k); cannam@167: } cannam@167: { cannam@167: V T5A, T5y, T5v, T5D; cannam@167: { cannam@167: V T1T, T1U, T5w, T5x; cannam@167: T1T = LD(&(ri[WS(is, 59)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1U = LD(&(ri[WS(is, 27)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1V = VADD(T1T, T1U); cannam@167: T5A = VSUB(T1T, T1U); cannam@167: T5w = LD(&(ii[WS(is, 59)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5x = LD(&(ii[WS(is, 27)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5y = VSUB(T5w, T5x); cannam@167: Tbi = VADD(T5w, T5x); cannam@167: } cannam@167: { cannam@167: V T1W, T1X, T5B, T5C; cannam@167: T1W = LD(&(ri[WS(is, 11)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1X = LD(&(ri[WS(is, 43)]), ivs, &(ri[WS(is, 1)])); cannam@167: T1Y = VADD(T1W, T1X); cannam@167: T5v = VSUB(T1W, T1X); cannam@167: T5B = LD(&(ii[WS(is, 11)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5C = LD(&(ii[WS(is, 43)]), ivs, &(ii[WS(is, 1)])); cannam@167: T5D = VSUB(T5B, T5C); cannam@167: Tbj = VADD(T5B, T5C); cannam@167: } cannam@167: T5z = VADD(T5v, T5y); cannam@167: T5E = VSUB(T5A, T5D); cannam@167: Tbk = VSUB(Tbi, Tbj); cannam@167: Tbh = VSUB(T1V, T1Y); cannam@167: T8s = VADD(T5A, T5D); cannam@167: T8r = VSUB(T5y, T5v); cannam@167: } cannam@167: { cannam@167: V T1S, T1Z, Tbt, Tbu; cannam@167: T1S = VADD(T1O, T1R); cannam@167: T1Z = VADD(T1V, T1Y); cannam@167: T20 = VADD(T1S, T1Z); cannam@167: TdD = VSUB(T1Z, T1S); cannam@167: Tbt = VSUB(Tbh, Tbk); cannam@167: Tbu = VADD(Tbf, Tbe); cannam@167: Tbv = VMUL(LDK(KP707106781), VSUB(Tbt, Tbu)); cannam@167: Tcu = VMUL(LDK(KP707106781), VADD(Tbu, Tbt)); cannam@167: } cannam@167: { cannam@167: V Tdw, Tdx, T5u, T5F; cannam@167: Tdw = VADD(Tbc, Tbd); cannam@167: Tdx = VADD(Tbi, Tbj); cannam@167: Tdy = VSUB(Tdw, Tdx); cannam@167: Tep = VADD(Tdw, Tdx); cannam@167: T5u = VFNMS(LDK(KP923879532), T5t, VMUL(LDK(KP382683432), T5o)); cannam@167: T5F = VFMA(LDK(KP382683432), T5z, VMUL(LDK(KP923879532), T5E)); cannam@167: T5G = VSUB(T5u, T5F); cannam@167: T6Z = VADD(T5u, T5F); cannam@167: } cannam@167: { cannam@167: V T5R, T5S, T8z, T8A; cannam@167: T5R = VFNMS(LDK(KP923879532), T5z, VMUL(LDK(KP382683432), T5E)); cannam@167: T5S = VFMA(LDK(KP923879532), T5o, VMUL(LDK(KP382683432), T5t)); cannam@167: T5T = VSUB(T5R, T5S); cannam@167: T6W = VADD(T5S, T5R); cannam@167: T8z = VFNMS(LDK(KP382683432), T8r, VMUL(LDK(KP923879532), T8s)); cannam@167: T8A = VFMA(LDK(KP382683432), T8o, VMUL(LDK(KP923879532), T8p)); cannam@167: T8B = VSUB(T8z, T8A); cannam@167: T9A = VADD(T8A, T8z); cannam@167: } cannam@167: { cannam@167: V Tbg, Tbl, T8q, T8t; cannam@167: Tbg = VSUB(Tbe, Tbf); cannam@167: Tbl = VADD(Tbh, Tbk); cannam@167: Tbm = VMUL(LDK(KP707106781), VSUB(Tbg, Tbl)); cannam@167: Tcx = VMUL(LDK(KP707106781), VADD(Tbg, Tbl)); cannam@167: T8q = VFNMS(LDK(KP382683432), T8p, VMUL(LDK(KP923879532), T8o)); cannam@167: T8t = VFMA(LDK(KP923879532), T8r, VMUL(LDK(KP382683432), T8s)); cannam@167: T8u = VSUB(T8q, T8t); cannam@167: T9D = VADD(T8q, T8t); cannam@167: } cannam@167: } cannam@167: { cannam@167: V TeJ, TeK, TeL, TeM, TeN, TeO, TeP, TeQ, TeR, TeS, TeT, TeU, TeV, TeW, TeX; cannam@167: V TeY, TeZ, Tf0, Tf1, Tf2, Tf3, Tf4, Tf5, Tf6, Tf7, Tf8, Tf9, Tfa, Tfb, Tfc; cannam@167: V Tfd, Tfe, Tff, Tfg, Tfh, Tfi, Tfj, Tfk, Tfl, Tfm, Tfn, Tfo, Tfp, Tfq, Tfr; cannam@167: V Tfs, Tft, Tfu; cannam@167: { cannam@167: V T11, TeD, TeG, TeI, T22, T23, T34, TeH; cannam@167: { cannam@167: V Tv, T10, TeE, TeF; cannam@167: Tv = VADD(Tf, Tu); cannam@167: T10 = VADD(TK, TZ); cannam@167: T11 = VADD(Tv, T10); cannam@167: TeD = VSUB(Tv, T10); cannam@167: TeE = VADD(Tej, Tek); cannam@167: TeF = VADD(Teo, Tep); cannam@167: TeG = VSUB(TeE, TeF); cannam@167: TeI = VADD(TeE, TeF); cannam@167: } cannam@167: { cannam@167: V T1w, T21, T2y, T33; cannam@167: T1w = VADD(T1g, T1v); cannam@167: T21 = VADD(T1L, T20); cannam@167: T22 = VADD(T1w, T21); cannam@167: T23 = VSUB(T21, T1w); cannam@167: T2y = VADD(T2i, T2x); cannam@167: T33 = VADD(T2N, T32); cannam@167: T34 = VSUB(T2y, T33); cannam@167: TeH = VADD(T2y, T33); cannam@167: } cannam@167: TeJ = VSUB(T11, T22); cannam@167: STM4(&(ro[32]), TeJ, ovs, &(ro[0])); cannam@167: TeK = VSUB(TeH, TeI); cannam@167: STM4(&(io[32]), TeK, ovs, &(io[0])); cannam@167: TeL = VADD(T11, T22); cannam@167: STM4(&(ro[0]), TeL, ovs, &(ro[0])); cannam@167: TeM = VADD(TeH, TeI); cannam@167: STM4(&(io[0]), TeM, ovs, &(io[0])); cannam@167: TeN = VADD(T23, T34); cannam@167: STM4(&(io[16]), TeN, ovs, &(io[0])); cannam@167: TeO = VADD(TeD, TeG); cannam@167: STM4(&(ro[16]), TeO, ovs, &(ro[0])); cannam@167: TeP = VSUB(T34, T23); cannam@167: STM4(&(io[48]), TeP, ovs, &(io[0])); cannam@167: TeQ = VSUB(TeD, TeG); cannam@167: STM4(&(ro[48]), TeQ, ovs, &(ro[0])); cannam@167: } cannam@167: { cannam@167: V Teh, Tex, Tev, TeB, Tem, Tey, Ter, Tez; cannam@167: { cannam@167: V Tef, Teg, Tet, Teu; cannam@167: Tef = VSUB(Tf, Tu); cannam@167: Teg = VSUB(T2N, T32); cannam@167: Teh = VADD(Tef, Teg); cannam@167: Tex = VSUB(Tef, Teg); cannam@167: Tet = VSUB(T2i, T2x); cannam@167: Teu = VSUB(TZ, TK); cannam@167: Tev = VSUB(Tet, Teu); cannam@167: TeB = VADD(Teu, Tet); cannam@167: } cannam@167: { cannam@167: V Tei, Tel, Ten, Teq; cannam@167: Tei = VSUB(T1g, T1v); cannam@167: Tel = VSUB(Tej, Tek); cannam@167: Tem = VADD(Tei, Tel); cannam@167: Tey = VSUB(Tel, Tei); cannam@167: Ten = VSUB(T1L, T20); cannam@167: Teq = VSUB(Teo, Tep); cannam@167: Ter = VSUB(Ten, Teq); cannam@167: Tez = VADD(Ten, Teq); cannam@167: } cannam@167: { cannam@167: V Tes, TeC, Tew, TeA; cannam@167: Tes = VMUL(LDK(KP707106781), VADD(Tem, Ter)); cannam@167: TeR = VSUB(Teh, Tes); cannam@167: STM4(&(ro[40]), TeR, ovs, &(ro[0])); cannam@167: TeS = VADD(Teh, Tes); cannam@167: STM4(&(ro[8]), TeS, ovs, &(ro[0])); cannam@167: TeC = VMUL(LDK(KP707106781), VADD(Tey, Tez)); cannam@167: TeT = VSUB(TeB, TeC); cannam@167: STM4(&(io[40]), TeT, ovs, &(io[0])); cannam@167: TeU = VADD(TeB, TeC); cannam@167: STM4(&(io[8]), TeU, ovs, &(io[0])); cannam@167: Tew = VMUL(LDK(KP707106781), VSUB(Ter, Tem)); cannam@167: TeV = VSUB(Tev, Tew); cannam@167: STM4(&(io[56]), TeV, ovs, &(io[0])); cannam@167: TeW = VADD(Tev, Tew); cannam@167: STM4(&(io[24]), TeW, ovs, &(io[0])); cannam@167: TeA = VMUL(LDK(KP707106781), VSUB(Tey, Tez)); cannam@167: TeX = VSUB(Tex, TeA); cannam@167: STM4(&(ro[56]), TeX, ovs, &(ro[0])); cannam@167: TeY = VADD(Tex, TeA); cannam@167: STM4(&(ro[24]), TeY, ovs, &(ro[0])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tdb, TdV, Te5, TdJ, Tdi, Te6, Te3, Teb, TdM, TdW, Tdu, TdQ, Te0, Tea, TdF; cannam@167: V TdR; cannam@167: { cannam@167: V Tde, Tdh, Tdo, Tdt; cannam@167: Tdb = VSUB(Td9, Tda); cannam@167: TdV = VADD(Td9, Tda); cannam@167: Te5 = VADD(TdI, TdH); cannam@167: TdJ = VSUB(TdH, TdI); cannam@167: Tde = VSUB(Tdc, Tdd); cannam@167: Tdh = VADD(Tdf, Tdg); cannam@167: Tdi = VMUL(LDK(KP707106781), VSUB(Tde, Tdh)); cannam@167: Te6 = VMUL(LDK(KP707106781), VADD(Tde, Tdh)); cannam@167: { cannam@167: V Te1, Te2, TdK, TdL; cannam@167: Te1 = VADD(Tdv, Tdy); cannam@167: Te2 = VADD(TdD, TdC); cannam@167: Te3 = VFNMS(LDK(KP382683432), Te2, VMUL(LDK(KP923879532), Te1)); cannam@167: Teb = VFMA(LDK(KP923879532), Te2, VMUL(LDK(KP382683432), Te1)); cannam@167: TdK = VSUB(Tdf, Tdg); cannam@167: TdL = VADD(Tdd, Tdc); cannam@167: TdM = VMUL(LDK(KP707106781), VSUB(TdK, TdL)); cannam@167: TdW = VMUL(LDK(KP707106781), VADD(TdL, TdK)); cannam@167: } cannam@167: Tdo = VSUB(Tdm, Tdn); cannam@167: Tdt = VSUB(Tdp, Tds); cannam@167: Tdu = VFMA(LDK(KP923879532), Tdo, VMUL(LDK(KP382683432), Tdt)); cannam@167: TdQ = VFNMS(LDK(KP923879532), Tdt, VMUL(LDK(KP382683432), Tdo)); cannam@167: { cannam@167: V TdY, TdZ, Tdz, TdE; cannam@167: TdY = VADD(Tdn, Tdm); cannam@167: TdZ = VADD(Tdp, Tds); cannam@167: Te0 = VFMA(LDK(KP382683432), TdY, VMUL(LDK(KP923879532), TdZ)); cannam@167: Tea = VFNMS(LDK(KP382683432), TdZ, VMUL(LDK(KP923879532), TdY)); cannam@167: Tdz = VSUB(Tdv, Tdy); cannam@167: TdE = VSUB(TdC, TdD); cannam@167: TdF = VFNMS(LDK(KP923879532), TdE, VMUL(LDK(KP382683432), Tdz)); cannam@167: TdR = VFMA(LDK(KP382683432), TdE, VMUL(LDK(KP923879532), Tdz)); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tdj, TdG, TdT, TdU; cannam@167: Tdj = VADD(Tdb, Tdi); cannam@167: TdG = VADD(Tdu, TdF); cannam@167: TeZ = VSUB(Tdj, TdG); cannam@167: STM4(&(ro[44]), TeZ, ovs, &(ro[0])); cannam@167: Tf0 = VADD(Tdj, TdG); cannam@167: STM4(&(ro[12]), Tf0, ovs, &(ro[0])); cannam@167: TdT = VADD(TdJ, TdM); cannam@167: TdU = VADD(TdQ, TdR); cannam@167: Tf1 = VSUB(TdT, TdU); cannam@167: STM4(&(io[44]), Tf1, ovs, &(io[0])); cannam@167: Tf2 = VADD(TdT, TdU); cannam@167: STM4(&(io[12]), Tf2, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V TdN, TdO, TdP, TdS; cannam@167: TdN = VSUB(TdJ, TdM); cannam@167: TdO = VSUB(TdF, Tdu); cannam@167: Tf3 = VSUB(TdN, TdO); cannam@167: STM4(&(io[60]), Tf3, ovs, &(io[0])); cannam@167: Tf4 = VADD(TdN, TdO); cannam@167: STM4(&(io[28]), Tf4, ovs, &(io[0])); cannam@167: TdP = VSUB(Tdb, Tdi); cannam@167: TdS = VSUB(TdQ, TdR); cannam@167: Tf5 = VSUB(TdP, TdS); cannam@167: STM4(&(ro[60]), Tf5, ovs, &(ro[0])); cannam@167: Tf6 = VADD(TdP, TdS); cannam@167: STM4(&(ro[28]), Tf6, ovs, &(ro[0])); cannam@167: } cannam@167: { cannam@167: V TdX, Te4, Ted, Tee; cannam@167: TdX = VADD(TdV, TdW); cannam@167: Te4 = VADD(Te0, Te3); cannam@167: Tf7 = VSUB(TdX, Te4); cannam@167: STM4(&(ro[36]), Tf7, ovs, &(ro[0])); cannam@167: Tf8 = VADD(TdX, Te4); cannam@167: STM4(&(ro[4]), Tf8, ovs, &(ro[0])); cannam@167: Ted = VADD(Te5, Te6); cannam@167: Tee = VADD(Tea, Teb); cannam@167: Tf9 = VSUB(Ted, Tee); cannam@167: STM4(&(io[36]), Tf9, ovs, &(io[0])); cannam@167: Tfa = VADD(Ted, Tee); cannam@167: STM4(&(io[4]), Tfa, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V Te7, Te8, Te9, Tec; cannam@167: Te7 = VSUB(Te5, Te6); cannam@167: Te8 = VSUB(Te3, Te0); cannam@167: Tfb = VSUB(Te7, Te8); cannam@167: STM4(&(io[52]), Tfb, ovs, &(io[0])); cannam@167: Tfc = VADD(Te7, Te8); cannam@167: STM4(&(io[20]), Tfc, ovs, &(io[0])); cannam@167: Te9 = VSUB(TdV, TdW); cannam@167: Tec = VSUB(Tea, Teb); cannam@167: Tfd = VSUB(Te9, Tec); cannam@167: STM4(&(ro[52]), Tfd, ovs, &(ro[0])); cannam@167: Tfe = VADD(Te9, Tec); cannam@167: STM4(&(ro[20]), Tfe, ovs, &(ro[0])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tcd, TcP, TcD, TcZ, Tck, Td0, TcX, Td5, Tcs, TcK, TcG, TcQ, TcU, Td4, Tcz; cannam@167: V TcL, Tcc, TcC; cannam@167: Tcc = VMUL(LDK(KP707106781), VADD(TbD, TbC)); cannam@167: Tcd = VSUB(Tcb, Tcc); cannam@167: TcP = VADD(Tcb, Tcc); cannam@167: TcC = VMUL(LDK(KP707106781), VADD(Tak, Tan)); cannam@167: TcD = VSUB(TcB, TcC); cannam@167: TcZ = VADD(TcB, TcC); cannam@167: { cannam@167: V Tcg, Tcj, TcV, TcW; cannam@167: Tcg = VFNMS(LDK(KP382683432), Tcf, VMUL(LDK(KP923879532), Tce)); cannam@167: Tcj = VFMA(LDK(KP923879532), Tch, VMUL(LDK(KP382683432), Tci)); cannam@167: Tck = VSUB(Tcg, Tcj); cannam@167: Td0 = VADD(Tcg, Tcj); cannam@167: TcV = VADD(Tct, Tcu); cannam@167: TcW = VADD(Tcw, Tcx); cannam@167: TcX = VFNMS(LDK(KP195090322), TcW, VMUL(LDK(KP980785280), TcV)); cannam@167: Td5 = VFMA(LDK(KP195090322), TcV, VMUL(LDK(KP980785280), TcW)); cannam@167: } cannam@167: { cannam@167: V Tco, Tcr, TcE, TcF; cannam@167: Tco = VSUB(Tcm, Tcn); cannam@167: Tcr = VSUB(Tcp, Tcq); cannam@167: Tcs = VFMA(LDK(KP555570233), Tco, VMUL(LDK(KP831469612), Tcr)); cannam@167: TcK = VFNMS(LDK(KP831469612), Tco, VMUL(LDK(KP555570233), Tcr)); cannam@167: TcE = VFNMS(LDK(KP382683432), Tch, VMUL(LDK(KP923879532), Tci)); cannam@167: TcF = VFMA(LDK(KP382683432), Tce, VMUL(LDK(KP923879532), Tcf)); cannam@167: TcG = VSUB(TcE, TcF); cannam@167: TcQ = VADD(TcF, TcE); cannam@167: } cannam@167: { cannam@167: V TcS, TcT, Tcv, Tcy; cannam@167: TcS = VADD(Tcm, Tcn); cannam@167: TcT = VADD(Tcp, Tcq); cannam@167: TcU = VFMA(LDK(KP980785280), TcS, VMUL(LDK(KP195090322), TcT)); cannam@167: Td4 = VFNMS(LDK(KP195090322), TcS, VMUL(LDK(KP980785280), TcT)); cannam@167: Tcv = VSUB(Tct, Tcu); cannam@167: Tcy = VSUB(Tcw, Tcx); cannam@167: Tcz = VFNMS(LDK(KP831469612), Tcy, VMUL(LDK(KP555570233), Tcv)); cannam@167: TcL = VFMA(LDK(KP831469612), Tcv, VMUL(LDK(KP555570233), Tcy)); cannam@167: } cannam@167: { cannam@167: V Tcl, TcA, TcN, TcO; cannam@167: Tcl = VADD(Tcd, Tck); cannam@167: TcA = VADD(Tcs, Tcz); cannam@167: Tff = VSUB(Tcl, TcA); cannam@167: STM4(&(ro[42]), Tff, ovs, &(ro[0])); cannam@167: Tfg = VADD(Tcl, TcA); cannam@167: STM4(&(ro[10]), Tfg, ovs, &(ro[0])); cannam@167: TcN = VADD(TcD, TcG); cannam@167: TcO = VADD(TcK, TcL); cannam@167: Tfh = VSUB(TcN, TcO); cannam@167: STM4(&(io[42]), Tfh, ovs, &(io[0])); cannam@167: Tfi = VADD(TcN, TcO); cannam@167: STM4(&(io[10]), Tfi, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V TcH, TcI, TcJ, TcM; cannam@167: TcH = VSUB(TcD, TcG); cannam@167: TcI = VSUB(Tcz, Tcs); cannam@167: Tfj = VSUB(TcH, TcI); cannam@167: STM4(&(io[58]), Tfj, ovs, &(io[0])); cannam@167: Tfk = VADD(TcH, TcI); cannam@167: STM4(&(io[26]), Tfk, ovs, &(io[0])); cannam@167: TcJ = VSUB(Tcd, Tck); cannam@167: TcM = VSUB(TcK, TcL); cannam@167: Tfl = VSUB(TcJ, TcM); cannam@167: STM4(&(ro[58]), Tfl, ovs, &(ro[0])); cannam@167: Tfm = VADD(TcJ, TcM); cannam@167: STM4(&(ro[26]), Tfm, ovs, &(ro[0])); cannam@167: } cannam@167: { cannam@167: V TcR, TcY, Td7, Td8; cannam@167: TcR = VADD(TcP, TcQ); cannam@167: TcY = VADD(TcU, TcX); cannam@167: Tfn = VSUB(TcR, TcY); cannam@167: STM4(&(ro[34]), Tfn, ovs, &(ro[0])); cannam@167: Tfo = VADD(TcR, TcY); cannam@167: STM4(&(ro[2]), Tfo, ovs, &(ro[0])); cannam@167: Td7 = VADD(TcZ, Td0); cannam@167: Td8 = VADD(Td4, Td5); cannam@167: Tfp = VSUB(Td7, Td8); cannam@167: STM4(&(io[34]), Tfp, ovs, &(io[0])); cannam@167: Tfq = VADD(Td7, Td8); cannam@167: STM4(&(io[2]), Tfq, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V Td1, Td2, Td3, Td6; cannam@167: Td1 = VSUB(TcZ, Td0); cannam@167: Td2 = VSUB(TcX, TcU); cannam@167: Tfr = VSUB(Td1, Td2); cannam@167: STM4(&(io[50]), Tfr, ovs, &(io[0])); cannam@167: Tfs = VADD(Td1, Td2); cannam@167: STM4(&(io[18]), Tfs, ovs, &(io[0])); cannam@167: Td3 = VSUB(TcP, TcQ); cannam@167: Td6 = VSUB(Td4, Td5); cannam@167: Tft = VSUB(Td3, Td6); cannam@167: STM4(&(ro[50]), Tft, ovs, &(ro[0])); cannam@167: Tfu = VADD(Td3, Td6); cannam@167: STM4(&(ro[18]), Tfu, ovs, &(ro[0])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tfv, Tfw, Tfx, Tfy, Tfz, TfA, TfB, TfC, TfD, TfE, TfF, TfG, TfH, TfI, TfJ; cannam@167: V TfK, TfL, TfM, TfN, TfO, TfP, TfQ, TfR, TfS, TfT, TfU, TfV, TfW, TfX, TfY; cannam@167: V TfZ, Tg0; cannam@167: { cannam@167: V Tap, TbR, TbF, Tc1, TaE, Tc2, TbZ, Tc7, Tb6, TbM, TbI, TbS, TbW, Tc6, Tbx; cannam@167: V TbN, Tao, TbE; cannam@167: Tao = VMUL(LDK(KP707106781), VSUB(Tak, Tan)); cannam@167: Tap = VSUB(Tah, Tao); cannam@167: TbR = VADD(Tah, Tao); cannam@167: TbE = VMUL(LDK(KP707106781), VSUB(TbC, TbD)); cannam@167: TbF = VSUB(TbB, TbE); cannam@167: Tc1 = VADD(TbB, TbE); cannam@167: { cannam@167: V Taw, TaD, TbX, TbY; cannam@167: Taw = VFNMS(LDK(KP923879532), Tav, VMUL(LDK(KP382683432), Tas)); cannam@167: TaD = VFMA(LDK(KP382683432), Taz, VMUL(LDK(KP923879532), TaC)); cannam@167: TaE = VSUB(Taw, TaD); cannam@167: Tc2 = VADD(Taw, TaD); cannam@167: TbX = VADD(Tbb, Tbm); cannam@167: TbY = VADD(Tbs, Tbv); cannam@167: TbZ = VFNMS(LDK(KP555570233), TbY, VMUL(LDK(KP831469612), TbX)); cannam@167: Tc7 = VFMA(LDK(KP831469612), TbY, VMUL(LDK(KP555570233), TbX)); cannam@167: } cannam@167: { cannam@167: V TaW, Tb5, TbG, TbH; cannam@167: TaW = VSUB(TaK, TaV); cannam@167: Tb5 = VSUB(Tb1, Tb4); cannam@167: Tb6 = VFMA(LDK(KP980785280), TaW, VMUL(LDK(KP195090322), Tb5)); cannam@167: TbM = VFNMS(LDK(KP980785280), Tb5, VMUL(LDK(KP195090322), TaW)); cannam@167: TbG = VFNMS(LDK(KP923879532), Taz, VMUL(LDK(KP382683432), TaC)); cannam@167: TbH = VFMA(LDK(KP923879532), Tas, VMUL(LDK(KP382683432), Tav)); cannam@167: TbI = VSUB(TbG, TbH); cannam@167: TbS = VADD(TbH, TbG); cannam@167: } cannam@167: { cannam@167: V TbU, TbV, Tbn, Tbw; cannam@167: TbU = VADD(TaK, TaV); cannam@167: TbV = VADD(Tb1, Tb4); cannam@167: TbW = VFMA(LDK(KP555570233), TbU, VMUL(LDK(KP831469612), TbV)); cannam@167: Tc6 = VFNMS(LDK(KP555570233), TbV, VMUL(LDK(KP831469612), TbU)); cannam@167: Tbn = VSUB(Tbb, Tbm); cannam@167: Tbw = VSUB(Tbs, Tbv); cannam@167: Tbx = VFNMS(LDK(KP980785280), Tbw, VMUL(LDK(KP195090322), Tbn)); cannam@167: TbN = VFMA(LDK(KP195090322), Tbw, VMUL(LDK(KP980785280), Tbn)); cannam@167: } cannam@167: { cannam@167: V TaF, Tby, TbP, TbQ; cannam@167: TaF = VADD(Tap, TaE); cannam@167: Tby = VADD(Tb6, Tbx); cannam@167: Tfv = VSUB(TaF, Tby); cannam@167: STM4(&(ro[46]), Tfv, ovs, &(ro[0])); cannam@167: Tfw = VADD(TaF, Tby); cannam@167: STM4(&(ro[14]), Tfw, ovs, &(ro[0])); cannam@167: TbP = VADD(TbF, TbI); cannam@167: TbQ = VADD(TbM, TbN); cannam@167: Tfx = VSUB(TbP, TbQ); cannam@167: STM4(&(io[46]), Tfx, ovs, &(io[0])); cannam@167: Tfy = VADD(TbP, TbQ); cannam@167: STM4(&(io[14]), Tfy, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V TbJ, TbK, TbL, TbO; cannam@167: TbJ = VSUB(TbF, TbI); cannam@167: TbK = VSUB(Tbx, Tb6); cannam@167: Tfz = VSUB(TbJ, TbK); cannam@167: STM4(&(io[62]), Tfz, ovs, &(io[0])); cannam@167: TfA = VADD(TbJ, TbK); cannam@167: STM4(&(io[30]), TfA, ovs, &(io[0])); cannam@167: TbL = VSUB(Tap, TaE); cannam@167: TbO = VSUB(TbM, TbN); cannam@167: TfB = VSUB(TbL, TbO); cannam@167: STM4(&(ro[62]), TfB, ovs, &(ro[0])); cannam@167: TfC = VADD(TbL, TbO); cannam@167: STM4(&(ro[30]), TfC, ovs, &(ro[0])); cannam@167: } cannam@167: { cannam@167: V TbT, Tc0, Tc9, Tca; cannam@167: TbT = VADD(TbR, TbS); cannam@167: Tc0 = VADD(TbW, TbZ); cannam@167: TfD = VSUB(TbT, Tc0); cannam@167: STM4(&(ro[38]), TfD, ovs, &(ro[0])); cannam@167: TfE = VADD(TbT, Tc0); cannam@167: STM4(&(ro[6]), TfE, ovs, &(ro[0])); cannam@167: Tc9 = VADD(Tc1, Tc2); cannam@167: Tca = VADD(Tc6, Tc7); cannam@167: TfF = VSUB(Tc9, Tca); cannam@167: STM4(&(io[38]), TfF, ovs, &(io[0])); cannam@167: TfG = VADD(Tc9, Tca); cannam@167: STM4(&(io[6]), TfG, ovs, &(io[0])); cannam@167: } cannam@167: { cannam@167: V Tc3, Tc4, Tc5, Tc8; cannam@167: Tc3 = VSUB(Tc1, Tc2); cannam@167: Tc4 = VSUB(TbZ, TbW); cannam@167: TfH = VSUB(Tc3, Tc4); cannam@167: STM4(&(io[54]), TfH, ovs, &(io[0])); cannam@167: TfI = VADD(Tc3, Tc4); cannam@167: STM4(&(io[22]), TfI, ovs, &(io[0])); cannam@167: Tc5 = VSUB(TbR, TbS); cannam@167: Tc8 = VSUB(Tc6, Tc7); cannam@167: TfJ = VSUB(Tc5, Tc8); cannam@167: STM4(&(ro[54]), TfJ, ovs, &(ro[0])); cannam@167: TfK = VADD(Tc5, Tc8); cannam@167: STM4(&(ro[22]), TfK, ovs, &(ro[0])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T6F, T7h, T7m, T7w, T7p, T7x, T6M, T7s, T6U, T7c, T75, T7r, T78, T7i, T71; cannam@167: V T7d; cannam@167: { cannam@167: V T6D, T6E, T7k, T7l; cannam@167: T6D = VADD(T37, T3e); cannam@167: T6E = VADD(T65, T64); cannam@167: T6F = VSUB(T6D, T6E); cannam@167: T7h = VADD(T6D, T6E); cannam@167: T7k = VADD(T6O, T6P); cannam@167: T7l = VADD(T6R, T6S); cannam@167: T7m = VFMA(LDK(KP956940335), T7k, VMUL(LDK(KP290284677), T7l)); cannam@167: T7w = VFNMS(LDK(KP290284677), T7k, VMUL(LDK(KP956940335), T7l)); cannam@167: } cannam@167: { cannam@167: V T7n, T7o, T6I, T6L; cannam@167: T7n = VADD(T6V, T6W); cannam@167: T7o = VADD(T6Y, T6Z); cannam@167: T7p = VFNMS(LDK(KP290284677), T7o, VMUL(LDK(KP956940335), T7n)); cannam@167: T7x = VFMA(LDK(KP290284677), T7n, VMUL(LDK(KP956940335), T7o)); cannam@167: T6I = VFNMS(LDK(KP555570233), T6H, VMUL(LDK(KP831469612), T6G)); cannam@167: T6L = VFMA(LDK(KP831469612), T6J, VMUL(LDK(KP555570233), T6K)); cannam@167: T6M = VSUB(T6I, T6L); cannam@167: T7s = VADD(T6I, T6L); cannam@167: } cannam@167: { cannam@167: V T6Q, T6T, T73, T74; cannam@167: T6Q = VSUB(T6O, T6P); cannam@167: T6T = VSUB(T6R, T6S); cannam@167: T6U = VFMA(LDK(KP471396736), T6Q, VMUL(LDK(KP881921264), T6T)); cannam@167: T7c = VFNMS(LDK(KP881921264), T6Q, VMUL(LDK(KP471396736), T6T)); cannam@167: T73 = VADD(T5Z, T62); cannam@167: T74 = VADD(T3m, T3t); cannam@167: T75 = VSUB(T73, T74); cannam@167: T7r = VADD(T73, T74); cannam@167: } cannam@167: { cannam@167: V T76, T77, T6X, T70; cannam@167: T76 = VFNMS(LDK(KP555570233), T6J, VMUL(LDK(KP831469612), T6K)); cannam@167: T77 = VFMA(LDK(KP555570233), T6G, VMUL(LDK(KP831469612), T6H)); cannam@167: T78 = VSUB(T76, T77); cannam@167: T7i = VADD(T77, T76); cannam@167: T6X = VSUB(T6V, T6W); cannam@167: T70 = VSUB(T6Y, T6Z); cannam@167: T71 = VFNMS(LDK(KP881921264), T70, VMUL(LDK(KP471396736), T6X)); cannam@167: T7d = VFMA(LDK(KP881921264), T6X, VMUL(LDK(KP471396736), T70)); cannam@167: } cannam@167: { cannam@167: V T6N, T72, T7f, T7g; cannam@167: T6N = VADD(T6F, T6M); cannam@167: T72 = VADD(T6U, T71); cannam@167: TfL = VSUB(T6N, T72); cannam@167: STM4(&(ro[43]), TfL, ovs, &(ro[1])); cannam@167: TfM = VADD(T6N, T72); cannam@167: STM4(&(ro[11]), TfM, ovs, &(ro[1])); cannam@167: T7f = VADD(T75, T78); cannam@167: T7g = VADD(T7c, T7d); cannam@167: TfN = VSUB(T7f, T7g); cannam@167: STM4(&(io[43]), TfN, ovs, &(io[1])); cannam@167: TfO = VADD(T7f, T7g); cannam@167: STM4(&(io[11]), TfO, ovs, &(io[1])); cannam@167: } cannam@167: { cannam@167: V T79, T7a, T7b, T7e; cannam@167: T79 = VSUB(T75, T78); cannam@167: T7a = VSUB(T71, T6U); cannam@167: TfP = VSUB(T79, T7a); cannam@167: STM4(&(io[59]), TfP, ovs, &(io[1])); cannam@167: TfQ = VADD(T79, T7a); cannam@167: STM4(&(io[27]), TfQ, ovs, &(io[1])); cannam@167: T7b = VSUB(T6F, T6M); cannam@167: T7e = VSUB(T7c, T7d); cannam@167: TfR = VSUB(T7b, T7e); cannam@167: STM4(&(ro[59]), TfR, ovs, &(ro[1])); cannam@167: TfS = VADD(T7b, T7e); cannam@167: STM4(&(ro[27]), TfS, ovs, &(ro[1])); cannam@167: } cannam@167: { cannam@167: V T7j, T7q, T7z, T7A; cannam@167: T7j = VADD(T7h, T7i); cannam@167: T7q = VADD(T7m, T7p); cannam@167: TfT = VSUB(T7j, T7q); cannam@167: STM4(&(ro[35]), TfT, ovs, &(ro[1])); cannam@167: TfU = VADD(T7j, T7q); cannam@167: STM4(&(ro[3]), TfU, ovs, &(ro[1])); cannam@167: T7z = VADD(T7r, T7s); cannam@167: T7A = VADD(T7w, T7x); cannam@167: TfV = VSUB(T7z, T7A); cannam@167: STM4(&(io[35]), TfV, ovs, &(io[1])); cannam@167: TfW = VADD(T7z, T7A); cannam@167: STM4(&(io[3]), TfW, ovs, &(io[1])); cannam@167: } cannam@167: { cannam@167: V T7t, T7u, T7v, T7y; cannam@167: T7t = VSUB(T7r, T7s); cannam@167: T7u = VSUB(T7p, T7m); cannam@167: TfX = VSUB(T7t, T7u); cannam@167: STM4(&(io[51]), TfX, ovs, &(io[1])); cannam@167: TfY = VADD(T7t, T7u); cannam@167: STM4(&(io[19]), TfY, ovs, &(io[1])); cannam@167: T7v = VSUB(T7h, T7i); cannam@167: T7y = VSUB(T7w, T7x); cannam@167: TfZ = VSUB(T7v, T7y); cannam@167: STM4(&(ro[51]), TfZ, ovs, &(ro[1])); cannam@167: Tg0 = VADD(T7v, T7y); cannam@167: STM4(&(ro[19]), Tg0, ovs, &(ro[1])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T9j, T9V, Ta0, Taa, Ta3, Tab, T9q, Ta6, T9y, T9Q, T9J, Ta5, T9M, T9W, T9F; cannam@167: V T9R; cannam@167: { cannam@167: V T9h, T9i, T9Y, T9Z; cannam@167: T9h = VADD(T7B, T7C); cannam@167: T9i = VADD(T8J, T8I); cannam@167: T9j = VSUB(T9h, T9i); cannam@167: T9V = VADD(T9h, T9i); cannam@167: T9Y = VADD(T9s, T9t); cannam@167: T9Z = VADD(T9v, T9w); cannam@167: Ta0 = VFMA(LDK(KP995184726), T9Y, VMUL(LDK(KP098017140), T9Z)); cannam@167: Taa = VFNMS(LDK(KP098017140), T9Y, VMUL(LDK(KP995184726), T9Z)); cannam@167: } cannam@167: { cannam@167: V Ta1, Ta2, T9m, T9p; cannam@167: Ta1 = VADD(T9z, T9A); cannam@167: Ta2 = VADD(T9C, T9D); cannam@167: Ta3 = VFNMS(LDK(KP098017140), Ta2, VMUL(LDK(KP995184726), Ta1)); cannam@167: Tab = VFMA(LDK(KP098017140), Ta1, VMUL(LDK(KP995184726), Ta2)); cannam@167: T9m = VFNMS(LDK(KP195090322), T9l, VMUL(LDK(KP980785280), T9k)); cannam@167: T9p = VFMA(LDK(KP195090322), T9n, VMUL(LDK(KP980785280), T9o)); cannam@167: T9q = VSUB(T9m, T9p); cannam@167: Ta6 = VADD(T9m, T9p); cannam@167: } cannam@167: { cannam@167: V T9u, T9x, T9H, T9I; cannam@167: T9u = VSUB(T9s, T9t); cannam@167: T9x = VSUB(T9v, T9w); cannam@167: T9y = VFMA(LDK(KP634393284), T9u, VMUL(LDK(KP773010453), T9x)); cannam@167: T9Q = VFNMS(LDK(KP773010453), T9u, VMUL(LDK(KP634393284), T9x)); cannam@167: T9H = VADD(T8F, T8G); cannam@167: T9I = VADD(T7G, T7J); cannam@167: T9J = VSUB(T9H, T9I); cannam@167: Ta5 = VADD(T9H, T9I); cannam@167: } cannam@167: { cannam@167: V T9K, T9L, T9B, T9E; cannam@167: T9K = VFNMS(LDK(KP195090322), T9o, VMUL(LDK(KP980785280), T9n)); cannam@167: T9L = VFMA(LDK(KP980785280), T9l, VMUL(LDK(KP195090322), T9k)); cannam@167: T9M = VSUB(T9K, T9L); cannam@167: T9W = VADD(T9L, T9K); cannam@167: T9B = VSUB(T9z, T9A); cannam@167: T9E = VSUB(T9C, T9D); cannam@167: T9F = VFNMS(LDK(KP773010453), T9E, VMUL(LDK(KP634393284), T9B)); cannam@167: T9R = VFMA(LDK(KP773010453), T9B, VMUL(LDK(KP634393284), T9E)); cannam@167: } cannam@167: { cannam@167: V T9r, T9G, Tg1, Tg2; cannam@167: T9r = VADD(T9j, T9q); cannam@167: T9G = VADD(T9y, T9F); cannam@167: Tg1 = VSUB(T9r, T9G); cannam@167: STM4(&(ro[41]), Tg1, ovs, &(ro[1])); cannam@167: STN4(&(ro[40]), TeR, Tg1, Tff, TfL, ovs); cannam@167: Tg2 = VADD(T9r, T9G); cannam@167: STM4(&(ro[9]), Tg2, ovs, &(ro[1])); cannam@167: STN4(&(ro[8]), TeS, Tg2, Tfg, TfM, ovs); cannam@167: } cannam@167: { cannam@167: V T9T, T9U, Tg3, Tg4; cannam@167: T9T = VADD(T9J, T9M); cannam@167: T9U = VADD(T9Q, T9R); cannam@167: Tg3 = VSUB(T9T, T9U); cannam@167: STM4(&(io[41]), Tg3, ovs, &(io[1])); cannam@167: STN4(&(io[40]), TeT, Tg3, Tfh, TfN, ovs); cannam@167: Tg4 = VADD(T9T, T9U); cannam@167: STM4(&(io[9]), Tg4, ovs, &(io[1])); cannam@167: STN4(&(io[8]), TeU, Tg4, Tfi, TfO, ovs); cannam@167: } cannam@167: { cannam@167: V T9N, T9O, Tg5, Tg6; cannam@167: T9N = VSUB(T9J, T9M); cannam@167: T9O = VSUB(T9F, T9y); cannam@167: Tg5 = VSUB(T9N, T9O); cannam@167: STM4(&(io[57]), Tg5, ovs, &(io[1])); cannam@167: STN4(&(io[56]), TeV, Tg5, Tfj, TfP, ovs); cannam@167: Tg6 = VADD(T9N, T9O); cannam@167: STM4(&(io[25]), Tg6, ovs, &(io[1])); cannam@167: STN4(&(io[24]), TeW, Tg6, Tfk, TfQ, ovs); cannam@167: } cannam@167: { cannam@167: V T9P, T9S, Tg7, Tg8; cannam@167: T9P = VSUB(T9j, T9q); cannam@167: T9S = VSUB(T9Q, T9R); cannam@167: Tg7 = VSUB(T9P, T9S); cannam@167: STM4(&(ro[57]), Tg7, ovs, &(ro[1])); cannam@167: STN4(&(ro[56]), TeX, Tg7, Tfl, TfR, ovs); cannam@167: Tg8 = VADD(T9P, T9S); cannam@167: STM4(&(ro[25]), Tg8, ovs, &(ro[1])); cannam@167: STN4(&(ro[24]), TeY, Tg8, Tfm, TfS, ovs); cannam@167: } cannam@167: { cannam@167: V T9X, Ta4, Tg9, Tga; cannam@167: T9X = VADD(T9V, T9W); cannam@167: Ta4 = VADD(Ta0, Ta3); cannam@167: Tg9 = VSUB(T9X, Ta4); cannam@167: STM4(&(ro[33]), Tg9, ovs, &(ro[1])); cannam@167: STN4(&(ro[32]), TeJ, Tg9, Tfn, TfT, ovs); cannam@167: Tga = VADD(T9X, Ta4); cannam@167: STM4(&(ro[1]), Tga, ovs, &(ro[1])); cannam@167: STN4(&(ro[0]), TeL, Tga, Tfo, TfU, ovs); cannam@167: } cannam@167: { cannam@167: V Tad, Tae, Tgb, Tgc; cannam@167: Tad = VADD(Ta5, Ta6); cannam@167: Tae = VADD(Taa, Tab); cannam@167: Tgb = VSUB(Tad, Tae); cannam@167: STM4(&(io[33]), Tgb, ovs, &(io[1])); cannam@167: STN4(&(io[32]), TeK, Tgb, Tfp, TfV, ovs); cannam@167: Tgc = VADD(Tad, Tae); cannam@167: STM4(&(io[1]), Tgc, ovs, &(io[1])); cannam@167: STN4(&(io[0]), TeM, Tgc, Tfq, TfW, ovs); cannam@167: } cannam@167: { cannam@167: V Ta7, Ta8, Tgd, Tge; cannam@167: Ta7 = VSUB(Ta5, Ta6); cannam@167: Ta8 = VSUB(Ta3, Ta0); cannam@167: Tgd = VSUB(Ta7, Ta8); cannam@167: STM4(&(io[49]), Tgd, ovs, &(io[1])); cannam@167: STN4(&(io[48]), TeP, Tgd, Tfr, TfX, ovs); cannam@167: Tge = VADD(Ta7, Ta8); cannam@167: STM4(&(io[17]), Tge, ovs, &(io[1])); cannam@167: STN4(&(io[16]), TeN, Tge, Tfs, TfY, ovs); cannam@167: } cannam@167: { cannam@167: V Ta9, Tac, Tgf, Tgg; cannam@167: Ta9 = VSUB(T9V, T9W); cannam@167: Tac = VSUB(Taa, Tab); cannam@167: Tgf = VSUB(Ta9, Tac); cannam@167: STM4(&(ro[49]), Tgf, ovs, &(ro[1])); cannam@167: STN4(&(ro[48]), TeQ, Tgf, Tft, TfZ, ovs); cannam@167: Tgg = VADD(Ta9, Tac); cannam@167: STM4(&(ro[17]), Tgg, ovs, &(ro[1])); cannam@167: STN4(&(ro[16]), TeO, Tgg, Tfu, Tg0, ovs); cannam@167: } cannam@167: } cannam@167: { cannam@167: V Tgh, Tgi, Tgj, Tgk, Tgl, Tgm, Tgn, Tgo, Tgp, Tgq, Tgr, Tgs, Tgt, Tgu, Tgv; cannam@167: V Tgw; cannam@167: { cannam@167: V T3v, T6j, T6o, T6y, T6r, T6z, T48, T6u, T52, T6e, T67, T6t, T6a, T6k, T5V; cannam@167: V T6f; cannam@167: { cannam@167: V T3f, T3u, T6m, T6n; cannam@167: T3f = VSUB(T37, T3e); cannam@167: T3u = VSUB(T3m, T3t); cannam@167: T3v = VSUB(T3f, T3u); cannam@167: T6j = VADD(T3f, T3u); cannam@167: T6m = VADD(T4q, T4N); cannam@167: T6n = VADD(T4X, T50); cannam@167: T6o = VFMA(LDK(KP634393284), T6m, VMUL(LDK(KP773010453), T6n)); cannam@167: T6y = VFNMS(LDK(KP634393284), T6n, VMUL(LDK(KP773010453), T6m)); cannam@167: } cannam@167: { cannam@167: V T6p, T6q, T3O, T47; cannam@167: T6p = VADD(T5j, T5G); cannam@167: T6q = VADD(T5Q, T5T); cannam@167: T6r = VFNMS(LDK(KP634393284), T6q, VMUL(LDK(KP773010453), T6p)); cannam@167: T6z = VFMA(LDK(KP773010453), T6q, VMUL(LDK(KP634393284), T6p)); cannam@167: T3O = VFNMS(LDK(KP980785280), T3N, VMUL(LDK(KP195090322), T3G)); cannam@167: T47 = VFMA(LDK(KP195090322), T3Z, VMUL(LDK(KP980785280), T46)); cannam@167: T48 = VSUB(T3O, T47); cannam@167: T6u = VADD(T3O, T47); cannam@167: } cannam@167: { cannam@167: V T4O, T51, T63, T66; cannam@167: T4O = VSUB(T4q, T4N); cannam@167: T51 = VSUB(T4X, T50); cannam@167: T52 = VFMA(LDK(KP995184726), T4O, VMUL(LDK(KP098017140), T51)); cannam@167: T6e = VFNMS(LDK(KP995184726), T51, VMUL(LDK(KP098017140), T4O)); cannam@167: T63 = VSUB(T5Z, T62); cannam@167: T66 = VSUB(T64, T65); cannam@167: T67 = VSUB(T63, T66); cannam@167: T6t = VADD(T63, T66); cannam@167: } cannam@167: { cannam@167: V T68, T69, T5H, T5U; cannam@167: T68 = VFNMS(LDK(KP980785280), T3Z, VMUL(LDK(KP195090322), T46)); cannam@167: T69 = VFMA(LDK(KP980785280), T3G, VMUL(LDK(KP195090322), T3N)); cannam@167: T6a = VSUB(T68, T69); cannam@167: T6k = VADD(T69, T68); cannam@167: T5H = VSUB(T5j, T5G); cannam@167: T5U = VSUB(T5Q, T5T); cannam@167: T5V = VFNMS(LDK(KP995184726), T5U, VMUL(LDK(KP098017140), T5H)); cannam@167: T6f = VFMA(LDK(KP098017140), T5U, VMUL(LDK(KP995184726), T5H)); cannam@167: } cannam@167: { cannam@167: V T49, T5W, T6h, T6i; cannam@167: T49 = VADD(T3v, T48); cannam@167: T5W = VADD(T52, T5V); cannam@167: Tgh = VSUB(T49, T5W); cannam@167: STM4(&(ro[47]), Tgh, ovs, &(ro[1])); cannam@167: Tgi = VADD(T49, T5W); cannam@167: STM4(&(ro[15]), Tgi, ovs, &(ro[1])); cannam@167: T6h = VADD(T67, T6a); cannam@167: T6i = VADD(T6e, T6f); cannam@167: Tgj = VSUB(T6h, T6i); cannam@167: STM4(&(io[47]), Tgj, ovs, &(io[1])); cannam@167: Tgk = VADD(T6h, T6i); cannam@167: STM4(&(io[15]), Tgk, ovs, &(io[1])); cannam@167: } cannam@167: { cannam@167: V T6b, T6c, T6d, T6g; cannam@167: T6b = VSUB(T67, T6a); cannam@167: T6c = VSUB(T5V, T52); cannam@167: Tgl = VSUB(T6b, T6c); cannam@167: STM4(&(io[63]), Tgl, ovs, &(io[1])); cannam@167: Tgm = VADD(T6b, T6c); cannam@167: STM4(&(io[31]), Tgm, ovs, &(io[1])); cannam@167: T6d = VSUB(T3v, T48); cannam@167: T6g = VSUB(T6e, T6f); cannam@167: Tgn = VSUB(T6d, T6g); cannam@167: STM4(&(ro[63]), Tgn, ovs, &(ro[1])); cannam@167: Tgo = VADD(T6d, T6g); cannam@167: STM4(&(ro[31]), Tgo, ovs, &(ro[1])); cannam@167: } cannam@167: { cannam@167: V T6l, T6s, T6B, T6C; cannam@167: T6l = VADD(T6j, T6k); cannam@167: T6s = VADD(T6o, T6r); cannam@167: Tgp = VSUB(T6l, T6s); cannam@167: STM4(&(ro[39]), Tgp, ovs, &(ro[1])); cannam@167: Tgq = VADD(T6l, T6s); cannam@167: STM4(&(ro[7]), Tgq, ovs, &(ro[1])); cannam@167: T6B = VADD(T6t, T6u); cannam@167: T6C = VADD(T6y, T6z); cannam@167: Tgr = VSUB(T6B, T6C); cannam@167: STM4(&(io[39]), Tgr, ovs, &(io[1])); cannam@167: Tgs = VADD(T6B, T6C); cannam@167: STM4(&(io[7]), Tgs, ovs, &(io[1])); cannam@167: } cannam@167: { cannam@167: V T6v, T6w, T6x, T6A; cannam@167: T6v = VSUB(T6t, T6u); cannam@167: T6w = VSUB(T6r, T6o); cannam@167: Tgt = VSUB(T6v, T6w); cannam@167: STM4(&(io[55]), Tgt, ovs, &(io[1])); cannam@167: Tgu = VADD(T6v, T6w); cannam@167: STM4(&(io[23]), Tgu, ovs, &(io[1])); cannam@167: T6x = VSUB(T6j, T6k); cannam@167: T6A = VSUB(T6y, T6z); cannam@167: Tgv = VSUB(T6x, T6A); cannam@167: STM4(&(ro[55]), Tgv, ovs, &(ro[1])); cannam@167: Tgw = VADD(T6x, T6A); cannam@167: STM4(&(ro[23]), Tgw, ovs, &(ro[1])); cannam@167: } cannam@167: } cannam@167: { cannam@167: V T7L, T8X, T92, T9c, T95, T9d, T80, T98, T8k, T8S, T8L, T97, T8O, T8Y, T8D; cannam@167: V T8T; cannam@167: { cannam@167: V T7D, T7K, T90, T91; cannam@167: T7D = VSUB(T7B, T7C); cannam@167: T7K = VSUB(T7G, T7J); cannam@167: T7L = VSUB(T7D, T7K); cannam@167: T8X = VADD(T7D, T7K); cannam@167: T90 = VADD(T84, T8b); cannam@167: T91 = VADD(T8f, T8i); cannam@167: T92 = VFMA(LDK(KP471396736), T90, VMUL(LDK(KP881921264), T91)); cannam@167: T9c = VFNMS(LDK(KP471396736), T91, VMUL(LDK(KP881921264), T90)); cannam@167: } cannam@167: { cannam@167: V T93, T94, T7S, T7Z; cannam@167: T93 = VADD(T8n, T8u); cannam@167: T94 = VADD(T8y, T8B); cannam@167: T95 = VFNMS(LDK(KP471396736), T94, VMUL(LDK(KP881921264), T93)); cannam@167: T9d = VFMA(LDK(KP881921264), T94, VMUL(LDK(KP471396736), T93)); cannam@167: T7S = VFNMS(LDK(KP831469612), T7R, VMUL(LDK(KP555570233), T7O)); cannam@167: T7Z = VFMA(LDK(KP831469612), T7V, VMUL(LDK(KP555570233), T7Y)); cannam@167: T80 = VSUB(T7S, T7Z); cannam@167: T98 = VADD(T7S, T7Z); cannam@167: } cannam@167: { cannam@167: V T8c, T8j, T8H, T8K; cannam@167: T8c = VSUB(T84, T8b); cannam@167: T8j = VSUB(T8f, T8i); cannam@167: T8k = VFMA(LDK(KP956940335), T8c, VMUL(LDK(KP290284677), T8j)); cannam@167: T8S = VFNMS(LDK(KP956940335), T8j, VMUL(LDK(KP290284677), T8c)); cannam@167: T8H = VSUB(T8F, T8G); cannam@167: T8K = VSUB(T8I, T8J); cannam@167: T8L = VSUB(T8H, T8K); cannam@167: T97 = VADD(T8H, T8K); cannam@167: } cannam@167: { cannam@167: V T8M, T8N, T8v, T8C; cannam@167: T8M = VFNMS(LDK(KP831469612), T7Y, VMUL(LDK(KP555570233), T7V)); cannam@167: T8N = VFMA(LDK(KP555570233), T7R, VMUL(LDK(KP831469612), T7O)); cannam@167: T8O = VSUB(T8M, T8N); cannam@167: T8Y = VADD(T8N, T8M); cannam@167: T8v = VSUB(T8n, T8u); cannam@167: T8C = VSUB(T8y, T8B); cannam@167: T8D = VFNMS(LDK(KP956940335), T8C, VMUL(LDK(KP290284677), T8v)); cannam@167: T8T = VFMA(LDK(KP290284677), T8C, VMUL(LDK(KP956940335), T8v)); cannam@167: } cannam@167: { cannam@167: V T81, T8E, Tgx, Tgy; cannam@167: T81 = VADD(T7L, T80); cannam@167: T8E = VADD(T8k, T8D); cannam@167: Tgx = VSUB(T81, T8E); cannam@167: STM4(&(ro[45]), Tgx, ovs, &(ro[1])); cannam@167: STN4(&(ro[44]), TeZ, Tgx, Tfv, Tgh, ovs); cannam@167: Tgy = VADD(T81, T8E); cannam@167: STM4(&(ro[13]), Tgy, ovs, &(ro[1])); cannam@167: STN4(&(ro[12]), Tf0, Tgy, Tfw, Tgi, ovs); cannam@167: } cannam@167: { cannam@167: V T8V, T8W, Tgz, TgA; cannam@167: T8V = VADD(T8L, T8O); cannam@167: T8W = VADD(T8S, T8T); cannam@167: Tgz = VSUB(T8V, T8W); cannam@167: STM4(&(io[45]), Tgz, ovs, &(io[1])); cannam@167: STN4(&(io[44]), Tf1, Tgz, Tfx, Tgj, ovs); cannam@167: TgA = VADD(T8V, T8W); cannam@167: STM4(&(io[13]), TgA, ovs, &(io[1])); cannam@167: STN4(&(io[12]), Tf2, TgA, Tfy, Tgk, ovs); cannam@167: } cannam@167: { cannam@167: V T8P, T8Q, TgB, TgC; cannam@167: T8P = VSUB(T8L, T8O); cannam@167: T8Q = VSUB(T8D, T8k); cannam@167: TgB = VSUB(T8P, T8Q); cannam@167: STM4(&(io[61]), TgB, ovs, &(io[1])); cannam@167: STN4(&(io[60]), Tf3, TgB, Tfz, Tgl, ovs); cannam@167: TgC = VADD(T8P, T8Q); cannam@167: STM4(&(io[29]), TgC, ovs, &(io[1])); cannam@167: STN4(&(io[28]), Tf4, TgC, TfA, Tgm, ovs); cannam@167: } cannam@167: { cannam@167: V T8R, T8U, TgD, TgE; cannam@167: T8R = VSUB(T7L, T80); cannam@167: T8U = VSUB(T8S, T8T); cannam@167: TgD = VSUB(T8R, T8U); cannam@167: STM4(&(ro[61]), TgD, ovs, &(ro[1])); cannam@167: STN4(&(ro[60]), Tf5, TgD, TfB, Tgn, ovs); cannam@167: TgE = VADD(T8R, T8U); cannam@167: STM4(&(ro[29]), TgE, ovs, &(ro[1])); cannam@167: STN4(&(ro[28]), Tf6, TgE, TfC, Tgo, ovs); cannam@167: } cannam@167: { cannam@167: V T8Z, T96, TgF, TgG; cannam@167: T8Z = VADD(T8X, T8Y); cannam@167: T96 = VADD(T92, T95); cannam@167: TgF = VSUB(T8Z, T96); cannam@167: STM4(&(ro[37]), TgF, ovs, &(ro[1])); cannam@167: STN4(&(ro[36]), Tf7, TgF, TfD, Tgp, ovs); cannam@167: TgG = VADD(T8Z, T96); cannam@167: STM4(&(ro[5]), TgG, ovs, &(ro[1])); cannam@167: STN4(&(ro[4]), Tf8, TgG, TfE, Tgq, ovs); cannam@167: } cannam@167: { cannam@167: V T9f, T9g, TgH, TgI; cannam@167: T9f = VADD(T97, T98); cannam@167: T9g = VADD(T9c, T9d); cannam@167: TgH = VSUB(T9f, T9g); cannam@167: STM4(&(io[37]), TgH, ovs, &(io[1])); cannam@167: STN4(&(io[36]), Tf9, TgH, TfF, Tgr, ovs); cannam@167: TgI = VADD(T9f, T9g); cannam@167: STM4(&(io[5]), TgI, ovs, &(io[1])); cannam@167: STN4(&(io[4]), Tfa, TgI, TfG, Tgs, ovs); cannam@167: } cannam@167: { cannam@167: V T99, T9a, TgJ, TgK; cannam@167: T99 = VSUB(T97, T98); cannam@167: T9a = VSUB(T95, T92); cannam@167: TgJ = VSUB(T99, T9a); cannam@167: STM4(&(io[53]), TgJ, ovs, &(io[1])); cannam@167: STN4(&(io[52]), Tfb, TgJ, TfH, Tgt, ovs); cannam@167: TgK = VADD(T99, T9a); cannam@167: STM4(&(io[21]), TgK, ovs, &(io[1])); cannam@167: STN4(&(io[20]), Tfc, TgK, TfI, Tgu, ovs); cannam@167: } cannam@167: { cannam@167: V T9b, T9e, TgL, TgM; cannam@167: T9b = VSUB(T8X, T8Y); cannam@167: T9e = VSUB(T9c, T9d); cannam@167: TgL = VSUB(T9b, T9e); cannam@167: STM4(&(ro[53]), TgL, ovs, &(ro[1])); cannam@167: STN4(&(ro[52]), Tfd, TgL, TfJ, Tgv, ovs); cannam@167: TgM = VADD(T9b, T9e); cannam@167: STM4(&(ro[21]), TgM, ovs, &(ro[1])); cannam@167: STN4(&(ro[20]), Tfe, TgM, TfK, Tgw, ovs); cannam@167: } cannam@167: } cannam@167: } cannam@167: } cannam@167: } cannam@167: } cannam@167: } cannam@167: VLEAVE(); cannam@167: } cannam@167: cannam@167: static const kdft_desc desc = { 64, XSIMD_STRING("n2sv_64"), {808, 144, 104, 0}, &GENUS, 0, 1, 0, 0 }; cannam@167: cannam@167: void XSIMD(codelet_n2sv_64) (planner *p) { cannam@167: X(kdft_register) (p, n2sv_64, &desc); cannam@167: } cannam@167: cannam@167: #endif