www.pudn.com > the-zynq-book-tutorial-sources.zip > nco.cpp, change:2014-05-06,size:77927b


#include "ap_fixed.h" // Include C++ fixed point support 
 
/* 
 * 2^12 = 4096 value sinewave LUT. Values are signed fixed-point 
 * (16-bits; 2 integer bits and 14 fractional bits) 
 */ 
const ap_fixed<16,2> sine_lut[4096] = { 
		0.00000000000000, 0.00153398018628, 0.00306795676297, 0.00460192612045, 0.00613588464915, 0.00766982873953, 0.00920375478206, 0.01073765916726, 0.01227153828572, 0.01380538852806, 
		0.01533920628499, 0.01687298794728, 0.01840672990580, 0.01994042855151, 0.02147408027547, 0.02300768146884, 0.02454122852291, 0.02607471782910, 0.02760814577897, 0.02914150876419, 
		0.03067480317664, 0.03220802540830, 0.03374117185138, 0.03527423889821, 0.03680722294136, 0.03834012037355, 0.03987292758774, 0.04140564097708, 0.04293825693494, 0.04447077185494, 
		0.04600318213091, 0.04753548415696, 0.04906767432742, 0.05059974903690, 0.05213170468028, 0.05366353765273, 0.05519524434969, 0.05672682116691, 0.05825826450044, 0.05978957074664, 
		0.06132073630221, 0.06285175756416, 0.06438263092986, 0.06591335279700, 0.06744391956366, 0.06897432762827, 0.07050457338961, 0.07203465324689, 0.07356456359967, 0.07509430084792, 
		0.07662386139203, 0.07815324163279, 0.07968243797143, 0.08121144680959, 0.08274026454938, 0.08426888759332, 0.08579731234444, 0.08732553520619, 0.08885355258252, 0.09038136087786, 
		0.09190895649713, 0.09343633584575, 0.09496349532964, 0.09649043135525, 0.09801714032956, 0.09954361866007, 0.10106986275483, 0.10259586902244, 0.10412163387205, 0.10564715371341, 
		0.10717242495681, 0.10869744401314, 0.11022220729388, 0.11174671121113, 0.11327095217756, 0.11479492660651, 0.11631863091190, 0.11784206150832, 0.11936521481099, 0.12088808723578, 
		0.12241067519922, 0.12393297511851, 0.12545498341155, 0.12697669649689, 0.12849811079379, 0.13001922272223, 0.13154002870288, 0.13306052515714, 0.13458070850713, 0.13610057517571, 
		0.13762012158649, 0.13913934416383, 0.14065823933285, 0.14217680351945, 0.14369503315029, 0.14521292465285, 0.14673047445536, 0.14824767898690, 0.14976453467732, 0.15128103795733, 
		0.15279718525844, 0.15431297301302, 0.15582839765427, 0.15734345561624, 0.15885814333386, 0.16037245724293, 0.16188639378011, 0.16339994938297, 0.16491312048997, 0.16642590354046, 
		0.16793829497473, 0.16945029123397, 0.17096188876030, 0.17247308399680, 0.17398387338746, 0.17549425337727, 0.17700422041215, 0.17851377093900, 0.18002290140570, 0.18153160826112, 
		0.18303988795514, 0.18454773693862, 0.18605515166345, 0.18756212858253, 0.18906866414981, 0.19057475482025, 0.19208039704989, 0.19358558729580, 0.19509032201613, 0.19659459767008, 
		0.19809841071795, 0.19960175762113, 0.20110463484209, 0.20260703884442, 0.20410896609282, 0.20561041305310, 0.20711137619222, 0.20861185197826, 0.21011183688047, 0.21161132736923, 
		0.21311031991609, 0.21460881099379, 0.21610679707622, 0.21760427463848, 0.21910124015687, 0.22059769010887, 0.22209362097320, 0.22358902922979, 0.22508391135979, 0.22657826384561, 
		0.22807208317089, 0.22956536582052, 0.23105810828067, 0.23255030703878, 0.23404195858354, 0.23553305940498, 0.23702360599437, 0.23851359484432, 0.24000302244874, 0.24149188530287, 
		0.24298017990326, 0.24446790274782, 0.24595505033579, 0.24744161916777, 0.24892760574572, 0.25041300657297, 0.25189781815422, 0.25338203699557, 0.25486565960451, 0.25634868248994, 
		0.25783110216216, 0.25931291513289, 0.26079411791528, 0.26227470702391, 0.26375467897483, 0.26523403028551, 0.26671275747490, 0.26819085706340, 0.26966832557292, 0.27114515952681, 
		0.27262135544995, 0.27409690986871, 0.27557181931096, 0.27704608030610, 0.27851968938505, 0.27999264308027, 0.28146493792576, 0.28293657045706, 0.28440753721127, 0.28587783472708, 
		0.28734745954473, 0.28881640820605, 0.29028467725446, 0.29175226323499, 0.29321916269426, 0.29468537218051, 0.29615088824362, 0.29761570743509, 0.29907982630804, 0.30054324141727, 
		0.30200594931923, 0.30346794657201, 0.30492922973540, 0.30638979537086, 0.30784964004153, 0.30930876031227, 0.31076715274961, 0.31222481392182, 0.31368174039889, 0.31513792875252, 
		0.31659337555617, 0.31804807738501, 0.31950203081602, 0.32095523242788, 0.32240767880107, 0.32385936651785, 0.32531029216226, 0.32676045232013, 0.32820984357909, 0.32965846252859, 
		0.33110630575988, 0.33255336986604, 0.33399965144201, 0.33544514708453, 0.33688985339222, 0.33833376696554, 0.33977688440683, 0.34121920232028, 0.34266071731199, 0.34410142598994, 
		0.34554132496399, 0.34698041084592, 0.34841868024943, 0.34985612979013, 0.35129275608557, 0.35272855575521, 0.35416352542049, 0.35559766170478, 0.35703096123343, 0.35846342063374, 
		0.35989503653499, 0.36132580556845, 0.36275572436740, 0.36418478956708, 0.36561299780477, 0.36704034571977, 0.36846682995337, 0.36989244714893, 0.37131719395184, 0.37274106700952, 
		0.37416406297146, 0.37558617848922, 0.37700741021642, 0.37842775480877, 0.37984720892405, 0.38126576922216, 0.38268343236509, 0.38410019501694, 0.38551605384392, 0.38693100551439, 
		0.38834504669883, 0.38975817406986, 0.39117038430225, 0.39258167407295, 0.39399204006105, 0.39540147894782, 0.39680998741671, 0.39821756215337, 0.39962419984565, 0.40102989718358, 
		0.40243465085942, 0.40383845756765, 0.40524131400499, 0.40664321687037, 0.40804416286498, 0.40944414869226, 0.41084317105790, 0.41224122666988, 0.41363831223843, 0.41503442447608, 
		0.41642956009764, 0.41782371582021, 0.41921688836322, 0.42060907444840, 0.42200027079980, 0.42339047414380, 0.42477968120911, 0.42616788872680, 0.42755509343028, 0.42894129205533, 
		0.43032648134008, 0.43171065802506, 0.43309381885315, 0.43447596056966, 0.43585707992226, 0.43723717366104, 0.43861623853853, 0.43999427130963, 0.44137126873172, 0.44274722756457, 
		0.44412214457043, 0.44549601651398, 0.44686884016237, 0.44824061228522, 0.44961132965461, 0.45098098904510, 0.45234958723377, 0.45371712100016, 0.45508358712634, 0.45644898239688, 
		0.45781330359888, 0.45917654752194, 0.46053871095824, 0.46189979070246, 0.46325978355186, 0.46461868630624, 0.46597649576797, 0.46733320874199, 0.46868882203583, 0.47004333245960, 
		0.47139673682600, 0.47274903195034, 0.47410021465055, 0.47545028174716, 0.47679923006332, 0.47814705642484, 0.47949375766015, 0.48083933060033, 0.48218377207912, 0.48352707893292, 
		0.48486924800079, 0.48621027612449, 0.48755016014844, 0.48888889691976, 0.49022648328829, 0.49156291610655, 0.49289819222978, 0.49423230851596, 0.49556526182577, 0.49689704902265, 
		0.49822766697278, 0.49955711254508, 0.50088538261124, 0.50221247404571, 0.50353838372572, 0.50486310853127, 0.50618664534516, 0.50750899105297, 0.50883014254311, 0.51015009670677, 
		0.51146885043797, 0.51278640063356, 0.51410274419322, 0.51541787801946, 0.51673179901765, 0.51804450409600, 0.51935599016559, 0.52066625414037, 0.52197529293715, 0.52328310347566, 
		0.52458968267847, 0.52589502747108, 0.52719913478190, 0.52850200154223, 0.52980362468629, 0.53110400115126, 0.53240312787720, 0.53370100180715, 0.53499761988710, 0.53629297906596, 
		0.53758707629565, 0.53887990853101, 0.54017147272989, 0.54146176585312, 0.54275078486452, 0.54403852673088, 0.54532498842205, 0.54661016691083, 0.54789405917310, 0.54917666218772, 
		0.55045797293660, 0.55173798840471, 0.55301670558003, 0.55429412145362, 0.55557023301960, 0.55684503727516, 0.55811853122056, 0.55939071185914, 0.56066157619734, 0.56193112124469, 
		0.56319934401383, 0.56446624152052, 0.56573181078361, 0.56699604882511, 0.56825895267013, 0.56952051934695, 0.57078074588697, 0.57203962932476, 0.57329716669804, 0.57455335504772, 
		0.57580819141785, 0.57706167285568, 0.57831379641166, 0.57956455913941, 0.58081395809576, 0.58206199034078, 0.58330865293770, 0.58455394295302, 0.58579785745644, 0.58704039352092, 
		0.58828154822265, 0.58952131864106, 0.59075970185887, 0.59199669496204, 0.59323229503980, 0.59446649918466, 0.59569930449243, 0.59693070806220, 0.59816070699634, 0.59938929840056, 
		0.60061647938387, 0.60184224705858, 0.60306659854035, 0.60428953094816, 0.60551104140433, 0.60673112703452, 0.60794978496777, 0.60916701233645, 0.61038280627631, 0.61159716392646, 
		0.61281008242941, 0.61402155893104, 0.61523159058063, 0.61644017453085, 0.61764730793780, 0.61885298796098, 0.62005721176329, 0.62125997651109, 0.62246127937415, 0.62366111752569, 
		0.62485948814239, 0.62605638840434, 0.62725181549514, 0.62844576660183, 0.62963823891493, 0.63082922962842, 0.63201873593981, 0.63320675505006, 0.63439328416365, 0.63557832048856, 
		0.63676186123628, 0.63794390362184, 0.63912444486378, 0.64030348218415, 0.64148101280858, 0.64265703396623, 0.64383154288979, 0.64500453681554, 0.64617601298332, 0.64734596863651, 
		0.64851440102211, 0.64968130739068, 0.65084668499638, 0.65201053109696, 0.65317284295378, 0.65433361783180, 0.65549285299962, 0.65665054572943, 0.65780669329708, 0.65896129298204, 
		0.66011434206742, 0.66126583783999, 0.66241577759017, 0.66356415861204, 0.66471097820334, 0.66585623366551, 0.66699992230364, 0.66814204142652, 0.66928258834664, 0.67042156038017, 
		0.67155895484702, 0.67269476907077, 0.67382900037876, 0.67496164610201, 0.67609270357532, 0.67722217013718, 0.67835004312986, 0.67947631989936, 0.68060099779545, 0.68172407417165, 
		0.68284554638525, 0.68396541179732, 0.68508366777270, 0.68620031168004, 0.68731534089176, 0.68842875278409, 0.68954054473707, 0.69065071413453, 0.69175925836416, 0.69286617481742, 
		0.69397146088965, 0.69507511398000, 0.69617713149146, 0.69727751083089, 0.69837624940897, 0.69947334464028, 0.70056879394325, 0.70166259474017, 0.70275474445723, 0.70384524052448, 
		0.70493408037590, 0.70602126144934, 0.70710678118655, 0.70819063703320, 0.70927282643887, 0.71035334685706, 0.71143219574522, 0.71250937056469, 0.71358486878079, 0.71465868786277, 
		0.71573082528382, 0.71680127852110, 0.71787004505573, 0.71893712237280, 0.72000250796138, 0.72106619931451, 0.72212819392922, 0.72318848930653, 0.72424708295147, 0.72530397237306, 
		0.72635915508435, 0.72741262860238, 0.72846439044823, 0.72951443814700, 0.73056276922783, 0.73160938122389, 0.73265427167241, 0.73369743811466, 0.73473887809596, 0.73577858916571, 
		0.73681656887737, 0.73785281478847, 0.73888732446062, 0.73992009545952, 0.74095112535496, 0.74198041172083, 0.74300795213512, 0.74403374417993, 0.74505778544147, 0.74608007351006, 
		0.74710060598018, 0.74811938045040, 0.74913639452346, 0.75015164580621, 0.75116513190969, 0.75217685044904, 0.75318679904361, 0.75419497531689, 0.75520137689654, 0.75620600141439, 
		0.75720884650648, 0.75820990981302, 0.75920918897839, 0.76020668165120, 0.76120238548426, 0.76219629813458, 0.76318841726338, 0.76417874053612, 0.76516726562246, 0.76615399019631, 
		0.76713891193582, 0.76812202852337, 0.76910333764558, 0.77008283699335, 0.77106052426181, 0.77203639715038, 0.77301045336274, 0.77398269060682, 0.77495310659487, 0.77592169904341, 
		0.77688846567323, 0.77785340420945, 0.77881651238148, 0.77977778792301, 0.78073722857209, 0.78169483207106, 0.78265059616658, 0.78360451860964, 0.78455659715558, 0.78550682956405, 
		0.78645521359909, 0.78740174702903, 0.78834642762661, 0.78928925316889, 0.79023022143731, 0.79116933021769, 0.79210657730021, 0.79304196047944, 0.79397547755434, 0.79490712632824, 
		0.79583690460888, 0.79676481020842, 0.79769084094339, 0.79861499463476, 0.79953726910791, 0.80045766219262, 0.80137617172314, 0.80229279553812, 0.80320753148064, 0.80412037739827, 
		0.80503133114296, 0.80594039057118, 0.80684755354380, 0.80775281792619, 0.80865618158817, 0.80955764240405, 0.81045719825259, 0.81135484701706, 0.81225058658520, 0.81314441484925, 
		0.81403632970595, 0.81492632905653, 0.81581441080673, 0.81670057286683, 0.81758481315158, 0.81846712958030, 0.81934752007680, 0.82022598256943, 0.82110251499110, 0.82197711527924, 
		0.82284978137583, 0.82372051122739, 0.82458930278503, 0.82545615400438, 0.82632106284566, 0.82718402727367, 0.82804504525776, 0.82890411477186, 0.82976123379452, 0.83061640030885, 
		0.83146961230255, 0.83232086776793, 0.83317016470191, 0.83401750110602, 0.83486287498638, 0.83570628435375, 0.83654772722351, 0.83738720161566, 0.83822470555484, 0.83906023707031, 
		0.83989379419600, 0.84072537497046, 0.84155497743690, 0.84238259964319, 0.84320823964185, 0.84403189549007, 0.84485356524971, 0.84567324698730, 0.84649093877405, 0.84730663868586, 
		0.84812034480330, 0.84893205521164, 0.84974176800085, 0.85054948126560, 0.85135519310527, 0.85215890162392, 0.85296060493036, 0.85376030113811, 0.85455798836540, 0.85535366473520, 
		0.85614732837519, 0.85693897741783, 0.85772861000027, 0.85851622426444, 0.85930181835701, 0.86008539042939, 0.86086693863777, 0.86164646114308, 0.86242395611104, 0.86319942171212, 
		0.86397285612159, 0.86474425751946, 0.86551362409057, 0.86628095402451, 0.86704624551569, 0.86780949676330, 0.86857070597134, 0.86932987134861, 0.87008699110871, 0.87084206347008, 
		0.87159508665595, 0.87234605889439, 0.87309497841829, 0.87384184346537, 0.87458665227818, 0.87532940310411, 0.87607009419541, 0.87680872380915, 0.87754529020726, 0.87827979165654, 
		0.87901222642863, 0.87974259280005, 0.88047088905216, 0.88119711347122, 0.88192126434835, 0.88264333997956, 0.88336333866573, 0.88408125871263, 0.88479709843094, 0.88551085613620, 
		0.88622253014888, 0.88693211879434, 0.88763962040285, 0.88834503330960, 0.88904835585466, 0.88974958638307, 0.89044872324476, 0.89114576479458, 0.89184070939234, 0.89253355540276, 
		0.89322430119552, 0.89391294514520, 0.89459948563138, 0.89528392103856, 0.89596624975619, 0.89664647017868, 0.89732458070542, 0.89800057974074, 0.89867446569395, 0.89934623697934, 
		0.90001589201616, 0.90068342922865, 0.90134884704602, 0.90201214390249, 0.90267331823726, 0.90333236849451, 0.90398929312344, 0.90464409057825, 0.90529675931812, 0.90594729780727, 
		0.90659570451492, 0.90724197791530, 0.90788611648767, 0.90852811871631, 0.90916798309052, 0.90980570810465, 0.91044129225807, 0.91107473405518, 0.91170603200543, 0.91233518462332, 
		0.91296219042840, 0.91358704794525, 0.91420975570353, 0.91483031223795, 0.91544871608827, 0.91606496579933, 0.91667905992104, 0.91729099700838, 0.91790077562139, 0.91850839432521, 
		0.91911385169006, 0.91971714629123, 0.92031827670911, 0.92091724152919, 0.92151403934204, 0.92210866874335, 0.92270112833388, 0.92329141671953, 0.92387953251129, 0.92446547432526, 
		0.92504924078268, 0.92563083050987, 0.92621024213831, 0.92678747430458, 0.92736252565040, 0.92793539482262, 0.92850608047322, 0.92907458125932, 0.92964089584318, 0.93020502289222, 
		0.93076696107898, 0.93132670908118, 0.93188426558167, 0.93243962926846, 0.93299279883474, 0.93354377297884, 0.93409255040426, 0.93463912981968, 0.93518350993895, 0.93572568948108, 
		0.93626566717028, 0.93680344173592, 0.93733901191257, 0.93787237643999, 0.93840353406311, 0.93893248353206, 0.93945922360219, 0.93998375303401, 0.94050607059327, 0.94102617505089, 
		0.94154406518302, 0.94205973977102, 0.94257319760145, 0.94308443746609, 0.94359345816196, 0.94410025849127, 0.94460483726148, 0.94510719328526, 0.94560732538052, 0.94610523237040, 
		0.94660091308328, 0.94709436635278, 0.94758559101774, 0.94807458592228, 0.94856134991573, 0.94904588185270, 0.94952818059304, 0.95000824500184, 0.95048607394948, 0.95096166631158, 
		0.95143502096901, 0.95190613680793, 0.95237501271977, 0.95284164760120, 0.95330604035419, 0.95376818988599, 0.95422809510911, 0.95468575494134, 0.95514116830577, 0.95559433413077, 
		0.95604525135000, 0.95649391890240, 0.95694033573221, 0.95738450078898, 0.95782641302753, 0.95826607140802, 0.95870347489587, 0.95913862246184, 0.95957151308198, 0.96000214573767, 
		0.96043051941557, 0.96085663310768, 0.96128048581132, 0.96170207652912, 0.96212140426904, 0.96253846804436, 0.96295326687368, 0.96336579978095, 0.96377606579544, 0.96418406395175, 
		0.96458979328981, 0.96499325285492, 0.96539444169769, 0.96579335887408, 0.96619000344541, 0.96658437447833, 0.96697647104485, 0.96736629222233, 0.96775383709348, 0.96813910474636, 
		0.96852209427442, 0.96890280477643, 0.96928123535655, 0.96965738512429, 0.97003125319454, 0.97040283868756, 0.97077214072895, 0.97113915844973, 0.97150389098625, 0.97186633748028, 
		0.97222649707894, 0.97258436893473, 0.97293995220556, 0.97329324605470, 0.97364424965081, 0.97399296216796, 0.97433938278558, 0.97468351068851, 0.97502534506699, 0.97536488511666, 
		0.97570213003853, 0.97603707903904, 0.97636973133002, 0.97670008612871, 0.97702814265775, 0.97735390014520, 0.97767735782451, 0.97799851493456, 0.97831737071963, 0.97863392442942, 
		0.97894817531906, 0.97926012264908, 0.97956976568544, 0.97987710369952, 0.98018213596812, 0.98048486177347, 0.98078528040323, 0.98108339115049, 0.98137919331375, 0.98167268619698, 
		0.98196386910956, 0.98225274136629, 0.98253930228744, 0.98282355119871, 0.98310548743122, 0.98338511032155, 0.98366241921173, 0.98393741344922, 0.98421009238693, 0.98448045538322, 
		0.98474850180190, 0.98501423101224, 0.98527764238894, 0.98553873531218, 0.98579750916757, 0.98605396334620, 0.98630809724460, 0.98655991026478, 0.98680940181419, 0.98705657130575, 
		0.98730141815786, 0.98754394179436, 0.98778414164457, 0.98802201714328, 0.98825756773075, 0.98849079285270, 0.98872169196032, 0.98895026451030, 0.98917650996478, 0.98940042779138, 
		0.98962201746320, 0.98984127845882, 0.99005821026230, 0.99027281236317, 0.99048508425646, 0.99069502544266, 0.99090263542778, 0.99110791372328, 0.99131085984612, 0.99151147331874, 
		0.99170975366910, 0.99190570043061, 0.99209931314219, 0.99229059134826, 0.99247953459871, 0.99266614244895, 0.99285041445987, 0.99303235019785, 0.99321194923479, 0.99338921114808, 
		0.99356413552060, 0.99373672194072, 0.99390697000236, 0.99407487930488, 0.99424044945319, 0.99440368005768, 0.99456457073426, 0.99472312110433, 0.99487933079481, 0.99503319943812, 
		0.99518472667220, 0.99533391214048, 0.99548075549193, 0.99562525638099, 0.99576741446766, 0.99590722941741, 0.99604470090125, 0.99617982859570, 0.99631261218278, 0.99644305135004, 
		0.99657114579055, 0.99669689520290, 0.99682029929117, 0.99694135776498, 0.99706007033948, 0.99717643673533, 0.99729045667869, 0.99740212990128, 0.99751145614030, 0.99761843513852, 
		0.99772306664419, 0.99782535041111, 0.99792528619860, 0.99802287377149, 0.99811811290015, 0.99821100336048, 0.99830154493389, 0.99838973740734, 0.99847558057329, 0.99855907422976, 
		0.99864021818027, 0.99871901223387, 0.99879545620517, 0.99886954991428, 0.99894129318686, 0.99901068585407, 0.99907772775265, 0.99914241872482, 0.99920475861836, 0.99926474728659, 
		0.99932238458835, 0.99937767038800, 0.99943060455546, 0.99948118696617, 0.99952941750109, 0.99957529604675, 0.99961882249518, 0.99965999674396, 0.99969881869620, 0.99973528826056, 
		0.99976940535122, 0.99980116988788, 0.99983058179582, 0.99985764100582, 0.99988234745421, 0.99990470108285, 0.99992470183914, 0.99994234967602, 0.99995764455196, 0.99997058643097, 
		0.99998117528260, 0.99998941108193, 0.99999529380958, 0.99999882345170, 1.00000000000000, 0.99999882345170, 0.99999529380958, 0.99998941108193, 0.99998117528260, 0.99997058643097, 
		0.99995764455196, 0.99994234967602, 0.99992470183914, 0.99990470108285, 0.99988234745421, 0.99985764100582, 0.99983058179582, 0.99980116988788, 0.99976940535122, 0.99973528826056, 
		0.99969881869620, 0.99965999674396, 0.99961882249518, 0.99957529604675, 0.99952941750109, 0.99948118696617, 0.99943060455546, 0.99937767038800, 0.99932238458835, 0.99926474728659, 
		0.99920475861836, 0.99914241872482, 0.99907772775265, 0.99901068585407, 0.99894129318686, 0.99886954991428, 0.99879545620517, 0.99871901223387, 0.99864021818027, 0.99855907422976, 
		0.99847558057329, 0.99838973740734, 0.99830154493389, 0.99821100336048, 0.99811811290015, 0.99802287377149, 0.99792528619860, 0.99782535041111, 0.99772306664419, 0.99761843513852, 
		0.99751145614030, 0.99740212990128, 0.99729045667869, 0.99717643673533, 0.99706007033948, 0.99694135776498, 0.99682029929117, 0.99669689520290, 0.99657114579055, 0.99644305135004, 
		0.99631261218278, 0.99617982859570, 0.99604470090125, 0.99590722941741, 0.99576741446766, 0.99562525638099, 0.99548075549193, 0.99533391214048, 0.99518472667220, 0.99503319943812, 
		0.99487933079481, 0.99472312110433, 0.99456457073426, 0.99440368005768, 0.99424044945319, 0.99407487930488, 0.99390697000236, 0.99373672194072, 0.99356413552060, 0.99338921114808, 
		0.99321194923479, 0.99303235019785, 0.99285041445987, 0.99266614244895, 0.99247953459871, 0.99229059134826, 0.99209931314219, 0.99190570043061, 0.99170975366910, 0.99151147331874, 
		0.99131085984612, 0.99110791372328, 0.99090263542778, 0.99069502544266, 0.99048508425646, 0.99027281236317, 0.99005821026230, 0.98984127845882, 0.98962201746320, 0.98940042779138, 
		0.98917650996478, 0.98895026451030, 0.98872169196032, 0.98849079285270, 0.98825756773075, 0.98802201714328, 0.98778414164457, 0.98754394179436, 0.98730141815786, 0.98705657130575, 
		0.98680940181419, 0.98655991026478, 0.98630809724460, 0.98605396334620, 0.98579750916757, 0.98553873531218, 0.98527764238894, 0.98501423101224, 0.98474850180190, 0.98448045538322, 
		0.98421009238693, 0.98393741344922, 0.98366241921173, 0.98338511032155, 0.98310548743122, 0.98282355119871, 0.98253930228744, 0.98225274136629, 0.98196386910956, 0.98167268619698, 
		0.98137919331375, 0.98108339115049, 0.98078528040323, 0.98048486177347, 0.98018213596812, 0.97987710369952, 0.97956976568544, 0.97926012264908, 0.97894817531906, 0.97863392442942, 
		0.97831737071963, 0.97799851493456, 0.97767735782451, 0.97735390014520, 0.97702814265775, 0.97670008612871, 0.97636973133002, 0.97603707903904, 0.97570213003853, 0.97536488511666, 
		0.97502534506699, 0.97468351068851, 0.97433938278558, 0.97399296216796, 0.97364424965081, 0.97329324605470, 0.97293995220556, 0.97258436893473, 0.97222649707894, 0.97186633748028, 
		0.97150389098625, 0.97113915844973, 0.97077214072895, 0.97040283868756, 0.97003125319454, 0.96965738512429, 0.96928123535655, 0.96890280477643, 0.96852209427442, 0.96813910474636, 
		0.96775383709348, 0.96736629222233, 0.96697647104485, 0.96658437447833, 0.96619000344541, 0.96579335887408, 0.96539444169769, 0.96499325285492, 0.96458979328981, 0.96418406395175, 
		0.96377606579544, 0.96336579978095, 0.96295326687368, 0.96253846804436, 0.96212140426904, 0.96170207652912, 0.96128048581132, 0.96085663310768, 0.96043051941557, 0.96000214573767, 
		0.95957151308198, 0.95913862246184, 0.95870347489587, 0.95826607140802, 0.95782641302753, 0.95738450078898, 0.95694033573221, 0.95649391890240, 0.95604525135000, 0.95559433413077, 
		0.95514116830577, 0.95468575494134, 0.95422809510911, 0.95376818988599, 0.95330604035419, 0.95284164760120, 0.95237501271977, 0.95190613680793, 0.95143502096901, 0.95096166631158, 
		0.95048607394948, 0.95000824500184, 0.94952818059304, 0.94904588185270, 0.94856134991573, 0.94807458592228, 0.94758559101774, 0.94709436635278, 0.94660091308328, 0.94610523237040, 
		0.94560732538052, 0.94510719328526, 0.94460483726148, 0.94410025849127, 0.94359345816196, 0.94308443746609, 0.94257319760145, 0.94205973977102, 0.94154406518302, 0.94102617505089, 
		0.94050607059327, 0.93998375303401, 0.93945922360219, 0.93893248353206, 0.93840353406311, 0.93787237643999, 0.93733901191257, 0.93680344173592, 0.93626566717028, 0.93572568948108, 
		0.93518350993895, 0.93463912981968, 0.93409255040426, 0.93354377297884, 0.93299279883474, 0.93243962926846, 0.93188426558167, 0.93132670908118, 0.93076696107898, 0.93020502289222, 
		0.92964089584318, 0.92907458125932, 0.92850608047322, 0.92793539482262, 0.92736252565040, 0.92678747430458, 0.92621024213831, 0.92563083050987, 0.92504924078268, 0.92446547432526, 
		0.92387953251129, 0.92329141671953, 0.92270112833388, 0.92210866874335, 0.92151403934204, 0.92091724152919, 0.92031827670911, 0.91971714629123, 0.91911385169006, 0.91850839432521, 
		0.91790077562139, 0.91729099700838, 0.91667905992104, 0.91606496579933, 0.91544871608827, 0.91483031223795, 0.91420975570353, 0.91358704794525, 0.91296219042840, 0.91233518462332, 
		0.91170603200543, 0.91107473405518, 0.91044129225807, 0.90980570810465, 0.90916798309052, 0.90852811871631, 0.90788611648767, 0.90724197791530, 0.90659570451492, 0.90594729780727, 
		0.90529675931812, 0.90464409057825, 0.90398929312344, 0.90333236849451, 0.90267331823726, 0.90201214390249, 0.90134884704602, 0.90068342922865, 0.90001589201616, 0.89934623697934, 
		0.89867446569395, 0.89800057974074, 0.89732458070542, 0.89664647017868, 0.89596624975619, 0.89528392103856, 0.89459948563138, 0.89391294514520, 0.89322430119552, 0.89253355540276, 
		0.89184070939234, 0.89114576479458, 0.89044872324476, 0.88974958638307, 0.88904835585466, 0.88834503330960, 0.88763962040285, 0.88693211879434, 0.88622253014888, 0.88551085613620, 
		0.88479709843094, 0.88408125871263, 0.88336333866573, 0.88264333997956, 0.88192126434836, 0.88119711347122, 0.88047088905216, 0.87974259280005, 0.87901222642863, 0.87827979165654, 
		0.87754529020726, 0.87680872380915, 0.87607009419541, 0.87532940310411, 0.87458665227818, 0.87384184346537, 0.87309497841829, 0.87234605889439, 0.87159508665595, 0.87084206347008, 
		0.87008699110871, 0.86932987134861, 0.86857070597134, 0.86780949676330, 0.86704624551569, 0.86628095402451, 0.86551362409057, 0.86474425751946, 0.86397285612159, 0.86319942171212, 
		0.86242395611104, 0.86164646114308, 0.86086693863777, 0.86008539042939, 0.85930181835701, 0.85851622426444, 0.85772861000027, 0.85693897741783, 0.85614732837519, 0.85535366473520, 
		0.85455798836540, 0.85376030113811, 0.85296060493036, 0.85215890162392, 0.85135519310527, 0.85054948126560, 0.84974176800085, 0.84893205521164, 0.84812034480330, 0.84730663868586, 
		0.84649093877405, 0.84567324698730, 0.84485356524971, 0.84403189549007, 0.84320823964185, 0.84238259964319, 0.84155497743690, 0.84072537497046, 0.83989379419600, 0.83906023707031, 
		0.83822470555484, 0.83738720161566, 0.83654772722351, 0.83570628435375, 0.83486287498638, 0.83401750110602, 0.83317016470191, 0.83232086776793, 0.83146961230255, 0.83061640030885, 
		0.82976123379452, 0.82890411477187, 0.82804504525776, 0.82718402727367, 0.82632106284566, 0.82545615400438, 0.82458930278503, 0.82372051122739, 0.82284978137583, 0.82197711527924, 
		0.82110251499110, 0.82022598256943, 0.81934752007680, 0.81846712958030, 0.81758481315158, 0.81670057286683, 0.81581441080673, 0.81492632905653, 0.81403632970595, 0.81314441484925, 
		0.81225058658520, 0.81135484701706, 0.81045719825259, 0.80955764240405, 0.80865618158818, 0.80775281792619, 0.80684755354380, 0.80594039057118, 0.80503133114296, 0.80412037739827, 
		0.80320753148064, 0.80229279553812, 0.80137617172314, 0.80045766219262, 0.79953726910791, 0.79861499463476, 0.79769084094339, 0.79676481020842, 0.79583690460888, 0.79490712632824, 
		0.79397547755434, 0.79304196047944, 0.79210657730021, 0.79116933021769, 0.79023022143731, 0.78928925316889, 0.78834642762661, 0.78740174702903, 0.78645521359909, 0.78550682956405, 
		0.78455659715558, 0.78360451860964, 0.78265059616658, 0.78169483207106, 0.78073722857209, 0.77977778792301, 0.77881651238148, 0.77785340420945, 0.77688846567323, 0.77592169904341, 
		0.77495310659487, 0.77398269060682, 0.77301045336274, 0.77203639715038, 0.77106052426181, 0.77008283699335, 0.76910333764558, 0.76812202852337, 0.76713891193582, 0.76615399019631, 
		0.76516726562246, 0.76417874053612, 0.76318841726338, 0.76219629813458, 0.76120238548426, 0.76020668165120, 0.75920918897839, 0.75820990981302, 0.75720884650648, 0.75620600141439, 
		0.75520137689654, 0.75419497531689, 0.75318679904361, 0.75217685044904, 0.75116513190969, 0.75015164580622, 0.74913639452346, 0.74811938045040, 0.74710060598018, 0.74608007351006, 
		0.74505778544147, 0.74403374417993, 0.74300795213512, 0.74198041172083, 0.74095112535496, 0.73992009545952, 0.73888732446062, 0.73785281478847, 0.73681656887737, 0.73577858916571, 
		0.73473887809596, 0.73369743811466, 0.73265427167241, 0.73160938122389, 0.73056276922783, 0.72951443814700, 0.72846439044823, 0.72741262860238, 0.72635915508435, 0.72530397237306, 
		0.72424708295147, 0.72318848930653, 0.72212819392922, 0.72106619931451, 0.72000250796138, 0.71893712237280, 0.71787004505573, 0.71680127852110, 0.71573082528382, 0.71465868786277, 
		0.71358486878079, 0.71250937056469, 0.71143219574522, 0.71035334685706, 0.70927282643887, 0.70819063703320, 0.70710678118655, 0.70602126144934, 0.70493408037590, 0.70384524052449, 
		0.70275474445723, 0.70166259474017, 0.70056879394325, 0.69947334464028, 0.69837624940897, 0.69727751083089, 0.69617713149146, 0.69507511398000, 0.69397146088965, 0.69286617481742, 
		0.69175925836416, 0.69065071413453, 0.68954054473707, 0.68842875278409, 0.68731534089176, 0.68620031168004, 0.68508366777270, 0.68396541179732, 0.68284554638525, 0.68172407417165, 
		0.68060099779545, 0.67947631989937, 0.67835004312986, 0.67722217013718, 0.67609270357532, 0.67496164610201, 0.67382900037876, 0.67269476907077, 0.67155895484702, 0.67042156038017, 
		0.66928258834664, 0.66814204142652, 0.66699992230364, 0.66585623366551, 0.66471097820335, 0.66356415861204, 0.66241577759017, 0.66126583783999, 0.66011434206742, 0.65896129298204, 
		0.65780669329708, 0.65665054572943, 0.65549285299962, 0.65433361783180, 0.65317284295378, 0.65201053109696, 0.65084668499638, 0.64968130739068, 0.64851440102211, 0.64734596863651, 
		0.64617601298332, 0.64500453681554, 0.64383154288979, 0.64265703396623, 0.64148101280858, 0.64030348218415, 0.63912444486378, 0.63794390362184, 0.63676186123628, 0.63557832048856, 
		0.63439328416365, 0.63320675505006, 0.63201873593981, 0.63082922962842, 0.62963823891493, 0.62844576660183, 0.62725181549514, 0.62605638840434, 0.62485948814239, 0.62366111752569, 
		0.62246127937415, 0.62125997651109, 0.62005721176329, 0.61885298796098, 0.61764730793780, 0.61644017453085, 0.61523159058063, 0.61402155893104, 0.61281008242941, 0.61159716392646, 
		0.61038280627631, 0.60916701233645, 0.60794978496777, 0.60673112703452, 0.60551104140433, 0.60428953094816, 0.60306659854035, 0.60184224705858, 0.60061647938387, 0.59938929840056, 
		0.59816070699634, 0.59693070806220, 0.59569930449243, 0.59446649918466, 0.59323229503980, 0.59199669496204, 0.59075970185887, 0.58952131864106, 0.58828154822265, 0.58704039352092, 
		0.58579785745644, 0.58455394295302, 0.58330865293770, 0.58206199034078, 0.58081395809576, 0.57956455913941, 0.57831379641166, 0.57706167285568, 0.57580819141785, 0.57455335504772, 
		0.57329716669804, 0.57203962932476, 0.57078074588697, 0.56952051934695, 0.56825895267013, 0.56699604882511, 0.56573181078361, 0.56446624152052, 0.56319934401383, 0.56193112124469, 
		0.56066157619734, 0.55939071185914, 0.55811853122056, 0.55684503727516, 0.55557023301960, 0.55429412145362, 0.55301670558003, 0.55173798840471, 0.55045797293660, 0.54917666218772, 
		0.54789405917310, 0.54661016691083, 0.54532498842205, 0.54403852673088, 0.54275078486452, 0.54146176585312, 0.54017147272989, 0.53887990853101, 0.53758707629565, 0.53629297906596, 
		0.53499761988710, 0.53370100180715, 0.53240312787720, 0.53110400115125, 0.52980362468629, 0.52850200154223, 0.52719913478190, 0.52589502747108, 0.52458968267847, 0.52328310347566, 
		0.52197529293715, 0.52066625414037, 0.51935599016559, 0.51804450409600, 0.51673179901765, 0.51541787801946, 0.51410274419322, 0.51278640063356, 0.51146885043797, 0.51015009670677, 
		0.50883014254311, 0.50750899105297, 0.50618664534516, 0.50486310853127, 0.50353838372572, 0.50221247404571, 0.50088538261124, 0.49955711254508, 0.49822766697278, 0.49689704902265, 
		0.49556526182577, 0.49423230851596, 0.49289819222978, 0.49156291610655, 0.49022648328829, 0.48888889691976, 0.48755016014844, 0.48621027612449, 0.48486924800079, 0.48352707893292, 
		0.48218377207912, 0.48083933060033, 0.47949375766015, 0.47814705642484, 0.47679923006332, 0.47545028174716, 0.47410021465055, 0.47274903195034, 0.47139673682600, 0.47004333245960, 
		0.46868882203583, 0.46733320874199, 0.46597649576797, 0.46461868630624, 0.46325978355186, 0.46189979070246, 0.46053871095824, 0.45917654752194, 0.45781330359888, 0.45644898239688, 
		0.45508358712634, 0.45371712100016, 0.45234958723377, 0.45098098904510, 0.44961132965461, 0.44824061228522, 0.44686884016237, 0.44549601651398, 0.44412214457043, 0.44274722756457, 
		0.44137126873172, 0.43999427130963, 0.43861623853853, 0.43723717366104, 0.43585707992226, 0.43447596056966, 0.43309381885315, 0.43171065802506, 0.43032648134008, 0.42894129205533, 
		0.42755509343028, 0.42616788872680, 0.42477968120911, 0.42339047414380, 0.42200027079980, 0.42060907444840, 0.41921688836322, 0.41782371582021, 0.41642956009764, 0.41503442447608, 
		0.41363831223843, 0.41224122666988, 0.41084317105790, 0.40944414869226, 0.40804416286498, 0.40664321687037, 0.40524131400499, 0.40383845756765, 0.40243465085942, 0.40102989718358, 
		0.39962419984565, 0.39821756215337, 0.39680998741671, 0.39540147894782, 0.39399204006105, 0.39258167407295, 0.39117038430225, 0.38975817406986, 0.38834504669883, 0.38693100551439, 
		0.38551605384392, 0.38410019501694, 0.38268343236509, 0.38126576922216, 0.37984720892405, 0.37842775480877, 0.37700741021642, 0.37558617848922, 0.37416406297146, 0.37274106700952, 
		0.37131719395184, 0.36989244714893, 0.36846682995337, 0.36704034571977, 0.36561299780477, 0.36418478956708, 0.36275572436740, 0.36132580556845, 0.35989503653499, 0.35846342063374, 
		0.35703096123343, 0.35559766170478, 0.35416352542049, 0.35272855575521, 0.35129275608557, 0.34985612979013, 0.34841868024943, 0.34698041084592, 0.34554132496399, 0.34410142598994, 
		0.34266071731199, 0.34121920232028, 0.33977688440683, 0.33833376696554, 0.33688985339222, 0.33544514708453, 0.33399965144201, 0.33255336986604, 0.33110630575988, 0.32965846252859, 
		0.32820984357909, 0.32676045232013, 0.32531029216226, 0.32385936651785, 0.32240767880107, 0.32095523242788, 0.31950203081602, 0.31804807738501, 0.31659337555617, 0.31513792875252, 
		0.31368174039889, 0.31222481392183, 0.31076715274961, 0.30930876031227, 0.30784964004154, 0.30638979537086, 0.30492922973540, 0.30346794657201, 0.30200594931923, 0.30054324141727, 
		0.29907982630804, 0.29761570743509, 0.29615088824362, 0.29468537218051, 0.29321916269426, 0.29175226323499, 0.29028467725446, 0.28881640820605, 0.28734745954473, 0.28587783472708, 
		0.28440753721127, 0.28293657045706, 0.28146493792576, 0.27999264308027, 0.27851968938505, 0.27704608030610, 0.27557181931096, 0.27409690986871, 0.27262135544995, 0.27114515952681, 
		0.26966832557292, 0.26819085706340, 0.26671275747490, 0.26523403028551, 0.26375467897483, 0.26227470702391, 0.26079411791528, 0.25931291513289, 0.25783110216216, 0.25634868248994, 
		0.25486565960451, 0.25338203699557, 0.25189781815422, 0.25041300657297, 0.24892760574572, 0.24744161916777, 0.24595505033579, 0.24446790274782, 0.24298017990326, 0.24149188530287, 
		0.24000302244874, 0.23851359484432, 0.23702360599437, 0.23553305940498, 0.23404195858354, 0.23255030703878, 0.23105810828067, 0.22956536582052, 0.22807208317089, 0.22657826384561, 
		0.22508391135979, 0.22358902922979, 0.22209362097320, 0.22059769010887, 0.21910124015687, 0.21760427463848, 0.21610679707622, 0.21460881099379, 0.21311031991609, 0.21161132736923, 
		0.21011183688047, 0.20861185197826, 0.20711137619222, 0.20561041305310, 0.20410896609282, 0.20260703884442, 0.20110463484209, 0.19960175762113, 0.19809841071795, 0.19659459767008, 
		0.19509032201613, 0.19358558729580, 0.19208039704989, 0.19057475482025, 0.18906866414981, 0.18756212858253, 0.18605515166345, 0.18454773693862, 0.18303988795514, 0.18153160826113, 
		0.18002290140570, 0.17851377093900, 0.17700422041215, 0.17549425337727, 0.17398387338746, 0.17247308399680, 0.17096188876030, 0.16945029123397, 0.16793829497473, 0.16642590354046, 
		0.16491312048997, 0.16339994938297, 0.16188639378011, 0.16037245724293, 0.15885814333386, 0.15734345561624, 0.15582839765427, 0.15431297301302, 0.15279718525844, 0.15128103795733, 
		0.14976453467732, 0.14824767898690, 0.14673047445536, 0.14521292465285, 0.14369503315029, 0.14217680351945, 0.14065823933285, 0.13913934416383, 0.13762012158649, 0.13610057517571, 
		0.13458070850713, 0.13306052515714, 0.13154002870288, 0.13001922272223, 0.12849811079379, 0.12697669649689, 0.12545498341155, 0.12393297511851, 0.12241067519922, 0.12088808723578, 
		0.11936521481099, 0.11784206150833, 0.11631863091190, 0.11479492660651, 0.11327095217756, 0.11174671121113, 0.11022220729388, 0.10869744401314, 0.10717242495681, 0.10564715371341, 
		0.10412163387205, 0.10259586902244, 0.10106986275483, 0.09954361866007, 0.09801714032956, 0.09649043135525, 0.09496349532964, 0.09343633584575, 0.09190895649713, 0.09038136087787, 
		0.08885355258252, 0.08732553520619, 0.08579731234444, 0.08426888759332, 0.08274026454938, 0.08121144680959, 0.07968243797143, 0.07815324163279, 0.07662386139203, 0.07509430084792, 
		0.07356456359967, 0.07203465324689, 0.07050457338961, 0.06897432762827, 0.06744391956366, 0.06591335279700, 0.06438263092986, 0.06285175756416, 0.06132073630221, 0.05978957074664, 
		0.05825826450044, 0.05672682116691, 0.05519524434969, 0.05366353765273, 0.05213170468028, 0.05059974903690, 0.04906767432742, 0.04753548415696, 0.04600318213091, 0.04447077185494, 
		0.04293825693494, 0.04140564097708, 0.03987292758774, 0.03834012037355, 0.03680722294136, 0.03527423889821, 0.03374117185138, 0.03220802540830, 0.03067480317664, 0.02914150876419, 
		0.02760814577897, 0.02607471782910, 0.02454122852291, 0.02300768146884, 0.02147408027547, 0.01994042855151, 0.01840672990581, 0.01687298794728, 0.01533920628499, 0.01380538852806, 
		0.01227153828572, 0.01073765916726, 0.00920375478206, 0.00766982873953, 0.00613588464915, 0.00460192612045, 0.00306795676297, 0.00153398018629, 0.00000000000000, -0.00153398018628, 
		-0.00306795676297, -0.00460192612045, -0.00613588464915, -0.00766982873953, -0.00920375478206, -0.01073765916726, -0.01227153828572, -0.01380538852806, -0.01533920628499, -0.01687298794728, 
		-0.01840672990580, -0.01994042855151, -0.02147408027547, -0.02300768146884, -0.02454122852291, -0.02607471782910, -0.02760814577897, -0.02914150876419, -0.03067480317664, -0.03220802540830, 
		-0.03374117185138, -0.03527423889821, -0.03680722294136, -0.03834012037355, -0.03987292758774, -0.04140564097708, -0.04293825693494, -0.04447077185494, -0.04600318213091, -0.04753548415696, 
		-0.04906767432742, -0.05059974903690, -0.05213170468028, -0.05366353765273, -0.05519524434969, -0.05672682116691, -0.05825826450044, -0.05978957074664, -0.06132073630221, -0.06285175756416, 
		-0.06438263092986, -0.06591335279700, -0.06744391956366, -0.06897432762827, -0.07050457338961, -0.07203465324689, -0.07356456359967, -0.07509430084792, -0.07662386139203, -0.07815324163279, 
		-0.07968243797143, -0.08121144680959, -0.08274026454938, -0.08426888759332, -0.08579731234444, -0.08732553520619, -0.08885355258252, -0.09038136087787, -0.09190895649713, -0.09343633584575, 
		-0.09496349532964, -0.09649043135525, -0.09801714032956, -0.09954361866007, -0.10106986275483, -0.10259586902244, -0.10412163387205, -0.10564715371341, -0.10717242495681, -0.10869744401314, 
		-0.11022220729388, -0.11174671121113, -0.11327095217756, -0.11479492660651, -0.11631863091190, -0.11784206150832, -0.11936521481099, -0.12088808723578, -0.12241067519922, -0.12393297511851, 
		-0.12545498341155, -0.12697669649689, -0.12849811079379, -0.13001922272223, -0.13154002870288, -0.13306052515714, -0.13458070850713, -0.13610057517571, -0.13762012158649, -0.13913934416383, 
		-0.14065823933285, -0.14217680351945, -0.14369503315029, -0.14521292465285, -0.14673047445536, -0.14824767898690, -0.14976453467732, -0.15128103795733, -0.15279718525844, -0.15431297301302, 
		-0.15582839765427, -0.15734345561624, -0.15885814333386, -0.16037245724293, -0.16188639378011, -0.16339994938297, -0.16491312048997, -0.16642590354046, -0.16793829497473, -0.16945029123397, 
		-0.17096188876030, -0.17247308399680, -0.17398387338746, -0.17549425337727, -0.17700422041215, -0.17851377093900, -0.18002290140570, -0.18153160826112, -0.18303988795514, -0.18454773693862, 
		-0.18605515166345, -0.18756212858253, -0.18906866414981, -0.19057475482025, -0.19208039704989, -0.19358558729580, -0.19509032201613, -0.19659459767008, -0.19809841071795, -0.19960175762113, 
		-0.20110463484209, -0.20260703884442, -0.20410896609282, -0.20561041305310, -0.20711137619222, -0.20861185197826, -0.21011183688047, -0.21161132736923, -0.21311031991609, -0.21460881099379, 
		-0.21610679707622, -0.21760427463848, -0.21910124015687, -0.22059769010887, -0.22209362097320, -0.22358902922979, -0.22508391135979, -0.22657826384561, -0.22807208317089, -0.22956536582052, 
		-0.23105810828067, -0.23255030703877, -0.23404195858354, -0.23553305940498, -0.23702360599437, -0.23851359484432, -0.24000302244874, -0.24149188530287, -0.24298017990326, -0.24446790274782, 
		-0.24595505033579, -0.24744161916777, -0.24892760574572, -0.25041300657297, -0.25189781815422, -0.25338203699557, -0.25486565960451, -0.25634868248994, -0.25783110216216, -0.25931291513289, 
		-0.26079411791528, -0.26227470702391, -0.26375467897483, -0.26523403028551, -0.26671275747490, -0.26819085706340, -0.26966832557291, -0.27114515952681, -0.27262135544995, -0.27409690986871, 
		-0.27557181931096, -0.27704608030610, -0.27851968938505, -0.27999264308027, -0.28146493792576, -0.28293657045706, -0.28440753721127, -0.28587783472708, -0.28734745954473, -0.28881640820605, 
		-0.29028467725446, -0.29175226323499, -0.29321916269426, -0.29468537218051, -0.29615088824362, -0.29761570743509, -0.29907982630804, -0.30054324141727, -0.30200594931923, -0.30346794657201, 
		-0.30492922973540, -0.30638979537086, -0.30784964004153, -0.30930876031227, -0.31076715274961, -0.31222481392182, -0.31368174039889, -0.31513792875252, -0.31659337555617, -0.31804807738501, 
		-0.31950203081602, -0.32095523242788, -0.32240767880107, -0.32385936651785, -0.32531029216226, -0.32676045232013, -0.32820984357909, -0.32965846252859, -0.33110630575988, -0.33255336986604, 
		-0.33399965144201, -0.33544514708453, -0.33688985339222, -0.33833376696554, -0.33977688440683, -0.34121920232028, -0.34266071731199, -0.34410142598994, -0.34554132496399, -0.34698041084592, 
		-0.34841868024943, -0.34985612979013, -0.35129275608557, -0.35272855575521, -0.35416352542049, -0.35559766170478, -0.35703096123343, -0.35846342063374, -0.35989503653499, -0.36132580556845, 
		-0.36275572436740, -0.36418478956708, -0.36561299780477, -0.36704034571977, -0.36846682995337, -0.36989244714893, -0.37131719395184, -0.37274106700952, -0.37416406297146, -0.37558617848922, 
		-0.37700741021642, -0.37842775480877, -0.37984720892405, -0.38126576922216, -0.38268343236509, -0.38410019501694, -0.38551605384392, -0.38693100551439, -0.38834504669883, -0.38975817406986, 
		-0.39117038430225, -0.39258167407295, -0.39399204006105, -0.39540147894782, -0.39680998741671, -0.39821756215337, -0.39962419984565, -0.40102989718358, -0.40243465085942, -0.40383845756765, 
		-0.40524131400499, -0.40664321687037, -0.40804416286498, -0.40944414869226, -0.41084317105790, -0.41224122666988, -0.41363831223843, -0.41503442447608, -0.41642956009764, -0.41782371582021, 
		-0.41921688836322, -0.42060907444840, -0.42200027079980, -0.42339047414380, -0.42477968120911, -0.42616788872680, -0.42755509343028, -0.42894129205533, -0.43032648134008, -0.43171065802506, 
		-0.43309381885315, -0.43447596056966, -0.43585707992226, -0.43723717366104, -0.43861623853853, -0.43999427130963, -0.44137126873172, -0.44274722756457, -0.44412214457043, -0.44549601651398, 
		-0.44686884016237, -0.44824061228522, -0.44961132965461, -0.45098098904510, -0.45234958723377, -0.45371712100016, -0.45508358712634, -0.45644898239688, -0.45781330359888, -0.45917654752194, 
		-0.46053871095824, -0.46189979070246, -0.46325978355186, -0.46461868630624, -0.46597649576797, -0.46733320874199, -0.46868882203583, -0.47004333245960, -0.47139673682600, -0.47274903195034, 
		-0.47410021465055, -0.47545028174716, -0.47679923006332, -0.47814705642484, -0.47949375766015, -0.48083933060033, -0.48218377207912, -0.48352707893292, -0.48486924800079, -0.48621027612449, 
		-0.48755016014844, -0.48888889691976, -0.49022648328829, -0.49156291610655, -0.49289819222978, -0.49423230851596, -0.49556526182577, -0.49689704902265, -0.49822766697278, -0.49955711254508, 
		-0.50088538261124, -0.50221247404571, -0.50353838372572, -0.50486310853127, -0.50618664534516, -0.50750899105297, -0.50883014254311, -0.51015009670677, -0.51146885043797, -0.51278640063356, 
		-0.51410274419322, -0.51541787801946, -0.51673179901765, -0.51804450409600, -0.51935599016559, -0.52066625414037, -0.52197529293715, -0.52328310347566, -0.52458968267847, -0.52589502747108, 
		-0.52719913478190, -0.52850200154223, -0.52980362468629, -0.53110400115125, -0.53240312787720, -0.53370100180715, -0.53499761988710, -0.53629297906596, -0.53758707629565, -0.53887990853101, 
		-0.54017147272989, -0.54146176585312, -0.54275078486452, -0.54403852673088, -0.54532498842205, -0.54661016691083, -0.54789405917310, -0.54917666218772, -0.55045797293660, -0.55173798840471, 
		-0.55301670558003, -0.55429412145362, -0.55557023301960, -0.55684503727516, -0.55811853122056, -0.55939071185914, -0.56066157619734, -0.56193112124469, -0.56319934401383, -0.56446624152052, 
		-0.56573181078361, -0.56699604882511, -0.56825895267013, -0.56952051934695, -0.57078074588697, -0.57203962932476, -0.57329716669804, -0.57455335504772, -0.57580819141785, -0.57706167285568, 
		-0.57831379641166, -0.57956455913941, -0.58081395809576, -0.58206199034078, -0.58330865293770, -0.58455394295302, -0.58579785745644, -0.58704039352092, -0.58828154822265, -0.58952131864106, 
		-0.59075970185887, -0.59199669496204, -0.59323229503980, -0.59446649918466, -0.59569930449243, -0.59693070806220, -0.59816070699634, -0.59938929840056, -0.60061647938387, -0.60184224705858, 
		-0.60306659854035, -0.60428953094816, -0.60551104140433, -0.60673112703452, -0.60794978496777, -0.60916701233645, -0.61038280627631, -0.61159716392646, -0.61281008242941, -0.61402155893104, 
		-0.61523159058063, -0.61644017453085, -0.61764730793780, -0.61885298796098, -0.62005721176329, -0.62125997651109, -0.62246127937415, -0.62366111752569, -0.62485948814239, -0.62605638840434, 
		-0.62725181549514, -0.62844576660183, -0.62963823891493, -0.63082922962842, -0.63201873593981, -0.63320675505006, -0.63439328416365, -0.63557832048856, -0.63676186123628, -0.63794390362184, 
		-0.63912444486378, -0.64030348218415, -0.64148101280858, -0.64265703396623, -0.64383154288979, -0.64500453681554, -0.64617601298332, -0.64734596863651, -0.64851440102211, -0.64968130739068, 
		-0.65084668499638, -0.65201053109696, -0.65317284295378, -0.65433361783180, -0.65549285299962, -0.65665054572943, -0.65780669329708, -0.65896129298204, -0.66011434206742, -0.66126583783999, 
		-0.66241577759017, -0.66356415861204, -0.66471097820334, -0.66585623366551, -0.66699992230364, -0.66814204142652, -0.66928258834664, -0.67042156038017, -0.67155895484702, -0.67269476907077, 
		-0.67382900037876, -0.67496164610201, -0.67609270357532, -0.67722217013718, -0.67835004312986, -0.67947631989936, -0.68060099779545, -0.68172407417165, -0.68284554638525, -0.68396541179732, 
		-0.68508366777270, -0.68620031168004, -0.68731534089176, -0.68842875278409, -0.68954054473707, -0.69065071413453, -0.69175925836416, -0.69286617481742, -0.69397146088965, -0.69507511398000, 
		-0.69617713149146, -0.69727751083089, -0.69837624940897, -0.69947334464028, -0.70056879394325, -0.70166259474017, -0.70275474445723, -0.70384524052448, -0.70493408037590, -0.70602126144934, 
		-0.70710678118655, -0.70819063703320, -0.70927282643887, -0.71035334685706, -0.71143219574522, -0.71250937056469, -0.71358486878079, -0.71465868786277, -0.71573082528382, -0.71680127852110, 
		-0.71787004505573, -0.71893712237280, -0.72000250796138, -0.72106619931451, -0.72212819392922, -0.72318848930653, -0.72424708295147, -0.72530397237306, -0.72635915508435, -0.72741262860238, 
		-0.72846439044823, -0.72951443814700, -0.73056276922783, -0.73160938122389, -0.73265427167241, -0.73369743811466, -0.73473887809596, -0.73577858916571, -0.73681656887737, -0.73785281478847, 
		-0.73888732446062, -0.73992009545952, -0.74095112535496, -0.74198041172083, -0.74300795213512, -0.74403374417993, -0.74505778544147, -0.74608007351006, -0.74710060598018, -0.74811938045040, 
		-0.74913639452346, -0.75015164580621, -0.75116513190969, -0.75217685044904, -0.75318679904361, -0.75419497531689, -0.75520137689654, -0.75620600141439, -0.75720884650648, -0.75820990981302, 
		-0.75920918897839, -0.76020668165120, -0.76120238548426, -0.76219629813458, -0.76318841726338, -0.76417874053612, -0.76516726562246, -0.76615399019631, -0.76713891193582, -0.76812202852337, 
		-0.76910333764558, -0.77008283699335, -0.77106052426181, -0.77203639715038, -0.77301045336274, -0.77398269060682, -0.77495310659487, -0.77592169904341, -0.77688846567323, -0.77785340420945, 
		-0.77881651238148, -0.77977778792301, -0.78073722857209, -0.78169483207106, -0.78265059616658, -0.78360451860964, -0.78455659715558, -0.78550682956405, -0.78645521359909, -0.78740174702903, 
		-0.78834642762661, -0.78928925316889, -0.79023022143731, -0.79116933021769, -0.79210657730021, -0.79304196047944, -0.79397547755434, -0.79490712632824, -0.79583690460888, -0.79676481020842, 
		-0.79769084094339, -0.79861499463476, -0.79953726910790, -0.80045766219262, -0.80137617172314, -0.80229279553812, -0.80320753148065, -0.80412037739827, -0.80503133114296, -0.80594039057118, 
		-0.80684755354380, -0.80775281792619, -0.80865618158817, -0.80955764240405, -0.81045719825259, -0.81135484701706, -0.81225058658520, -0.81314441484925, -0.81403632970595, -0.81492632905653, 
		-0.81581441080673, -0.81670057286683, -0.81758481315158, -0.81846712958030, -0.81934752007680, -0.82022598256943, -0.82110251499110, -0.82197711527924, -0.82284978137583, -0.82372051122739, 
		-0.82458930278503, -0.82545615400438, -0.82632106284566, -0.82718402727367, -0.82804504525776, -0.82890411477186, -0.82976123379452, -0.83061640030885, -0.83146961230255, -0.83232086776793, 
		-0.83317016470191, -0.83401750110602, -0.83486287498638, -0.83570628435375, -0.83654772722351, -0.83738720161566, -0.83822470555484, -0.83906023707031, -0.83989379419600, -0.84072537497046, 
		-0.84155497743690, -0.84238259964319, -0.84320823964185, -0.84403189549007, -0.84485356524971, -0.84567324698730, -0.84649093877405, -0.84730663868586, -0.84812034480330, -0.84893205521164, 
		-0.84974176800085, -0.85054948126560, -0.85135519310526, -0.85215890162392, -0.85296060493036, -0.85376030113811, -0.85455798836540, -0.85535366473520, -0.85614732837519, -0.85693897741783, 
		-0.85772861000027, -0.85851622426444, -0.85930181835701, -0.86008539042939, -0.86086693863777, -0.86164646114308, -0.86242395611104, -0.86319942171212, -0.86397285612159, -0.86474425751946, 
		-0.86551362409057, -0.86628095402451, -0.86704624551569, -0.86780949676330, -0.86857070597134, -0.86932987134861, -0.87008699110871, -0.87084206347008, -0.87159508665595, -0.87234605889439, 
		-0.87309497841829, -0.87384184346537, -0.87458665227818, -0.87532940310411, -0.87607009419541, -0.87680872380915, -0.87754529020726, -0.87827979165654, -0.87901222642863, -0.87974259280005, 
		-0.88047088905216, -0.88119711347122, -0.88192126434835, -0.88264333997956, -0.88336333866573, -0.88408125871264, -0.88479709843094, -0.88551085613620, -0.88622253014888, -0.88693211879434, 
		-0.88763962040285, -0.88834503330960, -0.88904835585466, -0.88974958638307, -0.89044872324476, -0.89114576479458, -0.89184070939234, -0.89253355540276, -0.89322430119552, -0.89391294514520, 
		-0.89459948563138, -0.89528392103856, -0.89596624975618, -0.89664647017868, -0.89732458070542, -0.89800057974074, -0.89867446569395, -0.89934623697934, -0.90001589201616, -0.90068342922865, 
		-0.90134884704602, -0.90201214390249, -0.90267331823726, -0.90333236849451, -0.90398929312344, -0.90464409057825, -0.90529675931812, -0.90594729780727, -0.90659570451492, -0.90724197791530, 
		-0.90788611648767, -0.90852811871631, -0.90916798309052, -0.90980570810465, -0.91044129225807, -0.91107473405518, -0.91170603200543, -0.91233518462332, -0.91296219042840, -0.91358704794525, 
		-0.91420975570353, -0.91483031223795, -0.91544871608827, -0.91606496579933, -0.91667905992104, -0.91729099700838, -0.91790077562139, -0.91850839432521, -0.91911385169006, -0.91971714629123, 
		-0.92031827670911, -0.92091724152919, -0.92151403934204, -0.92210866874335, -0.92270112833388, -0.92329141671953, -0.92387953251129, -0.92446547432526, -0.92504924078268, -0.92563083050987, 
		-0.92621024213831, -0.92678747430458, -0.92736252565040, -0.92793539482262, -0.92850608047322, -0.92907458125932, -0.92964089584318, -0.93020502289222, -0.93076696107898, -0.93132670908118, 
		-0.93188426558167, -0.93243962926846, -0.93299279883474, -0.93354377297884, -0.93409255040426, -0.93463912981968, -0.93518350993895, -0.93572568948108, -0.93626566717028, -0.93680344173592, 
		-0.93733901191257, -0.93787237643999, -0.93840353406311, -0.93893248353206, -0.93945922360219, -0.93998375303401, -0.94050607059327, -0.94102617505089, -0.94154406518302, -0.94205973977102, 
		-0.94257319760145, -0.94308443746609, -0.94359345816196, -0.94410025849127, -0.94460483726148, -0.94510719328526, -0.94560732538052, -0.94610523237040, -0.94660091308328, -0.94709436635278, 
		-0.94758559101774, -0.94807458592228, -0.94856134991573, -0.94904588185270, -0.94952818059304, -0.95000824500184, -0.95048607394948, -0.95096166631157, -0.95143502096901, -0.95190613680793, 
		-0.95237501271977, -0.95284164760120, -0.95330604035419, -0.95376818988599, -0.95422809510911, -0.95468575494134, -0.95514116830577, -0.95559433413077, -0.95604525135000, -0.95649391890239, 
		-0.95694033573221, -0.95738450078898, -0.95782641302753, -0.95826607140802, -0.95870347489587, -0.95913862246184, -0.95957151308198, -0.96000214573767, -0.96043051941557, -0.96085663310768, 
		-0.96128048581132, -0.96170207652912, -0.96212140426904, -0.96253846804436, -0.96295326687368, -0.96336579978095, -0.96377606579544, -0.96418406395175, -0.96458979328981, -0.96499325285492, 
		-0.96539444169769, -0.96579335887408, -0.96619000344541, -0.96658437447833, -0.96697647104485, -0.96736629222233, -0.96775383709348, -0.96813910474636, -0.96852209427442, -0.96890280477643, 
		-0.96928123535655, -0.96965738512429, -0.97003125319454, -0.97040283868756, -0.97077214072895, -0.97113915844973, -0.97150389098625, -0.97186633748028, -0.97222649707894, -0.97258436893473, 
		-0.97293995220556, -0.97329324605470, -0.97364424965081, -0.97399296216796, -0.97433938278558, -0.97468351068851, -0.97502534506699, -0.97536488511666, -0.97570213003853, -0.97603707903904, 
		-0.97636973133002, -0.97670008612871, -0.97702814265775, -0.97735390014520, -0.97767735782451, -0.97799851493456, -0.97831737071963, -0.97863392442942, -0.97894817531906, -0.97926012264908, 
		-0.97956976568544, -0.97987710369952, -0.98018213596812, -0.98048486177347, -0.98078528040323, -0.98108339115049, -0.98137919331375, -0.98167268619698, -0.98196386910956, -0.98225274136629, 
		-0.98253930228744, -0.98282355119871, -0.98310548743122, -0.98338511032155, -0.98366241921173, -0.98393741344922, -0.98421009238693, -0.98448045538322, -0.98474850180190, -0.98501423101224, 
		-0.98527764238894, -0.98553873531218, -0.98579750916757, -0.98605396334620, -0.98630809724460, -0.98655991026478, -0.98680940181419, -0.98705657130575, -0.98730141815786, -0.98754394179436, 
		-0.98778414164457, -0.98802201714328, -0.98825756773075, -0.98849079285270, -0.98872169196032, -0.98895026451030, -0.98917650996478, -0.98940042779138, -0.98962201746320, -0.98984127845882, 
		-0.99005821026230, -0.99027281236317, -0.99048508425646, -0.99069502544266, -0.99090263542778, -0.99110791372328, -0.99131085984612, -0.99151147331874, -0.99170975366910, -0.99190570043061, 
		-0.99209931314219, -0.99229059134826, -0.99247953459871, -0.99266614244895, -0.99285041445987, -0.99303235019785, -0.99321194923479, -0.99338921114808, -0.99356413552060, -0.99373672194072, 
		-0.99390697000236, -0.99407487930488, -0.99424044945319, -0.99440368005768, -0.99456457073426, -0.99472312110433, -0.99487933079481, -0.99503319943812, -0.99518472667220, -0.99533391214048, 
		-0.99548075549193, -0.99562525638099, -0.99576741446766, -0.99590722941741, -0.99604470090125, -0.99617982859570, -0.99631261218278, -0.99644305135004, -0.99657114579055, -0.99669689520290, 
		-0.99682029929117, -0.99694135776498, -0.99706007033948, -0.99717643673533, -0.99729045667869, -0.99740212990128, -0.99751145614030, -0.99761843513852, -0.99772306664419, -0.99782535041111, 
		-0.99792528619860, -0.99802287377149, -0.99811811290015, -0.99821100336048, -0.99830154493389, -0.99838973740734, -0.99847558057329, -0.99855907422976, -0.99864021818027, -0.99871901223387, 
		-0.99879545620517, -0.99886954991428, -0.99894129318686, -0.99901068585407, -0.99907772775265, -0.99914241872482, -0.99920475861836, -0.99926474728659, -0.99932238458835, -0.99937767038800, 
		-0.99943060455546, -0.99948118696617, -0.99952941750109, -0.99957529604675, -0.99961882249518, -0.99965999674396, -0.99969881869620, -0.99973528826056, -0.99976940535122, -0.99980116988788, 
		-0.99983058179582, -0.99985764100582, -0.99988234745421, -0.99990470108285, -0.99992470183914, -0.99994234967602, -0.99995764455196, -0.99997058643097, -0.99998117528260, -0.99998941108193, 
		-0.99999529380958, -0.99999882345170, -1.00000000000000, -0.99999882345170, -0.99999529380958, -0.99998941108193, -0.99998117528260, -0.99997058643097, -0.99995764455196, -0.99994234967602, 
		-0.99992470183914, -0.99990470108285, -0.99988234745421, -0.99985764100582, -0.99983058179582, -0.99980116988788, -0.99976940535122, -0.99973528826056, -0.99969881869620, -0.99965999674396, 
		-0.99961882249518, -0.99957529604675, -0.99952941750109, -0.99948118696617, -0.99943060455546, -0.99937767038800, -0.99932238458835, -0.99926474728659, -0.99920475861836, -0.99914241872482, 
		-0.99907772775265, -0.99901068585407, -0.99894129318686, -0.99886954991428, -0.99879545620517, -0.99871901223387, -0.99864021818027, -0.99855907422976, -0.99847558057329, -0.99838973740734, 
		-0.99830154493389, -0.99821100336048, -0.99811811290015, -0.99802287377149, -0.99792528619860, -0.99782535041111, -0.99772306664419, -0.99761843513852, -0.99751145614030, -0.99740212990128, 
		-0.99729045667869, -0.99717643673533, -0.99706007033948, -0.99694135776498, -0.99682029929117, -0.99669689520290, -0.99657114579055, -0.99644305135004, -0.99631261218278, -0.99617982859570, 
		-0.99604470090125, -0.99590722941741, -0.99576741446766, -0.99562525638099, -0.99548075549193, -0.99533391214048, -0.99518472667220, -0.99503319943812, -0.99487933079481, -0.99472312110433, 
		-0.99456457073426, -0.99440368005768, -0.99424044945319, -0.99407487930488, -0.99390697000236, -0.99373672194072, -0.99356413552060, -0.99338921114808, -0.99321194923479, -0.99303235019785, 
		-0.99285041445987, -0.99266614244895, -0.99247953459871, -0.99229059134826, -0.99209931314219, -0.99190570043061, -0.99170975366910, -0.99151147331874, -0.99131085984612, -0.99110791372328, 
		-0.99090263542778, -0.99069502544266, -0.99048508425646, -0.99027281236317, -0.99005821026230, -0.98984127845882, -0.98962201746320, -0.98940042779138, -0.98917650996478, -0.98895026451030, 
		-0.98872169196032, -0.98849079285270, -0.98825756773075, -0.98802201714328, -0.98778414164457, -0.98754394179436, -0.98730141815786, -0.98705657130575, -0.98680940181419, -0.98655991026478, 
		-0.98630809724460, -0.98605396334620, -0.98579750916757, -0.98553873531218, -0.98527764238894, -0.98501423101224, -0.98474850180190, -0.98448045538322, -0.98421009238693, -0.98393741344922, 
		-0.98366241921173, -0.98338511032155, -0.98310548743122, -0.98282355119871, -0.98253930228744, -0.98225274136629, -0.98196386910956, -0.98167268619698, -0.98137919331375, -0.98108339115049, 
		-0.98078528040323, -0.98048486177347, -0.98018213596812, -0.97987710369952, -0.97956976568544, -0.97926012264908, -0.97894817531906, -0.97863392442942, -0.97831737071963, -0.97799851493456, 
		-0.97767735782451, -0.97735390014520, -0.97702814265775, -0.97670008612871, -0.97636973133002, -0.97603707903904, -0.97570213003853, -0.97536488511666, -0.97502534506699, -0.97468351068851, 
		-0.97433938278558, -0.97399296216796, -0.97364424965081, -0.97329324605470, -0.97293995220556, -0.97258436893473, -0.97222649707894, -0.97186633748028, -0.97150389098625, -0.97113915844973, 
		-0.97077214072895, -0.97040283868756, -0.97003125319454, -0.96965738512429, -0.96928123535655, -0.96890280477643, -0.96852209427442, -0.96813910474636, -0.96775383709348, -0.96736629222233, 
		-0.96697647104485, -0.96658437447833, -0.96619000344541, -0.96579335887408, -0.96539444169769, -0.96499325285492, -0.96458979328981, -0.96418406395175, -0.96377606579544, -0.96336579978095, 
		-0.96295326687368, -0.96253846804436, -0.96212140426904, -0.96170207652912, -0.96128048581132, -0.96085663310768, -0.96043051941557, -0.96000214573767, -0.95957151308198, -0.95913862246184, 
		-0.95870347489587, -0.95826607140802, -0.95782641302753, -0.95738450078898, -0.95694033573221, -0.95649391890240, -0.95604525135000, -0.95559433413077, -0.95514116830577, -0.95468575494134, 
		-0.95422809510911, -0.95376818988599, -0.95330604035419, -0.95284164760120, -0.95237501271977, -0.95190613680793, -0.95143502096901, -0.95096166631158, -0.95048607394948, -0.95000824500184, 
		-0.94952818059304, -0.94904588185270, -0.94856134991573, -0.94807458592228, -0.94758559101774, -0.94709436635278, -0.94660091308328, -0.94610523237040, -0.94560732538052, -0.94510719328526, 
		-0.94460483726148, -0.94410025849127, -0.94359345816196, -0.94308443746609, -0.94257319760145, -0.94205973977102, -0.94154406518302, -0.94102617505089, -0.94050607059327, -0.93998375303401, 
		-0.93945922360219, -0.93893248353206, -0.93840353406311, -0.93787237643999, -0.93733901191257, -0.93680344173592, -0.93626566717028, -0.93572568948108, -0.93518350993895, -0.93463912981968, 
		-0.93409255040426, -0.93354377297884, -0.93299279883474, -0.93243962926846, -0.93188426558167, -0.93132670908118, -0.93076696107898, -0.93020502289222, -0.92964089584318, -0.92907458125932, 
		-0.92850608047322, -0.92793539482262, -0.92736252565040, -0.92678747430458, -0.92621024213831, -0.92563083050987, -0.92504924078268, -0.92446547432526, -0.92387953251129, -0.92329141671953, 
		-0.92270112833388, -0.92210866874335, -0.92151403934204, -0.92091724152919, -0.92031827670911, -0.91971714629123, -0.91911385169006, -0.91850839432521, -0.91790077562139, -0.91729099700838, 
		-0.91667905992104, -0.91606496579933, -0.91544871608827, -0.91483031223795, -0.91420975570353, -0.91358704794525, -0.91296219042840, -0.91233518462332, -0.91170603200543, -0.91107473405518, 
		-0.91044129225807, -0.90980570810465, -0.90916798309052, -0.90852811871631, -0.90788611648767, -0.90724197791530, -0.90659570451492, -0.90594729780727, -0.90529675931812, -0.90464409057825, 
		-0.90398929312344, -0.90333236849451, -0.90267331823726, -0.90201214390249, -0.90134884704602, -0.90068342922865, -0.90001589201616, -0.89934623697934, -0.89867446569395, -0.89800057974074, 
		-0.89732458070542, -0.89664647017868, -0.89596624975619, -0.89528392103856, -0.89459948563138, -0.89391294514520, -0.89322430119552, -0.89253355540276, -0.89184070939234, -0.89114576479458, 
		-0.89044872324476, -0.88974958638307, -0.88904835585466, -0.88834503330960, -0.88763962040285, -0.88693211879434, -0.88622253014888, -0.88551085613620, -0.88479709843094, -0.88408125871264, 
		-0.88336333866573, -0.88264333997956, -0.88192126434836, -0.88119711347122, -0.88047088905216, -0.87974259280005, -0.87901222642863, -0.87827979165654, -0.87754529020726, -0.87680872380915, 
		-0.87607009419541, -0.87532940310411, -0.87458665227818, -0.87384184346537, -0.87309497841829, -0.87234605889439, -0.87159508665595, -0.87084206347008, -0.87008699110871, -0.86932987134861, 
		-0.86857070597134, -0.86780949676330, -0.86704624551569, -0.86628095402451, -0.86551362409057, -0.86474425751946, -0.86397285612159, -0.86319942171212, -0.86242395611104, -0.86164646114308, 
		-0.86086693863777, -0.86008539042939, -0.85930181835701, -0.85851622426444, -0.85772861000027, -0.85693897741783, -0.85614732837519, -0.85535366473520, -0.85455798836540, -0.85376030113811, 
		-0.85296060493036, -0.85215890162392, -0.85135519310527, -0.85054948126560, -0.84974176800085, -0.84893205521164, -0.84812034480330, -0.84730663868586, -0.84649093877405, -0.84567324698730, 
		-0.84485356524971, -0.84403189549007, -0.84320823964185, -0.84238259964319, -0.84155497743690, -0.84072537497046, -0.83989379419600, -0.83906023707031, -0.83822470555484, -0.83738720161566, 
		-0.83654772722351, -0.83570628435375, -0.83486287498638, -0.83401750110602, -0.83317016470191, -0.83232086776793, -0.83146961230255, -0.83061640030885, -0.82976123379452, -0.82890411477186, 
		-0.82804504525776, -0.82718402727367, -0.82632106284566, -0.82545615400438, -0.82458930278503, -0.82372051122739, -0.82284978137583, -0.82197711527924, -0.82110251499110, -0.82022598256943, 
		-0.81934752007680, -0.81846712958030, -0.81758481315158, -0.81670057286683, -0.81581441080673, -0.81492632905653, -0.81403632970595, -0.81314441484925, -0.81225058658520, -0.81135484701706, 
		-0.81045719825259, -0.80955764240405, -0.80865618158817, -0.80775281792619, -0.80684755354380, -0.80594039057118, -0.80503133114296, -0.80412037739827, -0.80320753148065, -0.80229279553812, 
		-0.80137617172314, -0.80045766219262, -0.79953726910791, -0.79861499463476, -0.79769084094339, -0.79676481020842, -0.79583690460888, -0.79490712632824, -0.79397547755434, -0.79304196047944, 
		-0.79210657730021, -0.79116933021769, -0.79023022143731, -0.78928925316889, -0.78834642762661, -0.78740174702903, -0.78645521359909, -0.78550682956405, -0.78455659715558, -0.78360451860964, 
		-0.78265059616658, -0.78169483207106, -0.78073722857209, -0.77977778792301, -0.77881651238148, -0.77785340420945, -0.77688846567323, -0.77592169904341, -0.77495310659487, -0.77398269060682, 
		-0.77301045336274, -0.77203639715038, -0.77106052426181, -0.77008283699335, -0.76910333764558, -0.76812202852337, -0.76713891193582, -0.76615399019631, -0.76516726562246, -0.76417874053612, 
		-0.76318841726338, -0.76219629813458, -0.76120238548426, -0.76020668165120, -0.75920918897839, -0.75820990981302, -0.75720884650648, -0.75620600141439, -0.75520137689654, -0.75419497531689, 
		-0.75318679904361, -0.75217685044904, -0.75116513190969, -0.75015164580622, -0.74913639452346, -0.74811938045040, -0.74710060598018, -0.74608007351006, -0.74505778544147, -0.74403374417993, 
		-0.74300795213512, -0.74198041172083, -0.74095112535496, -0.73992009545952, -0.73888732446062, -0.73785281478847, -0.73681656887737, -0.73577858916571, -0.73473887809596, -0.73369743811466, 
		-0.73265427167241, -0.73160938122389, -0.73056276922783, -0.72951443814700, -0.72846439044823, -0.72741262860238, -0.72635915508435, -0.72530397237306, -0.72424708295147, -0.72318848930653, 
		-0.72212819392922, -0.72106619931451, -0.72000250796138, -0.71893712237280, -0.71787004505573, -0.71680127852110, -0.71573082528382, -0.71465868786277, -0.71358486878079, -0.71250937056469, 
		-0.71143219574522, -0.71035334685706, -0.70927282643887, -0.70819063703320, -0.70710678118655, -0.70602126144934, -0.70493408037590, -0.70384524052449, -0.70275474445723, -0.70166259474017, 
		-0.70056879394325, -0.69947334464028, -0.69837624940897, -0.69727751083089, -0.69617713149146, -0.69507511398000, -0.69397146088965, -0.69286617481742, -0.69175925836416, -0.69065071413453, 
		-0.68954054473707, -0.68842875278409, -0.68731534089176, -0.68620031168004, -0.68508366777270, -0.68396541179732, -0.68284554638525, -0.68172407417165, -0.68060099779545, -0.67947631989937, 
		-0.67835004312986, -0.67722217013718, -0.67609270357532, -0.67496164610201, -0.67382900037876, -0.67269476907077, -0.67155895484702, -0.67042156038017, -0.66928258834664, -0.66814204142652, 
		-0.66699992230364, -0.66585623366551, -0.66471097820335, -0.66356415861204, -0.66241577759017, -0.66126583783999, -0.66011434206742, -0.65896129298204, -0.65780669329708, -0.65665054572943, 
		-0.65549285299962, -0.65433361783180, -0.65317284295378, -0.65201053109696, -0.65084668499638, -0.64968130739068, -0.64851440102211, -0.64734596863651, -0.64617601298332, -0.64500453681554, 
		-0.64383154288979, -0.64265703396623, -0.64148101280858, -0.64030348218415, -0.63912444486378, -0.63794390362184, -0.63676186123628, -0.63557832048856, -0.63439328416365, -0.63320675505006, 
		-0.63201873593981, -0.63082922962842, -0.62963823891493, -0.62844576660183, -0.62725181549514, -0.62605638840434, -0.62485948814239, -0.62366111752569, -0.62246127937415, -0.62125997651109, 
		-0.62005721176329, -0.61885298796098, -0.61764730793780, -0.61644017453085, -0.61523159058063, -0.61402155893104, -0.61281008242941, -0.61159716392646, -0.61038280627631, -0.60916701233645, 
		-0.60794978496777, -0.60673112703452, -0.60551104140433, -0.60428953094816, -0.60306659854035, -0.60184224705858, -0.60061647938387, -0.59938929840056, -0.59816070699634, -0.59693070806220, 
		-0.59569930449243, -0.59446649918466, -0.59323229503980, -0.59199669496204, -0.59075970185887, -0.58952131864106, -0.58828154822265, -0.58704039352092, -0.58579785745644, -0.58455394295302, 
		-0.58330865293770, -0.58206199034078, -0.58081395809576, -0.57956455913941, -0.57831379641166, -0.57706167285568, -0.57580819141785, -0.57455335504772, -0.57329716669804, -0.57203962932476, 
		-0.57078074588697, -0.56952051934695, -0.56825895267013, -0.56699604882511, -0.56573181078361, -0.56446624152052, -0.56319934401383, -0.56193112124469, -0.56066157619734, -0.55939071185914, 
		-0.55811853122056, -0.55684503727516, -0.55557023301960, -0.55429412145362, -0.55301670558003, -0.55173798840471, -0.55045797293661, -0.54917666218772, -0.54789405917310, -0.54661016691084, 
		-0.54532498842205, -0.54403852673088, -0.54275078486452, -0.54146176585312, -0.54017147272989, -0.53887990853101, -0.53758707629565, -0.53629297906596, -0.53499761988710, -0.53370100180715, 
		-0.53240312787720, -0.53110400115126, -0.52980362468629, -0.52850200154223, -0.52719913478190, -0.52589502747108, -0.52458968267847, -0.52328310347566, -0.52197529293715, -0.52066625414037, 
		-0.51935599016559, -0.51804450409600, -0.51673179901765, -0.51541787801946, -0.51410274419322, -0.51278640063356, -0.51146885043797, -0.51015009670677, -0.50883014254311, -0.50750899105297, 
		-0.50618664534516, -0.50486310853127, -0.50353838372572, -0.50221247404571, -0.50088538261124, -0.49955711254508, -0.49822766697278, -0.49689704902265, -0.49556526182577, -0.49423230851596, 
		-0.49289819222978, -0.49156291610655, -0.49022648328829, -0.48888889691976, -0.48755016014844, -0.48621027612449, -0.48486924800079, -0.48352707893292, -0.48218377207912, -0.48083933060033, 
		-0.47949375766015, -0.47814705642484, -0.47679923006332, -0.47545028174716, -0.47410021465055, -0.47274903195034, -0.47139673682600, -0.47004333245960, -0.46868882203583, -0.46733320874199, 
		-0.46597649576797, -0.46461868630624, -0.46325978355186, -0.46189979070246, -0.46053871095824, -0.45917654752194, -0.45781330359888, -0.45644898239688, -0.45508358712634, -0.45371712100016, 
		-0.45234958723377, -0.45098098904510, -0.44961132965461, -0.44824061228522, -0.44686884016237, -0.44549601651398, -0.44412214457043, -0.44274722756457, -0.44137126873172, -0.43999427130963, 
		-0.43861623853853, -0.43723717366104, -0.43585707992226, -0.43447596056966, -0.43309381885315, -0.43171065802506, -0.43032648134008, -0.42894129205533, -0.42755509343028, -0.42616788872680, 
		-0.42477968120911, -0.42339047414380, -0.42200027079980, -0.42060907444840, -0.41921688836322, -0.41782371582021, -0.41642956009764, -0.41503442447608, -0.41363831223844, -0.41224122666988, 
		-0.41084317105790, -0.40944414869226, -0.40804416286498, -0.40664321687037, -0.40524131400499, -0.40383845756765, -0.40243465085942, -0.40102989718358, -0.39962419984565, -0.39821756215337, 
		-0.39680998741671, -0.39540147894782, -0.39399204006105, -0.39258167407295, -0.39117038430225, -0.38975817406986, -0.38834504669883, -0.38693100551439, -0.38551605384392, -0.38410019501693, 
		-0.38268343236509, -0.38126576922216, -0.37984720892405, -0.37842775480877, -0.37700741021642, -0.37558617848922, -0.37416406297146, -0.37274106700952, -0.37131719395184, -0.36989244714893, 
		-0.36846682995337, -0.36704034571977, -0.36561299780477, -0.36418478956708, -0.36275572436740, -0.36132580556845, -0.35989503653499, -0.35846342063374, -0.35703096123343, -0.35559766170478, 
		-0.35416352542049, -0.35272855575521, -0.35129275608557, -0.34985612979014, -0.34841868024943, -0.34698041084592, -0.34554132496399, -0.34410142598994, -0.34266071731199, -0.34121920232028, 
		-0.33977688440683, -0.33833376696554, -0.33688985339222, -0.33544514708453, -0.33399965144201, -0.33255336986604, -0.33110630575988, -0.32965846252859, -0.32820984357909, -0.32676045232013, 
		-0.32531029216226, -0.32385936651785, -0.32240767880107, -0.32095523242788, -0.31950203081602, -0.31804807738502, -0.31659337555617, -0.31513792875252, -0.31368174039889, -0.31222481392182, 
		-0.31076715274961, -0.30930876031227, -0.30784964004154, -0.30638979537086, -0.30492922973540, -0.30346794657201, -0.30200594931923, -0.30054324141727, -0.29907982630804, -0.29761570743509, 
		-0.29615088824362, -0.29468537218051, -0.29321916269426, -0.29175226323499, -0.29028467725446, -0.28881640820605, -0.28734745954473, -0.28587783472708, -0.28440753721127, -0.28293657045706, 
		-0.28146493792576, -0.27999264308027, -0.27851968938505, -0.27704608030610, -0.27557181931096, -0.27409690986871, -0.27262135544995, -0.27114515952681, -0.26966832557292, -0.26819085706340, 
		-0.26671275747490, -0.26523403028551, -0.26375467897483, -0.26227470702391, -0.26079411791528, -0.25931291513289, -0.25783110216216, -0.25634868248994, -0.25486565960451, -0.25338203699557, 
		-0.25189781815422, -0.25041300657297, -0.24892760574572, -0.24744161916777, -0.24595505033580, -0.24446790274782, -0.24298017990326, -0.24149188530287, -0.24000302244874, -0.23851359484432, 
		-0.23702360599437, -0.23553305940498, -0.23404195858354, -0.23255030703878, -0.23105810828067, -0.22956536582052, -0.22807208317089, -0.22657826384561, -0.22508391135979, -0.22358902922979, 
		-0.22209362097320, -0.22059769010887, -0.21910124015687, -0.21760427463848, -0.21610679707622, -0.21460881099379, -0.21311031991609, -0.21161132736923, -0.21011183688047, -0.20861185197826, 
		-0.20711137619222, -0.20561041305310, -0.20410896609282, -0.20260703884442, -0.20110463484209, -0.19960175762113, -0.19809841071795, -0.19659459767008, -0.19509032201613, -0.19358558729580, 
		-0.19208039704989, -0.19057475482025, -0.18906866414981, -0.18756212858253, -0.18605515166345, -0.18454773693862, -0.18303988795514, -0.18153160826112, -0.18002290140570, -0.17851377093900, 
		-0.17700422041215, -0.17549425337727, -0.17398387338746, -0.17247308399680, -0.17096188876030, -0.16945029123397, -0.16793829497473, -0.16642590354046, -0.16491312048997, -0.16339994938297, 
		-0.16188639378011, -0.16037245724293, -0.15885814333386, -0.15734345561624, -0.15582839765427, -0.15431297301302, -0.15279718525844, -0.15128103795733, -0.14976453467732, -0.14824767898690, 
		-0.14673047445536, -0.14521292465285, -0.14369503315029, -0.14217680351945, -0.14065823933285, -0.13913934416383, -0.13762012158649, -0.13610057517571, -0.13458070850713, -0.13306052515714, 
		-0.13154002870288, -0.13001922272223, -0.12849811079379, -0.12697669649689, -0.12545498341155, -0.12393297511851, -0.12241067519922, -0.12088808723578, -0.11936521481099, -0.11784206150833, 
		-0.11631863091190, -0.11479492660651, -0.11327095217756, -0.11174671121113, -0.11022220729388, -0.10869744401314, -0.10717242495681, -0.10564715371341, -0.10412163387206, -0.10259586902244, 
		-0.10106986275483, -0.09954361866007, -0.09801714032956, -0.09649043135525, -0.09496349532964, -0.09343633584575, -0.09190895649713, -0.09038136087786, -0.08885355258252, -0.08732553520619, 
		-0.08579731234444, -0.08426888759332, -0.08274026454938, -0.08121144680959, -0.07968243797143, -0.07815324163279, -0.07662386139203, -0.07509430084792, -0.07356456359967, -0.07203465324689, 
		-0.07050457338961, -0.06897432762827, -0.06744391956366, -0.06591335279700, -0.06438263092986, -0.06285175756416, -0.06132073630221, -0.05978957074664, -0.05825826450044, -0.05672682116691, 
		-0.05519524434969, -0.05366353765273, -0.05213170468028, -0.05059974903690, -0.04906767432742, -0.04753548415696, -0.04600318213092, -0.04447077185494, -0.04293825693494, -0.04140564097708, 
		-0.03987292758774, -0.03834012037355, -0.03680722294136, -0.03527423889821, -0.03374117185138, -0.03220802540830, -0.03067480317664, -0.02914150876419, -0.02760814577897, -0.02607471782910, 
		-0.02454122852291, -0.02300768146884, -0.02147408027547, -0.01994042855152, -0.01840672990581, -0.01687298794728, -0.01533920628499, -0.01380538852806, -0.01227153828572, -0.01073765916726, 
		-0.00920375478206, -0.00766982873953, -0.00613588464915, -0.00460192612045, -0.00306795676297, -0.00153398018629}; 
 
ap_ufixed<16,12> temp = 0.0; // Fixed-point variable to hold the current value of the accumulator 
 
void nco (ap_fixed<16,2> *sine_sample, ap_ufixed<16,12> step_size){ 
 
	// Define the pcore interface and group into AXI4 slave "slv0" 
 
	/* Value to hold the current address value of the sine LUT 
	 * 12-bit unsigned fixed-point, all integer bits. 
	 * Overflow is set to "wrap around" by default. */ 
	ap_ufixed<12,12> address; 
 
	temp+=step_size; // Accumulator. Values will wrap around on overflow. 
 
	address = ap_ufixed<12,12>(temp); // Cast address to a 12-bit integer value. 
 
	*sine_sample = sine_lut[(int)address]; // Assign sign sample from LUT based on current address 
}