#define M_2048_INIT \
{0x002291d8, 0xcdc31041, 0x1e7ec273, 0x78a661c9, \
0x35187c07, 0xe4d5636e, 0x9bc3c400, 0xb27244b8, \
0xcd3a97f1, 0x1ae65107, 0x0506a68a, 0x02f0e161, \
0xaf37f86c, 0xb9078738, 0xc370f07e, 0x8d3b583b, \
0xad38c275, 0xf34aed05, 0x6ad6ea8e, 0xeca4192f, \
0xa1feb9dc, 0x4b1ebe55, 0xe5b8f9b6, 0x80eff76c, \
0x81d4e9ab, 0x304d4896, 0xf9e17fd8, 0xf0816496, \
0xda087a3e, 0xbecc676a, 0xaa2c5d8c, 0xe1b3c6ac, \
0xbc5f1670, 0xa9821bc7, 0x2985d764, 0x5e7dbb07, \
0x780b4eb4, 0xd9fb9d97, 0x9464a52b, 0x2b803afb, \
0x03c5338a, 0xebdc8c3b, 0x678358f3, 0xd8935a75, \
0xe844a88c, 0x9bf5ba01, 0x62c8dbd2, 0xf4e2f0bd, \
0x83cf2184, 0xc78f346d, 0xf30e7bde, 0x5d918d33, \
0xf081697c, 0xd05b6a58, 0x00898a9f, 0xc99c5475, \
0x9907cd3a, 0xa22d8c95, 0x2edc17cc, 0x8dccd9d1, \
0xee4108d7, 0xf1ac1215, 0xde047303, 0xc1c1473f}
#define N_2048_INIT \
{0xd82cbb4a, 0x7b6b057d, 0x93bc6e12, 0x1615956b, \
0xd0b7aba7, 0x9e5ba014, 0x1cc0fc63, 0x48dd42ed, \
0x3dc4904e, 0x66c6605f, 0x751bfced, 0x135c6703, \
0x46c37da7, 0xc39440aa, 0xb20b6995, 0x802a2cb1, \
0xf531a4b4, 0xe702a248, 0x5c9109d3, 0x9c2e41d7, \
0x28832979, 0x04c89899, 0x691c4bcc, 0xf10f44a3, \
0x5e35a701, 0x75d2ff00, 0x835c1945, 0x2d3ce223, \
0xb894d90e, 0xebacebcc, 0x08951d2a, 0xa08d18ce, \
0x24147c14, 0xfc985600, 0xf2f00a86, 0x3df554a7, \
0xd0f76f0d, 0x24a27f30, 0x70ca2377, 0xc97292aa, \
0xd80a02b1, 0xd3b098d2, 0xbb8e6755, 0x1bf2533b, \
0xcda2b067, 0x8d0dad30, 0xf7090c5c, 0x196254e1, \
0x955a8527, 0xbd29c63b, 0x10020dd5, 0x97260509, \
0x0a2dd5e6, 0x4aed6113, 0x4f636d78, 0xe3c192d8, \
0xe1280048, 0x3a0eb61e, 0x6a830b2d, 0xfd4e69da, \
0xc850335d, 0x04886009, 0x0b1534d8, 0xf2d026d3}
#define N_FACTOR_2048_INIT \
{0x814227f1, 0x17ae17f4, 0x26e65c79, 0x1abb99dc, \
0x93491025, 0x8202e00c, 0x76ecd5e2, 0xd82cdc62, \
0x59884542, 0x316a0981, 0x9270495d, 0xfdfdad32, \
0x5dd0428e, 0x669cfd54, 0x1caf2c67, 0x85810894, \
0x7ed108cb, 0x41352317, 0x0a4cb7b1, 0x0c025a58, \
0x862995aa, 0xcbcb6ceb, 0x44453aed, 0x6c8aea02, \
0x204b54b2, 0x3b2d5edb, 0x6a3aa436, 0x69a11f19, \
0xbdcf892e, 0x20b839aa, 0x357c3932, 0x6c743160, \
0xbdc410e1, 0x3eb178cb, 0x6b1b30a1, 0x87d4fa2a, \
0x10ddb3b8, 0xb91b183e, 0x549ff466, 0x7f179e76, \
0x0525602c, 0xbd93586f, 0x28e4c46b, 0x6729c6fa, \
0x58aedc1e, 0x399382e4, 0x141c3490, 0x141d5169, \
0xe93fd2b1, 0x1f4a30b7, 0x2377dba3, 0xde705b6a, \
0x432efe3d, 0x62509e40, 0x718984a3, 0xdb252caa, \
0x35f135f6, 0xd9bcdf56, 0x48fb1cb9, 0x9509d41a, \
0xffa19a1c, 0xb4529d64, 0xfee48017, 0x20b51222}
#define N_COEFF_2048_INIT \
{0x0000230e, 0x4f7c9cc3, 0xa30db1d3, 0x96866233, \
0xb2c2c944, 0xd21e7b6b, 0x26270e66, 0x34e92a94, \
0x6b048552, 0xb03af0f0, 0xbad6a264, 0xddd9190e, \
0x2484414c, 0x18c5957f, 0x0666b1f1, 0x465142b8, \
0x9bfe0bc7, 0x6aeeccde, 0x89c96f7a, 0x31f0ff9a, \
0x63037214, 0x96edc3ea, 0xbd82295f, 0x9f6c0cb5, \
0xc1348f9d, 0x16fd36c3, 0x70192867, 0x50ba4eeb, \
0xc11124a8, 0xa7195773, 0xb72605f4, 0x28958340, \
0xd0db455d, 0x3cd40c85, 0xff2a7256, 0xc96f0706, \
0xe9c7b93f, 0x57836dbb, 0x1a2893cc, 0xf23a49ac, \
0x6296dc27, 0xace1a4ee, 0x5ed0c317, 0x35c59908, \
0x44753f60, 0x3d8f25c8, 0xcb62c5d7, 0xe95a72c9, \
0x566a98f4, 0x81fa5df5, 0xc5742a96, 0x7c0fe404, \
0x976646fb, 0xf6ffe021, 0x3add83ac, 0xce8c7a02, \
0x27ced42c, 0x0e099d02, 0x583c94a8, 0x59ce866c, \
0x45000e17, 0x700d8af5, 0xbabd9dd6, 0x9b6d6280, \
0x05a4dea5}
#define X_2048_INIT \
{0x00f4dcf2, 0xd90e1715, 0x5cd52bbc, 0xcfabda4e, \
0x409b369b, 0x0994ae28, 0xff6ea364, 0xcdb9dcfe, \
0x82f35f8b, 0xef718044, 0xe609de07, 0x5d77ee51, \
0xe8616ce4, 0xe2862a8f, 0x2d3c3b06, 0x2d532c22, \
0x82825cff, 0x83ac8f2e, 0xfee472cb, 0x6abc86e8, \
0xe8c35dca, 0x975a5cfb, 0xdbf67229, 0xf4c166b7, \
0xbd76a787, 0x3f7d47ec, 0x7f8083d4, 0xcb5aa9e2, \
0x74e6e776, 0x5991b9eb, 0x8eb9747c, 0xa838f053, \
0xd0b3d52a, 0xe0e89d44, 0xc5e97a4f, 0x4df5ccb4, \
0xd4818f84, 0x81a69d96, 0x684fbb35, 0x7d835def, \
0xaf9fe113, 0xc8d257b9, 0x02e8d030, 0xffbe1b0f, \
0x93a70c45, 0x973aaee0, 0xea1bc185, 0x22da443e, \
0xd335f1e1, 0x0f6ce5b7, 0xc2080e5c, 0x5c2c3fac, \
0x06151df4, 0x11060aba, 0xeb055f41, 0x20d0ef28, \
0xbc2f85b1, 0x0062960b, 0xcbfd3f26, 0xf8090158, \
0xf09da0be, 0xbf1c4956, 0x7d074e72, 0x8dc49abd}
#define Y_2048_INIT \
{0x0976f869, 0x79d2709f, 0x2bd01d0b, 0x42d1a017, \
0x77584369, 0x63a84f5b, 0xe5a424fc, 0xf2496f1c, \
0x03e1b01c, 0xe17822f3, 0x8489af36, 0x01b85c64, \
0xc1d956a2, 0xdb4caf37, 0x7ce1bb31, 0x7d51e611, \
0xfd9d0fcb, 0x93b23236, 0xce46c707, 0x6e1b794b, \
0x3034317a, 0x64c24fe7, 0xae18f26b, 0x2b9e6888, \
0x167e4b9b, 0x79f8b5f8, 0x2916f577, 0x1e47373b, \
0xaf37ea80, 0x4fe10e7e, 0x12e37006, 0x71193164, \
0xe0c57fed, 0x2c994650, 0xead7cfe5, 0xdf33ac9d, \
0x9afa0038, 0x4520d430, 0x6950d11f, 0xa30fa3e3, \
0xf7e7228d, 0xb04a0047, 0x784ebb6b, 0x17a95bf3, \
0x222f6eab, 0x536e1add, 0x88063bf2, 0x2c9dc31e, \
0xa040946d, 0xd20d52a1, 0xe8f0a185, 0x369f9d5f, \
0x47c6b7ea, 0x3c6cc5bc, 0x479bdab5, 0xf4e0cfe0, \
0x8fee2667, 0x5b4d6230, 0xb330ef9d, 0x7a0226dd, \
0x860c71db, 0x00a02a8c, 0x01012bbf, 0xf46afc19}
#define P_2048_INIT \
{0xf66e84bb, 0x03961240, 0x504cb7ab, 0x43537a51, \
0xa5cca453, 0x3e6f6ca3, 0x88229106, 0x808dac6e, \
0x77d38e83, 0x9e03a391, 0x34851c73, 0xc477d84e, \
0x317e6eca, 0xc9951868, 0xe9687b04, 0x1767f8da, \
0x4c9bd43f, 0x03138fec, 0xc09be37a, 0xd8728306, \
0x37607aa5, 0x33b86dd7, 0xb7cda3f0, 0x8e6eb799, \
0x536eb211, 0x4397a9cd, 0x979048b9, 0x3154815f, \
0xa71652f8, 0xf76820d1, 0x8a67872d, 0x42d2dbff}
#define Q_2048_INIT \
{0xe0917700, 0x4d8dcdbf, 0x8193dbe7, 0xf660571a, \
0xb831f6bc, 0xbcc05683, 0xb2f698ce, 0x71d440f5, \
0x36183800, 0x6cc7b568, 0xaee8f151, 0x9d05c38c, \
0xf3a45bd4, 0xb8de68ca, 0x817ef26e, 0xf7196058, \
0xbd56f7ff, 0x8706478f, 0x2afbb654, 0xd11d76bc, \
0x995af309, 0xa60f1cd2, 0x100f8306, 0x2020a024, \
0xab3f63ae, 0xbc087521, 0xd56160cb, 0xa23ba129, \
0x77adb7de, 0xfa683a0c, 0xdf759183, 0xa88c852d}
#define P_FACTOR_2048_INIT \
{0x1c54bc5a, 0xe6b9eff3, 0x564ba141, 0xa632f9fe, \
0x229e3363, 0x37d517e9, 0xe3a6a808, 0x4060b34f, \
0x6ed77bce, 0x1528c4a9, 0x25aada03, 0x7f57f409, \
0xccab79ac, 0xa1c400f5, 0xc7ff33ba, 0x055a978e, \
0x375ebf5c, 0xe7243913, 0x5c020cc8, 0x207d9afd, \
0xaf6d61ec, 0xd923676c, 0xdf634245, 0x7bd6554f, \
0xc0bd2504, 0x66a8432a, 0x1d7780c1, 0x0d43d405, \
0xaae18691, 0xeb3e2beb, 0xed9931ca, 0xf5fa8c13}
#define Q_FACTOR_2048_INIT \
{0x7bc1400c, 0x6a4c87ec, 0xf4a1d8e4, 0x74016ddb, \
0xcaa8316c, 0x8a970417, 0xa260ee7d, 0xbe46b1b4, \
0x2bd8a9b5, 0x456a2349, 0x04ec097c, 0xf7a02886, \
0xd9d313c5, 0xef5bc409, 0xad5e5060, 0x759cac4a, \
0x7a3b1471, 0xfdbf61e5, 0x46ce118d, 0x9507d565, \
0xbd8953df, 0xf1dd3ab6, 0x441ef9d6, 0x0c8b766c, \
0xa9e04c3d, 0x7dffa225, 0xdfbb7a37, 0x217b371c, \
0x856ef162, 0x89ce5d48, 0xa8842c6d, 0x04cdfb94}
#define P_COEFF_2048_INIT \
{0x00009818, 0x3e7a33e2, 0x30470c22, 0x3e7736d0, \
0xf0f8eece, 0x9ae5300f, 0x815972f9, 0x769e65c3, \
0x9542e3c3, 0x962ef159, 0x45cc27f2, 0xc38b04cc, \
0xb59ace31, 0xf1aaeea1, 0x33c03fb2, 0xc78ccb58, \
0x30093ad0, 0xb32b6cbc, 0x9126ef7a, 0x0e00c96e, \
0x3034ca7c, 0x6ba89bac, 0x5b4ed0f1, 0x5ba23398, \
0xa0561e63, 0xd1f4133b, 0xf1dffb42, 0xd819e18d, \
0x99c66de5, 0x0a023ce8, 0xb816f4ab, 0xca007f24, \
0xafe2dc01}
#define Q_COEFF_2048_INIT \
{0x0000cb39, 0xd96d3d0f, 0x5e922f3c, 0x370e7bf2, \
0xd7f5bd65, 0x6cbce9e7, 0x5caae0bd, 0xf0630aec, \
0x7eb13b70, 0x3056ed56, 0xbeddd836, 0x1a931769, \
0x9a8cef54, 0xc2ad0ff8, 0x369466e7, 0xc601bb9e, \
0xa0158ecc, 0xdb107e31, 0xb12cc9ce, 0x0f833d91, \
0xa08b5dc1, 0xfda44c9f, 0x66b9b4cf, 0x4de7053c, \
0xfacaaf0c, 0x55e67842, 0x9b371879, 0x53fe780b, \
0x54d074c3, 0xb410716a, 0x8a33e065, 0xa978eaff, \
0xd70aed5b}
#define D_2048_INIT \
{0x0e1d4591, 0x4463a575, 0x208b4208, 0x8e46947d, \
0xf89fb566, 0x7951742f, 0x3bfd61bd, 0x3dc9ac8f, \
0xfee371a4, 0x9cd34101, 0x9a8cdc43, 0xc26adb12, \
0xfcb0d0e8, 0x7e3d94c7, 0x505eac63, 0x257e1b72, \
0xf71669b1, 0xa20faaf6, 0xdc8c5fbe, 0xe048a8e5, \
0xda704de9, 0xe7e50d09, 0x9f3248c4, 0xb5cc9067, \
0xb643fc86, 0x7ce1ece2, 0x64b143b9, 0x1f8e0519, \
0xddf861ff, 0xb66590f3, 0xbe6fb5fa, 0xcd86c8e2, \
0xb5f9abb3, 0xaf1d2883, 0x445c5520, 0xe2db402d, \
0x4681769d, 0xe5f1e6d3, 0x171d59ff, 0x46d98061, \
0x181fe73f, 0xfa08f5d5, 0x3baf4909, 0xb85bdc89, \
0x44172db2, 0x94f6a1fe, 0xa9029cf4, 0x8c504a3e, \
0x883d9a76, 0x276e57e1, 0x45086a50, 0xe4c55231, \
0x209916b2, 0xe0015f71, 0x7e76c6ed, 0xc3796720, \
0x873efc90, 0x2e788008, 0x8267d69f, 0x8be92f90, \
0xe6680f51, 0x38faa8e3, 0xb2a90e35, 0x92decb19}
#define DP_2048_INIT \
{0x6fd7d905, 0xc7aae4bd, 0xabb425e7, 0xe4b68e5d, \
0x601270c2, 0x17241afa, 0x5d5ed2d3, 0x50a4fc0d, \
0x66f4ed49, 0x6efdd7ce, 0x9f378aa2, 0x4018e463, \
0x18b37935, 0x30282adb, 0xf29328c1, 0xc29dbda3, \
0xd6012363, 0x35d23b10, 0x089ab7b3, 0x9968df6e, \
0x82d396d6, 0x439300c7, 0x56f44de3, 0x6fc17032, \
0x765b5715, 0xdec78699, 0x78a05361, 0x39b250c5, \
0x48e028e8, 0x35e15c83, 0xbd7d1f2c, 0xbb9757a1}
#define DQ_2048_INIT \
{0x2d981b2b, 0x2a93d1e4, 0x41f0bd43, 0x39589216, \
0xd0b3043f, 0x89ab1b65, 0x9dde4764, 0x12e45f53, \
0xe9e9bce5, 0x0930fafa, 0x08192f75, 0xbc85c110, \
0x4b1f61ad, 0xace32b2f, 0x825f3de5, 0x9db1bf48, \
0x0519353c, 0xe2333a30, 0x2d2ff1f3, 0x028a12e3, \
0x73d76d64, 0xd61c5763, 0xa6f31f4d, 0x0d14d2ae, \
0xdf3dfd85, 0x2a942503, 0xfb88cbd8, 0x4c560300, \
0xa255d8f1, 0x22b22aa7, 0x166f8e5d, 0xc6c8d0f9}
#define QINV_2048_INIT \
{0x876b0113, 0xa6687bf5, 0xf44e9559, 0x282e85e8, \
0x5d97f63a, 0x4d25bd0f, 0x789da73b, 0xf143041d, \
0x8c017788, 0xa9378f83, 0x3e786540, 0x10c02935, \
0xb9f9ce28, 0xaa230096, 0xbb854c5b, 0xcd4caf24, \
0x6ae4579a, 0xaf7a5004, 0x09dbff62, 0x1a2552c3, \
0x7912e4be, 0x16a740b9, 0x4506265d, 0x50764789, \
0x81f041da, 0x6e4ef65e, 0x5e8ec3fc, 0x05b2cd9b, \
0x8cdb97e8, 0x2cf48823, 0x2519090d, 0xea329077}
#define XM_2048_INIT \
{0x64f582b3, 0xdcada152, 0xae173205, 0x5ed7798a, \
0x2dc1f065, 0xe139a2fa, 0xb8a3007c, 0xbad1e200, \
0x176a68e6, 0x597b3f3c, 0xc489b343, 0x520dbc34, \
0x1973c333, 0x5085c769, 0xb78630e2, 0x95228e3b, \
0x5b0db7d6, 0x952ecf74, 0x3e06abfe, 0xa72efe6f, \
0x0ece731f, 0x5f7f9065, 0x7f316f00, 0x8c37cb89, \
0x9215c310, 0x7a4cd2d5, 0x1d74f723, 0xddab2700, \
0xb5b7aa87, 0x63bc09ef, 0x3409d43e, 0x7bae4bee, \
0xb8abad58, 0x5124b079, 0xefcbca8c, 0xc7c85d5b, \
0x4d42cce3, 0xbdf64c27, 0xf41ffc8b, 0xea16caa0, \
0xe803b480, 0x2b8ad2b8, 0xb8fe9d93, 0x3f375b49, \
0x4c5c7864, 0xea1b5678, 0xb0ef222c, 0x19312a66, \
0xde874b57, 0x001907c7, 0x5519573a, 0x57b4ea26, \
0x7c73fd4b, 0x8c57f388, 0xfe946879, 0x4017f2e8, \
0x39b0e376, 0xb4c961b6, 0xc9f64350, 0x20a9ae9c, \
0x6d673eec, 0x54ab3f2c, 0x5ca3085e, 0x6a0cea69}
#define YM_2048_INIT \
{0x16428fa3, 0xf7d01e5b, 0x672ffe87, 0x2dd094b6, \
0xc39b8c3a, 0x0530c011, 0xe5a2b7fc, 0xc06e2e6a, \
0xa0e2cd7d, 0x81af0174, 0xc10154b0, 0x0063c708, \
0x878362fc, 0x1f7f1202, 0x45726416, 0x931f2598, \
0x48b00e7f, 0x59e400ed, 0x2294ef19, 0xad012566, \
0x0216925f, 0x0baa3e88, 0xf2aaa297, 0x1c7371ce, \
0xdc99c0b8, 0x57acf152, 0xee4463f8, 0xe2ac7831, \
0x172155ae, 0x53bd0911, 0x1fcf4c83, 0x9b8a1643, \
0xe483eda7, 0x8757709f, 0x485d258b, 0x27b62b73, \
0x83b2817e, 0x456f92cb, 0x21903504, 0x3a75c144, \
0xbd8aaab4, 0xcdfb3a8c, 0x45161486, 0x29a88ada, \
0xc9d4a900, 0xc2601946, 0x6936e7a9, 0xf7f3fdaf, \
0xbc8cdfb2, 0xf08393a3, 0x002620d9, 0xe5644d38, \
0x04d1f8b0, 0xd6367af8, 0x158e5df4, 0x1ca45c8f, \
0x6cb3fbef, 0x252e6e62, 0x17a183d7, 0x4d88dd01, \
0x30fd6d20, 0xa358cb01, 0x1a75f7b1, 0x2b75a88f}
#define S_2048_INIT \
{0x43307893, 0x43a70c14, 0xe4653d3f, 0x02b29340, \
0x12972837, 0xb764d650, 0x23be1bb0, 0xf994111e, \
0xfa709394, 0xf0b9ee43, 0x1c4d4fbf, 0xf4218a75, \
0xd2087628, 0x69e19a4a, 0x8635a29e, 0x1ec99ffa, \
0x2047ce24, 0x611bb37a, 0xaeb953a3, 0xd5b1588e, \
0x2ed60dc4, 0x5bf6c44d, 0xc8b1317d, 0x18590f74, \
0x88f813f7, 0x46e19e70, 0xe1bca2a6, 0x120cde82, \
0xac2c9285, 0xdd399dbd, 0x2afb700a, 0xe367eff4, \
0xd2b61bbb, 0xd54e3c73, 0x7229c502, 0x02f5a3f1, \
0x561d65d0, 0xd6fd7420, 0x3838696e, 0x40d25a4a, \
0xf2340eaa, 0x5b511956, 0xf63d5a71, 0x348526ad, \
0x229c27c3, 0x10d4eec1, 0x48c09d20, 0xe0ccd7e8, \
0x4b5e1a29, 0xef0b106b, 0x10496bc0, 0x63b3ff03, \
0xc1657d2a, 0x9c8d4347, 0xce4920b8, 0xd01c7e2b, \
0x4949522e, 0x5a2fc48f, 0xe2fa26cc, 0x298afd01, \
0x41e7f5a0, 0xf350d7b2, 0x918306bc, 0x1dca4f8d}