summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortorset2009-02-13 13:53:28 +0000
committertorset2009-02-13 13:53:28 +0000
commitc697402219634b3515b21f3eedf9dd88a9e45448 (patch)
treeacb889443db30252de6e9f831c1a8c9bfea7040c
parentb43ab503b0b67e612aa1b486ce4b87df1fb53401 (diff)
downloadscilab2c-c697402219634b3515b21f3eedf9dd88a9e45448.tar.gz
scilab2c-c697402219634b3515b21f3eedf9dd88a9e45448.tar.bz2
scilab2c-c697402219634b3515b21f3eedf9dd88a9e45448.zip
add/modify/remove tests
-rw-r--r--src/elementaryFunctions/acos/testDoubleAcos.c88
-rw-r--r--src/elementaryFunctions/acos/testFloatAcos.c158
-rw-r--r--src/elementaryFunctions/asinh/testDoubleAsinh.c2
-rw-r--r--src/elementaryFunctions/asinh/testFloatAsinh.c509
-rw-r--r--src/elementaryFunctions/atanh/testDoubleAtanh.c68
-rw-r--r--src/elementaryFunctions/log/testDoubleLog.c465
-rw-r--r--src/elementaryFunctions/log/testFloatLog.c470
-rw-r--r--src/elementaryFunctions/log10/testDoubleLog10.c2
-rw-r--r--src/elementaryFunctions/log1p/testDoubleLog1p.c1240
-rw-r--r--src/elementaryFunctions/log1p/testFloatLog1p.c952
-rw-r--r--src/elementaryFunctions/pow/testDoublePow.c14
11 files changed, 3564 insertions, 404 deletions
diff --git a/src/elementaryFunctions/acos/testDoubleAcos.c b/src/elementaryFunctions/acos/testDoubleAcos.c
deleted file mode 100644
index d7cdeb77..00000000
--- a/src/elementaryFunctions/acos/testDoubleAcos.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-#include "testAcos.h"
-
-void dacossTest(void) {
- printf(">> Double scalar\n");
- printf("dacoss(0) = %e\n", dacoss((double) 0));
- printf("dacoss(PI) = %e\n", dacoss(DPI));
- printf("dacoss(PI/2) = %e\n", dacoss(DPI/2));
- printf("dacoss(PI/3) = %e\n", dacoss(DPI/3));
- printf("dacoss(PI/4) = %e\n", dacoss(DPI/4));
- printf("dacoss(PI/6) = %e\n", dacoss(DPI/6));
- printf("dacoss(-PI) = %e\n", dacoss(-DPI));
- printf("dacoss(-PI/2) = %e\n", dacoss(-DPI/2));
- printf("dacoss(-PI/3) = %e\n", dacoss(-DPI/3));
- printf("dacoss(-PI/4) = %e\n", dacoss(-DPI/4));
- printf("dacoss(-PI/6) = %e\n", dacoss(-DPI/6));
-}
-
-void zacossTest(void) {
- doubleComplex pi_pi = DoubleComplex(DPI, DPI);
- doubleComplex pi_2_pi_2 = DoubleComplex(DPI/2, DPI/2);
- doubleComplex pi_2_pi_3 = DoubleComplex(DPI/2, DPI/3);
- doubleComplex pi_2_pi_4 = DoubleComplex(DPI/2, DPI/4);
- doubleComplex out;
-
- printf(">> Double Complex scalar\n");
- out = zacoss(pi_pi);
- printf("zacoss(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out));
- out = zacoss(pi_2_pi_2);
- printf("zacoss(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out));
- out = zacoss(pi_2_pi_3);
- printf("zacoss(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out));
- out = zacoss(pi_2_pi_4);
- printf("zacoss(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out));
-}
-
-void dacosaTest(void) {
- double out[5];
- double in[5] = {DPI, DPI/2, DPI/3, DPI/4, DPI/6};
- int i = 0;
-
- printf(">> Double Array\n");
- dacosa(in, 5, out);
- for (i = 0 ; i < 5 ; ++i)
- printf("sacosa(array) = %f\n", out[i]);
-
-}
-
-void zacosaTest(void) {
- doubleComplex in[4];
- doubleComplex out[4];
- int i = 0;
-
- in[0] = DoubleComplex(DPI, DPI);
- in[1] = DoubleComplex(DPI/2, DPI/2);
- in[2] = DoubleComplex(DPI/2, DPI/3);
- in[3] = DoubleComplex(DPI/2, DPI/4);
-
- zacosa(in, 4, out);
- printf(">> Double Complex Array\n");
- for (i = 0 ; i < 4 ; ++i)
- printf("zacosa(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i]));
-}
-
-int testAcos(void) {
- printf("\n>>>> Double ArcCosine Tests\n");
- dacossTest();
- zacossTest();
- dacosaTest();
- zacosaTest();
- return 0;
-}
-
-int main(void) {
- assert(testAcos() == 0);
- return 0;
-}
diff --git a/src/elementaryFunctions/acos/testFloatAcos.c b/src/elementaryFunctions/acos/testFloatAcos.c
deleted file mode 100644
index 1a78e2ca..00000000
--- a/src/elementaryFunctions/acos/testFloatAcos.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
- *
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-#include "testAcos.h"
-#include <math.h>
-#include <stdio.h>
-#include <assert.h>
-
-void sacossTest(void) {
- int i=0;
-
- float Test1[100] = {0.3616361f,0.2922267f,0.5664249f,0.4826472f,0.3321719f,0.5935095f,0.5015342f,0.4368588f,
-0.2693125f,0.6325745f,0.4051954f,0.9184708f,0.0437334f,0.4818509f,0.2639556f,0.4148104f,
-0.2806498f,0.1280058f,0.7783129f,0.2119030f,0.1121355f,0.6856896f,0.1531217f,0.6970851f,
-0.8415518f,0.4062025f,0.4094825f,0.8784126f,0.1138360f,0.1998338f,0.5618661f,0.5896177f,
-0.6853980f,0.8906225f,0.5042213f,0.3493615f,0.3873779f,0.9222899f,0.9488184f,0.3435337f,
-0.3760119f,0.7340941f,0.2615761f,0.4993494f,0.2638578f,0.5253563f,0.5376230f,0.1199926f,
-0.2256303f,0.6274093f,0.7608433f,0.0485566f,0.6723950f,0.2017173f,0.3911574f,0.8300317f,
-0.5878720f,0.4829179f,0.2232865f,0.8400886f,0.1205996f,0.2855364f,0.8607515f,0.8494102f,
-0.5257061f,0.9931210f,0.6488563f,0.9923191f,0.0500420f,0.7485507f,0.4104059f,0.6084526f,
-0.8544211f,0.0642647f,0.8279083f,0.9262344f,0.5667211f,0.5711639f,0.8160110f,0.0568928f,
-0.5595937f,0.1249340f,0.7279222f,0.2677766f,0.5465335f,0.9885408f,0.7395657f,0.0037173f,
-0.5900573f,0.3096467f,0.2552206f,0.6251879f,0.1157417f,0.6117004f,0.6783956f,0.3320095f,
-0.0258710f,0.5174468f,0.3916873f,0.2413538f};
-
- float Result1[100] = {1.2007742f,1.274242f,0.9686351f,1.0671216f,1.232191f,0.9353839f,1.0454251f,1.1186927f,1.2981173f,
-0.8859235f,1.1536038f,0.4066000f,1.5270489f,1.0680306f,1.3036754f,1.1430619f,1.2863253f,
-1.4424383f,0.6788221f,1.3572745f,1.4584245f,0.8152457f,1.4170699f,0.7994724f,0.5706467f,
-1.1525019f,1.1489095f,0.4982660f,1.4567131f,1.3696081f,0.9741564f,0.9402109f,0.8156462f,
-0.4720841f,1.0423163f,1.2139067f,1.1730106f,0.3968325f,0.3213230f,1.2201193f,1.1853078f,
-0.7464647f,1.3061415f,1.0479487f,1.3037767f,1.0176625f,1.0031809f,1.4505139f,1.3432063f,
-0.8925746f,0.7061847f,1.5222206f,0.8333567f,1.3676854f,1.1689075f,0.5916319f,0.9423705f,
-1.0668124f,1.3456115f,0.5733499f,1.4499025f,1.2812302f,0.5340522f,0.5559297f,1.0172514f,
-0.1173619f,0.8647159f,0.1240222f,1.5207334f,0.7249227f,1.1478972f,0.9166870f,0.5463607f,
-1.5064873f,0.5954284f,0.3864991f,0.9682756f,0.9628732f,0.6163202f,1.5138728f,0.9769009f,1.445535f,
-0.7555096f,1.2997117f,0.9925771f,0.1515334f,0.7383715f,1.567079f,0.9396665f,1.2559748f,1.3127205f,
-0.8954240f,1.4547946f,0.9125881f,0.8252196f,1.2323632f,1.5449224f,1.0269318f,1.1683316f,1.3270356f};
-
- float Test2[100]={0.9321636f,0.1232699f,0.2865552f,0.0124800f,0.5769405f,0.3938696f,0.6888584f,0.9702322f,
-0.8515764f,0.3393304f,0.8772532f,0.1131402f,0.5264128f,0.5297394f,0.9291756f,0.9765430f,
-0.6225464f,0.9822583f,0.7542989f,0.5454788f,0.7286016f,0.0252597f,0.4025168f,0.0983132f,
-0.2608625f,0.3636342f,0.1746618f,0.9234139f,0.7605141f,0.5640204f,0.3797065f,0.8776226f,
-0.8217426f,0.6787058f,0.0822010f,0.2552731f,0.7444457f,0.2269504f,0.6836931f,0.9365073f,
-0.5053017f,0.2524815f,0.6818840f,0.2836368f,0.1409486f,0.6759110f,0.4512678f,0.7543029f,
-0.1370214f,0.6608241f,0.3890054f,0.7001821f,0.9168006f,0.21229f,0.2697833f,0.3199889f,0.0232180f,
-0.7265447f,0.1534059f,0.2355264f,0.0879738f,0.7105954f,0.6888728f,0.6595319f,0.1815116f,
-0.3904966f,0.1586905f,0.6240715f,0.6376036f,0.4270489f,0.1071682f,0.2382297f,0.9462947f,
-0.4576685f,0.8964479f,0.4438471f,0.8089568f,0.6831799f,0.0340193f,0.2380546f,0.9492012f,
-0.2182789f,0.6154688f,0.8313543f,0.7734013f,0.4244191f,0.7262126f,0.7099977f,0.4745746f,
-0.9438692f,0.1459649f,0.0714101f,0.6733739f,0.6536925f,0.1996896f,0.6014125f,0.1899375f,
-0.2583981f,0.0987874f,0.0619903f};
-
- float Result2[100]={0.3704526f,1.4472121f,1.280167f,1.558316f,0.9558184f,1.1659586f,0.8108833f,0.2446086f,0.5518112f,
-1.2245913f,0.5006866f,1.4574133f,1.0164204f,1.012503f,0.3786200f,0.2170219f,0.8988040f,0.1886498f,
-0.7162108f,0.9938360f,0.7545182f,1.5455339f,1.1565317f,1.4723241f,1.3068808f,1.1986301f,
-1.3952341f,0.3939139f,0.7066918f,0.9715498f,1.1813173f,0.4999164f,0.6063341f,0.8247973f,
-1.4885025f,1.3126661f,0.7310921f,1.3418511f,0.817985f,0.3582631f,1.0410647f,1.3155524f,0.8204611f,
-1.2832118f,1.4293768f,0.8285963f,1.1026109f,0.7162046f,1.4333425f,0.8488801f,1.1712446f,
-0.7951439f,0.4108027f,1.3568786f,1.2976283f,1.2450785f,1.5475762f,0.7575165f,1.4167823f,
-1.3330362f,1.4827086f,0.7804523f,0.8108635f,0.8506004f,1.3882729f,1.1696254f,1.4114321f,
-0.8968537f,0.8794129f,1.1295698f,1.463422f,1.3302537f,0.3292202f,1.0954251f,0.4591086f,1.1109091f,
-0.6284209f,0.8186880f,1.5367704f,1.330434f,0.3201089f,1.3507459f,0.9078157f,0.5892561f,0.6866071f,
-1.1324761f,0.7579997f,0.7813013f,1.0763156f,0.3366420f,1.4243081f,1.4993254f,0.8320334f,
-0.8583428f,1.3697552f,0.9255284f,1.3796979f,1.3094327f,1.4718476f,1.5087663f};
-
- for(i=0;i<100;i++){
- assert ( ( fabs(sacoss(Test1[i]) - Result1[i]) / fabs(sacoss(Test1[i])) ) < 1e-5);
- assert ( ( fabs(sacoss(Test2[i]) - Result2[i]) / fabs(sacoss(Test2[i])) ) < 1e-6);
-
- }
-}
-
-
-void dacossTest(void) {
- int i=0;
-
- double Test1[100] = {0.3616361 ,0.2922267 ,0.5664249 ,0.4826472 ,0.3321719 ,0.5935095 ,0.5015342 ,0.4368588 ,
-0.2693125 ,0.6325745 ,0.4051954 ,0.9184708 ,0.0437334 ,0.4818509 ,0.2639556 ,0.4148104 ,
-0.2806498 ,0.1280058 ,0.7783129 ,0.2119030 ,0.1121355 ,0.6856896 ,0.1531217 ,0.6970851 ,
-0.8415518 ,0.4062025 ,0.4094825 ,0.8784126 ,0.1138360 ,0.1998338 ,0.5618661 ,0.5896177 ,
-0.6853980 ,0.8906225 ,0.5042213 ,0.3493615 ,0.3873779 ,0.9222899 ,0.9488184 ,0.3435337 ,
-0.3760119 ,0.7340941 ,0.2615761 ,0.4993494 ,0.2638578 ,0.5253563 ,0.5376230 ,0.1199926 ,
-0.2256303 ,0.6274093 ,0.7608433 ,0.0485566 ,0.6723950 ,0.2017173 ,0.3911574 ,0.8300317 ,
-0.5878720 ,0.4829179 ,0.2232865 ,0.8400886 ,0.1205996 ,0.2855364 ,0.8607515 ,0.8494102 ,
-0.5257061 ,0.9931210 ,0.6488563 ,0.9923191 ,0.0500420 ,0.7485507 ,0.4104059 ,0.6084526 ,
-0.8544211 ,0.0642647 ,0.8279083 ,0.9262344 ,0.5667211 ,0.5711639 ,0.8160110 ,0.0568928 ,
-0.5595937 ,0.1249340 ,0.7279222 ,0.2677766 ,0.5465335 ,0.9885408 ,0.7395657 ,0.0037173 ,
-0.5900573 ,0.3096467 ,0.2552206 ,0.6251879 ,0.1157417 ,0.6117004 ,0.6783956 ,0.3320095 ,
-0.0258710 ,0.5174468 ,0.3916873 ,0.2413538 };
-
- double Result1[100] = {1.2007742 ,1.274242 ,0.9686351 ,1.0671216 ,1.232191 ,0.9353839 ,1.0454251 ,1.1186927 ,1.2981173 ,
-0.8859235 ,1.1536038 ,0.4066000 ,1.5270489 ,1.0680306 ,1.3036754 ,1.1430619 ,1.2863253 ,
-1.4424383 ,0.6788221 ,1.3572745 ,1.4584245 ,0.8152457 ,1.4170699 ,0.7994724 ,0.5706467 ,
-1.1525019 ,1.1489095 ,0.4982660 ,1.4567131 ,1.3696081 ,0.9741564 ,0.9402109 ,0.8156462 ,
-0.4720841 ,1.0423163 ,1.2139067 ,1.1730106 ,0.3968325 ,0.3213230 ,1.2201193 ,1.1853078 ,
-0.7464647 ,1.3061415 ,1.0479487 ,1.3037767 ,1.0176625 ,1.0031809 ,1.4505139 ,1.3432063 ,
-0.8925746 ,0.7061847 ,1.5222206 ,0.8333567 ,1.3676854 ,1.1689075 ,0.5916319 ,0.9423705 ,
-1.0668124 ,1.3456115 ,0.5733499 ,1.4499025 ,1.2812302 ,0.5340522 ,0.5559297 ,1.0172514 ,
-0.1173619 ,0.8647159 ,0.1240222 ,1.5207334 ,0.7249227 ,1.1478972 ,0.9166870 ,0.5463607 ,
-1.5064873 ,0.5954284 ,0.3864991 ,0.9682756 ,0.9628732 ,0.6163202 ,1.5138728 ,0.9769009 ,1.445535 ,
-0.7555096 ,1.2997117 ,0.9925771 ,0.1515334 ,0.7383715 ,1.567079 ,0.9396665 ,1.2559748 ,1.3127205 ,
-0.8954240 ,1.4547946 ,0.9125881 ,0.8252196 ,1.2323632 ,1.5449224 ,1.0269318 ,1.1683316 ,1.3270356 };
-
- double Test2[100]={0.9321636 ,0.1232699 ,0.2865552 ,0.0124800 ,0.5769405 ,0.3938696 ,0.6888584 ,0.9702322 ,
-0.8515764 ,0.3393304 ,0.8772532 ,0.1131402 ,0.5264128 ,0.5297394 ,0.9291756 ,0.9765430 ,
-0.6225464 ,0.9822583 ,0.7542989 ,0.5454788 ,0.7286016 ,0.0252597 ,0.4025168 ,0.0983132 ,
-0.2608625 ,0.3636342 ,0.1746618 ,0.9234139 ,0.7605141 ,0.5640204 ,0.3797065 ,0.8776226 ,
-0.8217426 ,0.6787058 ,0.0822010 ,0.2552731 ,0.7444457 ,0.2269504 ,0.6836931 ,0.9365073 ,
-0.5053017 ,0.2524815 ,0.6818840 ,0.2836368 ,0.1409486 ,0.6759110 ,0.4512678 ,0.7543029 ,
-0.1370214 ,0.6608241 ,0.3890054 ,0.7001821 ,0.9168006 ,0.21229 ,0.2697833 ,0.3199889 ,0.0232180 ,
-0.7265447 ,0.1534059 ,0.2355264 ,0.0879738 ,0.7105954 ,0.6888728 ,0.6595319 ,0.1815116 ,
-0.3904966 ,0.1586905 ,0.6240715 ,0.6376036 ,0.4270489 ,0.1071682 ,0.2382297 ,0.9462947 ,
-0.4576685 ,0.8964479 ,0.4438471 ,0.8089568 ,0.6831799 ,0.0340193 ,0.2380546 ,0.9492012 ,
-0.2182789 ,0.6154688 ,0.8313543 ,0.7734013 ,0.4244191 ,0.7262126 ,0.7099977 ,0.4745746 ,
-0.9438692 ,0.1459649 ,0.0714101 ,0.6733739 ,0.6536925 ,0.1996896 ,0.6014125 ,0.1899375 ,
-0.2583981 ,0.0987874 ,0.0619903 };
-
- double Result2[100]={0.3704526 ,1.4472121 ,1.280167 ,1.558316 ,0.9558184 ,1.1659586 ,0.8108833 ,0.2446086 ,0.5518112 ,
-1.2245913 ,0.5006866 ,1.4574133 ,1.0164204 ,1.012503 ,0.3786200 ,0.2170219 ,0.8988040 ,0.1886498 ,
-0.7162108 ,0.9938360 ,0.7545182 ,1.5455339 ,1.1565317 ,1.4723241 ,1.3068808 ,1.1986301 ,
-1.3952341 ,0.3939139 ,0.7066918 ,0.9715498 ,1.1813173 ,0.4999164 ,0.6063341 ,0.8247973 ,
-1.4885025 ,1.3126661 ,0.7310921 ,1.3418511 ,0.817985 ,0.3582631 ,1.0410647 ,1.3155524 ,0.8204611 ,
-1.2832118 ,1.4293768 ,0.8285963 ,1.1026109 ,0.7162046 ,1.4333425 ,0.8488801 ,1.1712446 ,
-0.7951439 ,0.4108027 ,1.3568786 ,1.2976283 ,1.2450785 ,1.5475762 ,0.7575165 ,1.4167823 ,
-1.3330362 ,1.4827086 ,0.7804523 ,0.8108635 ,0.8506004 ,1.3882729 ,1.1696254 ,1.4114321 ,
-0.8968537 ,0.8794129 ,1.1295698 ,1.463422 ,1.3302537 ,0.3292202 ,1.0954251 ,0.4591086 ,1.1109091 ,
-0.6284209 ,0.8186880 ,1.5367704 ,1.330434 ,0.3201089 ,1.3507459 ,0.9078157 ,0.5892561 ,0.6866071 ,
-1.1324761 ,0.7579997 ,0.7813013 ,1.0763156 ,0.3366420 ,1.4243081 ,1.4993254 ,0.8320334 ,
-0.8583428 ,1.3697552 ,0.9255284 ,1.3796979 ,1.3094327 ,1.4718476 ,1.5087663 };
-
- for(i=0;i<100;i++){
- assert ( ( fabs(dacoss(Test1[i]) - Result1[i]) / fabs(dacoss(Test1[i])) ) < 1e-5);
- assert ( ( fabs(dacoss(Test2[i]) - Result2[i]) / fabs(dacoss(Test2[i])) ) < 1e-5);
-
- }
-}
-int testAcos(void) {
- printf("\n>>>> Float ArcCosine Tests\n");
- sacossTest();
- dacossTest();
- return 0;
-}
-
-int main(void) {
- assert(testAcos() == 0);
- return 0;
-}
-
-
diff --git a/src/elementaryFunctions/asinh/testDoubleAsinh.c b/src/elementaryFunctions/asinh/testDoubleAsinh.c
index e1b884bc..8eb3baaf 100644
--- a/src/elementaryFunctions/asinh/testDoubleAsinh.c
+++ b/src/elementaryFunctions/asinh/testDoubleAsinh.c
@@ -446,8 +446,6 @@ void zasinhsTest(void) {
for (i=0;i<200;i++){
in=DoubleComplex(inR[i],inI[i]);
out = zasinhs(in);
- printf("%d - trouvé : %1.20f - espéré : %1.20f - erreur %1.20f\n",i,zreals(out),resR[i],(fabs(zreals(out)-resI[i])) / (fabs(zreals(out))));
- printf("detail : %1.20f - %1.20f / %1.20f\n",zreals(out)-resI[i],(fabs(zreals(out)-resI[i])),(fabs(zreals(out))));
assert( ( ( fabs( zreals(out)-resR[i] ) ) / (fabs(zreals(out)) ) ) <1e-15);
assert( ( ( fabs( zimags(out)-resI[i] ) ) / (fabs(zimags(out)) ) ) <1e-15);
diff --git a/src/elementaryFunctions/asinh/testFloatAsinh.c b/src/elementaryFunctions/asinh/testFloatAsinh.c
index 72d8c657..ab6add0a 100644
--- a/src/elementaryFunctions/asinh/testFloatAsinh.c
+++ b/src/elementaryFunctions/asinh/testFloatAsinh.c
@@ -13,74 +13,481 @@
#include "testAsinh.h"
-/*FIXME : results are not verify with assert */
+
+#define SOURCE {-1.3576117896733277401466f,-1.7637832035201410629810f,0.3855566139299755334946f,\
+-0.2160798468986061537933f,0.5079016244365412990902f,-0.6713405437771273742698f,\
+1.2405146112769958044453f,1.3996914808133518182132f,2.455810932856137718261f,\
+-0.140780207215658148545f,-0.4702849878182233100965f,0.0273321471208497618344f,\
+0.1272959744763040301763f,1.0077609385751984394375f,-0.5992823608151862657678f,\
+-1.4909735993420030197854f,1.1850328323549159659223f,-0.7532372700108580509948f,\
+0.1544844959811866313970f,-0.4395251247591652199453f,-0.1710077835697096926282f,\
+-0.0020392103157046703732f,2.3911285878389949566269f,-1.8171171150936700211531f,\
+-0.7159791420443786247318f,0.5100070355081758322058f,-0.9023845512384770506387f,\
+0.1404573536528139765522f,1.101925188407546940539f,-0.0755748286838698046797f,\
+0.0052019860396882644168f,-0.3525317421211751067744f,0.9599782396584397581307f,\
+-0.3373393328184763340083f,-0.9424787821879185845120f,1.107342433121214275715f,\
+0.5275760618563184456420f,2.2874014544326271014540f,0.8431549305721607323605f,\
+-0.1180124731434434998123f,-0.4202553394312918411124f,-1.114616954771672663327f,\
+0.7423526085481280123446f,-0.8110912540737037490501f,-0.2279425085104251347268f,\
+0.6450672141930872127702f,0.7812946955887702937815f,1.4559939295961445981931f,\
+1.4808632601102580395036f,-0.0561674797508281767322f,-0.6499637724416639228409f,\
+0.9406577697059905762700f,0.4408659857477613686072f,1.0630757257539220628217f,\
+-1.3783233641019425608221f,-0.3062086297728683903507f,0.3570701509900506276374f,\
+0.2722352561686949279363f,-0.8234027247256571202527f,-0.5990920922251514735279f,\
+0.8126089186562406307957f,-0.9202541957145593531919f,0.4637689483065319806521f,\
+2.7285780311422769273122f,-0.5523000528063060077244f,0.5645499540468182919639f,\
+-0.1966239792749471526623f,0.3232076144184721222530f,0.2044915219084416369011f,\
+0.9122595139735795166658f,1.32862804461268768641f,-0.3933121244849541731092f,\
+0.6800596076198115458311f,-0.0390966465388340317366f,0.4460664717379928534413f,\
+0.0466968662605830517331f,-1.159097013642337747896f,-0.1516000867442619526315f,\
+1.099835547132880231302f,-1.8591997482220850024248f,-1.5859733492347323213778f,\
+-2.3518422239705527587716f,-0.0363309315202365243347f,-0.3671077430846361733252f,\
+1.4974841041542252817464f,0.1166082461631383904166f,0.6150562435701190100446f,\
+-1.1854669210396810985486f,0.3562903039222897749738f,0.3468046496992864269338f,\
+-0.7767949783190361001672f,-0.0388605946733660209680f,0.4658948000641440767566f,\
+2.5397452836287333077792f,-1.6499955625089919308834f,-1.730408375709416413102f,\
+-0.5118965544481819396339f,0.6229106301535243250811f,1.2541834743916775440908f,\
+-0.4242067654129669240781f,-2.4609745338396713520979f,-0.5875679117078018709464f,\
+0.0525256277866840218249f,-0.0221901005868065138993f,0.0047340660621973179242f,\
+0.5954335288237887491292f,1.240326181995874410546f,-0.4474314847009220885710f,\
+0.309985603496633732590f,0.1897272751476858920761f,-0.5041309171227571495066f,\
+-1.0407049076417729249755f,-0.8790182225827031237131f,-0.8241442015820352740008f,\
+0.0114520840633361691702f,-0.8375012162452729613804f,1.5044689875616372720657f,\
+-1.4872169103117691690841f,-0.9491620445763213620438f,-0.4714572242020408365804f,\
+-0.9944436112957297790871f,-0.7897744853013518584461f,-1.9610605179993771951530f,\
+-0.5551411828413486126976f,-0.1498033190111577317438f,1.049612455441040648196f,\
+-1.873247408264758551155f,-1.7768646550852811305532f,2.055125969134249608317f,\
+0.4181799324473139956027f,0.4756981765178688870144f,-0.0497090050304667893655f,\
+-0.8254170186481527560218f,0.3315212467523889205978f,-0.1049083295446031904863f,\
+0.9436361823785577307433f,-0.4297495677869329622212f,0.6041720693587251389545f,\
+-0.5126921017648137235412f,0.8253623930867394209443f,-0.5636867633411185574133f,\
+1.4780035136607696522049f,-0.1150898513104453707578f,-0.0895959753888824761425f,\
+-0.1719733530741588689583f,0.2269131790250100699780f,2.0342102181126362481223f,\
+-0.0976186373893909720145f,-1.0193857468205604899f,0.778026114056752038373f,\
+0.3469309321844699645077f,-0.2119385547567329830532f,0.1122013143743656737872f,\
+0.5130455426994967593757f,-0.9836962738165191399986f,-1.8662473753394661635241f,\
+0.5046191490309642757595f,0.5397589965174257597980f,0.1495290449776452701425f,\
+-1.0010126697848658050560f,-1.231087303316227510308f,0.493771591129457787517f,\
+0.0084749296034232757258f,0.6528794554325030308206f,1.3165434517533367575481f,\
+-0.7644706245855447113158f,1.60959294894722515501f,-0.3945002118117288958388f,\
+-1.7397191133485980785167f,0.7283944071784652640744f,-0.8252534213629215686936f,\
+0.1067480143242338502807f,1.4303021806407054672405f,-0.9653188502218088551388f,\
+0.3473141482678416824825f,1.3246017895509272221943f,2.2493951812296155701176f,\
+-0.6569708783346918101742f,-0.321524642114760117462f,0.6051546744959480639281f,\
+0.3028414522677088660529f,-0.6449695892069078340114f,0.3426130327302095435194f,\
+-0.9643932135296735541630f,1.3325612893853038265490f,-1.628074335418207230219f,\
+0.7075076309451185929689f,1.0853008279162978944044f,-2.3506278976788554935240f,\
+-0.1463993258475799474905f,-1.0813242242905494183702f,0.8848173893719444293993f,\
+-0.8759582027327027509145f,-0.8344888331049786778237f,-1.0485734628076319729928f,\
+1.9962933549994803517080f,1.2493174700563109968954f,1.1394362749053514871633f,\
+-0.2197402489428784411185f,0.3152457615995896134109f}
+
+#define RESULT {-1.1130949556588403126511f,-1.3327159168755193796585f,0.3765918165954149632313f,\
+-0.2144327449409605401698f,0.4882680607211341006213f,-0.6290298228269889380115f,\
+1.0416537998862092084806f,1.1378027100741174848508f,1.6306935238556961031975f,\
+-0.1403192842222721059553f,-0.4544772654936784506141f,0.0273287452012760077869f,\
+0.1269546678262620797994f,0.8868507654832032960357f,-0.568209430801213888351f,\
+-1.1897458189645284676317f,1.0063560088725012064970f,-0.6957349846601869058915f,\
+0.1538765289352577170234f,-0.4264787556420423508818f,-0.1701850823931514988807f,\
+-0.0020392089024058542880f,1.6060204471410550741695f,-1.3587234662009097796442f,\
+-0.6657080515933866404765f,0.4901444289074484705893f,-0.8106383081775411225678f,\
+0.1399995760847499992607f,0.9516413314489057251322f,-0.0755030713336432846017f,\
+0.0052019625784457792020f,-0.3456102163306026819889f,0.8527889195091039598040f,\
+-0.3312482849825826303203f,-0.8401095674014050773692f,0.9552769725934540101520f,\
+0.5057396137890651788283f,1.5652435713544583517631f,0.7660130911978242362892f,\
+-0.1177402502570575049123f,-0.4087756154845550438104f,-0.9601436921836913329642f,\
+0.6870180358136419584980f,-0.7413056602559416896625f,-0.2260133834402236752137f,\
+0.607083791196235011967f,0.7179951440904949189203f,1.1701025225825925080159f,\
+1.1841009702891132082669f,-0.0561379888707583402097f,-0.6111939387463327655325f,\
+0.8387837653657870262691f,0.4277059773372764994726f,0.9252791007143230661569f,\
+-1.1253178411086610655f,-0.3016147291750726489035f,0.3498873875038394642978f,\
+0.2689800399453179946541f,-0.7508385861915640724362f,-0.568046218336308084140f,\
+0.7424839156827229835756f,-0.8238461490952974086710f,0.4485733597383650406165f,\
+1.7289314850929364819621f,-0.5274948117440469985695f,0.5381900831525847639369f,\
+-0.1953785803896550821168f,0.3178295637778837390286f,0.2030924952508830483300f,\
+0.8179516300830952379997f,1.0957859238613814056862f,-0.3838186466908449778757f,\
+0.6362542602331872076959f,-0.0390866932016993157140f,0.4324599635687117471505f,\
+0.0466799117153936446445f,-0.9895220015504287980335f,-0.1510253177999459628378f,\
+0.9502363023238964423456f,-1.3788344661100282451116f,-1.2415257056941875202227f,\
+-1.5907556842186492129798f,-0.0363229438428324669097f,-0.3593253093499745309813f,\
+1.1933668386250828596928f,0.1163455870775610828671f,0.5816925710627691703536f,\
+-1.0066359311257613295965f,0.3491528652755562234233f,0.3402040976525141924292f,\
+-0.7144454627768908050456f,-0.0388508204533765666433f,0.4505011238681072560652f,\
+1.6618918653106427019139f,-1.2751867809374948237178f,-1.3161363888578068159774f,\
+-0.4918270306483571441269f,0.5883710719531183297448f,1.0502037442465796956981f,\
+-0.4124158523209305871049f,-1.6326391191927918100646f,-0.5581352790789477769096f,\
+0.0525015052004256660423f,-0.0221882799205271458165f,0.0047340483795489029725f,\
+0.5649052397488373289391f,1.0415355372390291410767f,-0.4337062598861871065559f,\
+0.3052242689715726209343f,0.1886070763157441099178f,-0.4849035737297955339642f,\
+-0.9098654196250280934422f,-0.7931897365608786554247f,-0.7514108860522482613575f,\
+0.0114518337541998777018f,-0.7616847132530191188948f,1.1972396117455856856537f,\
+-1.1876514534079536389299f,-0.8449650527155313506356f,-0.4555378112663634460056f,\
+-0.8774391641368382011024f,-0.7246635421278604383133f,-1.4260843463597587810199f,\
+-0.5299803397861506670807f,-0.1492486124002971037417f,0.9160234338985321356219f,\
+-1.3854693118499961101975f,-1.339149741178953689769f,1.4680202081995989971119f,\
+0.4068615933419172381313f,0.4593706772145678129959f,-0.0496885560579486892929f,\
+-0.7523928088748154108245f,0.3257305872841815830299f,-0.1047168437798993573251f,\
+0.8409515953244546260237f,-0.4175134246305884921924f,0.5723991247141133609233f,\
+-0.4925350737504667897326f,0.7523506802368506996004f,-0.5374382677208087155662f,\
+1.1824994989469264083937f,-0.1148372801243118385139f,-0.0894765353119480744137f,\
+-0.1711367593250398000393f,0.2250096841326320595833f,1.458830901005770064316f,\
+-0.0974642573471812823094f,-0.8950151622701945086646f,0.7154174354590427942213f,\
+0.3403234064876564657354f,-0.2103831526165375054305f,0.1119672185619183107930f,\
+0.4928495654965970862449f,-0.8697979955142227659337f,-1.382167978700230337452f,\
+0.4853394960873701480253f,0.5164877528407616491535f,0.1489773595696585739567f,\
+-0.8820894714376154022162f,-1.0357236173571910953228f,0.4756340389263381540630f,\
+0.0084748281555349427863f,0.6136369862616236625641f,1.0884976091419886756739f,\
+-0.7046834979102297724651f,1.254056645766540967202f,-0.3849240656020492257205f,\
+-1.3207856959376931271777f,0.6757730196964429891793f,-0.7522666350656633804661f,\
+0.1065463121770779120201f,1.155469512029384748786f,-0.8566364746899163273852f,\
+0.3406854318087456645614f,1.0933623617966952146219f,1.5499122891284196068540f,\
+-0.6170596901911918896744f,-0.3162277642902040497574f,0.5732399668068761666717f,\
+0.2983935984890606074593f,-0.6070017519078403367416f,0.3362413129909137543549f,\
+-0.8559703502467290725519f,1.0981489764525824703867f,-1.2637694566754069658288f,\
+0.6588062099967662010869f,0.9404229224232689698937f,-1.590280419973736147909f,\
+-0.1458813492114517662568f,-0.9377256428290303702511f,0.7975391112088442424621f,\
+-0.7908896752603351565369f,-0.7593735645090678998415f,-0.9153065625835585805703f,\
+1.441976583204267914340f,1.0471665685842834747632f,0.9766162941953494547320f,\
+-0.2180092160957680658129f,0.3102448153202543856821f}
+
+
+#define CSOURCER {0.1344153599005591392945f,-1.5506135890216410366804f,-0.6851077106999041710367f,\
+0.4218254137797516900577f,0.4563186792784946765877f,-0.0065657292828231895304f,\
+-1.4909053660893785142605f,0.3020078702400747494572f,0.9932063361099687792688f,\
+-0.4433136654301204071515f,-1.2230912696221460933543f,-0.4536074652511654647924f,\
+-0.391728395210721336284f,-1.0754644749418362792426f,-0.3220075728643138068819f,\
+-1.8561721663709394025688f,0.9166361449615868517427f,-0.4865676280317013935317f,\
+-0.0798825634299456799337f,0.7227932226211960520246f,0.4367586477867241301354f,\
+1.100708465607679542586f,0.7887304681164191144660f,-0.7638617615134800642451f,\
+-1.1157778009204568636648f,-0.0715514394916681589764f,0.1759955522740979383389f,\
+0.6521704771208436390850f,-1.2566799200234315403435f,0.7200913102328155845910f,\
+-0.3420550667112094989086f,0.2477935566640704911912f,2.0205940701992970431888f,\
+1.3930268695166325709778f,-1.2605487293586259411882f,-0.1650288634784027319569f,\
+-0.0981081330322927658294f,0.4100655669623185506367f,0.7181621264742018562188f,\
+-0.4072630840419457221024f,0.5156039430832634051782f,0.3795734781395984636099f,\
+0.3638182194100580413298f,0.8461109103084072380341f,0.6093905395787995171730f,\
+-0.2503150987783319125768f,0.6420253514641469649860f,-0.0446314315869399819148f,\
+0.2916988037421140433914f,-0.3385179884731976951429f,0.4290547410494972568884f,\
+-1.7617580904822116583119f,0.0242252644066083683283f,-1.6979773429025941666737f,\
+-1.5685374082937220130418f,0.2235220732382334762889f,0.3158040584918663795655f,\
+-0.3902896794740354780018f,-0.2554731784615550393980f,-1.2399505074947390070861f,\
+-0.0969941013810174113008f,-0.7835998873676693898815f,-0.7420185738540517883521f,\
+0.1215847078229450456410f,0.346331144382537814419f,-0.1289657459832099506425f,\
+-0.2972509851392565738415f,0.5513684955823417999099f,-0.3924372370508544816126f,\
+0.6550918706396454682661f,-0.0941496244175293039991f,-0.6298808116548983981886f,\
+0.6046273337026021321705f,1.154776599111647650275f,-1.3475403271419439388268f,\
+1.6941635868888738070126f,-0.9698161544930480326698f,0.321333626597992860763f,\
+0.8077673631787291030903f,0.4495327099693594008478f,-0.2815944820401523052134f,\
+0.5503911320698096076853f,0.4415940612643087237466f,-0.0426890352355768151749f,\
+0.4574486820024267763607f,-1.8233880107049311725120f,-1.2644581540832258159668f,\
+1.8182154451811951556550f,-0.4365692326313646565161f,-0.7834466000398015994577f,\
+-0.2438122853723030947215f,-1.238179759598785789620f,1.0164635023339896324757f,\
+1.1566875865587697980175f,0.7525323014625638906594f,-0.5302881550474964900133f,\
+0.9946348209098996306921f,-0.2846244148716441380031f,-1.4971569165104527954213f,\
+0.3858437386079422992680f,0.5857497893655945198077f,-0.5407108407032041874629f,\
+-0.3913628275219260821416f,0.394150621449124050066f,-0.3677461583219513441279f,\
+-0.3580090499105863521834f,1.2238011161239454871463f,-0.0394483595782139026542f,\
+0.6819869387311006114771f,0.0482725904112477066654f,0.6909298247176761664790f,\
+1.3224847954183336362632f,1.4037115762091163517766f,0.8467069128655627663349f,\
+0.5210759995289813151231f,-0.2055830325344648878971f,-2.0192992995259366750815f,\
+-0.5304191698016149647543f,1.09472080578548336405f,1.3620867421349684978082f,\
+-0.1808242201566298279491f,-0.0194904828858388744217f,-0.4683180277648698042192f,\
+0.7819869233308703870833f,0.1429480494914288357666f,0.2773646548392231792057f,\
+0.6096476038786750040188f,-0.5960852983339143262853f,-1.963887290912852856550f,\
+0.9721629223729456592551f,-1.6452050961761244263215f,-0.3723296190652639614527f,\
+0.4738633834151028678683f,-1.057700746568926764013f,-0.4968910756708404541371f,\
+0.2577873463311163293454f,-0.0737988795500269523231f,0.1977793752007929173331f,\
+-0.6149210248305110315670f,0.9875664176674272543011f,-0.4642707502431423494116f,\
+0.0643413048674845028385f,0.6498540575999842694443f,0.7121440663138152160627f,\
+0.2359686505725840099945f,-0.2350484222736072826f,1.427908791905283747425f,\
+-2.1717696603112686126735f,-0.7707405591334609562537f,0.8328839983146067993403f,\
+-0.8442913355247498863321f,-0.9327775490791254675571f,-0.1481361786955139869804f,\
+1.3160166106571784538914f,-1.641046498941054032628f,1.1071159236267200665083f,\
+-0.1637297725664050573879f,0.0063889356258534446900f,-0.1876117315630027870821f,\
+-0.0437156856017992812014f,-0.5047856242612756005883f,-0.4377080020532335691286f,\
+0.8918622387976500309748f,-0.7125206673387354250337f,-1.8420141064608679393f,\
+-0.6323236657671401639291f,0.4307970989642812553733f,0.0065706118931696342461f,\
+-0.2380637309545470814420f,-0.9281665549650555124828f,1.2462413799568070604806f,\
+0.1118120260462647785893f,0.5017427788303500113543f,0.1413380949238240147370f,\
+0.5728474017890546887699f,-0.2522748296906130449635f,-0.4384774472140181011959f,\
+0.0497517512937118988603f,0.5020924835745471659365f,0.6928164360637126817366f,\
+0.9383192238380625438410f,0.9522811808490952989459f,0.6799302528285031677058f,\
+0.5017679240717164423913f,-2.1626383553421018035579f,0.4579762384000223285341f,\
+0.0586823729814069730559f,-1.0035555258293702429739f,-0.1166748359615927543853f,\
+0.8530686378617126086610f,-0.5952441201854786756442f,-0.9104692400773028992944f,\
+-0.1222081949574846115869f,0.8743861864198215760879f,-1.7814901158856750740256f,\
+-0.1655434636829379024814f,1.2699075561256230049167f,3.1587625106365013749610f,\
+0.8610776754247619901861f,-0.0100004380673695478232f}
+
+#define CSOURCEI {0.9250286334648400998759f,0.1065362941212572023275f,-0.8122748012511081805442f,\
+2.9016509109873367400212f,-0.879282905363888867001f,-0.3325238972742790566350f,\
+1.2084799362120550725308f,0.2580513186266746861186f,-0.2529978784629969279507f,\
+1.6363224419507169660193f,0.3632057263498695842685f,0.3611017132584669053763f,\
+-1.2067543995469365292195f,-0.9261214746973902567362f,0.5500770410591231396324f,\
+0.3509274981930612380410f,-2.0620828383452867171854f,0.1301261656898765051160f,\
+-0.0829640021096160473757f,0.5497292800458170036748f,-1.586103376800369391120f,\
+1.1212128658770057487715f,-0.0802149047940418080671f,0.3400568097779858578456f,\
+0.5992917235464352287977f,1.2934484737369573714716f,-0.1770100915330515556345f,\
+-1.6783588206143511545321f,0.3877335362207995905770f,-0.3290626192650726866695f,\
+-0.7735806757117498211329f,1.4288193530454935675778f,-0.0608386450296815664562f,\
+0.2853217242027552558170f,-0.3091484421032868468160f,0.2351673955360732704012f,\
+0.8718242905301006873131f,0.9043814712183079196350f,0.4001603453209788274769f,\
+0.2902565872125924539837f,-0.1051862594971314374126f,-0.2633497801636938695502f,\
+0.5605928815183498503671f,-1.0135332223701010168071f,1.3762849538989350151041f,\
+0.0221113855817069056287f,0.296045052860035018405f,0.1323984531412186749222f,\
+-0.5439657044615130443432f,0.7105758550684416752219f,-1.988902172751357388947f,\
+0.8370036445008282033342f,-1.361827445493777322127f,-0.2908726176761944892668f,\
+0.7582058566306987268391f,2.2582687071318150451305f,-0.838995532132944754622f,\
+-0.0049693115325542529942f,0.8948621233346091274896f,-0.1820415696112677728102f,\
+0.0164009645281327567923f,0.4631157184786182656744f,1.2818863747394355634412f,\
+1.37735582155233560187f,-0.7661687725125947423521f,-0.8188017890741936533061f,\
+1.3941959606340814659120f,2.0721869090596265472470f,0.9329858014692479217800f,\
+-1.0023470169799657547571f,0.1352029091047084741195f,0.5763346694547388793239f,\
+-1.492034523395888490072f,-0.4804977288873880647557f,0.7911732889577677285686f,\
+0.1745293679511154827377f,0.0354831535332537570393f,-0.8628629256538601355331f,\
+0.1942834096659604437018f,1.3466596448020036191906f,0.3364543941938548110571f,\
+-1.109797124842869298078f,0.1809508886112952685821f,0.5725159396053964844242f,\
+0.6787472822917395287590f,1.4922528447187788369632f,-0.9855408452288743070824f,\
+2.0147405762642014437347f,-0.1974169216352719968821f,-0.2472797570908096820297f,\
+-0.3003777280233598800940f,-0.6957353172991608269982f,0.8954567399776292013769f,\
+0.0025734217968703923703f,1.2028191624106452373155f,-0.3976568161030914483334f,\
+-0.9486032699014914637559f,0.344203116731234826098f,-0.1282579491971870822020f,\
+0.2354837848969928981724f,-1.0123893486718691381299f,-0.1455435264750559176683f,\
+-0.0385439121492695893623f,0.2704776801120854501370f,0.9996348746916957628272f,\
+1.1879952493572987215487f,-0.1421627190737907164841f,-0.9134168336317867176177f,\
+-1.3273949616244651306118f,-0.2266260602581666450117f,0.0136941574262192684169f,\
+0.8667822397875659667932f,-0.8918524882230300931951f,0.5818810906621436629393f,\
+0.5786477410918646757665f,-1.2824019249961673416749f,-0.8858272202103619763491f,\
+1.49931415247364041576f,-0.3191008638398869501351f,-0.6302800825827241659738f,\
+-0.9307697616588104239099f,-0.2218962076254625825911f,0.5504657591791385362612f,\
+0.7937732776747626894931f,0.4530121091137990219089f,-0.5561836772913717474864f,\
+-0.0487810094749783207391f,1.0373690852013959240452f,-1.9605345216190741552964f,\
+-0.6318190008183720562940f,-0.2595506312908315571519f,1.6655693943633802511783f,\
+0.2643484753712377899326f,0.5166487752761181884154f,-1.7642021092407271787295f,\
+0.9519817124353935344772f,1.5941109627321103925368f,-0.3268346133298423716873f,\
+-0.8591341754919610274044f,-0.5067465121338621258928f,0.4012524027420211192307f,\
+-1.3781772559142455580883f,-1.0900200484217259511155f,0.7071849131547247591101f,\
+0.6311112492498477388736f,-1.5661486235109134401711f,-0.3037032596268335327139f,\
+-2.3928711979350367755615f,0.9280630230889591603116f,1.234345031017325400313f,\
+0.0245382276611107209841f,-1.7795591476102954331395f,-0.1457340296796875434016f,\
+-1.4175919090731374794245f,-1.0931645829165108629866f,0.0976120560124896369247f,\
+-0.4917932561715864236973f,0.3236361331498361360026f,-1.3493789441767958248164f,\
+-0.4975410901203008995353f,-0.5175498508985710843788f,1.9028534065523732277114f,\
+-1.0213015320689262654952f,0.7201673839470011939667f,-0.229479324750370056174f,\
+0.0507808834449509222120f,-0.6036524407661360003274f,-0.3189899214184117592907f,\
+0.8969390978377852485792f,0.0689550751790670851671f,-0.3842312216289716086948f,\
+-0.5817559662860881664059f,-1.4228206622942274339749f,-0.8055937171612096436846f,\
+-0.8761791574203163790457f,0.6999940081500163335804f,0.3592083211755666694032f,\
+-2.2759824091756848396528f,1.1126243656877470300515f,-1.490042708505755930659f,\
+-0.2517675074289520420479f,-0.4649616224894683735869f,-0.9304122891120238936224f,\
+-0.2780945839682648634827f,-1.186365868114249266796f,-1.0805465619847403058174f,\
+-0.2982113561322028982836f,-0.4608151973468663786804f,0.5142626215675811796046f,\
+-0.8962085262358048254328f,-1.8912922138922239057024f,1.5339839202719194322100f,\
+-1.0493592314888038341536f,1.5275565058768361126340f,-0.3000289995792813080300f,\
+-1.2901253199534357118949f,0.4517205659557054775455f,0.1925085892467791881533f,\
+0.4244705571771024699146f,1.1465794102472002258253f}
+
+#define CRESULTR {0.2881823261718455264635f,-1.2239148834349047323400f,-0.7845879395690421587162f,\
+1.7398908843418365854916f,0.6267968040978579846723f,-0.0069618200210163757799f,\
+-1.3647060336777470102021f,0.3067781755755824568688f,0.8879601142484547793288f,\
+-1.1408081118402808584733f,-1.0511217892257147532575f,-0.4630227853264242132703f,\
+-0.8052300885146775888401f,-1.0799054881923455528892f,-0.3673239873834487356774f,\
+-1.3895193771431015861140f,1.4748704381210364644517f,-0.4721815868535457205724f,\
+-0.0800715444386163321955f,0.7328675926305248111703f,1.1062012776691256821238f,\
+1.1578188890116758447135f,0.7250736097899580512305f,-0.7268209399811761395327f,\
+-1.020749615675486277055f,-0.7543891378811746761812f,0.1777916795470285138414f,\
+1.224903809672051702151f,-1.074529895353530717372f,0.6903548013878436639956f,\
+-0.4611640141379182988857f,0.933556473565831823613f,1.4531339378119088046049f,\
+1.1451427225776011908920f,-1.0686132863053487973559f,-0.1688483441440512822229f,\
+-0.1889456477264452038956f,0.5985578048499338166266f,0.6993236665323845357989f,\
+-0.4109810453160360754765f,0.4971360116983927213141f,0.3821580291233257486994f,\
+0.4128919091647823558233f,0.9758538921704605906271f,1.0346135696067118026065f,\
+-0.2478280180540722854587f,0.6216905071606976251886f,-0.0450118169844396301404f,\
+0.3340415020637265142156f,-0.4315313860868430495543f,1.3446595868643815840926f,\
+-1.4033414360880258620057f,0.8274220763035017300879f,-1.309144795084008494612f,\
+-1.3004176310924011605863f,1.4613978516551788811029f,0.4652521895005036212112f,\
+-0.3810083873666035292338f,-0.4305652750257212835194f,-1.0463819862831613693999f,\
+-0.0968555231163464591670f,-0.7621978211341690068181f,-1.0442639351316740370379f,\
+0.8551375533721097266238f,0.4624338658491132791895f,-0.2135461711123592121186f,\
+-0.9192783709328955499274f,1.406572519212488048268f,-0.5996917427163407365853f,\
+0.8472849136812159454024f,-0.0948718277212909494311f,-0.6635046470522460992925f,\
+1.102552918644890800337f,1.0241591511876448894469f,-1.1946095915247210150767f,\
+1.3012416677676885701231f,-0.860094399966521483414f,0.4848763007604853791932f,\
+0.7459402751068522352540f,0.9429407450799555112653f,-0.2932662625241302944978f,\
+0.8365772498525353428889f,0.4339900657778844039747f,-0.0520088659229247518567f,\
+0.540163948037489571874f,-1.5617045052623743650599f,-1.1990755672824380262398f,\
+1.6897714229424107834632f,-0.4304392780607278479188f,-0.7314935627224536940361f,\
+-0.2521660858364912494167f,-1.1139709472810304102808f,1.03593284093582016503f,\
+0.9879482215425008373444f,1.008898373366306833177f,-0.5387894626210441018088f,\
+1.0404295395317768591070f,-0.2970761763070669525533f,-1.1952939328908356309000f,\
+0.3857997224260597546319f,0.8038817262315489653446f,-0.5212531537640049394966f,\
+-0.3822389517390957225373f,0.3966495909859810709008f,-0.6230521638604892276092f,\
+-0.7692209701300163349202f,1.03425437487647720047f,-0.0946733232120821749378f,\
+1.0396309891046779938506f,0.0495385539831420876333f,0.6452562376798283150237f,\
+1.1985497422790862831476f,1.2458585900431864423865f,0.8349246161988523873276f,\
+0.5689579490080320933743f,-0.7806209699664544698905f,-1.5187452500641256403213f,\
+-1.0796802038517956390251f,0.9639374126836365297422f,1.1711728912763936794050f,\
+-0.362488012679416937711f,-0.0199872602643281528645f,-0.5128264059242761963020f,\
+0.8492028743473079011039f,0.1591587587129435210631f,0.3212111561314560104208f,\
+0.5775318673000989777577f,-0.8249558967503766160334f,-1.7154192273737123297650f,\
+0.9346304365709510175719f,-1.2804432024400131950870f,-1.1426657840798974952179f,\
+0.4703017265736584850977f,-0.9677493848474170157203f,-1.2320829767979621927054f,\
+0.4762683633703864716225f,-1.0444970147674126348392f,0.2072645201710894835578f,\
+-0.7498010260478793487238f,0.9188781401771745072082f,-0.4789588845434366026765f,\
+0.8476937452776511783270f,0.8895027647705600060135f,0.7682169660294876356588f,\
+0.2922093151936491217668f,-1.0429114806489117039945f,1.166492728893671504409f,\
+-1.8646253504096552688907f,-0.8923239533314403226782f,1.0666374040344190898821f,\
+-0.7669950473749445052363f,-1.3585386555510787776058f,-0.1491456224121993634490f,\
+1.354597929546794699007f,-1.4004360287243708960148f,0.9567139977921835791719f,\
+-0.1859618971982733570680f,0.0067522660769214690180f,-0.842830481930881947328f,\
+-0.0503539309377906904586f,-0.5389456072426579424928f,-1.2991753231583602623544f,\
+1.0064698858838660999737f,-0.7727166159011478185903f,-1.375918311051623987851f,\
+-0.5968365322787659854598f,0.4909328325978893903248f,0.0069327197759769939797f,\
+-0.4109069224660110153380f,-0.8305261099098545374275f,1.067766372332880076002f,\
+0.1364036525382384124061f,1.0185816452043403579353f,0.2263896344197315613211f,\
+0.7241797053868859190828f,-0.3310339119084142467386f,-0.4485953806654829345568f,\
+1.4637030484564286236804f,0.8062581119903107218505f,1.135230070733268981087f,\
+0.8486739138084887779101f,0.8869200257723099944940f,0.8304138989692378958196f,\
+0.4970805707137128659490f,-1.6189532479764259242927f,0.7536345887109229257916f,\
+0.0614297741451279438740f,-0.9217679644120017057318f,-0.1351912284135200204016f,\
+0.9344534227267771164804f,-1.3237759469951597690596f,-1.2409772949992454726953f,\
+-0.4266400610039619012426f,1.2242961173386468498592f,-1.3507787481217943259537f,\
+-0.7743193525686042910650f,1.0905655681187926830944f,1.869097852573508911078f,\
+0.8141159942263986870614f,-0.5353611933969746328188f}
+
+#define CRESULTI {1.0927665474832626291146f,0.0577041411945533808114f,-0.6605411939586326441898f,\
+1.4173928005937053153929f,-0.8196938376873322829042f,-0.3389699587748392084485f,\
+0.6182411929183926346809f,0.2489298772050817232238f,-0.1790179858054015138435f,\
+1.2497543779018556175942f,0.2282445233800083350673f,0.3316185520857942714557f,\
+-1.1178350760886399672955f,-0.5992404494636266454322f,0.5409431572062767257236f,\
+0.165426376161976390611f,-1.1122536593055589726475f,0.1171231329897951256580f,\
+-0.0827933061236485051682f,0.4436212447193593200190f,-1.2403328057018132568601f,\
+0.6960798868922111193314f,-0.0629757037081154352753f,0.2697689038111338311055f,\
+0.3922302209885859536342f,1.4842743869253867128322f,-0.1751428834182987837043f,\
+-1.13801740936157136375f,0.2394213509890497915134f,-0.2668464988788373237760f,\
+-0.7726426977316005473284f,1.3382415873096298319922f,-0.0269807302035863991185f,\
+0.1656312162752983929703f,-0.1911246952977092017356f,0.2339836780169318453115f,\
+1.0284310438096477824388f,0.8686878315011077322794f,0.3246111072217529036621f,\
+0.2706500543034189298908f,-0.0935407508346946525712f,-0.2477506860556301926390f,\
+0.5421539099371334158306f,-0.7327711559744070068945f,1.05214358953255682216f,\
+0.0214509576394467729732f,0.2493724089381304798163f,0.1326531466862980457311f,\
+-0.5409686898264083332322f,0.7065143938000820744705f,-1.3284854753780470648650f,\
+0.3984512917058077308141f,-1.5446072484052193463100f,-0.1469509150678137976431f,\
+0.3947301571210936610434f,1.461008167394748147316f,-0.8567501445560671280433f,\
+-0.0046292376134026641879f,0.9577036871573997300899f,-0.1140752778705255016112f,\
+0.0163250605343483005949f,0.3628386917181465332050f,0.9320951721399445277783f,\
+1.44423353597128478754f,-0.7628206936973814800140f,-0.9280966118664348840639f,\
+1.2849894108105837098321f,1.2792864989827095190122f,0.9061761299907579170210f,\
+-0.8122605612540356734286f,0.1350064725981316715586f,0.4883936062374085174120f,\
+-1.102637196793889051705f,-0.3106468603302708908487f,0.4543964386247798525886f,\
+0.0885735454738456329249f,0.0254706011136682855533f,-0.8796254633651946486239f,\
+0.151022627304807338655f,1.1452851102523748938466f,0.3283556388648877777392f,\
+-0.9434455972747952667845f,0.1659123702555805879300f,0.6086281726098896616151f,\
+0.631662047814702143356f,0.6431181331610840157254f,-0.5760553428914201301581f,\
+0.8026360136122261401681f,-0.1814351276467410234439f,-0.1944579368330171531554f,\
+-0.2953494745705410595704f,-0.4250058789202441067445f,0.599813865521373279499f,\
+0.0016830438518425523946f,0.8854731871017331723550f,-0.3534985427172745442448f,\
+-0.6383931728072353983805f,0.3358307199066276060861f,-0.0711733718807077142543f,\
+0.2207727851446303901639f,-0.8556718335996058577564f,-0.1281371029552695606224f,\
+-0.0358976629777693137524f,0.2532084228703710415687f,0.983986642358089413918f,\
+1.1345925939829912820755f,-0.0898559156199065373061f,-1.1416915329673189560822f,\
+-0.9870037974692073001748f,-0.2283270051627071806077f,0.0112664968061259064547f,\
+0.4998464672322767698986f,-0.4937534754955061888637f,0.4389132738737425154518f,\
+0.5191615917775272981416f,-1.330080589614465180759f,-0.3792401398168883108752f,\
+1.1512099997314479971067f,-0.2141264512433771194377f,-0.3645359117298094808746f,\
+-1.0609046855212507232125f,-0.2237132816089271170057f,0.5066458933231118288987f,\
+0.6114387233853804115569f,0.4637825784576218857147f,-0.5570387380565021695489f,\
+-0.0416532931678999865377f,0.8675730496349238762832f,-0.7521971544712148238787f,\
+-0.4444425039044248570974f,-0.1343255157657375076230f,1.3031888522890535675458f,\
+0.2398794824711508455461f,0.3501788639961876947737f,-1.2484148728039676790047f,\
+1.0223862780907517766593f,1.5114877336366283611113f,-0.3256639805152193312132f,\
+-0.7257147000802074421344f,-0.3563177118938634091450f,0.367466380314942664409f,\
+-1.5032253124394940879682f,-0.8731092741090689113292f,0.5703012583169800864269f,\
+0.6498833797759138164452f,-1.3804786941428137669874f,-0.1733188156619589748164f,\
+-0.8098487944615534450676f,0.7091099644264757806411f,0.8627806630820323841036f,\
+0.0187490818204580703132f,-1.0316116049359651540840f,-0.1446317495535741626256f,\
+-0.7559013344655626243096f,-0.5329078157992787057040f,0.0653983668850169619358f,\
+-0.5045465362161873912328f,0.3295621318182701542376f,-1.3711989596398608259875f,\
+-0.5200355557922887728139f,-0.4673488331710942134123f,1.3098786184351398631520f,\
+-0.7189565120188516900157f,0.580208200526596162838f,-0.1091990841314347954194f,\
+0.0429221122996483323009f,-0.5675416667058814645941f,-0.3246554520854594838575f,\
+0.9723329710924543123340f,0.0505316478341986258238f,-0.2385123070932486100126f,\
+-0.6142986606043344677275f,-1.1409813222703388824186f,-0.9033119064286492250204f,\
+-0.7584587763797572268487f,0.7252421018090512427889f,0.3319280479688784257775f,\
+-1.5464687515566899467245f,0.9763347698321626078055f,-1.0511809923664583443781f,\
+-0.1831638202759971745248f,-0.3336438319634690841120f,-0.7499286125479456277532f,\
+-0.2495331996617490000201f,-0.4693439688376106477818f,-0.9839213631021112016484f,\
+-0.3022296870844187743899f,-0.3220832096726037319101f,0.5347182539371353460211f,\
+-0.6559994287878105900802f,-1.2228456605235495935347f,0.9588662882096035122714f,\
+-1.2891530456629314294048f,0.9731441796186428572213f,-0.1461840118371629804184f,\
+-1.3757278523698810435150f,0.2762809284691948308321f,0.0580458636704428015962f,\
+0.3198225937522309325622f,1.5529789344620548163789f}
void sasinhsTest(void) {
- printf(">> Float scalar\n");
- printf("sasinhs(0) = %f\n", sasinhs(0.0f));
- printf("sasinhs(PI) = %f\n", sasinhs(FPI));
- printf("sasinhs(PI/2) = %f\n", sasinhs(FPI/2));
- printf("sasinhs(PI/3) = %f\n", sasinhs(FPI/3));
- printf("sasinhs(PI/4) = %f\n", sasinhs(FPI/4));
- printf("sasinhs(PI/6) = %f\n", sasinhs(FPI/6));
- printf("sasinhs(-PI) = %f\n", sasinhs(-FPI));
- printf("sasinhs(-PI/2) = %f\n", sasinhs(-FPI/2));
- printf("sasinhs(-PI/3) = %f\n", sasinhs(-FPI/3));
- printf("sasinhs(-PI/4) = %f\n", sasinhs(-FPI/4));
- printf("sasinhs(-PI/6) = %f\n", sasinhs(-FPI/6));
+ float in[]= SOURCE;
+ float res[]= RESULT;
+ float out;
+ int i=0;
+
+ for (i=0;i<200;i++){
+ out=sasinhs(in[i]);
+ assert ( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-6);
+ }
}
void casinhsTest(void) {
- floatComplex pi_pi = FloatComplex(FPI, FPI);
- floatComplex pi_2_pi_2 = FloatComplex(FPI/2, FPI/2);
- floatComplex pi_2_pi_3 = FloatComplex(FPI/2, FPI/3);
- floatComplex pi_2_pi_4 = FloatComplex(FPI/2, FPI/4);
- floatComplex out;
-
- printf(">> Float Complex scalar\n");
- out = casinhs(pi_pi);
- printf("casinhs(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out));
- out = casinhs(pi_2_pi_2);
- printf("casinhs(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out));
- out = casinhs(pi_2_pi_3);
- printf("casinhs(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out));
- out = casinhs(pi_2_pi_4);
- printf("casinhs(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out));
+ float inR[]=CSOURCER;
+ float inI[]=CSOURCEI;
+ float resR[]=CRESULTR;
+ float resI[]=CRESULTI;
+ floatComplex in, out;
+ int i=0;
+
+ for (i=0;i<200;i++){
+ in=FloatComplex(inR[i],inI[i]);
+ out = casinhs(in);
+
+ assert( ( ( fabs( creals(out)-resR[i] ) ) / (fabs(creals(out)) ) ) <1e-6);
+ assert( ( ( fabs( cimags(out)-resI[i] ) ) / (fabs(cimags(out)) ) ) <1e-6);
+ }
}
void sasinhaTest(void) {
- float out[5];
- float in[5] = {FPI, FPI/2, FPI/3, FPI/4, FPI/6};
- int i = 0;
-
- printf(">> Float array\n");
- sasinha(in, 5, out);
- for (i = 0 ; i < 5 ; ++i)
- printf("sasinha(array) = %f\n", out[i]);
-}
+ float in[]= SOURCE;
+ float res[]= RESULT;
+ float out[200];
+ int i=0;
+
+ sasinha(in,200,out);
+ for (i=0;i<200;i++){
+ assert ( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-6);
+ }}
void casinhaTest(void) {
- floatComplex in[4];
- floatComplex out[4];
- int i = 0;
-
- in[0] = FloatComplex(FPI, FPI);
- in[1] = FloatComplex(FPI/2, FPI/2);
- in[2] = FloatComplex(FPI/2, FPI/3);
- in[3] = FloatComplex(FPI/2, FPI/4);
-
- casinha(in, 4, out);
- printf(">> Float Complex Array\n");
- for (i = 0 ; i < 4 ; ++i)
- printf("casinha(array) = %e + I * %e\n", creals(out[i]), cimags(out[i]));
+ float inR[]=CSOURCER;
+ float inI[]=CSOURCEI;
+ float resR[]=CRESULTR;
+ float resI[]=CRESULTI;
+ floatComplex in[200], out[200];
+ int i=0;
+
+ for (i=0;i<200;i++){
+ in[i]=FloatComplex(inR[i],inI[i]);
+ }
+ casinha(in,200,out);
+ for (i=0;i<200;i++){
+ assert( ( ( fabs( creals(out[i])-resR[i] ) ) / (fabs(creals(out[i])) ) ) <1e-6);
+ assert( ( ( fabs( cimags(out[i])-resI[i] ) ) / (fabs(cimags(out[i])) ) ) <1e-6);
+ }
}
int testAsinh(void) {
- printf("\n>>>> Float Hyperbolic ArcSine Tests\n");
+ printf("\n>>>> Double Hyperbolic ArcSine Tests\n");
sasinhsTest();
casinhsTest();
sasinhaTest();
casinhaTest();
+
return 0;
}
diff --git a/src/elementaryFunctions/atanh/testDoubleAtanh.c b/src/elementaryFunctions/atanh/testDoubleAtanh.c
index 62f383fe..a1fd7c10 100644
--- a/src/elementaryFunctions/atanh/testDoubleAtanh.c
+++ b/src/elementaryFunctions/atanh/testDoubleAtanh.c
@@ -453,73 +453,7 @@
0.6354974793467924598644,-0.6865980682751140484754,0.5939555774818401356896,\
-1.3024651432778990844952,1.197724373266410013983}
-#define RESULT {-1.4744610660983759053977,-3.2795029213225106445861,0.2422041646840577544531,\
--0.5752297863073998485106,0.7121630945985538696519,0.4243803995861772371256,\
--0.1906833812311178877330,0.3372689843733094883227,0.5416475837340712917722,\
--0.5861506043378337249550,-0.2077349615310257191503,-0.8651650049502660477785,\
--1.0241615832881652004005,-0.6504743749122398055462,-0.5519965631116492410513,\
--0.4691302795139216663678,0.4584432136447526562328,0.9076183700076346783092,\
-0.9185087029260963209509,0.1102422571172131521289,-0.0648124440153749203919,\
-0.0281882007066550886731,0.1358484485857832935185,2.1004370090239423696232,\
-1.0924991774831627200371,-0.8060125587957032156083,1.0172227264061333151801,\
-1.736042493622687921118,-0.1863533018119427342452,-0.7549561185313359290561,\
--0.4614170985204111286038,0.3046041145449288611857,-1.8166306469319770666715,\
--0.9326970536559181512715,3.1325332888309622703105,-1.3792397781139973389486,\
--1.5415589891296013203004,-0.0171150886014554831638,-0.6712634278717346525411,\
-0.1296776288627018158817,0.7449048409492748934468,-0.8355728364335629487769,\
-1.0237167786809893144095,-0.4002250855702985665729,0.5275261647661907415952,\
--0.6365188485604326151801,0.593818237113303393215,-1.1086074290970830968917,\
-0.5559215037224033428842,-1.4188800488983950298660,-0.2030109524350925953584,\
--1.2109116806527058241016,-0.618648185057067423465,-0.4406726279385401179312,\
-0.0807360417981298622569,1.3710194541092590725384,0.0358784527834248925804,\
--1.041372191940861169357,0.1478800901804916689830,1.1035975394582797637355,\
-1.8759258138597765253053,0.2629805384285096581110,0.6430289187352878910175,\
--0.5660273762902281458054,-1.5862221930864266461469,0.1695819872689824647782,\
-1.7267400811821158601589,0.8547625432037965209631,0.5402035003963170378682,\
-1.4525009288261496731565,0.5539201036322172200244,-0.1844324167806210001963,\
--0.8089386385243267918455,0.2955667016509896383170,0.0313028129649670083801,\
-0.7108684384800065814147,-1.0383547009634652713572,1.4799479994581337116699,\
-0.0442526991314810200229,0.6878256510027744852209,-0.8434557413354200061661,\
--1.1364652701643074284021,-0.1306969520152806707447,0.6762452782098172798797,\
-1.005717225984443130571,-1.5273278613167085016045,1.2461250150575873263392,\
--0.4763639926970618110325,-1.0549712063383256399618,1.5370414589157994633695,\
--2.6233309837037732670240,0.5329709825316656379712,0.0656342963912304455665,\
--0.3044404175419783142864,0.7166384348283165728333,-0.4277478080499193535680,\
-0.6675457063378462674308,-0.6224892627320329774321,-0.2853073726746037097612,\
-0.4474264519637772830052,-0.5733611255013777441292,-0.8489115589330021860448,\
-1.4767492874056193929988,0.4675865941091252309114,0.7215105644264150352996,\
--0.2485372004835029458025,0.9533893539015392271097,0.9949139163386880868600,\
--0.2888754177942080558772,0.0572963634231402757502,-0.3080752338091528041986,\
-0.3183705746036424866219,-1.7375264548714035583998,-0.5142166878802835183748,\
-0.4672787235144033601841,-1.2044507032201230423141,-0.5343152701155061690130,\
--0.6759512002250491757849,-0.3426510354825004212032,0.7655602779397917556636,\
-1.3065460037453791031226,-0.1368747459554155443406,1.4390524672743967293798,\
--0.4067781526762131449892,-1.4774318344439005823432,-0.8024889348769219665769,\
-1.1393982155849557980076,-0.9552396245178285116850,-0.9598461538853348962164,\
--0.8974087416560057040016,1.5281783215878395054688,0.7019410287263873060581,\
-0.6105122611902852325372,-0.8280825291376695540535,-0.2271580885894484980181,\
--0.0995012215536074662303,-2.6596162554083884188572,-0.9212932842045244985485,\
--0.6502044836894653734305,0.6158791818865629874580,-0.2693325220287110521866,\
--0.5507689268125864900938,-0.6719415444836209783119,-0.9911235054617995032800,\
--0.4076140317144636981972,-0.0225238830066269123120,-1.8597701914697917224828,\
-0.7233360518064337885136,1.0977027535066357089022,-0.1558800560054872108573,\
-1.0623189198966227486665,-0.8575163748144335462698,-0.463854325361329367094,\
-0.7064828873383774965333,0.2713587745389601235679,-0.3287316374977890531817,\
--1.6421667900158274377986,-0.8609439745036365776443,0.0106829139117793642938,\
-1.092393189014539744974,1.9620237692362385573119,0.8200147353723576948425,\
-0.0691827011392311119753,-0.6229915735462322468052,-0.2657062181808059753152,\
-0.8160024961656430209089,-0.4894047987117864928486,0.8587006143920951073412,\
-1.1051698569402153005115,-0.2701243583599451381083,-1.1113900272171266525589,\
-0.2908920738530955119039,0.1172101729688146409813,3.2706795664298211612220,\
-0.4518615589828762768576,0.7020915980292293800957,-0.8787256719819279693340,\
--0.9538277279422371357498,-0.7330177387440419689568,-0.0441506837064596646680,\
--0.8308242272476199508091,0.2915116980546684222197,0.2550214973106580407247,\
-0.1576133484131722883870,-2.8460534045826286764225,-0.768075815339287371053,\
--0.4181165627609883528315,-0.5448685867460187903788,0.3158443034854154785052,\
-0.0051109317177532613205,0.3613121056785816853640,0.5080216801947243787652,\
--0.5233928099098102970643,-0.5953313420807592182271,0.5535880446904775098460,\
-1.842839548963430384987,-0.6411995769353845409100,-0.2922619465382557679689,\
-0.1441406428551997020993,1.6252679142635939602002}
+
void datanhsTest() {
double in[]= SOURCE;
diff --git a/src/elementaryFunctions/log/testDoubleLog.c b/src/elementaryFunctions/log/testDoubleLog.c
index 2930c205..94f8357f 100644
--- a/src/elementaryFunctions/log/testDoubleLog.c
+++ b/src/elementaryFunctions/log/testDoubleLog.c
@@ -148,6 +148,145 @@
-0.6982162977399214431884,-2.4312485274946018520836,-1.9223514861397812403254,\
-0.3352847494467096622905,-0.0719538807151878373469}
+
+#define SOURCE2 {2.6395560009405016899109,4.1481037065386772155762,2.8064980218186974525452,\
+1.2800584640353918075562,7.7831285959109663963318,2.1190304495394229888916,\
+1.121354666538536548615,6.8568959552794694900513,1.5312166837975382804871,\
+6.970850601792335510254,8.4155184263363480567932,4.0620247554033994674683,\
+4.09482547547668218613,8.7841258011758327484131,1.1383596854284405708313,\
+1.9983377400785684585571,5.6186607433483004570007,5.8961773291230201721,\
+6.8539796629920601844788,8.9062247332185506820679,5.0422128057107329368591,\
+3.493615407496690750122,3.8737787725403904914856,9.2228986788541078567505,\
+9.4881842611357569694519,3.4353372454643249511719,3.7601187312975525856018,\
+7.3409405630081892013550,2.6157614728435873985291,4.99349383637309074402,\
+2.6385784195736050605774,5.25356308557093143463,5.3762298030778765678406,\
+1.1999255046248435974121,2.2563034901395440101624,6.2740930821746587753296,\
+7.6084325974807143211365,0.4855662025511264801025,6.7239497276023030281067,\
+2.017172696068882942200,3.911573919467628002167,8.3003165572881698608398,\
+5.8787201577797532081604,4.8291792999953031539917,2.2328650346025824546814,\
+8.4008856676518917083740,1.2059959070757031440735,2.8553641680628061294556,\
+8.6075146449729800224304,8.494101651012897491455,5.2570608118548989295959,\
+9.9312098976224660873413,6.4885628735646605491638,9.923190940171480178833,\
+0.5004197778180241584778,7.4855065811425447463989,4.1040589986369013786316,\
+6.0845263302326202392578,8.5442108893766999244690,0.6426467280834913253784,\
+8.279082938097417354584,9.2623437754809856414795,5.6672112690284848213196,\
+5.711638936772942543030,8.1601104838773608207703,0.5689279362559318542481,\
+5.5959366867318749427795,1.2493403162807226181030,7.279222286306321620941,\
+2.6777664758265018463135,5.4653349192813038825989,9.885407658293843269348,\
+7.3956565884873270988464,0.0371731072664260864258,5.9005728596821427345276,\
+3.096467358991503715515,2.5522057106718420982361,6.2518793903291225433350,\
+1.1574173765257000923157,6.1170040909200906753540,6.7839562846347689628601,\
+3.3200952783226966857910,0.2587099233642220497131,5.1744682248681783676147,\
+3.9168732380494475364685,2.4135384149849414825439,5.064434898085892200470,\
+4.2361020017415285110474,2.8937275288626551628113,0.8879321813583374023438,\
+6.2128817522898316383362,3.4549844544380903244019,7.0648676296696066856384,\
+5.2114724926650524139404,2.8704008506610989570618,6.502795079723000526428,\
+0.8813347620889544487000,4.498763345181941986084,7.2272530803456902503967,\
+8.9767962601035833358765,2.4278218811377882957458,4.3377211131155490875244,\
+9.6770532103255391120911,5.0685344357043504714966,5.2329764096066355705261,\
+5.5969475954771041870117,5.6173070007935166358948,4.68176002614200115204,\
+7.794546722434461116791,7.9010718129575252532959,9.8085420625284314155579,\
+8.1870661024004220962524,4.2568723810836672782898,2.4615605548024177551270,\
+9.2295324662700295448303,1.000745808705687522888,4.6782181179150938987732,\
+3.9504976756870746612549,0.3661171020939946174622,5.175368534401059150696,\
+8.3254515705630183219910,6.1048321425914764404297,1.8711117887869477272034,\
+0.1895748358219861984253,8.4335647663101553916931,0.7485948316752910614014,\
+8.5328151332214474678040,0.1245901081711053848267,1.8675393564626574516296,\
+4.920584075152873992920,7.4896081397309899330,9.414957007393240928650,\
+2.1240556007251143455505,5.7950199581682682037354,2.628147569485008716583,\
+4.3609866220504045486450,9.1105451015755534172058,8.0826673656702041625977,\
+8.1026530498638749122620,2.5904283951967954635620,4.1390872886404395103455,\
+3.599927779287099838257,6.91278793383389711380,7.6568587962538003921509,\
+3.572649653069674968720,7.6933998242020606994629,5.4776339093223214149475,\
+0.9622887428849935531616,9.5611717319115996360779,2.2074085660278797149658,\
+0.1432593585923314094544,8.1914897728711366653442,1.3049928424879908561707,\
+9.6820035576820373535156,6.5613814676180481910706,2.4455389659851789474487,\
+5.2831235667690634727478,8.4689256362617015838623,7.8766220854595303535461,\
+1.262082615867257118225,7.8838609857484698295593,3.4530424699187278747559,\
+2.6598573336377739906311,9.7098186518996953964233,8.8752476638182997703552,\
+2.066752854734659194946,8.5251609655097126960754,6.7446978110820055007935,\
+9.152874383144080638886,0.2848597615957260131836,2.367841475643217563629,\
+7.0153435599058866500854,1.2025266280397772789001,8.2874121330678462982178,\
+3.1610729591920971870422,5.30519076623022556305,5.715174819342792034149,\
+0.4780154302716255187988,8.2486197212710976600647,5.7988431211560964584351,\
+2.7918082987889647483826,9.5451109297573566436768,9.0711546363309025764465,\
+3.3601493109017610549927,1.1756130633875727653503,9.2537237703800201416016,\
+7.2636712575331330299377,9.0094979386776685714722,3.9489932497963309288025,\
+5.6551797501742839813232,7.0614896761253476142883,6.7878311965614557266235,\
+4.1329363686963915824890,1.402290873229503631592,4.9523561308160424232483,\
+4.1948772873729467391968,8.6262222891673445701599,2.8575096465647220611572,\
+2.5121363671496510505676,3.389101596549153327942}
+
+
+#define RESULT2 {0.9706107215522056241852,1.4226512916310911638362,1.0319374505428213772973,\
+0.246905751916103338717,2.0519583905069445073366,0.7509586489514044060911,\
+0.1145374781176292794394,1.9252548546825831721208,0.4260626375542267973984,\
+1.9417372548863311987333,2.1300774331528766758481,1.4016815575274605976119,\
+1.4097240974656071177407,2.1729462062921069964716,0.1295883538042104654586,\
+0.6923157050192292327751,1.7260933336118711167728,1.7743042306089458204355,\
+1.9248294562744026059420,2.1867504404929474226549,1.6178450344817050243762,\
+1.2509371333857781660726,1.3542304576599399901227,2.2216893784894660157647,\
+2.2500472625069045662372,1.2341151000295289552611,1.3244505343759986892849,\
+1.993466976516135025221,0.9615552493321314342367,1.6081358323702796830901,\
+0.9702402946929443716684,1.658906529368289861637,1.6819873484154954645931,\
+0.1822594753876470019538,0.8137278503591067746470,1.8364289458354570161447,\
+2.0292571844941731384893,-0.7224396410182910566178,1.9056757389571916672,\
+0.7016968755690818904114,1.3639398299492546673406,2.1162936535075722588317,\
+1.7713390779775688432807,1.5746765360416834500512,0.8032855297427843321856,\
+2.1283371369164427733267,0.1873057044979935803486,1.0491993894614395355092,\
+2.1526356176491328042744,2.1393719992097341986437,1.659572089557145968541,\
+2.2956823132957397959331,1.870041069148148160650,2.294874536928924957380,\
+-0.6923079771535994852982,2.012968695092798743218,1.4119764836513208905444,\
+1.8057488812128539290569,2.1452539646586252786165,-0.4421601177273855043381,\
+2.1137322059948120411832,2.225957124135133913256,1.7346971570693363595694,\
+1.7425060116900870088585,2.0992577085752079923964,-0.5640015026903990591478,\
+1.7220407427170496550417,0.2226156650313379503636,1.9850240276979147502345,\
+0.9849830425057782834486,1.6984254041571493765161,2.2910596958626552321903,\
+2.0008928803872945145770,-3.2921697020833700086939,1.7750494410596528993551,\
+1.1302619000814182470549,0.9369579698639551867956,1.83288212099904845864,\
+0.146191123459191885114,1.8110724490390321950173,1.9145604545765595450035,\
+1.1999934808065779723307,-1.3520478319474638073672,1.6437365753918393718180,\
+1.3652936921609135634270,0.8810938927039604351421,1.62224256150308399071,\
+1.4436435071804869512135,1.0625454734184220928483,-0.1188599112506976002157,\
+1.8266248385955683453119,1.2398179577704631082469,1.9551342798915567477991,\
+1.6508624439841452780087,1.0544516892385875639349,1.8722320967378904832401,\
+-0.1263177455503078638888,1.5038025468266962292319,1.9778590304154859413899,\
+2.194643054750437638489,0.8869945101840888135314,1.4673491210608482493427,\
+2.2697574345222681913015,1.6230517098794554620156,1.6549802193742981781810,\
+1.7222213768989977911161,1.7258523677080592761968,1.5436741131934335058418,\
+2.0534243510350704831069,2.0669984227965598755361,2.2832536450533371663596,\
+2.1025556044304130054456,1.4485347077928583114925,0.9007955206863934582984,\
+2.2224083935232625819367,0.0007455307285780288533,1.5429172933929051758639,\
+1.3738415648213015973766,-1.0048020456777133624371,1.6439105509928255699492,\
+2.1193172771056971726011,1.8090806121136604467381,0.6265327936561931876369,\
+-1.6629714204274992361832,2.1322195493342954719651,-0.2895573875226954974060,\
+2.1439193343978621975054,-2.0827260644551484070064,0.62462171221383455677,\
+1.5934272379201788183423,2.0135164783675794097917,2.24229959570391956802,\
+0.7533272804029441660489,1.7569989208182723583462,0.9662792518179295075953,\
+1.4726983212224467045814,2.209432545000515446532,2.089721937569185339356,\
+2.09219154507008475719,0.951823265584673561257,1.4204753018509210793496,\
+1.2809137839516946399954,1.9333730200617991190626,2.0356018208291457582959,\
+1.273307520236932832702,2.0403627955950214278857,1.700673239349282273025,\
+-0.0384407248228896478159,2.257710285652239079468,0.7918192329452391486910,\
+-1.943098595033752262751,2.1030957827723826270017,0.2661975560760838632746,\
+2.2702688589706512267696,1.8812011703610473922765,0.8942655346201515698112,\
+1.6645175074163265360738,2.136403657202092354339,2.0638991426068855616904,\
+0.2327632262134610163784,2.0648177566830252516183,1.2392557177584351268962,\
+0.9782724873844932389488,2.273137605702431063293,2.183266240754464071472,\
+0.7259787064172199544387,2.1430219045760425800040,1.9087566867408878312773,\
+2.2140679701900434217521,-1.255758284393388990452,0.8619787703734573813819,\
+1.9480996873952269865526,0.1844248666526293323198,2.114737753111020968078,\
+1.1509115140149177580753,1.668685731123507043350,1.7431248863402162285752,\
+-0.7381122661087159420035,2.1100458798366994450646,1.7576584357875708608532,\
+1.0266895216506544131,2.2560290788762715763482,2.205099558817555038814,\
+1.2119854107561658373982,0.1617897676032789000544,2.2250260402856771868585,\
+1.9828853838780200469216,2.1982793473903963210603,1.373460672957984574083,\
+1.73257189512379894403,1.9546560315313432631967,1.9151314791431239825670,\
+1.4189881394992434060498,0.3381072372999247011016,1.5998634493586285643119,\
+1.4338640873752146465137,2.15480666756291494579,1.0499504925567986202140,\
+0.9211335334181942613441,1.2205648705022635880368}
+
+
#define ZSOURCER {0.3140813848003745079041,0.5769402063451707363129,0.1306138429790735244751,\
0.0478980806656181812286,0.4500174494460225105286,0.0384718659333884716034,\
0.483350999653339385986,0.2981918179430067539215,0.7112689120694994926453,\
@@ -421,26 +560,319 @@
0.7703675837106083168493,0.1543074266086776613616}
+#define ZSOURCE2R {3.9219759730622172355652,4.6815521270036697387695,3.361602746881544589996,\
+5.3368766140192747116089,2.03906395938247442245,1.5899897180497646331787,\
+0.1818151073530316352844,4.0983706060796976089478,0.1058345986530184745789,\
+1.9653097167611122131348,2.7255953708663582801819,3.4376550372689962387085,\
+2.0337020372971892356873,3.0119446106255054473877,2.7625959040597081184387,\
+2.9445307422429323196411,5.7180739520117640495300,2.141770124435424804688,\
+6.8954616272822022438049,5.8555728476494550704956,4.2041230341419577598572,\
+4.2775720171630382537842,3.1845858739688992500305,5.7618944440037012100220,\
+4.2549022240564227104187,9.7619816288352012634277,2.518960000015795230866,\
+4.3911290075629949569702,0.7593036955222487449646,2.5593801774084568023682,\
+0.6706167431548237800598,7.6511315722018480300903,0.4173615900799632072449,\
+3.438271805644035339356,1.9701673323288559913635,2.1228986512869596481323,\
+3.1403985014185309410095,7.8216253779828548431396,0.5409323470667004585266,\
+9.1902069095522165298462,4.6035157097503542900085,2.9926850274205207824707,\
+0.0291663268581032752991,8.9934705849736928939819,8.3879271661862730979919,\
+4.3437494523823261260986,7.7678761305287480354309,1.3953176606446504592896,\
+1.1506372271105647087097,5.3554199635982513427734,4.3117330456152558326721,\
+6.145384786650538444519,9.2589621385559439659119,0.9938172809779644012451,\
+4.2805786477401852607727,9.431830951943993568420,0.3273952705785632133484,\
+9.2132670804858207702637,9.4490244099870324134827,9.007069906219840049744,\
+8.0943161016330122947693,0.2519542910158634185791,0.0196450622752308845520,\
+5.0752213317900896072388,4.0760429529473185539246,8.4080461412668228149414,\
+5.017265700735151767731,9.1287807654589414596558,4.4357294728979468345642,\
+5.9837839566171169281006,7.7418426470831036567688,7.9220082703977823257446,\
+5.5046048713847994804382,4.0850437059998512268066,7.2174380579963326454163,\
+4.768535858020186424255,6.3930579042062163352966,9.963865298777818679810,\
+1.5747882844880223274231,5.3506936598569154739380,2.1290646074339747428894,\
+5.59145063161849975586,4.304965981282293796539,0.2280548494309186935425,\
+5.7614597817882895469666,7.1491303853690624237061,9.3216359661892056465149,\
+1.2326993141323328018188,2.8655522270128130912781,0.1247995719313621520996,\
+5.7694048294797539710999,3.9386960770934820175171,6.8885837262496352195740,\
+9.7023218311369419097900,8.51576429326087236404,3.3933044690638780593872,\
+8.7725317804142832756042,1.1314024776220321655273,5.2641283208504319190979,\
+5.297394050285220146179,9.2917560925707221031189,9.7654302977025508880615,\
+6.2254639761522412300110,9.822583282366394996643,7.5429888023063540458679,\
+5.4547880962491035461426,7.2860160330310463905334,0.2525969501584768295288,\
+4.0251684701070189476013,0.9831319935619831085205,2.6086253346875309944153,\
+3.6363423336297273635864,1.7466178117319941520691,9.2341394722461700439453,\
+7.6051409030333161354065,5.6402041297405958175659,3.7970651825889945030212,\
+8.7762261740863323211670,8.21742579806596040726,6.787058124318718910217,\
+0.8220098121091723442078,2.5527314469218254089355,7.4444567272439599037170,\
+2.2695036139339208602905,6.836930788122117519379,9.3650726415216922760010,\
+5.0530174048617482185364,2.5248145777732133865356,6.8188397912308573722839,\
+2.8363681584596633911133,1.409485661424696445465,6.7591095995157957077026,\
+4.5126775791868567466736,7.5430292449891567230225,1.3702143030241131782532,\
+6.6082405392080545425415,3.8900542212650179862976,7.001820541918277740479,\
+9.168005720712244510651,2.1228999551385641098022,2.6978330826386809349060,\
+3.1998893804848194122314,0.2321802498772740364075,7.26544727571308612823,\
+1.5340585587546229362488,2.3552638292312622070312,0.8797382796183228492737,\
+7.1059537213295698165894,6.8887275597080588340759,6.5953194908797740936279,\
+1.8151161121204495429993,3.9049659762531518936157,1.5869047446176409721375,\
+6.2407150492072105407715,6.3760355720296502113342,4.2704886104911565780640,\
+1.0716815060004591941833,2.3822965659201145172119,9.4629473658278584480286,\
+4.5766852516680955886841,8.9644787041470408439636,4.4384705275297164916992,\
+8.08956819120794534683,6.8317985069006681442261,0.3401931514963507652283,\
+2.3805456422269344329834,9.4920115964487195014954,2.1827886346727609634399,\
+6.1546878470107913017273,8.3135433867573738098145,7.7340125897899270057678,\
+4.2441909667104482650757,7.262125960551202297211,7.0999773032963275909424,\
+4.7457459988072514533997,9.4386920798569917678833,1.4596485672518610954285,\
+0.7141010463237762451172,6.7337385797873139381409,6.536924717947840690613,\
+1.996896131895482540131,6.01412517949938774109,1.8993748771026730537415,\
+2.5839814636856317520142,0.9878737432882189750671,0.6199027225375175476074,\
+0.4034968325868248939514,7.4001471605151891708374,6.1626600986346602439880,\
+6.5835834480822086334229,2.5145971449092030525208,3.8433500844985246658325,\
+4.3964602379128336906433,6.5407369285821914672852,5.878106378950178623200,\
+6.0208318661898374557495,0.4535020282492041587830,2.0294443331658840179443,\
+7.844273825176060199738,2.6375361625105142593384}
+
+
+#define ZSOURCE2I {4.3832763982936739921570,8.6648589745163917541504,3.7921421090140938758850,\
+7.6687160786241292953491,6.0066213225945830345154,7.85673560574650764465,\
+7.3871155502274632453918,5.5442603398114442825317,9.9291495559737086296082,\
+9.757428467273712158203,3.709622272290289402008,3.0322382133454084396362,\
+9.5195201179012656211853,7.1278580836951732635498,1.192370061762630939484,\
+5.0091631803661584854126,3.2900535268709063529968,4.8089468106627464294434,\
+3.3036959776654839515686,6.3044753577560186386108,2.1171907847747206687927,\
+4.4860231317579746246338,5.9145097108557820320129,6.8067426700145006179810,\
+0.7392961112782359123230,9.4336947053670883178711,1.2863306934013962745667,\
+2.0190807711333036422729,1.9693034281954169273376,8.9286901615560054779053,\
+4.6179189579561352729797,6.2512917164713144302368,7.0597065938636660575867,\
+7.0181696489453315734863,4.0879997471347451210022,0.6362213846296072006226,\
+0.6573933875188231468201,5.3310041315853595733643,0.3315818728879094123840,\
+3.157835649326443672180,3.785823243670165538788,4.6195234358310699462891,\
+6.2873698258772492408752,2.8785153012722730636597,3.2920487364754080772400,\
+4.7192330472171306610107,3.3537696348503232002258,5.5530697200447320938110,\
+1.196080814115703105927,7.6139996573328971862793,4.7909884760156273841858,\
+2.8169692959636449813843,2.380097783170640468597,3.2942054606974124908447,\
+2.3067280324175953865051,2.1362966019660234451294,4.0549980429932475090027,\
+3.0953712016344070434570,6.762971603311598300934,9.7069163154810667037964,\
+5.4417965700849890708923,0.2047479711472988128662,8.9413649635389447212219,\
+3.4903638903051614761353,1.1053651524707674980164,2.0233777537941932678223,\
+1.3046909729018807411194,8.573952978476881980896,6.3780163740739226341248,\
+4.0711227245628833770752,6.6919379355385899543762,2.042601602151989936829,\
+8.3104313490912318229675,0.1221632957458496093750,4.8844617092981934547424,\
+9.549877075478434562683,0.5874312063679099082947,8.2584649138152599334717,\
+2.9807415651157498359680,0.7757596764713525772095,5.8460923237726092338562,\
+7.528713606297969818115,0.5172297963872551918030,5.9586250688880681991577,\
+3.8337053125724196434021,4.9002202786505222320557,5.2727950783446431159973,\
+0.6889454741030931472778,8.843077751807868480682,7.1912937611341476440430,\
+0.6942595774307847023010,1.1522095929831266403198,4.862680672667920589447,\
+7.6715826056897640228271,0.8805298106744885444641,7.0085612777620553970337,\
+1.879138792864978313446,2.0178856328129768371582,4.0628212550655007362366,\
+4.0966569539159536361694,1.769564501009881496429,3.31293122842907905579,\
+0.5184767069295048713684,4.1492417920380830764771,7.2212355909869074821472,\
+0.7746253907680511474609,5.8558783913031220436096,3.7079446297138929367065,\
+2.1161167463287711143494,1.903268527239561080933,5.607953821308910846710,\
+9.4247916433960199356079,6.8177247745916247367859,2.7342410013079643249512,\
+2.0717754075303673744202,1.9379387702792882919312,6.797837591730058193207,\
+5.88365742936730384827,9.331753817386925220490,5.509122880175709724426,\
+8.0405469564720988273621,1.074489727616310119629,7.4039250845089554786682,\
+5.6103316973894834518433,7.6611549546942114830017,7.8306589089334011077881,\
+1.4388314681127667427063,1.6471924725919961929321,3.1774142337962985038757,\
+5.0265956297516822814941,6.9204960623756051064,7.0065794046968221664429,\
+8.8706119870766997337341,6.9797694869339466094971,6.7989911558106541633606,\
+3.6159398127347230911255,2.6739976881071925163269,0.7736870646476745605469,\
+1.494100340642035007477,3.2018390577286481857300,2.0260545751079916954041,\
+4.4988587312400341033936,7.7075743721798062324524,2.4352242145687341690063,\
+2.1261148853227496147156,1.0992341861128807067871,6.9814807781949639320374,\
+4.1509064938873052597046,5.0298188393935561180115,7.51160675659775733948,\
+9.9401472182944416999817,1.82876241393387317657,3.021917375735938549042,\
+3.7854864448308944702148,7.1531985932961106300354,9.5241537224501371383667,\
+4.7039186349138617515564,1.8709417246282100677490,2.55718790460377931595,\
+4.4350660685449838638306,7.2340781940147280693054,8.7619100883603096008301,\
+0.3733208635821938514710,4.2934664245694875717163,3.1572330510243773460388,\
+3.682477343827486038208,1.4587742509320378303528,6.7683792579919099807739,\
+5.2619793592020869255066,4.003625661134719848633,0.0291080260649323463440,\
+3.0681814532727003097534,7.9026939114555716514587,9.5779503695666790008545,\
+6.6892711864784359931946,2.9296159837394952774048,8.2238993747159838676453,\
+0.1798455044627189636231,8.7107013771310448646545,3.1810243334621191024780,\
+5.7244732743129134178162,5.7386581040918827056885,3.4920182498171925544739,\
+7.06729766912758350372,3.5992007283493876457214,4.0523112565279006958008,\
+6.1408105725422501564026,6.5240467619150876998901,0.2951709320768713951111,\
+5.6688958965241909027100,7.1140170888975262641907,4.5884906593710184097290,\
+4.7205173922702670097351,0.6237313523888587951660,0.8544011274352669715881,\
+0.1345641072839498519898,3.5430019116029143333435,6.7193946428596973419189,\
+1.3606189610436558723450,2.1197437215596437454224}
+
+
+#define ZRESULT2R {1.7718546901199148102535,2.2873385372432406548171,1.6228701567171754938101,\
+2.2346263074245684698838,1.8473969837167181218263,2.0814403666906242662549,\
+2.000040135761198101250,1.930738025076279118508,2.2955316341715112926636,\
+2.2979125914561788768253,1.52676863913911398107,1.5225454413433419098567,\
+2.2756589535249842626285,2.0461560089912054216654,1.10158579014350732628,\
+1.7596676151017560663092,1.886619744318301705732,1.6609534913253483079387,\
+2.0341867590624715944614,2.1522631887405574424577,1.5490800609419352884544,\
+1.8243154431583954444562,1.9046961835587756795007,2.1880745312667504443027,\
+1.462943224821960486182,2.6082576924848916988253,1.0397086540972344526068,\
+1.5754847768676314423431,0.746979645400304148595,2.2287521705924668857790,\
+1.5403790183895167409389,2.29053332003721576982,1.9561479629741382879615,\
+2.056062919004959077540,1.5124829204355532130677,0.7957872878063905197621,\
+1.1657936572577645151227,2.247663310479210085902,-0.4549625893688244437918,\
+2.273939094117130466088,1.7851157264602297569667,1.705510493291471751931,\
+1.838553591041654167171,2.2452631537104275061267,2.1984262619387999748710,\
+1.858482175867823826820,2.1354614286115483068329,1.7449625890299069741474,\
+0.5066316450005309279803,2.2309587833094872699746,1.8633839241242127204856,\
+1.9110608576794807511590,2.2575857867741544460216,1.23571911173189863398,\
+1.581562045830424700910,2.2691047577207688057399,1.4031989962500943658341,\
+2.2741179432518765501925,2.4527182982567738989133,2.5833963585371355620168,\
+2.2776279862384747332271,-1.1249835300913728630690,2.1906906716320380112961,\
+1.8180097251363194210683,1.440608273684235829393,2.157337396250079031290,\
+1.6456014738468727198750,2.5276363856092047832647,2.0501201476301127435420,\
+1.9792596577711849548109,2.325636279713856779949,2.1018269082301319627959,\
+2.2993946557097193483798,1.407779382548410174181,2.1650335217497893580685,\
+2.3678319878208848869861,1.8594164774388513006187,2.56043452139564964298,\
+1.2152594801616827258073,1.6876273083151080989239,1.8280452566376663714465,\
+2.2383606348726785562064,1.4669353168458199032642,1.7855716392006990567154,\
+1.9344712649878033072781,2.1595582205209731263551,2.3711393709457433409682,\
+0.3451198452895575252697,2.2295598849908442318224,1.9730216569827605521681,\
+1.7597572254564382010500,1.4119056335367026200345,2.1320313551579719302254,\
+2.5151804905590435801344,2.1472364706413502588589,2.052431577045615185284,\
+2.1940570121896025845842,0.8387289948467516742525,1.8945610375322186058611,\
+1.901605848224737327357,2.2469410116186243620007,2.3333167208432867845147,\
+1.8321040495156570848678,2.3667788410376999763685,2.345870799293293007537,\
+1.7064766326923879180555,2.2351179984798275057756,1.3127927306468758494873,\
+1.5145818637157286712380,0.7618288453812751548355,1.8221250086585414340590,\
+2.3127298919002594601579,1.9513099157402993277799,2.2649290827240116108499,\
+2.0646178740610454660498,1.7857162805439725783430,2.0523808897592226152540,\
+2.357637781206334715023,2.5204455223537904906550,2.1680868421848340510394,\
+2.08969579055791898625,1.0187212773133276222381,2.351321025745570558740,\
+1.8003855797977157404688,2.3290564194645368978343,2.5020530275623595883872,\
+1.6589662323678027178175,1.1034736729371952268508,2.0179385634489594991692,\
+1.7529535621370035958222,1.9548092141654069830992,2.2757671672542376661852,\
+2.2978225629400212959297,2.329897705001075625120,1.9366802551403343723990,\
+2.0192737614105338295190,1.5519072144028889237433,1.9522381258437428996899,\
+2.228825942499146339770,1.3459088341323246496017,1.2160693133443531976923,\
+1.708519320712721833999,2.042657041378174831436,2.0363649964518035773153,\
+0.9638512795498686003270,0.9551846741593900125267,1.951137961258366582129,\
+2.107724763084950492242,2.1435395035941335883933,2.30219731892690226971,\
+2.3129821080069814520641,1.4613961122338947618005,1.2276638750511146280786,\
+1.98774702803650615834,2.2599263943254159769936,2.3454288218721179859472,\
+1.5736974684351636710744,1.1082826047896976451312,2.2826248447267389884985,\
+1.852079302129498561413,2.4440219801181322090144,2.2846216839061130876587,\
+2.0916390604994830049179,2.0880185293365247645170,1.1554676622252344486697,\
+1.4781743340729813773748,2.2621227047071905680298,1.9617338719614783038026,\
+2.0915485321054503309313,2.222172100020261886755,2.0456349034700243016971,\
+1.6557620395745074048932,2.3732960033711649749932,2.4784302018604411621538,\
+2.1043456955600268187823,2.2908052004546388680239,2.1225525715426596384816,\
+-0.3059820602804464440006,2.398801697565509982724,1.9837316998415748248163,\
+1.8021669050328577021958,2.1177911026101683411582,1.3800624471185749531088,\
+2.0182134290564768264176,1.3170274339145702224840,1.4108532825842892144408,\
+1.817110834423457665920,2.2890298175330245911141,1.8196542505912531861867,\
+2.1619335403208914669904,2.0209326327770549269758,1.7893311710629888899859,\
+1.8641960608110765829082,1.882576152038281991352,1.7816883851861540222217,\
+1.7954751269073565556056,1.2730999018963571334240,1.9486466131391497746961,\
+2.074605067637334876451,1.2189909546635331327735}
+
+
+#define ZRESULT2I {0.8408843669071919268987,1.0754371807248737091811,0.8455094310786673839075,\
+0.962808271271232585242,1.2435335418309885202603,1.371120256581034091425,\
+1.5461888319559713433904,0.9342369007616236897817,1.56013775123029430070,\
+1.3720388608498168547811,0.9371355532144381994542,0.7228179279461685036168,\
+1.360325287393417292847,1.1709945644102059958414,0.4074578726347549695319,\
+1.0393742565506918218432,0.5221182542768327827787,1.1517977305599864656926,\
+0.4467977216337457035955,0.8222975857540034683169,0.4665224019878621564139,\
+0.8091797065019556978172,1.0768746352304479074746,0.8683388375483406251831,\
+0.1720341159830799382391,0.7682977019562435838651,0.4721387487057847609506,\
+0.4309811115589534114001,1.20279143843462255070,1.2916347740244560338141,\
+1.4265839008392693365579,0.6850460436644268957807,1.5117462274209296779759,\
+1.1152532149987959275705,1.1217014706271768442747,0.2911766403909815670303,\
+0.2063546073155473614680,0.5982511040925977408023,0.5499105526382754849379,\
+0.3309697617869979402450,0.6882370204600587459964,0.9959451809388051302108,\
+1.5661574844082004620560,0.3097639368523368297304,0.3740022155825183380884,\
+0.8268049495959598482742,0.407572856709710940049,1.3246230944084764757918,\
+0.8047604843662868878695,0.9578156211088914018248,0.8379992820836518196970,\
+0.4298072736875270249968,0.2516111351341220880862,1.2777930133692467773443,\
+0.4942674920588698839197,0.2227403824735175175142,1.4902323819071812138759,\
+0.3241206854947055737704,0.6212066791677098853697,0.8227777158663325263177,\
+0.5918914368525474145599,0.6824004867135488039409,1.5685992315253338702519,\
+0.602441091725517741118,0.2648167750385964080984,0.2361574036342227733698,\
+0.2544057494452062195833,0.7540670573431564882583,0.9631160038064509043565,\
+0.5974222702744066415548,0.7127866343417466055143,0.2523427003112133637508,\
+0.9857721947818851582213,0.0298961055939373325507,0.5949566736712420533806,\
+1.1076852186579833059454,0.0916284996635063769821,0.6920814866116709040966,\
+1.0847494758718594365376,0.1439797822740493671301,1.2215400197911927548944,\
+0.9319943094964961982640,0.1195740768674621451462,1.5325419323859537090726,\
+0.5871287736405550461427,0.6008795873685909283424,0.5147800680430554276512,\
+0.5096442477271476700906,1.2574287319730830247977,1.55344381002968989769,\
+0.1197588579388608048815,0.2845949117488152935174,0.6146775806026560928785,\
+0.6690416852557365956,0.1030338183393550155476,1.1198962694059428901738,\
+0.2110181909408466172096,1.0597850788835401214527,0.6573038229366630069706,\
+0.6582686240328038396186,0.1881909924839933190288,0.3270668956957688000564,\
+0.0830914673081940696742,0.3996821407672082604456,0.763608851537480148863,\
+0.1410651270101331844487,0.677001919140020169685,1.5027782434779339837405,\
+0.4840122714003086690227,1.0939971143713191903402,1.1354027775868176242113,\
+1.2025671422981056846169,1.3200023979900399329068,0.2878762084297626921980,\
+0.2659639364881328793544,0.3309563133803885004447,1.0613976119428301103653,\
+0.5905886949329369750572,0.84881047253311037171,0.6818405058224251691357,\
+1.4689172047242584628890,0.3984077871527766379067,0.7826684691736193189016,\
+1.1863976071520063726439,0.8421875864316380466690,0.6964016273061860440308,\
+0.2774051332309265816001,0.5780614975169666713839,0.4360596809152573194446,\
+1.0570616474517706695480,1.3698760574306645398934,0.8033735187122362786383,\
+1.100195299896877587642,0.7466330742895204153342,1.3719281224888897341430,\
+0.5006805450256617273652,0.6022149721715611692119,0.1100515320096066840261,\
+0.1615487638997855912582,0.9853189831543425203364,0.6441365190650450989196,\
+0.9525486295501676137221,1.540681786544560338825,0.3234105928346787672822,\
+0.9457654725170446807780,0.4366658824494836776964,1.4454467286135332937391,\
+0.5286797419321711544171,0.6306769685466229180548,0.8502600566998695930110,\
+1.3901817278534140953639,0.4379816003966337523146,1.0872460520812594619855,\
+0.5452429334871597976786,0.8427783441184910628863,1.1492861648773524674283,\
+1.346792368827264718689,0.665745289338786183642,0.2639277343938546960267,\
+0.7696845111061191291313,0.6789773815510785626159,1.1019111077295657974418,\
+0.0461157104075398602272,0.5610787453255564605215,1.4634600366382779501606,\
+0.9969191986962234741654,0.1524913254966685227654,1.2588290814744897971877,\
+0.7073635046287626293449,0.4488022872724745648831,0.0037636205385015429094,\
+0.6259389684526723840463,0.8276134607557569244918,0.9328971084913546540918,\
+0.9537519653655091023126,0.3009556732582234217510,1.3951370123387065724785,\
+0.2467179687642131191705,0.9127106501576134345299,0.4528896475979662383793,\
+1.2351598243895067774645,0.7619639996129009551495,1.0726338584530288322583,\
+1.220269965181696392165,1.3029226301867964377124,1.4189980227900089726489,\
+1.5051832236136615250643,0.7225617055791342391302,0.0478600995604049964105,\
+0.710883123025403795836,1.2310328539390928970221,0.8735414139313334436210,\
+0.8209275679220129351421,0.0950735258592600440686,0.1443422571457730618771,\
+0.0223460331642115414552,1.443489200421151252840,1.2774801572114198311425,\
+0.1717450012966928174496,0.6769828145758884918593}
+
+
+ /* in is between 0 and 1
+ in2 between 0 and 10 */
+
void dlogsTest(void) {
+
double in[]=SOURCE;
double res[]=RESULT;
double out;
+ double in2[]=SOURCE2;
+ double res2[]=RESULT2;
int i;
for (i=0;i<200;i++){
out=dlogs(in[i]);
assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
}
+
+ for (i=0;i<200;i++){
+ out=dlogs(in2[i]);
+ assert(( (fabs(out-res2[i]))/(fabs(out)) )<1e-16);
+ }
}
+
+/* FIXME : assert à 10^-14 */
void zlogsTest(void) {
double inR[]=ZSOURCER;
double inI[]=ZSOURCEI;
double resR[]=ZRESULTR;
double resI[]=ZRESULTI;
- doubleComplex in,out;
+ double in2R[]=ZSOURCE2R;
+ double in2I[]=ZSOURCE2I;
+ double res2R[]=ZRESULT2R;
+ double res2I[]=ZRESULT2I;
+ doubleComplex in,in2,out;
int i;
for (i=0;i<200;i++){
@@ -449,18 +881,33 @@ void zlogsTest(void) {
assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-14);
assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
}
+
+
+ for (i=0;i<200;i++){
+ in2=DoubleComplex(in2R[i],in2I[i]);
+ out=zlogs(in2);
+ assert(( (fabs(zreals(out)-res2R[i]))/(fabs(zreals(out))) )<1e-15);
+ assert(( (fabs(zimags(out)-res2I[i]))/(fabs(zimags(out))) )<1e-16);
+ }
}
void dlogaTest(void) {
double in[]=SOURCE;
double res[]=RESULT;
double out[200];
+ double in2[]=SOURCE2;
+ double res2[]=RESULT2;
int i;
dloga(in,200,out);
for (i=0;i<200;i++){
assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
}
+
+ dloga(in2,200,out);
+ for (i=0;i<200;i++){
+ assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<1e-16);
+ }
}
void zlogaTest(void) {
@@ -468,7 +915,11 @@ void zlogaTest(void) {
double inI[]=ZSOURCEI;
double resR[]=ZRESULTR;
double resI[]=ZRESULTI;
- doubleComplex *in,out[200];
+ double in2R[]=ZSOURCE2R;
+ double in2I[]=ZSOURCE2I;
+ double res2R[]=ZRESULT2R;
+ double res2I[]=ZRESULT2I;
+ doubleComplex *in,*in2,out[200];
int i;
@@ -479,6 +930,16 @@ void zlogaTest(void) {
assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-14);
assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-15);
}
+
+ in2=DoubleComplexMatrix(in2R,in2I,200);
+ zloga(in2,200,out);
+
+ for (i=0;i<200;i++){
+ assert(( (fabs(zreals(out[i])-res2R[i]))/(fabs(zreals(out[i]))) )<1e-15);
+ assert(( (fabs(zimags(out[i])-res2I[i]))/(fabs(zimags(out[i]))) )<1e-16);
+ }
+
+
}
int testLog(void) {
printf("\n>>>> Double Logarithm Tests\n");
diff --git a/src/elementaryFunctions/log/testFloatLog.c b/src/elementaryFunctions/log/testFloatLog.c
index 3e24aa4e..34b12d89 100644
--- a/src/elementaryFunctions/log/testFloatLog.c
+++ b/src/elementaryFunctions/log/testFloatLog.c
@@ -148,6 +148,151 @@
-0.6982162977399214431884f,-2.4312485274946018520836f,-1.9223514861397812403254f,\
-0.3352847494467096622905f,-0.0719538807151878373469f}
+
+#define SOURCE2 {2.6395560009405016899109f,4.1481037065386772155762f,2.8064980218186974525452f,\
+1.2800584640353918075562f,7.7831285959109663963318f,2.1190304495394229888916f,\
+1.121354666538536548615f,6.8568959552794694900513f,1.5312166837975382804871f,\
+6.970850601792335510254f,8.4155184263363480567932f,4.0620247554033994674683f,\
+4.09482547547668218613f,8.7841258011758327484131f,1.1383596854284405708313f,\
+1.9983377400785684585571f,5.6186607433483004570007f,5.8961773291230201721f,\
+6.8539796629920601844788f,8.9062247332185506820679f,5.0422128057107329368591f,\
+3.493615407496690750122f,3.8737787725403904914856f,9.2228986788541078567505f,\
+9.4881842611357569694519f,3.4353372454643249511719f,3.7601187312975525856018f,\
+7.3409405630081892013550f,2.6157614728435873985291f,4.99349383637309074402f,\
+2.6385784195736050605774f,5.25356308557093143463f,5.3762298030778765678406f,\
+1.1999255046248435974121f,2.2563034901395440101624f,6.2740930821746587753296f,\
+7.6084325974807143211365f,0.4855662025511264801025f,6.7239497276023030281067f,\
+2.017172696068882942200f,3.911573919467628002167f,8.3003165572881698608398f,\
+5.8787201577797532081604f,4.8291792999953031539917f,2.2328650346025824546814f,\
+8.4008856676518917083740f,1.2059959070757031440735f,2.8553641680628061294556f,\
+8.6075146449729800224304f,8.494101651012897491455f,5.2570608118548989295959f,\
+9.9312098976224660873413f,6.4885628735646605491638f,9.923190940171480178833f,\
+0.5004197778180241584778f,7.4855065811425447463989f,4.1040589986369013786316f,\
+6.0845263302326202392578f,8.5442108893766999244690f,0.6426467280834913253784f,\
+8.279082938097417354584f,9.2623437754809856414795f,5.6672112690284848213196f,\
+5.711638936772942543030f,8.1601104838773608207703f,0.5689279362559318542481f,\
+5.5959366867318749427795f,1.2493403162807226181030f,7.279222286306321620941f,\
+2.6777664758265018463135f,5.4653349192813038825989f,9.885407658293843269348f,\
+7.3956565884873270988464f,0.0371731072664260864258f,5.9005728596821427345276f,\
+3.096467358991503715515f,2.5522057106718420982361f,6.2518793903291225433350f,\
+1.1574173765257000923157f,6.1170040909200906753540f,6.7839562846347689628601f,\
+3.3200952783226966857910f,0.2587099233642220497131f,5.1744682248681783676147f,\
+3.9168732380494475364685f,2.4135384149849414825439f,5.064434898085892200470f,\
+4.2361020017415285110474f,2.8937275288626551628113f,0.8879321813583374023438f,\
+6.2128817522898316383362f,3.4549844544380903244019f,7.0648676296696066856384f,\
+5.2114724926650524139404f,2.8704008506610989570618f,6.502795079723000526428f,\
+0.8813347620889544487000f,4.498763345181941986084f,7.2272530803456902503967f,\
+8.9767962601035833358765f,2.4278218811377882957458f,4.3377211131155490875244f,\
+9.6770532103255391120911f,5.0685344357043504714966f,5.2329764096066355705261f,\
+5.5969475954771041870117f,5.6173070007935166358948f,4.68176002614200115204f,\
+7.794546722434461116791f,7.9010718129575252532959f,9.8085420625284314155579f,\
+8.1870661024004220962524f,4.2568723810836672782898f,2.4615605548024177551270f,\
+9.2295324662700295448303f,1.000745808705687522888f,4.6782181179150938987732f,\
+3.9504976756870746612549f,0.3661171020939946174622f,5.175368534401059150696f,\
+8.3254515705630183219910f,6.1048321425914764404297f,1.8711117887869477272034f,\
+0.1895748358219861984253f,8.4335647663101553916931f,0.7485948316752910614014f,\
+8.5328151332214474678040f,0.1245901081711053848267f,1.8675393564626574516296f,\
+4.920584075152873992920f,7.4896081397309899330f,9.414957007393240928650f,\
+2.1240556007251143455505f,5.7950199581682682037354f,2.628147569485008716583f,\
+4.3609866220504045486450f,9.1105451015755534172058f,8.0826673656702041625977f,\
+8.1026530498638749122620f,2.5904283951967954635620f,4.1390872886404395103455f,\
+3.599927779287099838257f,6.91278793383389711380f,7.6568587962538003921509f,\
+3.572649653069674968720f,7.6933998242020606994629f,5.4776339093223214149475f,\
+0.9622887428849935531616f,9.5611717319115996360779f,2.2074085660278797149658f,\
+0.1432593585923314094544f,8.1914897728711366653442f,1.3049928424879908561707f,\
+9.6820035576820373535156f,6.5613814676180481910706f,2.4455389659851789474487f,\
+5.2831235667690634727478f,8.4689256362617015838623f,7.8766220854595303535461f,\
+1.262082615867257118225f,7.8838609857484698295593f,3.4530424699187278747559f,\
+2.6598573336377739906311f,9.7098186518996953964233f,8.8752476638182997703552f,\
+2.066752854734659194946f,8.5251609655097126960754f,6.7446978110820055007935f,\
+9.152874383144080638886f,0.2848597615957260131836f,2.367841475643217563629f,\
+7.0153435599058866500854f,1.2025266280397772789001f,8.2874121330678462982178f,\
+3.1610729591920971870422f,5.30519076623022556305f,5.715174819342792034149f,\
+0.4780154302716255187988f,8.2486197212710976600647f,5.7988431211560964584351f,\
+2.7918082987889647483826f,9.5451109297573566436768f,9.0711546363309025764465f,\
+3.3601493109017610549927f,1.1756130633875727653503f,9.2537237703800201416016f,\
+7.2636712575331330299377f,9.0094979386776685714722f,3.9489932497963309288025f,\
+5.6551797501742839813232f,7.0614896761253476142883f,6.7878311965614557266235f,\
+4.1329363686963915824890f,1.402290873229503631592f,4.9523561308160424232483f,\
+4.1948772873729467391968f,8.6262222891673445701599f,2.8575096465647220611572f,\
+2.5121363671496510505676f,3.389101596549153327942f}
+
+
+#define RESULT2 {0.9706107215522056241852f,1.4226512916310911638362f,1.0319374505428213772973f,\
+0.246905751916103338717f,2.0519583905069445073366f,0.7509586489514044060911f,\
+0.1145374781176292794394f,1.9252548546825831721208f,0.4260626375542267973984f,\
+1.9417372548863311987333f,2.1300774331528766758481f,1.4016815575274605976119f,\
+1.4097240974656071177407f,2.1729462062921069964716f,0.1295883538042104654586f,\
+0.6923157050192292327751f,1.7260933336118711167728f,1.7743042306089458204355f,\
+1.9248294562744026059420f,2.1867504404929474226549f,1.6178450344817050243762f,\
+1.2509371333857781660726f,1.3542304576599399901227f,2.2216893784894660157647f,\
+2.2500472625069045662372f,1.2341151000295289552611f,1.3244505343759986892849f,\
+1.993466976516135025221f,0.9615552493321314342367f,1.6081358323702796830901f,\
+0.9702402946929443716684f,1.658906529368289861637f,1.6819873484154954645931f,\
+0.1822594753876470019538f,0.8137278503591067746470f,1.8364289458354570161447f,\
+2.0292571844941731384893f,-0.7224396410182910566178f,1.9056757389571916672f,\
+0.7016968755690818904114f,1.3639398299492546673406f,2.1162936535075722588317f,\
+1.7713390779775688432807f,1.5746765360416834500512f,0.8032855297427843321856f,\
+2.1283371369164427733267f,0.1873057044979935803486f,1.0491993894614395355092f,\
+2.1526356176491328042744f,2.1393719992097341986437f,1.659572089557145968541f,\
+2.2956823132957397959331f,1.870041069148148160650f,2.294874536928924957380f,\
+-0.6923079771535994852982f,2.012968695092798743218f,1.4119764836513208905444f,\
+1.8057488812128539290569f,2.1452539646586252786165f,-0.4421601177273855043381f,\
+2.1137322059948120411832f,2.225957124135133913256f,1.7346971570693363595694f,\
+1.7425060116900870088585f,2.0992577085752079923964f,-0.5640015026903990591478f,\
+1.7220407427170496550417f,0.2226156650313379503636f,1.9850240276979147502345f,\
+0.9849830425057782834486f,1.6984254041571493765161f,2.2910596958626552321903f,\
+2.0008928803872945145770f,-3.2921697020833700086939f,1.7750494410596528993551f,\
+1.1302619000814182470549f,0.9369579698639551867956f,1.83288212099904845864f,\
+0.146191123459191885114f,1.8110724490390321950173f,1.9145604545765595450035f,\
+1.1999934808065779723307f,-1.3520478319474638073672f,1.6437365753918393718180f,\
+1.3652936921609135634270f,0.8810938927039604351421f,1.62224256150308399071f,\
+1.4436435071804869512135f,1.0625454734184220928483f,-0.1188599112506976002157f,\
+1.8266248385955683453119f,1.2398179577704631082469f,1.9551342798915567477991f,\
+1.6508624439841452780087f,1.0544516892385875639349f,1.8722320967378904832401f,\
+-0.1263177455503078638888f,1.5038025468266962292319f,1.9778590304154859413899f,\
+2.194643054750437638489f,0.8869945101840888135314f,1.4673491210608482493427f,\
+2.2697574345222681913015f,1.6230517098794554620156f,1.6549802193742981781810f,\
+1.7222213768989977911161f,1.7258523677080592761968f,1.5436741131934335058418f,\
+2.0534243510350704831069f,2.0669984227965598755361f,2.2832536450533371663596f,\
+2.1025556044304130054456f,1.4485347077928583114925f,0.9007955206863934582984f,\
+2.2224083935232625819367f,0.0007455307285780288533f,1.5429172933929051758639f,\
+1.3738415648213015973766f,-1.0048020456777133624371f,1.6439105509928255699492f,\
+2.1193172771056971726011f,1.8090806121136604467381f,0.6265327936561931876369f,\
+-1.6629714204274992361832f,2.1322195493342954719651f,-0.2895573875226954974060f,\
+2.1439193343978621975054f,-2.0827260644551484070064f,0.62462171221383455677f,\
+1.5934272379201788183423f,2.0135164783675794097917f,2.24229959570391956802f,\
+0.7533272804029441660489f,1.7569989208182723583462f,0.9662792518179295075953f,\
+1.4726983212224467045814f,2.209432545000515446532f,2.089721937569185339356f,\
+2.09219154507008475719f,0.951823265584673561257f,1.4204753018509210793496f,\
+1.2809137839516946399954f,1.9333730200617991190626f,2.0356018208291457582959f,\
+1.273307520236932832702f,2.0403627955950214278857f,1.700673239349282273025f,\
+-0.0384407248228896478159f,2.257710285652239079468f,0.7918192329452391486910f,\
+-1.943098595033752262751f,2.1030957827723826270017f,0.2661975560760838632746f,\
+2.2702688589706512267696f,1.8812011703610473922765f,0.8942655346201515698112f,\
+1.6645175074163265360738f,2.136403657202092354339f,2.0638991426068855616904f,\
+0.2327632262134610163784f,2.0648177566830252516183f,1.2392557177584351268962f,\
+0.9782724873844932389488f,2.273137605702431063293f,2.183266240754464071472f,\
+0.7259787064172199544387f,2.1430219045760425800040f,1.9087566867408878312773f,\
+2.2140679701900434217521f,-1.255758284393388990452f,0.8619787703734573813819f,\
+1.9480996873952269865526f,0.1844248666526293323198f,2.114737753111020968078f,\
+1.1509115140149177580753f,1.668685731123507043350f,1.7431248863402162285752f,\
+-0.7381122661087159420035f,2.1100458798366994450646f,1.7576584357875708608532f,\
+1.0266895216506544131f,2.2560290788762715763482f,2.205099558817555038814f,\
+1.2119854107561658373982f,0.1617897676032789000544f,2.2250260402856771868585f,\
+1.9828853838780200469216f,2.1982793473903963210603f,1.373460672957984574083f,\
+1.73257189512379894403f,1.9546560315313432631967f,1.9151314791431239825670f,\
+1.4189881394992434060498f,0.3381072372999247011016f,1.5998634493586285643119f,\
+1.4338640873752146465137f,2.15480666756291494579f,1.0499504925567986202140f,\
+0.9211335334181942613441f,1.2205648705022635880368f}
+
+
+
+
+
+
+
+
#define CSOURCER {0.3140813848003745079041f,0.5769402063451707363129f,0.1306138429790735244751f,\
0.0478980806656181812286f,0.4500174494460225105286f,0.0384718659333884716034f,\
0.483350999653339385986f,0.2981918179430067539215f,0.7112689120694994926453f,\
@@ -420,19 +565,305 @@
0.3579601167993540777879f,0.9549534865181378284760f,0.8141418225805733266398f,\
0.7703675837106083168493f,0.1543074266086776613616f}
+#define CSOURCE2R {3.9219759730622172355652f,4.6815521270036697387695f,3.361602746881544589996f,\
+5.3368766140192747116089f,2.03906395938247442245f,1.5899897180497646331787f,\
+0.1818151073530316352844f,4.0983706060796976089478f,0.1058345986530184745789f,\
+1.9653097167611122131348f,2.7255953708663582801819f,3.4376550372689962387085f,\
+2.0337020372971892356873f,3.0119446106255054473877f,2.7625959040597081184387f,\
+2.9445307422429323196411f,5.7180739520117640495300f,2.141770124435424804688f,\
+6.8954616272822022438049f,5.8555728476494550704956f,4.2041230341419577598572f,\
+4.2775720171630382537842f,3.1845858739688992500305f,5.7618944440037012100220f,\
+4.2549022240564227104187f,9.7619816288352012634277f,2.518960000015795230866f,\
+4.3911290075629949569702f,0.7593036955222487449646f,2.5593801774084568023682f,\
+0.6706167431548237800598f,7.6511315722018480300903f,0.4173615900799632072449f,\
+3.438271805644035339356f,1.9701673323288559913635f,2.1228986512869596481323f,\
+3.1403985014185309410095f,7.8216253779828548431396f,0.5409323470667004585266f,\
+9.1902069095522165298462f,4.6035157097503542900085f,2.9926850274205207824707f,\
+0.0291663268581032752991f,8.9934705849736928939819f,8.3879271661862730979919f,\
+4.3437494523823261260986f,7.7678761305287480354309f,1.3953176606446504592896f,\
+1.1506372271105647087097f,5.3554199635982513427734f,4.3117330456152558326721f,\
+6.145384786650538444519f,9.2589621385559439659119f,0.9938172809779644012451f,\
+4.2805786477401852607727f,9.431830951943993568420f,0.3273952705785632133484f,\
+9.2132670804858207702637f,9.4490244099870324134827f,9.007069906219840049744f,\
+8.0943161016330122947693f,0.2519542910158634185791f,0.0196450622752308845520f,\
+5.0752213317900896072388f,4.0760429529473185539246f,8.4080461412668228149414f,\
+5.017265700735151767731f,9.1287807654589414596558f,4.4357294728979468345642f,\
+5.9837839566171169281006f,7.7418426470831036567688f,7.9220082703977823257446f,\
+5.5046048713847994804382f,4.0850437059998512268066f,7.2174380579963326454163f,\
+4.768535858020186424255f,6.3930579042062163352966f,9.963865298777818679810f,\
+1.5747882844880223274231f,5.3506936598569154739380f,2.1290646074339747428894f,\
+5.59145063161849975586f,4.304965981282293796539f,0.2280548494309186935425f,\
+5.7614597817882895469666f,7.1491303853690624237061f,9.3216359661892056465149f,\
+1.2326993141323328018188f,2.8655522270128130912781f,0.1247995719313621520996f,\
+5.7694048294797539710999f,3.9386960770934820175171f,6.8885837262496352195740f,\
+9.7023218311369419097900f,8.51576429326087236404f,3.3933044690638780593872f,\
+8.7725317804142832756042f,1.1314024776220321655273f,5.2641283208504319190979f,\
+5.297394050285220146179f,9.2917560925707221031189f,9.7654302977025508880615f,\
+6.2254639761522412300110f,9.822583282366394996643f,7.5429888023063540458679f,\
+5.4547880962491035461426f,7.2860160330310463905334f,0.2525969501584768295288f,\
+4.0251684701070189476013f,0.9831319935619831085205f,2.6086253346875309944153f,\
+3.6363423336297273635864f,1.7466178117319941520691f,9.2341394722461700439453f,\
+7.6051409030333161354065f,5.6402041297405958175659f,3.7970651825889945030212f,\
+8.7762261740863323211670f,8.21742579806596040726f,6.787058124318718910217f,\
+0.8220098121091723442078f,2.5527314469218254089355f,7.4444567272439599037170f,\
+2.2695036139339208602905f,6.836930788122117519379f,9.3650726415216922760010f,\
+5.0530174048617482185364f,2.5248145777732133865356f,6.8188397912308573722839f,\
+2.8363681584596633911133f,1.409485661424696445465f,6.7591095995157957077026f,\
+4.5126775791868567466736f,7.5430292449891567230225f,1.3702143030241131782532f,\
+6.6082405392080545425415f,3.8900542212650179862976f,7.001820541918277740479f,\
+9.168005720712244510651f,2.1228999551385641098022f,2.6978330826386809349060f,\
+3.1998893804848194122314f,0.2321802498772740364075f,7.26544727571308612823f,\
+1.5340585587546229362488f,2.3552638292312622070312f,0.8797382796183228492737f,\
+7.1059537213295698165894f,6.8887275597080588340759f,6.5953194908797740936279f,\
+1.8151161121204495429993f,3.9049659762531518936157f,1.5869047446176409721375f,\
+6.2407150492072105407715f,6.3760355720296502113342f,4.2704886104911565780640f,\
+1.0716815060004591941833f,2.3822965659201145172119f,9.4629473658278584480286f,\
+4.5766852516680955886841f,8.9644787041470408439636f,4.4384705275297164916992f,\
+8.08956819120794534683f,6.8317985069006681442261f,0.3401931514963507652283f,\
+2.3805456422269344329834f,9.4920115964487195014954f,2.1827886346727609634399f,\
+6.1546878470107913017273f,8.3135433867573738098145f,7.7340125897899270057678f,\
+4.2441909667104482650757f,7.262125960551202297211f,7.0999773032963275909424f,\
+4.7457459988072514533997f,9.4386920798569917678833f,1.4596485672518610954285f,\
+0.7141010463237762451172f,6.7337385797873139381409f,6.536924717947840690613f,\
+1.996896131895482540131f,6.01412517949938774109f,1.8993748771026730537415f,\
+2.5839814636856317520142f,0.9878737432882189750671f,0.6199027225375175476074f,\
+0.4034968325868248939514f,7.4001471605151891708374f,6.1626600986346602439880f,\
+6.5835834480822086334229f,2.5145971449092030525208f,3.8433500844985246658325f,\
+4.3964602379128336906433f,6.5407369285821914672852f,5.878106378950178623200f,\
+6.0208318661898374557495f,0.4535020282492041587830f,2.0294443331658840179443f,\
+7.844273825176060199738f,2.6375361625105142593384f}
+
+#define CSOURCE2I {4.3832763982936739921570f,8.6648589745163917541504f,3.7921421090140938758850f,\
+7.6687160786241292953491f,6.0066213225945830345154f,7.85673560574650764465f,\
+7.3871155502274632453918f,5.5442603398114442825317f,9.9291495559737086296082f,\
+9.757428467273712158203f,3.709622272290289402008f,3.0322382133454084396362f,\
+9.5195201179012656211853f,7.1278580836951732635498f,1.192370061762630939484f,\
+5.0091631803661584854126f,3.2900535268709063529968f,4.8089468106627464294434f,\
+3.3036959776654839515686f,6.3044753577560186386108f,2.1171907847747206687927f,\
+4.4860231317579746246338f,5.9145097108557820320129f,6.8067426700145006179810f,\
+0.7392961112782359123230f,9.4336947053670883178711f,1.2863306934013962745667f,\
+2.0190807711333036422729f,1.9693034281954169273376f,8.9286901615560054779053f,\
+4.6179189579561352729797f,6.2512917164713144302368f,7.0597065938636660575867f,\
+7.0181696489453315734863f,4.0879997471347451210022f,0.6362213846296072006226f,\
+0.6573933875188231468201f,5.3310041315853595733643f,0.3315818728879094123840f,\
+3.157835649326443672180f,3.785823243670165538788f,4.6195234358310699462891f,\
+6.2873698258772492408752f,2.8785153012722730636597f,3.2920487364754080772400f,\
+4.7192330472171306610107f,3.3537696348503232002258f,5.5530697200447320938110f,\
+1.196080814115703105927f,7.6139996573328971862793f,4.7909884760156273841858f,\
+2.8169692959636449813843f,2.380097783170640468597f,3.2942054606974124908447f,\
+2.3067280324175953865051f,2.1362966019660234451294f,4.0549980429932475090027f,\
+3.0953712016344070434570f,6.762971603311598300934f,9.7069163154810667037964f,\
+5.4417965700849890708923f,0.2047479711472988128662f,8.9413649635389447212219f,\
+3.4903638903051614761353f,1.1053651524707674980164f,2.0233777537941932678223f,\
+1.3046909729018807411194f,8.573952978476881980896f,6.3780163740739226341248f,\
+4.0711227245628833770752f,6.6919379355385899543762f,2.042601602151989936829f,\
+8.3104313490912318229675f,0.1221632957458496093750f,4.8844617092981934547424f,\
+9.549877075478434562683f,0.5874312063679099082947f,8.2584649138152599334717f,\
+2.9807415651157498359680f,0.7757596764713525772095f,5.8460923237726092338562f,\
+7.528713606297969818115f,0.5172297963872551918030f,5.9586250688880681991577f,\
+3.8337053125724196434021f,4.9002202786505222320557f,5.2727950783446431159973f,\
+0.6889454741030931472778f,8.843077751807868480682f,7.1912937611341476440430f,\
+0.6942595774307847023010f,1.1522095929831266403198f,4.862680672667920589447f,\
+7.6715826056897640228271f,0.8805298106744885444641f,7.0085612777620553970337f,\
+1.879138792864978313446f,2.0178856328129768371582f,4.0628212550655007362366f,\
+4.0966569539159536361694f,1.769564501009881496429f,3.31293122842907905579f,\
+0.5184767069295048713684f,4.1492417920380830764771f,7.2212355909869074821472f,\
+0.7746253907680511474609f,5.8558783913031220436096f,3.7079446297138929367065f,\
+2.1161167463287711143494f,1.903268527239561080933f,5.607953821308910846710f,\
+9.4247916433960199356079f,6.8177247745916247367859f,2.7342410013079643249512f,\
+2.0717754075303673744202f,1.9379387702792882919312f,6.797837591730058193207f,\
+5.88365742936730384827f,9.331753817386925220490f,5.509122880175709724426f,\
+8.0405469564720988273621f,1.074489727616310119629f,7.4039250845089554786682f,\
+5.6103316973894834518433f,7.6611549546942114830017f,7.8306589089334011077881f,\
+1.4388314681127667427063f,1.6471924725919961929321f,3.1774142337962985038757f,\
+5.0265956297516822814941f,6.9204960623756051064f,7.0065794046968221664429f,\
+8.8706119870766997337341f,6.9797694869339466094971f,6.7989911558106541633606f,\
+3.6159398127347230911255f,2.6739976881071925163269f,0.7736870646476745605469f,\
+1.494100340642035007477f,3.2018390577286481857300f,2.0260545751079916954041f,\
+4.4988587312400341033936f,7.7075743721798062324524f,2.4352242145687341690063f,\
+2.1261148853227496147156f,1.0992341861128807067871f,6.9814807781949639320374f,\
+4.1509064938873052597046f,5.0298188393935561180115f,7.51160675659775733948f,\
+9.9401472182944416999817f,1.82876241393387317657f,3.021917375735938549042f,\
+3.7854864448308944702148f,7.1531985932961106300354f,9.5241537224501371383667f,\
+4.7039186349138617515564f,1.8709417246282100677490f,2.55718790460377931595f,\
+4.4350660685449838638306f,7.2340781940147280693054f,8.7619100883603096008301f,\
+0.3733208635821938514710f,4.2934664245694875717163f,3.1572330510243773460388f,\
+3.682477343827486038208f,1.4587742509320378303528f,6.7683792579919099807739f,\
+5.2619793592020869255066f,4.003625661134719848633f,0.0291080260649323463440f,\
+3.0681814532727003097534f,7.9026939114555716514587f,9.5779503695666790008545f,\
+6.6892711864784359931946f,2.9296159837394952774048f,8.2238993747159838676453f,\
+0.1798455044627189636231f,8.7107013771310448646545f,3.1810243334621191024780f,\
+5.7244732743129134178162f,5.7386581040918827056885f,3.4920182498171925544739f,\
+7.06729766912758350372f,3.5992007283493876457214f,4.0523112565279006958008f,\
+6.1408105725422501564026f,6.5240467619150876998901f,0.2951709320768713951111f,\
+5.6688958965241909027100f,7.1140170888975262641907f,4.5884906593710184097290f,\
+4.7205173922702670097351f,0.6237313523888587951660f,0.8544011274352669715881f,\
+0.1345641072839498519898f,3.5430019116029143333435f,6.7193946428596973419189f,\
+1.3606189610436558723450f,2.1197437215596437454224f}
+
+#define CRESULT2R {1.7718546901199148102535f,2.2873385372432406548171f,1.6228701567171754938101f,\
+2.2346263074245684698838f,1.8473969837167181218263f,2.0814403666906242662549f,\
+2.000040135761198101250f,1.930738025076279118508f,2.2955316341715112926636f,\
+2.2979125914561788768253f,1.52676863913911398107f,1.5225454413433419098567f,\
+2.2756589535249842626285f,2.0461560089912054216654f,1.10158579014350732628f,\
+1.7596676151017560663092f,1.886619744318301705732f,1.6609534913253483079387f,\
+2.0341867590624715944614f,2.1522631887405574424577f,1.5490800609419352884544f,\
+1.8243154431583954444562f,1.9046961835587756795007f,2.1880745312667504443027f,\
+1.462943224821960486182f,2.6082576924848916988253f,1.0397086540972344526068f,\
+1.5754847768676314423431f,0.746979645400304148595f,2.2287521705924668857790f,\
+1.5403790183895167409389f,2.29053332003721576982f,1.9561479629741382879615f,\
+2.056062919004959077540f,1.5124829204355532130677f,0.7957872878063905197621f,\
+1.1657936572577645151227f,2.247663310479210085902f,-0.4549625893688244437918f,\
+2.273939094117130466088f,1.7851157264602297569667f,1.705510493291471751931f,\
+1.838553591041654167171f,2.2452631537104275061267f,2.1984262619387999748710f,\
+1.858482175867823826820f,2.1354614286115483068329f,1.7449625890299069741474f,\
+0.5066316450005309279803f,2.2309587833094872699746f,1.8633839241242127204856f,\
+1.9110608576794807511590f,2.2575857867741544460216f,1.23571911173189863398f,\
+1.581562045830424700910f,2.2691047577207688057399f,1.4031989962500943658341f,\
+2.2741179432518765501925f,2.4527182982567738989133f,2.5833963585371355620168f,\
+2.2776279862384747332271f,-1.1249835300913728630690f,2.1906906716320380112961f,\
+1.8180097251363194210683f,1.440608273684235829393f,2.157337396250079031290f,\
+1.6456014738468727198750f,2.5276363856092047832647f,2.0501201476301127435420f,\
+1.9792596577711849548109f,2.325636279713856779949f,2.1018269082301319627959f,\
+2.2993946557097193483798f,1.407779382548410174181f,2.1650335217497893580685f,\
+2.3678319878208848869861f,1.8594164774388513006187f,2.56043452139564964298f,\
+1.2152594801616827258073f,1.6876273083151080989239f,1.8280452566376663714465f,\
+2.2383606348726785562064f,1.4669353168458199032642f,1.7855716392006990567154f,\
+1.9344712649878033072781f,2.1595582205209731263551f,2.3711393709457433409682f,\
+0.3451198452895575252697f,2.2295598849908442318224f,1.9730216569827605521681f,\
+1.7597572254564382010500f,1.4119056335367026200345f,2.1320313551579719302254f,\
+2.5151804905590435801344f,2.1472364706413502588589f,2.052431577045615185284f,\
+2.1940570121896025845842f,0.8387289948467516742525f,1.8945610375322186058611f,\
+1.901605848224737327357f,2.2469410116186243620007f,2.3333167208432867845147f,\
+1.8321040495156570848678f,2.3667788410376999763685f,2.345870799293293007537f,\
+1.7064766326923879180555f,2.2351179984798275057756f,1.3127927306468758494873f,\
+1.5145818637157286712380f,0.7618288453812751548355f,1.8221250086585414340590f,\
+2.3127298919002594601579f,1.9513099157402993277799f,2.2649290827240116108499f,\
+2.0646178740610454660498f,1.7857162805439725783430f,2.0523808897592226152540f,\
+2.357637781206334715023f,2.5204455223537904906550f,2.1680868421848340510394f,\
+2.08969579055791898625f,1.0187212773133276222381f,2.351321025745570558740f,\
+1.8003855797977157404688f,2.3290564194645368978343f,2.5020530275623595883872f,\
+1.6589662323678027178175f,1.1034736729371952268508f,2.0179385634489594991692f,\
+1.7529535621370035958222f,1.9548092141654069830992f,2.2757671672542376661852f,\
+2.2978225629400212959297f,2.329897705001075625120f,1.9366802551403343723990f,\
+2.0192737614105338295190f,1.5519072144028889237433f,1.9522381258437428996899f,\
+2.228825942499146339770f,1.3459088341323246496017f,1.2160693133443531976923f,\
+1.708519320712721833999f,2.042657041378174831436f,2.0363649964518035773153f,\
+0.9638512795498686003270f,0.9551846741593900125267f,1.951137961258366582129f,\
+2.107724763084950492242f,2.1435395035941335883933f,2.30219731892690226971f,\
+2.3129821080069814520641f,1.4613961122338947618005f,1.2276638750511146280786f,\
+1.98774702803650615834f,2.2599263943254159769936f,2.3454288218721179859472f,\
+1.5736974684351636710744f,1.1082826047896976451312f,2.2826248447267389884985f,\
+1.852079302129498561413f,2.4440219801181322090144f,2.2846216839061130876587f,\
+2.0916390604994830049179f,2.0880185293365247645170f,1.1554676622252344486697f,\
+1.4781743340729813773748f,2.2621227047071905680298f,1.9617338719614783038026f,\
+2.0915485321054503309313f,2.222172100020261886755f,2.0456349034700243016971f,\
+1.6557620395745074048932f,2.3732960033711649749932f,2.4784302018604411621538f,\
+2.1043456955600268187823f,2.2908052004546388680239f,2.1225525715426596384816f,\
+-0.3059820602804464440006f,2.398801697565509982724f,1.9837316998415748248163f,\
+1.8021669050328577021958f,2.1177911026101683411582f,1.3800624471185749531088f,\
+2.0182134290564768264176f,1.3170274339145702224840f,1.4108532825842892144408f,\
+1.817110834423457665920f,2.2890298175330245911141f,1.8196542505912531861867f,\
+2.1619335403208914669904f,2.0209326327770549269758f,1.7893311710629888899859f,\
+1.8641960608110765829082f,1.882576152038281991352f,1.7816883851861540222217f,\
+1.7954751269073565556056f,1.2730999018963571334240f,1.9486466131391497746961f,\
+2.074605067637334876451f,1.2189909546635331327735f}
+
+#define CRESULT2I {0.8408843669071919268987f,1.0754371807248737091811f,0.8455094310786673839075f,\
+0.962808271271232585242f,1.2435335418309885202603f,1.371120256581034091425f,\
+1.5461888319559713433904f,0.9342369007616236897817f,1.56013775123029430070f,\
+1.3720388608498168547811f,0.9371355532144381994542f,0.7228179279461685036168f,\
+1.360325287393417292847f,1.1709945644102059958414f,0.4074578726347549695319f,\
+1.0393742565506918218432f,0.5221182542768327827787f,1.1517977305599864656926f,\
+0.4467977216337457035955f,0.8222975857540034683169f,0.4665224019878621564139f,\
+0.8091797065019556978172f,1.0768746352304479074746f,0.8683388375483406251831f,\
+0.1720341159830799382391f,0.7682977019562435838651f,0.4721387487057847609506f,\
+0.4309811115589534114001f,1.20279143843462255070f,1.2916347740244560338141f,\
+1.4265839008392693365579f,0.6850460436644268957807f,1.5117462274209296779759f,\
+1.1152532149987959275705f,1.1217014706271768442747f,0.2911766403909815670303f,\
+0.2063546073155473614680f,0.5982511040925977408023f,0.5499105526382754849379f,\
+0.3309697617869979402450f,0.6882370204600587459964f,0.9959451809388051302108f,\
+1.5661574844082004620560f,0.3097639368523368297304f,0.3740022155825183380884f,\
+0.8268049495959598482742f,0.407572856709710940049f,1.3246230944084764757918f,\
+0.8047604843662868878695f,0.9578156211088914018248f,0.8379992820836518196970f,\
+0.4298072736875270249968f,0.2516111351341220880862f,1.2777930133692467773443f,\
+0.4942674920588698839197f,0.2227403824735175175142f,1.4902323819071812138759f,\
+0.3241206854947055737704f,0.6212066791677098853697f,0.8227777158663325263177f,\
+0.5918914368525474145599f,0.6824004867135488039409f,1.5685992315253338702519f,\
+0.602441091725517741118f,0.2648167750385964080984f,0.2361574036342227733698f,\
+0.2544057494452062195833f,0.7540670573431564882583f,0.9631160038064509043565f,\
+0.5974222702744066415548f,0.7127866343417466055143f,0.2523427003112133637508f,\
+0.9857721947818851582213f,0.0298961055939373325507f,0.5949566736712420533806f,\
+1.1076852186579833059454f,0.0916284996635063769821f,0.6920814866116709040966f,\
+1.0847494758718594365376f,0.1439797822740493671301f,1.2215400197911927548944f,\
+0.9319943094964961982640f,0.1195740768674621451462f,1.5325419323859537090726f,\
+0.5871287736405550461427f,0.6008795873685909283424f,0.5147800680430554276512f,\
+0.5096442477271476700906f,1.2574287319730830247977f,1.55344381002968989769f,\
+0.1197588579388608048815f,0.2845949117488152935174f,0.6146775806026560928785f,\
+0.6690416852557365956f,0.1030338183393550155476f,1.1198962694059428901738f,\
+0.2110181909408466172096f,1.0597850788835401214527f,0.6573038229366630069706f,\
+0.6582686240328038396186f,0.1881909924839933190288f,0.3270668956957688000564f,\
+0.0830914673081940696742f,0.3996821407672082604456f,0.763608851537480148863f,\
+0.1410651270101331844487f,0.677001919140020169685f,1.5027782434779339837405f,\
+0.4840122714003086690227f,1.0939971143713191903402f,1.1354027775868176242113f,\
+1.2025671422981056846169f,1.3200023979900399329068f,0.2878762084297626921980f,\
+0.2659639364881328793544f,0.3309563133803885004447f,1.0613976119428301103653f,\
+0.5905886949329369750572f,0.84881047253311037171f,0.6818405058224251691357f,\
+1.4689172047242584628890f,0.3984077871527766379067f,0.7826684691736193189016f,\
+1.1863976071520063726439f,0.8421875864316380466690f,0.6964016273061860440308f,\
+0.2774051332309265816001f,0.5780614975169666713839f,0.4360596809152573194446f,\
+1.0570616474517706695480f,1.3698760574306645398934f,0.8033735187122362786383f,\
+1.100195299896877587642f,0.7466330742895204153342f,1.3719281224888897341430f,\
+0.5006805450256617273652f,0.6022149721715611692119f,0.1100515320096066840261f,\
+0.1615487638997855912582f,0.9853189831543425203364f,0.6441365190650450989196f,\
+0.9525486295501676137221f,1.540681786544560338825f,0.3234105928346787672822f,\
+0.9457654725170446807780f,0.4366658824494836776964f,1.4454467286135332937391f,\
+0.5286797419321711544171f,0.6306769685466229180548f,0.8502600566998695930110f,\
+1.3901817278534140953639f,0.4379816003966337523146f,1.0872460520812594619855f,\
+0.5452429334871597976786f,0.8427783441184910628863f,1.1492861648773524674283f,\
+1.346792368827264718689f,0.665745289338786183642f,0.2639277343938546960267f,\
+0.7696845111061191291313f,0.6789773815510785626159f,1.1019111077295657974418f,\
+0.0461157104075398602272f,0.5610787453255564605215f,1.4634600366382779501606f,\
+0.9969191986962234741654f,0.1524913254966685227654f,1.2588290814744897971877f,\
+0.7073635046287626293449f,0.4488022872724745648831f,0.0037636205385015429094f,\
+0.6259389684526723840463f,0.8276134607557569244918f,0.9328971084913546540918f,\
+0.9537519653655091023126f,0.3009556732582234217510f,1.3951370123387065724785f,\
+0.2467179687642131191705f,0.9127106501576134345299f,0.4528896475979662383793f,\
+1.2351598243895067774645f,0.7619639996129009551495f,1.0726338584530288322583f,\
+1.220269965181696392165f,1.3029226301867964377124f,1.4189980227900089726489f,\
+1.5051832236136615250643f,0.7225617055791342391302f,0.0478600995604049964105f,\
+0.710883123025403795836f,1.2310328539390928970221f,0.8735414139313334436210f,\
+0.8209275679220129351421f,0.0950735258592600440686f,0.1443422571457730618771f,\
+0.0223460331642115414552f,1.443489200421151252840f,1.2774801572114198311425f,\
+0.1717450012966928174496f,0.6769828145758884918593f}
+/* in is between 0 and 1
+ in2 is between 0 and 10 */
+
+
+/* FIXME : Tests à 10^-4
+in the slogsTest with these values
+in : 1.00074577 --- out : 0.00074550 --- result : 0.00074553
+ */
void slogsTest(void) {
float in[]=SOURCE;
float res[]=RESULT;
float out;
+ float in2[]=SOURCE2;
+ float res2[]=RESULT2;
int i;
for (i=0;i<200;i++){
out=slogs(in[i]);
assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-5);
}
+
+ for (i=0;i<200;i++){
+ out=slogs(in2[i]);
+ assert(( (fabs(out-res2[i]))/(fabs(out)) )<1e-4);
+ }
}
void clogsTest(void) {
@@ -440,7 +871,11 @@ void clogsTest(void) {
float inI[]=CSOURCEI;
float resR[]=CRESULTR;
float resI[]=CRESULTI;
- floatComplex in,out;
+ float in2R[]=CSOURCE2R;
+ float in2I[]=CSOURCE2I;
+ float res2R[]=CRESULT2R;
+ float res2I[]=CRESULT2I;
+ floatComplex in,in2,out;
int i;
for (i=0;i<200;i++){
@@ -449,18 +884,32 @@ void clogsTest(void) {
assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5);
assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6);
}
+
+ for (i=0;i<200;i++){
+ in2=FloatComplex(in2R[i],in2I[i]);
+ out=clogs(in2);
+ assert(( (fabs(creals(out)-res2R[i]))/(fabs(creals(out))) )<1e-6);
+ assert(( (fabs(cimags(out)-res2I[i]))/(fabs(cimags(out))) )<1e-6);
+ }
}
void slogaTest(void) {
float in[]=SOURCE;
float res[]=RESULT;
float out[200];
- int i,j;
- j=1;
+ float in2[]=SOURCE2;
+ float res2[]=RESULT2;
+ int i;
+
sloga(in,200,out);
for (i=0;i<200;i++){
assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-5);
}
+
+ sloga(in2,200,out);
+ for (i=0;i<200;i++){
+ assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<1e-4);
+ }
}
void clogaTest(void) {
@@ -468,7 +917,11 @@ void clogaTest(void) {
float inI[]=CSOURCEI;
float resR[]=CRESULTR;
float resI[]=CRESULTI;
- floatComplex *in,out[200];
+ float in2R[]=CSOURCE2R;
+ float in2I[]=CSOURCE2I;
+ float res2R[]=CRESULT2R;
+ float res2I[]=CRESULT2I;
+ floatComplex *in,*in2,out[200];
int i;
in=FloatComplexMatrix(inR,inI,200);
@@ -478,6 +931,15 @@ void clogaTest(void) {
assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5);
assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6);
}
+
+
+ in2=FloatComplexMatrix(in2R,in2I,200);
+ cloga(in2,200,out);
+
+ for (i=0;i<200;i++){
+ assert(( (fabs(creals(out[i])-res2R[i]))/(fabs(creals(out[i]))) )<1e-6);
+ assert(( (fabs(cimags(out[i])-res2I[i]))/(fabs(cimags(out[i]))) )<1e-6);
+ }
}
diff --git a/src/elementaryFunctions/log10/testDoubleLog10.c b/src/elementaryFunctions/log10/testDoubleLog10.c
index 9063110d..55c764d4 100644
--- a/src/elementaryFunctions/log10/testDoubleLog10.c
+++ b/src/elementaryFunctions/log10/testDoubleLog10.c
@@ -420,7 +420,7 @@
0.3345663906426585842979,0.0670148638928397127890}
-
+/* FIXME : assert à 1e-14 */
void dlog10sTest(void) {
double in[]=SOURCE;
diff --git a/src/elementaryFunctions/log1p/testDoubleLog1p.c b/src/elementaryFunctions/log1p/testDoubleLog1p.c
index 97d60996..61a0d688 100644
--- a/src/elementaryFunctions/log1p/testDoubleLog1p.c
+++ b/src/elementaryFunctions/log1p/testDoubleLog1p.c
@@ -11,25 +11,1241 @@
*/
#include "testLog1p.h"
+#include "math.h"
+
+#define SOURCE {0.3628176329657435417175,0.924179898109287023544,0.5243524145334959030151,\
+0.7886543427594006061554,0.6525151440873742103577,0.2477638195268809795380,\
+0.2364655844867229461670,0.7240293831564486026764,0.8278210600838065147400,\
+0.4287728047929704189301,0.4858888480812311172485,0.5923984018154442310333,\
+0.0949383648112416267395,0.1356843891553580760956,0.9917455688118934631348,\
+0.7212927364744246006012,0.0115638775750994682312,0.0211908905766904354095,\
+0.1524727698415517807007,0.9165380974300205707550,0.4467271203175187110901,\
+0.5868234331719577312469,0.1882771886885166168213,0.4196520284749567508698,\
+0.2730510598048567771912,0.7565603456459939479828,0.9378882069140672683716,\
+0.0586007428355515003204,0.5101847248151898384094,0.5031699347309768199921,\
+0.7783576548099517822266,0.6856653341092169284821,0.1381576983258128166199,\
+0.371037633623927831650,0.6366564910858869552612,0.4961673622019588947296,\
+0.2994064847007393836975,0.2392275254242122173309,0.5618183575570583343506,\
+0.3218038142658770084381,0.1082227518782019615173,0.1685282415710389614105,\
+0.8263800088316202163696,0.4923414406366646289825,0.7863734485581517219543,\
+0.6762332352809607982635,0.0258686169981956481934,0.3594204657711088657379,\
+0.3436427963897585868835,0.2824054299853742122650,0.1450859513133764266968,\
+0.0762176741845905780792,0.5220461571589112281799,0.6713762427680194377899,\
+0.0599394328892230987549,0.7267188713885843753815,0.2224657749757170677185,\
+0.3122289828024804592133,0.4435700643807649612427,0.3983507198281586170197,\
+0.1324583934620022773743,0.8820166247896850109100,0.5455272346735000610352,\
+0.2917219498194754123688,0.7739847479388117790222,0.3354639573954045772552,\
+0.8127403985708951950073,0.4612239454872906208038,0.6898109326139092445374,\
+0.9649041066877543926239,0.8210376314818859100342,0.2802407057024538516998,\
+0.9873316427692770957947,0.294199434574693441391,0.4859610591083765029907,\
+0.2247181800194084644318,0.9585652919486165046692,0.1503968122415244579315,\
+0.0216291621327400207520,0.0688429796136915683746,0.9950710041448473930359,\
+0.7568672685883939266205,0.6163959559053182601929,0.0865804632194340229034,\
+0.5165374809876084327698,0.1916800136677920818329,0.2940570451319217681885,\
+0.3528221980668604373932,0.1317937439307570457458,0.0549608371220529079437,\
+0.929352553561329841614,0.737892795819789171219,0.7509917514398694038391,\
+0.6889848816208541393280,0.8865169286727905273438,0.6891661235131323337555,\
+0.8677108911797404289246,0.7947537912987172603607,0.2496256213635206222534,\
+0.3935408894903957843781,0.7297343472018837928772,0.7888072351925075054169,\
+0.113488640636205673218,0.4145256043411791324615,0.6172473421320319175720,\
+0.7440188056789338588715,0.9038409832864999771118,0.3976829168386757373810,\
+0.9472072543576359748840,0.2581262919120490550995,0.1955799385905265808105,\
+0.9381833248771727085114,0.4226356102153658866882,0.0937463282607495784760,\
+0.9977992679923772811890,0.2042182614095509052277,0.9455819511786103248596,\
+0.9336234177462756633759,0.9743702597916126251221,0.4100225553847849369049,\
+0.5125095760449767112732,0.0948633304797112941742,0.5688196588307619094849,\
+0.7322562676854431629181,0.8108531581237912178040,0.5459008770994842052460,\
+0.5022544711828231811523,0.7634959020651876926422,0.7354982374235987663269,\
+0.0699520572088658809662,0.6130836438387632369995,0.0965849910862743854523,\
+0.5439325878396630287170,0.9187005828134715557098,0.5072866193950176239014,\
+0.1335940570570528507233,0.8688194593414664268494,0.7999687767587602138519,\
+0.9879787657409906387329,0.7131399479694664478302,0.3067426951602101325989,\
+0.5431228461675345897675,0.7330236807465553283691,0.6498145484365522861481,\
+0.8018737239763140678406,0.2859625308774411678314,0.1894423719495534896851,\
+0.7794728656299412250519,0.5433104271069169044495,0.5268451268784701824188,\
+0.1533693112432956695557,0.6041304902173578739166,0.5948378806933760643005,\
+0.8857938847504556179047,0.0043053645640611648560,0.1302204323001205921173,\
+0.9758609728887677192688,0.9183407831005752086639,0.0624175965785980224609,\
+0.9939593323506414890289,0.4122588960453867912292,0.8258536770008504390717,\
+0.0376359503716230392456,0.4675730471499264240265,0.4759115139022469520569,\
+0.4060978214256465435028,0.0392968021333217620850,0.4401316107250750064850,\
+0.3316476037725806236267,0.0877817696891725063324,0.1150833908468484878540,\
+0.9667435702867805957794,0.8103649737313389778137,0.3928376468829810619354,\
+0.7880131229758262634277,0.4798596971668303012848,0.0270724548026919364929,\
+0.6701857983134686946869,0.5602217521518468856812,0.2564360727556049823761,\
+0.2626037681475281715393,0.4447338129393756389618,0.8522944338619709014893,\
+0.2347065494395792484283,0.3277532672509551048279,0.2253599218092858791351,\
+0.3468936551362276077271,0.7743145865388214588165,0.1285835551097989082336,\
+0.1156307714991271495819,0.2054340392351150512695,0.4535544612444937229156,\
+0.6516549764201045036316,0.0710035725496709346771,0.1265540253371000289917,\
+0.4974718545563519001007,0.0879269847646355628967,0.1462626229040324687958,\
+0.715134423226118087769,0.9305738122202455997467}
+
+#define RESULT {-1.0138549594808059506335,-0.0788485313675790222554,-0.6455912738997077182646,\
+-0.2374271494900490608870,-0.4269209307253117313685,-1.3952793271990111545477,\
+-1.4419526017799386696794,-0.3229233029497151630238,-0.1889582589621221220266,\
+-0.8468280928949678543205,-0.7217753888910144466351,-0.5235758944053595653756,\
+-2.354527389398466841186,-1.9974237581445692946147,-0.0082886876471943305572,\
+-0.3267102095711482134810,-4.459869041610169837497,-3.8541838794260296907623,\
+-1.8807692572941765440930,-0.0871516441756800402940,-0.8058073398690168698266,\
+-0.5330312996797691438289,-1.6698399941066854879068,-0.8683294147345963498452,\
+-1.2980964690333058886296,-0.2789729794097077220094,-0.0641245194730828693697,\
+-2.8370079061049158219987,-0.6729824133243695882811,-0.6868273235307851276588,\
+-0.2505691498856313370602,-0.3773656214470872405364,-1.9793595047655996310709,\
+-0.9914517831797942104544,-0.4515250293249062352174,-0.7008419853775434971155,\
+-1.205953148244055972427,-1.4303401906823356437570,-0.5765766885249945516989,\
+-1.1338131915858427056776,-2.2235636585360341044293,-1.7806519374711546888079,\
+-0.1907005521377241608061,-0.7085828181522180191365,-0.240323473997209546837,\
+-0.3912172398408133022762,-3.6547247438886865111840,-1.0232623619826317629133,\
+-1.0681525436893481995071,-1.264411545554370741584,-1.93042894450046809141,\
+-2.5741618985048786427683,-0.6499992713325659643431,-0.3984255796794416437656,\
+-2.8144206784459675496635,-0.3192155730871417684824,-1.502982009541258934249,\
+-1.1640184411209602011184,-0.8128995091446955534309,-0.9204224561330225373723,\
+-2.0214866944753584476757,-0.1255443741850884864508,-0.6060025488810325544620,\
+-1.231954157015291428934,-0.2562031110919770759971,-1.092240757863258915350,\
+-0.2073435333764902521736,-0.7738715719712579987899,-0.3713377296431035756719,\
+-0.0357265538888332026546,-0.1971863344268207918208,-1.2721063818886333418590,\
+-0.0127492850765575892191,-1.223497392724554932997,-0.7216267835832522736794,\
+-1.4929081951001816896962,-0.0423175999341945593968,-1.8944780628936490618486,\
+-3.8337127761178795282149,-2.6759270254015836698613,-0.0049411834200203501311,\
+-0.2785673796390666367984,-0.483865736386189515539,-2.446681086792801718133,\
+-0.6606074257995434573232,-1.651927892749795789840,-1.2239814994040887352611,\
+-1.0417910371382139711471,-2.026517124423018234580,-2.9011343997056400212387,\
+-0.0732671142462539837226,-0.3039567280501898061118,-0.2863606107139139989037,\
+-0.3725359507043504159185,-0.1204550575726043570857,-0.3722729288835950889336,\
+-0.1418966944811957953121,-0.2297229087732643171282,-1.3877929980613914473508,\
+-0.9325703042223095762253,-0.3150747190128889152483,-0.2372333033314831252092,\
+-2.1760525295696577785520,-0.8806205346832632896437,-0.4824854567490562962107,\
+-0.2956889680183093505050,-0.1011018375069230867958,-0.9221002825850308504130,\
+-0.0542373561426655603768,-1.3543063102932182406590,-1.6317860900845253535607,\
+-0.0638099067725128449302,-0.8612449127611128130155,-2.3671627801172654415041,\
+-0.0022031571770593774348,-1.5885659482121525787335,-0.0559547196755256631695,\
+-0.0686821150485829451382,-0.0259639040526286474231,-0.8915431076633286711086,\
+-0.6684358831783273613425,-2.3553180497276513527538,-0.5641918391516044239964,\
+-0.3116247338224413798713,-0.2096683039932461523058,-0.6053178634921361211951,\
+-0.6886483730214458809371,-0.2698475216395072595610,-0.3072071353764207479742,\
+-2.659945168598087494871,-0.4892539023727084379622,-2.3373319216128076725170,\
+-0.6089299592172232600262,-0.0847950173155939540548,-0.6786791108759814283857,\
+-2.0129495019748864237386,-0.1406199321004115432299,-0.2231825811274127380202,\
+-0.0120940736302183569906,-0.3380775973662459854552,-1.181746009333312530387,\
+-0.6104197485997391314783,-0.3105772710053884000381,-0.4310682668987352861301,\
+-0.2208041349135003439397,-1.25189448766300226445,-1.6636704065163092636226,\
+-0.2491374010581904052675,-0.6100744334370675758805,-0.6408486505219985751580,\
+-1.8749064671471911136535,-0.5039650609751163967687,-0.5194663799859419173188,\
+-0.1212709911627764675091,-5.4478934608177302933996,-2.038526631411456513376,\
+-0.0244351485261014196582,-0.0851867338269072515988,-2.7739080469083896574034,\
+-0.0060589862906551463645,-0.8861037385262900967220,-0.1913376676415258770270,\
+-3.2797955584796012473703,-0.7601996918711692030612,-0.7425233371947113081291,\
+-0.9011612089296217043000,-3.2366121340710831688625,-0.8206814815116268979622,\
+-1.1036823082060371881141,-2.4329014344197728014763,-2.1620982756055884266289,\
+-0.0338219993709664781822,-0.2102705479450195091840,-0.9343588647242980771424,\
+-0.2382405357403041268327,-0.7342615153765646995865,-3.609238495954611991579,\
+-0.4002002941250653034189,-0.5794225876492602456125,-1.36087587445700952671,\
+-1.337108967835097139698,-0.8102793489627861944768,-0.1598232322015146200656,\
+-1.449419270934711789778,-1.1154941876589379301521,-1.4900565023732303959747,\
+-1.05873701535465292167,-0.2557770454111949476328,-2.0511763516400991491651,\
+-2.1573531687271665369110,-1.5826302735280548539265,-0.7906399256902217898002,\
+-0.4282400343889684046772,-2.6450250856057104797969,-2.0670859842226763092299,\
+-0.6982162977399214431884,-2.4312485274946018520836,-1.9223514861397812403254,\
+-0.3352847494467096622905,-0.0719538807151878373469}
+
+#define ZSOURCER {0.3140813848003745079041,0.5769402063451707363129,0.1306138429790735244751,\
+0.0478980806656181812286,0.4500174494460225105286,0.0384718659333884716034,\
+0.483350999653339385986,0.2981918179430067539215,0.7112689120694994926453,\
+0.9268360524438321590424,0.9477838929742574691772,0.1729496796615421772003,\
+0.2750928336754441261292,0.0044281478039920330048,0.0611358620226383209229,\
+0.1950612799264490604401,0.3789803450927138328552,0.2549188635312020778656,\
+0.1764185149222612380981,0.6008180272765457630157,0.3703392641618847846985,\
+0.2908470141701400279999,0.5384815335273742675781,0.8090293356217443943024,\
+0.9260985879227519035339,0.1576966657303273677826,0.9518593531101942062378,\
+0.2709982101805508136749,0.1609848598018288612366,0.8782086591236293315887,\
+0.5091647170484066009521,0.7951062084175646305084,0.8432204117998480796814,\
+0.5806765086017549037933,0.3487791065126657485962,0.9397577759809792041779,\
+0.4363934816792607307434,0.5549766751937568187714,0.9105900451540946960449,\
+0.5684339576400816440582,0.1862502051517367362976,0.0800832151435315608978,\
+0.6585252787917852401733,0.1606054832227528095245,0.9711584830656647682190,\
+0.3668168033473193645477,0.7386338301002979278564,0.9722552285529673099518,\
+0.1349937235936522483826,0.4595781317912042140961,0.5414639282971620559692,\
+0.6397600513882935047150,0.0211964594200253486633,0.4408156829886138439178,\
+0.6374878138303756713867,0.3208820023573935031891,0.4267518399283289909363,\
+0.7819778784178197383881,0.0543234180659055709839,0.9666189108975231647491,\
+0.6948409983888268470764,0.1846996019594371318817,0.3645029179751873016357,\
+0.8176643461920320987701,0.664914294146001338959,0.7559730983339250087738,\
+0.5525381658226251602173,0.7192269531078636646271,0.1989364298060536384583,\
+0.8610532465390861034393,0.1300329938530921936035,0.347959163133054971695,\
+0.5025534434244036674500,0.4978472082875669002533,0.4675923939794301986694,\
+0.9447452803142368793488,0.9599315756931900978088,0.5365384514443576335907,\
+0.8122785724699497222900,0.6470989421941339969635,0.7010180121287703514099,\
+0.6681951484642922878265,0.9593638796359300613403,0.0149199557490646839142,\
+0.6199735002592206001282,0.4061129498295485973358,0.0471306145191192626953,\
+0.8433605083264410495758,0.0635268418118357658386,0.9836421324871480464935,\
+0.4434677045792341232300,0.8565507535822689533234,0.9080012599006295204163,\
+0.4922491232864558696747,0.1930142603814601898193,0.3759337724186480045319,\
+0.2437626412138342857361,0.1035623974166810512543,0.9936000052839517593384,\
+0.5569599089212715625763,0.3858396532014012336731,0.7191527518443763256073,\
+0.1707325801253318786621,0.2878904812969267368317,0.4294657362625002861023,\
+0.8917979537509381771088,0.6188817229121923446655,0.3444608678109943866730,\
+0.0692929709330201148987,0.3619817639701068401337,0.1783103235065937042236,\
+0.8941529677249491214752,0.9010278200730681419373,0.0533773354254662990570,\
+0.4162023533135652542114,0.9438270372338593006134,0.9242387460544705390930,\
+0.8710649865679442882538,0.2808376699686050415039,0.8244629004038870334625,\
+0.4650857029482722282410,0.1462343498133122920990,0.5975636970251798629761,\
+0.3067605351097881793976,0.2377215037122368812561,0.0711208949796855449677,\
+0.8753139786422252655029,0.4413500339724123477936,0.7631150623783469200134,\
+0.9679268277250230312347,0.3924236092716455459595,0.717360940296202898026,\
+0.8640465112403035163879,0.7354763629846274852753,0.0304915383458137512207,\
+0.6331009590066969394684,0.4550241930410265922546,0.3173553734086453914642,\
+0.8250397499650716781616,0.2725940425880253314972,0.3458735281601548194885,\
+0.5352854127995669841766,0.7017193175852298736572,0.9817278520204126834869,\
+0.2777477568015456199646,0.1314821145497262477875,0.366813333705067634583,\
+0.7377605927176773548126,0.9103105561807751655579,0.3637479650788009166718,\
+0.8207867145538330078125,0.3059372254647314548492,0.9788405327126383781433,\
+0.9970494522713124752045,0.4636328797787427902222,0.7769650523550808429718,\
+0.3400075891986489295959,0.0353285889141261577606,0.2607673071324825286865,\
+0.5790986777283251285553,0.1250711670145392417908,0.0372988111339509487152,\
+0.9382179621607065200806,0.5585843441076576709747,0.7192503632977604866028,\
+0.3599752518348395824432,0.6758626028895378112793,0.2222136431373655796051,\
+0.7860159231349825859070,0.1736893891356885433197,0.2674629595130681991577,\
+0.7357366015203297138214,0.0550541067495942115784,0.5923380698077380657196,\
+0.2162457890808582305908,0.7718841419555246829987,0.0926524316892027854919,\
+0.7626169077120721340179,0.7347808051854372024536,0.8017499190755188465118,\
+0.7732572900131344795227,0.2559880572371184825897,0.1179054826498031616,\
+0.9232815303839743137360,0.6709534404799342155457,0.6071323617361485958099,\
+0.4574467372149229049683,0.8206311021931469440460,0.0896153757348656654358,\
+0.3426358769647777080536,0.1674894802272319793701,0.9481152505613863468170,\
+0.9504805644974112510681,0.3436607695184648036957,0.2889420483261346817017,\
+0.5325344172306358814240,0.2558945687487721443176,0.8863505902700126171112,\
+0.0421485081315040588379,0.4876015805639326572418}
+
+#define ZSOURCEI {0.347978035919368267059,0.2037199228070676326752,0.5962978359311819076538,\
+0.8342303414829075336456,0.6809655660763382911682,0.9127784068696200847626,\
+0.5243799723684787750244,0.7204323844052851200104,0.3259664541110396385193,\
+0.1506391367875039577484,0.9124387521296739578247,0.6345743131823837757111,\
+0.9268973069265484809875,0.7633614349178969860077,0.5918717086315155029297,\
+0.9057438620366156101227,0.3263365356251597404480,0.3912780000828206539154,\
+0.4635267537087202072144,0.0849754814989864826202,0.5800507226958870887756,\
+0.7945564310066401958466,0.3823457323014736175537,0.3010852993465960025787,\
+0.5789428642019629478455,0.2627451247535645961761,0.5713048521429300308228,\
+0.1848654565401375293732,0.9971724869683384895325,0.4520535501651465892792,\
+0.0334019884467124938965,0.4553878181613981723785,0.7851976407691836357117,\
+0.4941168962977826595306,0.9304408635944128036499,0.7621670593507587909698,\
+0.9264887655153870582581,0.7199950958602130413055,0.3973621018230915069580,\
+0.8769331262446939945221,0.6766644334420561790466,0.8431562236510217189789,\
+0.7608711589127779006958,0.8287630719132721424103,0.0037989662960171699524,\
+0.9451942699961364269257,0.6311131268739700317383,0.0763222672976553440094,\
+0.4486519275233149528503,0.1080312891863286495209,0.8351444136351346969604,\
+0.3109649871475994586945,0.1235694894567131996155,0.0363539229147136211395,\
+0.6609512977302074432373,0.9844443709589540958405,0.0688076755031943321228,\
+0.5140342987142503261566,0.3807653579860925674438,0.1549817589111626148224,\
+0.6850274773314595222473,0.0382853033952414989471,0.5224257782101631164551,\
+0.7454454028047621250153,0.4607118470594286918640,0.4753002314828336238861,\
+0.8575385268777608871460,0.8073885519988834857941,0.7132545644417405128479,\
+0.0811268086545169353485,0.5751824118196964263916,0.884696914348751306534,\
+0.5624709790572524070740,0.7315255901776254177094,0.6099120099097490310669,\
+0.0705954921431839466095,0.8552806274965405464172,0.7045627343468368053436,\
+0.5928074717521667480469,0.8517647930420935153961,0.2603117255493998527527,\
+0.8596871509216725826263,0.3943212013691663742065,0.3333164160139858722687,\
+0.2511775353923439979553,0.5570420245639979839325,0.7276714108884334564209,\
+0.9383780122734606266022,0.1971746077761054039001,0.1607607132755219936371,\
+0.7815325502306222915649,0.1760376212187111377716,0.2801528992131352424622,\
+0.4699970218352973461151,0.3507726117968559265137,0.5713973813690245151520,\
+0.4563077641651034355164,0.9214398502372205257416,0.4339873101562261581421,\
+0.3514866163022816181183,0.1816438222303986549377,0.9070622171275317668915,\
+0.7665811367332935333252,0.9807842955924570560455,0.1198607003316283226013,\
+0.0508546582423150539398,0.2581452894955873489380,0.1401008707471191883087,\
+0.5514106499031186103821,0.7882929998449981212616,0.8028824776411056518555,\
+0.2425694861449301242828,0.7024780390784144401550,0.0922905071638524532318,\
+0.4318286012858152389526,0.0804965649731457233429,0.7126307198777794837952,\
+0.6893844078294932842255,0.2756213061511516571045,0.6968217701651155948639,\
+0.4598932703956961631775,0.6099067903123795986176,0.3065654132515192031860,\
+0.0749373403377830982208,0.9619921119883656501770,0.4158898773603141307831,\
+0.3287452235817909240723,0.7406168007291853427887,0.5725225014612078666687,\
+0.9504556744359433650970,0.1849336978048086166382,0.8698030491359531879425,\
+0.6907873982563614845276,0.9524399931542575359344,0.6490485109388828277588,\
+0.9960058168508112430573,0.2040582066401839256287,0.3800008497200906276703,\
+0.9729049820452928543091,0.9110585046000778675079,0.3810073928907513618469,\
+0.7869612383656203746796,0.5560158789157867431641,0.8529843934811651706696,\
+0.4350629774853587150574,0.5956362797878682613373,0.7071880977600812911987,\
+0.5747222309000790119171,0.4764349022880196571350,0.6098947445861995220184,\
+0.9666662178933620452881,0.3874611915089190006256,0.0715632727369666099548,\
+0.6122049516998231410980,0.9575729314237833023071,0.7723352131433784961700,\
+0.1287384750321507453918,0.3884150418452918529510,0.2353963479399681091309,\
+0.6542267077602446079254,0.3286431683227419853210,0.024017625954002141953,\
+0.1042741741985082626343,0.9314296473748981952667,0.8185661518946290016174,\
+0.8156488086096942424774,0.8688247688114643096924,0.3549220249988138675690,\
+0.3890381073579192161560,0.6415715864859521389008,0.4902750719338655471802,\
+0.3509976905770599842072,0.8516392158344388008118,0.1348936217837035655975,\
+0.1156354099512100219727,0.8810075619257986545563,0.8367286501452326774597,\
+0.5032693906687200069427,0.4486711751669645309448,0.9319602106697857379913,\
+0.7298459419980645179749,0.3388367067091166973114,0.4314213804900646209717,\
+0.7317318231798708438873,0.9655342241749167442322,0.2621376193128526210785,\
+0.2050140891224145889282,0.2826355365104973316193,0.3973353477194905281067,\
+0.7437736871652305126190,0.8185287192463874816895,0.3071001493372023105621,\
+0.9627068741247057914734,0.9475456266663968563080,0.6546552237123250961304,\
+0.1992082078941166400909,0.3616109425202012062073,0.9388273353688418865204,\
+0.0409001447260379791260,0.0758434669114649295807}
+
+#define ZRESULTR {-0.7576646139762764908809,-0.4912662732014974609207,-0.4935831983604013761813,\
+-0.1796001444111503253520,-0.2030603062114124668369,-0.0903746939402042676059,\
+-0.3380442117380291211504,-0.2488385719103628768156,-0.2453827611475934422636,\
+-0.0629419446509737884332,0.2743030686751847802007,-0.4189753318430110562431,\
+-0.0337034837449739430038,-0.2700068328094388236948,-0.5191589716059612502619,\
+-0.0763304013057857499991,-0.6929039668216129266298,-0.7614418400301237177530,\
+-0.7012514181881327468560,-0.4995602487864141960650,-0.3736855282655331400576,\
+-0.1670990767606896909570,-0.4148838171877601843640,-0.1470641870540525808497,\
+0.0881657571965975273010,-1.1827451998005302780115,0.1044920740886167709327,\
+-1.1145963776166571967963,0.0100332050022288142566,-0.0123498399546466911675,\
+-0.6728365416861274983518,-0.0874315516128119363248,0.1416698281269971604335,\
+-0.2712125731855208887744,-0.0063567040970050154788,0.1906009971260032298535,\
+0.0238331967155752874610,-0.0953429917974444041118,-0.0065067191893498198957,\
+0.0440644425532304637172,-0.3540655459766552382028,-0.1661126167793314234444,\
+0.0062509933701612868662,-0.1693877982336349785619,-0.0292579566847096204929,\
+0.0137816953226981269570,-0.0288761524361324552201,-0.0250652390791611112686,\
+-0.7581745137578204118967,-0.7505545612383084375097,-0.0046973071232757198853,\
+-0.3406170651999906873186,-2.0764518222153585114143,-0.8157393323281721952966,\
+-0.0852474852363154095292,0.0348077956215509243254,-0.8387202021909221372198,\
+-0.0663540586103768398329,-0.9554969196553003696337,-0.0212599130834864695483,\
+-0.0245601140031842454792,-1.6679899099681032570430,-0.4509584277017124609443,\
+0.1011698547763601602201,-0.2120439010955574854478,-0.1131958883879479044188,\
+0.0199327284817682297280,0.0781443465987670671247,-0.3004592565973881468366,\
+-0.1451799924584522560878,-0.5281452333714923286223,-0.0505933914241510074294,\
+-0.2819958038859460280889,-0.122323084811984963971,-0.2632782651610236501760,\
+-0.0540558326414990047981,0.2512879183645665981395,-0.1214932149359973512226,\
+0.0055773659320434761794,0.0673704632706614986448,-0.2906343733694730646633,\
+0.0851020319327377705587,0.0365640112295984101576,-1.0976622196833336619903,\
+-0.4020870876485082012763,-0.3719849821436939651953,-0.3158125612041708385469,\
+0.2324359424588408329360,-1.5742845766045041600023,-0.0033130260706617652329,\
+-0.1069329039454427060507,-0.1341564770393289252048,-0.0510429776001832605226,\
+-0.3847912680433241972011,-0.9153668051115183557087,-0.3798345871473772783489,\
+-0.6590618454479428844905,-0.0755413642077243097095,0.0808833545731707098669,\
+-0.417646722764209388234,-0.8522405945532404158982,0.1463133685463073596633,\
+-0.2416082657366604991012,0.0219217192558878656850,-0.8077093656959043466159,\
+-0.1128924015633438332484,-0.3996389102953575300781,-0.9892317511551623754329,\
+-0.5874413267393940873973,-0.1422192352759769073955,-0.1954743580270074387872,\
+-0.0763719684521397823573,0.1332266112260754309382,-2.2385346085566988350024,\
+-0.5112419918132667939759,-0.0541885453710462053345,0.1544990573544810508189,\
+0.1051325180789595692410,-0.9326914829433226028499,0.0764891336322670034598,\
+-0.4245421077023512346216,-0.4665013282915527192962,-0.3980722181205589849107,\
+-1.152706389176620049852,-0.0091123646200983177135,-0.8629224644504486230190,\
+-0.0671956049468366567456,-0.1483256896732535745631,-0.0470857769330114903084,\
+0.3049502630226416100001,-0.8351336293434713509143,0.1199665328310368234144,\
+0.100965515388687754328,0.1851149271955789266109,-0.4311455286578065315695,\
+0.1656739977240755667953,-0.6957805672270640506838,-0.7030137346248552798755,\
+0.2434410334133135511703,-0.0502776447144934607314,-0.6643994214275527054880,\
+-0.0494471424057717073852,-0.1105954430789197057150,0.2627700024490645658304,\
+-0.6613338575819812659162,-0.4943364682181946023753,-0.2273273919604619497381,\
+-0.0669964153308245241591,0.0270809622513717325465,-0.3423076587443550367063,\
+0.2375373770411028651051,-0.7058599113455784612725,-0.0187211007688289424178,\
+0.1570046667576522059218,0.0619494218295955287323,0.0912342621811634557627,\
+-1.0118000314587793919685,-0.9415613562651380386015,-1.04611739737066766764,\
+-0.1350076179226963601909,-1.045153664947628735504,-3.1153566294303054462489,\
+-0.0576346967934074291828,0.0825782285147220879162,0.0858710750707356584854,\
+-0.1147913938093602786994,0.0959901869720326261781,-0.8704897942843184965866,\
+-0.1312205414500346722928,-0.4084692473683823599195,-0.5825265796688483543875,\
+-0.2043543873503067542785,-0.1585071715930248537063,-0.4983971045262390875408,\
+-1.405591688480441803222,0.1581272765392360557524,-0.1721619754559372272862,\
+-0.0902428450071243726249,-0.1497365537505691013287,0.2065025609822116192671,\
+0.0613750886386554700413,-0.8564551079948240497330,-0.804653684520539647096,\
+0.1638887899169061412863,0.1619231669215081825808,-0.4135383706484943022730,\
+-0.6905772083929240245936,-0.1416337472709212619293,-0.8981660716461068449945,\
+-0.1997922350746098307805,-0.1797380100619248022298,-0.0033949848444226812805,\
+0.3022174959979692654422,0.0079098230306947625579,-0.3346557902575436060921,\
+-0.5646231542298842942529,-0.8141969637368523526888,0.2555170413707821830407,\
+-2.8347892907784113525338,-0.7063037006217763869032}
+
+#define ZRESULTI {0.8365523024247201178127,0.3394374381847692356828,1.355160662925530390410,\
+1.5134434006476746858993,0.9868300791435297147913,1.528673168936313331301,\
+0.8260899014265745687879,1.1783591647662248202977,0.4297253343366602140740,\
+0.1611216299891750081130,0.7663999599077054858398,1.3047144916618338417180,\
+1.2822880914611145541926,1.5649955384218765530591,1.4678689248356304730692,\
+1.3586758006659467312716,0.7108977814935093508808,0.9933651109027943348906,\
+1.2071246910756632253481,0.1405010934420483359464,1.0025763105214653414521,\
+1.21989563358396813086,0.6174353300937470701015,0.3562751652356153653223,\
+0.5587012199090121145062,1.0302380576516638743811,0.5405656721364887618009,\
+0.5986555168040823549092,1.4107360213988626718162,0.4753739371565622318094,\
+0.0655076733245526648952,0.5201329289544929235234,0.7497818580560413614933,\
+0.7050355621930805005704,1.2121540141336599738509,0.6814274485183255958276,\
+1.1306014284455374596661,0.9141116926495304051414,0.4114688990228685949724,\
+0.9956827833608694611200,1.3022000158632660582469,1.4761001233596913184698,\
+0.8573788009054216230354,1.379379585022410426021,0.0039117682490215858332,\
+1.2006025140002900553071,0.7070620318380608226860,0.0783395850399789817065,\
+1.2785255791075276210478,0.2308747034561683952880,0.9955835564035591112031,\
+0.4524376138027601523817,1.4009149235535949262754,0.0822834615192538504358,\
+0.8034667275967887212218,1.2557032585647818212493,0.1598599852603853899158,\
+0.5815258576469973794687,1.4290836436420499833133,0.1589807896730044689537,\
+0.7782863583371778526399,0.2043896563749957318024,0.9616073478994561218869,\
+0.7392289023091881405847,0.6059375681629087795343,0.5612744745893767372991,\
+0.9984170767670760282542,0.8430838000818645650014,1.29879528501095431459,\
+0.0939407915654127262384,1.3484611857054962236191,1.1960714214373144859138,\
+0.8415982269448546437829,0.9732366936364994502995,0.9167206383382787704406,\
+0.0745857498941502189416,0.7278097264573785141195,0.9199632393837048338625,\
+0.6304525502744320331061,0.9211062195464506663356,0.3555526540057888373880,\
+0.9100796877015666641597,0.3899732161636976779384,1.5260640477653748536824,\
+0.3849315818496458763143,0.9408368768631211187525,1.5061175798419510485360,\
+0.838676229611447277001,1.2591119550131308901797,0.1620018843959732390836,\
+1.0546671087981356329522,0.2026968016035011754816,0.299271305708051660321,\
+0.7622771187183752239491,1.067757629024185028754,0.9888735682758375000745,\
+1.0801593307389727449674,1.4588740911245949849473,0.4118082358815949306496,\
+0.5629599662610861310341,0.4399958138718327860239,0.9004381750108224613527,\
+1.3516535386697041687398,1.2852850170743990165789,0.2721670546404741375390,\
+0.0569631738604013462823,0.3951736758236387148102,0.3862903740059538404417,\
+1.4457867030840705346861,1.1403205655573340759901,1.3522555755333163229892,\
+0.264908300074692404369,0.6622029195378335009181,1.0464389789763977045567,\
+0.8038225849224520658254,0.0850815175089563863198,0.6568351393392068970911,\
+0.669491640154789569017,0.7760242270392859742500,0.7016907095208140265896,\
+0.7797846541592131641707,1.335473484345777617222,0.4740136251481967821775,\
+0.2395937042296285568455,1.3285359486862795552753,1.401425714315664317056,\
+0.3592738595863486095183,1.0333805631652628331807,0.6436572543635337151358,\
+0.7762911838119904706090,0.4403927201098556398762,0.8811512979588507210593,\
+0.674423430961778702653,0.9132365009577151360176,1.5238520140402758151765,\
+1.00458246450610100275,0.4215689680173497211335,0.874990498737184374534,\
+0.8674547514202983755638,1.2800682610709759323697,0.8336956783393613124034,\
+0.9734878037135866746254,0.6700663792657182149526,0.7153420705223627606983,\
+1.0026132338500262086711,1.3535381134312993722801,1.0923065980664201646277,\
+0.6618099327465949421878,0.4821732258146940175436,1.033019939116806895640,\
+0.8668307442664776596430,0.9024324853624734465996,0.0729804020494689703602,\
+0.5506621520352920073904,1.1198886719657494825952,0.7824098301910974440077,\
+0.3619529370272654977825,1.4800901440707066036850,0.7343084050589578914980,\
+0.8462379976616437593506,1.2071528313995831815930,0.5720924999360996743292,\
+0.1106864208392598775132,1.0305927183418297499173,0.8498909387724447039858,\
+1.15517062965696792887,0.9096742728488710350021,1.01141253782177353848,\
+0.4595989696224830889371,1.3064089912173471041967,1.071386424855859109684,\
+0.4451357270611538408112,1.5062412806888749727818,0.2239121309027737871666,\
+0.4910523338147070870896,0.8513221989625705532490,1.460513851259993778342,\
+0.5833202395880134893957,0.5481910770820362932554,0.8603624185522980027940,\
+0.7565250407629732221082,0.9237902776741101495972,1.3040155501467787235725,\
+0.6701717740731456540715,0.9634987985586029868301,0.4075854524817449364704,\
+0.4213313914917447000619,0.3316883655770838101873,1.3489670985956061510791,\
+1.1391029061589752480188,1.3689599297259111843061,0.3132420296422914196555,\
+0.7917886209906572769768,1.2228656637749606428400,1.1551462426298317875961,\
+0.3579601167993540777879,0.9549534865181378284760,0.8141418225805733266398,\
+0.7703675837106083168493,0.1543074266086776613616}
+
+
+
+
+#define SOURCE2 {2.6395560009405016899109,4.1481037065386772155762,2.8064980218186974525452,\
+1.2800584640353918075562,7.7831285959109663963318,2.1190304495394229888916,\
+1.121354666538536548615,6.8568959552794694900513,1.5312166837975382804871,\
+6.970850601792335510254,8.4155184263363480567932,4.0620247554033994674683,\
+4.09482547547668218613,8.7841258011758327484131,1.1383596854284405708313,\
+1.9983377400785684585571,5.6186607433483004570007,5.8961773291230201721,\
+6.8539796629920601844788,8.9062247332185506820679,5.0422128057107329368591,\
+3.493615407496690750122,3.8737787725403904914856,9.2228986788541078567505,\
+9.4881842611357569694519,3.4353372454643249511719,3.7601187312975525856018,\
+7.3409405630081892013550,2.6157614728435873985291,4.99349383637309074402,\
+2.6385784195736050605774,5.25356308557093143463,5.3762298030778765678406,\
+1.1999255046248435974121,2.2563034901395440101624,6.2740930821746587753296,\
+7.6084325974807143211365,0.4855662025511264801025,6.7239497276023030281067,\
+2.017172696068882942200,3.911573919467628002167,8.3003165572881698608398,\
+5.8787201577797532081604,4.8291792999953031539917,2.2328650346025824546814,\
+8.4008856676518917083740,1.2059959070757031440735,2.8553641680628061294556,\
+8.6075146449729800224304,8.494101651012897491455,5.2570608118548989295959,\
+9.9312098976224660873413,6.4885628735646605491638,9.923190940171480178833,\
+0.5004197778180241584778,7.4855065811425447463989,4.1040589986369013786316,\
+6.0845263302326202392578,8.5442108893766999244690,0.6426467280834913253784,\
+8.279082938097417354584,9.2623437754809856414795,5.6672112690284848213196,\
+5.711638936772942543030,8.1601104838773608207703,0.5689279362559318542481,\
+5.5959366867318749427795,1.2493403162807226181030,7.279222286306321620941,\
+2.6777664758265018463135,5.4653349192813038825989,9.885407658293843269348,\
+7.3956565884873270988464,0.0371731072664260864258,5.9005728596821427345276,\
+3.096467358991503715515,2.5522057106718420982361,6.2518793903291225433350,\
+1.1574173765257000923157,6.1170040909200906753540,6.7839562846347689628601,\
+3.3200952783226966857910,0.2587099233642220497131,5.1744682248681783676147,\
+3.9168732380494475364685,2.4135384149849414825439,5.064434898085892200470,\
+4.2361020017415285110474,2.8937275288626551628113,0.8879321813583374023438,\
+6.2128817522898316383362,3.4549844544380903244019,7.0648676296696066856384,\
+5.2114724926650524139404,2.8704008506610989570618,6.502795079723000526428,\
+0.8813347620889544487000,4.498763345181941986084,7.2272530803456902503967,\
+8.9767962601035833358765,2.4278218811377882957458,4.3377211131155490875244,\
+9.6770532103255391120911,5.0685344357043504714966,5.2329764096066355705261,\
+5.5969475954771041870117,5.6173070007935166358948,4.68176002614200115204,\
+7.794546722434461116791,7.9010718129575252532959,9.8085420625284314155579,\
+8.1870661024004220962524,4.2568723810836672782898,2.4615605548024177551270,\
+9.2295324662700295448303,1.000745808705687522888,4.6782181179150938987732,\
+3.9504976756870746612549,0.3661171020939946174622,5.175368534401059150696,\
+8.3254515705630183219910,6.1048321425914764404297,1.8711117887869477272034,\
+0.1895748358219861984253,8.4335647663101553916931,0.7485948316752910614014,\
+8.5328151332214474678040,0.1245901081711053848267,1.8675393564626574516296,\
+4.920584075152873992920,7.4896081397309899330,9.414957007393240928650,\
+2.1240556007251143455505,5.7950199581682682037354,2.628147569485008716583,\
+4.3609866220504045486450,9.1105451015755534172058,8.0826673656702041625977,\
+8.1026530498638749122620,2.5904283951967954635620,4.1390872886404395103455,\
+3.599927779287099838257,6.91278793383389711380,7.6568587962538003921509,\
+3.572649653069674968720,7.6933998242020606994629,5.4776339093223214149475,\
+0.9622887428849935531616,9.5611717319115996360779,2.2074085660278797149658,\
+0.1432593585923314094544,8.1914897728711366653442,1.3049928424879908561707,\
+9.6820035576820373535156,6.5613814676180481910706,2.4455389659851789474487,\
+5.2831235667690634727478,8.4689256362617015838623,7.8766220854595303535461,\
+1.262082615867257118225,7.8838609857484698295593,3.4530424699187278747559,\
+2.6598573336377739906311,9.7098186518996953964233,8.8752476638182997703552,\
+2.066752854734659194946,8.5251609655097126960754,6.7446978110820055007935,\
+9.152874383144080638886,0.2848597615957260131836,2.367841475643217563629,\
+7.0153435599058866500854,1.2025266280397772789001,8.2874121330678462982178,\
+3.1610729591920971870422,5.30519076623022556305,5.715174819342792034149,\
+0.4780154302716255187988,8.2486197212710976600647,5.7988431211560964584351,\
+2.7918082987889647483826,9.5451109297573566436768,9.0711546363309025764465,\
+3.3601493109017610549927,1.1756130633875727653503,9.2537237703800201416016,\
+7.2636712575331330299377,9.0094979386776685714722,3.9489932497963309288025,\
+5.6551797501742839813232,7.0614896761253476142883,6.7878311965614557266235,\
+4.1329363686963915824890,1.402290873229503631592,4.9523561308160424232483,\
+4.1948772873729467391968,8.6262222891673445701599,2.8575096465647220611572,\
+2.5121363671496510505676,3.389101596549153327942}
+
+
+#define RESULT2 {0.9706107215522056241852,1.4226512916310911638362,1.0319374505428213772973,\
+0.246905751916103338717,2.0519583905069445073366,0.7509586489514044060911,\
+0.1145374781176292794394,1.9252548546825831721208,0.4260626375542267973984,\
+1.9417372548863311987333,2.1300774331528766758481,1.4016815575274605976119,\
+1.4097240974656071177407,2.1729462062921069964716,0.1295883538042104654586,\
+0.6923157050192292327751,1.7260933336118711167728,1.7743042306089458204355,\
+1.9248294562744026059420,2.1867504404929474226549,1.6178450344817050243762,\
+1.2509371333857781660726,1.3542304576599399901227,2.2216893784894660157647,\
+2.2500472625069045662372,1.2341151000295289552611,1.3244505343759986892849,\
+1.993466976516135025221,0.9615552493321314342367,1.6081358323702796830901,\
+0.9702402946929443716684,1.658906529368289861637,1.6819873484154954645931,\
+0.1822594753876470019538,0.8137278503591067746470,1.8364289458354570161447,\
+2.0292571844941731384893,-0.7224396410182910566178,1.9056757389571916672,\
+0.7016968755690818904114,1.3639398299492546673406,2.1162936535075722588317,\
+1.7713390779775688432807,1.5746765360416834500512,0.8032855297427843321856,\
+2.1283371369164427733267,0.1873057044979935803486,1.0491993894614395355092,\
+2.1526356176491328042744,2.1393719992097341986437,1.659572089557145968541,\
+2.2956823132957397959331,1.870041069148148160650,2.294874536928924957380,\
+-0.6923079771535994852982,2.012968695092798743218,1.4119764836513208905444,\
+1.8057488812128539290569,2.1452539646586252786165,-0.4421601177273855043381,\
+2.1137322059948120411832,2.225957124135133913256,1.7346971570693363595694,\
+1.7425060116900870088585,2.0992577085752079923964,-0.5640015026903990591478,\
+1.7220407427170496550417,0.2226156650313379503636,1.9850240276979147502345,\
+0.9849830425057782834486,1.6984254041571493765161,2.2910596958626552321903,\
+2.0008928803872945145770,-3.2921697020833700086939,1.7750494410596528993551,\
+1.1302619000814182470549,0.9369579698639551867956,1.83288212099904845864,\
+0.146191123459191885114,1.8110724490390321950173,1.9145604545765595450035,\
+1.1999934808065779723307,-1.3520478319474638073672,1.6437365753918393718180,\
+1.3652936921609135634270,0.8810938927039604351421,1.62224256150308399071,\
+1.4436435071804869512135,1.0625454734184220928483,-0.1188599112506976002157,\
+1.8266248385955683453119,1.2398179577704631082469,1.9551342798915567477991,\
+1.6508624439841452780087,1.0544516892385875639349,1.8722320967378904832401,\
+-0.1263177455503078638888,1.5038025468266962292319,1.9778590304154859413899,\
+2.194643054750437638489,0.8869945101840888135314,1.4673491210608482493427,\
+2.2697574345222681913015,1.6230517098794554620156,1.6549802193742981781810,\
+1.7222213768989977911161,1.7258523677080592761968,1.5436741131934335058418,\
+2.0534243510350704831069,2.0669984227965598755361,2.2832536450533371663596,\
+2.1025556044304130054456,1.4485347077928583114925,0.9007955206863934582984,\
+2.2224083935232625819367,0.0007455307285780288533,1.5429172933929051758639,\
+1.3738415648213015973766,-1.0048020456777133624371,1.6439105509928255699492,\
+2.1193172771056971726011,1.8090806121136604467381,0.6265327936561931876369,\
+-1.6629714204274992361832,2.1322195493342954719651,-0.2895573875226954974060,\
+2.1439193343978621975054,-2.0827260644551484070064,0.62462171221383455677,\
+1.5934272379201788183423,2.0135164783675794097917,2.24229959570391956802,\
+0.7533272804029441660489,1.7569989208182723583462,0.9662792518179295075953,\
+1.4726983212224467045814,2.209432545000515446532,2.089721937569185339356,\
+2.09219154507008475719,0.951823265584673561257,1.4204753018509210793496,\
+1.2809137839516946399954,1.9333730200617991190626,2.0356018208291457582959,\
+1.273307520236932832702,2.0403627955950214278857,1.700673239349282273025,\
+-0.0384407248228896478159,2.257710285652239079468,0.7918192329452391486910,\
+-1.943098595033752262751,2.1030957827723826270017,0.2661975560760838632746,\
+2.2702688589706512267696,1.8812011703610473922765,0.8942655346201515698112,\
+1.6645175074163265360738,2.136403657202092354339,2.0638991426068855616904,\
+0.2327632262134610163784,2.0648177566830252516183,1.2392557177584351268962,\
+0.9782724873844932389488,2.273137605702431063293,2.183266240754464071472,\
+0.7259787064172199544387,2.1430219045760425800040,1.9087566867408878312773,\
+2.2140679701900434217521,-1.255758284393388990452,0.8619787703734573813819,\
+1.9480996873952269865526,0.1844248666526293323198,2.114737753111020968078,\
+1.1509115140149177580753,1.668685731123507043350,1.7431248863402162285752,\
+-0.7381122661087159420035,2.1100458798366994450646,1.7576584357875708608532,\
+1.0266895216506544131,2.2560290788762715763482,2.205099558817555038814,\
+1.2119854107561658373982,0.1617897676032789000544,2.2250260402856771868585,\
+1.9828853838780200469216,2.1982793473903963210603,1.373460672957984574083,\
+1.73257189512379894403,1.9546560315313432631967,1.9151314791431239825670,\
+1.4189881394992434060498,0.3381072372999247011016,1.5998634493586285643119,\
+1.4338640873752146465137,2.15480666756291494579,1.0499504925567986202140,\
+0.9211335334181942613441,1.2205648705022635880368}
+
+
+
+#define ZSOURCER {0.3140813848003745079041,0.5769402063451707363129,0.1306138429790735244751,\
+0.0478980806656181812286,0.4500174494460225105286,0.0384718659333884716034,\
+0.483350999653339385986,0.2981918179430067539215,0.7112689120694994926453,\
+0.9268360524438321590424,0.9477838929742574691772,0.1729496796615421772003,\
+0.2750928336754441261292,0.0044281478039920330048,0.0611358620226383209229,\
+0.1950612799264490604401,0.3789803450927138328552,0.2549188635312020778656,\
+0.1764185149222612380981,0.6008180272765457630157,0.3703392641618847846985,\
+0.2908470141701400279999,0.5384815335273742675781,0.8090293356217443943024,\
+0.9260985879227519035339,0.1576966657303273677826,0.9518593531101942062378,\
+0.2709982101805508136749,0.1609848598018288612366,0.8782086591236293315887,\
+0.5091647170484066009521,0.7951062084175646305084,0.8432204117998480796814,\
+0.5806765086017549037933,0.3487791065126657485962,0.9397577759809792041779,\
+0.4363934816792607307434,0.5549766751937568187714,0.9105900451540946960449,\
+0.5684339576400816440582,0.1862502051517367362976,0.0800832151435315608978,\
+0.6585252787917852401733,0.1606054832227528095245,0.9711584830656647682190,\
+0.3668168033473193645477,0.7386338301002979278564,0.9722552285529673099518,\
+0.1349937235936522483826,0.4595781317912042140961,0.5414639282971620559692,\
+0.6397600513882935047150,0.0211964594200253486633,0.4408156829886138439178,\
+0.6374878138303756713867,0.3208820023573935031891,0.4267518399283289909363,\
+0.7819778784178197383881,0.0543234180659055709839,0.9666189108975231647491,\
+0.6948409983888268470764,0.1846996019594371318817,0.3645029179751873016357,\
+0.8176643461920320987701,0.664914294146001338959,0.7559730983339250087738,\
+0.5525381658226251602173,0.7192269531078636646271,0.1989364298060536384583,\
+0.8610532465390861034393,0.1300329938530921936035,0.347959163133054971695,\
+0.5025534434244036674500,0.4978472082875669002533,0.4675923939794301986694,\
+0.9447452803142368793488,0.9599315756931900978088,0.5365384514443576335907,\
+0.8122785724699497222900,0.6470989421941339969635,0.7010180121287703514099,\
+0.6681951484642922878265,0.9593638796359300613403,0.0149199557490646839142,\
+0.6199735002592206001282,0.4061129498295485973358,0.0471306145191192626953,\
+0.8433605083264410495758,0.0635268418118357658386,0.9836421324871480464935,\
+0.4434677045792341232300,0.8565507535822689533234,0.9080012599006295204163,\
+0.4922491232864558696747,0.1930142603814601898193,0.3759337724186480045319,\
+0.2437626412138342857361,0.1035623974166810512543,0.9936000052839517593384,\
+0.5569599089212715625763,0.3858396532014012336731,0.7191527518443763256073,\
+0.1707325801253318786621,0.2878904812969267368317,0.4294657362625002861023,\
+0.8917979537509381771088,0.6188817229121923446655,0.3444608678109943866730,\
+0.0692929709330201148987,0.3619817639701068401337,0.1783103235065937042236,\
+0.8941529677249491214752,0.9010278200730681419373,0.0533773354254662990570,\
+0.4162023533135652542114,0.9438270372338593006134,0.9242387460544705390930,\
+0.8710649865679442882538,0.2808376699686050415039,0.8244629004038870334625,\
+0.4650857029482722282410,0.1462343498133122920990,0.5975636970251798629761,\
+0.3067605351097881793976,0.2377215037122368812561,0.0711208949796855449677,\
+0.8753139786422252655029,0.4413500339724123477936,0.7631150623783469200134,\
+0.9679268277250230312347,0.3924236092716455459595,0.717360940296202898026,\
+0.8640465112403035163879,0.7354763629846274852753,0.0304915383458137512207,\
+0.6331009590066969394684,0.4550241930410265922546,0.3173553734086453914642,\
+0.8250397499650716781616,0.2725940425880253314972,0.3458735281601548194885,\
+0.5352854127995669841766,0.7017193175852298736572,0.9817278520204126834869,\
+0.2777477568015456199646,0.1314821145497262477875,0.366813333705067634583,\
+0.7377605927176773548126,0.9103105561807751655579,0.3637479650788009166718,\
+0.8207867145538330078125,0.3059372254647314548492,0.9788405327126383781433,\
+0.9970494522713124752045,0.4636328797787427902222,0.7769650523550808429718,\
+0.3400075891986489295959,0.0353285889141261577606,0.2607673071324825286865,\
+0.5790986777283251285553,0.1250711670145392417908,0.0372988111339509487152,\
+0.9382179621607065200806,0.5585843441076576709747,0.7192503632977604866028,\
+0.3599752518348395824432,0.6758626028895378112793,0.2222136431373655796051,\
+0.7860159231349825859070,0.1736893891356885433197,0.2674629595130681991577,\
+0.7357366015203297138214,0.0550541067495942115784,0.5923380698077380657196,\
+0.2162457890808582305908,0.7718841419555246829987,0.0926524316892027854919,\
+0.7626169077120721340179,0.7347808051854372024536,0.8017499190755188465118,\
+0.7732572900131344795227,0.2559880572371184825897,0.1179054826498031616,\
+0.9232815303839743137360,0.6709534404799342155457,0.6071323617361485958099,\
+0.4574467372149229049683,0.8206311021931469440460,0.0896153757348656654358,\
+0.3426358769647777080536,0.1674894802272319793701,0.9481152505613863468170,\
+0.9504805644974112510681,0.3436607695184648036957,0.2889420483261346817017,\
+0.5325344172306358814240,0.2558945687487721443176,0.8863505902700126171112,\
+0.0421485081315040588379,0.4876015805639326572418}
+
+#define ZSOURCEI {0.347978035919368267059,0.2037199228070676326752,0.5962978359311819076538,\
+0.8342303414829075336456,0.6809655660763382911682,0.9127784068696200847626,\
+0.5243799723684787750244,0.7204323844052851200104,0.3259664541110396385193,\
+0.1506391367875039577484,0.9124387521296739578247,0.6345743131823837757111,\
+0.9268973069265484809875,0.7633614349178969860077,0.5918717086315155029297,\
+0.9057438620366156101227,0.3263365356251597404480,0.3912780000828206539154,\
+0.4635267537087202072144,0.0849754814989864826202,0.5800507226958870887756,\
+0.7945564310066401958466,0.3823457323014736175537,0.3010852993465960025787,\
+0.5789428642019629478455,0.2627451247535645961761,0.5713048521429300308228,\
+0.1848654565401375293732,0.9971724869683384895325,0.4520535501651465892792,\
+0.0334019884467124938965,0.4553878181613981723785,0.7851976407691836357117,\
+0.4941168962977826595306,0.9304408635944128036499,0.7621670593507587909698,\
+0.9264887655153870582581,0.7199950958602130413055,0.3973621018230915069580,\
+0.8769331262446939945221,0.6766644334420561790466,0.8431562236510217189789,\
+0.7608711589127779006958,0.8287630719132721424103,0.0037989662960171699524,\
+0.9451942699961364269257,0.6311131268739700317383,0.0763222672976553440094,\
+0.4486519275233149528503,0.1080312891863286495209,0.8351444136351346969604,\
+0.3109649871475994586945,0.1235694894567131996155,0.0363539229147136211395,\
+0.6609512977302074432373,0.9844443709589540958405,0.0688076755031943321228,\
+0.5140342987142503261566,0.3807653579860925674438,0.1549817589111626148224,\
+0.6850274773314595222473,0.0382853033952414989471,0.5224257782101631164551,\
+0.7454454028047621250153,0.4607118470594286918640,0.4753002314828336238861,\
+0.8575385268777608871460,0.8073885519988834857941,0.7132545644417405128479,\
+0.0811268086545169353485,0.5751824118196964263916,0.884696914348751306534,\
+0.5624709790572524070740,0.7315255901776254177094,0.6099120099097490310669,\
+0.0705954921431839466095,0.8552806274965405464172,0.7045627343468368053436,\
+0.5928074717521667480469,0.8517647930420935153961,0.2603117255493998527527,\
+0.8596871509216725826263,0.3943212013691663742065,0.3333164160139858722687,\
+0.2511775353923439979553,0.5570420245639979839325,0.7276714108884334564209,\
+0.9383780122734606266022,0.1971746077761054039001,0.1607607132755219936371,\
+0.7815325502306222915649,0.1760376212187111377716,0.2801528992131352424622,\
+0.4699970218352973461151,0.3507726117968559265137,0.5713973813690245151520,\
+0.4563077641651034355164,0.9214398502372205257416,0.4339873101562261581421,\
+0.3514866163022816181183,0.1816438222303986549377,0.9070622171275317668915,\
+0.7665811367332935333252,0.9807842955924570560455,0.1198607003316283226013,\
+0.0508546582423150539398,0.2581452894955873489380,0.1401008707471191883087,\
+0.5514106499031186103821,0.7882929998449981212616,0.8028824776411056518555,\
+0.2425694861449301242828,0.7024780390784144401550,0.0922905071638524532318,\
+0.4318286012858152389526,0.0804965649731457233429,0.7126307198777794837952,\
+0.6893844078294932842255,0.2756213061511516571045,0.6968217701651155948639,\
+0.4598932703956961631775,0.6099067903123795986176,0.3065654132515192031860,\
+0.0749373403377830982208,0.9619921119883656501770,0.4158898773603141307831,\
+0.3287452235817909240723,0.7406168007291853427887,0.5725225014612078666687,\
+0.9504556744359433650970,0.1849336978048086166382,0.8698030491359531879425,\
+0.6907873982563614845276,0.9524399931542575359344,0.6490485109388828277588,\
+0.9960058168508112430573,0.2040582066401839256287,0.3800008497200906276703,\
+0.9729049820452928543091,0.9110585046000778675079,0.3810073928907513618469,\
+0.7869612383656203746796,0.5560158789157867431641,0.8529843934811651706696,\
+0.4350629774853587150574,0.5956362797878682613373,0.7071880977600812911987,\
+0.5747222309000790119171,0.4764349022880196571350,0.6098947445861995220184,\
+0.9666662178933620452881,0.3874611915089190006256,0.0715632727369666099548,\
+0.6122049516998231410980,0.9575729314237833023071,0.7723352131433784961700,\
+0.1287384750321507453918,0.3884150418452918529510,0.2353963479399681091309,\
+0.6542267077602446079254,0.3286431683227419853210,0.024017625954002141953,\
+0.1042741741985082626343,0.9314296473748981952667,0.8185661518946290016174,\
+0.8156488086096942424774,0.8688247688114643096924,0.3549220249988138675690,\
+0.3890381073579192161560,0.6415715864859521389008,0.4902750719338655471802,\
+0.3509976905770599842072,0.8516392158344388008118,0.1348936217837035655975,\
+0.1156354099512100219727,0.8810075619257986545563,0.8367286501452326774597,\
+0.5032693906687200069427,0.4486711751669645309448,0.9319602106697857379913,\
+0.7298459419980645179749,0.3388367067091166973114,0.4314213804900646209717,\
+0.7317318231798708438873,0.9655342241749167442322,0.2621376193128526210785,\
+0.2050140891224145889282,0.2826355365104973316193,0.3973353477194905281067,\
+0.7437736871652305126190,0.8185287192463874816895,0.3071001493372023105621,\
+0.9627068741247057914734,0.9475456266663968563080,0.6546552237123250961304,\
+0.1992082078941166400909,0.3616109425202012062073,0.9388273353688418865204,\
+0.0409001447260379791260,0.0758434669114649295807}
+
+#define ZRESULTR {-0.7576646139762764908809,-0.4912662732014974609207,-0.4935831983604013761813,\
+-0.1796001444111503253520,-0.2030603062114124668369,-0.0903746939402042676059,\
+-0.3380442117380291211504,-0.2488385719103628768156,-0.2453827611475934422636,\
+-0.0629419446509737884332,0.2743030686751847802007,-0.4189753318430110562431,\
+-0.0337034837449739430038,-0.2700068328094388236948,-0.5191589716059612502619,\
+-0.0763304013057857499991,-0.6929039668216129266298,-0.7614418400301237177530,\
+-0.7012514181881327468560,-0.4995602487864141960650,-0.3736855282655331400576,\
+-0.1670990767606896909570,-0.4148838171877601843640,-0.1470641870540525808497,\
+0.0881657571965975273010,-1.1827451998005302780115,0.1044920740886167709327,\
+-1.1145963776166571967963,0.0100332050022288142566,-0.0123498399546466911675,\
+-0.6728365416861274983518,-0.0874315516128119363248,0.1416698281269971604335,\
+-0.2712125731855208887744,-0.0063567040970050154788,0.1906009971260032298535,\
+0.0238331967155752874610,-0.0953429917974444041118,-0.0065067191893498198957,\
+0.0440644425532304637172,-0.3540655459766552382028,-0.1661126167793314234444,\
+0.0062509933701612868662,-0.1693877982336349785619,-0.0292579566847096204929,\
+0.0137816953226981269570,-0.0288761524361324552201,-0.0250652390791611112686,\
+-0.7581745137578204118967,-0.7505545612383084375097,-0.0046973071232757198853,\
+-0.3406170651999906873186,-2.0764518222153585114143,-0.8157393323281721952966,\
+-0.0852474852363154095292,0.0348077956215509243254,-0.8387202021909221372198,\
+-0.0663540586103768398329,-0.9554969196553003696337,-0.0212599130834864695483,\
+-0.0245601140031842454792,-1.6679899099681032570430,-0.4509584277017124609443,\
+0.1011698547763601602201,-0.2120439010955574854478,-0.1131958883879479044188,\
+0.0199327284817682297280,0.0781443465987670671247,-0.3004592565973881468366,\
+-0.1451799924584522560878,-0.5281452333714923286223,-0.0505933914241510074294,\
+-0.2819958038859460280889,-0.122323084811984963971,-0.2632782651610236501760,\
+-0.0540558326414990047981,0.2512879183645665981395,-0.1214932149359973512226,\
+0.0055773659320434761794,0.0673704632706614986448,-0.2906343733694730646633,\
+0.0851020319327377705587,0.0365640112295984101576,-1.0976622196833336619903,\
+-0.4020870876485082012763,-0.3719849821436939651953,-0.3158125612041708385469,\
+0.2324359424588408329360,-1.5742845766045041600023,-0.0033130260706617652329,\
+-0.1069329039454427060507,-0.1341564770393289252048,-0.0510429776001832605226,\
+-0.3847912680433241972011,-0.9153668051115183557087,-0.3798345871473772783489,\
+-0.6590618454479428844905,-0.0755413642077243097095,0.0808833545731707098669,\
+-0.417646722764209388234,-0.8522405945532404158982,0.1463133685463073596633,\
+-0.2416082657366604991012,0.0219217192558878656850,-0.8077093656959043466159,\
+-0.1128924015633438332484,-0.3996389102953575300781,-0.9892317511551623754329,\
+-0.5874413267393940873973,-0.1422192352759769073955,-0.1954743580270074387872,\
+-0.0763719684521397823573,0.1332266112260754309382,-2.2385346085566988350024,\
+-0.5112419918132667939759,-0.0541885453710462053345,0.1544990573544810508189,\
+0.1051325180789595692410,-0.9326914829433226028499,0.0764891336322670034598,\
+-0.4245421077023512346216,-0.4665013282915527192962,-0.3980722181205589849107,\
+-1.152706389176620049852,-0.0091123646200983177135,-0.8629224644504486230190,\
+-0.0671956049468366567456,-0.1483256896732535745631,-0.0470857769330114903084,\
+0.3049502630226416100001,-0.8351336293434713509143,0.1199665328310368234144,\
+0.100965515388687754328,0.1851149271955789266109,-0.4311455286578065315695,\
+0.1656739977240755667953,-0.6957805672270640506838,-0.7030137346248552798755,\
+0.2434410334133135511703,-0.0502776447144934607314,-0.6643994214275527054880,\
+-0.0494471424057717073852,-0.1105954430789197057150,0.2627700024490645658304,\
+-0.6613338575819812659162,-0.4943364682181946023753,-0.2273273919604619497381,\
+-0.0669964153308245241591,0.0270809622513717325465,-0.3423076587443550367063,\
+0.2375373770411028651051,-0.7058599113455784612725,-0.0187211007688289424178,\
+0.1570046667576522059218,0.0619494218295955287323,0.0912342621811634557627,\
+-1.0118000314587793919685,-0.9415613562651380386015,-1.04611739737066766764,\
+-0.1350076179226963601909,-1.045153664947628735504,-3.1153566294303054462489,\
+-0.0576346967934074291828,0.0825782285147220879162,0.0858710750707356584854,\
+-0.1147913938093602786994,0.0959901869720326261781,-0.8704897942843184965866,\
+-0.1312205414500346722928,-0.4084692473683823599195,-0.5825265796688483543875,\
+-0.2043543873503067542785,-0.1585071715930248537063,-0.4983971045262390875408,\
+-1.405591688480441803222,0.1581272765392360557524,-0.1721619754559372272862,\
+-0.0902428450071243726249,-0.1497365537505691013287,0.2065025609822116192671,\
+0.0613750886386554700413,-0.8564551079948240497330,-0.804653684520539647096,\
+0.1638887899169061412863,0.1619231669215081825808,-0.4135383706484943022730,\
+-0.6905772083929240245936,-0.1416337472709212619293,-0.8981660716461068449945,\
+-0.1997922350746098307805,-0.1797380100619248022298,-0.0033949848444226812805,\
+0.3022174959979692654422,0.0079098230306947625579,-0.3346557902575436060921,\
+-0.5646231542298842942529,-0.8141969637368523526888,0.2555170413707821830407,\
+-2.8347892907784113525338,-0.7063037006217763869032}
+
+#define ZRESULTI {0.8365523024247201178127,0.3394374381847692356828,1.355160662925530390410,\
+1.5134434006476746858993,0.9868300791435297147913,1.528673168936313331301,\
+0.8260899014265745687879,1.1783591647662248202977,0.4297253343366602140740,\
+0.1611216299891750081130,0.7663999599077054858398,1.3047144916618338417180,\
+1.2822880914611145541926,1.5649955384218765530591,1.4678689248356304730692,\
+1.3586758006659467312716,0.7108977814935093508808,0.9933651109027943348906,\
+1.2071246910756632253481,0.1405010934420483359464,1.0025763105214653414521,\
+1.21989563358396813086,0.6174353300937470701015,0.3562751652356153653223,\
+0.5587012199090121145062,1.0302380576516638743811,0.5405656721364887618009,\
+0.5986555168040823549092,1.4107360213988626718162,0.4753739371565622318094,\
+0.0655076733245526648952,0.5201329289544929235234,0.7497818580560413614933,\
+0.7050355621930805005704,1.2121540141336599738509,0.6814274485183255958276,\
+1.1306014284455374596661,0.9141116926495304051414,0.4114688990228685949724,\
+0.9956827833608694611200,1.3022000158632660582469,1.4761001233596913184698,\
+0.8573788009054216230354,1.379379585022410426021,0.0039117682490215858332,\
+1.2006025140002900553071,0.7070620318380608226860,0.0783395850399789817065,\
+1.2785255791075276210478,0.2308747034561683952880,0.9955835564035591112031,\
+0.4524376138027601523817,1.4009149235535949262754,0.0822834615192538504358,\
+0.8034667275967887212218,1.2557032585647818212493,0.1598599852603853899158,\
+0.5815258576469973794687,1.4290836436420499833133,0.1589807896730044689537,\
+0.7782863583371778526399,0.2043896563749957318024,0.9616073478994561218869,\
+0.7392289023091881405847,0.6059375681629087795343,0.5612744745893767372991,\
+0.9984170767670760282542,0.8430838000818645650014,1.29879528501095431459,\
+0.0939407915654127262384,1.3484611857054962236191,1.1960714214373144859138,\
+0.8415982269448546437829,0.9732366936364994502995,0.9167206383382787704406,\
+0.0745857498941502189416,0.7278097264573785141195,0.9199632393837048338625,\
+0.6304525502744320331061,0.9211062195464506663356,0.3555526540057888373880,\
+0.9100796877015666641597,0.3899732161636976779384,1.5260640477653748536824,\
+0.3849315818496458763143,0.9408368768631211187525,1.5061175798419510485360,\
+0.838676229611447277001,1.2591119550131308901797,0.1620018843959732390836,\
+1.0546671087981356329522,0.2026968016035011754816,0.299271305708051660321,\
+0.7622771187183752239491,1.067757629024185028754,0.9888735682758375000745,\
+1.0801593307389727449674,1.4588740911245949849473,0.4118082358815949306496,\
+0.5629599662610861310341,0.4399958138718327860239,0.9004381750108224613527,\
+1.3516535386697041687398,1.2852850170743990165789,0.2721670546404741375390,\
+0.0569631738604013462823,0.3951736758236387148102,0.3862903740059538404417,\
+1.4457867030840705346861,1.1403205655573340759901,1.3522555755333163229892,\
+0.264908300074692404369,0.6622029195378335009181,1.0464389789763977045567,\
+0.8038225849224520658254,0.0850815175089563863198,0.6568351393392068970911,\
+0.669491640154789569017,0.7760242270392859742500,0.7016907095208140265896,\
+0.7797846541592131641707,1.335473484345777617222,0.4740136251481967821775,\
+0.2395937042296285568455,1.3285359486862795552753,1.401425714315664317056,\
+0.3592738595863486095183,1.0333805631652628331807,0.6436572543635337151358,\
+0.7762911838119904706090,0.4403927201098556398762,0.8811512979588507210593,\
+0.674423430961778702653,0.9132365009577151360176,1.5238520140402758151765,\
+1.00458246450610100275,0.4215689680173497211335,0.874990498737184374534,\
+0.8674547514202983755638,1.2800682610709759323697,0.8336956783393613124034,\
+0.9734878037135866746254,0.6700663792657182149526,0.7153420705223627606983,\
+1.0026132338500262086711,1.3535381134312993722801,1.0923065980664201646277,\
+0.6618099327465949421878,0.4821732258146940175436,1.033019939116806895640,\
+0.8668307442664776596430,0.9024324853624734465996,0.0729804020494689703602,\
+0.5506621520352920073904,1.1198886719657494825952,0.7824098301910974440077,\
+0.3619529370272654977825,1.4800901440707066036850,0.7343084050589578914980,\
+0.8462379976616437593506,1.2071528313995831815930,0.5720924999360996743292,\
+0.1106864208392598775132,1.0305927183418297499173,0.8498909387724447039858,\
+1.15517062965696792887,0.9096742728488710350021,1.01141253782177353848,\
+0.4595989696224830889371,1.3064089912173471041967,1.071386424855859109684,\
+0.4451357270611538408112,1.5062412806888749727818,0.2239121309027737871666,\
+0.4910523338147070870896,0.8513221989625705532490,1.460513851259993778342,\
+0.5833202395880134893957,0.5481910770820362932554,0.8603624185522980027940,\
+0.7565250407629732221082,0.9237902776741101495972,1.3040155501467787235725,\
+0.6701717740731456540715,0.9634987985586029868301,0.4075854524817449364704,\
+0.4213313914917447000619,0.3316883655770838101873,1.3489670985956061510791,\
+1.1391029061589752480188,1.3689599297259111843061,0.3132420296422914196555,\
+0.7917886209906572769768,1.2228656637749606428400,1.1551462426298317875961,\
+0.3579601167993540777879,0.9549534865181378284760,0.8141418225805733266398,\
+0.7703675837106083168493,0.1543074266086776613616}
+
+
+
+#define ZSOURCE2R {3.9219759730622172355652,4.6815521270036697387695,3.361602746881544589996,\
+5.3368766140192747116089,2.03906395938247442245,1.5899897180497646331787,\
+0.1818151073530316352844,4.0983706060796976089478,0.1058345986530184745789,\
+1.9653097167611122131348,2.7255953708663582801819,3.4376550372689962387085,\
+2.0337020372971892356873,3.0119446106255054473877,2.7625959040597081184387,\
+2.9445307422429323196411,5.7180739520117640495300,2.141770124435424804688,\
+6.8954616272822022438049,5.8555728476494550704956,4.2041230341419577598572,\
+4.2775720171630382537842,3.1845858739688992500305,5.7618944440037012100220,\
+4.2549022240564227104187,9.7619816288352012634277,2.518960000015795230866,\
+4.3911290075629949569702,0.7593036955222487449646,2.5593801774084568023682,\
+0.6706167431548237800598,7.6511315722018480300903,0.4173615900799632072449,\
+3.438271805644035339356,1.9701673323288559913635,2.1228986512869596481323,\
+3.1403985014185309410095,7.8216253779828548431396,0.5409323470667004585266,\
+9.1902069095522165298462,4.6035157097503542900085,2.9926850274205207824707,\
+0.0291663268581032752991,8.9934705849736928939819,8.3879271661862730979919,\
+4.3437494523823261260986,7.7678761305287480354309,1.3953176606446504592896,\
+1.1506372271105647087097,5.3554199635982513427734,4.3117330456152558326721,\
+6.145384786650538444519,9.2589621385559439659119,0.9938172809779644012451,\
+4.2805786477401852607727,9.431830951943993568420,0.3273952705785632133484,\
+9.2132670804858207702637,9.4490244099870324134827,9.007069906219840049744,\
+8.0943161016330122947693,0.2519542910158634185791,0.0196450622752308845520,\
+5.0752213317900896072388,4.0760429529473185539246,8.4080461412668228149414,\
+5.017265700735151767731,9.1287807654589414596558,4.4357294728979468345642,\
+5.9837839566171169281006,7.7418426470831036567688,7.9220082703977823257446,\
+5.5046048713847994804382,4.0850437059998512268066,7.2174380579963326454163,\
+4.768535858020186424255,6.3930579042062163352966,9.963865298777818679810,\
+1.5747882844880223274231,5.3506936598569154739380,2.1290646074339747428894,\
+5.59145063161849975586,4.304965981282293796539,0.2280548494309186935425,\
+5.7614597817882895469666,7.1491303853690624237061,9.3216359661892056465149,\
+1.2326993141323328018188,2.8655522270128130912781,0.1247995719313621520996,\
+5.7694048294797539710999,3.9386960770934820175171,6.8885837262496352195740,\
+9.7023218311369419097900,8.51576429326087236404,3.3933044690638780593872,\
+8.7725317804142832756042,1.1314024776220321655273,5.2641283208504319190979,\
+5.297394050285220146179,9.2917560925707221031189,9.7654302977025508880615,\
+6.2254639761522412300110,9.822583282366394996643,7.5429888023063540458679,\
+5.4547880962491035461426,7.2860160330310463905334,0.2525969501584768295288,\
+4.0251684701070189476013,0.9831319935619831085205,2.6086253346875309944153,\
+3.6363423336297273635864,1.7466178117319941520691,9.2341394722461700439453,\
+7.6051409030333161354065,5.6402041297405958175659,3.7970651825889945030212,\
+8.7762261740863323211670,8.21742579806596040726,6.787058124318718910217,\
+0.8220098121091723442078,2.5527314469218254089355,7.4444567272439599037170,\
+2.2695036139339208602905,6.836930788122117519379,9.3650726415216922760010,\
+5.0530174048617482185364,2.5248145777732133865356,6.8188397912308573722839,\
+2.8363681584596633911133,1.409485661424696445465,6.7591095995157957077026,\
+4.5126775791868567466736,7.5430292449891567230225,1.3702143030241131782532,\
+6.6082405392080545425415,3.8900542212650179862976,7.001820541918277740479,\
+9.168005720712244510651,2.1228999551385641098022,2.6978330826386809349060,\
+3.1998893804848194122314,0.2321802498772740364075,7.26544727571308612823,\
+1.5340585587546229362488,2.3552638292312622070312,0.8797382796183228492737,\
+7.1059537213295698165894,6.8887275597080588340759,6.5953194908797740936279,\
+1.8151161121204495429993,3.9049659762531518936157,1.5869047446176409721375,\
+6.2407150492072105407715,6.3760355720296502113342,4.2704886104911565780640,\
+1.0716815060004591941833,2.3822965659201145172119,9.4629473658278584480286,\
+4.5766852516680955886841,8.9644787041470408439636,4.4384705275297164916992,\
+8.08956819120794534683,6.8317985069006681442261,0.3401931514963507652283,\
+2.3805456422269344329834,9.4920115964487195014954,2.1827886346727609634399,\
+6.1546878470107913017273,8.3135433867573738098145,7.7340125897899270057678,\
+4.2441909667104482650757,7.262125960551202297211,7.0999773032963275909424,\
+4.7457459988072514533997,9.4386920798569917678833,1.4596485672518610954285,\
+0.7141010463237762451172,6.7337385797873139381409,6.536924717947840690613,\
+1.996896131895482540131,6.01412517949938774109,1.8993748771026730537415,\
+2.5839814636856317520142,0.9878737432882189750671,0.6199027225375175476074,\
+0.4034968325868248939514,7.4001471605151891708374,6.1626600986346602439880,\
+6.5835834480822086334229,2.5145971449092030525208,3.8433500844985246658325,\
+4.3964602379128336906433,6.5407369285821914672852,5.878106378950178623200,\
+6.0208318661898374557495,0.4535020282492041587830,2.0294443331658840179443,\
+7.844273825176060199738,2.6375361625105142593384}
+
+
+#define ZSOURCE2I {4.3832763982936739921570,8.6648589745163917541504,3.7921421090140938758850,\
+7.6687160786241292953491,6.0066213225945830345154,7.85673560574650764465,\
+7.3871155502274632453918,5.5442603398114442825317,9.9291495559737086296082,\
+9.757428467273712158203,3.709622272290289402008,3.0322382133454084396362,\
+9.5195201179012656211853,7.1278580836951732635498,1.192370061762630939484,\
+5.0091631803661584854126,3.2900535268709063529968,4.8089468106627464294434,\
+3.3036959776654839515686,6.3044753577560186386108,2.1171907847747206687927,\
+4.4860231317579746246338,5.9145097108557820320129,6.8067426700145006179810,\
+0.7392961112782359123230,9.4336947053670883178711,1.2863306934013962745667,\
+2.0190807711333036422729,1.9693034281954169273376,8.9286901615560054779053,\
+4.6179189579561352729797,6.2512917164713144302368,7.0597065938636660575867,\
+7.0181696489453315734863,4.0879997471347451210022,0.6362213846296072006226,\
+0.6573933875188231468201,5.3310041315853595733643,0.3315818728879094123840,\
+3.157835649326443672180,3.785823243670165538788,4.6195234358310699462891,\
+6.2873698258772492408752,2.8785153012722730636597,3.2920487364754080772400,\
+4.7192330472171306610107,3.3537696348503232002258,5.5530697200447320938110,\
+1.196080814115703105927,7.6139996573328971862793,4.7909884760156273841858,\
+2.8169692959636449813843,2.380097783170640468597,3.2942054606974124908447,\
+2.3067280324175953865051,2.1362966019660234451294,4.0549980429932475090027,\
+3.0953712016344070434570,6.762971603311598300934,9.7069163154810667037964,\
+5.4417965700849890708923,0.2047479711472988128662,8.9413649635389447212219,\
+3.4903638903051614761353,1.1053651524707674980164,2.0233777537941932678223,\
+1.3046909729018807411194,8.573952978476881980896,6.3780163740739226341248,\
+4.0711227245628833770752,6.6919379355385899543762,2.042601602151989936829,\
+8.3104313490912318229675,0.1221632957458496093750,4.8844617092981934547424,\
+9.549877075478434562683,0.5874312063679099082947,8.2584649138152599334717,\
+2.9807415651157498359680,0.7757596764713525772095,5.8460923237726092338562,\
+7.528713606297969818115,0.5172297963872551918030,5.9586250688880681991577,\
+3.8337053125724196434021,4.9002202786505222320557,5.2727950783446431159973,\
+0.6889454741030931472778,8.843077751807868480682,7.1912937611341476440430,\
+0.6942595774307847023010,1.1522095929831266403198,4.862680672667920589447,\
+7.6715826056897640228271,0.8805298106744885444641,7.0085612777620553970337,\
+1.879138792864978313446,2.0178856328129768371582,4.0628212550655007362366,\
+4.0966569539159536361694,1.769564501009881496429,3.31293122842907905579,\
+0.5184767069295048713684,4.1492417920380830764771,7.2212355909869074821472,\
+0.7746253907680511474609,5.8558783913031220436096,3.7079446297138929367065,\
+2.1161167463287711143494,1.903268527239561080933,5.607953821308910846710,\
+9.4247916433960199356079,6.8177247745916247367859,2.7342410013079643249512,\
+2.0717754075303673744202,1.9379387702792882919312,6.797837591730058193207,\
+5.88365742936730384827,9.331753817386925220490,5.509122880175709724426,\
+8.0405469564720988273621,1.074489727616310119629,7.4039250845089554786682,\
+5.6103316973894834518433,7.6611549546942114830017,7.8306589089334011077881,\
+1.4388314681127667427063,1.6471924725919961929321,3.1774142337962985038757,\
+5.0265956297516822814941,6.9204960623756051064,7.0065794046968221664429,\
+8.8706119870766997337341,6.9797694869339466094971,6.7989911558106541633606,\
+3.6159398127347230911255,2.6739976881071925163269,0.7736870646476745605469,\
+1.494100340642035007477,3.2018390577286481857300,2.0260545751079916954041,\
+4.4988587312400341033936,7.7075743721798062324524,2.4352242145687341690063,\
+2.1261148853227496147156,1.0992341861128807067871,6.9814807781949639320374,\
+4.1509064938873052597046,5.0298188393935561180115,7.51160675659775733948,\
+9.9401472182944416999817,1.82876241393387317657,3.021917375735938549042,\
+3.7854864448308944702148,7.1531985932961106300354,9.5241537224501371383667,\
+4.7039186349138617515564,1.8709417246282100677490,2.55718790460377931595,\
+4.4350660685449838638306,7.2340781940147280693054,8.7619100883603096008301,\
+0.3733208635821938514710,4.2934664245694875717163,3.1572330510243773460388,\
+3.682477343827486038208,1.4587742509320378303528,6.7683792579919099807739,\
+5.2619793592020869255066,4.003625661134719848633,0.0291080260649323463440,\
+3.0681814532727003097534,7.9026939114555716514587,9.5779503695666790008545,\
+6.6892711864784359931946,2.9296159837394952774048,8.2238993747159838676453,\
+0.1798455044627189636231,8.7107013771310448646545,3.1810243334621191024780,\
+5.7244732743129134178162,5.7386581040918827056885,3.4920182498171925544739,\
+7.06729766912758350372,3.5992007283493876457214,4.0523112565279006958008,\
+6.1408105725422501564026,6.5240467619150876998901,0.2951709320768713951111,\
+5.6688958965241909027100,7.1140170888975262641907,4.5884906593710184097290,\
+4.7205173922702670097351,0.6237313523888587951660,0.8544011274352669715881,\
+0.1345641072839498519898,3.5430019116029143333435,6.7193946428596973419189,\
+1.3606189610436558723450,2.1197437215596437454224}
+
+
+#define ZRESULT2R {1.7718546901199148102535,2.2873385372432406548171,1.6228701567171754938101,\
+2.2346263074245684698838,1.8473969837167181218263,2.0814403666906242662549,\
+2.000040135761198101250,1.930738025076279118508,2.2955316341715112926636,\
+2.2979125914561788768253,1.52676863913911398107,1.5225454413433419098567,\
+2.2756589535249842626285,2.0461560089912054216654,1.10158579014350732628,\
+1.7596676151017560663092,1.886619744318301705732,1.6609534913253483079387,\
+2.0341867590624715944614,2.1522631887405574424577,1.5490800609419352884544,\
+1.8243154431583954444562,1.9046961835587756795007,2.1880745312667504443027,\
+1.462943224821960486182,2.6082576924848916988253,1.0397086540972344526068,\
+1.5754847768676314423431,0.746979645400304148595,2.2287521705924668857790,\
+1.5403790183895167409389,2.29053332003721576982,1.9561479629741382879615,\
+2.056062919004959077540,1.5124829204355532130677,0.7957872878063905197621,\
+1.1657936572577645151227,2.247663310479210085902,-0.4549625893688244437918,\
+2.273939094117130466088,1.7851157264602297569667,1.705510493291471751931,\
+1.838553591041654167171,2.2452631537104275061267,2.1984262619387999748710,\
+1.858482175867823826820,2.1354614286115483068329,1.7449625890299069741474,\
+0.5066316450005309279803,2.2309587833094872699746,1.8633839241242127204856,\
+1.9110608576794807511590,2.2575857867741544460216,1.23571911173189863398,\
+1.581562045830424700910,2.2691047577207688057399,1.4031989962500943658341,\
+2.2741179432518765501925,2.4527182982567738989133,2.5833963585371355620168,\
+2.2776279862384747332271,-1.1249835300913728630690,2.1906906716320380112961,\
+1.8180097251363194210683,1.440608273684235829393,2.157337396250079031290,\
+1.6456014738468727198750,2.5276363856092047832647,2.0501201476301127435420,\
+1.9792596577711849548109,2.325636279713856779949,2.1018269082301319627959,\
+2.2993946557097193483798,1.407779382548410174181,2.1650335217497893580685,\
+2.3678319878208848869861,1.8594164774388513006187,2.56043452139564964298,\
+1.2152594801616827258073,1.6876273083151080989239,1.8280452566376663714465,\
+2.2383606348726785562064,1.4669353168458199032642,1.7855716392006990567154,\
+1.9344712649878033072781,2.1595582205209731263551,2.3711393709457433409682,\
+0.3451198452895575252697,2.2295598849908442318224,1.9730216569827605521681,\
+1.7597572254564382010500,1.4119056335367026200345,2.1320313551579719302254,\
+2.5151804905590435801344,2.1472364706413502588589,2.052431577045615185284,\
+2.1940570121896025845842,0.8387289948467516742525,1.8945610375322186058611,\
+1.901605848224737327357,2.2469410116186243620007,2.3333167208432867845147,\
+1.8321040495156570848678,2.3667788410376999763685,2.345870799293293007537,\
+1.7064766326923879180555,2.2351179984798275057756,1.3127927306468758494873,\
+1.5145818637157286712380,0.7618288453812751548355,1.8221250086585414340590,\
+2.3127298919002594601579,1.9513099157402993277799,2.2649290827240116108499,\
+2.0646178740610454660498,1.7857162805439725783430,2.0523808897592226152540,\
+2.357637781206334715023,2.5204455223537904906550,2.1680868421848340510394,\
+2.08969579055791898625,1.0187212773133276222381,2.351321025745570558740,\
+1.8003855797977157404688,2.3290564194645368978343,2.5020530275623595883872,\
+1.6589662323678027178175,1.1034736729371952268508,2.0179385634489594991692,\
+1.7529535621370035958222,1.9548092141654069830992,2.2757671672542376661852,\
+2.2978225629400212959297,2.329897705001075625120,1.9366802551403343723990,\
+2.0192737614105338295190,1.5519072144028889237433,1.9522381258437428996899,\
+2.228825942499146339770,1.3459088341323246496017,1.2160693133443531976923,\
+1.708519320712721833999,2.042657041378174831436,2.0363649964518035773153,\
+0.9638512795498686003270,0.9551846741593900125267,1.951137961258366582129,\
+2.107724763084950492242,2.1435395035941335883933,2.30219731892690226971,\
+2.3129821080069814520641,1.4613961122338947618005,1.2276638750511146280786,\
+1.98774702803650615834,2.2599263943254159769936,2.3454288218721179859472,\
+1.5736974684351636710744,1.1082826047896976451312,2.2826248447267389884985,\
+1.852079302129498561413,2.4440219801181322090144,2.2846216839061130876587,\
+2.0916390604994830049179,2.0880185293365247645170,1.1554676622252344486697,\
+1.4781743340729813773748,2.2621227047071905680298,1.9617338719614783038026,\
+2.0915485321054503309313,2.222172100020261886755,2.0456349034700243016971,\
+1.6557620395745074048932,2.3732960033711649749932,2.4784302018604411621538,\
+2.1043456955600268187823,2.2908052004546388680239,2.1225525715426596384816,\
+-0.3059820602804464440006,2.398801697565509982724,1.9837316998415748248163,\
+1.8021669050328577021958,2.1177911026101683411582,1.3800624471185749531088,\
+2.0182134290564768264176,1.3170274339145702224840,1.4108532825842892144408,\
+1.817110834423457665920,2.2890298175330245911141,1.8196542505912531861867,\
+2.1619335403208914669904,2.0209326327770549269758,1.7893311710629888899859,\
+1.8641960608110765829082,1.882576152038281991352,1.7816883851861540222217,\
+1.7954751269073565556056,1.2730999018963571334240,1.9486466131391497746961,\
+2.074605067637334876451,1.2189909546635331327735}
+
+
+#define ZRESULT2I {0.8408843669071919268987,1.0754371807248737091811,0.8455094310786673839075,\
+0.962808271271232585242,1.2435335418309885202603,1.371120256581034091425,\
+1.5461888319559713433904,0.9342369007616236897817,1.56013775123029430070,\
+1.3720388608498168547811,0.9371355532144381994542,0.7228179279461685036168,\
+1.360325287393417292847,1.1709945644102059958414,0.4074578726347549695319,\
+1.0393742565506918218432,0.5221182542768327827787,1.1517977305599864656926,\
+0.4467977216337457035955,0.8222975857540034683169,0.4665224019878621564139,\
+0.8091797065019556978172,1.0768746352304479074746,0.8683388375483406251831,\
+0.1720341159830799382391,0.7682977019562435838651,0.4721387487057847609506,\
+0.4309811115589534114001,1.20279143843462255070,1.2916347740244560338141,\
+1.4265839008392693365579,0.6850460436644268957807,1.5117462274209296779759,\
+1.1152532149987959275705,1.1217014706271768442747,0.2911766403909815670303,\
+0.2063546073155473614680,0.5982511040925977408023,0.5499105526382754849379,\
+0.3309697617869979402450,0.6882370204600587459964,0.9959451809388051302108,\
+1.5661574844082004620560,0.3097639368523368297304,0.3740022155825183380884,\
+0.8268049495959598482742,0.407572856709710940049,1.3246230944084764757918,\
+0.8047604843662868878695,0.9578156211088914018248,0.8379992820836518196970,\
+0.4298072736875270249968,0.2516111351341220880862,1.2777930133692467773443,\
+0.4942674920588698839197,0.2227403824735175175142,1.4902323819071812138759,\
+0.3241206854947055737704,0.6212066791677098853697,0.8227777158663325263177,\
+0.5918914368525474145599,0.6824004867135488039409,1.5685992315253338702519,\
+0.602441091725517741118,0.2648167750385964080984,0.2361574036342227733698,\
+0.2544057494452062195833,0.7540670573431564882583,0.9631160038064509043565,\
+0.5974222702744066415548,0.7127866343417466055143,0.2523427003112133637508,\
+0.9857721947818851582213,0.0298961055939373325507,0.5949566736712420533806,\
+1.1076852186579833059454,0.0916284996635063769821,0.6920814866116709040966,\
+1.0847494758718594365376,0.1439797822740493671301,1.2215400197911927548944,\
+0.9319943094964961982640,0.1195740768674621451462,1.5325419323859537090726,\
+0.5871287736405550461427,0.6008795873685909283424,0.5147800680430554276512,\
+0.5096442477271476700906,1.2574287319730830247977,1.55344381002968989769,\
+0.1197588579388608048815,0.2845949117488152935174,0.6146775806026560928785,\
+0.6690416852557365956,0.1030338183393550155476,1.1198962694059428901738,\
+0.2110181909408466172096,1.0597850788835401214527,0.6573038229366630069706,\
+0.6582686240328038396186,0.1881909924839933190288,0.3270668956957688000564,\
+0.0830914673081940696742,0.3996821407672082604456,0.763608851537480148863,\
+0.1410651270101331844487,0.677001919140020169685,1.5027782434779339837405,\
+0.4840122714003086690227,1.0939971143713191903402,1.1354027775868176242113,\
+1.2025671422981056846169,1.3200023979900399329068,0.2878762084297626921980,\
+0.2659639364881328793544,0.3309563133803885004447,1.0613976119428301103653,\
+0.5905886949329369750572,0.84881047253311037171,0.6818405058224251691357,\
+1.4689172047242584628890,0.3984077871527766379067,0.7826684691736193189016,\
+1.1863976071520063726439,0.8421875864316380466690,0.6964016273061860440308,\
+0.2774051332309265816001,0.5780614975169666713839,0.4360596809152573194446,\
+1.0570616474517706695480,1.3698760574306645398934,0.8033735187122362786383,\
+1.100195299896877587642,0.7466330742895204153342,1.3719281224888897341430,\
+0.5006805450256617273652,0.6022149721715611692119,0.1100515320096066840261,\
+0.1615487638997855912582,0.9853189831543425203364,0.6441365190650450989196,\
+0.9525486295501676137221,1.540681786544560338825,0.3234105928346787672822,\
+0.9457654725170446807780,0.4366658824494836776964,1.4454467286135332937391,\
+0.5286797419321711544171,0.6306769685466229180548,0.8502600566998695930110,\
+1.3901817278534140953639,0.4379816003966337523146,1.0872460520812594619855,\
+0.5452429334871597976786,0.8427783441184910628863,1.1492861648773524674283,\
+1.346792368827264718689,0.665745289338786183642,0.2639277343938546960267,\
+0.7696845111061191291313,0.6789773815510785626159,1.1019111077295657974418,\
+0.0461157104075398602272,0.5610787453255564605215,1.4634600366382779501606,\
+0.9969191986962234741654,0.1524913254966685227654,1.2588290814744897971877,\
+0.7073635046287626293449,0.4488022872724745648831,0.0037636205385015429094,\
+0.6259389684526723840463,0.8276134607557569244918,0.9328971084913546540918,\
+0.9537519653655091023126,0.3009556732582234217510,1.3951370123387065724785,\
+0.2467179687642131191705,0.9127106501576134345299,0.4528896475979662383793,\
+1.2351598243895067774645,0.7619639996129009551495,1.0726338584530288322583,\
+1.220269965181696392165,1.3029226301867964377124,1.4189980227900089726489,\
+1.5051832236136615250643,0.7225617055791342391302,0.0478600995604049964105,\
+0.710883123025403795836,1.2310328539390928970221,0.8735414139313334436210,\
+0.8209275679220129351421,0.0950735258592600440686,0.1443422571457730618771,\
+0.0223460331642115414552,1.443489200421151252840,1.2774801572114198311425,\
+0.1717450012966928174496,0.6769828145758884918593}
+
+
+
+
+ /* in is between 0 and 1
+ in2 between 0 and 10 */
+
+
void dlog1psTest(void) {
- /* FIXME : Implement some test here ... */
- printf(">> Double scalar\n");
- printf("dlog1ps(0) = %e\n", dlog1ps((double) 0));
- printf("dlog1ps(-1) = %e\n", dlog1ps(-1.0));
- printf("dlog1ps(-2) = %e\n", dlog1ps(-2.0));
- printf("dlog1ps(-0.9) = %e\n", dlog1ps(-0.9));
+ double in[]=SOURCE;
+ double res[]=RESULT;
+ double out;
+ double in2[]=SOURCE2;
+ double res2[]=RESULT2;
+ int i;
+
+ for (i=0;i<200;i++) {
+ in[i]=in[i]-1;
+ in2[i]=in2[i]-1;
+ }
+
+ for (i=0;i<200;i++){
+ out=dlog1ps(in[i]);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15);
+ }
+
+
+ for (i=0;i<200;i++){
+ out=dlog1ps(in2[i]);
+ assert(( (fabs(out-res2[i]))/(fabs(out)) )<1e-15);
+ }
+
+}
+
+
+void zlog1psTest(void) {
+ double inR[]=ZSOURCER;
+ double inI[]=ZSOURCEI;
+ double resR[]=ZRESULTR;
+ double resI[]=ZRESULTI;
+ double in2R[]=ZSOURCE2R;
+ double in2I[]=ZSOURCE2I;
+ double res2R[]=ZRESULT2R;
+ double res2I[]=ZRESULT2I;
+ doubleComplex in,in2,out;
+ int i;
+
+ for (i=0;i<200;i++){
+ in=DoubleComplex(inR[i]-1,inI[i]);
+ out=zlog1ps(in);
+ assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-14);
+ assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15);
+ }
+
+ for (i=0;i<200;i++){
+ in2=DoubleComplex(in2R[i]-1,in2I[i]);
+ out=zlog1ps(in2);
+ assert(( (fabs(zreals(out)-res2R[i]))/(fabs(zreals(out))) )<1e-15);
+ assert(( (fabs(zimags(out)-res2I[i]))/(fabs(zimags(out))) )<1e-16);
+ }
+
+}
+
+void dlog1paTest(void) {
+ double in[]=SOURCE;
+ double res[]=RESULT;
+ double out[200];
+ double in2[]=SOURCE2;
+ double res2[]=RESULT2;
+ int i;
+
+ for (i=0;i<200;i++) {
+ in[i]=in[i]-1;
+ in2[i]=in2[i]-1;
+ }
+
+ dlog1pa(in,200,out);
+ for (i=0;i<200;i++){
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15);
+ }
+
+ dlog1pa(in2,200,out);
+ for (i=0;i<200;i++){
+ assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<1e-15);
+ }
}
+void zlog1paTest(void) {
+ double inR[]=ZSOURCER;
+ double inI[]=ZSOURCEI;
+ double resR[]=ZRESULTR;
+ double resI[]=ZRESULTI;
+ double in2R[]=ZSOURCE2R;
+ double in2I[]=ZSOURCE2I;
+ double res2R[]=ZRESULT2R;
+ double res2I[]=ZRESULT2I;
+ doubleComplex *in,*in2,out[200];
+ int i;
+
+
+ for (i=0;i<200;i++) {
+ inR[i]=inR[i]-1;
+ in2R[i]=in2R[i]-1;
+ }
+
+ in=DoubleComplexMatrix(inR,inI,200);
+ zlog1pa(in,200,out);
+
+ for (i=0;i<200;i++){
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-14);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-15);
+ }
+
+ in2=DoubleComplexMatrix(in2R,in2I,200);
+ zlog1pa(in2,200,out);
+
+ for (i=0;i<200;i++){
+ assert(( (fabs(zreals(out[i])-res2R[i]))/(fabs(zreals(out[i]))) )<1e-15);
+ assert(( (fabs(zimags(out[i])-res2I[i]))/(fabs(zimags(out[i]))) )<1e-16);
+ }
+
+}
+
+
+
+
+
int testLog1p(void) {
printf("\n>>>> Double Logarithm x + 1 Tests\n");
dlog1psTest();
- /* FIXME : Implement some test here ... */
- /*
- zlog1psTest();
- dlog1paTest();
- zlog1paTest();
- */
+ zlog1psTest();
+ dlog1paTest();
+ zlog1paTest();
+
return 0;
}
diff --git a/src/elementaryFunctions/log1p/testFloatLog1p.c b/src/elementaryFunctions/log1p/testFloatLog1p.c
index 6f258db8..316327e6 100644
--- a/src/elementaryFunctions/log1p/testFloatLog1p.c
+++ b/src/elementaryFunctions/log1p/testFloatLog1p.c
@@ -1,6 +1,6 @@
/*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET
+ * Copyright (C) 2006-2008 - INRIA - Arnaud TORSET
*
* This file must be used under the terms of the CeCILL.
* This source file is licensed as described in the file COPYING, which
@@ -11,22 +11,952 @@
*/
#include "testLog1p.h"
+#include "math.h"
+
+#define SOURCE {0.3628176329657435417175f,0.924179898109287023544f,0.5243524145334959030151f,\
+0.7886543427594006061554f,0.6525151440873742103577f,0.2477638195268809795380f,\
+0.2364655844867229461670f,0.7240293831564486026764f,0.8278210600838065147400f,\
+0.4287728047929704189301f,0.4858888480812311172485f,0.5923984018154442310333f,\
+0.0949383648112416267395f,0.1356843891553580760956f,0.9917455688118934631348f,\
+0.7212927364744246006012f,0.0115638775750994682312f,0.0211908905766904354095f,\
+0.1524727698415517807007f,0.9165380974300205707550f,0.4467271203175187110901f,\
+0.5868234331719577312469f,0.1882771886885166168213f,0.4196520284749567508698f,\
+0.2730510598048567771912f,0.7565603456459939479828f,0.9378882069140672683716f,\
+0.0586007428355515003204f,0.5101847248151898384094f,0.5031699347309768199921f,\
+0.7783576548099517822266f,0.6856653341092169284821f,0.1381576983258128166199f,\
+0.371037633623927831650f,0.6366564910858869552612f,0.4961673622019588947296f,\
+0.2994064847007393836975f,0.2392275254242122173309f,0.5618183575570583343506f,\
+0.3218038142658770084381f,0.1082227518782019615173f,0.1685282415710389614105f,\
+0.8263800088316202163696f,0.4923414406366646289825f,0.7863734485581517219543f,\
+0.6762332352809607982635f,0.0258686169981956481934f,0.3594204657711088657379f,\
+0.3436427963897585868835f,0.2824054299853742122650f,0.1450859513133764266968f,\
+0.0762176741845905780792f,0.5220461571589112281799f,0.6713762427680194377899f,\
+0.0599394328892230987549f,0.7267188713885843753815f,0.2224657749757170677185f,\
+0.3122289828024804592133f,0.4435700643807649612427f,0.3983507198281586170197f,\
+0.1324583934620022773743f,0.8820166247896850109100f,0.5455272346735000610352f,\
+0.2917219498194754123688f,0.7739847479388117790222f,0.3354639573954045772552f,\
+0.8127403985708951950073f,0.4612239454872906208038f,0.6898109326139092445374f,\
+0.9649041066877543926239f,0.8210376314818859100342f,0.2802407057024538516998f,\
+0.9873316427692770957947f,0.294199434574693441391f,0.4859610591083765029907f,\
+0.2247181800194084644318f,0.9585652919486165046692f,0.1503968122415244579315f,\
+0.0216291621327400207520f,0.0688429796136915683746f,0.9950710041448473930359f,\
+0.7568672685883939266205f,0.6163959559053182601929f,0.0865804632194340229034f,\
+0.5165374809876084327698f,0.1916800136677920818329f,0.2940570451319217681885f,\
+0.3528221980668604373932f,0.1317937439307570457458f,0.0549608371220529079437f,\
+0.929352553561329841614f,0.737892795819789171219f,0.7509917514398694038391f,\
+0.6889848816208541393280f,0.8865169286727905273438f,0.6891661235131323337555f,\
+0.8677108911797404289246f,0.7947537912987172603607f,0.2496256213635206222534f,\
+0.3935408894903957843781f,0.7297343472018837928772f,0.7888072351925075054169f,\
+0.113488640636205673218f,0.4145256043411791324615f,0.6172473421320319175720f,\
+0.7440188056789338588715f,0.9038409832864999771118f,0.3976829168386757373810f,\
+0.9472072543576359748840f,0.2581262919120490550995f,0.1955799385905265808105f,\
+0.9381833248771727085114f,0.4226356102153658866882f,0.0937463282607495784760f,\
+0.9977992679923772811890f,0.2042182614095509052277f,0.9455819511786103248596f,\
+0.9336234177462756633759f,0.9743702597916126251221f,0.4100225553847849369049f,\
+0.5125095760449767112732f,0.0948633304797112941742f,0.5688196588307619094849f,\
+0.7322562676854431629181f,0.8108531581237912178040f,0.5459008770994842052460f,\
+0.5022544711828231811523f,0.7634959020651876926422f,0.7354982374235987663269f,\
+0.0699520572088658809662f,0.6130836438387632369995f,0.0965849910862743854523f,\
+0.5439325878396630287170f,0.9187005828134715557098f,0.5072866193950176239014f,\
+0.1335940570570528507233f,0.8688194593414664268494f,0.7999687767587602138519f,\
+0.9879787657409906387329f,0.7131399479694664478302f,0.3067426951602101325989f,\
+0.5431228461675345897675f,0.7330236807465553283691f,0.6498145484365522861481f,\
+0.8018737239763140678406f,0.2859625308774411678314f,0.1894423719495534896851f,\
+0.7794728656299412250519f,0.5433104271069169044495f,0.5268451268784701824188f,\
+0.1533693112432956695557f,0.6041304902173578739166f,0.5948378806933760643005f,\
+0.8857938847504556179047f,0.0043053645640611648560f,0.1302204323001205921173f,\
+0.9758609728887677192688f,0.9183407831005752086639f,0.0624175965785980224609f,\
+0.9939593323506414890289f,0.4122588960453867912292f,0.8258536770008504390717f,\
+0.0376359503716230392456f,0.4675730471499264240265f,0.4759115139022469520569f,\
+0.4060978214256465435028f,0.0392968021333217620850f,0.4401316107250750064850f,\
+0.3316476037725806236267f,0.0877817696891725063324f,0.1150833908468484878540f,\
+0.9667435702867805957794f,0.8103649737313389778137f,0.3928376468829810619354f,\
+0.7880131229758262634277f,0.4798596971668303012848f,0.0270724548026919364929f,\
+0.6701857983134686946869f,0.5602217521518468856812f,0.2564360727556049823761f,\
+0.2626037681475281715393f,0.4447338129393756389618f,0.8522944338619709014893f,\
+0.2347065494395792484283f,0.3277532672509551048279f,0.2253599218092858791351f,\
+0.3468936551362276077271f,0.7743145865388214588165f,0.1285835551097989082336f,\
+0.1156307714991271495819f,0.2054340392351150512695f,0.4535544612444937229156f,\
+0.6516549764201045036316f,0.0710035725496709346771f,0.1265540253371000289917f,\
+0.4974718545563519001007f,0.0879269847646355628967f,0.1462626229040324687958f,\
+0.715134423226118087769f,0.9305738122202455997467f}
+
+#define RESULT {-1.0138549594808059506335f,-0.0788485313675790222554f,-0.6455912738997077182646f,\
+-0.2374271494900490608870f,-0.4269209307253117313685f,-1.3952793271990111545477f,\
+-1.4419526017799386696794f,-0.3229233029497151630238f,-0.1889582589621221220266f,\
+-0.8468280928949678543205f,-0.7217753888910144466351f,-0.5235758944053595653756f,\
+-2.354527389398466841186f,-1.9974237581445692946147f,-0.0082886876471943305572f,\
+-0.3267102095711482134810f,-4.459869041610169837497f,-3.8541838794260296907623f,\
+-1.8807692572941765440930f,-0.0871516441756800402940f,-0.8058073398690168698266f,\
+-0.5330312996797691438289f,-1.6698399941066854879068f,-0.8683294147345963498452f,\
+-1.2980964690333058886296f,-0.2789729794097077220094f,-0.0641245194730828693697f,\
+-2.8370079061049158219987f,-0.6729824133243695882811f,-0.6868273235307851276588f,\
+-0.2505691498856313370602f,-0.3773656214470872405364f,-1.9793595047655996310709f,\
+-0.9914517831797942104544f,-0.4515250293249062352174f,-0.7008419853775434971155f,\
+-1.205953148244055972427f,-1.4303401906823356437570f,-0.5765766885249945516989f,\
+-1.1338131915858427056776f,-2.2235636585360341044293f,-1.7806519374711546888079f,\
+-0.1907005521377241608061f,-0.7085828181522180191365f,-0.240323473997209546837f,\
+-0.3912172398408133022762f,-3.6547247438886865111840f,-1.0232623619826317629133f,\
+-1.0681525436893481995071f,-1.264411545554370741584f,-1.93042894450046809141f,\
+-2.5741618985048786427683f,-0.6499992713325659643431f,-0.3984255796794416437656f,\
+-2.8144206784459675496635f,-0.3192155730871417684824f,-1.502982009541258934249f,\
+-1.1640184411209602011184f,-0.8128995091446955534309f,-0.9204224561330225373723f,\
+-2.0214866944753584476757f,-0.1255443741850884864508f,-0.6060025488810325544620f,\
+-1.231954157015291428934f,-0.2562031110919770759971f,-1.092240757863258915350f,\
+-0.2073435333764902521736f,-0.7738715719712579987899f,-0.3713377296431035756719f,\
+-0.0357265538888332026546f,-0.1971863344268207918208f,-1.2721063818886333418590f,\
+-0.0127492850765575892191f,-1.223497392724554932997f,-0.7216267835832522736794f,\
+-1.4929081951001816896962f,-0.0423175999341945593968f,-1.8944780628936490618486f,\
+-3.8337127761178795282149f,-2.6759270254015836698613f,-0.0049411834200203501311f,\
+-0.2785673796390666367984f,-0.483865736386189515539f,-2.446681086792801718133f,\
+-0.6606074257995434573232f,-1.651927892749795789840f,-1.2239814994040887352611f,\
+-1.0417910371382139711471f,-2.026517124423018234580f,-2.9011343997056400212387f,\
+-0.0732671142462539837226f,-0.3039567280501898061118f,-0.2863606107139139989037f,\
+-0.3725359507043504159185f,-0.1204550575726043570857f,-0.3722729288835950889336f,\
+-0.1418966944811957953121f,-0.2297229087732643171282f,-1.3877929980613914473508f,\
+-0.9325703042223095762253f,-0.3150747190128889152483f,-0.2372333033314831252092f,\
+-2.1760525295696577785520f,-0.8806205346832632896437f,-0.4824854567490562962107f,\
+-0.2956889680183093505050f,-0.1011018375069230867958f,-0.9221002825850308504130f,\
+-0.0542373561426655603768f,-1.3543063102932182406590f,-1.6317860900845253535607f,\
+-0.0638099067725128449302f,-0.8612449127611128130155f,-2.3671627801172654415041f,\
+-0.0022031571770593774348f,-1.5885659482121525787335f,-0.0559547196755256631695f,\
+-0.0686821150485829451382f,-0.0259639040526286474231f,-0.8915431076633286711086f,\
+-0.6684358831783273613425f,-2.3553180497276513527538f,-0.5641918391516044239964f,\
+-0.3116247338224413798713f,-0.2096683039932461523058f,-0.6053178634921361211951f,\
+-0.6886483730214458809371f,-0.2698475216395072595610f,-0.3072071353764207479742f,\
+-2.659945168598087494871f,-0.4892539023727084379622f,-2.3373319216128076725170f,\
+-0.6089299592172232600262f,-0.0847950173155939540548f,-0.6786791108759814283857f,\
+-2.0129495019748864237386f,-0.1406199321004115432299f,-0.2231825811274127380202f,\
+-0.0120940736302183569906f,-0.3380775973662459854552f,-1.181746009333312530387f,\
+-0.6104197485997391314783f,-0.3105772710053884000381f,-0.4310682668987352861301f,\
+-0.2208041349135003439397f,-1.25189448766300226445f,-1.6636704065163092636226f,\
+-0.2491374010581904052675f,-0.6100744334370675758805f,-0.6408486505219985751580f,\
+-1.8749064671471911136535f,-0.5039650609751163967687f,-0.5194663799859419173188f,\
+-0.1212709911627764675091f,-5.4478934608177302933996f,-2.038526631411456513376f,\
+-0.0244351485261014196582f,-0.0851867338269072515988f,-2.7739080469083896574034f,\
+-0.0060589862906551463645f,-0.8861037385262900967220f,-0.1913376676415258770270f,\
+-3.2797955584796012473703f,-0.7601996918711692030612f,-0.7425233371947113081291f,\
+-0.9011612089296217043000f,-3.2366121340710831688625f,-0.8206814815116268979622f,\
+-1.1036823082060371881141f,-2.4329014344197728014763f,-2.1620982756055884266289f,\
+-0.0338219993709664781822f,-0.2102705479450195091840f,-0.9343588647242980771424f,\
+-0.2382405357403041268327f,-0.7342615153765646995865f,-3.609238495954611991579f,\
+-0.4002002941250653034189f,-0.5794225876492602456125f,-1.36087587445700952671f,\
+-1.337108967835097139698f,-0.8102793489627861944768f,-0.1598232322015146200656f,\
+-1.449419270934711789778f,-1.1154941876589379301521f,-1.4900565023732303959747f,\
+-1.05873701535465292167f,-0.2557770454111949476328f,-2.0511763516400991491651f,\
+-2.1573531687271665369110f,-1.5826302735280548539265f,-0.7906399256902217898002f,\
+-0.4282400343889684046772f,-2.6450250856057104797969f,-2.0670859842226763092299f,\
+-0.6982162977399214431884f,-2.4312485274946018520836f,-1.9223514861397812403254f,\
+-0.3352847494467096622905f,-0.0719538807151878373469f}
+
+
+#define SOURCE2 {2.6395560009405016899109f,4.1481037065386772155762f,2.8064980218186974525452f,\
+1.2800584640353918075562f,7.7831285959109663963318f,2.1190304495394229888916f,\
+1.121354666538536548615f,6.8568959552794694900513f,1.5312166837975382804871f,\
+6.970850601792335510254f,8.4155184263363480567932f,4.0620247554033994674683f,\
+4.09482547547668218613f,8.7841258011758327484131f,1.1383596854284405708313f,\
+1.9983377400785684585571f,5.6186607433483004570007f,5.8961773291230201721f,\
+6.8539796629920601844788f,8.9062247332185506820679f,5.0422128057107329368591f,\
+3.493615407496690750122f,3.8737787725403904914856f,9.2228986788541078567505f,\
+9.4881842611357569694519f,3.4353372454643249511719f,3.7601187312975525856018f,\
+7.3409405630081892013550f,2.6157614728435873985291f,4.99349383637309074402f,\
+2.6385784195736050605774f,5.25356308557093143463f,5.3762298030778765678406f,\
+1.1999255046248435974121f,2.2563034901395440101624f,6.2740930821746587753296f,\
+7.6084325974807143211365f,0.4855662025511264801025f,6.7239497276023030281067f,\
+2.017172696068882942200f,3.911573919467628002167f,8.3003165572881698608398f,\
+5.8787201577797532081604f,4.8291792999953031539917f,2.2328650346025824546814f,\
+8.4008856676518917083740f,1.2059959070757031440735f,2.8553641680628061294556f,\
+8.6075146449729800224304f,8.494101651012897491455f,5.2570608118548989295959f,\
+9.9312098976224660873413f,6.4885628735646605491638f,9.923190940171480178833f,\
+0.5004197778180241584778f,7.4855065811425447463989f,4.1040589986369013786316f,\
+6.0845263302326202392578f,8.5442108893766999244690f,0.6426467280834913253784f,\
+8.279082938097417354584f,9.2623437754809856414795f,5.6672112690284848213196f,\
+5.711638936772942543030f,8.1601104838773608207703f,0.5689279362559318542481f,\
+5.5959366867318749427795f,1.2493403162807226181030f,7.279222286306321620941f,\
+2.6777664758265018463135f,5.4653349192813038825989f,9.885407658293843269348f,\
+7.3956565884873270988464f,0.0371731072664260864258f,5.9005728596821427345276f,\
+3.096467358991503715515f,2.5522057106718420982361f,6.2518793903291225433350f,\
+1.1574173765257000923157f,6.1170040909200906753540f,6.7839562846347689628601f,\
+3.3200952783226966857910f,0.2587099233642220497131f,5.1744682248681783676147f,\
+3.9168732380494475364685f,2.4135384149849414825439f,5.064434898085892200470f,\
+4.2361020017415285110474f,2.8937275288626551628113f,0.8879321813583374023438f,\
+6.2128817522898316383362f,3.4549844544380903244019f,7.0648676296696066856384f,\
+5.2114724926650524139404f,2.8704008506610989570618f,6.502795079723000526428f,\
+0.8813347620889544487000f,4.498763345181941986084f,7.2272530803456902503967f,\
+8.9767962601035833358765f,2.4278218811377882957458f,4.3377211131155490875244f,\
+9.6770532103255391120911f,5.0685344357043504714966f,5.2329764096066355705261f,\
+5.5969475954771041870117f,5.6173070007935166358948f,4.68176002614200115204f,\
+7.794546722434461116791f,7.9010718129575252532959f,9.8085420625284314155579f,\
+8.1870661024004220962524f,4.2568723810836672782898f,2.4615605548024177551270f,\
+9.2295324662700295448303f,1.000745808705687522888f,4.6782181179150938987732f,\
+3.9504976756870746612549f,0.3661171020939946174622f,5.175368534401059150696f,\
+8.3254515705630183219910f,6.1048321425914764404297f,1.8711117887869477272034f,\
+0.1895748358219861984253f,8.4335647663101553916931f,0.7485948316752910614014f,\
+8.5328151332214474678040f,0.1245901081711053848267f,1.8675393564626574516296f,\
+4.920584075152873992920f,7.4896081397309899330f,9.414957007393240928650f,\
+2.1240556007251143455505f,5.7950199581682682037354f,2.628147569485008716583f,\
+4.3609866220504045486450f,9.1105451015755534172058f,8.0826673656702041625977f,\
+8.1026530498638749122620f,2.5904283951967954635620f,4.1390872886404395103455f,\
+3.599927779287099838257f,6.91278793383389711380f,7.6568587962538003921509f,\
+3.572649653069674968720f,7.6933998242020606994629f,5.4776339093223214149475f,\
+0.9622887428849935531616f,9.5611717319115996360779f,2.2074085660278797149658f,\
+0.1432593585923314094544f,8.1914897728711366653442f,1.3049928424879908561707f,\
+9.6820035576820373535156f,6.5613814676180481910706f,2.4455389659851789474487f,\
+5.2831235667690634727478f,8.4689256362617015838623f,7.8766220854595303535461f,\
+1.262082615867257118225f,7.8838609857484698295593f,3.4530424699187278747559f,\
+2.6598573336377739906311f,9.7098186518996953964233f,8.8752476638182997703552f,\
+2.066752854734659194946f,8.5251609655097126960754f,6.7446978110820055007935f,\
+9.152874383144080638886f,0.2848597615957260131836f,2.367841475643217563629f,\
+7.0153435599058866500854f,1.2025266280397772789001f,8.2874121330678462982178f,\
+3.1610729591920971870422f,5.30519076623022556305f,5.715174819342792034149f,\
+0.4780154302716255187988f,8.2486197212710976600647f,5.7988431211560964584351f,\
+2.7918082987889647483826f,9.5451109297573566436768f,9.0711546363309025764465f,\
+3.3601493109017610549927f,1.1756130633875727653503f,9.2537237703800201416016f,\
+7.2636712575331330299377f,9.0094979386776685714722f,3.9489932497963309288025f,\
+5.6551797501742839813232f,7.0614896761253476142883f,6.7878311965614557266235f,\
+4.1329363686963915824890f,1.402290873229503631592f,4.9523561308160424232483f,\
+4.1948772873729467391968f,8.6262222891673445701599f,2.8575096465647220611572f,\
+2.5121363671496510505676f,3.389101596549153327942f}
+
+
+#define RESULT2 {0.9706107215522056241852f,1.4226512916310911638362f,1.0319374505428213772973f,\
+0.246905751916103338717f,2.0519583905069445073366f,0.7509586489514044060911f,\
+0.1145374781176292794394f,1.9252548546825831721208f,0.4260626375542267973984f,\
+1.9417372548863311987333f,2.1300774331528766758481f,1.4016815575274605976119f,\
+1.4097240974656071177407f,2.1729462062921069964716f,0.1295883538042104654586f,\
+0.6923157050192292327751f,1.7260933336118711167728f,1.7743042306089458204355f,\
+1.9248294562744026059420f,2.1867504404929474226549f,1.6178450344817050243762f,\
+1.2509371333857781660726f,1.3542304576599399901227f,2.2216893784894660157647f,\
+2.2500472625069045662372f,1.2341151000295289552611f,1.3244505343759986892849f,\
+1.993466976516135025221f,0.9615552493321314342367f,1.6081358323702796830901f,\
+0.9702402946929443716684f,1.658906529368289861637f,1.6819873484154954645931f,\
+0.1822594753876470019538f,0.8137278503591067746470f,1.8364289458354570161447f,\
+2.0292571844941731384893f,-0.7224396410182910566178f,1.9056757389571916672f,\
+0.7016968755690818904114f,1.3639398299492546673406f,2.1162936535075722588317f,\
+1.7713390779775688432807f,1.5746765360416834500512f,0.8032855297427843321856f,\
+2.1283371369164427733267f,0.1873057044979935803486f,1.0491993894614395355092f,\
+2.1526356176491328042744f,2.1393719992097341986437f,1.659572089557145968541f,\
+2.2956823132957397959331f,1.870041069148148160650f,2.294874536928924957380f,\
+-0.6923079771535994852982f,2.012968695092798743218f,1.4119764836513208905444f,\
+1.8057488812128539290569f,2.1452539646586252786165f,-0.4421601177273855043381f,\
+2.1137322059948120411832f,2.225957124135133913256f,1.7346971570693363595694f,\
+1.7425060116900870088585f,2.0992577085752079923964f,-0.5640015026903990591478f,\
+1.7220407427170496550417f,0.2226156650313379503636f,1.9850240276979147502345f,\
+0.9849830425057782834486f,1.6984254041571493765161f,2.2910596958626552321903f,\
+2.0008928803872945145770f,-3.2921697020833700086939f,1.7750494410596528993551f,\
+1.1302619000814182470549f,0.9369579698639551867956f,1.83288212099904845864f,\
+0.146191123459191885114f,1.8110724490390321950173f,1.9145604545765595450035f,\
+1.1999934808065779723307f,-1.3520478319474638073672f,1.6437365753918393718180f,\
+1.3652936921609135634270f,0.8810938927039604351421f,1.62224256150308399071f,\
+1.4436435071804869512135f,1.0625454734184220928483f,-0.1188599112506976002157f,\
+1.8266248385955683453119f,1.2398179577704631082469f,1.9551342798915567477991f,\
+1.6508624439841452780087f,1.0544516892385875639349f,1.8722320967378904832401f,\
+-0.1263177455503078638888f,1.5038025468266962292319f,1.9778590304154859413899f,\
+2.194643054750437638489f,0.8869945101840888135314f,1.4673491210608482493427f,\
+2.2697574345222681913015f,1.6230517098794554620156f,1.6549802193742981781810f,\
+1.7222213768989977911161f,1.7258523677080592761968f,1.5436741131934335058418f,\
+2.0534243510350704831069f,2.0669984227965598755361f,2.2832536450533371663596f,\
+2.1025556044304130054456f,1.4485347077928583114925f,0.9007955206863934582984f,\
+2.2224083935232625819367f,0.0007455307285780288533f,1.5429172933929051758639f,\
+1.3738415648213015973766f,-1.0048020456777133624371f,1.6439105509928255699492f,\
+2.1193172771056971726011f,1.8090806121136604467381f,0.6265327936561931876369f,\
+-1.6629714204274992361832f,2.1322195493342954719651f,-0.2895573875226954974060f,\
+2.1439193343978621975054f,-2.0827260644551484070064f,0.62462171221383455677f,\
+1.5934272379201788183423f,2.0135164783675794097917f,2.24229959570391956802f,\
+0.7533272804029441660489f,1.7569989208182723583462f,0.9662792518179295075953f,\
+1.4726983212224467045814f,2.209432545000515446532f,2.089721937569185339356f,\
+2.09219154507008475719f,0.951823265584673561257f,1.4204753018509210793496f,\
+1.2809137839516946399954f,1.9333730200617991190626f,2.0356018208291457582959f,\
+1.273307520236932832702f,2.0403627955950214278857f,1.700673239349282273025f,\
+-0.0384407248228896478159f,2.257710285652239079468f,0.7918192329452391486910f,\
+-1.943098595033752262751f,2.1030957827723826270017f,0.2661975560760838632746f,\
+2.2702688589706512267696f,1.8812011703610473922765f,0.8942655346201515698112f,\
+1.6645175074163265360738f,2.136403657202092354339f,2.0638991426068855616904f,\
+0.2327632262134610163784f,2.0648177566830252516183f,1.2392557177584351268962f,\
+0.9782724873844932389488f,2.273137605702431063293f,2.183266240754464071472f,\
+0.7259787064172199544387f,2.1430219045760425800040f,1.9087566867408878312773f,\
+2.2140679701900434217521f,-1.255758284393388990452f,0.8619787703734573813819f,\
+1.9480996873952269865526f,0.1844248666526293323198f,2.114737753111020968078f,\
+1.1509115140149177580753f,1.668685731123507043350f,1.7431248863402162285752f,\
+-0.7381122661087159420035f,2.1100458798366994450646f,1.7576584357875708608532f,\
+1.0266895216506544131f,2.2560290788762715763482f,2.205099558817555038814f,\
+1.2119854107561658373982f,0.1617897676032789000544f,2.2250260402856771868585f,\
+1.9828853838780200469216f,2.1982793473903963210603f,1.373460672957984574083f,\
+1.73257189512379894403f,1.9546560315313432631967f,1.9151314791431239825670f,\
+1.4189881394992434060498f,0.3381072372999247011016f,1.5998634493586285643119f,\
+1.4338640873752146465137f,2.15480666756291494579f,1.0499504925567986202140f,\
+0.9211335334181942613441f,1.2205648705022635880368f}
+
+
+
+
+
+
+
+
+#define CSOURCER {0.3140813848003745079041f,0.5769402063451707363129f,0.1306138429790735244751f,\
+0.0478980806656181812286f,0.4500174494460225105286f,0.0384718659333884716034f,\
+0.483350999653339385986f,0.2981918179430067539215f,0.7112689120694994926453f,\
+0.9268360524438321590424f,0.9477838929742574691772f,0.1729496796615421772003f,\
+0.2750928336754441261292f,0.0044281478039920330048f,0.0611358620226383209229f,\
+0.1950612799264490604401f,0.3789803450927138328552f,0.2549188635312020778656f,\
+0.1764185149222612380981f,0.6008180272765457630157f,0.3703392641618847846985f,\
+0.2908470141701400279999f,0.5384815335273742675781f,0.8090293356217443943024f,\
+0.9260985879227519035339f,0.1576966657303273677826f,0.9518593531101942062378f,\
+0.2709982101805508136749f,0.1609848598018288612366f,0.8782086591236293315887f,\
+0.5091647170484066009521f,0.7951062084175646305084f,0.8432204117998480796814f,\
+0.5806765086017549037933f,0.3487791065126657485962f,0.9397577759809792041779f,\
+0.4363934816792607307434f,0.5549766751937568187714f,0.9105900451540946960449f,\
+0.5684339576400816440582f,0.1862502051517367362976f,0.0800832151435315608978f,\
+0.6585252787917852401733f,0.1606054832227528095245f,0.9711584830656647682190f,\
+0.3668168033473193645477f,0.7386338301002979278564f,0.9722552285529673099518f,\
+0.1349937235936522483826f,0.4595781317912042140961f,0.5414639282971620559692f,\
+0.6397600513882935047150f,0.0211964594200253486633f,0.4408156829886138439178f,\
+0.6374878138303756713867f,0.3208820023573935031891f,0.4267518399283289909363f,\
+0.7819778784178197383881f,0.0543234180659055709839f,0.9666189108975231647491f,\
+0.6948409983888268470764f,0.1846996019594371318817f,0.3645029179751873016357f,\
+0.8176643461920320987701f,0.664914294146001338959f,0.7559730983339250087738f,\
+0.5525381658226251602173f,0.7192269531078636646271f,0.1989364298060536384583f,\
+0.8610532465390861034393f,0.1300329938530921936035f,0.347959163133054971695f,\
+0.5025534434244036674500f,0.4978472082875669002533f,0.4675923939794301986694f,\
+0.9447452803142368793488f,0.9599315756931900978088f,0.5365384514443576335907f,\
+0.8122785724699497222900f,0.6470989421941339969635f,0.7010180121287703514099f,\
+0.6681951484642922878265f,0.9593638796359300613403f,0.0149199557490646839142f,\
+0.6199735002592206001282f,0.4061129498295485973358f,0.0471306145191192626953f,\
+0.8433605083264410495758f,0.0635268418118357658386f,0.9836421324871480464935f,\
+0.4434677045792341232300f,0.8565507535822689533234f,0.9080012599006295204163f,\
+0.4922491232864558696747f,0.1930142603814601898193f,0.3759337724186480045319f,\
+0.2437626412138342857361f,0.1035623974166810512543f,0.9936000052839517593384f,\
+0.5569599089212715625763f,0.3858396532014012336731f,0.7191527518443763256073f,\
+0.1707325801253318786621f,0.2878904812969267368317f,0.4294657362625002861023f,\
+0.8917979537509381771088f,0.6188817229121923446655f,0.3444608678109943866730f,\
+0.0692929709330201148987f,0.3619817639701068401337f,0.1783103235065937042236f,\
+0.8941529677249491214752f,0.9010278200730681419373f,0.0533773354254662990570f,\
+0.4162023533135652542114f,0.9438270372338593006134f,0.9242387460544705390930f,\
+0.8710649865679442882538f,0.2808376699686050415039f,0.8244629004038870334625f,\
+0.4650857029482722282410f,0.1462343498133122920990f,0.5975636970251798629761f,\
+0.3067605351097881793976f,0.2377215037122368812561f,0.0711208949796855449677f,\
+0.8753139786422252655029f,0.4413500339724123477936f,0.7631150623783469200134f,\
+0.9679268277250230312347f,0.3924236092716455459595f,0.717360940296202898026f,\
+0.8640465112403035163879f,0.7354763629846274852753f,0.0304915383458137512207f,\
+0.6331009590066969394684f,0.4550241930410265922546f,0.3173553734086453914642f,\
+0.8250397499650716781616f,0.2725940425880253314972f,0.3458735281601548194885f,\
+0.5352854127995669841766f,0.7017193175852298736572f,0.9817278520204126834869f,\
+0.2777477568015456199646f,0.1314821145497262477875f,0.366813333705067634583f,\
+0.7377605927176773548126f,0.9103105561807751655579f,0.3637479650788009166718f,\
+0.8207867145538330078125f,0.3059372254647314548492f,0.9788405327126383781433f,\
+0.9970494522713124752045f,0.4636328797787427902222f,0.7769650523550808429718f,\
+0.3400075891986489295959f,0.0353285889141261577606f,0.2607673071324825286865f,\
+0.5790986777283251285553f,0.1250711670145392417908f,0.0372988111339509487152f,\
+0.9382179621607065200806f,0.5585843441076576709747f,0.7192503632977604866028f,\
+0.3599752518348395824432f,0.6758626028895378112793f,0.2222136431373655796051f,\
+0.7860159231349825859070f,0.1736893891356885433197f,0.2674629595130681991577f,\
+0.7357366015203297138214f,0.0550541067495942115784f,0.5923380698077380657196f,\
+0.2162457890808582305908f,0.7718841419555246829987f,0.0926524316892027854919f,\
+0.7626169077120721340179f,0.7347808051854372024536f,0.8017499190755188465118f,\
+0.7732572900131344795227f,0.2559880572371184825897f,0.1179054826498031616f,\
+0.9232815303839743137360f,0.6709534404799342155457f,0.6071323617361485958099f,\
+0.4574467372149229049683f,0.8206311021931469440460f,0.0896153757348656654358f,\
+0.3426358769647777080536f,0.1674894802272319793701f,0.9481152505613863468170f,\
+0.9504805644974112510681f,0.3436607695184648036957f,0.2889420483261346817017f,\
+0.5325344172306358814240f,0.2558945687487721443176f,0.8863505902700126171112f,\
+0.0421485081315040588379f,0.4876015805639326572418f}
+
+#define CSOURCEI {0.347978035919368267059f,0.2037199228070676326752f,0.5962978359311819076538f,\
+0.8342303414829075336456f,0.6809655660763382911682f,0.9127784068696200847626f,\
+0.5243799723684787750244f,0.7204323844052851200104f,0.3259664541110396385193f,\
+0.1506391367875039577484f,0.9124387521296739578247f,0.6345743131823837757111f,\
+0.9268973069265484809875f,0.7633614349178969860077f,0.5918717086315155029297f,\
+0.9057438620366156101227f,0.3263365356251597404480f,0.3912780000828206539154f,\
+0.4635267537087202072144f,0.0849754814989864826202f,0.5800507226958870887756f,\
+0.7945564310066401958466f,0.3823457323014736175537f,0.3010852993465960025787f,\
+0.5789428642019629478455f,0.2627451247535645961761f,0.5713048521429300308228f,\
+0.1848654565401375293732f,0.9971724869683384895325f,0.4520535501651465892792f,\
+0.0334019884467124938965f,0.4553878181613981723785f,0.7851976407691836357117f,\
+0.4941168962977826595306f,0.9304408635944128036499f,0.7621670593507587909698f,\
+0.9264887655153870582581f,0.7199950958602130413055f,0.3973621018230915069580f,\
+0.8769331262446939945221f,0.6766644334420561790466f,0.8431562236510217189789f,\
+0.7608711589127779006958f,0.8287630719132721424103f,0.0037989662960171699524f,\
+0.9451942699961364269257f,0.6311131268739700317383f,0.0763222672976553440094f,\
+0.4486519275233149528503f,0.1080312891863286495209f,0.8351444136351346969604f,\
+0.3109649871475994586945f,0.1235694894567131996155f,0.0363539229147136211395f,\
+0.6609512977302074432373f,0.9844443709589540958405f,0.0688076755031943321228f,\
+0.5140342987142503261566f,0.3807653579860925674438f,0.1549817589111626148224f,\
+0.6850274773314595222473f,0.0382853033952414989471f,0.5224257782101631164551f,\
+0.7454454028047621250153f,0.4607118470594286918640f,0.4753002314828336238861f,\
+0.8575385268777608871460f,0.8073885519988834857941f,0.7132545644417405128479f,\
+0.0811268086545169353485f,0.5751824118196964263916f,0.884696914348751306534f,\
+0.5624709790572524070740f,0.7315255901776254177094f,0.6099120099097490310669f,\
+0.0705954921431839466095f,0.8552806274965405464172f,0.7045627343468368053436f,\
+0.5928074717521667480469f,0.8517647930420935153961f,0.2603117255493998527527f,\
+0.8596871509216725826263f,0.3943212013691663742065f,0.3333164160139858722687f,\
+0.2511775353923439979553f,0.5570420245639979839325f,0.7276714108884334564209f,\
+0.9383780122734606266022f,0.1971746077761054039001f,0.1607607132755219936371f,\
+0.7815325502306222915649f,0.1760376212187111377716f,0.2801528992131352424622f,\
+0.4699970218352973461151f,0.3507726117968559265137f,0.5713973813690245151520f,\
+0.4563077641651034355164f,0.9214398502372205257416f,0.4339873101562261581421f,\
+0.3514866163022816181183f,0.1816438222303986549377f,0.9070622171275317668915f,\
+0.7665811367332935333252f,0.9807842955924570560455f,0.1198607003316283226013f,\
+0.0508546582423150539398f,0.2581452894955873489380f,0.1401008707471191883087f,\
+0.5514106499031186103821f,0.7882929998449981212616f,0.8028824776411056518555f,\
+0.2425694861449301242828f,0.7024780390784144401550f,0.0922905071638524532318f,\
+0.4318286012858152389526f,0.0804965649731457233429f,0.7126307198777794837952f,\
+0.6893844078294932842255f,0.2756213061511516571045f,0.6968217701651155948639f,\
+0.4598932703956961631775f,0.6099067903123795986176f,0.3065654132515192031860f,\
+0.0749373403377830982208f,0.9619921119883656501770f,0.4158898773603141307831f,\
+0.3287452235817909240723f,0.7406168007291853427887f,0.5725225014612078666687f,\
+0.9504556744359433650970f,0.1849336978048086166382f,0.8698030491359531879425f,\
+0.6907873982563614845276f,0.9524399931542575359344f,0.6490485109388828277588f,\
+0.9960058168508112430573f,0.2040582066401839256287f,0.3800008497200906276703f,\
+0.9729049820452928543091f,0.9110585046000778675079f,0.3810073928907513618469f,\
+0.7869612383656203746796f,0.5560158789157867431641f,0.8529843934811651706696f,\
+0.4350629774853587150574f,0.5956362797878682613373f,0.7071880977600812911987f,\
+0.5747222309000790119171f,0.4764349022880196571350f,0.6098947445861995220184f,\
+0.9666662178933620452881f,0.3874611915089190006256f,0.0715632727369666099548f,\
+0.6122049516998231410980f,0.9575729314237833023071f,0.7723352131433784961700f,\
+0.1287384750321507453918f,0.3884150418452918529510f,0.2353963479399681091309f,\
+0.6542267077602446079254f,0.3286431683227419853210f,0.024017625954002141953f,\
+0.1042741741985082626343f,0.9314296473748981952667f,0.8185661518946290016174f,\
+0.8156488086096942424774f,0.8688247688114643096924f,0.3549220249988138675690f,\
+0.3890381073579192161560f,0.6415715864859521389008f,0.4902750719338655471802f,\
+0.3509976905770599842072f,0.8516392158344388008118f,0.1348936217837035655975f,\
+0.1156354099512100219727f,0.8810075619257986545563f,0.8367286501452326774597f,\
+0.5032693906687200069427f,0.4486711751669645309448f,0.9319602106697857379913f,\
+0.7298459419980645179749f,0.3388367067091166973114f,0.4314213804900646209717f,\
+0.7317318231798708438873f,0.9655342241749167442322f,0.2621376193128526210785f,\
+0.2050140891224145889282f,0.2826355365104973316193f,0.3973353477194905281067f,\
+0.7437736871652305126190f,0.8185287192463874816895f,0.3071001493372023105621f,\
+0.9627068741247057914734f,0.9475456266663968563080f,0.6546552237123250961304f,\
+0.1992082078941166400909f,0.3616109425202012062073f,0.9388273353688418865204f,\
+0.0409001447260379791260f,0.0758434669114649295807f}
+
+#define CRESULTR {-0.7576646139762764908809f,-0.4912662732014974609207f,-0.4935831983604013761813f,\
+-0.1796001444111503253520f,-0.2030603062114124668369f,-0.0903746939402042676059f,\
+-0.3380442117380291211504f,-0.2488385719103628768156f,-0.2453827611475934422636f,\
+-0.0629419446509737884332f,0.2743030686751847802007f,-0.4189753318430110562431f,\
+-0.0337034837449739430038f,-0.2700068328094388236948f,-0.5191589716059612502619f,\
+-0.0763304013057857499991f,-0.6929039668216129266298f,-0.7614418400301237177530f,\
+-0.7012514181881327468560f,-0.4995602487864141960650f,-0.3736855282655331400576f,\
+-0.1670990767606896909570f,-0.4148838171877601843640f,-0.1470641870540525808497f,\
+0.0881657571965975273010f,-1.1827451998005302780115f,0.1044920740886167709327f,\
+-1.1145963776166571967963f,0.0100332050022288142566f,-0.0123498399546466911675f,\
+-0.6728365416861274983518f,-0.0874315516128119363248f,0.1416698281269971604335f,\
+-0.2712125731855208887744f,-0.0063567040970050154788f,0.1906009971260032298535f,\
+0.0238331967155752874610f,-0.0953429917974444041118f,-0.0065067191893498198957f,\
+0.0440644425532304637172f,-0.3540655459766552382028f,-0.1661126167793314234444f,\
+0.0062509933701612868662f,-0.1693877982336349785619f,-0.0292579566847096204929f,\
+0.0137816953226981269570f,-0.0288761524361324552201f,-0.0250652390791611112686f,\
+-0.7581745137578204118967f,-0.7505545612383084375097f,-0.0046973071232757198853f,\
+-0.3406170651999906873186f,-2.0764518222153585114143f,-0.8157393323281721952966f,\
+-0.0852474852363154095292f,0.0348077956215509243254f,-0.8387202021909221372198f,\
+-0.0663540586103768398329f,-0.9554969196553003696337f,-0.0212599130834864695483f,\
+-0.0245601140031842454792f,-1.6679899099681032570430f,-0.4509584277017124609443f,\
+0.1011698547763601602201f,-0.2120439010955574854478f,-0.1131958883879479044188f,\
+0.0199327284817682297280f,0.0781443465987670671247f,-0.3004592565973881468366f,\
+-0.1451799924584522560878f,-0.5281452333714923286223f,-0.0505933914241510074294f,\
+-0.2819958038859460280889f,-0.122323084811984963971f,-0.2632782651610236501760f,\
+-0.0540558326414990047981f,0.2512879183645665981395f,-0.1214932149359973512226f,\
+0.0055773659320434761794f,0.0673704632706614986448f,-0.2906343733694730646633f,\
+0.0851020319327377705587f,0.0365640112295984101576f,-1.0976622196833336619903f,\
+-0.4020870876485082012763f,-0.3719849821436939651953f,-0.3158125612041708385469f,\
+0.2324359424588408329360f,-1.5742845766045041600023f,-0.0033130260706617652329f,\
+-0.1069329039454427060507f,-0.1341564770393289252048f,-0.0510429776001832605226f,\
+-0.3847912680433241972011f,-0.9153668051115183557087f,-0.3798345871473772783489f,\
+-0.6590618454479428844905f,-0.0755413642077243097095f,0.0808833545731707098669f,\
+-0.417646722764209388234f,-0.8522405945532404158982f,0.1463133685463073596633f,\
+-0.2416082657366604991012f,0.0219217192558878656850f,-0.8077093656959043466159f,\
+-0.1128924015633438332484f,-0.3996389102953575300781f,-0.9892317511551623754329f,\
+-0.5874413267393940873973f,-0.1422192352759769073955f,-0.1954743580270074387872f,\
+-0.0763719684521397823573f,0.1332266112260754309382f,-2.2385346085566988350024f,\
+-0.5112419918132667939759f,-0.0541885453710462053345f,0.1544990573544810508189f,\
+0.1051325180789595692410f,-0.9326914829433226028499f,0.0764891336322670034598f,\
+-0.4245421077023512346216f,-0.4665013282915527192962f,-0.3980722181205589849107f,\
+-1.152706389176620049852f,-0.0091123646200983177135f,-0.8629224644504486230190f,\
+-0.0671956049468366567456f,-0.1483256896732535745631f,-0.0470857769330114903084f,\
+0.3049502630226416100001f,-0.8351336293434713509143f,0.1199665328310368234144f,\
+0.100965515388687754328f,0.1851149271955789266109f,-0.4311455286578065315695f,\
+0.1656739977240755667953f,-0.6957805672270640506838f,-0.7030137346248552798755f,\
+0.2434410334133135511703f,-0.0502776447144934607314f,-0.6643994214275527054880f,\
+-0.0494471424057717073852f,-0.1105954430789197057150f,0.2627700024490645658304f,\
+-0.6613338575819812659162f,-0.4943364682181946023753f,-0.2273273919604619497381f,\
+-0.0669964153308245241591f,0.0270809622513717325465f,-0.3423076587443550367063f,\
+0.2375373770411028651051f,-0.7058599113455784612725f,-0.0187211007688289424178f,\
+0.1570046667576522059218f,0.0619494218295955287323f,0.0912342621811634557627f,\
+-1.0118000314587793919685f,-0.9415613562651380386015f,-1.04611739737066766764f,\
+-0.1350076179226963601909f,-1.045153664947628735504f,-3.1153566294303054462489f,\
+-0.0576346967934074291828f,0.0825782285147220879162f,0.0858710750707356584854f,\
+-0.1147913938093602786994f,0.0959901869720326261781f,-0.8704897942843184965866f,\
+-0.1312205414500346722928f,-0.4084692473683823599195f,-0.5825265796688483543875f,\
+-0.2043543873503067542785f,-0.1585071715930248537063f,-0.4983971045262390875408f,\
+-1.405591688480441803222f,0.1581272765392360557524f,-0.1721619754559372272862f,\
+-0.0902428450071243726249f,-0.1497365537505691013287f,0.2065025609822116192671f,\
+0.0613750886386554700413f,-0.8564551079948240497330f,-0.804653684520539647096f,\
+0.1638887899169061412863f,0.1619231669215081825808f,-0.4135383706484943022730f,\
+-0.6905772083929240245936f,-0.1416337472709212619293f,-0.8981660716461068449945f,\
+-0.1997922350746098307805f,-0.1797380100619248022298f,-0.0033949848444226812805f,\
+0.3022174959979692654422f,0.0079098230306947625579f,-0.3346557902575436060921f,\
+-0.5646231542298842942529f,-0.8141969637368523526888f,0.2555170413707821830407f,\
+-2.8347892907784113525338f,-0.7063037006217763869032f}
+
+#define CRESULTI {0.8365523024247201178127f,0.3394374381847692356828f,1.355160662925530390410f,\
+1.5134434006476746858993f,0.9868300791435297147913f,1.528673168936313331301f,\
+0.8260899014265745687879f,1.1783591647662248202977f,0.4297253343366602140740f,\
+0.1611216299891750081130f,0.7663999599077054858398f,1.3047144916618338417180f,\
+1.2822880914611145541926f,1.5649955384218765530591f,1.4678689248356304730692f,\
+1.3586758006659467312716f,0.7108977814935093508808f,0.9933651109027943348906f,\
+1.2071246910756632253481f,0.1405010934420483359464f,1.0025763105214653414521f,\
+1.21989563358396813086f,0.6174353300937470701015f,0.3562751652356153653223f,\
+0.5587012199090121145062f,1.0302380576516638743811f,0.5405656721364887618009f,\
+0.5986555168040823549092f,1.4107360213988626718162f,0.4753739371565622318094f,\
+0.0655076733245526648952f,0.5201329289544929235234f,0.7497818580560413614933f,\
+0.7050355621930805005704f,1.2121540141336599738509f,0.6814274485183255958276f,\
+1.1306014284455374596661f,0.9141116926495304051414f,0.4114688990228685949724f,\
+0.9956827833608694611200f,1.3022000158632660582469f,1.4761001233596913184698f,\
+0.8573788009054216230354f,1.379379585022410426021f,0.0039117682490215858332f,\
+1.2006025140002900553071f,0.7070620318380608226860f,0.0783395850399789817065f,\
+1.2785255791075276210478f,0.2308747034561683952880f,0.9955835564035591112031f,\
+0.4524376138027601523817f,1.4009149235535949262754f,0.0822834615192538504358f,\
+0.8034667275967887212218f,1.2557032585647818212493f,0.1598599852603853899158f,\
+0.5815258576469973794687f,1.4290836436420499833133f,0.1589807896730044689537f,\
+0.7782863583371778526399f,0.2043896563749957318024f,0.9616073478994561218869f,\
+0.7392289023091881405847f,0.6059375681629087795343f,0.5612744745893767372991f,\
+0.9984170767670760282542f,0.8430838000818645650014f,1.29879528501095431459f,\
+0.0939407915654127262384f,1.3484611857054962236191f,1.1960714214373144859138f,\
+0.8415982269448546437829f,0.9732366936364994502995f,0.9167206383382787704406f,\
+0.0745857498941502189416f,0.7278097264573785141195f,0.9199632393837048338625f,\
+0.6304525502744320331061f,0.9211062195464506663356f,0.3555526540057888373880f,\
+0.9100796877015666641597f,0.3899732161636976779384f,1.5260640477653748536824f,\
+0.3849315818496458763143f,0.9408368768631211187525f,1.5061175798419510485360f,\
+0.838676229611447277001f,1.2591119550131308901797f,0.1620018843959732390836f,\
+1.0546671087981356329522f,0.2026968016035011754816f,0.299271305708051660321f,\
+0.7622771187183752239491f,1.067757629024185028754f,0.9888735682758375000745f,\
+1.0801593307389727449674f,1.4588740911245949849473f,0.4118082358815949306496f,\
+0.5629599662610861310341f,0.4399958138718327860239f,0.9004381750108224613527f,\
+1.3516535386697041687398f,1.2852850170743990165789f,0.2721670546404741375390f,\
+0.0569631738604013462823f,0.3951736758236387148102f,0.3862903740059538404417f,\
+1.4457867030840705346861f,1.1403205655573340759901f,1.3522555755333163229892f,\
+0.264908300074692404369f,0.6622029195378335009181f,1.0464389789763977045567f,\
+0.8038225849224520658254f,0.0850815175089563863198f,0.6568351393392068970911f,\
+0.669491640154789569017f,0.7760242270392859742500f,0.7016907095208140265896f,\
+0.7797846541592131641707f,1.335473484345777617222f,0.4740136251481967821775f,\
+0.2395937042296285568455f,1.3285359486862795552753f,1.401425714315664317056f,\
+0.3592738595863486095183f,1.0333805631652628331807f,0.6436572543635337151358f,\
+0.7762911838119904706090f,0.4403927201098556398762f,0.8811512979588507210593f,\
+0.674423430961778702653f,0.9132365009577151360176f,1.5238520140402758151765f,\
+1.00458246450610100275f,0.4215689680173497211335f,0.874990498737184374534f,\
+0.8674547514202983755638f,1.2800682610709759323697f,0.8336956783393613124034f,\
+0.9734878037135866746254f,0.6700663792657182149526f,0.7153420705223627606983f,\
+1.0026132338500262086711f,1.3535381134312993722801f,1.0923065980664201646277f,\
+0.6618099327465949421878f,0.4821732258146940175436f,1.033019939116806895640f,\
+0.8668307442664776596430f,0.9024324853624734465996f,0.0729804020494689703602f,\
+0.5506621520352920073904f,1.1198886719657494825952f,0.7824098301910974440077f,\
+0.3619529370272654977825f,1.4800901440707066036850f,0.7343084050589578914980f,\
+0.8462379976616437593506f,1.2071528313995831815930f,0.5720924999360996743292f,\
+0.1106864208392598775132f,1.0305927183418297499173f,0.8498909387724447039858f,\
+1.15517062965696792887f,0.9096742728488710350021f,1.01141253782177353848f,\
+0.4595989696224830889371f,1.3064089912173471041967f,1.071386424855859109684f,\
+0.4451357270611538408112f,1.5062412806888749727818f,0.2239121309027737871666f,\
+0.4910523338147070870896f,0.8513221989625705532490f,1.460513851259993778342f,\
+0.5833202395880134893957f,0.5481910770820362932554f,0.8603624185522980027940f,\
+0.7565250407629732221082f,0.9237902776741101495972f,1.3040155501467787235725f,\
+0.6701717740731456540715f,0.9634987985586029868301f,0.4075854524817449364704f,\
+0.4213313914917447000619f,0.3316883655770838101873f,1.3489670985956061510791f,\
+1.1391029061589752480188f,1.3689599297259111843061f,0.3132420296422914196555f,\
+0.7917886209906572769768f,1.2228656637749606428400f,1.1551462426298317875961f,\
+0.3579601167993540777879f,0.9549534865181378284760f,0.8141418225805733266398f,\
+0.7703675837106083168493f,0.1543074266086776613616f}
+
+#define CSOURCE2R {3.9219759730622172355652f,4.6815521270036697387695f,3.361602746881544589996f,\
+5.3368766140192747116089f,2.03906395938247442245f,1.5899897180497646331787f,\
+0.1818151073530316352844f,4.0983706060796976089478f,0.1058345986530184745789f,\
+1.9653097167611122131348f,2.7255953708663582801819f,3.4376550372689962387085f,\
+2.0337020372971892356873f,3.0119446106255054473877f,2.7625959040597081184387f,\
+2.9445307422429323196411f,5.7180739520117640495300f,2.141770124435424804688f,\
+6.8954616272822022438049f,5.8555728476494550704956f,4.2041230341419577598572f,\
+4.2775720171630382537842f,3.1845858739688992500305f,5.7618944440037012100220f,\
+4.2549022240564227104187f,9.7619816288352012634277f,2.518960000015795230866f,\
+4.3911290075629949569702f,0.7593036955222487449646f,2.5593801774084568023682f,\
+0.6706167431548237800598f,7.6511315722018480300903f,0.4173615900799632072449f,\
+3.438271805644035339356f,1.9701673323288559913635f,2.1228986512869596481323f,\
+3.1403985014185309410095f,7.8216253779828548431396f,0.5409323470667004585266f,\
+9.1902069095522165298462f,4.6035157097503542900085f,2.9926850274205207824707f,\
+0.0291663268581032752991f,8.9934705849736928939819f,8.3879271661862730979919f,\
+4.3437494523823261260986f,7.7678761305287480354309f,1.3953176606446504592896f,\
+1.1506372271105647087097f,5.3554199635982513427734f,4.3117330456152558326721f,\
+6.145384786650538444519f,9.2589621385559439659119f,0.9938172809779644012451f,\
+4.2805786477401852607727f,9.431830951943993568420f,0.3273952705785632133484f,\
+9.2132670804858207702637f,9.4490244099870324134827f,9.007069906219840049744f,\
+8.0943161016330122947693f,0.2519542910158634185791f,0.0196450622752308845520f,\
+5.0752213317900896072388f,4.0760429529473185539246f,8.4080461412668228149414f,\
+5.017265700735151767731f,9.1287807654589414596558f,4.4357294728979468345642f,\
+5.9837839566171169281006f,7.7418426470831036567688f,7.9220082703977823257446f,\
+5.5046048713847994804382f,4.0850437059998512268066f,7.2174380579963326454163f,\
+4.768535858020186424255f,6.3930579042062163352966f,9.963865298777818679810f,\
+1.5747882844880223274231f,5.3506936598569154739380f,2.1290646074339747428894f,\
+5.59145063161849975586f,4.304965981282293796539f,0.2280548494309186935425f,\
+5.7614597817882895469666f,7.1491303853690624237061f,9.3216359661892056465149f,\
+1.2326993141323328018188f,2.8655522270128130912781f,0.1247995719313621520996f,\
+5.7694048294797539710999f,3.9386960770934820175171f,6.8885837262496352195740f,\
+9.7023218311369419097900f,8.51576429326087236404f,3.3933044690638780593872f,\
+8.7725317804142832756042f,1.1314024776220321655273f,5.2641283208504319190979f,\
+5.297394050285220146179f,9.2917560925707221031189f,9.7654302977025508880615f,\
+6.2254639761522412300110f,9.822583282366394996643f,7.5429888023063540458679f,\
+5.4547880962491035461426f,7.2860160330310463905334f,0.2525969501584768295288f,\
+4.0251684701070189476013f,0.9831319935619831085205f,2.6086253346875309944153f,\
+3.6363423336297273635864f,1.7466178117319941520691f,9.2341394722461700439453f,\
+7.6051409030333161354065f,5.6402041297405958175659f,3.7970651825889945030212f,\
+8.7762261740863323211670f,8.21742579806596040726f,6.787058124318718910217f,\
+0.8220098121091723442078f,2.5527314469218254089355f,7.4444567272439599037170f,\
+2.2695036139339208602905f,6.836930788122117519379f,9.3650726415216922760010f,\
+5.0530174048617482185364f,2.5248145777732133865356f,6.8188397912308573722839f,\
+2.8363681584596633911133f,1.409485661424696445465f,6.7591095995157957077026f,\
+4.5126775791868567466736f,7.5430292449891567230225f,1.3702143030241131782532f,\
+6.6082405392080545425415f,3.8900542212650179862976f,7.001820541918277740479f,\
+9.168005720712244510651f,2.1228999551385641098022f,2.6978330826386809349060f,\
+3.1998893804848194122314f,0.2321802498772740364075f,7.26544727571308612823f,\
+1.5340585587546229362488f,2.3552638292312622070312f,0.8797382796183228492737f,\
+7.1059537213295698165894f,6.8887275597080588340759f,6.5953194908797740936279f,\
+1.8151161121204495429993f,3.9049659762531518936157f,1.5869047446176409721375f,\
+6.2407150492072105407715f,6.3760355720296502113342f,4.2704886104911565780640f,\
+1.0716815060004591941833f,2.3822965659201145172119f,9.4629473658278584480286f,\
+4.5766852516680955886841f,8.9644787041470408439636f,4.4384705275297164916992f,\
+8.08956819120794534683f,6.8317985069006681442261f,0.3401931514963507652283f,\
+2.3805456422269344329834f,9.4920115964487195014954f,2.1827886346727609634399f,\
+6.1546878470107913017273f,8.3135433867573738098145f,7.7340125897899270057678f,\
+4.2441909667104482650757f,7.262125960551202297211f,7.0999773032963275909424f,\
+4.7457459988072514533997f,9.4386920798569917678833f,1.4596485672518610954285f,\
+0.7141010463237762451172f,6.7337385797873139381409f,6.536924717947840690613f,\
+1.996896131895482540131f,6.01412517949938774109f,1.8993748771026730537415f,\
+2.5839814636856317520142f,0.9878737432882189750671f,0.6199027225375175476074f,\
+0.4034968325868248939514f,7.4001471605151891708374f,6.1626600986346602439880f,\
+6.5835834480822086334229f,2.5145971449092030525208f,3.8433500844985246658325f,\
+4.3964602379128336906433f,6.5407369285821914672852f,5.878106378950178623200f,\
+6.0208318661898374557495f,0.4535020282492041587830f,2.0294443331658840179443f,\
+7.844273825176060199738f,2.6375361625105142593384f}
+
+#define CSOURCE2I {4.3832763982936739921570f,8.6648589745163917541504f,3.7921421090140938758850f,\
+7.6687160786241292953491f,6.0066213225945830345154f,7.85673560574650764465f,\
+7.3871155502274632453918f,5.5442603398114442825317f,9.9291495559737086296082f,\
+9.757428467273712158203f,3.709622272290289402008f,3.0322382133454084396362f,\
+9.5195201179012656211853f,7.1278580836951732635498f,1.192370061762630939484f,\
+5.0091631803661584854126f,3.2900535268709063529968f,4.8089468106627464294434f,\
+3.3036959776654839515686f,6.3044753577560186386108f,2.1171907847747206687927f,\
+4.4860231317579746246338f,5.9145097108557820320129f,6.8067426700145006179810f,\
+0.7392961112782359123230f,9.4336947053670883178711f,1.2863306934013962745667f,\
+2.0190807711333036422729f,1.9693034281954169273376f,8.9286901615560054779053f,\
+4.6179189579561352729797f,6.2512917164713144302368f,7.0597065938636660575867f,\
+7.0181696489453315734863f,4.0879997471347451210022f,0.6362213846296072006226f,\
+0.6573933875188231468201f,5.3310041315853595733643f,0.3315818728879094123840f,\
+3.157835649326443672180f,3.785823243670165538788f,4.6195234358310699462891f,\
+6.2873698258772492408752f,2.8785153012722730636597f,3.2920487364754080772400f,\
+4.7192330472171306610107f,3.3537696348503232002258f,5.5530697200447320938110f,\
+1.196080814115703105927f,7.6139996573328971862793f,4.7909884760156273841858f,\
+2.8169692959636449813843f,2.380097783170640468597f,3.2942054606974124908447f,\
+2.3067280324175953865051f,2.1362966019660234451294f,4.0549980429932475090027f,\
+3.0953712016344070434570f,6.762971603311598300934f,9.7069163154810667037964f,\
+5.4417965700849890708923f,0.2047479711472988128662f,8.9413649635389447212219f,\
+3.4903638903051614761353f,1.1053651524707674980164f,2.0233777537941932678223f,\
+1.3046909729018807411194f,8.573952978476881980896f,6.3780163740739226341248f,\
+4.0711227245628833770752f,6.6919379355385899543762f,2.042601602151989936829f,\
+8.3104313490912318229675f,0.1221632957458496093750f,4.8844617092981934547424f,\
+9.549877075478434562683f,0.5874312063679099082947f,8.2584649138152599334717f,\
+2.9807415651157498359680f,0.7757596764713525772095f,5.8460923237726092338562f,\
+7.528713606297969818115f,0.5172297963872551918030f,5.9586250688880681991577f,\
+3.8337053125724196434021f,4.9002202786505222320557f,5.2727950783446431159973f,\
+0.6889454741030931472778f,8.843077751807868480682f,7.1912937611341476440430f,\
+0.6942595774307847023010f,1.1522095929831266403198f,4.862680672667920589447f,\
+7.6715826056897640228271f,0.8805298106744885444641f,7.0085612777620553970337f,\
+1.879138792864978313446f,2.0178856328129768371582f,4.0628212550655007362366f,\
+4.0966569539159536361694f,1.769564501009881496429f,3.31293122842907905579f,\
+0.5184767069295048713684f,4.1492417920380830764771f,7.2212355909869074821472f,\
+0.7746253907680511474609f,5.8558783913031220436096f,3.7079446297138929367065f,\
+2.1161167463287711143494f,1.903268527239561080933f,5.607953821308910846710f,\
+9.4247916433960199356079f,6.8177247745916247367859f,2.7342410013079643249512f,\
+2.0717754075303673744202f,1.9379387702792882919312f,6.797837591730058193207f,\
+5.88365742936730384827f,9.331753817386925220490f,5.509122880175709724426f,\
+8.0405469564720988273621f,1.074489727616310119629f,7.4039250845089554786682f,\
+5.6103316973894834518433f,7.6611549546942114830017f,7.8306589089334011077881f,\
+1.4388314681127667427063f,1.6471924725919961929321f,3.1774142337962985038757f,\
+5.0265956297516822814941f,6.9204960623756051064f,7.0065794046968221664429f,\
+8.8706119870766997337341f,6.9797694869339466094971f,6.7989911558106541633606f,\
+3.6159398127347230911255f,2.6739976881071925163269f,0.7736870646476745605469f,\
+1.494100340642035007477f,3.2018390577286481857300f,2.0260545751079916954041f,\
+4.4988587312400341033936f,7.7075743721798062324524f,2.4352242145687341690063f,\
+2.1261148853227496147156f,1.0992341861128807067871f,6.9814807781949639320374f,\
+4.1509064938873052597046f,5.0298188393935561180115f,7.51160675659775733948f,\
+9.9401472182944416999817f,1.82876241393387317657f,3.021917375735938549042f,\
+3.7854864448308944702148f,7.1531985932961106300354f,9.5241537224501371383667f,\
+4.7039186349138617515564f,1.8709417246282100677490f,2.55718790460377931595f,\
+4.4350660685449838638306f,7.2340781940147280693054f,8.7619100883603096008301f,\
+0.3733208635821938514710f,4.2934664245694875717163f,3.1572330510243773460388f,\
+3.682477343827486038208f,1.4587742509320378303528f,6.7683792579919099807739f,\
+5.2619793592020869255066f,4.003625661134719848633f,0.0291080260649323463440f,\
+3.0681814532727003097534f,7.9026939114555716514587f,9.5779503695666790008545f,\
+6.6892711864784359931946f,2.9296159837394952774048f,8.2238993747159838676453f,\
+0.1798455044627189636231f,8.7107013771310448646545f,3.1810243334621191024780f,\
+5.7244732743129134178162f,5.7386581040918827056885f,3.4920182498171925544739f,\
+7.06729766912758350372f,3.5992007283493876457214f,4.0523112565279006958008f,\
+6.1408105725422501564026f,6.5240467619150876998901f,0.2951709320768713951111f,\
+5.6688958965241909027100f,7.1140170888975262641907f,4.5884906593710184097290f,\
+4.7205173922702670097351f,0.6237313523888587951660f,0.8544011274352669715881f,\
+0.1345641072839498519898f,3.5430019116029143333435f,6.7193946428596973419189f,\
+1.3606189610436558723450f,2.1197437215596437454224f}
+
+#define CRESULT2R {1.7718546901199148102535f,2.2873385372432406548171f,1.6228701567171754938101f,\
+2.2346263074245684698838f,1.8473969837167181218263f,2.0814403666906242662549f,\
+2.000040135761198101250f,1.930738025076279118508f,2.2955316341715112926636f,\
+2.2979125914561788768253f,1.52676863913911398107f,1.5225454413433419098567f,\
+2.2756589535249842626285f,2.0461560089912054216654f,1.10158579014350732628f,\
+1.7596676151017560663092f,1.886619744318301705732f,1.6609534913253483079387f,\
+2.0341867590624715944614f,2.1522631887405574424577f,1.5490800609419352884544f,\
+1.8243154431583954444562f,1.9046961835587756795007f,2.1880745312667504443027f,\
+1.462943224821960486182f,2.6082576924848916988253f,1.0397086540972344526068f,\
+1.5754847768676314423431f,0.746979645400304148595f,2.2287521705924668857790f,\
+1.5403790183895167409389f,2.29053332003721576982f,1.9561479629741382879615f,\
+2.056062919004959077540f,1.5124829204355532130677f,0.7957872878063905197621f,\
+1.1657936572577645151227f,2.247663310479210085902f,-0.4549625893688244437918f,\
+2.273939094117130466088f,1.7851157264602297569667f,1.705510493291471751931f,\
+1.838553591041654167171f,2.2452631537104275061267f,2.1984262619387999748710f,\
+1.858482175867823826820f,2.1354614286115483068329f,1.7449625890299069741474f,\
+0.5066316450005309279803f,2.2309587833094872699746f,1.8633839241242127204856f,\
+1.9110608576794807511590f,2.2575857867741544460216f,1.23571911173189863398f,\
+1.581562045830424700910f,2.2691047577207688057399f,1.4031989962500943658341f,\
+2.2741179432518765501925f,2.4527182982567738989133f,2.5833963585371355620168f,\
+2.2776279862384747332271f,-1.1249835300913728630690f,2.1906906716320380112961f,\
+1.8180097251363194210683f,1.440608273684235829393f,2.157337396250079031290f,\
+1.6456014738468727198750f,2.5276363856092047832647f,2.0501201476301127435420f,\
+1.9792596577711849548109f,2.325636279713856779949f,2.1018269082301319627959f,\
+2.2993946557097193483798f,1.407779382548410174181f,2.1650335217497893580685f,\
+2.3678319878208848869861f,1.8594164774388513006187f,2.56043452139564964298f,\
+1.2152594801616827258073f,1.6876273083151080989239f,1.8280452566376663714465f,\
+2.2383606348726785562064f,1.4669353168458199032642f,1.7855716392006990567154f,\
+1.9344712649878033072781f,2.1595582205209731263551f,2.3711393709457433409682f,\
+0.3451198452895575252697f,2.2295598849908442318224f,1.9730216569827605521681f,\
+1.7597572254564382010500f,1.4119056335367026200345f,2.1320313551579719302254f,\
+2.5151804905590435801344f,2.1472364706413502588589f,2.052431577045615185284f,\
+2.1940570121896025845842f,0.8387289948467516742525f,1.8945610375322186058611f,\
+1.901605848224737327357f,2.2469410116186243620007f,2.3333167208432867845147f,\
+1.8321040495156570848678f,2.3667788410376999763685f,2.345870799293293007537f,\
+1.7064766326923879180555f,2.2351179984798275057756f,1.3127927306468758494873f,\
+1.5145818637157286712380f,0.7618288453812751548355f,1.8221250086585414340590f,\
+2.3127298919002594601579f,1.9513099157402993277799f,2.2649290827240116108499f,\
+2.0646178740610454660498f,1.7857162805439725783430f,2.0523808897592226152540f,\
+2.357637781206334715023f,2.5204455223537904906550f,2.1680868421848340510394f,\
+2.08969579055791898625f,1.0187212773133276222381f,2.351321025745570558740f,\
+1.8003855797977157404688f,2.3290564194645368978343f,2.5020530275623595883872f,\
+1.6589662323678027178175f,1.1034736729371952268508f,2.0179385634489594991692f,\
+1.7529535621370035958222f,1.9548092141654069830992f,2.2757671672542376661852f,\
+2.2978225629400212959297f,2.329897705001075625120f,1.9366802551403343723990f,\
+2.0192737614105338295190f,1.5519072144028889237433f,1.9522381258437428996899f,\
+2.228825942499146339770f,1.3459088341323246496017f,1.2160693133443531976923f,\
+1.708519320712721833999f,2.042657041378174831436f,2.0363649964518035773153f,\
+0.9638512795498686003270f,0.9551846741593900125267f,1.951137961258366582129f,\
+2.107724763084950492242f,2.1435395035941335883933f,2.30219731892690226971f,\
+2.3129821080069814520641f,1.4613961122338947618005f,1.2276638750511146280786f,\
+1.98774702803650615834f,2.2599263943254159769936f,2.3454288218721179859472f,\
+1.5736974684351636710744f,1.1082826047896976451312f,2.2826248447267389884985f,\
+1.852079302129498561413f,2.4440219801181322090144f,2.2846216839061130876587f,\
+2.0916390604994830049179f,2.0880185293365247645170f,1.1554676622252344486697f,\
+1.4781743340729813773748f,2.2621227047071905680298f,1.9617338719614783038026f,\
+2.0915485321054503309313f,2.222172100020261886755f,2.0456349034700243016971f,\
+1.6557620395745074048932f,2.3732960033711649749932f,2.4784302018604411621538f,\
+2.1043456955600268187823f,2.2908052004546388680239f,2.1225525715426596384816f,\
+-0.3059820602804464440006f,2.398801697565509982724f,1.9837316998415748248163f,\
+1.8021669050328577021958f,2.1177911026101683411582f,1.3800624471185749531088f,\
+2.0182134290564768264176f,1.3170274339145702224840f,1.4108532825842892144408f,\
+1.817110834423457665920f,2.2890298175330245911141f,1.8196542505912531861867f,\
+2.1619335403208914669904f,2.0209326327770549269758f,1.7893311710629888899859f,\
+1.8641960608110765829082f,1.882576152038281991352f,1.7816883851861540222217f,\
+1.7954751269073565556056f,1.2730999018963571334240f,1.9486466131391497746961f,\
+2.074605067637334876451f,1.2189909546635331327735f}
+
+#define CRESULT2I {0.8408843669071919268987f,1.0754371807248737091811f,0.8455094310786673839075f,\
+0.962808271271232585242f,1.2435335418309885202603f,1.371120256581034091425f,\
+1.5461888319559713433904f,0.9342369007616236897817f,1.56013775123029430070f,\
+1.3720388608498168547811f,0.9371355532144381994542f,0.7228179279461685036168f,\
+1.360325287393417292847f,1.1709945644102059958414f,0.4074578726347549695319f,\
+1.0393742565506918218432f,0.5221182542768327827787f,1.1517977305599864656926f,\
+0.4467977216337457035955f,0.8222975857540034683169f,0.4665224019878621564139f,\
+0.8091797065019556978172f,1.0768746352304479074746f,0.8683388375483406251831f,\
+0.1720341159830799382391f,0.7682977019562435838651f,0.4721387487057847609506f,\
+0.4309811115589534114001f,1.20279143843462255070f,1.2916347740244560338141f,\
+1.4265839008392693365579f,0.6850460436644268957807f,1.5117462274209296779759f,\
+1.1152532149987959275705f,1.1217014706271768442747f,0.2911766403909815670303f,\
+0.2063546073155473614680f,0.5982511040925977408023f,0.5499105526382754849379f,\
+0.3309697617869979402450f,0.6882370204600587459964f,0.9959451809388051302108f,\
+1.5661574844082004620560f,0.3097639368523368297304f,0.3740022155825183380884f,\
+0.8268049495959598482742f,0.407572856709710940049f,1.3246230944084764757918f,\
+0.8047604843662868878695f,0.9578156211088914018248f,0.8379992820836518196970f,\
+0.4298072736875270249968f,0.2516111351341220880862f,1.2777930133692467773443f,\
+0.4942674920588698839197f,0.2227403824735175175142f,1.4902323819071812138759f,\
+0.3241206854947055737704f,0.6212066791677098853697f,0.8227777158663325263177f,\
+0.5918914368525474145599f,0.6824004867135488039409f,1.5685992315253338702519f,\
+0.602441091725517741118f,0.2648167750385964080984f,0.2361574036342227733698f,\
+0.2544057494452062195833f,0.7540670573431564882583f,0.9631160038064509043565f,\
+0.5974222702744066415548f,0.7127866343417466055143f,0.2523427003112133637508f,\
+0.9857721947818851582213f,0.0298961055939373325507f,0.5949566736712420533806f,\
+1.1076852186579833059454f,0.0916284996635063769821f,0.6920814866116709040966f,\
+1.0847494758718594365376f,0.1439797822740493671301f,1.2215400197911927548944f,\
+0.9319943094964961982640f,0.1195740768674621451462f,1.5325419323859537090726f,\
+0.5871287736405550461427f,0.6008795873685909283424f,0.5147800680430554276512f,\
+0.5096442477271476700906f,1.2574287319730830247977f,1.55344381002968989769f,\
+0.1197588579388608048815f,0.2845949117488152935174f,0.6146775806026560928785f,\
+0.6690416852557365956f,0.1030338183393550155476f,1.1198962694059428901738f,\
+0.2110181909408466172096f,1.0597850788835401214527f,0.6573038229366630069706f,\
+0.6582686240328038396186f,0.1881909924839933190288f,0.3270668956957688000564f,\
+0.0830914673081940696742f,0.3996821407672082604456f,0.763608851537480148863f,\
+0.1410651270101331844487f,0.677001919140020169685f,1.5027782434779339837405f,\
+0.4840122714003086690227f,1.0939971143713191903402f,1.1354027775868176242113f,\
+1.2025671422981056846169f,1.3200023979900399329068f,0.2878762084297626921980f,\
+0.2659639364881328793544f,0.3309563133803885004447f,1.0613976119428301103653f,\
+0.5905886949329369750572f,0.84881047253311037171f,0.6818405058224251691357f,\
+1.4689172047242584628890f,0.3984077871527766379067f,0.7826684691736193189016f,\
+1.1863976071520063726439f,0.8421875864316380466690f,0.6964016273061860440308f,\
+0.2774051332309265816001f,0.5780614975169666713839f,0.4360596809152573194446f,\
+1.0570616474517706695480f,1.3698760574306645398934f,0.8033735187122362786383f,\
+1.100195299896877587642f,0.7466330742895204153342f,1.3719281224888897341430f,\
+0.5006805450256617273652f,0.6022149721715611692119f,0.1100515320096066840261f,\
+0.1615487638997855912582f,0.9853189831543425203364f,0.6441365190650450989196f,\
+0.9525486295501676137221f,1.540681786544560338825f,0.3234105928346787672822f,\
+0.9457654725170446807780f,0.4366658824494836776964f,1.4454467286135332937391f,\
+0.5286797419321711544171f,0.6306769685466229180548f,0.8502600566998695930110f,\
+1.3901817278534140953639f,0.4379816003966337523146f,1.0872460520812594619855f,\
+0.5452429334871597976786f,0.8427783441184910628863f,1.1492861648773524674283f,\
+1.346792368827264718689f,0.665745289338786183642f,0.2639277343938546960267f,\
+0.7696845111061191291313f,0.6789773815510785626159f,1.1019111077295657974418f,\
+0.0461157104075398602272f,0.5610787453255564605215f,1.4634600366382779501606f,\
+0.9969191986962234741654f,0.1524913254966685227654f,1.2588290814744897971877f,\
+0.7073635046287626293449f,0.4488022872724745648831f,0.0037636205385015429094f,\
+0.6259389684526723840463f,0.8276134607557569244918f,0.9328971084913546540918f,\
+0.9537519653655091023126f,0.3009556732582234217510f,1.3951370123387065724785f,\
+0.2467179687642131191705f,0.9127106501576134345299f,0.4528896475979662383793f,\
+1.2351598243895067774645f,0.7619639996129009551495f,1.0726338584530288322583f,\
+1.220269965181696392165f,1.3029226301867964377124f,1.4189980227900089726489f,\
+1.5051832236136615250643f,0.7225617055791342391302f,0.0478600995604049964105f,\
+0.710883123025403795836f,1.2310328539390928970221f,0.8735414139313334436210f,\
+0.8209275679220129351421f,0.0950735258592600440686f,0.1443422571457730618771f,\
+0.0223460331642115414552f,1.443489200421151252840f,1.2774801572114198311425f,\
+0.1717450012966928174496f,0.6769828145758884918593f}
+
+
+/* in is between 0 and 1
+ in2 is between 0 and 10 */
+
+
+/* FIXME : Tests à 10^-4 cf testFloatLog.c */
void slog1psTest(void) {
- /* FIXME : Implement some test here ... */
- printf(">> Float scalar\n");
- printf("slog1ps(0) = %f\n", slog1ps((float) 0));
+ float in[]=SOURCE;
+ float res[]=RESULT;
+ float out;
+ float in2[]=SOURCE2;
+ float res2[]=RESULT2;
+ int i;
+
+ for (i=0;i<200;i++){
+ out=slog1ps(in[i]-1);
+ assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-5);
+ }
+
+ for (i=0;i<200;i++){
+ out=slog1ps(in2[i]-1);
+ assert(( (fabs(out-res2[i]))/(fabs(out)) )<1e-4);
+ }
+}
+
+void clog1psTest(void) {
+ float inR[]=CSOURCER;
+ float inI[]=CSOURCEI;
+ float resR[]=CRESULTR;
+ float resI[]=CRESULTI;
+ float in2R[]=CSOURCE2R;
+ float in2I[]=CSOURCE2I;
+ float res2R[]=CRESULT2R;
+ float res2I[]=CRESULT2I;
+ floatComplex in,in2,out;
+ int i;
+
+ for (i=0;i<200;i++){
+ in=FloatComplex(inR[i]-1,inI[i]);
+ out=clog1ps(in);
+ assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5);
+ assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6);
+ }
+
+ for (i=0;i<200;i++){
+ in2=FloatComplex(in2R[i]-1,in2I[i]);
+ out=clog1ps(in2);
+ assert(( (fabs(creals(out)-res2R[i]))/(fabs(creals(out))) )<1e-6);
+ assert(( (fabs(cimags(out)-res2I[i]))/(fabs(cimags(out))) )<1e-6);
+ }
}
+void slog1paTest(void) {
+ float in[]=SOURCE;
+ float res[]=RESULT;
+ float out[200];
+ float in2[]=SOURCE2;
+ float res2[]=RESULT2;
+ int i;
+
+ for (i=0;i<200;i++){
+ in[i]=in[i]-1;
+ in2[i]=in2[i]-1;
+ }
+
+ slog1pa(in,200,out);
+ for (i=0;i<200;i++){
+ assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-5);
+ }
+
+ slog1pa(in2,200,out);
+ for (i=0;i<200;i++){
+ assert(( (fabs(out[i]-res2[i]))/(fabs(out[i])) )<1e-4);
+ }
+}
+
+void clog1paTest(void) {
+ float inR[]=CSOURCER;
+ float inI[]=CSOURCEI;
+ float resR[]=CRESULTR;
+ float resI[]=CRESULTI;
+ float in2R[]=CSOURCE2R;
+ float in2I[]=CSOURCE2I;
+ float res2R[]=CRESULT2R;
+ float res2I[]=CRESULT2I;
+ floatComplex *in,*in2,out[200];
+ int i;
+
+ for (i=0;i<200;i++){
+ inR[i]=inR[i]-1;
+ in2R[i]=in2R[i]-1;
+ }
+
+ in=FloatComplexMatrix(inR,inI,200);
+ clog1pa(in,200,out);
+
+ for (i=0;i<200;i++){
+ assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5);
+ assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6);
+ }
+
+
+ in2=FloatComplexMatrix(in2R,in2I,200);
+ clog1pa(in2,200,out);
+
+ for (i=0;i<200;i++){
+ assert(( (fabs(creals(out[i])-res2R[i]))/(fabs(creals(out[i]))) )<1e-6);
+ assert(( (fabs(cimags(out[i])-res2I[i]))/(fabs(cimags(out[i]))) )<1e-6);
+ }
+}
+
+
int testLog1p(void) {
- printf("\n>>>> Float Logarithm x + 1 Tests\n");
+ printf("\n>>>> Float Logarithm 1+x Tests\n");
slog1psTest();
- /* FIXME : Implement some test here ... */
- /*
- clog1psTest();
- slog1paTest();
- clog1paTest();
- */
+ clog1psTest();
+ slog1paTest();
+ clog1paTest();
return 0;
}
diff --git a/src/elementaryFunctions/pow/testDoublePow.c b/src/elementaryFunctions/pow/testDoublePow.c
index 8efa7997..4149b300 100644
--- a/src/elementaryFunctions/pow/testDoublePow.c
+++ b/src/elementaryFunctions/pow/testDoublePow.c
@@ -472,7 +472,7 @@ void dpowaTest(void) {
dpowa(in1,200,0,out2);
dpowa(in1,200,1,out3);
for (i=0;i<200;i++){
- assert(( (fabs(out1[i]-res[i]))/(fabs(out1[i])) )<1e-16);
+ assert(( (fabs(out1[i]-res[i]))/(fabs(out1[i])) )<1e-15);
assert(( (fabs(out2[i]-1))/(fabs(out2[i])) )<1e-16);
assert(( (fabs(out3[i]-in1[i]))/(fabs(out3[i])) )<1e-16);
}
@@ -492,8 +492,8 @@ void zpowaTest(void) {
zpowa(in1,200,in2,out);
for (i=0;i<200;i++){
- assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-16);
- assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-16);
+ assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-15);
+ assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-15);
}
}
@@ -501,11 +501,9 @@ int testPow(void) {
printf("\n>>>> Double Powonential Tests\n");
dpowsTest();
zpowsTest();
- /* FIXME : Implement some test here ... */
- /*
- dpowaTest();
- zpowaTest();
- */
+ dpowaTest();
+ zpowaTest();
+
return 0;
}