Переглянути джерело

D2 match with wolfram alpha

Konstantin Ladutenko 3 роки тому
батько
коміт
b074dcaeab

+ 4 - 4
tests/mpmath_input_arguments.py

@@ -2,20 +2,20 @@ import mpmath as mp
 import numpy as np
 complex_arguments = [
     # // x, [Re(m), Im(m)], Qext, Qsca, test_name
+    [10000, [1.33,-1e-5], 2.004089, 1.723857, 'f'],
+    [10000, [1.5, -1],    2.004368, 1.236574, 'j'],
+    [10000, [10,  -10],   2.005914, 1.795393, 'm'],
+    [80, [1.05,  1],   0, 0, 'Yang'],
     [0.099, [0.75,0], 7.417859e-06, 7.417859e-06, 'a'],
     [0.101, [0.75,0], 8.033538e-06, 8.033538e-06, 'b'],
     [10,    [0.75,0],     2.232265, 2.232265, 'c'],
     [1000,  [0.75,0],     1.997908, 1.997908, 'd'],
     [100,   [1.33,-1e-5], 2.101321, 2.096594, 'e'],
-    [10000, [1.33,-1e-5], 2.004089, 1.723857, 'f'],
     [0.055, [1.5, -1],    0.101491, 1.131687e-05, 'g'],
     [0.056, [1.5, -1],   0.1033467, 1.216311e-05, 'h'],
     [100,   [1.5, -1],    2.097502, 1.283697, 'i'],
-    [10000, [1.5, -1],    2.004368, 1.236574, 'j'],
     [1,     [10,  -10],   2.532993, 2.049405, 'k'],
     [100,   [10,  -10,],  2.071124, 1.836785, 'l'],
-    [10000, [10,  -10],   2.005914, 1.795393, 'm'],
-    [80, [1.05,  1],   0, 0, 'Yang'],
     [1, [mp.pi,  1],   0, 0, 'pi'],
     [1, [mp.pi,  -1],   0, 0, 'pi'],
     [1, [mp.pi,  mp.pi],   0, 0, 'pi'],

+ 27 - 1
tests/mpmath_riccati_bessel.py

@@ -8,10 +8,23 @@ def LeRu_cutoff(z):
     return int(x + 11 * x**(1/3) + 1)
 
 
+# Wu, Wang, Radio Science, Volume 26, Number 6, Pages 1393-1401, November-December 1991,
+# after eq 13f.
 # Riccati-Bessel z*j_n(z)
 def psi(n,z):
     return mp.sqrt( (mp.pi * z)/2 ) * mp.autoprec(mp.besselj)(n+1/2,z)
+# Riccati-Bessel -z*y_n(z)
+def xi(n,z):
+    return -mp.sqrt( (mp.pi * z)/2 ) * mp.autoprec(mp.bessely)(n+1/2,z)
+# Riccati-Bessel psi - i* xi
+def ksi(n,z):
+    return psi(n,z) - 1.j * xi(n,z)
 
+def psi_div_ksi(n,z):
+    return psi(n,z)/ksi(n,z)
+
+def psi_div_xi(n,z):
+    return psi(n,z)/xi(n,z)
 
 # to compare r(n,z) with Wolfram Alpha
 # n=49, z=1.3-2.1i,  SphericalBesselJ[n-1,z]/SphericalBesselJ[n,z]
@@ -21,5 +34,18 @@ def r(n,z):
     return mp.cos(z)/mp.sin(z)
 
 
+def D(n, z, f):
+    return f(n-1,z)/f(n,z) - n/z
+
 def D1(n,z):
-    return r(n,z) - n/z
+    if n == 0: return mp.cos(z)/mp.sin(z)
+    return D(n, z, psi)
+
+# Wolfram Alpha example D2(10, 10-10j): SphericalBesselY[9, 10-10i]/SphericalBesselY[10,10-10i]-10/(10-10i)
+def D2(n,z):
+    if n == 0: return -mp.sin(z)/mp.cos(z)
+    return D(n, z, xi)
+
+def D3(n,z):
+    if n == 0: return 1j
+    return D(n, z, ksi)

+ 11 - 4
tests/mpmath_special_functions_test_generator.py

@@ -15,7 +15,6 @@ class TestData:
 
     def cpp_parse(self, list_to_parse):
         self.comment = list_to_parse[0]
-        print(self.comment)
         if self.comment[:2] != '//': raise ValueError('Not a comment')
         self.typeline = list_to_parse[1]
         if 'std::vector' not in self.typeline: raise ValueError('Unexpected C++ container')
@@ -112,7 +111,7 @@ class UpdateSpecialFunctionsEvaluations:
         return z_str
 
     def get_test_data(self, Du_test, output_dps, max_num_elements_of_n_list, func, funcname):
-        output_list = ['// complex(z), n, complex(D1(n,z)), abs_err_real, abs_err_imag',
+        output_list = ['// complex(z), n, complex(f(n,z)), abs_err_real, abs_err_imag',
         'std::vector< std::tuple< std::complex<double>, int, std::complex<double>, double, double > >',
         str(funcname)+'_test_' + str(output_dps) + 'digits','= {']
         for z_record in Du_test:
@@ -122,7 +121,9 @@ class UpdateSpecialFunctionsEvaluations:
             mp.mp.dps = 20
             z = mp.mpf(x) * mp.mpc(mr, mi)
             n_list = self.get_n_list(z, max_num_elements_of_n_list)
+            if z_record[4] == 'Yang': n_list = [0,1,30,50,60,70,75,80,85,90,99,116,130]
             print(z, n_list)
+            failed_evaluations = 0
             for n in n_list:
                 mp.mp.dps = 20
                 old_z_string = self.get_test_data_nlist(z_record, output_dps, n, func)
@@ -139,7 +140,9 @@ class UpdateSpecialFunctionsEvaluations:
                 if new_z_string != '':
                     output_list.append(new_z_string)
                 else:
-                    break
+                    failed_evaluations += 1
+                #     break
+            print("\nFailed evaluations ", failed_evaluations, ' of ', len(n_list))
         output_list.append('};')
         return output_list
 
@@ -156,8 +159,12 @@ def main():
     sf_evals = UpdateSpecialFunctionsEvaluations(filename='test_spec_functions_data.hpp',
                                                  complex_arguments=mia.complex_arguments,
                                                  output_dps=16, max_num_elements_of_nlist=51)
-                                                 # output_dps=3, max_num_elements_of_nlist=3)
+                                                 # output_dps=5, max_num_elements_of_nlist=3)
     # sf_evals.run_test(mrb.D1, 'D1')
+    sf_evals.run_test(mrb.D2, 'D2')
+    # sf_evals.run_test(mrb.D3, 'D3')
+    # sf_evals.run_test(mrb.psi_div_ksi, 'psi_div_ksi')
+    # sf_evals.run_test(mrb.psi_div_xi, 'psi_div_xi')
     with open(sf_evals.filename, 'w') as out_file:
         out_file.write(sf_evals.get_file_content())
 

+ 529 - 0
tests/test_spec_functions_data.hpp

@@ -565,3 +565,532 @@ D1_test_16digits
 {{3.141592653589793,0.0},18,{5.966831036716779,0.0},6.0e-16,0.0},
 {{3.141592653589793,0.0},20,{6.611070983143533,0.0},6.6e-16,0.0},
 };
+
+// complex(z), n, complex(f(n,z)), abs_err_real, abs_err_imag
+std::vector< std::tuple< std::complex<double>, int, std::complex<double>, double, double > >
+D2_test_16digits
+= {
+{{0.07425,0.0},0,{-0.07438674986902373,0.0},7.4e-18,0.0},
+{{0.07425,0.0},1,{-13.39417131419206,0.0},1.3e-15,0.0},
+{{0.07425,0.0},2,{-26.91123162027382,0.0},2.7e-15,0.0},
+{{0.07425,0.0},3,{-40.3891849341013,0.0},4.0e-15,0.0},
+{{0.07425,0.0},4,{-53.86144505752241,0.0},5.4e-15,0.0},
+{{0.07575,0.0},0,{-0.07589521939842851,0.0},7.6e-18,0.0},
+{{0.07575,0.0},1,{-13.12600313416894,0.0},1.3e-15,0.0},
+{{0.07575,0.0},2,{-26.37734215323807,0.0},2.6e-15,0.0},
+{{0.07575,0.0},3,{-39.58880458732769,0.0},4.0e-15,0.0},
+{{0.07575,0.0},4,{-52.79445732439479,0.0},5.3e-15,0.0},
+{{7.5,0.0},0,{-2.706013866772691,0.0},2.7e-16,0.0},
+{{7.5,0.0},1,{0.2188602976402436,0.0},2.2e-17,0.0},
+{{7.5,0.0},2,{20.65104828146692,0.0},2.1e-15,0.0},
+{{7.5,0.0},3,{-0.4493801597873413,0.0},4.5e-17,0.0},
+{{7.5,0.0},4,{0.4842572533435941,0.0},4.8e-17,0.0},
+{{7.5,0.0},5,{4.81550654897139,0.0},4.8e-16,0.0},
+{{7.5,0.0},6,{-1.049034583259778,0.0},1.0e-16,0.0},
+{{7.5,0.0},7,{-0.4288861055358842,0.0},4.3e-17,0.0},
+{{7.5,0.0},8,{-0.3980175767871659,0.0},4.0e-17,0.0},
+{{7.5,0.0},9,{-0.5742246552691164,0.0},5.7e-17,0.0},
+{{7.5,0.0},10,{-0.809102874298828,0.0},8.1e-17,0.0},
+{{7.5,0.0},11,{-1.027254862439886,0.0},1.0e-16,0.0},
+{{7.5,0.0},12,{-1.219374574466933,0.0},1.2e-16,0.0},
+{{7.5,0.0},13,{-1.39466116147432,0.0},1.4e-16,0.0},
+{{7.5,0.0},14,{-1.560043091026306,0.0},1.6e-16,0.0},
+{{7.5,0.0},16,{-1.873757439540259,0.0},1.9e-16,0.0},
+{{7.5,0.0},17,{-2.025145514642434,0.0},2.0e-16,0.0},
+{{7.5,0.0},18,{-2.174018730753354,0.0},2.2e-16,0.0},
+{{7.5,0.0},19,{-2.320899679256512,0.0},2.3e-16,0.0},
+{{7.5,0.0},21,{-2.610108605596247,0.0},2.6e-16,0.0},
+{{7.5,0.0},22,{-2.752939994498599,0.0},2.8e-16,0.0},
+{{7.5,0.0},24,{-3.035926615655057,0.0},3.0e-16,0.0},
+{{7.5,0.0},26,{-3.316132176384959,0.0},3.3e-16,0.0},
+{{7.5,0.0},27,{-3.455410513492717,0.0},3.5e-16,0.0},
+{{7.5,0.0},30,{-3.870677968225079,0.0},3.9e-16,0.0},
+{{750.0,0.0},0,{1.117079400838733,0.0},1.1e-16,0.0},
+{{750.0,0.0},1,{-0.8975946145725433,0.0},9.0e-17,0.0},
+{{750.0,0.0},2,{1.108121968632076,0.0},1.1e-16,0.0},
+{{750.0,0.0},3,{-0.9096970410967588,0.0},9.1e-17,0.0},
+{{750.0,0.0},4,{1.087526562845337,0.0},1.1e-16,0.0},
+{{750.0,0.0},5,{-0.9318559567267879,0.0},9.3e-17,0.0},
+{{750.0,0.0},6,{1.055992830861736,0.0},1.1e-16,0.0},
+{{750.0,0.0},7,{-0.9647538902206642,0.0},9.6e-17,0.0},
+{{750.0,0.0},9,{-1.009474246275747,0.0},1.0e-16,0.0},
+{{750.0,0.0},10,{0.9643676731279237,0.0},9.6e-17,0.0},
+{{750.0,0.0},11,{-1.067629644695052,0.0},1.1e-16,0.0},
+{{750.0,0.0},13,{-1.141571574212259,0.0},1.1e-16,0.0},
+{{750.0,0.0},15,{-1.234734314089206,0.0},1.2e-16,0.0},
+{{750.0,0.0},18,{0.7026309682530627,0.0},7.0e-17,0.0},
+{{750.0,0.0},20,{0.6275884453721258,0.0},6.3e-17,0.0},
+{{750.0,0.0},23,{-1.95499529719246,0.0},2.0e-16,0.0},
+{{750.0,0.0},27,{-2.856016621139734,0.0},2.9e-16,0.0},
+{{750.0,0.0},31,{-5.515179542724612,0.0},5.5e-16,0.0},
+{{750.0,0.0},35,{-2046.667830368851,0.0},2.0e-13,0.0},
+{{750.0,0.0},41,{3.142443680429311,0.0},3.1e-16,0.0},
+{{750.0,0.0},47,{1.275705385420439,0.0},1.3e-16,0.0},
+{{750.0,0.0},54,{-2.171423411849925,0.0},2.2e-16,0.0},
+{{750.0,0.0},62,{5.070303280958446,0.0},5.1e-16,0.0},
+{{750.0,0.0},71,{-1.547407386670151,0.0},1.5e-16,0.0},
+{{750.0,0.0},81,{2.057198576589978,0.0},2.1e-16,0.0},
+{{750.0,0.0},93,{-0.2880574210963995,0.0},2.9e-17,0.0},
+{{750.0,0.0},107,{1.467167039386753,0.0},1.5e-16,0.0},
+{{750.0,0.0},123,{-13.25668132285312,0.0},1.3e-15,0.0},
+{{750.0,0.0},141,{-51.66788150986426,0.0},5.2e-15,0.0},
+{{750.0,0.0},162,{-2.044123043949385,0.0},2.0e-16,0.0},
+{{750.0,0.0},186,{-0.5017806375070012,0.0},5.0e-17,0.0},
+{{750.0,0.0},214,{4.680543422413898,0.0},4.7e-16,0.0},
+{{750.0,0.0},246,{0.9652329906986826,0.0},9.7e-17,0.0},
+{{750.0,0.0},282,{0.3764839152874788,0.0},3.8e-17,0.0},
+{{750.0,0.0},324,{-5.441038845652591,0.0},5.4e-16,0.0},
+{{750.0,0.0},372,{0.5017189777039316,0.0},5.0e-17,0.0},
+{{750.0,0.0},427,{-0.5396391858059278,0.0},5.4e-17,0.0},
+{{750.0,0.0},490,{0.2475300359343486,0.0},2.5e-17,0.0},
+{{750.0,0.0},562,{0.6550877387674529,0.0},6.6e-17,0.0},
+{{750.0,0.0},645,{-0.0647479220258492,0.0},6.5e-18,0.0},
+{{750.0,0.0},740,{0.9500952443721748,0.0},9.5e-17,0.0},
+{{750.0,0.0},850,{-0.5317183378262854,0.0},5.3e-17,0.0},
+{{133.0,-0.001},0,{-1.755932485461304,0.004083310122507825},1.8e-16,4.1e-19},
+{{133.0,-0.001},1,{0.5595479819348692,0.001312980852946314},5.6e-17,1.3e-19},
+{{133.0,-0.001},2,{-1.85153917185983,0.004427871815312255},1.9e-16,4.4e-19},
+{{133.0,-0.001},3,{0.5110313502646276,0.001260474562555223},5.1e-17,1.3e-19},
+{{133.0,-0.001},4,{-2.109252486188721,0.005447837827720917},2.1e-16,5.4e-19},
+{{133.0,-0.001},5,{0.4282025099144422,0.001181661243690889},4.3e-17,1.2e-19},
+{{133.0,-0.001},6,{-2.655442472579592,0.00804905444898751},2.7e-16,8.0e-19},
+{{133.0,-0.001},7,{0.316631280080747,0.001097089303706201},3.2e-17,1.1e-19},
+{{133.0,-0.001},8,{-3.959004842334986,0.01666990476526257},4.0e-16,1.7e-18},
+{{133.0,-0.001},9,{0.1806704887948465,0.001027553610539269},1.8e-17,1.0e-19},
+{{133.0,-0.001},10,{-9.554533249350271,0.09229128245066224},9.6e-16,9.2e-18},
+{{133.0,-0.001},11,{0.02104786595968763,0.0009929804198924497},2.1e-18,9.9e-20},
+{{133.0,-0.001},13,{-0.1678332578687873,0.00101787881523943},1.7e-17,1.0e-19},
+{{133.0,-0.001},14,{3.556396506011055,0.01363625230438085},3.6e-16,1.4e-18},
+{{133.0,-0.001},16,{1.790016651664875,0.00418879487195259},1.8e-16,4.2e-19},
+{{133.0,-0.001},18,{1.021038366775945,0.002023186744680601},1.0e-16,2.0e-19},
+{{133.0,-0.001},20,{0.5479729709732455,0.001276530775240961},5.5e-17,1.3e-19},
+{{133.0,-0.001},22,{0.1809795706420653,0.001004147964731335},1.8e-17,1.0e-19},
+{{133.0,-0.001},24,{-0.1724263550949475,0.000995811171991787},1.7e-17,1.0e-19},
+{{133.0,-0.001},27,{1.021452430742276,0.002000628091838396},1.0e-16,2.0e-19},
+{{133.0,-0.001},30,{-6.547396546792233,0.04381769113586676},6.5e-16,4.4e-18},
+{{133.0,-0.001},34,{0.8656406474529488,0.001682061020627086},8.7e-17,1.7e-19},
+{{133.0,-0.001},38,{-0.3838684285342646,0.001063573921879943},3.8e-17,1.1e-19},
+{{133.0,-0.001},42,{19.71892539138212,0.3898854651258534},2.0e-15,3.9e-17},
+{{133.0,-0.001},47,{4.536308169130143,0.02145099010357844},4.5e-16,2.1e-18},
+{{133.0,-0.001},52,{1.466938589766846,0.002996111386699881},1.5e-16,3.0e-19},
+{{133.0,-0.001},58,{485.6616787894604,618.8805818920891},4.9e-14,6.2e-14},
+{{133.0,-0.001},65,{-0.2272687651498732,0.0008091273274344002},2.3e-17,8.1e-20},
+{{133.0,-0.001},72,{0.622303863806427,0.001090128451858948},6.2e-17,1.1e-19},
+{{133.0,-0.001},80,{-1.656082363658833,0.003376287990811771},1.7e-16,3.4e-19},
+{{133.0,-0.001},89,{0.3916329094110811,0.0007005525248592523},3.9e-17,7.0e-20},
+{{133.0,-0.001},99,{-1.421092555792892,0.002459838815433856},1.4e-16,2.5e-19},
+{{133.0,-0.001},111,{0.2415850593901129,0.0003555536690688075},2.4e-17,3.6e-20},
+{{133.0,-0.001},123,{-0.02936353008964981,0.0001386314460729032},2.9e-18,1.4e-20},
+{{133.0,-0.001},137,{-0.2015744636220535,-2.816755428233205e-5},2.0e-17,2.8e-21},
+{{133.0,-0.001},153,{-0.5603119660277999,-1.806474698095854e-5},5.6e-17,1.8e-21},
+{{133.0,-0.001},170,{-0.7923542900597165,-1.556887877560696e-5},7.9e-17,1.6e-21},
+{{133.0,-0.001},190,{-1.018068108577178,-1.509479127100921e-5},1.0e-16,1.5e-21},
+{{13300.0,-0.1},0,{4.614747555432858,6.903177205927318},4.6e-16,6.9e-16},
+{{13300.0,-0.1},1,{-0.06700391181106944,0.1001199654937619},6.7e-18,1.0e-17},
+{{13300.0,-0.1},2,{4.620439133200172,6.888811904783909},4.6e-16,6.9e-16},
+{{13300.0,-0.1},3,{-0.06737777840760444,0.1001250179841278},6.7e-18,1.0e-17},
+{{13300.0,-0.1},4,{4.633500440086391,6.855341200224173},4.6e-16,6.9e-16},
+{{13300.0,-0.1},5,{-0.06805078507601441,0.1001341840454214},6.8e-18,1.0e-17},
+{{13300.0,-0.1},6,{4.653411812962385,6.802886700800537},4.7e-16,6.8e-16},
+{{13300.0,-0.1},8,{4.67937396079206,6.731654983192257},4.7e-16,6.7e-16},
+{{13300.0,-0.1},10,{4.710331246539195,6.641956515928427},4.7e-16,6.6e-16},
+{{13300.0,-0.1},12,{4.745003601522665,6.534228448806732},4.7e-16,6.5e-16},
+{{13300.0,-0.1},15,{-0.07590717256243298,0.1002479325549111},7.6e-18,1.0e-17},
+{{13300.0,-0.1},18,{4.856045166555225,6.109630111782805},4.9e-16,6.1e-16},
+{{13300.0,-0.1},22,{4.919273005297511,5.752106274215477},4.9e-16,5.8e-16},
+{{13300.0,-0.1},27,{-0.09525261713282836,0.1005810209670254},9.5e-18,1.0e-17},
+{{13300.0,-0.1},32,{4.952248503162073,4.686287618645416},5.0e-16,4.7e-16},
+{{13300.0,-0.1},40,{4.797687411598633,3.78137609812792},4.8e-16,3.8e-16},
+{{13300.0,-0.1},48,{4.492316448297681,2.947900994893757},4.5e-16,2.9e-16},
+{{13300.0,-0.1},59,{-0.2012137580358194,0.1037434227328889},2.0e-17,1.0e-17},
+{{13300.0,-0.1},71,{-0.2628537776724217,0.1066253638228959},2.6e-17,1.1e-17},
+{{13300.0,-0.1},87,{-0.3668752907013172,0.1132318830176521},3.7e-17,1.1e-17},
+{{13300.0,-0.1},105,{-0.521456532121871,0.1271109141308341},5.2e-17,1.3e-17},
+{{13300.0,-0.1},128,{1.186380086092666,0.243429422789328},1.2e-16,2.4e-17},
+{{13300.0,-0.1},155,{-1.433857954348046,0.3111242864463406},1.4e-16,3.1e-17},
+{{13300.0,-0.1},189,{-4.525078832396816,3.018783582231741},4.5e-16,3.0e-16},
+{{13300.0,-0.1},229,{1.847521018961361,0.4560381399785403},1.8e-16,4.6e-17},
+{{13300.0,-0.1},279,{0.1365813763007464,0.1015023822518041},1.4e-17,1.0e-17},
+{{13300.0,-0.1},338,{0.3464203993678584,0.111699197945671},3.5e-17,1.1e-17},
+{{13300.0,-0.1},411,{-0.1502261435561727,0.1018452715781982},1.5e-17,1.0e-17},
+{{13300.0,-0.1},499,{-0.02327966666385402,0.09958243666762214},2.3e-18,1.0e-17},
+{{13300.0,-0.1},606,{0.2404529773197536,0.1052851410218373},2.4e-17,1.1e-17},
+{{13300.0,-0.1},736,{-0.04406458473931691,0.09955884001348248},4.4e-18,1.0e-17},
+{{13300.0,-0.1},894,{-0.3202522349091168,0.1095537561774465},3.2e-17,1.1e-17},
+{{0.0825,-0.055},0,{-0.08243635461047968,0.05531913702894625},8.2e-18,5.5e-18},
+{{0.0825,-0.055},1,{-8.308927454476161,-5.648450253463678},8.3e-16,5.6e-16},
+{{0.0825,-0.055},2,{-16.7557368852332,-11.20725067418851},1.7e-15,1.1e-15},
+{{0.0825,-0.055},3,{-25.15832772040454,-16.79422954904686},2.5e-15,1.7e-15},
+{{0.0825,-0.055},4,{-33.55464861977138,-22.38548342593486},3.4e-15,2.2e-15},
+{{0.0825,-0.055},5,{-41.94887562222077,-27.97814077051338},4.2e-15,2.8e-15},
+{{0.084,-0.056},0,{-0.0839327708281362,0.05633687249618312},8.4e-18,5.6e-18},
+{{0.084,-0.056},1,{-8.157567495279937,-5.549497143255095},8.2e-16,5.5e-16},
+{{0.084,-0.056},2,{-16.45553767517591,-11.00778969816477},1.6e-15,1.1e-15},
+{{0.084,-0.056},3,{-24.70847741417365,-16.49472995881217},2.5e-15,1.6e-15},
+{{0.084,-0.056},4,{-32.95503377743467,-21.98602610042692},3.3e-15,2.2e-15},
+{{0.084,-0.056},5,{-41.19945822470811,-27.47875147585194},4.1e-15,2.7e-15},
+{{150.0,-100.0},0,{0.0,1.0},0.0,1.0e-16},
+{{150.0,-100.0},1,{2.843446142415215e-5,0.9999879975137707},2.8e-21,1.0e-16},
+{{150.0,-100.0},2,{8.530546307582867e-5,0.9999639945278075},8.5e-21,1.0e-16},
+{{150.0,-100.0},3,{0.0001706171621018294,0.9999279950163633},1.7e-20,1.0e-16},
+{{150.0,-100.0},4,{0.0002843757930710271,0.9998800049439736},2.8e-20,1.0e-16},
+{{150.0,-100.0},5,{0.0004265896665886721,0.9998200322692436},4.3e-20,1.0e-16},
+{{150.0,-100.0},6,{0.0005972691674419548,0.9997480869498983},6.0e-20,1.0e-16},
+{{150.0,-100.0},7,{0.0007964267522709527,0.9996641809490963},8.0e-20,1.0e-16},
+{{150.0,-100.0},8,{0.00102407694675761,0.9995683282430072},1.0e-19,1.0e-16},
+{{150.0,-100.0},9,{0.00128023634232391,0.9994605448296522},1.3e-19,1.0e-16},
+{{150.0,-100.0},10,{0.001564923592328917,0.9993408487390114},1.6e-19,1.0e-16},
+{{150.0,-100.0},11,{0.001878159407752843,0.9992092600443944},1.9e-19,1.0e-16},
+{{150.0,-100.0},13,{0.002590369837289386,0.9989104954302121},2.6e-19,1.0e-16},
+{{150.0,-100.0},14,{0.00298939611516564,0.9987433699939862},3.0e-19,1.0e-16},
+{{150.0,-100.0},16,{0.003873435227757143,0.9983737748093285},3.9e-19,1.0e-16},
+{{150.0,-100.0},18,{0.004872339277414041,0.9979572679518337},4.9e-19,1.0e-16},
+{{150.0,-100.0},20,{0.005986395833822033,0.9974941365968234},6.0e-19,1.0e-16},
+{{150.0,-100.0},23,{0.007874099052632083,0.9967127337760088},7.9e-19,1.0e-16},
+{{150.0,-100.0},25,{0.009277503354313094,0.9961345308813246},9.3e-19,1.0e-16},
+{{150.0,-100.0},28,{0.01160100676383971,0.9951823607169391},1.2e-18,1.0e-16},
+{{150.0,-100.0},32,{0.01510901086355875,0.9937568640084211},1.5e-18,9.9e-17},
+{{150.0,-100.0},36,{0.01908918342782489,0.9921571004610474},1.9e-18,9.9e-17},
+{{150.0,-100.0},40,{0.02354587104484002,0.9903880144943982},2.4e-18,9.9e-17},
+{{150.0,-100.0},45,{0.02979413543062971,0.9879472558178808},3.0e-18,9.9e-17},
+{{150.0,-100.0},50,{0.03680460257368647,0.9852636279950512},3.7e-18,9.9e-17},
+{{150.0,-100.0},56,{0.04623879299306301,0.9817437270787975},4.6e-18,9.8e-17},
+{{150.0,-100.0},63,{0.0586796236633904,0.9772624595377325},5.9e-18,9.8e-17},
+{{150.0,-100.0},70,{0.07269699196001319,0.9724315577932775},7.3e-18,9.7e-17},
+{{150.0,-100.0},79,{0.09308980557940935,0.9658151551886195},9.3e-18,9.7e-17},
+{{150.0,-100.0},88,{0.1162106157597911,0.9589010850023701},1.2e-17,9.6e-17},
+{{150.0,-100.0},99,{0.1482499511213339,0.9503432706265742},1.5e-17,9.5e-17},
+{{150.0,-100.0},110,{0.1844891775002465,0.942077521625097},1.8e-17,9.4e-17},
+{{150.0,-100.0},124,{0.2366138163715955,0.9327620274359084},2.4e-17,9.3e-17},
+{{150.0,-100.0},138,{0.2951156237977729,0.9257996281241172},3.0e-17,9.3e-17},
+{{150.0,-100.0},155,{0.3736901981577194,0.9219460879367076},3.7e-17,9.2e-17},
+{{150.0,-100.0},173,{0.4639503501955034,0.9246903001742347},4.6e-17,9.2e-17},
+{{150.0,-100.0},194,{0.5752057635148606,0.937452947416621},5.8e-17,9.4e-17},
+{{150.0,-100.0},217,{0.7005909220570307,0.9624716963506404},7.0e-17,9.6e-17},
+{{150.0,-100.0},243,{-0.8372669013633853,-1.002095118774358},8.4e-17,1.0e-16},
+{{15000.0,-10000.0},0,{0.0,1.0},0.0,1.0e-16},
+{{15000.0,-10000.0},1,{2.84026945162933e-9,0.9999999988164005},2.8e-25,1.0e-16},
+{{15000.0,-10000.0},2,{8.520808375061527e-9,0.9999999964492016},8.5e-25,1.0e-16},
+{{15000.0,-10000.0},3,{1.704161681064366e-8,0.9999999928984033},1.7e-24,1.0e-16},
+{{15000.0,-10000.0},4,{2.840269481889634e-8,0.9999999881640057},2.8e-24,1.0e-16},
+{{15000.0,-10000.0},6,{5.96456598963634e-8,0.9999999751444127},6.0e-24,1.0e-16},
+{{15000.0,-10000.0},7,{7.952754718748665e-8,0.9999999668592176},8.0e-24,1.0e-16},
+{{15000.0,-10000.0},9,{1.278121319805862e-7,0.9999999467380309},1.3e-23,1.0e-16},
+{{15000.0,-10000.0},11,{1.874577982316124e-7,0.9999999218824499},1.9e-23,1.0e-16},
+{{15000.0,-10000.0},13,{2.584645476351414e-7,0.9999998922924764},2.6e-23,1.0e-16},
+{{15000.0,-10000.0},16,{3.862767071525949e-7,0.9999998390305346},3.9e-23,1.0e-16},
+{{15000.0,-10000.0},20,{5.964567324115234e-7,0.9999997514442596},6.0e-23,1.0e-16},
+{{15000.0,-10000.0},24,{8.520811370830121e-7,0.9999996449204608},8.5e-23,1.0e-16},
+{{15000.0,-10000.0},30,{1.320726020447437e-6,0.99999944962697},1.3e-22,1.0e-16},
+{{15000.0,-10000.0},36,{1.891620943893063e-6,0.9999992117242355},1.9e-22,1.0e-16},
+{{15000.0,-10000.0},44,{2.811870049126164e-6,0.9999988282397975},2.8e-22,1.0e-16},
+{{15000.0,-10000.0},54,{4.217807545189578e-6,0.9999982423621463},4.2e-22,1.0e-16},
+{{15000.0,-10000.0},67,{6.470151250788692e-6,0.9999973037777175},6.5e-22,1.0e-16},
+{{15000.0,-10000.0},82,{9.665475868536043e-6,0.9999959722496228},9.7e-22,1.0e-16},
+{{15000.0,-10000.0},100,{1.434344645897526e-5,0.9999940229077095},1.4e-21,1.0e-16},
+{{15000.0,-10000.0},122,{2.131073094626111e-5,0.9999911196408604},2.1e-21,1.0e-16},
+{{15000.0,-10000.0},149,{3.174043095735599e-5,0.9999867736922388},3.2e-21,1.0e-16},
+{{15000.0,-10000.0},182,{4.729993952558016e-5,0.999980290442509},4.7e-21,1.0e-16},
+{{15000.0,-10000.0},223,{7.094066703164427e-5,0.9999704404991336},7.1e-21,1.0e-16},
+{{15000.0,-10000.0},272,{0.0001054581586252006,0.9999560599143091},1.1e-20,1.0e-16},
+{{15000.0,-10000.0},333,{0.0001579606214003589,0.999934189160139},1.6e-20,1.0e-16},
+{{15000.0,-10000.0},407,{0.0002358450668200512,0.9999017510880184},2.4e-20,1.0e-16},
+{{15000.0,-10000.0},497,{0.0003515433469161231,0.9998535770854752},3.5e-20,1.0e-16},
+{{15000.0,-10000.0},608,{0.0005259513321601364,0.9997809874552286},5.3e-20,1.0e-16},
+{{15000.0,-10000.0},742,{0.0007831841585954275,0.9996739907967603},7.8e-20,1.0e-16},
+{{15000.0,-10000.0},907,{0.0011701301961291,0.9995131858706238},1.2e-19,1.0e-16},
+{{15000.0,-10000.0},1108,{0.001746289656337749,0.9992740743002811},1.7e-19,1.0e-16},
+{{10.0,-10.0},0,{-3.763440814919645e-9,0.9999999983177604},3.8e-25,1.0e-16},
+{{10.0,-10.0},1,{0.005248623115179036,0.9997237583181085},5.2e-19,1.0e-16},
+{{10.0,-10.0},2,{0.01576495447101375,0.9992608587081221},1.6e-18,1.0e-16},
+{{10.0,-10.0},3,{0.03157954043367911,0.9987938624733678},3.2e-18,1.0e-16},
+{{10.0,-10.0},4,{0.0527177180309408,0.9986035581496452},5.3e-18,1.0e-16},
+{{10.0,-10.0},5,{0.07917270380999578,0.9990724197753827},7.9e-18,1.0e-16},
+{{10.0,-10.0},6,{0.110866750289679,1.000679844773896},1.1e-17,1.0e-16},
+{{10.0,-10.0},7,{0.1476044311765346,1.003978062143049},1.5e-17,1.0e-16},
+{{10.0,-10.0},8,{0.1890307553344407,1.009540016125975},1.9e-17,1.0e-16},
+{{10.0,-10.0},9,{0.2346172797969706,1.017877045314806},2.3e-17,1.0e-16},
+{{10.0,-10.0},10,{0.2837076891885337,1.029354368502019},2.8e-17,1.0e-16},
+{{10.0,-10.0},11,{0.3355976511192389,1.044169585691451},3.4e-17,1.0e-16},
+{{10.0,-10.0},12,{0.3895474401248102,1.062341043348631},3.9e-17,1.1e-16},
+{{10.0,-10.0},13,{0.4449795008657504,1.083540227244108},4.4e-17,1.1e-16},
+{{10.0,-10.0},14,{0.502141176316858,1.107970345557783},5.0e-17,1.1e-16},
+{{10.0,-10.0},15,{0.5574325008950879,1.13826065251242},5.6e-17,1.1e-16},
+{{10.0,-10.0},16,{0.6000261699184189,1.152338081229276},6.0e-17,1.2e-16},
+{{10.0,-10.0},17,{0.7743117367306578,1.114570825838322},7.7e-17,1.1e-16},
+{{10.0,-10.0},19,{-1.018691443441228,-0.3404093423079018},1.0e-16,3.4e-17},
+{{10.0,-10.0},20,{-0.6562064106383793,-1.22827864085079},6.6e-17,1.2e-16},
+{{10.0,-10.0},22,{-0.8994841590964667,-1.351364251644257},9.0e-17,1.4e-16},
+{{10.0,-10.0},24,{-1.010114210057893,-1.428249525616057},1.0e-16,1.4e-16},
+{{10.0,-10.0},26,{-1.121571868695886,-1.508752994397692},1.1e-16,1.5e-16},
+{{10.0,-10.0},28,{-1.232057361701878,-1.59226739517027},1.2e-16,1.6e-16},
+{{10.0,-10.0},30,{-1.341605814952982,-1.678172998408917},1.3e-16,1.7e-16},
+{{10.0,-10.0},32,{-1.450280946629746,-1.766001175742214},1.5e-16,1.8e-16},
+{{10.0,-10.0},35,{-1.61183053709236,-1.900583633650779},1.6e-16,1.9e-16},
+{{10.0,-10.0},38,{-1.771864654785485,-2.037807192748481},1.8e-16,2.0e-16},
+{{10.0,-10.0},41,{-1.930627357152795,-2.177049750382095},1.9e-16,2.2e-16},
+{{1000.0,-1000.0},0,{0.0,1.0},0.0,1.0e-16},
+{{1000.0,-1000.0},1,{5.002499998748749e-7,0.9999999997497499},5.0e-23,1.0e-16},
+{{1000.0,-1000.0},2,{1.500750001128378e-6,0.9999999992500011},1.5e-22,1.0e-16},
+{{1000.0,-1000.0},3,{3.00150000676237e-6,0.9999999985022568},3.0e-22,1.0e-16},
+{{1000.0,-1000.0},4,{5.00250002126552e-6,0.9999999975087713},5.0e-22,1.0e-16},
+{{1000.0,-1000.0},5,{7.503750050596369e-6,0.9999999962725506},7.5e-22,1.0e-16},
+{{1000.0,-1000.0},6,{1.050525010216073e-5,0.9999999947973524},1.1e-21,1.0e-16},
+{{1000.0,-1000.0},7,{1.400700018478347e-5,0.9999999930876855},1.4e-21,1.0e-16},
+{{1000.0,-1000.0},8,{1.80090003086746e-5,0.9999999911488105},1.8e-21,1.0e-16},
+{{1000.0,-1000.0},9,{2.251125048538976e-5,0.9999999889867394},2.3e-21,1.0e-16},
+{{1000.0,-1000.0},10,{2.751375072778502e-5,0.9999999866082357},2.8e-21,1.0e-16},
+{{1000.0,-1000.0},12,{3.901950146723182e-5,0.9999999812327419},3.9e-21,1.0e-16},
+{{1000.0,-1000.0},14,{5.252625265379987e-5,0.9999999750914671},5.3e-21,1.0e-16},
+{{1000.0,-1000.0},17,{7.653825559050745e-5,0.9999999646245457},7.7e-21,1.0e-16},
+{{1000.0,-1000.0},19,{9.50475085548141e-5,0.9999999569502054},9.5e-21,1.0e-16},
+{{1000.0,-1000.0},23,{0.0001380690176877228,0.9999999404374454},1.4e-20,1.0e-16},
+{{1000.0,-1000.0},26,{0.0001755877780627563,0.9999999275491787},1.8e-20,1.0e-16},
+{{1000.0,-1000.0},31,{0.0002481240538761745,0.9999999066273459},2.5e-20,1.0e-16},
+{{1000.0,-1000.0},36,{0.0003331665924905277,0.9999998888054551},3.3e-20,1.0e-16},
+{{1000.0,-1000.0},42,{0.0004517259080236875,0.9999998760411714},4.5e-20,1.0e-16},
+{{1000.0,-1000.0},49,{0.0006128065106595112,0.9999998812438183},6.1e-20,1.0e-16},
+{{1000.0,-1000.0},57,{0.0008269136514533391,0.9999999283645704},8.3e-20,1.0e-16},
+{{1000.0,-1000.0},66,{0.001106053297345146,1.000000058709072},1.1e-19,1.0e-16},
+{{1000.0,-1000.0},76,{0.001463732074818832,1.000000339729926},1.5e-19,1.0e-16},
+{{1000.0,-1000.0},89,{0.002003501241446182,1.00000100626577},2.0e-19,1.0e-16},
+{{1000.0,-1000.0},103,{0.002679336553435393,1.000002252009418},2.7e-19,1.0e-16},
+{{1000.0,-1000.0},120,{0.003631804208493562,1.000004783888611},3.6e-19,1.0e-16},
+{{1000.0,-1000.0},140,{0.004937431601678478,1.000009730130343},4.9e-19,1.0e-16},
+{{1000.0,-1000.0},162,{0.006604700059646334,1.000018527158795},6.6e-19,1.0e-16},
+{{1000.0,-1000.0},188,{0.008887168831051061,1.000035082076778},8.9e-19,1.0e-16},
+{{1000.0,-1000.0},219,{0.01205029096912418,1.000066644828964},1.2e-18,1.0e-16},
+{{1000.0,-1000.0},254,{0.01619872875543901,1.00012321763168},1.6e-18,1.0e-16},
+{{1000.0,-1000.0},296,{0.02198414801697587,1.000230868479618},2.2e-18,1.0e-16},
+{{1000.0,-1000.0},343,{0.0295007538861353,1.000420741081373},3.0e-18,1.0e-16},
+{{1000.0,-1000.0},399,{0.03988973871930298,1.000776155171264},4.0e-18,1.0e-16},
+{{1000.0,-1000.0},464,{0.05389147263032123,1.001425680692332},5.4e-18,1.0e-16},
+{{1000.0,-1000.0},539,{0.07261495734101143,1.002599550120942},7.3e-18,1.0e-16},
+{{1000.0,-1000.0},626,{0.09771742312686885,1.004719471621162},9.8e-18,1.0e-16},
+{{1000.0,-1000.0},727,{0.1312681162339697,1.008523139202996},1.3e-17,1.0e-16},
+{{1000.0,-1000.0},844,{0.1757152277012519,1.015251014995986},1.8e-17,1.0e-16},
+{{1000.0,-1000.0},981,{0.2346210439458071,1.027070994847392},2.3e-17,1.0e-16},
+{{1000.0,-1000.0},1139,{0.310242150570885,1.046923754788218},3.1e-17,1.0e-16},
+{{1000.0,-1000.0},1324,{0.4065485659742559,1.079379293699889},4.1e-17,1.1e-16},
+{{1000.0,-1000.0},1537,{0.5238285464936798,1.128789284742771},5.2e-17,1.1e-16},
+{{100000.0,-100000.0},0,{0.0,1.0},0.0,1.0e-16},
+{{100000.0,-100000.0},1,{5.000024999999999e-11,0.9999999999999997},5.0e-27,1.0e-16},
+{{100000.0,-100000.0},2,{1.500007500000001e-10,0.9999999999999992},1.5e-26,1.0e-16},
+{{100000.0,-100000.0},3,{3.000015000000007e-10,0.9999999999999985},3.0e-26,1.0e-16},
+{{100000.0,-100000.0},4,{5.000025000000021e-10,0.9999999999999975},5.0e-26,1.0e-16},
+{{100000.0,-100000.0},5,{7.500037500000051e-10,0.9999999999999963},7.5e-26,1.0e-16},
+{{100000.0,-100000.0},6,{1.05000525000001e-9,0.9999999999999948},1.1e-25,1.0e-16},
+{{100000.0,-100000.0},8,{1.800009000000031e-9,0.999999999999991},1.8e-25,1.0e-16},
+{{100000.0,-100000.0},11,{3.300016500000106e-9,0.9999999999999835},3.3e-25,1.0e-16},
+{{100000.0,-100000.0},14,{5.250026250000272e-9,0.9999999999999738},5.3e-25,1.0e-16},
+{{100000.0,-100000.0},18,{8.550042750000724e-9,0.9999999999999573},8.6e-25,1.0e-16},
+{{100000.0,-100000.0},23,{1.380006900000189e-8,0.9999999999999311},1.4e-24,1.0e-16},
+{{100000.0,-100000.0},29,{2.175010875000471e-8,0.9999999999998915},2.2e-24,1.0e-16},
+{{100000.0,-100000.0},37,{3.515017575001231e-8,0.9999999999998249},3.5e-24,1.0e-16},
+{{100000.0,-100000.0},48,{5.880029400003443e-8,0.9999999999997077},5.9e-24,1.0e-16},
+{{100000.0,-100000.0},61,{9.455047275008891e-8,0.9999999999995317},9.5e-24,1.0e-16},
+{{100000.0,-100000.0},78,{1.540507702502354e-7,0.9999999999992416},1.5e-23,1.0e-16},
+{{100000.0,-100000.0},99,{2.475012375006048e-7,0.9999999999987931},2.5e-23,1.0e-16},
+{{100000.0,-100000.0},126,{4.000520002515681e-7,0.9999999999980797},4.0e-23,1.0e-16},
+{{100000.0,-100000.0},161,{6.520532602541127e-7,0.9999999999969523},6.5e-23,1.0e-16},
+{{100000.0,-100000.0},205,{1.055755278760557e-6,0.9999999999952785},1.1e-22,1.0e-16},
+{{100000.0,-100000.0},262,{1.722658613277119e-6,0.9999999999928704},1.7e-22,1.0e-16},
+{{100000.0,-100000.0},333,{2.780563902816566e-6,0.9999999999899628},2.8e-22,1.0e-16},
+{{100000.0,-100000.0},425,{4.526272631408507e-6,0.9999999999876121},4.5e-22,1.0e-16},
+{{100000.0,-100000.0},541,{7.330586653090414e-6,0.9999999999902157},7.3e-22,1.0e-16},
+{{100000.0,-100000.0},690,{1.191980959932403e-5,1.000000000011442},1.2e-21,1.0e-16},
+{{100000.0,-100000.0},879,{1.933809669012375e-5,1.000000000090291},1.9e-21,1.0e-16},
+{{100000.0,-100000.0},1120,{3.138815693438994e-5,1.000000000335671},3.1e-21,1.0e-16},
+{{100000.0,-100000.0},1427,{5.094415467934417e-5,1.000000001042943},5.1e-21,1.0e-16},
+{{100000.0,-100000.0},1818,{8.267396315355681e-5,1.000000003004152},8.3e-21,1.0e-16},
+{{100000.0,-100000.0},2316,{0.000134154969744219,1.000000008328086},1.3e-20,1.0e-16},
+{{100000.0,-100000.0},2950,{0.000217637333500487,1.000000022595044},2.2e-20,1.0e-16},
+{{84.0,80.0},0,{0.0,-1.0},0.0,1.0e-16},
+{{84.0,80.0},1,{7.464603827832747e-5,-0.9999958865315833},7.5e-21,1.0e-16},
+{{84.0,80.0},30,{0.03476380917941155,-0.9986960671508413},3.5e-18,1.0e-16},
+{{84.0,80.0},50,{0.09529213151796065,-0.9993476540430365},9.5e-18,1.0e-16},
+{{84.0,80.0},60,{0.1364513887195382,-1.001895882686499},1.4e-17,1.0e-16},
+{{84.0,80.0},70,{0.1843883349519242,-1.006979164005027},1.8e-17,1.0e-16},
+{{84.0,80.0},75,{0.210704426733954,-1.010720990235517},2.1e-17,1.0e-16},
+{{84.0,80.0},80,{0.2384524295406244,-1.015382913925872},2.4e-17,1.0e-16},
+{{84.0,80.0},85,{0.267516452413595,-1.02104033737268},2.7e-17,1.0e-16},
+{{84.0,80.0},90,{0.2977711191712456,-1.027753417990229},3.0e-17,1.0e-16},
+{{84.0,80.0},99,{0.354809690353045,-1.042622956892672},3.5e-17,1.0e-16},
+{{84.0,80.0},116,{0.4692294404953319,-1.080629478675675},4.7e-17,1.1e-16},
+{{84.0,80.0},130,{0.5673827835925116,-1.121108944274722},5.7e-17,1.1e-16},
+{{3.1415926535897932384626433832795,1.0},0,{1.55291913825039e-283,-0.7615941559557649},1.6e-299,7.6e-17},
+{{3.1415926535897932384626433832795,1.0},1,{0.2543652937464633,-1.166890950589879},2.5e-17,1.2e-16},
+{{3.1415926535897932384626433832795,1.0},2,{-0.2757806436241079,-0.7338632391162028},2.8e-17,7.3e-17},
+{{3.1415926535897932384626433832795,1.0},3,{-0.1130945543248322,-0.02606968277422969},1.1e-17,2.6e-18},
+{{3.1415926535897932384626433832795,1.0},4,{-0.4215176370891154,0.5658999981749149},4.2e-17,5.7e-17},
+{{3.1415926535897932384626433832795,1.0},5,{-1.033684932723482,0.6861249725005906},1.0e-16,6.9e-17},
+{{3.1415926535897932384626433832795,1.0},6,{-1.433100518692877,0.686666255654999},1.4e-16,6.9e-17},
+{{3.1415926535897932384626433832795,1.0},7,{-1.771199280364419,0.7410093792959839},1.8e-16,7.4e-17},
+{{3.1415926535897932384626433832795,1.0},8,{-2.095643527009305,0.8143293297913233},2.1e-16,8.1e-17},
+{{3.1415926535897932384626433832795,1.0},9,{-2.411516874569569,0.8943325939018383},2.4e-16,8.9e-17},
+{{3.1415926535897932384626433832795,1.0},10,{-2.721411675539054,0.9777768147195448},2.7e-16,9.8e-17},
+{{3.1415926535897932384626433832795,1.0},11,{-3.027111835298974,1.063309102584322},3.0e-16,1.1e-16},
+{{3.1415926535897932384626433832795,1.0},12,{-3.329774296649566,1.150219377262664},3.3e-16,1.2e-16},
+{{3.1415926535897932384626433832795,1.0},13,{-3.630166763485898,1.238094014261345},3.6e-16,1.2e-16},
+{{3.1415926535897932384626433832795,1.0},14,{-3.928817217085422,1.326673720493936},3.9e-16,1.3e-16},
+{{3.1415926535897932384626433832795,1.0},15,{-4.226100742557146,1.415786610072522},4.2e-16,1.4e-16},
+{{3.1415926535897932384626433832795,1.0},16,{-4.522291311689719,1.505313665423152},4.5e-16,1.5e-16},
+{{3.1415926535897932384626433832795,1.0},17,{-4.817593843830251,1.595169551324783},4.8e-16,1.6e-16},
+{{3.1415926535897932384626433832795,1.0},18,{-5.112164766973625,1.685291310034281},5.1e-16,1.7e-16},
+{{3.1415926535897932384626433832795,1.0},20,{-5.699572318128605,1.86615306493475},5.7e-16,1.9e-16},
+{{3.1415926535897932384626433832795,-1.0},0,{1.55291913825039e-283,0.7615941559557649},1.6e-299,7.6e-17},
+{{3.1415926535897932384626433832795,-1.0},1,{0.2543652937464633,1.166890950589879},2.5e-17,1.2e-16},
+{{3.1415926535897932384626433832795,-1.0},2,{-0.2757806436241079,0.7338632391162028},2.8e-17,7.3e-17},
+{{3.1415926535897932384626433832795,-1.0},3,{-0.1130945543248322,0.02606968277422969},1.1e-17,2.6e-18},
+{{3.1415926535897932384626433832795,-1.0},4,{-0.4215176370891154,-0.5658999981749149},4.2e-17,5.7e-17},
+{{3.1415926535897932384626433832795,-1.0},5,{-1.033684932723482,-0.6861249725005906},1.0e-16,6.9e-17},
+{{3.1415926535897932384626433832795,-1.0},6,{-1.433100518692877,-0.686666255654999},1.4e-16,6.9e-17},
+{{3.1415926535897932384626433832795,-1.0},7,{-1.771199280364419,-0.7410093792959839},1.8e-16,7.4e-17},
+{{3.1415926535897932384626433832795,-1.0},8,{-2.095643527009305,-0.8143293297913233},2.1e-16,8.1e-17},
+{{3.1415926535897932384626433832795,-1.0},9,{-2.411516874569569,-0.8943325939018383},2.4e-16,8.9e-17},
+{{3.1415926535897932384626433832795,-1.0},10,{-2.721411675539054,-0.9777768147195448},2.7e-16,9.8e-17},
+{{3.1415926535897932384626433832795,-1.0},11,{-3.027111835298974,-1.063309102584322},3.0e-16,1.1e-16},
+{{3.1415926535897932384626433832795,-1.0},12,{-3.329774296649566,-1.150219377262664},3.3e-16,1.2e-16},
+{{3.1415926535897932384626433832795,-1.0},13,{-3.630166763485898,-1.238094014261345},3.6e-16,1.2e-16},
+{{3.1415926535897932384626433832795,-1.0},14,{-3.928817217085422,-1.326673720493936},3.9e-16,1.3e-16},
+{{3.1415926535897932384626433832795,-1.0},15,{-4.226100742557146,-1.415786610072522},4.2e-16,1.4e-16},
+{{3.1415926535897932384626433832795,-1.0},16,{-4.522291311689719,-1.505313665423152},4.5e-16,1.5e-16},
+{{3.1415926535897932384626433832795,-1.0},17,{-4.817593843830251,-1.595169551324783},4.8e-16,1.6e-16},
+{{3.1415926535897932384626433832795,-1.0},18,{-5.112164766973625,-1.685291310034281},5.1e-16,1.7e-16},
+{{3.1415926535897932384626433832795,-1.0},20,{-5.699572318128605,-1.86615306493475},5.7e-16,1.9e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},0,{2.751774491327042e-285,-0.9962720762207499},2.8e-301,1.0e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},1,{0.0600379414474612,-0.9937474772990555},6.0e-18,9.9e-17},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},2,{0.1755931550573857,-0.9733545288614334},1.8e-17,9.7e-17},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},3,{0.4182088376750213,-0.9938734364996493},4.2e-17,9.9e-17},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},4,{0.6090686648347677,-1.400946520656703},6.1e-17,1.4e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},5,{-0.3302804616952033,-0.7130355074384637},3.3e-17,7.1e-17},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},6,{-0.2034668873849598,1.09636524660088},2.0e-17,1.1e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},7,{-0.9151197226056406,1.447887030115355},9.2e-17,1.4e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},8,{-1.093769422349129,1.496402590540591},1.1e-16,1.5e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},9,{-1.263525999236148,1.628178116126507},1.3e-16,1.6e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},10,{-1.437371883177778,1.765418636739274},1.4e-16,1.8e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},11,{-1.60918161657964,1.906789543814},1.6e-16,1.9e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},12,{-1.779284876281019,2.051476536174302},1.8e-16,2.1e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},13,{-1.947952311740196,2.198638966254748},1.9e-16,2.2e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},14,{-2.115412657242335,2.347694364947096},2.1e-16,2.3e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},15,{-2.281861382871994,2.498227394611141},2.3e-16,2.5e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},16,{-2.447460450242283,2.649934919526216},2.4e-16,2.6e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},17,{-2.612342561555377,2.802591095407883},2.6e-16,2.8e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},18,{-2.776616194257877,2.956024444567054},2.8e-16,3.0e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},20,{-3.103677730388636,3.264721414005422},3.1e-16,3.3e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},21,{-3.266599244986335,3.419798501147436},3.3e-16,3.4e-16},
+{{3.1415926535897932384626433832795,3.1415926535897932384626433832795},22,{-3.429185109298575,3.575267226381691},3.4e-16,3.6e-16},
+{{6.2831853071795862319959269370884,-1.0},0,{1.028640466363268e-16,0.7615941559557649},1.0e-32,7.6e-17},
+{{6.2831853071795862319959269370884,-1.0},1,{0.118490443174149,1.274694049282418},1.2e-17,1.3e-16},
+{{6.2831853071795862319959269370884,-1.0},2,{-0.1856513350192726,0.7471769785178116},1.9e-17,7.5e-17},
+{{6.2831853071795862319959269370884,-1.0},3,{0.2768024289482062,0.6931437961850393},2.8e-17,6.9e-17},
+{{6.2831853071795862319959269370884,-1.0},4,{0.1086976874372488,1.161358574339028},1.1e-17,1.2e-16},
+{{6.2831853071795862319959269370884,-1.0},5,{-0.3377602226494415,0.5581206587888317},3.4e-17,5.6e-17},
+{{6.2831853071795862319959269370884,-1.0},6,{-0.2178103265918506,0.08222821063750248},2.2e-17,8.2e-18},
+{{6.2831853071795862319959269370884,-1.0},7,{-0.3235985508010899,-0.2259866086401661},3.2e-17,2.3e-17},
+{{6.2831853071795862319959269370884,-1.0},8,{-0.646555100667698,-0.358716765185808},6.5e-17,3.6e-17},
+{{6.2831853071795862319959269370884,-1.0},9,{-0.9442688856366345,-0.3510704658280867},9.4e-17,3.5e-17},
+{{6.2831853071795862319959269370884,-1.0},10,{-1.173414015067102,-0.3378028411431261},1.2e-16,3.4e-17},
+{{6.2831853071795862319959269370884,-1.0},11,{-1.375210607885232,-0.3420479591705745},1.4e-16,3.4e-17},
+{{6.2831853071795862319959269370884,-1.0},12,{-1.565394193409859,-0.355077628599805},1.6e-16,3.6e-17},
+{{6.2831853071795862319959269370884,-1.0},13,{-1.748424803477854,-0.3720139875979341},1.7e-16,3.7e-17},
+{{6.2831853071795862319959269370884,-1.0},14,{-1.926390248329804,-0.3910302018583015},1.9e-16,3.9e-17},
+{{6.2831853071795862319959269370884,-1.0},15,{-2.100611141547864,-0.4113324738841946},2.1e-16,4.1e-17},
+{{6.2831853071795862319959269370884,-1.0},16,{-2.27197885499843,-0.4325025916540024},2.3e-16,4.3e-17},
+{{6.2831853071795862319959269370884,-1.0},18,{-2.608469851298015,-0.4765432487676611},2.6e-16,4.8e-17},
+{{6.2831853071795862319959269370884,-1.0},19,{-2.77437412514539,-0.4991481353599046},2.8e-16,5.0e-17},
+{{6.2831853071795862319959269370884,-1.0},20,{-2.939080962634986,-0.5220318339355322},2.9e-16,5.2e-17},
+{{6.2831853071795862319959269370884,-1.0},22,{-3.265643862194712,-0.56843085660439},3.3e-16,5.7e-17},
+{{6.2831853071795862319959269370884,-1.0},23,{-3.427777831706615,-0.5918741791259039},3.4e-16,5.9e-17},
+{{6.2831853071795862319959269370884,-1.0},25,{-3.750257209199445,-0.6391251649246937},3.8e-16,6.4e-17},
+{{6.2831853071795862319959269370884,-1.0},26,{-3.910752977720189,-0.6628981349489083},3.9e-16,6.6e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},0,{1.822752084357914e-18,-0.9962720762207499},1.8e-34,1.0e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},1,{0.01638692212171037,-0.9889774526391681},1.6e-18,9.9e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},2,{0.04347083543814275,-0.9508007624217535},4.3e-18,9.5e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},3,{0.107261093542249,-0.9071686546695502},1.1e-17,9.1e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},4,{0.175117344715386,-0.8561859573769533},1.8e-17,8.6e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},5,{0.2821675574861068,-0.7525267760584285},2.8e-17,7.5e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},6,{0.5402011103505854,-0.6211024000070052},5.4e-17,6.2e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},7,{1.38783850138823,-0.6934990519610407},1.4e-16,6.9e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},8,{-3.187135828439812,-0.5725084998065276},3.2e-16,5.7e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},9,{-0.915131347791704,0.5729817252140471},9.2e-17,5.7e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},10,{-0.923217974176531,0.8300909144758183},9.2e-17,8.3e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},11,{-1.100410925564222,0.8979532170033908},1.1e-16,9.0e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},12,{-1.256084133017434,0.9358074358881137},1.3e-16,9.4e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},13,{-1.403918504609038,0.9798173919080233},1.4e-16,9.8e-17},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},14,{-1.549171556142642,1.028298861786689},1.5e-16,1.0e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},15,{-1.692284068440422,1.079675997707898},1.7e-16,1.1e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},16,{-1.83351693970348,1.133178099012019},1.8e-16,1.1e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},17,{-1.973144021086521,1.188294020790342},2.0e-16,1.2e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},19,{-2.248507874014136,1.302018460544428},2.2e-16,1.3e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},20,{-2.384616726791012,1.360171448495848},2.4e-16,1.4e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},22,{-2.654392752188639,1.478316329319233},2.7e-16,1.5e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},23,{-2.788272523600718,1.53810912969502},2.8e-16,1.5e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},25,{-3.05442272767237,1.658785490026429},3.1e-16,1.7e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},27,{-3.318830366257712,1.78059624870022},3.3e-16,1.8e-16},
+{{6.2831853071795862319959269370884,3.1415926535897932384626433832795},29,{-3.581862130100558,1.903267755210881},3.6e-16,1.9e-16},
+{{6.2831853071795862319959269370884,1.0},0,{1.028640466363268e-16,-0.7615941559557649},1.0e-32,7.6e-17},
+{{6.2831853071795862319959269370884,1.0},1,{0.118490443174149,-1.274694049282418},1.2e-17,1.3e-16},
+{{6.2831853071795862319959269370884,1.0},2,{-0.1856513350192726,-0.7471769785178116},1.9e-17,7.5e-17},
+{{6.2831853071795862319959269370884,1.0},3,{0.2768024289482062,-0.6931437961850393},2.8e-17,6.9e-17},
+{{6.2831853071795862319959269370884,1.0},4,{0.1086976874372488,-1.161358574339028},1.1e-17,1.2e-16},
+{{6.2831853071795862319959269370884,1.0},5,{-0.3377602226494415,-0.5581206587888317},3.4e-17,5.6e-17},
+{{6.2831853071795862319959269370884,1.0},6,{-0.2178103265918506,-0.08222821063750248},2.2e-17,8.2e-18},
+{{6.2831853071795862319959269370884,1.0},7,{-0.3235985508010899,0.2259866086401661},3.2e-17,2.3e-17},
+{{6.2831853071795862319959269370884,1.0},8,{-0.646555100667698,0.358716765185808},6.5e-17,3.6e-17},
+{{6.2831853071795862319959269370884,1.0},9,{-0.9442688856366345,0.3510704658280867},9.4e-17,3.5e-17},
+{{6.2831853071795862319959269370884,1.0},10,{-1.173414015067102,0.3378028411431261},1.2e-16,3.4e-17},
+{{6.2831853071795862319959269370884,1.0},11,{-1.375210607885232,0.3420479591705745},1.4e-16,3.4e-17},
+{{6.2831853071795862319959269370884,1.0},12,{-1.565394193409859,0.355077628599805},1.6e-16,3.6e-17},
+{{6.2831853071795862319959269370884,1.0},13,{-1.748424803477854,0.3720139875979341},1.7e-16,3.7e-17},
+{{6.2831853071795862319959269370884,1.0},14,{-1.926390248329804,0.3910302018583015},1.9e-16,3.9e-17},
+{{6.2831853071795862319959269370884,1.0},15,{-2.100611141547864,0.4113324738841946},2.1e-16,4.1e-17},
+{{6.2831853071795862319959269370884,1.0},16,{-2.27197885499843,0.4325025916540024},2.3e-16,4.3e-17},
+{{6.2831853071795862319959269370884,1.0},18,{-2.608469851298015,0.4765432487676611},2.6e-16,4.8e-17},
+{{6.2831853071795862319959269370884,1.0},19,{-2.77437412514539,0.4991481353599046},2.8e-16,5.0e-17},
+{{6.2831853071795862319959269370884,1.0},20,{-2.939080962634986,0.5220318339355322},2.9e-16,5.2e-17},
+{{6.2831853071795862319959269370884,1.0},22,{-3.265643862194712,0.56843085660439},3.3e-16,5.7e-17},
+{{6.2831853071795862319959269370884,1.0},23,{-3.427777831706615,0.5918741791259039},3.4e-16,5.9e-17},
+{{6.2831853071795862319959269370884,1.0},25,{-3.750257209199445,0.6391251649246937},3.8e-16,6.4e-17},
+{{6.2831853071795862319959269370884,1.0},26,{-3.910752977720189,0.6628981349489083},3.9e-16,6.6e-17},
+{{3.1415926535897932384626433832795,0.0},0,{3.697652414388656e-283,0.0},3.7e-299,0.0},
+{{3.1415926535897932384626433832795,0.0},1,{2.823282767406003,0.0},2.8e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},2,{-1.093937613419915,0.0},1.1e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},3,{-0.4668550947764989,0.0},4.7e-17,0.0},
+{{3.1415926535897932384626433832795,0.0},4,{-0.6985581582787117,0.0},7.0e-17,0.0},
+{{3.1415926535897932384626433832795,0.0},5,{-1.154888723484527,0.0},1.2e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},6,{-1.583568220165334,0.0},1.6e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},7,{-1.965821646540506,0.0},2.0e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},8,{-2.324862655082562,0.0},2.3e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},9,{-2.672097814251814,0.0},2.7e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},10,{-3.012310405818385,0.0},3.0e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},11,{-3.347886623965971,0.0},3.3e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},12,{-3.680202022452916,0.0},3.7e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},13,{-4.010122340785055,0.0},4.0e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},14,{-4.338225297702631,0.0},4.3e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},15,{-4.66491342262249,0.0},4.7e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},16,{-4.990476814065978,0.0},5.0e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},17,{-5.315130348653373,0.0},5.3e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},18,{-5.639036854808338,0.0},5.6e-16,0.0},
+{{3.1415926535897932384626433832795,0.0},20,{-6.285084985730819,0.0},6.3e-16,0.0},
+{{3.141592653589793,0.0},0,{2.384626433832795e-16,0.0},2.4e-32,0.0},
+{{3.141592653589793,0.0},1,{2.823282767406005,0.0},2.8e-16,0.0},
+{{3.141592653589793,0.0},2,{-1.093937613419914,0.0},1.1e-16,0.0},
+{{3.141592653589793,0.0},3,{-0.4668550947764989,0.0},4.7e-17,0.0},
+{{3.141592653589793,0.0},4,{-0.6985581582787118,0.0},7.0e-17,0.0},
+{{3.141592653589793,0.0},5,{-1.154888723484528,0.0},1.2e-16,0.0},
+{{3.141592653589793,0.0},6,{-1.583568220165334,0.0},1.6e-16,0.0},
+{{3.141592653589793,0.0},7,{-1.965821646540506,0.0},2.0e-16,0.0},
+{{3.141592653589793,0.0},8,{-2.324862655082562,0.0},2.3e-16,0.0},
+{{3.141592653589793,0.0},9,{-2.672097814251814,0.0},2.7e-16,0.0},
+{{3.141592653589793,0.0},10,{-3.012310405818385,0.0},3.0e-16,0.0},
+{{3.141592653589793,0.0},11,{-3.347886623965971,0.0},3.3e-16,0.0},
+{{3.141592653589793,0.0},12,{-3.680202022452917,0.0},3.7e-16,0.0},
+{{3.141592653589793,0.0},13,{-4.010122340785055,0.0},4.0e-16,0.0},
+{{3.141592653589793,0.0},14,{-4.338225297702632,0.0},4.3e-16,0.0},
+{{3.141592653589793,0.0},15,{-4.664913422622491,0.0},4.7e-16,0.0},
+{{3.141592653589793,0.0},16,{-4.990476814065978,0.0},5.0e-16,0.0},
+{{3.141592653589793,0.0},17,{-5.315130348653373,0.0},5.3e-16,0.0},
+{{3.141592653589793,0.0},18,{-5.639036854808339,0.0},5.6e-16,0.0},
+{{3.141592653589793,0.0},20,{-6.285084985730819,0.0},6.3e-16,0.0},
+};