sm64pc/include/trig_tables.inc.c

1427 lines
86 KiB
C
Raw Normal View History

2020-05-05 12:15:53 +00:00
f32 gSineTable[] = {
0.000000000f, 0.0015339801f,0.0030679568f,0.004601926f,
0.0061358847f,0.007669829f, 0.009203754f, 0.010737659f,
0.012271538f, 0.0138053885f,0.015339206f, 0.016872987f,
0.018406730f, 0.019940428f, 0.021474080f, 0.023007682f,
0.024541229f, 0.026074719f, 0.027608145f, 0.029141508f,
0.030674804f, 0.032208025f, 0.033741172f, 0.035274237f,
0.036807224f, 0.038340122f, 0.039872926f, 0.041405641f,
0.042938258f, 0.044470772f, 0.046003181f, 0.047535483f,
0.049067676f, 0.050599750f, 0.052131705f, 0.053663537f,
0.055195246f, 0.056726821f, 0.058258265f, 0.059789572f,
0.061320737f, 0.062851757f, 0.064382628f, 0.065913349f,
0.067443922f, 0.068974331f, 0.070504576f, 0.072034650f,
0.073564567f, 0.075094298f, 0.076623864f, 0.078153245f,
0.079682440f, 0.081211448f, 0.082740262f, 0.084268890f,
0.085797310f, 0.087325536f, 0.088853553f, 0.090381362f,
0.091908954f, 0.093436338f, 0.094963498f, 0.096490428f,
0.098017141f, 0.099543616f, 0.101069860f, 0.102595866f,
0.104121633f, 0.105647154f, 0.107172422f, 0.108697444f,
0.110222206f, 0.111746714f, 0.113270953f, 0.114794925f,
0.116318628f, 0.117842063f, 0.119365215f, 0.120888084f,
0.122410677f, 0.123932973f, 0.125454977f, 0.126976699f,
0.128498107f, 0.130019218f, 0.131540030f, 0.133060530f,
0.134580702f, 0.136100575f, 0.137620121f, 0.139139339f,
0.140658244f, 0.142176807f, 0.143695027f, 0.145212919f,
0.146730468f, 0.148247674f, 0.149764538f, 0.151281044f,
0.152797192f, 0.154312968f, 0.155828401f, 0.157343462f,
0.158858150f, 0.160372451f, 0.161886394f, 0.163399950f,
0.164913118f, 0.166425899f, 0.167938292f, 0.169450298f,
0.170961887f, 0.172473088f, 0.173983872f, 0.175494254f,
0.177004218f, 0.178513765f, 0.180022895f, 0.181531608f,
0.183039889f, 0.184547737f, 0.186055154f, 0.187562123f,
0.189068660f, 0.190574750f, 0.192080393f, 0.193585590f,
0.195090324f, 0.196594596f, 0.198098406f, 0.199601755f,
0.201104641f, 0.202607036f, 0.204108968f, 0.205610409f,
0.207111374f, 0.208611846f, 0.210111842f, 0.211611331f,
0.213110313f, 0.214608818f, 0.216106802f, 0.217604280f,
0.219101235f, 0.220597684f, 0.222093627f, 0.223589033f,
0.225083917f, 0.226578265f, 0.228072077f, 0.229565367f,
0.231058106f, 0.232550308f, 0.234041959f, 0.235533059f,
0.237023607f, 0.238513589f, 0.240003020f, 0.241491884f,
0.242980182f, 0.244467899f, 0.245955050f, 0.247441620f,
0.248927608f, 0.250413001f, 0.251897812f, 0.253382027f,
0.254865646f, 0.256348670f, 0.257831097f, 0.259312928f,
0.260794103f, 0.262274712f, 0.263754666f, 0.265234023f,
0.266712755f, 0.268190861f, 0.269668311f, 0.271145165f,
0.272621363f, 0.274096906f, 0.275571823f, 0.277046084f,
0.278519690f, 0.279992640f, 0.281464934f, 0.282936573f,
0.284407526f, 0.285877824f, 0.287347466f, 0.288816422f,
0.290284663f, 0.291752249f, 0.293219149f, 0.294685364f,
0.296150893f, 0.297615707f, 0.299079835f, 0.300543249f,
0.302005947f, 0.303467959f, 0.304929227f, 0.306389809f,
0.307849646f, 0.309308767f, 0.310767144f, 0.312224805f,
0.313681751f, 0.315137923f, 0.316593379f, 0.318048090f,
0.319502026f, 0.320955247f, 0.322407693f, 0.323859364f,
0.325310290f, 0.326760441f, 0.328209847f, 0.329658449f,
0.331106305f, 0.332553357f, 0.333999664f, 0.335445136f,
0.336889863f, 0.338333756f, 0.339776874f, 0.341219217f,
0.342660725f, 0.344101429f, 0.345541328f, 0.346980423f,
0.348418683f, 0.349856138f, 0.351292759f, 0.352728546f,
0.354163527f, 0.355597675f, 0.357030958f, 0.358463407f,
0.359895051f, 0.361325800f, 0.362755716f, 0.364184797f,
0.365612984f, 0.367040336f, 0.368466824f, 0.369892448f,
0.371317208f, 0.372741073f, 0.374164075f, 0.375586182f,
0.377007425f, 0.378427744f, 0.379847199f, 0.381265759f,
0.382683426f, 0.384100199f, 0.385516047f, 0.386931002f,
0.388345033f, 0.389758170f, 0.391170382f, 0.392581671f,
0.393992037f, 0.395401478f, 0.396809995f, 0.398217559f,
0.399624199f, 0.401029885f, 0.402434647f, 0.403838456f,
0.405241311f, 0.406643212f, 0.408044159f, 0.409444153f,
0.410843164f, 0.412241220f, 0.413638324f, 0.415034413f,
0.416429549f, 0.417823702f, 0.419216901f, 0.420609087f,
0.422000259f, 0.423390478f, 0.424779683f, 0.426167876f,
0.427555084f, 0.428941280f, 0.430326492f, 0.431710660f,
0.433093816f, 0.434475958f, 0.435857087f, 0.437237173f,
0.438616246f, 0.439994276f, 0.441371262f, 0.442747235f,
0.444122136f, 0.445496023f, 0.446868837f, 0.448240608f,
0.449611336f, 0.450980991f, 0.452349573f, 0.453717113f,
0.455083579f, 0.456448972f, 0.457813293f, 0.459176540f,
0.460538715f, 0.461899787f, 0.463259786f, 0.464618683f,
0.465976506f, 0.467333198f, 0.468688816f, 0.470043331f,
0.471396744f, 0.472749025f, 0.474100202f, 0.475450277f,
0.476799220f, 0.478147060f, 0.479493767f, 0.480839342f,
0.482183784f, 0.483527064f, 0.484869242f, 0.486210287f,
0.487550169f, 0.488888890f, 0.490226477f, 0.491562903f,
0.492898196f, 0.494232297f, 0.495565265f, 0.496897042f,
0.498227656f, 0.499557108f, 0.500885367f, 0.502212465f,
0.503538370f, 0.504863083f, 0.506186664f, 0.507508993f,
0.508830130f, 0.510150075f, 0.511468828f, 0.512786388f,
0.514102757f, 0.515417874f, 0.516731799f, 0.518044531f,
0.519356012f, 0.520666242f, 0.521975279f, 0.523283124f,
0.524589658f, 0.525895000f, 0.527199149f, 0.528501987f,
0.529803634f, 0.531104028f, 0.532403111f, 0.533701003f,
0.534997642f, 0.536292970f, 0.537587047f, 0.538879931f,
0.540171444f, 0.541461766f, 0.542750776f, 0.544038534f,
0.545324981f, 0.546610177f, 0.547894061f, 0.549176633f,
0.550457954f, 0.551737964f, 0.553016722f, 0.554294109f,
0.555570245f, 0.556845009f, 0.558118522f, 0.559390724f,
0.560661554f, 0.561931133f, 0.563199341f, 0.564466238f,
0.565731823f, 0.566996038f, 0.568258941f, 0.569520533f,
0.570780754f, 0.572039604f, 0.573297143f, 0.574553370f,
0.575808167f, 0.577061653f, 0.578313768f, 0.579564571f,
0.580813944f, 0.582062006f, 0.583308637f, 0.584553957f,
0.585797846f, 0.587040365f, 0.588281572f, 0.589521289f,
0.590759695f, 0.591996670f, 0.593232274f, 0.594466507f,
0.595699310f, 0.596930683f, 0.598160684f, 0.599389315f,
0.600616455f, 0.601842225f, 0.603066623f, 0.604289532f,
0.605511069f, 0.606731117f, 0.607949793f, 0.609167039f,
0.610382795f, 0.611597180f, 0.612810075f, 0.614021540f,
0.615231574f, 0.616440177f, 0.617647290f, 0.618852973f,
0.620057225f, 0.621259987f, 0.622461259f, 0.623661101f,
0.624859512f, 0.626056373f, 0.627251804f, 0.628445745f,
0.629638255f, 0.630829215f, 0.632018745f, 0.633206785f,
0.634393275f, 0.635578334f, 0.636761844f, 0.637943923f,
0.639124453f, 0.640303493f, 0.641481042f, 0.642657042f,
0.643831551f, 0.645004511f, 0.646176040f, 0.647345960f,
0.648514390f, 0.649681330f, 0.650846660f, 0.652010560f,
0.653172851f, 0.654333591f, 0.655492842f, 0.656650543f,
0.657806695f, 0.658961296f, 0.660114348f, 0.661265850f,
0.662415802f, 0.663564146f, 0.664710999f, 0.665856242f,
0.666999936f, 0.668142021f, 0.669282615f, 0.670421541f,
0.671558976f, 0.672694743f, 0.673829019f, 0.674961627f,
0.676092684f, 0.677222192f, 0.678350031f, 0.679476321f,
0.680601001f, 0.681724072f, 0.682845533f, 0.683965385f,
0.685083687f, 0.686200321f, 0.687315345f, 0.688428760f,
0.689540565f, 0.690650702f, 0.691759229f, 0.692866147f,
0.693971455f, 0.695075095f, 0.696177125f, 0.697277486f,
0.698376238f, 0.699473321f, 0.700568795f, 0.701662600f,
0.702754736f, 0.703845263f, 0.704934061f, 0.706021249f,
0.707106769f, 0.708190620f, 0.709272802f, 0.710353374f,
0.711432219f, 0.712509394f, 0.713584840f, 0.714658678f,
0.715730846f, 0.716801286f, 0.717870057f, 0.718937099f,
0.720002532f, 0.721066177f, 0.722128212f, 0.723188460f,
0.724247098f, 0.725303948f, 0.726359129f, 0.727412641f,
0.728464365f, 0.729514420f, 0.730562747f, 0.731609404f,
0.732654274f, 0.733697414f, 0.734738886f, 0.735778570f,
0.736816585f, 0.737852812f, 0.738887310f, 0.739920080f,
0.740951121f, 0.741980433f, 0.743007958f, 0.744033754f,
0.745057762f, 0.746080101f, 0.747100592f, 0.748119354f,
0.749136388f, 0.750151634f, 0.751165152f, 0.752176821f,
0.753186822f, 0.754194975f, 0.755201399f, 0.756205976f,
0.757208824f, 0.758209884f, 0.759209216f, 0.760206699f,
0.761202395f, 0.762196302f, 0.763188422f, 0.764178753f,
0.765167236f, 0.766153991f, 0.767138898f, 0.768122017f,
0.769103348f, 0.770082831f, 0.771060526f, 0.772036374f,
0.773010433f, 0.773982704f, 0.774953127f, 0.775921702f,
0.776888490f, 0.777853429f, 0.778816521f, 0.779777765f,
0.780737221f, 0.781694829f, 0.782650590f, 0.783604503f,
0.784556568f, 0.785506845f, 0.786455214f, 0.787401736f,
0.788346410f, 0.789289236f, 0.790230215f, 0.791169345f,
0.792106569f, 0.793041945f, 0.793975472f, 0.794907153f,
0.795836926f, 0.796764791f, 0.797690868f, 0.798614979f,
0.799537241f, 0.800457656f, 0.801376164f, 0.802292824f,
0.803207517f, 0.804120362f, 0.805031359f, 0.805940390f,
0.806847572f, 0.807752848f, 0.808656156f, 0.809557617f,
0.810457170f, 0.811354876f, 0.812250614f, 0.813144386f,
0.814036310f, 0.814926326f, 0.815814435f, 0.816700578f,
0.817584813f, 0.818467140f, 0.819347501f, 0.820225954f,
0.821102500f, 0.821977139f, 0.822849810f, 0.823720515f,
0.824589312f, 0.825456142f, 0.826321065f, 0.827184021f,
0.828045070f, 0.828904092f, 0.829761207f, 0.830616415f,
0.831469595f, 0.832320869f, 0.833170176f, 0.834017515f,
0.834862888f, 0.835706294f, 0.836547732f, 0.837387204f,
0.838224709f, 0.839060247f, 0.839893818f, 0.840725362f,
0.841554999f, 0.842382610f, 0.843208253f, 0.844031870f,
0.844853580f, 0.845673263f, 0.846490920f, 0.847306609f,
0.848120332f, 0.848932028f, 0.849741757f, 0.850549459f,
0.851355195f, 0.852158904f, 0.852960587f, 0.853760302f,
0.854557991f, 0.855353653f, 0.856147349f, 0.856938958f,
0.857728601f, 0.858516216f, 0.859301805f, 0.860085368f,
0.860866964f, 0.861646473f, 0.862423956f, 0.863199413f,
0.863972843f, 0.864744246f, 0.865513623f, 0.866280973f,
0.867046237f, 0.867809474f, 0.868570685f, 0.869329870f,
0.870086968f, 0.870842040f, 0.871595085f, 0.872346044f,
0.873094976f, 0.873841822f, 0.874586642f, 0.875329375f,
0.876070082f, 0.876808703f, 0.877545297f, 0.878279805f,
0.879012227f, 0.879742622f, 0.880470872f, 0.881197095f,
0.881921291f, 0.882643342f, 0.883363366f, 0.884081244f,
0.884797096f, 0.885510862f, 0.886222541f, 0.886932135f,
0.887639642f, 0.888345063f, 0.889048338f, 0.889749587f,
0.890448749f, 0.891145766f, 0.891840696f, 0.892533541f,
0.893224299f, 0.893912971f, 0.894599497f, 0.895283937f,
0.895966232f, 0.896646500f, 0.897324562f, 0.898000598f,
0.898674488f, 0.899346232f, 0.900015891f, 0.900683403f,
0.901348829f, 0.902012169f, 0.902673304f, 0.903332353f,
0.903989315f, 0.904644072f, 0.905296743f, 0.905947268f,
0.906595707f, 0.907242000f, 0.907886088f, 0.908528090f,
0.909168005f, 0.909805715f, 0.910441279f, 0.911074758f,
0.911706030f, 0.912335157f, 0.912962198f, 0.913587034f,
0.914209783f, 0.914830327f, 0.915448725f, 0.916064978f,
0.916679084f, 0.917290986f, 0.917900801f, 0.918508410f,
0.919113874f, 0.919717133f, 0.920318305f, 0.920917213f,
0.921514034f, 0.922108650f, 0.922701120f, 0.923291445f,
0.923879504f, 0.924465477f, 0.925049245f, 0.925630808f,
0.926210225f, 0.926787496f, 0.927362502f, 0.927935421f,
0.928506076f, 0.929074585f, 0.929640889f, 0.930205047f,
0.930766940f, 0.931326687f, 0.931884289f, 0.932439625f,
0.932992816f, 0.933543801f, 0.934092522f, 0.934639156f,
0.935183525f, 0.935725689f, 0.936265647f, 0.936803460f,
0.937339008f, 0.937872350f, 0.938403547f, 0.938932478f,
0.939459205f, 0.939983726f, 0.940506041f, 0.941026151f,
0.941544056f, 0.942059755f, 0.942573190f, 0.943084419f,
0.943593442f, 0.944100261f, 0.944604814f, 0.945107222f,
0.945607305f, 0.946105242f, 0.946600914f, 0.947094381f,
0.947585583f, 0.948074579f, 0.948561370f, 0.949045897f,
0.949528158f, 0.950008273f, 0.950486064f, 0.950961649f,
0.951435030f, 0.951906145f, 0.952374995f, 0.952841640f,
0.953306019f, 0.953768194f, 0.954228103f, 0.954685748f,
0.955141187f, 0.955594361f, 0.956045270f, 0.956493914f,
0.956940353f, 0.957384527f, 0.957826436f, 0.958266079f,
0.958703458f, 0.959138632f, 0.959571540f, 0.960002124f,
0.960430503f, 0.960856616f, 0.961280465f, 0.961702049f,
0.962121427f, 0.962538481f, 0.962953269f, 0.963365793f,
0.963776052f, 0.964184046f, 0.964589775f, 0.964993238f,
0.965394437f, 0.965793371f, 0.966189981f, 0.966584384f,
0.966976464f, 0.967366278f, 0.967753828f, 0.968139112f,
0.968522072f, 0.968902826f, 0.969281256f, 0.969657362f,
0.970031261f, 0.970402837f, 0.970772147f, 0.971139133f,
0.971503913f, 0.971866310f, 0.972226501f, 0.972584367f,
0.972939968f, 0.973293245f, 0.973644257f, 0.973992944f,
0.974339366f, 0.974683523f, 0.975025356f, 0.975364864f,
0.975702107f, 0.976037085f, 0.976369739f, 0.976700068f,
0.977028131f, 0.977353871f, 0.977677345f, 0.977998495f,
0.978317380f, 0.978633940f, 0.978948176f, 0.979260147f,
0.979569793f, 0.979877114f, 0.980182111f, 0.980484843f,
0.980785251f, 0.981083393f, 0.981379211f, 0.981672704f,
0.981963873f, 0.982252717f, 0.982539296f, 0.982823551f,
0.983105481f, 0.983385086f, 0.983662426f, 0.983937442f,
0.984210074f, 0.984480441f, 0.984748483f, 0.985014260f,
0.985277653f, 0.985538721f, 0.985797524f, 0.986053944f,
0.986308098f, 0.986559927f, 0.986809373f, 0.987056553f,
0.987301409f, 0.987543941f, 0.987784147f, 0.988022029f,
0.988257587f, 0.988490820f, 0.988721669f, 0.988950253f,
0.989176512f, 0.989400446f, 0.989621997f, 0.989841282f,
0.990058184f, 0.990272820f, 0.990485072f, 0.990695000f,
0.990902662f, 0.991107941f, 0.991310835f, 0.991511464f,
0.991709769f, 0.991905689f, 0.992099285f, 0.992290616f,
0.992479563f, 0.992666125f, 0.992850423f, 0.993032336f,
0.993211925f, 0.993389189f, 0.993564129f, 0.993736744f,
0.993906975f, 0.994074881f, 0.994240463f, 0.994403660f,
0.994564593f, 0.994723141f, 0.994879305f, 0.995033205f,
0.995184720f, 0.995333910f, 0.995480776f, 0.995625257f,
0.995767415f, 0.995907247f, 0.996044695f, 0.996179819f,
0.996312618f, 0.996443033f, 0.996571124f, 0.996696889f,
0.996820271f, 0.996941328f, 0.997060061f, 0.997176409f,
0.997290432f, 0.997402132f, 0.997511446f, 0.997618437f,
0.997723043f, 0.997825325f, 0.997925282f, 0.998022854f,
0.998118103f, 0.998211026f, 0.998301566f, 0.998389721f,
0.998475552f, 0.998559058f, 0.998640239f, 0.998719037f,
0.998795450f, 0.998869538f, 0.998941302f, 0.999010682f,
0.999077737f, 0.999142408f, 0.999204755f, 0.999264777f,
0.999322355f, 0.999377668f, 0.999430597f, 0.999481201f,
0.999529421f, 0.999575317f, 0.999618828f, 0.999660015f,
0.999698818f, 0.999735296f, 0.999769390f, 0.999801159f,
0.999830604f, 0.999857664f, 0.999882340f, 0.999904692f,
0.999924719f, 0.999942362f, 0.999957621f, 0.999970615f,
0.999981165f, 0.999989390f, 0.999995291f, 0.999998808f,
#ifndef AVOID_UB
};
f32 gCosineTable[0x1000] = {
#endif
// cosine
1.000000000f, 0.999998808f, 0.999995291f, 0.999989390f,
0.999981165f, 0.999970615f, 0.999957621f, 0.999942362f,
0.999924719f, 0.999904692f, 0.999882340f, 0.999857664f,
0.999830604f, 0.999801159f, 0.999769390f, 0.999735296f,
0.999698818f, 0.999660015f, 0.999618828f, 0.999575317f,
0.999529421f, 0.999481201f, 0.999430597f, 0.999377668f,
0.999322355f, 0.999264777f, 0.999204755f, 0.999142408f,
0.999077737f, 0.999010682f, 0.998941302f, 0.998869538f,
0.998795450f, 0.998719037f, 0.998640239f, 0.998559058f,
0.998475552f, 0.998389721f, 0.998301566f, 0.998211026f,
0.998118103f, 0.998022854f, 0.997925282f, 0.997825325f,
0.997723043f, 0.997618437f, 0.997511446f, 0.997402132f,
0.997290432f, 0.997176409f, 0.997060061f, 0.996941328f,
0.996820271f, 0.996696889f, 0.996571124f, 0.996443033f,
0.996312618f, 0.996179819f, 0.996044695f, 0.995907247f,
0.995767415f, 0.995625257f, 0.995480776f, 0.995333910f,
0.995184720f, 0.995033205f, 0.994879305f, 0.994723141f,
0.994564593f, 0.994403660f, 0.994240463f, 0.994074881f,
0.993906975f, 0.993736744f, 0.993564129f, 0.993389189f,
0.993211925f, 0.993032336f, 0.992850423f, 0.992666125f,
0.992479563f, 0.992290616f, 0.992099285f, 0.991905689f,
0.991709769f, 0.991511464f, 0.991310835f, 0.991107941f,
0.990902662f, 0.990695000f, 0.990485072f, 0.990272820f,
0.990058184f, 0.989841282f, 0.989621997f, 0.989400446f,
0.989176512f, 0.988950253f, 0.988721669f, 0.988490820f,
0.988257587f, 0.988022029f, 0.987784147f, 0.987543941f,
0.987301409f, 0.987056553f, 0.986809373f, 0.986559927f,
0.986308098f, 0.986053944f, 0.985797524f, 0.985538721f,
0.985277653f, 0.985014260f, 0.984748483f, 0.984480441f,
0.984210074f, 0.983937442f, 0.983662426f, 0.983385086f,
0.983105481f, 0.982823551f, 0.982539296f, 0.982252717f,
0.981963873f, 0.981672704f, 0.981379211f, 0.981083393f,
0.980785251f, 0.980484843f, 0.980182111f, 0.979877114f,
0.979569793f, 0.979260147f, 0.978948176f, 0.978633940f,
0.978317380f, 0.977998495f, 0.977677345f, 0.977353871f,
0.977028131f, 0.976700068f, 0.976369739f, 0.976037085f,
0.975702107f, 0.975364864f, 0.975025356f, 0.974683523f,
0.974339366f, 0.973992944f, 0.973644257f, 0.973293245f,
0.972939968f, 0.972584367f, 0.972226501f, 0.971866310f,
0.971503913f, 0.971139133f, 0.970772147f, 0.970402837f,
0.970031261f, 0.969657362f, 0.969281256f, 0.968902826f,
0.968522072f, 0.968139112f, 0.967753828f, 0.967366278f,
0.966976464f, 0.966584384f, 0.966189981f, 0.965793371f,
0.965394437f, 0.964993238f, 0.964589775f, 0.964184046f,
0.963776052f, 0.963365793f, 0.962953269f, 0.962538481f,
0.962121427f, 0.961702049f, 0.961280465f, 0.960856616f,
0.960430503f, 0.960002124f, 0.959571540f, 0.959138632f,
0.958703458f, 0.958266079f, 0.957826436f, 0.957384527f,
0.956940353f, 0.956493914f, 0.956045270f, 0.955594361f,
0.955141187f, 0.954685748f, 0.954228103f, 0.953768194f,
0.953306019f, 0.952841640f, 0.952374995f, 0.951906145f,
0.951435030f, 0.950961649f, 0.950486064f, 0.950008273f,
0.949528158f, 0.949045897f, 0.948561370f, 0.948074579f,
0.947585583f, 0.947094381f, 0.946600914f, 0.946105242f,
0.945607305f, 0.945107222f, 0.944604814f, 0.944100261f,
0.943593442f, 0.943084419f, 0.942573190f, 0.942059755f,
0.941544056f, 0.941026151f, 0.940506041f, 0.939983726f,
0.939459205f, 0.938932478f, 0.938403547f, 0.937872350f,
0.937339008f, 0.936803460f, 0.936265647f, 0.935725689f,
0.935183525f, 0.934639156f, 0.934092522f, 0.933543801f,
0.932992816f, 0.932439625f, 0.931884289f, 0.931326687f,
0.930766940f, 0.930205047f, 0.929640889f, 0.929074585f,
0.928506076f, 0.927935421f, 0.927362502f, 0.926787496f,
0.926210225f, 0.925630808f, 0.925049245f, 0.924465477f,
0.923879504f, 0.923291445f, 0.922701120f, 0.922108650f,
0.921514034f, 0.920917213f, 0.920318305f, 0.919717133f,
0.919113874f, 0.918508410f, 0.917900801f, 0.917290986f,
0.916679084f, 0.916064978f, 0.915448725f, 0.914830327f,
0.914209783f, 0.913587034f, 0.912962198f, 0.912335157f,
0.911706030f, 0.911074758f, 0.910441279f, 0.909805715f,
0.909168005f, 0.908528090f, 0.907886088f, 0.907242000f,
0.906595707f, 0.905947268f, 0.905296743f, 0.904644072f,
0.903989315f, 0.903332353f, 0.902673304f, 0.902012169f,
0.901348829f, 0.900683403f, 0.900015891f, 0.899346232f,
0.898674488f, 0.898000598f, 0.897324562f, 0.896646500f,
0.895966232f, 0.895283937f, 0.894599497f, 0.893912971f,
0.893224299f, 0.892533541f, 0.891840696f, 0.891145766f,
0.890448749f, 0.889749587f, 0.889048338f, 0.888345063f,
0.887639642f, 0.886932135f, 0.886222541f, 0.885510862f,
0.884797096f, 0.884081244f, 0.883363366f, 0.882643342f,
0.881921291f, 0.881197095f, 0.880470872f, 0.879742622f,
0.879012227f, 0.878279805f, 0.877545297f, 0.876808703f,
0.876070082f, 0.875329375f, 0.874586642f, 0.873841822f,
0.873094976f, 0.872346044f, 0.871595085f, 0.870842040f,
0.870086968f, 0.869329870f, 0.868570685f, 0.867809474f,
0.867046237f, 0.866280973f, 0.865513623f, 0.864744246f,
0.863972843f, 0.863199413f, 0.862423956f, 0.861646473f,
0.860866964f, 0.860085368f, 0.859301805f, 0.858516216f,
0.857728601f, 0.856938958f, 0.856147349f, 0.855353653f,
0.854557991f, 0.853760302f, 0.852960587f, 0.852158904f,
0.851355195f, 0.850549459f, 0.849741757f, 0.848932028f,
0.848120332f, 0.847306609f, 0.846490920f, 0.845673263f,
0.844853580f, 0.844031870f, 0.843208253f, 0.842382610f,
0.841554999f, 0.840725362f, 0.839893818f, 0.839060247f,
0.838224709f, 0.837387204f, 0.836547732f, 0.835706294f,
0.834862888f, 0.834017515f, 0.833170176f, 0.832320869f,
0.831469595f, 0.830616415f, 0.829761207f, 0.828904092f,
0.828045070f, 0.827184021f, 0.826321065f, 0.825456142f,
0.824589312f, 0.823720515f, 0.822849810f, 0.821977139f,
0.821102500f, 0.820225954f, 0.819347501f, 0.818467140f,
0.817584813f, 0.816700578f, 0.815814435f, 0.814926326f,
0.814036310f, 0.813144386f, 0.812250614f, 0.811354876f,
0.810457170f, 0.809557617f, 0.808656156f, 0.807752848f,
0.806847572f, 0.805940390f, 0.805031359f, 0.804120362f,
0.803207517f, 0.802292824f, 0.801376164f, 0.800457656f,
0.799537241f, 0.798614979f, 0.797690868f, 0.796764791f,
0.795836926f, 0.794907153f, 0.793975472f, 0.793041945f,
0.792106569f, 0.791169345f, 0.790230215f, 0.789289236f,
0.788346410f, 0.787401736f, 0.786455214f, 0.785506845f,
0.784556568f, 0.783604503f, 0.782650590f, 0.781694829f,
0.780737221f, 0.779777765f, 0.778816521f, 0.777853429f,
0.776888490f, 0.775921702f, 0.774953127f, 0.773982704f,
0.773010433f, 0.772036374f, 0.771060526f, 0.770082831f,
0.769103348f, 0.768122017f, 0.767138898f, 0.766153991f,
0.765167236f, 0.764178753f, 0.763188422f, 0.762196302f,
0.761202395f, 0.760206699f, 0.759209216f, 0.758209884f,
0.757208824f, 0.756205976f, 0.755201399f, 0.754194975f,
0.753186822f, 0.752176821f, 0.751165152f, 0.750151634f,
0.749136388f, 0.748119354f, 0.747100592f, 0.746080101f,
0.745057762f, 0.744033754f, 0.743007958f, 0.741980433f,
0.740951121f, 0.739920080f, 0.738887310f, 0.737852812f,
0.736816585f, 0.735778570f, 0.734738886f, 0.733697414f,
0.732654274f, 0.731609404f, 0.730562747f, 0.729514420f,
0.728464365f, 0.727412641f, 0.726359129f, 0.725303948f,
0.724247098f, 0.723188460f, 0.722128212f, 0.721066177f,
0.720002532f, 0.718937099f, 0.717870057f, 0.716801286f,
0.715730846f, 0.714658678f, 0.713584840f, 0.712509394f,
0.711432219f, 0.710353374f, 0.709272802f, 0.708190620f,
0.707106769f, 0.706021249f, 0.704934061f, 0.703845263f,
0.702754736f, 0.701662600f, 0.700568795f, 0.699473321f,
0.698376238f, 0.697277486f, 0.696177125f, 0.695075095f,
0.693971455f, 0.692866147f, 0.691759229f, 0.690650702f,
0.689540565f, 0.688428760f, 0.687315345f, 0.686200321f,
0.685083687f, 0.683965385f, 0.682845533f, 0.681724072f,
0.680601001f, 0.679476321f, 0.678350031f, 0.677222192f,
0.676092684f, 0.674961627f, 0.673829019f, 0.672694743f,
0.671558976f, 0.670421541f, 0.669282615f, 0.668142021f,
0.666999936f, 0.665856242f, 0.664710999f, 0.663564146f,
0.662415802f, 0.661265850f, 0.660114348f, 0.658961296f,
0.657806695f, 0.656650543f, 0.655492842f, 0.654333591f,
0.653172851f, 0.652010560f, 0.650846660f, 0.649681330f,
0.648514390f, 0.647345960f, 0.646176040f, 0.645004511f,
0.643831551f, 0.642657042f, 0.641481042f, 0.640303493f,
0.639124453f, 0.637943923f, 0.636761844f, 0.635578334f,
0.634393275f, 0.633206785f, 0.632018745f, 0.630829215f,
0.629638255f, 0.628445745f, 0.627251804f, 0.626056373f,
0.624859512f, 0.623661101f, 0.622461259f, 0.621259987f,
0.620057225f, 0.618852973f, 0.617647290f, 0.616440177f,
0.615231574f, 0.614021540f, 0.612810075f, 0.611597180f,
0.610382795f, 0.609167039f, 0.607949793f, 0.606731117f,
0.605511069f, 0.604289532f, 0.603066623f, 0.601842225f,
0.600616455f, 0.599389315f, 0.598160684f, 0.596930683f,
0.595699310f, 0.594466507f, 0.593232274f, 0.591996670f,
0.590759695f, 0.589521289f, 0.588281572f, 0.587040365f,
0.585797846f, 0.584553957f, 0.583308637f, 0.582062006f,
0.580813944f, 0.579564571f, 0.578313768f, 0.577061653f,
0.575808167f, 0.574553370f, 0.573297143f, 0.572039604f,
0.570780754f, 0.569520533f, 0.568258941f, 0.566996038f,
0.565731823f, 0.564466238f, 0.563199341f, 0.561931133f,
0.560661554f, 0.559390724f, 0.558118522f, 0.556845009f,
0.555570245f, 0.554294109f, 0.553016722f, 0.551737964f,
0.550457954f, 0.549176633f, 0.547894061f, 0.546610177f,
0.545324981f, 0.544038534f, 0.542750776f, 0.541461766f,
0.540171444f, 0.538879931f, 0.537587047f, 0.536292970f,
0.534997642f, 0.533701003f, 0.532403111f, 0.531104028f,
0.529803634f, 0.528501987f, 0.527199149f, 0.525895000f,
0.524589658f, 0.523283124f, 0.521975279f, 0.520666242f,
0.519356012f, 0.518044531f, 0.516731799f, 0.515417874f,
0.514102757f, 0.512786388f, 0.511468828f, 0.510150075f,
0.508830130f, 0.507508993f, 0.506186664f, 0.504863083f,
0.503538370f, 0.502212465f, 0.500885367f, 0.499557108f,
0.498227656f, 0.496897042f, 0.495565265f, 0.494232297f,
0.492898196f, 0.491562903f, 0.490226477f, 0.488888890f,
0.487550169f, 0.486210287f, 0.484869242f, 0.483527064f,
0.482183784f, 0.480839342f, 0.479493767f, 0.478147060f,
0.476799220f, 0.475450277f, 0.474100202f, 0.472749025f,
0.471396744f, 0.470043331f, 0.468688816f, 0.467333198f,
0.465976506f, 0.464618683f, 0.463259786f, 0.461899787f,
0.460538715f, 0.459176540f, 0.457813293f, 0.456448972f,
0.455083579f, 0.453717113f, 0.452349573f, 0.450980991f,
0.449611336f, 0.448240608f, 0.446868837f, 0.445496023f,
0.444122136f, 0.442747235f, 0.441371262f, 0.439994276f,
0.438616246f, 0.437237173f, 0.435857087f, 0.434475958f,
0.433093816f, 0.431710660f, 0.430326492f, 0.428941280f,
0.427555084f, 0.426167876f, 0.424779683f, 0.423390478f,
0.422000259f, 0.420609087f, 0.419216901f, 0.417823702f,
0.416429549f, 0.415034413f, 0.413638324f, 0.412241220f,
0.410843164f, 0.409444153f, 0.408044159f, 0.406643212f,
0.405241311f, 0.403838456f, 0.402434647f, 0.401029885f,
0.399624199f, 0.398217559f, 0.396809995f, 0.395401478f,
0.393992037f, 0.392581671f, 0.391170382f, 0.389758170f,
0.388345033f, 0.386931002f, 0.385516047f, 0.384100199f,
0.382683426f, 0.381265759f, 0.379847199f, 0.378427744f,
0.377007425f, 0.375586182f, 0.374164075f, 0.372741073f,
0.371317208f, 0.369892448f, 0.368466824f, 0.367040336f,
0.365612984f, 0.364184797f, 0.362755716f, 0.361325800f,
0.359895051f, 0.358463407f, 0.357030958f, 0.355597675f,
0.354163527f, 0.352728546f, 0.351292759f, 0.349856138f,
0.348418683f, 0.346980423f, 0.345541328f, 0.344101429f,
0.342660725f, 0.341219217f, 0.339776874f, 0.338333756f,
0.336889863f, 0.335445136f, 0.333999664f, 0.332553357f,
0.331106305f, 0.329658449f, 0.328209847f, 0.326760441f,
0.325310290f, 0.323859364f, 0.322407693f, 0.320955247f,
0.319502026f, 0.318048090f, 0.316593379f, 0.315137923f,
0.313681751f, 0.312224805f, 0.310767144f, 0.309308767f,
0.307849646f, 0.306389809f, 0.304929227f, 0.303467959f,
0.302005947f, 0.300543249f, 0.299079835f, 0.297615707f,
0.296150893f, 0.294685364f, 0.293219149f, 0.291752249f,
0.290284663f, 0.288816422f, 0.287347466f, 0.285877824f,
0.284407526f, 0.282936573f, 0.281464934f, 0.279992640f,
0.278519690f, 0.277046084f, 0.275571823f, 0.274096906f,
0.272621363f, 0.271145165f, 0.269668311f, 0.268190861f,
0.266712755f, 0.265234023f, 0.263754666f, 0.262274712f,
0.260794103f, 0.259312928f, 0.257831097f, 0.256348670f,
0.254865646f, 0.253382027f, 0.251897812f, 0.250413001f,
0.248927608f, 0.247441620f, 0.245955050f, 0.244467899f,
0.242980182f, 0.241491884f, 0.240003020f, 0.238513589f,
0.237023607f, 0.235533059f, 0.234041959f, 0.232550308f,
0.231058106f, 0.229565367f, 0.228072077f, 0.226578265f,
0.225083917f, 0.223589033f, 0.222093627f, 0.220597684f,
0.219101235f, 0.217604280f, 0.216106802f, 0.214608818f,
0.213110313f, 0.211611331f, 0.210111842f, 0.208611846f,
0.207111374f, 0.205610409f, 0.204108968f, 0.202607036f,
0.201104641f, 0.199601755f, 0.198098406f, 0.196594596f,
0.195090324f, 0.193585590f, 0.192080393f, 0.190574750f,
0.189068660f, 0.187562123f, 0.186055154f, 0.184547737f,
0.183039889f, 0.181531608f, 0.180022895f, 0.178513765f,
0.177004218f, 0.175494254f, 0.173983872f, 0.172473088f,
0.170961887f, 0.169450298f, 0.167938292f, 0.166425899f,
0.164913118f, 0.163399950f, 0.161886394f, 0.160372451f,
0.158858150f, 0.157343462f, 0.155828401f, 0.154312968f,
0.152797192f, 0.151281044f, 0.149764538f, 0.148247674f,
0.146730468f, 0.145212919f, 0.143695027f, 0.142176807f,
0.140658244f, 0.139139339f, 0.137620121f, 0.136100575f,
0.134580702f, 0.133060530f, 0.131540030f, 0.130019218f,
0.128498107f, 0.126976699f, 0.125454977f, 0.123932973f,
0.122410677f, 0.120888084f, 0.119365215f, 0.117842063f,
0.116318628f, 0.114794925f, 0.113270953f, 0.111746714f,
0.110222206f, 0.108697444f, 0.107172422f, 0.105647154f,
0.104121633f, 0.102595866f, 0.101069860f, 0.099543616f,
0.098017141f, 0.096490428f, 0.094963498f, 0.093436338f,
0.091908954f, 0.090381362f, 0.088853553f, 0.087325536f,
0.085797310f, 0.084268890f, 0.082740262f, 0.081211448f,
0.079682440f, 0.078153245f, 0.076623864f, 0.075094298f,
0.073564567f, 0.072034650f, 0.070504576f, 0.068974331f,
0.067443922f, 0.065913349f, 0.064382628f, 0.062851757f,
0.061320737f, 0.059789572f, 0.058258265f, 0.056726821f,
0.055195246f, 0.053663537f, 0.052131705f, 0.050599750f,
0.049067676f, 0.047535483f, 0.046003181f, 0.044470772f,
0.042938258f, 0.041405641f, 0.039872926f, 0.038340122f,
0.036807224f, 0.035274237f, 0.033741172f, 0.032208025f,
0.030674804f, 0.029141508f, 0.027608145f, 0.026074719f,
0.024541229f, 0.023007682f, 0.021474080f, 0.019940428f,
0.018406730f, 0.016872987f, 0.015339206f, 0.0138053885f,
0.012271538f, 0.010737659f, 0.009203754f, 0.007669829f,
0.0061358847f,0.004601926f, 0.0030679568f,0.0015339801f,
// negative sine
0.000000000f, -0.0015339801f,-0.0030679568f,-0.004601926f,
-0.0061358847f,-0.007669829f, -0.009203754f, -0.010737659f,
-0.012271538f, -0.0138053885f,-0.015339206f, -0.016872987f,
-0.018406730f, -0.019940428f, -0.021474080f, -0.023007682f,
-0.024541229f, -0.026074719f, -0.027608145f, -0.029141508f,
-0.030674804f, -0.032208025f, -0.033741172f, -0.035274237f,
-0.036807224f, -0.038340122f, -0.039872926f, -0.041405641f,
-0.042938258f, -0.044470772f, -0.046003181f, -0.047535483f,
-0.049067676f, -0.050599750f, -0.052131705f, -0.053663537f,
-0.055195246f, -0.056726821f, -0.058258265f, -0.059789572f,
-0.061320737f, -0.062851757f, -0.064382628f, -0.065913349f,
-0.067443922f, -0.068974331f, -0.070504576f, -0.072034650f,
-0.073564567f, -0.075094298f, -0.076623864f, -0.078153245f,
-0.079682440f, -0.081211448f, -0.082740262f, -0.084268890f,
-0.085797310f, -0.087325536f, -0.088853553f, -0.090381362f,
-0.091908954f, -0.093436338f, -0.094963498f, -0.096490428f,
-0.098017141f, -0.099543616f, -0.101069860f, -0.102595866f,
-0.104121633f, -0.105647154f, -0.107172422f, -0.108697444f,
-0.110222206f, -0.111746714f, -0.113270953f, -0.114794925f,
-0.116318628f, -0.117842063f, -0.119365215f, -0.120888084f,
-0.122410677f, -0.123932973f, -0.125454977f, -0.126976699f,
-0.128498107f, -0.130019218f, -0.131540030f, -0.133060530f,
-0.134580702f, -0.136100575f, -0.137620121f, -0.139139339f,
-0.140658244f, -0.142176807f, -0.143695027f, -0.145212919f,
-0.146730468f, -0.148247674f, -0.149764538f, -0.151281044f,
-0.152797192f, -0.154312968f, -0.155828401f, -0.157343462f,
-0.158858150f, -0.160372451f, -0.161886394f, -0.163399950f,
-0.164913118f, -0.166425899f, -0.167938292f, -0.169450298f,
-0.170961887f, -0.172473088f, -0.173983872f, -0.175494254f,
-0.177004218f, -0.178513765f, -0.180022895f, -0.181531608f,
-0.183039889f, -0.184547737f, -0.186055154f, -0.187562123f,
-0.189068660f, -0.190574750f, -0.192080393f, -0.193585590f,
-0.195090324f, -0.196594596f, -0.198098406f, -0.199601755f,
-0.201104641f, -0.202607036f, -0.204108968f, -0.205610409f,
-0.207111374f, -0.208611846f, -0.210111842f, -0.211611331f,
-0.213110313f, -0.214608818f, -0.216106802f, -0.217604280f,
-0.219101235f, -0.220597684f, -0.222093627f, -0.223589033f,
-0.225083917f, -0.226578265f, -0.228072077f, -0.229565367f,
-0.231058106f, -0.232550308f, -0.234041959f, -0.235533059f,
-0.237023607f, -0.238513589f, -0.240003020f, -0.241491884f,
-0.242980182f, -0.244467899f, -0.245955050f, -0.247441620f,
-0.248927608f, -0.250413001f, -0.251897812f, -0.253382027f,
-0.254865646f, -0.256348670f, -0.257831097f, -0.259312928f,
-0.260794103f, -0.262274712f, -0.263754666f, -0.265234023f,
-0.266712755f, -0.268190861f, -0.269668311f, -0.271145165f,
-0.272621363f, -0.274096906f, -0.275571823f, -0.277046084f,
-0.278519690f, -0.279992640f, -0.281464934f, -0.282936573f,
-0.284407526f, -0.285877824f, -0.287347466f, -0.288816422f,
-0.290284663f, -0.291752249f, -0.293219149f, -0.294685364f,
-0.296150893f, -0.297615707f, -0.299079835f, -0.300543249f,
-0.302005947f, -0.303467959f, -0.304929227f, -0.306389809f,
-0.307849646f, -0.309308767f, -0.310767144f, -0.312224805f,
-0.313681751f, -0.315137923f, -0.316593379f, -0.318048090f,
-0.319502026f, -0.320955247f, -0.322407693f, -0.323859364f,
-0.325310290f, -0.326760441f, -0.328209847f, -0.329658449f,
-0.331106305f, -0.332553357f, -0.333999664f, -0.335445136f,
-0.336889863f, -0.338333756f, -0.339776874f, -0.341219217f,
-0.342660725f, -0.344101429f, -0.345541328f, -0.346980423f,
-0.348418683f, -0.349856138f, -0.351292759f, -0.352728546f,
-0.354163527f, -0.355597675f, -0.357030958f, -0.358463407f,
-0.359895051f, -0.361325800f, -0.362755716f, -0.364184797f,
-0.365612984f, -0.367040336f, -0.368466824f, -0.369892448f,
-0.371317208f, -0.372741073f, -0.374164075f, -0.375586182f,
-0.377007425f, -0.378427744f, -0.379847199f, -0.381265759f,
-0.382683426f, -0.384100199f, -0.385516047f, -0.386931002f,
-0.388345033f, -0.389758170f, -0.391170382f, -0.392581671f,
-0.393992037f, -0.395401478f, -0.396809995f, -0.398217559f,
-0.399624199f, -0.401029885f, -0.402434647f, -0.403838456f,
-0.405241311f, -0.406643212f, -0.408044159f, -0.409444153f,
-0.410843164f, -0.412241220f, -0.413638324f, -0.415034413f,
-0.416429549f, -0.417823702f, -0.419216901f, -0.420609087f,
-0.422000259f, -0.423390478f, -0.424779683f, -0.426167876f,
-0.427555084f, -0.428941280f, -0.430326492f, -0.431710660f,
-0.433093816f, -0.434475958f, -0.435857087f, -0.437237173f,
-0.438616246f, -0.439994276f, -0.441371262f, -0.442747235f,
-0.444122136f, -0.445496023f, -0.446868837f, -0.448240608f,
-0.449611336f, -0.450980991f, -0.452349573f, -0.453717113f,
-0.455083579f, -0.456448972f, -0.457813293f, -0.459176540f,
-0.460538715f, -0.461899787f, -0.463259786f, -0.464618683f,
-0.465976506f, -0.467333198f, -0.468688816f, -0.470043331f,
-0.471396744f, -0.472749025f, -0.474100202f, -0.475450277f,
-0.476799220f, -0.478147060f, -0.479493767f, -0.480839342f,
-0.482183784f, -0.483527064f, -0.484869242f, -0.486210287f,
-0.487550169f, -0.488888890f, -0.490226477f, -0.491562903f,
-0.492898196f, -0.494232297f, -0.495565265f, -0.496897042f,
-0.498227656f, -0.499557108f, -0.500885367f, -0.502212465f,
-0.503538370f, -0.504863083f, -0.506186664f, -0.507508993f,
-0.508830130f, -0.510150075f, -0.511468828f, -0.512786388f,
-0.514102757f, -0.515417874f, -0.516731799f, -0.518044531f,
-0.519356012f, -0.520666242f, -0.521975279f, -0.523283124f,
-0.524589658f, -0.525895000f, -0.527199149f, -0.528501987f,
-0.529803634f, -0.531104028f, -0.532403111f, -0.533701003f,
-0.534997642f, -0.536292970f, -0.537587047f, -0.538879931f,
-0.540171444f, -0.541461766f, -0.542750776f, -0.544038534f,
-0.545324981f, -0.546610177f, -0.547894061f, -0.549176633f,
-0.550457954f, -0.551737964f, -0.553016722f, -0.554294109f,
-0.555570245f, -0.556845009f, -0.558118522f, -0.559390724f,
-0.560661554f, -0.561931133f, -0.563199341f, -0.564466238f,
-0.565731823f, -0.566996038f, -0.568258941f, -0.569520533f,
-0.570780754f, -0.572039604f, -0.573297143f, -0.574553370f,
-0.575808167f, -0.577061653f, -0.578313768f, -0.579564571f,
-0.580813944f, -0.582062006f, -0.583308637f, -0.584553957f,
-0.585797846f, -0.587040365f, -0.588281572f, -0.589521289f,
-0.590759695f, -0.591996670f, -0.593232274f, -0.594466507f,
-0.595699310f, -0.596930683f, -0.598160684f, -0.599389315f,
-0.600616455f, -0.601842225f, -0.603066623f, -0.604289532f,
-0.605511069f, -0.606731117f, -0.607949793f, -0.609167039f,
-0.610382795f, -0.611597180f, -0.612810075f, -0.614021540f,
-0.615231574f, -0.616440177f, -0.617647290f, -0.618852973f,
-0.620057225f, -0.621259987f, -0.622461259f, -0.623661101f,
-0.624859512f, -0.626056373f, -0.627251804f, -0.628445745f,
-0.629638255f, -0.630829215f, -0.632018745f, -0.633206785f,
-0.634393275f, -0.635578334f, -0.636761844f, -0.637943923f,
-0.639124453f, -0.640303493f, -0.641481042f, -0.642657042f,
-0.643831551f, -0.645004511f, -0.646176040f, -0.647345960f,
-0.648514390f, -0.649681330f, -0.650846660f, -0.652010560f,
-0.653172851f, -0.654333591f, -0.655492842f, -0.656650543f,
-0.657806695f, -0.658961296f, -0.660114348f, -0.661265850f,
-0.662415802f, -0.663564146f, -0.664710999f, -0.665856242f,
-0.666999936f, -0.668142021f, -0.669282615f, -0.670421541f,
-0.671558976f, -0.672694743f, -0.673829019f, -0.674961627f,
-0.676092684f, -0.677222192f, -0.678350031f, -0.679476321f,
-0.680601001f, -0.681724072f, -0.682845533f, -0.683965385f,
-0.685083687f, -0.686200321f, -0.687315345f, -0.688428760f,
-0.689540565f, -0.690650702f, -0.691759229f, -0.692866147f,
-0.693971455f, -0.695075095f, -0.696177125f, -0.697277486f,
-0.698376238f, -0.699473321f, -0.700568795f, -0.701662600f,
-0.702754736f, -0.703845263f, -0.704934061f, -0.706021249f,
-0.707106769f, -0.708190620f, -0.709272802f, -0.710353374f,
-0.711432219f, -0.712509394f, -0.713584840f, -0.714658678f,
-0.715730846f, -0.716801286f, -0.717870057f, -0.718937099f,
-0.720002532f, -0.721066177f, -0.722128212f, -0.723188460f,
-0.724247098f, -0.725303948f, -0.726359129f, -0.727412641f,
-0.728464365f, -0.729514420f, -0.730562747f, -0.731609404f,
-0.732654274f, -0.733697414f, -0.734738886f, -0.735778570f,
-0.736816585f, -0.737852812f, -0.738887310f, -0.739920080f,
-0.740951121f, -0.741980433f, -0.743007958f, -0.744033754f,
-0.745057762f, -0.746080101f, -0.747100592f, -0.748119354f,
-0.749136388f, -0.750151634f, -0.751165152f, -0.752176821f,
-0.753186822f, -0.754194975f, -0.755201399f, -0.756205976f,
-0.757208824f, -0.758209884f, -0.759209216f, -0.760206699f,
-0.761202395f, -0.762196302f, -0.763188422f, -0.764178753f,
-0.765167236f, -0.766153991f, -0.767138898f, -0.768122017f,
-0.769103348f, -0.770082831f, -0.771060526f, -0.772036374f,
-0.773010433f, -0.773982704f, -0.774953127f, -0.775921702f,
-0.776888490f, -0.777853429f, -0.778816521f, -0.779777765f,
-0.780737221f, -0.781694829f, -0.782650590f, -0.783604503f,
-0.784556568f, -0.785506845f, -0.786455214f, -0.787401736f,
-0.788346410f, -0.789289236f, -0.790230215f, -0.791169345f,
-0.792106569f, -0.793041945f, -0.793975472f, -0.794907153f,
-0.795836926f, -0.796764791f, -0.797690868f, -0.798614979f,
-0.799537241f, -0.800457656f, -0.801376164f, -0.802292824f,
-0.803207517f, -0.804120362f, -0.805031359f, -0.805940390f,
-0.806847572f, -0.807752848f, -0.808656156f, -0.809557617f,
-0.810457170f, -0.811354876f, -0.812250614f, -0.813144386f,
-0.814036310f, -0.814926326f, -0.815814435f, -0.816700578f,
-0.817584813f, -0.818467140f, -0.819347501f, -0.820225954f,
-0.821102500f, -0.821977139f, -0.822849810f, -0.823720515f,
-0.824589312f, -0.825456142f, -0.826321065f, -0.827184021f,
-0.828045070f, -0.828904092f, -0.829761207f, -0.830616415f,
-0.831469595f, -0.832320869f, -0.833170176f, -0.834017515f,
-0.834862888f, -0.835706294f, -0.836547732f, -0.837387204f,
-0.838224709f, -0.839060247f, -0.839893818f, -0.840725362f,
-0.841554999f, -0.842382610f, -0.843208253f, -0.844031870f,
-0.844853580f, -0.845673263f, -0.846490920f, -0.847306609f,
-0.848120332f, -0.848932028f, -0.849741757f, -0.850549459f,
-0.851355195f, -0.852158904f, -0.852960587f, -0.853760302f,
-0.854557991f, -0.855353653f, -0.856147349f, -0.856938958f,
-0.857728601f, -0.858516216f, -0.859301805f, -0.860085368f,
-0.860866964f, -0.861646473f, -0.862423956f, -0.863199413f,
-0.863972843f, -0.864744246f, -0.865513623f, -0.866280973f,
-0.867046237f, -0.867809474f, -0.868570685f, -0.869329870f,
-0.870086968f, -0.870842040f, -0.871595085f, -0.872346044f,
-0.873094976f, -0.873841822f, -0.874586642f, -0.875329375f,
-0.876070082f, -0.876808703f, -0.877545297f, -0.878279805f,
-0.879012227f, -0.879742622f, -0.880470872f, -0.881197095f,
-0.881921291f, -0.882643342f, -0.883363366f, -0.884081244f,
-0.884797096f, -0.885510862f, -0.886222541f, -0.886932135f,
-0.887639642f, -0.888345063f, -0.889048338f, -0.889749587f,
-0.890448749f, -0.891145766f, -0.891840696f, -0.892533541f,
-0.893224299f, -0.893912971f, -0.894599497f, -0.895283937f,
-0.895966232f, -0.896646500f, -0.897324562f, -0.898000598f,
-0.898674488f, -0.899346232f, -0.900015891f, -0.900683403f,
-0.901348829f, -0.902012169f, -0.902673304f, -0.903332353f,
-0.903989315f, -0.904644072f, -0.905296743f, -0.905947268f,
-0.906595707f, -0.907242000f, -0.907886088f, -0.908528090f,
-0.909168005f, -0.909805715f, -0.910441279f, -0.911074758f,
-0.911706030f, -0.912335157f, -0.912962198f, -0.913587034f,
-0.914209783f, -0.914830327f, -0.915448725f, -0.916064978f,
-0.916679084f, -0.917290986f, -0.917900801f, -0.918508410f,
-0.919113874f, -0.919717133f, -0.920318305f, -0.920917213f,
-0.921514034f, -0.922108650f, -0.922701120f, -0.923291445f,
-0.923879504f, -0.924465477f, -0.925049245f, -0.925630808f,
-0.926210225f, -0.926787496f, -0.927362502f, -0.927935421f,
-0.928506076f, -0.929074585f, -0.929640889f, -0.930205047f,
-0.930766940f, -0.931326687f, -0.931884289f, -0.932439625f,
-0.932992816f, -0.933543801f, -0.934092522f, -0.934639156f,
-0.935183525f, -0.935725689f, -0.936265647f, -0.936803460f,
-0.937339008f, -0.937872350f, -0.938403547f, -0.938932478f,
-0.939459205f, -0.939983726f, -0.940506041f, -0.941026151f,
-0.941544056f, -0.942059755f, -0.942573190f, -0.943084419f,
-0.943593442f, -0.944100261f, -0.944604814f, -0.945107222f,
-0.945607305f, -0.946105242f, -0.946600914f, -0.947094381f,
-0.947585583f, -0.948074579f, -0.948561370f, -0.949045897f,
-0.949528158f, -0.950008273f, -0.950486064f, -0.950961649f,
-0.951435030f, -0.951906145f, -0.952374995f, -0.952841640f,
-0.953306019f, -0.953768194f, -0.954228103f, -0.954685748f,
-0.955141187f, -0.955594361f, -0.956045270f, -0.956493914f,
-0.956940353f, -0.957384527f, -0.957826436f, -0.958266079f,
-0.958703458f, -0.959138632f, -0.959571540f, -0.960002124f,
-0.960430503f, -0.960856616f, -0.961280465f, -0.961702049f,
-0.962121427f, -0.962538481f, -0.962953269f, -0.963365793f,
-0.963776052f, -0.964184046f, -0.964589775f, -0.964993238f,
-0.965394437f, -0.965793371f, -0.966189981f, -0.966584384f,
-0.966976464f, -0.967366278f, -0.967753828f, -0.968139112f,
-0.968522072f, -0.968902826f, -0.969281256f, -0.969657362f,
-0.970031261f, -0.970402837f, -0.970772147f, -0.971139133f,
-0.971503913f, -0.971866310f, -0.972226501f, -0.972584367f,
-0.972939968f, -0.973293245f, -0.973644257f, -0.973992944f,
-0.974339366f, -0.974683523f, -0.975025356f, -0.975364864f,
-0.975702107f, -0.976037085f, -0.976369739f, -0.976700068f,
-0.977028131f, -0.977353871f, -0.977677345f, -0.977998495f,
-0.978317380f, -0.978633940f, -0.978948176f, -0.979260147f,
-0.979569793f, -0.979877114f, -0.980182111f, -0.980484843f,
-0.980785251f, -0.981083393f, -0.981379211f, -0.981672704f,
-0.981963873f, -0.982252717f, -0.982539296f, -0.982823551f,
-0.983105481f, -0.983385086f, -0.983662426f, -0.983937442f,
-0.984210074f, -0.984480441f, -0.984748483f, -0.985014260f,
-0.985277653f, -0.985538721f, -0.985797524f, -0.986053944f,
-0.986308098f, -0.986559927f, -0.986809373f, -0.987056553f,
-0.987301409f, -0.987543941f, -0.987784147f, -0.988022029f,
-0.988257587f, -0.988490820f, -0.988721669f, -0.988950253f,
-0.989176512f, -0.989400446f, -0.989621997f, -0.989841282f,
-0.990058184f, -0.990272820f, -0.990485072f, -0.990695000f,
-0.990902662f, -0.991107941f, -0.991310835f, -0.991511464f,
-0.991709769f, -0.991905689f, -0.992099285f, -0.992290616f,
-0.992479563f, -0.992666125f, -0.992850423f, -0.993032336f,
-0.993211925f, -0.993389189f, -0.993564129f, -0.993736744f,
-0.993906975f, -0.994074881f, -0.994240463f, -0.994403660f,
-0.994564593f, -0.994723141f, -0.994879305f, -0.995033205f,
-0.995184720f, -0.995333910f, -0.995480776f, -0.995625257f,
-0.995767415f, -0.995907247f, -0.996044695f, -0.996179819f,
-0.996312618f, -0.996443033f, -0.996571124f, -0.996696889f,
-0.996820271f, -0.996941328f, -0.997060061f, -0.997176409f,
-0.997290432f, -0.997402132f, -0.997511446f, -0.997618437f,
-0.997723043f, -0.997825325f, -0.997925282f, -0.998022854f,
-0.998118103f, -0.998211026f, -0.998301566f, -0.998389721f,
-0.998475552f, -0.998559058f, -0.998640239f, -0.998719037f,
-0.998795450f, -0.998869538f, -0.998941302f, -0.999010682f,
-0.999077737f, -0.999142408f, -0.999204755f, -0.999264777f,
-0.999322355f, -0.999377668f, -0.999430597f, -0.999481201f,
-0.999529421f, -0.999575317f, -0.999618828f, -0.999660015f,
-0.999698818f, -0.999735296f, -0.999769390f, -0.999801159f,
-0.999830604f, -0.999857664f, -0.999882340f, -0.999904692f,
-0.999924719f, -0.999942362f, -0.999957621f, -0.999970615f,
-0.999981165f, -0.999989390f, -0.999995291f, -0.999998808f,
// negative cosine
-1.000000000f, -0.999998808f, -0.999995291f, -0.999989390f,
-0.999981165f, -0.999970615f, -0.999957621f, -0.999942362f,
-0.999924719f, -0.999904692f, -0.999882340f, -0.999857664f,
-0.999830604f, -0.999801159f, -0.999769390f, -0.999735296f,
-0.999698818f, -0.999660015f, -0.999618828f, -0.999575317f,
-0.999529421f, -0.999481201f, -0.999430597f, -0.999377668f,
-0.999322355f, -0.999264777f, -0.999204755f, -0.999142408f,
-0.999077737f, -0.999010682f, -0.998941302f, -0.998869538f,
-0.998795450f, -0.998719037f, -0.998640239f, -0.998559058f,
-0.998475552f, -0.998389721f, -0.998301566f, -0.998211026f,
-0.998118103f, -0.998022854f, -0.997925282f, -0.997825325f,
-0.997723043f, -0.997618437f, -0.997511446f, -0.997402132f,
-0.997290432f, -0.997176409f, -0.997060061f, -0.996941328f,
-0.996820271f, -0.996696889f, -0.996571124f, -0.996443033f,
-0.996312618f, -0.996179819f, -0.996044695f, -0.995907247f,
-0.995767415f, -0.995625257f, -0.995480776f, -0.995333910f,
-0.995184720f, -0.995033205f, -0.994879305f, -0.994723141f,
-0.994564593f, -0.994403660f, -0.994240463f, -0.994074881f,
-0.993906975f, -0.993736744f, -0.993564129f, -0.993389189f,
-0.993211925f, -0.993032336f, -0.992850423f, -0.992666125f,
-0.992479563f, -0.992290616f, -0.992099285f, -0.991905689f,
-0.991709769f, -0.991511464f, -0.991310835f, -0.991107941f,
-0.990902662f, -0.990695000f, -0.990485072f, -0.990272820f,
-0.990058184f, -0.989841282f, -0.989621997f, -0.989400446f,
-0.989176512f, -0.988950253f, -0.988721669f, -0.988490820f,
-0.988257587f, -0.988022029f, -0.987784147f, -0.987543941f,
-0.987301409f, -0.987056553f, -0.986809373f, -0.986559927f,
-0.986308098f, -0.986053944f, -0.985797524f, -0.985538721f,
-0.985277653f, -0.985014260f, -0.984748483f, -0.984480441f,
-0.984210074f, -0.983937442f, -0.983662426f, -0.983385086f,
-0.983105481f, -0.982823551f, -0.982539296f, -0.982252717f,
-0.981963873f, -0.981672704f, -0.981379211f, -0.981083393f,
-0.980785251f, -0.980484843f, -0.980182111f, -0.979877114f,
-0.979569793f, -0.979260147f, -0.978948176f, -0.978633940f,
-0.978317380f, -0.977998495f, -0.977677345f, -0.977353871f,
-0.977028131f, -0.976700068f, -0.976369739f, -0.976037085f,
-0.975702107f, -0.975364864f, -0.975025356f, -0.974683523f,
-0.974339366f, -0.973992944f, -0.973644257f, -0.973293245f,
-0.972939968f, -0.972584367f, -0.972226501f, -0.971866310f,
-0.971503913f, -0.971139133f, -0.970772147f, -0.970402837f,
-0.970031261f, -0.969657362f, -0.969281256f, -0.968902826f,
-0.968522072f, -0.968139112f, -0.967753828f, -0.967366278f,
-0.966976464f, -0.966584384f, -0.966189981f, -0.965793371f,
-0.965394437f, -0.964993238f, -0.964589775f, -0.964184046f,
-0.963776052f, -0.963365793f, -0.962953269f, -0.962538481f,
-0.962121427f, -0.961702049f, -0.961280465f, -0.960856616f,
-0.960430503f, -0.960002124f, -0.959571540f, -0.959138632f,
-0.958703458f, -0.958266079f, -0.957826436f, -0.957384527f,
-0.956940353f, -0.956493914f, -0.956045270f, -0.955594361f,
-0.955141187f, -0.954685748f, -0.954228103f, -0.953768194f,
-0.953306019f, -0.952841640f, -0.952374995f, -0.951906145f,
-0.951435030f, -0.950961649f, -0.950486064f, -0.950008273f,
-0.949528158f, -0.949045897f, -0.948561370f, -0.948074579f,
-0.947585583f, -0.947094381f, -0.946600914f, -0.946105242f,
-0.945607305f, -0.945107222f, -0.944604814f, -0.944100261f,
-0.943593442f, -0.943084419f, -0.942573190f, -0.942059755f,
-0.941544056f, -0.941026151f, -0.940506041f, -0.939983726f,
-0.939459205f, -0.938932478f, -0.938403547f, -0.937872350f,
-0.937339008f, -0.936803460f, -0.936265647f, -0.935725689f,
-0.935183525f, -0.934639156f, -0.934092522f, -0.933543801f,
-0.932992816f, -0.932439625f, -0.931884289f, -0.931326687f,
-0.930766940f, -0.930205047f, -0.929640889f, -0.929074585f,
-0.928506076f, -0.927935421f, -0.927362502f, -0.926787496f,
-0.926210225f, -0.925630808f, -0.925049245f, -0.924465477f,
-0.923879504f, -0.923291445f, -0.922701120f, -0.922108650f,
-0.921514034f, -0.920917213f, -0.920318305f, -0.919717133f,
-0.919113874f, -0.918508410f, -0.917900801f, -0.917290986f,
-0.916679084f, -0.916064978f, -0.915448725f, -0.914830327f,
-0.914209783f, -0.913587034f, -0.912962198f, -0.912335157f,
-0.911706030f, -0.911074758f, -0.910441279f, -0.909805715f,
-0.909168005f, -0.908528090f, -0.907886088f, -0.907242000f,
-0.906595707f, -0.905947268f, -0.905296743f, -0.904644072f,
-0.903989315f, -0.903332353f, -0.902673304f, -0.902012169f,
-0.901348829f, -0.900683403f, -0.900015891f, -0.899346232f,
-0.898674488f, -0.898000598f, -0.897324562f, -0.896646500f,
-0.895966232f, -0.895283937f, -0.894599497f, -0.893912971f,
-0.893224299f, -0.892533541f, -0.891840696f, -0.891145766f,
-0.890448749f, -0.889749587f, -0.889048338f, -0.888345063f,
-0.887639642f, -0.886932135f, -0.886222541f, -0.885510862f,
-0.884797096f, -0.884081244f, -0.883363366f, -0.882643342f,
-0.881921291f, -0.881197095f, -0.880470872f, -0.879742622f,
-0.879012227f, -0.878279805f, -0.877545297f, -0.876808703f,
-0.876070082f, -0.875329375f, -0.874586642f, -0.873841822f,
-0.873094976f, -0.872346044f, -0.871595085f, -0.870842040f,
-0.870086968f, -0.869329870f, -0.868570685f, -0.867809474f,
-0.867046237f, -0.866280973f, -0.865513623f, -0.864744246f,
-0.863972843f, -0.863199413f, -0.862423956f, -0.861646473f,
-0.860866964f, -0.860085368f, -0.859301805f, -0.858516216f,
-0.857728601f, -0.856938958f, -0.856147349f, -0.855353653f,
-0.854557991f, -0.853760302f, -0.852960587f, -0.852158904f,
-0.851355195f, -0.850549459f, -0.849741757f, -0.848932028f,
-0.848120332f, -0.847306609f, -0.846490920f, -0.845673263f,
-0.844853580f, -0.844031870f, -0.843208253f, -0.842382610f,
-0.841554999f, -0.840725362f, -0.839893818f, -0.839060247f,
-0.838224709f, -0.837387204f, -0.836547732f, -0.835706294f,
-0.834862888f, -0.834017515f, -0.833170176f, -0.832320869f,
-0.831469595f, -0.830616415f, -0.829761207f, -0.828904092f,
-0.828045070f, -0.827184021f, -0.826321065f, -0.825456142f,
-0.824589312f, -0.823720515f, -0.822849810f, -0.821977139f,
-0.821102500f, -0.820225954f, -0.819347501f, -0.818467140f,
-0.817584813f, -0.816700578f, -0.815814435f, -0.814926326f,
-0.814036310f, -0.813144386f, -0.812250614f, -0.811354876f,
-0.810457170f, -0.809557617f, -0.808656156f, -0.807752848f,
-0.806847572f, -0.805940390f, -0.805031359f, -0.804120362f,
-0.803207517f, -0.802292824f, -0.801376164f, -0.800457656f,
-0.799537241f, -0.798614979f, -0.797690868f, -0.796764791f,
-0.795836926f, -0.794907153f, -0.793975472f, -0.793041945f,
-0.792106569f, -0.791169345f, -0.790230215f, -0.789289236f,
-0.788346410f, -0.787401736f, -0.786455214f, -0.785506845f,
-0.784556568f, -0.783604503f, -0.782650590f, -0.781694829f,
-0.780737221f, -0.779777765f, -0.778816521f, -0.777853429f,
-0.776888490f, -0.775921702f, -0.774953127f, -0.773982704f,
-0.773010433f, -0.772036374f, -0.771060526f, -0.770082831f,
-0.769103348f, -0.768122017f, -0.767138898f, -0.766153991f,
-0.765167236f, -0.764178753f, -0.763188422f, -0.762196302f,
-0.761202395f, -0.760206699f, -0.759209216f, -0.758209884f,
-0.757208824f, -0.756205976f, -0.755201399f, -0.754194975f,
-0.753186822f, -0.752176821f, -0.751165152f, -0.750151634f,
-0.749136388f, -0.748119354f, -0.747100592f, -0.746080101f,
-0.745057762f, -0.744033754f, -0.743007958f, -0.741980433f,
-0.740951121f, -0.739920080f, -0.738887310f, -0.737852812f,
-0.736816585f, -0.735778570f, -0.734738886f, -0.733697414f,
-0.732654274f, -0.731609404f, -0.730562747f, -0.729514420f,
-0.728464365f, -0.727412641f, -0.726359129f, -0.725303948f,
-0.724247098f, -0.723188460f, -0.722128212f, -0.721066177f,
-0.720002532f, -0.718937099f, -0.717870057f, -0.716801286f,
-0.715730846f, -0.714658678f, -0.713584840f, -0.712509394f,
-0.711432219f, -0.710353374f, -0.709272802f, -0.708190620f,
-0.707106769f, -0.706021249f, -0.704934061f, -0.703845263f,
-0.702754736f, -0.701662600f, -0.700568795f, -0.699473321f,
-0.698376238f, -0.697277486f, -0.696177125f, -0.695075095f,
-0.693971455f, -0.692866147f, -0.691759229f, -0.690650702f,
-0.689540565f, -0.688428760f, -0.687315345f, -0.686200321f,
-0.685083687f, -0.683965385f, -0.682845533f, -0.681724072f,
-0.680601001f, -0.679476321f, -0.678350031f, -0.677222192f,
-0.676092684f, -0.674961627f, -0.673829019f, -0.672694743f,
-0.671558976f, -0.670421541f, -0.669282615f, -0.668142021f,
-0.666999936f, -0.665856242f, -0.664710999f, -0.663564146f,
-0.662415802f, -0.661265850f, -0.660114348f, -0.658961296f,
-0.657806695f, -0.656650543f, -0.655492842f, -0.654333591f,
-0.653172851f, -0.652010560f, -0.650846660f, -0.649681330f,
-0.648514390f, -0.647345960f, -0.646176040f, -0.645004511f,
-0.643831551f, -0.642657042f, -0.641481042f, -0.640303493f,
-0.639124453f, -0.637943923f, -0.636761844f, -0.635578334f,
-0.634393275f, -0.633206785f, -0.632018745f, -0.630829215f,
-0.629638255f, -0.628445745f, -0.627251804f, -0.626056373f,
-0.624859512f, -0.623661101f, -0.622461259f, -0.621259987f,
-0.620057225f, -0.618852973f, -0.617647290f, -0.616440177f,
-0.615231574f, -0.614021540f, -0.612810075f, -0.611597180f,
-0.610382795f, -0.609167039f, -0.607949793f, -0.606731117f,
-0.605511069f, -0.604289532f, -0.603066623f, -0.601842225f,
-0.600616455f, -0.599389315f, -0.598160684f, -0.596930683f,
-0.595699310f, -0.594466507f, -0.593232274f, -0.591996670f,
-0.590759695f, -0.589521289f, -0.588281572f, -0.587040365f,
-0.585797846f, -0.584553957f, -0.583308637f, -0.582062006f,
-0.580813944f, -0.579564571f, -0.578313768f, -0.577061653f,
-0.575808167f, -0.574553370f, -0.573297143f, -0.572039604f,
-0.570780754f, -0.569520533f, -0.568258941f, -0.566996038f,
-0.565731823f, -0.564466238f, -0.563199341f, -0.561931133f,
-0.560661554f, -0.559390724f, -0.558118522f, -0.556845009f,
-0.555570245f, -0.554294109f, -0.553016722f, -0.551737964f,
-0.550457954f, -0.549176633f, -0.547894061f, -0.546610177f,
-0.545324981f, -0.544038534f, -0.542750776f, -0.541461766f,
-0.540171444f, -0.538879931f, -0.537587047f, -0.536292970f,
-0.534997642f, -0.533701003f, -0.532403111f, -0.531104028f,
-0.529803634f, -0.528501987f, -0.527199149f, -0.525895000f,
-0.524589658f, -0.523283124f, -0.521975279f, -0.520666242f,
-0.519356012f, -0.518044531f, -0.516731799f, -0.515417874f,
-0.514102757f, -0.512786388f, -0.511468828f, -0.510150075f,
-0.508830130f, -0.507508993f, -0.506186664f, -0.504863083f,
-0.503538370f, -0.502212465f, -0.500885367f, -0.499557108f,
-0.498227656f, -0.496897042f, -0.495565265f, -0.494232297f,
-0.492898196f, -0.491562903f, -0.490226477f, -0.488888890f,
-0.487550169f, -0.486210287f, -0.484869242f, -0.483527064f,
-0.482183784f, -0.480839342f, -0.479493767f, -0.478147060f,
-0.476799220f, -0.475450277f, -0.474100202f, -0.472749025f,
-0.471396744f, -0.470043331f, -0.468688816f, -0.467333198f,
-0.465976506f, -0.464618683f, -0.463259786f, -0.461899787f,
-0.460538715f, -0.459176540f, -0.457813293f, -0.456448972f,
-0.455083579f, -0.453717113f, -0.452349573f, -0.450980991f,
-0.449611336f, -0.448240608f, -0.446868837f, -0.445496023f,
-0.444122136f, -0.442747235f, -0.441371262f, -0.439994276f,
-0.438616246f, -0.437237173f, -0.435857087f, -0.434475958f,
-0.433093816f, -0.431710660f, -0.430326492f, -0.428941280f,
-0.427555084f, -0.426167876f, -0.424779683f, -0.423390478f,
-0.422000259f, -0.420609087f, -0.419216901f, -0.417823702f,
-0.416429549f, -0.415034413f, -0.413638324f, -0.412241220f,
-0.410843164f, -0.409444153f, -0.408044159f, -0.406643212f,
-0.405241311f, -0.403838456f, -0.402434647f, -0.401029885f,
-0.399624199f, -0.398217559f, -0.396809995f, -0.395401478f,
-0.393992037f, -0.392581671f, -0.391170382f, -0.389758170f,
-0.388345033f, -0.386931002f, -0.385516047f, -0.384100199f,
-0.382683426f, -0.381265759f, -0.379847199f, -0.378427744f,
-0.377007425f, -0.375586182f, -0.374164075f, -0.372741073f,
-0.371317208f, -0.369892448f, -0.368466824f, -0.367040336f,
-0.365612984f, -0.364184797f, -0.362755716f, -0.361325800f,
-0.359895051f, -0.358463407f, -0.357030958f, -0.355597675f,
-0.354163527f, -0.352728546f, -0.351292759f, -0.349856138f,
-0.348418683f, -0.346980423f, -0.345541328f, -0.344101429f,
-0.342660725f, -0.341219217f, -0.339776874f, -0.338333756f,
-0.336889863f, -0.335445136f, -0.333999664f, -0.332553357f,
-0.331106305f, -0.329658449f, -0.328209847f, -0.326760441f,
-0.325310290f, -0.323859364f, -0.322407693f, -0.320955247f,
-0.319502026f, -0.318048090f, -0.316593379f, -0.315137923f,
-0.313681751f, -0.312224805f, -0.310767144f, -0.309308767f,
-0.307849646f, -0.306389809f, -0.304929227f, -0.303467959f,
-0.302005947f, -0.300543249f, -0.299079835f, -0.297615707f,
-0.296150893f, -0.294685364f, -0.293219149f, -0.291752249f,
-0.290284663f, -0.288816422f, -0.287347466f, -0.285877824f,
-0.284407526f, -0.282936573f, -0.281464934f, -0.279992640f,
-0.278519690f, -0.277046084f, -0.275571823f, -0.274096906f,
-0.272621363f, -0.271145165f, -0.269668311f, -0.268190861f,
-0.266712755f, -0.265234023f, -0.263754666f, -0.262274712f,
-0.260794103f, -0.259312928f, -0.257831097f, -0.256348670f,
-0.254865646f, -0.253382027f, -0.251897812f, -0.250413001f,
-0.248927608f, -0.247441620f, -0.245955050f, -0.244467899f,
-0.242980182f, -0.241491884f, -0.240003020f, -0.238513589f,
-0.237023607f, -0.235533059f, -0.234041959f, -0.232550308f,
-0.231058106f, -0.229565367f, -0.228072077f, -0.226578265f,
-0.225083917f, -0.223589033f, -0.222093627f, -0.220597684f,
-0.219101235f, -0.217604280f, -0.216106802f, -0.214608818f,
-0.213110313f, -0.211611331f, -0.210111842f, -0.208611846f,
-0.207111374f, -0.205610409f, -0.204108968f, -0.202607036f,
-0.201104641f, -0.199601755f, -0.198098406f, -0.196594596f,
-0.195090324f, -0.193585590f, -0.192080393f, -0.190574750f,
-0.189068660f, -0.187562123f, -0.186055154f, -0.184547737f,
-0.183039889f, -0.181531608f, -0.180022895f, -0.178513765f,
-0.177004218f, -0.175494254f, -0.173983872f, -0.172473088f,
-0.170961887f, -0.169450298f, -0.167938292f, -0.166425899f,
-0.164913118f, -0.163399950f, -0.161886394f, -0.160372451f,
-0.158858150f, -0.157343462f, -0.155828401f, -0.154312968f,
-0.152797192f, -0.151281044f, -0.149764538f, -0.148247674f,
-0.146730468f, -0.145212919f, -0.143695027f, -0.142176807f,
-0.140658244f, -0.139139339f, -0.137620121f, -0.136100575f,
-0.134580702f, -0.133060530f, -0.131540030f, -0.130019218f,
-0.128498107f, -0.126976699f, -0.125454977f, -0.123932973f,
-0.122410677f, -0.120888084f, -0.119365215f, -0.117842063f,
-0.116318628f, -0.114794925f, -0.113270953f, -0.111746714f,
-0.110222206f, -0.108697444f, -0.107172422f, -0.105647154f,
-0.104121633f, -0.102595866f, -0.101069860f, -0.099543616f,
-0.098017141f, -0.096490428f, -0.094963498f, -0.093436338f,
-0.091908954f, -0.090381362f, -0.088853553f, -0.087325536f,
-0.085797310f, -0.084268890f, -0.082740262f, -0.081211448f,
-0.079682440f, -0.078153245f, -0.076623864f, -0.075094298f,
-0.073564567f, -0.072034650f, -0.070504576f, -0.068974331f,
-0.067443922f, -0.065913349f, -0.064382628f, -0.062851757f,
-0.061320737f, -0.059789572f, -0.058258265f, -0.056726821f,
-0.055195246f, -0.053663537f, -0.052131705f, -0.050599750f,
-0.049067676f, -0.047535483f, -0.046003181f, -0.044470772f,
-0.042938258f, -0.041405641f, -0.039872926f, -0.038340122f,
-0.036807224f, -0.035274237f, -0.033741172f, -0.032208025f,
-0.030674804f, -0.029141508f, -0.027608145f, -0.026074719f,
-0.024541229f, -0.023007682f, -0.021474080f, -0.019940428f,
-0.018406730f, -0.016872987f, -0.015339206f, -0.0138053885f,
-0.012271538f, -0.010737659f, -0.009203754f, -0.007669829f,
-0.0061358847f,-0.004601926f, -0.0030679568f,-0.0015339801f,
// sine
0.000000000f, 0.0015339801f,0.0030679568f,0.004601926f,
0.0061358847f,0.007669829f, 0.009203754f, 0.010737659f,
0.012271538f, 0.0138053885f,0.015339206f, 0.016872987f,
0.018406730f, 0.019940428f, 0.021474080f, 0.023007682f,
0.024541229f, 0.026074719f, 0.027608145f, 0.029141508f,
0.030674804f, 0.032208025f, 0.033741172f, 0.035274237f,
0.036807224f, 0.038340122f, 0.039872926f, 0.041405641f,
0.042938258f, 0.044470772f, 0.046003181f, 0.047535483f,
0.049067676f, 0.050599750f, 0.052131705f, 0.053663537f,
0.055195246f, 0.056726821f, 0.058258265f, 0.059789572f,
0.061320737f, 0.062851757f, 0.064382628f, 0.065913349f,
0.067443922f, 0.068974331f, 0.070504576f, 0.072034650f,
0.073564567f, 0.075094298f, 0.076623864f, 0.078153245f,
0.079682440f, 0.081211448f, 0.082740262f, 0.084268890f,
0.085797310f, 0.087325536f, 0.088853553f, 0.090381362f,
0.091908954f, 0.093436338f, 0.094963498f, 0.096490428f,
0.098017141f, 0.099543616f, 0.101069860f, 0.102595866f,
0.104121633f, 0.105647154f, 0.107172422f, 0.108697444f,
0.110222206f, 0.111746714f, 0.113270953f, 0.114794925f,
0.116318628f, 0.117842063f, 0.119365215f, 0.120888084f,
0.122410677f, 0.123932973f, 0.125454977f, 0.126976699f,
0.128498107f, 0.130019218f, 0.131540030f, 0.133060530f,
0.134580702f, 0.136100575f, 0.137620121f, 0.139139339f,
0.140658244f, 0.142176807f, 0.143695027f, 0.145212919f,
0.146730468f, 0.148247674f, 0.149764538f, 0.151281044f,
0.152797192f, 0.154312968f, 0.155828401f, 0.157343462f,
0.158858150f, 0.160372451f, 0.161886394f, 0.163399950f,
0.164913118f, 0.166425899f, 0.167938292f, 0.169450298f,
0.170961887f, 0.172473088f, 0.173983872f, 0.175494254f,
0.177004218f, 0.178513765f, 0.180022895f, 0.181531608f,
0.183039889f, 0.184547737f, 0.186055154f, 0.187562123f,
0.189068660f, 0.190574750f, 0.192080393f, 0.193585590f,
0.195090324f, 0.196594596f, 0.198098406f, 0.199601755f,
0.201104641f, 0.202607036f, 0.204108968f, 0.205610409f,
0.207111374f, 0.208611846f, 0.210111842f, 0.211611331f,
0.213110313f, 0.214608818f, 0.216106802f, 0.217604280f,
0.219101235f, 0.220597684f, 0.222093627f, 0.223589033f,
0.225083917f, 0.226578265f, 0.228072077f, 0.229565367f,
0.231058106f, 0.232550308f, 0.234041959f, 0.235533059f,
0.237023607f, 0.238513589f, 0.240003020f, 0.241491884f,
0.242980182f, 0.244467899f, 0.245955050f, 0.247441620f,
0.248927608f, 0.250413001f, 0.251897812f, 0.253382027f,
0.254865646f, 0.256348670f, 0.257831097f, 0.259312928f,
0.260794103f, 0.262274712f, 0.263754666f, 0.265234023f,
0.266712755f, 0.268190861f, 0.269668311f, 0.271145165f,
0.272621363f, 0.274096906f, 0.275571823f, 0.277046084f,
0.278519690f, 0.279992640f, 0.281464934f, 0.282936573f,
0.284407526f, 0.285877824f, 0.287347466f, 0.288816422f,
0.290284663f, 0.291752249f, 0.293219149f, 0.294685364f,
0.296150893f, 0.297615707f, 0.299079835f, 0.300543249f,
0.302005947f, 0.303467959f, 0.304929227f, 0.306389809f,
0.307849646f, 0.309308767f, 0.310767144f, 0.312224805f,
0.313681751f, 0.315137923f, 0.316593379f, 0.318048090f,
0.319502026f, 0.320955247f, 0.322407693f, 0.323859364f,
0.325310290f, 0.326760441f, 0.328209847f, 0.329658449f,
0.331106305f, 0.332553357f, 0.333999664f, 0.335445136f,
0.336889863f, 0.338333756f, 0.339776874f, 0.341219217f,
0.342660725f, 0.344101429f, 0.345541328f, 0.346980423f,
0.348418683f, 0.349856138f, 0.351292759f, 0.352728546f,
0.354163527f, 0.355597675f, 0.357030958f, 0.358463407f,
0.359895051f, 0.361325800f, 0.362755716f, 0.364184797f,
0.365612984f, 0.367040336f, 0.368466824f, 0.369892448f,
0.371317208f, 0.372741073f, 0.374164075f, 0.375586182f,
0.377007425f, 0.378427744f, 0.379847199f, 0.381265759f,
0.382683426f, 0.384100199f, 0.385516047f, 0.386931002f,
0.388345033f, 0.389758170f, 0.391170382f, 0.392581671f,
0.393992037f, 0.395401478f, 0.396809995f, 0.398217559f,
0.399624199f, 0.401029885f, 0.402434647f, 0.403838456f,
0.405241311f, 0.406643212f, 0.408044159f, 0.409444153f,
0.410843164f, 0.412241220f, 0.413638324f, 0.415034413f,
0.416429549f, 0.417823702f, 0.419216901f, 0.420609087f,
0.422000259f, 0.423390478f, 0.424779683f, 0.426167876f,
0.427555084f, 0.428941280f, 0.430326492f, 0.431710660f,
0.433093816f, 0.434475958f, 0.435857087f, 0.437237173f,
0.438616246f, 0.439994276f, 0.441371262f, 0.442747235f,
0.444122136f, 0.445496023f, 0.446868837f, 0.448240608f,
0.449611336f, 0.450980991f, 0.452349573f, 0.453717113f,
0.455083579f, 0.456448972f, 0.457813293f, 0.459176540f,
0.460538715f, 0.461899787f, 0.463259786f, 0.464618683f,
0.465976506f, 0.467333198f, 0.468688816f, 0.470043331f,
0.471396744f, 0.472749025f, 0.474100202f, 0.475450277f,
0.476799220f, 0.478147060f, 0.479493767f, 0.480839342f,
0.482183784f, 0.483527064f, 0.484869242f, 0.486210287f,
0.487550169f, 0.488888890f, 0.490226477f, 0.491562903f,
0.492898196f, 0.494232297f, 0.495565265f, 0.496897042f,
0.498227656f, 0.499557108f, 0.500885367f, 0.502212465f,
0.503538370f, 0.504863083f, 0.506186664f, 0.507508993f,
0.508830130f, 0.510150075f, 0.511468828f, 0.512786388f,
0.514102757f, 0.515417874f, 0.516731799f, 0.518044531f,
0.519356012f, 0.520666242f, 0.521975279f, 0.523283124f,
0.524589658f, 0.525895000f, 0.527199149f, 0.528501987f,
0.529803634f, 0.531104028f, 0.532403111f, 0.533701003f,
0.534997642f, 0.536292970f, 0.537587047f, 0.538879931f,
0.540171444f, 0.541461766f, 0.542750776f, 0.544038534f,
0.545324981f, 0.546610177f, 0.547894061f, 0.549176633f,
0.550457954f, 0.551737964f, 0.553016722f, 0.554294109f,
0.555570245f, 0.556845009f, 0.558118522f, 0.559390724f,
0.560661554f, 0.561931133f, 0.563199341f, 0.564466238f,
0.565731823f, 0.566996038f, 0.568258941f, 0.569520533f,
0.570780754f, 0.572039604f, 0.573297143f, 0.574553370f,
0.575808167f, 0.577061653f, 0.578313768f, 0.579564571f,
0.580813944f, 0.582062006f, 0.583308637f, 0.584553957f,
0.585797846f, 0.587040365f, 0.588281572f, 0.589521289f,
0.590759695f, 0.591996670f, 0.593232274f, 0.594466507f,
0.595699310f, 0.596930683f, 0.598160684f, 0.599389315f,
0.600616455f, 0.601842225f, 0.603066623f, 0.604289532f,
0.605511069f, 0.606731117f, 0.607949793f, 0.609167039f,
0.610382795f, 0.611597180f, 0.612810075f, 0.614021540f,
0.615231574f, 0.616440177f, 0.617647290f, 0.618852973f,
0.620057225f, 0.621259987f, 0.622461259f, 0.623661101f,
0.624859512f, 0.626056373f, 0.627251804f, 0.628445745f,
0.629638255f, 0.630829215f, 0.632018745f, 0.633206785f,
0.634393275f, 0.635578334f, 0.636761844f, 0.637943923f,
0.639124453f, 0.640303493f, 0.641481042f, 0.642657042f,
0.643831551f, 0.645004511f, 0.646176040f, 0.647345960f,
0.648514390f, 0.649681330f, 0.650846660f, 0.652010560f,
0.653172851f, 0.654333591f, 0.655492842f, 0.656650543f,
0.657806695f, 0.658961296f, 0.660114348f, 0.661265850f,
0.662415802f, 0.663564146f, 0.664710999f, 0.665856242f,
0.666999936f, 0.668142021f, 0.669282615f, 0.670421541f,
0.671558976f, 0.672694743f, 0.673829019f, 0.674961627f,
0.676092684f, 0.677222192f, 0.678350031f, 0.679476321f,
0.680601001f, 0.681724072f, 0.682845533f, 0.683965385f,
0.685083687f, 0.686200321f, 0.687315345f, 0.688428760f,
0.689540565f, 0.690650702f, 0.691759229f, 0.692866147f,
0.693971455f, 0.695075095f, 0.696177125f, 0.697277486f,
0.698376238f, 0.699473321f, 0.700568795f, 0.701662600f,
0.702754736f, 0.703845263f, 0.704934061f, 0.706021249f,
0.707106769f, 0.708190620f, 0.709272802f, 0.710353374f,
0.711432219f, 0.712509394f, 0.713584840f, 0.714658678f,
0.715730846f, 0.716801286f, 0.717870057f, 0.718937099f,
0.720002532f, 0.721066177f, 0.722128212f, 0.723188460f,
0.724247098f, 0.725303948f, 0.726359129f, 0.727412641f,
0.728464365f, 0.729514420f, 0.730562747f, 0.731609404f,
0.732654274f, 0.733697414f, 0.734738886f, 0.735778570f,
0.736816585f, 0.737852812f, 0.738887310f, 0.739920080f,
0.740951121f, 0.741980433f, 0.743007958f, 0.744033754f,
0.745057762f, 0.746080101f, 0.747100592f, 0.748119354f,
0.749136388f, 0.750151634f, 0.751165152f, 0.752176821f,
0.753186822f, 0.754194975f, 0.755201399f, 0.756205976f,
0.757208824f, 0.758209884f, 0.759209216f, 0.760206699f,
0.761202395f, 0.762196302f, 0.763188422f, 0.764178753f,
0.765167236f, 0.766153991f, 0.767138898f, 0.768122017f,
0.769103348f, 0.770082831f, 0.771060526f, 0.772036374f,
0.773010433f, 0.773982704f, 0.774953127f, 0.775921702f,
0.776888490f, 0.777853429f, 0.778816521f, 0.779777765f,
0.780737221f, 0.781694829f, 0.782650590f, 0.783604503f,
0.784556568f, 0.785506845f, 0.786455214f, 0.787401736f,
0.788346410f, 0.789289236f, 0.790230215f, 0.791169345f,
0.792106569f, 0.793041945f, 0.793975472f, 0.794907153f,
0.795836926f, 0.796764791f, 0.797690868f, 0.798614979f,
0.799537241f, 0.800457656f, 0.801376164f, 0.802292824f,
0.803207517f, 0.804120362f, 0.805031359f, 0.805940390f,
0.806847572f, 0.807752848f, 0.808656156f, 0.809557617f,
0.810457170f, 0.811354876f, 0.812250614f, 0.813144386f,
0.814036310f, 0.814926326f, 0.815814435f, 0.816700578f,
0.817584813f, 0.818467140f, 0.819347501f, 0.820225954f,
0.821102500f, 0.821977139f, 0.822849810f, 0.823720515f,
0.824589312f, 0.825456142f, 0.826321065f, 0.827184021f,
0.828045070f, 0.828904092f, 0.829761207f, 0.830616415f,
0.831469595f, 0.832320869f, 0.833170176f, 0.834017515f,
0.834862888f, 0.835706294f, 0.836547732f, 0.837387204f,
0.838224709f, 0.839060247f, 0.839893818f, 0.840725362f,
0.841554999f, 0.842382610f, 0.843208253f, 0.844031870f,
0.844853580f, 0.845673263f, 0.846490920f, 0.847306609f,
0.848120332f, 0.848932028f, 0.849741757f, 0.850549459f,
0.851355195f, 0.852158904f, 0.852960587f, 0.853760302f,
0.854557991f, 0.855353653f, 0.856147349f, 0.856938958f,
0.857728601f, 0.858516216f, 0.859301805f, 0.860085368f,
0.860866964f, 0.861646473f, 0.862423956f, 0.863199413f,
0.863972843f, 0.864744246f, 0.865513623f, 0.866280973f,
0.867046237f, 0.867809474f, 0.868570685f, 0.869329870f,
0.870086968f, 0.870842040f, 0.871595085f, 0.872346044f,
0.873094976f, 0.873841822f, 0.874586642f, 0.875329375f,
0.876070082f, 0.876808703f, 0.877545297f, 0.878279805f,
0.879012227f, 0.879742622f, 0.880470872f, 0.881197095f,
0.881921291f, 0.882643342f, 0.883363366f, 0.884081244f,
0.884797096f, 0.885510862f, 0.886222541f, 0.886932135f,
0.887639642f, 0.888345063f, 0.889048338f, 0.889749587f,
0.890448749f, 0.891145766f, 0.891840696f, 0.892533541f,
0.893224299f, 0.893912971f, 0.894599497f, 0.895283937f,
0.895966232f, 0.896646500f, 0.897324562f, 0.898000598f,
0.898674488f, 0.899346232f, 0.900015891f, 0.900683403f,
0.901348829f, 0.902012169f, 0.902673304f, 0.903332353f,
0.903989315f, 0.904644072f, 0.905296743f, 0.905947268f,
0.906595707f, 0.907242000f, 0.907886088f, 0.908528090f,
0.909168005f, 0.909805715f, 0.910441279f, 0.911074758f,
0.911706030f, 0.912335157f, 0.912962198f, 0.913587034f,
0.914209783f, 0.914830327f, 0.915448725f, 0.916064978f,
0.916679084f, 0.917290986f, 0.917900801f, 0.918508410f,
0.919113874f, 0.919717133f, 0.920318305f, 0.920917213f,
0.921514034f, 0.922108650f, 0.922701120f, 0.923291445f,
0.923879504f, 0.924465477f, 0.925049245f, 0.925630808f,
0.926210225f, 0.926787496f, 0.927362502f, 0.927935421f,
0.928506076f, 0.929074585f, 0.929640889f, 0.930205047f,
0.930766940f, 0.931326687f, 0.931884289f, 0.932439625f,
0.932992816f, 0.933543801f, 0.934092522f, 0.934639156f,
0.935183525f, 0.935725689f, 0.936265647f, 0.936803460f,
0.937339008f, 0.937872350f, 0.938403547f, 0.938932478f,
0.939459205f, 0.939983726f, 0.940506041f, 0.941026151f,
0.941544056f, 0.942059755f, 0.942573190f, 0.943084419f,
0.943593442f, 0.944100261f, 0.944604814f, 0.945107222f,
0.945607305f, 0.946105242f, 0.946600914f, 0.947094381f,
0.947585583f, 0.948074579f, 0.948561370f, 0.949045897f,
0.949528158f, 0.950008273f, 0.950486064f, 0.950961649f,
0.951435030f, 0.951906145f, 0.952374995f, 0.952841640f,
0.953306019f, 0.953768194f, 0.954228103f, 0.954685748f,
0.955141187f, 0.955594361f, 0.956045270f, 0.956493914f,
0.956940353f, 0.957384527f, 0.957826436f, 0.958266079f,
0.958703458f, 0.959138632f, 0.959571540f, 0.960002124f,
0.960430503f, 0.960856616f, 0.961280465f, 0.961702049f,
0.962121427f, 0.962538481f, 0.962953269f, 0.963365793f,
0.963776052f, 0.964184046f, 0.964589775f, 0.964993238f,
0.965394437f, 0.965793371f, 0.966189981f, 0.966584384f,
0.966976464f, 0.967366278f, 0.967753828f, 0.968139112f,
0.968522072f, 0.968902826f, 0.969281256f, 0.969657362f,
0.970031261f, 0.970402837f, 0.970772147f, 0.971139133f,
0.971503913f, 0.971866310f, 0.972226501f, 0.972584367f,
0.972939968f, 0.973293245f, 0.973644257f, 0.973992944f,
0.974339366f, 0.974683523f, 0.975025356f, 0.975364864f,
0.975702107f, 0.976037085f, 0.976369739f, 0.976700068f,
0.977028131f, 0.977353871f, 0.977677345f, 0.977998495f,
0.978317380f, 0.978633940f, 0.978948176f, 0.979260147f,
0.979569793f, 0.979877114f, 0.980182111f, 0.980484843f,
0.980785251f, 0.981083393f, 0.981379211f, 0.981672704f,
0.981963873f, 0.982252717f, 0.982539296f, 0.982823551f,
0.983105481f, 0.983385086f, 0.983662426f, 0.983937442f,
0.984210074f, 0.984480441f, 0.984748483f, 0.985014260f,
0.985277653f, 0.985538721f, 0.985797524f, 0.986053944f,
0.986308098f, 0.986559927f, 0.986809373f, 0.987056553f,
0.987301409f, 0.987543941f, 0.987784147f, 0.988022029f,
0.988257587f, 0.988490820f, 0.988721669f, 0.988950253f,
0.989176512f, 0.989400446f, 0.989621997f, 0.989841282f,
0.990058184f, 0.990272820f, 0.990485072f, 0.990695000f,
0.990902662f, 0.991107941f, 0.991310835f, 0.991511464f,
0.991709769f, 0.991905689f, 0.992099285f, 0.992290616f,
0.992479563f, 0.992666125f, 0.992850423f, 0.993032336f,
0.993211925f, 0.993389189f, 0.993564129f, 0.993736744f,
0.993906975f, 0.994074881f, 0.994240463f, 0.994403660f,
0.994564593f, 0.994723141f, 0.994879305f, 0.995033205f,
0.995184720f, 0.995333910f, 0.995480776f, 0.995625257f,
0.995767415f, 0.995907247f, 0.996044695f, 0.996179819f,
0.996312618f, 0.996443033f, 0.996571124f, 0.996696889f,
0.996820271f, 0.996941328f, 0.997060061f, 0.997176409f,
0.997290432f, 0.997402132f, 0.997511446f, 0.997618437f,
0.997723043f, 0.997825325f, 0.997925282f, 0.998022854f,
0.998118103f, 0.998211026f, 0.998301566f, 0.998389721f,
0.998475552f, 0.998559058f, 0.998640239f, 0.998719037f,
0.998795450f, 0.998869538f, 0.998941302f, 0.999010682f,
0.999077737f, 0.999142408f, 0.999204755f, 0.999264777f,
0.999322355f, 0.999377668f, 0.999430597f, 0.999481201f,
0.999529421f, 0.999575317f, 0.999618828f, 0.999660015f,
0.999698818f, 0.999735296f, 0.999769390f, 0.999801159f,
0.999830604f, 0.999857664f, 0.999882340f, 0.999904692f,
0.999924719f, 0.999942362f, 0.999957621f, 0.999970615f,
0.999981165f, 0.999989390f, 0.999995291f, 0.999998808f,
};
s16 gArctanTable[0x401] = {
0x0000, 0x000A, 0x0014, 0x001F, 0x0029, 0x0033, 0x003D, 0x0047,
0x0051, 0x005C, 0x0066, 0x0070, 0x007A, 0x0084, 0x008F, 0x0099,
0x00A3, 0x00AD, 0x00B7, 0x00C2, 0x00CC, 0x00D6, 0x00E0, 0x00EA,
0x00F4, 0x00FF, 0x0109, 0x0113, 0x011D, 0x0127, 0x0131, 0x013C,
0x0146, 0x0150, 0x015A, 0x0164, 0x016F, 0x0179, 0x0183, 0x018D,
0x0197, 0x01A1, 0x01AC, 0x01B6, 0x01C0, 0x01CA, 0x01D4, 0x01DE,
0x01E9, 0x01F3, 0x01FD, 0x0207, 0x0211, 0x021B, 0x0226, 0x0230,
0x023A, 0x0244, 0x024E, 0x0258, 0x0262, 0x026D, 0x0277, 0x0281,
0x028B, 0x0295, 0x029F, 0x02A9, 0x02B4, 0x02BE, 0x02C8, 0x02D2,
0x02DC, 0x02E6, 0x02F0, 0x02FB, 0x0305, 0x030F, 0x0319, 0x0323,
0x032D, 0x0337, 0x0341, 0x034C, 0x0356, 0x0360, 0x036A, 0x0374,
0x037E, 0x0388, 0x0392, 0x039C, 0x03A7, 0x03B1, 0x03BB, 0x03C5,
0x03CF, 0x03D9, 0x03E3, 0x03ED, 0x03F7, 0x0401, 0x040C, 0x0416,
0x0420, 0x042A, 0x0434, 0x043E, 0x0448, 0x0452, 0x045C, 0x0466,
0x0470, 0x047A, 0x0484, 0x048E, 0x0499, 0x04A3, 0x04AD, 0x04B7,
0x04C1, 0x04CB, 0x04D5, 0x04DF, 0x04E9, 0x04F3, 0x04FD, 0x0507,
0x0511, 0x051B, 0x0525, 0x052F, 0x0539, 0x0543, 0x054D, 0x0557,
0x0561, 0x056B, 0x0575, 0x057F, 0x0589, 0x0593, 0x059D, 0x05A7,
0x05B1, 0x05BB, 0x05C5, 0x05CF, 0x05D9, 0x05E3, 0x05ED, 0x05F7,
0x0601, 0x060B, 0x0615, 0x061F, 0x0629, 0x0633, 0x063D, 0x0647,
0x0651, 0x065B, 0x0665, 0x066E, 0x0678, 0x0682, 0x068C, 0x0696,
0x06A0, 0x06AA, 0x06B4, 0x06BE, 0x06C8, 0x06D2, 0x06DC, 0x06E5,
0x06EF, 0x06F9, 0x0703, 0x070D, 0x0717, 0x0721, 0x072B, 0x0735,
0x073E, 0x0748, 0x0752, 0x075C, 0x0766, 0x0770, 0x077A, 0x0783,
0x078D, 0x0797, 0x07A1, 0x07AB, 0x07B5, 0x07BE, 0x07C8, 0x07D2,
0x07DC, 0x07E6, 0x07EF, 0x07F9, 0x0803, 0x080D, 0x0817, 0x0820,
0x082A, 0x0834, 0x083E, 0x0848, 0x0851, 0x085B, 0x0865, 0x086F,
0x0878, 0x0882, 0x088C, 0x0896, 0x089F, 0x08A9, 0x08B3, 0x08BD,
0x08C6, 0x08D0, 0x08DA, 0x08E3, 0x08ED, 0x08F7, 0x0901, 0x090A,
0x0914, 0x091E, 0x0927, 0x0931, 0x093B, 0x0944, 0x094E, 0x0958,
0x0961, 0x096B, 0x0975, 0x097E, 0x0988, 0x0992, 0x099B, 0x09A5,
0x09AE, 0x09B8, 0x09C2, 0x09CB, 0x09D5, 0x09DE, 0x09E8, 0x09F2,
0x09FB, 0x0A05, 0x0A0E, 0x0A18, 0x0A22, 0x0A2B, 0x0A35, 0x0A3E,
0x0A48, 0x0A51, 0x0A5B, 0x0A64, 0x0A6E, 0x0A77, 0x0A81, 0x0A8B,
0x0A94, 0x0A9E, 0x0AA7, 0x0AB1, 0x0ABA, 0x0AC4, 0x0ACD, 0x0AD7,
0x0AE0, 0x0AE9, 0x0AF3, 0x0AFC, 0x0B06, 0x0B0F, 0x0B19, 0x0B22,
0x0B2C, 0x0B35, 0x0B3F, 0x0B48, 0x0B51, 0x0B5B, 0x0B64, 0x0B6E,
0x0B77, 0x0B80, 0x0B8A, 0x0B93, 0x0B9D, 0x0BA6, 0x0BAF, 0x0BB9,
0x0BC2, 0x0BCB, 0x0BD5, 0x0BDE, 0x0BE7, 0x0BF1, 0x0BFA, 0x0C03,
0x0C0D, 0x0C16, 0x0C1F, 0x0C29, 0x0C32, 0x0C3B, 0x0C45, 0x0C4E,
0x0C57, 0x0C60, 0x0C6A, 0x0C73, 0x0C7C, 0x0C86, 0x0C8F, 0x0C98,
0x0CA1, 0x0CAB, 0x0CB4, 0x0CBD, 0x0CC6, 0x0CCF, 0x0CD9, 0x0CE2,
0x0CEB, 0x0CF4, 0x0CFD, 0x0D07, 0x0D10, 0x0D19, 0x0D22, 0x0D2B,
0x0D34, 0x0D3E, 0x0D47, 0x0D50, 0x0D59, 0x0D62, 0x0D6B, 0x0D74,
0x0D7D, 0x0D87, 0x0D90, 0x0D99, 0x0DA2, 0x0DAB, 0x0DB4, 0x0DBD,
0x0DC6, 0x0DCF, 0x0DD8, 0x0DE1, 0x0DEA, 0x0DF3, 0x0DFC, 0x0E05,
0x0E0F, 0x0E18, 0x0E21, 0x0E2A, 0x0E33, 0x0E3C, 0x0E45, 0x0E4E,
0x0E56, 0x0E5F, 0x0E68, 0x0E71, 0x0E7A, 0x0E83, 0x0E8C, 0x0E95,
0x0E9E, 0x0EA7, 0x0EB0, 0x0EB9, 0x0EC2, 0x0ECB, 0x0ED4, 0x0EDC,
0x0EE5, 0x0EEE, 0x0EF7, 0x0F00, 0x0F09, 0x0F12, 0x0F1B, 0x0F23,
0x0F2C, 0x0F35, 0x0F3E, 0x0F47, 0x0F50, 0x0F58, 0x0F61, 0x0F6A,
0x0F73, 0x0F7C, 0x0F84, 0x0F8D, 0x0F96, 0x0F9F, 0x0FA7, 0x0FB0,
0x0FB9, 0x0FC2, 0x0FCA, 0x0FD3, 0x0FDC, 0x0FE5, 0x0FED, 0x0FF6,
0x0FFF, 0x1007, 0x1010, 0x1019, 0x1021, 0x102A, 0x1033, 0x103B,
0x1044, 0x104D, 0x1055, 0x105E, 0x1067, 0x106F, 0x1078, 0x1080,
0x1089, 0x1092, 0x109A, 0x10A3, 0x10AB, 0x10B4, 0x10BC, 0x10C5,
0x10CE, 0x10D6, 0x10DF, 0x10E7, 0x10F0, 0x10F8, 0x1101, 0x1109,
0x1112, 0x111A, 0x1123, 0x112B, 0x1134, 0x113C, 0x1145, 0x114D,
0x1156, 0x115E, 0x1166, 0x116F, 0x1177, 0x1180, 0x1188, 0x1191,
0x1199, 0x11A1, 0x11AA, 0x11B2, 0x11BB, 0x11C3, 0x11CB, 0x11D4,
0x11DC, 0x11E4, 0x11ED, 0x11F5, 0x11FD, 0x1206, 0x120E, 0x1216,
0x121F, 0x1227, 0x122F, 0x1237, 0x1240, 0x1248, 0x1250, 0x1259,
0x1261, 0x1269, 0x1271, 0x127A, 0x1282, 0x128A, 0x1292, 0x129A,
0x12A3, 0x12AB, 0x12B3, 0x12BB, 0x12C3, 0x12CC, 0x12D4, 0x12DC,
0x12E4, 0x12EC, 0x12F4, 0x12FC, 0x1305, 0x130D, 0x1315, 0x131D,
0x1325, 0x132D, 0x1335, 0x133D, 0x1345, 0x134D, 0x1355, 0x135E,
0x1366, 0x136E, 0x1376, 0x137E, 0x1386, 0x138E, 0x1396, 0x139E,
0x13A6, 0x13AE, 0x13B6, 0x13BE, 0x13C6, 0x13CE, 0x13D6, 0x13DE,
0x13E6, 0x13ED, 0x13F5, 0x13FD, 0x1405, 0x140D, 0x1415, 0x141D,
0x1425, 0x142D, 0x1435, 0x143D, 0x1444, 0x144C, 0x1454, 0x145C,
0x1464, 0x146C, 0x1473, 0x147B, 0x1483, 0x148B, 0x1493, 0x149B,
0x14A2, 0x14AA, 0x14B2, 0x14BA, 0x14C1, 0x14C9, 0x14D1, 0x14D9,
0x14E0, 0x14E8, 0x14F0, 0x14F8, 0x14FF, 0x1507, 0x150F, 0x1516,
0x151E, 0x1526, 0x152D, 0x1535, 0x153D, 0x1544, 0x154C, 0x1554,
0x155B, 0x1563, 0x156B, 0x1572, 0x157A, 0x1581, 0x1589, 0x1591,
0x1598, 0x15A0, 0x15A7, 0x15AF, 0x15B7, 0x15BE, 0x15C6, 0x15CD,
0x15D5, 0x15DC, 0x15E4, 0x15EB, 0x15F3, 0x15FA, 0x1602, 0x1609,
0x1611, 0x1618, 0x1620, 0x1627, 0x162F, 0x1636, 0x163E, 0x1645,
0x164C, 0x1654, 0x165B, 0x1663, 0x166A, 0x1671, 0x1679, 0x1680,
0x1688, 0x168F, 0x1696, 0x169E, 0x16A5, 0x16AC, 0x16B4, 0x16BB,
0x16C2, 0x16CA, 0x16D1, 0x16D8, 0x16E0, 0x16E7, 0x16EE, 0x16F6,
0x16FD, 0x1704, 0x170B, 0x1713, 0x171A, 0x1721, 0x1728, 0x1730,
0x1737, 0x173E, 0x1745, 0x174C, 0x1754, 0x175B, 0x1762, 0x1769,
0x1770, 0x1778, 0x177F, 0x1786, 0x178D, 0x1794, 0x179B, 0x17A2,
0x17AA, 0x17B1, 0x17B8, 0x17BF, 0x17C6, 0x17CD, 0x17D4, 0x17DB,
0x17E2, 0x17E9, 0x17F0, 0x17F7, 0x17FE, 0x1806, 0x180D, 0x1814,
0x181B, 0x1822, 0x1829, 0x1830, 0x1837, 0x183E, 0x1845, 0x184C,
0x1853, 0x185A, 0x1860, 0x1867, 0x186E, 0x1875, 0x187C, 0x1883,
0x188A, 0x1891, 0x1898, 0x189F, 0x18A6, 0x18AD, 0x18B3, 0x18BA,
0x18C1, 0x18C8, 0x18CF, 0x18D6, 0x18DD, 0x18E3, 0x18EA, 0x18F1,
0x18F8, 0x18FF, 0x1906, 0x190C, 0x1913, 0x191A, 0x1921, 0x1928,
0x192E, 0x1935, 0x193C, 0x1943, 0x1949, 0x1950, 0x1957, 0x195D,
0x1964, 0x196B, 0x1972, 0x1978, 0x197F, 0x1986, 0x198C, 0x1993,
0x199A, 0x19A0, 0x19A7, 0x19AE, 0x19B4, 0x19BB, 0x19C2, 0x19C8,
0x19CF, 0x19D5, 0x19DC, 0x19E3, 0x19E9, 0x19F0, 0x19F6, 0x19FD,
0x1A04, 0x1A0A, 0x1A11, 0x1A17, 0x1A1E, 0x1A24, 0x1A2B, 0x1A31,
0x1A38, 0x1A3E, 0x1A45, 0x1A4B, 0x1A52, 0x1A58, 0x1A5F, 0x1A65,
0x1A6C, 0x1A72, 0x1A79, 0x1A7F, 0x1A86, 0x1A8C, 0x1A93, 0x1A99,
0x1A9F, 0x1AA6, 0x1AAC, 0x1AB3, 0x1AB9, 0x1AC0, 0x1AC6, 0x1ACC,
0x1AD3, 0x1AD9, 0x1ADF, 0x1AE6, 0x1AEC, 0x1AF2, 0x1AF9, 0x1AFF,
0x1B05, 0x1B0C, 0x1B12, 0x1B18, 0x1B1F, 0x1B25, 0x1B2B, 0x1B32,
0x1B38, 0x1B3E, 0x1B44, 0x1B4B, 0x1B51, 0x1B57, 0x1B5D, 0x1B64,
0x1B6A, 0x1B70, 0x1B76, 0x1B7D, 0x1B83, 0x1B89, 0x1B8F, 0x1B95,
0x1B9C, 0x1BA2, 0x1BA8, 0x1BAE, 0x1BB4, 0x1BBA, 0x1BC1, 0x1BC7,
0x1BCD, 0x1BD3, 0x1BD9, 0x1BDF, 0x1BE5, 0x1BEB, 0x1BF2, 0x1BF8,
0x1BFE, 0x1C04, 0x1C0A, 0x1C10, 0x1C16, 0x1C1C, 0x1C22, 0x1C28,
0x1C2E, 0x1C34, 0x1C3A, 0x1C40, 0x1C46, 0x1C4C, 0x1C52, 0x1C58,
0x1C5E, 0x1C64, 0x1C6A, 0x1C70, 0x1C76, 0x1C7C, 0x1C82, 0x1C88,
0x1C8E, 0x1C94, 0x1C9A, 0x1CA0, 0x1CA6, 0x1CAC, 0x1CB2, 0x1CB8,
0x1CBE, 0x1CC3, 0x1CC9, 0x1CCF, 0x1CD5, 0x1CDB, 0x1CE1, 0x1CE7,
0x1CED, 0x1CF3, 0x1CF8, 0x1CFE, 0x1D04, 0x1D0A, 0x1D10, 0x1D16,
0x1D1B, 0x1D21, 0x1D27, 0x1D2D, 0x1D33, 0x1D38, 0x1D3E, 0x1D44,
0x1D4A, 0x1D4F, 0x1D55, 0x1D5B, 0x1D61, 0x1D66, 0x1D6C, 0x1D72,
0x1D78, 0x1D7D, 0x1D83, 0x1D89, 0x1D8E, 0x1D94, 0x1D9A, 0x1DA0,
0x1DA5, 0x1DAB, 0x1DB1, 0x1DB6, 0x1DBC, 0x1DC2, 0x1DC7, 0x1DCD,
0x1DD3, 0x1DD8, 0x1DDE, 0x1DE3, 0x1DE9, 0x1DEF, 0x1DF4, 0x1DFA,
0x1DFF, 0x1E05, 0x1E0B, 0x1E10, 0x1E16, 0x1E1B, 0x1E21, 0x1E26,
0x1E2C, 0x1E32, 0x1E37, 0x1E3D, 0x1E42, 0x1E48, 0x1E4D, 0x1E53,
0x1E58, 0x1E5E, 0x1E63, 0x1E69, 0x1E6E, 0x1E74, 0x1E79, 0x1E7F,
0x1E84, 0x1E8A, 0x1E8F, 0x1E94, 0x1E9A, 0x1E9F, 0x1EA5, 0x1EAA,
0x1EB0, 0x1EB5, 0x1EBA, 0x1EC0, 0x1EC5, 0x1ECB, 0x1ED0, 0x1ED5,
0x1EDB, 0x1EE0, 0x1EE6, 0x1EEB, 0x1EF0, 0x1EF6, 0x1EFB, 0x1F00,
0x1F06, 0x1F0B, 0x1F10, 0x1F16, 0x1F1B, 0x1F20, 0x1F26, 0x1F2B,
0x1F30, 0x1F36, 0x1F3B, 0x1F40, 0x1F45, 0x1F4B, 0x1F50, 0x1F55,
0x1F5A, 0x1F60, 0x1F65, 0x1F6A, 0x1F6F, 0x1F75, 0x1F7A, 0x1F7F,
0x1F84, 0x1F8A, 0x1F8F, 0x1F94, 0x1F99, 0x1F9E, 0x1FA4, 0x1FA9,
0x1FAE, 0x1FB3, 0x1FB8, 0x1FBD, 0x1FC3, 0x1FC8, 0x1FCD, 0x1FD2,
0x1FD7, 0x1FDC, 0x1FE1, 0x1FE6, 0x1FEC, 0x1FF1, 0x1FF6, 0x1FFB,
0x2000
};