#include "kmModelData.h" //loop variables const int szData[Nsegs] = {szData0, szData1, szData2, szData3, szData4}; const int tierOffsets[Ntiers] = {tierOffset0, tierOffset1, tierOffset2}; //CUDA tier processing variables const int tierIdx0[2] = {30, 4}; const int tierIdx1[1] = {35}; const int tierIdx2[3] = {35, 32, 26}; const int tierIdx3[3] = {20, 27, 16}; const int tierIdx4[3] = {20, 27, 34}; const int* TierIdxPtrArr[Nsegs] = {&tierIdx0[0], &tierIdx1[0], &tierIdx2[0], &tierIdx3[0], &tierIdx4[0]}; const int tierIdxN[Nsegs] = {2, 1, 3, 3, 3}; //Default kinematic model configuration: points and norms by segment const float Data0[4][szData0] = { { 0.000100f, -0.007986f, -0.008255f, 0.009863f, -0.002744f, 0.017830f, 0.016325f, 0.019153f, 0.019918f, 0.026933f, 0.015715f, 0.025498f, 0.014546f, 0.030399f, 0.014845f, 0.020040f, 0.051156f, 0.036815f, 0.036676f, 0.042981f, 0.044634f, 0.054567f, 0.050633f, 0.075665f, 0.080772f, 0.076580f, 0.070397f, 0.067006f, 0.076430f, 0.072695f, 0.085241f, 0.083184f, 0.083621f, 0.073511f, 0.081868f, 0.089087f, 0.086821f, 0.088432f, 0.084902f, 0.106978f, 0.112588f, 0.108117f, 0.109881f, 0.112424f, 0.110652f, 0.105516f, 0.110738f, 0.112710f, 0.115728f, 0.116870f, 0.120455f, 0.123329f, 0.124618f, 0.126525f, 0.107365f, 0.117722f, 0.125934f, 0.123501f, 0.122698f, 0.120447f, 0.111778f, 0.111243f, 0.106835f, 0.097259f, 0.095841f, 0.088545f, 0.088386f, 0.098063f, 0.100598f, 0.098449f, 0.104833f, 0.094086f, 0.091013f, 0.101083f, 0.089830f, 0.090938f, 0.091352f, 0.087905f, 0.127107f, 0.124744f, 0.119870f, 0.122774f, 0.119939f, 0.115663f, 0.112966f, 0.099731f, 0.096844f, 0.101512f, 0.101503f, 0.092171f, 0.118364f, 0.116374f, 0.103362f, 0.064467f, 0.051076f, 0.052422f, 0.054641f, 0.058495f, 0.056042f, 0.060204f, 0.043841f, 0.047327f, 0.040156f, 0.066707f, 0.044383f, 0.044741f, 0.040418f, 0.034341f, 0.069765f, 0.069846f, 0.075598f, 0.076074f, 0.088386f, 0.088646f, 0.062108f, 0.067678f, 0.066571f, 0.068304f, 0.061175f, 0.057681f, 0.027526f, 0.031807f, 0.026682f, 0.024452f, -0.000961f, 0.008517f, 0.008091f, -0.009190f}, { 0.133731f, 0.119433f, 0.119542f, -0.089760f, -0.096042f, -0.107976f, -0.110722f, -0.124134f, -0.141563f, 0.135084f, 0.134763f, 0.135184f, 0.126577f, 0.125030f, 0.118544f, 0.117330f, -0.099249f, -0.106844f, -0.116259f, -0.127743f, -0.136596f, -0.136576f, -0.137906f, -0.125858f, -0.111616f, -0.117072f, -0.107337f, -0.098979f, -0.075949f, -0.073922f, -0.031044f, 0.069087f, 0.069506f, 0.078067f, 0.076393f, 0.077023f, 0.088429f, 0.094239f, 0.096922f, 0.077895f, 0.065647f, 0.060112f, 0.052080f, 0.032162f, 0.038474f, 0.028483f, 0.010252f, 0.003931f, -0.006392f, 0.011109f, 0.013169f, 0.026609f, 0.031849f, 0.028438f, -0.066941f, -0.043379f, -0.030816f, -0.019315f, -0.004620f, -0.034240f, -0.030616f, -0.023529f, -0.017767f, -0.042055f, -0.006140f, -0.047825f, -0.053794f, -0.048561f, -0.057729f, -0.065963f, -0.068131f, -0.089813f, -0.105372f, -0.092283f, -0.084120f, -0.070876f, -0.064958f, -0.065525f, -0.013446f, 0.054861f, 0.055129f, 0.039025f, 0.030306f, 0.021801f, -0.013323f, 0.029197f, 0.045828f, 0.051861f, 0.050375f, 0.061472f, 0.043379f, 0.058752f, 0.080881f, 0.121262f, 0.126043f, 0.123232f, 0.119295f, 0.096693f, 0.091903f, 0.089454f, 0.102472f, 0.100519f, 0.113964f, 0.096124f, 0.129912f, 0.131178f, 0.133446f, 0.132992f, 0.110738f, 0.110691f, 0.105300f, 0.088044f, 0.065873f, -0.030865f, -0.092270f, -0.106417f, -0.121927f, -0.131577f, -0.134943f, -0.112369f, -0.103851f, 0.135096f, -0.139944f, -0.110753f, -0.093367f, 0.120042f, 0.134414f, -0.094347f}, { 0.045501f, -0.017294f, -0.052194f, -0.052926f, -0.029248f, -0.016033f, 0.014379f, 0.040340f, 0.095020f, 0.085597f, 0.045804f, 0.034306f, 0.006862f, -0.006433f, -0.049480f, -0.056818f, -0.047756f, -0.010330f, 0.011814f, 0.032100f, 0.059365f, 0.074950f, 0.104097f, 0.068756f, 0.050033f, 0.043427f, 0.004292f, -0.018832f, -0.035463f, -0.051800f, -0.062556f, -0.051399f, -0.042425f, -0.016194f, 0.002315f, 0.020654f, 0.035281f, 0.057659f, 0.087430f, 0.074258f, 0.057391f, 0.036839f, 0.027660f, 0.005457f, -0.009485f, -0.045584f, -0.034901f, -0.027293f, -0.003095f, 0.013693f, 0.034481f, 0.038811f, 0.060133f, 0.087900f, 0.073238f, 0.066720f, 0.086009f, 0.061966f, 0.047899f, 0.063166f, 0.014171f, -0.000350f, -0.025734f, -0.019656f, -0.054027f, -0.040585f, -0.031181f, -0.005407f, 0.020677f, 0.029435f, 0.064436f, 0.058763f, 0.077176f, 0.091037f, 0.039158f, 0.008304f, -0.000851f, -0.012305f, 0.085018f, 0.087340f, 0.060654f, 0.050618f, 0.028568f, 0.012052f, -0.009738f, -0.057290f, -0.055804f, -0.034876f, -0.006685f, -0.000208f, 0.036718f, 0.055196f, 0.086116f, 0.098958f, 0.060311f, 0.017279f, 0.013235f, -0.017834f, -0.038908f, -0.053484f, -0.066422f, -0.040963f, -0.024963f, 0.000754f, 0.015174f, 0.032104f, 0.064670f, -0.001326f, 0.041239f, 0.076199f, 0.061597f, 0.008935f, -0.038814f, -0.057804f, -0.038525f, -0.004034f, 0.030699f, 0.082652f, 0.094290f, -0.003602f, -0.038326f, 0.052086f, 0.079015f, 0.009740f, -0.059905f, -0.016986f, 0.045746f, -0.048629f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; const float Norms0[4][szData0] = { { -0.132069f, -0.049193f, -0.040023f, 0.034966f, -0.509833f, 0.083622f, -0.049056f, -0.235340f, 0.111539f, 0.004146f, -0.026328f, 0.013613f, -0.430128f, -0.129772f, 0.204905f, 0.337592f, 0.548524f, 0.071321f, -0.233094f, -0.186542f, 0.114491f, 0.269025f, 0.311004f, 0.814207f, 0.969287f, 0.891456f, 0.765323f, 0.629029f, 0.941551f, 0.933745f, 0.866720f, 0.812375f, 0.728093f, 0.810699f, 0.844483f, 0.852583f, 0.849960f, 0.780055f, 0.789197f, 0.797958f, 0.907764f, 0.889343f, 0.905860f, 1.049363f, 1.000223f, 0.992913f, 1.035157f, 1.054500f, 1.094297f, 1.113622f, 1.041708f, 1.109230f, 1.119198f, 1.119703f, 0.945444f, 0.954536f, 1.080975f, 1.105053f, 1.080435f, 1.027571f, 1.025325f, 1.019846f, 0.986736f, 0.968893f, 0.944371f, 0.972768f, 0.961800f, 0.970937f, 0.970295f, 0.954309f, 1.061607f, 0.913706f, 0.923574f, 0.926449f, 0.975806f, 0.966577f, 0.964043f, 0.960625f, 1.081712f, 1.098197f, 1.002536f, 1.089060f, 1.000430f, 1.098994f, 1.044332f, 1.007427f, 0.967225f, 0.888826f, 0.855136f, 0.848655f, 0.992508f, 0.941835f, 0.733774f, 0.625901f, 0.659484f, 0.755240f, 0.791070f, 0.817886f, 0.743546f, 0.671054f, 0.637858f, 0.745782f, 0.585206f, 0.830124f, 0.621147f, 0.543332f, 0.395665f, -0.051537f, 0.763978f, 0.775167f, 0.720303f, 0.839438f, 0.742506f, 0.933950f, 0.671633f, 0.675932f, 0.663454f, 0.577131f, 0.455007f, 0.329796f, -0.140672f, 0.129430f, 0.057947f, -0.225017f, 0.167156f, -0.020630f, -0.056929f, 0.193759f}, { 1.121896f, 1.118583f, 1.119029f, -1.088873f, -0.723108f, -1.101762f, -1.069626f, -1.003099f, -1.135906f, 1.134822f, 1.133878f, 1.135095f, 0.908564f, 0.857454f, 1.100057f, 1.065275f, -0.963770f, -1.086935f, -0.984307f, -0.985061f, -1.115611f, -1.112137f, -1.103153f, -0.797636f, -0.531472f, -0.643236f, -0.761000f, -0.820909f, -0.510532f, -0.515642f, -0.239886f, 0.738734f, 0.834057f, 0.722283f, 0.640297f, 0.638155f, 0.655124f, 0.813987f, 0.798554f, 0.797780f, 0.602843f, 0.595242f, 0.564191f, 0.376308f, 0.481348f, 0.110762f, -0.065364f, -0.138732f, -0.171754f, 0.081672f, -0.119370f, 0.109370f, 0.089687f, 0.063462f, -0.427611f, -0.467947f, -0.174755f, -0.144430f, -0.133022f, -0.348785f, -0.383971f, -0.384104f, -0.389167f, -0.461179f, -0.192944f, -0.441220f, -0.474044f, -0.472547f, -0.499861f, -0.540459f, -0.338293f, -0.552357f, -0.634526f, -0.607264f, -0.532736f, -0.497325f, -0.490748f, -0.489823f, -0.061451f, 0.276568f, 0.467651f, 0.234457f, 0.088898f, 0.188852f, -0.309823f, 0.052023f, 0.395226f, 0.654114f, 0.705431f, 0.676439f, 0.454423f, 0.552675f, 0.856776f, 0.948534f, 0.918089f, 0.799350f, 0.736522f, 0.667540f, 0.815690f, 0.879399f, 0.904787f, 0.801167f, 0.912599f, 0.657381f, 0.933872f, 0.998016f, 1.065225f, 0.967767f, 0.826276f, 0.810333f, 0.868523f, 0.649312f, 0.821676f, -0.262385f, -0.852275f, -0.831695f, -0.874184f, -0.992401f, -1.053269f, -1.005628f, -1.033044f, 1.130246f, -1.131964f, -1.013694f, -1.078243f, 1.119130f, 1.132215f, -1.070427f}, { -0.032351f, -0.018088f, -0.056269f, -0.086726f, -0.620558f, -0.105810f, -0.261717f, -0.362963f, 0.041288f, 0.083284f, 0.047173f, 0.028183f, -0.429900f, -0.668173f, -0.072016f, -0.080482f, -0.120051f, -0.205862f, -0.404978f, -0.428686f, -0.132074f, 0.027109f, 0.126545f, 0.011563f, -0.135068f, -0.199739f, -0.295378f, -0.422500f, -0.285870f, -0.303747f, -0.650498f, -0.192307f, -0.053314f, -0.220006f, -0.314591f, -0.299041f, -0.275325f, -0.002533f, -0.020646f, 0.008589f, -0.223883f, -0.284601f, -0.295079f, -0.055430f, 0.102433f, -0.499188f, -0.408710f, -0.331724f, -0.125801f, -0.025106f, -0.331207f, -0.106620f, -0.026265f, -0.023323f, -0.336078f, -0.278945f, -0.173179f, -0.082606f, -0.209496f, -0.216455f, -0.187252f, -0.211127f, -0.322105f, -0.273803f, -0.549103f, -0.292359f, -0.277227f, -0.246913f, -0.198744f, -0.176372f, -0.043250f, -0.279285f, -0.086647f, -0.140404f, -0.078274f, -0.218404f, -0.239833f, -0.253823f, -0.208966f, 0.030459f, -0.164570f, -0.117006f, -0.441861f, -0.059745f, -0.221033f, -0.476297f, -0.402729f, -0.166889f, 0.047517f, -0.222801f, -0.221963f, -0.218032f, 0.109944f, 0.078662f, 0.010289f, -0.203878f, -0.263717f, -0.330018f, -0.097815f, -0.000112f, -0.007820f, -0.186747f, -0.280114f, -0.318911f, -0.129706f, 0.031900f, -0.010081f, -0.545179f, -0.036700f, -0.037924f, 0.104563f, -0.310837f, -0.008999f, -0.539322f, -0.264072f, -0.326524f, -0.248300f, 0.091424f, 0.133952f, -0.361432f, -0.367429f, 0.064159f, -0.043131f, -0.340207f, -0.018011f, -0.048175f, 0.032894f, 0.029338f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; const float Data1[4][szData1] = { { -0.008851f, -0.000928f, -0.002374f, -0.003283f, -0.004691f, 0.015752f, 0.003750f, 0.003555f, 0.005071f, 0.022984f, 0.025227f, 0.026637f, 0.022169f, 0.020030f, 0.045276f, 0.051230f, 0.055696f, 0.049984f, 0.041033f, 0.069389f, 0.070222f, 0.072608f, 0.074470f, 0.062545f, 0.065156f, 0.056872f, 0.055447f, 0.063449f, 0.057863f, 0.058634f, 0.059125f, 0.061815f, 0.063716f, 0.064471f, 0.062833f, 0.042150f, 0.032085f, 0.037195f, 0.047366f, 0.050277f, 0.062378f, 0.049649f, 0.064179f, 0.053731f, 0.066915f, 0.058067f, 0.034467f, 0.033744f, 0.037318f, 0.037952f, 0.035290f, 0.036426f, 0.020852f, 0.028998f, 0.055306f, 0.044002f, 0.007718f, 0.012439f, 0.011896f, -0.008209f, -0.008416f, -0.003093f, 0.006088f, -0.009116f}, { 0.119861f, 0.120216f, 0.123468f, 0.123716f, 0.123761f, -0.077007f, -0.088562f, -0.089246f, -0.089942f, 0.114013f, 0.110897f, 0.102212f, 0.104431f, 0.097840f, -0.023040f, -0.017702f, -0.014727f, -0.032628f, -0.058647f, -0.000677f, 0.012783f, 0.020014f, 0.031062f, 0.064406f, 0.069425f, 0.073711f, 0.067712f, 0.046325f, 0.053043f, 0.039082f, 0.014361f, 0.014598f, 0.014841f, 0.021691f, 0.032141f, 0.075000f, 0.089148f, 0.090653f, 0.085439f, 0.085240f, 0.038882f, 0.069837f, 0.057655f, 0.082080f, 0.024172f, -0.023513f, -0.072329f, -0.064975f, -0.046027f, -0.037768f, -0.042457f, -0.037662f, -0.074636f, -0.067276f, -0.029163f, -0.031030f, 0.113745f, 0.112681f, 0.116227f, -0.091915f, -0.092284f, -0.098026f, 0.119280f, -0.101832f}, { -0.104428f, -0.121057f, -0.139786f, -0.157087f, -0.164822f, -0.172454f, -0.149674f, -0.132363f, -0.115742f, -0.112841f, -0.117763f, -0.136259f, -0.147417f, -0.180286f, -0.177978f, -0.162410f, -0.146536f, -0.135397f, -0.122690f, -0.117564f, -0.126499f, -0.122406f, -0.115698f, -0.126311f, -0.111643f, -0.130008f, -0.145155f, -0.143793f, -0.165214f, -0.184229f, -0.186196f, -0.170277f, -0.153778f, -0.151812f, -0.170826f, -0.167562f, -0.165963f, -0.142250f, -0.127921f, -0.112947f, -0.168187f, -0.157555f, -0.129439f, -0.108665f, -0.137791f, -0.122248f, -0.117667f, -0.133953f, -0.157373f, -0.172218f, -0.173210f, -0.180595f, -0.156885f, -0.144674f, -0.122681f, -0.161986f, -0.176473f, -0.155444f, -0.127780f, -0.125732f, -0.134140f, -0.178294f, -0.112002f, -0.167284f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; const float Norms1[4][szData1] = { { 0.011667f, 0.241144f, 0.438530f, 0.457733f, 0.402536f, 0.832146f, 0.516320f, 0.295784f, 0.274411f, 0.553219f, 0.658255f, 0.711186f, 0.713111f, 0.779424f, 0.888063f, 0.922747f, 0.949434f, 0.924806f, 0.889020f, 0.954387f, 0.990022f, 1.015246f, 1.022123f, 0.938824f, 0.846245f, 0.871461f, 0.897574f, 1.015604f, 0.954995f, 0.982731f, 1.029473f, 1.040343f, 1.049583f, 1.059027f, 1.049906f, 0.805980f, 0.789845f, 0.730951f, 0.706001f, 0.767214f, 1.037835f, 0.847540f, 0.971139f, 0.775740f, 1.024648f, 0.942309f, 0.739278f, 0.796015f, 0.903230f, 0.907799f, 0.906148f, 0.912490f, 0.811698f, 0.843355f, 0.924750f, 0.896087f, 0.662009f, 0.667667f, 0.446400f, 0.157064f, 0.258199f, 0.527730f, 0.117016f, 0.331608f}, { 1.119034f, 1.083115f, 1.015521f, 1.007618f, 1.026660f, -0.648923f, -0.946073f, -1.043147f, -1.049964f, 0.939197f, 0.840834f, 0.806414f, 0.819129f, 0.672891f, -0.530652f, -0.487717f, -0.416749f, -0.456138f, -0.507365f, -0.346510f, -0.157451f, -0.051459f, 0.117272f, 0.430663f, 0.653781f, 0.571047f, 0.547371f, 0.249111f, 0.478142f, 0.186383f, -0.055403f, -0.142027f, -0.114508f, -0.015408f, 0.107664f, 0.660319f, 0.680060f, 0.793712f, 0.804995f, 0.773884f, 0.231026f, 0.603340f, 0.363854f, 0.762253f, -0.005553f, -0.415722f, -0.709740f, -0.644410f, -0.490441f, -0.497236f, -0.499592f, -0.507375f, -0.672166f, -0.617027f, -0.441770f, -0.508726f, 0.851163f, 0.863323f, 1.009694f, -1.078131f, -1.051197f, -0.941999f, 1.110955f, -1.041903f}, { -0.069316f, -0.001780f, -0.040565f, -0.235701f, -0.302443f, -0.252528f, -0.105553f, -0.200734f, -0.191992f, -0.307579f, -0.375575f, -0.324655f, -0.256069f, -0.484650f, -0.356977f, -0.302213f, -0.345559f, -0.370611f, -0.404773f, -0.429297f, -0.480037f, -0.448483f, -0.423139f, -0.439345f, -0.331707f, -0.428508f, -0.391631f, -0.372437f, -0.285402f, -0.536857f, -0.417619f, -0.304253f, -0.260249f, -0.249191f, -0.312183f, -0.439529f, -0.442771f, -0.298491f, -0.348010f, -0.221443f, -0.275722f, -0.438170f, -0.418687f, -0.235425f, -0.423909f, -0.375802f, -0.429033f, -0.422395f, -0.386924f, -0.351818f, -0.353863f, -0.289593f, -0.289251f, -0.330677f, -0.394382f, -0.375892f, -0.344154f, -0.240371f, -0.241460f, -0.133568f, -0.037173f, -0.255337f, -0.177404f, -0.154093f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; const float Data2[4][szData2] = { { -0.129824f, -0.134562f, -0.120287f, -0.123859f, -0.137894f, -0.129715f, -0.135602f, -0.135671f, -0.129584f, -0.137942f, -0.121352f, -0.111167f, -0.094414f, -0.087745f, -0.096434f, -0.108010f, -0.097470f, -0.109888f, -0.104171f, -0.108881f, -0.088840f, -0.100811f, -0.088768f, -0.092008f, -0.103896f, -0.102011f, -0.051844f, -0.042737f, -0.034415f, -0.039219f, -0.040671f, -0.031866f, -0.047679f, -0.047068f, -0.045853f, -0.041817f, -0.040876f, -0.030336f, -0.025139f, -0.036189f, -0.015316f, -0.021920f, -0.034600f, -0.019914f, -0.019239f, -0.017989f, -0.018487f, -0.004688f, 0.001480f, -0.000588f, -0.017742f, -0.008813f, -0.001083f, -0.009814f, -0.013412f, -0.002214f, 0.006583f, 0.003218f, -0.002896f, -0.010123f, -0.017430f, -0.017795f, -0.008434f, 0.013271f, 0.010761f, 0.019071f, 0.010060f, 0.007703f, 0.014852f, 0.009433f, 0.007759f, 0.010081f, 0.017866f, 0.003888f, 0.020148f, 0.016495f, 0.025711f, 0.024291f, 0.018358f, 0.020649f, 0.026826f, 0.029052f, 0.020350f, 0.033023f, 0.021113f, 0.023942f, 0.014223f, 0.007612f, 0.027448f, 0.028236f, 0.032143f, 0.037985f, 0.048776f, 0.033673f, 0.036184f, 0.043752f, 0.038217f, 0.034620f, 0.039882f, 0.035143f, 0.036800f, 0.039323f, 0.039747f, 0.051025f, 0.064415f, 0.065191f, 0.054513f, 0.037724f, 0.037074f, 0.043756f, 0.056518f, 0.072530f, 0.068432f, 0.053153f, 0.070208f, 0.070654f, 0.069758f, 0.069050f, 0.070257f, 0.068067f, 0.072171f, 0.080950f, 0.085008f, 0.072488f, 0.086433f, 0.075985f, 0.080440f, 0.076160f, 0.073909f, 0.070210f, 0.097367f, 0.088961f, 0.097187f, 0.088936f, 0.097812f, 0.098961f, 0.088738f, 0.102360f, 0.107515f, 0.105606f, 0.116073f, 0.113344f, 0.117333f, 0.120306f, 0.104479f, 0.121126f, 0.106111f, 0.116735f, 0.132927f, 0.140189f, 0.123218f, 0.137059f, 0.135622f, 0.129275f, 0.142758f, 0.141784f, 0.150171f, 0.158402f, 0.145033f, 0.131216f, 0.129737f, 0.125583f, 0.114481f, 0.096138f, 0.101927f, 0.097045f, 0.077697f, 0.068213f, 0.114597f, 0.097414f, 0.056780f, 0.052614f, 0.054370f, 0.062705f, 0.060669f, 0.063198f, 0.043222f, 0.080036f, 0.049290f, 0.059070f, 0.035967f, 0.063459f, 0.030330f, 0.061118f, 0.059262f, 0.028438f, 0.021773f, 0.052978f, 0.052149f, 0.001075f, 0.006118f, 0.003786f, 0.041488f, 0.018697f, 0.046619f, 0.044565f, 0.009637f, 0.006490f, 0.032093f, 0.021752f, 0.026024f, 0.021740f, -0.004417f, -0.016270f, -0.014261f, -0.001651f, -0.007374f, -0.025798f, -0.015771f, -0.003988f, -0.008999f, 0.000674f, 0.006352f, -0.068746f, -0.058329f, -0.058817f, -0.059142f, -0.050342f, -0.043021f, -0.013077f, -0.042547f, -0.020579f, -0.060536f, -0.067595f, -0.077571f, -0.029825f, -0.065992f, -0.057149f, -0.024806f, -0.066171f, -0.065760f, -0.064990f, -0.078755f, -0.090027f, -0.027382f, -0.059973f, -0.083534f, -0.115258f, -0.076734f, -0.086312f, -0.120045f, -0.076279f, -0.108622f, -0.148264f, -0.152690f, -0.159535f, -0.153339f, -0.159972f, -0.151107f, -0.150822f, -0.151885f, -0.117360f, -0.142214f, -0.112331f, -0.114359f, -0.143728f}, { -0.038650f, -0.034519f, -0.035448f, -0.011096f, 0.012864f, 0.027667f, 0.031872f, 0.036713f, 0.049247f, 0.048353f, 0.055998f, 0.071694f, 0.067428f, 0.075615f, 0.057474f, 0.051129f, 0.036080f, 0.032005f, 0.010060f, -0.003521f, 0.003899f, -0.018536f, -0.023097f, -0.028760f, -0.052740f, -0.061203f, 0.104796f, 0.101373f, 0.095784f, 0.091187f, 0.072386f, 0.066627f, 0.063621f, 0.051304f, 0.040354f, 0.017767f, 0.001074f, -0.005235f, -0.015801f, -0.018991f, -0.032530f, -0.041801f, -0.052901f, -0.054389f, -0.069531f, 0.105024f, 0.103653f, 0.102923f, 0.101213f, 0.094984f, 0.077324f, 0.066459f, 0.075959f, 0.056495f, 0.062304f, 0.062304f, 0.054693f, 0.032755f, 0.019844f, 0.031050f, -0.002041f, -0.011191f, -0.002396f, -0.030256f, -0.038500f, -0.047585f, -0.048126f, -0.047320f, -0.051999f, -0.048301f, -0.051267f, -0.056121f, -0.056798f, -0.075709f, 0.090869f, 0.092009f, 0.084709f, 0.090524f, 0.103713f, 0.104924f, 0.102619f, 0.099192f, 0.083015f, 0.094236f, 0.064399f, 0.073755f, 0.006162f, 0.032092f, -0.044450f, -0.056275f, -0.060858f, -0.062376f, -0.071362f, -0.062594f, -0.066337f, -0.074980f, -0.070870f, -0.060793f, -0.058730f, -0.050061f, -0.040439f, -0.032250f, -0.023497f, -0.017566f, 0.023949f, 0.036696f, 0.064210f, 0.073926f, 0.075965f, 0.076846f, 0.078006f, 0.090158f, 0.103403f, 0.102566f, 0.108721f, 0.107374f, -0.079728f, -0.081460f, -0.086183f, -0.085941f, -0.084314f, -0.075505f, -0.067723f, -0.058374f, -0.050403f, -0.036878f, -0.026616f, -0.015151f, -0.006480f, 0.004960f, 0.003157f, 0.029975f, 0.048768f, 0.058065f, 0.082117f, 0.096811f, 0.106194f, 0.103060f, -0.089086f, -0.085484f, -0.074930f, -0.064082f, -0.057675f, -0.050221f, -0.041320f, -0.033209f, -0.024003f, -0.001137f, -0.019335f, 0.004977f, 0.022150f, 0.038796f, 0.058016f, 0.082404f, -0.044281f, -0.032586f, -0.020736f, 0.002102f, 0.057696f, -0.031268f, -0.069023f, 0.084127f, 0.030442f, -0.049123f, -0.091239f, -0.091477f, 0.099282f, 0.067029f, 0.006375f, -0.038681f, -0.078084f, -0.081005f, -0.078576f, -0.080819f, -0.077566f, -0.074004f, -0.066208f, 0.106491f, 0.063503f, 0.039833f, -0.028691f, -0.021708f, -0.043471f, -0.064175f, -0.067387f, -0.063573f, -0.056878f, -0.074511f, -0.075372f, 0.005209f, 0.067823f, 0.070048f, 0.094713f, 0.092803f, 0.103717f, 0.108757f, 0.101183f, 0.099320f, 0.079347f, -0.066375f, -0.052107f, -0.056449f, -0.037652f, -0.029544f, -0.028985f, -0.041175f, -0.029840f, 0.022576f, 0.041095f, 0.002069f, 0.038653f, 0.084054f, 0.102762f, -0.074015f, -0.069764f, -0.041025f, -0.022429f, -0.011408f, -0.038750f, -0.070410f, -0.057307f, -0.025593f, 0.007807f, 0.029522f, 0.032330f, 0.061432f, 0.059639f, 0.071967f, 0.078623f, 0.080340f, 0.086219f, 0.097732f, 0.089321f, 0.077612f, 0.103561f, 0.104077f, -0.053615f, -0.048631f, -0.001987f, 0.025707f, 0.049553f, 0.065099f, 0.061983f, -0.022677f, -0.019174f, -0.004313f, 0.017834f, 0.010439f, 0.035592f, 0.025223f, -0.021267f, 0.061738f, 0.032664f, 0.013878f, -0.021040f, -0.026496f}, { -0.336532f, -0.340469f, -0.361003f, -0.388006f, -0.396351f, -0.393159f, -0.385660f, -0.372505f, -0.362492f, -0.346101f, -0.344733f, -0.326677f, -0.350287f, -0.335865f, -0.361857f, -0.374563f, -0.385909f, -0.389283f, -0.394563f, -0.390629f, -0.387446f, -0.376217f, -0.368811f, -0.364947f, -0.343401f, -0.330226f, -0.307638f, -0.330972f, -0.338365f, -0.340467f, -0.355909f, -0.364959f, -0.359413f, -0.373961f, -0.378337f, -0.384100f, -0.386662f, -0.394434f, -0.394842f, -0.368677f, -0.361856f, -0.336621f, -0.327661f, -0.322945f, -0.309061f, -0.315325f, -0.331688f, -0.320967f, -0.348105f, -0.355618f, -0.363659f, -0.391045f, -0.389018f, -0.406893f, -0.389851f, -0.415685f, -0.442756f, -0.452425f, -0.442541f, -0.423548f, -0.415652f, -0.413656f, -0.433243f, -0.449843f, -0.432912f, -0.423919f, -0.397534f, -0.378608f, -0.366552f, -0.354824f, -0.334721f, -0.317093f, -0.301582f, -0.295541f, -0.282934f, -0.289926f, -0.310332f, -0.324040f, -0.349073f, -0.360691f, -0.379921f, -0.396128f, -0.415764f, -0.414182f, -0.447784f, -0.438620f, -0.467672f, -0.460045f, -0.455401f, -0.442137f, -0.437804f, -0.418129f, -0.409347f, -0.391644f, -0.381069f, -0.362023f, -0.338949f, -0.321735f, -0.317860f, -0.307625f, -0.300819f, -0.290985f, -0.285546f, -0.279612f, -0.274417f, -0.281827f, -0.292093f, -0.283204f, -0.293143f, -0.309188f, -0.315696f, -0.335904f, -0.358277f, -0.352578f, -0.378546f, -0.404836f, -0.417178f, -0.388706f, -0.368189f, -0.350732f, -0.345338f, -0.337928f, -0.332534f, -0.318032f, -0.316156f, -0.302129f, -0.295259f, -0.287460f, -0.281737f, -0.275905f, -0.285531f, -0.290727f, -0.301690f, -0.304235f, -0.328294f, -0.345596f, -0.369715f, -0.358121f, -0.382407f, -0.362236f, -0.356128f, -0.343500f, -0.338920f, -0.333203f, -0.315420f, -0.315740f, -0.298715f, -0.294397f, -0.310433f, -0.309417f, -0.303133f, -0.318179f, -0.325894f, -0.344785f, -0.339860f, -0.326685f, -0.321534f, -0.322488f, -0.335127f, -0.319382f, -0.357204f, -0.339641f, -0.301738f, -0.319185f, -0.374332f, -0.367374f, -0.350133f, -0.304896f, -0.294007f, -0.308847f, -0.333592f, -0.355093f, -0.374106f, -0.379619f, -0.393464f, -0.431546f, -0.441895f, -0.368421f, -0.280190f, -0.271918f, -0.283757f, -0.291608f, -0.291659f, -0.321191f, -0.323438f, -0.346215f, -0.392504f, -0.406577f, -0.422210f, -0.450181f, -0.422228f, -0.407041f, -0.423277f, -0.390296f, -0.412318f, -0.379829f, -0.356650f, -0.326449f, -0.297006f, -0.286943f, -0.299435f, -0.320528f, -0.365075f, -0.379959f, -0.398873f, -0.386256f, -0.415408f, -0.396376f, -0.408334f, -0.441886f, -0.422972f, -0.372160f, -0.339734f, -0.319244f, -0.319999f, -0.344753f, -0.361843f, -0.373646f, -0.343419f, -0.306781f, -0.326135f, -0.384147f, -0.382143f, -0.380645f, -0.382080f, -0.372166f, -0.366404f, -0.351852f, -0.357016f, -0.342138f, -0.334990f, -0.320087f, -0.318140f, -0.327416f, -0.331355f, -0.307302f, -0.340825f, -0.342865f, -0.379747f, -0.388063f, -0.373833f, -0.361153f, -0.345831f, -0.352606f, -0.356472f, -0.364481f, -0.379129f, -0.354502f, -0.345263f, -0.371642f, -0.375127f, -0.337206f, -0.370715f, -0.396895f, -0.376656f, -0.348714f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; const float Norms2[4][szData2] = { { -0.825110f, -0.820925f, -0.320923f, -0.010245f, -0.498624f, -0.270527f, -0.444671f, -0.651333f, -0.654477f, -0.699779f, -0.491206f, -0.492523f, -0.470844f, -0.317455f, -0.316939f, -0.105273f, 0.009627f, -0.078265f, 0.193502f, 0.105806f, 0.217010f, 0.099663f, 0.146500f, 0.102745f, -0.287084f, -0.465541f, -0.125510f, -0.296121f, -0.263600f, -0.249856f, -0.377303f, -0.508123f, -0.115357f, -0.282970f, -0.327387f, -0.350392f, -0.568824f, -0.778767f, -0.816843f, -0.355985f, -0.414807f, 0.247943f, 0.163277f, 0.029883f, 0.160890f, 0.061391f, -0.061943f, 0.244084f, -0.356370f, -0.497681f, -0.416032f, -0.660545f, -0.630618f, -0.777197f, -0.646035f, -0.714760f, -0.709445f, -0.870165f, -0.902276f, -0.903825f, -0.912596f, -0.894489f, -0.888278f, -0.651783f, -0.651055f, -0.573640f, -0.513607f, -0.599176f, -0.610475f, -0.573103f, -0.302190f, 0.051963f, 0.696983f, 0.384109f, 0.694522f, 0.663186f, 0.520595f, 0.398393f, 0.034137f, -0.276060f, -0.446219f, -0.515561f, -0.600078f, -0.520213f, -0.478680f, -0.528992f, -0.754460f, -0.831366f, -0.696594f, -0.737052f, -0.597968f, -0.628198f, -0.626389f, -0.413656f, -0.463981f, -0.501194f, -0.537461f, -0.232763f, -0.050147f, 0.376165f, 0.528953f, 0.678584f, 0.603202f, 0.588156f, 0.793158f, 0.760124f, 0.600296f, 0.667839f, 0.561161f, 0.291795f, 0.180539f, 0.109748f, 0.122799f, 0.184977f, 0.174986f, 0.059107f, 0.286248f, -0.248330f, -0.228718f, -0.073074f, 0.147897f, 0.437885f, 0.410619f, 0.243342f, 0.349311f, 0.115428f, 0.113637f, 0.136477f, 0.272763f, 0.550087f, 0.466051f, 0.407508f, 0.425360f, 0.358612f, 0.206500f, 0.191364f, 0.188386f, 0.348360f, 0.113015f, 0.442463f, 0.478421f, 0.450363f, 0.470500f, 0.492169f, 0.458363f, 0.473881f, 0.431453f, 0.570470f, 0.600573f, 0.725895f, 0.584298f, 0.673297f, 0.724077f, 0.774081f, 0.424311f, 0.462398f, 0.607425f, 0.686023f, 0.819253f, 0.489143f, 0.413572f, 0.704990f, 0.529377f, 0.415085f, 0.153599f, 0.192351f, 0.027480f, 0.334489f, 0.556966f, 0.397069f, -0.079940f, -0.410590f, -0.374484f, -0.307292f, -0.355052f, 0.079587f, -0.109636f, 0.115487f, 0.759087f, 0.972323f, 0.931654f, 0.146569f, 0.896782f, 0.142908f, 0.130497f, -0.598195f, -0.426364f, -0.505277f, -0.467847f, -0.833775f, -0.596239f, -0.689063f, -0.477883f, -0.618478f, -0.237877f, -0.115695f, -0.440253f, 0.363805f, 0.549684f, 0.751407f, 0.624013f, -0.160294f, -0.513651f, -0.629227f, -0.743494f, -0.600732f, -0.724635f, -0.855712f, -0.877516f, -0.865309f, -0.895403f, -0.567653f, 0.114186f, 0.056210f, 0.209003f, 0.144193f, 0.029823f, -0.265723f, 0.045744f, 0.175831f, 0.164071f, -0.690995f, -0.097422f, 0.079398f, 0.168299f, -0.521940f, -0.070181f, -0.162306f, -0.319316f, -0.430859f, -0.456773f, -0.515458f, -0.587329f, -0.419937f, -0.095582f, -0.199442f, 0.046435f, -0.516224f, 0.164998f, 0.231063f, -0.527286f, -0.177133f, -0.569667f, -0.851123f, -0.912617f, -1.150904f, -0.975242f, -1.148129f, -0.930830f, -0.886301f, -0.597474f, -0.639035f, -0.734815f, 0.115730f, -0.029850f, -0.812463f}, { -0.754437f, -0.760479f, -0.807628f, -0.649987f, 0.188877f, 0.574285f, 0.933927f, 0.783355f, 0.847839f, 0.865554f, 0.943754f, 0.965270f, 0.827161f, 1.004518f, 0.909494f, 0.893183f, 0.541573f, 0.626593f, -0.116980f, -0.528109f, -0.361494f, -0.655574f, -0.642522f, -0.674179f, -0.806368f, -0.954445f, 1.101055f, 0.903831f, 0.647518f, 0.705333f, 0.567278f, 0.683612f, 0.847389f, 0.528939f, 0.304141f, 0.187415f, -0.200966f, -0.273085f, -0.478595f, -0.847350f, -0.917311f, -0.885823f, -0.720413f, -0.715406f, -0.735178f, 1.101506f, 1.075145f, 1.071074f, 0.948638f, 0.786090f, 0.857970f, 0.676642f, 0.772200f, 0.616826f, 0.692142f, 0.726773f, 0.639481f, 0.181910f, 0.101839f, 0.179943f, -0.015476f, -0.196976f, -0.064757f, -0.522756f, -0.729119f, -0.845834f, -0.877776f, -0.836910f, -0.832354f, -0.852700f, -0.973415f, -0.983194f, -0.785358f, -0.702870f, 0.744805f, 0.834861f, 0.937008f, 0.924261f, 1.077322f, 1.052889f, 0.952216f, 0.905275f, 0.762317f, 0.810846f, 0.753938f, 0.760334f, -0.168877f, 0.193520f, -0.382004f, -0.690942f, -0.834172f, -0.790667f, -0.801603f, -0.923738f, -0.914797f, -0.907333f, -0.879560f, -0.844784f, -0.781954f, -0.788346f, -0.644026f, -0.556458f, -0.636284f, -0.849135f, 0.296021f, 0.335389f, 0.769749f, 0.846506f, 0.917915f, 0.985935f, 0.931695f, 0.917757f, 1.015311f, 0.967293f, 1.098220f, 1.099574f, -1.047063f, -1.015151f, -1.025183f, -1.050724f, -0.986364f, -0.722105f, -0.754393f, -0.667498f, -0.695099f, -0.643108f, -0.592180f, -0.592531f, -0.450007f, -0.198675f, 0.079360f, 0.380984f, 0.469436f, 0.595262f, 0.815198f, 0.893722f, 1.095714f, 1.063231f, -1.037947f, -0.848830f, -0.734012f, -0.761612f, -0.722668f, -0.686480f, -0.721804f, -0.731451f, -0.605103f, -0.017459f, -0.467722f, 0.079320f, 0.316148f, 0.389621f, 0.408142f, 0.816912f, -0.638804f, -0.746567f, -0.413876f, 0.050935f, 0.506065f, -0.714510f, -0.761068f, 0.820472f, 0.360624f, -0.717116f, -1.083433f, -1.063656f, 0.989973f, 0.765840f, 0.157523f, -0.715531f, -0.914155f, -0.965354f, -0.954499f, -0.986654f, -0.984576f, -0.881102f, -1.047296f, 1.087768f, 0.734926f, 0.240270f, -0.326274f, -0.649455f, -0.542686f, -0.678116f, -0.679528f, -0.842882f, -0.911410f, -0.886172f, -0.923259f, -0.059201f, 0.834972f, 0.711219f, 0.793293f, 0.810474f, 1.029935f, 1.088389f, 0.912792f, 1.017638f, 0.931018f, -0.455498f, -0.852534f, -1.035258f, -0.895742f, -0.818120f, -0.687623f, -0.841610f, -0.633888f, 0.164673f, 0.247010f, -0.047539f, 0.230341f, 0.832206f, 1.082886f, -0.762692f, -0.733124f, -0.684868f, -0.713765f, -0.696066f, -0.752798f, -0.756574f, -0.708940f, -0.756810f, -0.205661f, 0.305981f, 0.386868f, 0.741799f, 0.713567f, 0.678562f, 0.868151f, 0.753312f, 0.854106f, 0.816194f, 0.758913f, 0.969769f, 1.044846f, 1.088099f, -0.736110f, -0.864991f, -0.449745f, 0.264492f, 0.673845f, 0.779650f, 0.794458f, -0.718607f, -0.643500f, -0.128299f, 0.440173f, 0.146353f, 0.639072f, 0.677477f, -0.800607f, 0.801062f, 0.770398f, 0.051810f, -0.724014f, -0.768056f}, { -0.271521f, -0.297023f, -0.963899f, -1.148868f, -1.312263f, -1.218617f, -0.686947f, -0.792764f, -0.657005f, -0.474635f, -0.618770f, -0.563510f, -0.880481f, -0.626334f, -0.836661f, -0.913948f, -1.242068f, -1.192691f, -1.340741f, -1.214472f, -1.266619f, -1.120524f, -1.117784f, -1.103530f, -0.974658f, -0.594733f, -0.352817f, -0.871211f, -1.140277f, -1.101030f, -1.157009f, -0.991464f, -0.976769f, -1.220256f, -1.300917f, -1.320049f, -1.211557f, -1.001152f, -0.793624f, -0.828625f, -0.601792f, -0.800085f, -1.045485f, -1.071662f, -1.033263f, -0.342221f, -0.564743f, -0.292757f, -0.740297f, -0.880282f, -0.845279f, -0.841515f, -0.733887f, -0.718587f, -0.840509f, -0.640982f, -0.823975f, -0.916057f, -0.871951f, -0.846784f, -0.861183f, -0.857380f, -0.904398f, -1.011223f, -0.724537f, -0.531124f, -0.591064f, -0.287808f, -0.363055f, -0.471423f, -0.566183f, -0.689626f, -0.391028f, -0.975320f, -0.625845f, -0.463020f, -0.140990f, 0.082077f, -0.121396f, -0.476134f, -0.613188f, -0.627705f, -0.807704f, -0.838918f, -0.971943f, -0.910713f, -1.082886f, -0.979716f, -1.056916f, -0.549517f, -0.367478f, -0.257530f, -0.304947f, -0.633155f, -0.554129f, -0.463120f, -0.218057f, 0.238502f, 0.366861f, 0.274303f, 0.326452f, 0.271644f, 0.268539f, -0.138252f, 0.354002f, 0.372277f, 0.159941f, -0.205264f, -0.164878f, 0.025527f, 0.190105f, 0.224181f, 0.048499f, 0.132055f, -0.278980f, -0.528957f, -0.549066f, -0.554515f, -0.538168f, -0.128756f, 0.079601f, 0.336243f, 0.317436f, 0.456420f, 0.401662f, 0.492182f, 0.528777f, 0.526784f, 0.592186f, 0.577471f, 0.640895f, 0.589796f, 0.544089f, 0.494948f, 0.343106f, 0.251393f, -0.265222f, -0.225624f, -0.698054f, 0.188970f, 0.302899f, 0.288854f, 0.319151f, 0.342735f, 0.326224f, 0.307174f, 0.447258f, 0.596590f, 0.451313f, 0.497689f, 0.534107f, 0.449526f, 0.402894f, -0.133306f, 0.413314f, 0.295760f, 0.476188f, 0.525588f, 0.251723f, 0.317068f, 0.306506f, 0.009763f, 0.546108f, 0.353169f, -0.487825f, -0.153398f, 0.101695f, 0.359003f, 0.589998f, 0.363523f, 0.197719f, -0.413136f, -0.595111f, -0.585935f, -0.460617f, -1.021736f, -0.560646f, -0.179114f, -0.067171f, 0.082756f, 0.046680f, 0.482360f, -0.284980f, 0.463911f, 0.464096f, -0.343142f, -0.655085f, -0.234648f, -0.525605f, -0.996878f, -0.642791f, -0.736980f, -0.915455f, -0.671289f, -0.659667f, -0.500815f, -0.729329f, -0.156105f, -0.214797f, -0.849249f, -0.340975f, -0.226739f, -0.431121f, -0.429264f, -0.584385f, -0.366117f, -0.762772f, -0.935867f, -0.872009f, -0.947518f, -0.844330f, -0.714611f, -0.173218f, -1.033464f, -1.018918f, -1.082489f, -1.078879f, -1.069961f, -1.037866f, -1.009271f, -1.055987f, -0.510103f, -1.358396f, -1.330362f, -1.284216f, -0.915234f, -1.122949f, -1.139878f, -0.895448f, -0.985653f, -0.842393f, -0.850078f, -0.859433f, -0.635986f, -0.662008f, -0.417973f, -1.060067f, -0.758538f, -1.240606f, -1.305807f, -1.040477f, -1.053429f, -0.846748f, -0.205396f, -0.175558f, -0.321888f, -0.761367f, -0.425727f, -0.512125f, -0.555036f, -0.815671f, -0.762948f, -0.694094f, -1.369802f, -1.082832f, -0.295030f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; const float Data3[4][szData3] = { { 0.003872f, 0.019980f, 0.039358f, 0.026374f, 0.032159f, 0.034891f, 0.045243f, 0.044290f, 0.033680f, 0.054899f, 0.092652f, 0.072207f, 0.078639f, 0.076981f, 0.083737f, 0.090725f, 0.074797f, 0.110267f, 0.115035f, 0.111368f, 0.108476f, 0.133349f, 0.136153f, 0.137021f, 0.131285f, 0.140045f, 0.142382f, 0.144433f, 0.139953f, 0.132010f, 0.129274f, 0.136572f, 0.120432f, 0.109395f, 0.110128f, 0.116409f, 0.094800f, 0.095290f, 0.102572f, 0.120400f, 0.102221f, 0.138848f, 0.141485f, 0.146471f, 0.148237f, 0.140356f, 0.139779f, 0.136431f, 0.129482f, 0.149126f, 0.139621f, 0.096183f, 0.090528f, 0.098333f, 0.056310f, 0.059302f, 0.058995f, 0.091314f, 0.069003f, 0.061675f, 0.043312f, 0.045844f, 0.021067f, 0.007679f}, { 0.115634f, -0.141962f, 0.095696f, 0.107480f, 0.118380f, 0.124361f, -0.142404f, -0.142991f, -0.137501f, -0.132458f, -0.124512f, -0.139564f, -0.137217f, 0.110506f, 0.103497f, 0.091754f, 0.086022f, 0.065630f, 0.074604f, 0.081943f, 0.081685f, 0.050918f, 0.049482f, 0.039398f, 0.006591f, 0.005087f, 0.022468f, 0.032411f, -0.028065f, -0.065524f, -0.074889f, -0.058733f, -0.080579f, -0.107976f, -0.103160f, -0.093991f, -0.125362f, -0.125715f, -0.116656f, -0.089114f, -0.113009f, -0.033584f, -0.025642f, -0.024367f, -0.013578f, -0.005951f, -0.043650f, -0.052597f, -0.055099f, 0.004233f, 0.022105f, 0.091904f, 0.094606f, 0.086125f, 0.095726f, 0.105424f, 0.120100f, -0.130113f, -0.128731f, -0.141293f, 0.122048f, 0.096618f, -0.144860f, 0.104390f}, { 0.230322f, 0.217157f, 0.256507f, 0.233866f, 0.195817f, 0.155823f, 0.167722f, 0.203005f, 0.243452f, 0.265257f, 0.235611f, 0.216153f, 0.182566f, 0.145834f, 0.176506f, 0.206024f, 0.254001f, 0.251556f, 0.215323f, 0.180650f, 0.144437f, 0.177781f, 0.212539f, 0.231451f, 0.257088f, 0.201304f, 0.180031f, 0.163235f, 0.151233f, 0.164804f, 0.208547f, 0.230286f, 0.258539f, 0.226369f, 0.186464f, 0.180355f, 0.145546f, 0.189623f, 0.224968f, 0.189060f, 0.239602f, 0.243304f, 0.210761f, 0.174446f, 0.165172f, 0.224688f, 0.226626f, 0.241347f, 0.146260f, 0.164365f, 0.218413f, 0.153143f, 0.195574f, 0.211582f, 0.238820f, 0.209780f, 0.158710f, 0.153569f, 0.264609f, 0.184786f, 0.157022f, 0.247159f, 0.169907f, 0.262064f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; const float Norms3[4][szData3] = { { 0.222228f, -0.002905f, 0.361584f, 0.279716f, 0.214687f, 0.294375f, 0.143665f, 0.097510f, 0.020775f, 0.205469f, 0.760713f, 0.300066f, 0.407748f, 0.725054f, 0.585057f, 0.567589f, 0.400876f, 0.767495f, 0.701476f, 0.804853f, 0.736042f, 1.025178f, 1.081474f, 1.083625f, 0.957926f, 1.133195f, 1.069956f, 1.114232f, 1.003043f, 1.006139f, 0.958426f, 1.097224f, 0.905090f, 0.931742f, 0.915174f, 0.927489f, 0.812618f, 0.859733f, 0.862799f, 0.953570f, 0.811090f, 1.106876f, 1.129736f, 1.125181f, 1.124280f, 1.140215f, 1.129257f, 1.099541f, 0.999078f, 1.144776f, 1.138777f, 0.801278f, 0.584809f, 0.588867f, 0.372334f, 0.337916f, 0.263101f, 0.713124f, 0.485283f, 0.207464f, 0.218873f, 0.371240f, 0.113561f, 0.255252f}, { 1.045258f, -1.125958f, 0.989528f, 1.037643f, 1.078426f, 1.053110f, -1.136789f, -1.140789f, -1.120816f, -1.092583f, -0.816122f, -1.111897f, -1.079619f, 0.848829f, 0.943322f, 0.940836f, 0.971484f, 0.711141f, 0.871966f, 0.798776f, 0.857090f, 0.498334f, 0.372466f, 0.287333f, 0.224731f, 0.087215f, 0.223007f, 0.255267f, -0.358670f, -0.478611f, -0.627068f, -0.284886f, -0.622467f, -0.668131f, -0.692223f, -0.676908f, -0.809053f, -0.768935f, -0.761150f, -0.641872f, -0.774707f, 0.032497f, 0.019815f, -0.224542f, -0.178833f, -0.016099f, -0.161699f, -0.266368f, -0.423709f, 0.038632f, 0.059688f, 0.794028f, 0.933096f, 0.940511f, 0.993977f, 1.039103f, 1.097636f, -0.911177f, -0.983765f, -1.130258f, 1.093723f, 0.988389f, -1.140094f, 1.032229f}, { 0.527171f, 0.393874f, 0.568331f, 0.499600f, 0.407937f, 0.420573f, 0.128832f, 0.242584f, 0.424908f, 0.500816f, 0.510149f, 0.267633f, 0.122860f, -0.040928f, 0.384769f, 0.433318f, 0.585104f, 0.640615f, 0.357805f, 0.108331f, 0.214486f, 0.244556f, 0.257802f, 0.437532f, 0.775817f, 0.284421f, 0.495292f, 0.262353f, -0.230574f, -0.090649f, 0.121342f, 0.391543f, 0.559651f, 0.326223f, 0.116418f, 0.131811f, 0.013999f, 0.233162f, 0.306716f, 0.172101f, 0.483860f, 0.485287f, 0.356686f, 0.129098f, 0.023640f, 0.211312f, 0.310280f, 0.404815f, -0.182266f, 0.077769f, 0.201849f, 0.053832f, 0.424965f, 0.383047f, 0.544229f, 0.434763f, 0.211276f, 0.096192f, 0.573847f, 0.158441f, 0.315216f, 0.561581f, 0.139007f, 0.541029f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; const float Data4[4][szData4] = { { -0.065679f, -0.067360f, -0.053844f, -0.058688f, -0.052992f, -0.051125f, -0.048786f, -0.043180f, -0.044312f, -0.050454f, -0.054299f, -0.047031f, -0.052571f, -0.033425f, -0.035243f, -0.027276f, -0.015008f, -0.014767f, -0.029807f, -0.019357f, -0.027223f, -0.036015f, -0.025203f, -0.027939f, -0.007877f, -0.001109f, -0.005227f, -0.003999f, -0.010697f, -0.016868f, -0.016456f, -0.018487f, -0.008629f, 0.015259f, 0.009037f, 0.017640f, 0.012080f, 0.007992f, -0.000293f, 0.015855f, 0.012048f, 0.009538f, 0.007727f, 0.020213f, 0.026757f, 0.026529f, 0.036255f, 0.043465f, 0.037656f, 0.021977f, 0.015545f, 0.001803f, 0.018512f, 0.032102f, 0.025598f, 0.026782f, 0.046457f, 0.045135f, 0.057550f, 0.040966f, 0.042690f, 0.056369f, 0.037146f, 0.041040f, 0.043903f, 0.053225f, 0.059823f, 0.068199f, 0.076368f, 0.071201f, 0.084847f, 0.072264f, 0.068131f, 0.074217f, 0.067147f, 0.081124f, 0.073280f, 0.103463f, 0.097042f, 0.104832f, 0.109236f, 0.108655f, 0.102062f, 0.086610f, 0.070059f, 0.053407f, 0.062062f, 0.070948f, 0.064974f, 0.055521f, 0.055137f, 0.048148f, 0.047184f, 0.034231f, 0.055017f, 0.107932f, 0.060634f, 0.053989f, 0.063130f, 0.060940f, 0.092446f, 0.027563f, 0.024510f, 0.026941f, 0.051341f, 0.063157f, 0.040213f, 0.046286f, 0.020911f, -0.006044f, -0.009020f, -0.008355f, 0.028517f, 0.022838f, 0.003813f, 0.006019f, -0.019919f, -0.042731f, -0.038798f, -0.008082f, -0.008098f, -0.060944f, -0.026939f, -0.026682f, -0.046161f, -0.049482f, -0.060528f, -0.060718f}, { 0.104703f, 0.083089f, -0.110272f, -0.127094f, -0.129680f, -0.126663f, -0.122202f, 0.021660f, 0.040212f, 0.058051f, 0.080929f, 0.072373f, 0.088297f, 0.081788f, 0.093984f, -0.122476f, -0.123547f, -0.122079f, -0.124024f, -0.117334f, -0.116679f, -0.114515f, -0.103194f, -0.096033f, -0.003571f, 0.017682f, 0.025600f, 0.038676f, 0.055926f, 0.071744f, 0.078746f, 0.085811f, 0.088216f, -0.123549f, -0.120817f, -0.115558f, -0.105991f, -0.102868f, -0.098254f, -0.086785f, -0.078590f, -0.072751f, -0.065118f, -0.055847f, -0.020792f, -0.005249f, -0.003157f, -0.003243f, 0.019462f, 0.020077f, 0.029520f, 0.032458f, 0.037379f, 0.052832f, 0.071472f, 0.076705f, -0.113288f, -0.104191f, -0.095308f, -0.093938f, -0.080939f, -0.073595f, -0.068706f, -0.060659f, -0.052239f, -0.041784f, -0.045767f, -0.035253f, -0.051794f, -0.035733f, -0.044591f, -0.072998f, -0.066548f, -0.090117f, -0.082162f, 0.011796f, 0.003371f, -0.015077f, -0.020843f, -0.029691f, -0.053891f, -0.034992f, -0.059104f, -0.032119f, -0.019649f, -0.017538f, -0.029533f, -0.011352f, -0.006708f, 0.004337f, 0.031544f, 0.053341f, 0.066758f, 0.037303f, -0.012525f, -0.029306f, -0.102710f, -0.089959f, -0.074457f, -0.065776f, -0.044252f, -0.055968f, -0.062779f, -0.070704f, -0.092853f, -0.096136f, 0.055071f, -0.012327f, -0.052778f, -0.075258f, -0.081398f, -0.092175f, -0.077479f, -0.109532f, 0.084314f, 0.054904f, -0.108288f, -0.119805f, -0.128462f, -0.122359f, -0.123082f, 0.099664f, 0.064728f, 0.023182f, -0.127205f, -0.122083f, 0.059462f, 0.096892f}, { 0.318235f, 0.364149f, 0.312792f, 0.336000f, 0.360611f, 0.383421f, 0.399917f, 0.416436f, 0.401174f, 0.387341f, 0.365098f, 0.375083f, 0.350893f, 0.363006f, 0.328174f, 0.313365f, 0.321735f, 0.339158f, 0.357714f, 0.365252f, 0.380437f, 0.397373f, 0.400651f, 0.414172f, 0.415730f, 0.402383f, 0.403662f, 0.395758f, 0.382834f, 0.366107f, 0.355648f, 0.340780f, 0.322598f, 0.315919f, 0.329173f, 0.336160f, 0.353592f, 0.359792f, 0.373010f, 0.369030f, 0.383631f, 0.395815f, 0.409998f, 0.405540f, 0.396323f, 0.380248f, 0.364024f, 0.356122f, 0.359100f, 0.376751f, 0.382082f, 0.395626f, 0.374610f, 0.348871f, 0.330347f, 0.317952f, 0.313031f, 0.324962f, 0.323285f, 0.343684f, 0.356371f, 0.352575f, 0.372623f, 0.378444f, 0.383935f, 0.385972f, 0.378995f, 0.379965f, 0.359245f, 0.377639f, 0.354343f, 0.335491f, 0.348504f, 0.314707f, 0.330059f, 0.313122f, 0.323464f, 0.313879f, 0.335967f, 0.330382f, 0.310572f, 0.320553f, 0.317856f, 0.356738f, 0.358170f, 0.367508f, 0.378693f, 0.338023f, 0.336620f, 0.340848f, 0.336706f, 0.331546f, 0.316908f, 0.357353f, 0.355455f, 0.323132f, 0.312808f, 0.333361f, 0.344156f, 0.357169f, 0.344246f, 0.395951f, 0.390971f, 0.377357f, 0.331856f, 0.317976f, 0.338603f, 0.364080f, 0.409734f, 0.414794f, 0.409295f, 0.390864f, 0.369479f, 0.342671f, 0.325355f, 0.372095f, 0.384006f, 0.398053f, 0.344500f, 0.329704f, 0.324182f, 0.326574f, 0.378121f, 0.414905f, 0.377912f, 0.324353f, 0.386863f, 0.335798f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; const float Norms4[4][szData4] = { { 0.276888f, -0.056528f, -0.388706f, -0.350146f, -0.179230f, -0.063606f, 0.215526f, -0.089536f, -0.053158f, 0.001092f, 0.030683f, 0.036252f, 0.097170f, 0.155774f, 0.222595f, -0.201482f, -0.000462f, 0.216386f, 0.364458f, 0.437960f, 0.554521f, 0.510854f, 0.612768f, 0.549956f, 0.614393f, 0.667131f, 0.540115f, 0.442071f, 0.297312f, 0.278578f, 0.353543f, 0.182330f, 0.228730f, 0.093612f, 0.149169f, 0.370486f, 0.446862f, 0.496085f, 0.587441f, 0.506211f, 0.611137f, 0.614458f, 0.643201f, 0.642108f, 0.605609f, 0.722347f, 0.761938f, 0.732604f, 0.781339f, 0.770715f, 0.748655f, 0.630879f, 0.708156f, 0.634650f, 0.441484f, 0.423960f, 0.554860f, 0.577764f, 0.593228f, 0.573925f, 0.504928f, 0.598376f, 0.466966f, 0.506762f, 0.524157f, 0.568640f, 0.529083f, 0.534717f, 0.738262f, 0.752136f, 0.814650f, 0.625030f, 0.633336f, 0.612602f, 0.604738f, 0.759857f, 0.701383f, 0.732515f, 0.607064f, 1.005215f, 0.930137f, 1.020036f, 0.829779f, 0.858834f, 0.400419f, 0.437251f, 0.417137f, 0.472333f, 0.615020f, 0.779015f, 0.793708f, 0.678074f, 0.538625f, 0.724243f, 0.487937f, 1.027398f, 0.525242f, 0.600960f, 0.627114f, 0.583313f, 0.837251f, 0.625048f, 0.599634f, 0.499831f, 0.621941f, 0.556240f, 0.650403f, 0.522047f, 0.660900f, 0.612172f, 0.610205f, 0.626696f, 0.485855f, 0.464707f, 0.334838f, 0.523978f, 0.580122f, 0.470471f, 0.125369f, 0.101258f, 0.054031f, 0.114429f, 0.137934f, 0.140142f, 0.098547f, -0.281638f, -0.055586f, 0.075397f}, { 0.950078f, 0.906183f, -0.909084f, -1.001468f, -1.119097f, -1.108008f, -0.909898f, 0.626620f, 0.673020f, 0.666674f, 0.914237f, 0.773420f, 0.983562f, 0.920898f, 0.985074f, -1.106360f, -1.122932f, -1.080153f, -1.028170f, -0.960502f, -0.851796f, -0.833530f, -0.723855f, -0.784291f, 0.356564f, 0.198235f, 0.308860f, 0.601289f, 0.749406f, 0.843176f, 0.874745f, 1.031481f, 1.023692f, -1.091498f, -1.068765f, -0.928578f, -0.752636f, -0.739064f, -0.720257f, -0.755006f, -0.700273f, -0.753430f, -0.696356f, -0.706137f, 0.589253f, 0.450102f, 0.347076f, 0.364204f, 0.117882f, 0.140650f, 0.266357f, 0.377495f, 0.409797f, 0.587693f, 0.880223f, 0.911760f, -0.733745f, -0.790395f, -0.686024f, -0.772417f, -0.759080f, -0.722065f, -0.737578f, -0.692726f, -0.663982f, -0.381231f, -0.594247f, 0.301299f, -0.583677f, 0.190704f, -0.461828f, -0.718622f, -0.719056f, -0.662531f, -0.741932f, 0.243179f, 0.284287f, 0.626054f, 0.726916f, 0.059955f, -0.357359f, -0.174705f, -0.497475f, 0.062088f, 0.843293f, 0.789494f, 0.593364f, 0.779661f, 0.608471f, 0.161582f, 0.254335f, 0.569987f, 0.794514f, 0.358166f, 0.781775f, 0.071492f, -0.795653f, -0.783492f, -0.722293f, -0.736895f, -0.481703f, -0.680945f, -0.705663f, -0.756624f, -0.752126f, -0.689604f, 0.599146f, 0.766585f, -0.686064f, -0.740865f, -0.746200f, -0.725761f, -0.682272f, -0.851910f, 0.973536f, 0.659821f, -0.801263f, -0.803933f, -1.110832f, -1.106394f, -1.114714f, 1.033199f, 0.779525f, 0.593848f, -1.109100f, -0.910383f, 0.655970f, 1.016592f}, { 0.728100f, 0.931949f, -0.186975f, -0.051972f, 0.432150f, 0.575269f, 0.956401f, 1.211342f, 1.175432f, 1.179124f, 0.911336f, 1.083318f, 0.770510f, 0.873005f, 0.701641f, 0.273067f, 0.353632f, 0.508455f, 0.522258f, 0.647967f, 0.728544f, 0.826268f, 0.856472f, 0.852736f, 1.110773f, 1.124087f, 1.192564f, 1.091811f, 1.034151f, 0.929670f, 0.834696f, 0.596478f, 0.584407f, 0.554531f, 0.615105f, 0.799299f, 0.980341f, 0.957304f, 0.890388f, 0.928523f, 0.888212f, 0.809032f, 0.854646f, 0.841852f, 0.937411f, 0.935669f, 0.956241f, 0.980678f, 1.020348f, 1.028559f, 1.019623f, 1.092198f, 0.995656f, 0.941204f, 0.746234f, 0.698654f, 0.910158f, 0.820372f, 0.926696f, 0.849273f, 0.927739f, 0.887098f, 0.979141f, 0.997794f, 1.012526f, 1.172817f, 1.071068f, 1.197946f, 0.887447f, 1.074097f, 0.895915f, 0.862387f, 0.853258f, 0.933159f, 0.855131f, 1.010104f, 1.049116f, 0.753475f, 0.761095f, 0.756145f, 0.794337f, 0.707677f, 0.845358f, 0.985064f, 0.740522f, 0.816243f, 1.075773f, 0.799747f, 0.901425f, 1.013031f, 0.973006f, 0.911435f, 0.795298f, 1.006145f, 0.781681f, 0.703160f, 0.864141f, 0.802227f, 0.856241f, 0.883216f, 0.848135f, 0.898360f, 0.896868f, 0.930429f, 0.821524f, 0.954109f, 0.914494f, 0.772672f, 0.844893f, 0.832855f, 0.827146f, 0.832769f, 1.021450f, 0.846286f, 0.641117f, 0.976905f, 0.783677f, 0.916312f, 0.255064f, 0.470137f, 0.437344f, 0.639236f, 1.057740f, 1.218963f, 0.500145f, -0.245460f, 1.189455f, 0.704070f}, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f}, }; //Map Data and Norms Arrays to Pointer Arrays const float* DataPtrArr[Nsegs] = { &Data0[0][0], &Data1[0][0], &Data2[0][0], &Data3[0][0], &Data4[0][0] }; const float* NormsPtrArr[Nsegs] = { &Norms0[0][0], &Norms1[0][0], &Norms2[0][0], &Norms3[0][0], &Norms4[0][0] }; //The rotation axes: global followed by joints const float w[Nrots][3] = { { 0.999790f, -0.020328f, -0.002402f}, {-0.009912f, -0.999163f, -0.039697f}, {-0.244879f, 0.040916f, -0.968690f}, { 0.969503f, 0.000119f, -0.245080f}, {-0.028984f, -0.998972f, -0.034868f}, {-0.007188f, 0.035090f, -0.999358f}, { 0.999554f, -0.028715f, -0.008198f}, { 0.207089f, -0.977666f, -0.035818f}, { 0.375414f, 0.113222f, -0.919916f}, { 0.903426f, 0.177058f, 0.390477f}, { 0.101648f, -0.991553f, -0.080557f}, {-0.907033f, -0.059114f, -0.416888f}, { 0.408605f, 0.115444f, -0.905381f}, { 0.009912f, 0.999163f, 0.039697f}, { 0.001871f, -0.039717f, 0.999209f}, { 0.999949f, -0.009830f, -0.002264f}, {-0.090612f, 0.995094f, 0.039724f}, {-0.682818f, -0.091114f, 0.724884f}, { 0.724947f, 0.038559f, 0.687724f} }; //anchor points along each rotation axis const float q[Nrots][3] = { { 0.000000f, 0.000000f, 0.000000f}, { 0.068930f, -0.011052f, 0.120007f}, { 0.068930f, -0.011052f, 0.120007f}, { 0.068930f, -0.011052f, 0.120007f}, { 0.013719f, -0.001827f, -0.098396f}, { 0.013719f, -0.001827f, -0.098396f}, { 0.013719f, -0.001827f, -0.098396f}, { 0.012823f, 0.002548f, -0.222986f}, { 0.012823f, 0.002548f, -0.222986f}, { 0.012823f, 0.002548f, -0.222986f}, { 0.041231f, 0.011116f, -0.292597f}, { 0.041231f, 0.011116f, -0.292597f}, { 0.041231f, 0.011116f, -0.292597f}, { 0.068930f, -0.011052f, 0.120007f}, { 0.068930f, -0.011052f, 0.120007f}, { 0.068930f, -0.011052f, 0.120007f}, { 0.069218f, -0.017163f, 0.273749f}, { 0.069218f, -0.017163f, 0.273749f}, { 0.069218f, -0.017163f, 0.273749f} }; const float bounds[2][Njoints] = { { -0.785398f, -0.523599f, -1.047198f, -1.047198f, -0.523599f, -1.570796f, -1.047198f, -0.785398f, -1.570796f, -1.570796f, -0.785398f, -1.047198f, -0.785398f, -0.261799f, -0.523599f, -0.785398f, -0.261799f, -0.261799f}, { 0.785398f, 0.523599f, 1.047198f, 1.047198f, 0.523599f, 1.570796f, 2.617994f, 0.785398f, 1.570796f, 1.047198f, 0.785398f, 1.047198f, 0.785398f, 0.261799f, 0.523599f, 0.785398f, 0.261799f, 0.261799f}, };