-- fft4096.adb with Ada.Numerics.Complex_Types; use Ada.Numerics.Complex_Types; with Complex_Arrays; use Complex_Arrays; procedure fft4096(Z : in out Complex_Vector) is -- (0..4095) pragma Suppress(All_Checks); W: Complex_Vector(0..4095); -- scratch vector, used many times E: Complex_Vector(0..2048) := -- constants for FFT algorithm ((1.0, 0.0), (0.999999, 0.00153398), (0.999995, 0.00306796), (0.999989, 0.00460193), (0.999981, 0.00613589), (0.999971, 0.00766983), (0.999958, 0.00920376), (0.999942, 0.0107377), (0.999925, 0.0122715), (0.999905, 0.0138054), (0.999882, 0.0153392), (0.999858, 0.016873), (0.999831, 0.0184067), (0.999801, 0.0199404), (0.999769, 0.0214741), (0.999735, 0.0230077), (0.999699, 0.0245412), (0.99966, 0.0260747), (0.999619, 0.0276081), (0.999575, 0.0291415), (0.999529, 0.0306748), (0.999481, 0.032208), (0.999431, 0.0337412), (0.999378, 0.0352742), (0.999322, 0.0368072), (0.999265, 0.0383401), (0.999205, 0.0398729), (0.999142, 0.0414056), (0.999078, 0.0429383), (0.999011, 0.0444708), (0.998941, 0.0460032), (0.99887, 0.0475355), (0.998796, 0.0490677), (0.998719, 0.0505997), (0.99864, 0.0521317), (0.998559, 0.0536635), (0.998476, 0.0551952), (0.99839, 0.0567268), (0.998302, 0.0582583), (0.998211, 0.0597896), (0.998118, 0.0613207), (0.998023, 0.0628518), (0.997925, 0.0643826), (0.997825, 0.0659134), (0.997723, 0.0674439), (0.997619, 0.0689743), (0.997512, 0.0705046), (0.997402, 0.0720346), (0.99729, 0.0735646), (0.997176, 0.0750943), (0.99706, 0.0766239), (0.996941, 0.0781532), (0.99682, 0.0796824), (0.996697, 0.0812114), (0.996571, 0.0827403), (0.996443, 0.0842689), (0.996313, 0.0857973), (0.99618, 0.0873255), (0.996045, 0.0888535), (0.995907, 0.0903814), (0.995768, 0.091909), (0.995625, 0.0934363), (0.995481, 0.0949635), (0.995334, 0.0964904), (0.995185, 0.0980171), (0.995033, 0.0995436), (0.994879, 0.10107), (0.994723, 0.102596), (0.994565, 0.104122), (0.994404, 0.105647), (0.994241, 0.107172), (0.994075, 0.108697), (0.993907, 0.110222), (0.993737, 0.111747), (0.993564, 0.113271), (0.993389, 0.114795), (0.993212, 0.116319), (0.993032, 0.117842), (0.99285, 0.119365), (0.992666, 0.120888), (0.99248, 0.122411), (0.992291, 0.123933), (0.992099, 0.125455), (0.991906, 0.126977), (0.99171, 0.128498), (0.991511, 0.130019), (0.991311, 0.13154), (0.991108, 0.133061), (0.990903, 0.134581), (0.990695, 0.136101), (0.990485, 0.13762), (0.990273, 0.139139), (0.990058, 0.140658), (0.989841, 0.142177), (0.989622, 0.143695), (0.989401, 0.145213), (0.989177, 0.14673), (0.98895, 0.148248), (0.988722, 0.149765), (0.988491, 0.151281), (0.988258, 0.152797), (0.988022, 0.154313), (0.987784, 0.155828), (0.987544, 0.157343), (0.987302, 0.158858), (0.987057, 0.160372), (0.986809, 0.161886), (0.98656, 0.1634), (0.986308, 0.164913), (0.986054, 0.166426), (0.985798, 0.167938), (0.985539, 0.16945), (0.985278, 0.170962), (0.985014, 0.172473), (0.984749, 0.173984), (0.984481, 0.175494), (0.98421, 0.177004), (0.983938, 0.178514), (0.983662, 0.180023), (0.983385, 0.181532), (0.983106, 0.18304), (0.982824, 0.184548), (0.982539, 0.186055), (0.982253, 0.187562), (0.981964, 0.189069), (0.981673, 0.190575), (0.981379, 0.19208), (0.981084, 0.193586), (0.980785, 0.19509), (0.980485, 0.196595), (0.980182, 0.198098), (0.979877, 0.199602), (0.97957, 0.201105), (0.97926, 0.202607), (0.978948, 0.204109), (0.978634, 0.20561), (0.978318, 0.207111), (0.977999, 0.208612), (0.977677, 0.210112), (0.977354, 0.211611), (0.977028, 0.21311), (0.9767, 0.214609), (0.97637, 0.216107), (0.976037, 0.217604), (0.975702, 0.219101), (0.975365, 0.220598), (0.975025, 0.222094), (0.974684, 0.223589), (0.974339, 0.225084), (0.973993, 0.226578), (0.973644, 0.228072), (0.973293, 0.229565), (0.97294, 0.231058), (0.972584, 0.23255), (0.972227, 0.234042), (0.971866, 0.235533), (0.971504, 0.237024), (0.971139, 0.238514), (0.970772, 0.240003), (0.970403, 0.241492), (0.970031, 0.24298), (0.969657, 0.244468), (0.969281, 0.245955), (0.968903, 0.247442), (0.968522, 0.248928), (0.968139, 0.250413), (0.967754, 0.251898), (0.967366, 0.253382), (0.966977, 0.254866), (0.966584, 0.256349), (0.96619, 0.257831), (0.965793, 0.259313), (0.965395, 0.260794), (0.964993, 0.262275), (0.96459, 0.263755), (0.964184, 0.265234), (0.963776, 0.266713), (0.963366, 0.268191), (0.962953, 0.269668), (0.962539, 0.271145), (0.962121, 0.272621), (0.961702, 0.274097), (0.961281, 0.275572), (0.960857, 0.277046), (0.960431, 0.27852), (0.960002, 0.279993), (0.959572, 0.281465), (0.959139, 0.282937), (0.958704, 0.284408), (0.958266, 0.285878), (0.957826, 0.287347), (0.957385, 0.288816), (0.95694, 0.290285), (0.956494, 0.291752), (0.956045, 0.293219), (0.955594, 0.294685), (0.955141, 0.296151), (0.954686, 0.297616), (0.954228, 0.29908), (0.953768, 0.300543), (0.953306, 0.302006), (0.952842, 0.303468), (0.952375, 0.304929), (0.951906, 0.30639), (0.951435, 0.30785), (0.950962, 0.309309), (0.950486, 0.310767), (0.950008, 0.312225), (0.949528, 0.313682), (0.949046, 0.315138), (0.948561, 0.316593), (0.948075, 0.318048), (0.947586, 0.319502), (0.947094, 0.320955), (0.946601, 0.322408), (0.946105, 0.323859), (0.945607, 0.32531), (0.945107, 0.326761), (0.944605, 0.32821), (0.9441, 0.329658), (0.943594, 0.331106), (0.943085, 0.332553), (0.942573, 0.334), (0.94206, 0.335445), (0.941544, 0.33689), (0.941026, 0.338334), (0.940506, 0.339777), (0.939984, 0.341219), (0.939459, 0.342661), (0.938933, 0.344101), (0.938404, 0.345541), (0.937872, 0.34698), (0.937339, 0.348419), (0.936804, 0.349856), (0.936266, 0.351293), (0.935726, 0.352729), (0.935184, 0.354164), (0.934639, 0.355598), (0.934093, 0.357031), (0.933544, 0.358463), (0.932993, 0.359895), (0.93244, 0.361326), (0.931884, 0.362756), (0.931327, 0.364185), (0.930767, 0.365613), (0.930205, 0.36704), (0.929641, 0.368467), (0.929075, 0.369892), (0.928506, 0.371317), (0.927935, 0.372741), (0.927363, 0.374164), (0.926788, 0.375586), (0.92621, 0.377007), (0.925631, 0.378428), (0.925049, 0.379847), (0.924465, 0.381266), (0.92388, 0.382683), (0.923291, 0.3841), (0.922701, 0.385516), (0.922109, 0.386931), (0.921514, 0.388345), (0.920917, 0.389758), (0.920318, 0.39117), (0.919717, 0.392582), (0.919114, 0.393992), (0.918508, 0.395402), (0.917901, 0.39681), (0.917291, 0.398218), (0.916679, 0.399624), (0.916065, 0.40103), (0.915449, 0.402435), (0.91483, 0.403838), (0.91421, 0.405241), (0.913587, 0.406643), (0.912962, 0.408044), (0.912335, 0.409444), (0.911706, 0.410843), (0.911075, 0.412241), (0.910441, 0.413638), (0.909806, 0.415034), (0.909168, 0.41643), (0.908528, 0.417824), (0.907886, 0.419217), (0.907242, 0.420609), (0.906596, 0.422), (0.905947, 0.423391), (0.905297, 0.42478), (0.904644, 0.426168), (0.903989, 0.427555), (0.903332, 0.428941), (0.902673, 0.430326), (0.902012, 0.431711), (0.901349, 0.433094), (0.900684, 0.434476), (0.900016, 0.435857), (0.899346, 0.437237), (0.898675, 0.438616), (0.898001, 0.439994), (0.897325, 0.441371), (0.896646, 0.442747), (0.895966, 0.444122), (0.895284, 0.445496), (0.894599, 0.446869), (0.893913, 0.448241), (0.893224, 0.449611), (0.892534, 0.450981), (0.891841, 0.45235), (0.891146, 0.453717), (0.890449, 0.455084), (0.88975, 0.456449), (0.889048, 0.457813), (0.888345, 0.459177), (0.88764, 0.460539), (0.886932, 0.4619), (0.886223, 0.46326), (0.885511, 0.464619), (0.884797, 0.465977), (0.884081, 0.467333), (0.883363, 0.468689), (0.882643, 0.470043), (0.881921, 0.471397), (0.881197, 0.472749), (0.880471, 0.4741), (0.879743, 0.47545), (0.879012, 0.476799), (0.87828, 0.478147), (0.877545, 0.479494), (0.876809, 0.480839), (0.87607, 0.482184), (0.875329, 0.483527), (0.874587, 0.484869), (0.873842, 0.48621), (0.873095, 0.48755), (0.872346, 0.488889), (0.871595, 0.490226), (0.870842, 0.491563), (0.870087, 0.492898), (0.86933, 0.494232), (0.868571, 0.495565), (0.867809, 0.496897), (0.867046, 0.498228), (0.866281, 0.499557), (0.865514, 0.500885), (0.864744, 0.502213), (0.863973, 0.503538), (0.863199, 0.504863), (0.862424, 0.506187), (0.861646, 0.507509), (0.860867, 0.50883), (0.860085, 0.51015), (0.859302, 0.511469), (0.858516, 0.512786), (0.857729, 0.514103), (0.856939, 0.515418), (0.856147, 0.516732), (0.855354, 0.518044), (0.854558, 0.519356), (0.85376, 0.520666), (0.852961, 0.521975), (0.852159, 0.523283), (0.851355, 0.52459), (0.85055, 0.525895), (0.849742, 0.527199), (0.848932, 0.528502), (0.84812, 0.529804), (0.847307, 0.531104), (0.846491, 0.532403), (0.845673, 0.533701), (0.844854, 0.534998), (0.844032, 0.536293), (0.843208, 0.537587), (0.842383, 0.53888), (0.841555, 0.540172), (0.840725, 0.541462), (0.839894, 0.542751), (0.83906, 0.544038), (0.838225, 0.545325), (0.837387, 0.54661), (0.836548, 0.547894), (0.835706, 0.549177), (0.834863, 0.550458), (0.834018, 0.551738), (0.83317, 0.553017), (0.832321, 0.554294), (0.83147, 0.55557), (0.830616, 0.556845), (0.829761, 0.558119), (0.828904, 0.559391), (0.828045, 0.560662), (0.827184, 0.561931), (0.826321, 0.563199), (0.825456, 0.564466), (0.824589, 0.565732), (0.823721, 0.566996), (0.82285, 0.568259), (0.821977, 0.56952), (0.821103, 0.570781), (0.820226, 0.57204), (0.819348, 0.573297), (0.818467, 0.574553), (0.817585, 0.575808), (0.816701, 0.577062), (0.815814, 0.578314), (0.814926, 0.579565), (0.814036, 0.580814), (0.813144, 0.582062), (0.812251, 0.583309), (0.811355, 0.584554), (0.810457, 0.585798), (0.809558, 0.58704), (0.808656, 0.588282), (0.807753, 0.589521), (0.806848, 0.59076), (0.80594, 0.591997), (0.805031, 0.593232), (0.80412, 0.594467), (0.803208, 0.595699), (0.802293, 0.596931), (0.801376, 0.598161), (0.800458, 0.599389), (0.799537, 0.600617), (0.798615, 0.601842), (0.797691, 0.603067), (0.796765, 0.60429), (0.795837, 0.605511), (0.794907, 0.606731), (0.793975, 0.60795), (0.793042, 0.609167), (0.792107, 0.610383), (0.791169, 0.611597), (0.79023, 0.61281), (0.789289, 0.614022), (0.788346, 0.615232), (0.787402, 0.61644), (0.786455, 0.617647), (0.785507, 0.618853), (0.784557, 0.620057), (0.783605, 0.62126), (0.782651, 0.622461), (0.781695, 0.623661), (0.780737, 0.62486), (0.779778, 0.626056), (0.778816, 0.627252), (0.777853, 0.628446), (0.776888, 0.629638), (0.775922, 0.630829), (0.774953, 0.632019), (0.773983, 0.633207), (0.77301, 0.634393), (0.772036, 0.635578), (0.77106, 0.636762), (0.770083, 0.637944), (0.769103, 0.639125), (0.768122, 0.640304), (0.767139, 0.641481), (0.766154, 0.642657), (0.765167, 0.643832), (0.764179, 0.645005), (0.763188, 0.646176), (0.762196, 0.647346), (0.761202, 0.648514), (0.760207, 0.649681), (0.759209, 0.650847), (0.75821, 0.652011), (0.757209, 0.653173), (0.756206, 0.654334), (0.755201, 0.655493), (0.754195, 0.656651), (0.753187, 0.657807), (0.752177, 0.658961), (0.751165, 0.660114), (0.750152, 0.661266), (0.749136, 0.662416), (0.748119, 0.663564), (0.747101, 0.664711), (0.74608, 0.665856), (0.745058, 0.667), (0.744034, 0.668142), (0.743008, 0.669283), (0.74198, 0.670422), (0.740951, 0.671559), (0.73992, 0.672695), (0.738887, 0.673829), (0.737853, 0.674962), (0.736817, 0.676093), (0.735779, 0.677222), (0.734739, 0.67835), (0.733697, 0.679476), (0.732654, 0.680601), (0.731609, 0.681724), (0.730563, 0.682845), (0.729514, 0.683965), (0.728464, 0.685084), (0.727413, 0.6862), (0.726359, 0.687315), (0.725304, 0.688429), (0.724247, 0.689541), (0.723188, 0.690651), (0.722128, 0.691759), (0.721066, 0.692866), (0.720003, 0.693971), (0.718937, 0.695075), (0.71787, 0.696177), (0.716801, 0.697277), (0.715731, 0.698376), (0.714659, 0.699473), (0.713585, 0.700569), (0.712509, 0.701663), (0.711432, 0.702755), (0.710353, 0.703845), (0.709273, 0.704934), (0.708191, 0.706021), (0.707107, 0.707107), (0.706021, 0.708191), (0.704934, 0.709273), (0.703845, 0.710353), (0.702755, 0.711432), (0.701663, 0.712509), (0.700569, 0.713585), (0.699473, 0.714659), (0.698376, 0.715731), (0.697277, 0.716801), (0.696177, 0.71787), (0.695075, 0.718937), (0.693971, 0.720003), (0.692866, 0.721066), (0.691759, 0.722128), (0.690651, 0.723188), (0.689541, 0.724247), (0.688429, 0.725304), (0.687315, 0.726359), (0.6862, 0.727413), (0.685084, 0.728464), (0.683965, 0.729514), (0.682845, 0.730563), (0.681724, 0.731609), (0.680601, 0.732654), (0.679476, 0.733697), (0.67835, 0.734739), (0.677222, 0.735779), (0.676093, 0.736817), (0.674962, 0.737853), (0.673829, 0.738887), (0.672695, 0.73992), (0.671559, 0.740951), (0.670422, 0.74198), (0.669283, 0.743008), (0.668142, 0.744034), (0.667, 0.745058), (0.665856, 0.74608), (0.664711, 0.747101), (0.663564, 0.748119), (0.662416, 0.749136), (0.661266, 0.750152), (0.660114, 0.751165), (0.658961, 0.752177), (0.657807, 0.753187), (0.656651, 0.754195), (0.655493, 0.755201), (0.654334, 0.756206), (0.653173, 0.757209), (0.652011, 0.75821), (0.650847, 0.759209), (0.649681, 0.760207), (0.648514, 0.761202), (0.647346, 0.762196), (0.646176, 0.763188), (0.645005, 0.764179), (0.643832, 0.765167), (0.642657, 0.766154), (0.641481, 0.767139), (0.640304, 0.768122), (0.639125, 0.769103), (0.637944, 0.770083), (0.636762, 0.77106), (0.635578, 0.772036), (0.634393, 0.77301), (0.633207, 0.773983), (0.632019, 0.774953), (0.630829, 0.775922), (0.629638, 0.776888), (0.628446, 0.777853), (0.627252, 0.778816), (0.626056, 0.779778), (0.62486, 0.780737), (0.623661, 0.781695), (0.622461, 0.782651), (0.62126, 0.783605), (0.620057, 0.784557), (0.618853, 0.785507), (0.617647, 0.786455), (0.61644, 0.787402), (0.615232, 0.788346), (0.614022, 0.789289), (0.61281, 0.79023), (0.611597, 0.791169), (0.610383, 0.792107), (0.609167, 0.793042), (0.60795, 0.793975), (0.606731, 0.794907), (0.605511, 0.795837), (0.60429, 0.796765), (0.603067, 0.797691), (0.601842, 0.798615), (0.600617, 0.799537), (0.599389, 0.800458), (0.598161, 0.801376), (0.596931, 0.802293), (0.595699, 0.803208), (0.594467, 0.80412), (0.593232, 0.805031), (0.591997, 0.80594), (0.59076, 0.806848), (0.589521, 0.807753), (0.588282, 0.808656), (0.58704, 0.809558), (0.585798, 0.810457), (0.584554, 0.811355), (0.583309, 0.812251), (0.582062, 0.813144), (0.580814, 0.814036), (0.579565, 0.814926), (0.578314, 0.815814), (0.577062, 0.816701), (0.575808, 0.817585), (0.574553, 0.818467), (0.573297, 0.819348), (0.57204, 0.820226), (0.570781, 0.821103), (0.56952, 0.821977), (0.568259, 0.82285), (0.566996, 0.823721), (0.565732, 0.824589), (0.564466, 0.825456), (0.563199, 0.826321), (0.561931, 0.827184), (0.560662, 0.828045), (0.559391, 0.828904), (0.558119, 0.829761), (0.556845, 0.830616), (0.55557, 0.83147), (0.554294, 0.832321), (0.553017, 0.83317), (0.551738, 0.834018), (0.550458, 0.834863), (0.549177, 0.835706), (0.547894, 0.836548), (0.54661, 0.837387), (0.545325, 0.838225), (0.544038, 0.83906), (0.542751, 0.839894), (0.541462, 0.840725), (0.540172, 0.841555), (0.53888, 0.842383), (0.537587, 0.843208), (0.536293, 0.844032), (0.534998, 0.844854), (0.533701, 0.845673), (0.532403, 0.846491), (0.531104, 0.847307), (0.529804, 0.84812), (0.528502, 0.848932), (0.527199, 0.849742), (0.525895, 0.85055), (0.52459, 0.851355), (0.523283, 0.852159), (0.521975, 0.852961), (0.520666, 0.85376), (0.519356, 0.854558), (0.518044, 0.855354), (0.516732, 0.856147), (0.515418, 0.856939), (0.514103, 0.857729), (0.512786, 0.858516), (0.511469, 0.859302), (0.51015, 0.860085), (0.50883, 0.860867), (0.507509, 0.861646), (0.506187, 0.862424), (0.504863, 0.863199), (0.503538, 0.863973), (0.502213, 0.864744), (0.500885, 0.865514), (0.499557, 0.866281), (0.498228, 0.867046), (0.496897, 0.867809), (0.495565, 0.868571), (0.494232, 0.86933), (0.492898, 0.870087), (0.491563, 0.870842), (0.490226, 0.871595), (0.488889, 0.872346), (0.48755, 0.873095), (0.48621, 0.873842), (0.484869, 0.874587), (0.483527, 0.875329), (0.482184, 0.87607), (0.480839, 0.876809), (0.479494, 0.877545), (0.478147, 0.87828), (0.476799, 0.879012), (0.47545, 0.879743), (0.4741, 0.880471), (0.472749, 0.881197), (0.471397, 0.881921), (0.470043, 0.882643), (0.468689, 0.883363), (0.467333, 0.884081), (0.465977, 0.884797), (0.464619, 0.885511), (0.46326, 0.886223), (0.4619, 0.886932), (0.460539, 0.88764), (0.459177, 0.888345), (0.457813, 0.889048), (0.456449, 0.88975), (0.455084, 0.890449), (0.453717, 0.891146), (0.45235, 0.891841), (0.450981, 0.892534), (0.449611, 0.893224), (0.448241, 0.893913), (0.446869, 0.894599), (0.445496, 0.895284), (0.444122, 0.895966), (0.442747, 0.896646), (0.441371, 0.897325), (0.439994, 0.898001), (0.438616, 0.898675), (0.437237, 0.899346), (0.435857, 0.900016), (0.434476, 0.900684), (0.433094, 0.901349), (0.431711, 0.902012), (0.430326, 0.902673), (0.428941, 0.903332), (0.427555, 0.903989), (0.426168, 0.904644), (0.42478, 0.905297), (0.423391, 0.905947), (0.422, 0.906596), (0.420609, 0.907242), (0.419217, 0.907886), (0.417824, 0.908528), (0.41643, 0.909168), (0.415034, 0.909806), (0.413638, 0.910441), (0.412241, 0.911075), (0.410843, 0.911706), (0.409444, 0.912335), (0.408044, 0.912962), (0.406643, 0.913587), (0.405241, 0.91421), (0.403838, 0.91483), (0.402435, 0.915449), (0.40103, 0.916065), (0.399624, 0.916679), (0.398218, 0.917291), (0.39681, 0.917901), (0.395402, 0.918508), (0.393992, 0.919114), (0.392582, 0.919717), (0.39117, 0.920318), (0.389758, 0.920917), (0.388345, 0.921514), (0.386931, 0.922109), (0.385516, 0.922701), (0.3841, 0.923291), (0.382683, 0.92388), (0.381266, 0.924465), (0.379847, 0.925049), (0.378428, 0.925631), (0.377007, 0.92621), (0.375586, 0.926788), (0.374164, 0.927363), (0.372741, 0.927935), (0.371317, 0.928506), (0.369892, 0.929075), (0.368467, 0.929641), (0.36704, 0.930205), (0.365613, 0.930767), (0.364185, 0.931327), (0.362756, 0.931884), (0.361326, 0.93244), (0.359895, 0.932993), (0.358463, 0.933544), (0.357031, 0.934093), (0.355598, 0.934639), (0.354164, 0.935184), (0.352729, 0.935726), (0.351293, 0.936266), (0.349856, 0.936804), (0.348419, 0.937339), (0.34698, 0.937872), (0.345541, 0.938404), (0.344101, 0.938933), (0.342661, 0.939459), (0.341219, 0.939984), (0.339777, 0.940506), (0.338334, 0.941026), (0.33689, 0.941544), (0.335445, 0.94206), (0.334, 0.942573), (0.332553, 0.943085), (0.331106, 0.943594), (0.329658, 0.9441), (0.32821, 0.944605), (0.326761, 0.945107), (0.32531, 0.945607), (0.323859, 0.946105), (0.322408, 0.946601), (0.320955, 0.947094), (0.319502, 0.947586), (0.318048, 0.948075), (0.316593, 0.948561), (0.315138, 0.949046), (0.313682, 0.949528), (0.312225, 0.950008), (0.310767, 0.950486), (0.309309, 0.950962), (0.30785, 0.951435), (0.30639, 0.951906), (0.304929, 0.952375), (0.303468, 0.952842), (0.302006, 0.953306), (0.300543, 0.953768), (0.29908, 0.954228), (0.297616, 0.954686), (0.296151, 0.955141), (0.294685, 0.955594), (0.293219, 0.956045), (0.291752, 0.956494), (0.290285, 0.95694), (0.288816, 0.957385), (0.287347, 0.957826), (0.285878, 0.958266), (0.284408, 0.958704), (0.282937, 0.959139), (0.281465, 0.959572), (0.279993, 0.960002), (0.27852, 0.960431), (0.277046, 0.960857), (0.275572, 0.961281), (0.274097, 0.961702), (0.272621, 0.962121), (0.271145, 0.962539), (0.269668, 0.962953), (0.268191, 0.963366), (0.266713, 0.963776), (0.265234, 0.964184), (0.263755, 0.96459), (0.262275, 0.964993), (0.260794, 0.965395), (0.259313, 0.965793), (0.257831, 0.96619), (0.256349, 0.966584), (0.254866, 0.966977), (0.253382, 0.967366), (0.251898, 0.967754), (0.250413, 0.968139), (0.248928, 0.968522), (0.247442, 0.968903), (0.245955, 0.969281), (0.244468, 0.969657), (0.24298, 0.970031), (0.241492, 0.970403), (0.240003, 0.970772), (0.238514, 0.971139), (0.237024, 0.971504), (0.235533, 0.971866), (0.234042, 0.972227), (0.23255, 0.972584), (0.231058, 0.97294), (0.229565, 0.973293), (0.228072, 0.973644), (0.226578, 0.973993), (0.225084, 0.974339), (0.223589, 0.974684), (0.222094, 0.975025), (0.220598, 0.975365), (0.219101, 0.975702), (0.217604, 0.976037), (0.216107, 0.97637), (0.214609, 0.9767), (0.21311, 0.977028), (0.211611, 0.977354), (0.210112, 0.977677), (0.208612, 0.977999), (0.207111, 0.978318), (0.20561, 0.978634), (0.204109, 0.978948), (0.202607, 0.97926), (0.201105, 0.97957), (0.199602, 0.979877), (0.198098, 0.980182), (0.196595, 0.980485), (0.19509, 0.980785), (0.193586, 0.981084), (0.19208, 0.981379), (0.190575, 0.981673), (0.189069, 0.981964), (0.187562, 0.982253), (0.186055, 0.982539), (0.184548, 0.982824), (0.18304, 0.983106), (0.181532, 0.983385), (0.180023, 0.983662), (0.178514, 0.983938), (0.177004, 0.98421), (0.175494, 0.984481), (0.173984, 0.984749), (0.172473, 0.985014), (0.170962, 0.985278), (0.16945, 0.985539), (0.167938, 0.985798), (0.166426, 0.986054), (0.164913, 0.986308), (0.1634, 0.98656), (0.161886, 0.986809), (0.160372, 0.987057), (0.158858, 0.987302), (0.157343, 0.987544), (0.155828, 0.987784), (0.154313, 0.988022), (0.152797, 0.988258), (0.151281, 0.988491), (0.149765, 0.988722), (0.148248, 0.98895), (0.14673, 0.989177), (0.145213, 0.989401), (0.143695, 0.989622), (0.142177, 0.989841), (0.140658, 0.990058), (0.139139, 0.990273), (0.13762, 0.990485), (0.136101, 0.990695), (0.134581, 0.990903), (0.133061, 0.991108), (0.13154, 0.991311), (0.130019, 0.991511), (0.128498, 0.99171), (0.126977, 0.991906), (0.125455, 0.992099), (0.123933, 0.992291), (0.122411, 0.99248), (0.120888, 0.992666), (0.119365, 0.99285), (0.117842, 0.993032), (0.116319, 0.993212), (0.114795, 0.993389), (0.113271, 0.993564), (0.111747, 0.993737), (0.110222, 0.993907), (0.108697, 0.994075), (0.107172, 0.994241), (0.105647, 0.994404), (0.104122, 0.994565), (0.102596, 0.994723), (0.10107, 0.994879), (0.0995436, 0.995033), (0.0980171, 0.995185), (0.0964904, 0.995334), (0.0949635, 0.995481), (0.0934363, 0.995625), (0.091909, 0.995768), (0.0903814, 0.995907), (0.0888535, 0.996045), (0.0873255, 0.99618), (0.0857973, 0.996313), (0.0842689, 0.996443), (0.0827403, 0.996571), (0.0812114, 0.996697), (0.0796824, 0.99682), (0.0781532, 0.996941), (0.0766239, 0.99706), (0.0750943, 0.997176), (0.0735646, 0.99729), (0.0720346, 0.997402), (0.0705046, 0.997512), (0.0689743, 0.997619), (0.0674439, 0.997723), (0.0659134, 0.997825), (0.0643826, 0.997925), (0.0628518, 0.998023), (0.0613207, 0.998118), (0.0597896, 0.998211), (0.0582583, 0.998302), (0.0567268, 0.99839), (0.0551952, 0.998476), (0.0536635, 0.998559), (0.0521317, 0.99864), (0.0505997, 0.998719), (0.0490677, 0.998796), (0.0475355, 0.99887), (0.0460032, 0.998941), (0.0444708, 0.999011), (0.0429383, 0.999078), (0.0414056, 0.999142), (0.0398729, 0.999205), (0.0383401, 0.999265), (0.0368072, 0.999322), (0.0352742, 0.999378), (0.0337412, 0.999431), (0.032208, 0.999481), (0.0306748, 0.999529), (0.0291415, 0.999575), (0.0276081, 0.999619), (0.0260747, 0.99966), (0.0245412, 0.999699), (0.0230077, 0.999735), (0.0214741, 0.999769), (0.0199404, 0.999801), (0.0184067, 0.999831), (0.016873, 0.999858), (0.0153392, 0.999882), (0.0138054, 0.999905), (0.0122715, 0.999925), (0.0107377, 0.999942), (0.00920376, 0.999958), (0.00766983, 0.999971), (0.00613589, 0.999981), (0.00460193, 0.999989), (0.00306796, 0.999995), (0.00153398, 0.999999), (0.0, 1.0), (-0.00153398, 0.999999), (-0.00306796, 0.999995), (-0.00460193, 0.999989), (-0.00613589, 0.999981), (-0.00766983, 0.999971), (-0.00920376, 0.999958), (-0.0107377, 0.999942), (-0.0122715, 0.999925), (-0.0138054, 0.999905), (-0.0153392, 0.999882), (-0.016873, 0.999858), (-0.0184067, 0.999831), (-0.0199404, 0.999801), (-0.0214741, 0.999769), (-0.0230077, 0.999735), (-0.0245412, 0.999699), (-0.0260747, 0.99966), (-0.0276081, 0.999619), (-0.0291415, 0.999575), (-0.0306748, 0.999529), (-0.032208, 0.999481), (-0.0337412, 0.999431), (-0.0352742, 0.999378), (-0.0368072, 0.999322), (-0.0383401, 0.999265), (-0.0398729, 0.999205), (-0.0414056, 0.999142), (-0.0429383, 0.999078), (-0.0444708, 0.999011), (-0.0460032, 0.998941), (-0.0475355, 0.99887), (-0.0490677, 0.998796), (-0.0505997, 0.998719), (-0.0521317, 0.99864), (-0.0536635, 0.998559), (-0.0551952, 0.998476), (-0.0567268, 0.99839), (-0.0582583, 0.998302), (-0.0597896, 0.998211), (-0.0613207, 0.998118), (-0.0628518, 0.998023), (-0.0643826, 0.997925), (-0.0659134, 0.997825), (-0.0674439, 0.997723), (-0.0689743, 0.997619), (-0.0705046, 0.997512), (-0.0720346, 0.997402), (-0.0735646, 0.99729), (-0.0750943, 0.997176), (-0.0766239, 0.99706), (-0.0781532, 0.996941), (-0.0796824, 0.99682), (-0.0812114, 0.996697), (-0.0827403, 0.996571), (-0.0842689, 0.996443), (-0.0857973, 0.996313), (-0.0873255, 0.99618), (-0.0888535, 0.996045), (-0.0903814, 0.995907), (-0.091909, 0.995768), (-0.0934363, 0.995625), (-0.0949635, 0.995481), (-0.0964904, 0.995334), (-0.0980171, 0.995185), (-0.0995436, 0.995033), (-0.10107, 0.994879), (-0.102596, 0.994723), (-0.104122, 0.994565), (-0.105647, 0.994404), (-0.107172, 0.994241), (-0.108697, 0.994075), (-0.110222, 0.993907), (-0.111747, 0.993737), (-0.113271, 0.993564), (-0.114795, 0.993389), (-0.116319, 0.993212), (-0.117842, 0.993032), (-0.119365, 0.99285), (-0.120888, 0.992666), (-0.122411, 0.99248), (-0.123933, 0.992291), (-0.125455, 0.992099), (-0.126977, 0.991906), (-0.128498, 0.99171), (-0.130019, 0.991511), (-0.13154, 0.991311), (-0.133061, 0.991108), (-0.134581, 0.990903), (-0.136101, 0.990695), (-0.13762, 0.990485), (-0.139139, 0.990273), (-0.140658, 0.990058), (-0.142177, 0.989841), (-0.143695, 0.989622), (-0.145213, 0.989401), (-0.14673, 0.989177), (-0.148248, 0.98895), (-0.149765, 0.988722), (-0.151281, 0.988491), (-0.152797, 0.988258), (-0.154313, 0.988022), (-0.155828, 0.987784), (-0.157343, 0.987544), (-0.158858, 0.987302), (-0.160372, 0.987057), (-0.161886, 0.986809), (-0.1634, 0.98656), (-0.164913, 0.986308), (-0.166426, 0.986054), (-0.167938, 0.985798), (-0.16945, 0.985539), (-0.170962, 0.985278), (-0.172473, 0.985014), (-0.173984, 0.984749), (-0.175494, 0.984481), (-0.177004, 0.98421), (-0.178514, 0.983938), (-0.180023, 0.983662), (-0.181532, 0.983385), (-0.18304, 0.983106), (-0.184548, 0.982824), (-0.186055, 0.982539), (-0.187562, 0.982253), (-0.189069, 0.981964), (-0.190575, 0.981673), (-0.19208, 0.981379), (-0.193586, 0.981084), (-0.19509, 0.980785), (-0.196595, 0.980485), (-0.198098, 0.980182), (-0.199602, 0.979877), (-0.201105, 0.97957), (-0.202607, 0.97926), (-0.204109, 0.978948), (-0.20561, 0.978634), (-0.207111, 0.978318), (-0.208612, 0.977999), (-0.210112, 0.977677), (-0.211611, 0.977354), (-0.21311, 0.977028), (-0.214609, 0.9767), (-0.216107, 0.97637), (-0.217604, 0.976037), (-0.219101, 0.975702), (-0.220598, 0.975365), (-0.222094, 0.975025), (-0.223589, 0.974684), (-0.225084, 0.974339), (-0.226578, 0.973993), (-0.228072, 0.973644), (-0.229565, 0.973293), (-0.231058, 0.97294), (-0.23255, 0.972584), (-0.234042, 0.972227), (-0.235533, 0.971866), (-0.237024, 0.971504), (-0.238514, 0.971139), (-0.240003, 0.970772), (-0.241492, 0.970403), (-0.24298, 0.970031), (-0.244468, 0.969657), (-0.245955, 0.969281), (-0.247442, 0.968903), (-0.248928, 0.968522), (-0.250413, 0.968139), (-0.251898, 0.967754), (-0.253382, 0.967366), (-0.254866, 0.966977), (-0.256349, 0.966584), (-0.257831, 0.96619), (-0.259313, 0.965793), (-0.260794, 0.965395), (-0.262275, 0.964993), (-0.263755, 0.96459), (-0.265234, 0.964184), (-0.266713, 0.963776), (-0.268191, 0.963366), (-0.269668, 0.962953), (-0.271145, 0.962539), (-0.272621, 0.962121), (-0.274097, 0.961702), (-0.275572, 0.961281), (-0.277046, 0.960857), (-0.27852, 0.960431), (-0.279993, 0.960002), (-0.281465, 0.959572), (-0.282937, 0.959139), (-0.284408, 0.958704), (-0.285878, 0.958266), (-0.287347, 0.957826), (-0.288816, 0.957385), (-0.290285, 0.95694), (-0.291752, 0.956494), (-0.293219, 0.956045), (-0.294685, 0.955594), (-0.296151, 0.955141), (-0.297616, 0.954686), (-0.29908, 0.954228), (-0.300543, 0.953768), (-0.302006, 0.953306), (-0.303468, 0.952842), (-0.304929, 0.952375), (-0.30639, 0.951906), (-0.30785, 0.951435), (-0.309309, 0.950962), (-0.310767, 0.950486), (-0.312225, 0.950008), (-0.313682, 0.949528), (-0.315138, 0.949046), (-0.316593, 0.948561), (-0.318048, 0.948075), (-0.319502, 0.947586), (-0.320955, 0.947094), (-0.322408, 0.946601), (-0.323859, 0.946105), (-0.32531, 0.945607), (-0.326761, 0.945107), (-0.32821, 0.944605), (-0.329658, 0.9441), (-0.331106, 0.943594), (-0.332553, 0.943085), (-0.334, 0.942573), (-0.335445, 0.94206), (-0.33689, 0.941544), (-0.338334, 0.941026), (-0.339777, 0.940506), (-0.341219, 0.939984), (-0.342661, 0.939459), (-0.344101, 0.938933), (-0.345541, 0.938404), (-0.34698, 0.937872), (-0.348419, 0.937339), (-0.349856, 0.936804), (-0.351293, 0.936266), (-0.352729, 0.935726), (-0.354164, 0.935184), (-0.355598, 0.934639), (-0.357031, 0.934093), (-0.358463, 0.933544), (-0.359895, 0.932993), (-0.361326, 0.93244), (-0.362756, 0.931884), (-0.364185, 0.931327), (-0.365613, 0.930767), (-0.36704, 0.930205), (-0.368467, 0.929641), (-0.369892, 0.929075), (-0.371317, 0.928506), (-0.372741, 0.927935), (-0.374164, 0.927363), (-0.375586, 0.926788), (-0.377007, 0.92621), (-0.378428, 0.925631), (-0.379847, 0.925049), (-0.381266, 0.924465), (-0.382683, 0.92388), (-0.3841, 0.923291), (-0.385516, 0.922701), (-0.386931, 0.922109), (-0.388345, 0.921514), (-0.389758, 0.920917), (-0.39117, 0.920318), (-0.392582, 0.919717), (-0.393992, 0.919114), (-0.395402, 0.918508), (-0.39681, 0.917901), (-0.398218, 0.917291), (-0.399624, 0.916679), (-0.40103, 0.916065), (-0.402435, 0.915449), (-0.403838, 0.91483), (-0.405241, 0.91421), (-0.406643, 0.913587), (-0.408044, 0.912962), (-0.409444, 0.912335), (-0.410843, 0.911706), (-0.412241, 0.911075), (-0.413638, 0.910441), (-0.415034, 0.909806), (-0.41643, 0.909168), (-0.417824, 0.908528), (-0.419217, 0.907886), (-0.420609, 0.907242), (-0.422, 0.906596), (-0.423391, 0.905947), (-0.42478, 0.905297), (-0.426168, 0.904644), (-0.427555, 0.903989), (-0.428941, 0.903332), (-0.430326, 0.902673), (-0.431711, 0.902012), (-0.433094, 0.901349), (-0.434476, 0.900684), (-0.435857, 0.900016), (-0.437237, 0.899346), (-0.438616, 0.898675), (-0.439994, 0.898001), (-0.441371, 0.897325), (-0.442747, 0.896646), (-0.444122, 0.895966), (-0.445496, 0.895284), (-0.446869, 0.894599), (-0.448241, 0.893913), (-0.449611, 0.893224), (-0.450981, 0.892534), (-0.45235, 0.891841), (-0.453717, 0.891146), (-0.455084, 0.890449), (-0.456449, 0.88975), (-0.457813, 0.889048), (-0.459177, 0.888345), (-0.460539, 0.88764), (-0.4619, 0.886932), (-0.46326, 0.886223), (-0.464619, 0.885511), (-0.465977, 0.884797), (-0.467333, 0.884081), (-0.468689, 0.883363), (-0.470043, 0.882643), (-0.471397, 0.881921), (-0.472749, 0.881197), (-0.4741, 0.880471), (-0.47545, 0.879743), (-0.476799, 0.879012), (-0.478147, 0.87828), (-0.479494, 0.877545), (-0.480839, 0.876809), (-0.482184, 0.87607), (-0.483527, 0.875329), (-0.484869, 0.874587), (-0.48621, 0.873842), (-0.48755, 0.873095), (-0.488889, 0.872346), (-0.490226, 0.871595), (-0.491563, 0.870842), (-0.492898, 0.870087), (-0.494232, 0.86933), (-0.495565, 0.868571), (-0.496897, 0.867809), (-0.498228, 0.867046), (-0.499557, 0.866281), (-0.500885, 0.865514), (-0.502213, 0.864744), (-0.503538, 0.863973), (-0.504863, 0.863199), (-0.506187, 0.862424), (-0.507509, 0.861646), (-0.50883, 0.860867), (-0.51015, 0.860085), (-0.511469, 0.859302), (-0.512786, 0.858516), (-0.514103, 0.857729), (-0.515418, 0.856939), (-0.516732, 0.856147), (-0.518044, 0.855354), (-0.519356, 0.854558), (-0.520666, 0.85376), (-0.521975, 0.852961), (-0.523283, 0.852159), (-0.52459, 0.851355), (-0.525895, 0.85055), (-0.527199, 0.849742), (-0.528502, 0.848932), (-0.529804, 0.84812), (-0.531104, 0.847307), (-0.532403, 0.846491), (-0.533701, 0.845673), (-0.534998, 0.844854), (-0.536293, 0.844032), (-0.537587, 0.843208), (-0.53888, 0.842383), (-0.540172, 0.841555), (-0.541462, 0.840725), (-0.542751, 0.839894), (-0.544038, 0.83906), (-0.545325, 0.838225), (-0.54661, 0.837387), (-0.547894, 0.836548), (-0.549177, 0.835706), (-0.550458, 0.834863), (-0.551738, 0.834018), (-0.553017, 0.83317), (-0.554294, 0.832321), (-0.55557, 0.83147), (-0.556845, 0.830616), (-0.558119, 0.829761), (-0.559391, 0.828904), (-0.560662, 0.828045), (-0.561931, 0.827184), (-0.563199, 0.826321), (-0.564466, 0.825456), (-0.565732, 0.824589), (-0.566996, 0.823721), (-0.568259, 0.82285), (-0.56952, 0.821977), (-0.570781, 0.821103), (-0.57204, 0.820226), (-0.573297, 0.819348), (-0.574553, 0.818467), (-0.575808, 0.817585), (-0.577062, 0.816701), (-0.578314, 0.815814), (-0.579565, 0.814926), (-0.580814, 0.814036), (-0.582062, 0.813144), (-0.583309, 0.812251), (-0.584554, 0.811355), (-0.585798, 0.810457), (-0.58704, 0.809558), (-0.588282, 0.808656), (-0.589521, 0.807753), (-0.59076, 0.806848), (-0.591997, 0.80594), (-0.593232, 0.805031), (-0.594467, 0.80412), (-0.595699, 0.803208), (-0.596931, 0.802293), (-0.598161, 0.801376), (-0.599389, 0.800458), (-0.600617, 0.799537), (-0.601842, 0.798615), (-0.603067, 0.797691), (-0.60429, 0.796765), (-0.605511, 0.795837), (-0.606731, 0.794907), (-0.60795, 0.793975), (-0.609167, 0.793042), (-0.610383, 0.792107), (-0.611597, 0.791169), (-0.61281, 0.79023), (-0.614022, 0.789289), (-0.615232, 0.788346), (-0.61644, 0.787402), (-0.617647, 0.786455), (-0.618853, 0.785507), (-0.620057, 0.784557), (-0.62126, 0.783605), (-0.622461, 0.782651), (-0.623661, 0.781695), (-0.62486, 0.780737), (-0.626056, 0.779778), (-0.627252, 0.778816), (-0.628446, 0.777853), (-0.629638, 0.776888), (-0.630829, 0.775922), (-0.632019, 0.774953), (-0.633207, 0.773983), (-0.634393, 0.77301), (-0.635578, 0.772036), (-0.636762, 0.77106), (-0.637944, 0.770083), (-0.639125, 0.769103), (-0.640304, 0.768122), (-0.641481, 0.767139), (-0.642657, 0.766154), (-0.643832, 0.765167), (-0.645005, 0.764179), (-0.646176, 0.763188), (-0.647346, 0.762196), (-0.648514, 0.761202), (-0.649681, 0.760207), (-0.650847, 0.759209), (-0.652011, 0.75821), (-0.653173, 0.757209), (-0.654334, 0.756206), (-0.655493, 0.755201), (-0.656651, 0.754195), (-0.657807, 0.753187), (-0.658961, 0.752177), (-0.660114, 0.751165), (-0.661266, 0.750152), (-0.662416, 0.749136), (-0.663564, 0.748119), (-0.664711, 0.747101), (-0.665856, 0.74608), (-0.667, 0.745058), (-0.668142, 0.744034), (-0.669283, 0.743008), (-0.670422, 0.74198), (-0.671559, 0.740951), (-0.672695, 0.73992), (-0.673829, 0.738887), (-0.674962, 0.737853), (-0.676093, 0.736817), (-0.677222, 0.735779), (-0.67835, 0.734739), (-0.679476, 0.733697), (-0.680601, 0.732654), (-0.681724, 0.731609), (-0.682845, 0.730563), (-0.683965, 0.729514), (-0.685084, 0.728464), (-0.6862, 0.727413), (-0.687315, 0.726359), (-0.688429, 0.725304), (-0.689541, 0.724247), (-0.690651, 0.723188), (-0.691759, 0.722128), (-0.692866, 0.721066), (-0.693971, 0.720003), (-0.695075, 0.718937), (-0.696177, 0.71787), (-0.697277, 0.716801), (-0.698376, 0.715731), (-0.699473, 0.714659), (-0.700569, 0.713585), (-0.701663, 0.712509), (-0.702755, 0.711432), (-0.703845, 0.710353), (-0.704934, 0.709273), (-0.706021, 0.708191), (-0.707107, 0.707107), (-0.708191, 0.706021), (-0.709273, 0.704934), (-0.710353, 0.703845), (-0.711432, 0.702755), (-0.712509, 0.701663), (-0.713585, 0.700569), (-0.714659, 0.699473), (-0.715731, 0.698376), (-0.716801, 0.697277), (-0.71787, 0.696177), (-0.718937, 0.695075), (-0.720003, 0.693971), (-0.721066, 0.692866), (-0.722128, 0.691759), (-0.723188, 0.690651), (-0.724247, 0.689541), (-0.725304, 0.688429), (-0.726359, 0.687315), (-0.727413, 0.6862), (-0.728464, 0.685084), (-0.729514, 0.683965), (-0.730563, 0.682845), (-0.731609, 0.681724), (-0.732654, 0.680601), (-0.733697, 0.679476), (-0.734739, 0.67835), (-0.735779, 0.677222), (-0.736817, 0.676093), (-0.737853, 0.674962), (-0.738887, 0.673829), (-0.73992, 0.672695), (-0.740951, 0.671559), (-0.74198, 0.670422), (-0.743008, 0.669283), (-0.744034, 0.668142), (-0.745058, 0.667), (-0.74608, 0.665856), (-0.747101, 0.664711), (-0.748119, 0.663564), (-0.749136, 0.662416), (-0.750152, 0.661266), (-0.751165, 0.660114), (-0.752177, 0.658961), (-0.753187, 0.657807), (-0.754195, 0.656651), (-0.755201, 0.655493), (-0.756206, 0.654334), (-0.757209, 0.653173), (-0.75821, 0.652011), (-0.759209, 0.650847), (-0.760207, 0.649681), (-0.761202, 0.648514), (-0.762196, 0.647346), (-0.763188, 0.646176), (-0.764179, 0.645005), (-0.765167, 0.643832), (-0.766154, 0.642657), (-0.767139, 0.641481), (-0.768122, 0.640304), (-0.769103, 0.639125), (-0.770083, 0.637944), (-0.77106, 0.636762), (-0.772036, 0.635578), (-0.77301, 0.634393), (-0.773983, 0.633207), (-0.774953, 0.632019), (-0.775922, 0.630829), (-0.776888, 0.629638), (-0.777853, 0.628446), (-0.778816, 0.627252), (-0.779778, 0.626056), (-0.780737, 0.62486), (-0.781695, 0.623661), (-0.782651, 0.622461), (-0.783605, 0.62126), (-0.784557, 0.620057), (-0.785507, 0.618853), (-0.786455, 0.617647), (-0.787402, 0.61644), (-0.788346, 0.615232), (-0.789289, 0.614022), (-0.79023, 0.61281), (-0.791169, 0.611597), (-0.792107, 0.610383), (-0.793042, 0.609167), (-0.793975, 0.60795), (-0.794907, 0.606731), (-0.795837, 0.605511), (-0.796765, 0.60429), (-0.797691, 0.603067), (-0.798615, 0.601842), (-0.799537, 0.600617), (-0.800458, 0.599389), (-0.801376, 0.598161), (-0.802293, 0.596931), (-0.803208, 0.595699), (-0.80412, 0.594467), (-0.805031, 0.593232), (-0.80594, 0.591997), (-0.806848, 0.59076), (-0.807753, 0.589521), (-0.808656, 0.588282), (-0.809558, 0.58704), (-0.810457, 0.585798), (-0.811355, 0.584554), (-0.812251, 0.583309), (-0.813144, 0.582062), (-0.814036, 0.580814), (-0.814926, 0.579565), (-0.815814, 0.578314), (-0.816701, 0.577062), (-0.817585, 0.575808), (-0.818467, 0.574553), (-0.819348, 0.573297), (-0.820226, 0.57204), (-0.821103, 0.570781), (-0.821977, 0.56952), (-0.82285, 0.568259), (-0.823721, 0.566996), (-0.824589, 0.565732), (-0.825456, 0.564466), (-0.826321, 0.563199), (-0.827184, 0.561931), (-0.828045, 0.560662), (-0.828904, 0.559391), (-0.829761, 0.558119), (-0.830616, 0.556845), (-0.83147, 0.55557), (-0.832321, 0.554294), (-0.83317, 0.553017), (-0.834018, 0.551738), (-0.834863, 0.550458), (-0.835706, 0.549177), (-0.836548, 0.547894), (-0.837387, 0.54661), (-0.838225, 0.545325), (-0.83906, 0.544038), (-0.839894, 0.542751), (-0.840725, 0.541462), (-0.841555, 0.540172), (-0.842383, 0.53888), (-0.843208, 0.537587), (-0.844032, 0.536293), (-0.844854, 0.534998), (-0.845673, 0.533701), (-0.846491, 0.532403), (-0.847307, 0.531104), (-0.84812, 0.529804), (-0.848932, 0.528502), (-0.849742, 0.527199), (-0.85055, 0.525895), (-0.851355, 0.52459), (-0.852159, 0.523283), (-0.852961, 0.521975), (-0.85376, 0.520666), (-0.854558, 0.519356), (-0.855354, 0.518044), (-0.856147, 0.516732), (-0.856939, 0.515418), (-0.857729, 0.514103), (-0.858516, 0.512786), (-0.859302, 0.511469), (-0.860085, 0.51015), (-0.860867, 0.50883), (-0.861646, 0.507509), (-0.862424, 0.506187), (-0.863199, 0.504863), (-0.863973, 0.503538), (-0.864744, 0.502213), (-0.865514, 0.500885), (-0.866281, 0.499557), (-0.867046, 0.498228), (-0.867809, 0.496897), (-0.868571, 0.495565), (-0.86933, 0.494232), (-0.870087, 0.492898), (-0.870842, 0.491563), (-0.871595, 0.490226), (-0.872346, 0.488889), (-0.873095, 0.48755), (-0.873842, 0.48621), (-0.874587, 0.484869), (-0.875329, 0.483527), (-0.87607, 0.482184), (-0.876809, 0.480839), (-0.877545, 0.479494), (-0.87828, 0.478147), (-0.879012, 0.476799), (-0.879743, 0.47545), (-0.880471, 0.4741), (-0.881197, 0.472749), (-0.881921, 0.471397), (-0.882643, 0.470043), (-0.883363, 0.468689), (-0.884081, 0.467333), (-0.884797, 0.465977), (-0.885511, 0.464619), (-0.886223, 0.46326), (-0.886932, 0.4619), (-0.88764, 0.460539), (-0.888345, 0.459177), (-0.889048, 0.457813), (-0.88975, 0.456449), (-0.890449, 0.455084), (-0.891146, 0.453717), (-0.891841, 0.45235), (-0.892534, 0.450981), (-0.893224, 0.449611), (-0.893913, 0.448241), (-0.894599, 0.446869), (-0.895284, 0.445496), (-0.895966, 0.444122), (-0.896646, 0.442747), (-0.897325, 0.441371), (-0.898001, 0.439994), (-0.898675, 0.438616), (-0.899346, 0.437237), (-0.900016, 0.435857), (-0.900684, 0.434476), (-0.901349, 0.433094), (-0.902012, 0.431711), (-0.902673, 0.430326), (-0.903332, 0.428941), (-0.903989, 0.427555), (-0.904644, 0.426168), (-0.905297, 0.42478), (-0.905947, 0.423391), (-0.906596, 0.422), (-0.907242, 0.420609), (-0.907886, 0.419217), (-0.908528, 0.417824), (-0.909168, 0.41643), (-0.909806, 0.415034), (-0.910441, 0.413638), (-0.911075, 0.412241), (-0.911706, 0.410843), (-0.912335, 0.409444), (-0.912962, 0.408044), (-0.913587, 0.406643), (-0.91421, 0.405241), (-0.91483, 0.403838), (-0.915449, 0.402435), (-0.916065, 0.40103), (-0.916679, 0.399624), (-0.917291, 0.398218), (-0.917901, 0.39681), (-0.918508, 0.395402), (-0.919114, 0.393992), (-0.919717, 0.392582), (-0.920318, 0.39117), (-0.920917, 0.389758), (-0.921514, 0.388345), (-0.922109, 0.386931), (-0.922701, 0.385516), (-0.923291, 0.3841), (-0.92388, 0.382683), (-0.924465, 0.381266), (-0.925049, 0.379847), (-0.925631, 0.378428), (-0.92621, 0.377007), (-0.926788, 0.375586), (-0.927363, 0.374164), (-0.927935, 0.372741), (-0.928506, 0.371317), (-0.929075, 0.369892), (-0.929641, 0.368467), (-0.930205, 0.36704), (-0.930767, 0.365613), (-0.931327, 0.364185), (-0.931884, 0.362756), (-0.93244, 0.361326), (-0.932993, 0.359895), (-0.933544, 0.358463), (-0.934093, 0.357031), (-0.934639, 0.355598), (-0.935184, 0.354164), (-0.935726, 0.352729), (-0.936266, 0.351293), (-0.936804, 0.349856), (-0.937339, 0.348419), (-0.937872, 0.34698), (-0.938404, 0.345541), (-0.938933, 0.344101), (-0.939459, 0.342661), (-0.939984, 0.341219), (-0.940506, 0.339777), (-0.941026, 0.338334), (-0.941544, 0.33689), (-0.94206, 0.335445), (-0.942573, 0.334), (-0.943085, 0.332553), (-0.943594, 0.331106), (-0.9441, 0.329658), (-0.944605, 0.32821), (-0.945107, 0.326761), (-0.945607, 0.32531), (-0.946105, 0.323859), (-0.946601, 0.322408), (-0.947094, 0.320955), (-0.947586, 0.319502), (-0.948075, 0.318048), (-0.948561, 0.316593), (-0.949046, 0.315138), (-0.949528, 0.313682), (-0.950008, 0.312225), (-0.950486, 0.310767), (-0.950962, 0.309309), (-0.951435, 0.30785), (-0.951906, 0.30639), (-0.952375, 0.304929), (-0.952842, 0.303468), (-0.953306, 0.302006), (-0.953768, 0.300543), (-0.954228, 0.29908), (-0.954686, 0.297616), (-0.955141, 0.296151), (-0.955594, 0.294685), (-0.956045, 0.293219), (-0.956494, 0.291752), (-0.95694, 0.290285), (-0.957385, 0.288816), (-0.957826, 0.287347), (-0.958266, 0.285878), (-0.958704, 0.284408), (-0.959139, 0.282937), (-0.959572, 0.281465), (-0.960002, 0.279993), (-0.960431, 0.27852), (-0.960857, 0.277046), (-0.961281, 0.275572), (-0.961702, 0.274097), (-0.962121, 0.272621), (-0.962539, 0.271145), (-0.962953, 0.269668), (-0.963366, 0.268191), (-0.963776, 0.266713), (-0.964184, 0.265234), (-0.96459, 0.263755), (-0.964993, 0.262275), (-0.965395, 0.260794), (-0.965793, 0.259313), (-0.96619, 0.257831), (-0.966584, 0.256349), (-0.966977, 0.254866), (-0.967366, 0.253382), (-0.967754, 0.251898), (-0.968139, 0.250413), (-0.968522, 0.248928), (-0.968903, 0.247442), (-0.969281, 0.245955), (-0.969657, 0.244468), (-0.970031, 0.24298), (-0.970403, 0.241492), (-0.970772, 0.240003), (-0.971139, 0.238514), (-0.971504, 0.237024), (-0.971866, 0.235533), (-0.972227, 0.234042), (-0.972584, 0.23255), (-0.97294, 0.231058), (-0.973293, 0.229565), (-0.973644, 0.228072), (-0.973993, 0.226578), (-0.974339, 0.225084), (-0.974684, 0.223589), (-0.975025, 0.222094), (-0.975365, 0.220598), (-0.975702, 0.219101), (-0.976037, 0.217604), (-0.97637, 0.216107), (-0.9767, 0.214609), (-0.977028, 0.21311), (-0.977354, 0.211611), (-0.977677, 0.210112), (-0.977999, 0.208612), (-0.978318, 0.207111), (-0.978634, 0.20561), (-0.978948, 0.204109), (-0.97926, 0.202607), (-0.97957, 0.201105), (-0.979877, 0.199602), (-0.980182, 0.198098), (-0.980485, 0.196595), (-0.980785, 0.19509), (-0.981084, 0.193586), (-0.981379, 0.19208), (-0.981673, 0.190575), (-0.981964, 0.189069), (-0.982253, 0.187562), (-0.982539, 0.186055), (-0.982824, 0.184548), (-0.983106, 0.18304), (-0.983385, 0.181532), (-0.983662, 0.180023), (-0.983938, 0.178514), (-0.98421, 0.177004), (-0.984481, 0.175494), (-0.984749, 0.173984), (-0.985014, 0.172473), (-0.985278, 0.170962), (-0.985539, 0.16945), (-0.985798, 0.167938), (-0.986054, 0.166426), (-0.986308, 0.164913), (-0.98656, 0.1634), (-0.986809, 0.161886), (-0.987057, 0.160372), (-0.987302, 0.158858), (-0.987544, 0.157343), (-0.987784, 0.155828), (-0.988022, 0.154313), (-0.988258, 0.152797), (-0.988491, 0.151281), (-0.988722, 0.149765), (-0.98895, 0.148248), (-0.989177, 0.14673), (-0.989401, 0.145213), (-0.989622, 0.143695), (-0.989841, 0.142177), (-0.990058, 0.140658), (-0.990273, 0.139139), (-0.990485, 0.13762), (-0.990695, 0.136101), (-0.990903, 0.134581), (-0.991108, 0.133061), (-0.991311, 0.13154), (-0.991511, 0.130019), (-0.99171, 0.128498), (-0.991906, 0.126977), (-0.992099, 0.125455), (-0.992291, 0.123933), (-0.99248, 0.122411), (-0.992666, 0.120888), (-0.99285, 0.119365), (-0.993032, 0.117842), (-0.993212, 0.116319), (-0.993389, 0.114795), (-0.993564, 0.113271), (-0.993737, 0.111747), (-0.993907, 0.110222), (-0.994075, 0.108697), (-0.994241, 0.107172), (-0.994404, 0.105647), (-0.994565, 0.104122), (-0.994723, 0.102596), (-0.994879, 0.10107), (-0.995033, 0.0995436), (-0.995185, 0.0980171), (-0.995334, 0.0964904), (-0.995481, 0.0949635), (-0.995625, 0.0934363), (-0.995768, 0.091909), (-0.995907, 0.0903814), (-0.996045, 0.0888535), (-0.99618, 0.0873255), (-0.996313, 0.0857973), (-0.996443, 0.0842689), (-0.996571, 0.0827403), (-0.996697, 0.0812114), (-0.99682, 0.0796824), (-0.996941, 0.0781532), (-0.99706, 0.0766239), (-0.997176, 0.0750943), (-0.99729, 0.0735646), (-0.997402, 0.0720346), (-0.997512, 0.0705046), (-0.997619, 0.0689743), (-0.997723, 0.0674439), (-0.997825, 0.0659134), (-0.997925, 0.0643826), (-0.998023, 0.0628518), (-0.998118, 0.0613207), (-0.998211, 0.0597896), (-0.998302, 0.0582583), (-0.99839, 0.0567268), (-0.998476, 0.0551952), (-0.998559, 0.0536635), (-0.99864, 0.0521317), (-0.998719, 0.0505997), (-0.998796, 0.0490677), (-0.99887, 0.0475355), (-0.998941, 0.0460032), (-0.999011, 0.0444708), (-0.999078, 0.0429383), (-0.999142, 0.0414056), (-0.999205, 0.0398729), (-0.999265, 0.0383401), (-0.999322, 0.0368072), (-0.999378, 0.0352742), (-0.999431, 0.0337412), (-0.999481, 0.032208), (-0.999529, 0.0306748), (-0.999575, 0.0291415), (-0.999619, 0.0276081), (-0.99966, 0.0260747), (-0.999699, 0.0245412), (-0.999735, 0.0230077), (-0.999769, 0.0214741), (-0.999801, 0.0199404), (-0.999831, 0.0184067), (-0.999858, 0.016873), (-0.999882, 0.0153392), (-0.999905, 0.0138054), (-0.999925, 0.0122715), (-0.999942, 0.0107377), (-0.999958, 0.00920376), (-0.999971, 0.00766983), (-0.999981, 0.00613589), (-0.999989, 0.00460193), (-0.999995, 0.00306796), (-0.999999, 0.00153398), (-1.0, 0.0)); I, J, K, L, M : Integer; begin M := 2048; L := 1; loop K := 0; J := L; I := 0; loop loop W(I+K) := Z(I) + Z(M+I); W(I+J) := E(K) * (Z(I) - Z(M+I)); I := I+1; if I >= J then exit; end if; end loop; K := J; J := K+L; if J > M then exit; end if; end loop; L := L+L; -- work back other way without copying K := 0; J := L; I := 0; loop loop Z(I+K) := W(I) + W(M+I); Z(I+J) := E(K) * (W(I) - W(M+I)); I := I+1; if I >= J then exit; end if; end loop; K := J; J := K+L; if J > M then exit; end if; end loop; L := L+L; if L > M then return; end if; -- result is in Z end loop; end fft4096;