#include<iostream>
using namespace std;
int32_t zetas[] = {
0, 25847, -2608894, -518909, 237124, -777960, -876248, 466468,
1826347, 2353451, -359251, -2091905, 3119733, -2884855, 3111497, 2680103,
2725464, 1024112, -1079900, 3585928, -549488, -1119584, 2619752, -2108549,
-2118186, -3859737, -1399561, -3277672, 1757237, -19422, 4010497, 280005,
2706023, 95776, 3077325, 3530437, -1661693, -3592148, -2537516, 3915439,
-3861115, -3043716, 3574422, -2867647, 3539968, -300467, 2348700, -539299,
-1699267, -1643818, 3505694, -3821735, 3507263, -2140649, -1600420, 3699596,
811944, 531354, 954230, 3881043, 3900724, -2556880, 2071892, -2797779,
-3930395, -1528703, -3677745, -3041255, -1452451, 3475950, 2176455, -1585221,
-1257611, 1939314, -4083598, -1000202, -3190144, -3157330, -3632928, 126922,
3412210, -983419, 2147896, 2715295, -2967645, -3693493, -411027, -2477047,
-671102, -1228525, -22981, -1308169, -381987, 1349076, 1852771, -1430430,
-3343383, 264944, 508951, 3097992, 44288, -1100098, 904516, 3958618,
-3724342, -8578, 1653064, -3249728, 2389356, -210977, 759969, -1316856,
189548, -3553272, 3159746, -1851402, -2409325, -177440, 1315589, 1341330,
1285669, -1584928, -812732, -1439742, -3019102, -3881060, -3628969, 3839961,
2091667, 3407706, 2316500, 3817976, -3342478, 2244091, -2446433, -3562462,
266997, 2434439, -1235728, 3513181, -3520352, -3759364, -1197226, -3193378,
900702, 1859098, 909542, 819034, 495491, -1613174, -43260, -522500,
-655327, -3122442, 2031748, 3207046, -3556995, -525098, -768622, -3595838,
342297, 286988, -2437823, 4108315, 3437287, -3342277, 1735879, 203044,
2842341, 2691481, -2590150, 1265009, 4055324, 1247620, 2486353, 1595974,
-3767016, 1250494, 2635921, -3548272, -2994039, 1869119, 1903435, -1050970,
-1333058, 1237275, -3318210, -1430225, -451100, 1312455, 3306115, -1962642,
-1279661, 1917081, -2546312, -1374803, 1500165, 777191, 2235880, 3406031,
-542412, -2831860, -1671176, -1846953, -2584293, -3724270, 594136, -3776993,
-2013608, 2432395, 2454455, -164721, 1957272, 3369112, 185531, -1207385,
-3183426, 162844, 1616392, 3014001, 810149, 1652634, -3694233, -1799107,
-3038916, 3523897, 3866901, 269760, 2213111, -975884, 1717735, 472078,
-426683, 1723600, -1803090, 1910376, -1667432, -1104333, -260646, -3833893,
-2939036, -2235985, -420899, -2286327, 183443, -976891, 1612842, -3545687,
-554416, 3919660, -48306, -1362209, 3937738, 1400424, -846154, 1976782
};
int32_t avx[] = {
0, 25847, -2608894, -518909, 237124, -777960, -876248, 466468,
1826347, 2725464, 1024112, 2706023, 95776, 3077325, 3530437, -3930395,
-3677745, -1452451, 2176455, -1528703, -3041255, 3475950, -1585221, 2091667,
-3342478, 266997, -3520352, 3407706, 2244091, 2434439, -3759364, 2316500,
-2446433, -1235728, -1197226, 3817976, -3562462, 3513181, -3193378, 2353451,
-1079900, 3585928, -1661693, -3592148, -2537516, 3915439, -1257611, -4083598,
-3190144, -3632928, 1939314, -1000202, -3157330, 126922, 900702, 495491,
-655327, -3556995, 1859098, -1613174, -3122442, -525098, 909542, -43260,
2031748, -768622, 819034, -522500, 3207046, -3595838, -359251, -549488,
-1119584, -3861115, -3043716, 3574422, -2867647, 3412210, 2147896, -2967645,
-411027, -983419, 2715295, -3693493, -2477047, 342297, 3437287, 2842341,
4055324, 286988, -3342277, 2691481, 1247620, -2437823, 1735879, -2590150,
2486353, 4108315, 203044, 1265009, 1595974, -2091905, 2619752, -2108549,
3539968, -300467, 2348700, -539299, -671102, -22981, -381987, 1852771,
-1228525, -1308169, 1349076, -1430430, -3767016, -2994039, -1333058, -451100,
1250494, 1869119, 1237275, 1312455, 2635921, 1903435, -3318210, 3306115,
-3548272, -1050970, -1430225, -1962642, 3119733, -2118186, -3859737, -1699267,
-1643818, 3505694, -3821735, -3343383, 508951, 44288, 904516, 264944,
3097992, -1100098, 3958618, -1279661, 1500165, -542412, -2584293, 1917081,
777191, -2831860, -3724270, -2546312, 2235880, -1671176, 594136, -1374803,
3406031, -1846953, -3776993, -2884855, -1399561, -3277672, 3507263, -2140649,
-1600420, 3699596, -3724342, 1653064, 2389356, 759969, -8578, -3249728,
-210977, -1316856, -2013608, 1957272, -3183426, 810149, 2432395, 3369112,
162844, 1652634, 2454455, 185531, 1616392, -3694233, -164721, -1207385,
3014001, -1799107, 3111497, 1757237, -19422, 811944, 531354, 954230,
3881043, 189548, 3159746, -2409325, 1315589, -3553272, -1851402, -177440,
1341330, -3038916, 2213111, -426683, -1667432, 3523897, -975884, 1723600,
-1104333, 3866901, 1717735, -1803090, -260646, 269760, 472078, 1910376,
-3833893, 2680103, 4010497, 280005, 3900724, -2556880, 2071892, -2797779,
1285669, -812732, -3019102, -3628969, -1584928, -1439742, -3881060, 3839961,
-2939036, 183443, -554416, 3937738, -2235985, -976891, 3919660, 1400424,
-420899, 1612842, -48306, -846154, -2286327, -3545687, -1362209, 1976782,
};
int32_t origin[] = { 0, -5771523, -777960, -237124, -359251, -2091905, -2353451, -6554070,
-549488, -1119584, -2619752, -6271868, -4794489, -7300517, -5654953, -7356305,
-4519302, -5336701, -4805995, -2867647, -8079950, -4840449, -539299, -2348700,
-5842901, -3915439, -3592148, -6718724, -5674394, -8284641, -3077325, -3530437,
-983419, -3412210, -2715295, -6232521, -5412772, -4686924, -411027, -2477047,
-1308169, -8357436, -671102, -1228525, -1852771, -6949987, -7031341, -7998430,
-3157330, -5190273, -126922, -3632928, -4296819, -7380215, -6441103, -7122806,
-4450022, -6851714, -3677745, -3041255, -3475950, -1452451, -1585221, -2176455,
-5942594, -4108315, -8093429, -342297, -203044, -6644538, -3437287, -5038140,
-2691481, -5538076, -7115408, -5790267, -4325093, -7132797, -2486353, -1595974,
-1903435, -7329447, -6511298, -5386378, -3767016, -7129923, -2635921, -4832145,
-1312455, -451100, -1962642, -3306115, -3318210, -1430225, -1237275, -1333058,
-6348669, -5173371, -5257975, -655327, -3595838, -7611795, -3556995, -525098,
-1613174, -495491, -7857917, -43260, -909542, -819034, -6521319, -900702,
-4972711, -2091667, -3817976, -6063917, -5037939, -2244091, -2446433, -3562462,
-4867236, -7144689, -8113420, -5945978, -7183191, -5187039, -3759364, -4860065,
-3451130, -7595868, -5540577, -5083735, -615468, -5074169, -2092691, -7693583,
-8151827, -3383924, -2332809, -5092053, -4085954, -7161899, -5030825, -5614169,
-4573089, -3998759, -2020342, -2395130, -5867424, -2789711, -3426610, -6385344,
-808485, -4116053, -1112365, -785240, -7935541, -1042804, -7962683, -5190828,
-3017698, -7792786, -3620549, -5341503, -2449635, -4573621, -4190540, -1637081,
-428153, -1630049, -2210257, -3561486, -2518115, -3114811, -854270, -2104170,
-2966022, -2162858, -1845141, -1514976, -1299317, -1981674, -4905857, -2744860,
-2610645, -5727935, -1836169, -4785124, -3520757, -6821190, -7348250, -7010168,
-1140867, -7351844, -4785858, -7603087, -2753750, -8192520, -2220368, -4412003,
-7835312, -4826380, -2146257, -8057726, -1883706, -4410044, -5775096, -7683820,
-4505386, -3758325, -4245506, -3997973, -4193953, -3146717, -8116608, -6685757,
-5500411, -5873296, -7200614, -7702769, -4087850, -5604027, -5555237, -5520388,
-5969070, -7318429, -3323129, -3399737, -4652755, -1481727, -4960429, -4651558,
-3294911, -4732675, -1529195, -6803876, -4091627, -5789126, -4425247, -3092602,
-4720338, -2987654, -2065587, -1887757, -7446623, -4362633, -3956013, -2473529,
-4361404, -8237770, -4414348, -1333697, -1070620, -2094277, -7898599, -8058788 };
int32_t dst[256];
int main() {
int ord[256];
for (int i = 0; i < 256; i++) {
for (int j = 0; j < 256; j++) {
if (avx[i] == zetas[j]) {
ord[i] = j;
break;
}
}
}
for (int i = 0; i < 256; i++) {
dst[i] = origin[ord[i]];
cout << dst[i] << ',';
if ((i + 1) % 8 == 0)cout << endl;
}cout << endl;
}
|