Index: apps/codecs/libwmapro/types.h =================================================================== --- apps/codecs/libwmapro/types.h (revision 0) +++ apps/codecs/libwmapro/types.h (revision 0) @@ -0,0 +1,22 @@ +#ifndef _TYPES_H_ +#define _TYPES_H_ + +#include + +/* defines for fixed point types + * for a fixed point representation sQ.N : + * s = Sign bit + * Q = number of bits for whole part + * N = number of bits for fractional part + * FIX[US]##_## + * ^ ^ ^ + * | | |___ N + * | |______ Q + * |_________ U = no sign bit, S = 1 sign bit + */ +#define FIXED int32_t +#define FIXU16_16 FIXED /* 16.16 */ +#define FIXS15_16 FIXED /* s15.16 */ +#define FIXS0_31 FIXED /* s0.31 */ + +#endif Index: apps/codecs/libwmapro/wmapro_math.h =================================================================== --- apps/codecs/libwmapro/wmapro_math.h (revision 0) +++ apps/codecs/libwmapro/wmapro_math.h (revision 0) @@ -0,0 +1,40 @@ +#include +#include "types.h" + +#define PRECISION 31 +#define ftofix32(x) ((int32_t)((x) * (float)(1 << PRECISION) + ((x) < 0 ? -0.5 : 0.5))) +#define fixtof32(x) (float)((float)(x) / (float)(1 << PRECISION)) +#define fixtof16(x) (float)((float)(x) / (float)(1 << 16)) +#define ftofix16(x) ((int32_t)((x) * (float)(1 << 16) + ((x) < 0 ? -0.5:0.5))) +#define ftoipcm(x) ((int32_t)((x) * (float)(INT32_MAX))) +#define itofix16(x) (x << 16) + +static inline FIXS15_16 fixmul31(FIXS15_16 x, FIXS0_31 y) +{ + int64_t temp; + temp = x; + temp *= y; + + temp >>= 31; //16+31-16 = 31 bits + + return (int32_t)temp; +} + +static inline void vector_fixmul_window(FIXS15_16 *dst, const FIXS15_16 *src0, + const FIXS15_16 *src1, const FIXS0_31 *win, + FIXED add_bias, int len) +{ + int i, j; + dst += len; + win += len; + src0+= len; + for(i=-len, j=len-1; i<0; i++, j--) { + FIXS15_16 s0 = src0[i]; + FIXS15_16 s1 = src1[j]; + FIXS0_31 wi = win[i]; + FIXS0_31 wj = win[j]; + dst[i] = fixmul31(s0,wj) - fixmul31(s1,wi) + (add_bias<<16); + dst[j] = fixmul31(s0,wi) + fixmul31(s1,wj) + (add_bias<<16); + } + +} Index: apps/codecs/libwmapro/mdct_tables2.h =================================================================== --- apps/codecs/libwmapro/mdct_tables2.h (revision 0) +++ apps/codecs/libwmapro/mdct_tables2.h (revision 0) @@ -0,0 +1,1364 @@ + float sinf_4096[] = { + 0.000192, 0.000575, 0.000959, 0.001342, 0.001726, 0.002109, + 0.002493, 0.002876, 0.003260, 0.003643, 0.004027, 0.004410, + 0.004794, 0.005177, 0.005561, 0.005944, 0.006328, 0.006711, + 0.007095, 0.007478, 0.007862, 0.008245, 0.008629, 0.009012, + 0.009395, 0.009779, 0.010162, 0.010546, 0.010929, 0.011313, + 0.011696, 0.012080, 0.012463, 0.012847, 0.013230, 0.013614, + 0.013997, 0.014381, 0.014764, 0.015147, 0.015531, 0.015914, + 0.016298, 0.016681, 0.017065, 0.017448, 0.017832, 0.018215, + 0.018598, 0.018982, 0.019365, 0.019749, 0.020132, 0.020516, + 0.020899, 0.021282, 0.021666, 0.022049, 0.022433, 0.022816, + 0.023199, 0.023583, 0.023966, 0.024350, 0.024733, 0.025116, + 0.025500, 0.025883, 0.026266, 0.026650, 0.027033, 0.027416, + 0.027800, 0.028183, 0.028567, 0.028950, 0.029333, 0.029717, + 0.030100, 0.030483, 0.030866, 0.031250, 0.031633, 0.032016, + 0.032400, 0.032783, 0.033166, 0.033550, 0.033933, 0.034316, + 0.034699, 0.035083, 0.035466, 0.035849, 0.036232, 0.036616, + 0.036999, 0.037382, 0.037765, 0.038149, 0.038532, 0.038915, + 0.039298, 0.039681, 0.040065, 0.040448, 0.040831, 0.041214, + 0.041597, 0.041980, 0.042364, 0.042747, 0.043130, 0.043513, + 0.043896, 0.044279, 0.044662, 0.045045, 0.045429, 0.045812, + 0.046195, 0.046578, 0.046961, 0.047344, 0.047727, 0.048110, + 0.048493, 0.048876, 0.049259, 0.049642, 0.050025, 0.050408, + 0.050791, 0.051174, 0.051557, 0.051940, 0.052323, 0.052706, + 0.053089, 0.053472, 0.053855, 0.054238, 0.054621, 0.055004, + 0.055387, 0.055770, 0.056152, 0.056535, 0.056918, 0.057301, + 0.057684, 0.058067, 0.058450, 0.058833, 0.059215, 0.059598, + 0.059981, 0.060364, 0.060747, 0.061129, 0.061512, 0.061895, + 0.062278, 0.062660, 0.063043, 0.063426, 0.063809, 0.064191, + 0.064574, 0.064957, 0.065339, 0.065722, 0.066105, 0.066487, + 0.066870, 0.067253, 0.067635, 0.068018, 0.068400, 0.068783, + 0.069166, 0.069548, 0.069931, 0.070313, 0.070696, 0.071078, + 0.071461, 0.071843, 0.072226, 0.072608, 0.072991, 0.073373, + 0.073756, 0.074138, 0.074521, 0.074903, 0.075286, 0.075668, + 0.076050, 0.076433, 0.076815, 0.077197, 0.077580, 0.077962, + 0.078344, 0.078727, 0.079109, 0.079491, 0.079874, 0.080256, + 0.080638, 0.081020, 0.081403, 0.081785, 0.082167, 0.082549, + 0.082931, 0.083314, 0.083696, 0.084078, 0.084460, 0.084842, + 0.085224, 0.085606, 0.085988, 0.086370, 0.086752, 0.087135, + 0.087517, 0.087899, 0.088281, 0.088663, 0.089045, 0.089427, + 0.089808, 0.090190, 0.090572, 0.090954, 0.091336, 0.091718, + 0.092100, 0.092482, 0.092864, 0.093245, 0.093627, 0.094009, + 0.094391, 0.094773, 0.095154, 0.095536, 0.095918, 0.096300, + 0.096681, 0.097063, 0.097445, 0.097826, 0.098208, 0.098590, + 0.098971, 0.099353, 0.099734, 0.100116, 0.100498, 0.100879, + 0.101261, 0.101642, 0.102024, 0.102405, 0.102787, 0.103168, + 0.103550, 0.103931, 0.104312, 0.104694, 0.105075, 0.105456, + 0.105838, 0.106219, 0.106600, 0.106982, 0.107363, 0.107744, + 0.108126, 0.108507, 0.108888, 0.109269, 0.109650, 0.110032, + 0.110413, 0.110794, 0.111175, 0.111556, 0.111937, 0.112318, + 0.112699, 0.113080, 0.113461, 0.113842, 0.114223, 0.114604, + 0.114985, 0.115366, 0.115747, 0.116128, 0.116509, 0.116890, + 0.117271, 0.117652, 0.118032, 0.118413, 0.118794, 0.119175, + 0.119556, 0.119936, 0.120317, 0.120698, 0.121078, 0.121459, + 0.121840, 0.122220, 0.122601, 0.122982, 0.123362, 0.123743, + 0.124123, 0.124504, 0.124884, 0.125265, 0.125645, 0.126026, + 0.126406, 0.126787, 0.127167, 0.127547, 0.127928, 0.128308, + 0.128688, 0.129069, 0.129449, 0.129829, 0.130209, 0.130590, + 0.130970, 0.131350, 0.131730, 0.132110, 0.132490, 0.132870, + 0.133251, 0.133631, 0.134011, 0.134391, 0.134771, 0.135151, + 0.135531, 0.135911, 0.136291, 0.136670, 0.137050, 0.137430, + 0.137810, 0.138190, 0.138570, 0.138949, 0.139329, 0.139709, + 0.140089, 0.140468, 0.140848, 0.141228, 0.141607, 0.141987, + 0.142367, 0.142746, 0.143126, 0.143505, 0.143885, 0.144264, + 0.144644, 0.145023, 0.145403, 0.145782, 0.146161, 0.146541, + 0.146920, 0.147299, 0.147679, 0.148058, 0.148437, 0.148817, + 0.149196, 0.149575, 0.149954, 0.150333, 0.150712, 0.151091, + 0.151471, 0.151850, 0.152229, 0.152608, 0.152987, 0.153366, + 0.153745, 0.154124, 0.154502, 0.154881, 0.155260, 0.155639, + 0.156018, 0.156397, 0.156775, 0.157154, 0.157533, 0.157912, + 0.158290, 0.158669, 0.159047, 0.159426, 0.159805, 0.160183, + 0.160562, 0.160940, 0.161319, 0.161697, 0.162076, 0.162454, + 0.162832, 0.163211, 0.163589, 0.163967, 0.164346, 0.164724, + 0.165102, 0.165480, 0.165859, 0.166237, 0.166615, 0.166993, + 0.167371, 0.167749, 0.168127, 0.168505, 0.168883, 0.169261, + 0.169639, 0.170017, 0.170395, 0.170773, 0.171151, 0.171529, + 0.171906, 0.172284, 0.172662, 0.173040, 0.173417, 0.173795, + 0.174173, 0.174550, 0.174928, 0.175305, 0.175683, 0.176061, + 0.176438, 0.176815, 0.177193, 0.177570, 0.177948, 0.178325, + 0.178702, 0.179080, 0.179457, 0.179834, 0.180212, 0.180589, + 0.180966, 0.181343, 0.181720, 0.182097, 0.182474, 0.182851, + 0.183228, 0.183605, 0.183982, 0.184359, 0.184736, 0.185113, + 0.185490, 0.185867, 0.186244, 0.186620, 0.186997, 0.187374, + 0.187750, 0.188127, 0.188504, 0.188880, 0.189257, 0.189634, + 0.190010, 0.190387, 0.190763, 0.191139, 0.191516, 0.191892, + 0.192269, 0.192645, 0.193021, 0.193397, 0.193774, 0.194150, + 0.194526, 0.194902, 0.195278, 0.195654, 0.196031, 0.196407, + 0.196783, 0.197159, 0.197535, 0.197910, 0.198286, 0.198662, + 0.199038, 0.199414, 0.199790, 0.200165, 0.200541, 0.200917, + 0.201292, 0.201668, 0.202044, 0.202419, 0.202795, 0.203170, + 0.203546, 0.203921, 0.204297, 0.204672, 0.205047, 0.205423, + 0.205798, 0.206173, 0.206549, 0.206924, 0.207299, 0.207674, + 0.208049, 0.208424, 0.208799, 0.209174, 0.209549, 0.209924, + 0.210299, 0.210674, 0.211049, 0.211424, 0.211799, 0.212174, + 0.212548, 0.212923, 0.213298, 0.213672, 0.214047, 0.214422, + 0.214796, 0.215171, 0.215545, 0.215920, 0.216294, 0.216668, + 0.217043, 0.217417, 0.217791, 0.218166, 0.218540, 0.218914, + 0.219288, 0.219662, 0.220037, 0.220411, 0.220785, 0.221159, + 0.221533, 0.221907, 0.222281, 0.222654, 0.223028, 0.223402, + 0.223776, 0.224150, 0.224523, 0.224897, 0.225271, 0.225644, + 0.226018, 0.226392, 0.226765, 0.227139, 0.227512, 0.227885, + 0.228259, 0.228632, 0.229005, 0.229379, 0.229752, 0.230125, + 0.230498, 0.230872, 0.231245, 0.231618, 0.231991, 0.232364, + 0.232737, 0.233110, 0.233483, 0.233856, 0.234228, 0.234601, + 0.234974, 0.235347, 0.235719, 0.236092, 0.236465, 0.236837, + 0.237210, 0.237582, 0.237955, 0.238327, 0.238700, 0.239072, + 0.239445, 0.239817, 0.240189, 0.240561, 0.240934, 0.241306, + 0.241678, 0.242050, 0.242422, 0.242794, 0.243166, 0.243538, + 0.243910, 0.244282, 0.244654, 0.245026, 0.245397, 0.245769, + 0.246141, 0.246513, 0.246884, 0.247256, 0.247627, 0.247999, + 0.248370, 0.248742, 0.249113, 0.249485, 0.249856, 0.250227, + 0.250599, 0.250970, 0.251341, 0.251712, 0.252083, 0.252454, + 0.252826, 0.253197, 0.253568, 0.253938, 0.254309, 0.254680, + 0.255051, 0.255422, 0.255793, 0.256163, 0.256534, 0.256905, + 0.257275, 0.257646, 0.258016, 0.258387, 0.258757, 0.259128, + 0.259498, 0.259868, 0.260239, 0.260609, 0.260979, 0.261349, + 0.261720, 0.262090, 0.262460, 0.262830, 0.263200, 0.263570, + 0.263940, 0.264310, 0.264679, 0.265049, 0.265419, 0.265789, + 0.266158, 0.266528, 0.266898, 0.267267, 0.267637, 0.268006, + 0.268376, 0.268745, 0.269114, 0.269484, 0.269853, 0.270222, + 0.270591, 0.270961, 0.271330, 0.271699, 0.272068, 0.272437, + 0.272806, 0.273175, 0.273544, 0.273913, 0.274281, 0.274650, + 0.275019, 0.275387, 0.275756, 0.276125, 0.276493, 0.276862, + 0.277230, 0.277599, 0.277967, 0.278336, 0.278704, 0.279072, + 0.279440, 0.279809, 0.280177, 0.280545, 0.280913, 0.281281, + 0.281649, 0.282017, 0.282385, 0.282753, 0.283120, 0.283488, + 0.283856, 0.284224, 0.284591, 0.284959, 0.285327, 0.285694, + 0.286062, 0.286429, 0.286796, 0.287164, 0.287531, 0.287898, + 0.288266, 0.288633, 0.289000, 0.289367, 0.289734, 0.290101, + 0.290468, 0.290835, 0.291202, 0.291569, 0.291936, 0.292302, + 0.292669, 0.293036, 0.293402, 0.293769, 0.294136, 0.294502, + 0.294869, 0.295235, 0.295601, 0.295968, 0.296334, 0.296700, + 0.297066, 0.297433, 0.297799, 0.298165, 0.298531, 0.298897, + 0.299263, 0.299629, 0.299995, 0.300360, 0.300726, 0.301092, + 0.301458, 0.301823, 0.302189, 0.302554, 0.302920, 0.303285, + 0.303651, 0.304016, 0.304381, 0.304747, 0.305112, 0.305477, + 0.305842, 0.306207, 0.306572, 0.306937, 0.307302, 0.307667, + 0.308032, 0.308397, 0.308762, 0.309126, 0.309491, 0.309856, + 0.310220, 0.310585, 0.310949, 0.311314, 0.311678, 0.312043, + 0.312407, 0.312771, 0.313135, 0.313500, 0.313864, 0.314228, + 0.314592, 0.314956, 0.315320, 0.315684, 0.316048, 0.316411, + 0.316775, 0.317139, 0.317503, 0.317866, 0.318230, 0.318593, + 0.318957, 0.319320, 0.319684, 0.320047, 0.320410, 0.320774, + 0.321137, 0.321500, 0.321863, 0.322226, 0.322589, 0.322952, + 0.323315, 0.323678, 0.324041, 0.324404, 0.324766, 0.325129, + 0.325492, 0.325854, 0.326217, 0.326579, 0.326942, 0.327304, + 0.327666, 0.328029, 0.328391, 0.328753, 0.329115, 0.329477, + 0.329839, 0.330201, 0.330563, 0.330925, 0.331287, 0.331649, + 0.332011, 0.332373, 0.332734, 0.333096, 0.333457, 0.333819, + 0.334180, 0.334542, 0.334903, 0.335264, 0.335626, 0.335987, + 0.336348, 0.336709, 0.337070, 0.337431, 0.337792, 0.338153, + 0.338514, 0.338875, 0.339236, 0.339597, 0.339957, 0.340318, + 0.340678, 0.341039, 0.341399, 0.341760, 0.342120, 0.342481, + 0.342841, 0.343201, 0.343561, 0.343921, 0.344281, 0.344641, + 0.345001, 0.345361, 0.345721, 0.346081, 0.346441, 0.346801, + 0.347160, 0.347520, 0.347879, 0.348239, 0.348598, 0.348958, + 0.349317, 0.349676, 0.350036, 0.350395, 0.350754, 0.351113, + 0.351472, 0.351831, 0.352190, 0.352549, 0.352908, 0.353267, + 0.353626, 0.353984, 0.354343, 0.354701, 0.355060, 0.355418, + 0.355777, 0.356135, 0.356494, 0.356852, 0.357210, 0.357568, + 0.357926, 0.358284, 0.358642, 0.359000, 0.359358, 0.359716, + 0.360074, 0.360432, 0.360789, 0.361147, 0.361505, 0.361862, + 0.362220, 0.362577, 0.362934, 0.363292, 0.363649, 0.364006, + 0.364363, 0.364720, 0.365078, 0.365435, 0.365791, 0.366148, + 0.366505, 0.366862, 0.367219, 0.367575, 0.367932, 0.368289, + 0.368645, 0.369002, 0.369358, 0.369714, 0.370071, 0.370427, + 0.370783, 0.371139, 0.371495, 0.371851, 0.372207, 0.372563, + 0.372919, 0.373275, 0.373631, 0.373986, 0.374342, 0.374697, + 0.375053, 0.375408, 0.375764, 0.376119, 0.376475, 0.376830, + 0.377185, 0.377540, 0.377895, 0.378250, 0.378605, 0.378960, + 0.379315, 0.379670, 0.380025, 0.380379, 0.380734, 0.381089, + 0.381443, 0.381798, 0.382152, 0.382506, 0.382861, 0.383215, + 0.383569, 0.383923, 0.384277, 0.384631, 0.384985, 0.385339, + 0.385693, 0.386047, 0.386400, 0.386754, 0.387108, 0.387461, + 0.387815, 0.388168, 0.388522, 0.388875, 0.389228, 0.389582, + 0.389935, 0.390288, 0.390641, 0.390994, 0.391347, 0.391700, + 0.392053, 0.392405, 0.392758, 0.393111, 0.393463, 0.393816, + 0.394168, 0.394521, 0.394873, 0.395225, 0.395578, 0.395930, + 0.396282, 0.396634, 0.396986, 0.397338, 0.397690, 0.398042, + 0.398393, 0.398745, 0.399097, 0.399448, 0.399800, 0.400151, + 0.400503, 0.400854, 0.401206, 0.401557, 0.401908, 0.402259, + 0.402610, 0.402961, 0.403312, 0.403663, 0.404014, 0.404365, + 0.404715, 0.405066, 0.405417, 0.405767, 0.406118, 0.406468, + 0.406818, 0.407169, 0.407519, 0.407869, 0.408219, 0.408569, + 0.408919, 0.409269, 0.409619, 0.409969, 0.410319, 0.410668, + 0.411018, 0.411368, 0.411717, 0.412067, 0.412416, 0.412765, + 0.413115, 0.413464, 0.413813, 0.414162, 0.414511, 0.414860, + 0.415209, 0.415558, 0.415906, 0.416255, 0.416604, 0.416952, + 0.417301, 0.417649, 0.417998, 0.418346, 0.418695, 0.419043, + 0.419391, 0.419739, 0.420087, 0.420435, 0.420783, 0.421131, + 0.421479, 0.421826, 0.422174, 0.422522, 0.422869, 0.423217, + 0.423564, 0.423912, 0.424259, 0.424606, 0.424953, 0.425300, + 0.425647, 0.425994, 0.426341, 0.426688, 0.427035, 0.427382, + 0.427728, 0.428075, 0.428422, 0.428768, 0.429115, 0.429461, + 0.429807, 0.430153, 0.430500, 0.430846, 0.431192, 0.431538, + 0.431884, 0.432229, 0.432575, 0.432921, 0.433267, 0.433612, + 0.433958, 0.434303, 0.434649, 0.434994, 0.435339, 0.435684, + 0.436030, 0.436375, 0.436720, 0.437065, 0.437410, 0.437754, + 0.438099, 0.438444, 0.438789, 0.439133, 0.439478, 0.439822, + 0.440166, 0.440511, 0.440855, 0.441199, 0.441543, 0.441887, + 0.442231, 0.442575, 0.442919, 0.443263, 0.443607, 0.443950, + 0.444294, 0.444637, 0.444981, 0.445324, 0.445668, 0.446011, + 0.446354, 0.446697, 0.447040, 0.447383, 0.447726, 0.448069, + 0.448412, 0.448755, 0.449097, 0.449440, 0.449783, 0.450125, + 0.450468, 0.450810, 0.451152, 0.451494, 0.451836, 0.452179, + 0.452521, 0.452863, 0.453204, 0.453546, 0.453888, 0.454230, + 0.454571, 0.454913, 0.455254, 0.455596, 0.455937, 0.456278, + 0.456620, 0.456961, 0.457302, 0.457643, 0.457984, 0.458325, + 0.458665, 0.459006, 0.459347, 0.459687, 0.460028, 0.460368, + 0.460709, 0.461049, 0.461390, 0.461730, 0.462070, 0.462410, + 0.462750, 0.463090, 0.463430, 0.463769, 0.464109, 0.464449, + 0.464788, 0.465128, 0.465467, 0.465807, 0.466146, 0.466485, + 0.466825, 0.467164, 0.467503, 0.467842, 0.468181, 0.468519, + 0.468858, 0.469197, 0.469536, 0.469874, 0.470213, 0.470551, + 0.470889, 0.471228, 0.471566, 0.471904, 0.472242, 0.472580, + 0.472918, 0.473256, 0.473594, 0.473931, 0.474269, 0.474607, + 0.474944, 0.475282, 0.475619, 0.475956, 0.476294, 0.476631, + 0.476968, 0.477305, 0.477642, 0.477979, 0.478315, 0.478652, + 0.478989, 0.479325, 0.479662, 0.479998, 0.480335, 0.480671, + 0.481007, 0.481344, 0.481680, 0.482016, 0.482352, 0.482688, + 0.483023, 0.483359, 0.483695, 0.484031, 0.484366, 0.484702, + 0.485037, 0.485372, 0.485708, 0.486043, 0.486378, 0.486713, + 0.487048, 0.487383, 0.487718, 0.488052, 0.488387, 0.488722, + 0.489056, 0.489391, 0.489725, 0.490059, 0.490394, 0.490728, + 0.491062, 0.491396, 0.491730, 0.492064, 0.492398, 0.492731, + 0.493065, 0.493399, 0.493732, 0.494066, 0.494399, 0.494732, + 0.495066, 0.495399, 0.495732, 0.496065, 0.496398, 0.496731, + 0.497063, 0.497396, 0.497729, 0.498061, 0.498394, 0.498726, + 0.499059, 0.499391, 0.499723, 0.500055, 0.500387, 0.500719, + 0.501051, 0.501383, 0.501715, 0.502047, 0.502378, 0.502710, + 0.503041, 0.503373, 0.503704, 0.504035, 0.504366, 0.504698, + 0.505029, 0.505360, 0.505690, 0.506021, 0.506352, 0.506683, + 0.507013, 0.507344, 0.507674, 0.508005, 0.508335, 0.508665, + 0.508995, 0.509325, 0.509655, 0.509985, 0.510315, 0.510645, + 0.510974, 0.511304, 0.511634, 0.511963, 0.512292, 0.512622, + 0.512951, 0.513280, 0.513609, 0.513938, 0.514267, 0.514596, + 0.514925, 0.515254, 0.515582, 0.515911, 0.516239, 0.516568, + 0.516896, 0.517224, 0.517552, 0.517880, 0.518209, 0.518536, + 0.518864, 0.519192, 0.519520, 0.519847, 0.520175, 0.520503, + 0.520830, 0.521157, 0.521485, 0.521812, 0.522139, 0.522466, + 0.522793, 0.523120, 0.523447, 0.523773, 0.524100, 0.524426, + 0.524753, 0.525079, 0.525406, 0.525732, 0.526058, 0.526384, + 0.526710, 0.527036, 0.527362, 0.527688, 0.528014, 0.528339, + 0.528665, 0.528990, 0.529316, 0.529641, 0.529966, 0.530291, + 0.530616, 0.530942, 0.531266, 0.531591, 0.531916, 0.532241, + 0.532565, 0.532890, 0.533214, 0.533539, 0.533863, 0.534187, + 0.534512, 0.534836, 0.535160, 0.535484, 0.535807, 0.536131, + 0.536455, 0.536778, 0.537102, 0.537425, 0.537749, 0.538072, + 0.538395, 0.538718, 0.539041, 0.539364, 0.539687, 0.540010, + 0.540333, 0.540655, 0.540978, 0.541301, 0.541623, 0.541945, + 0.542268, 0.542590, 0.542912, 0.543234, 0.543556, 0.543878, + 0.544199, 0.544521, 0.544843, 0.545164, 0.545486, 0.545807, + 0.546128, 0.546450, 0.546771, 0.547092, 0.547413, 0.547734, + 0.548054, 0.548375, 0.548696, 0.549016, 0.549337, 0.549657, + 0.549978, 0.550298, 0.550618, 0.550938, 0.551258, 0.551578, + 0.551898, 0.552218, 0.552537, 0.552857, 0.553176, 0.553496, + 0.553815, 0.554135, 0.554454, 0.554773, 0.555092, 0.555411, + 0.555730, 0.556048, 0.556367, 0.556686, 0.557004, 0.557323, + 0.557641, 0.557959, 0.558278, 0.558596, 0.558914, 0.559232, + 0.559550, 0.559867, 0.560185, 0.560503, 0.560820, 0.561138, + 0.561455, 0.561773, 0.562090, 0.562407, 0.562724, 0.563041, + 0.563358, 0.563675, 0.563991, 0.564308, 0.564624, 0.564941, + 0.565257, 0.565574, 0.565890, 0.566206, 0.566522, 0.566838, + 0.567154, 0.567470, 0.567786, 0.568101, 0.568417, 0.568732, + 0.569048, 0.569363, 0.569678, 0.569993, 0.570308, 0.570623, + 0.570938, 0.571253, 0.571568, 0.571882, 0.572197, 0.572511, + 0.572826, 0.573140, 0.573454, 0.573768, 0.574082, 0.574396, + 0.574710, 0.575024, 0.575338, 0.575651, 0.575965, 0.576278, + 0.576592, 0.576905, 0.577218, 0.577531, 0.577844, 0.578157, + 0.578470, 0.578783, 0.579096, 0.579408, 0.579721, 0.580033, + 0.580346, 0.580658, 0.580970, 0.581282, 0.581594, 0.581906, + 0.582218, 0.582530, 0.582841, 0.583153, 0.583464, 0.583776, + 0.584087, 0.584398, 0.584709, 0.585021, 0.585332, 0.585642, + 0.585953, 0.586264, 0.586575, 0.586885, 0.587196, 0.587506, + 0.587816, 0.588126, 0.588437, 0.588747, 0.589057, 0.589366, + 0.589676, 0.589986, 0.590295, 0.590605, 0.590914, 0.591224, + 0.591533, 0.591842, 0.592151, 0.592460, 0.592769, 0.593078, + 0.593387, 0.593695, 0.594004, 0.594312, 0.594621, 0.594929, + 0.595237, 0.595545, 0.595853, 0.596161, 0.596469, 0.596777, + 0.597085, 0.597392, 0.597700, 0.598007, 0.598314, 0.598622, + 0.598929, 0.599236, 0.599543, 0.599850, 0.600156, 0.600463, + 0.600770, 0.601076, 0.601383, 0.601689, 0.601995, 0.602302, + 0.602608, 0.602914, 0.603220, 0.603525, 0.603831, 0.604137, + 0.604442, 0.604748, 0.605053, 0.605358, 0.605664, 0.605969, + 0.606274, 0.606579, 0.606884, 0.607188, 0.607493, 0.607798, + 0.608102, 0.608406, 0.608711, 0.609015, 0.609319, 0.609623, + 0.609927, 0.610231, 0.610535, 0.610838, 0.611142, 0.611445, + 0.611749, 0.612052, 0.612355, 0.612659, 0.612962, 0.613265, + 0.613567, 0.613870, 0.614173, 0.614476, 0.614778, 0.615080, + 0.615383, 0.615685, 0.615987, 0.616289, 0.616591, 0.616893, + 0.617195, 0.617496, 0.617798, 0.618100, 0.618401, 0.618702, + 0.619004, 0.619305, 0.619606, 0.619907, 0.620208, 0.620508, + 0.620809, 0.621110, 0.621410, 0.621711, 0.622011, 0.622311, + 0.622611, 0.622911, 0.623211, 0.623511, 0.623811, 0.624111, + 0.624410, 0.624710, 0.625009, 0.625309, 0.625608, 0.625907, + 0.626206, 0.626505, 0.626804, 0.627102, 0.627401, 0.627700, + 0.627998, 0.628297, 0.628595, 0.628893, 0.629191, 0.629489, + 0.629787, 0.630085, 0.630383, 0.630680, 0.630978, 0.631275, + 0.631573, 0.631870, 0.632167, 0.632464, 0.632761, 0.633058, + 0.633355, 0.633652, 0.633948, 0.634245, 0.634541, 0.634838, + 0.635134, 0.635430, 0.635726, 0.636022, 0.636318, 0.636614, + 0.636910, 0.637205, 0.637501, 0.637796, 0.638092, 0.638387, + 0.638682, 0.638977, 0.639272, 0.639567, 0.639862, 0.640156, + 0.640451, 0.640745, 0.641040, 0.641334, 0.641628, 0.641922, + 0.642216, 0.642510, 0.642804, 0.643098, 0.643391, 0.643685, + 0.643978, 0.644272, 0.644565, 0.644858, 0.645151, 0.645444, + 0.645737, 0.646030, 0.646322, 0.646615, 0.646907, 0.647200, + 0.647492, 0.647784, 0.648076, 0.648368, 0.648660, 0.648952, + 0.649244, 0.649536, 0.649827, 0.650118, 0.650410, 0.650701, + 0.650992, 0.651283, 0.651574, 0.651865, 0.652156, 0.652447, + 0.652737, 0.653028, 0.653318, 0.653608, 0.653899, 0.654189, + 0.654479, 0.654769, 0.655058, 0.655348, 0.655638, 0.655927, + 0.656217, 0.656506, 0.656795, 0.657084, 0.657373, 0.657662, + 0.657951, 0.658240, 0.658529, 0.658817, 0.659106, 0.659394, + 0.659682, 0.659970, 0.660258, 0.660546, 0.660834, 0.661122, + 0.661410, 0.661697, 0.661985, 0.662272, 0.662559, 0.662847, + 0.663134, 0.663421, 0.663708, 0.663994, 0.664281, 0.664568, + 0.664854, 0.665141, 0.665427, 0.665713, 0.665999, 0.666285, + 0.666571, 0.666857, 0.667143, 0.667428, 0.667714, 0.667999, + 0.668285, 0.668570, 0.668855, 0.669140, 0.669425, 0.669710, + 0.669995, 0.670279, 0.670564, 0.670848, 0.671133, 0.671417, + 0.671701, 0.671985, 0.672269, 0.672553, 0.672837, 0.673120, + 0.673404, 0.673687, 0.673971, 0.674254, 0.674537, 0.674820, + 0.675103, 0.675386, 0.675669, 0.675951, 0.676234, 0.676516, + 0.676799, 0.677081, 0.677363, 0.677645, 0.677927, 0.678209, + 0.678491, 0.678773, 0.679054, 0.679336, 0.679617, 0.679898, + 0.680179, 0.680460, 0.680741, 0.681022, 0.681303, 0.681584, + 0.681864, 0.682145, 0.682425, 0.682705, 0.682986, 0.683266, + 0.683546, 0.683826, 0.684105, 0.684385, 0.684665, 0.684944, + 0.685223, 0.685503, 0.685782, 0.686061, 0.686340, 0.686619, + 0.686897, 0.687176, 0.687455, 0.687733, 0.688011, 0.688290, + 0.688568, 0.688846, 0.689124, 0.689402, 0.689679, 0.689957, + 0.690235, 0.690512, 0.690789, 0.691067, 0.691344, 0.691621, + 0.691898, 0.692175, 0.692451, 0.692728, 0.693004, 0.693281, + 0.693557, 0.693833, 0.694109, 0.694386, 0.694661, 0.694937, + 0.695213, 0.695489, 0.695764, 0.696039, 0.696315, 0.696590, + 0.696865, 0.697140, 0.697415, 0.697690, 0.697964, 0.698239, + 0.698513, 0.698788, 0.699062, 0.699336, 0.699610, 0.699884, + 0.700158, 0.700432, 0.700706, 0.700979, 0.701253, 0.701526, + 0.701799, 0.702072, 0.702345, 0.702618, 0.702891, 0.703164, + 0.703437, 0.703709, 0.703981, 0.704254, 0.704526, 0.704798, + 0.705070, 0.705342, 0.705614, 0.705885, 0.706157, 0.706429, + 0.706700, 0.706971, 0.707242, 0.707513, 0.707784, 0.708055, + 0.708326, 0.708597, 0.708867, 0.709138, 0.709408, 0.709678, + 0.709948, 0.710218, 0.710488, 0.710758, 0.711028, 0.711297, + 0.711567, 0.711836, 0.712106, 0.712375, 0.712644, 0.712913, + 0.713182, 0.713451, 0.713719, 0.713988, 0.714256, 0.714525, + 0.714793, 0.715061, 0.715329, 0.715597, 0.715865, 0.716132, + 0.716400, 0.716668, 0.716935, 0.717202, 0.717469, 0.717737, + 0.718004, 0.718270, 0.718537, 0.718804, 0.719070, 0.719337, + 0.719603, 0.719869, 0.720136, 0.720402, 0.720668, 0.720933, + 0.721199, 0.721465, 0.721730, 0.721996, 0.722261, 0.722526, + 0.722791, 0.723056, 0.723321, 0.723586, 0.723850, 0.724115, + 0.724379, 0.724644, 0.724908, 0.725172, 0.725436, 0.725700, + 0.725964, 0.726227, 0.726491, 0.726754, 0.727018, 0.727281, + 0.727544, 0.727807, 0.728070, 0.728333, 0.728596, 0.728858, + 0.729121, 0.729383, 0.729646, 0.729908, 0.730170, 0.730432, + 0.730694, 0.730955, 0.731217, 0.731479, 0.731740, 0.732001, + 0.732263, 0.732524, 0.732785, 0.733046, 0.733306, 0.733567, + 0.733828, 0.734088, 0.734349, 0.734609, 0.734869, 0.735129, + 0.735389, 0.735649, 0.735908, 0.736168, 0.736428, 0.736687, + 0.736946, 0.737205, 0.737464, 0.737723, 0.737982, 0.738241, + 0.738500, 0.738758, 0.739016, 0.739275, 0.739533, 0.739791, + 0.740049, 0.740307, 0.740565, 0.740822, 0.741080, 0.741337, + 0.741595, 0.741852, 0.742109, 0.742366, 0.742623, 0.742880, + 0.743136, 0.743393, 0.743649, 0.743906, 0.744162, 0.744418, + 0.744674, 0.744930, 0.745186, 0.745441, 0.745697, 0.745952, + 0.746208, 0.746463, 0.746718, 0.746973, 0.747228, 0.747483, + 0.747738, 0.747992, 0.748247, 0.748501, 0.748755, 0.749009, + 0.749263, 0.749517, 0.749771, 0.750025, 0.750278, 0.750532, + 0.750785, 0.751039, 0.751292, 0.751545, 0.751798, 0.752051, + 0.752303, 0.752556, 0.752808, 0.753061, 0.753313, 0.753565, + 0.753817, 0.754069, 0.754321, 0.754573, 0.754824, 0.755076, + 0.755327, 0.755578, 0.755829, 0.756081, 0.756331, 0.756582, + 0.756833, 0.757084, 0.757334, 0.757584, 0.757835, 0.758085, + 0.758335, 0.758585, 0.758835, 0.759084, 0.759334, 0.759583, + 0.759833, 0.760082, 0.760331, 0.760580, 0.760829, 0.761078, + 0.761327, 0.761575, 0.761824, 0.762072, 0.762320, 0.762569, + 0.762817, 0.763065, 0.763312, 0.763560, 0.763808, 0.764055, + 0.764302, 0.764550, 0.764797, 0.765044, 0.765291, 0.765538, + 0.765784, 0.766031, 0.766277, 0.766524, 0.766770, 0.767016, + 0.767262, 0.767508, 0.767754, 0.767999, 0.768245, 0.768490, + 0.768736, 0.768981, 0.769226, 0.769471, 0.769716, 0.769960, + 0.770205, 0.770450, 0.770694, 0.770938, 0.771183, 0.771427, + 0.771671, 0.771915, 0.772158, 0.772402, 0.772645, 0.772889, + 0.773132, 0.773375, 0.773618, 0.773861, 0.774104, 0.774347, + 0.774589, 0.774832, 0.775074, 0.775317, 0.775559, 0.775801, + 0.776043, 0.776284, 0.776526, 0.776768, 0.777009, 0.777251, + 0.777492, 0.777733, 0.777974, 0.778215, 0.778456, 0.778696, + 0.778937, 0.779177, 0.779418, 0.779658, 0.779898, 0.780138, + 0.780378, 0.780617, 0.780857, 0.781097, 0.781336, 0.781575, + 0.781814, 0.782053, 0.782292, 0.782531, 0.782770, 0.783009, + 0.783247, 0.783485, 0.783724, 0.783962, 0.784200, 0.784438, + 0.784675, 0.784913, 0.785151, 0.785388, 0.785625, 0.785863, + 0.786100, 0.786337, 0.786574, 0.786810, 0.787047, 0.787284, + 0.787520, 0.787756, 0.787992, 0.788228, 0.788464, 0.788700, + 0.788936, 0.789172, 0.789407, 0.789642, 0.789878, 0.790113, + 0.790348, 0.790583, 0.790817, 0.791052, 0.791287, 0.791521, + 0.791755, 0.791990, 0.792224, 0.792458, 0.792691, 0.792925, + 0.793159, 0.793392, 0.793626, 0.793859, 0.794092, 0.794325, + 0.794558, 0.794791, 0.795023, 0.795256, 0.795488, 0.795721, + 0.795953, 0.796185, 0.796417, 0.796649, 0.796881, 0.797112, + 0.797344, 0.797575, 0.797806, 0.798038, 0.798269, 0.798500, + 0.798730, 0.798961, 0.799192, 0.799422, 0.799652, 0.799883, + 0.800113, 0.800343, 0.800573, 0.800802, 0.801032, 0.801261, + 0.801491, 0.801720, 0.801949, 0.802178, 0.802407, 0.802636, + 0.802865, 0.803093, 0.803322, 0.803550, 0.803778, 0.804006, + 0.804234, 0.804462, 0.804690, 0.804918, 0.805145, 0.805372, + 0.805600, 0.805827, 0.806054, 0.806281, 0.806508, 0.806734, + 0.806961, 0.807187, 0.807414, 0.807640, 0.807866, 0.808092, + 0.808318, 0.808543, 0.808769, 0.808994, 0.809220, 0.809445, + 0.809670, 0.809895, 0.810120, 0.810345, 0.810570, 0.810794, + 0.811018, 0.811243, 0.811467, 0.811691, 0.811915, 0.812139, + 0.812362, 0.812586, 0.812809, 0.813033, 0.813256, 0.813479, + 0.813702, 0.813925, 0.814148, 0.814370, 0.814593, 0.814815, + 0.815037, 0.815260, 0.815482, 0.815704, 0.815925, 0.816147, + 0.816369, 0.816590, 0.816811, 0.817032, 0.817253, 0.817474, + 0.817695, 0.817916, 0.818136, 0.818357, 0.818577, 0.818797, + 0.819018, 0.819238, 0.819457, 0.819677, 0.819897, 0.820116, + 0.820336, 0.820555, 0.820774, 0.820993, 0.821212, 0.821431, + 0.821649, 0.821868, 0.822086, 0.822305, 0.822523, 0.822741, + 0.822959, 0.823177, 0.823394, 0.823612, 0.823829, 0.824047, + 0.824264, 0.824481, 0.824698, 0.824915, 0.825131, 0.825348, + 0.825564, 0.825781, 0.825997, 0.826213, 0.826429, 0.826645, + 0.826861, 0.827076, 0.827292, 0.827507, 0.827722, 0.827938, + 0.828153, 0.828367, 0.828582, 0.828797, 0.829011, 0.829226, + 0.829440, 0.829654, 0.829868, 0.830082, 0.830296, 0.830510, + 0.830723, 0.830937, 0.831150, 0.831363, 0.831576, 0.831789, + 0.832002, 0.832215, 0.832427, 0.832640, 0.832852, 0.833064, + 0.833276, 0.833488, 0.833700, 0.833912, 0.834123, 0.834335, + 0.834546, 0.834757, 0.834968, 0.835179, 0.835390, 0.835601, + 0.835812, 0.836022, 0.836232, 0.836443, 0.836653, 0.836863, + 0.837073, 0.837282, 0.837492, 0.837702, 0.837911, 0.838120, + 0.838329, 0.838538, 0.838747, 0.838956, 0.839165, 0.839373, + 0.839581, 0.839790, 0.839998, 0.840206, 0.840414, 0.840622, + 0.840829, 0.841037, 0.841244, 0.841451, 0.841659, 0.841866, + 0.842072, 0.842279, 0.842486, 0.842692, 0.842899, 0.843105, + 0.843311, 0.843517, 0.843723, 0.843929, 0.844135, 0.844340, + 0.844546, 0.844751, 0.844956, 0.845161, 0.845366, 0.845571, + 0.845776, 0.845980, 0.846185, 0.846389, 0.846593, 0.846797, + 0.847001, 0.847205, 0.847408, 0.847612, 0.847815, 0.848019, + 0.848222, 0.848425, 0.848628, 0.848831, 0.849033, 0.849236, + 0.849438, 0.849641, 0.849843, 0.850045, 0.850247, 0.850449, + 0.850650, 0.850852, 0.851053, 0.851255, 0.851456, 0.851657, + 0.851858, 0.852059, 0.852259, 0.852460, 0.852660, 0.852860, + 0.853061, 0.853261, 0.853461, 0.853660, 0.853860, 0.854060, + 0.854259, 0.854458, 0.854658, 0.854857, 0.855056, 0.855254, + 0.855453, 0.855652, 0.855850, 0.856048, 0.856246, 0.856444, + 0.856642, 0.856840, 0.857038, 0.857235, 0.857433, 0.857630, + 0.857827, 0.858024, 0.858221, 0.858418, 0.858615, 0.858811, + 0.859007, 0.859204, 0.859400, 0.859596, 0.859792, 0.859988, + 0.860183, 0.860379, 0.860574, 0.860769, 0.860964, 0.861160, + 0.861354, 0.861549, 0.861744, 0.861938, 0.862133, 0.862327, + 0.862521, 0.862715, 0.862909, 0.863103, 0.863296, 0.863490, + 0.863683, 0.863876, 0.864069, 0.864262, 0.864455, 0.864648, + 0.864841, 0.865033, 0.865225, 0.865418, 0.865610, 0.865802, + 0.865993, 0.866185, 0.866377, 0.866568, 0.866760, 0.866951, + 0.867142, 0.867333, 0.867524, 0.867714, 0.867905, 0.868095, + 0.868285, 0.868476, 0.868666, 0.868856, 0.869045, 0.869235, + 0.869425, 0.869614, 0.869803, 0.869992, 0.870181, 0.870370, + 0.870559, 0.870748, 0.870936, 0.871125, 0.871313, 0.871501, + 0.871689, 0.871877, 0.872065, 0.872252, 0.872440, 0.872627, + 0.872814, 0.873001, 0.873188, 0.873375, 0.873562, 0.873749, + 0.873935, 0.874121, 0.874308, 0.874494, 0.874680, 0.874865, + 0.875051, 0.875237, 0.875422, 0.875607, 0.875793, 0.875978, + 0.876163, 0.876347, 0.876532, 0.876717, 0.876901, 0.877085, + 0.877269, 0.877453, 0.877637, 0.877821, 0.878005, 0.878188, + 0.878371, 0.878555, 0.878738, 0.878921, 0.879104, 0.879286, + 0.879469, 0.879651, 0.879834, 0.880016, 0.880198, 0.880380, + 0.880562, 0.880743, 0.880925, 0.881106, 0.881288, 0.881469, + 0.881650, 0.881831, 0.882012, 0.882192, 0.882373, 0.882553, + 0.882733, 0.882914, 0.883094, 0.883273, 0.883453, 0.883633, + 0.883812, 0.883992, 0.884171, 0.884350, 0.884529, 0.884708, + 0.884886, 0.885065, 0.885243, 0.885422, 0.885600, 0.885778, + 0.885956, 0.886134, 0.886311, 0.886489, 0.886666, 0.886844, + 0.887021, 0.887198, 0.887375, 0.887551, 0.887728, 0.887904, + 0.888081, 0.888257, 0.888433, 0.888609, 0.888785, 0.888961, + 0.889136, 0.889312, 0.889487, 0.889662, 0.889837, 0.890012, + 0.890187, 0.890361, 0.890536, 0.890710, 0.890885, 0.891059, + 0.891233, 0.891407, 0.891580, 0.891754, 0.891927, 0.892101, + 0.892274, 0.892447, 0.892620, 0.892793, 0.892966, 0.893138, + 0.893310, 0.893483, 0.893655, 0.893827, 0.893999, 0.894171, + 0.894342, 0.894514, 0.894685, 0.894856, 0.895027, 0.895198, + 0.895369, 0.895540, 0.895711, 0.895881, 0.896051, 0.896222, + 0.896392, 0.896562, 0.896731, 0.896901, 0.897071, 0.897240, + 0.897409, 0.897578, 0.897747, 0.897916, 0.898085, 0.898254, + 0.898422, 0.898590, 0.898759, 0.898927, 0.899095, 0.899262, + 0.899430, 0.899598, 0.899765, 0.899932, 0.900099, 0.900266, + 0.900433, 0.900600, 0.900767, 0.900933, 0.901100, 0.901266, + 0.901432, 0.901598, 0.901764, 0.901929, 0.902095, 0.902260, + 0.902426, 0.902591, 0.902756, 0.902921, 0.903085, 0.903250, + 0.903415, 0.903579, 0.903743, 0.903907, 0.904071, 0.904235, + 0.904399, 0.904562, 0.904726, 0.904889, 0.905052, 0.905215, + 0.905378, 0.905541, 0.905704, 0.905866, 0.906028, 0.906191, + 0.906353, 0.906515, 0.906677, 0.906838, 0.907000, 0.907161, + 0.907323, 0.907484, 0.907645, 0.907806, 0.907966, 0.908127, + 0.908288, 0.908448, 0.908608, 0.908768, 0.908928, 0.909088, + 0.909248, 0.909407, 0.909567, 0.909726, 0.909885, 0.910044, + 0.910203, 0.910362, 0.910521, 0.910679, 0.910837, 0.910996, + 0.911154, 0.911312, 0.911470, 0.911627, 0.911785, 0.911942, + 0.912099, 0.912257, 0.912414, 0.912571, 0.912727, 0.912884, + 0.913040, 0.913197, 0.913353, 0.913509, 0.913665, 0.913821, + 0.913976, 0.914132, 0.914287, 0.914443, 0.914598, 0.914753, + 0.914908, 0.915062, 0.915217, 0.915372, 0.915526, 0.915680, + 0.915834, 0.915988, 0.916142, 0.916296, 0.916449, 0.916602, + 0.916756, 0.916909, 0.917062, 0.917215, 0.917367, 0.917520, + 0.917672, 0.917825, 0.917977, 0.918129, 0.918281, 0.918433, + 0.918584, 0.918736, 0.918887, 0.919038, 0.919189, 0.919340, + 0.919491, 0.919642, 0.919792, 0.919943, 0.920093, 0.920243, + 0.920393, 0.920543, 0.920693, 0.920843, 0.920992, 0.921141, + 0.921291, 0.921440, 0.921589, 0.921737, 0.921886, 0.922034, + 0.922183, 0.922331, 0.922479, 0.922627, 0.922775, 0.922923, + 0.923070, 0.923218, 0.923365, 0.923512, 0.923659, 0.923806, + 0.923953, 0.924099, 0.924246, 0.924392, 0.924539, 0.924685, + 0.924831, 0.924976, 0.925122, 0.925268, 0.925413, 0.925558, + 0.925703, 0.925848, 0.925993, 0.926138, 0.926283, 0.926427, + 0.926571, 0.926715, 0.926859, 0.927003, 0.927147, 0.927291, + 0.927434, 0.927578, 0.927721, 0.927864, 0.928007, 0.928150, + 0.928292, 0.928435, 0.928577, 0.928720, 0.928862, 0.929004, + 0.929145, 0.929287, 0.929429, 0.929570, 0.929712, 0.929853, + 0.929994, 0.930135, 0.930275, 0.930416, 0.930556, 0.930697, + 0.930837, 0.930977, 0.931117, 0.931257, 0.931397, 0.931536, + 0.931675, 0.931815, 0.931954, 0.932093, 0.932232, 0.932370, + 0.932509, 0.932647, 0.932786, 0.932924, 0.933062, 0.933200, + 0.933337, 0.933475, 0.933612, 0.933750, 0.933887, 0.934024, + 0.934161, 0.934298, 0.934434, 0.934571, 0.934707, 0.934844, + 0.934980, 0.935116, 0.935251, 0.935387, 0.935523, 0.935658, + 0.935793, 0.935928, 0.936063, 0.936198, 0.936333, 0.936468, + 0.936602, 0.936736, 0.936871, 0.937005, 0.937138, 0.937272, + 0.937406, 0.937539, 0.937673, 0.937806, 0.937939, 0.938072, + 0.938205, 0.938337, 0.938470, 0.938602, 0.938734, 0.938866, + 0.938998, 0.939130, 0.939262, 0.939393, 0.939525, 0.939656, + 0.939787, 0.939918, 0.940049, 0.940180, 0.940310, 0.940441, + 0.940571, 0.940701, 0.940831, 0.940961, 0.941091, 0.941221, + 0.941350, 0.941479, 0.941609, 0.941738, 0.941867, 0.941995, + 0.942124, 0.942253, 0.942381, 0.942509, 0.942637, 0.942765, + 0.942893, 0.943021, 0.943148, 0.943276, 0.943403, 0.943530, + 0.943657, 0.943784, 0.943910, 0.944037, 0.944163, 0.944290, + 0.944416, 0.944542, 0.944668, 0.944793, 0.944919, 0.945045, + 0.945170, 0.945295, 0.945420, 0.945545, 0.945670, 0.945794, + 0.945919, 0.946043, 0.946167, 0.946291, 0.946415, 0.946539, + 0.946663, 0.946786, 0.946910, 0.947033, 0.947156, 0.947279, + 0.947402, 0.947524, 0.947647, 0.947769, 0.947891, 0.948014, + 0.948136, 0.948257, 0.948379, 0.948501, 0.948622, 0.948743, + 0.948864, 0.948985, 0.949106, 0.949227, 0.949348, 0.949468, + 0.949588, 0.949708, 0.949828, 0.949948, 0.950068, 0.950188, + 0.950307, 0.950426, 0.950546, 0.950665, 0.950784, 0.950902, + 0.951021, 0.951139, 0.951258, 0.951376, 0.951494, 0.951612, + 0.951730, 0.951847, 0.951965, 0.952082, 0.952199, 0.952317, + 0.952433, 0.952550, 0.952667, 0.952783, 0.952900, 0.953016, + 0.953132, 0.953248, 0.953364, 0.953480, 0.953595, 0.953711, + 0.953826, 0.953941, 0.954056, 0.954171, 0.954285, 0.954400, + 0.954514, 0.954629, 0.954743, 0.954857, 0.954971, 0.955084, + 0.955198, 0.955311, 0.955425, 0.955538, 0.955651, 0.955764, + 0.955876, 0.955989, 0.956101, 0.956214, 0.956326, 0.956438, + 0.956550, 0.956662, 0.956773, 0.956885, 0.956996, 0.957107, + 0.957218, 0.957329, 0.957440, 0.957550, 0.957661, 0.957771, + 0.957881, 0.957992, 0.958101, 0.958211, 0.958321, 0.958430, + 0.958540, 0.958649, 0.958758, 0.958867, 0.958976, 0.959084, + 0.959193, 0.959301, 0.959409, 0.959518, 0.959625, 0.959733, + 0.959841, 0.959948, 0.960056, 0.960163, 0.960270, 0.960377, + 0.960484, 0.960591, 0.960697, 0.960803, 0.960910, 0.961016, + 0.961122, 0.961228, 0.961333, 0.961439, 0.961544, 0.961650, + 0.961755, 0.961860, 0.961964, 0.962069, 0.962174, 0.962278, + 0.962382, 0.962486, 0.962590, 0.962694, 0.962798, 0.962902, + 0.963005, 0.963108, 0.963211, 0.963314, 0.963417, 0.963520, + 0.963622, 0.963725, 0.963827, 0.963929, 0.964031, 0.964133, + 0.964235, 0.964336, 0.964438, 0.964539, 0.964640, 0.964741, + 0.964842, 0.964943, 0.965044, 0.965144, 0.965244, 0.965344, + 0.965444, 0.965544, 0.965644, 0.965744, 0.965843, 0.965942, + 0.966042, 0.966141, 0.966239, 0.966338, 0.966437, 0.966535, + 0.966634, 0.966732, 0.966830, 0.966928, 0.967025, 0.967123, + 0.967220, 0.967318, 0.967415, 0.967512, 0.967609, 0.967706, + 0.967802, 0.967899, 0.967995, 0.968091, 0.968187, 0.968283, + 0.968379, 0.968474, 0.968570, 0.968665, 0.968760, 0.968855, + 0.968950, 0.969045, 0.969140, 0.969234, 0.969328, 0.969423, + 0.969517, 0.969610, 0.969704, 0.969798, 0.969891, 0.969985, + 0.970078, 0.970171, 0.970264, 0.970357, 0.970449, 0.970542, + 0.970634, 0.970726, 0.970818, 0.970910, 0.971002, 0.971093, + 0.971185, 0.971276, 0.971367, 0.971458, 0.971549, 0.971640, + 0.971731, 0.971821, 0.971911, 0.972002, 0.972092, 0.972182, + 0.972271, 0.972361, 0.972450, 0.972540, 0.972629, 0.972718, + 0.972807, 0.972896, 0.972984, 0.973073, 0.973161, 0.973249, + 0.973337, 0.973425, 0.973513, 0.973601, 0.973688, 0.973775, + 0.973862, 0.973950, 0.974036, 0.974123, 0.974210, 0.974296, + 0.974383, 0.974469, 0.974555, 0.974641, 0.974726, 0.974812, + 0.974897, 0.974983, 0.975068, 0.975153, 0.975238, 0.975323, + 0.975407, 0.975492, 0.975576, 0.975660, 0.975744, 0.975828, + 0.975912, 0.975995, 0.976079, 0.976162, 0.976245, 0.976328, + 0.976411, 0.976494, 0.976576, 0.976659, 0.976741, 0.976823, + 0.976905, 0.976987, 0.977069, 0.977151, 0.977232, 0.977313, + 0.977394, 0.977475, 0.977556, 0.977637, 0.977718, 0.977798, + 0.977878, 0.977958, 0.978038, 0.978118, 0.978198, 0.978278, + 0.978357, 0.978436, 0.978515, 0.978594, 0.978673, 0.978752, + 0.978831, 0.978909, 0.978987, 0.979065, 0.979143, 0.979221, + 0.979299, 0.979377, 0.979454, 0.979531, 0.979608, 0.979685, + 0.979762, 0.979839, 0.979915, 0.979992, 0.980068, 0.980144, + 0.980220, 0.980296, 0.980372, 0.980447, 0.980523, 0.980598, + 0.980673, 0.980748, 0.980823, 0.980897, 0.980972, 0.981046, + 0.981120, 0.981195, 0.981269, 0.981342, 0.981416, 0.981490, + 0.981563, 0.981636, 0.981709, 0.981782, 0.981855, 0.981928, + 0.982000, 0.982072, 0.982145, 0.982217, 0.982289, 0.982360, + 0.982432, 0.982504, 0.982575, 0.982646, 0.982717, 0.982788, + 0.982859, 0.982930, 0.983000, 0.983070, 0.983141, 0.983211, + 0.983281, 0.983350, 0.983420, 0.983489, 0.983559, 0.983628, + 0.983697, 0.983766, 0.983835, 0.983903, 0.983972, 0.984040, + 0.984108, 0.984176, 0.984244, 0.984312, 0.984379, 0.984447, + 0.984514, 0.984581, 0.984648, 0.984715, 0.984782, 0.984848, + 0.984915, 0.984981, 0.985047, 0.985113, 0.985179, 0.985245, + 0.985310, 0.985376, 0.985441, 0.985506, 0.985571, 0.985636, + 0.985701, 0.985765, 0.985830, 0.985894, 0.985958, 0.986022, + 0.986086, 0.986150, 0.986213, 0.986276, 0.986340, 0.986403, + 0.986466, 0.986529, 0.986591, 0.986654, 0.986716, 0.986778, + 0.986840, 0.986902, 0.986964, 0.987026, 0.987087, 0.987149, + 0.987210, 0.987271, 0.987332, 0.987393, 0.987453, 0.987514, + 0.987574, 0.987634, 0.987694, 0.987754, 0.987814, 0.987874, + 0.987933, 0.987992, 0.988052, 0.988111, 0.988170, 0.988228, + 0.988287, 0.988345, 0.988404, 0.988462, 0.988520, 0.988578, + 0.988635, 0.988693, 0.988750, 0.988808, 0.988865, 0.988922, + 0.988979, 0.989035, 0.989092, 0.989148, 0.989205, 0.989261, + 0.989317, 0.989373, 0.989428, 0.989484, 0.989539, 0.989594, + 0.989650, 0.989705, 0.989759, 0.989814, 0.989869, 0.989923, + 0.989977, 0.990031, 0.990085, 0.990139, 0.990193, 0.990246, + 0.990299, 0.990353, 0.990406, 0.990459, 0.990511, 0.990564, + 0.990617, 0.990669, 0.990721, 0.990773, 0.990825, 0.990877, + 0.990928, 0.990980, 0.991031, 0.991082, 0.991133, 0.991184, + 0.991235, 0.991286, 0.991336, 0.991386, 0.991437, 0.991487, + 0.991536, 0.991586, 0.991636, 0.991685, 0.991734, 0.991784, + 0.991832, 0.991881, 0.991930, 0.991979, 0.992027, 0.992075, + 0.992123, 0.992171, 0.992219, 0.992267, 0.992314, 0.992362, + 0.992409, 0.992456, 0.992503, 0.992550, 0.992596, 0.992643, + 0.992689, 0.992736, 0.992782, 0.992828, 0.992873, 0.992919, + 0.992964, 0.993010, 0.993055, 0.993100, 0.993145, 0.993190, + 0.993234, 0.993279, 0.993323, 0.993367, 0.993411, 0.993455, + 0.993499, 0.993542, 0.993586, 0.993629, 0.993672, 0.993715, + 0.993758, 0.993801, 0.993843, 0.993886, 0.993928, 0.993970, + 0.994012, 0.994054, 0.994096, 0.994137, 0.994179, 0.994220, + 0.994261, 0.994302, 0.994343, 0.994383, 0.994424, 0.994464, + 0.994505, 0.994545, 0.994585, 0.994624, 0.994664, 0.994703, + 0.994743, 0.994782, 0.994821, 0.994860, 0.994899, 0.994937, + 0.994976, 0.995014, 0.995052, 0.995090, 0.995128, 0.995166, + 0.995203, 0.995241, 0.995278, 0.995315, 0.995352, 0.995389, + 0.995426, 0.995463, 0.995499, 0.995535, 0.995571, 0.995607, + 0.995643, 0.995679, 0.995714, 0.995750, 0.995785, 0.995820, + 0.995855, 0.995890, 0.995925, 0.995959, 0.995993, 0.996028, + 0.996062, 0.996096, 0.996129, 0.996163, 0.996197, 0.996230, + 0.996263, 0.996296, 0.996329, 0.996362, 0.996394, 0.996427, + 0.996459, 0.996491, 0.996523, 0.996555, 0.996587, 0.996619, + 0.996650, 0.996681, 0.996712, 0.996743, 0.996774, 0.996805, + 0.996836, 0.996866, 0.996896, 0.996926, 0.996956, 0.996986, + 0.997016, 0.997045, 0.997075, 0.997104, 0.997133, 0.997162, + 0.997191, 0.997219, 0.997248, 0.997276, 0.997305, 0.997333, + 0.997361, 0.997388, 0.997416, 0.997443, 0.997471, 0.997498, + 0.997525, 0.997552, 0.997579, 0.997605, 0.997632, 0.997658, + 0.997684, 0.997710, 0.997736, 0.997762, 0.997787, 0.997813, + 0.997838, 0.997863, 0.997888, 0.997913, 0.997938, 0.997962, + 0.997987, 0.998011, 0.998035, 0.998059, 0.998083, 0.998106, + 0.998130, 0.998153, 0.998176, 0.998200, 0.998222, 0.998245, + 0.998268, 0.998290, 0.998313, 0.998335, 0.998357, 0.998379, + 0.998401, 0.998422, 0.998444, 0.998465, 0.998486, 0.998507, + 0.998528, 0.998549, 0.998569, 0.998590, 0.998610, 0.998630, + 0.998650, 0.998670, 0.998690, 0.998709, 0.998729, 0.998748, + 0.998767, 0.998786, 0.998805, 0.998824, 0.998842, 0.998860, + 0.998879, 0.998897, 0.998915, 0.998932, 0.998950, 0.998968, + 0.998985, 0.999002, 0.999019, 0.999036, 0.999053, 0.999069, + 0.999086, 0.999102, 0.999118, 0.999134, 0.999150, 0.999166, + 0.999182, 0.999197, 0.999212, 0.999228, 0.999243, 0.999257, + 0.999272, 0.999287, 0.999301, 0.999315, 0.999329, 0.999343, + 0.999357, 0.999371, 0.999384, 0.999398, 0.999411, 0.999424, + 0.999437, 0.999450, 0.999462, 0.999475, 0.999487, 0.999500, + 0.999512, 0.999524, 0.999535, 0.999547, 0.999558, 0.999570, + 0.999581, 0.999592, 0.999603, 0.999614, 0.999624, 0.999635, + 0.999645, 0.999655, 0.999665, 0.999675, 0.999685, 0.999694, + 0.999704, 0.999713, 0.999722, 0.999731, 0.999740, 0.999748, + 0.999757, 0.999765, 0.999774, 0.999782, 0.999790, 0.999797, + 0.999805, 0.999812, 0.999820, 0.999827, 0.999834, 0.999841, + 0.999848, 0.999854, 0.999861, 0.999867, 0.999873, 0.999879, + 0.999885, 0.999891, 0.999897, 0.999902, 0.999907, 0.999912, + 0.999917, 0.999922, 0.999927, 0.999932, 0.999936, 0.999940, + 0.999944, 0.999948, 0.999952, 0.999956, 0.999959, 0.999963, + 0.999966, 0.999969, 0.999972, 0.999975, 0.999977, 0.999980, + 0.999982, 0.999985, 0.999987, 0.999989, 0.999990, 0.999992, + 0.999993, 0.999995, 0.999996, 0.999997, 0.999998, 0.999999, + 0.999999, 1.000000, 1.000000, 1.000000, +}; + float sinf_2048[] = { + 0.000383, 0.001150, 0.001917, 0.002684, 0.003451, 0.004218, + 0.004985, 0.005752, 0.006519, 0.007286, 0.008053, 0.008820, + 0.009587, 0.010354, 0.011121, 0.011888, 0.012655, 0.013422, + 0.014189, 0.014956, 0.015723, 0.016490, 0.017256, 0.018023, + 0.018790, 0.019557, 0.020324, 0.021091, 0.021857, 0.022624, + 0.023391, 0.024158, 0.024925, 0.025691, 0.026458, 0.027225, + 0.027991, 0.028758, 0.029525, 0.030291, 0.031058, 0.031825, + 0.032591, 0.033358, 0.034124, 0.034891, 0.035657, 0.036424, + 0.037190, 0.037957, 0.038723, 0.039490, 0.040256, 0.041022, + 0.041789, 0.042555, 0.043321, 0.044088, 0.044854, 0.045620, + 0.046386, 0.047152, 0.047919, 0.048685, 0.049451, 0.050217, + 0.050983, 0.051749, 0.052515, 0.053281, 0.054046, 0.054812, + 0.055578, 0.056344, 0.057110, 0.057875, 0.058641, 0.059407, + 0.060172, 0.060938, 0.061704, 0.062469, 0.063234, 0.064000, + 0.064765, 0.065531, 0.066296, 0.067061, 0.067827, 0.068592, + 0.069357, 0.070122, 0.070887, 0.071652, 0.072417, 0.073182, + 0.073947, 0.074712, 0.075477, 0.076241, 0.077006, 0.077771, + 0.078536, 0.079300, 0.080065, 0.080829, 0.081594, 0.082358, + 0.083122, 0.083887, 0.084651, 0.085415, 0.086179, 0.086943, + 0.087708, 0.088472, 0.089236, 0.089999, 0.090763, 0.091527, + 0.092291, 0.093055, 0.093818, 0.094582, 0.095345, 0.096109, + 0.096872, 0.097635, 0.098399, 0.099162, 0.099925, 0.100688, + 0.101451, 0.102214, 0.102977, 0.103740, 0.104503, 0.105266, + 0.106028, 0.106791, 0.107554, 0.108316, 0.109079, 0.109841, + 0.110603, 0.111366, 0.112128, 0.112890, 0.113652, 0.114414, + 0.115176, 0.115938, 0.116700, 0.117461, 0.118223, 0.118984, + 0.119746, 0.120507, 0.121269, 0.122030, 0.122791, 0.123552, + 0.124314, 0.125075, 0.125835, 0.126596, 0.127357, 0.128118, + 0.128878, 0.129639, 0.130399, 0.131160, 0.131920, 0.132680, + 0.133441, 0.134201, 0.134961, 0.135721, 0.136480, 0.137240, + 0.138000, 0.138760, 0.139519, 0.140279, 0.141038, 0.141797, + 0.142556, 0.143316, 0.144075, 0.144833, 0.145592, 0.146351, + 0.147110, 0.147868, 0.148627, 0.149385, 0.150144, 0.150902, + 0.151660, 0.152418, 0.153176, 0.153934, 0.154692, 0.155450, + 0.156207, 0.156965, 0.157722, 0.158480, 0.159237, 0.159994, + 0.160751, 0.161508, 0.162265, 0.163022, 0.163778, 0.164535, + 0.165291, 0.166048, 0.166804, 0.167560, 0.168316, 0.169072, + 0.169828, 0.170584, 0.171340, 0.172095, 0.172851, 0.173606, + 0.174362, 0.175117, 0.175872, 0.176627, 0.177382, 0.178136, + 0.178891, 0.179646, 0.180400, 0.181154, 0.181909, 0.182663, + 0.183417, 0.184171, 0.184925, 0.185678, 0.186432, 0.187185, + 0.187939, 0.188692, 0.189445, 0.190198, 0.190951, 0.191704, + 0.192457, 0.193209, 0.193962, 0.194714, 0.195466, 0.196219, + 0.196971, 0.197722, 0.198474, 0.199226, 0.199978, 0.200729, + 0.201480, 0.202231, 0.202983, 0.203734, 0.204484, 0.205235, + 0.205986, 0.206736, 0.207487, 0.208237, 0.208987, 0.209737, + 0.210487, 0.211236, 0.211986, 0.212736, 0.213485, 0.214234, + 0.214983, 0.215732, 0.216481, 0.217230, 0.217979, 0.218727, + 0.219475, 0.220224, 0.220972, 0.221720, 0.222468, 0.223215, + 0.223963, 0.224710, 0.225458, 0.226205, 0.226952, 0.227699, + 0.228445, 0.229192, 0.229939, 0.230685, 0.231431, 0.232177, + 0.232923, 0.233669, 0.234415, 0.235160, 0.235906, 0.236651, + 0.237396, 0.238141, 0.238886, 0.239631, 0.240375, 0.241120, + 0.241864, 0.242608, 0.243352, 0.244096, 0.244840, 0.245583, + 0.246327, 0.247070, 0.247813, 0.248556, 0.249299, 0.250042, + 0.250784, 0.251527, 0.252269, 0.253011, 0.253753, 0.254495, + 0.255236, 0.255978, 0.256719, 0.257461, 0.258202, 0.258943, + 0.259683, 0.260424, 0.261164, 0.261905, 0.262645, 0.263385, + 0.264125, 0.264864, 0.265604, 0.266343, 0.267082, 0.267821, + 0.268560, 0.269299, 0.270038, 0.270776, 0.271514, 0.272252, + 0.272990, 0.273728, 0.274466, 0.275203, 0.275940, 0.276678, + 0.277415, 0.278151, 0.278888, 0.279624, 0.280361, 0.281097, + 0.281833, 0.282569, 0.283304, 0.284040, 0.284775, 0.285510, + 0.286245, 0.286980, 0.287715, 0.288449, 0.289184, 0.289918, + 0.290652, 0.291385, 0.292119, 0.292853, 0.293586, 0.294319, + 0.295052, 0.295785, 0.296517, 0.297250, 0.297982, 0.298714, + 0.299446, 0.300177, 0.300909, 0.301640, 0.302372, 0.303103, + 0.303833, 0.304564, 0.305294, 0.306025, 0.306755, 0.307485, + 0.308214, 0.308944, 0.309673, 0.310403, 0.311132, 0.311860, + 0.312589, 0.313318, 0.314046, 0.314774, 0.315502, 0.316230, + 0.316957, 0.317684, 0.318412, 0.319139, 0.319865, 0.320592, + 0.321318, 0.322045, 0.322771, 0.323497, 0.324222, 0.324948, + 0.325673, 0.326398, 0.327123, 0.327848, 0.328572, 0.329296, + 0.330020, 0.330744, 0.331468, 0.332192, 0.332915, 0.333638, + 0.334361, 0.335084, 0.335806, 0.336529, 0.337251, 0.337973, + 0.338695, 0.339416, 0.340138, 0.340859, 0.341580, 0.342300, + 0.343021, 0.343741, 0.344461, 0.345181, 0.345901, 0.346621, + 0.347340, 0.348059, 0.348778, 0.349497, 0.350215, 0.350934, + 0.351652, 0.352370, 0.353087, 0.353805, 0.354522, 0.355239, + 0.355956, 0.356673, 0.357389, 0.358105, 0.358821, 0.359537, + 0.360253, 0.360968, 0.361683, 0.362398, 0.363113, 0.363828, + 0.364542, 0.365256, 0.365970, 0.366684, 0.367397, 0.368110, + 0.368823, 0.369536, 0.370249, 0.370961, 0.371673, 0.372385, + 0.373097, 0.373808, 0.374520, 0.375231, 0.375942, 0.376652, + 0.377363, 0.378073, 0.378783, 0.379492, 0.380202, 0.380911, + 0.381620, 0.382329, 0.383038, 0.383746, 0.384454, 0.385162, + 0.385870, 0.386577, 0.387285, 0.387992, 0.388698, 0.389405, + 0.390111, 0.390817, 0.391523, 0.392229, 0.392934, 0.393640, + 0.394344, 0.395049, 0.395754, 0.396458, 0.397162, 0.397866, + 0.398569, 0.399273, 0.399976, 0.400679, 0.401381, 0.402084, + 0.402786, 0.403488, 0.404189, 0.404891, 0.405592, 0.406293, + 0.406994, 0.407694, 0.408394, 0.409094, 0.409794, 0.410494, + 0.411193, 0.411892, 0.412591, 0.413289, 0.413987, 0.414685, + 0.415383, 0.416081, 0.416778, 0.417475, 0.418172, 0.418869, + 0.419565, 0.420261, 0.420957, 0.421653, 0.422348, 0.423043, + 0.423738, 0.424432, 0.425127, 0.425821, 0.426515, 0.427208, + 0.427902, 0.428595, 0.429288, 0.429980, 0.430673, 0.431365, + 0.432057, 0.432748, 0.433439, 0.434131, 0.434821, 0.435512, + 0.436202, 0.436892, 0.437582, 0.438272, 0.438961, 0.439650, + 0.440339, 0.441027, 0.441715, 0.442403, 0.443091, 0.443779, + 0.444466, 0.445153, 0.445839, 0.446526, 0.447212, 0.447898, + 0.448583, 0.449269, 0.449954, 0.450639, 0.451323, 0.452008, + 0.452692, 0.453375, 0.454059, 0.454742, 0.455425, 0.456108, + 0.456790, 0.457472, 0.458154, 0.458836, 0.459517, 0.460198, + 0.460879, 0.461560, 0.462240, 0.462920, 0.463600, 0.464279, + 0.464958, 0.465637, 0.466316, 0.466994, 0.467672, 0.468350, + 0.469028, 0.469705, 0.470382, 0.471058, 0.471735, 0.472411, + 0.473087, 0.473763, 0.474438, 0.475113, 0.475788, 0.476462, + 0.477136, 0.477810, 0.478484, 0.479157, 0.479830, 0.480503, + 0.481176, 0.481848, 0.482520, 0.483191, 0.483863, 0.484534, + 0.485205, 0.485875, 0.486545, 0.487215, 0.487885, 0.488554, + 0.489223, 0.489892, 0.490561, 0.491229, 0.491897, 0.492564, + 0.493232, 0.493899, 0.494566, 0.495232, 0.495898, 0.496564, + 0.497230, 0.497895, 0.498560, 0.499225, 0.499889, 0.500553, + 0.501217, 0.501881, 0.502544, 0.503207, 0.503870, 0.504532, + 0.505194, 0.505856, 0.506517, 0.507179, 0.507839, 0.508500, + 0.509160, 0.509820, 0.510480, 0.511139, 0.511798, 0.512457, + 0.513116, 0.513774, 0.514432, 0.515089, 0.515746, 0.516403, + 0.517060, 0.517716, 0.518372, 0.519028, 0.519684, 0.520339, + 0.520994, 0.521648, 0.522302, 0.522956, 0.523610, 0.524263, + 0.524916, 0.525569, 0.526221, 0.526873, 0.527525, 0.528176, + 0.528827, 0.529478, 0.530129, 0.530779, 0.531429, 0.532078, + 0.532728, 0.533377, 0.534025, 0.534674, 0.535322, 0.535969, + 0.536617, 0.537264, 0.537910, 0.538557, 0.539203, 0.539849, + 0.540494, 0.541139, 0.541784, 0.542429, 0.543073, 0.543717, + 0.544360, 0.545004, 0.545646, 0.546289, 0.546931, 0.547573, + 0.548215, 0.548856, 0.549497, 0.550138, 0.550778, 0.551418, + 0.552058, 0.552697, 0.553336, 0.553975, 0.554613, 0.555251, + 0.555889, 0.556526, 0.557164, 0.557800, 0.558437, 0.559073, + 0.559709, 0.560344, 0.560979, 0.561614, 0.562248, 0.562882, + 0.563516, 0.564150, 0.564783, 0.565416, 0.566048, 0.566680, + 0.567312, 0.567943, 0.568574, 0.569205, 0.569836, 0.570466, + 0.571096, 0.571725, 0.572354, 0.572983, 0.573611, 0.574239, + 0.574867, 0.575495, 0.576122, 0.576748, 0.577375, 0.578001, + 0.578627, 0.579252, 0.579877, 0.580502, 0.581126, 0.581750, + 0.582374, 0.582997, 0.583620, 0.584243, 0.584865, 0.585487, + 0.586109, 0.586730, 0.587351, 0.587971, 0.588592, 0.589212, + 0.589831, 0.590450, 0.591069, 0.591688, 0.592306, 0.592924, + 0.593541, 0.594158, 0.594775, 0.595391, 0.596007, 0.596623, + 0.597238, 0.597853, 0.598468, 0.599082, 0.599696, 0.600310, + 0.600923, 0.601536, 0.602148, 0.602761, 0.603372, 0.603984, + 0.604595, 0.605206, 0.605816, 0.606426, 0.607036, 0.607645, + 0.608254, 0.608863, 0.609471, 0.610079, 0.610687, 0.611294, + 0.611901, 0.612507, 0.613113, 0.613719, 0.614324, 0.614929, + 0.615534, 0.616138, 0.616742, 0.617346, 0.617949, 0.618552, + 0.619154, 0.619756, 0.620358, 0.620959, 0.621560, 0.622161, + 0.622761, 0.623361, 0.623961, 0.624560, 0.625159, 0.625757, + 0.626355, 0.626953, 0.627550, 0.628147, 0.628744, 0.629340, + 0.629936, 0.630532, 0.631127, 0.631721, 0.632316, 0.632910, + 0.633504, 0.634097, 0.634690, 0.635282, 0.635874, 0.636466, + 0.637058, 0.637649, 0.638239, 0.638829, 0.639419, 0.640009, + 0.640598, 0.641187, 0.641775, 0.642363, 0.642951, 0.643538, + 0.644125, 0.644711, 0.645298, 0.645883, 0.646469, 0.647054, + 0.647638, 0.648222, 0.648806, 0.649390, 0.649973, 0.650555, + 0.651138, 0.651720, 0.652301, 0.652882, 0.653463, 0.654044, + 0.654624, 0.655203, 0.655782, 0.656361, 0.656940, 0.657518, + 0.658095, 0.658673, 0.659250, 0.659826, 0.660402, 0.660978, + 0.661553, 0.662128, 0.662703, 0.663277, 0.663851, 0.664424, + 0.664997, 0.665570, 0.666142, 0.666714, 0.667286, 0.667857, + 0.668427, 0.668998, 0.669567, 0.670137, 0.670706, 0.671275, + 0.671843, 0.672411, 0.672978, 0.673546, 0.674112, 0.674679, + 0.675245, 0.675810, 0.676375, 0.676940, 0.677504, 0.678068, + 0.678632, 0.679195, 0.679758, 0.680320, 0.680882, 0.681443, + 0.682005, 0.682565, 0.683126, 0.683686, 0.684245, 0.684804, + 0.685363, 0.685921, 0.686479, 0.687037, 0.687594, 0.688151, + 0.688707, 0.689263, 0.689818, 0.690373, 0.690928, 0.691482, + 0.692036, 0.692590, 0.693143, 0.693695, 0.694248, 0.694799, + 0.695351, 0.695902, 0.696452, 0.697003, 0.697552, 0.698102, + 0.698651, 0.699199, 0.699747, 0.700295, 0.700842, 0.701389, + 0.701936, 0.702482, 0.703028, 0.703573, 0.704118, 0.704662, + 0.705206, 0.705750, 0.706293, 0.706836, 0.707378, 0.707920, + 0.708461, 0.709002, 0.709543, 0.710083, 0.710623, 0.711163, + 0.711702, 0.712240, 0.712778, 0.713316, 0.713853, 0.714390, + 0.714927, 0.715463, 0.715999, 0.716534, 0.717069, 0.717603, + 0.718137, 0.718671, 0.719204, 0.719736, 0.720269, 0.720800, + 0.721332, 0.721863, 0.722393, 0.722924, 0.723453, 0.723983, + 0.724511, 0.725040, 0.725568, 0.726096, 0.726623, 0.727149, + 0.727676, 0.728202, 0.728727, 0.729252, 0.729777, 0.730301, + 0.730825, 0.731348, 0.731871, 0.732393, 0.732915, 0.733437, + 0.733958, 0.734479, 0.734999, 0.735519, 0.736038, 0.736557, + 0.737076, 0.737594, 0.738112, 0.738629, 0.739146, 0.739662, + 0.740178, 0.740694, 0.741209, 0.741723, 0.742237, 0.742751, + 0.743265, 0.743777, 0.744290, 0.744802, 0.745314, 0.745825, + 0.746335, 0.746846, 0.747355, 0.747865, 0.748374, 0.748882, + 0.749390, 0.749898, 0.750405, 0.750912, 0.751418, 0.751924, + 0.752429, 0.752934, 0.753439, 0.753943, 0.754447, 0.754950, + 0.755453, 0.755955, 0.756457, 0.756958, 0.757459, 0.757960, + 0.758460, 0.758960, 0.759459, 0.759957, 0.760456, 0.760954, + 0.761451, 0.761948, 0.762445, 0.762941, 0.763436, 0.763931, + 0.764426, 0.764920, 0.765414, 0.765907, 0.766400, 0.766893, + 0.767385, 0.767876, 0.768368, 0.768858, 0.769348, 0.769838, + 0.770327, 0.770816, 0.771305, 0.771793, 0.772280, 0.772767, + 0.773254, 0.773740, 0.774225, 0.774711, 0.775195, 0.775680, + 0.776164, 0.776647, 0.777130, 0.777612, 0.778094, 0.778576, + 0.779057, 0.779538, 0.780018, 0.780498, 0.780977, 0.781456, + 0.781934, 0.782412, 0.782889, 0.783366, 0.783843, 0.784319, + 0.784794, 0.785269, 0.785744, 0.786218, 0.786692, 0.787165, + 0.787638, 0.788110, 0.788582, 0.789054, 0.789525, 0.789995, + 0.790465, 0.790935, 0.791404, 0.791872, 0.792341, 0.792808, + 0.793275, 0.793742, 0.794209, 0.794674, 0.795140, 0.795605, + 0.796069, 0.796533, 0.796996, 0.797460, 0.797922, 0.798384, + 0.798846, 0.799307, 0.799768, 0.800228, 0.800687, 0.801147, + 0.801606, 0.802064, 0.802522, 0.802979, 0.803436, 0.803892, + 0.804348, 0.804804, 0.805259, 0.805713, 0.806167, 0.806621, + 0.807074, 0.807527, 0.807979, 0.808431, 0.808882, 0.809332, + 0.809783, 0.810232, 0.810682, 0.811131, 0.811579, 0.812027, + 0.812474, 0.812921, 0.813368, 0.813814, 0.814259, 0.814704, + 0.815149, 0.815593, 0.816036, 0.816479, 0.816922, 0.817364, + 0.817806, 0.818247, 0.818687, 0.819128, 0.819567, 0.820007, + 0.820445, 0.820884, 0.821321, 0.821759, 0.822195, 0.822632, + 0.823068, 0.823503, 0.823938, 0.824372, 0.824806, 0.825240, + 0.825673, 0.826105, 0.826537, 0.826968, 0.827399, 0.827830, + 0.828260, 0.828690, 0.829119, 0.829547, 0.829975, 0.830403, + 0.830830, 0.831256, 0.831683, 0.832108, 0.832533, 0.832958, + 0.833382, 0.833806, 0.834229, 0.834652, 0.835074, 0.835496, + 0.835917, 0.836338, 0.836758, 0.837178, 0.837597, 0.838016, + 0.838434, 0.838852, 0.839269, 0.839686, 0.840102, 0.840518, + 0.840933, 0.841348, 0.841762, 0.842176, 0.842589, 0.843002, + 0.843414, 0.843826, 0.844237, 0.844648, 0.845059, 0.845469, + 0.845878, 0.846287, 0.846695, 0.847103, 0.847510, 0.847917, + 0.848323, 0.848729, 0.849135, 0.849540, 0.849944, 0.850348, + 0.850751, 0.851154, 0.851556, 0.851958, 0.852360, 0.852760, + 0.853161, 0.853561, 0.853960, 0.854359, 0.854757, 0.855155, + 0.855552, 0.855949, 0.856345, 0.856741, 0.857137, 0.857531, + 0.857926, 0.858319, 0.858713, 0.859106, 0.859498, 0.859890, + 0.860281, 0.860672, 0.861062, 0.861452, 0.861841, 0.862230, + 0.862618, 0.863006, 0.863393, 0.863780, 0.864166, 0.864552, + 0.864937, 0.865321, 0.865706, 0.866089, 0.866472, 0.866855, + 0.867237, 0.867619, 0.868000, 0.868381, 0.868761, 0.869140, + 0.869519, 0.869898, 0.870276, 0.870653, 0.871031, 0.871407, + 0.871783, 0.872159, 0.872533, 0.872908, 0.873282, 0.873655, + 0.874028, 0.874401, 0.874773, 0.875144, 0.875515, 0.875885, + 0.876255, 0.876624, 0.876993, 0.877361, 0.877729, 0.878096, + 0.878463, 0.878829, 0.879195, 0.879560, 0.879925, 0.880289, + 0.880653, 0.881016, 0.881378, 0.881740, 0.882102, 0.882463, + 0.882824, 0.883184, 0.883543, 0.883902, 0.884260, 0.884618, + 0.884976, 0.885333, 0.885689, 0.886045, 0.886400, 0.886755, + 0.887109, 0.887463, 0.887816, 0.888169, 0.888521, 0.888873, + 0.889224, 0.889574, 0.889925, 0.890274, 0.890623, 0.890972, + 0.891320, 0.891667, 0.892014, 0.892361, 0.892706, 0.893052, + 0.893397, 0.893741, 0.894085, 0.894428, 0.894771, 0.895113, + 0.895455, 0.895796, 0.896137, 0.896477, 0.896816, 0.897155, + 0.897494, 0.897832, 0.898169, 0.898506, 0.898843, 0.899178, + 0.899514, 0.899849, 0.900183, 0.900517, 0.900850, 0.901183, + 0.901515, 0.901847, 0.902178, 0.902508, 0.902838, 0.903168, + 0.903497, 0.903825, 0.904153, 0.904481, 0.904807, 0.905134, + 0.905460, 0.905785, 0.906110, 0.906434, 0.906757, 0.907081, + 0.907403, 0.907725, 0.908047, 0.908368, 0.908688, 0.909008, + 0.909328, 0.909646, 0.909965, 0.910283, 0.910600, 0.910917, + 0.911233, 0.911548, 0.911864, 0.912178, 0.912492, 0.912806, + 0.913119, 0.913431, 0.913743, 0.914054, 0.914365, 0.914675, + 0.914985, 0.915294, 0.915603, 0.915911, 0.916219, 0.916526, + 0.916832, 0.917138, 0.917444, 0.917749, 0.918053, 0.918357, + 0.918660, 0.918963, 0.919265, 0.919567, 0.919868, 0.920168, + 0.920468, 0.920768, 0.921067, 0.921365, 0.921663, 0.921960, + 0.922257, 0.922553, 0.922849, 0.923144, 0.923439, 0.923733, + 0.924026, 0.924319, 0.924612, 0.924904, 0.925195, 0.925486, + 0.925776, 0.926066, 0.926355, 0.926643, 0.926931, 0.927219, + 0.927506, 0.927792, 0.928078, 0.928364, 0.928648, 0.928933, + 0.929216, 0.929500, 0.929782, 0.930064, 0.930346, 0.930627, + 0.930907, 0.931187, 0.931466, 0.931745, 0.932023, 0.932301, + 0.932578, 0.932855, 0.933131, 0.933406, 0.933681, 0.933956, + 0.934229, 0.934503, 0.934775, 0.935048, 0.935319, 0.935590, + 0.935861, 0.936131, 0.936400, 0.936669, 0.936938, 0.937205, + 0.937473, 0.937739, 0.938005, 0.938271, 0.938536, 0.938800, + 0.939064, 0.939328, 0.939591, 0.939853, 0.940115, 0.940376, + 0.940636, 0.940896, 0.941156, 0.941415, 0.941673, 0.941931, + 0.942188, 0.942445, 0.942701, 0.942957, 0.943212, 0.943466, + 0.943720, 0.943974, 0.944227, 0.944479, 0.944731, 0.944982, + 0.945232, 0.945483, 0.945732, 0.945981, 0.946229, 0.946477, + 0.946724, 0.946971, 0.947217, 0.947463, 0.947708, 0.947953, + 0.948196, 0.948440, 0.948683, 0.948925, 0.949167, 0.949408, + 0.949648, 0.949888, 0.950128, 0.950367, 0.950605, 0.950843, + 0.951080, 0.951317, 0.951553, 0.951789, 0.952024, 0.952258, + 0.952492, 0.952725, 0.952958, 0.953190, 0.953422, 0.953653, + 0.953883, 0.954113, 0.954343, 0.954572, 0.954800, 0.955028, + 0.955255, 0.955481, 0.955707, 0.955933, 0.956158, 0.956382, + 0.956606, 0.956829, 0.957052, 0.957274, 0.957495, 0.957716, + 0.957937, 0.958156, 0.958376, 0.958594, 0.958812, 0.959030, + 0.959247, 0.959463, 0.959679, 0.959895, 0.960109, 0.960324, + 0.960537, 0.960750, 0.960963, 0.961175, 0.961386, 0.961597, + 0.961807, 0.962017, 0.962226, 0.962434, 0.962642, 0.962850, + 0.963057, 0.963263, 0.963469, 0.963674, 0.963878, 0.964082, + 0.964286, 0.964489, 0.964691, 0.964893, 0.965094, 0.965294, + 0.965494, 0.965694, 0.965893, 0.966091, 0.966289, 0.966486, + 0.966683, 0.966879, 0.967074, 0.967269, 0.967463, 0.967657, + 0.967850, 0.968043, 0.968235, 0.968427, 0.968617, 0.968808, + 0.968998, 0.969187, 0.969375, 0.969564, 0.969751, 0.969938, + 0.970124, 0.970310, 0.970495, 0.970680, 0.970864, 0.971048, + 0.971231, 0.971413, 0.971595, 0.971776, 0.971957, 0.972137, + 0.972316, 0.972495, 0.972673, 0.972851, 0.973028, 0.973205, + 0.973381, 0.973557, 0.973732, 0.973906, 0.974080, 0.974253, + 0.974426, 0.974598, 0.974769, 0.974940, 0.975110, 0.975280, + 0.975449, 0.975618, 0.975786, 0.975954, 0.976120, 0.976287, + 0.976453, 0.976618, 0.976782, 0.976946, 0.977110, 0.977273, + 0.977435, 0.977597, 0.977758, 0.977918, 0.978078, 0.978238, + 0.978397, 0.978555, 0.978713, 0.978870, 0.979026, 0.979182, + 0.979338, 0.979493, 0.979647, 0.979800, 0.979954, 0.980106, + 0.980258, 0.980409, 0.980560, 0.980710, 0.980860, 0.981009, + 0.981158, 0.981305, 0.981453, 0.981600, 0.981746, 0.981891, + 0.982036, 0.982181, 0.982325, 0.982468, 0.982611, 0.982753, + 0.982894, 0.983035, 0.983176, 0.983315, 0.983455, 0.983593, + 0.983731, 0.983869, 0.984006, 0.984142, 0.984278, 0.984413, + 0.984548, 0.984682, 0.984815, 0.984948, 0.985080, 0.985212, + 0.985343, 0.985474, 0.985604, 0.985733, 0.985862, 0.985990, + 0.986118, 0.986245, 0.986371, 0.986497, 0.986623, 0.986747, + 0.986871, 0.986995, 0.987118, 0.987240, 0.987362, 0.987484, + 0.987604, 0.987724, 0.987844, 0.987963, 0.988081, 0.988199, + 0.988316, 0.988433, 0.988549, 0.988664, 0.988779, 0.988893, + 0.989007, 0.989120, 0.989233, 0.989345, 0.989456, 0.989567, + 0.989677, 0.989787, 0.989896, 0.990004, 0.990112, 0.990219, + 0.990326, 0.990432, 0.990538, 0.990643, 0.990747, 0.990851, + 0.990954, 0.991057, 0.991159, 0.991260, 0.991361, 0.991462, + 0.991561, 0.991660, 0.991759, 0.991857, 0.991954, 0.992051, + 0.992147, 0.992243, 0.992338, 0.992433, 0.992526, 0.992620, + 0.992712, 0.992805, 0.992896, 0.992987, 0.993077, 0.993167, + 0.993256, 0.993345, 0.993433, 0.993521, 0.993607, 0.993694, + 0.993779, 0.993865, 0.993949, 0.994033, 0.994116, 0.994199, + 0.994281, 0.994363, 0.994444, 0.994525, 0.994604, 0.994684, + 0.994762, 0.994840, 0.994918, 0.994995, 0.995071, 0.995147, + 0.995222, 0.995297, 0.995371, 0.995444, 0.995517, 0.995589, + 0.995661, 0.995732, 0.995803, 0.995872, 0.995942, 0.996011, + 0.996079, 0.996146, 0.996213, 0.996280, 0.996345, 0.996411, + 0.996475, 0.996539, 0.996603, 0.996666, 0.996728, 0.996790, + 0.996851, 0.996911, 0.996971, 0.997031, 0.997089, 0.997148, + 0.997205, 0.997262, 0.997319, 0.997374, 0.997430, 0.997484, + 0.997538, 0.997592, 0.997645, 0.997697, 0.997749, 0.997800, + 0.997851, 0.997901, 0.997950, 0.997999, 0.998047, 0.998095, + 0.998142, 0.998188, 0.998234, 0.998279, 0.998324, 0.998368, + 0.998411, 0.998454, 0.998497, 0.998538, 0.998580, 0.998620, + 0.998660, 0.998700, 0.998738, 0.998777, 0.998814, 0.998851, + 0.998888, 0.998924, 0.998959, 0.998994, 0.999028, 0.999061, + 0.999094, 0.999126, 0.999158, 0.999189, 0.999220, 0.999250, + 0.999279, 0.999308, 0.999336, 0.999364, 0.999391, 0.999418, + 0.999443, 0.999469, 0.999493, 0.999518, 0.999541, 0.999564, + 0.999586, 0.999608, 0.999629, 0.999650, 0.999670, 0.999689, + 0.999708, 0.999726, 0.999744, 0.999761, 0.999778, 0.999793, + 0.999809, 0.999823, 0.999838, 0.999851, 0.999864, 0.999876, + 0.999888, 0.999899, 0.999910, 0.999920, 0.999929, 0.999938, + 0.999946, 0.999954, 0.999961, 0.999968, 0.999973, 0.999979, + 0.999983, 0.999988, 0.999991, 0.999994, 0.999996, 0.999998, + 0.999999, 1.000000, +}; + float sinf_1024[] = { + 0.000767, 0.002301, 0.003835, 0.005369, 0.006903, 0.008437, + 0.009971, 0.011505, 0.013038, 0.014572, 0.016106, 0.017640, + 0.019174, 0.020707, 0.022241, 0.023774, 0.025308, 0.026841, + 0.028375, 0.029908, 0.031441, 0.032975, 0.034508, 0.036041, + 0.037574, 0.039107, 0.040639, 0.042172, 0.043705, 0.045237, + 0.046769, 0.048302, 0.049834, 0.051366, 0.052898, 0.054429, + 0.055961, 0.057493, 0.059024, 0.060555, 0.062086, 0.063617, + 0.065148, 0.066679, 0.068209, 0.069739, 0.071270, 0.072800, + 0.074329, 0.075859, 0.077389, 0.078918, 0.080447, 0.081976, + 0.083505, 0.085033, 0.086561, 0.088090, 0.089617, 0.091145, + 0.092673, 0.094200, 0.095727, 0.097254, 0.098780, 0.100307, + 0.101833, 0.103359, 0.104884, 0.106410, 0.107935, 0.109460, + 0.110984, 0.112509, 0.114033, 0.115557, 0.117080, 0.118604, + 0.120127, 0.121649, 0.123172, 0.124694, 0.126216, 0.127737, + 0.129259, 0.130780, 0.132300, 0.133821, 0.135341, 0.136860, + 0.138380, 0.139899, 0.141418, 0.142936, 0.144454, 0.145972, + 0.147489, 0.149006, 0.150523, 0.152039, 0.153555, 0.155071, + 0.156586, 0.158101, 0.159615, 0.161129, 0.162643, 0.164157, + 0.165670, 0.167182, 0.168694, 0.170206, 0.171718, 0.173229, + 0.174739, 0.176249, 0.177759, 0.179268, 0.180777, 0.182286, + 0.183794, 0.185302, 0.186809, 0.188315, 0.189822, 0.191328, + 0.192833, 0.194338, 0.195843, 0.197347, 0.198850, 0.200353, + 0.201856, 0.203358, 0.204860, 0.206361, 0.207862, 0.209362, + 0.210862, 0.212361, 0.213860, 0.215358, 0.216856, 0.218353, + 0.219850, 0.221346, 0.222841, 0.224337, 0.225831, 0.227325, + 0.228819, 0.230312, 0.231804, 0.233296, 0.234788, 0.236278, + 0.237769, 0.239258, 0.240748, 0.242236, 0.243724, 0.245212, + 0.246698, 0.248185, 0.249670, 0.251155, 0.252640, 0.254124, + 0.255607, 0.257090, 0.258572, 0.260054, 0.261534, 0.263015, + 0.264494, 0.265973, 0.267452, 0.268930, 0.270407, 0.271883, + 0.273359, 0.274834, 0.276309, 0.277783, 0.279256, 0.280729, + 0.282201, 0.283672, 0.285143, 0.286613, 0.288082, 0.289551, + 0.291019, 0.292486, 0.293952, 0.295418, 0.296883, 0.298348, + 0.299812, 0.301275, 0.302737, 0.304199, 0.305660, 0.307120, + 0.308579, 0.310038, 0.311496, 0.312953, 0.314410, 0.315866, + 0.317321, 0.318775, 0.320229, 0.321682, 0.323134, 0.324585, + 0.326035, 0.327485, 0.328934, 0.330382, 0.331830, 0.333277, + 0.334723, 0.336168, 0.337612, 0.339055, 0.340498, 0.341940, + 0.343381, 0.344821, 0.346261, 0.347700, 0.349138, 0.350575, + 0.352011, 0.353446, 0.354881, 0.356314, 0.357747, 0.359179, + 0.360611, 0.362041, 0.363470, 0.364899, 0.366327, 0.367754, + 0.369180, 0.370605, 0.372029, 0.373453, 0.374875, 0.376297, + 0.377718, 0.379138, 0.380557, 0.381975, 0.383392, 0.384808, + 0.386224, 0.387638, 0.389052, 0.390464, 0.391876, 0.393287, + 0.394697, 0.396106, 0.397514, 0.398921, 0.400327, 0.401732, + 0.403137, 0.404540, 0.405942, 0.407344, 0.408744, 0.410144, + 0.411542, 0.412940, 0.414336, 0.415732, 0.417127, 0.418520, + 0.419913, 0.421305, 0.422695, 0.424085, 0.425474, 0.426862, + 0.428248, 0.429634, 0.431019, 0.432402, 0.433785, 0.435167, + 0.436547, 0.437927, 0.439305, 0.440683, 0.442059, 0.443435, + 0.444809, 0.446183, 0.447555, 0.448926, 0.450296, 0.451665, + 0.453033, 0.454400, 0.455766, 0.457131, 0.458495, 0.459858, + 0.461219, 0.462580, 0.463939, 0.465298, 0.466655, 0.468011, + 0.469366, 0.470720, 0.472073, 0.473425, 0.474775, 0.476125, + 0.477473, 0.478821, 0.480167, 0.481512, 0.482856, 0.484198, + 0.485540, 0.486880, 0.488220, 0.489558, 0.490895, 0.492231, + 0.493565, 0.494899, 0.496231, 0.497562, 0.498893, 0.500221, + 0.501549, 0.502876, 0.504201, 0.505525, 0.506848, 0.508170, + 0.509490, 0.510810, 0.512128, 0.513445, 0.514760, 0.516075, + 0.517388, 0.518700, 0.520011, 0.521321, 0.522629, 0.523937, + 0.525243, 0.526547, 0.527851, 0.529153, 0.530454, 0.531754, + 0.533052, 0.534349, 0.535645, 0.536940, 0.538234, 0.539526, + 0.540817, 0.542106, 0.543395, 0.544682, 0.545968, 0.547252, + 0.548536, 0.549817, 0.551098, 0.552378, 0.553656, 0.554932, + 0.556208, 0.557482, 0.558755, 0.560026, 0.561297, 0.562565, + 0.563833, 0.565099, 0.566364, 0.567628, 0.568890, 0.570151, + 0.571410, 0.572669, 0.573925, 0.575181, 0.576435, 0.577688, + 0.578939, 0.580189, 0.581438, 0.582685, 0.583931, 0.585176, + 0.586419, 0.587661, 0.588902, 0.590141, 0.591378, 0.592615, + 0.593850, 0.595083, 0.596315, 0.597546, 0.598775, 0.600003, + 0.601230, 0.602455, 0.603678, 0.604900, 0.606121, 0.607341, + 0.608559, 0.609775, 0.610990, 0.612204, 0.613416, 0.614627, + 0.615836, 0.617044, 0.618250, 0.619455, 0.620659, 0.621861, + 0.623061, 0.624260, 0.625458, 0.626654, 0.627849, 0.629042, + 0.630234, 0.631424, 0.632613, 0.633800, 0.634986, 0.636170, + 0.637353, 0.638534, 0.639714, 0.640892, 0.642069, 0.643244, + 0.644418, 0.645590, 0.646761, 0.647930, 0.649098, 0.650264, + 0.651429, 0.652592, 0.653753, 0.654913, 0.656072, 0.657229, + 0.658384, 0.659538, 0.660690, 0.661841, 0.662990, 0.664138, + 0.665284, 0.666428, 0.667571, 0.668713, 0.669852, 0.670990, + 0.672127, 0.673262, 0.674396, 0.675527, 0.676658, 0.677786, + 0.678913, 0.680039, 0.681163, 0.682285, 0.683406, 0.684525, + 0.685642, 0.686758, 0.687872, 0.688985, 0.690096, 0.691205, + 0.692313, 0.693419, 0.694523, 0.695626, 0.696728, 0.697827, + 0.698925, 0.700021, 0.701116, 0.702209, 0.703300, 0.704390, + 0.705478, 0.706564, 0.707649, 0.708732, 0.709813, 0.710893, + 0.711971, 0.713047, 0.714122, 0.715195, 0.716266, 0.717336, + 0.718404, 0.719470, 0.720535, 0.721597, 0.722659, 0.723718, + 0.724776, 0.725832, 0.726886, 0.727939, 0.728990, 0.730039, + 0.731086, 0.732132, 0.733176, 0.734218, 0.735259, 0.736298, + 0.737335, 0.738370, 0.739404, 0.740436, 0.741466, 0.742494, + 0.743521, 0.744546, 0.745569, 0.746591, 0.747610, 0.748628, + 0.749644, 0.750659, 0.751671, 0.752682, 0.753691, 0.754698, + 0.755704, 0.756708, 0.757710, 0.758710, 0.759708, 0.760705, + 0.761700, 0.762693, 0.763684, 0.764673, 0.765661, 0.766647, + 0.767631, 0.768613, 0.769593, 0.770572, 0.771549, 0.772524, + 0.773497, 0.774468, 0.775438, 0.776405, 0.777371, 0.778335, + 0.779297, 0.780258, 0.781216, 0.782173, 0.783128, 0.784081, + 0.785032, 0.785981, 0.786929, 0.787874, 0.788818, 0.789760, + 0.790700, 0.791638, 0.792574, 0.793509, 0.794442, 0.795372, + 0.796301, 0.797228, 0.798153, 0.799076, 0.799998, 0.800917, + 0.801835, 0.802750, 0.803664, 0.804576, 0.805486, 0.806394, + 0.807300, 0.808205, 0.809107, 0.810008, 0.810906, 0.811803, + 0.812698, 0.813591, 0.814482, 0.815371, 0.816258, 0.817143, + 0.818026, 0.818908, 0.819787, 0.820664, 0.821540, 0.822414, + 0.823285, 0.824155, 0.825023, 0.825889, 0.826753, 0.827615, + 0.828475, 0.829333, 0.830189, 0.831043, 0.831895, 0.832746, + 0.833594, 0.834440, 0.835285, 0.836127, 0.836968, 0.837806, + 0.838643, 0.839477, 0.840310, 0.841140, 0.841969, 0.842796, + 0.843620, 0.844443, 0.845264, 0.846082, 0.846899, 0.847714, + 0.848526, 0.849337, 0.850146, 0.850953, 0.851757, 0.852560, + 0.853361, 0.854159, 0.854956, 0.855751, 0.856543, 0.857334, + 0.858123, 0.858909, 0.859694, 0.860476, 0.861257, 0.862035, + 0.862812, 0.863586, 0.864359, 0.865129, 0.865898, 0.866664, + 0.867428, 0.868190, 0.868951, 0.869709, 0.870465, 0.871219, + 0.871971, 0.872721, 0.873469, 0.874215, 0.874958, 0.875700, + 0.876440, 0.877177, 0.877913, 0.878646, 0.879378, 0.880107, + 0.880834, 0.881559, 0.882283, 0.883004, 0.883723, 0.884439, + 0.885154, 0.885867, 0.886578, 0.887286, 0.887993, 0.888697, + 0.889399, 0.890099, 0.890798, 0.891494, 0.892187, 0.892879, + 0.893569, 0.894256, 0.894942, 0.895625, 0.896307, 0.896986, + 0.897663, 0.898338, 0.899011, 0.899681, 0.900350, 0.901016, + 0.901681, 0.902343, 0.903003, 0.903661, 0.904317, 0.904971, + 0.905622, 0.906272, 0.906919, 0.907564, 0.908207, 0.908848, + 0.909487, 0.910124, 0.910758, 0.911391, 0.912021, 0.912649, + 0.913275, 0.913899, 0.914520, 0.915140, 0.915757, 0.916372, + 0.916985, 0.917596, 0.918205, 0.918811, 0.919416, 0.920018, + 0.920618, 0.921216, 0.921812, 0.922405, 0.922997, 0.923586, + 0.924173, 0.924758, 0.925340, 0.925921, 0.926499, 0.927075, + 0.927649, 0.928221, 0.928791, 0.929358, 0.929923, 0.930486, + 0.931047, 0.931606, 0.932162, 0.932716, 0.933269, 0.933818, + 0.934366, 0.934912, 0.935455, 0.935996, 0.936535, 0.937071, + 0.937606, 0.938138, 0.938668, 0.939196, 0.939722, 0.940245, + 0.940766, 0.941285, 0.941802, 0.942317, 0.942829, 0.943339, + 0.943847, 0.944353, 0.944856, 0.945358, 0.945857, 0.946353, + 0.946848, 0.947340, 0.947830, 0.948318, 0.948804, 0.949287, + 0.949768, 0.950247, 0.950724, 0.951199, 0.951671, 0.952141, + 0.952609, 0.953074, 0.953537, 0.953998, 0.954457, 0.954914, + 0.955368, 0.955820, 0.956270, 0.956717, 0.957163, 0.957606, + 0.958047, 0.958485, 0.958921, 0.959355, 0.959787, 0.960217, + 0.960644, 0.961069, 0.961492, 0.961912, 0.962330, 0.962746, + 0.963160, 0.963571, 0.963980, 0.964387, 0.964792, 0.965194, + 0.965594, 0.965992, 0.966387, 0.966781, 0.967172, 0.967560, + 0.967947, 0.968331, 0.968713, 0.969092, 0.969470, 0.969845, + 0.970217, 0.970588, 0.970956, 0.971322, 0.971685, 0.972047, + 0.972406, 0.972762, 0.973117, 0.973469, 0.973819, 0.974166, + 0.974512, 0.974855, 0.975195, 0.975534, 0.975870, 0.976204, + 0.976535, 0.976864, 0.977191, 0.977516, 0.977838, 0.978158, + 0.978476, 0.978791, 0.979104, 0.979415, 0.979724, 0.980030, + 0.980334, 0.980635, 0.980935, 0.981232, 0.981526, 0.981819, + 0.982109, 0.982396, 0.982682, 0.982965, 0.983246, 0.983524, + 0.983800, 0.984074, 0.984346, 0.984615, 0.984882, 0.985146, + 0.985408, 0.985668, 0.985926, 0.986181, 0.986434, 0.986685, + 0.986933, 0.987179, 0.987423, 0.987664, 0.987903, 0.988140, + 0.988374, 0.988607, 0.988836, 0.989064, 0.989289, 0.989512, + 0.989732, 0.989950, 0.990166, 0.990379, 0.990590, 0.990799, + 0.991006, 0.991210, 0.991411, 0.991611, 0.991808, 0.992003, + 0.992195, 0.992385, 0.992573, 0.992759, 0.992942, 0.993122, + 0.993301, 0.993477, 0.993651, 0.993822, 0.993991, 0.994158, + 0.994322, 0.994484, 0.994644, 0.994802, 0.994957, 0.995109, + 0.995260, 0.995408, 0.995553, 0.995697, 0.995838, 0.995976, + 0.996113, 0.996247, 0.996378, 0.996507, 0.996634, 0.996759, + 0.996881, 0.997001, 0.997119, 0.997234, 0.997347, 0.997457, + 0.997565, 0.997671, 0.997774, 0.997876, 0.997974, 0.998071, + 0.998165, 0.998257, 0.998346, 0.998433, 0.998518, 0.998600, + 0.998680, 0.998758, 0.998833, 0.998906, 0.998976, 0.999045, + 0.999110, 0.999174, 0.999235, 0.999294, 0.999350, 0.999404, + 0.999456, 0.999506, 0.999553, 0.999597, 0.999640, 0.999680, + 0.999717, 0.999753, 0.999786, 0.999816, 0.999844, 0.999870, + 0.999894, 0.999915, 0.999934, 0.999950, 0.999964, 0.999976, + 0.999986, 0.999993, 0.999997, 1.000000, +}; + float sinf_512[] = { + 0.001534, 0.004602, 0.007670, 0.010738, 0.013805, 0.016873, + 0.019940, 0.023008, 0.026075, 0.029142, 0.032208, 0.035274, + 0.038340, 0.041406, 0.044471, 0.047535, 0.050600, 0.053664, + 0.056727, 0.059790, 0.062852, 0.065913, 0.068974, 0.072035, + 0.075094, 0.078153, 0.081211, 0.084269, 0.087326, 0.090381, + 0.093436, 0.096490, 0.099544, 0.102596, 0.105647, 0.108697, + 0.111747, 0.114795, 0.117842, 0.120888, 0.123933, 0.126977, + 0.130019, 0.133061, 0.136101, 0.139139, 0.142177, 0.145213, + 0.148248, 0.151281, 0.154313, 0.157343, 0.160372, 0.163400, + 0.166426, 0.169450, 0.172473, 0.175494, 0.178514, 0.181532, + 0.184548, 0.187562, 0.190575, 0.193586, 0.196595, 0.199602, + 0.202607, 0.205610, 0.208612, 0.211611, 0.214609, 0.217604, + 0.220598, 0.223589, 0.226578, 0.229565, 0.232550, 0.235533, + 0.238514, 0.241492, 0.244468, 0.247442, 0.250413, 0.253382, + 0.256349, 0.259313, 0.262275, 0.265234, 0.268191, 0.271145, + 0.274097, 0.277046, 0.279993, 0.282937, 0.285878, 0.288816, + 0.291752, 0.294685, 0.297616, 0.300543, 0.303468, 0.306390, + 0.309309, 0.312225, 0.315138, 0.318048, 0.320955, 0.323859, + 0.326760, 0.329658, 0.332553, 0.335445, 0.338334, 0.341219, + 0.344101, 0.346980, 0.349856, 0.352729, 0.355598, 0.358463, + 0.361326, 0.364185, 0.367040, 0.369892, 0.372741, 0.375586, + 0.378428, 0.381266, 0.384100, 0.386931, 0.389758, 0.392582, + 0.395401, 0.398218, 0.401030, 0.403838, 0.406643, 0.409444, + 0.412241, 0.415034, 0.417824, 0.420609, 0.423390, 0.426168, + 0.428941, 0.431711, 0.434476, 0.437237, 0.439994, 0.442747, + 0.445496, 0.448241, 0.450981, 0.453717, 0.456449, 0.459177, + 0.461900, 0.464619, 0.467333, 0.470043, 0.472749, 0.475450, + 0.478147, 0.480839, 0.483527, 0.486210, 0.488889, 0.491563, + 0.494232, 0.496897, 0.499557, 0.502212, 0.504863, 0.507509, + 0.510150, 0.512786, 0.515418, 0.518044, 0.520666, 0.523283, + 0.525895, 0.528502, 0.531104, 0.533701, 0.536293, 0.538880, + 0.541462, 0.544039, 0.546610, 0.549177, 0.551738, 0.554294, + 0.556845, 0.559391, 0.561931, 0.564466, 0.566996, 0.569521, + 0.572040, 0.574553, 0.577062, 0.579565, 0.582062, 0.584554, + 0.587040, 0.589521, 0.591997, 0.594467, 0.596931, 0.599389, + 0.601842, 0.604290, 0.606731, 0.609167, 0.611597, 0.614022, + 0.616440, 0.618853, 0.621260, 0.623661, 0.626056, 0.628446, + 0.630829, 0.633207, 0.635578, 0.637944, 0.640303, 0.642657, + 0.645005, 0.647346, 0.649681, 0.652011, 0.654334, 0.656651, + 0.658961, 0.661266, 0.663564, 0.665856, 0.668142, 0.670422, + 0.672695, 0.674962, 0.677222, 0.679476, 0.681724, 0.683965, + 0.686200, 0.688429, 0.690651, 0.692866, 0.695075, 0.697277, + 0.699473, 0.701663, 0.703845, 0.706021, 0.708191, 0.710353, + 0.712509, 0.714659, 0.716801, 0.718937, 0.721066, 0.723189, + 0.725304, 0.727413, 0.729514, 0.731609, 0.733697, 0.735779, + 0.737853, 0.739920, 0.741980, 0.744034, 0.746080, 0.748119, + 0.750152, 0.752177, 0.754195, 0.756206, 0.758210, 0.760207, + 0.762196, 0.764179, 0.766154, 0.768122, 0.770083, 0.772036, + 0.773983, 0.775922, 0.777853, 0.779778, 0.781695, 0.783605, + 0.785507, 0.787402, 0.789289, 0.791169, 0.793042, 0.794907, + 0.796765, 0.798615, 0.800458, 0.802293, 0.804120, 0.805940, + 0.807753, 0.809558, 0.811355, 0.813144, 0.814926, 0.816701, + 0.818467, 0.820226, 0.821977, 0.823721, 0.825456, 0.827184, + 0.828904, 0.830616, 0.832321, 0.834017, 0.835706, 0.837387, + 0.839060, 0.840725, 0.842383, 0.844032, 0.845673, 0.847307, + 0.848932, 0.850549, 0.852159, 0.853760, 0.855354, 0.856939, + 0.858516, 0.860085, 0.861646, 0.863199, 0.864744, 0.866281, + 0.867809, 0.869330, 0.870842, 0.872346, 0.873842, 0.875329, + 0.876809, 0.878280, 0.879743, 0.881197, 0.882643, 0.884081, + 0.885511, 0.886932, 0.888345, 0.889750, 0.891146, 0.892534, + 0.893913, 0.895284, 0.896646, 0.898001, 0.899346, 0.900683, + 0.902012, 0.903332, 0.904644, 0.905947, 0.907242, 0.908528, + 0.909806, 0.911075, 0.912335, 0.913587, 0.914830, 0.916065, + 0.917291, 0.918508, 0.919717, 0.920917, 0.922109, 0.923291, + 0.924465, 0.925631, 0.926787, 0.927935, 0.929075, 0.930205, + 0.931327, 0.932440, 0.933544, 0.934639, 0.935726, 0.936803, + 0.937872, 0.938932, 0.939984, 0.941026, 0.942060, 0.943084, + 0.944100, 0.945107, 0.946105, 0.947094, 0.948075, 0.949046, + 0.950008, 0.950962, 0.951906, 0.952842, 0.953768, 0.954686, + 0.955594, 0.956494, 0.957385, 0.958266, 0.959139, 0.960002, + 0.960857, 0.961702, 0.962538, 0.963366, 0.964184, 0.964993, + 0.965793, 0.966584, 0.967366, 0.968139, 0.968903, 0.969657, + 0.970403, 0.971139, 0.971866, 0.972584, 0.973293, 0.973993, + 0.974684, 0.975365, 0.976037, 0.976700, 0.977354, 0.977999, + 0.978634, 0.979260, 0.979877, 0.980485, 0.981083, 0.981673, + 0.982253, 0.982824, 0.983385, 0.983937, 0.984480, 0.985014, + 0.985539, 0.986054, 0.986560, 0.987057, 0.987544, 0.988022, + 0.988491, 0.988950, 0.989400, 0.989841, 0.990273, 0.990695, + 0.991108, 0.991511, 0.991906, 0.992291, 0.992666, 0.993032, + 0.993389, 0.993737, 0.994075, 0.994404, 0.994723, 0.995033, + 0.995334, 0.995625, 0.995907, 0.996180, 0.996443, 0.996697, + 0.996941, 0.997176, 0.997402, 0.997618, 0.997825, 0.998023, + 0.998211, 0.998390, 0.998559, 0.998719, 0.998870, 0.999011, + 0.999142, 0.999265, 0.999378, 0.999481, 0.999575, 0.999660, + 0.999735, 0.999801, 0.999858, 0.999905, 0.999942, 0.999971, + 0.999989, 0.999999, +}; + float sinf_256[] = { + 0.003068, 0.009204, 0.015339, 0.021474, 0.027608, 0.033741, + 0.039873, 0.046003, 0.052132, 0.058258, 0.064383, 0.070505, + 0.076624, 0.082740, 0.088854, 0.094963, 0.101070, 0.107172, + 0.113271, 0.119365, 0.125455, 0.131540, 0.137620, 0.143695, + 0.149765, 0.155828, 0.161886, 0.167938, 0.173984, 0.180023, + 0.186055, 0.192080, 0.198098, 0.204109, 0.210112, 0.216107, + 0.222094, 0.228072, 0.234042, 0.240003, 0.245955, 0.251898, + 0.257831, 0.263755, 0.269668, 0.275572, 0.281465, 0.287347, + 0.293219, 0.299080, 0.304929, 0.310767, 0.316593, 0.322408, + 0.328210, 0.334000, 0.339777, 0.345541, 0.351293, 0.357031, + 0.362756, 0.368467, 0.374164, 0.379847, 0.385516, 0.391170, + 0.396810, 0.402435, 0.408044, 0.413638, 0.419217, 0.424780, + 0.430326, 0.435857, 0.441371, 0.446869, 0.452350, 0.457813, + 0.463260, 0.468689, 0.474100, 0.479494, 0.484869, 0.490227, + 0.495565, 0.500885, 0.506187, 0.511469, 0.516732, 0.521975, + 0.527199, 0.532403, 0.537587, 0.542751, 0.547894, 0.553017, + 0.558119, 0.563199, 0.568259, 0.573297, 0.578314, 0.583309, + 0.588282, 0.593232, 0.598161, 0.603067, 0.607950, 0.612810, + 0.617647, 0.622461, 0.627252, 0.632019, 0.636762, 0.641481, + 0.646176, 0.650847, 0.655493, 0.660114, 0.664711, 0.669283, + 0.673829, 0.678350, 0.682846, 0.687315, 0.691759, 0.696177, + 0.700569, 0.704934, 0.709273, 0.713585, 0.717870, 0.722128, + 0.726359, 0.730563, 0.734739, 0.738887, 0.743008, 0.747101, + 0.751165, 0.755201, 0.759209, 0.763188, 0.767139, 0.771061, + 0.774953, 0.778817, 0.782651, 0.786455, 0.790230, 0.793975, + 0.797691, 0.801376, 0.805031, 0.808656, 0.812251, 0.815814, + 0.819348, 0.822850, 0.826321, 0.829761, 0.833170, 0.836548, + 0.839894, 0.843208, 0.846491, 0.849742, 0.852961, 0.856147, + 0.859302, 0.862424, 0.865514, 0.868571, 0.871595, 0.874587, + 0.877545, 0.880471, 0.883363, 0.886223, 0.889048, 0.891841, + 0.894600, 0.897325, 0.900016, 0.902673, 0.905297, 0.907886, + 0.910441, 0.912962, 0.915449, 0.917901, 0.920318, 0.922701, + 0.925049, 0.927363, 0.929641, 0.931884, 0.934093, 0.936266, + 0.938404, 0.940506, 0.942573, 0.944605, 0.946601, 0.948561, + 0.950486, 0.952375, 0.954228, 0.956045, 0.957826, 0.959571, + 0.961280, 0.962953, 0.964590, 0.966190, 0.967754, 0.969281, + 0.970772, 0.972226, 0.973644, 0.975025, 0.976370, 0.977677, + 0.978948, 0.980182, 0.981379, 0.982539, 0.983662, 0.984749, + 0.985798, 0.986809, 0.987784, 0.988722, 0.989622, 0.990485, + 0.991311, 0.992099, 0.992850, 0.993564, 0.994240, 0.994879, + 0.995481, 0.996045, 0.996571, 0.997060, 0.997511, 0.997925, + 0.998302, 0.998640, 0.998941, 0.999205, 0.999431, 0.999619, + 0.999769, 0.999882, 0.999958, 0.999995, +}; + float sinf_128[] = { + 0.006136, 0.018407, 0.030675, 0.042938, 0.055195, 0.067444, + 0.079682, 0.091909, 0.104122, 0.116319, 0.128498, 0.140658, + 0.152797, 0.164913, 0.177004, 0.189069, 0.201105, 0.213110, + 0.225084, 0.237024, 0.248928, 0.260794, 0.272621, 0.284408, + 0.296151, 0.307850, 0.319502, 0.331106, 0.342661, 0.354164, + 0.365613, 0.377007, 0.388345, 0.399624, 0.410843, 0.422000, + 0.433094, 0.444122, 0.455084, 0.465976, 0.476799, 0.487550, + 0.498228, 0.508830, 0.519356, 0.529804, 0.540171, 0.550458, + 0.560662, 0.570781, 0.580814, 0.590760, 0.600616, 0.610383, + 0.620057, 0.629638, 0.639124, 0.648514, 0.657807, 0.667000, + 0.676093, 0.685084, 0.693971, 0.702755, 0.711432, 0.720003, + 0.728464, 0.736817, 0.745058, 0.753187, 0.761202, 0.769103, + 0.776888, 0.784557, 0.792107, 0.799537, 0.806848, 0.814036, + 0.821103, 0.828045, 0.834863, 0.841555, 0.848120, 0.854558, + 0.860867, 0.867046, 0.873095, 0.879012, 0.884797, 0.890449, + 0.895966, 0.901349, 0.906596, 0.911706, 0.916679, 0.921514, + 0.926210, 0.930767, 0.935183, 0.939459, 0.943593, 0.947586, + 0.951435, 0.955141, 0.958703, 0.962121, 0.965394, 0.968522, + 0.971504, 0.974339, 0.977028, 0.979570, 0.981964, 0.984210, + 0.986308, 0.988258, 0.990058, 0.991710, 0.993212, 0.994565, + 0.995767, 0.996820, 0.997723, 0.998476, 0.999078, 0.999529, + 0.999831, 0.999981, +}; + + float * sinf_windows[] = { + NULL, NULL, NULL, NULL, NULL, NULL, //not used + sinf_128, sinf_256, sinf_512, sinf_1024, sinf_2048, sinf_4096 +}; Index: apps/codecs/libwmapro/mdct_tables.h =================================================================== --- apps/codecs/libwmapro/mdct_tables.h (revision 0) +++ apps/codecs/libwmapro/mdct_tables.h (revision 0) @@ -0,0 +1,1372 @@ +#include +#include "types.h" + +const FIXED sine_4096[] = { + 0xFFF9B782, 0xFFED2685, 0xFFE09587, 0xFFD4048A, 0xFFC7738D, 0xFFBAE291, + 0xFFAE5196, 0xFFA1C09B, 0xFF952FA1, 0xFF889EA8, 0xFF7C0DB1, 0xFF6F7CBB, + 0xFF62EBC5, 0xFF565AD3, 0xFF49C9E1, 0xFF3D38F0, 0xFF30A803, 0xFF241716, + 0xFF17862C, 0xFF0AF545, 0xFEFE645F, 0xFEF1D37C, 0xFEE5429B, 0xFED8B1BD, + 0xFECC20E4, 0xFEBF900C, 0xFEB2FF37, 0xFEA66E65, 0xFE99DD96, 0xFE8D4CCB, + 0xFE80BC06, 0xFE742B42, 0xFE679A82, 0xFE5B09C6, 0xFE4E790E, 0xFE41E85A, + 0xFE3557AD, 0xFE28C702, 0xFE1C365B, 0xFE0FA5B9, 0xFE03151C, 0xFDF68484, + 0xFDE9F3F3, 0xFDDD6363, 0xFDD0D2DC, 0xFDC4425A, 0xFDB7B1DB, 0xFDAB2164, + 0xFD9E90F0, 0xFD920085, 0xFD85701D, 0xFD78DFBE, 0xFD6C4F66, 0xFD5FBF10, + 0xFD532EC5, 0xFD469E7C, 0xFD3A0E3E, 0xFD2D7E07, 0xFD20EDD2, 0xFD145DA9, + 0xFD07CD83, 0xFCFB3D68, 0xFCEEAD51, 0xFCE21D46, 0xFCD58D42, 0xFCC8FD41, + 0xFCBC6D4D, 0xFCAFDD5D, 0xFCA34D79, 0xFC96BD9D, 0xFC8A2DC6, 0xFC7D9DFB, + 0xFC710E35, 0xFC647E7C, 0xFC57EEC8, 0xFC4B5F20, 0xFC3ECF82, 0xFC323FE9, + 0xFC25B05D, 0xFC1920D7, 0xFC0C915F, 0xFC0001F0, 0xFBF37287, 0xFBE6E329, + 0xFBDA53DC, 0xFBCDC491, 0xFBC13551, 0xFBB4A624, 0xFBA816F8, 0xFB9B87D8, + 0xFB8EF8C3, 0xFB8269C0, 0xFB75DAC1, 0xFB694BCC, 0xFB5CBCEB, 0xFB502E0E, + 0xFB439F3C, 0xFB371076, 0xFB2A81C3, 0xFB1DF315, 0xFB116472, 0xFB04D5E4, + 0xFAF8475A, 0xFAEBB8DC, 0xFADF2A73, 0xFAD29C0F, 0xFAC60DB7, 0xFAB97F6C, + 0xFAACF137, 0xFAA06306, 0xFA93D4E3, 0xFA8746D5, 0xFA7AB8CC, 0xFA6E2AD1, + 0xFA619CE4, 0xFA550F0D, 0xFA48813C, 0xFA3BF379, 0xFA2F65CC, 0xFA22D825, + 0xFA164A8D, 0xFA09BD04, 0xF9FD2F91, 0xF9F0A225, 0xF9E414C8, 0xF9D78782, + 0xF9CAFA43, 0xF9BE6D14, 0xF9B1DFFC, 0xF9A552EB, 0xF998C5EB, 0xF98C38FA, + 0xF97FAC21, 0xF9731F50, 0xF966928F, 0xF95A05E6, 0xF94D7946, 0xF940ECB6, + 0xF9346037, 0xF927D3D1, 0xF91B4774, 0xF90EBB28, 0xF9022EF4, 0xF8F5A2CA, + 0xF8E916B2, 0xF8DC8AAB, 0xF8CFFEBD, 0xF8C372DA, 0xF8B6E708, 0xF8AA5B50, + 0xF89DCFA2, 0xF8914407, 0xF884B885, 0xF8782D0F, 0xF86BA1AA, 0xF85F1659, + 0xF8528B22, 0xF845FFF6, 0xF83974DE, 0xF82CE9E0, 0xF8205EEE, 0xF813D40F, + 0xF8074944, 0xF7FABE95, 0xF7EE33F1, 0xF7E1A961, 0xF7D51EE5, 0xF7C8947E, + 0xF7BC0A3A, 0xF7AF7FFB, 0xF7A2F5D1, 0xF7966BBB, 0xF789E1BA, 0xF77D57CE, + 0xF770CDF7, 0xF7644445, 0xF757BA98, 0xF74B3100, 0xF73EA77E, 0xF7321E12, + 0xF72594BB, 0xF7190B7B, 0xF70C8260, 0xF6FFF94B, 0xF6F3704C, 0xF6E6E764, + 0xF6DA5E92, 0xF6CDD5D7, 0xF6C14D43, 0xF6B4C4B5, 0xF6A83C3E, 0xF69BB3DE, + 0xF68F2B96, 0xF682A365, 0xF6761B4B, 0xF6699358, 0xF65D0B6E, 0xF650839B, + 0xF643FBE0, 0xF637743D, 0xF62AECB2, 0xF61E6540, 0xF611DDF5, 0xF60556B4, + 0xF5F8CF8B, 0xF5EC487A, 0xF5DFC183, 0xF5D33AA4, 0xF5C6B3DF, 0xF5BA2D43, + 0xF5ADA6B0, 0xF5A12037, 0xF59499D7, 0xF5881391, 0xF57B8D65, 0xF56F0753, + 0xF562816B, 0xF555FB8D, 0xF54975C9, 0xF53CF020, 0xF5306A91, 0xF523E51D, + 0xF5175FC4, 0xF50ADA96, 0xF4FE5572, 0xF4F1D06A, 0xF4E54B7D, 0xF4D8C6AC, + 0xF4CC41F6, 0xF4BFBD5C, 0xF4B338ED, 0xF4A6B48B, 0xF49A3044, 0xF48DAC1A, + 0xF481280B, 0xF474A41A, 0xF4682054, 0xF45B9C9B, 0xF44F18FF, 0xF4429580, + 0xF436121E, 0xF4298ED9, 0xF41D0BB1, 0xF41088B6, 0xF40405C9, 0xF3F782F9, + 0xF3EB0047, 0xF3DE7DB3, 0xF3D1FB3D, 0xF3C578E5, 0xF3B8F6BB, 0xF3AC749F, + 0xF39FF2A2, 0xF39370C3, 0xF386EF03, 0xF37A6D62, 0xF36DEBE0, 0xF3616A8C, + 0xF354E948, 0xF3486823, 0xF33BE71E, 0xF32F6638, 0xF322E571, 0xF31664CA, + 0xF309E453, 0xF2FD63ED, 0xF2F0E3A6, 0xF2E4637F, 0xF2D7E379, 0xF2CB6393, + 0xF2BEE3CE, 0xF2B2643A, 0xF2A5E4B6, 0xF2996553, 0xF28CE612, 0xF28066F1, + 0xF273E7F2, 0xF2676924, 0xF25AEA68, 0xF24E6BCE, 0xF241ED55, 0xF2356EFE, + 0xF228F0C9, 0xF21C72B7, 0xF20FF4D6, 0xF2037708, 0xF1F6F95D, 0xF1EA7BD4, + 0xF1DDFE6E, 0xF1D1812B, 0xF1C5040B, 0xF1B8871D, 0xF1AC0A43, 0xF19F8D8D, + 0xF19310FA, 0xF186948A, 0xF17A183F, 0xF16D9C17, 0xF1612023, 0xF154A443, + 0xF1482887, 0xF13BACF0, 0xF12F317D, 0xF122B62F, 0xF1163B05, 0xF109C010, + 0xF0FD4530, 0xF0F0CA75, 0xF0E44FDF, 0xF0D7D56F, 0xF0CB5B24, 0xF0BEE0FE, + 0xF0B2670E, 0xF0A5ED34, 0xF0997380, 0xF08CF9F1, 0xF0808089, 0xF0740747, + 0xF0678E2C, 0xF05B1546, 0xF04E9C78, 0xF04223D0, 0xF035AB4F, 0xF02932F5, + 0xF01CBAC2, 0xF01042C6, 0xF003CAE2, 0xEFF75325, 0xEFEADB90, 0xEFDE6422, + 0xEFD1ECDC, 0xEFC575BE, 0xEFB8FEC8, 0xEFAC87FB, 0xEFA01155, 0xEF939AD8, + 0xEF8724A3, 0xEF7AAE77, 0xEF6E3874, 0xEF61C29A, 0xEF554CE9, 0xEF48D761, + 0xEF3C6202, 0xEF2FECCC, 0xEF2377C0, 0xEF1702DE, 0xEF0A8E25, 0xEEFE1996, + 0xEEF1A531, 0xEEE53116, 0xEED8BD06, 0xEECC491F, 0xEEBFD563, 0xEEB361D2, + 0xEEA6EE6C, 0xEE9A7B30, 0xEE8E081F, 0xEE819539, 0xEE75227E, 0xEE68AFEF, + 0xEE5C3D8B, 0xEE4FCB53, 0xEE435946, 0xEE36E784, 0xEE2A75CF, 0xEE1E0446, + 0xEE1192E9, 0xEE0521B8, 0xEDF8B0B4, 0xEDEC3FDC, 0xEDDFCF31, 0xEDD35EB2, + 0xEDC6EE60, 0xEDBA7E3C, 0xEDAE0E44, 0xEDA19E79, 0xED952EDC, 0xED88BF8C, + 0xED7C504A, 0xED6FE135, 0xED63724F, 0xED570396, 0xED4A950B, 0xED3E26AF, + 0xED31B880, 0xED254A80, 0xED18DCAF, 0xED0C6F0C, 0xED000198, 0xECF39453, + 0xECE7273D, 0xECDABA76, 0xECCE4DBE, 0xECC1E136, 0xECB574DD, 0xECA908B4, + 0xEC9C9CBA, 0xEC9030F0, 0xEC83C557, 0xEC7759ED, 0xEC6AEEB3, 0xEC5E83AA, + 0xEC5218D1, 0xEC45AE29, 0xEC3943D1, 0xEC2CD98B, 0xEC206F75, 0xEC140590, + 0xEC079BDD, 0xEBFB325A, 0xEBEEC909, 0xEBE25FEA, 0xEBD5F6FC, 0xEBC98E40, + 0xEBBD25B6, 0xEBB0BD5E, 0xEBA45538, 0xEB97ED44, 0xEB8B85A2, 0xEB7F1E13, + 0xEB72B6B7, 0xEB664F8D, 0xEB59E896, 0xEB4D81D2, 0xEB411B41, 0xEB34B4E4, + 0xEB284EB9, 0xEB1BE8C2, 0xEB0F82FF, 0xEB031D6F, 0xEAF6B813, 0xEAEA52EB, + 0xEADDEE17, 0xEAD18957, 0xEAC524CB, 0xEAB8C074, 0xEAAC5C51, 0xEA9FF863, + 0xEA9394AA, 0xEA873126, 0xEA7ACDD6, 0xEA6E6ABC, 0xEA6207D6, 0xEA55A527, + 0xEA4942AC, 0xEA3CE087, 0xEA307E78, 0xEA241C9E, 0xEA17BAFB, 0xEA0B598E, + 0xE9FEF857, 0xE9F29756, 0xE9E6368B, 0xE9D9D5F7, 0xE9CD759A, 0xE9C11574, + 0xE9B4B584, 0xE9A855CC, 0xE99BF64A, 0xE98F971F, 0xE983380D, 0xE976D931, + 0xE96A7A8D, 0xE95E1C21, 0xE951BDED, 0xE9455FF1, 0xE939022D, 0xE92CA4A1, + 0xE920474D, 0xE913EA32, 0xE9078D50, 0xE8FB30A6, 0xE8EED434, 0xE8E2781C, + 0xE8D61C1C, 0xE8C9C056, 0xE8BD64CA, 0xE8B10976, 0xE8A4AE5C, 0xE898537C, + 0xE88BF8D6, 0xE87F9E69, 0xE8734436, 0xE866EA3E, 0xE85A9080, 0xE84E36FC, + 0xE841DDD2, 0xE83584C3, 0xE8292BEF, 0xE81CD355, 0xE8107AF7, 0xE80422D3, + 0xE7F7CAEB, 0xE7EB733E, 0xE7DF1BCD, 0xE7D2C497, 0xE7C66D9C, 0xE7BA16DE, + 0xE7ADC05B, 0xE7A16A15, 0xE795142A, 0xE788BE5B, 0xE77C68C9, 0xE7701374, + 0xE763BE5B, 0xE757697F, 0xE74B14E0, 0xE73EC07E, 0xE7326C58, 0xE7261871, + 0xE719C4C6, 0xE70D7159, 0xE7011E29, 0xE6F4CB37, 0xE6E878A2, 0xE6DC262C, + 0xE6CFD3F4, 0xE6C381F9, 0xE6B7303E, 0xE6AADEC0, 0xE69E8D81, 0xE6923C81, + 0xE685EBBF, 0xE6799B3D, 0xE66D4AF9, 0xE660FAF4, 0xE654AB2F, 0xE6485BA9, + 0xE63C0C81, 0xE62FBD7A, 0xE6236EB3, 0xE617202B, 0xE60AD1E4, 0xE5FE83DC, + 0xE5F23615, 0xE5E5E88E, 0xE5D99B47, 0xE5CD4E41, 0xE5C1017B, 0xE5B4B4F6, + 0xE5A868B2, 0xE59C1CCF, 0xE58FD10D, 0xE583858C, 0xE5773A4D, 0xE56AEF4F, + 0xE55EA493, 0xE5525A19, 0xE5460FE0, 0xE539C5EA, 0xE52D7C35, 0xE52132C2, + 0xE514E992, 0xE508A0A5, 0xE4FC57F9, 0xE4F00FB0, 0xE4E3C78A, 0xE4D77FA8, + 0xE4CB3808, 0xE4BEF0AB, 0xE4B2A992, 0xE4A662BB, 0xE49A1C29, 0xE48DD5DA, + 0xE4818FCE, 0xE4754A07, 0xE4690483, 0xE45CBF44, 0xE4507A49, 0xE44435B1, + 0xE437F13F, 0xE42BAD11, 0xE41F6927, 0xE4132583, 0xE406E223, 0xE3FA9F09, + 0xE3EE5C33, 0xE3E219A3, 0xE3D5D758, 0xE3C99553, 0xE3BD5393, 0xE3B11219, + 0xE3A4D104, 0xE3989016, 0xE38C4F6E, 0xE3800F0C, 0xE373CEF1, 0xE3678F1C, + 0xE35B4F8D, 0xE34F1045, 0xE342D144, 0xE336928A, 0xE32A5417, 0xE31E15EB, + 0xE311D806, 0xE3059A69, 0xE2F95D32, 0xE2ED2024, 0xE2E0E35D, 0xE2D4A6DF, + 0xE2C86AA8, 0xE2BC2EB9, 0xE2AFF313, 0xE2A3B7B5, 0xE2977C9F, 0xE28B41D2, + 0xE27F074E, 0xE272CD13, 0xE2669320, 0xE25A5976, 0xE24E2035, 0xE241E71E, + 0xE235AE50, 0xE22975CC, 0xE21D3D91, 0xE21105A0, 0xE204CDF9, 0xE1F8969C, + 0xE1EC5F89, 0xE1E028C0, 0xE1D3F242, 0xE1C7BC0E, 0xE1BB8624, 0xE1AF50A5, + 0xE1A31B51, 0xE196E648, 0xE18AB18A, 0xE17E7D17, 0xE17248EF, 0xE1661513, + 0xE159E182, 0xE14DAE3D, 0xE1417B44, 0xE1354896, 0xE1291635, 0xE11CE41F, + 0xE110B256, 0xE10480F8, 0xE0F84FC8, 0xE0EC1EE4, 0xE0DFEE4D, 0xE0D3BE03, + 0xE0C78E05, 0xE0BB5E55, 0xE0AF2EF1, 0xE0A2FFDB, 0xE096D113, 0xE08AA298, + 0xE07E746A, 0xE072468A, 0xE06618F9, 0xE059EBD4, 0xE04DBEDE, 0xE0419236, + 0xE03565DD, 0xE02939D2, 0xE01D0E16, 0xE010E2A8, 0xE004B789, 0xDFF88CB9, + 0xDFEC6238, 0xDFE03807, 0xDFD40E24, 0xDFC7E491, 0xDFBBBB4D, 0xDFAF9259, + 0xDFA369B5, 0xDF974161, 0xDF8B195C, 0xDF7EF1A8, 0xDF72CA44, 0xDF66A36E, + 0xDF5A7CAB, 0xDF4E5638, 0xDF423015, 0xDF360A44, 0xDF29E4C4, 0xDF1DBF94, + 0xDF119AB6, 0xDF057629, 0xDEF951ED, 0xDEED2E03, 0xDEE10A6A, 0xDED4E723, + 0xDEC8C42E, 0xDEBCA18B, 0xDEB07F3A, 0xDEA45D3B, 0xDE983B8F, 0xDE8C1A35, + 0xDE7FF92D, 0xDE73D878, 0xDE67B816, 0xDE5B9807, 0xDE4F784B, 0xDE4358E2, + 0xDE3739CC, 0xDE2B1B09, 0xDE1EFC9A, 0xDE12DEBD, 0xDE06C0F5, 0xDDFAA381, + 0xDDEE8661, 0xDDE26995, 0xDDD64D1D, 0xDDCA30FA, 0xDDBE152B, 0xDDB1F9B1, + 0xDDA5DE8B, 0xDD99C3BA, 0xDD8DA93D, 0xDD818F16, 0xDD757544, 0xDD695BC7, + 0xDD5D42A0, 0xDD5129CE, 0xDD451151, 0xDD38F92B, 0xDD2CE15A, 0xDD20C9DF, + 0xDD14B2BA, 0xDD089BEB, 0xDCFC8572, 0xDCF06F50, 0xDCE45984, 0xDCD8440F, + 0xDCCC2F2E, 0xDCC01A67, 0xDCB405F7, 0xDCA7F1DD, 0xDC9BDE1B, 0xDC8FCAB0, + 0xDC83B79D, 0xDC77A4E1, 0xDC6B927D, 0xDC5F8070, 0xDC536EBC, 0xDC475D5F, + 0xDC3B4C5B, 0xDC2F3BAF, 0xDC232B5B, 0xDC171B60, 0xDC0B0BBE, 0xDBFEFC74, + 0xDBF2ED83, 0xDBE6DEEB, 0xDBDAD0AC, 0xDBCEC2C6, 0xDBC2B539, 0xDBB6A806, + 0xDBAA9B2D, 0xDB9E8EAD, 0xDB928287, 0xDB8676BA, 0xDB7A6B85, 0xDB6E606D, + 0xDB6255AF, 0xDB564B4C, 0xDB4A4143, 0xDB3E3794, 0xDB322E40, 0xDB262547, + 0xDB1A1CA9, 0xDB0E1466, 0xDB020C7E, 0xDAF604F1, 0xDAE9FDC0, 0xDADDF6EA, + 0xDAD1F070, 0xDAC5EA52, 0xDAB9E48F, 0xDAADDF29, 0xDAA1DA1E, 0xDA95D570, + 0xDA89D11E, 0xDA7DCD29, 0xDA71C990, 0xDA65C653, 0xDA59C374, 0xDA4DC0F1, + 0xDA41BECB, 0xDA35BD40, 0xDA29BBD5, 0xDA1DBAC7, 0xDA11BA17, 0xDA05B9C4, + 0xD9F9B9CF, 0xD9EDBA37, 0xD9E1BAFE, 0xD9D5BC23, 0xD9C9BDA6, 0xD9BDBF87, + 0xD9B1C1C6, 0xD9A5C464, 0xD999C761, 0xD98DCABC, 0xD981CE77, 0xD975D290, + 0xD969D708, 0xD95DDBE0, 0xD951E117, 0xD945E6AD, 0xD939ECA3, 0xD92DF2F9, + 0xD921F9AE, 0xD91600C3, 0xD90A0839, 0xD8FE100E, 0xD8F21881, 0xD8E62117, + 0xD8DA2A0D, 0xD8CE3364, 0xD8C23D1C, 0xD8B64735, 0xD8AA51AE, 0xD89E5C89, + 0xD89267C5, 0xD8867362, 0xD87A7F60, 0xD86E8BC0, 0xD8629882, 0xD856A5A5, + 0xD84AB32A, 0xD83EC112, 0xD832CF5B, 0xD826DE06, 0xD81AED14, 0xD80EFC84, + 0xD8030C57, 0xD7F71C8D, 0xD7EB2D25, 0xD7DF3E20, 0xD7D34F7E, 0xD7C76140, + 0xD7BB7364, 0xD7AF85EC, 0xD7A39914, 0xD797AC63, 0xD78BC016, 0xD77FD42C, + 0xD773E8A7, 0xD767FD85, 0xD75C12C8, 0xD750286F, 0xD7443E7A, 0xD73854EA, + 0xD72C6BBE, 0xD72082F7, 0xD7149A95, 0xD708B298, 0xD6FCCB00, 0xD6F0E3CE, + 0xD6E4FD00, 0xD6D91698, 0xD6CD3096, 0xD6C14AF9, 0xD6B565C2, 0xD6A980F0, + 0xD69D9C85, 0xD691B880, 0xD685D4E1, 0xD679F1A9, 0xD66E0ED7, 0xD6622CA8, + 0xD6564AA3, 0xD64A6905, 0xD63E87CE, 0xD632A6FE, 0xD626C695, 0xD61AE693, + 0xD60F06F9, 0xD60327C6, 0xD5F748FB, 0xD5EB6A98, 0xD5DF8C9C, 0xD5D3AF08, + 0xD5C7D1DD, 0xD5BBF519, 0xD5B018BE, 0xD5A43CCB, 0xD5986141, 0xD58C861F, + 0xD580AB66, 0xD574D116, 0xD568F72F, 0xD55D1DB1, 0xD551449C, 0xD5456BF1, + 0xD53993AF, 0xD52DBBD6, 0xD521E468, 0xD5160D9F, 0xD50A3704, 0xD4FE60D2, + 0xD4F28B0B, 0xD4E6B5AF, 0xD4DAE0BC, 0xD4CF0C34, 0xD4C33817, 0xD4B76464, + 0xD4AB911C, 0xD49FBE3F, 0xD493EBCD, 0xD48819C6, 0xD47C482A, 0xD47076FA, + 0xD464A635, 0xD458D5DC, 0xD44D05EE, 0xD441366D, 0xD4356757, 0xD42998AD, + 0xD41DCA70, 0xD411FC9E, 0xD4062F3A, 0xD3FA6241, 0xD3EE95B6, 0xD3E2C997, + 0xD3D6FE21, 0xD3CB32DB, 0xD3BF6803, 0xD3B39D98, 0xD3A7D39B, 0xD39C0A0B, + 0xD39040E8, 0xD3847833, 0xD378AFEC, 0xD36CE812, 0xD36120A7, 0xD35559A9, + 0xD349931A, 0xD33DCCFA, 0xD3320747, 0xD3264203, 0xD31A7D2E, 0xD30EB8C8, + 0xD302F4D0, 0xD2F73148, 0xD2EB6E2F, 0xD2DFAB85, 0xD2D3E94A, 0xD2C8277F, + 0xD2BC6623, 0xD2B0A537, 0xD2A4E4BB, 0xD29924EA, 0xD28D654E, 0xD281A622, + 0xD275E766, 0xD26A291A, 0xD25E6B3F, 0xD252ADD4, 0xD246F0DB, 0xD23B3452, + 0xD22F783A, 0xD223BC93, 0xD218015D, 0xD20C4698, 0xD2008C45, 0xD1F4D263, + 0xD1E918F3, 0xD1DD5FF5, 0xD1D1A768, 0xD1C5EF4E, 0xD1BA37A5, 0xD1AE806F, + 0xD1A2C9AB, 0xD1971359, 0xD18B5D7A, 0xD17FA80E, 0xD173F314, 0xD1683E8D, + 0xD15C8A79, 0xD150D714, 0xD14523E6, 0xD139712C, 0xD12DBEE5, 0xD1220D11, + 0xD1165BB1, 0xD10AAAC5, 0xD0FEFA4D, 0xD0F34A49, 0xD0E79AB9, 0xD0DBEB9D, + 0xD0D03CF5, 0xD0C48EC2, 0xD0B8E103, 0xD0AD33B9, 0xD0A186E4, 0xD095DA84, + 0xD08A2E98, 0xD07E8322, 0xD072D821, 0xD0672D95, 0xD05B837F, 0xD04FD9DE, + 0xD04430B3, 0xD03887FE, 0xD02CDFBF, 0xD02137F5, 0xD01590DD, 0xD009EA00, + 0xCFFE439A, 0xCFF29DA9, 0xCFE6F830, 0xCFDB532D, 0xCFCFAEA1, 0xCFC40A8B, + 0xCFB866ED, 0xCFACC3C6, 0xCFA12116, 0xCF957EDD, 0xCF89DD1C, 0xCF7E3BD3, + 0xCF729B01, 0xCF66FAA7, 0xCF5B5AC5, 0xCF4FBB5A, 0xCF441C68, 0xCF387DEF, + 0xCF2CDFED, 0xCF214264, 0xCF15A554, 0xCF0A08BC, 0xCEFE6C9E, 0xCEF2D0F8, + 0xCEE735CB, 0xCEDB9B17, 0xCED00118, 0xCEC46757, 0xCEB8CE0F, 0xCEAD3541, + 0xCEA19CED, 0xCE960512, 0xCE8A6DB1, 0xCE7ED6CB, 0xCE73405E, 0xCE67AA6C, + 0xCE5C14F4, 0xCE507FF7, 0xCE44EB74, 0xCE39576C, 0xCE2DC3DF, 0xCE2230CD, + 0xCE169E36, 0xCE0B0C1A, 0xCDFF7A79, 0xCDF3E953, 0xCDE858A9, 0xCDDCC87B, + 0xCDD138C8, 0xCDC5A992, 0xCDBA1AD7, 0xCDAE8C98, 0xCDA2FED5, 0xCD9771C9, + 0xCD8BE4FF, 0xCD8058B2, 0xCD74CCE1, 0xCD69418D, 0xCD5DB6B5, 0xCD522C5B, + 0xCD46A27D, 0xCD3B191D, 0xCD2F903A, 0xCD2407D4, 0xCD187FEC, 0xCD0CF882, + 0xCD017195, 0xCCF5EB26, 0xCCEA6535, 0xCCDEDFC2, 0xCCD35ACD, 0xCCC7D656, + 0xCCBC525E, 0xCCB0CEE4, 0xCCA54BE9, 0xCC99C96D, 0xCC8E476F, 0xCC82C5F1, + 0xCC7744F1, 0xCC6BC470, 0xCC6044AA, 0xCC54C528, 0xCC494626, 0xCC3DC7A3, + 0xCC3249A0, 0xCC26CC1D, 0xCC1B4F19, 0xCC0FD296, 0xCC045693, 0xCBF8DB10, + 0xCBED600E, 0xCBE1E58C, 0xCBD66B8B, 0xCBCAF20A, 0xCBBF790A, 0xCBB4008B, + 0xCBA8888D, 0xCB9D1111, 0xCB919A15, 0xCB86239B, 0xCB7AADA2, 0xCB6F382B, + 0xCB63C336, 0xCB584EC3, 0xCB4CDAD1, 0xCB416761, 0xCB35F474, 0xCB2A8209, + 0xCB1F105A, 0xCB139EF4, 0xCB082E10, 0xCAFCBDAF, 0xCAF14DD1, 0xCAE5DE76, + 0xCADA6F9D, 0xCACF0148, 0xCAC39376, 0xCAB82628, 0xCAACB95D, 0xCAA14D15, + 0xCA95E151, 0xCA8A7611, 0xCA7F0B55, 0xCA73A11D, 0xCA683769, 0xCA5CCE39, + 0xCA51658E, 0xCA45FD67, 0xCA3A95C4, 0xCA2F2EA7, 0xCA23C80E, 0xCA1861FA, + 0xCA0CFC6B, 0xCA019761, 0xC9F632DC, 0xC9EACF17, 0xC9DF6B9D, 0xC9D408A8, + 0xC9C8A63A, 0xC9BD4451, 0xC9B1E2EE, 0xC9A68211, 0xC99B21BA, 0xC98FC1E9, + 0xC984629E, 0xC97903DA, 0xC96DA59D, 0xC96247E6, 0xC956EAB6, 0xC94B8E0D, + 0xC94031EB, 0xC934D650, 0xC9297B3C, 0xC91E20AF, 0xC912C6AA, 0xC9076D2C, + 0xC8FC1436, 0xC8F0BBC8, 0xC8E563E2, 0xC8DA0C83, 0xC8CEB5AD, 0xC8C35F5F, + 0xC8B80999, 0xC8ACB495, 0xC8A15FE0, 0xC8960BB4, 0xC88AB810, 0xC87F64F5, + 0xC8741263, 0xC868C05B, 0xC85D6EDB, 0xC8521DE5, 0xC846CD78, 0xC83B7D94, + 0xC8302E3A, 0xC824DF6A, 0xC8199124, 0xC80E4367, 0xC802F635, 0xC7F7A98D, + 0xC7EC5D6F, 0xC7E111DB, 0xC7D5C6D2, 0xC7CA7C53, 0xC7BF325F, 0xC7B3E8F6, + 0xC7A8A018, 0xC79D57C5, 0xC7920FFD, 0xC786C8C0, 0xC77B8248, 0xC7703C22, + 0xC764F688, 0xC759B179, 0xC74E6CF6, 0xC74328FF, 0xC737E594, 0xC72CA2B5, + 0xC7216062, 0xC7161E9C, 0xC70ADD62, 0xC6FF9CB4, 0xC6F45C93, 0xC6E91CFF, + 0xC6DDDDF8, 0xC6D29F7E, 0xC6C76190, 0xC6BC2430, 0xC6B0E75E, 0xC6A5AB18, + 0xC69A6F61, 0xC68F3436, 0xC683F99A, 0xC678BF8B, 0xC66D860B, 0xC6624D18, + 0xC65714B4, 0xC64BDD17, 0xC640A5CF, 0xC6356F16, 0xC62A38EB, 0xC61F034F, + 0xC613CE42, 0xC60899C3, 0xC5FD65D4, 0xC5F23274, 0xC5E6FFA3, 0xC5DBCD62, + 0xC5D09BB0, 0xC5C56A8D, 0xC5BA39FA, 0xC5AF09F7, 0xC5A3DA84, 0xC598ABA1, + 0xC58D7D4E, 0xC5824F8B, 0xC5772258, 0xC56BF5B6, 0xC560C9A5, 0xC5559E24, + 0xC54A7334, 0xC53F48D5, 0xC5341F06, 0xC528F5C9, 0xC51DCD1D, 0xC512A53B, + 0xC5077DB2, 0xC4FC56BA, 0xC4F13053, 0xC4E60A7F, 0xC4DAE53C, 0xC4CFC08B, + 0xC4C49C6D, 0xC4B978E0, 0xC4AE55E6, 0xC4A3337E, 0xC49811A8, 0xC48CF065, + 0xC481CFB5, 0xC476AF98, 0xC46B900D, 0xC4607116, 0xC45552B1, 0xC44A34E0, + 0xC43F17A2, 0xC433FAF8, 0xC428DEE1, 0xC41DC35E, 0xC412A86E, 0xC4078E12, + 0xC3FC744B, 0xC3F15B17, 0xC3E642B0, 0xC3DB2AA5, 0xC3D0132F, 0xC3C4FC4C, + 0xC3B9E5FF, 0xC3AED046, 0xC3A3BB22, 0xC398A693, 0xC38D9299, 0xC3827F34, + 0xC3776C64, 0xC36C5A2A, 0xC3614885, 0xC3563776, 0xC34B26FC, 0xC3401719, + 0xC33507CB, 0xC329F913, 0xC31EEAF1, 0xC313DD66, 0xC308D070, 0xC2FDC412, + 0xC2F2B849, 0xC2E7AD18, 0xC2DCA27D, 0xC2D19879, 0xC2C68F0C, 0xC2BB8636, + 0xC2B07E2F, 0xC2A57687, 0xC29A6F77, 0xC28F68FF, 0xC284631E, 0xC2795DD4, + 0xC26E5923, 0xC2635509, 0xC2585187, 0xC24D4E9E, 0xC2424C4C, 0xC2374A94, + 0xC22C4973, 0xC22148EB, 0xC21648FC, 0xC20B49A5, 0xC2004AE8, 0xC1F54CC3, + 0xC1EA4F37, 0xC1DF5245, 0xC1D455EC, 0xC1C95A2C, 0xC1BE5F06, 0xC1B36479, + 0xC1A86A87, 0xC19D712E, 0xC192786E, 0xC1878049, 0xC17C88BE, 0xC17191CE, + 0xC1669B77, 0xC15BA5BC, 0xC150B09A, 0xC145BC14, 0xC13AC828, 0xC12FD4D7, + 0xC124E221, 0xC119F006, 0xC10EFE86, 0xC1040DA2, 0xC0F91D59, 0xC0EE2E1B, + 0xC0E33F09, 0xC0D85093, 0xC0CD62B8, 0xC0C2757A, 0xC0B788D8, 0xC0AC9CD1, + 0xC0A1B167, 0xC096C69A, 0xC08BDC69, 0xC080F2D4, 0xC07609DC, 0xC06B2181, + 0xC06039C3, 0xC05552A2, 0xC04A6C1D, 0xC03F8636, 0xC034A0ED, 0xC029BC40, + 0xC01ED832, 0xC013F4C1, 0xC00911ED, 0xBFFE2FB8, 0xBFF34E20, 0xBFE86D26, + 0xBFDD8CCB, 0xBFD2AD0E, 0xBFC7CDEF, 0xBFBCEF6E, 0xBFB2118C, 0xBFA73449, + 0xBF9C57A5, 0xBF917B9F, 0xBF86A039, 0xBF7BC571, 0xBF70EB49, 0xBF6611C0, + 0xBF5B38D6, 0xBF50608C, 0xBF4588E2, 0xBF3AB1D7, 0xBF2FDB6C, 0xBF2505A1, + 0xBF1A3076, 0xBF0F5BEB, 0xBF048800, 0xBEF9B4B6, 0xBEEEE20C, 0xBEE41003, + 0xBED93E9A, 0xBECE6DD2, 0xBEC39DAB, 0xBEB8CE25, 0xBEADFF40, 0xBEA330FC, + 0xBE9863C8, 0xBE8D96C6, 0xBE82CA67, 0xBE77FEA9, 0xBE6D338C, 0xBE626911, + 0xBE579F39, 0xBE4CD602, 0xBE420D6D, 0xBE37457B, 0xBE2C7E2B, 0xBE21B77D, + 0xBE16F172, 0xBE0C2C09, 0xBE016744, 0xBDF6A321, 0xBDEBDFA1, 0xBDE11CC4, + 0xBDD65A8A, 0xBDCB98F3, 0xBDC0D800, 0xBDB617B0, 0xBDAB5804, 0xBDA098FB, + 0xBD95DA97, 0xBD8B1CD6, 0xBD805FB9, 0xBD75A340, 0xBD6AE76B, 0xBD602C3B, + 0xBD5571AF, 0xBD4AB7C7, 0xBD3FFE84, 0xBD3545E6, 0xBD2A8DED, 0xBD1FD698, + 0xBD151FE9, 0xBD0A69DE, 0xBCFFB479, 0xBCF4FFB9, 0xBCEA4B9F, 0xBCDF982A, + 0xBCD4E55B, 0xBCCA3331, 0xBCBF81AE, 0xBCB4D0D0, 0xBCAA2098, 0xBC9F7107, + 0xBC94C21B, 0xBC8A13D6, 0xBC7F6638, 0xBC74B940, 0xBC6A0CEE, 0xBC5F6144, + 0xBC54B6AD, 0xBC4A0C50, 0xBC3F629B, 0xBC34B98C, 0xBC2A1125, 0xBC1F6965, + 0xBC14C24D, 0xBC0A1BDC, 0xBBFF7613, 0xBBF4D0F1, 0xBBEA2C78, 0xBBDF88A7, + 0xBBD4E57D, 0xBBCA42FC, 0xBBBFA123, 0xBBB4FFF3, 0xBBAA5F6B, 0xBB9FBF8C, + 0xBB952055, 0xBB8A81C8, 0xBB7FE3E3, 0xBB7546A7, 0xBB6AAA14, 0xBB600E2B, + 0xBB5572EB, 0xBB4AD854, 0xBB403E67, 0xBB35A523, 0xBB2B0C89, 0xBB207499, + 0xBB15DD53, 0xBB0B46B7, 0xBB00B0C5, 0xBAF61B7E, 0xBAEB86E0, 0xBAE0F2EE, + 0xBAD65FA5, 0xBACBCD08, 0xBAC13B15, 0xBAB6A9CD, 0xBAAC1930, 0xBAA1893E, + 0xBA96F9F7, 0xBA8C6B5B, 0xBA81DD6B, 0xBA775026, 0xBA6CC38D, 0xBA6237A0, + 0xBA57AC5E, 0xBA4D21C8, 0xBA4297DE, 0xBA380EA1, 0xBA2D860F, 0xBA22FE2A, + 0xBA1876F1, 0xBA0DF0CF, 0xBA036AEF, 0xB9F8E5BC, 0xB9EE6136, 0xB9E3DD5C, + 0xB9D95A30, 0xB9CED7B0, 0xB9C455DE, 0xB9B9D4B9, 0xB9AF5441, 0xB9A4D477, + 0xB99A555B, 0xB98FD6EC, 0xB985592B, 0xB97ADC18, 0xB9705FB3, 0xB965E3FC, + 0xB95B68F3, 0xB950EE99, 0xB94674EC, 0xB93BFBEF, 0xB93183A0, 0xB9270C00, + 0xB91C950E, 0xB9121ECC, 0xB907A938, 0xB8FD3454, 0xB8F2C01F, 0xB8E84C99, + 0xB8DDD9C2, 0xB8D3679B, 0xB8C8F624, 0xB8BE855C, 0xB8B41545, 0xB8A9A5DD, + 0xB89F3725, 0xB894C91D, 0xB88A5BC6, 0xB87FEF1E, 0xB8758328, 0xB86B17E1, + 0xB860AD4C, 0xB8564367, 0xB84BDA33, 0xB84171B0, 0xB83709DE, 0xB82CA2BD, + 0xB8223C4D, 0xB817D68E, 0xB80D7181, 0xB8030D26, 0xB7F8A97C, 0xB7EE4684, + 0xB7E3E43D, 0xB7D982A9, 0xB7CF2230, 0xB7C4C200, 0xB7BA6282, 0xB7B003B6, + 0xB7A5A59D, 0xB79B4836, 0xB790EB82, 0xB7868F80, 0xB77C3432, 0xB771D996, + 0xB7677FAD, 0xB75D2678, 0xB752CDF5, 0xB7487626, 0xB73E1F0B, 0xB733C8A3, + 0xB72972EE, 0xB71F1DEE, 0xB714C9A1, 0xB70A7608, 0xB7002323, 0xB6F5D0F2, + 0xB6EB7F75, 0xB6E12EAD, 0xB6D6DE99, 0xB6CC8F3A, 0xB6C2408F, 0xB6B7F299, + 0xB6ADA558, 0xB6A358CB, 0xB6990CF4, 0xB68EC1D2, 0xB6847765, 0xB67A2DAD, + 0xB66FE4AB, 0xB6659C5E, 0xB65B54C7, 0xB6510DE6, 0xB646C7BA, 0xB63C8245, + 0xB6323D85, 0xB627F97B, 0xB61DB628, 0xB613738B, 0xB60931A4, 0xB5FEF074, + 0xB5F4AFFA, 0xB5EA7038, 0xB5E0312C, 0xB5D5F2D6, 0xB5CBB538, 0xB5C17851, + 0xB5B73C21, 0xB5AD00A9, 0xB5A2C5E7, 0xB5988C46, 0xB58E52F4, 0xB5841A59, + 0xB579E276, 0xB56FAB4B, 0xB56574D9, 0xB55B3F1E, 0xB5510A1B, 0xB546D5D1, + 0xB53CA23F, 0xB5326F65, 0xB5283D45, 0xB51E0BDC, 0xB513DB2D, 0xB509AB36, + 0xB4FF7BF9, 0xB4F54D74, 0xB4EB1FA9, 0xB4E0F296, 0xB4D6C63E, 0xB4CC9A9E, + 0xB4C26FB8, 0xB4B8458C, 0xB4AE1C1A, 0xB4A3F361, 0xB499CB63, 0xB48FA41E, + 0xB4857D94, 0xB47B57C3, 0xB47132AE, 0xB4670E52, 0xB45CEAB1, 0xB452C7CB, + 0xB448A59F, 0xB43E842F, 0xB4346379, 0xB42A437E, 0xB420243E, 0xB41605BA, + 0xB40BE7F1, 0xB401CAE3, 0xB3F7AE91, 0xB3ED92FA, 0xB3E3781F, 0xB3D95E00, + 0xB3CF449D, 0xB3C52BF6, 0xB3BB140A, 0xB3B0FCDB, 0xB3A6E669, 0xB39CD0B2, + 0xB392BBB9, 0xB388A77B, 0xB37E93FB, 0xB3748137, 0xB36A6F97, 0xB3605E4D, + 0xB3564DC0, 0xB34C3DF0, 0xB3422EDD, 0xB3382088, 0xB32E12F1, 0xB3240616, + 0xB319F9FA, 0xB30FEE9B, 0xB305E3FA, 0xB2FBDA17, 0xB2F1D0F2, 0xB2E7C88B, + 0xB2DDC0E3, 0xB2D3B9F8, 0xB2C9B3CC, 0xB2BFAE5F, 0xB2B5A9B0, 0xB2ABA5C0, + 0xB2A1A28F, 0xB297A01D, 0xB28D9E69, 0xB2839D75, 0xB2799D40, 0xB26F9DCA, + 0xB2659F14, 0xB25BA11D, 0xB251A3E5, 0xB247A76E, 0xB23DABB6, 0xB233B0BE, + 0xB229B686, 0xB21FBD0E, 0xB215C456, 0xB20BCC5E, 0xB201D527, 0xB1F7DEB0, + 0xB1EDE8FA, 0xB1E3F404, 0xB1D9FFCF, 0xB1D00C5B, 0xB1C619A8, 0xB1BC27B6, + 0xB1B23685, 0xB1A84615, 0xB19E5666, 0xB1946779, 0xB18A794D, 0xB1808BE3, + 0xB1769F3B, 0xB16CB354, 0xB162C830, 0xB158DDCD, 0xB14EF491, 0xB1450BB3, + 0xB13B2396, 0xB1313C3C, 0xB12755A5, 0xB11D6FD0, 0xB1138ABE, 0xB109A66E, + 0xB0FFC2E1, 0xB0F5E018, 0xB0EBFE11, 0xB0E21CCD, 0xB0D83C4D, 0xB0CE5C90, + 0xB0C47D96, 0xB0BA9F60, 0xB0B0C1ED, 0xB0A6E53E, 0xB09D0953, 0xB0932E2C, + 0xB08953C8, 0xB07F7A29, 0xB075A14E, 0xB06BC937, 0xB061F1E5, 0xB0581B57, + 0xB04E458D, 0xB0447088, 0xB03A9C48, 0xB030C8CD, 0xB026F617, 0xB01D2425, + 0xB01352F9, 0xB0098292, 0xAFFFB2F1, 0xAFF5E414, 0xAFEC15FD, 0xAFE248AC, + 0xAFD87C21, 0xAFCEB05B, 0xAFC4E55B, 0xAFBB1B21, 0xAFB151AD, 0xAFA788FF, + 0xAF9DC118, 0xAF93F9F7, 0xAF8A339C, 0xAF806E08, 0xAF76A93A, 0xAF6CE533, + 0xAF6321F3, 0xAF595F7A, 0xAF4F9DC8, 0xAF45DCDD, 0xAF3C1CB9, 0xAF325DC0, + 0xAF289F2B, 0xAF1EE15D, 0xAF152457, 0xAF0B6818, 0xAF01ACA2, 0xAEF7F1F3, + 0xAEEE380C, 0xAEE47EED, 0xAEDAC696, 0xAED10F07, 0xAEC75841, 0xAEBDA243, + 0xAEB3ED0E, 0xAEAA38A1, 0xAEA084FD, 0xAE96D221, 0xAE8D200F, 0xAE836EC5, + 0xAE79BE45, 0xAE700E8E, 0xAE665FA0, 0xAE5CB17B, 0xAE530420, 0xAE49578E, + 0xAE3FABC6, 0xAE3600C7, 0xAE2C5693, 0xAE22AD28, 0xAE190487, 0xAE0F5CB1, + 0xAE05B5A4, 0xADFC0F62, 0xADF269EA, 0xADE8C53D, 0xADDF215A, 0xADD57E42, + 0xADCBDBF5, 0xADC23A72, 0xADB899BB, 0xADAEF9CE, 0xADA55AAC, 0xAD9BBC56, + 0xAD921ECB, 0xAD88820B, 0xAD7EE617, 0xAD754AEF, 0xAD6BB092, 0xAD621701, + 0xAD587E3B, 0xAD4EE642, 0xAD454F15, 0xAD3BB8B3, 0xAD32231E, 0xAD288E56, + 0xAD1EFABB, 0xAD15678B, 0xAD0BD528, 0xAD024392, 0xACF8B2C8, 0xACEF22CB, + 0xACE5939B, 0xACDC0538, 0xACD277A2, 0xACC8EADA, 0xACBF5EDF, 0xACB5D3B1, + 0xACAC4951, 0xACA2BFBE, 0xAC9936F9, 0xAC8FAF02, 0xAC8627D9, 0xAC7CA17D, + 0xAC731BF0, 0xAC699731, 0xAC601340, 0xAC56901D, 0xAC4D0DC9, 0xAC438C44, + 0xAC3A0B8D, 0xAC308BA5, 0xAC270C8B, 0xAC1D8E41, 0xAC1410C5, 0xAC0A9418, + 0xAC01183B, 0xABF79D2D, 0xABEE22EE, 0xABE4A97F, 0xABDB30DF, 0xABD1B90F, + 0xABC8420E, 0xABBECBDE, 0xABB5567D, 0xABABE1EC, 0xABA26E2B, 0xAB98FB3B, + 0xAB8F891A, 0xAB8617CA, 0xAB7CA74B, 0xAB73379C, 0xAB69C8BE, 0xAB605AB0, + 0xAB56ED73, 0xAB4D8107, 0xAB44156C, 0xAB3AAAA2, 0xAB3140A9, 0xAB27D782, + 0xAB1E6F2C, 0xAB150807, 0xAB0BA153, 0xAB023B72, 0xAAF8D662, 0xAAEF7224, + 0xAAE60EB8, 0xAADCAC1D, 0xAAD34A55, 0xAAC9E95F, 0xAAC0893C, 0xAAB729EA, + 0xAAADCB6B, 0xAAA46DBF, 0xAA9B10E5, 0xAA91B4DE, 0xAA8859A9, 0xAA7EFF48, + 0xAA75A5BA, 0xAA6C4CFE, 0xAA62F516, 0xAA599E01, 0xAA5047BF, 0xAA46F251, + 0xAA3D9DB6, 0xAA3449EF, 0xAA2AF6FC, 0xAA21A4DC, 0xAA185390, 0xAA0F0318, + 0xAA05B374, 0xA9FC64A5, 0xA9F316A9, 0xA9E9C982, 0xA9E07D30, 0xA9D731B2, + 0xA9CDE708, 0xA9C49D33, 0xA9BB5433, 0xA9B20C08, 0xA9A8C4B1, 0xA99F7E30, + 0xA9963884, 0xA98CF3AD, 0xA983AFAB, 0xA97A6C7F, 0xA9712A28, 0xA967E8A7, + 0xA95EA7FC, 0xA9556826, 0xA94C2926, 0xA942EAFC, 0xA939ADA8, 0xA930712A, + 0xA9273583, 0xA91DFAB1, 0xA914C114, 0xA90B87F0, 0xA9024FA2, 0xA8F9182A, + 0xA8EFE18A, 0xA8E6ABC0, 0xA8DD76CD, 0xA8D442B1, 0xA8CB0F6C, 0xA8C1DCFF, + 0xA8B8AB68, 0xA8AF7AA9, 0xA8A64AC2, 0xA89D1BB2, 0xA893ED79, 0xA88AC018, + 0xA881938F, 0xA87867DE, 0xA86F3D05, 0xA8661304, 0xA85CE9DB, 0xA853C18B, + 0xA84A9A13, 0xA8417373, 0xA8384DAB, 0xA82F28BC, 0xA82604A6, 0xA81CE169, + 0xA813BF04, 0xA80A9D79, 0xA8017CC6, 0xA7F85CED, 0xA7EF3DED, 0xA7E61FC6, + 0xA7DD0278, 0xA7D3E604, 0xA7CACA6A, 0xA7C1AFA9, 0xA7B895C2, 0xA7AF7CB4, + 0xA7A66481, 0xA79D4D28, 0xA79436A8, 0xA78B2103, 0xA7820C38, 0xA778F848, + 0xA76FE532, 0xA766D2F6, 0xA75DC195, 0xA754B10F, 0xA74BA163, 0xA7429293, + 0xA739849D, 0xA7307782, 0xA7276B9F, 0xA71E603B, 0xA71555B2, 0xA70C4C04, + 0xA7034332, 0xA6FA3B3C, 0xA6F13421, 0xA6E82DE2, 0xA6DF287E, 0xA6D623F7, + 0xA6CD204B, 0xA6C41D7C, 0xA6BB1B89, 0xA6B21A72, 0xA6A91A38, 0xA6A01AD9, + 0xA6971C58, 0xA68E1EB3, 0xA68521EB, 0xA67C25FF, 0xA6732AF1, 0xA66A30BF, + 0xA661376A, 0xA6583EF3, 0xA64F4759, 0xA646509C, 0xA63D5ABC, 0xA63465BA, + 0xA62B7196, 0xA6227E4F, 0xA6198BE6, 0xA6109A5A, 0xA607A9AD, 0xA5FEB9DE, + 0xA5F5CAEC, 0xA5ECDCD9, 0xA5E3EFA4, 0xA5DB034E, 0xA5D217D5, 0xA5C92D3C, + 0xA5C04381, 0xA5B75AA4, 0xA5AE72A7, 0xA5A58B88, 0xA59CA548, 0xA593BFE7, + 0xA58ADB66, 0xA581F7C3, 0xA5791500, 0xA570331C, 0xA5675218, 0xA55E71F3, + 0xA55592AE, 0xA54CB448, 0xA543D6C3, 0xA53AFA77, 0xA5321EB1, 0xA52943CB, + 0xA52069C6, 0xA51790A0, 0xA50EB85B, 0xA505E0F6, 0xA4FD0A72, 0xA4F434CE, + 0xA4EB600B, 0xA4E28C29, 0xA4D9B927, 0xA4D0E707, 0xA4C815C7, 0xA4BF4569, + 0xA4B675EB, 0xA4ADA74F, 0xA4A4D994, 0xA49C0CBB, 0xA49340C3, 0xA48A75AC, + 0xA481AB78, 0xA478E225, 0xA47019B4, 0xA4675225, 0xA45E8B77, 0xA455C5AC, + 0xA44D00C3, 0xA4443CBD, 0xA43B7999, 0xA432B757, 0xA429F5F7, 0xA421357B, + 0xA41875E1, 0xA40FB729, 0xA406F955, 0xA3FE3C63, 0xA3F58055, 0xA3ECC529, + 0xA3E40AE1, 0xA3DB517C, 0xA3D298FB, 0xA3C9E15D, 0xA3C12AA2, 0xA3B874CB, + 0xA3AFBFD8, 0xA3A70BC8, 0xA39E589C, 0xA395A655, 0xA38CF4F1, 0xA3844471, + 0xA37B94D6, 0xA372E61F, 0xA36A384C, 0xA3618B5E, 0xA358DFAC, 0xA3503487, + 0xA3478A47, 0xA33EE0EB, 0xA3363874, 0xA32D90E2, 0xA324EA35, 0xA31C446E, + 0xA3139F8B, 0xA30AFB8E, 0xA3025876, 0xA2F9B643, 0xA2F114F6, 0xA2E8748F, + 0xA2DFD50D, 0xA2D73671, 0xA2CE98BB, 0xA2C5FBEB, 0xA2BD6001, 0xA2B4C4FD, + 0xA2AC2AE0, 0xA2A391A8, 0xA29AF957, 0xA29261ED, 0xA289CB68, 0xA28135CB, + 0xA278A114, 0xA2700D44, 0xA2677A5B, 0xA25EE859, 0xA256573D, 0xA24DC709, + 0xA24537BC, 0xA23CA957, 0xA2341BD8, 0xA22B8F42, 0xA2230392, 0xA21A78CA, + 0xA211EEEA, 0xA20965F2, 0xA200DDE2, 0xA1F856B9, 0xA1EFD079, 0xA1E74B20, + 0xA1DEC6B0, 0xA1D64328, 0xA1CDC088, 0xA1C53ED1, 0xA1BCBE02, 0xA1B43E1C, + 0xA1ABBF1F, 0xA1A3410A, 0xA19AC3DE, 0xA192479B, 0xA189CC41, 0xA1815226, + 0xA178D89F, 0xA1706000, 0xA167E84B, 0xA15F717F, 0xA156FB9D, 0xA14E86A4, + 0xA1461295, 0xA13D9F6F, 0xA1352D34, 0xA12CBBE2, 0xA1244B7A, 0xA11BDBFD, + 0xA1136D69, 0xA10AFFC0, 0xA1029301, 0xA0FA272C, 0xA0F1BC42, 0xA0E95242, + 0xA0E0E92D, 0xA0D88103, 0xA0D019C3, 0xA0C7B36F, 0xA0BF4E05, 0xA0B6E986, + 0xA0AE85F3, 0xA0A6234A, 0xA09DC18D, 0xA09560BC, 0xA08D00D5, 0xA084A1DA, + 0xA07C43CB, 0xA073E6A8, 0xA06B8A70, 0xA0632F24, 0xA05AD4C4, 0xA0527B50, + 0xA04A22C8, 0xA041CB2C, 0xA039747C, 0xA0311EB9, 0xA028C9E2, 0xA02075F8, + 0xA01822FA, 0xA00FD0E9, 0xA0077FC4, 0x9FFF2F8D, 0x9FF6E042, 0x9FEE91E4, + 0x9FE64473, 0x9FDDF7F0, 0x9FD5AC59, 0x9FCD61B0, 0x9FC517F4, 0x9FBCCF26, + 0x9FB48799, 0x9FAC40A6, 0x9FA3FAA0, 0x9F9BB588, 0x9F93715E, 0x9F8B2E22, + 0x9F82EBD4, 0x9F7AAA74, 0x9F726A02, 0x9F6A2A7F, 0x9F61EBE9, 0x9F59AE42, + 0x9F51718A, 0x9F4935C0, 0x9F40FAE5, 0x9F38C0F8, 0x9F3087FA, 0x9F284FEC, + 0x9F2018CC, 0x9F17E29B, 0x9F0FAD59, 0x9F077906, 0x9EFF45A3, 0x9EF7132F, + 0x9EEEE1AA, 0x9EE6B115, 0x9EDE8170, 0x9ED652BA, 0x9ECE24F4, 0x9EC5F81E, + 0x9EBDCC37, 0x9EB5A141, 0x9EAD773B, 0x9EA54E24, 0x9E9D25FE, 0x9E94FEC9, + 0x9E8CD883, 0x9E84B32E, 0x9E7C8ECA, 0x9E746B56, 0x9E6C48D3, 0x9E642741, + 0x9E5C06A0, 0x9E53E6EF, 0x9E4BC82F, 0x9E43AA61, 0x9E3B8D84, 0x9E337198, + 0x9E2B569D, 0x9E233C94, 0x9E1B237C, 0x9E130B55, 0x9E0AF421, 0x9E02DDDE, + 0x9DFAC88C, 0x9DF2B47F, 0x9DEAA112, 0x9DE28E96, 0x9DDA7D0D, 0x9DD26C76, + 0x9DCA5CD1, 0x9DC24E1E, 0x9DBA405E, 0x9DB23390, 0x9DAA27B5, 0x9DA21CCC, + 0x9D9A12D6, 0x9D9209D3, 0x9D8A01C3, 0x9D81FAA6, 0x9D79F47B, 0x9D71EF44, + 0x9D69EB00, 0x9D61E7AF, 0x9D59E552, 0x9D51E3E8, 0x9D49E372, 0x9D41E3EF, + 0x9D39E55F, 0x9D31E7C4, 0x9D29EB1C, 0x9D21EF68, 0x9D19F4A8, 0x9D11FADC, + 0x9D0A0204, 0x9D020A21, 0x9CFA1331, 0x9CF21D36, 0x9CEA282F, 0x9CE2341D, + 0x9CDA4100, 0x9CD24ED7, 0x9CCA5DA2, 0x9CC26D63, 0x9CBA7E18, 0x9CB28FC2, + 0x9CAAA262, 0x9CA2B5F6, 0x9C9ACA80, 0x9C92DFFF, 0x9C8AF673, 0x9C830DDC, + 0x9C7B263C, 0x9C733F90, 0x9C6B59DA, 0x9C63751A, 0x9C5B9150, 0x9C53AE7C, + 0x9C4BCC9D, 0x9C43EC05, 0x9C3C0C13, 0x9C342D16, 0x9C2C4F10, 0x9C247201, + 0x9C1C95E7, 0x9C14BAC5, 0x9C0CE098, 0x9C050763, 0x9BFD2F24, 0x9BF557DB, + 0x9BED818A, 0x9BE5AC30, 0x9BDDD7CC, 0x9BD60460, 0x9BCE31EA, 0x9BC6606C, + 0x9BBE8FE6, 0x9BB6C056, 0x9BAEF1BE, 0x9BA7241E, 0x9B9F5775, 0x9B978BC4, + 0x9B8FC10B, 0x9B87F749, 0x9B802E80, 0x9B7866AE, 0x9B709FD4, 0x9B68D9F3, + 0x9B61150A, 0x9B595119, 0x9B518E20, 0x9B49CC20, 0x9B420B18, 0x9B3A4B09, + 0x9B328BF2, 0x9B2ACDD4, 0x9B2310AF, 0x9B1B5483, 0x9B139950, 0x9B0BDF16, + 0x9B0425D5, 0x9AFC6D8D, 0x9AF4B63E, 0x9AECFFE9, 0x9AE54A8D, 0x9ADD962A, + 0x9AD5E2C1, 0x9ACE3052, 0x9AC67EDC, 0x9ABECE61, 0x9AB71EDF, 0x9AAF7056, + 0x9AA7C2C8, 0x9AA01634, 0x9A986AE8, 0x9A90C049, 0x9A8916A3, 0x9A816DF8, + 0x9A79C647, 0x9A721F91, 0x9A6A79D5, 0x9A62D514, 0x9A5B314E, 0x9A538E83, + 0x9A4BECB2, 0x9A444BDC, 0x9A3CAC02, 0x9A350D22, 0x9A2D6F3E, 0x9A25D255, + 0x9A1E3667, 0x9A169B74, 0x9A0F017D, 0x9A076882, 0x99FFD082, 0x99F8397E, + 0x99F0A375, 0x99E90E69, 0x99E17A58, 0x99D9E743, 0x99D2552B, 0x99CAC40E, + 0x99C333EE, 0x99BBA4CA, 0x99B416A2, 0x99AC8976, 0x99A4FD48, 0x999D7215, + 0x9995E7DF, 0x998E5EA6, 0x9986D66A, 0x997F4F2B, 0x9977C8E8, 0x997043A3, + 0x9968BF5A, 0x99613C0F, 0x9959B9C1, 0x99523870, 0x994AB81D, 0x994338C7, + 0x993BBA6E, 0x99343D13, 0x992CC0B6, 0x99254556, 0x991DCAF4, 0x99165190, + 0x990ED92A, 0x990761C2, 0x98FFEB58, 0x98F87638, 0x98F101CB, 0x98E98E5B, + 0x98E21BEA, 0x98DAAA78, 0x98D33A04, 0x98CBCA8E, 0x98C45C17, 0x98BCEE9F, + 0x98B58226, 0x98AE16AB, 0x98A6AC30, 0x989F42B3, 0x9897DA36, 0x989072B7, + 0x98890C38, 0x9881A6B9, 0x987A4238, 0x9872DEB7, 0x986B7C36, 0x98641AB4, + 0x985CBA31, 0x98555AAF, 0x984DFC2C, 0x98469EA9, 0x983F4226, 0x9837E6A3, + 0x98308C20, 0x9829329D, 0x9821DA1B, 0x981A8299, 0x98132C17, 0x980BD695, + 0x98048214, 0x97FD2E94, 0x97F5DC14, 0x97EE8A95, 0x97E73A17, 0x97DFEA99, + 0x97D89C1D, 0x97D14EA1, 0x97CA0226, 0x97C2B6AD, 0x97BB6C35, 0x97B422BE, + 0x97ACDA49, 0x97A592D4, 0x979E4C62, 0x979706F1, 0x978FC281, 0x97887F13, + 0x97813CA7, 0x9779FB3D, 0x9772BAD5, 0x976B7B6F, 0x97643D54, 0x975CFFF2, + 0x9755C392, 0x974E8834, 0x97474DD9, 0x97401480, 0x9738DC29, 0x9731A4D5, + 0x972A6E84, 0x97233935, 0x971C04E9, 0x9714D1A0, 0x970D9F59, 0x97066E16, + 0x96FF3DD6, 0x96F80E98, 0x96F0E05E, 0x96E9B327, 0x96E286F4, 0x96DB5BC3, + 0x96D43196, 0x96CD086D, 0x96C5E047, 0x96BEB925, 0x96B79307, 0x96B06DEC, + 0x96A949D5, 0x96A226C3, 0x969B04B4, 0x9693E3A9, 0x968CC3A2, 0x9685A49F, + 0x967E86A1, 0x967769A7, 0x96704DB2, 0x966932C1, 0x966218D4, 0x965AFFEC, + 0x9653E809, 0x964CD12A, 0x9645BB51, 0x963EA67C, 0x963792AC, 0x96307FE1, + 0x96296E1B, 0x96225D5A, 0x961B4D9F, 0x96143EE9, 0x960D3138, 0x9606248C, + 0x95FF18E6, 0x95F80E46, 0x95F104AB, 0x95E9FC16, 0x95E2F487, 0x95DBEE45, + 0x95D4E8C1, 0x95CDE444, 0x95C6E0CC, 0x95BFDE5A, 0x95B8DCEF, 0x95B1DC8A, + 0x95AADD2B, 0x95A3DED2, 0x959CE180, 0x9595E535, 0x958EE9F0, 0x9587EFB1, + 0x9580F67A, 0x9579FE49, 0x9573071F, 0x956C10FC, 0x95651BE0, 0x955E27CB, + 0x955734BC, 0x955042B6, 0x954951B6, 0x954261BE, 0x953B72CD, 0x953484E3, + 0x952D9801, 0x9526AC27, 0x951FC154, 0x9518D789, 0x9511EEC6, 0x950B070A, + 0x95042057, 0x94FD3AAB, 0x94F65608, 0x94EF726C, 0x94E88FD9, 0x94E1AE4E, + 0x94DACDCB, 0x94D3EE51, 0x94CD0FDF, 0x94C63276, 0x94BF5615, 0x94B87ABD, + 0x94B1A06D, 0x94AAC727, 0x94A3EEE9, 0x949D17B4, 0x94964188, 0x948F6C65, + 0x9488984B, 0x9481C53A, 0x947AF333, 0x94742235, 0x946D5240, 0x9466839A, + 0x945FB5B8, 0x9458E8E0, 0x94521D11, 0x944B524C, 0x9444884B, 0x943DBF9A, + 0x9436F7F2, 0x94303155, 0x94296BC1, 0x9422A738, 0x941BE3B8, 0x94152143, + 0x940E5FD8, 0x94079F78, 0x9400E021, 0x93FA21D6, 0x93F36495, 0x93ECA85E, + 0x93E5ED32, 0x93DF3311, 0x93D879FB, 0x93D1C1EF, 0x93CB0AEF, 0x93C454F9, + 0x93BDA00F, 0x93B6EC2F, 0x93B0395B, 0x93A9881B, 0x93A2D75D, 0x939C27AB, + 0x93957904, 0x938ECB68, 0x93881ED9, 0x93817354, 0x937AC8DC, 0x93741F6F, + 0x936D770E, 0x9366CFB9, 0x93602970, 0x93598433, 0x9352E003, 0x934C3CDE, + 0x93459AC5, 0x933EF9B9, 0x933859B9, 0x9331BAC6, 0x932B1CDE, 0x93248004, + 0x931DE436, 0x93174975, 0x9310AFC0, 0x930A1718, 0x93037F7E, 0x92FCE8F0, + 0x92F6536F, 0x92EFBEFB, 0x92E92B94, 0x92E2993A, 0x92DC07EE, 0x92D577AE, + 0x92CEE87D, 0x92C85A58, 0x92C1CD41, 0x92BB4138, 0x92B4B63C, 0x92AE2C4E, + 0x92A7A36E, 0x92A11B9B, 0x929A94D7, 0x92940F20, 0x928D8A77, 0x928706DC, + 0x92808450, 0x927A02D1, 0x92738261, 0x926D02FF, 0x926684AC, 0x92600767, + 0x92598B30, 0x92531008, 0x924C95EF, 0x92461CE4, 0x923FA4E8, 0x92392DFB, + 0x9232B81C, 0x922C434D, 0x9225CF8D, 0x921F5CDB, 0x9218EB39, 0x92127AA6, + 0x920C0B22, 0x92059CAD, 0x91FF2F48, 0x91F8C2F3, 0x91F257AC, 0x91EBED76, + 0x91E5844E, 0x91DF1C37, 0x91D8B52F, 0x91D24F37, 0x91CBEA4F, 0x91C58677, + 0x91BF23AF, 0x91B8C1F7, 0x91B2614F, 0x91AC01B7, 0x91A5A32F, 0x919F45B8, + 0x9198E951, 0x91928DFA, 0x918C33B4, 0x9185DA7F, 0x917F825A, 0x91792B45, + 0x9172D542, 0x916C804F, 0x91662C6D, 0x915FD99C, 0x915987DC, 0x9153372C, + 0x914CE78E, 0x91469901, 0x91404B86, 0x9139FF1B, 0x9133B3C2, 0x912D697A, + 0x91272044, 0x9120D81F, 0x911A910C, 0x91144B0B, 0x910E061B, 0x9107C23C, + 0x91017F70, 0x90FB3DB6, 0x90F4FD0D, 0x90EEBD77, 0x90E87F71, 0x90E241FF, + 0x90DC059E, 0x90D5CA50, 0x90CF9014, 0x90C956EB, 0x90C31ED4, 0x90BCE7CF, + 0x90B6B1DD, 0x90B07CFE, 0x90AA4931, 0x90A41677, 0x909DE4D0, 0x9097B43B, + 0x909184BA, 0x908B564B, 0x908528EF, 0x907EFCA7, 0x9078D171, 0x9072A74F, + 0x906C7E40, 0x90665644, 0x90602F5C, 0x905A0987, 0x9053E4C5, 0x904DC118, + 0x90479E7D, 0x90417CF7, 0x903B5C84, 0x90353D25, 0x902F1ED9, 0x902901A2, + 0x9022E57E, 0x901CCA6F, 0x9016B074, 0x9010978C, 0x900A7FB9, 0x900468FA, + 0x8FFE5350, 0x8FF83EBA, 0x8FF22B38, 0x8FEC18CB, 0x8FE60772, 0x8FDFF72E, + 0x8FD9E7FF, 0x8FD3D9E4, 0x8FCDCCDE, 0x8FC7C0ED, 0x8FC1B611, 0x8FBBAC4A, + 0x8FB5A397, 0x8FAF9BFA, 0x8FA99572, 0x8FA38FFF, 0x8F9D8BA2, 0x8F978859, + 0x8F918626, 0x8F8B8509, 0x8F858501, 0x8F7F860E, 0x8F798831, 0x8F738B6A, + 0x8F6D8FB8, 0x8F67951D, 0x8F619B96, 0x8F5BA326, 0x8F55ABCC, 0x8F4FB588, + 0x8F49C05A, 0x8F43CC42, 0x8F3DD940, 0x8F37E754, 0x8F31F67F, 0x8F2C06C0, + 0x8F261817, 0x8F202A85, 0x8F1A3E09, 0x8F1452A4, 0x8F0E6855, 0x8F087F1E, + 0x8F0296FC, 0x8EFCAFF2, 0x8EF6C9FF, 0x8EF0E522, 0x8EEB015D, 0x8EE51EAE, + 0x8EDF3D16, 0x8ED95C96, 0x8ED37D2D, 0x8ECD9EDB, 0x8EC7C1A0, 0x8EC1E57D, + 0x8EBC0A71, 0x8EB6307D, 0x8EB057A0, 0x8EAA7FDB, 0x8EA4A92D, 0x8E9ED397, + 0x8E98FF19, 0x8E932BB3, 0x8E8D5964, 0x8E87882E, 0x8E81B80F, 0x8E7BE909, + 0x8E761B1A, 0x8E704E44, 0x8E6A8286, 0x8E64B7E0, 0x8E5EEE52, 0x8E5925DD, + 0x8E535EF6, 0x8E4D98B2, 0x8E47D386, 0x8E420F73, 0x8E3C4C78, 0x8E368A96, + 0x8E30C9CD, 0x8E2B0A1D, 0x8E254B86, 0x8E1F8E07, 0x8E19D1A2, 0x8E141655, + 0x8E0E5C22, 0x8E08A308, 0x8E02EB06, 0x8DFD341F, 0x8DF77E50, 0x8DF1C99B, + 0x8DEC15FF, 0x8DE6637D, 0x8DE0B215, 0x8DDB01C6, 0x8DD55290, 0x8DCFA474, + 0x8DC9F772, 0x8DC44B8A, 0x8DBEA0BC, 0x8DB8F708, 0x8DB34E6D, 0x8DADA6ED, + 0x8DA80086, 0x8DA25B3A, 0x8D9CB708, 0x8D9713F0, 0x8D9171F3, 0x8D8BD110, + 0x8D863147, 0x8D809299, 0x8D7AF505, 0x8D75588C, 0x8D6FBD2D, 0x8D6A22EA, + 0x8D6489C0, 0x8D5EF1B2, 0x8D595ABE, 0x8D53C4E6, 0x8D4E3028, 0x8D489C85, + 0x8D4309FE, 0x8D3D7891, 0x8D37E840, 0x8D32590A, 0x8D2CCAEF, 0x8D273DEF, + 0x8D21B20B, 0x8D1C2742, 0x8D169D95, 0x8D111503, 0x8D0B8D8D, 0x8D060733, + 0x8D0081F4, 0x8CFAFDD1, 0x8CF57ACA, 0x8CEFF8DE, 0x8CEA780F, 0x8CE4F85B, + 0x8CDF79C4, 0x8CD9FC48, 0x8CD47FE9, 0x8CCF04A6, 0x8CC98A7F, 0x8CC41174, + 0x8CBE9986, 0x8CB922B4, 0x8CB3ACFE, 0x8CAE3865, 0x8CA8C4E9, 0x8CA35289, + 0x8C9DE145, 0x8C98711F, 0x8C930215, 0x8C8D9428, 0x8C882758, 0x8C82BBA5, + 0x8C7D510E, 0x8C77E795, 0x8C727F39, 0x8C6D17FA, 0x8C67B1D8, 0x8C624CD3, + 0x8C5CE8EC, 0x8C578622, 0x8C522475, 0x8C4CC3E6, 0x8C476474, 0x8C42061F, + 0x8C3CA8E9, 0x8C374CD0, 0x8C31F1D4, 0x8C2C97F7, 0x8C273F37, 0x8C21E795, + 0x8C1C9111, 0x8C173BAA, 0x8C11E762, 0x8C0C9438, 0x8C07422C, 0x8C01F13E, + 0x8BFCA16F, 0x8BF752BD, 0x8BF20596, 0x8BECB921, 0x8BE76DCB, 0x8BE22393, + 0x8BDCDA79, 0x8BD7927E, 0x8BD24BA2, 0x8BCD05E4, 0x8BC7C145, 0x8BC27DC5, + 0x8BBD3B64, 0x8BB7FA21, 0x8BB2B9FE, 0x8BAD7AF9, 0x8BA83D14, 0x8BA3004D, + 0x8B9DC4A6, 0x8B988A1D, 0x8B9350B4, 0x8B8E186B, 0x8B88E140, 0x8B83AB35, + 0x8B7E7649, 0x8B79427D, 0x8B740FD0, 0x8B6EDE43, 0x8B69ADD6, 0x8B647E88, + 0x8B5F505A, 0x8B5A234C, 0x8B54F75D, 0x8B4FCC8E, 0x8B4AA2E0, 0x8B457A51, + 0x8B4052E2, 0x8B3B2C93, 0x8B360765, 0x8B30E357, 0x8B2BC068, 0x8B269E9A, + 0x8B217DED, 0x8B1C5E60, 0x8B173FF3, 0x8B1222A6, 0x8B0D067B, 0x8B07EB6F, + 0x8B02D185, 0x8AFDB8BB, 0x8AF8A111, 0x8AF38A89, 0x8AEE7521, 0x8AE960DA, + 0x8AE44DB4, 0x8ADF3BAF, 0x8ADA2ACB, 0x8AD51B08, 0x8AD00C66, 0x8ACAFEE6, + 0x8AC5F286, 0x8AC0E748, 0x8ABBDD2B, 0x8AB6D42F, 0x8AB1CC55, 0x8AACC59C, + 0x8AA7C005, 0x8AA2BB8F, 0x8A9DB83B, 0x8A98B609, 0x8A93B4F8, 0x8A8EB509, + 0x8A89B63B, 0x8A84B890, 0x8A7FBC06, 0x8A7AC09E, 0x8A75C659, 0x8A70CD35, + 0x8A6BD533, 0x8A66DE54, 0x8A61E896, 0x8A5CF3FB, 0x8A580082, 0x8A530E2C, + 0x8A4E1CF7, 0x8A492CE5, 0x8A443DF6, 0x8A3F5029, 0x8A3A637F, 0x8A3577F7, + 0x8A308D92, 0x8A2BA44F, 0x8A26BC30, 0x8A21D533, 0x8A1CEF59, 0x8A180AA2, + 0x8A13270D, 0x8A0E449C, 0x8A09634E, 0x8A048322, 0x89FFA41A, 0x89FAC635, + 0x89F5E974, 0x89F10DD5, 0x89EC335A, 0x89E75A02, 0x89E281CD, 0x89DDAABC, + 0x89D8D4CF, 0x89D40005, 0x89CF2C5E, 0x89CA5A3E, 0x89C588DF, 0x89C0B8A3, + 0x89BBE98B, 0x89B71B97, 0x89B24EC7, 0x89AD831B, 0x89A8B893, 0x89A3EF2F, + 0x899F26EF, 0x899A5FD2, 0x899599DA, 0x8990D507, 0x898C1157, 0x89874ECC, + 0x89828D65, 0x897DCD22, 0x89790E04, 0x8974500A, 0x896F9335, 0x896AD784, + 0x89661CF8, 0x89616391, 0x895CAB4E, 0x8957F430, 0x89533E37, 0x894E8962, + 0x8949D5B3, 0x89452328, 0x894071C2, 0x893BC182, 0x89371266, 0x8932646F, + 0x892DB79E, 0x89290BF2, 0x8924616B, 0x891FB809, 0x891B0FCC, 0x891668B5, + 0x8911C2C4, 0x890D1DF7, 0x89087A51, 0x8903D7D0, 0x88FF3674, 0x88FA963E, + 0x88F5F72E, 0x88F15943, 0x88ECBC7E, 0x88E820DF, 0x88E38666, 0x88DEED13, + 0x88DA54E6, 0x88D5BDDE, 0x88D127FD, 0x88CC9342, 0x88C7FFAD, 0x88C36D3E, + 0x88BEDBF5, 0x88BA4BD2, 0x88B5BCD6, 0x88B12F00, 0x88ACA251, 0x88A816C8, + 0x88A38C65, 0x889F0329, 0x889A7B14, 0x8895F425, 0x88916E5C, 0x888CE9BB, + 0x88886640, 0x8883E3EC, 0x887F62BF, 0x887AE2B8, 0x887663D9, 0x8871E620, + 0x886D698F, 0x8868EE24, 0x886473E1, 0x885FFAC5, 0x885B82CF, 0x88570C01, + 0x8852965B, 0x884E21DB, 0x8849AE83, 0x88453C53, 0x8840CB49, 0x883C5B68, + 0x8837ECAD, 0x88337F1B, 0x882F12AF, 0x882AA76C, 0x88263D50, 0x8821D45C, + 0x881D6C90, 0x881905EB, 0x8814A06E, 0x88103C1A, 0x880BD8ED, 0x880776E8, + 0x8803160B, 0x87FEB656, 0x87FA57CA, 0x87F5FA65, 0x87F19E29, 0x87ED4315, + 0x87E8E929, 0x87E49065, 0x87E038CA, 0x87DBE257, 0x87D78D0D, 0x87D33943, + 0x87CEE64A, 0x87CA9479, 0x87C643D0, 0x87C1F451, 0x87BDA5FA, 0x87B958CB, + 0x87B50CC6, 0x87B0C1E9, 0x87AC7836, 0x87A82FAB, 0x87A3E849, 0x879FA210, + 0x879B5D00, 0x87971919, 0x8792D65B, 0x878E94C6, 0x878A545B, 0x87861519, + 0x8781D700, 0x877D9A10, 0x87795E4A, 0x877523AD, 0x8770EA39, 0x876CB1EF, + 0x87687ACF, 0x876444D8, 0x8760100A, 0x875BDC66, 0x8757A9EC, 0x8753789C, + 0x874F4875, 0x874B1978, 0x8746EBA5, 0x8742BEFC, 0x873E937D, 0x873A6928, + 0x87363FFD, 0x873217FB, 0x872DF124, 0x8729CB77, 0x8725A6F4, 0x8721839B, + 0x871D616D, 0x87194069, 0x8715208F, 0x871101DF, 0x870CE45A, 0x8708C800, + 0x8704ACCF, 0x870092CA, 0x86FC79EE, 0x86F8623E, 0x86F44BB8, 0x86F0365D, + 0x86EC222C, 0x86E80F26, 0x86E3FD4B, 0x86DFEC9B, 0x86DBDD16, 0x86D7CEBB, + 0x86D3C18C, 0x86CFB587, 0x86CBAAAE, 0x86C7A0FF, 0x86C3987C, 0x86BF9124, + 0x86BB8AF7, 0x86B785F5, 0x86B3821F, 0x86AF7F73, 0x86AB7DF4, 0x86A77D9F, + 0x86A37E76, 0x869F8078, 0x869B83A6, 0x869787FF, 0x86938D84, 0x868F9435, + 0x868B9C11, 0x8687A519, 0x8683AF4C, 0x867FBAAC, 0x867BC737, 0x8677D4EE, + 0x8673E3D1, 0x866FF3DF, 0x866C051A, 0x86681781, 0x86642B13, 0x86603FD2, + 0x865C55BD, 0x86586CD4, 0x86548517, 0x86509E86, 0x864CB922, 0x8648D4EA, + 0x8644F1DE, 0x86410FFE, 0x863D2F4B, 0x86394FC5, 0x8635716B, 0x8631943D, + 0x862DB83C, 0x8629DD67, 0x862603BF, 0x86222B44, 0x861E53F6, 0x861A7DD4, + 0x8616A92D, 0x8612D565, 0x860F02C9, 0x860B315A, 0x86076119, 0x86039204, + 0x85FFC41C, 0x85FBF762, 0x85F82BD4, 0x85F46173, 0x85F09840, 0x85ECD03A, + 0x85E90961, 0x85E543B5, 0x85E17F36, 0x85DDBBE5, 0x85D9F9C2, 0x85D638CB, + 0x85D27902, 0x85CEBA67, 0x85CAFCF8, 0x85C740B8, 0x85C385A5, 0x85BFCBC0, + 0x85BC1308, 0x85B85B7E, 0x85B4A522, 0x85B0EFF3, 0x85AD3BF2, 0x85A98920, + 0x85A5D77A, 0x85A22703, 0x859E77BA, 0x859AC99F, 0x85971CB1, 0x859370F2, + 0x858FC661, 0x858C1CFE, 0x858874C9, 0x8584CDC2, 0x858127EA, 0x857D833F, + 0x8579DFC3, 0x85763D76, 0x85729C56, 0x856EFC66, 0x856B5DA3, 0x8567C00F, + 0x856423A9, 0x85608872, 0x855CEE6A, 0x85595590, 0x8555BDE5, 0x85522768, + 0x854E921A, 0x854AFDFB, 0x85476B0B, 0x8543D949, 0x854048B6, 0x853CB952, + 0x85392B1D, 0x85359E17, 0x85321240, 0x852E8798, 0x852AFE1F, 0x852775D5, + 0x8523EEBA, 0x852068CF, 0x851CE412, 0x85196085, 0x8515DE27, 0x85125CF8, + 0x850EDCF9, 0x850B5E29, 0x8507E088, 0x85046417, 0x8500E8D5, 0x84FD6EC3, + 0x84F9F5E0, 0x84F67E2C, 0x84F307A9, 0x84EF9255, 0x84EC1E30, 0x84E8AB3C, + 0x84E53976, 0x84E1C8E1, 0x84DE597C, 0x84DAEB46, 0x84D77E40, 0x84D4126A, + 0x84D0A7C4, 0x84CD3E4E, 0x84C9D608, 0x84C66EF2, 0x84C3090C, 0x84BFA456, + 0x84BC40D0, 0x84B8DE7A, 0x84B57D55, 0x84B21D60, 0x84AEBE9A, 0x84AB6106, + 0x84A804A1, 0x84A4A96D, 0x84A14F69, 0x849DF696, 0x849A9EF3, 0x84974880, + 0x8493F33E, 0x84909F2D, 0x848D4C90, 0x8489FADF, 0x8486AA60, 0x84835B11, + 0x84800CF2, 0x847CC005, 0x84797448, 0x847629BC, 0x8472E060, 0x846F9836, + 0x846C513C, 0x84690B74, 0x8465C6DC, 0x84628375, 0x845F4140, 0x845C003B, + 0x8458C067, 0x845581C5, 0x84524453, 0x844F0813, 0x844BCD04, 0x84489327, + 0x84455A7A, 0x844222FF, 0x843EECB5, 0x843BB79C, 0x843883B5, 0x84355100, + 0x84321F7B, 0x842EEF28, 0x842BC007, 0x84289217, 0x84256559, 0x842239CD, + 0x841F0F72, 0x841BE648, 0x8418BE51, 0x8415978B, 0x841271F7, 0x840F4D94, + 0x840C2A64, 0x84090865, 0x8405E798, 0x8402C7FD, 0x83FFA994, 0x83FC8C5D, + 0x83F97058, 0x83F65585, 0x83F33BE4, 0x83F02375, 0x83ED0C38, 0x83E9F62E, + 0x83E6E155, 0x83E3CDAF, 0x83E0BB3B, 0x83DDA9F9, 0x83DA99EA, 0x83D78B0D, + 0x83D47D62, 0x83D170E9, 0x83CE65A3, 0x83CB5B90, 0x83C852AF, 0x83C54B00, + 0x83C24484, 0x83BF3F3A, 0x83BC3B23, 0x83B9383F, 0x83B6368D, 0x83B3360E, + 0x83B036C2, 0x83AD38A8, 0x83AA3BC2, 0x83A7400E, 0x83A4458C, 0x83A14C3E, + 0x839E5422, 0x839B5D3A, 0x83986784, 0x83957301, 0x83927FB2, 0x838F8D95, + 0x838C9CAB, 0x8389ACF4, 0x8386BE71, 0x8383D121, 0x8380E503, 0x837DFA19, + 0x837B1062, 0x837827DF, 0x8375408E, 0x83725A71, 0x836F7588, 0x836C91D1, + 0x8369AF4E, 0x8366CDFF, 0x8363EDE3, 0x83610EFA, 0x835E3145, 0x835B54C3, + 0x83587975, 0x83559F5A, 0x8352C674, 0x834FEEC0, 0x834D1841, 0x834A42F5, + 0x83476EDC, 0x83449BF8, 0x8341CA47, 0x833EF9CA, 0x833C2ABA, 0x83395CA5, + 0x83368FC3, 0x8333C416, 0x8330F99C, 0x832E3056, 0x832B6844, 0x8328A167, + 0x8325DBBD, 0x83231747, 0x83205406, 0x831D91F8, 0x831AD11F, 0x8318117A, + 0x83155309, 0x831295CC, 0x830FD9C4, 0x830D1EF0, 0x830A6550, 0x8307ACE4, + 0x8304F5AD, 0x83023FAA, 0x82FF8ADC, 0x82FCD742, 0x82FA24DC, 0x82F773AB, + 0x82F4C3AF, 0x82F214E7, 0x82EF6753, 0x82ECBAF4, 0x82EA0FCA, 0x82E765D4, + 0x82E4BD13, 0x82E21587, 0x82DF6F30, 0x82DCCA0D, 0x82DA261F, 0x82D78365, + 0x82D4E1E1, 0x82D24191, 0x82CFA277, 0x82CD0491, 0x82CA67E0, 0x82C7CC64, + 0x82C5321D, 0x82C2990B, 0x82C0012E, 0x82BD6A86, 0x82BAD513, 0x82B840D5, + 0x82B5ADCD, 0x82B31BF9, 0x82B08B5B, 0x82ADFBF2, 0x82AB6DBE, 0x82A8E0BF, + 0x82A654F6, 0x82A3CA62, 0x82A14103, 0x829EB8D9, 0x829C31E5, 0x8299AC26, + 0x8297279D, 0x8294A449, 0x8292222B, 0x828FA142, 0x828D218E, 0x828AA311, + 0x828825C8, 0x8285A9B6, 0x82832ED8, 0x8280B531, 0x827E3CBF, 0x827BC583, + 0x82794F7C, 0x8276DAAC, 0x82746711, 0x8271F4AB, 0x826F837C, 0x826D1382, + 0x826AA4BF, 0x82683731, 0x8265CAD9, 0x82635FB6, 0x8260F5CA, 0x825E8D14, + 0x825C2594, 0x8259BF4A, 0x82575A35, 0x8254F657, 0x825293AF, 0x8250323D, + 0x824DD201, 0x824B72FC, 0x8249152C, 0x8246B893, 0x82445D30, 0x82420303, + 0x823FAA0C, 0x823D524C, 0x823AFBC2, 0x8238A66E, 0x82365251, 0x8233FF6A, + 0x8231ADB9, 0x822F5D3F, 0x822D0DFB, 0x822ABFEE, 0x82287317, 0x822627A5, + 0x8223DD3C, 0x82219408, 0x821F4C0B, 0x821D0545, 0x821ABFB6, 0x82187B5D, + 0x8216383B, 0x8213F64F, 0x8211B59A, 0x820F761C, 0x820D37D5, 0x820AFAC4, + 0x8208BEEA, 0x82068447, 0x82044ADB, 0x820212A5, 0x81FFDBA7, 0x81FDA5DF, + 0x81FB714F, 0x81F93DF5, 0x81F70BD2, 0x81F4DAE6, 0x81F2AB32, 0x81F07CB4, + 0x81EE4F6D, 0x81EC235D, 0x81E9F885, 0x81E7CEE3, 0x81E5A679, 0x81E37F46, + 0x81E1594A, 0x81DF3485, 0x81DD10F7, 0x81DAEEA1, 0x81D8CD82, 0x81D6AD9A, + 0x81D48EE9, 0x81D27170, 0x81D0552E, 0x81CE3A24, 0x81CC2050, 0x81CA07B5, + 0x81C7F050, 0x81C5DA23, 0x81C3C52E, 0x81C1B170, 0x81BF9EE9, 0x81BD8D9A, + 0x81BB7D83, 0x81B96EA3, 0x81B760FA, 0x81B5548A, 0x81B34950, 0x81B13F4F, + 0x81AF3685, 0x81AD2EF3, 0x81AB2898, 0x81A92376, 0x81A71F8A, 0x81A51CD7, + 0x81A31B5C, 0x81A11B18, 0x819F1C0C, 0x819D1E38, 0x819B219C, 0x81992637, + 0x81972C0B, 0x81953316, 0x81933B59, 0x819144D5, 0x818F4F88, 0x818D5B73, + 0x818B6896, 0x818976F2, 0x81878685, 0x81859750, 0x8183A954, 0x8181BC8F, + 0x817FD103, 0x817DE6AE, 0x817BFD92, 0x817A15AE, 0x81782F02, 0x8176498F, + 0x81746554, 0x81728250, 0x8170A086, 0x816EBFF3, 0x816CE099, 0x816B0277, + 0x8169258D, 0x816749DC, 0x81656F63, 0x81639622, 0x8161BE1A, 0x815FE74A, + 0x815E11B3, 0x815C3D54, 0x815A6A2E, 0x81589840, 0x8156C78B, 0x8154F80E, + 0x815329CA, 0x81515CBE, 0x814F90EB, 0x814DC650, 0x814BFCEE, 0x814A34C5, + 0x81486DD4, 0x8146A840, 0x8144E3C1, 0x8143207A, 0x81415E6C, 0x813F9D97, + 0x813DDDFA, 0x813C1F97, 0x813A626C, 0x8138A679, 0x8136EBC0, 0x81353240, + 0x813379F8, 0x8131C2E9, 0x81300D13, 0x812E5876, 0x812CA512, 0x812AF2E7, + 0x812941F5, 0x8127923B, 0x8125E3BB, 0x81243674, 0x81228A65, 0x8120DF90, + 0x811F35F4, 0x811D8D91, 0x811BE667, 0x811A4076, 0x81189BBE, 0x8116F83F, + 0x811555F9, 0x8113B4ED, 0x8112151A, 0x81107680, 0x810ED91F, 0x810D3CF7, + 0x810BA209, 0x810A0853, 0x81086FD7, 0x8106D895, 0x8105428B, 0x8103ADBB, + 0x81021A25, 0x810087C7, 0x80FEF6A3, 0x80FD66B9, 0x80FBD807, 0x80FA4A90, + 0x80F8BE51, 0x80F7334C, 0x80F5A981, 0x80F420EE, 0x80F29996, 0x80F11377, + 0x80EF8E91, 0x80EE0AE5, 0x80EC8872, 0x80EB0739, 0x80E9873A, 0x80E80874, + 0x80E68AE8, 0x80E50E95, 0x80E3937C, 0x80E2199D, 0x80E0A0F7, 0x80DF298B, + 0x80DDB358, 0x80DC3E5F, 0x80DACAA0, 0x80D9581B, 0x80D7E6D0, 0x80D676BE, + 0x80D507E6, 0x80D39A47, 0x80D22DE3, 0x80D0C2B8, 0x80CF58C7, 0x80CDF010, + 0x80CC8893, 0x80CB2250, 0x80C9BD46, 0x80C85977, 0x80C6F6E1, 0x80C59585, + 0x80C43563, 0x80C2D67B, 0x80C178CD, 0x80C01C59, 0x80BEC11F, 0x80BD671F, + 0x80BC0E59, 0x80BAB6CD, 0x80B9607B, 0x80B80B63, 0x80B6B785, 0x80B564E2, + 0x80B41378, 0x80B2C348, 0x80B17453, 0x80B02697, 0x80AEDA16, 0x80AD8ECF, + 0x80AC44C2, 0x80AAFBEF, 0x80A9B456, 0x80A86DF8, 0x80A728D4, 0x80A5E4EA, + 0x80A4A23A, 0x80A360C4, 0x80A22089, 0x80A0E1A1, 0x809FA3DA, 0x809E674E, + 0x809D2BFC, 0x809BF1E4, 0x809AB906, 0x80998163, 0x80984AFA, 0x809715CB, + 0x8095E1D7, 0x8094AF1D, 0x80937D9E, 0x80924D59, 0x80911E4E, 0x808FF07E, + 0x808EC3E8, 0x808D988D, 0x808C6E6C, 0x808B4586, 0x808A1DDA, 0x8088F769, + 0x8087D232, 0x8086AE36, 0x80858B74, 0x808469ED, 0x808349A0, 0x80822A8E, + 0x80810CB6, 0x807FF019, 0x807ED4B7, 0x807DBA8F, 0x807CA1A2, 0x807B89F0, + 0x807A7378, 0x80795E3B, 0x80784A38, 0x80773770, 0x807625E3, 0x80751590, + 0x80740679, 0x8072F89B, 0x8071EBF9, 0x8070E091, 0x806FD664, 0x806ECD72, + 0x806DC5BB, 0x806CBF3E, 0x806BB9FC, 0x806AB5F5, 0x8069B329, 0x8068B198, + 0x8067B141, 0x8066B225, 0x8065B444, 0x8064B79E, 0x8063BC33, 0x8062C202, + 0x8061C90D, 0x8060D152, 0x805FDAD3, 0x805EE58E, 0x805DF184, 0x805CFEB5, + 0x805C0D21, 0x805B1CC8, 0x805A2DA9, 0x80593FC6, 0x8058531E, 0x805767B1, + 0x80567D7F, 0x80559487, 0x8054ACCB, 0x8053C64A, 0x8052E104, 0x8051FCF8, + 0x80511A28, 0x80503893, 0x804F5839, 0x804E791A, 0x804D9B36, 0x804CBE8D, + 0x804BE31F, 0x804B08ED, 0x804A2FF5, 0x80495839, 0x804881B8, 0x8047AC71, + 0x8046D866, 0x80460596, 0x80453402, 0x804463A8, 0x8043948A, 0x8042C6A6, + 0x8041F9FE, 0x80412E92, 0x80406460, 0x803F9B69, 0x803ED3AE, 0x803E0D2E, + 0x803D47E9, 0x803C83E0, 0x803BC112, 0x803AFF7F, 0x803A3F27, 0x8039800A, + 0x8038C229, 0x80380583, 0x80374A18, 0x80368FE9, 0x8035D704, 0x80351F4B, + 0x803468CD, 0x8033B38B, 0x8032FF84, 0x80324CB9, 0x80319B28, 0x8030EAD4, + 0x80303BBA, 0x802F8DDC, 0x802EE139, 0x802E35D2, 0x802D8BA6, 0x802CE2B5, + 0x802C3B00, 0x802B9486, 0x802AEF48, 0x802A4B45, 0x8029A87D, 0x802906F1, + 0x802866A0, 0x8027C78B, 0x802729B1, 0x80268D13, 0x8025F1B0, 0x80255789, + 0x8024BE9D, 0x802426EC, 0x80239077, 0x8022FB3E, 0x80226740, 0x8021D47D, + 0x802142F6, 0x8020B2AB, 0x8020239B, 0x801F95C6, 0x801F092D, 0x801E7DD0, + 0x801DF3AE, 0x801D6AC7, 0x801CE31D, 0x801C5CAD, 0x801BD77A, 0x801B5381, + 0x801AD0C5, 0x801A4F44, 0x8019CEFE, 0x80194FF5, 0x8018D226, 0x80185594, + 0x8017DA3D, 0x80176021, 0x8016E741, 0x80166F9D, 0x8015F934, 0x80158407, + 0x80151016, 0x80149D60, 0x80142BE6, 0x8013BBA7, 0x80134CA4, 0x8012DEDD, + 0x80127252, 0x80120702, 0x80119CED, 0x80113415, 0x8010CC78, 0x80106616, + 0x801000F1, 0x800F9D07, 0x800F3A58, 0x800ED8E6, 0x800E78AF, 0x800E19B4, + 0x800DBBF4, 0x800D5F70, 0x800D0428, 0x800CAA1C, 0x800C514B, 0x800BF9B6, + 0x800BA35D, 0x800B4E3F, 0x800AFA5D, 0x800AA7B7, 0x800A564D, 0x800A061E, + 0x8009B72B, 0x80096974, 0x80091CF8, 0x8008D1B9, 0x800887B5, 0x80083EEC, + 0x8007F760, 0x8007B10F, 0x80076BFA, 0x80072821, 0x8006E584, 0x8006A422, + 0x800663FC, 0x80062512, 0x8005E763, 0x8005AAF1, 0x80056FBA, 0x800535BF, + 0x8004FCFF, 0x8004C57C, 0x80048F34, 0x80045A28, 0x80042658, 0x8003F3C4, + 0x8003C26F, 0x80039252, 0x80036371, 0x800335CC, 0x80030962, 0x8002DE35, + 0x8002B443, 0x80028B8D, 0x80026412, 0x80023DD4, 0x800218D1, 0x8001F50A, + 0x8001D27F, 0x8001B130, 0x8001911C, 0x80017245, 0x800154A9, 0x80013849, + 0x80011D25, 0x8001033D, 0x8000EA90, 0x8000D31F, 0x8000BCEA, 0x8000A7F1, + 0x80009434, 0x800081B3, 0x8000706D, 0x80006063, 0x80005195, 0x80004403, + 0x800037AD, 0x80002C92, 0x800022B4, 0x80001A11, 0x800012AA, 0x80000C7F, + 0x8000078F, 0x800003DC, 0x80000164, 0x80000028 +}; + +const FIXED sine_2048[] = { + 0xFFF36F03, 0xFFDA4D09, 0xFFC12B0F, 0xFFA80918, 0xFF8EE725, 0xFF75C536, + 0xFF5CA34B, 0xFF438168, 0xFF2A5F8C, 0xFF113DB7, 0xFEF81BEE, 0xFEDEFA2D, + 0xFEC5D876, 0xFEACB6CE, 0xFE939531, 0xFE7A73A2, 0xFE615224, 0xFE4830B4, + 0xFE2F0F55, 0xFE15EE0A, 0xFDFCCCD0, 0xFDE3ABAA, 0xFDCA8A98, 0xFDB1699D, + 0xFD9848BC, 0xFD7F27EF, 0xFD66073A, 0xFD4CE69F, 0xFD33C61F, 0xFD1AA5BB, + 0xFD018577, 0xFCE8654C, 0xFCCF4541, 0xFCB62554, 0xFC9D0588, 0xFC83E5DE, + 0xFC6AC65A, 0xFC51A6F5, 0xFC3887B4, 0xFC1F6899, 0xFC0649A4, 0xFBED2AD7, + 0xFBD40C35, 0xFBBAEDB5, 0xFBA1CF67, 0xFB88B144, 0xFB6F9345, 0xFB56757B, + 0xFB3D57D7, 0xFB243A6A, 0xFB0B1D25, 0xFAF20019, 0xFAD8E33F, 0xFABFC690, + 0xFAA6AA1D, 0xFA8D8DD6, 0xFA7471CD, 0xFA5B55FB, 0xFA423A59, 0xFA291EF7, + 0xFA1003C7, 0xF9F6E8D9, 0xF9DDCE1F, 0xF9C4B3AA, 0xF9AB9972, 0xF9927F70, + 0xF97965B6, 0xF9604C34, 0xF94732FC, 0xF92E1A06, 0xF915014C, 0xF8FBE8DD, + 0xF8E2D0AC, 0xF8C9B8C9, 0xF8B0A126, 0xF89789D2, 0xF87E72C8, 0xF8655BFF, + 0xF84C458A, 0xF8332F59, 0xF81A197C, 0xF80103EE, 0xF7E7EEA7, 0xF7CED9AF, + 0xF7B5C518, 0xF79CB0C3, 0xF7839CC1, 0xF76A8923, 0xF75175C9, 0xF73862C5, + 0xF71F5018, 0xF7063DD2, 0xF6ED2BD5, 0xF6D41A32, 0xF6BB08F9, 0xF6A1F80B, + 0xF688E77A, 0xF66FD747, 0xF656C781, 0xF63DB80B, 0xF624A8F6, 0xF60B9A51, + 0xF5F28BFF, 0xF5D97E11, 0xF5C07096, 0xF5A76370, 0xF58E56B1, 0xF5754A59, + 0xF55C3E78, 0xF54332F1, 0xF52A27D4, 0xF5111D31, 0xF4F812EB, 0xF4DF0911, + 0xF4C5FFA6, 0xF4ACF6B9, 0xF493EE2B, 0xF47AE60F, 0xF461DE74, 0xF448D73C, + 0xF42FD078, 0xF416CA28, 0xF3FDC45D, 0xF3E4BEFA, 0xF3CBBA0D, 0xF3B2B5A9, + 0xF399B1AF, 0xF380AE2F, 0xF367AB3A, 0xF34EA8B2, 0xF335A6A7, 0xF31CA51A, + 0xF303A41C, 0xF2EAA38E, 0xF2D1A382, 0xF2B8A408, 0xF29FA500, 0xF286A67D, + 0xF26DA87F, 0xF254AB17, 0xF23BAE25, 0xF222B1BC, 0xF209B5EB, 0xF1F0BA94, + 0xF1D7BFC8, 0xF1BEC588, 0xF1A5CBE4, 0xF18CD2BE, 0xF173DA26, 0xF15AE22E, + 0xF141EAB7, 0xF128F3D1, 0xF10FFD8E, 0xF0F707CE, 0xF0DE12A2, 0xF0C51E0C, + 0xF0AC2A1C, 0xF09336B4, 0xF07A43E3, 0xF06151BC, 0xF048601F, 0xF02F6F1D, + 0xF0167EB8, 0xEFFD8EFF, 0xEFE49FD4, 0xEFCBB148, 0xEFB2C35C, 0xEF99D612, + 0xEF80E988, 0xEF67FD82, 0xEF4F121F, 0xEF362762, 0xEF1D3D4A, 0xEF0453D8, + 0xEEEB6B0F, 0xEED2830D, 0xEEB99B95, 0xEEA0B4C8, 0xEE87CEA7, 0xEE6EE931, + 0xEE560469, 0xEE3D2050, 0xEE243D05, 0xEE0B5A4B, 0xEDF27842, 0xEDD996EC, + 0xEDC0B648, 0xEDA7D659, 0xED8EF73E, 0xED7618BA, 0xED5D3AED, 0xED445DD7, + 0xED2B817B, 0xED12A5D8, 0xECF9CAF0, 0xECE0F0E3, 0xECC81774, 0xECAF3EC2, + 0xEC9666CF, 0xEC7D8F9C, 0xEC64B929, 0xEC4BE377, 0xEC330EA8, 0xEC1A3A7C, + 0xEC016715, 0xEBE89473, 0xEBCFC298, 0xEBB6F184, 0xEB9E2138, 0xEB8551D4, + 0xEB6C831B, 0xEB53B52E, 0xEB3AE80C, 0xEB221BB7, 0xEB095031, 0xEAF08579, + 0xEAD7BBB0, 0xEABEF299, 0xEAA62A54, 0xEA8D62E1, 0xEA749C42, 0xEA5BD678, + 0xEA431183, 0xEA2A4D84, 0xEA118A3E, 0xE9F8C7CF, 0xE9E0063B, 0xE9C74580, + 0xE9AE85A1, 0xE995C69E, 0xE97D0898, 0xE9644B50, 0xE94B8EE8, 0xE932D360, + 0xE91A18B9, 0xE9015EF3, 0xE8E8A631, 0xE8CFEE32, 0xE8B73719, 0xE89E80E5, + 0xE885CB98, 0xE86D1733, 0xE85463B6, 0xE83BB143, 0xE822FF9A, 0xE80A4EDE, + 0xE7F19F0D, 0xE7D8F02A, 0xE7C04236, 0xE7A79530, 0xE78EE93B, 0xE7763E17, + 0xE75D93E6, 0xE744EAA7, 0xE72C425D, 0xE7139B08, 0xE6FAF4A8, 0xE6E24F5F, + 0xE6C9AAEF, 0xE6B10777, 0xE69864F9, 0xE67FC376, 0xE66722EF, 0xE64E8364, + 0xE635E4F6, 0xE61D4767, 0xE604AAD8, 0xE5EC0F49, 0xE5D374BC, 0xE5BADB31, + 0xE5A242A9, 0xE589AB45, 0xE57114C6, 0xE5587F4E, 0xE53FEADD, 0xE5275773, + 0xE50EC513, 0xE4F633DC, 0xE4DDA391, 0xE4C51451, 0xE4AC861E, 0xE493F8F9, + 0xE47B6CE2, 0xE462E1DB, 0xE44A5804, 0xE431CF1F, 0xE419474D, 0xE400C08D, + 0xE3E83AE3, 0xE3CFB64D, 0xE3B732CE, 0xE39EB085, 0xE3862F34, 0xE36DAEFD, + 0xE3552FE0, 0xE33CB1DE, 0xE32434F8, 0xE30BB92F, 0xE2F33EA2, 0xE2DAC515, + 0xE2C24CA8, 0xE2A9D55B, 0xE2915F30, 0xE278EA27, 0xE2607642, 0xE24803A0, + 0xE22F9205, 0xE217218F, 0xE1FEB241, 0xE1E6441B, 0xE1CDD71E, 0xE1B56B4C, + 0xE19D00C3, 0xE1849747, 0xE16C2EF8, 0xE153C7D6, 0xE13B61E4, 0xE122FD21, + 0xE10A998E, 0xE0F2374C, 0xE0D9D61E, 0xE0C17623, 0xE0A9175D, 0xE090B9CC, + 0xE0785D71, 0xE060026C, 0xE047A880, 0xE02F4FCE, 0xE016F855, 0xDFFEA217, + 0xDFE64D16, 0xDFCDF951, 0xDFB5A6C9, 0xDF9D5581, 0xDF850578, 0xDF6CB6B0, + 0xDF546967, 0xDF3C1D23, 0xDF23D222, 0xDF0B8865, 0xDEF33FEE, 0xDEDAF8BD, + 0xDEC2B2D2, 0xDEAA6E30, 0xDE922AD7, 0xDE79E8C8, 0xDE61A804, 0xDE49688C, + 0xDE312A60, 0xDE18EDC0, 0xDE00B230, 0xDDE877F1, 0xDDD03F01, 0xDDB80763, + 0xDD9FD118, 0xDD879C1F, 0xDD6F687B, 0xDD57362C, 0xDD3F0533, 0xDD26D591, + 0xDD0EA747, 0xDCF67A56, 0xDCDE4EBF, 0xDCC624C0, 0xDCADFBDF, 0xDC95D45B, + 0xDC7DAE34, 0xDC65896C, 0xDC4D6603, 0xDC3543FA, 0xDC1D2353, 0xDC05040E, + 0xDBECE62C, 0xDBD4C9AE, 0xDBBCAE95, 0xDBA494E1, 0xDB8C7C95, 0xDB7465EE, + 0xDB5C5072, 0xDB443C60, 0xDB2C29B8, 0xDB14187C, 0xDAFC08AC, 0xDAE3FA4A, + 0xDACBED56, 0xDAB3E1D1, 0xDA9BD7BC, 0xDA83CF18, 0xDA6BC7E6, 0xDA53C227, + 0xDA3BBDDC, 0xDA23BB42, 0xDA0BB9E1, 0xD9F3B9F7, 0xD9DBBB85, 0xD9C3BE8A, + 0xD9ABC309, 0xD993C903, 0xD97BD077, 0xD963D968, 0xD94BE3D6, 0xD933EFC2, + 0xD91BFD2D, 0xD9040C17, 0xD8EC1CC0, 0xD8D42EAD, 0xD8BC421C, 0xD8A4570F, + 0xD88C6D87, 0xD8748584, 0xD85C9F07, 0xD844BA12, 0xD82CD6A4, 0xD814F4C0, + 0xD7FD1466, 0xD7E53596, 0xD7CD5853, 0xD7B57C9C, 0xD79DA2AF, 0xD785CA15, + 0xD76DF309, 0xD7561D8F, 0xD73E49A5, 0xD726774E, 0xD70EA68A, 0xD6F6D75A, + 0xD6DF09BF, 0xD6C73DBA, 0xD6AF734C, 0xD697AA76, 0xD67FE338, 0xD6681D94, + 0xD65059C7, 0xD6389759, 0xD620D687, 0xD6091753, 0xD5F159BC, 0xD5D99DC5, + 0xD5C1E36E, 0xD5AA2AB7, 0xD59273A3, 0xD57ABE31, 0xD5630A63, 0xD54B5839, + 0xD533A7B5, 0xD51BF914, 0xD5044BDE, 0xD4ECA050, 0xD4D4F66B, 0xD4BD4E30, + 0xD4A5A7A0, 0xD48E02BC, 0xD4765F85, 0xD45EBDFB, 0xD4471E20, 0xD42F7FF5, + 0xD417E37A, 0xD40048B0, 0xD3E8AF98, 0xD3D11870, 0xD3B982C0, 0xD3A1EEC5, + 0xD38A5C80, 0xD372CBF1, 0xD35B3D1A, 0xD343AFFC, 0xD32C2497, 0xD3149AED, + 0xD2FD12FE, 0xD2E58CCC, 0xD2CE0856, 0xD2B6859F, 0xD29F04A6, 0xD28785AA, + 0xD2700832, 0xD2588C7C, 0xD2411288, 0xD2299A58, 0xD21223EC, 0xD1FAAF46, + 0xD1E33C66, 0xD1CBCB4D, 0xD1B45BFC, 0xD19CEE74, 0xD18582B6, 0xD16E18C2, + 0xD156B0D6, 0xD13F4A7A, 0xD127E5EC, 0xD110832D, 0xD0F9223C, 0xD0E1C31C, + 0xD0CA65CD, 0xD0B30A50, 0xD09BB0A5, 0xD08458CF, 0xD06D02CD, 0xD055AEA0, + 0xD03E5C4A, 0xD0270BCB, 0xD00FBD60, 0xCFF87093, 0xCFE1259F, 0xCFC9DC87, + 0xCFB2954B, 0xCF9B4FEB, 0xCF840C68, 0xCF6CCAC5, 0xCF558B01, 0xCF3E4D1D, + 0xCF27111A, 0xCF0FD6F9, 0xCEF89EBC, 0xCEE16862, 0xCECA3428, 0xCEB30199, + 0xCE9BD0F0, 0xCE84A22F, 0xCE6D7556, 0xCE564A66, 0xCE3F2161, 0xCE27FA47, + 0xCE10D518, 0xCDF9B1D7, 0xCDE29083, 0xCDCB711D, 0xCDB453A8, 0xCD9D3822, + 0xCD861EC9, 0xCD6F0727, 0xCD57F178, 0xCD40DDBE, 0xCD29CBF8, 0xCD12BC27, + 0xCCFBAE4E, 0xCCE4A26C, 0xCCCD9882, 0xCCB69091, 0xCC9F8A9B, 0xCC8886A0, + 0xCC7184A1, 0xCC5A84D9, 0xCC4386D4, 0xCC2C8ACE, 0xCC1590C8, 0xCBFE98C2, + 0xCBE7A2BD, 0xCBD0AEBA, 0xCBB9BCBB, 0xCBA2CCBF, 0xCB8BDEC8, 0xCB74F2D7, + 0xCB5E08EC, 0xCB472109, 0xCB303B2E, 0xCB195797, 0xCB0275CF, 0xCAEB9613, + 0xCAD4B862, 0xCABDDCBF, 0xCAA70328, 0xCA902BA1, 0xCA795628, 0xCA6282C0, + 0xCA4BB16A, 0xCA34E225, 0xCA1E14F3, 0xCA0749D5, 0xC9F080CC, 0xC9D9BA12, + 0xC9C2F534, 0xC9AC326E, 0xC99571C0, 0xC97EB32C, 0xC967F6B1, 0xC9513C51, + 0xC93A840C, 0xC923CDE5, 0xC90D19DA, 0xC8F667EE, 0xC8DFB822, 0xC8C90A75, + 0xC8B25F23, 0xC89BB5B9, 0xC8850E72, 0xC86E694E, 0xC857C64F, 0xC8412575, + 0xC82A86C1, 0xC813EA34, 0xC7FD4FD0, 0xC7E6B794, 0xC7D02181, 0xC7B98D9A, + 0xC7A2FBDD, 0xC78C6C4D, 0xC775DF24, 0xC75F53EF, 0xC748CAE9, 0xC7324413, + 0xC71BBF6D, 0xC7053CF9, 0xC6EEBCB8, 0xC6D83EA9, 0xC6C1C2CF, 0xC6AB4929, + 0xC694D1BA, 0xC67E5C81, 0xC667E980, 0xC65178B7, 0xC63B0A60, 0xC6249E0B, + 0xC60E33F1, 0xC5F7CC12, 0xC5E16670, 0xC5CB030C, 0xC5B4A1E7, 0xC59E4300, + 0xC587E65A, 0xC5718BF5, 0xC55B33D2, 0xC544DDF2, 0xC52E8A55, 0xC5183936, + 0xC501EA23, 0xC4EB9D57, 0xC4D552D1, 0xC4BF0A94, 0xC4A8C49F, 0xC49280F4, + 0xC47C3F94, 0xC466007F, 0xC44FC3B6, 0xC439893A, 0xC423510D, 0xC40D1B2E, + 0xC3F6E79F, 0xC3E0B698, 0xC3CA87AB, 0xC3B45B10, 0xC39E30C8, 0xC38808D4, + 0xC371E335, 0xC35BBFEB, 0xC3459EF8, 0xC32F805C, 0xC3196419, 0xC3034A2E, + 0xC2ED329E, 0xC2D71D68, 0xC2C10A8E, 0xC2AAFA48, 0xC294EC28, 0xC27EE066, + 0xC268D703, 0xC252CFFF, 0xC23CCB5D, 0xC226C91C, 0xC210C93D, 0xC1FACBC2, + 0xC1E4D0AB, 0xC1CED7F9, 0xC1B8E1AD, 0xC1A2EDC7, 0xC18CFC49, 0xC1770D33, + 0xC1612086, 0xC14B3644, 0xC1354E6C, 0xC11F6900, 0xC1098601, 0xC0F3A5DE, + 0xC0DDC7BA, 0xC0C7EC06, 0xC0B212C1, 0xC09C3BED, 0xC086678B, 0xC070959B, + 0xC05AC61F, 0xC044F916, 0xC02F2E83, 0xC0196665, 0xC003A0BF, 0xBFEDDD8F, + 0xBFD81CD8, 0xBFC25E9B, 0xBFACA2D7, 0xBF96E98E, 0xBF8132C1, 0xBF6B7E71, + 0xBF55CC9D, 0xBF401D48, 0xBF2A7072, 0xBF14C61C, 0xBEFF1E47, 0xBEE978F3, + 0xBED3D622, 0xBEBE35D4, 0xBEA8980A, 0xBE92FD33, 0xBE7D6473, 0xBE67CE3B, + 0xBE523A89, 0xBE3CA960, 0xBE271AC0, 0xBE118EA9, 0xBDFC051E, 0xBDE67E1E, + 0xBDD0F9AA, 0xBDBB77C4, 0xBDA5F86B, 0xBD907BA2, 0xBD7B0168, 0xBD6589BE, + 0xBD5014A6, 0xBD3AA221, 0xBD25322E, 0xBD0FC4CF, 0xBCFA5A05, 0xBCE4F1D0, + 0xBCCF8C31, 0xBCBA292A, 0xBCA4C8BB, 0xBC8F6AE4, 0xBC7A0FA7, 0xBC64B704, + 0xBC4F616A, 0xBC3A0DFE, 0xBC24BD30, 0xBC0F6EFF, 0xBBFA236D, 0xBBE4DA7A, + 0xBBCF9428, 0xBBBA5076, 0xBBA50F66, 0xBB8FD0F9, 0xBB7A9530, 0xBB655C0A, + 0xBB50258A, 0xBB3AF1B0, 0xBB25C07C, 0xBB1091F0, 0xBAFB660C, 0xBAE63CD2, + 0xBAD11641, 0xBABBF25B, 0xBAA6D121, 0xBA91B294, 0xBA7C96B3, 0xBA677D81, + 0xBA5266FE, 0xBA3D532A, 0xBA284207, 0xBA133395, 0xB9FE2840, 0xB9E91F33, + 0xB9D418DA, 0xB9BF1536, 0xB9AA1447, 0xB995160E, 0xB9801A8C, 0xB96B21C2, + 0xB9562BB0, 0xB9413858, 0xB92C47BA, 0xB91759D7, 0xB9026EB0, 0xB8ED8646, + 0xB8D8A099, 0xB8C3BDAA, 0xB8AEDD7B, 0xB89A000B, 0xB885255C, 0xB8704D6F, + 0xB85B7843, 0xB846A5DB, 0xB831D637, 0xB81D0957, 0xB8083F3D, 0xB7F377E9, + 0xB7DEB35D, 0xB7C9F202, 0xB7B53306, 0xB7A076D3, 0xB78BBD6B, 0xB77706CD, + 0xB76252FC, 0xB74DA1F7, 0xB738F3C0, 0xB7244857, 0xB70F9FBE, 0xB6FAF9F4, + 0xB6E656FB, 0xB6D1B6D3, 0xB6BD197D, 0xB6A87EFB, 0xB693E74C, 0xB67F5273, + 0xB66AC06E, 0xB6563140, 0xB641A4E9, 0xB62D1B69, 0xB61894C3, 0xB60410F5, + 0xB5EF9002, 0xB5DB11EA, 0xB5C696AE, 0xB5B21E4E, 0xB59DA934, 0xB589368F, + 0xB574C6CA, 0xB56059E4, 0xB54BEFDF, 0xB53788BB, 0xB5232479, 0xB50EC31A, + 0xB4FA649F, 0xB4E60908, 0xB4D1B057, 0xB4BD5A8B, 0xB4A907A6, 0xB494B7A9, + 0xB4806A94, 0xB46C2068, 0xB457D927, 0xB44394D0, 0xB42F5364, 0xB41B14E5, + 0xB406D952, 0xB3F2A0AE, 0xB3DE6AF8, 0xB3CA3832, 0xB3B6085B, 0xB3A1DB76, + 0xB38DB182, 0xB3798A81, 0xB36566DA, 0xB35145C0, 0xB33D279B, 0xB3290C6C, + 0xB314F433, 0xB300DEF1, 0xB2ECCCA7, 0xB2D8BD56, 0xB2C4B0FE, 0xB2B0A7A0, + 0xB29CA13E, 0xB2889DD7, 0xB2749D6D, 0xB260A000, 0xB24CA592, 0xB238AE22, + 0xB224B9B2, 0xB210C842, 0xB1FCD9D3, 0xB1E8EE67, 0xB1D505FD, 0xB1C12097, + 0xB1AD3E35, 0xB1995ED7, 0xB1858280, 0xB171A92F, 0xB15DD2E6, 0xB14A000A, + 0xB1362FD1, 0xB12262A2, 0xB10E987D, 0xB0FAD164, 0xB0E70D57, 0xB0D34C56, + 0xB0BF8E62, 0xB0ABD37D, 0xB0981BA7, 0xB08466E0, 0xB070B52A, 0xB05D0685, + 0xB0495AF2, 0xB035B272, 0xB0220D05, 0xB00E6AAD, 0xAFFACB6A, 0xAFE72F3C, + 0xAFD39625, 0xAFC00025, 0xAFAC6D3E, 0xAF98DD6F, 0xAF8550B9, 0xAF71C71E, + 0xAF5E409E, 0xAF4ABD3A, 0xAF373CF2, 0xAF23C02B, 0xAF10461F, 0xAEFCCF31, + 0xAEE95B63, 0xAED5EAB5, 0xAEC27D29, 0xAEAF12BE, 0xAE9BAB76, 0xAE884751, + 0xAE74E650, 0xAE618874, 0xAE4E2DBE, 0xAE3AD62D, 0xAE2781C4, 0xAE143083, + 0xAE00E26A, 0xADED977A, 0xADDA4FB5, 0xADC70B1A, 0xADB3C9AB, 0xADA08B68, + 0xAD8D5052, 0xAD7A186A, 0xAD66E3B0, 0xAD53B225, 0xAD4083CB, 0xAD2D58A1, + 0xAD1A310A, 0xAD070C43, 0xACF3EAB0, 0xACE0CC50, 0xACCDB124, 0xACBA992E, + 0xACA7846E, 0xAC9472E4, 0xAC816491, 0xAC6E5977, 0xAC5B5195, 0xAC484CED, + 0xAC354B7F, 0xAC224D4C, 0xAC0F5255, 0xABFC5A9A, 0xABE9661D, 0xABD674DD, + 0xABC386DC, 0xABB09C1A, 0xAB9DB499, 0xAB8AD058, 0xAB77EF59, 0xAB65119D, + 0xAB523723, 0xAB3F5FED, 0xAB2C8BFB, 0xAB19BBAF, 0xAB06EE48, 0xAAF42429, + 0xAAE15D50, 0xAACE99C0, 0xAABBD979, 0xAAA91C7B, 0xAA9662C7, 0xAA83AC5E, + 0xAA70F941, 0xAA5E4971, 0xAA4B9CEE, 0xAA38F3B8, 0xAA264DD1, 0xAA13AB3A, + 0xAA010BF2, 0xA9EE6FFB, 0xA9DBD756, 0xA9C94203, 0xA9B6B003, 0xA9A42156, + 0xA99195FE, 0xA97F0DFB, 0xA96C894D, 0xA95A07F6, 0xA94789F6, 0xA9350F4E, + 0xA92297FF, 0xA9102467, 0xA8FDB3CB, 0xA8EB468A, 0xA8D8DCA4, 0xA8C6761A, + 0xA8B412EE, 0xA8A1B31F, 0xA88F56AE, 0xA87CFD9C, 0xA86AA7EA, 0xA8585598, + 0xA84606A8, 0xA833BB19, 0xA82172ED, 0xA80F2E24, 0xA7FCECBF, 0xA7EAAEBE, + 0xA7D87423, 0xA7C63CEE, 0xA7B40920, 0xA7A1D8B9, 0xA78FABBB, 0xA77D8225, + 0xA76B5BF9, 0xA7593937, 0xA74719E0, 0xA734FDF4, 0xA722E5D2, 0xA710D0C0, + 0xA6FEBF1B, 0xA6ECB0E6, 0xA6DAA61F, 0xA6C89EC8, 0xA6B69AE2, 0xA6A49A6D, + 0xA6929D6A, 0xA680A3D9, 0xA66EADBC, 0xA65CBB13, 0xA64ACBDF, 0xA638E020, + 0xA626F7D7, 0xA6151304, 0xA60331AA, 0xA5F153C7, 0xA5DF795D, 0xA5CDA26D, + 0xA5BBCEF7, 0xA5A9FEFC, 0xA598327C, 0xA5866979, 0xA574A3F2, 0xA562E1EA, + 0xA551235F, 0xA53F6854, 0xA52DB122, 0xA51BFD17, 0xA50A4C8D, 0xA4F89F84, + 0xA4E6F5FE, 0xA4D54FFB, 0xA4C3AD7C, 0xA4B20E81, 0xA4A0730B, 0xA48EDB1B, + 0xA47D46B2, 0xA46BB5D0, 0xA45A2876, 0xA4489EA4, 0xA437185B, 0xA425959D, + 0xA4141669, 0xA4029AC0, 0xA3F122A3, 0xA3DFAE12, 0xA3CE3D0F, 0xA3BCCF9A, + 0xA3AB65B3, 0xA399FF5C, 0xA3889C95, 0xA3773D5E, 0xA365E1B8, 0xA35489FD, + 0xA343357C, 0xA331E48F, 0xA3209735, 0xA30F4D70, 0xA2FE0740, 0xA2ECC4A6, + 0xA2DB85A3, 0xA2CA4A37, 0xA2B91263, 0xA2A7DE27, 0xA296AD85, 0xA285807D, + 0xA274570F, 0xA263313D, 0xA2520F06, 0xA240F06D, 0xA22FD570, 0xA21EBE11, + 0xA20DAA51, 0xA1FC9A30, 0xA1EB8DAF, 0xA1DA84CF, 0xA1C97F90, 0xA1B87DF2, + 0xA1A77FF7, 0xA196859F, 0xA1858F42, 0xA1749C32, 0xA163ACC8, 0xA152C103, + 0xA141D8E5, 0xA130F46E, 0xA120139E, 0xA10F3677, 0xA0FE5CF9, 0xA0ED8725, + 0xA0DCB4FB, 0xA0CBE67C, 0xA0BB1BA8, 0xA0AA5481, 0xA0999107, 0xA088D13A, + 0xA078151C, 0xA0675CAC, 0xA056A7EC, 0xA045F6DC, 0xA035497D, 0xA0249FD0, + 0xA013F9D4, 0xA003578B, 0x9FF2B8F5, 0x9FE21E14, 0x9FD186E7, 0x9FC0F36F, + 0x9FB06402, 0x9F9FD7F7, 0x9F8F4FA3, 0x9F7ECB06, 0x9F6E4A23, 0x9F5DCCF8, + 0x9F4D5387, 0x9F3CDDD1, 0x9F2C6BD5, 0x9F1BFD95, 0x9F0B9312, 0x9EFB2C4B, + 0x9EEAC942, 0x9EDA69F7, 0x9ECA0E6B, 0x9EB9B69E, 0x9EA96291, 0x9E991245, + 0x9E88C5BB, 0x9E787CF2, 0x9E6837EC, 0x9E57F6A9, 0x9E47B92A, 0x9E377F70, + 0x9E27497A, 0x9E17174A, 0x9E06E8E1, 0x9DF6BE91, 0x9DE697B6, 0x9DD674A3, + 0x9DC65559, 0x9DB639D8, 0x9DA62222, 0x9D960E36, 0x9D85FE16, 0x9D75F1C1, + 0x9D65E939, 0x9D55E47F, 0x9D45E392, 0x9D35E673, 0x9D25ED23, 0x9D15F7A4, + 0x9D0605F4, 0x9CF61815, 0x9CE62E08, 0x9CD647CC, 0x9CC66564, 0x9CB686CF, + 0x9CA6AC0D, 0x9C96D521, 0x9C870209, 0x9C7732C7, 0x9C67675C, 0x9C579FC7, + 0x9C47DC0A, 0x9C381C76, 0x9C28606A, 0x9C18A837, 0x9C08F3DF, 0x9BF94361, + 0x9BE996BE, 0x9BD9EDF7, 0x9BCA490D, 0x9BBAA7FF, 0x9BAB0ACF, 0x9B9B717E, + 0x9B8BDC0B, 0x9B7C4A78, 0x9B6CBCC5, 0x9B5D32F2, 0x9B4DAD01, 0x9B3E2AF1, + 0x9B2EACC4, 0x9B1F327A, 0x9B0FBC14, 0x9B004992, 0x9AF0DAF4, 0x9AE1703C, + 0x9AD2096B, 0x9AC2A67F, 0x9AB3477B, 0x9AA3EC5F, 0x9A949579, 0x9A85422E, + 0x9A75F2CD, 0x9A66A755, 0x9A575FC9, 0x9A481C28, 0x9A38DC72, 0x9A29A0AA, + 0x9A1A68CE, 0x9A0B34E0, 0x99FC04E0, 0x99ECD8D0, 0x99DDB0AE, 0x99CE8C7D, + 0x99BF6C3C, 0x99B04FED, 0x99A1378F, 0x99922323, 0x998312AB, 0x99740626, + 0x9964FD95, 0x9955F8F9, 0x9946F852, 0x9937FBA1, 0x992902E6, 0x991A0E23, + 0x990B1D57, 0x98FC30CF, 0x98ED47F3, 0x98DE6311, 0x98CF8229, 0x98C0A53B, + 0x98B1CC49, 0x98A2F752, 0x98942657, 0x98855959, 0x98769058, 0x9867CB55, + 0x98590A50, 0x984A4D4B, 0x983B9445, 0x982CDF3F, 0x981E2E3A, 0x980F8136, + 0x9800D834, 0x97F23334, 0x97E39238, 0x97D4F53F, 0x97C65C4A, 0x97B7C759, + 0x97A9366E, 0x979AA989, 0x978C20AA, 0x977D9BD2, 0x976F1B02, 0x97609E83, + 0x975225C3, 0x9743B10C, 0x9735405F, 0x9726D3BC, 0x97186B24, 0x970A0697, + 0x96FBA617, 0x96ED49A2, 0x96DEF13B, 0x96D09CE1, 0x96C24C96, 0x96B40059, + 0x96A5B82B, 0x9697740E, 0x96893400, 0x967AF804, 0x966CC019, 0x965E8C40, + 0x96505C79, 0x964230C5, 0x96340926, 0x9625E59A, 0x9617C623, 0x9609AAC1, + 0x95FB9375, 0x95ED8040, 0x95DF7169, 0x95D16662, 0x95C35F72, 0x95B55C9C, + 0x95A75DDE, 0x9599633A, 0x958B6CB0, 0x957D7A41, 0x956F8BEC, 0x9561A1B4, + 0x9553BB98, 0x9545D999, 0x9537FBB7, 0x952A21F3, 0x951C4C4E, 0x950E7AC7, + 0x9500AD60, 0x94F2E419, 0x94E51EF3, 0x94D75DED, 0x94C9A10A, 0x94BBE848, + 0x94AE33A9, 0x94A0832D, 0x9492D6D5, 0x94852EA2, 0x94778A93, 0x9469EAA9, + 0x945C4F2B, 0x944EB78D, 0x94412416, 0x943394C7, 0x942609A0, 0x941882A1, + 0x940AFFCB, 0x93FD811F, 0x93F0069D, 0x93E29045, 0x93D51E18, 0x93C7B017, + 0x93BA4642, 0x93ACE09A, 0x939F7F1E, 0x939221D1, 0x9384C8B1, 0x937773C0, + 0x936A22FF, 0x935CD66D, 0x934F8E0B, 0x934249DA, 0x933509DA, 0x9327CE0C, + 0x931A9671, 0x930D6308, 0x930033D2, 0x92F308D0, 0x92E5E202, 0x92D8BF69, + 0x92CBA106, 0x92BE86D8, 0x92B170E1, 0x92A45F20, 0x92975197, 0x928A4846, + 0x927D432D, 0x9270424C, 0x926345A5, 0x92564D38, 0x92495906, 0x923C6991, + 0x922F7DD5, 0x92229654, 0x9215B30F, 0x9208D407, 0x91FBF93D, 0x91EF22B0, + 0x91E25062, 0x91D58252, 0x91C8B882, 0x91BBF2F2, 0x91AF31A2, 0x91A27492, + 0x9195BBC4, 0x91890738, 0x917C56EE, 0x916FAAE7, 0x91630323, 0x91565FA2, + 0x9149C066, 0x913D256E, 0x91308EBC, 0x9123FC50, 0x91176E29, 0x910AE449, + 0x90FE5EB0, 0x90F1DD5F, 0x90E56056, 0x90D8E796, 0x90CC731E, 0x90C002F0, + 0x90B3970C, 0x90A72F73, 0x909ACC24, 0x908E6D21, 0x9082126A, 0x9075BBFF, + 0x906969E1, 0x905D1C10, 0x9050D28E, 0x90448D59, 0x90384C73, 0x902C0FDD, + 0x901FD796, 0x9013A39F, 0x900773F9, 0x8FFB48A4, 0x8FEF21A1, 0x8FE2FEF0, + 0x8FD6E091, 0x8FCAC685, 0x8FBEB0CD, 0x8FB29F69, 0x8FA69259, 0x8F9A899E, + 0x8F8E85B2, 0x8F8285A2, 0x8F7689E8, 0x8F6A9285, 0x8F5E9F78, 0x8F52B0C4, + 0x8F46C668, 0x8F3AE064, 0x8F2EFEB9, 0x8F232167, 0x8F174870, 0x8F0B73D3, + 0x8EFFA391, 0x8EF3D7AA, 0x8EE8101E, 0x8EDC4CEF, 0x8ED08E1D, 0x8EC4D3A8, + 0x8EB91D90, 0x8EAD6BD6, 0x8EA1BE7B, 0x8E96157E, 0x8E8A70E1, 0x8E7ED0A4, + 0x8E7334C7, 0x8E679D4B, 0x8E5C0A30, 0x8E507B76, 0x8E44F11F, 0x8E396B2A, + 0x8E2DE997, 0x8E226C69, 0x8E16F39E, 0x8E0B7F37, 0x8E000F35, 0x8DF4A398, + 0x8DE93C61, 0x8DDDD990, 0x8DD27B25, 0x8DC72121, 0x8DBBCB85, 0x8DB07A50, + 0x8DA52D83, 0x8D99E520, 0x8D8EA125, 0x8D836193, 0x8D78266C, 0x8D6CEFAF, + 0x8D61BD5D, 0x8D568F76, 0x8D4B65FB, 0x8D4040EB, 0x8D352049, 0x8D2A0413, + 0x8D1EECBC, 0x8D13D961, 0x8D08CA75, 0x8CFDBFF7, 0x8CF2B9E8, 0x8CE7B849, + 0x8CDCBB1A, 0x8CD1C25B, 0x8CC6CE0D, 0x8CBBDE31, 0x8CB0F2C6, 0x8CA60BCC, + 0x8C9B2946, 0x8C904B32, 0x8C857192, 0x8C7A9C65, 0x8C6FCBAD, 0x8C64FF69, + 0x8C5A379A, 0x8C4F7440, 0x8C44B55D, 0x8C39FAEF, 0x8C2F44F8, 0x8C249378, + 0x8C19E670, 0x8C0F3DE0, 0x8C0499C8, 0x8BF9FA28, 0x8BEF5F02, 0x8BE4C855, + 0x8BDA3622, 0x8BCFA86A, 0x8BC51F2C, 0x8BBA9A69, 0x8BB01A22, 0x8BA59E57, + 0x8B9B2708, 0x8B90B436, 0x8B8645E2, 0x8B7BDC0A, 0x8B7176B1, 0x8B6715D6, + 0x8B5CB97A, 0x8B52619D, 0x8B480E40, 0x8B3DBF62, 0x8B337505, 0x8B292F29, + 0x8B1EEDCE, 0x8B14B0F4, 0x8B0A789D, 0x8B0044C8, 0x8AF61575, 0x8AEBEAA6, + 0x8AE1C45A, 0x8AD7A2F9, 0x8ACD85B5, 0x8AC36CF6, 0x8AB958BC, 0x8AAF4908, + 0x8AA53DD9, 0x8A9B3731, 0x8A91350F, 0x8A873774, 0x8A7D3E61, 0x8A7349D5, + 0x8A6959D2, 0x8A5F6E57, 0x8A558765, 0x8A4BA4FC, 0x8A41C71E, 0x8A37EDC9, + 0x8A2E18FE, 0x8A2448BF, 0x8A1A7D0B, 0x8A10B5E2, 0x8A06F345, 0x89FD3535, + 0x89F37BB1, 0x89E9C6BB, 0x89E01652, 0x89D66A77, 0x89CCC32A, 0x89C3206B, + 0x89B9823C, 0x89AFE89C, 0x89A6538C, 0x899CC30B, 0x8993371B, 0x8989AFBC, + 0x89802CEF, 0x8976AEB2, 0x896D3508, 0x8963BFF0, 0x895A4F6A, 0x8950E378, + 0x89477C19, 0x893E194E, 0x8934BB16, 0x892B6174, 0x89220C66, 0x8918BBED, + 0x890F700A, 0x890628BC, 0x88FCE605, 0x88F3A7E5, 0x88EA6E5B, 0x88E13969, + 0x88D8090E, 0x88CEDD4C, 0x88C5B67F, 0x88BC93ED, 0x88B375F5, 0x88AA5C96, + 0x88A147D1, 0x889837A5, 0x888F2C15, 0x8886251F, 0x887D22C5, 0x88742505, + 0x886B2BE2, 0x8862375B, 0x88594771, 0x88505C24, 0x88477573, 0x883E9361, + 0x8835B5EC, 0x882CDD16, 0x882408DE, 0x881B3945, 0x88126E4C, 0x8809A7F2, + 0x8800E638, 0x87F8291F, 0x87EF70A6, 0x87E6BCCE, 0x87DE0D98, 0x87D56303, + 0x87CCBD10, 0x87C41BC0, 0x87BB7F12, 0x87B2E707, 0x87AA539F, 0x87A1C4DC, + 0x87993ABC, 0x8790B540, 0x87883469, 0x877FB837, 0x877740AB, 0x876ECDC4, + 0x87665F83, 0x875DF5E8, 0x875590F4, 0x874D30A7, 0x8744D501, 0x873C7E03, + 0x87342BAC, 0x872BDDFE, 0x872394F8, 0x871B509C, 0x871310E8, 0x870AD5DE, + 0x87029F7D, 0x86FA6DC7, 0x86F240BB, 0x86EA18AD, 0x86E1F4F7, 0x86D9D5EC, + 0x86D1BB8D, 0x86C9A5DA, 0x86C194D4, 0x86B9887A, 0x86B180CC, 0x86A97DCD, + 0x86A17F7A, 0x869985D6, 0x869190E0, 0x8689A098, 0x8681B4FF, 0x8679CE15, + 0x8671EBDB, 0x866A0E50, 0x86623575, 0x865A614B, 0x865291D1, 0x864AC708, + 0x864300F0, 0x863B3F8A, 0x863382D5, 0x862BCAD3, 0x86241783, 0x861C68E6, + 0x8614BEFC, 0x860D19C5, 0x86057942, 0x85FDDD73, 0x85F64657, 0x85EEB3F1, + 0x85E7263F, 0x85DF9D42, 0x85D818FA, 0x85D09968, 0x85C91E8C, 0x85C1A867, + 0x85BA36F7, 0x85B2CA3F, 0x85AB623E, 0x85A3FEF4, 0x859CA061, 0x85954687, + 0x858DF164, 0x8586A0FB, 0x857F554A, 0x85780E52, 0x8570CC13, 0x85698E8E, + 0x856255C3, 0x855B21B2, 0x8553F25C, 0x854CC7C0, 0x8545A228, 0x853E8103, + 0x85376499, 0x85304CEA, 0x852939F8, 0x85222BC3, 0x851B224A, 0x85141D8D, + 0x850D1D8E, 0x8506224D, 0x84FF2BC9, 0x84F83A03, 0x84F14CFC, 0x84EA64B3, + 0x84E38129, 0x84DCA25E, 0x84D5C852, 0x84CEF306, 0x84C8227A, 0x84C156AD, + 0x84BA8FA2, 0x84B3CD57, 0x84AD0FCC, 0x84A65703, 0x849FA2FC, 0x8498F3B6, + 0x84924932, 0x848BA370, 0x84850270, 0x847E6634, 0x8477CEBA, 0x84713C04, + 0x846AAE11, 0x846424E1, 0x845DA076, 0x845720CF, 0x8450A5EC, 0x844A2FCE, + 0x8443BE75, 0x843D51E2, 0x8436EA14, 0x8430870B, 0x842A28C9, 0x8423CF4C, + 0x841D7A97, 0x84172AA7, 0x8410DF7F, 0x840A991E, 0x84045785, 0x83FE1AB3, + 0x83F7E2A9, 0x83F1AF67, 0x83EB80ED, 0x83E5573D, 0x83DF3293, 0x83D91274, + 0x83D2F71E, 0x83CCE092, 0x83C6CED0, 0x83C0C1D8, 0x83BAB9AA, 0x83B4B646, + 0x83AEB7AD, 0x83A8BDE0, 0x83A2C8DD, 0x839CD8A6, 0x8396ED3A, 0x8391069B, + 0x838B24C7, 0x838547C0, 0x837F6F86, 0x83799C18, 0x8373CD77, 0x836E03A4, + 0x83683E9D, 0x83627E65, 0x835CC2FB, 0x83570C5E, 0x83515A90, 0x834BAD91, + 0x83460560, 0x834061FF, 0x833AC36C, 0x833529A9, 0x832F94B6, 0x832A0493, + 0x8324793F, 0x831EF2BC, 0x8319710A, 0x8313F428, 0x830E7C17, 0x830908D8, + 0x83039A69, 0x82FE30CD, 0x82F8CC02, 0x82F36C09, 0x82EE10E2, 0x82E8BA8D, + 0x82E3690C, 0x82DE1C5D, 0x82D8D481, 0x82D39178, 0x82CE5343, 0x82C919E1, + 0x82C3E553, 0x82BEB599, 0x82B98AB3, 0x82B464A2, 0x82AF4366, 0x82AA2732, + 0x82A50F9F, 0x829FFCE1, 0x829AEEF9, 0x8295E5E6, 0x8290E1A9, 0x828BE242, + 0x8286E7B1, 0x8281F1F7, 0x827D0113, 0x82781506, 0x82732DD0, 0x826E4B71, + 0x82696DEA, 0x82649539, 0x825FC161, 0x825AF260, 0x82562838, 0x825162E8, + 0x824CA270, 0x8247E6D1, 0x8243300A, 0x823E7E1D, 0x8239D109, 0x823528CE, + 0x8230856D, 0x822BE6E5, 0x82274D37, 0x8222B864, 0x821E286A, 0x82199D4B, + 0x82151707, 0x8210959D, 0x820C190F, 0x8207A15B, 0x82032E83, 0x81FEC086, + 0x81FA5764, 0x81F5F31F, 0x81F193B6, 0x81ED3928, 0x81E8E377, 0x81E492A3, + 0x81E046AB, 0x81DBFF8F, 0x81D7BD51, 0x81D37FF0, 0x81CF476C, 0x81CB13C6, + 0x81C6E4FD, 0x81C2BB13, 0x81BE9606, 0x81BA75D7, 0x81B65A86, 0x81B24414, + 0x81AE32AA, 0x81AA25F5, 0x81A61E1E, 0x81A21B27, 0x819E1D0F, 0x819A23D7, + 0x81962F7D, 0x81924004, 0x818E556A, 0x818A6FB1, 0x81868ED7, 0x8182B2DE, + 0x817EDBC5, 0x817B098D, 0x81773C35, 0x817373BE, 0x816FB028, 0x816BF174, + 0x816837A0, 0x816482AE, 0x8160D29E, 0x815D276F, 0x81598123, 0x8155DFB8, + 0x8152432F, 0x814EAB89, 0x814B18C5, 0x81478AE3, 0x814401E5, 0x81407DC9, + 0x813CFE90, 0x8139843A, 0x81360EC7, 0x81329E38, 0x812F328C, 0x812BCBC4, + 0x812869E0, 0x81250CDF, 0x8121B4C3, 0x811E618A, 0x811B1336, 0x8117C9C7, + 0x8114853B, 0x81114595, 0x810E0AD3, 0x810AD4F6, 0x8107A3FF, 0x810477EC, + 0x810150BF, 0x80FE2E77, 0x80FB1114, 0x80F7F898, 0x80F4E501, 0x80F1D650, + 0x80EECC84, 0x80EBC7BE, 0x80E8C7BF, 0x80E5CCA6, 0x80E2D674, 0x80DFE528, + 0x80DCF8C3, 0x80DA1145, 0x80D72EAE, 0x80D450FE, 0x80D17835, 0x80CEA453, + 0x80CBD558, 0x80C90B45, 0x80C6461A, 0x80C385D6, 0x80C0CA7A, 0x80BE1406, + 0x80BB627A, 0x80B8B5D6, 0x80B60E1A, 0x80B36B46, 0x80B0CD5B, 0x80AE3458, + 0x80ABA03E, 0x80A9110D, 0x80A686C4, 0x80A40165, 0x80A180EE, 0x809F0560, + 0x809C8EBC, 0x809A1D01, 0x8097B02F, 0x80954847, 0x8092E548, 0x80908733, + 0x808E2E08, 0x808BD9C6, 0x80898A6F, 0x80874001, 0x8084FA7D, 0x8082B9E4, + 0x80807E35, 0x807E4771, 0x807C1596, 0x8079E8A7, 0x8077C0A2, 0x80759D87, + 0x80737F58, 0x80716613, 0x806F51B9, 0x806D424B, 0x806B37C7, 0x8069322F, + 0x80673182, 0x806535C0, 0x80633EFD, 0x80614D12, 0x805F6013, 0x805D77FF, + 0x805B94D6, 0x8059B69A, 0x8057DD49, 0x805608E5, 0x8054396C, 0x80526EE0, + 0x8050A93F, 0x804EE88B, 0x804D2CC3, 0x804B75E7, 0x8049C3F8, 0x804816F6, + 0x80466EDF, 0x8044CBB6, 0x80432D79, 0x80419429, 0x803FFFC5, 0x803E704F, + 0x803CE5C5, 0x803B6028, 0x8039DF79, 0x803863B6, 0x8036ECE1, 0x80357AF8, + 0x80340DFE, 0x8032A5F0, 0x803142D0, 0x802FE49D, 0x802E8B57, 0x802D36FF, + 0x802BE795, 0x802A9D18, 0x80295789, 0x802816E8, 0x8026DB35, 0x8025A46F, + 0x80247297, 0x802345AD, 0x80221DB1, 0x8020FAA3, 0x801FDC83, 0x801EC351, + 0x801DAF0E, 0x801C9FB8, 0x801B9551, 0x801A8FD8, 0x80198F4D, 0x801893B1, + 0x80179D02, 0x8016AB43, 0x8015BE7B, 0x8014D698, 0x8013F3A4, 0x8013159E, + 0x80123C86, 0x8011685E, 0x80109924, 0x800FCED8, 0x800F097C, 0x800E490E, + 0x800D8D8E, 0x800CD6FE, 0x800C255D, 0x800B78AA, 0x800AD0E6, 0x800A2E11, + 0x8009902B, 0x8008F734, 0x8008632C, 0x8007D413, 0x800749E9, 0x8006C4AE, + 0x80064462, 0x8005C905, 0x80055297, 0x8004E118, 0x80047489, 0x80040CE8, + 0x8003AA37, 0x80034C75, 0x8002F3A2, 0x80029FBE, 0x800250CA, 0x800206C5, + 0x8001C1AF, 0x80018188, 0x80014650, 0x80011008, 0x8000DEAF, 0x8000B246, + 0x80008ACB, 0x80006840, 0x80004AA4, 0x800031F8, 0x80001E3B, 0x80000F6D, + 0x8000058E, 0x8000009F +}; + +const FIXED sine_1024[] = { + 0xFFE6DE06, 0xFFB49A13, 0xFF82562D, 0xFF501259, 0xFF1DCEA1, 0xFEEB8B0C, + 0xFEB947A0, 0xFE870468, 0xFE54C16A, 0xFE227EAD, 0xFDF03C3D, 0xFDBDFA1A, + 0xFD8BB850, 0xFD5976EC, 0xFD2735EC, 0xFCF4F55C, 0xFCC2B548, 0xFC9075B1, + 0xFC5E36A1, 0xFC2BF824, 0xFBF9BA3B, 0xFBC77CF0, 0xFB95404C, 0xFB630456, + 0xFB30C91F, 0xFAFE8E9D, 0xFACC54E1, 0xFA9A1BF3, 0xFA67E3D9, 0xFA35AC9C, + 0xFA03764C, 0xF9D140E1, 0xF99F0C69, 0xF96CD8ED, 0xF93AA675, 0xF9087508, + 0xF8D644B6, 0xF8A41577, 0xF871E75A, 0xF83FBA68, 0xF80D8EA7, 0xF7DB6421, + 0xF7A93AE4, 0xF77712E0, 0xF744EC3D, 0xF712C6F2, 0xF6E0A2F8, 0xF6AE8077, + 0xF67C5F55, 0xF64A3FBA, 0xF618218F, 0xF5E604FC, 0xF5B3E9F6, 0xF581D078, + 0xF54FB8A7, 0xF51DA26D, 0xF4EB8DF0, 0xF4B97B29, 0xF4876A0F, 0xF4555ACA, + 0xF4234D41, 0xF3F1419D, 0xF3BF37C4, 0xF38D2FE0, 0xF35B29E6, 0xF32925D0, + 0xF2F723C5, 0xF2C523AD, 0xF29325AE, 0xF26129C2, 0xF22F2FDF, 0xF1FD382E, + 0xF1CB4296, 0xF1994F3F, 0xF1675E10, 0xF1356F32, 0xF103829B, 0xF0D19845, + 0xF09FB055, 0xF06DCAB5, 0xF03BE78B, 0xF00A06CF, 0xEFD8287A, 0xEFA64CA3, + 0xEF747371, 0xEF429CAC, 0xEF10C87C, 0xEEDEF709, 0xEEAD2819, 0xEE7B5BD6, + 0xEE499247, 0xEE17CB92, 0xEDE60781, 0xEDB4463A, 0xED8287E5, 0xED50CC4B, + 0xED1F1392, 0xECED5DC2, 0xECBBAB03, 0xEC89FB1D, 0xEC584E38, 0xEC26A47A, + 0xEBF4FDAC, 0xEBC359F5, 0xEB91B97C, 0xEB601C0B, 0xEB2E81C8, 0xEAFCEABB, + 0xEACB570B, 0xEA99C680, 0xEA683942, 0xEA36AF79, 0xEA0528EB, 0xE9D3A5C2, + 0xE9A22604, 0xE970A9D8, 0xE93F3108, 0xE90DBBBA, 0xE8DC4A15, 0xE8AADBE2, + 0xE8797148, 0xE8480A50, 0xE816A71F, 0xE7E5477E, 0xE7B3EB95, 0xE782938B, + 0xE7513F28, 0xE71FEE94, 0xE6EEA1F4, 0xE6BD5914, 0xE68C1418, 0xE65AD30A, + 0xE629960F, 0xE5F85CF0, 0xE5C727D6, 0xE595F6E6, 0xE564C9E9, 0xE533A107, + 0xE5027C47, 0xE4D15BCF, 0xE4A03F6A, 0xE46F273D, 0xE43E136F, 0xE40D03CA, + 0xE3DBF875, 0xE3AAF177, 0xE379EEF6, 0xE348F0BC, 0xE317F6F0, 0xE2E701B8, + 0xE2B610DD, 0xE2852487, 0xE2543CDC, 0xE22359A5, 0xE1F27B09, 0xE1C1A110, + 0xE190CBDF, 0xE15FFB41, 0xE12F2F5C, 0xE0FE6857, 0xE0CDA5FA, 0xE09CE86D, + 0xE06C2FB8, 0xE03B7C00, 0xE00ACD0F, 0xDFDA230B, 0xDFA97DFD, 0xDF78DDEC, + 0xDF48431C, 0xDF17AD1B, 0xDEE71C2C, 0xDEB69058, 0xDE8609A7, 0xDE55881E, + 0xDE250BC7, 0xDDF494E6, 0xDDC42308, 0xDD93B671, 0xDD634F29, 0xDD32ED37, + 0xDD0290A4, 0xDCD23975, 0xDCA1E7F1, 0xDC719BA4, 0xDC4154D2, 0xDC111384, + 0xDBE0D7C0, 0xDBB0A18E, 0xDB807133, 0xDB50463C, 0xDB2020ED, 0xDAF0014D, + 0xDABFE765, 0xDA8FD33B, 0xDA5FC4D8, 0xDA2FBC7F, 0xD9FFB9BD, 0xD9CFBCD8, + 0xD99FC5D7, 0xD96FD4C0, 0xD93FE99C, 0xD9100472, 0xD8E02586, 0xD8B04C65, + 0xD8807955, 0xD850AC5C, 0xD820E581, 0xD7F124CD, 0xD7C16A46, 0xD791B630, + 0xD762081A, 0xD7326047, 0xD702BEC0, 0xD6D3238A, 0xD6A38EAE, 0xD6740033, + 0xD644785D, 0xD614F6B9, 0xD5E57B8D, 0xD5B606DE, 0xD58698B6, 0xD557311A, + 0xD527D012, 0xD4F875E2, 0xD4C92218, 0xD499D4F8, 0xD46A8E8A, 0xD43B4ED4, + 0xD40C15DE, 0xD3DCE3B0, 0xD3ADB88C, 0xD37E9401, 0xD34F7654, 0xD3205F8B, + 0xD2F14FAD, 0xD2C246C3, 0xD293450E, 0xD2644A1E, 0xD2355638, 0xD2066961, + 0xD1D783A0, 0xD1A8A4FF, 0xD179CD82, 0xD14AFD6E, 0xD11C3453, 0xD0ED7272, + 0xD0BEB7D4, 0xD090047F, 0xD061587C, 0xD032B3D0, 0xD00416BE, 0xCFD580D8, + 0xCFA6F25F, 0xCF786B5B, 0xCF49EBD2, 0xCF1B73CD, 0xCEED0352, 0xCEBE9AA4, + 0xCE903952, 0xCE61DFA1, 0xCE338D96, 0xCE05433A, 0xCDD70092, 0xCDA8C5A7, + 0xCD7A92BA, 0xCD4C675C, 0xCD1E43D1, 0xCCF0281E, 0xCCC2144A, 0xCC94085E, + 0xCC660460, 0xCC380891, 0xCC0A1485, 0xCBDC287B, 0xCBAE447C, 0xCB80688F, + 0xCB5294BA, 0xCB24C93F, 0xCAF705B0, 0xCAC94A4F, 0xCA9B9723, 0xCA6DEC32, + 0xCA404985, 0xCA12AF21, 0xC9E51D49, 0xC9B7938E, 0xC98A1233, 0xC95C993D, + 0xC92F28B5, 0xC901C0A0, 0xC8D46107, 0xC8A70A2A, 0xC879BB9B, 0xC84C759D, + 0xC81F3836, 0xC7F2036C, 0xC7C4D748, 0xC797B3D0, 0xC76A9944, 0xC73D8738, + 0xC7107DED, 0xC6E37D6A, 0xC6B685B5, 0xC68996D6, 0xC65CB0D4, 0xC62FD3EE, + 0xC602FFBA, 0xC5D63477, 0xC5A9722C, 0xC57CB8E0, 0xC550089A, 0xC5236161, + 0xC4F6C374, 0xC4CA2E6A, 0xC49DA281, 0xC4711FC0, 0xC444A62F, 0xC41835D3, + 0xC3EBCEB5, 0xC3BF7113, 0xC3931C83, 0xC366D145, 0xC33A8F5F, 0xC30E56D8, + 0xC2E227B7, 0xC2B6023C, 0xC289E5FB, 0xC25DD335, 0xC231C9F0, 0xC205CA33, + 0xC1D9D405, 0xC1ADE76D, 0xC1820471, 0xC1562B18, 0xC12A5B68, 0xC0FE956A, + 0xC0D2D992, 0xC0A72709, 0xC07B7E45, 0xC04FDF4C, 0xC0244A25, 0xBFF8BED8, + 0xBFCD3D6A, 0xBFA1C5E3, 0xBF765849, 0xBF4AF4A3, 0xBF1F9AF7, 0xBEF44B4D, + 0xBEC905AB, 0xBE9DCA85, 0xBE729906, 0xBE4771A3, 0xBE1C5463, 0xBDF1414C, + 0xBDC63865, 0xBD9B39B4, 0xBD704541, 0xBD455B11, 0xBD1A7B2C, 0xBCEFA597, + 0xBCC4DA5B, 0xBC9A197C, 0xBC6F6302, 0xBC44B760, 0xBC1A15C4, 0xBBEF7EA0, + 0xBBC4F1FB, 0xBB9A6FDB, 0xBB6FF848, 0xBB458B48, 0xBB1B28E1, 0xBAF0D11A, + 0xBAC683F9, 0xBA9C4185, 0xBA7209C4, 0xBA47DCBE, 0xBA1DBA78, 0xB9F3A363, + 0xB9C996B1, 0xB99F94D3, 0xB9759DD0, 0xB94BB1AD, 0xB921D071, 0xB8F7FA23, + 0xB8CE2ECA, 0xB8A46E6B, 0xB87AB90D, 0xB8510EB7, 0xB8276F6E, 0xB7FDDB3B, + 0xB7D45221, 0xB7AAD493, 0xB78161C3, 0xB757FA20, 0xB72E9DB2, 0xB7054C7F, + 0xB6DC068C, 0xB6B2CBE2, 0xB6899C85, 0xB660787C, 0xB6375FCE, 0xB60E5281, + 0xB5E5509B, 0xB5BC5A22, 0xB5936F86, 0xB56A8FFB, 0xB541BBF1, 0xB518F36D, + 0xB4F03677, 0xB4C78514, 0xB49EDF4B, 0xB4764521, 0xB44DB69E, 0xB42533C7, + 0xB3FCBCA2, 0xB3D45137, 0xB3ABF18B, 0xB3839DA3, 0xB35B55EF, 0xB33319A5, + 0xB30AE933, 0xB2E2C49F, 0xB2BAABF0, 0xB2929F2B, 0xB26A9E57, 0xB242A97A, + 0xB21AC09A, 0xB1F2E3BD, 0xB1CB12E9, 0xB1A34E25, 0xB17B9577, 0xB153E8E4, + 0xB12C48D8, 0xB104B48F, 0xB0DD2C75, 0xB0B5B08E, 0xB08E40E1, 0xB066DD75, + 0xB03F8650, 0xB0183B77, 0xAFF0FCF0, 0xAFC9CAC2, 0xAFA2A4F3, 0xAF7B8B88, + 0xAF547E88, 0xAF2D7E5C, 0xAF068A44, 0xAEDFA2A8, 0xAEB8C78F, 0xAE91F8FF, + 0xAE6B36FD, 0xAE448191, 0xAE1DD8BE, 0xADF73C8D, 0xADD0AD02, 0xADAA2A24, + 0xAD83B3F8, 0xAD5D4A85, 0xAD36EDCF, 0xAD109E40, 0xACEA5B19, 0xACC424C3, + 0xAC9DFB42, 0xAC77DE9D, 0xAC51CEDA, 0xAC2BCBFE, 0xAC05D610, 0xABDFED15, + 0xABBA1113, 0xAB944211, 0xAB6E8013, 0xAB48CB1F, 0xAB23233D, 0xAAFD88D0, + 0xAAD7FB1F, 0xAAB27A90, 0xAA8D0729, 0xAA67A0F0, 0xAA4247E9, 0xAA1CFC1B, + 0xA9F7BD8D, 0xA9D28C42, 0xA9AD6842, 0xA9885191, 0xA9634837, 0xA93E4C37, + 0xA9195DF7, 0xA8F47CBF, 0xA8CFA8F4, 0xA8AAE29A, 0xA88629B9, 0xA8617E55, + 0xA83CE074, 0xA818501C, 0xA7F3CD52, 0xA7CF581C, 0xA7AAF080, 0xA7869682, + 0xA7624A2A, 0xA73E0B7D, 0xA719DADB, 0xA6F5B793, 0xA6D1A206, 0xA6AD9A39, + 0xA689A033, 0xA665B3F9, 0xA641D590, 0xA61E04FF, 0xA5FA4249, 0xA5D68D76, + 0xA5B2E68A, 0xA58F4D8B, 0xA56BC27E, 0xA548456A, 0xA524D6AD, 0xA5017598, + 0xA4DE228C, 0xA4BADD8E, 0xA497A6A3, 0xA4747DD0, 0xA451631C, 0xA42E568B, + 0xA40B5823, 0xA3E867E9, 0xA3C585E3, 0xA3A2B216, 0xA37FEC87, 0xA35D353C, + 0xA33A8C93, 0xA317F1E0, 0xA2F56580, 0xA2D2E77A, 0xA2B077D2, 0xA28E168E, + 0xA26BC3B3, 0xA2497F46, 0xA227494D, 0xA20521CD, 0xA1E308CB, 0xA1C0FE4D, + 0xA19F0257, 0xA17D1545, 0xA15B3671, 0xA1396634, 0xA117A496, 0xA0F5F19A, + 0xA0D44D46, 0xA0B2B79F, 0xA09130AB, 0xA06FB86E, 0xA04E4EEE, 0xA02CF430, + 0xA00BA839, 0x9FEA6B0E, 0x9FC93CB4, 0x9FA81D85, 0x9F870CDE, 0x9F660B16, + 0x9F451835, 0x9F24343E, 0x9F035F37, 0x9EE29925, 0x9EC1E20C, 0x9EA139F3, + 0x9E80A0DE, 0x9E6016D2, 0x9E3F9BD4, 0x9E1F2FE9, 0x9DFED317, 0x9DDE85B3, + 0x9DBE471F, 0x9D9E17B3, 0x9D7DF772, 0x9D5DE662, 0x9D3DE489, 0x9D1DF1EA, + 0x9CFE0E8A, 0x9CDE3A70, 0x9CBE759F, 0x9C9EC01C, 0x9C7F19ED, 0x9C5F8316, + 0x9C3FFBED, 0x9C2083D5, 0x9C011B24, 0x9BE1C1DF, 0x9BC2780A, 0x9BA33DAB, + 0x9B8412C6, 0x9B64F75F, 0x9B45EB7D, 0x9B26EF23, 0x9B080256, 0x9AE9251C, + 0x9ACA5778, 0x9AAB9970, 0x9A8CEB57, 0x9A6E4C94, 0x9A4FBD7B, 0x9A313E10, + 0x9A12CE59, 0x99F46E5A, 0x99D61E17, 0x99B7DD96, 0x9999ACDB, 0x997B8BEA, + 0x995D7AC8, 0x993F797B, 0x99218806, 0x9903A66D, 0x98E5D503, 0x98C81333, + 0x98AA614E, 0x988CBF58, 0x986F2D56, 0x9851AB4D, 0x98343942, 0x9816D738, + 0x97F98534, 0x97DC433B, 0x97BF1151, 0x97A1EF7B, 0x9784DDBD, 0x9767DC66, + 0x974AEAE6, 0x972E098C, 0x9711385C, 0x96F4775B, 0x96D7C68C, 0x96BB25F6, + 0x969E959B, 0x96821580, 0x9665A5AA, 0x9649461D, 0x962CF6DD, 0x9610B7EF, + 0x95F48958, 0x95D86B62, 0x95BC5D84, 0x95A06009, 0x958472F5, 0x9568964D, + 0x954CCA15, 0x95310E51, 0x95156307, 0x94F9C839, 0x94DE3DEC, 0x94C2C424, + 0x94A75AE7, 0x948C0237, 0x9470BA19, 0x945582D7, 0x943A5BEA, 0x941F459B, + 0x94043FF0, 0x93E94AEB, 0x93CE6692, 0x93B392E8, 0x9398CFF2, 0x937E1DB3, + 0x93637C30, 0x9348EB6C, 0x932E6B6D, 0x9313FC36, 0x92F99DCA, 0x92DF502F, + 0x92C51368, 0x92AAE77A, 0x9290CC67, 0x9276C235, 0x925CC8E8, 0x9242E106, + 0x9229098D, 0x920F4304, 0x91F58D6F, 0x91DBE8D2, 0x91C25532, 0x91A8D292, + 0x918F60F6, 0x91760062, 0x915CB0DA, 0x91437262, 0x912A44FD, 0x911128B0, + 0x90F81D7F, 0x90DF236D, 0x90C63A7E, 0x90AD62B6, 0x90949C19, 0x907BE6AB, + 0x9063426F, 0x904AAF69, 0x90322D9E, 0x9019BD11, 0x90015DC5, 0x8FE90FBE, + 0x8FD0D301, 0x8FB8A790, 0x8FA08D71, 0x8F88851F, 0x8F708DAB, 0x8F58A793, + 0x8F40D2DB, 0x8F290F85, 0x8F115D96, 0x8EF9BD12, 0x8EE22DFB, 0x8ECAB057, + 0x8EB34427, 0x8E9BE971, 0x8E84A037, 0x8E6D687D, 0x8E564247, 0x8E3F2D98, + 0x8E282A74, 0x8E1138DE, 0x8DFA58DA, 0x8DE38A6C, 0x8DCCCD96, 0x8DB6225D, + 0x8D9F88C4, 0x8D8900CF, 0x8D728A80, 0x8D5C25DC, 0x8D45D2E6, 0x8D2F91A0, + 0x8D196281, 0x8D0344A8, 0x8CED388B, 0x8CD73E2D, 0x8CC15591, 0x8CAB7EBB, + 0x8C95B9AE, 0x8C80066D, 0x8C6A64FC, 0x8C54D55E, 0x8C3F5797, 0x8C29EBA9, + 0x8C149199, 0x8BFF4969, 0x8BEA131C, 0x8BD4EEB7, 0x8BBFDC3B, 0x8BAADBAD, + 0x8B95ED10, 0x8B811066, 0x8B6C45B4, 0x8B578CFC, 0x8B42E641, 0x8B2E5187, + 0x8B19CED1, 0x8B055E22, 0x8AF0FF7D, 0x8ADCB2E5, 0x8AC878C5, 0x8AB45051, + 0x8AA039F4, 0x8A8C35B1, 0x8A78438A, 0x8A646383, 0x8A50959F, 0x8A3CD9E2, + 0x8A29304D, 0x8A1598E5, 0x8A0213AC, 0x89EEA0A4, 0x89DB3FD2, 0x89C7F139, + 0x89B4B4DA, 0x89A18AB9, 0x898E72DA, 0x897B6D3E, 0x896879EA, 0x895598DF, + 0x8942CA21, 0x89300DB2, 0x891D6397, 0x890ACBD0, 0x88F84662, 0x88E5D34F, + 0x88D3729A, 0x88C124A3, 0x88AEE8B2, 0x889CBF28, 0x888AA807, 0x8878A352, + 0x8866B10B, 0x8854D137, 0x884303D6, 0x883148ED, 0x881FA07E, 0x880E0A8B, + 0x87FC8717, 0x87EB1626, 0x87D9B7B9, 0x87C86BD3, 0x87B73278, 0x87A60BA9, + 0x8794F769, 0x8783F5BC, 0x877306A3, 0x87622A21, 0x87516039, 0x8740A8ED, + 0x87300440, 0x871F7235, 0x870EF2CE, 0x86FE860D, 0x86EE2C49, 0x86DDE4DC, + 0x86CDB01E, 0x86BD8E11, 0x86AD7EB7, 0x869D8212, 0x868D9826, 0x867DC0F4, + 0x866DFC7F, 0x865E4ACA, 0x864EABD6, 0x863F1FA7, 0x862FA63E, 0x86203F9E, + 0x8610EBCA, 0x8601AAC4, 0x85F27C8E, 0x85E3612A, 0x85D4589B, 0x85C562E3, + 0x85B68004, 0x85A7B002, 0x8598F2DD, 0x858A4899, 0x857BB137, 0x856D2CBA, + 0x855EBB24, 0x85505C77, 0x854210FE, 0x8533D82A, 0x8525B246, 0x85179F54, + 0x85099F56, 0x84FBB24F, 0x84EDD840, 0x84E0112B, 0x84D25D14, 0x84C4BBFC, + 0x84B72DE4, 0x84A9B2D0, 0x849C4AC0, 0x848EF5B8, 0x8481B3BA, 0x847484C6, + 0x846768E0, 0x845A600A, 0x844D6A45, 0x84408793, 0x8433B7F7, 0x8426FB72, + 0x841A5206, 0x840DBBB6, 0x84013883, 0x83F4C86F, 0x83E86B7C, 0x83DC21EA, + 0x83CFEB3F, 0x83C3C7BB, 0x83B7B75F, 0x83ABBA2D, 0x839FD028, 0x8393F951, + 0x838835AA, 0x837C8535, 0x8370E7F4, 0x83655DE8, 0x8359E713, 0x834E8377, + 0x83433316, 0x8337F5F1, 0x832CCC0A, 0x8321B564, 0x8316B1FF, 0x830BC1DD, + 0x8300E501, 0x82F61B6B, 0x82EB651D, 0x82E0C21A, 0x82D63262, 0x82CBB5F7, + 0x82C14CDC, 0x82B6F710, 0x82ACB497, 0x82A285A5, 0x829869D5, 0x828E615B, + 0x82846C39, 0x827A8A72, 0x8270BC06, 0x826700F7, 0x825D5946, 0x8253C4F5, + 0x824A4405, 0x8240D679, 0x82377C50, 0x822E358E, 0x82250232, 0x821BE240, + 0x8212D5B7, 0x8209DC99, 0x8200F6E9, 0x81F824A6, 0x81EF65D3, 0x81E6BA71, + 0x81DE2281, 0x81D59E05, 0x81CD2CFE, 0x81C4CF6C, 0x81BC8552, 0x81B44EB1, + 0x81AC2BB3, 0x81A41C07, 0x819C1FD7, 0x81943725, 0x818C61F2, 0x8184A03E, + 0x817CF20D, 0x8175575D, 0x816DD032, 0x81665C8B, 0x815EFC6A, 0x8157AFD1, + 0x815076C0, 0x81495138, 0x81423F3A, 0x813B40C8, 0x813455E3, 0x812D7E8C, + 0x8126BAC3, 0x81200A8A, 0x81196DE2, 0x8112E4CC, 0x810C6F48, 0x81060D59, + 0x80FFBEFE, 0x80F98439, 0x80F35D0B, 0x80ED4994, 0x80E74996, 0x80E15D31, + 0x80DB8468, 0x80D5BF39, 0x80D00DA7, 0x80CA6FB2, 0x80C4E55B, 0x80BF6EA3, + 0x80BA0B8B, 0x80B4BC13, 0x80AF803D, 0x80AA5808, 0x80A54377, 0x80A0428A, + 0x809B5541, 0x80967B9E, 0x8091B5A0, 0x808D034A, 0x8088649A, 0x8083D994, + 0x807F6236, 0x807AFE81, 0x8076AE77, 0x80727218, 0x806E4965, 0x806A345E, + 0x80663303, 0x8062456A, 0x805E6B6B, 0x805AA51B, 0x8056F27A, 0x80535388, + 0x804FC848, 0x804C50B8, 0x8048ECD9, 0x80459CAD, 0x80426033, 0x803F376C, + 0x803C2259, 0x803920FA, 0x8036334F, 0x80335959, 0x80309318, 0x802DE08E, + 0x802B41B9, 0x8028B69B, 0x80263F34, 0x8023DB84, 0x80218B8C, 0x801F4F4D, + 0x801D26C5, 0x801B11F7, 0x801910E1, 0x80172385, 0x801549EC, 0x80138403, + 0x8011D1D4, 0x80103360, 0x800EA8A7, 0x800D31A8, 0x800BCE65, 0x800A7EDE, + 0x80094312, 0x80081B02, 0x800706AD, 0x80060616, 0x8005193A, 0x8004401B, + 0x80037AB8, 0x8002C912, 0x80022B29, 0x8001A0FD, 0x80012A8E, 0x8000C7DC, + 0x800078E8, 0x80003DB0, 0x80001636, 0x80000279 +}; + +const FIXED sine_512[] = { + 0xFFCDBC0C, 0xFF693440, 0xFF04ACD1, 0xFEA025FE, 0xFE3BA003, 0xFDD71B21, + 0xFD72978F, 0xFD0E1595, 0xFCA9956C, 0xFC45174E, 0xFBE09B85, 0xFB7C223F, + 0xFB17ABC2, 0xFAB33854, 0xFA4EC823, 0xF9EA5B74, 0xF985F28F, 0xF9218DA0, + 0xF8BD2CEF, 0xF858D0BF, 0xF7F47940, 0xF79026B8, 0xF72BD964, 0xF6C79182, + 0xF6634F60, 0xF5FF131C, 0xF59ADD04, 0xF536AD55, 0xF4D2844E, 0xF46E622B, + 0xF40A473C, 0xF3A6339D, 0xF342279C, 0xF2DE2378, 0xF27A276D, 0xF21633BA, + 0xF1B248AC, 0xF14E6661, 0xF0EA8D26, 0xF086BD38, 0xF022F6D7, 0xEFBF3A3E, + 0xEF5B87BC, 0xEEF7DF5E, 0xEE9441A2, 0xEE30AEA4, 0xEDCD2684, 0xED69A9BC, + 0xED06384C, 0xECA2D2B1, 0xEC3F78E7, 0xEBDC2B6D, 0xEB78EA5E, 0xEB15B5DA, + 0xEAB28E5C, 0xEA4F73E3, 0xE9EC66EA, 0xE989678F, 0xE92675F0, 0xE8C39289, + 0xE860BD57, 0xE7FDF6D8, 0xE79B3F08, 0xE7389663, 0xE6D5FD08, 0xE6737313, + 0xE610F900, 0xE5AE8ECC, 0xE54C34F4, 0xE4E9EB95, 0xE487B2CC, 0xE4258B13, + 0xE3C3746A, 0xE3616F4C, 0xE2FF7BB5, 0xE29D9A21, 0xE23BCAAE, 0xE1DA0D78, + 0xE17862F9, 0xE116CB31, 0xE0B54699, 0xE053D54F, 0xDFF2776F, 0xDF912D55, + 0xDF2FF77A, 0xDECED59F, 0xDE6DC83D, 0xDE0CCFCE, 0xDDABEC13, 0xDD4B1D85, + 0xDCEA645F, 0xDC89C11C, 0xDC29337A, 0xDBC8BBF4, 0xDB685B03, 0xDB081067, + 0xDAA7DC98, 0xDA47BFD3, 0xD9E7BA8F, 0xD987CC8E, 0xD927F647, 0xD8C83834, + 0xD8689215, 0xD8090462, 0xD7A98F92, 0xD74A3368, 0xD6EAF05A, 0xD68BC6A4, + 0xD62CB6BD, 0xD5CDC065, 0xD56EE416, 0xD5102244, 0xD4B17AB2, 0xD452EDD8, + 0xD3F47BEE, 0xD396256B, 0xD337EA13, 0xD2D9CA59, 0xD27BC6B6, 0xD21DDEEA, + 0xD1C0136B, 0xD1626475, 0xD104D27B, 0xD0A75D40, 0xD04A053A, 0xCFECCADE, + 0xCF8FADEE, 0xCF32AEDF, 0xCED5CE26, 0xCE790B85, 0xCE1C6772, 0xCDBFE225, + 0xCD637C11, 0xCD0734FC, 0xCCAB0D57, 0xCC4F0597, 0xCBF31D7F, 0xCB975583, + 0xCB3BADDB, 0xCAE026F9, 0xCA84C0A3, 0xCA297B4A, 0xC9CE5760, 0xC97354AB, + 0xC918739C, 0xC8BDB46B, 0xC863178A, 0xC8089CBD, 0xC7AE4476, 0xC7540F26, + 0xC6F9FC92, 0xC6A00D2B, 0xC6464161, 0xC5EC98FA, 0xC5931465, 0xC539B3DB, + 0xC4E077CB, 0xC4875FFB, 0xC42E6CDA, 0xC3D59ED7, 0xC37CF5B9, 0xC32471EF, + 0xC2CC13AF, 0xC273DB68, 0xC21BC8E0, 0xC1C3DC86, 0xC16C168F, 0xC1147733, + 0xC0BCFF15, 0xC065AD8E, 0xC00E8343, 0xBFB7806A, 0xBF60A537, 0xBF09F1E2, + 0xBEB3669E, 0xBE5D0411, 0xBE06C992, 0xBDB0B7C6, 0xBD5ACEE0, 0xBD050F17, + 0xBCAF789F, 0xBC5A0BAD, 0xBC04C8E2, 0xBBAFAF9A, 0xBB5AC075, 0xBB05FBA9, + 0xBAB16169, 0xBA5CF1E9, 0xBA08ADCA, 0xB9B49467, 0xB960A662, 0xB90CE3EC, + 0xB8B94D3B, 0xB865E281, 0xB812A3F2, 0xB7BF922B, 0xB76CAC8B, 0xB719F3B1, + 0xB6C767CE, 0xB6750916, 0xB622D7BB, 0xB5D0D3F0, 0xB57EFE51, 0xB52D563E, + 0xB4DBDC53, 0xB48A90C2, 0xB43973BC, 0xB3E88575, 0xB397C61E, 0xB347364F, + 0xB2F6D56D, 0xB2A6A410, 0xB256A269, 0xB206D0AB, 0xB1B72F05, 0xB167BDAA, + 0xB1187D2E, 0xB0C96CFA, 0xB07A8DA3, 0xB02BDF59, 0xAFDD624E, 0xAF8F16B1, + 0xAF40FCB2, 0xAEF314E6, 0xAEA55EB6, 0xAE57DAB4, 0xAE0A8911, 0xADBD69FD, + 0xAD707DA7, 0xAD23C43E, 0xACD73E54, 0xAC8AEB53, 0xAC3ECBCF, 0xABF2DFF4, + 0xABA727F2, 0xAB5BA3F7, 0xAB105493, 0xAAC53933, 0xAA7A5266, 0xAA2FA05B, + 0xA9E5233E, 0xA99ADB3F, 0xA950C88B, 0xA906EBAE, 0xA8BD4418, 0xA873D257, + 0xA82A9696, 0xA7E19104, 0xA798C1CD, 0xA750291E, 0xA707C780, 0xA6BF9C67, + 0xA677A85C, 0xA62FEB8C, 0xA5E86623, 0xA5A1184C, 0xA55A0235, 0xA5132462, + 0xA4CC7E4B, 0xA4861076, 0xA43FDB0E, 0xA3F9DE40, 0xA3B41A35, 0xA36E8F19, + 0xA3293D6F, 0xA2E424B1, 0xA29F4563, 0xA25A9FAE, 0xA21633BD, 0xA1D201BB, + 0xA18E09D1, 0xA14A4C7F, 0xA106C943, 0xA0C3809D, 0xA08072B5, 0xA03D9FB7, + 0x9FFB07CA, 0x9FB8AB6C, 0x9F768A1D, 0x9F34A45B, 0x9EF2FA4F, 0x9EB18C20, + 0x9E7059F7, 0x9E2F63FC, 0x9DEEAAAA, 0x9DAE2D84, 0x9D6DED04, 0x9D2DE951, + 0x9CEE2294, 0x9CAE98F3, 0x9C6F4C97, 0x9C303DF5, 0x9BF16C94, 0x9BB2D8EB, + 0x9B748322, 0x9B366B5E, 0x9AF891C6, 0x9ABAF680, 0x9A7D9A00, 0x9A407BD0, + 0x9A039C62, 0x99C6FBDE, 0x998A9A69, 0x994E7827, 0x9912953E, 0x98D6F21E, + 0x989B8E55, 0x98606A53, 0x9825863C, 0x97EAE236, 0x97B07E63, 0x97765AE9, + 0x973C7834, 0x9702D5D5, 0x96C9743A, 0x96905385, 0x965773DA, 0x961ED55C, + 0x95E6782E, 0x95AE5CBA, 0x95768293, 0x953EEA24, 0x95079390, 0x94D07EF7, + 0x9499AC7D, 0x94631C88, 0x942CCEAF, 0x93F6C359, 0x93C0FAA7, 0x938B74BB, + 0x935631B6, 0x932131B8, 0x92EC74E3, 0x92B7FB56, 0x9283C532, 0x924FD298, + 0x921C242A, 0x91E8B901, 0x91B591C2, 0x9182AE8B, 0x91500F7C, 0x911DB4B3, + 0x90EB9E52, 0x90B9CC75, 0x90883F3C, 0x9056F6C5, 0x9025F32F, 0x8FF53499, + 0x8FC4BB1F, 0x8F94875A, 0x8F649874, 0x8F34EF03, 0x8F058B26, 0x8ED66CFA, + 0x8EA7949D, 0x8E79022A, 0x8E4AB5BE, 0x8E1CAF77, 0x8DEEEF70, 0x8DC175C6, + 0x8D944295, 0x8D6755F9, 0x8D3AB00D, 0x8D0E515D, 0x8CE23924, 0x8CB667ED, + 0x8C8ADDD4, 0x8C5F9AF3, 0x8C349F65, 0x8C09EB45, 0x8BDF7EAC, 0x8BB559B6, + 0x8B8B7C7C, 0x8B61E718, 0x8B3899A4, 0x8B0F9438, 0x8AE6D6EF, 0x8ABE6249, + 0x8A96358F, 0x8A6E5142, 0x8A46B57C, 0x8A1F6253, 0x89F857E2, 0x89D1963E, + 0x89AB1D82, 0x8984EDC3, 0x895F071B, 0x8939699F, 0x89141569, 0x88EF0A8D, + 0x88CA4924, 0x88A5D1A0, 0x8881A35E, 0x885DBED3, 0x883A2413, 0x8816D335, + 0x87F3CC4E, 0x87D10F75, 0x87AE9CBF, 0x878C7440, 0x876A960F, 0x8749023F, + 0x8727B8E6, 0x8706BA18, 0x86E6063D, 0x86C59CC1, 0x86A57E0E, 0x8685AA35, + 0x8666214C, 0x8646E366, 0x8627F095, 0x860948ED, 0x85EAEC81, 0x85CCDB64, + 0x85AF15A7, 0x85919B5F, 0x85746C9B, 0x85578970, 0x853AF236, 0x851EA66F, + 0x8502A673, 0x84E6F256, 0x84CB8A28, 0x84B06DF9, 0x84959DDB, 0x847B19DE, + 0x8460E213, 0x8446F689, 0x842D5751, 0x8414047A, 0x83FAFE15, 0x83E24430, + 0x83C9D718, 0x83B1B660, 0x8399E257, 0x83825B09, 0x836B2087, 0x835432DE, + 0x833D921C, 0x83273E4F, 0x83113786, 0x82FB7DCD, 0x82E61132, 0x82D0F1C3, + 0x82BC1F8C, 0x82A79ACE, 0x8293632D, 0x827F78EA, 0x826BDC12, 0x82588CB1, + 0x82458AD3, 0x8232D682, 0x82206FCC, 0x820E56BB, 0x81FC8B5A, 0x81EB0DB4, + 0x81D9DDD5, 0x81C8FBC6, 0x81B86793, 0x81A8216E, 0x8198290E, 0x81887EA8, + 0x81792245, 0x816A13EE, 0x815B53AD, 0x814CE18A, 0x813EBD90, 0x8130E7C6, + 0x81236034, 0x811626E4, 0x81093BDE, 0x80FC9F29, 0x80F050CD, 0x80E450F0, + 0x80D89F5D, 0x80CD3C39, 0x80C2278B, 0x80B7615B, 0x80ACE9AE, 0x80A2C08C, + 0x8098E5FB, 0x808F5A00, 0x80861CA2, 0x807D2DE6, 0x80748DD2, 0x806C3C6C, + 0x806439CB, 0x805C85CD, 0x8055208B, 0x804E0A09, 0x8047424D, 0x8040C959, + 0x803A9F33, 0x8034C3DD, 0x802F375C, 0x8029F9B3, 0x80250AE5, 0x80206AF5, + 0x801C19E7, 0x801817BC, 0x80146480, 0x80110023, 0x800DEAB0, 0x800B242A, + 0x8008AC92, 0x800683EA, 0x8004AA33, 0x80031F6E, 0x8001E39C, 0x8000F6BE, + 0x800058D4, 0x800009DF +}; + +const FIXED sine_256[] = { + 0xFF9B781E, 0xFED26950, 0xFE095D6B, 0xFD40565E, 0xFC775617, 0xFBAE5E8D, + 0xFAE571A2, 0xFA1C9157, 0xF953BF94, 0xF88AFE40, 0xF7C24F61, 0xF6F9B4C9, + 0xF6313075, 0xF568C463, 0xF4A07264, 0xF3D83C74, 0xF3102493, 0xF2482C8D, + 0xF1805660, 0xF0B8A409, 0xEFF11756, 0xEF29B241, 0xEE6276B8, 0xED9B66A5, + 0xECD48414, 0xEC0DD0B0, 0xEB474E83, 0xEA80FF77, 0xE9BAE575, 0xE8F50266, + 0xE82F5851, 0xE769E8E0, 0xE6A4B619, 0xE5DFC1E2, 0xE51B0E22, 0xE4569CBE, + 0xE3926FB9, 0xE2CE88BA, 0xE20AE9C3, 0xE14794B7, 0xE0848B77, 0xDFC1CFE5, + 0xDEFF6401, 0xDE3D494C, 0xDD7B8223, 0xDCBA1024, 0xDBF8F4F0, 0xDB3832DF, + 0xDA77CB50, 0xD9B7C09B, 0xD8F8141D, 0xD838C82A, 0xD779DE5D, 0xD6BB5850, + 0xD5FD3854, 0xD53F7FC3, 0xD48230EB, 0xD3C54D62, 0xD308D6BE, 0xD24CCF4A, + 0xD191385B, 0xD0D6143A, 0xD01B643D, 0xCF612AA7, 0xCEA76907, 0xCDEE20EF, + 0xCD35549C, 0xCC7D0561, 0xCBC5357A, 0xCB0DE672, 0xCA5719D3, 0xC9A0D1D4, + 0xC8EB0FC4, 0xC835D5D6, 0xC7812556, 0xC6CD0075, 0xC61968B6, 0xC5665F9C, + 0xC4B3E751, 0xC402011C, 0xC350AF27, 0xC29FF2EC, 0xC1EFCDEA, 0xC140420A, + 0xC091516E, 0xBFE2FCE5, 0xBF35468E, 0xBE883082, 0xBDDBBB92, 0xBD2FE9D5, + 0xBC84BCF2, 0xBBDA36FD, 0xBB3058C1, 0xBA87244E, 0xB9DE9BB0, 0xB936BFB2, + 0xB88F925B, 0xB7E9154A, 0xB7434A82, 0xB69E32C9, 0xB5F9D020, 0xB5562485, + 0xB4B330BC, 0xB410F6BE, 0xB36F7882, 0xB2CEB6CB, 0xB22EB38A, 0xB18F704B, + 0xB0F0EEFC, 0xB0533059, 0xAFB6364E, 0xAF1A02C1, 0xAE7E966C, 0xADE3F332, + 0xAD4A1A92, 0xACB10E67, 0xAC18CF69, 0xAB815F71, 0xAAEAC054, 0xAA54F2C6, + 0xA9BFF898, 0xA92BD33C, 0xA898847A, 0xA8060D04, 0xA7746EA1, 0xA6E3AB14, + 0xA653C30A, 0xA5C4B842, 0xA5368C78, 0xA4A94055, 0xA41CD591, 0xA3914D86, + 0xA306A9E5, 0xA27CEB53, 0xA1F4137C, 0xA16C2408, 0xA0E51D9A, 0xA05F01D6, + 0x9FD9D207, 0x9F558FC8, 0x9ED23BB9, 0x9E4FD771, 0x9DCE6485, 0x9D4DE38E, + 0x9CCE561E, 0x9C4FBD6E, 0x9BD21B06, 0x9B556F7D, 0x9AD9BC57, 0x9A5F0312, + 0x99E54441, 0x996C815F, 0x98F4BBE2, 0x987DF458, 0x98082C35, 0x97936499, + 0x971F9EEF, 0x96ACDBC0, 0x963B1C73, 0x95CA6267, 0x955AAE23, 0x94EC0102, + 0x947E5C15, 0x9411C0B1, 0x93A62F56, 0x933BA954, 0x92D22FB1, 0x9269C372, + 0x9202661A, 0x919C17A3, 0x9136D98D, 0x90D2ACD1, 0x906F9266, 0x900D8B42, + 0x8FAC9856, 0x8F4CBB0B, 0x8EEDF358, 0x8E9042A4, 0x8E33A9D4, 0x8DD829CE, + 0x8D7DC372, 0x8D2477A1, 0x8CCC47A6, 0x8C75337A, 0x8C1F3C65, 0x8BCA633B, + 0x8B76A8CE, 0x8B240DEB, 0x8AD293C7, 0x8A823A59, 0x8A3302D2, 0x89E4EDF5, + 0x8997FC81, 0x894C2F36, 0x890186CE, 0x88B8045E, 0x886FA7E0, 0x88287266, + 0x87E2649F, 0x879D7F37, 0x8759C2D9, 0x8717302D, 0x86D5C827, 0x86958AC5, + 0x865678F8, 0x8618935B, 0x85DBDA87, 0x85A04F13, 0x8565F192, 0x852CC2DA, + 0x84F4C2E8, 0x84BDF28F, 0x84885258, 0x8453E2C5, 0x8420A459, 0x83EE9791, + 0x83BDBD27, 0x838E1518, 0x835FA016, 0x83325E96, 0x83065106, 0x82DB77D4, + 0x82B1D369, 0x8289645F, 0x82622AB2, 0x823C26F8, 0x8217598E, 0x81F3C2CF, + 0x81D16313, 0x81B03AAE, 0x81904A1B, 0x81719157, 0x815410D7, 0x8137C8E4, + 0x811CB9C4, 0x8102E3B9, 0x80EA4722, 0x80D2E3FC, 0x80BCBAA3, 0x80A7CB4B, + 0x8094162A, 0x80819B6F, 0x80705B49, 0x806055F5, 0x80518B72, 0x8043FBFA, + 0x8037A7AE, 0x802C8EAD, 0x8022B111, 0x801A0EF5, 0x8012A874, 0x800C7D90, + 0x80078E60, 0x8003DAF2, 0x8001634E, 0x8000277B +}; + +const FIXED sine_128[] = { + 0xFF36F079, 0xFDA4D929, 0xFC12D91C, 0xFA80FFCF, 0xF8EF5CBC, 0xF75DFF6C, + 0xF5CCF73F, 0xF43C53CB, 0xF2AC2474, 0xF11C7895, 0xEF8D5FC8, 0xEDFEE931, + 0xEC71244A, 0xEAE4208A, 0xE957ED00, 0xE7CC9912, 0xE642341D, 0xE4B8CD16, + 0xE3307348, 0xE1A935F1, 0xE02323EA, 0xDE9E4C5B, 0xDD1ABE41, 0xDB98888E, + 0xDA17BA63, 0xD898621B, 0xD71A8EBA, 0xD59E4EF9, 0xD423B181, 0xD2AAC4EB, + 0xD13397FA, 0xCFBE38AD, 0xCE4AB5A6, 0xCCD91D38, 0xCB697DA1, 0xC9FBE50E, + 0xC89061D1, 0xC727017A, 0xC5BFD232, 0xC45AE1D1, 0xC2F83E1B, 0xC197F4BB, + 0xC03A137E, 0xBEDEA73A, 0xBD85BE33, 0xBC2F6544, 0xBADBA934, 0xB98A97F6, + 0xB83C3DB0, 0xB6F0A81D, 0xB5A7E331, 0xB461FC6A, 0xB31EFFF0, 0xB1DEF9D2, + 0xB0A1F730, 0xAF68037B, 0xAE312B94, 0xACFD7B13, 0xABCCFD75, 0xAA9FBF37, + 0xA975CB39, 0xA84F2DB4, 0xA72BF147, 0xA60C21E8, 0xA4EFCA51, 0xA3D6F51F, + 0xA2C1ADDA, 0xA1AFFE80, 0xA0A1F24E, 0x9F979356, 0x9E90EB88, 0x9D8E05AD, + 0x9C8EEB1A, 0x9B93A649, 0x9A9C4048, 0x99A8C33F, 0x98B93843, 0x97CDA844, + 0x96E61CED, 0x96029E99, 0x9523369D, 0x9447ED4D, 0x9370CADA, 0x929DD7D5, + 0x91CF1CE2, 0x9104A0F4, 0x903E6C5C, 0x8F7C873A, 0x8EBEF810, 0x8E05C6AA, + 0x8D50FA2B, 0x8CA099FB, 0x8BF4AC06, 0x8B4D375E, 0x8AAA42E0, 0x8A0BD402, + 0x8971F14B, 0x88DCA0A9, 0x884BE838, 0x87BFCCD4, 0x87385443, 0x86B5840D, + 0x86376099, 0x85BDEF18, 0x85493481, 0x84D934C0, 0x846DF472, 0x840777B8, + 0x83A5C2C5, 0x8348D8DF, 0x82F0BDDB, 0x829D7552, 0x824F0211, 0x82056753, + 0x81C0A7F0, 0x8180C6B5, 0x8145C5C8, 0x810FA798, 0x80DE6E59, 0x80B21BB4, + 0x808AB17D, 0x8068313B, 0x804A9C52, 0x8031F3C2, 0x801E3892, 0x800F6B8C, + 0x80058D30, 0x80009DEA +}; + +const FIXED *sine_windows[] = { + NULL, NULL, NULL, NULL, NULL, NULL, //not used + sine_128, sine_256, sine_512, sine_1024, sine_2048, sine_4096 +}; Index: apps/codecs/wmapro.c =================================================================== --- apps/codecs/wmapro.c (revision 27015) +++ apps/codecs/wmapro.c (working copy) @@ -66,7 +66,7 @@ int pktcnt = 0; /* Count of the packets played */ /* Generic codec initialisation */ - ci->configure(DSP_SET_SAMPLE_DEPTH, 32); + ci->configure(DSP_SET_SAMPLE_DEPTH, 17); next_track: Index: apps/codecs/libwmapro/wmaprodec.c =================================================================== --- apps/codecs/libwmapro/wmaprodec.c (revision 27015) +++ apps/codecs/libwmapro/wmaprodec.c (working copy) @@ -94,6 +94,10 @@ #include "dsputil.h" #include "wma.h" #include "wmaprodec.h" +#include "mdct_tables.h" +#include "mdct_tables2.h" +#include "types.h" +#include "wmapro_math.h" /* Some defines to make it compile */ #define AVERROR_INVALIDDATA -1 @@ -148,7 +152,9 @@ int* scale_factors; ///< pointer to the scale factor values used for decoding uint8_t table_idx; ///< index in sf_offsets for the scale factor reference block float* coeffs; ///< pointer to the subframe decode buffer + FIXED* fixcoeffs; DECLARE_ALIGNED(16, float, out)[WMAPRO_BLOCK_MAX_SIZE + WMAPRO_BLOCK_MAX_SIZE / 2]; ///< output buffer + DECLARE_ALIGNED(16, FIXED, fixout)[WMAPRO_BLOCK_MAX_SIZE + WMAPRO_BLOCK_MAX_SIZE / 2]; ///< output buffer } WMAProChannelCtx; /** @@ -1023,24 +1029,36 @@ static void wmapro_window(WMAProDecodeCtx *s) { int i; + for (i = 0; i < s->channels_for_cur_subframe; i++) { int c = s->channel_indexes_for_cur_subframe[i]; - float* window; + FIXED* window; + float* win2; int winlen = s->channel[c].prev_block_len; float* start = s->channel[c].coeffs - (winlen >> 1); + FIXED *xstart= s->channel[c].fixcoeffs - (winlen >> 1); + int j; if (s->subframe_len < winlen) { start += (winlen - s->subframe_len) >> 1; + xstart += (winlen - s->subframe_len) >> 1; winlen = s->subframe_len; } - window = s->windows[av_log2(winlen) - BLOCK_MIN_BITS]; - + window = sine_windows[av_log2(winlen) - BLOCK_MIN_BITS + 6]; + win2 = s->windows[av_log2(winlen) - BLOCK_MIN_BITS]; + + for(j = -winlen; j < winlen; j++) + xstart[j] = ftofix16(start[j]); + winlen >>= 1; - s->dsp.vector_fmul_window(start, start, start + winlen, + //s->dsp.vector_fmul_window(start, start, start + winlen, + // win2, 0, winlen); + vector_fixmul_window(xstart, xstart, xstart + winlen, window, 0, winlen); + s->channel[c].prev_block_len = s->subframe_len; } } @@ -1116,6 +1134,8 @@ s->channel[c].coeffs = &s->channel[c].out[(s->samples_per_frame >> 1) + offset]; + s->channel[c].fixcoeffs = &s->channel[c].fixout[(s->samples_per_frame >> 1) + + offset]; } s->subframe_len = subframe_len; @@ -1354,13 +1374,13 @@ /** interleave samples and write them to the output buffer */ for (i = 0; i < s->num_channels; i++) { - float* ptr = s->samples + i; + FIXED* ptr = s->samples + i; int incr = s->num_channels; - float* iptr = s->channel[i].out; - float* iend = iptr + s->samples_per_frame; + FIXED* iptr = s->channel[i].fixout; + FIXED* iend = iptr + s->samples_per_frame; while (iptr < iend) { - *ptr = av_clipf(*iptr++, -1.0, 32767.0 / 32768.0); + *ptr = *iptr++; ptr += incr; } @@ -1548,20 +1568,6 @@ *data_size = (int8_t *)s->samples - (int8_t *)data; s->packet_offset = get_bits_count(gb) & 7; -/* Convert the pcm samples to signed 16-bit integers. This is the format that - * the rockbox simulator works with. */ -#ifdef ROCKBOX - float* fptr = data; - int32_t* ptr = data; - int x; - for(x = 0; x < *data_size; x++) - { - fptr[x] *= ((float)(INT32_MAX)); - ptr[x] = (int32_t)fptr[x]; - - } -#endif - return (s->packet_loss) ? AVERROR_INVALIDDATA : get_bits_count(gb) >> 3; }