diff --git a/HighLExtrapTemplate_lenspotentialCls.dat b/HighLExtrapTemplate_lenspotentialCls.dat
new file mode 100644
index 0000000..4f1432b
--- /dev/null
+++ b/HighLExtrapTemplate_lenspotentialCls.dat
@@ -0,0 +1,7999 @@
+     2    0.14813E-09    0.72323E-14    0.00000E+00    0.48315E-12    0.53720E-07    0.11722E-08   -0.61056E-11
+     3    0.13988E-09    0.12271E-13    0.00000E+00    0.60652E-12    0.65193E-07    0.11769E-08   -0.76046E-11
+     4    0.13165E-09    0.14379E-13    0.00000E+00    0.62883E-12    0.75037E-07    0.11542E-08   -0.78480E-11
+     5    0.12514E-09    0.13337E-13    0.00000E+00    0.58924E-12    0.83572E-07    0.11199E-08   -0.71424E-11
+     6    0.12035E-09    0.10325E-13    0.00000E+00    0.51895E-12    0.91008E-07    0.10808E-08   -0.57807E-11
+     7    0.11701E-09    0.68675E-14    0.00000E+00    0.43823E-12    0.97545E-07    0.10403E-08   -0.40659E-11
+     8    0.11474E-09    0.40694E-14    0.00000E+00    0.35933E-12    0.10332E-06    0.99980E-09   -0.22809E-11
+     9    0.11345E-09    0.23498E-14    0.00000E+00    0.28996E-12    0.10847E-06    0.95954E-09   -0.66380E-12
+    10    0.11276E-09    0.15709E-14    0.00000E+00    0.23337E-12    0.11304E-06    0.92097E-09    0.61187E-12
+    11    0.11255E-09    0.13377E-14    0.00000E+00    0.19165E-12    0.11715E-06    0.88520E-09    0.14492E-11
+    12    0.11287E-09    0.12803E-14    0.00000E+00    0.16494E-12    0.12080E-06    0.85160E-09    0.18237E-11
+    13    0.11349E-09    0.11968E-14    0.00000E+00    0.15128E-12    0.12409E-06    0.82102E-09    0.17814E-11
+    14    0.11429E-09    0.10547E-14    0.00000E+00    0.14797E-12    0.12702E-06    0.79240E-09    0.14193E-11
+    15    0.11528E-09    0.91168E-15    0.00000E+00    0.15201E-12    0.12967E-06    0.76573E-09    0.85877E-12
+    16    0.11648E-09    0.82980E-15    0.00000E+00    0.16052E-12    0.13205E-06    0.74072E-09    0.22014E-12
+    17    0.11786E-09    0.82812E-15    0.00000E+00    0.17097E-12    0.13416E-06    0.71707E-09   -0.38761E-12
+    18    0.11929E-09    0.88268E-15    0.00000E+00    0.18142E-12    0.13606E-06    0.69494E-09   -0.87310E-12
+    19    0.12093E-09    0.95465E-15    0.00000E+00    0.19103E-12    0.13776E-06    0.67360E-09   -0.11749E-11
+    20    0.12260E-09    0.10168E-14    0.00000E+00    0.19898E-12    0.13927E-06    0.65313E-09   -0.12757E-11
+    21    0.12433E-09    0.10672E-14    0.00000E+00    0.20536E-12    0.14060E-06    0.63344E-09   -0.12003E-11
+    22    0.12613E-09    0.11236E-14    0.00000E+00    0.21040E-12    0.14178E-06    0.61466E-09   -0.99582E-12
+    23    0.12797E-09    0.12088E-14    0.00000E+00    0.21464E-12    0.14283E-06    0.59659E-09   -0.71439E-12
+    24    0.12986E-09    0.13380E-14    0.00000E+00    0.21867E-12    0.14373E-06    0.57916E-09   -0.40980E-12
+    25    0.13180E-09    0.15140E-14    0.00000E+00    0.22296E-12    0.14452E-06    0.56255E-09   -0.13865E-12
+    26    0.13377E-09    0.17304E-14    0.00000E+00    0.22803E-12    0.14519E-06    0.54665E-09    0.50275E-13
+    27    0.13579E-09    0.19785E-14    0.00000E+00    0.23375E-12    0.14576E-06    0.53172E-09    0.13252E-12
+    28    0.13783E-09    0.22538E-14    0.00000E+00    0.23998E-12    0.14624E-06    0.51756E-09    0.11314E-12
+    29    0.13991E-09    0.25555E-14    0.00000E+00    0.24650E-12    0.14662E-06    0.50405E-09    0.14404E-13
+    30    0.14203E-09    0.28848E-14    0.00000E+00    0.25286E-12    0.14693E-06    0.49123E-09   -0.13905E-12
+    31    0.14416E-09    0.32419E-14    0.00000E+00    0.25862E-12    0.14715E-06    0.47895E-09   -0.32220E-12
+    32    0.14632E-09    0.36247E-14    0.00000E+00    0.26333E-12    0.14730E-06    0.46727E-09   -0.50360E-12
+    33    0.14852E-09    0.40294E-14    0.00000E+00    0.26651E-12    0.14739E-06    0.45601E-09   -0.64601E-12
+    34    0.15075E-09    0.44541E-14    0.00000E+00    0.26785E-12    0.14742E-06    0.44507E-09   -0.72021E-12
+    35    0.15301E-09    0.48997E-14    0.00000E+00    0.26734E-12    0.14739E-06    0.43445E-09   -0.71854E-12
+    36    0.15529E-09    0.53696E-14    0.00000E+00    0.26495E-12    0.14731E-06    0.42415E-09   -0.65432E-12
+    37    0.15758E-09    0.58700E-14    0.00000E+00    0.26079E-12    0.14717E-06    0.41415E-09   -0.54850E-12
+    38    0.15991E-09    0.64072E-14    0.00000E+00    0.25523E-12    0.14699E-06    0.40441E-09   -0.41657E-12
+    39    0.16228E-09    0.69813E-14    0.00000E+00    0.24835E-12    0.14677E-06    0.39498E-09   -0.27671E-12
+    40    0.16466E-09    0.75916E-14    0.00000E+00    0.24013E-12    0.14651E-06    0.38594E-09   -0.14818E-12
+    41    0.16707E-09    0.82384E-14    0.00000E+00    0.23053E-12    0.14621E-06    0.37735E-09   -0.48978E-13
+    42    0.16948E-09    0.89233E-14    0.00000E+00    0.21954E-12    0.14588E-06    0.36917E-09    0.78457E-14
+    43    0.17191E-09    0.96482E-14    0.00000E+00    0.20716E-12    0.14552E-06    0.36137E-09    0.15816E-13
+    44    0.17434E-09    0.10413E-13    0.00000E+00    0.19351E-12    0.14512E-06    0.35386E-09   -0.10275E-13
+    45    0.17682E-09    0.11219E-13    0.00000E+00    0.17872E-12    0.14469E-06    0.34658E-09   -0.53074E-13
+    46    0.17934E-09    0.12067E-13    0.00000E+00    0.16260E-12    0.14424E-06    0.33950E-09   -0.10607E-12
+    47    0.18188E-09    0.12954E-13    0.00000E+00    0.14501E-12    0.14377E-06    0.33258E-09   -0.16522E-12
+    48    0.18443E-09    0.13877E-13    0.00000E+00    0.12618E-12    0.14327E-06    0.32580E-09   -0.22542E-12
+    49    0.18700E-09    0.14830E-13    0.00000E+00    0.10626E-12    0.14276E-06    0.31914E-09   -0.27939E-12
+    50    0.18962E-09    0.15806E-13    0.00000E+00    0.84487E-13    0.14222E-06    0.31260E-09   -0.31207E-12
+    51    0.19226E-09    0.16799E-13    0.00000E+00    0.60029E-13    0.14167E-06    0.30617E-09   -0.31087E-12
+    52    0.19495E-09    0.17824E-13    0.00000E+00    0.32536E-13    0.14109E-06    0.29987E-09   -0.28059E-12
+    53    0.19764E-09    0.18906E-13    0.00000E+00    0.20276E-14    0.14051E-06    0.29372E-09   -0.23154E-12
+    54    0.20032E-09    0.20049E-13    0.00000E+00   -0.30404E-13    0.13990E-06    0.28780E-09   -0.17878E-12
+    55    0.20302E-09    0.21255E-13    0.00000E+00   -0.63651E-13    0.13929E-06    0.28218E-09   -0.13560E-12
+    56    0.20577E-09    0.22508E-13    0.00000E+00   -0.97567E-13    0.13866E-06    0.27684E-09   -0.10374E-12
+    57    0.20856E-09    0.23790E-13    0.00000E+00   -0.13231E-12    0.13803E-06    0.27176E-09   -0.82606E-13
+    58    0.21139E-09    0.25097E-13    0.00000E+00   -0.16828E-12    0.13738E-06    0.26686E-09   -0.73971E-13
+    59    0.21424E-09    0.26429E-13    0.00000E+00   -0.20588E-12    0.13672E-06    0.26205E-09   -0.79724E-13
+    60    0.21711E-09    0.27788E-13    0.00000E+00   -0.24532E-12    0.13606E-06    0.25732E-09   -0.99908E-13
+    61    0.22004E-09    0.29183E-13    0.00000E+00   -0.28673E-12    0.13538E-06    0.25265E-09   -0.13290E-12
+    62    0.22295E-09    0.30615E-13    0.00000E+00   -0.33024E-12    0.13470E-06    0.24804E-09   -0.17228E-12
+    63    0.22587E-09    0.32083E-13    0.00000E+00   -0.37593E-12    0.13401E-06    0.24351E-09   -0.21043E-12
+    64    0.22884E-09    0.33593E-13    0.00000E+00   -0.42391E-12    0.13332E-06    0.23907E-09   -0.23976E-12
+    65    0.23181E-09    0.35146E-13    0.00000E+00   -0.47421E-12    0.13262E-06    0.23472E-09   -0.25421E-12
+    66    0.23482E-09    0.36736E-13    0.00000E+00   -0.52652E-12    0.13192E-06    0.23047E-09   -0.25389E-12
+    67    0.23785E-09    0.38361E-13    0.00000E+00   -0.58039E-12    0.13121E-06    0.22633E-09   -0.24044E-12
+    68    0.24094E-09    0.40023E-13    0.00000E+00   -0.63551E-12    0.13051E-06    0.22230E-09   -0.21550E-12
+    69    0.24406E-09    0.41713E-13    0.00000E+00   -0.69156E-12    0.12979E-06    0.21838E-09   -0.18159E-12
+    70    0.24723E-09    0.43433E-13    0.00000E+00   -0.74868E-12    0.12908E-06    0.21458E-09   -0.14477E-12
+    71    0.25043E-09    0.45179E-13    0.00000E+00   -0.80714E-12    0.12836E-06    0.21091E-09   -0.11196E-12
+    72    0.25366E-09    0.46949E-13    0.00000E+00   -0.86720E-12    0.12764E-06    0.20738E-09   -0.90081E-13
+    73    0.25691E-09    0.48741E-13    0.00000E+00   -0.92905E-12    0.12692E-06    0.20398E-09   -0.84064E-13
+    74    0.26018E-09    0.50556E-13    0.00000E+00   -0.99268E-12    0.12620E-06    0.20069E-09   -0.90881E-13
+    75    0.26348E-09    0.52398E-13    0.00000E+00   -0.10580E-11    0.12548E-06    0.19747E-09   -0.10552E-12
+    76    0.26680E-09    0.54269E-13    0.00000E+00   -0.11250E-11    0.12476E-06    0.19429E-09   -0.12297E-12
+    77    0.27015E-09    0.56167E-13    0.00000E+00   -0.11936E-11    0.12404E-06    0.19110E-09   -0.13900E-12
+    78    0.27354E-09    0.58094E-13    0.00000E+00   -0.12639E-11    0.12331E-06    0.18792E-09   -0.15244E-12
+    79    0.27695E-09    0.60041E-13    0.00000E+00   -0.13353E-11    0.12259E-06    0.18477E-09   -0.16287E-12
+    80    0.28040E-09    0.62007E-13    0.00000E+00   -0.14079E-11    0.12187E-06    0.18167E-09   -0.16988E-12
+    81    0.28388E-09    0.63984E-13    0.00000E+00   -0.14817E-11    0.12115E-06    0.17863E-09   -0.17326E-12
+    82    0.28740E-09    0.65975E-13    0.00000E+00   -0.15566E-11    0.12044E-06    0.17565E-09   -0.17362E-12
+    83    0.29095E-09    0.67977E-13    0.00000E+00   -0.16326E-11    0.11972E-06    0.17274E-09   -0.17174E-12
+    84    0.29454E-09    0.69990E-13    0.00000E+00   -0.17095E-11    0.11901E-06    0.16991E-09   -0.16845E-12
+    85    0.29815E-09    0.72011E-13    0.00000E+00   -0.17875E-11    0.11829E-06    0.16716E-09   -0.16452E-12
+    86    0.30179E-09    0.74042E-13    0.00000E+00   -0.18665E-11    0.11758E-06    0.16449E-09   -0.16077E-12
+    87    0.30549E-09    0.76079E-13    0.00000E+00   -0.19464E-11    0.11688E-06    0.16192E-09   -0.15798E-12
+    88    0.30919E-09    0.78124E-13    0.00000E+00   -0.20272E-11    0.11617E-06    0.15943E-09   -0.15663E-12
+    89    0.31294E-09    0.80175E-13    0.00000E+00   -0.21091E-11    0.11547E-06    0.15703E-09   -0.15586E-12
+    90    0.31672E-09    0.82227E-13    0.00000E+00   -0.21917E-11    0.11477E-06    0.15470E-09   -0.15446E-12
+    91    0.32052E-09    0.84279E-13    0.00000E+00   -0.22751E-11    0.11407E-06    0.15243E-09   -0.15126E-12
+    92    0.32436E-09    0.86329E-13    0.00000E+00   -0.23592E-11    0.11338E-06    0.15021E-09   -0.14506E-12
+    93    0.32824E-09    0.88376E-13    0.00000E+00   -0.24440E-11    0.11268E-06    0.14802E-09   -0.13468E-12
+    94    0.33213E-09    0.90415E-13    0.00000E+00   -0.25293E-11    0.11200E-06    0.14586E-09   -0.11892E-12
+    95    0.33606E-09    0.92446E-13    0.00000E+00   -0.26152E-11    0.11131E-06    0.14372E-09   -0.97196E-13
+    96    0.33999E-09    0.94467E-13    0.00000E+00   -0.27016E-11    0.11063E-06    0.14160E-09   -0.71315E-13
+    97    0.34398E-09    0.96476E-13    0.00000E+00   -0.27884E-11    0.10995E-06    0.13950E-09   -0.43677E-13
+    98    0.34800E-09    0.98472E-13    0.00000E+00   -0.28753E-11    0.10928E-06    0.13742E-09   -0.16686E-13
+    99    0.35203E-09    0.10045E-12    0.00000E+00   -0.29627E-11    0.10861E-06    0.13536E-09    0.72603E-14
+   100    0.35610E-09    0.10241E-12    0.00000E+00   -0.30500E-11    0.10794E-06    0.13334E-09    0.25763E-13
+   101    0.36019E-09    0.10436E-12    0.00000E+00   -0.31376E-11    0.10728E-06    0.13135E-09    0.36426E-13
+   102    0.36435E-09    0.10628E-12    0.00000E+00   -0.32252E-11    0.10662E-06    0.12940E-09    0.37578E-13
+   103    0.36850E-09    0.10818E-12    0.00000E+00   -0.33129E-11    0.10596E-06    0.12748E-09    0.30446E-13
+   104    0.37268E-09    0.11006E-12    0.00000E+00   -0.34003E-11    0.10531E-06    0.12560E-09    0.16982E-13
+   105    0.37688E-09    0.11191E-12    0.00000E+00   -0.34876E-11    0.10467E-06    0.12375E-09   -0.86279E-15
+   106    0.38111E-09    0.11374E-12    0.00000E+00   -0.35747E-11    0.10402E-06    0.12194E-09   -0.21141E-13
+   107    0.38533E-09    0.11553E-12    0.00000E+00   -0.36614E-11    0.10339E-06    0.12015E-09   -0.41903E-13
+   108    0.38960E-09    0.11729E-12    0.00000E+00   -0.37478E-11    0.10275E-06    0.11840E-09   -0.61203E-13
+   109    0.39389E-09    0.11901E-12    0.00000E+00   -0.38337E-11    0.10212E-06    0.11667E-09   -0.77435E-13
+   110    0.39819E-09    0.12069E-12    0.00000E+00   -0.39189E-11    0.10149E-06    0.11498E-09   -0.90358E-13
+   111    0.40251E-09    0.12234E-12    0.00000E+00   -0.40036E-11    0.10087E-06    0.11332E-09   -0.10007E-12
+   112    0.40685E-09    0.12395E-12    0.00000E+00   -0.40877E-11    0.10025E-06    0.11169E-09   -0.10667E-12
+   113    0.41122E-09    0.12552E-12    0.00000E+00   -0.41710E-11    0.99636E-07    0.11009E-09   -0.11026E-12
+   114    0.41560E-09    0.12704E-12    0.00000E+00   -0.42534E-11    0.99026E-07    0.10852E-09   -0.11093E-12
+   115    0.42001E-09    0.12853E-12    0.00000E+00   -0.43349E-11    0.98421E-07    0.10699E-09   -0.10878E-12
+   116    0.42442E-09    0.12996E-12    0.00000E+00   -0.44154E-11    0.97820E-07    0.10549E-09   -0.10403E-12
+   117    0.42887E-09    0.13134E-12    0.00000E+00   -0.44948E-11    0.97223E-07    0.10402E-09   -0.97333E-13
+   118    0.43334E-09    0.13269E-12    0.00000E+00   -0.45732E-11    0.96631E-07    0.10259E-09   -0.89453E-13
+   119    0.43781E-09    0.13399E-12    0.00000E+00   -0.46503E-11    0.96043E-07    0.10118E-09   -0.81161E-13
+   120    0.44230E-09    0.13522E-12    0.00000E+00   -0.47261E-11    0.95459E-07    0.99793E-10   -0.73225E-13
+   121    0.44679E-09    0.13642E-12    0.00000E+00   -0.48006E-11    0.94880E-07    0.98433E-10   -0.66414E-13
+   122    0.45129E-09    0.13755E-12    0.00000E+00   -0.48737E-11    0.94305E-07    0.97097E-10   -0.61494E-13
+   123    0.45580E-09    0.13862E-12    0.00000E+00   -0.49454E-11    0.93734E-07    0.95781E-10   -0.58957E-13
+   124    0.46032E-09    0.13964E-12    0.00000E+00   -0.50153E-11    0.93167E-07    0.94486E-10   -0.58187E-13
+   125    0.46484E-09    0.14060E-12    0.00000E+00   -0.50837E-11    0.92604E-07    0.93213E-10   -0.58293E-13
+   126    0.46937E-09    0.14151E-12    0.00000E+00   -0.51505E-11    0.92045E-07    0.91963E-10   -0.58385E-13
+   127    0.47390E-09    0.14235E-12    0.00000E+00   -0.52156E-11    0.91491E-07    0.90735E-10   -0.57572E-13
+   128    0.47843E-09    0.14314E-12    0.00000E+00   -0.52789E-11    0.90941E-07    0.89530E-10   -0.54964E-13
+   129    0.48297E-09    0.14386E-12    0.00000E+00   -0.53403E-11    0.90395E-07    0.88350E-10   -0.49672E-13
+   130    0.48751E-09    0.14451E-12    0.00000E+00   -0.53997E-11    0.89855E-07    0.87193E-10   -0.41140E-13
+   131    0.49205E-09    0.14511E-12    0.00000E+00   -0.54573E-11    0.89318E-07    0.86059E-10   -0.30155E-13
+   132    0.49660E-09    0.14564E-12    0.00000E+00   -0.55127E-11    0.88786E-07    0.84945E-10   -0.17835E-13
+   133    0.50114E-09    0.14611E-12    0.00000E+00   -0.55662E-11    0.88258E-07    0.83850E-10   -0.52989E-14
+   134    0.50568E-09    0.14652E-12    0.00000E+00   -0.56172E-11    0.87735E-07    0.82772E-10    0.63335E-14
+   135    0.51022E-09    0.14686E-12    0.00000E+00   -0.56661E-11    0.87215E-07    0.81709E-10    0.15944E-13
+   136    0.51474E-09    0.14713E-12    0.00000E+00   -0.57124E-11    0.86699E-07    0.80659E-10    0.22415E-13
+   137    0.51926E-09    0.14734E-12    0.00000E+00   -0.57564E-11    0.86187E-07    0.79621E-10    0.25028E-13
+   138    0.52377E-09    0.14748E-12    0.00000E+00   -0.57979E-11    0.85679E-07    0.78596E-10    0.24656E-13
+   139    0.52825E-09    0.14757E-12    0.00000E+00   -0.58368E-11    0.85175E-07    0.77586E-10    0.22572E-13
+   140    0.53274E-09    0.14758E-12    0.00000E+00   -0.58732E-11    0.84675E-07    0.76592E-10    0.20049E-13
+   141    0.53720E-09    0.14752E-12    0.00000E+00   -0.59068E-11    0.84179E-07    0.75616E-10    0.18359E-13
+   142    0.54166E-09    0.14740E-12    0.00000E+00   -0.59377E-11    0.83687E-07    0.74660E-10    0.18773E-13
+   143    0.54611E-09    0.14722E-12    0.00000E+00   -0.59659E-11    0.83199E-07    0.73726E-10    0.22562E-13
+   144    0.55053E-09    0.14697E-12    0.00000E+00   -0.59913E-11    0.82716E-07    0.72815E-10    0.30542E-13
+   145    0.55493E-09    0.14667E-12    0.00000E+00   -0.60138E-11    0.82237E-07    0.71925E-10    0.41704E-13
+   146    0.55934E-09    0.14629E-12    0.00000E+00   -0.60334E-11    0.81762E-07    0.71054E-10    0.54586E-13
+   147    0.56370E-09    0.14586E-12    0.00000E+00   -0.60499E-11    0.81291E-07    0.70199E-10    0.67725E-13
+   148    0.56804E-09    0.14536E-12    0.00000E+00   -0.60635E-11    0.80823E-07    0.69357E-10    0.79659E-13
+   149    0.57237E-09    0.14480E-12    0.00000E+00   -0.60740E-11    0.80359E-07    0.68527E-10    0.88927E-13
+   150    0.57666E-09    0.14419E-12    0.00000E+00   -0.60811E-11    0.79899E-07    0.67706E-10    0.94067E-13
+   151    0.58093E-09    0.14352E-12    0.00000E+00   -0.60852E-11    0.79442E-07    0.66892E-10    0.94085E-13
+   152    0.58516E-09    0.14278E-12    0.00000E+00   -0.60861E-11    0.78988E-07    0.66085E-10    0.89860E-13
+   153    0.58937E-09    0.14199E-12    0.00000E+00   -0.60835E-11    0.78538E-07    0.65285E-10    0.82736E-13
+   154    0.59355E-09    0.14115E-12    0.00000E+00   -0.60777E-11    0.78091E-07    0.64494E-10    0.74058E-13
+   155    0.59770E-09    0.14026E-12    0.00000E+00   -0.60686E-11    0.77648E-07    0.63712E-10    0.65170E-13
+   156    0.60180E-09    0.13932E-12    0.00000E+00   -0.60562E-11    0.77209E-07    0.62939E-10    0.57416E-13
+   157    0.60589E-09    0.13833E-12    0.00000E+00   -0.60403E-11    0.76774E-07    0.62176E-10    0.52140E-13
+   158    0.60994E-09    0.13730E-12    0.00000E+00   -0.60210E-11    0.76343E-07    0.61424E-10    0.50298E-13
+   159    0.61395E-09    0.13621E-12    0.00000E+00   -0.59983E-11    0.75916E-07    0.60682E-10    0.51305E-13
+   160    0.61793E-09    0.13508E-12    0.00000E+00   -0.59720E-11    0.75493E-07    0.59950E-10    0.54186E-13
+   161    0.62188E-09    0.13392E-12    0.00000E+00   -0.59423E-11    0.75074E-07    0.59228E-10    0.57971E-13
+   162    0.62579E-09    0.13271E-12    0.00000E+00   -0.59092E-11    0.74657E-07    0.58515E-10    0.61685E-13
+   163    0.62968E-09    0.13146E-12    0.00000E+00   -0.58725E-11    0.74245E-07    0.57811E-10    0.64358E-13
+   164    0.63351E-09    0.13018E-12    0.00000E+00   -0.58324E-11    0.73836E-07    0.57117E-10    0.65016E-13
+   165    0.63732E-09    0.12886E-12    0.00000E+00   -0.57886E-11    0.73429E-07    0.56431E-10    0.62937E-13
+   166    0.64109E-09    0.12752E-12    0.00000E+00   -0.57413E-11    0.73026E-07    0.55754E-10    0.58380E-13
+   167    0.64483E-09    0.12613E-12    0.00000E+00   -0.56906E-11    0.72627E-07    0.55085E-10    0.51856E-13
+   168    0.64851E-09    0.12474E-12    0.00000E+00   -0.56362E-11    0.72230E-07    0.54426E-10    0.43873E-13
+   169    0.65215E-09    0.12331E-12    0.00000E+00   -0.55781E-11    0.71837E-07    0.53777E-10    0.34940E-13
+   170    0.65575E-09    0.12187E-12    0.00000E+00   -0.55165E-11    0.71447E-07    0.53136E-10    0.25566E-13
+   171    0.65929E-09    0.12042E-12    0.00000E+00   -0.54511E-11    0.71061E-07    0.52506E-10    0.16258E-13
+   172    0.66278E-09    0.11895E-12    0.00000E+00   -0.53821E-11    0.70678E-07    0.51885E-10    0.74603E-14
+   173    0.66621E-09    0.11746E-12    0.00000E+00   -0.53095E-11    0.70298E-07    0.51274E-10   -0.64070E-15
+   174    0.66960E-09    0.11599E-12    0.00000E+00   -0.52333E-11    0.69921E-07    0.50674E-10   -0.79240E-14
+   175    0.67294E-09    0.11450E-12    0.00000E+00   -0.51534E-11    0.69547E-07    0.50084E-10   -0.14268E-13
+   176    0.67621E-09    0.11302E-12    0.00000E+00   -0.50698E-11    0.69177E-07    0.49505E-10   -0.19552E-13
+   177    0.67943E-09    0.11154E-12    0.00000E+00   -0.49827E-11    0.68809E-07    0.48937E-10   -0.23655E-13
+   178    0.68259E-09    0.11009E-12    0.00000E+00   -0.48919E-11    0.68444E-07    0.48381E-10   -0.26454E-13
+   179    0.68569E-09    0.10863E-12    0.00000E+00   -0.47974E-11    0.68082E-07    0.47835E-10   -0.27886E-13
+   180    0.68875E-09    0.10719E-12    0.00000E+00   -0.46994E-11    0.67723E-07    0.47301E-10   -0.28108E-13
+   181    0.69174E-09    0.10577E-12    0.00000E+00   -0.45979E-11    0.67366E-07    0.46777E-10   -0.27335E-13
+   182    0.69467E-09    0.10438E-12    0.00000E+00   -0.44927E-11    0.67013E-07    0.46263E-10   -0.25782E-13
+   183    0.69753E-09    0.10301E-12    0.00000E+00   -0.43840E-11    0.66662E-07    0.45757E-10   -0.23663E-13
+   184    0.70034E-09    0.10167E-12    0.00000E+00   -0.42717E-11    0.66314E-07    0.45260E-10   -0.21192E-13
+   185    0.70309E-09    0.10038E-12    0.00000E+00   -0.41561E-11    0.65970E-07    0.44770E-10   -0.18585E-13
+   186    0.70573E-09    0.99121E-13    0.00000E+00   -0.40368E-11    0.65628E-07    0.44287E-10   -0.16023E-13
+   187    0.70835E-09    0.97912E-13    0.00000E+00   -0.39140E-11    0.65290E-07    0.43810E-10   -0.13567E-13
+   188    0.71090E-09    0.96751E-13    0.00000E+00   -0.37879E-11    0.64954E-07    0.43340E-10   -0.11243E-13
+   189    0.71337E-09    0.95643E-13    0.00000E+00   -0.36583E-11    0.64621E-07    0.42877E-10   -0.90793E-14
+   190    0.71582E-09    0.94595E-13    0.00000E+00   -0.35255E-11    0.64291E-07    0.42420E-10   -0.71034E-14
+   191    0.71815E-09    0.93610E-13    0.00000E+00   -0.33891E-11    0.63964E-07    0.41969E-10   -0.53431E-14
+   192    0.72043E-09    0.92691E-13    0.00000E+00   -0.32494E-11    0.63639E-07    0.41525E-10   -0.38258E-14
+   193    0.72263E-09    0.91844E-13    0.00000E+00   -0.31066E-11    0.63317E-07    0.41087E-10   -0.25730E-14
+   194    0.72478E-09    0.91073E-13    0.00000E+00   -0.29604E-11    0.62997E-07    0.40655E-10   -0.15813E-14
+   195    0.72685E-09    0.90383E-13    0.00000E+00   -0.28111E-11    0.62680E-07    0.40230E-10   -0.84096E-15
+   196    0.72884E-09    0.89779E-13    0.00000E+00   -0.26586E-11    0.62365E-07    0.39812E-10   -0.34237E-15
+   197    0.73077E-09    0.89267E-13    0.00000E+00   -0.25031E-11    0.62053E-07    0.39402E-10   -0.75848E-16
+   198    0.73263E-09    0.88850E-13    0.00000E+00   -0.23445E-11    0.61743E-07    0.38999E-10   -0.31741E-16
+   199    0.73442E-09    0.88533E-13    0.00000E+00   -0.21829E-11    0.61436E-07    0.38604E-10   -0.20039E-15
+   200    0.73614E-09    0.88320E-13    0.00000E+00   -0.20184E-11    0.61131E-07    0.38217E-10   -0.55365E-15
+   201    0.73778E-09    0.88219E-13    0.00000E+00   -0.18509E-11    0.60829E-07    0.37838E-10   -0.98936E-15
+   202    0.73935E-09    0.88231E-13    0.00000E+00   -0.16806E-11    0.60529E-07    0.37465E-10   -0.13869E-14
+   203    0.74084E-09    0.88364E-13    0.00000E+00   -0.15074E-11    0.60232E-07    0.37099E-10   -0.16256E-14
+   204    0.74224E-09    0.88621E-13    0.00000E+00   -0.13317E-11    0.59937E-07    0.36736E-10   -0.15849E-14
+   205    0.74357E-09    0.89008E-13    0.00000E+00   -0.11532E-11    0.59644E-07    0.36378E-10   -0.11442E-14
+   206    0.74481E-09    0.89530E-13    0.00000E+00   -0.97207E-12    0.59354E-07    0.36023E-10   -0.18302E-15
+   207    0.74598E-09    0.90190E-13    0.00000E+00   -0.78837E-12    0.59065E-07    0.35670E-10    0.13734E-14
+   208    0.74705E-09    0.90995E-13    0.00000E+00   -0.60217E-12    0.58779E-07    0.35320E-10    0.34162E-14
+   209    0.74804E-09    0.91948E-13    0.00000E+00   -0.41352E-12    0.58495E-07    0.34972E-10    0.57905E-14
+   210    0.74895E-09    0.93056E-13    0.00000E+00   -0.22254E-12    0.58213E-07    0.34628E-10    0.83416E-14
+   211    0.74978E-09    0.94323E-13    0.00000E+00   -0.29238E-13    0.57933E-07    0.34286E-10    0.10915E-13
+   212    0.75051E-09    0.95753E-13    0.00000E+00    0.16626E-12    0.57656E-07    0.33948E-10    0.13355E-13
+   213    0.75117E-09    0.97352E-13    0.00000E+00    0.36396E-12    0.57380E-07    0.33615E-10    0.15509E-13
+   214    0.75174E-09    0.99119E-13    0.00000E+00    0.56370E-12    0.57107E-07    0.33285E-10    0.17259E-13
+   215    0.75223E-09    0.10108E-12    0.00000E+00    0.76538E-12    0.56836E-07    0.32959E-10    0.18647E-13
+   216    0.75263E-09    0.10321E-12    0.00000E+00    0.96907E-12    0.56568E-07    0.32639E-10    0.19754E-13
+   217    0.75296E-09    0.10553E-12    0.00000E+00    0.11745E-11    0.56301E-07    0.32323E-10    0.20659E-13
+   218    0.75320E-09    0.10804E-12    0.00000E+00    0.13817E-11    0.56036E-07    0.32011E-10    0.21441E-13
+   219    0.75336E-09    0.11074E-12    0.00000E+00    0.15908E-11    0.55774E-07    0.31705E-10    0.22183E-13
+   220    0.75344E-09    0.11365E-12    0.00000E+00    0.18012E-11    0.55513E-07    0.31405E-10    0.22962E-13
+   221    0.75344E-09    0.11676E-12    0.00000E+00    0.20132E-11    0.55254E-07    0.31109E-10    0.23838E-13
+   222    0.75336E-09    0.12009E-12    0.00000E+00    0.22266E-11    0.54998E-07    0.30819E-10    0.24787E-13
+   223    0.75318E-09    0.12363E-12    0.00000E+00    0.24415E-11    0.54743E-07    0.30534E-10    0.25761E-13
+   224    0.75294E-09    0.12738E-12    0.00000E+00    0.26574E-11    0.54490E-07    0.30254E-10    0.26714E-13
+   225    0.75261E-09    0.13136E-12    0.00000E+00    0.28747E-11    0.54240E-07    0.29979E-10    0.27600E-13
+   226    0.75220E-09    0.13557E-12    0.00000E+00    0.30929E-11    0.53991E-07    0.29709E-10    0.28374E-13
+   227    0.75170E-09    0.14001E-12    0.00000E+00    0.33122E-11    0.53744E-07    0.29443E-10    0.28987E-13
+   228    0.75113E-09    0.14468E-12    0.00000E+00    0.35324E-11    0.53499E-07    0.29181E-10    0.29405E-13
+   229    0.75048E-09    0.14959E-12    0.00000E+00    0.37533E-11    0.53256E-07    0.28923E-10    0.29626E-13
+   230    0.74974E-09    0.15474E-12    0.00000E+00    0.39750E-11    0.53015E-07    0.28669E-10    0.29661E-13
+   231    0.74891E-09    0.16014E-12    0.00000E+00    0.41974E-11    0.52775E-07    0.28417E-10    0.29519E-13
+   232    0.74801E-09    0.16578E-12    0.00000E+00    0.44203E-11    0.52537E-07    0.28167E-10    0.29209E-13
+   233    0.74703E-09    0.17169E-12    0.00000E+00    0.46435E-11    0.52301E-07    0.27918E-10    0.28742E-13
+   234    0.74595E-09    0.17785E-12    0.00000E+00    0.48671E-11    0.52066E-07    0.27670E-10    0.28126E-13
+   235    0.74480E-09    0.18427E-12    0.00000E+00    0.50909E-11    0.51833E-07    0.27422E-10    0.27383E-13
+   236    0.74356E-09    0.19095E-12    0.00000E+00    0.53149E-11    0.51602E-07    0.27175E-10    0.26578E-13
+   237    0.74224E-09    0.19790E-12    0.00000E+00    0.55389E-11    0.51372E-07    0.26930E-10    0.25787E-13
+   238    0.74084E-09    0.20513E-12    0.00000E+00    0.57629E-11    0.51143E-07    0.26687E-10    0.25087E-13
+   239    0.73937E-09    0.21262E-12    0.00000E+00    0.59868E-11    0.50916E-07    0.26447E-10    0.24555E-13
+   240    0.73780E-09    0.22038E-12    0.00000E+00    0.62103E-11    0.50691E-07    0.26210E-10    0.24267E-13
+   241    0.73617E-09    0.22843E-12    0.00000E+00    0.64335E-11    0.50468E-07    0.25979E-10    0.24299E-13
+   242    0.73446E-09    0.23675E-12    0.00000E+00    0.66563E-11    0.50246E-07    0.25752E-10    0.24698E-13
+   243    0.73267E-09    0.24536E-12    0.00000E+00    0.68785E-11    0.50026E-07    0.25530E-10    0.25384E-13
+   244    0.73080E-09    0.25425E-12    0.00000E+00    0.71002E-11    0.49808E-07    0.25312E-10    0.26247E-13
+   245    0.72885E-09    0.26343E-12    0.00000E+00    0.73210E-11    0.49592E-07    0.25097E-10    0.27178E-13
+   246    0.72683E-09    0.27290E-12    0.00000E+00    0.75411E-11    0.49377E-07    0.24886E-10    0.28066E-13
+   247    0.72474E-09    0.28265E-12    0.00000E+00    0.77602E-11    0.49163E-07    0.24677E-10    0.28802E-13
+   248    0.72257E-09    0.29273E-12    0.00000E+00    0.79783E-11    0.48951E-07    0.24469E-10    0.29275E-13
+   249    0.72034E-09    0.30307E-12    0.00000E+00    0.81953E-11    0.48741E-07    0.24263E-10    0.29400E-13
+   250    0.71803E-09    0.31373E-12    0.00000E+00    0.84110E-11    0.48532E-07    0.24059E-10    0.29179E-13
+   251    0.71566E-09    0.32467E-12    0.00000E+00    0.86255E-11    0.48325E-07    0.23856E-10    0.28641E-13
+   252    0.71320E-09    0.33592E-12    0.00000E+00    0.88386E-11    0.48119E-07    0.23655E-10    0.27811E-13
+   253    0.71070E-09    0.34745E-12    0.00000E+00    0.90501E-11    0.47914E-07    0.23457E-10    0.26718E-13
+   254    0.70812E-09    0.35930E-12    0.00000E+00    0.92600E-11    0.47711E-07    0.23260E-10    0.25388E-13
+   255    0.70547E-09    0.37143E-12    0.00000E+00    0.94683E-11    0.47509E-07    0.23067E-10    0.23849E-13
+   256    0.70276E-09    0.38389E-12    0.00000E+00    0.96750E-11    0.47308E-07    0.22876E-10    0.22140E-13
+   257    0.69999E-09    0.39662E-12    0.00000E+00    0.98790E-11    0.47109E-07    0.22688E-10    0.20354E-13
+   258    0.69715E-09    0.40967E-12    0.00000E+00    0.10082E-10    0.46910E-07    0.22503E-10    0.18600E-13
+   259    0.69425E-09    0.42302E-12    0.00000E+00    0.10282E-10    0.46713E-07    0.22320E-10    0.16981E-13
+   260    0.69130E-09    0.43667E-12    0.00000E+00    0.10481E-10    0.46518E-07    0.22139E-10    0.15606E-13
+   261    0.68828E-09    0.45061E-12    0.00000E+00    0.10676E-10    0.46324E-07    0.21961E-10    0.14580E-13
+   262    0.68519E-09    0.46487E-12    0.00000E+00    0.10870E-10    0.46131E-07    0.21784E-10    0.14011E-13
+   263    0.68208E-09    0.47942E-12    0.00000E+00    0.11062E-10    0.45939E-07    0.21610E-10    0.13966E-13
+   264    0.67889E-09    0.49427E-12    0.00000E+00    0.11251E-10    0.45749E-07    0.21437E-10    0.14368E-13
+   265    0.67563E-09    0.50941E-12    0.00000E+00    0.11436E-10    0.45560E-07    0.21267E-10    0.15101E-13
+   266    0.67233E-09    0.52487E-12    0.00000E+00    0.11620E-10    0.45373E-07    0.21097E-10    0.16049E-13
+   267    0.66896E-09    0.54060E-12    0.00000E+00    0.11800E-10    0.45187E-07    0.20930E-10    0.17096E-13
+   268    0.66554E-09    0.55665E-12    0.00000E+00    0.11978E-10    0.45002E-07    0.20764E-10    0.18127E-13
+   269    0.66205E-09    0.57298E-12    0.00000E+00    0.12153E-10    0.44818E-07    0.20600E-10    0.19026E-13
+   270    0.65853E-09    0.58960E-12    0.00000E+00    0.12325E-10    0.44636E-07    0.20437E-10    0.19698E-13
+   271    0.65495E-09    0.60650E-12    0.00000E+00    0.12494E-10    0.44455E-07    0.20276E-10    0.20132E-13
+   272    0.65134E-09    0.62372E-12    0.00000E+00    0.12659E-10    0.44274E-07    0.20116E-10    0.20339E-13
+   273    0.64767E-09    0.64118E-12    0.00000E+00    0.12822E-10    0.44096E-07    0.19957E-10    0.20330E-13
+   274    0.64396E-09    0.65896E-12    0.00000E+00    0.12980E-10    0.43918E-07    0.19799E-10    0.20114E-13
+   275    0.64020E-09    0.67699E-12    0.00000E+00    0.13136E-10    0.43741E-07    0.19642E-10    0.19702E-13
+   276    0.63641E-09    0.69530E-12    0.00000E+00    0.13287E-10    0.43566E-07    0.19485E-10    0.19105E-13
+   277    0.63256E-09    0.71389E-12    0.00000E+00    0.13436E-10    0.43391E-07    0.19330E-10    0.18344E-13
+   278    0.62868E-09    0.73275E-12    0.00000E+00    0.13580E-10    0.43217E-07    0.19175E-10    0.17490E-13
+   279    0.62476E-09    0.75187E-12    0.00000E+00    0.13720E-10    0.43045E-07    0.19023E-10    0.16621E-13
+   280    0.62080E-09    0.77125E-12    0.00000E+00    0.13858E-10    0.42873E-07    0.18872E-10    0.15821E-13
+   281    0.61682E-09    0.79090E-12    0.00000E+00    0.13991E-10    0.42703E-07    0.18724E-10    0.15168E-13
+   282    0.61278E-09    0.81078E-12    0.00000E+00    0.14120E-10    0.42534E-07    0.18579E-10    0.14745E-13
+   283    0.60872E-09    0.83092E-12    0.00000E+00    0.14245E-10    0.42365E-07    0.18438E-10    0.14632E-13
+   284    0.60463E-09    0.85131E-12    0.00000E+00    0.14366E-10    0.42198E-07    0.18300E-10    0.14881E-13
+   285    0.60051E-09    0.87195E-12    0.00000E+00    0.14483E-10    0.42032E-07    0.18166E-10    0.15426E-13
+   286    0.59635E-09    0.89282E-12    0.00000E+00    0.14595E-10    0.41867E-07    0.18035E-10    0.16170E-13
+   287    0.59216E-09    0.91392E-12    0.00000E+00    0.14704E-10    0.41703E-07    0.17905E-10    0.17020E-13
+   288    0.58795E-09    0.93525E-12    0.00000E+00    0.14808E-10    0.41541E-07    0.17778E-10    0.17880E-13
+   289    0.58371E-09    0.95680E-12    0.00000E+00    0.14908E-10    0.41379E-07    0.17651E-10    0.18655E-13
+   290    0.57945E-09    0.97855E-12    0.00000E+00    0.15004E-10    0.41218E-07    0.17524E-10    0.19249E-13
+   291    0.57517E-09    0.10006E-11    0.00000E+00    0.15094E-10    0.41058E-07    0.17397E-10    0.19585E-13
+   292    0.57083E-09    0.10228E-11    0.00000E+00    0.15181E-10    0.40900E-07    0.17269E-10    0.19655E-13
+   293    0.56651E-09    0.10451E-11    0.00000E+00    0.15262E-10    0.40742E-07    0.17142E-10    0.19471E-13
+   294    0.56215E-09    0.10677E-11    0.00000E+00    0.15340E-10    0.40585E-07    0.17014E-10    0.19043E-13
+   295    0.55780E-09    0.10904E-11    0.00000E+00    0.15412E-10    0.40429E-07    0.16887E-10    0.18382E-13
+   296    0.55341E-09    0.11134E-11    0.00000E+00    0.15480E-10    0.40274E-07    0.16760E-10    0.17499E-13
+   297    0.54901E-09    0.11364E-11    0.00000E+00    0.15544E-10    0.40120E-07    0.16633E-10    0.16404E-13
+   298    0.54458E-09    0.11597E-11    0.00000E+00    0.15602E-10    0.39966E-07    0.16506E-10    0.15119E-13
+   299    0.54015E-09    0.11832E-11    0.00000E+00    0.15655E-10    0.39814E-07    0.16381E-10    0.13710E-13
+   300    0.53570E-09    0.12067E-11    0.00000E+00    0.15703E-10    0.39662E-07    0.16257E-10    0.12257E-13
+   301    0.53124E-09    0.12304E-11    0.00000E+00    0.15747E-10    0.39511E-07    0.16134E-10    0.10837E-13
+   302    0.52678E-09    0.12542E-11    0.00000E+00    0.15787E-10    0.39362E-07    0.16014E-10    0.95280E-14
+   303    0.52231E-09    0.12782E-11    0.00000E+00    0.15821E-10    0.39212E-07    0.15896E-10    0.84081E-14
+   304    0.51783E-09    0.13024E-11    0.00000E+00    0.15849E-10    0.39064E-07    0.15780E-10    0.75554E-14
+   305    0.51335E-09    0.13266E-11    0.00000E+00    0.15873E-10    0.38917E-07    0.15667E-10    0.70226E-14
+   306    0.50886E-09    0.13509E-11    0.00000E+00    0.15892E-10    0.38771E-07    0.15557E-10    0.67611E-14
+   307    0.50437E-09    0.13753E-11    0.00000E+00    0.15905E-10    0.38625E-07    0.15449E-10    0.66970E-14
+   308    0.49988E-09    0.14000E-11    0.00000E+00    0.15915E-10    0.38481E-07    0.15342E-10    0.67564E-14
+   309    0.49540E-09    0.14246E-11    0.00000E+00    0.15918E-10    0.38337E-07    0.15236E-10    0.68654E-14
+   310    0.49091E-09    0.14492E-11    0.00000E+00    0.15917E-10    0.38194E-07    0.15131E-10    0.69501E-14
+   311    0.48643E-09    0.14741E-11    0.00000E+00    0.15910E-10    0.38052E-07    0.15025E-10    0.69368E-14
+   312    0.48196E-09    0.14989E-11    0.00000E+00    0.15899E-10    0.37911E-07    0.14918E-10    0.67653E-14
+   313    0.47749E-09    0.15238E-11    0.00000E+00    0.15882E-10    0.37771E-07    0.14811E-10    0.64316E-14
+   314    0.47303E-09    0.15488E-11    0.00000E+00    0.15861E-10    0.37631E-07    0.14704E-10    0.59454E-14
+   315    0.46858E-09    0.15737E-11    0.00000E+00    0.15834E-10    0.37492E-07    0.14598E-10    0.53164E-14
+   316    0.46414E-09    0.15987E-11    0.00000E+00    0.15802E-10    0.37354E-07    0.14492E-10    0.45545E-14
+   317    0.45971E-09    0.16236E-11    0.00000E+00    0.15765E-10    0.37217E-07    0.14387E-10    0.36693E-14
+   318    0.45529E-09    0.16487E-11    0.00000E+00    0.15723E-10    0.37081E-07    0.14284E-10    0.26706E-14
+   319    0.45089E-09    0.16737E-11    0.00000E+00    0.15676E-10    0.36945E-07    0.14183E-10    0.15763E-14
+   320    0.44651E-09    0.16987E-11    0.00000E+00    0.15625E-10    0.36810E-07    0.14083E-10    0.43661E-15
+   321    0.44214E-09    0.17238E-11    0.00000E+00    0.15568E-10    0.36677E-07    0.13985E-10   -0.69030E-15
+   322    0.43779E-09    0.17487E-11    0.00000E+00    0.15506E-10    0.36543E-07    0.13888E-10   -0.17461E-14
+   323    0.43346E-09    0.17736E-11    0.00000E+00    0.15439E-10    0.36411E-07    0.13793E-10   -0.26726E-14
+   324    0.42915E-09    0.17986E-11    0.00000E+00    0.15366E-10    0.36279E-07    0.13699E-10   -0.34114E-14
+   325    0.42487E-09    0.18232E-11    0.00000E+00    0.15290E-10    0.36147E-07    0.13605E-10   -0.39044E-14
+   326    0.42060E-09    0.18480E-11    0.00000E+00    0.15207E-10    0.36016E-07    0.13513E-10   -0.41125E-14
+   327    0.41636E-09    0.18727E-11    0.00000E+00    0.15120E-10    0.35886E-07    0.13421E-10   -0.40742E-14
+   328    0.41215E-09    0.18972E-11    0.00000E+00    0.15029E-10    0.35756E-07    0.13330E-10   -0.38469E-14
+   329    0.40796E-09    0.19217E-11    0.00000E+00    0.14932E-10    0.35627E-07    0.13239E-10   -0.34884E-14
+   330    0.40380E-09    0.19460E-11    0.00000E+00    0.14830E-10    0.35499E-07    0.13150E-10   -0.30563E-14
+   331    0.39968E-09    0.19702E-11    0.00000E+00    0.14724E-10    0.35371E-07    0.13062E-10   -0.26081E-14
+   332    0.39558E-09    0.19944E-11    0.00000E+00    0.14614E-10    0.35244E-07    0.12974E-10   -0.22015E-14
+   333    0.39151E-09    0.20184E-11    0.00000E+00    0.14499E-10    0.35118E-07    0.12888E-10   -0.18840E-14
+   334    0.38748E-09    0.20423E-11    0.00000E+00    0.14379E-10    0.34993E-07    0.12802E-10   -0.16628E-14
+   335    0.38347E-09    0.20659E-11    0.00000E+00    0.14254E-10    0.34868E-07    0.12718E-10   -0.15350E-14
+   336    0.37950E-09    0.20894E-11    0.00000E+00    0.14125E-10    0.34744E-07    0.12634E-10   -0.14976E-14
+   337    0.37557E-09    0.21128E-11    0.00000E+00    0.13990E-10    0.34621E-07    0.12551E-10   -0.15478E-14
+   338    0.37167E-09    0.21359E-11    0.00000E+00    0.13852E-10    0.34499E-07    0.12469E-10   -0.16827E-14
+   339    0.36782E-09    0.21590E-11    0.00000E+00    0.13709E-10    0.34378E-07    0.12388E-10   -0.18992E-14
+   340    0.36400E-09    0.21818E-11    0.00000E+00    0.13563E-10    0.34257E-07    0.12307E-10   -0.21897E-14
+   341    0.36021E-09    0.22043E-11    0.00000E+00    0.13411E-10    0.34136E-07    0.12227E-10   -0.25262E-14
+   342    0.35647E-09    0.22268E-11    0.00000E+00    0.13255E-10    0.34017E-07    0.12147E-10   -0.28760E-14
+   343    0.35277E-09    0.22489E-11    0.00000E+00    0.13095E-10    0.33898E-07    0.12067E-10   -0.32064E-14
+   344    0.34912E-09    0.22708E-11    0.00000E+00    0.12931E-10    0.33779E-07    0.11988E-10   -0.34845E-14
+   345    0.34550E-09    0.22924E-11    0.00000E+00    0.12763E-10    0.33661E-07    0.11909E-10   -0.36776E-14
+   346    0.34193E-09    0.23139E-11    0.00000E+00    0.12592E-10    0.33543E-07    0.11830E-10   -0.37529E-14
+   347    0.33840E-09    0.23350E-11    0.00000E+00    0.12416E-10    0.33426E-07    0.11751E-10   -0.36907E-14
+   348    0.33492E-09    0.23558E-11    0.00000E+00    0.12236E-10    0.33309E-07    0.11673E-10   -0.35230E-14
+   349    0.33148E-09    0.23764E-11    0.00000E+00    0.12052E-10    0.33193E-07    0.11594E-10   -0.32950E-14
+   350    0.32809E-09    0.23966E-11    0.00000E+00    0.11865E-10    0.33077E-07    0.11516E-10   -0.30519E-14
+   351    0.32477E-09    0.24166E-11    0.00000E+00    0.11674E-10    0.32962E-07    0.11438E-10   -0.28386E-14
+   352    0.32147E-09    0.24363E-11    0.00000E+00    0.11479E-10    0.32848E-07    0.11362E-10   -0.27003E-14
+   353    0.31823E-09    0.24556E-11    0.00000E+00    0.11282E-10    0.32734E-07    0.11286E-10   -0.26822E-14
+   354    0.31503E-09    0.24746E-11    0.00000E+00    0.11080E-10    0.32621E-07    0.11212E-10   -0.28185E-14
+   355    0.31189E-09    0.24933E-11    0.00000E+00    0.10875E-10    0.32509E-07    0.11138E-10   -0.31010E-14
+   356    0.30880E-09    0.25117E-11    0.00000E+00    0.10668E-10    0.32397E-07    0.11065E-10   -0.35105E-14
+   357    0.30576E-09    0.25297E-11    0.00000E+00    0.10457E-10    0.32287E-07    0.10993E-10   -0.40279E-14
+   358    0.30278E-09    0.25472E-11    0.00000E+00    0.10244E-10    0.32176E-07    0.10922E-10   -0.46342E-14
+   359    0.29984E-09    0.25644E-11    0.00000E+00    0.10027E-10    0.32066E-07    0.10851E-10   -0.53104E-14
+   360    0.29696E-09    0.25813E-11    0.00000E+00    0.98075E-11    0.31957E-07    0.10780E-10   -0.60372E-14
+   361    0.29413E-09    0.25978E-11    0.00000E+00    0.95849E-11    0.31848E-07    0.10709E-10   -0.67924E-14
+   362    0.29136E-09    0.26139E-11    0.00000E+00    0.93596E-11    0.31739E-07    0.10639E-10   -0.75406E-14
+   363    0.28864E-09    0.26297E-11    0.00000E+00    0.91319E-11    0.31631E-07    0.10568E-10   -0.82429E-14
+   364    0.28598E-09    0.26449E-11    0.00000E+00    0.89013E-11    0.31523E-07    0.10499E-10   -0.88608E-14
+   365    0.28337E-09    0.26598E-11    0.00000E+00    0.86686E-11    0.31416E-07    0.10429E-10   -0.93555E-14
+   366    0.28082E-09    0.26743E-11    0.00000E+00    0.84334E-11    0.31309E-07    0.10361E-10   -0.96884E-14
+   367    0.27833E-09    0.26882E-11    0.00000E+00    0.81960E-11    0.31203E-07    0.10293E-10   -0.98206E-14
+   368    0.27588E-09    0.27018E-11    0.00000E+00    0.79566E-11    0.31097E-07    0.10226E-10   -0.97298E-14
+   369    0.27351E-09    0.27150E-11    0.00000E+00    0.77149E-11    0.30992E-07    0.10160E-10   -0.94585E-14
+   370    0.27119E-09    0.27277E-11    0.00000E+00    0.74716E-11    0.30888E-07    0.10095E-10   -0.90654E-14
+   371    0.26892E-09    0.27399E-11    0.00000E+00    0.72262E-11    0.30784E-07    0.10031E-10   -0.86094E-14
+   372    0.26671E-09    0.27517E-11    0.00000E+00    0.69793E-11    0.30681E-07    0.99670E-11   -0.81490E-14
+   373    0.26456E-09    0.27630E-11    0.00000E+00    0.67305E-11    0.30578E-07    0.99038E-11   -0.77432E-14
+   374    0.26247E-09    0.27739E-11    0.00000E+00    0.64803E-11    0.30476E-07    0.98411E-11   -0.74507E-14
+   375    0.26043E-09    0.27843E-11    0.00000E+00    0.62287E-11    0.30374E-07    0.97789E-11   -0.73169E-14
+   376    0.25846E-09    0.27943E-11    0.00000E+00    0.59757E-11    0.30273E-07    0.97171E-11   -0.73343E-14
+   377    0.25655E-09    0.28037E-11    0.00000E+00    0.57217E-11    0.30173E-07    0.96556E-11   -0.74820E-14
+   378    0.25469E-09    0.28126E-11    0.00000E+00    0.54663E-11    0.30072E-07    0.95944E-11   -0.77393E-14
+   379    0.25289E-09    0.28211E-11    0.00000E+00    0.52101E-11    0.29973E-07    0.95334E-11   -0.80852E-14
+   380    0.25116E-09    0.28292E-11    0.00000E+00    0.49528E-11    0.29873E-07    0.94726E-11   -0.84990E-14
+   381    0.24948E-09    0.28364E-11    0.00000E+00    0.46948E-11    0.29774E-07    0.94119E-11   -0.89599E-14
+   382    0.24785E-09    0.28434E-11    0.00000E+00    0.44362E-11    0.29676E-07    0.93513E-11   -0.94468E-14
+   383    0.24629E-09    0.28498E-11    0.00000E+00    0.41768E-11    0.29577E-07    0.92909E-11   -0.99381E-14
+   384    0.24480E-09    0.28556E-11    0.00000E+00    0.39171E-11    0.29479E-07    0.92309E-11   -0.10412E-13
+   385    0.24335E-09    0.28611E-11    0.00000E+00    0.36569E-11    0.29382E-07    0.91713E-11   -0.10846E-13
+   386    0.24197E-09    0.28660E-11    0.00000E+00    0.33965E-11    0.29285E-07    0.91124E-11   -0.11220E-13
+   387    0.24064E-09    0.28703E-11    0.00000E+00    0.31359E-11    0.29188E-07    0.90543E-11   -0.11510E-13
+   388    0.23937E-09    0.28741E-11    0.00000E+00    0.28753E-11    0.29092E-07    0.89971E-11   -0.11695E-13
+   389    0.23816E-09    0.28771E-11    0.00000E+00    0.26147E-11    0.28997E-07    0.89409E-11   -0.11764E-13
+   390    0.23701E-09    0.28800E-11    0.00000E+00    0.23544E-11    0.28902E-07    0.88856E-11   -0.11745E-13
+   391    0.23592E-09    0.28822E-11    0.00000E+00    0.20942E-11    0.28807E-07    0.88312E-11   -0.11678E-13
+   392    0.23488E-09    0.28841E-11    0.00000E+00    0.18345E-11    0.28713E-07    0.87775E-11   -0.11603E-13
+   393    0.23391E-09    0.28853E-11    0.00000E+00    0.15752E-11    0.28620E-07    0.87244E-11   -0.11558E-13
+   394    0.23299E-09    0.28860E-11    0.00000E+00    0.13166E-11    0.28527E-07    0.86719E-11   -0.11584E-13
+   395    0.23212E-09    0.28861E-11    0.00000E+00    0.10585E-11    0.28434E-07    0.86197E-11   -0.11719E-13
+   396    0.23132E-09    0.28857E-11    0.00000E+00    0.80138E-12    0.28342E-07    0.85677E-11   -0.11992E-13
+   397    0.23056E-09    0.28848E-11    0.00000E+00    0.54506E-12    0.28250E-07    0.85160E-11   -0.12386E-13
+   398    0.22987E-09    0.28833E-11    0.00000E+00    0.28972E-12    0.28159E-07    0.84644E-11   -0.12874E-13
+   399    0.22923E-09    0.28813E-11    0.00000E+00    0.35477E-13    0.28068E-07    0.84128E-11   -0.13428E-13
+   400    0.22864E-09    0.28788E-11    0.00000E+00   -0.21755E-12    0.27978E-07    0.83612E-11   -0.14020E-13
+   401    0.22811E-09    0.28757E-11    0.00000E+00   -0.46928E-12    0.27888E-07    0.83094E-11   -0.14624E-13
+   402    0.22764E-09    0.28720E-11    0.00000E+00   -0.71959E-12    0.27798E-07    0.82574E-11   -0.15211E-13
+   403    0.22722E-09    0.28679E-11    0.00000E+00   -0.96840E-12    0.27708E-07    0.82052E-11   -0.15755E-13
+   404    0.22685E-09    0.28632E-11    0.00000E+00   -0.12155E-11    0.27619E-07    0.81529E-11   -0.16234E-13
+   405    0.22654E-09    0.28579E-11    0.00000E+00   -0.14610E-11    0.27530E-07    0.81005E-11   -0.16630E-13
+   406    0.22627E-09    0.28522E-11    0.00000E+00   -0.17046E-11    0.27442E-07    0.80484E-11   -0.16922E-13
+   407    0.22606E-09    0.28459E-11    0.00000E+00   -0.19465E-11    0.27353E-07    0.79965E-11   -0.17090E-13
+   408    0.22590E-09    0.28391E-11    0.00000E+00   -0.21861E-11    0.27266E-07    0.79451E-11   -0.17115E-13
+   409    0.22580E-09    0.28319E-11    0.00000E+00   -0.24237E-11    0.27178E-07    0.78944E-11   -0.16975E-13
+   410    0.22574E-09    0.28240E-11    0.00000E+00   -0.26592E-11    0.27092E-07    0.78443E-11   -0.16664E-13
+   411    0.22574E-09    0.28157E-11    0.00000E+00   -0.28923E-11    0.27005E-07    0.77951E-11   -0.16212E-13
+   412    0.22578E-09    0.28069E-11    0.00000E+00   -0.31231E-11    0.26919E-07    0.77466E-11   -0.15666E-13
+   413    0.22587E-09    0.27976E-11    0.00000E+00   -0.33514E-11    0.26834E-07    0.76988E-11   -0.15068E-13
+   414    0.22600E-09    0.27878E-11    0.00000E+00   -0.35772E-11    0.26749E-07    0.76519E-11   -0.14463E-13
+   415    0.22619E-09    0.27776E-11    0.00000E+00   -0.38002E-11    0.26664E-07    0.76058E-11   -0.13895E-13
+   416    0.22642E-09    0.27668E-11    0.00000E+00   -0.40206E-11    0.26580E-07    0.75604E-11   -0.13408E-13
+   417    0.22669E-09    0.27556E-11    0.00000E+00   -0.42383E-11    0.26496E-07    0.75158E-11   -0.13036E-13
+   418    0.22701E-09    0.27437E-11    0.00000E+00   -0.44529E-11    0.26413E-07    0.74718E-11   -0.12780E-13
+   419    0.22738E-09    0.27315E-11    0.00000E+00   -0.46645E-11    0.26330E-07    0.74285E-11   -0.12629E-13
+   420    0.22779E-09    0.27189E-11    0.00000E+00   -0.48731E-11    0.26247E-07    0.73857E-11   -0.12574E-13
+   421    0.22825E-09    0.27058E-11    0.00000E+00   -0.50785E-11    0.26165E-07    0.73432E-11   -0.12603E-13
+   422    0.22875E-09    0.26922E-11    0.00000E+00   -0.52808E-11    0.26083E-07    0.73010E-11   -0.12709E-13
+   423    0.22928E-09    0.26781E-11    0.00000E+00   -0.54797E-11    0.26001E-07    0.72591E-11   -0.12880E-13
+   424    0.22985E-09    0.26636E-11    0.00000E+00   -0.56753E-11    0.25920E-07    0.72172E-11   -0.13104E-13
+   425    0.23047E-09    0.26486E-11    0.00000E+00   -0.58673E-11    0.25838E-07    0.71754E-11   -0.13355E-13
+   426    0.23113E-09    0.26333E-11    0.00000E+00   -0.60558E-11    0.25757E-07    0.71338E-11   -0.13607E-13
+   427    0.23182E-09    0.26175E-11    0.00000E+00   -0.62409E-11    0.25677E-07    0.70924E-11   -0.13830E-13
+   428    0.23255E-09    0.26013E-11    0.00000E+00   -0.64221E-11    0.25596E-07    0.70511E-11   -0.13997E-13
+   429    0.23331E-09    0.25847E-11    0.00000E+00   -0.65996E-11    0.25516E-07    0.70100E-11   -0.14080E-13
+   430    0.23412E-09    0.25678E-11    0.00000E+00   -0.67734E-11    0.25437E-07    0.69691E-11   -0.14052E-13
+   431    0.23496E-09    0.25504E-11    0.00000E+00   -0.69433E-11    0.25358E-07    0.69284E-11   -0.13893E-13
+   432    0.23582E-09    0.25326E-11    0.00000E+00   -0.71094E-11    0.25279E-07    0.68880E-11   -0.13628E-13
+   433    0.23673E-09    0.25146E-11    0.00000E+00   -0.72713E-11    0.25201E-07    0.68478E-11   -0.13289E-13
+   434    0.23766E-09    0.24961E-11    0.00000E+00   -0.74294E-11    0.25123E-07    0.68078E-11   -0.12909E-13
+   435    0.23862E-09    0.24774E-11    0.00000E+00   -0.75834E-11    0.25046E-07    0.67679E-11   -0.12523E-13
+   436    0.23962E-09    0.24583E-11    0.00000E+00   -0.77333E-11    0.24969E-07    0.67283E-11   -0.12162E-13
+   437    0.24065E-09    0.24388E-11    0.00000E+00   -0.78789E-11    0.24892E-07    0.66888E-11   -0.11860E-13
+   438    0.24170E-09    0.24190E-11    0.00000E+00   -0.80202E-11    0.24816E-07    0.66495E-11   -0.11645E-13
+   439    0.24279E-09    0.23990E-11    0.00000E+00   -0.81574E-11    0.24740E-07    0.66104E-11   -0.11517E-13
+   440    0.24390E-09    0.23786E-11    0.00000E+00   -0.82901E-11    0.24664E-07    0.65715E-11   -0.11472E-13
+   441    0.24504E-09    0.23579E-11    0.00000E+00   -0.84186E-11    0.24589E-07    0.65329E-11   -0.11506E-13
+   442    0.24619E-09    0.23369E-11    0.00000E+00   -0.85426E-11    0.24513E-07    0.64947E-11   -0.11615E-13
+   443    0.24738E-09    0.23157E-11    0.00000E+00   -0.86622E-11    0.24438E-07    0.64568E-11   -0.11792E-13
+   444    0.24859E-09    0.22943E-11    0.00000E+00   -0.87772E-11    0.24364E-07    0.64194E-11   -0.12035E-13
+   445    0.24982E-09    0.22724E-11    0.00000E+00   -0.88877E-11    0.24289E-07    0.63825E-11   -0.12336E-13
+   446    0.25106E-09    0.22505E-11    0.00000E+00   -0.89935E-11    0.24215E-07    0.63461E-11   -0.12674E-13
+   447    0.25233E-09    0.22284E-11    0.00000E+00   -0.90949E-11    0.24141E-07    0.63100E-11   -0.13028E-13
+   448    0.25361E-09    0.22059E-11    0.00000E+00   -0.91917E-11    0.24067E-07    0.62743E-11   -0.13376E-13
+   449    0.25492E-09    0.21833E-11    0.00000E+00   -0.92837E-11    0.23994E-07    0.62390E-11   -0.13694E-13
+   450    0.25625E-09    0.21606E-11    0.00000E+00   -0.93712E-11    0.23921E-07    0.62039E-11   -0.13961E-13
+   451    0.25759E-09    0.21376E-11    0.00000E+00   -0.94539E-11    0.23848E-07    0.61691E-11   -0.14154E-13
+   452    0.25894E-09    0.21145E-11    0.00000E+00   -0.95321E-11    0.23776E-07    0.61346E-11   -0.14256E-13
+   453    0.26032E-09    0.20913E-11    0.00000E+00   -0.96055E-11    0.23704E-07    0.61001E-11   -0.14268E-13
+   454    0.26170E-09    0.20679E-11    0.00000E+00   -0.96743E-11    0.23633E-07    0.60658E-11   -0.14198E-13
+   455    0.26309E-09    0.20444E-11    0.00000E+00   -0.97385E-11    0.23562E-07    0.60316E-11   -0.14052E-13
+   456    0.26451E-09    0.20207E-11    0.00000E+00   -0.97972E-11    0.23491E-07    0.59974E-11   -0.13838E-13
+   457    0.26592E-09    0.19970E-11    0.00000E+00   -0.98523E-11    0.23421E-07    0.59632E-11   -0.13562E-13
+   458    0.26735E-09    0.19732E-11    0.00000E+00   -0.99013E-11    0.23351E-07    0.59289E-11   -0.13232E-13
+   459    0.26879E-09    0.19494E-11    0.00000E+00   -0.99463E-11    0.23281E-07    0.58946E-11   -0.12853E-13
+   460    0.27024E-09    0.19254E-11    0.00000E+00   -0.99865E-11    0.23212E-07    0.58603E-11   -0.12426E-13
+   461    0.27169E-09    0.19014E-11    0.00000E+00   -0.10022E-10    0.23142E-07    0.58262E-11   -0.11951E-13
+   462    0.27315E-09    0.18773E-11    0.00000E+00   -0.10052E-10    0.23073E-07    0.57925E-11   -0.11427E-13
+   463    0.27461E-09    0.18533E-11    0.00000E+00   -0.10079E-10    0.23005E-07    0.57592E-11   -0.10855E-13
+   464    0.27607E-09    0.18293E-11    0.00000E+00   -0.10099E-10    0.22936E-07    0.57265E-11   -0.10233E-13
+   465    0.27753E-09    0.18053E-11    0.00000E+00   -0.10116E-10    0.22868E-07    0.56946E-11   -0.95617E-14
+   466    0.27900E-09    0.17812E-11    0.00000E+00   -0.10127E-10    0.22800E-07    0.56636E-11   -0.88428E-14
+   467    0.28048E-09    0.17572E-11    0.00000E+00   -0.10134E-10    0.22732E-07    0.56335E-11   -0.80874E-14
+   468    0.28195E-09    0.17333E-11    0.00000E+00   -0.10136E-10    0.22664E-07    0.56042E-11   -0.73090E-14
+   469    0.28342E-09    0.17093E-11    0.00000E+00   -0.10134E-10    0.22597E-07    0.55757E-11   -0.65208E-14
+   470    0.28490E-09    0.16855E-11    0.00000E+00   -0.10127E-10    0.22530E-07    0.55479E-11   -0.57363E-14
+   471    0.28635E-09    0.16619E-11    0.00000E+00   -0.10115E-10    0.22463E-07    0.55208E-11   -0.49688E-14
+   472    0.28782E-09    0.16383E-11    0.00000E+00   -0.10099E-10    0.22397E-07    0.54944E-11   -0.42318E-14
+   473    0.28928E-09    0.16148E-11    0.00000E+00   -0.10078E-10    0.22331E-07    0.54686E-11   -0.35385E-14
+   474    0.29074E-09    0.15915E-11    0.00000E+00   -0.10053E-10    0.22266E-07    0.54433E-11   -0.29014E-14
+   475    0.29220E-09    0.15682E-11    0.00000E+00   -0.10023E-10    0.22200E-07    0.54184E-11   -0.23328E-14
+   476    0.29364E-09    0.15452E-11    0.00000E+00   -0.99883E-11    0.22135E-07    0.53937E-11   -0.18453E-14
+   477    0.29507E-09    0.15223E-11    0.00000E+00   -0.99502E-11    0.22070E-07    0.53691E-11   -0.14511E-14
+   478    0.29650E-09    0.14995E-11    0.00000E+00   -0.99062E-11    0.22006E-07    0.53445E-11   -0.11627E-14
+   479    0.29792E-09    0.14770E-11    0.00000E+00   -0.98596E-11    0.21941E-07    0.53197E-11   -0.99243E-15
+   480    0.29933E-09    0.14547E-11    0.00000E+00   -0.98078E-11    0.21877E-07    0.52947E-11   -0.94707E-15
+   481    0.30073E-09    0.14326E-11    0.00000E+00   -0.97513E-11    0.21813E-07    0.52693E-11   -0.10111E-14
+   482    0.30213E-09    0.14108E-11    0.00000E+00   -0.96909E-11    0.21750E-07    0.52436E-11   -0.11633E-14
+   483    0.30350E-09    0.13892E-11    0.00000E+00   -0.96269E-11    0.21686E-07    0.52176E-11   -0.13826E-14
+   484    0.30485E-09    0.13679E-11    0.00000E+00   -0.95585E-11    0.21623E-07    0.51911E-11   -0.16477E-14
+   485    0.30621E-09    0.13468E-11    0.00000E+00   -0.94859E-11    0.21560E-07    0.51642E-11   -0.19376E-14
+   486    0.30755E-09    0.13261E-11    0.00000E+00   -0.94094E-11    0.21497E-07    0.51368E-11   -0.22311E-14
+   487    0.30887E-09    0.13057E-11    0.00000E+00   -0.93290E-11    0.21435E-07    0.51090E-11   -0.25088E-14
+   488    0.31017E-09    0.12855E-11    0.00000E+00   -0.92446E-11    0.21373E-07    0.50808E-11   -0.27584E-14
+   489    0.31146E-09    0.12657E-11    0.00000E+00   -0.91564E-11    0.21312E-07    0.50523E-11   -0.29695E-14
+   490    0.31274E-09    0.12463E-11    0.00000E+00   -0.90643E-11    0.21250E-07    0.50237E-11   -0.31317E-14
+   491    0.31398E-09    0.12272E-11    0.00000E+00   -0.89687E-11    0.21189E-07    0.49951E-11   -0.32344E-14
+   492    0.31522E-09    0.12085E-11    0.00000E+00   -0.88695E-11    0.21129E-07    0.49665E-11   -0.32671E-14
+   493    0.31644E-09    0.11900E-11    0.00000E+00   -0.87665E-11    0.21068E-07    0.49382E-11   -0.32195E-14
+   494    0.31764E-09    0.11721E-11    0.00000E+00   -0.86602E-11    0.21008E-07    0.49101E-11   -0.30870E-14
+   495    0.31881E-09    0.11545E-11    0.00000E+00   -0.85504E-11    0.20948E-07    0.48824E-11   -0.28889E-14
+   496    0.31996E-09    0.11374E-11    0.00000E+00   -0.84373E-11    0.20888E-07    0.48550E-11   -0.26506E-14
+   497    0.32109E-09    0.11207E-11    0.00000E+00   -0.83208E-11    0.20828E-07    0.48280E-11   -0.23974E-14
+   498    0.32220E-09    0.11043E-11    0.00000E+00   -0.82013E-11    0.20769E-07    0.48014E-11   -0.21545E-14
+   499    0.32330E-09    0.10885E-11    0.00000E+00   -0.80784E-11    0.20710E-07    0.47752E-11   -0.19473E-14
+   500    0.32437E-09    0.10730E-11    0.00000E+00   -0.79527E-11    0.20651E-07    0.47494E-11   -0.18011E-14
+   501    0.32540E-09    0.10581E-11    0.00000E+00   -0.78240E-11    0.20592E-07    0.47240E-11   -0.17361E-14
+   502    0.32643E-09    0.10437E-11    0.00000E+00   -0.76923E-11    0.20533E-07    0.46991E-11   -0.17514E-14
+   503    0.32742E-09    0.10297E-11    0.00000E+00   -0.75579E-11    0.20475E-07    0.46746E-11   -0.18412E-14
+   504    0.32838E-09    0.10162E-11    0.00000E+00   -0.74206E-11    0.20417E-07    0.46505E-11   -0.19995E-14
+   505    0.32934E-09    0.10033E-11    0.00000E+00   -0.72809E-11    0.20359E-07    0.46269E-11   -0.22205E-14
+   506    0.33025E-09    0.99092E-12    0.00000E+00   -0.71385E-11    0.20301E-07    0.46037E-11   -0.24982E-14
+   507    0.33115E-09    0.97902E-12    0.00000E+00   -0.69937E-11    0.20244E-07    0.45809E-11   -0.28268E-14
+   508    0.33201E-09    0.96774E-12    0.00000E+00   -0.68464E-11    0.20187E-07    0.45585E-11   -0.31970E-14
+   509    0.33285E-09    0.95695E-12    0.00000E+00   -0.66970E-11    0.20130E-07    0.45365E-11   -0.35870E-14
+   510    0.33365E-09    0.94674E-12    0.00000E+00   -0.65454E-11    0.20074E-07    0.45150E-11   -0.39715E-14
+   511    0.33444E-09    0.93707E-12    0.00000E+00   -0.63916E-11    0.20018E-07    0.44939E-11   -0.43254E-14
+   512    0.33519E-09    0.92800E-12    0.00000E+00   -0.62358E-11    0.19962E-07    0.44733E-11   -0.46235E-14
+   513    0.33592E-09    0.91950E-12    0.00000E+00   -0.60782E-11    0.19906E-07    0.44531E-11   -0.48405E-14
+   514    0.33662E-09    0.91161E-12    0.00000E+00   -0.59188E-11    0.19851E-07    0.44334E-11   -0.49513E-14
+   515    0.33729E-09    0.90432E-12    0.00000E+00   -0.57576E-11    0.19795E-07    0.44142E-11   -0.49368E-14
+   516    0.33793E-09    0.89764E-12    0.00000E+00   -0.55948E-11    0.19740E-07    0.43954E-11   -0.48017E-14
+   517    0.33853E-09    0.89159E-12    0.00000E+00   -0.54305E-11    0.19686E-07    0.43770E-11   -0.45569E-14
+   518    0.33911E-09    0.88615E-12    0.00000E+00   -0.52648E-11    0.19631E-07    0.43589E-11   -0.42133E-14
+   519    0.33967E-09    0.88135E-12    0.00000E+00   -0.50976E-11    0.19576E-07    0.43411E-11   -0.37816E-14
+   520    0.34019E-09    0.87718E-12    0.00000E+00   -0.49293E-11    0.19522E-07    0.43234E-11   -0.32728E-14
+   521    0.34067E-09    0.87365E-12    0.00000E+00   -0.47599E-11    0.19468E-07    0.43059E-11   -0.26976E-14
+   522    0.34112E-09    0.87079E-12    0.00000E+00   -0.45894E-11    0.19414E-07    0.42884E-11   -0.20689E-14
+   523    0.34155E-09    0.86858E-12    0.00000E+00   -0.44180E-11    0.19361E-07    0.42710E-11   -0.14078E-14
+   524    0.34195E-09    0.86702E-12    0.00000E+00   -0.42458E-11    0.19307E-07    0.42534E-11   -0.73730E-15
+   525    0.34230E-09    0.86613E-12    0.00000E+00   -0.40727E-11    0.19254E-07    0.42356E-11   -0.80500E-16
+   526    0.34263E-09    0.86591E-12    0.00000E+00   -0.38990E-11    0.19201E-07    0.42176E-11    0.53954E-15
+   527    0.34295E-09    0.86636E-12    0.00000E+00   -0.37248E-11    0.19148E-07    0.41991E-11    0.10998E-14
+   528    0.34322E-09    0.86748E-12    0.00000E+00   -0.35503E-11    0.19095E-07    0.41802E-11    0.15771E-14
+   529    0.34346E-09    0.86931E-12    0.00000E+00   -0.33753E-11    0.19043E-07    0.41607E-11    0.19553E-14
+   530    0.34366E-09    0.87182E-12    0.00000E+00   -0.32003E-11    0.18991E-07    0.41410E-11    0.22454E-14
+   531    0.34386E-09    0.87500E-12    0.00000E+00   -0.30249E-11    0.18939E-07    0.41213E-11    0.24654E-14
+   532    0.34400E-09    0.87889E-12    0.00000E+00   -0.28496E-11    0.18888E-07    0.41020E-11    0.26332E-14
+   533    0.34411E-09    0.88347E-12    0.00000E+00   -0.26744E-11    0.18836E-07    0.40833E-11    0.27666E-14
+   534    0.34419E-09    0.88875E-12    0.00000E+00   -0.24994E-11    0.18785E-07    0.40656E-11    0.28836E-14
+   535    0.34424E-09    0.89474E-12    0.00000E+00   -0.23247E-11    0.18734E-07    0.40492E-11    0.30021E-14
+   536    0.34426E-09    0.90142E-12    0.00000E+00   -0.21503E-11    0.18683E-07    0.40342E-11    0.31318E-14
+   537    0.34426E-09    0.90880E-12    0.00000E+00   -0.19764E-11    0.18632E-07    0.40200E-11    0.32503E-14
+   538    0.34421E-09    0.91690E-12    0.00000E+00   -0.18031E-11    0.18582E-07    0.40056E-11    0.33270E-14
+   539    0.34414E-09    0.92568E-12    0.00000E+00   -0.16305E-11    0.18531E-07    0.39902E-11    0.33313E-14
+   540    0.34404E-09    0.93520E-12    0.00000E+00   -0.14587E-11    0.18481E-07    0.39730E-11    0.32326E-14
+   541    0.34390E-09    0.94540E-12    0.00000E+00   -0.12877E-11    0.18431E-07    0.39531E-11    0.30002E-14
+   542    0.34374E-09    0.95631E-12    0.00000E+00   -0.11178E-11    0.18382E-07    0.39297E-11    0.26036E-14
+   543    0.34354E-09    0.96794E-12    0.00000E+00   -0.94894E-12    0.18332E-07    0.39025E-11    0.20381E-14
+   544    0.34332E-09    0.98027E-12    0.00000E+00   -0.78125E-12    0.18283E-07    0.38740E-11    0.14025E-14
+   545    0.34306E-09    0.99330E-12    0.00000E+00   -0.61481E-12    0.18234E-07    0.38473E-11    0.82137E-15
+   546    0.34278E-09    0.10070E-11    0.00000E+00   -0.44976E-12    0.18186E-07    0.38255E-11    0.41950E-15
+   547    0.34246E-09    0.10214E-11    0.00000E+00   -0.28614E-12    0.18137E-07    0.38117E-11    0.32153E-15
+   548    0.34212E-09    0.10365E-11    0.00000E+00   -0.12409E-12    0.18089E-07    0.38090E-11    0.65213E-15
+   549    0.34175E-09    0.10523E-11    0.00000E+00    0.36296E-13    0.18041E-07    0.38204E-11    0.15360E-14
+   550    0.34135E-09    0.10688E-11    0.00000E+00    0.19494E-12    0.17993E-07    0.38467E-11    0.29989E-14
+   551    0.34093E-09    0.10860E-11    0.00000E+00    0.35176E-12    0.17945E-07    0.38786E-11    0.46716E-14
+   552    0.34047E-09    0.11039E-11    0.00000E+00    0.50661E-12    0.17898E-07    0.39044E-11    0.60860E-14
+   553    0.33999E-09    0.11223E-11    0.00000E+00    0.65946E-12    0.17850E-07    0.39124E-11    0.67740E-14
+   554    0.33948E-09    0.11416E-11    0.00000E+00    0.81020E-12    0.17803E-07    0.38908E-11    0.62674E-14
+   555    0.33894E-09    0.11615E-11    0.00000E+00    0.95872E-12    0.17756E-07    0.38280E-11    0.40981E-14
+   556    0.33837E-09    0.11821E-11    0.00000E+00    0.11050E-11    0.17709E-07    0.37123E-11   -0.20180E-15
+   557    0.33778E-09    0.12033E-11    0.00000E+00    0.12488E-11    0.17663E-07    0.35412E-11   -0.67200E-14
+   558    0.33716E-09    0.12253E-11    0.00000E+00    0.13902E-11    0.17616E-07    0.33494E-11   -0.14022E-13
+   559    0.33651E-09    0.12478E-11    0.00000E+00    0.15291E-11    0.17570E-07    0.31807E-11   -0.20293E-13
+   560    0.33585E-09    0.12709E-11    0.00000E+00    0.16653E-11    0.17524E-07    0.30792E-11   -0.23717E-13
+   561    0.33514E-09    0.12947E-11    0.00000E+00    0.17988E-11    0.17478E-07    0.30888E-11   -0.22480E-13
+   562    0.33443E-09    0.13192E-11    0.00000E+00    0.19295E-11    0.17432E-07    0.32532E-11   -0.14768E-13
+   563    0.33369E-09    0.13442E-11    0.00000E+00    0.20576E-11    0.17386E-07    0.36165E-11    0.12359E-14
+   564    0.33293E-09    0.13700E-11    0.00000E+00    0.21824E-11    0.17340E-07    0.42036E-11    0.26601E-13
+   565    0.33214E-09    0.13962E-11    0.00000E+00    0.23044E-11    0.17294E-07    0.49636E-11    0.59418E-13
+   566    0.33133E-09    0.14231E-11    0.00000E+00    0.24232E-11    0.17249E-07    0.58265E-11    0.97035E-13
+   567    0.33050E-09    0.14505E-11    0.00000E+00    0.25389E-11    0.17203E-07    0.67224E-11    0.13680E-12
+   568    0.32965E-09    0.14786E-11    0.00000E+00    0.26513E-11    0.17158E-07    0.75815E-11    0.17606E-12
+   569    0.32877E-09    0.15073E-11    0.00000E+00    0.27607E-11    0.17113E-07    0.83339E-11    0.21216E-12
+   570    0.32788E-09    0.15365E-11    0.00000E+00    0.28664E-11    0.17068E-07    0.89097E-11    0.24244E-12
+   571    0.32696E-09    0.15663E-11    0.00000E+00    0.29687E-11    0.17024E-07    0.92580E-11    0.26496E-12
+   572    0.32602E-09    0.15966E-11    0.00000E+00    0.30676E-11    0.16980E-07    0.94042E-11    0.28053E-12
+   573    0.32507E-09    0.16274E-11    0.00000E+00    0.31628E-11    0.16936E-07    0.93928E-11    0.29068E-12
+   574    0.32410E-09    0.16588E-11    0.00000E+00    0.32545E-11    0.16892E-07    0.92683E-11    0.29691E-12
+   575    0.32311E-09    0.16906E-11    0.00000E+00    0.33424E-11    0.16849E-07    0.90750E-11    0.30075E-12
+   576    0.32211E-09    0.17230E-11    0.00000E+00    0.34267E-11    0.16806E-07    0.88575E-11    0.30371E-12
+   577    0.32108E-09    0.17559E-11    0.00000E+00    0.35072E-11    0.16763E-07    0.86603E-11    0.30731E-12
+   578    0.32004E-09    0.17892E-11    0.00000E+00    0.35838E-11    0.16720E-07    0.85183E-11    0.31275E-12
+   579    0.31899E-09    0.18231E-11    0.00000E+00    0.36566E-11    0.16678E-07    0.84289E-11    0.31991E-12
+   580    0.31793E-09    0.18574E-11    0.00000E+00    0.37253E-11    0.16635E-07    0.83803E-11    0.32836E-12
+   581    0.31683E-09    0.18921E-11    0.00000E+00    0.37902E-11    0.16593E-07    0.83603E-11    0.33767E-12
+   582    0.31573E-09    0.19273E-11    0.00000E+00    0.38510E-11    0.16550E-07    0.83571E-11    0.34739E-12
+   583    0.31462E-09    0.19629E-11    0.00000E+00    0.39076E-11    0.16508E-07    0.83587E-11    0.35710E-12
+   584    0.31350E-09    0.19989E-11    0.00000E+00    0.39602E-11    0.16466E-07    0.83530E-11    0.36635E-12
+   585    0.31237E-09    0.20353E-11    0.00000E+00    0.40086E-11    0.16425E-07    0.83306E-11    0.37482E-12
+   586    0.31122E-09    0.20720E-11    0.00000E+00    0.40528E-11    0.16383E-07    0.82925E-11    0.38254E-12
+   587    0.31007E-09    0.21092E-11    0.00000E+00    0.40928E-11    0.16342E-07    0.82421E-11    0.38969E-12
+   588    0.30890E-09    0.21467E-11    0.00000E+00    0.41284E-11    0.16301E-07    0.81829E-11    0.39640E-12
+   589    0.30772E-09    0.21846E-11    0.00000E+00    0.41598E-11    0.16260E-07    0.81184E-11    0.40282E-12
+   590    0.30653E-09    0.22227E-11    0.00000E+00    0.41869E-11    0.16219E-07    0.80520E-11    0.40911E-12
+   591    0.30534E-09    0.22613E-11    0.00000E+00    0.42096E-11    0.16178E-07    0.79872E-11    0.41542E-12
+   592    0.30414E-09    0.23000E-11    0.00000E+00    0.42278E-11    0.16137E-07    0.79268E-11    0.42187E-12
+   593    0.30293E-09    0.23392E-11    0.00000E+00    0.42418E-11    0.16097E-07    0.78704E-11    0.42848E-12
+   594    0.30170E-09    0.23786E-11    0.00000E+00    0.42512E-11    0.16057E-07    0.78171E-11    0.43524E-12
+   595    0.30047E-09    0.24181E-11    0.00000E+00    0.42563E-11    0.16017E-07    0.77659E-11    0.44214E-12
+   596    0.29925E-09    0.24581E-11    0.00000E+00    0.42568E-11    0.15977E-07    0.77156E-11    0.44917E-12
+   597    0.29802E-09    0.24980E-11    0.00000E+00    0.42529E-11    0.15937E-07    0.76653E-11    0.45632E-12
+   598    0.29681E-09    0.25383E-11    0.00000E+00    0.42445E-11    0.15897E-07    0.76141E-11    0.46358E-12
+   599    0.29558E-09    0.25788E-11    0.00000E+00    0.42317E-11    0.15858E-07    0.75610E-11    0.47094E-12
+   600    0.29434E-09    0.26195E-11    0.00000E+00    0.42143E-11    0.15818E-07    0.75061E-11    0.47838E-12
+   601    0.29310E-09    0.26604E-11    0.00000E+00    0.41924E-11    0.15779E-07    0.74498E-11    0.48588E-12
+   602    0.29186E-09    0.27013E-11    0.00000E+00    0.41659E-11    0.15740E-07    0.73921E-11    0.49341E-12
+   603    0.29061E-09    0.27425E-11    0.00000E+00    0.41351E-11    0.15701E-07    0.73335E-11    0.50097E-12
+   604    0.28938E-09    0.27837E-11    0.00000E+00    0.40997E-11    0.15663E-07    0.72742E-11    0.50851E-12
+   605    0.28814E-09    0.28250E-11    0.00000E+00    0.40598E-11    0.15624E-07    0.72145E-11    0.51603E-12
+   606    0.28691E-09    0.28664E-11    0.00000E+00    0.40154E-11    0.15586E-07    0.71544E-11    0.52350E-12
+   607    0.28565E-09    0.29079E-11    0.00000E+00    0.39665E-11    0.15547E-07    0.70942E-11    0.53092E-12
+   608    0.28442E-09    0.29495E-11    0.00000E+00    0.39131E-11    0.15509E-07    0.70336E-11    0.53827E-12
+   609    0.28320E-09    0.29910E-11    0.00000E+00    0.38552E-11    0.15471E-07    0.69727E-11    0.54556E-12
+   610    0.28197E-09    0.30325E-11    0.00000E+00    0.37928E-11    0.15433E-07    0.69113E-11    0.55278E-12
+   611    0.28075E-09    0.30741E-11    0.00000E+00    0.37260E-11    0.15396E-07    0.68494E-11    0.55991E-12
+   612    0.27954E-09    0.31158E-11    0.00000E+00    0.36549E-11    0.15358E-07    0.67870E-11    0.56696E-12
+   613    0.27832E-09    0.31571E-11    0.00000E+00    0.35792E-11    0.15321E-07    0.67240E-11    0.57392E-12
+   614    0.27712E-09    0.31986E-11    0.00000E+00    0.34991E-11    0.15283E-07    0.66604E-11    0.58080E-12
+   615    0.27592E-09    0.32399E-11    0.00000E+00    0.34147E-11    0.15246E-07    0.65963E-11    0.58759E-12
+   616    0.27473E-09    0.32813E-11    0.00000E+00    0.33260E-11    0.15209E-07    0.65317E-11    0.59430E-12
+   617    0.27356E-09    0.33226E-11    0.00000E+00    0.32330E-11    0.15173E-07    0.64666E-11    0.60094E-12
+   618    0.27239E-09    0.33638E-11    0.00000E+00    0.31356E-11    0.15136E-07    0.64011E-11    0.60751E-12
+   619    0.27122E-09    0.34050E-11    0.00000E+00    0.30342E-11    0.15099E-07    0.63352E-11    0.61401E-12
+   620    0.27008E-09    0.34458E-11    0.00000E+00    0.29285E-11    0.15063E-07    0.62689E-11    0.62045E-12
+   621    0.26893E-09    0.34866E-11    0.00000E+00    0.28186E-11    0.15027E-07    0.62023E-11    0.62682E-12
+   622    0.26780E-09    0.35272E-11    0.00000E+00    0.27045E-11    0.14991E-07    0.61353E-11    0.63313E-12
+   623    0.26669E-09    0.35675E-11    0.00000E+00    0.25865E-11    0.14955E-07    0.60680E-11    0.63935E-12
+   624    0.26558E-09    0.36076E-11    0.00000E+00    0.24644E-11    0.14919E-07    0.60004E-11    0.64550E-12
+   625    0.26448E-09    0.36475E-11    0.00000E+00    0.23382E-11    0.14883E-07    0.59324E-11    0.65156E-12
+   626    0.26340E-09    0.36872E-11    0.00000E+00    0.22081E-11    0.14848E-07    0.58642E-11    0.65753E-12
+   627    0.26234E-09    0.37266E-11    0.00000E+00    0.20741E-11    0.14812E-07    0.57956E-11    0.66340E-12
+   628    0.26129E-09    0.37657E-11    0.00000E+00    0.19362E-11    0.14777E-07    0.57268E-11    0.66919E-12
+   629    0.26026E-09    0.38045E-11    0.00000E+00    0.17945E-11    0.14742E-07    0.56575E-11    0.67490E-12
+   630    0.25923E-09    0.38430E-11    0.00000E+00    0.16489E-11    0.14707E-07    0.55879E-11    0.68055E-12
+   631    0.25822E-09    0.38812E-11    0.00000E+00    0.14998E-11    0.14672E-07    0.55179E-11    0.68615E-12
+   632    0.25724E-09    0.39190E-11    0.00000E+00    0.13469E-11    0.14637E-07    0.54474E-11    0.69170E-12
+   633    0.25626E-09    0.39566E-11    0.00000E+00    0.11905E-11    0.14602E-07    0.53765E-11    0.69722E-12
+   634    0.25531E-09    0.39936E-11    0.00000E+00    0.10306E-11    0.14568E-07    0.53051E-11    0.70271E-12
+   635    0.25438E-09    0.40304E-11    0.00000E+00    0.86725E-12    0.14533E-07    0.52334E-11    0.70814E-12
+   636    0.25345E-09    0.40669E-11    0.00000E+00    0.70054E-12    0.14499E-07    0.51616E-11    0.71347E-12
+   637    0.25255E-09    0.41027E-11    0.00000E+00    0.53039E-12    0.14465E-07    0.50898E-11    0.71865E-12
+   638    0.25167E-09    0.41383E-11    0.00000E+00    0.35709E-12    0.14431E-07    0.50184E-11    0.72365E-12
+   639    0.25081E-09    0.41733E-11    0.00000E+00    0.18051E-12    0.14397E-07    0.49474E-11    0.72843E-12
+   640    0.24997E-09    0.42080E-11    0.00000E+00    0.86472E-15    0.14363E-07    0.48772E-11    0.73295E-12
+   641    0.24915E-09    0.42422E-11    0.00000E+00   -0.18185E-12    0.14330E-07    0.48077E-11    0.73717E-12
+   642    0.24834E-09    0.42758E-11    0.00000E+00   -0.36753E-12    0.14296E-07    0.47391E-11    0.74111E-12
+   643    0.24756E-09    0.43091E-11    0.00000E+00   -0.55611E-12    0.14263E-07    0.46713E-11    0.74478E-12
+   644    0.24681E-09    0.43416E-11    0.00000E+00   -0.74750E-12    0.14230E-07    0.46044E-11    0.74822E-12
+   645    0.24607E-09    0.43737E-11    0.00000E+00   -0.94166E-12    0.14197E-07    0.45382E-11    0.75145E-12
+   646    0.24535E-09    0.44053E-11    0.00000E+00   -0.11385E-11    0.14164E-07    0.44728E-11    0.75447E-12
+   647    0.24467E-09    0.44363E-11    0.00000E+00   -0.13380E-11    0.14131E-07    0.44082E-11    0.75733E-12
+   648    0.24399E-09    0.44668E-11    0.00000E+00   -0.15399E-11    0.14098E-07    0.43442E-11    0.76003E-12
+   649    0.24335E-09    0.44966E-11    0.00000E+00   -0.17443E-11    0.14066E-07    0.42805E-11    0.76262E-12
+   650    0.24273E-09    0.45258E-11    0.00000E+00   -0.19510E-11    0.14033E-07    0.42167E-11    0.76511E-12
+   651    0.24213E-09    0.45546E-11    0.00000E+00   -0.21600E-11    0.14001E-07    0.41523E-11    0.76755E-12
+   652    0.24155E-09    0.45827E-11    0.00000E+00   -0.23712E-11    0.13968E-07    0.40868E-11    0.76996E-12
+   653    0.24101E-09    0.46100E-11    0.00000E+00   -0.25844E-11    0.13936E-07    0.40198E-11    0.77238E-12
+   654    0.24048E-09    0.46368E-11    0.00000E+00   -0.27995E-11    0.13904E-07    0.39509E-11    0.77482E-12
+   655    0.23997E-09    0.46630E-11    0.00000E+00   -0.30166E-11    0.13872E-07    0.38798E-11    0.77733E-12
+   656    0.23950E-09    0.46885E-11    0.00000E+00   -0.32355E-11    0.13841E-07    0.38067E-11    0.77987E-12
+   657    0.23905E-09    0.47133E-11    0.00000E+00   -0.34560E-11    0.13809E-07    0.37321E-11    0.78242E-12
+   658    0.23861E-09    0.47375E-11    0.00000E+00   -0.36782E-11    0.13777E-07    0.36565E-11    0.78495E-12
+   659    0.23822E-09    0.47610E-11    0.00000E+00   -0.39019E-11    0.13746E-07    0.35802E-11    0.78743E-12
+   660    0.23785E-09    0.47837E-11    0.00000E+00   -0.41270E-11    0.13715E-07    0.35038E-11    0.78983E-12
+   661    0.23750E-09    0.48057E-11    0.00000E+00   -0.43533E-11    0.13683E-07    0.34276E-11    0.79213E-12
+   662    0.23718E-09    0.48271E-11    0.00000E+00   -0.45810E-11    0.13652E-07    0.33521E-11    0.79429E-12
+   663    0.23688E-09    0.48478E-11    0.00000E+00   -0.48099E-11    0.13621E-07    0.32771E-11    0.79633E-12
+   664    0.23661E-09    0.48676E-11    0.00000E+00   -0.50397E-11    0.13590E-07    0.32027E-11    0.79825E-12
+   665    0.23636E-09    0.48867E-11    0.00000E+00   -0.52705E-11    0.13560E-07    0.31287E-11    0.80006E-12
+   666    0.23614E-09    0.49051E-11    0.00000E+00   -0.55021E-11    0.13529E-07    0.30549E-11    0.80176E-12
+   667    0.23595E-09    0.49227E-11    0.00000E+00   -0.57345E-11    0.13499E-07    0.29815E-11    0.80338E-12
+   668    0.23577E-09    0.49396E-11    0.00000E+00   -0.59676E-11    0.13468E-07    0.29081E-11    0.80491E-12
+   669    0.23564E-09    0.49557E-11    0.00000E+00   -0.62012E-11    0.13438E-07    0.28348E-11    0.80637E-12
+   670    0.23552E-09    0.49710E-11    0.00000E+00   -0.64351E-11    0.13408E-07    0.27616E-11    0.80775E-12
+   671    0.23544E-09    0.49857E-11    0.00000E+00   -0.66695E-11    0.13378E-07    0.26884E-11    0.80905E-12
+   672    0.23537E-09    0.49994E-11    0.00000E+00   -0.69042E-11    0.13348E-07    0.26155E-11    0.81027E-12
+   673    0.23534E-09    0.50125E-11    0.00000E+00   -0.71389E-11    0.13318E-07    0.25427E-11    0.81140E-12
+   674    0.23533E-09    0.50247E-11    0.00000E+00   -0.73737E-11    0.13288E-07    0.24701E-11    0.81245E-12
+   675    0.23535E-09    0.50361E-11    0.00000E+00   -0.76085E-11    0.13258E-07    0.23979E-11    0.81342E-12
+   676    0.23539E-09    0.50467E-11    0.00000E+00   -0.78430E-11    0.13229E-07    0.23259E-11    0.81429E-12
+   677    0.23546E-09    0.50565E-11    0.00000E+00   -0.80773E-11    0.13199E-07    0.22543E-11    0.81507E-12
+   678    0.23556E-09    0.50654E-11    0.00000E+00   -0.83113E-11    0.13170E-07    0.21830E-11    0.81576E-12
+   679    0.23568E-09    0.50736E-11    0.00000E+00   -0.85448E-11    0.13141E-07    0.21120E-11    0.81635E-12
+   680    0.23584E-09    0.50810E-11    0.00000E+00   -0.87778E-11    0.13112E-07    0.20413E-11    0.81684E-12
+   681    0.23602E-09    0.50875E-11    0.00000E+00   -0.90100E-11    0.13083E-07    0.19710E-11    0.81723E-12
+   682    0.23622E-09    0.50931E-11    0.00000E+00   -0.92416E-11    0.13054E-07    0.19010E-11    0.81753E-12
+   683    0.23646E-09    0.50981E-11    0.00000E+00   -0.94725E-11    0.13025E-07    0.18313E-11    0.81772E-12
+   684    0.23671E-09    0.51020E-11    0.00000E+00   -0.97024E-11    0.12996E-07    0.17620E-11    0.81781E-12
+   685    0.23698E-09    0.51052E-11    0.00000E+00   -0.99313E-11    0.12968E-07    0.16929E-11    0.81779E-12
+   686    0.23728E-09    0.51075E-11    0.00000E+00   -0.10158E-10    0.12939E-07    0.16241E-11    0.81768E-12
+   687    0.23762E-09    0.51091E-11    0.00000E+00   -0.10384E-10    0.12911E-07    0.15554E-11    0.81745E-12
+   688    0.23797E-09    0.51097E-11    0.00000E+00   -0.10609E-10    0.12882E-07    0.14870E-11    0.81713E-12
+   689    0.23835E-09    0.51095E-11    0.00000E+00   -0.10832E-10    0.12854E-07    0.14188E-11    0.81671E-12
+   690    0.23875E-09    0.51086E-11    0.00000E+00   -0.11054E-10    0.12826E-07    0.13507E-11    0.81618E-12
+   691    0.23918E-09    0.51066E-11    0.00000E+00   -0.11274E-10    0.12798E-07    0.12829E-11    0.81554E-12
+   692    0.23963E-09    0.51040E-11    0.00000E+00   -0.11492E-10    0.12770E-07    0.12154E-11    0.81479E-12
+   693    0.24011E-09    0.51005E-11    0.00000E+00   -0.11709E-10    0.12742E-07    0.11484E-11    0.81392E-12
+   694    0.24060E-09    0.50961E-11    0.00000E+00   -0.11923E-10    0.12714E-07    0.10821E-11    0.81292E-12
+   695    0.24113E-09    0.50911E-11    0.00000E+00   -0.12135E-10    0.12687E-07    0.10164E-11    0.81180E-12
+   696    0.24168E-09    0.50851E-11    0.00000E+00   -0.12347E-10    0.12659E-07    0.95165E-12    0.81054E-12
+   697    0.24225E-09    0.50783E-11    0.00000E+00   -0.12555E-10    0.12632E-07    0.88781E-12    0.80914E-12
+   698    0.24284E-09    0.50706E-11    0.00000E+00   -0.12761E-10    0.12605E-07    0.82502E-12    0.80761E-12
+   699    0.24345E-09    0.50622E-11    0.00000E+00   -0.12964E-10    0.12577E-07    0.76332E-12    0.80593E-12
+   700    0.24409E-09    0.50529E-11    0.00000E+00   -0.13165E-10    0.12550E-07    0.70279E-12    0.80411E-12
+   701    0.24475E-09    0.50428E-11    0.00000E+00   -0.13364E-10    0.12523E-07    0.64351E-12    0.80216E-12
+   702    0.24543E-09    0.50320E-11    0.00000E+00   -0.13559E-10    0.12496E-07    0.58553E-12    0.80006E-12
+   703    0.24613E-09    0.50203E-11    0.00000E+00   -0.13754E-10    0.12469E-07    0.52892E-12    0.79782E-12
+   704    0.24685E-09    0.50079E-11    0.00000E+00   -0.13944E-10    0.12443E-07    0.47369E-12    0.79544E-12
+   705    0.24758E-09    0.49946E-11    0.00000E+00   -0.14131E-10    0.12416E-07    0.41951E-12    0.79293E-12
+   706    0.24834E-09    0.49806E-11    0.00000E+00   -0.14316E-10    0.12389E-07    0.36601E-12    0.79030E-12
+   707    0.24911E-09    0.49658E-11    0.00000E+00   -0.14498E-10    0.12363E-07    0.31280E-12    0.78754E-12
+   708    0.24992E-09    0.49503E-11    0.00000E+00   -0.14675E-10    0.12336E-07    0.25950E-12    0.78468E-12
+   709    0.25073E-09    0.49340E-11    0.00000E+00   -0.14851E-10    0.12310E-07    0.20573E-12    0.78171E-12
+   710    0.25157E-09    0.49169E-11    0.00000E+00   -0.15023E-10    0.12284E-07    0.15110E-12    0.77865E-12
+   711    0.25242E-09    0.48991E-11    0.00000E+00   -0.15191E-10    0.12258E-07    0.95345E-13    0.77549E-12
+   712    0.25329E-09    0.48806E-11    0.00000E+00   -0.15357E-10    0.12232E-07    0.38680E-13    0.77225E-12
+   713    0.25419E-09    0.48613E-11    0.00000E+00   -0.15518E-10    0.12206E-07   -0.18563E-13    0.76893E-12
+   714    0.25508E-09    0.48414E-11    0.00000E+00   -0.15676E-10    0.12180E-07   -0.76053E-13    0.76552E-12
+   715    0.25600E-09    0.48207E-11    0.00000E+00   -0.15831E-10    0.12154E-07   -0.13346E-12    0.76203E-12
+   716    0.25694E-09    0.47993E-11    0.00000E+00   -0.15982E-10    0.12128E-07   -0.19045E-12    0.75846E-12
+   717    0.25789E-09    0.47773E-11    0.00000E+00   -0.16128E-10    0.12103E-07   -0.24670E-12    0.75481E-12
+   718    0.25885E-09    0.47546E-11    0.00000E+00   -0.16272E-10    0.12077E-07   -0.30193E-12    0.75109E-12
+   719    0.25983E-09    0.47310E-11    0.00000E+00   -0.16410E-10    0.12052E-07   -0.35617E-12    0.74729E-12
+   720    0.26081E-09    0.47069E-11    0.00000E+00   -0.16546E-10    0.12026E-07   -0.40948E-12    0.74341E-12
+   721    0.26183E-09    0.46823E-11    0.00000E+00   -0.16676E-10    0.12001E-07   -0.46196E-12    0.73946E-12
+   722    0.26284E-09    0.46569E-11    0.00000E+00   -0.16802E-10    0.11976E-07   -0.51368E-12    0.73543E-12
+   723    0.26387E-09    0.46310E-11    0.00000E+00   -0.16925E-10    0.11951E-07   -0.56471E-12    0.73133E-12
+   724    0.26491E-09    0.46044E-11    0.00000E+00   -0.17044E-10    0.11926E-07   -0.61515E-12    0.72716E-12
+   725    0.26596E-09    0.45773E-11    0.00000E+00   -0.17158E-10    0.11901E-07   -0.66504E-12    0.72291E-12
+   726    0.26703E-09    0.45498E-11    0.00000E+00   -0.17267E-10    0.11876E-07   -0.71440E-12    0.71858E-12
+   727    0.26810E-09    0.45215E-11    0.00000E+00   -0.17373E-10    0.11851E-07   -0.76317E-12    0.71419E-12
+   728    0.26918E-09    0.44925E-11    0.00000E+00   -0.17474E-10    0.11827E-07   -0.81136E-12    0.70972E-12
+   729    0.27027E-09    0.44631E-11    0.00000E+00   -0.17571E-10    0.11802E-07   -0.85892E-12    0.70519E-12
+   730    0.27136E-09    0.44332E-11    0.00000E+00   -0.17663E-10    0.11777E-07   -0.90583E-12    0.70058E-12
+   731    0.27248E-09    0.44026E-11    0.00000E+00   -0.17750E-10    0.11753E-07   -0.95207E-12    0.69591E-12
+   732    0.27359E-09    0.43718E-11    0.00000E+00   -0.17832E-10    0.11729E-07   -0.99762E-12    0.69117E-12
+   733    0.27472E-09    0.43403E-11    0.00000E+00   -0.17911E-10    0.11704E-07   -0.10425E-11    0.68637E-12
+   734    0.27585E-09    0.43084E-11    0.00000E+00   -0.17983E-10    0.11680E-07   -0.10867E-11    0.68150E-12
+   735    0.27699E-09    0.42759E-11    0.00000E+00   -0.18053E-10    0.11656E-07   -0.11302E-11    0.67657E-12
+   736    0.27812E-09    0.42430E-11    0.00000E+00   -0.18116E-10    0.11632E-07   -0.11731E-11    0.67159E-12
+   737    0.27927E-09    0.42098E-11    0.00000E+00   -0.18176E-10    0.11608E-07   -0.12154E-11    0.66654E-12
+   738    0.28041E-09    0.41762E-11    0.00000E+00   -0.18229E-10    0.11584E-07   -0.12570E-11    0.66144E-12
+   739    0.28156E-09    0.41421E-11    0.00000E+00   -0.18278E-10    0.11560E-07   -0.12981E-11    0.65629E-12
+   740    0.28271E-09    0.41076E-11    0.00000E+00   -0.18323E-10    0.11537E-07   -0.13385E-11    0.65108E-12
+   741    0.28387E-09    0.40726E-11    0.00000E+00   -0.18363E-10    0.11513E-07   -0.13784E-11    0.64582E-12
+   742    0.28503E-09    0.40376E-11    0.00000E+00   -0.18397E-10    0.11489E-07   -0.14176E-11    0.64051E-12
+   743    0.28619E-09    0.40023E-11    0.00000E+00   -0.18427E-10    0.11466E-07   -0.14562E-11    0.63515E-12
+   744    0.28736E-09    0.39665E-11    0.00000E+00   -0.18451E-10    0.11442E-07   -0.14942E-11    0.62974E-12
+   745    0.28852E-09    0.39304E-11    0.00000E+00   -0.18472E-10    0.11419E-07   -0.15316E-11    0.62429E-12
+   746    0.28967E-09    0.38941E-11    0.00000E+00   -0.18485E-10    0.11396E-07   -0.15684E-11    0.61879E-12
+   747    0.29082E-09    0.38574E-11    0.00000E+00   -0.18495E-10    0.11373E-07   -0.16045E-11    0.61324E-12
+   748    0.29198E-09    0.38206E-11    0.00000E+00   -0.18500E-10    0.11350E-07   -0.16401E-11    0.60765E-12
+   749    0.29314E-09    0.37833E-11    0.00000E+00   -0.18501E-10    0.11326E-07   -0.16752E-11    0.60202E-12
+   750    0.29429E-09    0.37460E-11    0.00000E+00   -0.18496E-10    0.11303E-07   -0.17098E-11    0.59634E-12
+   751    0.29544E-09    0.37084E-11    0.00000E+00   -0.18486E-10    0.11281E-07   -0.17440E-11    0.59062E-12
+   752    0.29659E-09    0.36708E-11    0.00000E+00   -0.18470E-10    0.11258E-07   -0.17777E-11    0.58486E-12
+   753    0.29773E-09    0.36328E-11    0.00000E+00   -0.18450E-10    0.11235E-07   -0.18111E-11    0.57906E-12
+   754    0.29886E-09    0.35948E-11    0.00000E+00   -0.18424E-10    0.11212E-07   -0.18439E-11    0.57322E-12
+   755    0.30000E-09    0.35566E-11    0.00000E+00   -0.18394E-10    0.11190E-07   -0.18760E-11    0.56734E-12
+   756    0.30111E-09    0.35183E-11    0.00000E+00   -0.18359E-10    0.11167E-07   -0.19073E-11    0.56143E-12
+   757    0.30224E-09    0.34800E-11    0.00000E+00   -0.18318E-10    0.11145E-07   -0.19377E-11    0.55548E-12
+   758    0.30334E-09    0.34415E-11    0.00000E+00   -0.18272E-10    0.11122E-07   -0.19670E-11    0.54950E-12
+   759    0.30445E-09    0.34029E-11    0.00000E+00   -0.18222E-10    0.11100E-07   -0.19950E-11    0.54348E-12
+   760    0.30554E-09    0.33643E-11    0.00000E+00   -0.18167E-10    0.11078E-07   -0.20216E-11    0.53744E-12
+   761    0.30662E-09    0.33257E-11    0.00000E+00   -0.18107E-10    0.11056E-07   -0.20471E-11    0.53134E-12
+   762    0.30771E-09    0.32871E-11    0.00000E+00   -0.18042E-10    0.11033E-07   -0.20716E-11    0.52520E-12
+   763    0.30877E-09    0.32486E-11    0.00000E+00   -0.17972E-10    0.11011E-07   -0.20951E-11    0.51898E-12
+   764    0.30983E-09    0.32100E-11    0.00000E+00   -0.17898E-10    0.10989E-07   -0.21181E-11    0.51268E-12
+   765    0.31087E-09    0.31714E-11    0.00000E+00   -0.17818E-10    0.10968E-07   -0.21405E-11    0.50629E-12
+   766    0.31191E-09    0.31330E-11    0.00000E+00   -0.17734E-10    0.10946E-07   -0.21626E-11    0.49979E-12
+   767    0.31293E-09    0.30947E-11    0.00000E+00   -0.17645E-10    0.10924E-07   -0.21846E-11    0.49318E-12
+   768    0.31394E-09    0.30564E-11    0.00000E+00   -0.17550E-10    0.10902E-07   -0.22063E-11    0.48647E-12
+   769    0.31494E-09    0.30181E-11    0.00000E+00   -0.17452E-10    0.10881E-07   -0.22277E-11    0.47967E-12
+   770    0.31592E-09    0.29801E-11    0.00000E+00   -0.17349E-10    0.10859E-07   -0.22486E-11    0.47280E-12
+   771    0.31689E-09    0.29422E-11    0.00000E+00   -0.17241E-10    0.10837E-07   -0.22689E-11    0.46587E-12
+   772    0.31784E-09    0.29045E-11    0.00000E+00   -0.17127E-10    0.10816E-07   -0.22886E-11    0.45891E-12
+   773    0.31878E-09    0.28670E-11    0.00000E+00   -0.17010E-10    0.10795E-07   -0.23074E-11    0.45192E-12
+   774    0.31970E-09    0.28297E-11    0.00000E+00   -0.16889E-10    0.10773E-07   -0.23253E-11    0.44492E-12
+   775    0.32062E-09    0.27926E-11    0.00000E+00   -0.16763E-10    0.10752E-07   -0.23423E-11    0.43790E-12
+   776    0.32150E-09    0.27558E-11    0.00000E+00   -0.16633E-10    0.10731E-07   -0.23585E-11    0.43088E-12
+   777    0.32237E-09    0.27192E-11    0.00000E+00   -0.16498E-10    0.10710E-07   -0.23738E-11    0.42385E-12
+   778    0.32325E-09    0.26829E-11    0.00000E+00   -0.16358E-10    0.10689E-07   -0.23884E-11    0.41680E-12
+   779    0.32408E-09    0.26469E-11    0.00000E+00   -0.16215E-10    0.10668E-07   -0.24021E-11    0.40974E-12
+   780    0.32490E-09    0.26110E-11    0.00000E+00   -0.16067E-10    0.10647E-07   -0.24152E-11    0.40266E-12
+   781    0.32571E-09    0.25757E-11    0.00000E+00   -0.15916E-10    0.10626E-07   -0.24275E-11    0.39557E-12
+   782    0.32649E-09    0.25406E-11    0.00000E+00   -0.15762E-10    0.10605E-07   -0.24392E-11    0.38846E-12
+   783    0.32726E-09    0.25059E-11    0.00000E+00   -0.15602E-10    0.10584E-07   -0.24502E-11    0.38135E-12
+   784    0.32801E-09    0.24716E-11    0.00000E+00   -0.15438E-10    0.10564E-07   -0.24605E-11    0.37423E-12
+   785    0.32873E-09    0.24376E-11    0.00000E+00   -0.15271E-10    0.10543E-07   -0.24703E-11    0.36712E-12
+   786    0.32944E-09    0.24040E-11    0.00000E+00   -0.15097E-10    0.10523E-07   -0.24794E-11    0.36001E-12
+   787    0.33012E-09    0.23709E-11    0.00000E+00   -0.14921E-10    0.10502E-07   -0.24880E-11    0.35292E-12
+   788    0.33078E-09    0.23381E-11    0.00000E+00   -0.14742E-10    0.10482E-07   -0.24960E-11    0.34584E-12
+   789    0.33142E-09    0.23056E-11    0.00000E+00   -0.14560E-10    0.10461E-07   -0.25034E-11    0.33877E-12
+   790    0.33205E-09    0.22739E-11    0.00000E+00   -0.14373E-10    0.10441E-07   -0.25104E-11    0.33172E-12
+   791    0.33265E-09    0.22425E-11    0.00000E+00   -0.14182E-10    0.10421E-07   -0.25169E-11    0.32469E-12
+   792    0.33323E-09    0.22117E-11    0.00000E+00   -0.13989E-10    0.10401E-07   -0.25230E-11    0.31768E-12
+   793    0.33378E-09    0.21815E-11    0.00000E+00   -0.13791E-10    0.10381E-07   -0.25286E-11    0.31068E-12
+   794    0.33430E-09    0.21518E-11    0.00000E+00   -0.13591E-10    0.10360E-07   -0.25339E-11    0.30369E-12
+   795    0.33480E-09    0.21225E-11    0.00000E+00   -0.13387E-10    0.10340E-07   -0.25388E-11    0.29672E-12
+   796    0.33530E-09    0.20939E-11    0.00000E+00   -0.13181E-10    0.10321E-07   -0.25434E-11    0.28977E-12
+   797    0.33575E-09    0.20657E-11    0.00000E+00   -0.12971E-10    0.10301E-07   -0.25476E-11    0.28282E-12
+   798    0.33618E-09    0.20382E-11    0.00000E+00   -0.12759E-10    0.10281E-07   -0.25514E-11    0.27588E-12
+   799    0.33659E-09    0.20113E-11    0.00000E+00   -0.12544E-10    0.10261E-07   -0.25548E-11    0.26895E-12
+   800    0.33698E-09    0.19849E-11    0.00000E+00   -0.12326E-10    0.10241E-07   -0.25578E-11    0.26201E-12
+   801    0.33734E-09    0.19592E-11    0.00000E+00   -0.12106E-10    0.10222E-07   -0.25604E-11    0.25507E-12
+   802    0.33766E-09    0.19341E-11    0.00000E+00   -0.11881E-10    0.10202E-07   -0.25626E-11    0.24813E-12
+   803    0.33798E-09    0.19095E-11    0.00000E+00   -0.11656E-10    0.10183E-07   -0.25643E-11    0.24118E-12
+   804    0.33826E-09    0.18857E-11    0.00000E+00   -0.11427E-10    0.10163E-07   -0.25656E-11    0.23422E-12
+   805    0.33853E-09    0.18625E-11    0.00000E+00   -0.11196E-10    0.10144E-07   -0.25663E-11    0.22725E-12
+   806    0.33876E-09    0.18399E-11    0.00000E+00   -0.10963E-10    0.10124E-07   -0.25665E-11    0.22027E-12
+   807    0.33896E-09    0.18181E-11    0.00000E+00   -0.10728E-10    0.10105E-07   -0.25661E-11    0.21328E-12
+   808    0.33913E-09    0.17970E-11    0.00000E+00   -0.10490E-10    0.10086E-07   -0.25651E-11    0.20628E-12
+   809    0.33929E-09    0.17766E-11    0.00000E+00   -0.10251E-10    0.10067E-07   -0.25634E-11    0.19927E-12
+   810    0.33941E-09    0.17569E-11    0.00000E+00   -0.10009E-10    0.10048E-07   -0.25611E-11    0.19225E-12
+   811    0.33950E-09    0.17379E-11    0.00000E+00   -0.97651E-11    0.10028E-07   -0.25581E-11    0.18523E-12
+   812    0.33957E-09    0.17198E-11    0.00000E+00   -0.95199E-11    0.10009E-07   -0.25543E-11    0.17821E-12
+   813    0.33961E-09    0.17022E-11    0.00000E+00   -0.92733E-11    0.99905E-08   -0.25496E-11    0.17119E-12
+   814    0.33964E-09    0.16855E-11    0.00000E+00   -0.90250E-11    0.99716E-08   -0.25440E-11    0.16419E-12
+   815    0.33963E-09    0.16695E-11    0.00000E+00   -0.87753E-11    0.99527E-08   -0.25375E-11    0.15720E-12
+   816    0.33958E-09    0.16543E-11    0.00000E+00   -0.85242E-11    0.99339E-08   -0.25300E-11    0.15024E-12
+   817    0.33951E-09    0.16398E-11    0.00000E+00   -0.82718E-11    0.99152E-08   -0.25216E-11    0.14330E-12
+   818    0.33943E-09    0.16262E-11    0.00000E+00   -0.80182E-11    0.98965E-08   -0.25124E-11    0.13639E-12
+   819    0.33931E-09    0.16133E-11    0.00000E+00   -0.77635E-11    0.98778E-08   -0.25024E-11    0.12951E-12
+   820    0.33917E-09    0.16012E-11    0.00000E+00   -0.75077E-11    0.98592E-08   -0.24918E-11    0.12268E-12
+   821    0.33899E-09    0.15898E-11    0.00000E+00   -0.72512E-11    0.98407E-08   -0.24806E-11    0.11589E-12
+   822    0.33879E-09    0.15794E-11    0.00000E+00   -0.69938E-11    0.98222E-08   -0.24689E-11    0.10914E-12
+   823    0.33856E-09    0.15697E-11    0.00000E+00   -0.67356E-11    0.98038E-08   -0.24568E-11    0.10245E-12
+   824    0.33829E-09    0.15609E-11    0.00000E+00   -0.64767E-11    0.97854E-08   -0.24444E-11    0.95816E-13
+   825    0.33801E-09    0.15528E-11    0.00000E+00   -0.62174E-11    0.97671E-08   -0.24317E-11    0.89227E-13
+   826    0.33769E-09    0.15457E-11    0.00000E+00   -0.59576E-11    0.97488E-08   -0.24188E-11    0.82685E-13
+   827    0.33734E-09    0.15393E-11    0.00000E+00   -0.56976E-11    0.97306E-08   -0.24057E-11    0.76187E-13
+   828    0.33698E-09    0.15338E-11    0.00000E+00   -0.54373E-11    0.97124E-08   -0.23924E-11    0.69733E-13
+   829    0.33658E-09    0.15292E-11    0.00000E+00   -0.51769E-11    0.96943E-08   -0.23790E-11    0.63318E-13
+   830    0.33616E-09    0.15254E-11    0.00000E+00   -0.49167E-11    0.96762E-08   -0.23655E-11    0.56941E-13
+   831    0.33571E-09    0.15224E-11    0.00000E+00   -0.46565E-11    0.96582E-08   -0.23519E-11    0.50595E-13
+   832    0.33523E-09    0.15202E-11    0.00000E+00   -0.43965E-11    0.96402E-08   -0.23380E-11    0.44276E-13
+   833    0.33473E-09    0.15189E-11    0.00000E+00   -0.41368E-11    0.96223E-08   -0.23239E-11    0.37976E-13
+   834    0.33419E-09    0.15184E-11    0.00000E+00   -0.38774E-11    0.96044E-08   -0.23094E-11    0.31690E-13
+   835    0.33364E-09    0.15189E-11    0.00000E+00   -0.36185E-11    0.95866E-08   -0.22945E-11    0.25411E-13
+   836    0.33304E-09    0.15201E-11    0.00000E+00   -0.33601E-11    0.95688E-08   -0.22791E-11    0.19134E-13
+   837    0.33243E-09    0.15222E-11    0.00000E+00   -0.31024E-11    0.95511E-08   -0.22631E-11    0.12855E-13
+   838    0.33179E-09    0.15252E-11    0.00000E+00   -0.28454E-11    0.95335E-08   -0.22465E-11    0.65794E-14
+   839    0.33111E-09    0.15290E-11    0.00000E+00   -0.25891E-11    0.95158E-08   -0.22294E-11    0.31694E-15
+   840    0.33042E-09    0.15338E-11    0.00000E+00   -0.23338E-11    0.94983E-08   -0.22116E-11   -0.59241E-14
+   841    0.32970E-09    0.15393E-11    0.00000E+00   -0.20797E-11    0.94807E-08   -0.21933E-11   -0.12135E-13
+   842    0.32895E-09    0.15456E-11    0.00000E+00   -0.18264E-11    0.94633E-08   -0.21744E-11   -0.18307E-13
+   843    0.32818E-09    0.15528E-11    0.00000E+00   -0.15747E-11    0.94458E-08   -0.21549E-11   -0.24432E-13
+   844    0.32737E-09    0.15609E-11    0.00000E+00   -0.13241E-11    0.94285E-08   -0.21349E-11   -0.30502E-13
+   845    0.32655E-09    0.15697E-11    0.00000E+00   -0.10750E-11    0.94111E-08   -0.21144E-11   -0.36510E-13
+   846    0.32571E-09    0.15796E-11    0.00000E+00   -0.82747E-12    0.93939E-08   -0.20935E-11   -0.42451E-13
+   847    0.32485E-09    0.15901E-11    0.00000E+00   -0.58147E-12    0.93766E-08   -0.20723E-11   -0.48319E-13
+   848    0.32396E-09    0.16015E-11    0.00000E+00   -0.33726E-12    0.93594E-08   -0.20509E-11   -0.54109E-13
+   849    0.32303E-09    0.16137E-11    0.00000E+00   -0.94757E-13    0.93423E-08   -0.20294E-11   -0.59815E-13
+   850    0.32210E-09    0.16268E-11    0.00000E+00    0.14589E-12    0.93252E-08   -0.20080E-11   -0.65433E-13
+   851    0.32113E-09    0.16407E-11    0.00000E+00    0.38460E-12    0.93082E-08   -0.19865E-11   -0.70958E-13
+   852    0.32014E-09    0.16555E-11    0.00000E+00    0.62132E-12    0.92912E-08   -0.19652E-11   -0.76401E-13
+   853    0.31913E-09    0.16710E-11    0.00000E+00    0.85595E-12    0.92742E-08   -0.19438E-11   -0.81774E-13
+   854    0.31809E-09    0.16874E-11    0.00000E+00    0.10883E-11    0.92573E-08   -0.19224E-11   -0.87088E-13
+   855    0.31702E-09    0.17046E-11    0.00000E+00    0.13185E-11    0.92405E-08   -0.19010E-11   -0.92355E-13
+   856    0.31595E-09    0.17224E-11    0.00000E+00    0.15463E-11    0.92237E-08   -0.18794E-11   -0.97589E-13
+   857    0.31484E-09    0.17411E-11    0.00000E+00    0.17716E-11    0.92069E-08   -0.18578E-11   -0.10280E-12
+   858    0.31371E-09    0.17608E-11    0.00000E+00    0.19944E-11    0.91902E-08   -0.18359E-11   -0.10800E-12
+   859    0.31256E-09    0.17809E-11    0.00000E+00    0.22148E-11    0.91735E-08   -0.18139E-11   -0.11319E-12
+   860    0.31140E-09    0.18019E-11    0.00000E+00    0.24324E-11    0.91569E-08   -0.17916E-11   -0.11836E-12
+   861    0.31021E-09    0.18237E-11    0.00000E+00    0.26472E-11    0.91403E-08   -0.17691E-11   -0.12353E-12
+   862    0.30900E-09    0.18462E-11    0.00000E+00    0.28593E-11    0.91237E-08   -0.17463E-11   -0.12868E-12
+   863    0.30777E-09    0.18695E-11    0.00000E+00    0.30684E-11    0.91072E-08   -0.17231E-11   -0.13381E-12
+   864    0.30652E-09    0.18934E-11    0.00000E+00    0.32746E-11    0.90908E-08   -0.16996E-11   -0.13893E-12
+   865    0.30523E-09    0.19181E-11    0.00000E+00    0.34776E-11    0.90744E-08   -0.16757E-11   -0.14403E-12
+   866    0.30397E-09    0.19435E-11    0.00000E+00    0.36775E-11    0.90580E-08   -0.16513E-11   -0.14909E-12
+   867    0.30266E-09    0.19697E-11    0.00000E+00    0.38742E-11    0.90417E-08   -0.16263E-11   -0.15409E-12
+   868    0.30134E-09    0.19965E-11    0.00000E+00    0.40677E-11    0.90254E-08   -0.16007E-11   -0.15903E-12
+   869    0.30000E-09    0.20240E-11    0.00000E+00    0.42579E-11    0.90092E-08   -0.15745E-11   -0.16386E-12
+   870    0.29864E-09    0.20521E-11    0.00000E+00    0.44447E-11    0.89930E-08   -0.15474E-11   -0.16859E-12
+   871    0.29727E-09    0.20809E-11    0.00000E+00    0.46280E-11    0.89769E-08   -0.15195E-11   -0.17318E-12
+   872    0.29588E-09    0.21104E-11    0.00000E+00    0.48079E-11    0.89608E-08   -0.14906E-11   -0.17762E-12
+   873    0.29447E-09    0.21405E-11    0.00000E+00    0.49842E-11    0.89447E-08   -0.14611E-11   -0.18193E-12
+   874    0.29305E-09    0.21713E-11    0.00000E+00    0.51568E-11    0.89287E-08   -0.14312E-11   -0.18613E-12
+   875    0.29161E-09    0.22025E-11    0.00000E+00    0.53259E-11    0.89127E-08   -0.14012E-11   -0.19023E-12
+   876    0.29015E-09    0.22345E-11    0.00000E+00    0.54913E-11    0.88968E-08   -0.13713E-11   -0.19426E-12
+   877    0.28870E-09    0.22670E-11    0.00000E+00    0.56528E-11    0.88809E-08   -0.13418E-11   -0.19824E-12
+   878    0.28721E-09    0.23000E-11    0.00000E+00    0.58105E-11    0.88650E-08   -0.13129E-11   -0.20218E-12
+   879    0.28572E-09    0.23337E-11    0.00000E+00    0.59644E-11    0.88492E-08   -0.12849E-11   -0.20610E-12
+   880    0.28422E-09    0.23679E-11    0.00000E+00    0.61144E-11    0.88334E-08   -0.12576E-11   -0.21001E-12
+   881    0.28270E-09    0.24025E-11    0.00000E+00    0.62603E-11    0.88177E-08   -0.12308E-11   -0.21390E-12
+   882    0.28117E-09    0.24377E-11    0.00000E+00    0.64022E-11    0.88020E-08   -0.12041E-11   -0.21776E-12
+   883    0.27964E-09    0.24735E-11    0.00000E+00    0.65399E-11    0.87864E-08   -0.11774E-11   -0.22160E-12
+   884    0.27808E-09    0.25096E-11    0.00000E+00    0.66737E-11    0.87708E-08   -0.11503E-11   -0.22542E-12
+   885    0.27651E-09    0.25463E-11    0.00000E+00    0.68032E-11    0.87552E-08   -0.11227E-11   -0.22920E-12
+   886    0.27494E-09    0.25835E-11    0.00000E+00    0.69285E-11    0.87397E-08   -0.10944E-11   -0.23296E-12
+   887    0.27335E-09    0.26210E-11    0.00000E+00    0.70496E-11    0.87242E-08   -0.10654E-11   -0.23666E-12
+   888    0.27177E-09    0.26591E-11    0.00000E+00    0.71664E-11    0.87088E-08   -0.10360E-11   -0.24030E-12
+   889    0.27015E-09    0.26974E-11    0.00000E+00    0.72789E-11    0.86934E-08   -0.10064E-11   -0.24387E-12
+   890    0.26854E-09    0.27363E-11    0.00000E+00    0.73869E-11    0.86780E-08   -0.97663E-12   -0.24734E-12
+   891    0.26693E-09    0.27755E-11    0.00000E+00    0.74907E-11    0.86627E-08   -0.94703E-12   -0.25070E-12
+   892    0.26531E-09    0.28150E-11    0.00000E+00    0.75902E-11    0.86475E-08   -0.91772E-12   -0.25393E-12
+   893    0.26367E-09    0.28550E-11    0.00000E+00    0.76852E-11    0.86322E-08   -0.88886E-12   -0.25702E-12
+   894    0.26204E-09    0.28952E-11    0.00000E+00    0.77757E-11    0.86170E-08   -0.86041E-12   -0.26000E-12
+   895    0.26039E-09    0.29357E-11    0.00000E+00    0.78620E-11    0.86019E-08   -0.83230E-12   -0.26288E-12
+   896    0.25874E-09    0.29766E-11    0.00000E+00    0.79437E-11    0.85867E-08   -0.80444E-12   -0.26570E-12
+   897    0.25708E-09    0.30178E-11    0.00000E+00    0.80210E-11    0.85717E-08   -0.77676E-12   -0.26847E-12
+   898    0.25543E-09    0.30592E-11    0.00000E+00    0.80938E-11    0.85566E-08   -0.74918E-12   -0.27121E-12
+   899    0.25377E-09    0.31009E-11    0.00000E+00    0.81620E-11    0.85416E-08   -0.72163E-12   -0.27396E-12
+   900    0.25210E-09    0.31428E-11    0.00000E+00    0.82258E-11    0.85267E-08   -0.69403E-12   -0.27674E-12
+   901    0.25044E-09    0.31849E-11    0.00000E+00    0.82850E-11    0.85117E-08   -0.66635E-12   -0.27952E-12
+   902    0.24877E-09    0.32272E-11    0.00000E+00    0.83397E-11    0.84969E-08   -0.63856E-12   -0.28229E-12
+   903    0.24708E-09    0.32697E-11    0.00000E+00    0.83898E-11    0.84820E-08   -0.61062E-12   -0.28503E-12
+   904    0.24542E-09    0.33123E-11    0.00000E+00    0.84353E-11    0.84672E-08   -0.58250E-12   -0.28773E-12
+   905    0.24374E-09    0.33552E-11    0.00000E+00    0.84762E-11    0.84524E-08   -0.55417E-12   -0.29037E-12
+   906    0.24206E-09    0.33981E-11    0.00000E+00    0.85125E-11    0.84377E-08   -0.52561E-12   -0.29292E-12
+   907    0.24039E-09    0.34411E-11    0.00000E+00    0.85442E-11    0.84230E-08   -0.49681E-12   -0.29538E-12
+   908    0.23873E-09    0.34842E-11    0.00000E+00    0.85714E-11    0.84084E-08   -0.46785E-12   -0.29774E-12
+   909    0.23706E-09    0.35274E-11    0.00000E+00    0.85939E-11    0.83937E-08   -0.43887E-12   -0.30000E-12
+   910    0.23538E-09    0.35708E-11    0.00000E+00    0.86120E-11    0.83792E-08   -0.40997E-12   -0.30217E-12
+   911    0.23371E-09    0.36140E-11    0.00000E+00    0.86254E-11    0.83646E-08   -0.38128E-12   -0.30425E-12
+   912    0.23204E-09    0.36574E-11    0.00000E+00    0.86343E-11    0.83501E-08   -0.35291E-12   -0.30625E-12
+   913    0.23034E-09    0.37007E-11    0.00000E+00    0.86386E-11    0.83356E-08   -0.32498E-12   -0.30815E-12
+   914    0.22869E-09    0.37440E-11    0.00000E+00    0.86385E-11    0.83212E-08   -0.29758E-12   -0.30997E-12
+   915    0.22702E-09    0.37873E-11    0.00000E+00    0.86339E-11    0.83068E-08   -0.27064E-12   -0.31173E-12
+   916    0.22537E-09    0.38305E-11    0.00000E+00    0.86247E-11    0.82925E-08   -0.24404E-12   -0.31345E-12
+   917    0.22371E-09    0.38738E-11    0.00000E+00    0.86112E-11    0.82781E-08   -0.21768E-12   -0.31514E-12
+   918    0.22207E-09    0.39169E-11    0.00000E+00    0.85931E-11    0.82639E-08   -0.19146E-12   -0.31683E-12
+   919    0.22043E-09    0.39599E-11    0.00000E+00    0.85706E-11    0.82496E-08   -0.16525E-12   -0.31853E-12
+   920    0.21879E-09    0.40028E-11    0.00000E+00    0.85436E-11    0.82354E-08   -0.13897E-12   -0.32027E-12
+   921    0.21717E-09    0.40456E-11    0.00000E+00    0.85122E-11    0.82212E-08   -0.11249E-12   -0.32205E-12
+   922    0.21554E-09    0.40882E-11    0.00000E+00    0.84765E-11    0.82071E-08   -0.85735E-13   -0.32383E-12
+   923    0.21392E-09    0.41306E-11    0.00000E+00    0.84365E-11    0.81930E-08   -0.58600E-13   -0.32555E-12
+   924    0.21231E-09    0.41729E-11    0.00000E+00    0.83921E-11    0.81789E-08   -0.30994E-13   -0.32715E-12
+   925    0.21072E-09    0.42149E-11    0.00000E+00    0.83434E-11    0.81649E-08   -0.28244E-14   -0.32856E-12
+   926    0.20912E-09    0.42568E-11    0.00000E+00    0.82906E-11    0.81509E-08    0.26001E-13   -0.32974E-12
+   927    0.20754E-09    0.42984E-11    0.00000E+00    0.82335E-11    0.81369E-08    0.55576E-13   -0.33062E-12
+   928    0.20597E-09    0.43398E-11    0.00000E+00    0.81722E-11    0.81230E-08    0.85926E-13   -0.33116E-12
+   929    0.20440E-09    0.43809E-11    0.00000E+00    0.81069E-11    0.81091E-08    0.11681E-12   -0.33142E-12
+   930    0.20285E-09    0.44216E-11    0.00000E+00    0.80374E-11    0.80952E-08    0.14792E-12   -0.33150E-12
+   931    0.20130E-09    0.44622E-11    0.00000E+00    0.79639E-11    0.80814E-08    0.17894E-12   -0.33147E-12
+   932    0.19977E-09    0.45023E-11    0.00000E+00    0.78864E-11    0.80676E-08    0.20957E-12   -0.33142E-12
+   933    0.19825E-09    0.45421E-11    0.00000E+00    0.78050E-11    0.80538E-08    0.23949E-12   -0.33143E-12
+   934    0.19674E-09    0.45817E-11    0.00000E+00    0.77198E-11    0.80401E-08    0.26840E-12   -0.33159E-12
+   935    0.19524E-09    0.46208E-11    0.00000E+00    0.76305E-11    0.80264E-08    0.29607E-12   -0.33195E-12
+   936    0.19376E-09    0.46595E-11    0.00000E+00    0.75375E-11    0.80128E-08    0.32260E-12   -0.33249E-12
+   937    0.19228E-09    0.46979E-11    0.00000E+00    0.74407E-11    0.79992E-08    0.34817E-12   -0.33312E-12
+   938    0.19082E-09    0.47359E-11    0.00000E+00    0.73402E-11    0.79856E-08    0.37298E-12   -0.33380E-12
+   939    0.18938E-09    0.47733E-11    0.00000E+00    0.72360E-11    0.79720E-08    0.39720E-12   -0.33446E-12
+   940    0.18794E-09    0.48104E-11    0.00000E+00    0.71282E-11    0.79585E-08    0.42101E-12   -0.33504E-12
+   941    0.18652E-09    0.48470E-11    0.00000E+00    0.70168E-11    0.79450E-08    0.44461E-12   -0.33548E-12
+   942    0.18511E-09    0.48831E-11    0.00000E+00    0.69019E-11    0.79316E-08    0.46814E-12   -0.33572E-12
+   943    0.18373E-09    0.49187E-11    0.00000E+00    0.67836E-11    0.79182E-08    0.49162E-12   -0.33579E-12
+   944    0.18236E-09    0.49538E-11    0.00000E+00    0.66618E-11    0.79048E-08    0.51503E-12   -0.33574E-12
+   945    0.18100E-09    0.49883E-11    0.00000E+00    0.65367E-11    0.78914E-08    0.53836E-12   -0.33560E-12
+   946    0.17966E-09    0.50224E-11    0.00000E+00    0.64083E-11    0.78781E-08    0.56160E-12   -0.33541E-12
+   947    0.17833E-09    0.50559E-11    0.00000E+00    0.62768E-11    0.78648E-08    0.58472E-12   -0.33522E-12
+   948    0.17700E-09    0.50890E-11    0.00000E+00    0.61421E-11    0.78516E-08    0.60772E-12   -0.33506E-12
+   949    0.17571E-09    0.51213E-11    0.00000E+00    0.60044E-11    0.78384E-08    0.63058E-12   -0.33496E-12
+   950    0.17443E-09    0.51531E-11    0.00000E+00    0.58636E-11    0.78252E-08    0.65327E-12   -0.33489E-12
+   951    0.17317E-09    0.51844E-11    0.00000E+00    0.57199E-11    0.78120E-08    0.67575E-12   -0.33484E-12
+   952    0.17193E-09    0.52151E-11    0.00000E+00    0.55734E-11    0.77989E-08    0.69801E-12   -0.33477E-12
+   953    0.17070E-09    0.52450E-11    0.00000E+00    0.54240E-11    0.77858E-08    0.72001E-12   -0.33464E-12
+   954    0.16949E-09    0.52744E-11    0.00000E+00    0.52719E-11    0.77728E-08    0.74173E-12   -0.33442E-12
+   955    0.16829E-09    0.53031E-11    0.00000E+00    0.51171E-11    0.77598E-08    0.76313E-12   -0.33409E-12
+   956    0.16711E-09    0.53312E-11    0.00000E+00    0.49596E-11    0.77468E-08    0.78420E-12   -0.33362E-12
+   957    0.16596E-09    0.53585E-11    0.00000E+00    0.47997E-11    0.77338E-08    0.80497E-12   -0.33303E-12
+   958    0.16481E-09    0.53851E-11    0.00000E+00    0.46372E-11    0.77209E-08    0.82547E-12   -0.33235E-12
+   959    0.16370E-09    0.54112E-11    0.00000E+00    0.44723E-11    0.77080E-08    0.84574E-12   -0.33160E-12
+   960    0.16260E-09    0.54365E-11    0.00000E+00    0.43053E-11    0.76951E-08    0.86584E-12   -0.33082E-12
+   961    0.16151E-09    0.54611E-11    0.00000E+00    0.41359E-11    0.76823E-08    0.88578E-12   -0.33004E-12
+   962    0.16045E-09    0.54850E-11    0.00000E+00    0.39644E-11    0.76695E-08    0.90563E-12   -0.32928E-12
+   963    0.15941E-09    0.55082E-11    0.00000E+00    0.37908E-11    0.76567E-08    0.92539E-12   -0.32857E-12
+   964    0.15839E-09    0.55306E-11    0.00000E+00    0.36153E-11    0.76440E-08    0.94502E-12   -0.32789E-12
+   965    0.15738E-09    0.55523E-11    0.00000E+00    0.34378E-11    0.76313E-08    0.96448E-12   -0.32720E-12
+   966    0.15640E-09    0.55733E-11    0.00000E+00    0.32585E-11    0.76186E-08    0.98371E-12   -0.32650E-12
+   967    0.15543E-09    0.55936E-11    0.00000E+00    0.30774E-11    0.76060E-08    0.10026E-11   -0.32575E-12
+   968    0.15448E-09    0.56129E-11    0.00000E+00    0.28946E-11    0.75934E-08    0.10212E-11   -0.32493E-12
+   969    0.15356E-09    0.56315E-11    0.00000E+00    0.27103E-11    0.75808E-08    0.10394E-11   -0.32401E-12
+   970    0.15266E-09    0.56494E-11    0.00000E+00    0.25243E-11    0.75682E-08    0.10571E-11   -0.32297E-12
+   971    0.15177E-09    0.56665E-11    0.00000E+00    0.23369E-11    0.75557E-08    0.10745E-11   -0.32183E-12
+   972    0.15090E-09    0.56827E-11    0.00000E+00    0.21482E-11    0.75432E-08    0.10915E-11   -0.32061E-12
+   973    0.15005E-09    0.56981E-11    0.00000E+00    0.19581E-11    0.75308E-08    0.11083E-11   -0.31933E-12
+   974    0.14923E-09    0.57128E-11    0.00000E+00    0.17667E-11    0.75183E-08    0.11250E-11   -0.31802E-12
+   975    0.14843E-09    0.57267E-11    0.00000E+00    0.15743E-11    0.75059E-08    0.11415E-11   -0.31669E-12
+   976    0.14765E-09    0.57396E-11    0.00000E+00    0.13808E-11    0.74936E-08    0.11580E-11   -0.31537E-12
+   977    0.14689E-09    0.57518E-11    0.00000E+00    0.11864E-11    0.74812E-08    0.11745E-11   -0.31407E-12
+   978    0.14614E-09    0.57632E-11    0.00000E+00    0.99108E-12    0.74689E-08    0.11911E-11   -0.31276E-12
+   979    0.14543E-09    0.57738E-11    0.00000E+00    0.79502E-12    0.74567E-08    0.12077E-11   -0.31138E-12
+   980    0.14473E-09    0.57835E-11    0.00000E+00    0.59820E-12    0.74444E-08    0.12242E-11   -0.30988E-12
+   981    0.14405E-09    0.57922E-11    0.00000E+00    0.40072E-12    0.74322E-08    0.12406E-11   -0.30823E-12
+   982    0.14339E-09    0.58003E-11    0.00000E+00    0.20272E-12    0.74200E-08    0.12569E-11   -0.30637E-12
+   983    0.14276E-09    0.58075E-11    0.00000E+00    0.42135E-14    0.74078E-08    0.12731E-11   -0.30426E-12
+   984    0.14214E-09    0.58136E-11    0.00000E+00   -0.19470E-12    0.73957E-08    0.12891E-11   -0.30186E-12
+   985    0.14155E-09    0.58191E-11    0.00000E+00   -0.39396E-12    0.73836E-08    0.13049E-11   -0.29924E-12
+   986    0.14097E-09    0.58237E-11    0.00000E+00   -0.59343E-12    0.73715E-08    0.13204E-11   -0.29645E-12
+   987    0.14041E-09    0.58274E-11    0.00000E+00   -0.79312E-12    0.73595E-08    0.13355E-11   -0.29356E-12
+   988    0.13988E-09    0.58304E-11    0.00000E+00   -0.99287E-12    0.73475E-08    0.13503E-11   -0.29066E-12
+   989    0.13937E-09    0.58324E-11    0.00000E+00   -0.11925E-11    0.73355E-08    0.13646E-11   -0.28780E-12
+   990    0.13888E-09    0.58340E-11    0.00000E+00   -0.13922E-11    0.73235E-08    0.13783E-11   -0.28506E-12
+   991    0.13841E-09    0.58343E-11    0.00000E+00   -0.15917E-11    0.73116E-08    0.13916E-11   -0.28249E-12
+   992    0.13796E-09    0.58338E-11    0.00000E+00   -0.17910E-11    0.72997E-08    0.14043E-11   -0.28008E-12
+   993    0.13752E-09    0.58324E-11    0.00000E+00   -0.19900E-11    0.72878E-08    0.14164E-11   -0.27780E-12
+   994    0.13711E-09    0.58303E-11    0.00000E+00   -0.21885E-11    0.72760E-08    0.14281E-11   -0.27563E-12
+   995    0.13673E-09    0.58273E-11    0.00000E+00   -0.23866E-11    0.72642E-08    0.14394E-11   -0.27355E-12
+   996    0.13636E-09    0.58232E-11    0.00000E+00   -0.25841E-11    0.72524E-08    0.14502E-11   -0.27151E-12
+   997    0.13601E-09    0.58186E-11    0.00000E+00   -0.27811E-11    0.72406E-08    0.14606E-11   -0.26950E-12
+   998    0.13568E-09    0.58130E-11    0.00000E+00   -0.29772E-11    0.72289E-08    0.14706E-11   -0.26750E-12
+   999    0.13537E-09    0.58066E-11    0.00000E+00   -0.31726E-11    0.72172E-08    0.14803E-11   -0.26549E-12
+  1000    0.13508E-09    0.57994E-11    0.00000E+00   -0.33672E-11    0.72056E-08    0.14897E-11   -0.26347E-12
+  1001    0.13481E-09    0.57913E-11    0.00000E+00   -0.35607E-11    0.71939E-08    0.14987E-11   -0.26142E-12
+  1002    0.13455E-09    0.57823E-11    0.00000E+00   -0.37532E-11    0.71823E-08    0.15075E-11   -0.25935E-12
+  1003    0.13432E-09    0.57726E-11    0.00000E+00   -0.39447E-11    0.71707E-08    0.15159E-11   -0.25723E-12
+  1004    0.13411E-09    0.57620E-11    0.00000E+00   -0.41350E-11    0.71591E-08    0.15240E-11   -0.25507E-12
+  1005    0.13393E-09    0.57506E-11    0.00000E+00   -0.43239E-11    0.71476E-08    0.15319E-11   -0.25286E-12
+  1006    0.13376E-09    0.57383E-11    0.00000E+00   -0.45116E-11    0.71361E-08    0.15395E-11   -0.25060E-12
+  1007    0.13360E-09    0.57252E-11    0.00000E+00   -0.46979E-11    0.71246E-08    0.15468E-11   -0.24831E-12
+  1008    0.13343E-09    0.57113E-11    0.00000E+00   -0.48827E-11    0.71132E-08    0.15539E-11   -0.24599E-12
+  1009    0.13331E-09    0.56966E-11    0.00000E+00   -0.50660E-11    0.71018E-08    0.15608E-11   -0.24365E-12
+  1010    0.13321E-09    0.56812E-11    0.00000E+00   -0.52477E-11    0.70904E-08    0.15674E-11   -0.24131E-12
+  1011    0.13312E-09    0.56651E-11    0.00000E+00   -0.54277E-11    0.70790E-08    0.15739E-11   -0.23897E-12
+  1012    0.13305E-09    0.56481E-11    0.00000E+00   -0.56062E-11    0.70677E-08    0.15802E-11   -0.23664E-12
+  1013    0.13300E-09    0.56305E-11    0.00000E+00   -0.57827E-11    0.70564E-08    0.15862E-11   -0.23432E-12
+  1014    0.13297E-09    0.56120E-11    0.00000E+00   -0.59575E-11    0.70451E-08    0.15920E-11   -0.23199E-12
+  1015    0.13294E-09    0.55929E-11    0.00000E+00   -0.61303E-11    0.70338E-08    0.15976E-11   -0.22967E-12
+  1016    0.13294E-09    0.55729E-11    0.00000E+00   -0.63012E-11    0.70226E-08    0.16029E-11   -0.22733E-12
+  1017    0.13296E-09    0.55523E-11    0.00000E+00   -0.64701E-11    0.70114E-08    0.16080E-11   -0.22498E-12
+  1018    0.13299E-09    0.55308E-11    0.00000E+00   -0.66369E-11    0.70002E-08    0.16127E-11   -0.22262E-12
+  1019    0.13303E-09    0.55088E-11    0.00000E+00   -0.68016E-11    0.69890E-08    0.16172E-11   -0.22023E-12
+  1020    0.13310E-09    0.54858E-11    0.00000E+00   -0.69641E-11    0.69779E-08    0.16213E-11   -0.21783E-12
+  1021    0.13318E-09    0.54622E-11    0.00000E+00   -0.71244E-11    0.69668E-08    0.16252E-11   -0.21541E-12
+  1022    0.13327E-09    0.54380E-11    0.00000E+00   -0.72824E-11    0.69557E-08    0.16288E-11   -0.21299E-12
+  1023    0.13338E-09    0.54130E-11    0.00000E+00   -0.74377E-11    0.69447E-08    0.16322E-11   -0.21056E-12
+  1024    0.13350E-09    0.53873E-11    0.00000E+00   -0.75908E-11    0.69337E-08    0.16353E-11   -0.20814E-12
+  1025    0.13363E-09    0.53611E-11    0.00000E+00   -0.77410E-11    0.69227E-08    0.16383E-11   -0.20573E-12
+  1026    0.13381E-09    0.53341E-11    0.00000E+00   -0.78889E-11    0.69117E-08    0.16410E-11   -0.20334E-12
+  1027    0.13397E-09    0.53067E-11    0.00000E+00   -0.80342E-11    0.69008E-08    0.16435E-11   -0.20093E-12
+  1028    0.13414E-09    0.52786E-11    0.00000E+00   -0.81767E-11    0.68899E-08    0.16458E-11   -0.19850E-12
+  1029    0.13433E-09    0.52498E-11    0.00000E+00   -0.83167E-11    0.68790E-08    0.16478E-11   -0.19602E-12
+  1030    0.13453E-09    0.52205E-11    0.00000E+00   -0.84539E-11    0.68681E-08    0.16495E-11   -0.19347E-12
+  1031    0.13472E-09    0.51906E-11    0.00000E+00   -0.85881E-11    0.68573E-08    0.16508E-11   -0.19083E-12
+  1032    0.13495E-09    0.51599E-11    0.00000E+00   -0.87200E-11    0.68464E-08    0.16517E-11   -0.18808E-12
+  1033    0.13518E-09    0.51288E-11    0.00000E+00   -0.88489E-11    0.68357E-08    0.16522E-11   -0.18520E-12
+  1034    0.13544E-09    0.50973E-11    0.00000E+00   -0.89748E-11    0.68249E-08    0.16523E-11   -0.18221E-12
+  1035    0.13570E-09    0.50651E-11    0.00000E+00   -0.90979E-11    0.68142E-08    0.16520E-11   -0.17913E-12
+  1036    0.13597E-09    0.50323E-11    0.00000E+00   -0.92181E-11    0.68034E-08    0.16513E-11   -0.17599E-12
+  1037    0.13625E-09    0.49991E-11    0.00000E+00   -0.93353E-11    0.67928E-08    0.16503E-11   -0.17280E-12
+  1038    0.13655E-09    0.49655E-11    0.00000E+00   -0.94495E-11    0.67821E-08    0.16490E-11   -0.16960E-12
+  1039    0.13686E-09    0.49313E-11    0.00000E+00   -0.95602E-11    0.67715E-08    0.16473E-11   -0.16639E-12
+  1040    0.13716E-09    0.48966E-11    0.00000E+00   -0.96681E-11    0.67608E-08    0.16454E-11   -0.16320E-12
+  1041    0.13749E-09    0.48616E-11    0.00000E+00   -0.97725E-11    0.67503E-08    0.16432E-11   -0.16003E-12
+  1042    0.13782E-09    0.48260E-11    0.00000E+00   -0.98740E-11    0.67397E-08    0.16407E-11   -0.15689E-12
+  1043    0.13816E-09    0.47900E-11    0.00000E+00   -0.99720E-11    0.67292E-08    0.16380E-11   -0.15375E-12
+  1044    0.13852E-09    0.47535E-11    0.00000E+00   -0.10067E-10    0.67186E-08    0.16350E-11   -0.15063E-12
+  1045    0.13887E-09    0.47169E-11    0.00000E+00   -0.10159E-10    0.67082E-08    0.16318E-11   -0.14751E-12
+  1046    0.13924E-09    0.46797E-11    0.00000E+00   -0.10247E-10    0.66977E-08    0.16283E-11   -0.14440E-12
+  1047    0.13962E-09    0.46421E-11    0.00000E+00   -0.10333E-10    0.66873E-08    0.16246E-11   -0.14129E-12
+  1048    0.13999E-09    0.46042E-11    0.00000E+00   -0.10415E-10    0.66768E-08    0.16206E-11   -0.13818E-12
+  1049    0.14038E-09    0.45660E-11    0.00000E+00   -0.10493E-10    0.66665E-08    0.16163E-11   -0.13506E-12
+  1050    0.14077E-09    0.45274E-11    0.00000E+00   -0.10568E-10    0.66561E-08    0.16117E-11   -0.13194E-12
+  1051    0.14117E-09    0.44885E-11    0.00000E+00   -0.10640E-10    0.66458E-08    0.16068E-11   -0.12882E-12
+  1052    0.14158E-09    0.44493E-11    0.00000E+00   -0.10708E-10    0.66354E-08    0.16015E-11   -0.12568E-12
+  1053    0.14198E-09    0.44098E-11    0.00000E+00   -0.10773E-10    0.66251E-08    0.15958E-11   -0.12254E-12
+  1054    0.14239E-09    0.43701E-11    0.00000E+00   -0.10835E-10    0.66149E-08    0.15898E-11   -0.11940E-12
+  1055    0.14280E-09    0.43302E-11    0.00000E+00   -0.10893E-10    0.66046E-08    0.15835E-11   -0.11629E-12
+  1056    0.14322E-09    0.42900E-11    0.00000E+00   -0.10948E-10    0.65944E-08    0.15772E-11   -0.11328E-12
+  1057    0.14365E-09    0.42496E-11    0.00000E+00   -0.10999E-10    0.65842E-08    0.15710E-11   -0.11041E-12
+  1058    0.14410E-09    0.42091E-11    0.00000E+00   -0.11047E-10    0.65740E-08    0.15651E-11   -0.10773E-12
+  1059    0.14454E-09    0.41683E-11    0.00000E+00   -0.11091E-10    0.65639E-08    0.15597E-11   -0.10530E-12
+  1060    0.14498E-09    0.41273E-11    0.00000E+00   -0.11132E-10    0.65538E-08    0.15550E-11   -0.10317E-12
+  1061    0.14542E-09    0.40863E-11    0.00000E+00   -0.11169E-10    0.65437E-08    0.15511E-11   -0.10136E-12
+  1062    0.14587E-09    0.40451E-11    0.00000E+00   -0.11203E-10    0.65336E-08    0.15477E-11   -0.99791E-13
+  1063    0.14630E-09    0.40038E-11    0.00000E+00   -0.11233E-10    0.65235E-08    0.15445E-11   -0.98359E-13
+  1064    0.14675E-09    0.39624E-11    0.00000E+00   -0.11261E-10    0.65135E-08    0.15411E-11   -0.96958E-13
+  1065    0.14720E-09    0.39208E-11    0.00000E+00   -0.11285E-10    0.65035E-08    0.15374E-11   -0.95481E-13
+  1066    0.14764E-09    0.38792E-11    0.00000E+00   -0.11305E-10    0.64935E-08    0.15328E-11   -0.93822E-13
+  1067    0.14810E-09    0.38376E-11    0.00000E+00   -0.11321E-10    0.64836E-08    0.15271E-11   -0.91875E-13
+  1068    0.14855E-09    0.37959E-11    0.00000E+00   -0.11334E-10    0.64736E-08    0.15201E-11   -0.89564E-13
+  1069    0.14900E-09    0.37543E-11    0.00000E+00   -0.11345E-10    0.64637E-08    0.15119E-11   -0.86934E-13
+  1070    0.14946E-09    0.37125E-11    0.00000E+00   -0.11352E-10    0.64538E-08    0.15026E-11   -0.84060E-13
+  1071    0.14990E-09    0.36709E-11    0.00000E+00   -0.11355E-10    0.64439E-08    0.14926E-11   -0.81018E-13
+  1072    0.15035E-09    0.36292E-11    0.00000E+00   -0.11354E-10    0.64341E-08    0.14821E-11   -0.77882E-13
+  1073    0.15081E-09    0.35876E-11    0.00000E+00   -0.11350E-10    0.64243E-08    0.14712E-11   -0.74728E-13
+  1074    0.15125E-09    0.35461E-11    0.00000E+00   -0.11343E-10    0.64145E-08    0.14603E-11   -0.71632E-13
+  1075    0.15170E-09    0.35045E-11    0.00000E+00   -0.11333E-10    0.64047E-08    0.14494E-11   -0.68652E-13
+  1076    0.15214E-09    0.34631E-11    0.00000E+00   -0.11319E-10    0.63949E-08    0.14386E-11   -0.65784E-13
+  1077    0.15259E-09    0.34218E-11    0.00000E+00   -0.11303E-10    0.63852E-08    0.14277E-11   -0.63007E-13
+  1078    0.15302E-09    0.33807E-11    0.00000E+00   -0.11281E-10    0.63755E-08    0.14168E-11   -0.60300E-13
+  1079    0.15345E-09    0.33396E-11    0.00000E+00   -0.11258E-10    0.63658E-08    0.14058E-11   -0.57642E-13
+  1080    0.15389E-09    0.32986E-11    0.00000E+00   -0.11232E-10    0.63561E-08    0.13946E-11   -0.55013E-13
+  1081    0.15431E-09    0.32580E-11    0.00000E+00   -0.11202E-10    0.63465E-08    0.13832E-11   -0.52391E-13
+  1082    0.15473E-09    0.32175E-11    0.00000E+00   -0.11169E-10    0.63369E-08    0.13715E-11   -0.49761E-13
+  1083    0.15515E-09    0.31771E-11    0.00000E+00   -0.11133E-10    0.63273E-08    0.13595E-11   -0.47130E-13
+  1084    0.15557E-09    0.31370E-11    0.00000E+00   -0.11094E-10    0.63177E-08    0.13472E-11   -0.44507E-13
+  1085    0.15598E-09    0.30971E-11    0.00000E+00   -0.11051E-10    0.63081E-08    0.13348E-11   -0.41905E-13
+  1086    0.15639E-09    0.30575E-11    0.00000E+00   -0.11007E-10    0.62986E-08    0.13221E-11   -0.39334E-13
+  1087    0.15679E-09    0.30182E-11    0.00000E+00   -0.10957E-10    0.62891E-08    0.13094E-11   -0.36806E-13
+  1088    0.15718E-09    0.29789E-11    0.00000E+00   -0.10906E-10    0.62796E-08    0.12965E-11   -0.34332E-13
+  1089    0.15757E-09    0.29401E-11    0.00000E+00   -0.10851E-10    0.62701E-08    0.12836E-11   -0.31924E-13
+  1090    0.15795E-09    0.29016E-11    0.00000E+00   -0.10795E-10    0.62607E-08    0.12708E-11   -0.29602E-13
+  1091    0.15833E-09    0.28633E-11    0.00000E+00   -0.10734E-10    0.62513E-08    0.12583E-11   -0.27385E-13
+  1092    0.15871E-09    0.28253E-11    0.00000E+00   -0.10671E-10    0.62419E-08    0.12463E-11   -0.25294E-13
+  1093    0.15907E-09    0.27878E-11    0.00000E+00   -0.10605E-10    0.62325E-08    0.12350E-11   -0.23349E-13
+  1094    0.15941E-09    0.27505E-11    0.00000E+00   -0.10537E-10    0.62231E-08    0.12245E-11   -0.21571E-13
+  1095    0.15977E-09    0.27138E-11    0.00000E+00   -0.10467E-10    0.62138E-08    0.12150E-11   -0.19979E-13
+  1096    0.16011E-09    0.26772E-11    0.00000E+00   -0.10393E-10    0.62045E-08    0.12067E-11   -0.18581E-13
+  1097    0.16044E-09    0.26411E-11    0.00000E+00   -0.10316E-10    0.61952E-08    0.11992E-11   -0.17328E-13
+  1098    0.16077E-09    0.26055E-11    0.00000E+00   -0.10237E-10    0.61859E-08    0.11920E-11   -0.16158E-13
+  1099    0.16109E-09    0.25703E-11    0.00000E+00   -0.10156E-10    0.61767E-08    0.11848E-11   -0.15010E-13
+  1100    0.16140E-09    0.25356E-11    0.00000E+00   -0.10072E-10    0.61674E-08    0.11770E-11   -0.13821E-13
+  1101    0.16170E-09    0.25012E-11    0.00000E+00   -0.99857E-11    0.61582E-08    0.11683E-11   -0.12530E-13
+  1102    0.16201E-09    0.24673E-11    0.00000E+00   -0.98968E-11    0.61490E-08    0.11583E-11   -0.11075E-13
+  1103    0.16229E-09    0.24339E-11    0.00000E+00   -0.98057E-11    0.61399E-08    0.11465E-11   -0.94120E-14
+  1104    0.16257E-09    0.24011E-11    0.00000E+00   -0.97122E-11    0.61307E-08    0.11333E-11   -0.75697E-14
+  1105    0.16283E-09    0.23687E-11    0.00000E+00   -0.96166E-11    0.61216E-08    0.11188E-11   -0.55947E-14
+  1106    0.16309E-09    0.23367E-11    0.00000E+00   -0.95187E-11    0.61125E-08    0.11035E-11   -0.35335E-14
+  1107    0.16334E-09    0.23053E-11    0.00000E+00   -0.94187E-11    0.61034E-08    0.10876E-11   -0.14328E-14
+  1108    0.16358E-09    0.22743E-11    0.00000E+00   -0.93167E-11    0.60944E-08    0.10714E-11    0.66079E-15
+  1109    0.16380E-09    0.22436E-11    0.00000E+00   -0.92126E-11    0.60853E-08    0.10553E-11    0.27007E-14
+  1110    0.16402E-09    0.22138E-11    0.00000E+00   -0.91066E-11    0.60763E-08    0.10394E-11    0.46503E-14
+  1111    0.16422E-09    0.21845E-11    0.00000E+00   -0.89986E-11    0.60673E-08    0.10238E-11    0.65126E-14
+  1112    0.16443E-09    0.21557E-11    0.00000E+00   -0.88889E-11    0.60583E-08    0.10083E-11    0.83004E-14
+  1113    0.16461E-09    0.21276E-11    0.00000E+00   -0.87772E-11    0.60493E-08    0.99294E-12    0.10027E-13
+  1114    0.16478E-09    0.20999E-11    0.00000E+00   -0.86639E-11    0.60404E-08    0.97751E-12    0.11705E-13
+  1115    0.16495E-09    0.20729E-11    0.00000E+00   -0.85490E-11    0.60315E-08    0.96195E-12    0.13347E-13
+  1116    0.16511E-09    0.20465E-11    0.00000E+00   -0.84324E-11    0.60226E-08    0.94618E-12    0.14966E-13
+  1117    0.16525E-09    0.20207E-11    0.00000E+00   -0.83143E-11    0.60137E-08    0.93014E-12    0.16572E-13
+  1118    0.16538E-09    0.19956E-11    0.00000E+00   -0.81945E-11    0.60048E-08    0.91390E-12    0.18157E-13
+  1119    0.16551E-09    0.19710E-11    0.00000E+00   -0.80734E-11    0.59960E-08    0.89755E-12    0.19711E-13
+  1120    0.16562E-09    0.19471E-11    0.00000E+00   -0.79509E-11    0.59872E-08    0.88119E-12    0.21224E-13
+  1121    0.16572E-09    0.19238E-11    0.00000E+00   -0.78269E-11    0.59784E-08    0.86493E-12    0.22684E-13
+  1122    0.16581E-09    0.19011E-11    0.00000E+00   -0.77018E-11    0.59696E-08    0.84886E-12    0.24080E-13
+  1123    0.16588E-09    0.18792E-11    0.00000E+00   -0.75755E-11    0.59609E-08    0.83309E-12    0.25403E-13
+  1124    0.16595E-09    0.18578E-11    0.00000E+00   -0.74480E-11    0.59521E-08    0.81771E-12    0.26643E-13
+  1125    0.16600E-09    0.18371E-11    0.00000E+00   -0.73193E-11    0.59434E-08    0.80282E-12    0.27801E-13
+  1126    0.16604E-09    0.18171E-11    0.00000E+00   -0.71897E-11    0.59347E-08    0.78853E-12    0.28879E-13
+  1127    0.16607E-09    0.17977E-11    0.00000E+00   -0.70591E-11    0.59260E-08    0.77493E-12    0.29878E-13
+  1128    0.16609E-09    0.17791E-11    0.00000E+00   -0.69277E-11    0.59174E-08    0.76213E-12    0.30801E-13
+  1129    0.16610E-09    0.17612E-11    0.00000E+00   -0.67953E-11    0.59087E-08    0.75022E-12    0.31650E-13
+  1130    0.16608E-09    0.17439E-11    0.00000E+00   -0.66622E-11    0.59001E-08    0.73931E-12    0.32427E-13
+  1131    0.16607E-09    0.17273E-11    0.00000E+00   -0.65285E-11    0.58915E-08    0.72943E-12    0.33137E-13
+  1132    0.16604E-09    0.17114E-11    0.00000E+00   -0.63940E-11    0.58829E-08    0.72025E-12    0.33794E-13
+  1133    0.16599E-09    0.16963E-11    0.00000E+00   -0.62590E-11    0.58743E-08    0.71141E-12    0.34415E-13
+  1134    0.16594E-09    0.16818E-11    0.00000E+00   -0.61234E-11    0.58658E-08    0.70253E-12    0.35018E-13
+  1135    0.16587E-09    0.16680E-11    0.00000E+00   -0.59873E-11    0.58573E-08    0.69321E-12    0.35620E-13
+  1136    0.16579E-09    0.16550E-11    0.00000E+00   -0.58510E-11    0.58488E-08    0.68308E-12    0.36237E-13
+  1137    0.16570E-09    0.16426E-11    0.00000E+00   -0.57141E-11    0.58403E-08    0.67176E-12    0.36887E-13
+  1138    0.16560E-09    0.16311E-11    0.00000E+00   -0.55771E-11    0.58318E-08    0.65897E-12    0.37582E-13
+  1139    0.16549E-09    0.16201E-11    0.00000E+00   -0.54397E-11    0.58234E-08    0.64487E-12    0.38311E-13
+  1140    0.16536E-09    0.16100E-11    0.00000E+00   -0.53023E-11    0.58149E-08    0.62975E-12    0.39059E-13
+  1141    0.16522E-09    0.16004E-11    0.00000E+00   -0.51647E-11    0.58065E-08    0.61386E-12    0.39811E-13
+  1142    0.16507E-09    0.15917E-11    0.00000E+00   -0.50271E-11    0.57981E-08    0.59748E-12    0.40551E-13
+  1143    0.16491E-09    0.15836E-11    0.00000E+00   -0.48896E-11    0.57898E-08    0.58088E-12    0.41263E-13
+  1144    0.16472E-09    0.15762E-11    0.00000E+00   -0.47522E-11    0.57814E-08    0.56433E-12    0.41933E-13
+  1145    0.16454E-09    0.15697E-11    0.00000E+00   -0.46149E-11    0.57731E-08    0.54805E-12    0.42548E-13
+  1146    0.16434E-09    0.15638E-11    0.00000E+00   -0.44778E-11    0.57648E-08    0.53203E-12    0.43108E-13
+  1147    0.16413E-09    0.15587E-11    0.00000E+00   -0.43410E-11    0.57565E-08    0.51618E-12    0.43615E-13
+  1148    0.16390E-09    0.15542E-11    0.00000E+00   -0.42045E-11    0.57482E-08    0.50044E-12    0.44073E-13
+  1149    0.16367E-09    0.15505E-11    0.00000E+00   -0.40685E-11    0.57399E-08    0.48473E-12    0.44484E-13
+  1150    0.16342E-09    0.15475E-11    0.00000E+00   -0.39329E-11    0.57317E-08    0.46898E-12    0.44853E-13
+  1151    0.16317E-09    0.15452E-11    0.00000E+00   -0.37978E-11    0.57235E-08    0.45311E-12    0.45181E-13
+  1152    0.16289E-09    0.15436E-11    0.00000E+00   -0.36633E-11    0.57152E-08    0.43710E-12    0.45471E-13
+  1153    0.16262E-09    0.15428E-11    0.00000E+00   -0.35295E-11    0.57071E-08    0.42104E-12    0.45722E-13
+  1154    0.16233E-09    0.15427E-11    0.00000E+00   -0.33962E-11    0.56989E-08    0.40506E-12    0.45935E-13
+  1155    0.16203E-09    0.15433E-11    0.00000E+00   -0.32637E-11    0.56907E-08    0.38929E-12    0.46107E-13
+  1156    0.16171E-09    0.15445E-11    0.00000E+00   -0.31321E-11    0.56826E-08    0.37387E-12    0.46238E-13
+  1157    0.16138E-09    0.15464E-11    0.00000E+00   -0.30012E-11    0.56745E-08    0.35894E-12    0.46328E-13
+  1158    0.16105E-09    0.15491E-11    0.00000E+00   -0.28713E-11    0.56664E-08    0.34462E-12    0.46374E-13
+  1159    0.16071E-09    0.15524E-11    0.00000E+00   -0.27423E-11    0.56583E-08    0.33103E-12    0.46379E-13
+  1160    0.16034E-09    0.15565E-11    0.00000E+00   -0.26145E-11    0.56502E-08    0.31818E-12    0.46348E-13
+  1161    0.15998E-09    0.15612E-11    0.00000E+00   -0.24876E-11    0.56422E-08    0.30608E-12    0.46292E-13
+  1162    0.15960E-09    0.15666E-11    0.00000E+00   -0.23619E-11    0.56342E-08    0.29471E-12    0.46217E-13
+  1163    0.15921E-09    0.15727E-11    0.00000E+00   -0.22374E-11    0.56262E-08    0.28408E-12    0.46135E-13
+  1164    0.15882E-09    0.15795E-11    0.00000E+00   -0.21141E-11    0.56182E-08    0.27417E-12    0.46052E-13
+  1165    0.15841E-09    0.15869E-11    0.00000E+00   -0.19920E-11    0.56102E-08    0.26500E-12    0.45978E-13
+  1166    0.15798E-09    0.15950E-11    0.00000E+00   -0.18713E-11    0.56023E-08    0.25650E-12    0.45918E-13
+  1167    0.15756E-09    0.16037E-11    0.00000E+00   -0.17520E-11    0.55943E-08    0.24847E-12    0.45864E-13
+  1168    0.15712E-09    0.16131E-11    0.00000E+00   -0.16340E-11    0.55864E-08    0.24065E-12    0.45801E-13
+  1169    0.15668E-09    0.16231E-11    0.00000E+00   -0.15177E-11    0.55785E-08    0.23280E-12    0.45718E-13
+  1170    0.15623E-09    0.16337E-11    0.00000E+00   -0.14027E-11    0.55706E-08    0.22465E-12    0.45603E-13
+  1171    0.15576E-09    0.16450E-11    0.00000E+00   -0.12894E-11    0.55627E-08    0.21596E-12    0.45441E-13
+  1172    0.15529E-09    0.16569E-11    0.00000E+00   -0.11777E-11    0.55549E-08    0.20647E-12    0.45221E-13
+  1173    0.15481E-09    0.16694E-11    0.00000E+00   -0.10676E-11    0.55471E-08    0.19600E-12    0.44933E-13
+  1174    0.15432E-09    0.16824E-11    0.00000E+00   -0.95925E-12    0.55392E-08    0.18466E-12    0.44578E-13
+  1175    0.15382E-09    0.16960E-11    0.00000E+00   -0.85264E-12    0.55314E-08    0.17264E-12    0.44163E-13
+  1176    0.15330E-09    0.17102E-11    0.00000E+00   -0.74787E-12    0.55237E-08    0.16012E-12    0.43692E-13
+  1177    0.15279E-09    0.17251E-11    0.00000E+00   -0.64488E-12    0.55159E-08    0.14730E-12    0.43170E-13
+  1178    0.15226E-09    0.17404E-11    0.00000E+00   -0.54376E-12    0.55082E-08    0.13435E-12    0.42602E-13
+  1179    0.15174E-09    0.17565E-11    0.00000E+00   -0.44454E-12    0.55004E-08    0.12147E-12    0.41994E-13
+  1180    0.15120E-09    0.17731E-11    0.00000E+00   -0.34726E-12    0.54927E-08    0.10881E-12    0.41348E-13
+  1181    0.15066E-09    0.17901E-11    0.00000E+00   -0.25196E-12    0.54850E-08    0.96345E-13    0.40664E-13
+  1182    0.15010E-09    0.18077E-11    0.00000E+00   -0.15868E-12    0.54773E-08    0.84046E-13    0.39940E-13
+  1183    0.14954E-09    0.18258E-11    0.00000E+00   -0.67440E-13    0.54697E-08    0.71865E-13    0.39171E-13
+  1184    0.14897E-09    0.18443E-11    0.00000E+00    0.21707E-13    0.54620E-08    0.59758E-13    0.38355E-13
+  1185    0.14840E-09    0.18635E-11    0.00000E+00    0.10875E-12    0.54544E-08    0.47682E-13    0.37491E-13
+  1186    0.14782E-09    0.18831E-11    0.00000E+00    0.19363E-12    0.54468E-08    0.35591E-13    0.36574E-13
+  1187    0.14724E-09    0.19032E-11    0.00000E+00    0.27633E-12    0.54392E-08    0.23473E-13    0.35605E-13
+  1188    0.14665E-09    0.19237E-11    0.00000E+00    0.35680E-12    0.54316E-08    0.11433E-13    0.34595E-13
+  1189    0.14605E-09    0.19447E-11    0.00000E+00    0.43505E-12    0.54240E-08   -0.39331E-15    0.33557E-13
+  1190    0.14545E-09    0.19661E-11    0.00000E+00    0.51102E-12    0.54165E-08   -0.11869E-13    0.32505E-13
+  1191    0.14484E-09    0.19880E-11    0.00000E+00    0.58472E-12    0.54090E-08   -0.22858E-13    0.31452E-13
+  1192    0.14423E-09    0.20103E-11    0.00000E+00    0.65609E-12    0.54014E-08   -0.33225E-13    0.30412E-13
+  1193    0.14361E-09    0.20330E-11    0.00000E+00    0.72513E-12    0.53939E-08   -0.42833E-13    0.29399E-13
+  1194    0.14299E-09    0.20561E-11    0.00000E+00    0.79183E-12    0.53865E-08   -0.51583E-13    0.28423E-13
+  1195    0.14237E-09    0.20796E-11    0.00000E+00    0.85615E-12    0.53790E-08   -0.59520E-13    0.27488E-13
+  1196    0.14173E-09    0.21036E-11    0.00000E+00    0.91803E-12    0.53715E-08   -0.66727E-13    0.26595E-13
+  1197    0.14110E-09    0.21278E-11    0.00000E+00    0.97751E-12    0.53641E-08   -0.73285E-13    0.25746E-13
+  1198    0.14046E-09    0.21524E-11    0.00000E+00    0.10344E-11    0.53567E-08   -0.79279E-13    0.24941E-13
+  1199    0.13982E-09    0.21773E-11    0.00000E+00    0.10890E-11    0.53493E-08   -0.84788E-13    0.24181E-13
+  1200    0.13917E-09    0.22026E-11    0.00000E+00    0.11411E-11    0.53419E-08   -0.89897E-13    0.23467E-13
+  1201    0.13853E-09    0.22281E-11    0.00000E+00    0.11906E-11    0.53345E-08   -0.94693E-13    0.22796E-13
+  1202    0.13787E-09    0.22541E-11    0.00000E+00    0.12377E-11    0.53272E-08   -0.99289E-13    0.22148E-13
+  1203    0.13722E-09    0.22803E-11    0.00000E+00    0.12822E-11    0.53198E-08   -0.10380E-12    0.21498E-13
+  1204    0.13656E-09    0.23068E-11    0.00000E+00    0.13242E-11    0.53125E-08   -0.10835E-12    0.20820E-13
+  1205    0.13590E-09    0.23334E-11    0.00000E+00    0.13636E-11    0.53052E-08   -0.11306E-12    0.20091E-13
+  1206    0.13524E-09    0.23604E-11    0.00000E+00    0.14005E-11    0.52979E-08   -0.11804E-12    0.19285E-13
+  1207    0.13459E-09    0.23876E-11    0.00000E+00    0.14347E-11    0.52907E-08   -0.12341E-12    0.18377E-13
+  1208    0.13393E-09    0.24151E-11    0.00000E+00    0.14665E-11    0.52834E-08   -0.12926E-12    0.17349E-13
+  1209    0.13326E-09    0.24427E-11    0.00000E+00    0.14957E-11    0.52762E-08   -0.13552E-12    0.16208E-13
+  1210    0.13260E-09    0.24705E-11    0.00000E+00    0.15222E-11    0.52689E-08   -0.14208E-12    0.14968E-13
+  1211    0.13193E-09    0.24986E-11    0.00000E+00    0.15461E-11    0.52617E-08   -0.14884E-12    0.13642E-13
+  1212    0.13127E-09    0.25268E-11    0.00000E+00    0.15675E-11    0.52545E-08   -0.15570E-12    0.12245E-13
+  1213    0.13060E-09    0.25551E-11    0.00000E+00    0.15864E-11    0.52473E-08   -0.16256E-12    0.10790E-13
+  1214    0.12994E-09    0.25837E-11    0.00000E+00    0.16026E-11    0.52402E-08   -0.16932E-12    0.92895E-14
+  1215    0.12928E-09    0.26123E-11    0.00000E+00    0.16162E-11    0.52330E-08   -0.17589E-12    0.77556E-14
+  1216    0.12862E-09    0.26411E-11    0.00000E+00    0.16272E-11    0.52259E-08   -0.18227E-12    0.61871E-14
+  1217    0.12794E-09    0.26700E-11    0.00000E+00    0.16357E-11    0.52188E-08   -0.18847E-12    0.45801E-14
+  1218    0.12728E-09    0.26991E-11    0.00000E+00    0.16415E-11    0.52117E-08   -0.19453E-12    0.29306E-14
+  1219    0.12661E-09    0.27281E-11    0.00000E+00    0.16449E-11    0.52046E-08   -0.20045E-12    0.12349E-14
+  1220    0.12595E-09    0.27572E-11    0.00000E+00    0.16456E-11    0.51975E-08   -0.20627E-12   -0.51091E-15
+  1221    0.12529E-09    0.27863E-11    0.00000E+00    0.16438E-11    0.51904E-08   -0.21198E-12   -0.23107E-14
+  1222    0.12463E-09    0.28156E-11    0.00000E+00    0.16393E-11    0.51834E-08   -0.21760E-12   -0.41630E-14
+  1223    0.12397E-09    0.28449E-11    0.00000E+00    0.16325E-11    0.51763E-08   -0.22306E-12   -0.60451E-14
+  1224    0.12331E-09    0.28740E-11    0.00000E+00    0.16229E-11    0.51693E-08   -0.22825E-12   -0.79287E-14
+  1225    0.12266E-09    0.29033E-11    0.00000E+00    0.16108E-11    0.51623E-08   -0.23309E-12   -0.97858E-14
+  1226    0.12201E-09    0.29325E-11    0.00000E+00    0.15963E-11    0.51553E-08   -0.23748E-12   -0.11588E-13
+  1227    0.12137E-09    0.29617E-11    0.00000E+00    0.15792E-11    0.51484E-08   -0.24133E-12   -0.13308E-13
+  1228    0.12072E-09    0.29909E-11    0.00000E+00    0.15597E-11    0.51414E-08   -0.24454E-12   -0.14917E-13
+  1229    0.12008E-09    0.30200E-11    0.00000E+00    0.15376E-11    0.51345E-08   -0.24706E-12   -0.16394E-13
+  1230    0.11942E-09    0.30490E-11    0.00000E+00    0.15132E-11    0.51275E-08   -0.24895E-12   -0.17748E-13
+  1231    0.11878E-09    0.30780E-11    0.00000E+00    0.14863E-11    0.51206E-08   -0.25030E-12   -0.18995E-13
+  1232    0.11814E-09    0.31068E-11    0.00000E+00    0.14571E-11    0.51137E-08   -0.25123E-12   -0.20151E-13
+  1233    0.11752E-09    0.31357E-11    0.00000E+00    0.14253E-11    0.51068E-08   -0.25181E-12   -0.21232E-13
+  1234    0.11689E-09    0.31643E-11    0.00000E+00    0.13913E-11    0.51000E-08   -0.25216E-12   -0.22254E-13
+  1235    0.11630E-09    0.31929E-11    0.00000E+00    0.13549E-11    0.50931E-08   -0.25236E-12   -0.23232E-13
+  1236    0.11569E-09    0.32212E-11    0.00000E+00    0.13162E-11    0.50863E-08   -0.25251E-12   -0.24184E-13
+  1237    0.11508E-09    0.32494E-11    0.00000E+00    0.12751E-11    0.50795E-08   -0.25263E-12   -0.25130E-13
+  1238    0.11448E-09    0.32775E-11    0.00000E+00    0.12317E-11    0.50727E-08   -0.25274E-12   -0.26092E-13
+  1239    0.11388E-09    0.33053E-11    0.00000E+00    0.11860E-11    0.50659E-08   -0.25286E-12   -0.27091E-13
+  1240    0.11328E-09    0.33330E-11    0.00000E+00    0.11382E-11    0.50591E-08   -0.25299E-12   -0.28149E-13
+  1241    0.11270E-09    0.33604E-11    0.00000E+00    0.10881E-11    0.50523E-08   -0.25316E-12   -0.29288E-13
+  1242    0.11211E-09    0.33878E-11    0.00000E+00    0.10360E-11    0.50455E-08   -0.25338E-12   -0.30529E-13
+  1243    0.11153E-09    0.34147E-11    0.00000E+00    0.98147E-12    0.50388E-08   -0.25366E-12   -0.31887E-13
+  1244    0.11096E-09    0.34416E-11    0.00000E+00    0.92502E-12    0.50321E-08   -0.25397E-12   -0.33357E-13
+  1245    0.11040E-09    0.34682E-11    0.00000E+00    0.86643E-12    0.50254E-08   -0.25428E-12   -0.34924E-13
+  1246    0.10984E-09    0.34944E-11    0.00000E+00    0.80593E-12    0.50187E-08   -0.25454E-12   -0.36575E-13
+  1247    0.10928E-09    0.35204E-11    0.00000E+00    0.74331E-12    0.50120E-08   -0.25473E-12   -0.38298E-13
+  1248    0.10873E-09    0.35461E-11    0.00000E+00    0.67866E-12    0.50053E-08   -0.25481E-12   -0.40079E-13
+  1249    0.10819E-09    0.35717E-11    0.00000E+00    0.61210E-12    0.49987E-08   -0.25473E-12   -0.41905E-13
+  1250    0.10766E-09    0.35968E-11    0.00000E+00    0.54361E-12    0.49920E-08   -0.25448E-12   -0.43766E-13
+  1251    0.10713E-09    0.36215E-11    0.00000E+00    0.47321E-12    0.49854E-08   -0.25404E-12   -0.45662E-13
+  1252    0.10662E-09    0.36461E-11    0.00000E+00    0.40093E-12    0.49788E-08   -0.25342E-12   -0.47596E-13
+  1253    0.10610E-09    0.36702E-11    0.00000E+00    0.32686E-12    0.49722E-08   -0.25261E-12   -0.49570E-13
+  1254    0.10559E-09    0.36939E-11    0.00000E+00    0.25101E-12    0.49656E-08   -0.25163E-12   -0.51588E-13
+  1255    0.10509E-09    0.37174E-11    0.00000E+00    0.17340E-12    0.49590E-08   -0.25047E-12   -0.53651E-13
+  1256    0.10461E-09    0.37404E-11    0.00000E+00    0.94113E-13    0.49524E-08   -0.24914E-12   -0.55764E-13
+  1257    0.10413E-09    0.37631E-11    0.00000E+00    0.13155E-13    0.49459E-08   -0.24762E-12   -0.57921E-13
+  1258    0.10365E-09    0.37853E-11    0.00000E+00   -0.69418E-13    0.49393E-08   -0.24591E-12   -0.60090E-13
+  1259    0.10318E-09    0.38072E-11    0.00000E+00   -0.15357E-12    0.49328E-08   -0.24398E-12   -0.62234E-13
+  1260    0.10272E-09    0.38286E-11    0.00000E+00   -0.23925E-12    0.49263E-08   -0.24180E-12   -0.64313E-13
+  1261    0.10227E-09    0.38497E-11    0.00000E+00   -0.32643E-12    0.49198E-08   -0.23936E-12   -0.66287E-13
+  1262    0.10183E-09    0.38704E-11    0.00000E+00   -0.41504E-12    0.49133E-08   -0.23663E-12   -0.68120E-13
+  1263    0.10140E-09    0.38906E-11    0.00000E+00   -0.50508E-12    0.49069E-08   -0.23360E-12   -0.69770E-13
+  1264    0.10097E-09    0.39104E-11    0.00000E+00   -0.59651E-12    0.49004E-08   -0.23024E-12   -0.71212E-13
+  1265    0.10056E-09    0.39297E-11    0.00000E+00   -0.68926E-12    0.48940E-08   -0.22660E-12   -0.72467E-13
+  1266    0.10015E-09    0.39486E-11    0.00000E+00   -0.78327E-12    0.48875E-08   -0.22274E-12   -0.73569E-13
+  1267    0.99750E-10    0.39669E-11    0.00000E+00   -0.87854E-12    0.48811E-08   -0.21871E-12   -0.74551E-13
+  1268    0.99361E-10    0.39850E-11    0.00000E+00   -0.97502E-12    0.48747E-08   -0.21457E-12   -0.75446E-13
+  1269    0.98983E-10    0.40023E-11    0.00000E+00   -0.10726E-11    0.48683E-08   -0.21037E-12   -0.76289E-13
+  1270    0.98611E-10    0.40192E-11    0.00000E+00   -0.11714E-11    0.48620E-08   -0.20616E-12   -0.77113E-13
+  1271    0.98250E-10    0.40357E-11    0.00000E+00   -0.12712E-11    0.48556E-08   -0.20199E-12   -0.77947E-13
+  1272    0.97896E-10    0.40517E-11    0.00000E+00   -0.13720E-11    0.48493E-08   -0.19784E-12   -0.78806E-13
+  1273    0.97549E-10    0.40671E-11    0.00000E+00   -0.14738E-11    0.48429E-08   -0.19368E-12   -0.79699E-13
+  1274    0.97213E-10    0.40819E-11    0.00000E+00   -0.15765E-11    0.48366E-08   -0.18947E-12   -0.80637E-13
+  1275    0.96886E-10    0.40963E-11    0.00000E+00   -0.16800E-11    0.48303E-08   -0.18520E-12   -0.81629E-13
+  1276    0.96567E-10    0.41102E-11    0.00000E+00   -0.17844E-11    0.48240E-08   -0.18083E-12   -0.82686E-13
+  1277    0.96258E-10    0.41236E-11    0.00000E+00   -0.18895E-11    0.48177E-08   -0.17633E-12   -0.83817E-13
+  1278    0.95958E-10    0.41364E-11    0.00000E+00   -0.19954E-11    0.48114E-08   -0.17167E-12   -0.85030E-13
+  1279    0.95668E-10    0.41486E-11    0.00000E+00   -0.21019E-11    0.48052E-08   -0.16683E-12   -0.86322E-13
+  1280    0.95388E-10    0.41604E-11    0.00000E+00   -0.22092E-11    0.47989E-08   -0.16182E-12   -0.87685E-13
+  1281    0.95117E-10    0.41716E-11    0.00000E+00   -0.23169E-11    0.47927E-08   -0.15662E-12   -0.89114E-13
+  1282    0.94856E-10    0.41822E-11    0.00000E+00   -0.24252E-11    0.47865E-08   -0.15122E-12   -0.90602E-13
+  1283    0.94604E-10    0.41923E-11    0.00000E+00   -0.25340E-11    0.47802E-08   -0.14561E-12   -0.92143E-13
+  1284    0.94362E-10    0.42018E-11    0.00000E+00   -0.26433E-11    0.47740E-08   -0.13979E-12   -0.93731E-13
+  1285    0.94128E-10    0.42108E-11    0.00000E+00   -0.27529E-11    0.47679E-08   -0.13374E-12   -0.95360E-13
+  1286    0.93904E-10    0.42191E-11    0.00000E+00   -0.28629E-11    0.47617E-08   -0.12746E-12   -0.97027E-13
+  1287    0.93690E-10    0.42269E-11    0.00000E+00   -0.29731E-11    0.47555E-08   -0.12097E-12   -0.98728E-13
+  1288    0.93486E-10    0.42341E-11    0.00000E+00   -0.30837E-11    0.47494E-08   -0.11426E-12   -0.10046E-12
+  1289    0.93291E-10    0.42408E-11    0.00000E+00   -0.31943E-11    0.47432E-08   -0.10733E-12   -0.10222E-12
+  1290    0.93105E-10    0.42468E-11    0.00000E+00   -0.33052E-11    0.47371E-08   -0.10020E-12   -0.10401E-12
+  1291    0.92929E-10    0.42523E-11    0.00000E+00   -0.34162E-11    0.47310E-08   -0.92868E-13   -0.10582E-12
+  1292    0.92762E-10    0.42570E-11    0.00000E+00   -0.35273E-11    0.47249E-08   -0.85341E-13   -0.10764E-12
+  1293    0.92604E-10    0.42614E-11    0.00000E+00   -0.36385E-11    0.47188E-08   -0.77667E-13   -0.10944E-12
+  1294    0.92457E-10    0.42651E-11    0.00000E+00   -0.37493E-11    0.47127E-08   -0.69899E-13   -0.11119E-12
+  1295    0.92318E-10    0.42682E-11    0.00000E+00   -0.38603E-11    0.47067E-08   -0.62093E-13   -0.11286E-12
+  1296    0.92188E-10    0.42708E-11    0.00000E+00   -0.39709E-11    0.47006E-08   -0.54301E-13   -0.11439E-12
+  1297    0.92068E-10    0.42728E-11    0.00000E+00   -0.40815E-11    0.46946E-08   -0.46578E-13   -0.11576E-12
+  1298    0.91957E-10    0.42742E-11    0.00000E+00   -0.41918E-11    0.46886E-08   -0.38977E-13   -0.11693E-12
+  1299    0.91854E-10    0.42750E-11    0.00000E+00   -0.43019E-11    0.46825E-08   -0.31537E-13   -0.11788E-12
+  1300    0.91762E-10    0.42751E-11    0.00000E+00   -0.44116E-11    0.46765E-08   -0.24244E-13   -0.11862E-12
+  1301    0.91679E-10    0.42748E-11    0.00000E+00   -0.45209E-11    0.46705E-08   -0.17067E-13   -0.11922E-12
+  1302    0.91604E-10    0.42738E-11    0.00000E+00   -0.46297E-11    0.46646E-08   -0.99771E-14   -0.11969E-12
+  1303    0.91538E-10    0.42722E-11    0.00000E+00   -0.47382E-11    0.46586E-08   -0.29438E-14   -0.12009E-12
+  1304    0.91481E-10    0.42701E-11    0.00000E+00   -0.48461E-11    0.46526E-08    0.40626E-14   -0.12045E-12
+  1305    0.91433E-10    0.42673E-11    0.00000E+00   -0.49536E-11    0.46467E-08    0.11072E-13   -0.12081E-12
+  1306    0.91392E-10    0.42641E-11    0.00000E+00   -0.50603E-11    0.46408E-08    0.18112E-13   -0.12121E-12
+  1307    0.91362E-10    0.42602E-11    0.00000E+00   -0.51663E-11    0.46348E-08    0.25207E-13   -0.12165E-12
+  1308    0.91340E-10    0.42557E-11    0.00000E+00   -0.52719E-11    0.46289E-08    0.32380E-13   -0.12213E-12
+  1309    0.91325E-10    0.42505E-11    0.00000E+00   -0.53765E-11    0.46230E-08    0.39653E-13   -0.12265E-12
+  1310    0.91320E-10    0.42449E-11    0.00000E+00   -0.54805E-11    0.46171E-08    0.47048E-13   -0.12321E-12
+  1311    0.91322E-10    0.42387E-11    0.00000E+00   -0.55836E-11    0.46113E-08    0.54588E-13   -0.12381E-12
+  1312    0.91336E-10    0.42320E-11    0.00000E+00   -0.56858E-11    0.46054E-08    0.62296E-13   -0.12445E-12
+  1313    0.91355E-10    0.42246E-11    0.00000E+00   -0.57872E-11    0.45996E-08    0.70193E-13   -0.12512E-12
+  1314    0.91383E-10    0.42167E-11    0.00000E+00   -0.58875E-11    0.45937E-08    0.78294E-13   -0.12584E-12
+  1315    0.91418E-10    0.42083E-11    0.00000E+00   -0.59869E-11    0.45879E-08    0.86614E-13   -0.12659E-12
+  1316    0.91462E-10    0.41992E-11    0.00000E+00   -0.60852E-11    0.45821E-08    0.95169E-13   -0.12738E-12
+  1317    0.91514E-10    0.41898E-11    0.00000E+00   -0.61825E-11    0.45763E-08    0.10397E-12   -0.12822E-12
+  1318    0.91572E-10    0.41796E-11    0.00000E+00   -0.62786E-11    0.45705E-08    0.11304E-12   -0.12910E-12
+  1319    0.91638E-10    0.41689E-11    0.00000E+00   -0.63737E-11    0.45647E-08    0.12239E-12   -0.13002E-12
+  1320    0.91711E-10    0.41577E-11    0.00000E+00   -0.64675E-11    0.45589E-08    0.13202E-12   -0.13099E-12
+  1321    0.91791E-10    0.41461E-11    0.00000E+00   -0.65602E-11    0.45531E-08    0.14191E-12   -0.13199E-12
+  1322    0.91879E-10    0.41337E-11    0.00000E+00   -0.66515E-11    0.45474E-08    0.15202E-12   -0.13301E-12
+  1323    0.91974E-10    0.41209E-11    0.00000E+00   -0.67415E-11    0.45417E-08    0.16233E-12   -0.13404E-12
+  1324    0.92076E-10    0.41076E-11    0.00000E+00   -0.68303E-11    0.45359E-08    0.17280E-12   -0.13508E-12
+  1325    0.92184E-10    0.40938E-11    0.00000E+00   -0.69176E-11    0.45302E-08    0.18339E-12   -0.13609E-12
+  1326    0.92300E-10    0.40795E-11    0.00000E+00   -0.70036E-11    0.45245E-08    0.19408E-12   -0.13709E-12
+  1327    0.92420E-10    0.40648E-11    0.00000E+00   -0.70882E-11    0.45188E-08    0.20481E-12   -0.13805E-12
+  1328    0.92549E-10    0.40496E-11    0.00000E+00   -0.71711E-11    0.45131E-08    0.21554E-12   -0.13895E-12
+  1329    0.92683E-10    0.40338E-11    0.00000E+00   -0.72527E-11    0.45074E-08    0.22617E-12   -0.13978E-12
+  1330    0.92823E-10    0.40175E-11    0.00000E+00   -0.73327E-11    0.45018E-08    0.23664E-12   -0.14052E-12
+  1331    0.92970E-10    0.40008E-11    0.00000E+00   -0.74111E-11    0.44961E-08    0.24689E-12   -0.14115E-12
+  1332    0.93121E-10    0.39836E-11    0.00000E+00   -0.74880E-11    0.44905E-08    0.25682E-12   -0.14164E-12
+  1333    0.93279E-10    0.39659E-11    0.00000E+00   -0.75631E-11    0.44849E-08    0.26638E-12   -0.14199E-12
+  1334    0.93442E-10    0.39479E-11    0.00000E+00   -0.76367E-11    0.44792E-08    0.27550E-12   -0.14218E-12
+  1335    0.93610E-10    0.39293E-11    0.00000E+00   -0.77086E-11    0.44736E-08    0.28426E-12   -0.14223E-12
+  1336    0.93784E-10    0.39104E-11    0.00000E+00   -0.77786E-11    0.44680E-08    0.29271E-12   -0.14216E-12
+  1337    0.93963E-10    0.38909E-11    0.00000E+00   -0.78470E-11    0.44624E-08    0.30093E-12   -0.14202E-12
+  1338    0.94146E-10    0.38711E-11    0.00000E+00   -0.79136E-11    0.44569E-08    0.30900E-12   -0.14182E-12
+  1339    0.94335E-10    0.38508E-11    0.00000E+00   -0.79785E-11    0.44513E-08    0.31699E-12   -0.14159E-12
+  1340    0.94528E-10    0.38302E-11    0.00000E+00   -0.80417E-11    0.44457E-08    0.32499E-12   -0.14136E-12
+  1341    0.94725E-10    0.38093E-11    0.00000E+00   -0.81029E-11    0.44402E-08    0.33305E-12   -0.14116E-12
+  1342    0.94926E-10    0.37879E-11    0.00000E+00   -0.81623E-11    0.44347E-08    0.34118E-12   -0.14098E-12
+  1343    0.95132E-10    0.37661E-11    0.00000E+00   -0.82198E-11    0.44291E-08    0.34940E-12   -0.14082E-12
+  1344    0.95342E-10    0.37439E-11    0.00000E+00   -0.82754E-11    0.44236E-08    0.35771E-12   -0.14069E-12
+  1345    0.95554E-10    0.37215E-11    0.00000E+00   -0.83290E-11    0.44181E-08    0.36611E-12   -0.14057E-12
+  1346    0.95771E-10    0.36986E-11    0.00000E+00   -0.83809E-11    0.44126E-08    0.37462E-12   -0.14046E-12
+  1347    0.95992E-10    0.36754E-11    0.00000E+00   -0.84307E-11    0.44071E-08    0.38322E-12   -0.14037E-12
+  1348    0.96215E-10    0.36519E-11    0.00000E+00   -0.84785E-11    0.44017E-08    0.39195E-12   -0.14028E-12
+  1349    0.96443E-10    0.36279E-11    0.00000E+00   -0.85243E-11    0.43962E-08    0.40081E-12   -0.14021E-12
+  1350    0.96672E-10    0.36038E-11    0.00000E+00   -0.85681E-11    0.43908E-08    0.40986E-12   -0.14014E-12
+  1351    0.96905E-10    0.35793E-11    0.00000E+00   -0.86099E-11    0.43853E-08    0.41912E-12   -0.14010E-12
+  1352    0.97139E-10    0.35545E-11    0.00000E+00   -0.86496E-11    0.43799E-08    0.42863E-12   -0.14008E-12
+  1353    0.97377E-10    0.35296E-11    0.00000E+00   -0.86873E-11    0.43745E-08    0.43843E-12   -0.14008E-12
+  1354    0.97616E-10    0.35043E-11    0.00000E+00   -0.87230E-11    0.43691E-08    0.44854E-12   -0.14012E-12
+  1355    0.97859E-10    0.34787E-11    0.00000E+00   -0.87566E-11    0.43637E-08    0.45899E-12   -0.14018E-12
+  1356    0.98104E-10    0.34530E-11    0.00000E+00   -0.87883E-11    0.43583E-08    0.46972E-12   -0.14026E-12
+  1357    0.98350E-10    0.34269E-11    0.00000E+00   -0.88177E-11    0.43529E-08    0.48066E-12   -0.14035E-12
+  1358    0.98596E-10    0.34006E-11    0.00000E+00   -0.88448E-11    0.43475E-08    0.49172E-12   -0.14043E-12
+  1359    0.98844E-10    0.33741E-11    0.00000E+00   -0.88701E-11    0.43421E-08    0.50283E-12   -0.14050E-12
+  1360    0.99091E-10    0.33476E-11    0.00000E+00   -0.88931E-11    0.43368E-08    0.51392E-12   -0.14052E-12
+  1361    0.99342E-10    0.33206E-11    0.00000E+00   -0.89141E-11    0.43315E-08    0.52492E-12   -0.14050E-12
+  1362    0.99591E-10    0.32935E-11    0.00000E+00   -0.89328E-11    0.43261E-08    0.53574E-12   -0.14042E-12
+  1363    0.99842E-10    0.32662E-11    0.00000E+00   -0.89497E-11    0.43208E-08    0.54635E-12   -0.14027E-12
+  1364    0.10009E-09    0.32388E-11    0.00000E+00   -0.89642E-11    0.43155E-08    0.55669E-12   -0.14005E-12
+  1365    0.10035E-09    0.32112E-11    0.00000E+00   -0.89765E-11    0.43102E-08    0.56671E-12   -0.13976E-12
+  1366    0.10060E-09    0.31834E-11    0.00000E+00   -0.89869E-11    0.43049E-08    0.57637E-12   -0.13938E-12
+  1367    0.10085E-09    0.31554E-11    0.00000E+00   -0.89951E-11    0.42996E-08    0.58563E-12   -0.13893E-12
+  1368    0.10111E-09    0.31275E-11    0.00000E+00   -0.90011E-11    0.42943E-08    0.59443E-12   -0.13838E-12
+  1369    0.10136E-09    0.30993E-11    0.00000E+00   -0.90049E-11    0.42891E-08    0.60275E-12   -0.13775E-12
+  1370    0.10161E-09    0.30711E-11    0.00000E+00   -0.90067E-11    0.42838E-08    0.61065E-12   -0.13703E-12
+  1371    0.10186E-09    0.30428E-11    0.00000E+00   -0.90063E-11    0.42786E-08    0.61821E-12   -0.13626E-12
+  1372    0.10211E-09    0.30144E-11    0.00000E+00   -0.90038E-11    0.42733E-08    0.62552E-12   -0.13543E-12
+  1373    0.10236E-09    0.29860E-11    0.00000E+00   -0.89992E-11    0.42681E-08    0.63266E-12   -0.13458E-12
+  1374    0.10261E-09    0.29575E-11    0.00000E+00   -0.89924E-11    0.42629E-08    0.63970E-12   -0.13371E-12
+  1375    0.10286E-09    0.29289E-11    0.00000E+00   -0.89836E-11    0.42577E-08    0.64673E-12   -0.13283E-12
+  1376    0.10311E-09    0.29003E-11    0.00000E+00   -0.89726E-11    0.42525E-08    0.65382E-12   -0.13197E-12
+  1377    0.10336E-09    0.28718E-11    0.00000E+00   -0.89596E-11    0.42473E-08    0.66097E-12   -0.13112E-12
+  1378    0.10361E-09    0.28430E-11    0.00000E+00   -0.89445E-11    0.42422E-08    0.66817E-12   -0.13028E-12
+  1379    0.10385E-09    0.28145E-11    0.00000E+00   -0.89273E-11    0.42370E-08    0.67542E-12   -0.12944E-12
+  1380    0.10409E-09    0.27857E-11    0.00000E+00   -0.89081E-11    0.42318E-08    0.68270E-12   -0.12860E-12
+  1381    0.10433E-09    0.27571E-11    0.00000E+00   -0.88867E-11    0.42267E-08    0.69000E-12   -0.12776E-12
+  1382    0.10455E-09    0.27285E-11    0.00000E+00   -0.88632E-11    0.42215E-08    0.69732E-12   -0.12692E-12
+  1383    0.10479E-09    0.26999E-11    0.00000E+00   -0.88378E-11    0.42164E-08    0.70465E-12   -0.12607E-12
+  1384    0.10501E-09    0.26714E-11    0.00000E+00   -0.88103E-11    0.42113E-08    0.71203E-12   -0.12521E-12
+  1385    0.10523E-09    0.26429E-11    0.00000E+00   -0.87808E-11    0.42062E-08    0.71952E-12   -0.12435E-12
+  1386    0.10545E-09    0.26145E-11    0.00000E+00   -0.87493E-11    0.42011E-08    0.72715E-12   -0.12350E-12
+  1387    0.10566E-09    0.25862E-11    0.00000E+00   -0.87158E-11    0.41960E-08    0.73498E-12   -0.12264E-12
+  1388    0.10589E-09    0.25579E-11    0.00000E+00   -0.86804E-11    0.41909E-08    0.74306E-12   -0.12179E-12
+  1389    0.10610E-09    0.25297E-11    0.00000E+00   -0.86429E-11    0.41858E-08    0.75143E-12   -0.12094E-12
+  1390    0.10630E-09    0.25017E-11    0.00000E+00   -0.86037E-11    0.41808E-08    0.76012E-12   -0.12011E-12
+  1391    0.10651E-09    0.24738E-11    0.00000E+00   -0.85625E-11    0.41757E-08    0.76906E-12   -0.11927E-12
+  1392    0.10671E-09    0.24460E-11    0.00000E+00   -0.85194E-11    0.41707E-08    0.77813E-12   -0.11842E-12
+  1393    0.10691E-09    0.24184E-11    0.00000E+00   -0.84744E-11    0.41656E-08    0.78724E-12   -0.11756E-12
+  1394    0.10710E-09    0.23909E-11    0.00000E+00   -0.84277E-11    0.41606E-08    0.79628E-12   -0.11667E-12
+  1395    0.10729E-09    0.23635E-11    0.00000E+00   -0.83790E-11    0.41556E-08    0.80516E-12   -0.11575E-12
+  1396    0.10748E-09    0.23364E-11    0.00000E+00   -0.83287E-11    0.41506E-08    0.81377E-12   -0.11478E-12
+  1397    0.10766E-09    0.23094E-11    0.00000E+00   -0.82765E-11    0.41456E-08    0.82203E-12   -0.11376E-12
+  1398    0.10783E-09    0.22825E-11    0.00000E+00   -0.82225E-11    0.41406E-08    0.82991E-12   -0.11269E-12
+  1399    0.10800E-09    0.22560E-11    0.00000E+00   -0.81668E-11    0.41356E-08    0.83741E-12   -0.11157E-12
+  1400    0.10817E-09    0.22296E-11    0.00000E+00   -0.81094E-11    0.41306E-08    0.84454E-12   -0.11040E-12
+  1401    0.10833E-09    0.22033E-11    0.00000E+00   -0.80503E-11    0.41257E-08    0.85127E-12   -0.10920E-12
+  1402    0.10849E-09    0.21774E-11    0.00000E+00   -0.79896E-11    0.41207E-08    0.85762E-12   -0.10795E-12
+  1403    0.10864E-09    0.21517E-11    0.00000E+00   -0.79272E-11    0.41157E-08    0.86358E-12   -0.10667E-12
+  1404    0.10878E-09    0.21263E-11    0.00000E+00   -0.78632E-11    0.41108E-08    0.86915E-12   -0.10535E-12
+  1405    0.10893E-09    0.21010E-11    0.00000E+00   -0.77976E-11    0.41059E-08    0.87439E-12   -0.10400E-12
+  1406    0.10906E-09    0.20761E-11    0.00000E+00   -0.77306E-11    0.41010E-08    0.87935E-12   -0.10263E-12
+  1407    0.10918E-09    0.20514E-11    0.00000E+00   -0.76620E-11    0.40960E-08    0.88410E-12   -0.10125E-12
+  1408    0.10932E-09    0.20269E-11    0.00000E+00   -0.75919E-11    0.40911E-08    0.88871E-12   -0.99845E-13
+  1409    0.10943E-09    0.20028E-11    0.00000E+00   -0.75203E-11    0.40862E-08    0.89323E-12   -0.98435E-13
+  1410    0.10955E-09    0.19789E-11    0.00000E+00   -0.74474E-11    0.40814E-08    0.89772E-12   -0.97022E-13
+  1411    0.10966E-09    0.19553E-11    0.00000E+00   -0.73730E-11    0.40765E-08    0.90224E-12   -0.95609E-13
+  1412    0.10976E-09    0.19321E-11    0.00000E+00   -0.72972E-11    0.40716E-08    0.90678E-12   -0.94198E-13
+  1413    0.10984E-09    0.19092E-11    0.00000E+00   -0.72201E-11    0.40667E-08    0.91133E-12   -0.92786E-13
+  1414    0.10993E-09    0.18866E-11    0.00000E+00   -0.71416E-11    0.40619E-08    0.91586E-12   -0.91372E-13
+  1415    0.11001E-09    0.18643E-11    0.00000E+00   -0.70619E-11    0.40571E-08    0.92038E-12   -0.89956E-13
+  1416    0.11009E-09    0.18424E-11    0.00000E+00   -0.69810E-11    0.40522E-08    0.92485E-12   -0.88536E-13
+  1417    0.11015E-09    0.18207E-11    0.00000E+00   -0.68990E-11    0.40474E-08    0.92926E-12   -0.87111E-13
+  1418    0.11021E-09    0.17994E-11    0.00000E+00   -0.68156E-11    0.40426E-08    0.93361E-12   -0.85680E-13
+  1419    0.11026E-09    0.17785E-11    0.00000E+00   -0.67312E-11    0.40378E-08    0.93793E-12   -0.84241E-13
+  1420    0.11031E-09    0.17580E-11    0.00000E+00   -0.66457E-11    0.40330E-08    0.94228E-12   -0.82792E-13
+  1421    0.11035E-09    0.17378E-11    0.00000E+00   -0.65591E-11    0.40282E-08    0.94668E-12   -0.81332E-13
+  1422    0.11039E-09    0.17180E-11    0.00000E+00   -0.64715E-11    0.40234E-08    0.95120E-12   -0.79858E-13
+  1423    0.11041E-09    0.16986E-11    0.00000E+00   -0.63829E-11    0.40186E-08    0.95587E-12   -0.78369E-13
+  1424    0.11044E-09    0.16796E-11    0.00000E+00   -0.62933E-11    0.40138E-08    0.96074E-12   -0.76864E-13
+  1425    0.11045E-09    0.16610E-11    0.00000E+00   -0.62028E-11    0.40091E-08    0.96583E-12   -0.75340E-13
+  1426    0.11045E-09    0.16428E-11    0.00000E+00   -0.61114E-11    0.40043E-08    0.97107E-12   -0.73797E-13
+  1427    0.11046E-09    0.16250E-11    0.00000E+00   -0.60191E-11    0.39996E-08    0.97635E-12   -0.72235E-13
+  1428    0.11045E-09    0.16075E-11    0.00000E+00   -0.59261E-11    0.39949E-08    0.98158E-12   -0.70654E-13
+  1429    0.11043E-09    0.15906E-11    0.00000E+00   -0.58321E-11    0.39901E-08    0.98666E-12   -0.69054E-13
+  1430    0.11041E-09    0.15740E-11    0.00000E+00   -0.57376E-11    0.39854E-08    0.99149E-12   -0.67435E-13
+  1431    0.11038E-09    0.15578E-11    0.00000E+00   -0.56422E-11    0.39807E-08    0.99596E-12   -0.65795E-13
+  1432    0.11034E-09    0.15421E-11    0.00000E+00   -0.55462E-11    0.39760E-08    0.10000E-11   -0.64137E-13
+  1433    0.11031E-09    0.15268E-11    0.00000E+00   -0.54495E-11    0.39713E-08    0.10036E-11   -0.62461E-13
+  1434    0.11026E-09    0.15120E-11    0.00000E+00   -0.53522E-11    0.39666E-08    0.10069E-11   -0.60772E-13
+  1435    0.11020E-09    0.14975E-11    0.00000E+00   -0.52544E-11    0.39619E-08    0.10097E-11   -0.59071E-13
+  1436    0.11014E-09    0.14835E-11    0.00000E+00   -0.51562E-11    0.39573E-08    0.10123E-11   -0.57363E-13
+  1437    0.11006E-09    0.14700E-11    0.00000E+00   -0.50573E-11    0.39526E-08    0.10145E-11   -0.55649E-13
+  1438    0.10998E-09    0.14568E-11    0.00000E+00   -0.49582E-11    0.39480E-08    0.10165E-11   -0.53933E-13
+  1439    0.10989E-09    0.14442E-11    0.00000E+00   -0.48584E-11    0.39433E-08    0.10183E-11   -0.52217E-13
+  1440    0.10980E-09    0.14320E-11    0.00000E+00   -0.47584E-11    0.39387E-08    0.10198E-11   -0.50502E-13
+  1441    0.10970E-09    0.14202E-11    0.00000E+00   -0.46582E-11    0.39341E-08    0.10212E-11   -0.48786E-13
+  1442    0.10959E-09    0.14089E-11    0.00000E+00   -0.45576E-11    0.39294E-08    0.10225E-11   -0.47069E-13
+  1443    0.10947E-09    0.13982E-11    0.00000E+00   -0.44566E-11    0.39248E-08    0.10236E-11   -0.45351E-13
+  1444    0.10935E-09    0.13878E-11    0.00000E+00   -0.43555E-11    0.39202E-08    0.10247E-11   -0.43632E-13
+  1445    0.10921E-09    0.13780E-11    0.00000E+00   -0.42543E-11    0.39156E-08    0.10257E-11   -0.41910E-13
+  1446    0.10908E-09    0.13685E-11    0.00000E+00   -0.41528E-11    0.39110E-08    0.10267E-11   -0.40186E-13
+  1447    0.10892E-09    0.13596E-11    0.00000E+00   -0.40510E-11    0.39064E-08    0.10277E-11   -0.38460E-13
+  1448    0.10877E-09    0.13512E-11    0.00000E+00   -0.39495E-11    0.39019E-08    0.10287E-11   -0.36734E-13
+  1449    0.10861E-09    0.13431E-11    0.00000E+00   -0.38478E-11    0.38973E-08    0.10296E-11   -0.35007E-13
+  1450    0.10844E-09    0.13356E-11    0.00000E+00   -0.37461E-11    0.38928E-08    0.10304E-11   -0.33282E-13
+  1451    0.10827E-09    0.13286E-11    0.00000E+00   -0.36446E-11    0.38882E-08    0.10312E-11   -0.31559E-13
+  1452    0.10808E-09    0.13220E-11    0.00000E+00   -0.35433E-11    0.38837E-08    0.10319E-11   -0.29840E-13
+  1453    0.10789E-09    0.13159E-11    0.00000E+00   -0.34419E-11    0.38791E-08    0.10325E-11   -0.28123E-13
+  1454    0.10770E-09    0.13103E-11    0.00000E+00   -0.33406E-11    0.38746E-08    0.10331E-11   -0.26404E-13
+  1455    0.10750E-09    0.13051E-11    0.00000E+00   -0.32396E-11    0.38701E-08    0.10336E-11   -0.24676E-13
+  1456    0.10729E-09    0.13005E-11    0.00000E+00   -0.31390E-11    0.38656E-08    0.10341E-11   -0.22933E-13
+  1457    0.10706E-09    0.12962E-11    0.00000E+00   -0.30385E-11    0.38611E-08    0.10346E-11   -0.21168E-13
+  1458    0.10684E-09    0.12925E-11    0.00000E+00   -0.29383E-11    0.38566E-08    0.10351E-11   -0.19375E-13
+  1459    0.10661E-09    0.12892E-11    0.00000E+00   -0.28383E-11    0.38521E-08    0.10357E-11   -0.17548E-13
+  1460    0.10637E-09    0.12865E-11    0.00000E+00   -0.27388E-11    0.38476E-08    0.10364E-11   -0.15683E-13
+  1461    0.10613E-09    0.12840E-11    0.00000E+00   -0.26398E-11    0.38431E-08    0.10371E-11   -0.13786E-13
+  1462    0.10588E-09    0.12821E-11    0.00000E+00   -0.25412E-11    0.38387E-08    0.10377E-11   -0.11867E-13
+  1463    0.10561E-09    0.12807E-11    0.00000E+00   -0.24430E-11    0.38342E-08    0.10383E-11   -0.99350E-14
+  1464    0.10535E-09    0.12797E-11    0.00000E+00   -0.23453E-11    0.38298E-08    0.10386E-11   -0.79998E-14
+  1465    0.10507E-09    0.12792E-11    0.00000E+00   -0.22482E-11    0.38253E-08    0.10387E-11   -0.60705E-14
+  1466    0.10480E-09    0.12792E-11    0.00000E+00   -0.21516E-11    0.38209E-08    0.10385E-11   -0.41565E-14
+  1467    0.10451E-09    0.12796E-11    0.00000E+00   -0.20557E-11    0.38165E-08    0.10379E-11   -0.22653E-14
+  1468    0.10422E-09    0.12805E-11    0.00000E+00   -0.19604E-11    0.38120E-08    0.10370E-11   -0.39715E-15
+  1469    0.10393E-09    0.12818E-11    0.00000E+00   -0.18658E-11    0.38076E-08    0.10358E-11    0.14496E-14
+  1470    0.10361E-09    0.12835E-11    0.00000E+00   -0.17718E-11    0.38032E-08    0.10343E-11    0.32766E-14
+  1471    0.10331E-09    0.12858E-11    0.00000E+00   -0.16787E-11    0.37988E-08    0.10326E-11    0.50855E-14
+  1472    0.10300E-09    0.12885E-11    0.00000E+00   -0.15863E-11    0.37944E-08    0.10307E-11    0.68779E-14
+  1473    0.10268E-09    0.12916E-11    0.00000E+00   -0.14948E-11    0.37900E-08    0.10287E-11    0.86554E-14
+  1474    0.10234E-09    0.12951E-11    0.00000E+00   -0.14040E-11    0.37857E-08    0.10266E-11    0.10420E-13
+  1475    0.10201E-09    0.12990E-11    0.00000E+00   -0.13141E-11    0.37813E-08    0.10244E-11    0.12173E-13
+  1476    0.10167E-09    0.13034E-11    0.00000E+00   -0.12252E-11    0.37769E-08    0.10221E-11    0.13917E-13
+  1477    0.10133E-09    0.13082E-11    0.00000E+00   -0.11371E-11    0.37726E-08    0.10197E-11    0.15654E-13
+  1478    0.10098E-09    0.13134E-11    0.00000E+00   -0.10500E-11    0.37682E-08    0.10172E-11    0.17386E-13
+  1479    0.10063E-09    0.13191E-11    0.00000E+00   -0.96393E-12    0.37639E-08    0.10147E-11    0.19115E-13
+  1480    0.10027E-09    0.13252E-11    0.00000E+00   -0.87883E-12    0.37596E-08    0.10122E-11    0.20843E-13
+  1481    0.99901E-10    0.13316E-11    0.00000E+00   -0.79476E-12    0.37552E-08    0.10096E-11    0.22572E-13
+  1482    0.99533E-10    0.13385E-11    0.00000E+00   -0.71175E-12    0.37509E-08    0.10069E-11    0.24300E-13
+  1483    0.99157E-10    0.13458E-11    0.00000E+00   -0.62984E-12    0.37466E-08    0.10042E-11    0.26024E-13
+  1484    0.98780E-10    0.13534E-11    0.00000E+00   -0.54904E-12    0.37423E-08    0.10014E-11    0.27743E-13
+  1485    0.98395E-10    0.13614E-11    0.00000E+00   -0.46939E-12    0.37380E-08    0.99863E-12    0.29454E-13
+  1486    0.98005E-10    0.13699E-11    0.00000E+00   -0.39088E-12    0.37337E-08    0.99577E-12    0.31154E-13
+  1487    0.97610E-10    0.13786E-11    0.00000E+00   -0.31357E-12    0.37295E-08    0.99288E-12    0.32841E-13
+  1488    0.97213E-10    0.13878E-11    0.00000E+00   -0.23746E-12    0.37252E-08    0.98993E-12    0.34515E-13
+  1489    0.96808E-10    0.13974E-11    0.00000E+00   -0.16260E-12    0.37209E-08    0.98694E-12    0.36184E-13
+  1490    0.96400E-10    0.14072E-11    0.00000E+00   -0.88986E-13    0.37167E-08    0.98388E-12    0.37855E-13
+  1491    0.95988E-10    0.14174E-11    0.00000E+00   -0.16663E-13    0.37124E-08    0.98074E-12    0.39538E-13
+  1492    0.95573E-10    0.14280E-11    0.00000E+00    0.54367E-13    0.37082E-08    0.97753E-12    0.41241E-13
+  1493    0.95153E-10    0.14388E-11    0.00000E+00    0.12407E-12    0.37039E-08    0.97423E-12    0.42975E-13
+  1494    0.94729E-10    0.14500E-11    0.00000E+00    0.19243E-12    0.36997E-08    0.97083E-12    0.44747E-13
+  1495    0.94302E-10    0.14616E-11    0.00000E+00    0.25943E-12    0.36955E-08    0.96733E-12    0.46562E-13
+  1496    0.93871E-10    0.14735E-11    0.00000E+00    0.32506E-12    0.36912E-08    0.96371E-12    0.48410E-13
+  1497    0.93436E-10    0.14856E-11    0.00000E+00    0.38929E-12    0.36870E-08    0.95996E-12    0.50274E-13
+  1498    0.92999E-10    0.14981E-11    0.00000E+00    0.45210E-12    0.36828E-08    0.95606E-12    0.52138E-13
+  1499    0.92558E-10    0.15108E-11    0.00000E+00    0.51349E-12    0.36786E-08    0.95201E-12    0.53987E-13
+  1500    0.92114E-10    0.15239E-11    0.00000E+00    0.57343E-12    0.36744E-08    0.94779E-12    0.55805E-13
+  1501    0.91667E-10    0.15372E-11    0.00000E+00    0.63193E-12    0.36703E-08    0.94339E-12    0.57576E-13
+  1502    0.91217E-10    0.15508E-11    0.00000E+00    0.68892E-12    0.36661E-08    0.93880E-12    0.59289E-13
+  1503    0.90765E-10    0.15647E-11    0.00000E+00    0.74442E-12    0.36619E-08    0.93404E-12    0.60946E-13
+  1504    0.90310E-10    0.15788E-11    0.00000E+00    0.79844E-12    0.36577E-08    0.92914E-12    0.62556E-13
+  1505    0.89852E-10    0.15932E-11    0.00000E+00    0.85093E-12    0.36536E-08    0.92411E-12    0.64127E-13
+  1506    0.89392E-10    0.16078E-11    0.00000E+00    0.90190E-12    0.36494E-08    0.91899E-12    0.65665E-13
+  1507    0.88930E-10    0.16227E-11    0.00000E+00    0.95134E-12    0.36453E-08    0.91379E-12    0.67178E-13
+  1508    0.88466E-10    0.16378E-11    0.00000E+00    0.99920E-12    0.36412E-08    0.90855E-12    0.68675E-13
+  1509    0.87999E-10    0.16530E-11    0.00000E+00    0.10455E-11    0.36370E-08    0.90327E-12    0.70160E-13
+  1510    0.87532E-10    0.16686E-11    0.00000E+00    0.10902E-11    0.36329E-08    0.89797E-12    0.71637E-13
+  1511    0.87061E-10    0.16843E-11    0.00000E+00    0.11334E-11    0.36288E-08    0.89264E-12    0.73106E-13
+  1512    0.86589E-10    0.17002E-11    0.00000E+00    0.11748E-11    0.36247E-08    0.88727E-12    0.74567E-13
+  1513    0.86115E-10    0.17163E-11    0.00000E+00    0.12148E-11    0.36206E-08    0.88186E-12    0.76020E-13
+  1514    0.85641E-10    0.17327E-11    0.00000E+00    0.12531E-11    0.36165E-08    0.87640E-12    0.77467E-13
+  1515    0.85168E-10    0.17492E-11    0.00000E+00    0.12899E-11    0.36124E-08    0.87090E-12    0.78909E-13
+  1516    0.84691E-10    0.17658E-11    0.00000E+00    0.13249E-11    0.36083E-08    0.86534E-12    0.80344E-13
+  1517    0.84214E-10    0.17826E-11    0.00000E+00    0.13584E-11    0.36043E-08    0.85973E-12    0.81773E-13
+  1518    0.83736E-10    0.17996E-11    0.00000E+00    0.13904E-11    0.36002E-08    0.85409E-12    0.83191E-13
+  1519    0.83257E-10    0.18166E-11    0.00000E+00    0.14205E-11    0.35961E-08    0.84843E-12    0.84598E-13
+  1520    0.82779E-10    0.18338E-11    0.00000E+00    0.14491E-11    0.35921E-08    0.84276E-12    0.85992E-13
+  1521    0.82299E-10    0.18512E-11    0.00000E+00    0.14761E-11    0.35880E-08    0.83709E-12    0.87369E-13
+  1522    0.81818E-10    0.18686E-11    0.00000E+00    0.15014E-11    0.35840E-08    0.83143E-12    0.88728E-13
+  1523    0.81338E-10    0.18861E-11    0.00000E+00    0.15251E-11    0.35800E-08    0.82579E-12    0.90069E-13
+  1524    0.80857E-10    0.19038E-11    0.00000E+00    0.15471E-11    0.35759E-08    0.82012E-12    0.91397E-13
+  1525    0.80376E-10    0.19216E-11    0.00000E+00    0.15675E-11    0.35719E-08    0.81440E-12    0.92721E-13
+  1526    0.79896E-10    0.19394E-11    0.00000E+00    0.15863E-11    0.35679E-08    0.80858E-12    0.94048E-13
+  1527    0.79416E-10    0.19572E-11    0.00000E+00    0.16033E-11    0.35639E-08    0.80262E-12    0.95386E-13
+  1528    0.78936E-10    0.19752E-11    0.00000E+00    0.16188E-11    0.35599E-08    0.79648E-12    0.96743E-13
+  1529    0.78457E-10    0.19932E-11    0.00000E+00    0.16327E-11    0.35559E-08    0.79013E-12    0.98127E-13
+  1530    0.77979E-10    0.20112E-11    0.00000E+00    0.16449E-11    0.35519E-08    0.78353E-12    0.99542E-13
+  1531    0.77501E-10    0.20293E-11    0.00000E+00    0.16554E-11    0.35479E-08    0.77671E-12    0.10097E-12
+  1532    0.77025E-10    0.20475E-11    0.00000E+00    0.16644E-11    0.35439E-08    0.76973E-12    0.10241E-12
+  1533    0.76549E-10    0.20656E-11    0.00000E+00    0.16719E-11    0.35400E-08    0.76261E-12    0.10383E-12
+  1534    0.76075E-10    0.20838E-11    0.00000E+00    0.16775E-11    0.35360E-08    0.75541E-12    0.10522E-12
+  1535    0.75602E-10    0.21020E-11    0.00000E+00    0.16817E-11    0.35321E-08    0.74816E-12    0.10657E-12
+  1536    0.75130E-10    0.21201E-11    0.00000E+00    0.16842E-11    0.35281E-08    0.74091E-12    0.10785E-12
+  1537    0.74661E-10    0.21383E-11    0.00000E+00    0.16851E-11    0.35242E-08    0.73370E-12    0.10906E-12
+  1538    0.74194E-10    0.21565E-11    0.00000E+00    0.16845E-11    0.35202E-08    0.72651E-12    0.11020E-12
+  1539    0.73724E-10    0.21745E-11    0.00000E+00    0.16823E-11    0.35163E-08    0.71936E-12    0.11129E-12
+  1540    0.73259E-10    0.21925E-11    0.00000E+00    0.16786E-11    0.35124E-08    0.71222E-12    0.11233E-12
+  1541    0.72796E-10    0.22106E-11    0.00000E+00    0.16732E-11    0.35085E-08    0.70509E-12    0.11333E-12
+  1542    0.72335E-10    0.22286E-11    0.00000E+00    0.16664E-11    0.35045E-08    0.69796E-12    0.11431E-12
+  1543    0.71875E-10    0.22464E-11    0.00000E+00    0.16579E-11    0.35006E-08    0.69083E-12    0.11528E-12
+  1544    0.71418E-10    0.22643E-11    0.00000E+00    0.16480E-11    0.34967E-08    0.68369E-12    0.11625E-12
+  1545    0.70964E-10    0.22820E-11    0.00000E+00    0.16366E-11    0.34928E-08    0.67653E-12    0.11721E-12
+  1546    0.70511E-10    0.22996E-11    0.00000E+00    0.16236E-11    0.34890E-08    0.66935E-12    0.11816E-12
+  1547    0.70061E-10    0.23172E-11    0.00000E+00    0.16092E-11    0.34851E-08    0.66215E-12    0.11911E-12
+  1548    0.69615E-10    0.23347E-11    0.00000E+00    0.15933E-11    0.34812E-08    0.65494E-12    0.12005E-12
+  1549    0.69171E-10    0.23520E-11    0.00000E+00    0.15760E-11    0.34773E-08    0.64769E-12    0.12098E-12
+  1550    0.68731E-10    0.23692E-11    0.00000E+00    0.15572E-11    0.34735E-08    0.64042E-12    0.12189E-12
+  1551    0.68292E-10    0.23863E-11    0.00000E+00    0.15369E-11    0.34696E-08    0.63312E-12    0.12279E-12
+  1552    0.67858E-10    0.24032E-11    0.00000E+00    0.15153E-11    0.34658E-08    0.62581E-12    0.12368E-12
+  1553    0.67426E-10    0.24201E-11    0.00000E+00    0.14924E-11    0.34619E-08    0.61849E-12    0.12456E-12
+  1554    0.66998E-10    0.24369E-11    0.00000E+00    0.14680E-11    0.34581E-08    0.61118E-12    0.12542E-12
+  1555    0.66572E-10    0.24534E-11    0.00000E+00    0.14423E-11    0.34543E-08    0.60390E-12    0.12626E-12
+  1556    0.66151E-10    0.24697E-11    0.00000E+00    0.14152E-11    0.34504E-08    0.59665E-12    0.12709E-12
+  1557    0.65733E-10    0.24859E-11    0.00000E+00    0.13868E-11    0.34466E-08    0.58944E-12    0.12791E-12
+  1558    0.65319E-10    0.25020E-11    0.00000E+00    0.13572E-11    0.34428E-08    0.58228E-12    0.12870E-12
+  1559    0.64910E-10    0.25177E-11    0.00000E+00    0.13262E-11    0.34390E-08    0.57514E-12    0.12949E-12
+  1560    0.64504E-10    0.25334E-11    0.00000E+00    0.12939E-11    0.34352E-08    0.56795E-12    0.13026E-12
+  1561    0.64099E-10    0.25488E-11    0.00000E+00    0.12604E-11    0.34314E-08    0.56068E-12    0.13103E-12
+  1562    0.63698E-10    0.25641E-11    0.00000E+00    0.12256E-11    0.34276E-08    0.55327E-12    0.13180E-12
+  1563    0.63302E-10    0.25791E-11    0.00000E+00    0.11897E-11    0.34238E-08    0.54567E-12    0.13257E-12
+  1564    0.62911E-10    0.25940E-11    0.00000E+00    0.11526E-11    0.34201E-08    0.53783E-12    0.13334E-12
+  1565    0.62525E-10    0.26085E-11    0.00000E+00    0.11143E-11    0.34163E-08    0.52973E-12    0.13411E-12
+  1566    0.62142E-10    0.26229E-11    0.00000E+00    0.10750E-11    0.34125E-08    0.52141E-12    0.13488E-12
+  1567    0.61762E-10    0.26368E-11    0.00000E+00    0.10344E-11    0.34088E-08    0.51295E-12    0.13564E-12
+  1568    0.61387E-10    0.26508E-11    0.00000E+00    0.99278E-12    0.34050E-08    0.50443E-12    0.13637E-12
+  1569    0.61018E-10    0.26644E-11    0.00000E+00    0.95008E-12    0.34013E-08    0.49591E-12    0.13706E-12
+  1570    0.60653E-10    0.26779E-11    0.00000E+00    0.90635E-12    0.33975E-08    0.48747E-12    0.13770E-12
+  1571    0.60293E-10    0.26913E-11    0.00000E+00    0.86167E-12    0.33938E-08    0.47919E-12    0.13828E-12
+  1572    0.59936E-10    0.27041E-11    0.00000E+00    0.81588E-12    0.33901E-08    0.47111E-12    0.13880E-12
+  1573    0.59584E-10    0.27168E-11    0.00000E+00    0.76914E-12    0.33864E-08    0.46322E-12    0.13926E-12
+  1574    0.59239E-10    0.27291E-11    0.00000E+00    0.72144E-12    0.33826E-08    0.45548E-12    0.13967E-12
+  1575    0.58897E-10    0.27413E-11    0.00000E+00    0.67282E-12    0.33789E-08    0.44786E-12    0.14003E-12
+  1576    0.58560E-10    0.27529E-11    0.00000E+00    0.62329E-12    0.33752E-08    0.44031E-12    0.14037E-12
+  1577    0.58228E-10    0.27644E-11    0.00000E+00    0.57288E-12    0.33715E-08    0.43280E-12    0.14069E-12
+  1578    0.57901E-10    0.27756E-11    0.00000E+00    0.52163E-12    0.33678E-08    0.42530E-12    0.14100E-12
+  1579    0.57580E-10    0.27864E-11    0.00000E+00    0.46955E-12    0.33642E-08    0.41777E-12    0.14132E-12
+  1580    0.57262E-10    0.27971E-11    0.00000E+00    0.41667E-12    0.33605E-08    0.41021E-12    0.14163E-12
+  1581    0.56949E-10    0.28074E-11    0.00000E+00    0.36302E-12    0.33568E-08    0.40263E-12    0.14193E-12
+  1582    0.56643E-10    0.28174E-11    0.00000E+00    0.30862E-12    0.33531E-08    0.39504E-12    0.14223E-12
+  1583    0.56340E-10    0.28269E-11    0.00000E+00    0.25350E-12    0.33495E-08    0.38745E-12    0.14252E-12
+  1584    0.56044E-10    0.28363E-11    0.00000E+00    0.19767E-12    0.33458E-08    0.37986E-12    0.14280E-12
+  1585    0.55751E-10    0.28454E-11    0.00000E+00    0.14118E-12    0.33422E-08    0.37227E-12    0.14306E-12
+  1586    0.55465E-10    0.28540E-11    0.00000E+00    0.84055E-13    0.33385E-08    0.36471E-12    0.14331E-12
+  1587    0.55184E-10    0.28624E-11    0.00000E+00    0.26288E-13    0.33349E-08    0.35717E-12    0.14354E-12
+  1588    0.54909E-10    0.28704E-11    0.00000E+00   -0.32070E-13    0.33312E-08    0.34966E-12    0.14375E-12
+  1589    0.54638E-10    0.28781E-11    0.00000E+00   -0.90987E-13    0.33276E-08    0.34219E-12    0.14396E-12
+  1590    0.54372E-10    0.28854E-11    0.00000E+00   -0.15044E-12    0.33240E-08    0.33476E-12    0.14414E-12
+  1591    0.54113E-10    0.28924E-11    0.00000E+00   -0.21040E-12    0.33204E-08    0.32739E-12    0.14432E-12
+  1592    0.53858E-10    0.28991E-11    0.00000E+00   -0.27083E-12    0.33168E-08    0.32008E-12    0.14449E-12
+  1593    0.53609E-10    0.29054E-11    0.00000E+00   -0.33174E-12    0.33132E-08    0.31282E-12    0.14464E-12
+  1594    0.53364E-10    0.29114E-11    0.00000E+00   -0.39307E-12    0.33096E-08    0.30560E-12    0.14479E-12
+  1595    0.53126E-10    0.29171E-11    0.00000E+00   -0.45477E-12    0.33060E-08    0.29838E-12    0.14492E-12
+  1596    0.52894E-10    0.29223E-11    0.00000E+00   -0.51685E-12    0.33024E-08    0.29112E-12    0.14504E-12
+  1597    0.52666E-10    0.29272E-11    0.00000E+00   -0.57927E-12    0.32988E-08    0.28378E-12    0.14514E-12
+  1598    0.52444E-10    0.29317E-11    0.00000E+00   -0.64198E-12    0.32952E-08    0.27633E-12    0.14522E-12
+  1599    0.52227E-10    0.29359E-11    0.00000E+00   -0.70499E-12    0.32917E-08    0.26874E-12    0.14528E-12
+  1600    0.52016E-10    0.29398E-11    0.00000E+00   -0.76826E-12    0.32881E-08    0.26099E-12    0.14531E-12
+  1601    0.51810E-10    0.29433E-11    0.00000E+00   -0.83175E-12    0.32845E-08    0.25312E-12    0.14532E-12
+  1602    0.51608E-10    0.29463E-11    0.00000E+00   -0.89543E-12    0.32810E-08    0.24519E-12    0.14529E-12
+  1603    0.51414E-10    0.29490E-11    0.00000E+00   -0.95932E-12    0.32774E-08    0.23727E-12    0.14524E-12
+  1604    0.51224E-10    0.29513E-11    0.00000E+00   -0.10234E-11    0.32739E-08    0.22941E-12    0.14515E-12
+  1605    0.51040E-10    0.29533E-11    0.00000E+00   -0.10875E-11    0.32704E-08    0.22169E-12    0.14503E-12
+  1606    0.50861E-10    0.29549E-11    0.00000E+00   -0.11518E-11    0.32668E-08    0.21416E-12    0.14487E-12
+  1607    0.50687E-10    0.29562E-11    0.00000E+00   -0.12162E-11    0.32633E-08    0.20686E-12    0.14468E-12
+  1608    0.50518E-10    0.29572E-11    0.00000E+00   -0.12805E-11    0.32598E-08    0.19978E-12    0.14445E-12
+  1609    0.50356E-10    0.29576E-11    0.00000E+00   -0.13449E-11    0.32563E-08    0.19287E-12    0.14419E-12
+  1610    0.50199E-10    0.29577E-11    0.00000E+00   -0.14093E-11    0.32528E-08    0.18611E-12    0.14391E-12
+  1611    0.50046E-10    0.29575E-11    0.00000E+00   -0.14736E-11    0.32492E-08    0.17944E-12    0.14361E-12
+  1612    0.49900E-10    0.29568E-11    0.00000E+00   -0.15379E-11    0.32457E-08    0.17284E-12    0.14329E-12
+  1613    0.49757E-10    0.29558E-11    0.00000E+00   -0.16021E-11    0.32423E-08    0.16626E-12    0.14297E-12
+  1614    0.49621E-10    0.29545E-11    0.00000E+00   -0.16662E-11    0.32388E-08    0.15968E-12    0.14264E-12
+  1615    0.49490E-10    0.29528E-11    0.00000E+00   -0.17301E-11    0.32353E-08    0.15309E-12    0.14230E-12
+  1616    0.49363E-10    0.29507E-11    0.00000E+00   -0.17938E-11    0.32318E-08    0.14651E-12    0.14196E-12
+  1617    0.49242E-10    0.29483E-11    0.00000E+00   -0.18573E-11    0.32283E-08    0.13995E-12    0.14161E-12
+  1618    0.49126E-10    0.29455E-11    0.00000E+00   -0.19206E-11    0.32249E-08    0.13341E-12    0.14125E-12
+  1619    0.49013E-10    0.29423E-11    0.00000E+00   -0.19837E-11    0.32214E-08    0.12690E-12    0.14088E-12
+  1620    0.48908E-10    0.29388E-11    0.00000E+00   -0.20465E-11    0.32180E-08    0.12044E-12    0.14049E-12
+  1621    0.48807E-10    0.29348E-11    0.00000E+00   -0.21090E-11    0.32145E-08    0.11403E-12    0.14009E-12
+  1622    0.48711E-10    0.29306E-11    0.00000E+00   -0.21712E-11    0.32111E-08    0.10767E-12    0.13967E-12
+  1623    0.48619E-10    0.29260E-11    0.00000E+00   -0.22331E-11    0.32076E-08    0.10137E-12    0.13925E-12
+  1624    0.48533E-10    0.29211E-11    0.00000E+00   -0.22945E-11    0.32042E-08    0.95119E-13    0.13881E-12
+  1625    0.48452E-10    0.29157E-11    0.00000E+00   -0.23556E-11    0.32008E-08    0.88928E-13    0.13836E-12
+  1626    0.48375E-10    0.29101E-11    0.00000E+00   -0.24163E-11    0.31973E-08    0.82796E-13    0.13791E-12
+  1627    0.48302E-10    0.29040E-11    0.00000E+00   -0.24765E-11    0.31939E-08    0.76723E-13    0.13744E-12
+  1628    0.48234E-10    0.28977E-11    0.00000E+00   -0.25363E-11    0.31905E-08    0.70708E-13    0.13698E-12
+  1629    0.48171E-10    0.28910E-11    0.00000E+00   -0.25955E-11    0.31871E-08    0.64741E-13    0.13650E-12
+  1630    0.48113E-10    0.28840E-11    0.00000E+00   -0.26543E-11    0.31837E-08    0.58806E-13    0.13601E-12
+  1631    0.48057E-10    0.28766E-11    0.00000E+00   -0.27125E-11    0.31803E-08    0.52892E-13    0.13550E-12
+  1632    0.48008E-10    0.28688E-11    0.00000E+00   -0.27702E-11    0.31769E-08    0.46985E-13    0.13497E-12
+  1633    0.47963E-10    0.28608E-11    0.00000E+00   -0.28273E-11    0.31735E-08    0.41070E-13    0.13441E-12
+  1634    0.47924E-10    0.28524E-11    0.00000E+00   -0.28838E-11    0.31702E-08    0.35136E-13    0.13382E-12
+  1635    0.47887E-10    0.28438E-11    0.00000E+00   -0.29397E-11    0.31668E-08    0.29175E-13    0.13319E-12
+  1636    0.47855E-10    0.28346E-11    0.00000E+00   -0.29949E-11    0.31634E-08    0.23214E-13    0.13253E-12
+  1637    0.47827E-10    0.28253E-11    0.00000E+00   -0.30496E-11    0.31601E-08    0.17287E-13    0.13184E-12
+  1638    0.47802E-10    0.28157E-11    0.00000E+00   -0.31035E-11    0.31567E-08    0.11428E-13    0.13113E-12
+  1639    0.47783E-10    0.28057E-11    0.00000E+00   -0.31567E-11    0.31533E-08    0.56692E-14    0.13039E-12
+  1640    0.47767E-10    0.27954E-11    0.00000E+00   -0.32093E-11    0.31500E-08    0.45673E-16    0.12963E-12
+  1641    0.47754E-10    0.27848E-11    0.00000E+00   -0.32611E-11    0.31467E-08   -0.54093E-14    0.12885E-12
+  1642    0.47746E-10    0.27739E-11    0.00000E+00   -0.33120E-11    0.31433E-08   -0.10672E-13    0.12806E-12
+  1643    0.47741E-10    0.27629E-11    0.00000E+00   -0.33623E-11    0.31400E-08   -0.15757E-13    0.12725E-12
+  1644    0.47739E-10    0.27513E-11    0.00000E+00   -0.34120E-11    0.31367E-08   -0.20692E-13    0.12643E-12
+  1645    0.47741E-10    0.27395E-11    0.00000E+00   -0.34607E-11    0.31333E-08   -0.25502E-13    0.12560E-12
+  1646    0.47746E-10    0.27275E-11    0.00000E+00   -0.35086E-11    0.31300E-08   -0.30212E-13    0.12477E-12
+  1647    0.47756E-10    0.27152E-11    0.00000E+00   -0.35555E-11    0.31267E-08   -0.34848E-13    0.12392E-12
+  1648    0.47769E-10    0.27026E-11    0.00000E+00   -0.36018E-11    0.31234E-08   -0.39435E-13    0.12307E-12
+  1649    0.47785E-10    0.26898E-11    0.00000E+00   -0.36472E-11    0.31201E-08   -0.43995E-13    0.12221E-12
+  1650    0.47804E-10    0.26766E-11    0.00000E+00   -0.36916E-11    0.31168E-08   -0.48526E-13    0.12134E-12
+  1651    0.47826E-10    0.26633E-11    0.00000E+00   -0.37353E-11    0.31135E-08   -0.53019E-13    0.12047E-12
+  1652    0.47852E-10    0.26495E-11    0.00000E+00   -0.37779E-11    0.31102E-08   -0.57470E-13    0.11958E-12
+  1653    0.47880E-10    0.26356E-11    0.00000E+00   -0.38195E-11    0.31069E-08   -0.61869E-13    0.11869E-12
+  1654    0.47911E-10    0.26216E-11    0.00000E+00   -0.38605E-11    0.31037E-08   -0.66212E-13    0.11779E-12
+  1655    0.47946E-10    0.26073E-11    0.00000E+00   -0.39002E-11    0.31004E-08   -0.70489E-13    0.11689E-12
+  1656    0.47983E-10    0.25927E-11    0.00000E+00   -0.39391E-11    0.30971E-08   -0.74697E-13    0.11597E-12
+  1657    0.48021E-10    0.25779E-11    0.00000E+00   -0.39770E-11    0.30939E-08   -0.78836E-13    0.11504E-12
+  1658    0.48064E-10    0.25628E-11    0.00000E+00   -0.40140E-11    0.30906E-08   -0.82909E-13    0.11411E-12
+  1659    0.48109E-10    0.25475E-11    0.00000E+00   -0.40499E-11    0.30874E-08   -0.86919E-13    0.11317E-12
+  1660    0.48155E-10    0.25321E-11    0.00000E+00   -0.40848E-11    0.30841E-08   -0.90869E-13    0.11222E-12
+  1661    0.48205E-10    0.25164E-11    0.00000E+00   -0.41188E-11    0.30809E-08   -0.94762E-13    0.11127E-12
+  1662    0.48256E-10    0.25006E-11    0.00000E+00   -0.41518E-11    0.30776E-08   -0.98600E-13    0.11032E-12
+  1663    0.48310E-10    0.24846E-11    0.00000E+00   -0.41836E-11    0.30744E-08   -0.10239E-12    0.10936E-12
+  1664    0.48365E-10    0.24683E-11    0.00000E+00   -0.42144E-11    0.30712E-08   -0.10612E-12    0.10840E-12
+  1665    0.48423E-10    0.24519E-11    0.00000E+00   -0.42442E-11    0.30680E-08   -0.10979E-12    0.10743E-12
+  1666    0.48483E-10    0.24353E-11    0.00000E+00   -0.42731E-11    0.30647E-08   -0.11340E-12    0.10644E-12
+  1667    0.48544E-10    0.24186E-11    0.00000E+00   -0.43007E-11    0.30615E-08   -0.11694E-12    0.10544E-12
+  1668    0.48608E-10    0.24017E-11    0.00000E+00   -0.43274E-11    0.30583E-08   -0.12041E-12    0.10441E-12
+  1669    0.48673E-10    0.23847E-11    0.00000E+00   -0.43529E-11    0.30551E-08   -0.12380E-12    0.10336E-12
+  1670    0.48739E-10    0.23675E-11    0.00000E+00   -0.43773E-11    0.30519E-08   -0.12711E-12    0.10228E-12
+  1671    0.48808E-10    0.23501E-11    0.00000E+00   -0.44008E-11    0.30487E-08   -0.13034E-12    0.10118E-12
+  1672    0.48878E-10    0.23326E-11    0.00000E+00   -0.44231E-11    0.30456E-08   -0.13347E-12    0.10006E-12
+  1673    0.48948E-10    0.23149E-11    0.00000E+00   -0.44443E-11    0.30424E-08   -0.13650E-12    0.98912E-13
+  1674    0.49021E-10    0.22973E-11    0.00000E+00   -0.44644E-11    0.30392E-08   -0.13941E-12    0.97756E-13
+  1675    0.49093E-10    0.22794E-11    0.00000E+00   -0.44834E-11    0.30360E-08   -0.14220E-12    0.96590E-13
+  1676    0.49168E-10    0.22613E-11    0.00000E+00   -0.45013E-11    0.30329E-08   -0.14487E-12    0.95419E-13
+  1677    0.49244E-10    0.22433E-11    0.00000E+00   -0.45181E-11    0.30297E-08   -0.14740E-12    0.94246E-13
+  1678    0.49319E-10    0.22250E-11    0.00000E+00   -0.45338E-11    0.30265E-08   -0.14981E-12    0.93072E-13
+  1679    0.49396E-10    0.22068E-11    0.00000E+00   -0.45484E-11    0.30234E-08   -0.15210E-12    0.91896E-13
+  1680    0.49474E-10    0.21884E-11    0.00000E+00   -0.45618E-11    0.30202E-08   -0.15430E-12    0.90718E-13
+  1681    0.49553E-10    0.21698E-11    0.00000E+00   -0.45741E-11    0.30171E-08   -0.15641E-12    0.89537E-13
+  1682    0.49631E-10    0.21513E-11    0.00000E+00   -0.45855E-11    0.30140E-08   -0.15845E-12    0.88354E-13
+  1683    0.49711E-10    0.21328E-11    0.00000E+00   -0.45956E-11    0.30108E-08   -0.16044E-12    0.87167E-13
+  1684    0.49791E-10    0.21141E-11    0.00000E+00   -0.46047E-11    0.30077E-08   -0.16237E-12    0.85978E-13
+  1685    0.49872E-10    0.20954E-11    0.00000E+00   -0.46127E-11    0.30046E-08   -0.16426E-12    0.84785E-13
+  1686    0.49953E-10    0.20767E-11    0.00000E+00   -0.46194E-11    0.30015E-08   -0.16609E-12    0.83589E-13
+  1687    0.50033E-10    0.20578E-11    0.00000E+00   -0.46251E-11    0.29983E-08   -0.16787E-12    0.82390E-13
+  1688    0.50115E-10    0.20390E-11    0.00000E+00   -0.46298E-11    0.29952E-08   -0.16959E-12    0.81187E-13
+  1689    0.50195E-10    0.20202E-11    0.00000E+00   -0.46332E-11    0.29921E-08   -0.17124E-12    0.79982E-13
+  1690    0.50275E-10    0.20013E-11    0.00000E+00   -0.46356E-11    0.29890E-08   -0.17283E-12    0.78773E-13
+  1691    0.50356E-10    0.19825E-11    0.00000E+00   -0.46370E-11    0.29859E-08   -0.17434E-12    0.77562E-13
+  1692    0.50437E-10    0.19635E-11    0.00000E+00   -0.46372E-11    0.29828E-08   -0.17579E-12    0.76348E-13
+  1693    0.50517E-10    0.19446E-11    0.00000E+00   -0.46363E-11    0.29798E-08   -0.17718E-12    0.75131E-13
+  1694    0.50596E-10    0.19258E-11    0.00000E+00   -0.46345E-11    0.29767E-08   -0.17850E-12    0.73913E-13
+  1695    0.50676E-10    0.19068E-11    0.00000E+00   -0.46314E-11    0.29736E-08   -0.17976E-12    0.72695E-13
+  1696    0.50755E-10    0.18880E-11    0.00000E+00   -0.46274E-11    0.29705E-08   -0.18097E-12    0.71475E-13
+  1697    0.50832E-10    0.18691E-11    0.00000E+00   -0.46223E-11    0.29675E-08   -0.18212E-12    0.70255E-13
+  1698    0.50910E-10    0.18503E-11    0.00000E+00   -0.46162E-11    0.29644E-08   -0.18322E-12    0.69035E-13
+  1699    0.50987E-10    0.18315E-11    0.00000E+00   -0.46089E-11    0.29613E-08   -0.18426E-12    0.67814E-13
+  1700    0.51063E-10    0.18126E-11    0.00000E+00   -0.46007E-11    0.29583E-08   -0.18523E-12    0.66590E-13
+  1701    0.51137E-10    0.17940E-11    0.00000E+00   -0.45914E-11    0.29552E-08   -0.18612E-12    0.65361E-13
+  1702    0.51212E-10    0.17753E-11    0.00000E+00   -0.45811E-11    0.29522E-08   -0.18692E-12    0.64126E-13
+  1703    0.51285E-10    0.17568E-11    0.00000E+00   -0.45699E-11    0.29492E-08   -0.18763E-12    0.62883E-13
+  1704    0.51357E-10    0.17382E-11    0.00000E+00   -0.45576E-11    0.29461E-08   -0.18823E-12    0.61630E-13
+  1705    0.51428E-10    0.17198E-11    0.00000E+00   -0.45443E-11    0.29431E-08   -0.18872E-12    0.60367E-13
+  1706    0.51497E-10    0.17012E-11    0.00000E+00   -0.45300E-11    0.29401E-08   -0.18909E-12    0.59093E-13
+  1707    0.51566E-10    0.16828E-11    0.00000E+00   -0.45149E-11    0.29371E-08   -0.18935E-12    0.57813E-13
+  1708    0.51633E-10    0.16646E-11    0.00000E+00   -0.44987E-11    0.29340E-08   -0.18952E-12    0.56527E-13
+  1709    0.51699E-10    0.16465E-11    0.00000E+00   -0.44816E-11    0.29310E-08   -0.18957E-12    0.55238E-13
+  1710    0.51763E-10    0.16286E-11    0.00000E+00   -0.44635E-11    0.29280E-08   -0.18954E-12    0.53948E-13
+  1711    0.51825E-10    0.16108E-11    0.00000E+00   -0.44444E-11    0.29250E-08   -0.18940E-12    0.52658E-13
+  1712    0.51887E-10    0.15929E-11    0.00000E+00   -0.44245E-11    0.29220E-08   -0.18918E-12    0.51371E-13
+  1713    0.51946E-10    0.15752E-11    0.00000E+00   -0.44037E-11    0.29190E-08   -0.18887E-12    0.50087E-13
+  1714    0.52003E-10    0.15577E-11    0.00000E+00   -0.43819E-11    0.29160E-08   -0.18849E-12    0.48805E-13
+  1715    0.52058E-10    0.15402E-11    0.00000E+00   -0.43594E-11    0.29131E-08   -0.18803E-12    0.47526E-13
+  1716    0.52113E-10    0.15229E-11    0.00000E+00   -0.43359E-11    0.29101E-08   -0.18751E-12    0.46250E-13
+  1717    0.52165E-10    0.15057E-11    0.00000E+00   -0.43116E-11    0.29071E-08   -0.18693E-12    0.44977E-13
+  1718    0.52214E-10    0.14887E-11    0.00000E+00   -0.42865E-11    0.29041E-08   -0.18629E-12    0.43706E-13
+  1719    0.52262E-10    0.14718E-11    0.00000E+00   -0.42605E-11    0.29012E-08   -0.18561E-12    0.42439E-13
+  1720    0.52309E-10    0.14551E-11    0.00000E+00   -0.42338E-11    0.28982E-08   -0.18488E-12    0.41174E-13
+  1721    0.52353E-10    0.14386E-11    0.00000E+00   -0.42062E-11    0.28953E-08   -0.18409E-12    0.39913E-13
+  1722    0.52396E-10    0.14221E-11    0.00000E+00   -0.41779E-11    0.28923E-08   -0.18325E-12    0.38655E-13
+  1723    0.52436E-10    0.14058E-11    0.00000E+00   -0.41488E-11    0.28894E-08   -0.18236E-12    0.37400E-13
+  1724    0.52473E-10    0.13898E-11    0.00000E+00   -0.41190E-11    0.28864E-08   -0.18141E-12    0.36148E-13
+  1725    0.52508E-10    0.13738E-11    0.00000E+00   -0.40884E-11    0.28835E-08   -0.18041E-12    0.34900E-13
+  1726    0.52541E-10    0.13581E-11    0.00000E+00   -0.40572E-11    0.28805E-08   -0.17934E-12    0.33656E-13
+  1727    0.52572E-10    0.13425E-11    0.00000E+00   -0.40252E-11    0.28776E-08   -0.17822E-12    0.32415E-13
+  1728    0.52600E-10    0.13273E-11    0.00000E+00   -0.39926E-11    0.28747E-08   -0.17704E-12    0.31177E-13
+  1729    0.52627E-10    0.13122E-11    0.00000E+00   -0.39593E-11    0.28718E-08   -0.17580E-12    0.29943E-13
+  1730    0.52649E-10    0.12972E-11    0.00000E+00   -0.39252E-11    0.28688E-08   -0.17452E-12    0.28711E-13
+  1731    0.52670E-10    0.12824E-11    0.00000E+00   -0.38907E-11    0.28659E-08   -0.17317E-12    0.27483E-13
+  1732    0.52688E-10    0.12678E-11    0.00000E+00   -0.38554E-11    0.28630E-08   -0.17178E-12    0.26258E-13
+  1733    0.52704E-10    0.12535E-11    0.00000E+00   -0.38196E-11    0.28601E-08   -0.17034E-12    0.25035E-13
+  1734    0.52717E-10    0.12393E-11    0.00000E+00   -0.37832E-11    0.28572E-08   -0.16884E-12    0.23816E-13
+  1735    0.52727E-10    0.12254E-11    0.00000E+00   -0.37461E-11    0.28543E-08   -0.16729E-12    0.22601E-13
+  1736    0.52735E-10    0.12116E-11    0.00000E+00   -0.37087E-11    0.28514E-08   -0.16568E-12    0.21391E-13
+  1737    0.52740E-10    0.11982E-11    0.00000E+00   -0.36706E-11    0.28485E-08   -0.16401E-12    0.20186E-13
+  1738    0.52742E-10    0.11849E-11    0.00000E+00   -0.36320E-11    0.28457E-08   -0.16228E-12    0.18988E-13
+  1739    0.52743E-10    0.11719E-11    0.00000E+00   -0.35930E-11    0.28428E-08   -0.16048E-12    0.17796E-13
+  1740    0.52739E-10    0.11591E-11    0.00000E+00   -0.35535E-11    0.28399E-08   -0.15861E-12    0.16611E-13
+  1741    0.52735E-10    0.11465E-11    0.00000E+00   -0.35134E-11    0.28370E-08   -0.15668E-12    0.15434E-13
+  1742    0.52726E-10    0.11342E-11    0.00000E+00   -0.34731E-11    0.28342E-08   -0.15467E-12    0.14263E-13
+  1743    0.52715E-10    0.11221E-11    0.00000E+00   -0.34322E-11    0.28313E-08   -0.15258E-12    0.13098E-13
+  1744    0.52701E-10    0.11103E-11    0.00000E+00   -0.33910E-11    0.28285E-08   -0.15042E-12    0.11938E-13
+  1745    0.52684E-10    0.10986E-11    0.00000E+00   -0.33494E-11    0.28256E-08   -0.14817E-12    0.10783E-13
+  1746    0.52664E-10    0.10873E-11    0.00000E+00   -0.33074E-11    0.28228E-08   -0.14585E-12    0.96333E-14
+  1747    0.52642E-10    0.10763E-11    0.00000E+00   -0.32651E-11    0.28199E-08   -0.14344E-12    0.84875E-14
+  1748    0.52616E-10    0.10656E-11    0.00000E+00   -0.32225E-11    0.28171E-08   -0.14095E-12    0.73464E-14
+  1749    0.52587E-10    0.10550E-11    0.00000E+00   -0.31794E-11    0.28142E-08   -0.13840E-12    0.62108E-14
+  1750    0.52555E-10    0.10447E-11    0.00000E+00   -0.31362E-11    0.28114E-08   -0.13578E-12    0.50813E-14
+  1751    0.52520E-10    0.10346E-11    0.00000E+00   -0.30928E-11    0.28086E-08   -0.13312E-12    0.39587E-14
+  1752    0.52483E-10    0.10247E-11    0.00000E+00   -0.30489E-11    0.28058E-08   -0.13041E-12    0.28437E-14
+  1753    0.52443E-10    0.10150E-11    0.00000E+00   -0.30050E-11    0.28029E-08   -0.12766E-12    0.17371E-14
+  1754    0.52400E-10    0.10057E-11    0.00000E+00   -0.29608E-11    0.28001E-08   -0.12489E-12    0.63936E-15
+  1755    0.52354E-10    0.99677E-12    0.00000E+00   -0.29164E-11    0.27973E-08   -0.12209E-12   -0.44944E-15
+  1756    0.52306E-10    0.98797E-12    0.00000E+00   -0.28718E-11    0.27945E-08   -0.11925E-12   -0.15294E-14
+  1757    0.52254E-10    0.97945E-12    0.00000E+00   -0.28271E-11    0.27917E-08   -0.11639E-12   -0.26007E-14
+  1758    0.52198E-10    0.97119E-12    0.00000E+00   -0.27823E-11    0.27889E-08   -0.11350E-12   -0.36633E-14
+  1759    0.52141E-10    0.96321E-12    0.00000E+00   -0.27374E-11    0.27861E-08   -0.11057E-12   -0.47174E-14
+  1760    0.52080E-10    0.95552E-12    0.00000E+00   -0.26923E-11    0.27833E-08   -0.10761E-12   -0.57632E-14
+  1761    0.52016E-10    0.94810E-12    0.00000E+00   -0.26472E-11    0.27805E-08   -0.10462E-12   -0.68006E-14
+  1762    0.51949E-10    0.94094E-12    0.00000E+00   -0.26020E-11    0.27778E-08   -0.10159E-12   -0.78301E-14
+  1763    0.51880E-10    0.93408E-12    0.00000E+00   -0.25567E-11    0.27750E-08   -0.98516E-13   -0.88518E-14
+  1764    0.51809E-10    0.92751E-12    0.00000E+00   -0.25115E-11    0.27722E-08   -0.95405E-13   -0.98660E-14
+  1765    0.51733E-10    0.92119E-12    0.00000E+00   -0.24662E-11    0.27694E-08   -0.92253E-13   -0.10873E-13
+  1766    0.51655E-10    0.91514E-12    0.00000E+00   -0.24210E-11    0.27667E-08   -0.89056E-13   -0.11873E-13
+  1767    0.51574E-10    0.90936E-12    0.00000E+00   -0.23757E-11    0.27639E-08   -0.85813E-13   -0.12866E-13
+  1768    0.51490E-10    0.90387E-12    0.00000E+00   -0.23305E-11    0.27612E-08   -0.82524E-13   -0.13853E-13
+  1769    0.51404E-10    0.89865E-12    0.00000E+00   -0.22855E-11    0.27584E-08   -0.79199E-13   -0.14832E-13
+  1770    0.51314E-10    0.89369E-12    0.00000E+00   -0.22404E-11    0.27557E-08   -0.75847E-13   -0.15801E-13
+  1771    0.51222E-10    0.88902E-12    0.00000E+00   -0.21955E-11    0.27529E-08   -0.72481E-13   -0.16758E-13
+  1772    0.51128E-10    0.88461E-12    0.00000E+00   -0.21508E-11    0.27502E-08   -0.69110E-13   -0.17703E-13
+  1773    0.51029E-10    0.88047E-12    0.00000E+00   -0.21060E-11    0.27474E-08   -0.65747E-13   -0.18633E-13
+  1774    0.50929E-10    0.87661E-12    0.00000E+00   -0.20616E-11    0.27447E-08   -0.62402E-13   -0.19547E-13
+  1775    0.50826E-10    0.87302E-12    0.00000E+00   -0.20173E-11    0.27420E-08   -0.59080E-13   -0.20444E-13
+  1776    0.50721E-10    0.86969E-12    0.00000E+00   -0.19731E-11    0.27392E-08   -0.55769E-13   -0.21324E-13
+  1777    0.50611E-10    0.86665E-12    0.00000E+00   -0.19293E-11    0.27365E-08   -0.52448E-13   -0.22189E-13
+  1778    0.50500E-10    0.86386E-12    0.00000E+00   -0.18856E-11    0.27338E-08   -0.49098E-13   -0.23040E-13
+  1779    0.50386E-10    0.86135E-12    0.00000E+00   -0.18422E-11    0.27311E-08   -0.45700E-13   -0.23880E-13
+  1780    0.50270E-10    0.85910E-12    0.00000E+00   -0.17990E-11    0.27284E-08   -0.42235E-13   -0.24709E-13
+  1781    0.50152E-10    0.85711E-12    0.00000E+00   -0.17561E-11    0.27257E-08   -0.38682E-13   -0.25529E-13
+  1782    0.50029E-10    0.85539E-12    0.00000E+00   -0.17135E-11    0.27230E-08   -0.35029E-13   -0.26340E-13
+  1783    0.49905E-10    0.85393E-12    0.00000E+00   -0.16712E-11    0.27203E-08   -0.31286E-13   -0.27144E-13
+  1784    0.49780E-10    0.85272E-12    0.00000E+00   -0.16291E-11    0.27176E-08   -0.27471E-13   -0.27938E-13
+  1785    0.49651E-10    0.85178E-12    0.00000E+00   -0.15875E-11    0.27149E-08   -0.23599E-13   -0.28723E-13
+  1786    0.49520E-10    0.85109E-12    0.00000E+00   -0.15462E-11    0.27122E-08   -0.19688E-13   -0.29498E-13
+  1787    0.49387E-10    0.85067E-12    0.00000E+00   -0.15052E-11    0.27095E-08   -0.15754E-13   -0.30262E-13
+  1788    0.49252E-10    0.85049E-12    0.00000E+00   -0.14648E-11    0.27069E-08   -0.11813E-13   -0.31016E-13
+  1789    0.49114E-10    0.85056E-12    0.00000E+00   -0.14246E-11    0.27042E-08   -0.78804E-14   -0.31757E-13
+  1790    0.48973E-10    0.85088E-12    0.00000E+00   -0.13849E-11    0.27015E-08   -0.39557E-14   -0.32487E-13
+  1791    0.48831E-10    0.85144E-12    0.00000E+00   -0.13457E-11    0.26989E-08   -0.36803E-16   -0.33206E-13
+  1792    0.48687E-10    0.85225E-12    0.00000E+00   -0.13068E-11    0.26962E-08    0.38787E-14   -0.33913E-13
+  1793    0.48539E-10    0.85330E-12    0.00000E+00   -0.12684E-11    0.26935E-08    0.77932E-14   -0.34608E-13
+  1794    0.48391E-10    0.85458E-12    0.00000E+00   -0.12305E-11    0.26909E-08    0.11709E-13   -0.35293E-13
+  1795    0.48241E-10    0.85612E-12    0.00000E+00   -0.11931E-11    0.26882E-08    0.15629E-13   -0.35966E-13
+  1796    0.48085E-10    0.85788E-12    0.00000E+00   -0.11561E-11    0.26856E-08    0.19555E-13   -0.36628E-13
+  1797    0.47932E-10    0.85986E-12    0.00000E+00   -0.11197E-11    0.26829E-08    0.23492E-13   -0.37278E-13
+  1798    0.47775E-10    0.86207E-12    0.00000E+00   -0.10837E-11    0.26803E-08    0.27446E-13   -0.37918E-13
+  1799    0.47616E-10    0.86452E-12    0.00000E+00   -0.10483E-11    0.26777E-08    0.31420E-13   -0.38546E-13
+  1800    0.47456E-10    0.86719E-12    0.00000E+00   -0.10135E-11    0.26750E-08    0.35422E-13   -0.39164E-13
+  1801    0.47295E-10    0.87007E-12    0.00000E+00   -0.97916E-12    0.26724E-08    0.39455E-13   -0.39770E-13
+  1802    0.47133E-10    0.87316E-12    0.00000E+00   -0.94544E-12    0.26698E-08    0.43524E-13   -0.40364E-13
+  1803    0.46968E-10    0.87647E-12    0.00000E+00   -0.91236E-12    0.26672E-08    0.47630E-13   -0.40948E-13
+  1804    0.46800E-10    0.87998E-12    0.00000E+00   -0.87973E-12    0.26645E-08    0.51753E-13   -0.41519E-13
+  1805    0.46631E-10    0.88371E-12    0.00000E+00   -0.84776E-12    0.26619E-08    0.55868E-13   -0.42079E-13
+  1806    0.46462E-10    0.88765E-12    0.00000E+00   -0.81639E-12    0.26593E-08    0.59951E-13   -0.42627E-13
+  1807    0.46290E-10    0.89179E-12    0.00000E+00   -0.78565E-12    0.26567E-08    0.63977E-13   -0.43163E-13
+  1808    0.46117E-10    0.89610E-12    0.00000E+00   -0.75551E-12    0.26541E-08    0.67920E-13   -0.43686E-13
+  1809    0.45943E-10    0.90059E-12    0.00000E+00   -0.72602E-12    0.26515E-08    0.71757E-13   -0.44196E-13
+  1810    0.45768E-10    0.90529E-12    0.00000E+00   -0.69718E-12    0.26489E-08    0.75473E-13   -0.44693E-13
+  1811    0.45590E-10    0.91017E-12    0.00000E+00   -0.66898E-12    0.26463E-08    0.79094E-13   -0.45176E-13
+  1812    0.45412E-10    0.91524E-12    0.00000E+00   -0.64146E-12    0.26438E-08    0.82657E-13   -0.45644E-13
+  1813    0.45233E-10    0.92048E-12    0.00000E+00   -0.61460E-12    0.26412E-08    0.86199E-13   -0.46098E-13
+  1814    0.45052E-10    0.92589E-12    0.00000E+00   -0.58842E-12    0.26386E-08    0.89756E-13   -0.46536E-13
+  1815    0.44871E-10    0.93147E-12    0.00000E+00   -0.56292E-12    0.26360E-08    0.93366E-13   -0.46958E-13
+  1816    0.44689E-10    0.93721E-12    0.00000E+00   -0.53813E-12    0.26334E-08    0.97065E-13   -0.47363E-13
+  1817    0.44505E-10    0.94311E-12    0.00000E+00   -0.51401E-12    0.26309E-08    0.10088E-12   -0.47751E-13
+  1818    0.44320E-10    0.94917E-12    0.00000E+00   -0.49060E-12    0.26283E-08    0.10479E-12   -0.48122E-13
+  1819    0.44132E-10    0.95540E-12    0.00000E+00   -0.46791E-12    0.26258E-08    0.10879E-12   -0.48478E-13
+  1820    0.43946E-10    0.96175E-12    0.00000E+00   -0.44593E-12    0.26232E-08    0.11283E-12   -0.48819E-13
+  1821    0.43760E-10    0.96826E-12    0.00000E+00   -0.42467E-12    0.26206E-08    0.11690E-12   -0.49147E-13
+  1822    0.43572E-10    0.97490E-12    0.00000E+00   -0.40414E-12    0.26181E-08    0.12097E-12   -0.49463E-13
+  1823    0.43387E-10    0.98169E-12    0.00000E+00   -0.38434E-12    0.26155E-08    0.12501E-12   -0.49766E-13
+  1824    0.43198E-10    0.98857E-12    0.00000E+00   -0.36526E-12    0.26130E-08    0.12902E-12   -0.50060E-13
+  1825    0.43009E-10    0.99557E-12    0.00000E+00   -0.34694E-12    0.26105E-08    0.13297E-12   -0.50342E-13
+  1826    0.42819E-10    0.10028E-11    0.00000E+00   -0.32935E-12    0.26079E-08    0.13689E-12   -0.50614E-13
+  1827    0.42630E-10    0.10101E-11    0.00000E+00   -0.31250E-12    0.26054E-08    0.14078E-12   -0.50875E-13
+  1828    0.42439E-10    0.10175E-11    0.00000E+00   -0.29641E-12    0.26029E-08    0.14463E-12   -0.51125E-13
+  1829    0.42248E-10    0.10249E-11    0.00000E+00   -0.28106E-12    0.26003E-08    0.14846E-12   -0.51364E-13
+  1830    0.42057E-10    0.10326E-11    0.00000E+00   -0.26646E-12    0.25978E-08    0.15226E-12   -0.51592E-13
+  1831    0.41866E-10    0.10403E-11    0.00000E+00   -0.25262E-12    0.25953E-08    0.15605E-12   -0.51809E-13
+  1832    0.41674E-10    0.10481E-11    0.00000E+00   -0.23954E-12    0.25928E-08    0.15983E-12   -0.52014E-13
+  1833    0.41483E-10    0.10560E-11    0.00000E+00   -0.22720E-12    0.25903E-08    0.16360E-12   -0.52207E-13
+  1834    0.41292E-10    0.10639E-11    0.00000E+00   -0.21565E-12    0.25878E-08    0.16737E-12   -0.52387E-13
+  1835    0.41100E-10    0.10720E-11    0.00000E+00   -0.20482E-12    0.25853E-08    0.17115E-12   -0.52553E-13
+  1836    0.40908E-10    0.10803E-11    0.00000E+00   -0.19478E-12    0.25828E-08    0.17494E-12   -0.52705E-13
+  1837    0.40717E-10    0.10884E-11    0.00000E+00   -0.18549E-12    0.25803E-08    0.17875E-12   -0.52842E-13
+  1838    0.40526E-10    0.10967E-11    0.00000E+00   -0.17697E-12    0.25778E-08    0.18258E-12   -0.52964E-13
+  1839    0.40334E-10    0.11051E-11    0.00000E+00   -0.16920E-12    0.25753E-08    0.18640E-12   -0.53074E-13
+  1840    0.40144E-10    0.11134E-11    0.00000E+00   -0.16220E-12    0.25728E-08    0.19018E-12   -0.53174E-13
+  1841    0.39954E-10    0.11219E-11    0.00000E+00   -0.15595E-12    0.25703E-08    0.19389E-12   -0.53267E-13
+  1842    0.39764E-10    0.11304E-11    0.00000E+00   -0.15046E-12    0.25679E-08    0.19750E-12   -0.53356E-13
+  1843    0.39574E-10    0.11389E-11    0.00000E+00   -0.14573E-12    0.25654E-08    0.20098E-12   -0.53444E-13
+  1844    0.39385E-10    0.11475E-11    0.00000E+00   -0.14174E-12    0.25629E-08    0.20430E-12   -0.53535E-13
+  1845    0.39199E-10    0.11561E-11    0.00000E+00   -0.13851E-12    0.25604E-08    0.20744E-12   -0.53630E-13
+  1846    0.39010E-10    0.11648E-11    0.00000E+00   -0.13601E-12    0.25580E-08    0.21043E-12   -0.53724E-13
+  1847    0.38823E-10    0.11735E-11    0.00000E+00   -0.13428E-12    0.25555E-08    0.21332E-12   -0.53812E-13
+  1848    0.38636E-10    0.11822E-11    0.00000E+00   -0.13327E-12    0.25531E-08    0.21615E-12   -0.53889E-13
+  1849    0.38450E-10    0.11909E-11    0.00000E+00   -0.13300E-12    0.25506E-08    0.21896E-12   -0.53948E-13
+  1850    0.38265E-10    0.11996E-11    0.00000E+00   -0.13346E-12    0.25482E-08    0.22181E-12   -0.53986E-13
+  1851    0.38078E-10    0.12084E-11    0.00000E+00   -0.13465E-12    0.25457E-08    0.22473E-12   -0.53995E-13
+  1852    0.37896E-10    0.12173E-11    0.00000E+00   -0.13657E-12    0.25433E-08    0.22777E-12   -0.53973E-13
+  1853    0.37712E-10    0.12260E-11    0.00000E+00   -0.13920E-12    0.25408E-08    0.23089E-12   -0.53921E-13
+  1854    0.37530E-10    0.12347E-11    0.00000E+00   -0.14256E-12    0.25384E-08    0.23408E-12   -0.53844E-13
+  1855    0.37349E-10    0.12433E-11    0.00000E+00   -0.14662E-12    0.25360E-08    0.23731E-12   -0.53746E-13
+  1856    0.37170E-10    0.12520E-11    0.00000E+00   -0.15137E-12    0.25335E-08    0.24055E-12   -0.53631E-13
+  1857    0.36991E-10    0.12608E-11    0.00000E+00   -0.15683E-12    0.25311E-08    0.24377E-12   -0.53504E-13
+  1858    0.36813E-10    0.12694E-11    0.00000E+00   -0.16298E-12    0.25287E-08    0.24695E-12   -0.53368E-13
+  1859    0.36637E-10    0.12781E-11    0.00000E+00   -0.16983E-12    0.25262E-08    0.25005E-12   -0.53228E-13
+  1860    0.36461E-10    0.12866E-11    0.00000E+00   -0.17734E-12    0.25238E-08    0.25310E-12   -0.53082E-13
+  1861    0.36288E-10    0.12952E-11    0.00000E+00   -0.18554E-12    0.25214E-08    0.25608E-12   -0.52931E-13
+  1862    0.36116E-10    0.13037E-11    0.00000E+00   -0.19439E-12    0.25190E-08    0.25900E-12   -0.52774E-13
+  1863    0.35943E-10    0.13122E-11    0.00000E+00   -0.20389E-12    0.25166E-08    0.26188E-12   -0.52610E-13
+  1864    0.35774E-10    0.13208E-11    0.00000E+00   -0.21405E-12    0.25142E-08    0.26471E-12   -0.52438E-13
+  1865    0.35605E-10    0.13292E-11    0.00000E+00   -0.22485E-12    0.25118E-08    0.26751E-12   -0.52258E-13
+  1866    0.35439E-10    0.13375E-11    0.00000E+00   -0.23629E-12    0.25094E-08    0.27027E-12   -0.52068E-13
+  1867    0.35272E-10    0.13458E-11    0.00000E+00   -0.24833E-12    0.25070E-08    0.27301E-12   -0.51869E-13
+  1868    0.35108E-10    0.13540E-11    0.00000E+00   -0.26101E-12    0.25046E-08    0.27572E-12   -0.51659E-13
+  1869    0.34946E-10    0.13621E-11    0.00000E+00   -0.27428E-12    0.25022E-08    0.27840E-12   -0.51437E-13
+  1870    0.34785E-10    0.13702E-11    0.00000E+00   -0.28817E-12    0.24998E-08    0.28106E-12   -0.51202E-13
+  1871    0.34625E-10    0.13783E-11    0.00000E+00   -0.30263E-12    0.24975E-08    0.28370E-12   -0.50952E-13
+  1872    0.34468E-10    0.13862E-11    0.00000E+00   -0.31769E-12    0.24951E-08    0.28633E-12   -0.50688E-13
+  1873    0.34312E-10    0.13941E-11    0.00000E+00   -0.33331E-12    0.24927E-08    0.28893E-12   -0.50410E-13
+  1874    0.34158E-10    0.14018E-11    0.00000E+00   -0.34950E-12    0.24903E-08    0.29149E-12   -0.50121E-13
+  1875    0.34006E-10    0.14095E-11    0.00000E+00   -0.36624E-12    0.24880E-08    0.29399E-12   -0.49828E-13
+  1876    0.33855E-10    0.14171E-11    0.00000E+00   -0.38351E-12    0.24856E-08    0.29642E-12   -0.49537E-13
+  1877    0.33706E-10    0.14246E-11    0.00000E+00   -0.40132E-12    0.24833E-08    0.29875E-12   -0.49253E-13
+  1878    0.33558E-10    0.14319E-11    0.00000E+00   -0.41965E-12    0.24809E-08    0.30096E-12   -0.48984E-13
+  1879    0.33413E-10    0.14391E-11    0.00000E+00   -0.43847E-12    0.24785E-08    0.30303E-12   -0.48734E-13
+  1880    0.33270E-10    0.14462E-11    0.00000E+00   -0.45781E-12    0.24762E-08    0.30494E-12   -0.48507E-13
+  1881    0.33129E-10    0.14532E-11    0.00000E+00   -0.47762E-12    0.24738E-08    0.30673E-12   -0.48295E-13
+  1882    0.32989E-10    0.14602E-11    0.00000E+00   -0.49790E-12    0.24715E-08    0.30843E-12   -0.48088E-13
+  1883    0.32852E-10    0.14669E-11    0.00000E+00   -0.51865E-12    0.24692E-08    0.31006E-12   -0.47875E-13
+  1884    0.32717E-10    0.14737E-11    0.00000E+00   -0.53985E-12    0.24668E-08    0.31165E-12   -0.47646E-13
+  1885    0.32584E-10    0.14802E-11    0.00000E+00   -0.56150E-12    0.24645E-08    0.31324E-12   -0.47391E-13
+  1886    0.32452E-10    0.14867E-11    0.00000E+00   -0.58356E-12    0.24621E-08    0.31486E-12   -0.47099E-13
+  1887    0.32322E-10    0.14930E-11    0.00000E+00   -0.60606E-12    0.24598E-08    0.31653E-12   -0.46762E-13
+  1888    0.32196E-10    0.14991E-11    0.00000E+00   -0.62895E-12    0.24575E-08    0.31824E-12   -0.46385E-13
+  1889    0.32070E-10    0.15051E-11    0.00000E+00   -0.65224E-12    0.24552E-08    0.31998E-12   -0.45976E-13
+  1890    0.31947E-10    0.15110E-11    0.00000E+00   -0.67592E-12    0.24529E-08    0.32172E-12   -0.45541E-13
+  1891    0.31827E-10    0.15168E-11    0.00000E+00   -0.69995E-12    0.24505E-08    0.32344E-12   -0.45089E-13
+  1892    0.31708E-10    0.15224E-11    0.00000E+00   -0.72436E-12    0.24482E-08    0.32513E-12   -0.44627E-13
+  1893    0.31591E-10    0.15279E-11    0.00000E+00   -0.74909E-12    0.24459E-08    0.32676E-12   -0.44161E-13
+  1894    0.31477E-10    0.15332E-11    0.00000E+00   -0.77414E-12    0.24436E-08    0.32833E-12   -0.43699E-13
+  1895    0.31364E-10    0.15384E-11    0.00000E+00   -0.79952E-12    0.24413E-08    0.32983E-12   -0.43240E-13
+  1896    0.31254E-10    0.15435E-11    0.00000E+00   -0.82521E-12    0.24390E-08    0.33127E-12   -0.42782E-13
+  1897    0.31147E-10    0.15483E-11    0.00000E+00   -0.85119E-12    0.24367E-08    0.33265E-12   -0.42324E-13
+  1898    0.31041E-10    0.15530E-11    0.00000E+00   -0.87747E-12    0.24344E-08    0.33398E-12   -0.41863E-13
+  1899    0.30938E-10    0.15576E-11    0.00000E+00   -0.90400E-12    0.24321E-08    0.33526E-12   -0.41398E-13
+  1900    0.30836E-10    0.15619E-11    0.00000E+00   -0.93080E-12    0.24298E-08    0.33650E-12   -0.40927E-13
+  1901    0.30737E-10    0.15661E-11    0.00000E+00   -0.95786E-12    0.24275E-08    0.33770E-12   -0.40449E-13
+  1902    0.30641E-10    0.15701E-11    0.00000E+00   -0.98514E-12    0.24253E-08    0.33886E-12   -0.39964E-13
+  1903    0.30546E-10    0.15739E-11    0.00000E+00   -0.10126E-11    0.24230E-08    0.33998E-12   -0.39471E-13
+  1904    0.30456E-10    0.15777E-11    0.00000E+00   -0.10402E-11    0.24207E-08    0.34105E-12   -0.38970E-13
+  1905    0.30364E-10    0.15812E-11    0.00000E+00   -0.10681E-11    0.24184E-08    0.34208E-12   -0.38461E-13
+  1906    0.30276E-10    0.15845E-11    0.00000E+00   -0.10962E-11    0.24162E-08    0.34307E-12   -0.37944E-13
+  1907    0.30191E-10    0.15878E-11    0.00000E+00   -0.11243E-11    0.24139E-08    0.34400E-12   -0.37419E-13
+  1908    0.30108E-10    0.15908E-11    0.00000E+00   -0.11527E-11    0.24116E-08    0.34489E-12   -0.36886E-13
+  1909    0.30026E-10    0.15936E-11    0.00000E+00   -0.11811E-11    0.24094E-08    0.34572E-12   -0.36352E-13
+  1910    0.29947E-10    0.15964E-11    0.00000E+00   -0.12097E-11    0.24071E-08    0.34650E-12   -0.35823E-13
+  1911    0.29871E-10    0.15989E-11    0.00000E+00   -0.12385E-11    0.24049E-08    0.34721E-12   -0.35305E-13
+  1912    0.29797E-10    0.16012E-11    0.00000E+00   -0.12672E-11    0.24026E-08    0.34787E-12   -0.34804E-13
+  1913    0.29726E-10    0.16033E-11    0.00000E+00   -0.12960E-11    0.24004E-08    0.34846E-12   -0.34327E-13
+  1914    0.29656E-10    0.16052E-11    0.00000E+00   -0.13249E-11    0.23981E-08    0.34898E-12   -0.33881E-13
+  1915    0.29589E-10    0.16070E-11    0.00000E+00   -0.13539E-11    0.23959E-08    0.34944E-12   -0.33468E-13
+  1916    0.29523E-10    0.16086E-11    0.00000E+00   -0.13829E-11    0.23936E-08    0.34983E-12   -0.33079E-13
+  1917    0.29461E-10    0.16099E-11    0.00000E+00   -0.14120E-11    0.23914E-08    0.35016E-12   -0.32702E-13
+  1918    0.29400E-10    0.16112E-11    0.00000E+00   -0.14411E-11    0.23892E-08    0.35043E-12   -0.32323E-13
+  1919    0.29342E-10    0.16122E-11    0.00000E+00   -0.14702E-11    0.23869E-08    0.35066E-12   -0.31931E-13
+  1920    0.29286E-10    0.16130E-11    0.00000E+00   -0.14993E-11    0.23847E-08    0.35084E-12   -0.31511E-13
+  1921    0.29231E-10    0.16137E-11    0.00000E+00   -0.15283E-11    0.23825E-08    0.35099E-12   -0.31052E-13
+  1922    0.29180E-10    0.16141E-11    0.00000E+00   -0.15573E-11    0.23803E-08    0.35110E-12   -0.30545E-13
+  1923    0.29130E-10    0.16144E-11    0.00000E+00   -0.15862E-11    0.23780E-08    0.35118E-12   -0.29995E-13
+  1924    0.29081E-10    0.16145E-11    0.00000E+00   -0.16151E-11    0.23758E-08    0.35122E-12   -0.29410E-13
+  1925    0.29037E-10    0.16143E-11    0.00000E+00   -0.16440E-11    0.23736E-08    0.35122E-12   -0.28801E-13
+  1926    0.28993E-10    0.16141E-11    0.00000E+00   -0.16727E-11    0.23714E-08    0.35118E-12   -0.28177E-13
+  1927    0.28950E-10    0.16137E-11    0.00000E+00   -0.17015E-11    0.23692E-08    0.35109E-12   -0.27546E-13
+  1928    0.28912E-10    0.16131E-11    0.00000E+00   -0.17298E-11    0.23670E-08    0.35096E-12   -0.26918E-13
+  1929    0.28874E-10    0.16123E-11    0.00000E+00   -0.17583E-11    0.23648E-08    0.35078E-12   -0.26299E-13
+  1930    0.28839E-10    0.16113E-11    0.00000E+00   -0.17865E-11    0.23626E-08    0.35056E-12   -0.25691E-13
+  1931    0.28807E-10    0.16100E-11    0.00000E+00   -0.18146E-11    0.23604E-08    0.35029E-12   -0.25089E-13
+  1932    0.28776E-10    0.16087E-11    0.00000E+00   -0.18425E-11    0.23582E-08    0.34998E-12   -0.24492E-13
+  1933    0.28747E-10    0.16071E-11    0.00000E+00   -0.18703E-11    0.23560E-08    0.34962E-12   -0.23897E-13
+  1934    0.28720E-10    0.16054E-11    0.00000E+00   -0.18979E-11    0.23538E-08    0.34922E-12   -0.23302E-13
+  1935    0.28695E-10    0.16034E-11    0.00000E+00   -0.19253E-11    0.23516E-08    0.34879E-12   -0.22705E-13
+  1936    0.28672E-10    0.16014E-11    0.00000E+00   -0.19525E-11    0.23495E-08    0.34831E-12   -0.22102E-13
+  1937    0.28650E-10    0.15989E-11    0.00000E+00   -0.19794E-11    0.23473E-08    0.34779E-12   -0.21496E-13
+  1938    0.28631E-10    0.15965E-11    0.00000E+00   -0.20061E-11    0.23451E-08    0.34724E-12   -0.20887E-13
+  1939    0.28614E-10    0.15938E-11    0.00000E+00   -0.20326E-11    0.23429E-08    0.34663E-12   -0.20276E-13
+  1940    0.28598E-10    0.15910E-11    0.00000E+00   -0.20589E-11    0.23408E-08    0.34599E-12   -0.19665E-13
+  1941    0.28585E-10    0.15880E-11    0.00000E+00   -0.20848E-11    0.23386E-08    0.34529E-12   -0.19055E-13
+  1942    0.28572E-10    0.15848E-11    0.00000E+00   -0.21105E-11    0.23364E-08    0.34455E-12   -0.18446E-13
+  1943    0.28562E-10    0.15815E-11    0.00000E+00   -0.21360E-11    0.23343E-08    0.34375E-12   -0.17841E-13
+  1944    0.28554E-10    0.15778E-11    0.00000E+00   -0.21611E-11    0.23321E-08    0.34292E-12   -0.17244E-13
+  1945    0.28546E-10    0.15742E-11    0.00000E+00   -0.21858E-11    0.23300E-08    0.34205E-12   -0.16660E-13
+  1946    0.28541E-10    0.15703E-11    0.00000E+00   -0.22104E-11    0.23278E-08    0.34116E-12   -0.16094E-13
+  1947    0.28536E-10    0.15663E-11    0.00000E+00   -0.22345E-11    0.23257E-08    0.34026E-12   -0.15550E-13
+  1948    0.28535E-10    0.15621E-11    0.00000E+00   -0.22584E-11    0.23235E-08    0.33936E-12   -0.15034E-13
+  1949    0.28534E-10    0.15576E-11    0.00000E+00   -0.22818E-11    0.23214E-08    0.33846E-12   -0.14551E-13
+  1950    0.28535E-10    0.15531E-11    0.00000E+00   -0.23050E-11    0.23192E-08    0.33758E-12   -0.14102E-13
+  1951    0.28538E-10    0.15485E-11    0.00000E+00   -0.23277E-11    0.23171E-08    0.33669E-12   -0.13679E-13
+  1952    0.28542E-10    0.15435E-11    0.00000E+00   -0.23501E-11    0.23150E-08    0.33578E-12   -0.13269E-13
+  1953    0.28548E-10    0.15385E-11    0.00000E+00   -0.23721E-11    0.23128E-08    0.33483E-12   -0.12861E-13
+  1954    0.28555E-10    0.15333E-11    0.00000E+00   -0.23937E-11    0.23107E-08    0.33382E-12   -0.12442E-13
+  1955    0.28563E-10    0.15280E-11    0.00000E+00   -0.24150E-11    0.23086E-08    0.33273E-12   -0.12000E-13
+  1956    0.28572E-10    0.15225E-11    0.00000E+00   -0.24358E-11    0.23064E-08    0.33155E-12   -0.11523E-13
+  1957    0.28587E-10    0.15168E-11    0.00000E+00   -0.24562E-11    0.23043E-08    0.33026E-12   -0.11002E-13
+  1958    0.28596E-10    0.15110E-11    0.00000E+00   -0.24762E-11    0.23022E-08    0.32887E-12   -0.10444E-13
+  1959    0.28610E-10    0.15050E-11    0.00000E+00   -0.24958E-11    0.23001E-08    0.32740E-12   -0.98563E-14
+  1960    0.28624E-10    0.14990E-11    0.00000E+00   -0.25150E-11    0.22980E-08    0.32586E-12   -0.92491E-14
+  1961    0.28640E-10    0.14928E-11    0.00000E+00   -0.25337E-11    0.22959E-08    0.32426E-12   -0.86311E-14
+  1962    0.28657E-10    0.14865E-11    0.00000E+00   -0.25519E-11    0.22937E-08    0.32262E-12   -0.80113E-14
+  1963    0.28675E-10    0.14800E-11    0.00000E+00   -0.25696E-11    0.22916E-08    0.32096E-12   -0.73987E-14
+  1964    0.28694E-10    0.14734E-11    0.00000E+00   -0.25869E-11    0.22895E-08    0.31928E-12   -0.68006E-14
+  1965    0.28715E-10    0.14666E-11    0.00000E+00   -0.26037E-11    0.22874E-08    0.31758E-12   -0.62160E-14
+  1966    0.28736E-10    0.14596E-11    0.00000E+00   -0.26201E-11    0.22853E-08    0.31587E-12   -0.56424E-14
+  1967    0.28759E-10    0.14526E-11    0.00000E+00   -0.26360E-11    0.22832E-08    0.31413E-12   -0.50771E-14
+  1968    0.28781E-10    0.14454E-11    0.00000E+00   -0.26514E-11    0.22812E-08    0.31236E-12   -0.45173E-14
+  1969    0.28806E-10    0.14381E-11    0.00000E+00   -0.26663E-11    0.22791E-08    0.31056E-12   -0.39604E-14
+  1970    0.28830E-10    0.14309E-11    0.00000E+00   -0.26807E-11    0.22770E-08    0.30873E-12   -0.34037E-14
+  1971    0.28856E-10    0.14234E-11    0.00000E+00   -0.26946E-11    0.22749E-08    0.30686E-12   -0.28454E-14
+  1972    0.28882E-10    0.14157E-11    0.00000E+00   -0.27079E-11    0.22728E-08    0.30496E-12   -0.22869E-14
+  1973    0.28909E-10    0.14081E-11    0.00000E+00   -0.27208E-11    0.22707E-08    0.30302E-12   -0.17305E-14
+  1974    0.28938E-10    0.14002E-11    0.00000E+00   -0.27332E-11    0.22687E-08    0.30105E-12   -0.11785E-14
+  1975    0.28966E-10    0.13923E-11    0.00000E+00   -0.27451E-11    0.22666E-08    0.29906E-12   -0.63325E-15
+  1976    0.28995E-10    0.13842E-11    0.00000E+00   -0.27564E-11    0.22645E-08    0.29704E-12   -0.97077E-16
+  1977    0.29025E-10    0.13761E-11    0.00000E+00   -0.27672E-11    0.22624E-08    0.29501E-12    0.42774E-15
+  1978    0.29055E-10    0.13679E-11    0.00000E+00   -0.27774E-11    0.22604E-08    0.29295E-12    0.93896E-15
+  1979    0.29086E-10    0.13596E-11    0.00000E+00   -0.27871E-11    0.22583E-08    0.29090E-12    0.14347E-14
+  1980    0.29118E-10    0.13512E-11    0.00000E+00   -0.27963E-11    0.22563E-08    0.28884E-12    0.19132E-14
+  1981    0.29149E-10    0.13427E-11    0.00000E+00   -0.28049E-11    0.22542E-08    0.28681E-12    0.23725E-14
+  1982    0.29181E-10    0.13341E-11    0.00000E+00   -0.28130E-11    0.22521E-08    0.28480E-12    0.28110E-14
+  1983    0.29214E-10    0.13254E-11    0.00000E+00   -0.28206E-11    0.22501E-08    0.28284E-12    0.32267E-14
+  1984    0.29247E-10    0.13167E-11    0.00000E+00   -0.28276E-11    0.22480E-08    0.28092E-12    0.36180E-14
+  1985    0.29281E-10    0.13078E-11    0.00000E+00   -0.28341E-11    0.22460E-08    0.27907E-12    0.39845E-14
+  1986    0.29314E-10    0.12989E-11    0.00000E+00   -0.28400E-11    0.22440E-08    0.27724E-12    0.43324E-14
+  1987    0.29347E-10    0.12900E-11    0.00000E+00   -0.28454E-11    0.22419E-08    0.27543E-12    0.46695E-14
+  1988    0.29381E-10    0.12810E-11    0.00000E+00   -0.28502E-11    0.22399E-08    0.27359E-12    0.50036E-14
+  1989    0.29415E-10    0.12720E-11    0.00000E+00   -0.28543E-11    0.22378E-08    0.27169E-12    0.53424E-14
+  1990    0.29450E-10    0.12629E-11    0.00000E+00   -0.28581E-11    0.22358E-08    0.26971E-12    0.56937E-14
+  1991    0.29483E-10    0.12536E-11    0.00000E+00   -0.28612E-11    0.22338E-08    0.26763E-12    0.60652E-14
+  1992    0.29516E-10    0.12444E-11    0.00000E+00   -0.28638E-11    0.22317E-08    0.26540E-12    0.64625E-14
+  1993    0.29550E-10    0.12352E-11    0.00000E+00   -0.28658E-11    0.22297E-08    0.26306E-12    0.68818E-14
+  1994    0.29584E-10    0.12258E-11    0.00000E+00   -0.28673E-11    0.22277E-08    0.26063E-12    0.73173E-14
+  1995    0.29619E-10    0.12164E-11    0.00000E+00   -0.28683E-11    0.22257E-08    0.25811E-12    0.77631E-14
+  1996    0.29652E-10    0.12069E-11    0.00000E+00   -0.28687E-11    0.22237E-08    0.25554E-12    0.82133E-14
+  1997    0.29685E-10    0.11974E-11    0.00000E+00   -0.28684E-11    0.22216E-08    0.25294E-12    0.86618E-14
+  1998    0.29719E-10    0.11880E-11    0.00000E+00   -0.28676E-11    0.22196E-08    0.25032E-12    0.91029E-14
+  1999    0.29752E-10    0.11784E-11    0.00000E+00   -0.28664E-11    0.22176E-08    0.24771E-12    0.95319E-14
+  2000    0.29784E-10    0.11689E-11    0.00000E+00   -0.28645E-11    0.22156E-08    0.24509E-12    0.99492E-14
+  2001    0.29817E-10    0.11594E-11    0.00000E+00   -0.28621E-11    0.22136E-08    0.24248E-12    0.10356E-13
+  2002    0.29849E-10    0.11498E-11    0.00000E+00   -0.28592E-11    0.22116E-08    0.23986E-12    0.10756E-13
+  2003    0.29881E-10    0.11402E-11    0.00000E+00   -0.28557E-11    0.22096E-08    0.23722E-12    0.11148E-13
+  2004    0.29913E-10    0.11306E-11    0.00000E+00   -0.28517E-11    0.22076E-08    0.23456E-12    0.11536E-13
+  2005    0.29943E-10    0.11209E-11    0.00000E+00   -0.28471E-11    0.22056E-08    0.23187E-12    0.11921E-13
+  2006    0.29974E-10    0.11114E-11    0.00000E+00   -0.28421E-11    0.22036E-08    0.22916E-12    0.12303E-13
+  2007    0.30003E-10    0.11017E-11    0.00000E+00   -0.28364E-11    0.22016E-08    0.22642E-12    0.12682E-13
+  2008    0.30033E-10    0.10920E-11    0.00000E+00   -0.28303E-11    0.21996E-08    0.22367E-12    0.13055E-13
+  2009    0.30062E-10    0.10824E-11    0.00000E+00   -0.28235E-11    0.21976E-08    0.22091E-12    0.13419E-13
+  2010    0.30089E-10    0.10728E-11    0.00000E+00   -0.28163E-11    0.21957E-08    0.21816E-12    0.13772E-13
+  2011    0.30117E-10    0.10631E-11    0.00000E+00   -0.28086E-11    0.21937E-08    0.21543E-12    0.14111E-13
+  2012    0.30144E-10    0.10535E-11    0.00000E+00   -0.28004E-11    0.21917E-08    0.21273E-12    0.14435E-13
+  2013    0.30169E-10    0.10438E-11    0.00000E+00   -0.27917E-11    0.21897E-08    0.21006E-12    0.14741E-13
+  2014    0.30195E-10    0.10343E-11    0.00000E+00   -0.27823E-11    0.21878E-08    0.20743E-12    0.15030E-13
+  2015    0.30220E-10    0.10247E-11    0.00000E+00   -0.27727E-11    0.21858E-08    0.20485E-12    0.15301E-13
+  2016    0.30245E-10    0.10152E-11    0.00000E+00   -0.27624E-11    0.21838E-08    0.20232E-12    0.15556E-13
+  2017    0.30267E-10    0.10057E-11    0.00000E+00   -0.27517E-11    0.21819E-08    0.19985E-12    0.15795E-13
+  2018    0.30289E-10    0.99622E-12    0.00000E+00   -0.27405E-11    0.21799E-08    0.19744E-12    0.16018E-13
+  2019    0.30310E-10    0.98676E-12    0.00000E+00   -0.27286E-11    0.21779E-08    0.19510E-12    0.16227E-13
+  2020    0.30331E-10    0.97732E-12    0.00000E+00   -0.27165E-11    0.21760E-08    0.19283E-12    0.16422E-13
+  2021    0.30351E-10    0.96798E-12    0.00000E+00   -0.27038E-11    0.21740E-08    0.19061E-12    0.16607E-13
+  2022    0.30369E-10    0.95866E-12    0.00000E+00   -0.26907E-11    0.21721E-08    0.18840E-12    0.16784E-13
+  2023    0.30386E-10    0.94938E-12    0.00000E+00   -0.26771E-11    0.21701E-08    0.18617E-12    0.16957E-13
+  2024    0.30403E-10    0.94014E-12    0.00000E+00   -0.26631E-11    0.21682E-08    0.18391E-12    0.17130E-13
+  2025    0.30417E-10    0.93095E-12    0.00000E+00   -0.26486E-11    0.21662E-08    0.18158E-12    0.17306E-13
+  2026    0.30432E-10    0.92181E-12    0.00000E+00   -0.26337E-11    0.21643E-08    0.17915E-12    0.17488E-13
+  2027    0.30446E-10    0.91274E-12    0.00000E+00   -0.26183E-11    0.21623E-08    0.17660E-12    0.17679E-13
+  2028    0.30457E-10    0.90372E-12    0.00000E+00   -0.26025E-11    0.21604E-08    0.17394E-12    0.17877E-13
+  2029    0.30469E-10    0.89476E-12    0.00000E+00   -0.25863E-11    0.21585E-08    0.17120E-12    0.18079E-13
+  2030    0.30478E-10    0.88586E-12    0.00000E+00   -0.25697E-11    0.21565E-08    0.16840E-12    0.18283E-13
+  2031    0.30486E-10    0.87703E-12    0.00000E+00   -0.25527E-11    0.21546E-08    0.16555E-12    0.18485E-13
+  2032    0.30494E-10    0.86826E-12    0.00000E+00   -0.25353E-11    0.21527E-08    0.16268E-12    0.18682E-13
+  2033    0.30500E-10    0.85958E-12    0.00000E+00   -0.25175E-11    0.21507E-08    0.15980E-12    0.18873E-13
+  2034    0.30506E-10    0.85097E-12    0.00000E+00   -0.24993E-11    0.21488E-08    0.15694E-12    0.19054E-13
+  2035    0.30509E-10    0.84243E-12    0.00000E+00   -0.24807E-11    0.21469E-08    0.15409E-12    0.19225E-13
+  2036    0.30511E-10    0.83397E-12    0.00000E+00   -0.24618E-11    0.21450E-08    0.15125E-12    0.19388E-13
+  2037    0.30513E-10    0.82560E-12    0.00000E+00   -0.24425E-11    0.21431E-08    0.14841E-12    0.19544E-13
+  2038    0.30511E-10    0.81730E-12    0.00000E+00   -0.24229E-11    0.21411E-08    0.14557E-12    0.19693E-13
+  2039    0.30510E-10    0.80910E-12    0.00000E+00   -0.24028E-11    0.21392E-08    0.14272E-12    0.19835E-13
+  2040    0.30508E-10    0.80098E-12    0.00000E+00   -0.23825E-11    0.21373E-08    0.13986E-12    0.19972E-13
+  2041    0.30503E-10    0.79294E-12    0.00000E+00   -0.23618E-11    0.21354E-08    0.13697E-12    0.20104E-13
+  2042    0.30498E-10    0.78501E-12    0.00000E+00   -0.23409E-11    0.21335E-08    0.13409E-12    0.20230E-13
+  2043    0.30490E-10    0.77717E-12    0.00000E+00   -0.23195E-11    0.21316E-08    0.13121E-12    0.20349E-13
+  2044    0.30483E-10    0.76942E-12    0.00000E+00   -0.22979E-11    0.21297E-08    0.12836E-12    0.20458E-13
+  2045    0.30473E-10    0.76177E-12    0.00000E+00   -0.22760E-11    0.21278E-08    0.12555E-12    0.20556E-13
+  2046    0.30463E-10    0.75422E-12    0.00000E+00   -0.22539E-11    0.21259E-08    0.12279E-12    0.20642E-13
+  2047    0.30450E-10    0.74677E-12    0.00000E+00   -0.22315E-11    0.21240E-08    0.12011E-12    0.20713E-13
+  2048    0.30436E-10    0.73943E-12    0.00000E+00   -0.22087E-11    0.21221E-08    0.11752E-12    0.20770E-13
+  2049    0.30421E-10    0.73220E-12    0.00000E+00   -0.21858E-11    0.21202E-08    0.11501E-12    0.20813E-13
+  2050    0.30404E-10    0.72507E-12    0.00000E+00   -0.21625E-11    0.21184E-08    0.11257E-12    0.20843E-13
+  2051    0.30384E-10    0.71805E-12    0.00000E+00   -0.21391E-11    0.21165E-08    0.11021E-12    0.20862E-13
+  2052    0.30365E-10    0.71115E-12    0.00000E+00   -0.21154E-11    0.21146E-08    0.10792E-12    0.20872E-13
+  2053    0.30343E-10    0.70436E-12    0.00000E+00   -0.20914E-11    0.21127E-08    0.10569E-12    0.20874E-13
+  2054    0.30320E-10    0.69768E-12    0.00000E+00   -0.20673E-11    0.21108E-08    0.10353E-12    0.20870E-13
+  2055    0.30295E-10    0.69111E-12    0.00000E+00   -0.20430E-11    0.21090E-08    0.10141E-12    0.20861E-13
+  2056    0.30269E-10    0.68467E-12    0.00000E+00   -0.20185E-11    0.21071E-08    0.99327E-13    0.20847E-13
+  2057    0.30242E-10    0.67835E-12    0.00000E+00   -0.19937E-11    0.21052E-08    0.97259E-13    0.20830E-13
+  2058    0.30213E-10    0.67214E-12    0.00000E+00   -0.19689E-11    0.21033E-08    0.95186E-13    0.20808E-13
+  2059    0.30183E-10    0.66606E-12    0.00000E+00   -0.19438E-11    0.21015E-08    0.93088E-13    0.20782E-13
+  2060    0.30151E-10    0.66008E-12    0.00000E+00   -0.19185E-11    0.20996E-08    0.90944E-13    0.20753E-13
+  2061    0.30118E-10    0.65424E-12    0.00000E+00   -0.18931E-11    0.20978E-08    0.88735E-13    0.20720E-13
+  2062    0.30083E-10    0.64853E-12    0.00000E+00   -0.18676E-11    0.20959E-08    0.86446E-13    0.20684E-13
+  2063    0.30047E-10    0.64294E-12    0.00000E+00   -0.18419E-11    0.20940E-08    0.84088E-13    0.20644E-13
+  2064    0.30008E-10    0.63748E-12    0.00000E+00   -0.18161E-11    0.20922E-08    0.81676E-13    0.20600E-13
+  2065    0.29968E-10    0.63215E-12    0.00000E+00   -0.17902E-11    0.20903E-08    0.79224E-13    0.20551E-13
+  2066    0.29928E-10    0.62695E-12    0.00000E+00   -0.17643E-11    0.20885E-08    0.76750E-13    0.20496E-13
+  2067    0.29885E-10    0.62187E-12    0.00000E+00   -0.17382E-11    0.20866E-08    0.74267E-13    0.20435E-13
+  2068    0.29840E-10    0.61692E-12    0.00000E+00   -0.17121E-11    0.20848E-08    0.71791E-13    0.20367E-13
+  2069    0.29795E-10    0.61211E-12    0.00000E+00   -0.16858E-11    0.20829E-08    0.69335E-13    0.20291E-13
+  2070    0.29747E-10    0.60743E-12    0.00000E+00   -0.16596E-11    0.20811E-08    0.66897E-13    0.20208E-13
+  2071    0.29698E-10    0.60288E-12    0.00000E+00   -0.16333E-11    0.20793E-08    0.64474E-13    0.20118E-13
+  2072    0.29648E-10    0.59847E-12    0.00000E+00   -0.16069E-11    0.20774E-08    0.62061E-13    0.20021E-13
+  2073    0.29596E-10    0.59419E-12    0.00000E+00   -0.15805E-11    0.20756E-08    0.59655E-13    0.19916E-13
+  2074    0.29543E-10    0.59004E-12    0.00000E+00   -0.15541E-11    0.20738E-08    0.57251E-13    0.19804E-13
+  2075    0.29488E-10    0.58602E-12    0.00000E+00   -0.15276E-11    0.20719E-08    0.54845E-13    0.19685E-13
+  2076    0.29431E-10    0.58214E-12    0.00000E+00   -0.15011E-11    0.20701E-08    0.52436E-13    0.19560E-13
+  2077    0.29374E-10    0.57840E-12    0.00000E+00   -0.14747E-11    0.20683E-08    0.50040E-13    0.19427E-13
+  2078    0.29315E-10    0.57479E-12    0.00000E+00   -0.14482E-11    0.20665E-08    0.47673E-13    0.19288E-13
+  2079    0.29252E-10    0.57132E-12    0.00000E+00   -0.14218E-11    0.20646E-08    0.45352E-13    0.19143E-13
+  2080    0.29191E-10    0.56798E-12    0.00000E+00   -0.13953E-11    0.20628E-08    0.43097E-13    0.18991E-13
+  2081    0.29127E-10    0.56479E-12    0.00000E+00   -0.13690E-11    0.20610E-08    0.40923E-13    0.18832E-13
+  2082    0.29062E-10    0.56172E-12    0.00000E+00   -0.13426E-11    0.20592E-08    0.38850E-13    0.18668E-13
+  2083    0.28996E-10    0.55879E-12    0.00000E+00   -0.13165E-11    0.20574E-08    0.36888E-13    0.18497E-13
+  2084    0.28927E-10    0.55601E-12    0.00000E+00   -0.12903E-11    0.20556E-08    0.35031E-13    0.18322E-13
+  2085    0.28859E-10    0.55335E-12    0.00000E+00   -0.12641E-11    0.20538E-08    0.33265E-13    0.18142E-13
+  2086    0.28788E-10    0.55083E-12    0.00000E+00   -0.12380E-11    0.20520E-08    0.31576E-13    0.17958E-13
+  2087    0.28716E-10    0.54845E-12    0.00000E+00   -0.12121E-11    0.20502E-08    0.29951E-13    0.17772E-13
+  2088    0.28642E-10    0.54620E-12    0.00000E+00   -0.11863E-11    0.20484E-08    0.28377E-13    0.17584E-13
+  2089    0.28568E-10    0.54409E-12    0.00000E+00   -0.11605E-11    0.20466E-08    0.26840E-13    0.17395E-13
+  2090    0.28491E-10    0.54211E-12    0.00000E+00   -0.11349E-11    0.20448E-08    0.25329E-13    0.17206E-13
+  2091    0.28415E-10    0.54027E-12    0.00000E+00   -0.11094E-11    0.20430E-08    0.23833E-13    0.17016E-13
+  2092    0.28336E-10    0.53855E-12    0.00000E+00   -0.10841E-11    0.20412E-08    0.22345E-13    0.16823E-13
+  2093    0.28255E-10    0.53697E-12    0.00000E+00   -0.10587E-11    0.20394E-08    0.20857E-13    0.16625E-13
+  2094    0.28174E-10    0.53553E-12    0.00000E+00   -0.10336E-11    0.20376E-08    0.19361E-13    0.16422E-13
+  2095    0.28092E-10    0.53421E-12    0.00000E+00   -0.10087E-11    0.20358E-08    0.17849E-13    0.16213E-13
+  2096    0.28008E-10    0.53304E-12    0.00000E+00   -0.98402E-12    0.20340E-08    0.16312E-13    0.15994E-13
+  2097    0.27923E-10    0.53198E-12    0.00000E+00   -0.95943E-12    0.20322E-08    0.14746E-13    0.15767E-13
+  2098    0.27837E-10    0.53106E-12    0.00000E+00   -0.93509E-12    0.20305E-08    0.13156E-13    0.15530E-13
+  2099    0.27750E-10    0.53026E-12    0.00000E+00   -0.91079E-12    0.20287E-08    0.11547E-13    0.15285E-13
+  2100    0.27662E-10    0.52961E-12    0.00000E+00   -0.88684E-12    0.20269E-08    0.99288E-14    0.15031E-13
+  2101    0.27572E-10    0.52907E-12    0.00000E+00   -0.86304E-12    0.20251E-08    0.83075E-14    0.14770E-13
+  2102    0.27481E-10    0.52866E-12    0.00000E+00   -0.83944E-12    0.20234E-08    0.66908E-14    0.14501E-13
+  2103    0.27389E-10    0.52837E-12    0.00000E+00   -0.81607E-12    0.20216E-08    0.50859E-14    0.14225E-13
+  2104    0.27297E-10    0.52821E-12    0.00000E+00   -0.79292E-12    0.20198E-08    0.34989E-14    0.13943E-13
+  2105    0.27202E-10    0.52816E-12    0.00000E+00   -0.77000E-12    0.20181E-08    0.19301E-14    0.13654E-13
+  2106    0.27107E-10    0.52825E-12    0.00000E+00   -0.74732E-12    0.20163E-08    0.37854E-15    0.13359E-13
+  2107    0.27011E-10    0.52845E-12    0.00000E+00   -0.72489E-12    0.20146E-08   -0.11567E-14    0.13056E-13
+  2108    0.26913E-10    0.52877E-12    0.00000E+00   -0.70271E-12    0.20128E-08   -0.26766E-14    0.12747E-13
+  2109    0.26816E-10    0.52921E-12    0.00000E+00   -0.68078E-12    0.20110E-08   -0.41821E-14    0.12431E-13
+  2110    0.26717E-10    0.52977E-12    0.00000E+00   -0.65912E-12    0.20093E-08   -0.56742E-14    0.12107E-13
+  2111    0.26617E-10    0.53043E-12    0.00000E+00   -0.63773E-12    0.20075E-08   -0.71514E-14    0.11776E-13
+  2112    0.26516E-10    0.53122E-12    0.00000E+00   -0.61661E-12    0.20058E-08   -0.86020E-14    0.11441E-13
+  2113    0.26414E-10    0.53210E-12    0.00000E+00   -0.59579E-12    0.20040E-08   -0.10012E-13    0.11102E-13
+  2114    0.26312E-10    0.53310E-12    0.00000E+00   -0.57525E-12    0.20023E-08   -0.11366E-13    0.10762E-13
+  2115    0.26208E-10    0.53422E-12    0.00000E+00   -0.55500E-12    0.20006E-08   -0.12651E-13    0.10423E-13
+  2116    0.26105E-10    0.53546E-12    0.00000E+00   -0.53505E-12    0.19988E-08   -0.13853E-13    0.10087E-13
+  2117    0.26000E-10    0.53683E-12    0.00000E+00   -0.51543E-12    0.19971E-08   -0.14957E-13    0.97567E-14
+  2118    0.25894E-10    0.53826E-12    0.00000E+00   -0.49609E-12    0.19953E-08   -0.15954E-13    0.94330E-14
+  2119    0.25788E-10    0.53981E-12    0.00000E+00   -0.47708E-12    0.19936E-08   -0.16853E-13    0.91154E-14
+  2120    0.25680E-10    0.54145E-12    0.00000E+00   -0.45838E-12    0.19919E-08   -0.17670E-13    0.88030E-14
+  2121    0.25572E-10    0.54321E-12    0.00000E+00   -0.44002E-12    0.19901E-08   -0.18419E-13    0.84945E-14
+  2122    0.25463E-10    0.54505E-12    0.00000E+00   -0.42198E-12    0.19884E-08   -0.19115E-13    0.81889E-14
+  2123    0.25354E-10    0.54699E-12    0.00000E+00   -0.40428E-12    0.19867E-08   -0.19774E-13    0.78850E-14
+  2124    0.25245E-10    0.54902E-12    0.00000E+00   -0.38691E-12    0.19850E-08   -0.20409E-13    0.75816E-14
+  2125    0.25134E-10    0.55116E-12    0.00000E+00   -0.36988E-12    0.19832E-08   -0.21033E-13    0.72778E-14
+  2126    0.25024E-10    0.55336E-12    0.00000E+00   -0.35320E-12    0.19815E-08   -0.21650E-13    0.69720E-14
+  2127    0.24912E-10    0.55568E-12    0.00000E+00   -0.33688E-12    0.19798E-08   -0.22261E-13    0.66631E-14
+  2128    0.24801E-10    0.55807E-12    0.00000E+00   -0.32090E-12    0.19781E-08   -0.22869E-13    0.63496E-14
+  2129    0.24688E-10    0.56054E-12    0.00000E+00   -0.30528E-12    0.19764E-08   -0.23473E-13    0.60301E-14
+  2130    0.24575E-10    0.56310E-12    0.00000E+00   -0.29002E-12    0.19747E-08   -0.24076E-13    0.57033E-14
+  2131    0.24462E-10    0.56576E-12    0.00000E+00   -0.27513E-12    0.19729E-08   -0.24679E-13    0.53680E-14
+  2132    0.24349E-10    0.56848E-12    0.00000E+00   -0.26059E-12    0.19712E-08   -0.25283E-13    0.50229E-14
+  2133    0.24235E-10    0.57129E-12    0.00000E+00   -0.24644E-12    0.19695E-08   -0.25884E-13    0.46685E-14
+  2134    0.24121E-10    0.57417E-12    0.00000E+00   -0.23266E-12    0.19678E-08   -0.26478E-13    0.43053E-14
+  2135    0.24006E-10    0.57713E-12    0.00000E+00   -0.21923E-12    0.19661E-08   -0.27061E-13    0.39340E-14
+  2136    0.23891E-10    0.58014E-12    0.00000E+00   -0.20621E-12    0.19644E-08   -0.27627E-13    0.35552E-14
+  2137    0.23776E-10    0.58324E-12    0.00000E+00   -0.19355E-12    0.19627E-08   -0.28173E-13    0.31695E-14
+  2138    0.23660E-10    0.58640E-12    0.00000E+00   -0.18128E-12    0.19610E-08   -0.28695E-13    0.27775E-14
+  2139    0.23545E-10    0.58963E-12    0.00000E+00   -0.16939E-12    0.19593E-08   -0.29189E-13    0.23798E-14
+  2140    0.23429E-10    0.59292E-12    0.00000E+00   -0.15788E-12    0.19576E-08   -0.29655E-13    0.19764E-14
+  2141    0.23314E-10    0.59625E-12    0.00000E+00   -0.14677E-12    0.19560E-08   -0.30094E-13    0.15675E-14
+  2142    0.23197E-10    0.59966E-12    0.00000E+00   -0.13604E-12    0.19543E-08   -0.30510E-13    0.11529E-14
+  2143    0.23080E-10    0.60312E-12    0.00000E+00   -0.12571E-12    0.19526E-08   -0.30902E-13    0.73268E-15
+  2144    0.22963E-10    0.60663E-12    0.00000E+00   -0.11575E-12    0.19509E-08   -0.31273E-13    0.30692E-15
+  2145    0.22847E-10    0.61020E-12    0.00000E+00   -0.10621E-12    0.19492E-08   -0.31624E-13   -0.12441E-15
+  2146    0.22730E-10    0.61381E-12    0.00000E+00   -0.97044E-13    0.19475E-08   -0.31954E-13   -0.56071E-15
+  2147    0.22613E-10    0.61747E-12    0.00000E+00   -0.88278E-13    0.19459E-08   -0.32257E-13   -0.99904E-15
+  2148    0.22498E-10    0.62119E-12    0.00000E+00   -0.79909E-13    0.19442E-08   -0.32522E-13   -0.14359E-14
+  2149    0.22382E-10    0.62495E-12    0.00000E+00   -0.71930E-13    0.19425E-08   -0.32741E-13   -0.18678E-14
+  2150    0.22265E-10    0.62874E-12    0.00000E+00   -0.64347E-13    0.19408E-08   -0.32905E-13   -0.22912E-14
+  2151    0.22149E-10    0.63257E-12    0.00000E+00   -0.57160E-13    0.19392E-08   -0.33003E-13   -0.27026E-14
+  2152    0.22033E-10    0.63644E-12    0.00000E+00   -0.50365E-13    0.19375E-08   -0.33027E-13   -0.30984E-14
+  2153    0.21917E-10    0.64034E-12    0.00000E+00   -0.43968E-13    0.19358E-08   -0.32972E-13   -0.34764E-14
+  2154    0.21801E-10    0.64427E-12    0.00000E+00   -0.37965E-13    0.19342E-08   -0.32846E-13   -0.38385E-14
+  2155    0.21686E-10    0.64823E-12    0.00000E+00   -0.32355E-13    0.19325E-08   -0.32661E-13   -0.41880E-14
+  2156    0.21571E-10    0.65222E-12    0.00000E+00   -0.27136E-13    0.19308E-08   -0.32431E-13   -0.45280E-14
+  2157    0.21456E-10    0.65623E-12    0.00000E+00   -0.22310E-13    0.19292E-08   -0.32169E-13   -0.48616E-14
+  2158    0.21342E-10    0.66027E-12    0.00000E+00   -0.17874E-13    0.19275E-08   -0.31887E-13   -0.51922E-14
+  2159    0.21227E-10    0.66433E-12    0.00000E+00   -0.13827E-13    0.19259E-08   -0.31597E-13   -0.55228E-14
+  2160    0.21113E-10    0.66840E-12    0.00000E+00   -0.10168E-13    0.19242E-08   -0.31310E-13   -0.58562E-14
+  2161    0.20999E-10    0.67249E-12    0.00000E+00   -0.68952E-14    0.19226E-08   -0.31024E-13   -0.61932E-14
+  2162    0.20886E-10    0.67660E-12    0.00000E+00   -0.40084E-14    0.19209E-08   -0.30736E-13   -0.65342E-14
+  2163    0.20773E-10    0.68071E-12    0.00000E+00   -0.15048E-14    0.19193E-08   -0.30440E-13   -0.68795E-14
+  2164    0.20660E-10    0.68483E-12    0.00000E+00    0.61693E-15    0.19176E-08   -0.30132E-13   -0.72294E-14
+  2165    0.20548E-10    0.68898E-12    0.00000E+00    0.23584E-14    0.19160E-08   -0.29808E-13   -0.75844E-14
+  2166    0.20437E-10    0.69311E-12    0.00000E+00    0.37209E-14    0.19144E-08   -0.29465E-13   -0.79448E-14
+  2167    0.20325E-10    0.69724E-12    0.00000E+00    0.47066E-14    0.19127E-08   -0.29097E-13   -0.83109E-14
+  2168    0.20214E-10    0.70139E-12    0.00000E+00    0.53180E-14    0.19111E-08   -0.28705E-13   -0.86828E-14
+  2169    0.20105E-10    0.70552E-12    0.00000E+00    0.55585E-14    0.19094E-08   -0.28288E-13   -0.90605E-14
+  2170    0.19996E-10    0.70966E-12    0.00000E+00    0.54310E-14    0.19078E-08   -0.27844E-13   -0.94441E-14
+  2171    0.19886E-10    0.71378E-12    0.00000E+00    0.49386E-14    0.19062E-08   -0.27375E-13   -0.98336E-14
+  2172    0.19778E-10    0.71790E-12    0.00000E+00    0.40840E-14    0.19046E-08   -0.26879E-13   -0.10229E-13
+  2173    0.19671E-10    0.72200E-12    0.00000E+00    0.28704E-14    0.19029E-08   -0.26355E-13   -0.10631E-13
+  2174    0.19564E-10    0.72611E-12    0.00000E+00    0.13013E-14    0.19013E-08   -0.25805E-13   -0.11038E-13
+  2175    0.19457E-10    0.73019E-12    0.00000E+00   -0.62065E-15    0.18997E-08   -0.25226E-13   -0.11450E-13
+  2176    0.19351E-10    0.73424E-12    0.00000E+00   -0.28917E-14    0.18981E-08   -0.24619E-13   -0.11867E-13
+  2177    0.19248E-10    0.73829E-12    0.00000E+00   -0.55081E-14    0.18964E-08   -0.23984E-13   -0.12286E-13
+  2178    0.19144E-10    0.74231E-12    0.00000E+00   -0.84670E-14    0.18948E-08   -0.23320E-13   -0.12707E-13
+  2179    0.19040E-10    0.74631E-12    0.00000E+00   -0.11765E-13    0.18932E-08   -0.22626E-13   -0.13129E-13
+  2180    0.18937E-10    0.75028E-12    0.00000E+00   -0.15398E-13    0.18916E-08   -0.21904E-13   -0.13552E-13
+  2181    0.18835E-10    0.75423E-12    0.00000E+00   -0.19363E-13    0.18900E-08   -0.21152E-13   -0.13972E-13
+  2182    0.18734E-10    0.75815E-12    0.00000E+00   -0.23656E-13    0.18884E-08   -0.20371E-13   -0.14389E-13
+  2183    0.18633E-10    0.76204E-12    0.00000E+00   -0.28269E-13    0.18868E-08   -0.19562E-13   -0.14799E-13
+  2184    0.18533E-10    0.76589E-12    0.00000E+00   -0.33202E-13    0.18852E-08   -0.18727E-13   -0.15200E-13
+  2185    0.18434E-10    0.76970E-12    0.00000E+00   -0.38448E-13    0.18835E-08   -0.17865E-13   -0.15588E-13
+  2186    0.18336E-10    0.77349E-12    0.00000E+00   -0.44002E-13    0.18819E-08   -0.16979E-13   -0.15960E-13
+  2187    0.18240E-10    0.77723E-12    0.00000E+00   -0.49861E-13    0.18803E-08   -0.16068E-13   -0.16315E-13
+  2188    0.18143E-10    0.78094E-12    0.00000E+00   -0.56018E-13    0.18787E-08   -0.15134E-13   -0.16650E-13
+  2189    0.18048E-10    0.78460E-12    0.00000E+00   -0.62470E-13    0.18771E-08   -0.14179E-13   -0.16967E-13
+  2190    0.17955E-10    0.78821E-12    0.00000E+00   -0.69211E-13    0.18756E-08   -0.13206E-13   -0.17269E-13
+  2191    0.17861E-10    0.79179E-12    0.00000E+00   -0.76238E-13    0.18740E-08   -0.12217E-13   -0.17561E-13
+  2192    0.17769E-10    0.79530E-12    0.00000E+00   -0.83546E-13    0.18724E-08   -0.11215E-13   -0.17845E-13
+  2193    0.17677E-10    0.79877E-12    0.00000E+00   -0.91129E-13    0.18708E-08   -0.10201E-13   -0.18125E-13
+  2194    0.17587E-10    0.80220E-12    0.00000E+00   -0.98983E-13    0.18692E-08   -0.91777E-14   -0.18405E-13
+  2195    0.17497E-10    0.80557E-12    0.00000E+00   -0.10711E-12    0.18676E-08   -0.81476E-14   -0.18685E-13
+  2196    0.17409E-10    0.80888E-12    0.00000E+00   -0.11549E-12    0.18660E-08   -0.71090E-14   -0.18969E-13
+  2197    0.17322E-10    0.81214E-12    0.00000E+00   -0.12412E-12    0.18644E-08   -0.60599E-14   -0.19254E-13
+  2198    0.17235E-10    0.81534E-12    0.00000E+00   -0.13300E-12    0.18629E-08   -0.49983E-14   -0.19541E-13
+  2199    0.17149E-10    0.81848E-12    0.00000E+00   -0.14213E-12    0.18613E-08   -0.39222E-14   -0.19831E-13
+  2200    0.17065E-10    0.82156E-12    0.00000E+00   -0.15150E-12    0.18597E-08   -0.28296E-14   -0.20122E-13
+  2201    0.16982E-10    0.82459E-12    0.00000E+00   -0.16109E-12    0.18581E-08   -0.17185E-14   -0.20415E-13
+  2202    0.16899E-10    0.82754E-12    0.00000E+00   -0.17094E-12    0.18566E-08   -0.58673E-15   -0.20710E-13
+  2203    0.16819E-10    0.83044E-12    0.00000E+00   -0.18097E-12    0.18550E-08    0.56794E-15   -0.21006E-13
+  2204    0.16738E-10    0.83327E-12    0.00000E+00   -0.19123E-12    0.18534E-08    0.17480E-14   -0.21306E-13
+  2205    0.16660E-10    0.83602E-12    0.00000E+00   -0.20169E-12    0.18518E-08    0.29557E-14   -0.21608E-13
+  2206    0.16582E-10    0.83871E-12    0.00000E+00   -0.21236E-12    0.18503E-08    0.41937E-14   -0.21914E-13
+  2207    0.16505E-10    0.84133E-12    0.00000E+00   -0.22321E-12    0.18487E-08    0.54642E-14   -0.22224E-13
+  2208    0.16430E-10    0.84389E-12    0.00000E+00   -0.23424E-12    0.18472E-08    0.67696E-14   -0.22539E-13
+  2209    0.16355E-10    0.84636E-12    0.00000E+00   -0.24547E-12    0.18456E-08    0.81115E-14   -0.22859E-13
+  2210    0.16282E-10    0.84876E-12    0.00000E+00   -0.25689E-12    0.18440E-08    0.94868E-14   -0.23182E-13
+  2211    0.16210E-10    0.85110E-12    0.00000E+00   -0.26847E-12    0.18425E-08    0.10892E-13   -0.23506E-13
+  2212    0.16139E-10    0.85334E-12    0.00000E+00   -0.28023E-12    0.18409E-08    0.12323E-13   -0.23830E-13
+  2213    0.16069E-10    0.85552E-12    0.00000E+00   -0.29214E-12    0.18394E-08    0.13775E-13   -0.24152E-13
+  2214    0.16000E-10    0.85762E-12    0.00000E+00   -0.30419E-12    0.18378E-08    0.15246E-13   -0.24470E-13
+  2215    0.15932E-10    0.85965E-12    0.00000E+00   -0.31641E-12    0.18363E-08    0.16730E-13   -0.24781E-13
+  2216    0.15865E-10    0.86158E-12    0.00000E+00   -0.32876E-12    0.18347E-08    0.18225E-13   -0.25085E-13
+  2217    0.15800E-10    0.86344E-12    0.00000E+00   -0.34124E-12    0.18332E-08    0.19728E-13   -0.25380E-13
+  2218    0.15735E-10    0.86521E-12    0.00000E+00   -0.35386E-12    0.18316E-08    0.21234E-13   -0.25664E-13
+  2219    0.15673E-10    0.86690E-12    0.00000E+00   -0.36660E-12    0.18301E-08    0.22741E-13   -0.25936E-13
+  2220    0.15611E-10    0.86852E-12    0.00000E+00   -0.37946E-12    0.18285E-08    0.24247E-13   -0.26195E-13
+  2221    0.15549E-10    0.87005E-12    0.00000E+00   -0.39244E-12    0.18270E-08    0.25747E-13   -0.26438E-13
+  2222    0.15490E-10    0.87149E-12    0.00000E+00   -0.40550E-12    0.18255E-08    0.27239E-13   -0.26665E-13
+  2223    0.15432E-10    0.87284E-12    0.00000E+00   -0.41866E-12    0.18239E-08    0.28720E-13   -0.26875E-13
+  2224    0.15374E-10    0.87412E-12    0.00000E+00   -0.43192E-12    0.18224E-08    0.30193E-13   -0.27070E-13
+  2225    0.15317E-10    0.87531E-12    0.00000E+00   -0.44525E-12    0.18209E-08    0.31660E-13   -0.27252E-13
+  2226    0.15262E-10    0.87640E-12    0.00000E+00   -0.45866E-12    0.18193E-08    0.33123E-13   -0.27425E-13
+  2227    0.15208E-10    0.87741E-12    0.00000E+00   -0.47215E-12    0.18178E-08    0.34586E-13   -0.27591E-13
+  2228    0.15155E-10    0.87832E-12    0.00000E+00   -0.48571E-12    0.18163E-08    0.36051E-13   -0.27752E-13
+  2229    0.15104E-10    0.87915E-12    0.00000E+00   -0.49930E-12    0.18148E-08    0.37521E-13   -0.27911E-13
+  2230    0.15053E-10    0.87989E-12    0.00000E+00   -0.51297E-12    0.18132E-08    0.38997E-13   -0.28071E-13
+  2231    0.15004E-10    0.88054E-12    0.00000E+00   -0.52667E-12    0.18117E-08    0.40481E-13   -0.28232E-13
+  2232    0.14955E-10    0.88110E-12    0.00000E+00   -0.54042E-12    0.18102E-08    0.41973E-13   -0.28392E-13
+  2233    0.14908E-10    0.88157E-12    0.00000E+00   -0.55419E-12    0.18087E-08    0.43473E-13   -0.28553E-13
+  2234    0.14863E-10    0.88195E-12    0.00000E+00   -0.56799E-12    0.18072E-08    0.44981E-13   -0.28713E-13
+  2235    0.14819E-10    0.88225E-12    0.00000E+00   -0.58182E-12    0.18056E-08    0.46499E-13   -0.28872E-13
+  2236    0.14776E-10    0.88245E-12    0.00000E+00   -0.59565E-12    0.18041E-08    0.48025E-13   -0.29029E-13
+  2237    0.14733E-10    0.88255E-12    0.00000E+00   -0.60950E-12    0.18026E-08    0.49562E-13   -0.29185E-13
+  2238    0.14691E-10    0.88257E-12    0.00000E+00   -0.62338E-12    0.18011E-08    0.51112E-13   -0.29340E-13
+  2239    0.14651E-10    0.88250E-12    0.00000E+00   -0.63722E-12    0.17996E-08    0.52681E-13   -0.29495E-13
+  2240    0.14610E-10    0.88234E-12    0.00000E+00   -0.65104E-12    0.17981E-08    0.54273E-13   -0.29649E-13
+  2241    0.14571E-10    0.88208E-12    0.00000E+00   -0.66486E-12    0.17966E-08    0.55891E-13   -0.29804E-13
+  2242    0.14535E-10    0.88173E-12    0.00000E+00   -0.67866E-12    0.17951E-08    0.57541E-13   -0.29960E-13
+  2243    0.14502E-10    0.88129E-12    0.00000E+00   -0.69240E-12    0.17936E-08    0.59227E-13   -0.30119E-13
+  2244    0.14467E-10    0.88076E-12    0.00000E+00   -0.70613E-12    0.17921E-08    0.60951E-13   -0.30279E-13
+  2245    0.14433E-10    0.88013E-12    0.00000E+00   -0.71982E-12    0.17906E-08    0.62708E-13   -0.30440E-13
+  2246    0.14400E-10    0.87942E-12    0.00000E+00   -0.73347E-12    0.17891E-08    0.64488E-13   -0.30599E-13
+  2247    0.14369E-10    0.87862E-12    0.00000E+00   -0.74707E-12    0.17876E-08    0.66283E-13   -0.30755E-13
+  2248    0.14338E-10    0.87772E-12    0.00000E+00   -0.76061E-12    0.17861E-08    0.68086E-13   -0.30906E-13
+  2249    0.14308E-10    0.87674E-12    0.00000E+00   -0.77407E-12    0.17846E-08    0.69887E-13   -0.31049E-13
+  2250    0.14280E-10    0.87566E-12    0.00000E+00   -0.78749E-12    0.17831E-08    0.71679E-13   -0.31182E-13
+  2251    0.14252E-10    0.87450E-12    0.00000E+00   -0.80081E-12    0.17817E-08    0.73454E-13   -0.31305E-13
+  2252    0.14225E-10    0.87324E-12    0.00000E+00   -0.81407E-12    0.17802E-08    0.75211E-13   -0.31416E-13
+  2253    0.14200E-10    0.87190E-12    0.00000E+00   -0.82724E-12    0.17787E-08    0.76947E-13   -0.31516E-13
+  2254    0.14176E-10    0.87047E-12    0.00000E+00   -0.84032E-12    0.17772E-08    0.78661E-13   -0.31604E-13
+  2255    0.14152E-10    0.86896E-12    0.00000E+00   -0.85330E-12    0.17757E-08    0.80353E-13   -0.31680E-13
+  2256    0.14130E-10    0.86735E-12    0.00000E+00   -0.86619E-12    0.17742E-08    0.82021E-13   -0.31744E-13
+  2257    0.14108E-10    0.86566E-12    0.00000E+00   -0.87897E-12    0.17728E-08    0.83664E-13   -0.31796E-13
+  2258    0.14087E-10    0.86388E-12    0.00000E+00   -0.89163E-12    0.17713E-08    0.85282E-13   -0.31836E-13
+  2259    0.14068E-10    0.86201E-12    0.00000E+00   -0.90421E-12    0.17698E-08    0.86877E-13   -0.31866E-13
+  2260    0.14049E-10    0.86006E-12    0.00000E+00   -0.91665E-12    0.17683E-08    0.88453E-13   -0.31887E-13
+  2261    0.14031E-10    0.85802E-12    0.00000E+00   -0.92895E-12    0.17669E-08    0.90015E-13   -0.31901E-13
+  2262    0.14014E-10    0.85591E-12    0.00000E+00   -0.94112E-12    0.17654E-08    0.91565E-13   -0.31909E-13
+  2263    0.13998E-10    0.85371E-12    0.00000E+00   -0.95317E-12    0.17639E-08    0.93108E-13   -0.31914E-13
+  2264    0.13982E-10    0.85142E-12    0.00000E+00   -0.96504E-12    0.17625E-08    0.94648E-13   -0.31916E-13
+  2265    0.13966E-10    0.84906E-12    0.00000E+00   -0.97678E-12    0.17610E-08    0.96186E-13   -0.31917E-13
+  2266    0.13952E-10    0.84662E-12    0.00000E+00   -0.98838E-12    0.17595E-08    0.97725E-13   -0.31917E-13
+  2267    0.13940E-10    0.84410E-12    0.00000E+00   -0.99978E-12    0.17581E-08    0.99264E-13   -0.31916E-13
+  2268    0.13928E-10    0.84149E-12    0.00000E+00   -0.10111E-11    0.17566E-08    0.10080E-12   -0.31913E-13
+  2269    0.13916E-10    0.83881E-12    0.00000E+00   -0.10223E-11    0.17552E-08    0.10234E-12   -0.31907E-13
+  2270    0.13905E-10    0.83606E-12    0.00000E+00   -0.10333E-11    0.17537E-08    0.10388E-12   -0.31900E-13
+  2271    0.13896E-10    0.83323E-12    0.00000E+00   -0.10441E-11    0.17523E-08    0.10542E-12   -0.31889E-13
+  2272    0.13887E-10    0.83033E-12    0.00000E+00   -0.10547E-11    0.17508E-08    0.10695E-12   -0.31875E-13
+  2273    0.13878E-10    0.82733E-12    0.00000E+00   -0.10651E-11    0.17494E-08    0.10850E-12   -0.31858E-13
+  2274    0.13871E-10    0.82427E-12    0.00000E+00   -0.10754E-11    0.17479E-08    0.11005E-12   -0.31839E-13
+  2275    0.13863E-10    0.82115E-12    0.00000E+00   -0.10855E-11    0.17465E-08    0.11161E-12   -0.31817E-13
+  2276    0.13858E-10    0.81795E-12    0.00000E+00   -0.10953E-11    0.17450E-08    0.11319E-12   -0.31793E-13
+  2277    0.13853E-10    0.81468E-12    0.00000E+00   -0.11050E-11    0.17436E-08    0.11479E-12   -0.31767E-13
+  2278    0.13847E-10    0.81135E-12    0.00000E+00   -0.11146E-11    0.17421E-08    0.11642E-12   -0.31739E-13
+  2279    0.13843E-10    0.80794E-12    0.00000E+00   -0.11239E-11    0.17407E-08    0.11808E-12   -0.31711E-13
+  2280    0.13839E-10    0.80448E-12    0.00000E+00   -0.11331E-11    0.17393E-08    0.11975E-12   -0.31680E-13
+  2281    0.13836E-10    0.80093E-12    0.00000E+00   -0.11420E-11    0.17378E-08    0.12144E-12   -0.31645E-13
+  2282    0.13833E-10    0.79734E-12    0.00000E+00   -0.11507E-11    0.17364E-08    0.12313E-12   -0.31604E-13
+  2283    0.13830E-10    0.79367E-12    0.00000E+00   -0.11592E-11    0.17349E-08    0.12481E-12   -0.31558E-13
+  2284    0.13829E-10    0.78996E-12    0.00000E+00   -0.11674E-11    0.17335E-08    0.12648E-12   -0.31503E-13
+  2285    0.13828E-10    0.78618E-12    0.00000E+00   -0.11755E-11    0.17321E-08    0.12811E-12   -0.31439E-13
+  2286    0.13825E-10    0.78233E-12    0.00000E+00   -0.11834E-11    0.17307E-08    0.12971E-12   -0.31365E-13
+  2287    0.13823E-10    0.77844E-12    0.00000E+00   -0.11910E-11    0.17292E-08    0.13126E-12   -0.31281E-13
+  2288    0.13825E-10    0.77448E-12    0.00000E+00   -0.11984E-11    0.17278E-08    0.13279E-12   -0.31187E-13
+  2289    0.13825E-10    0.77048E-12    0.00000E+00   -0.12056E-11    0.17264E-08    0.13427E-12   -0.31084E-13
+  2290    0.13826E-10    0.76641E-12    0.00000E+00   -0.12125E-11    0.17249E-08    0.13572E-12   -0.30974E-13
+  2291    0.13829E-10    0.76229E-12    0.00000E+00   -0.12193E-11    0.17235E-08    0.13713E-12   -0.30855E-13
+  2292    0.13834E-10    0.75813E-12    0.00000E+00   -0.12258E-11    0.17221E-08    0.13851E-12   -0.30730E-13
+  2293    0.13836E-10    0.75391E-12    0.00000E+00   -0.12321E-11    0.17207E-08    0.13985E-12   -0.30598E-13
+  2294    0.13839E-10    0.74965E-12    0.00000E+00   -0.12381E-11    0.17193E-08    0.14117E-12   -0.30460E-13
+  2295    0.13843E-10    0.74532E-12    0.00000E+00   -0.12439E-11    0.17179E-08    0.14246E-12   -0.30317E-13
+  2296    0.13845E-10    0.74098E-12    0.00000E+00   -0.12494E-11    0.17164E-08    0.14373E-12   -0.30169E-13
+  2297    0.13850E-10    0.73658E-12    0.00000E+00   -0.12548E-11    0.17150E-08    0.14498E-12   -0.30018E-13
+  2298    0.13855E-10    0.73215E-12    0.00000E+00   -0.12599E-11    0.17136E-08    0.14623E-12   -0.29864E-13
+  2299    0.13859E-10    0.72767E-12    0.00000E+00   -0.12647E-11    0.17122E-08    0.14747E-12   -0.29707E-13
+  2300    0.13865E-10    0.72314E-12    0.00000E+00   -0.12693E-11    0.17108E-08    0.14871E-12   -0.29549E-13
+  2301    0.13868E-10    0.71858E-12    0.00000E+00   -0.12737E-11    0.17094E-08    0.14994E-12   -0.29388E-13
+  2302    0.13873E-10    0.71400E-12    0.00000E+00   -0.12779E-11    0.17080E-08    0.15117E-12   -0.29226E-13
+  2303    0.13880E-10    0.70936E-12    0.00000E+00   -0.12817E-11    0.17066E-08    0.15240E-12   -0.29061E-13
+  2304    0.13885E-10    0.70470E-12    0.00000E+00   -0.12853E-11    0.17052E-08    0.15361E-12   -0.28895E-13
+  2305    0.13891E-10    0.70001E-12    0.00000E+00   -0.12887E-11    0.17038E-08    0.15481E-12   -0.28726E-13
+  2306    0.13897E-10    0.69528E-12    0.00000E+00   -0.12918E-11    0.17024E-08    0.15600E-12   -0.28554E-13
+  2307    0.13900E-10    0.69053E-12    0.00000E+00   -0.12948E-11    0.17010E-08    0.15717E-12   -0.28380E-13
+  2308    0.13907E-10    0.68575E-12    0.00000E+00   -0.12974E-11    0.16996E-08    0.15833E-12   -0.28202E-13
+  2309    0.13916E-10    0.68094E-12    0.00000E+00   -0.12998E-11    0.16982E-08    0.15949E-12   -0.28022E-13
+  2310    0.13923E-10    0.67612E-12    0.00000E+00   -0.13019E-11    0.16968E-08    0.16065E-12   -0.27837E-13
+  2311    0.13929E-10    0.67125E-12    0.00000E+00   -0.13038E-11    0.16954E-08    0.16181E-12   -0.27649E-13
+  2312    0.13936E-10    0.66638E-12    0.00000E+00   -0.13055E-11    0.16940E-08    0.16298E-12   -0.27457E-13
+  2313    0.13942E-10    0.66149E-12    0.00000E+00   -0.13069E-11    0.16927E-08    0.16416E-12   -0.27260E-13
+  2314    0.13949E-10    0.65658E-12    0.00000E+00   -0.13080E-11    0.16913E-08    0.16537E-12   -0.27058E-13
+  2315    0.13956E-10    0.65165E-12    0.00000E+00   -0.13089E-11    0.16899E-08    0.16658E-12   -0.26851E-13
+  2316    0.13962E-10    0.64671E-12    0.00000E+00   -0.13096E-11    0.16885E-08    0.16779E-12   -0.26639E-13
+  2317    0.13969E-10    0.64176E-12    0.00000E+00   -0.13100E-11    0.16871E-08    0.16899E-12   -0.26421E-13
+  2318    0.13976E-10    0.63679E-12    0.00000E+00   -0.13103E-11    0.16857E-08    0.17016E-12   -0.26198E-13
+  2319    0.13982E-10    0.63181E-12    0.00000E+00   -0.13103E-11    0.16844E-08    0.17130E-12   -0.25969E-13
+  2320    0.13989E-10    0.62683E-12    0.00000E+00   -0.13100E-11    0.16830E-08    0.17239E-12   -0.25734E-13
+  2321    0.13997E-10    0.62183E-12    0.00000E+00   -0.13094E-11    0.16816E-08    0.17343E-12   -0.25492E-13
+  2322    0.14003E-10    0.61684E-12    0.00000E+00   -0.13086E-11    0.16802E-08    0.17441E-12   -0.25246E-13
+  2323    0.14008E-10    0.61183E-12    0.00000E+00   -0.13076E-11    0.16789E-08    0.17534E-12   -0.24994E-13
+  2324    0.14015E-10    0.60684E-12    0.00000E+00   -0.13064E-11    0.16775E-08    0.17623E-12   -0.24738E-13
+  2325    0.14021E-10    0.60183E-12    0.00000E+00   -0.13049E-11    0.16761E-08    0.17708E-12   -0.24478E-13
+  2326    0.14027E-10    0.59683E-12    0.00000E+00   -0.13033E-11    0.16748E-08    0.17791E-12   -0.24214E-13
+  2327    0.14033E-10    0.59181E-12    0.00000E+00   -0.13013E-11    0.16734E-08    0.17870E-12   -0.23948E-13
+  2328    0.14041E-10    0.58682E-12    0.00000E+00   -0.12991E-11    0.16720E-08    0.17948E-12   -0.23679E-13
+  2329    0.14047E-10    0.58182E-12    0.00000E+00   -0.12967E-11    0.16707E-08    0.18024E-12   -0.23408E-13
+  2330    0.14052E-10    0.57683E-12    0.00000E+00   -0.12941E-11    0.16693E-08    0.18098E-12   -0.23134E-13
+  2331    0.14056E-10    0.57186E-12    0.00000E+00   -0.12912E-11    0.16679E-08    0.18170E-12   -0.22859E-13
+  2332    0.14061E-10    0.56689E-12    0.00000E+00   -0.12882E-11    0.16666E-08    0.18241E-12   -0.22582E-13
+  2333    0.14066E-10    0.56193E-12    0.00000E+00   -0.12849E-11    0.16652E-08    0.18310E-12   -0.22302E-13
+  2334    0.14068E-10    0.55696E-12    0.00000E+00   -0.12814E-11    0.16639E-08    0.18378E-12   -0.22021E-13
+  2335    0.14072E-10    0.55203E-12    0.00000E+00   -0.12777E-11    0.16625E-08    0.18444E-12   -0.21739E-13
+  2336    0.14076E-10    0.54710E-12    0.00000E+00   -0.12738E-11    0.16612E-08    0.18508E-12   -0.21454E-13
+  2337    0.14079E-10    0.54220E-12    0.00000E+00   -0.12695E-11    0.16598E-08    0.18572E-12   -0.21169E-13
+  2338    0.14082E-10    0.53732E-12    0.00000E+00   -0.12652E-11    0.16585E-08    0.18634E-12   -0.20882E-13
+  2339    0.14084E-10    0.53244E-12    0.00000E+00   -0.12606E-11    0.16571E-08    0.18694E-12   -0.20594E-13
+  2340    0.14086E-10    0.52759E-12    0.00000E+00   -0.12556E-11    0.16558E-08    0.18754E-12   -0.20305E-13
+  2341    0.14090E-10    0.52277E-12    0.00000E+00   -0.12509E-11    0.16544E-08    0.18812E-12   -0.20016E-13
+  2342    0.14091E-10    0.51796E-12    0.00000E+00   -0.12457E-11    0.16531E-08    0.18869E-12   -0.19725E-13
+  2343    0.14092E-10    0.51318E-12    0.00000E+00   -0.12403E-11    0.16517E-08    0.18924E-12   -0.19434E-13
+  2344    0.14093E-10    0.50842E-12    0.00000E+00   -0.12347E-11    0.16504E-08    0.18979E-12   -0.19139E-13
+  2345    0.14094E-10    0.50370E-12    0.00000E+00   -0.12290E-11    0.16491E-08    0.19032E-12   -0.18842E-13
+  2346    0.14095E-10    0.49901E-12    0.00000E+00   -0.12231E-11    0.16477E-08    0.19084E-12   -0.18539E-13
+  2347    0.14096E-10    0.49434E-12    0.00000E+00   -0.12169E-11    0.16464E-08    0.19135E-12   -0.18231E-13
+  2348    0.14095E-10    0.48971E-12    0.00000E+00   -0.12107E-11    0.16451E-08    0.19185E-12   -0.17916E-13
+  2349    0.14096E-10    0.48510E-12    0.00000E+00   -0.12042E-11    0.16437E-08    0.19234E-12   -0.17593E-13
+  2350    0.14093E-10    0.48053E-12    0.00000E+00   -0.11976E-11    0.16424E-08    0.19282E-12   -0.17265E-13
+  2351    0.14090E-10    0.47599E-12    0.00000E+00   -0.11907E-11    0.16411E-08    0.19327E-12   -0.16930E-13
+  2352    0.14088E-10    0.47149E-12    0.00000E+00   -0.11836E-11    0.16397E-08    0.19370E-12   -0.16592E-13
+  2353    0.14085E-10    0.46702E-12    0.00000E+00   -0.11765E-11    0.16384E-08    0.19410E-12   -0.16250E-13
+  2354    0.14083E-10    0.46260E-12    0.00000E+00   -0.11692E-11    0.16371E-08    0.19446E-12   -0.15907E-13
+  2355    0.14079E-10    0.45821E-12    0.00000E+00   -0.11618E-11    0.16358E-08    0.19478E-12   -0.15563E-13
+  2356    0.14075E-10    0.45387E-12    0.00000E+00   -0.11541E-11    0.16344E-08    0.19506E-12   -0.15220E-13
+  2357    0.14070E-10    0.44956E-12    0.00000E+00   -0.11463E-11    0.16331E-08    0.19529E-12   -0.14877E-13
+  2358    0.14065E-10    0.44528E-12    0.00000E+00   -0.11385E-11    0.16318E-08    0.19549E-12   -0.14534E-13
+  2359    0.14059E-10    0.44105E-12    0.00000E+00   -0.11304E-11    0.16305E-08    0.19565E-12   -0.14191E-13
+  2360    0.14053E-10    0.43688E-12    0.00000E+00   -0.11222E-11    0.16292E-08    0.19578E-12   -0.13849E-13
+  2361    0.14047E-10    0.43275E-12    0.00000E+00   -0.11139E-11    0.16278E-08    0.19589E-12   -0.13507E-13
+  2362    0.14040E-10    0.42866E-12    0.00000E+00   -0.11054E-11    0.16265E-08    0.19597E-12   -0.13165E-13
+  2363    0.14032E-10    0.42462E-12    0.00000E+00   -0.10968E-11    0.16252E-08    0.19604E-12   -0.12823E-13
+  2364    0.14024E-10    0.42062E-12    0.00000E+00   -0.10881E-11    0.16239E-08    0.19609E-12   -0.12481E-13
+  2365    0.14016E-10    0.41669E-12    0.00000E+00   -0.10793E-11    0.16226E-08    0.19612E-12   -0.12139E-13
+  2366    0.14006E-10    0.41279E-12    0.00000E+00   -0.10703E-11    0.16213E-08    0.19614E-12   -0.11796E-13
+  2367    0.13997E-10    0.40894E-12    0.00000E+00   -0.10612E-11    0.16200E-08    0.19614E-12   -0.11453E-13
+  2368    0.13987E-10    0.40514E-12    0.00000E+00   -0.10520E-11    0.16187E-08    0.19613E-12   -0.11110E-13
+  2369    0.13976E-10    0.40141E-12    0.00000E+00   -0.10428E-11    0.16174E-08    0.19611E-12   -0.10765E-13
+  2370    0.13964E-10    0.39771E-12    0.00000E+00   -0.10335E-11    0.16161E-08    0.19607E-12   -0.10420E-13
+  2371    0.13953E-10    0.39408E-12    0.00000E+00   -0.10239E-11    0.16148E-08    0.19601E-12   -0.10075E-13
+  2372    0.13941E-10    0.39049E-12    0.00000E+00   -0.10143E-11    0.16135E-08    0.19595E-12   -0.97295E-14
+  2373    0.13927E-10    0.38697E-12    0.00000E+00   -0.10047E-11    0.16122E-08    0.19587E-12   -0.93844E-14
+  2374    0.13914E-10    0.38350E-12    0.00000E+00   -0.99484E-12    0.16109E-08    0.19578E-12   -0.90400E-14
+  2375    0.13899E-10    0.38009E-12    0.00000E+00   -0.98503E-12    0.16096E-08    0.19568E-12   -0.86967E-14
+  2376    0.13885E-10    0.37673E-12    0.00000E+00   -0.97522E-12    0.16083E-08    0.19556E-12   -0.83548E-14
+  2377    0.13869E-10    0.37343E-12    0.00000E+00   -0.96521E-12    0.16070E-08    0.19544E-12   -0.80143E-14
+  2378    0.13854E-10    0.37019E-12    0.00000E+00   -0.95519E-12    0.16057E-08    0.19530E-12   -0.76742E-14
+  2379    0.13837E-10    0.36701E-12    0.00000E+00   -0.94510E-12    0.16044E-08    0.19514E-12   -0.73329E-14
+  2380    0.13821E-10    0.36388E-12    0.00000E+00   -0.93497E-12    0.16031E-08    0.19496E-12   -0.69891E-14
+  2381    0.13804E-10    0.36081E-12    0.00000E+00   -0.92475E-12    0.16018E-08    0.19476E-12   -0.66413E-14
+  2382    0.13786E-10    0.35781E-12    0.00000E+00   -0.91450E-12    0.16005E-08    0.19453E-12   -0.62880E-14
+  2383    0.13767E-10    0.35486E-12    0.00000E+00   -0.90416E-12    0.15993E-08    0.19427E-12   -0.59278E-14
+  2384    0.13748E-10    0.35198E-12    0.00000E+00   -0.89381E-12    0.15980E-08    0.19398E-12   -0.55598E-14
+  2385    0.13728E-10    0.34915E-12    0.00000E+00   -0.88342E-12    0.15967E-08    0.19367E-12   -0.51857E-14
+  2386    0.13708E-10    0.34639E-12    0.00000E+00   -0.87299E-12    0.15954E-08    0.19332E-12   -0.48077E-14
+  2387    0.13687E-10    0.34368E-12    0.00000E+00   -0.86252E-12    0.15941E-08    0.19294E-12   -0.44280E-14
+  2388    0.13665E-10    0.34106E-12    0.00000E+00   -0.85203E-12    0.15929E-08    0.19253E-12   -0.40489E-14
+  2389    0.13643E-10    0.33847E-12    0.00000E+00   -0.84151E-12    0.15916E-08    0.19210E-12   -0.36726E-14
+  2390    0.13621E-10    0.33596E-12    0.00000E+00   -0.83099E-12    0.15903E-08    0.19164E-12   -0.33014E-14
+  2391    0.13597E-10    0.33352E-12    0.00000E+00   -0.82044E-12    0.15890E-08    0.19115E-12   -0.29369E-14
+  2392    0.13573E-10    0.33113E-12    0.00000E+00   -0.80989E-12    0.15878E-08    0.19063E-12   -0.25788E-14
+  2393    0.13550E-10    0.32880E-12    0.00000E+00   -0.79933E-12    0.15865E-08    0.19010E-12   -0.22260E-14
+  2394    0.13524E-10    0.32654E-12    0.00000E+00   -0.78876E-12    0.15852E-08    0.18954E-12   -0.18775E-14
+  2395    0.13499E-10    0.32435E-12    0.00000E+00   -0.77821E-12    0.15839E-08    0.18897E-12   -0.15325E-14
+  2396    0.13473E-10    0.32222E-12    0.00000E+00   -0.76765E-12    0.15827E-08    0.18839E-12   -0.11898E-14
+  2397    0.13447E-10    0.32015E-12    0.00000E+00   -0.75711E-12    0.15814E-08    0.18779E-12   -0.84860E-15
+  2398    0.13419E-10    0.31815E-12    0.00000E+00   -0.74658E-12    0.15801E-08    0.18718E-12   -0.50802E-15
+  2399    0.13393E-10    0.31620E-12    0.00000E+00   -0.73607E-12    0.15789E-08    0.18656E-12   -0.16795E-15
+  2400    0.13365E-10    0.31433E-12    0.00000E+00   -0.72557E-12    0.15776E-08    0.18593E-12    0.17155E-15
+  2401    0.13336E-10    0.31252E-12    0.00000E+00   -0.71510E-12    0.15764E-08    0.18529E-12    0.51044E-15
+  2402    0.13308E-10    0.31077E-12    0.00000E+00   -0.70466E-12    0.15751E-08    0.18464E-12    0.84867E-15
+  2403    0.13278E-10    0.30908E-12    0.00000E+00   -0.69424E-12    0.15738E-08    0.18397E-12    0.11862E-14
+  2404    0.13248E-10    0.30747E-12    0.00000E+00   -0.68387E-12    0.15726E-08    0.18329E-12    0.15229E-14
+  2405    0.13217E-10    0.30591E-12    0.00000E+00   -0.67354E-12    0.15713E-08    0.18260E-12    0.18588E-14
+  2406    0.13187E-10    0.30442E-12    0.00000E+00   -0.66325E-12    0.15701E-08    0.18189E-12    0.21936E-14
+  2407    0.13155E-10    0.30300E-12    0.00000E+00   -0.65300E-12    0.15688E-08    0.18116E-12    0.25270E-14
+  2408    0.13123E-10    0.30164E-12    0.00000E+00   -0.64280E-12    0.15676E-08    0.18043E-12    0.28587E-14
+  2409    0.13090E-10    0.30033E-12    0.00000E+00   -0.63267E-12    0.15663E-08    0.17970E-12    0.31884E-14
+  2410    0.13058E-10    0.29910E-12    0.00000E+00   -0.62258E-12    0.15651E-08    0.17895E-12    0.35157E-14
+  2411    0.13025E-10    0.29792E-12    0.00000E+00   -0.61257E-12    0.15638E-08    0.17821E-12    0.38405E-14
+  2412    0.12990E-10    0.29681E-12    0.00000E+00   -0.60260E-12    0.15626E-08    0.17746E-12    0.41626E-14
+  2413    0.12956E-10    0.29576E-12    0.00000E+00   -0.59272E-12    0.15613E-08    0.17670E-12    0.44830E-14
+  2414    0.12921E-10    0.29477E-12    0.00000E+00   -0.58290E-12    0.15601E-08    0.17593E-12    0.48028E-14
+  2415    0.12886E-10    0.29384E-12    0.00000E+00   -0.57316E-12    0.15589E-08    0.17514E-12    0.51233E-14
+  2416    0.12851E-10    0.29298E-12    0.00000E+00   -0.56350E-12    0.15576E-08    0.17432E-12    0.54454E-14
+  2417    0.12815E-10    0.29217E-12    0.00000E+00   -0.55390E-12    0.15564E-08    0.17346E-12    0.57705E-14
+  2418    0.12779E-10    0.29142E-12    0.00000E+00   -0.54441E-12    0.15551E-08    0.17256E-12    0.60997E-14
+  2419    0.12742E-10    0.29072E-12    0.00000E+00   -0.53500E-12    0.15539E-08    0.17162E-12    0.64336E-14
+  2420    0.12705E-10    0.29010E-12    0.00000E+00   -0.52568E-12    0.15527E-08    0.17063E-12    0.67705E-14
+  2421    0.12667E-10    0.28953E-12    0.00000E+00   -0.51645E-12    0.15514E-08    0.16960E-12    0.71079E-14
+  2422    0.12630E-10    0.28902E-12    0.00000E+00   -0.50731E-12    0.15502E-08    0.16856E-12    0.74438E-14
+  2423    0.12591E-10    0.28857E-12    0.00000E+00   -0.49828E-12    0.15490E-08    0.16749E-12    0.77757E-14
+  2424    0.12552E-10    0.28817E-12    0.00000E+00   -0.48934E-12    0.15477E-08    0.16641E-12    0.81014E-14
+  2425    0.12514E-10    0.28785E-12    0.00000E+00   -0.48051E-12    0.15465E-08    0.16532E-12    0.84185E-14
+  2426    0.12474E-10    0.28757E-12    0.00000E+00   -0.47179E-12    0.15453E-08    0.16424E-12    0.87254E-14
+  2427    0.12434E-10    0.28734E-12    0.00000E+00   -0.46317E-12    0.15441E-08    0.16316E-12    0.90231E-14
+  2428    0.12395E-10    0.28718E-12    0.00000E+00   -0.45467E-12    0.15428E-08    0.16208E-12    0.93129E-14
+  2429    0.12354E-10    0.28705E-12    0.00000E+00   -0.44629E-12    0.15416E-08    0.16100E-12    0.95965E-14
+  2430    0.12314E-10    0.28700E-12    0.00000E+00   -0.43802E-12    0.15404E-08    0.15992E-12    0.98753E-14
+  2431    0.12272E-10    0.28700E-12    0.00000E+00   -0.42987E-12    0.15392E-08    0.15883E-12    0.10151E-13
+  2432    0.12232E-10    0.28704E-12    0.00000E+00   -0.42184E-12    0.15380E-08    0.15774E-12    0.10425E-13
+  2433    0.12189E-10    0.28714E-12    0.00000E+00   -0.41394E-12    0.15367E-08    0.15663E-12    0.10698E-13
+  2434    0.12148E-10    0.28728E-12    0.00000E+00   -0.40616E-12    0.15355E-08    0.15552E-12    0.10971E-13
+  2435    0.12106E-10    0.28748E-12    0.00000E+00   -0.39851E-12    0.15343E-08    0.15440E-12    0.11243E-13
+  2436    0.12064E-10    0.28773E-12    0.00000E+00   -0.39099E-12    0.15331E-08    0.15328E-12    0.11514E-13
+  2437    0.12022E-10    0.28803E-12    0.00000E+00   -0.38361E-12    0.15319E-08    0.15214E-12    0.11783E-13
+  2438    0.11979E-10    0.28837E-12    0.00000E+00   -0.37635E-12    0.15307E-08    0.15099E-12    0.12050E-13
+  2439    0.11936E-10    0.28877E-12    0.00000E+00   -0.36924E-12    0.15295E-08    0.14984E-12    0.12315E-13
+  2440    0.11894E-10    0.28921E-12    0.00000E+00   -0.36226E-12    0.15282E-08    0.14867E-12    0.12577E-13
+  2441    0.11850E-10    0.28969E-12    0.00000E+00   -0.35543E-12    0.15270E-08    0.14750E-12    0.12837E-13
+  2442    0.11807E-10    0.29023E-12    0.00000E+00   -0.34874E-12    0.15258E-08    0.14632E-12    0.13094E-13
+  2443    0.11763E-10    0.29081E-12    0.00000E+00   -0.34218E-12    0.15246E-08    0.14514E-12    0.13348E-13
+  2444    0.11719E-10    0.29143E-12    0.00000E+00   -0.33577E-12    0.15234E-08    0.14396E-12    0.13599E-13
+  2445    0.11675E-10    0.29210E-12    0.00000E+00   -0.32952E-12    0.15222E-08    0.14278E-12    0.13848E-13
+  2446    0.11631E-10    0.29280E-12    0.00000E+00   -0.32340E-12    0.15210E-08    0.14160E-12    0.14094E-13
+  2447    0.11587E-10    0.29354E-12    0.00000E+00   -0.31743E-12    0.15198E-08    0.14042E-12    0.14337E-13
+  2448    0.11542E-10    0.29432E-12    0.00000E+00   -0.31163E-12    0.15186E-08    0.13925E-12    0.14577E-13
+  2449    0.11498E-10    0.29516E-12    0.00000E+00   -0.30597E-12    0.15174E-08    0.13806E-12    0.14816E-13
+  2450    0.11453E-10    0.29603E-12    0.00000E+00   -0.30045E-12    0.15162E-08    0.13686E-12    0.15052E-13
+  2451    0.11408E-10    0.29692E-12    0.00000E+00   -0.29510E-12    0.15150E-08    0.13563E-12    0.15288E-13
+  2452    0.11362E-10    0.29786E-12    0.00000E+00   -0.28990E-12    0.15138E-08    0.13437E-12    0.15522E-13
+  2453    0.11318E-10    0.29883E-12    0.00000E+00   -0.28485E-12    0.15126E-08    0.13306E-12    0.15757E-13
+  2454    0.11273E-10    0.29984E-12    0.00000E+00   -0.27996E-12    0.15114E-08    0.13171E-12    0.15990E-13
+  2455    0.11228E-10    0.30088E-12    0.00000E+00   -0.27523E-12    0.15103E-08    0.13032E-12    0.16222E-13
+  2456    0.11183E-10    0.30196E-12    0.00000E+00   -0.27065E-12    0.15091E-08    0.12891E-12    0.16452E-13
+  2457    0.11138E-10    0.30307E-12    0.00000E+00   -0.26624E-12    0.15079E-08    0.12748E-12    0.16677E-13
+  2458    0.11092E-10    0.30420E-12    0.00000E+00   -0.26199E-12    0.15067E-08    0.12605E-12    0.16897E-13
+  2459    0.11048E-10    0.30537E-12    0.00000E+00   -0.25791E-12    0.15055E-08    0.12462E-12    0.17110E-13
+  2460    0.11003E-10    0.30656E-12    0.00000E+00   -0.25397E-12    0.15043E-08    0.12321E-12    0.17314E-13
+  2461    0.10957E-10    0.30778E-12    0.00000E+00   -0.25020E-12    0.15031E-08    0.12182E-12    0.17510E-13
+  2462    0.10913E-10    0.30904E-12    0.00000E+00   -0.24659E-12    0.15020E-08    0.12046E-12    0.17697E-13
+  2463    0.10868E-10    0.31031E-12    0.00000E+00   -0.24313E-12    0.15008E-08    0.11912E-12    0.17877E-13
+  2464    0.10823E-10    0.31160E-12    0.00000E+00   -0.23985E-12    0.14996E-08    0.11779E-12    0.18051E-13
+  2465    0.10779E-10    0.31292E-12    0.00000E+00   -0.23672E-12    0.14984E-08    0.11647E-12    0.18220E-13
+  2466    0.10734E-10    0.31428E-12    0.00000E+00   -0.23375E-12    0.14972E-08    0.11515E-12    0.18386E-13
+  2467    0.10689E-10    0.31565E-12    0.00000E+00   -0.23094E-12    0.14961E-08    0.11382E-12    0.18549E-13
+  2468    0.10644E-10    0.31703E-12    0.00000E+00   -0.22830E-12    0.14949E-08    0.11249E-12    0.18711E-13
+  2469    0.10599E-10    0.31844E-12    0.00000E+00   -0.22582E-12    0.14937E-08    0.11114E-12    0.18872E-13
+  2470    0.10554E-10    0.31987E-12    0.00000E+00   -0.22351E-12    0.14926E-08    0.10979E-12    0.19030E-13
+  2471    0.10510E-10    0.32131E-12    0.00000E+00   -0.22135E-12    0.14914E-08    0.10844E-12    0.19187E-13
+  2472    0.10466E-10    0.32277E-12    0.00000E+00   -0.21935E-12    0.14902E-08    0.10708E-12    0.19341E-13
+  2473    0.10422E-10    0.32425E-12    0.00000E+00   -0.21750E-12    0.14890E-08    0.10572E-12    0.19492E-13
+  2474    0.10378E-10    0.32575E-12    0.00000E+00   -0.21582E-12    0.14879E-08    0.10436E-12    0.19640E-13
+  2475    0.10334E-10    0.32726E-12    0.00000E+00   -0.21430E-12    0.14867E-08    0.10301E-12    0.19784E-13
+  2476    0.10291E-10    0.32878E-12    0.00000E+00   -0.21295E-12    0.14855E-08    0.10165E-12    0.19925E-13
+  2477    0.10247E-10    0.33031E-12    0.00000E+00   -0.21175E-12    0.14844E-08    0.10030E-12    0.20063E-13
+  2478    0.10204E-10    0.33185E-12    0.00000E+00   -0.21070E-12    0.14832E-08    0.98952E-13    0.20199E-13
+  2479    0.10160E-10    0.33340E-12    0.00000E+00   -0.20982E-12    0.14821E-08    0.97607E-13    0.20331E-13
+  2480    0.10118E-10    0.33496E-12    0.00000E+00   -0.20907E-12    0.14809E-08    0.96266E-13    0.20460E-13
+  2481    0.10074E-10    0.33653E-12    0.00000E+00   -0.20850E-12    0.14797E-08    0.94928E-13    0.20588E-13
+  2482    0.10032E-10    0.33810E-12    0.00000E+00   -0.20807E-12    0.14786E-08    0.93594E-13    0.20713E-13
+  2483    0.99890E-11    0.33969E-12    0.00000E+00   -0.20780E-12    0.14774E-08    0.92260E-13    0.20835E-13
+  2484    0.99467E-11    0.34127E-12    0.00000E+00   -0.20769E-12    0.14763E-08    0.90922E-13    0.20954E-13
+  2485    0.99052E-11    0.34287E-12    0.00000E+00   -0.20771E-12    0.14751E-08    0.89576E-13    0.21070E-13
+  2486    0.98638E-11    0.34446E-12    0.00000E+00   -0.20789E-12    0.14740E-08    0.88217E-13    0.21183E-13
+  2487    0.98223E-11    0.34605E-12    0.00000E+00   -0.20823E-12    0.14728E-08    0.86841E-13    0.21292E-13
+  2488    0.97815E-11    0.34764E-12    0.00000E+00   -0.20870E-12    0.14717E-08    0.85444E-13    0.21396E-13
+  2489    0.97405E-11    0.34924E-12    0.00000E+00   -0.20932E-12    0.14705E-08    0.84024E-13    0.21496E-13
+  2490    0.97000E-11    0.35083E-12    0.00000E+00   -0.21009E-12    0.14694E-08    0.82586E-13    0.21591E-13
+  2491    0.96598E-11    0.35242E-12    0.00000E+00   -0.21099E-12    0.14682E-08    0.81139E-13    0.21681E-13
+  2492    0.96196E-11    0.35400E-12    0.00000E+00   -0.21205E-12    0.14671E-08    0.79690E-13    0.21765E-13
+  2493    0.95800E-11    0.35560E-12    0.00000E+00   -0.21323E-12    0.14659E-08    0.78247E-13    0.21844E-13
+  2494    0.95407E-11    0.35717E-12    0.00000E+00   -0.21456E-12    0.14648E-08    0.76818E-13    0.21916E-13
+  2495    0.95016E-11    0.35874E-12    0.00000E+00   -0.21602E-12    0.14636E-08    0.75411E-13    0.21982E-13
+  2496    0.94628E-11    0.36031E-12    0.00000E+00   -0.21762E-12    0.14625E-08    0.74032E-13    0.22041E-13
+  2497    0.94244E-11    0.36187E-12    0.00000E+00   -0.21935E-12    0.14614E-08    0.72679E-13    0.22095E-13
+  2498    0.93862E-11    0.36341E-12    0.00000E+00   -0.22121E-12    0.14602E-08    0.71347E-13    0.22143E-13
+  2499    0.93486E-11    0.36496E-12    0.00000E+00   -0.22321E-12    0.14591E-08    0.70034E-13    0.22186E-13
+  2500    0.93111E-11    0.36648E-12    0.00000E+00   -0.22533E-12    0.14580E-08    0.68734E-13    0.22226E-13
+  2501    0.92741E-11    0.36799E-12    0.00000E+00   -0.22757E-12    0.14568E-08    0.67444E-13    0.22262E-13
+  2502    0.92373E-11    0.36950E-12    0.00000E+00   -0.22994E-12    0.14557E-08    0.66159E-13    0.22296E-13
+  2503    0.92009E-11    0.37099E-12    0.00000E+00   -0.23242E-12    0.14546E-08    0.64877E-13    0.22328E-13
+  2504    0.91649E-11    0.37247E-12    0.00000E+00   -0.23504E-12    0.14534E-08    0.63596E-13    0.22357E-13
+  2505    0.91294E-11    0.37393E-12    0.00000E+00   -0.23776E-12    0.14523E-08    0.62317E-13    0.22385E-13
+  2506    0.90941E-11    0.37539E-12    0.00000E+00   -0.24061E-12    0.14512E-08    0.61041E-13    0.22410E-13
+  2507    0.90591E-11    0.37682E-12    0.00000E+00   -0.24356E-12    0.14500E-08    0.59767E-13    0.22432E-13
+  2508    0.90247E-11    0.37824E-12    0.00000E+00   -0.24662E-12    0.14489E-08    0.58496E-13    0.22452E-13
+  2509    0.89906E-11    0.37963E-12    0.00000E+00   -0.24981E-12    0.14478E-08    0.57227E-13    0.22468E-13
+  2510    0.89569E-11    0.38101E-12    0.00000E+00   -0.25310E-12    0.14467E-08    0.55962E-13    0.22482E-13
+  2511    0.89237E-11    0.38237E-12    0.00000E+00   -0.25646E-12    0.14455E-08    0.54701E-13    0.22492E-13
+  2512    0.88907E-11    0.38370E-12    0.00000E+00   -0.25995E-12    0.14444E-08    0.53446E-13    0.22499E-13
+  2513    0.88583E-11    0.38505E-12    0.00000E+00   -0.26354E-12    0.14433E-08    0.52197E-13    0.22504E-13
+  2514    0.88262E-11    0.38633E-12    0.00000E+00   -0.26724E-12    0.14422E-08    0.50957E-13    0.22506E-13
+  2515    0.87945E-11    0.38760E-12    0.00000E+00   -0.27102E-12    0.14411E-08    0.49726E-13    0.22506E-13
+  2516    0.87633E-11    0.38885E-12    0.00000E+00   -0.27491E-12    0.14399E-08    0.48506E-13    0.22505E-13
+  2517    0.87325E-11    0.39008E-12    0.00000E+00   -0.27887E-12    0.14388E-08    0.47296E-13    0.22501E-13
+  2518    0.87021E-11    0.39129E-12    0.00000E+00   -0.28292E-12    0.14377E-08    0.46096E-13    0.22494E-13
+  2519    0.86721E-11    0.39246E-12    0.00000E+00   -0.28706E-12    0.14366E-08    0.44903E-13    0.22485E-13
+  2520    0.86426E-11    0.39361E-12    0.00000E+00   -0.29128E-12    0.14355E-08    0.43712E-13    0.22472E-13
+  2521    0.86134E-11    0.39474E-12    0.00000E+00   -0.29558E-12    0.14344E-08    0.42523E-13    0.22454E-13
+  2522    0.85848E-11    0.39584E-12    0.00000E+00   -0.29995E-12    0.14333E-08    0.41331E-13    0.22432E-13
+  2523    0.85566E-11    0.39692E-12    0.00000E+00   -0.30441E-12    0.14321E-08    0.40134E-13    0.22403E-13
+  2524    0.85287E-11    0.39796E-12    0.00000E+00   -0.30894E-12    0.14310E-08    0.38931E-13    0.22369E-13
+  2525    0.85014E-11    0.39897E-12    0.00000E+00   -0.31353E-12    0.14299E-08    0.37725E-13    0.22328E-13
+  2526    0.84746E-11    0.39995E-12    0.00000E+00   -0.31818E-12    0.14288E-08    0.36524E-13    0.22282E-13
+  2527    0.84479E-11    0.40090E-12    0.00000E+00   -0.32292E-12    0.14277E-08    0.35332E-13    0.22230E-13
+  2528    0.84219E-11    0.40183E-12    0.00000E+00   -0.32771E-12    0.14266E-08    0.34155E-13    0.22174E-13
+  2529    0.83964E-11    0.40273E-12    0.00000E+00   -0.33256E-12    0.14255E-08    0.33000E-13    0.22113E-13
+  2530    0.83714E-11    0.40360E-12    0.00000E+00   -0.33746E-12    0.14244E-08    0.31871E-13    0.22047E-13
+  2531    0.83467E-11    0.40443E-12    0.00000E+00   -0.34241E-12    0.14233E-08    0.30774E-13    0.21978E-13
+  2532    0.83225E-11    0.40524E-12    0.00000E+00   -0.34742E-12    0.14222E-08    0.29704E-13    0.21906E-13
+  2533    0.82989E-11    0.40600E-12    0.00000E+00   -0.35248E-12    0.14211E-08    0.28658E-13    0.21830E-13
+  2534    0.82756E-11    0.40674E-12    0.00000E+00   -0.35758E-12    0.14200E-08    0.27632E-13    0.21751E-13
+  2535    0.82527E-11    0.40743E-12    0.00000E+00   -0.36274E-12    0.14189E-08    0.26620E-13    0.21670E-13
+  2536    0.82302E-11    0.40810E-12    0.00000E+00   -0.36792E-12    0.14178E-08    0.25618E-13    0.21587E-13
+  2537    0.82082E-11    0.40874E-12    0.00000E+00   -0.37314E-12    0.14167E-08    0.24622E-13    0.21501E-13
+  2538    0.81867E-11    0.40934E-12    0.00000E+00   -0.37839E-12    0.14156E-08    0.23627E-13    0.21413E-13
+  2539    0.81657E-11    0.40991E-12    0.00000E+00   -0.38368E-12    0.14145E-08    0.22636E-13    0.21324E-13
+  2540    0.81450E-11    0.41043E-12    0.00000E+00   -0.38902E-12    0.14134E-08    0.21650E-13    0.21232E-13
+  2541    0.81248E-11    0.41093E-12    0.00000E+00   -0.39435E-12    0.14124E-08    0.20671E-13    0.21139E-13
+  2542    0.81049E-11    0.41139E-12    0.00000E+00   -0.39972E-12    0.14113E-08    0.19701E-13    0.21043E-13
+  2543    0.80856E-11    0.41181E-12    0.00000E+00   -0.40511E-12    0.14102E-08    0.18742E-13    0.20945E-13
+  2544    0.80667E-11    0.41219E-12    0.00000E+00   -0.41053E-12    0.14091E-08    0.17797E-13    0.20844E-13
+  2545    0.80483E-11    0.41254E-12    0.00000E+00   -0.41596E-12    0.14080E-08    0.16865E-13    0.20741E-13
+  2546    0.80303E-11    0.41285E-12    0.00000E+00   -0.42140E-12    0.14069E-08    0.15947E-13    0.20636E-13
+  2547    0.80128E-11    0.41313E-12    0.00000E+00   -0.42684E-12    0.14058E-08    0.15041E-13    0.20528E-13
+  2548    0.79956E-11    0.41337E-12    0.00000E+00   -0.43230E-12    0.14048E-08    0.14147E-13    0.20418E-13
+  2549    0.79789E-11    0.41357E-12    0.00000E+00   -0.43776E-12    0.14037E-08    0.13261E-13    0.20307E-13
+  2550    0.79627E-11    0.41372E-12    0.00000E+00   -0.44324E-12    0.14026E-08    0.12385E-13    0.20194E-13
+  2551    0.79468E-11    0.41385E-12    0.00000E+00   -0.44869E-12    0.14015E-08    0.11515E-13    0.20079E-13
+  2552    0.79314E-11    0.41394E-12    0.00000E+00   -0.45417E-12    0.14004E-08    0.10651E-13    0.19963E-13
+  2553    0.79165E-11    0.41399E-12    0.00000E+00   -0.45963E-12    0.13994E-08    0.97944E-14    0.19845E-13
+  2554    0.79018E-11    0.41400E-12    0.00000E+00   -0.46507E-12    0.13983E-08    0.89463E-14    0.19725E-13
+  2555    0.78876E-11    0.41397E-12    0.00000E+00   -0.47051E-12    0.13972E-08    0.81083E-14    0.19602E-13
+  2556    0.78738E-11    0.41391E-12    0.00000E+00   -0.47594E-12    0.13961E-08    0.72819E-14    0.19475E-13
+  2557    0.78605E-11    0.41380E-12    0.00000E+00   -0.48135E-12    0.13951E-08    0.64686E-14    0.19345E-13
+  2558    0.78475E-11    0.41366E-12    0.00000E+00   -0.48672E-12    0.13940E-08    0.56698E-14    0.19210E-13
+  2559    0.78349E-11    0.41348E-12    0.00000E+00   -0.49208E-12    0.13929E-08    0.48869E-14    0.19070E-13
+  2560    0.78228E-11    0.41327E-12    0.00000E+00   -0.49743E-12    0.13919E-08    0.41208E-14    0.18925E-13
+  2561    0.78109E-11    0.41300E-12    0.00000E+00   -0.50276E-12    0.13908E-08    0.33722E-14    0.18776E-13
+  2562    0.77996E-11    0.41271E-12    0.00000E+00   -0.50805E-12    0.13897E-08    0.26419E-14    0.18624E-13
+  2563    0.77886E-11    0.41237E-12    0.00000E+00   -0.51331E-12    0.13887E-08    0.19307E-14    0.18467E-13
+  2564    0.77779E-11    0.41200E-12    0.00000E+00   -0.51854E-12    0.13876E-08    0.12392E-14    0.18309E-13
+  2565    0.77677E-11    0.41159E-12    0.00000E+00   -0.52374E-12    0.13865E-08    0.56833E-15    0.18147E-13
+  2566    0.77577E-11    0.41116E-12    0.00000E+00   -0.52889E-12    0.13855E-08   -0.81655E-16    0.17983E-13
+  2567    0.77483E-11    0.41069E-12    0.00000E+00   -0.53401E-12    0.13844E-08   -0.71191E-15    0.17818E-13
+  2568    0.77391E-11    0.41016E-12    0.00000E+00   -0.53908E-12    0.13833E-08   -0.13240E-14    0.17651E-13
+  2569    0.77302E-11    0.40960E-12    0.00000E+00   -0.54412E-12    0.13823E-08   -0.19195E-14    0.17482E-13
+  2570    0.77218E-11    0.40900E-12    0.00000E+00   -0.54910E-12    0.13812E-08   -0.25000E-14    0.17311E-13
+  2571    0.77137E-11    0.40835E-12    0.00000E+00   -0.55404E-12    0.13802E-08   -0.30670E-14    0.17139E-13
+  2572    0.77059E-11    0.40767E-12    0.00000E+00   -0.55892E-12    0.13791E-08   -0.36221E-14    0.16967E-13
+  2573    0.76984E-11    0.40696E-12    0.00000E+00   -0.56374E-12    0.13781E-08   -0.41666E-14    0.16792E-13
+  2574    0.76913E-11    0.40622E-12    0.00000E+00   -0.56854E-12    0.13770E-08   -0.47007E-14    0.16617E-13
+  2575    0.76845E-11    0.40544E-12    0.00000E+00   -0.57327E-12    0.13759E-08   -0.52240E-14    0.16441E-13
+  2576    0.76781E-11    0.40462E-12    0.00000E+00   -0.57790E-12    0.13749E-08   -0.57365E-14    0.16264E-13
+  2577    0.76719E-11    0.40377E-12    0.00000E+00   -0.58250E-12    0.13738E-08   -0.62379E-14    0.16085E-13
+  2578    0.76659E-11    0.40288E-12    0.00000E+00   -0.58703E-12    0.13728E-08   -0.67281E-14    0.15905E-13
+  2579    0.76604E-11    0.40195E-12    0.00000E+00   -0.59150E-12    0.13717E-08   -0.72069E-14    0.15724E-13
+  2580    0.76551E-11    0.40099E-12    0.00000E+00   -0.59590E-12    0.13707E-08   -0.76743E-14    0.15542E-13
+  2581    0.76501E-11    0.39999E-12    0.00000E+00   -0.60022E-12    0.13696E-08   -0.81303E-14    0.15358E-13
+  2582    0.76453E-11    0.39896E-12    0.00000E+00   -0.60448E-12    0.13686E-08   -0.85753E-14    0.15174E-13
+  2583    0.76408E-11    0.39790E-12    0.00000E+00   -0.60867E-12    0.13676E-08   -0.90096E-14    0.14988E-13
+  2584    0.76366E-11    0.39680E-12    0.00000E+00   -0.61279E-12    0.13665E-08   -0.94335E-14    0.14801E-13
+  2585    0.76326E-11    0.39568E-12    0.00000E+00   -0.61682E-12    0.13655E-08   -0.98474E-14    0.14613E-13
+  2586    0.76290E-11    0.39451E-12    0.00000E+00   -0.62079E-12    0.13644E-08   -0.10251E-13    0.14425E-13
+  2587    0.76256E-11    0.39331E-12    0.00000E+00   -0.62466E-12    0.13634E-08   -0.10646E-13    0.14235E-13
+  2588    0.76224E-11    0.39209E-12    0.00000E+00   -0.62846E-12    0.13623E-08   -0.11029E-13    0.14045E-13
+  2589    0.76194E-11    0.39082E-12    0.00000E+00   -0.63218E-12    0.13613E-08   -0.11399E-13    0.13853E-13
+  2590    0.76167E-11    0.38953E-12    0.00000E+00   -0.63582E-12    0.13603E-08   -0.11754E-13    0.13661E-13
+  2591    0.76142E-11    0.38821E-12    0.00000E+00   -0.63937E-12    0.13592E-08   -0.12093E-13    0.13467E-13
+  2592    0.76119E-11    0.38685E-12    0.00000E+00   -0.64283E-12    0.13582E-08   -0.12415E-13    0.13271E-13
+  2593    0.76097E-11    0.38547E-12    0.00000E+00   -0.64619E-12    0.13572E-08   -0.12717E-13    0.13074E-13
+  2594    0.76078E-11    0.38406E-12    0.00000E+00   -0.64948E-12    0.13561E-08   -0.12998E-13    0.12875E-13
+  2595    0.76060E-11    0.38262E-12    0.00000E+00   -0.65267E-12    0.13551E-08   -0.13258E-13    0.12674E-13
+  2596    0.76045E-11    0.38115E-12    0.00000E+00   -0.65577E-12    0.13541E-08   -0.13498E-13    0.12471E-13
+  2597    0.76032E-11    0.37965E-12    0.00000E+00   -0.65878E-12    0.13530E-08   -0.13718E-13    0.12267E-13
+  2598    0.76020E-11    0.37812E-12    0.00000E+00   -0.66168E-12    0.13520E-08   -0.13919E-13    0.12061E-13
+  2599    0.76009E-11    0.37657E-12    0.00000E+00   -0.66449E-12    0.13510E-08   -0.14101E-13    0.11854E-13
+  2600    0.76001E-11    0.37498E-12    0.00000E+00   -0.66721E-12    0.13499E-08   -0.14265E-13    0.11645E-13
+  2601    0.75993E-11    0.37339E-12    0.00000E+00   -0.66982E-12    0.13489E-08   -0.14411E-13    0.11435E-13
+  2602    0.75987E-11    0.37175E-12    0.00000E+00   -0.67235E-12    0.13479E-08   -0.14540E-13    0.11224E-13
+  2603    0.75983E-11    0.37009E-12    0.00000E+00   -0.67477E-12    0.13469E-08   -0.14655E-13    0.11011E-13
+  2604    0.75981E-11    0.36841E-12    0.00000E+00   -0.67709E-12    0.13458E-08   -0.14755E-13    0.10798E-13
+  2605    0.75979E-11    0.36670E-12    0.00000E+00   -0.67931E-12    0.13448E-08   -0.14842E-13    0.10585E-13
+  2606    0.75978E-11    0.36497E-12    0.00000E+00   -0.68142E-12    0.13438E-08   -0.14918E-13    0.10371E-13
+  2607    0.75977E-11    0.36322E-12    0.00000E+00   -0.68344E-12    0.13428E-08   -0.14983E-13    0.10157E-13
+  2608    0.75979E-11    0.36144E-12    0.00000E+00   -0.68535E-12    0.13418E-08   -0.15038E-13    0.99434E-14
+  2609    0.75980E-11    0.35964E-12    0.00000E+00   -0.68716E-12    0.13407E-08   -0.15084E-13    0.97298E-14
+  2610    0.75983E-11    0.35783E-12    0.00000E+00   -0.68885E-12    0.13397E-08   -0.15120E-13    0.95165E-14
+  2611    0.75987E-11    0.35599E-12    0.00000E+00   -0.69045E-12    0.13387E-08   -0.15146E-13    0.93033E-14
+  2612    0.75991E-11    0.35413E-12    0.00000E+00   -0.69194E-12    0.13377E-08   -0.15162E-13    0.90902E-14
+  2613    0.75995E-11    0.35225E-12    0.00000E+00   -0.69331E-12    0.13367E-08   -0.15168E-13    0.88773E-14
+  2614    0.76001E-11    0.35036E-12    0.00000E+00   -0.69460E-12    0.13357E-08   -0.15162E-13    0.86645E-14
+  2615    0.76006E-11    0.34844E-12    0.00000E+00   -0.69576E-12    0.13347E-08   -0.15145E-13    0.84519E-14
+  2616    0.76013E-11    0.34652E-12    0.00000E+00   -0.69681E-12    0.13336E-08   -0.15118E-13    0.82393E-14
+  2617    0.76019E-11    0.34456E-12    0.00000E+00   -0.69776E-12    0.13326E-08   -0.15080E-13    0.80267E-14
+  2618    0.76027E-11    0.34259E-12    0.00000E+00   -0.69860E-12    0.13316E-08   -0.15031E-13    0.78140E-14
+  2619    0.76034E-11    0.34062E-12    0.00000E+00   -0.69933E-12    0.13306E-08   -0.14973E-13    0.76012E-14
+  2620    0.76041E-11    0.33862E-12    0.00000E+00   -0.69996E-12    0.13296E-08   -0.14904E-13    0.73881E-14
+  2621    0.76048E-11    0.33661E-12    0.00000E+00   -0.70048E-12    0.13286E-08   -0.14825E-13    0.71748E-14
+  2622    0.76056E-11    0.33459E-12    0.00000E+00   -0.70088E-12    0.13276E-08   -0.14736E-13    0.69612E-14
+  2623    0.76063E-11    0.33255E-12    0.00000E+00   -0.70118E-12    0.13266E-08   -0.14637E-13    0.67476E-14
+  2624    0.76070E-11    0.33050E-12    0.00000E+00   -0.70137E-12    0.13256E-08   -0.14527E-13    0.65343E-14
+  2625    0.76076E-11    0.32844E-12    0.00000E+00   -0.70144E-12    0.13246E-08   -0.14404E-13    0.63216E-14
+  2626    0.76083E-11    0.32637E-12    0.00000E+00   -0.70141E-12    0.13236E-08   -0.14269E-13    0.61098E-14
+  2627    0.76089E-11    0.32429E-12    0.00000E+00   -0.70128E-12    0.13226E-08   -0.14120E-13    0.58992E-14
+  2628    0.76094E-11    0.32220E-12    0.00000E+00   -0.70103E-12    0.13216E-08   -0.13957E-13    0.56901E-14
+  2629    0.76099E-11    0.32009E-12    0.00000E+00   -0.70067E-12    0.13206E-08   -0.13779E-13    0.54828E-14
+  2630    0.76104E-11    0.31799E-12    0.00000E+00   -0.70020E-12    0.13196E-08   -0.13585E-13    0.52770E-14
+  2631    0.76108E-11    0.31587E-12    0.00000E+00   -0.69963E-12    0.13186E-08   -0.13376E-13    0.50721E-14
+  2632    0.76112E-11    0.31374E-12    0.00000E+00   -0.69895E-12    0.13176E-08   -0.13150E-13    0.48677E-14
+  2633    0.76113E-11    0.31161E-12    0.00000E+00   -0.69815E-12    0.13166E-08   -0.12907E-13    0.46634E-14
+  2634    0.76115E-11    0.30948E-12    0.00000E+00   -0.69724E-12    0.13156E-08   -0.12648E-13    0.44588E-14
+  2635    0.76115E-11    0.30733E-12    0.00000E+00   -0.69625E-12    0.13146E-08   -0.12371E-13    0.42533E-14
+  2636    0.76115E-11    0.30518E-12    0.00000E+00   -0.69514E-12    0.13136E-08   -0.12078E-13    0.40468E-14
+  2637    0.76114E-11    0.30303E-12    0.00000E+00   -0.69392E-12    0.13126E-08   -0.11768E-13    0.38395E-14
+  2638    0.76111E-11    0.30087E-12    0.00000E+00   -0.69260E-12    0.13116E-08   -0.11445E-13    0.36317E-14
+  2639    0.76108E-11    0.29872E-12    0.00000E+00   -0.69118E-12    0.13106E-08   -0.11110E-13    0.34239E-14
+  2640    0.76104E-11    0.29655E-12    0.00000E+00   -0.68965E-12    0.13097E-08   -0.10765E-13    0.32164E-14
+  2641    0.76097E-11    0.29440E-12    0.00000E+00   -0.68803E-12    0.13087E-08   -0.10411E-13    0.30098E-14
+  2642    0.76091E-11    0.29224E-12    0.00000E+00   -0.68630E-12    0.13077E-08   -0.10051E-13    0.28043E-14
+  2643    0.76082E-11    0.29008E-12    0.00000E+00   -0.68446E-12    0.13067E-08   -0.96864E-14    0.26003E-14
+  2644    0.76073E-11    0.28791E-12    0.00000E+00   -0.68253E-12    0.13057E-08   -0.93163E-14    0.23978E-14
+  2645    0.76062E-11    0.28575E-12    0.00000E+00   -0.68050E-12    0.13047E-08   -0.89401E-14    0.21967E-14
+  2646    0.76048E-11    0.28360E-12    0.00000E+00   -0.67837E-12    0.13037E-08   -0.85571E-14    0.19971E-14
+  2647    0.76034E-11    0.28145E-12    0.00000E+00   -0.67614E-12    0.13028E-08   -0.81665E-14    0.17988E-14
+  2648    0.76019E-11    0.27928E-12    0.00000E+00   -0.67381E-12    0.13018E-08   -0.77675E-14    0.16017E-14
+  2649    0.76001E-11    0.27714E-12    0.00000E+00   -0.67140E-12    0.13008E-08   -0.73594E-14    0.14059E-14
+  2650    0.75982E-11    0.27499E-12    0.00000E+00   -0.66888E-12    0.12998E-08   -0.69416E-14    0.12112E-14
+  2651    0.75961E-11    0.27286E-12    0.00000E+00   -0.66627E-12    0.12988E-08   -0.65144E-14    0.10175E-14
+  2652    0.75938E-11    0.27072E-12    0.00000E+00   -0.66356E-12    0.12979E-08   -0.60783E-14    0.82464E-15
+  2653    0.75914E-11    0.26860E-12    0.00000E+00   -0.66078E-12    0.12969E-08   -0.56337E-14    0.63259E-15
+  2654    0.75887E-11    0.26648E-12    0.00000E+00   -0.65789E-12    0.12959E-08   -0.51811E-14    0.44117E-15
+  2655    0.75859E-11    0.26435E-12    0.00000E+00   -0.65492E-12    0.12949E-08   -0.47211E-14    0.25026E-15
+  2656    0.75828E-11    0.26225E-12    0.00000E+00   -0.65185E-12    0.12940E-08   -0.42542E-14    0.59724E-16
+  2657    0.75795E-11    0.26015E-12    0.00000E+00   -0.64870E-12    0.12930E-08   -0.37807E-14   -0.13044E-15
+  2658    0.75761E-11    0.25806E-12    0.00000E+00   -0.64548E-12    0.12920E-08   -0.33010E-14   -0.31974E-15
+  2659    0.75726E-11    0.25599E-12    0.00000E+00   -0.64215E-12    0.12911E-08   -0.28157E-14   -0.50758E-15
+  2660    0.75687E-11    0.25392E-12    0.00000E+00   -0.63875E-12    0.12901E-08   -0.23250E-14   -0.69335E-15
+  2661    0.75646E-11    0.25186E-12    0.00000E+00   -0.63527E-12    0.12891E-08   -0.18293E-14   -0.87645E-15
+  2662    0.75602E-11    0.24982E-12    0.00000E+00   -0.63170E-12    0.12881E-08   -0.13291E-14   -0.10563E-14
+  2663    0.75556E-11    0.24778E-12    0.00000E+00   -0.62806E-12    0.12872E-08   -0.82466E-15   -0.12322E-14
+  2664    0.75509E-11    0.24575E-12    0.00000E+00   -0.62434E-12    0.12862E-08   -0.31607E-15   -0.14038E-14
+  2665    0.75459E-11    0.24374E-12    0.00000E+00   -0.62054E-12    0.12852E-08    0.19807E-15   -0.15718E-14
+  2666    0.75406E-11    0.24174E-12    0.00000E+00   -0.61668E-12    0.12843E-08    0.71952E-15   -0.17367E-14
+  2667    0.75351E-11    0.23976E-12    0.00000E+00   -0.61273E-12    0.12833E-08    0.12500E-14   -0.18993E-14
+  2668    0.75294E-11    0.23779E-12    0.00000E+00   -0.60872E-12    0.12824E-08    0.17913E-14   -0.20605E-14
+  2669    0.75234E-11    0.23583E-12    0.00000E+00   -0.60463E-12    0.12814E-08    0.23451E-14   -0.22209E-14
+  2670    0.75173E-11    0.23390E-12    0.00000E+00   -0.60048E-12    0.12804E-08    0.29132E-14   -0.23814E-14
+  2671    0.75108E-11    0.23197E-12    0.00000E+00   -0.59626E-12    0.12795E-08    0.34967E-14   -0.25423E-14
+  2672    0.75041E-11    0.23006E-12    0.00000E+00   -0.59198E-12    0.12785E-08    0.40944E-14   -0.27036E-14
+  2673    0.74972E-11    0.22817E-12    0.00000E+00   -0.58762E-12    0.12776E-08    0.47045E-14   -0.28647E-14
+  2674    0.74900E-11    0.22631E-12    0.00000E+00   -0.58322E-12    0.12766E-08    0.53251E-14   -0.30253E-14
+  2675    0.74826E-11    0.22445E-12    0.00000E+00   -0.57874E-12    0.12756E-08    0.59544E-14   -0.31848E-14
+  2676    0.74749E-11    0.22261E-12    0.00000E+00   -0.57422E-12    0.12747E-08    0.65906E-14   -0.33428E-14
+  2677    0.74669E-11    0.22079E-12    0.00000E+00   -0.56963E-12    0.12737E-08    0.72319E-14   -0.34989E-14
+  2678    0.74586E-11    0.21900E-12    0.00000E+00   -0.56498E-12    0.12728E-08    0.78766E-14   -0.36527E-14
+  2679    0.74501E-11    0.21721E-12    0.00000E+00   -0.56029E-12    0.12718E-08    0.85240E-14   -0.38041E-14
+  2680    0.74413E-11    0.21545E-12    0.00000E+00   -0.55555E-12    0.12709E-08    0.91738E-14   -0.39534E-14
+  2681    0.74323E-11    0.21371E-12    0.00000E+00   -0.55076E-12    0.12699E-08    0.98253E-14   -0.41006E-14
+  2682    0.74230E-11    0.21199E-12    0.00000E+00   -0.54591E-12    0.12690E-08    0.10478E-13   -0.42457E-14
+  2683    0.74134E-11    0.21029E-12    0.00000E+00   -0.54102E-12    0.12680E-08    0.11132E-13   -0.43888E-14
+  2684    0.74036E-11    0.20861E-12    0.00000E+00   -0.53609E-12    0.12671E-08    0.11786E-13   -0.45301E-14
+  2685    0.73934E-11    0.20696E-12    0.00000E+00   -0.53110E-12    0.12661E-08    0.12440E-13   -0.46696E-14
+  2686    0.73831E-11    0.20531E-12    0.00000E+00   -0.52609E-12    0.12652E-08    0.13096E-13   -0.48075E-14
+  2687    0.73725E-11    0.20369E-12    0.00000E+00   -0.52103E-12    0.12643E-08    0.13754E-13   -0.49437E-14
+  2688    0.73615E-11    0.20211E-12    0.00000E+00   -0.51593E-12    0.12633E-08    0.14417E-13   -0.50784E-14
+  2689    0.73503E-11    0.20054E-12    0.00000E+00   -0.51080E-12    0.12624E-08    0.15086E-13   -0.52118E-14
+  2690    0.73389E-11    0.19899E-12    0.00000E+00   -0.50564E-12    0.12614E-08    0.15762E-13   -0.53438E-14
+  2691    0.73271E-11    0.19747E-12    0.00000E+00   -0.50043E-12    0.12605E-08    0.16447E-13   -0.54746E-14
+  2692    0.73151E-11    0.19597E-12    0.00000E+00   -0.49520E-12    0.12595E-08    0.17142E-13   -0.56042E-14
+  2693    0.73027E-11    0.19449E-12    0.00000E+00   -0.48994E-12    0.12586E-08    0.17842E-13   -0.57321E-14
+  2694    0.72902E-11    0.19305E-12    0.00000E+00   -0.48465E-12    0.12577E-08    0.18545E-13   -0.58579E-14
+  2695    0.72773E-11    0.19162E-12    0.00000E+00   -0.47934E-12    0.12567E-08    0.19246E-13   -0.59809E-14
+  2696    0.72643E-11    0.19022E-12    0.00000E+00   -0.47401E-12    0.12558E-08    0.19940E-13   -0.61006E-14
+  2697    0.72509E-11    0.18884E-12    0.00000E+00   -0.46865E-12    0.12549E-08    0.20625E-13   -0.62166E-14
+  2698    0.72371E-11    0.18749E-12    0.00000E+00   -0.46328E-12    0.12539E-08    0.21294E-13   -0.63282E-14
+  2699    0.72232E-11    0.18617E-12    0.00000E+00   -0.45789E-12    0.12530E-08    0.21947E-13   -0.64351E-14
+  2700    0.72090E-11    0.18488E-12    0.00000E+00   -0.45248E-12    0.12520E-08    0.22588E-13   -0.65378E-14
+  2701    0.71945E-11    0.18360E-12    0.00000E+00   -0.44707E-12    0.12511E-08    0.23221E-13   -0.66369E-14
+  2702    0.71798E-11    0.18235E-12    0.00000E+00   -0.44164E-12    0.12502E-08    0.23855E-13   -0.67330E-14
+  2703    0.71648E-11    0.18113E-12    0.00000E+00   -0.43619E-12    0.12493E-08    0.24495E-13   -0.68267E-14
+  2704    0.71495E-11    0.17993E-12    0.00000E+00   -0.43074E-12    0.12483E-08    0.25147E-13   -0.69187E-14
+  2705    0.71340E-11    0.17875E-12    0.00000E+00   -0.42527E-12    0.12474E-08    0.25817E-13   -0.70096E-14
+  2706    0.71182E-11    0.17761E-12    0.00000E+00   -0.41982E-12    0.12465E-08    0.26509E-13   -0.70999E-14
+  2707    0.71021E-11    0.17649E-12    0.00000E+00   -0.41434E-12    0.12455E-08    0.27221E-13   -0.71894E-14
+  2708    0.70859E-11    0.17540E-12    0.00000E+00   -0.40887E-12    0.12446E-08    0.27947E-13   -0.72778E-14
+  2709    0.70692E-11    0.17434E-12    0.00000E+00   -0.40341E-12    0.12437E-08    0.28684E-13   -0.73649E-14
+  2710    0.70524E-11    0.17330E-12    0.00000E+00   -0.39793E-12    0.12428E-08    0.29425E-13   -0.74504E-14
+  2711    0.70353E-11    0.17228E-12    0.00000E+00   -0.39247E-12    0.12418E-08    0.30167E-13   -0.75340E-14
+  2712    0.70180E-11    0.17130E-12    0.00000E+00   -0.38701E-12    0.12409E-08    0.30904E-13   -0.76153E-14
+  2713    0.70005E-11    0.17034E-12    0.00000E+00   -0.38156E-12    0.12400E-08    0.31633E-13   -0.76942E-14
+  2714    0.69826E-11    0.16941E-12    0.00000E+00   -0.37612E-12    0.12391E-08    0.32353E-13   -0.77706E-14
+  2715    0.69646E-11    0.16850E-12    0.00000E+00   -0.37070E-12    0.12382E-08    0.33068E-13   -0.78447E-14
+  2716    0.69463E-11    0.16763E-12    0.00000E+00   -0.36528E-12    0.12372E-08    0.33777E-13   -0.79165E-14
+  2717    0.69277E-11    0.16678E-12    0.00000E+00   -0.35987E-12    0.12363E-08    0.34484E-13   -0.79860E-14
+  2718    0.69090E-11    0.16596E-12    0.00000E+00   -0.35449E-12    0.12354E-08    0.35189E-13   -0.80535E-14
+  2719    0.68899E-11    0.16517E-12    0.00000E+00   -0.34912E-12    0.12345E-08    0.35894E-13   -0.81188E-14
+  2720    0.68707E-11    0.16440E-12    0.00000E+00   -0.34376E-12    0.12336E-08    0.36601E-13   -0.81822E-14
+  2721    0.68512E-11    0.16366E-12    0.00000E+00   -0.33843E-12    0.12326E-08    0.37309E-13   -0.82436E-14
+  2722    0.68315E-11    0.16294E-12    0.00000E+00   -0.33313E-12    0.12317E-08    0.38018E-13   -0.83029E-14
+  2723    0.68115E-11    0.16226E-12    0.00000E+00   -0.32785E-12    0.12308E-08    0.38729E-13   -0.83602E-14
+  2724    0.67914E-11    0.16161E-12    0.00000E+00   -0.32258E-12    0.12299E-08    0.39441E-13   -0.84155E-14
+  2725    0.67711E-11    0.16097E-12    0.00000E+00   -0.31735E-12    0.12290E-08    0.40153E-13   -0.84688E-14
+  2726    0.67505E-11    0.16036E-12    0.00000E+00   -0.31215E-12    0.12281E-08    0.40866E-13   -0.85200E-14
+  2727    0.67298E-11    0.15978E-12    0.00000E+00   -0.30698E-12    0.12272E-08    0.41580E-13   -0.85692E-14
+  2728    0.67087E-11    0.15923E-12    0.00000E+00   -0.30184E-12    0.12263E-08    0.42290E-13   -0.86163E-14
+  2729    0.66876E-11    0.15870E-12    0.00000E+00   -0.29673E-12    0.12254E-08    0.42994E-13   -0.86611E-14
+  2730    0.66663E-11    0.15820E-12    0.00000E+00   -0.29166E-12    0.12245E-08    0.43689E-13   -0.87037E-14
+  2731    0.66447E-11    0.15773E-12    0.00000E+00   -0.28662E-12    0.12235E-08    0.44370E-13   -0.87440E-14
+  2732    0.66230E-11    0.15728E-12    0.00000E+00   -0.28163E-12    0.12226E-08    0.45034E-13   -0.87818E-14
+  2733    0.66010E-11    0.15686E-12    0.00000E+00   -0.27667E-12    0.12217E-08    0.45678E-13   -0.88171E-14
+  2734    0.65789E-11    0.15646E-12    0.00000E+00   -0.27175E-12    0.12208E-08    0.46300E-13   -0.88499E-14
+  2735    0.65566E-11    0.15609E-12    0.00000E+00   -0.26688E-12    0.12199E-08    0.46904E-13   -0.88801E-14
+  2736    0.65342E-11    0.15575E-12    0.00000E+00   -0.26204E-12    0.12190E-08    0.47496E-13   -0.89076E-14
+  2737    0.65115E-11    0.15542E-12    0.00000E+00   -0.25726E-12    0.12181E-08    0.48082E-13   -0.89324E-14
+  2738    0.64887E-11    0.15513E-12    0.00000E+00   -0.25251E-12    0.12172E-08    0.48667E-13   -0.89545E-14
+  2739    0.64656E-11    0.15486E-12    0.00000E+00   -0.24782E-12    0.12163E-08    0.49258E-13   -0.89738E-14
+  2740    0.64426E-11    0.15461E-12    0.00000E+00   -0.24316E-12    0.12154E-08    0.49860E-13   -0.89903E-14
+  2741    0.64193E-11    0.15439E-12    0.00000E+00   -0.23856E-12    0.12145E-08    0.50477E-13   -0.90040E-14
+  2742    0.63959E-11    0.15419E-12    0.00000E+00   -0.23402E-12    0.12136E-08    0.51108E-13   -0.90150E-14
+  2743    0.63723E-11    0.15401E-12    0.00000E+00   -0.22952E-12    0.12127E-08    0.51749E-13   -0.90235E-14
+  2744    0.63487E-11    0.15385E-12    0.00000E+00   -0.22507E-12    0.12118E-08    0.52395E-13   -0.90295E-14
+  2745    0.63248E-11    0.15374E-12    0.00000E+00   -0.22068E-12    0.12109E-08    0.53043E-13   -0.90334E-14
+  2746    0.63008E-11    0.15363E-12    0.00000E+00   -0.21635E-12    0.12100E-08    0.53689E-13   -0.90351E-14
+  2747    0.62768E-11    0.15355E-12    0.00000E+00   -0.21206E-12    0.12092E-08    0.54330E-13   -0.90349E-14
+  2748    0.62525E-11    0.15349E-12    0.00000E+00   -0.20784E-12    0.12083E-08    0.54962E-13   -0.90329E-14
+  2749    0.62282E-11    0.15345E-12    0.00000E+00   -0.20367E-12    0.12074E-08    0.55586E-13   -0.90291E-14
+  2750    0.62038E-11    0.15344E-12    0.00000E+00   -0.19956E-12    0.12065E-08    0.56201E-13   -0.90235E-14
+  2751    0.61792E-11    0.15346E-12    0.00000E+00   -0.19552E-12    0.12056E-08    0.56809E-13   -0.90161E-14
+  2752    0.61545E-11    0.15348E-12    0.00000E+00   -0.19154E-12    0.12047E-08    0.57409E-13   -0.90068E-14
+  2753    0.61298E-11    0.15353E-12    0.00000E+00   -0.18762E-12    0.12038E-08    0.58003E-13   -0.89958E-14
+  2754    0.61050E-11    0.15360E-12    0.00000E+00   -0.18375E-12    0.12029E-08    0.58591E-13   -0.89830E-14
+  2755    0.60800E-11    0.15369E-12    0.00000E+00   -0.17996E-12    0.12020E-08    0.59173E-13   -0.89683E-14
+  2756    0.60550E-11    0.15381E-12    0.00000E+00   -0.17623E-12    0.12012E-08    0.59751E-13   -0.89518E-14
+  2757    0.60299E-11    0.15393E-12    0.00000E+00   -0.17257E-12    0.12003E-08    0.60324E-13   -0.89333E-14
+  2758    0.60048E-11    0.15409E-12    0.00000E+00   -0.16896E-12    0.11994E-08    0.60892E-13   -0.89129E-14
+  2759    0.59796E-11    0.15426E-12    0.00000E+00   -0.16543E-12    0.11985E-08    0.61456E-13   -0.88904E-14
+  2760    0.59543E-11    0.15445E-12    0.00000E+00   -0.16197E-12    0.11976E-08    0.62016E-13   -0.88659E-14
+  2761    0.59289E-11    0.15466E-12    0.00000E+00   -0.15856E-12    0.11967E-08    0.62572E-13   -0.88393E-14
+  2762    0.59036E-11    0.15488E-12    0.00000E+00   -0.15524E-12    0.11959E-08    0.63124E-13   -0.88105E-14
+  2763    0.58781E-11    0.15514E-12    0.00000E+00   -0.15197E-12    0.11950E-08    0.63670E-13   -0.87799E-14
+  2764    0.58526E-11    0.15540E-12    0.00000E+00   -0.14878E-12    0.11941E-08    0.64206E-13   -0.87479E-14
+  2765    0.58271E-11    0.15567E-12    0.00000E+00   -0.14567E-12    0.11932E-08    0.64730E-13   -0.87148E-14
+  2766    0.58015E-11    0.15596E-12    0.00000E+00   -0.14262E-12    0.11923E-08    0.65237E-13   -0.86810E-14
+  2767    0.57759E-11    0.15628E-12    0.00000E+00   -0.13964E-12    0.11915E-08    0.65725E-13   -0.86469E-14
+  2768    0.57502E-11    0.15661E-12    0.00000E+00   -0.13674E-12    0.11906E-08    0.66191E-13   -0.86129E-14
+  2769    0.57245E-11    0.15696E-12    0.00000E+00   -0.13390E-12    0.11897E-08    0.66633E-13   -0.85791E-14
+  2770    0.56988E-11    0.15731E-12    0.00000E+00   -0.13116E-12    0.11888E-08    0.67055E-13   -0.85449E-14
+  2771    0.56732E-11    0.15769E-12    0.00000E+00   -0.12848E-12    0.11880E-08    0.67462E-13   -0.85095E-14
+  2772    0.56475E-11    0.15807E-12    0.00000E+00   -0.12587E-12    0.11871E-08    0.67859E-13   -0.84722E-14
+  2773    0.56218E-11    0.15847E-12    0.00000E+00   -0.12331E-12    0.11862E-08    0.68252E-13   -0.84321E-14
+  2774    0.55961E-11    0.15889E-12    0.00000E+00   -0.12085E-12    0.11854E-08    0.68646E-13   -0.83885E-14
+  2775    0.55705E-11    0.15931E-12    0.00000E+00   -0.11844E-12    0.11845E-08    0.69046E-13   -0.83405E-14
+  2776    0.55448E-11    0.15976E-12    0.00000E+00   -0.11613E-12    0.11836E-08    0.69456E-13   -0.82877E-14
+  2777    0.55191E-11    0.16021E-12    0.00000E+00   -0.11390E-12    0.11827E-08    0.69874E-13   -0.82303E-14
+  2778    0.54935E-11    0.16067E-12    0.00000E+00   -0.11173E-12    0.11819E-08    0.70296E-13   -0.81693E-14
+  2779    0.54678E-11    0.16115E-12    0.00000E+00   -0.10963E-12    0.11810E-08    0.70720E-13   -0.81051E-14
+  2780    0.54423E-11    0.16163E-12    0.00000E+00   -0.10761E-12    0.11801E-08    0.71141E-13   -0.80384E-14
+  2781    0.54168E-11    0.16213E-12    0.00000E+00   -0.10567E-12    0.11793E-08    0.71555E-13   -0.79701E-14
+  2782    0.53914E-11    0.16264E-12    0.00000E+00   -0.10380E-12    0.11784E-08    0.71961E-13   -0.79006E-14
+  2783    0.53661E-11    0.16316E-12    0.00000E+00   -0.10201E-12    0.11775E-08    0.72353E-13   -0.78306E-14
+  2784    0.53407E-11    0.16368E-12    0.00000E+00   -0.10030E-12    0.11767E-08    0.72734E-13   -0.77601E-14
+  2785    0.53154E-11    0.16423E-12    0.00000E+00   -0.98656E-13    0.11758E-08    0.73104E-13   -0.76888E-14
+  2786    0.52902E-11    0.16477E-12    0.00000E+00   -0.97085E-13    0.11750E-08    0.73464E-13   -0.76167E-14
+  2787    0.52650E-11    0.16532E-12    0.00000E+00   -0.95595E-13    0.11741E-08    0.73815E-13   -0.75434E-14
+  2788    0.52398E-11    0.16588E-12    0.00000E+00   -0.94177E-13    0.11732E-08    0.74159E-13   -0.74690E-14
+  2789    0.52147E-11    0.16645E-12    0.00000E+00   -0.92842E-13    0.11724E-08    0.74497E-13   -0.73931E-14
+  2790    0.51899E-11    0.16703E-12    0.00000E+00   -0.91575E-13    0.11715E-08    0.74829E-13   -0.73157E-14
+  2791    0.51648E-11    0.16760E-12    0.00000E+00   -0.90383E-13    0.11707E-08    0.75154E-13   -0.72368E-14
+  2792    0.51401E-11    0.16819E-12    0.00000E+00   -0.89266E-13    0.11698E-08    0.75473E-13   -0.71564E-14
+  2793    0.51154E-11    0.16879E-12    0.00000E+00   -0.88223E-13    0.11690E-08    0.75785E-13   -0.70745E-14
+  2794    0.50907E-11    0.16938E-12    0.00000E+00   -0.87252E-13    0.11681E-08    0.76088E-13   -0.69913E-14
+  2795    0.50661E-11    0.16998E-12    0.00000E+00   -0.86356E-13    0.11672E-08    0.76382E-13   -0.69067E-14
+  2796    0.50417E-11    0.17059E-12    0.00000E+00   -0.85531E-13    0.11664E-08    0.76666E-13   -0.68207E-14
+  2797    0.50174E-11    0.17120E-12    0.00000E+00   -0.84781E-13    0.11655E-08    0.76939E-13   -0.67336E-14
+  2798    0.49932E-11    0.17182E-12    0.00000E+00   -0.84102E-13    0.11647E-08    0.77201E-13   -0.66458E-14
+  2799    0.49692E-11    0.17243E-12    0.00000E+00   -0.83495E-13    0.11638E-08    0.77451E-13   -0.65578E-14
+  2800    0.49451E-11    0.17305E-12    0.00000E+00   -0.82958E-13    0.11630E-08    0.77688E-13   -0.64704E-14
+  2801    0.49213E-11    0.17367E-12    0.00000E+00   -0.82494E-13    0.11621E-08    0.77912E-13   -0.63840E-14
+  2802    0.48975E-11    0.17430E-12    0.00000E+00   -0.82100E-13    0.11613E-08    0.78121E-13   -0.62992E-14
+  2803    0.48740E-11    0.17492E-12    0.00000E+00   -0.81776E-13    0.11604E-08    0.78315E-13   -0.62167E-14
+  2804    0.48505E-11    0.17554E-12    0.00000E+00   -0.81520E-13    0.11596E-08    0.78494E-13   -0.61368E-14
+  2805    0.48273E-11    0.17617E-12    0.00000E+00   -0.81334E-13    0.11587E-08    0.78659E-13   -0.60583E-14
+  2806    0.48040E-11    0.17679E-12    0.00000E+00   -0.81216E-13    0.11579E-08    0.78812E-13   -0.59801E-14
+  2807    0.47810E-11    0.17742E-12    0.00000E+00   -0.81167E-13    0.11571E-08    0.78957E-13   -0.59007E-14
+  2808    0.47581E-11    0.17804E-12    0.00000E+00   -0.81183E-13    0.11562E-08    0.79093E-13   -0.58191E-14
+  2809    0.47354E-11    0.17866E-12    0.00000E+00   -0.81267E-13    0.11554E-08    0.79225E-13   -0.57337E-14
+  2810    0.47128E-11    0.17929E-12    0.00000E+00   -0.81415E-13    0.11545E-08    0.79353E-13   -0.56434E-14
+  2811    0.46904E-11    0.17991E-12    0.00000E+00   -0.81629E-13    0.11537E-08    0.79480E-13   -0.55472E-14
+  2812    0.46681E-11    0.18052E-12    0.00000E+00   -0.81908E-13    0.11528E-08    0.79605E-13   -0.54457E-14
+  2813    0.46461E-11    0.18113E-12    0.00000E+00   -0.82251E-13    0.11520E-08    0.79725E-13   -0.53400E-14
+  2814    0.46240E-11    0.18175E-12    0.00000E+00   -0.82657E-13    0.11512E-08    0.79841E-13   -0.52312E-14
+  2815    0.46022E-11    0.18236E-12    0.00000E+00   -0.83123E-13    0.11503E-08    0.79949E-13   -0.51202E-14
+  2816    0.45806E-11    0.18295E-12    0.00000E+00   -0.83652E-13    0.11495E-08    0.80050E-13   -0.50080E-14
+  2817    0.45592E-11    0.18356E-12    0.00000E+00   -0.84240E-13    0.11486E-08    0.80140E-13   -0.48958E-14
+  2818    0.45380E-11    0.18415E-12    0.00000E+00   -0.84888E-13    0.11478E-08    0.80221E-13   -0.47843E-14
+  2819    0.45169E-11    0.18474E-12    0.00000E+00   -0.85596E-13    0.11470E-08    0.80290E-13   -0.46734E-14
+  2820    0.44960E-11    0.18533E-12    0.00000E+00   -0.86360E-13    0.11461E-08    0.80351E-13   -0.45628E-14
+  2821    0.44753E-11    0.18590E-12    0.00000E+00   -0.87180E-13    0.11453E-08    0.80402E-13   -0.44522E-14
+  2822    0.44548E-11    0.18648E-12    0.00000E+00   -0.88059E-13    0.11445E-08    0.80445E-13   -0.43413E-14
+  2823    0.44346E-11    0.18705E-12    0.00000E+00   -0.88991E-13    0.11436E-08    0.80481E-13   -0.42298E-14
+  2824    0.44144E-11    0.18762E-12    0.00000E+00   -0.89979E-13    0.11428E-08    0.80510E-13   -0.41174E-14
+  2825    0.43945E-11    0.18816E-12    0.00000E+00   -0.91020E-13    0.11420E-08    0.80532E-13   -0.40038E-14
+  2826    0.43748E-11    0.18872E-12    0.00000E+00   -0.92113E-13    0.11411E-08    0.80548E-13   -0.38893E-14
+  2827    0.43552E-11    0.18925E-12    0.00000E+00   -0.93258E-13    0.11403E-08    0.80556E-13   -0.37741E-14
+  2828    0.43358E-11    0.18978E-12    0.00000E+00   -0.94454E-13    0.11395E-08    0.80555E-13   -0.36584E-14
+  2829    0.43167E-11    0.19030E-12    0.00000E+00   -0.95699E-13    0.11387E-08    0.80545E-13   -0.35425E-14
+  2830    0.42977E-11    0.19082E-12    0.00000E+00   -0.96993E-13    0.11378E-08    0.80525E-13   -0.34267E-14
+  2831    0.42789E-11    0.19132E-12    0.00000E+00   -0.98334E-13    0.11370E-08    0.80493E-13   -0.33112E-14
+  2832    0.42604E-11    0.19182E-12    0.00000E+00   -0.99721E-13    0.11362E-08    0.80449E-13   -0.31963E-14
+  2833    0.42421E-11    0.19229E-12    0.00000E+00   -0.10115E-12    0.11353E-08    0.80395E-13   -0.30824E-14
+  2834    0.42239E-11    0.19277E-12    0.00000E+00   -0.10263E-12    0.11345E-08    0.80331E-13   -0.29700E-14
+  2835    0.42061E-11    0.19323E-12    0.00000E+00   -0.10416E-12    0.11337E-08    0.80258E-13   -0.28594E-14
+  2836    0.41883E-11    0.19369E-12    0.00000E+00   -0.10572E-12    0.11329E-08    0.80178E-13   -0.27512E-14
+  2837    0.41708E-11    0.19412E-12    0.00000E+00   -0.10732E-12    0.11321E-08    0.80090E-13   -0.26457E-14
+  2838    0.41536E-11    0.19456E-12    0.00000E+00   -0.10896E-12    0.11312E-08    0.79998E-13   -0.25434E-14
+  2839    0.41365E-11    0.19499E-12    0.00000E+00   -0.11064E-12    0.11304E-08    0.79900E-13   -0.24444E-14
+  2840    0.41197E-11    0.19539E-12    0.00000E+00   -0.11236E-12    0.11296E-08    0.79797E-13   -0.23478E-14
+  2841    0.41031E-11    0.19579E-12    0.00000E+00   -0.11412E-12    0.11288E-08    0.79687E-13   -0.22521E-14
+  2842    0.40867E-11    0.19618E-12    0.00000E+00   -0.11592E-12    0.11280E-08    0.79568E-13   -0.21562E-14
+  2843    0.40705E-11    0.19655E-12    0.00000E+00   -0.11774E-12    0.11271E-08    0.79440E-13   -0.20586E-14
+  2844    0.40546E-11    0.19691E-12    0.00000E+00   -0.11960E-12    0.11263E-08    0.79301E-13   -0.19582E-14
+  2845    0.40388E-11    0.19726E-12    0.00000E+00   -0.12149E-12    0.11255E-08    0.79150E-13   -0.18536E-14
+  2846    0.40233E-11    0.19760E-12    0.00000E+00   -0.12342E-12    0.11247E-08    0.78986E-13   -0.17438E-14
+  2847    0.40080E-11    0.19792E-12    0.00000E+00   -0.12537E-12    0.11239E-08    0.78810E-13   -0.16296E-14
+  2848    0.39929E-11    0.19823E-12    0.00000E+00   -0.12735E-12    0.11231E-08    0.78623E-13   -0.15118E-14
+  2849    0.39780E-11    0.19853E-12    0.00000E+00   -0.12937E-12    0.11222E-08    0.78427E-13   -0.13916E-14
+  2850    0.39635E-11    0.19880E-12    0.00000E+00   -0.13139E-12    0.11214E-08    0.78222E-13   -0.12699E-14
+  2851    0.39490E-11    0.19907E-12    0.00000E+00   -0.13346E-12    0.11206E-08    0.78011E-13   -0.11477E-14
+  2852    0.39348E-11    0.19932E-12    0.00000E+00   -0.13554E-12    0.11198E-08    0.77794E-13   -0.10260E-14
+  2853    0.39209E-11    0.19956E-12    0.00000E+00   -0.13766E-12    0.11190E-08    0.77572E-13   -0.90557E-15
+  2854    0.39072E-11    0.19979E-12    0.00000E+00   -0.13978E-12    0.11182E-08    0.77346E-13   -0.78641E-15
+  2855    0.38936E-11    0.20000E-12    0.00000E+00   -0.14193E-12    0.11174E-08    0.77114E-13   -0.66817E-15
+  2856    0.38803E-11    0.20019E-12    0.00000E+00   -0.14410E-12    0.11166E-08    0.76876E-13   -0.55057E-15
+  2857    0.38673E-11    0.20036E-12    0.00000E+00   -0.14629E-12    0.11158E-08    0.76630E-13   -0.43329E-15
+  2858    0.38544E-11    0.20053E-12    0.00000E+00   -0.14849E-12    0.11150E-08    0.76377E-13   -0.31605E-15
+  2859    0.38417E-11    0.20068E-12    0.00000E+00   -0.15070E-12    0.11141E-08    0.76115E-13   -0.19855E-15
+  2860    0.38293E-11    0.20082E-12    0.00000E+00   -0.15293E-12    0.11133E-08    0.75844E-13   -0.80609E-16
+  2861    0.38171E-11    0.20093E-12    0.00000E+00   -0.15520E-12    0.11125E-08    0.75565E-13    0.37462E-16
+  2862    0.38052E-11    0.20104E-12    0.00000E+00   -0.15745E-12    0.11117E-08    0.75278E-13    0.15523E-15
+  2863    0.37933E-11    0.20114E-12    0.00000E+00   -0.15972E-12    0.11109E-08    0.74984E-13    0.27227E-15
+  2864    0.37818E-11    0.20120E-12    0.00000E+00   -0.16200E-12    0.11101E-08    0.74684E-13    0.38815E-15
+  2865    0.37704E-11    0.20127E-12    0.00000E+00   -0.16429E-12    0.11093E-08    0.74379E-13    0.50244E-15
+  2866    0.37592E-11    0.20130E-12    0.00000E+00   -0.16659E-12    0.11085E-08    0.74068E-13    0.61471E-15
+  2867    0.37483E-11    0.20133E-12    0.00000E+00   -0.16890E-12    0.11077E-08    0.73754E-13    0.72458E-15
+  2868    0.37376E-11    0.20134E-12    0.00000E+00   -0.17120E-12    0.11069E-08    0.73437E-13    0.83191E-15
+  2869    0.37271E-11    0.20133E-12    0.00000E+00   -0.17351E-12    0.11061E-08    0.73116E-13    0.93661E-15
+  2870    0.37169E-11    0.20131E-12    0.00000E+00   -0.17584E-12    0.11053E-08    0.72792E-13    0.10386E-14
+  2871    0.37067E-11    0.20127E-12    0.00000E+00   -0.17816E-12    0.11045E-08    0.72466E-13    0.11378E-14
+  2872    0.36969E-11    0.20122E-12    0.00000E+00   -0.18048E-12    0.11037E-08    0.72137E-13    0.12341E-14
+  2873    0.36873E-11    0.20114E-12    0.00000E+00   -0.18279E-12    0.11029E-08    0.71806E-13    0.13274E-14
+  2874    0.36779E-11    0.20106E-12    0.00000E+00   -0.18512E-12    0.11021E-08    0.71473E-13    0.14178E-14
+  2875    0.36686E-11    0.20094E-12    0.00000E+00   -0.18743E-12    0.11013E-08    0.71137E-13    0.15060E-14
+  2876    0.36596E-11    0.20081E-12    0.00000E+00   -0.18975E-12    0.11006E-08    0.70796E-13    0.15931E-14
+  2877    0.36507E-11    0.20068E-12    0.00000E+00   -0.19205E-12    0.10998E-08    0.70449E-13    0.16799E-14
+  2878    0.36420E-11    0.20053E-12    0.00000E+00   -0.19435E-12    0.10990E-08    0.70093E-13    0.17673E-14
+  2879    0.36336E-11    0.20035E-12    0.00000E+00   -0.19664E-12    0.10982E-08    0.69728E-13    0.18564E-14
+  2880    0.36253E-11    0.20017E-12    0.00000E+00   -0.19893E-12    0.10974E-08    0.69351E-13    0.19480E-14
+  2881    0.36172E-11    0.19996E-12    0.00000E+00   -0.20121E-12    0.10966E-08    0.68962E-13    0.20428E-14
+  2882    0.36094E-11    0.19974E-12    0.00000E+00   -0.20348E-12    0.10958E-08    0.68562E-13    0.21403E-14
+  2883    0.36017E-11    0.19951E-12    0.00000E+00   -0.20574E-12    0.10950E-08    0.68151E-13    0.22398E-14
+  2884    0.35942E-11    0.19927E-12    0.00000E+00   -0.20798E-12    0.10942E-08    0.67730E-13    0.23406E-14
+  2885    0.35869E-11    0.19901E-12    0.00000E+00   -0.21022E-12    0.10934E-08    0.67300E-13    0.24419E-14
+  2886    0.35798E-11    0.19873E-12    0.00000E+00   -0.21244E-12    0.10927E-08    0.66863E-13    0.25430E-14
+  2887    0.35728E-11    0.19842E-12    0.00000E+00   -0.21464E-12    0.10919E-08    0.66419E-13    0.26432E-14
+  2888    0.35660E-11    0.19811E-12    0.00000E+00   -0.21683E-12    0.10911E-08    0.65969E-13    0.27419E-14
+  2889    0.35594E-11    0.19777E-12    0.00000E+00   -0.21899E-12    0.10903E-08    0.65514E-13    0.28391E-14
+  2890    0.35530E-11    0.19742E-12    0.00000E+00   -0.22115E-12    0.10895E-08    0.65054E-13    0.29351E-14
+  2891    0.35467E-11    0.19706E-12    0.00000E+00   -0.22326E-12    0.10887E-08    0.64589E-13    0.30301E-14
+  2892    0.35406E-11    0.19668E-12    0.00000E+00   -0.22537E-12    0.10879E-08    0.64120E-13    0.31243E-14
+  2893    0.35346E-11    0.19629E-12    0.00000E+00   -0.22747E-12    0.10872E-08    0.63647E-13    0.32180E-14
+  2894    0.35289E-11    0.19588E-12    0.00000E+00   -0.22957E-12    0.10864E-08    0.63171E-13    0.33113E-14
+  2895    0.35233E-11    0.19545E-12    0.00000E+00   -0.23161E-12    0.10856E-08    0.62691E-13    0.34043E-14
+  2896    0.35178E-11    0.19501E-12    0.00000E+00   -0.23364E-12    0.10848E-08    0.62209E-13    0.34968E-14
+  2897    0.35126E-11    0.19455E-12    0.00000E+00   -0.23566E-12    0.10840E-08    0.61723E-13    0.35881E-14
+  2898    0.35074E-11    0.19408E-12    0.00000E+00   -0.23765E-12    0.10833E-08    0.61236E-13    0.36778E-14
+  2899    0.35024E-11    0.19360E-12    0.00000E+00   -0.23960E-12    0.10825E-08    0.60747E-13    0.37654E-14
+  2900    0.34976E-11    0.19310E-12    0.00000E+00   -0.24152E-12    0.10817E-08    0.60256E-13    0.38503E-14
+  2901    0.34929E-11    0.19259E-12    0.00000E+00   -0.24342E-12    0.10809E-08    0.59764E-13    0.39321E-14
+  2902    0.34884E-11    0.19206E-12    0.00000E+00   -0.24530E-12    0.10802E-08    0.59272E-13    0.40104E-14
+  2903    0.34840E-11    0.19151E-12    0.00000E+00   -0.24715E-12    0.10794E-08    0.58779E-13    0.40853E-14
+  2904    0.34797E-11    0.19096E-12    0.00000E+00   -0.24896E-12    0.10786E-08    0.58288E-13    0.41570E-14
+  2905    0.34755E-11    0.19039E-12    0.00000E+00   -0.25074E-12    0.10778E-08    0.57800E-13    0.42257E-14
+  2906    0.34715E-11    0.18979E-12    0.00000E+00   -0.25249E-12    0.10771E-08    0.57315E-13    0.42917E-14
+  2907    0.34677E-11    0.18919E-12    0.00000E+00   -0.25422E-12    0.10763E-08    0.56835E-13    0.43552E-14
+  2908    0.34639E-11    0.18859E-12    0.00000E+00   -0.25591E-12    0.10755E-08    0.56361E-13    0.44164E-14
+  2909    0.34602E-11    0.18797E-12    0.00000E+00   -0.25756E-12    0.10747E-08    0.55893E-13    0.44757E-14
+  2910    0.34568E-11    0.18732E-12    0.00000E+00   -0.25919E-12    0.10740E-08    0.55429E-13    0.45333E-14
+  2911    0.34534E-11    0.18667E-12    0.00000E+00   -0.26077E-12    0.10732E-08    0.54964E-13    0.45899E-14
+  2912    0.34502E-11    0.18601E-12    0.00000E+00   -0.26234E-12    0.10724E-08    0.54497E-13    0.46458E-14
+  2913    0.34469E-11    0.18533E-12    0.00000E+00   -0.26386E-12    0.10717E-08    0.54024E-13    0.47015E-14
+  2914    0.34439E-11    0.18466E-12    0.00000E+00   -0.26534E-12    0.10709E-08    0.53541E-13    0.47576E-14
+  2915    0.34409E-11    0.18395E-12    0.00000E+00   -0.26680E-12    0.10701E-08    0.53044E-13    0.48145E-14
+  2916    0.34381E-11    0.18324E-12    0.00000E+00   -0.26821E-12    0.10694E-08    0.52533E-13    0.48725E-14
+  2917    0.34353E-11    0.18251E-12    0.00000E+00   -0.26958E-12    0.10686E-08    0.52008E-13    0.49313E-14
+  2918    0.34326E-11    0.18178E-12    0.00000E+00   -0.27094E-12    0.10678E-08    0.51471E-13    0.49906E-14
+  2919    0.34300E-11    0.18102E-12    0.00000E+00   -0.27223E-12    0.10671E-08    0.50926E-13    0.50500E-14
+  2920    0.34274E-11    0.18027E-12    0.00000E+00   -0.27350E-12    0.10663E-08    0.50375E-13    0.51089E-14
+  2921    0.34251E-11    0.17950E-12    0.00000E+00   -0.27472E-12    0.10655E-08    0.49821E-13    0.51671E-14
+  2922    0.34228E-11    0.17872E-12    0.00000E+00   -0.27590E-12    0.10648E-08    0.49265E-13    0.52240E-14
+  2923    0.34205E-11    0.17792E-12    0.00000E+00   -0.27705E-12    0.10640E-08    0.48712E-13    0.52794E-14
+  2924    0.34184E-11    0.17712E-12    0.00000E+00   -0.27815E-12    0.10633E-08    0.48158E-13    0.53333E-14
+  2925    0.34163E-11    0.17632E-12    0.00000E+00   -0.27921E-12    0.10625E-08    0.47605E-13    0.53858E-14
+  2926    0.34143E-11    0.17550E-12    0.00000E+00   -0.28023E-12    0.10617E-08    0.47050E-13    0.54372E-14
+  2927    0.34123E-11    0.17465E-12    0.00000E+00   -0.28121E-12    0.10610E-08    0.46492E-13    0.54875E-14
+  2928    0.34104E-11    0.17379E-12    0.00000E+00   -0.28215E-12    0.10602E-08    0.45931E-13    0.55369E-14
+  2929    0.34086E-11    0.17298E-12    0.00000E+00   -0.28305E-12    0.10595E-08    0.45365E-13    0.55856E-14
+  2930    0.34069E-11    0.17212E-12    0.00000E+00   -0.28391E-12    0.10587E-08    0.44794E-13    0.56335E-14
+  2931    0.34052E-11    0.17126E-12    0.00000E+00   -0.28472E-12    0.10580E-08    0.44219E-13    0.56804E-14
+  2932    0.34036E-11    0.17039E-12    0.00000E+00   -0.28549E-12    0.10572E-08    0.43644E-13    0.57257E-14
+  2933    0.34019E-11    0.16951E-12    0.00000E+00   -0.28624E-12    0.10564E-08    0.43071E-13    0.57690E-14
+  2934    0.34003E-11    0.16862E-12    0.00000E+00   -0.28693E-12    0.10557E-08    0.42504E-13    0.58099E-14
+  2935    0.33988E-11    0.16773E-12    0.00000E+00   -0.28757E-12    0.10549E-08    0.41944E-13    0.58478E-14
+  2936    0.33973E-11    0.16682E-12    0.00000E+00   -0.28815E-12    0.10542E-08    0.41394E-13    0.58824E-14
+  2937    0.33958E-11    0.16592E-12    0.00000E+00   -0.28872E-12    0.10534E-08    0.40857E-13    0.59133E-14
+  2938    0.33944E-11    0.16499E-12    0.00000E+00   -0.28922E-12    0.10527E-08    0.40331E-13    0.59408E-14
+  2939    0.33931E-11    0.16407E-12    0.00000E+00   -0.28968E-12    0.10519E-08    0.39815E-13    0.59653E-14
+  2940    0.33918E-11    0.16315E-12    0.00000E+00   -0.29012E-12    0.10512E-08    0.39307E-13    0.59872E-14
+  2941    0.33904E-11    0.16221E-12    0.00000E+00   -0.29050E-12    0.10504E-08    0.38807E-13    0.60068E-14
+  2942    0.33891E-11    0.16128E-12    0.00000E+00   -0.29083E-12    0.10497E-08    0.38311E-13    0.60246E-14
+  2943    0.33878E-11    0.16033E-12    0.00000E+00   -0.29113E-12    0.10489E-08    0.37820E-13    0.60409E-14
+  2944    0.33865E-11    0.15938E-12    0.00000E+00   -0.29138E-12    0.10482E-08    0.37330E-13    0.60562E-14
+  2945    0.33853E-11    0.15842E-12    0.00000E+00   -0.29159E-12    0.10474E-08    0.36841E-13    0.60706E-14
+  2946    0.33840E-11    0.15746E-12    0.00000E+00   -0.29175E-12    0.10467E-08    0.36352E-13    0.60840E-14
+  2947    0.33828E-11    0.15650E-12    0.00000E+00   -0.29188E-12    0.10459E-08    0.35861E-13    0.60968E-14
+  2948    0.33816E-11    0.15553E-12    0.00000E+00   -0.29195E-12    0.10452E-08    0.35366E-13    0.61089E-14
+  2949    0.33803E-11    0.15456E-12    0.00000E+00   -0.29198E-12    0.10445E-08    0.34867E-13    0.61204E-14
+  2950    0.33791E-11    0.15358E-12    0.00000E+00   -0.29198E-12    0.10437E-08    0.34363E-13    0.61314E-14
+  2951    0.33779E-11    0.15260E-12    0.00000E+00   -0.29193E-12    0.10430E-08    0.33851E-13    0.61420E-14
+  2952    0.33767E-11    0.15162E-12    0.00000E+00   -0.29184E-12    0.10422E-08    0.33333E-13    0.61520E-14
+  2953    0.33754E-11    0.15065E-12    0.00000E+00   -0.29169E-12    0.10415E-08    0.32811E-13    0.61613E-14
+  2954    0.33741E-11    0.14966E-12    0.00000E+00   -0.29152E-12    0.10407E-08    0.32285E-13    0.61698E-14
+  2955    0.33729E-11    0.14867E-12    0.00000E+00   -0.29129E-12    0.10400E-08    0.31755E-13    0.61773E-14
+  2956    0.33716E-11    0.14768E-12    0.00000E+00   -0.29102E-12    0.10393E-08    0.31224E-13    0.61835E-14
+  2957    0.33703E-11    0.14669E-12    0.00000E+00   -0.29072E-12    0.10385E-08    0.30693E-13    0.61884E-14
+  2958    0.33690E-11    0.14570E-12    0.00000E+00   -0.29037E-12    0.10378E-08    0.30162E-13    0.61919E-14
+  2959    0.33676E-11    0.14470E-12    0.00000E+00   -0.28999E-12    0.10370E-08    0.29631E-13    0.61939E-14
+  2960    0.33662E-11    0.14372E-12    0.00000E+00   -0.28955E-12    0.10363E-08    0.29100E-13    0.61946E-14
+  2961    0.33649E-11    0.14272E-12    0.00000E+00   -0.28908E-12    0.10356E-08    0.28570E-13    0.61940E-14
+  2962    0.33634E-11    0.14172E-12    0.00000E+00   -0.28858E-12    0.10348E-08    0.28040E-13    0.61923E-14
+  2963    0.33620E-11    0.14074E-12    0.00000E+00   -0.28802E-12    0.10341E-08    0.27511E-13    0.61894E-14
+  2964    0.33604E-11    0.13974E-12    0.00000E+00   -0.28742E-12    0.10334E-08    0.26981E-13    0.61855E-14
+  2965    0.33589E-11    0.13875E-12    0.00000E+00   -0.28679E-12    0.10326E-08    0.26453E-13    0.61805E-14
+  2966    0.33573E-11    0.13776E-12    0.00000E+00   -0.28612E-12    0.10319E-08    0.25926E-13    0.61743E-14
+  2967    0.33556E-11    0.13677E-12    0.00000E+00   -0.28541E-12    0.10312E-08    0.25405E-13    0.61667E-14
+  2968    0.33539E-11    0.13578E-12    0.00000E+00   -0.28466E-12    0.10304E-08    0.24890E-13    0.61572E-14
+  2969    0.33521E-11    0.13479E-12    0.00000E+00   -0.28386E-12    0.10297E-08    0.24386E-13    0.61457E-14
+  2970    0.33503E-11    0.13380E-12    0.00000E+00   -0.28303E-12    0.10290E-08    0.23894E-13    0.61319E-14
+  2971    0.33486E-11    0.13282E-12    0.00000E+00   -0.28218E-12    0.10282E-08    0.23416E-13    0.61154E-14
+  2972    0.33467E-11    0.13184E-12    0.00000E+00   -0.28127E-12    0.10275E-08    0.22954E-13    0.60962E-14
+  2973    0.33447E-11    0.13086E-12    0.00000E+00   -0.28034E-12    0.10268E-08    0.22507E-13    0.60745E-14
+  2974    0.33429E-11    0.12988E-12    0.00000E+00   -0.27936E-12    0.10261E-08    0.22073E-13    0.60507E-14
+  2975    0.33409E-11    0.12891E-12    0.00000E+00   -0.27836E-12    0.10253E-08    0.21649E-13    0.60251E-14
+  2976    0.33387E-11    0.12793E-12    0.00000E+00   -0.27731E-12    0.10246E-08    0.21235E-13    0.59980E-14
+  2977    0.33367E-11    0.12697E-12    0.00000E+00   -0.27624E-12    0.10239E-08    0.20826E-13    0.59700E-14
+  2978    0.33344E-11    0.12601E-12    0.00000E+00   -0.27513E-12    0.10232E-08    0.20422E-13    0.59412E-14
+  2979    0.33321E-11    0.12506E-12    0.00000E+00   -0.27399E-12    0.10224E-08    0.20020E-13    0.59121E-14
+  2980    0.33298E-11    0.12410E-12    0.00000E+00   -0.27281E-12    0.10217E-08    0.19620E-13    0.58825E-14
+  2981    0.33274E-11    0.12316E-12    0.00000E+00   -0.27160E-12    0.10210E-08    0.19221E-13    0.58523E-14
+  2982    0.33248E-11    0.12221E-12    0.00000E+00   -0.27036E-12    0.10203E-08    0.18823E-13    0.58214E-14
+  2983    0.33222E-11    0.12127E-12    0.00000E+00   -0.26909E-12    0.10195E-08    0.18423E-13    0.57897E-14
+  2984    0.33196E-11    0.12034E-12    0.00000E+00   -0.26779E-12    0.10188E-08    0.18023E-13    0.57570E-14
+  2985    0.33169E-11    0.11941E-12    0.00000E+00   -0.26645E-12    0.10181E-08    0.17622E-13    0.57232E-14
+  2986    0.33141E-11    0.11849E-12    0.00000E+00   -0.26509E-12    0.10174E-08    0.17218E-13    0.56881E-14
+  2987    0.33113E-11    0.11757E-12    0.00000E+00   -0.26371E-12    0.10166E-08    0.16813E-13    0.56518E-14
+  2988    0.33084E-11    0.11665E-12    0.00000E+00   -0.26227E-12    0.10159E-08    0.16407E-13    0.56142E-14
+  2989    0.33054E-11    0.11576E-12    0.00000E+00   -0.26082E-12    0.10152E-08    0.16001E-13    0.55753E-14
+  2990    0.33024E-11    0.11486E-12    0.00000E+00   -0.25935E-12    0.10145E-08    0.15597E-13    0.55351E-14
+  2991    0.32992E-11    0.11396E-12    0.00000E+00   -0.25785E-12    0.10138E-08    0.15194E-13    0.54935E-14
+  2992    0.32959E-11    0.11309E-12    0.00000E+00   -0.25632E-12    0.10131E-08    0.14795E-13    0.54506E-14
+  2993    0.32926E-11    0.11221E-12    0.00000E+00   -0.25477E-12    0.10123E-08    0.14399E-13    0.54063E-14
+  2994    0.32891E-11    0.11133E-12    0.00000E+00   -0.25320E-12    0.10116E-08    0.14007E-13    0.53606E-14
+  2995    0.32856E-11    0.11048E-12    0.00000E+00   -0.25158E-12    0.10109E-08    0.13617E-13    0.53137E-14
+  2996    0.32821E-11    0.10963E-12    0.00000E+00   -0.24997E-12    0.10102E-08    0.13231E-13    0.52656E-14
+  2997    0.32784E-11    0.10878E-12    0.00000E+00   -0.24831E-12    0.10095E-08    0.12847E-13    0.52162E-14
+  2998    0.32746E-11    0.10794E-12    0.00000E+00   -0.24666E-12    0.10088E-08    0.12466E-13    0.51657E-14
+  2999    0.32707E-11    0.10711E-12    0.00000E+00   -0.24496E-12    0.10081E-08    0.12087E-13    0.51141E-14
+  3000    0.32668E-11    0.10629E-12    0.00000E+00   -0.24325E-12    0.10073E-08    0.11710E-13    0.50614E-14
+  3001    0.32628E-11    0.10547E-12    0.00000E+00   -0.24152E-12    0.10066E-08    0.11338E-13    0.50076E-14
+  3002    0.32587E-11    0.10467E-12    0.00000E+00   -0.23977E-12    0.10059E-08    0.10972E-13    0.49529E-14
+  3003    0.32544E-11    0.10387E-12    0.00000E+00   -0.23801E-12    0.10052E-08    0.10615E-13    0.48971E-14
+  3004    0.32501E-11    0.10308E-12    0.00000E+00   -0.23622E-12    0.10045E-08    0.10270E-13    0.48404E-14
+  3005    0.32457E-11    0.10231E-12    0.00000E+00   -0.23441E-12    0.10038E-08    0.99393E-14    0.47826E-14
+  3006    0.32413E-11    0.10154E-12    0.00000E+00   -0.23259E-12    0.10031E-08    0.96249E-14    0.47239E-14
+  3007    0.32367E-11    0.10078E-12    0.00000E+00   -0.23076E-12    0.10024E-08    0.93287E-14    0.46643E-14
+  3008    0.32321E-11    0.10002E-12    0.00000E+00   -0.22891E-12    0.10017E-08    0.90489E-14    0.46038E-14
+  3009    0.32273E-11    0.99285E-13    0.00000E+00   -0.22705E-12    0.10010E-08    0.87829E-14    0.45426E-14
+  3010    0.32225E-11    0.98562E-13    0.00000E+00   -0.22517E-12    0.10003E-08    0.85281E-14    0.44808E-14
+  3011    0.32176E-11    0.97838E-13    0.00000E+00   -0.22328E-12    0.99955E-09    0.82819E-14    0.44185E-14
+  3012    0.32126E-11    0.97127E-13    0.00000E+00   -0.22138E-12    0.99885E-09    0.80418E-14    0.43558E-14
+  3013    0.32074E-11    0.96425E-13    0.00000E+00   -0.21946E-12    0.99814E-09    0.78051E-14    0.42929E-14
+  3014    0.32023E-11    0.95737E-13    0.00000E+00   -0.21754E-12    0.99744E-09    0.75698E-14    0.42297E-14
+  3015    0.31969E-11    0.95055E-13    0.00000E+00   -0.21560E-12    0.99674E-09    0.73354E-14    0.41662E-14
+  3016    0.31916E-11    0.94384E-13    0.00000E+00   -0.21367E-12    0.99604E-09    0.71023E-14    0.41022E-14
+  3017    0.31860E-11    0.93724E-13    0.00000E+00   -0.21171E-12    0.99533E-09    0.68706E-14    0.40376E-14
+  3018    0.31805E-11    0.93073E-13    0.00000E+00   -0.20976E-12    0.99463E-09    0.66404E-14    0.39721E-14
+  3019    0.31748E-11    0.92431E-13    0.00000E+00   -0.20779E-12    0.99393E-09    0.64119E-14    0.39057E-14
+  3020    0.31691E-11    0.91802E-13    0.00000E+00   -0.20582E-12    0.99323E-09    0.61854E-14    0.38381E-14
+  3021    0.31631E-11    0.91184E-13    0.00000E+00   -0.20385E-12    0.99253E-09    0.59610E-14    0.37692E-14
+  3022    0.31572E-11    0.90576E-13    0.00000E+00   -0.20187E-12    0.99184E-09    0.57393E-14    0.36991E-14
+  3023    0.31510E-11    0.89980E-13    0.00000E+00   -0.19988E-12    0.99114E-09    0.55209E-14    0.36277E-14
+  3024    0.31449E-11    0.89394E-13    0.00000E+00   -0.19788E-12    0.99044E-09    0.53065E-14    0.35550E-14
+  3025    0.31388E-11    0.88819E-13    0.00000E+00   -0.19589E-12    0.98974E-09    0.50965E-14    0.34810E-14
+  3026    0.31327E-11    0.88256E-13    0.00000E+00   -0.19389E-12    0.98905E-09    0.48916E-14    0.34059E-14
+  3027    0.31263E-11    0.87703E-13    0.00000E+00   -0.19189E-12    0.98835E-09    0.46924E-14    0.33295E-14
+  3028    0.31198E-11    0.87162E-13    0.00000E+00   -0.18989E-12    0.98766E-09    0.44994E-14    0.32519E-14
+  3029    0.31132E-11    0.86632E-13    0.00000E+00   -0.18790E-12    0.98696E-09    0.43124E-14    0.31732E-14
+  3030    0.31066E-11    0.86114E-13    0.00000E+00   -0.18590E-12    0.98627E-09    0.41309E-14    0.30935E-14
+  3031    0.30999E-11    0.85605E-13    0.00000E+00   -0.18391E-12    0.98557E-09    0.39546E-14    0.30128E-14
+  3032    0.30931E-11    0.85109E-13    0.00000E+00   -0.18192E-12    0.98488E-09    0.37832E-14    0.29313E-14
+  3033    0.30862E-11    0.84622E-13    0.00000E+00   -0.17993E-12    0.98419E-09    0.36163E-14    0.28490E-14
+  3034    0.30792E-11    0.84149E-13    0.00000E+00   -0.17794E-12    0.98350E-09    0.34535E-14    0.27661E-14
+  3035    0.30722E-11    0.83687E-13    0.00000E+00   -0.17596E-12    0.98281E-09    0.32948E-14    0.26826E-14
+  3036    0.30651E-11    0.83235E-13    0.00000E+00   -0.17397E-12    0.98212E-09    0.31415E-14    0.25987E-14
+  3037    0.30578E-11    0.82795E-13    0.00000E+00   -0.17200E-12    0.98143E-09    0.29953E-14    0.25146E-14
+  3038    0.30506E-11    0.82366E-13    0.00000E+00   -0.17003E-12    0.98074E-09    0.28579E-14    0.24305E-14
+  3039    0.30432E-11    0.81947E-13    0.00000E+00   -0.16808E-12    0.98005E-09    0.27310E-14    0.23466E-14
+  3040    0.30358E-11    0.81541E-13    0.00000E+00   -0.16613E-12    0.97936E-09    0.26163E-14    0.22632E-14
+  3041    0.30282E-11    0.81146E-13    0.00000E+00   -0.16418E-12    0.97867E-09    0.25153E-14    0.21804E-14
+  3042    0.30207E-11    0.80762E-13    0.00000E+00   -0.16225E-12    0.97799E-09    0.24293E-14    0.20983E-14
+  3043    0.30129E-11    0.80389E-13    0.00000E+00   -0.16032E-12    0.97730E-09    0.23564E-14    0.20169E-14
+  3044    0.30051E-11    0.80029E-13    0.00000E+00   -0.15840E-12    0.97661E-09    0.22943E-14    0.19360E-14
+  3045    0.29973E-11    0.79678E-13    0.00000E+00   -0.15650E-12    0.97593E-09    0.22408E-14    0.18556E-14
+  3046    0.29894E-11    0.79340E-13    0.00000E+00   -0.15460E-12    0.97525E-09    0.21934E-14    0.17753E-14
+  3047    0.29815E-11    0.79012E-13    0.00000E+00   -0.15272E-12    0.97456E-09    0.21498E-14    0.16951E-14
+  3048    0.29735E-11    0.78694E-13    0.00000E+00   -0.15084E-12    0.97388E-09    0.21077E-14    0.16148E-14
+  3049    0.29654E-11    0.78389E-13    0.00000E+00   -0.14898E-12    0.97320E-09    0.20653E-14    0.15343E-14
+  3050    0.29573E-11    0.78095E-13    0.00000E+00   -0.14714E-12    0.97251E-09    0.20232E-14    0.14535E-14
+  3051    0.29489E-11    0.77811E-13    0.00000E+00   -0.14530E-12    0.97183E-09    0.19825E-14    0.13724E-14
+  3052    0.29407E-11    0.77537E-13    0.00000E+00   -0.14348E-12    0.97115E-09    0.19444E-14    0.12908E-14
+  3053    0.29323E-11    0.77276E-13    0.00000E+00   -0.14167E-12    0.97047E-09    0.19100E-14    0.12087E-14
+  3054    0.29240E-11    0.77024E-13    0.00000E+00   -0.13989E-12    0.96979E-09    0.18804E-14    0.11260E-14
+  3055    0.29156E-11    0.76783E-13    0.00000E+00   -0.13812E-12    0.96911E-09    0.18568E-14    0.10427E-14
+  3056    0.29071E-11    0.76553E-13    0.00000E+00   -0.13636E-12    0.96843E-09    0.18401E-14    0.95870E-15
+  3057    0.28985E-11    0.76333E-13    0.00000E+00   -0.13462E-12    0.96775E-09    0.18302E-14    0.87391E-15
+  3058    0.28899E-11    0.76124E-13    0.00000E+00   -0.13291E-12    0.96708E-09    0.18268E-14    0.78834E-15
+  3059    0.28812E-11    0.75925E-13    0.00000E+00   -0.13120E-12    0.96640E-09    0.18293E-14    0.70193E-15
+  3060    0.28725E-11    0.75736E-13    0.00000E+00   -0.12951E-12    0.96572E-09    0.18377E-14    0.61466E-15
+  3061    0.28637E-11    0.75558E-13    0.00000E+00   -0.12785E-12    0.96505E-09    0.18513E-14    0.52649E-15
+  3062    0.28550E-11    0.75391E-13    0.00000E+00   -0.12621E-12    0.96437E-09    0.18700E-14    0.43739E-15
+  3063    0.28462E-11    0.75231E-13    0.00000E+00   -0.12457E-12    0.96370E-09    0.18935E-14    0.34735E-15
+  3064    0.28372E-11    0.75084E-13    0.00000E+00   -0.12296E-12    0.96302E-09    0.19222E-14    0.25652E-15
+  3065    0.28283E-11    0.74945E-13    0.00000E+00   -0.12137E-12    0.96235E-09    0.19564E-14    0.16509E-15
+  3066    0.28193E-11    0.74817E-13    0.00000E+00   -0.11981E-12    0.96168E-09    0.19968E-14    0.73239E-16
+  3067    0.28103E-11    0.74698E-13    0.00000E+00   -0.11827E-12    0.96100E-09    0.20438E-14   -0.18836E-16
+  3068    0.28013E-11    0.74590E-13    0.00000E+00   -0.11674E-12    0.96033E-09    0.20978E-14   -0.11095E-15
+  3069    0.27922E-11    0.74490E-13    0.00000E+00   -0.11525E-12    0.95966E-09    0.21593E-14   -0.20293E-15
+  3070    0.27830E-11    0.74399E-13    0.00000E+00   -0.11377E-12    0.95899E-09    0.22288E-14   -0.29457E-15
+  3071    0.27738E-11    0.74317E-13    0.00000E+00   -0.11231E-12    0.95832E-09    0.23057E-14   -0.38568E-15
+  3072    0.27646E-11    0.74245E-13    0.00000E+00   -0.11089E-12    0.95765E-09    0.23896E-14   -0.47606E-15
+  3073    0.27554E-11    0.74181E-13    0.00000E+00   -0.10948E-12    0.95698E-09    0.24800E-14   -0.56551E-15
+  3074    0.27462E-11    0.74126E-13    0.00000E+00   -0.10810E-12    0.95631E-09    0.25765E-14   -0.65381E-15
+  3075    0.27369E-11    0.74080E-13    0.00000E+00   -0.10673E-12    0.95565E-09    0.26783E-14   -0.74077E-15
+  3076    0.27277E-11    0.74043E-13    0.00000E+00   -0.10540E-12    0.95498E-09    0.27852E-14   -0.82620E-15
+  3077    0.27183E-11    0.74014E-13    0.00000E+00   -0.10409E-12    0.95431E-09    0.28965E-14   -0.90995E-15
+  3078    0.27091E-11    0.73993E-13    0.00000E+00   -0.10280E-12    0.95364E-09    0.30122E-14   -0.99221E-15
+  3079    0.26997E-11    0.73981E-13    0.00000E+00   -0.10154E-12    0.95298E-09    0.31322E-14   -0.10732E-14
+  3080    0.26904E-11    0.73976E-13    0.00000E+00   -0.10031E-12    0.95231E-09    0.32565E-14   -0.11533E-14
+  3081    0.26810E-11    0.73979E-13    0.00000E+00   -0.99095E-13    0.95165E-09    0.33849E-14   -0.12326E-14
+  3082    0.26716E-11    0.73990E-13    0.00000E+00   -0.97915E-13    0.95099E-09    0.35174E-14   -0.13115E-14
+  3083    0.26622E-11    0.74010E-13    0.00000E+00   -0.96757E-13    0.95032E-09    0.36539E-14   -0.13902E-14
+  3084    0.26529E-11    0.74036E-13    0.00000E+00   -0.95622E-13    0.94966E-09    0.37943E-14   -0.14689E-14
+  3085    0.26434E-11    0.74069E-13    0.00000E+00   -0.94519E-13    0.94900E-09    0.39385E-14   -0.15476E-14
+  3086    0.26340E-11    0.74109E-13    0.00000E+00   -0.93440E-13    0.94834E-09    0.40862E-14   -0.16263E-14
+  3087    0.26246E-11    0.74156E-13    0.00000E+00   -0.92390E-13    0.94767E-09    0.42372E-14   -0.17051E-14
+  3088    0.26152E-11    0.74211E-13    0.00000E+00   -0.91366E-13    0.94701E-09    0.43914E-14   -0.17839E-14
+  3089    0.26058E-11    0.74273E-13    0.00000E+00   -0.90370E-13    0.94635E-09    0.45486E-14   -0.18627E-14
+  3090    0.25963E-11    0.74340E-13    0.00000E+00   -0.89401E-13    0.94569E-09    0.47085E-14   -0.19415E-14
+  3091    0.25870E-11    0.74413E-13    0.00000E+00   -0.88460E-13    0.94504E-09    0.48712E-14   -0.20202E-14
+  3092    0.25775E-11    0.74494E-13    0.00000E+00   -0.87545E-13    0.94438E-09    0.50376E-14   -0.20991E-14
+  3093    0.25681E-11    0.74580E-13    0.00000E+00   -0.86659E-13    0.94372E-09    0.52087E-14   -0.21781E-14
+  3094    0.25587E-11    0.74673E-13    0.00000E+00   -0.85799E-13    0.94306E-09    0.53858E-14   -0.22574E-14
+  3095    0.25493E-11    0.74770E-13    0.00000E+00   -0.84968E-13    0.94240E-09    0.55699E-14   -0.23371E-14
+  3096    0.25399E-11    0.74873E-13    0.00000E+00   -0.84164E-13    0.94175E-09    0.57623E-14   -0.24172E-14
+  3097    0.25306E-11    0.74982E-13    0.00000E+00   -0.83388E-13    0.94109E-09    0.59639E-14   -0.24979E-14
+  3098    0.25212E-11    0.75096E-13    0.00000E+00   -0.82640E-13    0.94044E-09    0.61755E-14   -0.25792E-14
+  3099    0.25119E-11    0.75215E-13    0.00000E+00   -0.81920E-13    0.93978E-09    0.63961E-14   -0.26608E-14
+  3100    0.25026E-11    0.75339E-13    0.00000E+00   -0.81228E-13    0.93913E-09    0.66243E-14   -0.27426E-14
+  3101    0.24933E-11    0.75467E-13    0.00000E+00   -0.80564E-13    0.93848E-09    0.68588E-14   -0.28241E-14
+  3102    0.24841E-11    0.75601E-13    0.00000E+00   -0.79928E-13    0.93782E-09    0.70981E-14   -0.29052E-14
+  3103    0.24748E-11    0.75738E-13    0.00000E+00   -0.79320E-13    0.93717E-09    0.73409E-14   -0.29855E-14
+  3104    0.24656E-11    0.75880E-13    0.00000E+00   -0.78741E-13    0.93652E-09    0.75857E-14   -0.30648E-14
+  3105    0.24564E-11    0.76026E-13    0.00000E+00   -0.78189E-13    0.93587E-09    0.78314E-14   -0.31427E-14
+  3106    0.24472E-11    0.76176E-13    0.00000E+00   -0.77665E-13    0.93522E-09    0.80781E-14   -0.32193E-14
+  3107    0.24381E-11    0.76329E-13    0.00000E+00   -0.77168E-13    0.93457E-09    0.83263E-14   -0.32944E-14
+  3108    0.24290E-11    0.76488E-13    0.00000E+00   -0.76700E-13    0.93392E-09    0.85762E-14   -0.33678E-14
+  3109    0.24199E-11    0.76648E-13    0.00000E+00   -0.76258E-13    0.93327E-09    0.88283E-14   -0.34396E-14
+  3110    0.24109E-11    0.76811E-13    0.00000E+00   -0.75845E-13    0.93262E-09    0.90828E-14   -0.35096E-14
+  3111    0.24019E-11    0.76978E-13    0.00000E+00   -0.75458E-13    0.93197E-09    0.93403E-14   -0.35777E-14
+  3112    0.23929E-11    0.77148E-13    0.00000E+00   -0.75100E-13    0.93132E-09    0.96010E-14   -0.36440E-14
+  3113    0.23839E-11    0.77320E-13    0.00000E+00   -0.74769E-13    0.93068E-09    0.98644E-14   -0.37085E-14
+  3114    0.23750E-11    0.77494E-13    0.00000E+00   -0.74465E-13    0.93003E-09    0.10130E-13   -0.37715E-14
+  3115    0.23661E-11    0.77671E-13    0.00000E+00   -0.74187E-13    0.92938E-09    0.10397E-13   -0.38333E-14
+  3116    0.23575E-11    0.77851E-13    0.00000E+00   -0.73935E-13    0.92874E-09    0.10666E-13   -0.38942E-14
+  3117    0.23487E-11    0.78033E-13    0.00000E+00   -0.73711E-13    0.92809E-09    0.10935E-13   -0.39543E-14
+  3118    0.23400E-11    0.78215E-13    0.00000E+00   -0.73513E-13    0.92745E-09    0.11204E-13   -0.40140E-14
+  3119    0.23313E-11    0.78400E-13    0.00000E+00   -0.73342E-13    0.92681E-09    0.11473E-13   -0.40734E-14
+  3120    0.23227E-11    0.78587E-13    0.00000E+00   -0.73197E-13    0.92616E-09    0.11742E-13   -0.41326E-14
+  3121    0.23141E-11    0.78775E-13    0.00000E+00   -0.73077E-13    0.92552E-09    0.12012E-13   -0.41915E-14
+  3122    0.23059E-11    0.78964E-13    0.00000E+00   -0.72983E-13    0.92488E-09    0.12283E-13   -0.42500E-14
+  3123    0.22974E-11    0.79153E-13    0.00000E+00   -0.72914E-13    0.92424E-09    0.12557E-13   -0.43082E-14
+  3124    0.22890E-11    0.79343E-13    0.00000E+00   -0.72870E-13    0.92360E-09    0.12834E-13   -0.43659E-14
+  3125    0.22804E-11    0.79535E-13    0.00000E+00   -0.72851E-13    0.92295E-09    0.13115E-13   -0.44231E-14
+  3126    0.22722E-11    0.79727E-13    0.00000E+00   -0.72857E-13    0.92231E-09    0.13400E-13   -0.44799E-14
+  3127    0.22639E-11    0.79920E-13    0.00000E+00   -0.72888E-13    0.92168E-09    0.13690E-13   -0.45362E-14
+  3128    0.22557E-11    0.80112E-13    0.00000E+00   -0.72942E-13    0.92104E-09    0.13985E-13   -0.45921E-14
+  3129    0.22476E-11    0.80304E-13    0.00000E+00   -0.73020E-13    0.92040E-09    0.14286E-13   -0.46478E-14
+  3130    0.22395E-11    0.80496E-13    0.00000E+00   -0.73124E-13    0.91976E-09    0.14593E-13   -0.47033E-14
+  3131    0.22315E-11    0.80689E-13    0.00000E+00   -0.73249E-13    0.91912E-09    0.14905E-13   -0.47588E-14
+  3132    0.22235E-11    0.80881E-13    0.00000E+00   -0.73397E-13    0.91849E-09    0.15225E-13   -0.48142E-14
+  3133    0.22156E-11    0.81072E-13    0.00000E+00   -0.73568E-13    0.91785E-09    0.15551E-13   -0.48696E-14
+  3134    0.22078E-11    0.81262E-13    0.00000E+00   -0.73761E-13    0.91721E-09    0.15884E-13   -0.49248E-14
+  3135    0.22001E-11    0.81453E-13    0.00000E+00   -0.73978E-13    0.91658E-09    0.16221E-13   -0.49795E-14
+  3136    0.21923E-11    0.81642E-13    0.00000E+00   -0.74216E-13    0.91594E-09    0.16561E-13   -0.50333E-14
+  3137    0.21847E-11    0.81829E-13    0.00000E+00   -0.74474E-13    0.91531E-09    0.16905E-13   -0.50861E-14
+  3138    0.21771E-11    0.82015E-13    0.00000E+00   -0.74754E-13    0.91468E-09    0.17249E-13   -0.51374E-14
+  3139    0.21697E-11    0.82199E-13    0.00000E+00   -0.75054E-13    0.91404E-09    0.17594E-13   -0.51871E-14
+  3140    0.21623E-11    0.82382E-13    0.00000E+00   -0.75377E-13    0.91341E-09    0.17938E-13   -0.52347E-14
+  3141    0.21548E-11    0.82564E-13    0.00000E+00   -0.75717E-13    0.91278E-09    0.18281E-13   -0.52805E-14
+  3142    0.21476E-11    0.82742E-13    0.00000E+00   -0.76078E-13    0.91215E-09    0.18622E-13   -0.53243E-14
+  3143    0.21405E-11    0.82919E-13    0.00000E+00   -0.76458E-13    0.91152E-09    0.18961E-13   -0.53664E-14
+  3144    0.21333E-11    0.83095E-13    0.00000E+00   -0.76857E-13    0.91088E-09    0.19298E-13   -0.54067E-14
+  3145    0.21262E-11    0.83268E-13    0.00000E+00   -0.77275E-13    0.91025E-09    0.19632E-13   -0.54453E-14
+  3146    0.21192E-11    0.83437E-13    0.00000E+00   -0.77711E-13    0.90963E-09    0.19962E-13   -0.54822E-14
+  3147    0.21123E-11    0.83605E-13    0.00000E+00   -0.78164E-13    0.90900E-09    0.20290E-13   -0.55176E-14
+  3148    0.21055E-11    0.83770E-13    0.00000E+00   -0.78635E-13    0.90837E-09    0.20615E-13   -0.55517E-14
+  3149    0.20987E-11    0.83932E-13    0.00000E+00   -0.79123E-13    0.90774E-09    0.20938E-13   -0.55844E-14
+  3150    0.20920E-11    0.84091E-13    0.00000E+00   -0.79627E-13    0.90711E-09    0.21260E-13   -0.56161E-14
+  3151    0.20854E-11    0.84248E-13    0.00000E+00   -0.80148E-13    0.90649E-09    0.21581E-13   -0.56469E-14
+  3152    0.20789E-11    0.84400E-13    0.00000E+00   -0.80685E-13    0.90586E-09    0.21903E-13   -0.56768E-14
+  3153    0.20723E-11    0.84550E-13    0.00000E+00   -0.81237E-13    0.90523E-09    0.22227E-13   -0.57062E-14
+  3154    0.20660E-11    0.84696E-13    0.00000E+00   -0.81803E-13    0.90461E-09    0.22552E-13   -0.57351E-14
+  3155    0.20596E-11    0.84839E-13    0.00000E+00   -0.82384E-13    0.90398E-09    0.22878E-13   -0.57635E-14
+  3156    0.20534E-11    0.84977E-13    0.00000E+00   -0.82980E-13    0.90336E-09    0.23206E-13   -0.57913E-14
+  3157    0.20472E-11    0.85113E-13    0.00000E+00   -0.83589E-13    0.90274E-09    0.23534E-13   -0.58185E-14
+  3158    0.20411E-11    0.85244E-13    0.00000E+00   -0.84210E-13    0.90211E-09    0.23862E-13   -0.58451E-14
+  3159    0.20351E-11    0.85371E-13    0.00000E+00   -0.84845E-13    0.90149E-09    0.24189E-13   -0.58710E-14
+  3160    0.20291E-11    0.85494E-13    0.00000E+00   -0.85492E-13    0.90087E-09    0.24515E-13   -0.58962E-14
+  3161    0.20233E-11    0.85614E-13    0.00000E+00   -0.86151E-13    0.90025E-09    0.24839E-13   -0.59205E-14
+  3162    0.20175E-11    0.85729E-13    0.00000E+00   -0.86821E-13    0.89962E-09    0.25163E-13   -0.59442E-14
+  3163    0.20118E-11    0.85839E-13    0.00000E+00   -0.87502E-13    0.89900E-09    0.25489E-13   -0.59671E-14
+  3164    0.20061E-11    0.85945E-13    0.00000E+00   -0.88194E-13    0.89838E-09    0.25817E-13   -0.59892E-14
+  3165    0.20005E-11    0.86046E-13    0.00000E+00   -0.88896E-13    0.89776E-09    0.26149E-13   -0.60107E-14
+  3166    0.19950E-11    0.86143E-13    0.00000E+00   -0.89608E-13    0.89714E-09    0.26488E-13   -0.60315E-14
+  3167    0.19897E-11    0.86234E-13    0.00000E+00   -0.90328E-13    0.89653E-09    0.26833E-13   -0.60517E-14
+  3168    0.19844E-11    0.86322E-13    0.00000E+00   -0.91057E-13    0.89591E-09    0.27187E-13   -0.60712E-14
+  3169    0.19792E-11    0.86405E-13    0.00000E+00   -0.91795E-13    0.89529E-09    0.27547E-13   -0.60899E-14
+  3170    0.19740E-11    0.86482E-13    0.00000E+00   -0.92542E-13    0.89467E-09    0.27912E-13   -0.61076E-14
+  3171    0.19688E-11    0.86554E-13    0.00000E+00   -0.93294E-13    0.89406E-09    0.28278E-13   -0.61240E-14
+  3172    0.19640E-11    0.86622E-13    0.00000E+00   -0.94055E-13    0.89344E-09    0.28644E-13   -0.61392E-14
+  3173    0.19590E-11    0.86684E-13    0.00000E+00   -0.94822E-13    0.89282E-09    0.29006E-13   -0.61527E-14
+  3174    0.19542E-11    0.86740E-13    0.00000E+00   -0.95593E-13    0.89221E-09    0.29364E-13   -0.61644E-14
+  3175    0.19495E-11    0.86791E-13    0.00000E+00   -0.96370E-13    0.89159E-09    0.29714E-13   -0.61743E-14
+  3176    0.19448E-11    0.86838E-13    0.00000E+00   -0.97152E-13    0.89098E-09    0.30057E-13   -0.61823E-14
+  3177    0.19402E-11    0.86878E-13    0.00000E+00   -0.97938E-13    0.89037E-09    0.30393E-13   -0.61886E-14
+  3178    0.19357E-11    0.86914E-13    0.00000E+00   -0.98729E-13    0.88975E-09    0.30723E-13   -0.61933E-14
+  3179    0.19311E-11    0.86943E-13    0.00000E+00   -0.99525E-13    0.88914E-09    0.31048E-13   -0.61966E-14
+  3180    0.19266E-11    0.86968E-13    0.00000E+00   -0.10033E-12    0.88853E-09    0.31369E-13   -0.61986E-14
+  3181    0.19223E-11    0.86986E-13    0.00000E+00   -0.10113E-12    0.88792E-09    0.31685E-13   -0.61994E-14
+  3182    0.19181E-11    0.86999E-13    0.00000E+00   -0.10193E-12    0.88730E-09    0.31998E-13   -0.61992E-14
+  3183    0.19140E-11    0.87006E-13    0.00000E+00   -0.10274E-12    0.88669E-09    0.32307E-13   -0.61980E-14
+  3184    0.19098E-11    0.87008E-13    0.00000E+00   -0.10355E-12    0.88608E-09    0.32614E-13   -0.61959E-14
+  3185    0.19058E-11    0.87004E-13    0.00000E+00   -0.10435E-12    0.88547E-09    0.32919E-13   -0.61929E-14
+  3186    0.19018E-11    0.86996E-13    0.00000E+00   -0.10516E-12    0.88486E-09    0.33222E-13   -0.61892E-14
+  3187    0.18980E-11    0.86980E-13    0.00000E+00   -0.10597E-12    0.88426E-09    0.33523E-13   -0.61847E-14
+  3188    0.18941E-11    0.86956E-13    0.00000E+00   -0.10678E-12    0.88365E-09    0.33823E-13   -0.61795E-14
+  3189    0.18904E-11    0.86928E-13    0.00000E+00   -0.10759E-12    0.88304E-09    0.34122E-13   -0.61738E-14
+  3190    0.18867E-11    0.86895E-13    0.00000E+00   -0.10839E-12    0.88243E-09    0.34420E-13   -0.61674E-14
+  3191    0.18831E-11    0.86855E-13    0.00000E+00   -0.10920E-12    0.88183E-09    0.34717E-13   -0.61604E-14
+  3192    0.18795E-11    0.86809E-13    0.00000E+00   -0.11000E-12    0.88122E-09    0.35013E-13   -0.61528E-14
+  3193    0.18760E-11    0.86757E-13    0.00000E+00   -0.11080E-12    0.88061E-09    0.35306E-13   -0.61445E-14
+  3194    0.18727E-11    0.86699E-13    0.00000E+00   -0.11160E-12    0.88001E-09    0.35598E-13   -0.61357E-14
+  3195    0.18694E-11    0.86636E-13    0.00000E+00   -0.11240E-12    0.87940E-09    0.35887E-13   -0.61262E-14
+  3196    0.18661E-11    0.86566E-13    0.00000E+00   -0.11319E-12    0.87880E-09    0.36173E-13   -0.61161E-14
+  3197    0.18629E-11    0.86490E-13    0.00000E+00   -0.11396E-12    0.87820E-09    0.36457E-13   -0.61053E-14
+  3198    0.18597E-11    0.86410E-13    0.00000E+00   -0.11475E-12    0.87759E-09    0.36742E-13   -0.60936E-14
+  3199    0.18567E-11    0.86322E-13    0.00000E+00   -0.11553E-12    0.87699E-09    0.37027E-13   -0.60810E-14
+  3200    0.18537E-11    0.86229E-13    0.00000E+00   -0.11629E-12    0.87639E-09    0.37314E-13   -0.60674E-14
+  3201    0.18507E-11    0.86130E-13    0.00000E+00   -0.11707E-12    0.87579E-09    0.37605E-13   -0.60525E-14
+  3202    0.18478E-11    0.86023E-13    0.00000E+00   -0.11783E-12    0.87518E-09    0.37900E-13   -0.60365E-14
+  3203    0.18450E-11    0.85913E-13    0.00000E+00   -0.11858E-12    0.87458E-09    0.38200E-13   -0.60190E-14
+  3204    0.18422E-11    0.85796E-13    0.00000E+00   -0.11934E-12    0.87398E-09    0.38504E-13   -0.60002E-14
+  3205    0.18395E-11    0.85672E-13    0.00000E+00   -0.12008E-12    0.87338E-09    0.38808E-13   -0.59801E-14
+  3206    0.18368E-11    0.85542E-13    0.00000E+00   -0.12080E-12    0.87278E-09    0.39110E-13   -0.59587E-14
+  3207    0.18343E-11    0.85407E-13    0.00000E+00   -0.12154E-12    0.87219E-09    0.39408E-13   -0.59360E-14
+  3208    0.18317E-11    0.85265E-13    0.00000E+00   -0.12225E-12    0.87159E-09    0.39700E-13   -0.59120E-14
+  3209    0.18291E-11    0.85118E-13    0.00000E+00   -0.12296E-12    0.87099E-09    0.39981E-13   -0.58868E-14
+  3210    0.18267E-11    0.84965E-13    0.00000E+00   -0.12366E-12    0.87039E-09    0.40252E-13   -0.58603E-14
+  3211    0.18243E-11    0.84807E-13    0.00000E+00   -0.12437E-12    0.86979E-09    0.40512E-13   -0.58327E-14
+  3212    0.18219E-11    0.84643E-13    0.00000E+00   -0.12503E-12    0.86920E-09    0.40763E-13   -0.58041E-14
+  3213    0.18196E-11    0.84473E-13    0.00000E+00   -0.12570E-12    0.86860E-09    0.41007E-13   -0.57745E-14
+  3214    0.18174E-11    0.84297E-13    0.00000E+00   -0.12636E-12    0.86801E-09    0.41245E-13   -0.57441E-14
+  3215    0.18151E-11    0.84115E-13    0.00000E+00   -0.12701E-12    0.86741E-09    0.41478E-13   -0.57129E-14
+  3216    0.18130E-11    0.83928E-13    0.00000E+00   -0.12764E-12    0.86682E-09    0.41707E-13   -0.56810E-14
+  3217    0.18109E-11    0.83735E-13    0.00000E+00   -0.12827E-12    0.86622E-09    0.41935E-13   -0.56486E-14
+  3218    0.18088E-11    0.83537E-13    0.00000E+00   -0.12888E-12    0.86563E-09    0.42161E-13   -0.56156E-14
+  3219    0.18068E-11    0.83334E-13    0.00000E+00   -0.12949E-12    0.86504E-09    0.42384E-13   -0.55820E-14
+  3220    0.18048E-11    0.83124E-13    0.00000E+00   -0.13008E-12    0.86444E-09    0.42605E-13   -0.55479E-14
+  3221    0.18029E-11    0.82909E-13    0.00000E+00   -0.13065E-12    0.86385E-09    0.42823E-13   -0.55131E-14
+  3222    0.18011E-11    0.82689E-13    0.00000E+00   -0.13122E-12    0.86326E-09    0.43037E-13   -0.54777E-14
+  3223    0.17992E-11    0.82465E-13    0.00000E+00   -0.13177E-12    0.86267E-09    0.43248E-13   -0.54416E-14
+  3224    0.17973E-11    0.82235E-13    0.00000E+00   -0.13231E-12    0.86208E-09    0.43455E-13   -0.54049E-14
+  3225    0.17955E-11    0.81999E-13    0.00000E+00   -0.13284E-12    0.86149E-09    0.43659E-13   -0.53677E-14
+  3226    0.17938E-11    0.81759E-13    0.00000E+00   -0.13335E-12    0.86090E-09    0.43859E-13   -0.53299E-14
+  3227    0.17920E-11    0.81514E-13    0.00000E+00   -0.13385E-12    0.86031E-09    0.44056E-13   -0.52917E-14
+  3228    0.17903E-11    0.81264E-13    0.00000E+00   -0.13434E-12    0.85972E-09    0.44251E-13   -0.52532E-14
+  3229    0.17886E-11    0.81009E-13    0.00000E+00   -0.13481E-12    0.85913E-09    0.44442E-13   -0.52144E-14
+  3230    0.17871E-11    0.80748E-13    0.00000E+00   -0.13526E-12    0.85854E-09    0.44632E-13   -0.51753E-14
+  3231    0.17854E-11    0.80484E-13    0.00000E+00   -0.13570E-12    0.85796E-09    0.44819E-13   -0.51361E-14
+  3232    0.17839E-11    0.80215E-13    0.00000E+00   -0.13613E-12    0.85737E-09    0.45005E-13   -0.50964E-14
+  3233    0.17823E-11    0.79941E-13    0.00000E+00   -0.13654E-12    0.85678E-09    0.45189E-13   -0.50562E-14
+  3234    0.17806E-11    0.79662E-13    0.00000E+00   -0.13694E-12    0.85620E-09    0.45372E-13   -0.50150E-14
+  3235    0.17791E-11    0.79378E-13    0.00000E+00   -0.13731E-12    0.85561E-09    0.45554E-13   -0.49728E-14
+  3236    0.17779E-11    0.79091E-13    0.00000E+00   -0.13768E-12    0.85503E-09    0.45735E-13   -0.49291E-14
+  3237    0.17765E-11    0.78799E-13    0.00000E+00   -0.13803E-12    0.85444E-09    0.45917E-13   -0.48838E-14
+  3238    0.17750E-11    0.78503E-13    0.00000E+00   -0.13836E-12    0.85386E-09    0.46098E-13   -0.48367E-14
+  3239    0.17736E-11    0.78203E-13    0.00000E+00   -0.13867E-12    0.85327E-09    0.46278E-13   -0.47880E-14
+  3240    0.17722E-11    0.77899E-13    0.00000E+00   -0.13896E-12    0.85269E-09    0.46456E-13   -0.47379E-14
+  3241    0.17709E-11    0.77591E-13    0.00000E+00   -0.13925E-12    0.85211E-09    0.46629E-13   -0.46866E-14
+  3242    0.17695E-11    0.77278E-13    0.00000E+00   -0.13952E-12    0.85153E-09    0.46796E-13   -0.46345E-14
+  3243    0.17682E-11    0.76963E-13    0.00000E+00   -0.13977E-12    0.85094E-09    0.46956E-13   -0.45817E-14
+  3244    0.17668E-11    0.76643E-13    0.00000E+00   -0.14000E-12    0.85036E-09    0.47108E-13   -0.45284E-14
+  3245    0.17657E-11    0.76321E-13    0.00000E+00   -0.14022E-12    0.84978E-09    0.47249E-13   -0.44749E-14
+  3246    0.17645E-11    0.75994E-13    0.00000E+00   -0.14041E-12    0.84920E-09    0.47382E-13   -0.44213E-14
+  3247    0.17631E-11    0.75664E-13    0.00000E+00   -0.14060E-12    0.84862E-09    0.47506E-13   -0.43674E-14
+  3248    0.17619E-11    0.75330E-13    0.00000E+00   -0.14076E-12    0.84804E-09    0.47622E-13   -0.43133E-14
+  3249    0.17603E-11    0.74994E-13    0.00000E+00   -0.14091E-12    0.84746E-09    0.47732E-13   -0.42591E-14
+  3250    0.17590E-11    0.74653E-13    0.00000E+00   -0.14104E-12    0.84689E-09    0.47836E-13   -0.42045E-14
+  3251    0.17578E-11    0.74311E-13    0.00000E+00   -0.14115E-12    0.84631E-09    0.47935E-13   -0.41498E-14
+  3252    0.17565E-11    0.73965E-13    0.00000E+00   -0.14124E-12    0.84573E-09    0.48030E-13   -0.40948E-14
+  3253    0.17552E-11    0.73616E-13    0.00000E+00   -0.14132E-12    0.84515E-09    0.48122E-13   -0.40395E-14
+  3254    0.17540E-11    0.73264E-13    0.00000E+00   -0.14138E-12    0.84458E-09    0.48210E-13   -0.39840E-14
+  3255    0.17527E-11    0.72910E-13    0.00000E+00   -0.14143E-12    0.84400E-09    0.48296E-13   -0.39281E-14
+  3256    0.17515E-11    0.72554E-13    0.00000E+00   -0.14145E-12    0.84342E-09    0.48379E-13   -0.38720E-14
+  3257    0.17503E-11    0.72195E-13    0.00000E+00   -0.14145E-12    0.84285E-09    0.48461E-13   -0.38156E-14
+  3258    0.17490E-11    0.71833E-13    0.00000E+00   -0.14144E-12    0.84227E-09    0.48541E-13   -0.37588E-14
+  3259    0.17477E-11    0.71470E-13    0.00000E+00   -0.14141E-12    0.84170E-09    0.48620E-13   -0.37017E-14
+  3260    0.17464E-11    0.71104E-13    0.00000E+00   -0.14137E-12    0.84113E-09    0.48698E-13   -0.36443E-14
+  3261    0.17452E-11    0.70736E-13    0.00000E+00   -0.14130E-12    0.84055E-09    0.48773E-13   -0.35868E-14
+  3262    0.17439E-11    0.70366E-13    0.00000E+00   -0.14122E-12    0.83998E-09    0.48846E-13   -0.35291E-14
+  3263    0.17426E-11    0.69995E-13    0.00000E+00   -0.14112E-12    0.83941E-09    0.48915E-13   -0.34714E-14
+  3264    0.17413E-11    0.69620E-13    0.00000E+00   -0.14100E-12    0.83883E-09    0.48980E-13   -0.34137E-14
+  3265    0.17400E-11    0.69245E-13    0.00000E+00   -0.14086E-12    0.83826E-09    0.49040E-13   -0.33561E-14
+  3266    0.17387E-11    0.68868E-13    0.00000E+00   -0.14071E-12    0.83769E-09    0.49095E-13   -0.32986E-14
+  3267    0.17374E-11    0.68489E-13    0.00000E+00   -0.14054E-12    0.83712E-09    0.49145E-13   -0.32409E-14
+  3268    0.17360E-11    0.68110E-13    0.00000E+00   -0.14035E-12    0.83655E-09    0.49191E-13   -0.31828E-14
+  3269    0.17347E-11    0.67728E-13    0.00000E+00   -0.14015E-12    0.83598E-09    0.49233E-13   -0.31241E-14
+  3270    0.17333E-11    0.67346E-13    0.00000E+00   -0.13993E-12    0.83541E-09    0.49273E-13   -0.30643E-14
+  3271    0.17319E-11    0.66963E-13    0.00000E+00   -0.13969E-12    0.83484E-09    0.49309E-13   -0.30032E-14
+  3272    0.17304E-11    0.66580E-13    0.00000E+00   -0.13942E-12    0.83427E-09    0.49345E-13   -0.29405E-14
+  3273    0.17291E-11    0.66195E-13    0.00000E+00   -0.13915E-12    0.83371E-09    0.49378E-13   -0.28760E-14
+  3274    0.17276E-11    0.65809E-13    0.00000E+00   -0.13885E-12    0.83314E-09    0.49410E-13   -0.28101E-14
+  3275    0.17261E-11    0.65423E-13    0.00000E+00   -0.13854E-12    0.83257E-09    0.49437E-13   -0.27431E-14
+  3276    0.17247E-11    0.65036E-13    0.00000E+00   -0.13822E-12    0.83201E-09    0.49460E-13   -0.26755E-14
+  3277    0.17232E-11    0.64650E-13    0.00000E+00   -0.13788E-12    0.83144E-09    0.49476E-13   -0.26077E-14
+  3278    0.17216E-11    0.64263E-13    0.00000E+00   -0.13752E-12    0.83087E-09    0.49484E-13   -0.25401E-14
+  3279    0.17200E-11    0.63875E-13    0.00000E+00   -0.13714E-12    0.83031E-09    0.49483E-13   -0.24731E-14
+  3280    0.17185E-11    0.63487E-13    0.00000E+00   -0.13675E-12    0.82974E-09    0.49473E-13   -0.24071E-14
+  3281    0.17168E-11    0.63098E-13    0.00000E+00   -0.13635E-12    0.82918E-09    0.49453E-13   -0.23419E-14
+  3282    0.17152E-11    0.62711E-13    0.00000E+00   -0.13592E-12    0.82862E-09    0.49426E-13   -0.22774E-14
+  3283    0.17135E-11    0.62323E-13    0.00000E+00   -0.13549E-12    0.82805E-09    0.49394E-13   -0.22134E-14
+  3284    0.17119E-11    0.61936E-13    0.00000E+00   -0.13504E-12    0.82749E-09    0.49357E-13   -0.21498E-14
+  3285    0.17101E-11    0.61549E-13    0.00000E+00   -0.13457E-12    0.82693E-09    0.49318E-13   -0.20863E-14
+  3286    0.17084E-11    0.61162E-13    0.00000E+00   -0.13407E-12    0.82636E-09    0.49277E-13   -0.20227E-14
+  3287    0.17066E-11    0.60775E-13    0.00000E+00   -0.13358E-12    0.82580E-09    0.49236E-13   -0.19590E-14
+  3288    0.17048E-11    0.60391E-13    0.00000E+00   -0.13306E-12    0.82524E-09    0.49195E-13   -0.18950E-14
+  3289    0.17030E-11    0.60006E-13    0.00000E+00   -0.13253E-12    0.82468E-09    0.49153E-13   -0.18310E-14
+  3290    0.17011E-11    0.59622E-13    0.00000E+00   -0.13198E-12    0.82412E-09    0.49108E-13   -0.17668E-14
+  3291    0.16993E-11    0.59240E-13    0.00000E+00   -0.13143E-12    0.82356E-09    0.49060E-13   -0.17025E-14
+  3292    0.16973E-11    0.58859E-13    0.00000E+00   -0.13085E-12    0.82300E-09    0.49008E-13   -0.16383E-14
+  3293    0.16953E-11    0.58478E-13    0.00000E+00   -0.13026E-12    0.82244E-09    0.48951E-13   -0.15740E-14
+  3294    0.16934E-11    0.58099E-13    0.00000E+00   -0.12966E-12    0.82188E-09    0.48888E-13   -0.15098E-14
+  3295    0.16914E-11    0.57722E-13    0.00000E+00   -0.12904E-12    0.82132E-09    0.48821E-13   -0.14456E-14
+  3296    0.16893E-11    0.57344E-13    0.00000E+00   -0.12841E-12    0.82077E-09    0.48749E-13   -0.13816E-14
+  3297    0.16871E-11    0.56970E-13    0.00000E+00   -0.12778E-12    0.82021E-09    0.48675E-13   -0.13178E-14
+  3298    0.16850E-11    0.56596E-13    0.00000E+00   -0.12712E-12    0.81965E-09    0.48598E-13   -0.12543E-14
+  3299    0.16828E-11    0.56224E-13    0.00000E+00   -0.12646E-12    0.81910E-09    0.48520E-13   -0.11910E-14
+  3300    0.16805E-11    0.55853E-13    0.00000E+00   -0.12578E-12    0.81854E-09    0.48443E-13   -0.11281E-14
+  3301    0.16782E-11    0.55486E-13    0.00000E+00   -0.12509E-12    0.81799E-09    0.48366E-13   -0.10655E-14
+  3302    0.16759E-11    0.55119E-13    0.00000E+00   -0.12439E-12    0.81743E-09    0.48288E-13   -0.10031E-14
+  3303    0.16737E-11    0.54756E-13    0.00000E+00   -0.12367E-12    0.81688E-09    0.48209E-13   -0.94067E-15
+  3304    0.16714E-11    0.54392E-13    0.00000E+00   -0.12295E-12    0.81632E-09    0.48127E-13   -0.87790E-15
+  3305    0.16690E-11    0.54032E-13    0.00000E+00   -0.12221E-12    0.81577E-09    0.48040E-13   -0.81461E-15
+  3306    0.16666E-11    0.53675E-13    0.00000E+00   -0.12146E-12    0.81521E-09    0.47948E-13   -0.75057E-15
+  3307    0.16640E-11    0.53318E-13    0.00000E+00   -0.12069E-12    0.81466E-09    0.47848E-13   -0.68555E-15
+  3308    0.16615E-11    0.52965E-13    0.00000E+00   -0.11993E-12    0.81411E-09    0.47740E-13   -0.61941E-15
+  3309    0.16588E-11    0.52615E-13    0.00000E+00   -0.11915E-12    0.81356E-09    0.47625E-13   -0.55247E-15
+  3310    0.16562E-11    0.52267E-13    0.00000E+00   -0.11836E-12    0.81301E-09    0.47503E-13   -0.48510E-15
+  3311    0.16536E-11    0.51921E-13    0.00000E+00   -0.11755E-12    0.81245E-09    0.47376E-13   -0.41770E-15
+  3312    0.16509E-11    0.51578E-13    0.00000E+00   -0.11675E-12    0.81190E-09    0.47243E-13   -0.35067E-15
+  3313    0.16482E-11    0.51238E-13    0.00000E+00   -0.11593E-12    0.81135E-09    0.47106E-13   -0.28441E-15
+  3314    0.16454E-11    0.50901E-13    0.00000E+00   -0.11510E-12    0.81080E-09    0.46966E-13   -0.21930E-15
+  3315    0.16426E-11    0.50566E-13    0.00000E+00   -0.11427E-12    0.81025E-09    0.46824E-13   -0.15565E-15
+  3316    0.16397E-11    0.50235E-13    0.00000E+00   -0.11342E-12    0.80971E-09    0.46679E-13   -0.93327E-16
+  3317    0.16368E-11    0.49906E-13    0.00000E+00   -0.11257E-12    0.80916E-09    0.46532E-13   -0.32121E-16
+  3318    0.16338E-11    0.49581E-13    0.00000E+00   -0.11170E-12    0.80861E-09    0.46382E-13    0.28189E-16
+  3319    0.16309E-11    0.49260E-13    0.00000E+00   -0.11083E-12    0.80806E-09    0.46229E-13    0.87821E-16
+  3320    0.16278E-11    0.48941E-13    0.00000E+00   -0.10996E-12    0.80751E-09    0.46073E-13    0.14700E-15
+  3321    0.16248E-11    0.48625E-13    0.00000E+00   -0.10908E-12    0.80697E-09    0.45915E-13    0.20593E-15
+  3322    0.16216E-11    0.48313E-13    0.00000E+00   -0.10819E-12    0.80642E-09    0.45754E-13    0.26480E-15
+  3323    0.16184E-11    0.48002E-13    0.00000E+00   -0.10729E-12    0.80587E-09    0.45590E-13    0.32361E-15
+  3324    0.16153E-11    0.47697E-13    0.00000E+00   -0.10640E-12    0.80533E-09    0.45424E-13    0.38231E-15
+  3325    0.16120E-11    0.47395E-13    0.00000E+00   -0.10549E-12    0.80478E-09    0.45256E-13    0.44086E-15
+  3326    0.16088E-11    0.47096E-13    0.00000E+00   -0.10458E-12    0.80424E-09    0.45086E-13    0.49921E-15
+  3327    0.16054E-11    0.46802E-13    0.00000E+00   -0.10366E-12    0.80369E-09    0.44914E-13    0.55733E-15
+  3328    0.16020E-11    0.46511E-13    0.00000E+00   -0.10274E-12    0.80315E-09    0.44742E-13    0.61515E-15
+  3329    0.15986E-11    0.46223E-13    0.00000E+00   -0.10182E-12    0.80261E-09    0.44569E-13    0.67266E-15
+  3330    0.15952E-11    0.45939E-13    0.00000E+00   -0.10088E-12    0.80206E-09    0.44395E-13    0.72982E-15
+  3331    0.15916E-11    0.45659E-13    0.00000E+00   -0.99941E-13    0.80152E-09    0.44219E-13    0.78662E-15
+  3332    0.15882E-11    0.45383E-13    0.00000E+00   -0.98998E-13    0.80098E-09    0.44042E-13    0.84304E-15
+  3333    0.15846E-11    0.45111E-13    0.00000E+00   -0.98056E-13    0.80044E-09    0.43863E-13    0.89908E-15
+  3334    0.15810E-11    0.44842E-13    0.00000E+00   -0.97117E-13    0.79990E-09    0.43683E-13    0.95470E-15
+  3335    0.15773E-11    0.44577E-13    0.00000E+00   -0.96172E-13    0.79936E-09    0.43500E-13    0.10099E-14
+  3336    0.15736E-11    0.44316E-13    0.00000E+00   -0.95217E-13    0.79882E-09    0.43315E-13    0.10647E-14
+  3337    0.15699E-11    0.44060E-13    0.00000E+00   -0.94265E-13    0.79828E-09    0.43126E-13    0.11191E-14
+  3338    0.15660E-11    0.43807E-13    0.00000E+00   -0.93313E-13    0.79774E-09    0.42935E-13    0.11733E-14
+  3339    0.15623E-11    0.43558E-13    0.00000E+00   -0.92358E-13    0.79720E-09    0.42740E-13    0.12272E-14
+  3340    0.15584E-11    0.43313E-13    0.00000E+00   -0.91400E-13    0.79666E-09    0.42541E-13    0.12810E-14
+  3341    0.15544E-11    0.43074E-13    0.00000E+00   -0.90443E-13    0.79612E-09    0.42338E-13    0.13348E-14
+  3342    0.15505E-11    0.42837E-13    0.00000E+00   -0.89484E-13    0.79558E-09    0.42130E-13    0.13887E-14
+  3343    0.15465E-11    0.42605E-13    0.00000E+00   -0.88524E-13    0.79505E-09    0.41917E-13    0.14426E-14
+  3344    0.15425E-11    0.42377E-13    0.00000E+00   -0.87565E-13    0.79451E-09    0.41700E-13    0.14964E-14
+  3345    0.15384E-11    0.42153E-13    0.00000E+00   -0.86605E-13    0.79397E-09    0.41479E-13    0.15499E-14
+  3346    0.15344E-11    0.41932E-13    0.00000E+00   -0.85646E-13    0.79344E-09    0.41255E-13    0.16028E-14
+  3347    0.15303E-11    0.41717E-13    0.00000E+00   -0.84686E-13    0.79290E-09    0.41028E-13    0.16550E-14
+  3348    0.15259E-11    0.41505E-13    0.00000E+00   -0.83728E-13    0.79236E-09    0.40800E-13    0.17061E-14
+  3349    0.15217E-11    0.41298E-13    0.00000E+00   -0.82772E-13    0.79183E-09    0.40570E-13    0.17561E-14
+  3350    0.15175E-11    0.41096E-13    0.00000E+00   -0.81817E-13    0.79129E-09    0.40339E-13    0.18046E-14
+  3351    0.15133E-11    0.40897E-13    0.00000E+00   -0.80863E-13    0.79076E-09    0.40108E-13    0.18518E-14
+  3352    0.15089E-11    0.40703E-13    0.00000E+00   -0.79912E-13    0.79023E-09    0.39876E-13    0.18980E-14
+  3353    0.15045E-11    0.40516E-13    0.00000E+00   -0.78964E-13    0.78969E-09    0.39643E-13    0.19432E-14
+  3354    0.15001E-11    0.40330E-13    0.00000E+00   -0.78018E-13    0.78916E-09    0.39409E-13    0.19877E-14
+  3355    0.14956E-11    0.40148E-13    0.00000E+00   -0.77074E-13    0.78863E-09    0.39175E-13    0.20316E-14
+  3356    0.14912E-11    0.39969E-13    0.00000E+00   -0.76134E-13    0.78810E-09    0.38940E-13    0.20752E-14
+  3357    0.14866E-11    0.39796E-13    0.00000E+00   -0.75196E-13    0.78756E-09    0.38704E-13    0.21184E-14
+  3358    0.14821E-11    0.39627E-13    0.00000E+00   -0.74263E-13    0.78703E-09    0.38467E-13    0.21614E-14
+  3359    0.14776E-11    0.39462E-13    0.00000E+00   -0.73334E-13    0.78650E-09    0.38229E-13    0.22041E-14
+  3360    0.14731E-11    0.39303E-13    0.00000E+00   -0.72408E-13    0.78597E-09    0.37990E-13    0.22463E-14
+  3361    0.14685E-11    0.39146E-13    0.00000E+00   -0.71489E-13    0.78544E-09    0.37750E-13    0.22881E-14
+  3362    0.14638E-11    0.38995E-13    0.00000E+00   -0.70572E-13    0.78491E-09    0.37509E-13    0.23294E-14
+  3363    0.14591E-11    0.38848E-13    0.00000E+00   -0.69661E-13    0.78438E-09    0.37267E-13    0.23701E-14
+  3364    0.14545E-11    0.38704E-13    0.00000E+00   -0.68755E-13    0.78386E-09    0.37024E-13    0.24102E-14
+  3365    0.14497E-11    0.38566E-13    0.00000E+00   -0.67855E-13    0.78333E-09    0.36780E-13    0.24496E-14
+  3366    0.14449E-11    0.38431E-13    0.00000E+00   -0.66960E-13    0.78280E-09    0.36536E-13    0.24885E-14
+  3367    0.14402E-11    0.38302E-13    0.00000E+00   -0.66070E-13    0.78227E-09    0.36291E-13    0.25269E-14
+  3368    0.14354E-11    0.38175E-13    0.00000E+00   -0.65187E-13    0.78174E-09    0.36046E-13    0.25647E-14
+  3369    0.14306E-11    0.38053E-13    0.00000E+00   -0.64311E-13    0.78122E-09    0.35801E-13    0.26020E-14
+  3370    0.14256E-11    0.37935E-13    0.00000E+00   -0.63441E-13    0.78069E-09    0.35557E-13    0.26389E-14
+  3371    0.14208E-11    0.37821E-13    0.00000E+00   -0.62577E-13    0.78017E-09    0.35313E-13    0.26753E-14
+  3372    0.14158E-11    0.37712E-13    0.00000E+00   -0.61720E-13    0.77964E-09    0.35068E-13    0.27112E-14
+  3373    0.14109E-11    0.37607E-13    0.00000E+00   -0.60871E-13    0.77912E-09    0.34823E-13    0.27467E-14
+  3374    0.14060E-11    0.37505E-13    0.00000E+00   -0.60030E-13    0.77859E-09    0.34577E-13    0.27817E-14
+  3375    0.14009E-11    0.37408E-13    0.00000E+00   -0.59195E-13    0.77807E-09    0.34328E-13    0.28161E-14
+  3376    0.13958E-11    0.37314E-13    0.00000E+00   -0.58368E-13    0.77754E-09    0.34076E-13    0.28500E-14
+  3377    0.13908E-11    0.37224E-13    0.00000E+00   -0.57550E-13    0.77702E-09    0.33820E-13    0.28833E-14
+  3378    0.13858E-11    0.37138E-13    0.00000E+00   -0.56739E-13    0.77650E-09    0.33561E-13    0.29161E-14
+  3379    0.13807E-11    0.37057E-13    0.00000E+00   -0.55937E-13    0.77597E-09    0.33298E-13    0.29481E-14
+  3380    0.13756E-11    0.36978E-13    0.00000E+00   -0.55144E-13    0.77545E-09    0.33032E-13    0.29793E-14
+  3381    0.13706E-11    0.36905E-13    0.00000E+00   -0.54360E-13    0.77493E-09    0.32765E-13    0.30096E-14
+  3382    0.13655E-11    0.36834E-13    0.00000E+00   -0.53584E-13    0.77441E-09    0.32497E-13    0.30390E-14
+  3383    0.13603E-11    0.36768E-13    0.00000E+00   -0.52817E-13    0.77389E-09    0.32230E-13    0.30673E-14
+  3384    0.13552E-11    0.36704E-13    0.00000E+00   -0.52059E-13    0.77337E-09    0.31964E-13    0.30944E-14
+  3385    0.13500E-11    0.36645E-13    0.00000E+00   -0.51311E-13    0.77285E-09    0.31700E-13    0.31203E-14
+  3386    0.13449E-11    0.36590E-13    0.00000E+00   -0.50572E-13    0.77233E-09    0.31437E-13    0.31450E-14
+  3387    0.13397E-11    0.36538E-13    0.00000E+00   -0.49842E-13    0.77181E-09    0.31177E-13    0.31688E-14
+  3388    0.13345E-11    0.36489E-13    0.00000E+00   -0.49124E-13    0.77129E-09    0.30918E-13    0.31916E-14
+  3389    0.13291E-11    0.36444E-13    0.00000E+00   -0.48414E-13    0.77077E-09    0.30660E-13    0.32136E-14
+  3390    0.13239E-11    0.36402E-13    0.00000E+00   -0.47716E-13    0.77025E-09    0.30404E-13    0.32350E-14
+  3391    0.13189E-11    0.36365E-13    0.00000E+00   -0.47028E-13    0.76973E-09    0.30148E-13    0.32559E-14
+  3392    0.13136E-11    0.36330E-13    0.00000E+00   -0.46349E-13    0.76922E-09    0.29893E-13    0.32763E-14
+  3393    0.13084E-11    0.36298E-13    0.00000E+00   -0.45682E-13    0.76870E-09    0.29639E-13    0.32963E-14
+  3394    0.13031E-11    0.36271E-13    0.00000E+00   -0.45025E-13    0.76818E-09    0.29384E-13    0.33158E-14
+  3395    0.12980E-11    0.36245E-13    0.00000E+00   -0.44378E-13    0.76767E-09    0.29131E-13    0.33348E-14
+  3396    0.12927E-11    0.36225E-13    0.00000E+00   -0.43743E-13    0.76715E-09    0.28877E-13    0.33534E-14
+  3397    0.12874E-11    0.36206E-13    0.00000E+00   -0.43119E-13    0.76664E-09    0.28622E-13    0.33713E-14
+  3398    0.12821E-11    0.36191E-13    0.00000E+00   -0.42506E-13    0.76612E-09    0.28368E-13    0.33888E-14
+  3399    0.12769E-11    0.36179E-13    0.00000E+00   -0.41904E-13    0.76561E-09    0.28113E-13    0.34056E-14
+  3400    0.12716E-11    0.36169E-13    0.00000E+00   -0.41314E-13    0.76509E-09    0.27858E-13    0.34218E-14
+  3401    0.12664E-11    0.36163E-13    0.00000E+00   -0.40734E-13    0.76458E-09    0.27602E-13    0.34376E-14
+  3402    0.12612E-11    0.36159E-13    0.00000E+00   -0.40167E-13    0.76407E-09    0.27348E-13    0.34527E-14
+  3403    0.12558E-11    0.36158E-13    0.00000E+00   -0.39610E-13    0.76355E-09    0.27094E-13    0.34674E-14
+  3404    0.12505E-11    0.36160E-13    0.00000E+00   -0.39065E-13    0.76304E-09    0.26841E-13    0.34816E-14
+  3405    0.12452E-11    0.36164E-13    0.00000E+00   -0.38533E-13    0.76253E-09    0.26589E-13    0.34953E-14
+  3406    0.12400E-11    0.36172E-13    0.00000E+00   -0.38012E-13    0.76202E-09    0.26339E-13    0.35085E-14
+  3407    0.12348E-11    0.36181E-13    0.00000E+00   -0.37503E-13    0.76150E-09    0.26090E-13    0.35212E-14
+  3408    0.12295E-11    0.36193E-13    0.00000E+00   -0.37005E-13    0.76099E-09    0.25842E-13    0.35333E-14
+  3409    0.12242E-11    0.36207E-13    0.00000E+00   -0.36520E-13    0.76048E-09    0.25594E-13    0.35447E-14
+  3410    0.12190E-11    0.36225E-13    0.00000E+00   -0.36047E-13    0.75997E-09    0.25347E-13    0.35553E-14
+  3411    0.12137E-11    0.36245E-13    0.00000E+00   -0.35585E-13    0.75946E-09    0.25100E-13    0.35650E-14
+  3412    0.12085E-11    0.36267E-13    0.00000E+00   -0.35134E-13    0.75895E-09    0.24851E-13    0.35738E-14
+  3413    0.12032E-11    0.36290E-13    0.00000E+00   -0.34697E-13    0.75844E-09    0.24603E-13    0.35815E-14
+  3414    0.11981E-11    0.36316E-13    0.00000E+00   -0.34273E-13    0.75794E-09    0.24353E-13    0.35883E-14
+  3415    0.11928E-11    0.36344E-13    0.00000E+00   -0.33860E-13    0.75743E-09    0.24105E-13    0.35940E-14
+  3416    0.11877E-11    0.36374E-13    0.00000E+00   -0.33458E-13    0.75692E-09    0.23857E-13    0.35987E-14
+  3417    0.11824E-11    0.36406E-13    0.00000E+00   -0.33070E-13    0.75641E-09    0.23611E-13    0.36025E-14
+  3418    0.11773E-11    0.36440E-13    0.00000E+00   -0.32694E-13    0.75590E-09    0.23368E-13    0.36054E-14
+  3419    0.11722E-11    0.36477E-13    0.00000E+00   -0.32329E-13    0.75540E-09    0.23128E-13    0.36074E-14
+  3420    0.11670E-11    0.36514E-13    0.00000E+00   -0.31977E-13    0.75489E-09    0.22891E-13    0.36085E-14
+  3421    0.11619E-11    0.36553E-13    0.00000E+00   -0.31637E-13    0.75439E-09    0.22658E-13    0.36088E-14
+  3422    0.11568E-11    0.36594E-13    0.00000E+00   -0.31310E-13    0.75388E-09    0.22427E-13    0.36084E-14
+  3423    0.11517E-11    0.36636E-13    0.00000E+00   -0.30994E-13    0.75338E-09    0.22199E-13    0.36073E-14
+  3424    0.11466E-11    0.36680E-13    0.00000E+00   -0.30691E-13    0.75287E-09    0.21972E-13    0.36055E-14
+  3425    0.11416E-11    0.36727E-13    0.00000E+00   -0.30400E-13    0.75237E-09    0.21745E-13    0.36032E-14
+  3426    0.11365E-11    0.36773E-13    0.00000E+00   -0.30120E-13    0.75186E-09    0.21519E-13    0.36005E-14
+  3427    0.11315E-11    0.36820E-13    0.00000E+00   -0.29853E-13    0.75136E-09    0.21293E-13    0.35972E-14
+  3428    0.11265E-11    0.36870E-13    0.00000E+00   -0.29598E-13    0.75086E-09    0.21067E-13    0.35936E-14
+  3429    0.11215E-11    0.36920E-13    0.00000E+00   -0.29355E-13    0.75035E-09    0.20841E-13    0.35895E-14
+  3430    0.11164E-11    0.36972E-13    0.00000E+00   -0.29124E-13    0.74985E-09    0.20617E-13    0.35848E-14
+  3431    0.11114E-11    0.37025E-13    0.00000E+00   -0.28905E-13    0.74935E-09    0.20395E-13    0.35797E-14
+  3432    0.11066E-11    0.37079E-13    0.00000E+00   -0.28696E-13    0.74885E-09    0.20176E-13    0.35741E-14
+  3433    0.11017E-11    0.37134E-13    0.00000E+00   -0.28501E-13    0.74835E-09    0.19959E-13    0.35679E-14
+  3434    0.10967E-11    0.37189E-13    0.00000E+00   -0.28318E-13    0.74784E-09    0.19746E-13    0.35611E-14
+  3435    0.10919E-11    0.37245E-13    0.00000E+00   -0.28146E-13    0.74734E-09    0.19535E-13    0.35539E-14
+  3436    0.10871E-11    0.37302E-13    0.00000E+00   -0.27985E-13    0.74684E-09    0.19327E-13    0.35461E-14
+  3437    0.10823E-11    0.37360E-13    0.00000E+00   -0.27836E-13    0.74634E-09    0.19121E-13    0.35378E-14
+  3438    0.10775E-11    0.37418E-13    0.00000E+00   -0.27698E-13    0.74584E-09    0.18917E-13    0.35291E-14
+  3439    0.10728E-11    0.37477E-13    0.00000E+00   -0.27574E-13    0.74535E-09    0.18713E-13    0.35200E-14
+  3440    0.10681E-11    0.37537E-13    0.00000E+00   -0.27459E-13    0.74485E-09    0.18509E-13    0.35105E-14
+  3441    0.10634E-11    0.37597E-13    0.00000E+00   -0.27356E-13    0.74435E-09    0.18304E-13    0.35006E-14
+  3442    0.10587E-11    0.37657E-13    0.00000E+00   -0.27264E-13    0.74385E-09    0.18100E-13    0.34902E-14
+  3443    0.10540E-11    0.37717E-13    0.00000E+00   -0.27182E-13    0.74335E-09    0.17897E-13    0.34794E-14
+  3444    0.10494E-11    0.37778E-13    0.00000E+00   -0.27111E-13    0.74286E-09    0.17696E-13    0.34680E-14
+  3445    0.10448E-11    0.37839E-13    0.00000E+00   -0.27053E-13    0.74236E-09    0.17497E-13    0.34559E-14
+  3446    0.10402E-11    0.37899E-13    0.00000E+00   -0.27005E-13    0.74186E-09    0.17300E-13    0.34430E-14
+  3447    0.10357E-11    0.37960E-13    0.00000E+00   -0.26967E-13    0.74137E-09    0.17108E-13    0.34293E-14
+  3448    0.10312E-11    0.38021E-13    0.00000E+00   -0.26939E-13    0.74087E-09    0.16919E-13    0.34147E-14
+  3449    0.10268E-11    0.38082E-13    0.00000E+00   -0.26923E-13    0.74038E-09    0.16735E-13    0.33992E-14
+  3450    0.10224E-11    0.38143E-13    0.00000E+00   -0.26915E-13    0.73988E-09    0.16553E-13    0.33829E-14
+  3451    0.10179E-11    0.38203E-13    0.00000E+00   -0.26920E-13    0.73939E-09    0.16375E-13    0.33657E-14
+  3452    0.10135E-11    0.38263E-13    0.00000E+00   -0.26934E-13    0.73889E-09    0.16200E-13    0.33478E-14
+  3453    0.10093E-11    0.38322E-13    0.00000E+00   -0.26958E-13    0.73840E-09    0.16027E-13    0.33291E-14
+  3454    0.10049E-11    0.38381E-13    0.00000E+00   -0.26991E-13    0.73791E-09    0.15856E-13    0.33098E-14
+  3455    0.10006E-11    0.38441E-13    0.00000E+00   -0.27034E-13    0.73741E-09    0.15686E-13    0.32897E-14
+  3456    0.99642E-12    0.38499E-13    0.00000E+00   -0.27087E-13    0.73692E-09    0.15518E-13    0.32690E-14
+  3457    0.99217E-12    0.38556E-13    0.00000E+00   -0.27149E-13    0.73643E-09    0.15352E-13    0.32477E-14
+  3458    0.98802E-12    0.38614E-13    0.00000E+00   -0.27220E-13    0.73594E-09    0.15189E-13    0.32260E-14
+  3459    0.98377E-12    0.38671E-13    0.00000E+00   -0.27301E-13    0.73545E-09    0.15028E-13    0.32038E-14
+  3460    0.97965E-12    0.38727E-13    0.00000E+00   -0.27391E-13    0.73495E-09    0.14871E-13    0.31812E-14
+  3461    0.97563E-12    0.38782E-13    0.00000E+00   -0.27488E-13    0.73446E-09    0.14716E-13    0.31583E-14
+  3462    0.97152E-12    0.38836E-13    0.00000E+00   -0.27596E-13    0.73397E-09    0.14566E-13    0.31352E-14
+  3463    0.96753E-12    0.38889E-13    0.00000E+00   -0.27712E-13    0.73348E-09    0.14419E-13    0.31118E-14
+  3464    0.96357E-12    0.38942E-13    0.00000E+00   -0.27837E-13    0.73299E-09    0.14275E-13    0.30880E-14
+  3465    0.95965E-12    0.38994E-13    0.00000E+00   -0.27969E-13    0.73251E-09    0.14133E-13    0.30640E-14
+  3466    0.95580E-12    0.39044E-13    0.00000E+00   -0.28108E-13    0.73202E-09    0.13992E-13    0.30397E-14
+  3467    0.95196E-12    0.39094E-13    0.00000E+00   -0.28257E-13    0.73153E-09    0.13853E-13    0.30150E-14
+  3468    0.94815E-12    0.39141E-13    0.00000E+00   -0.28413E-13    0.73104E-09    0.13715E-13    0.29899E-14
+  3469    0.94439E-12    0.39188E-13    0.00000E+00   -0.28577E-13    0.73055E-09    0.13577E-13    0.29645E-14
+  3470    0.94067E-12    0.39236E-13    0.00000E+00   -0.28750E-13    0.73006E-09    0.13440E-13    0.29387E-14
+  3471    0.93697E-12    0.39280E-13    0.00000E+00   -0.28928E-13    0.72958E-09    0.13304E-13    0.29125E-14
+  3472    0.93330E-12    0.39324E-13    0.00000E+00   -0.29114E-13    0.72909E-09    0.13170E-13    0.28860E-14
+  3473    0.92966E-12    0.39365E-13    0.00000E+00   -0.29306E-13    0.72861E-09    0.13038E-13    0.28591E-14
+  3474    0.92608E-12    0.39406E-13    0.00000E+00   -0.29505E-13    0.72812E-09    0.12909E-13    0.28319E-14
+  3475    0.92251E-12    0.39444E-13    0.00000E+00   -0.29709E-13    0.72763E-09    0.12783E-13    0.28043E-14
+  3476    0.91900E-12    0.39482E-13    0.00000E+00   -0.29922E-13    0.72715E-09    0.12661E-13    0.27765E-14
+  3477    0.91552E-12    0.39518E-13    0.00000E+00   -0.30140E-13    0.72666E-09    0.12542E-13    0.27483E-14
+  3478    0.91209E-12    0.39552E-13    0.00000E+00   -0.30365E-13    0.72618E-09    0.12426E-13    0.27198E-14
+  3479    0.90870E-12    0.39585E-13    0.00000E+00   -0.30595E-13    0.72570E-09    0.12314E-13    0.26909E-14
+  3480    0.90535E-12    0.39616E-13    0.00000E+00   -0.30832E-13    0.72521E-09    0.12204E-13    0.26617E-14
+  3481    0.90202E-12    0.39646E-13    0.00000E+00   -0.31074E-13    0.72473E-09    0.12098E-13    0.26322E-14
+  3482    0.89875E-12    0.39674E-13    0.00000E+00   -0.31321E-13    0.72425E-09    0.11994E-13    0.26023E-14
+  3483    0.89551E-12    0.39700E-13    0.00000E+00   -0.31573E-13    0.72376E-09    0.11893E-13    0.25721E-14
+  3484    0.89231E-12    0.39725E-13    0.00000E+00   -0.31830E-13    0.72328E-09    0.11794E-13    0.25415E-14
+  3485    0.88916E-12    0.39748E-13    0.00000E+00   -0.32092E-13    0.72280E-09    0.11699E-13    0.25105E-14
+  3486    0.88603E-12    0.39768E-13    0.00000E+00   -0.32360E-13    0.72232E-09    0.11607E-13    0.24790E-14
+  3487    0.88296E-12    0.39787E-13    0.00000E+00   -0.32631E-13    0.72184E-09    0.11518E-13    0.24471E-14
+  3488    0.87991E-12    0.39804E-13    0.00000E+00   -0.32907E-13    0.72136E-09    0.11434E-13    0.24147E-14
+  3489    0.87691E-12    0.39819E-13    0.00000E+00   -0.33186E-13    0.72088E-09    0.11354E-13    0.23817E-14
+  3490    0.87394E-12    0.39833E-13    0.00000E+00   -0.33469E-13    0.72040E-09    0.11278E-13    0.23482E-14
+  3491    0.87102E-12    0.39843E-13    0.00000E+00   -0.33757E-13    0.71992E-09    0.11207E-13    0.23143E-14
+  3492    0.86813E-12    0.39851E-13    0.00000E+00   -0.34049E-13    0.71944E-09    0.11139E-13    0.22799E-14
+  3493    0.86529E-12    0.39858E-13    0.00000E+00   -0.34342E-13    0.71896E-09    0.11073E-13    0.22451E-14
+  3494    0.86248E-12    0.39864E-13    0.00000E+00   -0.34640E-13    0.71848E-09    0.11010E-13    0.22101E-14
+  3495    0.85971E-12    0.39866E-13    0.00000E+00   -0.34940E-13    0.71800E-09    0.10949E-13    0.21749E-14
+  3496    0.85698E-12    0.39867E-13    0.00000E+00   -0.35243E-13    0.71752E-09    0.10889E-13    0.21395E-14
+  3497    0.85429E-12    0.39865E-13    0.00000E+00   -0.35549E-13    0.71705E-09    0.10829E-13    0.21041E-14
+  3498    0.85164E-12    0.39861E-13    0.00000E+00   -0.35857E-13    0.71657E-09    0.10771E-13    0.20686E-14
+  3499    0.84902E-12    0.39856E-13    0.00000E+00   -0.36168E-13    0.71609E-09    0.10714E-13    0.20330E-14
+  3500    0.84644E-12    0.39847E-13    0.00000E+00   -0.36480E-13    0.71562E-09    0.10659E-13    0.19973E-14
+  3501    0.84389E-12    0.39836E-13    0.00000E+00   -0.36794E-13    0.71514E-09    0.10607E-13    0.19615E-14
+  3502    0.84138E-12    0.39825E-13    0.00000E+00   -0.37111E-13    0.71466E-09    0.10558E-13    0.19257E-14
+  3503    0.83892E-12    0.39811E-13    0.00000E+00   -0.37429E-13    0.71419E-09    0.10512E-13    0.18897E-14
+  3504    0.83649E-12    0.39791E-13    0.00000E+00   -0.37748E-13    0.71371E-09    0.10471E-13    0.18536E-14
+  3505    0.83410E-12    0.39772E-13    0.00000E+00   -0.38068E-13    0.71324E-09    0.10433E-13    0.18174E-14
+  3506    0.83175E-12    0.39752E-13    0.00000E+00   -0.38389E-13    0.71277E-09    0.10398E-13    0.17810E-14
+  3507    0.82942E-12    0.39729E-13    0.00000E+00   -0.38712E-13    0.71229E-09    0.10365E-13    0.17445E-14
+  3508    0.82713E-12    0.39703E-13    0.00000E+00   -0.39035E-13    0.71182E-09    0.10335E-13    0.17079E-14
+  3509    0.82488E-12    0.39675E-13    0.00000E+00   -0.39358E-13    0.71134E-09    0.10305E-13    0.16711E-14
+  3510    0.82268E-12    0.39644E-13    0.00000E+00   -0.39682E-13    0.71087E-09    0.10277E-13    0.16341E-14
+  3511    0.82050E-12    0.39612E-13    0.00000E+00   -0.40006E-13    0.71040E-09    0.10249E-13    0.15969E-14
+  3512    0.81836E-12    0.39577E-13    0.00000E+00   -0.40329E-13    0.70993E-09    0.10221E-13    0.15597E-14
+  3513    0.81624E-12    0.39540E-13    0.00000E+00   -0.40653E-13    0.70946E-09    0.10196E-13    0.15224E-14
+  3514    0.81418E-12    0.39499E-13    0.00000E+00   -0.40976E-13    0.70898E-09    0.10173E-13    0.14851E-14
+  3515    0.81213E-12    0.39458E-13    0.00000E+00   -0.41297E-13    0.70851E-09    0.10152E-13    0.14479E-14
+  3516    0.81014E-12    0.39413E-13    0.00000E+00   -0.41620E-13    0.70804E-09    0.10136E-13    0.14108E-14
+  3517    0.80817E-12    0.39365E-13    0.00000E+00   -0.41941E-13    0.70757E-09    0.10124E-13    0.13740E-14
+  3518    0.80623E-12    0.39315E-13    0.00000E+00   -0.42260E-13    0.70710E-09    0.10117E-13    0.13374E-14
+  3519    0.80433E-12    0.39263E-13    0.00000E+00   -0.42579E-13    0.70663E-09    0.10114E-13    0.13011E-14
+  3520    0.80246E-12    0.39209E-13    0.00000E+00   -0.42896E-13    0.70616E-09    0.10116E-13    0.12647E-14
+  3521    0.80063E-12    0.39152E-13    0.00000E+00   -0.43213E-13    0.70569E-09    0.10122E-13    0.12284E-14
+  3522    0.79882E-12    0.39094E-13    0.00000E+00   -0.43526E-13    0.70523E-09    0.10131E-13    0.11918E-14
+  3523    0.79704E-12    0.39033E-13    0.00000E+00   -0.43838E-13    0.70476E-09    0.10143E-13    0.11550E-14
+  3524    0.79529E-12    0.38970E-13    0.00000E+00   -0.44149E-13    0.70429E-09    0.10158E-13    0.11178E-14
+  3525    0.79359E-12    0.38904E-13    0.00000E+00   -0.44457E-13    0.70382E-09    0.10174E-13    0.10802E-14
+  3526    0.79189E-12    0.38836E-13    0.00000E+00   -0.44763E-13    0.70336E-09    0.10193E-13    0.10421E-14
+  3527    0.79023E-12    0.38766E-13    0.00000E+00   -0.45067E-13    0.70289E-09    0.10214E-13    0.10037E-14
+  3528    0.78861E-12    0.38693E-13    0.00000E+00   -0.45368E-13    0.70242E-09    0.10237E-13    0.96519E-15
+  3529    0.78702E-12    0.38619E-13    0.00000E+00   -0.45666E-13    0.70196E-09    0.10262E-13    0.92657E-15
+  3530    0.78544E-12    0.38542E-13    0.00000E+00   -0.45961E-13    0.70149E-09    0.10290E-13    0.88796E-15
+  3531    0.78391E-12    0.38462E-13    0.00000E+00   -0.46254E-13    0.70103E-09    0.10320E-13    0.84950E-15
+  3532    0.78239E-12    0.38381E-13    0.00000E+00   -0.46543E-13    0.70056E-09    0.10353E-13    0.81125E-15
+  3533    0.78090E-12    0.38298E-13    0.00000E+00   -0.46829E-13    0.70010E-09    0.10388E-13    0.77322E-15
+  3534    0.77945E-12    0.38211E-13    0.00000E+00   -0.47112E-13    0.69963E-09    0.10426E-13    0.73540E-15
+  3535    0.77801E-12    0.38125E-13    0.00000E+00   -0.47391E-13    0.69917E-09    0.10465E-13    0.69775E-15
+  3536    0.77661E-12    0.38034E-13    0.00000E+00   -0.47665E-13    0.69870E-09    0.10506E-13    0.66027E-15
+  3537    0.77523E-12    0.37942E-13    0.00000E+00   -0.47937E-13    0.69824E-09    0.10548E-13    0.62294E-15
+  3538    0.77389E-12    0.37845E-13    0.00000E+00   -0.48205E-13    0.69778E-09    0.10592E-13    0.58572E-15
+  3539    0.77256E-12    0.37748E-13    0.00000E+00   -0.48468E-13    0.69731E-09    0.10637E-13    0.54862E-15
+  3540    0.77125E-12    0.37649E-13    0.00000E+00   -0.48728E-13    0.69685E-09    0.10683E-13    0.51158E-15
+  3541    0.76997E-12    0.37547E-13    0.00000E+00   -0.48981E-13    0.69639E-09    0.10731E-13    0.47460E-15
+  3542    0.76871E-12    0.37445E-13    0.00000E+00   -0.49232E-13    0.69593E-09    0.10781E-13    0.43764E-15
+  3543    0.76748E-12    0.37340E-13    0.00000E+00   -0.49479E-13    0.69547E-09    0.10833E-13    0.40067E-15
+  3544    0.76627E-12    0.37232E-13    0.00000E+00   -0.49721E-13    0.69501E-09    0.10887E-13    0.36367E-15
+  3545    0.76508E-12    0.37123E-13    0.00000E+00   -0.49961E-13    0.69455E-09    0.10944E-13    0.32660E-15
+  3546    0.76391E-12    0.37012E-13    0.00000E+00   -0.50194E-13    0.69409E-09    0.11003E-13    0.28948E-15
+  3547    0.76276E-12    0.36899E-13    0.00000E+00   -0.50420E-13    0.69363E-09    0.11065E-13    0.25240E-15
+  3548    0.76163E-12    0.36784E-13    0.00000E+00   -0.50643E-13    0.69317E-09    0.11130E-13    0.21552E-15
+  3549    0.76052E-12    0.36667E-13    0.00000E+00   -0.50860E-13    0.69271E-09    0.11196E-13    0.17899E-15
+  3550    0.75944E-12    0.36549E-13    0.00000E+00   -0.51073E-13    0.69225E-09    0.11263E-13    0.14295E-15
+  3551    0.75836E-12    0.36428E-13    0.00000E+00   -0.51281E-13    0.69179E-09    0.11332E-13    0.10754E-15
+  3552    0.75732E-12    0.36305E-13    0.00000E+00   -0.51482E-13    0.69133E-09    0.11402E-13    0.72903E-16
+  3553    0.75627E-12    0.36181E-13    0.00000E+00   -0.51679E-13    0.69087E-09    0.11472E-13    0.39135E-16
+  3554    0.75526E-12    0.36055E-13    0.00000E+00   -0.51870E-13    0.69042E-09    0.11544E-13    0.60961E-17
+  3555    0.75426E-12    0.35928E-13    0.00000E+00   -0.52056E-13    0.68996E-09    0.11617E-13   -0.26407E-16
+  3556    0.75328E-12    0.35797E-13    0.00000E+00   -0.52235E-13    0.68950E-09    0.11692E-13   -0.58568E-16
+  3557    0.75232E-12    0.35667E-13    0.00000E+00   -0.52409E-13    0.68905E-09    0.11769E-13   -0.90581E-16
+  3558    0.75136E-12    0.35533E-13    0.00000E+00   -0.52576E-13    0.68859E-09    0.11850E-13   -0.12264E-15
+  3559    0.75043E-12    0.35400E-13    0.00000E+00   -0.52739E-13    0.68813E-09    0.11934E-13   -0.15493E-15
+  3560    0.74950E-12    0.35264E-13    0.00000E+00   -0.52895E-13    0.68768E-09    0.12022E-13   -0.18761E-15
+  3561    0.74860E-12    0.35127E-13    0.00000E+00   -0.53046E-13    0.68722E-09    0.12114E-13   -0.22059E-15
+  3562    0.74771E-12    0.34988E-13    0.00000E+00   -0.53191E-13    0.68677E-09    0.12209E-13   -0.25375E-15
+  3563    0.74682E-12    0.34848E-13    0.00000E+00   -0.53330E-13    0.68631E-09    0.12306E-13   -0.28698E-15
+  3564    0.74596E-12    0.34707E-13    0.00000E+00   -0.53462E-13    0.68586E-09    0.12406E-13   -0.32014E-15
+  3565    0.74510E-12    0.34563E-13    0.00000E+00   -0.53588E-13    0.68541E-09    0.12507E-13   -0.35312E-15
+  3566    0.74425E-12    0.34418E-13    0.00000E+00   -0.53708E-13    0.68495E-09    0.12609E-13   -0.38578E-15
+  3567    0.74342E-12    0.34272E-13    0.00000E+00   -0.53821E-13    0.68450E-09    0.12712E-13   -0.41804E-15
+  3568    0.74259E-12    0.34125E-13    0.00000E+00   -0.53928E-13    0.68405E-09    0.12816E-13   -0.44988E-15
+  3569    0.74178E-12    0.33977E-13    0.00000E+00   -0.54029E-13    0.68360E-09    0.12920E-13   -0.48133E-15
+  3570    0.74099E-12    0.33827E-13    0.00000E+00   -0.54124E-13    0.68314E-09    0.13025E-13   -0.51241E-15
+  3571    0.74019E-12    0.33676E-13    0.00000E+00   -0.54212E-13    0.68269E-09    0.13132E-13   -0.54315E-15
+  3572    0.73939E-12    0.33524E-13    0.00000E+00   -0.54293E-13    0.68224E-09    0.13239E-13   -0.57356E-15
+  3573    0.73861E-12    0.33371E-13    0.00000E+00   -0.54369E-13    0.68179E-09    0.13347E-13   -0.60366E-15
+  3574    0.73784E-12    0.33217E-13    0.00000E+00   -0.54438E-13    0.68134E-09    0.13456E-13   -0.63349E-15
+  3575    0.73708E-12    0.33062E-13    0.00000E+00   -0.54499E-13    0.68089E-09    0.13566E-13   -0.66306E-15
+  3576    0.73632E-12    0.32906E-13    0.00000E+00   -0.54555E-13    0.68044E-09    0.13678E-13   -0.69239E-15
+  3577    0.73557E-12    0.32748E-13    0.00000E+00   -0.54604E-13    0.67999E-09    0.13790E-13   -0.72152E-15
+  3578    0.73482E-12    0.32591E-13    0.00000E+00   -0.54648E-13    0.67954E-09    0.13905E-13   -0.75046E-15
+  3579    0.73408E-12    0.32433E-13    0.00000E+00   -0.54684E-13    0.67909E-09    0.14021E-13   -0.77925E-15
+  3580    0.73334E-12    0.32272E-13    0.00000E+00   -0.54714E-13    0.67864E-09    0.14139E-13   -0.80789E-15
+  3581    0.73261E-12    0.32112E-13    0.00000E+00   -0.54737E-13    0.67819E-09    0.14258E-13   -0.83640E-15
+  3582    0.73188E-12    0.31951E-13    0.00000E+00   -0.54753E-13    0.67775E-09    0.14379E-13   -0.86466E-15
+  3583    0.73115E-12    0.31788E-13    0.00000E+00   -0.54763E-13    0.67730E-09    0.14500E-13   -0.89252E-15
+  3584    0.73043E-12    0.31625E-13    0.00000E+00   -0.54767E-13    0.67685E-09    0.14622E-13   -0.91984E-15
+  3585    0.72971E-12    0.31461E-13    0.00000E+00   -0.54764E-13    0.67640E-09    0.14743E-13   -0.94648E-15
+  3586    0.72900E-12    0.31297E-13    0.00000E+00   -0.54754E-13    0.67596E-09    0.14863E-13   -0.97230E-15
+  3587    0.72828E-12    0.31133E-13    0.00000E+00   -0.54738E-13    0.67551E-09    0.14981E-13   -0.99715E-15
+  3588    0.72756E-12    0.30967E-13    0.00000E+00   -0.54715E-13    0.67506E-09    0.15097E-13   -0.10210E-14
+  3589    0.72685E-12    0.30801E-13    0.00000E+00   -0.54686E-13    0.67462E-09    0.15212E-13   -0.10438E-14
+  3590    0.72615E-12    0.30636E-13    0.00000E+00   -0.54651E-13    0.67417E-09    0.15327E-13   -0.10660E-14
+  3591    0.72543E-12    0.30469E-13    0.00000E+00   -0.54608E-13    0.67373E-09    0.15443E-13   -0.10876E-14
+  3592    0.72473E-12    0.30302E-13    0.00000E+00   -0.54560E-13    0.67328E-09    0.15560E-13   -0.11088E-14
+  3593    0.72401E-12    0.30135E-13    0.00000E+00   -0.54505E-13    0.67284E-09    0.15680E-13   -0.11298E-14
+  3594    0.72329E-12    0.29968E-13    0.00000E+00   -0.54443E-13    0.67239E-09    0.15804E-13   -0.11509E-14
+  3595    0.72256E-12    0.29800E-13    0.00000E+00   -0.54375E-13    0.67195E-09    0.15933E-13   -0.11721E-14
+  3596    0.72184E-12    0.29632E-13    0.00000E+00   -0.54298E-13    0.67151E-09    0.16065E-13   -0.11934E-14
+  3597    0.72113E-12    0.29464E-13    0.00000E+00   -0.54219E-13    0.67106E-09    0.16200E-13   -0.12147E-14
+  3598    0.72040E-12    0.29296E-13    0.00000E+00   -0.54133E-13    0.67062E-09    0.16338E-13   -0.12359E-14
+  3599    0.71967E-12    0.29128E-13    0.00000E+00   -0.54039E-13    0.67018E-09    0.16476E-13   -0.12569E-14
+  3600    0.71894E-12    0.28959E-13    0.00000E+00   -0.53943E-13    0.66974E-09    0.16615E-13   -0.12775E-14
+  3601    0.71820E-12    0.28791E-13    0.00000E+00   -0.53839E-13    0.66930E-09    0.16754E-13   -0.12978E-14
+  3602    0.71746E-12    0.28623E-13    0.00000E+00   -0.53728E-13    0.66885E-09    0.16891E-13   -0.13175E-14
+  3603    0.71671E-12    0.28454E-13    0.00000E+00   -0.53611E-13    0.66841E-09    0.17026E-13   -0.13368E-14
+  3604    0.71596E-12    0.28286E-13    0.00000E+00   -0.53489E-13    0.66797E-09    0.17162E-13   -0.13556E-14
+  3605    0.71521E-12    0.28118E-13    0.00000E+00   -0.53360E-13    0.66753E-09    0.17296E-13   -0.13739E-14
+  3606    0.71445E-12    0.27950E-13    0.00000E+00   -0.53226E-13    0.66709E-09    0.17431E-13   -0.13919E-14
+  3607    0.71368E-12    0.27782E-13    0.00000E+00   -0.53085E-13    0.66665E-09    0.17567E-13   -0.14094E-14
+  3608    0.71292E-12    0.27615E-13    0.00000E+00   -0.52940E-13    0.66621E-09    0.17703E-13   -0.14266E-14
+  3609    0.71214E-12    0.27447E-13    0.00000E+00   -0.52789E-13    0.66577E-09    0.17841E-13   -0.14434E-14
+  3610    0.71135E-12    0.27281E-13    0.00000E+00   -0.52631E-13    0.66533E-09    0.17980E-13   -0.14599E-14
+  3611    0.71055E-12    0.27115E-13    0.00000E+00   -0.52468E-13    0.66490E-09    0.18119E-13   -0.14761E-14
+  3612    0.70975E-12    0.26948E-13    0.00000E+00   -0.52301E-13    0.66446E-09    0.18259E-13   -0.14918E-14
+  3613    0.70894E-12    0.26782E-13    0.00000E+00   -0.52127E-13    0.66402E-09    0.18400E-13   -0.15073E-14
+  3614    0.70813E-12    0.26617E-13    0.00000E+00   -0.51950E-13    0.66358E-09    0.18540E-13   -0.15223E-14
+  3615    0.70731E-12    0.26452E-13    0.00000E+00   -0.51766E-13    0.66314E-09    0.18680E-13   -0.15370E-14
+  3616    0.70647E-12    0.26288E-13    0.00000E+00   -0.51576E-13    0.66271E-09    0.18819E-13   -0.15513E-14
+  3617    0.70563E-12    0.26124E-13    0.00000E+00   -0.51383E-13    0.66227E-09    0.18957E-13   -0.15651E-14
+  3618    0.70478E-12    0.25961E-13    0.00000E+00   -0.51184E-13    0.66184E-09    0.19095E-13   -0.15785E-14
+  3619    0.70393E-12    0.25798E-13    0.00000E+00   -0.50980E-13    0.66140E-09    0.19231E-13   -0.15913E-14
+  3620    0.70307E-12    0.25636E-13    0.00000E+00   -0.50772E-13    0.66096E-09    0.19365E-13   -0.16035E-14
+  3621    0.70219E-12    0.25475E-13    0.00000E+00   -0.50558E-13    0.66053E-09    0.19497E-13   -0.16150E-14
+  3622    0.70130E-12    0.25315E-13    0.00000E+00   -0.50340E-13    0.66009E-09    0.19627E-13   -0.16258E-14
+  3623    0.70040E-12    0.25156E-13    0.00000E+00   -0.50117E-13    0.65966E-09    0.19755E-13   -0.16358E-14
+  3624    0.69949E-12    0.24996E-13    0.00000E+00   -0.49891E-13    0.65922E-09    0.19881E-13   -0.16451E-14
+  3625    0.69856E-12    0.24839E-13    0.00000E+00   -0.49660E-13    0.65879E-09    0.20006E-13   -0.16538E-14
+  3626    0.69764E-12    0.24682E-13    0.00000E+00   -0.49424E-13    0.65836E-09    0.20131E-13   -0.16619E-14
+  3627    0.69670E-12    0.24526E-13    0.00000E+00   -0.49183E-13    0.65792E-09    0.20256E-13   -0.16696E-14
+  3628    0.69575E-12    0.24370E-13    0.00000E+00   -0.48940E-13    0.65749E-09    0.20382E-13   -0.16769E-14
+  3629    0.69479E-12    0.24216E-13    0.00000E+00   -0.48692E-13    0.65706E-09    0.20509E-13   -0.16839E-14
+  3630    0.69382E-12    0.24063E-13    0.00000E+00   -0.48440E-13    0.65662E-09    0.20638E-13   -0.16907E-14
+  3631    0.69283E-12    0.23910E-13    0.00000E+00   -0.48184E-13    0.65619E-09    0.20769E-13   -0.16972E-14
+  3632    0.69182E-12    0.23758E-13    0.00000E+00   -0.47925E-13    0.65576E-09    0.20902E-13   -0.17035E-14
+  3633    0.69082E-12    0.23608E-13    0.00000E+00   -0.47662E-13    0.65533E-09    0.21036E-13   -0.17095E-14
+  3634    0.68980E-12    0.23458E-13    0.00000E+00   -0.47396E-13    0.65490E-09    0.21171E-13   -0.17151E-14
+  3635    0.68877E-12    0.23310E-13    0.00000E+00   -0.47127E-13    0.65447E-09    0.21306E-13   -0.17204E-14
+  3636    0.68773E-12    0.23164E-13    0.00000E+00   -0.46853E-13    0.65404E-09    0.21441E-13   -0.17252E-14
+  3637    0.68667E-12    0.23017E-13    0.00000E+00   -0.46577E-13    0.65361E-09    0.21576E-13   -0.17296E-14
+  3638    0.68561E-12    0.22873E-13    0.00000E+00   -0.46297E-13    0.65318E-09    0.21711E-13   -0.17335E-14
+  3639    0.68453E-12    0.22730E-13    0.00000E+00   -0.46014E-13    0.65275E-09    0.21845E-13   -0.17370E-14
+  3640    0.68344E-12    0.22588E-13    0.00000E+00   -0.45729E-13    0.65232E-09    0.21978E-13   -0.17401E-14
+  3641    0.68233E-12    0.22447E-13    0.00000E+00   -0.45441E-13    0.65189E-09    0.22110E-13   -0.17428E-14
+  3642    0.68121E-12    0.22307E-13    0.00000E+00   -0.45149E-13    0.65146E-09    0.22241E-13   -0.17452E-14
+  3643    0.68009E-12    0.22169E-13    0.00000E+00   -0.44856E-13    0.65103E-09    0.22370E-13   -0.17471E-14
+  3644    0.67893E-12    0.22032E-13    0.00000E+00   -0.44560E-13    0.65060E-09    0.22497E-13   -0.17487E-14
+  3645    0.67778E-12    0.21897E-13    0.00000E+00   -0.44261E-13    0.65018E-09    0.22622E-13   -0.17499E-14
+  3646    0.67661E-12    0.21763E-13    0.00000E+00   -0.43960E-13    0.64975E-09    0.22746E-13   -0.17508E-14
+  3647    0.67544E-12    0.21629E-13    0.00000E+00   -0.43657E-13    0.64932E-09    0.22870E-13   -0.17512E-14
+  3648    0.67424E-12    0.21498E-13    0.00000E+00   -0.43352E-13    0.64889E-09    0.22993E-13   -0.17513E-14
+  3649    0.67304E-12    0.21368E-13    0.00000E+00   -0.43045E-13    0.64847E-09    0.23116E-13   -0.17509E-14
+  3650    0.67182E-12    0.21239E-13    0.00000E+00   -0.42737E-13    0.64804E-09    0.23239E-13   -0.17502E-14
+  3651    0.67060E-12    0.21112E-13    0.00000E+00   -0.42425E-13    0.64762E-09    0.23363E-13   -0.17489E-14
+  3652    0.66936E-12    0.20986E-13    0.00000E+00   -0.42114E-13    0.64719E-09    0.23486E-13   -0.17473E-14
+  3653    0.66810E-12    0.20862E-13    0.00000E+00   -0.41800E-13    0.64677E-09    0.23608E-13   -0.17452E-14
+  3654    0.66683E-12    0.20738E-13    0.00000E+00   -0.41485E-13    0.64634E-09    0.23728E-13   -0.17428E-14
+  3655    0.66554E-12    0.20617E-13    0.00000E+00   -0.41168E-13    0.64592E-09    0.23845E-13   -0.17400E-14
+  3656    0.66425E-12    0.20497E-13    0.00000E+00   -0.40850E-13    0.64549E-09    0.23958E-13   -0.17368E-14
+  3657    0.66294E-12    0.20379E-13    0.00000E+00   -0.40532E-13    0.64507E-09    0.24066E-13   -0.17332E-14
+  3658    0.66163E-12    0.20263E-13    0.00000E+00   -0.40212E-13    0.64464E-09    0.24169E-13   -0.17293E-14
+  3659    0.66029E-12    0.20147E-13    0.00000E+00   -0.39891E-13    0.64422E-09    0.24267E-13   -0.17250E-14
+  3660    0.65895E-12    0.20034E-13    0.00000E+00   -0.39569E-13    0.64380E-09    0.24362E-13   -0.17203E-14
+  3661    0.65758E-12    0.19922E-13    0.00000E+00   -0.39247E-13    0.64337E-09    0.24456E-13   -0.17151E-14
+  3662    0.65622E-12    0.19812E-13    0.00000E+00   -0.38924E-13    0.64295E-09    0.24550E-13   -0.17094E-14
+  3663    0.65484E-12    0.19703E-13    0.00000E+00   -0.38601E-13    0.64253E-09    0.24644E-13   -0.17033E-14
+  3664    0.65344E-12    0.19596E-13    0.00000E+00   -0.38278E-13    0.64211E-09    0.24741E-13   -0.16965E-14
+  3665    0.65203E-12    0.19490E-13    0.00000E+00   -0.37952E-13    0.64169E-09    0.24841E-13   -0.16892E-14
+  3666    0.65062E-12    0.19385E-13    0.00000E+00   -0.37629E-13    0.64127E-09    0.24944E-13   -0.16814E-14
+  3667    0.64919E-12    0.19284E-13    0.00000E+00   -0.37306E-13    0.64084E-09    0.25048E-13   -0.16730E-14
+  3668    0.64776E-12    0.19183E-13    0.00000E+00   -0.36981E-13    0.64042E-09    0.25153E-13   -0.16642E-14
+  3669    0.64630E-12    0.19084E-13    0.00000E+00   -0.36657E-13    0.64000E-09    0.25257E-13   -0.16550E-14
+  3670    0.64485E-12    0.18986E-13    0.00000E+00   -0.36335E-13    0.63958E-09    0.25360E-13   -0.16455E-14
+  3671    0.64336E-12    0.18891E-13    0.00000E+00   -0.36011E-13    0.63916E-09    0.25460E-13   -0.16356E-14
+  3672    0.64188E-12    0.18797E-13    0.00000E+00   -0.35688E-13    0.63874E-09    0.25556E-13   -0.16255E-14
+  3673    0.64038E-12    0.18704E-13    0.00000E+00   -0.35365E-13    0.63833E-09    0.25649E-13   -0.16151E-14
+  3674    0.63887E-12    0.18614E-13    0.00000E+00   -0.35044E-13    0.63791E-09    0.25740E-13   -0.16044E-14
+  3675    0.63735E-12    0.18525E-13    0.00000E+00   -0.34723E-13    0.63749E-09    0.25828E-13   -0.15935E-14
+  3676    0.63583E-12    0.18438E-13    0.00000E+00   -0.34404E-13    0.63707E-09    0.25916E-13   -0.15822E-14
+  3677    0.63429E-12    0.18352E-13    0.00000E+00   -0.34083E-13    0.63665E-09    0.26003E-13   -0.15707E-14
+  3678    0.63274E-12    0.18268E-13    0.00000E+00   -0.33765E-13    0.63623E-09    0.26090E-13   -0.15589E-14
+  3679    0.63118E-12    0.18186E-13    0.00000E+00   -0.33448E-13    0.63582E-09    0.26178E-13   -0.15468E-14
+  3680    0.62962E-12    0.18105E-13    0.00000E+00   -0.33132E-13    0.63540E-09    0.26266E-13   -0.15344E-14
+  3681    0.62803E-12    0.18026E-13    0.00000E+00   -0.32818E-13    0.63498E-09    0.26353E-13   -0.15217E-14
+  3682    0.62644E-12    0.17949E-13    0.00000E+00   -0.32505E-13    0.63457E-09    0.26440E-13   -0.15087E-14
+  3683    0.62484E-12    0.17873E-13    0.00000E+00   -0.32194E-13    0.63415E-09    0.26524E-13   -0.14954E-14
+  3684    0.62324E-12    0.17800E-13    0.00000E+00   -0.31884E-13    0.63374E-09    0.26606E-13   -0.14817E-14
+  3685    0.62162E-12    0.17727E-13    0.00000E+00   -0.31575E-13    0.63332E-09    0.26685E-13   -0.14678E-14
+  3686    0.62000E-12    0.17655E-13    0.00000E+00   -0.31269E-13    0.63291E-09    0.26760E-13   -0.14535E-14
+  3687    0.61836E-12    0.17586E-13    0.00000E+00   -0.30964E-13    0.63249E-09    0.26831E-13   -0.14390E-14
+  3688    0.61672E-12    0.17519E-13    0.00000E+00   -0.30660E-13    0.63208E-09    0.26899E-13   -0.14242E-14
+  3689    0.61508E-12    0.17453E-13    0.00000E+00   -0.30359E-13    0.63166E-09    0.26964E-13   -0.14093E-14
+  3690    0.61340E-12    0.17389E-13    0.00000E+00   -0.30060E-13    0.63125E-09    0.27026E-13   -0.13943E-14
+  3691    0.61174E-12    0.17327E-13    0.00000E+00   -0.29763E-13    0.63083E-09    0.27086E-13   -0.13792E-14
+  3692    0.61007E-12    0.17266E-13    0.00000E+00   -0.29469E-13    0.63042E-09    0.27144E-13   -0.13641E-14
+  3693    0.60839E-12    0.17207E-13    0.00000E+00   -0.29177E-13    0.63001E-09    0.27200E-13   -0.13490E-14
+  3694    0.60670E-12    0.17149E-13    0.00000E+00   -0.28887E-13    0.62960E-09    0.27255E-13   -0.13339E-14
+  3695    0.60501E-12    0.17093E-13    0.00000E+00   -0.28600E-13    0.62918E-09    0.27309E-13   -0.13186E-14
+  3696    0.60330E-12    0.17038E-13    0.00000E+00   -0.28316E-13    0.62877E-09    0.27360E-13   -0.13030E-14
+  3697    0.60159E-12    0.16986E-13    0.00000E+00   -0.28034E-13    0.62836E-09    0.27411E-13   -0.12870E-14
+  3698    0.59989E-12    0.16934E-13    0.00000E+00   -0.27755E-13    0.62795E-09    0.27460E-13   -0.12705E-14
+  3699    0.59817E-12    0.16884E-13    0.00000E+00   -0.27477E-13    0.62754E-09    0.27507E-13   -0.12532E-14
+  3700    0.59644E-12    0.16836E-13    0.00000E+00   -0.27204E-13    0.62712E-09    0.27554E-13   -0.12353E-14
+  3701    0.59471E-12    0.16789E-13    0.00000E+00   -0.26933E-13    0.62671E-09    0.27599E-13   -0.12167E-14
+  3702    0.59297E-12    0.16743E-13    0.00000E+00   -0.26665E-13    0.62630E-09    0.27642E-13   -0.11975E-14
+  3703    0.59123E-12    0.16700E-13    0.00000E+00   -0.26400E-13    0.62589E-09    0.27685E-13   -0.11779E-14
+  3704    0.58949E-12    0.16657E-13    0.00000E+00   -0.26138E-13    0.62548E-09    0.27727E-13   -0.11579E-14
+  3705    0.58774E-12    0.16617E-13    0.00000E+00   -0.25878E-13    0.62507E-09    0.27768E-13   -0.11377E-14
+  3706    0.58598E-12    0.16576E-13    0.00000E+00   -0.25622E-13    0.62467E-09    0.27808E-13   -0.11174E-14
+  3707    0.58422E-12    0.16539E-13    0.00000E+00   -0.25370E-13    0.62426E-09    0.27847E-13   -0.10970E-14
+  3708    0.58245E-12    0.16502E-13    0.00000E+00   -0.25121E-13    0.62385E-09    0.27885E-13   -0.10766E-14
+  3709    0.58069E-12    0.16467E-13    0.00000E+00   -0.24875E-13    0.62344E-09    0.27922E-13   -0.10560E-14
+  3710    0.57893E-12    0.16433E-13    0.00000E+00   -0.24633E-13    0.62303E-09    0.27958E-13   -0.10354E-14
+  3711    0.57715E-12    0.16401E-13    0.00000E+00   -0.24393E-13    0.62262E-09    0.27992E-13   -0.10146E-14
+  3712    0.57538E-12    0.16370E-13    0.00000E+00   -0.24159E-13    0.62222E-09    0.28024E-13   -0.99357E-15
+  3713    0.57361E-12    0.16340E-13    0.00000E+00   -0.23926E-13    0.62181E-09    0.28053E-13   -0.97237E-15
+  3714    0.57183E-12    0.16309E-13    0.00000E+00   -0.23698E-13    0.62140E-09    0.28081E-13   -0.95094E-15
+  3715    0.57005E-12    0.16283E-13    0.00000E+00   -0.23473E-13    0.62100E-09    0.28106E-13   -0.92930E-15
+  3716    0.56826E-12    0.16257E-13    0.00000E+00   -0.23252E-13    0.62059E-09    0.28129E-13   -0.90748E-15
+  3717    0.56648E-12    0.16232E-13    0.00000E+00   -0.23035E-13    0.62018E-09    0.28149E-13   -0.88551E-15
+  3718    0.56470E-12    0.16208E-13    0.00000E+00   -0.22821E-13    0.61978E-09    0.28168E-13   -0.86343E-15
+  3719    0.56290E-12    0.16186E-13    0.00000E+00   -0.22611E-13    0.61937E-09    0.28185E-13   -0.84126E-15
+  3720    0.56112E-12    0.16168E-13    0.00000E+00   -0.22405E-13    0.61897E-09    0.28200E-13   -0.81904E-15
+  3721    0.55933E-12    0.16148E-13    0.00000E+00   -0.22203E-13    0.61856E-09    0.28214E-13   -0.79681E-15
+  3722    0.55755E-12    0.16129E-13    0.00000E+00   -0.22004E-13    0.61816E-09    0.28225E-13   -0.77460E-15
+  3723    0.55576E-12    0.16112E-13    0.00000E+00   -0.21810E-13    0.61775E-09    0.28235E-13   -0.75245E-15
+  3724    0.55398E-12    0.16096E-13    0.00000E+00   -0.21619E-13    0.61735E-09    0.28242E-13   -0.73040E-15
+  3725    0.55219E-12    0.16081E-13    0.00000E+00   -0.21433E-13    0.61695E-09    0.28247E-13   -0.70851E-15
+  3726    0.55040E-12    0.16066E-13    0.00000E+00   -0.21250E-13    0.61654E-09    0.28250E-13   -0.68680E-15
+  3727    0.54862E-12    0.16054E-13    0.00000E+00   -0.21072E-13    0.61614E-09    0.28250E-13   -0.66533E-15
+  3728    0.54684E-12    0.16041E-13    0.00000E+00   -0.20898E-13    0.61574E-09    0.28248E-13   -0.64410E-15
+  3729    0.54505E-12    0.16032E-13    0.00000E+00   -0.20728E-13    0.61534E-09    0.28243E-13   -0.62301E-15
+  3730    0.54328E-12    0.16022E-13    0.00000E+00   -0.20561E-13    0.61493E-09    0.28237E-13   -0.60192E-15
+  3731    0.54150E-12    0.16013E-13    0.00000E+00   -0.20399E-13    0.61453E-09    0.28228E-13   -0.58071E-15
+  3732    0.53973E-12    0.16004E-13    0.00000E+00   -0.20241E-13    0.61413E-09    0.28217E-13   -0.55924E-15
+  3733    0.53795E-12    0.15998E-13    0.00000E+00   -0.20087E-13    0.61373E-09    0.28206E-13   -0.53737E-15
+  3734    0.53619E-12    0.15992E-13    0.00000E+00   -0.19936E-13    0.61333E-09    0.28193E-13   -0.51498E-15
+  3735    0.53442E-12    0.15986E-13    0.00000E+00   -0.19791E-13    0.61293E-09    0.28179E-13   -0.49197E-15
+  3736    0.53266E-12    0.15982E-13    0.00000E+00   -0.19651E-13    0.61253E-09    0.28164E-13   -0.46840E-15
+  3737    0.53091E-12    0.15979E-13    0.00000E+00   -0.19513E-13    0.61213E-09    0.28147E-13   -0.44439E-15
+  3738    0.52914E-12    0.15976E-13    0.00000E+00   -0.19381E-13    0.61173E-09    0.28129E-13   -0.42004E-15
+  3739    0.52739E-12    0.15975E-13    0.00000E+00   -0.19251E-13    0.61133E-09    0.28110E-13   -0.39547E-15
+  3740    0.52566E-12    0.15974E-13    0.00000E+00   -0.19126E-13    0.61093E-09    0.28088E-13   -0.37078E-15
+  3741    0.52391E-12    0.15974E-13    0.00000E+00   -0.19002E-13    0.61053E-09    0.28065E-13   -0.34607E-15
+  3742    0.52217E-12    0.15974E-13    0.00000E+00   -0.18885E-13    0.61013E-09    0.28039E-13   -0.32144E-15
+  3743    0.52044E-12    0.15975E-13    0.00000E+00   -0.18772E-13    0.60973E-09    0.28011E-13   -0.29688E-15
+  3744    0.51872E-12    0.15977E-13    0.00000E+00   -0.18663E-13    0.60933E-09    0.27981E-13   -0.27235E-15
+  3745    0.51700E-12    0.15980E-13    0.00000E+00   -0.18558E-13    0.60893E-09    0.27950E-13   -0.24782E-15
+  3746    0.51529E-12    0.15983E-13    0.00000E+00   -0.18458E-13    0.60854E-09    0.27917E-13   -0.22326E-15
+  3747    0.51357E-12    0.15987E-13    0.00000E+00   -0.18362E-13    0.60814E-09    0.27883E-13   -0.19864E-15
+  3748    0.51187E-12    0.15991E-13    0.00000E+00   -0.18270E-13    0.60774E-09    0.27848E-13   -0.17393E-15
+  3749    0.51018E-12    0.15996E-13    0.00000E+00   -0.18181E-13    0.60735E-09    0.27813E-13   -0.14910E-15
+  3750    0.50848E-12    0.16001E-13    0.00000E+00   -0.18097E-13    0.60695E-09    0.27776E-13   -0.12422E-15
+  3751    0.50681E-12    0.16007E-13    0.00000E+00   -0.18017E-13    0.60655E-09    0.27738E-13   -0.99348E-16
+  3752    0.50513E-12    0.16013E-13    0.00000E+00   -0.17942E-13    0.60616E-09    0.27699E-13   -0.74554E-16
+  3753    0.50346E-12    0.16021E-13    0.00000E+00   -0.17870E-13    0.60576E-09    0.27658E-13   -0.49905E-16
+  3754    0.50180E-12    0.16028E-13    0.00000E+00   -0.17801E-13    0.60537E-09    0.27614E-13   -0.25471E-16
+  3755    0.50014E-12    0.16036E-13    0.00000E+00   -0.17737E-13    0.60497E-09    0.27569E-13   -0.13177E-17
+  3756    0.49849E-12    0.16044E-13    0.00000E+00   -0.17678E-13    0.60458E-09    0.27522E-13    0.22498E-16
+  3757    0.49685E-12    0.16052E-13    0.00000E+00   -0.17622E-13    0.60418E-09    0.27472E-13    0.45970E-16
+  3758    0.49521E-12    0.16061E-13    0.00000E+00   -0.17569E-13    0.60379E-09    0.27420E-13    0.69107E-16
+  3759    0.49359E-12    0.16070E-13    0.00000E+00   -0.17521E-13    0.60339E-09    0.27367E-13    0.91914E-16
+  3760    0.49197E-12    0.16081E-13    0.00000E+00   -0.17476E-13    0.60300E-09    0.27312E-13    0.11440E-15
+  3761    0.49038E-12    0.16091E-13    0.00000E+00   -0.17435E-13    0.60261E-09    0.27257E-13    0.13657E-15
+  3762    0.48878E-12    0.16101E-13    0.00000E+00   -0.17398E-13    0.60221E-09    0.27200E-13    0.15843E-15
+  3763    0.48719E-12    0.16111E-13    0.00000E+00   -0.17364E-13    0.60182E-09    0.27143E-13    0.18001E-15
+  3764    0.48561E-12    0.16121E-13    0.00000E+00   -0.17335E-13    0.60143E-09    0.27085E-13    0.20138E-15
+  3765    0.48404E-12    0.16132E-13    0.00000E+00   -0.17308E-13    0.60104E-09    0.27026E-13    0.22265E-15
+  3766    0.48249E-12    0.16142E-13    0.00000E+00   -0.17286E-13    0.60065E-09    0.26966E-13    0.24392E-15
+  3767    0.48093E-12    0.16153E-13    0.00000E+00   -0.17268E-13    0.60025E-09    0.26904E-13    0.26528E-15
+  3768    0.47939E-12    0.16165E-13    0.00000E+00   -0.17252E-13    0.59986E-09    0.26840E-13    0.28684E-15
+  3769    0.47786E-12    0.16176E-13    0.00000E+00   -0.17240E-13    0.59947E-09    0.26775E-13    0.30869E-15
+  3770    0.47634E-12    0.16188E-13    0.00000E+00   -0.17231E-13    0.59908E-09    0.26706E-13    0.33091E-15
+  3771    0.47483E-12    0.16198E-13    0.00000E+00   -0.17227E-13    0.59869E-09    0.26636E-13    0.35343E-15
+  3772    0.47333E-12    0.16209E-13    0.00000E+00   -0.17225E-13    0.59830E-09    0.26564E-13    0.37618E-15
+  3773    0.47184E-12    0.16221E-13    0.00000E+00   -0.17227E-13    0.59791E-09    0.26489E-13    0.39907E-15
+  3774    0.47036E-12    0.16234E-13    0.00000E+00   -0.17232E-13    0.59752E-09    0.26413E-13    0.42202E-15
+  3775    0.46889E-12    0.16244E-13    0.00000E+00   -0.17239E-13    0.59713E-09    0.26336E-13    0.44495E-15
+  3776    0.46743E-12    0.16256E-13    0.00000E+00   -0.17251E-13    0.59674E-09    0.26257E-13    0.46776E-15
+  3777    0.46599E-12    0.16267E-13    0.00000E+00   -0.17266E-13    0.59635E-09    0.26176E-13    0.49039E-15
+  3778    0.46457E-12    0.16279E-13    0.00000E+00   -0.17283E-13    0.59596E-09    0.26094E-13    0.51286E-15
+  3779    0.46314E-12    0.16289E-13    0.00000E+00   -0.17305E-13    0.59558E-09    0.26011E-13    0.53519E-15
+  3780    0.46173E-12    0.16300E-13    0.00000E+00   -0.17328E-13    0.59519E-09    0.25928E-13    0.55741E-15
+  3781    0.46033E-12    0.16310E-13    0.00000E+00   -0.17355E-13    0.59480E-09    0.25843E-13    0.57955E-15
+  3782    0.45893E-12    0.16321E-13    0.00000E+00   -0.17384E-13    0.59441E-09    0.25757E-13    0.60164E-15
+  3783    0.45753E-12    0.16331E-13    0.00000E+00   -0.17416E-13    0.59402E-09    0.25670E-13    0.62370E-15
+  3784    0.45617E-12    0.16341E-13    0.00000E+00   -0.17453E-13    0.59364E-09    0.25583E-13    0.64575E-15
+  3785    0.45481E-12    0.16351E-13    0.00000E+00   -0.17489E-13    0.59325E-09    0.25495E-13    0.66771E-15
+  3786    0.45345E-12    0.16361E-13    0.00000E+00   -0.17530E-13    0.59286E-09    0.25406E-13    0.68949E-15
+  3787    0.45212E-12    0.16371E-13    0.00000E+00   -0.17573E-13    0.59248E-09    0.25316E-13    0.71099E-15
+  3788    0.45080E-12    0.16379E-13    0.00000E+00   -0.17618E-13    0.59209E-09    0.25225E-13    0.73214E-15
+  3789    0.44949E-12    0.16388E-13    0.00000E+00   -0.17666E-13    0.59171E-09    0.25132E-13    0.75282E-15
+  3790    0.44819E-12    0.16396E-13    0.00000E+00   -0.17717E-13    0.59132E-09    0.25038E-13    0.77296E-15
+  3791    0.44690E-12    0.16404E-13    0.00000E+00   -0.17770E-13    0.59094E-09    0.24943E-13    0.79248E-15
+  3792    0.44563E-12    0.16412E-13    0.00000E+00   -0.17825E-13    0.59055E-09    0.24847E-13    0.81142E-15
+  3793    0.44436E-12    0.16419E-13    0.00000E+00   -0.17880E-13    0.59017E-09    0.24750E-13    0.82984E-15
+  3794    0.44311E-12    0.16426E-13    0.00000E+00   -0.17939E-13    0.58978E-09    0.24653E-13    0.84780E-15
+  3795    0.44187E-12    0.16432E-13    0.00000E+00   -0.18000E-13    0.58940E-09    0.24555E-13    0.86536E-15
+  3796    0.44064E-12    0.16438E-13    0.00000E+00   -0.18066E-13    0.58902E-09    0.24458E-13    0.88257E-15
+  3797    0.43942E-12    0.16444E-13    0.00000E+00   -0.18132E-13    0.58863E-09    0.24361E-13    0.89951E-15
+  3798    0.43822E-12    0.16449E-13    0.00000E+00   -0.18200E-13    0.58825E-09    0.24265E-13    0.91622E-15
+  3799    0.43703E-12    0.16454E-13    0.00000E+00   -0.18269E-13    0.58787E-09    0.24170E-13    0.93276E-15
+  3800    0.43584E-12    0.16459E-13    0.00000E+00   -0.18341E-13    0.58748E-09    0.24074E-13    0.94916E-15
+  3801    0.43467E-12    0.16461E-13    0.00000E+00   -0.18414E-13    0.58710E-09    0.23978E-13    0.96547E-15
+  3802    0.43351E-12    0.16465E-13    0.00000E+00   -0.18489E-13    0.58672E-09    0.23880E-13    0.98173E-15
+  3803    0.43236E-12    0.16467E-13    0.00000E+00   -0.18565E-13    0.58634E-09    0.23780E-13    0.99800E-15
+  3804    0.43124E-12    0.16469E-13    0.00000E+00   -0.18643E-13    0.58596E-09    0.23677E-13    0.10143E-14
+  3805    0.43011E-12    0.16471E-13    0.00000E+00   -0.18723E-13    0.58558E-09    0.23571E-13    0.10307E-14
+  3806    0.42900E-12    0.16472E-13    0.00000E+00   -0.18803E-13    0.58519E-09    0.23463E-13    0.10471E-14
+  3807    0.42791E-12    0.16472E-13    0.00000E+00   -0.18885E-13    0.58481E-09    0.23352E-13    0.10635E-14
+  3808    0.42682E-12    0.16472E-13    0.00000E+00   -0.18968E-13    0.58443E-09    0.23240E-13    0.10798E-14
+  3809    0.42575E-12    0.16472E-13    0.00000E+00   -0.19053E-13    0.58405E-09    0.23126E-13    0.10960E-14
+  3810    0.42470E-12    0.16470E-13    0.00000E+00   -0.19138E-13    0.58367E-09    0.23012E-13    0.11120E-14
+  3811    0.42365E-12    0.16468E-13    0.00000E+00   -0.19225E-13    0.58329E-09    0.22898E-13    0.11278E-14
+  3812    0.42262E-12    0.16464E-13    0.00000E+00   -0.19312E-13    0.58291E-09    0.22784E-13    0.11434E-14
+  3813    0.42159E-12    0.16461E-13    0.00000E+00   -0.19401E-13    0.58254E-09    0.22670E-13    0.11587E-14
+  3814    0.42057E-12    0.16457E-13    0.00000E+00   -0.19492E-13    0.58216E-09    0.22556E-13    0.11738E-14
+  3815    0.41957E-12    0.16453E-13    0.00000E+00   -0.19582E-13    0.58178E-09    0.22442E-13    0.11888E-14
+  3816    0.41858E-12    0.16448E-13    0.00000E+00   -0.19673E-13    0.58140E-09    0.22327E-13    0.12035E-14
+  3817    0.41760E-12    0.16441E-13    0.00000E+00   -0.19765E-13    0.58102E-09    0.22210E-13    0.12181E-14
+  3818    0.41663E-12    0.16435E-13    0.00000E+00   -0.19857E-13    0.58064E-09    0.22092E-13    0.12326E-14
+  3819    0.41568E-12    0.16427E-13    0.00000E+00   -0.19950E-13    0.58027E-09    0.21972E-13    0.12469E-14
+  3820    0.41473E-12    0.16419E-13    0.00000E+00   -0.20045E-13    0.57989E-09    0.21851E-13    0.12611E-14
+  3821    0.41380E-12    0.16410E-13    0.00000E+00   -0.20138E-13    0.57951E-09    0.21729E-13    0.12750E-14
+  3822    0.41287E-12    0.16401E-13    0.00000E+00   -0.20233E-13    0.57914E-09    0.21607E-13    0.12885E-14
+  3823    0.41196E-12    0.16391E-13    0.00000E+00   -0.20328E-13    0.57876E-09    0.21486E-13    0.13016E-14
+  3824    0.41105E-12    0.16380E-13    0.00000E+00   -0.20423E-13    0.57838E-09    0.21365E-13    0.13141E-14
+  3825    0.41016E-12    0.16368E-13    0.00000E+00   -0.20517E-13    0.57801E-09    0.21246E-13    0.13259E-14
+  3826    0.40929E-12    0.16356E-13    0.00000E+00   -0.20612E-13    0.57763E-09    0.21130E-13    0.13370E-14
+  3827    0.40841E-12    0.16342E-13    0.00000E+00   -0.20708E-13    0.57726E-09    0.21015E-13    0.13475E-14
+  3828    0.40755E-12    0.16328E-13    0.00000E+00   -0.20803E-13    0.57688E-09    0.20901E-13    0.13574E-14
+  3829    0.40670E-12    0.16313E-13    0.00000E+00   -0.20898E-13    0.57651E-09    0.20789E-13    0.13668E-14
+  3830    0.40587E-12    0.16298E-13    0.00000E+00   -0.20993E-13    0.57613E-09    0.20676E-13    0.13758E-14
+  3831    0.40504E-12    0.16282E-13    0.00000E+00   -0.21088E-13    0.57576E-09    0.20564E-13    0.13845E-14
+  3832    0.40422E-12    0.16265E-13    0.00000E+00   -0.21182E-13    0.57538E-09    0.20451E-13    0.13930E-14
+  3833    0.40341E-12    0.16246E-13    0.00000E+00   -0.21276E-13    0.57501E-09    0.20337E-13    0.14014E-14
+  3834    0.40262E-12    0.16228E-13    0.00000E+00   -0.21370E-13    0.57464E-09    0.20222E-13    0.14096E-14
+  3835    0.40183E-12    0.16209E-13    0.00000E+00   -0.21463E-13    0.57426E-09    0.20106E-13    0.14176E-14
+  3836    0.40105E-12    0.16189E-13    0.00000E+00   -0.21556E-13    0.57389E-09    0.19990E-13    0.14256E-14
+  3837    0.40028E-12    0.16168E-13    0.00000E+00   -0.21648E-13    0.57352E-09    0.19873E-13    0.14333E-14
+  3838    0.39952E-12    0.16146E-13    0.00000E+00   -0.21740E-13    0.57314E-09    0.19756E-13    0.14409E-14
+  3839    0.39877E-12    0.16124E-13    0.00000E+00   -0.21832E-13    0.57277E-09    0.19639E-13    0.14484E-14
+  3840    0.39803E-12    0.16100E-13    0.00000E+00   -0.21922E-13    0.57240E-09    0.19522E-13    0.14556E-14
+  3841    0.39730E-12    0.16077E-13    0.00000E+00   -0.22012E-13    0.57203E-09    0.19404E-13    0.14627E-14
+  3842    0.39658E-12    0.16052E-13    0.00000E+00   -0.22101E-13    0.57166E-09    0.19287E-13    0.14696E-14
+  3843    0.39586E-12    0.16026E-13    0.00000E+00   -0.22188E-13    0.57129E-09    0.19168E-13    0.14763E-14
+  3844    0.39515E-12    0.16000E-13    0.00000E+00   -0.22276E-13    0.57092E-09    0.19049E-13    0.14827E-14
+  3845    0.39446E-12    0.15974E-13    0.00000E+00   -0.22362E-13    0.57055E-09    0.18928E-13    0.14889E-14
+  3846    0.39376E-12    0.15945E-13    0.00000E+00   -0.22446E-13    0.57017E-09    0.18806E-13    0.14948E-14
+  3847    0.39307E-12    0.15917E-13    0.00000E+00   -0.22531E-13    0.56980E-09    0.18683E-13    0.15004E-14
+  3848    0.39240E-12    0.15888E-13    0.00000E+00   -0.22613E-13    0.56943E-09    0.18558E-13    0.15058E-14
+  3849    0.39173E-12    0.15857E-13    0.00000E+00   -0.22694E-13    0.56907E-09    0.18432E-13    0.15109E-14
+  3850    0.39107E-12    0.15826E-13    0.00000E+00   -0.22774E-13    0.56870E-09    0.18306E-13    0.15158E-14
+  3851    0.39042E-12    0.15794E-13    0.00000E+00   -0.22853E-13    0.56833E-09    0.18180E-13    0.15205E-14
+  3852    0.38977E-12    0.15762E-13    0.00000E+00   -0.22931E-13    0.56796E-09    0.18054E-13    0.15250E-14
+  3853    0.38914E-12    0.15729E-13    0.00000E+00   -0.23006E-13    0.56759E-09    0.17929E-13    0.15293E-14
+  3854    0.38851E-12    0.15692E-13    0.00000E+00   -0.23081E-13    0.56722E-09    0.17805E-13    0.15334E-14
+  3855    0.38788E-12    0.15658E-13    0.00000E+00   -0.23154E-13    0.56685E-09    0.17682E-13    0.15373E-14
+  3856    0.38726E-12    0.15623E-13    0.00000E+00   -0.23225E-13    0.56649E-09    0.17561E-13    0.15409E-14
+  3857    0.38666E-12    0.15586E-13    0.00000E+00   -0.23295E-13    0.56612E-09    0.17440E-13    0.15441E-14
+  3858    0.38605E-12    0.15549E-13    0.00000E+00   -0.23365E-13    0.56575E-09    0.17321E-13    0.15468E-14
+  3859    0.38545E-12    0.15511E-13    0.00000E+00   -0.23432E-13    0.56538E-09    0.17203E-13    0.15490E-14
+  3860    0.38486E-12    0.15476E-13    0.00000E+00   -0.23497E-13    0.56502E-09    0.17087E-13    0.15506E-14
+  3861    0.38427E-12    0.15437E-13    0.00000E+00   -0.23561E-13    0.56465E-09    0.16971E-13    0.15515E-14
+  3862    0.38370E-12    0.15397E-13    0.00000E+00   -0.23623E-13    0.56428E-09    0.16857E-13    0.15519E-14
+  3863    0.38312E-12    0.15357E-13    0.00000E+00   -0.23683E-13    0.56392E-09    0.16744E-13    0.15517E-14
+  3864    0.38255E-12    0.15316E-13    0.00000E+00   -0.23741E-13    0.56355E-09    0.16633E-13    0.15511E-14
+  3865    0.38198E-12    0.15274E-13    0.00000E+00   -0.23797E-13    0.56319E-09    0.16523E-13    0.15503E-14
+  3866    0.38142E-12    0.15233E-13    0.00000E+00   -0.23851E-13    0.56282E-09    0.16414E-13    0.15492E-14
+  3867    0.38086E-12    0.15190E-13    0.00000E+00   -0.23903E-13    0.56246E-09    0.16307E-13    0.15479E-14
+  3868    0.38031E-12    0.15147E-13    0.00000E+00   -0.23954E-13    0.56209E-09    0.16201E-13    0.15466E-14
+  3869    0.37976E-12    0.15102E-13    0.00000E+00   -0.24002E-13    0.56173E-09    0.16097E-13    0.15453E-14
+  3870    0.37922E-12    0.15057E-13    0.00000E+00   -0.24048E-13    0.56136E-09    0.15993E-13    0.15438E-14
+  3871    0.37869E-12    0.15012E-13    0.00000E+00   -0.24092E-13    0.56100E-09    0.15889E-13    0.15422E-14
+  3872    0.37815E-12    0.14965E-13    0.00000E+00   -0.24134E-13    0.56064E-09    0.15784E-13    0.15404E-14
+  3873    0.37761E-12    0.14918E-13    0.00000E+00   -0.24174E-13    0.56027E-09    0.15679E-13    0.15384E-14
+  3874    0.37708E-12    0.14871E-13    0.00000E+00   -0.24212E-13    0.55991E-09    0.15573E-13    0.15361E-14
+  3875    0.37656E-12    0.14826E-13    0.00000E+00   -0.24248E-13    0.55955E-09    0.15464E-13    0.15336E-14
+  3876    0.37603E-12    0.14777E-13    0.00000E+00   -0.24282E-13    0.55918E-09    0.15355E-13    0.15308E-14
+  3877    0.37552E-12    0.14728E-13    0.00000E+00   -0.24313E-13    0.55882E-09    0.15244E-13    0.15276E-14
+  3878    0.37500E-12    0.14678E-13    0.00000E+00   -0.24341E-13    0.55846E-09    0.15134E-13    0.15242E-14
+  3879    0.37449E-12    0.14629E-13    0.00000E+00   -0.24368E-13    0.55810E-09    0.15023E-13    0.15205E-14
+  3880    0.37398E-12    0.14578E-13    0.00000E+00   -0.24392E-13    0.55774E-09    0.14914E-13    0.15165E-14
+  3881    0.37347E-12    0.14524E-13    0.00000E+00   -0.24414E-13    0.55737E-09    0.14805E-13    0.15123E-14
+  3882    0.37295E-12    0.14473E-13    0.00000E+00   -0.24434E-13    0.55701E-09    0.14698E-13    0.15077E-14
+  3883    0.37245E-12    0.14419E-13    0.00000E+00   -0.24451E-13    0.55665E-09    0.14593E-13    0.15028E-14
+  3884    0.37195E-12    0.14367E-13    0.00000E+00   -0.24466E-13    0.55629E-09    0.14489E-13    0.14976E-14
+  3885    0.37145E-12    0.14313E-13    0.00000E+00   -0.24480E-13    0.55593E-09    0.14385E-13    0.14922E-14
+  3886    0.37095E-12    0.14260E-13    0.00000E+00   -0.24490E-13    0.55557E-09    0.14282E-13    0.14866E-14
+  3887    0.37045E-12    0.14206E-13    0.00000E+00   -0.24497E-13    0.55521E-09    0.14178E-13    0.14807E-14
+  3888    0.36995E-12    0.14152E-13    0.00000E+00   -0.24503E-13    0.55485E-09    0.14075E-13    0.14745E-14
+  3889    0.36946E-12    0.14094E-13    0.00000E+00   -0.24507E-13    0.55449E-09    0.13971E-13    0.14682E-14
+  3890    0.36897E-12    0.14041E-13    0.00000E+00   -0.24507E-13    0.55413E-09    0.13866E-13    0.14616E-14
+  3891    0.36847E-12    0.13985E-13    0.00000E+00   -0.24506E-13    0.55377E-09    0.13763E-13    0.14547E-14
+  3892    0.36797E-12    0.13929E-13    0.00000E+00   -0.24502E-13    0.55342E-09    0.13661E-13    0.14476E-14
+  3893    0.36748E-12    0.13873E-13    0.00000E+00   -0.24496E-13    0.55306E-09    0.13560E-13    0.14402E-14
+  3894    0.36698E-12    0.13816E-13    0.00000E+00   -0.24487E-13    0.55270E-09    0.13463E-13    0.14325E-14
+  3895    0.36647E-12    0.13759E-13    0.00000E+00   -0.24475E-13    0.55234E-09    0.13369E-13    0.14244E-14
+  3896    0.36598E-12    0.13701E-13    0.00000E+00   -0.24462E-13    0.55198E-09    0.13278E-13    0.14161E-14
+  3897    0.36548E-12    0.13644E-13    0.00000E+00   -0.24444E-13    0.55163E-09    0.13191E-13    0.14073E-14
+  3898    0.36499E-12    0.13586E-13    0.00000E+00   -0.24425E-13    0.55127E-09    0.13107E-13    0.13984E-14
+  3899    0.36448E-12    0.13527E-13    0.00000E+00   -0.24404E-13    0.55091E-09    0.13025E-13    0.13892E-14
+  3900    0.36399E-12    0.13468E-13    0.00000E+00   -0.24380E-13    0.55056E-09    0.12944E-13    0.13798E-14
+  3901    0.36349E-12    0.13409E-13    0.00000E+00   -0.24354E-13    0.55020E-09    0.12864E-13    0.13702E-14
+  3902    0.36298E-12    0.13349E-13    0.00000E+00   -0.24325E-13    0.54984E-09    0.12783E-13    0.13606E-14
+  3903    0.36248E-12    0.13289E-13    0.00000E+00   -0.24294E-13    0.54949E-09    0.12702E-13    0.13508E-14
+  3904    0.36197E-12    0.13230E-13    0.00000E+00   -0.24263E-13    0.54913E-09    0.12621E-13    0.13410E-14
+  3905    0.36148E-12    0.13167E-13    0.00000E+00   -0.24227E-13    0.54878E-09    0.12539E-13    0.13310E-14
+  3906    0.36097E-12    0.13107E-13    0.00000E+00   -0.24189E-13    0.54842E-09    0.12458E-13    0.13209E-14
+  3907    0.36046E-12    0.13049E-13    0.00000E+00   -0.24147E-13    0.54807E-09    0.12377E-13    0.13107E-14
+  3908    0.35995E-12    0.12988E-13    0.00000E+00   -0.24101E-13    0.54771E-09    0.12297E-13    0.13002E-14
+  3909    0.35943E-12    0.12928E-13    0.00000E+00   -0.24056E-13    0.54736E-09    0.12219E-13    0.12895E-14
+  3910    0.35894E-12    0.12867E-13    0.00000E+00   -0.24008E-13    0.54700E-09    0.12142E-13    0.12786E-14
+  3911    0.35842E-12    0.12806E-13    0.00000E+00   -0.23956E-13    0.54665E-09    0.12066E-13    0.12674E-14
+  3912    0.35790E-12    0.12745E-13    0.00000E+00   -0.23904E-13    0.54630E-09    0.11991E-13    0.12559E-14
+  3913    0.35736E-12    0.12683E-13    0.00000E+00   -0.23849E-13    0.54594E-09    0.11918E-13    0.12442E-14
+  3914    0.35683E-12    0.12622E-13    0.00000E+00   -0.23792E-13    0.54559E-09    0.11844E-13    0.12321E-14
+  3915    0.35630E-12    0.12560E-13    0.00000E+00   -0.23730E-13    0.54524E-09    0.11771E-13    0.12198E-14
+  3916    0.35575E-12    0.12499E-13    0.00000E+00   -0.23669E-13    0.54488E-09    0.11697E-13    0.12072E-14
+  3917    0.35522E-12    0.12438E-13    0.00000E+00   -0.23604E-13    0.54453E-09    0.11624E-13    0.11944E-14
+  3918    0.35467E-12    0.12376E-13    0.00000E+00   -0.23537E-13    0.54418E-09    0.11550E-13    0.11812E-14
+  3919    0.35413E-12    0.12315E-13    0.00000E+00   -0.23468E-13    0.54383E-09    0.11477E-13    0.11678E-14
+  3920    0.35358E-12    0.12253E-13    0.00000E+00   -0.23397E-13    0.54347E-09    0.11404E-13    0.11541E-14
+  3921    0.35303E-12    0.12191E-13    0.00000E+00   -0.23324E-13    0.54312E-09    0.11333E-13    0.11403E-14
+  3922    0.35247E-12    0.12130E-13    0.00000E+00   -0.23248E-13    0.54277E-09    0.11263E-13    0.11262E-14
+  3923    0.35192E-12    0.12068E-13    0.00000E+00   -0.23170E-13    0.54242E-09    0.11194E-13    0.11120E-14
+  3924    0.35136E-12    0.12006E-13    0.00000E+00   -0.23090E-13    0.54207E-09    0.11128E-13    0.10977E-14
+  3925    0.35078E-12    0.11946E-13    0.00000E+00   -0.23008E-13    0.54172E-09    0.11064E-13    0.10832E-14
+  3926    0.35022E-12    0.11884E-13    0.00000E+00   -0.22923E-13    0.54137E-09    0.11002E-13    0.10686E-14
+  3927    0.34964E-12    0.11823E-13    0.00000E+00   -0.22836E-13    0.54102E-09    0.10942E-13    0.10539E-14
+  3928    0.34905E-12    0.11761E-13    0.00000E+00   -0.22748E-13    0.54067E-09    0.10884E-13    0.10390E-14
+  3929    0.34848E-12    0.11700E-13    0.00000E+00   -0.22657E-13    0.54032E-09    0.10827E-13    0.10242E-14
+  3930    0.34789E-12    0.11639E-13    0.00000E+00   -0.22565E-13    0.53997E-09    0.10773E-13    0.10092E-14
+  3931    0.34729E-12    0.11578E-13    0.00000E+00   -0.22470E-13    0.53962E-09    0.10721E-13    0.99417E-15
+  3932    0.34670E-12    0.11517E-13    0.00000E+00   -0.22373E-13    0.53927E-09    0.10670E-13    0.97910E-15
+  3933    0.34609E-12    0.11456E-13    0.00000E+00   -0.22275E-13    0.53892E-09    0.10621E-13    0.96397E-15
+  3934    0.34548E-12    0.11396E-13    0.00000E+00   -0.22175E-13    0.53858E-09    0.10573E-13    0.94879E-15
+  3935    0.34488E-12    0.11335E-13    0.00000E+00   -0.22072E-13    0.53823E-09    0.10527E-13    0.93356E-15
+  3936    0.34427E-12    0.11275E-13    0.00000E+00   -0.21969E-13    0.53788E-09    0.10482E-13    0.91827E-15
+  3937    0.34363E-12    0.11216E-13    0.00000E+00   -0.21864E-13    0.53753E-09    0.10438E-13    0.90293E-15
+  3938    0.34301E-12    0.11156E-13    0.00000E+00   -0.21753E-13    0.53719E-09    0.10395E-13    0.88754E-15
+  3939    0.34237E-12    0.11096E-13    0.00000E+00   -0.21644E-13    0.53684E-09    0.10352E-13    0.87209E-15
+  3940    0.34173E-12    0.11037E-13    0.00000E+00   -0.21535E-13    0.53649E-09    0.10311E-13    0.85654E-15
+  3941    0.34109E-12    0.10979E-13    0.00000E+00   -0.21423E-13    0.53615E-09    0.10270E-13    0.84090E-15
+  3942    0.34045E-12    0.10920E-13    0.00000E+00   -0.21309E-13    0.53580E-09    0.10230E-13    0.82514E-15
+  3943    0.33979E-12    0.10862E-13    0.00000E+00   -0.21193E-13    0.53545E-09    0.10191E-13    0.80925E-15
+  3944    0.33912E-12    0.10803E-13    0.00000E+00   -0.21076E-13    0.53511E-09    0.10153E-13    0.79320E-15
+  3945    0.33846E-12    0.10745E-13    0.00000E+00   -0.20957E-13    0.53476E-09    0.10115E-13    0.77699E-15
+  3946    0.33778E-12    0.10688E-13    0.00000E+00   -0.20837E-13    0.53442E-09    0.10078E-13    0.76060E-15
+  3947    0.33711E-12    0.10631E-13    0.00000E+00   -0.20715E-13    0.53407E-09    0.10042E-13    0.74401E-15
+  3948    0.33643E-12    0.10574E-13    0.00000E+00   -0.20591E-13    0.53373E-09    0.10007E-13    0.72723E-15
+  3949    0.33573E-12    0.10517E-13    0.00000E+00   -0.20467E-13    0.53338E-09    0.99732E-14    0.71022E-15
+  3950    0.33504E-12    0.10462E-13    0.00000E+00   -0.20340E-13    0.53304E-09    0.99402E-14    0.69298E-15
+  3951    0.33434E-12    0.10405E-13    0.00000E+00   -0.20213E-13    0.53269E-09    0.99085E-14    0.67551E-15
+  3952    0.33364E-12    0.10349E-13    0.00000E+00   -0.20085E-13    0.53235E-09    0.98780E-14    0.65779E-15
+  3953    0.33292E-12    0.10295E-13    0.00000E+00   -0.19954E-13    0.53200E-09    0.98489E-14    0.63986E-15
+  3954    0.33221E-12    0.10238E-13    0.00000E+00   -0.19823E-13    0.53166E-09    0.98210E-14    0.62176E-15
+  3955    0.33149E-12    0.10184E-13    0.00000E+00   -0.19691E-13    0.53132E-09    0.97945E-14    0.60353E-15
+  3956    0.33076E-12    0.10130E-13    0.00000E+00   -0.19558E-13    0.53097E-09    0.97693E-14    0.58522E-15
+  3957    0.33003E-12    0.10077E-13    0.00000E+00   -0.19424E-13    0.53063E-09    0.97455E-14    0.56687E-15
+  3958    0.32928E-12    0.10024E-13    0.00000E+00   -0.19287E-13    0.53029E-09    0.97231E-14    0.54853E-15
+  3959    0.32853E-12    0.99705E-14    0.00000E+00   -0.19150E-13    0.52995E-09    0.97020E-14    0.53023E-15
+  3960    0.32778E-12    0.99181E-14    0.00000E+00   -0.19014E-13    0.52960E-09    0.96824E-14    0.51198E-15
+  3961    0.32702E-12    0.98665E-14    0.00000E+00   -0.18876E-13    0.52926E-09    0.96642E-14    0.49379E-15
+  3962    0.32626E-12    0.98153E-14    0.00000E+00   -0.18735E-13    0.52892E-09    0.96475E-14    0.47568E-15
+  3963    0.32549E-12    0.97650E-14    0.00000E+00   -0.18594E-13    0.52858E-09    0.96323E-14    0.45765E-15
+  3964    0.32472E-12    0.97148E-14    0.00000E+00   -0.18454E-13    0.52824E-09    0.96185E-14    0.43972E-15
+  3965    0.32394E-12    0.96645E-14    0.00000E+00   -0.18313E-13    0.52790E-09    0.96064E-14    0.42188E-15
+  3966    0.32315E-12    0.96152E-14    0.00000E+00   -0.18171E-13    0.52756E-09    0.95958E-14    0.40416E-15
+  3967    0.32236E-12    0.95669E-14    0.00000E+00   -0.18027E-13    0.52722E-09    0.95867E-14    0.38653E-15
+  3968    0.32156E-12    0.95176E-14    0.00000E+00   -0.17884E-13    0.52688E-09    0.95789E-14    0.36898E-15
+  3969    0.32075E-12    0.94694E-14    0.00000E+00   -0.17740E-13    0.52654E-09    0.95725E-14    0.35148E-15
+  3970    0.31995E-12    0.94220E-14    0.00000E+00   -0.17595E-13    0.52620E-09    0.95673E-14    0.33404E-15
+  3971    0.31913E-12    0.93749E-14    0.00000E+00   -0.17450E-13    0.52586E-09    0.95632E-14    0.31662E-15
+  3972    0.31831E-12    0.93283E-14    0.00000E+00   -0.17304E-13    0.52552E-09    0.95601E-14    0.29921E-15
+  3973    0.31748E-12    0.92822E-14    0.00000E+00   -0.17158E-13    0.52518E-09    0.95580E-14    0.28180E-15
+  3974    0.31665E-12    0.92367E-14    0.00000E+00   -0.17011E-13    0.52484E-09    0.95567E-14    0.26438E-15
+  3975    0.31581E-12    0.91918E-14    0.00000E+00   -0.16864E-13    0.52450E-09    0.95562E-14    0.24696E-15
+  3976    0.31498E-12    0.91473E-14    0.00000E+00   -0.16717E-13    0.52416E-09    0.95564E-14    0.22953E-15
+  3977    0.31412E-12    0.91035E-14    0.00000E+00   -0.16570E-13    0.52382E-09    0.95572E-14    0.21209E-15
+  3978    0.31328E-12    0.90602E-14    0.00000E+00   -0.16421E-13    0.52349E-09    0.95586E-14    0.19464E-15
+  3979    0.31241E-12    0.90174E-14    0.00000E+00   -0.16274E-13    0.52315E-09    0.95604E-14    0.17718E-15
+  3980    0.31155E-12    0.89753E-14    0.00000E+00   -0.16125E-13    0.52281E-09    0.95627E-14    0.15971E-15
+  3981    0.31068E-12    0.89336E-14    0.00000E+00   -0.15978E-13    0.52247E-09    0.95656E-14    0.14219E-15
+  3982    0.30980E-12    0.88925E-14    0.00000E+00   -0.15830E-13    0.52214E-09    0.95694E-14    0.12462E-15
+  3983    0.30893E-12    0.88519E-14    0.00000E+00   -0.15681E-13    0.52180E-09    0.95742E-14    0.10695E-15
+  3984    0.30804E-12    0.88119E-14    0.00000E+00   -0.15533E-13    0.52146E-09    0.95805E-14    0.89176E-16
+  3985    0.30715E-12    0.87725E-14    0.00000E+00   -0.15385E-13    0.52113E-09    0.95883E-14    0.71257E-16
+  3986    0.30626E-12    0.87336E-14    0.00000E+00   -0.15237E-13    0.52079E-09    0.95979E-14    0.53171E-16
+  3987    0.30536E-12    0.86953E-14    0.00000E+00   -0.15089E-13    0.52046E-09    0.96096E-14    0.34907E-16
+  3988    0.30445E-12    0.86577E-14    0.00000E+00   -0.14942E-13    0.52012E-09    0.96230E-14    0.16509E-16
+  3989    0.30355E-12    0.86205E-14    0.00000E+00   -0.14794E-13    0.51979E-09    0.96381E-14   -0.19615E-17
+  3990    0.30264E-12    0.85839E-14    0.00000E+00   -0.14647E-13    0.51945E-09    0.96545E-14   -0.20446E-16
+  3991    0.30172E-12    0.85479E-14    0.00000E+00   -0.14499E-13    0.51912E-09    0.96720E-14   -0.38884E-16
+  3992    0.30080E-12    0.85125E-14    0.00000E+00   -0.14353E-13    0.51878E-09    0.96903E-14   -0.57216E-16
+  3993    0.29987E-12    0.84778E-14    0.00000E+00   -0.14207E-13    0.51845E-09    0.97092E-14   -0.75383E-16
+  3994    0.29895E-12    0.84435E-14    0.00000E+00   -0.14062E-13    0.51811E-09    0.97286E-14   -0.93334E-16
+  3995    0.29801E-12    0.84099E-14    0.00000E+00   -0.13917E-13    0.51778E-09    0.97485E-14   -0.11106E-15
+  3996    0.29707E-12    0.83769E-14    0.00000E+00   -0.13771E-13    0.51744E-09    0.97691E-14   -0.12856E-15
+  3997    0.29613E-12    0.83443E-14    0.00000E+00   -0.13626E-13    0.51711E-09    0.97906E-14   -0.14584E-15
+  3998    0.29517E-12    0.83125E-14    0.00000E+00   -0.13485E-13    0.51678E-09    0.98132E-14   -0.16289E-15
+  3999    0.29422E-12    0.82812E-14    0.00000E+00   -0.13342E-13    0.51644E-09    0.98371E-14   -0.17972E-15
+  4000    0.29327E-12    0.82505E-14    0.00000E+00   -0.13197E-13    0.51611E-09    0.98624E-14   -0.19633E-15
+  4001    0.29231E-12    0.82203E-14    0.00000E+00   -0.13056E-13    0.51578E-09    0.98893E-14   -0.21272E-15
+  4002    0.29136E-12    0.81909E-14    0.00000E+00   -0.12914E-13    0.51545E-09    0.99176E-14   -0.22891E-15
+  4003    0.29039E-12    0.81620E-14    0.00000E+00   -0.12774E-13    0.51511E-09    0.99469E-14   -0.24493E-15
+  4004    0.28942E-12    0.81335E-14    0.00000E+00   -0.12634E-13    0.51478E-09    0.99769E-14   -0.26079E-15
+  4005    0.28846E-12    0.81057E-14    0.00000E+00   -0.12495E-13    0.51445E-09    0.10007E-13   -0.27653E-15
+  4006    0.28749E-12    0.80785E-14    0.00000E+00   -0.12356E-13    0.51412E-09    0.10038E-13   -0.29217E-15
+  4007    0.28650E-12    0.80518E-14    0.00000E+00   -0.12220E-13    0.51379E-09    0.10068E-13   -0.30773E-15
+  4008    0.28552E-12    0.80257E-14    0.00000E+00   -0.12081E-13    0.51346E-09    0.10098E-13   -0.32324E-15
+  4009    0.28453E-12    0.80002E-14    0.00000E+00   -0.11946E-13    0.51313E-09    0.10128E-13   -0.33869E-15
+  4010    0.28355E-12    0.79753E-14    0.00000E+00   -0.11811E-13    0.51280E-09    0.10158E-13   -0.35407E-15
+  4011    0.28255E-12    0.79509E-14    0.00000E+00   -0.11680E-13    0.51247E-09    0.10189E-13   -0.36939E-15
+  4012    0.28156E-12    0.79272E-14    0.00000E+00   -0.11548E-13    0.51214E-09    0.10220E-13   -0.38463E-15
+  4013    0.28057E-12    0.79039E-14    0.00000E+00   -0.11417E-13    0.51181E-09    0.10253E-13   -0.39980E-15
+  4014    0.27958E-12    0.78812E-14    0.00000E+00   -0.11287E-13    0.51148E-09    0.10287E-13   -0.41489E-15
+  4015    0.27858E-12    0.78591E-14    0.00000E+00   -0.11158E-13    0.51115E-09    0.10323E-13   -0.42989E-15
+  4016    0.27758E-12    0.78375E-14    0.00000E+00   -0.11030E-13    0.51082E-09    0.10360E-13   -0.44483E-15
+  4017    0.27658E-12    0.78164E-14    0.00000E+00   -0.10903E-13    0.51049E-09    0.10399E-13   -0.45973E-15
+  4018    0.27558E-12    0.77959E-14    0.00000E+00   -0.10778E-13    0.51016E-09    0.10439E-13   -0.47461E-15
+  4019    0.27457E-12    0.77759E-14    0.00000E+00   -0.10654E-13    0.50983E-09    0.10480E-13   -0.48948E-15
+  4020    0.27356E-12    0.77565E-14    0.00000E+00   -0.10530E-13    0.50950E-09    0.10522E-13   -0.50438E-15
+  4021    0.27255E-12    0.77376E-14    0.00000E+00   -0.10408E-13    0.50917E-09    0.10564E-13   -0.51931E-15
+  4022    0.27155E-12    0.77190E-14    0.00000E+00   -0.10288E-13    0.50885E-09    0.10606E-13   -0.53430E-15
+  4023    0.27053E-12    0.77011E-14    0.00000E+00   -0.10169E-13    0.50852E-09    0.10650E-13   -0.54929E-15
+  4024    0.26952E-12    0.76838E-14    0.00000E+00   -0.10049E-13    0.50819E-09    0.10693E-13   -0.56422E-15
+  4025    0.26851E-12    0.76669E-14    0.00000E+00   -0.99338E-14    0.50786E-09    0.10738E-13   -0.57902E-15
+  4026    0.26749E-12    0.76509E-14    0.00000E+00   -0.98188E-14    0.50754E-09    0.10783E-13   -0.59365E-15
+  4027    0.26646E-12    0.76349E-14    0.00000E+00   -0.97040E-14    0.50721E-09    0.10830E-13   -0.60803E-15
+  4028    0.26545E-12    0.76197E-14    0.00000E+00   -0.95916E-14    0.50688E-09    0.10878E-13   -0.62210E-15
+  4029    0.26443E-12    0.76048E-14    0.00000E+00   -0.94814E-14    0.50656E-09    0.10927E-13   -0.63583E-15
+  4030    0.26341E-12    0.75906E-14    0.00000E+00   -0.93713E-14    0.50623E-09    0.10977E-13   -0.64920E-15
+  4031    0.26240E-12    0.75766E-14    0.00000E+00   -0.92635E-14    0.50591E-09    0.11028E-13   -0.66225E-15
+  4032    0.26137E-12    0.75633E-14    0.00000E+00   -0.91569E-14    0.50558E-09    0.11079E-13   -0.67499E-15
+  4033    0.26036E-12    0.75503E-14    0.00000E+00   -0.90515E-14    0.50525E-09    0.11130E-13   -0.68745E-15
+  4034    0.25934E-12    0.75379E-14    0.00000E+00   -0.89483E-14    0.50493E-09    0.11181E-13   -0.69964E-15
+  4035    0.25833E-12    0.75258E-14    0.00000E+00   -0.88461E-14    0.50460E-09    0.11232E-13   -0.71159E-15
+  4036    0.25731E-12    0.75143E-14    0.00000E+00   -0.87457E-14    0.50428E-09    0.11281E-13   -0.72331E-15
+  4037    0.25629E-12    0.75031E-14    0.00000E+00   -0.86469E-14    0.50396E-09    0.11330E-13   -0.73483E-15
+  4038    0.25527E-12    0.74924E-14    0.00000E+00   -0.85497E-14    0.50363E-09    0.11378E-13   -0.74615E-15
+  4039    0.25426E-12    0.74822E-14    0.00000E+00   -0.84542E-14    0.50331E-09    0.11427E-13   -0.75729E-15
+  4040    0.25324E-12    0.74723E-14    0.00000E+00   -0.83603E-14    0.50298E-09    0.11476E-13   -0.76828E-15
+  4041    0.25223E-12    0.74628E-14    0.00000E+00   -0.82679E-14    0.50266E-09    0.11526E-13   -0.77911E-15
+  4042    0.25122E-12    0.74538E-14    0.00000E+00   -0.81772E-14    0.50234E-09    0.11577E-13   -0.78982E-15
+  4043    0.25021E-12    0.74452E-14    0.00000E+00   -0.80882E-14    0.50201E-09    0.11629E-13   -0.80041E-15
+  4044    0.24920E-12    0.74369E-14    0.00000E+00   -0.80009E-14    0.50169E-09    0.11683E-13   -0.81088E-15
+  4045    0.24818E-12    0.74290E-14    0.00000E+00   -0.79152E-14    0.50137E-09    0.11738E-13   -0.82123E-15
+  4046    0.24718E-12    0.74215E-14    0.00000E+00   -0.78312E-14    0.50104E-09    0.11793E-13   -0.83145E-15
+  4047    0.24617E-12    0.74144E-14    0.00000E+00   -0.77489E-14    0.50072E-09    0.11848E-13   -0.84154E-15
+  4048    0.24517E-12    0.74077E-14    0.00000E+00   -0.76683E-14    0.50040E-09    0.11902E-13   -0.85149E-15
+  4049    0.24416E-12    0.74013E-14    0.00000E+00   -0.75894E-14    0.50008E-09    0.11956E-13   -0.86131E-15
+  4050    0.24316E-12    0.73953E-14    0.00000E+00   -0.75123E-14    0.49976E-09    0.12008E-13   -0.87099E-15
+  4051    0.24216E-12    0.73895E-14    0.00000E+00   -0.74368E-14    0.49944E-09    0.12060E-13   -0.88054E-15
+  4052    0.24118E-12    0.73841E-14    0.00000E+00   -0.73632E-14    0.49911E-09    0.12111E-13   -0.88996E-15
+  4053    0.24019E-12    0.73790E-14    0.00000E+00   -0.72911E-14    0.49879E-09    0.12163E-13   -0.89927E-15
+  4054    0.23918E-12    0.73742E-14    0.00000E+00   -0.72209E-14    0.49847E-09    0.12216E-13   -0.90847E-15
+  4055    0.23819E-12    0.73697E-14    0.00000E+00   -0.71524E-14    0.49815E-09    0.12271E-13   -0.91758E-15
+  4056    0.23720E-12    0.73656E-14    0.00000E+00   -0.70856E-14    0.49783E-09    0.12328E-13   -0.92659E-15
+  4057    0.23622E-12    0.73617E-14    0.00000E+00   -0.70206E-14    0.49751E-09    0.12388E-13   -0.93552E-15
+  4058    0.23523E-12    0.73582E-14    0.00000E+00   -0.69571E-14    0.49719E-09    0.12449E-13   -0.94432E-15
+  4059    0.23425E-12    0.73549E-14    0.00000E+00   -0.68957E-14    0.49687E-09    0.12513E-13   -0.95295E-15
+  4060    0.23327E-12    0.73518E-14    0.00000E+00   -0.68362E-14    0.49655E-09    0.12576E-13   -0.96135E-15
+  4061    0.23230E-12    0.73490E-14    0.00000E+00   -0.67781E-14    0.49623E-09    0.12640E-13   -0.96948E-15
+  4062    0.23133E-12    0.73465E-14    0.00000E+00   -0.67218E-14    0.49591E-09    0.12703E-13   -0.97729E-15
+  4063    0.23036E-12    0.73442E-14    0.00000E+00   -0.66673E-14    0.49559E-09    0.12765E-13   -0.98474E-15
+  4064    0.22939E-12    0.73421E-14    0.00000E+00   -0.66145E-14    0.49528E-09    0.12824E-13   -0.99177E-15
+  4065    0.22844E-12    0.73402E-14    0.00000E+00   -0.65635E-14    0.49496E-09    0.12882E-13   -0.99843E-15
+  4066    0.22748E-12    0.73386E-14    0.00000E+00   -0.65141E-14    0.49464E-09    0.12939E-13   -0.10047E-14
+  4067    0.22653E-12    0.73372E-14    0.00000E+00   -0.64666E-14    0.49432E-09    0.12995E-13   -0.10107E-14
+  4068    0.22558E-12    0.73359E-14    0.00000E+00   -0.64207E-14    0.49400E-09    0.13050E-13   -0.10165E-14
+  4069    0.22464E-12    0.73348E-14    0.00000E+00   -0.63766E-14    0.49369E-09    0.13106E-13   -0.10219E-14
+  4070    0.22370E-12    0.73340E-14    0.00000E+00   -0.63341E-14    0.49337E-09    0.13163E-13   -0.10272E-14
+  4071    0.22277E-12    0.73332E-14    0.00000E+00   -0.62933E-14    0.49305E-09    0.13220E-13   -0.10323E-14
+  4072    0.22183E-12    0.73327E-14    0.00000E+00   -0.62544E-14    0.49274E-09    0.13278E-13   -0.10372E-14
+  4073    0.22091E-12    0.73324E-14    0.00000E+00   -0.62171E-14    0.49242E-09    0.13337E-13   -0.10419E-14
+  4074    0.21997E-12    0.73321E-14    0.00000E+00   -0.61813E-14    0.49210E-09    0.13396E-13   -0.10465E-14
+  4075    0.21905E-12    0.73320E-14    0.00000E+00   -0.61474E-14    0.49179E-09    0.13454E-13   -0.10510E-14
+  4076    0.21814E-12    0.73321E-14    0.00000E+00   -0.61152E-14    0.49147E-09    0.13512E-13   -0.10552E-14
+  4077    0.21723E-12    0.73322E-14    0.00000E+00   -0.60847E-14    0.49115E-09    0.13569E-13   -0.10594E-14
+  4078    0.21632E-12    0.73325E-14    0.00000E+00   -0.60557E-14    0.49084E-09    0.13625E-13   -0.10634E-14
+  4079    0.21542E-12    0.73328E-14    0.00000E+00   -0.60283E-14    0.49052E-09    0.13680E-13   -0.10672E-14
+  4080    0.21452E-12    0.73333E-14    0.00000E+00   -0.60027E-14    0.49021E-09    0.13734E-13   -0.10710E-14
+  4081    0.21363E-12    0.73338E-14    0.00000E+00   -0.59786E-14    0.48989E-09    0.13788E-13   -0.10745E-14
+  4082    0.21275E-12    0.73344E-14    0.00000E+00   -0.59562E-14    0.48958E-09    0.13842E-13   -0.10780E-14
+  4083    0.21186E-12    0.73351E-14    0.00000E+00   -0.59353E-14    0.48926E-09    0.13896E-13   -0.10812E-14
+  4084    0.21099E-12    0.73359E-14    0.00000E+00   -0.59161E-14    0.48895E-09    0.13951E-13   -0.10844E-14
+  4085    0.21011E-12    0.73367E-14    0.00000E+00   -0.58984E-14    0.48864E-09    0.14006E-13   -0.10874E-14
+  4086    0.20925E-12    0.73375E-14    0.00000E+00   -0.58822E-14    0.48832E-09    0.14062E-13   -0.10902E-14
+  4087    0.20839E-12    0.73384E-14    0.00000E+00   -0.58675E-14    0.48801E-09    0.14119E-13   -0.10928E-14
+  4088    0.20755E-12    0.73393E-14    0.00000E+00   -0.58546E-14    0.48769E-09    0.14176E-13   -0.10953E-14
+  4089    0.20670E-12    0.73402E-14    0.00000E+00   -0.58431E-14    0.48738E-09    0.14233E-13   -0.10976E-14
+  4090    0.20585E-12    0.73412E-14    0.00000E+00   -0.58327E-14    0.48707E-09    0.14291E-13   -0.10997E-14
+  4091    0.20501E-12    0.73422E-14    0.00000E+00   -0.58239E-14    0.48676E-09    0.14348E-13   -0.11015E-14
+  4092    0.20418E-12    0.73431E-14    0.00000E+00   -0.58167E-14    0.48644E-09    0.14406E-13   -0.11032E-14
+  4093    0.20334E-12    0.73442E-14    0.00000E+00   -0.58110E-14    0.48613E-09    0.14463E-13   -0.11045E-14
+  4094    0.20252E-12    0.73450E-14    0.00000E+00   -0.58066E-14    0.48582E-09    0.14520E-13   -0.11057E-14
+  4095    0.20171E-12    0.73460E-14    0.00000E+00   -0.58037E-14    0.48551E-09    0.14576E-13   -0.11065E-14
+  4096    0.20089E-12    0.73469E-14    0.00000E+00   -0.58021E-14    0.48519E-09    0.14633E-13   -0.11071E-14
+  4097    0.20009E-12    0.73477E-14    0.00000E+00   -0.58018E-14    0.48488E-09    0.14688E-13   -0.11074E-14
+  4098    0.19930E-12    0.73485E-14    0.00000E+00   -0.58031E-14    0.48457E-09    0.14743E-13   -0.11074E-14
+  4099    0.19850E-12    0.73492E-14    0.00000E+00   -0.58054E-14    0.48426E-09    0.14798E-13   -0.11071E-14
+  4100    0.19771E-12    0.73499E-14    0.00000E+00   -0.58093E-14    0.48395E-09    0.14851E-13   -0.11065E-14
+  4101    0.19693E-12    0.73505E-14    0.00000E+00   -0.58143E-14    0.48364E-09    0.14904E-13   -0.11056E-14
+  4102    0.19616E-12    0.73511E-14    0.00000E+00   -0.58207E-14    0.48333E-09    0.14956E-13   -0.11045E-14
+  4103    0.19539E-12    0.73515E-14    0.00000E+00   -0.58284E-14    0.48302E-09    0.15008E-13   -0.11032E-14
+  4104    0.19463E-12    0.73518E-14    0.00000E+00   -0.58372E-14    0.48271E-09    0.15058E-13   -0.11017E-14
+  4105    0.19388E-12    0.73520E-14    0.00000E+00   -0.58471E-14    0.48240E-09    0.15107E-13   -0.11000E-14
+  4106    0.19312E-12    0.73522E-14    0.00000E+00   -0.58583E-14    0.48209E-09    0.15155E-13   -0.10983E-14
+  4107    0.19239E-12    0.73522E-14    0.00000E+00   -0.58708E-14    0.48178E-09    0.15202E-13   -0.10963E-14
+  4108    0.19165E-12    0.73522E-14    0.00000E+00   -0.58843E-14    0.48147E-09    0.15248E-13   -0.10943E-14
+  4109    0.19092E-12    0.73518E-14    0.00000E+00   -0.58989E-14    0.48116E-09    0.15293E-13   -0.10921E-14
+  4110    0.19020E-12    0.73515E-14    0.00000E+00   -0.59147E-14    0.48085E-09    0.15339E-13   -0.10898E-14
+  4111    0.18948E-12    0.73511E-14    0.00000E+00   -0.59314E-14    0.48054E-09    0.15384E-13   -0.10873E-14
+  4112    0.18877E-12    0.73505E-14    0.00000E+00   -0.59492E-14    0.48023E-09    0.15429E-13   -0.10847E-14
+  4113    0.18807E-12    0.73497E-14    0.00000E+00   -0.59681E-14    0.47993E-09    0.15475E-13   -0.10820E-14
+  4114    0.18737E-12    0.73488E-14    0.00000E+00   -0.59879E-14    0.47962E-09    0.15521E-13   -0.10790E-14
+  4115    0.18668E-12    0.73477E-14    0.00000E+00   -0.60088E-14    0.47931E-09    0.15566E-13   -0.10760E-14
+  4116    0.18600E-12    0.73465E-14    0.00000E+00   -0.60305E-14    0.47900E-09    0.15611E-13   -0.10728E-14
+  4117    0.18532E-12    0.73451E-14    0.00000E+00   -0.60532E-14    0.47870E-09    0.15656E-13   -0.10695E-14
+  4118    0.18466E-12    0.73435E-14    0.00000E+00   -0.60769E-14    0.47839E-09    0.15700E-13   -0.10662E-14
+  4119    0.18398E-12    0.73418E-14    0.00000E+00   -0.61014E-14    0.47808E-09    0.15743E-13   -0.10627E-14
+  4120    0.18333E-12    0.73398E-14    0.00000E+00   -0.61268E-14    0.47777E-09    0.15785E-13   -0.10592E-14
+  4121    0.18268E-12    0.73377E-14    0.00000E+00   -0.61529E-14    0.47747E-09    0.15826E-13   -0.10555E-14
+  4122    0.18203E-12    0.73354E-14    0.00000E+00   -0.61799E-14    0.47716E-09    0.15866E-13   -0.10518E-14
+  4123    0.18139E-12    0.73328E-14    0.00000E+00   -0.62077E-14    0.47686E-09    0.15906E-13   -0.10478E-14
+  4124    0.18076E-12    0.73300E-14    0.00000E+00   -0.62363E-14    0.47655E-09    0.15946E-13   -0.10436E-14
+  4125    0.18013E-12    0.73271E-14    0.00000E+00   -0.62655E-14    0.47624E-09    0.15986E-13   -0.10391E-14
+  4126    0.17951E-12    0.73240E-14    0.00000E+00   -0.62955E-14    0.47594E-09    0.16027E-13   -0.10344E-14
+  4127    0.17890E-12    0.73206E-14    0.00000E+00   -0.63261E-14    0.47563E-09    0.16068E-13   -0.10293E-14
+  4128    0.17830E-12    0.73170E-14    0.00000E+00   -0.63575E-14    0.47533E-09    0.16110E-13   -0.10239E-14
+  4129    0.17768E-12    0.73132E-14    0.00000E+00   -0.63894E-14    0.47502E-09    0.16151E-13   -0.10182E-14
+  4130    0.17709E-12    0.73091E-14    0.00000E+00   -0.64220E-14    0.47472E-09    0.16192E-13   -0.10122E-14
+  4131    0.17650E-12    0.73048E-14    0.00000E+00   -0.64551E-14    0.47441E-09    0.16232E-13   -0.10061E-14
+  4132    0.17592E-12    0.73003E-14    0.00000E+00   -0.64887E-14    0.47411E-09    0.16270E-13   -0.99967E-15
+  4133    0.17535E-12    0.72955E-14    0.00000E+00   -0.65230E-14    0.47381E-09    0.16306E-13   -0.99311E-15
+  4134    0.17478E-12    0.72904E-14    0.00000E+00   -0.65577E-14    0.47350E-09    0.16340E-13   -0.98640E-15
+  4135    0.17421E-12    0.72852E-14    0.00000E+00   -0.65929E-14    0.47320E-09    0.16372E-13   -0.97955E-15
+  4136    0.17366E-12    0.72797E-14    0.00000E+00   -0.66285E-14    0.47289E-09    0.16402E-13   -0.97257E-15
+  4137    0.17312E-12    0.72739E-14    0.00000E+00   -0.66646E-14    0.47259E-09    0.16431E-13   -0.96548E-15
+  4138    0.17257E-12    0.72679E-14    0.00000E+00   -0.67011E-14    0.47229E-09    0.16458E-13   -0.95827E-15
+  4139    0.17204E-12    0.72616E-14    0.00000E+00   -0.67379E-14    0.47199E-09    0.16485E-13   -0.95097E-15
+  4140    0.17151E-12    0.72551E-14    0.00000E+00   -0.67752E-14    0.47168E-09    0.16512E-13   -0.94357E-15
+  4141    0.17098E-12    0.72483E-14    0.00000E+00   -0.68127E-14    0.47138E-09    0.16538E-13   -0.93610E-15
+  4142    0.17047E-12    0.72412E-14    0.00000E+00   -0.68506E-14    0.47108E-09    0.16565E-13   -0.92854E-15
+  4143    0.16996E-12    0.72339E-14    0.00000E+00   -0.68888E-14    0.47078E-09    0.16591E-13   -0.92089E-15
+  4144    0.16945E-12    0.72262E-14    0.00000E+00   -0.69272E-14    0.47047E-09    0.16616E-13   -0.91316E-15
+  4145    0.16896E-12    0.72184E-14    0.00000E+00   -0.69658E-14    0.47017E-09    0.16642E-13   -0.90532E-15
+  4146    0.16847E-12    0.72102E-14    0.00000E+00   -0.70046E-14    0.46987E-09    0.16667E-13   -0.89739E-15
+  4147    0.16798E-12    0.72017E-14    0.00000E+00   -0.70436E-14    0.46957E-09    0.16691E-13   -0.88936E-15
+  4148    0.16750E-12    0.71929E-14    0.00000E+00   -0.70827E-14    0.46927E-09    0.16715E-13   -0.88122E-15
+  4149    0.16703E-12    0.71840E-14    0.00000E+00   -0.71220E-14    0.46897E-09    0.16738E-13   -0.87299E-15
+  4150    0.16656E-12    0.71746E-14    0.00000E+00   -0.71613E-14    0.46867E-09    0.16760E-13   -0.86467E-15
+  4151    0.16610E-12    0.71651E-14    0.00000E+00   -0.72008E-14    0.46837E-09    0.16781E-13   -0.85629E-15
+  4152    0.16564E-12    0.71552E-14    0.00000E+00   -0.72403E-14    0.46807E-09    0.16802E-13   -0.84785E-15
+  4153    0.16519E-12    0.71451E-14    0.00000E+00   -0.72799E-14    0.46777E-09    0.16822E-13   -0.83937E-15
+  4154    0.16474E-12    0.71346E-14    0.00000E+00   -0.73195E-14    0.46747E-09    0.16842E-13   -0.83086E-15
+  4155    0.16431E-12    0.71239E-14    0.00000E+00   -0.73590E-14    0.46717E-09    0.16861E-13   -0.82232E-15
+  4156    0.16387E-12    0.71128E-14    0.00000E+00   -0.73985E-14    0.46687E-09    0.16879E-13   -0.81372E-15
+  4157    0.16344E-12    0.71016E-14    0.00000E+00   -0.74380E-14    0.46657E-09    0.16897E-13   -0.80502E-15
+  4158    0.16302E-12    0.70900E-14    0.00000E+00   -0.74774E-14    0.46627E-09    0.16914E-13   -0.79615E-15
+  4159    0.16260E-12    0.70781E-14    0.00000E+00   -0.75168E-14    0.46597E-09    0.16931E-13   -0.78709E-15
+  4160    0.16219E-12    0.70660E-14    0.00000E+00   -0.75559E-14    0.46567E-09    0.16947E-13   -0.77778E-15
+  4161    0.16178E-12    0.70536E-14    0.00000E+00   -0.75949E-14    0.46537E-09    0.16963E-13   -0.76818E-15
+  4162    0.16138E-12    0.70409E-14    0.00000E+00   -0.76338E-14    0.46508E-09    0.16978E-13   -0.75825E-15
+  4163    0.16098E-12    0.70278E-14    0.00000E+00   -0.76724E-14    0.46478E-09    0.16992E-13   -0.74804E-15
+  4164    0.16059E-12    0.70145E-14    0.00000E+00   -0.77108E-14    0.46448E-09    0.17005E-13   -0.73759E-15
+  4165    0.16021E-12    0.70010E-14    0.00000E+00   -0.77491E-14    0.46418E-09    0.17018E-13   -0.72698E-15
+  4166    0.15983E-12    0.69871E-14    0.00000E+00   -0.77870E-14    0.46389E-09    0.17029E-13   -0.71624E-15
+  4167    0.15945E-12    0.69728E-14    0.00000E+00   -0.78247E-14    0.46359E-09    0.17038E-13   -0.70544E-15
+  4168    0.15908E-12    0.69585E-14    0.00000E+00   -0.78621E-14    0.46329E-09    0.17046E-13   -0.69462E-15
+  4169    0.15869E-12    0.69437E-14    0.00000E+00   -0.78993E-14    0.46299E-09    0.17051E-13   -0.68384E-15
+  4170    0.15835E-12    0.69288E-14    0.00000E+00   -0.79360E-14    0.46270E-09    0.17055E-13   -0.67310E-15
+  4171    0.15800E-12    0.69135E-14    0.00000E+00   -0.79723E-14    0.46240E-09    0.17058E-13   -0.66237E-15
+  4172    0.15764E-12    0.68980E-14    0.00000E+00   -0.80084E-14    0.46210E-09    0.17060E-13   -0.65164E-15
+  4173    0.15730E-12    0.68821E-14    0.00000E+00   -0.80441E-14    0.46181E-09    0.17061E-13   -0.64091E-15
+  4174    0.15696E-12    0.68660E-14    0.00000E+00   -0.80792E-14    0.46151E-09    0.17061E-13   -0.63015E-15
+  4175    0.15662E-12    0.68497E-14    0.00000E+00   -0.81140E-14    0.46122E-09    0.17062E-13   -0.61936E-15
+  4176    0.15629E-12    0.68331E-14    0.00000E+00   -0.81484E-14    0.46092E-09    0.17062E-13   -0.60852E-15
+  4177    0.15596E-12    0.68162E-14    0.00000E+00   -0.81823E-14    0.46063E-09    0.17062E-13   -0.59763E-15
+  4178    0.15564E-12    0.67991E-14    0.00000E+00   -0.82157E-14    0.46033E-09    0.17062E-13   -0.58670E-15
+  4179    0.15532E-12    0.67816E-14    0.00000E+00   -0.82486E-14    0.46004E-09    0.17062E-13   -0.57572E-15
+  4180    0.15500E-12    0.67639E-14    0.00000E+00   -0.82810E-14    0.45974E-09    0.17061E-13   -0.56470E-15
+  4181    0.15469E-12    0.67459E-14    0.00000E+00   -0.83128E-14    0.45945E-09    0.17059E-13   -0.55364E-15
+  4182    0.15438E-12    0.67276E-14    0.00000E+00   -0.83441E-14    0.45915E-09    0.17055E-13   -0.54255E-15
+  4183    0.15408E-12    0.67091E-14    0.00000E+00   -0.83748E-14    0.45886E-09    0.17050E-13   -0.53141E-15
+  4184    0.15378E-12    0.66904E-14    0.00000E+00   -0.84050E-14    0.45857E-09    0.17045E-13   -0.52025E-15
+  4185    0.15348E-12    0.66714E-14    0.00000E+00   -0.84346E-14    0.45827E-09    0.17038E-13   -0.50907E-15
+  4186    0.15319E-12    0.66522E-14    0.00000E+00   -0.84636E-14    0.45798E-09    0.17030E-13   -0.49789E-15
+  4187    0.15290E-12    0.66327E-14    0.00000E+00   -0.84920E-14    0.45769E-09    0.17023E-13   -0.48670E-15
+  4188    0.15262E-12    0.66131E-14    0.00000E+00   -0.85198E-14    0.45739E-09    0.17015E-13   -0.47552E-15
+  4189    0.15233E-12    0.65931E-14    0.00000E+00   -0.85468E-14    0.45710E-09    0.17007E-13   -0.46437E-15
+  4190    0.15206E-12    0.65729E-14    0.00000E+00   -0.85733E-14    0.45681E-09    0.16999E-13   -0.45323E-15
+  4191    0.15178E-12    0.65525E-14    0.00000E+00   -0.85990E-14    0.45651E-09    0.16992E-13   -0.44209E-15
+  4192    0.15152E-12    0.65319E-14    0.00000E+00   -0.86240E-14    0.45622E-09    0.16984E-13   -0.43090E-15
+  4193    0.15125E-12    0.65108E-14    0.00000E+00   -0.86485E-14    0.45593E-09    0.16975E-13   -0.41963E-15
+  4194    0.15098E-12    0.64897E-14    0.00000E+00   -0.86722E-14    0.45564E-09    0.16965E-13   -0.40825E-15
+  4195    0.15072E-12    0.64686E-14    0.00000E+00   -0.86951E-14    0.45535E-09    0.16954E-13   -0.39671E-15
+  4196    0.15046E-12    0.64472E-14    0.00000E+00   -0.87173E-14    0.45505E-09    0.16941E-13   -0.38497E-15
+  4197    0.15020E-12    0.64254E-14    0.00000E+00   -0.87388E-14    0.45476E-09    0.16926E-13   -0.37303E-15
+  4198    0.14995E-12    0.64036E-14    0.00000E+00   -0.87596E-14    0.45447E-09    0.16909E-13   -0.36091E-15
+  4199    0.14970E-12    0.63814E-14    0.00000E+00   -0.87795E-14    0.45418E-09    0.16891E-13   -0.34867E-15
+  4200    0.14946E-12    0.63591E-14    0.00000E+00   -0.87987E-14    0.45389E-09    0.16872E-13   -0.33638E-15
+  4201    0.14921E-12    0.63365E-14    0.00000E+00   -0.88171E-14    0.45360E-09    0.16851E-13   -0.32408E-15
+  4202    0.14897E-12    0.63139E-14    0.00000E+00   -0.88348E-14    0.45331E-09    0.16830E-13   -0.31184E-15
+  4203    0.14873E-12    0.62910E-14    0.00000E+00   -0.88515E-14    0.45302E-09    0.16809E-13   -0.29971E-15
+  4204    0.14850E-12    0.62679E-14    0.00000E+00   -0.88676E-14    0.45273E-09    0.16787E-13   -0.28772E-15
+  4205    0.14826E-12    0.62447E-14    0.00000E+00   -0.88829E-14    0.45244E-09    0.16765E-13   -0.27588E-15
+  4206    0.14802E-12    0.62212E-14    0.00000E+00   -0.88973E-14    0.45215E-09    0.16743E-13   -0.26416E-15
+  4207    0.14780E-12    0.61976E-14    0.00000E+00   -0.89109E-14    0.45186E-09    0.16720E-13   -0.25253E-15
+  4208    0.14757E-12    0.61740E-14    0.00000E+00   -0.89236E-14    0.45157E-09    0.16697E-13   -0.24097E-15
+  4209    0.14734E-12    0.61500E-14    0.00000E+00   -0.89355E-14    0.45128E-09    0.16672E-13   -0.22946E-15
+  4210    0.14712E-12    0.61260E-14    0.00000E+00   -0.89465E-14    0.45099E-09    0.16646E-13   -0.21796E-15
+  4211    0.14689E-12    0.61018E-14    0.00000E+00   -0.89569E-14    0.45071E-09    0.16619E-13   -0.20647E-15
+  4212    0.14667E-12    0.60774E-14    0.00000E+00   -0.89662E-14    0.45042E-09    0.16591E-13   -0.19498E-15
+  4213    0.14645E-12    0.60529E-14    0.00000E+00   -0.89747E-14    0.45013E-09    0.16562E-13   -0.18349E-15
+  4214    0.14624E-12    0.60283E-14    0.00000E+00   -0.89824E-14    0.44984E-09    0.16532E-13   -0.17202E-15
+  4215    0.14603E-12    0.60035E-14    0.00000E+00   -0.89892E-14    0.44955E-09    0.16502E-13   -0.16056E-15
+  4216    0.14582E-12    0.59787E-14    0.00000E+00   -0.89951E-14    0.44927E-09    0.16472E-13   -0.14913E-15
+  4217    0.14560E-12    0.59536E-14    0.00000E+00   -0.90002E-14    0.44898E-09    0.16442E-13   -0.13772E-15
+  4218    0.14539E-12    0.59285E-14    0.00000E+00   -0.90044E-14    0.44869E-09    0.16413E-13   -0.12634E-15
+  4219    0.14519E-12    0.59032E-14    0.00000E+00   -0.90077E-14    0.44840E-09    0.16384E-13   -0.11499E-15
+  4220    0.14497E-12    0.58779E-14    0.00000E+00   -0.90102E-14    0.44812E-09    0.16354E-13   -0.10368E-15
+  4221    0.14476E-12    0.58525E-14    0.00000E+00   -0.90117E-14    0.44783E-09    0.16325E-13   -0.92414E-16
+  4222    0.14456E-12    0.58270E-14    0.00000E+00   -0.90124E-14    0.44754E-09    0.16295E-13   -0.81193E-16
+  4223    0.14436E-12    0.58012E-14    0.00000E+00   -0.90124E-14    0.44726E-09    0.16264E-13   -0.70023E-16
+  4224    0.14415E-12    0.57755E-14    0.00000E+00   -0.90114E-14    0.44697E-09    0.16231E-13   -0.58906E-16
+  4225    0.14395E-12    0.57497E-14    0.00000E+00   -0.90095E-14    0.44669E-09    0.16198E-13   -0.47844E-16
+  4226    0.14375E-12    0.57238E-14    0.00000E+00   -0.90066E-14    0.44640E-09    0.16163E-13   -0.36824E-16
+  4227    0.14355E-12    0.56979E-14    0.00000E+00   -0.90030E-14    0.44611E-09    0.16128E-13   -0.25831E-16
+  4228    0.14334E-12    0.56719E-14    0.00000E+00   -0.89985E-14    0.44583E-09    0.16091E-13   -0.14849E-16
+  4229    0.14314E-12    0.56457E-14    0.00000E+00   -0.89931E-14    0.44554E-09    0.16054E-13   -0.38615E-17
+  4230    0.14294E-12    0.56195E-14    0.00000E+00   -0.89869E-14    0.44526E-09    0.16016E-13    0.71459E-17
+  4231    0.14275E-12    0.55934E-14    0.00000E+00   -0.89797E-14    0.44497E-09    0.15978E-13    0.18189E-16
+  4232    0.14254E-12    0.55671E-14    0.00000E+00   -0.89718E-14    0.44469E-09    0.15939E-13    0.29276E-16
+  4233    0.14235E-12    0.55408E-14    0.00000E+00   -0.89629E-14    0.44441E-09    0.15901E-13    0.40378E-16
+  4234    0.14215E-12    0.55146E-14    0.00000E+00   -0.89532E-14    0.44412E-09    0.15861E-13    0.51458E-16
+  4235    0.14195E-12    0.54881E-14    0.00000E+00   -0.89425E-14    0.44384E-09    0.15821E-13    0.62481E-16
+  4236    0.14176E-12    0.54617E-14    0.00000E+00   -0.89312E-14    0.44355E-09    0.15780E-13    0.73408E-16
+  4237    0.14157E-12    0.54354E-14    0.00000E+00   -0.89188E-14    0.44327E-09    0.15738E-13    0.84205E-16
+  4238    0.14137E-12    0.54089E-14    0.00000E+00   -0.89057E-14    0.44299E-09    0.15695E-13    0.94833E-16
+  4239    0.14117E-12    0.53825E-14    0.00000E+00   -0.88918E-14    0.44270E-09    0.15650E-13    0.10527E-15
+  4240    0.14099E-12    0.53561E-14    0.00000E+00   -0.88770E-14    0.44242E-09    0.15603E-13    0.11552E-15
+  4241    0.14079E-12    0.53296E-14    0.00000E+00   -0.88613E-14    0.44214E-09    0.15556E-13    0.12561E-15
+  4242    0.14059E-12    0.53032E-14    0.00000E+00   -0.88449E-14    0.44185E-09    0.15509E-13    0.13558E-15
+  4243    0.14039E-12    0.52766E-14    0.00000E+00   -0.88277E-14    0.44157E-09    0.15461E-13    0.14543E-15
+  4244    0.14020E-12    0.52502E-14    0.00000E+00   -0.88096E-14    0.44129E-09    0.15414E-13    0.15519E-15
+  4245    0.14000E-12    0.52238E-14    0.00000E+00   -0.87909E-14    0.44101E-09    0.15367E-13    0.16490E-15
+  4246    0.13981E-12    0.51974E-14    0.00000E+00   -0.87712E-14    0.44073E-09    0.15320E-13    0.17455E-15
+  4247    0.13961E-12    0.51710E-14    0.00000E+00   -0.87508E-14    0.44044E-09    0.15275E-13    0.18416E-15
+  4248    0.13940E-12    0.51446E-14    0.00000E+00   -0.87296E-14    0.44016E-09    0.15229E-13    0.19372E-15
+  4249    0.13921E-12    0.51183E-14    0.00000E+00   -0.87077E-14    0.43988E-09    0.15184E-13    0.20321E-15
+  4250    0.13901E-12    0.50920E-14    0.00000E+00   -0.86850E-14    0.43960E-09    0.15137E-13    0.21264E-15
+  4251    0.13882E-12    0.50659E-14    0.00000E+00   -0.86615E-14    0.43932E-09    0.15090E-13    0.22198E-15
+  4252    0.13861E-12    0.50398E-14    0.00000E+00   -0.86373E-14    0.43904E-09    0.15042E-13    0.23124E-15
+  4253    0.13841E-12    0.50136E-14    0.00000E+00   -0.86124E-14    0.43876E-09    0.14993E-13    0.24040E-15
+  4254    0.13822E-12    0.49875E-14    0.00000E+00   -0.85867E-14    0.43848E-09    0.14942E-13    0.24948E-15
+  4255    0.13801E-12    0.49616E-14    0.00000E+00   -0.85603E-14    0.43820E-09    0.14890E-13    0.25846E-15
+  4256    0.13781E-12    0.49357E-14    0.00000E+00   -0.85332E-14    0.43792E-09    0.14838E-13    0.26736E-15
+  4257    0.13761E-12    0.49098E-14    0.00000E+00   -0.85054E-14    0.43764E-09    0.14786E-13    0.27617E-15
+  4258    0.13741E-12    0.48840E-14    0.00000E+00   -0.84769E-14    0.43736E-09    0.14734E-13    0.28490E-15
+  4259    0.13719E-12    0.48584E-14    0.00000E+00   -0.84477E-14    0.43708E-09    0.14683E-13    0.29355E-15
+  4260    0.13698E-12    0.48328E-14    0.00000E+00   -0.84179E-14    0.43680E-09    0.14633E-13    0.30213E-15
+  4261    0.13678E-12    0.48073E-14    0.00000E+00   -0.83874E-14    0.43652E-09    0.14584E-13    0.31062E-15
+  4262    0.13657E-12    0.47818E-14    0.00000E+00   -0.83563E-14    0.43624E-09    0.14535E-13    0.31903E-15
+  4263    0.13636E-12    0.47565E-14    0.00000E+00   -0.83245E-14    0.43596E-09    0.14485E-13    0.32736E-15
+  4264    0.13615E-12    0.47313E-14    0.00000E+00   -0.82922E-14    0.43568E-09    0.14435E-13    0.33560E-15
+  4265    0.13594E-12    0.47062E-14    0.00000E+00   -0.82591E-14    0.43540E-09    0.14383E-13    0.34374E-15
+  4266    0.13574E-12    0.46812E-14    0.00000E+00   -0.82254E-14    0.43513E-09    0.14330E-13    0.35180E-15
+  4267    0.13552E-12    0.46563E-14    0.00000E+00   -0.81913E-14    0.43485E-09    0.14276E-13    0.35975E-15
+  4268    0.13531E-12    0.46315E-14    0.00000E+00   -0.81565E-14    0.43457E-09    0.14219E-13    0.36760E-15
+  4269    0.13509E-12    0.46068E-14    0.00000E+00   -0.81212E-14    0.43429E-09    0.14162E-13    0.37531E-15
+  4270    0.13488E-12    0.45823E-14    0.00000E+00   -0.80853E-14    0.43402E-09    0.14103E-13    0.38290E-15
+  4271    0.13467E-12    0.45578E-14    0.00000E+00   -0.80489E-14    0.43374E-09    0.14045E-13    0.39032E-15
+  4272    0.13445E-12    0.45334E-14    0.00000E+00   -0.80118E-14    0.43346E-09    0.13987E-13    0.39758E-15
+  4273    0.13423E-12    0.45095E-14    0.00000E+00   -0.79743E-14    0.43318E-09    0.13929E-13    0.40466E-15
+  4274    0.13401E-12    0.44855E-14    0.00000E+00   -0.79364E-14    0.43291E-09    0.13873E-13    0.41155E-15
+  4275    0.13379E-12    0.44616E-14    0.00000E+00   -0.78978E-14    0.43263E-09    0.13817E-13    0.41826E-15
+  4276    0.13357E-12    0.44380E-14    0.00000E+00   -0.78589E-14    0.43235E-09    0.13762E-13    0.42480E-15
+  4277    0.13334E-12    0.44144E-14    0.00000E+00   -0.78195E-14    0.43208E-09    0.13707E-13    0.43120E-15
+  4278    0.13311E-12    0.43910E-14    0.00000E+00   -0.77797E-14    0.43180E-09    0.13652E-13    0.43747E-15
+  4279    0.13289E-12    0.43677E-14    0.00000E+00   -0.77394E-14    0.43153E-09    0.13596E-13    0.44362E-15
+  4280    0.13266E-12    0.43447E-14    0.00000E+00   -0.76987E-14    0.43125E-09    0.13540E-13    0.44967E-15
+  4281    0.13243E-12    0.43220E-14    0.00000E+00   -0.76576E-14    0.43098E-09    0.13483E-13    0.45563E-15
+  4282    0.13219E-12    0.42993E-14    0.00000E+00   -0.76161E-14    0.43070E-09    0.13425E-13    0.46150E-15
+  4283    0.13196E-12    0.42767E-14    0.00000E+00   -0.75742E-14    0.43043E-09    0.13366E-13    0.46728E-15
+  4284    0.13173E-12    0.42542E-14    0.00000E+00   -0.75319E-14    0.43015E-09    0.13307E-13    0.47297E-15
+  4285    0.13150E-12    0.42320E-14    0.00000E+00   -0.74893E-14    0.42988E-09    0.13248E-13    0.47854E-15
+  4286    0.13125E-12    0.42098E-14    0.00000E+00   -0.74464E-14    0.42960E-09    0.13190E-13    0.48401E-15
+  4287    0.13102E-12    0.41879E-14    0.00000E+00   -0.74030E-14    0.42933E-09    0.13132E-13    0.48936E-15
+  4288    0.13078E-12    0.41662E-14    0.00000E+00   -0.73594E-14    0.42905E-09    0.13075E-13    0.49459E-15
+  4289    0.13053E-12    0.41447E-14    0.00000E+00   -0.73155E-14    0.42878E-09    0.13018E-13    0.49971E-15
+  4290    0.13029E-12    0.41234E-14    0.00000E+00   -0.72713E-14    0.42851E-09    0.12962E-13    0.50472E-15
+  4291    0.13005E-12    0.41022E-14    0.00000E+00   -0.72268E-14    0.42823E-09    0.12906E-13    0.50963E-15
+  4292    0.12980E-12    0.40813E-14    0.00000E+00   -0.71822E-14    0.42796E-09    0.12850E-13    0.51445E-15
+  4293    0.12956E-12    0.40605E-14    0.00000E+00   -0.71371E-14    0.42768E-09    0.12794E-13    0.51917E-15
+  4294    0.12931E-12    0.40400E-14    0.00000E+00   -0.70920E-14    0.42741E-09    0.12737E-13    0.52381E-15
+  4295    0.12906E-12    0.40197E-14    0.00000E+00   -0.70467E-14    0.42714E-09    0.12679E-13    0.52837E-15
+  4296    0.12881E-12    0.39995E-14    0.00000E+00   -0.70010E-14    0.42687E-09    0.12621E-13    0.53283E-15
+  4297    0.12856E-12    0.39795E-14    0.00000E+00   -0.69552E-14    0.42659E-09    0.12562E-13    0.53719E-15
+  4298    0.12831E-12    0.39597E-14    0.00000E+00   -0.69093E-14    0.42632E-09    0.12503E-13    0.54142E-15
+  4299    0.12804E-12    0.39402E-14    0.00000E+00   -0.68631E-14    0.42605E-09    0.12444E-13    0.54551E-15
+  4300    0.12779E-12    0.39209E-14    0.00000E+00   -0.68169E-14    0.42578E-09    0.12385E-13    0.54944E-15
+  4301    0.12753E-12    0.39017E-14    0.00000E+00   -0.67705E-14    0.42551E-09    0.12327E-13    0.55321E-15
+  4302    0.12727E-12    0.38828E-14    0.00000E+00   -0.67240E-14    0.42523E-09    0.12269E-13    0.55678E-15
+  4303    0.12701E-12    0.38641E-14    0.00000E+00   -0.66773E-14    0.42496E-09    0.12211E-13    0.56017E-15
+  4304    0.12675E-12    0.38456E-14    0.00000E+00   -0.66307E-14    0.42469E-09    0.12154E-13    0.56338E-15
+  4305    0.12649E-12    0.38272E-14    0.00000E+00   -0.65838E-14    0.42442E-09    0.12097E-13    0.56641E-15
+  4306    0.12622E-12    0.38092E-14    0.00000E+00   -0.65370E-14    0.42415E-09    0.12040E-13    0.56926E-15
+  4307    0.12595E-12    0.37913E-14    0.00000E+00   -0.64900E-14    0.42388E-09    0.11983E-13    0.57194E-15
+  4308    0.12568E-12    0.37737E-14    0.00000E+00   -0.64432E-14    0.42361E-09    0.11926E-13    0.57444E-15
+  4309    0.12541E-12    0.37562E-14    0.00000E+00   -0.63962E-14    0.42334E-09    0.11868E-13    0.57677E-15
+  4310    0.12514E-12    0.37390E-14    0.00000E+00   -0.63492E-14    0.42307E-09    0.11810E-13    0.57895E-15
+  4311    0.12487E-12    0.37220E-14    0.00000E+00   -0.63023E-14    0.42280E-09    0.11752E-13    0.58097E-15
+  4312    0.12460E-12    0.37053E-14    0.00000E+00   -0.62554E-14    0.42253E-09    0.11694E-13    0.58286E-15
+  4313    0.12433E-12    0.36886E-14    0.00000E+00   -0.62085E-14    0.42226E-09    0.11637E-13    0.58462E-15
+  4314    0.12405E-12    0.36724E-14    0.00000E+00   -0.61617E-14    0.42199E-09    0.11579E-13    0.58627E-15
+  4315    0.12377E-12    0.36563E-14    0.00000E+00   -0.61149E-14    0.42172E-09    0.11522E-13    0.58781E-15
+  4316    0.12349E-12    0.36404E-14    0.00000E+00   -0.60684E-14    0.42145E-09    0.11466E-13    0.58926E-15
+  4317    0.12320E-12    0.36245E-14    0.00000E+00   -0.60217E-14    0.42118E-09    0.11410E-13    0.59061E-15
+  4318    0.12292E-12    0.36091E-14    0.00000E+00   -0.59749E-14    0.42091E-09    0.11355E-13    0.59186E-15
+  4319    0.12264E-12    0.35938E-14    0.00000E+00   -0.59285E-14    0.42064E-09    0.11300E-13    0.59301E-15
+  4320    0.12236E-12    0.35789E-14    0.00000E+00   -0.58823E-14    0.42037E-09    0.11245E-13    0.59406E-15
+  4321    0.12208E-12    0.35641E-14    0.00000E+00   -0.58360E-14    0.42011E-09    0.11190E-13    0.59500E-15
+  4322    0.12179E-12    0.35498E-14    0.00000E+00   -0.57900E-14    0.41984E-09    0.11135E-13    0.59583E-15
+  4323    0.12150E-12    0.35354E-14    0.00000E+00   -0.57442E-14    0.41957E-09    0.11080E-13    0.59654E-15
+  4324    0.12121E-12    0.35213E-14    0.00000E+00   -0.56985E-14    0.41930E-09    0.11025E-13    0.59715E-15
+  4325    0.12093E-12    0.35074E-14    0.00000E+00   -0.56530E-14    0.41904E-09    0.10970E-13    0.59765E-15
+  4326    0.12064E-12    0.34938E-14    0.00000E+00   -0.56076E-14    0.41877E-09    0.10915E-13    0.59805E-15
+  4327    0.12034E-12    0.34804E-14    0.00000E+00   -0.55626E-14    0.41850E-09    0.10861E-13    0.59835E-15
+  4328    0.12006E-12    0.34672E-14    0.00000E+00   -0.55176E-14    0.41823E-09    0.10806E-13    0.59857E-15
+  4329    0.11976E-12    0.34541E-14    0.00000E+00   -0.54729E-14    0.41797E-09    0.10752E-13    0.59869E-15
+  4330    0.11948E-12    0.34414E-14    0.00000E+00   -0.54288E-14    0.41770E-09    0.10698E-13    0.59873E-15
+  4331    0.11918E-12    0.34288E-14    0.00000E+00   -0.53846E-14    0.41743E-09    0.10644E-13    0.59867E-15
+  4332    0.11888E-12    0.34165E-14    0.00000E+00   -0.53407E-14    0.41717E-09    0.10591E-13    0.59851E-15
+  4333    0.11859E-12    0.34043E-14    0.00000E+00   -0.52970E-14    0.41690E-09    0.10539E-13    0.59821E-15
+  4334    0.11828E-12    0.33924E-14    0.00000E+00   -0.52537E-14    0.41664E-09    0.10487E-13    0.59777E-15
+  4335    0.11798E-12    0.33806E-14    0.00000E+00   -0.52106E-14    0.41637E-09    0.10435E-13    0.59717E-15
+  4336    0.11768E-12    0.33692E-14    0.00000E+00   -0.51675E-14    0.41610E-09    0.10383E-13    0.59640E-15
+  4337    0.11738E-12    0.33579E-14    0.00000E+00   -0.51251E-14    0.41584E-09    0.10333E-13    0.59545E-15
+  4338    0.11707E-12    0.33467E-14    0.00000E+00   -0.50830E-14    0.41557E-09    0.10282E-13    0.59432E-15
+  4339    0.11678E-12    0.33358E-14    0.00000E+00   -0.50411E-14    0.41531E-09    0.10232E-13    0.59301E-15
+  4340    0.11648E-12    0.33253E-14    0.00000E+00   -0.49996E-14    0.41504E-09    0.10183E-13    0.59154E-15
+  4341    0.11617E-12    0.33149E-14    0.00000E+00   -0.49586E-14    0.41478E-09    0.10133E-13    0.58990E-15
+  4342    0.11587E-12    0.33048E-14    0.00000E+00   -0.49177E-14    0.41451E-09    0.10084E-13    0.58811E-15
+  4343    0.11557E-12    0.32947E-14    0.00000E+00   -0.48774E-14    0.41425E-09    0.10036E-13    0.58617E-15
+  4344    0.11526E-12    0.32849E-14    0.00000E+00   -0.48373E-14    0.41399E-09    0.99876E-14    0.58409E-15
+  4345    0.11496E-12    0.32753E-14    0.00000E+00   -0.47976E-14    0.41372E-09    0.99396E-14    0.58188E-15
+  4346    0.11466E-12    0.32659E-14    0.00000E+00   -0.47584E-14    0.41346E-09    0.98920E-14    0.57955E-15
+  4347    0.11434E-12    0.32567E-14    0.00000E+00   -0.47196E-14    0.41319E-09    0.98448E-14    0.57710E-15
+  4348    0.11404E-12    0.32477E-14    0.00000E+00   -0.46812E-14    0.41293E-09    0.97980E-14    0.57455E-15
+  4349    0.11373E-12    0.32388E-14    0.00000E+00   -0.46431E-14    0.41267E-09    0.97516E-14    0.57191E-15
+  4350    0.11344E-12    0.32302E-14    0.00000E+00   -0.46055E-14    0.41240E-09    0.97058E-14    0.56918E-15
+  4351    0.11314E-12    0.32217E-14    0.00000E+00   -0.45683E-14    0.41214E-09    0.96605E-14    0.56638E-15
+  4352    0.11285E-12    0.32135E-14    0.00000E+00   -0.45316E-14    0.41188E-09    0.96156E-14    0.56350E-15
+  4353    0.11253E-12    0.32054E-14    0.00000E+00   -0.44952E-14    0.41162E-09    0.95712E-14    0.56054E-15
+  4354    0.11222E-12    0.31975E-14    0.00000E+00   -0.44595E-14    0.41135E-09    0.95271E-14    0.55750E-15
+  4355    0.11190E-12    0.31898E-14    0.00000E+00   -0.44241E-14    0.41109E-09    0.94834E-14    0.55438E-15
+  4356    0.11159E-12    0.31823E-14    0.00000E+00   -0.43891E-14    0.41083E-09    0.94399E-14    0.55118E-15
+  4357    0.11128E-12    0.31750E-14    0.00000E+00   -0.43547E-14    0.41057E-09    0.93967E-14    0.54789E-15
+  4358    0.11098E-12    0.31678E-14    0.00000E+00   -0.43206E-14    0.41030E-09    0.93536E-14    0.54450E-15
+  4359    0.11067E-12    0.31608E-14    0.00000E+00   -0.42871E-14    0.41004E-09    0.93108E-14    0.54103E-15
+  4360    0.11037E-12    0.31540E-14    0.00000E+00   -0.42541E-14    0.40978E-09    0.92683E-14    0.53748E-15
+  4361    0.11005E-12    0.31474E-14    0.00000E+00   -0.42216E-14    0.40952E-09    0.92261E-14    0.53384E-15
+  4362    0.10975E-12    0.31409E-14    0.00000E+00   -0.41895E-14    0.40926E-09    0.91842E-14    0.53011E-15
+  4363    0.10944E-12    0.31346E-14    0.00000E+00   -0.41580E-14    0.40900E-09    0.91429E-14    0.52631E-15
+  4364    0.10913E-12    0.31285E-14    0.00000E+00   -0.41269E-14    0.40874E-09    0.91020E-14    0.52242E-15
+  4365    0.10881E-12    0.31225E-14    0.00000E+00   -0.40963E-14    0.40848E-09    0.90617E-14    0.51845E-15
+  4366    0.10851E-12    0.31169E-14    0.00000E+00   -0.40662E-14    0.40822E-09    0.90220E-14    0.51441E-15
+  4367    0.10820E-12    0.31113E-14    0.00000E+00   -0.40367E-14    0.40796E-09    0.89828E-14    0.51028E-15
+  4368    0.10789E-12    0.31057E-14    0.00000E+00   -0.40077E-14    0.40770E-09    0.89442E-14    0.50606E-15
+  4369    0.10759E-12    0.31004E-14    0.00000E+00   -0.39792E-14    0.40744E-09    0.89061E-14    0.50175E-15
+  4370    0.10728E-12    0.30951E-14    0.00000E+00   -0.39512E-14    0.40718E-09    0.88686E-14    0.49735E-15
+  4371    0.10698E-12    0.30898E-14    0.00000E+00   -0.39237E-14    0.40692E-09    0.88317E-14    0.49285E-15
+  4372    0.10667E-12    0.30849E-14    0.00000E+00   -0.38968E-14    0.40666E-09    0.87953E-14    0.48826E-15
+  4373    0.10637E-12    0.30801E-14    0.00000E+00   -0.38704E-14    0.40640E-09    0.87596E-14    0.48356E-15
+  4374    0.10606E-12    0.30753E-14    0.00000E+00   -0.38445E-14    0.40614E-09    0.87245E-14    0.47876E-15
+  4375    0.10575E-12    0.30708E-14    0.00000E+00   -0.38192E-14    0.40588E-09    0.86901E-14    0.47384E-15
+  4376    0.10545E-12    0.30664E-14    0.00000E+00   -0.37943E-14    0.40562E-09    0.86564E-14    0.46882E-15
+  4377    0.10514E-12    0.30621E-14    0.00000E+00   -0.37701E-14    0.40536E-09    0.86236E-14    0.46367E-15
+  4378    0.10484E-12    0.30580E-14    0.00000E+00   -0.37463E-14    0.40511E-09    0.85916E-14    0.45840E-15
+  4379    0.10454E-12    0.30540E-14    0.00000E+00   -0.37232E-14    0.40485E-09    0.85605E-14    0.45300E-15
+  4380    0.10425E-12    0.30500E-14    0.00000E+00   -0.37004E-14    0.40459E-09    0.85302E-14    0.44749E-15
+  4381    0.10394E-12    0.30462E-14    0.00000E+00   -0.36784E-14    0.40433E-09    0.85005E-14    0.44188E-15
+  4382    0.10364E-12    0.30426E-14    0.00000E+00   -0.36567E-14    0.40407E-09    0.84711E-14    0.43618E-15
+  4383    0.10334E-12    0.30390E-14    0.00000E+00   -0.36357E-14    0.40382E-09    0.84421E-14    0.43041E-15
+  4384    0.10304E-12    0.30355E-14    0.00000E+00   -0.36151E-14    0.40356E-09    0.84132E-14    0.42457E-15
+  4385    0.10274E-12    0.30322E-14    0.00000E+00   -0.35951E-14    0.40330E-09    0.83842E-14    0.41869E-15
+  4386    0.10245E-12    0.30290E-14    0.00000E+00   -0.35757E-14    0.40304E-09    0.83552E-14    0.41276E-15
+  4387    0.10215E-12    0.30258E-14    0.00000E+00   -0.35567E-14    0.40279E-09    0.83261E-14    0.40680E-15
+  4388    0.10185E-12    0.30227E-14    0.00000E+00   -0.35383E-14    0.40253E-09    0.82972E-14    0.40081E-15
+  4389    0.10156E-12    0.30198E-14    0.00000E+00   -0.35205E-14    0.40227E-09    0.82688E-14    0.39477E-15
+  4390    0.10126E-12    0.30169E-14    0.00000E+00   -0.35032E-14    0.40202E-09    0.82410E-14    0.38869E-15
+  4391    0.10098E-12    0.30141E-14    0.00000E+00   -0.34865E-14    0.40176E-09    0.82141E-14    0.38256E-15
+  4392    0.10068E-12    0.30114E-14    0.00000E+00   -0.34701E-14    0.40151E-09    0.81882E-14    0.37639E-15
+  4393    0.10040E-12    0.30088E-14    0.00000E+00   -0.34544E-14    0.40125E-09    0.81635E-14    0.37017E-15
+  4394    0.10009E-12    0.30062E-14    0.00000E+00   -0.34392E-14    0.40099E-09    0.81398E-14    0.36391E-15
+  4395    0.99812E-13    0.30038E-14    0.00000E+00   -0.34245E-14    0.40074E-09    0.81168E-14    0.35759E-15
+  4396    0.99514E-13    0.30014E-14    0.00000E+00   -0.34105E-14    0.40048E-09    0.80943E-14    0.35122E-15
+  4397    0.99229E-13    0.29991E-14    0.00000E+00   -0.33968E-14    0.40023E-09    0.80720E-14    0.34480E-15
+  4398    0.98944E-13    0.29968E-14    0.00000E+00   -0.33837E-14    0.39997E-09    0.80497E-14    0.33832E-15
+  4399    0.98660E-13    0.29946E-14    0.00000E+00   -0.33710E-14    0.39972E-09    0.80271E-14    0.33178E-15
+  4400    0.98374E-13    0.29925E-14    0.00000E+00   -0.33589E-14    0.39946E-09    0.80040E-14    0.32518E-15
+  4401    0.98090E-13    0.29904E-14    0.00000E+00   -0.33474E-14    0.39921E-09    0.79807E-14    0.31854E-15
+  4402    0.97808E-13    0.29884E-14    0.00000E+00   -0.33362E-14    0.39896E-09    0.79576E-14    0.31186E-15
+  4403    0.97526E-13    0.29864E-14    0.00000E+00   -0.33256E-14    0.39870E-09    0.79350E-14    0.30516E-15
+  4404    0.97251E-13    0.29845E-14    0.00000E+00   -0.33155E-14    0.39845E-09    0.79134E-14    0.29845E-15
+  4405    0.96975E-13    0.29826E-14    0.00000E+00   -0.33058E-14    0.39819E-09    0.78931E-14    0.29175E-15
+  4406    0.96700E-13    0.29807E-14    0.00000E+00   -0.32967E-14    0.39794E-09    0.78745E-14    0.28507E-15
+  4407    0.96425E-13    0.29789E-14    0.00000E+00   -0.32880E-14    0.39769E-09    0.78579E-14    0.27842E-15
+  4408    0.96151E-13    0.29772E-14    0.00000E+00   -0.32798E-14    0.39743E-09    0.78429E-14    0.27177E-15
+  4409    0.95880E-13    0.29754E-14    0.00000E+00   -0.32720E-14    0.39718E-09    0.78292E-14    0.26511E-15
+  4410    0.95608E-13    0.29737E-14    0.00000E+00   -0.32648E-14    0.39693E-09    0.78165E-14    0.25841E-15
+  4411    0.95339E-13    0.29720E-14    0.00000E+00   -0.32580E-14    0.39667E-09    0.78043E-14    0.25166E-15
+  4412    0.95070E-13    0.29704E-14    0.00000E+00   -0.32518E-14    0.39642E-09    0.77923E-14    0.24482E-15
+  4413    0.94802E-13    0.29688E-14    0.00000E+00   -0.32459E-14    0.39617E-09    0.77801E-14    0.23788E-15
+  4414    0.94538E-13    0.29671E-14    0.00000E+00   -0.32404E-14    0.39592E-09    0.77674E-14    0.23082E-15
+  4415    0.94273E-13    0.29656E-14    0.00000E+00   -0.32354E-14    0.39566E-09    0.77545E-14    0.22366E-15
+  4416    0.94011E-13    0.29640E-14    0.00000E+00   -0.32308E-14    0.39541E-09    0.77415E-14    0.21641E-15
+  4417    0.93748E-13    0.29625E-14    0.00000E+00   -0.32267E-14    0.39516E-09    0.77288E-14    0.20910E-15
+  4418    0.93489E-13    0.29609E-14    0.00000E+00   -0.32230E-14    0.39491E-09    0.77168E-14    0.20175E-15
+  4419    0.93229E-13    0.29594E-14    0.00000E+00   -0.32197E-14    0.39466E-09    0.77055E-14    0.19438E-15
+  4420    0.92974E-13    0.29579E-14    0.00000E+00   -0.32169E-14    0.39441E-09    0.76955E-14    0.18701E-15
+  4421    0.92718E-13    0.29564E-14    0.00000E+00   -0.32141E-14    0.39415E-09    0.76868E-14    0.17966E-15
+  4422    0.92464E-13    0.29548E-14    0.00000E+00   -0.32120E-14    0.39390E-09    0.76792E-14    0.17232E-15
+  4423    0.92212E-13    0.29533E-14    0.00000E+00   -0.32103E-14    0.39365E-09    0.76726E-14    0.16500E-15
+  4424    0.91961E-13    0.29517E-14    0.00000E+00   -0.32090E-14    0.39340E-09    0.76665E-14    0.15770E-15
+  4425    0.91712E-13    0.29502E-14    0.00000E+00   -0.32083E-14    0.39315E-09    0.76607E-14    0.15040E-15
+  4426    0.91465E-13    0.29486E-14    0.00000E+00   -0.32078E-14    0.39290E-09    0.76549E-14    0.14311E-15
+  4427    0.91218E-13    0.29470E-14    0.00000E+00   -0.32076E-14    0.39265E-09    0.76487E-14    0.13582E-15
+  4428    0.90974E-13    0.29454E-14    0.00000E+00   -0.32077E-14    0.39240E-09    0.76421E-14    0.12853E-15
+  4429    0.90731E-13    0.29438E-14    0.00000E+00   -0.32081E-14    0.39215E-09    0.76352E-14    0.12123E-15
+  4430    0.90489E-13    0.29421E-14    0.00000E+00   -0.32091E-14    0.39190E-09    0.76283E-14    0.11393E-15
+  4431    0.90249E-13    0.29405E-14    0.00000E+00   -0.32103E-14    0.39165E-09    0.76216E-14    0.10661E-15
+  4432    0.90011E-13    0.29389E-14    0.00000E+00   -0.32118E-14    0.39140E-09    0.76154E-14    0.99272E-16
+  4433    0.89774E-13    0.29371E-14    0.00000E+00   -0.32136E-14    0.39115E-09    0.76101E-14    0.91911E-16
+  4434    0.89539E-13    0.29354E-14    0.00000E+00   -0.32157E-14    0.39090E-09    0.76059E-14    0.84520E-16
+  4435    0.89306E-13    0.29336E-14    0.00000E+00   -0.32182E-14    0.39066E-09    0.76030E-14    0.77102E-16
+  4436    0.89074E-13    0.29319E-14    0.00000E+00   -0.32209E-14    0.39041E-09    0.76012E-14    0.69677E-16
+  4437    0.88844E-13    0.29300E-14    0.00000E+00   -0.32239E-14    0.39016E-09    0.76004E-14    0.62270E-16
+  4438    0.88615E-13    0.29281E-14    0.00000E+00   -0.32272E-14    0.38991E-09    0.76002E-14    0.54907E-16
+  4439    0.88387E-13    0.29262E-14    0.00000E+00   -0.32308E-14    0.38966E-09    0.76004E-14    0.47614E-16
+  4440    0.88162E-13    0.29243E-14    0.00000E+00   -0.32346E-14    0.38941E-09    0.76009E-14    0.40416E-16
+  4441    0.87938E-13    0.29223E-14    0.00000E+00   -0.32387E-14    0.38917E-09    0.76013E-14    0.33340E-16
+  4442    0.87716E-13    0.29203E-14    0.00000E+00   -0.32430E-14    0.38892E-09    0.76015E-14    0.26401E-16
+  4443    0.87493E-13    0.29182E-14    0.00000E+00   -0.32476E-14    0.38867E-09    0.76017E-14    0.19573E-16
+  4444    0.87274E-13    0.29161E-14    0.00000E+00   -0.32523E-14    0.38842E-09    0.76022E-14    0.12820E-16
+  4445    0.87058E-13    0.29139E-14    0.00000E+00   -0.32573E-14    0.38818E-09    0.76031E-14    0.61064E-17
+  4446    0.86842E-13    0.29116E-14    0.00000E+00   -0.32626E-14    0.38793E-09    0.76048E-14   -0.60496E-18
+  4447    0.86628E-13    0.29093E-14    0.00000E+00   -0.32681E-14    0.38768E-09    0.76075E-14   -0.73497E-17
+  4448    0.86415E-13    0.29069E-14    0.00000E+00   -0.32738E-14    0.38743E-09    0.76114E-14   -0.14164E-16
+  4449    0.86204E-13    0.29045E-14    0.00000E+00   -0.32796E-14    0.38719E-09    0.76168E-14   -0.21074E-16
+  4450    0.85995E-13    0.29021E-14    0.00000E+00   -0.32856E-14    0.38694E-09    0.76234E-14   -0.28064E-16
+  4451    0.85786E-13    0.28995E-14    0.00000E+00   -0.32918E-14    0.38670E-09    0.76309E-14   -0.35108E-16
+  4452    0.85578E-13    0.28969E-14    0.00000E+00   -0.32982E-14    0.38645E-09    0.76389E-14   -0.42182E-16
+  4453    0.85373E-13    0.28942E-14    0.00000E+00   -0.33046E-14    0.38620E-09    0.76472E-14   -0.49259E-16
+  4454    0.85170E-13    0.28916E-14    0.00000E+00   -0.33113E-14    0.38596E-09    0.76554E-14   -0.56315E-16
+  4455    0.84970E-13    0.28887E-14    0.00000E+00   -0.33183E-14    0.38571E-09    0.76632E-14   -0.63322E-16
+  4456    0.84770E-13    0.28858E-14    0.00000E+00   -0.33252E-14    0.38547E-09    0.76704E-14   -0.70263E-16
+  4457    0.84571E-13    0.28829E-14    0.00000E+00   -0.33322E-14    0.38522E-09    0.76772E-14   -0.77136E-16
+  4458    0.84373E-13    0.28799E-14    0.00000E+00   -0.33394E-14    0.38498E-09    0.76838E-14   -0.83949E-16
+  4459    0.84178E-13    0.28769E-14    0.00000E+00   -0.33468E-14    0.38473E-09    0.76906E-14   -0.90709E-16
+  4460    0.83984E-13    0.28738E-14    0.00000E+00   -0.33542E-14    0.38449E-09    0.76978E-14   -0.97421E-16
+  4461    0.83792E-13    0.28706E-14    0.00000E+00   -0.33618E-14    0.38424E-09    0.77057E-14   -0.10409E-15
+  4462    0.83600E-13    0.28673E-14    0.00000E+00   -0.33693E-14    0.38400E-09    0.77147E-14   -0.11073E-15
+  4463    0.83410E-13    0.28640E-14    0.00000E+00   -0.33770E-14    0.38375E-09    0.77248E-14   -0.11734E-15
+  4464    0.83222E-13    0.28606E-14    0.00000E+00   -0.33847E-14    0.38351E-09    0.77360E-14   -0.12392E-15
+  4465    0.83034E-13    0.28570E-14    0.00000E+00   -0.33924E-14    0.38326E-09    0.77480E-14   -0.13047E-15
+  4466    0.82849E-13    0.28535E-14    0.00000E+00   -0.34002E-14    0.38302E-09    0.77605E-14   -0.13700E-15
+  4467    0.82665E-13    0.28497E-14    0.00000E+00   -0.34082E-14    0.38278E-09    0.77732E-14   -0.14349E-15
+  4468    0.82483E-13    0.28461E-14    0.00000E+00   -0.34160E-14    0.38253E-09    0.77858E-14   -0.14996E-15
+  4469    0.82301E-13    0.28422E-14    0.00000E+00   -0.34240E-14    0.38229E-09    0.77982E-14   -0.15640E-15
+  4470    0.82121E-13    0.28382E-14    0.00000E+00   -0.34320E-14    0.38205E-09    0.78100E-14   -0.16281E-15
+  4471    0.81942E-13    0.28343E-14    0.00000E+00   -0.34398E-14    0.38180E-09    0.78215E-14   -0.16917E-15
+  4472    0.81766E-13    0.28302E-14    0.00000E+00   -0.34478E-14    0.38156E-09    0.78329E-14   -0.17546E-15
+  4473    0.81589E-13    0.28260E-14    0.00000E+00   -0.34558E-14    0.38132E-09    0.78444E-14   -0.18166E-15
+  4474    0.81415E-13    0.28218E-14    0.00000E+00   -0.34638E-14    0.38107E-09    0.78562E-14   -0.18774E-15
+  4475    0.81242E-13    0.28175E-14    0.00000E+00   -0.34718E-14    0.38083E-09    0.78687E-14   -0.19368E-15
+  4476    0.81071E-13    0.28131E-14    0.00000E+00   -0.34797E-14    0.38059E-09    0.78820E-14   -0.19946E-15
+  4477    0.80900E-13    0.28087E-14    0.00000E+00   -0.34876E-14    0.38035E-09    0.78962E-14   -0.20507E-15
+  4478    0.80730E-13    0.28041E-14    0.00000E+00   -0.34954E-14    0.38011E-09    0.79114E-14   -0.21053E-15
+  4479    0.80563E-13    0.27995E-14    0.00000E+00   -0.35032E-14    0.37986E-09    0.79273E-14   -0.21588E-15
+  4480    0.80396E-13    0.27947E-14    0.00000E+00   -0.35109E-14    0.37962E-09    0.79437E-14   -0.22114E-15
+  4481    0.80229E-13    0.27899E-14    0.00000E+00   -0.35186E-14    0.37938E-09    0.79605E-14   -0.22634E-15
+  4482    0.80065E-13    0.27850E-14    0.00000E+00   -0.35261E-14    0.37914E-09    0.79775E-14   -0.23153E-15
+  4483    0.79902E-13    0.27800E-14    0.00000E+00   -0.35337E-14    0.37890E-09    0.79946E-14   -0.23673E-15
+  4484    0.79739E-13    0.27748E-14    0.00000E+00   -0.35411E-14    0.37866E-09    0.80115E-14   -0.24197E-15
+  4485    0.79578E-13    0.27695E-14    0.00000E+00   -0.35485E-14    0.37842E-09    0.80284E-14   -0.24722E-15
+  4486    0.79418E-13    0.27643E-14    0.00000E+00   -0.35557E-14    0.37817E-09    0.80454E-14   -0.25249E-15
+  4487    0.79260E-13    0.27590E-14    0.00000E+00   -0.35628E-14    0.37793E-09    0.80627E-14   -0.25774E-15
+  4488    0.79101E-13    0.27536E-14    0.00000E+00   -0.35699E-14    0.37769E-09    0.80803E-14   -0.26296E-15
+  4489    0.78945E-13    0.27481E-14    0.00000E+00   -0.35768E-14    0.37745E-09    0.80984E-14   -0.26812E-15
+  4490    0.78789E-13    0.27427E-14    0.00000E+00   -0.35835E-14    0.37721E-09    0.81170E-14   -0.27322E-15
+  4491    0.78633E-13    0.27371E-14    0.00000E+00   -0.35901E-14    0.37697E-09    0.81364E-14   -0.27822E-15
+  4492    0.78480E-13    0.27313E-14    0.00000E+00   -0.35967E-14    0.37673E-09    0.81564E-14   -0.28314E-15
+  4493    0.78327E-13    0.27255E-14    0.00000E+00   -0.36031E-14    0.37649E-09    0.81767E-14   -0.28798E-15
+  4494    0.78176E-13    0.27195E-14    0.00000E+00   -0.36093E-14    0.37625E-09    0.81973E-14   -0.29275E-15
+  4495    0.78024E-13    0.27136E-14    0.00000E+00   -0.36154E-14    0.37602E-09    0.82179E-14   -0.29744E-15
+  4496    0.77874E-13    0.27075E-14    0.00000E+00   -0.36213E-14    0.37578E-09    0.82385E-14   -0.30208E-15
+  4497    0.77725E-13    0.27012E-14    0.00000E+00   -0.36270E-14    0.37554E-09    0.82587E-14   -0.30665E-15
+  4498    0.77576E-13    0.26951E-14    0.00000E+00   -0.36326E-14    0.37530E-09    0.82785E-14   -0.31118E-15
+  4499    0.77429E-13    0.26887E-14    0.00000E+00   -0.36379E-14    0.37506E-09    0.82981E-14   -0.31565E-15
+  4500    0.77281E-13    0.26823E-14    0.00000E+00   -0.36431E-14    0.37482E-09    0.83175E-14   -0.32005E-15
+  4501    0.77136E-13    0.26758E-14    0.00000E+00   -0.36482E-14    0.37458E-09    0.83369E-14   -0.32440E-15
+  4502    0.76990E-13    0.26691E-14    0.00000E+00   -0.36529E-14    0.37434E-09    0.83565E-14   -0.32867E-15
+  4503    0.76847E-13    0.26625E-14    0.00000E+00   -0.36576E-14    0.37411E-09    0.83765E-14   -0.33287E-15
+  4504    0.76703E-13    0.26559E-14    0.00000E+00   -0.36621E-14    0.37387E-09    0.83969E-14   -0.33700E-15
+  4505    0.76560E-13    0.26490E-14    0.00000E+00   -0.36662E-14    0.37363E-09    0.84179E-14   -0.34104E-15
+  4506    0.76418E-13    0.26421E-14    0.00000E+00   -0.36703E-14    0.37339E-09    0.84394E-14   -0.34498E-15
+  4507    0.76275E-13    0.26352E-14    0.00000E+00   -0.36741E-14    0.37316E-09    0.84611E-14   -0.34882E-15
+  4508    0.76135E-13    0.26282E-14    0.00000E+00   -0.36776E-14    0.37292E-09    0.84830E-14   -0.35255E-15
+  4509    0.75994E-13    0.26212E-14    0.00000E+00   -0.36810E-14    0.37268E-09    0.85047E-14   -0.35615E-15
+  4510    0.75854E-13    0.26139E-14    0.00000E+00   -0.36841E-14    0.37244E-09    0.85262E-14   -0.35962E-15
+  4511    0.75714E-13    0.26067E-14    0.00000E+00   -0.36869E-14    0.37221E-09    0.85473E-14   -0.36295E-15
+  4512    0.75576E-13    0.25994E-14    0.00000E+00   -0.36896E-14    0.37197E-09    0.85678E-14   -0.36612E-15
+  4513    0.75438E-13    0.25920E-14    0.00000E+00   -0.36919E-14    0.37173E-09    0.85878E-14   -0.36915E-15
+  4514    0.75300E-13    0.25846E-14    0.00000E+00   -0.36941E-14    0.37150E-09    0.86077E-14   -0.37207E-15
+  4515    0.75162E-13    0.25771E-14    0.00000E+00   -0.36960E-14    0.37126E-09    0.86275E-14   -0.37488E-15
+  4516    0.75026E-13    0.25695E-14    0.00000E+00   -0.36976E-14    0.37103E-09    0.86476E-14   -0.37762E-15
+  4517    0.74889E-13    0.25618E-14    0.00000E+00   -0.36991E-14    0.37079E-09    0.86682E-14   -0.38029E-15
+  4518    0.74753E-13    0.25541E-14    0.00000E+00   -0.37002E-14    0.37055E-09    0.86893E-14   -0.38291E-15
+  4519    0.74617E-13    0.25464E-14    0.00000E+00   -0.37009E-14    0.37032E-09    0.87113E-14   -0.38551E-15
+  4520    0.74481E-13    0.25385E-14    0.00000E+00   -0.37016E-14    0.37008E-09    0.87340E-14   -0.38807E-15
+  4521    0.74346E-13    0.25307E-14    0.00000E+00   -0.37020E-14    0.36985E-09    0.87571E-14   -0.39058E-15
+  4522    0.74211E-13    0.25227E-14    0.00000E+00   -0.37020E-14    0.36961E-09    0.87806E-14   -0.39305E-15
+  4523    0.74078E-13    0.25147E-14    0.00000E+00   -0.37018E-14    0.36938E-09    0.88043E-14   -0.39545E-15
+  4524    0.73943E-13    0.25066E-14    0.00000E+00   -0.37013E-14    0.36914E-09    0.88279E-14   -0.39778E-15
+  4525    0.73809E-13    0.24984E-14    0.00000E+00   -0.37006E-14    0.36891E-09    0.88513E-14   -0.40003E-15
+  4526    0.73675E-13    0.24903E-14    0.00000E+00   -0.36995E-14    0.36867E-09    0.88744E-14   -0.40219E-15
+  4527    0.73543E-13    0.24821E-14    0.00000E+00   -0.36982E-14    0.36844E-09    0.88971E-14   -0.40427E-15
+  4528    0.73409E-13    0.24738E-14    0.00000E+00   -0.36966E-14    0.36820E-09    0.89196E-14   -0.40627E-15
+  4529    0.73276E-13    0.24655E-14    0.00000E+00   -0.36947E-14    0.36797E-09    0.89420E-14   -0.40818E-15
+  4530    0.73143E-13    0.24569E-14    0.00000E+00   -0.36926E-14    0.36774E-09    0.89642E-14   -0.41003E-15
+  4531    0.73010E-13    0.24486E-14    0.00000E+00   -0.36902E-14    0.36750E-09    0.89864E-14   -0.41180E-15
+  4532    0.72877E-13    0.24401E-14    0.00000E+00   -0.36874E-14    0.36727E-09    0.90087E-14   -0.41350E-15
+  4533    0.72744E-13    0.24315E-14    0.00000E+00   -0.36843E-14    0.36703E-09    0.90311E-14   -0.41513E-15
+  4534    0.72613E-13    0.24229E-14    0.00000E+00   -0.36811E-14    0.36680E-09    0.90535E-14   -0.41669E-15
+  4535    0.72479E-13    0.24143E-14    0.00000E+00   -0.36774E-14    0.36657E-09    0.90760E-14   -0.41818E-15
+  4536    0.72346E-13    0.24057E-14    0.00000E+00   -0.36734E-14    0.36634E-09    0.90986E-14   -0.41959E-15
+  4537    0.72214E-13    0.23971E-14    0.00000E+00   -0.36692E-14    0.36610E-09    0.91211E-14   -0.42091E-15
+  4538    0.72081E-13    0.23883E-14    0.00000E+00   -0.36647E-14    0.36587E-09    0.91436E-14   -0.42213E-15
+  4539    0.71948E-13    0.23796E-14    0.00000E+00   -0.36600E-14    0.36564E-09    0.91661E-14   -0.42326E-15
+  4540    0.71816E-13    0.23707E-14    0.00000E+00   -0.36549E-14    0.36540E-09    0.91884E-14   -0.42428E-15
+  4541    0.71683E-13    0.23619E-14    0.00000E+00   -0.36494E-14    0.36517E-09    0.92106E-14   -0.42520E-15
+  4542    0.71550E-13    0.23531E-14    0.00000E+00   -0.36438E-14    0.36494E-09    0.92326E-14   -0.42602E-15
+  4543    0.71417E-13    0.23441E-14    0.00000E+00   -0.36378E-14    0.36471E-09    0.92543E-14   -0.42674E-15
+  4544    0.71283E-13    0.23352E-14    0.00000E+00   -0.36316E-14    0.36448E-09    0.92756E-14   -0.42737E-15
+  4545    0.71149E-13    0.23262E-14    0.00000E+00   -0.36250E-14    0.36424E-09    0.92964E-14   -0.42789E-15
+  4546    0.71016E-13    0.23173E-14    0.00000E+00   -0.36182E-14    0.36401E-09    0.93168E-14   -0.42832E-15
+  4547    0.70882E-13    0.23084E-14    0.00000E+00   -0.36110E-14    0.36378E-09    0.93366E-14   -0.42866E-15
+  4548    0.70749E-13    0.22993E-14    0.00000E+00   -0.36036E-14    0.36355E-09    0.93561E-14   -0.42890E-15
+  4549    0.70613E-13    0.22904E-14    0.00000E+00   -0.35959E-14    0.36332E-09    0.93752E-14   -0.42904E-15
+  4550    0.70478E-13    0.22812E-14    0.00000E+00   -0.35879E-14    0.36309E-09    0.93943E-14   -0.42910E-15
+  4551    0.70344E-13    0.22721E-14    0.00000E+00   -0.35796E-14    0.36286E-09    0.94134E-14   -0.42905E-15
+  4552    0.70208E-13    0.22631E-14    0.00000E+00   -0.35709E-14    0.36263E-09    0.94328E-14   -0.42892E-15
+  4553    0.70074E-13    0.22540E-14    0.00000E+00   -0.35621E-14    0.36240E-09    0.94526E-14   -0.42869E-15
+  4554    0.69937E-13    0.22448E-14    0.00000E+00   -0.35530E-14    0.36217E-09    0.94729E-14   -0.42836E-15
+  4555    0.69801E-13    0.22357E-14    0.00000E+00   -0.35435E-14    0.36194E-09    0.94936E-14   -0.42795E-15
+  4556    0.69665E-13    0.22265E-14    0.00000E+00   -0.35338E-14    0.36171E-09    0.95145E-14   -0.42745E-15
+  4557    0.69527E-13    0.22174E-14    0.00000E+00   -0.35238E-14    0.36148E-09    0.95355E-14   -0.42686E-15
+  4558    0.69391E-13    0.22083E-14    0.00000E+00   -0.35135E-14    0.36125E-09    0.95563E-14   -0.42620E-15
+  4559    0.69253E-13    0.21991E-14    0.00000E+00   -0.35029E-14    0.36102E-09    0.95767E-14   -0.42547E-15
+  4560    0.69115E-13    0.21900E-14    0.00000E+00   -0.34921E-14    0.36079E-09    0.95967E-14   -0.42466E-15
+  4561    0.68977E-13    0.21809E-14    0.00000E+00   -0.34809E-14    0.36056E-09    0.96160E-14   -0.42379E-15
+  4562    0.68838E-13    0.21717E-14    0.00000E+00   -0.34695E-14    0.36033E-09    0.96348E-14   -0.42286E-15
+  4563    0.68698E-13    0.21624E-14    0.00000E+00   -0.34580E-14    0.36010E-09    0.96532E-14   -0.42186E-15
+  4564    0.68559E-13    0.21534E-14    0.00000E+00   -0.34460E-14    0.35987E-09    0.96713E-14   -0.42079E-15
+  4565    0.68419E-13    0.21442E-14    0.00000E+00   -0.34338E-14    0.35964E-09    0.96893E-14   -0.41966E-15
+  4566    0.68278E-13    0.21353E-14    0.00000E+00   -0.34213E-14    0.35941E-09    0.97074E-14   -0.41847E-15
+  4567    0.68137E-13    0.21259E-14    0.00000E+00   -0.34088E-14    0.35918E-09    0.97257E-14   -0.41722E-15
+  4568    0.67996E-13    0.21168E-14    0.00000E+00   -0.33957E-14    0.35896E-09    0.97442E-14   -0.41590E-15
+  4569    0.67853E-13    0.21077E-14    0.00000E+00   -0.33826E-14    0.35873E-09    0.97629E-14   -0.41452E-15
+  4570    0.67710E-13    0.20986E-14    0.00000E+00   -0.33692E-14    0.35850E-09    0.97815E-14   -0.41307E-15
+  4571    0.67566E-13    0.20894E-14    0.00000E+00   -0.33555E-14    0.35827E-09    0.97999E-14   -0.41155E-15
+  4572    0.67423E-13    0.20803E-14    0.00000E+00   -0.33415E-14    0.35805E-09    0.98180E-14   -0.40995E-15
+  4573    0.67278E-13    0.20713E-14    0.00000E+00   -0.33275E-14    0.35782E-09    0.98354E-14   -0.40828E-15
+  4574    0.67133E-13    0.20623E-14    0.00000E+00   -0.33131E-14    0.35759E-09    0.98522E-14   -0.40651E-15
+  4575    0.66988E-13    0.20532E-14    0.00000E+00   -0.32984E-14    0.35736E-09    0.98680E-14   -0.40467E-15
+  4576    0.66843E-13    0.20442E-14    0.00000E+00   -0.32836E-14    0.35714E-09    0.98830E-14   -0.40274E-15
+  4577    0.66695E-13    0.20353E-14    0.00000E+00   -0.32685E-14    0.35691E-09    0.98974E-14   -0.40074E-15
+  4578    0.66548E-13    0.20263E-14    0.00000E+00   -0.32532E-14    0.35668E-09    0.99114E-14   -0.39868E-15
+  4579    0.66399E-13    0.20173E-14    0.00000E+00   -0.32377E-14    0.35646E-09    0.99251E-14   -0.39655E-15
+  4580    0.66251E-13    0.20084E-14    0.00000E+00   -0.32220E-14    0.35623E-09    0.99386E-14   -0.39438E-15
+  4581    0.66101E-13    0.19996E-14    0.00000E+00   -0.32062E-14    0.35600E-09    0.99521E-14   -0.39216E-15
+  4582    0.65952E-13    0.19908E-14    0.00000E+00   -0.31899E-14    0.35578E-09    0.99658E-14   -0.38990E-15
+  4583    0.65801E-13    0.19820E-14    0.00000E+00   -0.31736E-14    0.35555E-09    0.99795E-14   -0.38759E-15
+  4584    0.65650E-13    0.19732E-14    0.00000E+00   -0.31571E-14    0.35532E-09    0.99932E-14   -0.38522E-15
+  4585    0.65498E-13    0.19645E-14    0.00000E+00   -0.31404E-14    0.35510E-09    0.10007E-13   -0.38278E-15
+  4586    0.65346E-13    0.19558E-14    0.00000E+00   -0.31235E-14    0.35487E-09    0.10020E-13   -0.38024E-15
+  4587    0.65192E-13    0.19471E-14    0.00000E+00   -0.31065E-14    0.35465E-09    0.10032E-13   -0.37762E-15
+  4588    0.65039E-13    0.19384E-14    0.00000E+00   -0.30893E-14    0.35442E-09    0.10044E-13   -0.37488E-15
+  4589    0.64884E-13    0.19299E-14    0.00000E+00   -0.30718E-14    0.35420E-09    0.10056E-13   -0.37202E-15
+  4590    0.64729E-13    0.19213E-14    0.00000E+00   -0.30542E-14    0.35397E-09    0.10067E-13   -0.36905E-15
+  4591    0.64573E-13    0.19128E-14    0.00000E+00   -0.30365E-14    0.35375E-09    0.10077E-13   -0.36599E-15
+  4592    0.64417E-13    0.19043E-14    0.00000E+00   -0.30186E-14    0.35352E-09    0.10087E-13   -0.36284E-15
+  4593    0.64261E-13    0.18959E-14    0.00000E+00   -0.30005E-14    0.35330E-09    0.10097E-13   -0.35962E-15
+  4594    0.64102E-13    0.18875E-14    0.00000E+00   -0.29822E-14    0.35307E-09    0.10108E-13   -0.35633E-15
+  4595    0.63944E-13    0.18791E-14    0.00000E+00   -0.29639E-14    0.35285E-09    0.10118E-13   -0.35301E-15
+  4596    0.63786E-13    0.18709E-14    0.00000E+00   -0.29455E-14    0.35262E-09    0.10129E-13   -0.34964E-15
+  4597    0.63627E-13    0.18626E-14    0.00000E+00   -0.29267E-14    0.35240E-09    0.10140E-13   -0.34624E-15
+  4598    0.63466E-13    0.18544E-14    0.00000E+00   -0.29080E-14    0.35218E-09    0.10151E-13   -0.34280E-15
+  4599    0.63306E-13    0.18463E-14    0.00000E+00   -0.28890E-14    0.35195E-09    0.10162E-13   -0.33932E-15
+  4600    0.63144E-13    0.18383E-14    0.00000E+00   -0.28701E-14    0.35173E-09    0.10173E-13   -0.33580E-15
+  4601    0.62981E-13    0.18301E-14    0.00000E+00   -0.28509E-14    0.35151E-09    0.10183E-13   -0.33223E-15
+  4602    0.62816E-13    0.18221E-14    0.00000E+00   -0.28316E-14    0.35128E-09    0.10192E-13   -0.32862E-15
+  4603    0.62652E-13    0.18142E-14    0.00000E+00   -0.28123E-14    0.35106E-09    0.10200E-13   -0.32496E-15
+  4604    0.62487E-13    0.18063E-14    0.00000E+00   -0.27927E-14    0.35084E-09    0.10207E-13   -0.32125E-15
+  4605    0.62323E-13    0.17985E-14    0.00000E+00   -0.27732E-14    0.35061E-09    0.10213E-13   -0.31749E-15
+  4606    0.62157E-13    0.17907E-14    0.00000E+00   -0.27538E-14    0.35039E-09    0.10219E-13   -0.31369E-15
+  4607    0.61991E-13    0.17830E-14    0.00000E+00   -0.27338E-14    0.35017E-09    0.10225E-13   -0.30984E-15
+  4608    0.61824E-13    0.17753E-14    0.00000E+00   -0.27141E-14    0.34995E-09    0.10231E-13   -0.30596E-15
+  4609    0.61656E-13    0.17678E-14    0.00000E+00   -0.26941E-14    0.34972E-09    0.10237E-13   -0.30203E-15
+  4610    0.61488E-13    0.17601E-14    0.00000E+00   -0.26742E-14    0.34950E-09    0.10243E-13   -0.29806E-15
+  4611    0.61319E-13    0.17527E-14    0.00000E+00   -0.26541E-14    0.34928E-09    0.10250E-13   -0.29405E-15
+  4612    0.61149E-13    0.17454E-14    0.00000E+00   -0.26340E-14    0.34906E-09    0.10256E-13   -0.29002E-15
+  4613    0.60979E-13    0.17380E-14    0.00000E+00   -0.26139E-14    0.34884E-09    0.10262E-13   -0.28596E-15
+  4614    0.60807E-13    0.17307E-14    0.00000E+00   -0.25937E-14    0.34861E-09    0.10267E-13   -0.28190E-15
+  4615    0.60636E-13    0.17234E-14    0.00000E+00   -0.25734E-14    0.34839E-09    0.10272E-13   -0.27782E-15
+  4616    0.60463E-13    0.17163E-14    0.00000E+00   -0.25531E-14    0.34817E-09    0.10276E-13   -0.27374E-15
+  4617    0.60290E-13    0.17092E-14    0.00000E+00   -0.25328E-14    0.34795E-09    0.10278E-13   -0.26967E-15
+  4618    0.60118E-13    0.17022E-14    0.00000E+00   -0.25124E-14    0.34773E-09    0.10280E-13   -0.26558E-15
+  4619    0.59943E-13    0.16953E-14    0.00000E+00   -0.24921E-14    0.34751E-09    0.10281E-13   -0.26147E-15
+  4620    0.59769E-13    0.16884E-14    0.00000E+00   -0.24716E-14    0.34729E-09    0.10281E-13   -0.25732E-15
+  4621    0.59594E-13    0.16816E-14    0.00000E+00   -0.24512E-14    0.34707E-09    0.10281E-13   -0.25311E-15
+  4622    0.59418E-13    0.16748E-14    0.00000E+00   -0.24309E-14    0.34685E-09    0.10282E-13   -0.24882E-15
+  4623    0.59242E-13    0.16681E-14    0.00000E+00   -0.24104E-14    0.34663E-09    0.10282E-13   -0.24445E-15
+  4624    0.59066E-13    0.16614E-14    0.00000E+00   -0.23899E-14    0.34641E-09    0.10284E-13   -0.23997E-15
+  4625    0.58888E-13    0.16549E-14    0.00000E+00   -0.23696E-14    0.34619E-09    0.10285E-13   -0.23540E-15
+  4626    0.58710E-13    0.16484E-14    0.00000E+00   -0.23492E-14    0.34597E-09    0.10287E-13   -0.23076E-15
+  4627    0.58531E-13    0.16420E-14    0.00000E+00   -0.23287E-14    0.34575E-09    0.10288E-13   -0.22605E-15
+  4628    0.58353E-13    0.16356E-14    0.00000E+00   -0.23084E-14    0.34553E-09    0.10289E-13   -0.22129E-15
+  4629    0.58173E-13    0.16292E-14    0.00000E+00   -0.22880E-14    0.34531E-09    0.10290E-13   -0.21649E-15
+  4630    0.57994E-13    0.16231E-14    0.00000E+00   -0.22677E-14    0.34509E-09    0.10289E-13   -0.21167E-15
+  4631    0.57814E-13    0.16170E-14    0.00000E+00   -0.22474E-14    0.34487E-09    0.10287E-13   -0.20683E-15
+  4632    0.57632E-13    0.16109E-14    0.00000E+00   -0.22271E-14    0.34465E-09    0.10284E-13   -0.20199E-15
+  4633    0.57452E-13    0.16049E-14    0.00000E+00   -0.22069E-14    0.34443E-09    0.10280E-13   -0.19712E-15
+  4634    0.57270E-13    0.15990E-14    0.00000E+00   -0.21869E-14    0.34421E-09    0.10276E-13   -0.19224E-15
+  4635    0.57087E-13    0.15932E-14    0.00000E+00   -0.21666E-14    0.34399E-09    0.10271E-13   -0.18734E-15
+  4636    0.56905E-13    0.15874E-14    0.00000E+00   -0.21466E-14    0.34377E-09    0.10267E-13   -0.18242E-15
+  4637    0.56723E-13    0.15817E-14    0.00000E+00   -0.21267E-14    0.34356E-09    0.10263E-13   -0.17746E-15
+  4638    0.56538E-13    0.15761E-14    0.00000E+00   -0.21068E-14    0.34334E-09    0.10260E-13   -0.17248E-15
+  4639    0.56355E-13    0.15704E-14    0.00000E+00   -0.20870E-14    0.34312E-09    0.10257E-13   -0.16748E-15
+  4640    0.56171E-13    0.15649E-14    0.00000E+00   -0.20672E-14    0.34290E-09    0.10254E-13   -0.16246E-15
+  4641    0.55987E-13    0.15595E-14    0.00000E+00   -0.20476E-14    0.34268E-09    0.10251E-13   -0.15744E-15
+  4642    0.55802E-13    0.15541E-14    0.00000E+00   -0.20280E-14    0.34247E-09    0.10247E-13   -0.15242E-15
+  4643    0.55618E-13    0.15489E-14    0.00000E+00   -0.20084E-14    0.34225E-09    0.10242E-13   -0.14741E-15
+  4644    0.55432E-13    0.15437E-14    0.00000E+00   -0.19889E-14    0.34203E-09    0.10237E-13   -0.14242E-15
+  4645    0.55246E-13    0.15385E-14    0.00000E+00   -0.19696E-14    0.34182E-09    0.10230E-13   -0.13746E-15
+  4646    0.55060E-13    0.15335E-14    0.00000E+00   -0.19505E-14    0.34160E-09    0.10222E-13   -0.13253E-15
+  4647    0.54874E-13    0.15285E-14    0.00000E+00   -0.19314E-14    0.34138E-09    0.10213E-13   -0.12762E-15
+  4648    0.54686E-13    0.15236E-14    0.00000E+00   -0.19124E-14    0.34116E-09    0.10204E-13   -0.12274E-15
+  4649    0.54501E-13    0.15188E-14    0.00000E+00   -0.18934E-14    0.34095E-09    0.10194E-13   -0.11789E-15
+  4650    0.54314E-13    0.15140E-14    0.00000E+00   -0.18747E-14    0.34073E-09    0.10185E-13   -0.11307E-15
+  4651    0.54127E-13    0.15093E-14    0.00000E+00   -0.18560E-14    0.34051E-09    0.10176E-13   -0.10828E-15
+  4652    0.53939E-13    0.15046E-14    0.00000E+00   -0.18375E-14    0.34030E-09    0.10168E-13   -0.10351E-15
+  4653    0.53751E-13    0.15001E-14    0.00000E+00   -0.18191E-14    0.34008E-09    0.10160E-13   -0.98757E-16
+  4654    0.53563E-13    0.14956E-14    0.00000E+00   -0.18008E-14    0.33987E-09    0.10152E-13   -0.94004E-16
+  4655    0.53376E-13    0.14912E-14    0.00000E+00   -0.17827E-14    0.33965E-09    0.10144E-13   -0.89238E-16
+  4656    0.53188E-13    0.14868E-14    0.00000E+00   -0.17647E-14    0.33943E-09    0.10136E-13   -0.84445E-16
+  4657    0.53000E-13    0.14825E-14    0.00000E+00   -0.17470E-14    0.33922E-09    0.10127E-13   -0.79613E-16
+  4658    0.52812E-13    0.14782E-14    0.00000E+00   -0.17293E-14    0.33900E-09    0.10116E-13   -0.74727E-16
+  4659    0.52624E-13    0.14741E-14    0.00000E+00   -0.17117E-14    0.33879E-09    0.10105E-13   -0.69778E-16
+  4660    0.52435E-13    0.14700E-14    0.00000E+00   -0.16944E-14    0.33857E-09    0.10093E-13   -0.64775E-16
+  4661    0.52247E-13    0.14659E-14    0.00000E+00   -0.16772E-14    0.33836E-09    0.10079E-13   -0.59727E-16
+  4662    0.52058E-13    0.14620E-14    0.00000E+00   -0.16602E-14    0.33814E-09    0.10066E-13   -0.54647E-16
+  4663    0.51870E-13    0.14582E-14    0.00000E+00   -0.16432E-14    0.33793E-09    0.10052E-13   -0.49546E-16
+  4664    0.51680E-13    0.14543E-14    0.00000E+00   -0.16265E-14    0.33771E-09    0.10038E-13   -0.44435E-16
+  4665    0.51493E-13    0.14505E-14    0.00000E+00   -0.16100E-14    0.33750E-09    0.10024E-13   -0.39327E-16
+  4666    0.51305E-13    0.14468E-14    0.00000E+00   -0.15936E-14    0.33729E-09    0.10011E-13   -0.34230E-16
+  4667    0.51116E-13    0.14432E-14    0.00000E+00   -0.15775E-14    0.33707E-09    0.99981E-14   -0.29143E-16
+  4668    0.50928E-13    0.14396E-14    0.00000E+00   -0.15615E-14    0.33686E-09    0.99853E-14   -0.24065E-16
+  4669    0.50739E-13    0.14361E-14    0.00000E+00   -0.15456E-14    0.33664E-09    0.99724E-14   -0.18992E-16
+  4670    0.50552E-13    0.14327E-14    0.00000E+00   -0.15299E-14    0.33643E-09    0.99592E-14   -0.13921E-16
+  4671    0.50362E-13    0.14293E-14    0.00000E+00   -0.15145E-14    0.33622E-09    0.99453E-14   -0.88494E-17
+  4672    0.50175E-13    0.14260E-14    0.00000E+00   -0.14992E-14    0.33600E-09    0.99307E-14   -0.37747E-17
+  4673    0.49987E-13    0.14227E-14    0.00000E+00   -0.14840E-14    0.33579E-09    0.99152E-14    0.13032E-17
+  4674    0.49800E-13    0.14196E-14    0.00000E+00   -0.14692E-14    0.33558E-09    0.98988E-14    0.63727E-17
+  4675    0.49612E-13    0.14164E-14    0.00000E+00   -0.14545E-14    0.33536E-09    0.98818E-14    0.11420E-16
+  4676    0.49425E-13    0.14133E-14    0.00000E+00   -0.14400E-14    0.33515E-09    0.98644E-14    0.16429E-16
+  4677    0.49237E-13    0.14103E-14    0.00000E+00   -0.14257E-14    0.33494E-09    0.98469E-14    0.21387E-16
+  4678    0.49050E-13    0.14074E-14    0.00000E+00   -0.14115E-14    0.33472E-09    0.98293E-14    0.26279E-16
+  4679    0.48863E-13    0.14044E-14    0.00000E+00   -0.13978E-14    0.33451E-09    0.98120E-14    0.31090E-16
+  4680    0.48677E-13    0.14016E-14    0.00000E+00   -0.13841E-14    0.33430E-09    0.97951E-14    0.35811E-16
+  4681    0.48491E-13    0.13988E-14    0.00000E+00   -0.13705E-14    0.33409E-09    0.97784E-14    0.40446E-16
+  4682    0.48305E-13    0.13960E-14    0.00000E+00   -0.13573E-14    0.33388E-09    0.97618E-14    0.45007E-16
+  4683    0.48119E-13    0.13933E-14    0.00000E+00   -0.13443E-14    0.33366E-09    0.97451E-14    0.49502E-16
+  4684    0.47933E-13    0.13908E-14    0.00000E+00   -0.13315E-14    0.33345E-09    0.97283E-14    0.53942E-16
+  4685    0.47749E-13    0.13881E-14    0.00000E+00   -0.13188E-14    0.33324E-09    0.97110E-14    0.58336E-16
+  4686    0.47565E-13    0.13856E-14    0.00000E+00   -0.13065E-14    0.33303E-09    0.96932E-14    0.62695E-16
+  4687    0.47380E-13    0.13831E-14    0.00000E+00   -0.12943E-14    0.33282E-09    0.96747E-14    0.67028E-16
+  4688    0.47197E-13    0.13806E-14    0.00000E+00   -0.12823E-14    0.33261E-09    0.96557E-14    0.71341E-16
+  4689    0.47014E-13    0.13783E-14    0.00000E+00   -0.12707E-14    0.33239E-09    0.96362E-14    0.75641E-16
+  4690    0.46830E-13    0.13759E-14    0.00000E+00   -0.12591E-14    0.33218E-09    0.96162E-14    0.79933E-16
+  4691    0.46647E-13    0.13736E-14    0.00000E+00   -0.12478E-14    0.33197E-09    0.95961E-14    0.84224E-16
+  4692    0.46465E-13    0.13712E-14    0.00000E+00   -0.12367E-14    0.33176E-09    0.95758E-14    0.88518E-16
+  4693    0.46283E-13    0.13691E-14    0.00000E+00   -0.12259E-14    0.33155E-09    0.95554E-14    0.92823E-16
+  4694    0.46102E-13    0.13668E-14    0.00000E+00   -0.12152E-14    0.33134E-09    0.95352E-14    0.97142E-16
+  4695    0.45922E-13    0.13647E-14    0.00000E+00   -0.12048E-14    0.33113E-09    0.95148E-14    0.10147E-15
+  4696    0.45741E-13    0.13627E-14    0.00000E+00   -0.11946E-14    0.33092E-09    0.94944E-14    0.10580E-15
+  4697    0.45561E-13    0.13606E-14    0.00000E+00   -0.11847E-14    0.33071E-09    0.94737E-14    0.11012E-15
+  4698    0.45381E-13    0.13587E-14    0.00000E+00   -0.11749E-14    0.33050E-09    0.94527E-14    0.11443E-15
+  4699    0.45203E-13    0.13567E-14    0.00000E+00   -0.11654E-14    0.33029E-09    0.94313E-14    0.11871E-15
+  4700    0.45025E-13    0.13548E-14    0.00000E+00   -0.11562E-14    0.33008E-09    0.94093E-14    0.12296E-15
+  4701    0.44847E-13    0.13529E-14    0.00000E+00   -0.11472E-14    0.32987E-09    0.93867E-14    0.12718E-15
+  4702    0.44671E-13    0.13510E-14    0.00000E+00   -0.11384E-14    0.32966E-09    0.93635E-14    0.13137E-15
+  4703    0.44494E-13    0.13492E-14    0.00000E+00   -0.11298E-14    0.32945E-09    0.93399E-14    0.13552E-15
+  4704    0.44318E-13    0.13474E-14    0.00000E+00   -0.11214E-14    0.32924E-09    0.93160E-14    0.13964E-15
+  4705    0.44143E-13    0.13457E-14    0.00000E+00   -0.11133E-14    0.32903E-09    0.92919E-14    0.14375E-15
+  4706    0.43969E-13    0.13440E-14    0.00000E+00   -0.11054E-14    0.32883E-09    0.92677E-14    0.14783E-15
+  4707    0.43796E-13    0.13423E-14    0.00000E+00   -0.10976E-14    0.32862E-09    0.92435E-14    0.15190E-15
+  4708    0.43622E-13    0.13406E-14    0.00000E+00   -0.10902E-14    0.32841E-09    0.92194E-14    0.15595E-15
+  4709    0.43450E-13    0.13390E-14    0.00000E+00   -0.10829E-14    0.32820E-09    0.91954E-14    0.15997E-15
+  4710    0.43279E-13    0.13374E-14    0.00000E+00   -0.10759E-14    0.32799E-09    0.91714E-14    0.16394E-15
+  4711    0.43107E-13    0.13357E-14    0.00000E+00   -0.10691E-14    0.32778E-09    0.91474E-14    0.16784E-15
+  4712    0.42937E-13    0.13342E-14    0.00000E+00   -0.10626E-14    0.32757E-09    0.91233E-14    0.17167E-15
+  4713    0.42769E-13    0.13327E-14    0.00000E+00   -0.10562E-14    0.32737E-09    0.90991E-14    0.17539E-15
+  4714    0.42599E-13    0.13312E-14    0.00000E+00   -0.10501E-14    0.32716E-09    0.90748E-14    0.17899E-15
+  4715    0.42431E-13    0.13297E-14    0.00000E+00   -0.10442E-14    0.32695E-09    0.90503E-14    0.18246E-15
+  4716    0.42263E-13    0.13282E-14    0.00000E+00   -0.10386E-14    0.32674E-09    0.90256E-14    0.18580E-15
+  4717    0.42097E-13    0.13268E-14    0.00000E+00   -0.10331E-14    0.32654E-09    0.90009E-14    0.18905E-15
+  4718    0.41932E-13    0.13254E-14    0.00000E+00   -0.10278E-14    0.32633E-09    0.89761E-14    0.19221E-15
+  4719    0.41767E-13    0.13240E-14    0.00000E+00   -0.10228E-14    0.32612E-09    0.89512E-14    0.19530E-15
+  4720    0.41602E-13    0.13227E-14    0.00000E+00   -0.10180E-14    0.32592E-09    0.89264E-14    0.19835E-15
+  4721    0.41440E-13    0.13213E-14    0.00000E+00   -0.10134E-14    0.32571E-09    0.89017E-14    0.20136E-15
+  4722    0.41277E-13    0.13199E-14    0.00000E+00   -0.10091E-14    0.32550E-09    0.88771E-14    0.20435E-15
+  4723    0.41116E-13    0.13186E-14    0.00000E+00   -0.10049E-14    0.32529E-09    0.88525E-14    0.20733E-15
+  4724    0.40954E-13    0.13172E-14    0.00000E+00   -0.10010E-14    0.32509E-09    0.88279E-14    0.21028E-15
+  4725    0.40796E-13    0.13159E-14    0.00000E+00   -0.99714E-15    0.32488E-09    0.88032E-14    0.21321E-15
+  4726    0.40635E-13    0.13146E-14    0.00000E+00   -0.99362E-15    0.32468E-09    0.87784E-14    0.21612E-15
+  4727    0.40478E-13    0.13133E-14    0.00000E+00   -0.99020E-15    0.32447E-09    0.87534E-14    0.21900E-15
+  4728    0.40322E-13    0.13121E-14    0.00000E+00   -0.98708E-15    0.32426E-09    0.87282E-14    0.22185E-15
+  4729    0.40165E-13    0.13108E-14    0.00000E+00   -0.98422E-15    0.32406E-09    0.87026E-14    0.22467E-15
+  4730    0.40010E-13    0.13096E-14    0.00000E+00   -0.98155E-15    0.32385E-09    0.86767E-14    0.22745E-15
+  4731    0.39856E-13    0.13083E-14    0.00000E+00   -0.97892E-15    0.32365E-09    0.86505E-14    0.23020E-15
+  4732    0.39702E-13    0.13071E-14    0.00000E+00   -0.97660E-15    0.32344E-09    0.86240E-14    0.23290E-15
+  4733    0.39549E-13    0.13058E-14    0.00000E+00   -0.97444E-15    0.32324E-09    0.85973E-14    0.23557E-15
+  4734    0.39398E-13    0.13046E-14    0.00000E+00   -0.97247E-15    0.32303E-09    0.85704E-14    0.23819E-15
+  4735    0.39248E-13    0.13034E-14    0.00000E+00   -0.97066E-15    0.32283E-09    0.85433E-14    0.24076E-15
+  4736    0.39099E-13    0.13022E-14    0.00000E+00   -0.96905E-15    0.32262E-09    0.85160E-14    0.24329E-15
+  4737    0.38950E-13    0.13011E-14    0.00000E+00   -0.96770E-15    0.32242E-09    0.84886E-14    0.24576E-15
+  4738    0.38802E-13    0.12998E-14    0.00000E+00   -0.96645E-15    0.32221E-09    0.84610E-14    0.24819E-15
+  4739    0.38656E-13    0.12986E-14    0.00000E+00   -0.96546E-15    0.32201E-09    0.84334E-14    0.25058E-15
+  4740    0.38509E-13    0.12975E-14    0.00000E+00   -0.96453E-15    0.32180E-09    0.84058E-14    0.25292E-15
+  4741    0.38366E-13    0.12960E-14    0.00000E+00   -0.96389E-15    0.32160E-09    0.83782E-14    0.25522E-15
+  4742    0.38222E-13    0.12948E-14    0.00000E+00   -0.96341E-15    0.32139E-09    0.83507E-14    0.25748E-15
+  4743    0.38079E-13    0.12936E-14    0.00000E+00   -0.96311E-15    0.32119E-09    0.83232E-14    0.25970E-15
+  4744    0.37937E-13    0.12923E-14    0.00000E+00   -0.96289E-15    0.32099E-09    0.82959E-14    0.26187E-15
+  4745    0.37796E-13    0.12911E-14    0.00000E+00   -0.96293E-15    0.32078E-09    0.82686E-14    0.26397E-15
+  4746    0.37657E-13    0.12899E-14    0.00000E+00   -0.96314E-15    0.32058E-09    0.82414E-14    0.26600E-15
+  4747    0.37519E-13    0.12885E-14    0.00000E+00   -0.96341E-15    0.32038E-09    0.82143E-14    0.26794E-15
+  4748    0.37382E-13    0.12874E-14    0.00000E+00   -0.96395E-15    0.32017E-09    0.81873E-14    0.26978E-15
+  4749    0.37244E-13    0.12861E-14    0.00000E+00   -0.96458E-15    0.31997E-09    0.81603E-14    0.27151E-15
+  4750    0.37109E-13    0.12849E-14    0.00000E+00   -0.96537E-15    0.31977E-09    0.81334E-14    0.27311E-15
+  4751    0.36975E-13    0.12836E-14    0.00000E+00   -0.96631E-15    0.31956E-09    0.81066E-14    0.27461E-15
+  4752    0.36840E-13    0.12822E-14    0.00000E+00   -0.96741E-15    0.31936E-09    0.80799E-14    0.27601E-15
+  4753    0.36709E-13    0.12809E-14    0.00000E+00   -0.96864E-15    0.31916E-09    0.80534E-14    0.27733E-15
+  4754    0.36578E-13    0.12796E-14    0.00000E+00   -0.97002E-15    0.31895E-09    0.80271E-14    0.27858E-15
+  4755    0.36447E-13    0.12783E-14    0.00000E+00   -0.97154E-15    0.31875E-09    0.80010E-14    0.27979E-15
+  4756    0.36318E-13    0.12769E-14    0.00000E+00   -0.97321E-15    0.31855E-09    0.79753E-14    0.28096E-15
+  4757    0.36190E-13    0.12755E-14    0.00000E+00   -0.97497E-15    0.31835E-09    0.79499E-14    0.28210E-15
+  4758    0.36063E-13    0.12742E-14    0.00000E+00   -0.97689E-15    0.31815E-09    0.79247E-14    0.28323E-15
+  4759    0.35936E-13    0.12727E-14    0.00000E+00   -0.97893E-15    0.31794E-09    0.78995E-14    0.28432E-15
+  4760    0.35811E-13    0.12714E-14    0.00000E+00   -0.98109E-15    0.31774E-09    0.78743E-14    0.28538E-15
+  4761    0.35687E-13    0.12700E-14    0.00000E+00   -0.98335E-15    0.31754E-09    0.78490E-14    0.28640E-15
+  4762    0.35564E-13    0.12685E-14    0.00000E+00   -0.98573E-15    0.31734E-09    0.78233E-14    0.28738E-15
+  4763    0.35443E-13    0.12671E-14    0.00000E+00   -0.98836E-15    0.31714E-09    0.77973E-14    0.28831E-15
+  4764    0.35323E-13    0.12656E-14    0.00000E+00   -0.99095E-15    0.31694E-09    0.77707E-14    0.28919E-15
+  4765    0.35203E-13    0.12641E-14    0.00000E+00   -0.99363E-15    0.31674E-09    0.77436E-14    0.29001E-15
+  4766    0.35084E-13    0.12626E-14    0.00000E+00   -0.99652E-15    0.31653E-09    0.77164E-14    0.29078E-15
+  4767    0.34968E-13    0.12610E-14    0.00000E+00   -0.99951E-15    0.31633E-09    0.76890E-14    0.29149E-15
+  4768    0.34852E-13    0.12594E-14    0.00000E+00   -0.10025E-14    0.31613E-09    0.76616E-14    0.29215E-15
+  4769    0.34737E-13    0.12579E-14    0.00000E+00   -0.10057E-14    0.31593E-09    0.76344E-14    0.29275E-15
+  4770    0.34621E-13    0.12563E-14    0.00000E+00   -0.10090E-14    0.31573E-09    0.76075E-14    0.29329E-15
+  4771    0.34509E-13    0.12547E-14    0.00000E+00   -0.10123E-14    0.31553E-09    0.75811E-14    0.29378E-15
+  4772    0.34396E-13    0.12530E-14    0.00000E+00   -0.10158E-14    0.31533E-09    0.75550E-14    0.29422E-15
+  4773    0.34285E-13    0.12513E-14    0.00000E+00   -0.10193E-14    0.31513E-09    0.75291E-14    0.29459E-15
+  4774    0.34175E-13    0.12496E-14    0.00000E+00   -0.10228E-14    0.31493E-09    0.75033E-14    0.29492E-15
+  4775    0.34066E-13    0.12479E-14    0.00000E+00   -0.10265E-14    0.31473E-09    0.74775E-14    0.29518E-15
+  4776    0.33957E-13    0.12462E-14    0.00000E+00   -0.10302E-14    0.31453E-09    0.74514E-14    0.29540E-15
+  4777    0.33851E-13    0.12444E-14    0.00000E+00   -0.10340E-14    0.31433E-09    0.74250E-14    0.29556E-15
+  4778    0.33745E-13    0.12426E-14    0.00000E+00   -0.10379E-14    0.31413E-09    0.73982E-14    0.29566E-15
+  4779    0.33640E-13    0.12408E-14    0.00000E+00   -0.10421E-14    0.31393E-09    0.73712E-14    0.29571E-15
+  4780    0.33536E-13    0.12389E-14    0.00000E+00   -0.10461E-14    0.31373E-09    0.73441E-14    0.29570E-15
+  4781    0.33433E-13    0.12371E-14    0.00000E+00   -0.10500E-14    0.31353E-09    0.73173E-14    0.29561E-15
+  4782    0.33332E-13    0.12352E-14    0.00000E+00   -0.10540E-14    0.31334E-09    0.72909E-14    0.29546E-15
+  4783    0.33232E-13    0.12333E-14    0.00000E+00   -0.10582E-14    0.31314E-09    0.72651E-14    0.29523E-15
+  4784    0.33131E-13    0.12313E-14    0.00000E+00   -0.10623E-14    0.31294E-09    0.72402E-14    0.29491E-15
+  4785    0.33033E-13    0.12294E-14    0.00000E+00   -0.10666E-14    0.31274E-09    0.72163E-14    0.29451E-15
+  4786    0.32936E-13    0.12273E-14    0.00000E+00   -0.10709E-14    0.31254E-09    0.71932E-14    0.29403E-15
+  4787    0.32838E-13    0.12253E-14    0.00000E+00   -0.10752E-14    0.31234E-09    0.71708E-14    0.29348E-15
+  4788    0.32743E-13    0.12233E-14    0.00000E+00   -0.10795E-14    0.31214E-09    0.71486E-14    0.29288E-15
+  4789    0.32648E-13    0.12212E-14    0.00000E+00   -0.10840E-14    0.31195E-09    0.71266E-14    0.29223E-15
+  4790    0.32554E-13    0.12191E-14    0.00000E+00   -0.10884E-14    0.31175E-09    0.71044E-14    0.29153E-15
+  4791    0.32462E-13    0.12169E-14    0.00000E+00   -0.10929E-14    0.31155E-09    0.70817E-14    0.29081E-15
+  4792    0.32370E-13    0.12148E-14    0.00000E+00   -0.10972E-14    0.31135E-09    0.70585E-14    0.29006E-15
+  4793    0.32279E-13    0.12126E-14    0.00000E+00   -0.11016E-14    0.31115E-09    0.70348E-14    0.28929E-15
+  4794    0.32189E-13    0.12103E-14    0.00000E+00   -0.11062E-14    0.31096E-09    0.70108E-14    0.28849E-15
+  4795    0.32101E-13    0.12079E-14    0.00000E+00   -0.11108E-14    0.31076E-09    0.69869E-14    0.28766E-15
+  4796    0.32012E-13    0.12057E-14    0.00000E+00   -0.11152E-14    0.31056E-09    0.69631E-14    0.28679E-15
+  4797    0.31926E-13    0.12033E-14    0.00000E+00   -0.11198E-14    0.31037E-09    0.69398E-14    0.28587E-15
+  4798    0.31840E-13    0.12010E-14    0.00000E+00   -0.11246E-14    0.31017E-09    0.69171E-14    0.28490E-15
+  4799    0.31756E-13    0.11986E-14    0.00000E+00   -0.11292E-14    0.30997E-09    0.68953E-14    0.28388E-15
+  4800    0.31672E-13    0.11962E-14    0.00000E+00   -0.11338E-14    0.30978E-09    0.68741E-14    0.28281E-15
+  4801    0.31588E-13    0.11936E-14    0.00000E+00   -0.11384E-14    0.30958E-09    0.68533E-14    0.28168E-15
+  4802    0.31506E-13    0.11912E-14    0.00000E+00   -0.11430E-14    0.30938E-09    0.68326E-14    0.28050E-15
+  4803    0.31425E-13    0.11887E-14    0.00000E+00   -0.11475E-14    0.30919E-09    0.68120E-14    0.27925E-15
+  4804    0.31344E-13    0.11862E-14    0.00000E+00   -0.11521E-14    0.30899E-09    0.67910E-14    0.27794E-15
+  4805    0.31264E-13    0.11836E-14    0.00000E+00   -0.11565E-14    0.30879E-09    0.67695E-14    0.27658E-15
+  4806    0.31185E-13    0.11811E-14    0.00000E+00   -0.11610E-14    0.30860E-09    0.67474E-14    0.27515E-15
+  4807    0.31107E-13    0.11784E-14    0.00000E+00   -0.11655E-14    0.30840E-09    0.67247E-14    0.27366E-15
+  4808    0.31031E-13    0.11757E-14    0.00000E+00   -0.11699E-14    0.30821E-09    0.67019E-14    0.27211E-15
+  4809    0.30953E-13    0.11730E-14    0.00000E+00   -0.11744E-14    0.30801E-09    0.66791E-14    0.27051E-15
+  4810    0.30879E-13    0.11703E-14    0.00000E+00   -0.11787E-14    0.30782E-09    0.66566E-14    0.26886E-15
+  4811    0.30803E-13    0.11674E-14    0.00000E+00   -0.11831E-14    0.30762E-09    0.66347E-14    0.26716E-15
+  4812    0.30731E-13    0.11647E-14    0.00000E+00   -0.11875E-14    0.30742E-09    0.66137E-14    0.26541E-15
+  4813    0.30658E-13    0.11620E-14    0.00000E+00   -0.11918E-14    0.30723E-09    0.65938E-14    0.26362E-15
+  4814    0.30586E-13    0.11591E-14    0.00000E+00   -0.11960E-14    0.30703E-09    0.65747E-14    0.26179E-15
+  4815    0.30515E-13    0.11563E-14    0.00000E+00   -0.12002E-14    0.30684E-09    0.65564E-14    0.25992E-15
+  4816    0.30445E-13    0.11532E-14    0.00000E+00   -0.12044E-14    0.30664E-09    0.65385E-14    0.25800E-15
+  4817    0.30376E-13    0.11504E-14    0.00000E+00   -0.12086E-14    0.30645E-09    0.65208E-14    0.25604E-15
+  4818    0.30308E-13    0.11474E-14    0.00000E+00   -0.12127E-14    0.30626E-09    0.65031E-14    0.25405E-15
+  4819    0.30238E-13    0.11444E-14    0.00000E+00   -0.12168E-14    0.30606E-09    0.64852E-14    0.25201E-15
+  4820    0.30172E-13    0.11415E-14    0.00000E+00   -0.12208E-14    0.30587E-09    0.64670E-14    0.24992E-15
+  4821    0.30105E-13    0.11384E-14    0.00000E+00   -0.12246E-14    0.30567E-09    0.64484E-14    0.24781E-15
+  4822    0.30039E-13    0.11352E-14    0.00000E+00   -0.12286E-14    0.30548E-09    0.64299E-14    0.24565E-15
+  4823    0.29974E-13    0.11322E-14    0.00000E+00   -0.12324E-14    0.30529E-09    0.64115E-14    0.24347E-15
+  4824    0.29909E-13    0.11290E-14    0.00000E+00   -0.12363E-14    0.30509E-09    0.63934E-14    0.24126E-15
+  4825    0.29845E-13    0.11259E-14    0.00000E+00   -0.12400E-14    0.30490E-09    0.63759E-14    0.23902E-15
+  4826    0.29783E-13    0.11227E-14    0.00000E+00   -0.12435E-14    0.30470E-09    0.63591E-14    0.23676E-15
+  4827    0.29719E-13    0.11194E-14    0.00000E+00   -0.12472E-14    0.30451E-09    0.63432E-14    0.23449E-15
+  4828    0.29658E-13    0.11162E-14    0.00000E+00   -0.12507E-14    0.30432E-09    0.63280E-14    0.23219E-15
+  4829    0.29597E-13    0.11130E-14    0.00000E+00   -0.12540E-14    0.30412E-09    0.63133E-14    0.22987E-15
+  4830    0.29537E-13    0.11096E-14    0.00000E+00   -0.12574E-14    0.30393E-09    0.62988E-14    0.22752E-15
+  4831    0.29478E-13    0.11063E-14    0.00000E+00   -0.12607E-14    0.30374E-09    0.62844E-14    0.22515E-15
+  4832    0.29418E-13    0.11030E-14    0.00000E+00   -0.12638E-14    0.30355E-09    0.62697E-14    0.22274E-15
+  4833    0.29360E-13    0.10996E-14    0.00000E+00   -0.12670E-14    0.30335E-09    0.62546E-14    0.22029E-15
+  4834    0.29305E-13    0.10962E-14    0.00000E+00   -0.12700E-14    0.30316E-09    0.62390E-14    0.21781E-15
+  4835    0.29248E-13    0.10928E-14    0.00000E+00   -0.12731E-14    0.30297E-09    0.62229E-14    0.21529E-15
+  4836    0.29189E-13    0.10893E-14    0.00000E+00   -0.12760E-14    0.30278E-09    0.62066E-14    0.21273E-15
+  4837    0.29134E-13    0.10859E-14    0.00000E+00   -0.12788E-14    0.30258E-09    0.61904E-14    0.21012E-15
+  4838    0.29078E-13    0.10825E-14    0.00000E+00   -0.12815E-14    0.30239E-09    0.61745E-14    0.20745E-15
+  4839    0.29023E-13    0.10789E-14    0.00000E+00   -0.12842E-14    0.30220E-09    0.61590E-14    0.20474E-15
+  4840    0.28968E-13    0.10754E-14    0.00000E+00   -0.12866E-14    0.30201E-09    0.61444E-14    0.20197E-15
+  4841    0.28914E-13    0.10719E-14    0.00000E+00   -0.12891E-14    0.30182E-09    0.61306E-14    0.19914E-15
+  4842    0.28860E-13    0.10684E-14    0.00000E+00   -0.12915E-14    0.30163E-09    0.61176E-14    0.19626E-15
+  4843    0.28808E-13    0.10646E-14    0.00000E+00   -0.12938E-14    0.30143E-09    0.61051E-14    0.19333E-15
+  4844    0.28756E-13    0.10611E-14    0.00000E+00   -0.12959E-14    0.30124E-09    0.60930E-14    0.19036E-15
+  4845    0.28705E-13    0.10575E-14    0.00000E+00   -0.12981E-14    0.30105E-09    0.60811E-14    0.18737E-15
+  4846    0.28653E-13    0.10538E-14    0.00000E+00   -0.13001E-14    0.30086E-09    0.60692E-14    0.18434E-15
+  4847    0.28602E-13    0.10501E-14    0.00000E+00   -0.13019E-14    0.30067E-09    0.60570E-14    0.18131E-15
+  4848    0.28552E-13    0.10465E-14    0.00000E+00   -0.13037E-14    0.30048E-09    0.60445E-14    0.17826E-15
+  4849    0.28501E-13    0.10428E-14    0.00000E+00   -0.13054E-14    0.30029E-09    0.60318E-14    0.17520E-15
+  4850    0.28452E-13    0.10390E-14    0.00000E+00   -0.13070E-14    0.30010E-09    0.60190E-14    0.17213E-15
+  4851    0.28404E-13    0.10353E-14    0.00000E+00   -0.13087E-14    0.29991E-09    0.60065E-14    0.16905E-15
+  4852    0.28355E-13    0.10315E-14    0.00000E+00   -0.13102E-14    0.29972E-09    0.59945E-14    0.16597E-15
+  4853    0.28307E-13    0.10277E-14    0.00000E+00   -0.13113E-14    0.29953E-09    0.59831E-14    0.16288E-15
+  4854    0.28259E-13    0.10239E-14    0.00000E+00   -0.13123E-14    0.29934E-09    0.59726E-14    0.15978E-15
+  4855    0.28212E-13    0.10201E-14    0.00000E+00   -0.13134E-14    0.29915E-09    0.59632E-14    0.15668E-15
+  4856    0.28165E-13    0.10163E-14    0.00000E+00   -0.13143E-14    0.29896E-09    0.59546E-14    0.15357E-15
+  4857    0.28117E-13    0.10125E-14    0.00000E+00   -0.13152E-14    0.29877E-09    0.59467E-14    0.15046E-15
+  4858    0.28071E-13    0.10087E-14    0.00000E+00   -0.13160E-14    0.29858E-09    0.59391E-14    0.14734E-15
+  4859    0.28025E-13    0.10048E-14    0.00000E+00   -0.13166E-14    0.29839E-09    0.59317E-14    0.14421E-15
+  4860    0.27980E-13    0.10009E-14    0.00000E+00   -0.13172E-14    0.29820E-09    0.59242E-14    0.14107E-15
+  4861    0.27935E-13    0.99702E-15    0.00000E+00   -0.13177E-14    0.29801E-09    0.59164E-14    0.13792E-15
+  4862    0.27890E-13    0.99322E-15    0.00000E+00   -0.13179E-14    0.29782E-09    0.59080E-14    0.13476E-15
+  4863    0.27845E-13    0.98930E-15    0.00000E+00   -0.13181E-14    0.29763E-09    0.58993E-14    0.13159E-15
+  4864    0.27801E-13    0.98539E-15    0.00000E+00   -0.13183E-14    0.29744E-09    0.58904E-14    0.12841E-15
+  4865    0.27758E-13    0.98148E-15    0.00000E+00   -0.13183E-14    0.29725E-09    0.58815E-14    0.12522E-15
+  4866    0.27713E-13    0.97746E-15    0.00000E+00   -0.13183E-14    0.29707E-09    0.58729E-14    0.12203E-15
+  4867    0.27670E-13    0.97356E-15    0.00000E+00   -0.13181E-14    0.29688E-09    0.58647E-14    0.11882E-15
+  4868    0.27626E-13    0.96956E-15    0.00000E+00   -0.13178E-14    0.29669E-09    0.58572E-14    0.11560E-15
+  4869    0.27583E-13    0.96567E-15    0.00000E+00   -0.13174E-14    0.29650E-09    0.58506E-14    0.11237E-15
+  4870    0.27542E-13    0.96168E-15    0.00000E+00   -0.13168E-14    0.29631E-09    0.58446E-14    0.10912E-15
+  4871    0.27500E-13    0.95770E-15    0.00000E+00   -0.13162E-14    0.29612E-09    0.58391E-14    0.10585E-15
+  4872    0.27456E-13    0.95372E-15    0.00000E+00   -0.13154E-14    0.29594E-09    0.58340E-14    0.10256E-15
+  4873    0.27414E-13    0.94965E-15    0.00000E+00   -0.13145E-14    0.29575E-09    0.58291E-14    0.99230E-16
+  4874    0.27373E-13    0.94569E-15    0.00000E+00   -0.13136E-14    0.29556E-09    0.58243E-14    0.95867E-16
+  4875    0.27330E-13    0.94175E-15    0.00000E+00   -0.13126E-14    0.29537E-09    0.58193E-14    0.92462E-16
+  4876    0.27289E-13    0.93771E-15    0.00000E+00   -0.13115E-14    0.29519E-09    0.58140E-14    0.89012E-16
+  4877    0.27248E-13    0.93369E-15    0.00000E+00   -0.13100E-14    0.29500E-09    0.58086E-14    0.85526E-16
+  4878    0.27207E-13    0.92974E-15    0.00000E+00   -0.13087E-14    0.29481E-09    0.58031E-14    0.82013E-16
+  4879    0.27166E-13    0.92575E-15    0.00000E+00   -0.13072E-14    0.29462E-09    0.57979E-14    0.78486E-16
+  4880    0.27124E-13    0.92176E-15    0.00000E+00   -0.13057E-14    0.29444E-09    0.57930E-14    0.74954E-16
+  4881    0.27084E-13    0.91777E-15    0.00000E+00   -0.13040E-14    0.29425E-09    0.57886E-14    0.71428E-16
+  4882    0.27044E-13    0.91378E-15    0.00000E+00   -0.13021E-14    0.29406E-09    0.57848E-14    0.67920E-16
+  4883    0.27003E-13    0.90979E-15    0.00000E+00   -0.13002E-14    0.29388E-09    0.57818E-14    0.64437E-16
+  4884    0.26962E-13    0.90579E-15    0.00000E+00   -0.12982E-14    0.29369E-09    0.57795E-14    0.60980E-16
+  4885    0.26922E-13    0.90180E-15    0.00000E+00   -0.12961E-14    0.29350E-09    0.57776E-14    0.57547E-16
+  4886    0.26881E-13    0.89781E-15    0.00000E+00   -0.12938E-14    0.29332E-09    0.57762E-14    0.54137E-16
+  4887    0.26842E-13    0.89381E-15    0.00000E+00   -0.12915E-14    0.29313E-09    0.57750E-14    0.50749E-16
+  4888    0.26801E-13    0.88984E-15    0.00000E+00   -0.12891E-14    0.29295E-09    0.57738E-14    0.47380E-16
+  4889    0.26763E-13    0.88585E-15    0.00000E+00   -0.12865E-14    0.29276E-09    0.57726E-14    0.44029E-16
+  4890    0.26723E-13    0.88187E-15    0.00000E+00   -0.12839E-14    0.29257E-09    0.57712E-14    0.40695E-16
+  4891    0.26683E-13    0.87790E-15    0.00000E+00   -0.12812E-14    0.29239E-09    0.57697E-14    0.37375E-16
+  4892    0.26643E-13    0.87394E-15    0.00000E+00   -0.12784E-14    0.29220E-09    0.57681E-14    0.34068E-16
+  4893    0.26604E-13    0.86997E-15    0.00000E+00   -0.12755E-14    0.29202E-09    0.57666E-14    0.30773E-16
+  4894    0.26564E-13    0.86603E-15    0.00000E+00   -0.12724E-14    0.29183E-09    0.57653E-14    0.27488E-16
+  4895    0.26525E-13    0.86209E-15    0.00000E+00   -0.12693E-14    0.29165E-09    0.57643E-14    0.24212E-16
+  4896    0.26486E-13    0.85815E-15    0.00000E+00   -0.12660E-14    0.29146E-09    0.57636E-14    0.20942E-16
+  4897    0.26447E-13    0.85423E-15    0.00000E+00   -0.12627E-14    0.29128E-09    0.57634E-14    0.17679E-16
+  4898    0.26407E-13    0.85031E-15    0.00000E+00   -0.12594E-14    0.29109E-09    0.57635E-14    0.14421E-16
+  4899    0.26367E-13    0.84640E-15    0.00000E+00   -0.12559E-14    0.29091E-09    0.57639E-14    0.11171E-16
+  4900    0.26329E-13    0.84250E-15    0.00000E+00   -0.12523E-14    0.29072E-09    0.57646E-14    0.79303E-17
+  4901    0.26289E-13    0.83861E-15    0.00000E+00   -0.12485E-14    0.29054E-09    0.57653E-14    0.46988E-17
+  4902    0.26249E-13    0.83474E-15    0.00000E+00   -0.12448E-14    0.29035E-09    0.57662E-14    0.14780E-17
+  4903    0.26210E-13    0.83087E-15    0.00000E+00   -0.12410E-14    0.29017E-09    0.57669E-14   -0.17309E-17
+  4904    0.26170E-13    0.82702E-15    0.00000E+00   -0.12368E-14    0.28998E-09    0.57676E-14   -0.49280E-17
+  4905    0.26130E-13    0.82317E-15    0.00000E+00   -0.12328E-14    0.28980E-09    0.57682E-14   -0.81181E-17
+  4906    0.26092E-13    0.81934E-15    0.00000E+00   -0.12287E-14    0.28962E-09    0.57689E-14   -0.11307E-16
+  4907    0.26053E-13    0.81553E-15    0.00000E+00   -0.12244E-14    0.28943E-09    0.57698E-14   -0.14500E-16
+  4908    0.26013E-13    0.81172E-15    0.00000E+00   -0.12204E-14    0.28925E-09    0.57709E-14   -0.17704E-16
+  4909    0.25973E-13    0.80794E-15    0.00000E+00   -0.12160E-14    0.28907E-09    0.57723E-14   -0.20923E-16
+  4910    0.25933E-13    0.80417E-15    0.00000E+00   -0.12117E-14    0.28888E-09    0.57742E-14   -0.24165E-16
+  4911    0.25894E-13    0.80041E-15    0.00000E+00   -0.12071E-14    0.28870E-09    0.57766E-14   -0.27432E-16
+  4912    0.25854E-13    0.79668E-15    0.00000E+00   -0.12026E-14    0.28852E-09    0.57794E-14   -0.30713E-16
+  4913    0.25815E-13    0.79295E-15    0.00000E+00   -0.11979E-14    0.28833E-09    0.57827E-14   -0.33996E-16
+  4914    0.25775E-13    0.78925E-15    0.00000E+00   -0.11932E-14    0.28815E-09    0.57863E-14   -0.37269E-16
+  4915    0.25735E-13    0.78556E-15    0.00000E+00   -0.11885E-14    0.28797E-09    0.57901E-14   -0.40519E-16
+  4916    0.25695E-13    0.78189E-15    0.00000E+00   -0.11836E-14    0.28778E-09    0.57942E-14   -0.43732E-16
+  4917    0.25654E-13    0.77823E-15    0.00000E+00   -0.11786E-14    0.28760E-09    0.57983E-14   -0.46895E-16
+  4918    0.25615E-13    0.77459E-15    0.00000E+00   -0.11737E-14    0.28742E-09    0.58026E-14   -0.50000E-16
+  4919    0.25574E-13    0.77097E-15    0.00000E+00   -0.11687E-14    0.28724E-09    0.58070E-14   -0.53048E-16
+  4920    0.25534E-13    0.76738E-15    0.00000E+00   -0.11635E-14    0.28705E-09    0.58114E-14   -0.56044E-16
+  4921    0.25493E-13    0.76380E-15    0.00000E+00   -0.11582E-14    0.28687E-09    0.58159E-14   -0.58993E-16
+  4922    0.25452E-13    0.76024E-15    0.00000E+00   -0.11530E-14    0.28669E-09    0.58205E-14   -0.61900E-16
+  4923    0.25410E-13    0.75670E-15    0.00000E+00   -0.11477E-14    0.28651E-09    0.58252E-14   -0.64771E-16
+  4924    0.25371E-13    0.75318E-15    0.00000E+00   -0.11424E-14    0.28633E-09    0.58299E-14   -0.67609E-16
+  4925    0.25329E-13    0.74968E-15    0.00000E+00   -0.11368E-14    0.28614E-09    0.58348E-14   -0.70420E-16
+  4926    0.25288E-13    0.74621E-15    0.00000E+00   -0.11314E-14    0.28596E-09    0.58398E-14   -0.73205E-16
+  4927    0.25247E-13    0.74275E-15    0.00000E+00   -0.11259E-14    0.28578E-09    0.58450E-14   -0.75965E-16
+  4928    0.25207E-13    0.73932E-15    0.00000E+00   -0.11203E-14    0.28560E-09    0.58503E-14   -0.78701E-16
+  4929    0.25165E-13    0.73591E-15    0.00000E+00   -0.11147E-14    0.28542E-09    0.58558E-14   -0.81415E-16
+  4930    0.25123E-13    0.73252E-15    0.00000E+00   -0.11090E-14    0.28524E-09    0.58615E-14   -0.84106E-16
+  4931    0.25082E-13    0.72916E-15    0.00000E+00   -0.11033E-14    0.28506E-09    0.58674E-14   -0.86776E-16
+  4932    0.25041E-13    0.72582E-15    0.00000E+00   -0.10975E-14    0.28488E-09    0.58735E-14   -0.89425E-16
+  4933    0.24998E-13    0.72250E-15    0.00000E+00   -0.10917E-14    0.28469E-09    0.58798E-14   -0.92054E-16
+  4934    0.24956E-13    0.71921E-15    0.00000E+00   -0.10858E-14    0.28451E-09    0.58862E-14   -0.94661E-16
+  4935    0.24915E-13    0.71594E-15    0.00000E+00   -0.10800E-14    0.28433E-09    0.58927E-14   -0.97246E-16
+  4936    0.24872E-13    0.71269E-15    0.00000E+00   -0.10740E-14    0.28415E-09    0.58992E-14   -0.99809E-16
+  4937    0.24830E-13    0.70946E-15    0.00000E+00   -0.10681E-14    0.28397E-09    0.59057E-14   -0.10235E-15
+  4938    0.24787E-13    0.70627E-15    0.00000E+00   -0.10621E-14    0.28379E-09    0.59120E-14   -0.10486E-15
+  4939    0.24745E-13    0.70307E-15    0.00000E+00   -0.10560E-14    0.28361E-09    0.59182E-14   -0.10735E-15
+  4940    0.24702E-13    0.69993E-15    0.00000E+00   -0.10500E-14    0.28343E-09    0.59243E-14   -0.10982E-15
+  4941    0.24659E-13    0.69679E-15    0.00000E+00   -0.10439E-14    0.28325E-09    0.59306E-14   -0.11227E-15
+  4942    0.24616E-13    0.69370E-15    0.00000E+00   -0.10378E-14    0.28307E-09    0.59369E-14   -0.11471E-15
+  4943    0.24573E-13    0.69063E-15    0.00000E+00   -0.10317E-14    0.28289E-09    0.59436E-14   -0.11713E-15
+  4944    0.24530E-13    0.68759E-15    0.00000E+00   -0.10255E-14    0.28271E-09    0.59507E-14   -0.11955E-15
+  4945    0.24486E-13    0.68460E-15    0.00000E+00   -0.10194E-14    0.28253E-09    0.59584E-14   -0.12195E-15
+  4946    0.24443E-13    0.68159E-15    0.00000E+00   -0.10130E-14    0.28235E-09    0.59666E-14   -0.12436E-15
+  4947    0.24400E-13    0.67863E-15    0.00000E+00   -0.10069E-14    0.28218E-09    0.59754E-14   -0.12675E-15
+  4948    0.24356E-13    0.67570E-15    0.00000E+00   -0.10006E-14    0.28200E-09    0.59845E-14   -0.12912E-15
+  4949    0.24311E-13    0.67279E-15    0.00000E+00   -0.99448E-15    0.28182E-09    0.59937E-14   -0.13145E-15
+  4950    0.24267E-13    0.66991E-15    0.00000E+00   -0.98816E-15    0.28164E-09    0.60031E-14   -0.13374E-15
+  4951    0.24223E-13    0.66706E-15    0.00000E+00   -0.98194E-15    0.28146E-09    0.60122E-14   -0.13596E-15
+  4952    0.24179E-13    0.66422E-15    0.00000E+00   -0.97556E-15    0.28128E-09    0.60212E-14   -0.13812E-15
+  4953    0.24133E-13    0.66141E-15    0.00000E+00   -0.96924E-15    0.28110E-09    0.60297E-14   -0.14020E-15
+  4954    0.24089E-13    0.65864E-15    0.00000E+00   -0.96294E-15    0.28092E-09    0.60379E-14   -0.14221E-15
+  4955    0.24045E-13    0.65590E-15    0.00000E+00   -0.95666E-15    0.28075E-09    0.60459E-14   -0.14415E-15
+  4956    0.23999E-13    0.65317E-15    0.00000E+00   -0.95029E-15    0.28057E-09    0.60539E-14   -0.14604E-15
+  4957    0.23954E-13    0.65049E-15    0.00000E+00   -0.94394E-15    0.28039E-09    0.60620E-14   -0.14787E-15
+  4958    0.23909E-13    0.64782E-15    0.00000E+00   -0.93762E-15    0.28021E-09    0.60702E-14   -0.14967E-15
+  4959    0.23864E-13    0.64518E-15    0.00000E+00   -0.93131E-15    0.28003E-09    0.60788E-14   -0.15143E-15
+  4960    0.23818E-13    0.64258E-15    0.00000E+00   -0.92502E-15    0.27986E-09    0.60878E-14   -0.15317E-15
+  4961    0.23773E-13    0.64000E-15    0.00000E+00   -0.91865E-15    0.27968E-09    0.60971E-14   -0.15488E-15
+  4962    0.23727E-13    0.63744E-15    0.00000E+00   -0.91240E-15    0.27950E-09    0.61066E-14   -0.15657E-15
+  4963    0.23681E-13    0.63492E-15    0.00000E+00   -0.90606E-15    0.27932E-09    0.61162E-14   -0.15822E-15
+  4964    0.23636E-13    0.63242E-15    0.00000E+00   -0.89975E-15    0.27915E-09    0.61257E-14   -0.15985E-15
+  4965    0.23590E-13    0.62996E-15    0.00000E+00   -0.89343E-15    0.27897E-09    0.61349E-14   -0.16145E-15
+  4966    0.23544E-13    0.62751E-15    0.00000E+00   -0.88716E-15    0.27879E-09    0.61439E-14   -0.16302E-15
+  4967    0.23497E-13    0.62510E-15    0.00000E+00   -0.88088E-15    0.27861E-09    0.61524E-14   -0.16457E-15
+  4968    0.23451E-13    0.62272E-15    0.00000E+00   -0.87464E-15    0.27844E-09    0.61606E-14   -0.16608E-15
+  4969    0.23405E-13    0.62036E-15    0.00000E+00   -0.86839E-15    0.27826E-09    0.61686E-14   -0.16756E-15
+  4970    0.23357E-13    0.61803E-15    0.00000E+00   -0.86218E-15    0.27808E-09    0.61766E-14   -0.16902E-15
+  4971    0.23311E-13    0.61573E-15    0.00000E+00   -0.85598E-15    0.27791E-09    0.61846E-14   -0.17044E-15
+  4972    0.23263E-13    0.61345E-15    0.00000E+00   -0.84980E-15    0.27773E-09    0.61929E-14   -0.17184E-15
+  4973    0.23217E-13    0.61121E-15    0.00000E+00   -0.84363E-15    0.27756E-09    0.62016E-14   -0.17321E-15
+  4974    0.23169E-13    0.60899E-15    0.00000E+00   -0.83751E-15    0.27738E-09    0.62107E-14   -0.17456E-15
+  4975    0.23122E-13    0.60680E-15    0.00000E+00   -0.83140E-15    0.27720E-09    0.62202E-14   -0.17587E-15
+  4976    0.23075E-13    0.60463E-15    0.00000E+00   -0.82531E-15    0.27703E-09    0.62299E-14   -0.17716E-15
+  4977    0.23027E-13    0.60250E-15    0.00000E+00   -0.81924E-15    0.27685E-09    0.62399E-14   -0.17841E-15
+  4978    0.22980E-13    0.60040E-15    0.00000E+00   -0.81321E-15    0.27668E-09    0.62498E-14   -0.17963E-15
+  4979    0.22934E-13    0.59832E-15    0.00000E+00   -0.80720E-15    0.27650E-09    0.62597E-14   -0.18082E-15
+  4980    0.22886E-13    0.59626E-15    0.00000E+00   -0.80120E-15    0.27632E-09    0.62693E-14   -0.18198E-15
+  4981    0.22838E-13    0.59424E-15    0.00000E+00   -0.79525E-15    0.27615E-09    0.62787E-14   -0.18310E-15
+  4982    0.22791E-13    0.59224E-15    0.00000E+00   -0.78935E-15    0.27597E-09    0.62879E-14   -0.18418E-15
+  4983    0.22743E-13    0.59027E-15    0.00000E+00   -0.78347E-15    0.27580E-09    0.62970E-14   -0.18522E-15
+  4984    0.22694E-13    0.58832E-15    0.00000E+00   -0.77763E-15    0.27562E-09    0.63061E-14   -0.18620E-15
+  4985    0.22647E-13    0.58639E-15    0.00000E+00   -0.77181E-15    0.27545E-09    0.63153E-14   -0.18713E-15
+  4986    0.22598E-13    0.58450E-15    0.00000E+00   -0.76604E-15    0.27527E-09    0.63247E-14   -0.18800E-15
+  4987    0.22550E-13    0.58263E-15    0.00000E+00   -0.76031E-15    0.27510E-09    0.63345E-14   -0.18879E-15
+  4988    0.22503E-13    0.58080E-15    0.00000E+00   -0.75462E-15    0.27492E-09    0.63446E-14   -0.18952E-15
+  4989    0.22454E-13    0.57898E-15    0.00000E+00   -0.74898E-15    0.27475E-09    0.63551E-14   -0.19019E-15
+  4990    0.22405E-13    0.57718E-15    0.00000E+00   -0.74337E-15    0.27457E-09    0.63656E-14   -0.19079E-15
+  4991    0.22357E-13    0.57543E-15    0.00000E+00   -0.73780E-15    0.27440E-09    0.63761E-14   -0.19134E-15
+  4992    0.22309E-13    0.57369E-15    0.00000E+00   -0.73229E-15    0.27423E-09    0.63864E-14   -0.19186E-15
+  4993    0.22260E-13    0.57198E-15    0.00000E+00   -0.72682E-15    0.27405E-09    0.63963E-14   -0.19233E-15
+  4994    0.22211E-13    0.57028E-15    0.00000E+00   -0.72137E-15    0.27388E-09    0.64057E-14   -0.19278E-15
+  4995    0.22163E-13    0.56861E-15    0.00000E+00   -0.71601E-15    0.27370E-09    0.64144E-14   -0.19321E-15
+  4996    0.22114E-13    0.56698E-15    0.00000E+00   -0.71067E-15    0.27353E-09    0.64226E-14   -0.19361E-15
+  4997    0.22068E-13    0.56536E-15    0.00000E+00   -0.70537E-15    0.27336E-09    0.64305E-14   -0.19399E-15
+  4998    0.22018E-13    0.56377E-15    0.00000E+00   -0.70013E-15    0.27318E-09    0.64382E-14   -0.19434E-15
+  4999    0.21969E-13    0.56219E-15    0.00000E+00   -0.69492E-15    0.27301E-09    0.64461E-14   -0.19467E-15
+  5000    0.21919E-13    0.56066E-15    0.00000E+00   -0.68979E-15    0.27284E-09    0.64542E-14   -0.19496E-15
+  5001    0.21871E-13    0.55913E-15    0.00000E+00   -0.68469E-15    0.27266E-09    0.64628E-14   -0.19522E-15
+  5002    0.21821E-13    0.55763E-15    0.00000E+00   -0.67965E-15    0.27249E-09    0.64721E-14   -0.19545E-15
+  5003    0.21773E-13    0.55616E-15    0.00000E+00   -0.67467E-15    0.27232E-09    0.64818E-14   -0.19564E-15
+  5004    0.21724E-13    0.55470E-15    0.00000E+00   -0.66973E-15    0.27214E-09    0.64918E-14   -0.19580E-15
+  5005    0.21675E-13    0.55327E-15    0.00000E+00   -0.66486E-15    0.27197E-09    0.65019E-14   -0.19594E-15
+  5006    0.21627E-13    0.55186E-15    0.00000E+00   -0.66003E-15    0.27180E-09    0.65117E-14   -0.19604E-15
+  5007    0.21579E-13    0.55046E-15    0.00000E+00   -0.65527E-15    0.27163E-09    0.65212E-14   -0.19613E-15
+  5008    0.21529E-13    0.54911E-15    0.00000E+00   -0.65057E-15    0.27145E-09    0.65300E-14   -0.19619E-15
+  5009    0.21481E-13    0.54776E-15    0.00000E+00   -0.64591E-15    0.27128E-09    0.65381E-14   -0.19623E-15
+  5010    0.21432E-13    0.54643E-15    0.00000E+00   -0.64131E-15    0.27111E-09    0.65455E-14   -0.19624E-15
+  5011    0.21382E-13    0.54513E-15    0.00000E+00   -0.63677E-15    0.27094E-09    0.65527E-14   -0.19622E-15
+  5012    0.21334E-13    0.54385E-15    0.00000E+00   -0.63230E-15    0.27077E-09    0.65597E-14   -0.19616E-15
+  5013    0.21285E-13    0.54260E-15    0.00000E+00   -0.62787E-15    0.27059E-09    0.65669E-14   -0.19606E-15
+  5014    0.21236E-13    0.54136E-15    0.00000E+00   -0.62351E-15    0.27042E-09    0.65744E-14   -0.19592E-15
+  5015    0.21187E-13    0.54013E-15    0.00000E+00   -0.61921E-15    0.27025E-09    0.65827E-14   -0.19572E-15
+  5016    0.21138E-13    0.53893E-15    0.00000E+00   -0.61496E-15    0.27008E-09    0.65917E-14   -0.19546E-15
+  5017    0.21090E-13    0.53774E-15    0.00000E+00   -0.61079E-15    0.26991E-09    0.66013E-14   -0.19515E-15
+  5018    0.21041E-13    0.53657E-15    0.00000E+00   -0.60666E-15    0.26974E-09    0.66112E-14   -0.19478E-15
+  5019    0.20992E-13    0.53542E-15    0.00000E+00   -0.60262E-15    0.26956E-09    0.66212E-14   -0.19436E-15
+  5020    0.20944E-13    0.53429E-15    0.00000E+00   -0.59861E-15    0.26939E-09    0.66309E-14   -0.19389E-15
+  5021    0.20895E-13    0.53318E-15    0.00000E+00   -0.59466E-15    0.26922E-09    0.66400E-14   -0.19338E-15
+  5022    0.20848E-13    0.53208E-15    0.00000E+00   -0.59078E-15    0.26905E-09    0.66483E-14   -0.19281E-15
+  5023    0.20799E-13    0.53099E-15    0.00000E+00   -0.58696E-15    0.26888E-09    0.66556E-14   -0.19220E-15
+  5024    0.20751E-13    0.52992E-15    0.00000E+00   -0.58321E-15    0.26871E-09    0.66620E-14   -0.19155E-15
+  5025    0.20704E-13    0.52889E-15    0.00000E+00   -0.57952E-15    0.26854E-09    0.66678E-14   -0.19086E-15
+  5026    0.20654E-13    0.52785E-15    0.00000E+00   -0.57588E-15    0.26837E-09    0.66732E-14   -0.19014E-15
+  5027    0.20606E-13    0.52684E-15    0.00000E+00   -0.57232E-15    0.26820E-09    0.66786E-14   -0.18939E-15
+  5028    0.20559E-13    0.52585E-15    0.00000E+00   -0.56881E-15    0.26803E-09    0.66842E-14   -0.18861E-15
+  5029    0.20510E-13    0.52485E-15    0.00000E+00   -0.56537E-15    0.26786E-09    0.66902E-14   -0.18780E-15
+  5030    0.20463E-13    0.52388E-15    0.00000E+00   -0.56197E-15    0.26769E-09    0.66969E-14   -0.18698E-15
+  5031    0.20415E-13    0.52294E-15    0.00000E+00   -0.55866E-15    0.26752E-09    0.67040E-14   -0.18614E-15
+  5032    0.20367E-13    0.52198E-15    0.00000E+00   -0.55540E-15    0.26735E-09    0.67114E-14   -0.18527E-15
+  5033    0.20320E-13    0.52105E-15    0.00000E+00   -0.55219E-15    0.26718E-09    0.67188E-14   -0.18438E-15
+  5034    0.20272E-13    0.52014E-15    0.00000E+00   -0.54907E-15    0.26701E-09    0.67260E-14   -0.18347E-15
+  5035    0.20225E-13    0.51923E-15    0.00000E+00   -0.54600E-15    0.26684E-09    0.67329E-14   -0.18253E-15
+  5036    0.20177E-13    0.51834E-15    0.00000E+00   -0.54300E-15    0.26667E-09    0.67391E-14   -0.18156E-15
+  5037    0.20129E-13    0.51746E-15    0.00000E+00   -0.54004E-15    0.26650E-09    0.67445E-14   -0.18057E-15
+  5038    0.20083E-13    0.51660E-15    0.00000E+00   -0.53717E-15    0.26633E-09    0.67493E-14   -0.17955E-15
+  5039    0.20036E-13    0.51575E-15    0.00000E+00   -0.53434E-15    0.26616E-09    0.67536E-14   -0.17851E-15
+  5040    0.19990E-13    0.51490E-15    0.00000E+00   -0.53157E-15    0.26599E-09    0.67578E-14   -0.17744E-15
+  5041    0.19942E-13    0.51406E-15    0.00000E+00   -0.52888E-15    0.26582E-09    0.67619E-14   -0.17636E-15
+  5042    0.19895E-13    0.51324E-15    0.00000E+00   -0.52625E-15    0.26565E-09    0.67662E-14   -0.17527E-15
+  5043    0.19848E-13    0.51243E-15    0.00000E+00   -0.52367E-15    0.26549E-09    0.67709E-14   -0.17416E-15
+  5044    0.19803E-13    0.51163E-15    0.00000E+00   -0.52116E-15    0.26532E-09    0.67761E-14   -0.17303E-15
+  5045    0.19756E-13    0.51083E-15    0.00000E+00   -0.51869E-15    0.26515E-09    0.67817E-14   -0.17189E-15
+  5046    0.19709E-13    0.51006E-15    0.00000E+00   -0.51630E-15    0.26498E-09    0.67876E-14   -0.17072E-15
+  5047    0.19664E-13    0.50928E-15    0.00000E+00   -0.51396E-15    0.26481E-09    0.67935E-14   -0.16952E-15
+  5048    0.19616E-13    0.50851E-15    0.00000E+00   -0.51168E-15    0.26464E-09    0.67993E-14   -0.16828E-15
+  5049    0.19571E-13    0.50775E-15    0.00000E+00   -0.50945E-15    0.26448E-09    0.68048E-14   -0.16699E-15
+  5050    0.19525E-13    0.50700E-15    0.00000E+00   -0.50730E-15    0.26431E-09    0.68097E-14   -0.16565E-15
+  5051    0.19480E-13    0.50625E-15    0.00000E+00   -0.50519E-15    0.26414E-09    0.68141E-14   -0.16424E-15
+  5052    0.19434E-13    0.50551E-15    0.00000E+00   -0.50315E-15    0.26397E-09    0.68179E-14   -0.16278E-15
+  5053    0.19388E-13    0.50479E-15    0.00000E+00   -0.50117E-15    0.26380E-09    0.68213E-14   -0.16128E-15
+  5054    0.19342E-13    0.50407E-15    0.00000E+00   -0.49923E-15    0.26364E-09    0.68244E-14   -0.15973E-15
+  5055    0.19298E-13    0.50335E-15    0.00000E+00   -0.49736E-15    0.26347E-09    0.68273E-14   -0.15814E-15
+  5056    0.19251E-13    0.50264E-15    0.00000E+00   -0.49553E-15    0.26330E-09    0.68303E-14   -0.15653E-15
+  5057    0.19208E-13    0.50194E-15    0.00000E+00   -0.49376E-15    0.26314E-09    0.68334E-14   -0.15490E-15
+  5058    0.19163E-13    0.50124E-15    0.00000E+00   -0.49204E-15    0.26297E-09    0.68367E-14   -0.15325E-15
+  5059    0.19118E-13    0.50054E-15    0.00000E+00   -0.49038E-15    0.26280E-09    0.68402E-14   -0.15159E-15
+  5060    0.19074E-13    0.49984E-15    0.00000E+00   -0.48878E-15    0.26263E-09    0.68437E-14   -0.14991E-15
+  5061    0.19030E-13    0.49916E-15    0.00000E+00   -0.48722E-15    0.26247E-09    0.68471E-14   -0.14822E-15
+  5062    0.18986E-13    0.49848E-15    0.00000E+00   -0.48572E-15    0.26230E-09    0.68503E-14   -0.14652E-15
+  5063    0.18941E-13    0.49781E-15    0.00000E+00   -0.48427E-15    0.26213E-09    0.68531E-14   -0.14480E-15
+  5064    0.18898E-13    0.49713E-15    0.00000E+00   -0.48287E-15    0.26197E-09    0.68554E-14   -0.14306E-15
+  5065    0.18854E-13    0.49645E-15    0.00000E+00   -0.48153E-15    0.26180E-09    0.68572E-14   -0.14132E-15
+  5066    0.18810E-13    0.49579E-15    0.00000E+00   -0.48021E-15    0.26163E-09    0.68585E-14   -0.13955E-15
+  5067    0.18767E-13    0.49512E-15    0.00000E+00   -0.47896E-15    0.26147E-09    0.68595E-14   -0.13778E-15
+  5068    0.18724E-13    0.49446E-15    0.00000E+00   -0.47776E-15    0.26130E-09    0.68603E-14   -0.13599E-15
+  5069    0.18679E-13    0.49379E-15    0.00000E+00   -0.47661E-15    0.26114E-09    0.68611E-14   -0.13418E-15
+  5070    0.18638E-13    0.49313E-15    0.00000E+00   -0.47549E-15    0.26097E-09    0.68619E-14   -0.13236E-15
+  5071    0.18596E-13    0.49247E-15    0.00000E+00   -0.47442E-15    0.26080E-09    0.68630E-14   -0.13053E-15
+  5072    0.18552E-13    0.49181E-15    0.00000E+00   -0.47340E-15    0.26064E-09    0.68643E-14   -0.12868E-15
+  5073    0.18510E-13    0.49115E-15    0.00000E+00   -0.47243E-15    0.26047E-09    0.68658E-14   -0.12682E-15
+  5074    0.18468E-13    0.49049E-15    0.00000E+00   -0.47150E-15    0.26031E-09    0.68675E-14   -0.12495E-15
+  5075    0.18426E-13    0.48983E-15    0.00000E+00   -0.47060E-15    0.26014E-09    0.68691E-14   -0.12306E-15
+  5076    0.18386E-13    0.48917E-15    0.00000E+00   -0.46977E-15    0.25998E-09    0.68706E-14   -0.12117E-15
+  5077    0.18343E-13    0.48852E-15    0.00000E+00   -0.46897E-15    0.25981E-09    0.68718E-14   -0.11927E-15
+  5078    0.18301E-13    0.48786E-15    0.00000E+00   -0.46818E-15    0.25965E-09    0.68725E-14   -0.11737E-15
+  5079    0.18260E-13    0.48718E-15    0.00000E+00   -0.46746E-15    0.25948E-09    0.68728E-14   -0.11546E-15
+  5080    0.18220E-13    0.48652E-15    0.00000E+00   -0.46676E-15    0.25932E-09    0.68727E-14   -0.11354E-15
+  5081    0.18179E-13    0.48587E-15    0.00000E+00   -0.46612E-15    0.25915E-09    0.68722E-14   -0.11160E-15
+  5082    0.18137E-13    0.48519E-15    0.00000E+00   -0.46549E-15    0.25899E-09    0.68714E-14   -0.10964E-15
+  5083    0.18096E-13    0.48453E-15    0.00000E+00   -0.46492E-15    0.25882E-09    0.68706E-14   -0.10766E-15
+  5084    0.18056E-13    0.48386E-15    0.00000E+00   -0.46437E-15    0.25866E-09    0.68697E-14   -0.10564E-15
+  5085    0.18015E-13    0.48320E-15    0.00000E+00   -0.46386E-15    0.25850E-09    0.68689E-14   -0.10358E-15
+  5086    0.17974E-13    0.48252E-15    0.00000E+00   -0.46337E-15    0.25833E-09    0.68682E-14   -0.10148E-15
+  5087    0.17934E-13    0.48185E-15    0.00000E+00   -0.46293E-15    0.25817E-09    0.68676E-14   -0.99338E-16
+  5088    0.17895E-13    0.48117E-15    0.00000E+00   -0.46253E-15    0.25800E-09    0.68669E-14   -0.97171E-16
+  5089    0.17855E-13    0.48050E-15    0.00000E+00   -0.46214E-15    0.25784E-09    0.68661E-14   -0.94982E-16
+  5090    0.17816E-13    0.47982E-15    0.00000E+00   -0.46180E-15    0.25768E-09    0.68651E-14   -0.92780E-16
+  5091    0.17776E-13    0.47913E-15    0.00000E+00   -0.46147E-15    0.25751E-09    0.68638E-14   -0.90571E-16
+  5092    0.17737E-13    0.47843E-15    0.00000E+00   -0.46118E-15    0.25735E-09    0.68620E-14   -0.88365E-16
+  5093    0.17698E-13    0.47774E-15    0.00000E+00   -0.46090E-15    0.25718E-09    0.68597E-14   -0.86166E-16
+  5094    0.17659E-13    0.47703E-15    0.00000E+00   -0.46068E-15    0.25702E-09    0.68570E-14   -0.83976E-16
+  5095    0.17622E-13    0.47633E-15    0.00000E+00   -0.46046E-15    0.25686E-09    0.68539E-14   -0.81790E-16
+  5096    0.17582E-13    0.47562E-15    0.00000E+00   -0.46026E-15    0.25669E-09    0.68505E-14   -0.79609E-16
+  5097    0.17544E-13    0.47491E-15    0.00000E+00   -0.46010E-15    0.25653E-09    0.68470E-14   -0.77429E-16
+  5098    0.17507E-13    0.47418E-15    0.00000E+00   -0.45995E-15    0.25637E-09    0.68433E-14   -0.75249E-16
+  5099    0.17468E-13    0.47346E-15    0.00000E+00   -0.45983E-15    0.25621E-09    0.68396E-14   -0.73067E-16
+  5100    0.17430E-13    0.47273E-15    0.00000E+00   -0.45973E-15    0.25604E-09    0.68360E-14   -0.70881E-16
+  5101    0.17392E-13    0.47200E-15    0.00000E+00   -0.45964E-15    0.25588E-09    0.68324E-14   -0.68691E-16
+  5102    0.17356E-13    0.47126E-15    0.00000E+00   -0.45958E-15    0.25572E-09    0.68288E-14   -0.66497E-16
+  5103    0.17318E-13    0.47051E-15    0.00000E+00   -0.45953E-15    0.25556E-09    0.68251E-14   -0.64300E-16
+  5104    0.17280E-13    0.46975E-15    0.00000E+00   -0.45950E-15    0.25539E-09    0.68213E-14   -0.62101E-16
+  5105    0.17243E-13    0.46900E-15    0.00000E+00   -0.45949E-15    0.25523E-09    0.68174E-14   -0.59898E-16
+  5106    0.17206E-13    0.46824E-15    0.00000E+00   -0.45950E-15    0.25507E-09    0.68133E-14   -0.57694E-16
+  5107    0.17169E-13    0.46746E-15    0.00000E+00   -0.45950E-15    0.25491E-09    0.68090E-14   -0.55488E-16
+  5108    0.17133E-13    0.46668E-15    0.00000E+00   -0.45955E-15    0.25474E-09    0.68045E-14   -0.53280E-16
+  5109    0.17097E-13    0.46590E-15    0.00000E+00   -0.45958E-15    0.25458E-09    0.67999E-14   -0.51072E-16
+  5110    0.17060E-13    0.46512E-15    0.00000E+00   -0.45963E-15    0.25442E-09    0.67951E-14   -0.48864E-16
+  5111    0.17023E-13    0.46432E-15    0.00000E+00   -0.45970E-15    0.25426E-09    0.67902E-14   -0.46657E-16
+  5112    0.16987E-13    0.46353E-15    0.00000E+00   -0.45978E-15    0.25410E-09    0.67852E-14   -0.44451E-16
+  5113    0.16952E-13    0.46271E-15    0.00000E+00   -0.45987E-15    0.25394E-09    0.67801E-14   -0.42247E-16
+  5114    0.16915E-13    0.46189E-15    0.00000E+00   -0.45997E-15    0.25377E-09    0.67749E-14   -0.40045E-16
+  5115    0.16879E-13    0.46107E-15    0.00000E+00   -0.46006E-15    0.25361E-09    0.67697E-14   -0.37844E-16
+  5116    0.16843E-13    0.46024E-15    0.00000E+00   -0.46017E-15    0.25345E-09    0.67644E-14   -0.35640E-16
+  5117    0.16809E-13    0.45940E-15    0.00000E+00   -0.46029E-15    0.25329E-09    0.67590E-14   -0.33433E-16
+  5118    0.16773E-13    0.45856E-15    0.00000E+00   -0.46040E-15    0.25313E-09    0.67535E-14   -0.31218E-16
+  5119    0.16739E-13    0.45771E-15    0.00000E+00   -0.46052E-15    0.25297E-09    0.67479E-14   -0.28995E-16
+  5120    0.16704E-13    0.45685E-15    0.00000E+00   -0.46064E-15    0.25281E-09    0.67422E-14   -0.26760E-16
+  5121    0.16669E-13    0.45598E-15    0.00000E+00   -0.46076E-15    0.25265E-09    0.67363E-14   -0.24514E-16
+  5122    0.16635E-13    0.45511E-15    0.00000E+00   -0.46091E-15    0.25249E-09    0.67303E-14   -0.22258E-16
+  5123    0.16601E-13    0.45421E-15    0.00000E+00   -0.46102E-15    0.25233E-09    0.67241E-14   -0.20000E-16
+  5124    0.16565E-13    0.45334E-15    0.00000E+00   -0.46115E-15    0.25217E-09    0.67176E-14   -0.17744E-16
+  5125    0.16532E-13    0.45243E-15    0.00000E+00   -0.46128E-15    0.25201E-09    0.67110E-14   -0.15494E-16
+  5126    0.16498E-13    0.45152E-15    0.00000E+00   -0.46140E-15    0.25185E-09    0.67041E-14   -0.13258E-16
+  5127    0.16464E-13    0.45062E-15    0.00000E+00   -0.46152E-15    0.25169E-09    0.66969E-14   -0.11038E-16
+  5128    0.16429E-13    0.44970E-15    0.00000E+00   -0.46165E-15    0.25153E-09    0.66895E-14   -0.88404E-17
+  5129    0.16396E-13    0.44877E-15    0.00000E+00   -0.46175E-15    0.25137E-09    0.66819E-14   -0.66628E-17
+  5130    0.16362E-13    0.44783E-15    0.00000E+00   -0.46185E-15    0.25121E-09    0.66741E-14   -0.45031E-17
+  5131    0.16329E-13    0.44688E-15    0.00000E+00   -0.46196E-15    0.25105E-09    0.66661E-14   -0.23588E-17
+  5132    0.16294E-13    0.44594E-15    0.00000E+00   -0.46204E-15    0.25089E-09    0.66582E-14   -0.22758E-18
+  5133    0.16262E-13    0.44497E-15    0.00000E+00   -0.46214E-15    0.25073E-09    0.66502E-14    0.18931E-17
+  5134    0.16229E-13    0.44401E-15    0.00000E+00   -0.46222E-15    0.25057E-09    0.66423E-14    0.40057E-17
+  5135    0.16195E-13    0.44304E-15    0.00000E+00   -0.46229E-15    0.25041E-09    0.66344E-14    0.61121E-17
+  5136    0.16162E-13    0.44205E-15    0.00000E+00   -0.46235E-15    0.25025E-09    0.66267E-14    0.82121E-17
+  5137    0.16129E-13    0.44106E-15    0.00000E+00   -0.46240E-15    0.25009E-09    0.66189E-14    0.10305E-16
+  5138    0.16096E-13    0.44007E-15    0.00000E+00   -0.46244E-15    0.24993E-09    0.66109E-14    0.12390E-16
+  5139    0.16064E-13    0.43906E-15    0.00000E+00   -0.46245E-15    0.24977E-09    0.66029E-14    0.14467E-16
+  5140    0.16032E-13    0.43804E-15    0.00000E+00   -0.46248E-15    0.24961E-09    0.65945E-14    0.16534E-16
+  5141    0.15999E-13    0.43702E-15    0.00000E+00   -0.46248E-15    0.24946E-09    0.65859E-14    0.18592E-16
+  5142    0.15966E-13    0.43599E-15    0.00000E+00   -0.46246E-15    0.24930E-09    0.65768E-14    0.20639E-16
+  5143    0.15933E-13    0.43496E-15    0.00000E+00   -0.46244E-15    0.24914E-09    0.65675E-14    0.22675E-16
+  5144    0.15902E-13    0.43391E-15    0.00000E+00   -0.46239E-15    0.24898E-09    0.65580E-14    0.24701E-16
+  5145    0.15870E-13    0.43285E-15    0.00000E+00   -0.46233E-15    0.24882E-09    0.65485E-14    0.26718E-16
+  5146    0.15837E-13    0.43179E-15    0.00000E+00   -0.46227E-15    0.24866E-09    0.65389E-14    0.28724E-16
+  5147    0.15805E-13    0.43074E-15    0.00000E+00   -0.46218E-15    0.24851E-09    0.65294E-14    0.30720E-16
+  5148    0.15774E-13    0.42966E-15    0.00000E+00   -0.46207E-15    0.24835E-09    0.65201E-14    0.32707E-16
+  5149    0.15741E-13    0.42858E-15    0.00000E+00   -0.46195E-15    0.24819E-09    0.65112E-14    0.34685E-16
+  5150    0.15709E-13    0.42748E-15    0.00000E+00   -0.46179E-15    0.24803E-09    0.65024E-14    0.36651E-16
+  5151    0.15678E-13    0.42639E-15    0.00000E+00   -0.46164E-15    0.24788E-09    0.64936E-14    0.38607E-16
+  5152    0.15647E-13    0.42528E-15    0.00000E+00   -0.46145E-15    0.24772E-09    0.64848E-14    0.40549E-16
+  5153    0.15615E-13    0.42418E-15    0.00000E+00   -0.46125E-15    0.24756E-09    0.64757E-14    0.42479E-16
+  5154    0.15585E-13    0.42306E-15    0.00000E+00   -0.46103E-15    0.24740E-09    0.64663E-14    0.44394E-16
+  5155    0.15552E-13    0.42195E-15    0.00000E+00   -0.46079E-15    0.24725E-09    0.64565E-14    0.46293E-16
+  5156    0.15521E-13    0.42080E-15    0.00000E+00   -0.46052E-15    0.24709E-09    0.64461E-14    0.48176E-16
+  5157    0.15490E-13    0.41967E-15    0.00000E+00   -0.46023E-15    0.24693E-09    0.64352E-14    0.50041E-16
+  5158    0.15458E-13    0.41854E-15    0.00000E+00   -0.45993E-15    0.24677E-09    0.64240E-14    0.51886E-16
+  5159    0.15427E-13    0.41738E-15    0.00000E+00   -0.45959E-15    0.24662E-09    0.64126E-14    0.53710E-16
+  5160    0.15395E-13    0.41623E-15    0.00000E+00   -0.45924E-15    0.24646E-09    0.64012E-14    0.55512E-16
+  5161    0.15364E-13    0.41508E-15    0.00000E+00   -0.45885E-15    0.24630E-09    0.63899E-14    0.57290E-16
+  5162    0.15333E-13    0.41390E-15    0.00000E+00   -0.45846E-15    0.24615E-09    0.63788E-14    0.59043E-16
+  5163    0.15302E-13    0.41273E-15    0.00000E+00   -0.45804E-15    0.24599E-09    0.63681E-14    0.60769E-16
+  5164    0.15271E-13    0.41154E-15    0.00000E+00   -0.45757E-15    0.24583E-09    0.63576E-14    0.62470E-16
+  5165    0.15240E-13    0.41036E-15    0.00000E+00   -0.45711E-15    0.24568E-09    0.63472E-14    0.64147E-16
+  5166    0.15209E-13    0.40918E-15    0.00000E+00   -0.45662E-15    0.24552E-09    0.63368E-14    0.65803E-16
+  5167    0.15178E-13    0.40798E-15    0.00000E+00   -0.45608E-15    0.24537E-09    0.63262E-14    0.67438E-16
+  5168    0.15148E-13    0.40679E-15    0.00000E+00   -0.45553E-15    0.24521E-09    0.63153E-14    0.69056E-16
+  5169    0.15116E-13    0.40556E-15    0.00000E+00   -0.45495E-15    0.24505E-09    0.63040E-14    0.70657E-16
+  5170    0.15085E-13    0.40436E-15    0.00000E+00   -0.45436E-15    0.24490E-09    0.62922E-14    0.72243E-16
+  5171    0.15055E-13    0.40314E-15    0.00000E+00   -0.45372E-15    0.24474E-09    0.62800E-14    0.73813E-16
+  5172    0.15024E-13    0.40191E-15    0.00000E+00   -0.45306E-15    0.24459E-09    0.62675E-14    0.75367E-16
+  5173    0.14993E-13    0.40069E-15    0.00000E+00   -0.45237E-15    0.24443E-09    0.62549E-14    0.76905E-16
+  5174    0.14962E-13    0.39945E-15    0.00000E+00   -0.45166E-15    0.24428E-09    0.62424E-14    0.78424E-16
+  5175    0.14932E-13    0.39822E-15    0.00000E+00   -0.45091E-15    0.24412E-09    0.62301E-14    0.79925E-16
+  5176    0.14901E-13    0.39697E-15    0.00000E+00   -0.45014E-15    0.24397E-09    0.62181E-14    0.81407E-16
+  5177    0.14869E-13    0.39573E-15    0.00000E+00   -0.44936E-15    0.24381E-09    0.62065E-14    0.82869E-16
+  5178    0.14839E-13    0.39447E-15    0.00000E+00   -0.44852E-15    0.24366E-09    0.61953E-14    0.84311E-16
+  5179    0.14808E-13    0.39324E-15    0.00000E+00   -0.44767E-15    0.24350E-09    0.61843E-14    0.85736E-16
+  5180    0.14778E-13    0.39197E-15    0.00000E+00   -0.44679E-15    0.24335E-09    0.61733E-14    0.87145E-16
+  5181    0.14746E-13    0.39071E-15    0.00000E+00   -0.44587E-15    0.24319E-09    0.61622E-14    0.88537E-16
+  5182    0.14715E-13    0.38944E-15    0.00000E+00   -0.44494E-15    0.24304E-09    0.61508E-14    0.89915E-16
+  5183    0.14685E-13    0.38818E-15    0.00000E+00   -0.44398E-15    0.24288E-09    0.61389E-14    0.91280E-16
+  5184    0.14654E-13    0.38691E-15    0.00000E+00   -0.44298E-15    0.24273E-09    0.61264E-14    0.92631E-16
+  5185    0.14622E-13    0.38564E-15    0.00000E+00   -0.44195E-15    0.24257E-09    0.61136E-14    0.93967E-16
+  5186    0.14592E-13    0.38435E-15    0.00000E+00   -0.44090E-15    0.24242E-09    0.61004E-14    0.95283E-16
+  5187    0.14561E-13    0.38308E-15    0.00000E+00   -0.43982E-15    0.24226E-09    0.60872E-14    0.96576E-16
+  5188    0.14531E-13    0.38180E-15    0.00000E+00   -0.43873E-15    0.24211E-09    0.60740E-14    0.97843E-16
+  5189    0.14499E-13    0.38052E-15    0.00000E+00   -0.43758E-15    0.24196E-09    0.60611E-14    0.99079E-16
+  5190    0.14469E-13    0.37922E-15    0.00000E+00   -0.43642E-15    0.24180E-09    0.60487E-14    0.10028E-15
+  5191    0.14438E-13    0.37794E-15    0.00000E+00   -0.43522E-15    0.24165E-09    0.60369E-14    0.10145E-15
+  5192    0.14406E-13    0.37664E-15    0.00000E+00   -0.43400E-15    0.24150E-09    0.60255E-14    0.10258E-15
+  5193    0.14375E-13    0.37536E-15    0.00000E+00   -0.43274E-15    0.24134E-09    0.60143E-14    0.10368E-15
+  5194    0.14344E-13    0.37405E-15    0.00000E+00   -0.43147E-15    0.24119E-09    0.60032E-14    0.10474E-15
+  5195    0.14313E-13    0.37276E-15    0.00000E+00   -0.43015E-15    0.24104E-09    0.59920E-14    0.10577E-15
+  5196    0.14283E-13    0.37146E-15    0.00000E+00   -0.42882E-15    0.24088E-09    0.59805E-14    0.10677E-15
+  5197    0.14252E-13    0.37017E-15    0.00000E+00   -0.42746E-15    0.24073E-09    0.59685E-14    0.10774E-15
+  5198    0.14221E-13    0.36887E-15    0.00000E+00   -0.42607E-15    0.24058E-09    0.59558E-14    0.10869E-15
+  5199    0.14190E-13    0.36757E-15    0.00000E+00   -0.42465E-15    0.24042E-09    0.59427E-14    0.10960E-15
+  5200    0.14158E-13    0.36628E-15    0.00000E+00   -0.42320E-15    0.24027E-09    0.59293E-14    0.11049E-15
+  5201    0.14128E-13    0.36496E-15    0.00000E+00   -0.42172E-15    0.24012E-09    0.59158E-14    0.11136E-15
+  5202    0.14097E-13    0.36368E-15    0.00000E+00   -0.42023E-15    0.23996E-09    0.59023E-14    0.11220E-15
+  5203    0.14065E-13    0.36236E-15    0.00000E+00   -0.41869E-15    0.23981E-09    0.58892E-14    0.11302E-15
+  5204    0.14034E-13    0.36107E-15    0.00000E+00   -0.41713E-15    0.23966E-09    0.58765E-14    0.11382E-15
+  5205    0.14004E-13    0.35978E-15    0.00000E+00   -0.41555E-15    0.23951E-09    0.58645E-14    0.11460E-15
+  5206    0.13972E-13    0.35847E-15    0.00000E+00   -0.41394E-15    0.23935E-09    0.58529E-14    0.11536E-15
+  5207    0.13941E-13    0.35718E-15    0.00000E+00   -0.41229E-15    0.23920E-09    0.58416E-14    0.11610E-15
+  5208    0.13909E-13    0.35587E-15    0.00000E+00   -0.41063E-15    0.23905E-09    0.58304E-14    0.11682E-15
+  5209    0.13876E-13    0.35457E-15    0.00000E+00   -0.40896E-15    0.23890E-09    0.58191E-14    0.11752E-15
+  5210    0.13845E-13    0.35328E-15    0.00000E+00   -0.40724E-15    0.23875E-09    0.58075E-14    0.11820E-15
+  5211    0.13813E-13    0.35198E-15    0.00000E+00   -0.40550E-15    0.23859E-09    0.57954E-14    0.11886E-15
+  5212    0.13781E-13    0.35068E-15    0.00000E+00   -0.40374E-15    0.23844E-09    0.57827E-14    0.11949E-15
+  5213    0.13750E-13    0.34938E-15    0.00000E+00   -0.40194E-15    0.23829E-09    0.57695E-14    0.12010E-15
+  5214    0.13718E-13    0.34810E-15    0.00000E+00   -0.40014E-15    0.23814E-09    0.57560E-14    0.12069E-15
+  5215    0.13685E-13    0.34680E-15    0.00000E+00   -0.39830E-15    0.23799E-09    0.57424E-14    0.12127E-15
+  5216    0.13654E-13    0.34551E-15    0.00000E+00   -0.39645E-15    0.23784E-09    0.57288E-14    0.12182E-15
+  5217    0.13622E-13    0.34423E-15    0.00000E+00   -0.39455E-15    0.23769E-09    0.57155E-14    0.12236E-15
+  5218    0.13591E-13    0.34295E-15    0.00000E+00   -0.39265E-15    0.23753E-09    0.57026E-14    0.12289E-15
+  5219    0.13558E-13    0.34165E-15    0.00000E+00   -0.39072E-15    0.23738E-09    0.56903E-14    0.12340E-15
+  5220    0.13527E-13    0.34038E-15    0.00000E+00   -0.38877E-15    0.23723E-09    0.56785E-14    0.12389E-15
+  5221    0.13493E-13    0.33909E-15    0.00000E+00   -0.38680E-15    0.23708E-09    0.56670E-14    0.12436E-15
+  5222    0.13462E-13    0.33783E-15    0.00000E+00   -0.38482E-15    0.23693E-09    0.56555E-14    0.12480E-15
+  5223    0.13430E-13    0.33655E-15    0.00000E+00   -0.38279E-15    0.23678E-09    0.56440E-14    0.12521E-15
+  5224    0.13397E-13    0.33530E-15    0.00000E+00   -0.38075E-15    0.23663E-09    0.56323E-14    0.12559E-15
+  5225    0.13365E-13    0.33404E-15    0.00000E+00   -0.37870E-15    0.23648E-09    0.56202E-14    0.12592E-15
+  5226    0.13333E-13    0.33278E-15    0.00000E+00   -0.37662E-15    0.23633E-09    0.56075E-14    0.12622E-15
+  5227    0.13300E-13    0.33153E-15    0.00000E+00   -0.37454E-15    0.23618E-09    0.55945E-14    0.12647E-15
+  5228    0.13268E-13    0.33027E-15    0.00000E+00   -0.37242E-15    0.23603E-09    0.55813E-14    0.12668E-15
+  5229    0.13236E-13    0.32903E-15    0.00000E+00   -0.37030E-15    0.23588E-09    0.55680E-14    0.12686E-15
+  5230    0.13203E-13    0.32778E-15    0.00000E+00   -0.36815E-15    0.23573E-09    0.55548E-14    0.12700E-15
+  5231    0.13171E-13    0.32654E-15    0.00000E+00   -0.36598E-15    0.23558E-09    0.55420E-14    0.12711E-15
+  5232    0.13137E-13    0.32530E-15    0.00000E+00   -0.36379E-15    0.23543E-09    0.55296E-14    0.12719E-15
+  5233    0.13104E-13    0.32408E-15    0.00000E+00   -0.36159E-15    0.23528E-09    0.55179E-14    0.12724E-15
+  5234    0.13071E-13    0.32285E-15    0.00000E+00   -0.35938E-15    0.23513E-09    0.55066E-14    0.12727E-15
+  5235    0.13038E-13    0.32162E-15    0.00000E+00   -0.35714E-15    0.23498E-09    0.54956E-14    0.12728E-15
+  5236    0.13005E-13    0.32041E-15    0.00000E+00   -0.35489E-15    0.23483E-09    0.54849E-14    0.12726E-15
+  5237    0.12972E-13    0.31919E-15    0.00000E+00   -0.35263E-15    0.23468E-09    0.54740E-14    0.12722E-15
+  5238    0.12939E-13    0.31799E-15    0.00000E+00   -0.35036E-15    0.23453E-09    0.54630E-14    0.12717E-15
+  5239    0.12905E-13    0.31678E-15    0.00000E+00   -0.34807E-15    0.23438E-09    0.54516E-14    0.12709E-15
+  5240    0.12871E-13    0.31558E-15    0.00000E+00   -0.34577E-15    0.23423E-09    0.54397E-14    0.12700E-15
+  5241    0.12839E-13    0.31439E-15    0.00000E+00   -0.34345E-15    0.23408E-09    0.54275E-14    0.12689E-15
+  5242    0.12805E-13    0.31320E-15    0.00000E+00   -0.34112E-15    0.23393E-09    0.54150E-14    0.12676E-15
+  5243    0.12771E-13    0.31202E-15    0.00000E+00   -0.33879E-15    0.23378E-09    0.54025E-14    0.12661E-15
+  5244    0.12739E-13    0.31085E-15    0.00000E+00   -0.33645E-15    0.23364E-09    0.53901E-14    0.12645E-15
+  5245    0.12704E-13    0.30968E-15    0.00000E+00   -0.33408E-15    0.23349E-09    0.53781E-14    0.12626E-15
+  5246    0.12671E-13    0.30851E-15    0.00000E+00   -0.33171E-15    0.23334E-09    0.53664E-14    0.12605E-15
+  5247    0.12638E-13    0.30736E-15    0.00000E+00   -0.32933E-15    0.23319E-09    0.53553E-14    0.12583E-15
+  5248    0.12603E-13    0.30621E-15    0.00000E+00   -0.32695E-15    0.23304E-09    0.53447E-14    0.12558E-15
+  5249    0.12570E-13    0.30507E-15    0.00000E+00   -0.32455E-15    0.23289E-09    0.53344E-14    0.12532E-15
+  5250    0.12536E-13    0.30393E-15    0.00000E+00   -0.32214E-15    0.23275E-09    0.53243E-14    0.12503E-15
+  5251    0.12502E-13    0.30280E-15    0.00000E+00   -0.31972E-15    0.23260E-09    0.53141E-14    0.12473E-15
+  5252    0.12467E-13    0.30167E-15    0.00000E+00   -0.31731E-15    0.23245E-09    0.53037E-14    0.12442E-15
+  5253    0.12434E-13    0.30055E-15    0.00000E+00   -0.31488E-15    0.23230E-09    0.52931E-14    0.12409E-15
+  5254    0.12400E-13    0.29945E-15    0.00000E+00   -0.31244E-15    0.23215E-09    0.52820E-14    0.12374E-15
+  5255    0.12365E-13    0.29833E-15    0.00000E+00   -0.31000E-15    0.23201E-09    0.52706E-14    0.12338E-15
+  5256    0.12332E-13    0.29724E-15    0.00000E+00   -0.30757E-15    0.23186E-09    0.52590E-14    0.12299E-15
+  5257    0.12297E-13    0.29614E-15    0.00000E+00   -0.30513E-15    0.23171E-09    0.52474E-14    0.12259E-15
+  5258    0.12263E-13    0.29506E-15    0.00000E+00   -0.30268E-15    0.23156E-09    0.52360E-14    0.12216E-15
+  5259    0.12228E-13    0.29397E-15    0.00000E+00   -0.30023E-15    0.23142E-09    0.52248E-14    0.12170E-15
+  5260    0.12194E-13    0.29291E-15    0.00000E+00   -0.29778E-15    0.23127E-09    0.52141E-14    0.12121E-15
+  5261    0.12160E-13    0.29185E-15    0.00000E+00   -0.29533E-15    0.23112E-09    0.52040E-14    0.12068E-15
+  5262    0.12126E-13    0.29078E-15    0.00000E+00   -0.29288E-15    0.23097E-09    0.51944E-14    0.12012E-15
+  5263    0.12091E-13    0.28974E-15    0.00000E+00   -0.29042E-15    0.23083E-09    0.51851E-14    0.11953E-15
+  5264    0.12056E-13    0.28870E-15    0.00000E+00   -0.28797E-15    0.23068E-09    0.51761E-14    0.11892E-15
+  5265    0.12021E-13    0.28766E-15    0.00000E+00   -0.28550E-15    0.23053E-09    0.51670E-14    0.11827E-15
+  5266    0.11987E-13    0.28664E-15    0.00000E+00   -0.28306E-15    0.23039E-09    0.51580E-14    0.11759E-15
+  5267    0.11953E-13    0.28562E-15    0.00000E+00   -0.28060E-15    0.23024E-09    0.51487E-14    0.11689E-15
+  5268    0.11917E-13    0.28461E-15    0.00000E+00   -0.27815E-15    0.23009E-09    0.51391E-14    0.11617E-15
+  5269    0.11883E-13    0.28361E-15    0.00000E+00   -0.27570E-15    0.22995E-09    0.51293E-14    0.11543E-15
+  5270    0.11848E-13    0.28261E-15    0.00000E+00   -0.27326E-15    0.22980E-09    0.51194E-14    0.11466E-15
+  5271    0.11812E-13    0.28162E-15    0.00000E+00   -0.27082E-15    0.22966E-09    0.51094E-14    0.11387E-15
+  5272    0.11778E-13    0.28064E-15    0.00000E+00   -0.26838E-15    0.22951E-09    0.50996E-14    0.11307E-15
+  5273    0.11743E-13    0.27968E-15    0.00000E+00   -0.26595E-15    0.22936E-09    0.50900E-14    0.11226E-15
+  5274    0.11709E-13    0.27871E-15    0.00000E+00   -0.26352E-15    0.22922E-09    0.50808E-14    0.11142E-15
+  5275    0.11674E-13    0.27775E-15    0.00000E+00   -0.26110E-15    0.22907E-09    0.50720E-14    0.11058E-15
+  5276    0.11640E-13    0.27680E-15    0.00000E+00   -0.25868E-15    0.22893E-09    0.50636E-14    0.10973E-15
+  5277    0.11605E-13    0.27586E-15    0.00000E+00   -0.25628E-15    0.22878E-09    0.50554E-14    0.10886E-15
+  5278    0.11569E-13    0.27492E-15    0.00000E+00   -0.25388E-15    0.22863E-09    0.50475E-14    0.10798E-15
+  5279    0.11534E-13    0.27401E-15    0.00000E+00   -0.25148E-15    0.22849E-09    0.50396E-14    0.10709E-15
+  5280    0.11499E-13    0.27309E-15    0.00000E+00   -0.24910E-15    0.22834E-09    0.50317E-14    0.10618E-15
+  5281    0.11465E-13    0.27218E-15    0.00000E+00   -0.24673E-15    0.22820E-09    0.50236E-14    0.10526E-15
+  5282    0.11429E-13    0.27129E-15    0.00000E+00   -0.24436E-15    0.22805E-09    0.50154E-14    0.10432E-15
+  5283    0.11394E-13    0.27039E-15    0.00000E+00   -0.24200E-15    0.22791E-09    0.50071E-14    0.10337E-15
+  5284    0.11360E-13    0.26951E-15    0.00000E+00   -0.23965E-15    0.22776E-09    0.49986E-14    0.10241E-15
+  5285    0.11324E-13    0.26864E-15    0.00000E+00   -0.23732E-15    0.22762E-09    0.49902E-14    0.10143E-15
+  5286    0.11289E-13    0.26777E-15    0.00000E+00   -0.23500E-15    0.22747E-09    0.49818E-14    0.10044E-15
+  5287    0.11255E-13    0.26690E-15    0.00000E+00   -0.23269E-15    0.22733E-09    0.49735E-14    0.99432E-16
+  5288    0.11220E-13    0.26606E-15    0.00000E+00   -0.23040E-15    0.22718E-09    0.49653E-14    0.98415E-16
+  5289    0.11184E-13    0.26522E-15    0.00000E+00   -0.22810E-15    0.22704E-09    0.49574E-14    0.97386E-16
+  5290    0.11149E-13    0.26438E-15    0.00000E+00   -0.22583E-15    0.22689E-09    0.49497E-14    0.96345E-16
+  5291    0.11115E-13    0.26355E-15    0.00000E+00   -0.22357E-15    0.22675E-09    0.49421E-14    0.95291E-16
+  5292    0.11079E-13    0.26273E-15    0.00000E+00   -0.22133E-15    0.22660E-09    0.49347E-14    0.94226E-16
+  5293    0.11044E-13    0.26193E-15    0.00000E+00   -0.21910E-15    0.22646E-09    0.49274E-14    0.93149E-16
+  5294    0.11010E-13    0.26112E-15    0.00000E+00   -0.21689E-15    0.22632E-09    0.49203E-14    0.92060E-16
+  5295    0.10974E-13    0.26032E-15    0.00000E+00   -0.21470E-15    0.22617E-09    0.49132E-14    0.90959E-16
+  5296    0.10940E-13    0.25953E-15    0.00000E+00   -0.21251E-15    0.22603E-09    0.49061E-14    0.89847E-16
+  5297    0.10905E-13    0.25876E-15    0.00000E+00   -0.21034E-15    0.22588E-09    0.48991E-14    0.88722E-16
+  5298    0.10869E-13    0.25798E-15    0.00000E+00   -0.20820E-15    0.22574E-09    0.48922E-14    0.87581E-16
+  5299    0.10835E-13    0.25722E-15    0.00000E+00   -0.20606E-15    0.22560E-09    0.48854E-14    0.86424E-16
+  5300    0.10800E-13    0.25646E-15    0.00000E+00   -0.20395E-15    0.22545E-09    0.48786E-14    0.85248E-16
+  5301    0.10765E-13    0.25571E-15    0.00000E+00   -0.20186E-15    0.22531E-09    0.48719E-14    0.84051E-16
+  5302    0.10730E-13    0.25498E-15    0.00000E+00   -0.19977E-15    0.22517E-09    0.48654E-14    0.82833E-16
+  5303    0.10695E-13    0.25425E-15    0.00000E+00   -0.19772E-15    0.22502E-09    0.48589E-14    0.81590E-16
+  5304    0.10660E-13    0.25352E-15    0.00000E+00   -0.19568E-15    0.22488E-09    0.48526E-14    0.80327E-16
+  5305    0.10625E-13    0.25280E-15    0.00000E+00   -0.19365E-15    0.22474E-09    0.48463E-14    0.79046E-16
+  5306    0.10590E-13    0.25209E-15    0.00000E+00   -0.19165E-15    0.22459E-09    0.48402E-14    0.77750E-16
+  5307    0.10555E-13    0.25139E-15    0.00000E+00   -0.18966E-15    0.22445E-09    0.48342E-14    0.76442E-16
+  5308    0.10520E-13    0.25069E-15    0.00000E+00   -0.18770E-15    0.22431E-09    0.48283E-14    0.75126E-16
+  5309    0.10487E-13    0.25001E-15    0.00000E+00   -0.18577E-15    0.22416E-09    0.48226E-14    0.73804E-16
+  5310    0.10451E-13    0.24933E-15    0.00000E+00   -0.18385E-15    0.22402E-09    0.48169E-14    0.72480E-16
+  5311    0.10417E-13    0.24867E-15    0.00000E+00   -0.18194E-15    0.22388E-09    0.48114E-14    0.71153E-16
+  5312    0.10383E-13    0.24800E-15    0.00000E+00   -0.18008E-15    0.22374E-09    0.48060E-14    0.69822E-16
+  5313    0.10348E-13    0.24734E-15    0.00000E+00   -0.17823E-15    0.22359E-09    0.48007E-14    0.68488E-16
+  5314    0.10314E-13    0.24669E-15    0.00000E+00   -0.17640E-15    0.22345E-09    0.47954E-14    0.67150E-16
+  5315    0.10280E-13    0.24605E-15    0.00000E+00   -0.17458E-15    0.22331E-09    0.47903E-14    0.65807E-16
+  5316    0.10246E-13    0.24541E-15    0.00000E+00   -0.17280E-15    0.22317E-09    0.47853E-14    0.64459E-16
+  5317    0.10212E-13    0.24478E-15    0.00000E+00   -0.17103E-15    0.22302E-09    0.47803E-14    0.63106E-16
+  5318    0.10177E-13    0.24416E-15    0.00000E+00   -0.16930E-15    0.22288E-09    0.47754E-14    0.61747E-16
+  5319    0.10143E-13    0.24354E-15    0.00000E+00   -0.16758E-15    0.22274E-09    0.47707E-14    0.60383E-16
+  5320    0.10109E-13    0.24292E-15    0.00000E+00   -0.16588E-15    0.22260E-09    0.47661E-14    0.59013E-16
+  5321    0.10075E-13    0.24232E-15    0.00000E+00   -0.16421E-15    0.22246E-09    0.47617E-14    0.57637E-16
+  5322    0.10041E-13    0.24172E-15    0.00000E+00   -0.16257E-15    0.22232E-09    0.47575E-14    0.56256E-16
+  5323    0.10007E-13    0.24115E-15    0.00000E+00   -0.16095E-15    0.22217E-09    0.47535E-14    0.54868E-16
+  5324    0.99729E-14    0.24056E-15    0.00000E+00   -0.15936E-15    0.22203E-09    0.47497E-14    0.53475E-16
+  5325    0.99395E-14    0.23998E-15    0.00000E+00   -0.15779E-15    0.22189E-09    0.47461E-14    0.52077E-16
+  5326    0.99061E-14    0.23942E-15    0.00000E+00   -0.15625E-15    0.22175E-09    0.47427E-14    0.50679E-16
+  5327    0.98727E-14    0.23885E-15    0.00000E+00   -0.15473E-15    0.22161E-09    0.47394E-14    0.49280E-16
+  5328    0.98384E-14    0.23830E-15    0.00000E+00   -0.15323E-15    0.22147E-09    0.47362E-14    0.47885E-16
+  5329    0.98060E-14    0.23775E-15    0.00000E+00   -0.15177E-15    0.22133E-09    0.47330E-14    0.46495E-16
+  5330    0.97727E-14    0.23720E-15    0.00000E+00   -0.15033E-15    0.22119E-09    0.47298E-14    0.45112E-16
+  5331    0.97394E-14    0.23666E-15    0.00000E+00   -0.14892E-15    0.22104E-09    0.47265E-14    0.43738E-16
+  5332    0.97060E-14    0.23614E-15    0.00000E+00   -0.14752E-15    0.22090E-09    0.47233E-14    0.42369E-16
+  5333    0.96737E-14    0.23561E-15    0.00000E+00   -0.14616E-15    0.22076E-09    0.47201E-14    0.41001E-16
+  5334    0.96404E-14    0.23508E-15    0.00000E+00   -0.14482E-15    0.22062E-09    0.47170E-14    0.39630E-16
+  5335    0.96070E-14    0.23456E-15    0.00000E+00   -0.14350E-15    0.22048E-09    0.47141E-14    0.38251E-16
+  5336    0.95747E-14    0.23405E-15    0.00000E+00   -0.14221E-15    0.22034E-09    0.47114E-14    0.36861E-16
+  5337    0.95424E-14    0.23355E-15    0.00000E+00   -0.14096E-15    0.22020E-09    0.47091E-14    0.35454E-16
+  5338    0.95097E-14    0.23305E-15    0.00000E+00   -0.13973E-15    0.22006E-09    0.47071E-14    0.34029E-16
+  5339    0.94773E-14    0.23255E-15    0.00000E+00   -0.13852E-15    0.21992E-09    0.47053E-14    0.32588E-16
+  5340    0.94450E-14    0.23206E-15    0.00000E+00   -0.13734E-15    0.21978E-09    0.47037E-14    0.31135E-16
+  5341    0.94129E-14    0.23158E-15    0.00000E+00   -0.13620E-15    0.21964E-09    0.47022E-14    0.29673E-16
+  5342    0.93809E-14    0.23109E-15    0.00000E+00   -0.13507E-15    0.21950E-09    0.47007E-14    0.28208E-16
+  5343    0.93490E-14    0.23062E-15    0.00000E+00   -0.13398E-15    0.21936E-09    0.46991E-14    0.26743E-16
+  5344    0.93171E-14    0.23014E-15    0.00000E+00   -0.13290E-15    0.21922E-09    0.46972E-14    0.25282E-16
+  5345    0.92855E-14    0.22968E-15    0.00000E+00   -0.13186E-15    0.21908E-09    0.46951E-14    0.23829E-16
+  5346    0.92538E-14    0.22922E-15    0.00000E+00   -0.13084E-15    0.21894E-09    0.46927E-14    0.22384E-16
+  5347    0.92222E-14    0.22876E-15    0.00000E+00   -0.12985E-15    0.21880E-09    0.46903E-14    0.20945E-16
+  5348    0.91910E-14    0.22830E-15    0.00000E+00   -0.12888E-15    0.21866E-09    0.46879E-14    0.19511E-16
+  5349    0.91597E-14    0.22786E-15    0.00000E+00   -0.12795E-15    0.21852E-09    0.46856E-14    0.18082E-16
+  5350    0.91286E-14    0.22742E-15    0.00000E+00   -0.12704E-15    0.21838E-09    0.46835E-14    0.16656E-16
+  5351    0.90975E-14    0.22697E-15    0.00000E+00   -0.12616E-15    0.21825E-09    0.46818E-14    0.15233E-16
+  5352    0.90667E-14    0.22653E-15    0.00000E+00   -0.12531E-15    0.21811E-09    0.46805E-14    0.13812E-16
+  5353    0.90359E-14    0.22609E-15    0.00000E+00   -0.12447E-15    0.21797E-09    0.46795E-14    0.12393E-16
+  5354    0.90053E-14    0.22566E-15    0.00000E+00   -0.12367E-15    0.21783E-09    0.46788E-14    0.10975E-16
+  5355    0.89748E-14    0.22524E-15    0.00000E+00   -0.12289E-15    0.21769E-09    0.46782E-14    0.95607E-17
+  5356    0.89445E-14    0.22481E-15    0.00000E+00   -0.12214E-15    0.21755E-09    0.46776E-14    0.81486E-17
+  5357    0.89142E-14    0.22439E-15    0.00000E+00   -0.12141E-15    0.21741E-09    0.46769E-14    0.67396E-17
+  5358    0.88842E-14    0.22398E-15    0.00000E+00   -0.12072E-15    0.21727E-09    0.46760E-14    0.53340E-17
+  5359    0.88543E-14    0.22356E-15    0.00000E+00   -0.12005E-15    0.21714E-09    0.46748E-14    0.39323E-17
+  5360    0.88244E-14    0.22315E-15    0.00000E+00   -0.11940E-15    0.21700E-09    0.46735E-14    0.25370E-17
+  5361    0.87949E-14    0.22274E-15    0.00000E+00   -0.11878E-15    0.21686E-09    0.46720E-14    0.11506E-17
+  5362    0.87653E-14    0.22233E-15    0.00000E+00   -0.11819E-15    0.21672E-09    0.46707E-14   -0.22400E-18
+  5363    0.87359E-14    0.22194E-15    0.00000E+00   -0.11763E-15    0.21658E-09    0.46695E-14   -0.15842E-17
+  5364    0.87067E-14    0.22153E-15    0.00000E+00   -0.11708E-15    0.21644E-09    0.46686E-14   -0.29273E-17
+  5365    0.86776E-14    0.22114E-15    0.00000E+00   -0.11657E-15    0.21631E-09    0.46682E-14   -0.42505E-17
+  5366    0.86487E-14    0.22074E-15    0.00000E+00   -0.11607E-15    0.21617E-09    0.46683E-14   -0.55524E-17
+  5367    0.86199E-14    0.22035E-15    0.00000E+00   -0.11560E-15    0.21603E-09    0.46688E-14   -0.68366E-17
+  5368    0.85913E-14    0.21996E-15    0.00000E+00   -0.11516E-15    0.21589E-09    0.46696E-14   -0.81076E-17
+  5369    0.85628E-14    0.21957E-15    0.00000E+00   -0.11474E-15    0.21576E-09    0.46706E-14   -0.93701E-17
+  5370    0.85345E-14    0.21918E-15    0.00000E+00   -0.11436E-15    0.21562E-09    0.46716E-14   -0.10629E-16
+  5371    0.85064E-14    0.21880E-15    0.00000E+00   -0.11399E-15    0.21548E-09    0.46726E-14   -0.11889E-16
+  5372    0.84784E-14    0.21842E-15    0.00000E+00   -0.11365E-15    0.21534E-09    0.46732E-14   -0.13154E-16
+  5373    0.84505E-14    0.21803E-15    0.00000E+00   -0.11333E-15    0.21521E-09    0.46736E-14   -0.14429E-16
+  5374    0.84229E-14    0.21765E-15    0.00000E+00   -0.11303E-15    0.21507E-09    0.46737E-14   -0.15710E-16
+  5375    0.83954E-14    0.21727E-15    0.00000E+00   -0.11276E-15    0.21493E-09    0.46737E-14   -0.16994E-16
+  5376    0.83680E-14    0.21690E-15    0.00000E+00   -0.11251E-15    0.21479E-09    0.46738E-14   -0.18278E-16
+  5377    0.83408E-14    0.21652E-15    0.00000E+00   -0.11228E-15    0.21466E-09    0.46740E-14   -0.19557E-16
+  5378    0.83138E-14    0.21615E-15    0.00000E+00   -0.11208E-15    0.21452E-09    0.46745E-14   -0.20829E-16
+  5379    0.82869E-14    0.21578E-15    0.00000E+00   -0.11190E-15    0.21438E-09    0.46755E-14   -0.22088E-16
+  5380    0.82600E-14    0.21539E-15    0.00000E+00   -0.11174E-15    0.21425E-09    0.46770E-14   -0.23334E-16
+  5381    0.82335E-14    0.21503E-15    0.00000E+00   -0.11161E-15    0.21411E-09    0.46790E-14   -0.24566E-16
+  5382    0.82073E-14    0.21466E-15    0.00000E+00   -0.11149E-15    0.21397E-09    0.46812E-14   -0.25785E-16
+  5383    0.81810E-14    0.21429E-15    0.00000E+00   -0.11140E-15    0.21384E-09    0.46835E-14   -0.26992E-16
+  5384    0.81550E-14    0.21391E-15    0.00000E+00   -0.11134E-15    0.21370E-09    0.46858E-14   -0.28189E-16
+  5385    0.81292E-14    0.21355E-15    0.00000E+00   -0.11128E-15    0.21357E-09    0.46878E-14   -0.29377E-16
+  5386    0.81034E-14    0.21319E-15    0.00000E+00   -0.11125E-15    0.21343E-09    0.46894E-14   -0.30557E-16
+  5387    0.80779E-14    0.21282E-15    0.00000E+00   -0.11125E-15    0.21329E-09    0.46905E-14   -0.31730E-16
+  5388    0.80525E-14    0.21245E-15    0.00000E+00   -0.11125E-15    0.21316E-09    0.46913E-14   -0.32895E-16
+  5389    0.80274E-14    0.21209E-15    0.00000E+00   -0.11128E-15    0.21302E-09    0.46918E-14   -0.34051E-16
+  5390    0.80023E-14    0.21172E-15    0.00000E+00   -0.11133E-15    0.21289E-09    0.46923E-14   -0.35197E-16
+  5391    0.79775E-14    0.21136E-15    0.00000E+00   -0.11140E-15    0.21275E-09    0.46929E-14   -0.36331E-16
+  5392    0.79528E-14    0.21098E-15    0.00000E+00   -0.11149E-15    0.21261E-09    0.46938E-14   -0.37451E-16
+  5393    0.79284E-14    0.21061E-15    0.00000E+00   -0.11159E-15    0.21248E-09    0.46951E-14   -0.38558E-16
+  5394    0.79040E-14    0.21024E-15    0.00000E+00   -0.11171E-15    0.21234E-09    0.46970E-14   -0.39649E-16
+  5395    0.78799E-14    0.20988E-15    0.00000E+00   -0.11185E-15    0.21221E-09    0.46993E-14   -0.40723E-16
+  5396    0.78559E-14    0.20951E-15    0.00000E+00   -0.11202E-15    0.21207E-09    0.47020E-14   -0.41779E-16
+  5397    0.78322E-14    0.20914E-15    0.00000E+00   -0.11220E-15    0.21194E-09    0.47047E-14   -0.42815E-16
+  5398    0.78085E-14    0.20877E-15    0.00000E+00   -0.11240E-15    0.21180E-09    0.47074E-14   -0.43831E-16
+  5399    0.77850E-14    0.20839E-15    0.00000E+00   -0.11261E-15    0.21167E-09    0.47098E-14   -0.44823E-16
+  5400    0.77618E-14    0.20802E-15    0.00000E+00   -0.11284E-15    0.21153E-09    0.47119E-14   -0.45792E-16
+  5401    0.77386E-14    0.20765E-15    0.00000E+00   -0.11308E-15    0.21140E-09    0.47134E-14   -0.46736E-16
+  5402    0.77158E-14    0.20729E-15    0.00000E+00   -0.11334E-15    0.21126E-09    0.47146E-14   -0.47658E-16
+  5403    0.76930E-14    0.20691E-15    0.00000E+00   -0.11362E-15    0.21113E-09    0.47155E-14   -0.48562E-16
+  5404    0.76705E-14    0.20653E-15    0.00000E+00   -0.11391E-15    0.21099E-09    0.47165E-14   -0.49450E-16
+  5405    0.76480E-14    0.20616E-15    0.00000E+00   -0.11421E-15    0.21086E-09    0.47177E-14   -0.50327E-16
+  5406    0.76259E-14    0.20577E-15    0.00000E+00   -0.11452E-15    0.21072E-09    0.47192E-14   -0.51195E-16
+  5407    0.76039E-14    0.20539E-15    0.00000E+00   -0.11486E-15    0.21059E-09    0.47214E-14   -0.52057E-16
+  5408    0.75819E-14    0.20501E-15    0.00000E+00   -0.11521E-15    0.21046E-09    0.47242E-14   -0.52917E-16
+  5409    0.75604E-14    0.20463E-15    0.00000E+00   -0.11558E-15    0.21032E-09    0.47276E-14   -0.53773E-16
+  5410    0.75389E-14    0.20425E-15    0.00000E+00   -0.11594E-15    0.21019E-09    0.47314E-14   -0.54623E-16
+  5411    0.75174E-14    0.20386E-15    0.00000E+00   -0.11633E-15    0.21005E-09    0.47354E-14   -0.55463E-16
+  5412    0.74963E-14    0.20347E-15    0.00000E+00   -0.11672E-15    0.20992E-09    0.47394E-14   -0.56294E-16
+  5413    0.74753E-14    0.20309E-15    0.00000E+00   -0.11713E-15    0.20979E-09    0.47432E-14   -0.57111E-16
+  5414    0.74546E-14    0.20269E-15    0.00000E+00   -0.11755E-15    0.20965E-09    0.47465E-14   -0.57913E-16
+  5415    0.74340E-14    0.20231E-15    0.00000E+00   -0.11798E-15    0.20952E-09    0.47494E-14   -0.58699E-16
+  5416    0.74136E-14    0.20190E-15    0.00000E+00   -0.11843E-15    0.20938E-09    0.47518E-14   -0.59468E-16
+  5417    0.73933E-14    0.20151E-15    0.00000E+00   -0.11888E-15    0.20925E-09    0.47539E-14   -0.60221E-16
+  5418    0.73732E-14    0.20112E-15    0.00000E+00   -0.11934E-15    0.20912E-09    0.47560E-14   -0.60960E-16
+  5419    0.73534E-14    0.20072E-15    0.00000E+00   -0.11981E-15    0.20898E-09    0.47581E-14   -0.61686E-16
+  5420    0.73336E-14    0.20032E-15    0.00000E+00   -0.12029E-15    0.20885E-09    0.47605E-14   -0.62399E-16
+  5421    0.73141E-14    0.19991E-15    0.00000E+00   -0.12078E-15    0.20872E-09    0.47634E-14   -0.63100E-16
+  5422    0.72948E-14    0.19951E-15    0.00000E+00   -0.12128E-15    0.20858E-09    0.47667E-14   -0.63791E-16
+  5423    0.72755E-14    0.19911E-15    0.00000E+00   -0.12178E-15    0.20845E-09    0.47705E-14   -0.64469E-16
+  5424    0.72565E-14    0.19869E-15    0.00000E+00   -0.12230E-15    0.20832E-09    0.47746E-14   -0.65133E-16
+  5425    0.72375E-14    0.19829E-15    0.00000E+00   -0.12282E-15    0.20819E-09    0.47787E-14   -0.65781E-16
+  5426    0.72189E-14    0.19787E-15    0.00000E+00   -0.12335E-15    0.20805E-09    0.47827E-14   -0.66412E-16
+  5427    0.72003E-14    0.19745E-15    0.00000E+00   -0.12388E-15    0.20792E-09    0.47865E-14   -0.67023E-16
+  5428    0.71819E-14    0.19702E-15    0.00000E+00   -0.12441E-15    0.20779E-09    0.47898E-14   -0.67613E-16
+  5429    0.71637E-14    0.19661E-15    0.00000E+00   -0.12496E-15    0.20766E-09    0.47925E-14   -0.68181E-16
+  5430    0.71457E-14    0.19619E-15    0.00000E+00   -0.12551E-15    0.20752E-09    0.47948E-14   -0.68727E-16
+  5431    0.71278E-14    0.19576E-15    0.00000E+00   -0.12606E-15    0.20739E-09    0.47968E-14   -0.69250E-16
+  5432    0.71102E-14    0.19532E-15    0.00000E+00   -0.12662E-15    0.20726E-09    0.47986E-14   -0.69753E-16
+  5433    0.70927E-14    0.19490E-15    0.00000E+00   -0.12718E-15    0.20713E-09    0.48003E-14   -0.70236E-16
+  5434    0.70754E-14    0.19446E-15    0.00000E+00   -0.12776E-15    0.20699E-09    0.48022E-14   -0.70699E-16
+  5435    0.70582E-14    0.19402E-15    0.00000E+00   -0.12833E-15    0.20686E-09    0.48043E-14   -0.71142E-16
+  5436    0.70411E-14    0.19359E-15    0.00000E+00   -0.12891E-15    0.20673E-09    0.48068E-14   -0.71567E-16
+  5437    0.70243E-14    0.19314E-15    0.00000E+00   -0.12949E-15    0.20660E-09    0.48096E-14   -0.71975E-16
+  5438    0.70076E-14    0.19270E-15    0.00000E+00   -0.13006E-15    0.20647E-09    0.48126E-14   -0.72365E-16
+  5439    0.69911E-14    0.19225E-15    0.00000E+00   -0.13065E-15    0.20633E-09    0.48156E-14   -0.72738E-16
+  5440    0.69747E-14    0.19181E-15    0.00000E+00   -0.13123E-15    0.20620E-09    0.48186E-14   -0.73096E-16
+  5441    0.69586E-14    0.19135E-15    0.00000E+00   -0.13182E-15    0.20607E-09    0.48214E-14   -0.73438E-16
+  5442    0.69425E-14    0.19090E-15    0.00000E+00   -0.13240E-15    0.20594E-09    0.48239E-14   -0.73765E-16
+  5443    0.69267E-14    0.19044E-15    0.00000E+00   -0.13299E-15    0.20581E-09    0.48261E-14   -0.74078E-16
+  5444    0.69108E-14    0.18999E-15    0.00000E+00   -0.13359E-15    0.20568E-09    0.48281E-14   -0.74376E-16
+  5445    0.68953E-14    0.18952E-15    0.00000E+00   -0.13417E-15    0.20555E-09    0.48299E-14   -0.74660E-16
+  5446    0.68799E-14    0.18906E-15    0.00000E+00   -0.13476E-15    0.20541E-09    0.48316E-14   -0.74929E-16
+  5447    0.68647E-14    0.18858E-15    0.00000E+00   -0.13534E-15    0.20528E-09    0.48335E-14   -0.75183E-16
+  5448    0.68495E-14    0.18812E-15    0.00000E+00   -0.13592E-15    0.20515E-09    0.48355E-14   -0.75422E-16
+  5449    0.68345E-14    0.18764E-15    0.00000E+00   -0.13650E-15    0.20502E-09    0.48380E-14   -0.75645E-16
+  5450    0.68197E-14    0.18716E-15    0.00000E+00   -0.13708E-15    0.20489E-09    0.48408E-14   -0.75853E-16
+  5451    0.68051E-14    0.18669E-15    0.00000E+00   -0.13767E-15    0.20476E-09    0.48440E-14   -0.76045E-16
+  5452    0.67906E-14    0.18621E-15    0.00000E+00   -0.13825E-15    0.20463E-09    0.48474E-14   -0.76224E-16
+  5453    0.67761E-14    0.18572E-15    0.00000E+00   -0.13882E-15    0.20450E-09    0.48509E-14   -0.76388E-16
+  5454    0.67619E-14    0.18523E-15    0.00000E+00   -0.13940E-15    0.20437E-09    0.48544E-14   -0.76538E-16
+  5455    0.67478E-14    0.18474E-15    0.00000E+00   -0.13997E-15    0.20424E-09    0.48578E-14   -0.76676E-16
+  5456    0.67340E-14    0.18425E-15    0.00000E+00   -0.14053E-15    0.20411E-09    0.48610E-14   -0.76801E-16
+  5457    0.67202E-14    0.18376E-15    0.00000E+00   -0.14110E-15    0.20398E-09    0.48639E-14   -0.76915E-16
+  5458    0.67065E-14    0.18326E-15    0.00000E+00   -0.14164E-15    0.20385E-09    0.48665E-14   -0.77015E-16
+  5459    0.66930E-14    0.18275E-15    0.00000E+00   -0.14220E-15    0.20372E-09    0.48690E-14   -0.77100E-16
+  5460    0.66796E-14    0.18226E-15    0.00000E+00   -0.14275E-15    0.20359E-09    0.48715E-14   -0.77168E-16
+  5461    0.66664E-14    0.18175E-15    0.00000E+00   -0.14329E-15    0.20346E-09    0.48740E-14   -0.77219E-16
+  5462    0.66533E-14    0.18125E-15    0.00000E+00   -0.14383E-15    0.20333E-09    0.48766E-14   -0.77251E-16
+  5463    0.66404E-14    0.18073E-15    0.00000E+00   -0.14436E-15    0.20320E-09    0.48794E-14   -0.77261E-16
+  5464    0.66276E-14    0.18022E-15    0.00000E+00   -0.14488E-15    0.20307E-09    0.48826E-14   -0.77250E-16
+  5465    0.66149E-14    0.17970E-15    0.00000E+00   -0.14540E-15    0.20294E-09    0.48860E-14   -0.77218E-16
+  5466    0.66023E-14    0.17918E-15    0.00000E+00   -0.14592E-15    0.20281E-09    0.48895E-14   -0.77167E-16
+  5467    0.65900E-14    0.17866E-15    0.00000E+00   -0.14643E-15    0.20268E-09    0.48931E-14   -0.77099E-16
+  5468    0.65776E-14    0.17814E-15    0.00000E+00   -0.14692E-15    0.20255E-09    0.48966E-14   -0.77014E-16
+  5469    0.65654E-14    0.17761E-15    0.00000E+00   -0.14742E-15    0.20242E-09    0.48999E-14   -0.76916E-16
+  5470    0.65534E-14    0.17709E-15    0.00000E+00   -0.14790E-15    0.20229E-09    0.49030E-14   -0.76805E-16
+  5471    0.65414E-14    0.17656E-15    0.00000E+00   -0.14838E-15    0.20216E-09    0.49057E-14   -0.76682E-16
+  5472    0.65297E-14    0.17603E-15    0.00000E+00   -0.14884E-15    0.20203E-09    0.49082E-14   -0.76548E-16
+  5473    0.65180E-14    0.17550E-15    0.00000E+00   -0.14931E-15    0.20190E-09    0.49104E-14   -0.76399E-16
+  5474    0.65064E-14    0.17496E-15    0.00000E+00   -0.14976E-15    0.20178E-09    0.49126E-14   -0.76235E-16
+  5475    0.64950E-14    0.17441E-15    0.00000E+00   -0.15021E-15    0.20165E-09    0.49146E-14   -0.76054E-16
+  5476    0.64837E-14    0.17387E-15    0.00000E+00   -0.15063E-15    0.20152E-09    0.49167E-14   -0.75855E-16
+  5477    0.64725E-14    0.17333E-15    0.00000E+00   -0.15106E-15    0.20139E-09    0.49189E-14   -0.75636E-16
+  5478    0.64614E-14    0.17279E-15    0.00000E+00   -0.15147E-15    0.20126E-09    0.49212E-14   -0.75397E-16
+  5479    0.64503E-14    0.17223E-15    0.00000E+00   -0.15188E-15    0.20113E-09    0.49236E-14   -0.75137E-16
+  5480    0.64394E-14    0.17169E-15    0.00000E+00   -0.15227E-15    0.20100E-09    0.49261E-14   -0.74859E-16
+  5481    0.64287E-14    0.17112E-15    0.00000E+00   -0.15267E-15    0.20088E-09    0.49285E-14   -0.74564E-16
+  5482    0.64181E-14    0.17057E-15    0.00000E+00   -0.15304E-15    0.20075E-09    0.49309E-14   -0.74253E-16
+  5483    0.64075E-14    0.17003E-15    0.00000E+00   -0.15341E-15    0.20062E-09    0.49330E-14   -0.73928E-16
+  5484    0.63971E-14    0.16946E-15    0.00000E+00   -0.15376E-15    0.20049E-09    0.49350E-14   -0.73590E-16
+  5485    0.63867E-14    0.16890E-15    0.00000E+00   -0.15411E-15    0.20036E-09    0.49366E-14   -0.73240E-16
+  5486    0.63765E-14    0.16834E-15    0.00000E+00   -0.15444E-15    0.20024E-09    0.49380E-14   -0.72879E-16
+  5487    0.63663E-14    0.16776E-15    0.00000E+00   -0.15477E-15    0.20011E-09    0.49392E-14   -0.72506E-16
+  5488    0.63563E-14    0.16720E-15    0.00000E+00   -0.15508E-15    0.19998E-09    0.49403E-14   -0.72123E-16
+  5489    0.63464E-14    0.16663E-15    0.00000E+00   -0.15537E-15    0.19985E-09    0.49412E-14   -0.71728E-16
+  5490    0.63365E-14    0.16608E-15    0.00000E+00   -0.15567E-15    0.19972E-09    0.49422E-14   -0.71322E-16
+  5491    0.63268E-14    0.16551E-15    0.00000E+00   -0.15594E-15    0.19960E-09    0.49431E-14   -0.70906E-16
+  5492    0.63171E-14    0.16493E-15    0.00000E+00   -0.15621E-15    0.19947E-09    0.49441E-14   -0.70479E-16
+  5493    0.63076E-14    0.16437E-15    0.00000E+00   -0.15646E-15    0.19934E-09    0.49451E-14   -0.70041E-16
+  5494    0.62981E-14    0.16380E-15    0.00000E+00   -0.15670E-15    0.19922E-09    0.49460E-14   -0.69591E-16
+  5495    0.62887E-14    0.16322E-15    0.00000E+00   -0.15693E-15    0.19909E-09    0.49470E-14   -0.69128E-16
+  5496    0.62793E-14    0.16265E-15    0.00000E+00   -0.15714E-15    0.19896E-09    0.49479E-14   -0.68651E-16
+  5497    0.62701E-14    0.16207E-15    0.00000E+00   -0.15735E-15    0.19883E-09    0.49487E-14   -0.68161E-16
+  5498    0.62610E-14    0.16148E-15    0.00000E+00   -0.15754E-15    0.19871E-09    0.49494E-14   -0.67655E-16
+  5499    0.62519E-14    0.16090E-15    0.00000E+00   -0.15772E-15    0.19858E-09    0.49499E-14   -0.67134E-16
+  5500    0.62429E-14    0.16031E-15    0.00000E+00   -0.15788E-15    0.19845E-09    0.49503E-14   -0.66599E-16
+  5501    0.62341E-14    0.15973E-15    0.00000E+00   -0.15804E-15    0.19833E-09    0.49506E-14   -0.66052E-16
+  5502    0.62253E-14    0.15915E-15    0.00000E+00   -0.15817E-15    0.19820E-09    0.49508E-14   -0.65494E-16
+  5503    0.62166E-14    0.15856E-15    0.00000E+00   -0.15830E-15    0.19807E-09    0.49509E-14   -0.64926E-16
+  5504    0.62079E-14    0.15797E-15    0.00000E+00   -0.15843E-15    0.19795E-09    0.49510E-14   -0.64351E-16
+  5505    0.61992E-14    0.15739E-15    0.00000E+00   -0.15853E-15    0.19782E-09    0.49511E-14   -0.63770E-16
+  5506    0.61907E-14    0.15679E-15    0.00000E+00   -0.15861E-15    0.19769E-09    0.49511E-14   -0.63184E-16
+  5507    0.61823E-14    0.15621E-15    0.00000E+00   -0.15869E-15    0.19757E-09    0.49512E-14   -0.62590E-16
+  5508    0.61740E-14    0.15562E-15    0.00000E+00   -0.15875E-15    0.19744E-09    0.49513E-14   -0.61989E-16
+  5509    0.61656E-14    0.15504E-15    0.00000E+00   -0.15879E-15    0.19732E-09    0.49514E-14   -0.61376E-16
+  5510    0.61574E-14    0.15445E-15    0.00000E+00   -0.15883E-15    0.19719E-09    0.49517E-14   -0.60750E-16
+  5511    0.61492E-14    0.15386E-15    0.00000E+00   -0.15885E-15    0.19706E-09    0.49520E-14   -0.60109E-16
+  5512    0.61410E-14    0.15326E-15    0.00000E+00   -0.15887E-15    0.19694E-09    0.49525E-14   -0.59451E-16
+  5513    0.61330E-14    0.15267E-15    0.00000E+00   -0.15886E-15    0.19681E-09    0.49531E-14   -0.58773E-16
+  5514    0.61249E-14    0.15209E-15    0.00000E+00   -0.15884E-15    0.19669E-09    0.49539E-14   -0.58079E-16
+  5515    0.61169E-14    0.15150E-15    0.00000E+00   -0.15881E-15    0.19656E-09    0.49546E-14   -0.57368E-16
+  5516    0.61090E-14    0.15090E-15    0.00000E+00   -0.15876E-15    0.19644E-09    0.49554E-14   -0.56644E-16
+  5517    0.61011E-14    0.15030E-15    0.00000E+00   -0.15870E-15    0.19631E-09    0.49562E-14   -0.55908E-16
+  5518    0.60933E-14    0.14971E-15    0.00000E+00   -0.15863E-15    0.19618E-09    0.49568E-14   -0.55161E-16
+  5519    0.60857E-14    0.14911E-15    0.00000E+00   -0.15854E-15    0.19606E-09    0.49573E-14   -0.54406E-16
+  5520    0.60779E-14    0.14852E-15    0.00000E+00   -0.15844E-15    0.19593E-09    0.49576E-14   -0.53644E-16
+  5521    0.60704E-14    0.14792E-15    0.00000E+00   -0.15833E-15    0.19581E-09    0.49578E-14   -0.52875E-16
+  5522    0.60628E-14    0.14734E-15    0.00000E+00   -0.15821E-15    0.19568E-09    0.49578E-14   -0.52100E-16
+  5523    0.60552E-14    0.14674E-15    0.00000E+00   -0.15807E-15    0.19556E-09    0.49578E-14   -0.51317E-16
+  5524    0.60478E-14    0.14616E-15    0.00000E+00   -0.15790E-15    0.19543E-09    0.49578E-14   -0.50527E-16
+  5525    0.60404E-14    0.14556E-15    0.00000E+00   -0.15774E-15    0.19531E-09    0.49579E-14   -0.49729E-16
+  5526    0.60329E-14    0.14497E-15    0.00000E+00   -0.15756E-15    0.19518E-09    0.49580E-14   -0.48924E-16
+  5527    0.60257E-14    0.14438E-15    0.00000E+00   -0.15736E-15    0.19506E-09    0.49582E-14   -0.48111E-16
+  5528    0.60182E-14    0.14378E-15    0.00000E+00   -0.15715E-15    0.19493E-09    0.49585E-14   -0.47291E-16
+  5529    0.60111E-14    0.14319E-15    0.00000E+00   -0.15694E-15    0.19481E-09    0.49588E-14   -0.46464E-16
+  5530    0.60038E-14    0.14260E-15    0.00000E+00   -0.15670E-15    0.19469E-09    0.49589E-14   -0.45631E-16
+  5531    0.59966E-14    0.14202E-15    0.00000E+00   -0.15645E-15    0.19456E-09    0.49589E-14   -0.44792E-16
+  5532    0.59894E-14    0.14144E-15    0.00000E+00   -0.15619E-15    0.19444E-09    0.49585E-14   -0.43950E-16
+  5533    0.59822E-14    0.14085E-15    0.00000E+00   -0.15592E-15    0.19431E-09    0.49578E-14   -0.43103E-16
+  5534    0.59751E-14    0.14026E-15    0.00000E+00   -0.15563E-15    0.19419E-09    0.49566E-14   -0.42253E-16
+  5535    0.59681E-14    0.13967E-15    0.00000E+00   -0.15533E-15    0.19406E-09    0.49550E-14   -0.41400E-16
+  5536    0.59610E-14    0.13908E-15    0.00000E+00   -0.15501E-15    0.19394E-09    0.49532E-14   -0.40545E-16
+  5537    0.59540E-14    0.13850E-15    0.00000E+00   -0.15469E-15    0.19382E-09    0.49512E-14   -0.39687E-16
+  5538    0.59469E-14    0.13792E-15    0.00000E+00   -0.15435E-15    0.19369E-09    0.49491E-14   -0.38829E-16
+  5539    0.59400E-14    0.13734E-15    0.00000E+00   -0.15401E-15    0.19357E-09    0.49471E-14   -0.37970E-16
+  5540    0.59331E-14    0.13677E-15    0.00000E+00   -0.15364E-15    0.19345E-09    0.49451E-14   -0.37110E-16
+  5541    0.59262E-14    0.13618E-15    0.00000E+00   -0.15326E-15    0.19332E-09    0.49434E-14   -0.36250E-16
+  5542    0.59192E-14    0.13562E-15    0.00000E+00   -0.15288E-15    0.19320E-09    0.49418E-14   -0.35388E-16
+  5543    0.59124E-14    0.13503E-15    0.00000E+00   -0.15248E-15    0.19307E-09    0.49402E-14   -0.34522E-16
+  5544    0.59056E-14    0.13446E-15    0.00000E+00   -0.15207E-15    0.19295E-09    0.49385E-14   -0.33651E-16
+  5545    0.58987E-14    0.13390E-15    0.00000E+00   -0.15165E-15    0.19283E-09    0.49366E-14   -0.32773E-16
+  5546    0.58919E-14    0.13332E-15    0.00000E+00   -0.15121E-15    0.19270E-09    0.49345E-14   -0.31886E-16
+  5547    0.58852E-14    0.13275E-15    0.00000E+00   -0.15076E-15    0.19258E-09    0.49320E-14   -0.30988E-16
+  5548    0.58783E-14    0.13219E-15    0.00000E+00   -0.15030E-15    0.19246E-09    0.49290E-14   -0.30077E-16
+  5549    0.58717E-14    0.13163E-15    0.00000E+00   -0.14983E-15    0.19234E-09    0.49257E-14   -0.29156E-16
+  5550    0.58649E-14    0.13106E-15    0.00000E+00   -0.14935E-15    0.19221E-09    0.49222E-14   -0.28224E-16
+  5551    0.58583E-14    0.13049E-15    0.00000E+00   -0.14886E-15    0.19209E-09    0.49185E-14   -0.27284E-16
+  5552    0.58515E-14    0.12994E-15    0.00000E+00   -0.14835E-15    0.19197E-09    0.49149E-14   -0.26337E-16
+  5553    0.58449E-14    0.12938E-15    0.00000E+00   -0.14784E-15    0.19184E-09    0.49115E-14   -0.25385E-16
+  5554    0.58382E-14    0.12882E-15    0.00000E+00   -0.14731E-15    0.19172E-09    0.49082E-14   -0.24428E-16
+  5555    0.58315E-14    0.12827E-15    0.00000E+00   -0.14677E-15    0.19160E-09    0.49054E-14   -0.23469E-16
+  5556    0.58249E-14    0.12772E-15    0.00000E+00   -0.14622E-15    0.19148E-09    0.49028E-14   -0.22507E-16
+  5557    0.58182E-14    0.12717E-15    0.00000E+00   -0.14567E-15    0.19135E-09    0.49004E-14   -0.21543E-16
+  5558    0.58116E-14    0.12662E-15    0.00000E+00   -0.14510E-15    0.19123E-09    0.48981E-14   -0.20575E-16
+  5559    0.58048E-14    0.12607E-15    0.00000E+00   -0.14453E-15    0.19111E-09    0.48957E-14   -0.19603E-16
+  5560    0.57982E-14    0.12552E-15    0.00000E+00   -0.14394E-15    0.19099E-09    0.48931E-14   -0.18628E-16
+  5561    0.57916E-14    0.12499E-15    0.00000E+00   -0.14334E-15    0.19087E-09    0.48902E-14   -0.17649E-16
+  5562    0.57850E-14    0.12445E-15    0.00000E+00   -0.14273E-15    0.19074E-09    0.48869E-14   -0.16667E-16
+  5563    0.57784E-14    0.12392E-15    0.00000E+00   -0.14211E-15    0.19062E-09    0.48834E-14   -0.15683E-16
+  5564    0.57718E-14    0.12339E-15    0.00000E+00   -0.14150E-15    0.19050E-09    0.48797E-14   -0.14698E-16
+  5565    0.57652E-14    0.12285E-15    0.00000E+00   -0.14087E-15    0.19038E-09    0.48759E-14   -0.13717E-16
+  5566    0.57587E-14    0.12232E-15    0.00000E+00   -0.14022E-15    0.19026E-09    0.48722E-14   -0.12739E-16
+  5567    0.57520E-14    0.12180E-15    0.00000E+00   -0.13957E-15    0.19013E-09    0.48687E-14   -0.11768E-16
+  5568    0.57454E-14    0.12127E-15    0.00000E+00   -0.13890E-15    0.19001E-09    0.48654E-14   -0.10806E-16
+  5569    0.57389E-14    0.12075E-15    0.00000E+00   -0.13824E-15    0.18989E-09    0.48625E-14   -0.98534E-17
+  5570    0.57322E-14    0.12024E-15    0.00000E+00   -0.13756E-15    0.18977E-09    0.48599E-14   -0.89103E-17
+  5571    0.57257E-14    0.11971E-15    0.00000E+00   -0.13688E-15    0.18965E-09    0.48574E-14   -0.79752E-17
+  5572    0.57191E-14    0.11919E-15    0.00000E+00   -0.13619E-15    0.18953E-09    0.48549E-14   -0.70465E-17
+  5573    0.57124E-14    0.11869E-15    0.00000E+00   -0.13548E-15    0.18941E-09    0.48524E-14   -0.61229E-17
+  5574    0.57057E-14    0.11817E-15    0.00000E+00   -0.13477E-15    0.18929E-09    0.48495E-14   -0.52029E-17
+  5575    0.56991E-14    0.11768E-15    0.00000E+00   -0.13406E-15    0.18916E-09    0.48464E-14   -0.42852E-17
+  5576    0.56925E-14    0.11717E-15    0.00000E+00   -0.13334E-15    0.18904E-09    0.48427E-14   -0.33684E-17
+  5577    0.56859E-14    0.11668E-15    0.00000E+00   -0.13260E-15    0.18892E-09    0.48387E-14   -0.24517E-17
+  5578    0.56793E-14    0.11618E-15    0.00000E+00   -0.13187E-15    0.18880E-09    0.48345E-14   -0.15345E-17
+  5579    0.56726E-14    0.11569E-15    0.00000E+00   -0.13113E-15    0.18868E-09    0.48301E-14   -0.61595E-18
+  5580    0.56659E-14    0.11520E-15    0.00000E+00   -0.13038E-15    0.18856E-09    0.48258E-14    0.30461E-18
+  5581    0.56594E-14    0.11472E-15    0.00000E+00   -0.12963E-15    0.18844E-09    0.48216E-14    0.12279E-17
+  5582    0.56526E-14    0.11423E-15    0.00000E+00   -0.12886E-15    0.18832E-09    0.48177E-14    0.21546E-17
+  5583    0.56460E-14    0.11375E-15    0.00000E+00   -0.12810E-15    0.18820E-09    0.48142E-14    0.30852E-17
+  5584    0.56394E-14    0.11327E-15    0.00000E+00   -0.12733E-15    0.18808E-09    0.48109E-14    0.40190E-17
+  5585    0.56326E-14    0.11280E-15    0.00000E+00   -0.12655E-15    0.18796E-09    0.48078E-14    0.49552E-17
+  5586    0.56259E-14    0.11233E-15    0.00000E+00   -0.12577E-15    0.18784E-09    0.48046E-14    0.58928E-17
+  5587    0.56191E-14    0.11186E-15    0.00000E+00   -0.12498E-15    0.18772E-09    0.48012E-14    0.68309E-17
+  5588    0.56125E-14    0.11139E-15    0.00000E+00   -0.12419E-15    0.18760E-09    0.47974E-14    0.77686E-17
+  5589    0.56057E-14    0.11093E-15    0.00000E+00   -0.12339E-15    0.18748E-09    0.47931E-14    0.87050E-17
+  5590    0.55990E-14    0.11048E-15    0.00000E+00   -0.12259E-15    0.18736E-09    0.47881E-14    0.96393E-17
+  5591    0.55922E-14    0.11001E-15    0.00000E+00   -0.12178E-15    0.18724E-09    0.47827E-14    0.10571E-16
+  5592    0.55854E-14    0.10956E-15    0.00000E+00   -0.12097E-15    0.18712E-09    0.47769E-14    0.11501E-16
+  5593    0.55787E-14    0.10912E-15    0.00000E+00   -0.12016E-15    0.18700E-09    0.47709E-14    0.12428E-16
+  5594    0.55718E-14    0.10867E-15    0.00000E+00   -0.11933E-15    0.18688E-09    0.47648E-14    0.13353E-16
+  5595    0.55651E-14    0.10823E-15    0.00000E+00   -0.11852E-15    0.18676E-09    0.47589E-14    0.14275E-16
+  5596    0.55583E-14    0.10780E-15    0.00000E+00   -0.11769E-15    0.18664E-09    0.47533E-14    0.15194E-16
+  5597    0.55515E-14    0.10736E-15    0.00000E+00   -0.11686E-15    0.18652E-09    0.47481E-14    0.16111E-16
+  5598    0.55446E-14    0.10693E-15    0.00000E+00   -0.11603E-15    0.18640E-09    0.47432E-14    0.17022E-16
+  5599    0.55378E-14    0.10650E-15    0.00000E+00   -0.11520E-15    0.18628E-09    0.47384E-14    0.17926E-16
+  5600    0.55310E-14    0.10608E-15    0.00000E+00   -0.11436E-15    0.18616E-09    0.47336E-14    0.18820E-16
+  5601    0.55241E-14    0.10566E-15    0.00000E+00   -0.11352E-15    0.18604E-09    0.47287E-14    0.19703E-16
+  5602    0.55172E-14    0.10524E-15    0.00000E+00   -0.11269E-15    0.18592E-09    0.47235E-14    0.20571E-16
+  5603    0.55103E-14    0.10482E-15    0.00000E+00   -0.11185E-15    0.18581E-09    0.47179E-14    0.21423E-16
+  5604    0.55033E-14    0.10442E-15    0.00000E+00   -0.11100E-15    0.18569E-09    0.47117E-14    0.22258E-16
+  5605    0.54964E-14    0.10400E-15    0.00000E+00   -0.11015E-15    0.18557E-09    0.47050E-14    0.23076E-16
+  5606    0.54895E-14    0.10360E-15    0.00000E+00   -0.10931E-15    0.18545E-09    0.46981E-14    0.23880E-16
+  5607    0.54824E-14    0.10321E-15    0.00000E+00   -0.10846E-15    0.18533E-09    0.46911E-14    0.24673E-16
+  5608    0.54754E-14    0.10280E-15    0.00000E+00   -0.10761E-15    0.18521E-09    0.46842E-14    0.25456E-16
+  5609    0.54686E-14    0.10241E-15    0.00000E+00   -0.10677E-15    0.18509E-09    0.46775E-14    0.26233E-16
+  5610    0.54615E-14    0.10202E-15    0.00000E+00   -0.10592E-15    0.18498E-09    0.46712E-14    0.27004E-16
+  5611    0.54545E-14    0.10164E-15    0.00000E+00   -0.10506E-15    0.18486E-09    0.46654E-14    0.27773E-16
+  5612    0.54474E-14    0.10125E-15    0.00000E+00   -0.10421E-15    0.18474E-09    0.46600E-14    0.28539E-16
+  5613    0.54404E-14    0.10087E-15    0.00000E+00   -0.10336E-15    0.18462E-09    0.46549E-14    0.29302E-16
+  5614    0.54333E-14    0.10050E-15    0.00000E+00   -0.10251E-15    0.18450E-09    0.46498E-14    0.30062E-16
+  5615    0.54263E-14    0.10013E-15    0.00000E+00   -0.10166E-15    0.18438E-09    0.46448E-14    0.30818E-16
+  5616    0.54192E-14    0.99763E-16    0.00000E+00   -0.10081E-15    0.18427E-09    0.46395E-14    0.31570E-16
+  5617    0.54121E-14    0.99389E-16    0.00000E+00   -0.99963E-16    0.18415E-09    0.46338E-14    0.32318E-16
+  5618    0.54050E-14    0.99026E-16    0.00000E+00   -0.99115E-16    0.18403E-09    0.46277E-14    0.33061E-16
+  5619    0.53978E-14    0.98673E-16    0.00000E+00   -0.98266E-16    0.18391E-09    0.46212E-14    0.33799E-16
+  5620    0.53908E-14    0.98310E-16    0.00000E+00   -0.97418E-16    0.18380E-09    0.46145E-14    0.34532E-16
+  5621    0.53835E-14    0.97957E-16    0.00000E+00   -0.96570E-16    0.18368E-09    0.46077E-14    0.35259E-16
+  5622    0.53763E-14    0.97614E-16    0.00000E+00   -0.95732E-16    0.18356E-09    0.46010E-14    0.35981E-16
+  5623    0.53692E-14    0.97271E-16    0.00000E+00   -0.94884E-16    0.18344E-09    0.45945E-14    0.36696E-16
+  5624    0.53619E-14    0.96927E-16    0.00000E+00   -0.94046E-16    0.18333E-09    0.45884E-14    0.37405E-16
+  5625    0.53546E-14    0.96592E-16    0.00000E+00   -0.93207E-16    0.18321E-09    0.45827E-14    0.38106E-16
+  5626    0.53475E-14    0.96247E-16    0.00000E+00   -0.92368E-16    0.18309E-09    0.45774E-14    0.38801E-16
+  5627    0.53402E-14    0.95912E-16    0.00000E+00   -0.91530E-16    0.18297E-09    0.45723E-14    0.39488E-16
+  5628    0.53329E-14    0.95587E-16    0.00000E+00   -0.90701E-16    0.18286E-09    0.45674E-14    0.40168E-16
+  5629    0.53257E-14    0.95271E-16    0.00000E+00   -0.89872E-16    0.18274E-09    0.45624E-14    0.40839E-16
+  5630    0.53184E-14    0.94946E-16    0.00000E+00   -0.89043E-16    0.18262E-09    0.45572E-14    0.41503E-16
+  5631    0.53110E-14    0.94631E-16    0.00000E+00   -0.88224E-16    0.18251E-09    0.45516E-14    0.42158E-16
+  5632    0.53038E-14    0.94307E-16    0.00000E+00   -0.87395E-16    0.18239E-09    0.45457E-14    0.42805E-16
+  5633    0.52964E-14    0.94003E-16    0.00000E+00   -0.86577E-16    0.18227E-09    0.45394E-14    0.43441E-16
+  5634    0.52890E-14    0.93690E-16    0.00000E+00   -0.85768E-16    0.18216E-09    0.45329E-14    0.44066E-16
+  5635    0.52816E-14    0.93387E-16    0.00000E+00   -0.84960E-16    0.18204E-09    0.45262E-14    0.44677E-16
+  5636    0.52743E-14    0.93084E-16    0.00000E+00   -0.84152E-16    0.18192E-09    0.45196E-14    0.45274E-16
+  5637    0.52668E-14    0.92801E-16    0.00000E+00   -0.83343E-16    0.18181E-09    0.45131E-14    0.45854E-16
+  5638    0.52595E-14    0.92498E-16    0.00000E+00   -0.82545E-16    0.18169E-09    0.45068E-14    0.46416E-16
+  5639    0.52520E-14    0.92215E-16    0.00000E+00   -0.81746E-16    0.18157E-09    0.45008E-14    0.46959E-16
+  5640    0.52446E-14    0.91921E-16    0.00000E+00   -0.80957E-16    0.18146E-09    0.44951E-14    0.47485E-16
+  5641    0.52372E-14    0.91638E-16    0.00000E+00   -0.80168E-16    0.18134E-09    0.44896E-14    0.47996E-16
+  5642    0.52298E-14    0.91354E-16    0.00000E+00   -0.79379E-16    0.18122E-09    0.44840E-14    0.48493E-16
+  5643    0.52222E-14    0.91079E-16    0.00000E+00   -0.78599E-16    0.18111E-09    0.44784E-14    0.48979E-16
+  5644    0.52148E-14    0.90805E-16    0.00000E+00   -0.77828E-16    0.18099E-09    0.44725E-14    0.49456E-16
+  5645    0.52073E-14    0.90520E-16    0.00000E+00   -0.77056E-16    0.18088E-09    0.44663E-14    0.49926E-16
+  5646    0.51998E-14    0.90255E-16    0.00000E+00   -0.76289E-16    0.18076E-09    0.44597E-14    0.50391E-16
+  5647    0.51923E-14    0.89989E-16    0.00000E+00   -0.75528E-16    0.18064E-09    0.44528E-14    0.50851E-16
+  5648    0.51847E-14    0.89723E-16    0.00000E+00   -0.74771E-16    0.18053E-09    0.44456E-14    0.51304E-16
+  5649    0.51773E-14    0.89457E-16    0.00000E+00   -0.74019E-16    0.18041E-09    0.44383E-14    0.51751E-16
+  5650    0.51697E-14    0.89201E-16    0.00000E+00   -0.73273E-16    0.18030E-09    0.44310E-14    0.52191E-16
+  5651    0.51622E-14    0.88935E-16    0.00000E+00   -0.72532E-16    0.18018E-09    0.44237E-14    0.52622E-16
+  5652    0.51546E-14    0.88690E-16    0.00000E+00   -0.71796E-16    0.18007E-09    0.44166E-14    0.53045E-16
+  5653    0.51471E-14    0.88434E-16    0.00000E+00   -0.71065E-16    0.17995E-09    0.44097E-14    0.53458E-16
+  5654    0.51395E-14    0.88180E-16    0.00000E+00   -0.70340E-16    0.17984E-09    0.44030E-14    0.53863E-16
+  5655    0.51320E-14    0.87935E-16    0.00000E+00   -0.69621E-16    0.17972E-09    0.43964E-14    0.54257E-16
+  5656    0.51244E-14    0.87711E-16    0.00000E+00   -0.68908E-16    0.17961E-09    0.43897E-14    0.54642E-16
+  5657    0.51167E-14    0.87466E-16    0.00000E+00   -0.68200E-16    0.17949E-09    0.43830E-14    0.55018E-16
+  5658    0.51091E-14    0.87222E-16    0.00000E+00   -0.67498E-16    0.17938E-09    0.43761E-14    0.55383E-16
+  5659    0.51015E-14    0.86998E-16    0.00000E+00   -0.66801E-16    0.17926E-09    0.43690E-14    0.55739E-16
+  5660    0.50939E-14    0.86763E-16    0.00000E+00   -0.66111E-16    0.17915E-09    0.43615E-14    0.56084E-16
+  5661    0.50863E-14    0.86538E-16    0.00000E+00   -0.65426E-16    0.17903E-09    0.43537E-14    0.56419E-16
+  5662    0.50787E-14    0.86314E-16    0.00000E+00   -0.64749E-16    0.17892E-09    0.43458E-14    0.56744E-16
+  5663    0.50710E-14    0.86089E-16    0.00000E+00   -0.64076E-16    0.17880E-09    0.43378E-14    0.57057E-16
+  5664    0.50633E-14    0.85864E-16    0.00000E+00   -0.63410E-16    0.17869E-09    0.43298E-14    0.57360E-16
+  5665    0.50557E-14    0.85649E-16    0.00000E+00   -0.62750E-16    0.17857E-09    0.43219E-14    0.57652E-16
+  5666    0.50480E-14    0.85433E-16    0.00000E+00   -0.62096E-16    0.17846E-09    0.43142E-14    0.57932E-16
+  5667    0.50403E-14    0.85208E-16    0.00000E+00   -0.61449E-16    0.17835E-09    0.43068E-14    0.58200E-16
+  5668    0.50327E-14    0.85003E-16    0.00000E+00   -0.60808E-16    0.17823E-09    0.42996E-14    0.58456E-16
+  5669    0.50250E-14    0.84788E-16    0.00000E+00   -0.60173E-16    0.17812E-09    0.42926E-14    0.58699E-16
+  5670    0.50174E-14    0.84593E-16    0.00000E+00   -0.59545E-16    0.17800E-09    0.42858E-14    0.58928E-16
+  5671    0.50097E-14    0.84377E-16    0.00000E+00   -0.58924E-16    0.17789E-09    0.42790E-14    0.59142E-16
+  5672    0.50020E-14    0.84182E-16    0.00000E+00   -0.58309E-16    0.17777E-09    0.42723E-14    0.59341E-16
+  5673    0.49942E-14    0.83986E-16    0.00000E+00   -0.57701E-16    0.17766E-09    0.42656E-14    0.59525E-16
+  5674    0.49866E-14    0.83780E-16    0.00000E+00   -0.57099E-16    0.17755E-09    0.42588E-14    0.59691E-16
+  5675    0.49789E-14    0.83584E-16    0.00000E+00   -0.56504E-16    0.17743E-09    0.42519E-14    0.59843E-16
+  5676    0.49711E-14    0.83397E-16    0.00000E+00   -0.55917E-16    0.17732E-09    0.42451E-14    0.59980E-16
+  5677    0.49634E-14    0.83201E-16    0.00000E+00   -0.55335E-16    0.17721E-09    0.42383E-14    0.60106E-16
+  5678    0.49556E-14    0.83005E-16    0.00000E+00   -0.54760E-16    0.17709E-09    0.42317E-14    0.60221E-16
+  5679    0.49480E-14    0.82828E-16    0.00000E+00   -0.54192E-16    0.17698E-09    0.42251E-14    0.60328E-16
+  5680    0.49403E-14    0.82642E-16    0.00000E+00   -0.53631E-16    0.17687E-09    0.42187E-14    0.60427E-16
+  5681    0.49326E-14    0.82457E-16    0.00000E+00   -0.53077E-16    0.17675E-09    0.42125E-14    0.60520E-16
+  5682    0.49248E-14    0.82281E-16    0.00000E+00   -0.52529E-16    0.17664E-09    0.42064E-14    0.60607E-16
+  5683    0.49172E-14    0.82095E-16    0.00000E+00   -0.51989E-16    0.17653E-09    0.42005E-14    0.60687E-16
+  5684    0.49095E-14    0.81919E-16    0.00000E+00   -0.51456E-16    0.17641E-09    0.41947E-14    0.60759E-16
+  5685    0.49017E-14    0.81744E-16    0.00000E+00   -0.50928E-16    0.17630E-09    0.41889E-14    0.60823E-16
+  5686    0.48940E-14    0.81567E-16    0.00000E+00   -0.50408E-16    0.17619E-09    0.41832E-14    0.60879E-16
+  5687    0.48863E-14    0.81391E-16    0.00000E+00   -0.49895E-16    0.17607E-09    0.41774E-14    0.60924E-16
+  5688    0.48786E-14    0.81224E-16    0.00000E+00   -0.49388E-16    0.17596E-09    0.41716E-14    0.60960E-16
+  5689    0.48710E-14    0.81047E-16    0.00000E+00   -0.48889E-16    0.17585E-09    0.41658E-14    0.60985E-16
+  5690    0.48631E-14    0.80880E-16    0.00000E+00   -0.48396E-16    0.17574E-09    0.41600E-14    0.60999E-16
+  5691    0.48555E-14    0.80722E-16    0.00000E+00   -0.47910E-16    0.17562E-09    0.41541E-14    0.61002E-16
+  5692    0.48478E-14    0.80544E-16    0.00000E+00   -0.47431E-16    0.17551E-09    0.41482E-14    0.60992E-16
+  5693    0.48401E-14    0.80387E-16    0.00000E+00   -0.46958E-16    0.17540E-09    0.41423E-14    0.60971E-16
+  5694    0.48323E-14    0.80219E-16    0.00000E+00   -0.46492E-16    0.17529E-09    0.41364E-14    0.60936E-16
+  5695    0.48247E-14    0.80061E-16    0.00000E+00   -0.46033E-16    0.17517E-09    0.41304E-14    0.60889E-16
+  5696    0.48169E-14    0.79893E-16    0.00000E+00   -0.45580E-16    0.17506E-09    0.41245E-14    0.60828E-16
+  5697    0.48092E-14    0.79736E-16    0.00000E+00   -0.45134E-16    0.17495E-09    0.41186E-14    0.60756E-16
+  5698    0.48015E-14    0.79578E-16    0.00000E+00   -0.44695E-16    0.17484E-09    0.41127E-14    0.60670E-16
+  5699    0.47938E-14    0.79420E-16    0.00000E+00   -0.44263E-16    0.17472E-09    0.41069E-14    0.60573E-16
+  5700    0.47861E-14    0.79272E-16    0.00000E+00   -0.43838E-16    0.17461E-09    0.41010E-14    0.60465E-16
+  5701    0.47784E-14    0.79113E-16    0.00000E+00   -0.43419E-16    0.17450E-09    0.40952E-14    0.60344E-16
+  5702    0.47707E-14    0.78955E-16    0.00000E+00   -0.43005E-16    0.17439E-09    0.40894E-14    0.60213E-16
+  5703    0.47630E-14    0.78806E-16    0.00000E+00   -0.42599E-16    0.17428E-09    0.40837E-14    0.60071E-16
+  5704    0.47554E-14    0.78657E-16    0.00000E+00   -0.42200E-16    0.17417E-09    0.40779E-14    0.59918E-16
+  5705    0.47475E-14    0.78498E-16    0.00000E+00   -0.41806E-16    0.17405E-09    0.40721E-14    0.59754E-16
+  5706    0.47399E-14    0.78350E-16    0.00000E+00   -0.41420E-16    0.17394E-09    0.40662E-14    0.59579E-16
+  5707    0.47322E-14    0.78201E-16    0.00000E+00   -0.41040E-16    0.17383E-09    0.40603E-14    0.59393E-16
+  5708    0.47246E-14    0.78062E-16    0.00000E+00   -0.40666E-16    0.17372E-09    0.40542E-14    0.59196E-16
+  5709    0.47168E-14    0.77913E-16    0.00000E+00   -0.40298E-16    0.17361E-09    0.40480E-14    0.58988E-16
+  5710    0.47092E-14    0.77765E-16    0.00000E+00   -0.39936E-16    0.17350E-09    0.40417E-14    0.58770E-16
+  5711    0.47015E-14    0.77627E-16    0.00000E+00   -0.39581E-16    0.17339E-09    0.40354E-14    0.58543E-16
+  5712    0.46939E-14    0.77478E-16    0.00000E+00   -0.39232E-16    0.17327E-09    0.40290E-14    0.58308E-16
+  5713    0.46864E-14    0.77340E-16    0.00000E+00   -0.38888E-16    0.17316E-09    0.40226E-14    0.58065E-16
+  5714    0.46787E-14    0.77192E-16    0.00000E+00   -0.38551E-16    0.17305E-09    0.40163E-14    0.57815E-16
+  5715    0.46711E-14    0.77053E-16    0.00000E+00   -0.38220E-16    0.17294E-09    0.40101E-14    0.57560E-16
+  5716    0.46635E-14    0.76914E-16    0.00000E+00   -0.37894E-16    0.17283E-09    0.40041E-14    0.57299E-16
+  5717    0.46559E-14    0.76775E-16    0.00000E+00   -0.37574E-16    0.17272E-09    0.39981E-14    0.57034E-16
+  5718    0.46483E-14    0.76635E-16    0.00000E+00   -0.37260E-16    0.17261E-09    0.39922E-14    0.56762E-16
+  5719    0.46406E-14    0.76495E-16    0.00000E+00   -0.36952E-16    0.17250E-09    0.39863E-14    0.56484E-16
+  5720    0.46331E-14    0.76355E-16    0.00000E+00   -0.36649E-16    0.17239E-09    0.39803E-14    0.56199E-16
+  5721    0.46254E-14    0.76215E-16    0.00000E+00   -0.36352E-16    0.17228E-09    0.39743E-14    0.55907E-16
+  5722    0.46179E-14    0.76074E-16    0.00000E+00   -0.36060E-16    0.17217E-09    0.39681E-14    0.55607E-16
+  5723    0.46102E-14    0.75933E-16    0.00000E+00   -0.35774E-16    0.17206E-09    0.39617E-14    0.55299E-16
+  5724    0.46026E-14    0.75802E-16    0.00000E+00   -0.35493E-16    0.17195E-09    0.39553E-14    0.54982E-16
+  5725    0.45951E-14    0.75661E-16    0.00000E+00   -0.35217E-16    0.17184E-09    0.39488E-14    0.54655E-16
+  5726    0.45875E-14    0.75520E-16    0.00000E+00   -0.34947E-16    0.17173E-09    0.39423E-14    0.54318E-16
+  5727    0.45800E-14    0.75388E-16    0.00000E+00   -0.34681E-16    0.17162E-09    0.39359E-14    0.53969E-16
+  5728    0.45725E-14    0.75247E-16    0.00000E+00   -0.34421E-16    0.17151E-09    0.39297E-14    0.53607E-16
+  5729    0.45649E-14    0.75116E-16    0.00000E+00   -0.34166E-16    0.17140E-09    0.39237E-14    0.53233E-16
+  5730    0.45573E-14    0.74975E-16    0.00000E+00   -0.33916E-16    0.17129E-09    0.39180E-14    0.52844E-16
+  5731    0.45497E-14    0.74842E-16    0.00000E+00   -0.33671E-16    0.17118E-09    0.39126E-14    0.52443E-16
+  5732    0.45423E-14    0.74706E-16    0.00000E+00   -0.33430E-16    0.17107E-09    0.39073E-14    0.52031E-16
+  5733    0.45348E-14    0.74572E-16    0.00000E+00   -0.33193E-16    0.17096E-09    0.39021E-14    0.51608E-16
+  5734    0.45272E-14    0.74437E-16    0.00000E+00   -0.32963E-16    0.17085E-09    0.38969E-14    0.51176E-16
+  5735    0.45198E-14    0.74303E-16    0.00000E+00   -0.32736E-16    0.17074E-09    0.38917E-14    0.50736E-16
+  5736    0.45123E-14    0.74167E-16    0.00000E+00   -0.32513E-16    0.17063E-09    0.38863E-14    0.50290E-16
+  5737    0.45048E-14    0.74034E-16    0.00000E+00   -0.32295E-16    0.17052E-09    0.38809E-14    0.49839E-16
+  5738    0.44973E-14    0.73898E-16    0.00000E+00   -0.32081E-16    0.17041E-09    0.38753E-14    0.49382E-16
+  5739    0.44898E-14    0.73763E-16    0.00000E+00   -0.31872E-16    0.17030E-09    0.38697E-14    0.48920E-16
+  5740    0.44824E-14    0.73627E-16    0.00000E+00   -0.31666E-16    0.17019E-09    0.38643E-14    0.48453E-16
+  5741    0.44749E-14    0.73492E-16    0.00000E+00   -0.31464E-16    0.17008E-09    0.38590E-14    0.47980E-16
+  5742    0.44675E-14    0.73356E-16    0.00000E+00   -0.31267E-16    0.16997E-09    0.38540E-14    0.47504E-16
+  5743    0.44601E-14    0.73220E-16    0.00000E+00   -0.31074E-16    0.16986E-09    0.38495E-14    0.47022E-16
+  5744    0.44526E-14    0.73084E-16    0.00000E+00   -0.30884E-16    0.16975E-09    0.38454E-14    0.46535E-16
+  5745    0.44452E-14    0.72948E-16    0.00000E+00   -0.30697E-16    0.16964E-09    0.38416E-14    0.46045E-16
+  5746    0.44377E-14    0.72812E-16    0.00000E+00   -0.30515E-16    0.16954E-09    0.38382E-14    0.45549E-16
+  5747    0.44303E-14    0.72676E-16    0.00000E+00   -0.30335E-16    0.16943E-09    0.38348E-14    0.45050E-16
+  5748    0.44229E-14    0.72540E-16    0.00000E+00   -0.30159E-16    0.16932E-09    0.38315E-14    0.44547E-16
+  5749    0.44155E-14    0.72404E-16    0.00000E+00   -0.29988E-16    0.16921E-09    0.38281E-14    0.44039E-16
+  5750    0.44082E-14    0.72267E-16    0.00000E+00   -0.29818E-16    0.16910E-09    0.38245E-14    0.43529E-16
+  5751    0.44008E-14    0.72129E-16    0.00000E+00   -0.29652E-16    0.16899E-09    0.38206E-14    0.43014E-16
+  5752    0.43934E-14    0.71992E-16    0.00000E+00   -0.29490E-16    0.16888E-09    0.38165E-14    0.42496E-16
+  5753    0.43860E-14    0.71855E-16    0.00000E+00   -0.29329E-16    0.16878E-09    0.38123E-14    0.41975E-16
+  5754    0.43788E-14    0.71717E-16    0.00000E+00   -0.29172E-16    0.16867E-09    0.38081E-14    0.41450E-16
+  5755    0.43714E-14    0.71579E-16    0.00000E+00   -0.29018E-16    0.16856E-09    0.38040E-14    0.40921E-16
+  5756    0.43640E-14    0.71440E-16    0.00000E+00   -0.28866E-16    0.16845E-09    0.38001E-14    0.40388E-16
+  5757    0.43567E-14    0.71301E-16    0.00000E+00   -0.28718E-16    0.16834E-09    0.37966E-14    0.39851E-16
+  5758    0.43494E-14    0.71162E-16    0.00000E+00   -0.28571E-16    0.16824E-09    0.37934E-14    0.39310E-16
+  5759    0.43420E-14    0.71022E-16    0.00000E+00   -0.28428E-16    0.16813E-09    0.37906E-14    0.38764E-16
+  5760    0.43347E-14    0.70881E-16    0.00000E+00   -0.28286E-16    0.16802E-09    0.37879E-14    0.38211E-16
+  5761    0.43275E-14    0.70740E-16    0.00000E+00   -0.28146E-16    0.16791E-09    0.37853E-14    0.37651E-16
+  5762    0.43201E-14    0.70599E-16    0.00000E+00   -0.28010E-16    0.16780E-09    0.37827E-14    0.37081E-16
+  5763    0.43129E-14    0.70458E-16    0.00000E+00   -0.27875E-16    0.16770E-09    0.37798E-14    0.36502E-16
+  5764    0.43055E-14    0.70316E-16    0.00000E+00   -0.27743E-16    0.16759E-09    0.37766E-14    0.35911E-16
+  5765    0.42982E-14    0.70173E-16    0.00000E+00   -0.27612E-16    0.16748E-09    0.37730E-14    0.35308E-16
+  5766    0.42910E-14    0.70030E-16    0.00000E+00   -0.27484E-16    0.16737E-09    0.37691E-14    0.34694E-16
+  5767    0.42837E-14    0.69887E-16    0.00000E+00   -0.27357E-16    0.16727E-09    0.37650E-14    0.34072E-16
+  5768    0.42765E-14    0.69742E-16    0.00000E+00   -0.27231E-16    0.16716E-09    0.37608E-14    0.33444E-16
+  5769    0.42692E-14    0.69599E-16    0.00000E+00   -0.27108E-16    0.16705E-09    0.37568E-14    0.32811E-16
+  5770    0.42620E-14    0.69454E-16    0.00000E+00   -0.26986E-16    0.16694E-09    0.37529E-14    0.32175E-16
+  5771    0.42547E-14    0.69309E-16    0.00000E+00   -0.26866E-16    0.16684E-09    0.37494E-14    0.31540E-16
+  5772    0.42475E-14    0.69163E-16    0.00000E+00   -0.26746E-16    0.16673E-09    0.37464E-14    0.30906E-16
+  5773    0.42402E-14    0.69017E-16    0.00000E+00   -0.26627E-16    0.16662E-09    0.37437E-14    0.30273E-16
+  5774    0.42330E-14    0.68869E-16    0.00000E+00   -0.26511E-16    0.16652E-09    0.37412E-14    0.29642E-16
+  5775    0.42258E-14    0.68721E-16    0.00000E+00   -0.26395E-16    0.16641E-09    0.37387E-14    0.29011E-16
+  5776    0.42186E-14    0.68574E-16    0.00000E+00   -0.26281E-16    0.16630E-09    0.37362E-14    0.28380E-16
+  5777    0.42113E-14    0.68425E-16    0.00000E+00   -0.26167E-16    0.16620E-09    0.37334E-14    0.27750E-16
+  5778    0.42041E-14    0.68276E-16    0.00000E+00   -0.26055E-16    0.16609E-09    0.37303E-14    0.27119E-16
+  5779    0.41969E-14    0.68126E-16    0.00000E+00   -0.25943E-16    0.16598E-09    0.37267E-14    0.26488E-16
+  5780    0.41897E-14    0.67977E-16    0.00000E+00   -0.25832E-16    0.16588E-09    0.37228E-14    0.25855E-16
+  5781    0.41824E-14    0.67826E-16    0.00000E+00   -0.25722E-16    0.16577E-09    0.37186E-14    0.25222E-16
+  5782    0.41753E-14    0.67674E-16    0.00000E+00   -0.25612E-16    0.16566E-09    0.37143E-14    0.24588E-16
+  5783    0.41681E-14    0.67522E-16    0.00000E+00   -0.25502E-16    0.16556E-09    0.37102E-14    0.23953E-16
+  5784    0.41609E-14    0.67369E-16    0.00000E+00   -0.25393E-16    0.16545E-09    0.37062E-14    0.23317E-16
+  5785    0.41537E-14    0.67216E-16    0.00000E+00   -0.25285E-16    0.16534E-09    0.37025E-14    0.22680E-16
+  5786    0.41465E-14    0.67062E-16    0.00000E+00   -0.25177E-16    0.16524E-09    0.36994E-14    0.22042E-16
+  5787    0.41393E-14    0.66908E-16    0.00000E+00   -0.25069E-16    0.16513E-09    0.36965E-14    0.21403E-16
+  5788    0.41322E-14    0.66753E-16    0.00000E+00   -0.24962E-16    0.16503E-09    0.36940E-14    0.20763E-16
+  5789    0.41250E-14    0.66597E-16    0.00000E+00   -0.24855E-16    0.16492E-09    0.36915E-14    0.20123E-16
+  5790    0.41179E-14    0.66440E-16    0.00000E+00   -0.24746E-16    0.16481E-09    0.36890E-14    0.19483E-16
+  5791    0.41107E-14    0.66284E-16    0.00000E+00   -0.24639E-16    0.16471E-09    0.36863E-14    0.18843E-16
+  5792    0.41036E-14    0.66127E-16    0.00000E+00   -0.24532E-16    0.16460E-09    0.36833E-14    0.18204E-16
+  5793    0.40964E-14    0.65969E-16    0.00000E+00   -0.24424E-16    0.16450E-09    0.36799E-14    0.17565E-16
+  5794    0.40892E-14    0.65810E-16    0.00000E+00   -0.24316E-16    0.16439E-09    0.36763E-14    0.16925E-16
+  5795    0.40821E-14    0.65651E-16    0.00000E+00   -0.24209E-16    0.16428E-09    0.36725E-14    0.16283E-16
+  5796    0.40750E-14    0.65492E-16    0.00000E+00   -0.24101E-16    0.16418E-09    0.36687E-14    0.15637E-16
+  5797    0.40679E-14    0.65332E-16    0.00000E+00   -0.23992E-16    0.16407E-09    0.36651E-14    0.14986E-16
+  5798    0.40607E-14    0.65171E-16    0.00000E+00   -0.23884E-16    0.16397E-09    0.36617E-14    0.14328E-16
+  5799    0.40535E-14    0.65011E-16    0.00000E+00   -0.23774E-16    0.16386E-09    0.36588E-14    0.13662E-16
+  5800    0.40464E-14    0.64849E-16    0.00000E+00   -0.23665E-16    0.16376E-09    0.36564E-14    0.12986E-16
+  5801    0.40393E-14    0.64687E-16    0.00000E+00   -0.23553E-16    0.16365E-09    0.36545E-14    0.12303E-16
+  5802    0.40322E-14    0.64524E-16    0.00000E+00   -0.23441E-16    0.16355E-09    0.36528E-14    0.11616E-16
+  5803    0.40250E-14    0.64361E-16    0.00000E+00   -0.23329E-16    0.16344E-09    0.36513E-14    0.10927E-16
+  5804    0.40180E-14    0.64197E-16    0.00000E+00   -0.23216E-16    0.16334E-09    0.36499E-14    0.10239E-16
+  5805    0.40108E-14    0.64033E-16    0.00000E+00   -0.23103E-16    0.16323E-09    0.36483E-14    0.95556E-17
+  5806    0.40036E-14    0.63868E-16    0.00000E+00   -0.22988E-16    0.16313E-09    0.36465E-14    0.88785E-17
+  5807    0.39965E-14    0.63702E-16    0.00000E+00   -0.22873E-16    0.16302E-09    0.36444E-14    0.82102E-17
+  5808    0.39893E-14    0.63537E-16    0.00000E+00   -0.22757E-16    0.16292E-09    0.36420E-14    0.75503E-17
+  5809    0.39822E-14    0.63371E-16    0.00000E+00   -0.22639E-16    0.16281E-09    0.36395E-14    0.68979E-17
+  5810    0.39751E-14    0.63204E-16    0.00000E+00   -0.22521E-16    0.16271E-09    0.36371E-14    0.62518E-17
+  5811    0.39679E-14    0.63037E-16    0.00000E+00   -0.22402E-16    0.16260E-09    0.36348E-14    0.56110E-17
+  5812    0.39608E-14    0.62868E-16    0.00000E+00   -0.22281E-16    0.16250E-09    0.36328E-14    0.49746E-17
+  5813    0.39537E-14    0.62701E-16    0.00000E+00   -0.22160E-16    0.16240E-09    0.36312E-14    0.43414E-17
+  5814    0.39466E-14    0.62533E-16    0.00000E+00   -0.22038E-16    0.16229E-09    0.36301E-14    0.37107E-17
+  5815    0.39394E-14    0.62363E-16    0.00000E+00   -0.21914E-16    0.16219E-09    0.36294E-14    0.30822E-17
+  5816    0.39324E-14    0.62193E-16    0.00000E+00   -0.21789E-16    0.16208E-09    0.36290E-14    0.24561E-17
+  5817    0.39252E-14    0.62023E-16    0.00000E+00   -0.21662E-16    0.16198E-09    0.36288E-14    0.18322E-17
+  5818    0.39181E-14    0.61853E-16    0.00000E+00   -0.21534E-16    0.16187E-09    0.36286E-14    0.12108E-17
+  5819    0.39110E-14    0.61683E-16    0.00000E+00   -0.21406E-16    0.16177E-09    0.36282E-14    0.59165E-18
+  5820    0.39038E-14    0.61512E-16    0.00000E+00   -0.21276E-16    0.16167E-09    0.36277E-14   -0.25059E-19
+  5821    0.38967E-14    0.61340E-16    0.00000E+00   -0.21144E-16    0.16156E-09    0.36268E-14   -0.63930E-18
+  5822    0.38896E-14    0.61169E-16    0.00000E+00   -0.21012E-16    0.16146E-09    0.36257E-14   -0.12508E-17
+  5823    0.38825E-14    0.60997E-16    0.00000E+00   -0.20877E-16    0.16136E-09    0.36244E-14   -0.18594E-17
+  5824    0.38753E-14    0.60824E-16    0.00000E+00   -0.20742E-16    0.16125E-09    0.36231E-14   -0.24646E-17
+  5825    0.38682E-14    0.60652E-16    0.00000E+00   -0.20604E-16    0.16115E-09    0.36218E-14   -0.30663E-17
+  5826    0.38611E-14    0.60479E-16    0.00000E+00   -0.20466E-16    0.16104E-09    0.36208E-14   -0.36642E-17
+  5827    0.38539E-14    0.60306E-16    0.00000E+00   -0.20326E-16    0.16094E-09    0.36200E-14   -0.42579E-17
+  5828    0.38468E-14    0.60133E-16    0.00000E+00   -0.20184E-16    0.16084E-09    0.36196E-14   -0.48475E-17
+  5829    0.38395E-14    0.59959E-16    0.00000E+00   -0.20041E-16    0.16073E-09    0.36195E-14   -0.54340E-17
+  5830    0.38325E-14    0.59785E-16    0.00000E+00   -0.19896E-16    0.16063E-09    0.36196E-14   -0.60188E-17
+  5831    0.38253E-14    0.59610E-16    0.00000E+00   -0.19749E-16    0.16053E-09    0.36198E-14   -0.66032E-17
+  5832    0.38182E-14    0.59435E-16    0.00000E+00   -0.19601E-16    0.16042E-09    0.36200E-14   -0.71885E-17
+  5833    0.38111E-14    0.59261E-16    0.00000E+00   -0.19451E-16    0.16032E-09    0.36200E-14   -0.77762E-17
+  5834    0.38039E-14    0.59086E-16    0.00000E+00   -0.19301E-16    0.16022E-09    0.36198E-14   -0.83676E-17
+  5835    0.37967E-14    0.58911E-16    0.00000E+00   -0.19148E-16    0.16012E-09    0.36192E-14   -0.89632E-17
+  5836    0.37896E-14    0.58736E-16    0.00000E+00   -0.18994E-16    0.16001E-09    0.36184E-14   -0.95608E-17
+  5837    0.37824E-14    0.58560E-16    0.00000E+00   -0.18838E-16    0.15991E-09    0.36174E-14   -0.10157E-16
+  5838    0.37752E-14    0.58384E-16    0.00000E+00   -0.18680E-16    0.15981E-09    0.36163E-14   -0.10750E-16
+  5839    0.37681E-14    0.58209E-16    0.00000E+00   -0.18522E-16    0.15970E-09    0.36153E-14   -0.11336E-16
+  5840    0.37609E-14    0.58033E-16    0.00000E+00   -0.18362E-16    0.15960E-09    0.36144E-14   -0.11911E-16
+  5841    0.37537E-14    0.57857E-16    0.00000E+00   -0.18199E-16    0.15950E-09    0.36138E-14   -0.12474E-16
+  5842    0.37465E-14    0.57681E-16    0.00000E+00   -0.18035E-16    0.15940E-09    0.36134E-14   -0.13021E-16
+  5843    0.37394E-14    0.57504E-16    0.00000E+00   -0.17871E-16    0.15929E-09    0.36133E-14   -0.13554E-16
+  5844    0.37322E-14    0.57328E-16    0.00000E+00   -0.17704E-16    0.15919E-09    0.36133E-14   -0.14075E-16
+  5845    0.37250E-14    0.57152E-16    0.00000E+00   -0.17534E-16    0.15909E-09    0.36133E-14   -0.14585E-16
+  5846    0.37178E-14    0.56976E-16    0.00000E+00   -0.17364E-16    0.15899E-09    0.36133E-14   -0.15087E-16
+  5847    0.37107E-14    0.56799E-16    0.00000E+00   -0.17193E-16    0.15888E-09    0.36132E-14   -0.15582E-16
+  5848    0.37035E-14    0.56623E-16    0.00000E+00   -0.17019E-16    0.15878E-09    0.36128E-14   -0.16072E-16
+  5849    0.36963E-14    0.56446E-16    0.00000E+00   -0.16845E-16    0.15868E-09    0.36121E-14   -0.16558E-16
+  5850    0.36891E-14    0.56270E-16    0.00000E+00   -0.16669E-16    0.15858E-09    0.36112E-14   -0.17041E-16
+  5851    0.36819E-14    0.56094E-16    0.00000E+00   -0.16490E-16    0.15848E-09    0.36101E-14   -0.17521E-16
+  5852    0.36746E-14    0.55918E-16    0.00000E+00   -0.16312E-16    0.15837E-09    0.36089E-14   -0.17997E-16
+  5853    0.36674E-14    0.55742E-16    0.00000E+00   -0.16131E-16    0.15827E-09    0.36077E-14   -0.18469E-16
+  5854    0.36603E-14    0.55566E-16    0.00000E+00   -0.15949E-16    0.15817E-09    0.36066E-14   -0.18936E-16
+  5855    0.36531E-14    0.55390E-16    0.00000E+00   -0.15764E-16    0.15807E-09    0.36056E-14   -0.19399E-16
+  5856    0.36458E-14    0.55215E-16    0.00000E+00   -0.15581E-16    0.15797E-09    0.36048E-14   -0.19857E-16
+  5857    0.36387E-14    0.55039E-16    0.00000E+00   -0.15393E-16    0.15787E-09    0.36042E-14   -0.20310E-16
+  5858    0.36314E-14    0.54864E-16    0.00000E+00   -0.15205E-16    0.15776E-09    0.36037E-14   -0.20757E-16
+  5859    0.36243E-14    0.54688E-16    0.00000E+00   -0.15015E-16    0.15766E-09    0.36032E-14   -0.21200E-16
+  5860    0.36171E-14    0.54513E-16    0.00000E+00   -0.14824E-16    0.15756E-09    0.36028E-14   -0.21637E-16
+  5861    0.36099E-14    0.54338E-16    0.00000E+00   -0.14632E-16    0.15746E-09    0.36022E-14   -0.22070E-16
+  5862    0.36025E-14    0.54163E-16    0.00000E+00   -0.14438E-16    0.15736E-09    0.36016E-14   -0.22496E-16
+  5863    0.35954E-14    0.53989E-16    0.00000E+00   -0.14243E-16    0.15726E-09    0.36007E-14   -0.22918E-16
+  5864    0.35881E-14    0.53815E-16    0.00000E+00   -0.14047E-16    0.15716E-09    0.35998E-14   -0.23335E-16
+  5865    0.35808E-14    0.53641E-16    0.00000E+00   -0.13849E-16    0.15706E-09    0.35988E-14   -0.23747E-16
+  5866    0.35735E-14    0.53467E-16    0.00000E+00   -0.13651E-16    0.15695E-09    0.35978E-14   -0.24156E-16
+  5867    0.35664E-14    0.53293E-16    0.00000E+00   -0.13451E-16    0.15685E-09    0.35968E-14   -0.24561E-16
+  5868    0.35591E-14    0.53120E-16    0.00000E+00   -0.13250E-16    0.15675E-09    0.35959E-14   -0.24964E-16
+  5869    0.35518E-14    0.52947E-16    0.00000E+00   -0.13049E-16    0.15665E-09    0.35952E-14   -0.25364E-16
+  5870    0.35445E-14    0.52775E-16    0.00000E+00   -0.12845E-16    0.15655E-09    0.35947E-14   -0.25763E-16
+  5871    0.35372E-14    0.52602E-16    0.00000E+00   -0.12642E-16    0.15645E-09    0.35944E-14   -0.26158E-16
+  5872    0.35300E-14    0.52430E-16    0.00000E+00   -0.12437E-16    0.15635E-09    0.35942E-14   -0.26547E-16
+  5873    0.35228E-14    0.52260E-16    0.00000E+00   -0.12232E-16    0.15625E-09    0.35941E-14   -0.26928E-16
+  5874    0.35155E-14    0.52088E-16    0.00000E+00   -0.12024E-16    0.15615E-09    0.35940E-14   -0.27299E-16
+  5875    0.35082E-14    0.51917E-16    0.00000E+00   -0.11817E-16    0.15605E-09    0.35939E-14   -0.27657E-16
+  5876    0.35010E-14    0.51747E-16    0.00000E+00   -0.11609E-16    0.15595E-09    0.35938E-14   -0.28001E-16
+  5877    0.34937E-14    0.51576E-16    0.00000E+00   -0.11399E-16    0.15585E-09    0.35937E-14   -0.28329E-16
+  5878    0.34864E-14    0.51407E-16    0.00000E+00   -0.11190E-16    0.15575E-09    0.35934E-14   -0.28642E-16
+  5879    0.34792E-14    0.51239E-16    0.00000E+00   -0.10978E-16    0.15565E-09    0.35932E-14   -0.28943E-16
+  5880    0.34719E-14    0.51070E-16    0.00000E+00   -0.10766E-16    0.15555E-09    0.35929E-14   -0.29233E-16
+  5881    0.34646E-14    0.50902E-16    0.00000E+00   -0.10553E-16    0.15545E-09    0.35926E-14   -0.29514E-16
+  5882    0.34574E-14    0.50735E-16    0.00000E+00   -0.10341E-16    0.15535E-09    0.35924E-14   -0.29789E-16
+  5883    0.34500E-14    0.50566E-16    0.00000E+00   -0.10128E-16    0.15525E-09    0.35922E-14   -0.30059E-16
+  5884    0.34427E-14    0.50400E-16    0.00000E+00   -0.99127E-17    0.15515E-09    0.35921E-14   -0.30327E-16
+  5885    0.34356E-14    0.50234E-16    0.00000E+00   -0.96994E-17    0.15505E-09    0.35921E-14   -0.30591E-16
+  5886    0.34283E-14    0.50068E-16    0.00000E+00   -0.94842E-17    0.15495E-09    0.35922E-14   -0.30852E-16
+  5887    0.34210E-14    0.49903E-16    0.00000E+00   -0.92692E-17    0.15485E-09    0.35924E-14   -0.31108E-16
+  5888    0.34137E-14    0.49738E-16    0.00000E+00   -0.90527E-17    0.15475E-09    0.35926E-14   -0.31360E-16
+  5889    0.34064E-14    0.49574E-16    0.00000E+00   -0.88364E-17    0.15465E-09    0.35929E-14   -0.31607E-16
+  5890    0.33990E-14    0.49411E-16    0.00000E+00   -0.86200E-17    0.15455E-09    0.35933E-14   -0.31847E-16
+  5891    0.33918E-14    0.49247E-16    0.00000E+00   -0.84032E-17    0.15445E-09    0.35937E-14   -0.32082E-16
+  5892    0.33845E-14    0.49084E-16    0.00000E+00   -0.81864E-17    0.15435E-09    0.35942E-14   -0.32310E-16
+  5893    0.33771E-14    0.48922E-16    0.00000E+00   -0.79693E-17    0.15425E-09    0.35947E-14   -0.32532E-16
+  5894    0.33699E-14    0.48763E-16    0.00000E+00   -0.77522E-17    0.15415E-09    0.35952E-14   -0.32749E-16
+  5895    0.33625E-14    0.48602E-16    0.00000E+00   -0.75350E-17    0.15405E-09    0.35957E-14   -0.32960E-16
+  5896    0.33552E-14    0.48441E-16    0.00000E+00   -0.73169E-17    0.15395E-09    0.35962E-14   -0.33166E-16
+  5897    0.33480E-14    0.48283E-16    0.00000E+00   -0.70997E-17    0.15385E-09    0.35966E-14   -0.33366E-16
+  5898    0.33407E-14    0.48124E-16    0.00000E+00   -0.68828E-17    0.15375E-09    0.35970E-14   -0.33562E-16
+  5899    0.33334E-14    0.47967E-16    0.00000E+00   -0.66658E-17    0.15366E-09    0.35974E-14   -0.33753E-16
+  5900    0.33262E-14    0.47809E-16    0.00000E+00   -0.64491E-17    0.15356E-09    0.35978E-14   -0.33938E-16
+  5901    0.33188E-14    0.47653E-16    0.00000E+00   -0.62324E-17    0.15346E-09    0.35982E-14   -0.34116E-16
+  5902    0.33114E-14    0.47497E-16    0.00000E+00   -0.60168E-17    0.15336E-09    0.35986E-14   -0.34289E-16
+  5903    0.33043E-14    0.47341E-16    0.00000E+00   -0.58004E-17    0.15326E-09    0.35991E-14   -0.34454E-16
+  5904    0.32970E-14    0.47187E-16    0.00000E+00   -0.55842E-17    0.15316E-09    0.35997E-14   -0.34612E-16
+  5905    0.32896E-14    0.47032E-16    0.00000E+00   -0.53692E-17    0.15306E-09    0.36004E-14   -0.34762E-16
+  5906    0.32823E-14    0.46880E-16    0.00000E+00   -0.51544E-17    0.15296E-09    0.36011E-14   -0.34904E-16
+  5907    0.32751E-14    0.46728E-16    0.00000E+00   -0.49399E-17    0.15287E-09    0.36019E-14   -0.35036E-16
+  5908    0.32679E-14    0.46576E-16    0.00000E+00   -0.47257E-17    0.15277E-09    0.36027E-14   -0.35159E-16
+  5909    0.32606E-14    0.46425E-16    0.00000E+00   -0.45129E-17    0.15267E-09    0.36033E-14   -0.35271E-16
+  5910    0.32533E-14    0.46273E-16    0.00000E+00   -0.42995E-17    0.15257E-09    0.36039E-14   -0.35372E-16
+  5911    0.32461E-14    0.46125E-16    0.00000E+00   -0.40876E-17    0.15247E-09    0.36043E-14   -0.35461E-16
+  5912    0.32388E-14    0.45976E-16    0.00000E+00   -0.38761E-17    0.15237E-09    0.36044E-14   -0.35538E-16
+  5913    0.32315E-14    0.45828E-16    0.00000E+00   -0.36663E-17    0.15228E-09    0.36045E-14   -0.35604E-16
+  5914    0.32243E-14    0.45681E-16    0.00000E+00   -0.34569E-17    0.15218E-09    0.36044E-14   -0.35660E-16
+  5915    0.32170E-14    0.45535E-16    0.00000E+00   -0.32482E-17    0.15208E-09    0.36043E-14   -0.35707E-16
+  5916    0.32098E-14    0.45389E-16    0.00000E+00   -0.30400E-17    0.15198E-09    0.36042E-14   -0.35747E-16
+  5917    0.32026E-14    0.45244E-16    0.00000E+00   -0.28337E-17    0.15188E-09    0.36042E-14   -0.35781E-16
+  5918    0.31954E-14    0.45101E-16    0.00000E+00   -0.26278E-17    0.15179E-09    0.36043E-14   -0.35809E-16
+  5919    0.31882E-14    0.44958E-16    0.00000E+00   -0.24232E-17    0.15169E-09    0.36046E-14   -0.35834E-16
+  5920    0.31810E-14    0.44815E-16    0.00000E+00   -0.22195E-17    0.15159E-09    0.36050E-14   -0.35855E-16
+  5921    0.31737E-14    0.44673E-16    0.00000E+00   -0.20169E-17    0.15149E-09    0.36055E-14   -0.35871E-16
+  5922    0.31665E-14    0.44532E-16    0.00000E+00   -0.18158E-17    0.15140E-09    0.36059E-14   -0.35882E-16
+  5923    0.31593E-14    0.44392E-16    0.00000E+00   -0.16157E-17    0.15130E-09    0.36063E-14   -0.35888E-16
+  5924    0.31521E-14    0.44252E-16    0.00000E+00   -0.14170E-17    0.15120E-09    0.36064E-14   -0.35888E-16
+  5925    0.31449E-14    0.44114E-16    0.00000E+00   -0.12195E-17    0.15110E-09    0.36064E-14   -0.35881E-16
+  5926    0.31377E-14    0.43975E-16    0.00000E+00   -0.10235E-17    0.15101E-09    0.36060E-14   -0.35869E-16
+  5927    0.31306E-14    0.43839E-16    0.00000E+00   -0.82919E-18    0.15091E-09    0.36055E-14   -0.35850E-16
+  5928    0.31234E-14    0.43703E-16    0.00000E+00   -0.63613E-18    0.15081E-09    0.36047E-14   -0.35825E-16
+  5929    0.31163E-14    0.43568E-16    0.00000E+00   -0.44460E-18    0.15072E-09    0.36039E-14   -0.35795E-16
+  5930    0.31090E-14    0.43433E-16    0.00000E+00   -0.25469E-18    0.15062E-09    0.36032E-14   -0.35760E-16
+  5931    0.31020E-14    0.43300E-16    0.00000E+00   -0.66317E-19    0.15052E-09    0.36025E-14   -0.35721E-16
+  5932    0.30948E-14    0.43167E-16    0.00000E+00    0.12051E-18    0.15042E-09    0.36020E-14   -0.35677E-16
+  5933    0.30876E-14    0.43035E-16    0.00000E+00    0.30597E-18    0.15033E-09    0.36017E-14   -0.35630E-16
+  5934    0.30805E-14    0.42903E-16    0.00000E+00    0.48943E-18    0.15023E-09    0.36016E-14   -0.35577E-16
+  5935    0.30734E-14    0.42773E-16    0.00000E+00    0.67026E-18    0.15013E-09    0.36016E-14   -0.35519E-16
+  5936    0.30663E-14    0.42644E-16    0.00000E+00    0.85032E-18    0.15004E-09    0.36016E-14   -0.35455E-16
+  5937    0.30593E-14    0.42515E-16    0.00000E+00    0.10285E-17    0.14994E-09    0.36015E-14   -0.35382E-16
+  5938    0.30522E-14    0.42387E-16    0.00000E+00    0.12046E-17    0.14984E-09    0.36012E-14   -0.35301E-16
+  5939    0.30452E-14    0.42260E-16    0.00000E+00    0.13795E-17    0.14975E-09    0.36006E-14   -0.35211E-16
+  5940    0.30381E-14    0.42134E-16    0.00000E+00    0.15511E-17    0.14965E-09    0.35998E-14   -0.35110E-16
+  5941    0.30311E-14    0.42008E-16    0.00000E+00    0.17216E-17    0.14955E-09    0.35987E-14   -0.34999E-16
+  5942    0.30240E-14    0.41883E-16    0.00000E+00    0.18901E-17    0.14946E-09    0.35974E-14   -0.34879E-16
+  5943    0.30170E-14    0.41760E-16    0.00000E+00    0.20566E-17    0.14936E-09    0.35961E-14   -0.34748E-16
+  5944    0.30101E-14    0.41635E-16    0.00000E+00    0.22205E-17    0.14927E-09    0.35948E-14   -0.34609E-16
+  5945    0.30030E-14    0.41514E-16    0.00000E+00    0.23828E-17    0.14917E-09    0.35936E-14   -0.34461E-16
+  5946    0.29960E-14    0.41393E-16    0.00000E+00    0.25426E-17    0.14907E-09    0.35927E-14   -0.34304E-16
+  5947    0.29892E-14    0.41272E-16    0.00000E+00    0.27002E-17    0.14898E-09    0.35921E-14   -0.34140E-16
+  5948    0.29822E-14    0.41153E-16    0.00000E+00    0.28554E-17    0.14888E-09    0.35917E-14   -0.33968E-16
+  5949    0.29753E-14    0.41033E-16    0.00000E+00    0.30092E-17    0.14879E-09    0.35914E-14   -0.33789E-16
+  5950    0.29683E-14    0.40915E-16    0.00000E+00    0.31595E-17    0.14869E-09    0.35912E-14   -0.33605E-16
+  5951    0.29614E-14    0.40797E-16    0.00000E+00    0.33092E-17    0.14859E-09    0.35909E-14   -0.33414E-16
+  5952    0.29545E-14    0.40681E-16    0.00000E+00    0.34551E-17    0.14850E-09    0.35903E-14   -0.33219E-16
+  5953    0.29476E-14    0.40564E-16    0.00000E+00    0.35993E-17    0.14840E-09    0.35895E-14   -0.33020E-16
+  5954    0.29408E-14    0.40450E-16    0.00000E+00    0.37407E-17    0.14831E-09    0.35883E-14   -0.32817E-16
+  5955    0.29339E-14    0.40335E-16    0.00000E+00    0.38792E-17    0.14821E-09    0.35868E-14   -0.32611E-16
+  5956    0.29270E-14    0.40222E-16    0.00000E+00    0.40159E-17    0.14812E-09    0.35851E-14   -0.32400E-16
+  5957    0.29202E-14    0.40108E-16    0.00000E+00    0.41499E-17    0.14802E-09    0.35834E-14   -0.32186E-16
+  5958    0.29134E-14    0.39996E-16    0.00000E+00    0.42820E-17    0.14792E-09    0.35817E-14   -0.31967E-16
+  5959    0.29066E-14    0.39885E-16    0.00000E+00    0.44115E-17    0.14783E-09    0.35803E-14   -0.31745E-16
+  5960    0.28998E-14    0.39774E-16    0.00000E+00    0.45383E-17    0.14773E-09    0.35791E-14   -0.31517E-16
+  5961    0.28930E-14    0.39665E-16    0.00000E+00    0.46624E-17    0.14764E-09    0.35783E-14   -0.31285E-16
+  5962    0.28863E-14    0.39555E-16    0.00000E+00    0.47837E-17    0.14754E-09    0.35778E-14   -0.31049E-16
+  5963    0.28796E-14    0.39447E-16    0.00000E+00    0.49032E-17    0.14745E-09    0.35775E-14   -0.30809E-16
+  5964    0.28728E-14    0.39339E-16    0.00000E+00    0.50188E-17    0.14735E-09    0.35772E-14   -0.30565E-16
+  5965    0.28661E-14    0.39233E-16    0.00000E+00    0.51324E-17    0.14726E-09    0.35769E-14   -0.30318E-16
+  5966    0.28595E-14    0.39126E-16    0.00000E+00    0.52440E-17    0.14716E-09    0.35765E-14   -0.30068E-16
+  5967    0.28529E-14    0.39020E-16    0.00000E+00    0.53524E-17    0.14707E-09    0.35757E-14   -0.29815E-16
+  5968    0.28462E-14    0.38916E-16    0.00000E+00    0.54586E-17    0.14697E-09    0.35746E-14   -0.29560E-16
+  5969    0.28396E-14    0.38812E-16    0.00000E+00    0.55606E-17    0.14688E-09    0.35732E-14   -0.29301E-16
+  5970    0.28330E-14    0.38708E-16    0.00000E+00    0.56614E-17    0.14678E-09    0.35716E-14   -0.29038E-16
+  5971    0.28264E-14    0.38605E-16    0.00000E+00    0.57592E-17    0.14669E-09    0.35700E-14   -0.28770E-16
+  5972    0.28200E-14    0.38504E-16    0.00000E+00    0.58528E-17    0.14660E-09    0.35684E-14   -0.28496E-16
+  5973    0.28135E-14    0.38402E-16    0.00000E+00    0.59455E-17    0.14650E-09    0.35670E-14   -0.28215E-16
+  5974    0.28069E-14    0.38301E-16    0.00000E+00    0.60341E-17    0.14641E-09    0.35659E-14   -0.27925E-16
+  5975    0.28004E-14    0.38201E-16    0.00000E+00    0.61198E-17    0.14631E-09    0.35652E-14   -0.27627E-16
+  5976    0.27940E-14    0.38100E-16    0.00000E+00    0.62036E-17    0.14622E-09    0.35647E-14   -0.27321E-16
+  5977    0.27875E-14    0.38002E-16    0.00000E+00    0.62844E-17    0.14612E-09    0.35644E-14   -0.27007E-16
+  5978    0.27811E-14    0.37904E-16    0.00000E+00    0.63623E-17    0.14603E-09    0.35642E-14   -0.26687E-16
+  5979    0.27747E-14    0.37806E-16    0.00000E+00    0.64362E-17    0.14594E-09    0.35638E-14   -0.26360E-16
+  5980    0.27683E-14    0.37709E-16    0.00000E+00    0.65101E-17    0.14584E-09    0.35632E-14   -0.26029E-16
+  5981    0.27620E-14    0.37613E-16    0.00000E+00    0.65801E-17    0.14575E-09    0.35623E-14   -0.25694E-16
+  5982    0.27556E-14    0.37517E-16    0.00000E+00    0.66461E-17    0.14565E-09    0.35609E-14   -0.25355E-16
+  5983    0.27493E-14    0.37421E-16    0.00000E+00    0.67101E-17    0.14556E-09    0.35591E-14   -0.25014E-16
+  5984    0.27430E-14    0.37327E-16    0.00000E+00    0.67712E-17    0.14547E-09    0.35571E-14   -0.24669E-16
+  5985    0.27368E-14    0.37233E-16    0.00000E+00    0.68294E-17    0.14537E-09    0.35550E-14   -0.24322E-16
+  5986    0.27305E-14    0.37140E-16    0.00000E+00    0.68846E-17    0.14528E-09    0.35530E-14   -0.23973E-16
+  5987    0.27243E-14    0.37046E-16    0.00000E+00    0.69370E-17    0.14518E-09    0.35512E-14   -0.23622E-16
+  5988    0.27181E-14    0.36954E-16    0.00000E+00    0.69874E-17    0.14509E-09    0.35496E-14   -0.23268E-16
+  5989    0.27119E-14    0.36862E-16    0.00000E+00    0.70339E-17    0.14500E-09    0.35484E-14   -0.22914E-16
+  5990    0.27057E-14    0.36771E-16    0.00000E+00    0.70776E-17    0.14490E-09    0.35476E-14   -0.22557E-16
+  5991    0.26996E-14    0.36680E-16    0.00000E+00    0.71197E-17    0.14481E-09    0.35469E-14   -0.22199E-16
+  5992    0.26936E-14    0.36589E-16    0.00000E+00    0.71581E-17    0.14472E-09    0.35463E-14   -0.21840E-16
+  5993    0.26875E-14    0.36500E-16    0.00000E+00    0.71940E-17    0.14462E-09    0.35456E-14   -0.21478E-16
+  5994    0.26815E-14    0.36410E-16    0.00000E+00    0.72264E-17    0.14453E-09    0.35447E-14   -0.21115E-16
+  5995    0.26755E-14    0.36321E-16    0.00000E+00    0.72565E-17    0.14444E-09    0.35435E-14   -0.20750E-16
+  5996    0.26695E-14    0.36233E-16    0.00000E+00    0.72844E-17    0.14434E-09    0.35419E-14   -0.20383E-16
+  5997    0.26635E-14    0.36145E-16    0.00000E+00    0.73089E-17    0.14425E-09    0.35399E-14   -0.20014E-16
+  5998    0.26576E-14    0.36057E-16    0.00000E+00    0.73299E-17    0.14416E-09    0.35377E-14   -0.19644E-16
+  5999    0.26517E-14    0.35970E-16    0.00000E+00    0.73493E-17    0.14406E-09    0.35354E-14   -0.19272E-16
+  6000    0.26458E-14    0.35884E-16    0.00000E+00    0.73651E-17    0.14397E-09    0.35331E-14   -0.18899E-16
+  6001    0.26399E-14    0.35798E-16    0.00000E+00    0.73790E-17    0.14388E-09    0.35310E-14   -0.18524E-16
+  6002    0.26341E-14    0.35712E-16    0.00000E+00    0.73890E-17    0.14379E-09    0.35291E-14   -0.18149E-16
+  6003    0.26284E-14    0.35626E-16    0.00000E+00    0.73969E-17    0.14369E-09    0.35276E-14   -0.17773E-16
+  6004    0.26225E-14    0.35541E-16    0.00000E+00    0.74029E-17    0.14360E-09    0.35264E-14   -0.17395E-16
+  6005    0.26168E-14    0.35457E-16    0.00000E+00    0.74050E-17    0.14351E-09    0.35252E-14   -0.17015E-16
+  6006    0.26111E-14    0.35373E-16    0.00000E+00    0.74053E-17    0.14342E-09    0.35241E-14   -0.16634E-16
+  6007    0.26054E-14    0.35289E-16    0.00000E+00    0.74029E-17    0.14332E-09    0.35229E-14   -0.16249E-16
+  6008    0.25997E-14    0.35205E-16    0.00000E+00    0.73968E-17    0.14323E-09    0.35215E-14   -0.15862E-16
+  6009    0.25941E-14    0.35122E-16    0.00000E+00    0.73891E-17    0.14314E-09    0.35196E-14   -0.15471E-16
+  6010    0.25885E-14    0.35040E-16    0.00000E+00    0.73789E-17    0.14305E-09    0.35174E-14   -0.15075E-16
+  6011    0.25829E-14    0.34957E-16    0.00000E+00    0.73662E-17    0.14295E-09    0.35148E-14   -0.14677E-16
+  6012    0.25774E-14    0.34875E-16    0.00000E+00    0.73510E-17    0.14286E-09    0.35119E-14   -0.14276E-16
+  6013    0.25718E-14    0.34793E-16    0.00000E+00    0.73323E-17    0.14277E-09    0.35089E-14   -0.13872E-16
+  6014    0.25664E-14    0.34711E-16    0.00000E+00    0.73121E-17    0.14268E-09    0.35059E-14   -0.13468E-16
+  6015    0.25609E-14    0.34630E-16    0.00000E+00    0.72894E-17    0.14258E-09    0.35030E-14   -0.13062E-16
+  6016    0.25555E-14    0.34548E-16    0.00000E+00    0.72633E-17    0.14249E-09    0.35003E-14   -0.12656E-16
+  6017    0.25501E-14    0.34468E-16    0.00000E+00    0.72356E-17    0.14240E-09    0.34980E-14   -0.12250E-16
+  6018    0.25447E-14    0.34387E-16    0.00000E+00    0.72045E-17    0.14231E-09    0.34959E-14   -0.11845E-16
+  6019    0.25393E-14    0.34307E-16    0.00000E+00    0.71719E-17    0.14222E-09    0.34939E-14   -0.11440E-16
+  6020    0.25340E-14    0.34227E-16    0.00000E+00    0.71360E-17    0.14213E-09    0.34919E-14   -0.11036E-16
+  6021    0.25288E-14    0.34147E-16    0.00000E+00    0.70987E-17    0.14203E-09    0.34899E-14   -0.10632E-16
+  6022    0.25235E-14    0.34067E-16    0.00000E+00    0.70591E-17    0.14194E-09    0.34878E-14   -0.10229E-16
+  6023    0.25183E-14    0.33988E-16    0.00000E+00    0.70173E-17    0.14185E-09    0.34853E-14   -0.98258E-17
+  6024    0.25130E-14    0.33909E-16    0.00000E+00    0.69722E-17    0.14176E-09    0.34825E-14   -0.94233E-17
+  6025    0.25079E-14    0.33830E-16    0.00000E+00    0.69261E-17    0.14167E-09    0.34795E-14   -0.90214E-17
+  6026    0.25028E-14    0.33751E-16    0.00000E+00    0.68780E-17    0.14158E-09    0.34762E-14   -0.86199E-17
+  6027    0.24977E-14    0.33673E-16    0.00000E+00    0.68271E-17    0.14148E-09    0.34729E-14   -0.82191E-17
+  6028    0.24927E-14    0.33594E-16    0.00000E+00    0.67745E-17    0.14139E-09    0.34696E-14   -0.78188E-17
+  6029    0.24876E-14    0.33516E-16    0.00000E+00    0.67204E-17    0.14130E-09    0.34663E-14   -0.74191E-17
+  6030    0.24826E-14    0.33438E-16    0.00000E+00    0.66629E-17    0.14121E-09    0.34633E-14   -0.70202E-17
+  6031    0.24776E-14    0.33360E-16    0.00000E+00    0.66041E-17    0.14112E-09    0.34605E-14   -0.66218E-17
+  6032    0.24728E-14    0.33282E-16    0.00000E+00    0.65429E-17    0.14103E-09    0.34578E-14   -0.62242E-17
+  6033    0.24678E-14    0.33204E-16    0.00000E+00    0.64802E-17    0.14094E-09    0.34553E-14   -0.58272E-17
+  6034    0.24629E-14    0.33126E-16    0.00000E+00    0.64148E-17    0.14085E-09    0.34529E-14   -0.54309E-17
+  6035    0.24580E-14    0.33049E-16    0.00000E+00    0.63476E-17    0.14076E-09    0.34504E-14   -0.50352E-17
+  6036    0.24532E-14    0.32971E-16    0.00000E+00    0.62796E-17    0.14066E-09    0.34477E-14   -0.46401E-17
+  6037    0.24485E-14    0.32894E-16    0.00000E+00    0.62085E-17    0.14057E-09    0.34449E-14   -0.42457E-17
+  6038    0.24436E-14    0.32816E-16    0.00000E+00    0.61363E-17    0.14048E-09    0.34418E-14   -0.38520E-17
+  6039    0.24389E-14    0.32739E-16    0.00000E+00    0.60620E-17    0.14039E-09    0.34384E-14   -0.34590E-17
+  6040    0.24342E-14    0.32662E-16    0.00000E+00    0.59868E-17    0.14030E-09    0.34350E-14   -0.30669E-17
+  6041    0.24297E-14    0.32585E-16    0.00000E+00    0.59088E-17    0.14021E-09    0.34314E-14   -0.26759E-17
+  6042    0.24250E-14    0.32508E-16    0.00000E+00    0.58301E-17    0.14012E-09    0.34279E-14   -0.22861E-17
+  6043    0.24204E-14    0.32431E-16    0.00000E+00    0.57497E-17    0.14003E-09    0.34244E-14   -0.18976E-17
+  6044    0.24159E-14    0.32355E-16    0.00000E+00    0.56679E-17    0.13994E-09    0.34211E-14   -0.15107E-17
+  6045    0.24113E-14    0.32278E-16    0.00000E+00    0.55836E-17    0.13985E-09    0.34180E-14   -0.11254E-17
+  6046    0.24068E-14    0.32201E-16    0.00000E+00    0.54990E-17    0.13976E-09    0.34150E-14   -0.74182E-18
+  6047    0.24024E-14    0.32124E-16    0.00000E+00    0.54120E-17    0.13967E-09    0.34122E-14   -0.36002E-18
+  6048    0.23979E-14    0.32047E-16    0.00000E+00    0.53246E-17    0.13958E-09    0.34094E-14    0.19920E-19
+  6049    0.23935E-14    0.31970E-16    0.00000E+00    0.52348E-17    0.13949E-09    0.34065E-14    0.39794E-18
+  6050    0.23891E-14    0.31893E-16    0.00000E+00    0.51446E-17    0.13940E-09    0.34036E-14    0.77396E-18
+  6051    0.23848E-14    0.31816E-16    0.00000E+00    0.50529E-17    0.13931E-09    0.34005E-14    0.11479E-17
+  6052    0.23805E-14    0.31739E-16    0.00000E+00    0.49599E-17    0.13922E-09    0.33972E-14    0.15198E-17
+  6053    0.23762E-14    0.31662E-16    0.00000E+00    0.48656E-17    0.13913E-09    0.33937E-14    0.18894E-17
+  6054    0.23720E-14    0.31586E-16    0.00000E+00    0.47700E-17    0.13904E-09    0.33902E-14    0.22569E-17
+  6055    0.23678E-14    0.31509E-16    0.00000E+00    0.46731E-17    0.13895E-09    0.33865E-14    0.26223E-17
+  6056    0.23636E-14    0.31432E-16    0.00000E+00    0.45761E-17    0.13886E-09    0.33829E-14    0.29854E-17
+  6057    0.23594E-14    0.31355E-16    0.00000E+00    0.44770E-17    0.13877E-09    0.33793E-14    0.33462E-17
+  6058    0.23553E-14    0.31277E-16    0.00000E+00    0.43778E-17    0.13868E-09    0.33757E-14    0.37049E-17
+  6059    0.23512E-14    0.31200E-16    0.00000E+00    0.42776E-17    0.13859E-09    0.33723E-14    0.40612E-17
+  6060    0.23472E-14    0.31123E-16    0.00000E+00    0.41756E-17    0.13850E-09    0.33691E-14    0.44152E-17
+  6061    0.23432E-14    0.31046E-16    0.00000E+00    0.40736E-17    0.13841E-09    0.33658E-14    0.47668E-17
+  6062    0.23391E-14    0.30968E-16    0.00000E+00    0.39699E-17    0.13832E-09    0.33627E-14    0.51159E-17
+  6063    0.23352E-14    0.30890E-16    0.00000E+00    0.38664E-17    0.13823E-09    0.33595E-14    0.54624E-17
+  6064    0.23312E-14    0.30813E-16    0.00000E+00    0.37613E-17    0.13814E-09    0.33563E-14    0.58064E-17
+  6065    0.23274E-14    0.30735E-16    0.00000E+00    0.36565E-17    0.13805E-09    0.33530E-14    0.61477E-17
+  6066    0.23235E-14    0.30658E-16    0.00000E+00    0.35502E-17    0.13797E-09    0.33496E-14    0.64863E-17
+  6067    0.23197E-14    0.30580E-16    0.00000E+00    0.34443E-17    0.13788E-09    0.33461E-14    0.68223E-17
+  6068    0.23159E-14    0.30502E-16    0.00000E+00    0.33369E-17    0.13779E-09    0.33425E-14    0.71559E-17
+  6069    0.23121E-14    0.30424E-16    0.00000E+00    0.32299E-17    0.13770E-09    0.33389E-14    0.74873E-17
+  6070    0.23083E-14    0.30346E-16    0.00000E+00    0.31213E-17    0.13761E-09    0.33354E-14    0.78165E-17
+  6071    0.23046E-14    0.30267E-16    0.00000E+00    0.30132E-17    0.13752E-09    0.33318E-14    0.81439E-17
+  6072    0.23009E-14    0.30188E-16    0.00000E+00    0.29035E-17    0.13743E-09    0.33283E-14    0.84695E-17
+  6073    0.22972E-14    0.30110E-16    0.00000E+00    0.27943E-17    0.13734E-09    0.33248E-14    0.87934E-17
+  6074    0.22936E-14    0.30031E-16    0.00000E+00    0.26856E-17    0.13725E-09    0.33214E-14    0.91151E-17
+  6075    0.22901E-14    0.29953E-16    0.00000E+00    0.25754E-17    0.13717E-09    0.33181E-14    0.94340E-17
+  6076    0.22865E-14    0.29874E-16    0.00000E+00    0.24648E-17    0.13708E-09    0.33147E-14    0.97495E-17
+  6077    0.22829E-14    0.29795E-16    0.00000E+00    0.23549E-17    0.13699E-09    0.33114E-14    0.10061E-16
+  6078    0.22795E-14    0.29715E-16    0.00000E+00    0.22437E-17    0.13690E-09    0.33081E-14    0.10368E-16
+  6079    0.22760E-14    0.29635E-16    0.00000E+00    0.21333E-17    0.13681E-09    0.33047E-14    0.10670E-16
+  6080    0.22726E-14    0.29556E-16    0.00000E+00    0.20226E-17    0.13672E-09    0.33013E-14    0.10965E-16
+  6081    0.22692E-14    0.29477E-16    0.00000E+00    0.19117E-17    0.13663E-09    0.32979E-14    0.11256E-16
+  6082    0.22657E-14    0.29397E-16    0.00000E+00    0.18016E-17    0.13655E-09    0.32944E-14    0.11541E-16
+  6083    0.22624E-14    0.29317E-16    0.00000E+00    0.16911E-17    0.13646E-09    0.32908E-14    0.11822E-16
+  6084    0.22591E-14    0.29237E-16    0.00000E+00    0.15802E-17    0.13637E-09    0.32872E-14    0.12099E-16
+  6085    0.22558E-14    0.29156E-16    0.00000E+00    0.14700E-17    0.13628E-09    0.32836E-14    0.12371E-16
+  6086    0.22525E-14    0.29076E-16    0.00000E+00    0.13602E-17    0.13619E-09    0.32799E-14    0.12640E-16
+  6087    0.22493E-14    0.28995E-16    0.00000E+00    0.12500E-17    0.13611E-09    0.32761E-14    0.12906E-16
+  6088    0.22461E-14    0.28914E-16    0.00000E+00    0.11404E-17    0.13602E-09    0.32722E-14    0.13169E-16
+  6089    0.22429E-14    0.28833E-16    0.00000E+00    0.10315E-17    0.13593E-09    0.32684E-14    0.13428E-16
+  6090    0.22398E-14    0.28752E-16    0.00000E+00    0.92245E-18    0.13584E-09    0.32645E-14    0.13684E-16
+  6091    0.22367E-14    0.28671E-16    0.00000E+00    0.81436E-18    0.13575E-09    0.32607E-14    0.13937E-16
+  6092    0.22336E-14    0.28590E-16    0.00000E+00    0.70634E-18    0.13567E-09    0.32569E-14    0.14186E-16
+  6093    0.22305E-14    0.28508E-16    0.00000E+00    0.59852E-18    0.13558E-09    0.32531E-14    0.14431E-16
+  6094    0.22275E-14    0.28426E-16    0.00000E+00    0.49199E-18    0.13549E-09    0.32495E-14    0.14673E-16
+  6095    0.22245E-14    0.28344E-16    0.00000E+00    0.38477E-18    0.13540E-09    0.32459E-14    0.14910E-16
+  6096    0.22215E-14    0.28262E-16    0.00000E+00    0.27885E-18    0.13532E-09    0.32423E-14    0.15145E-16
+  6097    0.22185E-14    0.28180E-16    0.00000E+00    0.17321E-18    0.13523E-09    0.32387E-14    0.15375E-16
+  6098    0.22155E-14    0.28097E-16    0.00000E+00    0.67869E-19    0.13514E-09    0.32351E-14    0.15602E-16
+  6099    0.22126E-14    0.28015E-16    0.00000E+00   -0.36199E-19    0.13505E-09    0.32315E-14    0.15825E-16
+  6100    0.22097E-14    0.27932E-16    0.00000E+00   -0.13900E-18    0.13497E-09    0.32277E-14    0.16044E-16
+  6101    0.22069E-14    0.27849E-16    0.00000E+00   -0.24252E-18    0.13488E-09    0.32238E-14    0.16260E-16
+  6102    0.22040E-14    0.27766E-16    0.00000E+00   -0.34375E-18    0.13479E-09    0.32199E-14    0.16472E-16
+  6103    0.22013E-14    0.27683E-16    0.00000E+00   -0.44465E-18    0.13471E-09    0.32159E-14    0.16681E-16
+  6104    0.21985E-14    0.27600E-16    0.00000E+00   -0.54519E-18    0.13462E-09    0.32119E-14    0.16886E-16
+  6105    0.21957E-14    0.27516E-16    0.00000E+00   -0.64434E-18    0.13453E-09    0.32080E-14    0.17089E-16
+  6106    0.21930E-14    0.27433E-16    0.00000E+00   -0.74207E-18    0.13444E-09    0.32041E-14    0.17289E-16
+  6107    0.21903E-14    0.27349E-16    0.00000E+00   -0.83935E-18    0.13436E-09    0.32003E-14    0.17487E-16
+  6108    0.21876E-14    0.27265E-16    0.00000E+00   -0.93615E-18    0.13427E-09    0.31967E-14    0.17682E-16
+  6109    0.21850E-14    0.27181E-16    0.00000E+00   -0.10315E-17    0.13418E-09    0.31932E-14    0.17874E-16
+  6110    0.21823E-14    0.27097E-16    0.00000E+00   -0.11253E-17    0.13410E-09    0.31897E-14    0.18062E-16
+  6111    0.21797E-14    0.27013E-16    0.00000E+00   -0.12187E-17    0.13401E-09    0.31862E-14    0.18245E-16
+  6112    0.21772E-14    0.26928E-16    0.00000E+00   -0.13107E-17    0.13392E-09    0.31826E-14    0.18423E-16
+  6113    0.21746E-14    0.26843E-16    0.00000E+00   -0.14022E-17    0.13384E-09    0.31790E-14    0.18594E-16
+  6114    0.21721E-14    0.26758E-16    0.00000E+00   -0.14912E-17    0.13375E-09    0.31751E-14    0.18758E-16
+  6115    0.21696E-14    0.26672E-16    0.00000E+00   -0.15799E-17    0.13366E-09    0.31711E-14    0.18914E-16
+  6116    0.21670E-14    0.26588E-16    0.00000E+00   -0.16671E-17    0.13358E-09    0.31669E-14    0.19062E-16
+  6117    0.21646E-14    0.26502E-16    0.00000E+00   -0.17529E-17    0.13349E-09    0.31627E-14    0.19203E-16
+  6118    0.21621E-14    0.26417E-16    0.00000E+00   -0.18382E-17    0.13341E-09    0.31584E-14    0.19338E-16
+  6119    0.21598E-14    0.26331E-16    0.00000E+00   -0.19211E-17    0.13332E-09    0.31542E-14    0.19467E-16
+  6120    0.21574E-14    0.26245E-16    0.00000E+00   -0.20035E-17    0.13323E-09    0.31500E-14    0.19590E-16
+  6121    0.21550E-14    0.26160E-16    0.00000E+00   -0.20835E-17    0.13315E-09    0.31461E-14    0.19709E-16
+  6122    0.21527E-14    0.26074E-16    0.00000E+00   -0.21630E-17    0.13306E-09    0.31424E-14    0.19824E-16
+  6123    0.21504E-14    0.25987E-16    0.00000E+00   -0.22410E-17    0.13297E-09    0.31388E-14    0.19934E-16
+  6124    0.21481E-14    0.25902E-16    0.00000E+00   -0.23175E-17    0.13289E-09    0.31353E-14    0.20041E-16
+  6125    0.21458E-14    0.25815E-16    0.00000E+00   -0.23925E-17    0.13280E-09    0.31319E-14    0.20143E-16
+  6126    0.21435E-14    0.25729E-16    0.00000E+00   -0.24659E-17    0.13272E-09    0.31284E-14    0.20242E-16
+  6127    0.21413E-14    0.25642E-16    0.00000E+00   -0.25377E-17    0.13263E-09    0.31247E-14    0.20336E-16
+  6128    0.21390E-14    0.25556E-16    0.00000E+00   -0.26079E-17    0.13255E-09    0.31209E-14    0.20426E-16
+  6129    0.21368E-14    0.25470E-16    0.00000E+00   -0.26765E-17    0.13246E-09    0.31169E-14    0.20513E-16
+  6130    0.21346E-14    0.25382E-16    0.00000E+00   -0.27444E-17    0.13237E-09    0.31126E-14    0.20595E-16
+  6131    0.21325E-14    0.25295E-16    0.00000E+00   -0.28098E-17    0.13229E-09    0.31082E-14    0.20674E-16
+  6132    0.21303E-14    0.25209E-16    0.00000E+00   -0.28735E-17    0.13220E-09    0.31039E-14    0.20749E-16
+  6133    0.21281E-14    0.25122E-16    0.00000E+00   -0.29357E-17    0.13212E-09    0.30995E-14    0.20819E-16
+  6134    0.21260E-14    0.25034E-16    0.00000E+00   -0.29964E-17    0.13203E-09    0.30954E-14    0.20886E-16
+  6135    0.21240E-14    0.24948E-16    0.00000E+00   -0.30555E-17    0.13195E-09    0.30914E-14    0.20948E-16
+  6136    0.21219E-14    0.24860E-16    0.00000E+00   -0.31130E-17    0.13186E-09    0.30877E-14    0.21006E-16
+  6137    0.21198E-14    0.24773E-16    0.00000E+00   -0.31680E-17    0.13178E-09    0.30843E-14    0.21061E-16
+  6138    0.21177E-14    0.24686E-16    0.00000E+00   -0.32223E-17    0.13169E-09    0.30809E-14    0.21112E-16
+  6139    0.21158E-14    0.24599E-16    0.00000E+00   -0.32750E-17    0.13161E-09    0.30776E-14    0.21159E-16
+  6140    0.21138E-14    0.24512E-16    0.00000E+00   -0.33249E-17    0.13152E-09    0.30742E-14    0.21203E-16
+  6141    0.21118E-14    0.24424E-16    0.00000E+00   -0.33740E-17    0.13144E-09    0.30707E-14    0.21243E-16
+  6142    0.21099E-14    0.24337E-16    0.00000E+00   -0.34202E-17    0.13135E-09    0.30668E-14    0.21280E-16
+  6143    0.21079E-14    0.24249E-16    0.00000E+00   -0.34656E-17    0.13127E-09    0.30627E-14    0.21315E-16
+  6144    0.21060E-14    0.24162E-16    0.00000E+00   -0.35091E-17    0.13118E-09    0.30583E-14    0.21345E-16
+  6145    0.21040E-14    0.24074E-16    0.00000E+00   -0.35498E-17    0.13110E-09    0.30538E-14    0.21371E-16
+  6146    0.21022E-14    0.23987E-16    0.00000E+00   -0.35899E-17    0.13101E-09    0.30492E-14    0.21392E-16
+  6147    0.21003E-14    0.23899E-16    0.00000E+00   -0.36275E-17    0.13093E-09    0.30448E-14    0.21407E-16
+  6148    0.20985E-14    0.23812E-16    0.00000E+00   -0.36625E-17    0.13084E-09    0.30405E-14    0.21416E-16
+  6149    0.20966E-14    0.23724E-16    0.00000E+00   -0.36962E-17    0.13076E-09    0.30365E-14    0.21418E-16
+  6150    0.20948E-14    0.23637E-16    0.00000E+00   -0.37285E-17    0.13067E-09    0.30329E-14    0.21412E-16
+  6151    0.20930E-14    0.23550E-16    0.00000E+00   -0.37585E-17    0.13059E-09    0.30296E-14    0.21399E-16
+  6152    0.20912E-14    0.23462E-16    0.00000E+00   -0.37872E-17    0.13050E-09    0.30266E-14    0.21379E-16
+  6153    0.20894E-14    0.23374E-16    0.00000E+00   -0.38134E-17    0.13042E-09    0.30235E-14    0.21353E-16
+  6154    0.20876E-14    0.23287E-16    0.00000E+00   -0.38373E-17    0.13033E-09    0.30205E-14    0.21320E-16
+  6155    0.20858E-14    0.23200E-16    0.00000E+00   -0.38597E-17    0.13025E-09    0.30172E-14    0.21282E-16
+  6156    0.20840E-14    0.23112E-16    0.00000E+00   -0.38807E-17    0.13017E-09    0.30137E-14    0.21240E-16
+  6157    0.20824E-14    0.23025E-16    0.00000E+00   -0.38993E-17    0.13008E-09    0.30099E-14    0.21192E-16
+  6158    0.20806E-14    0.22939E-16    0.00000E+00   -0.39163E-17    0.13000E-09    0.30058E-14    0.21140E-16
+  6159    0.20790E-14    0.22852E-16    0.00000E+00   -0.39310E-17    0.12991E-09    0.30015E-14    0.21085E-16
+  6160    0.20772E-14    0.22764E-16    0.00000E+00   -0.39433E-17    0.12983E-09    0.29972E-14    0.21025E-16
+  6161    0.20756E-14    0.22676E-16    0.00000E+00   -0.39542E-17    0.12975E-09    0.29929E-14    0.20961E-16
+  6162    0.20738E-14    0.22590E-16    0.00000E+00   -0.39628E-17    0.12966E-09    0.29888E-14    0.20894E-16
+  6163    0.20722E-14    0.22503E-16    0.00000E+00   -0.39700E-17    0.12958E-09    0.29850E-14    0.20823E-16
+  6164    0.20706E-14    0.22416E-16    0.00000E+00   -0.39750E-17    0.12949E-09    0.29816E-14    0.20749E-16
+  6165    0.20689E-14    0.22329E-16    0.00000E+00   -0.39787E-17    0.12941E-09    0.29784E-14    0.20672E-16
+  6166    0.20673E-14    0.22243E-16    0.00000E+00   -0.39792E-17    0.12933E-09    0.29755E-14    0.20592E-16
+  6167    0.20657E-14    0.22156E-16    0.00000E+00   -0.39784E-17    0.12924E-09    0.29726E-14    0.20508E-16
+  6168    0.20641E-14    0.22070E-16    0.00000E+00   -0.39754E-17    0.12916E-09    0.29696E-14    0.20421E-16
+  6169    0.20625E-14    0.21984E-16    0.00000E+00   -0.39712E-17    0.12908E-09    0.29665E-14    0.20330E-16
+  6170    0.20609E-14    0.21898E-16    0.00000E+00   -0.39649E-17    0.12899E-09    0.29631E-14    0.20236E-16
+  6171    0.20593E-14    0.21812E-16    0.00000E+00   -0.39563E-17    0.12891E-09    0.29594E-14    0.20138E-16
+  6172    0.20577E-14    0.21726E-16    0.00000E+00   -0.39456E-17    0.12882E-09    0.29554E-14    0.20037E-16
+  6173    0.20561E-14    0.21640E-16    0.00000E+00   -0.39326E-17    0.12874E-09    0.29512E-14    0.19932E-16
+  6174    0.20547E-14    0.21554E-16    0.00000E+00   -0.39185E-17    0.12866E-09    0.29470E-14    0.19824E-16
+  6175    0.20531E-14    0.21469E-16    0.00000E+00   -0.39021E-17    0.12857E-09    0.29429E-14    0.19712E-16
+  6176    0.20515E-14    0.21384E-16    0.00000E+00   -0.38835E-17    0.12849E-09    0.29390E-14    0.19597E-16
+  6177    0.20501E-14    0.21299E-16    0.00000E+00   -0.38637E-17    0.12841E-09    0.29354E-14    0.19478E-16
+  6178    0.20486E-14    0.21214E-16    0.00000E+00   -0.38416E-17    0.12833E-09    0.29322E-14    0.19356E-16
+  6179    0.20470E-14    0.21130E-16    0.00000E+00   -0.38174E-17    0.12824E-09    0.29293E-14    0.19231E-16
+  6180    0.20456E-14    0.21044E-16    0.00000E+00   -0.37920E-17    0.12816E-09    0.29266E-14    0.19103E-16
+  6181    0.20441E-14    0.20961E-16    0.00000E+00   -0.37647E-17    0.12808E-09    0.29240E-14    0.18970E-16
+  6182    0.20426E-14    0.20876E-16    0.00000E+00   -0.37354E-17    0.12799E-09    0.29214E-14    0.18834E-16
+  6183    0.20412E-14    0.20792E-16    0.00000E+00   -0.37043E-17    0.12791E-09    0.29186E-14    0.18695E-16
+  6184    0.20397E-14    0.20709E-16    0.00000E+00   -0.36704E-17    0.12783E-09    0.29157E-14    0.18551E-16
+  6185    0.20383E-14    0.20626E-16    0.00000E+00   -0.36358E-17    0.12774E-09    0.29124E-14    0.18404E-16
+  6186    0.20368E-14    0.20541E-16    0.00000E+00   -0.35985E-17    0.12766E-09    0.29089E-14    0.18252E-16
+  6187    0.20354E-14    0.20459E-16    0.00000E+00   -0.35596E-17    0.12758E-09    0.29053E-14    0.18096E-16
+  6188    0.20340E-14    0.20376E-16    0.00000E+00   -0.35180E-17    0.12750E-09    0.29016E-14    0.17936E-16
+  6189    0.20325E-14    0.20294E-16    0.00000E+00   -0.34758E-17    0.12741E-09    0.28980E-14    0.17771E-16
+  6190    0.20312E-14    0.20211E-16    0.00000E+00   -0.34310E-17    0.12733E-09    0.28945E-14    0.17601E-16
+  6191    0.20297E-14    0.20129E-16    0.00000E+00   -0.33857E-17    0.12725E-09    0.28913E-14    0.17426E-16
+  6192    0.20284E-14    0.20047E-16    0.00000E+00   -0.33378E-17    0.12717E-09    0.28885E-14    0.17246E-16
+  6193    0.20269E-14    0.19965E-16    0.00000E+00   -0.32883E-17    0.12708E-09    0.28859E-14    0.17062E-16
+  6194    0.20256E-14    0.19884E-16    0.00000E+00   -0.32374E-17    0.12700E-09    0.28834E-14    0.16874E-16
+  6195    0.20241E-14    0.19803E-16    0.00000E+00   -0.31841E-17    0.12692E-09    0.28811E-14    0.16681E-16
+  6196    0.20228E-14    0.19722E-16    0.00000E+00   -0.31302E-17    0.12684E-09    0.28787E-14    0.16486E-16
+  6197    0.20214E-14    0.19641E-16    0.00000E+00   -0.30740E-17    0.12676E-09    0.28761E-14    0.16288E-16
+  6198    0.20199E-14    0.19561E-16    0.00000E+00   -0.30154E-17    0.12667E-09    0.28733E-14    0.16088E-16
+  6199    0.20186E-14    0.19482E-16    0.00000E+00   -0.29564E-17    0.12659E-09    0.28701E-14    0.15887E-16
+  6200    0.20172E-14    0.19402E-16    0.00000E+00   -0.28951E-17    0.12651E-09    0.28667E-14    0.15683E-16
+  6201    0.20159E-14    0.19322E-16    0.00000E+00   -0.28315E-17    0.12643E-09    0.28632E-14    0.15478E-16
+  6202    0.20145E-14    0.19243E-16    0.00000E+00   -0.27666E-17    0.12635E-09    0.28596E-14    0.15271E-16
+  6203    0.20131E-14    0.19164E-16    0.00000E+00   -0.27005E-17    0.12626E-09    0.28561E-14    0.15062E-16
+  6204    0.20118E-14    0.19085E-16    0.00000E+00   -0.26331E-17    0.12618E-09    0.28527E-14    0.14850E-16
+  6205    0.20104E-14    0.19008E-16    0.00000E+00   -0.25634E-17    0.12610E-09    0.28497E-14    0.14637E-16
+  6206    0.20090E-14    0.18930E-16    0.00000E+00   -0.24926E-17    0.12602E-09    0.28470E-14    0.14421E-16
+  6207    0.20078E-14    0.18853E-16    0.00000E+00   -0.24197E-17    0.12594E-09    0.28445E-14    0.14202E-16
+  6208    0.20064E-14    0.18775E-16    0.00000E+00   -0.23456E-17    0.12586E-09    0.28423E-14    0.13982E-16
+  6209    0.20051E-14    0.18698E-16    0.00000E+00   -0.22705E-17    0.12577E-09    0.28402E-14    0.13759E-16
+  6210    0.20037E-14    0.18622E-16    0.00000E+00   -0.21935E-17    0.12569E-09    0.28380E-14    0.13534E-16
+  6211    0.20024E-14    0.18546E-16    0.00000E+00   -0.21155E-17    0.12561E-09    0.28357E-14    0.13307E-16
+  6212    0.20010E-14    0.18470E-16    0.00000E+00   -0.20357E-17    0.12553E-09    0.28333E-14    0.13078E-16
+  6213    0.19997E-14    0.18394E-16    0.00000E+00   -0.19541E-17    0.12545E-09    0.28305E-14    0.12848E-16
+  6214    0.19984E-14    0.18319E-16    0.00000E+00   -0.18717E-17    0.12537E-09    0.28275E-14    0.12615E-16
+  6215    0.19971E-14    0.18244E-16    0.00000E+00   -0.17886E-17    0.12529E-09    0.28244E-14    0.12381E-16
+  6216    0.19958E-14    0.18170E-16    0.00000E+00   -0.17028E-17    0.12521E-09    0.28212E-14    0.12146E-16
+  6217    0.19944E-14    0.18096E-16    0.00000E+00   -0.16163E-17    0.12512E-09    0.28181E-14    0.11909E-16
+  6218    0.19931E-14    0.18022E-16    0.00000E+00   -0.15281E-17    0.12504E-09    0.28152E-14    0.11672E-16
+  6219    0.19918E-14    0.17949E-16    0.00000E+00   -0.14394E-17    0.12496E-09    0.28125E-14    0.11434E-16
+  6220    0.19904E-14    0.17877E-16    0.00000E+00   -0.13491E-17    0.12488E-09    0.28101E-14    0.11196E-16
+  6221    0.19891E-14    0.17804E-16    0.00000E+00   -0.12573E-17    0.12480E-09    0.28079E-14    0.10957E-16
+  6222    0.19878E-14    0.17732E-16    0.00000E+00   -0.11640E-17    0.12472E-09    0.28060E-14    0.10716E-16
+  6223    0.19865E-14    0.17660E-16    0.00000E+00   -0.10702E-17    0.12464E-09    0.28041E-14    0.10473E-16
+  6224    0.19851E-14    0.17589E-16    0.00000E+00   -0.97506E-18    0.12456E-09    0.28021E-14    0.10227E-16
+  6225    0.19839E-14    0.17518E-16    0.00000E+00   -0.87856E-18    0.12448E-09    0.28001E-14    0.99774E-17
+  6226    0.19825E-14    0.17447E-16    0.00000E+00   -0.78076E-18    0.12440E-09    0.27979E-14    0.97241E-17
+  6227    0.19812E-14    0.17378E-16    0.00000E+00   -0.68169E-18    0.12432E-09    0.27954E-14    0.94665E-17
+  6228    0.19799E-14    0.17308E-16    0.00000E+00   -0.58240E-18    0.12424E-09    0.27928E-14    0.92049E-17
+  6229    0.19787E-14    0.17238E-16    0.00000E+00   -0.48195E-18    0.12416E-09    0.27900E-14    0.89402E-17
+  6230    0.19773E-14    0.17169E-16    0.00000E+00   -0.37939E-18    0.12408E-09    0.27872E-14    0.86730E-17
+  6231    0.19759E-14    0.17101E-16    0.00000E+00   -0.27676E-18    0.12399E-09    0.27844E-14    0.84040E-17
+  6232    0.19746E-14    0.17032E-16    0.00000E+00   -0.17311E-18    0.12391E-09    0.27817E-14    0.81340E-17
+  6233    0.19733E-14    0.16965E-16    0.00000E+00   -0.68488E-19    0.12383E-09    0.27793E-14    0.78636E-17
+  6234    0.19720E-14    0.16898E-16    0.00000E+00    0.38052E-19    0.12375E-09    0.27771E-14    0.75935E-17
+  6235    0.19706E-14    0.16831E-16    0.00000E+00    0.14448E-18    0.12367E-09    0.27751E-14    0.73235E-17
+  6236    0.19694E-14    0.16764E-16    0.00000E+00    0.25178E-18    0.12359E-09    0.27733E-14    0.70535E-17
+  6237    0.19680E-14    0.16698E-16    0.00000E+00    0.35990E-18    0.12351E-09    0.27716E-14    0.67833E-17
+  6238    0.19666E-14    0.16633E-16    0.00000E+00    0.46884E-18    0.12343E-09    0.27698E-14    0.65129E-17
+  6239    0.19653E-14    0.16568E-16    0.00000E+00    0.57955E-18    0.12335E-09    0.27681E-14    0.62419E-17
+  6240    0.19641E-14    0.16503E-16    0.00000E+00    0.69002E-18    0.12327E-09    0.27661E-14    0.59703E-17
+  6241    0.19627E-14    0.16438E-16    0.00000E+00    0.80121E-18    0.12319E-09    0.27641E-14    0.56979E-17
+  6242    0.19613E-14    0.16374E-16    0.00000E+00    0.91407E-18    0.12311E-09    0.27619E-14    0.54248E-17
+  6243    0.19600E-14    0.16312E-16    0.00000E+00    0.10266E-17    0.12303E-09    0.27596E-14    0.51511E-17
+  6244    0.19587E-14    0.16249E-16    0.00000E+00    0.11407E-17    0.12295E-09    0.27572E-14    0.48769E-17
+  6245    0.19574E-14    0.16186E-16    0.00000E+00    0.12544E-17    0.12287E-09    0.27549E-14    0.46023E-17
+  6246    0.19561E-14    0.16124E-16    0.00000E+00    0.13695E-17    0.12280E-09    0.27527E-14    0.43275E-17
+  6247    0.19547E-14    0.16062E-16    0.00000E+00    0.14862E-17    0.12272E-09    0.27506E-14    0.40526E-17
+  6248    0.19535E-14    0.16001E-16    0.00000E+00    0.16023E-17    0.12264E-09    0.27486E-14    0.37777E-17
+  6249    0.19521E-14    0.15940E-16    0.00000E+00    0.17197E-17    0.12256E-09    0.27468E-14    0.35031E-17
+  6250    0.19507E-14    0.15880E-16    0.00000E+00    0.18365E-17    0.12248E-09    0.27451E-14    0.32291E-17
+  6251    0.19494E-14    0.15820E-16    0.00000E+00    0.19551E-17    0.12240E-09    0.27435E-14    0.29561E-17
+  6252    0.19481E-14    0.15761E-16    0.00000E+00    0.20737E-17    0.12232E-09    0.27418E-14    0.26844E-17
+  6253    0.19467E-14    0.15702E-16    0.00000E+00    0.21929E-17    0.12224E-09    0.27401E-14    0.24142E-17
+  6254    0.19453E-14    0.15643E-16    0.00000E+00    0.23125E-17    0.12216E-09    0.27384E-14    0.21460E-17
+  6255    0.19440E-14    0.15585E-16    0.00000E+00    0.24324E-17    0.12208E-09    0.27366E-14    0.18798E-17
+  6256    0.19425E-14    0.15527E-16    0.00000E+00    0.25528E-17    0.12200E-09    0.27347E-14    0.16151E-17
+  6257    0.19412E-14    0.15470E-16    0.00000E+00    0.26736E-17    0.12192E-09    0.27328E-14    0.13513E-17
+  6258    0.19398E-14    0.15413E-16    0.00000E+00    0.27945E-17    0.12184E-09    0.27308E-14    0.10876E-17
+  6259    0.19385E-14    0.15356E-16    0.00000E+00    0.29160E-17    0.12176E-09    0.27289E-14    0.82325E-18
+  6260    0.19371E-14    0.15301E-16    0.00000E+00    0.30377E-17    0.12169E-09    0.27270E-14    0.55761E-18
+  6261    0.19357E-14    0.15245E-16    0.00000E+00    0.31597E-17    0.12161E-09    0.27252E-14    0.28996E-18
+  6262    0.19343E-14    0.15190E-16    0.00000E+00    0.32821E-17    0.12153E-09    0.27235E-14    0.19810E-19
+  6263    0.19329E-14    0.15135E-16    0.00000E+00    0.34046E-17    0.12145E-09    0.27218E-14   -0.25240E-18
+  6264    0.19315E-14    0.15081E-16    0.00000E+00    0.35274E-17    0.12137E-09    0.27203E-14   -0.52600E-18
+  6265    0.19302E-14    0.15028E-16    0.00000E+00    0.36505E-17    0.12129E-09    0.27188E-14   -0.80034E-18
+  6266    0.19288E-14    0.14975E-16    0.00000E+00    0.37737E-17    0.12121E-09    0.27173E-14   -0.10747E-17
+  6267    0.19274E-14    0.14922E-16    0.00000E+00    0.38970E-17    0.12113E-09    0.27159E-14   -0.13485E-17
+  6268    0.19260E-14    0.14869E-16    0.00000E+00    0.40206E-17    0.12106E-09    0.27144E-14   -0.16211E-17
+  6269    0.19245E-14    0.14818E-16    0.00000E+00    0.41442E-17    0.12098E-09    0.27129E-14   -0.18918E-17
+  6270    0.19232E-14    0.14766E-16    0.00000E+00    0.42678E-17    0.12090E-09    0.27114E-14   -0.21609E-17
+  6271    0.19217E-14    0.14716E-16    0.00000E+00    0.43916E-17    0.12082E-09    0.27099E-14   -0.24285E-17
+  6272    0.19204E-14    0.14665E-16    0.00000E+00    0.45154E-17    0.12074E-09    0.27084E-14   -0.26949E-17
+  6273    0.19189E-14    0.14615E-16    0.00000E+00    0.46393E-17    0.12066E-09    0.27068E-14   -0.29603E-17
+  6274    0.19175E-14    0.14565E-16    0.00000E+00    0.47632E-17    0.12059E-09    0.27053E-14   -0.32249E-17
+  6275    0.19161E-14    0.14515E-16    0.00000E+00    0.48870E-17    0.12051E-09    0.27037E-14   -0.34889E-17
+  6276    0.19147E-14    0.14467E-16    0.00000E+00    0.50108E-17    0.12043E-09    0.27022E-14   -0.37526E-17
+  6277    0.19132E-14    0.14418E-16    0.00000E+00    0.51346E-17    0.12035E-09    0.27006E-14   -0.40156E-17
+  6278    0.19118E-14    0.14370E-16    0.00000E+00    0.52584E-17    0.12027E-09    0.26990E-14   -0.42778E-17
+  6279    0.19104E-14    0.14322E-16    0.00000E+00    0.53820E-17    0.12020E-09    0.26975E-14   -0.45388E-17
+  6280    0.19089E-14    0.14275E-16    0.00000E+00    0.55055E-17    0.12012E-09    0.26960E-14   -0.47982E-17
+  6281    0.19076E-14    0.14228E-16    0.00000E+00    0.56288E-17    0.12004E-09    0.26945E-14   -0.50559E-17
+  6282    0.19060E-14    0.14182E-16    0.00000E+00    0.57521E-17    0.11996E-09    0.26931E-14   -0.53116E-17
+  6283    0.19046E-14    0.14136E-16    0.00000E+00    0.58750E-17    0.11988E-09    0.26918E-14   -0.55648E-17
+  6284    0.19032E-14    0.14091E-16    0.00000E+00    0.59979E-17    0.11981E-09    0.26905E-14   -0.58156E-17
+  6285    0.19016E-14    0.14046E-16    0.00000E+00    0.61204E-17    0.11973E-09    0.26892E-14   -0.60637E-17
+  6286    0.19002E-14    0.14001E-16    0.00000E+00    0.62427E-17    0.11965E-09    0.26880E-14   -0.63088E-17
+  6287    0.18987E-14    0.13957E-16    0.00000E+00    0.63648E-17    0.11957E-09    0.26867E-14   -0.65510E-17
+  6288    0.18972E-14    0.13914E-16    0.00000E+00    0.64866E-17    0.11950E-09    0.26854E-14   -0.67900E-17
+  6289    0.18958E-14    0.13870E-16    0.00000E+00    0.66081E-17    0.11942E-09    0.26841E-14   -0.70257E-17
+  6290    0.18943E-14    0.13827E-16    0.00000E+00    0.67294E-17    0.11934E-09    0.26827E-14   -0.72579E-17
+  6291    0.18927E-14    0.13784E-16    0.00000E+00    0.68503E-17    0.11926E-09    0.26813E-14   -0.74872E-17
+  6292    0.18913E-14    0.13742E-16    0.00000E+00    0.69709E-17    0.11919E-09    0.26799E-14   -0.77141E-17
+  6293    0.18898E-14    0.13700E-16    0.00000E+00    0.70911E-17    0.11911E-09    0.26786E-14   -0.79391E-17
+  6294    0.18883E-14    0.13659E-16    0.00000E+00    0.72110E-17    0.11903E-09    0.26773E-14   -0.81628E-17
+  6295    0.18868E-14    0.13618E-16    0.00000E+00    0.73304E-17    0.11895E-09    0.26761E-14   -0.83858E-17
+  6296    0.18853E-14    0.13577E-16    0.00000E+00    0.74495E-17    0.11888E-09    0.26750E-14   -0.86085E-17
+  6297    0.18837E-14    0.13536E-16    0.00000E+00    0.75681E-17    0.11880E-09    0.26740E-14   -0.88314E-17
+  6298    0.18823E-14    0.13497E-16    0.00000E+00    0.76863E-17    0.11872E-09    0.26732E-14   -0.90542E-17
+  6299    0.18807E-14    0.13457E-16    0.00000E+00    0.78040E-17    0.11865E-09    0.26724E-14   -0.92765E-17
+  6300    0.18792E-14    0.13419E-16    0.00000E+00    0.79213E-17    0.11857E-09    0.26717E-14   -0.94979E-17
+  6301    0.18776E-14    0.13380E-16    0.00000E+00    0.80380E-17    0.11849E-09    0.26709E-14   -0.97179E-17
+  6302    0.18761E-14    0.13341E-16    0.00000E+00    0.81543E-17    0.11842E-09    0.26700E-14   -0.99361E-17
+  6303    0.18746E-14    0.13303E-16    0.00000E+00    0.82701E-17    0.11834E-09    0.26690E-14   -0.10152E-16
+  6304    0.18730E-14    0.13266E-16    0.00000E+00    0.83854E-17    0.11826E-09    0.26678E-14   -0.10365E-16
+  6305    0.18715E-14    0.13229E-16    0.00000E+00    0.85002E-17    0.11819E-09    0.26665E-14   -0.10576E-16
+  6306    0.18700E-14    0.13191E-16    0.00000E+00    0.86144E-17    0.11811E-09    0.26652E-14   -0.10785E-16
+  6307    0.18684E-14    0.13155E-16    0.00000E+00    0.87280E-17    0.11803E-09    0.26638E-14   -0.10992E-16
+  6308    0.18668E-14    0.13119E-16    0.00000E+00    0.88411E-17    0.11796E-09    0.26625E-14   -0.11197E-16
+  6309    0.18653E-14    0.13082E-16    0.00000E+00    0.89535E-17    0.11788E-09    0.26613E-14   -0.11400E-16
+  6310    0.18638E-14    0.13047E-16    0.00000E+00    0.90653E-17    0.11780E-09    0.26603E-14   -0.11602E-16
+  6311    0.18622E-14    0.13012E-16    0.00000E+00    0.91764E-17    0.11773E-09    0.26594E-14   -0.11802E-16
+  6312    0.18606E-14    0.12977E-16    0.00000E+00    0.92869E-17    0.11765E-09    0.26587E-14   -0.12001E-16
+  6313    0.18591E-14    0.12942E-16    0.00000E+00    0.93967E-17    0.11757E-09    0.26580E-14   -0.12197E-16
+  6314    0.18575E-14    0.12908E-16    0.00000E+00    0.95059E-17    0.11750E-09    0.26574E-14   -0.12391E-16
+  6315    0.18559E-14    0.12874E-16    0.00000E+00    0.96144E-17    0.11742E-09    0.26567E-14   -0.12582E-16
+  6316    0.18543E-14    0.12841E-16    0.00000E+00    0.97222E-17    0.11734E-09    0.26560E-14   -0.12769E-16
+  6317    0.18527E-14    0.12807E-16    0.00000E+00    0.98294E-17    0.11727E-09    0.26551E-14   -0.12952E-16
+  6318    0.18511E-14    0.12774E-16    0.00000E+00    0.99360E-17    0.11719E-09    0.26540E-14   -0.13131E-16
+  6319    0.18495E-14    0.12742E-16    0.00000E+00    0.10042E-16    0.11712E-09    0.26527E-14   -0.13306E-16
+  6320    0.18479E-14    0.12709E-16    0.00000E+00    0.10147E-16    0.11704E-09    0.26514E-14   -0.13477E-16
+  6321    0.18463E-14    0.12677E-16    0.00000E+00    0.10251E-16    0.11696E-09    0.26501E-14   -0.13643E-16
+  6322    0.18447E-14    0.12645E-16    0.00000E+00    0.10355E-16    0.11689E-09    0.26489E-14   -0.13806E-16
+  6323    0.18431E-14    0.12614E-16    0.00000E+00    0.10458E-16    0.11681E-09    0.26478E-14   -0.13966E-16
+  6324    0.18414E-14    0.12583E-16    0.00000E+00    0.10560E-16    0.11674E-09    0.26469E-14   -0.14123E-16
+  6325    0.18398E-14    0.12551E-16    0.00000E+00    0.10662E-16    0.11666E-09    0.26463E-14   -0.14276E-16
+  6326    0.18381E-14    0.12521E-16    0.00000E+00    0.10762E-16    0.11659E-09    0.26459E-14   -0.14426E-16
+  6327    0.18365E-14    0.12491E-16    0.00000E+00    0.10862E-16    0.11651E-09    0.26455E-14   -0.14574E-16
+  6328    0.18349E-14    0.12461E-16    0.00000E+00    0.10961E-16    0.11643E-09    0.26452E-14   -0.14719E-16
+  6329    0.18333E-14    0.12431E-16    0.00000E+00    0.11059E-16    0.11636E-09    0.26449E-14   -0.14862E-16
+  6330    0.18316E-14    0.12401E-16    0.00000E+00    0.11157E-16    0.11628E-09    0.26444E-14   -0.15002E-16
+  6331    0.18299E-14    0.12373E-16    0.00000E+00    0.11253E-16    0.11621E-09    0.26437E-14   -0.15140E-16
+  6332    0.18284E-14    0.12343E-16    0.00000E+00    0.11349E-16    0.11613E-09    0.26428E-14   -0.15276E-16
+  6333    0.18267E-14    0.12315E-16    0.00000E+00    0.11444E-16    0.11606E-09    0.26416E-14   -0.15409E-16
+  6334    0.18250E-14    0.12286E-16    0.00000E+00    0.11538E-16    0.11598E-09    0.26403E-14   -0.15541E-16
+  6335    0.18234E-14    0.12258E-16    0.00000E+00    0.11632E-16    0.11591E-09    0.26390E-14   -0.15670E-16
+  6336    0.18217E-14    0.12229E-16    0.00000E+00    0.11725E-16    0.11583E-09    0.26377E-14   -0.15796E-16
+  6337    0.18201E-14    0.12202E-16    0.00000E+00    0.11816E-16    0.11576E-09    0.26365E-14   -0.15920E-16
+  6338    0.18183E-14    0.12175E-16    0.00000E+00    0.11907E-16    0.11568E-09    0.26355E-14   -0.16041E-16
+  6339    0.18167E-14    0.12147E-16    0.00000E+00    0.11997E-16    0.11561E-09    0.26349E-14   -0.16159E-16
+  6340    0.18150E-14    0.12120E-16    0.00000E+00    0.12087E-16    0.11553E-09    0.26344E-14   -0.16275E-16
+  6341    0.18132E-14    0.12093E-16    0.00000E+00    0.12175E-16    0.11546E-09    0.26341E-14   -0.16387E-16
+  6342    0.18115E-14    0.12066E-16    0.00000E+00    0.12262E-16    0.11538E-09    0.26338E-14   -0.16498E-16
+  6343    0.18098E-14    0.12040E-16    0.00000E+00    0.12349E-16    0.11531E-09    0.26335E-14   -0.16606E-16
+  6344    0.18082E-14    0.12014E-16    0.00000E+00    0.12435E-16    0.11523E-09    0.26330E-14   -0.16711E-16
+  6345    0.18065E-14    0.11988E-16    0.00000E+00    0.12520E-16    0.11516E-09    0.26323E-14   -0.16815E-16
+  6346    0.18047E-14    0.11962E-16    0.00000E+00    0.12604E-16    0.11508E-09    0.26313E-14   -0.16917E-16
+  6347    0.18030E-14    0.11936E-16    0.00000E+00    0.12687E-16    0.11501E-09    0.26301E-14   -0.17016E-16
+  6348    0.18013E-14    0.11911E-16    0.00000E+00    0.12769E-16    0.11493E-09    0.26288E-14   -0.17113E-16
+  6349    0.17996E-14    0.11886E-16    0.00000E+00    0.12851E-16    0.11486E-09    0.26274E-14   -0.17206E-16
+  6350    0.17979E-14    0.11862E-16    0.00000E+00    0.12931E-16    0.11478E-09    0.26261E-14   -0.17296E-16
+  6351    0.17962E-14    0.11836E-16    0.00000E+00    0.13011E-16    0.11471E-09    0.26250E-14   -0.17381E-16
+  6352    0.17945E-14    0.11812E-16    0.00000E+00    0.13090E-16    0.11463E-09    0.26241E-14   -0.17461E-16
+  6353    0.17927E-14    0.11787E-16    0.00000E+00    0.13168E-16    0.11456E-09    0.26236E-14   -0.17537E-16
+  6354    0.17910E-14    0.11763E-16    0.00000E+00    0.13245E-16    0.11449E-09    0.26233E-14   -0.17607E-16
+  6355    0.17893E-14    0.11739E-16    0.00000E+00    0.13321E-16    0.11441E-09    0.26232E-14   -0.17673E-16
+  6356    0.17875E-14    0.11715E-16    0.00000E+00    0.13396E-16    0.11434E-09    0.26232E-14   -0.17735E-16
+  6357    0.17858E-14    0.11691E-16    0.00000E+00    0.13470E-16    0.11426E-09    0.26231E-14   -0.17794E-16
+  6358    0.17840E-14    0.11667E-16    0.00000E+00    0.13544E-16    0.11419E-09    0.26228E-14   -0.17850E-16
+  6359    0.17823E-14    0.11643E-16    0.00000E+00    0.13617E-16    0.11411E-09    0.26223E-14   -0.17903E-16
+  6360    0.17806E-14    0.11620E-16    0.00000E+00    0.13689E-16    0.11404E-09    0.26214E-14   -0.17954E-16
+  6361    0.17788E-14    0.11597E-16    0.00000E+00    0.13760E-16    0.11397E-09    0.26203E-14   -0.18003E-16
+  6362    0.17771E-14    0.11573E-16    0.00000E+00    0.13830E-16    0.11389E-09    0.26190E-14   -0.18049E-16
+  6363    0.17753E-14    0.11551E-16    0.00000E+00    0.13899E-16    0.11382E-09    0.26177E-14   -0.18092E-16
+  6364    0.17735E-14    0.11527E-16    0.00000E+00    0.13968E-16    0.11374E-09    0.26164E-14   -0.18133E-16
+  6365    0.17717E-14    0.11505E-16    0.00000E+00    0.14035E-16    0.11367E-09    0.26152E-14   -0.18170E-16
+  6366    0.17700E-14    0.11482E-16    0.00000E+00    0.14102E-16    0.11360E-09    0.26143E-14   -0.18203E-16
+  6367    0.17682E-14    0.11460E-16    0.00000E+00    0.14168E-16    0.11352E-09    0.26137E-14   -0.18233E-16
+  6368    0.17664E-14    0.11437E-16    0.00000E+00    0.14233E-16    0.11345E-09    0.26134E-14   -0.18259E-16
+  6369    0.17646E-14    0.11415E-16    0.00000E+00    0.14297E-16    0.11338E-09    0.26132E-14   -0.18282E-16
+  6370    0.17629E-14    0.11393E-16    0.00000E+00    0.14360E-16    0.11330E-09    0.26130E-14   -0.18301E-16
+  6371    0.17611E-14    0.11370E-16    0.00000E+00    0.14422E-16    0.11323E-09    0.26128E-14   -0.18317E-16
+  6372    0.17593E-14    0.11348E-16    0.00000E+00    0.14484E-16    0.11315E-09    0.26125E-14   -0.18330E-16
+  6373    0.17575E-14    0.11327E-16    0.00000E+00    0.14544E-16    0.11308E-09    0.26119E-14   -0.18340E-16
+  6374    0.17557E-14    0.11305E-16    0.00000E+00    0.14603E-16    0.11301E-09    0.26109E-14   -0.18347E-16
+  6375    0.17540E-14    0.11284E-16    0.00000E+00    0.14663E-16    0.11293E-09    0.26097E-14   -0.18352E-16
+  6376    0.17521E-14    0.11261E-16    0.00000E+00    0.14720E-16    0.11286E-09    0.26084E-14   -0.18353E-16
+  6377    0.17503E-14    0.11239E-16    0.00000E+00    0.14778E-16    0.11279E-09    0.26070E-14   -0.18353E-16
+  6378    0.17485E-14    0.11219E-16    0.00000E+00    0.14834E-16    0.11271E-09    0.26056E-14   -0.18350E-16
+  6379    0.17467E-14    0.11197E-16    0.00000E+00    0.14890E-16    0.11264E-09    0.26045E-14   -0.18345E-16
+  6380    0.17449E-14    0.11176E-16    0.00000E+00    0.14945E-16    0.11257E-09    0.26035E-14   -0.18338E-16
+  6381    0.17431E-14    0.11154E-16    0.00000E+00    0.14999E-16    0.11249E-09    0.26030E-14   -0.18329E-16
+  6382    0.17413E-14    0.11133E-16    0.00000E+00    0.15052E-16    0.11242E-09    0.26026E-14   -0.18318E-16
+  6383    0.17395E-14    0.11112E-16    0.00000E+00    0.15105E-16    0.11235E-09    0.26025E-14   -0.18304E-16
+  6384    0.17377E-14    0.11091E-16    0.00000E+00    0.15156E-16    0.11228E-09    0.26024E-14   -0.18287E-16
+  6385    0.17358E-14    0.11070E-16    0.00000E+00    0.15207E-16    0.11220E-09    0.26022E-14   -0.18267E-16
+  6386    0.17340E-14    0.11049E-16    0.00000E+00    0.15258E-16    0.11213E-09    0.26019E-14   -0.18242E-16
+  6387    0.17322E-14    0.11028E-16    0.00000E+00    0.15306E-16    0.11206E-09    0.26013E-14   -0.18214E-16
+  6388    0.17303E-14    0.11007E-16    0.00000E+00    0.15356E-16    0.11198E-09    0.26004E-14   -0.18180E-16
+  6389    0.17286E-14    0.10987E-16    0.00000E+00    0.15403E-16    0.11191E-09    0.25992E-14   -0.18143E-16
+  6390    0.17267E-14    0.10966E-16    0.00000E+00    0.15449E-16    0.11184E-09    0.25979E-14   -0.18101E-16
+  6391    0.17249E-14    0.10945E-16    0.00000E+00    0.15496E-16    0.11177E-09    0.25965E-14   -0.18056E-16
+  6392    0.17231E-14    0.10925E-16    0.00000E+00    0.15541E-16    0.11169E-09    0.25951E-14   -0.18009E-16
+  6393    0.17212E-14    0.10905E-16    0.00000E+00    0.15586E-16    0.11162E-09    0.25938E-14   -0.17959E-16
+  6394    0.17193E-14    0.10883E-16    0.00000E+00    0.15630E-16    0.11155E-09    0.25928E-14   -0.17908E-16
+  6395    0.17175E-14    0.10863E-16    0.00000E+00    0.15673E-16    0.11148E-09    0.25920E-14   -0.17855E-16
+  6396    0.17156E-14    0.10842E-16    0.00000E+00    0.15715E-16    0.11140E-09    0.25914E-14   -0.17801E-16
+  6397    0.17138E-14    0.10822E-16    0.00000E+00    0.15757E-16    0.11133E-09    0.25910E-14   -0.17745E-16
+  6398    0.17119E-14    0.10802E-16    0.00000E+00    0.15798E-16    0.11126E-09    0.25906E-14   -0.17687E-16
+  6399    0.17101E-14    0.10781E-16    0.00000E+00    0.15838E-16    0.11119E-09    0.25902E-14   -0.17626E-16
+  6400    0.17082E-14    0.10760E-16    0.00000E+00    0.15878E-16    0.11111E-09    0.25896E-14   -0.17561E-16
+  6401    0.17064E-14    0.10740E-16    0.00000E+00    0.15917E-16    0.11104E-09    0.25888E-14   -0.17493E-16
+  6402    0.17045E-14    0.10720E-16    0.00000E+00    0.15955E-16    0.11097E-09    0.25877E-14   -0.17421E-16
+  6403    0.17026E-14    0.10700E-16    0.00000E+00    0.15993E-16    0.11090E-09    0.25864E-14   -0.17345E-16
+  6404    0.17007E-14    0.10679E-16    0.00000E+00    0.16030E-16    0.11083E-09    0.25849E-14   -0.17266E-16
+  6405    0.16989E-14    0.10658E-16    0.00000E+00    0.16066E-16    0.11075E-09    0.25834E-14   -0.17184E-16
+  6406    0.16970E-14    0.10638E-16    0.00000E+00    0.16101E-16    0.11068E-09    0.25819E-14   -0.17098E-16
+  6407    0.16951E-14    0.10617E-16    0.00000E+00    0.16136E-16    0.11061E-09    0.25805E-14   -0.17010E-16
+  6408    0.16933E-14    0.10597E-16    0.00000E+00    0.16170E-16    0.11054E-09    0.25793E-14   -0.16919E-16
+  6409    0.16914E-14    0.10577E-16    0.00000E+00    0.16203E-16    0.11047E-09    0.25784E-14   -0.16826E-16
+  6410    0.16895E-14    0.10556E-16    0.00000E+00    0.16237E-16    0.11039E-09    0.25778E-14   -0.16731E-16
+  6411    0.16876E-14    0.10535E-16    0.00000E+00    0.16269E-16    0.11032E-09    0.25772E-14   -0.16634E-16
+  6412    0.16857E-14    0.10515E-16    0.00000E+00    0.16301E-16    0.11025E-09    0.25768E-14   -0.16535E-16
+  6413    0.16839E-14    0.10494E-16    0.00000E+00    0.16331E-16    0.11018E-09    0.25763E-14   -0.16435E-16
+  6414    0.16819E-14    0.10474E-16    0.00000E+00    0.16362E-16    0.11011E-09    0.25756E-14   -0.16332E-16
+  6415    0.16801E-14    0.10454E-16    0.00000E+00    0.16392E-16    0.11004E-09    0.25748E-14   -0.16228E-16
+  6416    0.16782E-14    0.10433E-16    0.00000E+00    0.16422E-16    0.10996E-09    0.25738E-14   -0.16123E-16
+  6417    0.16764E-14    0.10413E-16    0.00000E+00    0.16450E-16    0.10989E-09    0.25725E-14   -0.16016E-16
+  6418    0.16745E-14    0.10392E-16    0.00000E+00    0.16478E-16    0.10982E-09    0.25711E-14   -0.15907E-16
+  6419    0.16726E-14    0.10372E-16    0.00000E+00    0.16506E-16    0.10975E-09    0.25697E-14   -0.15795E-16
+  6420    0.16707E-14    0.10352E-16    0.00000E+00    0.16533E-16    0.10968E-09    0.25682E-14   -0.15682E-16
+  6421    0.16688E-14    0.10331E-16    0.00000E+00    0.16559E-16    0.10961E-09    0.25668E-14   -0.15566E-16
+  6422    0.16669E-14    0.10311E-16    0.00000E+00    0.16585E-16    0.10954E-09    0.25656E-14   -0.15447E-16
+  6423    0.16649E-14    0.10290E-16    0.00000E+00    0.16610E-16    0.10946E-09    0.25646E-14   -0.15325E-16
+  6424    0.16630E-14    0.10269E-16    0.00000E+00    0.16635E-16    0.10939E-09    0.25637E-14   -0.15200E-16
+  6425    0.16611E-14    0.10249E-16    0.00000E+00    0.16659E-16    0.10932E-09    0.25629E-14   -0.15073E-16
+  6426    0.16592E-14    0.10228E-16    0.00000E+00    0.16682E-16    0.10925E-09    0.25621E-14   -0.14944E-16
+  6427    0.16573E-14    0.10207E-16    0.00000E+00    0.16706E-16    0.10918E-09    0.25614E-14   -0.14814E-16
+  6428    0.16554E-14    0.10187E-16    0.00000E+00    0.16728E-16    0.10911E-09    0.25605E-14   -0.14683E-16
+  6429    0.16535E-14    0.10166E-16    0.00000E+00    0.16750E-16    0.10904E-09    0.25594E-14   -0.14551E-16
+  6430    0.16515E-14    0.10145E-16    0.00000E+00    0.16772E-16    0.10897E-09    0.25582E-14   -0.14419E-16
+  6431    0.16496E-14    0.10125E-16    0.00000E+00    0.16793E-16    0.10890E-09    0.25568E-14   -0.14286E-16
+  6432    0.16478E-14    0.10104E-16    0.00000E+00    0.16814E-16    0.10883E-09    0.25554E-14   -0.14152E-16
+  6433    0.16458E-14    0.10083E-16    0.00000E+00    0.16834E-16    0.10876E-09    0.25538E-14   -0.14017E-16
+  6434    0.16439E-14    0.10062E-16    0.00000E+00    0.16854E-16    0.10868E-09    0.25523E-14   -0.13880E-16
+  6435    0.16419E-14    0.10041E-16    0.00000E+00    0.16873E-16    0.10861E-09    0.25508E-14   -0.13740E-16
+  6436    0.16401E-14    0.10020E-16    0.00000E+00    0.16892E-16    0.10854E-09    0.25495E-14   -0.13598E-16
+  6437    0.16381E-14    0.99987E-17    0.00000E+00    0.16911E-16    0.10847E-09    0.25483E-14   -0.13453E-16
+  6438    0.16362E-14    0.99774E-17    0.00000E+00    0.16929E-16    0.10840E-09    0.25472E-14   -0.13305E-16
+  6439    0.16343E-14    0.99569E-17    0.00000E+00    0.16946E-16    0.10833E-09    0.25462E-14   -0.13154E-16
+  6440    0.16323E-14    0.99354E-17    0.00000E+00    0.16963E-16    0.10826E-09    0.25453E-14   -0.13001E-16
+  6441    0.16304E-14    0.99148E-17    0.00000E+00    0.16980E-16    0.10819E-09    0.25443E-14   -0.12846E-16
+  6442    0.16285E-14    0.98930E-17    0.00000E+00    0.16995E-16    0.10812E-09    0.25433E-14   -0.12688E-16
+  6443    0.16266E-14    0.98721E-17    0.00000E+00    0.17012E-16    0.10805E-09    0.25422E-14   -0.12529E-16
+  6444    0.16246E-14    0.98501E-17    0.00000E+00    0.17027E-16    0.10798E-09    0.25409E-14   -0.12369E-16
+  6445    0.16227E-14    0.98290E-17    0.00000E+00    0.17042E-16    0.10791E-09    0.25396E-14   -0.12207E-16
+  6446    0.16208E-14    0.98078E-17    0.00000E+00    0.17056E-16    0.10784E-09    0.25381E-14   -0.12044E-16
+  6447    0.16189E-14    0.97864E-17    0.00000E+00    0.17071E-16    0.10777E-09    0.25366E-14   -0.11879E-16
+  6448    0.16169E-14    0.97649E-17    0.00000E+00    0.17085E-16    0.10770E-09    0.25351E-14   -0.11713E-16
+  6449    0.16150E-14    0.97433E-17    0.00000E+00    0.17099E-16    0.10763E-09    0.25336E-14   -0.11547E-16
+  6450    0.16130E-14    0.97226E-17    0.00000E+00    0.17112E-16    0.10756E-09    0.25322E-14   -0.11379E-16
+  6451    0.16112E-14    0.97007E-17    0.00000E+00    0.17125E-16    0.10749E-09    0.25308E-14   -0.11210E-16
+  6452    0.16092E-14    0.96796E-17    0.00000E+00    0.17137E-16    0.10742E-09    0.25294E-14   -0.11040E-16
+  6453    0.16073E-14    0.96575E-17    0.00000E+00    0.17149E-16    0.10735E-09    0.25281E-14   -0.10870E-16
+  6454    0.16053E-14    0.96361E-17    0.00000E+00    0.17161E-16    0.10728E-09    0.25268E-14   -0.10698E-16
+  6455    0.16034E-14    0.96146E-17    0.00000E+00    0.17172E-16    0.10721E-09    0.25255E-14   -0.10526E-16
+  6456    0.16014E-14    0.95930E-17    0.00000E+00    0.17183E-16    0.10714E-09    0.25241E-14   -0.10354E-16
+  6457    0.15994E-14    0.95711E-17    0.00000E+00    0.17194E-16    0.10707E-09    0.25227E-14   -0.10181E-16
+  6458    0.15976E-14    0.95490E-17    0.00000E+00    0.17205E-16    0.10700E-09    0.25212E-14   -0.10008E-16
+  6459    0.15956E-14    0.95278E-17    0.00000E+00    0.17214E-16    0.10693E-09    0.25196E-14   -0.98339E-17
+  6460    0.15936E-14    0.95053E-17    0.00000E+00    0.17224E-16    0.10686E-09    0.25180E-14   -0.96600E-17
+  6461    0.15917E-14    0.94837E-17    0.00000E+00    0.17234E-16    0.10679E-09    0.25163E-14   -0.94859E-17
+  6462    0.15897E-14    0.94619E-17    0.00000E+00    0.17243E-16    0.10672E-09    0.25147E-14   -0.93117E-17
+  6463    0.15877E-14    0.94389E-17    0.00000E+00    0.17252E-16    0.10665E-09    0.25130E-14   -0.91376E-17
+  6464    0.15858E-14    0.94178E-17    0.00000E+00    0.17260E-16    0.10658E-09    0.25113E-14   -0.89635E-17
+  6465    0.15838E-14    0.93955E-17    0.00000E+00    0.17268E-16    0.10651E-09    0.25097E-14   -0.87896E-17
+  6466    0.15819E-14    0.93730E-17    0.00000E+00    0.17277E-16    0.10645E-09    0.25081E-14   -0.86156E-17
+  6467    0.15799E-14    0.93514E-17    0.00000E+00    0.17285E-16    0.10638E-09    0.25065E-14   -0.84412E-17
+  6468    0.15779E-14    0.93296E-17    0.00000E+00    0.17292E-16    0.10631E-09    0.25049E-14   -0.82662E-17
+  6469    0.15760E-14    0.93075E-17    0.00000E+00    0.17299E-16    0.10624E-09    0.25033E-14   -0.80902E-17
+  6470    0.15740E-14    0.92853E-17    0.00000E+00    0.17306E-16    0.10617E-09    0.25018E-14   -0.79131E-17
+  6471    0.15721E-14    0.92628E-17    0.00000E+00    0.17313E-16    0.10610E-09    0.25003E-14   -0.77346E-17
+  6472    0.15701E-14    0.92401E-17    0.00000E+00    0.17319E-16    0.10603E-09    0.24988E-14   -0.75543E-17
+  6473    0.15682E-14    0.92182E-17    0.00000E+00    0.17325E-16    0.10596E-09    0.24973E-14   -0.73725E-17
+  6474    0.15662E-14    0.91960E-17    0.00000E+00    0.17331E-16    0.10589E-09    0.24957E-14   -0.71893E-17
+  6475    0.15642E-14    0.91737E-17    0.00000E+00    0.17337E-16    0.10582E-09    0.24942E-14   -0.70048E-17
+  6476    0.15623E-14    0.91511E-17    0.00000E+00    0.17343E-16    0.10575E-09    0.24926E-14   -0.68192E-17
+  6477    0.15603E-14    0.91283E-17    0.00000E+00    0.17348E-16    0.10569E-09    0.24910E-14   -0.66327E-17
+  6478    0.15583E-14    0.91063E-17    0.00000E+00    0.17352E-16    0.10562E-09    0.24893E-14   -0.64453E-17
+  6479    0.15564E-14    0.90832E-17    0.00000E+00    0.17357E-16    0.10555E-09    0.24875E-14   -0.62572E-17
+  6480    0.15544E-14    0.90608E-17    0.00000E+00    0.17361E-16    0.10548E-09    0.24857E-14   -0.60686E-17
+  6481    0.15524E-14    0.90382E-17    0.00000E+00    0.17366E-16    0.10541E-09    0.24839E-14   -0.58796E-17
+  6482    0.15505E-14    0.90165E-17    0.00000E+00    0.17369E-16    0.10534E-09    0.24820E-14   -0.56903E-17
+  6483    0.15485E-14    0.89934E-17    0.00000E+00    0.17373E-16    0.10527E-09    0.24801E-14   -0.55009E-17
+  6484    0.15466E-14    0.89712E-17    0.00000E+00    0.17376E-16    0.10521E-09    0.24783E-14   -0.53114E-17
+  6485    0.15446E-14    0.89486E-17    0.00000E+00    0.17380E-16    0.10514E-09    0.24766E-14   -0.51221E-17
+  6486    0.15426E-14    0.89259E-17    0.00000E+00    0.17382E-16    0.10507E-09    0.24749E-14   -0.49330E-17
+  6487    0.15406E-14    0.89028E-17    0.00000E+00    0.17386E-16    0.10500E-09    0.24732E-14   -0.47444E-17
+  6488    0.15387E-14    0.88805E-17    0.00000E+00    0.17388E-16    0.10493E-09    0.24716E-14   -0.45565E-17
+  6489    0.15367E-14    0.88580E-17    0.00000E+00    0.17390E-16    0.10486E-09    0.24699E-14   -0.43694E-17
+  6490    0.15347E-14    0.88352E-17    0.00000E+00    0.17393E-16    0.10479E-09    0.24682E-14   -0.41834E-17
+  6491    0.15327E-14    0.88123E-17    0.00000E+00    0.17396E-16    0.10473E-09    0.24665E-14   -0.39987E-17
+  6492    0.15308E-14    0.87900E-17    0.00000E+00    0.17397E-16    0.10466E-09    0.24646E-14   -0.38154E-17
+  6493    0.15288E-14    0.87666E-17    0.00000E+00    0.17399E-16    0.10459E-09    0.24626E-14   -0.36338E-17
+  6494    0.15269E-14    0.87439E-17    0.00000E+00    0.17400E-16    0.10452E-09    0.24605E-14   -0.34536E-17
+  6495    0.15249E-14    0.87220E-17    0.00000E+00    0.17401E-16    0.10445E-09    0.24584E-14   -0.32748E-17
+  6496    0.15230E-14    0.86989E-17    0.00000E+00    0.17403E-16    0.10439E-09    0.24563E-14   -0.30971E-17
+  6497    0.15210E-14    0.86765E-17    0.00000E+00    0.17404E-16    0.10432E-09    0.24543E-14   -0.29205E-17
+  6498    0.15191E-14    0.86538E-17    0.00000E+00    0.17405E-16    0.10425E-09    0.24523E-14   -0.27447E-17
+  6499    0.15171E-14    0.86309E-17    0.00000E+00    0.17405E-16    0.10418E-09    0.24504E-14   -0.25695E-17
+  6500    0.15152E-14    0.86076E-17    0.00000E+00    0.17405E-16    0.10411E-09    0.24487E-14   -0.23949E-17
+  6501    0.15132E-14    0.85851E-17    0.00000E+00    0.17406E-16    0.10405E-09    0.24472E-14   -0.22206E-17
+  6502    0.15113E-14    0.85623E-17    0.00000E+00    0.17405E-16    0.10398E-09    0.24457E-14   -0.20467E-17
+  6503    0.15093E-14    0.85393E-17    0.00000E+00    0.17405E-16    0.10391E-09    0.24441E-14   -0.18731E-17
+  6504    0.15073E-14    0.85169E-17    0.00000E+00    0.17404E-16    0.10384E-09    0.24426E-14   -0.16997E-17
+  6505    0.15054E-14    0.84944E-17    0.00000E+00    0.17404E-16    0.10378E-09    0.24409E-14   -0.15264E-17
+  6506    0.15033E-14    0.84715E-17    0.00000E+00    0.17403E-16    0.10371E-09    0.24391E-14   -0.13532E-17
+  6507    0.15014E-14    0.84484E-17    0.00000E+00    0.17402E-16    0.10364E-09    0.24371E-14   -0.11799E-17
+  6508    0.14994E-14    0.84261E-17    0.00000E+00    0.17400E-16    0.10357E-09    0.24350E-14   -0.10067E-17
+  6509    0.14975E-14    0.84025E-17    0.00000E+00    0.17400E-16    0.10351E-09    0.24327E-14   -0.83355E-18
+  6510    0.14955E-14    0.83806E-17    0.00000E+00    0.17398E-16    0.10344E-09    0.24304E-14   -0.66055E-18
+  6511    0.14936E-14    0.83575E-17    0.00000E+00    0.17397E-16    0.10337E-09    0.24282E-14   -0.48773E-18
+  6512    0.14916E-14    0.83351E-17    0.00000E+00    0.17395E-16    0.10330E-09    0.24260E-14   -0.31514E-18
+  6513    0.14896E-14    0.83124E-17    0.00000E+00    0.17392E-16    0.10324E-09    0.24239E-14   -0.14284E-18
+  6514    0.14877E-14    0.82894E-17    0.00000E+00    0.17390E-16    0.10317E-09    0.24220E-14    0.29097E-19
+  6515    0.14857E-14    0.82661E-17    0.00000E+00    0.17388E-16    0.10310E-09    0.24203E-14    0.20052E-18
+  6516    0.14837E-14    0.82436E-17    0.00000E+00    0.17385E-16    0.10304E-09    0.24186E-14    0.37126E-18
+  6517    0.14817E-14    0.82208E-17    0.00000E+00    0.17383E-16    0.10297E-09    0.24169E-14    0.54114E-18
+  6518    0.14798E-14    0.81987E-17    0.00000E+00    0.17380E-16    0.10290E-09    0.24151E-14    0.70998E-18
+  6519    0.14778E-14    0.81764E-17    0.00000E+00    0.17376E-16    0.10283E-09    0.24132E-14    0.87760E-18
+  6520    0.14759E-14    0.81538E-17    0.00000E+00    0.17373E-16    0.10277E-09    0.24112E-14    0.10438E-17
+  6521    0.14739E-14    0.81310E-17    0.00000E+00    0.17370E-16    0.10270E-09    0.24088E-14    0.12085E-17
+  6522    0.14720E-14    0.81079E-17    0.00000E+00    0.17366E-16    0.10263E-09    0.24063E-14    0.13715E-17
+  6523    0.14701E-14    0.80856E-17    0.00000E+00    0.17362E-16    0.10257E-09    0.24037E-14    0.15326E-17
+  6524    0.14681E-14    0.80639E-17    0.00000E+00    0.17358E-16    0.10250E-09    0.24011E-14    0.16916E-17
+  6525    0.14662E-14    0.80410E-17    0.00000E+00    0.17354E-16    0.10243E-09    0.23985E-14    0.18485E-17
+  6526    0.14642E-14    0.80188E-17    0.00000E+00    0.17350E-16    0.10237E-09    0.23960E-14    0.20031E-17
+  6527    0.14623E-14    0.79963E-17    0.00000E+00    0.17345E-16    0.10230E-09    0.23938E-14    0.21552E-17
+  6528    0.14604E-14    0.79745E-17    0.00000E+00    0.17341E-16    0.10223E-09    0.23918E-14    0.23047E-17
+  6529    0.14585E-14    0.79514E-17    0.00000E+00    0.17336E-16    0.10217E-09    0.23900E-14    0.24519E-17
+  6530    0.14564E-14    0.79289E-17    0.00000E+00    0.17330E-16    0.10210E-09    0.23884E-14    0.25969E-17
+  6531    0.14545E-14    0.79072E-17    0.00000E+00    0.17325E-16    0.10203E-09    0.23868E-14    0.27400E-17
+  6532    0.14526E-14    0.78851E-17    0.00000E+00    0.17320E-16    0.10197E-09    0.23851E-14    0.28814E-17
+  6533    0.14506E-14    0.78628E-17    0.00000E+00    0.17314E-16    0.10190E-09    0.23833E-14    0.30214E-17
+  6534    0.14487E-14    0.78402E-17    0.00000E+00    0.17308E-16    0.10183E-09    0.23814E-14    0.31603E-17
+  6535    0.14467E-14    0.78182E-17    0.00000E+00    0.17302E-16    0.10177E-09    0.23791E-14    0.32981E-17
+  6536    0.14449E-14    0.77960E-17    0.00000E+00    0.17296E-16    0.10170E-09    0.23767E-14    0.34350E-17
+  6537    0.14429E-14    0.77736E-17    0.00000E+00    0.17290E-16    0.10163E-09    0.23742E-14    0.35708E-17
+  6538    0.14410E-14    0.77518E-17    0.00000E+00    0.17283E-16    0.10157E-09    0.23716E-14    0.37056E-17
+  6539    0.14390E-14    0.77297E-17    0.00000E+00    0.17277E-16    0.10150E-09    0.23690E-14    0.38393E-17
+  6540    0.14372E-14    0.77074E-17    0.00000E+00    0.17270E-16    0.10144E-09    0.23666E-14    0.39718E-17
+  6541    0.14352E-14    0.76858E-17    0.00000E+00    0.17262E-16    0.10137E-09    0.23644E-14    0.41032E-17
+  6542    0.14332E-14    0.76639E-17    0.00000E+00    0.17255E-16    0.10130E-09    0.23624E-14    0.42333E-17
+  6543    0.14314E-14    0.76417E-17    0.00000E+00    0.17247E-16    0.10124E-09    0.23607E-14    0.43623E-17
+  6544    0.14295E-14    0.76202E-17    0.00000E+00    0.17239E-16    0.10117E-09    0.23590E-14    0.44901E-17
+  6545    0.14275E-14    0.75985E-17    0.00000E+00    0.17231E-16    0.10111E-09    0.23574E-14    0.46168E-17
+  6546    0.14256E-14    0.75764E-17    0.00000E+00    0.17223E-16    0.10104E-09    0.23557E-14    0.47423E-17
+  6547    0.14237E-14    0.75551E-17    0.00000E+00    0.17214E-16    0.10097E-09    0.23539E-14    0.48668E-17
+  6548    0.14218E-14    0.75335E-17    0.00000E+00    0.17206E-16    0.10091E-09    0.23518E-14    0.49903E-17
+  6549    0.14199E-14    0.75125E-17    0.00000E+00    0.17197E-16    0.10084E-09    0.23494E-14    0.51127E-17
+  6550    0.14180E-14    0.74903E-17    0.00000E+00    0.17188E-16    0.10078E-09    0.23467E-14    0.52339E-17
+  6551    0.14160E-14    0.74688E-17    0.00000E+00    0.17179E-16    0.10071E-09    0.23439E-14    0.53537E-17
+  6552    0.14141E-14    0.74479E-17    0.00000E+00    0.17170E-16    0.10065E-09    0.23411E-14    0.54719E-17
+  6553    0.14122E-14    0.74268E-17    0.00000E+00    0.17161E-16    0.10058E-09    0.23383E-14    0.55884E-17
+  6554    0.14103E-14    0.74053E-17    0.00000E+00    0.17151E-16    0.10051E-09    0.23356E-14    0.57028E-17
+  6555    0.14085E-14    0.73835E-17    0.00000E+00    0.17140E-16    0.10045E-09    0.23332E-14    0.58150E-17
+  6556    0.14065E-14    0.73625E-17    0.00000E+00    0.17130E-16    0.10038E-09    0.23311E-14    0.59249E-17
+  6557    0.14046E-14    0.73411E-17    0.00000E+00    0.17120E-16    0.10032E-09    0.23292E-14    0.60323E-17
+  6558    0.14028E-14    0.73204E-17    0.00000E+00    0.17109E-16    0.10025E-09    0.23275E-14    0.61373E-17
+  6559    0.14009E-14    0.72991E-17    0.00000E+00    0.17097E-16    0.10019E-09    0.23259E-14    0.62398E-17
+  6560    0.13990E-14    0.72781E-17    0.00000E+00    0.17087E-16    0.10012E-09    0.23242E-14    0.63396E-17
+  6561    0.13972E-14    0.72571E-17    0.00000E+00    0.17075E-16    0.10006E-09    0.23224E-14    0.64369E-17
+  6562    0.13953E-14    0.72362E-17    0.00000E+00    0.17064E-16    0.99992E-10    0.23204E-14    0.65315E-17
+  6563    0.13934E-14    0.72154E-17    0.00000E+00    0.17052E-16    0.99927E-10    0.23181E-14    0.66234E-17
+  6564    0.13916E-14    0.71946E-17    0.00000E+00    0.17040E-16    0.99861E-10    0.23156E-14    0.67128E-17
+  6565    0.13897E-14    0.71739E-17    0.00000E+00    0.17028E-16    0.99796E-10    0.23129E-14    0.68000E-17
+  6566    0.13878E-14    0.71533E-17    0.00000E+00    0.17015E-16    0.99731E-10    0.23102E-14    0.68850E-17
+  6567    0.13860E-14    0.71327E-17    0.00000E+00    0.17003E-16    0.99666E-10    0.23076E-14    0.69682E-17
+  6568    0.13841E-14    0.71123E-17    0.00000E+00    0.16990E-16    0.99601E-10    0.23051E-14    0.70497E-17
+  6569    0.13822E-14    0.70918E-17    0.00000E+00    0.16976E-16    0.99536E-10    0.23029E-14    0.71297E-17
+  6570    0.13804E-14    0.70715E-17    0.00000E+00    0.16963E-16    0.99471E-10    0.23009E-14    0.72084E-17
+  6571    0.13785E-14    0.70511E-17    0.00000E+00    0.16950E-16    0.99407E-10    0.22992E-14    0.72859E-17
+  6572    0.13767E-14    0.70308E-17    0.00000E+00    0.16936E-16    0.99342E-10    0.22975E-14    0.73620E-17
+  6573    0.13748E-14    0.70107E-17    0.00000E+00    0.16922E-16    0.99277E-10    0.22960E-14    0.74366E-17
+  6574    0.13730E-14    0.69906E-17    0.00000E+00    0.16908E-16    0.99212E-10    0.22943E-14    0.75098E-17
+  6575    0.13711E-14    0.69705E-17    0.00000E+00    0.16893E-16    0.99148E-10    0.22926E-14    0.75815E-17
+  6576    0.13693E-14    0.69504E-17    0.00000E+00    0.16878E-16    0.99083E-10    0.22905E-14    0.76516E-17
+  6577    0.13675E-14    0.69305E-17    0.00000E+00    0.16863E-16    0.99018E-10    0.22882E-14    0.77200E-17
+  6578    0.13657E-14    0.69106E-17    0.00000E+00    0.16847E-16    0.98954E-10    0.22856E-14    0.77868E-17
+  6579    0.13638E-14    0.68908E-17    0.00000E+00    0.16832E-16    0.98889E-10    0.22829E-14    0.78520E-17
+  6580    0.13620E-14    0.68710E-17    0.00000E+00    0.16816E-16    0.98825E-10    0.22801E-14    0.79155E-17
+  6581    0.13602E-14    0.68514E-17    0.00000E+00    0.16800E-16    0.98760E-10    0.22773E-14    0.79773E-17
+  6582    0.13583E-14    0.68318E-17    0.00000E+00    0.16783E-16    0.98696E-10    0.22746E-14    0.80375E-17
+  6583    0.13566E-14    0.68122E-17    0.00000E+00    0.16767E-16    0.98631E-10    0.22721E-14    0.80960E-17
+  6584    0.13548E-14    0.67927E-17    0.00000E+00    0.16751E-16    0.98567E-10    0.22699E-14    0.81527E-17
+  6585    0.13529E-14    0.67733E-17    0.00000E+00    0.16733E-16    0.98503E-10    0.22679E-14    0.82077E-17
+  6586    0.13512E-14    0.67540E-17    0.00000E+00    0.16716E-16    0.98439E-10    0.22660E-14    0.82606E-17
+  6587    0.13494E-14    0.67346E-17    0.00000E+00    0.16699E-16    0.98374E-10    0.22642E-14    0.83114E-17
+  6588    0.13476E-14    0.67154E-17    0.00000E+00    0.16681E-16    0.98310E-10    0.22624E-14    0.83599E-17
+  6589    0.13458E-14    0.66963E-17    0.00000E+00    0.16663E-16    0.98246E-10    0.22604E-14    0.84059E-17
+  6590    0.13440E-14    0.66772E-17    0.00000E+00    0.16644E-16    0.98182E-10    0.22583E-14    0.84492E-17
+  6591    0.13423E-14    0.66581E-17    0.00000E+00    0.16626E-16    0.98118E-10    0.22559E-14    0.84899E-17
+  6592    0.13405E-14    0.66392E-17    0.00000E+00    0.16608E-16    0.98054E-10    0.22534E-14    0.85278E-17
+  6593    0.13388E-14    0.66204E-17    0.00000E+00    0.16588E-16    0.97990E-10    0.22507E-14    0.85631E-17
+  6594    0.13370E-14    0.66015E-17    0.00000E+00    0.16569E-16    0.97926E-10    0.22480E-14    0.85958E-17
+  6595    0.13352E-14    0.65828E-17    0.00000E+00    0.16550E-16    0.97862E-10    0.22453E-14    0.86261E-17
+  6596    0.13334E-14    0.65640E-17    0.00000E+00    0.16530E-16    0.97798E-10    0.22428E-14    0.86539E-17
+  6597    0.13317E-14    0.65455E-17    0.00000E+00    0.16509E-16    0.97735E-10    0.22405E-14    0.86794E-17
+  6598    0.13299E-14    0.65269E-17    0.00000E+00    0.16489E-16    0.97671E-10    0.22385E-14    0.87026E-17
+  6599    0.13282E-14    0.65085E-17    0.00000E+00    0.16469E-16    0.97607E-10    0.22367E-14    0.87237E-17
+  6600    0.13264E-14    0.64900E-17    0.00000E+00    0.16448E-16    0.97543E-10    0.22351E-14    0.87428E-17
+  6601    0.13247E-14    0.64716E-17    0.00000E+00    0.16426E-16    0.97480E-10    0.22334E-14    0.87600E-17
+  6602    0.13230E-14    0.64534E-17    0.00000E+00    0.16406E-16    0.97416E-10    0.22318E-14    0.87755E-17
+  6603    0.13213E-14    0.64352E-17    0.00000E+00    0.16384E-16    0.97353E-10    0.22301E-14    0.87894E-17
+  6604    0.13196E-14    0.64170E-17    0.00000E+00    0.16362E-16    0.97289E-10    0.22282E-14    0.88018E-17
+  6605    0.13179E-14    0.63989E-17    0.00000E+00    0.16340E-16    0.97226E-10    0.22260E-14    0.88128E-17
+  6606    0.13162E-14    0.63809E-17    0.00000E+00    0.16318E-16    0.97162E-10    0.22237E-14    0.88225E-17
+  6607    0.13144E-14    0.63630E-17    0.00000E+00    0.16296E-16    0.97099E-10    0.22212E-14    0.88307E-17
+  6608    0.13127E-14    0.63451E-17    0.00000E+00    0.16273E-16    0.97035E-10    0.22187E-14    0.88374E-17
+  6609    0.13111E-14    0.63273E-17    0.00000E+00    0.16249E-16    0.96972E-10    0.22162E-14    0.88427E-17
+  6610    0.13093E-14    0.63095E-17    0.00000E+00    0.16226E-16    0.96909E-10    0.22138E-14    0.88464E-17
+  6611    0.13077E-14    0.62918E-17    0.00000E+00    0.16202E-16    0.96846E-10    0.22116E-14    0.88485E-17
+  6612    0.13060E-14    0.62742E-17    0.00000E+00    0.16178E-16    0.96782E-10    0.22095E-14    0.88489E-17
+  6613    0.13043E-14    0.62566E-17    0.00000E+00    0.16155E-16    0.96719E-10    0.22076E-14    0.88476E-17
+  6614    0.13027E-14    0.62391E-17    0.00000E+00    0.16130E-16    0.96656E-10    0.22059E-14    0.88445E-17
+  6615    0.13010E-14    0.62216E-17    0.00000E+00    0.16105E-16    0.96593E-10    0.22041E-14    0.88395E-17
+  6616    0.12994E-14    0.62043E-17    0.00000E+00    0.16081E-16    0.96530E-10    0.22024E-14    0.88324E-17
+  6617    0.12977E-14    0.61870E-17    0.00000E+00    0.16055E-16    0.96467E-10    0.22005E-14    0.88232E-17
+  6618    0.12961E-14    0.61697E-17    0.00000E+00    0.16030E-16    0.96404E-10    0.21985E-14    0.88118E-17
+  6619    0.12944E-14    0.61525E-17    0.00000E+00    0.16005E-16    0.96341E-10    0.21964E-14    0.87981E-17
+  6620    0.12928E-14    0.61353E-17    0.00000E+00    0.15978E-16    0.96278E-10    0.21940E-14    0.87821E-17
+  6621    0.12911E-14    0.61182E-17    0.00000E+00    0.15952E-16    0.96215E-10    0.21916E-14    0.87637E-17
+  6622    0.12896E-14    0.61012E-17    0.00000E+00    0.15926E-16    0.96153E-10    0.21892E-14    0.87431E-17
+  6623    0.12879E-14    0.60842E-17    0.00000E+00    0.15900E-16    0.96090E-10    0.21868E-14    0.87202E-17
+  6624    0.12862E-14    0.60673E-17    0.00000E+00    0.15873E-16    0.96027E-10    0.21845E-14    0.86950E-17
+  6625    0.12847E-14    0.60505E-17    0.00000E+00    0.15846E-16    0.95964E-10    0.21824E-14    0.86675E-17
+  6626    0.12831E-14    0.60338E-17    0.00000E+00    0.15819E-16    0.95902E-10    0.21804E-14    0.86377E-17
+  6627    0.12814E-14    0.60170E-17    0.00000E+00    0.15791E-16    0.95839E-10    0.21786E-14    0.86059E-17
+  6628    0.12798E-14    0.60004E-17    0.00000E+00    0.15764E-16    0.95777E-10    0.21769E-14    0.85719E-17
+  6629    0.12783E-14    0.59838E-17    0.00000E+00    0.15736E-16    0.95714E-10    0.21753E-14    0.85361E-17
+  6630    0.12768E-14    0.59673E-17    0.00000E+00    0.15708E-16    0.95652E-10    0.21737E-14    0.84985E-17
+  6631    0.12752E-14    0.59507E-17    0.00000E+00    0.15679E-16    0.95589E-10    0.21721E-14    0.84592E-17
+  6632    0.12736E-14    0.59343E-17    0.00000E+00    0.15651E-16    0.95527E-10    0.21703E-14    0.84183E-17
+  6633    0.12720E-14    0.59179E-17    0.00000E+00    0.15621E-16    0.95464E-10    0.21685E-14    0.83760E-17
+  6634    0.12705E-14    0.59016E-17    0.00000E+00    0.15592E-16    0.95402E-10    0.21665E-14    0.83322E-17
+  6635    0.12689E-14    0.58853E-17    0.00000E+00    0.15563E-16    0.95340E-10    0.21645E-14    0.82871E-17
+  6636    0.12674E-14    0.58691E-17    0.00000E+00    0.15533E-16    0.95277E-10    0.21624E-14    0.82407E-17
+  6637    0.12659E-14    0.58528E-17    0.00000E+00    0.15504E-16    0.95215E-10    0.21603E-14    0.81930E-17
+  6638    0.12642E-14    0.58367E-17    0.00000E+00    0.15474E-16    0.95153E-10    0.21583E-14    0.81440E-17
+  6639    0.12627E-14    0.58207E-17    0.00000E+00    0.15444E-16    0.95091E-10    0.21563E-14    0.80938E-17
+  6640    0.12612E-14    0.58047E-17    0.00000E+00    0.15414E-16    0.95029E-10    0.21545E-14    0.80425E-17
+  6641    0.12597E-14    0.57887E-17    0.00000E+00    0.15383E-16    0.94967E-10    0.21527E-14    0.79900E-17
+  6642    0.12582E-14    0.57727E-17    0.00000E+00    0.15353E-16    0.94905E-10    0.21509E-14    0.79363E-17
+  6643    0.12567E-14    0.57568E-17    0.00000E+00    0.15321E-16    0.94843E-10    0.21491E-14    0.78814E-17
+  6644    0.12552E-14    0.57410E-17    0.00000E+00    0.15291E-16    0.94781E-10    0.21474E-14    0.78254E-17
+  6645    0.12537E-14    0.57253E-17    0.00000E+00    0.15260E-16    0.94719E-10    0.21456E-14    0.77683E-17
+  6646    0.12522E-14    0.57095E-17    0.00000E+00    0.15229E-16    0.94657E-10    0.21438E-14    0.77101E-17
+  6647    0.12508E-14    0.56938E-17    0.00000E+00    0.15197E-16    0.94595E-10    0.21419E-14    0.76507E-17
+  6648    0.12492E-14    0.56782E-17    0.00000E+00    0.15164E-16    0.94534E-10    0.21399E-14    0.75900E-17
+  6649    0.12478E-14    0.56626E-17    0.00000E+00    0.15133E-16    0.94472E-10    0.21379E-14    0.75279E-17
+  6650    0.12463E-14    0.56471E-17    0.00000E+00    0.15100E-16    0.94410E-10    0.21359E-14    0.74642E-17
+  6651    0.12448E-14    0.56316E-17    0.00000E+00    0.15068E-16    0.94348E-10    0.21338E-14    0.73986E-17
+  6652    0.12434E-14    0.56161E-17    0.00000E+00    0.15035E-16    0.94287E-10    0.21318E-14    0.73312E-17
+  6653    0.12419E-14    0.56006E-17    0.00000E+00    0.15003E-16    0.94225E-10    0.21298E-14    0.72616E-17
+  6654    0.12405E-14    0.55852E-17    0.00000E+00    0.14970E-16    0.94164E-10    0.21279E-14    0.71898E-17
+  6655    0.12390E-14    0.55700E-17    0.00000E+00    0.14938E-16    0.94102E-10    0.21260E-14    0.71159E-17
+  6656    0.12377E-14    0.55546E-17    0.00000E+00    0.14904E-16    0.94041E-10    0.21241E-14    0.70402E-17
+  6657    0.12362E-14    0.55394E-17    0.00000E+00    0.14871E-16    0.93979E-10    0.21223E-14    0.69627E-17
+  6658    0.12348E-14    0.55241E-17    0.00000E+00    0.14838E-16    0.93918E-10    0.21206E-14    0.68837E-17
+  6659    0.12334E-14    0.55090E-17    0.00000E+00    0.14804E-16    0.93857E-10    0.21189E-14    0.68034E-17
+  6660    0.12320E-14    0.54938E-17    0.00000E+00    0.14770E-16    0.93795E-10    0.21172E-14    0.67219E-17
+  6661    0.12307E-14    0.54787E-17    0.00000E+00    0.14737E-16    0.93734E-10    0.21155E-14    0.66394E-17
+  6662    0.12293E-14    0.54636E-17    0.00000E+00    0.14703E-16    0.93673E-10    0.21139E-14    0.65561E-17
+  6663    0.12279E-14    0.54486E-17    0.00000E+00    0.14669E-16    0.93611E-10    0.21123E-14    0.64718E-17
+  6664    0.12265E-14    0.54336E-17    0.00000E+00    0.14634E-16    0.93550E-10    0.21107E-14    0.63867E-17
+  6665    0.12252E-14    0.54186E-17    0.00000E+00    0.14599E-16    0.93489E-10    0.21091E-14    0.63008E-17
+  6666    0.12238E-14    0.54037E-17    0.00000E+00    0.14565E-16    0.93428E-10    0.21075E-14    0.62141E-17
+  6667    0.12224E-14    0.53887E-17    0.00000E+00    0.14531E-16    0.93367E-10    0.21059E-14    0.61267E-17
+  6668    0.12211E-14    0.53739E-17    0.00000E+00    0.14496E-16    0.93306E-10    0.21042E-14    0.60386E-17
+  6669    0.12197E-14    0.53590E-17    0.00000E+00    0.14461E-16    0.93245E-10    0.21026E-14    0.59498E-17
+  6670    0.12184E-14    0.53442E-17    0.00000E+00    0.14426E-16    0.93184E-10    0.21009E-14    0.58603E-17
+  6671    0.12170E-14    0.53294E-17    0.00000E+00    0.14391E-16    0.93123E-10    0.20993E-14    0.57701E-17
+  6672    0.12157E-14    0.53146E-17    0.00000E+00    0.14356E-16    0.93062E-10    0.20976E-14    0.56792E-17
+  6673    0.12144E-14    0.53000E-17    0.00000E+00    0.14320E-16    0.93002E-10    0.20961E-14    0.55877E-17
+  6674    0.12131E-14    0.52852E-17    0.00000E+00    0.14286E-16    0.92941E-10    0.20945E-14    0.54954E-17
+  6675    0.12118E-14    0.52706E-17    0.00000E+00    0.14250E-16    0.92880E-10    0.20930E-14    0.54025E-17
+  6676    0.12105E-14    0.52560E-17    0.00000E+00    0.14215E-16    0.92819E-10    0.20916E-14    0.53090E-17
+  6677    0.12092E-14    0.52413E-17    0.00000E+00    0.14179E-16    0.92759E-10    0.20902E-14    0.52149E-17
+  6678    0.12079E-14    0.52267E-17    0.00000E+00    0.14143E-16    0.92698E-10    0.20887E-14    0.51203E-17
+  6679    0.12066E-14    0.52121E-17    0.00000E+00    0.14108E-16    0.92638E-10    0.20872E-14    0.50252E-17
+  6680    0.12054E-14    0.51976E-17    0.00000E+00    0.14072E-16    0.92577E-10    0.20857E-14    0.49298E-17
+  6681    0.12041E-14    0.51831E-17    0.00000E+00    0.14037E-16    0.92517E-10    0.20841E-14    0.48339E-17
+  6682    0.12029E-14    0.51686E-17    0.00000E+00    0.14001E-16    0.92456E-10    0.20825E-14    0.47378E-17
+  6683    0.12016E-14    0.51541E-17    0.00000E+00    0.13965E-16    0.92396E-10    0.20807E-14    0.46410E-17
+  6684    0.12003E-14    0.51396E-17    0.00000E+00    0.13929E-16    0.92335E-10    0.20790E-14    0.45436E-17
+  6685    0.11991E-14    0.51253E-17    0.00000E+00    0.13894E-16    0.92275E-10    0.20772E-14    0.44451E-17
+  6686    0.11979E-14    0.51108E-17    0.00000E+00    0.13858E-16    0.92215E-10    0.20755E-14    0.43455E-17
+  6687    0.11967E-14    0.50965E-17    0.00000E+00    0.13822E-16    0.92154E-10    0.20739E-14    0.42444E-17
+  6688    0.11954E-14    0.50822E-17    0.00000E+00    0.13786E-16    0.92094E-10    0.20724E-14    0.41417E-17
+  6689    0.11942E-14    0.50678E-17    0.00000E+00    0.13751E-16    0.92034E-10    0.20710E-14    0.40372E-17
+  6690    0.11931E-14    0.50535E-17    0.00000E+00    0.13715E-16    0.91974E-10    0.20697E-14    0.39312E-17
+  6691    0.11918E-14    0.50392E-17    0.00000E+00    0.13678E-16    0.91914E-10    0.20685E-14    0.38239E-17
+  6692    0.11906E-14    0.50249E-17    0.00000E+00    0.13642E-16    0.91854E-10    0.20674E-14    0.37158E-17
+  6693    0.11895E-14    0.50106E-17    0.00000E+00    0.13607E-16    0.91793E-10    0.20662E-14    0.36070E-17
+  6694    0.11883E-14    0.49964E-17    0.00000E+00    0.13570E-16    0.91733E-10    0.20649E-14    0.34980E-17
+  6695    0.11871E-14    0.49821E-17    0.00000E+00    0.13534E-16    0.91674E-10    0.20636E-14    0.33892E-17
+  6696    0.11859E-14    0.49679E-17    0.00000E+00    0.13499E-16    0.91614E-10    0.20622E-14    0.32806E-17
+  6697    0.11847E-14    0.49537E-17    0.00000E+00    0.13463E-16    0.91554E-10    0.20607E-14    0.31724E-17
+  6698    0.11836E-14    0.49396E-17    0.00000E+00    0.13427E-16    0.91494E-10    0.20591E-14    0.30644E-17
+  6699    0.11824E-14    0.49254E-17    0.00000E+00    0.13391E-16    0.91434E-10    0.20575E-14    0.29565E-17
+  6700    0.11813E-14    0.49113E-17    0.00000E+00    0.13355E-16    0.91374E-10    0.20560E-14    0.28488E-17
+  6701    0.11801E-14    0.48971E-17    0.00000E+00    0.13320E-16    0.91314E-10    0.20546E-14    0.27410E-17
+  6702    0.11790E-14    0.48829E-17    0.00000E+00    0.13284E-16    0.91255E-10    0.20533E-14    0.26330E-17
+  6703    0.11779E-14    0.48689E-17    0.00000E+00    0.13248E-16    0.91195E-10    0.20522E-14    0.25249E-17
+  6704    0.11767E-14    0.48547E-17    0.00000E+00    0.13212E-16    0.91135E-10    0.20512E-14    0.24166E-17
+  6705    0.11756E-14    0.48406E-17    0.00000E+00    0.13177E-16    0.91076E-10    0.20502E-14    0.23082E-17
+  6706    0.11745E-14    0.48265E-17    0.00000E+00    0.13141E-16    0.91016E-10    0.20493E-14    0.21996E-17
+  6707    0.11734E-14    0.48125E-17    0.00000E+00    0.13106E-16    0.90957E-10    0.20483E-14    0.20909E-17
+  6708    0.11724E-14    0.47985E-17    0.00000E+00    0.13071E-16    0.90897E-10    0.20472E-14    0.19822E-17
+  6709    0.11713E-14    0.47843E-17    0.00000E+00    0.13036E-16    0.90838E-10    0.20459E-14    0.18733E-17
+  6710    0.11702E-14    0.47703E-17    0.00000E+00    0.13001E-16    0.90778E-10    0.20445E-14    0.17645E-17
+  6711    0.11692E-14    0.47563E-17    0.00000E+00    0.12966E-16    0.90719E-10    0.20428E-14    0.16556E-17
+  6712    0.11681E-14    0.47423E-17    0.00000E+00    0.12931E-16    0.90660E-10    0.20411E-14    0.15469E-17
+  6713    0.11670E-14    0.47282E-17    0.00000E+00    0.12896E-16    0.90600E-10    0.20394E-14    0.14382E-17
+  6714    0.11660E-14    0.47143E-17    0.00000E+00    0.12862E-16    0.90541E-10    0.20377E-14    0.13296E-17
+  6715    0.11649E-14    0.47003E-17    0.00000E+00    0.12827E-16    0.90482E-10    0.20361E-14    0.12213E-17
+  6716    0.11639E-14    0.46863E-17    0.00000E+00    0.12792E-16    0.90423E-10    0.20347E-14    0.11131E-17
+  6717    0.11628E-14    0.46724E-17    0.00000E+00    0.12759E-16    0.90364E-10    0.20335E-14    0.10052E-17
+  6718    0.11618E-14    0.46584E-17    0.00000E+00    0.12724E-16    0.90305E-10    0.20325E-14    0.89742E-18
+  6719    0.11608E-14    0.46444E-17    0.00000E+00    0.12690E-16    0.90246E-10    0.20316E-14    0.78946E-18
+  6720    0.11597E-14    0.46304E-17    0.00000E+00    0.12656E-16    0.90186E-10    0.20307E-14    0.68116E-18
+  6721    0.11588E-14    0.46165E-17    0.00000E+00    0.12622E-16    0.90128E-10    0.20298E-14    0.57233E-18
+  6722    0.11578E-14    0.46025E-17    0.00000E+00    0.12588E-16    0.90069E-10    0.20289E-14    0.46274E-18
+  6723    0.11568E-14    0.45886E-17    0.00000E+00    0.12555E-16    0.90010E-10    0.20277E-14    0.35221E-18
+  6724    0.11558E-14    0.45747E-17    0.00000E+00    0.12521E-16    0.89951E-10    0.20264E-14    0.24063E-18
+  6725    0.11548E-14    0.45608E-17    0.00000E+00    0.12488E-16    0.89892E-10    0.20249E-14    0.12831E-18
+  6726    0.11538E-14    0.45469E-17    0.00000E+00    0.12455E-16    0.89833E-10    0.20233E-14    0.15642E-19
+  6727    0.11529E-14    0.45330E-17    0.00000E+00    0.12422E-16    0.89774E-10    0.20217E-14   -0.96952E-19
+  6728    0.11519E-14    0.45191E-17    0.00000E+00    0.12390E-16    0.89716E-10    0.20202E-14   -0.20907E-18
+  6729    0.11510E-14    0.45052E-17    0.00000E+00    0.12357E-16    0.89657E-10    0.20188E-14   -0.32030E-18
+  6730    0.11500E-14    0.44913E-17    0.00000E+00    0.12325E-16    0.89598E-10    0.20177E-14   -0.43024E-18
+  6731    0.11490E-14    0.44775E-17    0.00000E+00    0.12293E-16    0.89540E-10    0.20168E-14   -0.53858E-18
+  6732    0.11480E-14    0.44636E-17    0.00000E+00    0.12261E-16    0.89481E-10    0.20162E-14   -0.64544E-18
+  6733    0.11471E-14    0.44498E-17    0.00000E+00    0.12229E-16    0.89422E-10    0.20157E-14   -0.75101E-18
+  6734    0.11462E-14    0.44359E-17    0.00000E+00    0.12198E-16    0.89364E-10    0.20152E-14   -0.85552E-18
+  6735    0.11453E-14    0.44220E-17    0.00000E+00    0.12166E-16    0.89306E-10    0.20147E-14   -0.95917E-18
+  6736    0.11443E-14    0.44082E-17    0.00000E+00    0.12135E-16    0.89247E-10    0.20141E-14   -0.10622E-17
+  6737    0.11434E-14    0.43943E-17    0.00000E+00    0.12104E-16    0.89189E-10    0.20132E-14   -0.11647E-17
+  6738    0.11425E-14    0.43805E-17    0.00000E+00    0.12073E-16    0.89130E-10    0.20121E-14   -0.12670E-17
+  6739    0.11416E-14    0.43667E-17    0.00000E+00    0.12043E-16    0.89072E-10    0.20108E-14   -0.13691E-17
+  6740    0.11406E-14    0.43529E-17    0.00000E+00    0.12013E-16    0.89014E-10    0.20094E-14   -0.14707E-17
+  6741    0.11398E-14    0.43390E-17    0.00000E+00    0.11983E-16    0.88955E-10    0.20079E-14   -0.15720E-17
+  6742    0.11389E-14    0.43252E-17    0.00000E+00    0.11953E-16    0.88897E-10    0.20065E-14   -0.16728E-17
+  6743    0.11381E-14    0.43114E-17    0.00000E+00    0.11923E-16    0.88839E-10    0.20052E-14   -0.17731E-17
+  6744    0.11371E-14    0.42976E-17    0.00000E+00    0.11894E-16    0.88781E-10    0.20041E-14   -0.18729E-17
+  6745    0.11363E-14    0.42838E-17    0.00000E+00    0.11865E-16    0.88723E-10    0.20032E-14   -0.19720E-17
+  6746    0.11355E-14    0.42700E-17    0.00000E+00    0.11836E-16    0.88665E-10    0.20026E-14   -0.20705E-17
+  6747    0.11345E-14    0.42563E-17    0.00000E+00    0.11808E-16    0.88607E-10    0.20021E-14   -0.21684E-17
+  6748    0.11337E-14    0.42425E-17    0.00000E+00    0.11779E-16    0.88549E-10    0.20016E-14   -0.22656E-17
+  6749    0.11328E-14    0.42287E-17    0.00000E+00    0.11751E-16    0.88491E-10    0.20010E-14   -0.23622E-17
+  6750    0.11320E-14    0.42149E-17    0.00000E+00    0.11724E-16    0.88433E-10    0.20004E-14   -0.24583E-17
+  6751    0.11311E-14    0.42012E-17    0.00000E+00    0.11696E-16    0.88375E-10    0.19995E-14   -0.25537E-17
+  6752    0.11303E-14    0.41875E-17    0.00000E+00    0.11669E-16    0.88317E-10    0.19984E-14   -0.26484E-17
+  6753    0.11295E-14    0.41738E-17    0.00000E+00    0.11642E-16    0.88259E-10    0.19971E-14   -0.27427E-17
+  6754    0.11286E-14    0.41600E-17    0.00000E+00    0.11615E-16    0.88202E-10    0.19956E-14   -0.28363E-17
+  6755    0.11278E-14    0.41464E-17    0.00000E+00    0.11589E-16    0.88144E-10    0.19941E-14   -0.29295E-17
+  6756    0.11270E-14    0.41326E-17    0.00000E+00    0.11563E-16    0.88086E-10    0.19927E-14   -0.30222E-17
+  6757    0.11261E-14    0.41190E-17    0.00000E+00    0.11537E-16    0.88028E-10    0.19914E-14   -0.31144E-17
+  6758    0.11254E-14    0.41052E-17    0.00000E+00    0.11511E-16    0.87971E-10    0.19904E-14   -0.32062E-17
+  6759    0.11245E-14    0.40915E-17    0.00000E+00    0.11486E-16    0.87913E-10    0.19896E-14   -0.32976E-17
+  6760    0.11237E-14    0.40779E-17    0.00000E+00    0.11461E-16    0.87856E-10    0.19891E-14   -0.33884E-17
+  6761    0.11230E-14    0.40641E-17    0.00000E+00    0.11436E-16    0.87798E-10    0.19887E-14   -0.34782E-17
+  6762    0.11222E-14    0.40505E-17    0.00000E+00    0.11412E-16    0.87741E-10    0.19884E-14   -0.35669E-17
+  6763    0.11214E-14    0.40369E-17    0.00000E+00    0.11388E-16    0.87683E-10    0.19880E-14   -0.36542E-17
+  6764    0.11206E-14    0.40232E-17    0.00000E+00    0.11364E-16    0.87626E-10    0.19876E-14   -0.37397E-17
+  6765    0.11198E-14    0.40096E-17    0.00000E+00    0.11341E-16    0.87568E-10    0.19869E-14   -0.38232E-17
+  6766    0.11191E-14    0.39959E-17    0.00000E+00    0.11318E-16    0.87511E-10    0.19860E-14   -0.39046E-17
+  6767    0.11184E-14    0.39824E-17    0.00000E+00    0.11295E-16    0.87454E-10    0.19849E-14   -0.39840E-17
+  6768    0.11176E-14    0.39688E-17    0.00000E+00    0.11272E-16    0.87396E-10    0.19837E-14   -0.40615E-17
+  6769    0.11169E-14    0.39552E-17    0.00000E+00    0.11250E-16    0.87339E-10    0.19824E-14   -0.41375E-17
+  6770    0.11161E-14    0.39417E-17    0.00000E+00    0.11228E-16    0.87282E-10    0.19811E-14   -0.42122E-17
+  6771    0.11154E-14    0.39281E-17    0.00000E+00    0.11207E-16    0.87225E-10    0.19800E-14   -0.42857E-17
+  6772    0.11145E-14    0.39145E-17    0.00000E+00    0.11186E-16    0.87168E-10    0.19790E-14   -0.43584E-17
+  6773    0.11138E-14    0.39011E-17    0.00000E+00    0.11165E-16    0.87111E-10    0.19783E-14   -0.44303E-17
+  6774    0.11131E-14    0.38875E-17    0.00000E+00    0.11144E-16    0.87054E-10    0.19778E-14   -0.45015E-17
+  6775    0.11124E-14    0.38740E-17    0.00000E+00    0.11124E-16    0.86997E-10    0.19774E-14   -0.45719E-17
+  6776    0.11116E-14    0.38605E-17    0.00000E+00    0.11104E-16    0.86940E-10    0.19771E-14   -0.46414E-17
+  6777    0.11109E-14    0.38470E-17    0.00000E+00    0.11085E-16    0.86883E-10    0.19767E-14   -0.47101E-17
+  6778    0.11102E-14    0.38336E-17    0.00000E+00    0.11066E-16    0.86826E-10    0.19761E-14   -0.47778E-17
+  6779    0.11095E-14    0.38201E-17    0.00000E+00    0.11047E-16    0.86769E-10    0.19754E-14   -0.48444E-17
+  6780    0.11087E-14    0.38066E-17    0.00000E+00    0.11028E-16    0.86712E-10    0.19744E-14   -0.49100E-17
+  6781    0.11080E-14    0.37933E-17    0.00000E+00    0.11010E-16    0.86655E-10    0.19732E-14   -0.49746E-17
+  6782    0.11073E-14    0.37799E-17    0.00000E+00    0.10992E-16    0.86599E-10    0.19718E-14   -0.50381E-17
+  6783    0.11066E-14    0.37665E-17    0.00000E+00    0.10975E-16    0.86542E-10    0.19704E-14   -0.51007E-17
+  6784    0.11059E-14    0.37531E-17    0.00000E+00    0.10958E-16    0.86485E-10    0.19691E-14   -0.51623E-17
+  6785    0.11052E-14    0.37397E-17    0.00000E+00    0.10941E-16    0.86429E-10    0.19678E-14   -0.52229E-17
+  6786    0.11045E-14    0.37264E-17    0.00000E+00    0.10924E-16    0.86372E-10    0.19668E-14   -0.52827E-17
+  6787    0.11039E-14    0.37132E-17    0.00000E+00    0.10908E-16    0.86315E-10    0.19660E-14   -0.53415E-17
+  6788    0.11031E-14    0.36999E-17    0.00000E+00    0.10893E-16    0.86259E-10    0.19654E-14   -0.53994E-17
+  6789    0.11025E-14    0.36866E-17    0.00000E+00    0.10877E-16    0.86202E-10    0.19649E-14   -0.54562E-17
+  6790    0.11018E-14    0.36734E-17    0.00000E+00    0.10862E-16    0.86146E-10    0.19645E-14   -0.55119E-17
+  6791    0.11012E-14    0.36602E-17    0.00000E+00    0.10848E-16    0.86089E-10    0.19641E-14   -0.55663E-17
+  6792    0.11005E-14    0.36469E-17    0.00000E+00    0.10833E-16    0.86033E-10    0.19637E-14   -0.56193E-17
+  6793    0.10998E-14    0.36337E-17    0.00000E+00    0.10819E-16    0.85977E-10    0.19630E-14   -0.56709E-17
+  6794    0.10991E-14    0.36205E-17    0.00000E+00    0.10806E-16    0.85920E-10    0.19622E-14   -0.57210E-17
+  6795    0.10985E-14    0.36074E-17    0.00000E+00    0.10793E-16    0.85864E-10    0.19612E-14   -0.57694E-17
+  6796    0.10978E-14    0.35943E-17    0.00000E+00    0.10780E-16    0.85808E-10    0.19601E-14   -0.58161E-17
+  6797    0.10971E-14    0.35812E-17    0.00000E+00    0.10767E-16    0.85752E-10    0.19590E-14   -0.58611E-17
+  6798    0.10965E-14    0.35681E-17    0.00000E+00    0.10755E-16    0.85695E-10    0.19579E-14   -0.59043E-17
+  6799    0.10958E-14    0.35551E-17    0.00000E+00    0.10743E-16    0.85639E-10    0.19570E-14   -0.59455E-17
+  6800    0.10952E-14    0.35421E-17    0.00000E+00    0.10732E-16    0.85583E-10    0.19562E-14   -0.59848E-17
+  6801    0.10945E-14    0.35291E-17    0.00000E+00    0.10721E-16    0.85527E-10    0.19556E-14   -0.60221E-17
+  6802    0.10940E-14    0.35161E-17    0.00000E+00    0.10710E-16    0.85471E-10    0.19552E-14   -0.60575E-17
+  6803    0.10934E-14    0.35033E-17    0.00000E+00    0.10700E-16    0.85415E-10    0.19549E-14   -0.60913E-17
+  6804    0.10927E-14    0.34904E-17    0.00000E+00    0.10690E-16    0.85359E-10    0.19547E-14   -0.61235E-17
+  6805    0.10921E-14    0.34774E-17    0.00000E+00    0.10680E-16    0.85303E-10    0.19544E-14   -0.61544E-17
+  6806    0.10914E-14    0.34646E-17    0.00000E+00    0.10671E-16    0.85247E-10    0.19540E-14   -0.61842E-17
+  6807    0.10908E-14    0.34518E-17    0.00000E+00    0.10662E-16    0.85191E-10    0.19535E-14   -0.62130E-17
+  6808    0.10902E-14    0.34390E-17    0.00000E+00    0.10654E-16    0.85135E-10    0.19528E-14   -0.62409E-17
+  6809    0.10896E-14    0.34263E-17    0.00000E+00    0.10645E-16    0.85080E-10    0.19519E-14   -0.62680E-17
+  6810    0.10890E-14    0.34135E-17    0.00000E+00    0.10637E-16    0.85024E-10    0.19509E-14   -0.62941E-17
+  6811    0.10883E-14    0.34007E-17    0.00000E+00    0.10630E-16    0.84968E-10    0.19499E-14   -0.63193E-17
+  6812    0.10877E-14    0.33881E-17    0.00000E+00    0.10623E-16    0.84912E-10    0.19489E-14   -0.63435E-17
+  6813    0.10872E-14    0.33754E-17    0.00000E+00    0.10616E-16    0.84857E-10    0.19479E-14   -0.63666E-17
+  6814    0.10865E-14    0.33629E-17    0.00000E+00    0.10610E-16    0.84801E-10    0.19470E-14   -0.63885E-17
+  6815    0.10859E-14    0.33503E-17    0.00000E+00    0.10603E-16    0.84746E-10    0.19463E-14   -0.64093E-17
+  6816    0.10853E-14    0.33378E-17    0.00000E+00    0.10598E-16    0.84690E-10    0.19457E-14   -0.64290E-17
+  6817    0.10847E-14    0.33253E-17    0.00000E+00    0.10593E-16    0.84635E-10    0.19451E-14   -0.64476E-17
+  6818    0.10841E-14    0.33128E-17    0.00000E+00    0.10588E-16    0.84579E-10    0.19446E-14   -0.64652E-17
+  6819    0.10836E-14    0.33003E-17    0.00000E+00    0.10583E-16    0.84524E-10    0.19441E-14   -0.64819E-17
+  6820    0.10829E-14    0.32880E-17    0.00000E+00    0.10579E-16    0.84468E-10    0.19435E-14   -0.64976E-17
+  6821    0.10824E-14    0.32757E-17    0.00000E+00    0.10575E-16    0.84413E-10    0.19429E-14   -0.65126E-17
+  6822    0.10818E-14    0.32633E-17    0.00000E+00    0.10571E-16    0.84357E-10    0.19420E-14   -0.65268E-17
+  6823    0.10811E-14    0.32511E-17    0.00000E+00    0.10568E-16    0.84302E-10    0.19411E-14   -0.65400E-17
+  6824    0.10806E-14    0.32388E-17    0.00000E+00    0.10565E-16    0.84247E-10    0.19401E-14   -0.65522E-17
+  6825    0.10800E-14    0.32266E-17    0.00000E+00    0.10562E-16    0.84192E-10    0.19391E-14   -0.65631E-17
+  6826    0.10794E-14    0.32144E-17    0.00000E+00    0.10560E-16    0.84136E-10    0.19381E-14   -0.65726E-17
+  6827    0.10789E-14    0.32023E-17    0.00000E+00    0.10558E-16    0.84081E-10    0.19371E-14   -0.65805E-17
+  6828    0.10783E-14    0.31902E-17    0.00000E+00    0.10557E-16    0.84026E-10    0.19363E-14   -0.65866E-17
+  6829    0.10777E-14    0.31782E-17    0.00000E+00    0.10555E-16    0.83971E-10    0.19355E-14   -0.65908E-17
+  6830    0.10771E-14    0.31662E-17    0.00000E+00    0.10555E-16    0.83916E-10    0.19349E-14   -0.65932E-17
+  6831    0.10766E-14    0.31542E-17    0.00000E+00    0.10554E-16    0.83861E-10    0.19343E-14   -0.65937E-17
+  6832    0.10760E-14    0.31424E-17    0.00000E+00    0.10554E-16    0.83806E-10    0.19338E-14   -0.65925E-17
+  6833    0.10754E-14    0.31305E-17    0.00000E+00    0.10554E-16    0.83751E-10    0.19333E-14   -0.65895E-17
+  6834    0.10749E-14    0.31186E-17    0.00000E+00    0.10555E-16    0.83696E-10    0.19327E-14   -0.65850E-17
+  6835    0.10743E-14    0.31068E-17    0.00000E+00    0.10556E-16    0.83641E-10    0.19321E-14   -0.65788E-17
+  6836    0.10738E-14    0.30951E-17    0.00000E+00    0.10557E-16    0.83586E-10    0.19314E-14   -0.65711E-17
+  6837    0.10732E-14    0.30834E-17    0.00000E+00    0.10558E-16    0.83532E-10    0.19307E-14   -0.65620E-17
+  6838    0.10727E-14    0.30718E-17    0.00000E+00    0.10560E-16    0.83477E-10    0.19299E-14   -0.65516E-17
+  6839    0.10721E-14    0.30602E-17    0.00000E+00    0.10562E-16    0.83422E-10    0.19290E-14   -0.65400E-17
+  6840    0.10715E-14    0.30486E-17    0.00000E+00    0.10564E-16    0.83367E-10    0.19282E-14   -0.65273E-17
+  6841    0.10709E-14    0.30371E-17    0.00000E+00    0.10567E-16    0.83313E-10    0.19273E-14   -0.65137E-17
+  6842    0.10704E-14    0.30256E-17    0.00000E+00    0.10570E-16    0.83258E-10    0.19265E-14   -0.64992E-17
+  6843    0.10698E-14    0.30143E-17    0.00000E+00    0.10573E-16    0.83203E-10    0.19257E-14   -0.64839E-17
+  6844    0.10693E-14    0.30028E-17    0.00000E+00    0.10577E-16    0.83149E-10    0.19250E-14   -0.64679E-17
+  6845    0.10687E-14    0.29916E-17    0.00000E+00    0.10581E-16    0.83094E-10    0.19242E-14   -0.64511E-17
+  6846    0.10682E-14    0.29803E-17    0.00000E+00    0.10585E-16    0.83040E-10    0.19235E-14   -0.64334E-17
+  6847    0.10676E-14    0.29691E-17    0.00000E+00    0.10590E-16    0.82985E-10    0.19228E-14   -0.64149E-17
+  6848    0.10671E-14    0.29579E-17    0.00000E+00    0.10594E-16    0.82931E-10    0.19220E-14   -0.63955E-17
+  6849    0.10665E-14    0.29468E-17    0.00000E+00    0.10599E-16    0.82876E-10    0.19212E-14   -0.63752E-17
+  6850    0.10660E-14    0.29357E-17    0.00000E+00    0.10605E-16    0.82822E-10    0.19204E-14   -0.63538E-17
+  6851    0.10654E-14    0.29247E-17    0.00000E+00    0.10611E-16    0.82768E-10    0.19196E-14   -0.63316E-17
+  6852    0.10649E-14    0.29137E-17    0.00000E+00    0.10616E-16    0.82713E-10    0.19188E-14   -0.63086E-17
+  6853    0.10644E-14    0.29028E-17    0.00000E+00    0.10623E-16    0.82659E-10    0.19179E-14   -0.62847E-17
+  6854    0.10638E-14    0.28919E-17    0.00000E+00    0.10629E-16    0.82605E-10    0.19170E-14   -0.62602E-17
+  6855    0.10633E-14    0.28810E-17    0.00000E+00    0.10636E-16    0.82551E-10    0.19161E-14   -0.62349E-17
+  6856    0.10627E-14    0.28704E-17    0.00000E+00    0.10643E-16    0.82497E-10    0.19152E-14   -0.62091E-17
+  6857    0.10622E-14    0.28596E-17    0.00000E+00    0.10650E-16    0.82442E-10    0.19143E-14   -0.61827E-17
+  6858    0.10616E-14    0.28489E-17    0.00000E+00    0.10658E-16    0.82388E-10    0.19134E-14   -0.61555E-17
+  6859    0.10611E-14    0.28384E-17    0.00000E+00    0.10666E-16    0.82334E-10    0.19125E-14   -0.61275E-17
+  6860    0.10605E-14    0.28279E-17    0.00000E+00    0.10674E-16    0.82280E-10    0.19116E-14   -0.60983E-17
+  6861    0.10600E-14    0.28174E-17    0.00000E+00    0.10682E-16    0.82226E-10    0.19108E-14   -0.60679E-17
+  6862    0.10594E-14    0.28070E-17    0.00000E+00    0.10691E-16    0.82172E-10    0.19100E-14   -0.60360E-17
+  6863    0.10589E-14    0.27966E-17    0.00000E+00    0.10700E-16    0.82118E-10    0.19093E-14   -0.60025E-17
+  6864    0.10583E-14    0.27863E-17    0.00000E+00    0.10709E-16    0.82065E-10    0.19086E-14   -0.59671E-17
+  6865    0.10578E-14    0.27761E-17    0.00000E+00    0.10719E-16    0.82011E-10    0.19079E-14   -0.59301E-17
+  6866    0.10573E-14    0.27658E-17    0.00000E+00    0.10728E-16    0.81957E-10    0.19073E-14   -0.58914E-17
+  6867    0.10568E-14    0.27557E-17    0.00000E+00    0.10738E-16    0.81903E-10    0.19067E-14   -0.58512E-17
+  6868    0.10562E-14    0.27456E-17    0.00000E+00    0.10748E-16    0.81849E-10    0.19061E-14   -0.58097E-17
+  6869    0.10557E-14    0.27356E-17    0.00000E+00    0.10758E-16    0.81796E-10    0.19054E-14   -0.57669E-17
+  6870    0.10552E-14    0.27256E-17    0.00000E+00    0.10769E-16    0.81742E-10    0.19047E-14   -0.57229E-17
+  6871    0.10546E-14    0.27158E-17    0.00000E+00    0.10780E-16    0.81688E-10    0.19039E-14   -0.56779E-17
+  6872    0.10541E-14    0.27058E-17    0.00000E+00    0.10791E-16    0.81635E-10    0.19030E-14   -0.56319E-17
+  6873    0.10536E-14    0.26960E-17    0.00000E+00    0.10802E-16    0.81581E-10    0.19022E-14   -0.55850E-17
+  6874    0.10531E-14    0.26863E-17    0.00000E+00    0.10813E-16    0.81528E-10    0.19013E-14   -0.55373E-17
+  6875    0.10525E-14    0.26766E-17    0.00000E+00    0.10825E-16    0.81474E-10    0.19004E-14   -0.54888E-17
+  6876    0.10520E-14    0.26670E-17    0.00000E+00    0.10837E-16    0.81421E-10    0.18996E-14   -0.54397E-17
+  6877    0.10514E-14    0.26574E-17    0.00000E+00    0.10849E-16    0.81367E-10    0.18989E-14   -0.53901E-17
+  6878    0.10509E-14    0.26479E-17    0.00000E+00    0.10861E-16    0.81314E-10    0.18982E-14   -0.53398E-17
+  6879    0.10503E-14    0.26385E-17    0.00000E+00    0.10873E-16    0.81260E-10    0.18976E-14   -0.52891E-17
+  6880    0.10499E-14    0.26291E-17    0.00000E+00    0.10886E-16    0.81207E-10    0.18970E-14   -0.52378E-17
+  6881    0.10493E-14    0.26198E-17    0.00000E+00    0.10899E-16    0.81154E-10    0.18964E-14   -0.51859E-17
+  6882    0.10487E-14    0.26105E-17    0.00000E+00    0.10912E-16    0.81100E-10    0.18958E-14   -0.51334E-17
+  6883    0.10483E-14    0.26013E-17    0.00000E+00    0.10925E-16    0.81047E-10    0.18950E-14   -0.50803E-17
+  6884    0.10477E-14    0.25921E-17    0.00000E+00    0.10938E-16    0.80994E-10    0.18942E-14   -0.50266E-17
+  6885    0.10471E-14    0.25830E-17    0.00000E+00    0.10952E-16    0.80941E-10    0.18931E-14   -0.49721E-17
+  6886    0.10466E-14    0.25740E-17    0.00000E+00    0.10966E-16    0.80888E-10    0.18920E-14   -0.49170E-17
+  6887    0.10460E-14    0.25651E-17    0.00000E+00    0.10979E-16    0.80835E-10    0.18908E-14   -0.48613E-17
+  6888    0.10455E-14    0.25562E-17    0.00000E+00    0.10994E-16    0.80782E-10    0.18896E-14   -0.48050E-17
+  6889    0.10449E-14    0.25473E-17    0.00000E+00    0.11008E-16    0.80728E-10    0.18884E-14   -0.47482E-17
+  6890    0.10444E-14    0.25386E-17    0.00000E+00    0.11022E-16    0.80675E-10    0.18873E-14   -0.46908E-17
+  6891    0.10439E-14    0.25298E-17    0.00000E+00    0.11037E-16    0.80623E-10    0.18863E-14   -0.46329E-17
+  6892    0.10433E-14    0.25212E-17    0.00000E+00    0.11051E-16    0.80570E-10    0.18854E-14   -0.45746E-17
+  6893    0.10428E-14    0.25126E-17    0.00000E+00    0.11066E-16    0.80517E-10    0.18846E-14   -0.45157E-17
+  6894    0.10422E-14    0.25041E-17    0.00000E+00    0.11081E-16    0.80464E-10    0.18839E-14   -0.44561E-17
+  6895    0.10417E-14    0.24956E-17    0.00000E+00    0.11096E-16    0.80411E-10    0.18832E-14   -0.43957E-17
+  6896    0.10413E-14    0.24872E-17    0.00000E+00    0.11111E-16    0.80358E-10    0.18825E-14   -0.43344E-17
+  6897    0.10407E-14    0.24788E-17    0.00000E+00    0.11126E-16    0.80305E-10    0.18817E-14   -0.42721E-17
+  6898    0.10401E-14    0.24705E-17    0.00000E+00    0.11142E-16    0.80253E-10    0.18808E-14   -0.42086E-17
+  6899    0.10396E-14    0.24624E-17    0.00000E+00    0.11157E-16    0.80200E-10    0.18796E-14   -0.41440E-17
+  6900    0.10391E-14    0.24542E-17    0.00000E+00    0.11173E-16    0.80147E-10    0.18784E-14   -0.40782E-17
+  6901    0.10386E-14    0.24461E-17    0.00000E+00    0.11189E-16    0.80095E-10    0.18771E-14   -0.40114E-17
+  6902    0.10380E-14    0.24380E-17    0.00000E+00    0.11205E-16    0.80042E-10    0.18758E-14   -0.39437E-17
+  6903    0.10375E-14    0.24300E-17    0.00000E+00    0.11221E-16    0.79989E-10    0.18745E-14   -0.38751E-17
+  6904    0.10369E-14    0.24222E-17    0.00000E+00    0.11237E-16    0.79937E-10    0.18734E-14   -0.38058E-17
+  6905    0.10363E-14    0.24143E-17    0.00000E+00    0.11253E-16    0.79884E-10    0.18724E-14   -0.37358E-17
+  6906    0.10358E-14    0.24065E-17    0.00000E+00    0.11269E-16    0.79832E-10    0.18716E-14   -0.36653E-17
+  6907    0.10352E-14    0.23988E-17    0.00000E+00    0.11286E-16    0.79780E-10    0.18709E-14   -0.35942E-17
+  6908    0.10347E-14    0.23911E-17    0.00000E+00    0.11302E-16    0.79727E-10    0.18704E-14   -0.35227E-17
+  6909    0.10341E-14    0.23835E-17    0.00000E+00    0.11319E-16    0.79675E-10    0.18698E-14   -0.34508E-17
+  6910    0.10336E-14    0.23759E-17    0.00000E+00    0.11335E-16    0.79622E-10    0.18693E-14   -0.33785E-17
+  6911    0.10330E-14    0.23684E-17    0.00000E+00    0.11352E-16    0.79570E-10    0.18686E-14   -0.33059E-17
+  6912    0.10325E-14    0.23610E-17    0.00000E+00    0.11369E-16    0.79518E-10    0.18677E-14   -0.32331E-17
+  6913    0.10319E-14    0.23536E-17    0.00000E+00    0.11385E-16    0.79466E-10    0.18666E-14   -0.31599E-17
+  6914    0.10314E-14    0.23463E-17    0.00000E+00    0.11402E-16    0.79413E-10    0.18653E-14   -0.30866E-17
+  6915    0.10308E-14    0.23391E-17    0.00000E+00    0.11419E-16    0.79361E-10    0.18639E-14   -0.30130E-17
+  6916    0.10303E-14    0.23319E-17    0.00000E+00    0.11436E-16    0.79309E-10    0.18625E-14   -0.29391E-17
+  6917    0.10297E-14    0.23248E-17    0.00000E+00    0.11453E-16    0.79257E-10    0.18611E-14   -0.28649E-17
+  6918    0.10292E-14    0.23177E-17    0.00000E+00    0.11471E-16    0.79205E-10    0.18599E-14   -0.27904E-17
+  6919    0.10286E-14    0.23107E-17    0.00000E+00    0.11488E-16    0.79153E-10    0.18587E-14   -0.27156E-17
+  6920    0.10281E-14    0.23037E-17    0.00000E+00    0.11505E-16    0.79101E-10    0.18578E-14   -0.26405E-17
+  6921    0.10275E-14    0.22969E-17    0.00000E+00    0.11522E-16    0.79049E-10    0.18571E-14   -0.25650E-17
+  6922    0.10270E-14    0.22900E-17    0.00000E+00    0.11540E-16    0.78997E-10    0.18565E-14   -0.24892E-17
+  6923    0.10264E-14    0.22833E-17    0.00000E+00    0.11557E-16    0.78945E-10    0.18559E-14   -0.24131E-17
+  6924    0.10258E-14    0.22766E-17    0.00000E+00    0.11574E-16    0.78893E-10    0.18552E-14   -0.23367E-17
+  6925    0.10253E-14    0.22699E-17    0.00000E+00    0.11591E-16    0.78841E-10    0.18544E-14   -0.22600E-17
+  6926    0.10247E-14    0.22633E-17    0.00000E+00    0.11609E-16    0.78790E-10    0.18534E-14   -0.21829E-17
+  6927    0.10241E-14    0.22568E-17    0.00000E+00    0.11626E-16    0.78738E-10    0.18522E-14   -0.21056E-17
+  6928    0.10236E-14    0.22502E-17    0.00000E+00    0.11643E-16    0.78686E-10    0.18508E-14   -0.20281E-17
+  6929    0.10230E-14    0.22438E-17    0.00000E+00    0.11661E-16    0.78634E-10    0.18492E-14   -0.19503E-17
+  6930    0.10224E-14    0.22375E-17    0.00000E+00    0.11678E-16    0.78583E-10    0.18476E-14   -0.18722E-17
+  6931    0.10219E-14    0.22312E-17    0.00000E+00    0.11696E-16    0.78531E-10    0.18461E-14   -0.17940E-17
+  6932    0.10213E-14    0.22250E-17    0.00000E+00    0.11713E-16    0.78479E-10    0.18447E-14   -0.17155E-17
+  6933    0.10207E-14    0.22188E-17    0.00000E+00    0.11731E-16    0.78428E-10    0.18436E-14   -0.16369E-17
+  6934    0.10202E-14    0.22126E-17    0.00000E+00    0.11748E-16    0.78376E-10    0.18427E-14   -0.15582E-17
+  6935    0.10196E-14    0.22065E-17    0.00000E+00    0.11766E-16    0.78325E-10    0.18419E-14   -0.14793E-17
+  6936    0.10190E-14    0.22005E-17    0.00000E+00    0.11783E-16    0.78273E-10    0.18414E-14   -0.14002E-17
+  6937    0.10184E-14    0.21946E-17    0.00000E+00    0.11800E-16    0.78222E-10    0.18408E-14   -0.13210E-17
+  6938    0.10179E-14    0.21887E-17    0.00000E+00    0.11818E-16    0.78170E-10    0.18403E-14   -0.12416E-17
+  6939    0.10173E-14    0.21828E-17    0.00000E+00    0.11835E-16    0.78119E-10    0.18396E-14   -0.11621E-17
+  6940    0.10167E-14    0.21770E-17    0.00000E+00    0.11853E-16    0.78068E-10    0.18387E-14   -0.10824E-17
+  6941    0.10161E-14    0.21712E-17    0.00000E+00    0.11870E-16    0.78016E-10    0.18375E-14   -0.10026E-17
+  6942    0.10156E-14    0.21656E-17    0.00000E+00    0.11887E-16    0.77965E-10    0.18362E-14   -0.92259E-18
+  6943    0.10150E-14    0.21599E-17    0.00000E+00    0.11904E-16    0.77914E-10    0.18347E-14   -0.84253E-18
+  6944    0.10144E-14    0.21543E-17    0.00000E+00    0.11921E-16    0.77863E-10    0.18331E-14   -0.76244E-18
+  6945    0.10138E-14    0.21488E-17    0.00000E+00    0.11939E-16    0.77812E-10    0.18316E-14   -0.68235E-18
+  6946    0.10132E-14    0.21433E-17    0.00000E+00    0.11956E-16    0.77760E-10    0.18303E-14   -0.60231E-18
+  6947    0.10126E-14    0.21379E-17    0.00000E+00    0.11973E-16    0.77709E-10    0.18291E-14   -0.52236E-18
+  6948    0.10120E-14    0.21324E-17    0.00000E+00    0.11990E-16    0.77658E-10    0.18282E-14   -0.44254E-18
+  6949    0.10115E-14    0.21271E-17    0.00000E+00    0.12007E-16    0.77607E-10    0.18275E-14   -0.36286E-18
+  6950    0.10109E-14    0.21219E-17    0.00000E+00    0.12024E-16    0.77556E-10    0.18269E-14   -0.28334E-18
+  6951    0.10103E-14    0.21166E-17    0.00000E+00    0.12041E-16    0.77505E-10    0.18263E-14   -0.20397E-18
+  6952    0.10097E-14    0.21115E-17    0.00000E+00    0.12057E-16    0.77454E-10    0.18256E-14   -0.12477E-18
+  6953    0.10091E-14    0.21062E-17    0.00000E+00    0.12074E-16    0.77403E-10    0.18248E-14   -0.45737E-19
+  6954    0.10085E-14    0.21012E-17    0.00000E+00    0.12091E-16    0.77352E-10    0.18238E-14    0.33111E-19
+  6955    0.10079E-14    0.20962E-17    0.00000E+00    0.12107E-16    0.77301E-10    0.18225E-14    0.11178E-18
+  6956    0.10073E-14    0.20912E-17    0.00000E+00    0.12124E-16    0.77251E-10    0.18209E-14    0.19028E-18
+  6957    0.10067E-14    0.20863E-17    0.00000E+00    0.12140E-16    0.77200E-10    0.18192E-14    0.26865E-18
+  6958    0.10061E-14    0.20814E-17    0.00000E+00    0.12156E-16    0.77149E-10    0.18175E-14    0.34691E-18
+  6959    0.10055E-14    0.20766E-17    0.00000E+00    0.12173E-16    0.77098E-10    0.18157E-14    0.42510E-18
+  6960    0.10049E-14    0.20718E-17    0.00000E+00    0.12189E-16    0.77048E-10    0.18141E-14    0.50323E-18
+  6961    0.10043E-14    0.20670E-17    0.00000E+00    0.12205E-16    0.76997E-10    0.18126E-14    0.58134E-18
+  6962    0.10037E-14    0.20624E-17    0.00000E+00    0.12221E-16    0.76946E-10    0.18115E-14    0.65943E-18
+  6963    0.10031E-14    0.20576E-17    0.00000E+00    0.12237E-16    0.76896E-10    0.18105E-14    0.73738E-18
+  6964    0.10025E-14    0.20530E-17    0.00000E+00    0.12253E-16    0.76845E-10    0.18096E-14    0.81505E-18
+  6965    0.10019E-14    0.20485E-17    0.00000E+00    0.12268E-16    0.76795E-10    0.18088E-14    0.89231E-18
+  6966    0.10013E-14    0.20439E-17    0.00000E+00    0.12284E-16    0.76744E-10    0.18079E-14    0.96901E-18
+  6967    0.10007E-14    0.20393E-17    0.00000E+00    0.12300E-16    0.76694E-10    0.18069E-14    0.10450E-17
+  6968    0.10001E-14    0.20350E-17    0.00000E+00    0.12315E-16    0.76643E-10    0.18057E-14    0.11202E-17
+  6969    0.99944E-15    0.20305E-17    0.00000E+00    0.12330E-16    0.76593E-10    0.18043E-14    0.11944E-17
+  6970    0.99882E-15    0.20262E-17    0.00000E+00    0.12346E-16    0.76542E-10    0.18027E-14    0.12678E-17
+  6971    0.99821E-15    0.20219E-17    0.00000E+00    0.12361E-16    0.76492E-10    0.18009E-14    0.13404E-17
+  6972    0.99759E-15    0.20177E-17    0.00000E+00    0.12376E-16    0.76442E-10    0.17992E-14    0.14124E-17
+  6973    0.99697E-15    0.20134E-17    0.00000E+00    0.12390E-16    0.76391E-10    0.17974E-14    0.14840E-17
+  6974    0.99635E-15    0.20093E-17    0.00000E+00    0.12405E-16    0.76341E-10    0.17959E-14    0.15551E-17
+  6975    0.99573E-15    0.20051E-17    0.00000E+00    0.12420E-16    0.76291E-10    0.17945E-14    0.16259E-17
+  6976    0.99511E-15    0.20010E-17    0.00000E+00    0.12434E-16    0.76241E-10    0.17933E-14    0.16966E-17
+  6977    0.99448E-15    0.19969E-17    0.00000E+00    0.12449E-16    0.76191E-10    0.17924E-14    0.17671E-17
+  6978    0.99386E-15    0.19928E-17    0.00000E+00    0.12463E-16    0.76141E-10    0.17916E-14    0.18373E-17
+  6979    0.99324E-15    0.19888E-17    0.00000E+00    0.12477E-16    0.76090E-10    0.17909E-14    0.19072E-17
+  6980    0.99261E-15    0.19849E-17    0.00000E+00    0.12491E-16    0.76040E-10    0.17902E-14    0.19766E-17
+  6981    0.99198E-15    0.19809E-17    0.00000E+00    0.12505E-16    0.75990E-10    0.17893E-14    0.20456E-17
+  6982    0.99136E-15    0.19770E-17    0.00000E+00    0.12519E-16    0.75940E-10    0.17883E-14    0.21141E-17
+  6983    0.99072E-15    0.19731E-17    0.00000E+00    0.12533E-16    0.75890E-10    0.17871E-14    0.21821E-17
+  6984    0.99009E-15    0.19693E-17    0.00000E+00    0.12546E-16    0.75841E-10    0.17856E-14    0.22494E-17
+  6985    0.98945E-15    0.19655E-17    0.00000E+00    0.12560E-16    0.75791E-10    0.17841E-14    0.23161E-17
+  6986    0.98882E-15    0.19617E-17    0.00000E+00    0.12573E-16    0.75741E-10    0.17825E-14    0.23822E-17
+  6987    0.98818E-15    0.19581E-17    0.00000E+00    0.12586E-16    0.75691E-10    0.17809E-14    0.24478E-17
+  6988    0.98754E-15    0.19544E-17    0.00000E+00    0.12599E-16    0.75641E-10    0.17795E-14    0.25127E-17
+  6989    0.98690E-15    0.19507E-17    0.00000E+00    0.12611E-16    0.75591E-10    0.17782E-14    0.25769E-17
+  6990    0.98627E-15    0.19471E-17    0.00000E+00    0.12624E-16    0.75542E-10    0.17771E-14    0.26406E-17
+  6991    0.98562E-15    0.19435E-17    0.00000E+00    0.12637E-16    0.75492E-10    0.17761E-14    0.27037E-17
+  6992    0.98499E-15    0.19400E-17    0.00000E+00    0.12649E-16    0.75442E-10    0.17753E-14    0.27663E-17
+  6993    0.98434E-15    0.19365E-17    0.00000E+00    0.12661E-16    0.75393E-10    0.17744E-14    0.28285E-17
+  6994    0.98369E-15    0.19330E-17    0.00000E+00    0.12673E-16    0.75343E-10    0.17736E-14    0.28902E-17
+  6995    0.98305E-15    0.19295E-17    0.00000E+00    0.12685E-16    0.75293E-10    0.17726E-14    0.29517E-17
+  6996    0.98241E-15    0.19260E-17    0.00000E+00    0.12697E-16    0.75244E-10    0.17715E-14    0.30129E-17
+  6997    0.98176E-15    0.19227E-17    0.00000E+00    0.12709E-16    0.75194E-10    0.17702E-14    0.30739E-17
+  6998    0.98110E-15    0.19192E-17    0.00000E+00    0.12720E-16    0.75145E-10    0.17687E-14    0.31345E-17
+  6999    0.98045E-15    0.19159E-17    0.00000E+00    0.12731E-16    0.75095E-10    0.17671E-14    0.31944E-17
+  7000    0.97980E-15    0.19126E-17    0.00000E+00    0.12743E-16    0.75046E-10    0.17654E-14    0.32535E-17
+  7001    0.97915E-15    0.19093E-17    0.00000E+00    0.12753E-16    0.74997E-10    0.17637E-14    0.33114E-17
+  7002    0.97849E-15    0.19060E-17    0.00000E+00    0.12764E-16    0.74947E-10    0.17622E-14    0.33681E-17
+  7003    0.97783E-15    0.19027E-17    0.00000E+00    0.12775E-16    0.74898E-10    0.17607E-14    0.34231E-17
+  7004    0.97717E-15    0.18996E-17    0.00000E+00    0.12785E-16    0.74849E-10    0.17594E-14    0.34764E-17
+  7005    0.97652E-15    0.18963E-17    0.00000E+00    0.12796E-16    0.74799E-10    0.17583E-14    0.35281E-17
+  7006    0.97586E-15    0.18932E-17    0.00000E+00    0.12806E-16    0.74750E-10    0.17573E-14    0.35784E-17
+  7007    0.97520E-15    0.18900E-17    0.00000E+00    0.12816E-16    0.74701E-10    0.17563E-14    0.36276E-17
+  7008    0.97454E-15    0.18869E-17    0.00000E+00    0.12826E-16    0.74652E-10    0.17553E-14    0.36757E-17
+  7009    0.97389E-15    0.18837E-17    0.00000E+00    0.12836E-16    0.74603E-10    0.17542E-14    0.37231E-17
+  7010    0.97322E-15    0.18806E-17    0.00000E+00    0.12845E-16    0.74553E-10    0.17530E-14    0.37699E-17
+  7011    0.97255E-15    0.18776E-17    0.00000E+00    0.12855E-16    0.74504E-10    0.17517E-14    0.38163E-17
+  7012    0.97189E-15    0.18745E-17    0.00000E+00    0.12864E-16    0.74455E-10    0.17503E-14    0.38622E-17
+  7013    0.97122E-15    0.18715E-17    0.00000E+00    0.12873E-16    0.74406E-10    0.17488E-14    0.39076E-17
+  7014    0.97055E-15    0.18685E-17    0.00000E+00    0.12882E-16    0.74357E-10    0.17472E-14    0.39525E-17
+  7015    0.96988E-15    0.18655E-17    0.00000E+00    0.12890E-16    0.74308E-10    0.17457E-14    0.39968E-17
+  7016    0.96920E-15    0.18625E-17    0.00000E+00    0.12899E-16    0.74259E-10    0.17442E-14    0.40403E-17
+  7017    0.96853E-15    0.18596E-17    0.00000E+00    0.12907E-16    0.74211E-10    0.17429E-14    0.40831E-17
+  7018    0.96786E-15    0.18567E-17    0.00000E+00    0.12915E-16    0.74162E-10    0.17416E-14    0.41251E-17
+  7019    0.96718E-15    0.18537E-17    0.00000E+00    0.12923E-16    0.74113E-10    0.17405E-14    0.41663E-17
+  7020    0.96651E-15    0.18509E-17    0.00000E+00    0.12931E-16    0.74064E-10    0.17394E-14    0.42067E-17
+  7021    0.96583E-15    0.18480E-17    0.00000E+00    0.12939E-16    0.74015E-10    0.17384E-14    0.42463E-17
+  7022    0.96516E-15    0.18452E-17    0.00000E+00    0.12946E-16    0.73967E-10    0.17373E-14    0.42852E-17
+  7023    0.96448E-15    0.18423E-17    0.00000E+00    0.12954E-16    0.73918E-10    0.17363E-14    0.43234E-17
+  7024    0.96380E-15    0.18394E-17    0.00000E+00    0.12961E-16    0.73869E-10    0.17351E-14    0.43608E-17
+  7025    0.96312E-15    0.18366E-17    0.00000E+00    0.12968E-16    0.73821E-10    0.17338E-14    0.43975E-17
+  7026    0.96244E-15    0.18339E-17    0.00000E+00    0.12974E-16    0.73772E-10    0.17325E-14    0.44336E-17
+  7027    0.96175E-15    0.18310E-17    0.00000E+00    0.12981E-16    0.73723E-10    0.17310E-14    0.44691E-17
+  7028    0.96106E-15    0.18283E-17    0.00000E+00    0.12987E-16    0.73675E-10    0.17296E-14    0.45039E-17
+  7029    0.96037E-15    0.18255E-17    0.00000E+00    0.12993E-16    0.73626E-10    0.17281E-14    0.45381E-17
+  7030    0.95969E-15    0.18227E-17    0.00000E+00    0.13000E-16    0.73578E-10    0.17266E-14    0.45718E-17
+  7031    0.95901E-15    0.18200E-17    0.00000E+00    0.13005E-16    0.73529E-10    0.17252E-14    0.46049E-17
+  7032    0.95831E-15    0.18173E-17    0.00000E+00    0.13011E-16    0.73481E-10    0.17238E-14    0.46375E-17
+  7033    0.95763E-15    0.18146E-17    0.00000E+00    0.13017E-16    0.73433E-10    0.17225E-14    0.46694E-17
+  7034    0.95694E-15    0.18118E-17    0.00000E+00    0.13022E-16    0.73384E-10    0.17212E-14    0.47005E-17
+  7035    0.95625E-15    0.18092E-17    0.00000E+00    0.13027E-16    0.73336E-10    0.17199E-14    0.47305E-17
+  7036    0.95557E-15    0.18065E-17    0.00000E+00    0.13032E-16    0.73288E-10    0.17186E-14    0.47592E-17
+  7037    0.95488E-15    0.18039E-17    0.00000E+00    0.13037E-16    0.73239E-10    0.17173E-14    0.47866E-17
+  7038    0.95418E-15    0.18012E-17    0.00000E+00    0.13042E-16    0.73191E-10    0.17160E-14    0.48123E-17
+  7039    0.95349E-15    0.17986E-17    0.00000E+00    0.13046E-16    0.73143E-10    0.17147E-14    0.48364E-17
+  7040    0.95279E-15    0.17959E-17    0.00000E+00    0.13051E-16    0.73095E-10    0.17133E-14    0.48588E-17
+  7041    0.95209E-15    0.17934E-17    0.00000E+00    0.13055E-16    0.73047E-10    0.17119E-14    0.48798E-17
+  7042    0.95139E-15    0.17907E-17    0.00000E+00    0.13059E-16    0.72998E-10    0.17105E-14    0.48995E-17
+  7043    0.95069E-15    0.17881E-17    0.00000E+00    0.13062E-16    0.72950E-10    0.17091E-14    0.49180E-17
+  7044    0.94999E-15    0.17854E-17    0.00000E+00    0.13066E-16    0.72902E-10    0.17077E-14    0.49356E-17
+  7045    0.94929E-15    0.17829E-17    0.00000E+00    0.13070E-16    0.72854E-10    0.17063E-14    0.49524E-17
+  7046    0.94859E-15    0.17803E-17    0.00000E+00    0.13073E-16    0.72806E-10    0.17049E-14    0.49685E-17
+  7047    0.94789E-15    0.17777E-17    0.00000E+00    0.13076E-16    0.72758E-10    0.17036E-14    0.49839E-17
+  7048    0.94719E-15    0.17751E-17    0.00000E+00    0.13079E-16    0.72710E-10    0.17023E-14    0.49987E-17
+  7049    0.94649E-15    0.17725E-17    0.00000E+00    0.13082E-16    0.72663E-10    0.17010E-14    0.50127E-17
+  7050    0.94579E-15    0.17700E-17    0.00000E+00    0.13084E-16    0.72615E-10    0.16997E-14    0.50261E-17
+  7051    0.94508E-15    0.17675E-17    0.00000E+00    0.13086E-16    0.72567E-10    0.16985E-14    0.50389E-17
+  7052    0.94438E-15    0.17648E-17    0.00000E+00    0.13089E-16    0.72519E-10    0.16974E-14    0.50509E-17
+  7053    0.94367E-15    0.17623E-17    0.00000E+00    0.13091E-16    0.72471E-10    0.16963E-14    0.50622E-17
+  7054    0.94296E-15    0.17597E-17    0.00000E+00    0.13093E-16    0.72423E-10    0.16952E-14    0.50728E-17
+  7055    0.94226E-15    0.17572E-17    0.00000E+00    0.13094E-16    0.72376E-10    0.16941E-14    0.50827E-17
+  7056    0.94154E-15    0.17546E-17    0.00000E+00    0.13096E-16    0.72328E-10    0.16930E-14    0.50920E-17
+  7057    0.94083E-15    0.17521E-17    0.00000E+00    0.13097E-16    0.72280E-10    0.16920E-14    0.51006E-17
+  7058    0.94012E-15    0.17495E-17    0.00000E+00    0.13098E-16    0.72233E-10    0.16908E-14    0.51085E-17
+  7059    0.93940E-15    0.17470E-17    0.00000E+00    0.13099E-16    0.72185E-10    0.16897E-14    0.51158E-17
+  7060    0.93869E-15    0.17444E-17    0.00000E+00    0.13100E-16    0.72138E-10    0.16885E-14    0.51225E-17
+  7061    0.93798E-15    0.17419E-17    0.00000E+00    0.13101E-16    0.72090E-10    0.16873E-14    0.51285E-17
+  7062    0.93726E-15    0.17394E-17    0.00000E+00    0.13101E-16    0.72043E-10    0.16861E-14    0.51338E-17
+  7063    0.93655E-15    0.17368E-17    0.00000E+00    0.13102E-16    0.71995E-10    0.16848E-14    0.51385E-17
+  7064    0.93584E-15    0.17344E-17    0.00000E+00    0.13102E-16    0.71948E-10    0.16836E-14    0.51425E-17
+  7065    0.93513E-15    0.17318E-17    0.00000E+00    0.13102E-16    0.71900E-10    0.16824E-14    0.51458E-17
+  7066    0.93441E-15    0.17293E-17    0.00000E+00    0.13102E-16    0.71853E-10    0.16813E-14    0.51484E-17
+  7067    0.93370E-15    0.17268E-17    0.00000E+00    0.13101E-16    0.71806E-10    0.16803E-14    0.51502E-17
+  7068    0.93297E-15    0.17243E-17    0.00000E+00    0.13101E-16    0.71758E-10    0.16792E-14    0.51513E-17
+  7069    0.93225E-15    0.17218E-17    0.00000E+00    0.13100E-16    0.71711E-10    0.16782E-14    0.51515E-17
+  7070    0.93153E-15    0.17192E-17    0.00000E+00    0.13099E-16    0.71664E-10    0.16772E-14    0.51508E-17
+  7071    0.93082E-15    0.17167E-17    0.00000E+00    0.13098E-16    0.71616E-10    0.16762E-14    0.51491E-17
+  7072    0.93009E-15    0.17142E-17    0.00000E+00    0.13097E-16    0.71569E-10    0.16750E-14    0.51463E-17
+  7073    0.92937E-15    0.17116E-17    0.00000E+00    0.13096E-16    0.71522E-10    0.16738E-14    0.51424E-17
+  7074    0.92865E-15    0.17091E-17    0.00000E+00    0.13094E-16    0.71475E-10    0.16724E-14    0.51373E-17
+  7075    0.92793E-15    0.17066E-17    0.00000E+00    0.13093E-16    0.71428E-10    0.16710E-14    0.51310E-17
+  7076    0.92721E-15    0.17040E-17    0.00000E+00    0.13091E-16    0.71381E-10    0.16695E-14    0.51235E-17
+  7077    0.92649E-15    0.17014E-17    0.00000E+00    0.13089E-16    0.71334E-10    0.16679E-14    0.51151E-17
+  7078    0.92577E-15    0.16989E-17    0.00000E+00    0.13087E-16    0.71287E-10    0.16664E-14    0.51056E-17
+  7079    0.92505E-15    0.16963E-17    0.00000E+00    0.13084E-16    0.71240E-10    0.16650E-14    0.50951E-17
+  7080    0.92432E-15    0.16938E-17    0.00000E+00    0.13082E-16    0.71193E-10    0.16636E-14    0.50838E-17
+  7081    0.92359E-15    0.16912E-17    0.00000E+00    0.13079E-16    0.71146E-10    0.16624E-14    0.50716E-17
+  7082    0.92286E-15    0.16886E-17    0.00000E+00    0.13076E-16    0.71099E-10    0.16613E-14    0.50586E-17
+  7083    0.92214E-15    0.16861E-17    0.00000E+00    0.13073E-16    0.71052E-10    0.16603E-14    0.50448E-17
+  7084    0.92141E-15    0.16836E-17    0.00000E+00    0.13070E-16    0.71005E-10    0.16592E-14    0.50303E-17
+  7085    0.92068E-15    0.16810E-17    0.00000E+00    0.13067E-16    0.70958E-10    0.16582E-14    0.50152E-17
+  7086    0.91995E-15    0.16784E-17    0.00000E+00    0.13063E-16    0.70912E-10    0.16570E-14    0.49996E-17
+  7087    0.91923E-15    0.16759E-17    0.00000E+00    0.13060E-16    0.70865E-10    0.16558E-14    0.49833E-17
+  7088    0.91849E-15    0.16733E-17    0.00000E+00    0.13057E-16    0.70818E-10    0.16544E-14    0.49666E-17
+  7089    0.91777E-15    0.16707E-17    0.00000E+00    0.13053E-16    0.70772E-10    0.16528E-14    0.49494E-17
+  7090    0.91704E-15    0.16682E-17    0.00000E+00    0.13048E-16    0.70725E-10    0.16513E-14    0.49317E-17
+  7091    0.91631E-15    0.16656E-17    0.00000E+00    0.13045E-16    0.70678E-10    0.16497E-14    0.49135E-17
+  7092    0.91558E-15    0.16629E-17    0.00000E+00    0.13040E-16    0.70632E-10    0.16482E-14    0.48949E-17
+  7093    0.91486E-15    0.16604E-17    0.00000E+00    0.13036E-16    0.70585E-10    0.16468E-14    0.48757E-17
+  7094    0.91413E-15    0.16578E-17    0.00000E+00    0.13031E-16    0.70539E-10    0.16456E-14    0.48561E-17
+  7095    0.91340E-15    0.16552E-17    0.00000E+00    0.13027E-16    0.70492E-10    0.16445E-14    0.48359E-17
+  7096    0.91266E-15    0.16526E-17    0.00000E+00    0.13023E-16    0.70446E-10    0.16437E-14    0.48152E-17
+  7097    0.91193E-15    0.16500E-17    0.00000E+00    0.13017E-16    0.70399E-10    0.16429E-14    0.47940E-17
+  7098    0.91120E-15    0.16473E-17    0.00000E+00    0.13012E-16    0.70353E-10    0.16422E-14    0.47723E-17
+  7099    0.91047E-15    0.16447E-17    0.00000E+00    0.13007E-16    0.70306E-10    0.16414E-14    0.47499E-17
+  7100    0.90973E-15    0.16421E-17    0.00000E+00    0.13002E-16    0.70260E-10    0.16405E-14    0.47270E-17
+  7101    0.90900E-15    0.16394E-17    0.00000E+00    0.12995E-16    0.70214E-10    0.16395E-14    0.47035E-17
+  7102    0.90826E-15    0.16368E-17    0.00000E+00    0.12990E-16    0.70167E-10    0.16383E-14    0.46793E-17
+  7103    0.90753E-15    0.16341E-17    0.00000E+00    0.12984E-16    0.70121E-10    0.16369E-14    0.46545E-17
+  7104    0.90679E-15    0.16315E-17    0.00000E+00    0.12978E-16    0.70075E-10    0.16355E-14    0.46290E-17
+  7105    0.90606E-15    0.16288E-17    0.00000E+00    0.12972E-16    0.70029E-10    0.16340E-14    0.46030E-17
+  7106    0.90532E-15    0.16261E-17    0.00000E+00    0.12965E-16    0.69982E-10    0.16325E-14    0.45764E-17
+  7107    0.90459E-15    0.16234E-17    0.00000E+00    0.12959E-16    0.69936E-10    0.16312E-14    0.45492E-17
+  7108    0.90386E-15    0.16208E-17    0.00000E+00    0.12952E-16    0.69890E-10    0.16301E-14    0.45214E-17
+  7109    0.90312E-15    0.16181E-17    0.00000E+00    0.12946E-16    0.69844E-10    0.16292E-14    0.44930E-17
+  7110    0.90239E-15    0.16153E-17    0.00000E+00    0.12939E-16    0.69798E-10    0.16284E-14    0.44640E-17
+  7111    0.90165E-15    0.16127E-17    0.00000E+00    0.12931E-16    0.69752E-10    0.16278E-14    0.44343E-17
+  7112    0.90092E-15    0.16100E-17    0.00000E+00    0.12925E-16    0.69706E-10    0.16272E-14    0.44039E-17
+  7113    0.90019E-15    0.16073E-17    0.00000E+00    0.12917E-16    0.69660E-10    0.16265E-14    0.43727E-17
+  7114    0.89945E-15    0.16046E-17    0.00000E+00    0.12910E-16    0.69614E-10    0.16257E-14    0.43406E-17
+  7115    0.89872E-15    0.16018E-17    0.00000E+00    0.12903E-16    0.69568E-10    0.16248E-14    0.43077E-17
+  7116    0.89798E-15    0.15991E-17    0.00000E+00    0.12895E-16    0.69522E-10    0.16235E-14    0.42738E-17
+  7117    0.89724E-15    0.15964E-17    0.00000E+00    0.12888E-16    0.69476E-10    0.16221E-14    0.42391E-17
+  7118    0.89650E-15    0.15936E-17    0.00000E+00    0.12880E-16    0.69431E-10    0.16206E-14    0.42037E-17
+  7119    0.89577E-15    0.15909E-17    0.00000E+00    0.12872E-16    0.69385E-10    0.16190E-14    0.41676E-17
+  7120    0.89503E-15    0.15881E-17    0.00000E+00    0.12864E-16    0.69339E-10    0.16175E-14    0.41310E-17
+  7121    0.89429E-15    0.15854E-17    0.00000E+00    0.12856E-16    0.69293E-10    0.16161E-14    0.40941E-17
+  7122    0.89356E-15    0.15826E-17    0.00000E+00    0.12847E-16    0.69248E-10    0.16149E-14    0.40568E-17
+  7123    0.89282E-15    0.15798E-17    0.00000E+00    0.12838E-16    0.69202E-10    0.16140E-14    0.40194E-17
+  7124    0.89209E-15    0.15770E-17    0.00000E+00    0.12830E-16    0.69156E-10    0.16132E-14    0.39818E-17
+  7125    0.89136E-15    0.15743E-17    0.00000E+00    0.12821E-16    0.69111E-10    0.16126E-14    0.39440E-17
+  7126    0.89062E-15    0.15715E-17    0.00000E+00    0.12813E-16    0.69065E-10    0.16121E-14    0.39060E-17
+  7127    0.88989E-15    0.15687E-17    0.00000E+00    0.12804E-16    0.69020E-10    0.16115E-14    0.38677E-17
+  7128    0.88915E-15    0.15658E-17    0.00000E+00    0.12795E-16    0.68974E-10    0.16108E-14    0.38292E-17
+  7129    0.88842E-15    0.15630E-17    0.00000E+00    0.12786E-16    0.68929E-10    0.16099E-14    0.37904E-17
+  7130    0.88769E-15    0.15603E-17    0.00000E+00    0.12777E-16    0.68883E-10    0.16088E-14    0.37514E-17
+  7131    0.88695E-15    0.15574E-17    0.00000E+00    0.12767E-16    0.68838E-10    0.16074E-14    0.37121E-17
+  7132    0.88621E-15    0.15545E-17    0.00000E+00    0.12758E-16    0.68792E-10    0.16060E-14    0.36724E-17
+  7133    0.88546E-15    0.15517E-17    0.00000E+00    0.12748E-16    0.68747E-10    0.16045E-14    0.36324E-17
+  7134    0.88473E-15    0.15489E-17    0.00000E+00    0.12739E-16    0.68701E-10    0.16031E-14    0.35921E-17
+  7135    0.88399E-15    0.15460E-17    0.00000E+00    0.12729E-16    0.68656E-10    0.16018E-14    0.35514E-17
+  7136    0.88326E-15    0.15431E-17    0.00000E+00    0.12718E-16    0.68611E-10    0.16007E-14    0.35104E-17
+  7137    0.88252E-15    0.15402E-17    0.00000E+00    0.12709E-16    0.68566E-10    0.15999E-14    0.34690E-17
+  7138    0.88178E-15    0.15374E-17    0.00000E+00    0.12698E-16    0.68520E-10    0.15994E-14    0.34273E-17
+  7139    0.88106E-15    0.15345E-17    0.00000E+00    0.12688E-16    0.68475E-10    0.15989E-14    0.33852E-17
+  7140    0.88033E-15    0.15317E-17    0.00000E+00    0.12678E-16    0.68430E-10    0.15985E-14    0.33430E-17
+  7141    0.87960E-15    0.15288E-17    0.00000E+00    0.12667E-16    0.68385E-10    0.15981E-14    0.33005E-17
+  7142    0.87887E-15    0.15259E-17    0.00000E+00    0.12656E-16    0.68340E-10    0.15975E-14    0.32579E-17
+  7143    0.87813E-15    0.15229E-17    0.00000E+00    0.12646E-16    0.68295E-10    0.15967E-14    0.32152E-17
+  7144    0.87739E-15    0.15201E-17    0.00000E+00    0.12635E-16    0.68250E-10    0.15957E-14    0.31725E-17
+  7145    0.87666E-15    0.15172E-17    0.00000E+00    0.12624E-16    0.68205E-10    0.15944E-14    0.31296E-17
+  7146    0.87593E-15    0.15143E-17    0.00000E+00    0.12613E-16    0.68160E-10    0.15930E-14    0.30864E-17
+  7147    0.87519E-15    0.15114E-17    0.00000E+00    0.12602E-16    0.68115E-10    0.15915E-14    0.30428E-17
+  7148    0.87445E-15    0.15084E-17    0.00000E+00    0.12590E-16    0.68070E-10    0.15900E-14    0.29988E-17
+  7149    0.87372E-15    0.15055E-17    0.00000E+00    0.12580E-16    0.68025E-10    0.15887E-14    0.29541E-17
+  7150    0.87299E-15    0.15025E-17    0.00000E+00    0.12568E-16    0.67980E-10    0.15876E-14    0.29088E-17
+  7151    0.87226E-15    0.14995E-17    0.00000E+00    0.12557E-16    0.67935E-10    0.15867E-14    0.28627E-17
+  7152    0.87152E-15    0.14965E-17    0.00000E+00    0.12546E-16    0.67890E-10    0.15860E-14    0.28159E-17
+  7153    0.87080E-15    0.14935E-17    0.00000E+00    0.12534E-16    0.67845E-10    0.15855E-14    0.27686E-17
+  7154    0.87007E-15    0.14906E-17    0.00000E+00    0.12522E-16    0.67801E-10    0.15849E-14    0.27209E-17
+  7155    0.86935E-15    0.14877E-17    0.00000E+00    0.12510E-16    0.67756E-10    0.15844E-14    0.26730E-17
+  7156    0.86862E-15    0.14847E-17    0.00000E+00    0.12498E-16    0.67711E-10    0.15837E-14    0.26250E-17
+  7157    0.86789E-15    0.14817E-17    0.00000E+00    0.12486E-16    0.67666E-10    0.15827E-14    0.25769E-17
+  7158    0.86716E-15    0.14787E-17    0.00000E+00    0.12475E-16    0.67622E-10    0.15816E-14    0.25291E-17
+  7159    0.86643E-15    0.14758E-17    0.00000E+00    0.12462E-16    0.67577E-10    0.15802E-14    0.24813E-17
+  7160    0.86571E-15    0.14727E-17    0.00000E+00    0.12450E-16    0.67533E-10    0.15786E-14    0.24336E-17
+  7161    0.86498E-15    0.14697E-17    0.00000E+00    0.12437E-16    0.67488E-10    0.15771E-14    0.23860E-17
+  7162    0.86424E-15    0.14667E-17    0.00000E+00    0.12425E-16    0.67443E-10    0.15756E-14    0.23385E-17
+  7163    0.86352E-15    0.14638E-17    0.00000E+00    0.12412E-16    0.67399E-10    0.15742E-14    0.22908E-17
+  7164    0.86279E-15    0.14607E-17    0.00000E+00    0.12400E-16    0.67354E-10    0.15730E-14    0.22432E-17
+  7165    0.86208E-15    0.14577E-17    0.00000E+00    0.12387E-16    0.67310E-10    0.15721E-14    0.21954E-17
+  7166    0.86135E-15    0.14547E-17    0.00000E+00    0.12375E-16    0.67266E-10    0.15714E-14    0.21476E-17
+  7167    0.86062E-15    0.14518E-17    0.00000E+00    0.12362E-16    0.67221E-10    0.15709E-14    0.20996E-17
+  7168    0.85991E-15    0.14487E-17    0.00000E+00    0.12349E-16    0.67177E-10    0.15704E-14    0.20517E-17
+  7169    0.85918E-15    0.14457E-17    0.00000E+00    0.12336E-16    0.67133E-10    0.15700E-14    0.20037E-17
+  7170    0.85846E-15    0.14426E-17    0.00000E+00    0.12322E-16    0.67088E-10    0.15694E-14    0.19557E-17
+  7171    0.85774E-15    0.14395E-17    0.00000E+00    0.12310E-16    0.67044E-10    0.15687E-14    0.19076E-17
+  7172    0.85701E-15    0.14365E-17    0.00000E+00    0.12296E-16    0.67000E-10    0.15677E-14    0.18597E-17
+  7173    0.85629E-15    0.14334E-17    0.00000E+00    0.12282E-16    0.66955E-10    0.15666E-14    0.18117E-17
+  7174    0.85558E-15    0.14304E-17    0.00000E+00    0.12269E-16    0.66911E-10    0.15654E-14    0.17639E-17
+  7175    0.85485E-15    0.14274E-17    0.00000E+00    0.12256E-16    0.66867E-10    0.15642E-14    0.17162E-17
+  7176    0.85413E-15    0.14243E-17    0.00000E+00    0.12242E-16    0.66823E-10    0.15631E-14    0.16686E-17
+  7177    0.85341E-15    0.14212E-17    0.00000E+00    0.12228E-16    0.66779E-10    0.15620E-14    0.16213E-17
+  7178    0.85269E-15    0.14182E-17    0.00000E+00    0.12215E-16    0.66735E-10    0.15612E-14    0.15742E-17
+  7179    0.85198E-15    0.14151E-17    0.00000E+00    0.12201E-16    0.66691E-10    0.15606E-14    0.15274E-17
+  7180    0.85126E-15    0.14120E-17    0.00000E+00    0.12188E-16    0.66647E-10    0.15602E-14    0.14808E-17
+  7181    0.85055E-15    0.14090E-17    0.00000E+00    0.12174E-16    0.66603E-10    0.15599E-14    0.14343E-17
+  7182    0.84984E-15    0.14059E-17    0.00000E+00    0.12160E-16    0.66559E-10    0.15597E-14    0.13878E-17
+  7183    0.84912E-15    0.14028E-17    0.00000E+00    0.12146E-16    0.66515E-10    0.15595E-14    0.13412E-17
+  7184    0.84842E-15    0.13998E-17    0.00000E+00    0.12132E-16    0.66471E-10    0.15591E-14    0.12944E-17
+  7185    0.84770E-15    0.13967E-17    0.00000E+00    0.12118E-16    0.66427E-10    0.15586E-14    0.12474E-17
+  7186    0.84699E-15    0.13936E-17    0.00000E+00    0.12103E-16    0.66383E-10    0.15579E-14    0.12000E-17
+  7187    0.84628E-15    0.13906E-17    0.00000E+00    0.12089E-16    0.66339E-10    0.15570E-14    0.11524E-17
+  7188    0.84557E-15    0.13874E-17    0.00000E+00    0.12075E-16    0.66296E-10    0.15560E-14    0.11046E-17
+  7189    0.84486E-15    0.13843E-17    0.00000E+00    0.12061E-16    0.66252E-10    0.15550E-14    0.10568E-17
+  7190    0.84415E-15    0.13812E-17    0.00000E+00    0.12046E-16    0.66208E-10    0.15539E-14    0.10090E-17
+  7191    0.84343E-15    0.13781E-17    0.00000E+00    0.12031E-16    0.66164E-10    0.15530E-14    0.96132E-18
+  7192    0.84272E-15    0.13750E-17    0.00000E+00    0.12016E-16    0.66121E-10    0.15521E-14    0.91391E-18
+  7193    0.84202E-15    0.13719E-17    0.00000E+00    0.12002E-16    0.66077E-10    0.15514E-14    0.86682E-18
+  7194    0.84131E-15    0.13688E-17    0.00000E+00    0.11987E-16    0.66033E-10    0.15509E-14    0.82005E-18
+  7195    0.84062E-15    0.13658E-17    0.00000E+00    0.11972E-16    0.65990E-10    0.15504E-14    0.77355E-18
+  7196    0.83991E-15    0.13626E-17    0.00000E+00    0.11958E-16    0.65946E-10    0.15500E-14    0.72730E-18
+  7197    0.83921E-15    0.13595E-17    0.00000E+00    0.11943E-16    0.65903E-10    0.15495E-14    0.68125E-18
+  7198    0.83851E-15    0.13565E-17    0.00000E+00    0.11928E-16    0.65859E-10    0.15489E-14    0.63538E-18
+  7199    0.83781E-15    0.13533E-17    0.00000E+00    0.11913E-16    0.65816E-10    0.15482E-14    0.58966E-18
+  7200    0.83711E-15    0.13502E-17    0.00000E+00    0.11898E-16    0.65772E-10    0.15473E-14    0.54406E-18
+  7201    0.83641E-15    0.13472E-17    0.00000E+00    0.11882E-16    0.65729E-10    0.15463E-14    0.49862E-18
+  7202    0.83571E-15    0.13440E-17    0.00000E+00    0.11868E-16    0.65686E-10    0.15451E-14    0.45341E-18
+  7203    0.83501E-15    0.13409E-17    0.00000E+00    0.11852E-16    0.65642E-10    0.15439E-14    0.40848E-18
+  7204    0.83431E-15    0.13378E-17    0.00000E+00    0.11837E-16    0.65599E-10    0.15428E-14    0.36387E-18
+  7205    0.83361E-15    0.13347E-17    0.00000E+00    0.11821E-16    0.65555E-10    0.15416E-14    0.31966E-18
+  7206    0.83292E-15    0.13316E-17    0.00000E+00    0.11806E-16    0.65512E-10    0.15406E-14    0.27590E-18
+  7207    0.83223E-15    0.13285E-17    0.00000E+00    0.11791E-16    0.65469E-10    0.15397E-14    0.23262E-18
+  7208    0.83154E-15    0.13253E-17    0.00000E+00    0.11776E-16    0.65426E-10    0.15390E-14    0.18984E-18
+  7209    0.83085E-15    0.13223E-17    0.00000E+00    0.11760E-16    0.65383E-10    0.15383E-14    0.14754E-18
+  7210    0.83016E-15    0.13192E-17    0.00000E+00    0.11744E-16    0.65339E-10    0.15377E-14    0.10571E-18
+  7211    0.82947E-15    0.13161E-17    0.00000E+00    0.11729E-16    0.65296E-10    0.15370E-14    0.64328E-19
+  7212    0.82878E-15    0.13130E-17    0.00000E+00    0.11713E-16    0.65253E-10    0.15364E-14    0.23396E-19
+  7213    0.82810E-15    0.13098E-17    0.00000E+00    0.11697E-16    0.65210E-10    0.15356E-14   -0.17102E-19
+  7214    0.82741E-15    0.13068E-17    0.00000E+00    0.11682E-16    0.65167E-10    0.15348E-14   -0.57182E-19
+  7215    0.82673E-15    0.13036E-17    0.00000E+00    0.11665E-16    0.65124E-10    0.15339E-14   -0.96884E-19
+  7216    0.82603E-15    0.13006E-17    0.00000E+00    0.11650E-16    0.65081E-10    0.15329E-14   -0.13626E-18
+  7217    0.82535E-15    0.12974E-17    0.00000E+00    0.11634E-16    0.65038E-10    0.15320E-14   -0.17534E-18
+  7218    0.82467E-15    0.12943E-17    0.00000E+00    0.11618E-16    0.64995E-10    0.15310E-14   -0.21418E-18
+  7219    0.82399E-15    0.12912E-17    0.00000E+00    0.11602E-16    0.64952E-10    0.15301E-14   -0.25283E-18
+  7220    0.82331E-15    0.12881E-17    0.00000E+00    0.11586E-16    0.64909E-10    0.15293E-14   -0.29133E-18
+  7221    0.82263E-15    0.12850E-17    0.00000E+00    0.11570E-16    0.64866E-10    0.15286E-14   -0.32970E-18
+  7222    0.82196E-15    0.12819E-17    0.00000E+00    0.11554E-16    0.64824E-10    0.15280E-14   -0.36792E-18
+  7223    0.82128E-15    0.12788E-17    0.00000E+00    0.11538E-16    0.64781E-10    0.15274E-14   -0.40593E-18
+  7224    0.82060E-15    0.12756E-17    0.00000E+00    0.11522E-16    0.64738E-10    0.15269E-14   -0.44368E-18
+  7225    0.81994E-15    0.12726E-17    0.00000E+00    0.11505E-16    0.64695E-10    0.15264E-14   -0.48112E-18
+  7226    0.81926E-15    0.12694E-17    0.00000E+00    0.11489E-16    0.64652E-10    0.15259E-14   -0.51819E-18
+  7227    0.81860E-15    0.12664E-17    0.00000E+00    0.11473E-16    0.64610E-10    0.15254E-14   -0.55485E-18
+  7228    0.81792E-15    0.12632E-17    0.00000E+00    0.11457E-16    0.64567E-10    0.15248E-14   -0.59104E-18
+  7229    0.81725E-15    0.12602E-17    0.00000E+00    0.11441E-16    0.64524E-10    0.15241E-14   -0.62679E-18
+  7230    0.81658E-15    0.12571E-17    0.00000E+00    0.11425E-16    0.64482E-10    0.15234E-14   -0.66211E-18
+  7231    0.81592E-15    0.12540E-17    0.00000E+00    0.11408E-16    0.64439E-10    0.15227E-14   -0.69703E-18
+  7232    0.81524E-15    0.12509E-17    0.00000E+00    0.11392E-16    0.64397E-10    0.15220E-14   -0.73156E-18
+  7233    0.81458E-15    0.12478E-17    0.00000E+00    0.11375E-16    0.64354E-10    0.15213E-14   -0.76572E-18
+  7234    0.81392E-15    0.12448E-17    0.00000E+00    0.11359E-16    0.64312E-10    0.15206E-14   -0.79954E-18
+  7235    0.81326E-15    0.12417E-17    0.00000E+00    0.11342E-16    0.64269E-10    0.15200E-14   -0.83302E-18
+  7236    0.81260E-15    0.12386E-17    0.00000E+00    0.11326E-16    0.64227E-10    0.15193E-14   -0.86611E-18
+  7237    0.81194E-15    0.12356E-17    0.00000E+00    0.11309E-16    0.64184E-10    0.15187E-14   -0.89874E-18
+  7238    0.81129E-15    0.12325E-17    0.00000E+00    0.11294E-16    0.64142E-10    0.15180E-14   -0.93083E-18
+  7239    0.81064E-15    0.12294E-17    0.00000E+00    0.11277E-16    0.64100E-10    0.15174E-14   -0.96231E-18
+  7240    0.80998E-15    0.12264E-17    0.00000E+00    0.11261E-16    0.64057E-10    0.15168E-14   -0.99311E-18
+  7241    0.80933E-15    0.12233E-17    0.00000E+00    0.11243E-16    0.64015E-10    0.15162E-14   -0.10232E-17
+  7242    0.80868E-15    0.12202E-17    0.00000E+00    0.11227E-16    0.63973E-10    0.15156E-14   -0.10524E-17
+  7243    0.80802E-15    0.12171E-17    0.00000E+00    0.11211E-16    0.63930E-10    0.15150E-14   -0.10809E-17
+  7244    0.80737E-15    0.12140E-17    0.00000E+00    0.11193E-16    0.63888E-10    0.15143E-14   -0.11087E-17
+  7245    0.80672E-15    0.12110E-17    0.00000E+00    0.11177E-16    0.63846E-10    0.15137E-14   -0.11359E-17
+  7246    0.80607E-15    0.12079E-17    0.00000E+00    0.11160E-16    0.63804E-10    0.15130E-14   -0.11625E-17
+  7247    0.80543E-15    0.12049E-17    0.00000E+00    0.11143E-16    0.63762E-10    0.15123E-14   -0.11886E-17
+  7248    0.80478E-15    0.12019E-17    0.00000E+00    0.11126E-16    0.63720E-10    0.15116E-14   -0.12142E-17
+  7249    0.80414E-15    0.11988E-17    0.00000E+00    0.11110E-16    0.63678E-10    0.15109E-14   -0.12394E-17
+  7250    0.80350E-15    0.11957E-17    0.00000E+00    0.11092E-16    0.63635E-10    0.15101E-14   -0.12642E-17
+  7251    0.80285E-15    0.11927E-17    0.00000E+00    0.11076E-16    0.63593E-10    0.15093E-14   -0.12886E-17
+  7252    0.80222E-15    0.11897E-17    0.00000E+00    0.11059E-16    0.63551E-10    0.15086E-14   -0.13125E-17
+  7253    0.80159E-15    0.11867E-17    0.00000E+00    0.11043E-16    0.63510E-10    0.15078E-14   -0.13360E-17
+  7254    0.80096E-15    0.11837E-17    0.00000E+00    0.11026E-16    0.63468E-10    0.15072E-14   -0.13591E-17
+  7255    0.80032E-15    0.11806E-17    0.00000E+00    0.11009E-16    0.63426E-10    0.15065E-14   -0.13817E-17
+  7256    0.79969E-15    0.11775E-17    0.00000E+00    0.10992E-16    0.63384E-10    0.15060E-14   -0.14038E-17
+  7257    0.79905E-15    0.11745E-17    0.00000E+00    0.10975E-16    0.63342E-10    0.15055E-14   -0.14255E-17
+  7258    0.79843E-15    0.11716E-17    0.00000E+00    0.10959E-16    0.63300E-10    0.15051E-14   -0.14467E-17
+  7259    0.79780E-15    0.11685E-17    0.00000E+00    0.10941E-16    0.63258E-10    0.15046E-14   -0.14674E-17
+  7260    0.79717E-15    0.11655E-17    0.00000E+00    0.10925E-16    0.63216E-10    0.15041E-14   -0.14875E-17
+  7261    0.79654E-15    0.11625E-17    0.00000E+00    0.10907E-16    0.63175E-10    0.15036E-14   -0.15071E-17
+  7262    0.79592E-15    0.11595E-17    0.00000E+00    0.10891E-16    0.63133E-10    0.15030E-14   -0.15262E-17
+  7263    0.79530E-15    0.11565E-17    0.00000E+00    0.10874E-16    0.63091E-10    0.15023E-14   -0.15447E-17
+  7264    0.79467E-15    0.11535E-17    0.00000E+00    0.10857E-16    0.63050E-10    0.15016E-14   -0.15627E-17
+  7265    0.79405E-15    0.11505E-17    0.00000E+00    0.10840E-16    0.63008E-10    0.15008E-14   -0.15802E-17
+  7266    0.79344E-15    0.11475E-17    0.00000E+00    0.10823E-16    0.62966E-10    0.15000E-14   -0.15972E-17
+  7267    0.79282E-15    0.11445E-17    0.00000E+00    0.10807E-16    0.62925E-10    0.14992E-14   -0.16137E-17
+  7268    0.79220E-15    0.11416E-17    0.00000E+00    0.10789E-16    0.62883E-10    0.14985E-14   -0.16298E-17
+  7269    0.79159E-15    0.11386E-17    0.00000E+00    0.10773E-16    0.62842E-10    0.14979E-14   -0.16455E-17
+  7270    0.79098E-15    0.11356E-17    0.00000E+00    0.10755E-16    0.62800E-10    0.14974E-14   -0.16608E-17
+  7271    0.79036E-15    0.11326E-17    0.00000E+00    0.10739E-16    0.62759E-10    0.14970E-14   -0.16756E-17
+  7272    0.78976E-15    0.11296E-17    0.00000E+00    0.10722E-16    0.62717E-10    0.14966E-14   -0.16898E-17
+  7273    0.78915E-15    0.11267E-17    0.00000E+00    0.10705E-16    0.62676E-10    0.14962E-14   -0.17035E-17
+  7274    0.78854E-15    0.11238E-17    0.00000E+00    0.10688E-16    0.62634E-10    0.14958E-14   -0.17165E-17
+  7275    0.78793E-15    0.11208E-17    0.00000E+00    0.10671E-16    0.62593E-10    0.14953E-14   -0.17287E-17
+  7276    0.78733E-15    0.11179E-17    0.00000E+00    0.10655E-16    0.62552E-10    0.14946E-14   -0.17402E-17
+  7277    0.78673E-15    0.11149E-17    0.00000E+00    0.10638E-16    0.62510E-10    0.14938E-14   -0.17507E-17
+  7278    0.78613E-15    0.11120E-17    0.00000E+00    0.10621E-16    0.62469E-10    0.14928E-14   -0.17605E-17
+  7279    0.78554E-15    0.11090E-17    0.00000E+00    0.10604E-16    0.62428E-10    0.14918E-14   -0.17695E-17
+  7280    0.78493E-15    0.11060E-17    0.00000E+00    0.10587E-16    0.62386E-10    0.14907E-14   -0.17779E-17
+  7281    0.78433E-15    0.11032E-17    0.00000E+00    0.10571E-16    0.62345E-10    0.14897E-14   -0.17858E-17
+  7282    0.78374E-15    0.11002E-17    0.00000E+00    0.10554E-16    0.62304E-10    0.14887E-14   -0.17931E-17
+  7283    0.78315E-15    0.10973E-17    0.00000E+00    0.10537E-16    0.62263E-10    0.14879E-14   -0.18000E-17
+  7284    0.78256E-15    0.10944E-17    0.00000E+00    0.10520E-16    0.62222E-10    0.14872E-14   -0.18066E-17
+  7285    0.78197E-15    0.10914E-17    0.00000E+00    0.10504E-16    0.62181E-10    0.14867E-14   -0.18128E-17
+  7286    0.78138E-15    0.10886E-17    0.00000E+00    0.10486E-16    0.62140E-10    0.14862E-14   -0.18186E-17
+  7287    0.78079E-15    0.10857E-17    0.00000E+00    0.10470E-16    0.62098E-10    0.14858E-14   -0.18240E-17
+  7288    0.78020E-15    0.10828E-17    0.00000E+00    0.10453E-16    0.62057E-10    0.14853E-14   -0.18288E-17
+  7289    0.77963E-15    0.10799E-17    0.00000E+00    0.10437E-16    0.62016E-10    0.14847E-14   -0.18331E-17
+  7290    0.77904E-15    0.10769E-17    0.00000E+00    0.10419E-16    0.61976E-10    0.14840E-14   -0.18369E-17
+  7291    0.77847E-15    0.10741E-17    0.00000E+00    0.10403E-16    0.61935E-10    0.14831E-14   -0.18400E-17
+  7292    0.77788E-15    0.10712E-17    0.00000E+00    0.10386E-16    0.61894E-10    0.14820E-14   -0.18425E-17
+  7293    0.77730E-15    0.10683E-17    0.00000E+00    0.10370E-16    0.61853E-10    0.14808E-14   -0.18444E-17
+  7294    0.77673E-15    0.10654E-17    0.00000E+00    0.10353E-16    0.61812E-10    0.14797E-14   -0.18457E-17
+  7295    0.77616E-15    0.10625E-17    0.00000E+00    0.10336E-16    0.61771E-10    0.14786E-14   -0.18465E-17
+  7296    0.77558E-15    0.10596E-17    0.00000E+00    0.10320E-16    0.61730E-10    0.14776E-14   -0.18467E-17
+  7297    0.77501E-15    0.10568E-17    0.00000E+00    0.10303E-16    0.61689E-10    0.14769E-14   -0.18464E-17
+  7298    0.77444E-15    0.10539E-17    0.00000E+00    0.10287E-16    0.61649E-10    0.14764E-14   -0.18456E-17
+  7299    0.77387E-15    0.10510E-17    0.00000E+00    0.10270E-16    0.61608E-10    0.14760E-14   -0.18442E-17
+  7300    0.77331E-15    0.10481E-17    0.00000E+00    0.10254E-16    0.61567E-10    0.14758E-14   -0.18424E-17
+  7301    0.77274E-15    0.10453E-17    0.00000E+00    0.10237E-16    0.61527E-10    0.14757E-14   -0.18402E-17
+  7302    0.77218E-15    0.10424E-17    0.00000E+00    0.10221E-16    0.61486E-10    0.14755E-14   -0.18375E-17
+  7303    0.77162E-15    0.10396E-17    0.00000E+00    0.10204E-16    0.61445E-10    0.14752E-14   -0.18344E-17
+  7304    0.77106E-15    0.10368E-17    0.00000E+00    0.10188E-16    0.61405E-10    0.14747E-14   -0.18308E-17
+  7305    0.77050E-15    0.10339E-17    0.00000E+00    0.10171E-16    0.61364E-10    0.14741E-14   -0.18269E-17
+  7306    0.76994E-15    0.10311E-17    0.00000E+00    0.10155E-16    0.61324E-10    0.14733E-14   -0.18225E-17
+  7307    0.76939E-15    0.10283E-17    0.00000E+00    0.10139E-16    0.61283E-10    0.14724E-14   -0.18177E-17
+  7308    0.76883E-15    0.10255E-17    0.00000E+00    0.10122E-16    0.61242E-10    0.14714E-14   -0.18124E-17
+  7309    0.76828E-15    0.10227E-17    0.00000E+00    0.10106E-16    0.61202E-10    0.14705E-14   -0.18064E-17
+  7310    0.76773E-15    0.10199E-17    0.00000E+00    0.10090E-16    0.61162E-10    0.14698E-14   -0.17999E-17
+  7311    0.76718E-15    0.10170E-17    0.00000E+00    0.10074E-16    0.61121E-10    0.14693E-14   -0.17927E-17
+  7312    0.76664E-15    0.10142E-17    0.00000E+00    0.10058E-16    0.61081E-10    0.14690E-14   -0.17849E-17
+  7313    0.76609E-15    0.10114E-17    0.00000E+00    0.10042E-16    0.61040E-10    0.14689E-14   -0.17764E-17
+  7314    0.76554E-15    0.10087E-17    0.00000E+00    0.10026E-16    0.61000E-10    0.14689E-14   -0.17673E-17
+  7315    0.76501E-15    0.10058E-17    0.00000E+00    0.10009E-16    0.60960E-10    0.14689E-14   -0.17578E-17
+  7316    0.76447E-15    0.10030E-17    0.00000E+00    0.99934E-17    0.60919E-10    0.14689E-14   -0.17478E-17
+  7317    0.76392E-15    0.10003E-17    0.00000E+00    0.99778E-17    0.60879E-10    0.14687E-14   -0.17374E-17
+  7318    0.76339E-15    0.99748E-18    0.00000E+00    0.99622E-17    0.60839E-10    0.14683E-14   -0.17267E-17
+  7319    0.76285E-15    0.99472E-18    0.00000E+00    0.99457E-17    0.60799E-10    0.14676E-14   -0.17157E-17
+  7320    0.76232E-15    0.99193E-18    0.00000E+00    0.99304E-17    0.60759E-10    0.14667E-14   -0.17044E-17
+  7321    0.76178E-15    0.98916E-18    0.00000E+00    0.99141E-17    0.60718E-10    0.14657E-14   -0.16928E-17
+  7322    0.76125E-15    0.98640E-18    0.00000E+00    0.98990E-17    0.60678E-10    0.14646E-14   -0.16809E-17
+  7323    0.76071E-15    0.98364E-18    0.00000E+00    0.98829E-17    0.60638E-10    0.14635E-14   -0.16685E-17
+  7324    0.76019E-15    0.98088E-18    0.00000E+00    0.98669E-17    0.60598E-10    0.14625E-14   -0.16557E-17
+  7325    0.75966E-15    0.97813E-18    0.00000E+00    0.98520E-17    0.60558E-10    0.14617E-14   -0.16423E-17
+  7326    0.75913E-15    0.97539E-18    0.00000E+00    0.98362E-17    0.60518E-10    0.14611E-14   -0.16285E-17
+  7327    0.75861E-15    0.97266E-18    0.00000E+00    0.98206E-17    0.60478E-10    0.14607E-14   -0.16141E-17
+  7328    0.75810E-15    0.96992E-18    0.00000E+00    0.98049E-17    0.60438E-10    0.14604E-14   -0.15992E-17
+  7329    0.75757E-15    0.96718E-18    0.00000E+00    0.97904E-17    0.60398E-10    0.14601E-14   -0.15839E-17
+  7330    0.75706E-15    0.96445E-18    0.00000E+00    0.97750E-17    0.60358E-10    0.14598E-14   -0.15681E-17
+  7331    0.75655E-15    0.96173E-18    0.00000E+00    0.97596E-17    0.60318E-10    0.14592E-14   -0.15518E-17
+  7332    0.75603E-15    0.95900E-18    0.00000E+00    0.97444E-17    0.60278E-10    0.14585E-14   -0.15351E-17
+  7333    0.75551E-15    0.95628E-18    0.00000E+00    0.97292E-17    0.60239E-10    0.14575E-14   -0.15180E-17
+  7334    0.75500E-15    0.95357E-18    0.00000E+00    0.97140E-17    0.60199E-10    0.14562E-14   -0.15005E-17
+  7335    0.75449E-15    0.95087E-18    0.00000E+00    0.96990E-17    0.60159E-10    0.14548E-14   -0.14826E-17
+  7336    0.75398E-15    0.94817E-18    0.00000E+00    0.96831E-17    0.60119E-10    0.14533E-14   -0.14643E-17
+  7337    0.75347E-15    0.94546E-18    0.00000E+00    0.96683E-17    0.60079E-10    0.14519E-14   -0.14457E-17
+  7338    0.75297E-15    0.94277E-18    0.00000E+00    0.96535E-17    0.60040E-10    0.14506E-14   -0.14268E-17
+  7339    0.75246E-15    0.94008E-18    0.00000E+00    0.96389E-17    0.60000E-10    0.14496E-14   -0.14075E-17
+  7340    0.75196E-15    0.93739E-18    0.00000E+00    0.96234E-17    0.59960E-10    0.14488E-14   -0.13879E-17
+  7341    0.75146E-15    0.93471E-18    0.00000E+00    0.96091E-17    0.59921E-10    0.14482E-14   -0.13680E-17
+  7342    0.75096E-15    0.93204E-18    0.00000E+00    0.95948E-17    0.59881E-10    0.14478E-14   -0.13477E-17
+  7343    0.75047E-15    0.92937E-18    0.00000E+00    0.95796E-17    0.59842E-10    0.14474E-14   -0.13272E-17
+  7344    0.74997E-15    0.92670E-18    0.00000E+00    0.95655E-17    0.59802E-10    0.14470E-14   -0.13063E-17
+  7345    0.74948E-15    0.92404E-18    0.00000E+00    0.95504E-17    0.59762E-10    0.14465E-14   -0.12851E-17
+  7346    0.74898E-15    0.92138E-18    0.00000E+00    0.95365E-17    0.59723E-10    0.14458E-14   -0.12636E-17
+  7347    0.74849E-15    0.91872E-18    0.00000E+00    0.95216E-17    0.59683E-10    0.14448E-14   -0.12417E-17
+  7348    0.74800E-15    0.91607E-18    0.00000E+00    0.95077E-17    0.59644E-10    0.14437E-14   -0.12196E-17
+  7349    0.74751E-15    0.91342E-18    0.00000E+00    0.94930E-17    0.59605E-10    0.14424E-14   -0.11971E-17
+  7350    0.74701E-15    0.91079E-18    0.00000E+00    0.94793E-17    0.59565E-10    0.14412E-14   -0.11745E-17
+  7351    0.74653E-15    0.90815E-18    0.00000E+00    0.94647E-17    0.59526E-10    0.14400E-14   -0.11516E-17
+  7352    0.74605E-15    0.90551E-18    0.00000E+00    0.94512E-17    0.59486E-10    0.14389E-14   -0.11285E-17
+  7353    0.74556E-15    0.90288E-18    0.00000E+00    0.94368E-17    0.59447E-10    0.14381E-14   -0.11052E-17
+  7354    0.74508E-15    0.90026E-18    0.00000E+00    0.94227E-17    0.59408E-10    0.14375E-14   -0.10819E-17
+  7355    0.74460E-15    0.89764E-18    0.00000E+00    0.94089E-17    0.59369E-10    0.14372E-14   -0.10583E-17
+  7356    0.74412E-15    0.89503E-18    0.00000E+00    0.93951E-17    0.59329E-10    0.14371E-14   -0.10345E-17
+  7357    0.74366E-15    0.89243E-18    0.00000E+00    0.93813E-17    0.59290E-10    0.14370E-14   -0.10106E-17
+  7358    0.74318E-15    0.88982E-18    0.00000E+00    0.93676E-17    0.59251E-10    0.14369E-14   -0.98632E-18
+  7359    0.74271E-15    0.88721E-18    0.00000E+00    0.93540E-17    0.59212E-10    0.14367E-14   -0.96181E-18
+  7360    0.74223E-15    0.88462E-18    0.00000E+00    0.93404E-17    0.59173E-10    0.14363E-14   -0.93698E-18
+  7361    0.74177E-15    0.88203E-18    0.00000E+00    0.93270E-17    0.59133E-10    0.14356E-14   -0.91181E-18
+  7362    0.74130E-15    0.87944E-18    0.00000E+00    0.93135E-17    0.59094E-10    0.14348E-14   -0.88631E-18
+  7363    0.74082E-15    0.87685E-18    0.00000E+00    0.93001E-17    0.59055E-10    0.14338E-14   -0.86049E-18
+  7364    0.74035E-15    0.87427E-18    0.00000E+00    0.92868E-17    0.59016E-10    0.14328E-14   -0.83435E-18
+  7365    0.73989E-15    0.87170E-18    0.00000E+00    0.92736E-17    0.58977E-10    0.14318E-14   -0.80791E-18
+  7366    0.73942E-15    0.86914E-18    0.00000E+00    0.92605E-17    0.58938E-10    0.14309E-14   -0.78117E-18
+  7367    0.73896E-15    0.86657E-18    0.00000E+00    0.92473E-17    0.58899E-10    0.14302E-14   -0.75414E-18
+  7368    0.73849E-15    0.86401E-18    0.00000E+00    0.92343E-17    0.58860E-10    0.14297E-14   -0.72684E-18
+  7369    0.73804E-15    0.86146E-18    0.00000E+00    0.92215E-17    0.58821E-10    0.14294E-14   -0.69928E-18
+  7370    0.73758E-15    0.85892E-18    0.00000E+00    0.92086E-17    0.58782E-10    0.14292E-14   -0.67149E-18
+  7371    0.73713E-15    0.85637E-18    0.00000E+00    0.91958E-17    0.58744E-10    0.14290E-14   -0.64350E-18
+  7372    0.73668E-15    0.85383E-18    0.00000E+00    0.91831E-17    0.58705E-10    0.14288E-14   -0.61533E-18
+  7373    0.73622E-15    0.85130E-18    0.00000E+00    0.91705E-17    0.58666E-10    0.14284E-14   -0.58702E-18
+  7374    0.73577E-15    0.84876E-18    0.00000E+00    0.91579E-17    0.58627E-10    0.14279E-14   -0.55858E-18
+  7375    0.73532E-15    0.84624E-18    0.00000E+00    0.91455E-17    0.58588E-10    0.14271E-14   -0.53004E-18
+  7376    0.73487E-15    0.84373E-18    0.00000E+00    0.91331E-17    0.58550E-10    0.14261E-14   -0.50141E-18
+  7377    0.73442E-15    0.84121E-18    0.00000E+00    0.91207E-17    0.58511E-10    0.14250E-14   -0.47273E-18
+  7378    0.73398E-15    0.83869E-18    0.00000E+00    0.91085E-17    0.58472E-10    0.14238E-14   -0.44400E-18
+  7379    0.73353E-15    0.83619E-18    0.00000E+00    0.90963E-17    0.58433E-10    0.14227E-14   -0.41524E-18
+  7380    0.73308E-15    0.83369E-18    0.00000E+00    0.90841E-17    0.58395E-10    0.14216E-14   -0.38647E-18
+  7381    0.73263E-15    0.83119E-18    0.00000E+00    0.90721E-17    0.58356E-10    0.14206E-14   -0.35770E-18
+  7382    0.73220E-15    0.82870E-18    0.00000E+00    0.90602E-17    0.58318E-10    0.14198E-14   -0.32896E-18
+  7383    0.73175E-15    0.82622E-18    0.00000E+00    0.90483E-17    0.58279E-10    0.14192E-14   -0.30023E-18
+  7384    0.73131E-15    0.82374E-18    0.00000E+00    0.90366E-17    0.58240E-10    0.14186E-14   -0.27151E-18
+  7385    0.73088E-15    0.82127E-18    0.00000E+00    0.90249E-17    0.58202E-10    0.14181E-14   -0.24279E-18
+  7386    0.73045E-15    0.81880E-18    0.00000E+00    0.90133E-17    0.58163E-10    0.14176E-14   -0.21405E-18
+  7387    0.73001E-15    0.81634E-18    0.00000E+00    0.90018E-17    0.58125E-10    0.14170E-14   -0.18529E-18
+  7388    0.72957E-15    0.81387E-18    0.00000E+00    0.89904E-17    0.58087E-10    0.14162E-14   -0.15649E-18
+  7389    0.72915E-15    0.81142E-18    0.00000E+00    0.89790E-17    0.58048E-10    0.14153E-14   -0.12766E-18
+  7390    0.72871E-15    0.80898E-18    0.00000E+00    0.89677E-17    0.58010E-10    0.14142E-14   -0.98765E-19
+  7391    0.72828E-15    0.80653E-18    0.00000E+00    0.89565E-17    0.57971E-10    0.14130E-14   -0.69811E-19
+  7392    0.72785E-15    0.80409E-18    0.00000E+00    0.89453E-17    0.57933E-10    0.14117E-14   -0.40782E-19
+  7393    0.72742E-15    0.80166E-18    0.00000E+00    0.89342E-17    0.57895E-10    0.14105E-14   -0.11669E-19
+  7394    0.72699E-15    0.79923E-18    0.00000E+00    0.89233E-17    0.57856E-10    0.14094E-14    0.17538E-19
+  7395    0.72656E-15    0.79681E-18    0.00000E+00    0.89124E-17    0.57818E-10    0.14084E-14    0.46851E-19
+  7396    0.72614E-15    0.79440E-18    0.00000E+00    0.89017E-17    0.57780E-10    0.14075E-14    0.76277E-19
+  7397    0.72572E-15    0.79198E-18    0.00000E+00    0.88909E-17    0.57742E-10    0.14068E-14    0.10581E-18
+  7398    0.72530E-15    0.78958E-18    0.00000E+00    0.88804E-17    0.57703E-10    0.14062E-14    0.13545E-18
+  7399    0.72488E-15    0.78718E-18    0.00000E+00    0.88699E-17    0.57665E-10    0.14056E-14    0.16519E-18
+  7400    0.72445E-15    0.78479E-18    0.00000E+00    0.88595E-17    0.57627E-10    0.14050E-14    0.19503E-18
+  7401    0.72404E-15    0.78240E-18    0.00000E+00    0.88491E-17    0.57589E-10    0.14044E-14    0.22495E-18
+  7402    0.72363E-15    0.78002E-18    0.00000E+00    0.88389E-17    0.57551E-10    0.14036E-14    0.25495E-18
+  7403    0.72321E-15    0.77764E-18    0.00000E+00    0.88287E-17    0.57513E-10    0.14028E-14    0.28503E-18
+  7404    0.72279E-15    0.77528E-18    0.00000E+00    0.88185E-17    0.57475E-10    0.14018E-14    0.31515E-18
+  7405    0.72238E-15    0.77291E-18    0.00000E+00    0.88085E-17    0.57437E-10    0.14008E-14    0.34528E-18
+  7406    0.72197E-15    0.77055E-18    0.00000E+00    0.87985E-17    0.57399E-10    0.13998E-14    0.37539E-18
+  7407    0.72155E-15    0.76820E-18    0.00000E+00    0.87887E-17    0.57361E-10    0.13987E-14    0.40545E-18
+  7408    0.72114E-15    0.76585E-18    0.00000E+00    0.87789E-17    0.57323E-10    0.13977E-14    0.43542E-18
+  7409    0.72073E-15    0.76351E-18    0.00000E+00    0.87692E-17    0.57285E-10    0.13968E-14    0.46526E-18
+  7410    0.72033E-15    0.76118E-18    0.00000E+00    0.87597E-17    0.57247E-10    0.13960E-14    0.49495E-18
+  7411    0.71992E-15    0.75885E-18    0.00000E+00    0.87501E-17    0.57209E-10    0.13953E-14    0.52448E-18
+  7412    0.71951E-15    0.75653E-18    0.00000E+00    0.87408E-17    0.57171E-10    0.13946E-14    0.55382E-18
+  7413    0.71911E-15    0.75422E-18    0.00000E+00    0.87315E-17    0.57133E-10    0.13940E-14    0.58298E-18
+  7414    0.71871E-15    0.75190E-18    0.00000E+00    0.87222E-17    0.57096E-10    0.13933E-14    0.61192E-18
+  7415    0.71831E-15    0.74960E-18    0.00000E+00    0.87132E-17    0.57058E-10    0.13927E-14    0.64066E-18
+  7416    0.71791E-15    0.74731E-18    0.00000E+00    0.87041E-17    0.57020E-10    0.13919E-14    0.66916E-18
+  7417    0.71751E-15    0.74502E-18    0.00000E+00    0.86951E-17    0.56982E-10    0.13911E-14    0.69742E-18
+  7418    0.71711E-15    0.74273E-18    0.00000E+00    0.86862E-17    0.56945E-10    0.13903E-14    0.72547E-18
+  7419    0.71671E-15    0.74046E-18    0.00000E+00    0.86774E-17    0.56907E-10    0.13893E-14    0.75333E-18
+  7420    0.71632E-15    0.73818E-18    0.00000E+00    0.86687E-17    0.56869E-10    0.13884E-14    0.78103E-18
+  7421    0.71592E-15    0.73592E-18    0.00000E+00    0.86602E-17    0.56832E-10    0.13874E-14    0.80859E-18
+  7422    0.71553E-15    0.73367E-18    0.00000E+00    0.86516E-17    0.56794E-10    0.13865E-14    0.83603E-18
+  7423    0.71513E-15    0.73141E-18    0.00000E+00    0.86432E-17    0.56756E-10    0.13855E-14    0.86339E-18
+  7424    0.71473E-15    0.72917E-18    0.00000E+00    0.86348E-17    0.56719E-10    0.13847E-14    0.89069E-18
+  7425    0.71434E-15    0.72693E-18    0.00000E+00    0.86266E-17    0.56681E-10    0.13838E-14    0.91792E-18
+  7426    0.71395E-15    0.72470E-18    0.00000E+00    0.86184E-17    0.56644E-10    0.13830E-14    0.94507E-18
+  7427    0.71356E-15    0.72247E-18    0.00000E+00    0.86103E-17    0.56606E-10    0.13822E-14    0.97213E-18
+  7428    0.71317E-15    0.72026E-18    0.00000E+00    0.86023E-17    0.56569E-10    0.13814E-14    0.99911E-18
+  7429    0.71278E-15    0.71805E-18    0.00000E+00    0.85944E-17    0.56531E-10    0.13806E-14    0.10260E-17
+  7430    0.71239E-15    0.71585E-18    0.00000E+00    0.85866E-17    0.56494E-10    0.13799E-14    0.10527E-17
+  7431    0.71201E-15    0.71365E-18    0.00000E+00    0.85788E-17    0.56456E-10    0.13791E-14    0.10794E-17
+  7432    0.71162E-15    0.71146E-18    0.00000E+00    0.85711E-17    0.56419E-10    0.13783E-14    0.11059E-17
+  7433    0.71124E-15    0.70928E-18    0.00000E+00    0.85636E-17    0.56382E-10    0.13775E-14    0.11323E-17
+  7434    0.71085E-15    0.70710E-18    0.00000E+00    0.85561E-17    0.56344E-10    0.13767E-14    0.11586E-17
+  7435    0.71047E-15    0.70493E-18    0.00000E+00    0.85487E-17    0.56307E-10    0.13759E-14    0.11848E-17
+  7436    0.71009E-15    0.70277E-18    0.00000E+00    0.85415E-17    0.56270E-10    0.13750E-14    0.12109E-17
+  7437    0.70970E-15    0.70062E-18    0.00000E+00    0.85342E-17    0.56233E-10    0.13742E-14    0.12368E-17
+  7438    0.70932E-15    0.69848E-18    0.00000E+00    0.85271E-17    0.56195E-10    0.13733E-14    0.12626E-17
+  7439    0.70895E-15    0.69634E-18    0.00000E+00    0.85200E-17    0.56158E-10    0.13725E-14    0.12883E-17
+  7440    0.70857E-15    0.69421E-18    0.00000E+00    0.85131E-17    0.56121E-10    0.13716E-14    0.13138E-17
+  7441    0.70818E-15    0.69208E-18    0.00000E+00    0.85062E-17    0.56084E-10    0.13708E-14    0.13390E-17
+  7442    0.70781E-15    0.68997E-18    0.00000E+00    0.84994E-17    0.56047E-10    0.13700E-14    0.13640E-17
+  7443    0.70743E-15    0.68786E-18    0.00000E+00    0.84927E-17    0.56010E-10    0.13692E-14    0.13887E-17
+  7444    0.70705E-15    0.68576E-18    0.00000E+00    0.84862E-17    0.55972E-10    0.13685E-14    0.14131E-17
+  7445    0.70668E-15    0.68367E-18    0.00000E+00    0.84797E-17    0.55935E-10    0.13678E-14    0.14371E-17
+  7446    0.70630E-15    0.68158E-18    0.00000E+00    0.84732E-17    0.55898E-10    0.13672E-14    0.14608E-17
+  7447    0.70592E-15    0.67950E-18    0.00000E+00    0.84668E-17    0.55861E-10    0.13665E-14    0.14841E-17
+  7448    0.70555E-15    0.67744E-18    0.00000E+00    0.84606E-17    0.55824E-10    0.13659E-14    0.15071E-17
+  7449    0.70517E-15    0.67538E-18    0.00000E+00    0.84544E-17    0.55787E-10    0.13653E-14    0.15297E-17
+  7450    0.70481E-15    0.67331E-18    0.00000E+00    0.84483E-17    0.55750E-10    0.13646E-14    0.15520E-17
+  7451    0.70444E-15    0.67128E-18    0.00000E+00    0.84423E-17    0.55713E-10    0.13638E-14    0.15739E-17
+  7452    0.70406E-15    0.66924E-18    0.00000E+00    0.84364E-17    0.55677E-10    0.13629E-14    0.15954E-17
+  7453    0.70370E-15    0.66721E-18    0.00000E+00    0.84305E-17    0.55640E-10    0.13620E-14    0.16167E-17
+  7454    0.70333E-15    0.66519E-18    0.00000E+00    0.84247E-17    0.55603E-10    0.13610E-14    0.16376E-17
+  7455    0.70296E-15    0.66317E-18    0.00000E+00    0.84191E-17    0.55566E-10    0.13600E-14    0.16583E-17
+  7456    0.70259E-15    0.66116E-18    0.00000E+00    0.84135E-17    0.55529E-10    0.13590E-14    0.16787E-17
+  7457    0.70223E-15    0.65917E-18    0.00000E+00    0.84080E-17    0.55492E-10    0.13581E-14    0.16989E-17
+  7458    0.70186E-15    0.65718E-18    0.00000E+00    0.84025E-17    0.55456E-10    0.13573E-14    0.17189E-17
+  7459    0.70150E-15    0.65521E-18    0.00000E+00    0.83973E-17    0.55419E-10    0.13565E-14    0.17387E-17
+  7460    0.70113E-15    0.65323E-18    0.00000E+00    0.83919E-17    0.55382E-10    0.13558E-14    0.17583E-17
+  7461    0.70077E-15    0.65126E-18    0.00000E+00    0.83867E-17    0.55346E-10    0.13551E-14    0.17778E-17
+  7462    0.70041E-15    0.64932E-18    0.00000E+00    0.83816E-17    0.55309E-10    0.13544E-14    0.17970E-17
+  7463    0.70004E-15    0.64736E-18    0.00000E+00    0.83766E-17    0.55272E-10    0.13536E-14    0.18160E-17
+  7464    0.69968E-15    0.64543E-18    0.00000E+00    0.83716E-17    0.55236E-10    0.13528E-14    0.18348E-17
+  7465    0.69931E-15    0.64350E-18    0.00000E+00    0.83667E-17    0.55199E-10    0.13518E-14    0.18534E-17
+  7466    0.69895E-15    0.64158E-18    0.00000E+00    0.83619E-17    0.55163E-10    0.13506E-14    0.18717E-17
+  7467    0.69859E-15    0.63967E-18    0.00000E+00    0.83573E-17    0.55126E-10    0.13494E-14    0.18897E-17
+  7468    0.69823E-15    0.63777E-18    0.00000E+00    0.83526E-17    0.55089E-10    0.13480E-14    0.19075E-17
+  7469    0.69787E-15    0.63587E-18    0.00000E+00    0.83480E-17    0.55053E-10    0.13466E-14    0.19251E-17
+  7470    0.69751E-15    0.63399E-18    0.00000E+00    0.83436E-17    0.55016E-10    0.13453E-14    0.19423E-17
+  7471    0.69716E-15    0.63211E-18    0.00000E+00    0.83391E-17    0.54980E-10    0.13440E-14    0.19593E-17
+  7472    0.69680E-15    0.63024E-18    0.00000E+00    0.83348E-17    0.54944E-10    0.13429E-14    0.19760E-17
+  7473    0.69644E-15    0.62838E-18    0.00000E+00    0.83306E-17    0.54907E-10    0.13419E-14    0.19924E-17
+  7474    0.69608E-15    0.62653E-18    0.00000E+00    0.83264E-17    0.54871E-10    0.13410E-14    0.20085E-17
+  7475    0.69573E-15    0.62469E-18    0.00000E+00    0.83223E-17    0.54834E-10    0.13402E-14    0.20243E-17
+  7476    0.69537E-15    0.62286E-18    0.00000E+00    0.83183E-17    0.54798E-10    0.13394E-14    0.20396E-17
+  7477    0.69501E-15    0.62104E-18    0.00000E+00    0.83143E-17    0.54762E-10    0.13386E-14    0.20546E-17
+  7478    0.69466E-15    0.61922E-18    0.00000E+00    0.83104E-17    0.54725E-10    0.13377E-14    0.20691E-17
+  7479    0.69430E-15    0.61742E-18    0.00000E+00    0.83066E-17    0.54689E-10    0.13367E-14    0.20831E-17
+  7480    0.69395E-15    0.61563E-18    0.00000E+00    0.83029E-17    0.54653E-10    0.13355E-14    0.20967E-17
+  7481    0.69359E-15    0.61384E-18    0.00000E+00    0.82992E-17    0.54617E-10    0.13342E-14    0.21098E-17
+  7482    0.69325E-15    0.61206E-18    0.00000E+00    0.82956E-17    0.54581E-10    0.13328E-14    0.21224E-17
+  7483    0.69289E-15    0.61030E-18    0.00000E+00    0.82920E-17    0.54544E-10    0.13314E-14    0.21345E-17
+  7484    0.69253E-15    0.60854E-18    0.00000E+00    0.82886E-17    0.54508E-10    0.13301E-14    0.21463E-17
+  7485    0.69218E-15    0.60679E-18    0.00000E+00    0.82852E-17    0.54472E-10    0.13289E-14    0.21576E-17
+  7486    0.69183E-15    0.60505E-18    0.00000E+00    0.82819E-17    0.54436E-10    0.13280E-14    0.21686E-17
+  7487    0.69147E-15    0.60332E-18    0.00000E+00    0.82786E-17    0.54400E-10    0.13272E-14    0.21792E-17
+  7488    0.69113E-15    0.60160E-18    0.00000E+00    0.82755E-17    0.54364E-10    0.13267E-14    0.21895E-17
+  7489    0.69077E-15    0.59989E-18    0.00000E+00    0.82724E-17    0.54328E-10    0.13263E-14    0.21995E-17
+  7490    0.69043E-15    0.59820E-18    0.00000E+00    0.82693E-17    0.54292E-10    0.13259E-14    0.22091E-17
+  7491    0.69007E-15    0.59650E-18    0.00000E+00    0.82664E-17    0.54256E-10    0.13256E-14    0.22185E-17
+  7492    0.68972E-15    0.59482E-18    0.00000E+00    0.82634E-17    0.54220E-10    0.13251E-14    0.22276E-17
+  7493    0.68937E-15    0.59314E-18    0.00000E+00    0.82606E-17    0.54184E-10    0.13245E-14    0.22365E-17
+  7494    0.68902E-15    0.59149E-18    0.00000E+00    0.82578E-17    0.54148E-10    0.13237E-14    0.22451E-17
+  7495    0.68867E-15    0.58982E-18    0.00000E+00    0.82550E-17    0.54112E-10    0.13228E-14    0.22535E-17
+  7496    0.68832E-15    0.58818E-18    0.00000E+00    0.82524E-17    0.54076E-10    0.13218E-14    0.22617E-17
+  7497    0.68797E-15    0.58655E-18    0.00000E+00    0.82497E-17    0.54040E-10    0.13207E-14    0.22696E-17
+  7498    0.68763E-15    0.58492E-18    0.00000E+00    0.82472E-17    0.54005E-10    0.13197E-14    0.22772E-17
+  7499    0.68728E-15    0.58331E-18    0.00000E+00    0.82447E-17    0.53969E-10    0.13189E-14    0.22847E-17
+  7500    0.68693E-15    0.58171E-18    0.00000E+00    0.82423E-17    0.53933E-10    0.13183E-14    0.22918E-17
+  7501    0.68659E-15    0.58011E-18    0.00000E+00    0.82400E-17    0.53897E-10    0.13179E-14    0.22987E-17
+  7502    0.68624E-15    0.57853E-18    0.00000E+00    0.82376E-17    0.53861E-10    0.13177E-14    0.23053E-17
+  7503    0.68589E-15    0.57695E-18    0.00000E+00    0.82355E-17    0.53826E-10    0.13176E-14    0.23115E-17
+  7504    0.68555E-15    0.57539E-18    0.00000E+00    0.82333E-17    0.53790E-10    0.13175E-14    0.23174E-17
+  7505    0.68520E-15    0.57383E-18    0.00000E+00    0.82312E-17    0.53754E-10    0.13174E-14    0.23229E-17
+  7506    0.68485E-15    0.57228E-18    0.00000E+00    0.82291E-17    0.53719E-10    0.13171E-14    0.23281E-17
+  7507    0.68451E-15    0.57075E-18    0.00000E+00    0.82271E-17    0.53683E-10    0.13166E-14    0.23328E-17
+  7508    0.68416E-15    0.56922E-18    0.00000E+00    0.82252E-17    0.53648E-10    0.13158E-14    0.23370E-17
+  7509    0.68381E-15    0.56771E-18    0.00000E+00    0.82232E-17    0.53612E-10    0.13148E-14    0.23408E-17
+  7510    0.68347E-15    0.56620E-18    0.00000E+00    0.82213E-17    0.53576E-10    0.13137E-14    0.23441E-17
+  7511    0.68312E-15    0.56471E-18    0.00000E+00    0.82196E-17    0.53541E-10    0.13124E-14    0.23469E-17
+  7512    0.68277E-15    0.56322E-18    0.00000E+00    0.82178E-17    0.53505E-10    0.13112E-14    0.23493E-17
+  7513    0.68243E-15    0.56175E-18    0.00000E+00    0.82161E-17    0.53470E-10    0.13101E-14    0.23511E-17
+  7514    0.68209E-15    0.56028E-18    0.00000E+00    0.82144E-17    0.53434E-10    0.13091E-14    0.23525E-17
+  7515    0.68174E-15    0.55883E-18    0.00000E+00    0.82128E-17    0.53399E-10    0.13084E-14    0.23533E-17
+  7516    0.68140E-15    0.55739E-18    0.00000E+00    0.82113E-17    0.53364E-10    0.13079E-14    0.23537E-17
+  7517    0.68105E-15    0.55595E-18    0.00000E+00    0.82098E-17    0.53328E-10    0.13074E-14    0.23536E-17
+  7518    0.68072E-15    0.55452E-18    0.00000E+00    0.82084E-17    0.53293E-10    0.13069E-14    0.23531E-17
+  7519    0.68037E-15    0.55311E-18    0.00000E+00    0.82070E-17    0.53257E-10    0.13064E-14    0.23523E-17
+  7520    0.68002E-15    0.55170E-18    0.00000E+00    0.82057E-17    0.53222E-10    0.13056E-14    0.23511E-17
+  7521    0.67968E-15    0.55030E-18    0.00000E+00    0.82043E-17    0.53187E-10    0.13047E-14    0.23496E-17
+  7522    0.67934E-15    0.54891E-18    0.00000E+00    0.82031E-17    0.53152E-10    0.13034E-14    0.23479E-17
+  7523    0.67899E-15    0.54754E-18    0.00000E+00    0.82018E-17    0.53116E-10    0.13019E-14    0.23459E-17
+  7524    0.67865E-15    0.54617E-18    0.00000E+00    0.82007E-17    0.53081E-10    0.13002E-14    0.23437E-17
+  7525    0.67831E-15    0.54482E-18    0.00000E+00    0.81995E-17    0.53046E-10    0.12984E-14    0.23412E-17
+  7526    0.67796E-15    0.54347E-18    0.00000E+00    0.81983E-17    0.53011E-10    0.12967E-14    0.23385E-17
+  7527    0.67762E-15    0.54213E-18    0.00000E+00    0.81972E-17    0.52975E-10    0.12951E-14    0.23355E-17
+  7528    0.67727E-15    0.54081E-18    0.00000E+00    0.81963E-17    0.52940E-10    0.12937E-14    0.23323E-17
+  7529    0.67693E-15    0.53950E-18    0.00000E+00    0.81953E-17    0.52905E-10    0.12926E-14    0.23288E-17
+  7530    0.67659E-15    0.53818E-18    0.00000E+00    0.81944E-17    0.52870E-10    0.12917E-14    0.23251E-17
+  7531    0.67625E-15    0.53689E-18    0.00000E+00    0.81934E-17    0.52835E-10    0.12909E-14    0.23211E-17
+  7532    0.67591E-15    0.53561E-18    0.00000E+00    0.81926E-17    0.52800E-10    0.12902E-14    0.23170E-17
+  7533    0.67556E-15    0.53433E-18    0.00000E+00    0.81918E-17    0.52765E-10    0.12895E-14    0.23125E-17
+  7534    0.67522E-15    0.53306E-18    0.00000E+00    0.81910E-17    0.52730E-10    0.12886E-14    0.23079E-17
+  7535    0.67488E-15    0.53181E-18    0.00000E+00    0.81903E-17    0.52695E-10    0.12876E-14    0.23030E-17
+  7536    0.67453E-15    0.53057E-18    0.00000E+00    0.81896E-17    0.52660E-10    0.12863E-14    0.22980E-17
+  7537    0.67419E-15    0.52932E-18    0.00000E+00    0.81889E-17    0.52625E-10    0.12848E-14    0.22926E-17
+  7538    0.67385E-15    0.52810E-18    0.00000E+00    0.81882E-17    0.52590E-10    0.12832E-14    0.22869E-17
+  7539    0.67350E-15    0.52689E-18    0.00000E+00    0.81875E-17    0.52555E-10    0.12817E-14    0.22809E-17
+  7540    0.67317E-15    0.52568E-18    0.00000E+00    0.81869E-17    0.52520E-10    0.12802E-14    0.22744E-17
+  7541    0.67282E-15    0.52448E-18    0.00000E+00    0.81863E-17    0.52486E-10    0.12789E-14    0.22675E-17
+  7542    0.67248E-15    0.52329E-18    0.00000E+00    0.81858E-17    0.52451E-10    0.12778E-14    0.22601E-17
+  7543    0.67214E-15    0.52211E-18    0.00000E+00    0.81854E-17    0.52416E-10    0.12770E-14    0.22521E-17
+  7544    0.67179E-15    0.52095E-18    0.00000E+00    0.81849E-17    0.52381E-10    0.12765E-14    0.22437E-17
+  7545    0.67146E-15    0.51979E-18    0.00000E+00    0.81845E-17    0.52346E-10    0.12762E-14    0.22347E-17
+  7546    0.67111E-15    0.51864E-18    0.00000E+00    0.81840E-17    0.52312E-10    0.12760E-14    0.22252E-17
+  7547    0.67078E-15    0.51750E-18    0.00000E+00    0.81837E-17    0.52277E-10    0.12758E-14    0.22154E-17
+  7548    0.67043E-15    0.51638E-18    0.00000E+00    0.81834E-17    0.52242E-10    0.12755E-14    0.22051E-17
+  7549    0.67008E-15    0.51526E-18    0.00000E+00    0.81830E-17    0.52207E-10    0.12750E-14    0.21945E-17
+  7550    0.66974E-15    0.51415E-18    0.00000E+00    0.81826E-17    0.52173E-10    0.12744E-14    0.21835E-17
+  7551    0.66939E-15    0.51305E-18    0.00000E+00    0.81824E-17    0.52138E-10    0.12735E-14    0.21722E-17
+  7552    0.66905E-15    0.51196E-18    0.00000E+00    0.81820E-17    0.52104E-10    0.12726E-14    0.21606E-17
+  7553    0.66870E-15    0.51088E-18    0.00000E+00    0.81818E-17    0.52069E-10    0.12717E-14    0.21487E-17
+  7554    0.66836E-15    0.50981E-18    0.00000E+00    0.81815E-17    0.52034E-10    0.12708E-14    0.21366E-17
+  7555    0.66801E-15    0.50875E-18    0.00000E+00    0.81812E-17    0.52000E-10    0.12700E-14    0.21243E-17
+  7556    0.66767E-15    0.50770E-18    0.00000E+00    0.81810E-17    0.51965E-10    0.12695E-14    0.21119E-17
+  7557    0.66732E-15    0.50666E-18    0.00000E+00    0.81809E-17    0.51931E-10    0.12692E-14    0.20992E-17
+  7558    0.66699E-15    0.50562E-18    0.00000E+00    0.81807E-17    0.51896E-10    0.12691E-14    0.20864E-17
+  7559    0.66664E-15    0.50459E-18    0.00000E+00    0.81806E-17    0.51862E-10    0.12692E-14    0.20735E-17
+  7560    0.66630E-15    0.50358E-18    0.00000E+00    0.81805E-17    0.51828E-10    0.12693E-14    0.20603E-17
+  7561    0.66596E-15    0.50257E-18    0.00000E+00    0.81804E-17    0.51793E-10    0.12693E-14    0.20470E-17
+  7562    0.66562E-15    0.50158E-18    0.00000E+00    0.81802E-17    0.51759E-10    0.12693E-14    0.20334E-17
+  7563    0.66527E-15    0.50060E-18    0.00000E+00    0.81802E-17    0.51724E-10    0.12690E-14    0.20197E-17
+  7564    0.66493E-15    0.49962E-18    0.00000E+00    0.81801E-17    0.51690E-10    0.12685E-14    0.20057E-17
+  7565    0.66458E-15    0.49865E-18    0.00000E+00    0.81800E-17    0.51656E-10    0.12677E-14    0.19915E-17
+  7566    0.66424E-15    0.49769E-18    0.00000E+00    0.81800E-17    0.51621E-10    0.12668E-14    0.19772E-17
+  7567    0.66389E-15    0.49673E-18    0.00000E+00    0.81798E-17    0.51587E-10    0.12658E-14    0.19627E-17
+  7568    0.66355E-15    0.49580E-18    0.00000E+00    0.81798E-17    0.51553E-10    0.12649E-14    0.19480E-17
+  7569    0.66320E-15    0.49487E-18    0.00000E+00    0.81798E-17    0.51519E-10    0.12639E-14    0.19333E-17
+  7570    0.66285E-15    0.49395E-18    0.00000E+00    0.81798E-17    0.51484E-10    0.12631E-14    0.19184E-17
+  7571    0.66251E-15    0.49303E-18    0.00000E+00    0.81798E-17    0.51450E-10    0.12625E-14    0.19034E-17
+  7572    0.66216E-15    0.49213E-18    0.00000E+00    0.81797E-17    0.51416E-10    0.12619E-14    0.18883E-17
+  7573    0.66182E-15    0.49123E-18    0.00000E+00    0.81798E-17    0.51382E-10    0.12615E-14    0.18729E-17
+  7574    0.66148E-15    0.49034E-18    0.00000E+00    0.81797E-17    0.51348E-10    0.12610E-14    0.18573E-17
+  7575    0.66113E-15    0.48946E-18    0.00000E+00    0.81798E-17    0.51314E-10    0.12605E-14    0.18412E-17
+  7576    0.66079E-15    0.48859E-18    0.00000E+00    0.81798E-17    0.51280E-10    0.12598E-14    0.18248E-17
+  7577    0.66044E-15    0.48773E-18    0.00000E+00    0.81799E-17    0.51246E-10    0.12589E-14    0.18079E-17
+  7578    0.66010E-15    0.48687E-18    0.00000E+00    0.81799E-17    0.51212E-10    0.12578E-14    0.17904E-17
+  7579    0.65975E-15    0.48604E-18    0.00000E+00    0.81799E-17    0.51177E-10    0.12565E-14    0.17725E-17
+  7580    0.65940E-15    0.48519E-18    0.00000E+00    0.81798E-17    0.51144E-10    0.12551E-14    0.17541E-17
+  7581    0.65905E-15    0.48437E-18    0.00000E+00    0.81798E-17    0.51110E-10    0.12536E-14    0.17354E-17
+  7582    0.65871E-15    0.48355E-18    0.00000E+00    0.81798E-17    0.51076E-10    0.12520E-14    0.17164E-17
+  7583    0.65835E-15    0.48274E-18    0.00000E+00    0.81799E-17    0.51042E-10    0.12505E-14    0.16972E-17
+  7584    0.65801E-15    0.48193E-18    0.00000E+00    0.81800E-17    0.51008E-10    0.12492E-14    0.16779E-17
+  7585    0.65766E-15    0.48114E-18    0.00000E+00    0.81799E-17    0.50974E-10    0.12480E-14    0.16584E-17
+  7586    0.65732E-15    0.48035E-18    0.00000E+00    0.81800E-17    0.50940E-10    0.12469E-14    0.16389E-17
+  7587    0.65696E-15    0.47958E-18    0.00000E+00    0.81800E-17    0.50906E-10    0.12459E-14    0.16193E-17
+  7588    0.65662E-15    0.47881E-18    0.00000E+00    0.81800E-17    0.50872E-10    0.12450E-14    0.15997E-17
+  7589    0.65628E-15    0.47804E-18    0.00000E+00    0.81801E-17    0.50839E-10    0.12441E-14    0.15799E-17
+  7590    0.65593E-15    0.47728E-18    0.00000E+00    0.81801E-17    0.50805E-10    0.12431E-14    0.15601E-17
+  7591    0.65558E-15    0.47653E-18    0.00000E+00    0.81801E-17    0.50771E-10    0.12420E-14    0.15402E-17
+  7592    0.65523E-15    0.47580E-18    0.00000E+00    0.81801E-17    0.50737E-10    0.12408E-14    0.15202E-17
+  7593    0.65488E-15    0.47505E-18    0.00000E+00    0.81801E-17    0.50704E-10    0.12395E-14    0.15001E-17
+  7594    0.65453E-15    0.47433E-18    0.00000E+00    0.81800E-17    0.50670E-10    0.12382E-14    0.14799E-17
+  7595    0.65418E-15    0.47361E-18    0.00000E+00    0.81800E-17    0.50636E-10    0.12368E-14    0.14596E-17
+  7596    0.65383E-15    0.47291E-18    0.00000E+00    0.81799E-17    0.50603E-10    0.12355E-14    0.14392E-17
+  7597    0.65348E-15    0.47220E-18    0.00000E+00    0.81798E-17    0.50569E-10    0.12343E-14    0.14187E-17
+  7598    0.65313E-15    0.47151E-18    0.00000E+00    0.81798E-17    0.50535E-10    0.12333E-14    0.13981E-17
+  7599    0.65278E-15    0.47082E-18    0.00000E+00    0.81797E-17    0.50502E-10    0.12324E-14    0.13775E-17
+  7600    0.65243E-15    0.47014E-18    0.00000E+00    0.81796E-17    0.50468E-10    0.12316E-14    0.13567E-17
+  7601    0.65208E-15    0.46947E-18    0.00000E+00    0.81795E-17    0.50435E-10    0.12310E-14    0.13359E-17
+  7602    0.65173E-15    0.46881E-18    0.00000E+00    0.81794E-17    0.50401E-10    0.12304E-14    0.13150E-17
+  7603    0.65137E-15    0.46814E-18    0.00000E+00    0.81792E-17    0.50368E-10    0.12299E-14    0.12941E-17
+  7604    0.65102E-15    0.46750E-18    0.00000E+00    0.81790E-17    0.50334E-10    0.12295E-14    0.12732E-17
+  7605    0.65067E-15    0.46685E-18    0.00000E+00    0.81789E-17    0.50301E-10    0.12290E-14    0.12523E-17
+  7606    0.65032E-15    0.46621E-18    0.00000E+00    0.81787E-17    0.50267E-10    0.12284E-14    0.12314E-17
+  7607    0.64997E-15    0.46558E-18    0.00000E+00    0.81785E-17    0.50234E-10    0.12279E-14    0.12105E-17
+  7608    0.64962E-15    0.46495E-18    0.00000E+00    0.81783E-17    0.50201E-10    0.12273E-14    0.11895E-17
+  7609    0.64927E-15    0.46433E-18    0.00000E+00    0.81781E-17    0.50167E-10    0.12267E-14    0.11683E-17
+  7610    0.64891E-15    0.46372E-18    0.00000E+00    0.81778E-17    0.50134E-10    0.12262E-14    0.11469E-17
+  7611    0.64856E-15    0.46311E-18    0.00000E+00    0.81776E-17    0.50101E-10    0.12257E-14    0.11251E-17
+  7612    0.64821E-15    0.46252E-18    0.00000E+00    0.81773E-17    0.50067E-10    0.12253E-14    0.11030E-17
+  7613    0.64785E-15    0.46192E-18    0.00000E+00    0.81770E-17    0.50034E-10    0.12250E-14    0.10805E-17
+  7614    0.64750E-15    0.46133E-18    0.00000E+00    0.81767E-17    0.50001E-10    0.12247E-14    0.10577E-17
+  7615    0.64714E-15    0.46075E-18    0.00000E+00    0.81764E-17    0.49967E-10    0.12245E-14    0.10345E-17
+  7616    0.64678E-15    0.46019E-18    0.00000E+00    0.81759E-17    0.49934E-10    0.12243E-14    0.10112E-17
+  7617    0.64644E-15    0.45961E-18    0.00000E+00    0.81755E-17    0.49901E-10    0.12241E-14    0.98782E-18
+  7618    0.64608E-15    0.45905E-18    0.00000E+00    0.81752E-17    0.49868E-10    0.12240E-14    0.96443E-18
+  7619    0.64573E-15    0.45850E-18    0.00000E+00    0.81747E-17    0.49835E-10    0.12238E-14    0.94112E-18
+  7620    0.64537E-15    0.45795E-18    0.00000E+00    0.81743E-17    0.49802E-10    0.12235E-14    0.91798E-18
+  7621    0.64501E-15    0.45740E-18    0.00000E+00    0.81738E-17    0.49769E-10    0.12232E-14    0.89499E-18
+  7622    0.64466E-15    0.45687E-18    0.00000E+00    0.81733E-17    0.49735E-10    0.12229E-14    0.87212E-18
+  7623    0.64430E-15    0.45633E-18    0.00000E+00    0.81727E-17    0.49702E-10    0.12225E-14    0.84935E-18
+  7624    0.64395E-15    0.45580E-18    0.00000E+00    0.81722E-17    0.49669E-10    0.12221E-14    0.82666E-18
+  7625    0.64359E-15    0.45528E-18    0.00000E+00    0.81717E-17    0.49636E-10    0.12217E-14    0.80401E-18
+  7626    0.64324E-15    0.45476E-18    0.00000E+00    0.81710E-17    0.49603E-10    0.12212E-14    0.78138E-18
+  7627    0.64288E-15    0.45426E-18    0.00000E+00    0.81704E-17    0.49570E-10    0.12206E-14    0.75874E-18
+  7628    0.64253E-15    0.45374E-18    0.00000E+00    0.81697E-17    0.49537E-10    0.12200E-14    0.73610E-18
+  7629    0.64217E-15    0.45324E-18    0.00000E+00    0.81691E-17    0.49504E-10    0.12194E-14    0.71347E-18
+  7630    0.64181E-15    0.45275E-18    0.00000E+00    0.81683E-17    0.49472E-10    0.12187E-14    0.69085E-18
+  7631    0.64145E-15    0.45225E-18    0.00000E+00    0.81675E-17    0.49439E-10    0.12181E-14    0.66824E-18
+  7632    0.64110E-15    0.45177E-18    0.00000E+00    0.81668E-17    0.49406E-10    0.12174E-14    0.64566E-18
+  7633    0.64073E-15    0.45129E-18    0.00000E+00    0.81660E-17    0.49373E-10    0.12166E-14    0.62311E-18
+  7634    0.64037E-15    0.45080E-18    0.00000E+00    0.81652E-17    0.49340E-10    0.12159E-14    0.60059E-18
+  7635    0.64002E-15    0.45033E-18    0.00000E+00    0.81643E-17    0.49307E-10    0.12152E-14    0.57811E-18
+  7636    0.63966E-15    0.44986E-18    0.00000E+00    0.81634E-17    0.49274E-10    0.12144E-14    0.55568E-18
+  7637    0.63930E-15    0.44941E-18    0.00000E+00    0.81625E-17    0.49242E-10    0.12135E-14    0.53330E-18
+  7638    0.63894E-15    0.44895E-18    0.00000E+00    0.81615E-17    0.49209E-10    0.12126E-14    0.51099E-18
+  7639    0.63858E-15    0.44850E-18    0.00000E+00    0.81606E-17    0.49176E-10    0.12116E-14    0.48874E-18
+  7640    0.63822E-15    0.44805E-18    0.00000E+00    0.81596E-17    0.49144E-10    0.12106E-14    0.46656E-18
+  7641    0.63786E-15    0.44760E-18    0.00000E+00    0.81585E-17    0.49111E-10    0.12094E-14    0.44445E-18
+  7642    0.63750E-15    0.44716E-18    0.00000E+00    0.81575E-17    0.49078E-10    0.12082E-14    0.42239E-18
+  7643    0.63713E-15    0.44672E-18    0.00000E+00    0.81563E-17    0.49046E-10    0.12069E-14    0.40034E-18
+  7644    0.63678E-15    0.44629E-18    0.00000E+00    0.81552E-17    0.49013E-10    0.12057E-14    0.37825E-18
+  7645    0.63641E-15    0.44586E-18    0.00000E+00    0.81540E-17    0.48980E-10    0.12044E-14    0.35611E-18
+  7646    0.63605E-15    0.44544E-18    0.00000E+00    0.81527E-17    0.48948E-10    0.12032E-14    0.33386E-18
+  7647    0.63570E-15    0.44501E-18    0.00000E+00    0.81515E-17    0.48915E-10    0.12021E-14    0.31148E-18
+  7648    0.63533E-15    0.44459E-18    0.00000E+00    0.81502E-17    0.48883E-10    0.12011E-14    0.28894E-18
+  7649    0.63497E-15    0.44418E-18    0.00000E+00    0.81489E-17    0.48850E-10    0.12001E-14    0.26630E-18
+  7650    0.63460E-15    0.44377E-18    0.00000E+00    0.81476E-17    0.48818E-10    0.11992E-14    0.24364E-18
+  7651    0.63425E-15    0.44336E-18    0.00000E+00    0.81462E-17    0.48785E-10    0.11983E-14    0.22102E-18
+  7652    0.63389E-15    0.44296E-18    0.00000E+00    0.81448E-17    0.48753E-10    0.11974E-14    0.19851E-18
+  7653    0.63352E-15    0.44256E-18    0.00000E+00    0.81434E-17    0.48720E-10    0.11965E-14    0.17619E-18
+  7654    0.63316E-15    0.44216E-18    0.00000E+00    0.81419E-17    0.48688E-10    0.11955E-14    0.15412E-18
+  7655    0.63280E-15    0.44176E-18    0.00000E+00    0.81404E-17    0.48656E-10    0.11944E-14    0.13237E-18
+  7656    0.63244E-15    0.44137E-18    0.00000E+00    0.81388E-17    0.48623E-10    0.11933E-14    0.11091E-18
+  7657    0.63207E-15    0.44098E-18    0.00000E+00    0.81372E-17    0.48591E-10    0.11922E-14    0.89701E-19
+  7658    0.63170E-15    0.44060E-18    0.00000E+00    0.81355E-17    0.48559E-10    0.11911E-14    0.68713E-19
+  7659    0.63134E-15    0.44021E-18    0.00000E+00    0.81339E-17    0.48526E-10    0.11900E-14    0.47907E-19
+  7660    0.63098E-15    0.43984E-18    0.00000E+00    0.81322E-17    0.48494E-10    0.11891E-14    0.27246E-19
+  7661    0.63061E-15    0.43946E-18    0.00000E+00    0.81304E-17    0.48462E-10    0.11884E-14    0.66945E-20
+  7662    0.63025E-15    0.43909E-18    0.00000E+00    0.81285E-17    0.48429E-10    0.11879E-14   -0.13778E-19
+  7663    0.62988E-15    0.43871E-18    0.00000E+00    0.81267E-17    0.48397E-10    0.11875E-14   -0.34169E-19
+  7664    0.62952E-15    0.43835E-18    0.00000E+00    0.81249E-17    0.48365E-10    0.11872E-14   -0.54472E-19
+  7665    0.62915E-15    0.43798E-18    0.00000E+00    0.81230E-17    0.48333E-10    0.11870E-14   -0.74676E-19
+  7666    0.62879E-15    0.43762E-18    0.00000E+00    0.81210E-17    0.48301E-10    0.11868E-14   -0.94775E-19
+  7667    0.62842E-15    0.43726E-18    0.00000E+00    0.81190E-17    0.48269E-10    0.11865E-14   -0.11476E-18
+  7668    0.62806E-15    0.43690E-18    0.00000E+00    0.81170E-17    0.48236E-10    0.11862E-14   -0.13462E-18
+  7669    0.62769E-15    0.43654E-18    0.00000E+00    0.81149E-17    0.48204E-10    0.11857E-14   -0.15435E-18
+  7670    0.62733E-15    0.43618E-18    0.00000E+00    0.81128E-17    0.48172E-10    0.11850E-14   -0.17396E-18
+  7671    0.62696E-15    0.43583E-18    0.00000E+00    0.81107E-17    0.48140E-10    0.11844E-14   -0.19343E-18
+  7672    0.62659E-15    0.43548E-18    0.00000E+00    0.81085E-17    0.48108E-10    0.11837E-14   -0.21278E-18
+  7673    0.62622E-15    0.43513E-18    0.00000E+00    0.81064E-17    0.48076E-10    0.11832E-14   -0.23200E-18
+  7674    0.62585E-15    0.43478E-18    0.00000E+00    0.81040E-17    0.48044E-10    0.11827E-14   -0.25111E-18
+  7675    0.62549E-15    0.43444E-18    0.00000E+00    0.81017E-17    0.48012E-10    0.11824E-14   -0.27009E-18
+  7676    0.62513E-15    0.43409E-18    0.00000E+00    0.80994E-17    0.47980E-10    0.11823E-14   -0.28895E-18
+  7677    0.62476E-15    0.43374E-18    0.00000E+00    0.80970E-17    0.47948E-10    0.11824E-14   -0.30770E-18
+  7678    0.62439E-15    0.43341E-18    0.00000E+00    0.80946E-17    0.47917E-10    0.11825E-14   -0.32633E-18
+  7679    0.62402E-15    0.43306E-18    0.00000E+00    0.80921E-17    0.47885E-10    0.11827E-14   -0.34485E-18
+  7680    0.62365E-15    0.43273E-18    0.00000E+00    0.80896E-17    0.47853E-10    0.11828E-14   -0.36325E-18
+  7681    0.62329E-15    0.43240E-18    0.00000E+00    0.80871E-17    0.47821E-10    0.11828E-14   -0.38154E-18
+  7682    0.62292E-15    0.43206E-18    0.00000E+00    0.80844E-17    0.47789E-10    0.11826E-14   -0.39973E-18
+  7683    0.62255E-15    0.43173E-18    0.00000E+00    0.80818E-17    0.47757E-10    0.11822E-14   -0.41779E-18
+  7684    0.62219E-15    0.43140E-18    0.00000E+00    0.80792E-17    0.47726E-10    0.11815E-14   -0.43572E-18
+  7685    0.62182E-15    0.43106E-18    0.00000E+00    0.80764E-17    0.47694E-10    0.11807E-14   -0.45346E-18
+  7686    0.62144E-15    0.43074E-18    0.00000E+00    0.80736E-17    0.47662E-10    0.11799E-14   -0.47099E-18
+  7687    0.62108E-15    0.43041E-18    0.00000E+00    0.80708E-17    0.47630E-10    0.11791E-14   -0.48826E-18
+  7688    0.62071E-15    0.43008E-18    0.00000E+00    0.80679E-17    0.47599E-10    0.11784E-14   -0.50524E-18
+  7689    0.62034E-15    0.42975E-18    0.00000E+00    0.80651E-17    0.47567E-10    0.11778E-14   -0.52190E-18
+  7690    0.61997E-15    0.42942E-18    0.00000E+00    0.80622E-17    0.47535E-10    0.11774E-14   -0.53820E-18
+  7691    0.61960E-15    0.42910E-18    0.00000E+00    0.80592E-17    0.47504E-10    0.11772E-14   -0.55418E-18
+  7692    0.61923E-15    0.42877E-18    0.00000E+00    0.80561E-17    0.47472E-10    0.11770E-14   -0.56986E-18
+  7693    0.61886E-15    0.42844E-18    0.00000E+00    0.80531E-17    0.47440E-10    0.11768E-14   -0.58529E-18
+  7694    0.61849E-15    0.42812E-18    0.00000E+00    0.80499E-17    0.47409E-10    0.11766E-14   -0.60048E-18
+  7695    0.61812E-15    0.42779E-18    0.00000E+00    0.80469E-17    0.47377E-10    0.11761E-14   -0.61549E-18
+  7696    0.61775E-15    0.42747E-18    0.00000E+00    0.80437E-17    0.47346E-10    0.11755E-14   -0.63033E-18
+  7697    0.61738E-15    0.42714E-18    0.00000E+00    0.80404E-17    0.47314E-10    0.11745E-14   -0.64505E-18
+  7698    0.61701E-15    0.42682E-18    0.00000E+00    0.80371E-17    0.47283E-10    0.11733E-14   -0.65963E-18
+  7699    0.61664E-15    0.42650E-18    0.00000E+00    0.80338E-17    0.47251E-10    0.11720E-14   -0.67407E-18
+  7700    0.61627E-15    0.42618E-18    0.00000E+00    0.80304E-17    0.47220E-10    0.11706E-14   -0.68835E-18
+  7701    0.61589E-15    0.42585E-18    0.00000E+00    0.80270E-17    0.47188E-10    0.11693E-14   -0.70246E-18
+  7702    0.61552E-15    0.42553E-18    0.00000E+00    0.80236E-17    0.47157E-10    0.11680E-14   -0.71640E-18
+  7703    0.61515E-15    0.42521E-18    0.00000E+00    0.80201E-17    0.47126E-10    0.11669E-14   -0.73015E-18
+  7704    0.61478E-15    0.42489E-18    0.00000E+00    0.80166E-17    0.47094E-10    0.11661E-14   -0.74371E-18
+  7705    0.61441E-15    0.42458E-18    0.00000E+00    0.80130E-17    0.47063E-10    0.11654E-14   -0.75708E-18
+  7706    0.61404E-15    0.42425E-18    0.00000E+00    0.80094E-17    0.47032E-10    0.11649E-14   -0.77026E-18
+  7707    0.61367E-15    0.42392E-18    0.00000E+00    0.80058E-17    0.47000E-10    0.11644E-14   -0.78328E-18
+  7708    0.61330E-15    0.42360E-18    0.00000E+00    0.80021E-17    0.46969E-10    0.11639E-14   -0.79613E-18
+  7709    0.61293E-15    0.42328E-18    0.00000E+00    0.79984E-17    0.46938E-10    0.11632E-14   -0.80883E-18
+  7710    0.61255E-15    0.42296E-18    0.00000E+00    0.79946E-17    0.46906E-10    0.11623E-14   -0.82139E-18
+  7711    0.61218E-15    0.42263E-18    0.00000E+00    0.79908E-17    0.46875E-10    0.11612E-14   -0.83380E-18
+  7712    0.61181E-15    0.42231E-18    0.00000E+00    0.79869E-17    0.46844E-10    0.11599E-14   -0.84605E-18
+  7713    0.61144E-15    0.42198E-18    0.00000E+00    0.79831E-17    0.46813E-10    0.11584E-14   -0.85812E-18
+  7714    0.61106E-15    0.42166E-18    0.00000E+00    0.79790E-17    0.46782E-10    0.11570E-14   -0.86999E-18
+  7715    0.61069E-15    0.42134E-18    0.00000E+00    0.79751E-17    0.46751E-10    0.11556E-14   -0.88163E-18
+  7716    0.61031E-15    0.42101E-18    0.00000E+00    0.79710E-17    0.46719E-10    0.11543E-14   -0.89302E-18
+  7717    0.60994E-15    0.42068E-18    0.00000E+00    0.79669E-17    0.46688E-10    0.11533E-14   -0.90414E-18
+  7718    0.60957E-15    0.42036E-18    0.00000E+00    0.79628E-17    0.46657E-10    0.11527E-14   -0.91497E-18
+  7719    0.60920E-15    0.42003E-18    0.00000E+00    0.79586E-17    0.46626E-10    0.11522E-14   -0.92550E-18
+  7720    0.60883E-15    0.41970E-18    0.00000E+00    0.79544E-17    0.46595E-10    0.11520E-14   -0.93573E-18
+  7721    0.60846E-15    0.41936E-18    0.00000E+00    0.79503E-17    0.46564E-10    0.11518E-14   -0.94564E-18
+  7722    0.60808E-15    0.41904E-18    0.00000E+00    0.79460E-17    0.46533E-10    0.11516E-14   -0.95525E-18
+  7723    0.60771E-15    0.41870E-18    0.00000E+00    0.79417E-17    0.46502E-10    0.11513E-14   -0.96454E-18
+  7724    0.60734E-15    0.41837E-18    0.00000E+00    0.79373E-17    0.46471E-10    0.11508E-14   -0.97351E-18
+  7725    0.60697E-15    0.41804E-18    0.00000E+00    0.79329E-17    0.46440E-10    0.11501E-14   -0.98215E-18
+  7726    0.60659E-15    0.41771E-18    0.00000E+00    0.79285E-17    0.46409E-10    0.11492E-14   -0.99050E-18
+  7727    0.60622E-15    0.41737E-18    0.00000E+00    0.79239E-17    0.46378E-10    0.11482E-14   -0.99856E-18
+  7728    0.60585E-15    0.41703E-18    0.00000E+00    0.79194E-17    0.46347E-10    0.11471E-14   -0.10064E-17
+  7729    0.60547E-15    0.41669E-18    0.00000E+00    0.79148E-17    0.46317E-10    0.11462E-14   -0.10139E-17
+  7730    0.60510E-15    0.41636E-18    0.00000E+00    0.79102E-17    0.46286E-10    0.11454E-14   -0.10213E-17
+  7731    0.60472E-15    0.41602E-18    0.00000E+00    0.79055E-17    0.46255E-10    0.11449E-14   -0.10285E-17
+  7732    0.60435E-15    0.41568E-18    0.00000E+00    0.79009E-17    0.46224E-10    0.11446E-14   -0.10355E-17
+  7733    0.60398E-15    0.41533E-18    0.00000E+00    0.78961E-17    0.46193E-10    0.11447E-14   -0.10424E-17
+  7734    0.60361E-15    0.41499E-18    0.00000E+00    0.78914E-17    0.46163E-10    0.11448E-14   -0.10491E-17
+  7735    0.60323E-15    0.41465E-18    0.00000E+00    0.78866E-17    0.46132E-10    0.11450E-14   -0.10556E-17
+  7736    0.60287E-15    0.41430E-18    0.00000E+00    0.78818E-17    0.46101E-10    0.11452E-14   -0.10619E-17
+  7737    0.60250E-15    0.41395E-18    0.00000E+00    0.78768E-17    0.46070E-10    0.11453E-14   -0.10680E-17
+  7738    0.60212E-15    0.41360E-18    0.00000E+00    0.78719E-17    0.46040E-10    0.11452E-14   -0.10739E-17
+  7739    0.60175E-15    0.41325E-18    0.00000E+00    0.78669E-17    0.46009E-10    0.11448E-14   -0.10796E-17
+  7740    0.60137E-15    0.41290E-18    0.00000E+00    0.78619E-17    0.45978E-10    0.11442E-14   -0.10851E-17
+  7741    0.60100E-15    0.41254E-18    0.00000E+00    0.78568E-17    0.45948E-10    0.11434E-14   -0.10904E-17
+  7742    0.60062E-15    0.41219E-18    0.00000E+00    0.78518E-17    0.45917E-10    0.11426E-14   -0.10956E-17
+  7743    0.60025E-15    0.41183E-18    0.00000E+00    0.78466E-17    0.45887E-10    0.11419E-14   -0.11006E-17
+  7744    0.59987E-15    0.41147E-18    0.00000E+00    0.78415E-17    0.45856E-10    0.11412E-14   -0.11054E-17
+  7745    0.59950E-15    0.41111E-18    0.00000E+00    0.78362E-17    0.45826E-10    0.11407E-14   -0.11102E-17
+  7746    0.59913E-15    0.41076E-18    0.00000E+00    0.78310E-17    0.45795E-10    0.11405E-14   -0.11147E-17
+  7747    0.59876E-15    0.41039E-18    0.00000E+00    0.78257E-17    0.45765E-10    0.11404E-14   -0.11192E-17
+  7748    0.59839E-15    0.41002E-18    0.00000E+00    0.78204E-17    0.45734E-10    0.11405E-14   -0.11234E-17
+  7749    0.59802E-15    0.40965E-18    0.00000E+00    0.78150E-17    0.45704E-10    0.11406E-14   -0.11275E-17
+  7750    0.59764E-15    0.40928E-18    0.00000E+00    0.78097E-17    0.45673E-10    0.11406E-14   -0.11312E-17
+  7751    0.59728E-15    0.40891E-18    0.00000E+00    0.78043E-17    0.45643E-10    0.11405E-14   -0.11347E-17
+  7752    0.59690E-15    0.40855E-18    0.00000E+00    0.77988E-17    0.45612E-10    0.11401E-14   -0.11378E-17
+  7753    0.59653E-15    0.40817E-18    0.00000E+00    0.77933E-17    0.45582E-10    0.11395E-14   -0.11405E-17
+  7754    0.59616E-15    0.40779E-18    0.00000E+00    0.77877E-17    0.45552E-10    0.11386E-14   -0.11429E-17
+  7755    0.59579E-15    0.40741E-18    0.00000E+00    0.77822E-17    0.45521E-10    0.11376E-14   -0.11450E-17
+  7756    0.59541E-15    0.40704E-18    0.00000E+00    0.77765E-17    0.45491E-10    0.11365E-14   -0.11467E-17
+  7757    0.59504E-15    0.40665E-18    0.00000E+00    0.77709E-17    0.45461E-10    0.11354E-14   -0.11481E-17
+  7758    0.59466E-15    0.40627E-18    0.00000E+00    0.77652E-17    0.45430E-10    0.11344E-14   -0.11492E-17
+  7759    0.59429E-15    0.40589E-18    0.00000E+00    0.77595E-17    0.45400E-10    0.11335E-14   -0.11500E-17
+  7760    0.59391E-15    0.40551E-18    0.00000E+00    0.77537E-17    0.45370E-10    0.11329E-14   -0.11506E-17
+  7761    0.59355E-15    0.40511E-18    0.00000E+00    0.77480E-17    0.45340E-10    0.11324E-14   -0.11509E-17
+  7762    0.59317E-15    0.40472E-18    0.00000E+00    0.77422E-17    0.45309E-10    0.11319E-14   -0.11510E-17
+  7763    0.59281E-15    0.40433E-18    0.00000E+00    0.77363E-17    0.45279E-10    0.11315E-14   -0.11508E-17
+  7764    0.59243E-15    0.40393E-18    0.00000E+00    0.77305E-17    0.45249E-10    0.11311E-14   -0.11505E-17
+  7765    0.59207E-15    0.40354E-18    0.00000E+00    0.77246E-17    0.45219E-10    0.11305E-14   -0.11500E-17
+  7766    0.59169E-15    0.40314E-18    0.00000E+00    0.77186E-17    0.45189E-10    0.11298E-14   -0.11493E-17
+  7767    0.59133E-15    0.40274E-18    0.00000E+00    0.77126E-17    0.45159E-10    0.11288E-14   -0.11485E-17
+  7768    0.59096E-15    0.40233E-18    0.00000E+00    0.77066E-17    0.45129E-10    0.11277E-14   -0.11475E-17
+  7769    0.59058E-15    0.40193E-18    0.00000E+00    0.77005E-17    0.45099E-10    0.11264E-14   -0.11464E-17
+  7770    0.59021E-15    0.40152E-18    0.00000E+00    0.76944E-17    0.45068E-10    0.11251E-14   -0.11452E-17
+  7771    0.58984E-15    0.40112E-18    0.00000E+00    0.76882E-17    0.45038E-10    0.11238E-14   -0.11437E-17
+  7772    0.58947E-15    0.40071E-18    0.00000E+00    0.76821E-17    0.45008E-10    0.11226E-14   -0.11422E-17
+  7773    0.58910E-15    0.40029E-18    0.00000E+00    0.76760E-17    0.44978E-10    0.11215E-14   -0.11404E-17
+  7774    0.58873E-15    0.39988E-18    0.00000E+00    0.76697E-17    0.44948E-10    0.11206E-14   -0.11385E-17
+  7775    0.58836E-15    0.39946E-18    0.00000E+00    0.76635E-17    0.44919E-10    0.11199E-14   -0.11365E-17
+  7776    0.58798E-15    0.39904E-18    0.00000E+00    0.76572E-17    0.44889E-10    0.11193E-14   -0.11342E-17
+  7777    0.58762E-15    0.39862E-18    0.00000E+00    0.76509E-17    0.44859E-10    0.11188E-14   -0.11319E-17
+  7778    0.58725E-15    0.39820E-18    0.00000E+00    0.76445E-17    0.44829E-10    0.11183E-14   -0.11294E-17
+  7779    0.58688E-15    0.39777E-18    0.00000E+00    0.76382E-17    0.44799E-10    0.11177E-14   -0.11268E-17
+  7780    0.58651E-15    0.39734E-18    0.00000E+00    0.76318E-17    0.44769E-10    0.11170E-14   -0.11242E-17
+  7781    0.58614E-15    0.39691E-18    0.00000E+00    0.76254E-17    0.44739E-10    0.11161E-14   -0.11214E-17
+  7782    0.58577E-15    0.39648E-18    0.00000E+00    0.76189E-17    0.44709E-10    0.11152E-14   -0.11184E-17
+  7783    0.58540E-15    0.39604E-18    0.00000E+00    0.76124E-17    0.44680E-10    0.11141E-14   -0.11154E-17
+  7784    0.58504E-15    0.39560E-18    0.00000E+00    0.76058E-17    0.44650E-10    0.11131E-14   -0.11121E-17
+  7785    0.58466E-15    0.39516E-18    0.00000E+00    0.75993E-17    0.44620E-10    0.11121E-14   -0.11085E-17
+  7786    0.58429E-15    0.39472E-18    0.00000E+00    0.75927E-17    0.44590E-10    0.11112E-14   -0.11047E-17
+  7787    0.58392E-15    0.39428E-18    0.00000E+00    0.75861E-17    0.44561E-10    0.11104E-14   -0.11006E-17
+  7788    0.58355E-15    0.39383E-18    0.00000E+00    0.75795E-17    0.44531E-10    0.11098E-14   -0.10961E-17
+  7789    0.58319E-15    0.39338E-18    0.00000E+00    0.75728E-17    0.44501E-10    0.11093E-14   -0.10914E-17
+  7790    0.58282E-15    0.39293E-18    0.00000E+00    0.75661E-17    0.44472E-10    0.11089E-14   -0.10863E-17
+  7791    0.58245E-15    0.39248E-18    0.00000E+00    0.75594E-17    0.44442E-10    0.11086E-14   -0.10809E-17
+  7792    0.58208E-15    0.39203E-18    0.00000E+00    0.75526E-17    0.44412E-10    0.11083E-14   -0.10753E-17
+  7793    0.58172E-15    0.39157E-18    0.00000E+00    0.75459E-17    0.44383E-10    0.11080E-14   -0.10695E-17
+  7794    0.58135E-15    0.39111E-18    0.00000E+00    0.75391E-17    0.44353E-10    0.11076E-14   -0.10634E-17
+  7795    0.58098E-15    0.39066E-18    0.00000E+00    0.75323E-17    0.44324E-10    0.11072E-14   -0.10572E-17
+  7796    0.58061E-15    0.39020E-18    0.00000E+00    0.75255E-17    0.44294E-10    0.11066E-14   -0.10509E-17
+  7797    0.58025E-15    0.38973E-18    0.00000E+00    0.75185E-17    0.44265E-10    0.11060E-14   -0.10443E-17
+  7798    0.57988E-15    0.38927E-18    0.00000E+00    0.75117E-17    0.44235E-10    0.11054E-14   -0.10377E-17
+  7799    0.57951E-15    0.38879E-18    0.00000E+00    0.75048E-17    0.44206E-10    0.11048E-14   -0.10309E-17
+  7800    0.57915E-15    0.38832E-18    0.00000E+00    0.74978E-17    0.44176E-10    0.11043E-14   -0.10240E-17
+  7801    0.57878E-15    0.38784E-18    0.00000E+00    0.74908E-17    0.44147E-10    0.11038E-14   -0.10170E-17
+  7802    0.57842E-15    0.38737E-18    0.00000E+00    0.74839E-17    0.44117E-10    0.11034E-14   -0.10100E-17
+  7803    0.57805E-15    0.38689E-18    0.00000E+00    0.74769E-17    0.44088E-10    0.11031E-14   -0.10028E-17
+  7804    0.57769E-15    0.38641E-18    0.00000E+00    0.74698E-17    0.44059E-10    0.11028E-14   -0.99558E-18
+  7805    0.57732E-15    0.38592E-18    0.00000E+00    0.74627E-17    0.44029E-10    0.11025E-14   -0.98825E-18
+  7806    0.57696E-15    0.38544E-18    0.00000E+00    0.74556E-17    0.44000E-10    0.11023E-14   -0.98081E-18
+  7807    0.57659E-15    0.38495E-18    0.00000E+00    0.74486E-17    0.43971E-10    0.11020E-14   -0.97328E-18
+  7808    0.57623E-15    0.38447E-18    0.00000E+00    0.74414E-17    0.43941E-10    0.11017E-14   -0.96563E-18
+  7809    0.57587E-15    0.38397E-18    0.00000E+00    0.74342E-17    0.43912E-10    0.11013E-14   -0.95787E-18
+  7810    0.57550E-15    0.38348E-18    0.00000E+00    0.74270E-17    0.43883E-10    0.11009E-14   -0.95001E-18
+  7811    0.57514E-15    0.38299E-18    0.00000E+00    0.74198E-17    0.43853E-10    0.11004E-14   -0.94206E-18
+  7812    0.57477E-15    0.38249E-18    0.00000E+00    0.74126E-17    0.43824E-10    0.10999E-14   -0.93401E-18
+  7813    0.57441E-15    0.38199E-18    0.00000E+00    0.74053E-17    0.43795E-10    0.10994E-14   -0.92589E-18
+  7814    0.57404E-15    0.38150E-18    0.00000E+00    0.73981E-17    0.43766E-10    0.10988E-14   -0.91769E-18
+  7815    0.57368E-15    0.38099E-18    0.00000E+00    0.73908E-17    0.43737E-10    0.10983E-14   -0.90942E-18
+  7816    0.57332E-15    0.38048E-18    0.00000E+00    0.73834E-17    0.43707E-10    0.10977E-14   -0.90110E-18
+  7817    0.57296E-15    0.37997E-18    0.00000E+00    0.73762E-17    0.43678E-10    0.10971E-14   -0.89269E-18
+  7818    0.57260E-15    0.37947E-18    0.00000E+00    0.73689E-17    0.43649E-10    0.10965E-14   -0.88418E-18
+  7819    0.57224E-15    0.37895E-18    0.00000E+00    0.73615E-17    0.43620E-10    0.10959E-14   -0.87554E-18
+  7820    0.57188E-15    0.37844E-18    0.00000E+00    0.73542E-17    0.43591E-10    0.10953E-14   -0.86676E-18
+  7821    0.57152E-15    0.37793E-18    0.00000E+00    0.73467E-17    0.43562E-10    0.10947E-14   -0.85780E-18
+  7822    0.57116E-15    0.37741E-18    0.00000E+00    0.73393E-17    0.43533E-10    0.10941E-14   -0.84864E-18
+  7823    0.57080E-15    0.37689E-18    0.00000E+00    0.73319E-17    0.43504E-10    0.10935E-14   -0.83928E-18
+  7824    0.57044E-15    0.37636E-18    0.00000E+00    0.73245E-17    0.43475E-10    0.10929E-14   -0.82971E-18
+  7825    0.57007E-15    0.37584E-18    0.00000E+00    0.73170E-17    0.43446E-10    0.10922E-14   -0.81996E-18
+  7826    0.56972E-15    0.37533E-18    0.00000E+00    0.73096E-17    0.43417E-10    0.10915E-14   -0.81005E-18
+  7827    0.56936E-15    0.37480E-18    0.00000E+00    0.73021E-17    0.43388E-10    0.10908E-14   -0.80000E-18
+  7828    0.56899E-15    0.37427E-18    0.00000E+00    0.72946E-17    0.43359E-10    0.10900E-14   -0.78983E-18
+  7829    0.56864E-15    0.37374E-18    0.00000E+00    0.72870E-17    0.43330E-10    0.10891E-14   -0.77956E-18
+  7830    0.56828E-15    0.37320E-18    0.00000E+00    0.72795E-17    0.43301E-10    0.10882E-14   -0.76920E-18
+  7831    0.56792E-15    0.37268E-18    0.00000E+00    0.72719E-17    0.43272E-10    0.10872E-14   -0.75876E-18
+  7832    0.56757E-15    0.37214E-18    0.00000E+00    0.72644E-17    0.43244E-10    0.10862E-14   -0.74826E-18
+  7833    0.56721E-15    0.37159E-18    0.00000E+00    0.72567E-17    0.43215E-10    0.10853E-14   -0.73771E-18
+  7834    0.56686E-15    0.37106E-18    0.00000E+00    0.72491E-17    0.43186E-10    0.10843E-14   -0.72710E-18
+  7835    0.56650E-15    0.37051E-18    0.00000E+00    0.72415E-17    0.43157E-10    0.10833E-14   -0.71646E-18
+  7836    0.56614E-15    0.36997E-18    0.00000E+00    0.72339E-17    0.43128E-10    0.10825E-14   -0.70579E-18
+  7837    0.56579E-15    0.36943E-18    0.00000E+00    0.72262E-17    0.43100E-10    0.10817E-14   -0.69510E-18
+  7838    0.56543E-15    0.36888E-18    0.00000E+00    0.72185E-17    0.43071E-10    0.10809E-14   -0.68438E-18
+  7839    0.56508E-15    0.36833E-18    0.00000E+00    0.72110E-17    0.43042E-10    0.10802E-14   -0.67364E-18
+  7840    0.56472E-15    0.36778E-18    0.00000E+00    0.72033E-17    0.43013E-10    0.10795E-14   -0.66287E-18
+  7841    0.56436E-15    0.36723E-18    0.00000E+00    0.71956E-17    0.42985E-10    0.10788E-14   -0.65208E-18
+  7842    0.56400E-15    0.36668E-18    0.00000E+00    0.71879E-17    0.42956E-10    0.10780E-14   -0.64124E-18
+  7843    0.56365E-15    0.36612E-18    0.00000E+00    0.71802E-17    0.42927E-10    0.10771E-14   -0.63038E-18
+  7844    0.56330E-15    0.36557E-18    0.00000E+00    0.71725E-17    0.42899E-10    0.10761E-14   -0.61947E-18
+  7845    0.56295E-15    0.36501E-18    0.00000E+00    0.71647E-17    0.42870E-10    0.10751E-14   -0.60853E-18
+  7846    0.56259E-15    0.36445E-18    0.00000E+00    0.71570E-17    0.42842E-10    0.10740E-14   -0.59757E-18
+  7847    0.56225E-15    0.36388E-18    0.00000E+00    0.71492E-17    0.42813E-10    0.10730E-14   -0.58658E-18
+  7848    0.56189E-15    0.36332E-18    0.00000E+00    0.71414E-17    0.42785E-10    0.10720E-14   -0.57558E-18
+  7849    0.56154E-15    0.36275E-18    0.00000E+00    0.71337E-17    0.42756E-10    0.10711E-14   -0.56457E-18
+  7850    0.56119E-15    0.36219E-18    0.00000E+00    0.71259E-17    0.42728E-10    0.10703E-14   -0.55355E-18
+  7851    0.56084E-15    0.36162E-18    0.00000E+00    0.71181E-17    0.42699E-10    0.10696E-14   -0.54253E-18
+  7852    0.56049E-15    0.36105E-18    0.00000E+00    0.71102E-17    0.42671E-10    0.10691E-14   -0.53150E-18
+  7853    0.56014E-15    0.36049E-18    0.00000E+00    0.71024E-17    0.42642E-10    0.10687E-14   -0.52045E-18
+  7854    0.55979E-15    0.35991E-18    0.00000E+00    0.70946E-17    0.42614E-10    0.10683E-14   -0.50938E-18
+  7855    0.55944E-15    0.35934E-18    0.00000E+00    0.70868E-17    0.42585E-10    0.10679E-14   -0.49828E-18
+  7856    0.55909E-15    0.35876E-18    0.00000E+00    0.70790E-17    0.42557E-10    0.10674E-14   -0.48714E-18
+  7857    0.55874E-15    0.35819E-18    0.00000E+00    0.70711E-17    0.42528E-10    0.10668E-14   -0.47594E-18
+  7858    0.55839E-15    0.35761E-18    0.00000E+00    0.70633E-17    0.42500E-10    0.10660E-14   -0.46469E-18
+  7859    0.55804E-15    0.35703E-18    0.00000E+00    0.70555E-17    0.42472E-10    0.10652E-14   -0.45339E-18
+  7860    0.55769E-15    0.35646E-18    0.00000E+00    0.70476E-17    0.42443E-10    0.10643E-14   -0.44205E-18
+  7861    0.55735E-15    0.35588E-18    0.00000E+00    0.70397E-17    0.42415E-10    0.10634E-14   -0.43067E-18
+  7862    0.55700E-15    0.35530E-18    0.00000E+00    0.70319E-17    0.42387E-10    0.10625E-14   -0.41925E-18
+  7863    0.55665E-15    0.35470E-18    0.00000E+00    0.70240E-17    0.42359E-10    0.10618E-14   -0.40781E-18
+  7864    0.55631E-15    0.35412E-18    0.00000E+00    0.70161E-17    0.42330E-10    0.10612E-14   -0.39635E-18
+  7865    0.55596E-15    0.35353E-18    0.00000E+00    0.70083E-17    0.42302E-10    0.10608E-14   -0.38487E-18
+  7866    0.55561E-15    0.35295E-18    0.00000E+00    0.70004E-17    0.42274E-10    0.10606E-14   -0.37339E-18
+  7867    0.55527E-15    0.35236E-18    0.00000E+00    0.69924E-17    0.42246E-10    0.10604E-14   -0.36192E-18
+  7868    0.55492E-15    0.35176E-18    0.00000E+00    0.69846E-17    0.42218E-10    0.10603E-14   -0.35046E-18
+  7869    0.55458E-15    0.35117E-18    0.00000E+00    0.69766E-17    0.42189E-10    0.10602E-14   -0.33902E-18
+  7870    0.55424E-15    0.35059E-18    0.00000E+00    0.69687E-17    0.42161E-10    0.10599E-14   -0.32761E-18
+  7871    0.55390E-15    0.34999E-18    0.00000E+00    0.69608E-17    0.42133E-10    0.10595E-14   -0.31624E-18
+  7872    0.55355E-15    0.34939E-18    0.00000E+00    0.69529E-17    0.42105E-10    0.10589E-14   -0.30491E-18
+  7873    0.55321E-15    0.34880E-18    0.00000E+00    0.69450E-17    0.42077E-10    0.10581E-14   -0.29364E-18
+  7874    0.55287E-15    0.34821E-18    0.00000E+00    0.69371E-17    0.42049E-10    0.10572E-14   -0.28241E-18
+  7875    0.55253E-15    0.34761E-18    0.00000E+00    0.69292E-17    0.42021E-10    0.10563E-14   -0.27123E-18
+  7876    0.55218E-15    0.34700E-18    0.00000E+00    0.69213E-17    0.41993E-10    0.10554E-14   -0.26009E-18
+  7877    0.55184E-15    0.34641E-18    0.00000E+00    0.69133E-17    0.41965E-10    0.10546E-14   -0.24900E-18
+  7878    0.55151E-15    0.34581E-18    0.00000E+00    0.69054E-17    0.41937E-10    0.10540E-14   -0.23795E-18
+  7879    0.55117E-15    0.34521E-18    0.00000E+00    0.68975E-17    0.41909E-10    0.10537E-14   -0.22695E-18
+  7880    0.55082E-15    0.34460E-18    0.00000E+00    0.68895E-17    0.41881E-10    0.10534E-14   -0.21600E-18
+  7881    0.55049E-15    0.34400E-18    0.00000E+00    0.68816E-17    0.41853E-10    0.10533E-14   -0.20509E-18
+  7882    0.55015E-15    0.34340E-18    0.00000E+00    0.68737E-17    0.41825E-10    0.10532E-14   -0.19422E-18
+  7883    0.54982E-15    0.34278E-18    0.00000E+00    0.68658E-17    0.41797E-10    0.10531E-14   -0.18340E-18
+  7884    0.54948E-15    0.34218E-18    0.00000E+00    0.68578E-17    0.41769E-10    0.10528E-14   -0.17264E-18
+  7885    0.54914E-15    0.34157E-18    0.00000E+00    0.68500E-17    0.41741E-10    0.10523E-14   -0.16191E-18
+  7886    0.54880E-15    0.34097E-18    0.00000E+00    0.68421E-17    0.41714E-10    0.10515E-14   -0.15124E-18
+  7887    0.54847E-15    0.34035E-18    0.00000E+00    0.68341E-17    0.41686E-10    0.10505E-14   -0.14062E-18
+  7888    0.54813E-15    0.33974E-18    0.00000E+00    0.68262E-17    0.41658E-10    0.10494E-14   -0.13006E-18
+  7889    0.54780E-15    0.33914E-18    0.00000E+00    0.68183E-17    0.41630E-10    0.10482E-14   -0.11956E-18
+  7890    0.54746E-15    0.33853E-18    0.00000E+00    0.68104E-17    0.41602E-10    0.10471E-14   -0.10912E-18
+  7891    0.54712E-15    0.33791E-18    0.00000E+00    0.68025E-17    0.41575E-10    0.10461E-14   -0.98754E-19
+  7892    0.54679E-15    0.33730E-18    0.00000E+00    0.67947E-17    0.41547E-10    0.10453E-14   -0.88461E-19
+  7893    0.54645E-15    0.33669E-18    0.00000E+00    0.67868E-17    0.41519E-10    0.10447E-14   -0.78244E-19
+  7894    0.54612E-15    0.33608E-18    0.00000E+00    0.67789E-17    0.41491E-10    0.10443E-14   -0.68103E-19
+  7895    0.54579E-15    0.33546E-18    0.00000E+00    0.67710E-17    0.41464E-10    0.10440E-14   -0.58034E-19
+  7896    0.54546E-15    0.33484E-18    0.00000E+00    0.67631E-17    0.41436E-10    0.10437E-14   -0.48036E-19
+  7897    0.54512E-15    0.33423E-18    0.00000E+00    0.67552E-17    0.41408E-10    0.10434E-14   -0.38106E-19
+  7898    0.54479E-15    0.33361E-18    0.00000E+00    0.67474E-17    0.41381E-10    0.10429E-14   -0.28242E-19
+  7899    0.54446E-15    0.33300E-18    0.00000E+00    0.67395E-17    0.41353E-10    0.10422E-14   -0.18440E-19
+  7900    0.54412E-15    0.33238E-18    0.00000E+00    0.67317E-17    0.41326E-10    0.10413E-14   -0.87001E-20
+  7901    0.54379E-15    0.33176E-18    0.00000E+00    0.67237E-17    0.41298E-10    0.10400E-14    0.97251E-21
+  7902    0.54346E-15    0.33115E-18    0.00000E+00    0.67159E-17    0.41270E-10    0.10387E-14    0.10571E-19
+  7903    0.54313E-15    0.33053E-18    0.00000E+00    0.67080E-17    0.41243E-10    0.10373E-14    0.20090E-19
+  7904    0.54280E-15    0.32991E-18    0.00000E+00    0.67002E-17    0.41215E-10    0.10360E-14    0.29521E-19
+  7905    0.54248E-15    0.32929E-18    0.00000E+00    0.66923E-17    0.41188E-10    0.10347E-14    0.38859E-19
+  7906    0.54215E-15    0.32867E-18    0.00000E+00    0.66845E-17    0.41160E-10    0.10337E-14    0.48097E-19
+  7907    0.54182E-15    0.32806E-18    0.00000E+00    0.66767E-17    0.41133E-10    0.10330E-14    0.57229E-19
+  7908    0.54150E-15    0.32743E-18    0.00000E+00    0.66689E-17    0.41106E-10    0.10325E-14    0.66256E-19
+  7909    0.54117E-15    0.32681E-18    0.00000E+00    0.66611E-17    0.41078E-10    0.10322E-14    0.75180E-19
+  7910    0.54085E-15    0.32619E-18    0.00000E+00    0.66534E-17    0.41051E-10    0.10318E-14    0.84001E-19
+  7911    0.54052E-15    0.32557E-18    0.00000E+00    0.66456E-17    0.41023E-10    0.10315E-14    0.92723E-19
+  7912    0.54020E-15    0.32494E-18    0.00000E+00    0.66377E-17    0.40996E-10    0.10310E-14    0.10135E-18
+  7913    0.53987E-15    0.32432E-18    0.00000E+00    0.66300E-17    0.40969E-10    0.10303E-14    0.10987E-18
+  7914    0.53955E-15    0.32370E-18    0.00000E+00    0.66223E-17    0.40941E-10    0.10293E-14    0.11830E-18
+  7915    0.53922E-15    0.32307E-18    0.00000E+00    0.66145E-17    0.40914E-10    0.10281E-14    0.12663E-18
+  7916    0.53890E-15    0.32245E-18    0.00000E+00    0.66067E-17    0.40887E-10    0.10268E-14    0.13487E-18
+  7917    0.53858E-15    0.32183E-18    0.00000E+00    0.65990E-17    0.40859E-10    0.10254E-14    0.14301E-18
+  7918    0.53825E-15    0.32120E-18    0.00000E+00    0.65913E-17    0.40832E-10    0.10241E-14    0.15106E-18
+  7919    0.53793E-15    0.32058E-18    0.00000E+00    0.65836E-17    0.40805E-10    0.10230E-14    0.15901E-18
+  7920    0.53761E-15    0.31996E-18    0.00000E+00    0.65759E-17    0.40778E-10    0.10220E-14    0.16686E-18
+  7921    0.53729E-15    0.31934E-18    0.00000E+00    0.65682E-17    0.40750E-10    0.10214E-14    0.17461E-18
+  7922    0.53697E-15    0.31872E-18    0.00000E+00    0.65605E-17    0.40723E-10    0.10210E-14    0.18226E-18
+  7923    0.53665E-15    0.31810E-18    0.00000E+00    0.65528E-17    0.40696E-10    0.10208E-14    0.18979E-18
+  7924    0.53633E-15    0.31748E-18    0.00000E+00    0.65452E-17    0.40669E-10    0.10206E-14    0.19720E-18
+  7925    0.53602E-15    0.31684E-18    0.00000E+00    0.65375E-17    0.40642E-10    0.10204E-14    0.20448E-18
+  7926    0.53570E-15    0.31622E-18    0.00000E+00    0.65300E-17    0.40615E-10    0.10201E-14    0.21162E-18
+  7927    0.53538E-15    0.31560E-18    0.00000E+00    0.65223E-17    0.40587E-10    0.10196E-14    0.21862E-18
+  7928    0.53506E-15    0.31497E-18    0.00000E+00    0.65148E-17    0.40560E-10    0.10188E-14    0.22547E-18
+  7929    0.53474E-15    0.31435E-18    0.00000E+00    0.65071E-17    0.40533E-10    0.10178E-14    0.23216E-18
+  7930    0.53442E-15    0.31372E-18    0.00000E+00    0.64995E-17    0.40506E-10    0.10167E-14    0.23871E-18
+  7931    0.53410E-15    0.31311E-18    0.00000E+00    0.64920E-17    0.40479E-10    0.10155E-14    0.24511E-18
+  7932    0.53379E-15    0.31248E-18    0.00000E+00    0.64843E-17    0.40452E-10    0.10144E-14    0.25137E-18
+  7933    0.53348E-15    0.31186E-18    0.00000E+00    0.64768E-17    0.40425E-10    0.10134E-14    0.25749E-18
+  7934    0.53316E-15    0.31123E-18    0.00000E+00    0.64693E-17    0.40398E-10    0.10127E-14    0.26348E-18
+  7935    0.53285E-15    0.31061E-18    0.00000E+00    0.64618E-17    0.40371E-10    0.10122E-14    0.26934E-18
+  7936    0.53254E-15    0.30998E-18    0.00000E+00    0.64543E-17    0.40344E-10    0.10120E-14    0.27506E-18
+  7937    0.53222E-15    0.30936E-18    0.00000E+00    0.64468E-17    0.40317E-10    0.10119E-14    0.28066E-18
+  7938    0.53191E-15    0.30875E-18    0.00000E+00    0.64394E-17    0.40290E-10    0.10118E-14    0.28613E-18
+  7939    0.53160E-15    0.30812E-18    0.00000E+00    0.64319E-17    0.40264E-10    0.10117E-14    0.29147E-18
+  7940    0.53129E-15    0.30750E-18    0.00000E+00    0.64245E-17    0.40237E-10    0.10115E-14    0.29669E-18
+  7941    0.53098E-15    0.30688E-18    0.00000E+00    0.64170E-17    0.40210E-10    0.10111E-14    0.30179E-18
+  7942    0.53067E-15    0.30626E-18    0.00000E+00    0.64096E-17    0.40183E-10    0.10105E-14    0.30676E-18
+  7943    0.53036E-15    0.30564E-18    0.00000E+00    0.64023E-17    0.40156E-10    0.10096E-14    0.31162E-18
+  7944    0.53006E-15    0.30501E-18    0.00000E+00    0.63949E-17    0.40129E-10    0.10086E-14    0.31635E-18
+  7945    0.52975E-15    0.30440E-18    0.00000E+00    0.63875E-17    0.40103E-10    0.10076E-14    0.32096E-18
+  7946    0.52944E-15    0.30377E-18    0.00000E+00    0.63802E-17    0.40076E-10    0.10066E-14    0.32545E-18
+  7947    0.52913E-15    0.30315E-18    0.00000E+00    0.63728E-17    0.40049E-10    0.10057E-14    0.32982E-18
+  7948    0.52882E-15    0.30254E-18    0.00000E+00    0.63655E-17    0.40022E-10    0.10050E-14    0.33407E-18
+  7949    0.52851E-15    0.30191E-18    0.00000E+00    0.63582E-17    0.39996E-10    0.10045E-14    0.33819E-18
+  7950    0.52820E-15    0.30130E-18    0.00000E+00    0.63509E-17    0.39969E-10    0.10042E-14    0.34220E-18
+  7951    0.52789E-15    0.30068E-18    0.00000E+00    0.63436E-17    0.39942E-10    0.10041E-14    0.34607E-18
+  7952    0.52759E-15    0.30007E-18    0.00000E+00    0.63364E-17    0.39916E-10    0.10039E-14    0.34982E-18
+  7953    0.52729E-15    0.29945E-18    0.00000E+00    0.63292E-17    0.39889E-10    0.10038E-14    0.35344E-18
+  7954    0.52698E-15    0.29882E-18    0.00000E+00    0.63219E-17    0.39862E-10    0.10035E-14    0.35692E-18
+  7955    0.52668E-15    0.29821E-18    0.00000E+00    0.63148E-17    0.39836E-10    0.10030E-14    0.36027E-18
+  7956    0.52637E-15    0.29759E-18    0.00000E+00    0.63076E-17    0.39809E-10    0.10023E-14    0.36348E-18
+  7957    0.52607E-15    0.29698E-18    0.00000E+00    0.63005E-17    0.39783E-10    0.10015E-14    0.36654E-18
+  7958    0.52576E-15    0.29637E-18    0.00000E+00    0.62933E-17    0.39756E-10    0.10004E-14    0.36947E-18
+  7959    0.52547E-15    0.29575E-18    0.00000E+00    0.62862E-17    0.39729E-10    0.99937E-15    0.37225E-18
+  7960    0.52516E-15    0.29514E-18    0.00000E+00    0.62791E-17    0.39703E-10    0.99832E-15    0.37488E-18
+  7961    0.52486E-15    0.29453E-18    0.00000E+00    0.62720E-17    0.39676E-10    0.99735E-15    0.37737E-18
+  7962    0.52456E-15    0.29392E-18    0.00000E+00    0.62649E-17    0.39650E-10    0.99652E-15    0.37970E-18
+  7963    0.52426E-15    0.29330E-18    0.00000E+00    0.62579E-17    0.39623E-10    0.99590E-15    0.38188E-18
+  7964    0.52396E-15    0.29269E-18    0.00000E+00    0.62508E-17    0.39597E-10    0.99543E-15    0.38391E-18
+  7965    0.52366E-15    0.29209E-18    0.00000E+00    0.62438E-17    0.39571E-10    0.99505E-15    0.38578E-18
+  7966    0.52336E-15    0.29147E-18    0.00000E+00    0.62368E-17    0.39544E-10    0.99471E-15    0.38749E-18
+  7967    0.52306E-15    0.29087E-18    0.00000E+00    0.62298E-17    0.39518E-10    0.99434E-15    0.38903E-18
+  7968    0.52276E-15    0.29027E-18    0.00000E+00    0.62229E-17    0.39491E-10    0.99388E-15    0.39041E-18
+  7969    0.52246E-15    0.28965E-18    0.00000E+00    0.62160E-17    0.39465E-10    0.99327E-15    0.39162E-18
+  7970    0.52217E-15    0.28905E-18    0.00000E+00    0.62091E-17    0.39439E-10    0.99247E-15    0.39266E-18
+  7971    0.52188E-15    0.28845E-18    0.00000E+00    0.62022E-17    0.39412E-10    0.99150E-15    0.39354E-18
+  7972    0.52158E-15    0.28784E-18    0.00000E+00    0.61953E-17    0.39386E-10    0.99044E-15    0.39426E-18
+  7973    0.52128E-15    0.28723E-18    0.00000E+00    0.61885E-17    0.39360E-10    0.98932E-15    0.39484E-18
+  7974    0.52098E-15    0.28663E-18    0.00000E+00    0.61817E-17    0.39333E-10    0.98821E-15    0.39528E-18
+  7975    0.52068E-15    0.28603E-18    0.00000E+00    0.61748E-17    0.39307E-10    0.98715E-15    0.39559E-18
+  7976    0.52039E-15    0.28542E-18    0.00000E+00    0.61681E-17    0.39281E-10    0.98620E-15    0.39579E-18
+  7977    0.52010E-15    0.28483E-18    0.00000E+00    0.61613E-17    0.39255E-10    0.98539E-15    0.39588E-18
+  7978    0.51980E-15    0.28423E-18    0.00000E+00    0.61545E-17    0.39228E-10    0.98472E-15    0.39585E-18
+  7979    0.51951E-15    0.28363E-18    0.00000E+00    0.61479E-17    0.39202E-10    0.98412E-15    0.39571E-18
+  7980    0.51921E-15    0.28302E-18    0.00000E+00    0.61411E-17    0.39176E-10    0.98358E-15    0.39545E-18
+  7981    0.51893E-15    0.28243E-18    0.00000E+00    0.61345E-17    0.39150E-10    0.98304E-15    0.39506E-18
+  7982    0.51864E-15    0.28183E-18    0.00000E+00    0.61278E-17    0.39124E-10    0.98247E-15    0.39455E-18
+  7983    0.51835E-15    0.28124E-18    0.00000E+00    0.61213E-17    0.39098E-10    0.98182E-15    0.39390E-18
+  7984    0.51806E-15    0.28064E-18    0.00000E+00    0.61146E-17    0.39071E-10    0.98108E-15    0.39311E-18
+  7985    0.51776E-15    0.28005E-18    0.00000E+00    0.61081E-17    0.39045E-10    0.98024E-15    0.39220E-18
+  7986    0.51748E-15    0.27946E-18    0.00000E+00    0.61015E-17    0.39019E-10    0.97933E-15    0.39116E-18
+  7987    0.51719E-15    0.27887E-18    0.00000E+00    0.60950E-17    0.38993E-10    0.97835E-15    0.39000E-18
+  7988    0.51690E-15    0.27828E-18    0.00000E+00    0.60884E-17    0.38967E-10    0.97733E-15    0.38873E-18
+  7989    0.51661E-15    0.27769E-18    0.00000E+00    0.60820E-17    0.38941E-10    0.97629E-15    0.38736E-18
+  7990    0.51632E-15    0.27710E-18    0.00000E+00    0.60755E-17    0.38915E-10    0.97524E-15    0.38589E-18
+  7991    0.51604E-15    0.27651E-18    0.00000E+00    0.60691E-17    0.38889E-10    0.97420E-15    0.38432E-18
+  7992    0.51575E-15    0.27593E-18    0.00000E+00    0.60627E-17    0.38863E-10    0.97321E-15    0.38264E-18
+  7993    0.51546E-15    0.27534E-18    0.00000E+00    0.60563E-17    0.38837E-10    0.97234E-15    0.38082E-18
+  7994    0.51517E-15    0.27475E-18    0.00000E+00    0.60499E-17    0.38811E-10    0.97161E-15    0.37883E-18
+  7995    0.51488E-15    0.27417E-18    0.00000E+00    0.60435E-17    0.38785E-10    0.97109E-15    0.37666E-18
+  7996    0.51461E-15    0.27359E-18    0.00000E+00    0.60372E-17    0.38759E-10    0.97082E-15    0.37428E-18
+  7997    0.51432E-15    0.27301E-18    0.00000E+00    0.60309E-17    0.38734E-10    0.97085E-15    0.37167E-18
+  7998    0.51403E-15    0.27244E-18    0.00000E+00    0.60246E-17    0.38708E-10    0.97121E-15    0.36881E-18
+  7999    0.51375E-15    0.27186E-18    0.00000E+00    0.60184E-17    0.38682E-10    0.97180E-15    0.36578E-18
+  8000    0.51347E-15    0.27128E-18    0.00000E+00    0.60121E-17    0.38656E-10    0.97250E-15    0.36267E-18
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..617e673
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,87 @@
+#CAMB Makefile
+
+#Set FISHER=Y to compile bispectrum fisher matrix code
+FISHER=
+
+#Edit for your compiler
+#Note there are many old ifort versions, some of which behave oddly
+
+
+#Intel , -openmp toggles mutli-processor:
+#note version 10.0 gives wrong result for lensed when compiled with -openmp [fixed in 10.1]
+F90C     = gfortran-5  
+FFLAGS= -O3 -g -fPIC -I. -std=gnu -ffree-line-length-none 
+#FFLAGS = -O2 #3 -ffree-form -x f95-cpp-input
+## This is flag is passed to the Fortran compiler allowing it to link C++ if required (not usually):
+#F90CRLINK = -cxxlib
+#ifneq ($(FISHER),)
+FFLAGS += # -mkl
+#endif
+
+#Gfortran compiler:
+#The options here work in v4.5, delete from RHS in earlier versions (15% slower)
+#if pre v4.3 add -D__GFORTRAN__
+#With v4.6+ try -Ofast -march=native -fopenmp
+#On my machine v4.5 is about 20% slower than ifort
+#F90C     = gfortran -ffast-math
+##FFLAGS =  -O2  
+#-ffast-math 
+
+
+#Old Intel ifc, add -openmp for multi-processor (some have bugs):
+#F90C     = ifc
+#FFLAGS = -O2 -Vaxlib -ip -W0 -WB -quiet -fpp2
+#some systems can can also add e.g. -tpp7 -xW
+
+#G95 compiler
+#F90C   = g95
+#FFLAGS = -O2
+
+#SGI, -mp toggles multi-processor. Use -O2 if -Ofast gives problems.
+#F90C     = f90
+#FFLAGS  = -Ofast -mp
+
+#Digital/Compaq fortran, -omp toggles multi-processor
+#F90C    = f90
+#FFLAGS  = -omp -O4 -arch host -math_library fast -tune host -fpe1
+
+#Absoft ProFortran, single processor:
+#F90C     = f95
+#FFLAGS = -O2 -cpu:athlon -s -lU77 -w -YEXT_NAMES="LCS" -YEXT_SFX="_"
+
+#NAGF95, single processor:
+#F90C     = f95
+#FFLAGS = -DNAGF95 -O3
+
+#PGF90
+#F90C = pgf90
+#FFLAGS = -O2 -DESCAPEBACKSLASH -Mpreprocess
+
+#Sun V880
+#F90C = mpf90
+#FFLAGS =  -O4 -openmp -ftrap=%none -dalign -DMPI
+
+#Sun parallel enterprise:
+#F90C     = f95
+#FFLAGS =  -O2 -xarch=native64 -openmp -ftrap=%none
+#try removing -openmp if get bus errors. -03, -04 etc are dodgy.
+
+#IBM XL Fortran, multi-processor (run gmake)
+#F90C     = xlf90_r
+#FFLAGS  = -DESCAPEBACKSLASH -DIBMXL -qsmp=omp -qsuffix=f=f90:cpp=F90 -O3 -qstrict -qarch=pwr3 -qtune=pwr3
+
+#Settings for building camb_fits
+#Location of FITSIO and name of library
+#FITSDIR       ?= /home/cpac/cpac-tools/lib
+#FITSLIB       = cfitsio
+#Location of HEALPIX for building camb_fits
+#HEALPIXDIR    ?= /home/cpac/cpac-tools/healpix
+
+#ifneq ($(FISHER),)
+#FFLAGS += -DFISHER
+#EXTCAMBFILES = Matrix_utils.o
+#else
+#EXTCAMBFILES =
+#endif
+
+include ./Makefile_main
diff --git a/MakefileCosmosis b/MakefileCosmosis
new file mode 100644
index 0000000..b7c1615
--- /dev/null
+++ b/MakefileCosmosis
@@ -0,0 +1,16 @@
+include ${COSMOSIS_SRC_DIR}/config/compilers.mk
+
+USER_FFLAGS=-I.
+
+FISHER=
+F90C     = $(FC) 
+FITSLIB       = cfitsio
+
+ifneq ($(FISHER),)
+FFLAGS += -DFISHER
+EXTCAMBFILES = Matrix_utils.o
+else
+EXTCAMBFILES =
+endif
+
+include ./Makefile_main
diff --git a/Makefile_main b/Makefile_main
new file mode 100644
index 0000000..b0481ff
--- /dev/null
+++ b/Makefile_main
@@ -0,0 +1,106 @@
+#Files containing evolution equations initial power spectrum module
+EQUATIONS     ?= equations_ppf
+POWERSPECTRUM ?= power_tilt
+REIONIZATION ?= reionization
+RECOMBINATION ?= recfast_axion
+
+
+
+BISPECTRUM ?= SeparableBispectrum
+
+#Module doing non-linear scaling
+NONLINEAR     ?= halofit_ppf
+
+#Driver program
+DRIVER        ?= inidriver_axion.F90
+#DRIVER       ?= sigma8.f90
+#DRIVER       ?= tester.f90
+
+
+CAMBLIB       = libcamb_$(RECOMBINATION).a
+
+#Shouldn't need to change anything else...
+
+F90FLAGS      = $(FFLAGS) 
+
+
+#-L$(MKLROOT)/lib/intel64 -lmkl_blas95_ilp64  -lmkl_lapack95_ilp64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_core -lmkl_intel_thread -lmkl_blacs_ilp64 -lmkl_blacs_intelmpi_ilp64 -lmkl_vml_mc 
+
+#-lpthread -lm
+# -lmkl_blas95_ilp64  -lmkl_blas95_ilp64 -lmkl_lapack95_ilp64  -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_core  -lmkl_vml_mc -lmkl_intel_thread 
+# -L$(MKLROOT)/lib/intel64/libmkl_blas95_ilp64 -L$(MKLROOT)/lib/intel64/libmkl_lapack95_ilp64 -L$(MKLROOT)/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_core -lmkl_intel_thread -lmkl_blacs_intelmpi_ilp64 -L$(MKLROOT)/lib/intel64/libmkl_mc  
+HEALPIXLD     = -L$(HEALPIXDIR)/lib -lhealpix -L$(FITSDIR) -l$(FITSLIB)
+
+CAMBOBJ       = constants.o utils.o $(EXTCAMBFILES) subroutines.o inifile.o $(POWERSPECTRUM).o $(RECOMBINATION).o \
+	$(REIONIZATION).o modules.o bessels.o $(EQUATIONS).o $(NONLINEAR).o lensing.o $(BISPECTRUM).o cmbmain.o camb.o axion_background.o
+
+#F90CRLINK ?= -lstdc++
+
+## CosmoRec
+ifeq ($(RECOMBINATION),cosmorec)
+COSMOREC_PATH ?=../CosmoRec/
+GSL_LINK ?=-lgsl -lgslcblas
+camb: libCosmoRec.a
+$(CAMBLIB): libCosmoRec.a
+F90CRLINK += -L$(COSMOREC_PATH) -lCosmoRec $(GSL_LINK)
+endif
+
+
+ifeq ($(RECOMBINATION),hyrec)
+HYREC_PATH ?= ../HyRec/
+camb: libhyrec.a
+$(CAMBLIB): libhyrec.a
+F90CRLINK += -L$(HYREC_PATH) -lhyrec
+endif
+
+
+default: camb
+
+all: camb $(CAMBLIB)
+
+
+subroutines.o: constants.o utils.o
+$(POWERSPECTRUM).o: subroutines.o  inifile.o
+$(RECOMBINATION).o: subroutines.o inifile.o
+$(REIONIZATION).o: constants.o inifile.o
+modules.o: $(REIONIZATION).o $(POWERSPECTRUM).o $(RECOMBINATION).o
+bessels.o: modules.o
+$(EQUATIONS).o: bessels.o
+$(NONLINEAR).o:  modules.o
+lensing.o: bessels.o
+$(BISPECTRUM).o: lensing.o modules.o
+cmbmain.o: lensing.o $(NONLINEAR).o $(EQUATIONS).o $(BISPECTRUM).o
+camb.o: cmbmain.o
+Matrix_utils.o: utils.o
+camb: $(CAMBOBJ) $(DRIVER)
+	$(F90C) $(F90FLAGS) $(CAMBOBJ) $(DRIVER) $(F90CRLINK) -o $@
+
+$(CAMBLIB): $(CAMBOBJ)
+	ar -r $@ $(CAMBOBJ)
+
+camb_fits: writefits.f90 $(CAMBOBJ) $(DRIVER)
+	$(F90C) $(F90FLAGS) -I$(HEALPIXDIR)/include $(CAMBOBJ) writefits.f90 $(DRIVER) $(HEALPIXLD) -DWRITE_FITS -o $@
+
+%.o: %.f90
+	$(F90C) $(F90FLAGS) -c $*.f90
+
+%.o: %.F90
+	$(F90C) $(F90FLAGS) -c $*.F90
+
+
+clean:
+	-rm -f *.o *.a *.d core *.mod
+
+
+## CosmoRec make parts
+cleanCR:
+	cd $(COSMOREC_PATH); make tidy;
+
+libCosmoRec.a:
+	cd $(COSMOREC_PATH); make lib;
+
+
+libhyrec.a:
+	cd $(HYREC_PATH); make libhyrec.a;
+
+
diff --git a/Makefile~ b/Makefile~
new file mode 100644
index 0000000..ca4ae9d
--- /dev/null
+++ b/Makefile~
@@ -0,0 +1,87 @@
+#CAMB Makefile
+
+#Set FISHER=Y to compile bispectrum fisher matrix code
+FISHER=
+
+#Edit for your compiler
+#Note there are many old ifort versions, some of which behave oddly
+
+
+#Intel , -openmp toggles mutli-processor:
+#note version 10.0 gives wrong result for lensed when compiled with -openmp [fixed in 10.1]
+F90C     = gfortran-5  
+FFLAGS= -O3 -g -fPIC -I. -std=gnu -ffree-line-length-none 
+#FFLAGS = -O2 #3 -ffree-form -x f95-cpp-input
+## This is flag is passed to the Fortran compiler allowing it to link C++ if required (not usually):
+#F90CRLINK = -cxxlib
+#ifneq ($(FISHER),)
+FFLAGS += -mkl
+#endif
+
+#Gfortran compiler:
+#The options here work in v4.5, delete from RHS in earlier versions (15% slower)
+#if pre v4.3 add -D__GFORTRAN__
+#With v4.6+ try -Ofast -march=native -fopenmp
+#On my machine v4.5 is about 20% slower than ifort
+#F90C     = gfortran -ffast-math
+##FFLAGS =  -O2  
+#-ffast-math 
+
+
+#Old Intel ifc, add -openmp for multi-processor (some have bugs):
+#F90C     = ifc
+#FFLAGS = -O2 -Vaxlib -ip -W0 -WB -quiet -fpp2
+#some systems can can also add e.g. -tpp7 -xW
+
+#G95 compiler
+#F90C   = g95
+#FFLAGS = -O2
+
+#SGI, -mp toggles multi-processor. Use -O2 if -Ofast gives problems.
+#F90C     = f90
+#FFLAGS  = -Ofast -mp
+
+#Digital/Compaq fortran, -omp toggles multi-processor
+#F90C    = f90
+#FFLAGS  = -omp -O4 -arch host -math_library fast -tune host -fpe1
+
+#Absoft ProFortran, single processor:
+#F90C     = f95
+#FFLAGS = -O2 -cpu:athlon -s -lU77 -w -YEXT_NAMES="LCS" -YEXT_SFX="_"
+
+#NAGF95, single processor:
+#F90C     = f95
+#FFLAGS = -DNAGF95 -O3
+
+#PGF90
+#F90C = pgf90
+#FFLAGS = -O2 -DESCAPEBACKSLASH -Mpreprocess
+
+#Sun V880
+#F90C = mpf90
+#FFLAGS =  -O4 -openmp -ftrap=%none -dalign -DMPI
+
+#Sun parallel enterprise:
+#F90C     = f95
+#FFLAGS =  -O2 -xarch=native64 -openmp -ftrap=%none
+#try removing -openmp if get bus errors. -03, -04 etc are dodgy.
+
+#IBM XL Fortran, multi-processor (run gmake)
+#F90C     = xlf90_r
+#FFLAGS  = -DESCAPEBACKSLASH -DIBMXL -qsmp=omp -qsuffix=f=f90:cpp=F90 -O3 -qstrict -qarch=pwr3 -qtune=pwr3
+
+#Settings for building camb_fits
+#Location of FITSIO and name of library
+#FITSDIR       ?= /home/cpac/cpac-tools/lib
+#FITSLIB       = cfitsio
+#Location of HEALPIX for building camb_fits
+#HEALPIXDIR    ?= /home/cpac/cpac-tools/healpix
+
+#ifneq ($(FISHER),)
+#FFLAGS += -DFISHER
+#EXTCAMBFILES = Matrix_utils.o
+#else
+#EXTCAMBFILES =
+#endif
+
+include ./Makefile_main
diff --git a/Matrix_utils.F90 b/Matrix_utils.F90
new file mode 100644
index 0000000..ac16361
--- /dev/null
+++ b/Matrix_utils.F90
@@ -0,0 +1,2342 @@
+    !Matrix utility routines. Uses BLAS/LAPACK. Mostly wrapper routines.
+    !Generally (but not always) assumes that all matrix arrays are defined at exactly correct size
+    !Not complete
+    !Antony Lewis May 2003-2007
+    !http://cosmologist.info/utils/
+
+
+    module MatrixUtils
+    use AMLutils
+    implicit none
+
+    logical, parameter :: Matrix_runmsgs = .false.
+#ifdef MATRIX_SINGLE 
+    integer, parameter :: dm = KIND(1.0)
+#else
+    integer, parameter :: dm = KIND(1.d0)
+#endif
+    !Precision of matrix operators
+    !If changing also need to change prefix on LAPACK routine names
+    integer, parameter :: Mat_F90=1, Mat_Norm=2, Mat_DC =3 !Normal, basic BLAS/LAPACK or divide and conquer
+    integer, parameter :: matrix_method = mat_DC
+
+    real Matrix_StartTime
+
+    Type TMatrixType
+        real(dm), dimension(:,:), pointer :: M
+    end Type TMatrixType
+
+    complex(dm), parameter :: COne = (1._dm,0._dm), CZero = (0._dm,0._dm)
+    real(dm), parameter :: ROne = 1._dm, RZero = 0._dm
+    real, parameter :: SOne = 1., SZero = 0.
+
+    contains
+
+
+    function GetMatrixTime()
+    real GetMatrixTime
+    real atime
+
+    call cpu_time(atime)
+
+    GetMatrixTime = atime  
+
+
+    end function GetMatrixTime
+
+    subroutine  Matrix_start(Name)
+    character(LEN=*), intent(in) :: Name
+
+    if (Matrix_runmsgs) then
+        Matrix_StartTime = GetMatrixTime()
+        Write(*,*) 'Matrix_'//trim(Name) //' start'
+    end if
+    end subroutine  Matrix_start
+
+    subroutine  Matrix_end(Name)
+    character(LEN=*), intent(in) :: Name
+
+    if (Matrix_runmsgs) then
+        Write(*,*) 'Matrix_'//trim(Name) //' end: ', GetMatrixTime() - Matrix_StartTime
+    end if
+    end subroutine  Matrix_end
+
+    subroutine Matrix_WriteFileRow(aunit, vec,n)
+    integer, intent(in) :: aunit
+    integer, intent(in) :: n
+    real(dm) :: vec(n)
+    character(LEN=50) fmt
+
+    fmt = trim(numcat('(',n))//'E17.7)'
+    write (aunit, fmt) vec(1:n)
+
+    end subroutine Matrix_WriteFileRow
+
+    subroutine Matrix_Write(aname, mat, forcetable, commentline)
+    character(LEN=*), intent(in) :: aname
+    character(LEN=*), intent(in), optional :: commentline   
+    real(dm), intent(in) :: mat(:,:)
+    logical, intent(in), optional :: forcetable
+    integer i,k
+    character(LEN=50) fmt
+    integer shp(2)
+    logical WriteTab
+    integer file_unit
+
+    shp = shape(mat)
+    WriteTab = shp(2)<=50
+    if (present(forcetable)) then
+        if (forcetable) WriteTab = .true.
+    end if
+    file_unit = new_file_unit()
+    call CreateTxtFile(aname, file_unit)
+    if (present(commentline)) then
+        write(file_unit,'(a)') '#'//trim(commentline)
+    end if
+    fmt = trim(numcat('(',shp(2)))//'E15.5)'
+    do i=1, shp(1)
+        if (.not. WriteTab) then
+            do k=1, shp(2)
+                write (file_unit, '(1E17.7)') mat(i,k)
+            end do
+        else
+            write (file_unit, fmt) mat(i,1:shp(2))
+        end if
+    end do
+
+    call CloseFile(file_unit)
+
+    end subroutine Matrix_Write
+
+    subroutine Matrix_Write_double(aname, mat, forcetable)
+    character(LEN=*), intent(in) :: aname
+    double precision, intent(in) :: mat(:,:)
+    logical, intent(in), optional :: forcetable
+    integer i,k
+    character(LEN=50) fmt
+    integer shp(2)
+    logical WriteTab
+    integer file_unit
+
+    shp = shape(mat)
+    WriteTab = shp(2)<=50
+    if (present(forcetable)) then
+        if (forcetable) WriteTab = .true.
+    end if
+    file_unit = new_file_unit()
+    call CreateTxtFile(aname, file_unit)
+    fmt = trim(numcat('(',shp(2)))//'E15.5)'
+    do i=1, shp(1)
+        if (.not. WriteTab) then
+            do k=1, shp(2)
+                write (file_unit, '(1E17.7)') mat(i,k)
+            end do
+        else
+            write (file_unit, fmt) mat(i,1:shp(2))
+        end if
+    end do
+
+    call CloseFile(file_unit)
+
+    end subroutine Matrix_Write_double
+
+
+    subroutine Matrix_Write_Binary(aname, mat)
+    character(LEN=*), intent(in) :: aname
+    real(dm), intent(in) :: mat(:,:)
+    integer file_unit
+
+    file_unit = new_file_unit()
+    call CreateFile(aname, file_unit,'unformatted')
+    write (file_unit) mat
+    call CloseFile(file_unit)
+
+    end subroutine Matrix_Write_Binary
+
+
+    subroutine MatrixSym_Write_Binary(aname, mat)
+    character(LEN=*), intent(in) :: aname
+    real(dm), intent(in) :: mat(:,:)
+    integer i
+    integer shp(2)
+    integer file_unit
+
+    shp = shape(mat)
+    if (shp(1) /= shp(2)) call MpiStop('MatrixSym_Write_Binary: Not square matrix')
+    if (shp(1) == 0) return
+
+    file_unit = new_file_unit()
+    call CreateFile(aname, file_unit,'unformatted')
+    do i=1,shp(1) 
+        write (file_unit) mat(i:shp(2),i)
+    end do 
+    call CloseFile(file_unit)
+
+    end subroutine MatrixSym_Write_Binary
+
+    subroutine MatrixSym_Write_Binary_Single(aname, mat)
+    character(LEN=*), intent(in) :: aname
+    real(dm), intent(in) :: mat(:,:)
+    integer i,    file_unit 
+    integer shp(2)
+
+    shp = shape(mat)
+    if (shp(1) /= shp(2)) call MpiStop('MatrixSym_Write_Binary_Single: Not square matrix')
+    if (shp(1) == 0) return
+
+    file_unit = new_file_unit()
+    call CreateFile(aname, file_unit,'unformatted')
+    do i=1,shp(1) 
+        write (file_unit) real(mat(i:shp(2),i), kind(1.0))
+    end do 
+    call CloseFile(file_unit)
+
+    end subroutine MatrixSym_Write_Binary_Single
+
+
+
+    subroutine Matrix_WriteVec(aname, vec)
+    character(LEN=*), intent(in) :: aname
+    real(dm), intent(in) :: vec(:)
+    integer i,   file_unit 
+
+    file_unit = new_file_unit()
+    call CreateTxtFile(aname, file_unit)
+    do i=1, size(vec)
+        write (file_unit, '(1E17.7)') vec(i)
+    end do
+    call CloseFile(file_unit)
+
+    end subroutine Matrix_WriteVec
+
+
+    subroutine Matrix_Read_Binary(aname, mat)
+    character(LEN=*), intent(in) :: aname
+    real(dm), intent(out) :: mat(:,:)
+    integer  file_unit
+
+    file_unit = new_file_unit()
+    call OpenFile(aname, file_unit,'unformatted')
+    read (file_unit) mat
+    call CloseFile(file_unit)
+
+    end subroutine Matrix_Read_Binary
+
+
+    subroutine MatrixSym_Read_Binary(aname, mat)
+    character(LEN=*), intent(in) :: aname
+    real(dm), intent(out) :: mat(:,:)
+    integer i,    file_unit
+    integer shp(2)
+
+    shp = shape(mat)
+    if (shp(1) /= shp(2)) call MpiStop( 'MatrixSym_Read_Binary: Not square matrix')
+    if (shp(1) == 0) return
+
+    file_unit = new_file_unit()
+    call OpenFile(aname, file_unit,'unformatted')
+    do i=1,shp(1)
+        read (file_unit) mat(i:shp(1),i)
+        mat(i,i:shp(1)) = mat(i:shp(1),i)
+    end do
+    call CloseFile(file_unit)
+
+    end subroutine MatrixSym_Read_Binary
+
+    subroutine MatrixSym_Read_Binary_Single(aname, mat)
+    character(LEN=*), intent(in) :: aname
+    real, intent(out) :: mat(:,:)
+    integer i,    file_unit
+    integer shp(2)
+
+    shp = shape(mat)
+    if (shp(1) /= shp(2)) call MpiStop( 'MatrixSym_Read_Binary: Not square matrix')
+    if (shp(1) == 0) return
+
+    file_unit = new_file_unit()
+    call OpenFile(aname, file_unit,'unformatted')
+    do i=1,shp(1)
+        read (file_unit) mat(i:shp(1),i)
+        mat(i,i:shp(1)) = mat(i:shp(1),i)
+    end do
+    call CloseFile(file_unit)
+
+    end subroutine MatrixSym_Read_Binary_Single
+
+
+
+
+
+    subroutine Matrix_Read(aname, mat)
+    character(LEN=*), intent(IN) :: aname
+    real(dm), intent(out) :: mat(:,:)
+    integer j,k,    file_unit
+    integer shp(2)
+    real(dm) tmp
+
+    shp = shape(mat)
+
+    file_unit = new_file_unit()
+    call OpenTxtFile(aname, file_unit)
+
+    do j=1,shp(1)
+        read (file_unit,*, end = 200, err=100) mat(j,1:shp(2))
+    end do
+    goto 120
+
+100 rewind(file_unit)  !Try other possible format
+    do j=1,shp(1) 
+        do k=1,shp(2)
+            read (file_unit,*, end = 200) mat(j,k)
+        end do
+    end do
+
+120 read (file_unit,*, err = 150, end =150) tmp
+    goto 200
+
+150 call CloseFile(file_unit)
+    return
+
+200 call MpiStop('Matrix_Read: file '//trim(aname)//' is the wrong size')
+
+
+    end subroutine Matrix_Read
+
+    subroutine Matrix_ReadSingle(aname, mat)
+    character(LEN=*), intent(IN) :: aname
+    real, intent(out) :: mat(:,:)
+    integer j,k,    file_unit 
+    integer shp(2)
+    real tmp
+
+    shp = shape(mat)
+
+    file_unit = new_file_unit()
+    call OpenTxtFile(aname, file_unit)
+
+    do j=1,shp(1)
+        read (file_unit,*, end = 200, err=100) mat(j,1:shp(2))
+    end do
+    goto 120
+
+100 rewind(file_unit)  !Try other possible format
+    do j=1,shp(1) 
+        do k=1,shp(2)
+            read (file_unit,*, end = 200) mat(j,k)
+        end do
+    end do
+
+120 read (file_unit,*, err = 150, end =150) tmp
+    goto 200
+
+150 call CloseFile(file_unit)
+    return
+
+200 call MpiStop('Matrix_Read:Single file '//trim(aname)//' is the wrong size')
+
+
+    end subroutine Matrix_ReadSingle
+
+
+    function Matrix_Diag(M, n)
+    integer, intent(in) :: n
+    real(dm), intent(in) :: M(:,:)
+    real(dm) Matrix_Diag(n)
+    integer i
+
+    do i=1,n
+
+    Matrix_Diag(i) = M(i,i)
+
+    end do
+
+    end function Matrix_Diag
+
+    function ILAENV_wrap(i,S1,S2,a,b,c,d)
+    integer ILAENV_wrap
+    integer, intent(in) :: i,a,b,c,d
+    character(LEN=*), intent(in) :: S1, S2
+    integer, external :: ILAENV
+
+    !If you don't have ILAENV in math library, change routine to return some positive integer
+    !that is a guess at the blocksize
+#ifdef MATRIX_SINGLE
+    ILAENV_wrap = 16
+#else 
+    ILAENV_wrap =  ILAENV(i,S1,S2,a,b,c,d)
+#endif
+    !!!IFC 
+    end  function ILAENV_wrap
+
+
+    subroutine Matrix_Diagonalize(M, diag, n)
+    !Does m = U diag U^T, returning U in M
+    integer, intent(in) :: n
+    real(dm), intent(inout):: m(n,n)
+    real(dm), intent(out) :: diag(n)
+    integer ierr, tmpsize
+    real(dm), allocatable, dimension(:) :: tmp
+
+    call Matrix_Start('Diagonalize')      
+#ifdef MATRIX_SINGLE 
+    tmpsize =  max( (ILAENV_wrap(1,'SSYTRD','U',n,n,n,n)+2)*N,max(1,3*n-1))  !3*n**2
+    allocate(tmp(tmpsize));
+    call SSYEV('V','U',n,m,n,diag,tmp,tmpsize,ierr) !evalues and vectors of symmetric matrix
+#else
+    tmpsize =  max( (ILAENV_wrap(1,'DSYTRD','U',n,n,n,n)+2)*N,max(1,3*n-1))  !3*n**2
+    allocate(tmp(tmpsize));
+    call DSYEV('V','U',n,m,n,diag,tmp,tmpsize,ierr) !evalues and vectors of symmetric matrix
+#endif
+    if (ierr /= 0) call MpiStop('Error in Matrix_Diagonalize')
+    deallocate(tmp)
+    call Matrix_End('Diagonalize')
+
+    end subroutine Matrix_Diagonalize
+
+    subroutine Matrix_Diagonalize_DC(M, diag, n)
+    !Complex version. Does m = U diag U^dag, returning U in M
+    integer, intent(in) :: n
+    real(dm), intent(inout):: m(n,n)
+    real(dm), intent(out) :: diag(n)
+    integer ierr, tmpsize ,isize
+    real(dm), allocatable, dimension(:) :: tmp
+    integer, allocatable,dimension(:):: iwork
+
+    call Matrix_Start('Diagonalize')
+
+    if (matrix_method == Mat_DC) then
+        !Divide and conquer
+        tmpsize = 1 + 6*N + 2*N**2 
+        isize = 3+5*N
+        allocate(tmp(tmpsize))
+        allocate(iwork(isize))
+#ifdef MATRIX_SINGLE 
+        call SSYEVD('V','U',n,M,n,diag,tmp,tmpsize,iwork,isize,ierr) !evalues and vectors of hermitian matrix
+#else
+        call DSYEVD('V','U',n,M,n,diag,tmp,tmpsize,iwork,isize,ierr) !evalues and vectors of hermitian matrix
+#endif
+        deallocate(iwork)
+        deallocate(tmp)
+    else
+        call Matrix_Diagonalize(M, diag, n)
+    end if
+
+    if (ierr /= 0) call MpiStop('Error in Matrix_Diagonalize')
+
+    call Matrix_End('Diagonalize')
+
+    end subroutine Matrix_Diagonalize_DC
+
+
+
+    subroutine Matrix_Root(M, n, pow)
+    !Does M**pow for symmetric M using U D**pow U^T
+    !Not optimized for large matrices
+    integer, intent(in) :: n
+    real(dm), intent(inout):: M(n,n)
+    real(dm) :: Tmp(n,n)
+    real(dm), intent(in) :: pow
+
+    real(dm) :: diag(n)
+    integer i
+
+    call Matrix_Diagonalize(M, diag, n)
+    Tmp = M
+    diag = diag**pow
+    do i = 1, n
+        M(:,i) = M(:,i)*diag(i)
+    end do
+    M = matmul(M,transpose(Tmp))
+
+    end subroutine Matrix_Root
+
+
+    subroutine Matrix_Diagonalize_Partial(M, diag, n, emin,emax, nfound)
+    !Real version. Does m = U diag U^dag, returning U in M
+    !Assumes up to nfound values will be found. nfound set to true value on exit
+    integer, intent(in) :: n
+    real(dm), intent(inout):: m(:,:)
+    real(dm), intent(out) :: diag(:)
+    real(dm), intent(in) :: emin,emax
+    integer, intent(inout) :: nfound
+    integer ierr, worksize, LIWork
+    real(dm), allocatable, dimension(:) :: work
+    real(dm), allocatable, dimension(:,:) :: tmp
+    integer, allocatable,dimension(:):: supp,iwork
+    real(dm) wsize(1)
+    real(dm)  atol
+    integer ISize(1)
+
+    atol = 1d-9
+    call Matrix_Start('Matrix_Diagonalize_Partial')
+    allocate(tmp(n,nfound))
+    allocate(Supp(n))
+    !Query
+    WorkSize = -1
+    LIWork = -1
+#ifdef MATRIX_SINGLE 
+    call SSYEVR('V','V','U',n,M,Size(M,DIM=1),emin,emax,0,0,atol,nfound,diag,tmp,Size(TMP,DIM=1),&
+    Supp,WSize,WorkSize,ISize,LIWork,ierr  )
+#else     
+    call DSYEVR('V','V','U',n,M,Size(M,DIM=1),emin,emax,0,0,atol,nfound,diag,tmp,Size(TMP,DIM=1),&
+    Supp,WSize,WorkSize,ISize,LIWork,ierr  )
+#endif
+    WorkSize = Real(WSize(1))
+    LIWork = ISize(1)
+    allocate(Work(WorkSize),IWork(LIWork))
+#ifdef MATRIX_SINGLE 
+    call SSYEVR('V','V','U',n,M,Size(M,DIM=1),emin,emax,0,0,atol,nfound,diag,tmp,Size(TMP,DIM=1),&
+    Supp,Work,WorkSize,IWork,LIWork,ierr )
+#else
+    call DSYEVR('V','V','U',n,M,Size(M,DIM=1),emin,emax,0,0,atol,nfound,diag,tmp,Size(TMP,DIM=1),&
+    Supp,Work,WorkSize,IWork,LIWork,ierr )
+#endif
+    deallocate(Supp,Work,IWork)
+    if (ierr /= 0) call MpiStop('Matrix_Diagonalize_Partial: Error') 
+    M(1:n,1:nfound) = tmp(1:n,1:nfound)  !nfound now different
+    deallocate(tmp)
+    call Matrix_End('Matrix_Diagonalize_Partial')
+
+    end subroutine Matrix_Diagonalize_Partial
+
+
+    subroutine Matrix_CDiagonalize_Partial(M, diag, n, emin,emax, nfound)
+    !Complex version. Does m = U diag U^dag, returning U in M
+    !Assumes up to nfound values will be found. nfound set to true value on exit
+    integer, intent(in) :: n
+    complex(dm), intent(inout):: m(:,:)
+    real(dm), intent(out) :: diag(:)
+    real(dm), intent(in) :: emin,emax
+    integer, intent(inout) :: nfound
+    integer ierr, worksize, LRWork, LIWork
+    real(dm), allocatable, dimension(:) :: Rwork
+    complex(dm), allocatable, dimension(:) :: work
+    complex(dm), allocatable, dimension(:,:) :: tmp
+    integer, allocatable,dimension(:):: supp,iwork
+    complex(dm) wsize(1)
+    real(dm) Rsize(1), atol
+    integer ISize(1)
+
+    atol = 1d-9
+    call Matrix_Start('Matrix_CDiagonalize_Partial')
+    allocate(tmp(n,nfound))
+    allocate(Supp(n))
+    !Query
+    WorkSize = -1
+    LRWork = -1
+    LIWork = -1
+#ifdef MATRIX_SINGLE 
+    call CHEEVR('V','V','U',n,M,Size(M,DIM=1),emin,emax,0,0,atol,nfound,diag,tmp,Size(TMP,DIM=1),&
+    Supp,WSize,WorkSize,RSize,LRWork,ISize,LIWork,ierr  )
+#else     
+    call ZHEEVR('V','V','U',n,M,Size(M,DIM=1),emin,emax,0,0,atol,nfound,diag,tmp,Size(TMP,DIM=1),&
+    Supp,WSize,WorkSize,RSize,LRWork,ISize,LIWork,ierr  )
+#endif
+    WorkSize = Real(WSize(1))
+    LRWork = RSize(1)
+    LIWork = ISize(1)
+    allocate(Work(WorkSize),RWork(LRWork),IWork(LIWork))
+#ifdef MATRIX_SINGLE 
+    call CHEEVR('V','V','U',n,M,Size(M,DIM=1),emin,emax,0,0,atol,nfound,diag,tmp,Size(TMP,DIM=1),&
+    Supp,Work,WorkSize,RWork,LRWork,IWork,LIWork,ierr )
+#else
+    call ZHEEVR('V','V','U',n,M,Size(M,DIM=1),emin,emax,0,0,atol,nfound,diag,tmp,Size(TMP,DIM=1),&
+    Supp,Work,WorkSize,RWork,LRWork,IWork,LIWork,ierr )
+#endif
+    deallocate(Supp,Work,RWork,IWork)
+    if (ierr /= 0) call MpiStop('Matrix_CDiagonalize_Partial: Error') 
+    M(1:n,1:nfound) = tmp(1:n,1:nfound)  !nfound now different
+    deallocate(tmp)
+    call Matrix_End('Matrix_CDiagonalize_Partial')
+
+
+    end subroutine
+
+
+    subroutine Matrix_CDiagonalize(M, diag, n)
+    !Complex version. Does m = U diag U^dag, returning U in M
+    integer, intent(in) :: n
+    complex(dm), intent(inout):: m(n,n)
+    real(dm), intent(out) :: diag(n)
+    integer ierr, tmpsize ,isize, rworksize
+    real(dm), allocatable, dimension(:) :: Rwork
+    complex(dm), allocatable, dimension(:) :: tmp
+    integer, allocatable,dimension(:):: iwork
+
+    call Matrix_Start('CDiagonalize')
+
+    if (matrix_method == Mat_DC) then
+        !Divide and conquer
+        tmpsize = 2*N + N**2 
+        rworksize =  1 + 4*N + 2*N*int(log(real(N))/log(2.)+1) + 3*N**2
+        isize =  (2 + 5*N)*4
+        allocate(tmp(tmpsize),rwork(rworksize))
+        allocate(iwork(isize))
+#ifdef MATRIX_SINGLE 
+        call CHEEVD('V','U',n,M,n,diag,tmp,tmpsize,Rwork,rworksize,iwork,isize,ierr) !evalues and vectors of hermitian matrix
+#else
+        call ZHEEVD('V','U',n,M,n,diag,tmp,tmpsize,Rwork,rworksize,iwork,isize,ierr) !evalues and vectors of hermitian matrix
+#endif
+        deallocate(iwork)
+
+    else
+
+    rworksize =  max(1, 3*n-2)
+#ifdef MATRIX_SINGLE 
+    tmpsize = max( (ILAENV_wrap(1,'CHETRD','U',n,n,n,n)+1)*N,max(1,2*n-1)) !   3*n**2
+    allocate(tmp(tmpsize),rwork(rworksize));
+    call CHEEV('V','U',n,m,n,diag,tmp,tmpsize,Rwork,ierr) !evalues and vectors of hermitian matrix
+#else
+    tmpsize = max( (ILAENV_wrap(1,'ZHETRD','U',n,n,n,n)+1)*N,max(1,2*n-1)) !   3*n**2
+    allocate(tmp(tmpsize),rwork(rworksize));
+    call ZHEEV('V','U',n,m,n,diag,tmp,tmpsize,Rwork,ierr) !evalues and vectors of hermitian matrix
+#endif
+    end if
+
+    if (ierr /= 0) call MpiStop('Error in Matrix_CDiagonalize')
+    deallocate(tmp,rwork)
+
+    call Matrix_End('CDiagonalize')
+
+    end subroutine Matrix_CDiagonalize
+
+    function Matrix_CTrace(M)
+    complex(dm), intent(in) :: M(:,:)
+    complex(dm) tmp,Matrix_CTrace
+    integer i
+
+    if (size(M,dim=1) /= size(M,dim=2)) call MpiStop('Matrix_CTrace: non-square matrix')
+    tmp =0
+    do i=1,size(M,dim=1)
+        tmp = tmp + M(i,i)  
+    end do
+    Matrix_CTrace = tmp
+
+    end function Matrix_CTrace
+
+    function Matrix_Trace(M)
+    real(dm), intent(in) :: M(:,:)
+    real(dm) tmp,Matrix_Trace
+    integer i
+
+    if (size(M,dim=1) /= size(M,dim=2)) call mpiStop('Matrix_Trace: non-square matrix')
+    tmp =0
+    do i=1,size(M,dim=1)
+        tmp = tmp + M(i,i)  
+    end do
+    Matrix_Trace = tmp
+
+    end function Matrix_Trace
+
+
+    function MatrixSym_LogDet(mat) result (logDet)
+    real(dm), intent(in) :: mat(:,:)
+    real(dm) logDet
+    real(dm) Tmp(size(mat,dim=1),size(mat,dim=1))
+    integer i
+
+    if (size(mat,dim=1) /= size(mat,dim=2)) call mpiStop('MatrixSym_LogDet: non-square matrix')
+    Tmp = mat
+    call Matrix_Cholesky(tmp)
+    logDet =0
+    do i=1, size(mat,dim=1)
+        logDet = logDet  + log(tmp(i,i))
+    end do
+    logDet = 2._dm*logDet
+
+    end function MatrixSym_LogDet
+
+
+    subroutine Matrix_CRotateSymm(Mat,U,m,Out,triangular)
+    !Gets U^dag Mat U
+    integer, intent(in) ::m
+    complex(dm), intent(in) :: Mat(:,:),U(:,:)
+    complex(dm) Out(:,:) 
+    complex(dm), dimension(:,:), allocatable :: C
+    integer n
+    logical, intent(in), optional :: triangular
+    logical :: triang
+
+    call Matrix_Start('CRotateSymm')
+
+    if (present(triangular)) then
+        triang=triangular
+    else
+        triang=.false.
+    end if
+
+    n = Size(Mat,DIM=1)
+    if (n /= Size(Mat,DIM=2)) call mpiStop('Matrix_CRotateSymm: Need square matrix')
+    if (n /= Size(U,DIM=1)) call MpiStop('Matrix_CRotateSymm: Matrix size mismatch')
+    if (Size(Out,DIM=1) < m .or. Size(Out,DIM=2) < m) &
+    call MpiStop('Matrix_CRotateSymm: Wrong output size')
+
+    if (matrix_method == Mat_F90) then
+        Out = matmul(matmul(transpose(conjg(U(1:n,1:m))),Mat),U(1:n,1:m))
+    else
+#ifdef MATRIX_SINGLE   
+        if (triang) then
+            if (m/=n) call MpiStop('Matrix_CRotateSymm: Matrices must be same size')
+            call CHEMM('L','U',n,n,COne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),CZero,Out,Size(Out,Dim=1))
+            call CTRMM('Left','Upper','Complex-Transpose','Not-unit',n,n,COne,U,Size(U,DIM=1),Out,Size(Out,Dim=1))
+        else       
+            allocate(C(n,m))
+            call CHEMM('L','U',n,m,COne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),CZero,C,n)
+            call CGEMM('C','N',m,m,n,COne,U,Size(U,DIM=1),C,n,CZero,Out,Size(Out,Dim=1))
+            deallocate(C)
+        end if
+#else
+        if (triang) then
+            if (m/=n) call MpiStop('Matrix_CRotateSymm: Matrices must be same size')
+            call ZHEMM('L','U',n,n,COne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),CZero,Out,Size(Out,Dim=1))
+            call ZTRMM('Left','Upper','Complex-Transpose','Not-unit',n,n,COne,U,Size(U,DIM=1),Out,Size(Out,Dim=1))
+        else 
+            allocate(C(n,m))
+            call ZHEMM('L','U',n,m,COne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),CZero,C,n)
+            call ZGEMM('C','N',m,m,n,COne,U,Size(U,DIM=1),C,n,CZero,Out,Size(Out,Dim=1))
+            deallocate(C)
+        end if
+#endif
+    end if
+    call Matrix_End('CRotateSymm')
+
+
+    end subroutine Matrix_CRotateSymm
+
+    subroutine Matrix_RotateSymm(Mat,U,m,Out, triangular)
+    !Gets U^T Mat U
+    !If triangular U = Upper triangular (U^T lower triangular)
+    integer, intent(in) ::m
+    real(dm), intent(in) :: Mat(:,:),U(:,:)
+    real(dm) Out(:,:) 
+    real(dm), dimension(:,:), allocatable :: C
+    logical, intent(in), optional :: triangular
+    logical triang
+    integer n
+
+    call Matrix_Start('RotateSymm')
+
+    if (present(triangular)) then
+        triang=triangular
+    else
+        triang=.false.
+    end if
+
+    n = Size(Mat,DIM=1)
+    if (n /= Size(Mat,DIM=2)) call MpiStop('Matrix_RotateSymm: Need square matrix')
+    if (n /= Size(U,DIM=1)) call MpiStop('Matrix_RotateSymm: Matrix size mismatch')
+    if (Size(Out,DIM=1) < m .or. Size(Out,DIM=2) < m) &
+    call MpiStop('Matrix_RotateSymm: Wrong output size')
+
+    if (matrix_method == Mat_F90) then
+        Out = matmul(matmul(transpose(U(1:n,1:m)),Mat),U(1:n,1:m))
+    else
+#ifdef MATRIX_SINGLE             
+        if (triang) then
+            if (m/=n) call MpiStop('Matrix_RotateSymm: Matrices must be same size')
+            call SSYMM('L','U',n,n,ROne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),RZero,Out,Size(Out,Dim=1))
+            call STRMM('Left','Upper','Transpose','Not-unit',n,n,ROne,U,Size(U,DIM=1),Out,Size(Out,Dim=1))
+        else
+            allocate(C(n,m))
+            call SSYMM('L','U',n,m,ROne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),RZero,C,n)
+            call SGEMM('T','N',m,m,n,ROne,U,Size(U,DIM=1),C,n,RZero,Out,Size(Out,Dim=1))
+            deallocate(C)
+        end if
+#else
+        if (triang) then
+            if (m/=n) call MpiStop('Matrix_RotateSymm: Matrices must be same size')
+            call DSYMM('L','U',n,n,ROne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),RZero,Out,Size(Out,Dim=1))
+            call DTRMM('Left','Upper','Transpose','Not-unit',n,n,ROne,U,Size(U,DIM=1),Out,Size(Out,Dim=1))
+        else
+            allocate(C(n,m))
+            call DSYMM('L','U',n,m,ROne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),RZero,C,n)
+            call DGEMM('T','N',m,m,n,ROne,U,Size(U,DIM=1),C,n,RZero,Out,Size(Out,Dim=1))
+            deallocate(C)
+        end if
+#endif
+    end if
+    call Matrix_End('RotateSymm')
+
+
+    end subroutine Matrix_RotateSymm
+
+
+    subroutine Matrix_RotateAntiSymm(Mat,U,m,Out)
+    !Gets U^T Mat U
+    !Where Mat = -Mat^T
+    integer, intent(in) ::m
+    real(dm), intent(in) :: Mat(:,:),U(:,:)
+    real(dm) Out(:,:) 
+    real(dm), dimension(:,:), allocatable :: C
+    integer i,j,n
+
+    call Matrix_Start('RotateAntiSymm')
+
+    n = Size(Mat,DIM=1)
+    if (n /= Size(Mat,DIM=2)) call MpiStop('Matrix_RotateAntiSymm: Need square matrix')
+    if (n /= Size(U,DIM=1)) call MpiStop('Matrix_RotateAntiSymm: Matrix size mismatch')
+    if (Size(Out,DIM=1) < m .or. Size(Out,DIM=2) < m) &
+    call MpiStop('Matrix_RotateAntiSymm: Wrong output size')
+
+    if (matrix_method == Mat_F90) then
+        Out = matmul(matmul(transpose(U(1:n,1:m)),Mat),U(1:n,1:m))
+    else
+        allocate(C(n,m))
+        C = U(1:n,1:m)
+#ifdef MATRIX_SINGLE             
+        call STRMM('Left','Lower','Not-Transpose','Not-unit',n,m,ROne,Mat,Size(Mat,DIM=1),C,Size(C,Dim=1))
+        call SGEMM('T','N',m,m,n,ROne,U,Size(U,DIM=1),C,n,RZero,Out,Size(Out,Dim=1))
+#else
+        call DTRMM('Left','Lower','Not-Transpose','Not-unit',n,m,ROne,Mat,Size(Mat,DIM=1),C,Size(C,Dim=1))
+        call DGEMM('T','N',m,m,n,ROne,U,Size(U,DIM=1),C,n,RZero,Out,Size(Out,Dim=1))
+#endif
+        deallocate(C)
+    end if
+
+    do i=1, m
+        do j=1,i
+            Out(j,i) = Out(j,i) - Out(i,j)
+            out(i,j) = -Out(j,i)
+        end do
+    end do  
+
+    call Matrix_End('RotateAntiSymm')
+
+    end subroutine Matrix_RotateAntiSymm
+
+    subroutine Matrix_CMult_SymmRight(Mat,U,Out,a,b)
+    complex(dm), intent(in) :: Mat(:,:),U(:,:)
+    complex(dm) Out(:,:) 
+    complex(dm), intent(in), optional :: a,b
+    complex(dm)  mult, beta 
+    integer n,m
+
+    call Matrix_Start('CMult_SymmRight')
+
+    m = Size(Mat,DIM=1)
+    n = Size(U,DIM=2)
+    if (n /= Size(Mat,DIM=2) .or. n/=Size(U,DIM=1)) &
+    call MpiStop('Matrix_CMult_SymmRight: Size mismatch')
+    if (present(a)) then
+        mult = a
+    else
+        mult = COne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = CZero
+    end if
+    if (matrix_method == Mat_F90) then
+        if (beta /= CZero) then
+            out = a*MatMul(Mat,U) + beta*Out
+        else
+            out = MatMul(Mat,U)
+            if (mult /= COne) Out = Out*mult
+        end if     
+    else 
+#ifdef MATRIX_SINGLE 
+        call CHEMM('R','U',m,n,mult,U,Size(U,DIM=1),Mat,Size(Mat,DIM=1),beta,Out,Size(Out,DIM=1))
+#else     
+        call ZHEMM('R','U',m,n,mult,U,Size(U,DIM=1),Mat,Size(Mat,DIM=1),beta,Out,Size(Out,DIM=1))
+#endif
+    end if
+
+    call Matrix_End('CMult_SymmRight')
+
+    end subroutine Matrix_CMult_SymmRight
+
+
+    subroutine Matrix_CMult_SymmLeft(Mat,U,Out,a,b)
+    complex(dm), intent(in) :: Mat(:,:),U(:,:)
+    complex(dm) Out(:,:) 
+    complex(dm), intent(in), optional :: a,b
+    complex(dm)  mult, beta 
+    integer n,m
+
+    call Matrix_Start('CMult_SymmLeft')
+
+    m = Size(Mat,DIM=1)
+    n = Size(U,DIM=2)
+    if (m /= Size(U,DIM=1) .or. m/=Size(Mat,DIM=2)) &
+    call MpiStop('Matrix_CMult_SymmLeft: Size mismatch')
+    if (present(a)) then
+        mult = a
+    else
+        mult = COne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = CZero
+    end if
+    if (matrix_method == Mat_F90) then
+        if (beta /= CZero) then
+            out = a*MatMul(Mat,U) + beta*Out
+        else
+            out = MatMul(Mat,U)
+            if (mult /= COne) Out = Out*mult
+        end if     
+    else 
+#ifdef MATRIX_SINGLE
+        call CHEMM('L','U',m,n,mult,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),beta,Out,Size(Out,DIM=1))
+#else     
+        call ZHEMM('L','U',m,n,mult,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),beta,Out,Size(Out,DIM=1))
+#endif
+    end if
+
+    call Matrix_End('CMult_SymmLeft')
+
+    end subroutine Matrix_CMult_SymmLeft
+
+
+    subroutine Matrix_CMult(Mat,U,Out,a,b)
+    ! Out = a*Mat U + b*out
+    complex(dm), intent(in) :: Mat(:,:),U(:,:)
+    complex(dm) Out(:,:) 
+    complex(dm), intent(in), optional :: a,b
+    complex(dm)  mult, beta 
+    integer m,n,k
+
+    call Matrix_Start('CMult')
+
+    m = Size(Mat,DIM=1)
+    n = Size(U,DIM=2)
+    k = Size(Mat,DIM=2)
+    if (k /= Size(U,DIM=1)) call MpiStop('Matrix_Mult: Matrix size mismatch')
+    if (present(a)) then
+        mult = a
+    else
+        mult = COne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = CZero
+    end if
+
+    if (matrix_method == Mat_F90) then
+        if (beta /= CZero) then
+            out = a*MatMul(Mat,U) + beta*Out
+        else
+            out = MatMul(Mat,U)
+            if (mult /= COne) Out = Out*mult
+        end if     
+    else
+#ifdef MATRIX_SINGLE
+        call CGEMM('N','N',m,n,k,mult,Mat,m,U,k,beta,Out,Size(Out,Dim=1))
+#else
+        call ZGEMM('N','N',m,n,k,mult,Mat,m,U,k,beta,Out,Size(Out,Dim=1))
+#endif
+    end if
+    call Matrix_End('CMult')
+
+
+    end subroutine Matrix_CMult
+
+
+    subroutine Matrix_MultSq_RepRight(Mat,U,a)
+    !U = a*Mat*U
+    real(dm), intent(in) :: Mat(:,:)
+    real(dm), intent(inout) ::U(:,:)
+    real(dm), intent(in), optional :: a
+    real(dm) aa
+    integer m,n
+    real(dm), dimension(:,:), allocatable :: tmp
+
+
+    m = Size(Mat,DIM=1)
+    n = Size(Mat,DIM=2)
+    if (m /= n) call MpiStop('Matrix_MultSq: Matrix size mismatch')
+    m = Size(U,DIM=1)
+    n = Size(U,DIM=2)
+    if (m /= n) call MpiStop('Matrix_MultSq: Matrix size mismatch')
+
+    allocate(tmp(n,n))
+    if (present(a)) then
+        aa=a
+    else
+        aa=ROne
+    end if 
+
+    call Matrix_Mult(Mat,U,tmp,aa)
+    U = tmp
+    deallocate(tmp)
+
+    end  subroutine Matrix_MultSq_RepRight
+
+    subroutine Matrix_MultTri(Mat,L, side)
+    ! Mat -> L Mat or Mat L where L is lower triangular
+    real(dm), intent(inout) :: Mat(:,:)
+    real(dm), intent(in) :: L(:,:) 
+    character(LEN=*), intent(in) :: side
+    integer m,n
+
+    call Matrix_Start('Matrix_MultTri')
+
+    m = Size(Mat,DIM=1)
+    n = Size(Mat,DIM=2)
+
+    if (side(1:1)=='L') then
+        if (Size(L,DIM=2) /= m) call MpiStop('Matrix_MultTri: Matrix size mismatch')
+    else
+        if (Size(L,DIM=1) /= n) call MpiStop('Matrix_MultTri: Matrix size mismatch')
+    end if
+#ifdef MATRIX_SINGLE
+    call STRMM(side,'Lower','Not-Transpose','Not-unit',m,n,ROne,L,Size(L,DIM=1),Mat,Size(Mat,Dim=1))
+#else
+    call DTRMM(side,'Lower','Not-Transpose','Not-unit',m,n,ROne,L,Size(L,DIM=1),Mat,Size(Mat,Dim=1))
+#endif
+    call Matrix_End('Matrix_MultTri')
+
+    end subroutine Matrix_MultTri
+
+
+
+    subroutine Matrix_Mult(Mat,U,Out,a,b)
+    ! Out = a*Mat U + b*out
+    real(dm), intent(in) :: Mat(:,:),U(:,:)
+    real(dm) :: Out(:,:) 
+    real(dm), intent(in), optional :: a,b
+    real(dm)  mult, beta 
+    integer m,n,k
+
+    call Matrix_Start('Mult')
+
+
+    m = Size(Mat,DIM=1)
+    n = Size(U,DIM=2)
+    k = Size(Mat,DIM=2)
+    if (k /= Size(U,DIM=1)) call MpiStop('Matrix_Mult: Matrix size mismatch')
+
+
+    if (present(a)) then
+        mult = a
+    else
+        mult = ROne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = RZero
+    end if
+
+    if (matrix_method == Mat_F90) then
+        if (beta /= RZero) then
+            out = a*MatMul(Mat,U) + beta*Out
+        else
+            out = MatMul(Mat,U)
+            if (mult /= ROne) Out = Out*mult
+        end if     
+    else
+#ifdef MATRIX_SINGLE
+        call SGEMM('N','N',m,n,k,mult,Mat,m,U,k,beta,Out,Size(Out,Dim=1))
+#else     
+        call DGEMM('N','N',m,n,k,mult,Mat,m,U,k,beta,Out,Size(Out,Dim=1))
+#endif
+    end if
+    call Matrix_End('Mult')
+
+
+    end subroutine Matrix_Mult
+
+    subroutine Matrix_Mult_SymmLeft(Mat,U,Out,a,b)
+    real(dm), intent(in) :: Mat(:,:),U(:,:)
+    real(dm) Out(:,:) 
+    real(dm), intent(in), optional :: a,b
+    real(dm)  mult, beta 
+    integer n,m
+
+    call Matrix_Start('Mult_SymmLeft')
+
+    m = Size(Mat,DIM=1)
+    n = Size(U,DIM=2)
+    if (m /= Size(U,DIM=1) .or. m/=Size(Mat,DIM=2)) &
+    call MpiStop('Matrix_Mult_SymmLeft: Size mismatch')
+    if (present(a)) then
+        mult = a
+    else
+        mult = ROne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = RZero
+    end if
+    if (matrix_method == Mat_F90) then
+        if (beta /= RZero) then
+            out = a*MatMul(Mat,U) + beta*Out
+        else
+            out = MatMul(Mat,U)
+            if (mult /= COne) Out = Out*mult
+        end if     
+    else 
+#ifdef MATRIX_SINGLE
+        call SSYMM('L','U',m,n,mult,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),beta,Out,Size(Out,DIM=1))
+#else     
+        call DSYMM('L','U',m,n,mult,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),beta,Out,Size(Out,DIM=1))
+#endif
+    end if
+
+    call Matrix_End('Mult_SymmLeft')
+
+    end subroutine Matrix_Mult_SymmLeft
+
+
+    subroutine Matrix_Mult_SymmRight(Mat,U,Out,a,b)
+    ! Out = a*Mat U + b*out
+    real(dm), intent(in) :: Mat(:,:),U(:,:)
+    real(dm) Out(:,:) 
+    real(dm), intent(in), optional :: a,b
+    real(dm)  mult, beta 
+    integer n,m
+
+    call Matrix_Start('Mult_SymmRight')
+
+    m = Size(Mat,DIM=1)
+    n = Size(U,DIM=2)
+    if (n /= Size(Mat,DIM=2) .or. n/=Size(U,DIM=1)) &
+    call MpiStop('Matrix_Mult_SymmRight: Size mismatch')
+    if (present(a)) then
+        mult = a
+    else
+        mult = ROne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = RZero
+    end if
+    if (matrix_method == Mat_F90) then
+        if (beta /= RZero) then
+            out = a*MatMul(Mat,U) + beta*Out
+        else
+            out = MatMul(Mat,U)
+            if (mult /= ROne) Out = Out*mult
+        end if     
+    else 
+#ifdef MATRIX_SINGLE
+        call SSYMM('R','U',m,n,mult,U,Size(U,DIM=1),Mat,Size(Mat,DIM=1),beta,Out,Size(Out,DIM=1))
+#else     
+        call DSYMM('R','U',m,n,mult,U,Size(U,DIM=1),Mat,Size(Mat,DIM=1),beta,Out,Size(Out,DIM=1))
+#endif
+    end if
+
+    call Matrix_End('Mult_SymmRight')
+
+    end subroutine Matrix_Mult_SymmRight
+
+
+    subroutine Matrix_CMultGen(Mat,m,k,U,n,Out)
+    !     out(1:m,1:n) = MatMul(Mat(1:m,1:k),U(1:k,1:n))
+    integer, intent(in) :: m,k,n
+    complex(dm), intent(in) :: Mat(:,:),U(:,:)
+    complex(dm) Out(:,:) 
+
+    call Matrix_Start('CMultGen')
+
+    if (SIZE(Out,DIM=1) <m .or. Size(Out,Dim=2) < n) call MpiStop('Matrix_CMultGen: bad Out size')
+
+    if (matrix_method == Mat_F90) then
+        out(1:m,1:n) = MatMul(Mat(1:m,1:k),U(1:k,1:n))
+    else
+#ifdef MATRIX_SINGLE
+        call CGEMM('N','N',m,n,k,COne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),CZero,Out,Size(Out,Dim=1))
+#else
+        call ZGEMM('N','N',m,n,k,COne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),CZero,Out,Size(Out,Dim=1))
+#endif
+    end if
+    call Matrix_End('CMultGen')
+
+
+    end subroutine Matrix_CMultGen
+
+
+
+    subroutine Matrix_MultGen(Mat,m,k,U,n,Out)
+    !     out(1:m,1:n) = MatMul(Mat(1:m,1:k),U(1:k,1:n))
+    integer, intent(in) :: m,k,n
+    real(dm), intent(in) :: Mat(:,:),U(:,:)
+    real(dm) Out(:,:) 
+
+    call Matrix_Start('MultGen')
+
+    if (SIZE(Out,DIM=1) <m .or. Size(Out,Dim=2) < n) call MpiStop('Matrix_MultGen: bad Out size')
+
+    if (matrix_method == Mat_F90) then
+        out(1:m,1:n) = MatMul(Mat(1:m,1:k),U(1:k,1:n))
+    else
+#ifdef MATRIX_SINGLE
+        call SGEMM('N','N',m,n,k,ROne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),RZero,Out,Size(Out,Dim=1))
+#else
+        call DGEMM('N','N',m,n,k,ROne,Mat,Size(Mat,DIM=1),U,Size(U,DIM=1),RZero,Out,Size(Out,Dim=1))
+#endif
+    end if
+    call Matrix_End('MultGen')
+
+
+    end subroutine Matrix_MultGen
+
+
+    subroutine Matrix_CMult_NT(Mat,U,Out,a,b)
+    ! Out = a*Mat U^dag + b*out
+    complex(dm), intent(in) :: Mat(:,:),U(:,:)
+    complex(dm) Out(:,:) 
+    complex(dm), intent(in), optional :: a,b
+    complex(dm)  mult, beta 
+    integer m,n,k
+
+    m = Size(Mat,DIM=1)
+    n = Size(U,DIM=1)
+    k = Size(Mat,DIM=2)
+    if (k /= Size(U,DIM=2)) call MpiStop('Matrix_CMult_NT: Matrix size mismatch')
+    call Matrix_start('CMult_NT')
+    if (present(a)) then
+        mult = a
+    else
+        mult = COne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = CZero
+    end if
+
+    if (matrix_method == Mat_F90) then
+        if (beta /= CZero) then
+            Out = beta*Out + mult*matmul(Mat,conjg(transpose(U))) 
+        else
+            Out = matmul(Mat,conjg(transpose(U))) 
+            if (mult/= COne) Out=Out*mult
+        end if
+    else
+#ifdef MATRIX_SINGLE
+        call CGEMM('N','C',m,n,k,mult,Mat,m,U,n,beta,Out,Size(Out,Dim=1))
+#else     
+        call ZGEMM('N','C',m,n,k,mult,Mat,m,U,n,beta,Out,Size(Out,Dim=1))
+#endif
+    end if
+    call Matrix_End('CMult_NT')
+
+
+    end subroutine Matrix_CMult_NT
+
+    subroutine Matrix_Mult_NT(Mat,U,Out,a,b)
+    ! Out = a*Mat U^T + b*out
+    real(dm), intent(in) :: Mat(:,:),U(:,:)
+    real(dm) Out(:,:) 
+    real(dm), intent(in), optional :: a,b
+    real(dm)  mult, beta 
+    integer m,n,k
+
+    m = Size(Mat,DIM=1)
+    n = Size(U,DIM=1)
+    k = Size(Mat,DIM=2)
+    if (k /= Size(U,DIM=2)) call MpiStop('Matrix_Mult_NT: Matrix size mismatch')
+    call Matrix_start('Mult_NT')
+    if (present(a)) then
+        mult = a
+    else
+        mult = ROne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = RZero
+    end if
+
+    if (matrix_method == Mat_F90) then
+        if (beta /= RZero) then
+            Out = beta*Out + mult*matmul(Mat,transpose(U)) 
+        else
+            Out = matmul(Mat,transpose(U)) 
+            if (mult/= ROne) Out=Out*mult
+        end if
+    else
+#ifdef MATRIX_SINGLE
+        call SGEMM('N','T',m,n,k,mult,Mat,m,U,n,beta,Out,Size(Out,Dim=1))
+#else
+        call DGEMM('N','T',m,n,k,mult,Mat,m,U,n,beta,Out,Size(Out,Dim=1))
+#endif
+    end if
+    call Matrix_End('Mult_NT')
+
+
+    end subroutine Matrix_Mult_NT
+
+
+    subroutine Matrix_CMult_TN(Mat,U,Out,a,b)
+    ! Out = a*Mat^dag U + b*Out
+    complex(dm), intent(in) :: Mat(:,:),U(:,:)
+    complex(dm) Out(:,:)
+    complex(dm), intent(in), optional :: a,b
+    complex(dm)  mult, beta 
+    integer m,n,k
+
+    m = Size(Mat,DIM=2)
+    n = Size(U,DIM=2)
+    k = Size(Mat,DIM=1)
+    if (k /= Size(U,DIM=1)) call MpiStop('Matrix_CMult_TN: Matrix size mismatch')
+
+    call Matrix_Start('CMult_TN')
+    if (present(a)) then
+        mult = a
+    else
+        mult = COne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = CZero
+    end if
+    if (matrix_method == Mat_F90) then
+        if (beta /= CZero) then
+            out = mult*MatMul(conjg(transpose(Mat)),U) + beta*out
+        else
+            out = MatMul(conjg(transpose(Mat)),U)
+            if (mult /= COne) out = out*mult
+        end if
+    else
+#ifdef MATRIX_SINGLE
+        call CGEMM('C','N',m,n,k,mult,Mat,k,U,k,beta,Out,Size(Out,Dim=1))
+#else
+        call ZGEMM('C','N',m,n,k,mult,Mat,k,U,k,beta,Out,Size(Out,Dim=1))
+#endif
+    end if
+    call Matrix_End('CMult_TN')
+
+    end subroutine Matrix_CMult_TN
+
+    subroutine Matrix_Mult_TN(Mat,U,Out,a,b)
+    ! Out = a*Mat^dag U + b*Out
+    real(dm), intent(in) :: Mat(:,:),U(:,:)
+    real(dm) Out(:,:)
+    real(dm), intent(in), optional :: a,b
+    real(dm)  mult, beta 
+    integer m,n,k
+
+    m = Size(Mat,DIM=2)
+    n = Size(U,DIM=2)
+    k = Size(Mat,DIM=1)
+    if (k /= Size(U,DIM=1)) call MpiStop('Matrix_Mult_TN: Matrix size mismatch')
+
+    call Matrix_Start('CMult_TN')
+    if (present(a)) then
+        mult = a
+    else
+        mult = ROne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = RZero
+    end if
+    if (matrix_method == Mat_F90) then
+        if (beta /= CZero) then
+            out = mult*MatMul(transpose(Mat),U) + beta*out
+        else
+            out = MatMul(transpose(Mat),U)
+            if (mult /= COne) out = out*mult
+        end if
+    else
+#ifdef MATRIX_SINGLE
+        call SGEMM('T','N',m,n,k,mult,Mat,k,U,k,beta,Out,Size(Out,Dim=1))
+#else
+        call DGEMM('T','N',m,n,k,mult,Mat,k,U,k,beta,Out,Size(Out,Dim=1))
+#endif
+    end if
+    call Matrix_End('Mult_TN')
+
+    end subroutine Matrix_Mult_TN
+
+    subroutine Matrix_Cholesky(M, err, zeroed)
+    !Note upper triangular is not zeroed
+    real(dm), intent(inout):: M(:,:)
+    integer n, info
+    integer, optional :: err
+    logical, intent(in), optional :: zeroed
+    integer i
+
+    n=Size(M,DIM=1)
+    if (Size(M,DIM=2)/=n) call MpiStop('Matrix_Cholesky: non-square matrix')
+
+#ifdef MATRIX_SINGLE
+    call spotrf ('L', n, M, n, info)
+#else
+    call dpotrf ('L', n, M, n, info)
+#endif
+
+    if (present(err)) then
+        err = info
+    else
+        if (info/=0) &
+        call MpiStop('Matrix_Cholesky: not positive definite '//trim(IntToStr(info))) 
+    end if
+
+    if (info==0 .and. present(zeroed)) then
+        do i=1,n
+            M(1:i-1,i)=0
+        end do
+    end if
+
+    end subroutine Matrix_Cholesky
+
+    subroutine Matrix_CCholesky(M)
+    !M = L L^\dag
+    complex(dm), intent(inout):: M(:,:)
+    integer n, info
+
+    n=Size(M,DIM=1)
+    if (Size(M,DIM=2)/=n) call MpiStop('Matrix_CCholesky: non-square matrix')
+
+#ifdef MATRIX_SINGLE
+    call cpotrf ('L', n, M, n, info)
+#else
+    call zpotrf ('L', n, M, n, info)
+#endif
+
+    if (info/=0) call MpiStop('Matrix_CCholesky: not positive definite '//trim(IntToStr(info))) 
+
+    end subroutine Matrix_CCholesky
+
+
+    subroutine Matrix_CholeskyRootInverse(M,transpose, error)
+    !M = L L^T and return L^{-1} in M  ( or [L^(-1}]^T )
+    real(dm), intent(inout):: M(:,:)
+    integer n, info
+    integer i,j
+    logical, intent(in), optional :: transpose 
+    integer, intent(out), optional :: error
+    logical trans
+
+    call Matrix_Cholesky(M, info) 
+    if (info==0) then
+        n=size(M,dim=1)
+#ifdef MATRIX_SINGLE
+        call STRTRI( 'L', 'N', n, M, n, INFO )
+#else
+        call DTRTRI( 'L', 'N', n, M, n, INFO )
+#endif
+    end if
+    if (present(error)) error=info
+    if (info/=0) then
+        if (present(error)) return
+        call MpiStop('Matrix_CholeskyRootInverse: not positive definite '//trim(IntToStr(info)))
+    end if
+
+    if (present(transpose)) then
+        trans = transpose
+    else
+        trans = .false.
+    end if
+
+    if (trans) then
+
+    do i=1,n
+        do j=1,i-1
+            M(j,i) = M(i,j)
+            M(i,j) = 0
+        end do
+    end do 
+
+    else
+
+    do i=1,n
+        do j=1,i-1
+            M(j,i) = 0
+        end do
+    end do 
+
+    end if
+    end subroutine Matrix_CholeskyRootInverse
+
+    subroutine Matrix_CCholeskyRootInverse(M,dagger)
+    !M = L L^\dag and return L^{-1} in M  ( or [L^(-1}]^\dag )
+    complex(dm), intent(inout):: M(:,:)
+    integer n, info
+    integer i,j
+    logical, intent(in), optional :: dagger 
+    logical trans
+
+    call Matrix_CCholesky(M) 
+    n=size(M,dim=1)
+
+#ifdef MATRIX_SINGLE
+    call CTRTRI( 'L', 'N', n, M, n, INFO )
+#else
+    call ZTRTRI( 'L', 'N', n, M, n, INFO )
+#endif
+
+    if (info/=0) call MpiStop('Matrix_CCholeskyRootInverse: not positive definite '//trim(IntToStr(info))) 
+
+    if (present(dagger)) then
+        trans = dagger
+    else
+        trans = .false.
+    end if
+
+    if (trans) then
+
+    do i=1,n
+        do j=1,i-1
+            M(j,i) = conjg(M(i,j))
+            M(i,j) = 0
+        end do
+    end do 
+
+    else
+
+    do i=1,n
+        do j=1,i-1
+            M(j,i) = 0
+        end do
+    end do 
+
+    end if
+    end subroutine Matrix_CCholeskyRootInverse
+
+
+    subroutine Matrix_inverse_chol(M, err)
+    !Inverse of symmetric matrix
+    !This should not be used in real situations, but useful for quick testing
+    real(dm), intent(inout):: M(:,:)
+    integer i,j,n
+    integer info  
+    integer, optional :: err
+
+    n=Size(M,DIM=1)
+    if (Size(M,DIM=2)/=n) call MpiStop('Matrix_Inverse: non-square matrix')
+    call Matrix_Start('Inverse')
+    if (present(err)) then
+        call Matrix_Cholesky(M,err)
+        if (err/=0) return
+    else
+        call Matrix_Cholesky(M)
+    end if
+#ifdef MATRIX_SINGLE
+    call spotri ('L', n, M, n, info)
+#else
+    call dpotri ('L', n, M, n, info)
+#endif
+    if (present(err)) then
+        err = info
+        if (err/=0) return    
+    else
+        if (info/=0) call MpiStop('Matrix_inverse: error '//trim(IntToStr(info))) 
+    end if
+    do i=1,n
+        do j=1,i-1
+            M(j,i) = M(i,j)
+        end do
+    end do 
+    call Matrix_End('Inverse')
+
+    end   subroutine Matrix_inverse_chol
+
+    subroutine Matrix_Inverse(M)
+    !Inverse of symmetric positive definite matrix
+    real(dm), intent(inout):: M(:,:)
+    integer i, n
+
+    !     real(dm) w(Size(M,DIM=1))
+    !     real(dm), dimension(:,:), allocatable :: tmp, tmp2
+    !     real(dm), dimension(:), allocatable :: norm
+
+
+    n = size(M,DIM=1)
+    do i=1, size(M,DIM=1)
+        if (abs(M(i,i)) < 1d-30) call MpiStop('Matrix_Inverse: very small diagonal'  )
+    end do
+
+    call Matrix_Inverse_Chol(M)
+    !
+    !     allocate(tmp(Size(M,DIM=1),Size(M,DIM=1)))
+    !   
+    !     n=Size(M,DIM=1)
+    !     if (n<=1) return
+    !     if (Size(M,DIM=2)/=n) call MpiStop('Matrix_Inverse: non-square matrix')
+    !     call Matrix_Start('Inverse')
+    !          
+    !
+    !     allocate(norm(n))
+    !     do i=1, n
+    !        norm(i) = sqrt(abs(M(i,i)))
+    !        if (norm(i) < 1d-30) &
+    !         call MpiStop('Matrix_Inverse: very small diagonal'  )
+    !        M(i,:) = M(i,:)/norm(i)
+    !        M(:,i) = M(:,i)/norm(i)
+    !     end do
+    !
+    !     call Matrix_Diagonalize(M,w,n)    
+    !     write (*,*), 'min/max eigenvalues = ', minval(w), maxval(w)
+    !     if (any(w<=0)) then
+    !          write (*,*), 'min/max eigenvalues = ', minval(w), maxval(w)
+    !          call MpiStop('Matrix_Inverse: negative or zero eigenvalues')  
+    !     end if
+    !     do i=1, n
+    !        tmp(i,:) = M(:,i)/w(i)
+    !     end do
+    !     allocate(tmp2(Size(M,DIM=1),Size(M,DIM=1)))
+    !     call Matrix_Mult(M,tmp,tmp2)     
+    !     M = tmp2
+    !     do i=1, n
+    !        M(i,:) = M(i,:)/norm(i)
+    !        M(:,i) = M(:,i)/norm(i)
+    !     end do
+    !     deallocate(tmp, tmp2) 
+    !     deallocate(norm)
+    !     call Matrix_End('Inverse')
+
+    end subroutine Matrix_Inverse
+
+    function Matrix_GaussianLogLike(Cov, d) result(LogLike)
+    !Returns -Log Likelihood for Gaussian: (d^T Cov^{-1} d + log|Cov|)/2
+    !** Cov is destroyed by the function** [replaced by choleksy lower triangular]
+    real(dm), intent(inout):: Cov(:,:)
+    real(dm), intent(in):: d(:)
+    real(dm), allocatable :: tmp(:)
+    real(dm) :: LogLike
+    integer info,i,n
+
+    call Matrix_Start('GaussianLogLike')
+    n = size(COV,DIM=1)
+    if (Size(COV,DIM=2)/=n) call MpiStop('Matrix_GaussianLogLike: non-square matrix')
+    if (Size(d)/=n) call MpiStop('Matrix_GaussianLogLike: covariance and d different size')
+
+    call Matrix_Cholesky(Cov)
+    LogLike = 0
+    !Log Det term:
+    do i=1, n
+        LogLike = LogLike  + log(Cov(i,i))
+    end do
+
+    !Solve for Cov^{-1}d [could use faster symmetric method]
+    allocate(tmp(n))
+    tmp = d
+#ifdef MATRIX_SINGLE  
+    call SPOTRS('L', N, 1, Cov, n, tmp, n, INFO )
+#else 
+    call DPOTRS('L', N, 1, Cov, n, tmp, n, INFO )
+#endif
+    if (INFO/=0) call MpiStop('Matrix_GaussianLogLike: error in solving for cov^{-1}d')
+
+    !Add together
+    LogLike = LogLike + dot_product(tmp,d)/2._dm
+    deallocate(tmp)
+
+    call Matrix_End('GaussianLogLike')
+
+    end function Matrix_GaussianLogLike
+
+    function Matrix_GaussianLogLikeDouble(Cov, d) result(LogLike)
+    !Returns -Log Likelihood for Gaussian: (d^T Cov^{-1} d + log|Cov|)/2
+    !** Cov is destroyed by the function** [replaced by choleksy lower triangular]
+    double precision, intent(inout):: Cov(:,:)
+    double precision, intent(in):: d(:)
+    double precision, allocatable :: tmp(:)
+    double precision :: LogLike
+    integer info,i,n
+
+    call Matrix_Start('GaussianLogLikeDouble')
+    n = size(COV,DIM=1)
+    if (Size(COV,DIM=2)/=n) call MpiStop('Matrix_GaussianLogLikeDouble: non-square matrix')
+    if (Size(d)/=n) call MpiStop('Matrix_GaussianLogLikeDouble: covariance and d different size')
+
+    call dpotrf ('L', n, Cov, n, info)
+    if (info/=0) call MpiStop('Matrix_GaussianLogLikeDouble: not positive definite '//trim(IntToStr(info))) 
+
+    LogLike = 0
+    !Log Det term:
+    do i=1, n
+        LogLike = LogLike  + log(Cov(i,i))
+    end do
+
+    !Solve for Cov^{-1}d [could use faster symmetric method]
+    allocate(tmp(n))
+    tmp = d
+    call DPOTRS('L', N, 1, Cov, n, tmp, n, INFO )
+    if (INFO/=0) call MpiStop('Matrix_GaussianLogLikeDouble: error in solving for cov^{-1}d')
+
+    !Add together
+    LogLike = LogLike + dot_product(tmp,d)/2._dm
+    deallocate(tmp)
+
+    call Matrix_End('GaussianLogLikeDouble')
+
+    end function Matrix_GaussianLogLikeDouble
+
+    subroutine Matrix_InverseAsymm(M)
+    !This should not be used in real situations, but useful for quick testing
+    real(dm), intent(inout):: M(:,:)
+    real(dm) w(Size(M,DIM=1))
+    real(dm), dimension(:,:), allocatable :: tmp, VT
+    integer i, n
+
+    n=Size(M,DIM=1)
+    if (n<=1) return
+    if (Size(M,DIM=2)/=n) call MpiStop('Matrix_InverseAsymm: non-square matrix')
+
+    allocate(tmp(n,n),VT(n,n))
+
+    call Matrix_SVD(M,n,n,w,VT)      
+
+    do i=1, n
+        tmp(i,:) = M(:,i)/w(i)
+    end do
+
+    call Matrix_Mult_TN(VT,tmp,M,1._dm,0._dm)
+    !  M = matmul(transpose(VT),tmp)   //Changed for HPCF prob Sept 07  
+
+    deallocate(tmp,VT) 
+
+    end subroutine Matrix_InverseAsymm
+
+    subroutine Matrix_SVD(Mat,m, n, D, VT)
+    !Do singular value decomposition of m x n matrix Mat
+    !Mat =  U D V^T
+    !returns U in Mat, vector D of diagonal elements of, orthogonal matrix VT= V^T  
+    integer, intent(in) :: m,n
+    real(dm), intent(inout) :: Mat(m,n)
+    real(dm), intent(out) :: D(n), VT(n,n)
+
+    integer WorkSize, ierr
+    real(dm), allocatable, dimension (:) :: rv1 
+
+
+    WorkSize=3*n**2
+
+    allocate(rv1(WorkSize))
+    call Matrix_Start('SVD')
+#ifdef MATRIX_SINGLE
+    call SGESVD('O','A',m,n, Mat, m , D,Mat,m,VT,n,rv1,WorkSize,ierr) 
+#else
+    call DGESVD('O','A',m,n, Mat, m , D,Mat,m,VT,n,rv1,WorkSize,ierr) 
+#endif
+    if (ierr/=0) call MpiStop('error in Matrix_SVD')
+    call Matrix_End('SVD')
+
+    deallocate(rv1)
+
+    end subroutine Matrix_SVD
+
+    subroutine Matrix_SVD_VT(Mat,m, n, D, U)
+    !Do singular value decomposition of m x n matrix Mat
+    !Mat =  U D V^dag
+    !returns V^dag in Mat, vector D of diagonal elements of, unitary matrix U  
+    integer, intent(in) :: m,n
+    real(dm), intent(inout) :: Mat(m,n)
+    real(dm), intent(out),optional :: U(m,m)
+    real(dm), intent(out) :: D(*)
+
+    integer WorkSize, ierr
+    integer,allocatable, dimension (:) :: IWork
+    real(dm), allocatable, dimension (:) :: rv1
+    real(dm) OptWk 
+
+    if (n<=m) call MpiStop('Matrix_SVD_VT assumed n>m. ')
+
+    call Matrix_Start('SVD_VT')
+
+    if (present(U) .and. Matrix_method == Mat_DC) then
+        !Use divide and conquer
+        allocate(IWork(8*MIN(M,N))) 
+        WorkSize= -1 !3*min(M,N)*min(M,N) +max(max(M,N),5*min(M,N)*min(M,N)+4*min(M,N))
+#ifdef MATRIX_SINGLE
+        call SGESDD('O',m,n, Mat, m ,D,U,m,Mat,n,OptWk,WorkSize,IWork,ierr) 
+#else     
+        call DGESDD('O',m,n, Mat, m ,D,U,m,Mat,n,OptWk,WorkSize,IWork,ierr) 
+#endif
+        WorkSize = nint(OptWk)
+        allocate(rv1(WorkSize))   
+#ifdef MATRIX_SINGLE
+        call SGESDD('O',m,n, Mat, m ,D,U,m,Mat,n,rv1,WorkSize,IWork,ierr) 
+#else     
+        call DGESDD('O',m,n, Mat, m ,D,U,m,Mat,n,rv1,WorkSize,IWork,ierr) 
+#endif
+        deallocate(IWOrk)
+    else
+        call MpiStop('Matrix_SVD_VT Not no-U non-DC case')
+    end if
+
+    if (ierr/=0) call MpiStop('error in Matrix_SVD_VT')
+    deallocate(rv1)
+
+    call Matrix_End('SVD_VT')
+
+    end subroutine Matrix_SVD_VT
+
+
+    subroutine Matrix_CSVD_VT(Mat,m, n, D, U)
+    !Do singular value decomposition of m x n matrix Mat
+    !Mat =  U D V^dag
+    !returns V^dag in Mat, vector D of diagonal elements of, unitary matrix U  
+    integer, intent(in) :: m,n
+    complex(dm), intent(inout) :: Mat(m,n)
+    complex(dm), intent(out),optional :: U(m,m)
+    real(dm), intent(out) :: D(*)
+
+    integer WorkSize, ierr
+    integer,allocatable, dimension (:) :: IWork
+    complex(dm), allocatable, dimension (:) :: rv1 
+    real(dm), allocatable, dimension (:) :: rwork
+
+    if (n<=m) call MpiStop('Matrix_CSVD_VT assumed n>m. If equal use SVD_U.')
+
+    call Matrix_Start('CSVD_VT')
+
+
+    if (present(U) .and. Matrix_method == Mat_DC) then
+        !Use divide and conquer
+        WorkSize= 2*min(M,N)*min(M,N)+2*min(M,N)+max(M,N) + 5*N !Add on 5N.. 
+        allocate(rv1(WorkSize))   
+        allocate(rwork(5*min(M,N)*min(M,N) + 5*min(M,N) ))
+        allocate(IWork(8*MIN(M,N))) 
+#ifdef MATRIX_SINGLE
+        call CGESDD('O',m,n, Mat, m ,D,U,m,Mat,n,rv1,WorkSize,rwork,IWork,ierr) 
+#else     
+        call ZGESDD('O',m,n, Mat, m ,D,U,m,Mat,n,rv1,WorkSize,rwork,IWork,ierr) 
+#endif
+        deallocate(IWOrk)
+    else
+
+    allocate(rwork((max(3*min(m,n),5*min(m,n)-4))))
+    WorkSize= 3*max(m,n)**2
+    allocate(rv1(WorkSize), STAT = ierr)
+    if (ierr /=0) then
+        WorkSize= MAX(3*MIN(M,N)+MAX(M,N),5*MIN(M,N))
+        allocate(rv1(WorkSize))
+    end if
+#ifdef MATRIX_SINGLE
+    if (present(U)) then
+        call CGESVD('S','O',m,n, Mat, m , D,U,m,Mat,n,rv1,WorkSize,rwork,ierr) 
+    else
+        call CGESVD('N','O',m,n, Mat, m , D,Mat,m,Mat,n,rv1,WorkSize,rwork,ierr) 
+    end if
+#else
+    if (present(U)) then
+        call ZGESVD('S','O',m,n, Mat, m , D,U,m,Mat,n,rv1,WorkSize,rwork,ierr) 
+    else
+        call ZGESVD('N','O',m,n, Mat, m , D,Mat,m,Mat,n,rv1,WorkSize,rwork,ierr) 
+    end if
+#endif       
+    end if
+
+    if (ierr/=0) call MpiStop('error in Matrix_SVD_VT')
+    deallocate(rv1)
+
+    call Matrix_End('SVD_VT')
+
+    end subroutine Matrix_CSVD_VT
+
+    subroutine Matrix_CSVD_U(Mat,m, n, D, VT)
+    !Do singular value decomposition of m x n matrix Mat
+    !Mat =  U D VT
+    !returns U in Mat, vector D of diagonal elements of, unitary matrix V  
+    integer, intent(in) :: m,n
+    complex(dm), intent(inout) :: Mat(m,n)
+    complex(dm), intent(out),optional :: VT(n,n)
+    real(dm), intent(out) :: D(*)
+    integer WorkSize, ierr
+    integer,allocatable, dimension (:) :: IWork
+    complex(dm), allocatable, dimension (:) :: rv1 
+    real(dm), allocatable, dimension (:) :: rwork
+
+    call Matrix_Start('CSVD_U')
+
+    if (m<n) call MpiStop('Matrix_CSVD_U assumed m>=n')
+
+    if (present(VT) .and. Matrix_method == Mat_DC) then
+        WorkSize= 2*min(M,N)*min(M,N)+2*min(M,N)+max(M,N) + 5*N !Add on 5N.. 
+        allocate(rv1(WorkSize))   
+        allocate(rwork(5*min(M,N)*min(M,N) + 5*min(M,N) ))
+        allocate(IWork(8*MIN(M,N))) 
+#ifdef MATRIX_SINGLE
+        call CGESDD('O',m,n, Mat, m ,D,Mat,m,VT,n,rv1,WorkSize,rwork,IWork,ierr) 
+#else
+        call ZGESDD('O',m,n, Mat, m ,D,Mat,m,VT,n,rv1,WorkSize,rwork,IWork,ierr) 
+#endif
+        deallocate(IWOrk)
+    else
+        allocate(rwork((max(3*min(m,n),5*min(m,n)-4))))
+
+        WorkSize= 3*max(m,n)**2
+        allocate(rv1(WorkSize), STAT = ierr)
+        if (ierr /=0) then
+            WorkSize= MAX(3*MIN(M,N)+MAX(M,N),5*MIN(M,N))
+            allocate(rv1(WorkSize))
+        end if
+#ifdef MATRIX_SINGLE
+        if (present(VT)) then
+            call CGESVD('O','S',m,n, Mat, m , D,Mat,m,VT,n,rv1,WorkSize,rwork,ierr) 
+        else
+            call CGESVD('O','N',m,n, Mat, m , D,Mat,m,Mat,n,rv1,WorkSize,rwork,ierr) 
+        end if
+#else
+        if (present(VT)) then
+            call ZGESVD('O','S',m,n, Mat, m , D,Mat,m,VT,n,rv1,WorkSize,rwork,ierr) 
+        else
+            call ZGESVD('O','N',m,n, Mat, m , D,Mat,m,Mat,n,rv1,WorkSize,rwork,ierr) 
+        end if
+#endif  
+    end if
+    if (ierr/=0) call MpiStop('error in Matrix_SVD_U')
+    call Matrix_End('CSVD_U')
+
+    deallocate(rv1,rwork)
+
+    end subroutine Matrix_CSVD_U
+
+
+    subroutine Matrix_CSVD_AllVT(Mat,m, n, D, VT)
+    !n>m
+    !Do singular value decomposition of m x n matrix Mat
+    !Mat =  U D V^dag
+    !returns all nxn V^dag in VT, vector D of diagonal elements of
+    integer, intent(in) :: m,n
+    complex(dm), intent(inout) :: Mat(m,n)
+    complex(dm), intent(out):: VT(n,n)
+    real(dm), intent(out) :: D(m)
+
+    integer WorkSize, ierr
+    complex(dm), allocatable, dimension (:) :: rv1 
+    complex(dm), allocatable, dimension (:,:) :: U
+    integer, allocatable, dimension(:) :: IWork
+    real(dm), allocatable, dimension (:) :: rwork
+
+
+    call Matrix_Start('CSVD_AllVT')
+
+    if (Matrix_method == Mat_DC) then
+        !Divide and conquer doesn't seem to provide outputs we want here
+        WorkSize= 2*min(M,N)*min(M,N)+2*min(M,N)+max(M,N) + 5*N !Add on 5N.. 
+        allocate(rv1(WorkSize))   
+        allocate(rwork(5*min(M,N)*min(M,N) + 5*min(M,N) ))
+        allocate(IWork(8*MIN(M,N))) 
+        allocate(U(m,m))
+#ifdef MATRIX_SINGLE
+        call CGESDD('A',m,n, Mat, m ,D,U,m,VT,n,rv1,WorkSize,rwork,IWork,ierr) 
+#else     
+        call ZGESDD('A',m,n, Mat, m ,D,U,m,VT,n,rv1,WorkSize,rwork,IWork,ierr) 
+#endif
+        deallocate(U)
+        deallocate(IWork)
+
+    else
+        WorkSize=  2*m*n + 2*max(n,m)
+        allocate(rwork(5*max(m,n)))
+        allocate(rv1(WorkSize), STAT = ierr)
+        if (ierr /=0) then
+            WorkSize= MAX(3*MIN(M,N)+MAX(M,N),5*MIN(M,N))
+            allocate(rv1(WorkSize))
+        end if
+#ifdef MATRIX_SINGLE
+        call CGESVD('N','A',m,n, Mat, m , D,Mat,m,VT,n,rv1,WorkSize,rwork,ierr) 
+#else    
+        call ZGESVD('N','A',m,n, Mat, m , D,Mat,m,VT,n,rv1,WorkSize,rwork,ierr) 
+#endif    
+    end if
+
+    if (ierr/=0) call MpiStop('error in Matrix_SVD_AllVT')
+    deallocate(rv1,rwork)
+
+    call Matrix_End('CSVD_AllVT')
+
+
+    end subroutine Matrix_CSVD_allVT
+
+
+    subroutine Matrix_DiagPreMul(D,M)
+    ! M -> matmul(diag(D),M)
+    real(dm), intent(inout) :: M(:,:)
+    real(dm), intent(in) :: D(:)
+    integer i
+
+    if (Size(D) /= SiZE(M,DIM=1)) call MpiStop('Matrix_DiagPreMul: Wrong size')
+    do i = 1, size(D)
+        M(i,:) = M(i,:)*D(i)
+    end do
+
+    end subroutine Matrix_DiagPreMul
+
+
+    subroutine Matrix_SolveSymm(M,a,soln)
+    real(dm), intent(out) :: soln(:)
+    real(dm), intent(in):: M(:,:),a(:)
+    integer IPIV(size(a)),info
+    real(dm), dimension(:,:), allocatable :: tmp
+    real(dm), dimension(:), allocatable :: work
+    integer n, WorkSize
+
+    n=Size(M,DIM=1)
+    if (n<=1) return
+    if (Size(M,DIM=2)/=n) call MpiStop('Matrix_SolveSq: non-square matrix')
+    call Matrix_Start('SolveSymm')
+
+
+    WorkSize = n**2
+    allocate(work(WorkSize))
+    allocate(tmp(n,n))
+    tmp = M
+#ifdef MATRIX_SINGLE
+    call SSYTRF('U',n,tmp,n,IPIV, work,WorkSize,info)
+#else     
+    call DSYTRF('U',n,tmp,n,IPIV, work,WorkSize,info)
+#endif
+    deallocate(work)
+    if (info/=0) call MpiStop('error in SolveSymm')
+    soln(1:n) = a(1:n)
+#ifdef MATRIX_SINGLE
+    call SSYTRS('U',n,1,tmp,n,IPIV,soln,n,info)
+#else
+    call DSYTRS('U',n,1,tmp,n,IPIV,soln,n,info)
+#endif
+    if (info/=0) call MpiStop('error (2) in SolveSymm')
+    deallocate(tmp)
+
+    call Matrix_End('SolveSymm')
+
+
+    end subroutine Matrix_SolveSymm
+
+
+    subroutine Matrix_SolveASymm(M,a,soln)
+    real(dm), intent(out) :: soln(:)
+    real(dm), intent(in):: M(:,:),a(:)
+    integer IPIV(size(a)),info
+    real(dm), dimension(:,:), allocatable :: tmp
+    integer n
+
+    n=Size(M,DIM=1)
+    if (n<=1) return
+    if (Size(M,DIM=2)/=n) call MpiStop('Matrix_SolveSq: non-square matrix')
+
+    call Matrix_Start('SolveASymm')
+
+    allocate(tmp(n,n))
+    tmp = M
+#ifdef MATRIX_SINGLE
+    call SGETRF(n,n,tmp,n,IPIV, info)
+#else
+    call DGETRF(n,n,tmp,n,IPIV, info)
+#endif
+    if (info/=0) call MpiStop('error in SolveASymm')
+    soln(1:n) = a(1:n)
+#ifdef MATRIX_SINGLE
+    call SGETRS('N',n,1,tmp,n,IPIV,Soln,n,info)
+#else
+    call DGETRS('N',n,1,tmp,n,IPIV,Soln,n,info)
+#endif
+    if (info/=0) call MpiStop('error (2) in SolveASymm')
+    deallocate(tmp) 
+
+    call Matrix_End('SolveASymm')
+
+    end subroutine Matrix_SolveASymm
+
+    function Matrix_vecdot(vec1,vec2)
+    real(dm) vec1(:),vec2(:)
+    real(dm) Matrix_vecdot
+    integer n
+#ifdef MATRIX_SINGLE
+    real(dm) sdot
+    external sdot
+#else  
+    real(dm) ddot
+    external ddot
+#endif
+    n=size(vec1)
+    if (n/=size(vec2)) call MpiStop('Matrix_vecdot: size mismatch')
+#ifdef MATRIX_SINGLE
+    Matrix_vecdot = sdot(n, vec1, 1, vec2, 1)
+#else
+    Matrix_vecdot = ddot(n, vec1, 1, vec2, 1)
+#endif
+    end function Matrix_vecdot
+
+    function Matrix_QuadForm(Mat,vec)
+    !Get vec^T*Mat*vec where Mat is symmetric
+    real(dm) Matrix_QuadForm
+    real(dm) vec(:)
+    real(dm) Mat(:,:)
+    real(dm), dimension(:), allocatable :: out
+    integer n
+
+    n=size(vec)
+    allocate(out(n))
+    call Matrix_MulVecSymm(Mat,vec,out)
+    Matrix_QuadForm = Matrix_vecdot(vec, out)
+    deallocate(out)
+
+    end function Matrix_QuadForm
+
+    subroutine Matrix_MulVec(Mat,vec,Out,a,b)
+    ! Out = a*Mat*vec + b*out
+    real(dm), intent(in) :: Mat(:,:)
+    real(dm) vec(:)
+    real(dm) Out(:) 
+    real(dm), intent(in), optional :: a,b
+    real(dm)  mult, beta 
+    integer m,n
+
+    call Matrix_Start('MulVec')
+
+    m = Size(Mat,DIM=1)
+    n = Size(Vec)
+    if (Size(Mat,DIM=2) /= n) call MpiStop('Matrix_MulVec: size mismatch')
+    if (present(a)) then
+        mult = a
+    else
+        mult = ROne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = RZero
+    end if
+
+    if (matrix_method == Mat_F90) then
+        if (beta /= RZero) then
+            out = a*MatMul(Mat,Vec) + beta*Out
+        else
+            out = MatMul(Mat,Vec)
+            if (mult /= ROne) Out = Out*mult
+        end if     
+    else
+#ifdef MATRIX_SINGLE
+        call SGEMV('N',m,n,mult,Mat,m,vec, 1,beta, Out,1)
+#else     
+        call DGEMV('N',m,n,mult,Mat,m,vec, 1,beta, Out,1)
+#endif
+    end if
+    call Matrix_End('MulVec')
+
+    end subroutine Matrix_MulVec
+
+    subroutine Matrix_MulVecSingle(Mat,vec,Out,a,b)
+    ! Out = a*Mat*vec + b*out
+    real, intent(in) :: Mat(:,:)
+    real vec(:)
+    real Out(:) 
+    real, intent(in), optional :: a,b
+    real  mult, beta 
+    integer m,n
+
+    call Matrix_Start('MulVecSingle')
+
+    m = Size(Mat,DIM=1)
+    n = Size(Vec)
+    if (Size(Mat,DIM=2) /= n) call MpiStop('Matrix_MulVecSingle: size mismatch')
+    if (present(a)) then
+        mult = a
+    else
+        mult = SOne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = SZero
+    end if
+
+    if (matrix_method == Mat_F90) then
+        if (beta /= SZero) then
+            out = a*MatMul(Mat,Vec) + beta*Out
+        else
+            out = MatMul(Mat,Vec)
+            if (mult /= SOne) Out = Out*mult
+        end if     
+    else
+        call SGEMV('N',m,n,mult,Mat,m,vec, 1,beta, Out,1)
+    end if
+    call Matrix_End('MulVecSingle')
+
+    end subroutine Matrix_MulVecSingle
+
+
+
+
+    subroutine Matrix_MulVecSymm(Mat,vec,Out,a,b)
+    ! Out = a*Mat*vec + b*out
+    real(dm), intent(in) :: Mat(:,:)
+    real(dm) vec(:)
+    real(dm) Out(:) 
+    real(dm), intent(in), optional :: a,b
+    real(dm)  mult, beta 
+    integer m,n
+
+    call Matrix_Start('MulVecSymm')
+
+    m = Size(Mat,DIM=1)
+    n = Size(Vec)
+    if (m /= n) call MpiStop('Matrix_MulVecSymm: size mismatch')
+    if (present(a)) then
+        mult = a
+    else
+        mult = ROne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = RZero
+    end if
+
+    if (matrix_method == Mat_F90) then
+        if (beta /= RZero) then
+            out = a*MatMul(Mat,Vec) + beta*Out
+        else
+            out = MatMul(Mat,Vec)
+            if (mult /= ROne) Out = Out*mult
+        end if     
+    else
+#ifdef MATRIX_SINGLE
+        call SSYMV('U',m,mult,Mat,m,vec, 1,beta, Out,1)
+#else     
+        call DSYMV('U',m,mult,Mat,m,vec, 1,beta, Out,1)
+#endif
+    end if
+    call Matrix_End('MulVecSymm')
+
+    end subroutine Matrix_MulVecSymm
+
+    subroutine Matrix_MulVecSymmSingle(Mat,vec,Out,a,b)
+    ! Out = a*Mat*vec + b*out
+    real, intent(in) :: Mat(:,:)
+    real vec(:)
+    real Out(:) 
+    real, intent(in), optional :: a,b
+    real  mult, beta 
+    integer m,n
+
+    call Matrix_Start('MulVecSymm')
+
+    m = Size(Mat,DIM=1)
+    n = Size(Vec)
+    if (m /= n) call MpiStop('Matrix_MulVecSymm: size mismatch')
+    if (present(a)) then
+        mult = a
+    else
+        mult = SOne
+    end if
+    if (present(b)) then
+        beta = b    
+    else
+        beta = SZero
+    end if
+
+    if (matrix_method == Mat_F90) then
+        if (beta /= RZero) then
+            out = a*MatMul(Mat,Vec) + beta*Out
+        else
+            out = MatMul(Mat,Vec)
+            if (mult /= ROne) Out = Out*mult
+        end if     
+    else
+        call SSYMV('U',m,mult,Mat,m,vec, 1,beta, Out,1)
+    end if
+    call Matrix_End('MulVecSymmSingle')
+
+    end subroutine Matrix_MulVecSymmSingle
+
+    function Matrix_vecdotSingle(vec1,vec2)
+    real vec1(:),vec2(:)
+    real Matrix_vecdotSingle
+    integer n
+    real sdot
+    external sdot
+
+    n=size(vec1)
+    if (n/=size(vec2)) call MpiStop('Matrix_vecdotSingle: size mismatch')
+    Matrix_vecdotSingle = sdot(n, vec1, 1, vec2, 1)
+
+    end function Matrix_vecdotSingle
+
+
+    subroutine Matrix_InverseArrayMPI(Arr,nmat)
+    !Invert array of matrices by sending each to separate CPU
+    integer, intent(in) :: nmat
+#ifdef __GFORTRAN__    
+    Type(TMatrixType), target :: Arr(:)
+#else
+    Type(TMatrixType), target :: Arr(*)
+#endif
+    Type(TMatrixType), pointer :: AM
+    integer n
+    integer i,MpiID, MpiSize
+    integer sz
+#ifdef MPI        
+    integer j, ierr, sid
+    Type(TMatrixType), target :: tmp
+#endif     
+
+    call MpiStat(MpiID, MpiSize)
+    if (MpiId==0) then
+        n=nmat
+        sz = Size(Arr(1)%M,DIM=1)
+    end if 
+    !    if (MpiID==0) then
+    !     do i=1,nmat
+    !      print *,'inverting',i
+    !      call Matrix_inverse(Arr(i)%M)
+    !     end do
+    !    end if
+    !    return
+#ifdef MPI        
+    if (MpiID==0) print *, 'MatrixInverseArray: starting'
+    call MPI_BCAST(n,1,MPI_INTEGER, 0, MPI_COMM_WORLD, ierr) 
+    call MPI_BCAST(sz,1,MPI_INTEGER, 0, MPI_COMM_WORLD, ierr) 
+    if (MpiID/=0) then
+        allocate(tmp%M(sz,sz))           
+        AM => tmp
+    end if
+#endif
+
+    do i= 1,n
+        if (MpiID==0) AM => Arr(i)
+#ifdef MPI       
+        if (mod(i,MpiSize)/=MpiID) then
+            !Do nothing
+            if (MpiId==0) then
+                j=mod(i,MpiSize)
+                call MPI_SEND(AM%M,size(AM%M),MPI_DOUBLE_PRECISION, j, 1, MPI_COMM_WORLD, ierr) 
+            end if
+        else
+            if (MpiId/=0) then
+                !Get from main thread
+                call MPI_RECV(AM%M,size(AM%M),MPI_DOUBLE_PRECISION, 0, 1, MPI_COMM_WORLD,MPI_STATUS_IGNORE, ierr) 
+
+            end if
+#endif         
+            call Matrix_Inverse(AM%M)
+
+#ifdef MPI
+            if (MpiID==0) then
+                do j = max(1,i-MpiSize+1),i-1 
+                    sid = mod(j,MpiSize)
+                    call MPI_RECV(Arr(j)%M,size(Arr(j)%M),MPI_DOUBLE_PRECISION, sid, 1, MPI_COMM_WORLD, MPI_STATUS_IGNORE, ierr) 
+                end do
+            else
+                call MPI_SEND(AM%M,size(AM%M),MPI_DOUBLE_PRECISION, 0, 1, MPI_COMM_WORLD, ierr) 
+            end if
+
+        end if 
+#endif
+    end do
+
+
+#ifdef MPI
+    if (MpiID==0) then
+        do j=n - mod(n,MpiSize) +1 ,n
+            sid= mod(j,MpiSize)
+            call MPI_RECV(ARr(j)%M,Size(ARr(j)%M),MPI_DOUBLE_PRECISION, sid, 1, MPI_COMM_WORLD, MPI_STATUS_IGNORE, ierr) 
+        end do
+    else
+        deallocate(tmp%M)           
+    end if
+#endif   
+    if (MpiID==0) print *, 'MatrixInverseArray: Done'
+
+
+    end subroutine Matrix_InverseArrayMPI
+
+
+
+    end module MatrixUtils
diff --git a/README.md b/README.md
index 864bde9..e1d3b70 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,49 @@
-# axionCAMB
\ No newline at end of file
+# <a name="top"></a>AxionCamb
+*[AxionCamb and CAMB](#intro)
+*[Basic Usage](#basics)
+*[Physics](#physics)
+*[Known Issues and Warnings](#warnings)
+
+----------------------------------------------------------------------
+#### <a name="intro"></a>AxionCamb and CAMB
+
+CODE Authors:
+
+* Daniel Grin
+* David JE Marsh
+* Renee Hlozek
+
+AxionCamb is a modified version of the publicly available code "CAMB," which is available at http://camb.info/ and on GitHub at https://github.com/cmbant/CAMB
+AxionCamb computes cosmological observables for comparison with data. This is normally the CMB power spectra (T,E,B,\phi in auto and cross power), but also includes the matter power spectrum. 
+We try and keep AxionCamb up to date with developments in CAMB, but the codes are independent, so they may not always be equivalent. The "base" version of CAMB that AxionCamb is built off is Nov13. 
+The physics of AxionCamb is described in detail in http://arxiv.org/abs/1410.2896 (HGMF). When using this code, you should cite HGMF, and the original version of CAMB.
+For parameter estimation, AxionCamb is compatible with cosmomc, with minimal modifications. However, you should be careful with sampling and degeneracies, as described in HGMF.
+AxionCamb is also compatible as a module in cosmosis (https://bitbucket.org/joezuntz/cosmosis/wiki/Home)
+
+----------------------------------------------------------------------
+#### <a name="basics"></a>Basic Usage
+
+Refer to CAMB documentation for all non-axion related things.
+AxionCamb adds one new fluid component: the axion fluid. This is included in equations_ppf.f90.
+The axion fluid is consistently incoroporated into the evolution of all background and perturbation variables, including, for example, recombination in recfast_axion.f90.
+There are two new parameters: the axion mass, ma (measured in eV), and the axion energy density, omaxh2. These are entered in params.ini as usual.
+Sensible values for the axion mass range between 1e-33 and 1e-18, though the code works for values outside of this range.
+The axion fluid can function as either a dark matter component or a dark energy component depending on the mass.
+
+Isocurvature perturbations in the axion fluid can be turned on using initial_condition=6.
+AxionCamb can be used in conjunction with the additional neutrino parameters of neutrino mass and number of species.
+AxionCamb cannot (currently) be used in conjunction with additional dark energy parameters, such as the equation of state.
+
+----------------------------------------------------------------------
+#### <a name="physics"></a>Physics
+
+At early times, the fluid equations solved are equivalent to the first order perturbed Klein-Gordon equation in synchronous gauge.
+At late times, the WKB approximation matches the axion field to an effective fluid with equation of state zero, and a scale-dependent sound speed.
+The energy density is found using a shooting method from an initial guess for the axion field value. 
+The background evolution is computed in axion_background.f90, which creates an array for the axion equation of state. This array is carried around everywhere the energy densities are needed.
+
+----------------------------------------------------------------------
+#### <a name="warnings"></a>Known Issues and Warnings
+
+You should be careful if you use any non-linear options (setting do_nonlinear \= 0). AxionCamb uses halofit_ppf.f90 with various modifications. The treatment of axions is not expected to be quantitatively correct, and various approximations are made (these will documented at a later date). The default version of halofit is set to the original "Smith" version, as this is expected to be most stable.
+You should also be careful of galaxy bias if you use galaxy survey data, as discussed in HGMF.
diff --git a/README.md~ b/README.md~
new file mode 100644
index 0000000..3db89ec
--- /dev/null
+++ b/README.md~
@@ -0,0 +1,43 @@
+# <a name="top"></a>AxionCamb
+*[AxionCamb and CAMB](#intro)
+*[Basic Usage](#basics)
+*[Physics](#physics)
+*[Known Issues and Warnings](#warnings)
+
+----------------------------------------------------------------------
+#### <a name="intro"></a>AxionCamb and CAMB
+
+AxionCamb is a modified version of the publicly available code "CAMB," which is available at http://camb.info/ and on GitHub at https://github.com/cmbant/CAMB
+AxionCamb computes cosmological observables for comparison with data. This is normally the CMB power spectra (T,E,B,\phi in auto and cross power), but also includes the matter power spectrum.
+We try and keep AxionCamb up to date with developments in CAMB, but the codes are independent, so they may not always be equivalent. The "base" version of CAMB that AxionCamb is built off is Nov13. 
+The physics of AxionCamb is described in detail in http://arxiv.org/abs/1410.2896 (HGMF). When using this code, you should cite HGMF, and the original version of CAMB.
+For parameter estimation, AxionCamb is compatible with cosmomc, with minimal modifications. However, you should be careful with sampling and degeneracies, as described in HGMF.
+AxionCamb is also compatible as a module in cosmosis (https://bitbucket.org/joezuntz/cosmosis/wiki/Home)
+
+----------------------------------------------------------------------
+#### <a name="basics"></a>Basic Usage
+
+Refer to CAMB documentation for all non-axion related things.
+AxionCamb adds one new fluid component: the axion fluid. This is included in equations_ppf.f90.
+The axion fluid is consistently incoroporated into the evolution of all background and perturbation variables, including, for example, recombination in recfast_axion.f90.
+There are two new parameters: the axion mass, ma (measured in eV), and the axion energy density, omaxh2. These are entered in params.ini as usual.
+Sensible values for the axion mass range between 1e-33 and 1e-18, though the code works for values outside of this range.
+The axion fluid can function as either a dark matter component or a dark energy component depending on the mass.
+
+Isocurvature perturbations in the axion fluid can be turned on using initial_condition=6.
+AxionCamb can be used in conjunction with the additional neutrino parameters of neutrino mass and number of species.
+AxionCamb cannot (currently) be used in conjunction with additional dark energy parameters, such as the equation of state.
+
+----------------------------------------------------------------------
+#### <a name="physics"></a>Physics
+
+At early times, the fluid equations solved are equivalent to the first order perturbed Klein-Gordon equation in synchronous gauge.
+At late times, the WKB approximation matches the axion field to an effective fluid with equation of state zero, and a scale-dependent sound speed.
+The energy density is found using a shooting method from an initial guess for the axion field value. 
+The background evolution is computed in axion_background.f90, which creates an array for the axion equation of state. This array is carried around everywhere the energy densities are needed.
+
+----------------------------------------------------------------------
+#### <a name="warnings"></a>Known Issues and Warnings
+
+You should be careful if you use any non-linear options (setting do_nonlinear \= 0). AxionCamb uses halofit_ppf.f90 with various modifications. The treatment of axions is not expected to be quantitatively correct, and various approximations are made (these will documented at a later date). The default version of halofit is set to the original "Smith" version, as this is expected to be most stable.
+You should also be careful of galaxy bias if you use galaxy survey data, as discussed in HGMF.
diff --git a/SeparableBispectrum.F90 b/SeparableBispectrum.F90
new file mode 100644
index 0000000..add1ec1
--- /dev/null
+++ b/SeparableBispectrum.F90
@@ -0,0 +1,1397 @@
+!First version AL October 2010
+
+!Calculates local fnl and CMB lensing bispectra
+!CMB lensing bispectra are calculated in the approximation in which the first-order
+!result is used replacing the unlensed with the lensing power spectra
+!This is non-perturbatively correct to about 1%
+!Note the lensing bispectrum only includes the linear potentials, no Rees-Sciama or SZ
+!See Lewis, Challinor & Hanson 2010 for details
+
+!Note that the primordial local bispectra are unlensed (see arXiv: 0905.4732)
+
+!Compile with LAPACK and -DFISHER if you want to get the fisher matrix outputs
+!This is disabled by default in order not to require LAPACK
+
+!Fisher results are with and without the cosmic variance from low L_1
+
+module Bispectrum
+ use ModelParams
+ use ModelData
+ use InitialPower
+ use SpherBessels
+ use IniFile
+ implicit none
+ 
+   integer, parameter :: max_bispectrum_deltas = 5, max_bispectrum_fields=3
+
+   Type TBispectrumParams
+     logical do_lensing_bispectrum 
+     logical do_primordial_bispectrum
+     integer nfields
+     integer Slice_Base_L, ndelta, deltas(max_bispectrum_deltas)
+     logical do_parity_odd
+     logical DoFisher
+     logical export_alpha_beta
+     real(dl) FisherNoise, FisherNoisePol, FisherNoiseFwhmArcmin
+     character(LEN=Ini_max_string_len)  FullOutputFile
+     logical SparseFullOutput
+   end Type
+
+    !global parameter for now, only intend for this module to be used interactively for the moment
+    Type(TBispectrumParams)  :: BispectrumParams
+
+   Type TBispectrum
+      real(dl), pointer :: b(:,:)
+   end Type 
+   Type TCov
+      real(dl), pointer :: C(:,:)
+   end type TCov
+
+   Type TCov2
+      real(dl) :: C(2,2)
+   end type TCov2
+
+   Type TCov3
+      real(dl) :: C(3,3)
+   end type TCov3
+ 
+   real(dl), allocatable :: dJl(:,:), dddJl(:,:)
+   real(dl), parameter :: InternalScale = 1d10
+   character(LEN=1024) :: output_root =''
+   integer, parameter :: shape_local = 1, shape_warm = 2, shape_warm2 = 3
+   integer, parameter :: shape = shape_local
+
+   real(dl), allocatable :: TransferPolFac(:)      !sqrt((l+2)!/(l-2)!)      
+contains
+        
+        subroutine InitBesselDerivs(CTrans)
+         ! j_l' array for interpolation if needed; not needed for local fnl
+         Type(ClTransferData) :: CTrans
+         integer i,l1,j
+         real(dl) Jm, Jp
+         
+           if (allocated(dJl)) then
+            deallocate(dJL, dddJl)
+           end if
+           allocate(dJl(BessRanges%npoints,CTrans%ls%l0),dddJl(BessRanges%npoints,CTrans%ls%l0))
+           
+           do i=1, CTrans%ls%l0
+           !Spline agrees well
+           !  call spline_deriv(BessRanges%points,ajl(1,i),ajlpr(1,i),dJl(1,i),BessRanges%npoints)
+           !  call spline(BessRanges%points,dJl(1,i),BessRanges%npoints,spl_large,spl_large,dddJl(1,i))
+           
+             l1 = CTrans%ls%l(i)
+             do j=1, BessRanges%npoints
+              call BJL(l1-1,BessRanges%points(j),Jm)
+              call BJL(l1+1,BessRanges%points(j),Jp)
+              dJl(j,i)=  ( l1*Jm - (l1+1)*Jp)/(2*l1+1)
+             end do
+            call spline(BessRanges%points,dJl(1,i),BessRanges%npoints,spl_large,spl_large,dddJl(1,i))
+           
+           end do           
+        
+        end subroutine InitBesselDerivs
+
+     subroutine NonGauss_l_r_localOpt(CTrans, ind, indP, res, resP, nfields, r)
+         !functions of the form int dk k^2 k^i j_l(kr) Delta_l(k) [P]
+         !ind and indP are arrays of required k^i powers
+         !res and resP are the results without and with the power spectrum P in the integrand
+          Type(ClTransferData) :: CTrans
+          integer, intent(in) :: ind(:), indP(:) 
+          integer :: nfields
+          real(dl) res(CTrans%ls%l0,size(ind),nfields), resP(CTrans%ls%l0,size(indP),nfields)
+          real(dl), intent(in) :: r
+          integer q_ix, j, bes_ix
+          integer n, nP, ellmax
+          real(dl) xf , J_l, fac, a2, k, dlnk, term, P, kpow, kpowP        
+          
+          n = size(ind)
+          nP =size(indP)          
+          res=0
+          resP = 0
+          do q_ix = 1, CTrans%q%npoints 
+            k = CTrans%q%points(q_ix)
+            xf = k*r  
+            bes_ix=Ranges_indexOf(BessRanges,xf)
+            fac=BessRanges%points(bes_ix+1)-BessRanges%points(bes_ix)
+            a2=(BessRanges%points(bes_ix+1)-xf)/fac
+            fac=fac**2*a2/6
+            dlnk = CTrans%q%dpoints(q_ix) /k
+            P = ScalarPower(k, 1)*InternalScale  !!only first index for now
+          
+            ellmax = max(xf/(1-xlimfrac), xf + xlimmin) * AccuracyBoost
+            kpow =  k**(ind(1)+3)  
+            kpowP = k**indP(1) * P      
+            do j=1,CTrans%ls%l0
+             if (CTrans%ls%l(j) <= ellmax) then
+              J_l=a2*ajl(bes_ix,j)+(1-a2)*(ajl(bes_ix+1,j) - ((a2+1) &
+                         *ajlpr(bes_ix,j)+(2-a2)*ajlpr(bes_ix+1,j))* fac) !cubic spline
+              term = CTrans%Delta_p_l_k(1,j,q_ix)*J_l*dlnk  
+              res(j,1,1) = res(j,1,1) + term * kpow
+              resP(j,1,1) = resP(j,1,1) + term * kpowP
+              if (nfields>1) then
+                !E pol
+                  term = CTrans%Delta_p_l_k(2,j,q_ix)*J_l*dlnk * TransferPolFac(CTrans%ls%l(j))  
+                  res(j,1,2) = res(j,1,2) + term * kpow
+                  resP(j,1,2) = resP(j,1,2) + term * kpowP
+                  if (nfields>2) then
+                  !lensing potential
+                  term = CTrans%Delta_p_l_k(3,j,q_ix)*J_l*dlnk 
+                  res(j,1,3) = res(j,1,3) + term * kpow
+                  resP(j,1,3) = resP(j,1,3) + term * kpowP
+                  end if
+              end if
+             
+             end if
+           end do
+         end do
+         resP = resP * fourpi
+         res = res * 2/pi
+               
+        end subroutine NonGauss_l_r_localOpt
+
+        subroutine NonGauss_l_r(CTrans, ind, indP,res, resP,nfields, r)
+         !functions of the form int dk k^2 k^i j_l(kr) Delta_l(k) [P]
+         !ind and indP are arrays of required k^i powers
+         !res and resP are the results without and with the power spectrum P in the integrand
+         !Output of P scaled by 1d10 (so bispectrum by 1d20)
+          Type(ClTransferData) :: CTrans
+          integer:: nfields
+          integer, intent(in) :: ind(:), indP(:) 
+          real(dl) res(CTrans%ls%l0,size(ind),nfields), resP(CTrans%ls%l0,size(indP),nfields)
+          real(dl), intent(in) :: r
+          integer q_ix, j, bes_ix, i
+          integer n, nP, ellmax
+          real(dl) xf , J_l, fac, a2, k, dlnk, term, P, kpow(size(ind)), kpow2(size(indP))        
+     
+          if (shape == shape_local) then
+            call NonGauss_l_r_localOpt(CTrans, ind, indP,res, resP, nfields, r)
+            return
+          end if
+          
+          n = size(ind)
+          nP =size(indP)          
+          res=0
+          resP = 0
+          do q_ix = 1, CTrans%q%npoints 
+            k = CTrans%q%points(q_ix)
+            xf = k*r  
+            bes_ix=Ranges_indexOf(BessRanges,xf)
+            fac=BessRanges%points(bes_ix+1)-BessRanges%points(bes_ix)
+            a2=(BessRanges%points(bes_ix+1)-xf)/fac
+            fac=fac**2*a2/6
+            dlnk = CTrans%q%dpoints(q_ix) /k
+            P = ScalarPower(k, 1)*InternalScale  !!only first index for now
+          
+            ellmax = max(xf/(1-xlimfrac), xf + xlimmin) * AccuracyBoost
+            do i=1,n
+              kpow(i)=k**(ind(i)+3)
+            end do
+            do i=1,nP
+              kpow2(i)=k**indP(i) * P
+            end do
+                      
+            do j=1,CTrans%ls%l0
+             if (CTrans%ls%l(j) <= ellmax) then
+
+              J_l=a2*ajl(bes_ix,j)+(1-a2)*(ajl(bes_ix+1,j) - ((a2+1) &
+                         *ajlpr(bes_ix,j)+(2-a2)*ajlpr(bes_ix+1,j))* fac) !cubic spline
+              !call BJL(CTrans%ls%l(j), xf, J_l)           
+              term = CTrans%Delta_p_l_k(1,j,q_ix)*J_l*dlnk  
+              do i=1,n
+               res(j,i,1) = res(j,i,1) + term *kpow(i)
+              end do
+              do i=1,nP
+               resP(j,i,1) = resP(j,i,1) + term * kpow2(i)
+              end do
+         !     if (CTrans%ls%l(j)==8) write (1,'(9D20.7)') &
+         !      k, xf, real(term * k**3/dlnk), real(term * k**indP(1) * P), &
+         !      real(res(j,1)),real(resP(j,1)), J_l, real(term), real(CTrans%Delta_p_l_k(1,j,q_ix))
+              if (nfields>1) then
+                !E pol
+                  term = CTrans%Delta_p_l_k(2,j,q_ix)*J_l*dlnk* TransferPolFac(CTrans%ls%l(j))  
+                  do i=1,n
+                   res(j,i,2) = res(j,i,2) + term *kpow(i)
+                  end do
+                  do i=1,nP
+                   resP(j,i,2) = resP(j,i,2) + term * kpow2(i)
+                  end do
+                  if (nfields>2) then
+                  !lensing potential
+                  term = CTrans%Delta_p_l_k(3,j,q_ix)*J_l*dlnk 
+                      do i=1,n
+                       res(j,i,3) = res(j,i,3) + term *kpow(i)
+                      end do
+                      do i=1,nP
+                       resP(j,i,3) = resP(j,i,3) + term * kpow2(i)
+                      end do
+                  end if
+              end if
+                              
+             end if
+           end do
+         end do
+         resP = resP * fourpi
+         res = res * 2/pi
+               
+        end subroutine NonGauss_l_r
+
+
+        subroutine GetBispectrum(CTrans)
+         !Note: may need high maxetak to make sure oscillatory k integrals cancel correctly
+         !for accurate alpha(r), beta(r), e.g. 8000; not so important for bispectrum
+         !increase accuracy_boost
+          use lensing
+          use lvalues
+          use constants
+          use Ranges
+#ifdef FISHER
+          use MatrixUtils
+#endif          
+          integer, parameter :: max_bispectra = 2  !fnl, lensing
+          Type(ClTransferData) :: CTrans
+          Type(Regions) :: TimeStepsNongauss
+          integer, allocatable ::  ind(:), indP(:), indPd(:)
+          real(dl), allocatable :: res(:,:,:), resP(:,:,:), resPd(:,:)
+          real(dl), allocatable :: res_l(:,:,:), resP_l(:,:,:), resPd_l(:,:)
+          real(dl) r, term
+          Type(TBispectrum), target,allocatable :: Bispectra(:,:,:,:), OddBispectra (:)
+            !TTT, TTE, etc; last index is bispectrum kind, default 1=fnl, 2=lensing
+            !OddBispectra are parity odd terms like TEB (if do_parity_odd requested for lensing)
+          Type(TBispectrum), pointer :: Bispectrum
+              !For use in Fisher approximations 
+          real(dl) test(lmin:CTrans%ls%l(CTrans%ls%l0))
+          integer i, j, l1,l2,l3, il1, n,np, npd
+          integer min_l, max_l, lmax
+          real(dl) tmp, tmp1, tmp2, tmp3
+          real(dl) a3j(0:CTrans%ls%l(CTrans%ls%l0)*2+1)         
+          real(dl) a3j2(0:CTrans%ls%l(CTrans%ls%l0)*2+1,4,2)
+          real(dl) CLForLensingIn(4,lmin:CTrans%ls%l(CTrans%ls%l0)),CPhi(3,lmin:CTrans%ls%l(CTrans%ls%l0))
+          Type(lSamples) :: SampleL
+          real starttime  
+          real(dl) Bscale
+          integer field, field1,field2,field3, bi_ix,bix
+          Type(TCov2), allocatable :: CForLensing(:)
+          integer nfields, nbispectra, bispectrum_type      
+          integer :: fnl_bispectrum_ix = 1
+          integer :: lens_bispectrum_ix = 2
+          character(LEN=256) ::  file_tag = ''
+          integer idelta, fileid
+          character(LEN=26) :: BispectrumNames(max_bispectra)
+          integer :: parities(3), oddix  
+          integer, parameter :: lmax_lensing_corrT = 300 
+            !assume C^{T\psi} zero above this for CMB lensing; also neglect lensing contributions to variance
+          integer, parameter :: lmax_lensing_corrE = 40 !assume C^{E\psi} zero above this for CMB lensing
+
+          integer, parameter :: first_order_unlensed = 1, first_order_lensed = 2
+          integer, parameter :: lens_bispectrum_approx = first_order_lensed
+#ifdef FISHER
+         Type(TBispectrum), pointer :: Bispectrum2
+          real(dl) Cl(4,lmin:CTrans%ls%l(CTrans%ls%l0))
+          real(dl)  a3j_00(0:CTrans%ls%l(CTrans%ls%l0)*2+1)          
+          integer lstart
+          real(dl) Noise, NoiseP, bias
+          real(dl), allocatable:: fish_contribs(:,:,:)
+          real(dl) fish_contribs_sig(lmin:CTrans%ls%l(CTrans%ls%l0))
+          real(dl), allocatable :: ifish_contribs(:,:,:,:,:), Fisher(:,:), tmpFisher(:,:),OptimalFisher(:,:)
+          real(dl), allocatable :: tmpBigFisher(:,:), Fisher_L1(:,:,:),tmpProjFisher(:,:)
+          real(dl), allocatable :: fish_l1(:,:,:,:), fish_L_ij(:,:), fish_L_noise(:,:)
+          Type(TBispectrum), target,allocatable :: SqueezedLensingKernel(:,:)
+          real(dl) sigma2, xlc, tmpf(3)
+          integer  f1,f2,f3, minl2,bigi,bigj, bispectrum_type2, lmaxcuti
+          integer sz,corrsize
+          Type(TCov), allocatable :: InvC(:)
+          integer ix1,ix2
+          real(dl) tmpArr(lmin:CTrans%ls%l(CTrans%ls%l0))
+#endif
+          
+          parities(1)=1  !T
+          parities(2)=1  !E
+          parities(3)=-1 !B
+
+
+          if (BispectrumParams%do_primordial_bispectrum) then
+           fnl_bispectrum_ix = 1
+           nbispectra=1
+           BispectrumNames(fnl_bispectrum_ix)='fnl'
+          else
+           fnl_bispectrum_ix = 0
+           nbispectra=0
+          end if
+          if (BispectrumParams%do_lensing_bispectrum) then
+           lens_bispectrum_ix = fnl_bispectrum_ix+1
+           nbispectra=nbispectra+1
+           BispectrumNames(lens_bispectrum_ix)='lensing'
+          end if
+          if (nbispectra>max_bispectra) stop 'check max_bispectra'
+           
+          if (CP%InitPower%nn>1) stop 'Bispectrum: multiple initial power spectra not supported'         
+                
+          nfields=BispectrumParams%nfields    
+               
+          if (lSampleBoost <50) stop 'Bispectrum assumes lSampleBoost=50 (all L sampled)'     
+          
+          if (lens_bispectrum_approx == first_order_unlensed) file_tag='_unlens'
+          
+          lmax = CTrans%ls%l(CTrans%ls%l0)      
+          if (CP%DoLensing) lmax = lmax_lensed
+          SampleL%l0=0
+          l1=1
+          do 
+            if (l1<=lmax_lensing_corrE) then
+             l1 = l1+1
+            else if (l1<120) then
+             l1 =l1+nint(7/AccuracyBoost)
+            else 
+             l1 =l1+nint(50/AccuracyBoost)
+            end if    
+            if (l1>lmax) then 
+              l1 =lmax
+            end if
+            if (BispectrumParams%Slice_Base_L>0 .and. SampleL%l0>0) then
+              !Make sure requested slice base is actually calculated   
+              if ( BispectrumParams%Slice_Base_L <l1 .and. BispectrumParams%Slice_Base_L>SampleL%l(SampleL%l0)) then
+                SampleL%l0= SampleL%l0 + 1
+                SampleL%l(SampleL%l0) = BispectrumParams%Slice_Base_L                
+              end if
+            end if
+            SampleL%l0= SampleL%l0 + 1
+           ! print *,l1          
+            SampleL%l(SampleL%l0) = l1
+            if (l1 == lmax) exit
+          end do  
+          
+          allocate(Bispectra(nfields,nfields,nfields,nbispectra))
+          do field1=1,nfields
+             do field2=1,nfields
+                  do field3=1,nfields
+                    !Only store l2,l3 that are non-zero, array size is approx
+                    do bispectrum_type=1,nbispectra
+                    allocate(Bispectra(field1,field2,field3,bispectrum_type)%b((lmax*(lmax+1))/4,SampleL%l0))
+                    Bispectra(field1,field2,field3,bispectrum_type)%b=0
+                    end do
+                  end do
+             end do
+          end do  
+
+          if (BispectrumParams%do_lensing_bispectrum) then
+              
+              if (.not. CP%DoLensing) stop 'Must turn on lensing to get lensing bispectra'
+              print *,'Getting lensing reduced bispectra'
+              
+              allocate(CForLensing(lmax))
+
+              CPhi=0  
+              do i=lmin,lmax
+                 CPhi(1,i) = Cl_scalar(i,1,C_Phi)/real(i,dl)**4 * InternalScale
+                 !set correlations to zero where very small to avoid numerical issues
+                 if (i<=lmax_lensing_corrT) then
+                  CPhi(2,i) = Cl_scalar(i,1,C_PhiTemp) /real(i,dl)**3 * InternalScale
+                 end if
+                 if (i<=lmax_lensing_corrE) then
+                  CPhi(3,i) = Cl_scalar(i,1,C_PhiE) /real(i,dl)**3 * InternalScale
+                 end if
+                 tmp = i*(i+1)/(2*pi)
+                 CLForLensingIn(:,i) = CL_lensed(i,1,CT_Temp:CT_Cross) * InternalScale/tmp
+                ! CForLensing(i)%C=0
+                 CForLensing(i)%C(1,1)=CLForLensingIn(1,i)
+                 CForLensing(i)%C(1,2)=CLForLensingIn(4,i)
+                 CForLensing(i)%C(2,1)=CLForLensingIn(4,i)
+                 CForLensing(i)%C(2,2)=CLForLensingIn(2,i)
+                ! CForLensing(i)%C(3,3)=CL_lensed(i,1,CT_B) * InternalScale/tmp
+              end do
+
+#ifdef FISHER             
+              allocate(SqueezedLensingKernel(nfields,nfields))
+              do field2=1,nfields
+                      do field3=1,nfields
+                        allocate(SqueezedLensingKernel(field2,field3)%b((lmax*(lmax+1))/4,SampleL%l0))
+                        SqueezedLensingKernel(field2,field3)%b=0
+                      end do
+              end do  
+#endif
+              if (DebugMsgs) starttime=GetTestTime()         
+                        
+          
+           !$OMP PARAllEl DO DEFAUlT(SHARED),SCHEDULE(STATIC,3) &
+           !$OMP PRIVATE(il1,l1,l2,l3,max_l,min_l,bix,bi_ix, tmp1,tmp2,tmp3), &
+           !$OMP PRIVATE(field1,field2,field3, Bispectrum, a3j,a3j2)
+
+            do il1= 1, SampleL%l0
+                l1 = SampleL%l(il1)
+                if (l1 > lmax_lensing_corrT) cycle !no exit in parallel loop
+                tmp1=l1*(l1+1)
+                bi_ix=0
+                do l2= max(lmin,l1), lmax 
+                  tmp2=l2*(l2+1)
+                  min_l = max(abs(l1-l2),l2)
+                  if (mod(l1+l2+min_l,2)/=0) then
+                     min_l = min_l+1
+                  end if 
+                  max_l = min(lmax,l1+l2) 
+                  bix=bi_ix
+                  a3j2(:,:,1)=0.5d0
+                  if (nfields>1) then
+                    call GetThreeJs(a3j(abs(l2-l1)),l1,l2,0,0)   
+                    call GetThreeJs(a3j2(max(2,abs(l2-l1)),1,2),l1,l2,2,0)   
+                    call GetThreeJs(a3j2(max(2,abs(l2-l1)),2,2),l1,l2,0,2)   
+                    call GetThreeJs(a3j2(max(0,abs(l2-l1)),3,2),l1,l2,2,-2)                                       
+                    do l3=min_l,max_l ,2
+                      a3j2(l3,:,2) = a3j2(l3,:,2)/a3j(l3)*0.5d0           
+                    end do
+                  end if
+                  do field1=1,nfields
+                     do field2=1,nfields
+                          do field3=1,nfields
+                            Bispectrum=> Bispectra(field1,field2,field3, lens_bispectrum_ix)
+                            bi_ix=bix   
+                             do l3=min_l,max_l ,2
+                              bi_ix=bi_ix+1
+                              tmp3=l3*(l3+1)
+                              !bispectrum is the reduced bispectrum 
+#ifdef FISHER             
+                             if (field1==1) then  
+                              SqueezedLensingKernel(field2,field3)%b(bi_ix,il1)=  &
+                               (-tmp2+tmp3+tmp1)*(a3j2(l3,2,field2)*CForLensing(l3)%C(field2,field3)) + &       
+                               (-tmp3+tmp1+tmp2)*(a3j2(l3,2,field3)*CForLensing(l2)%C(field3,field2))
+                             end if
+#endif            
+                     
+                              Bispectrum%b(bi_ix,il1)=  &
+                                 (-tmp1+tmp2+tmp3) *  &
+                                 (a3j2(l3,1,field1)*CPhi(1+field2,l2)*CForLensing(l3)%C(field1,field3) + &
+                                  a3j2(l3,3,field1)*CPhi(1+field3,l3)*CForLensing(l2)%C(field1,field2) ) + &       
+                                 (-tmp2+tmp3+tmp1)* &
+                                 (a3j2(l3,3,field2)*CPhi(1+field3,l3)*CForLensing(l1)%C(field2,field1) + &
+                                  a3j2(l3,2,field2)*CPhi(1+field1,l1)*CForLensing(l3)%C(field2,field3) ) + &       
+                                 (-tmp3+tmp1+tmp2)* &
+                                 (a3j2(l3,2,field3)*CPhi(1+field1,l1)*CForLensing(l2)%C(field3,field2) + &
+                                  a3j2(l3,1,field3)*CPhi(1+field2,l2)*CForLensing(l1)%C(field3,field1) )         
+                              
+                             end do
+                            
+                          end do
+                     end do
+                  end do  
+                  
+              end do
+             end do  
+            !$OMP END PARAllEl DO
+            if (DebugMsgs) print *,'Time for lensing:', GetTestTime()-starttime
+           
+            if (nfields==1) BispectrumParams%do_parity_odd=.false.
+            
+            if (BispectrumParams%do_parity_odd) then 
+  
+              allocate(OddBispectra(12))
+              oddix=0
+              do field1=1,3
+                 do field2=1,3
+                      do field3=1,3
+                        if (parities(field1)+parities(field2)+parities(field3)/=1) cycle
+                        oddix=oddix+1
+                        !Only store l2,l3 that are non-zero, array size is approx
+                        allocate(OddBispectra(oddix)%b((lmax*(lmax+1))/4,SampleL%l0))
+                        OddBispectra(oddix)%b=0
+                      end do
+                 end do
+              end do  
+  
+           !$OMP PARAllEl DO DEFAUlT(SHARED),SCHEDULE(STATIC,3) &
+           !$OMP PRIVATE(il1,l1,l2,l3,max_l,min_l,bix,bi_ix, tmp1,tmp2,tmp3), &
+           !$OMP PRIVATE(field1,field2,field3, Bispectrum, a3j2, oddix)
+
+            do il1= 1, SampleL%l0
+                l1 = SampleL%l(il1)
+                if (l1 > lmax_lensing_corrT) cycle !no exit in parallel loop
+                tmp1=l1*(l1+1)
+                bi_ix=0
+                do l2= max(lmin,l1), lmax 
+                  tmp2=l2*(l2+1)
+                  min_l = max(abs(l1-l2),l2)
+                  if (mod(l1+l2+min_l,2)/=1) then
+                     min_l = min_l+1
+                  end if 
+                  max_l = min(lmax,l1+l2) 
+                  bix=bi_ix
+                    
+                    a3j2(:,:,1)=0.5d0
+                    call GetThreeJs(a3j2(max(2,abs(l2-l1)),1,2),l1,l2,2,0)   
+                    call GetThreeJs(a3j2(max(2,abs(l2-l1)),2,2),l1,l2,0,2)   
+                    call GetThreeJs(a3j2(max(0,abs(l2-l1)),3,2),l1,l2,2,-2)                                       
+                    do l3=min_l,max_l ,2
+                     a3j2(l3,:,2) = a3j2(l3,:,2)*0.5d0*sqrt(real((2*L1+1)*(2*L2+1),dl)*(2*L3+1)/(3.1415926535*4))            
+                    end do
+
+                    
+                  oddix=0
+                  do field1=1,3
+                     do field2=1,3
+                         do field3=1,3
+                            !Only calculate terms with one B
+                            if (parities(field1)+parities(field2)+parities(field3)/=1) cycle               
+                            oddix=oddix+1
+                            Bispectrum=> OddBispectra(oddix)
+                            bi_ix=bix   
+                             do l3=min_l,max_l ,2
+                              bi_ix=bi_ix+1
+                              
+                              tmp3=l3*(l3+1)
+                              !bispectrum the non-reduced bispectrum without the i
+                              if (parities(field1)==-1) then
+                               Bispectrum%b(bi_ix,il1)=  &
+                                 (-tmp1+tmp2+tmp3) *  &
+                                 (a3j2(l3,1,min(2,field1))*CPhi(1+field2,l2)*CForLensing(l3)%C(2,field3)  &
+                                  -a3j2(l3,3,min(2,field1))*CPhi(1+field3,l3)*CForLensing(l2)%C(2,field2) ) 
+                              elseif (parities(field2)==-1) then
+                               Bispectrum%b(bi_ix,il1)=  &
+                                   (-tmp2+tmp3+tmp1)* &
+                                 (-a3j2(l3,3,min(2,field2))*CPhi(1+field3,l3)*CForLensing(l1)%C(2,field1)  &
+                                  -a3j2(l3,2,min(2,field2))*CPhi(1+field1,l1)*CForLensing(l3)%C(2,field3) )  
+                              else if (parities(field3)==-1) then
+                               Bispectrum%b(bi_ix,il1)=  &
+                                 (-tmp3+tmp1+tmp2)* &
+                                 (-a3j2(l3,2,min(2,field3))*CPhi(1+field1,l1)*CForLensing(l2)%C(2,field2) + &
+                                  a3j2(l3,1,min(2,field3))*CPhi(1+field2,l2)*CForLensing(l1)%C(2,field1) )         
+                              end if
+                              
+                             end do
+                            
+                          end do
+                     end do
+                  end do  
+                  
+              end do
+             end do  
+            !$OMP END PARAllEl DO
+            end if
+
+          end if
+
+          if (BispectrumParams%do_primordial_bispectrum) then
+
+          print *,'getting reduced local fnl bispectra'
+          
+          allocate(TransferPolFac(lmax))
+          do i=2,lmax
+           TransferPolFac(i) =sqrt( real((i+1)*i,dl)*(i+2)*(i-1))
+          end do
+          
+          if (shape /= shape_local) stop 'Non-local shapes not working'
+    
+          if (shape == shape_local) then
+           n=1
+           np=1
+           npd=0 !derivatives of function
+          else if (shape == shape_warm) then
+           n=2
+           np=3
+           npd=0
+          else if (shape == shape_warm2) then
+           n=1
+           np=2
+           npd=2
+          else
+           stop 'unknown shape'
+          end if        
+                         
+          allocate(ind(n))
+          allocate(indP(np))
+          
+          if (npd>0) then
+              call InitBesselDerivs(CTrans)
+              allocate(indPd(npd))
+          end if   
+        
+          if (shape==shape_warm) then
+           !Separable form is very unstable and unworkable probably
+           ind(1) = 0
+           ind(2) = 2
+           indP(1) = 0
+           indP(2) = 2           
+           indP(3) = -2
+          else if (shape==shape_warm2) then
+           ind(1) = 0
+           indP(1) = 0
+           indP(2) = -2
+           indPd(1) = 0
+           indPd(2) = -2           
+          else
+           ind(1) = 0
+           indP(1) = 0
+          end if
+          
+          test=0
+          call Ranges_Nullify(TimeStepsNongauss)
+          call Ranges_Assign(TimeStepsNongauss,TimeSteps)
+          call Ranges_Add_delta(TimeStepsNongauss, -taurst*10*AccuracyBoost, taurst, dtaurec)
+          call Ranges_getArray(TimeStepsNongauss, .true.)
+     
+!$        if (BispectrumParams%export_alpha_beta) call OMP_SET_NUM_THREADS(1)
+          if (BispectrumParams%export_alpha_beta) then 
+               !Note that all the points outside recombination are not really needed
+               !And these are for curvature perturbation, so do not include 3/5 factor
+               call CreateTxtFile(trim(output_root)//'_alpha.txt',100)
+               call CreateTxtFile(trim(output_root)//'_beta.txt',101)
+               call CreateTxtFile(trim(output_root)//'_alpha_beta_r.txt',102)
+          end if
+
+          if (DebugMsgs) starttime=GetTestTime()
+         
+         !$OMP PARALLEL DO DEFAUlT(SHARED),SCHEDULE(STATIC,3) &
+         !$OMP PRIVATE(i,r,res,resP,resPd,res_l,resP_l,resPd_l,term,j), &
+         !$OMP PRIVATE(il1,l1,l2,l3,min_l,max_l,tmp,tmp1,tmp2,Bispectrum), &
+         !$OMP PRIVATE(bi_ix,bix,field1,field2,field3,field)
+
+          do i= TimeStepsNongauss%npoints-1, 2,-1 
+          r=(CP%tau0-TimeStepsNongauss%points(i))
+
+          allocate(res(CTrans%ls%l0,n,nfields))
+          allocate(resP(CTrans%ls%l0,np,nfields))
+          
+          allocate(res_l(1:CTrans%ls%l(CTrans%ls%l0),n,nfields))
+          allocate(resP_l(1:CTrans%ls%l(CTrans%ls%l0),np,nfields))
+          if (npd>0) then
+              allocate(resPd(CTrans%ls%l0,npd))
+              allocate(resPd_l(1:CTrans%ls%l(CTrans%ls%l0),npd))
+           end if   
+           
+            call NonGauss_l_r(CTrans, ind, indP,res, resP, nfields, r)
+            if (npd>0) call NonGauss_deriv_l_r(CTrans, indPd,resPd, r, dJl,dddJl)
+
+            do field=1,nfields
+             do j=1,n
+              call InterpolateClArr(CTransScal%ls,res(1,j,field),res_l(lmin,j,field),CTransScal%ls%l0)
+             end do
+             do j=1,np
+              call InterpolateClArr(CTransScal%ls,resP(1,j,field),resP_l(lmin,j,field),CTransScal%ls%l0)
+             end do
+            end do
+            deallocate(res,resP)
+ 
+            if (BispectrumParams%export_alpha_beta) then
+             write(100,concat('(',lmax-lmin+1 ,'E15.5)')) res_l(lmin:lmax,1,1)
+             write(101,concat('(',lmax-lmin+1 ,'E15.5)')) resP_l(lmin:lmax,1,1)
+             write(102,'(1E15.5)') r
+            end if
+            
+            if (npd>0) then
+             do j=1,npd
+               call InterpolateClArr(CTransScal%ls,resPd(1,j),resPd_l(lmin,j),CTransScal%ls%l0)
+             end do
+             deallocate(resPd)
+            end if
+            
+            term = r**2 * TimeStepsNongauss%dpoints(i) * (3./5) 
+
+        
+ !Restrict to l1<=l2<=l3
+           do il1= 1, SampleL%l0
+            l1 = SampleL%l(il1)
+            bi_ix=0
+            do l2= max(lmin,l1), lmax 
+              min_l = max(abs(l1-l2),l2)
+              if (mod(l1+l2+min_l,2)/=0) then
+                 min_l = min_l+1
+              end if 
+              max_l = min(lmax,l1+l2) 
+              do field1=1,nfields
+                 do field2=1,nfields
+                     tmp1 = 2*term*(res_l(l1,1,field1)*resP_l(l2,1,field2) + &
+                                    res_l(l2,1,field2)*resP_l(l1,1,field1))
+                     tmp2 = 2*term*(resP_l(l1,1,field1)*resP_l(l2,1,field2))
+                  do field3=1,nfields
+                     Bispectrum => Bispectra(field1,field2,field3,fnl_bispectrum_ix)
+                     bix=bi_ix    
+                     do l3=min_l,max_l ,2
+                       bix=bix+1
+                       Bispectrum%b(bix,il1) = Bispectrum%b(bix,il1) + &
+                           (tmp1*resP_l(l3,1,field3) +   tmp2*res_l(l3,1,field3))
+                     end do
+                  end do
+                 end do
+              end do
+              bi_ix=bix    
+              
+            end do !l2
+           end do !il1
+
+            deallocate(res_l,resP_l)           
+            if (npd>0) deallocate(resPd_l)            
+          end do !TimeStepsNongauss   
+ !$OMP END PARAllEl DO
+          if (BispectrumParams%export_alpha_beta) then
+            close(100)
+            close(101)
+            close(102)
+          end if
+          deallocate(TransferPolFac)
+          call Ranges_Free(TimeStepsNongauss)
+  
+          if (DebugMsgs) print *,'Time for fnl bispectrum:', GetTestTime()-starttime
+          
+          end if !DoPrimordial  
+   
+          if (BispectrumParams%Slice_Base_L>0 .or. BispectrumParams%FullOutputFile/='') then
+          !write out slice in (muK)^3 units
+           Bscale=(COBE_CMBTemp*1d6)**3/InternalScale**2;
+           do bispectrum_type=1,nbispectra
+            if (BispectrumParams%Slice_Base_L>0) then
+             do idelta=1,BispectrumParams%ndelta
+             if (mod(BispectrumParams%Slice_Base_L + BispectrumParams%deltas(idelta),2)==1 &
+                      .and. bispectrum_type/=lens_bispectrum_ix) cycle
+             call CreateTxtFile(concat(trim(output_root)//'bispectrum_'//trim(BispectrumNames(bispectrum_type))//'_base_', &
+                            BispectrumParams%Slice_Base_L,'_delta_',BispectrumParams%deltas(idelta),trim(file_tag)//'.dat'),&
+                            nbispectra +BispectrumParams%ndelta*(bispectrum_type-1)+idelta)
+             end do
+            end if                          
+            if (BispectrumParams%FullOutputFile/='') then
+             call CreateTxtFile(concat(output_root,BispectrumParams%FullOutputFile, &
+                  '_', BispectrumNames(bispectrum_type), file_tag, '.dat'),bispectrum_type)
+            end if                
+           end do
+           do il1= 1, SampleL%l0
+            l1 = SampleL%l(il1)
+            bi_ix=0
+            do l2= max(lmin,l1), lmax 
+              min_l = max(abs(l1-l2),l2)
+              if (mod(l1+l2+min_l,2)/=0) then
+                 min_l = min_l+1
+              end if 
+              max_l = min(lmax,l1+l2) 
+              do l3=min_l, max_l ,2
+                  bi_ix=bi_ix+1
+                  if (l1==BispectrumParams%Slice_Base_L &
+                   .and. any(l3-l2==BispectrumParams%deltas(1:BispectrumParams%ndelta))) then
+                  !Particular slice
+                   idelta=IndexOf(l3-l2,BispectrumParams%deltas,BispectrumParams%ndelta)
+                   do bispectrum_type=1,nbispectra
+                    fileid=nbispectra +BispectrumParams%ndelta*(bispectrum_type-1)+idelta
+                    write (fileid,'(1I5)', advance='NO') L2
+                    do field1=1,nfields
+                     do field2=1,nfields
+                       do field3=1,nfields
+                           write(fileid,'(1E15.5)', advance='NO') &
+                                   Bispectra(field1,field2,field3,bispectrum_type)%b(bi_ix,il1)*Bscale
+                       end do
+                      end do
+                     end do   
+                    write (fileid,'(a)') ''                            
+                   end do
+                  end if !slice
+                  if (BispectrumParams%FullOutputFile/='') then
+                    if (BispectrumParams%SparseFullOutput .and. .not. any( SampleL%l(1:SampleL%l0)==L2) .or. &
+                          l1 > 30 .and. mod(l3-min_l,10)/=0 .and. l3 /= max_l) cycle
+
+                     do bispectrum_type=1,nbispectra
+                       if (bispectrum_type==lens_bispectrum_ix .and. L1 > lmax_lensing_corrT) cycle
+                       write(bispectrum_type,'(3I5)', advance='NO') L1, L2, L3
+                       do field1=1,nfields
+                        do field2=1,nfields
+                         do field3=1,nfields
+                         write(bispectrum_type,'(1E14.5)', advance='NO') &
+                                 Bispectra(field1,field2,field3,bispectrum_type)%b(bi_ix,il1)*Bscale
+                        end do
+                       end do
+                      end do  
+                      write (bispectrum_type,'(a)') ''       
+                     end do
+                  end if
+                   
+              end do    
+            end do          
+          end do
+          if (BispectrumParams%do_parity_odd) then          
+              do il1= 1, SampleL%l0
+                l1 = SampleL%l(il1)
+                bi_ix=0
+                do l2= max(lmin,l1), lmax 
+                  min_l = max(abs(l1-l2),l2)
+                  if (mod(l1+l2+min_l,2)/=1) then
+                     min_l = min_l+1
+                  end if 
+                  max_l = min(lmax,l1+l2) 
+                  do l3=min_l, max_l ,2
+                      bi_ix=bi_ix+1
+                      if (l1==BispectrumParams%Slice_Base_L &
+                       .and. any(l3-l2==BispectrumParams%deltas(1:BispectrumParams%ndelta))) then
+                      !Particular slice
+                       idelta=IndexOf(l3-l2,BispectrumParams%deltas,BispectrumParams%ndelta)
+                       do bispectrum_type=1,nbispectra
+                        if (bispectrum_type/=lens_bispectrum_ix) cycle
+                        fileid=nbispectra +BispectrumParams%ndelta*(bispectrum_type-1)+idelta
+                        write (fileid,'(1I5)', advance='NO') L2
+                        oddix=0
+                        do field1=1,3
+                         do field2=1,3
+                           do field3=1,3
+                              if (parities(field1)+parities(field2)+parities(field3)/=1) cycle
+                              oddix=oddix+1
+                              write(fileid,'(1E15.5)', advance='NO') OddBispectra(oddix)%b(bi_ix,il1)*Bscale
+                           end do
+                          end do
+                         end do   
+                        write (fileid,'(a)') ''                            
+                       end do
+                      end if !slice
+                     
+                  end do    
+                end do          
+              end do
+         end if
+          
+          do bispectrum_type=1,nbispectra
+            if (BispectrumParams%Slice_Base_L>0) then
+             do idelta=1,BispectrumParams%ndelta
+              if (mod(BispectrumParams%Slice_Base_L + BispectrumParams%deltas(idelta),2)==1 &
+                      .and. bispectrum_type/=lens_bispectrum_ix) cycle
+              close(nbispectra +BispectrumParams%ndelta*(bispectrum_type-1)+idelta)
+             end do
+            end if
+            if (BispectrumParams%FullOutputFile/='') close(bispectrum_type)                            
+          end do
+   
+          end if
+
+#ifdef FISHER
+          if (BispectrumParams%DoFisher) then
+ !Get stuff for Fisher etc.
+ 
+          print *,'Getting Fisher for lmax = ', lmax
+         
+          Noise = BispectrumParams%FisherNoise/ (COBE_CMBTemp*1e6)**2  !Planckish, dimensionless units  
+          NoiseP = BispectrumParams%FisherNoisePol/ (COBE_CMBTemp*1e6)**2 
+             
+          do i=lmin,lmax
+             if (CP%DoLensing) then
+              cl(:,i) = CL_lensed(i,1,CT_Temp:CT_Cross)
+             else
+              cl(1,i) = CL_Scalar(i,1,C_Temp)
+              cl(2,i) = CL_Scalar(i,1,C_E)
+              cl(4,i) = CL_Scalar(i,1,C_Cross)
+              cl(3,i) = 0              
+             end if 
+          end do
+          if (.false.) then
+              call OpenTxtFile('CAMBdefault_lensedCls.dat',3)
+              do i=lmin,lmax
+               !Assume T,E,B,X ordering
+               read(3,*) j, cl(1:4,i)
+               if (j<lmin) read(3,*) j, cl(1:4,i)
+               cl(:,i)=cl(:,i)/(COBE_CMBTemp*1e6)**2 
+              end do
+              close(3)
+          end if
+
+          if (Noise >0) then
+           file_tag = concat(file_tag,'_noise')
+          end if
+          xlc= 180*sqrt(8.*log(2.))/3.14159
+          sigma2 = (BispectrumParams%FisherNoiseFwhmArcmin/60/xlc)**2
+          allocate(InvC(lmax))
+          do l1= lmin, lmax
+             tmp = l1*(l1+1)/(2*pi)
+             Cl(1,l1) = Cl(1,l1)/tmp + Noise*exp(l1*(l1+1)*sigma2)
+             Cl(2:3,l1) = Cl(2:3,l1)/tmp + NoiseP*exp(l1*(l1+1)*sigma2)
+             Cl(4,l1) = Cl(4,l1)/tmp  
+             allocate(InvC(l1)%C(nfields,nfields))
+             if (nfields > 2) stop 'Not implemented nfields>2 in detail'
+             if (nfields==1) then
+              InvC(l1)%C(1,1)=(2*l1+1)/cl(1,l1)/InternalScale
+             else 
+              InvC(l1)%C(1,1)=cl(2,l1)
+              InvC(l1)%C(1,2)=-cl(4,l1)
+              InvC(l1)%C(2,1)=-cl(4,l1)
+              InvC(l1)%C(2,2)=cl(1,l1)              
+              InvC(l1)%C= InvC(l1)%C * (2*l1+1)/(cl(1,l1)*cl(2,l1)-cl(4,l1)**2)/InternalScale
+             end if
+          end do
+   
+        if (debugMsgs) starttime=GetTestTime() 
+        allocate(ifish_contribs(SampleL%l0,nbispectra,nbispectra,nfields,nfields) )
+        !This loop is just in case want to plot out lmax dependence
+        do lmaxcuti=SampleL%l0, SampleL%l0
+     !    call CreateTxtFile('TE-Planck-LensFish.txt',20)
+     !   do lmaxcuti=1, SampleL%l0
+     !   if (SampleL%l(lmaxcuti) < 425) cycle
+         
+          lmax= SampleL%l(lmaxcuti)    
+            
+          ifish_contribs=0
+          lstart = 2 !lmin
+         !$OMP PARAllEl DO DEFAUlT(SHARED),SCHEDULE(STATIC,3) &
+         !$OMP PRIVATE(il1,l1,l2,l3,fish_l1,bi_ix,min_l,max_l,a3j_00,a3j), &
+         !$OMP PRIVATE(Bispectrum,Bispectrum2,minl2,bix,tmp,tmp1,tmp2,tmpf), &
+         !$OMP PRIVATE(field1,field2,field3,f1,f2,f3,bispectrum_type,bispectrum_type2)
+
+          do il1= 1,  lmaxcuti !!!SampleL%l0
+            allocate(fish_l1(nbispectra,nbispectra,nfields,nfields)) !last indices are field1,f1
+            l1 = SampleL%l(il1)
+            if (l1< lstart) cycle
+            fish_l1=0
+            bi_ix=0
+            do l2 = l1,lmax
+              if (l2< lstart) cycle
+              min_l = max(lstart,max(abs(l1-l2),l2))
+              if (mod(l1+l2+min_l,2)/=0) then
+                 min_l = min_l+1
+              end if 
+              max_l = min(lmax,l1+l2) 
+              call GetThreeJs(a3j(abs(l2-l1)),l1,l2,0,0)
+              do l3=min_l,max_l ,2    
+                a3j_00(l3)=a3j(l3)**2
+              end do
+              
+              tmp1= 1.d0/(4*pi)  !(2l+1) factors included in InvC
+              minl2=min_l
+              bix=bi_ix
+               do field1=1,nfields
+                do f1=1,nfields
+                 tmpf(1)= InvC(l1)%C(field1,f1)*tmp1
+                 do field2=1,nfields
+                   do f2=1,nfields
+                    tmpf(2)= InvC(l2)%C(field2,f2)*tmpf(1)
+                     do field3=1,nfields
+                      do bispectrum_type=1,nbispectra
+                      if (bispectrum_type==lens_bispectrum_ix) then
+                        Bispectrum=>SqueezedLensingKernel(field2,field3)
+                      else
+                        Bispectrum=>bispectra(field1,field2,field3,bispectrum_type)
+                      end if
+                      do f3=1,nfields
+                        
+                        do bispectrum_type2=bispectrum_type,nbispectra
+                        if (bispectrum_type2==lens_bispectrum_ix) then
+                          Bispectrum2=>SqueezedLensingKernel(f2,f3)
+                        else
+                          Bispectrum2=>Bispectra(f1,f2,f3,bispectrum_type2)
+                        end if
+   
+          
+                        min_l=minl2          
+                        bi_ix=bix
+                        if (min_l==l2) then
+                            !Symmetry factors
+                             bi_ix=bi_ix+1
+                             l3=l2
+                             if (l2==l1) then
+                              !l1=l2=l3
+                              tmp = Bispectrum%b(bi_ix,il1)*tmpf(2)*Bispectrum2%b(bi_ix,il1) &
+                                      *InvC(l3)%C(field3,f3)*a3j_00(l3)/6  
+                             else
+                              !l3=l2 (l3=l1<>l2 can't happen because l1<=l2<=l3)
+                              tmp = Bispectrum%b(bi_ix,il1)*tmpf(2)*Bispectrum2%b(bi_ix,il1) &
+                                      * InvC(l3)%C(field3,f3)*a3j_00(l3)/2 
+                             end if
+                             min_l = min_l+2
+                        else
+                         tmp=0
+                        end if
+                        tmp2=0  
+                        do l3=min_l,max_l ,2    
+                            bi_ix=bi_ix+1
+                            tmp2 = tmp2 + Bispectrum%b(bi_ix,il1)*Bispectrum2%b(bi_ix,il1) &
+                                   * InvC(l3)%C(field3,f3)*a3j_00(l3)
+                        end do  
+                        if (l2==l1) then
+                           tmp2=tmp2*tmpf(2)/2
+                          else
+                           tmp2=tmp2*tmpf(2)     
+                        end if     
+                        fish_l1(bispectrum_type,bispectrum_type2,field1,f1)= &
+                         fish_l1(bispectrum_type,bispectrum_type2,field1,f1)+(tmp+tmp2) 
+                        
+                        end do !bispectrum_type2
+   
+                      end do
+                      end do !bispectrum_type
+                     end do !field3
+                    end do !f2                   
+                  end do !field2
+                 end do !f1
+               end do  !field1
+
+            end do !l2
+
+            ifish_contribs(il1,:,:,:,:)=fish_l1(1:nbispectra,1:nbispectra,:,:) /InternalScale
+            deallocate(fish_L1) 
+ 
+          end do
+         !$OMP END PARAllEl DO
+          if (DebugMsgs) print *,'Time for Fisher:', GetTestTime()-starttime
+    
+          
+          allocate(fish_contribs(lmin:CTrans%ls%l(CTrans%ls%l0),nfields,nfields))
+          allocate(Fisher(nbispectra,nbispectra))
+          allocate(tmpFisher(nbispectra,nbispectra))
+          allocate(Fisher_L1(lmin:CTrans%ls%l(CTrans%ls%l0),nbispectra*nfields,nbispectra*nfields))
+          
+          do bispectrum_type=1,nbispectra
+           do bispectrum_type2=bispectrum_type,nbispectra
+
+           fish_contribs=0 
+           do field1=1,nfields
+            do f1=1,nfields
+            call InterpolateClArr(SampleL,ifish_contribs(1,bispectrum_type,bispectrum_type2,field1,f1), &
+                        fish_contribs(lmin,field1,f1),lmaxcuti)  !SampleL%l0)
+            end do
+           end do          
+           Fisher(bispectrum_type,bispectrum_type2)=0
+           do i=lmin, CTrans%ls%l(CTrans%ls%l0)
+            do field1=1,nfields
+             do f1=1,nfields
+              Fisher_L1(i,(bispectrum_type-1)*nfields+field1,(bispectrum_type2-1)*nfields+f1) = fish_contribs(i,field1,f1)
+              Fisher_L1(i,(bispectrum_type2-1)*nfields+f1,(bispectrum_type-1)*nfields+field1) = fish_contribs(i,field1,f1)
+              tmp=fish_contribs(i,field1,f1)
+              if (bispectrum_type==lens_bispectrum_ix) then
+               tmp = tmp * CPhi(1+field1,i)
+              end if
+              if (bispectrum_type2==lens_bispectrum_ix) then
+               tmp = tmp * CPhi(1+f1,i)
+              end if              
+              Fisher(bispectrum_type,bispectrum_type2)=Fisher(bispectrum_type,bispectrum_type2)+ tmp
+             end do
+            end do 
+           end do
+           Fisher(bispectrum_type2,bispectrum_type) = Fisher(bispectrum_type,bispectrum_type2) 
+           
+           print *,'Zero-signal Fisher ',trim(BispectrumNames(bispectrum_type))//'-'//trim(BispectrumNames(bispectrum_type2)), &
+                      ':', Fisher(bispectrum_type2,bispectrum_type) 
+           
+!!!! contribution of lensing to the fnl variance for temperature:
+!           if (bispectrum_type == fnl_bispectrum_ix .and. bispectrum_type2 == fnl_bispectrum_ix ) then 
+!              fish_contribs_sig=0
+!              tmpArr=0
+!              call InterpolateClArr(SampleL,ifish_contribs(1,1,2,1,1),tmpArr(lmin),lmaxcuti) 
+!               do i=lmin, lmax_lensing_corrT
+!               if (CPhi(1+1,i)/=0) then
+!                 fish_contribs_sig(i) = &
+!                  tmpArr(i)**2*(1+ CPhi(1,i)*CForLensing(i)%C(1,1)/(CPhi(1+1,i)*CPhi(1+1,i)))/(2*i+1)
+!               end if
+!              end do
+!              print *,'signal contribution to fnl variance', sum(fish_contribs_sig)/Fisher(bispectrum_type,bispectrum_type2)**2
+!           end if
+ !!! same with polarization
+!  if (bispectrum_type == fnl_bispectrum_ix .and. bispectrum_type2 == lens_bispectrum_ix ) then 
+!            fish_contribs_sig=0
+!            do i=lmin, lmax_lensing_corrT
+!             corrsize = count(CPhi(2:1+nfields,i)/=0)
+!             allocate(fish_L_ij(corrsize,corrsize))
+!             allocate(fish_L_noise(corrsize,corrsize))
+!             fish_L_ij=0 
+!             ix1=0
+!             do field1=1,nfields
+!              ix1=ix1+1
+!              ix2=0
+!              do f1=1,nfields
+!                 ix2=ix2+1
+!                 fish_L_noise(ix1,ix2)= fish_contribs(i,field1, f1)
+!                 fish_L_ij(ix1,ix2) = (CPhi(1+f1,i)*CPhi(1+field1,i) + &
+!                     CPhi(1,i)*CForLensing(i)%C(field1,f1) )/(2*i+1)
+!              end do
+!             end do 
+!             fish_L_ij=matmul(matmul((fish_L_noise(:,:)),fish_L_ij),transpose(fish_L_noise(:,:)))
+!             fish_contribs_sig(i) = sum(fish_L_ij)!Matrix_trace(fish_L_ij)
+!             deallocate(fish_L_ij)
+!             deallocate(fish_L_noise)
+!            end do
+!            print *,'fnl signal factor', sum(fish_contribs_sig)
+!       end if                 
+            
+
+           if (bispectrum_type == lens_bispectrum_ix .and. bispectrum_type2 == lens_bispectrum_ix ) then 
+            print *,'doing signal part of the lensing variance'
+            fish_contribs_sig=0
+            do i=lmin, lmax_lensing_corrT
+             corrsize = count(CPhi(2:1+nfields,i)/=0)
+             allocate(fish_L_ij(corrsize,corrsize))
+             allocate(fish_L_noise(corrsize,corrsize))
+             fish_L_ij=0 
+             ix1=0
+             do field1=1,nfields
+              if (CPhi(1+field1,i)/=0) then
+              ix1=ix1+1
+              ix2=0
+              do f1=1,nfields
+               if (CPhi(1+f1,i)/=0) then
+                 ix2=ix2+1
+                 fish_L_noise(ix1,ix2)= fish_contribs(i,field1, f1)*CPhi(1+f1,i)*CPhi(1+field1,i)
+                 fish_L_ij(ix1,ix2) =  (1 + &
+                     CPhi(1,i)*CForLensing(i)%C(field1,f1)/(CPhi(1+f1,i)*CPhi(1+field1,i)))/(2*i+1)
+
+               end if
+              end do
+              end if
+             end do 
+              call Matrix_Inverse(fish_L_noise)
+              fish_L_ij=fish_L_ij+fish_L_noise
+              call Matrix_Inverse(fish_L_ij) 
+              fish_contribs_sig(i) = sum(fish_L_ij)  
+             deallocate(fish_L_ij)
+             deallocate(fish_L_noise)
+            end do
+            print *,'Lensing Fisher including lensing variance ', sum(fish_contribs_sig)
+    
+           end if
+           
+           end do
+          end do
+         deallocate(fish_contribs)
+      
+          print *, 'Results assuming zero fiducial bispectra' 
+          do bispectrum_type=1,nbispectra
+           print *,trim(IntToStr(bispectrum_type))//'-'//trim(BispectrumNames(bispectrum_type)), &
+                      ': 1/sqrt(F_ii) = ',1/sqrt(Fisher(bispectrum_type,bispectrum_type))
+          end do
+
+          do bispectrum_type=1,nbispectra
+           do bispectrum_type2=bispectrum_type+1,nbispectra
+            bias = Fisher(bispectrum_type2,bispectrum_type)/Fisher(bispectrum_type,bispectrum_type)
+            print *,'Bias of ',trim(BispectrumNames(bispectrum_type2)),' on ', &
+             trim(BispectrumNames(bispectrum_type)),':', bias 
+           end do
+!           if (bispectrum_type==1) write(1,concat('(1I10,',nbispectra,'E15.5)')) lmax, Fisher(1,1), &
+!                                  Fisher(2:nbispectra,1)/Fisher(1,1)
+          end do 
+          
+          tmpFisher=Fisher
+          do bispectrum_type=1,nbispectra
+            tmp = sqrt(tmpFisher(bispectrum_type,bispectrum_type))
+            tmpFisher(bispectrum_type,:)=tmpFisher(bispectrum_type,:)/tmp
+            tmpFisher(:,bispectrum_type)=tmpFisher(:,bispectrum_type)/tmp
+          end do     
+          if (nbispectra>1) then
+           print *,'Zero-signal Bispectrum correlation matrix:'
+           do bispectrum_type=1,nbispectra
+            print *,tmpFisher(:,bispectrum_type)
+           end do
+         
+          if (nbispectra > 1) then
+              allocate(OptimalFisher(nbispectra,nbispectra))
+              allocate(tmpBigFisher(nbispectra*nfields,nbispectra*nfields))
+!              allocate(diag(nbispectra*nfields))
+              OptimalFisher=0
+              do i=lmin, lmax  
+                 tmpBigFisher=Fisher_L1(i,:,:)
+                 if (lens_bispectrum_ix/=0 .and. i<=lmax_lensing_corrT) then
+
+                     call Matrix_Inverse(tmpBigFisher)
+                     do field1 = 1,nfields
+                       do field2 =1, nfields
+                        tmpBigFisher((lens_bispectrum_ix-1)*nfields+field1, &
+                                     (lens_bispectrum_ix-1)*nfields+field2) = &
+                              tmpBigFisher((lens_bispectrum_ix-1)*nfields+field1, &
+                                     (lens_bispectrum_ix-1)*nfields+field2) + &
+                       (CPhi(1+field1,i)*CPhi(1+field2,i) + CPhi(1,i)*CForLensing(i)%C(field1,field2))/(2*i+1)
+                       end do
+                     end do  
+                     call Matrix_Inverse(tmpBigFisher)
+                     
+                 end if
+                           
+                 do field1=1,nfields
+                  do field2=1,nfields
+                   do bispectrum_type=1,nbispectra
+                     do bispectrum_type2=1,nbispectra
+                       if (bispectrum_type==lens_bispectrum_ix) then
+                        tmp=CPhi(1+field1,i)
+                       else
+                        tmp=1 
+                       end if
+                       if (bispectrum_type2==lens_bispectrum_ix) then
+                        tmp=tmp*CPhi(1+field2,i)
+                       end if
+                       OptimalFisher(bispectrum_type,bispectrum_type2)=OptimalFisher(bispectrum_type,bispectrum_type2)+ &
+                         tmp*tmpBigFisher((bispectrum_type-1)*nfields+field1,(bispectrum_type2-1)*nfields+field2)
+                     end do
+                   end do
+                  end do
+                 end do      
+              end do
+              deallocate(tmpBigFisher)
+          end if
+
+          do bispectrum_type=1,nbispectra
+           print *,'Optimal Inc. lensing:', trim(IntToStr(bispectrum_type))//'-'//trim(BispectrumNames(bispectrum_type)), &
+                      ': 1/sqrt(F_ii) = ',1/sqrt(OptimalFisher(bispectrum_type,bispectrum_type))
+          end do
+          tmpFisher=OptimalFisher
+          call Matrix_Inverse(tmpFIsher)
+          do bispectrum_type=1,nbispectra
+           print *,'Optimal Inc. lensing:', trim(IntToStr(bispectrum_type))//'-'//trim(BispectrumNames(bispectrum_type)), &
+                      ': Cov_ii = ', sqrt(tmpFIsher(bispectrum_type,bispectrum_type))
+          end do
+          tmpFisher=OptimalFisher
+          do bispectrum_type=1,nbispectra
+            tmp = sqrt(tmpFisher(bispectrum_type,bispectrum_type))
+            tmpFisher(bispectrum_type,:)=tmpFisher(bispectrum_type,:)/tmp
+            tmpFisher(:,bispectrum_type)=tmpFisher(:,bispectrum_type)/tmp
+          end do     
+           print *,'Optimal Bispectrum correlation matrix with lensing variance:'
+           do bispectrum_type=1,nbispectra
+            print *,tmpFisher(:,bispectrum_type)
+           end do
+          end if
+          
+          deallocate(Fisher, tmpFisher)
+ 
+          end do
+  
+          deallocate(ifish_contribs)
+          deallocate(InvC)
+
+          end if !DoFIsher
+#else
+          if (BispectrumParams%DoFisher) stop 'compile with FISHER defined'
+#endif                    
+          
+          !Tidy up a bit
+          do field1=1,nfields
+             do field2=1,nfields
+                  do field3=1,nfields
+                    do bispectrum_type=1,nbispectra
+                    deallocate(Bispectra(field1,field2,field3,bispectrum_type)%b)
+                    end do
+                  end do
+             end do
+          end do  
+          deallocate(Bispectra)   
+          if (allocated(CForLensing)) deallocate(CForLensing)
+
+         if (allocated(OddBispectra)) then 
+              oddix=0
+              do field1=1,3
+                 do field2=1,3
+                      do field3=1,3
+                        if (parities(field1)+parities(field2)+parities(field3)/=1) cycle
+                        oddix=oddix+1
+                        deallocate(OddBispectra(oddix)%b)
+                      end do
+                 end do
+              end do  
+           deallocate(OddBispectra)
+          end if   
+          
+        end subroutine GetBispectrum
+
+
+!not needed for local NG
+        subroutine NonGauss_deriv_l_r(CTrans, indP,resP, r, dJl, dddJl)
+        !As above, but integral against derivative of bessel function to get derivative of function
+          Type(ClTransferData) :: CTrans
+          real(dl), intent(in) :: dJl(BessRanges%npoints,CTrans%ls%l0), dddJl(BessRanges%npoints,CTrans%ls%l0)        
+          integer, intent(in) :: indP(:) 
+          real(dl) resP(CTrans%ls%l0,size(indP))
+          real(dl), intent(in) :: r
+          integer q_ix, j, bes_ix, i
+          integer nP, ellmax
+         real(dl) xf , dJ_l, fac, a2,  k, dlnk, term, P        
+     
+          nP =size(indP)          
+          resP = 0
+          do q_ix = 1, CTrans%q%npoints 
+            
+            k = CTrans%q%points(q_ix)
+            xf = k*r  !kr
+            bes_ix=Ranges_indexOf(BessRanges,xf)
+            fac=BessRanges%points(bes_ix+1)-BessRanges%points(bes_ix)
+            a2=(BessRanges%points(bes_ix+1)-xf)/fac
+            fac=fac**2*a2/6
+            dlnk = CTrans%q%dpoints(q_ix) /k
+            P = ScalarPower(k, 1)  !!only first index for now
+            ellmax = max(xf/(1-xlimfrac), xf + xlimmin) * AccuracyBoost
+            
+            do j=1,CTrans%ls%l0
+             if (CTrans%ls%l(j) <= ellmax) then
+             dJ_l=a2*djl(bes_ix,j)+(1-a2)*(djl(bes_ix+1,j) - ((a2+1) &
+                        *dddjl(bes_ix,j)+(2-a2)*dddjl(bes_ix+1,j))* fac) !cubic spline
+     
+             term = CTrans%Delta_p_l_k(1,j,q_ix)*dJ_l*dlnk *k  
+             do i=1,nP
+              resP(j,i) = resP(j,i) + term * k**indP(i) * P
+             end do
+            
+            end if
+           end do
+         end do
+         resP = resP * fourpi
+               
+        end subroutine NonGauss_deriv_l_r
+
+       subroutine Bispectrum_SetDefParams(B)
+       Type(TBispectrumParams) :: B
+       
+          B%nfields=2
+          B%Slice_Base_L=0
+          B%ndelta=0
+          B%DoFisher = .true.
+          B%FisherNoise = 0 !2d-4 !Planckish
+          B%FisherNoisePol = 4*B%FisherNoise
+          B%FisherNoiseFwhmArcmin = 7
+          B%FullOutputFile='' !quite large
+          B%SparseFullOutput = .false.
+          B%do_lensing_bispectrum = .true.
+          B%do_primordial_bispectrum = .true.
+          B%do_parity_odd = .false.
+          B%export_alpha_beta = .false.
+       
+       end subroutine Bispectrum_SetDefParams      
+       
+                
+       subroutine Bispectrum_ReadParams(B, Ini, outroot)
+          use IniFile
+          Type(TBispectrumParams) :: B
+          character(LEN=*), intent(in) :: outroot
+          Type(TIniFile) :: Ini
+          integer i
+          
+          call Bispectrum_SetDefParams(B)
+   
+          B%do_lensing_bispectrum = Ini_Read_Logical_File(Ini,'do_lensing_bispectrum',.false.)
+          B%do_primordial_bispectrum = Ini_Read_Logical_File(Ini,'do_primordial_bispectrum',.false.)
+       
+          do_bispectrum= B%do_lensing_bispectrum .or. B%do_primordial_bispectrum
+          
+          if (do_bispectrum) then
+          
+          output_root = outroot
+          
+          B%nfields = Ini_Read_Int_File(Ini,'bispectrum_nfields',B%nfields)
+          if (B%nfields /= 2 .and. B%nfields/=1) stop 'Bispectrum: nfields=1 for T only or 2 for polarization'
+          B%do_parity_odd = Ini_Read_Logical_File(Ini,'do_parity_odd',.false.)
+          if (B%do_parity_odd .and. (.not.  B%do_lensing_bispectrum .or. B%nfields==1)) then
+             B%do_parity_odd = .false.
+             write(*,*) 'Ignoring do_parity_odd since do_lensing_bispectrum=F or no polarization'
+          end if   
+          B%Slice_Base_L = Ini_Read_Int_File(Ini,'bispectrum_slice_base_L',B%Slice_Base_L)
+          if (B%Slice_Base_L>0) then
+           B%ndelta = Ini_Read_Int_File(Ini,'bispectrum_ndelta',B%ndelta)
+           if (B%ndelta > max_bispectrum_deltas) stop 'Bispectrum : increase max_bispectrum_deltas'
+           do i=1, B%ndelta
+              B%deltas(i) = Ini_Read_Int_Array_File(Ini,'bispectrum_delta', i)
+           end do    
+           if (.not. B%do_parity_odd .and. B%Slice_Base_L>0 .and. &
+             any(mod(B%Slice_Base_L + B%deltas(1:B%ndelta),2) /= 0)) &
+               stop 'Slice is zero for even parity with L1+L2+L3 odd, i.e. Base+DeltaL3 odd'
+              
+          end if
+          B%DoFisher = Ini_Read_Logical_File(Ini,'bispectrum_do_fisher',B%DoFisher)        
+          if (B%DoFisher) then
+           B%FisherNoise = Ini_Read_Double_File(Ini,'bispectrum_fisher_noise',B%FisherNoise)        
+           B%FisherNoisePol = Ini_Read_Double_File(Ini,'bispectrum_fisher_noise_pol',B%FisherNoisePol )        
+           B%FisherNoiseFwhmArcmin = Ini_Read_Double_File(Ini,'bispectrum_fisher_fwhm_arcmin',B%FisherNoiseFwhmArcmin)
+          end if
+          B%FullOutputFile = Ini_Read_String_File(Ini,'bispectrum_full_output_file') 
+          if (B%FullOutputFile /='') then
+           B%SparseFullOutput = Ini_Read_Logical_file(Ini,'bispectrum_full_output_sparse',B%SparseFullOutput)
+          end if
+          
+          if (B%do_primordial_bispectrum) then
+             B%export_alpha_beta = Ini_Read_Logical_file(Ini,'bispectrum_export_alpha_beta', B%export_alpha_beta)
+          end if
+          
+          end if
+          
+        end subroutine Bispectrum_ReadParams  
+ 
+end module Bispectrum
\ No newline at end of file
diff --git a/axion_background.f90 b/axion_background.f90
new file mode 100644
index 0000000..c6df33c
--- /dev/null
+++ b/axion_background.f90
@@ -0,0 +1,1114 @@
+!!!!!!!!!!!!!!!! axion_background !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! This module computes the evolution of the background in the presence of an axion field
+! We use exact equations up until m=3H, and then treat as a w=0 fluid
+! For more details, see Hlozek et al, 2014, arXiv:1410.2896
+! 
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Input cosmological parameters, and receive evolution of equation of state, density, 
+!adiabatic sound speed
+! Also receive initial field value, oscillation scale factor, equality scale factor
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! This code The Klein-Gordon equation for a scalar field in an expanding universe (including
+!photons, massive and massless neutrinos, cold dark matter, and baryons)
+! \ddot{\phi}+2H \phi+m^2 a \phi=0 is transformed using the variable definitions
+!where dots denote derivatives with respect to conformal time and H
+!is the conformal Hubble parameter and a is the cosmological scale factor
+!phi=\sqrt(3/(4\pi G)) v_{1}^{twiddle}
+!phi_dot=u_2, u_2=H_{0} u_{2}^twiddle, dimensionless conformal time t^twiddle=H_{0} t
+!H_{0} is the usual Hubble parameter, and finally u_{2}^{twiddle}=\sqrt{3/(4\pi G)} v_{2}^{twiddle}
+!A dimensionless Hubble parameter littleh is defined as H/(100 km /s/ Mpc)
+!as is a dimensionless axion mass maxion_twiddle=m/(H_0), where h
+!is the dimensionless Hubble parameter
+!This transforms the second order ODE into a pair of first order ODES
+!In terms of these variables, there is a nice expression for the adiabatic
+! sound speed c_ad^{2}=Pdot/\rho_dot=1+(2/3) maxion_twiddle^{2} v_{1}^{twiddle}a^{2}/(v_{2}^{twiddle}*littleh)
+
+
+
+
+
+module axion_background
+
+contains
+
+
+
+
+
+subroutine w_evolve(Params, badflag)
+!Params is the overall parameter structure to be passed back to camb, including the estimated a_osc 
+!value, table for interpolation of the adiabatic sound speed, axion EOS and axion energy density
+!flag for failed histories where H becomes negative (axion drives collapse). Flag is raised in derivs routine or
+!in w_evolve if a history has a turnaround within 10 log(a) bin steps of the last time step
+!Give subroutine access to model parameters from camb, constants from constants.f90, massive neutrino routines
+
+use ModelParams
+use constants
+use Precision
+use MassiveNu
+implicit none
+type(CAMBparams) :: Params 
+integer badflag ! flag for failed histories where H becomes negative (axion drives collapse). Flag is raised in derivs routine.
+integer i 
+integer k,j !general indices
+
+
+
+!Internal: Neutrino-related constants from CAMB input
+!contribution to H^2/(100 km /s/ Mpc)^2 of massive and massless neutrinos, respectively
+real(dl) lhsqcont_massive(Params%Nu_mass_eigenstates),lhsqcont_massless
+!zeta(3), conversion factor to get neutrino masses in eV for check comparison with rest of CAMB
+real(dl) zeta3, conv
+!Correction factor from massless to massive neutrino energy densities, constant to go from massive neutrino
+!mass fractions to massive neutrino massive values
+real(dl)  rhonu,nu_constant
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! non-trivial aspects to sharing neutrino data structures in new subroutines of CAMB
+! so we recompute somethings twice, but these are single numbers
+! should not be a significant slow down
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Internal:: Cosmological Parameters and useful algebraic combinations
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!omega h^2 of various species
+!Matter, Cosmological constant, massive neutrino density
+real(dl) omegah2_m, omegah2_lambda,omnuh2
+!baryons + cold dark matter, Hubble parameter in units of eV, omega_curvature
+real(dl) omegah2_regm,H_ev,rhocrit,omk
+!baryons, dark matter separately, axions, axion mass in units of Hubble, dimensionless Hubble Parameter
+real(dl) omegah2_b,omegah2_dm,omegah2_ax,maxion_twiddle,hnot
+!Dimensionless Hubble^2
+real (dl) hsq
+!Desired axion fraction omega_a/(omega_a+omega_b+omegac)
+real(dl) fax
+! scale factor at equality estimated under assumption axions redshift purely as CDM
+real(dl) regzeq
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Internal: Evolution control parameters (other than those defined in modules.f90)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!
+!dfac sets m=dfac*H condition required for code to switch from evolving KG+Einstein equations recast in terms of fluid variables
+!to evolving WKB equations
+!Details in Hlozek et al 2014. arXiv:1410.2896
+real(dl) dfac
+!how much past aosc to go in the final a integration at the end
+real(dl),parameter::eps=0.001
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Internal: Evolution variable arrays
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+real(dl) a_arr(ntable) ! scale factor
+!scalar field and its derivative (in appropriate units), conformal Hubble parameter /(100 km /s/ Mpc) as a function of scale factor
+real(dl) v_vec(2,ntable),littlehfunc(ntable) 
+!m/(dfac*littlehfunc*a) diagnostic parameter that is used to identify approximate aosc
+real(dl) diagnostic(ntable)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Internal: Fluid quantities of interest, computed after evolution generated
+!Scalar field energy density
+real(dl) grhoax_table_internal(ntable)
+!log_e(m/3H) used for array of this quantity to find a_osc, the time of scalar field oscillation
+!!arrays used to find aosc once final scalar field initial condition is determined
+real(dl) f_arr(1:ntable)
+!Array used to find estimate of scale factor at matter-radiation equality (axions counter as matter)
+real(dl) eq_arr(ntable)
+!!!!!!!!!!!!!!!!!!!!!!!!
+
+! NB some of these quantities a_arr, and grhoax_table_internal are here so that
+! we don't have to keep taking logarithms and exponentials of lists
+! ultimately we just want the logs of these for cubic spline interpolation in the rest of CAMB
+! but to compute Hubble, field derivatives, we need the quantities themselves and not their logs
+! By keeping these quantities we can compute them once inside the scalar field routine (per initial condition)
+! and keep the information to use for when it is needed
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Internal storage arrays for spline interpolation of scalar field solution
+!for fixed scalar initial condition
+real(dl) v_buff(1:ntable) ! spline buffer scalar field and its derivative with respect to a
+real (dl) abuff(1:ntable) !spline buffer for scale factor interpolation (ie finding 'when
+! various quantities like rho_rad/rho_m, m/3H, etc, reach values of interest)
+!
+real (dl) eq_arr_buff(ntable)
+!nstop is a control index that excludes really bad scalar field evolution histories and
+!prevents them from screwing up the spline
+integer  nstop
+!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Quantities of interest that are generated for each scalar field evolution 
+! and sometimes read into arrays
+! energy fraction output (omega_ax/(omega_ax+omega_c+omega_b))
+real(dl) fout
+!Estimated scalar factor when m=dfac*H, scalar field v(1,i) when this value is reached,
+!Estimated scalar field derivative at same point i time
+real(dl) aosc,phiosc,phidosc
+!log(aosc)
+real(dl) laosc
+!output value of scalar field value needed to get desired axion density
+!obtained via cubic splines, final fout/fax for the corresponding scalar field history
+real(dl) vtw,final_fout_check
+!critical densities, joining value of rho when axion starts to act like CDM, better log initial value so derivatives can be taken t offset, v2 value at aosc joining point
+!used to set full density evolution of final chosen scalar field history
+real(dl) drefp
+!!!!!!!!!!!!!!!!!!!!!!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Internal storage arrays to sweep through quantities of interest for different 
+!scalar field evolutions corresponding to different initial conditions
+!
+! omega_ax/(omega_ax+omega_c+omega_b) for different scalar field initial conditions
+real (dl) fout_arr(nphi)
+!array of aosc values for different initial conditions
+! for the scalar field
+real(dl) aosc_arr(nphi)
+!log of aosc values for different scalar field histories
+real(dl) laosc_arr(nphi)
+!array of fout_arr(nphi)/fax (actual axion mass fraction vs desired axion mass fraction)
+!logarithm later taken for root finding
+real(dl) fout_check_arr(nphi)
+! stepsize in log of initial scalar field value
+real(dl) dlogvtwiddle_init
+!array of initial v1 values
+real(dl) vtwiddle_init_arr(nphi)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+!WORK NEEDED ON COMMENTS
+!!!!!! Simple analytic estimates for required scalar field initial condition
+!!! used to set a broad range of scalar initial conditions 
+!Scalar field evolution is generated for each initial condition and
+!cubic spline interpolation is then used to find the one which generates
+!desired axion energy fraction today
+!initial value max and min for phi_init, and final output 
+real(dl) vtwiddle_initmax,vtwiddle_initmin,vtwiddle_init
+!list of initial values for phi_init
+real(dl) vtwiddle_initlist(3)
+!!!!!!!!
+!WORK NEEDED ON COMMENTS
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Internal storage arrays for spline interpolation of quantities of interest
+! for different scalar initial conditions
+!array of axion energy fractions, buffer array for spline fitting in space of initial phi values
+real (dl) vtwiddle_init_arr_buff(nphi)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Spline derivatives at endpoints (used for all splines)
+real(dl) d1,d2
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!
+!Timing variables
+!real :: clock_start, clock_stop   
+!!!!!!!!!!
+
+!WORK NEEDED ON OMMENTS
+! numbers for initial and final value of a, and stepsize
+! initial needed to ensure axion sub-dominance to everything else at a_init
+real(dl) a_init,a_m, a_lambda, a_rel,as_scalar,as_rad,as_matt,a_final,dloga,log_a_final,log_a_init
+real(dl) cmat(1:16,1:16),kvec(1:16,1:2),kfinal(1:2),svec(1:16),avec(1:16)
+!END WORK NEEDED ON COMMENTS
+
+
+!Time Code
+!clock_start = 0.0
+!call cpu_time(clock_start)
+!Set value of neutrino constants as elsewhre in camb
+zeta3=1.2020569031595942853997d0
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! DM cosmological parameters etc. in units for integrator
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+hnot = Params%H0/100.d0
+hsq=hnot**2.0d0
+omegah2_dm=Params%omegac*(hnot**2.0d0)
+omegah2_b=Params%omegab*(hnot**2.0d0) 
+omnuh2=Params%omegan*(hnot**2.0d0)   
+
+omegah2_lambda=Params%omegav*(hnot**2.0d0)  
+omegah2_ax=Params%omegaax*(hnot**2.0d0)   
+maxion_twiddle= Params%ma
+!Hubble parameter in eV
+H_eV=1.d14*6.5821d-25*hnot/(MPC_in_sec*c)
+!convert axion mass units from eV to H
+maxion_twiddle = maxion_twiddle/H_eV 
+!Total densities to juggle and use later
+omegah2_regm=omegah2_dm+omegah2_b
+omegah2_m=omegah2_regm+omegah2_ax
+!Axion Mass Fraction
+fax=omegah2_ax/omegah2_m
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Initialize massive and massless neutrino variables
+call Nu_init
+grhom = 3.0d0*(hsq*1.d10)/(c**2.0d0) 
+grhog = ((kappa/(c**2.0d0)*4.0d0*sigma_boltz)/(c**3.0d0))*(COBE_CMBTemp**4.0d0)*(Mpc**2.0d0) 
+grhor = (7.0d0/8.0d0)*((4.0d0/11.0d0)**(4.0d0/3.0d0))*grhog 
+!calculate critical density
+rhocrit=(8.0d0*const_pi*G*1.d3/(3.0d0*((1.d7/(MPC_in_sec*c*1.d2))**(2.0d0))))**(-1.0d0)
+Params%omegah2_rad=((COBE_CMBTemp**4.0d0)/(rhocrit))/(c**2.0d0)
+Params%omegah2_rad=Params%omegah2_rad*a_rad*1.d1/(1.d4)
+!calculate omega rad using starndard formula
+!Contribution of photons and massless neutrinos to H/(100 km /s/Mpc)
+lhsqcont_massless=(Params%Num_Nu_massless*grhor*(c**2.0d0)/((1.d5**2.0d0)))/3.0d0
+
+Params%omegah2_rad=Params%omegah2_rad+lhsqcont_massless
+!print*, 'hi renee', Params%omegah2_rad
+!const from modules.f90
+nu_constant=(7.0d0/120.0d0)*(const_pi**4.0d0)/(zeta3*1.5d0)
+nu_constant=nu_constant*omnuh2*(grhom/grhor)/hsq
+
+do k=1,Params%Nu_mass_eigenstates,1
+!Compute neutrino masses corresponding to input mass fractions and degeneracies
+	Nu_masses(k)=nu_constant*Params%Nu_mass_fractions(k)/(Params%Nu_mass_degeneracies(k))
+!Compute contribution of massive neutrinos to Hubble parameter/100 km/s/Mpc
+ 	lhsqcont_massive(k)=Params%Nu_mass_degeneracies(k)*(grhor*(c**2.0d0)/((1.d5**2.0d0)))/3.0d0
+!Print some useful checks for neutrinos
+ !	call Nu_rho(Nu_Masses(k),rhonu)
+!	print*,Nu_masses(k),omegah2_rad+lhsqcont_massive(1)*rhonu
+ !	conv = k_B*(8.0d0*grhor/grhog/7.0d0)**0.25d0*COBE_CMBTemp/elecV * &
+ !   &(Params%Nu_mass_degeneracies(k)/dble(Params%Nu_mass_numbers(k)))**0.25d0!
+!	call Nu_rho(1.0d0,rhonu)
+!	print*,Nu_masses(k)*conv
+enddo
+!print*,lhsqcont_massive(1)/Params%Nu_mass_degeneracies(1)
+
+!! Params%omegah2_rad=Params%omegah2_rad+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Switch between  evolution regimes
+!definition of m=nH pmatch point, use 3 for convention
+dfac=3.0d0
+!!!!!!!!!!!!!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Constants for integrator from
+!This is an implementation of the 8th order formulas on page 75 of 
+!Classical Fifth-, Sixth-, Seventh-, and Eighth-Order Runge-Kutta Formulas with Stepsize Control
+!by E Fehlberg
+!http://hdl.handle.net/2060/19680027281
+!(NASA Huntsville, 1968)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Constant matrix
+avec=0.0d0
+kvec=0.0d0
+avec(1)=0.4436894037649818d0
+avec(2)=0.6655341056474727d0
+avec(3)=0.9983011584712091d0
+avec(4)=0.31550d0
+avec(5)=0.5054410094816906d0
+avec(6)=0.1714285714285714d0
+avec(7)=0.8285714285714285d0
+avec(8)=0.6654396612101156d0
+avec(9)=0.2487831796806265d0
+avec(10)=0.1090d0
+avec(11)=0.8910d0
+avec(12)=0.3995d0
+avec(13)=0.6005d0
+avec(14)=1.0d0
+avec(15)=0.0d0
+avec(16)=1.0d0
+cmat=0.0d0
+cmat(1,1)=avec(1)
+cmat(2,1)=0.1663835264118681d0
+cmat(2,2)=0.49915057d0
+cmat(3,1)=0.24957528d0
+cmat(3,2)=0.0d0
+cmat(3,3)=0.74872586d0
+cmat(4,1)=0.20661891d0
+cmat(4,2)=0.0d0
+cmat(4,3)=0.17707880d0
+cmat(4,4)=-0.68197715d-1
+cmat(5,1)=0.10927823d0
+cmat(5,2)=0.0d0
+cmat(5,3)=0.0d0
+cmat(5,4)=0.40215962d-2
+cmat(5,5)=0.39214118d0
+cmat(6,1)=0.98899281d-1
+cmat(6,2)=0.0d0
+cmat(6,3)=0.0d0
+cmat(6,4)=0.35138370d-1
+cmat(6,5)=0.12476099d0
+cmat(6,6)=-0.55745546d-1
+cmat(7,1)=-0.36806865d0
+cmat(7,2)=0.0d0
+cmat(7,3)=0.0d0
+cmat(7,4)=0.0d0
+cmat(7,5)=-0.22273897d1
+cmat(7,6)=0.13742908d1
+cmat(7,7)=0.20497390d1
+cmat(8,1)=0.45467962d-1
+cmat(8,2)=0.0d0
+cmat(8,3)=0.0d0
+cmat(8,4)=0.0d0
+cmat(8,5)=0.0d0
+cmat(8,6)=0.32542131d0
+cmat(8,7)=0.28476660d0
+cmat(8,8)=0.97837801d-2
+cmat(9,1)=0.60842071d-1
+cmat(9,2)=0.0d0
+cmat(9,3)=0.0d0
+cmat(9,4)=0.0d0
+cmat(9,5)=0.0d0
+cmat(9,6)=-0.21184565d-1
+cmat(9,7)=0.19596557d0
+cmat(9,8)=-0.42742640d-2
+cmat(9,9)=0.17434365d-1
+cmat(10,1)=0.54059783d-1
+cmat(10,2)=0.0d0
+cmat(10,3)=0.0d0
+cmat(10,4)=0.0d0
+cmat(10,5)=0.0d0
+cmat(10,6)=0.0d0
+cmat(10,7)=.11029325d0
+cmat(10,8)=-.12565008d-2
+cmat(10,9)=0.36790043d-2
+cmat(10,10)=-.57780542d-1
+cmat(11,1)=.12732477d0
+cmat(11,2)=0.0d0
+cmat(11,3)=0.0d0
+cmat(11,4)=0.0d0
+cmat(11,5)=0.0d0
+cmat(11,6)=0.0d0
+cmat(11,7)=0.0d0
+cmat(11,8)=0.11448805
+cmat(11,9)=0.28773020
+cmat(11,10)=0.50945379d0
+cmat(11,11)=-0.14799682d0
+cmat(12,1)=-0.36526793d-2
+cmat(12,2)=0.0d0
+cmat(12,3)=0.0d0
+cmat(12,4)=0.0d0
+cmat(12,5)=0.0d0
+cmat(12,6)=0.81629896d-1
+cmat(12,7)=-0.38607735d0
+cmat(12,8)=0.30862242d-1
+cmat(12,9)=-0.58077254d-1
+cmat(12,10)=0.33598659d0
+cmat(12,11)=0.41066880d0
+cmat(12,12)=-0.11840245d-1
+cmat(13,1)=-0.12375357d1
+cmat(13,2)=0.0d0
+cmat(13,3)=0.0d0
+cmat(13,4)=0.0d0
+cmat(13,5)=0.0d0
+cmat(13,6)=-0.24430768d2
+cmat(13,7)=0.54779568d0
+cmat(13,8)=-0.44413863d1
+cmat(13,9)=0.10013104d2
+cmat(13,10)=-0.14995773d2
+cmat(13,11)=0.58946948d1
+cmat(13,12)=0.17380377d1
+cmat(13,13)=0.27512330d2
+cmat(14,1)=-0.35260859d0
+cmat(14,2)=0.0d0
+cmat(14,3)=0.0d0
+cmat(14,4)=0.0d0
+cmat(14,5)=0.0d0
+cmat(14,6)=-0.18396103d0
+cmat(14,7)=-0.65570189d0
+cmat(14,8)=-.39086144d0
+cmat(14,9)=0.26794646d0
+cmat(14,10)=-0.10383022d1
+cmat(14,11)=0.16672327d1
+cmat(14,12)=0.49551925d0
+cmat(14,13)=.11394001d1
+cmat(14,14)=0.51336696d-1
+cmat(15,1)=0.10464847d-2
+cmat(15,2)=0.0d0
+cmat(15,3)=0.0d0
+cmat(15,4)=0.0d0
+cmat(15,5)=0.0d0
+cmat(15,6)=0.0d0
+cmat(15,7)=0.0d0
+cmat(15,8)=0.0d0
+cmat(15,9)=-0.67163886d-2
+cmat(15,10)=0.81828762d-2
+cmat(15,11)=-0.42640342d-2
+cmat(15,12)=0.280090294741d-3
+cmat(15,13)=-0.87835333d-2
+cmat(15,14)=0.10254505d-1
+cmat(15,15)=0.0d0
+cmat(16,1)=-0.13536550d1
+cmat(16,2)=0.0d0
+cmat(16,3)=0.0d0
+cmat(16,4)=0.0d0
+cmat(16,5)=0.0d0
+cmat(16,6)=-0.18396103d0
+cmat(16,7)=-0.65570189d0
+cmat(16,8)=-0.39086144d0
+cmat(16,9)=0.27466285d0
+cmat(16,10)=-0.10464851d1
+cmat(16,11)=0.16714967d1
+cmat(16,12)=0.49523916d0
+cmat(16,13)=0.11481836d1
+cmat(16,14)=0.41082191d-1
+cmat(16,15)=0.0d0
+cmat(16,16)=1.0d0
+
+svec(1)=0.32256083d-1
+svec(2)=0.0d0
+svec(3)=0.0d0
+svec(4)=0.0d0
+svec(5)=0.0d0
+svec(6)=0.0d0
+svec(7)=0.0d0
+svec(8)=0.0d0
+svec(9)=0.25983725d0
+svec(10)=0.92847805d-1
+svec(11)=.16452330d0
+svec(12)=0.176659510d0
+svec(13)=0.23920102d0
+svec(14)=0.39484274d-2
+svec(15)=0.3082649547580d-1
+!END NEEDS WORK
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! begin initialization procedure, shoot for best phi_init
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!NEEDS WORK IN COMMNENTS
+!Initial aosc guess to tell computer to try to find aosc, also a value that flags when axion doesnt start oscillating by today
+aosc=15.0d0
+!compute curvature parameter for this set of omegas
+omk=1.0d0-(omegah2_m+Params%omegah2_rad+omegah2_lambda+omnuh2)/hsq
+
+!!!!!!!!!
+! Determine a range of epochs to be well before in starting axion field evolution
+!scale factor at time of axions becoming irrelevant in competition with different species
+!and other important transitionary epochs
+as_matt=(omegah2_regm/(maxion_twiddle**2.0d0))**(1.0d0/3.0d0)
+as_rad=(Params%omegah2_rad/(maxion_twiddle**2.0d0))**(1.0d0/4.0d0)
+!scale factor at equality of other matter with radiation
+a_m=(Params%omegah2_rad/(omegah2_regm))
+!This tims 10^-7 will be another maximum initial scale factor (see below)
+a_rel=10.0d0
+!Subdominance of dark energy to ordinary radiation
+a_lambda=(Params%omegah2_rad/omegah2_lambda)**(0.25d0)
+!aosc (start well before coherent oscillation of the axion field)
+as_scalar=(omegah2_ax/(maxion_twiddle**2.0d0))**(1.0d0/3.0d0)
+!find safe initial a (take analytic estimates for when axions are negligible to everything else
+! and look at scalar factors 7 orders of magnitude smaller as initial scale factors!!!
+ a_init=min(a_rel,a_lambda,a_m,as_matt,as_rad,as_scalar)*1.d-7
+!maximum a
+a_final=1.0d0
+   !log of various a values, dlog a, step back one
+   log_a_init=dlog(a_init)
+   log_a_final=dlog(a_final)   
+  !set log a bin size
+   dloga=(log_a_final-log_a_init)/(dble(ntable-1)) ! RH: DG's original
+	a_arr(1)=dexp(log_a_init)
+!Feed to output parameter table
+   !initial loga and a value
+   Params%loga_table(1)=log_a_init
+   !Generate arrays of log scale factor for output and internal scale factor
+   forall(i=2:ntable)
+      Params%loga_table(i)=log_a_init+dloga*dble(i-1)
+      a_arr(i)=dexp(Params%loga_table(i))
+   end forall
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  
+
+
+!!!!!!!
+!assuming axion acts like cosmological constant then matter, 
+!analytically obtain
+!initial v_1^twiddle value to get right density today,
+! under different assumptions
+! Expressions will agree with arXiv:1410.2896 in appropriate asymptotic limits
+!During Axion domination
+vtwiddle_initlist(1)=fax
+!Oscillation starts during matter domination
+vtwiddle_initlist(2)=fax*omegah2_m/(dsqrt(maxion_twiddle)*((Params%omegah2_rad**0.750d0)))
+!Oscillation starts during radiation domination
+vtwiddle_initlist(3)=fax*omegah2_m/(dsqrt(maxion_twiddle)*(Params%omegah2_rad))
+!Concatenate these initial v_1^twiddle
+vtwiddle_initlist=dsqrt(vtwiddle_initlist)
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Set range of initial scalar field initial conditions to try
+!bracket range of initial vtwiddle 1 values (basically phi 1)
+!Spanning many orders of magnitude beyond the simples guesses above to bracket a wide range of initial conditions
+!and make sure to choose the correct one
+vtwiddle_initmin=min(vtwiddle_initlist(1),vtwiddle_initlist(2),vtwiddle_initlist(3))/1.0d2
+vtwiddle_initmax=max(vtwiddle_initlist(1),vtwiddle_initlist(2),vtwiddle_initlist(3))*100.0d1
+!set size of log step in v1 initial
+dlogvtwiddle_init=(dlog(vtwiddle_initmax)-dlog(vtwiddle_initmin))/(dble(nphi)-1.0d0)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Generate array of initial phi values
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+forall(j=1:nphi)
+   vtwiddle_init_arr(j)=dexp(dble(j-1)*dlogvtwiddle_init+dlog(vtwiddle_initmin))
+end forall
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+
+!!!!!!!!!!!!!!!!!LOOP OVER SCALAR FIELD INITIAL CONDITIONS
+do j=1,nphi,1
+!Control bad value of aosc -- if a history never gets to m=dfac*H the value of this parameter alerts the code
+! that this is a history for which coherent oscillation never begins
+
+   aosc=15.0d0
+!!!!initial phi value
+   vtwiddle_init=vtwiddle_init_arr(j)
+  
+   !start axion at rest at top of hill, with phi guessed at current guess
+   v_vec(1,1)=vtwiddle_init
+   v_vec(2,1)=0.0d0
+   !calculate dimensionless hubble including standardmatter and axion potential and kinetic energy
+   call lh(omegah2_regm,Params%omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,a_arr(1),v_vec(1:2,1),littlehfunc(1),badflag,&
+        lhsqcont_massless,lhsqcont_massive,Params%Nu_mass_eigenstates,Nu_masses)
+   
+   !calculate initial value of dphi/da and dphidot/da
+    !Compute first step parameters for the pair of first-order ODEs being solved
+   kvec=0.0d0
+   kfinal=0.0d0
+   call next_step(a_arr(1),v_vec(1:2,1),kvec(1:16,1:2),kfinal(1:2),avec(1:16),&
+   	&omegah2_regm,Params%omegah2_rad,&
+    &omegah2_lambda,omk,hsq,&
+	&maxion_twiddle,badflag,dloga,16,cmat(1:16,1:16),lhsqcont_massless,lhsqcont_massive,&
+	&Params%Nu_mass_eigenstates,Nu_masses)
+   
+   diagnostic(1)=dfac*littlehfunc(1)/a_arr(1)
+   
+!!!!
+
+!!!!!!!!!!!!!!!!!!!!!!
+!Integration performed using eight order Runge-Kutta method
+!Derivatives at 8 points in advance of the one in question (with trial function values)
+!Added to current value using optimal quadrature coefficients under certain assumptions
+!This is an implementation of the 8th order formulas on page 75 of 
+!Classical Fifth-, Sixth-, Seventh-, and Eighth-Order Runge-Kutta Formulas with Stepsize Control
+!by E Fehlberg
+!http://hdl.handle.net/2060/19680027281
+!(NASA Huntsville, 1968)
+!It turns out a reasonably accurate integrator is required to accurately obtain the adiabatic sound speed at earlier times
+!Using super-horizon analytic solutions, we found that this integrator + 5000 grid points
+!was necessary to avoid exciting a non-physically large low-l ISW effect
+! DM please add comments on which condition led us to this realiztion???
+
+
+   do i=2,ntable,1
+!!!!integrate ODE using 16 pt (8th order Runge-Kutta) rule
+      !increment fluid (homogeneous values) using precomputed steps
+      v_vec(:,i)=v_vec(:,i-1)+(svec(1)*kvec(1,:)+svec(9)*kvec(9,:)+svec(10)*kvec(10,:)&
+           &+svec(11)*kvec(11,:)+svec(12)*kvec(12,:)+svec(13)*kvec(13,:)&
+           &+svec(14)*kvec(14,:)+svec(15)*kvec(15,:))
+!!!!
+      !calculate hubble for next step
+      call lh(omegah2_regm,Params%omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,a_arr(i),v_vec(1:2,i),littlehfunc(i),badflag,&
+           &lhsqcont_massless,lhsqcont_massive,Params%Nu_mass_eigenstates,Nu_masses)
+      
+      kvec=0.0d0
+      kfinal=0.0d0
+      
+      !Compute next steps in scalar field and its derivative
+      call next_step(a_arr(i),v_vec(1:2,i),kvec(1:16,1:2),kfinal(1:2),&
+      &avec(1:16),omegah2_regm,Params%omegah2_rad,omegah2_lambda,omk,hsq,&
+           &maxion_twiddle,badflag,dloga,16,cmat(1:16,1:16),&
+           &lhsqcont_massless,lhsqcont_massive,Params%Nu_mass_eigenstates,Nu_masses)
+      
+      
+      !compare m to nH and identify a reasonable guess for when a given history crosses the m=3H 
+      ! condition (and thus when the code will switch from pure scalar evolution to coherent oscillation)
+      diagnostic(i)=dfac*littlehfunc(i)/a_arr(i)
+      ! find first guess for aosc
+      if (i .gt. 1) then
+         if (aosc .eq. 15.0d0) then
+            if (maxion_twiddle .lt.diagnostic(i-1)) then
+            if (maxion_twiddle .ge.diagnostic(i)) then
+               aosc=a_arr(i)
+            endif
+         endif
+      endif
+   endif
+enddo
+!!!!now there's an array of dlog(diagnostic), use a simple spline to find aosc
+
+f_arr(1:ntable)=maxion_twiddle/(diagnostic(1:ntable))
+f_arr=dlog(f_arr)
+
+
+
+if (aosc .ne. 15.0d0) then
+
+d1=(Params%loga_table(2)-Params%loga_table(1))/(f_arr(2)-f_arr(1))
+d2=(Params%loga_table(ntable)-Params%loga_table(ntable-1))/(f_arr(ntable)-f_arr(ntable-1))
+
+call spline(f_arr(1:ntable),(Params%loga_table(1:ntable)),ntable,d1,d2,abuff(1:ntable))
+call spline_out(f_arr(1:ntable),Params%loga_table(1:ntable),&
+	&abuff(1:ntable)&
+	&,ntable,0.0d0,laosc)
+
+!use a simple spline to calculate phi at time oscillation begins (important to get relic density later, which will be off by a factor of order unity depending on how aosc is defined)
+!Finds root of equation log(m/3H)=0 uisng a cubic spline
+d1=(v_vec(1,2)-v_vec(1,1))/(Params%loga_table(2)-Params%loga_table(1))
+d2=(v_vec(1,ntable)-v_vec(1,ntable-1))/(Params%loga_table(ntable)-Params%loga_table(ntable-1))
+do i=1,ntable-10,1
+!!       print*,i,isnan(f_arr(i))
+!
+do k=0,10,1
+call lh(omegah2_regm,Params%omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,a_arr(i+k),v_vec(1:2,i+k),littlehfunc(i+k),badflag,&
+	&lhsqcont_massless,lhsqcont_massive,Params%Nu_mass_eigenstates,Nu_masses)
+        if (((isnan(f_arr(i+k))).or.(isnan(v_vec(1,i+k))) ).or.(isnan(v_vec(2,i+k))))then
+                print*,i,k,littlehfunc(i+k),v_vec(1,i+k),v_vec(2,i+k),a_arr(i+k),dexp(laosc)
+        endif
+enddo
+enddo
+
+!Find scalar field value at moment of m=nH (fiducial onset of coherent oscillation)
+call spline(Params%loga_table(1:ntable),v_vec(1,1:ntable),ntable,d1,d2,&
+      v_buff(1:ntable))
+call spline_out(Params%loga_table(1:ntable),v_vec(1,1:ntable),&
+	&v_buff(1:ntable)&
+	&,ntable,laosc,phiosc)  
+
+!Find scalar field derivative with scale factor at moment of m=nH (fiducal onset of coherent
+!oscillation)  
+!use a cubic spline to calculate phidot at time rolling begins, we can see perfect equipartition between kinetic and potential scalar field energy is not yet achieved at m=3H, but this is good enough for government work
+d1=(v_vec(2,2)-v_vec(2,1))/(Params%loga_table(2)-Params%loga_table(1))
+d2=(v_vec(2,ntable)-v_vec(2,ntable-1))/(Params%loga_table(ntable)-Params%loga_table(ntable-1))      
+call spline(Params%loga_table(1:ntable),v_vec(2,1:ntable),ntable,d1,d2,v_buff(1:ntable))   
+call spline_out(Params%loga_table(1:ntable),v_vec(2,1:ntable),&
+     &v_buff(1:ntable)&
+     &,ntable,laosc,phidosc) 
+
+
+aosc=dexp(laosc)  
+!calculate axion energy density fraction (compared to total matter+axion)
+!parcel these numbers of interest into an array which sweeps through different v1 values  
+!Beyond a>aosc, a simple a^-3 energy density scaling is applied                
+fout=((maxion_twiddle*phiosc)**2.0d0+(phidosc/aosc)**2.0d0)*(aosc**3.0d0)
+fout=fout/(omegah2_regm+((maxion_twiddle*phiosc)**2.0d0+(phidosc/aosc)**2.0d0)*(aosc**3.0d0))
+!print*,vtwiddle_init,aosc,fout,fax
+fout_arr(j)=fout
+fout_check_arr(j)=fout/fax
+aosc_arr(j)=(aosc)
+f_arr=dexp(f_arr)
+else
+!(case of no oscillation, just use result from full scalar field evolution)
+f_arr=dexp(f_arr)
+fout=(v_vec(2,ntable)/a_arr(ntable))**2.0d0+(maxion_twiddle*v_vec(1,ntable))**2.0d0
+fout=fout/(fout+omegah2_regm)
+fout_arr(j)=fout
+fout_check_arr(j)=fout/fax
+aosc_arr(j)=aosc
+endif
+
+
+
+enddo
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! End of sweep through different evolutions
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!DM
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Spline results of shooting method
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+vtwiddle_init_arr=dlog(vtwiddle_init_arr)
+fout_check_arr=dlog(fout_check_arr)
+fout_arr=dlog(fout_arr)
+
+
+!Exclude histories that crashed
+nstop=0
+do j=1,nphi,1
+   if (j .lt. nphi) then
+      if ((dexp(fout_check_arr(j+1)).eq.dexp(fout_check_arr(j)))) then
+         if (nstop.eq.0) then
+            nstop=j
+         endif
+      endif
+   endif
+!   print*,j,fout_check_arr(j)
+enddo
+if (nstop .eq. 0) then
+   nstop=nphi
+endif
+!
+!!!cubic spline to find best initial phi value to get axion energy fraction that is desire
+d1=(vtwiddle_init_arr(2)-vtwiddle_init_arr(1))/(fout_check_arr(2)-fout_check_arr(1))
+d2=(vtwiddle_init_arr(nstop)-vtwiddle_init_arr(nstop-1))
+d2=d2/(fout_check_arr(nstop)-fout_check_arr(nstop-1))
+call spline(fout_check_arr(1:nstop),vtwiddle_init_arr(1:nstop),nstop,d1,d2,vtwiddle_init_arr_buff(1:nstop))
+call spline_out(fout_check_arr(1:nstop),vtwiddle_init_arr(1:nstop),&
+	&vtwiddle_init_arr_buff(1:nstop)&
+	&,nstop,0.0d0,vtw) 
+
+
+
+!!!use a cubic spline to check that correct axion energy fraction is indeed achieved here
+d1=(vtwiddle_init_arr(2)-vtwiddle_init_arr(1))/(fout_arr(2)-fout_arr(1))
+d1=1.d0/d1
+d2=(vtwiddle_init_arr(nstop)-vtwiddle_init_arr(nstop-1))
+d2=d2/(fout_arr(nstop)-fout_arr(nstop-1))       
+d2=1.0d0/d2
+!!!             
+call spline(vtwiddle_init_arr(1:nstop),fout_arr(1:nstop),nstop,d1,d2,vtwiddle_init_arr_buff(1:nstop))   
+call spline_out(vtwiddle_init_arr(1:nstop),fout_arr(1:nstop),&
+     &vtwiddle_init_arr_buff(1:nstop)&
+     &,nstop,vtw,final_fout_check) 
+!print*,dexp(final_fout_check)*omegah2_regm/(1.0d0-dexp(final_fout_check)),fax*omegah2_regm/(1.0d0-(fax))
+
+!Use cubic spline to get aosc for this best (and chosen history)
+laosc_arr=dlog(aosc_arr)
+d1=(vtwiddle_init_arr(2)-vtwiddle_init_arr(1))/(aosc_arr(2)-aosc_arr(1))
+d1=1.d0/d1
+d2=(vtwiddle_init_arr(nstop)-vtwiddle_init_arr(nstop-1))
+d2=d2/(laosc_arr(nstop)-laosc_arr(nstop-1))       
+d2=1.0d0/d2
+call spline(vtwiddle_init_arr(1:nstop),laosc_arr(1:nstop),nstop,d1,d2,vtwiddle_init_arr_buff(1:nstop))   
+call spline_out(vtwiddle_init_arr(1:nstop),laosc_arr(1:nstop),&
+     &vtwiddle_init_arr_buff(1:nstop)&
+     &,nstop,vtw,Params%a_osc)
+vtw=dexp(vtw)
+Params%a_osc=dexp(Params%a_osc)
+if (Params%a_osc .ge. 1.0d0) then
+   Params%a_osc=1.0d0
+endif
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!
+! DM log a integration at best fit initial field value for output
+!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+!Do same log scale factor integration at bestfit phi value to get history of fluid variables
+!!Set scale factor integration range
+a_init=dexp(log_a_init)
+if (Params%a_osc .le. 1.0d0) then
+a_final=Params%a_osc*(1.0d0+eps)
+else
+a_final=1.0d0
+endif
+log_a_final=dlog(a_final)
+dloga=(log_a_final-log_a_init)/dble(ntable-1)
+
+!Set intial value
+vtwiddle_init=vtw
+
+
+!initial loga and a value
+Params%loga_table(i)=log_a_init
+a_arr(1)=dexp(Params%loga_table(i))
+!start axion at rest at top of hill, with phi guessed at current guess
+v_vec(1,1)=vtwiddle_init
+v_vec(2,1)=0.0d0
+
+!Compute initial Hubble
+call lh(omegah2_regm,Params%omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,a_arr(1),v_vec(1:2,1),littlehfunc(1),badflag,&
+	&lhsqcont_massless,lhsqcont_massive,Params%Nu_mass_eigenstates,Nu_masses)
+
+!Compute first step parameters
+kvec=0.0d0
+kfinal=0.0d0
+call next_step(a_arr(1),v_vec(1:2,1),kvec(1:16,1:2),kfinal(1:2),avec(1:16),omegah2_regm,Params%omegah2_rad,omegah2_lambda,omk,hsq,&
+	&maxion_twiddle,badflag,dloga,16,cmat(1:16,1:16),lhsqcont_massless,lhsqcont_massive,Params%Nu_mass_eigenstates,Nu_masses)
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! DM: do loop for pulling out values at correct initial phi
+!time integration, pull out same values at each time step
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+badflag=0
+
+forall(i=2:ntable)
+   Params%loga_table(i)=log_a_init+dloga*dble(i-1)
+   a_arr(i)=dexp(Params%loga_table(i))
+end forall
+
+do i=2,ntable,1
+   !Take step using previously computed step parameters   
+   v_vec(1:2,i)=v_vec(1:2,i-1)+(svec(1)*kvec(1,1:2)+svec(9)*kvec(9,1:2)+svec(10)*kvec(10,1:2)&
+	&+svec(11)*kvec(11,1:2)+svec(12)*kvec(12,1:2)+svec(13)*kvec(13,1:2)&
+	&+svec(14)*kvec(14,1:2)+svec(15)*kvec(15,1:2))
+   
+	!Compute Hubble/(km/s/Mpc)
+   call lh(omegah2_regm,Params%omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,a_arr(i),v_vec(1:2,i),littlehfunc(i),badflag,&
+	&lhsqcont_massless,lhsqcont_massive,Params%Nu_mass_eigenstates,Nu_masses)
+
+kvec=0.0d0
+kfinal=0.0d0
+!compute next step parameters
+call next_step(a_arr(i),v_vec(1:2,i),kvec(1:16,1:2),kfinal(1:2),avec(1:16),omegah2_regm,&
+	&Params%omegah2_rad,omegah2_lambda,omk,hsq,&
+	&maxion_twiddle,badflag,dloga,16,cmat(1:16,1:16),&
+	&lhsqcont_massless,lhsqcont_massive,Params%Nu_mass_eigenstates,Nu_masses)
+enddo
+
+!Compute m/3H as a function of scale factor, as well as the scalar field equation of state
+!and appropriately normalized energy density
+forall(i=1:ntable)
+diagnostic(i)=dfac*littlehfunc(i)/a_arr(i)
+Params%wax_table(i)=(((v_vec(2,i)/(a_arr(i)))**2.0d0)-((v_vec(1,i)*maxion_twiddle)**2.0d0))
+Params%wax_table(i)=Params%wax_table(i)/(((v_vec(2,i)/(a_arr(i)))**2.0d0)+((v_vec(1,i)*maxion_twiddle)**2.0d0))
+!!tabulate axion energy density
+grhoax_table_internal(i)=((v_vec(2,i)/a_arr(i))**2.0d0+(maxion_twiddle*v_vec(1,i))**2.0d0)
+end forall
+!This is the axion energy density *h^2/(3H_0^2/8\pi G), where h is the dimensionless Hubble Parameter
+!so in camb's definitions grhoa2_axion=grhom*grhox_table_internal(i)
+
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! Spline final arrays
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!with complete history in hand, spline to find axion energy density at a=aosc
+Params%a_osc=dlog(Params%a_osc)
+Params%grhoax_table=dlog(grhoax_table_internal)
+   d1=(Params%grhoax_table(2)-Params%grhoax_table(1))/(Params%loga_table(2)-Params%loga_table(1))
+d2=(Params%grhoax_table(ntable)-Params%grhoax_table(ntable-1))/(Params%loga_table(ntable)-Params%loga_table(ntable-1))      
+call spline(Params%loga_table(1:ntable),Params%grhoax_table(1:ntable),ntable,d1,d2,Params%grhoax_table_buff)
+call spline_out(Params%loga_table(1:ntable),Params%grhoax_table(1:ntable),&
+	&Params%grhoax_table_buff(1:ntable)&
+	&,ntable,Params%a_osc,drefp)
+
+
+Params%a_osc=dexp(Params%a_osc)
+drefp=dexp(drefp)
+
+!Replace putative scalar field solution with a^-3 solution at match point
+!for CAMB+CosmoMC (or Cosmosis) adequate time griddings, scalar field EOMs cannot be solved exactly
+!Thus we switch to this scaling
+do i=1,ntable,1
+if (a_arr(i) .gt. Params%a_osc) then
+grhoax_table_internal(i)=drefp*((Params%a_osc/a_arr(i))**3.0d0)
+endif
+enddo
+Params%grhoax_table=dlog(grhoax_table_internal)
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!calculate axion adiabatic sound speed Pdot/rhodot, asymptoting to constant (physical) value at low a, when small machine numbers start to behave badly
+!!Apply analytic expression for Pdot/rdhot so that
+!!noisy numerical derivatives need no be used
+forall(i=1:ntable)
+Params%cs2_table(i)=1.0d0+2.0d0*((maxion_twiddle*a_arr(i))**2.0d0)*v_vec(1,i)/(3.0d0*v_vec(2,i)*littlehfunc(i))
+end forall
+Params%cs2_table(1)=Params%cs2_table(2)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!Use WKB averages of cs2_adiabatic and w_axion after a>a_osc
+do i=1,ntable,1
+if (a_arr(i) .gt. Params%a_osc) then
+Params%cs2_table(i)=0.0d0
+Params%wax_table(i)=0.0d0
+endif
+enddo
+!!!!!!!!!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!
+!use same spline method used in rest of subroutine to find new aeq value in this cosmological history (will be needed in initial condition code to normalize, time, scale factor, etc, in particular for isocurvature mode
+forall(i=1:ntable)
+eq_arr(i)=((omegah2_regm/(a_arr(i)**3.0d0)+grhoax_table_internal(i))/(Params%omegah2_rad/(a_arr(i)**4.0d0)))
+end forall
+eq_arr=dlog(eq_arr)
+d1=(Params%loga_table(2)-Params%loga_table(1))/(eq_arr(2)-eq_arr(1))
+d2=(Params%loga_table(ntable)-Params%loga_table(ntable-1))/(eq_arr(ntable)-eq_arr(ntable-1))      
+call spline(eq_arr(1:ntable),(Params%loga_table(1:ntable)),ntable,d1,d2,eq_arr_buff(1:ntable))
+call spline_out(eq_arr(1:ntable),Params%loga_table(1:ntable),&
+     &eq_arr_buff(1:ntable)&
+     &,ntable,0.0d0,Params%aeq)
+     Params%aeq=dexp(Params%aeq)
+!Sometimes this spline breaks if a_osc<a_eq, in that case simpler expressions can be used
+	regzeq=(Params%omegah2_rad+sum(lhsqcont_massive))/(omegah2_b+omegah2_dm+omegah2_ax)
+	if (Params%a_osc.lt.regzeq) then
+		Params%aeq=regzeq
+	endif
+!!!!!!!
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!put axion energy density in units used in camb time integrations
+forall(i=1:ntable)
+	Params%grhoax_table(i)=Params%grhoax_table(i)-dlog(hsq)
+end forall
+Params%drefp_hsq=drefp/hsq
+Params%grhoax_table=dlog10(dexp(Params%grhoax_table))
+Params%loga_table=dlog10(dexp(Params%loga_table))
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!create spline buffer arrays for all quatntities of interest as a function of time in code, this will allow camb to calculate via interpolation any of the quantities of interest at any time
+!EOS of axions
+d1=(Params%wax_table(2)-Params%wax_table(1))/(Params%loga_table(2)-Params%loga_table(1))
+d2=(Params%wax_table(ntable)-Params%wax_table(ntable-1))/(Params%loga_table(ntable)-Params%loga_table(ntable-1))      
+call spline(Params%loga_table(1:ntable),Params%wax_table(1:ntable),ntable,d1,d2,Params%wax_table_buff(1:ntable))
+!adiabatic sound speed of axions=Pdot/rhodot
+d1=(Params%cs2_table(3)-Params%cs2_table(2))/(Params%loga_table(3)-Params%loga_table(2))
+d2=(Params%cs2_table(ntable)-Params%cs2_table(ntable-1))/(Params%loga_table(ntable)-Params%loga_table(ntable-1))
+call spline(Params%loga_table(2:ntable),(Params%cs2_table(2:ntable)),ntable-1,d1,d2,Params%cs2_table_buff(2:ntable))
+!SPINE SCALAR FIELD ENERGY DENSITY FOR LATER USE IN CAMB
+d1=(Params%grhoax_table(2)-Params%grhoax_table(1))/(Params%loga_table(2)-Params%loga_table(1))
+d2=(Params%grhoax_table(ntable)-Params%grhoax_table(ntable-1))/(Params%loga_table(ntable)-Params%loga_table(ntable-1))
+call spline(Params%loga_table(1:ntable),Params%grhoax_table(1:ntable),ntable,d1,d2,Params%grhoax_table_buff(1:ntable))
+!!!!!!!!!!!!!!!!!!!!!!!
+
+!!feed out real (dl) valued version of all this stuff for output
+!put scalar field initial condition in planck units
+Params%phiinit=vtw*sqrt(6.0d0)                                                                                              
+!output omega_r
+Params%omegar=Params%omegah2_rad/hsq
+
+!!!!Timing Stuff
+!clock_stop = 0.0
+!call cpu_time(clock_stop)
+!print*,'axion bg subroutine timing:', clock_stop - clock_start
+end subroutine w_evolve
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!!!!!!!!!!!!!!!!!!!!!!!!
+! Begin derivative routine
+!!!!!!!!!!!!!!!!!!!!!!!!
+
+subroutine derivs(a,v,dvt_dloga,omegah2_regm,omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,badflag,&
+	&lhsqcont_massless,lhsqcont_massive,Nu_mass_eigenstates,Nu_masses)
+use constants
+use Precision
+implicit none
+integer badflag,Nu_mass_eigenstates
+real(dl) a
+real(dl) dvt_dloga(1:2),dvt_da(1:2),lhr
+real(dl) v(1:2)
+real(dl) omegah2_regm,omegah2_rad,omegah2_lambda
+real(dl) maxion_twiddle,Nu_masses(Nu_mass_eigenstates)
+real(dl) omk,hsq,lhsqcont_massless,lhsqcont_massive(Nu_mass_eigenstates)
+
+
+!Compute hubble dimensionless 
+call lh(omegah2_regm,omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,a,v,lhr,badflag,&
+	&lhsqcont_massless,lhsqcont_massive,Nu_mass_eigenstates,Nu_masses)
+
+!calculate fluid derivatives (d/dloga )for next step
+!Solving Equation described and defined in top part of this fortran file
+dvt_da(1)=v(2)/(a*(lhr))
+dvt_da(2)=-2.0d0*v(2)/(a)-(maxion_twiddle**2.0d0)*a&
+      *v(1)/(lhr)
+dvt_dloga(1:2)=a*dvt_da(1:2)
+end subroutine derivs
+
+
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Compute H/(100 km/s/Mpc) at any moment in our cosmological history
+subroutine lh(omegah2_regm,omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,a,v,littlehfunc,&
+	&badflag,&
+	&lhsqcont_massless,lhsqcont_massive,Nu_mass_eigenstates,nu_masses)
+use constants
+use Precision
+use MassiveNu
+implicit none
+integer badflag,Nu_mass_eigenstates,i
+real(dl) omegah2_regm,omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,a
+real(dl) v(1:2),littlehfunc,lhsqcont_massless,lhsqcont_massive(Nu_mass_eigenstates)
+real(dl) mass_correctors(Nu_mass_eigenstates),rhonu
+real(dl) nu_masses(Nu_mass_eigenstates)
+
+!Compute corrections to neutrino energy density from massless to massive case
+do i=1,Nu_mass_eigenstates,1
+call Nu_rho(a*nu_masses(i),rhonu)
+mass_correctors(i)=rhonu
+enddo
+!!!!!!!
+
+
+!Compute H/(100 km /s/Mpc), contributions from normal stuff
+littlehfunc=(omegah2_regm/(a**3.0d0)+omegah2_rad/(a**4.0d0))+&
+	&sum(lhsqcont_massive*mass_correctors,Nu_mass_eigenstates)/(a**4.0d0)
+
+!Contributions from cosmological constant and scalar field
+littlehfunc=littlehfunc+omegah2_lambda+((v(2)/a)**2.0d0)
+littlehfunc=littlehfunc+(maxion_twiddle*v(1))**2.0d0
+littlehfunc=littlehfunc*(a**2.0d0)+omk*hsq
+! DM flag histories where h goes negative, i.e. do not want collapsing universe
+if (littlehfunc .le. 0.0d0) then
+        badflag=1
+endif
+if (isnan(littlehfunc)) then 
+badflag = 1
+endif
+!
+
+littlehfunc=dsqrt(littlehfunc)
+
+end subroutine
+
+
+!!!!! Take next step in integration using method described above
+
+subroutine next_step(a,v,kvec,kfinal,avec,omegah2_regm,omegah2_rad,omegah2_lambda,omk,&
+	&hsq,maxion_twiddle,badflag,dloga,nstep,cmat,&
+	&lhsqcont_massless,lhsqcont_massive,Nu_mass_eigenstates,Nu_masses)
+use constants
+use Precision
+implicit none
+
+real(dl) hsq,a,v(1:2),kvec(1:nstep,1:2),omegah2_regm,omegah2_rad,omegah2_lambda,maxion_twiddle,dloga,omk
+real(dl) vfeed(1:2),cmat(1:nstep,1:nstep),kfinal(1:2),avec(1:nstep)
+integer Nu_mass_eigenstates
+integer nstep,cp,m,badflag
+real(dl) lhsqcont_massless,lhsqcont_massive(Nu_mass_eigenstates)
+real(dl) Nu_masses(Nu_mass_eigenstates)
+
+	kvec=0.0d0
+kfinal=0.0d0
+			call derivs(a,v(1:2),kvec(1,1:2),omegah2_regm,omegah2_rad,omegah2_lambda,omk,hsq,maxion_twiddle,badflag,&
+	&lhsqcont_massless,lhsqcont_massive,Nu_mass_eigenstates,Nu_masses)
+			kvec(1,1:2)=kvec(1,1:2)*dloga
+			do m=1,nstep,1
+			do cp=1,2,1
+	vfeed(cp)=dot_product(cmat(m,1:m),kvec(1:m,cp))
+
+	enddo
+     if (m .le. (nstep-1)) then
+	call derivs(a*dexp(dloga*avec(m)),v(1:2)+vfeed(1:2),&
+	&kvec(m+1,1:2),omegah2_regm,omegah2_rad,omegah2_lambda,omk,hsq&
+     &,maxion_twiddle,badflag,lhsqcont_massless,lhsqcont_massive,Nu_mass_eigenstates,Nu_masses)
+kvec(m+1,1:2)=kvec(m+1,1:2)*dloga
+else
+call derivs(a*dexp(dloga*avec(m)),v(1:2)+vfeed(1:2),&
+	&kfinal(1:2),omegah2_regm,omegah2_rad,omegah2_lambda,omk,hsq&
+	&,maxion_twiddle,badflag,lhsqcont_massless,lhsqcont_massive,Nu_mass_eigenstates,Nu_masses)
+	kfinal(1:2)=kfinal(1:2)*dloga
+endif
+enddo
+end subroutine
+
+!!!!!!!!
+
+
+
+
+
+
+
+
+end module axion_background
diff --git a/bessels.f90 b/bessels.f90
new file mode 100644
index 0000000..a735a3a
--- /dev/null
+++ b/bessels.f90
@@ -0,0 +1,1380 @@
+!CAMB spherical and hyperspherical Bessel function routines
+!This version May 2006 - minor changes to bjl (http://cosmocoffee.info/viewtopic.php?t=530)
+!Feb 2007: fixed for high l, uses Ranges
+!Feb 2009: minor fix for non-flat compiled with non-smart IF evaluation
+!Dec 2011: minor tweak to DoRecurs for smoother errors across flat for L~O(30)
+!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!Flat bessel function module
+
+        module SpherBessels
+        use Precision
+        use ModelParams
+        use Ranges
+        implicit none
+        private
+        
+!     Bessel functions and their second derivatives for interpolation
+    
+        real(dl), dimension(:,:), allocatable ::  ajl,ajlpr, ddajlpr
+
+        integer  num_xx, kmaxfile, file_numl,  file_l(lmax_arr)
+!      parameters for working out where the flat Bessel functions are small
+!      Both should increase for higher accuracy
+!        real(dl), parameter :: xlimmin=15._dl  , xlimfrac = 0.05_dl 
+         real(dl), parameter :: xlimmin=35._dl  , xlimfrac = 0.05_dl 
+        
+        Type(Regions):: BessRanges
+
+        public ajl, ajlpr, ddajlpr, BessRanges, InitSpherBessels, xlimmin, xlimfrac
+        public USpherBesselWithDeriv, phi_recurs,phi_langer, bjl, Bessels_Free
+ 
+       contains
+
+         
+      subroutine InitSpherBessels
+!     This subroutine reads the jl files from disk (or generates them if not on disk)
+      use lvalues
+      implicit none
+
+      !See if already loaded with enough (and correct) lSamp%l values and k*eta values
+      if (allocated(ajl) .and. (lSamp%l0 <= file_numl) .and. all(file_l(1:lSamp%l0)-lSamp%l(1:lSamp%l0)==0) &
+                    .and. (int(min(max_bessels_etak,CP%Max_eta_k))+1 <= kmaxfile)) return
+
+      !Haven't made them before, so make them now
+      call GenerateBessels
+    
+      if (DebugMsgs .and. FeedbackLevel > 0) write(*,*) 'Calculated Bessels'
+
+      end subroutine InitSpherBessels
+
+     subroutine GenerateBessels
+       use lvalues
+       real(dl) x
+       real(dl) xlim
+       integer i,j
+       integer max_ix
+       real(dl), parameter :: bessel_boost =1._dl 
+
+ 
+        if (DebugMsgs .and. FeedbackLevel > 0) write (*,*) 'Generating flat Bessels...'
+      
+
+        file_numl= lSamp%l0 
+        file_l(1:lSamp%l0) = lSamp%l(1:lSamp%l0)
+        kmaxfile = int(min(CP%Max_eta_k,max_bessels_etak))+1
+        if (do_bispectrum) kmaxfile = kmaxfile*2
+     
+
+        call Ranges_Init(BessRanges)
+
+        call Ranges_Add_delta(BessRanges,0._dl, 1._dl,0.01_dl/bessel_boost)
+        call Ranges_Add_delta(BessRanges,1._dl, 5._dl,0.1_dl/bessel_boost)
+        call Ranges_Add_delta(BessRanges,5._dl, 25._dl,0.2_dl/bessel_boost)
+        call Ranges_Add_delta(BessRanges,25._dl, 150._dl,0.5_dl/bessel_boost/AccuracyBoost)
+        call Ranges_Add_delta(BessRanges,150._dl, real(kmaxfile,dl),0.8_dl/bessel_boost/AccuracyBoost)
+
+        call Ranges_GetArray(bessRanges, .false.)
+        num_xx = BessRanges%npoints
+
+
+       max_ix = min(max_bessels_l_index,lSamp%l0)
+
+       if (allocated(ajl)) deallocate(ajl)
+       if (allocated(ajlpr)) deallocate(ajlpr)
+       if (allocated(ddajlpr)) deallocate(ddajlpr)
+       Allocate(ajl(1:num_xx,1:max_ix))
+       Allocate(ajlpr(1:num_xx,1:max_ix))
+       Allocate(ddajlpr(1:num_xx,1:max_ix))
+
+       !$OMP PARALLEL DO DEFAULT(SHARED),SCHEDULE(STATIC), PRIVATE(j,i,x,xlim)
+       do j=1,max_ix
+       
+         do  i=1,num_xx
+            x=BessRanges%points(i)
+            xlim=xlimfrac*lSamp%l(j)
+            xlim=max(xlim,xlimmin)
+            xlim=lSamp%l(j)-xlim
+            if (x > xlim) then
+               if ((lSamp%l(j)==3).and.(x <=0.2) .or. (lSamp%l(j) > 3).and.(x < 0.5) .or. &
+                            (lSamp%l(j)>5).and.(x < 1.0)) then
+                   ajl(i,j)=0
+                 else
+                  !if ( lSamp%l(j) > 40000) then
+                  ! ajl(i,j) = phi_langer(lSamp%l(j),0,1._dl,x)
+                  !else
+                   call bjl(lSamp%l(j),x,ajl(i,j))
+                  !end if
+               end if
+            else
+                  ajl(i,j)=0
+            end if
+         end do
+
+!     get the interpolation matrix for bessel functions
+        call spline(BessRanges%points,ajl(1,j),num_xx,spl_large,spl_large,ajlpr(1,j))
+        call spline(BessRanges%points,ajlpr(1,j),num_xx,spl_large,spl_large,ddajlpr(1,j))
+         
+      end do
+     !$OMP END PARALLEL DO
+
+     end subroutine GenerateBessels
+
+     subroutine Bessels_Free
+
+       if (allocated(ajl)) deallocate(ajl)
+       if (allocated(ajlpr)) deallocate(ajlpr)
+       if (allocated(ddajlpr)) deallocate(ddajlpr)
+       call Ranges_Free(BessRanges)
+
+     end  subroutine Bessels_Free
+
+ 
+         SUBROUTINE BJL(L,X,JL)
+        !!== MODIFIED SUBROUTINE FOR SPHERICAL BESSEL FUNCTIONS.                       ==!!
+        !!== CORRECTED THE SMALL BUGS IN PACKAGE CMBFAST&CAMB(for l=4,5, x~0.001-0.002)==!! 
+        !!== CORRECTED THE SIGN OF J_L(X) FOR X<0 CASE                                 ==!!
+        !!== WORKS FASTER AND MORE ACCURATE FOR LOW L, X<<L, AND L<<X cases            ==!! 
+        !!== zqhuang@astro.utoronto.ca                                                 ==!!
+        IMPLICIT NONE
+        INTEGER L
+        real(dl) X,JL
+        real(dl) AX,AX2
+        real(dl),PARAMETER::LN2=0.6931471805599453094D0
+        real(dl),PARAMETER::ONEMLN2=0.30685281944005469058277D0
+        real(dl),PARAMETER::PID2=1.5707963267948966192313217D0
+        real(dl),PARAMETER::PID4=0.78539816339744830961566084582D0
+        real(dl),parameter::ROOTPI12 = 21.269446210866192327578D0
+        real(dl),parameter::GAMMA1 =   2.6789385347077476336556D0 !/* Gamma function of 1/3 */
+        real(dl),parameter::GAMMA2 =   1.3541179394264004169452D0 !/* Gamma function of 2/3 */
+        real(dl),PARAMETER::PI=3.141592653589793238463D0
+        real(dl) NU,NU2,BETA,BETA2,COSB
+        real(dl) sx,sx2
+        real(dl) cotb,cot3b,cot6b,secb,sec2b
+        real(dl) trigarg,expterm,L3
+
+        IF(L.LT.0)THEN
+            write(*,*) 'Can not evaluate Spherical Bessel Function with index l<0'
+            STOP
+        ENDIF
+        AX=DABS(X)
+        AX2=AX**2
+        IF(L.LT.7)THEN
+            IF(L.EQ.0)THEN
+                IF(AX.LT.1.D-1)THEN
+                    JL=1.D0-AX2/6.D0*(1.D0-AX2/20.D0)
+                ELSE
+                    JL=DSIN(AX)/AX
+                ENDIF
+
+            ELSEIF(L.EQ.1)THEN
+                IF(AX.LT.2.D-1)THEN
+                    JL=AX/3.D0*(1.D0-AX2/10.D0*(1.D0-AX2/28.D0))
+                ELSE
+                    JL=(DSIN(AX)/AX-DCOS(AX))/AX
+                ENDIF
+            ELSEIF(L.EQ.2)THEN
+                IF(AX.LT.3.D-1)THEN
+                    JL=AX2/15.D0*(1.D0-AX2/14.D0*(1.D0-AX2/36.D0))
+                ELSE
+                    JL=(-3.0D0*DCOS(AX)/AX-DSIN(AX)*(1.D0-3.D0/AX2))/AX
+                ENDIF
+            ELSEIF(L.EQ.3)THEN
+                IF(AX.LT.4.D-1)THEN
+                    JL=AX*AX2/105.D0*(1.D0-AX2/18.D0*(1.D0-AX2/44.D0))
+                ELSE
+                    JL=(DCOS(AX)*(1.D0-15.D0/AX2)-DSIN(AX)*(6.D0-15.D0/AX2)/AX)/AX
+                ENDIF
+            ELSEIF(L.EQ.4)THEN
+                IF(AX.LT.6.D-1)THEN
+                    JL=AX2**2/945.D0*(1.D0-AX2/22.D0*(1.D0-AX2/52.D0))
+                ELSE
+                    JL=(DSIN(AX)*(1.D0-(45.D0-105.D0/AX2)/AX2)+DCOS(AX)*(10.D0-105.D0/AX2)/AX)/AX
+                ENDIF
+            ELSEIF(L.EQ.5)THEN
+                IF(AX.LT.1.D0)THEN
+                    JL=AX2**2*AX/10395.D0*(1.D0-AX2/26.D0*(1.D0-AX2/60.D0))
+                ELSE
+                    JL=(DSIN(AX)*(15.D0-(420.D0-945.D0/AX2)/AX2)/AX-DCOS(AX)*(1.D0-(105.D0-945.0d0/AX2)/AX2))/AX
+                ENDIF
+            ELSE
+                IF(AX.LT.1.D0)THEN
+                    JL=AX2**3/135135.D0*(1.D0-AX2/30.D0*(1.D0-AX2/68.D0))
+                ELSE
+                    JL=(DSIN(AX)*(-1.D0+(210.D0-(4725.D0-10395.D0/AX2)/AX2)/AX2)+ &
+                        DCOS(AX)*(-21.D0+(1260.D0-10395.D0/AX2)/AX2)/AX)/AX
+                ENDIF
+            ENDIF
+        ELSE
+            NU=0.5D0+L
+            NU2=NU**2
+            IF(AX.LT.1.D-40)THEN
+                JL=0.D0
+            ELSEIF((AX2/L).LT.5.D-1)THEN
+                JL=DEXP(L*DLOG(AX/NU)-LN2+NU*ONEMLN2-(1.D0-(1.D0-3.5D0/NU2)/NU2/30.D0)/12.D0/NU) &
+                   /NU*(1.D0-AX2/(4.D0*NU+4.D0)*(1.D0-AX2/(8.D0*NU+16.D0)*(1.D0-AX2/(12.D0*NU+36.D0))))
+            ELSEIF((real(L,dl)**2/AX).LT.5.D-1)THEN
+                BETA=AX-PID2*(L+1)
+                JL=(DCOS(BETA)*(1.D0-(NU2-0.25D0)*(NU2-2.25D0)/8.D0/AX2*(1.D0-(NU2-6.25)*(NU2-12.25D0)/48.D0/AX2)) &
+                   -DSIN(BETA)*(NU2-0.25D0)/2.D0/AX* (1.D0-(NU2-2.25D0)*(NU2-6.25D0)/24.D0/AX2*(1.D0-(NU2-12.25)* &
+                       (NU2-20.25)/80.D0/AX2)) )/AX   
+            ELSE
+                L3=NU**0.325
+                IF(AX .LT. NU-1.31*L3) then
+                    COSB=NU/AX
+                    SX = DSQRT(NU2-AX2)
+                    COTB=NU/SX
+                    SECB=AX/NU
+                    BETA=DLOG(COSB+SX/AX)
+                    COT3B=COTB**3
+                    COT6B=COT3B**2
+                    SEC2B=SECB**2
+                    EXPTERM=( (2.D0+3.D0*SEC2B)*COT3B/24.D0 &
+                       - ( (4.D0+SEC2B)*SEC2B*COT6B/16.D0 &
+                       + ((16.D0-(1512.D0+(3654.D0+375.D0*SEC2B)*SEC2B)*SEC2B)*COT3B/5760.D0 &
+                       + (32.D0+(288.D0+(232.D0+13.D0*SEC2B)*SEC2B)*SEC2B)*SEC2B*COT6B/128.D0/NU)*COT6B/NU) &
+                       /NU)/NU
+                    JL=DSQRT(COTB*COSB)/(2.D0*NU)*DEXP(-NU*BETA+NU/COTB-EXPTERM)
+
+                !          /**************** Region 2: x >> l ****************/
+
+                ELSEIF (AX .GT. NU+1.48*L3) then
+                    COSB=NU/AX
+                    SX=DSQRT(AX2-NU2)
+                    COTB=NU/SX
+                    SECB=AX/NU
+                    BETA=DACOS(COSB)
+                    COT3B=COTB**3
+                    COT6B=COT3B**2
+                    SEC2B=SECB**2
+                    TRIGARG=NU/COTB-NU*BETA-PID4 &
+                           -((2.0+3.0*SEC2B)*COT3B/24.D0  &
+                           +(16.D0-(1512.D0+(3654.D0+375.D0*SEC2B)*SEC2B)*SEC2B)*COT3B*COT6B/5760.D0/NU2)/NU
+                    EXPTERM=( (4.D0+sec2b)*sec2b*cot6b/16.D0 &
+                           -(32.D0+(288.D0+(232.D0+13.D0*SEC2B)*SEC2B)*SEC2B)*SEC2B*COT6B**2/128.D0/NU2)/NU2
+                    JL=DSQRT(COTB*COSB)/NU*DEXP(-EXPTERM)*DCOS(TRIGARG)
+
+                !          /***************** Region 3: x near l ****************/
+
+                ELSE
+                    BETA=AX-NU
+                    BETA2=BETA**2
+                    SX=6.D0/AX
+                    SX2=SX**2
+                    SECB=SX**0.3333333333333333d0
+                    SEC2B=SECB**2
+                    JL=( GAMMA1*SECB + BETA*GAMMA2*SEC2B &
+                          -(BETA2/18.D0-1.D0/45.D0)*BETA*SX*SECB*GAMMA1 &
+                          -((BETA2-1.D0)*BETA2/36.D0+1.D0/420.D0)*SX*SEC2B*GAMMA2   &
+                          +(((BETA2/1620.D0-7.D0/3240.D0)*BETA2+1.D0/648.D0)*BETA2-1.D0/8100.D0)*SX2*SECB*GAMMA1 &
+                          +(((BETA2/4536.D0-1.D0/810.D0)*BETA2+19.D0/11340.D0)*BETA2-13.D0/28350.D0)*BETA*SX2*SEC2B*GAMMA2 &
+                          -((((BETA2/349920.D0-1.D0/29160.D0)*BETA2+71.D0/583200.D0)*BETA2-121.D0/874800.D0)* &
+                           BETA2+7939.D0/224532000.D0)*BETA*SX2*SX*SECB*GAMMA1)*DSQRT(SX)/ROOTPI12
+                ENDIF
+            ENDIF
+        ENDIF
+        IF(X.LT.0.AND.MOD(L,2).NE.0)JL=-JL
+        END SUBROUTINE BJL    
+
+ !    end module SpherBessels
+
+
+
+
+!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!                                                                      c
+! Calculation of ultraspherical Bessel functions.                      c
+! Fortran version of the c program hyperjl.c by Arthur Kosowsky.       c
+! WKB approx described in astro-ph/9805173                             c
+!                                                                      c
+! Modifications by Anthony Challinor and Antony Lewis                  c
+! Minor modifications to correct K=1 case outside [0,pi],              c
+! the small chi approximations for lSamp%l=0 and lSamp%l=1, and                    c
+! the quadratic approximation to Q(x) around Q(x)=0.                   c
+! Bug fixed in downwards recursion (phi_recurs)                        c
+!                                                                      c
+! The routine phi_recurs uses recursion relations to calculate         c
+! the functions, which is accurate but relatively slow.                c  
+!   ***NOT STABLE FOR K=1 or for all cases ***                         c
+!                                                                      c
+! The routine phi_langer uses Langer's formula for a                   c
+! uniform first-order asymptotic approximation in the open, closed     c
+! and flat cases. This approximation is EXCELLENT for all lSamp%l >= 3.      c
+!                                                                      c
+! The routine qintegral calculates the closed-form answer              c
+! to the eikonal integral used in the WKB approximation.               c
+!                                                                      c
+! The routine airy_ai returns the Airy function Ai(x) of the argument  c
+! passed. It employs a Pade-type approximation away from zero and      c
+! a Taylor expansion around zero. Highly accurate.                     c
+!                                                                      c
+! The routines polevl and p1evl are auxiliary polynomial               c
+! evaluation routines used in the airy function calculation.           c
+!                                                                      c
+!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+
+
+! module USpherBessels
+! use Precision
+! implicit none
+! private 
+ 
+ 
+ !public USpherBesselWithDeriv, phi_recurs,phi_langer
+ 
+ 
+! contains
+
+        subroutine USpherBesselWithDeriv(closed,Chi,l,beta,y1,y2)
+          !returns y1=ujl*sinhChi and y2=diff(y1,Chi)
+          !aim for accuracy > 1% for all inputs
+        real(dl) Chi,beta,y1,y2,sinhChi,cothChi
+        real(dl) sin_K, cot_K
+        integer l,K
+        logical, intent(IN) :: closed
+        logical DoRecurs
+        
+        if (closed) then
+            sin_K = sin(Chi) 
+            cot_K= 1._dl/tan(Chi)
+            K=1
+         else 
+            sin_K=sinh(Chi)
+            cot_K = 1._dl/tanh(Chi)
+            K=-1
+         end if
+      
+        sinhChi = sin_K
+        cothChi = cot_K
+   
+       DoRecurs = ((l<=45*AccuracyBoost).OR.((.not.closed.or.(abs(Chi-pi/2)>0.2d0)).and.(beta*l<750) &
+            .or.closed.and.(beta*l<4000)))
+
+!Deep in the tails the closed recursion relation is not stable
+!Added July 2003 to prevent problems with very nearly flat models
+       if (DoRecurs .and. closed) then
+        if  (Chi < asin(sqrt(l*(l+1._dl))/beta) - 2/beta) then
+           if (phi_langer(l,K,beta,Chi) < 1e-7) then
+             call phi_small_closed_int(l,beta,chi,y1,y2)
+             return
+           end if 
+       end if    
+     end if        
+
+     if (DoRecurs) then 
+             !use recursive evaluation where WKB is poor and recurs is fast anyway.
+         y1=phi_recurs(l,K,beta,Chi)*sinhChi
+         y2=y1*(l+1)*cothChi
+         if (.not.closed.or.(l+1<nint(beta))) y2=y2 - &
+              sqrt(beta**2-(K*(l+1)**2))*phi_recurs(l+1,K,beta,Chi)*sinhChi
+          !of course we could get y2 much more quickly by modifying
+          !phi_recurs to return l and l+1 for each beta,Chi...
+
+
+         else !WKB approx
+         y1=phi_langer(l,K,beta,Chi)*sinhChi
+         y2=y1*(l+1)*cothChi   
+         if (.not.closed.or.(l+1<nint(beta))) y2=y2 - &
+              sqrt(beta**2-(K*(l+1)**2))*phi_langer(l+1,K,beta,Chi)*sinhChi  
+         
+         end if
+        
+        end subroutine USpherBesselWithDeriv
+
+
+
+!Calculates y1,y2 (noramlized to a value near the turning point)  
+!by integrating up the differential equation and normalizing to phi_recurs
+!in the region in which phi_recurs is stable
+!This allows closed functions to be computed where chi << turning point
+   subroutine phi_small_closed_int(l,beta,chi,y1,y2)
+   integer, intent(IN) :: l
+   real(dl), intent(IN) :: beta, chi
+   real(dl) y1,y2
+   
+   integer nsteps,i
+  
+   real(dl) ap1,nu2,dydchi1,dydchi2,yt1,yt2,dyt1,dyt2,dym1,dym2
+   real(dl) x0, delchi,sh, h6,x
+   real(dl) y1_x,y2_x, tmp,xh,hh
+ 
+   nsteps = 200
+   ap1 = l*(l+1)
+   x0 = sqrt(ap1)/beta
+   nu2 = beta**2
+
+   if ((beta*chi)**2/l < 0.005) then
+ !Series solution
+    
+     x = chi
+     sh = sin(x)
+     tmp=(ap1/sh**2 - nu2)
+     y1=1e-20  
+     y2 = ((l+1)/x - (nu2-ap1/3)/(2*l+3)*x) * y1
+   else
+
+   x = max(1d-7,chi - 50._dl/l)
+   y1=1e-20  
+   y2 = (l+1)*y1/x
+   
+   delchi = (chi-x)/nSteps
+   h6=delchi/6
+   hh=delchi/2
+   sh = sin(x)
+   tmp=(ap1/sh**2 - nu2) 
+   
+          do i=1,nSteps          
+! One step in the ujl integration
+! fourth-order Runge-Kutta method to integrate equation for ujl
+
+            dydchi1=y2         !deriv y1
+            dydchi2=tmp*y1     !deriv y2     
+            xh=x+hh          !midpoint of step
+            yt1=y1+hh*dydchi1  !y1 at midpoint
+            yt2=y2+hh*dydchi2  !y2 at midpoint
+            dyt1=yt2           !deriv y1 at mid
+            tmp=(ap1/sin(xh)**2 - nu2) 
+            
+            
+            dyt2=tmp*yt1       !deriv y2 at mid
+       
+            yt1=y1+hh*dyt1     !y1 at mid
+            yt2=y2+hh*dyt2     !y2 at mid
+           
+            dym1=yt2           !deriv y1 at mid
+            dym2=tmp*yt1       !deriv y2 at mid
+            yt1=y1+delchi*dym1 !y1 at end
+            dym1=dyt1+dym1     
+            yt2=y2+delchi*dym2 !y2 at end
+            dym2=dyt2+dym2
+            
+            x=x+delchi     !end point
+            sh=sin(x)    
+            dyt1=yt2           !deriv y1 at end
+            tmp=(ap1/sh**2 - nu2)
+            dyt2=tmp*yt1       !deriv y2 at end
+            y1=y1+h6*(dydchi1+dyt1+2*dym1) !add up
+            y2=y2+h6*(dydchi2+dyt2+2*dym2)       
+           if (y1 > 1d10 .or. y2> 1d10) then
+         
+              y1=y1/1d10
+              y2=y2/1d10
+        
+           end if
+         end do
+
+      end if     
+   
+       y1_x = y1; y2_x = y2 
+
+       delchi = (x0 - chi)/nSteps
+       h6=delchi/6
+       hh=delchi/2
+
+          do i=1,nSteps          
+! One step in the ujl integration
+! fourth-order Runge-Kutta method to integrate equation for ujl
+
+            dydchi1=y2         !deriv y1
+            dydchi2=tmp*y1     !deriv y2     
+            xh=x+hh          !midpoint of step
+            yt1=y1+hh*dydchi1  !y1 at midpoint
+            yt2=y2+hh*dydchi2  !y2 at midpoint
+            dyt1=yt2           !deriv y1 at mid
+            tmp=(ap1/sin(xh)**2 - nu2) 
+            
+            
+            dyt2=tmp*yt1       !deriv y2 at mid
+       
+            yt1=y1+hh*dyt1     !y1 at mid
+            yt2=y2+hh*dyt2     !y2 at mid
+           
+            dym1=yt2           !deriv y1 at mid
+            dym2=tmp*yt1       !deriv y2 at mid
+            yt1=y1+delchi*dym1 !y1 at end
+            dym1=dyt1+dym1     
+            yt2=y2+delchi*dym2 !y2 at end
+            dym2=dyt2+dym2
+            
+            x=x+delchi     !end point
+            sh=sin(x)    
+            dyt1=yt2           !deriv y1 at end
+            tmp=(ap1/sh**2 - nu2)
+            dyt2=tmp*yt1       !deriv y2 at end
+            y1=y1+h6*(dydchi1+dyt1+2*dym1) !add up
+            y2=y2+h6*(dydchi2+dyt2+2*dym2)       
+            if (y1 > 1d10 .or. y2 > 1d10) then
+              y1=y1/1d10
+              y2=y2/1d10
+              y1_x = y1_x/1d10
+              y2_x = y2_x/1d10
+        
+            end if
+         end do
+
+
+         tmp = phi_recurs(l,1,beta,x0)*sin(x0) / y1
+         y1 = y1_x * tmp
+         y2 = y2_x * tmp
+
+
+   end subroutine phi_small_closed_int
+ 
+!***********************************************************************
+!                                                                      *
+! Calculates Phi(l,beta,chi) using recursion on l.                     *
+! See Abbot and Schaefer, ApJ 308, 546 (1986) for needed               *
+! recursion relations and closed-form expressions for l=0,1.           *
+! (Note: Their variable y is the same as chi here.)                    *
+!                                                                      *
+! When the flag direction is negative, downwards recursion on l        *
+! must be used because the upwards direction is unstable to roundoff   *
+! errors. The downwards recursion begins with arbitrary values and     *
+! continues downwards to l=1, where the desired l value is normalized  *
+! using the closed form solution for l=1. (See, e.g., Numerical        *
+! Recipes of Bessel functions for more detail)                         *
+!                                                                      *
+!***********************************************************************
+
+  function phi_recurs(l, K, beta, chi)
+  !doesn't like values which give exponentially small phi
+  integer, intent(IN) :: l, K
+  real(dl), intent(IN) :: beta, chi
+  real(dl) phi_recurs
+  integer j, direction, lstart,ibeta
+  real(dl) ell, kay, arg, answer,beta2
+  real(dl) root_K
+  real(dl) phi0, phi1, phi_plus, phi_zero, phi_minus, b_zero, b_minus 
+  real(dl), parameter :: ACC=40._dl, BIG=1.d10
+  real(dl) sin_K, cot_K
+
+  ell=dble(l)
+ 
+ 
+  ! Test input values
+
+  if(l<0) then
+     write(*,*) "Bessel function index ell < 0"
+     stop
+  endif
+  if(beta<0._dl) then
+     write(*,*) "Wavenumber beta < 0"
+     stop
+  endif
+  if ((abs(K)/=1).and.(K/=0)) then
+     write(*,*) "K must be 1, 0 or -1"
+     stop
+  end if
+  
+  if(K==1) then    
+     ibeta=nint(beta)
+     if(ibeta<3) then
+        write(*,*) "Wavenumber beta < 3 for K=1"
+        stop
+     endif
+     if(ibeta<=l) then
+        write(*,*) "Wavenumber beta <= l"
+        stop
+     endif
+  endif
+ 
+  if (chi<1/BIG) then
+     phi_recurs=0
+     return
+  end if
+ 
+  kay = dble(K)
+  arg = beta * chi
+  beta2 = beta**2
+
+  if(K == 0) then
+     cot_K = 1._dl/chi
+     sin_K = chi
+     root_K = beta
+  else 
+   root_K = sqrt(beta2 -kay*ell*ell)
+  
+    if(K == -1) then
+    cot_K = 1._dl/tanh(chi)
+    sin_K = sinh(chi)   
+    else
+    cot_K = 1._dl/tan(chi)
+    sin_K = sin(chi)   
+    end if
+  
+  endif
+ 
+  
+  ! Closed form solution for l=0
+ 
+  if (abs(chi) < 1.d-4) then
+    if (abs(arg)<1.d-4) then
+     phi0 = 1._dl-chi**2*(beta*beta-kay)/6._dl
+    else
+     phi0=sin(arg)/arg
+    end if
+  else     
+     phi0 = sin(arg) / (beta * sin_K)
+  end if
+
+  if (l==0) then
+       phi_recurs=phi0
+       return 
+   end if
+
+
+     ! Closed form solution for l=1
+
+     if((abs(chi) < 1.d-4).and.(K/=0)) then
+        if(arg < 1.d-4) then
+           phi1 = chi*sqrt(beta*beta-kay)/3._dl
+           !beta2 * chi / (3._dl * sqrt(1._dl+ kay * beta2))
+        else 
+           phi1 = (sin(arg)/arg-cos(arg))/(sqrt(beta*beta-kay)*chi)
+             !(sin(arg)/arg - cos(arg))/arg
+        end if
+     elseif ((abs(arg) < 1.d-4).and.(K == 0)) then
+        phi1 = arg / 3._dl
+     else 
+        if (K /= 0 ) then
+           phi1 = sin(arg) * cot_K / (beta * sin_K) - cos(arg) / sin_K
+           phi1 = phi1/sqrt(beta2 - kay)
+        else
+           phi1 = (sin(arg)/arg - cos(arg))/arg
+        end if
+     end if
+     if(l==1) then
+        phi_recurs=phi1
+        return
+     end if
+     ! Find recursion direction
+     !  direction = +1 for upward recursion, -1 for downward
+
+     if(abs(cot_K) < root_K / ell) then 
+        direction = 1
+     else 
+        direction = -1
+     end if
+    
+     ! For K=1, must do upwards recursion:
+     ! NOT STABLE for all values of chi
+
+     if(K==1) direction = 1
+
+     ! Do upwards recursion on l
+    
+     
+     if(direction == 1)then
+        b_minus = sqrt(beta2 - kay)
+        phi_minus = phi0
+        phi_zero = phi1
+      
+        do j=2,l 
+           
+           if(K == 0) then
+              phi_plus = ((2*j-1) * cot_K * phi_zero - beta*phi_minus)/ beta
+           else 
+              b_zero = sqrt(beta2 - (K*j*j))  
+              phi_plus = ((2*j-1) * cot_K * phi_zero - b_minus * phi_minus) / b_zero
+              b_minus = b_zero
+           end if
+           phi_minus = phi_zero
+           phi_zero = phi_plus
+        end do
+      
+      
+        phi_recurs=phi_plus
+        
+     
+        return
+
+        ! Do downwards recursion on l
+
+     else 
+        lstart = l + 2 * int(sqrt(ell*ACC))
+      
+        b_zero = sqrt(beta2 - dble(K*lstart*lstart))
+        phi_plus = 0._dl
+        phi_zero = 1._dl
+        answer = 0._dl
+       
+        do j= lstart - 2,1,-1
+           
+           if(K == 0) then
+              phi_minus = ((2*j + 3) * cot_K * phi_zero - beta * phi_plus) / beta
+           else
+              b_minus = sqrt(beta2 - (K*(j+1)**2))  
+              phi_minus = ((2*j + 3) * cot_K * phi_zero - b_zero * phi_plus) / b_minus
+              b_zero = b_minus
+           end if
+           phi_plus = phi_zero
+           phi_zero = phi_minus
+
+           if(j == l) answer = phi_minus
+           if((abs(phi_zero) > BIG).and.(j/=1)) then
+              phi_plus = phi_plus/BIG
+              phi_zero = phi_zero/BIG            
+              answer = answer/BIG
+           end if
+        end do
+
+        ! Normalize answer to previously computed phi1
+
+        answer = answer*phi1 / phi_minus
+        phi_recurs=answer    
+       
+     end if
+ 
+   end function phi_recurs
+
+
+!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!                                                                      c
+! Calculates Phi(l,beta,chi) using the Langer uniform approximation    c
+! to the first-order WKB approximation.                                c
+! See C.M. Bender and S.A. Orszag,  Mathematical Methods for           c
+! Scientists and Engineers (McGraw-Hill, 1978; LC QA371.B43),          c
+! chapter 10.                                                          c
+!                                                                      c
+! Differential equation for needed function can be cast into the       c
+! Schrodinger form      \epsilon^2 y'' = Q(x) y                        c
+! where \epsilon^2 = 1/l(l+1) and Q(x) depends on the parameter        c
+! alpha \equiv beta * epsilon.                                         c
+!                                                                      c
+! In the K= +1 case, the function is                                   c
+! determined by its value on the interval [0, pi/2] and the symmetry   c
+! conditions Phi(chi + pi) = (-1)^{beta - l - 1} Phi(chi),             c
+!            Phi(pi - chi) = (-1)^{beta - l - 1} Phi(chi).             c
+! This interval contains one turning point, so the Langer formula      c
+! can be used.                                                         c
+! Note that the second condition at chi = pi/2 gives an eigenvalue     c
+! condition on beta, which  must corrected. For the lowest             c
+! eigenvalue(s), the region between the turning points is not large    c
+! enough for the asymptotic solution to be valid, so the functions     c
+! have a small discontinuity or discontinuous derivative at pi/2;      c
+! this behavior is corrected by employing a 4-term asymptotic          c
+! series around the regular point chi=pi/2.                            c
+! The exact eigenvalue condition requires that beta must be an         c
+! integer >= 3 with beta > l. Note this implies alpha > 1.             c
+!                                                                      c
+!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+      
+
+
+      function phi_langer(l,K,beta,chi)
+      integer l,K,ibeta,kay
+      real(dl) phi_langer
+      real(dl) ell,symm, anu, alpha2
+      real(dl) beta,chi,eikonal, wkb, arg, arg2, tmp
+      real(dl) epsilon, alpha, chi0, x, a, b,achi 
+    
+      real(dl) cot_K, sin_K
+      real(dl), parameter :: PI=3.1415926536d0,ROOTPI=1.772453851d0,ROOT2PI=2.506628275d0, &
+                           PIOVER2=1.570796327d0
+
+      ell=dble(l)
+      achi=chi
+   
+      symm=1._dl
+!
+! Test input values
+!
+      if(l<0) then
+         write(*,*) "Bessel function index ell < 0"
+         stop
+      endif
+      if(beta<0._dl) then
+         write(*,*) "Wavenumber beta < 0"
+         stop
+      endif
+      if ((abs(K)/=1).and.(K/=0)) then
+        write(*,*) "K must be 1, 0 or -1"
+        stop
+      end if
+
+      
+      if(K == 1) then        
+         ibeta=nint(beta)
+         if(ibeta<3) then
+            write(*,*) "Wavenumber beta < 3 for K=1"
+            stop
+         endif
+         if(ibeta<=l) then
+            write(*,*) "Wavenumber beta <= l"
+            stop
+         endif
+      endif
+   
+      kay=K
+
+
+! For closed case, find equivalent chi in [0,pi/2]
+!
+      if(K==1) then
+         achi=achi-2._dl*Pi*int(achi/2._dl/PI)
+         if(achi>PI) then
+            achi=2._dl*PI-achi
+            if(2*(l/2).eq.l) then
+               symm=symm
+            else
+               symm=-symm
+            endif
+         endif
+         if(achi>PI/2._dl) then
+            achi=PI-achi
+            if(2*((ibeta-l-1)/2).eq.(ibeta-l-1)) then
+               symm=symm
+            else
+               symm=-symm
+            endif
+         endif
+      endif
+
+! Definitions
+      if(K == 0) then
+          sin_K = achi         
+      else 
+            if(K == -1) then
+               sin_K = sinh(achi)   
+             else
+               sin_K = sin(achi)   
+            end if           
+      endif 
+
+! Closed form solution for l=0
+!
+      if(l == 0) then
+         arg=beta*achi
+       
+         if((abs(achi)<1.d-4).and.(K/=0)) then
+            if(abs(arg)<1.d-4) then
+               wkb=1._dl-achi*achi*(beta*beta-kay)/6._dl
+            else
+               wkb=sin(arg)/arg
+            endif
+         else if((abs(arg)<1.d-4).and.(K==0)) then
+            wkb=1._dl-arg*arg/6._dl
+         else
+            wkb=sin(arg)/(beta*sin_K)
+         endif
+         phi_langer=symm*wkb
+         return
+      endif
+!
+! Closed form solution for l=1
+!
+      if(l==1) then
+         arg=beta*achi
+      
+         if((abs(achi)<1.d-4).and.(K/=0)) then
+            if(abs(arg)<1.d-4) then
+               wkb=achi*sqrt(beta*beta-kay)/3._dl
+            else
+               wkb=(sin(arg)/arg-cos(arg))/(sqrt(beta*beta-kay)*achi)
+            endif
+         else if((abs(arg)<1.d-4).and.(K==0)) then
+            wkb=arg/3._dl
+         else 
+          if(K/=0) then
+            if(K==1) then
+               cot_K=1._dl/tan(achi)
+            else
+               cot_K=1._dl/tanh(achi)
+            endif
+            wkb=sin(arg)*cot_K/(beta*sin_K)-cos(arg)/sin_K
+            wkb=wkb/sqrt(beta*beta-kay)
+         else
+            wkb=(sin(arg)/arg-cos(arg))/arg
+         endif
+         end if
+         phi_langer=symm*wkb
+         return
+      endif
+!
+! Closed form solution for K=1 and beta = l+1 (lowest eigenfunction)
+!
+      if((K==1).and.(ibeta == (l+1))) then
+         wkb=(sin_K**ell)* &
+              sqrt(sqrt(2._dl*PI/(2._dl*ell+1._dl))*ell/((ell+1._dl)*(2._dl*ell+1._dl)))
+         wkb=wkb*(1+0.1875d0/ell-0.013671875/(ell*ell))
+         phi_langer=symm*wkb
+         return
+      endif
+
+! Very close to 0, return 0 (exponentially damped)
+!
+      if(abs(achi)<1.d-8) then
+         phi_langer=0._dl
+         return
+      endif
+
+
+! For closed case, find corrected eigenvalue beta
+!
+      if(K==1) then
+         anu=dble(ibeta)-1._dl/(8._dl*ell)+1._dl/(16._dl*ell*ell)
+      else
+         anu=beta
+      endif
+!
+! Evaluate epsilon using asymptotic form for large l
+!
+      if(l<20) then
+         epsilon=1._dl/sqrt(ell*(ell+1._dl))
+      else
+         epsilon=1._dl/ell-0.5d0/(ell*ell)+0.375d0/(ell*ell*ell)
+      endif
+     
+      alpha=epsilon*anu
+!
+! Calculate the turning point where Q(x)=0.
+! Function in question has only a single simple turning point.
+!
+      if(K==-1) chi0=log((1._dl+sqrt(1._dl+alpha*alpha))/alpha)
+      if(K==0) chi0=1._dl/alpha
+      if(K==1) chi0=asin(1._dl/alpha)
+ 
+
+! Very close to chi0, use usual wkb form to avoid dividing by zero
+!
+      if(abs(achi-chi0)<1.d-5) then
+
+! Calculate coefficients of linear and quadratic terms in Q(x) expansion
+! in the neighborhood of the turning point
+! Q(chi)=a*(chi0-chi)+b*(chi0-chi)**2
+         alpha2=alpha*alpha
+       
+         if(K==-1) then
+            a=2._dl*alpha2*sqrt(alpha2+1._dl)
+            b=3._dl*alpha2**2+2._dl*alpha2
+         endif
+         if(K==0) then
+            a=2._dl*alpha2*alpha
+            b=3._dl*alpha2**2
+         endif
+         if(K==1) then
+            a=2._dl*alpha2*sqrt(alpha2-1._dl)
+            b=3._dl*alpha2**2-2._dl*alpha2
+         endif
+       
+! Dependent variable x for which Q(x)=0 at x=0
+! x>0 is the evanescent region
+!
+         x=chi0-achi
+!
+! Argument of Airy function
+!
+         arg=(x+b*x*x/(5._dl*a))/(epsilon*epsilon/a)**(0.333333333d0)
+!
+! Evaluate Airy function
+!
+         wkb=airy_ai(arg)
+!
+! Rest of functional dependence
+!
+         wkb=wkb*(1._dl-b*x/(5._dl*a))/sin_K 
+!  Normalization factor:
+
+         wkb=wkb*symm*ROOTPI*((a*epsilon)**(-0.1666667d0))*sqrt(epsilon/anu)
+         phi_langer=wkb  
+        
+         return
+      endif
+
+
+! Langer approximation.
+!
+! Transport factor:
+!
+      tmp=sqrt(abs(1._dl/(sin_K*sin_K)-alpha*alpha))
+     
+! Eikonal factor
+!
+      eikonal=qintegral(sin_K,alpha,K)
+
+    
+     
+      arg=(1.5d0*eikonal/epsilon)**(1._dl/3._dl)
+   
+      arg2=arg*arg
+      if(achi>chi0) arg2=-arg2
+      
+! Multiply factors together
+
+      wkb=airy_ai(arg2)*symm*ROOTPI*sqrt(arg*epsilon/anu/tmp)/Sin_K
+      phi_langer=wkb
+
+      end function phi_langer
+
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!                                                                       c
+! Evaluates the exact solution to  the integral giving the WKB          c
+! eikonal solution,   \int^x sqrt(abs(Q(x))) dx                         c
+!                                                                       c
+! In the open case, this integral costs 1 or 2 square roots, an atan    c
+! and a log; its evaluation will be roughly as expensive as the rest    c
+! of the Phi routine. An analytic fit cannot be substantially faster    c
+! because the dependence on alpha of the y-intercept of the linear      c
+! region of the integrand contains a log and an atan, so at best a fit  c
+! can only save the computation of the square roots.                    c
+!                                                                       c
+! The integrals are very bland functions of chi and alpha and could     c
+! be precomputed and cached to save computation time; interpolation     c
+! on a relatively small number of points should be very accurate        c
+!                                                                       c
+! Note that for the closed case, the variable arg must be between 0     c
+! and alpha; for arg > alpha, symmetry properties reduce the needed     c
+! integral to this case.                                                c
+!                                                                       c
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+      function qintegral(sin_K,alpha, K)
+      implicit none
+      real(dl) qintegral, sin_K
+      integer K
+      real(dl) alpha,exact,arg, root1, root2, dummyarg
+     
+      real(dl), parameter :: PI=3.1415926536d0,ROOTPI=1.772453851d0,ROOT2PI=2.506628275d0, &
+                           PIOVER2=1.570796327d0
+
+      arg=alpha*sin_K
+
+      if(K==0) then
+         if(arg>1._dl) then
+            exact=sqrt(arg*arg-1._dl)-acos(1._dl/arg)
+            qintegral=exact
+            return
+         else
+            root1=sqrt(1._dl-arg*arg)
+            exact=log((1._dl+root1)/arg)-root1
+            qintegral=exact
+            return
+         endif
+      else if(K==-1) then
+         if(arg>1._dl) then
+            root1=sqrt(arg*arg-1._dl)
+            root2=sqrt(arg*arg+alpha*alpha)
+            exact=alpha/2._dl*log((2._dl*arg*arg+alpha*alpha-1._dl+ &
+                  2._dl*root1*root2)/(1._dl+alpha*alpha))+atan(root2/ &
+                  (alpha*root1))-PIOVER2
+            qintegral=exact
+            return
+         else
+            root1=sqrt((1._dl-arg*arg)*(arg*arg+alpha*alpha))
+            exact=alpha/2._dl*atan(-2._dl*root1/(2*arg*arg+alpha*alpha- &
+                  1._dl))+0.5d0*log((2._dl*alpha*root1+2._dl*alpha*alpha+ &
+                  arg*arg*(1._dl-alpha*alpha))/(arg*arg*(1._dl+ &
+                  alpha*alpha)))
+            if(2._dl*arg*arg+alpha*alpha-1._dl<0._dl) then
+               exact=exact-alpha*PIOVER2
+            endif
+            qintegral=exact
+            return
+         endif
+      else
+         if(arg>1._dl) then
+            root1=sqrt(arg*arg-1._dl)
+            root2=sqrt(alpha*alpha-arg*arg)
+            exact=alpha/2._dl*atan(-2._dl*root1*root2/ &
+               (2._dl*arg*arg-alpha*alpha-1._dl))- &
+               atan(-root2/(root1*alpha))-PIOVER2
+            if(2._dl*arg*arg-alpha*alpha-1._dl>0._dl) then
+               exact=exact+alpha*PIOVER2
+            endif
+         else
+            root1=sqrt((1._dl-arg*arg)*(alpha*alpha-arg*arg))
+            dummyarg=alpha*(1._dl-arg*arg)/root1
+            exact=0.5d0*log((1._dl+dummyarg)/(1._dl-dummyarg))- &
+             alpha/2._dl*log((alpha*alpha-2._dl*arg*arg+1._dl+2._dl*root1)/ &
+             (alpha*alpha-1._dl))
+         endif
+         qintegral=exact
+         return
+      endif
+   
+      end function qintegral 
+
+!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!                                                                      c
+!       Airy function                                                  c
+!                                                                      c
+! Modified from original routine by Stephen Moshier, available         c
+! as part of the Cephes library at www.netlib.com                      c
+! Modifications: eliminates calculation of Bi(x), Ai'(x), Bi'(x)       c
+! and translation to Fortran                                           c
+!                                                                      c
+!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!
+! DESCRIPTION:
+!
+! Solution of the differential equation
+!
+!       y"(x) = xy.
+!
+! The function returns the two independent solutions Ai, Bi
+! and their first derivatives Ai'(x), Bi'(x).
+!
+! Evaluation is by power series summation for small x,
+! by rational minimax approximations for large x.
+!
+!
+!
+! ACCURACY:
+! Error criterion is absolute when function <= 1, relative
+! when function > 1, except * denotes relative error criterion.
+! For large negative x, the absolute error increases as x^1.5.
+! For large positive x, the relative error increases as x^1.5.
+!
+! Arithmetic  domain   function  # trials      peak         rms
+! IEEE        -10, 0     Ai        10000       1.6e-15     2.7e-16
+! IEEE          0, 10    Ai        10000       2.3e-14*    1.8e-15*
+! IEEE        -10, 0     Ai'       10000       4.6e-15     7.6e-16
+! IEEE          0, 10    Ai'       10000       1.8e-14*    1.5e-15*
+! IEEE        -10, 10    Bi        30000       4.2e-15     5.3e-16
+! IEEE        -10, 10    Bi'       30000       4.9e-15     7.3e-16
+! DEC         -10, 0     Ai         5000       1.7e-16     2.8e-17
+! DEC           0, 10    Ai         5000       2.1e-15*    1.7e-16*
+! DEC         -10, 0     Ai'        5000       4.7e-16     7.8e-17
+! DEC           0, 10    Ai'       12000       1.8e-15*    1.5e-16*
+! DEC         -10, 10    Bi        10000       5.5e-16     6.8e-17
+! DEC         -10, 10    Bi'        7000       5.3e-16     8.7e-17
+!
+!
+! Cephes Math Library Release 2.1:  January, 1989
+! Copyright 1984, 1987, 1989 by Stephen lSamp%l. Moshier
+! Direct inquiries to 30 Frost Street, Cambridge, MA 02140
+!
+
+      function airy_ai(x)
+      implicit none
+      real(dl) airy_ai
+      real(dl) x,z, zz, t, f, g, uf, ug, zeta, theta
+      real(dl) ak
+      real(dl) AN(8),AD(8),AFN(9),AFD(9),AGN(11),AGD(10)
+      real(dl), parameter :: AMAXAIRY=25.77d0,ACC=1.d-8,PI=3.1415926536d0
+      real(dl), parameter :: c1=0.35502805388781723926d0, c2=0.258819403792806798405d0
+      real(dl), parameter :: sqrt3=1.732050807568877293527d0,sqpii=5.64189583547756286948d-1
+     
+      
+      AN(1)=3.46538101525629032477d-1
+      AN(2)=1.20075952739645805542d1
+      AN(3)=7.62796053615234516538d1
+      AN(4)=1.68089224934630576269d2
+      AN(5)=1.59756391350164413639d2
+      AN(6)=7.05360906840444183113d1
+      AN(7)=1.40264691163389668864d1
+      AN(8)=9.99999999999999995305d-1
+
+      AD(1)=5.67594532638770212846d-1
+      AD(2)=1.47562562584847203173d1
+      AD(3)=8.45138970141474626562d1
+      AD(4)=1.77318088145400459522d2
+      AD(5)=1.64234692871529701831d2
+      AD(6)=7.14778400825575695274d1
+      AD(7)=1.40959135607834029598d1
+      AD(8)=1.00000000000000000470d0
+
+      AFN(1)=-1.31696323418331795333d-1
+      AFN(2)=-6.26456544431912369773d-1
+      AFN(3)=-6.93158036036933542233d-1
+      AFN(4)=-2.79779981545119124951d-1
+      AFN(5)=-4.91900132609500318020d-2
+      AFN(6)=-4.06265923594885404393d-3
+      AFN(7)=-1.59276496239262096340d-4
+      AFN(8)=-2.77649108155232920844d-6
+      AFN(9)=-1.67787698489114633780d-8
+
+      AFD(1)=1.33560420706553243746d1
+      AFD(2)=3.26825032795224613948d1
+      AFD(3)=2.67367040941499554804d1
+      AFD(4)=9.18707402907259625840d0
+      AFD(5)=1.47529146771666414581d0
+      AFD(6)=1.15687173795188044134d-1
+      AFD(7)=4.40291641615211203805d-3
+      AFD(8)=7.54720348287414296618d-5
+      AFD(9)=4.51850092970580378464d-7
+
+      AGN(1)=1.97339932091685679179d-2
+      AGN(2)=3.91103029615688277255d-1
+      AGN(3)=1.06579897599595591108d0
+      AGN(4)=9.39169229816650230044d-1
+      AGN(5)=3.51465656105547619242d-1
+      AGN(6)=6.33888919628925490927d-2
+      AGN(7)=5.85804113048388458567d-3
+      AGN(8)=2.82851600836737019778d-4
+      AGN(9)=6.98793669997260967291d-6
+      AGN(10)=8.11789239554389293311d-8
+      AGN(11)=3.41551784765923618484d-10
+
+      AGD(1)=9.30892908077441974853d0
+      AGD(2)=1.98352928718312140417d1
+      AGD(3)=1.55646628932864612953d1
+      AGD(4)=5.47686069422975497931d0
+      AGD(5)=9.54293611618961883998d-1
+      AGD(6)=8.64580826352392193095d-2
+      AGD(7)=4.12656523824222607191d-3
+      AGD(8)=1.01259085116509135510d-4
+      AGD(9)=1.17166733214413521882d-6
+      AGD(10)=4.91834570062930015649d-9
+!
+! Exponentially tiny for large enough argument
+!
+      if(x>AMAXAIRY) then
+         airy_ai=0._dl
+         return
+      endif
+!
+! Pade fit for large negative arguments
+!
+      if(x<-2.09d0) then
+         t=sqrt(-x)
+         zeta=-2._dl*x*t/3._dl
+         t=sqrt(t)
+         ak=sqpii/t
+         z=1._dl/zeta
+         zz=z*z
+         uf=1._dl+zz*polevl(zz,AFN,8)/p1evl(zz,AFD,9)
+         ug=z*polevl(zz,AGN,10)/p1evl(zz,AGD,10)
+         theta=zeta+0.25d0*PI
+         f=sin(theta)
+         g=cos(theta)
+         airy_ai=ak*(f*uf-g*ug)
+         return
+      endif
+!
+! Pade fit for large positive arguments
+!
+      if(x>=2.09) then
+         t=sqrt(x)
+         zeta=2._dl*x*t/3._dl
+         g=exp(zeta)
+         t=sqrt(t)
+         ak=2._dl*t*g
+         z=1._dl/zeta
+         f=polevl(z,AN,7)/polevl(z,AD,7)
+         airy_ai=sqpii*f/ak
+         return
+      endif
+!
+! Taylor series for region around x=0
+!
+
+      f=1._dl
+      g=x
+      t=1._dl
+      uf=1._dl
+      ug=x
+      ak=1._dl
+      z=x*x*x
+     do while (t>ACC) 
+         uf=uf*z
+         ak=ak+1._dl
+         uf=uf/ak
+         ug=ug*z
+         ak=ak+1._dl
+         ug=ug/ak
+         uf=uf/ak
+         f=f+uf
+         ak=ak+1._dl
+         ug=ug/ak
+         g=g+ug
+         t=abs(uf/f)
+      end do
+     
+
+      airy_ai=c1*f-c2*g
+      
+      end function airy_ai
+
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!  Evaluate polynomial                                          c
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+! DESCRIPTION:
+!
+! Evaluates polynomial of degree N:
+!
+!                     2          N
+! y  =  C  + C x + C x  +...+ C x
+!        0    1     2          N
+!
+! Coefficients are stored in reverse order:
+!
+! coef(1) = C  , ..., coef(N+1) = C  .
+!            N                     0
+!
+! The function p1evl() assumes that C = 1.0 and is
+!                                    N
+! omitted from the array.  Its calling arguments are
+! otherwise the same as polevl().
+!
+!
+! SPEED:
+!
+! In the interest of speed, there are no checks for out
+! of bounds arithmetic.  This routine is used by most of
+! the functions in the library.  Depending on available
+! equipment features, the user may wish to rewrite the
+! program in microcode or assembly language.
+!
+! Cephes Math Library Release 2.1:  December, 1988
+! Copyright 1984, 1987, 1988 by Stephen lSamp%l. Moshier
+! Direct inquiries to 30 Frost Street, Cambridge, MA 02140
+!
+      function polevl(x,coef,N)
+      implicit none
+      real(dl) polevl
+      real(dl) x,ans
+      real(dl) coef
+      integer N,i
+
+      dimension coef(N+1)
+
+      ans=coef(1)
+      do i=2,N+1
+         ans=ans*x+coef(i)
+      end do
+      polevl=ans
+      
+      end function polevl
+
+!
+!                                      
+! Evaluate polynomial when coefficient of x  is 1.0.
+! Otherwise same as polevl.
+!
+      function p1evl(x,coef,N)
+      implicit none
+      real(dl) p1evl
+      real(dl) x,coef,ans
+      integer N,i
+      dimension coef(N)
+
+      ans=x+coef(1)
+      do i=2,N
+         ans=ans*x+coef(i)
+      end do
+      p1evl=ans
+     
+      end function p1evl
+
+
+
+  end module SpherBessels !USpherBessels
+
+
+
+        SUBROUTINE BJL_EXTERNAL(L,X,JL)
+        use SpherBessels
+        use Precision
+        !!== MODIFIED SUBROUTINE FOR SPHERICAL BESSEL FUNCTIONS.                       ==!!
+        !!== CORRECTED THE SMALL BUGS IN PACKAGE CMBFAST&CAMB(for l=4,5, x~0.001-0.002)==!! 
+        !!== CORRECTED THE SIGN OF J_L(X) FOR X<0 CASE                                 ==!!
+        !!== WORKS FASTER AND MORE ACCURATE FOR LOW L, X<<L, AND L<<X cases            ==!! 
+        !!== zqhuang@astro.utoronto.ca                                                 ==!!
+        IMPLICIT NONE
+        INTEGER L
+        real(dl) X,JL
+
+        call BJL(L,X,JL)
+         
+        END SUBROUTINE BJL_EXTERNAL
+
diff --git a/camb b/camb
new file mode 100644
index 0000000..76a8f85
Binary files /dev/null and b/camb differ
diff --git a/camb.f90 b/camb.f90
new file mode 100644
index 0000000..d6baac2
--- /dev/null
+++ b/camb.f90
@@ -0,0 +1,486 @@
+    !Interface module for CAMB. Call CAMB_GetResults to do the work.
+
+    module CAMB
+    use Precision
+    use ModelParams
+    use ModelData
+    use Transfer
+    use GaugeInterface
+    use InitialPower
+    use Reionization
+    use Recombination
+    use lensing
+    implicit none
+
+    Type CAMBdata
+        Type (ClTransferData) :: ClTransScal,ClTransTens,ClTransVec
+        Type (MatterTransferData) :: MTrans
+        Type (CAMBparams) :: Params
+    end Type CAMBdata
+
+    !         public CAMB_GetTransfers, CAMB_GetResults, CAMB_GetCls, CAMB_SetDefParams, &
+    !                CAMB_ValidateParams, CAMB_GetAge,CAMB_InitCAMBdata,
+    contains
+
+    subroutine CAMB_GetTransfers(Params, OutData, error)
+    use CAMBmain
+    use lensing
+    type(CAMBparams) :: Params
+    type (CAMBdata)  :: OutData
+    integer :: error !Zero if OK
+
+    !Set internal types from OutData so it always 'owns' the memory, prevent leaks
+    MT =  OutData%MTrans
+
+    CTransScal = OutData%ClTransScal
+    CTransVec  = OutData%ClTransVec
+    CTransTens = OutData%ClTransTens
+
+    call CAMB_GetResults(Params, error)
+    OutData%Params = Params
+    OutData%MTrans = MT
+    OutData%ClTransScal = CTransScal
+    OutData%ClTransVec  = CTransVec
+    OutData%ClTransTens = CTransTens
+
+    end subroutine CAMB_GetTransfers
+
+    subroutine CAMB_InitCAMBdata(Dat)
+    type (CAMBdata) :: Dat
+
+    !Comment these out to try to avoid intel bugs with status deallocating uninitialized pointers
+    call Ranges_Nullify(Dat%ClTransScal%q)
+    call Ranges_Nullify(Dat%ClTransVec%q)
+    call Ranges_Nullify(Dat%ClTransTens%q)
+
+    nullify(Dat%ClTransScal%Delta_p_l_k)
+    nullify(Dat%ClTransVec%Delta_p_l_k)
+    nullify(Dat%ClTransTens%Delta_p_l_k)
+    nullify(Dat%MTrans%sigma_8,Dat%MTrans%TransferData,Dat%MTrans%q_trans)
+
+    end subroutine CAMB_InitCAMBdata
+
+
+    subroutine CAMB_FreeCAMBdata(Dat)
+    type (CAMBdata) :: Dat
+
+    call Free_ClTransfer(Dat%ClTransScal)
+    call Free_ClTransfer(Dat%ClTransVec)
+    call Free_ClTransfer(Dat%ClTransTens)
+    call Transfer_Free(Dat%MTrans)
+
+    end subroutine CAMB_FreeCAMBdata
+
+
+    subroutine CAMB_TransfersToPowers(CData)
+    use CAMBmain
+    use lensing
+    type (CAMBdata) :: CData
+
+    CP = CData%Params
+    call InitializePowers(CP%InitPower,CP%curv)
+    if (global_error_flag/=0) return
+    if (CData%Params%WantCls) then
+        call ClTransferToCl(CData%ClTransScal,CData%ClTransTens, CData%ClTransvec)
+!        print*, 'Yes Renee we are calling ClTransferToCl in CAMB_TransfersToPowers'
+        if (CP%DoLensing .and. global_error_flag==0) call lens_Cls
+        if (global_error_flag/=0) return
+    end if
+    if (CData%Params%WantTransfer) call Transfer_Get_sigma8(Cdata%MTrans,8._dl)
+
+    end subroutine CAMB_TransfersToPowers
+
+
+    !Call this routine with a set of parameters to generate the results you want.
+    subroutine CAMB_GetResults(Params, error)
+    use CAMBmain
+    use lensing
+    use Bispectrum
+    use Errors
+    type(CAMBparams) :: Params
+    integer, optional :: error !Zero if OK
+    type(CAMBparams) P
+    logical :: separate = .false. !whether to do P_k in separate call or not
+    logical :: InReionization
+!    real clock_totstart, clock_totstop ! RH timing  
+!    real clock_start, clock_stop ! RH timing  
+
+!    call cpu_time(clock_totstart) ! RH timing
+
+    !JD no longer need to calculate separately PK and Cls separately just slows stuff down
+    !    if ((Params%DoLensing .or. num_redshiftwindows>0)&
+    !    .and. Params%NonLinear==NonLinear_Lens) separate = .false.
+    InReionization = Params%Reion%Reionization
+    global_error_flag = 0
+    call_again = .false.
+
+    
+    if (Params%WantCls .and. Params%WantScalars) then
+        P = Params
+        if (HighAccuracyDefault) then
+            P%Max_eta_k=max(min(P%max_l,3000)*2.5_dl,P%Max_eta_k)
+        end if
+
+        if (separate) then
+            P%WantTransfer = .false.
+            P%Transfer%high_precision = .false.
+        end if
+        P%WantTensors = .false.
+        P%WantVectors = .false.
+!        clock_start = 0
+!        call cpu_time(clock_start) ! RH timing    
+        call CAMBParams_Set(P)
+!        clock_stop = 0
+!        call cpu_time(clock_stop) ! RH timing    
+!        print*, 'timing for CAMBParams_set inside wantscals and cls', clock_stop - clock_start
+
+!        clock_start = 0
+!        call cpu_time(clock_start) ! RH timing    
+        if (global_error_flag==0) call cmbmain         
+        if (global_error_flag/=0) then
+            if (present(error)) error =global_error_flag
+            return
+        end if
+!        call cpu_time(clock_stop) ! RH timing
+!        print*, 'timing for cmbmain in wantcls and scalars', clock_stop - clock_start ! RH timing
+
+        call_again = .true.
+        !Need to store CP%flat etc, but must keep original P_k settings
+        CP%Transfer%high_precision = Params%Transfer%high_precision
+        CP%WantTransfer = Params%WantTransfer
+        CP%WantTensors = Params%WantTensors
+        CP%WantVectors = Params%WantVectors
+        CP%Transfer%num_redshifts = Params%Transfer%num_redshifts
+        !JD 08/13 for nonlinear lensing of CMB + LSS compatibility
+        CP%Transfer%PK_redshifts_index=Params%Transfer%PK_redshifts_index
+        CP%Transfer%PK_num_redshifts = Params%Transfer%PK_num_redshifts
+        Params = CP
+    end if
+
+
+
+!    call cpu_time(clock_start) ! RH timing
+    if (Params%WantCls .and. Params%WantTensors) then
+        P=Params
+        P%WantTransfer = .false.
+        P%Transfer%high_precision = .false.
+        P%WantScalars = .false.
+        P%WantVectors = .false.
+        call CAMBParams_Set(P)
+        if (global_error_flag==0) call cmbmain
+        if (global_error_flag/=0) then
+            if (present(error)) error =global_error_flag
+            return
+        end if
+        call_again = .true.
+        CP%Transfer%high_precision = Params%Transfer%high_precision
+        CP%WantTransfer = Params%WantTransfer
+        CP%WantScalars = Params%WantScalars
+        CP%WantVectors = Params%WantVectors
+        CP%Transfer%num_redshifts = Params%Transfer%num_redshifts
+        !JD 08/13 for nonlinear lensing of CMB + LSS compatibility
+        CP%Transfer%PK_redshifts_index=Params%Transfer%PK_redshifts_index
+        CP%Transfer%PK_num_redshifts = Params%Transfer%PK_num_redshifts
+        Params = CP
+    end if
+
+!    call cpu_time(clock_stop) ! RH timing
+!    print*, 'timing for wantcls and want tensors', clock_stop - clock_start ! RH timing
+!    call cpu_time(clock_start) ! RH timing
+    if (Params%WantCls .and. Params%WantVectors) then
+        P=Params
+        P%WantTransfer = .false.
+        P%Transfer%high_precision = .false.
+        P%WantScalars = .false.
+        P%WantTensors = .false.
+        call CAMBParams_Set(P)
+        if (global_error_flag==0) call cmbmain
+        if (global_error_flag/=0) then
+            if (present(error)) error =global_error_flag
+            return
+        end if
+        call_again = .true.
+        CP%Transfer%high_precision = Params%Transfer%high_precision
+        CP%WantTransfer = Params%WantTransfer
+        CP%WantTensors = Params%WantTensors
+        CP%WantScalars = Params%WantScalars
+        CP%Transfer%num_redshifts = Params%Transfer%num_redshifts
+        !JD 08/13 for nonlinear lensing of CMB + LSS compatibility
+        CP%Transfer%PK_redshifts_index=Params%Transfer%PK_redshifts_index
+        CP%Transfer%PK_num_redshifts = Params%Transfer%PK_num_redshifts
+        Params = CP
+    end if
+
+!    call cpu_time(clock_stop) ! RH timing
+!    print*, 'timing for want cls and want vectors', clock_stop - clock_start ! RH timing
+
+!    call cpu_time(clock_start) ! RH timing
+    if (Params%WantTransfer .and. &
+    .not. (Params%WantCls .and. Params%WantScalars .and. .not. separate)) then
+        P=Params
+        P%WantCls = .false.
+        P%WantScalars = .false.
+        P%WantTensors = .false.
+        P%WantVectors = .false.
+        call CAMBParams_Set(P)
+        if (global_error_flag==0) call cmbmain
+        if (global_error_flag/=0) then
+            if (present(error)) error =global_error_flag
+            return
+        end if
+        !Need to store num redshifts etc
+        CP%WantScalars = Params%WantScalars
+        CP%WantCls =  Params%WantCls
+        CP%WantTensors = Params%WantTensors
+        CP%WantVectors = Params%WantVectors
+        CP%Reion%Reionization = InReionization
+        Params = CP
+    end if
+
+!    call cpu_time(clock_start) ! RH timing
+!    print*, 'timing for want transfer and not (cls and scalars and not separate)', clock_stop  - clock_start ! RH timing
+
+    call_again = .false.
+
+!    call cpu_time(clock_start) ! RH timing
+
+    if (.not. CP%OnlyTransfers) then
+        if (CP%DoLensing .and. global_error_flag==0) then
+            call lens_Cls
+        end if
+
+        if (do_bispectrum .and. global_error_flag==0) call GetBispectrum(CTransScal)
+    end if
+!    call cpu_time(clock_stop) ! RH timing
+!    print*, 'timing for not only transfer, ie lensing too', clock_stop - clock_start
+
+!    call cpu_time(clock_totstop) ! RH timing  
+!    print*, 'timing at the end of GetResults routine', clock_totstop - clock_totstart     
+    end subroutine CAMB_GetResults
+
+
+    !Return real (NOT double precision) arrays of the computed CMB  Cls
+    !Output is l(l+1)C_l/2pi
+    !If GC_Conventions = .false. use E-B conventions (as the rest of CAMB does)
+    subroutine CAMB_GetCls(Cls, lmax, in, GC_conventions)
+    integer, intent(IN) :: lmax, in
+    logical, intent(IN) :: GC_conventions
+    real, intent(OUT) :: Cls(2:lmax,1:4)
+    integer l
+
+    Cls = 0
+    do l=2, lmax
+        if (CP%WantScalars .and. l<= CP%Max_l) then
+            if (CP%DoLensing) then
+                if (l<=lmax_lensed) Cls(l,1:4) = Cl_lensed(l, in, CT_Temp:CT_Cross)
+            else
+                Cls(l,1:2) = Cl_scalar(l, in,  C_Temp:C_E)
+                Cls(l,4) = Cl_scalar(l, in,  C_Cross)
+            endif
+        end if
+        if (CP%WantTensors .and. l <= CP%Max_l_tensor) then
+            Cls(l,1:4) = Cls(l,1:4) + Cl_tensor(l, in,  CT_Temp:CT_Cross)
+        end if
+    end do
+    if (GC_conventions) then
+        Cls(:,2:3) = Cls(:,2:3)/2
+        Cls(:,4)   = Cls(:,4)/sqrt(2.0)
+    end if
+
+    end subroutine CAMB_GetCls
+
+    function CAMB_GetAge(P)
+    !Return age in gigayears, returns -1 on error
+    type(CAMBparams), intent(in) :: P
+    real(dl) CAMB_GetAge
+    integer error
+
+    call  CAMBParams_Set(P, error, .false.)
+
+    if (error/=0) then
+        CAMB_GetAge = -1
+    else
+        CAMB_GetAge = DeltaPhysicalTimeGyr(0.0_dl,1.0_dl)
+    end if
+
+    end function CAMB_GetAge
+
+
+    function CAMB_GetZreFromTau(P, tau)
+    type(CAMBparams) :: P
+    real(dl) tau
+    real(dl) CAMB_GetZreFromTau
+    integer error
+
+    P%Reion%use_optical_depth = .true.
+    P%Reion%optical_depth = tau
+    call CAMBParams_Set(P,error)
+
+    CAMB_GetZreFromTau = CP%Reion%redshift
+
+    end function CAMB_GetZreFromTau
+
+
+    subroutine CAMB_SetDefParams(P)
+    use Bispectrum
+    use constants
+    type(CAMBparams), intent(out) :: P
+
+    P%WantTransfer= .false.
+    P%WantCls = .true.
+
+    P%omegab  = .045
+    P%omegac  = 0.255
+    P%omegav  = 0.7
+    P%omegan  = 0
+    P%H0      = 65
+
+    P%TCMB    = COBE_CMBTemp
+    P%YHe     = 0.24
+    P%Num_Nu_massless =default_nnu
+    P%Num_Nu_massive  =0
+    P%share_delta_neff = .false.
+    P%Nu_mass_eigenstates = 0
+    P%Nu_mass_numbers=0
+
+    P%Scalar_initial_condition =initial_adiabatic
+    P%NonLinear = NonLinear_none
+    P%Want_CMB = .true.
+
+    call SetDefPowerParams(P%InitPower)
+
+    call Recombination_SetDefParams(P%Recomb)
+
+    call Reionization_SetDefParams(P%Reion)
+
+    P%Transfer%high_precision=.false.
+
+    P%OutputNormalization = outNone
+
+    P%WantScalars = .true.
+    P%WantVectors = .false.
+    P%WantTensors = .false.
+    P%want_zstar = .false.  !!JH
+    P%want_zdrag = .false.  !!JH
+
+    P%Max_l=1500
+    P%Max_eta_k=3000
+    P%Max_l_tensor=400
+    P%Max_eta_k_tensor=800
+    !Set up transfer just enough to get sigma_8 OK
+    P%Transfer%kmax=0.9
+    P%Transfer%k_per_logint=0
+    P%Transfer%num_redshifts=1
+    P%Transfer%redshifts=0
+    !JD 08/13 CAMB Fix for for nonlinear lensing of CMB + MPK compatibility
+    P%Transfer%PK_num_redshifts=1
+    P%Transfer%PK_redshifts=0
+    P%Transfer%NLL_num_redshifts=1
+    P%Transfer%NLL_redshifts=0
+    !End JD
+
+    P%AccuratePolarization = .true.
+    P%AccurateReionization = .false.
+    P%AccurateBB = .false.
+
+    P%DoLensing = .false.
+
+    P%MassiveNuMethod = Nu_best
+    P%OnlyTransfers = .false.
+
+    P%DerivedParameters = .true.
+
+    end subroutine CAMB_SetDefParams
+
+
+    !Stop with error is not good
+    function CAMB_ValidateParams(P) result(OK)
+    type(CAMBparams), intent(in) :: P
+    logical OK
+
+    OK = .true.
+    if (.not. P%WantTransfer .and. .not. P%WantCls) then
+        OK = .false.
+        write(*,*) 'There is nothing to do! Do transfer functions or Cls.'
+    end if
+
+    if (P%h0 < 20._dl.or.P%h0 > 100._dl) then
+        OK = .false.
+        write(*,*) '  Warning: H0 has units of km/s/Mpc. You have:', P%h0
+    end if
+    if (P%tcmb < 2.7d0.or.P%tcmb > 2.8d0) then
+        write(*,*) '  Warning: Tcmb has units of K.  Your have:', P%tcmb
+    end if
+
+    if (P%yhe < 0.2d0.or.P%yhe > 0.8d0) then
+        OK = .false.
+        write(*,*) &
+        '  Warning: YHe is the Helium fraction of baryons.', &
+        '  Your have:', P%yhe
+    end if
+    if (P%Num_Nu_massive < 0) then
+        OK = .false.
+        write(*,*) &
+        'Warning: Num_Nu_massive is strange:',P%Num_Nu_massive
+    end if
+    if (P%Num_Nu_massless < 0) then
+        OK = .false.
+        write(*,*) &
+        'Warning: Num_nu_massless is strange:', P%Num_Nu_massless
+    end if
+    if (P%Num_Nu_massive < 1 .and. P%omegan > 0.0) then
+        OK = .false.
+        write(*,*) &
+        'Warning: You have omega_neutrino > 0, but no massive species'
+    end if
+
+
+    if (P%omegab<0.001 .or. P%omegac<0 .or. P%omegab>1 .or. P%omegac>3) then
+        OK = .false.
+        write(*,*) 'Your matter densities are strange'
+    end if
+
+    if (P%WantScalars .and. P%Max_eta_k < P%Max_l .or.  &
+    P%WantTensors .and. P%Max_eta_k_tensor < P%Max_l_tensor) then
+        OK = .false.
+        write(*,*) 'You need Max_eta_k larger than Max_l to get good results'
+    end if
+
+    call Reionization_Validate(P%Reion, OK)
+    call Recombination_Validate(P%Recomb, OK)
+
+    if (P%WantTransfer) then
+        if (P%transfer%num_redshifts > max_transfer_redshifts .or. P%transfer%num_redshifts<1) then
+            OK = .false.
+            write(*,*) 'Maximum ',  max_transfer_redshifts, &
+            'redshifts. You have: ', P%transfer%num_redshifts
+        end if
+        if (P%transfer%kmax < 0.01 .or. P%transfer%kmax > 50000 .or. &
+        P%transfer%k_per_logint>0 .and.  P%transfer%k_per_logint <1) then
+            OK = .false.
+            write(*,*) 'Strange transfer function settings.'
+        end if
+        if (P%transfer%num_redshifts > max_transfer_redshifts .or. P%transfer%num_redshifts<1) then
+            OK = .false.
+            write(*,*) 'Maximum ',  max_transfer_redshifts, &
+            'redshifts. You have: ', P%transfer%num_redshifts
+        end if
+    end if
+
+    end function CAMB_ValidateParams
+
+    subroutine CAMB_cleanup
+    use ThermoData
+    use SpherBessels
+    use ModelData
+    use Transfer
+
+    !Free memory
+    call ThermoData_Free
+    call Bessels_Free
+    call ModelData_Free
+    call Transfer_Free(MT)
+
+    end subroutine CAMB_cleanup
+
+    end module CAMB
diff --git a/cmbmain.f90 b/cmbmain.f90
new file mode 100644
index 0000000..39d1583
--- /dev/null
+++ b/cmbmain.f90
@@ -0,0 +1,2568 @@
+    !     This this is the main CAMB program module.
+    !
+    !     Code for Anisotropies in the Microwave Background
+    !     by Antony lewis (http://cosmologist.info) and Anthony Challinor
+    !     See readme.html for documentation.
+
+    !     Note that though the code is internally parallelised, it is not thread-safe
+    !     so you cannot generate more than one model at the same time in different threads.
+    !
+    !     Based on CMBFAST  by  Uros Seljak and Matias Zaldarriaga, itself based
+    !     on Boltzmann code written by Edmund Bertschinger, Chung-Pei Ma and Paul Bode.
+    !     Original CMBFAST copyright and disclaimer:
+    !
+    !     Copyright 1996 by Harvard-Smithsonian Center for Astrophysics and
+    !     the Massachusetts Institute of Technology.  All rights reserved.
+    !
+    !     THIS SOFTWARE IS PROVIDED "AS IS", AND M.I.T. OR C.f.A. MAKE NO
+    !     REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPlIED.
+    !     By way of example, but not limitation,
+    !     M.I.T. AND C.f.A MAKE NO REPRESENTATIONS OR WARRANTIES OF
+    !     MERCHANTABIlITY OR FITNESS FOR ANY PARTICUlAR PURPOSE OR THAT
+    !     THE USE OF THE lICENSED SOFTWARE OR DOCUMENTATION WIll NOT INFRINGE
+    !     ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+    !
+    !     portions of this software are based on the COSMICS package of
+    !     E. Bertschinger.  See the lICENSE file of the COSMICS distribution
+    !     for restrictions on the modification and distribution of this software.
+
+    module CAMBmain
+
+    !     This code evolves the linearized perturbation equations of general relativity,
+    !     the Boltzmann equations and the fluid equations for perturbations
+    !     of a Friedmann-Robertson-Walker universe with a supplied system of gauge-dependent equation
+    !     in a modules called GaugeInterface.  The sources for the line of sight integral are
+    !     computed at sampled times during the evolution for various of wavenumbers. The sources
+    !     are then interpolated to a denser wavenumber sampling for computing the line of
+    !     sight integrals of the form Integral d(conformal time) source_k * bessel_k_l.
+    !     For CP%flat models the bessel functions are interpolated from a pre-computed table, for
+    !     non-CP%flat models the hyperspherical Bessel functions are computed by integrating their
+    !     differential equation. Both phases ('Evolution' and 'Integration') can do separate
+    !     wavenumbers in parallel.
+
+    !     The time variable is conformal  time dtau=dt/a(t) and the spatial dependence is Fourier transformed
+    !     with q=sqrt(k**2 + (|m|+1)K), comoving distances are x=CP%r/a(t), with a(t)=1 today.
+    !     The units of both length and time are Mpc.
+
+    !    Many elements are part of derived types (to make thread safe or to allow non-sequential code use
+    !    CP = CAMB parameters
+    !    EV = Time evolution variables
+    !    IV = Source integration variables
+    !    CT = Cl transfer data
+    !    MT = matter transfer data
+
+    ! Modules are defined in modules.f90, except GaugeInterface which gives the background and gauge-dependent
+    ! perturbation equations, and InitialPower which provides the initial power spectrum.
+
+    use precision
+    use ModelParams
+    use ModelData
+    use GaugeInterface
+    use Transfer
+    use SpherBessels
+    use lvalues
+    use MassiveNu
+    use InitialPower
+    use Errors
+    implicit none
+    private
+
+    logical :: WantLateTime = .false. !if lensing or redshift windows
+
+    logical ExactClosedSum  !do all nu values in sum for Cls for Omega_k>0.1
+
+    !Variables for integrating the sources with the bessel functions for each wavenumber
+    type IntegrationVars
+        integer q_ix
+        real(dl) q, dq    !q value we are doing and delta q
+        !        real(dl), dimension(:,:), pointer :: Delta_l_q
+        !Contribution to C_l integral from this k
+        real(dl), dimension(:,:), pointer :: Source_q, ddSource_q
+        !Interpolated sources for this k
+        integer SourceSteps !number of steps up to where source is zero
+    end type IntegrationVars
+
+    integer SourceNum
+    !SourceNum is total number sources (2 or 3 for scalars, 3 for tensors).
+
+    real(dl) tautf(0:max_transfer_redshifts)  !Time of Trasfer%redshifts
+
+    real(dl), dimension(:,:,:), allocatable :: Src, ddSrc !Sources and second derivs
+    ! indices  Src( k_index, source_index, time_step_index )
+
+    real(dl), dimension(:,:,:), allocatable :: iCl_scalar, iCl_vector, iCl_tensor
+    ! Cls at the l values we actually compute,  iCl_xxx(l_index, Cl_type, initial_power_index)
+
+    real(dl), dimension(:,:,:,:), allocatable :: iCl_Array
+    !Full covariance at each L (alternative more general arrangement to above)
+
+    ! values of q to evolve the propagation equations to compute the sources
+    Type(Regions) :: Evolve_q
+
+    real(dl),parameter :: qmin0=0.1_dl
+
+    real(dl) :: dtaurec_q
+
+    !     qmax - CP%Max_eta_k/CP%tau0, qmin = qmin0/CP%tau0 for flat case
+    real(dl) qmin, qmax
+
+    real(dl) max_etak_tensor , max_etak_vector, max_etak_scalar
+    !     Will only be calculated if k*tau < max_etak_xx
+
+    integer maximum_l !Max value of l to compute
+    real(dl) :: maximum_qeta = 3000._dl
+
+    integer :: l_smooth_sample = 3000 !assume transfer functions effectively small for k>2*l_smooth_sample
+
+    real(dl) :: fixq = 0._dl !Debug output of one q
+
+    real(dl) :: ALens = 1._dl
+
+    Type(ClTransferData), pointer :: ThisCT
+
+    public cmbmain, ALens, ClTransferToCl, InitVars !InitVars for BAO hack
+
+    contains
+
+
+    subroutine cmbmain
+    integer q_ix
+!    real clock_start, clock_stop ! RH timing   
+!    real clock_totstart, clock_totstop ! RH timing   
+
+    type(EvolutionVars) EV
+    !     Timing variables for testing purposes. Used if DebugMsgs=.true. in ModelParams
+    real(sp) actual,timeprev,starttime
+
+!    clock_totstart = 0
+!    call cpu_time(clock_totstart) ! RH timing 
+    WantLateTime =  CP%DoLensing .or. num_redshiftwindows > 0
+
+    if (CP%WantCls) then
+        if (CP%WantTensors .and. CP%WantScalars) stop 'CMBMAIN cannot generate tensors and scalars'
+        !Use CAMB_GetResults instead
+
+        if (CP%WantTensors) then
+            maximum_l = CP%Max_l_tensor
+            maximum_qeta = CP%Max_eta_k_tensor
+        else
+            maximum_l = CP%Max_l
+            maximum_qeta = CP%Max_eta_k
+        end if
+
+!        call cpu_time(clock_start) ! RH timing 
+        call initlval(lSamp, maximum_l)
+!        call cpu_time(clock_stop) ! RH timing 
+!        print*, 'this is how long initlval takes in cmbmain', clock_stop - clock_start 
+    end if
+
+
+    if (DebugMsgs .and. Feedbacklevel > 0) then
+        actual=GetTestTime()
+        starttime=actual !times don't include reading the Bessel file
+    end if
+!    clock_start = 0
+!    call cpu_time(clock_start) ! RH timing 
+    call InitVars !Most of single thread time spent here (in InitRECFAST)
+!    clock_stop = 0
+!    call cpu_time(clock_stop) ! RH timing 
+!    print*, 'this is how long it takes to InitVars in cmbmain', clock_stop - clock_start
+    if (global_error_flag/=0) return
+
+    if (DebugMsgs .and. Feedbacklevel > 0) then
+        timeprev=actual
+        actual=GetTestTime()
+        write(*,*) actual-timeprev,' Timing for InitVars'
+        write (*,*) 'r = ',real(CP%r),' scale = ',real(scale), 'age = ', real(CP%tau0)
+    end if
+
+    !JD 08/13 for nonlinear lensing of CMB + MPK compatibility
+    !if (.not. CP%OnlyTransfers .or. CP%NonLinear==NonLinear_Lens)  call InitializePowers(CP%InitPower,CP%curv)
+    if (.not. CP%OnlyTransfers .or. CP%NonLinear==NonLinear_Lens .or. CP%NonLinear==NonLinear_both) then
+       
+ !      clock_start = 0
+ !      call cpu_time(clock_start) ! RH timing 
+       call InitializePowers(CP%InitPower,CP%curv)
+ !      clock_stop = 0
+ !      call cpu_time(clock_stop) ! RH timing 
+ !      print*, 'timing of InitializePowers in cmbmain', clock_stop - clock_start
+    end if
+       
+    if (global_error_flag/=0) return
+
+    !Calculation of the CMB sources.
+
+    if (CP%WantCls) then
+!       clock_start = 0
+!       call cpu_time(clock_start) ! RH timing 
+       call SetkValuesForSources
+!       clock_stop = 0
+!       call cpu_time(clock_stop) ! RH timing 
+!       print*, 'timing for SetkValuesForSources in cmbmain', clock_stop - clock_start
+    end if
+    
+    if (CP%WantTransfer) then 
+!       clock_start = 0
+!       call cpu_time(clock_start) ! RH timing
+       call InitTransfer
+!       clock_stop = 0
+!       call cpu_time(clock_stop) ! RH timing
+!       print*, 'timing for InitTransfer in cmbmain', clock_stop - clock_start
+    end if
+    !***note that !$ is the prefix for conditional multi-processor compilation***
+    !$ if (ThreadNum /=0) call OMP_SET_NUM_THREADS(ThreadNum)
+
+    if (CP%WantCls) then
+        if (DebugMsgs .and. Feedbacklevel > 0) write(*,*) 'Set ',Evolve_q%npoints,' source k values'
+!        clock_start = 0
+!        call cpu_time(clock_start) ! RH timing 
+        call GetSourceMem
+!        clock_stop = 0
+!        call cpu_time(clock_stop) ! RH timing 
+!        print*, 'timing for GetSourceMem in cmbmain', clock_stop - clock_start
+
+        if (CP%WantScalars) then
+            ThisCT => CTransScal
+        else if (CP%WantVectors) then
+            ThisCT => CTransVec
+        else
+            ThisCT => CTransTens
+        end if
+
+        ThisCT%NumSources = SourceNum
+        ThisCT%ls = lSamp
+
+        !$OMP PARAllEl DO DEFAUlT(SHARED),SCHEDUlE(DYNAMIC) &
+        !$OMP & PRIVATE(EV, q_ix)
+!        print*, 'Im going to DoSourcek for Evolve_q%npoints times: ', Evolve_q%npoints
+!        clock_start = 0
+!        call cpu_time(clock_start) ! RH timing 
+        do q_ix= 1,Evolve_q%npoints
+            if (global_error_flag==0) then 
+               call DoSourcek(EV,q_ix)
+            end if
+        end do
+!        clock_stop = 0
+!        call cpu_time(clock_stop) ! RH timing 
+!        print*, 'timing for DoSourceK in cmbmain', clock_stop - clock_start
+       !$OMP END PARAllEl DO
+       
+        if (DebugMsgs .and. Feedbacklevel > 0) then
+            timeprev=actual
+            actual=GetTestTime()
+            write(*,*) actual-timeprev,' Timing for source calculation'
+        end if
+
+    endif !WantCls
+
+    
+    ! If transfer functions are requested, set remaining k values and output
+    if (CP%WantTransfer .and. global_error_flag==0) then
+!       clock_start = 0
+!       call cpu_time(clock_start) ! RH timing 
+        call TransferOut
+        if (DebugMsgs .and. Feedbacklevel > 0) then
+            timeprev=actual
+            actual=GetTestTime()
+            write(*,*) actual-timeprev,' Timing for transfer k values'
+        end if
+!        clock_stop = 0
+!         call cpu_time(clock_stop) ! RH timing 
+!         print*, 'timing for TransferOut in cmbmain', clock_stop - clock_start
+    end if
+
+    if (CP%WantTransfer .and. CP%WantCls .and. WantLateTime &
+    .and. (CP%NonLinear==NonLinear_Lens .or. CP%NonLinear==NonLinear_both) .and. global_error_flag==0) then
+!       clock_start = 0
+!       call cpu_time(clock_start) ! RH timing  
+        call MakeNonlinearSources
+!        clock_stop = 0
+!        call cpu_time(clock_stop) ! RH timing 
+!        print*, 'timing for MakeNonlinearSources in cmbmain', clock_stop - clock_start
+
+        if (DebugMsgs .and. Feedbacklevel > 0) then
+            timeprev=actual
+            actual=GetTestTime()
+            write(*,*) actual-timeprev,' Timing for NonLinear sources'
+        end if
+    end if
+
+    if (CP%WantTransfer .and. .not. CP%OnlyTransfers .and. global_error_flag==0) then
+!       clock_start = 0
+!       call cpu_time(clock_start) ! RH timing
+       call Transfer_Get_sigma8(MT,8._dl)
+!       clock_stop = 0
+!       call cpu_time(clock_stop) ! RH timing
+!       print*, 'timing for Transfer_Get_sigma8 in cmbmain', clock_stop - clock_start
+    end if
+    !Can call with other arguments if need different size
+
+    !     if CMB calculations are requested, calculate the Cl by
+    !     integrating the sources over time and over k.
+
+    if (CP%WantCls) then
+
+        if (global_error_flag==0) then
+!           clock_start = 0
+!           call cpu_time(clock_start) ! RH timing 
+            call InitSourceInterpolation
+!            clock_stop = 0
+!            call cpu_time(clock_stop) ! RH timing 
+!            print*, 'timing for InitSourceInterpolation in cmbmain', clock_stop - clock_start !RH timing
+
+            ExactClosedSum = CP%curv > 5e-9_dl .or. scale < 0.93_dl
+
+            max_bessels_l_index = ThisCT%ls%l0
+            max_bessels_etak  = maximum_qeta
+
+            if (CP%WantScalars) then 
+!               clock_start =0
+!               call cpu_time(clock_start) ! RH timing  
+               call GetLimberTransfers
+!               clock_stop = 0
+!               call cpu_time(clock_stop) ! RH timing 
+!               print*, 'timing for GetLimberTransfers in cmbmain', clock_stop - clock_start
+            end if
+            ThisCT%max_index_nonlimber = max_bessels_l_index
+
+            if (CP%flat) call InitSpherBessels
+            !This is only slow if not called before with same (or higher) Max_l, Max_eta_k
+            !Preferably stick to Max_l being a multiple of 50
+
+            call SetkValuesForInt
+
+            if (DebugMsgs .and. Feedbacklevel > 0) write(*,*) 'Set ',ThisCT%q%npoints,' integration k values'
+
+            !Begin k-loop and integrate Sources*Bessels over time
+            !$OMP PARAllEl DO DEFAUlT(SHARED),SHARED(TimeSteps), SCHEDUlE(STATIC,4)
+!            print*, 'SourceToTransfers is going to integrate ThisCT%q%npoints times', ThisCT%q%npoints
+!            clock_start = 0
+!            call cpu_time(clock_start) ! RH timing  
+            do q_ix=1,ThisCT%q%npoints
+                call SourceToTransfers(q_ix)
+            end do !q loop
+!            clock_stop = 0
+!            call cpu_time(clock_stop) ! RH timing  
+!            print*, 'timing for SourceToTransfersLoop in cmbmain', clock_stop - clock_start ! RH timing
+            !$OMP END PARAllEl DO
+
+            if (DebugMsgs .and. Feedbacklevel > 0) then
+                timeprev=actual
+                actual=GetTestTime()
+                write(*,*)actual-timeprev,' Timing For Integration'
+            end if
+        end if
+
+!        clock_start = 0
+!        call cpu_time(clock_start) ! RH timing
+        call FreeSourceMem
+ !       clock_stop = 0
+ !       call cpu_time(clock_stop) ! RH timing
+ !       print*, 'timing for FreeSourceMem in cmbmain', clock_stop - clock_start
+
+        !Final calculations for CMB output unless want the Cl transfer functions only.
+
+        if (.not. CP%OnlyTransfers .and. global_error_flag==0) then
+!           clock_start = 0
+!           call cpu_time(clock_start) ! RH timing  
+           call ClTransferToCl(CTransScal,CTransTens, CTransVec)
+!           clock_stop = 0
+!           call cpu_time(clock_stop) ! RH timing  
+!           print*, 'this is the timing for ClTransferToCl in cmbmain', clock_stop - clock_start
+        end if
+    end if
+
+    if (DebugMsgs .and. Feedbacklevel > 0) then
+        timeprev=actual
+        actual = GetTestTime()
+        write(*,*) actual - timeprev,' Timing for final output'
+        write(*,*) actual -starttime,' Timing for whole of cmbmain'
+    end if
+    
+!    clock_totstop = 0
+!    call cpu_time(clock_totstop) ! RH timing 
+!    print*, 'timing for the whole of cmbmain inside it', clock_totstop - clock_totstart ! RH timing
+    end subroutine cmbmain
+
+    subroutine ClTransferToCl(CTransS,CTransT, CTransV)
+    Type(ClTransferData) :: CTransS,CTransT, CTransV
+
+    if (CP%WantScalars .and. global_error_flag==0) then
+        lSamp = CTransS%ls
+        allocate(iCl_Scalar(CTransS%ls%l0,C_Temp:C_last,CP%InitPower%nn))
+        iCl_scalar = 0
+        if (has_cl_2D_array) then
+            allocate(iCl_Array(CTransS%ls%l0,CTransS%NumSources,CTransS%NumSources,CP%InitPower%nn))
+            iCl_Array = 0
+        end if
+
+        call CalcLimberScalCls(CTransS)
+        call CalcScalCls(CTransS)
+        if (DebugMsgs .and. Feedbacklevel > 0) write (*,*) 'CalcScalCls'
+    end if
+
+    if (CP%WantVectors .and. global_error_flag==0) then
+        allocate(iCl_vector(CTransV%ls%l0,C_Temp:CT_Cross,CP%InitPower%nn))
+        iCl_vector = 0
+        call CalcVecCls(CTransV,GetInitPowerArrayVec)
+        if (DebugMsgs .and. Feedbacklevel > 0) write (*,*) 'CalcVecCls'
+    end if
+
+
+    if (CP%WantTensors .and. global_error_flag==0) then
+        allocate(iCl_Tensor(CTransT%ls%l0,CT_Temp:CT_Cross,CP%InitPower%nn))
+        iCl_tensor = 0
+        call CalcTensCls(CTransT,GetInitPowerArrayTens)
+        if (DebugMsgs .and. Feedbacklevel > 0) write (*,*) 'CalcTensCls'
+    end if
+
+    if (global_error_flag==0) then
+        call Init_Cls
+        !     Calculating Cls for every l.
+        call InterpolateCls(CTransS,CTransT, CTransV)
+        if (DebugMsgs .and. Feedbacklevel > 0) write (*,*) 'InterplolateCls'
+    end if
+
+    if (CP%WantScalars .and. allocated(iCl_Scalar)) deallocate(iCl_scalar)
+    if (CP%WantScalars .and. allocated(iCl_Array)) deallocate(iCl_Array)
+    if (CP%WantVectors .and. allocated(iCl_Vector)) deallocate(iCl_vector)
+    if (CP%WantTensors .and. allocated(iCl_Tensor)) deallocate(iCl_tensor)
+
+    if (global_error_flag/=0) return
+
+    if (CP%OutputNormalization >=2) call NormalizeClsAtl(CP%OutputNormalization)
+    !Normalize to C_l=1 at l=OutputNormalization
+
+    end subroutine ClTransferToCl
+
+    subroutine CalcLimberScalCls(CTrans)
+    Type(ClTransferData) :: CTrans
+    integer ell, i, s_ix, pix
+    real(dl) CL, reall,fac, dbletmp
+    integer s_ix2,j,n
+    Type(LimberRec), pointer :: LimbRec,LimbRec2
+    integer winmin
+
+    if (limber_phiphi>0) then
+        winmin = 0
+    else
+        winmin=1
+    end if
+
+    do pix=1,CP%InitPower%nn
+        do i =winmin, num_redshiftwindows
+            s_ix = 3+i
+            if (CTrans%limber_l_min(s_ix) /=0) then
+                do j= i, num_redshiftwindows
+                    s_ix2 = 3+j
+                    if (CTrans%limber_l_min(s_ix2) /=0) then
+                        !$OMP PARALLEL DO DEFAUlT(SHARED), SCHEDUlE(STATIC,2), PRIVATE(Cl,ell,reall,fac,dbletmp,n,LimbRec,LimbRec2)
+                        do ell =  max(CTrans%limber_l_min(s_ix), CTrans%limber_l_min(s_ix2)), Ctrans%ls%l0
+                            Cl = 0
+                            reall = real(CTrans%ls%l(ell),dl)
+                            fac = (2*pi**2)/fourpi/(reall+0.5_dl)**3 !fourpi because multipled by fourpi later
+                            LimbRec => CTrans%Limber_windows(s_ix,ell)
+                            LimbRec2 => CTrans%Limber_windows(s_ix2,ell)
+
+                            do n = max(LimbRec%n1,LimbRec2%n1), min(LimbRec%n2,LimbRec2%n2)
+                                !Actually integral over chi; source has sqrt( chi dchi)
+                                !Same n corresponds to same k since ell fixed here
+                                Cl = Cl + LimbRec%Source(n)*LimbRec2%Source(n) * fac * ScalarPower(LimbRec%k(n) ,pix)
+                            end do
+
+                            if(j==0 .and. i==0) iCl_scalar(ell,C_Phi,pix) = Cl
+                            if (has_cl_2D_array) then
+                                dbletmp=(reall*(reall+1))/OutputDenominator*fourpi
+                                iCl_Array(ell,s_ix,s_ix2,pix) = Cl*dbletmp
+                                if (i/=j) iCl_Array(ell,s_ix2,s_ix,pix)=iCl_Array(ell,s_ix,s_ix2,pix)
+                            end if
+                        end do
+                        !$OMP END PARAllEl DO
+                    end if
+                end do
+            end if
+        end do
+    end do
+
+    end subroutine CalcLimberScalCls
+
+    subroutine GetLimberTransfers
+    integer ell, ell_needed
+    integer i,s_ix
+    integer n1,n2,n, ell_limb
+    real(dl) int,k, chi, chimin
+    integer klo, khi
+    real(dl) a0,b0,ho2o6,a03,b03,ho
+    Type(LimberRec), pointer :: LimbRec
+
+    call Init_Limber(ThisCT)
+
+    if (num_redshiftwindows==0 .and. limber_phiphi==0) return
+
+    if (ThisCT%ls%l(ThisCT%ls%l0) > 5000) then
+        max_bessels_l_index = lvalues_indexOf(ThisCT%ls,5000)
+    else
+        max_bessels_l_index = ThisCT%ls%l0
+    end if
+
+    if (CP%Want_CMB) then
+        max_bessels_etak= min(ThisCT%ls%l(ThisCT%ls%l0),3000)*2.5_dl*AccuracyBoost
+    else
+        max_bessels_etak = 5000
+    end if
+
+    do i =0, num_redshiftwindows
+        s_ix = 3+i
+
+        if (i==0) then
+            ell_limb = limber_phiphi
+        end if
+
+        ell_needed = ThisCT%ls%l(ThisCT%ls%l0)
+        do ell = 1, ThisCT%ls%l0
+            if (ThisCT%ls%l(ell) >= ell_limb) then
+                ThisCT%limber_l_min(s_ix) =  ell
+                ell_needed = ThisCT%ls%l(ell)
+                max_bessels_l_index = max(max_bessels_l_index,ThisCT%limber_l_min(s_ix)-1)
+                if (FeedbackLevel > 1) write (*,*) i,'Limber switch', ell_needed
+                exit
+            end if
+        end do
+
+        if (ThisCT%limber_l_min(s_ix)/=0) then
+            if (i==0) then
+                n1 = Ranges_IndexOf(TimeSteps,tau_maxvis)
+                n2 = TimeSteps%npoints-1
+            end if
+
+            do ell = ThisCT%limber_l_min(s_ix), ThisCT%ls%l0
+                LimbRec => ThisCT%Limber_windows(s_ix,ell)
+                LimbRec%n1 = n1
+                LimbRec%n2 = n2
+
+                allocate(LimbRec%k(n1:n2))
+                allocate(LimbRec%Source(n1:n2))
+
+                int = 0
+                do n = n1,n2
+                    chi = (CP%tau0-TimeSteps%points(n))
+                    k = (ThisCT%ls%l(ell)+0.5_dl)/chi
+                    LimbRec%k(n) = k
+                    if (k<=qmax) then
+                        klo = Ranges_IndexOf(Evolve_q, k)
+                        khi=klo+1
+                        ho=Evolve_q%points(khi)-Evolve_q%points(klo)
+                        a0=(Evolve_q%points(khi)-k)/ho
+                        b0=(k-Evolve_q%points(klo))/ho
+                        ho2o6 = ho**2/6
+                        a03=(a0**3-a0)
+                        b03=(b0**3-b0)
+
+                        LimbRec%Source(n)= sqrt(chi*TimeSteps%dpoints(n))* (a0*Src(klo,s_ix,n)+&
+                        b0*Src(khi,s_ix,n)+(a03 *ddSrc(klo,s_ix,n)+ b03*ddSrc(khi,s_ix,n)) *ho2o6)
+                    else
+                        LimbRec%Source(n)=0
+                    end if
+                end do
+            end do
+        else
+            max_bessels_l_index  = ThisCT%ls%l0
+        end if
+    end do
+
+    end subroutine GetLimberTransfers
+
+    subroutine SourceToTransfers(q_ix)
+    integer q_ix
+    type(IntegrationVars) :: IV
+
+    allocate(IV%Source_q(TimeSteps%npoints,SourceNum))
+    if (.not.CP%flat) allocate(IV%ddSource_q(TimeSteps%npoints,SourceNum))
+
+    call IntegrationVars_init(IV)
+
+    IV%q_ix = q_ix
+    IV%q =ThisCT%q%points(q_ix)
+    IV%dq= ThisCT%q%dpoints(q_ix)
+
+    call InterpolateSources(IV)
+
+    call DoSourceIntegration(IV)
+
+    if (.not.CP%flat) deallocate(IV%ddSource_q)
+    deallocate(IV%Source_q)
+
+    end subroutine SourceToTransfers
+
+
+    subroutine InitTransfer
+    integer nu,lastnu, ntodo, nq, q_ix, first_i
+    real(dl) dlog_lowk1,dlog_lowk, d_osc,dlog_osc, dlog_highk, boost
+    real(dl) amin,q_switch_lowk,q_switch_lowk1,q_switch_osc,q_switch_highk
+    real(dl), dimension(:), allocatable :: q_transfer
+
+!    print*, 'In InitTransfer the kmax value being used is: ', CP%Transfer%kmax 
+
+    if (CP%Transfer%k_per_logint==0) then
+        !Optimized spacing
+        !Large log spacing on superhorizon scales
+        !Linear spacing for horizon scales and first few baryon osciallations
+        !Log spacing for last few oscillations
+        !large log spacing for small scales
+
+
+        boost = AccuracyBoost
+        if (CP%Transfer%high_precision) boost = boost*1.5
+
+        q_switch_lowk1 = 0.7/taurst
+        dlog_lowk1=2*boost
+
+        q_switch_lowk = 8/taurst
+        dlog_lowk=8*boost
+        if (HighAccuracyDefault) dlog_lowk = dlog_lowk*2.5
+
+        q_switch_osc = min(CP%Transfer%kmax,30/taurst)
+        d_osc= 200*boost
+        if (HighAccuracyDefault) d_osc = d_osc*1.8
+
+        q_switch_highk = min(CP%Transfer%kmax,60/taurst)
+        dlog_osc = 17*boost
+        if (HighAccuracyDefault) q_switch_highk = min(CP%Transfer%kmax,90/taurst)
+
+        !Then up to kmax
+        dlog_highk = 3*boost
+
+        amin = 5e-5_dl
+
+        nq=int((log(CP%Transfer%kmax/amin))*d_osc)+1
+        allocate(q_transfer(nq))
+
+        nq=int((log(q_switch_lowk1/amin))*dlog_lowk1)+1
+        do q_ix=1, nq
+            q_transfer(q_ix) = amin*exp((q_ix-1)/dlog_lowk1)
+        end do
+        MT%num_q_trans = nq
+
+        nq=int(log( q_switch_lowk/q_transfer(MT%num_q_trans))*dlog_lowk) +1
+        do q_ix=1, nq
+            q_transfer(MT%num_q_trans+q_ix) = q_transfer(MT%num_q_trans)*exp(q_ix/dlog_lowk)
+        end do
+        MT%num_q_trans = MT%num_q_trans + nq
+
+        nq=int((q_switch_osc-q_transfer(MT%num_q_trans))*d_osc)+1
+        do q_ix=1, nq
+            q_transfer(MT%num_q_trans+q_ix) = q_transfer(MT%num_q_trans)+ q_ix/d_osc
+        end do
+        MT%num_q_trans = MT%num_q_trans + nq
+
+        if (CP%Transfer%kmax > q_transfer(MT%num_q_trans)) then
+            nq=int(log( q_switch_highk/q_transfer(MT%num_q_trans))*dlog_osc) +1
+            do q_ix=1, nq
+                q_transfer(MT%num_q_trans+q_ix) = q_transfer(MT%num_q_trans)*exp(q_ix/dlog_osc)
+            end do
+            MT%num_q_trans = MT%num_q_trans + nq
+        end if
+
+        if (CP%Transfer%kmax > q_transfer(MT%num_q_trans)) then
+            nq=int(log(CP%Transfer%kmax/q_transfer(MT%num_q_trans))*dlog_highk)+1
+            do q_ix=1, nq
+                q_transfer(MT%num_q_trans+q_ix) = q_transfer(MT%num_q_trans)*exp(q_ix/dlog_highk)
+            end do
+            MT%num_q_trans = MT%num_q_trans + nq
+        end if
+    else
+        !Fixed spacing
+        MT%num_q_trans=int((log(CP%Transfer%kmax)-log(qmin))*CP%Transfer%k_per_logint)+1
+        allocate(q_transfer(MT%num_q_trans))
+        do q_ix=1, MT%num_q_trans
+            q_transfer(q_ix) = qmin*exp(real(q_ix)/CP%Transfer%k_per_logint)
+        end do
+    end if
+
+    if (CP%closed) then
+        lastnu=0
+        ntodo = 0
+        do q_ix=1,MT%num_q_trans
+            nu =nint(CP%r*q_transfer(q_ix))
+            if (.not. ((nu<3).or.(nu<=lastnu))) then
+                ntodo=ntodo+1
+                q_transfer(ntodo)= nu/CP%r
+                lastnu=nu
+            end if
+        end do
+        MT%num_q_trans = ntodo
+    end if
+
+    if (CP%WantCls) then
+        ntodo = MT%num_q_trans
+        first_i = ntodo+1
+        do q_ix = 1,ntodo
+            if (q_transfer(q_ix) > Evolve_q%highest+1d-4) then
+                !Feb13 fix for case with closed universe where qmax is not neccessarily right quantized value
+                !   if (q_transfer(q_ix) > qmax) then
+                first_i=q_ix
+                exit
+            end if
+        end do
+
+        if (first_i > ntodo) then
+            MT%num_q_trans = Evolve_q%npoints
+        else
+            MT%num_q_trans = Evolve_q%npoints + (ntodo - first_i+1)
+        end if
+        call Transfer_Allocate(MT)
+
+        MT%q_trans(1:Evolve_q%npoints) = Evolve_q%points(1:Evolve_q%npoints)
+        if (MT%num_q_trans > Evolve_q%npoints) then
+            MT%q_trans(Evolve_q%npoints+1:MT%num_q_trans) = q_transfer(first_i:ntodo)
+        end if
+    else
+        Evolve_q%npoints = 0
+        call Transfer_Allocate(MT)
+        MT%q_trans = q_transfer(1:MT%num_q_trans)
+    end if
+
+    deallocate(q_transfer)
+
+    end subroutine InitTransfer
+
+    function GetTauStart(q)
+    real(dl), intent(IN) :: q
+    real(dl) taustart, GetTauStart
+    real(dl) tauosc,om,rhomass,grhonu,taurad,tauax_init,taueq
+    double precision arad,abar,taubar
+    !     Begin when wave is far outside horizon.
+    !         DM: also begin when tau<tau_osc   
+    !     Conformal time (in Mpc) in the radiation era, for photons plus 3 species
+    !     of relativistic neutrinos.
+    if (CP%flat) then
+        taustart=0.001_dl/q
+    else
+        taustart=0.001_dl/sqrt(q**2-CP%curv)
+    end if
+
+    if (fixq/=0._dl) then
+        taustart = 0.001_dl/fixq
+    end if
+
+    !     Make sure to start early in the radiation era.
+    taustart=min(taustart,0.1_dl)
+
+    !     Start when massive neutrinos are strongly relativistic.
+    if (CP%Num_nu_massive>0) then
+        taustart=min(taustart,1.d-3/maxval(nu_masses(1:CP%Nu_mass_eigenstates))/adotrad)
+    end if
+    
+    !         Start when axions are not oscillating                                                                              
+    !update start time to use a_init from w_evolve routine 9/19 dgrin, comment out other checks (superfluous) 
+    if(CP%Omegaax>0) then
+       rhomass =  sum(grhormass(1:CP%Nu_mass_eigenstates))
+       grhonu=rhomass+grhornomass
+       om = (grhob+grhoc)/sqrt(3.0d0*(grhog+grhonu))
+       
+       
+       tauosc= (a_osc*0.01d0/adotrad)/om
+       !DM:                                                                                                                      
+       arad=((a_osc**3.0d0)*((grhog+grhonu)*0.01d0)/(grhoax))**(1.0d0/4.0d0)
+       abar=((a_osc**3.0d0)*((grhob)*0.01d0)/(grhoax))**(1.0d0/3.0d0)
+       taueq= (-1.0d0+dsqrt(1.0d0+CP%aeq*0.01d0/adotrad))/om/2.0d0
+       !calculate corresponding conformal time                                                                                   
+       !taurad= (-1.0d0+dsqrt(1.0d0+arad/adotrad))/om/2.0d0                                                                      
+       !taubar= (-1.0d0+dsqrt(1.0d0+abar/adotrad))/om/2.0d0                                                                      
+       
+       
+       !old working start time for other modes!                                                                                  
+       taustart=min(taustart,tauosc,taueq)
+       
+    end if
+
+
+    GetTauStart=taustart
+    end function GetTauStart
+
+    subroutine DoSourcek(EV,q_ix)
+    integer q_ix
+    real(dl) taustart
+    type(EvolutionVars) EV
+
+    EV%q=Evolve_q%points(q_ix)
+
+    if (fixq/=0._dl) then
+        EV%q= min(500._dl,fixq) !for testing
+    end if
+    EV%q2=EV%q**2
+
+    EV%q_ix = q_ix
+    EV%TransferOnly=.false.
+
+    taustart = GetTauStart(EV%q)
+
+    if (fixq/=0._dl) then
+        EV%q= fixq
+        EV%q2=EV%q**2
+    end if
+
+    call GetNumEqns(EV)
+
+    if (CP%WantScalars .and. global_error_flag==0) call CalcScalarSources(EV,taustart)
+    if (CP%WantVectors .and. global_error_flag==0) call CalcVectorSources(EV,taustart)
+    if (CP%WantTensors .and. global_error_flag==0) call CalcTensorSources(EV,taustart)
+
+    end subroutine DoSourcek
+
+    subroutine GetSourceMem
+
+    if (CP%WantScalars) then
+        if (WantLateTime) then
+            SourceNum=3
+            C_last = C_PhiE
+            SourceNum=SourceNum + num_redshiftwindows + num_extra_redshiftwindows
+        else
+            SourceNum=2
+            C_last = C_Cross
+        end if
+    else
+        SourceNum=3
+    end if
+
+    allocate(Src(Evolve_q%npoints,SourceNum,TimeSteps%npoints))
+    Src=0
+    allocate(ddSrc(Evolve_q%npoints,SourceNum,TimeSteps%npoints))
+
+    end subroutine GetSourceMem
+
+
+    subroutine FreeSourceMem
+
+    if (allocated(Src))deallocate(Src, ddSrc)
+    call Ranges_Free(Evolve_q)
+
+    end subroutine FreeSourceMem
+
+
+    !  initial variables, number of steps, etc.
+    subroutine InitVars
+    use ThermoData
+    use precision
+    use ModelParams
+
+    implicit none
+    real(dl) taumin, maxq, initAccuracyBoost
+    integer itf
+
+    initAccuracyBoost = AccuracyBoost
+
+    ! Maximum and minimum k-values.
+    if (CP%flat) then
+        qmax=maximum_qeta/CP%tau0
+        qmin=qmin0/CP%tau0/initAccuracyBoost
+    else
+        qmax=maximum_qeta/CP%r/CP%chi0
+        qmin=qmin0/CP%r/CP%chi0/initAccuracyBoost
+    end if
+    !     Timesteps during recombination (tentative, the actual
+    !     timestep is the minimum between this value and taurst/40,
+    !     where taurst is the time when recombination starts - see inithermo
+
+    dtaurec_q=4/qmax/initAccuracyBoost
+    if (.not. CP%flat) dtaurec_q=dtaurec_q/6
+    !AL:Changed Dec 2003, dtaurec feeds back into the non-flat integration via the step size
+    dtaurec = dtaurec_q
+    !dtau rec may be changed by inithermo
+
+    max_etak_tensor = initAccuracyBoost*maximum_qeta /10
+    max_etak_scalar = initAccuracyBoost*max(1700._dl,maximum_qeta) /20
+    if (maximum_qeta <3500 .and. AccuracyBoost < 2) max_etak_scalar = max_etak_scalar * 1.5
+    !tweak to get large scales right
+    max_etak_vector = max_etak_scalar
+
+    if (CP%WantCls) then
+        maxq = qmax
+        if (CP%WantTransfer) maxq=max(qmax,CP%Transfer%kmax)
+    else
+        maxq=CP%Transfer%kmax
+    end if
+
+
+    taumin=GetTauStart(maxq)
+
+    !     Initialize baryon temperature and ionization fractions vs. time.
+    !     This subroutine also fixes the timesteps where the sources are
+    !     saved in order to do the integration. So TimeSteps is set here.
+    !These routines in ThermoData (modules.f90)
+    call inithermo(taumin,CP%tau0)
+    if (global_error_flag/=0) return
+
+    if (DebugMsgs .and. Feedbacklevel > 0) write (*,*) 'inithermo'
+
+    !Do any array initialization for propagation equations
+    call GaugeInterface_Init
+
+    if (Feedbacklevel > 0)  &
+    write(*,'("tau_recomb/Mpc       = ",f7.2,"  tau_now/Mpc = ",f8.1)') tau_maxvis,CP%tau0
+
+    !     Calculating the times for the outputs of the transfer functions.
+    !
+    if (CP%WantTransfer) then
+        do itf=1,CP%Transfer%num_redshifts
+            tautf(itf)=min(TimeOfz(CP%Transfer%redshifts(itf)),CP%tau0)
+            if (itf>1) then
+                if (tautf(itf) <= tautf(itf-1)) then
+                    stop 'Transfer redshifts not set or out of order'
+                end if
+            end if
+        end do
+    endif
+    end subroutine InitVars
+
+    subroutine SetkValuesForSources
+    implicit none
+    real(dl) dlnk0, dkn1, dkn2, q_switch, q_cmb, dksmooth
+    real(dl) qmax_log
+    real(dl) SourceAccuracyBoost
+    !     set k values for which the sources for the anisotropy and
+    !     polarization will be calculated. For low values of k we
+    !     use a logarithmic spacing. closed case dealt with by SetClosedkValues
+
+    SourceAccuracyBoost = AccuracyBoost
+    if (CP%WantScalars .and. CP%Reion%Reionization .and. CP%AccuratePolarization) then
+        dlnk0=2._dl/10/SourceAccuracyBoost
+        !Need this to get accurate low l polarization
+    else
+        dlnk0=5._dl/10/SourceAccuracyBoost
+        if (CP%closed) dlnk0=dlnk0/2
+    end if
+
+    if (CP%AccurateReionization) dlnk0 = dlnk0/2
+
+    dkn1=0.6_dl/taurst/SourceAccuracyBoost
+    dkn2=0.9_dl/taurst/SourceAccuracyBoost
+    if (HighAccuracyDefault) dkn2=dkn2/1.2
+    if (CP%WantTensors .or. CP%WantVectors) then
+        dkn1=dkn1  *0.8_dl
+        dlnk0=dlnk0/2 !*0.3_dl
+        dkn2=dkn2*0.85_dl
+    end if
+
+    qmax_log = dkn1/dlnk0
+    q_switch = 2*6.3/taurst
+    !Want linear spacing for wavenumbers which come inside horizon
+    !Could use sound horizon, but for tensors that is not relevant
+
+    q_cmb = 2*l_smooth_sample/CP%chi0*AccuracyBoost  !assume everything is smooth at l > l_smooth_sample
+    if (CP%Want_CMB .and. maximum_l > 5000 .and. CP%AccuratePolarization) q_cmb = q_cmb*1.4
+    !prevent EE going wild in tail
+    dksmooth = q_cmb/2/(AccuracyBoost)**2
+    if (CP%Want_CMB) dksmooth = dksmooth/6
+
+    call Ranges_Init(Evolve_q)
+    call Ranges_Add_delta(Evolve_q, qmin, qmax_log, dlnk0, IsLog = .true.)
+    call Ranges_Add_delta(Evolve_q, qmax_log, min(qmax,q_switch), dkn1)
+    if (qmax > q_switch) then
+        call Ranges_Add_delta(Evolve_q, q_switch, min(q_cmb,qmax), dkn2)
+        if (qmax > q_cmb) then
+            dksmooth = log(1 + dksmooth/q_cmb)
+            call Ranges_Add_delta(Evolve_q, q_cmb, qmax, dksmooth, IsLog = .true.)
+        end if
+    end if
+
+    call Ranges_GetArray(Evolve_q, .false.)
+
+    if (CP%closed) call SetClosedkValuesFromArr(Evolve_q, .false.)
+
+    end subroutine SetkValuesForSources
+
+
+    subroutine SetClosedkValuesFromArr(R, forInt)
+    Type(Regions) :: R
+    integer i,nu,lastnu,nmax
+    !nu = 3,4,5... in CP%closed case, so set nearest integers from arr array
+    logical, intent(in) :: forInt
+    integer ix
+    real(dl) dnu
+    integer, allocatable :: nu_array(:)
+
+    if (forInt .and. nint(R%points(1)*CP%r)<=3) then
+        !quantization is important
+        call Ranges_Getdpoints(R,half_ends = .false.)
+        R%dpoints = max(1,int(R%dpoints*CP%r+0.02))
+        lastnu=2
+        ix=1
+        dnu =R%dpoints(ix)
+        nmax=0
+        lastnu=2
+        allocate(nu_array(R%npoints*2))
+        do
+            do while (R%dpoints(ix)==dnu .and. ix <R%npoints)
+                ix=ix+1
+            end do
+            do nu=lastnu+1,nint(R%points(ix)*CP%r), nint(dnu)
+                nmax=nmax+1
+                nu_array(nmax)= nu
+            end do
+            lastnu=nu_array(nmax) + nint(dnu)-1
+            if (ix==R%npoints) exit
+            dnu = R%dpoints(ix)
+        end do
+        if (nint(R%points(R%npoints)*CP%r) > nu_array(nmax)) then
+            nmax=nmax+1
+            nu_array(nmax) = nint(R%points(R%npoints)*CP%r)
+        end if
+        deallocate(R%points)
+        allocate(R%points(nmax))
+        R%points = nu_array(1:nmax)/CP%r
+        deallocate(nu_array)
+    else
+        lastnu=3
+        nmax=1
+
+        do i=2,R%npoints
+            nu=nint(R%points(i)*CP%r)
+            if (nu > lastnu) then
+                nmax=nmax+1
+                lastnu=nu
+                R%points(nmax)=nu/CP%r
+            end if
+        end do
+        R%points(1)=3/CP%r
+    end if
+
+    R%Lowest = R%points(1)
+    R%Highest = R%points(nmax)
+    R%npoints=nmax
+
+    end subroutine SetClosedkValuesFromArr
+
+
+
+    subroutine CalcScalarSources(EV,taustart)
+    use Transfer
+    implicit none
+    type(EvolutionVars) EV
+    real(dl) tau,tol1,tauend, taustart
+    integer j,ind,itf
+    real(dl) c(24),w(EV%nvar,9), y(EV%nvar), sources(SourceNum)
+
+    real(dl) yprime(EV%nvar), ddelta, delta, adotoa,dtauda, growth
+    external dtauda
+
+    if (fixq/=0._dl) then
+        !evolution output
+        EV%q=fixq
+        EV%q2=EV%q**2
+    endif
+
+    w=0
+    y=0
+    call initial(EV,y, taustart)
+    if (global_error_flag/=0) return
+
+    tau=taustart
+    ind=1
+
+
+
+
+    !!Example code for plotting out variable evolution
+! DM: write a new module, based on this snippet, similar to "output"                                                                 
+! to sit here and be called at all tau and k, with dummy variables to not mess anything else up 
+!    if (fixq/=0._dl) then
+!        tol1=tol/exp(AccuracyBoost-1)
+!        call CreateTxtFile('evolve_q005.txt',1)
+!        do j=1,1000
+!            tauend = taustart+(j-1)*(CP%tau0-taustart)/1000
+!            call GaugeInterface_EvolveScal(EV,tau,y,tauend,tol1,ind,c,w)
+!            yprime = 0
+!            call derivs(EV,EV%ScalEqsToPropagate,tau,y,yprime)
+!            adotoa = 1/(y(1)*dtauda(y(1)))
+!            ddelta= (yprime(3)*grhoc+yprime(4)*grhob)/(grhob+grhoc)
+!            delta=(grhoc*y(3)+grhob*y(4))/(grhob+grhoc)
+!            growth= ddelta/delta/adotoa
+!            write (1,'(7E15.5)') tau, delta, growth, y(3), y(4), y(EV%g_ix), y(1)
+!        end do
+!        close(1)
+!        stop
+    ! DM: with stop here, this output is only done for the lowest k-value.                                                
+    ! Without stop here, need to reset other variables or rest of code falls over.                                       
+    ! Fix using dummy var for tauend? 
+!    end if
+
+    !     Begin timestep loop.
+
+    itf=1
+    tol1=tol/exp(AccuracyBoost-1)
+    if (CP%WantTransfer .and. CP%Transfer%high_precision) tol1=tol1/100
+
+    do j=2,TimeSteps%npoints
+        tauend=TimeSteps%points(j)
+
+        if (.not. DebugEvolution .and. (EV%q*tauend > max_etak_scalar .and. tauend > taurend) &
+        .and. .not. WantLateTime .and. (.not.CP%WantTransfer.or.tau > tautf(CP%Transfer%num_redshifts))) then
+            Src(EV%q_ix,1:SourceNum,j)=0
+        else
+            !Integrate over time, calulate end point derivs and calc output
+            call GaugeInterface_EvolveScal(EV,tau,y,tauend,tol1,ind,c,w)
+            if (global_error_flag/=0) return
+
+            call output(EV,y,j,tau,sources)
+            Src(EV%q_ix,1:SourceNum,j)=sources
+
+            !     Calculation of transfer functions.
+101         if (CP%WantTransfer.and.itf <= CP%Transfer%num_redshifts) then
+                if (j < TimeSteps%npoints) then
+                    if (tauend < tautf(itf) .and.TimeSteps%points(j+1)  > tautf(itf)) then
+                        call GaugeInterface_EvolveScal(EV,tau,y,tautf(itf),tol1,ind,c,w)
+                        if (global_error_flag/=0) return
+                    endif
+                end if
+                !     output transfer functions for this k-value.
+
+                if (abs(tau-tautf(itf)) < 1.e-5_dl) then
+                    call outtransf(EV,y,tau, MT%TransferData(:,EV%q_ix,itf))
+
+                    itf=itf+1
+                    if (j < TimeSteps%npoints) then
+                        if (itf <= CP%Transfer%num_redshifts.and. &
+                        TimeSteps%points(j+1) > tautf(itf)) goto 101
+                    end if
+                endif
+            end if
+        end if
+
+    end do !time step loop
+
+    end subroutine
+
+
+    subroutine CalcTensorSources(EV,taustart)
+    implicit none
+    type(EvolutionVars) EV
+    real(dl) tau,tol1,tauend, taustart
+    integer j,ind
+    real(dl) c(24),wt(EV%nvart,9), yt(EV%nvart)
+
+    call initialt(EV,yt, taustart)
+
+    tau=taustart
+    ind=1
+    tol1=tol/exp(AccuracyBoost-1)
+
+    !     Begin timestep loop.
+    do j=2,TimeSteps%npoints
+        tauend=TimeSteps%points(j)
+        if (EV%q*tauend > max_etak_tensor) then
+            Src(EV%q_ix,1:SourceNum,j) = 0
+        else
+            call GaugeInterface_EvolveTens(EV,tau,yt,tauend,tol1,ind,c,wt)
+
+            call outputt(EV,yt,EV%nvart,j,tau,Src(EV%q_ix,CT_Temp,j),&
+            Src(EV%q_ix,CT_E,j),Src(EV%q_ix,CT_B,j))
+        end if
+    end do
+
+    end subroutine CalcTensorSources
+
+
+    subroutine CalcVectorSources(EV,taustart)
+
+    implicit none
+    type(EvolutionVars) EV
+    real(dl) tau,tol1,tauend, taustart
+    integer j,ind
+    real(dl) c(24),wt(EV%nvarv,9), yv(EV%nvarv)!,yvprime(EV%nvarv)
+
+    !EV%q=0.2
+    !EV%q2=EV%q**2
+
+    call initialv(EV,yv, taustart)
+
+    tau=taustart
+    ind=1
+    tol1=tol*0.01/exp(AccuracyBoost-1)
+
+    !!Example code for plotting out variable evolution
+    !if (.false.) then
+    !        do j=1,6000
+    !          tauend = taustart * exp(j/6000._dl*log(CP%tau0/taustart))
+    !         call dverk(EV,EV%nvarv,fderivsv,tau,yv,tauend,tol1,ind,c,EV%nvarv,wt) !tauend
+    !          call fderivsv(EV,EV%nvarv,tau,yv,yvprime)
+    !
+    !          write (*,'(7E15.5)') yv(1), yv(2), yv(3),yv(4), &
+    !                   yv((EV%lmaxv-1+1)+(EV%lmaxpolv-1)*2+3+1), &
+    !                yv((EV%lmaxv-1+1)+(EV%lmaxpolv-1)*2+3+2),yv(5)
+    !         end do
+    !       stop
+    !nd if
+
+    !     Begin timestep loop.
+    do j=2,TimeSteps%npoints
+        tauend=TimeSteps%points(j)
+
+        if ( EV%q*tauend > max_etak_vector) then
+            Src(EV%q_ix,1:SourceNum,j) = 0
+        else
+            call dverk(EV,EV%nvarv,derivsv,tau,yv,tauend,tol1,ind,c,EV%nvarv,wt) !tauend
+
+            call outputv(EV,yv,EV%nvarv,j,tau,Src(EV%q_ix,CT_Temp,j),&
+            Src(EV%q_ix,CT_E,j),Src(EV%q_ix,CT_B,j))
+        end if
+    end do
+
+    end subroutine CalcVectorSources
+
+
+    subroutine TransferOut
+    !Output transfer functions for k larger than used for C_l computation
+    implicit none
+    integer q_ix
+    real(dl) tau
+    type(EvolutionVars) EV
+
+
+    if (DebugMsgs .and. Feedbacklevel > 0) &
+    write(*,*) MT%num_q_trans-Evolve_q%npoints, 'transfer k values'
+
+    !$OMP PARAllEl DO DEFAUlT(SHARED),SCHEDUlE(DYNAMIC) &
+    !$OMP & PRIVATE(EV, tau, q_ix)
+
+!    print*, 'I am going to loop over MT%num_q_trans wavenumbers and Evolve_q%npoints', MT%num_q_trans, Evolve_q%npoints !RH timing
+    !     loop over wavenumbers.
+    do q_ix=Evolve_q%npoints+1,MT%num_q_trans
+        EV%TransferOnly=.true. !in case we want to do something to speed it up
+
+        EV%q= MT%q_trans(q_ix)
+
+        EV%q2=EV%q**2
+        EV%q_ix = q_ix
+
+        tau = GetTauStart(EV%q)
+
+        call GetNumEqns(EV)
+
+        call GetTransfer(EV, tau)
+    end do
+    !$OMP END PARAllEl DO
+
+    end subroutine TransferOut
+
+    subroutine GetTransfer(EV,tau)
+    type(EvolutionVars) EV
+    real(dl) tau
+    integer ind, i
+    real(dl) c(24),w(EV%nvar,9), y(EV%nvar)
+    real(dl) atol
+
+    atol=tol/exp(AccuracyBoost-1)
+    if (CP%Transfer%high_precision) atol=atol/10000
+
+    ind=1
+    call initial(EV,y, tau)
+    if (global_error_flag/=0) return
+
+    do i=1,CP%Transfer%num_redshifts
+        call GaugeInterface_EvolveScal(EV,tau,y,tautf(i),atol,ind,c,w)
+        if (global_error_flag/=0) return
+        call outtransf(EV,y,tau,MT%TransferData(:,EV%q_ix,i))
+    end do
+
+    end subroutine GetTransfer
+
+
+    subroutine MakeNonlinearSources
+    !Scale lensing source terms by non-linear scaling at each redshift and wavenumber
+    use NonLinear
+    integer i,ik,first_step
+    real (dl) tau
+    real(dl) scaling(CP%Transfer%num_redshifts), ddScaling(CP%Transfer%num_redshifts)
+    real(dl) ho,a0,b0, ascale
+    integer tf_lo, tf_hi
+    type(MatterPowerData) :: CAMB_Pk
+
+    call Transfer_GetMatterPowerData(MT, CAMB_PK, 1)
+
+    call NonLinear_GetNonLinRatios(CAMB_PK)
+
+    if (CP%InitPower%nn > 1) stop 'Non-linear lensing only does one initial power'
+
+    first_step=1
+    do while(TimeSteps%points(first_step) < tautf(1))
+        first_step = first_step + 1
+    end do
+    !$OMP PARAllEl DO DEFAUlT(SHARED), SCHEDUlE(STATIC), &
+    !$OMP & PRIVATE(ik, i,scaling,ddScaling, tf_lo,tf_hi,tau,ho,a0,b0,ascale)
+    do ik=1, Evolve_q%npoints
+        if (Evolve_q%points(ik)/(CP%H0/100) >  Min_kh_nonlinear) then
+            !Interpolate non-linear scaling in conformal time
+            do i = 1, CP%Transfer%num_redshifts
+                scaling(i) = CAMB_Pk%nonlin_ratio(ik,i)
+            end do
+            if (all(abs(scaling-1) < 5e-4)) cycle
+            call spline(tautf(1),scaling(1),CP%Transfer%num_redshifts,&
+            spl_large,spl_large,ddScaling(1))
+
+            tf_lo=1
+            tf_hi=tf_lo+1
+
+            do i=first_step,TimeSteps%npoints-1
+                tau = TimeSteps%points(i)
+
+                do while (tau > tautf(tf_hi))
+                    tf_lo = tf_lo + 1
+                    tf_hi = tf_hi + 1
+                end do
+
+                ho=tautf(tf_hi)-tautf(tf_lo)
+                a0=(tautf(tf_hi)-tau)/ho
+                b0=1-a0
+
+                ascale = a0*scaling(tf_lo)+ b0*scaling(tf_hi)+&
+                ((a0**3-a0)* ddscaling(tf_lo) &
+                +(b0**3-b0)*ddscaling(tf_hi))*ho**2/6
+
+                Src(ik,3:SourceNum,i) = Src(ik,3:SourceNum,i) * ascale
+            end  do
+        end if
+    end do
+    !$OMP END PARAllEl DO
+
+    call MatterPowerdata_Free(CAMB_pk)
+
+    end subroutine MakeNonlinearSources
+
+
+    subroutine InitSourceInterpolation
+    integer i,j
+    !     get the interpolation matrix for the sources to interpolate them
+    !     for other k-values
+    !$OMP PARAllEl DO DEFAUlT(SHARED), SCHEDUlE(STATIC), PRIVATE(i,j) , SHARED(Evolve_q)
+    do  i=1,TimeSteps%npoints
+        do j=1, SourceNum
+            call spline(Evolve_q%points,Src(1,j,i),Evolve_q%npoints,spl_large,spl_large,ddSrc(1,j,i))
+        end do
+    end do
+    !$OMP END PARAllEl DO
+    end subroutine InitSourceInterpolation
+
+
+    subroutine SetkValuesForInt
+    implicit none
+
+    integer no
+    real(dl) dk,dk0,dlnk1, dk2, max_k_dk, k_max_log, k_max_0
+    integer lognum
+    real(dl)  qmax_int,IntSampleBoost
+
+
+    qmax_int = min(qmax,max_bessels_etak/CP%tau0)
+
+    IntSampleBoost=AccuracyBoost
+    if (do_bispectrum) then
+        IntSampleBoost = IntSampleBoost * 2
+        if (hard_bispectrum) IntSampleBoost = IntSampleBoost * 2
+    end if
+
+    !     Fixing the # of k for the integration.
+
+    call Ranges_Init(ThisCT%q)
+
+    if (CP%closed.and.ExactClosedSum) then
+        call Ranges_Add(ThisCT%q,3/CP%r, nint(qmax_int*CP%r)/CP%r, nint(qmax_int*CP%r)-3) !fix jun08
+        call Init_ClTransfer(ThisCT)
+        call Ranges_Getdpoints(ThisCT%q,half_ends = .false.) !Jun08
+    else
+        !Split up into logarithmically spaced intervals from qmin up to k=lognum*dk0
+        !then no-lognum*dk0 linearly spaced at dk0 up to no*dk0
+        !then at dk up to max_k_dk, then dk2 up to qmax_int
+        lognum=nint(10*IntSampleBoost)
+        dlnk1=1._dl/lognum
+        no=nint(600*IntSampleBoost)
+        dk0=1.8_dl/CP%r/CP%chi0/IntSampleBoost
+        dk=3._dl/CP%r/CP%chi0/IntSampleBoost
+
+        if (HighAccuracyDefault) dk=dk/1.6
+
+        k_max_log = lognum*dk0
+        k_max_0  = no*dk0
+
+        if (do_bispectrum) k_max_0 = max(10.d0,k_max_0)
+
+        dk2 = 0.04/IntSampleBoost  !very small scales
+
+        call Ranges_Add_delta(ThisCT%q, qmin, k_max_log, dlnk1, IsLog = .true.)
+        call Ranges_Add_delta(ThisCT%q, k_max_log, min(qmax_int,k_max_0), dk0)
+
+        if (qmax_int > k_max_0) then
+            max_k_dk = max(3000, 2*maximum_l)/CP%tau0
+
+            call Ranges_Add_delta(ThisCT%q, k_max_0, min(qmax_int, max_k_dk), dk)
+            if (qmax_int > max_k_dk) then
+                !This allows inclusion of high k modes for computing BB lensed spectrum accurately
+                !without taking ages to compute.
+                call Ranges_Add_delta(ThisCT%q, max_k_dk, qmax_int, dk2)
+            end if
+        end if
+
+        call Init_ClTransfer(ThisCT)
+
+        if (CP%closed) then
+            call SetClosedkValuesFromArr(ThisCT%q,.true.)
+            call Ranges_Getdpoints(ThisCT%q,half_ends = .false.)
+            ThisCT%q%dpoints(1) = 1/CP%r
+            deallocate(ThisCT%Delta_p_l_k) !Re-do this from Init_ClTransfer because number of points changed
+            allocate(ThisCT%Delta_p_l_k(ThisCT%NumSources,min(ThisCT%max_index_nonlimber,ThisCT%ls%l0), ThisCT%q%npoints))
+            ThisCT%Delta_p_l_k = 0
+        end if
+
+    end if !ExactClosedSum
+
+
+    end subroutine setkValuesForInt
+
+    subroutine InterpolateSources(IV)
+    implicit none
+    integer i,khi,klo, step
+    real(dl) xf,b0,ho,a0,ho2o6,a03,b03
+    type(IntegrationVars) IV
+
+
+    !     finding position of k in table Evolve_q to do the interpolation.
+
+    !Can't use the following in closed case because regions are not set up (only points)
+    !           klo = min(Evolve_q%npoints-1,Ranges_IndexOf(Evolve_q, IV%q))
+    !This is a bit inefficient, but thread safe
+    klo=1
+    do while ((IV%q > Evolve_q%points(klo+1)).and.(klo < (Evolve_q%npoints-1)))
+        klo=klo+1
+    end do
+
+    khi=klo+1
+
+
+    ho=Evolve_q%points(khi)-Evolve_q%points(klo)
+    a0=(Evolve_q%points(khi)-IV%q)/ho
+    b0=(IV%q-Evolve_q%points(klo))/ho
+    ho2o6 = ho**2/6
+    a03=(a0**3-a0)
+    b03=(b0**3-b0)
+    IV%SourceSteps = 0
+
+    !     Interpolating the source as a function of time for the present
+    !     wavelength.
+    step=2
+    do i=2, TimeSteps%npoints
+        xf=IV%q*(CP%tau0-TimeSteps%points(i))
+        if (CP%WantTensors) then
+            if (IV%q*TimeSteps%points(i) < max_etak_tensor.and. xf > 1.e-8_dl) then
+                step=i
+                IV%Source_q(i,1:SourceNum) =a0*Src(klo,1:SourceNum,i)+&
+                b0*Src(khi,1:SourceNum,i)+(a03 *ddSrc(klo,1:SourceNum,i)+ &
+                b03*ddSrc(khi,1:SourceNum,i)) *ho2o6
+            else
+                IV%Source_q(i,1:SourceNum) = 0
+            end if
+        end if
+        if (CP%WantVectors) then
+            if (IV%q*TimeSteps%points(i) < max_etak_vector.and. xf > 1.e-8_dl) then
+                step=i
+                IV%Source_q(i,1:SourceNum) =a0*Src(klo,1:SourceNum,i)+&
+                b0*Src(khi,1:SourceNum,i)+(a03 *ddSrc(klo,1:SourceNum,i)+ &
+                b03*ddSrc(khi,1:SourceNum,i)) *ho2o6
+            else
+                IV%Source_q(i,1:SourceNum) = 0
+            end if
+        end if
+
+        if (CP%WantScalars) then
+            if ((DebugEvolution .or. WantLateTime .or. IV%q*TimeSteps%points(i) < max_etak_scalar) &
+            .and. xf > 1.e-8_dl) then
+                step=i
+                IV%Source_q(i,1:SourceNum)=a0*Src(klo,1:SourceNum,i)+ &
+                b0*Src(khi,1:SourceNum,i) + (a03*ddSrc(klo,1:SourceNum,i) &
+                +b03*ddSrc(khi,1:SourceNum,i))*ho2o6
+            else
+                IV%Source_q(i,1:SourceNum) = 0
+            end if
+        end if
+    end do
+    IV%SourceSteps = step
+
+
+    if (.not.CP%flat) then
+        do i=1, SourceNum
+            call spline(TimeSteps%points,IV%Source_q(1,i),TimeSteps%npoints,&
+            spl_large,spl_large,IV%ddSource_q(1,i))
+        end do
+    end if
+
+    IV%SourceSteps = IV%SourceSteps*1
+    !This is a fix for a compiler bug on Seaborg
+
+    end subroutine
+
+
+    subroutine IntegrationVars_Init(IV)
+    type(IntegrationVars), intent(INOUT) :: IV
+
+    IV%Source_q(1,1:SourceNum)=0
+    IV%Source_q(TimeSteps%npoints,1:SourceNum) = 0
+    IV%Source_q(TimeSteps%npoints-1,1:SourceNum) = 0
+
+    end  subroutine IntegrationVars_Init
+
+
+    subroutine DoSourceIntegration(IV) !for particular wave number q
+    integer j,ll,llmax
+    real(dl) nu
+    type(IntegrationVars) IV
+
+    nu=IV%q*CP%r
+
+    if (CP%closed) then
+        if (nu<20 .or. CP%tau0/CP%r+6*pi/nu > pi/2) then
+            llmax=nint(nu)-1
+        else
+            llmax=nint(nu*rofChi(CP%tau0/CP%r + 6*pi/nu))
+            llmax=min(llmax,nint(nu)-1)  !nu >= l+1
+        end if
+    else
+        llmax=nint(nu*CP%chi0)
+        if (llmax<15) then
+            llmax=17 !AL Sept2010 changed from 15 to get l=16 smooth
+        else
+            llmax=nint(nu*rofChi(CP%tau0/CP%r + 6*pi/nu))
+        end if
+    end if
+
+    if (CP%flat) then
+        call DoFlatIntegration(IV,llmax)
+    else
+        do j=1,lSamp%l0
+            ll=lSamp%l(j)
+            if (ll>llmax) exit
+            call IntegrateSourcesBessels(IV,j,ll,nu)
+        end do !j loop
+    end if
+
+    end subroutine DoSourceIntegration
+
+    function UseLimber(l,k)
+    !Calculate lensing potential power using Limber rather than j_l integration
+    !even when sources calculated as part of temperature calculation
+    !(Limber better on small scales unless step sizes made much smaller)
+    !This affects speed, esp. of non-flat case
+    logical :: UseLimber
+    integer l
+    real(dl) :: k
+
+    !note increasing non-limber is not neccessarily more accurate unless AccuracyBoost much higher
+    !use **0.5 to at least give some sensitivity to Limber effects
+    !Could be lower but care with phi-T correlation at lower L
+    UseLimber = l > 400*AccuracyBoost**0.5
+
+    end function UseLimber
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    !flat source integration
+    subroutine DoFlatIntegration(IV, llmax)
+    implicit none
+    type(IntegrationVars) IV
+    integer llmax
+    integer j
+    logical DoInt
+    real(dl) xlim,xlmax1
+    real(dl) tmin, tmax
+    real(dl) a2, J_l, aa(IV%SourceSteps), fac(IV%SourceSteps)
+    real(dl) xf, sums(SourceNum)
+    real(dl) qmax_int
+    integer bes_ix,n, bes_index(IV%SourceSteps)
+
+    !     Find the position in the xx table for the x correponding to each
+    !     timestep
+
+    do j=1,IV%SourceSteps !Precompute arrays for this k
+        xf=abs(IV%q*(CP%tau0-TimeSteps%points(j)))
+        bes_index(j)=Ranges_indexOf(BessRanges,xf)
+        !Precomputed values for the interpolation
+        bes_ix= bes_index(j)
+        fac(j)=BessRanges%points(bes_ix+1)-BessRanges%points(bes_ix)
+        aa(j)=(BessRanges%points(bes_ix+1)-xf)/fac(j)
+        fac(j)=fac(j)**2*aa(j)/6
+    end do
+
+    do j=1,max_bessels_l_index
+        if (lSamp%l(j) > llmax) return
+        xlim=xlimfrac*lSamp%l(j)
+        xlim=max(xlim,xlimmin)
+        xlim=lSamp%l(j)-xlim
+        if (full_bessel_integration .or. do_bispectrum) then
+            tmin = TimeSteps%points(2)
+        else
+            xlmax1=80*lSamp%l(j)*AccuracyBoost
+            tmin=CP%tau0-xlmax1/IV%q
+            tmin=max(TimeSteps%points(2),tmin)
+        end if
+        tmax=CP%tau0-xlim/IV%q
+        tmax=min(CP%tau0,tmax)
+        tmin=max(TimeSteps%points(2),tmin)
+
+        if (tmax < TimeSteps%points(2)) exit
+        sums(1:SourceNum) = 0
+
+        !As long as we sample the source well enough, it is sufficient to
+        !interpolate the Bessel functions only
+
+        if (SourceNum==2) then
+            !This is the innermost loop, so we separate the no lensing scalar case to optimize it
+            do n= Ranges_IndexOf(TimeSteps,tmin),min(IV%SourceSteps,Ranges_IndexOf(TimeSteps,tmax))
+                a2=aa(n)
+                bes_ix=bes_index(n)
+
+                J_l=a2*ajl(bes_ix,j)+(1-a2)*(ajl(bes_ix+1,j) - ((a2+1) &
+                *ajlpr(bes_ix,j)+(2-a2)*ajlpr(bes_ix+1,j))* fac(n)) !cubic spline
+
+                J_l = J_l*TimeSteps%dpoints(n)
+                sums(1) = sums(1) + IV%Source_q(n,1)*J_l
+                sums(2) = sums(2) + IV%Source_q(n,2)*J_l
+            end do
+        else
+            qmax_int= max(850,lSamp%l(j))*3*AccuracyBoost/CP%tau0
+            if (HighAccuracyDefault) qmax_int=qmax_int*1.2
+            DoInt = .not. CP%WantScalars .or. IV%q < qmax_int
+            if (DoInt) then
+                do n= Ranges_IndexOf(TimeSteps,tmin),min(IV%SourceSteps,Ranges_IndexOf(TimeSteps,tmax))
+                    !Full Bessel integration
+                    a2=aa(n)
+                    bes_ix=bes_index(n)
+
+                    J_l=a2*ajl(bes_ix,j)+(1-a2)*(ajl(bes_ix+1,j) - ((a2+1) &
+                    *ajlpr(bes_ix,j)+(2-a2)*ajlpr(bes_ix+1,j))* fac(n)) !cubic spline
+                    J_l = J_l*TimeSteps%dpoints(n)
+
+                    !The unwrapped form is faster
+                    sums(1) = sums(1) + IV%Source_q(n,1)*J_l
+                    sums(2) = sums(2) + IV%Source_q(n,2)*J_l
+                    sums(3) = sums(3) + IV%Source_q(n,3)*J_l
+                end do
+            end if
+            if (.not. DoInt .or. UseLimber(lsamp%l(j),IV%q) .and. CP%WantScalars) then
+                !Limber approximation for small scale lensing (better than poor version of above integral)
+                xf = CP%tau0-(lSamp%l(j)+0.5_dl)/IV%q
+                if (xf < TimeSteps%Highest .and. xf > TimeSteps%Lowest) then
+                    n=Ranges_IndexOf(TimeSteps,xf)
+                    xf= (xf-TimeSteps%points(n))/(TimeSteps%points(n+1)-TimeSteps%points(n))
+                    sums(3) = (IV%Source_q(n,3)*(1-xf) + xf*IV%Source_q(n+1,3))*sqrt(pi/2/(lSamp%l(j)+0.5_dl))/IV%q
+                else
+                    sums(3)=0
+                end if
+            end if
+        end if
+
+        ThisCT%Delta_p_l_k(1:SourceNum,j,IV%q_ix) = ThisCT%Delta_p_l_k(1:SourceNum,j,IV%q_ix) + sums(1:SourceNum)
+    end do
+
+    end subroutine DoFlatIntegration
+
+
+
+    !non-flat source integration
+
+    subroutine IntegrateSourcesBessels(IV,j,l,nu)
+    use SpherBessels
+    type(IntegrationVars) IV
+    logical DoInt
+    integer l,j, nstart,nDissipative,ntop,nbot,nrange,nnow
+    real(dl) nu,ChiDissipative,ChiStart,tDissipative,y1,y2,y1dis,y2dis
+    real(dl) xf,x,chi, miny1
+    real(dl) sums(SourceNum),out_arr(SourceNum), qmax_int
+
+    !Calculate chi where for smaller chi it is dissipative
+    x=sqrt(real(l*(l+1),dl))/nu
+
+    ChiDissipative=invsinfunc(x)
+
+    ChiStart=ChiDissipative
+    !Move down a bit to get smaller value (better accuracy integrating up from small values)
+    if (nu<300) ChiStart = max(ChiDissipative-1._dl/nu,1d-6)   !max(ChiDissipative-1._dl/nu,1d-6)
+
+    !Then get nearest source point with lower Chi...
+    tDissipative=CP%tau0 - CP%r*ChiStart
+    if (tDissipative<TimeSteps%points(1)) then
+        nDissipative=2
+    else
+        nDissipative = Ranges_IndexOf(TimeSteps,tDissipative)+1
+    endif
+    nDissipative=min(nDissipative,TimeSteps%npoints-1)
+
+    tDissipative = TimeSteps%points(nDissipative)
+
+    ChiStart =  max(1d-8,(CP%tau0-tDissipative)/CP%r)
+
+    !Get values at ChiStart
+
+    call USpherBesselWithDeriv(CP%closed,ChiStart,l,nu,y1dis,y2dis)
+
+    nstart=nDissipative
+    chi=ChiStart
+
+    if ((CP%WantScalars)) then !Do Scalars
+        !Integrate chi down in dissipative region
+        ! cuts off when ujl gets small
+        miny1= 0.5d-4/l/AccuracyBoost
+        sums=0
+        qmax_int= max(850,lSamp%l(j))*3*AccuracyBoost/(CP%chi0*CP%r)
+        if (HighAccuracyDefault) qmax_int=qmax_int*1.2
+        DoInt =  SourceNum/=3 .or. IV%q < qmax_int
+        if (DoInt) then
+            if ((nstart < min(TimeSteps%npoints-1,IV%SourceSteps)).and.(y1dis > miny1)) then
+                y1=y1dis
+                y2=y2dis
+                nnow=nstart
+                do nrange = 1,TimeSteps%Count
+                    if (nrange == TimeSteps%count) then
+                        ntop = TimeSteps%npoints -1
+                    else
+                        ntop = TimeSteps%R(nrange+1)%start_index
+                    end if
+                    if (nnow < ntop) then
+                        call DoRangeInt(IV,chi,ChiDissipative,nnow,ntop,TimeSteps%R(nrange)%delta, &
+                        nu,l,y1,y2,out_arr)
+                        sums  = sums + out_arr
+                        nnow = ntop
+                        if (chi==0) exit !small enough to cut off
+                    end if
+                end do
+            end if !integrate down chi
+
+            !Integrate chi up in oscillatory region
+            if (nstart > 2) then
+                y1=y1dis
+                y2=y2dis
+                chi=ChiStart
+                nnow=nstart
+                do nrange = TimeSteps%Count,1,-1
+                    nbot = TimeSteps%R(nrange)%start_index
+                    if (nnow >  nbot) then
+                        call DoRangeInt(IV,chi,ChiDissipative,nnow,nbot,TimeSteps%R(nrange)%delta, &
+                        nu,l,y1,y2,out_arr)
+                        sums=sums+out_arr
+                        if (chi==0) exit !small for remaining region
+                        nnow = nbot
+                    end if
+                end do
+            end if
+        end if !DoInt
+        if (SourceNum==3 .and. (.not. DoInt .or. UseLimber(l,IV%q))) then
+            !Limber approximation for small scale lensing (better than poor version of above integral)
+            xf = CP%tau0-invsinfunc((l+0.5_dl)/nu)*CP%r
+            if (xf < TimeSteps%Highest .and. xf > TimeSteps%Lowest) then
+                nbot=Ranges_IndexOf(TimeSteps,xf)
+                xf= (xf-TimeSteps%points(nbot))/(TimeSteps%points(nbot+1)-TimeSteps%points(nbot))
+                sums(3) = (IV%Source_q(nbot,3)*(1-xf) + xf*IV%Source_q(nbot+1,3))*&
+                sqrt(pi/2/(l+0.5_dl)/sqrt(1-CP%Ksign*real(l**2)/nu**2))/IV%q
+            else
+                sums(3) = 0
+            end if
+        end if
+
+        ThisCT%Delta_p_l_k(1:SourceNum,j,IV%q_ix)=ThisCT%Delta_p_l_k(1:SourceNum,j,IV%q_ix)+sums
+
+    end if !Do Scalars
+
+    if ((CP%WantTensors)) then !Do Tensors
+        chi=ChiStart
+
+        !Integrate chi down in dissipative region
+        !DoRangeInt cuts off when ujl gets small
+        miny1= 1.d-6/l/AccuracyBoost
+        if ((nstart < TimeSteps%npoints-1).and.(y1dis>miny1)) then
+            y1=y1dis
+            y2=y2dis
+            nnow=nstart
+            do nrange = 1,TimeSteps%Count
+                if (nrange == TimeSteps%count) then
+                    ntop = TimeSteps%npoints -1
+                else
+                    ntop = TimeSteps%R(nrange+1)%start_index
+                end if
+                if (nnow < ntop) then
+                    call DoRangeIntTensor(IV,chi,ChiDissipative,nnow,ntop,TimeSteps%R(nrange)%delta, &
+                    nu,l,y1,y2,out_arr)
+
+                    ThisCT%Delta_p_l_k(1:SourceNum,j,IV%q_ix) = ThisCT%Delta_p_l_k(1:SourceNum,j,IV%q_ix) + out_arr
+
+                    nnow = ntop
+                    if (chi==0) exit
+                end if
+            end do
+        end if
+
+
+        !Integrate chi up in oscillatory region
+        if (nstart > 2) then
+            y1=y1dis
+            y2=y2dis
+            chi=ChiStart
+
+            nnow=nstart
+            do nrange = TimeSteps%Count,1,-1
+                nbot = TimeSteps%R(nrange)%start_index
+                if (nnow >  nbot) then
+                    call DoRangeIntTensor(IV,chi,ChiDissipative,nnow,nbot,TimeSteps%R(nrange)%delta, &
+                    nu,l,y1,y2,out_arr)
+                    ThisCT%Delta_p_l_k(1:SourceNum,j,IV%q_ix) = ThisCT%Delta_p_l_k(1:SourceNum,j,IV%q_ix) + out_arr
+
+                    nnow = nbot
+                    if (chi==0) exit !small for remaining region
+                end if
+            end do
+        end if
+
+    end if !Do Tensors
+
+    end subroutine IntegrateSourcesBessels
+
+
+
+    subroutine DoRangeInt(IV,chi,chiDisp,nstart,nend,dtau,nu,l,y1,y2,out)
+    !Non-flat version
+
+    !returns chi at end of integral (where integral stops, not neccessarily end)
+    ! This subroutine integrates the source*ujl for steps nstart to nend
+    ! It calculates ujl by integrating a second order
+    ! differential equation from initial values.
+    ! dtau is the spacing of the timesteps (they must be equally spaced)
+
+    use precision
+    use ModelParams
+    type(IntegrationVars) IV
+    integer l,nIntSteps,nstart,nend,nlowest,isgn,i,is,Startn
+    real(dl) nu,dtau,num1,num2,Deltachi,aux1,aux2
+    real(dl) a,b,tmpa,tmpb,hh,h6,xh,delchi,taui
+    real(dl) nu2,chi,chiDisp,dydchi1,dydchi2,yt1,yt2,dyt1,dyt2,dym1,dym2
+
+    real(dl) tmp,dtau2o6,y1,y2,ap1,sh,ujl,chiDispTop
+    real(dl) dchimax,dchisource,sgn,sgndelchi,minujl
+    real(dl), parameter:: MINUJl1 = 0.5d-4  !cut-off point for small ujl l=1
+    logical Interpolate
+    real(dl) scalel
+    real(dl) IntAccuracyBoost
+    real(dl) sources(SourceNum), out(SourceNum)
+
+    IntAccuracyBoost=AccuracyBoost
+
+    ! atau0 is the array with the time where the sources are stored.
+    if (nend==nstart) then
+        out = 0
+        return
+    end if
+
+    dchisource=dtau/CP%r
+
+    num1=1._dl/nu
+
+    scalel=l/scale
+    if (scalel>=2400) then
+        num2=num1*2.5
+    else if (scalel< 50) then
+        num2=num1*0.8_dl
+    else
+        num2=num1*1.5_dl
+    end if
+    !Dec 2003, since decrease dtaurec, can make this smaller
+    if (dtau==dtaurec_q) then
+        num2=num2/4
+    end if
+
+    if (HighAccuracyDefault .and. scalel<1500 .and. scalel > 150) &
+    IntAccuracyBoost=IntAccuracyBoost*(1+(2000-scalel)*0.6/2000 )
+
+    if (num2*IntAccuracyBoost < dchisource .and. (.not. WantLateTime .or. UseLimber(l,IV%q)) &
+    .or. (nstart>IV%SourceSteps.and.nend>IV%SourceSteps)) then
+        out = 0
+        y1=0._dl !So we know to calculate starting y1,y2 if there is next range
+        y2=0._dl
+        chi=(CP%tau0-TimeSteps%points(nend))/CP%r
+        return
+    end if
+
+    Startn=nstart
+    if (nstart>IV%SourceSteps .and. nend < IV%SourceSteps) then
+        chi=(CP%tau0-TimeSteps%points(IV%SourceSteps))/CP%r
+        Startn=IV%SourceSteps
+        call USpherBesselWithDeriv(CP%closed,chi,l,nu,y1,y2)
+    else if ((y2==0._dl).and.(y1==0._dl)) then
+        call USpherBesselWithDeriv(CP%closed,chi,l,nu,y1,y2)
+    end if
+
+    if (CP%closed) then
+        !Need to cut off when ujl gets exponentially small as it approaches Pi
+        chiDispTop = pi - chiDisp
+    else
+        chiDispTop = 1d20
+    end if
+
+    minujl=MINUJl1/l/IntAccuracyBoost
+    isgn=sign(1,Startn-nend)!direction of chi integration
+    !higher n, later time, smaller chi
+
+    sgn= isgn
+
+    nlowest=min(Startn,nend)
+    aux1=1._dl*CP%r/dtau  !used to calculate nearest timestep quickly
+    aux2=(CP%tau0-TimeSteps%points(nlowest))/dtau + nlowest
+
+    nu2=nu*nu
+    ap1=l*(l+1)
+    sh=rofChi(chi)
+
+    if (scalel < 1100) then
+        dchimax= 0.3*num1
+    else if (scalel < 1400) then
+        dchimax=0.25_dl*num1 *1.5
+    else
+        dchimax=0.35_dl*num1 *1.5
+    end if
+
+    dchimax=dchimax/IntAccuracyBoost
+
+    ujl=y1/sh
+    sources = IV%Source_q(Startn,1:SourceNum)
+
+    out = 0.5_dl*ujl*sources
+
+    Interpolate = dchisource > dchimax
+    if (Interpolate) then !split up smaller than source step size
+        delchi=dchimax
+        Deltachi=sgn*(TimeSteps%points(Startn)-TimeSteps%points(nend))/CP%r
+        nIntSteps=int(Deltachi/delchi+0.99_dl)
+        delchi=Deltachi/nIntSteps
+        dtau2o6=(CP%r*delchi)**2/6._dl
+    else !step size is that of source
+        delchi=dchisource
+        nIntSteps=isgn*(Startn-nend)
+    end if
+
+    sgndelchi=delchi*sgn
+    tmp=(ap1/sh**2 - nu2)
+    hh=0.5_dl*sgndelchi
+    h6=sgndelchi/6._dl
+
+
+    do i=1,nIntSteps
+        ! One step in the ujl integration
+        ! fourth-order Runge-Kutta method to integrate equation for ujl
+
+        dydchi1=y2         !deriv y1
+        dydchi2=tmp*y1     !deriv y2
+        xh=chi+hh          !midpoint of step
+        yt1=y1+hh*dydchi1  !y1 at midpoint
+        yt2=y2+hh*dydchi2  !y2 at midpoint
+        dyt1=yt2           !deriv y1 at mid
+        tmp=(ap1/rofChi(xh)**2 - nu2)
+
+
+        dyt2=tmp*yt1       !deriv y2 at mid
+
+        yt1=y1+hh*dyt1     !y1 at mid
+        yt2=y2+hh*dyt2     !y2 at mid
+
+        dym1=yt2           !deriv y1 at mid
+        dym2=tmp*yt1       !deriv y2 at mid
+        yt1=y1+sgndelchi*dym1 !y1 at end
+        dym1=dyt1+dym1
+        yt2=y2+sgndelchi*dym2 !y2 at end
+        dym2=dyt2+dym2
+
+        chi=chi+sgndelchi     !end point
+        sh=rofChi(chi)
+        dyt1=yt2           !deriv y1 at end
+        tmp=(ap1/sh**2 - nu2)
+        dyt2=tmp*yt1       !deriv y2 at end
+        y1=y1+h6*(dydchi1+dyt1+2*dym1) !add up
+        y2=y2+h6*(dydchi2+dyt2+2*dym2)
+
+        ujl=y1/sh
+        if ((isgn<0).and.(y1*y2<0._dl).or.((chi>chiDispTop).and.((chi>3.14).or.(y1*y2>0)))) then
+            chi=0._dl
+            exit   !If this happens we are small, so stop integration
+        end if
+
+
+        if (Interpolate) then
+            ! Interpolate the source
+            taui=aux2-aux1*chi
+            is=int(taui)
+            b=taui-is
+
+            if (b > 0.998) then
+                !may save time, and prevents numerical error leading to access violation of IV%Source_q(0)
+                sources = IV%Source_q(is+1,1:SourceNum)
+            else
+                a=1._dl-b
+                tmpa=(a**3-a)
+                tmpb=(b**3-b)
+                sources=a*IV%Source_q(is,1:SourceNum)+b*IV%Source_q(is+1,1:SourceNum)+ &
+                (tmpa*IV%ddSource_q(is,1:SourceNum)+ &
+                tmpb*IV%ddSource_q(is+1,1:SourceNum))*dtau2o6
+            end if
+        else
+            sources = IV%Source_q(Startn - i*isgn,1:SourceNum)
+        end if
+
+        out = out + ujl*sources
+
+        if (((isgn<0).or.(chi>chiDispTop)).and.(abs(ujl) < minujl)) then
+            chi=0
+            exit !break when getting  exponentially small in dissipative region
+        end if
+    end do
+
+    out = (out - sources*ujl/2)*delchi*CP%r
+
+    end subroutine DoRangeInt
+
+    subroutine DoRangeIntTensor(IV,chi,chiDisp,nstart,nend,dtau,nu,l,y1,y2,out)
+    ! It calculates ujl by integrating a second order
+    ! differential equation from initial values for calculating ujl.
+    ! nstart and nend are the starting and finishing values of the
+    ! integration.
+    ! dtau is the spacing of the timesteps (they must be equally spaced)
+
+    use precision
+    use ModelParams
+    type(IntegrationVars), target :: IV
+    integer l,nIntSteps,nstart,nend,nlowest,isgn,i,is
+    real(dl) nu,dtau,num1,num2,Deltachi,aux1,aux2
+    real(dl) a,b,tmpa,tmpb,hh,h6,xh,delchi,taui,scalel
+    real(dl) nu2,chi,chiDisp,chiDispTop
+    real(dl) dydchi1,dydchi2,yt1,yt2,dyt1,dyt2,dym1,dym2
+
+    real(dl) tmp,dtau2o6,y1,y2,ap1,sh,ujl
+    real(dl) dchimax,dchisource,sgn,sgndelchi,minujl
+    real(dl), parameter:: MINUJl1 = 1.D-6  !cut-off point for smal ujl l=1
+    logical Interpolate
+    real(dl) out(SourceNum), source(SourceNum)
+    real(dl), dimension(:,:), pointer :: sourcep, ddsourcep
+
+    sourcep => IV%Source_q(:,1:)
+    ddsourcep => IV%ddSource_q(:,1:)
+
+
+    if (nend==nstart) then
+        out=0
+        return
+    end if
+    minujl=MINUJL1*AccuracyBoost/l
+    isgn=sign(1,nstart-nend)!direction of chi integration
+    !higher n, later time, smaller chi
+
+    if (CP%closed) then
+        !Need to cut off when ujl gets exponentially small as it approaches Pi
+        chiDispTop = pi - chiDisp
+    else
+        chiDispTop = 1d20
+    end if
+
+    num1=1._dl/nu
+    dchisource=dtau/CP%r
+
+    scalel=l/scale
+    if (scalel>=2000) then
+        num2=num1*4
+    else if (scalel>=1000) then
+        num2=num1*2.5
+    else if (scalel< 75) then
+        num2=num1*0.1_dl
+    else if (scalel<180) then
+        num2=num1*0.3_dl
+    else if (scalel < 600) then
+        num2=num1*0.8_dl
+    else
+        num2=num1
+    end if
+
+    if ((isgn==1).and.(num2*AccuracyBoost < dchisource)) then  !Oscillating fast
+        out = 0
+        y1=0._dl !!So we know to calculate starting y1,y2 if there is next range
+        y2=0._dl
+        chi=(CP%tau0-TimeSteps%points(nend))/CP%r
+        return
+    end if
+    if ((y2==0._dl).and.(y1==0._dl)) call USpherBesselWithDeriv(CP%closed,chi,l,nu,y1,y2)
+
+    sgn=isgn
+
+    nlowest=min(nstart,nend)
+    aux1=1._dl*CP%r/dtau  !used to calculate nearest timestep quickly
+    aux2=(CP%tau0-TimeSteps%points(nlowest))/dtau + nlowest
+
+
+    nu2=nu*nu
+    ap1=l*(l+1)
+
+    sh=rofChi(chi)
+
+    if (scalel < 120) then
+        dchimax=0.6_dl*num1
+    else if (scalel < 1400) then
+        dchimax=0.25_dl*num1
+    else
+        dchimax=0.35_dl*num1
+    end if
+
+    dchimax=dchimax/AccuracyBoost
+
+    ujl=y1/sh
+    out = ujl * sourcep(nstart,1:SourceNum)/2
+
+    Interpolate = dchisource > dchimax
+    if (Interpolate) then !split up smaller than source step size
+        delchi=dchimax
+        Deltachi=sgn*(TimeSteps%points(nstart)-TimeSteps%points(nend))/CP%r
+        nIntSteps=int(Deltachi/delchi+0.99_dl)
+        delchi=Deltachi/nIntSteps
+        dtau2o6=(CP%r*delchi)**2/6._dl
+    else !step size is that of source
+        delchi=dchisource
+        nIntSteps=isgn*(nstart-nend)
+    end if
+
+
+    sgndelchi=delchi*sgn
+    tmp=(ap1/sh**2 - nu2)
+    hh=0.5_dl*sgndelchi
+    h6=sgndelchi/6._dl
+
+
+    do i=1,nIntSteps
+        ! One step in the ujl integration
+        ! fourth-order Runge-Kutta method to integrate equation for ujl
+
+        dydchi1=y2         !deriv y1
+        dydchi2=tmp*y1     !deriv y2
+        xh=chi+hh          !midpoint of step
+        yt1=y1+hh*dydchi1  !y1 at midpoint
+        yt2=y2+hh*dydchi2  !y2 at midpoint
+        dyt1=yt2           !deriv y1 at mid
+        tmp=(ap1/rofChi(xh)**2 - nu2)
+
+
+        dyt2=tmp*yt1       !deriv y2 at mid
+        yt1=y1+hh*dyt1     !y1 at mid
+        yt2=y2+hh*dyt2     !y2 at mid
+
+        dym1=yt2           !deriv y1 at mid
+        dym2=tmp*yt1       !deriv y2 at mid
+        yt1=y1+sgndelchi*dym1 !y1 at end
+        dym1=dyt1+dym1
+        yt2=y2+sgndelchi*dym2 !y2 at end
+        dym2=dyt2+dym2
+
+        chi=chi+sgndelchi     !end point
+        sh=rofChi(chi)
+        dyt1=yt2           !deriv y1 at end
+        tmp=(ap1/sh**2 - nu2)
+        dyt2=tmp*yt1       !deriv y2 at end
+        y1=y1+h6*(dydchi1+dyt1+2._dl*dym1) !add up
+        y2=y2+h6*(dydchi2+dyt2+2._dl*dym2)
+
+        ujl=y1/sh
+        if ((isgn<0).and.(y1*y2<0._dl).or.((chi>chiDispTop).and.((chi>3.14).or.(y1*y2>0)))) then
+            chi=0._dl
+            exit   !exit because ujl now small
+        end if
+
+        if (Interpolate) then
+            ! Interpolate the source
+            taui=aux2-aux1*chi
+            is=int(taui)
+            b=taui-is
+            if (b > 0.995) then
+                !may save time, and prevents numerical error leading to access violation of zero index
+                is=is+1
+                source = sourcep(is,1:SourceNum)
+            else
+                a=1._dl-b
+                tmpa=(a**3-a)
+                tmpb=(b**3-b)
+                source = a*sourcep(is,1:SourceNum)+b*sourcep(is+1,1:SourceNum)+ &
+                (tmpa*ddsourcep(is,1:SourceNum) +  tmpb*ddsourcep(is+1,1:SourceNum))*dtau2o6
+            end if
+        else
+            source = sourcep(nstart - i*isgn,1:SourceNum)
+        end if
+        out = out + source * ujl
+
+        if (((isgn<0).or.(chi>chiDispTop)).and.(abs(ujl) < minujl)) then
+            chi=0
+            exit  !break when getting  exponentially small in dissipative region
+        end if
+    end do
+
+    out = (out - source * ujl /2)*delchi*CP%r
+
+    end subroutine DoRangeIntTensor
+
+    subroutine GetInitPowerArrayVec(pows,ks, numks,pix)
+    integer, intent(in) :: numks, pix
+    real(dl) pows(numks), ks(numks)
+    integer i
+
+    do i = 1, numks
+        !!change to vec...
+        pows(i) =  ScalarPower(ks(i) ,pix)
+        if (global_error_flag/=0) exit
+    end do
+
+    end subroutine GetInitPowerArrayVec
+
+
+    subroutine GetInitPowerArrayTens(pows,ks, numks,pix)
+    integer, intent(in) :: numks, pix
+    real(dl) pows(numks), ks(numks)
+    integer i
+
+    do i = 1, numks
+        pows(i) =  TensorPower(ks(i) ,pix)
+        if (global_error_flag/=0) exit
+    end do
+
+    end subroutine GetInitPowerArrayTens
+
+
+    subroutine CalcScalCls(CTrans)
+    use Bispectrum
+    implicit none
+    Type(ClTransferData) :: CTrans
+    integer pix,j, q_ix, w_ix, w_ix2
+    real(dl) apowers
+    real(dl) dlnk, ell, ctnorm, dbletmp, Delta1, Delta2
+    real(dl), allocatable :: ks(:), dlnks(:), pows(:)
+
+    allocate(ks(CTrans%q%npoints),dlnks(CTrans%q%npoints), pows(CTrans%q%npoints))
+
+    do pix=1,CP%InitPower%nn
+        do q_ix = 1, CTrans%q%npoints
+            if (CP%flat) then
+                ks(q_ix) = CTrans%q%points(q_ix)
+                dlnks(q_ix) = CTrans%q%dpoints(q_ix)/CTrans%q%points(q_ix)
+            else
+                ks(q_ix) = sqrt(CTrans%q%points(q_ix)**2 - CP%curv)
+                dlnks(q_ix) = CTrans%q%dpoints(q_ix)*CTrans%q%points(q_ix)/ks(q_ix)**2
+            end if
+            pows(q_ix) =  ScalarPower(ks(q_ix) ,pix)
+            if (global_error_flag/=0) return
+        end do
+
+        !Seems not to OMP well.. comment
+        !OMP PARAllEl DO DEFAUlT(SHARED),SCHEDUlE(STATIC,4) &
+        !OMP & PRIVATE(j,q_ix,dlnk,apowers,ctnorm,dbletmp)
+        do j=1,CTrans%ls%l0
+            !Integrate dk/k Delta_l_q**2 * Power(k)
+            ell = real(CTrans%ls%l(j),dl)
+            if (j<= CTrans%max_index_nonlimber) then
+                do q_ix = 1, CTrans%q%npoints
+                    if (.not.(CP%closed.and.nint(CTrans%q%points(q_ix)*CP%r)<=CTrans%ls%l(j))) then
+                        !cut off at nu = l + 1
+                        dlnk = dlnks(q_ix)
+                        apowers = pows(q_ix)
+
+                        iCl_scalar(j,C_Temp:C_E,pix) = iCl_scalar(j,C_Temp:C_E,pix) +  &
+                        apowers*CTrans%Delta_p_l_k(1:2,j,q_ix)**2*dlnk
+                        iCl_scalar(j,C_Cross,pix) = iCl_scalar(j,C_Cross,pix) + &
+                        apowers*CTrans%Delta_p_l_k(1,j,q_ix)*CTrans%Delta_p_l_k(2,j,q_ix)*dlnk
+
+                        if (CTrans%NumSources>2 .and. has_cl_2D_array) then
+                            ctnorm=sqrt((ell*ell-1)*(ell+2)*ell)
+                            dbletmp=(ell*(ell+1))/OutputDenominator*fourpi
+
+                            do w_ix=1,3 + num_redshiftwindows
+                                Delta1= CTrans%Delta_p_l_k(w_ix,j,q_ix)
+                                if (w_ix == 2) Delta1=Delta1*ctnorm
+
+                                do w_ix2=1,3 + num_redshiftwindows
+                                    if (w_ix2>= 3.and. w_ix>=3) then
+                                        !Skip if the auto or cross-correlation is included in direct Limber result
+                                        !Otherwise we need to include the sources e.g. to get counts-Temperature correct
+                                        if (CTrans%limber_l_min(w_ix2)/= 0 .and. j>=CTrans%limber_l_min(w_ix2) &
+                                        .and. CTrans%limber_l_min(w_ix)/= 0 .and. j>=CTrans%limber_l_min(w_ix)) cycle
+                                    end if
+                                    Delta2=  CTrans%Delta_p_l_k(w_ix2,j,q_ix)
+                                    if (w_ix2 == 2) Delta2=Delta2*ctnorm
+                                    iCl_Array(j,w_ix,w_ix2,pix) = iCl_Array(j,w_ix,w_ix2,pix)+Delta1*Delta2*apowers*dlnk*dbletmp
+                                end do
+                            end do
+                        end if
+
+                        if (CTrans%NumSources>2 ) then
+                            if (limber_phiphi==0 .or.  CTrans%limber_l_min(3)== 0 .or. j<CTrans%limber_l_min(3)) then
+                                iCl_scalar(j,C_Phi,pix) = iCl_scalar(j,C_Phi,pix) +  &
+                                apowers*CTrans%Delta_p_l_k(3,j,q_ix)**2*dlnk
+                                iCl_scalar(j,C_PhiTemp,pix) = iCl_scalar(j,C_PhiTemp,pix) +  &
+                                apowers*CTrans%Delta_p_l_k(3,j,q_ix)*CTrans%Delta_p_l_k(1,j,q_ix)*dlnk
+                                iCl_scalar(j,C_PhiE,pix) = iCl_scalar(j,C_PhiE,pix) +  &
+                                apowers*CTrans%Delta_p_l_k(3,j,q_ix)*CTrans%Delta_p_l_k(2,j,q_ix)*dlnk
+                            end if
+                        end if
+                    end if
+                end do
+
+            end if !limber (j<= max_bessels_l_index)
+
+            !Output l(l+1)C_l/OutputDenominator
+            ctnorm=(ell*ell-1)*(ell+2)*ell
+            dbletmp=(ell*(ell+1))/OutputDenominator*fourpi
+
+            iCl_scalar(j,C_Temp,pix)  =  iCl_scalar(j,C_Temp,pix)*dbletmp
+            iCl_scalar(j,C_E,pix)     =  iCl_scalar(j,C_E,pix)*dbletmp*ctnorm
+            iCl_scalar(j,C_Cross,pix) =  iCl_scalar(j,C_Cross,pix)*dbletmp*sqrt(ctnorm)
+            if (CTrans%NumSources>2) then
+                iCl_scalar(j,C_Phi,pix) = ALens*iCl_scalar(j,C_Phi,pix)*fourpi*ell**4
+                !The lensing power spectrum computed is l^4 C_l^{\phi\phi}
+                !We put pix extra factors of l here to improve interpolation in CTrans%ls%l
+                iCl_scalar(j,C_PhiTemp,pix) = sqrt(ALens)*  iCl_scalar(j,C_PhiTemp,pix)*fourpi*ell**3
+                !Cross-correlation is CTrans%ls%l^3 C_l^{\phi T}
+                iCl_scalar(j,C_PhiE,pix) = sqrt(ALens)*  iCl_scalar(j,C_PhiE,pix)*fourpi*ell**3*sqrt(ctnorm)
+                !Cross-correlation is CTrans%ls%l^3 C_l^{\phi E}
+            end if
+!            print*, 'writing cls in cmbmain.f90'
+!            write(80,*) ell, iCl_scalar(j,C_Temp,pix)**dbletmp
+        end do
+        !OMP END PARAllEl DO
+    end do
+    deallocate(ks,pows,dlnks)
+
+    end subroutine CalcScalCls
+
+    subroutine CalcScalCls2(CTrans)
+    !Calculate C_ll' for non-isotropic models
+    !Run with l_sample_boost=50 to get every l
+    !not used in normal CAMB
+    implicit none
+    Type(ClTransferData) :: CTrans
+    integer j,j2,in
+    real(dl) apowers, pows(CTrans%q%npoints)
+    integer q_ix
+    real(dl)  ks(CTrans%q%npoints),dlnks(CTrans%q%npoints),dlnk
+    real(dl) ctnorm,dbletmp
+    real(dl), allocatable :: iCl_Scalar2(:,:,:,:)
+
+    allocate(iCl_Scalar2(CTranS%ls%l0,CTrans%ls%l0,C_Temp:C_last,CP%InitPower%nn))
+    iCl_scalar2 = 0
+
+    do in=1,CP%InitPower%nn
+        do q_ix = 1, CTrans%q%npoints
+            if (CP%flat) then
+                ks(q_ix) = CTrans%q%points(q_ix)
+                dlnks(q_ix) = CTrans%q%dpoints(q_ix)/CTrans%q%points(q_ix)
+            else
+                ks(q_ix) = sqrt(CTrans%q%points(q_ix)**2 - CP%curv)
+                dlnks(q_ix) = CTrans%q%dpoints(q_ix)*CTrans%q%points(q_ix)/ks(q_ix)**2
+            end if
+
+            pows(q_ix) =  ScalarPower(ks(q_ix) ,in)
+            if (global_error_flag/=0) return
+        end do
+
+        do j=1,CTrans%ls%l0
+            do j2=1,CTrans%ls%l0
+                !Integrate dk/k Delta_l_q**2 * Power(k)
+                do q_ix = 1, CTrans%q%npoints
+                    if (.not.(CP%closed.and.nint(CTrans%q%points(q_ix)*CP%r)<= CTrans%ls%l(j))) then
+                        !cut off at nu = l + 1
+                        dlnk = dlnks(q_ix)
+                        apowers = pows(q_ix)
+
+                        iCl_scalar2(j,j2,C_Temp:C_E,in) = iCl_scalar2(j,j2,C_Temp:C_E,in) +  &
+                        apowers*CTrans%Delta_p_l_k(1:2,j,q_ix)*CTrans%Delta_p_l_k(1:2,j2,q_ix)*dlnk
+                        iCl_scalar2(j,j2,C_Cross,in) = iCl_scalar2(j,j2,C_Cross,in) + &
+                        apowers*CTrans%Delta_p_l_k(1,j,q_ix)*CTrans%Delta_p_l_k(2,j2,q_ix)*dlnk
+                    end if
+                end do
+
+                !Output l(l+1)C_l/OutputDenominator
+
+                !ctnorm = (CTrans%ls%l+2)!/(CTrans%ls%l-2)! - beware of int overflow
+                ctnorm=(CTrans%ls%l(j)*CTrans%ls%l(j)-1)*real((CTrans%ls%l(j)+2)*CTrans%ls%l(j),dl)
+                ctnorm=sqrt(ctnorm*(CTrans%ls%l(j2)*CTrans%ls%l(j2)-1)*real((CTrans%ls%l(j2)+2)*CTrans%ls%l(j2),dl))
+
+                dbletmp=(CTrans%ls%l(j)*(CTrans%ls%l(j)+1))/OutputDenominator*fourpi
+                dbletmp=sqrt(dbletmp*(CTrans%ls%l(j2)*(CTrans%ls%l(j2)+1))/OutputDenominator*fourpi  )
+
+                iCl_scalar2(j,j2,C_Temp,in)  =  iCl_scalar2(j,j2,C_Temp,in)*dbletmp
+                iCl_scalar2(j,j2,C_E,in)     =  iCl_scalar2(j,j2,C_E,in)*dbletmp*ctnorm
+                iCl_scalar2(j,j2,C_Cross,in) =  iCl_scalar2(j,j2,C_Cross,in)*dbletmp*sqrt(ctnorm)
+            end do
+        end do
+    end do
+
+    call CreateTxtFile('z:\cl2.dat',1)
+    do j=1,CTrans%ls%l0
+        do j2=1,CTrans%ls%l0
+            write (1,*) CTrans%ls%l(j),CTrans%ls%l(j2),iCl_scalar2(j,j2,1,1)*7.4311e12
+        end do
+    end do
+    close(1)
+    call CreateTxtFile('cl1l2.dat',1)
+    do j=1,999
+        write (1,'(999E15.5)') iCl_scalar2(j,1:999,1,1)*7.4311e12
+    end do
+    stop
+
+    end subroutine CalcScalCls2
+
+
+    subroutine CalcTensCls(CTrans, GetInitPowers)
+    implicit none
+    Type(ClTransferData) :: CTrans
+    external GetInitPowers
+    integer in,j, q_ix
+    real(dl) nu
+    real(dl) apowert,  measure
+    real(dl) ctnorm,dbletmp
+    real(dl) pows(CTrans%q%npoints)
+    real(dl)  ks(CTrans%q%npoints),measures(CTrans%q%npoints)
+
+    !For tensors we want Integral dnu/nu (nu^2-3)/(nu^2-1) Delta_l_k^2 P(k) for CP%closed
+
+    do in=1,CP%InitPower%nn
+        do q_ix = 1, CTrans%q%npoints
+            if (CP%flat) then
+                ks(q_ix) = CTrans%q%points(q_ix)
+                measures(q_ix) = CTrans%q%dpoints(q_ix)/CTrans%q%points(q_ix)
+            else
+                nu = CTrans%q%points(q_ix)*CP%r
+                ks(q_ix) = sqrt(CTrans%q%points(q_ix)**2 - 3*CP%curv)
+                measures(q_ix) = CTrans%q%dpoints(q_ix)/CTrans%q%points(q_ix)*(nu**2-3*CP%Ksign)/(nu**2-CP%Ksign)
+            end if
+        end do
+
+        call GetInitPowers(pows,ks,CTrans%q%npoints,in)
+
+        !$OMP PARAllEl DO DEFAUlT(SHARED),SCHEDUlE(STATIC,4) &
+        !$OMP & PRIVATE(j,q_ix,measure,apowert,ctnorm,dbletmp)
+        do j=1,CTrans%ls%l0
+            do q_ix = 1, CTrans%q%npoints
+                if (.not.(CP%closed.and. nint(CTrans%q%points(q_ix)*CP%r)<=CTrans%ls%l(j))) then
+                    !cut off at nu = l+1
+                    apowert = pows(q_ix)
+                    measure = measures(q_ix)
+
+                    iCl_tensor(j,CT_Temp:CT_B,in) = iCl_tensor(j,CT_Temp:CT_B,in) + &
+                    apowert*CTrans%Delta_p_l_k(CT_Temp:CT_B,j,q_ix)**2*measure
+
+                    iCl_tensor(j,CT_cross, in ) = iCl_tensor(j,CT_cross, in ) &
+                    +apowert*CTrans%Delta_p_l_k(CT_Temp,j,q_ix)*CTrans%Delta_p_l_k(CT_E,j,q_ix)*measure
+                end if
+            end do
+
+            ctnorm=(CTrans%ls%l(j)*CTrans%ls%l(j)-1)*real((CTrans%ls%l(j)+2)*CTrans%ls%l(j),dl)
+            dbletmp=(CTrans%ls%l(j)*(CTrans%ls%l(j)+1))/OutputDenominator*pi/4
+            iCl_tensor(j, CT_Temp, in) = iCl_tensor(j, CT_Temp, in)*dbletmp*ctnorm
+            if (CTrans%ls%l(j)==1) dbletmp=0
+            iCl_tensor(j, CT_E:CT_B, in) = iCl_tensor(j, CT_E:CT_B, in)*dbletmp
+            iCl_tensor(j, CT_Cross, in)  = iCl_tensor(j, CT_Cross, in)*dbletmp*sqrt(ctnorm)
+        end do
+    end do
+
+    end subroutine CalcTensCls
+
+
+    subroutine CalcVecCls(CTrans, GetInitPowers)
+    implicit none
+    Type(ClTransferData) :: CTrans
+    external GetInitPowers
+    integer in,j, q_ix
+    real(dl) power,  measure
+    real(dl) ctnorm,lfac,dbletmp
+    real(dl) pows(CTrans%q%npoints)
+    real(dl)  ks(CTrans%q%npoints),measures(CTrans%q%npoints)
+
+    do in=1,CP%InitPower%nn
+        do q_ix = 1, CTrans%q%npoints
+            ks(q_ix) = CTrans%q%points(q_ix)
+            measures(q_ix) = CTrans%q%dpoints(q_ix)/CTrans%q%points(q_ix)
+        end do
+
+        call GetInitPowers(pows,ks,CTrans%q%npoints,in)
+
+        !$OMP PARAllEl DO DEFAUlT(SHARED),SCHEDUlE(STATIC,4) &
+        !$OMP & PRIVATE(j,q_ix,measure,power,ctnorm,dbletmp,lfac)
+        do j=1,CTrans%ls%l0
+            do q_ix = 1, CTrans%q%npoints
+                if (.not.(CP%closed.and. nint(CTrans%q%points(q_ix)*CP%r)<=CTrans%ls%l(j))) then
+                    !cut off at nu = l+1
+                    power = pows(q_ix)
+                    measure = measures(q_ix)
+
+                    iCl_vector(j,CT_Temp:CT_B,in) = iCl_vector(j,CT_Temp:CT_B,in) + &
+                    power*CTrans%Delta_p_l_k(CT_Temp:CT_B,j,q_ix)**2*measure
+
+                    iCl_vector(j,CT_cross, in ) = iCl_vector(j,CT_cross, in ) &
+                    +power*CTrans%Delta_p_l_k(CT_Temp,j,q_ix)*CTrans%Delta_p_l_k(CT_E,j,q_ix)*measure
+                end if
+            end do
+
+            ctnorm=CTrans%ls%l(j)*(CTrans%ls%l(j)+1)
+            dbletmp=(CTrans%ls%l(j)*(CTrans%ls%l(j)+1))/OutputDenominator*pi/8
+            iCl_vector(j, CT_Temp, in)   = iCl_vector(j, CT_Temp, in)*dbletmp*ctnorm
+            lfac = (CTrans%ls%l(j) + 2)*(CTrans%ls%l(j) - 1)
+            iCl_vector(j, CT_E:CT_B, in) = iCl_vector(j, CT_E:CT_B, in)*dbletmp*lfac
+            iCl_vector(j, CT_Cross, in)  = iCl_vector(j, CT_Cross, in)*dbletmp*sqrt(lfac*ctnorm)
+        end do
+    end do
+
+    end subroutine CalcVecCls
+
+
+    subroutine InterpolateCls(CTransS,CTransT,CTransV)
+    implicit none
+    Type(ClTransferData) :: CTransS, CTransT, CTransV
+    integer in,i,j
+    integer, dimension(2,2), parameter :: ind = reshape( (/ 1,3,3,2 /), shape(ind))
+    !use verbose form above for gfortran consistency  [[1,3],[3,2]]
+
+    !Note using log interpolation is worse
+
+    !$OMP PARALLEL DO DEFAULT(SHARED), PRIVATE(i,j,in), SHARED(CTransS,CTransT),IF(CP%InitPower%nn > 1)
+    !! RH NB WE HAVE REMOVED THE INTERPOLATION
+
+    do in=1,CP%InitPower%nn
+        if (CP%WantScalars) then
+            do i = C_Temp, C_last
+                call InterpolateClArr(CTransS%ls,iCl_scalar(1,i,in),Cl_scalar(lmin, in, i), &
+                CTransS%ls%l0)
+            end do
+            if (CTransScal%NumSources>2 .and. has_cl_2D_array) then
+                do i=1,3+num_redshiftwindows
+                    do j=i,3+num_redshiftwindows
+                        if (i<3 .and. j<3) then
+                            Cl_scalar_array(:,in,i,j) = Cl_scalar(:, in, ind(i,j))
+                        else
+                            call InterpolateClArr(CTransS%ls,iCl_array(1,i,j,in), &
+                            Cl_scalar_array(lmin, in, i,j),CTransS%ls%l0)
+                        end if
+                        if (i/=j) Cl_scalar_array(:,in,j,i) = Cl_scalar_array(:,in,i,j)
+                    end do
+                end do
+            end if
+
+        end if
+
+        if (CP%WantVectors) then
+            do i = C_Temp, CT_cross
+                call InterpolateClArr(CTransV%ls,iCl_vector(1,i,in),Cl_vector(lmin, in, i),CTransV%ls%l0)
+            end do
+        end if
+
+        if (CP%WantTensors) then
+            do i = CT_Temp, CT_Cross
+                call InterpolateClArr(CTransT%ls,iCl_tensor(1,i,in),Cl_tensor(lmin, in, i), CTransT%ls%l0)
+            end do
+        end if
+    end do
+    !$OMP END PARALLEL DO
+    end subroutine InterpolateCls
+
+
+    end module CAMBmain
diff --git a/constants.f90 b/constants.f90
new file mode 100644
index 0000000..d5036b0
--- /dev/null
+++ b/constants.f90
@@ -0,0 +1,93 @@
+
+
+   module Precision
+      implicit none
+
+      integer, parameter :: dl = KIND(1.d0)
+      integer, parameter :: sp = KIND(1.0)
+   end module Precision
+
+  
+   module constants
+       use precision
+       implicit none
+      
+       real(dl), parameter :: const_pi = 3.1415926535897932384626433832795_dl
+       real(dl), parameter :: const_twopi=2._dl*const_pi, const_fourpi=4._dl*const_pi
+       real(dl), parameter :: const_sqrt6=2.4494897427831780981972840747059_dl
+
+       real(dl), parameter :: c = 2.99792458e8_dl
+       real(dl), parameter :: h_P = 6.62606896e-34_dl
+        
+       real(dl), parameter :: G=6.6738e-11_dl !data book 2012, last digit +/-8
+       real(dl), parameter :: sigma_thomson = 6.6524616e-29_dl
+       real(dl), parameter :: sigma_boltz = 5.6704e-8_dl
+       real(dl), parameter :: k_B = 1.3806504e-23_dl
+       real(dl), parameter :: elecV = 1.60217646e-19_dl
+
+
+       real(dl), parameter :: m_p = 1.672621637e-27_dl ! 1.672623e-27_dl
+       real(dl), parameter :: m_H = 1.673575e-27_dl !av. H atom
+       real(dl), parameter :: m_e = 9.10938215e-31_dl
+       real(dl), parameter :: mass_ratio_He_H = 3.9715_dl
+ 
+
+       real(dl), parameter :: Gyr=3.1556926e16_dl
+       real(dl), parameter :: Mpc = 3.085678e22_dl !seem to be different definitions of this?
+       real(dl), parameter :: MPC_in_sec = Mpc/c ! Mpc/c = 1.029272d14 in SI units
+
+       real(dl), parameter :: barssc0= k_B / m_p / c**2
+       real(dl), parameter :: kappa=8._dl*const_pi*G
+       real(dl), parameter :: a_rad = 8._dl*const_pi**5*k_B**4/15/c**3/h_p**3
+                !7.565914e-16_dl !radiation constant for u=aT^4
+
+
+       real(dl), parameter :: Compton_CT = MPC_in_sec*(8.d0/3.d0)*(sigma_thomson/(m_e*c))*a_rad
+        !Compton_CT is CT in Mpc units, (8./3.)*(sigma_T/(m_e*C))*a_R in Mpc
+        !Used to get evolution of matter temperature
+        
+       !For 21cm
+       real(dl), parameter :: f_21cm = 1420.40575e6_dl, l_21cm= c/f_21cm, T_21cm = h_P*f_21cm/k_B
+       real(dl), parameter :: A10 = 2.869e-15, B10 = l_21cm**3/2/h_P/c*A10
+
+       real(dl), parameter :: line21_const = 3*l_21cm**2*C*h_P/32/const_pi/k_B*A10 * Mpc_in_sec * 1000
+        !1000 to get in MiliKelvin
+       real(dl), parameter :: COBE_CMBTemp = 2.7255_dl !(Fixsen 2009) used as default value
+       real(dl), parameter :: default_nnu = 3.046_dl
+
+   end module constants
+
+
+    module Errors
+     implicit none
+     
+     integer :: global_error_flag=0
+     character(LEN=1024) :: global_error_message = ''
+     integer, parameter :: error_reionization=1
+     integer, parameter :: error_recombination=2
+     integer, parameter :: error_inital_power=3
+     integer, parameter :: error_evolution=4
+     integer, parameter :: error_unsupported_params=5
+     
+    contains
+      
+      subroutine GlobalError(message, id)
+       character(LEN=*), intent(IN), optional :: message
+       integer, intent(in), optional :: id
+       
+       if (present(message)) then
+        global_error_message = message
+       else
+        global_error_message=''
+       end if
+       if (present(id)) then
+         if (id==0) stop 'Error id must be non-zero'
+         global_error_flag=id
+       else
+         global_error_flag=-1
+       end if
+      
+      end subroutine GlobalError
+  
+    end module Errors
+    
diff --git a/cosmorec.F90 b/cosmorec.F90
new file mode 100644
index 0000000..57b059c
--- /dev/null
+++ b/cosmorec.F90
@@ -0,0 +1,224 @@
+    !---------------------------------------------------------------------------------------------------
+    ! Recombination module for CAMB, using CosmoRec 
+    ! Author: Richard Shaw (CITA)
+    !---------------------------------------------------------------------------------------------------
+    ! 08.06.2012: added possibility to communicate Hubble (Jens Chluba)
+    ! 12.06.2012: AL, changed interface to pass nnu directly; fixed spline extrapolation
+
+    module Recombination
+    use constants
+    use AMLUtils
+    implicit none
+    private
+
+    type RecombinationParams
+
+        integer :: runmode
+        real(dl) :: fdm  ! Dark matter annihilation efficiency
+
+        ! Internal accuracy of CosmoRec (0 - normal, 3 - most accurate
+        ! other values defined in CosmoRec.cpp source file)
+        real(dl) :: accuracy 
+
+    end type RecombinationParams
+
+    character(LEN=*), parameter :: Recombination_Name = 'CosmoRec'
+
+    logical :: first_run = .true.
+    integer, parameter :: Nz = 10000
+    real(dl) :: zmax = 1d4
+    real(dl) :: zmin = 0._dl
+    real(dl), dimension(Nz) :: zrec, arec, Hz
+    real(dl), dimension(Nz) :: xrec, tmrec, x2rec, tm2rec
+
+    public RecombinationParams, Recombination_xe, Recombination_tm, Recombination_init,   &
+    Recombination_ReadParams, Recombination_SetDefParams, &
+    Recombination_Validate, Recombination_Name
+
+
+    contains
+
+    subroutine Recombination_ReadParams(R, Ini)
+    use IniFile
+    Type(RecombinationParams) :: R
+    Type(TIniFile) :: Ini
+
+    R%runmode = Ini_Read_Int_File(Ini, 'cosmorec_runmode', 0)
+    R%accuracy = Ini_Read_Double_File(Ini, 'cosmorec_accuracy', 0.0D0)
+    R%fdm = Ini_Read_Double_File(Ini, 'cosmorec_fdm', 0.0D0)
+
+    end subroutine Recombination_ReadParams
+
+
+    subroutine Recombination_SetDefParams(R)
+    type (RecombinationParams) ::R
+
+    R%runmode = 0
+    R%fdm = 0.0
+    R%accuracy = 0
+
+    end subroutine Recombination_SetDefParams
+
+
+    subroutine Recombination_Validate(R, OK)
+    Type(RecombinationParams), intent(in) :: R
+    logical, intent(inout) :: OK
+
+    if(R%runmode < 0 .or. R%runmode > 3) then
+        write(*,*) "Invalid runmode for CosmoRec,"
+        OK = .false.
+    end if
+
+    if(R%runmode < 2 .and. R%fdm > 1d-23) then
+        write(*,*) "Dark matter annihilation rate too high. Will crash CosmoRec."
+        OK = .false.
+    end if
+
+    if(R%accuracy < 0.0 .or. R%accuracy > 3.0) then
+        write(*,*) "CosmoRec accuracy mode undefined."
+        OK = .false.
+    end if
+
+    end subroutine Recombination_Validate
+
+
+
+    function Recombination_tm(a)
+    real(dl), intent(in) :: a
+    real(dl) Recombination_tm
+
+    Recombination_tm = spline_val(a, arec, tmrec, tm2rec, Nz)
+
+    end function Recombination_tm
+
+
+    function Recombination_xe(a)
+    real(dl), intent(in) :: a
+    real(dl) Recombination_xe
+
+    Recombination_xe = spline_val(a, arec, xrec, x2rec, Nz)
+
+    end function Recombination_xe
+
+
+
+
+    subroutine Recombination_init(Recomb, OmegaC, OmegaB, OmegaN, Omegav, h0inp, tcmb, yp, num_nu)
+    !Would love to pass structure as arguments, but F90 would give circular reference...
+    !hence mess passing parameters explcitly and non-generally
+
+    use AMLUtils
+    implicit none
+    Type (RecombinationParams), intent(in) :: Recomb
+    real(dl), intent(in) :: OmegaC, OmegaB, OmegaN, OmegaV, h0inp, tcmb, yp, num_nu
+
+    real(dl) OmegaK
+    integer :: i, label
+    real(dl), dimension(5) :: runpars
+
+    real(dl) dtauda
+    external dtauda
+
+    ! Calculate the curvature
+    OmegaK = 1._dl - OmegaC - OmegaB - OmegaV
+#ifdef MPI
+    label = GetMpiRank()
+#else
+    label = 0
+#endif
+    ! Some feedback
+
+    if (Feedback >1) then
+        print *, "" ;
+        print *, "==== CosmoRec parameters ====" ;
+
+        print *, "Runmode: ", Recomb%runmode
+        print "(a,f10.5)", " Omega_c: ", OmegaC
+        print "(a,f10.5)", " Omega_b: ", OmegaB
+        print "(a,f10.5)", " Omega_k: ", OmegaK
+        print "(a,f10.5)", " Num_nu : ", num_nu
+        print "(a,f10.5)", " Hubble : ", h0inp
+        print "(a,f10.5)", " T_cmb  : ", tcmb
+        print "(a,f10.5)", " Y_He   : ", yp
+        print "(a,f10.5)", " f_dm   : ", Recomb%fdm
+    end if
+
+    ! Set runtime parameters
+    runpars = 0._dl
+    runpars(1) = Recomb%fdm ! Set dark matter annihilation efficiency
+    runpars(2) = Recomb%accuracy
+
+    ! Set redshifts to calculate at.
+    do i=1,Nz
+        zrec(i) = zmax - i*((zmax - zmin) / Nz)
+        arec(i) = 1d0 / (1.0D0 + zrec(i))
+        Hz(i) = 1/dtauda(1/(1._dl+zrec(i)))*(1._dl+zrec(i))**2/MPC_in_sec  
+    end do
+
+    ! internal Hubble function of CosmoRec is used
+    !call CosmoRec_calc_cpp(Recomb%runmode, runpars, &
+    !     OmegaC, OmegaB, OmegaK, num_nu, h0inp, tcmb, yp, &
+    !     zrec, xrec, tmrec, Nz, label)
+
+    ! version which uses camb Hubble function
+    call CosmoRec_calc_h_cpp(Recomb%runmode, runpars, &
+    OmegaC, OmegaB, OmegaK, num_nu, h0inp, tcmb, yp, &
+    zrec, Hz, Nz, zrec, xrec, tmrec, Nz, label)
+
+    call spline_double(arec, xrec, Nz, x2rec)
+    call spline_double(arec, tmrec, Nz, tm2rec)
+
+    ! print some output
+    !open(unit=267,file="CosmoRec.out.Xe.II.dat")
+    !do i=1,Nz
+    !   write (267,*) zrec(i), xrec(i), tmrec(i)
+    !end do
+    !close(267)
+
+    end subroutine Recombination_init
+
+
+
+    ! General routine for cubic spline interpolation (see NR)
+    real(dl) function spline_val(x, xv, yv, y2, n)
+
+    real(dl), intent(in) :: x
+    real(dl), intent(in) :: xv(n), yv(n), y2(n)
+    integer, intent(in) :: n
+
+    integer :: kh,kl,kn
+    real(dl) :: h,a,b,c,d
+
+    ! Extrapolate if value is above or below interval
+    if(x < xv(1)) then
+        spline_val = yv(1)
+    else if(x > xv(n)) then
+        spline_val = yv(n)
+    else
+        ! Bisection to find correct interval
+        kh = n
+        kl = 1
+        do while(kh - kl > 1)
+            kn = (kh + kl) / 2
+            if(xv(kn) > x) then
+                kh = kn
+            else
+                kl = kn
+            end if
+        end do
+
+        ! Set up constants (a la NR)
+        h = xv(kh) - xv(kl)
+
+        a = (xv(kh) - x) / h
+        b = (x - xv(kl)) / h
+        c = (a**3 - a)* h**2 / 6
+        d = (b**3 - b)* h**2 / 6
+
+        spline_val = (a*yv(kl) + b*yv(kh) + c*y2(kl) + d*y2(kh))
+
+    end if
+    end function spline_val
+
+    end module Recombination
+
diff --git a/equations_ppf.f90 b/equations_ppf.f90
new file mode 100644
index 0000000..3e57eb8
--- /dev/null
+++ b/equations_ppf.f90
@@ -0,0 +1,3401 @@
+    ! Equations module for dark energy with constant equation of state parameter w
+    ! allowing for perturbations based on a quintessence model
+    ! by Antony Lewis (http://cosmologist.info/)
+
+    ! Dec 2003, fixed (fatal) bug in tensor neutrino setup
+    ! Changes to tight coupling approximation
+    ! June 2004, fixed problem with large scale polarized tensors; support for vector modes
+    ! Generate vector modes on their own. The power spectrum is taken from the scalar parameters.
+    ! August 2004, fixed reionization term in lensing potential
+    ! Nov 2004, change massive neutrino l_max to be consistent with massless if light
+    ! Apr 2005, added DoLateRadTruncation option
+    ! June 2006, added support for arbitary neutrino mass splittings
+    ! Nov 2006, tweak to high_precision transfer function accuracy at lowish k
+    ! June 2011, improved radiation approximations from arXiv: 1104.2933; Some 2nd order tight coupling terms
+    !            merged fderivs and derivs so flat and non-flat use same equations; more precomputed arrays
+    !            optimized neutrino sampling, and reorganised neutrino integration functions
+    ! Feb 2012, updated PPF version but now only simple case for w, w_a (no anisotropic stresses etc)
+    ! Feb 2013: fixed various issues with accuracy at larger neutrino masses
+    ! Oct 2013: fix PPF, consistent with updated equations_cross
+
+    module LambdaGeneral
+    use precision
+    use  ModelParams
+    implicit none
+
+    real(dl)  :: w_lam = -1_dl !p/rho for the dark energy (assumed constant)
+    ! w_lam is now w0
+    !comoving sound speed. Always exactly 1 for quintessence
+    !(otherwise assumed constant, though this is almost certainly unrealistic)
+    real(dl) :: cs2_lam = 1_dl
+    !cs2_lam now is ce^2
+
+    logical :: use_tabulated_w = .false.
+    real(dl) :: wa_ppf = 0._dl
+    real(dl) :: c_Gamma_ppf = 0.4_dl
+    integer, parameter :: nwmax = 5000, nde = 2000
+    integer :: nw_ppf
+    real(dl) w_ppf(nwmax), a_ppf(nwmax), ddw_ppf(nwmax)
+    real(dl) rde(nde),ade(nde),ddrde(nde)
+    real(dl), parameter :: amin = 1.d-9
+    logical :: is_cosmological_constant
+    private nde,ddw_ppf,rde,ade,ddrde,amin
+    contains
+
+    subroutine DarkEnergy_ReadParams(Ini)
+    use IniFile
+    Type(TIniFile) :: Ini
+    character(LEN=Ini_max_string_len) wafile
+    integer i
+
+    if (Ini_HasKey_File(Ini,'usew0wa')) then
+        stop 'input variables changed from usew0wa: now use_tabulated_w or w, wa'
+    end if
+
+    use_tabulated_w = Ini_Read_Logical_File(Ini,'use_tabulated_w',.false.)
+    if(.not. use_tabulated_w)then
+        w_lam = Ini_Read_Double_File(Ini,'w', -1.d0)
+        wa_ppf = Ini_Read_Double_File(Ini,'wa', 0.d0)
+        if (Feedback >0) write(*,'("(w0, wa) = (", f8.5,", ", f8.5, ")")') w_lam,wa_ppf
+    else
+        wafile = Ini_Read_String_File(Ini,'wafile')
+        open(unit=10,file=wafile,status='old')
+        nw_ppf=0
+        do i=1,nwmax+1
+            read(10,*,end=100)a_ppf(i),w_ppf(i)
+            a_ppf(i)=dlog(a_ppf(i))
+            nw_ppf=nw_ppf+1
+        enddo
+        write(*,'("Note: ", a, " has more than ", I8, " data points")') trim(wafile), nwmax
+        write(*,*)'Increase nwmax in LambdaGeneral'
+        stop
+100     close(10)
+        write(*,'("read in ", I8, " (a, w) data points from ", a)') nw_ppf, trim(wafile)
+        call setddwa
+        call interpolrde
+    endif
+    cs2_lam = Ini_Read_Double_File(Ini,'cs2_lam',1.d0)
+    call setcgammappf
+
+    end subroutine DarkEnergy_ReadParams
+
+
+    subroutine setddwa
+    real(dl), parameter :: wlo=1.d30, whi=1.d30
+
+    call spline(a_ppf,w_ppf,nw_ppf,wlo,whi,ddw_ppf) !a_ppf is lna here
+
+    end subroutine setddwa
+
+
+    function w_de(a)
+    real(dl) :: w_de, al
+    real(dl), intent(IN) :: a
+
+    if(.not. use_tabulated_w) then
+        w_de=w_lam+wa_ppf*(1._dl-a)
+    else
+        al=dlog(a)
+        if(al.lt.a_ppf(1)) then
+            w_de=w_ppf(1)                   !if a < minimum a from wa.dat
+        elseif(al.gt.a_ppf(nw_ppf)) then
+            w_de=w_ppf(nw_ppf)              !if a > maximus a from wa.dat
+        else
+            call cubicsplint(a_ppf,w_ppf,ddw_ppf,nw_ppf,al,w_de)
+        endif
+    endif
+    end function w_de  ! equation of state of the PPF DE
+
+
+    function drdlna_de(al)
+    real(dl) :: drdlna_de, a
+    real(dl), intent(IN) :: al
+
+    a=dexp(al)
+    drdlna_de=3._dl*(1._dl+w_de(a))
+
+    end function drdlna_de
+
+
+    subroutine interpolrde
+    real(dl), parameter :: rlo=1.d30, rhi=1.d30
+    real(dl) :: atol, almin, al, rombint, fint
+    integer :: i
+    external rombint
+    atol=1.d-5
+    almin=dlog(amin)
+    do i=1,nde
+        al=almin-almin/(nde-1)*(i-1)    !interpolate between amin and today
+        fint=rombint(drdlna_de, al, 0._dl, atol)+4._dl*al
+        ade(i)=al
+        rde(i)=dexp(fint) !rho_de*a^4 normalize to its value at today
+    enddo
+    call spline(ade,rde,nde,rlo,rhi,ddrde)
+    end subroutine interpolrde
+
+    function grho_de(a)  !8 pi G a^4 rho_de
+    real(dl) :: grho_de, al, fint
+    real(dl), intent(IN) :: a
+    external rombint
+
+    if(.not. use_tabulated_w) then
+        grho_de=grhov*a**(1._dl-3.*w_lam-3.*wa_ppf)*exp(-3.*wa_ppf*(1._dl-a))
+    else
+        if(a.eq.0.d0)then
+            grho_de=0.d0      !assume rho_de*a^4-->0, when a-->0, OK if w_de always <0.
+        else
+            al=dlog(a)
+            if(al.lt.ade(1))then
+                fint=rde(1)*(a/amin)**(1.-3.*w_de(amin))    !if a<amin, assume here w=w_de(amin)
+            else              !if amin is small enough, this extrapolation will be unnecessary.
+                call cubicsplint(ade,rde,ddrde,nde,al,fint)
+            endif
+            grho_de=grhov*fint
+        endif
+    endif
+    end function grho_de
+    
+    
+    
+
+    !-------------------------------------------------------------------
+    SUBROUTINE cubicsplint(xa,ya,y2a,n,x,y)
+    INTEGER n
+    real(dl)x,y,xa(n),y2a(n),ya(n)
+    INTEGER k,khi,klo
+    real(dl)a,b,h
+    klo=1
+    khi=n
+1   if (khi-klo.gt.1) then
+        k=(khi+klo)/2
+        if(xa(k).gt.x)then
+            khi=k
+        else
+            klo=k
+        endif
+        goto 1
+    endif
+    h=xa(khi)-xa(klo)
+    if (h.eq.0.) stop 'bad xa input in splint'
+    a=(xa(khi)-x)/h
+    b=(x-xa(klo))/h
+    y=a*ya(klo)+b*ya(khi)+&
+    ((a**3-a)*y2a(klo)+(b**3-b)*y2a(khi))*(h**2)/6.d0
+    END SUBROUTINE cubicsplint
+    !--------------------------------------------------------------------
+
+
+    subroutine setcgammappf
+
+    c_Gamma_ppf=0.4d0*sqrt(cs2_lam)
+
+    end subroutine setcgammappf
+
+
+    end module LambdaGeneral
+
+    !ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!Return OmegaK - modify this if you add extra fluid components                                                                                           
+        function GetOmegak()
+        use precision
+        use ModelParams
+        !DG May 25 2015 Added so that massless neutrinos can be self consistently included
+        !negligible for most cosmologies but included for completenes
+        use constants 
+        real(dl) nnu
+        real(dl)  GetOmegak,rhocrit,omegah2_rad
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !DG May 25 2015 Added so that massless neutrinos can be self consistently included
+        !negligible for most cosmologies but included for completeness
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Self-consistent inclusion of massive neutrinos in computation of curvature
+!different from regular CAMB
+!
+        rhocrit=(8.0d0*const_pi*G*1.d3/(3.0d0*((1.d7/(MPC_in_sec*c*1.d2))**(2.0d0))))**(-1.0d0)
+        omegah2_rad=((COBE_CMBTemp**4.0d0)/(rhocrit))/(c**2.0d0)
+        omegah2_rad=omegah2_rad*a_rad*1.d1/(1.d4)
+        nnu=CP%Num_Nu_massless
+        omegah2_rad=omegah2_rad+(nnu*grhor*(c**2.0d0)/((1.d5**2.0d0)))/3.0d0 
+        GetOmegak = 1.0d0 - (CP%omegab+CP%omegac+CP%omegav+CP%omegan+CP%omegaax)-omegah2_rad/((CP%H0/1.d2)**2.0d0)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!	!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+        end function GetOmegak
+
+    subroutine init_background
+    use LambdaGeneral
+    !This is only called once per model, and is a good point to do any extra initialization.
+    !It is called before first call to dtauda, but after
+    !massive neutrinos are initialized and after GetOmegak
+    is_cosmological_constant = .not. use_tabulated_w .and. w_lam==-1_dl .and. wa_ppf==0._dl
+    end  subroutine init_background
+
+
+    !Background evolution
+    function dtauda(a)
+    !get d tau / d a
+    use precision
+    use constants
+    use ModelParams
+    use MassiveNu
+    use LambdaGeneral
+    implicit none
+    real(dl) dtauda
+    real(dl), intent(IN) :: a
+    real(dl) rhonu,grhoa2, a2,dorp,gr
+    integer i
+    integer nu_i
+
+    a2=a**2
+
+    !  8*pi*G*rho*a**4.
+    grhoa2=grhok*a2+(grhoc+grhob)*a+grhog+grhornomass
+    if (is_cosmological_constant) then
+        grhoa2=grhoa2+grhov*a2**2
+    else
+        grhoa2=grhoa2+ grho_de(a)
+    end if
+
+    if (CP%Num_Nu_massive /= 0) then
+        !Get massive neutrino density relative to massless
+        do nu_i = 1, CP%nu_mass_eigenstates
+            call Nu_rho(a*nu_masses(nu_i),rhonu)
+            grhoa2=grhoa2+rhonu*grhormass(nu_i)
+        end do
+    end if
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Spline for axion energy density of a<aosc, otherwise just use a^-3 scaling
+    	if (a .lt. CP%a_osc) then
+        call spline_out(CP%loga_table,CP%grhoax_table,CP%grhoax_table_buff,ntable,dlog10(a),gr)
+        !write(*,*) a, gr
+        !compute log10 of density use of interpolation
+        !print*,a,grhoc,grhom*(1.0d1**(dble(gr)))/((grhoc+grhob)/(a**3.0d0))
+        if (gr .eq. gr) then
+           !delog it and multiply by physical units
+           dorp=grhom*(1.0d1**(dble(gr)))
+        else
+           dorp=0.0d0
+        endif
+        else
+        	dorp=grhom*CP%drefp_hsq*((CP%a_osc/a)**3.0d0)
+        
+        endif
+        grhoa2=grhoa2+dorp*(a2**2.0d0)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+
+
+
+
+
+
+
+!use grhoa2 using interpolated axion density
+    dtauda=sqrt(3/grhoa2)
+
+
+
+
+    end function dtauda
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+    !Gauge-dependent perturbation equations
+
+    module GaugeInterface
+    use precision
+    use ModelParams
+    use MassiveNu
+    use LambdaGeneral
+    use Errors
+    implicit none
+    public
+
+    !Description of this file. Change if you make modifications.
+    character(LEN=*), parameter :: Eqns_name = 'equations_ppf-Oct13'
+
+    integer, parameter :: basic_num_eqns = 5
+
+    logical :: DoTensorNeutrinos = .false.
+
+    logical :: DoLateRadTruncation = .true.
+    !if true, use smooth approx to radition perturbations after decoupling on
+    !small scales, saving evolution of irrelevant osciallatory multipole equations
+
+    logical, parameter :: second_order_tightcoupling = .true.
+
+    real(dl) :: Magnetic = 0._dl
+    !Vector mode anisotropic stress in units of rho_gamma
+    real(dl) :: vec_sig0 = 1._dl
+    !Vector mode shear
+    integer, parameter :: max_l_evolve = 1024 !Maximum l we are ever likely to propagate
+
+    !Supported scalar initial condition flags
+    integer, parameter :: initial_adiabatic=1, initial_iso_CDM=2, &
+         initial_iso_baryon=3,  initial_iso_neutrino=4, initial_iso_neutrino_vel=5, initial_vector = 0
+!!!!!!!!!!!!!!!!!!!!!!!!!
+    integer, parameter :: initial_nummodes =  initial_iso_neutrino_vel 
+!!!!!!!!!!!!!!!!!!!!
+    type EvolutionVars
+       real(dl) q, q2
+       real(dl) k_buf,k2_buf ! set in initial
+       
+       integer w_ix !Index of two quintessence equations
+       integer r_ix !Index of the massless neutrino hierarchy
+       integer g_ix !Index of the photon neutrino hierarchy
+       
+!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!Axion variables
+!!!!!Axion fluid indices
+!!!!!!!   	
+       integer a_ix !Index of the two axion fluid equations
+!!!!!!!Axion mass for internal computations         
+       real(dl) m_ax
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!       
+       
+       integer q_ix !index into q_evolve array that gives the value q
+       logical TransferOnly
+       
+       !       nvar  - number of scalar (tensor) equations for this k
+       integer nvar,nvart, nvarv
+       
+       !Max_l for the various hierarchies
+       integer lmaxg,lmaxnr,lmaxnu,lmaxgpol,MaxlNeeded
+       integer lmaxnrt, lmaxnut, lmaxt, lmaxpolt, MaxlNeededt
+       logical EvolveTensorMassiveNu(max_nu)
+       integer lmaxnrv, lmaxv, lmaxpolv
+       
+       integer polind  !index into scalar array of polarization hierarchy
+       
+       !array indices for massive neutrino equations
+       integer nu_ix(max_nu), nu_pert_ix
+       integer nq(max_nu), lmaxnu_pert
+       logical has_nu_relativistic
+       
+       !Initial values for massive neutrino v*3 variables calculated when switching
+       !to non-relativistic approx
+       real(dl) G11(max_nu),G30(max_nu)
+       !True when using non-relativistic approximation
+       logical MassiveNuApprox(max_nu)
+       real(dl) MassiveNuApproxTime(max_nu)
+       
+       !True when truncating at l=2,3 when k*tau>>1 (see arXiv:1104.2933)
+       logical high_ktau_neutrino_approx
+       
+       !Massive neutrino scheme being used at the moment
+       integer NuMethod
+       
+       !True when using tight-coupling approximation (required for stability at early times)
+       logical TightCoupling, TensTightCoupling
+       real(dl) TightSwitchoffTime
+       
+       !Numer of scalar equations we are propagating
+       integer ScalEqsToPropagate
+       integer TensEqsToPropagate
+       !beta > l for closed models
+       integer FirstZerolForBeta
+       !Tensor vars
+       real(dl) aux_buf
+       
+       real(dl) pig, pigdot !For tight coupling
+       real(dl) poltruncfac
+       
+       !PPF parameters
+       real(dl) dgrho_e_ppf, dgq_e_ppf
+       real(dl) dgrhoec_ppf, dgqec_ppf, vTc_ppf 
+       
+       logical no_nu_multpoles, no_phot_multpoles
+       integer lmaxnu_tau(max_nu)  !lmax for massive neutinos at time being integrated
+       logical nu_nonrelativistic(max_nu)
+       
+       real(dl) denlk(max_l_evolve),denlk2(max_l_evolve), polfack(max_l_evolve)
+       real(dl) Kf(max_l_evolve)
+       
+       integer E_ix, B_ix !tensor polarization indices
+       real(dl) denlkt(4,max_l_evolve),Kft(max_l_evolve)
+    end type EvolutionVars
+    
+    !precalculated arrays
+    real(dl) polfac(max_l_evolve),denl(max_l_evolve),vecfac(max_l_evolve),vecfacpol(max_l_evolve)
+    
+    real(dl), parameter :: ep0=1.0d-2
+    integer, parameter :: lmaxnu_high_ktau=3
+    
+    real(dl) epsw
+    real(dl) nu_tau_notmassless(nqmax0+1,max_nu), nu_tau_nonrelativistic(max_nu),nu_tau_massive(max_nu)
+  contains
+    
+    
+    subroutine GaugeInterface_ScalEv(EV,y,tau,tauend,tol1,ind,c,w)
+      type(EvolutionVars) EV
+      real(dl) c(24),w(EV%nvar,9), y(EV%nvar), tol1, tau, tauend
+      integer ind
+      
+      call dverk(EV,EV%ScalEqsToPropagate,derivs,tau,y,tauend,tol1,ind,c,EV%nvar,w)
+      if (ind==-3) then
+         call GlobalError('Dverk error -3: the subroutine was unable  to  satisfy  the  error ' &
+              //'requirement  with a particular step-size that is less than or * ' &
+              //'equal to hmin, which may mean that tol is too small' &
+              //'--- but most likely you''ve messed up the y array indexing; ' &
+              //'compiling with bounds checking may (or may not) help find the problem.',error_evolution)
+      end if
+    end subroutine GaugeInterface_ScalEv
+    
+    function next_nu_nq(nq) result (next_nq)
+      integer, intent(in) :: nq
+      integer q, next_nq
+      
+      if (nq==0) then
+         next_nq=1
+      else
+         q = nu_q(nq)
+         if (q>=10) then
+            next_nq = nqmax
+         else
+            next_nq = nq+1
+         end if
+      end if
+      
+    end function next_nu_nq
+    
+    recursive subroutine GaugeInterface_EvolveScal(EV,tau,y,tauend,tol1,ind,c,w)
+      use ThermoData
+      type(EvolutionVars) EV, EVout
+      real(dl) c(24),w(EV%nvar,9), y(EV%nvar), yout(EV%nvar), tol1, tau, tauend
+      integer ind, nu_i
+      real(dl) cs2, opacity, dopacity
+      real(dl) tau_switch_ktau, tau_switch_nu_massless, tau_switch_nu_massive, next_switch
+      real(dl) tau_switch_no_nu_multpoles, tau_switch_no_phot_multpoles,tau_switch_nu_nonrel
+      real(dl) noSwitch, smallTime
+      
+      noSwitch= CP%tau0+1
+      smallTime =  min(tau, 1/EV%k_buf)/100
+      
+      tau_switch_ktau = noSwitch
+      tau_switch_no_nu_multpoles= noSwitch
+      tau_switch_no_phot_multpoles= noSwitch
+      
+    !Massive neutrino switches
+      tau_switch_nu_massless = noSwitch
+      tau_switch_nu_nonrel = noSwitch
+      tau_switch_nu_massive= noSwitch
+      
+      !Evolve equations from tau to tauend, performing switches in equations if necessary.
+      
+      if (.not. EV%high_ktau_neutrino_approx .and. .not. EV%no_nu_multpoles ) then
+         tau_switch_ktau=  max(20, EV%lmaxnr-4)/EV%k_buf
+      end if
+      
+      if (CP%Num_Nu_massive /= 0) then
+         do nu_i = 1, CP%Nu_mass_eigenstates
+            if (EV%nq(nu_i) /= nqmax) then
+               tau_switch_nu_massless = min(tau_switch_nu_massless,nu_tau_notmassless(next_nu_nq(EV%nq(nu_i)),nu_i))
+            else if (.not. EV%nu_nonrelativistic(nu_i)) then
+               tau_switch_nu_nonrel = min(nu_tau_nonrelativistic(nu_i),tau_switch_nu_nonrel)
+            else if (EV%NuMethod==Nu_trunc .and..not. EV%MassiveNuApprox(nu_i)) then
+               tau_switch_nu_massive = min(tau_switch_nu_massive,EV%MassiveNuApproxTime(nu_i))
+            end if
+         end do
+      end if
+      
+      if (DoLateRadTruncation) then
+         if (.not. EV%no_nu_multpoles) & !!.and. .not. EV%has_nu_relativistic .and. tau_switch_nu_massless ==noSwitch)  &
+              tau_switch_no_nu_multpoles=max(15/EV%k_buf*AccuracyBoost,min(taurend,matter_verydom_tau))
+         
+         if (.not. EV%no_phot_multpoles .and. (.not.CP%WantCls .or. EV%k_buf>0.03*AccuracyBoost)) &
+              tau_switch_no_phot_multpoles =max(15/EV%k_buf,taurend)*AccuracyBoost
+      end if
+      
+      next_switch = min(tau_switch_ktau, tau_switch_nu_massless,EV%TightSwitchoffTime, tau_switch_nu_massive, &
+           tau_switch_no_nu_multpoles, tau_switch_no_phot_multpoles, tau_switch_nu_nonrel,noSwitch)
+      
+      if (next_switch < tauend) then
+         if (next_switch > tau+smallTime) then
+            call GaugeInterface_ScalEv(EV, y, tau,next_switch,tol1,ind,c,w)
+            if (global_error_flag/=0) return
+         end if
+         
+         EVout=EV
+         
+         if (next_switch == EV%TightSwitchoffTime) then
+            !TightCoupling
+            EVout%TightCoupling=.false.
+            EVout%TightSwitchoffTime = noSwitch
+            call SetupScalarArrayIndices(EVout)
+            call CopyScalarVariableArray(y,yout, EV, EVout)
+            EV=EVout
+            y=yout
+            ind=1
+            !Set up variables with their tight coupling values
+            y(EV%g_ix+2) = EV%pig
+            call thermo(tau,cs2,opacity,dopacity)
+            
+            if (second_order_tightcoupling) then
+               ! Francis-Yan Cyr-Racine November 2010
+               
+               y(EV%g_ix+3) = (3._dl/7._dl)*y(EV%g_ix+2)*(EV%k_buf/opacity)*(1._dl+dopacity/opacity**2) + &
+                    (3._dl/7._dl)*EV%pigdot*(EV%k_buf/opacity**2)*(-1._dl)
+               
+               y(EV%polind+2) = EV%pig/4 + EV%pigdot*(1._dl/opacity)*(-5._dl/8._dl- &
+                    (25._dl/16._dl)*dopacity/opacity**2) + &
+                    EV%pig*(EV%k_buf/opacity)**2*(-5._dl/56._dl)
+               y(EV%polind+3) = (3._dl/7._dl)*(EV%k_buf/opacity)*y(EV%polind+2)*(1._dl + &
+                    dopacity/opacity**2) + (3._dl/7._dl)*(EV%k_buf/opacity**2)*((EV%pigdot/4._dl)* &
+                    (1._dl+(5._dl/2._dl)*dopacity/opacity**2))*(-1._dl)
+            else
+               y(EV%g_ix+3) = 3./7*y(EV%g_ix+2)*EV%k_buf/opacity
+               y(EV%polind+2) = EV%pig/4
+               y(EV%polind+3) =y(EV%g_ix+3)/4
+            end if
+         else if (next_switch==tau_switch_ktau) then
+            !k tau >> 1, evolve massless neutrino effective fluid up to l=2
+            EVout%high_ktau_neutrino_approx=.true.
+            EV%nq(1:CP%Nu_mass_eigenstates) = nqmax
+            call SetupScalarArrayIndices(EVout)
+            call CopyScalarVariableArray(y,yout, EV, EVout)
+            y=yout
+            EV=EVout
+         else if (next_switch == tau_switch_nu_massless) then
+            !Mass starts to become important, start evolving next momentum mode
+            do nu_i = 1, CP%Nu_mass_eigenstates
+               if (EV%nq(nu_i) /= nqmax .and. &
+                    next_switch == nu_tau_notmassless(next_nu_nq(EV%nq(nu_i)),nu_i)) then
+                  EVOut%nq(nu_i) = next_nu_nq(EV%nq(nu_i))
+                  call SetupScalarArrayIndices(EVout)
+                  call CopyScalarVariableArray(y,yout, EV, EVout)
+                  EV=EVout
+                  y=yout
+                  exit
+               end if
+            end do
+         else if (next_switch == tau_switch_nu_nonrel) then
+            !Neutrino becomes non-relativistic, don't need high L
+            do nu_i = 1, CP%Nu_mass_eigenstates
+               if (.not. EV%nu_nonrelativistic(nu_i) .and.  next_switch==nu_tau_nonrelativistic(nu_i) ) then
+                  EVout%nu_nonrelativistic(nu_i)=.true.
+                  call SetupScalarArrayIndices(EVout)
+                  call CopyScalarVariableArray(y,yout, EV, EVout)
+                  EV=EVout
+                  y=yout
+                  exit
+               end if
+            end do
+         else if (next_switch == tau_switch_nu_massive) then
+            !Very non-relativistic neutrinos, switch to truncated velocity-weight hierarchy
+            do nu_i = 1, CP%Nu_mass_eigenstates
+               if (.not. EV%MassiveNuApprox(nu_i) .and.  next_switch== EV%MassiveNuApproxTime(nu_i) ) then
+                  call SwitchToMassiveNuApprox(EV,y, nu_i)
+                  exit
+               end if
+            end do
+         else if (next_switch==tau_switch_no_nu_multpoles) then
+            !Turn off neutrino hierarchies at late time where slow and not needed.
+            ind=1
+            EVout%no_nu_multpoles=.true.
+            EVOut%nq(1:CP%Nu_mass_eigenstates ) = nqmax
+            call SetupScalarArrayIndices(EVout)
+            call CopyScalarVariableArray(y,yout, EV, EVout)
+            y=yout
+            EV=EVout
+         else if (next_switch==tau_switch_no_phot_multpoles) then
+            !Turn off photon hierarchies at late time where slow and not needed.
+            ind=1
+            EVout%no_phot_multpoles=.true.
+            call SetupScalarArrayIndices(EVout)
+            call CopyScalarVariableArray(y,yout, EV, EVout)
+            y=yout
+            EV=EVout
+         end if
+         
+         call GaugeInterface_EvolveScal(EV,tau,y,tauend,tol1,ind,c,w)
+         return
+    end if
+    
+    call GaugeInterface_ScalEv(EV,y,tau,tauend,tol1,ind,c,w)
+    
+  end subroutine GaugeInterface_EvolveScal
+  
+  subroutine GaugeInterface_EvolveTens(EV,tau,y,tauend,tol1,ind,c,w)
+    use ThermoData
+    type(EvolutionVars) EV, EVOut
+    real(dl) c(24),w(EV%nvart,9), y(EV%nvart),yout(EV%nvart), tol1, tau, tauend
+    integer ind
+    real(dl) opacity, cs2
+    
+    if (EV%TensTightCoupling .and. tauend > EV%TightSwitchoffTime) then
+       if (EV%TightSwitchoffTime > tau) then
+          call dverk(EV,EV%TensEqsToPropagate, derivst,tau,y,EV%TightSwitchoffTime,tol1,ind,c,EV%nvart,w)
+       end if
+       EVOut=EV
+       EVOut%TensTightCoupling = .false.
+       call SetupTensorArrayIndices(EVout)
+       call CopyTensorVariableArray(y,yout,Ev, Evout)
+       Ev = EvOut
+       y=yout
+       call thermo(tau,cs2,opacity)
+       y(EV%g_ix+2)= 32._dl/45._dl*EV%k_buf/opacity*y(3)
+       y(EV%E_ix+2) = y(EV%g_ix+2)/4
+    end if
+    
+    call dverk(EV,EV%TensEqsToPropagate, derivst,tau,y,tauend,tol1,ind,c,EV%nvart,w)
+    
+    
+  end subroutine GaugeInterface_EvolveTens
+  
+  function DeltaTimeMaxed(a1,a2, tol) result(t)
+    real(dl) a1,a2,t
+    real(dl), optional :: tol
+    if (a1>1._dl) then
+       t=0
+    elseif (a2 > 1._dl) then
+       t = DeltaTime(a1,1.01_dl, tol)
+    else
+        t= DeltaTime(a1,a2, tol)
+     end if
+   end function DeltaTimeMaxed
+   
+   subroutine GaugeInterface_Init
+     !Precompute various arrays and other things independent of wavenumber
+     integer j, nu_i
+     real(dl) a_nonrel, a_mass,a_massive, time, nu_mass
+     
+     epsw = 100/CP%tau0
+     
+     if (CP%WantScalars) then
+        do j=2,max_l_evolve
+            polfac(j)=real((j+3)*(j-1),dl)/(j+1)
+        end do
+    end if
+
+    if (CP%WantVectors) then
+        do j=2,max_l_evolve
+            vecfac(j)=real((j+2),dl)/(j+1)
+            vecfacpol(j)=real((j+3)*j,dl)*(j-1)*vecfac(j)/(j+1)**2
+        end do
+    end if
+
+    do j=1,max_l_evolve
+        denl(j)=1._dl/(2*j+1)
+    end do
+
+    do nu_i=1, CP%Nu_Mass_eigenstates
+        nu_mass = max(0.1_dl,nu_masses(nu_i))
+        a_mass =  1.e-1_dl/nu_mass/lAccuracyBoost
+        !if (HighAccuracyDefault) a_mass=a_mass/4
+        time=DeltaTime(0._dl,nu_q(1)*a_mass)
+        nu_tau_notmassless(1, nu_i) = time
+        do j=2,nqmax
+            !times when each momentum mode becomes signficantly nonrelativistic
+            time= time + DeltaTimeMaxed(nu_q(j-1)*a_mass,nu_q(j)*a_mass, 0.01_dl)
+            nu_tau_notmassless(j, nu_i) = time
+        end do
+
+        a_nonrel =  2.5d0/nu_mass*AccuracyBoost !!!Feb13tweak
+        nu_tau_nonrelativistic(nu_i) =DeltaTimeMaxed(0._dl,a_nonrel)
+        a_massive =  17.d0/nu_mass*AccuracyBoost
+        nu_tau_massive(nu_i) =nu_tau_nonrelativistic(nu_i) + DeltaTimeMaxed(a_nonrel,a_massive)
+    end do
+
+    end subroutine GaugeInterface_Init
+
+
+    subroutine SetupScalarArrayIndices(EV, max_num_eqns)
+    !Set up array indices after the lmax have been decided
+    use MassiveNu
+    !Set the numer of equations in each hierarchy, and get total number of equations for this k
+    type(EvolutionVars) EV
+    integer, intent(out), optional :: max_num_eqns
+    integer neq, maxeq, nu_i
+
+    neq=basic_num_eqns
+    maxeq=neq
+    if (.not. EV%no_phot_multpoles) then
+        !Photon multipoles
+        EV%g_ix=basic_num_eqns+1
+        if (EV%TightCoupling) then
+            neq=neq+2
+        else
+            neq = neq+ (EV%lmaxg+1)
+            !Polarization multipoles
+            EV%polind = neq -1 !polind+2 is L=2, for polarizationthe first calculated
+            neq=neq + EV%lmaxgpol-1
+        end if
+    end if
+    if (.not. EV%no_nu_multpoles) then
+        !Massless neutrino multipoles
+        EV%r_ix= neq+1
+        if (EV%high_ktau_neutrino_approx) then
+            neq=neq + 3
+        else
+            neq=neq + (EV%lmaxnr+1)
+        end if
+    end if
+    maxeq = maxeq +  (EV%lmaxg+1)+(EV%lmaxnr+1)+EV%lmaxgpol-1
+
+    !Dark energy
+    if (.not. is_cosmological_constant) then
+        EV%w_ix = neq+1
+        neq=neq+1 !ppf
+        maxeq=maxeq+1
+    else
+        EV%w_ix=0
+    end if
+
+    !Massive neutrinos
+    if (CP%Num_Nu_massive /= 0) then
+        EV%has_nu_relativistic = any(EV%nq(1:CP%Nu_Mass_eigenstates)/=nqmax)
+        if (EV%has_nu_relativistic) then
+            EV%lmaxnu_pert=EV%lmaxnu
+            EV%nu_pert_ix=neq+1
+            neq = neq+ EV%lmaxnu_pert+1
+            maxeq=maxeq+ EV%lmaxnu_pert+1
+        else
+            EV%lmaxnu_pert=0
+        end if
+
+        do nu_i=1, CP%Nu_Mass_eigenstates
+            if (EV%high_ktau_neutrino_approx) then
+                if (HighAccuracyDefault .and. CP%WantTransfer .and. EV%q < 1.d0) then
+                    EV%lmaxnu_tau(nu_i)=max(4,lmaxnu_high_ktau)
+                else
+                    EV%lmaxnu_tau(nu_i)=lmaxnu_high_ktau
+                end if
+            else
+                EV%lmaxnu_tau(nu_i) =max(min(nint(0.8_dl*EV%q*nu_tau_nonrelativistic(nu_i)*lAccuracyBoost),EV%lmaxnu),3)
+                !!!Feb13tweak
+                if (EV%nu_nonrelativistic(nu_i)) EV%lmaxnu_tau(nu_i)=min(EV%lmaxnu_tau(nu_i),nint(4*lAccuracyBoost))
+            end if
+            EV%lmaxnu_tau(nu_i)=min(EV%lmaxnu,EV%lmaxnu_tau(nu_i))
+
+            EV%nu_ix(nu_i)=neq+1
+            if (EV%MassiveNuApprox(nu_i)) then
+                neq = neq+4
+            else
+                neq = neq+ EV%nq(nu_i)*(EV%lmaxnu_tau(nu_i)+1)
+            endif
+            maxeq = maxeq + nqmax*(EV%lmaxnu+1)
+        end do
+    else
+        EV%has_nu_relativistic = .false.
+    end if
+
+!Axions - adding on to the DE parameters
+         EV%a_ix=neq+1
+         neq=neq+2
+         maxeq=maxeq+2
+
+!         print*, 'a_ix =', EV%
+
+    EV%ScalEqsToPropagate = neq
+    if (present(max_num_eqns)) then
+        max_num_eqns=maxeq
+    end if
+
+    end subroutine SetupScalarArrayIndices
+
+    subroutine CopyScalarVariableArray(y,yout, EV, EVout)
+    type(EvolutionVars) EV, EVOut
+    real(dl), intent(in) :: y(EV%nvar)
+    real(dl), intent(out) :: yout(EVout%nvar)
+    integer lmax,i, nq
+    integer nnueq,nu_i, ix_off, ix_off2, ind, ind2
+    real(dl) q, pert_scale
+
+    yout=0
+    yout(1:basic_num_eqns) = y(1:basic_num_eqns)
+    
+! New code: NOTE that there is only one more index here
+    if (.not. is_cosmological_constant) then
+        yout(EVout%w_ix)=y(EV%w_ix)
+    end if
+    ! Axions 
+ 		 yout(EVout%a_ix)=y(EV%a_ix)
+		 yout(EVout%a_ix+1)=y(EV%a_ix+1)
+    
+
+    if (.not. EV%no_phot_multpoles .and. .not. EVout%no_phot_multpoles) then
+        if (EV%TightCoupling .or. EVOut%TightCoupling) then
+            lmax=1
+        else
+            lmax = min(EV%lmaxg,EVout%lmaxg)
+        end if
+        yout(EVout%g_ix:EVout%g_ix+lmax)=y(EV%g_ix:EV%g_ix+lmax)
+        if (.not. EV%TightCoupling .and. .not. EVOut%TightCoupling) then
+            lmax = min(EV%lmaxgpol,EVout%lmaxgpol)
+            yout(EVout%polind+2:EVout%polind+lmax)=y(EV%polind+2:EV%polind+lmax)
+        end if
+    end if
+
+    if (.not. EV%no_nu_multpoles .and. .not. EVout%no_nu_multpoles) then
+        if (EV%high_ktau_neutrino_approx .or. EVout%high_ktau_neutrino_approx) then
+            lmax=2
+        else
+            lmax = min(EV%lmaxnr,EVout%lmaxnr)
+        end if
+        yout(EVout%r_ix:EVout%r_ix+lmax)=y(EV%r_ix:EV%r_ix+lmax)
+    end if
+
+    if (CP%Num_Nu_massive /= 0) then
+        do nu_i=1,CP%Nu_mass_eigenstates
+            ix_off=EV%nu_ix(nu_i)
+            ix_off2=EVOut%nu_ix(nu_i)
+            if (EV%MassiveNuApprox(nu_i) .and. EVout%MassiveNuApprox(nu_i)) then
+                nnueq=4
+                yout(ix_off2:ix_off2+nnueq-1)=y(ix_off:ix_off+nnueq-1)
+            else if (.not. EV%MassiveNuApprox(nu_i) .and. .not. EVout%MassiveNuApprox(nu_i)) then
+                lmax=min(EV%lmaxnu_tau(nu_i),EVOut%lmaxnu_tau(nu_i))
+                nq = min(EV%nq(nu_i), EVOut%nq(nu_i))
+                do i=1,nq
+                    ind= ix_off + (i-1)*(EV%lmaxnu_tau(nu_i)+1)
+                    ind2=ix_off2+ (i-1)*(EVOut%lmaxnu_tau(nu_i)+1)
+                    yout(ind2:ind2+lmax) = y(ind:ind+lmax)
+                end do
+                do i=nq+1, EVOut%nq(nu_i)
+                    lmax = min(EVOut%lmaxnu_tau(nu_i), EV%lmaxnr)
+                    ind2=ix_off2+ (i-1)*(EVOut%lmaxnu_tau(nu_i)+1)
+                    yout(ind2:ind2+lmax) = y(EV%r_ix:EV%r_ix+lmax)
+
+                    !Add leading correction for the mass
+                    q=nu_q(i)
+                    pert_scale=(nu_masses(nu_i)/q)**2/2
+                    lmax = min(lmax,EV%lmaxnu_pert)
+                    yout(ind2:ind2+lmax) = yout(ind2:ind2+lmax) &
+                    + y(EV%nu_pert_ix:EV%nu_pert_ix+lmax)*pert_scale
+                end do
+            end if
+        end do
+
+        if (EVOut%has_nu_relativistic .and. EV%has_nu_relativistic) then
+            lmax = min(EVOut%lmaxnu_pert, EV%lmaxnu_pert)
+            yout(EVout%nu_pert_ix:EVout%nu_pert_ix+lmax)=  y(EV%nu_pert_ix:EV%nu_pert_ix+lmax)
+        end if
+    end if
+
+    end subroutine CopyScalarVariableArray
+
+
+    subroutine SetupTensorArrayIndices(EV, maxeq)
+    type(EvolutionVars) EV
+    integer nu_i, neq
+    integer, optional, intent(out) :: maxeq
+    neq=3
+    EV%g_ix = neq-1 !EV%g_ix+2 is quadrupole
+    if (.not. EV%TensTightCoupling) then
+        EV%E_ix = EV%g_ix + (EV%lmaxt-1)
+        EV%B_ix = EV%E_ix + (EV%lmaxpolt-1)
+        neq = neq+ (EV%lmaxt-1)+(EV%lmaxpolt-1)*2
+    end if
+    if (present(maxeq)) then
+        maxeq =3 + (EV%lmaxt-1)+(EV%lmaxpolt-1)*2
+    end if
+    EV%r_ix = neq -1
+    if (DoTensorNeutrinos) then
+        neq = neq + EV%lmaxnrt-1
+        if (present(maxeq)) maxeq = maxeq+EV%lmaxnrt-1
+        if (CP%Num_Nu_massive /= 0 ) then
+            do nu_i=1, CP%nu_mass_eigenstates
+                EV%EvolveTensorMassiveNu(nu_i) = nu_tau_nonrelativistic(nu_i) < 0.8*tau_maxvis*AccuracyBoost
+                if (EV%EvolveTensorMassiveNu(nu_i)) then
+                    EV%nu_ix(nu_i)=neq-1
+                    neq = neq+ nqmax*(EV%lmaxnut-1)
+                    if (present(maxeq)) maxeq = maxeq + nqmax*(EV%lmaxnut-1)
+                end if
+            end do
+        end if
+    end if
+
+    EV%TensEqsToPropagate = neq
+
+    end  subroutine SetupTensorArrayIndices
+
+    subroutine CopyTensorVariableArray(y,yout, EV, EVout)
+    type(EvolutionVars) EV, EVOut
+    real(dl), intent(in) :: y(EV%nvart)
+    real(dl), intent(out) :: yout(EVout%nvart)
+    integer lmaxpolt, lmaxt, nu_i, ind, ind2, i
+
+    yout=0
+    yout(1:3) = y(1:3)
+    if (.not. EVOut%TensTightCoupling .and. .not.EV%TensTightCoupling) then
+        lmaxt = min(EVOut%lmaxt,EV%lmaxt)
+        yout(EVout%g_ix+2:EVout%g_ix+lmaxt)=y(EV%g_ix+2:EV%g_ix+lmaxt)
+        lmaxpolt = min(EV%lmaxpolt, EVOut%lmaxpolt)
+        yout(EVout%E_ix+2:EVout%E_ix+lmaxpolt)=y(EV%E_ix+2:EV%E_ix+lmaxpolt)
+        yout(EVout%B_ix+2:EVout%B_ix+lmaxpolt)=y(EV%B_ix+2:EV%B_ix+lmaxpolt)
+    end if
+    if (DoTensorNeutrinos) then
+        lmaxt=min(EV%lmaxnrt,EVOut%lmaxnrt)
+        yout(EVout%r_ix+2:EVout%r_ix+lmaxt)=y(EV%r_ix+2:EV%r_ix+lmaxt)
+        do nu_i =1, CP%nu_mass_eigenstates
+            if (EV%EvolveTensorMassiveNu(nu_i)) then
+                lmaxt=min(EV%lmaxnut,EVOut%lmaxnut)
+                do i=1,nqmax
+                    ind= EV%nu_ix(nu_i) + (i-1)*(EV%lmaxnut-1)
+                    ind2=EVOut%nu_ix(nu_i)+ (i-1)*(EVOut%lmaxnut-1)
+                    yout(ind2+2:ind2+lmaxt) = y(ind+2:ind+lmaxt)
+                end do
+            end if
+        end do
+    end if
+
+    end subroutine CopyTensorVariableArray
+
+    subroutine GetNumEqns(EV)
+    use MassiveNu
+    !Set the numer of equations in each hierarchy, and get total number of equations for this k
+    type(EvolutionVars) EV
+    real(dl) scal, max_nu_mass
+    integer nu_i,q_rel,j
+
+    if (CP%Num_Nu_massive == 0) then
+        EV%lmaxnu=0
+        max_nu_mass=0
+    else
+        max_nu_mass = maxval(nu_masses(1:CP%Nu_mass_eigenstates))
+        do nu_i = 1, CP%Nu_mass_eigenstates
+            !Start with momentum modes for which t_k ~ time at which mode becomes non-relativistic
+            q_rel=0
+            do j=1, nqmax
+                !two different q's here EV%q ~k
+                if (nu_q(j) > nu_masses(nu_i)*adotrad/EV%q) exit
+                q_rel = q_rel + 1
+            end do
+
+            if (q_rel>= nqmax-2) then
+                EV%nq(nu_i)=nqmax
+            else
+                EV%nq(nu_i)=q_rel
+            end if
+            !q_rel = nint(nu_masses(nu_i)*adotrad/EV%q) !two dffierent q's here EV%q ~k
+            !EV%nq(nu_i)=max(0,min(nqmax0,q_rel)) !number of momentum modes to evolve intitially
+            EV%nu_nonrelativistic(nu_i) = .false.
+        end do
+
+        EV%NuMethod = CP%MassiveNuMethod
+        if (EV%NuMethod == Nu_Best) EV%NuMethod = Nu_Trunc
+        !l_max for massive neutrinos
+        if (CP%Transfer%high_precision) then
+            EV%lmaxnu=nint(25*lAccuracyBoost)
+        else
+            EV%lmaxnu=max(3,nint(10*lAccuracyBoost))
+            if (max_nu_mass>700) EV%lmaxnu=max(3,nint(15*lAccuracyBoost)) !Feb13 tweak
+        endif
+    end if
+
+    if (CP%closed) then
+        EV%FirstZerolForBeta = nint(EV%q*CP%r)
+    else
+        EV%FirstZerolForBeta=l0max !a large number
+    end if
+
+    EV%high_ktau_neutrino_approx = .false.
+    if (CP%WantScalars) then
+        EV%TightCoupling=.true.
+        EV%no_phot_multpoles =.false.
+        EV%no_nu_multpoles =.false.
+        EV%MassiveNuApprox=.false.
+
+        if (HighAccuracyDefault .and. CP%AccuratePolarization) then
+            EV%lmaxg  = max(nint(11*lAccuracyBoost),3)
+        else
+            EV%lmaxg  = max(nint(8*lAccuracyBoost),3)
+        end if
+        EV%lmaxnr = max(nint(14*lAccuracyBoost),3)
+        if (max_nu_mass>700 .and. HighAccuracyDefault) EV%lmaxnr = max(nint(32*lAccuracyBoost),3) !Feb13 tweak
+
+        EV%lmaxgpol = EV%lmaxg
+        if (.not.CP%AccuratePolarization) EV%lmaxgpol=max(nint(4*lAccuracyBoost),3)
+
+        if (EV%q < 0.05) then
+            !Large scales need fewer equations
+            scal  = 1
+            if (CP%AccuratePolarization) scal = 4  !But need more to get polarization right
+            EV%lmaxgpol=max(3,nint(min(8,nint(scal* 150* EV%q))*lAccuracyBoost))
+            EV%lmaxnr=max(3,nint(min(7,nint(sqrt(scal)* 150 * EV%q))*lAccuracyBoost))
+            EV%lmaxg=max(3,nint(min(8,nint(sqrt(scal) *300 * EV%q))*lAccuracyBoost))
+            if (CP%AccurateReionization) then
+                EV%lmaxg=EV%lmaxg*4
+                EV%lmaxgpol=EV%lmaxgpol*2
+            end if
+        end if
+
+        if (EV%TransferOnly) then
+            EV%lmaxgpol = min(EV%lmaxgpol,nint(5*lAccuracyBoost))
+            EV%lmaxg = min(EV%lmaxg,nint(6*lAccuracyBoost))
+        end if
+        if (CP%Transfer%high_precision) then
+            if (HighAccuracyDefault) then
+                EV%lmaxnr=max(nint(45*lAccuracyBoost),3)
+            else
+                EV%lmaxnr=max(nint(30*lAccuracyBoost),3)
+            endif
+            if (EV%q > 0.04 .and. EV%q < 0.5) then !baryon oscillation scales
+                EV%lmaxg=max(EV%lmaxg,10)
+            end if
+        end if
+
+        if (CP%closed) then
+            EV%lmaxnu=min(EV%lmaxnu, EV%FirstZerolForBeta-1)
+            EV%lmaxnr=min(EV%lmaxnr, EV%FirstZerolForBeta-1)
+            EV%lmaxg=min(EV%lmaxg, EV%FirstZerolForBeta-1)
+            EV%lmaxgpol=min(EV%lmaxgpol, EV%FirstZerolForBeta-1)
+        end if
+
+        EV%poltruncfac=real(EV%lmaxgpol,dl)/max(1,(EV%lmaxgpol-2))
+        EV%MaxlNeeded=max(EV%lmaxg,EV%lmaxnr,EV%lmaxgpol,EV%lmaxnu)
+        if (EV%MaxlNeeded > max_l_evolve) stop 'Need to increase max_l_evolve'
+        call SetupScalarArrayIndices(EV,EV%nvar)
+        if (CP%closed) EV%nvar=EV%nvar+1 !so can reference lmax+1 with zero coefficient
+        EV%lmaxt=0
+    else
+        EV%nvar=0
+    end if
+
+    if (CP%WantTensors) then
+        EV%TensTightCoupling = .true.
+        EV%lmaxt=max(3,nint(8*lAccuracyBoost))
+        EV%lmaxpolt = max(3,nint(4*lAccuracyBoost))
+        ! if (EV%q < 1e-3) EV%lmaxpolt=EV%lmaxpolt+1
+        if (DoTensorNeutrinos) then
+            EV%lmaxnrt=nint(6*lAccuracyBoost)
+            EV%lmaxnut=EV%lmaxnrt
+        else
+            EV%lmaxnut=0
+            EV%lmaxnrt=0
+        end if
+        if (CP%closed) then
+            EV%lmaxt=min(EV%FirstZerolForBeta-1,EV%lmaxt)
+            EV%lmaxpolt=min(EV%FirstZerolForBeta-1,EV%lmaxpolt)
+            EV%lmaxnrt=min(EV%FirstZerolForBeta-1,EV%lmaxnrt)
+            EV%lmaxnut=min(EV%FirstZerolForBeta-1,EV%lmaxnut)
+        end if
+        EV%MaxlNeededt=max(EV%lmaxpolt,EV%lmaxt, EV%lmaxnrt, EV%lmaxnut)
+        if (EV%MaxlNeededt > max_l_evolve) stop 'Need to increase max_l_evolve'
+        call SetupTensorArrayIndices(EV, EV%nvart)
+    else
+        EV%nvart=0
+    end if
+
+
+    if (CP%WantVectors) then
+        EV%lmaxv=max(10,nint(8*lAccuracyBoost))
+        EV%lmaxpolv = max(5,nint(5*lAccuracyBoost))
+
+        EV%nvarv=(EV%lmaxv)+(EV%lmaxpolv-1)*2+3
+
+        EV%lmaxnrv=nint(30*lAccuracyBoost)
+
+        EV%nvarv=EV%nvarv+EV%lmaxnrv
+        if (CP%Num_Nu_massive /= 0 ) then
+            stop 'massive neutrinos not supported for vector modes'
+        end if
+    else
+        EV%nvarv=0
+    end if
+
+    end subroutine GetNumEqns
+
+    !cccccccccccccccccccccccccccccccccc
+    subroutine SwitchToMassiveNuApprox(EV,y, nu_i)
+    !When the neutrinos are no longer highly relativistic we use a truncated
+    !energy-integrated hierarchy going up to third order in velocity dispersion
+    type(EvolutionVars) EV, EVout
+    integer, intent(in) :: nu_i
+
+    real(dl) a,a2,pnu,clxnu,dpnu,pinu,rhonu
+    real(dl) qnu
+    real(dl) y(EV%nvar), yout(EV%nvar)
+
+    a=y(1)
+    a2=a*a
+    EVout=EV
+    EVout%MassiveNuApprox(nu_i)=.true.
+    call SetupScalarArrayIndices(EVout)
+    call CopyScalarVariableArray(y,yout, EV, EVout)
+
+    !Get density and pressure as ratio to massles by interpolation from table
+    call Nu_background(a*nu_masses(nu_i),rhonu,pnu)
+
+    !Integrate over q
+    call Nu_Integrate_L012(EV, y, a, nu_i, clxnu,qnu,dpnu,pinu)
+    !clxnu_here  = rhonu*clxnu, qnu_here = qnu*rhonu
+    dpnu=dpnu/rhonu
+    qnu=qnu/rhonu
+    clxnu = clxnu/rhonu
+    pinu=pinu/rhonu
+
+    yout(EVout%nu_ix(nu_i))=clxnu
+    yout(EVout%nu_ix(nu_i)+1)=dpnu
+    yout(EVout%nu_ix(nu_i)+2)=qnu
+    yout(EVout%nu_ix(nu_i)+3)=pinu
+
+    call Nu_Intvsq(EV,y, a, nu_i, EVout%G11(nu_i),EVout%G30(nu_i))
+    !Analytic solution for higher moments, proportional to a^{-3}
+    EVout%G11(nu_i)=EVout%G11(nu_i)*a2*a/rhonu
+    EVout%G30(nu_i)=EVout%G30(nu_i)*a2*a/rhonu
+
+    EV=EVout
+    y=yout
+
+    end subroutine SwitchToMassiveNuApprox
+
+    subroutine MassiveNuVarsOut(EV,y,yprime,a,grho,gpres,dgrho,dgq,dgpi, gdpi_diff,pidot_sum)
+    implicit none
+    type(EvolutionVars) EV
+    real(dl) :: y(EV%nvar), yprime(EV%nvar),a, grho,gpres,dgrho,dgq,dgpi, gdpi_diff,pidot_sum
+    !grho = a^2 kappa rho
+    !gpres = a^2 kappa p
+    !dgrho = a^2 kappa \delta\rho
+    !dgp =  a^2 kappa \delta p
+    !dgq = a^2 kappa q (heat flux)
+    !dgpi = a^2 kappa pi (anisotropic stress)
+    !dgpi_diff = a^2 kappa (3*p -rho)*pi
+
+    integer nu_i
+    real(dl) pinudot,grhormass_t, rhonu, pnu,  rhonudot
+    real(dl) adotoa, grhonu_t,gpnu_t
+    real(dl) clxnu, qnu, pinu, dpnu
+    real(dl) dtauda
+
+    do nu_i = 1, CP%Nu_mass_eigenstates
+        grhormass_t=grhormass(nu_i)/a**2
+
+        !Get density and pressure as ratio to massless by interpolation from table
+        call Nu_background(a*nu_masses(nu_i),rhonu,pnu)
+
+        if (EV%MassiveNuApprox(nu_i)) then
+            clxnu=y(EV%nu_ix(nu_i))
+            !dpnu = y(EV%iq0+1+off_ix)
+            qnu=y(EV%nu_ix(nu_i)+2)
+            pinu=y(EV%nu_ix(nu_i)+3)
+            pinudot=yprime(EV%nu_ix(nu_i)+3)
+        else
+            !Integrate over q
+            call Nu_Integrate_L012(EV, y, a, nu_i, clxnu,qnu,dpnu,pinu)
+            !clxnu_here  = rhonu*clxnu, qnu_here = qnu*rhonu
+            !dpnu=dpnu/rhonu
+            qnu=qnu/rhonu
+            clxnu = clxnu/rhonu
+            pinu=pinu/rhonu
+            adotoa = 1/(a*dtauda(a))
+            rhonudot = Nu_drho(a*nu_masses(nu_i),adotoa,rhonu)
+
+            call Nu_pinudot(EV,y, yprime, a,adotoa, nu_i,pinudot)
+            pinudot=pinudot/rhonu - rhonudot/rhonu*pinu
+        endif
+
+        grhonu_t=grhormass_t*rhonu
+        gpnu_t=grhormass_t*pnu
+
+        grho = grho  + grhonu_t
+        gpres= gpres + gpnu_t
+
+        dgrho= dgrho + grhonu_t*clxnu
+        dgq  = dgq   + grhonu_t*qnu
+        dgpi = dgpi  + grhonu_t*pinu
+        gdpi_diff = gdpi_diff + pinu*(3*gpnu_t-grhonu_t)
+        pidot_sum = pidot_sum + grhonu_t*pinudot
+    end do
+
+    end subroutine MassiveNuVarsOut
+
+    subroutine Nu_Integrate_L012(EV,y,a,nu_i,drhonu,fnu,dpnu,pinu)
+    type(EvolutionVars) EV
+    !  Compute the perturbations of density and energy flux
+    !  of one eigenstate of massive neutrinos, in units of the mean
+    !  density of one eigenstate of massless neutrinos, by integrating over
+    !  momentum.
+    integer, intent(in) :: nu_i
+    real(dl), intent(in) :: a, y(EV%nvar)
+    real(dl), intent(OUT) ::  drhonu,fnu
+    real(dl), optional, intent(OUT) :: dpnu,pinu
+    real(dl) tmp, am, aq,v, pert_scale
+    integer iq, ind
+
+    !  q is the comoving momentum in units of k_B*T_nu0/c.
+
+    drhonu=0
+    fnu=0
+    if (present(dpnu)) then
+        dpnu=0
+        pinu=0
+    end if
+    am=a*nu_masses(nu_i)
+    ind=EV%nu_ix(nu_i)
+    do iq=1,EV%nq(nu_i)
+        aq=am/nu_q(iq)
+        v=1._dl/sqrt(1._dl+aq*aq)
+        drhonu=drhonu+ nu_int_kernel(iq)* y(ind)/v
+        fnu=fnu+nu_int_kernel(iq)* y(ind+1)
+        if (present(dpnu)) then
+            dpnu=dpnu+  nu_int_kernel(iq)* y(ind)*v
+            pinu=pinu+ nu_int_kernel(iq)*y(ind+2)*v
+        end if
+        ind=ind+EV%lmaxnu_tau(nu_i)+1
+    end do
+    ind = EV%nu_pert_ix
+    do iq=EV%nq(nu_i)+1,nqmax
+        !Get the rest from perturbatively relativistic expansion
+        aq=am/nu_q(iq)
+        v=1._dl/sqrt(1._dl+aq*aq)
+        pert_scale=(nu_masses(nu_i)/nu_q(iq))**2/2
+        tmp = nu_int_kernel(iq)*(y(EV%r_ix)  + pert_scale*y(ind)  )
+        drhonu=drhonu+ tmp/v
+        fnu=fnu+nu_int_kernel(iq)*(y(EV%r_ix+1)+ pert_scale*y(ind+1))
+        if (present(dpnu)) then
+            dpnu=dpnu+ tmp*v
+            pinu = pinu+ nu_int_kernel(iq)*(y(EV%r_ix+2)+ pert_scale*y(ind+2))*v
+        end if
+    end do
+
+    if (present(dpnu)) then
+        dpnu = dpnu/3
+    end if
+
+    end subroutine Nu_Integrate_L012
+
+    subroutine Nu_pinudot(EV,y, ydot, a,adotoa, nu_i,pinudot)
+    type(EvolutionVars) EV
+    integer, intent(in) :: nu_i
+    real(dl), intent(in) :: a,adotoa, y(EV%nvar), ydot(EV%nvar)
+
+    !  Compute the time derivative of the mean density in massive neutrinos
+    !  and the shear perturbation.
+    real(dl) pinudot
+    real(dl) aq,q,v,aqdot,vdot
+    real(dl) psi2,psi2dot
+    real(dl) am, pert_scale
+    integer iq,ind
+
+    !  q is the comoving momentum in units of k_B*T_nu0/c.
+    pinudot=0._dl
+    ind=EV%nu_ix(nu_i)+2
+    am=a*nu_masses(nu_i)
+    do iq=1,EV%nq(nu_i)
+        q=nu_q(iq)
+        aq=am/q
+        aqdot=aq*adotoa
+        v=1._dl/sqrt(1._dl+aq*aq)
+        vdot=-aq*aqdot/(1._dl+aq*aq)**1.5d0
+        pinudot=pinudot+nu_int_kernel(iq)*(ydot(ind)*v+y(ind)*vdot)
+        ind=ind+EV%lmaxnu_tau(nu_i)+1
+    end do
+    ind = EV%nu_pert_ix+2
+    do iq=EV%nq(nu_i)+1,nqmax
+        q=nu_q(iq)
+        aq=am/q
+        aqdot=aq*adotoa
+        pert_scale=(nu_masses(nu_i)/q)**2/2
+        v=1._dl/sqrt(1._dl+aq*aq)
+        vdot=-aq*aqdot/(1._dl+aq*aq)**1.5d0
+        psi2dot=ydot(EV%r_ix+2)  + pert_scale*ydot(ind)
+        psi2=y(EV%r_ix+2)  + pert_scale*y(ind)
+        pinudot=pinudot+nu_int_kernel(iq)*(psi2dot*v+psi2*vdot)
+    end do
+
+    end subroutine Nu_pinudot
+
+    !ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    function Nu_pi(EV,y, a, nu_i) result(pinu)
+    type(EvolutionVars) EV
+    integer, intent(in) :: nu_i
+    real(dl), intent(in) :: a, y(EV%nvar)
+    real(dl) :: am
+    real(dl) pinu,q,aq,v
+    integer iq, ind
+
+    if (EV%nq(nu_i)/=nqmax) stop 'Nu_pi nq/=nqmax0'
+    pinu=0
+    ind=EV%nu_ix(nu_i)+2
+    am=a*nu_masses(nu_i)
+    do iq=1, EV%nq(nu_i)
+        q=nu_q(iq)
+        aq=am/q
+        v=1._dl/sqrt(1._dl+aq*aq)
+        pinu=pinu+nu_int_kernel(iq)*y(ind)*v
+        ind =ind+EV%lmaxnut+1
+    end do
+
+    end function Nu_pi
+
+    !cccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine Nu_Intvsq(EV,y, a, nu_i, G11,G30)
+    type(EvolutionVars) EV
+    integer, intent(in) :: nu_i
+    real(dl), intent(in) :: a, y(EV%nvar)
+    real(dl), intent(OUT) ::  G11,G30
+
+    !  Compute the third order variables (in velocity dispersion)
+    !by integrating over momentum.
+    real(dl) aq,q,v, am
+    integer iq, ind
+
+    !  q is the comoving momentum in units of k_B*T_nu0/c.
+    am=a*nu_masses(nu_i)
+    ind=EV%nu_ix(nu_i)
+    G11=0._dl
+    G30=0._dl
+    if (EV%nq(nu_i)/=nqmax) stop 'Nu_Intvsq nq/=nqmax0'
+    do iq=1, EV%nq(nu_i)
+        q=nu_q(iq)
+        aq=am/q
+        v=1._dl/sqrt(1._dl+aq*aq)
+        G11=G11+nu_int_kernel(iq)*y(ind+1)*v**2
+        if (EV%lmaxnu_tau(nu_i)>2) then
+            G30=G30+nu_int_kernel(iq)*y(ind+3)*v**2
+        end if
+        ind = ind+EV%lmaxnu_tau(nu_i)+1
+    end do
+
+    end subroutine Nu_Intvsq
+
+
+    subroutine MassiveNuVars(EV,y,a,grho,gpres,dgrho,dgq, wnu_arr)
+    implicit none
+    type(EvolutionVars) EV
+    real(dl) :: y(EV%nvar), a, grho,gpres,dgrho,dgq
+    real(dl), intent(out), optional :: wnu_arr(max_nu)
+    !grho = a^2 kappa rho
+    !gpres = a^2 kappa p
+    !dgrho = a^2 kappa \delta\rho
+    !dgp =  a^2 kappa \delta p
+    !dgq = a^2 kappa q (heat flux)
+    integer nu_i
+    real(dl) grhormass_t, rhonu, qnu, clxnu, grhonu_t, gpnu_t, pnu
+
+    do nu_i = 1, CP%Nu_mass_eigenstates
+        grhormass_t=grhormass(nu_i)/a**2
+
+        !Get density and pressure as ratio to massless by interpolation from table
+        call Nu_background(a*nu_masses(nu_i),rhonu,pnu)
+
+        if (EV%MassiveNuApprox(nu_i)) then
+            clxnu=y(EV%nu_ix(nu_i))
+            qnu=y(EV%nu_ix(nu_i)+2)
+        else
+            !Integrate over q
+            call Nu_Integrate_L012(EV, y, a, nu_i, clxnu,qnu)
+            !clxnu_here  = rhonu*clxnu, qnu_here = qnu*rhonu
+            qnu=qnu/rhonu
+            clxnu = clxnu/rhonu
+        endif
+
+        grhonu_t=grhormass_t*rhonu
+        gpnu_t=grhormass_t*pnu
+
+        grho = grho  + grhonu_t
+        gpres= gpres + gpnu_t
+        dgrho= dgrho + grhonu_t*clxnu
+        dgq  = dgq   + grhonu_t*qnu
+
+        if (present(wnu_arr)) then
+            wnu_arr(nu_i) =pnu/rhonu
+        end if
+    end do
+
+    end subroutine MassiveNuVars
+	
+	subroutine GrowthRate(EV,y,tau,k,a,growth,clxtot)
+
+	! DM: This subroutine computes the growth rate as a function of (k,a) for a model
+	! with an axion dark matter component.
+	! Modified from axion-cosmomc-2011 using the full scalar field case
+	! Note this gives the full growth rate with axions but DOES NOT INCLUDE MASSIVE NEUTRINOS
+	! Including these correctly requires outputting delta_total 
+	! and numerically taking derivatives.
+	
+	! Could put this in derivs, so the integrator doesn't need to be called
+	! again every time you need the growth rate?
+
+	   		implicit none
+	   		type(EvolutionVars) EV
+	   		real(dl) :: y(EV%nvar),yprime(EV%nvar),a,a2,k,growth
+			real(dl) :: deltadot,adotoa,clxtot,grho,tau
+			real(dl) :: grhoc_dot,grhoc_t,clxc_dot,clxc,dgrhoc_dot
+			real(dl) :: grhoax_dot,clxax_dot,grhoax_t,clxax,dgrhoax_dot
+			real(dl) :: w_ax,csquared_ax,csquared_ax_use,cad2_use
+			real(dl) :: grhob_t,grhob_dot,clxb,clxb_dot,dgrhob_dot
+			real(dl) :: grhor_t,grhog_t,grhov_t
+			real(dl) :: grhomat,dgrhomat,grhomat_dot,dgrhomat_dot
+			 real(dl) dorp
+        	real(dl) gr
+        	integer i
+
+
+	! DM: note g(density_var_dot) = a^2(density_var_dot) NOT (a^2 density_var)_dot
+
+			call derivs(EV,EV%ScalEqsToPropagate,tau,y,yprime)
+			a = y(1)
+			a2 = a**2.
+			k=EV%k_buf
+
+			! Get LCDM variables
+			grhob_t=grhob/a
+	        grhoc_t=grhoc/a
+	        grhor_t=grhornomass/a2
+	        grhog_t=grhog/a2
+	        grhov_t=grhov*a**(-1-3*w_lam)
+			clxc = y(3)
+	        clxb = y(4)
+			clxc_dot = yprime(3)
+			clxb_dot = yprime(4)
+		!Axion variables
+		!update axion variables 9/19 to include interpoalted densities and eq of state from dan's w_evolve module
+	
+	   	if (a .lt. CP%a_osc) then
+        call spline_out(CP%loga_table,CP%grhoax_table,CP%grhoax_table_buff,ntable,dlog10(a),gr)
+        !write(*,*) a, gr
+        !compute log10 of density use of interpolation
+        !print*,a,grhoc,grhom*(1.0d1**(dble(gr)))/((grhoc+grhob)/(a**3.0d0))
+        if (gr .eq. gr) then
+           !delog it and multiply by physical units
+           dorp=grhom*(1.0d1**(dble(gr)))
+        else
+           dorp=0.0d0
+        endif
+        else
+        	dorp=grhom*CP%drefp_hsq*((CP%a_osc/a)**3.0d0)
+        
+        endif
+        
+        
+grhoax_t=dorp*a2
+	if (a .lt. CP%a_osc) then
+	call spline_out(CP%loga_table,CP%wax_table,CP%wax_table_buff,ntable,dlog10(a),w_ax)
+	else
+	w_ax=0.0d0
+	endif
+
+
+	
+			
+			clxax = y(EV%a_ix)
+			clxax_dot = yprime(EV%a_ix)
+
+
+			! Compute the Hubble rate
+			grho = grhoax_t+grhoc_t+grhob_t+grhov_t+grhor_t+grhog_t
+			adotoa = sqrt(grho/3.)
+
+			! Compute the time derivatives of densities and perturbations
+
+			! LCDM variables
+			grhoc_dot = -3.*adotoa*grhoc_t
+			grhob_dot = -3.*adotoa*grhob_t
+			dgrhoc_dot = grhoc_t*clxc_dot+clxc*grhoc_dot
+			dgrhob_dot = grhob_t*clxb_dot+clxb*grhob_dot	
+			
+			! Axions
+!make change to 1+w_ax, is this correct? 9/22
+			grhoax_dot = -3.*adotoa*(1.d0+w_ax)*grhoax_t
+			dgrhoax_dot = grhoax_t*clxax_dot+clxax*grhoax_dot
+
+
+			! Compute and output delta
+
+			grhomat = grhoc_t+grhob_t+grhoax_t
+			dgrhomat = clxc*grhoc_t+clxb*grhob_t+clxax*grhoax_t
+			clxtot = dgrhomat/grhomat 
+
+			! Compute deltadot
+
+			grhomat_dot = grhoc_dot+grhob_dot+grhoax_dot
+			dgrhomat_dot = dgrhoc_dot+dgrhob_dot+dgrhoax_dot
+
+			deltadot = -clxtot*(grhomat_dot/grhomat)+(dgrhomat_dot/grhomat)
+
+			! Output the growth rate f = d log delta/ d log a		
+			growth = deltadot/(adotoa*clxtot)
+!updated for correct axion homogeneous equations of motion
+		end subroutine GrowthRate
+		
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine output(EV,y, j,tau,sources)
+    use ThermoData
+    use lvalues
+    use ModelData
+    implicit none
+    integer j
+    type(EvolutionVars) EV
+    real(dl), target :: y(EV%nvar),yprime(EV%nvar)
+    real(dl), dimension(:),pointer :: ypol,ypolprime
+
+    real(dl) dgq,grhob_t,grhor_t,grhoc_t,grhog_t,grhov_t,sigma,polter
+    real(dl) qgdot,pigdot,pirdot,vbdot,dgrho
+    real(dl) a,a2,dz,z,clxc,clxb,vb,clxg,qg,pig,clxr,qr,pir
+
+    real(dl) tau,x,divfac
+    real(dl) dgpi_diff, pidot_sum
+    real(dl), target :: pol(3),polprime(3)
+    !dgpi_diff = sum (3*p_nu -rho_nu)*pi_nu
+
+    real(dl) k,k2  ,adotoa, grho, gpres,etak,phi,dgpi
+    real(dl)  diff_rhopi, octg, octgprime,vq
+    real(dl) sources(CTransScal%NumSources)
+    !        real(dl) t4,t92
+    real(dl) ISW
+    real(dl) w_eff
+    real(dl) hdotoh,ppiedot
+
+	  real(dl)grhoax_t,clxax,v_ax,w_ax,gpres_ax ! Axion variables
+        real(dl)growth,clxtot ! DM: Growth Rate
+        real(dl) dorp
+        real(dl) gr
+        integer i	
+
+    yprime = 0
+    call derivs(EV,EV%ScalEqsToPropagate,tau,y,yprime)
+
+    if (EV%TightCoupling .or. EV%no_phot_multpoles) then
+        pol=0
+        polprime=0
+        ypolprime => polprime
+        ypol => pol
+    else
+        ypolprime => yprime(EV%polind+1:)
+        ypol => y(EV%polind+1:)
+    end if
+
+    k=EV%k_buf
+    k2=EV%k2_buf
+
+    a   =y(1)
+    a2  =a*a
+    etak=y(2)
+    clxc=y(3)
+    clxb=y(4)
+    vb  =y(5)
+    vbdot =yprime(5)
+	 !clxax=clxc
+        ! Axions
+        clxax=y(EV%a_ix)
+        v_ax=y(EV%a_ix+1)
+        
+    !  Compute expansion rate from: grho 8*pi*rho*a**2
+
+    grhob_t=grhob/a
+    grhoc_t=grhoc/a
+    grhor_t=grhornomass/a2
+    grhog_t=grhog/a2
+
+ !Axion variables
+        !update axion variables 9/19 to include interpoalted densities and eq of state from dan's w_evolve module
+	
+          	if (a .lt. CP%a_osc) then
+        call spline_out(CP%loga_table,CP%grhoax_table,CP%grhoax_table_buff,ntable,dlog10(a),gr)
+        !write(*,*) a, gr
+        !compute log10 of density use of interpolation
+        !print*,a,grhoc,grhom*(1.0d1**(dble(gr)))/((grhoc+grhob)/(a**3.0d0))
+        if (gr .eq. gr) then
+           !delog it and multiply by physical units
+           dorp=grhom*(1.0d1**(dble(gr)))
+        else
+           dorp=0.0d0
+        endif
+        else
+        	dorp=grhom*CP%drefp_hsq*((CP%a_osc/a)**3.0d0)
+        
+        endif
+        
+        
+        grhoax_t=dorp*a2
+        if (a .lt. CP%a_osc) then
+	call spline_out(CP%loga_table,CP%wax_table,CP%wax_table_buff,ntable,dlog10(a),w_ax)
+        else
+        w_ax=0.0d0
+        endif
+        gpres_ax=w_ax*grhoax_t
+
+
+        grho=grhob_t+grhoc_t+grhor_t+grhog_t+grhoax_t ! RH removed the lambda term for later
+        gpres=(grhog_t+grhor_t)/3+gpres_ax ! RH removed the lambda pressure term for later
+        
+        !  8*pi*a*a*SUM[rho_i*clx_i] add radiation later
+        
+        dgrho=grhob_t*clxb+grhoc_t*clxc+grhoax_t*clxax
+        
+        !  8*pi*a*a*SUM[(rho_i+p_i)*v_i]
+        dgq=grhob_t*vb+v_ax*grhoax_t ! only baryons and axions for now
+        
+        if (is_cosmological_constant) then
+        w_eff = -1_dl
+        grhov_t=grhov*a2
+        grho = grho+grhov_t ! add in the DE
+
+    else
+        !ppf
+        w_eff=w_de(a)   !effective de
+        grhov_t=grho_de(a)/a2
+        grho = grho+grhov_t
+        dgrho=dgrho+EV%dgrho_e_ppf
+        dgq=dgq+EV%dgq_e_ppf
+    end if
+
+
+	gpres=gpres+grhov_t*w_eff ! RH add in the DE now
+
+    dgpi= 0
+    dgpi_diff = 0
+    pidot_sum = 0
+
+
+    if (CP%Num_Nu_Massive /= 0) then
+        call MassiveNuVarsOut(EV,y,yprime,a,grho,gpres,dgrho,dgq,dgpi, dgpi_diff,pidot_sum)
+    end if
+
+    adotoa=sqrt((grho+grhok)/3)
+
+    if (EV%no_nu_multpoles) then
+        z=(0.5_dl*dgrho/k + etak)/adotoa
+        dz= -adotoa*z - 0.5_dl*dgrho/k
+        clxr=-4*dz/k
+        qr=-4._dl/3*z
+        pir=0
+        pirdot=0
+    else
+        clxr=y(EV%r_ix)
+        qr  =y(EV%r_ix+1)
+        pir =y(EV%r_ix+2)
+        pirdot=yprime(EV%r_ix+2)
+    end if
+
+    if (EV%no_phot_multpoles) then
+        z=(0.5_dl*dgrho/k + etak)/adotoa
+        dz= -adotoa*z - 0.5_dl*dgrho/k
+        clxg=-4*dz/k -4/k*opac(j)*(vb+z)
+        qg=-4._dl/3*z
+        pig=0
+        pigdot=0
+        octg=0
+        octgprime=0
+        qgdot = -4*dz/3
+    else
+        if (EV%TightCoupling) then
+            pig = EV%pig
+            !pigdot=EV%pigdot
+            if (second_order_tightcoupling) then
+                octg = (3._dl/7._dl)*pig*(EV%k_buf/opac(j))
+                ypol(2) = EV%pig/4 + EV%pigdot*(1._dl/opac(j))*(-5._dl/8._dl)
+                ypol(3) = (3._dl/7._dl)*(EV%k_buf/opac(j))*ypol(2)
+            else
+                ypol(2) = EV%pig/4
+                octg=0
+            end if
+            octgprime=0
+        else
+            pig =y(EV%g_ix+2)
+            pigdot=yprime(EV%g_ix+2)
+            octg=y(EV%g_ix+3)
+            octgprime=yprime(EV%g_ix+3)
+        end if
+        clxg=y(EV%g_ix)
+        qg  =y(EV%g_ix+1)
+        qgdot =yprime(EV%g_ix+1)
+    end if
+
+    dgrho = dgrho + grhog_t*clxg+grhor_t*clxr
+    dgq   = dgq   + grhog_t*qg+grhor_t*qr
+    dgpi  = dgpi  + grhor_t*pir + grhog_t*pig
+
+
+    !  Get sigma (shear) and z from the constraints
+    !  have to get z from eta for numerical stability
+    z=(0.5_dl*dgrho/k + etak)/adotoa
+    sigma=(z+1.5_dl*dgq/k2)/EV%Kf(1)
+
+    if (is_cosmological_constant) then
+	    ppiedot=0
+    else
+        hdotoh=(-3._dl*grho-3._dl*gpres -2._dl*grhok)/6._dl/adotoa
+        ppiedot=3._dl*EV%dgrho_e_ppf+EV%dgq_e_ppf*(12._dl/k*adotoa+k/adotoa-3._dl/k*(adotoa+hdotoh))+ &
+        grhov_t*(1+w_eff)*k*z/adotoa -2._dl*k2*EV%Kf(1)*(yprime(EV%w_ix)/adotoa-2._dl*y(EV%w_ix))
+        ppiedot=ppiedot*adotoa/EV%Kf(1)
+    end if
+
+    polter = 0.1_dl*pig+9._dl/15._dl*ypol(2)
+
+    if (CP%flat) then
+        x=k*(CP%tau0-tau)
+        divfac=x*x
+    else
+        x=(CP%tau0-tau)/CP%r
+        divfac=(CP%r*rofChi(x))**2*k2
+    end if
+
+
+    if (EV%TightCoupling) then
+        if (second_order_tightcoupling) then
+            pigdot = EV%pigdot
+            ypolprime(2)= (pigdot/4._dl)*(1+(5._dl/2._dl)*(dopac(j)/opac(j)**2))
+        else
+            pigdot = -dopac(j)/opac(j)*pig + 32._dl/45*k/opac(j)*(-2*adotoa*sigma  &
+            +etak/EV%Kf(1)-  dgpi/k +vbdot )
+            ypolprime(2)= pigdot/4
+        end if
+    end if
+
+    pidot_sum =  pidot_sum + grhog_t*pigdot + grhor_t*pirdot
+    diff_rhopi = pidot_sum - (4*dgpi+ dgpi_diff )*adotoa + ppiedot
+
+
+    !Maple's fortran output - see scal_eqs.map
+    !2phi' term (\phi' + \psi' in Newtonian gauge)
+    ISW = (4.D0/3.D0*k*EV%Kf(1)*sigma+(-2.D0/3.D0*sigma-2.D0/3.D0*etak/adotoa)*k &
+    -diff_rhopi/k**2-1.D0/adotoa*dgrho/3.D0+(3.D0*gpres+5.D0*grho)*sigma/k/3.D0 &
+    -2.D0/k*adotoa/EV%Kf(1)*etak)*expmmu(j)
+
+    !e.g. to get only late-time ISW
+    !  if (1/a-1 < 30) ISW=0
+
+    !The rest, note y(9)->octg, yprime(9)->octgprime (octopoles)
+    sources(1)= ISW +  ((-9.D0/160.D0*pig-27.D0/80.D0*ypol(2))/k**2*opac(j)+ &
+    (11.D0/10.D0*sigma- 3.D0/8.D0*EV%Kf(2)*ypol(3)+vb-9.D0/80.D0*EV%Kf(2)*octg+3.D0/40.D0*qg)/k- &
+    (-180.D0*ypolprime(2)-30.D0*pigdot)/k**2/160.D0)*dvis(j) + &
+    (-(9.D0*pigdot+ 54.D0*ypolprime(2))/k**2*opac(j)/160.D0+pig/16.D0+clxg/4.D0+3.D0/8.D0*ypol(2) + &
+    (-21.D0/5.D0*adotoa*sigma-3.D0/8.D0*EV%Kf(2)*ypolprime(3) + &
+    vbdot+3.D0/40.D0*qgdot- 9.D0/80.D0*EV%Kf(2)*octgprime)/k + &
+    (-9.D0/160.D0*dopac(j)*pig-21.D0/10.D0*dgpi-27.D0/80.D0*dopac(j)*ypol(2))/k**2)*vis(j) + &
+    (3.D0/16.D0*ddvis(j)*pig+9.D0/8.D0*ddvis(j)*ypol(2))/k**2+21.D0/10.D0/k/EV%Kf(1)*vis(j)*etak
+
+    ! Doppler term
+    !   sources(1)=  (sigma+vb)/k*dvis(j)+((-2.D0*adotoa*sigma+vbdot)/k-1.D0/k**2*dgpi)*vis(j) &
+    !         +1.D0/k/EV%Kf(1)*vis(j)*etak
+
+    !Equivalent full result
+    !    t4 = 1.D0/adotoa
+    !    t92 = k**2
+    !    sources(1) = (4.D0/3.D0*EV%Kf(1)*expmmu(j)*sigma+2.D0/3.D0*(-sigma-t4*etak)*expmmu(j))*k+ &
+    !        (3.D0/8.D0*ypol(2)+pig/16.D0+clxg/4.D0)*vis(j)
+    !    sources(1) = sources(1)-t4*expmmu(j)*dgrho/3.D0+((11.D0/10.D0*sigma- &
+    !         3.D0/8.D0*EV%Kf(2)*ypol(3)+vb+ 3.D0/40.D0*qg-9.D0/80.D0*EV%Kf(2)*y(9))*dvis(j)+(5.D0/3.D0*grho+ &
+    !        gpres)*sigma*expmmu(j)+(-2.D0*adotoa*etak*expmmu(j)+21.D0/10.D0*etak*vis(j))/ &
+    !        EV%Kf(1)+(vbdot-3.D0/8.D0*EV%Kf(2)*ypolprime(3)+3.D0/40.D0*qgdot-21.D0/ &
+    !        5.D0*sigma*adotoa-9.D0/80.D0*EV%Kf(2)*yprime(9))*vis(j))/k+(((-9.D0/160.D0*pigdot- &
+    !        27.D0/80.D0*ypolprime(2))*opac(j)-21.D0/10.D0*dgpi -27.D0/80.D0*dopac(j)*ypol(2) &
+    !        -9.D0/160.D0*dopac(j)*pig)*vis(j) - diff_rhopi*expmmu(j)+((-27.D0/80.D0*ypol(2)-9.D0/ &
+    !        160.D0*pig)*opac(j)+3.D0/16.D0*pigdot+9.D0/8.D0*ypolprime(2))*dvis(j)+9.D0/ &
+    !        8.D0*ddvis(j)*ypol(2)+3.D0/16.D0*ddvis(j)*pig)/t92
+
+
+    if (x > 0._dl) then
+        !E polarization source
+        sources(2)=vis(j)*polter*(15._dl/8._dl)/divfac
+        !factor of four because no 1/16 later
+    else
+        sources(2)=0
+    end if
+
+    if (CTransScal%NumSources > 2) then
+        !Get lensing sources
+        !Can modify this here if you want to get power spectra for other tracer
+        if (tau>taurend .and. CP%tau0-tau > 0.1_dl) then
+            !phi_lens = Phi - 1/2 kappa (a/k)^2 sum_i rho_i pi_i
+            !Neglect pi contributions because not accurate at late time anyway
+            phi = -(dgrho +3*dgq*adotoa/k)/(k2*EV%Kf(1)*2)
+            ! - dgpi/k2/2
+
+            sources(3) = -2*phi*f_K(tau-tau_maxvis)/(f_K(CP%tau0-tau_maxvis)*f_K(CP%tau0-tau))
+
+            !         sources(3) = -2*phi*(tau-tau_maxvis)/((CP%tau0-tau_maxvis)*(CP%tau0-tau))
+            !We include the lensing factor of two here
+        else
+            sources(3) = 0
+        end if
+    end if
+
+    end subroutine output
+
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine outputt(EV,yt,n,j,tau,dt,dte,dtb)
+    !calculate the tensor sources for open and closed case
+    use ThermoData
+
+    implicit none
+    integer j,n
+    type(EvolutionVars) :: EV
+    real(dl), target :: yt(n), ytprime(n)
+    real(dl) tau,dt,dte,dtb,x,polterdot,polterddot,prefac
+    real(dl) pig, pigdot, octg, aux, polter, shear, adotoa,a
+    real(dl) sinhxr,cothxor
+    real(dl) k,k2
+    real(dl), dimension(:),pointer :: E,Bprime,Eprime
+    real(dl), target :: pol(3),polEprime(3), polBprime(3)
+    real(dl) dtauda
+
+    call derivst(EV,EV%nvart,tau,yt,ytprime)
+
+    k2=EV%k2_buf
+    k=EV%k_buf
+    aux=EV%aux_buf
+    shear = yt(3)
+
+    x=(CP%tau0-tau)/CP%r
+
+    !  And the electric part of the Weyl.
+    if (.not. EV%TensTightCoupling) then
+        !  Use the full expression for pigdt
+        pig=yt(EV%g_ix+2)
+        pigdot=ytprime(EV%g_ix+2)
+        E => yt(EV%E_ix+1:)
+        Eprime=> ytprime(EV%E_ix+1:)
+        Bprime => ytprime(EV%B_ix+1:)
+        octg=ytprime(EV%g_ix+3)
+    else
+        !  Use the tight-coupling approximation
+        a =yt(1)
+        adotoa = 1/(a*dtauda(a))
+        pigdot=32._dl/45._dl*k/opac(j)*(2._dl*adotoa*shear+ytprime(3))
+        pig = 32._dl/45._dl*k/opac(j)*shear
+        pol=0
+        polEprime=0
+        polBprime=0
+        E=>pol
+        EPrime=>polEPrime
+        BPrime=>polBPrime
+        E(2)=pig/4._dl
+        EPrime(2)=pigdot/4
+        octg=0
+    endif
+
+    sinhxr=rofChi(x)*CP%r
+
+    if (EV%q*sinhxr > 1.e-8_dl) then
+        prefac=sqrt(EV%q2*CP%r*CP%r-CP%Ksign)
+        cothxor=cosfunc(x)/sinhxr
+
+        polter = 0.1_dl*pig + 9._dl/15._dl*E(2)
+        polterdot=9._dl/15._dl*Eprime(2) + 0.1_dl*pigdot
+        polterddot = 9._dl/15._dl*(-dopac(j)*(E(2)-polter)-opac(j)*(  &
+        Eprime(2)-polterdot) + k*(2._dl/3._dl*Bprime(2)*aux - 5._dl/27._dl*Eprime(3)*EV%Kft(2))) &
+        +0.1_dl*(k*(-octg*EV%Kft(2)/3._dl + 8._dl/15._dl*ytprime(3)) - &
+        dopac(j)*(pig - polter) - opac(j)*(pigdot-polterdot))
+
+        dt=(shear*expmmu(j) + (15._dl/8._dl)*polter*vis(j)/k)*CP%r/sinhxr**2/prefac
+
+        dte=CP%r*15._dl/8._dl/k/prefac* &
+        ((ddvis(j)*polter + 2._dl*dvis(j)*polterdot + vis(j)*polterddot)  &
+        + 4._dl*cothxor*(dvis(j)*polter + vis(j)*polterdot) - &
+        vis(j)*polter*(k2 -6*cothxor**2))
+
+        dtb=15._dl/4._dl*EV%q*CP%r/k/prefac*(vis(j)*(2._dl*cothxor*polter + polterdot) + dvis(j)*polter)
+    else
+        dt=0._dl
+        dte=0._dl
+        dtb=0._dl
+    end if
+
+    end subroutine outputt
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine outputv(EV,yv,n,j,tau,dt,dte,dtb)
+    !calculate the vector sources
+    use ThermoData
+
+    implicit none
+    integer j,n
+    type(EvolutionVars) :: EV
+    real(dl), target :: yv(n), yvprime(n)
+    real(dl) tau,dt,dte,dtb,x,polterdot
+    real(dl) vb,qg, pig, polter, sigma
+    real(dl) k,k2
+    real(dl), dimension(:),pointer :: E,Eprime
+
+    call derivsv(EV,EV%nvarv,tau,yv,yvprime)
+
+    k2=EV%k2_buf
+    k=EV%k_buf
+    sigma = yv(2)
+    vb  = yv(3)
+    qg  = yv(4)
+    pig = yv(5)
+
+
+    x=(CP%tau0-tau)*k
+
+    if (x > 1.e-8_dl) then
+        E => yv(EV%lmaxv+3:)
+        Eprime=> yvprime(EV%lmaxv+3:)
+
+        polter = 0.1_dl*pig + 9._dl/15._dl*E(2)
+        polterdot=9._dl/15._dl*Eprime(2) + 0.1_dl*yvprime(5)
+
+        if (yv(1) < 1e-3) then
+            dt = 1
+        else
+            dt =0
+        end if
+        dt= (4*(vb+sigma)*vis(j) + 15._dl/2/k*( vis(j)*polterdot + dvis(j)*polter) &
+        + 4*(expmmu(j)*yvprime(2)) )/x
+
+        dte= 15._dl/2*2*polter/x**2*vis(j) + 15._dl/2/k*(dvis(j)*polter + vis(j)*polterdot)/x
+
+        dtb= -15._dl/2*polter/x*vis(j)
+    else
+        dt=0
+        dte=0
+        dtb=0
+    end if
+
+    end subroutine outputv
+
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine initial(EV,y, tau)
+    !  Initial conditions.
+    use constants
+    use ThermoData
+    implicit none
+
+    type(EvolutionVars) EV
+    real(dl) y(EV%nvar)
+    real(dl) Rp15,tau,x,x2,x3,om,omtau, &
+    Rc,Rb,Rv,Rg,grhonu,chi
+    real(dl) k,k2
+    real(dl) a,a2, iqg, rhomass,a_massive, ep
+    integer l,i, nu_i, j, ind
+  	integer, parameter :: i_clxg=1,i_clxr=2,i_clxc=3, i_clxb=4, &
+    		i_qg=5,i_qr=6,i_vb=7,i_pir=8, i_eta=9, i_aj3r=10,i_clxq=11,i_vq=12, &
+			i_clxax=13,i_v_ax=14
+   
+    integer, parameter :: i_max = i_v_ax
+    real(dl) initv(6,1:i_max), initvec(1:i_max)
+    real(dl) Ra,omr,AA,FF,frac,aeq !DM: quantities for axion isocurvature
+		!variables for finding a_osc/aeq and which is first
+		double precision lnamin,lnamax,dlna
+		double precision, allocatable::a_arr(:),lna_arr(:),f_arr(:),fax_arr(:)
+		double precision, allocatable::fmatt_arr(:),frad_arr(:)
+		double precision,allocatable::lna_arr_small(:),a_arr_small(:)
+		double precision, allocatable::fmatt_arr_small(:)
+		double precision, allocatable::fax_arr_small(:),frad_arr_small(:)
+		double precision, allocatable:: f_arr_small(:),a_eq_buff(:)
+		double precision, allocatable::aeq_buff(:)
+		integer llo_out,lhi_out
+		double precision ho_out,a0_out,b0_out,Konstant
+		double precision H_eV
+
+				!get hubble in units of eV in terms of standarf formula
+		H_eV=1.d14*6.5821d-27*dble(CP%H0)/(MPC_in_sec*c)
+
+		EV%m_ax=CP%ma/H_eV
+!                print*, 'mass Renee', CP%ma, 'EV%m_ax', EV%m_ax
+		!renormalize mass in terms of hubble and use throughout boltzmann code as needed and store in big internal data structure eV
+		!print*,EV%m_ax
+    if (CP%flat) then
+        EV%k_buf=EV%q
+        EV%k2_buf=EV%q2
+        EV%Kf(1:EV%MaxlNeeded)=1._dl
+    else
+        EV%k2_buf=EV%q2-CP%curv
+        EV%k_buf=sqrt(EV%k2_buf)
+
+        do l=1,EV%MaxlNeeded
+            EV%Kf(l)=1._dl-CP%curv*(l*(l+2))/EV%k2_buf
+        end do
+    end if
+
+    k=EV%k_buf
+    k2=EV%k2_buf
+
+    do j=1,EV%MaxlNeeded
+        EV%denlk(j)=denl(j)*k*j
+        EV%denlk2(j)=denl(j)*k*EV%Kf(j)*(j+1)
+        EV%polfack(j)=polfac(j)*k*EV%Kf(j)*denl(j)
+    end do
+
+    !Get time to switch off tight coupling
+    !The numbers here are a bit of guesswork
+    !The high k increase saves time for very small loss of accuracy
+    !The lower k ones are more delicate. Nead to avoid instabilities at same time
+    !as ensuring tight coupling is accurate enough
+    if (EV%k_buf > epsw) then
+        if (EV%k_buf > epsw*5) then
+            ep=ep0*5/AccuracyBoost
+            if (HighAccuracyDefault) ep = ep*0.65
+        else
+            ep=ep0
+        end if
+    else
+        ep=ep0
+    end if
+    if (second_order_tightcoupling) ep=ep*2
+    EV%TightSwitchoffTime = min(tight_tau,Thermo_OpacityToTime(EV%k_buf/ep))
+
+
+    y=0
+
+    !  k*tau, (k*tau)**2, (k*tau)**3
+    x=k*tau
+    x2=x*x
+    x3=x2*x
+    rhomass =  sum(grhormass(1:CP%Nu_mass_eigenstates))
+    grhonu=rhomass+grhornomass
+
+   om = (grhob+grhoc)/sqrt(3*(grhog+grhonu))  ! DM: for a_i<<a_osc, axions do not contribute in background expansion 
+! DM: therefore adiabtic initial conditions completely unchanged in this case.    
+        omtau=om*tau
+        Rv=grhonu/(grhonu+grhog)
+        
+        Rg = 1-Rv
+        Rc=(CP%omegac)/(CP%omegac+CP%omegab) ! DM: no axions in here for same reason
+        Rb=1-Rc
+        Rp15=4*Rv+15
+
+    if (CP%Scalar_initial_condition > initial_nummodes) &
+    stop 'Invalid initial condition for scalar modes'
+
+    a=tau*adotrad*(1+omtau/4)
+    a2=a*a
+
+    initv=0
+
+    !  Set adiabatic initial conditions
+
+    chi=1  !Get transfer function for chi
+    initv(1,i_clxg)=-chi*EV%Kf(1)/3*x2*(1-omtau/5)
+    initv(1,i_clxr)= initv(1,i_clxg)
+    initv(1,i_clxb)=0.75_dl*initv(1,i_clxg)
+    initv(1,i_clxc)=initv(1,i_clxb)
+    initv(1,i_qg)=initv(1,i_clxg)*x/9._dl
+    initv(1,i_qr)=-chi*EV%Kf(1)*(4*Rv+23)/Rp15*x3/27
+    initv(1,i_vb)=0.75_dl*initv(1,i_qg)
+    initv(1,i_pir)=chi*4._dl/3*x2/Rp15*(1+omtau/4*(4*Rv-5)/(2*Rv+15))
+    initv(1,i_aj3r)=chi*4/21._dl/Rp15*x3
+    initv(1,i_eta)=-chi*2*EV%Kf(1)*(1 - x2/12*(-10._dl/Rp15 + EV%Kf(1)))
+	initv(1,i_clxax)=0
+	initv(1,i_v_ax)=0
+
+
+    if (CP%Scalar_initial_condition/= initial_adiabatic) then
+        !CDM isocurvature
+
+        initv(2,i_clxg)= Rc*omtau*(-2._dl/3 + omtau/4)
+        initv(2,i_clxr)=initv(2,i_clxg)
+        initv(2,i_clxb)=initv(2,i_clxg)*0.75_dl
+        initv(2,i_clxc)=1+initv(2,i_clxb)
+        initv(2,i_qg)=-Rc/9*omtau*x
+        initv(2,i_qr)=initv(2,i_qg)
+        initv(2,i_vb)=0.75_dl*initv(2,i_qg)
+        initv(2,i_pir)=-Rc*omtau*x2/3/(2*Rv+15._dl)
+        initv(2,i_eta)= Rc*omtau*(1._dl/3 - omtau/8)*EV%Kf(1)
+        initv(2,i_aj3r)=0
+        !Baryon isocurvature
+        if (Rc==0) stop 'Isocurvature initial conditions assume non-zero dark matter'
+
+        initv(3,:) = initv(2,:)*(Rb/Rc)
+        initv(3,i_clxc) = initv(3,i_clxb)
+        initv(3,i_clxb)= initv(3,i_clxb)+1
+
+        !neutrino isocurvature density mode
+
+        initv(4,i_clxg)=Rv/Rg*(-1 + x2/6)
+        initv(4,i_clxr)=1-x2/6
+        initv(4,i_clxc)=-omtau*x2/80*Rv*Rb/Rg
+        initv(4,i_clxb)= Rv/Rg/8*x2
+        iqg = - Rv/Rg*(x/3 - Rb/4/Rg*omtau*x)
+        initv(4,i_qg) =iqg
+        initv(4,i_qr) = x/3
+        initv(4,i_vb)=0.75_dl*iqg
+        initv(4,i_pir)=x2/Rp15
+        initv(4,i_eta)=EV%Kf(1)*Rv/Rp15/3*x2
+
+        !neutrino isocurvature velocity mode
+
+        initv(5,i_clxg)=Rv/Rg*x - 2*x*omtau/16*Rb*(2+Rg)/Rg**2
+        initv(5,i_clxr)=-x -3*x*omtau*Rb/16/Rg
+        initv(5,i_clxc)=-9*omtau*x/64*Rv*Rb/Rg
+        initv(5,i_clxb)= 3*Rv/4/Rg*x - 9*omtau*x/64*Rb*(2+Rg)/Rg**2
+        iqg = Rv/Rg*(-1 + 3*Rb/4/Rg*omtau+x2/6 +3*omtau**2/16*Rb/Rg**2*(Rg-3*Rb))
+        initv(5,i_qg) =iqg
+        initv(5,i_qr) = 1 - x2/6*(1+4*EV%Kf(1)/(4*Rv+5))
+        initv(5,i_vb)=0.75_dl*iqg
+        initv(5,i_pir)=2*x/(4*Rv+5)+omtau*x*6/Rp15/(4*Rv+5)
+        initv(5,i_eta)=2*EV%Kf(1)*x*Rv/(4*Rv+5) + omtau*x*3*EV%Kf(1)*Rv/32*(Rb/Rg - 80/Rp15/(4*Rv+5))
+        initv(5,i_aj3r) = 3._dl/7*x2/(4*Rv+5)
+
+        !quintessence isocurvature mode
+
+     end if
+
+
+    if (CP%Scalar_initial_condition==initial_vector) then
+        InitVec = 0
+        do i=1,initial_nummodes
+            InitVec = InitVec+ initv(i,:)*CP%InitialConditionVector(i)
+        end do
+    else
+        InitVec = initv(CP%Scalar_initial_condition,:)
+        if (CP%Scalar_initial_condition==initial_adiabatic) InitVec = -InitVec
+        !So we start with chi=-1 as before
+    end if
+
+    y(1)=a
+    y(2)= -InitVec(i_eta)*k/2
+    !get eta_s*k, where eta_s is synchronous gauge variable
+
+    !  CDM
+    y(3)=InitVec(i_clxc)
+
+    !  Baryons
+    y(4)=InitVec(i_clxb)
+    y(5)=InitVec(i_vb)
+
+
+! Axions
+    
+    y(EV%a_ix)=InitVec(i_clxax)
+    y(EV%a_ix+1)=InitVec(i_v_ax)
+    !  Photons
+    y(EV%g_ix)=InitVec(i_clxg)
+    y(EV%g_ix+1)=InitVec(i_qg)
+
+    if (.not. is_cosmological_constant) then
+        y(EV%w_ix) = InitVec(i_clxq) !ppf: Gamma=0, i_clxq stands for i_Gamma
+    end if
+
+    !  Neutrinos
+    y(EV%r_ix)=InitVec(i_clxr)
+    y(EV%r_ix+1)=InitVec(i_qr)
+    y(EV%r_ix+2)=InitVec(i_pir)
+
+    if (EV%lmaxnr>2) then
+        y(EV%r_ix+3)=InitVec(i_aj3r)
+    endif
+
+    if (CP%Num_Nu_massive == 0) return
+
+    do nu_i = 1, CP%Nu_mass_eigenstates
+        EV%MassiveNuApproxTime(nu_i) = Nu_tau_massive(nu_i)
+        a_massive =  20000*k/nu_masses(nu_i)*AccuracyBoost*lAccuracyBoost
+        if (a_massive >=0.99) then
+            EV%MassiveNuApproxTime(nu_i)=CP%tau0+1
+        else if (a_massive > 17.d0/nu_masses(nu_i)*AccuracyBoost) then
+            EV%MassiveNuApproxTime(nu_i)=max(EV%MassiveNuApproxTime(nu_i),DeltaTime(0._dl,a_massive, 0.01_dl))
+        end if
+        ind = EV%nu_ix(nu_i)
+        do  i=1,EV%nq(nu_i)
+            y(ind:ind+2)=y(EV%r_ix:EV%r_ix+2)
+            if (EV%lmaxnu_tau(nu_i)>2) y(ind+3)=InitVec(i_aj3r)
+            ind = ind + EV%lmaxnu_tau(nu_i)+1
+        end do
+    end do
+
+    end subroutine initial
+
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine initialt(EV,yt,tau)
+    !  Initial conditions for tensors
+    use ThermoData
+    implicit none
+    real(dl) bigR,tau,x,aj3r,elec, pir, rhomass
+    integer l
+    type(EvolutionVars) EV
+    real(dl) k,k2 ,a, omtau
+    real(dl) yt(EV%nvart)
+    real(dl) tens0, ep, tensfac
+
+    if (CP%flat) then
+        EV%aux_buf=1._dl
+        EV%k2_buf=EV%q2
+        EV%k_buf=EV%q
+        EV%Kft(1:EV%MaxlNeededt)=1._dl !initialize for flat case
+    else
+        EV%k2_buf=EV%q2-3*CP%curv
+        EV%k_buf=sqrt(EV%k2_buf)
+        EV%aux_buf=sqrt(1._dl+3*CP%curv/EV%k2_buf)
+    endif
+
+    k=EV%k_buf
+    k2=EV%k2_buf
+
+    do l=1,EV%MaxlNeededt
+        if (.not. CP%flat) EV%Kft(l)=1._dl-CP%curv*((l+1)**2-3)/k2
+        EV%denlkt(1,l)=k*denl(l)*l !term for L-1
+        tensfac=real((l+3)*(l-1),dl)/(l+1)
+        EV%denlkt(2,l)=k*denl(l)*tensfac*EV%Kft(l) !term for L+1
+        EV%denlkt(3,l)=k*denl(l)*tensfac**2/(l+1)*EV%Kft(l) !term for polarization
+        EV%denlkt(4,l)=k*4._dl/(l*(l+1))*EV%aux_buf !other for polarization
+    end do
+
+    if (k > 0.06_dl*epsw) then
+        ep=ep0
+    else
+        ep=0.2_dl*ep0
+    end if
+
+    !    finished_tightcoupling = ((k/opacity > ep).or.(1._dl/(opacity*tau) > ep))
+    EV%TightSwitchoffTime = min(tight_tau,Thermo_OpacityToTime(EV%k_buf/ep))
+
+    a=tau*adotrad
+    rhomass =  sum(grhormass(1:CP%Nu_mass_eigenstates))
+    omtau = tau*(grhob+grhoc)/sqrt(3*(grhog+rhomass+grhornomass))
+
+    if (DoTensorNeutrinos) then
+        bigR = (rhomass+grhornomass)/(rhomass+grhornomass+grhog)
+    else
+        bigR = 0._dl
+    end if
+
+    x=k*tau
+
+    yt(1)=a
+    tens0 = 1
+
+    yt(2)= tens0
+    !commented things are for the compensated mode with magnetic fields; can be neglected
+    !-15/28._dl*x**2*(bigR-1)/(15+4*bigR)*Magnetic*(1-5./2*omtau/(2*bigR+15))
+
+    elec=-tens0*(1+2*CP%curv/k2)*(2*bigR+10)/(4*bigR+15) !elec, with H=1
+
+    !shear
+    yt(3)=-5._dl/2/(bigR+5)*x*elec
+    !          + 15._dl/14*x*(bigR-1)/(4*bigR+15)*Magnetic*(1 - 15./2*omtau/(2*bigR+15))
+
+    yt(4:EV%nvart)=0._dl
+
+    !  Neutrinos
+    if (DoTensorNeutrinos) then
+        pir=-2._dl/3._dl/(bigR+5)*x**2*elec
+        !           + (bigR-1)/bigR*Magnetic*(1-15./14*x**2/(15+4*bigR))
+        aj3r=  -2._dl/21._dl/(bigR+5)*x**3*elec !&
+        !           + 3._dl/7*x*(bigR-1)/bigR*Magnetic
+        yt(EV%r_ix+2)=pir
+        yt(EV%r_ix+3)=aj3r
+        !Should set up massive too, but small anyway..
+    end if
+
+    end subroutine initialt
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine initialv(EV,yv,tau)
+    !  Initial conditions for vectors
+
+    implicit none
+    real(dl) bigR,Rc,tau,x,pir
+    type(EvolutionVars) EV
+    real(dl) k,k2 ,a, omtau
+    real(dl) yv(EV%nvarv)
+
+    if (CP%flat) then
+        EV%k2_buf=EV%q2
+        EV%k_buf=EV%q
+    else
+        stop 'Vectors not supported in non-flat models'
+    endif
+
+    k=EV%k_buf
+    k2=EV%k2_buf
+
+    omtau = tau*(grhob+grhoc)/sqrt(3*(grhog+grhornomass))
+
+    a=tau*adotrad*(1+omtau/4)
+
+    x=k*tau
+
+    bigR = (grhornomass)/(grhornomass+grhog)
+    Rc=CP%omegac/(CP%omegac+CP%omegab)
+
+    yv(1)=a
+
+
+    yv(2)= vec_sig0*(1- 15._dl/2*omtau/(4*bigR+15)) + 45._dl/14*x*Magnetic*(BigR-1)/(4*BigR+15)
+    !qg
+    yv(4)= vec_sig0/3* (4*bigR + 5)/(1-BigR)*(1  -0.75_dl*omtau*(Rc-1)/(bigR-1)* &
+    (1 - 0.25_dl*omtau*(3*Rc-2-bigR)/(BigR-1))) &
+    -x/2*Magnetic
+    yv(3)= 3._dl/4*yv(4)
+
+    yv(5:EV%nvarv) = 0
+
+    !        if (.false.) then
+    !         yv((EV%lmaxv-1+1)+(EV%lmaxpolv-1)*2+3+1) = vec_sig0/6/bigR*x**2*(1+2*bigR*omtau/(4*bigR+15))
+    !         yv((EV%lmaxv-1+1)+(EV%lmaxpolv-1)*2+3+2) = -2/3._dl*vec_sig0/bigR*x*(1 +3*omtau*bigR/(4*bigR+15))
+    !         yv((EV%lmaxv-1+1)+(EV%lmaxpolv-1)*2+3+3) = 1/4._dl*vec_sig0/bigR*(5+4*BigR)
+    !         yv((EV%lmaxv-1+1)+(EV%lmaxpolv-1)*2+3+4) =1/9.*x*vec_sig0*(5+4*bigR)/bigR
+    !         yv(4) = 0
+    !         yv(3)= 3._dl/4*yv(4)
+    !          return
+    !        end if
+
+    !  Neutrinos
+    !q_r
+    yv((EV%lmaxv-1+1)+(EV%lmaxpolv-1)*2+3+1) = -1._dl/3*vec_sig0*(4*BigR+5)/bigR &
+    + x**2*vec_sig0/6/BigR +0.5_dl*x*(1/bigR-1)*Magnetic
+    !pi_r
+    pir=-2._dl/3._dl*x*vec_sig0/BigR - (1/bigR-1)*Magnetic
+    yv((EV%lmaxv-1+1)+(EV%lmaxpolv-1)*2+3+1 +1)=pir
+    yv((EV%lmaxv-1+1)+(EV%lmaxpolv-1)*2+3+1 +2)=3._dl/7*x*Magnetic*(1-1/BigR)
+
+    end subroutine initialv
+
+
+    subroutine outtransf(EV, y, tau,Arr)
+    !write out clxc, clxb, clxg, clxn
+    use Transfer
+    implicit none
+    type(EvolutionVars) EV
+    
+    real(dl) clxc, clxb, clxg, clxr, k,k2
+    real(dl) grho,gpres,dgrho,dgq,a
+    real Arr(:)
+    real(dl) y(EV%nvar)
+    real(dl) growth,clxtot !DM: growth vars, clxtot is unnecessary, just needs a name
+    real(dl) tau
+    real(dl) dorp
+    real(dl) gr
+    real(dl) clxax,grhoax_t
+    
+    integer i	
+    
+    a    = y(1)
+    clxc = y(3)
+    clxb = y(4)
+    if (EV%no_nu_multpoles) then
+       clxr=0
+    else
+       clxr = y(EV%r_ix)
+    end if
+    
+    if (EV%no_phot_multpoles) then
+       clxg=0
+    else
+       clxg = y(EV%g_ix)
+    end if
+    
+    k    = EV%k_buf
+    k2   = EV%k2_buf
+    ! Axions
+    clxax=y(EV%a_ix)
+    
+    if (a .lt. CP%a_osc) then
+       call spline_out(CP%loga_table,CP%grhoax_table,CP%grhoax_table_buff,ntable,dlog10(a),gr)
+       !write(*,*) a, gr
+       !compute log10 of density use of interpolation
+       !print*,a,grhoc,grhom*(1.0d1**(dble(gr)))/((grhoc+grhob)/(a**3.0d0))
+       if (gr .eq. gr) then
+          !delog it and multiply by physical units
+          dorp=grhom*(1.0d1**(dble(gr)))
+       else
+          dorp=0.0d0
+       endif
+    else
+       dorp=grhom*CP%drefp_hsq*((CP%a_osc/a)**3.0d0)
+        
+    endif
+    grhoax_t=dorp*(a**2.0d0)
+    Arr(Transfer_kh) = k/(CP%h0/100._dl)
+    Arr(Transfer_cdm) = clxc/k2
+    Arr(Transfer_b) = clxb/k2
+    Arr(Transfer_g) = clxg/k2
+    Arr(Transfer_r) = clxr/k2
+    Arr(Transfer_axion) = clxax/k2
+    
+    dgrho = 0
+    grho =  0
+    
+    if (CP%Num_Nu_Massive > 0) then
+       call MassiveNuVars(EV,y,a,grho,gpres,dgrho,dgq)
+       Arr(Transfer_nu) = dgrho/grho/k2
+    else
+       Arr(Transfer_nu) = 0
+    end if
+    
+    !If we want DE perturbations to get \delta\rho/\rho_m    
+    !dgrho=dgrho+y(EV%w_ix)*grhov*a**(-1-3*w_lam)
+    !Arr(Transfer_r) = y(EV%w_ix)/k2
+    
+    !dgrho = dgrho+(clxc*grhoc + clxb*grhob)/a 
+    !grho =  grho+(grhoc+grhob)/a + grhov*a**(-1-3*w_lam)
+    
+
+ !! ###### Make a decision about how to include axions in the matter content. Comment out various scenarios as necessary
+    
+    !if (a_osc.lt.CP%aeq) then 
+    ! DM: only include axions if they are clustered: a_osc kluge for bias as in Hlozek et al 2015. Be careful when a_osc.ge.1
+
+    !if (CP%ma.ge.1.e-25) then
+    !! DM16: this modification with ma\geq 1e-25 eV to treat axions in non-linear lensing S4 fiducial model.
+    ! See additional changes in halofit, and check for consistency.
+
+    if (a_osc .lt. 1) then
+    !DM16  Include axions as long as they are oscillating
+       dgrho = dgrho+(clxc*grhoc + clxb*grhob)/a+grhoax_t*clxax
+       grho =  grho+(grhoc+grhob)/a+grhoax_t
+    else
+       dgrho = dgrho+(clxc*grhoc + clxb*grhob)/a
+       grho =  grho+(grhoc+grhob)/a
+    end if
+    
+    ! DM: output the growth rate
+    
+
+    call GrowthRate(EV,y,tau,k,a,growth,clxtot)
+
+    Arr(Transfer_f) = growth
+
+    Arr(Transfer_tot) = dgrho/grho/k2
+    
+    
+    end subroutine outtransf
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine derivs(EV,n,tau,ay,ayprime)
+    !  Evaluate the time derivatives of the perturbations
+    !  ayprime is not necessarily GaugeInterface.yprime, so keep them distinct
+    use ThermoData
+    use MassiveNu
+    use constants
+    implicit none
+    type(EvolutionVars) EV
+
+    integer n,nu_i
+    real(dl) ay(n),ayprime(n)
+    real(dl) tau,w
+    real(dl) k,k2
+
+    !  Internal variables.
+
+    real(dl) opacity
+    real(dl) photbar,cs2,pb43,grho,slip,clxgdot, &
+    clxcdot,clxbdot,adotdota,gpres,clxrdot,etak
+    real(dl) q,aq,v
+    real(dl) G11_t,G30_t, wnu_arr(max_nu)
+
+    real(dl) dgq,grhob_t,grhor_t,grhoc_t,grhog_t,grhov_t,sigma,polter
+    real(dl) qgdot,qrdot,pigdot,pirdot,vbdot,dgrho,adotoa
+    real(dl) a,a2,dz,z,clxc,clxb,vb,clxg,qg,pig,clxr,qr,pir
+    real(dl) E2, dopacity
+    integer l,i,ind, ind2, off_ix, ix
+    real(dl) dgs,sigmadot !, ddz
+    !non-flat vars
+    real(dl) cothxor !1/tau in flat case
+    !ppf
+    real(dl) Gamma,S_Gamma,ckH,Gammadot,Fa,dgqe,dgrhoe, vT
+    real(dl) w_eff, grhoT
+	! Axions       
+        real(dl) grhoax_t, clxax, gpres_ax
+        real(dl) clxaxdot,v_ax,v_axdot
+        real(dl) w_ax, csquared_ax,csquared_ax_use
+        real(dl) cad2,cad2_use
+        real(dl) dorp
+        real(dl) gr,mnorm
+
+        
+    k=EV%k_buf
+    k2=EV%k2_buf
+
+    a=ay(1)
+    a2=a*a
+
+    etak=ay(2)
+
+    !  CDM variables
+    clxc=ay(3)
+
+    !  Baryon variables
+    clxb=ay(4)
+    vb=ay(5)
+
+! Axion variables
+	clxax=ay(EV%a_ix)
+	v_ax=ay(EV%a_ix+1)
+		
+
+    !  Compute expansion rate from: grho 8*pi*rho*a**2
+
+    grhob_t=grhob/a
+    grhoc_t=grhoc/a
+    grhor_t=grhornomass/a2
+    grhog_t=grhog/a2
+    if (is_cosmological_constant) then
+        grhov_t=grhov*a2
+        w_eff = -1_dl
+    else
+        !ppf
+        w_eff=w_de(a)   !effective de
+        grhov_t=grho_de(a)/a2
+    end if
+
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+        ! Axion variables, updated 9/19/2013 to include DG spline implmentation
+!!!!!!!updated 9/1/2015	to include simple cubic scaling when a>> aosc
+   	if (a .lt. CP%a_osc) then
+        call spline_out(CP%loga_table,CP%grhoax_table,CP%grhoax_table_buff,ntable,dlog10(a),gr)
+        !write(*,*) a, gr
+        !compute log10 of density use of interpolation
+        !print*,a,grhoc,grhom*(1.0d1**(dble(gr)))/((grhoc+grhob)/(a**3.0d0))
+        if (gr .eq. gr) then
+           !delog it and multiply by physical units
+           dorp=grhom*(1.0d1**(dble(gr)))
+        else
+           dorp=0.0d0
+        endif
+        else
+        	dorp=grhom*CP%drefp_hsq*((CP%a_osc/a)**3.0d0)     
+        endif
+        grhoax_t=dorp*(a**2.0d0)
+        if (a .lt. CP%a_osc) then
+	call spline_out(CP%loga_table,CP%wax_table,CP%wax_table_buff,ntable,dlog10(a),w_ax)
+        else
+        w_ax=0.0d0
+        endif
+        gpres_ax=w_ax*grhoax_t
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
+ 
+ 
+        
+    !  Get sound speed and ionisation fraction.
+    if (EV%TightCoupling) then
+        call thermo(tau,cs2,opacity,dopacity)
+    else
+        call thermo(tau,cs2,opacity)
+    end if
+
+    
+        gpres=gpres_ax
+        grho=grhob_t+grhoc_t+grhor_t+grhog_t+grhov_t+grhoax_t
+
+                
+        mnorm=2.0d0*EV%m_ax*a*CP%H0*1.d3/(c)
+        
+        csquared_ax=((k/mnorm)**2.0d0)/(1.0d0+(k/mnorm)**2.0d0)
+        !			csquared_ax=0.0d0
+        
+        
+        !total perturbations: matter terms first, then add massive nu, de and radiation 
+        !  8*pi*a*a*SUM[rho_i*clx_i]
+        dgrho=grhob_t*clxb+grhoc_t*clxc+grhoax_t*clxax 
+        !  8*pi*a*a*SUM[(rho_i+p_i)*v_i]
+        !switch 9/22 v_ax*(1+w_ax) as the axion momentum variable to avoid infinities
+        dgq=grhob_t*vb+grhoax_t*v_ax
+                
+
+    if (CP%Num_Nu_Massive > 0) then
+        call MassiveNuVars(EV,ay,a,grho,gpres,dgrho,dgq, wnu_arr)
+    end if
+
+    if (CP%flat) then
+        adotoa=sqrt(grho/3)
+        cothxor=1._dl/tau
+    else
+        adotoa=sqrt((grho+grhok)/3._dl)
+        cothxor=1._dl/tanfunc(tau/CP%r)/CP%r
+    end if
+
+    ! if (w_lam /= -1 .and. w_Perturb) then
+    !    clxq=ay(EV%w_ix)
+    !    vq=ay(EV%w_ix+1)
+    !    dgrho=dgrho + clxq*grhov_t
+    !    dgq = dgq + vq*grhov_t*(1+w_lam)
+    !end if
+
+    if (EV%no_nu_multpoles) then
+        !RSA approximation of arXiv:1104.2933, dropping opactity terms in the velocity
+        !Approximate total density variables with just matter terms
+        z=(0.5_dl*dgrho/k + etak)/adotoa
+        dz= -adotoa*z - 0.5_dl*dgrho/k
+        clxr=-4*dz/k
+        qr=-4._dl/3*z
+        pir=0
+    else
+        !  Massless neutrinos
+        clxr=ay(EV%r_ix)
+        qr  =ay(EV%r_ix+1)
+        pir =ay(EV%r_ix+2)
+    endif
+
+    if (EV%no_phot_multpoles) then
+        if (.not. EV%no_nu_multpoles) then
+            z=(0.5_dl*dgrho/k + etak)/adotoa
+            dz= -adotoa*z - 0.5_dl*dgrho/k
+            clxg=-4*dz/k-4/k*opacity*(vb+z)
+            qg=-4._dl/3*z
+        else
+            clxg=clxr-4/k*opacity*(vb+z)
+            qg=qr
+        end if
+        pig=0
+    else
+        !  Photons
+        clxg=ay(EV%g_ix)
+        qg=ay(EV%g_ix+1)
+        if (.not. EV%TightCoupling) pig=ay(EV%g_ix+2)
+    end if
+
+    !  8*pi*a*a*SUM[rho_i*clx_i] - radiation terms
+    dgrho=dgrho + grhog_t*clxg+grhor_t*clxr
+
+    !  8*pi*a*a*SUM[(rho_i+p_i)*v_i]
+    dgq=dgq + grhog_t*qg+grhor_t*qr
+
+    !  Photon mass density over baryon mass density
+    photbar=grhog_t/grhob_t
+    pb43=4._dl/3*photbar
+
+    ayprime(1)=adotoa*a
+
+    if (.not. is_cosmological_constant) then
+        !ppf
+        grhoT = grho - grhov_t
+        vT= dgq/(grhoT+gpres)
+        Gamma=ay(EV%w_ix)
+
+        !sigma for ppf
+        sigma = (etak + (dgrho + 3*adotoa/k*dgq)/2._dl/k)/EV%kf(1) - k*Gamma
+        sigma = sigma/adotoa
+
+        S_Gamma=grhov_t*(1+w_eff)*(vT+sigma)*k/adotoa/2._dl/k2
+        ckH=c_Gamma_ppf*k/adotoa
+        Gammadot=S_Gamma/(1+ckH*ckH)- Gamma -ckH*ckH*Gamma
+        Gammadot=Gammadot*adotoa
+        ayprime(EV%w_ix)=Gammadot
+
+        if(ckH*ckH.gt.3.d1)then
+            Gamma=0
+            Gammadot=0.d0
+            ayprime(EV%w_ix)=Gammadot
+        endif
+
+        Fa=1+3*(grhoT+gpres)/2._dl/k2/EV%kf(1)
+        dgqe=S_Gamma - Gammadot/adotoa - Gamma
+        dgqe=-dgqe/Fa*2._dl*k*adotoa + vT*grhov_t*(1+w_eff)
+        dgrhoe=-2*k2*EV%kf(1)*Gamma-3/k*adotoa*dgqe
+        dgrho=dgrho+dgrhoe
+        dgq=dgq+dgqe
+
+        EV%dgrho_e_ppf=dgrhoe
+        EV%dgq_e_ppf=dgqe
+          EV%dgrhoec_ppf=dgrhoe+3._dl*(1+w_eff)*grhov_t*adotoa*vT/k
+           EV%dgqec_ppf=dgqe+(1+w_eff)*grhov_t*sigma
+           EV%vTc_ppf=vT+sigma
+    end if
+
+    !  Get sigma (shear) and z from the constraints
+    ! have to get z from eta for numerical stability
+    z=(0.5_dl*dgrho/k + etak)/adotoa
+    if (CP%flat) then
+        !eta*k equation
+        sigma=(z+1.5_dl*dgq/k2)
+        ayprime(2)=0.5_dl*dgq
+    else
+        sigma=(z+1.5_dl*dgq/k2)/EV%Kf(1)
+        ayprime(2)=0.5_dl*dgq + CP%curv*z
+    end if
+
+    !if (w_lam /= -1 .and. w_Perturb) then
+    !
+    !   ayprime(EV%w_ix)= -3*adotoa*(cs2_lam-w_lam)*(clxq+3*adotoa*(1+w_lam)*vq/k) &
+    !       -(1+w_lam)*k*vq -(1+w_lam)*k*z
+    !
+    !   ayprime(EV%w_ix+1) = -adotoa*(1-3*cs2_lam)*vq + k*cs2_lam*clxq/(1+w_lam)
+    !
+    !end if
+    !
+    !  CDM equation of motion
+    clxcdot=-k*z
+    ayprime(3)=clxcdot
+
+    !  Baryon equation of motion.
+    clxbdot=-k*(z+vb)
+    ayprime(4)=clxbdot
+    
+    ! --------------------------------------
+! AXIONS
+        ! Axion equation of motion updated 9/22/2012 to include inite.note
+        !9/22 switch to (1+w_ax)v_ax as momentum variable for axions
+        !in this epoch (this part of if statement w_ax)=0
+        !9/22 DG
+        !9/22 update to evolve(1+w)*v_ax to avoid infinities when correct gauged 	EOM are used, see DG notes
+      	if (a .lt. a_osc) then
+        call spline_out(CP%loga_table(2:ntable),CP%cs2_table(2:ntable),CP%cs2_table_buff(2:ntable),ntable-1,&
+             dlog10(a),cad2)
+        endif
+        ! print*,a,cad2
+     
+!Equations combined piecewise parameters     
+        if (a .lt. a_osc) then
+           csquared_ax_use=1.0d0
+           cad2_use=dble(cad2)
+           clxaxdot=-3.0d0*adotoa*(csquared_ax_use)*(1.0d0-w_ax)*clxax-(k*v_ax+k*z*(1.0d0+w_ax))&
+                &-9.0d0*(adotoa**2.0d0)*csquared_ax_use*v_ax*(1.0d0-cad2_use)/k
+           v_axdot=(-adotoa*v_ax+k*csquared_ax_use*clxax)+v_ax*3.0d0*adotoa*(w_ax-cad2_use) &  	
+                &+csquared_ax_use*3.0d0*adotoa*v_ax
+        else
+           csquared_ax_use=csquared_ax
+           cad2_use=0.0d0
+           w_ax=0.0d0
+           clxaxdot=-3.0d0*adotoa*(csquared_ax_use)*(1.0d0-w_ax)*clxax-(k*v_ax+k*z*(1.0d0+w_ax))&
+                &-9.0d0*(adotoa**2.0d0)*csquared_ax_use*v_ax*(1.0d0-cad2_use)/k
+           v_axdot=(-adotoa*v_ax+k*csquared_ax_use*clxax)+v_ax*3.0d0*adotoa*(w_ax-cad2_use) &  	
+                &+csquared_ax_use*3.0d0*adotoa*v_ax
+        endif
+        
+
+        !print*,k,a,tau,clxax,clxg,clxc,(1.0d0-w_ax)+3.0d0*adotoa*(1.0d0-cad2_use)*v_ax/(k*clxax),cad2_use
+        
+        
+        
+        ayprime(EV%a_ix)=clxaxdot
+        ayprime(EV%a_ix+1)=v_axdot
+! --------------------------------------
+    
+    
+    !  Photon equation of motion
+    clxgdot=-k*(4._dl/3._dl*z+qg)
+
+    ! old comment:Small k: potential problem with stability, using full equations earlier is NOT more accurate in general
+    ! Easy to see instability in k \sim 1e-3 by tracking evolution of vb
+
+    !  Use explicit equation for vb if appropriate
+
+    if (EV%TightCoupling) then
+        !  ddota/a
+        gpres=gpres + grhov_t*w_eff
+        adotdota=(adotoa*adotoa-gpres)/2
+
+        pig = 32._dl/45/opacity*k*(sigma+vb)
+
+        !  First-order approximation to baryon-photon splip
+        slip = - (2*adotoa/(1+pb43) + dopacity/opacity)* (vb-3._dl/4*qg) &
+        +(-adotdota*vb-k/2*adotoa*clxg +k*(cs2*clxbdot-clxgdot/4))/(opacity*(1+pb43))
+
+        if (second_order_tightcoupling) then
+            ! by Francis-Yan Cyr-Racine simplified (inconsistently) by AL assuming flat
+            !AL: First order slip seems to be fine here to 2e-4
+
+            !  8*pi*G*a*a*SUM[rho_i*sigma_i]
+            dgs = grhog_t*pig+grhor_t*pir
+
+            ! Define shear derivative to first order
+            sigmadot = -2*adotoa*sigma-dgs/k+etak
+
+            !Once know slip, recompute qgdot, pig, pigdot
+            qgdot = k*(clxg/4._dl-pig/2._dl) +opacity*slip
+
+            pig = 32._dl/45/opacity*k*(sigma+3._dl*qg/4._dl)*(1+(dopacity*11._dl/6._dl/opacity**2)) &
+            + (32._dl/45._dl/opacity**2)*k*(sigmadot+3._dl*qgdot/4._dl)*(-11._dl/6._dl)
+
+            pigdot = -(32._dl/45._dl)*(dopacity/opacity**2)*k*(sigma+3._dl*qg/4._dl)*(1 + &
+            dopacity*11._dl/6._dl/opacity**2 ) &
+            + (32._dl/45._dl/opacity)*k*(sigmadot+3._dl*qgdot/4._dl)*(1+(11._dl/6._dl) &
+            *(dopacity/opacity**2))
+
+            EV%pigdot = pigdot
+        end if
+
+        !  Use tight-coupling approximation for vb
+        !  zeroth order approximation to vbdot + the pig term
+        vbdot=(-adotoa*vb+cs2*k*clxb  &
+        +k/4*pb43*(clxg-2*EV%Kf(1)*pig))/(1+pb43)
+
+        vbdot=vbdot+pb43/(1+pb43)*slip
+
+        EV%pig = pig
+    else
+        vbdot=-adotoa*vb+cs2*k*clxb-photbar*opacity*(4._dl/3*vb-qg)
+    end if
+
+    ayprime(5)=vbdot
+
+    if (.not. EV%no_phot_multpoles) then
+        !  Photon equations of motion
+        ayprime(EV%g_ix)=clxgdot
+        qgdot=4._dl/3*(-vbdot-adotoa*vb+cs2*k*clxb)/pb43 &
+        +EV%denlk(1)*clxg-EV%denlk2(1)*pig
+        ayprime(EV%g_ix+1)=qgdot
+
+        !  Use explicit equations for photon moments if appropriate
+        if (.not. EV%tightcoupling) then
+            E2=ay(EV%polind+2)
+            polter = pig/10+9._dl/15*E2 !2/15*(3/4 pig + 9/2 E2)
+            ix= EV%g_ix+2
+            if (EV%lmaxg>2) then
+                pigdot=EV%denlk(2)*qg-EV%denlk2(2)*ay(ix+1)-opacity*(pig - polter) &
+                +8._dl/15._dl*k*sigma
+                ayprime(ix)=pigdot
+                do  l=3,EV%lmaxg-1
+                    ix=ix+1
+                    ayprime(ix)=(EV%denlk(l)*ay(ix-1)-EV%denlk2(l)*ay(ix+1))-opacity*ay(ix)
+                end do
+                ix=ix+1
+                !  Truncate the photon moment expansion
+                ayprime(ix)=k*ay(ix-1)-(EV%lmaxg+1)*cothxor*ay(ix) -opacity*ay(ix)
+            else !closed case
+                pigdot=EV%denlk(2)*qg-opacity*(pig - polter) +8._dl/15._dl*k*sigma
+                ayprime(ix)=pigdot
+            endif
+            !  Polarization
+            !l=2
+            ix=EV%polind+2
+            if (EV%lmaxgpol>2) then
+                ayprime(ix) = -opacity*(ay(ix) - polter) - k/3._dl*ay(ix+1)
+                do l=3,EV%lmaxgpol-1
+                    ix=ix+1
+                    ayprime(ix)=-opacity*ay(ix) + (EV%denlk(l)*ay(ix-1)-EV%polfack(l)*ay(ix+1))
+                end do
+                ix=ix+1
+                !truncate
+                ayprime(ix)=-opacity*ay(ix) + &
+                k*EV%poltruncfac*ay(ix-1)-(EV%lmaxgpol+3)*cothxor*ay(ix)
+            else !closed case
+                ayprime(ix) = -opacity*(ay(ix) - polter)
+            endif
+        end if
+    end if
+
+    if (.not. EV%no_nu_multpoles) then
+        !  Massless neutrino equations of motion.
+        clxrdot=-k*(4._dl/3._dl*z+qr)
+        ayprime(EV%r_ix)=clxrdot
+        qrdot=EV%denlk(1)*clxr-EV%denlk2(1)*pir
+        ayprime(EV%r_ix+1)=qrdot
+        if (EV%high_ktau_neutrino_approx) then
+            !ufa approximation for k*tau>>1, more accurate when there are reflections from lmax
+            !Method from arXiv:1104.2933
+            !                if (.not. EV%TightCoupling) then
+            !                 gpres=gpres+ (grhog_t+grhor_t)/3 +grhov_t*w_lam
+            !                 adotdota=(adotoa*adotoa-gpres)/2
+            !                end if
+            !                ddz=(2*adotoa**2 - adotdota)*z  &
+            !                  + adotoa/(2*k)*( 6*(grhog_t*clxg+grhor_t*clxr) + 2*(grhoc_t*clxc+grhob_t*clxb) ) &
+            !                   - 1._dl/(2*k)*( 2*(grhog_t*clxgdot+grhor_t*clxrdot) + grhoc_t*clxcdot + grhob_t*clxbdot )
+            !                dz= -adotoa*z - 0.5_dl*dgrho/k
+            !                pirdot= -3*pir*cothxor + k*(qr+4._dl/3*z)
+            pirdot= -3*pir*cothxor - clxrdot
+            ayprime(EV%r_ix+2)=pirdot
+
+            !                pirdot=k*(0.4_dl*qr-0.6_dl*ay(EV%lmaxg+10)+8._dl/15._dl*sigma)
+            !                ayprime(EV%lmaxg+9)=pirdot
+            !                ayprime(3+EV%lmaxg+7)=k*ay(3+EV%lmaxg+6)- &
+            !                                      (3+1)*cothxor*ay(3+EV%lmaxg+7)
+            !               ayprime(3+EV%lmaxg+7+1:EV%lmaxnr+EV%lmaxg+7)=0
+        else
+            ix=EV%r_ix+2
+            if (EV%lmaxnr>2) then
+                pirdot=EV%denlk(2)*qr- EV%denlk2(2)*ay(ix+1)+8._dl/15._dl*k*sigma
+                ayprime(ix)=pirdot
+                do l=3,EV%lmaxnr-1
+                    ix=ix+1
+                    ayprime(ix)=(EV%denlk(l)*ay(ix-1) - EV%denlk2(l)*ay(ix+1))
+                end do
+                !  Truncate the neutrino expansion
+                ix=ix+1
+                ayprime(ix)=k*ay(ix-1)- (EV%lmaxnr+1)*cothxor*ay(ix)
+            else
+                pirdot=EV%denlk(2)*qr +8._dl/15._dl*k*sigma
+                ayprime(ix)=pirdot
+            end if
+        end if
+    end if ! no_nu_multpoles
+
+    !  Massive neutrino equations of motion.
+    if (CP%Num_Nu_massive == 0) return
+
+    do nu_i = 1, CP%Nu_mass_eigenstates
+        if (EV%MassiveNuApprox(nu_i)) then
+            !Now EV%iq0 = clx, EV%iq0+1 = clxp, EV%iq0+2 = G_1, EV%iq0+3=G_2=pinu
+            !see astro-ph/0203507
+            G11_t=EV%G11(nu_i)/a/a2
+            G30_t=EV%G30(nu_i)/a/a2
+            off_ix = EV%nu_ix(nu_i)
+            w=wnu_arr(nu_i)
+            ayprime(off_ix)=-k*z*(w+1) + 3*adotoa*(w*ay(off_ix) - ay(off_ix+1))-k*ay(off_ix+2)
+            ayprime(off_ix+1)=(3*w-2)*adotoa*ay(off_ix+1) - 5._dl/3*k*z*w - k/3*G11_t
+            ayprime(off_ix+2)=(3*w-1)*adotoa*ay(off_ix+2) - k*(2._dl/3*EV%Kf(1)*ay(off_ix+3)-ay(off_ix+1))
+            ayprime(off_ix+3)=(3*w-2)*adotoa*ay(off_ix+3) + 2*w*k*sigma - k/5*(3*EV%Kf(2)*G30_t-2*G11_t)
+        else
+            ind=EV%nu_ix(nu_i)
+            do i=1,EV%nq(nu_i)
+                q=nu_q(i)
+                aq=a*nu_masses(nu_i)/q
+                v=1._dl/sqrt(1._dl+aq*aq)
+
+                ayprime(ind)=-k*(4._dl/3._dl*z + v*ay(ind+1))
+                ind=ind+1
+                ayprime(ind)=v*(EV%denlk(1)*ay(ind-1)-EV%denlk2(1)*ay(ind+1))
+                ind=ind+1
+                if (EV%lmaxnu_tau(nu_i)==2) then
+                    ayprime(ind)=-ayprime(ind-2) -3*cothxor*ay(ind)
+                else
+                    ayprime(ind)=v*(EV%denlk(2)*ay(ind-1)-EV%denlk2(2)*ay(ind+1)) &
+                    +k*8._dl/15._dl*sigma
+                    do l=3,EV%lmaxnu_tau(nu_i)-1
+                        ind=ind+1
+                        ayprime(ind)=v*(EV%denlk(l)*ay(ind-1)-EV%denlk2(l)*ay(ind+1))
+                    end do
+                    !  Truncate moment expansion.
+                    ind = ind+1
+                    ayprime(ind)=k*v*ay(ind-1)-(EV%lmaxnu_tau(nu_i)+1)*cothxor*ay(ind)
+                end if
+                ind = ind+1
+            end do
+        end if
+    end do
+
+    if (EV%has_nu_relativistic) then
+        ind=EV%nu_pert_ix
+        ayprime(ind)=+k*a2*qr -k*ay(ind+1)
+        ind2= EV%r_ix
+        do l=1,EV%lmaxnu_pert-1
+            ind=ind+1
+            ind2=ind2+1
+            ayprime(ind)= -a2*(EV%denlk(l)*ay(ind2-1)-EV%denlk2(l)*ay(ind2+1)) &
+            +   (EV%denlk(l)*ay(ind-1)-EV%denlk2(l)*ay(ind+1))
+        end do
+        ind=ind+1
+        ind2=ind2+1
+        ayprime(ind)= k*(ay(ind-1) -a2*ay(ind2-1)) -(EV%lmaxnu_pert+1)*cothxor*ay(ind)
+    end if
+
+    end subroutine derivs
+
+
+
+    subroutine derivsv(EV,n,tau,yv,yvprime)
+    !  Evaluate the time derivatives of the vector perturbations, flat case
+    use ThermoData
+    use MassiveNu
+    implicit none
+    type(EvolutionVars) EV
+    integer n,l
+    real(dl), target ::  yv(n),yvprime(n)
+    real(dl) ep,tau,grho,rhopi,cs2,opacity,gpres
+    logical finished_tightcoupling
+    real(dl), dimension(:),pointer :: neut,neutprime,E,B,Eprime,Bprime
+    real(dl)  grhob_t,grhor_t,grhoc_t,grhog_t,grhov_t,polter
+    real(dl) sigma, qg,pig, qr, vb, rhoq, vbdot, photbar, pb43
+    real(dl) k,k2,a,a2, adotdota
+    real(dl) pir,adotoa
+! ppf
+        real(dl) w_eff
+! Axions       
+		real(dl) grhoax_t,gpres_ax
+		real(dl) dorp
+		real(dl) gr,w_ax
+
+    stop 'ppf not implemented for vectors'
+
+    k2=EV%k2_buf
+    k=EV%k_buf
+
+    !E and B start at l=2. Set up pointers accordingly to fill in y arrays
+    E => yv(EV%lmaxv+3:)
+    Eprime=> yvprime(EV%lmaxv+3:)
+    B => E(EV%lmaxpolv:)
+    Bprime => Eprime(EV%lmaxpolv:)
+    neutprime => Bprime(EV%lmaxpolv+1:)
+    neut => B(EV%lmaxpolv+1:)
+
+    a=yv(1)
+
+    sigma=yv(2)
+
+    a2=a*a
+
+    !  Get sound speed and opacity, and see if should use tight-coupling
+
+    call thermo(tau,cs2,opacity)
+    if (k > 0.06_dl*epsw) then
+        ep=ep0
+    else
+        ep=0.2_dl*ep0
+    end if
+
+    finished_tightcoupling = &
+    ((k/opacity > ep).or.(1._dl/(opacity*tau) > ep .and. k/opacity > 1d-4))
+
+
+    ! Compute expansion rate from: grho=8*pi*rho*a**2
+    ! Also calculate gpres: 8*pi*p*a**2
+    grhob_t=grhob/a
+    grhoc_t=grhoc/a
+    grhor_t=grhornomass/a2
+    grhog_t=grhog/a2
+    grhov_t=grhov*a**(-1-3*w_lam)
+
+   ! Axion variables, updated 9/19 to include dan's spline stuff
+
+   	if (a .lt. CP%a_osc) then
+        call spline_out(CP%loga_table,CP%grhoax_table,CP%grhoax_table_buff,ntable,dlog10(a),gr)
+        !write(*,*) a, gr
+        !compute log10 of density use of interpolation
+        !print*,a,grhoc,grhom*(1.0d1**(dble(gr)))/((grhoc+grhob)/(a**3.0d0))
+        if (gr .eq. gr) then
+           !delog it and multiply by physical units
+           dorp=grhom*(1.0d1**(dble(gr)))
+        else
+           dorp=0.0d0
+        endif
+        else
+        	dorp=grhom*CP%drefp_hsq*((CP%a_osc/a)**3.0d0)
+        
+        endif
+grhoax_t=dorp*(a**2.0d0)
+
+
+if (a .lt. CP%a_osc) then
+call spline_out(CP%loga_table,CP%wax_table,CP%wax_table_buff,ntable,dlog10(a),w_ax)
+else
+w_ax=0.0d0
+endif		
+		
+		gpres_ax=w_ax*grhoax_t
+
+		grho=grhob_t+grhoc_t+grhor_t+grhog_t+grhov_t+grhoax_t
+		gpres=(grhog_t+grhor_t)/3._dl+grhov_t*w_eff+gpres_ax
+	adotoa=sqrt(grho/3._dl)
+    adotdota=(adotoa*adotoa-gpres)/2
+
+    photbar=grhog_t/grhob_t
+    pb43=4._dl/3*photbar
+
+    yvprime(1)=adotoa*a
+
+    vb = yv(3)
+    qg = yv(4)
+    qr = neut(1)
+
+    !  8*pi*a*a*SUM[(rho_i+p_i)*v_i]
+    rhoq=grhob_t*vb+grhog_t*qg+grhor_t*qr
+    !  sigma = 2*rhoq/k**2
+    !for non-large k this expression for sigma is unstable at early times
+    !so propagate sigma equation separately (near total cancellation in rhoq)
+    ! print *,yv(2),2*rhoq/k**2
+
+    if (finished_tightcoupling) then
+        !  Use explicit equations:
+
+        pig = yv(5)
+
+        polter = 0.1_dl*pig + 9._dl/15._dl*E(2)
+
+        vbdot = -adotoa*vb-photbar*opacity*(4._dl/3*vb-qg) - 0.5_dl*k*photbar*Magnetic
+
+        !  Equation for the photon heat flux stress
+
+        yvprime(4)=-0.5_dl*k*pig + opacity*(4._dl/3*vb-qg)
+
+        !  Equation for the photon anisotropic stress
+        yvprime(5)=k*(2._dl/5*qg -8/15._dl*yv(6))+8._dl/15._dl*k*sigma  &
+        -opacity*(pig - polter)
+        ! And for the moments
+        do  l=3,EV%lmaxv-1
+            yvprime(l+3)=k*denl(l)*l*(yv(l+2)-   &
+            vecfac(l)*yv(l+4))-opacity*yv(l+3)
+        end do
+        !  Truncate the hierarchy
+        yvprime(EV%lmaxv+3)=k*EV%lmaxv/(EV%lmaxv-1._dl)*yv(EV%lmaxv+2)- &
+        (EV%lmaxv+2._dl)*yv(EV%lmaxv+3)/tau-opacity*yv(EV%lmaxv+3)
+
+        !E equations
+
+        Eprime(2) = - opacity*(E(2) - polter) + k*(1/3._dl*B(2) - 8._dl/27._dl*E(3))
+        do l=3,EV%lmaxpolv-1
+            Eprime(l) =-opacity*E(l) + k*(denl(l)*(l*E(l-1) - &
+            vecfacpol(l)*E(l+1)) + 2._dl/(l*(l+1))*B(l))
+        end do
+        !truncate
+        Eprime(EV%lmaxpolv)=0._dl
+
+        !B-bar equations
+
+        do l=2,EV%lmaxpolv-1
+            Bprime(l) =-opacity*B(l) + k*(denl(l)*(l*B(l-1) - &
+            vecfacpol(l)*B(l+1)) - 2._dl/(l*(l+1))*E(l))
+        end do
+        !truncate
+        Bprime(EV%lmaxpolv)=0._dl
+    else
+        !Tight coupling expansion results
+
+        pig = 32._dl/45._dl*k/opacity*(vb + sigma)
+
+        EV%pig = pig
+
+        vbdot=(-adotoa*vb  -3._dl/8*pb43*k*Magnetic  -3._dl/8*k*pb43*pig &
+        - pb43/(1+pb43)/opacity*(0.75_dl*k*adotoa*pb43**2/(pb43+1)*Magnetic + vb*&
+        ( 2*pb43*adotoa**2/(1+pb43) + adotdota)) &
+        )/(1+pb43)
+
+        !  Equation for the photon heat flux
+        ! Get drag from vbdot expression
+        yvprime(4)=-0.5_dl*k*pig - &
+        (vbdot+adotoa*vb)/photbar - 0.5_dl*k*Magnetic
+
+        !  Set the derivatives to zero
+        yvprime(5:n)=0._dl
+        yv(5)=pig
+        E(2)=  pig/4
+    endif
+
+    yvprime(3) = vbdot
+
+    !  Neutrino equations:
+
+    !  Massless neutrino anisotropic stress
+    pir=neut(2)
+    neutprime(1)= -0.5_dl*k*pir
+    neutprime(2)=2._dl/5*k*qr -8._dl/15._dl*k*neut(3)+ 8._dl/15._dl*k*sigma
+    !  And for the moments
+    do  l=3,EV%lmaxnrv-1
+        neutprime(l)=k*denl(l)*l*(neut(l-1)- vecfac(l)*neut(l+1))
+    end do
+
+    !  Truncate the hierarchy
+    neutprime(EV%lmaxnrv)=k*EV%lmaxnrv/(EV%lmaxnrv-1._dl)*neut(EV%lmaxnrv-1)-  &
+    (EV%lmaxnrv+2._dl)*neut(EV%lmaxnrv)/tau
+
+
+    !  Get the propagation equation for the shear
+
+    rhopi=grhog_t*pig+grhor_t*pir+ grhog_t*Magnetic
+
+    yvprime(2)=-2*adotoa*sigma -rhopi/k
+
+    end subroutine derivsv
+
+
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine derivst(EV,n,tau,ayt,aytprime)
+    !  Evaluate the time derivatives of the tensor perturbations.
+    use ThermoData
+    use MassiveNu
+    implicit none
+    type(EvolutionVars) EV
+    integer n,l,i,ind, nu_i
+    real(dl), target ::  ayt(n),aytprime(n)
+    real(dl) tau,grho,rhopi,cs2,opacity,pirdt
+    real(dl), dimension(:),pointer :: neut,neutprime,E,B,Eprime,Bprime
+    real(dl) q,aq,v
+    real(dl)  grhob_t,grhor_t,grhoc_t,grhog_t,grhov_t,polter
+    real(dl) Hchi,pinu, pig
+    real(dl) k,k2,a,a2
+    real(dl) pir, adotoa, rhonu, shear
+
+    real(dl) cothxor
+    ! Axions       
+	real(dl) grhoax_t
+	real(dl) dorp
+	real(dl) gr
+    
+
+    k2=EV%k2_buf
+    k= EV%k_buf
+
+    a=ayt(1)
+
+    Hchi=ayt(2)
+
+    shear=ayt(3)
+
+    a2=a*a
+
+    ! Compute expansion rate from: grho=8*pi*rho*a**2
+    ! Also calculate gpres: 8*pi*p*a**2
+    grhob_t=grhob/a
+    grhoc_t=grhoc/a
+    grhor_t=grhornomass/a2
+    grhog_t=grhog/a2
+    if (is_cosmological_constant) then
+        grhov_t=grhov*a2
+    else
+        grhov_t=grho_de(a)/a2
+    end if
+ ! Axion variables, updated 9/19 to include dan's spline stuff
+   	if (a .lt. CP%a_osc) then
+        call spline_out(CP%loga_table,CP%grhoax_table,CP%grhoax_table_buff,ntable,dlog10(a),gr)
+        !write(*,*) a, gr
+        !compute log10 of density use of interpolation
+        !print*,a,grhoc,grhom*(1.0d1**(dble(gr)))/((grhoc+grhob)/(a**3.0d0))
+        if (gr .eq. gr) then
+           !delog it and multiply by physical units
+           dorp=grhom*(1.0d1**(dble(gr)))
+        else
+           dorp=0.0d0
+        endif
+        else
+        	dorp=grhom*CP%drefp_hsq*((CP%a_osc/a)**3.0d0)
+        
+        endif
+    grhoax_t=dorp*(a**2.0d0)
+
+
+    grho=grhob_t+grhoc_t+grhor_t+grhog_t+grhov_t+grhoax_t
+
+    !Do massive neutrinos
+    if (CP%Num_Nu_Massive >0) then
+        do nu_i=1,CP%Nu_mass_eigenstates
+            call Nu_rho(a*nu_masses(nu_i),rhonu)
+            grho=grho+grhormass(nu_i)*rhonu/a2
+        end do
+    end if
+
+    if (CP%flat) then
+        cothxor=1._dl/tau
+        adotoa=sqrt(grho/3._dl)
+    else
+        cothxor=1._dl/tanfunc(tau/CP%r)/CP%r
+        adotoa=sqrt((grho+grhok)/3._dl)
+    end if
+
+    aytprime(1)=adotoa*a
+
+    call thermo(tau,cs2,opacity)
+
+    if (.not. EV%TensTightCoupling) then
+        !  Don't use tight coupling approx - use explicit equations:
+        !  Equation for the photon anisotropic stress
+
+
+        !E and B start at l=2. Set up pointers accordingly to fill in ayt arrays
+        E => ayt(EV%E_ix+1:)
+        B => ayt(EV%B_ix+1:)
+        Eprime=> aytprime(EV%E_ix+1:)
+        Bprime => aytprime(EV%B_ix+1:)
+
+        ind = EV%g_ix+2
+
+        !  Photon anisotropic stress
+        pig=ayt(ind)
+        polter = 0.1_dl*pig + 9._dl/15._dl*E(2)
+
+        if (EV%lmaxt > 2) then
+            aytprime(ind)=-EV%denlkt(2,2)*ayt(ind+1)+k*8._dl/15._dl*shear  &
+            -opacity*(pig - polter)
+
+            do l=3, EV%lmaxt -1
+                ind = ind+1
+                aytprime(ind)=EV%denlkt(1,L)*ayt(ind-1)-EV%denlkt(2,L)*ayt(ind+1)-opacity*ayt(ind)
+            end do
+
+            !Truncate the hierarchy
+            ind=ind+1
+            aytprime(ind)=k*EV%lmaxt/(EV%lmaxt-2._dl)*ayt(ind-1)- &
+            (EV%lmaxt+3._dl)*cothxor*ayt(ind)-opacity*ayt(ind)
+
+            !E and B-bar equations
+
+            Eprime(2) = - opacity*(E(2) - polter) + EV%denlkt(4,2)*B(2) - &
+            EV%denlkt(3,2)*E(3)
+
+            do l=3, EV%lmaxpolt-1
+                Eprime(l) =(EV%denlkt(1,L)*E(l-1)-EV%denlkt(3,L)*E(l+1) + EV%denlkt(4,L)*B(l)) &
+                -opacity*E(l)
+            end do
+            l= EV%lmaxpolt
+            !truncate: difficult, but setting l+1 to zero seems to work OK
+            Eprime(l) = (EV%denlkt(1,L)*E(l-1) + EV%denlkt(4,L)*B(l)) -opacity*E(l)
+
+            Bprime(2) =-EV%denlkt(3,2)*B(3) - EV%denlkt(4,2)*E(2)  -opacity*B(2)
+            do l=3, EV%lmaxpolt-1
+                Bprime(l) =(EV%denlkt(1,L)*B(l-1) -EV%denlkt(3,L)*B(l+1) - EV%denlkt(4,L)*E(l)) &
+                -opacity*B(l)
+            end do
+            l=EV%lmaxpolt
+            !truncate
+            Bprime(l) =(EV%denlkt(1,L)*B(l-1) - EV%denlkt(4,L)*E(l))  -opacity*B(l)
+
+        else !lmax=2
+
+        aytprime(ind)=k*8._dl/15._dl*shear-opacity*(pig - polter)
+        Eprime(2) = - opacity*(E(2) - polter) + EV%denlkt(4,2)*B(2)
+        Bprime(2) = - EV%denlkt(4,2)*E(2)  -opacity*B(2)
+        end if
+
+    else  !Tight coupling
+        pig = 32._dl/45._dl*k/opacity*shear
+    endif
+
+    rhopi=grhog_t*pig
+
+
+    !  Neutrino equations:
+    !  Anisotropic stress
+    if (DoTensorNeutrinos) then
+        neutprime => aytprime(EV%r_ix+1:)
+        neut => ayt(EV%r_ix+1:)
+
+        !  Massless neutrino anisotropic stress
+        pir=neut(2)
+
+        rhopi=rhopi+grhor_t*pir
+
+        if (EV%lmaxnrt>2) then
+            pirdt=-EV%denlkt(2,2)*neut(3) + 8._dl/15._dl*k*shear
+            neutprime(2)=pirdt
+            !  And for the moments
+            do  l=3, EV%lmaxnrt-1
+                neutprime(l)= EV%denlkt(1,L)*neut(l-1) -EV%denlkt(2,L)*neut(l+1)
+            end do
+
+            !  Truncate the hierarchy
+            neutprime(EV%lmaxnrt)=k*EV%lmaxnrt/(EV%lmaxnrt-2._dl)*neut(EV%lmaxnrt-1)-  &
+            (EV%lmaxnrt+3._dl)*cothxor*neut(EV%lmaxnrt)
+        else
+            pirdt= 8._dl/15._dl*k*shear
+            neutprime(2)=pirdt
+        end if
+
+        !  Massive neutrino equations of motion and contributions to anisotropic stress.
+        if (CP%Num_Nu_massive > 0) then
+            do nu_i=1,CP%Nu_mass_eigenstates
+                if (.not. EV%EvolveTensorMassiveNu(nu_i)) then
+                    rhopi=rhopi+ grhormass(nu_i)/a2*pir !- good approx, note no rhonu weighting
+                else
+                    ind=EV%nu_ix(nu_i)+2
+
+                    pinu= Nu_pi(EV, ayt(ind),a, nu_i)
+                    rhopi=rhopi+ grhormass(nu_i)/a2*pinu
+
+                    do i=1,nqmax
+                        q=nu_q(i)
+                        aq=a*nu_masses(nu_i)/q
+                        v=1._dl/sqrt(1._dl+aq*aq)
+                        if (EV%lmaxnut>2) then
+                            aytprime(ind)=-v*EV%denlkt(2,2)*ayt(ind+1)+8._dl/15._dl*k*shear
+                            do l=3,EV%lmaxnut-1
+                                ind=ind+1
+                                aytprime(ind)=v*(EV%denlkt(1,L)*ayt(ind-1)-EV%denlkt(2,L)*ayt(ind+1))
+                            end do
+                            ind = ind+1
+                            !Truncate moment expansion.
+                            aytprime(ind)=k*v*EV%lmaxnut/(EV%lmaxnut-2._dl)*ayt(ind-1)-(EV%lmaxnut+3)*cothxor*ayt(ind)
+                        else
+                            aytprime(ind)=8._dl/15._dl*k*shear
+                        end if
+                        ind=ind+1
+                    end do
+                end if
+            end do
+        end if
+    end if
+
+    !  Get the propagation equation for the shear
+
+    if (CP%flat) then
+        aytprime(3)=-2*adotoa*shear+k*Hchi-rhopi/k
+    else
+        aytprime(3)=-2*adotoa*shear+k*Hchi*(1+2*CP%curv/k2)-rhopi/k
+    endif
+
+    aytprime(2)=-k*shear
+
+    end subroutine derivst
+
+
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+    end module GaugeInterface
diff --git a/halofit.f90 b/halofit.f90
new file mode 100644
index 0000000..b3cc5bf
--- /dev/null
+++ b/halofit.f90
@@ -0,0 +1,263 @@
+!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+! The `halofit' code models the nonlinear evolution of cold matter 
+! cosmological power spectra. The full details of the way in which 
+! this is done are presented in Smith et al. (2002), MNRAS, ?, ?. 
+!
+! The code `halofit' was written by R. E. Smith & J. A. Peacock. 
+! See http://www.astro.upenn.edu/~res, 
+! Last edited 8/5/2002.
+
+! Only tested for plain LCDM models with power law initial power spectra
+
+! Adapted for F90 and CAMB, AL March 2005
+!!BR09 Oct 09: generalized expressions for om(z) and ol(z) to include w
+
+! RT12 Oct: update some fitting parameters in the code to enhance
+!           the power spectrum at small scales (arXiv:1208.2701)
+!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+      module NonLinear
+      use ModelParams
+      use transfer
+      use LambdaGeneral
+      implicit none 
+      private
+       
+       real, parameter :: Min_kh_nonlinear = 0.005
+       real(dl):: om_m,om_v,fnu,omm0
+
+      public Min_kh_nonlinear,NonLinear_GetNonLinRatios
+      
+      contains
+
+     subroutine NonLinear_GetNonLinRatios(CAMB_Pk)
+     !Fill the CAMB_Pk%nonlin_scaling array with sqrt(non-linear power/linear power)
+     !for each redshift and wavenumber
+     !This implementation uses Halofit
+      type(MatterPowerData) :: CAMB_Pk
+      integer itf
+      real(dl) a,plin,pq,ph,pnl,rk
+      real(dl) sig,rknl,rneff,rncur,d1,d2
+      real(dl) diff,xlogr1,xlogr2,rmid
+      integer i
+
+       !!BR09 putting neutrinos into the matter as well, not sure if this is correct, but at least one will get a consisent omk.
+       omm0 = CP%omegac+CP%omegab+CP%omegan
+       fnu = CP%omegan/omm0
+
+       CAMB_Pk%nonlin_ratio = 1
+
+       do itf = 1, CAMB_Pk%num_z
+
+
+! calculate nonlinear wavenumber (rknl), effective spectral index (rneff) and 
+! curvature (rncur) of the power spectrum at the desired redshift, using method 
+! described in Smith et al (2002).
+       a = 1/real(1+CAMB_Pk%Redshifts(itf),dl)
+       om_m = omega_m(a, omm0, CP%omegav, w_lam)  
+       om_v = omega_v(a, omm0, CP%omegav, w_lam)
+
+      xlogr1=-2.0
+      xlogr2=3.5
+      do
+          rmid=(xlogr2+xlogr1)/2.0
+          rmid=10**rmid
+          call wint(CAMB_Pk,itf,rmid,sig,d1,d2)
+          diff=sig-1.0
+          if (abs(diff).le.0.001) then
+             rknl=1./rmid
+             rneff=-3-d1
+             rncur=-d2                  
+             exit
+          elseif (diff.gt.0.001) then
+             xlogr1=log10(rmid)
+          elseif (diff.lt.-0.001) then
+             xlogr2=log10(rmid)
+          endif
+          if (xlogr2 < -1.9999) then
+               !is still linear, exit
+               goto 101
+         end if
+      end do
+
+! now calculate power spectra for a logarithmic range of wavenumbers (rk)
+
+      do i=1, CAMB_PK%num_k
+         rk = exp(CAMB_Pk%log_kh(i))
+
+         if (rk > Min_kh_nonlinear) then
+
+    ! linear power spectrum !! Remeber => plin = k^3 * P(k) * constant
+    ! constant = 4*pi*V/(2*pi)^3 
+
+             plin= MatterPowerData_k(CAMB_PK, rk, itf)*(rk**3/(2*pi**2)) 
+
+    ! calculate nonlinear power according to halofit: pnl = pq + ph,
+    ! where pq represents the quasi-linear (halo-halo) power and 
+    ! where ph is represents the self-correlation halo term. 
+ 
+             call halofit(rk,rneff,rncur,rknl,plin,pnl,pq,ph)   ! halo fitting formula 
+             CAMB_Pk%nonlin_ratio(i,itf) = sqrt(pnl/plin)
+
+         end if
+
+      enddo
+
+101   continue
+      end do
+            
+      end subroutine NonLinear_GetNonLinRatios
+       
+!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+! halo model nonlinear fitting formula as described in 
+! Appendix C of Smith et al. (2002)
+
+      subroutine halofit(rk,rn,rncur,rknl,plin,pnl,pq,ph)
+      implicit none
+
+      real(dl) gam,a,b,c,xmu,xnu,alpha,beta,f1,f2,f3
+      real(dl) rk,rn,plin,pnl,pq,ph,plinaa
+      real(dl) rknl,y,rncur
+      real(dl) f1a,f2a,f3a,f1b,f2b,f3b,frac
+
+!RT12 Oct: the halofit in Smith+ 2003 predicts a smaller power
+!than latest N-body simulations at small scales.
+!Update the following fitting parameters of gam,a,b,c,xmu,xnu,
+!alpha & beta from the simulations in Takahashi+ 2012.
+!The improved halofit accurately provide the power spectra for WMAP
+!cosmological models with constant w.
+      gam=0.1971-0.0843*rn+0.8460*rncur
+      a=1.5222+2.8553*rn+2.3706*rn*rn+0.9903*rn*rn*rn+ &
+           0.2250*rn*rn*rn*rn-0.6038*rncur+0.1749*om_v*(1.+w_lam)
+      a=10**a      
+      b=10**(-0.5642+0.5864*rn+0.5716*rn*rn-1.5474*rncur+ &
+           0.2279*om_v*(1.+w_lam))
+      c=10**(0.3698+2.0404*rn+0.8161*rn*rn+0.5869*rncur)
+      xmu=0.
+      xnu=10**(5.2105+3.6902*rn)
+      alpha=abs(6.0835+1.3373*rn-0.1959*rn*rn-5.5274*rncur)
+      beta=2.0379-0.7354*rn+0.3157*rn**2+1.2490*rn**3+ &
+           0.3980*rn**4-0.1682*rncur
+
+      if(abs(1-om_m).gt.0.01) then ! omega evolution 
+         f1a=om_m**(-0.0732)
+         f2a=om_m**(-0.1423)
+         f3a=om_m**(0.0725)
+         f1b=om_m**(-0.0307)
+         f2b=om_m**(-0.0585)
+         f3b=om_m**(0.0743)       
+         frac=om_v/(1.-om_m) 
+         f1=frac*f1b + (1-frac)*f1a
+         f2=frac*f2b + (1-frac)*f2a
+         f3=frac*f3b + (1-frac)*f3a
+      else         
+         f1=1.0
+         f2=1.
+         f3=1.
+      endif
+
+      y=(rk/rknl)
+
+      ph=a*y**(f1*3)/(1+b*y**(f2)+(f3*c*y)**(3-gam))
+      ph=ph/(1+xmu*y**(-1)+xnu*y**(-2))*(1+fnu*(2.080-12.39*(omm0-0.3))/(1+1.201e-03*y**3))
+      plinaa=plin*(1+fnu*26.29*rk**2/(1+1.5*rk**2))
+      pq=plin*(1+plinaa)**beta/(1+plinaa*alpha)*exp(-y/4.0-y**2/8.0)
+
+      pnl=pq+ph
+
+      end subroutine halofit       
+
+
+!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+! The subroutine wint, finds the effective spectral quantities
+! rknl, rneff & rncur. This it does by calculating the radius of 
+! the Gaussian filter at which the variance is unity = rknl.
+! rneff is defined as the first derivative of the variance, calculated 
+! at the nonlinear wavenumber and similarly the rncur is the second
+! derivative at the nonlinear wavenumber. 
+
+      subroutine wint(CAMB_Pk,itf,r,sig,d1,d2)
+      implicit none
+      integer, intent(in) :: itf
+      type(MatterPowerData) :: CAMB_Pk
+      real(dl) sum1,sum2,sum3,t,y,x,w1,w2,w3
+      real(dl) x2,rk, fac,r, sig, d1,d2, anorm
+      integer i,nint
+
+      nint=3000
+      sum1=0.d0
+      sum2=0.d0
+      sum3=0.d0
+      anorm = 1/(2*pi**2)
+      do i=1,nint
+         t=(i-0.5_dl)/nint
+         y=-1.d0+1.d0/t
+         rk=y
+         d2=MatterPowerData_k(CAMB_PK, rk, itf)*(rk**3*anorm) 
+         x=y*r
+         x2=x*x
+         w1=exp(-x2)
+         w2=2*x2*w1
+         w3=4*x2*(1-x2)*w1
+         fac=d2/y/t/t
+         sum1=sum1+w1*fac
+         sum2=sum2+w2*fac
+         sum3=sum3+w3*fac
+      enddo
+      sum1=sum1/nint
+      sum2=sum2/nint
+      sum3=sum3/nint
+      sig=sqrt(sum1)
+      d1=-sum2/sum1
+      d2=-sum2*sum2/sum1/sum1 - sum3/sum1
+      
+      end subroutine wint
+      
+!!BR09 generalize to constant w
+
+      function omega_m(aa,om_m0,om_v0,wval)
+      implicit none
+      real(dl) omega_m,omega_t,om_m0,om_v0,aa,wval
+      omega_t=1.0+(om_m0+om_v0-1.0)/(1-om_m0-om_v0+om_v0*((aa)**(-1.0-3.0*wval))+om_m0/aa)
+      omega_m=omega_t*om_m0/(om_m0+om_v0*((aa)**(-3.0*wval)))
+      end function omega_m
+
+!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+! evolution of omega lambda with expansion factor
+
+      function omega_v(aa,om_m0,om_v0,wval)      
+      implicit none
+      real(dl) aa,omega_v,om_m0,om_v0,omega_t,wval
+      omega_t=1.0+(om_m0+om_v0-1.0)/(1-om_m0-om_v0+om_v0*((aa)**(-1.0-3.0*wval))+om_m0/aa)
+      omega_v=omega_t*om_v0*((aa)**(-3.0-3.0*wval))/(om_v0*((aa)**(-3.0-3.0*wval))+om_m0/aa/aa/aa)
+      end function omega_v
+
+!!BR09 end generalize to constant w
+
+end module NonLinear
+
+
+!workaround for f90 circular-module reference
+     subroutine NonLinear_GetRatios(CAMB_Pk)
+      use Transfer
+      use NonLinear
+      type(MatterPowerData) :: CAMB_Pk
+
+      call NonLinear_GetNonLinRatios(CAMB_Pk)      
+
+     end subroutine NonLinear_GetRatios
+     
+
+
+     subroutine NonLinear_GetRatios_all(CAMB_Pk)
+      use Transfer
+      use NonLinear
+      type(MatterPowerData) :: CAMB_Pk
+
+       stop 'Halofit module doesn''t support non-linear velocities'
+
+     end subroutine NonLinear_GetRatios_All
+
diff --git a/halofit_ppf.f90 b/halofit_ppf.f90
new file mode 100644
index 0000000..1763b49
--- /dev/null
+++ b/halofit_ppf.f90
@@ -0,0 +1,335 @@
+    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    ! The `halofit' code models the nonlinear evolution of cold matter
+    ! cosmological power spectra. The full details of the way in which
+    ! this is done are presented in Smith et al. (2002), MNRAS, ?, ?.
+    !
+    ! The code `halofit' was written by R. E. Smith & J. A. Peacock.
+    ! See http://www.astro.upenn.edu/~res,
+    !
+    ! Subsequent updates as below
+    ! Only tested for basic models with power law initial power spectra
+
+    ! Adapted for F90 and CAMB, AL March 2005
+    !!BR09 Oct 09: generalized expressions for om(z) and ol(z) to include w
+
+    ! RT12 Oct: update some fitting parameters in the code to enhance
+    !           the power spectrum at small scales (arXiv:1208.2701)
+
+    !!JD 08/13: generalized expressions for om(z) and ol(z) to include
+    !           w_0 and w_a
+    ! SPB14 Feb: update the fitting parameters for neutrinos to work with RT12
+    !           modifications
+    ! AL Sept 14: added halofit_version parameter to change approximation used;
+    !   separate halofit.f90 is no longer needed as equations.f90 defined fixed wa_ppf
+    ! Jan 15: Suggested change from Simeon Bird to avoid issues with very large Omm and neutrinos
+
+    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+    module NonLinear
+    use ModelParams
+    use transfer
+    use LambdaGeneral
+    implicit none
+    private
+
+    real, parameter :: Min_kh_nonlinear = 0.005
+    real(dl):: om_m,om_v,fnu,omm0, acur
+
+    integer, parameter :: halofit_original = 1, halofit_bird=2, halofit_peacock=3, halofit_takahashi=4
+    integer, parameter :: halofit_default = halofit_original ! DM15: Takahashi is not stable for axion models. Other versions agree well and are sensible to percent level for lensing \ell<4000.
+    integer :: halofit_version = halofit_default
+    public Min_kh_nonlinear,NonLinear_GetNonLinRatios, NonLinear_ReadParams
+    public halofit_version,halofit_default, halofit_original, halofit_bird, halofit_peacock, halofit_takahashi
+    contains
+
+    subroutine NonLinear_ReadParams(Ini)
+    use IniFile
+    Type(TIniFile) :: Ini
+
+    halofit_version = Ini_Read_Int_File(Ini, 'halofit_version', halofit_default)
+
+    end subroutine NonLinear_ReadParams
+
+    subroutine NonLinear_GetNonLinRatios(CAMB_Pk)
+    !Fill the CAMB_Pk%nonlin_scaling array with sqrt(non-linear power/linear power)
+    !for each redshift and wavenumber
+    !This implementation uses Halofit
+    type(MatterPowerData) :: CAMB_Pk
+    integer itf
+    real(dl) a,plin,pq,ph,pnl,rk
+    real(dl) sig,rknl,rneff,rncur,d1,d2
+    real(dl) diff,xlogr1,xlogr2,rmid
+    integer i
+
+    !!BR09 putting neutrinos into the matter as well, not sure if this is correct, but at least one will get a consisent omk.
+    
+    !! DM16: modification to treat axions in non-linear lensing S4 fiducial model.
+    ! Axion mass kluge: include in computation on non-linear ratio only
+    ! for masses that are non-linear at z>2.
+    ! Otherwise they are treated as quintessence, i.e. ignored in this.
+    ! Boundary found by hand for fiducial "test field" approximation,
+    ! valid for low axion density.
+    ! Make sure to set the same boundary mass, 1.e-25 eV, in subroutine outtransf.
+    if (CP%ma.ge.1.e-25) then
+       omm0 = CP%omegac+CP%omegab+CP%omegan+CP%omegaax
+    else
+       omm0 = CP%omegac+CP%omegab+CP%omegan
+    end if
+    fnu = CP%omegan/omm0
+    
+    
+    CAMB_Pk%nonlin_ratio = 1
+    
+    do itf = 1, CAMB_Pk%num_z
+       
+       ! calculate nonlinear wavenumber (rknl), effective spectral index (rneff) and
+       ! curvature (rncur) of the power spectrum at the desired redshift, using method
+       ! described in Smith et al (2002).
+       a = 1/real(1+CAMB_Pk%Redshifts(itf),dl)
+       om_m = omega_m(a, omm0, CP%omegav, w_lam,wa_ppf)
+       om_v = omega_v(a, omm0, CP%omegav, w_lam,wa_ppf)
+       acur = a
+       xlogr1=-2.0
+       xlogr2=3.5
+       do
+          rmid=(xlogr2+xlogr1)/2.0
+          rmid=10**rmid
+          call wint(CAMB_Pk,itf,rmid,sig,d1,d2)
+          diff=sig-1.0
+          if (abs(diff).le.0.001) then
+             rknl=1./rmid
+             rneff=-3-d1
+             rncur=-d2
+             exit
+          elseif (diff.gt.0.001) then
+             xlogr1=log10(rmid)
+          elseif (diff.lt.-0.001) then
+             xlogr2=log10(rmid)
+          endif
+          if (xlogr2 < -1.9999) then
+             !is still linear, exit
+             goto 101
+          else if (xlogr2>3.4999) then
+             ! Totally crazy non-linear
+             global_error_flag=349
+                write(*,*) 'Error in halofit'
+                goto 101
+             end if
+          end do
+          
+          
+          ! now calculate power spectra for a logarithmic range of wavenumbers (rk)
+          
+          do i=1, CAMB_PK%num_k
+             rk = exp(CAMB_Pk%log_kh(i))
+             
+             if (rk > Min_kh_nonlinear) then
+                
+                ! linear power spectrum !! Remeber => plin = k^3 * P(k) * constant
+                ! constant = 4*pi*V/(2*pi)^3
+                
+                plin= MatterPowerData_k(CAMB_PK, rk, itf)*(rk**3/(2*pi**2))
+                
+                ! calculate nonlinear power according to halofit: pnl = pq + ph,
+                ! where pq represents the quasi-linear (halo-halo) power and
+                ! where ph is represents the self-correlation halo term.
+                call halofit(rk,rneff,rncur,rknl,plin,pnl,pq,ph)   ! halo fitting formula
+                CAMB_Pk%nonlin_ratio(i,itf) = sqrt(pnl/plin)
+                !write(9,*) rk,plin/(rk**3/(2*pi**2)),pnl/(rk**3/(2*pi**2)) ! DM: write out pnl inside halofit
+             end if
+             
+          enddo
+          
+101       continue
+       end do
+       
+     end subroutine NonLinear_GetNonLinRatios
+     
+    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+    subroutine halofit(rk,rn,rncur,rknl,plin,pnl,pq,ph)
+    implicit none
+
+    real(dl) gam,a,b,c,xmu,xnu,alpha,beta,f1,f2,f3
+    real(dl) rk,rn,plin,pnl,pq,ph,plinaa
+    real(dl) rknl,y,rncur
+    real(dl) f1a,f2a,f3a,f1b,f2b,f3b,frac
+    real(dl) extragam, peacock_fudge
+
+    if (halofit_version ==halofit_original .or. halofit_version ==halofit_bird &
+        .or. halofit_version == halofit_peacock) then
+    ! halo model nonlinear fitting formula as described in
+    ! Appendix C of Smith et al. (2002)
+    !SPB11: Standard halofit underestimates the power on the smallest scales by a
+    !factor of two. Add an extra correction from the simulations in Bird, Viel,
+    !Haehnelt 2011 which partially accounts for this.
+    if (halofit_version ==halofit_bird) then
+        extragam = 0.3159 -0.0765*rn -0.8350*rncur
+        gam=extragam+0.86485+0.2989*rn+0.1631*rncur
+    else
+        gam=0.86485+0.2989*rn+0.1631*rncur
+    end if
+    a=1.4861+1.83693*rn+1.67618*rn*rn+0.7940*rn*rn*rn+ &
+        0.1670756*rn*rn*rn*rn-0.620695*rncur
+    a=10**a
+    b=10**(0.9463+0.9466*rn+0.3084*rn*rn-0.940*rncur)
+    c=10**(-0.2807+0.6669*rn+0.3214*rn*rn-0.0793*rncur)
+    xmu=10**(-3.54419+0.19086*rn)
+    xnu=10**(0.95897+1.2857*rn)
+    alpha=1.38848+0.3701*rn-0.1452*rn*rn
+    beta=0.8291+0.9854*rn+0.3400*rn**2+fnu*(-6.4868+1.4373*rn**2)
+    elseif (halofit_version == halofit_takahashi) then
+        !RT12 Oct: the halofit in Smith+ 2003 predicts a smaller power
+        !than latest N-body simulations at small scales.
+        !Update the following fitting parameters of gam,a,b,c,xmu,xnu,
+        !alpha & beta from the simulations in Takahashi+ 2012.
+        !The improved halofit accurately provide the power spectra for WMAP
+        !cosmological models with constant w.
+        gam=0.1971-0.0843*rn+0.8460*rncur
+        a=1.5222+2.8553*rn+2.3706*rn*rn+0.9903*rn*rn*rn+ &
+            0.2250*rn*rn*rn*rn-0.6038*rncur+0.1749*om_v*(1.+w_lam+wa_ppf*(1-acur))
+        a=10**a
+        b=10**(-0.5642+0.5864*rn+0.5716*rn*rn-1.5474*rncur+ &
+            0.2279*om_v*(1.+w_lam+wa_ppf*(1-acur)))
+        c=10**(0.3698+2.0404*rn+0.8161*rn*rn+0.5869*rncur)
+        xmu=0.
+        xnu=10**(5.2105+3.6902*rn)
+        alpha=abs(6.0835+1.3373*rn-0.1959*rn*rn-5.5274*rncur)
+        beta=2.0379-0.7354*rn+0.3157*rn**2+1.2490*rn**3+ &
+            0.3980*rn**4-0.1682*rncur + fnu*(1.081 + 0.395*rn**2)
+    else
+        stop 'Unknown halofit_version'
+    end if
+
+    if(abs(1-om_m).gt.0.01) then ! omega evolution
+        f1a=om_m**(-0.0732)
+        f2a=om_m**(-0.1423)
+        f3a=om_m**(0.0725)
+        f1b=om_m**(-0.0307)
+        f2b=om_m**(-0.0585)
+        f3b=om_m**(0.0743)
+        frac=om_v/(1.-om_m)
+        f1=frac*f1b + (1-frac)*f1a
+        f2=frac*f2b + (1-frac)*f2a
+        f3=frac*f3b + (1-frac)*f3a
+    else
+        f1=1.0
+        f2=1.
+        f3=1.
+    endif
+
+    y=(rk/rknl)
+
+
+    ph=a*y**(f1*3)/(1+b*y**(f2)+(f3*c*y)**(3-gam))
+    ph=ph/(1+xmu*y**(-1)+xnu*y**(-2))*(1+fnu*0.977)
+    plinaa=plin*(1+fnu*47.48*rk**2/(1+1.5*rk**2))
+    pq=plin*(1+plinaa)**beta/(1+plinaa*alpha)*exp(-y/4.0-y**2/8.0)
+
+    pnl=pq+ph
+
+    if (halofit_version == halofit_peacock) then
+        !From http://www.roe.ac.uk/~jap/haloes/
+        !(P-P_linear) -> (P-P_linear) * (1+2y^2)/(1+y^2), where y = k/10 h Mpc^(-1).
+        peacock_fudge = rk/10
+        pnl = plin + (pnl-plin)*(1+2*peacock_fudge**2)/(1+peacock_fudge**2)
+    end if
+
+    end subroutine halofit
+
+
+    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+    ! The subroutine wint, finds the effective spectral quantities
+    ! rknl, rneff & rncur. This it does by calculating the radius of
+    ! the Gaussian filter at which the variance is unity = rknl.
+    ! rneff is defined as the first derivative of the variance, calculated
+    ! at the nonlinear wavenumber and similarly the rncur is the second
+    ! derivative at the nonlinear wavenumber.
+
+    subroutine wint(CAMB_Pk,itf,r,sig,d1,d2)
+    implicit none
+    integer, intent(in) :: itf
+    type(MatterPowerData) :: CAMB_Pk
+    real(dl) sum1,sum2,sum3,t,y,x,w1,w2,w3
+    real(dl) x2,rk, fac,r, sig, d1,d2, anorm
+    integer i,nint
+
+    nint=3000
+    sum1=0.d0
+    sum2=0.d0
+    sum3=0.d0
+    anorm = 1/(2*pi**2)
+    do i=1,nint
+        t=(i-0.5_dl)/nint
+        y=-1.d0+1.d0/t
+        rk=y
+        d2=MatterPowerData_k(CAMB_PK, rk, itf)*(rk**3*anorm)
+        x=y*r
+        x2=x*x
+        w1=exp(-x2)
+        w2=2*x2*w1
+        w3=4*x2*(1-x2)*w1
+        fac=d2/y/t/t
+        sum1=sum1+w1*fac
+        sum2=sum2+w2*fac
+        sum3=sum3+w3*fac
+    enddo
+    sum1=sum1/nint
+    sum2=sum2/nint
+    sum3=sum3/nint
+    sig=sqrt(sum1)
+    d1=-sum2/sum1
+    d2=-sum2*sum2/sum1/sum1 - sum3/sum1
+
+    end subroutine wint
+
+    !!JD 08/13 generalize to variable w
+
+    function omega_m(aa,om_m0,om_v0,wval,waval)
+    implicit none
+    real(dl) omega_m,omega_t,om_m0,om_v0,aa,wval,waval,Qa2
+    Qa2= aa**(-1.0-3.0*(wval+waval))*dexp(-3.0*(1-aa)*waval)
+    omega_t=1.0+(om_m0+om_v0-1.0)/(1-om_m0-om_v0+om_v0*Qa2+om_m0/aa)
+    omega_m=omega_t*om_m0/(om_m0+om_v0*aa*Qa2)
+    end function omega_m
+
+    !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+    ! evolution of omega lambda with expansion factor
+
+    function omega_v(aa,om_m0,om_v0,wval,waval)
+    implicit none
+    real(dl) aa,omega_v,om_m0,om_v0,omega_t,wval,waval,Qa2
+    Qa2= aa**(-1.0-3.0*(wval+waval))*dexp(-3.0*(1-aa)*waval)
+    omega_t=1.0+(om_m0+om_v0-1.0)/(1-om_m0-om_v0+om_v0*Qa2+om_m0/aa)
+    omega_v=omega_t*om_v0*Qa2/(om_v0*Qa2+om_m0/aa)
+    end function omega_v
+
+    !!JD end generalize to variable w
+
+    end module NonLinear
+
+
+    !workaround for f90 circular-module reference
+    subroutine NonLinear_GetRatios(CAMB_Pk)
+    use Transfer
+    use NonLinear
+    type(MatterPowerData) :: CAMB_Pk
+
+    call NonLinear_GetNonLinRatios(CAMB_Pk)
+
+    end subroutine NonLinear_GetRatios
+
+
+
+    subroutine NonLinear_GetRatios_all(CAMB_Pk)
+    use Transfer
+    use NonLinear
+    type(MatterPowerData) :: CAMB_Pk
+
+    stop 'Halofit module doesn''t support non-linear velocities'
+
+    end subroutine NonLinear_GetRatios_All
+
diff --git a/hyrec.F90 b/hyrec.F90
new file mode 100644
index 0000000..55e0b3b
--- /dev/null
+++ b/hyrec.F90
@@ -0,0 +1,85 @@
+    !---------------------------------------------------------------------------------------------------
+    ! Recombination module for CAMB, using HyRec
+    ! Author: Antony Lewis
+    !---------------------------------------------------------------------------------------------------
+
+    module Recombination
+    use constants
+    use AMLUtils
+    implicit none
+    private
+
+    type RecombinationParams
+
+    end type RecombinationParams
+
+    character(LEN=*), parameter :: Recombination_Name = 'HyRec'
+
+    public RecombinationParams, Recombination_xe, Recombination_tm, Recombination_init,   &
+    Recombination_ReadParams, Recombination_SetDefParams, &
+    Recombination_Validate, Recombination_Name
+
+
+    contains
+
+    subroutine Recombination_ReadParams(R, Ini)
+    use IniFile
+    Type(RecombinationParams) :: R
+    Type(TIniFile) :: Ini
+
+
+    end subroutine Recombination_ReadParams
+
+
+    subroutine Recombination_SetDefParams(R)
+    type (RecombinationParams) ::R
+
+
+    end subroutine Recombination_SetDefParams
+
+
+    subroutine Recombination_Validate(R, OK)
+    Type(RecombinationParams), intent(in) :: R
+    logical, intent(inout) :: OK
+
+
+    end subroutine Recombination_Validate
+
+
+
+    function Recombination_tm(a)
+    real(dl), intent(in) :: a
+    real(dl) Recombination_tm, hyrec_tm
+    external hyrec_tm
+
+    Recombination_tm =  hyrec_tm(a);
+
+    end function Recombination_tm
+
+
+    function Recombination_xe(a)
+    real(dl), intent(in) :: a
+    real(dl) Recombination_xe,hyrec_xe
+    external hyrec_xe
+
+    Recombination_xe = hyrec_xe(a);
+
+    end function Recombination_xe
+
+
+    subroutine Recombination_init(Recomb, OmegaC, OmegaB, OmegaN, Omegav, h0inp, tcmb, yp, num_nu)
+    use AMLUtils
+    implicit none
+    Type (RecombinationParams), intent(in) :: Recomb
+    real(dl), intent(in) :: OmegaC, OmegaB, OmegaN, OmegaV, h0inp, tcmb, yp, num_nu
+    external rec_build_history_camb
+
+    call rec_build_history_camb(OmegaC, OmegaB, OmegaN, Omegav, h0inp, tcmb, yp, num_nu)
+
+    end subroutine Recombination_init
+
+
+
+
+    end module Recombination
+
diff --git a/inidriver_axion.F90 b/inidriver_axion.F90
new file mode 100644
index 0000000..3addd90
--- /dev/null
+++ b/inidriver_axion.F90
@@ -0,0 +1,538 @@
+
+    !     Code for Anisotropies in the Microwave Background
+    !     by Antony Lewis (http://cosmologist.info/) and Anthony Challinor
+    !     See readme.html for documentation. This is a sample driver routine that reads
+    !     in one set of parameters and produdes the corresponding output.
+
+    program driver
+    use IniFile
+    use CAMB
+    use LambdaGeneral
+    use Lensing
+    use AMLUtils
+    use Transfer
+    use constants
+    use Precision
+	use Bispectrum
+    use CAMBmain
+    use NonLinear ! RH made this change for axions
+    
+    !Tell CAMB to solve the Klein-Gordon equation for a background axion field
+    !to determine what initial condition is needed to get desired relic abundance of axions
+    !today
+    
+	use axion_background
+#ifdef NAGF95
+    use F90_UNIX
+#endif
+    implicit none
+
+    Type(CAMBparams) P
+    character(LEN=Ini_max_string_len) numstr, VectorFileName, &
+    InputFile, ScalarFileName, TensorFileName, TotalFileName, LensedFileName,&
+    LensedTotFileName, LensPotentialFileName,ScalarCovFileName
+    integer i
+    character(LEN=Ini_max_string_len) TransferFileNames(max_transfer_redshifts), &
+    MatterPowerFileNames(max_transfer_redshifts), outroot, version_check
+    real(dl) output_factor, nmassive,omnuh2,nu_massless_degeneracy,fractional_number
+    real(dl) actual_massless,neff_i
+!    real clock_start, clock_stop ! RH timing	
+
+#ifdef WRITE_FITS
+    character(LEN=Ini_max_string_len) FITSfilename
+#endif
+
+    logical bad
+
+!Cosmo parameters for dg integrator
+!dimensionless Hubble
+real(dl) hnot
+!a_equality, omega_radiation, initial scalar field value,omega_rad H^2, rho_crit, number of massless neutrinos 
+real(dl) aeq,omegar,phiinit,omegah2_rad,rhocrit, nnu, rh_num_nu_massless
+!Timing variables
+!real clock_totstart, clock_totstop ! RH timing 
+
+!Control Flag
+integer badflag
+!call cpu_time(clock_totstart) ! RH timing
+
+! End axion stuff
+
+
+    InputFile = ''
+    if (GetParamCount() /= 0)  InputFile = GetParam(1)
+    if (InputFile == '') stop 'No parameter input file'
+
+    call Ini_Open(InputFile, 1, bad, .false.)
+    if (bad) stop 'Error opening parameter file'
+
+    Ini_fail_on_not_found = .false.
+
+    outroot = Ini_Read_String('output_root')
+    if (outroot /= '') outroot = trim(outroot) // '_'
+
+    highL_unlensed_cl_template = Ini_Read_String_Default('highL_unlensed_cl_template',highL_unlensed_cl_template)
+
+    call CAMB_SetDefParams(P)
+
+    P%WantScalars = Ini_Read_Logical('get_scalar_cls')
+    P%WantVectors = Ini_Read_Logical('get_vector_cls',.false.)
+    P%WantTensors = Ini_Read_Logical('get_tensor_cls',.false.)
+
+    P%OutputNormalization=outNone
+    output_factor = Ini_Read_Double('CMB_outputscale',1.d0)
+
+    P%WantCls= P%WantScalars .or. P%WantTensors .or. P%WantVectors
+
+    P%PK_WantTransfer=Ini_Read_Logical('get_transfer')
+
+    AccuracyBoost  = Ini_Read_Double('accuracy_boost',AccuracyBoost)
+    lAccuracyBoost = Ini_Read_Real('l_accuracy_boost',lAccuracyBoost)
+    HighAccuracyDefault = Ini_Read_Logical('high_accuracy_default',HighAccuracyDefault)
+
+    P%NonLinear = Ini_Read_Int('do_nonlinear',NonLinear_none)
+
+    if (P%NonLinear > 0) print*, 'WARNING: halofit is not currently calibrated for axions.'
+    ! See 1605.05973 and 1607.XXXX for more information
+
+    P%DoLensing = .false.
+    if (P%WantCls) then
+        if (P%WantScalars  .or. P%WantVectors) then
+            P%Max_l = Ini_Read_Int('l_max_scalar')
+            P%Max_eta_k = Ini_Read_Double('k_eta_max_scalar',P%Max_l*2._dl)
+            if (P%WantScalars) then
+                P%DoLensing = Ini_Read_Logical('do_lensing',.false.)
+                if (P%DoLensing) lensing_method = Ini_Read_Int('lensing_method',1)
+            end if
+            if (P%WantVectors) then
+                if (P%WantScalars .or. P%WantTensors) stop 'Must generate vector modes on their own'
+                i = Ini_Read_Int('vector_mode')
+                if (i==0) then
+                    vec_sig0 = 1
+                    Magnetic = 0
+                else if (i==1) then
+                    Magnetic = -1
+                    vec_sig0 = 0
+                else
+                    stop 'vector_mode must be 0 (regular) or 1 (magnetic)'
+                end if
+            end if
+        end if
+
+        if (P%WantTensors) then
+            P%Max_l_tensor = Ini_Read_Int('l_max_tensor')
+            P%Max_eta_k_tensor =  Ini_Read_Double('k_eta_max_tensor',Max(500._dl,P%Max_l_tensor*2._dl))
+        end if
+    endif
+
+
+
+    !  Read initial parameters.
+
+    call DarkEnergy_ReadParams(DefIni)
+
+    P%h0     = Ini_Read_Double('hubble')
+
+!    print*, 'Renee reading hubble: ', P%h0
+    if (Ini_Read_Logical('use_physical',.false.)) then
+       P%omegab = Ini_Read_Double('ombh2')/(P%H0/100)**2
+       P%omegan = Ini_Read_Double('omnuh2')/(P%H0/100)**2
+       
+       P%use_axfrac = Ini_Read_Logical('use_axfrac',.false.) 
+       
+       if (P%use_axfrac) then
+          !! Changed to compute axion fractions rather than densities
+          P%omegada = Ini_Read_Double('omdah2')/(P%H0/100)**2
+          ! Read in Axion faction and compute density
+          P%axfrac = Ini_Read_Double('axfrac') 
+          P%omegaax = P%axfrac*P%omegada 
+          P%omegac = (1-P%axfrac)*P%omegada 
+       else 
+          ! read in axion densities and matter densities
+          P%omegac = Ini_Read_Double('omch2')/(P%H0/100)**2
+          P%omegaax = Ini_Read_Double('omaxh2')/(P%H0/100)**2 
+       endif
+
+        ! read in axion mass
+       P%ma     = Ini_Read_Double('m_ax') !! RH axion mass
+       if (P%ma < 0) P%ma = 10**P%ma ! RH making this exponential from the inidriver
+       
+    else
+       P%omegab = Ini_Read_Double('omega_baryon')
+       P%omegac = Ini_Read_Double('omega_cdm')
+       P%omegav = Ini_Read_Double('omega_lambda')
+       P%omegan = Ini_Read_Double('omega_neutrino')
+       P%omegaax = Ini_Read_Double('omega_axion')/(P%H0/100)**2
+       P%ma     = Ini_Read_Double('m_ax')  
+       
+    end if
+
+    P%tcmb   = Ini_Read_Double('temp_cmb',COBE_CMBTemp)
+    P%yhe    = Ini_Read_Double('helium_fraction',0.24_dl)
+
+
+    !Compute  some basic constants
+    rhocrit=(8.0d0*const_pi*G*1.d3/(3.0d0*((1.d7/(MPC_in_sec*c*1.d2))**(2.0d0))))**(-1.0d0)
+    omegah2_rad=((COBE_CMBTemp**4.0d0)/(rhocrit))/(c**2.0d0)
+    omegah2_rad=omegah2_rad*a_rad*1.d1/(1.d4)
+    
+    !DG May 25 2015
+    !Neutrino stuff out of usual order so that OmegaK Can be self consistently computed
+    !If you restructure this make sure that P%omegav is self-consistently computed including massive and massless
+    P%Num_Nu_massless  = Ini_Read_Double('massless_neutrinos')
+    
+    P%Nu_mass_eigenstates = Ini_Read_Int('nu_mass_eigenstates',1)
+    if (P%Nu_mass_eigenstates > max_nu) stop 'too many mass eigenstates'
+    
+    numstr = Ini_Read_String('massive_neutrinos')
+    read(numstr, *) nmassive
+
+    if (abs(nmassive-nint(nmassive))>1e-6) stop 'massive_neutrinos should now be integer (or integer array)'
+    read(numstr,*, end=100, err=100) P%Nu_Mass_numbers(1:P%Nu_mass_eigenstates)
+    P%Num_Nu_massive = sum(P%Nu_Mass_numbers(1:P%Nu_mass_eigenstates))
+    
+    if (P%Num_Nu_massive>0) then
+       P%share_delta_neff = Ini_Read_Logical('share_delta_neff', .true.)
+        numstr = Ini_Read_String('nu_mass_degeneracies')
+
+        if (P%share_delta_neff) then
+           if (numstr/='') write (*,*) 'WARNING: nu_mass_degeneracies ignored when share_delta_neff'
+        else
+           if (numstr=='') stop 'must give degeneracies for each eigenstate if share_delta_neff=F'
+           read(numstr,*) P%Nu_mass_degeneracies(1:P%Nu_mass_eigenstates)
+        end if
+        
+        numstr = Ini_Read_String('nu_mass_fractions')
+        if (numstr=='') then
+           if (P%Nu_mass_eigenstates >1) stop 'must give nu_mass_fractions for the eigenstates'
+           P%Nu_mass_fractions(1)=1
+        else
+           read(numstr,*) P%Nu_mass_fractions(1:P%Nu_mass_eigenstates)
+        end if
+     end if
+     
+
+     grhog= ((kappa/(c**2.0d0)*4.0d0*sigma_boltz)/(c**3.0d0))*(COBE_CMBTemp**4.0d0)*(Mpc**2.0d0) 
+     P%grhor = (7.0d0/8.0d0)*((4.0d0/11.0d0)**(4.0d0/3.0d0))*grhog
+     
+     ! RH added this here because we are calculating omegav - but not trying to change anything globally
+
+     if (P%Omegan == 0 .and. P%Num_Nu_Massive /=0) then 
+        !        print*, 'we are where omeganuh2=0 but we still have massive neutrinos'
+        !	print*, P%Num_Nu_Massless, P%Num_Nu_Massive, 'here 1'
+        if (P%share_delta_neff) then
+           rh_num_Nu_Massless = P%Num_Nu_Massless + P%Num_Nu_Massive
+        else 
+           rh_Num_Nu_Massless = P%Num_Nu_Massless + sum(P%Nu_mass_degeneracies(1:P%Nu_mass_eigenstates)) 
+        end if
+         
+         ! Note that this will be computed correctly later - this is not carrying through, but only for omegak
+         !        CP%Num_Nu_Massive  = 0 
+         !        CP%Nu_mass_numbers = 0 
+      end if
+
+      if (P%omegan ==0 .and. P%Num_Nu_Massive ==0)  rh_num_nu_massless = P%Num_Nu_Massless 
+
+ ! RH again calculating this here so we make sure to add the neutrino density correctly to get omegak
+
+     if (P%Omegan > 0 .and. P%Num_Nu_massive > 0) then
+        rh_num_nu_massless = P%Num_Nu_Massless ! only using the massless neutrinos, and adding in omnuh2 later
+     end if
+
+
+!     print*, P%Num_Nu_Massless, P%Num_Nu_Massive, rh_num_nu_massless, 'here 2'
+     omegah2_rad= omegah2_rad+(rh_Num_Nu_massless*P%grhor*(c**2.0d0)/((1.d5**2.0d0)))/3.0d0     
+     P%omegah2_rad = omegah2_rad	
+
+     !Compute value of cosmological constant including curvature and radiation (photons + massless neutrinos)
+     !self consistently
+     P%omegak= Ini_Read_Double('omk') 	
+
+     P%omegav = 1.0d0-P%omegab-P%omegac - P%omegan -P%omegak-P%omegaax - P%omegah2_rad/((P%H0/1.d2)**2.0d0)
+     
+!	print*, 'hi renee omk', P%omegak, 'omegav', P%omegav, 'grhog', grhog, 'P%grhor', (P%grhor*(c**2.0d0)/((1.d5**2.0d0)))/3.0d0, 'omegah2_rad', P%omegah2_rad 
+    
+
+    
+    
+    
+    
+    !JD 08/13 begin changes for nonlinear lensing of CMB + LSS compatibility
+    !P%Transfer%redshifts -> P%Transfer%PK_redshifts and P%Transfer%num_redshifts -> P%Transfer%PK_num_redshifts
+    !in the P%WantTransfer loop.
+    if (((P%NonLinear==NonLinear_lens .or. P%NonLinear==NonLinear_both) .and. P%DoLensing) &
+    .or. P%PK_WantTransfer) then
+        P%Transfer%high_precision=  Ini_Read_Logical('transfer_high_precision',.false.)
+    else
+        P%transfer%high_precision = .false.
+    endif
+
+    if (P%NonLinear/= NonLinear_none) call NonLinear_ReadParams(DefIni) ! RH axions
+
+     ! RH making changes here
+    if (P%PK_WantTransfer)  then
+        P%WantTransfer  = .true.
+        P%transfer%kmax          =  Ini_Read_Double('transfer_kmax')
+        P%transfer%k_per_logint  =  Ini_Read_Int('transfer_k_per_logint')
+        P%transfer%PK_num_redshifts =  Ini_Read_Int('transfer_num_redshifts')
+
+        transfer_interp_matterpower = Ini_Read_Logical('transfer_interp_matterpower ', transfer_interp_matterpower)
+        transfer_power_var = Ini_read_int('transfer_power_var',transfer_power_var)
+        if (P%transfer%PK_num_redshifts > max_transfer_redshifts) stop 'Too many redshifts'
+        do i=1, P%transfer%PK_num_redshifts
+            P%transfer%PK_redshifts(i)  = Ini_Read_Double_Array('transfer_redshift',i,0._dl)
+            transferFileNames(i)     = Ini_Read_String_Array('transfer_filename',i)
+            MatterPowerFilenames(i)  = Ini_Read_String_Array('transfer_matterpower',i)
+            if (TransferFileNames(i) == '') then
+                TransferFileNames(i) =  trim(numcat('transfer_',i))//'.dat'
+            end if
+            if (MatterPowerFilenames(i) == '') then
+                MatterPowerFilenames(i) =  trim(numcat('matterpower_',i))//'.dat'
+            end if
+            if (TransferFileNames(i)/= '') &
+            TransferFileNames(i) = trim(outroot)//TransferFileNames(i)
+            if (MatterPowerFilenames(i) /= '') &
+            MatterPowerFilenames(i)=trim(outroot)//MatterPowerFilenames(i)
+        end do
+    else
+        P%Transfer%PK_num_redshifts = 1
+        P%Transfer%PK_redshifts = 0
+    end if
+
+
+
+    if ((P%NonLinear==NonLinear_lens .or. P%NonLinear==NonLinear_both) .and. P%DoLensing) then
+        P%WantTransfer  = .true.
+        call Transfer_SetForNonlinearLensing(P%Transfer)
+    end if
+
+    call Transfer_SortAndIndexRedshifts(P%Transfer)
+    !JD 08/13 end changes
+
+    P%transfer%kmax=P%transfer%kmax*(P%h0/100._dl)
+
+    Ini_fail_on_not_found = .false.
+
+    DebugParam = Ini_Read_Double('DebugParam',DebugParam)
+    ALens = Ini_Read_Double('Alens',Alens)
+
+    call Reionization_ReadParams(P%Reion, DefIni)
+    call InitialPower_ReadParams(P%InitPower, DefIni, P%WantTensors)
+    call Recombination_ReadParams(P%Recomb, DefIni)
+    if (Ini_HasKey('recombination')) then
+        i = Ini_Read_Int('recombination',1)
+        if (i/=1) stop 'recombination option deprecated'
+    end if
+
+    call Bispectrum_ReadParams(BispectrumParams, DefIni, outroot)
+
+    if (P%WantScalars .or. P%WantTransfer) then
+        P%Scalar_initial_condition = Ini_Read_Int('initial_condition',initial_adiabatic)
+        if (P%Scalar_initial_condition == initial_vector) then
+            P%InitialConditionVector=0
+            numstr = Ini_Read_String('initial_vector',.true.)
+            read (numstr,*) P%InitialConditionVector(1:initial_iso_neutrino_vel)
+        end if
+        if (P%Scalar_initial_condition/= initial_adiabatic) use_spline_template = .false.
+    end if
+
+    if (P%WantScalars) then
+        ScalarFileName = trim(outroot)//Ini_Read_String('scalar_output_file')
+        LensedFileName =  trim(outroot) //Ini_Read_String('lensed_output_file')
+        LensPotentialFileName =  Ini_Read_String('lens_potential_output_file')
+        if (LensPotentialFileName/='') LensPotentialFileName = concat(outroot,LensPotentialFileName)
+        ScalarCovFileName =  Ini_Read_String_Default('scalar_covariance_output_file','scalCovCls.dat',.false.)
+        if (ScalarCovFileName/='') then
+            has_cl_2D_array = .true.
+            ScalarCovFileName = concat(outroot,ScalarCovFileName)
+        end if
+    end if
+    if (P%WantTensors) then
+        TensorFileName =  trim(outroot) //Ini_Read_String('tensor_output_file')
+        if (P%WantScalars)  then
+            TotalFileName =  trim(outroot) //Ini_Read_String('total_output_file')
+            LensedTotFileName = Ini_Read_String('lensed_total_output_file')
+            if (LensedTotFileName/='') LensedTotFileName= trim(outroot) //trim(LensedTotFileName)
+        end if
+    end if
+    if (P%WantVectors) then
+        VectorFileName =  trim(outroot) //Ini_Read_String('vector_output_file')
+    end if
+
+#ifdef WRITE_FITS
+    if (P%WantCls) then
+        FITSfilename =  trim(outroot) //Ini_Read_String('FITS_filename',.true.)
+        if (FITSfilename /='') then
+            inquire(file=FITSfilename, exist=bad)
+            if (bad) then
+                open(unit=18,file=FITSfilename,status='old')
+                close(18,status='delete')
+            end if
+        end if
+    end if
+#endif
+
+
+    Ini_fail_on_not_found = .false.
+
+    !optional parameters controlling the computation
+
+    P%AccuratePolarization = Ini_Read_Logical('accurate_polarization',.true.)
+    P%AccurateReionization = Ini_Read_Logical('accurate_reionization',.false.)
+    P%AccurateBB = Ini_Read_Logical('accurate_BB',.false.)
+    P%DerivedParameters = Ini_Read_Logical('derived_parameters',.true.)
+
+    version_check = Ini_Read_String('version_check')
+    if (version_check == '') then
+        !tag the output used parameters .ini file with the version of CAMB being used now
+        call TNameValueList_Add(DefIni%ReadValues, 'version_check', version)
+    else if (version_check /= version) then
+        write(*,*) 'WARNING: version_check does not match this CAMB version'
+    end if
+    !Mess here to fix typo with backwards compatibility
+    if (Ini_HasKey('do_late_rad_trunction')) then
+        DoLateRadTruncation = Ini_Read_Logical('do_late_rad_trunction',.true.)
+        if (Ini_HasKey('do_late_rad_truncation')) stop 'check do_late_rad_xxxx'
+    else
+        DoLateRadTruncation = Ini_Read_Logical('do_late_rad_truncation',.true.)
+    end if
+    DoTensorNeutrinos = Ini_Read_Logical('do_tensor_neutrinos',DoTensorNeutrinos )
+    FeedbackLevel = Ini_Read_Int('feedback_level',FeedbackLevel)
+
+    P%MassiveNuMethod  = Ini_Read_Int('massive_nu_approx',Nu_best)
+
+    ThreadNum      = Ini_Read_Int('number_of_threads',ThreadNum)
+    use_spline_template = Ini_Read_Logical('use_spline_template',use_spline_template)
+
+    DoTensorNeutrinos = DoTensorNeutrinos .or. HighAccuracyDefault
+    if (do_bispectrum) then
+        lSampleBoost   = 50
+    else
+        lSampleBoost   = Ini_Read_Double('l_sample_boost',lSampleBoost)
+    end if
+    if (outroot /= '') then
+        if (InputFile /= trim(outroot) //'params.ini') then
+            call Ini_SaveReadValues(trim(outroot) //'params.ini',1)
+        else
+            write(*,*) 'Output _params.ini not created as would overwrite input'
+        end if
+    end if
+
+    call Ini_Close
+
+
+
+! DM: Beginning of DG axion additions giving params
+
+hnot=P%H0/100.d0
+
+if (P%Num_Nu_Massive /= sum(P%Nu_mass_numbers(1:P%Nu_mass_eigenstates))) then
+   if (sum(P%Nu_mass_numbers(1:P%Nu_mass_eigenstates))/=0) stop 'Num_Nu_Massive is not sum of Nu_mass_numbers'
+end if
+
+if (P%Omegan == 0 .and. P%Num_Nu_Massive /=0) then
+   if (P%share_delta_neff) then
+      P%Num_Nu_Massless = P%Num_Nu_Massless + P%Num_Nu_Massive
+   else
+      P%Num_Nu_Massless = P%Num_Nu_Massless + sum(P%Nu_mass_degeneracies(1:P%Nu_mass_eigenstates))
+   end if
+   P%Num_Nu_Massive  = 0
+   P%Nu_mass_numbers = 0
+end if
+
+    nu_massless_degeneracy = P%Num_Nu_massless !N_eff for massless neutrinos
+    if (P%Num_nu_massive > 0) then
+        if (P%Nu_mass_eigenstates==0) stop 'Have Num_nu_massive>0 but no nu_mass_eigenstates'
+        if (P%Nu_mass_eigenstates==1 .and. P%Nu_mass_numbers(1)==0) P%Nu_mass_numbers(1) = P%Num_Nu_Massive
+        if (all(P%Nu_mass_numbers(1:P%Nu_mass_eigenstates)==0)) P%Nu_mass_numbers=1 !just assume one for all
+        if (P%share_delta_neff) then
+            !default case of equal heating of all neutrinos
+            fractional_number = P%Num_Nu_massless + P%Num_Nu_massive
+            actual_massless = int(P%Num_Nu_massless + 1e-6_dl)
+            neff_i = fractional_number/(actual_massless + P%Num_Nu_massive)
+            nu_massless_degeneracy = neff_i*actual_massless
+            P%Nu_mass_degeneracies(1:P%Nu_mass_eigenstates) = P%Nu_mass_numbers(1:P%Nu_mass_eigenstates)*neff_i
+        end if
+        if (abs(sum(P%Nu_mass_fractions(1:P%Nu_mass_eigenstates))-1) > 1e-4) &
+        stop 'Nu_mass_fractions do not add up to 1'
+    else
+        P%Nu_mass_eigenstates = 0
+    end if
+
+! DM: The place axion evolution is called
+! This computes axion parameters and also creates the lookup table for axions during slow-roll.
+! Tables for density, equation of state and sound-speed. grhoax_table, wax_table, cs2_table.
+! Sampled at loga_table values. Later splined to any a necessary.
+! Sound speed is the sound speed only before oscillations (more precisely the adiabatic sound speed)
+!, afterwards fluid representation changes.
+! For more details see Hlozek et al 2014. arXiv:1410.2896
+
+!call cpu_time(clock_start) ! RH timing
+! Run axion background evolution and then with arrays in hand for interpolation, run the regular CAMB
+call   w_evolve(P, badflag)
+
+!call cpu_time(clock_stop) ! RH timing 
+!print*, 'timing after dans routine', clock_stop - clock_start
+
+if (.not. CAMB_ValidateParams(P)) stop 'Stopped due to parameter error'
+
+#ifdef RUNIDLE
+    call SetIdle
+#endif
+
+! call cpu_time(clock_start) ! RH timing
+
+
+
+    if (global_error_flag==0) call CAMB_GetResults(P)
+    if (global_error_flag/=0) then
+        write (*,*) 'Error result '//trim(global_error_message)
+        stop
+    endif
+!!
+
+! call cpu_time(clock_stop) ! RH timing 
+! print*, 'after getresults', clock_stop - clock_start
+    if (P%PK_WantTransfer) then
+        call Transfer_SaveToFiles(MT,TransferFileNames)
+        call Transfer_SaveMatterPower(MT,MatterPowerFileNames)
+        call Transfer_output_sig8(MT)
+    end if
+!!
+    if (P%WantCls) then
+        call output_cl_files(ScalarFileName, ScalarCovFileName, TensorFileName, TotalFileName, &
+        LensedFileName, LensedTotFilename, output_factor)
+!
+        call output_lens_pot_files(LensPotentialFileName, output_factor)
+!
+        if (P%WantVectors) then
+            call output_veccl_files(VectorFileName, output_factor)
+        end if
+!
+#ifdef WRITE_FITS
+        if (FITSfilename /= '') call WriteFitsCls(FITSfilename, CP%Max_l)
+#endif
+    end if
+
+    call CAMB_cleanup
+!    call cpu_time(clock_totstop) ! RH timing	
+!     print*, 'Total time taken:', clock_totstop - clock_totstart
+    stop
+!
+100 stop 'Must give num_massive number of integer physical neutrinos for each eigenstate'
+    end program driver
+
+
+#ifdef RUNIDLE
+    !If in Windows and want to run with low priorty so can multitask
+    subroutine SetIdle
+    USE DFWIN
+    Integer dwPriority
+    Integer CheckPriority
+
+    dwPriority = 64 ! idle priority
+    CheckPriority = SetPriorityClass(GetCurrentProcess(), dwPriority)
+
+    end subroutine SetIdle
+#endif
+
diff --git a/inifile.f90 b/inifile.f90
new file mode 100644
index 0000000..f620bab
--- /dev/null
+++ b/inifile.f90
@@ -0,0 +1,828 @@
+!Module to read in name/value pairs from a file, with each line of the form line 'name = value'
+!Should correctly interpret FITS headers
+!Antony Lewis (http://cosmologist.info/). Released to the public domain.
+!Apr 11, added support for INCLUDE(file); check for duplicate keys
+!Jun 12, added support for DEFAULT(file), provides default values for keys not defined in the read file
+
+module IniFile
+ implicit none
+ public
+
+  integer, parameter :: Ini_max_name_len = 128
+
+  integer, parameter :: Ini_max_string_len = 1024
+  logical :: Ini_fail_on_not_found = .false.
+
+  logical :: Ini_Echo_Read = .false.
+
+  logical :: Ini_AllowDuplicateKeys = .false.
+
+  type TNameValue
+   !no known way to make character string pointers..
+    character(Ini_max_name_len)  :: Name
+    character(Ini_max_string_len):: Value
+  end type TNameValue
+
+  type TNameValue_pointer
+     Type(TNameValue), pointer :: P
+  end type TNameValue_pointer
+
+  Type TNameValueList
+    integer Count
+    integer Delta
+    integer Capacity
+    logical ignoreDuplicates
+    type(TNameValue_pointer), dimension(:), pointer :: Items
+  end Type TNameValueList
+
+  Type TIniFile
+   logical SlashComments
+   Type (TNameValueList) :: L, ReadValues
+  end Type TIniFile
+ 
+  Type(TIniFile) :: DefIni
+
+contains
+
+   subroutine TNameValueList_Init(L, ignoreDuplicates)
+    Type (TNameValueList) :: L
+    logical, intent(in), optional :: ignoreDuplicates
+    
+     L%Count = 0
+     L%Capacity = 0
+     L%Delta = 128
+     L%ignoreDuplicates = .false.
+     if (present(ignoreDuplicates)) L%ignoreDuplicates=ignoreDuplicates
+     nullify(L%Items)
+
+   end subroutine TNameValueList_Init
+
+   subroutine TNameValueList_Clear(L)
+    Type (TNameValueList) :: L
+    integer i, status
+     
+    do i=L%count,1,-1
+     deallocate (L%Items(i)%P, stat = status)
+    end do
+    deallocate (L%Items, stat = status)
+    call TNameValueList_Init(L)
+
+   end subroutine TNameValueList_Clear
+
+   subroutine TNameValueList_ValueOf(L, AName, AValue)
+     Type (TNameValueList), intent(in) :: L
+     character(LEN=*), intent(in) :: AName
+     CHARACTER(LEN=*), intent(out) :: AValue
+     integer i
+
+     do i=1, L%Count
+       if (L%Items(i)%P%Name == AName) then
+          AValue = L%Items(i)%P%Value 
+          return
+       end if
+     end do
+     AValue = ''
+
+   end subroutine TNameValueList_ValueOf
+
+   
+    function TNameValueList_IndexOf(L, AName) result (AValue)
+     Type (TNameValueList), intent(in) :: L
+     character(LEN=*), intent(in) :: AName
+     integer :: AValue
+     integer i
+
+     do i=1, L%Count
+       if (L%Items(i)%P%Name == AName) then
+          AValue = i
+          return
+       end if
+     end do
+     AValue = -1
+     
+   end function TNameValueList_IndexOf
+
+   function TNameValueList_HasKey(L, AName) result (AValue)
+     Type (TNameValueList), intent(in) :: L
+     character(LEN=*), intent(in) :: AName
+     logical :: AValue
+    
+     AValue = TNameValueList_IndexOf(L,AName) /= -1
+     
+   end function TNameValueList_HasKey
+    
+   subroutine TNameValueList_Add(L, AName, AValue, only_if_undefined)
+    Type (TNameValueList) :: L
+    character(LEN=*), intent(in) :: AName, AValue
+    logical, optional, intent(in) :: only_if_undefined
+    logical isDefault
+    
+    if (present(only_if_undefined)) then
+     isDefault = only_if_undefined
+    else
+     isDefault = .true.
+    end if
+    if ((.not. Ini_AllowDuplicateKeys .or. isDefault) .and. TNameValueList_HasKey(L,AName)) then
+      if (L%ignoreDuplicates .or. isDefault) return
+      write (*,*) 'IniFile,TNameValueList_Add: duplicate key name in file: '//trim(AName)
+      stop 
+     end if 
+    if (L%Count == L%Capacity) call TNameValueList_SetCapacity(L, L%Capacity + L%Delta)
+    L%Count = L%Count + 1
+    allocate(L%Items(L%Count)%P)
+    L%Items(L%Count)%P%Name = AName
+    L%Items(L%Count)%P%Value = AValue
+
+   end subroutine TNameValueList_Add
+
+   subroutine TNameValueList_SetCapacity(L, C)
+    Type (TNameValueList) :: L
+    integer C
+    type(TNameValue_pointer), dimension(:), pointer :: TmpItems
+    
+    if (L%Count > 0) then
+      if (C < L%Count) stop 'TNameValueList_SetCapacity: smaller than Count'
+      allocate(TmpItems(L%Count))
+      TmpItems = L%Items(1:L%Count)
+      deallocate(L%Items)
+      allocate(L%Items(C))
+      L%Items(1:L%Count) = TmpItems
+      deallocate(TmpItems)
+    else
+     allocate(L%Items(C))
+    end if  
+    L%Capacity = C
+  
+   end subroutine TNameValueList_SetCapacity
+
+   subroutine TNameValueList_Delete(L, i)
+    Type (TNameValueList) :: L
+    integer, intent(in) :: i
+     
+     deallocate(L%Items(i)%P)
+     if (L%Count > 1) L%Items(i:L%Count-1) = L%Items(i+1:L%Count)
+     L%Count = L%Count -1
+     
+   end subroutine TNameValueList_Delete
+
+  subroutine Ini_NameValue_Add(Ini,AInLine,only_if_undefined)
+    Type(TIniFile) :: Ini
+    character (LEN=*), intent(IN) :: AInLine
+    integer EqPos, slashpos, lastpos
+    logical, optional, intent(in) :: only_if_undefined
+    logical isDefault
+    character (LEN=len(AInLine)) :: AName, S, InLine
+
+     if (present(only_if_undefined)) then
+      isDefault = only_if_undefined  
+     else
+      isDefault = .false.  
+     end if
+      InLine=trim(adjustl(AInLine))
+      EqPos = scan(InLine,'=')
+      if (EqPos/=0 .and. InLine(1:1)/='#' .and. InLine(1:7) /= 'COMMENT' ) then
+   
+         AName = trim(InLine(1:EqPos-1))
+         
+         S = adjustl(InLine(EqPos+1:)) 
+           if (Ini%SlashComments) then
+           slashpos=scan(S,'/')
+           if (slashpos /= 0) then
+              S  = S(1:slashpos-1)
+           end if
+         end if
+         lastpos=len_trim(S)
+         if (lastpos>1) then
+          if (S(1:1)=='''' .and. S(lastpos:lastpos)=='''') then
+           S = S(2:lastpos-1)
+          end if
+         end if
+         call TNameValueList_Add(Ini%L, AName, S,only_if_undefined = isDefault )
+
+      end if
+
+  end subroutine Ini_NameValue_Add
+
+  subroutine Ini_Open(filename, unit_id,  error, slash_comments)
+     character (LEN=*), intent(IN) :: filename
+     integer, intent(IN) :: unit_id
+     logical, optional, intent(OUT) :: error
+     logical, optional, intent(IN) :: slash_comments
+     logical aerror
+
+     call TNameValueList_Init(DefIni%L)
+     call TNameValueList_Init(DefIni%ReadValues, .true.)
+          
+     if (present(slash_comments)) then
+      call Ini_Open_File(DefIni,filename,unit_id,aerror,slash_comments)
+     else
+      call Ini_Open_File(DefIni,filename,unit_id,aerror)
+     end if
+
+     if (present(error)) then
+       error = aerror
+     else
+      if (aerror) then
+        write (*,*) 'Ini_Open: Error opening file ' // trim(filename)
+        stop
+      end if
+     end if
+
+  end subroutine Ini_Open
+
+  function Ini_ExtractFilePath(aname)
+    character(LEN=*), intent(IN) :: aname
+    character(LEN=Ini_max_string_len) Ini_ExtractFilePath
+    integer len, i
+
+    len = len_trim(aname)
+    do i = len, 1, -1
+       if (aname(i:i)=='/') then
+          Ini_ExtractFilePath = aname(1:i)
+          return
+       end if
+    end do
+    Ini_ExtractFilePath = ''
+
+  end function Ini_ExtractFilePath
+
+  recursive subroutine Ini_Open_File(Ini, filename, unit_id,  &
+                                    error, slash_comments, append,only_if_undefined)
+     Type(TIniFile) :: Ini
+
+     character (LEN=*), intent(IN) :: filename
+     integer, intent(IN) :: unit_id
+     logical, intent(OUT) :: error
+     logical, optional, intent(IN) :: slash_comments
+     logical, optional, intent(in) :: append, only_if_undefined
+     character (LEN=Ini_max_string_len) :: InLine, IncludeFile
+     integer lastpos, i
+     Type (TNameValueList) IncudeFiles, DefaultValueFiles
+     logical doappend, FileExists, isDefault
+     
+     if (present(append)) then
+      doappend=append
+     else
+      doappend=.false.
+     end if  
+     
+     if (present(only_if_undefined)) then
+        isDefault = only_if_undefined
+     else
+        isDefault = .false.
+     end if
+     
+     if (.not. doappend) then
+       call TNameValueList_Init(Ini%L)
+       call TNameValueList_Init(Ini%ReadValues, .true.)
+     end if
+ 
+    call TNameValueList_Init(IncudeFiles) 
+    call TNameValueList_Init(DefaultValueFiles) 
+     
+    if (present(slash_comments)) then
+     Ini%SlashComments = slash_comments
+    else
+     Ini%SlashComments = .false.
+    end if
+         
+    open(unit=unit_id,file=filename,form='formatted',status='old', err=500)
+   
+    do 
+      read (unit_id,'(a)',end=400) InLine
+      if (InLine == 'END') exit;
+      if (InLine(1:8) == 'INCLUDE(') then
+           lastpos = scan(InLine,')')
+           if (lastpos/=0) then
+            call TNameValueList_Add(IncudeFiles, trim(adjustl(InLine(9:lastpos-1))),'')            
+           else
+            stop 'Ini_Open_File: error in INCLUDE line'
+           end if 
+      elseif (InLine(1:8) == 'DEFAULT(') then
+          !Settings to read in as defaults, overridden by subsequent re-definitions
+          lastpos = scan(InLine,')')
+           if (lastpos/=0) then
+            call TNameValueList_Add(DefaultValueFiles, trim(adjustl(InLine(9:lastpos-1))),'')            
+           else
+            stop 'Ini_Open_File: error in DEFAULT line'
+           end if 
+      elseif (InLine /= '') then
+       call Ini_NameValue_Add(Ini,InLine, only_if_undefined=isDefault) 
+      end if
+    end do
+
+400 close(unit_id)
+    error=.false.
+
+    do i=1, IncudeFiles%Count
+       if (error) exit
+       IncludeFile=IncudeFiles%Items(i)%P%Name
+       inquire(file=IncludeFile, exist = FileExists)
+       if (.not. FileExists) then
+         IncludeFile=trim(Ini_ExtractFilePath(filename))//trim(IncludeFile)
+         inquire(file=IncludeFile, exist = FileExists)
+         if (.not. FileExists) then
+             write(*,*) 'Ini_Open_File: INCLUDE file not found: '//trim(IncudeFiles%Items(i)%P%Name)
+             stop 
+         end if
+       end if
+       call Ini_Open_File(Ini, IncludeFile, unit_id,  &
+                          error, slash_comments, append=.true.,only_if_undefined=isDefault)      
+    end do
+    do i=1, DefaultValueFiles%Count
+       if (error) exit
+       IncludeFile=DefaultValueFiles%Items(i)%P%Name
+       inquire(file=IncludeFile, exist = FileExists)
+       if (.not. FileExists) then
+         IncludeFile=trim(Ini_ExtractFilePath(filename))//trim(IncludeFile)
+         inquire(file=IncludeFile, exist = FileExists)
+         if (.not. FileExists) then
+             write(*,*) 'Ini_Open_File: DEFAULT file not found:' //trim(DefaultValueFiles%Items(i)%P%Name)
+             stop
+         end if
+       end if
+       call Ini_Open_File(Ini, IncludeFile, unit_id,  &
+                          error, slash_comments, append=.true., only_if_undefined=.true.)      
+    end do
+
+    call TNameValueList_Clear(IncudeFiles)
+    call TNameValueList_Clear(DefaultValueFiles)
+    
+    return
+
+500 error=.true.
+    call TNameValueList_Clear(IncudeFiles)
+    call TNameValueList_Clear(DefaultValueFiles)
+
+  end subroutine Ini_Open_File
+
+  subroutine Ini_Open_Fromlines(Ini, Lines, NumLines, slash_comments)
+    Type(TIniFile) :: Ini
+
+    integer, intent(IN) :: NumLines
+    character (LEN=*), dimension(NumLines), intent(IN) :: Lines
+    logical, intent(IN) :: slash_comments
+    integer i
+
+    call TNameValueList_Init(Ini%L)
+    call TNameValueList_Init(Ini%ReadValues, .true.)
+
+    Ini%SlashComments = slash_comments
+
+    do i=1,NumLines
+       call Ini_NameValue_Add(Ini,Lines(i))
+    end do
+
+  end  subroutine Ini_Open_Fromlines
+
+  subroutine Ini_Close
+
+    call Ini_close_File(DefIni)
+
+  end subroutine Ini_Close
+
+
+  subroutine Ini_Close_File(Ini)
+    Type(TIniFile) :: Ini
+   
+    call TNameValueList_Clear(Ini%L)
+    call TNameValueList_Clear(Ini%ReadValues)
+
+  end  subroutine Ini_Close_File
+  
+
+
+  function Ini_Read_String(Key, NotFoundFail) result(AValue)
+   character (LEN=*), intent(IN) :: Key
+   logical, optional, intent(IN) :: NotFoundFail
+   character(LEN=Ini_max_string_len) :: AValue
+
+     if (present(NotFoundFail)) then
+      AValue = Ini_Read_String_File(DefIni, Key, NotFoundFail)
+     else
+      AValue = Ini_Read_String_File(DefIni, Key)
+     end if
+
+  end function Ini_Read_String
+
+  function Ini_Read_String_Default(Key, Default,AllowBlank) result(AValue)
+   character (LEN=*), intent(IN) :: Key, Default
+   character(LEN=Ini_max_string_len) :: AValue
+   logical, intent(in), optional :: AllowBlank
+
+   if (present(AllowBlank)) then
+      AValue = Ini_Read_String_Default_File(DefIni, Key, Default, AllowBlank)
+   else    
+      AValue = Ini_Read_String_Default_File(DefIni, Key, Default)
+   end if
+   
+  end function Ini_Read_String_Default
+
+
+  function Ini_Read_String_File(Ini, Key, NotFoundFail) result(AValue)
+   Type(TIniFile) :: Ini
+   character (LEN=*), intent(IN) :: Key
+   logical, optional, intent(IN) :: NotFoundFail
+   character(LEN=Ini_max_string_len) :: AValue
+
+   call TNameValueList_ValueOf(Ini%L, Key, AValue)
+
+   if (AValue/='') then
+
+    call  TNameValueList_Add(Ini%ReadValues, Key, AValue)
+    if (Ini_Echo_Read) write (*,*) trim(Key)//' = ',trim(AValue)
+    return
+
+   end if
+   if (present(NotFoundFail)) then
+      if (NotFoundFail) then
+         write(*,*) 'key not found : '//trim(Key)
+         stop
+      end if
+   else if (Ini_fail_on_not_found) then
+      write(*,*) 'key not found : '//trim(Key)
+      stop
+   end if
+
+  end function Ini_Read_String_File
+
+  function Ini_Read_String_Default_File(Ini, Key, Default, AllowBlank) result(AValue)
+   Type(TIniFile) :: Ini
+   character (LEN=*), intent(IN) :: Key, Default
+   character(LEN=Ini_max_string_len) :: AValue
+   logical, intent(in), optional :: AllowBlank
+
+   if (Ini_HasKey_File(Ini,Key)) then
+    AValue = Ini_Read_String_file(Ini, Key, .false.)
+    if (present(AllowBlank)) then
+      if (AllowBlank) return
+    end if
+    if (AValue=='') AValue = Default
+   else
+    AValue = Default
+   end if
+  
+  end function Ini_Read_String_Default_File
+  
+  function Ini_HasKey(Key) result(AValue)
+   character (LEN=*), intent(IN) :: Key
+   logical AValue
+
+   AValue = Ini_HasKey_File(DefIni, Key)
+
+  end function Ini_HasKey
+
+  function Ini_HasKey_File(Ini, Key) result(AValue)
+   type(TIniFile), intent(in) :: Ini
+   character (LEN=*), intent(IN) :: Key
+   logical AValue
+
+      Avalue = TNameValueList_HasKey(Ini%L, Key)
+      
+  end function Ini_HasKey_File
+
+ function Ini_Key_To_Arraykey(Key, index)  result(AValue)
+    character (LEN=*), intent(IN) :: Key
+    integer, intent(in) :: index
+    character(LEN=Ini_max_string_len) :: AValue
+    
+    character(LEN=32) :: numstr
+    write (numstr,*) index 
+    numstr=adjustl(numstr)
+    AValue = trim(Key) // '(' // trim(numStr) // ')' 
+ 
+ end function Ini_Key_To_Arraykey
+
+  function Ini_Read_String_Array(Key, index, NotFoundFail) result(AValue)
+   character (LEN=*), intent(IN) :: Key
+   integer, intent(in) :: index
+   logical, optional, intent(IN) :: NotFoundFail
+   character(LEN=Ini_max_string_len) :: AValue
+
+     if (present(NotFoundFail)) then
+      AValue = Ini_Read_String_Array_File(DefIni, Key, index, NotFoundFail)
+     else
+      AValue = Ini_Read_String_Array_File(DefIni, Key, index)
+     end if
+
+  end function Ini_Read_String_Array
+
+  function Ini_Read_String_Array_File(Ini, Key, index, NotFoundFail) result(AValue)
+   Type(TIniFile) :: Ini
+   integer, intent(in) :: index
+   character (LEN=*), intent(IN) :: Key
+   logical, optional, intent(IN) :: NotFoundFail
+   character(LEN=Ini_max_string_len) :: AValue
+   character(LEN=Ini_max_string_len) :: ArrayKey
+   
+     ArrayKey = Ini_Key_To_Arraykey(Key,index)
+     if (present(NotFoundFail)) then
+      AValue = Ini_Read_String_File(Ini, ArrayKey, NotFoundFail)
+     else
+      AValue = Ini_Read_String_File(Ini, ArrayKey)
+     end if
+   
+  end function Ini_Read_String_Array_File
+
+  function Ini_Read_Int_Array(Key, index, Default)
+     integer, optional, intent(IN) :: Default
+     integer, intent(in) :: index
+     character (LEN=*), intent(IN) :: Key
+     integer Ini_Read_Int_Array
+
+     if (present(Default)) then
+      Ini_Read_Int_Array = Ini_Read_Int_Array_File(DefIni, Key, index, Default)
+     else
+      Ini_Read_Int_Array = Ini_Read_Int_Array_File(DefIni, Key, index)
+     end if
+     
+   end function Ini_Read_Int_Array
+
+  function Ini_Read_Int_Array_File(Ini,Key, index, Default)
+  !Reads Key(1), Key(2), etc.
+   Type(TIniFile) :: Ini
+   integer Ini_Read_Int_Array_File 
+   integer, optional, intent(IN) :: Default
+   integer, intent(in) :: index
+   character (LEN=*), intent(IN) :: Key
+   character(LEN=Ini_max_string_len) :: ArrrayKey
+     ArrrayKey = Ini_Key_To_Arraykey(Key,index)
+     if (present(Default)) then
+      Ini_Read_Int_Array_File = Ini_Read_Int_File(Ini, ArrrayKey, Default)
+     else
+      Ini_Read_Int_Array_File = Ini_Read_Int_File(Ini, ArrrayKey)
+     end if
+  end function Ini_Read_Int_Array_File
+
+
+  function Ini_Read_Int(Key, Default)
+     integer, optional, intent(IN) :: Default
+     character (LEN=*), intent(IN) :: Key
+     integer Ini_Read_Int
+
+     if (present(Default)) then
+      Ini_Read_Int = Ini_Read_Int_File(DefIni, Key, Default)
+     else
+      Ini_Read_Int = Ini_Read_Int_File(DefIni, Key)
+     end if
+  end function Ini_Read_Int
+
+  function Ini_Read_Int_File(Ini, Key, Default)
+   Type(TIniFile) :: Ini
+   integer Ini_Read_Int_File
+   integer, optional, intent(IN) :: Default
+   character  (LEN=*), intent(IN) :: Key
+   character(LEN=Ini_max_string_len) :: S
+   
+   S = Ini_Read_String_File(Ini, Key,.not. present(Default))
+   if (S == '') then
+      if (.not. present(Default)) then
+        write(*,*) 'no value for key: '//Key
+        stop
+      end if
+      Ini_Read_Int_File = Default
+      write (S,*) Default
+      call  TNameValueList_Add(Ini%ReadValues, Key, S)
+   else
+    if (verify(trim(S),'-+0123456789') /= 0) goto 10
+    read (S,*, err = 10) Ini_Read_Int_File
+   end if
+  return
+10 write (*,*) 'error reading integer for key: '//Key
+   stop
+  
+  end function Ini_Read_Int_File
+
+  function Ini_Read_Double(Key, Default)
+     double precision, optional, intent(IN) :: Default
+     character (LEN=*), intent(IN) :: Key
+     double precision Ini_Read_Double
+
+     if (present(Default)) then
+      Ini_Read_Double = Ini_Read_Double_File(DefIni, Key, Default)
+     else
+      Ini_Read_Double = Ini_Read_Double_File(DefIni, Key)
+     end if
+  
+  end function Ini_Read_Double
+
+  function Ini_Read_Double_File(Ini,Key, Default)
+   Type(TIniFile) :: Ini
+   double precision Ini_Read_Double_File 
+   double precision, optional, intent(IN) :: Default
+   character (LEN=*), intent(IN) :: Key
+   character(LEN=Ini_max_string_len) :: S
+   
+   S = Ini_Read_String_File(Ini,Key,.not. present(Default))
+   if (S == '') then
+      if (.not. present(Default)) then
+        write(*,*) 'no value for key: '//Key
+        stop
+      end if
+      Ini_Read_Double_File = Default
+      write (S,*) Default
+
+      call  TNameValueList_Add(Ini%ReadValues, Key, S)
+
+   else
+    read (S,*, err=10) Ini_Read_Double_File
+   end if
+
+  return
+
+10 write (*,*) 'error reading double for key: '//Key
+   stop
+
+  end function Ini_Read_Double_File
+
+
+
+    function Ini_Read_Double_Array(Key, index, Default)
+     double precision, optional, intent(IN) :: Default
+     integer, intent(in) :: index
+     character (LEN=*), intent(IN) :: Key
+     double precision Ini_Read_Double_Array
+
+     if (present(Default)) then
+      Ini_Read_Double_Array = Ini_Read_Double_Array_File(DefIni, Key, index, Default)
+     else
+      Ini_Read_Double_Array = Ini_Read_Double_Array_File(DefIni, Key, index)
+     end if
+     
+    end function Ini_Read_Double_Array
+
+
+  function Ini_Read_Double_Array_File(Ini,Key, index, Default)
+
+  !Reads Key(1), Key(2), etc.
+
+   Type(TIniFile) :: Ini
+
+   double precision Ini_Read_Double_Array_File 
+   double precision, optional, intent(IN) :: Default
+   integer, intent(in) :: index
+   character (LEN=*), intent(IN) :: Key
+   character(LEN=Ini_max_string_len) ::  ArrrayKey
+
+     ArrrayKey = Ini_Key_To_Arraykey(Key,index)
+     if (present(Default)) then
+
+      Ini_Read_Double_Array_File = Ini_Read_Double_File(Ini, ArrrayKey, Default)
+     else
+      Ini_Read_Double_Array_File = Ini_Read_Double_File(Ini, ArrrayKey)
+     end if
+  end function Ini_Read_Double_Array_File
+
+    function Ini_Read_Real(Key, Default)
+     real, optional, intent(IN) :: Default
+     character (LEN=*), intent(IN) :: Key
+     real Ini_Read_Real
+
+     if (present(Default)) then
+      Ini_Read_Real = Ini_Read_Real_File(DefIni, Key, Default)
+     else
+      Ini_Read_Real = Ini_Read_Real_File(DefIni, Key)
+     end if
+
+    end function Ini_Read_Real
+
+    function Ini_Read_Real_File(Ini,Key, Default)
+    Type(TIniFile) :: Ini
+    real Ini_Read_Real_File 
+    real, optional, intent(IN) :: Default
+    character (LEN=*), intent(IN) :: Key
+    character(LEN=Ini_max_string_len) :: S
+   
+    S = Ini_Read_String_File(Ini,Key,.not. present(Default))
+    if (S == '') then
+      if (.not. present(Default)) then
+        write(*,*) 'no value for key: '//Key
+        stop
+      end if
+      Ini_Read_Real_File = Default
+      write (S,*) Default
+      call  TNameValueList_Add(Ini%ReadValues, Key, S)
+
+   else
+    read (S,*, err=10) Ini_Read_Real_File
+   end if
+
+  return
+
+10 write (*,*) 'error reading double for key: '//Key
+   stop
+
+  end function Ini_Read_Real_File
+
+
+
+   function Ini_Read_Real_Array(Key, index, Default)
+     real, optional, intent(IN) :: Default
+     integer, intent(in) :: index
+     character (LEN=*), intent(IN) :: Key
+     real Ini_Read_Real_Array
+
+     if (present(Default)) then
+      Ini_Read_Real_Array = Ini_Read_Real_Array_File(DefIni, Key, index, Default)
+     else
+      Ini_Read_Real_Array = Ini_Read_Real_Array_File(DefIni, Key, index)
+     end if
+   end function Ini_Read_Real_Array
+
+  function Ini_Read_Real_Array_File(Ini,Key, index, Default)
+  !Reads Key(1), Key(2), etc.
+   Type(TIniFile) :: Ini
+   real Ini_Read_Real_Array_File 
+   real, optional, intent(IN) :: Default
+   integer, intent(in) :: index
+   character (LEN=*), intent(IN) :: Key
+   character(LEN=Ini_max_string_len) :: ArrrayKey
+   
+     ArrrayKey = Ini_Key_To_Arraykey(Key,index)
+     if (present(Default)) then
+      Ini_Read_Real_Array_File = Ini_Read_Real_File(Ini, ArrrayKey, Default)
+     else
+      Ini_Read_Real_Array_File = Ini_Read_Real_File(Ini, ArrrayKey)
+     end if
+  end function Ini_Read_Real_Array_File
+
+  function Ini_Read_Logical(Key, Default)
+     Logical, optional, intent(IN) :: Default
+     character (LEN=*), intent(IN) :: Key
+    logical Ini_Read_Logical
+
+     if (present(Default)) then
+      Ini_Read_Logical = Ini_Read_Logical_File(DefIni, Key, Default)
+     else
+      Ini_Read_Logical = Ini_Read_Logical_File(DefIni, Key)
+     end if
+  end function Ini_Read_Logical
+
+  function Ini_Read_Logical_File(Ini, Key, Default)
+   Type(TIniFile) :: Ini
+
+   logical Ini_Read_Logical_File
+   logical, optional, intent(IN) :: Default
+   character  (LEN=*), intent(IN) :: Key
+  
+   character(LEN=Ini_max_string_len) :: S
+   
+   S = Ini_Read_String_File(Ini,Key,.not. present(Default))
+   if (S == '') then
+      if (.not. present(Default)) then
+        write(*,*) 'no value for key: '//Key
+        stop
+      end if
+      Ini_Read_Logical_File = Default
+      write (S,*) Default
+
+      call  TNameValueList_Add(Ini%ReadValues, Key, S)
+
+   else
+
+    if (verify(trim(S),'10TF') /= 0) goto 10  
+    read (S,*, err = 10) Ini_Read_Logical_File
+   end if
+
+  return
+
+10 write (*,*) 'error reading logical for key: '//Key
+   stop
+  end function Ini_Read_Logical_File
+
+
+
+  subroutine Ini_SaveReadValues(afile,unit_id)
+   character(LEN=*)  :: afile
+   integer, intent(in) :: unit_id
+
+   call Ini_SaveReadValues_File(DefIni, afile, unit_id)
+
+  end subroutine Ini_SaveReadValues
+
+
+
+  subroutine Ini_SaveReadValues_File(Ini, afile, unit_id)
+   Type(TIniFile) :: Ini
+   character(LEN=*), intent(in) :: afile
+   integer, intent(in) :: unit_id
+   integer i
+
+   open(unit=unit_id,file=afile,form='formatted',status='replace', err=500)
+
+   do i=1, Ini%ReadValues%Count
+
+    write (unit_id,'(a)') trim(Ini%ReadValues%Items(i)%P%Name) // ' = ' &
+                        //trim(Ini%ReadValues%Items(i)%P%Value)
+
+   end do
+
+   close(unit_id)
+   return
+
+500 write(*,*) 'Ini_SaveReadValues_File: Error creating '//trim(afile)
+
+  end subroutine Ini_SaveReadValues_File
+
+end module IniFile
+
diff --git a/lensing.f90 b/lensing.f90
new file mode 100644
index 0000000..e06c0d2
--- /dev/null
+++ b/lensing.f90
@@ -0,0 +1,1071 @@
+!Lensing the C_l using the deflection angle from the computed lensing potential
+!power spectrum. 
+!lensing_method=1: using an accurate curved-sky correlation function method
+!lensing_method=2: using the flat-sky lower order result of astro-ph/9505109 
+!                  and astro-ph/9803150 as in CMBFAST 
+!lensing_method=3: using inaccurate full sky harmonic method of astro-ph/0001303
+
+!The flat sky result is accurate to about 0.1% in TT, and 0.4% in EE and is
+!about a factor of two faster than lensing_method=1.
+!lensing_method=3 is only present for comparison and is not recommended in any regime
+
+!Set accurate_BB=T if you want BB accurately by integrating the full angular range
+!otherwise it saves a large amount of time by only integrating the small scales
+!accute_BB only does *not* include any non-linear corrections or ensure you have
+!chosen sufficiently high l_max and k_max, so does not neccessarily give an accurate
+!result
+
+!Uses the un-lensed Cls and the computed lensing potential power spectrum.
+!Usual values of k_max are fine for all but the lensed BB Cls
+!To get the lensed BB accurate around l=1000 you need to go to l_max >2000, and
+!higher for higher l. Since this probes small scales in the lensing power spectrum you
+!also need to go to higher k_max - for concordance models something like 
+!k_eta_max_scalar=10000. At l>1000 you can expect to need higher k_max, and for 
+!non-linear evolution to cause a significant error.
+
+!Correlation function routines by AL+AC Nov 2004 with flat-sky borrowings from CMBFAST
+!Curved sky results use the method of astro-ph/xxx.
+
+!Full sky harmonic lensing routines by Gayoung Chon and AC.
+!Ref: astro-ph/0001303 by W. Hu. 
+!For better derivations see also astro-ph/0301064 and astro-ph/0301031
+!Adapted for CAMB and optimized by AL.
+!Uses f90 version of "J1-RECURSION OF 3J-COEFFICIENTS" by K. Schulten and R.G. Gordon 
+!obtainable from the CPC program library (www.cpc.cs.qub.ac.uk).
+
+!March 2006: fixed problem with l_max when generating with tensors (thanks Chad Fendt)
+
+module lensing
+use Precision
+use ModelParams
+use AmlUtils
+implicit none
+ integer, parameter :: lensing_method_curv_corr=1,lensing_method_flat_corr=2, &
+                       lensing_method_harmonic=3
+ 
+ integer :: lensing_method = lensing_method_curv_corr
+
+private
+
+ logical  :: lensing_includes_tensors = .false.
+
+!flat method stores
+ real(dl), parameter :: dbessel = 0.05_dl 
+ real(dl), dimension(:), allocatable :: Bess0, ddBess0
+ real(dl), dimension(:), allocatable :: Bess2, ddBess2
+ real(dl), dimension(:), allocatable :: Bess4, ddBess4
+ real(dl), dimension(:), allocatable :: Bess6, ddBess6
+
+ integer, parameter :: lensed_convolution_margin = 100
+   !Number of L less than L max at which the lensed power spectrum is calculated 
+
+!Harmonic method stores
+ integer :: lmax_donelnfa = 0
+ real(dl), dimension(:), allocatable  :: lnfa
+
+public lens_Cls, lensing_includes_tensors, lensing_method, lensing_method_flat_corr,&
+      lensing_method_curv_corr,lensing_method_harmonic, BessI, bessj0
+contains
+
+
+subroutine lens_Cls
+ use lvalues
+
+ !Must set l again in case computed tessors (thanks to Chad)
+ call initlval(lSamp,CP%Max_l)
+ if (lensing_method == lensing_method_curv_corr) then
+    call CorrFuncFullSky()
+  elseif (lensing_method == lensing_method_flat_corr) then 
+    call CorrFuncFlatSky()
+  elseif (lensing_method == lensing_method_harmonic) then 
+    call BadHarmonic
+  else
+    stop 'Unknown lensing method'
+ end if
+end subroutine lens_Cls
+
+
+subroutine CorrFuncFullSky
+
+  integer :: lmax_extrap 
+  
+  lmax_extrap = CP%Max_l - lensed_convolution_margin + 450  
+  if (HighAccuracyDefault) lmax_extrap=lmax_extrap+300
+  lmax_extrap = min(lmax_extrap_highl,lmax_extrap)
+  call CorrFuncFullSkyImpl(max(lmax_extrap,CP%max_l))
+
+end subroutine CorrFuncFullSky
+
+
+subroutine CorrFuncFullSkyImpl(lmax)
+ !Accurate curved sky correlation function method
+ !Uses non-perturbative isotropic term with 2nd order expansion in C_{gl,2}
+ !Neglects C_{gl}(theta) terms (very good approx)
+  use ModelParams
+  use ModelData
+  use lvalues
+  implicit none
+  integer, intent(in) :: lmax
+  integer l, i, in
+  integer :: npoints 
+  real(dl) corr(4), Cg2, sigmasq, theta
+  real(dl) dtheta
+  real(dl) llp1,fac, fac1,fac2,fac3, rootllp1, rootfac1, rootfac2, rootfac3
+  integer max_lensed_ix
+  real(dl) P(lmax),dP(lmax)
+  real(dl) sinth,halfsinth, x, T2,T4
+  real(dl) roots(-1:lmax+4), lfacs(lmax), lfacs2(lmax), lrootfacs(lmax)
+  real(dl) d_11(lmax),d_m11(lmax)
+  real(dl) d_22(lmax),d_2m2(lmax),d_20(lmax)
+  real(dl) Cphil3(lmin:lmax), CTT(lmin:lmax), CTE(lmin:lmax),CEE(lmin:lmax)
+  real(dl) ls(lmax)
+  real(dl) xl(lmax)
+  real(dl), allocatable :: ddcontribs(:,:),corrcontribs(:,:)
+  real(dl), allocatable :: lens_contrib(:,:,:)
+  integer thread_ix
+  real(dl) pmm, pmmp1
+  real(dl) d4m4,d11,dm11,d2m2,d22,d20,d23,d2m3,d33,d3m3,d04,d1m2,d12,d13,d1m3,d2m4
+  real(dl) sinfac, Cg2sq
+  real(dl) X000,X022,X220,X121,X132,X242
+  real(dl) dX000,dX022
+  real(sp) timeprev
+  integer  interp_fac
+  integer j,jmax
+  integer llo, lhi
+  real(dl) a0,b0,ho, sc
+  integer apodize_point_width
+  logical :: short_integral_range
+  real(dl) range_fac
+  logical, parameter :: approx = .false.
+
+!$ integer  OMP_GET_THREAD_NUM, OMP_GET_MAX_THREADS
+!$ external OMP_GET_THREAD_NUM, OMP_GET_MAX_THREADS
+
+    if (lensing_includes_tensors) stop 'Haven''t implemented tensor lensing'
+
+    max_lensed_ix = lSamp%l0-1
+    do while(lSamp%l(max_lensed_ix) > CP%Max_l - lensed_convolution_margin) 
+      max_lensed_ix = max_lensed_ix -1
+    end do
+    lmax_lensed = lSamp%l(max_lensed_ix)
+    if (allocated(Cl_lensed)) deallocate(Cl_lensed)
+    allocate(Cl_lensed(lmin:lmax_lensed,CP%InitPower%nn,1:4))
+    
+    Cl_Lensed = 0
+   
+    npoints = CP%Max_l  * 2 *AccuracyBoost
+    short_integral_range = .not. CP%AccurateBB
+    dtheta = pi / npoints
+    if (CP%Max_l > 3500) dtheta=dtheta/1.3
+    apodize_point_width = nint(0.003 / dtheta)
+    npoints = int(pi/dtheta)
+    if (short_integral_range) then
+       range_fac= max(1._dl,32/AccuracyBoost) !fraction of range to integrate
+       npoints = int(npoints /range_fac)
+      !OK for TT, EE, TE but inaccurate for low l BB
+      !this induces high frequency ringing on very small scales
+      !which is then mitigated by the apodization below
+    else
+        range_fac=1
+    end if
+
+    if (DebugMsgs) timeprev=GetTestTime()
+
+    interp_fac = max(1,min(nint(10/AccuracyBoost),int(range_fac*2)-1))
+
+    jmax = 0
+    do l=lmin,lmax
+       if (l<=15 .or. mod(l-15,interp_fac)==interp_fac/2) then
+         jmax =jmax+1
+         ls(jmax)=l
+         xl(jmax)=l
+       end if
+       lfacs(l) = real(l*(l+1),dl)
+       lfacs2(l) = real((l+2)*(l-1),dl)
+       lrootfacs(l) = sqrt(lfacs(l)*lfacs2(l))
+    end do
+
+    roots(-1)=0 !just so dipole doesn't screw up
+    do l=0,lmax+4
+     roots(l) = sqrt(real(l,dl))
+    end do
+
+
+    thread_ix = 1
+    !$ thread_ix = OMP_GET_MAX_THREADS()  
+    allocate(lens_contrib(4,lmax_lensed,thread_ix))
+    allocate(ddcontribs(lmax,4),corrcontribs(lmax,4))
+
+    do in = 1, CP%InitPower%nn
+
+    do l=lmin,CP%Max_l
+     ! (2*l+1)l(l+1)/4pi C_phi_phi: Cl_scalar(l,1,C_Phi) is l^4 C_phi_phi
+       Cphil3(l) = Cl_scalar(l,in,C_Phi)*(2*l+1)*(l+1)/real(l,dl)**3/(4*pi) 
+       fac = (2*l+1)/(4*pi) * 2*pi/(l*(l+1))
+       CTT(l) =  Cl_scalar(l,in,C_Temp)*fac
+       CEE(l) =  Cl_scalar(l,in,C_E)*fac
+       CTE(l) =  Cl_scalar(l,in,C_Cross)*fac
+    end do
+!    print*, 'hi renee: Cphil3(10) ', Cphil3(10) 
+    if (Cphil3(10) > 1e-7) then
+       write (*,*) 'You need to normalize realistically to use lensing.'
+       write (*,*) 'see http://cosmocoffee.info/viewtopic.php?t=94'
+       
+       stop
+    end if
+    if (lmax > CP%Max_l) then
+     l=CP%Max_l
+     sc = (2*l+1)/(4*pi) * 2*pi/(l*(l+1))     
+     fac2=CTT(CP%Max_l)/(sc*highL_CL_template(CP%Max_l, C_Temp))
+     fac=Cphil3(CP%Max_l)/(sc*highL_CL_template(CP%Max_l, C_Phi))  
+     do l=CP%Max_l+1, lmax
+       !Fill in tail from template
+       sc = (2*l+1)/(4*pi) * 2*pi/(l*(l+1))  
+       Cphil3(l) = highL_CL_template(l, C_Phi)*fac*sc
+       
+       CTT(l) =  highL_CL_template(l, C_Temp)*fac2*sc
+       CEE(l) =  highL_CL_template(l, C_E)*fac2 *sc
+       CTE(l) =  highL_CL_template(l, C_Cross)*fac2*sc 
+      if (Cphil3(CP%Max_l+1) > 1e-7) then
+       write (*,*) 'You need to normalize the high-L template so it is dimensionless'
+       stop
+      end if
+     end do
+   end if
+  lens_contrib=0
+
+  !uncomment second line for PGF90 workaround
+  !$OMP PARALLEL DO DEFAULT(PRIVATE),  &
+  !OMP PRIVATE(P,dP,d11,dm11,d22,d2m2,d20,corrcontribs,ddcontribs),& 
+  !$OMP SHARED(lfacs,lfacs2,lrootfacs,Cphil3,CTT,CTE,CEE,lens_contrib, lmax), &
+  !$OMP SHARED(dtheta,CP,lmax_lensed,roots, npoints,interp_fac,jmax,ls,xl,short_integral_range,apodize_point_width)
+      do i=1,npoints-1
+
+      theta = i * dtheta 
+      x = cos(theta)
+      sinth = sin(theta)
+      halfsinth = sinth/2
+
+      pmm=1
+      pmmp1=x
+
+      Cg2=0
+      sigmasq=0
+      if (lmin==1) then
+        d_11(1) = cos(theta/2)**2
+        d_m11(1) = sin(theta/2)**2
+        sigmasq = sigmasq  +  (1-d_11(1))*Cphil3(lmin) 
+        Cg2 = Cg2  + d_m11(1)*Cphil3(lmin)
+        P(1) = x
+        d_22(1)=0
+        d_2m2(1)=0
+        d_20(1)=0
+      end if
+      do l=2,lmax
+
+        P(l)= ((2*l-1)* x *pmmp1 - (l-1)*Pmm)/ l
+        dP(l) = l*(pmmp1-x*P(l))/sinth**2
+        Pmm=pmmp1
+        pmmp1=P(l)
+        llp1 = lfacs(l)
+  
+        fac1 = (1-x)
+        fac2 = (1+x)
+        fac = fac1/fac2
+
+        d_11(l) =  fac1*dP(l)/llp1 + P(l)
+        d_m11(l) = fac2*dP(l)/llp1 - P(l)
+
+        sigmasq = sigmasq  +  (1-d_11(l))*Cphil3(l) 
+        Cg2 = Cg2  + d_m11(l)*Cphil3(l)
+        
+        d_22(l) = ( ((4*x-8)/fac2 + llp1)*P(l) &
+            + 4*fac*( fac2 + (x - 2)/llp1)*dP(l) )/ lfacs2(l)
+                  
+        d_2m2(l) = ( (llp1- (4*x+8)/fac1) *P(l) &
+            +4/fac*( -fac1 + (x+2)/llp1) *dP(l) )/lfacs2(l)              
+
+        d_20(l) = (2*x*dP(l) - llp1*P(l) ) / lrootfacs(l)
+
+      end do
+    
+       do j=1,jmax
+        l =ls(j)
+ 
+        fac1 = (1-x)
+        fac2 = (1+x)
+        llp1 = lfacs(l)
+  
+        rootllp1 = roots(l)*roots(l+1) 
+        rootfac1 = roots(l+2)*roots(l-1)
+        rootfac2 = roots(l+3)*roots(l-2)
+
+        llp1=lfacs(l)
+        dm11=d_m11(l)
+        d11=d_11(l)
+        if (l<2) then
+         d2m2=0
+         d22=0
+         d20=0
+         d1m2 = 0
+         d12 =  0     
+        else
+         d2m2=d_2m2(l)
+         d22=d_22(l)
+         d20=d_20(l)
+         d1m2 = sinth/rootfac1*(dP(l) -2/fac1*dm11)
+         d12 =  sinth/rootfac1*(dP(l) -2/fac2*d11)
+        end if
+        if (l<3) then
+         d1m3=0
+         d2m3=0
+         d3m3=0
+         d13 =0 
+         d23 =0
+         d33 =0 
+        else
+         sinfac=4/sinth
+         d1m3 = (-(x+0.5_dl)*d1m2*sinfac - lfacs2(l)*dm11/rootfac1 )/rootfac2
+         d2m3 = (-fac2*d2m2*sinfac - rootfac1*d1m2)/rootfac2
+         d3m3 = (-(x+1.5_dl)*d2m3*sinfac - rootfac1*d1m3)/rootfac2
+         d13  =  ((x-0.5_dl)*d12*sinfac - lfacs2(l)*d11/rootfac1 ) /rootfac2
+         d23  = (-fac1*d22*sinfac + rootfac1*d12 ) / rootfac2
+         d33  = (-(x-1.5_dl)*d23*sinfac - rootfac1*d13)/rootfac2
+        end if 
+        if (l<4) then
+         d04=0
+         d2m4=0
+         d4m4=0
+         rootfac3=0
+        else
+         rootfac3=roots(l-3)*roots(l+4)
+         d04=( (-llp1 + (18*x**2 + 6)/sinth**2 )*d20  -&
+             6*x*lfacs2(l)*dP(l)/lrootfacs(l) ) / (rootfac2*rootfac3)
+         d2m4= (-(6*x+4)*d2m3/sinth - rootfac2*d2m2 ) / rootfac3
+         d4m4 = (-7/5._dl*(llp1-6)*d2m2 + &
+                12/5._dl*( -llp1+(9*x+26)/fac1)*d3m3 ) / (llp1-12)
+        end if
+
+       !Non perturbative isotropic integrals
+       !these are approx, but extremely good approximations
+         X000 = exp(-llp1*sigmasq/4)
+         if (approx) then
+
+         X022 = X000  
+         X220 = rootllp1**2/4*X000
+         X121 = -0.5_dl*rootllp1*X000
+         X132 = -0.5_dl*rootllp1*X000
+         X242 = 0.25_dl*rootllp1**2*X022 
+         
+         dX000 = -llp1/4*X000
+         dX022 = -llp1/4*X022
+        
+
+         else
+         X022 = X000*(1+sigmasq)   !exp(-(llp1-4)*sigmasq/4)
+         X220 = lrootfacs(l)/4*X000
+         X121 = -0.5_dl*rootfac1*X000
+         X132 = -0.5_dl*rootfac2*X000
+         X242 = 0.25_dl*rootfac2*rootfac3*X022 
+         
+         dX000 = -llp1/4*X000
+         dX022 = (1-llp1/4)*X022
+         end if  
+!second order
+         !TT
+         fac1 = dX000**2
+         fac3 = X220**2
+         Cg2sq = Cg2**2
+
+!Here we drop terms in Cgt which are down by powers of l
+!Approx good to 1e-4 level
+         fac = ( (X000**2-1) + Cg2sq*fac1)*P(l)+ Cg2sq*fac3*d2m2 &
+                    + 8/llp1* fac1*Cg2*dm11 
+     
+         corrcontribs(j,1)=  CTT(l) * fac 
+
+         fac2=(Cg2*dX022)**2+(X022**2-1)
+!Q+U
+         fac = 2*Cg2*X121*X132*d13 + fac2*d22 +Cg2sq*X242*X220*d04 
+
+         corrcontribs(j,2)= CEE(l) * fac 
+
+!Q-U 
+         fac = ( fac3*P(l) + X242**2*d4m4)*Cg2sq/2 &
+              + Cg2*(X121**2*dm11+ X132**2*d3m3) + fac2*d2m2 
+
+         corrcontribs(j,3)= CEE(l) * fac 
+
+!TE
+        fac = (X000*X022-1)*d20+ &
+          2*dX000*Cg2*(X121*d11 + X132*d1m3)/rootllp1 &
+             + Cg2sq*(X220/2*d2m4*X242 +( fac3/2 + dX022*dX000)*d20) 
+
+        corrcontribs(j,4)= CTE(l) * fac 
+
+      end do
+
+do j=1,4
+  corr(j) = sum(corrcontribs(1:14,j))+interp_fac*sum(corrcontribs(15:jmax,j))
+end do
+
+!if (short_integral_range .and. i>npoints-20) &
+!        corr=corr*exp(-(i-npoints+20)**2/150.0) !taper the end to help prevent ringing
+
+if (short_integral_range .and. i>npoints-apodize_point_width*3) &
+        corr=corr*exp(-(i-npoints+apodize_point_width*3)**2/real(2*apodize_point_width**2))
+            !taper the end to help prevent ringing
+
+
+!Interpolate contributions
+!Increasing interp_fac and using this seems to be slower than above
+if (.false.) then
+      if (abs(sum(corrcontribs(1:jmax,1)))>1e-11) print *,i,sum(corrcontribs(1:jmax,1))
+      do j=1,4
+       call spline(xl,corrcontribs(1,j),jmax,1d30,1d30,ddcontribs(1,j))
+      end do 
+      corr=0
+      llo=1
+      do l=lmin,lmax
+           if ((l > ls(llo+1)).and.(llo < jmax)) then
+              llo=llo+1
+           end if
+           lhi=llo+1
+           ho=ls(lhi)-ls(llo)
+           a0=(ls(lhi)-l)/ho
+           b0=(l-ls(llo))/ho
+           fac1 = ho**2/6
+           fac2 = (b0**3-b0)*fac1
+           fac1 = (a0**3-a0)*fac1 
+  
+           corr(1) = Corr(1)+ a0*corrcontribs(llo,1)+ b0*corrcontribs(lhi,1)+ &
+            fac1* ddcontribs(llo,1) +fac2*ddcontribs(lhi,1)
+           corr(2) = Corr(2)+ a0*corrcontribs(llo,2)+ b0*corrcontribs(lhi,2)+ &
+            fac1* ddcontribs(llo,2) +fac2*ddcontribs(lhi,2)
+           corr(3) = Corr(3)+ a0*corrcontribs(llo,3)+ b0*corrcontribs(lhi,3)+ &
+            fac1* ddcontribs(llo,3) +fac2*ddcontribs(lhi,3)
+           corr(4) = Corr(4)+ a0*corrcontribs(llo,4)+ b0*corrcontribs(lhi,4)+ &
+            fac1* ddcontribs(llo,4) +fac2*ddcontribs(lhi,4)
+         
+      end do
+end if 
+      
+ !$   thread_ix = OMP_GET_THREAD_NUM()+1
+
+      do l=lmin, lmax_lensed
+       !theta factors were put in earlier (already in corr)
+
+
+       lens_contrib(C_Temp, l, thread_ix)= lens_contrib(C_Temp,l, thread_ix) + &
+                                          corr(1)*P(l)*sinth 
+
+       T2 = corr(2)* d_22(l)
+       T4 = corr(3)* d_2m2(l)
+
+
+       lens_contrib(CT_E, l, thread_ix)= lens_contrib(CT_E,l, thread_ix) + &
+                                          (T2+T4)*halfsinth 
+       lens_contrib(CT_B, l, thread_ix)= lens_contrib(CT_B,l, thread_ix) + &
+                                          (T2-T4)*halfsinth 
+ 
+       lens_contrib(CT_Cross, l, thread_ix)= lens_contrib(CT_Cross,l, thread_ix) + &
+                                          corr(4)*d_20(l)*sinth 
+ 
+      end do
+
+     end do
+  !$OMP END PARALLEL DO
+     
+      do l=lmin, lmax_lensed
+         !sign from d(cos theta) = -sin theta dtheta
+       fac = l*(l+1)/OutputDenominator*dtheta *2*pi
+       Cl_lensed(l,in,CT_Temp) = sum(lens_contrib(CT_Temp,l,:))*fac &
+                 + Cl_scalar(l,in,C_Temp) 
+       Cl_lensed(l,in,CT_E) = sum(lens_contrib(CT_E,l,:))*fac &
+                 + Cl_scalar(l,in,C_E) 
+       Cl_lensed(l,in,CT_B) = sum(lens_contrib(CT_B,l,:))*fac
+       Cl_lensed(l,in,CT_Cross) = sum(lens_contrib(CT_Cross,l,:))*fac &
+                 + Cl_scalar(l,in,C_Cross) 
+
+      end do
+
+    end do !loop over different initial power spectra
+    deallocate(ddcontribs,corrcontribs)
+    deallocate(lens_contrib)
+
+     if (DebugMsgs) write(*,*) GetTestTime()-timeprev, 'Time for corr lensing'
+
+end subroutine CorrFuncFullSkyImpl
+
+
+
+subroutine CorrFuncFlatSky
+ !Do flat sky approx partially non-perturbative lensing, lensing_method=2
+   use ModelParams
+  use ModelData
+  use lvalues
+  integer l, i
+  integer :: npoints 
+  real(dl) Cgl2,  sigmasq, theta
+  real(dl) dtheta
+  real(dl) dbessfac, fac, fac1,fac2,  C2term, expsig, corr(4)
+  real(sp) timeprev
+  real(dl) Bessel0(lmin:CP%Max_l),Bessel2(lmin:CP%Max_l)
+  real(dl) Bessel4(lmin:CP%Max_l),Bessel6(lmin:CP%Max_l)
+  real(dl) Cphil3(lmin:CP%Max_l), CTT(lmin:CP%Max_l), CTE(lmin:CP%Max_l),CEE(lmin:CP%Max_l)
+  integer max_lensed_ix
+  integer b_lo
+  integer in
+  real(dl) T2,T4,a0, b0
+  real(dl) lfacs(CP%Max_l)
+  real(dl), allocatable, dimension(:,:,:) :: lens_contrib(:,:,:)
+  integer thread_ix
+!$ integer OMP_GET_THREAD_NUM, OMP_GET_MAX_THREADS
+!$ external OMP_GET_THREAD_NUM, OMP_GET_MAX_THREADS
+
+    if (lensing_includes_tensors) stop 'Haven''t implemented tensor lensing'
+
+    max_lensed_ix = lSamp%l0-1
+    do while(lSamp%l(max_lensed_ix) > CP%Max_l -250)
+      max_lensed_ix = max_lensed_ix -1
+    end do
+    lmax_lensed = lSamp%l(max_lensed_ix)
+    if (allocated(Cl_lensed)) deallocate(Cl_lensed)
+    allocate(Cl_lensed(lmin:lmax_lensed,CP%InitPower%nn,1:4))
+    
+    Cl_Lensed = 0
+   
+    npoints = CP%Max_l  * 2   
+    if (CP%AccurateBB) npoints = npoints * 2
+
+    dtheta = pi / npoints
+    if (.not. CP%AccurateBB) then
+     npoints = int(npoints /32 *min(32._dl,AccuracyBoost)) 
+      !OK for TT, EE, TE but inaccurate for low l BB
+      !this induces high frequency ringing on very small scales
+    end if
+
+    call GetBessels(npoints*dtheta*CP%Max_l)
+
+    if (DebugMsgs) timeprev=GetTestTime()
+
+    dbessfac = dbessel**2/6
+
+    thread_ix = 1
+    !$ thread_ix = OMP_GET_MAX_THREADS()  
+    allocate(lens_contrib(4,lmax_lensed,thread_ix))
+
+    do in = 1, CP%InitPower%nn
+
+    do l=lmin,CP%Max_l
+     ! l^3 C_phi_phi/2/pi: Cl_scalar(l,1,C_Phi) is l^4 C_phi_phi
+       Cphil3(l) = Cl_scalar(l,in,C_Phi)/l /(2*pi)
+       fac = l/(2*pi)*2*pi/(l*(l+1))
+       CTT(l) =  Cl_scalar(l,in,C_Temp)*fac
+       CEE(l) =  Cl_scalar(l,in,C_E)*fac
+       CTE(l) =  Cl_scalar(l,in,C_Cross)*fac
+       lfacs(l) = l**2*0.5_dl
+    end do
+
+    if (Cphil3(10) > 1e-7) then
+     write (*,*) 'You need to normalize realistically to use lensing.'
+     write (*,*) 'see http://cosmocoffee.info/viewtopic.php?t=94'
+     stop
+    end if
+
+  lens_contrib=0
+
+  !$OMP PARALLEL DO DEFAULT(SHARED),  &
+  !$OMP PRIVATE(theta, sigmasq,cgl2,b_lo,a0,b0,fac,fac1,fac2), &
+  !$OMP PRIVATE(Bessel0,Bessel2,Bessel4,Bessel6), &
+  !$OMP PRIVATE(corr,expsig,C2term,T2,T4,i,l, thread_ix)     
+
+    do i=1,npoints-1
+
+      theta = i * dtheta 
+      sigmasq =0
+      Cgl2=0
+      fac = theta /dbessel
+     
+      do l=lmin,CP%Max_l
+
+!Interpolate the Bessel functions, and compute sigma^2 and C_{gl,2} 
+        b0 = l*fac
+        b_lo = int(b0) +1 
+        a0=  b_lo - b0                
+        b0=  1._dl - a0 
+        fac1 = a0*b0*dbessfac
+        fac2 = fac1*(a0-2)
+        fac1 = fac1*(b0-2)
+
+        Bessel0(l) = a0*Bess0(b_lo)+ b0*Bess0(b_lo+1) +fac1*ddBess0(b_lo) &
+                       +fac2*ddBess0(b_lo+1)
+        sigmasq = sigmasq + (1-Bessel0(l))*Cphil3(l) 
+
+
+        Bessel2(l) = a0*Bess2(b_lo)+ b0*Bess2(b_lo+1) +fac1*ddBess2(b_lo) &
+                      +fac2*ddBess2(b_lo+1)
+        Cgl2 =  Cgl2 + Bessel2(l)*Cphil3(l)
+
+        Bessel4(l) = a0*Bess4(b_lo)+ b0*Bess4(b_lo+1) +fac1*ddBess4(b_lo) &
+                      +fac2*ddBess4(b_lo+1)
+        Bessel6(l) = a0*Bess6(b_lo)+ b0*Bess6(b_lo+1) +fac1*ddBess6(b_lo) &
+                      +fac2*ddBess6(b_lo+1)
+
+      end do
+
+!Get difference between lensed and unlensed correlation function
+     corr = 0
+      do l=lmin,CP%Max_l
+!For 2nd order perturbative result use 
+!         expsig = 1 -sigmasq*l**2/2._dl
+!         C2term = l**2*Cgl2/2._dl
+          fac = sigmasq*lfacs(l)
+          expsig = exp(-fac) 
+          C2term = Cgl2*lfacs(l)
+!Put theta factor later  in here
+          fac1 = expsig*theta
+          fac2 = C2term*fac1
+          fac1 = fac1 - theta  !we want expsig-1 to get lensing difference
+
+          fac = fac1*Bessel0(l) + fac2*Bessel2(l) 
+
+          !TT
+          corr(1) = corr(1) + CTT(l) * fac                              
+
+          !Q + U
+          corr(2) = corr(2) + CEE(l) * fac                              
+          fac2 = fac2*0.5_dl
+          !Q-U
+          corr(3) = corr(3) + CEE(l) * &
+              (fac1*Bessel4(l) + fac2*(Bessel2(l)+Bessel6(l)))                               
+          !Cross
+          corr(4) = corr(4) + CTE(l) * &
+              (fac1*Bessel2(l) + fac2*(Bessel0(l)+Bessel4(l)))                               
+ 
+
+      end do
+
+      
+ !$   thread_ix = OMP_GET_THREAD_NUM()+1
+
+      do l=lmin, lmax_lensed
+       !theta factors were put in earlier (already in corr)
+       lens_contrib(C_Temp, l, thread_ix)= lens_contrib(C_Temp,l, thread_ix) + &
+                                          corr(1)*Bessel0(l) 
+       T2 = corr(2)*Bessel0(l)
+       T4 = corr(3)*Bessel4(l)
+       lens_contrib(CT_E,l,thread_ix)  = lens_contrib(CT_E,l, thread_ix) + T2+T4
+       lens_contrib(CT_B,l,thread_ix)  = lens_contrib(CT_B,l, thread_ix) + T2-T4
+       lens_contrib(CT_Cross,l, thread_ix) = lens_contrib(CT_Cross,l, thread_ix) + &
+                                              corr(4)*Bessel2(l)
+      end do
+
+     end do
+  !$OMP END PARALLEL DO
+     
+      do l=lmin, lmax_lensed
+       fac = l*(l+1)* 2*pi/OutputDenominator*dtheta
+       Cl_lensed(l,in,CT_Temp) = sum(lens_contrib(CT_Temp,l,:))*fac &
+                 + Cl_scalar(l,in,CT_Temp) 
+       Cl_lensed(l,in,CT_Cross) = sum(lens_contrib(CT_Cross,l,:))*fac &
+                 +Cl_scalar(l,in,C_Cross)
+       fac = fac /2 !(factor of 1/2 should have been in T2+/-T4 above           
+       Cl_lensed(l,in,CT_E) = sum(lens_contrib(CT_E,l,:))*fac &
+                 + Cl_scalar(l,in,CT_E) 
+       Cl_lensed(l,in,CT_B) = sum(lens_contrib(CT_B,l,:))*fac
+      end do
+
+      end do !loop over different initial power spectra
+     deallocate(lens_contrib)
+
+     if (DebugMsgs) write(*,*) GetTestTime()-timeprev, 'Time for corr lensing'
+
+end subroutine CorrFuncFlatSky
+
+subroutine BadHarmonic
+  use ModelParams
+  use ModelData
+  use lvalues
+  use InitialPower
+  integer maxl, i, in, almin, max_lensed_ix, maxl_phi
+  real(dl) , dimension (:,:,:), allocatable :: bare_cls
+  real(dl) pp(CP%InitPower%nn,CP%Max_l)
+  real(dl) asum(CP%InitPower%nn), RR(CP%InitPower%nn), roots(CP%Max_l)
+  real(dl) asum_TE(CP%InitPower%nn), asum_EE(CP%InitPower%nn), asum_BB(CP%InitPower%nn)
+  integer l1,l2,al,j, j1, k, hk, llp_1, llp_al, g1
+  real(dl)  F, fct
+  real(dl) g2l,g2l1, norm
+  real(dl) a3j(CP%Max_l*2+1), tF, expF
+  logical DoPol
+  real(dl) iContribs(lSamp%l0,CP%InitPower%nn, 1:4), intcontrib(lmin:lSamp%l(lSamp%l0))
+  real(dl) , dimension (:,:,:), allocatable :: iCl_lensed
+  integer max_j_contribs
+
+  real(sp) timeprev
+    
+!Otherwise use second order perturbative harmonic method
+
+  if (DebugMsgs) timeprev=GetTestTime()
+
+  DoPol = CP%AccuratePolarization
+
+  maxl = CP%Max_l
+ 
+  if (allocated(Cl_lensed)) deallocate(Cl_lensed)
+
+
+  allocate(bare_cls(CP%InitPower%nn,maxl,1:4))
+  
+  RR = 0
+  do j=lmin,maxl
+     norm = OutputDenominator/(j*(j+1))
+     if (lensing_includes_tensors .and. CP%WantTensors .and. j<= CP%Max_l_tensor) then !Use total Cls
+      bare_cls(:,j,CT_Temp:CT_E) = (Cl_scalar(j,:,C_Temp:C_E) + &
+           Cl_tensor(j,:,CT_Temp:CT_E))*norm
+      bare_cls(:,j,CT_B) = Cl_tensor(j,:,CT_B)*norm
+      bare_cls(:,j,CT_Cross) =  (Cl_scalar(j,:,C_Cross) + &
+          Cl_tensor(j,:,CT_Cross))*norm
+     else
+      bare_cls(:,j,CT_Temp:CT_E) = Cl_scalar(j,:,C_Temp:C_E)*norm
+      bare_cls(:,j,CT_B) = 0
+      bare_cls(:,j,CT_Cross) =  Cl_scalar(j,:,C_Cross)*norm
+     end if
+     pp(:,j) = Cl_scalar(j,:,C_Phi)/real(j**2,dl)**2
+     RR = RR + j*(j+1)*real(2*j+1,dl)*pp(:,j)
+     roots(j) = sqrt(real(2*j+1,dl))
+  end do
+
+  RR = RR/2/fourpi
+  if (RR(1) > 1e-5) then
+     write (*,*) 'You need to normalize realistically to use lensing.'
+     write (*,*) 'see http://cosmocoffee.info/viewtopic.php?t=94'
+   stop
+  end if
+  if (maxl > lmax_donelnfa) then 
+   !Get ln factorials
+   if (allocated(lnfa)) deallocate(lnfa)
+   allocate(lnfa(0:maxl*3+1))
+   lmax_donelnfa = maxl 
+   lnfa(0) = 0
+   do i=1,CP%Max_l*3+1 
+     lnfa(i)=lnfa(i-1) + log(real(i,dl))
+   end do
+  end if
+   
+  max_lensed_ix = lSamp%l0-1
+  do while(lSamp%l(max_lensed_ix) > maxl -250)
+     max_lensed_ix = max_lensed_ix -1
+  end do
+  lmax_lensed = lSamp%l(max_lensed_ix)
+
+  allocate(iCl_lensed(max_lensed_ix, CP%InitPower%nn, 1:4))
+
+  max_j_contribs = lSamp%l0-1
+  if (.not. DoPol) then
+           maxl_phi = min(maxl,nint(max(600,(maxl*2)/5)*scale*AccuracyBoost))
+           do while (lSamp%l(max_j_contribs) > maxl_phi)
+              max_j_contribs=max_j_contribs-1
+           end do
+  end if
+
+  !$OMP PARALLEL DO DEFAULT(SHARED), SCHEDULE(DYNAMIC), SHARED(max_j_contribs) &
+  !$OMP PRIVATE(al,g1,llp_al,llp_1,g2l,asum,l1,g2l1,l2,k,hk,F,fct,almin), &
+  !$OMP PRIVATE(asum_EE,asum_BB,asum_TE,expF,tF, a3j, iContribs,in,intcontrib)
+  do j=max_lensed_ix,1,-1  
+     !Only compute lensed spectra at lSamp%l(j). Start with slow ones.
+     
+     al=lSamp%l(j)
+
+     llp_al = al*(al+1)
+     g2l=sqrt((2*al+1)/fourpi)
+
+     asum = 0
+     asum_EE = 0
+     asum_BB = 0
+     asum_TE = 0
+
+   
+     do j1 = 1, max_j_contribs
+        !  Contributions to C_al are a smooth function of l_1 - so interpolate
+        l1=lSamp%l(j1)
+
+        llp_1 = l1*(l1+1)
+        g2l1=roots(l1)
+
+        almin = max(abs(al-l1),2)
+
+        if (DoPol) then
+          call GetThreeJs(a3j(almin),l1,al,0,2)
+          do l2= almin, min(maxl,al+l1)
+              g1 = llp_1+l2*(l2+1)-llp_al
+              if (g1 == 0 ) cycle
+
+              k=al+l1+l2
+              fct=g1*g2l*g2l1*roots(l2)/2
+              tF = fct*a3j(l2)
+
+              if (mod(k,2)==0) then
+
+                 hk = k/2
+                 F = lnfa(hk)-lnfa(hk-al)-lnfa(hk-l1)-lnfa(hk-l2)+(lnfa(k-2*al)+lnfa(k-2*l1)&
+                  & +lnfa(k-2*l2)-lnfa(k+1))/2
+                 
+                 expF = exp(F)
+
+                 asum=asum + bare_cls(:,l2,C_Temp)*(expF*fct)**2
+        
+                 asum_EE = asum_EE + bare_cls(:,l2,CT_E)*tF**2
+                 asum_BB = asum_BB + bare_cls(:,l2,CT_B)*tF**2
+                 if (mod(hk,2)/=0) tF=-tF
+                 asum_TE = asum_TE + bare_cls(:,l2,CT_Cross)*expF*fct*tF
+
+              else
+                
+                 asum_BB = asum_BB + bare_cls(:,l2,CT_E)*tF**2
+                 asum_EE = asum_EE +bare_cls(:,l2,CT_B)*tF**2 
+
+              end if
+              
+          end do
+
+        else !No polarization
+          do l2= almin +mod(al+l1+almin,2),min(maxl,al+l1), 2 
+             !Only do lSamp%l's where al + l1 + l2 is even
+             
+              g1 = llp_1+l2*(l2+1)-llp_al
+            
+              if (g1 == 0 ) cycle  !Contribution is zero
+
+              k=al+l1+l2
+              hk=k/2
+           
+              fct=g1*g2l*g2l1*roots(l2)/2
+              expF = exp(2*(lnfa(hk)-lnfa(hk-al)-lnfa(hk-l1)-lnfa(hk-l2))+lnfa(k-2*al)+lnfa(k-2*l1)&
+                  & +lnfa(k-2*l2)-lnfa(k+1))
+              asum=asum + bare_cls(:,l2,CT_Temp)*expF *fct**2
+          
+          end do
+          end if !No polarization
+
+
+             iContribs(j1,:,CT_Temp) = asum*pp(:,l1)
+             if (DoPol) then
+                iContribs(j1,:,CT_E) = asum_EE*pp(:,l1)
+                iContribs(j1,:,CT_B) = asum_BB*pp(:,l1)
+                iContribs(j1,:,CT_Cross) = asum_TE*pp(:,l1)
+             end if
+             asum = 0
+             asum_EE = 0
+             asum_BB = 0
+             asum_TE = 0
+
+        
+       end do
+
+          
+       !Interpolate contributions to sum and add up
+         do in=1, CP%InitPower%nn
+          
+            call InterpolateClArr(lSamp,iContribs(1,in,CT_Temp),intcontrib,max_j_contribs)
+            asum(in) = sum(intcontrib(lmin:lSamp%l(max_j_contribs)))
+            if (DoPol) then
+               call InterpolateClArr(lSamp,iContribs(1,in,CT_E),intcontrib,max_j_contribs)
+               asum_EE(in) = sum(intcontrib(lmin:lSamp%l(max_j_contribs)))
+               call InterpolateClArr(lSamp,iContribs(1,in,CT_B),intcontrib,max_j_contribs)
+               asum_BB(in) = sum(intcontrib(lmin:lSamp%l(max_j_contribs)))
+               call InterpolateClArr(lSamp,iContribs(1,in,CT_Cross),intcontrib,max_j_contribs)
+               asum_TE(in) = sum(intcontrib(lmin:lSamp%l(max_j_contribs)))
+            end if
+         end do
+
+     iCl_lensed(j,:,CT_Temp) =  ((1-al*(al+1)*RR)*bare_cls(:,al,CT_Temp)  & !Linear part
+              + asum/(2*al+1))*llp_al/OutputDenominator !add quadratic part and *l(l+1)/2pi
+     if (DoPol) then
+        iCl_lensed(j,:,CT_E) = ((1-(al**2+al-4)*RR)*bare_cls(:,al,CT_E)  & 
+              + asum_EE/(2*al+1))*llp_al/OutputDenominator
+        iCl_lensed(j,:,CT_B) = ((1-(al**2+al-4)*RR)*bare_cls(:,al,CT_B)  & 
+              + asum_BB/(2*al+1))*llp_al/OutputDenominator
+        iCl_lensed(j,:,CT_Cross) =  ((1-(al**2+al-2)*RR)*bare_cls(:,al,CT_Cross) &
+                + asum_TE/(2*al+1))*llp_al/OutputDenominator
+
+     else
+        iCl_lensed(j,:,CT_E:CT_Cross) = bare_cls(:,al,CT_E:CT_Cross)
+     end if
+
+  end do
+  !$OMP END PARALLEL DO
+
+  deallocate(bare_cls)
+
+  allocate(Cl_lensed(lmin:lmax_lensed,CP%InitPower%nn,1:4))
+
+  !Interpolate to get final spectrum
+  do in=1, CP%InitPower%nn
+     do j = CT_Temp, CT_Cross
+      call InterpolateClArr(lSamp,iCl_lensed(1,in,j),Cl_lensed(lmin, in, j),max_lensed_ix)
+     end do
+  end do
+
+  deallocate(iCl_lensed)
+
+  if (DebugMsgs) then
+        if (FeedbackLevel>0) write(*,*) GetTestTime()-timeprev,' Timing for lensing'
+   end if
+
+end subroutine BadHarmonic
+
+      subroutine GetBessels(MaxArg)
+       real(dl), intent(in):: MaxArg
+       integer i
+       real(dl), allocatable, dimension(:) :: x
+       integer max_bes_ix
+       integer, save :: last_max = 0
+
+       max_bes_ix = nint(MaxArg / dbessel) + 3
+       if (max_bes_ix > last_max) then
+           last_max = max_bes_ix
+           if (allocated(Bess0)) then
+             deallocate(Bess0,ddBess0)
+             deallocate(Bess2,ddBess2)
+             deallocate(Bess4,ddBess4)
+             deallocate(Bess6,ddBess6)
+           end if
+           allocate(Bess0(max_bes_ix),ddBess0(max_bes_ix))
+           allocate(Bess2(max_bes_ix),ddBess2(max_bes_ix))
+           allocate(Bess4(max_bes_ix),ddBess4(max_bes_ix))
+           allocate(Bess6(max_bes_ix),ddBess6(max_bes_ix))
+
+           allocate(x(max_bes_ix))
+           Bess0(1)=1
+           Bess2(1)=0; Bess4(1)=0; Bess6(1)=0
+           x(1)=0
+           do i=2, max_bes_ix
+             x(i) = (i-1)*dbessel
+             Bess0(i) = Bessj0(x(i)) 
+             Bess2(i) = Bessj(2,x(i)) 
+             Bess4(i) = Bessj(4,x(i)) 
+             Bess6(i) = Bessj(6,x(i)) 
+           end do 
+           call spline(x,Bess0,max_bes_ix,spl_large,spl_large,ddBess0)
+           call spline(x,Bess2,max_bes_ix,spl_large,spl_large,ddBess2)
+           call spline(x,Bess4,max_bes_ix,spl_large,spl_large,ddBess4)
+           call spline(x,Bess6,max_bes_ix,spl_large,spl_large,ddBess6)
+
+           deallocate(x)
+       end if
+
+      end subroutine GetBessels
+
+!Wrap standard built-in F2008 funcitons (appear OK for ifort and gfortran)
+
+      FUNCTION bessj0(x)
+      real(dl) bessj0,x
+
+      bessj0 = bessel_j0(x)
+
+      END FUNCTION bessj0
+
+      FUNCTION bessj(n,x)
+      real(dl) bessj,x
+      integer n
+
+      bessj = bessel_jn(n,x)
+
+      END FUNCTION bessj
+
+! ----------------------------------------------------------------------
+! Auxiliary Bessel functions for N=0, N=1
+      FUNCTION BESSI0(X)
+      double precision X,BESSI0,Y,P1,P2,P3,P4,P5,P6,P7,  &
+      Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,AX,BX
+      DATA P1,P2,P3,P4,P5,P6,P7/1.D0,3.5156229D0,3.0899424D0,1.2067429D0,  &
+      0.2659732D0,0.360768D-1,0.45813D-2/
+      DATA Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9/0.39894228D0,0.1328592D-1, &
+      0.225319D-2,-0.157565D-2,0.916281D-2,-0.2057706D-1,  &
+      0.2635537D-1,-0.1647633D-1,0.392377D-2/
+      IF(ABS(X).LT.3.75D0) THEN
+      Y=(X/3.75D0)**2
+      BESSI0=P1+Y*(P2+Y*(P3+Y*(P4+Y*(P5+Y*(P6+Y*P7)))))
+      ELSE
+      AX=ABS(X)
+      Y=3.75D0/AX
+      BX=EXP(AX)/SQRT(AX)
+      AX=Q1+Y*(Q2+Y*(Q3+Y*(Q4+Y*(Q5+Y*(Q6+Y*(Q7+Y*(Q8+Y*Q9)))))))
+      BESSI0=AX*BX
+      ENDIF
+      RETURN
+      END FUNCTION BESSI0
+! ----------------------------------------------------------------------
+      FUNCTION BESSI1(X)
+      double precision X,BESSI1,Y,P1,P2,P3,P4,P5,P6,P7,  &
+      Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,AX,BX
+      DATA P1,P2,P3,P4,P5,P6,P7/0.5D0,0.87890594D0,0.51498869D0,  &
+      0.15084934D0,0.2658733D-1,0.301532D-2,0.32411D-3/
+      DATA Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9/0.39894228D0,-0.3988024D-1, &
+      -0.362018D-2,0.163801D-2,-0.1031555D-1,0.2282967D-1, &
+      -0.2895312D-1,0.1787654D-1,-0.420059D-2/
+      IF(ABS(X).LT.3.75D0) THEN
+      Y=(X/3.75D0)**2
+      BESSI1=X*(P1+Y*(P2+Y*(P3+Y*(P4+Y*(P5+Y*(P6+Y*P7))))))
+      ELSE
+      AX=ABS(X)
+      Y=3.75D0/AX
+      BX=EXP(AX)/SQRT(AX)
+      AX=Q1+Y*(Q2+Y*(Q3+Y*(Q4+Y*(Q5+Y*(Q6+Y*(Q7+Y*(Q8+Y*Q9)))))))
+      BESSI1=AX*BX
+      ENDIF
+      RETURN
+      END FUNCTION BESSI1
+
+
+      FUNCTION BESSI(N,X)
+      !from http://perso.orange.fr/jean-pierre.moreau/Fortran/tbessi_f90.txt
+!
+!     This subroutine calculates the first kind modified Bessel function
+!     of integer order N, for any REAL X. We use here the classical
+!     recursion formula, when X > N. For X < N, the Miller's algorithm
+!     is used to avoid overflows. 
+!     REFERENCE:
+!     C.W.CLENSHAW, CHEBYSHEV SERIES FOR MATHEMATICAL FUNCTIONS,
+!     MATHEMATICAL TABLES, VOL.5, 1962.
+      integer, intent(in) :: N
+      integer, PARAMETER :: IACC = 40
+      integer m,j
+      double precision, parameter ::  BIGNO = 1.D10, BIGNI = 1.D-10
+      double precision X,BESSI,TOX,BIM,BI,BIP
+      IF (N.EQ.0) THEN
+      BESSI = BESSI0(X)
+      RETURN
+      ENDIF
+      IF (N.EQ.1) THEN
+      BESSI = BESSI1(X)
+      RETURN
+      ENDIF
+      IF(X.EQ.0.D0) THEN
+      BESSI=0.D0
+      RETURN
+      ENDIF
+      TOX = 2.D0/X
+      BIP = 0.D0
+      BI  = 1.D0
+      BESSI = 0.D0
+      M = 2*((N+INT(SQRT(FLOAT(IACC*N)))))
+      DO J = M,1,-1
+      BIM = BIP+ J*TOX*BI
+      BIP = BI
+      BI  = BIM
+      IF (ABS(BI).GT.BIGNO) THEN
+      BI  = BI*BIGNI
+      BIP = BIP*BIGNI
+      BESSI = BESSI*BIGNI
+      ENDIF
+      IF (J.EQ.N) BESSI = BIP
+      END DO
+      BESSI = BESSI*BESSI0(X)/BI
+      RETURN
+      END FUNCTION BESSI
+
+
+end module lensing
+
diff --git a/lenspen.f90 b/lenspen.f90
new file mode 100644
index 0000000..7841e4e
--- /dev/null
+++ b/lenspen.f90
@@ -0,0 +1,1169 @@
+!Lensing the C_l using the deflection angle from the computed lensing potential
+!power spectrum. 
+!lensing_method=1: using an accurate curved-sky correlation function method
+!lensing_method=2: using the flat-sky lower order result of astro-ph/9505109 
+!                  and astro-ph/9803150 as in CMBFAST 
+!lensing_method=3: using inaccurate full sky harmonic method of astro-ph/0001303
+
+!The flat sky result is accurate to about 0.1% in TT, and 0.4% in EE and is
+!about a factor of two faster than lensing_method=1.
+!lensing_method=3 is only present for comparison and is not recommended in any regime
+
+!Set accurate_BB=T if you want BB accurately by integrating the full angular range
+!otherwise it saves a large amount of time by only integrating the small scales
+!accute_BB only does *not* include any non-linear corrections or ensure you have
+!chosen sufficiently high l_max and k_max, so does not neccessarily give an accurate
+!result
+
+!Uses the un-lensed Cls and the computed lensing potential power spectrum.
+!Usual values of k_max are fine for all but the lensed BB Cls
+!To get the lensed BB accurate around l=1000 you need to go to l_max >2000, and
+!higher for higher l. Since this probes small scales in the lensing power spectrum you
+!also need to go to higher k_max - for concordance models something like 
+!k_eta_max_scalar=10000. At l>1000 you can expect to need higher k_max, and for 
+!non-linear evolution to cause a significant error.
+
+!Correlation function routines by AL+AC Nov 2004 with flat-sky borrowings from CMBFAST
+!Curved sky results use the method of astro-ph/xxx.
+
+!Full sky harmonic lensing routines by Gayoung Chon and AC.
+!Ref: astro-ph/0001303 by W. Hu. 
+!For better derivations see also astro-ph/0301064 and astro-ph/0301031
+!Adapted for CAMB and optimized by AL.
+!Uses f90 version of "J1-RECURSION OF 3J-COEFFICIENTS" by K. Schulten and R.G. Gordon 
+!obtainable from the CPC program library (www.cpc.cs.qub.ac.uk).
+
+!March 2006: fixed problem with l_max when generating with tensors (thanks Chad Fendt)
+
+module lensing
+use Precision
+use ModelParams
+use AmlUtils
+implicit none
+ integer, parameter :: lensing_method_curv_corr=1,lensing_method_flat_corr=2, &
+                       lensing_method_harmonic=3
+ 
+ integer :: lensing_method = lensing_method_curv_corr
+
+private
+
+ logical  :: lensing_includes_tensors = .false.
+
+!flat method stores
+ real(dl), parameter :: dbessel = 0.05_dl 
+ real(dl), dimension(:), allocatable :: Bess0, ddBess0
+ real(dl), dimension(:), allocatable :: Bess2, ddBess2
+ real(dl), dimension(:), allocatable :: Bess4, ddBess4
+ real(dl), dimension(:), allocatable :: Bess6, ddBess6
+
+ integer, parameter :: lensed_convolution_margin = 100
+   !Number of L less than L max at which the lensed power spectrum is calculated 
+
+!Harmonic method stores
+ integer :: lmax_donelnfa = 0
+ real(dl), dimension(:), allocatable  :: lnfa
+
+public lens_Cls, lensing_includes_tensors, lensing_method, lensing_method_flat_corr,&
+      lensing_method_curv_corr,lensing_method_harmonic, BessI, bessj0
+contains
+
+
+subroutine lens_Cls
+ use lvalues
+
+ !Must set l again in case computed tessors (thanks to Chad)
+ call initlval(lSamp,CP%Max_l)
+ if (lensing_method == lensing_method_curv_corr) then
+    call CorrFuncFullSky()
+  elseif (lensing_method == lensing_method_flat_corr) then 
+    call CorrFuncFlatSky()
+  elseif (lensing_method == lensing_method_harmonic) then 
+    call BadHarmonic
+  else
+    stop 'Unknown lensing method'
+ end if
+end subroutine lens_Cls
+
+
+subroutine CorrFuncFullSky
+
+  integer :: lmax_extrap 
+  
+  lmax_extrap = CP%Max_l - lensed_convolution_margin + 450  
+  if (HighAccuracyDefault) lmax_extrap=lmax_extrap+300
+  lmax_extrap = min(lmax_extrap_highl,lmax_extrap)
+  call CorrFuncFullSkyImpl(max(lmax_extrap,CP%max_l))
+
+end subroutine CorrFuncFullSky
+
+
+subroutine CorrFuncFullSkyImpl(lmax)
+ !Accurate curved sky correlation function method
+ !Uses non-perturbative isotropic term with 2nd order expansion in C_{gl,2}
+ !Neglects C_{gl}(theta) terms (very good approx)
+  use ModelParams
+  use ModelData
+  use lvalues
+  implicit none
+  integer, intent(in) :: lmax
+  integer l, i, in
+  integer :: npoints 
+  real(dl) corr(4), Cg2, sigmasq, theta
+  real(dl) dtheta
+  real(dl) llp1,fac, fac1,fac2,fac3, rootllp1, rootfac1, rootfac2, rootfac3
+  integer max_lensed_ix
+  real(dl) P(lmax),dP(lmax)
+  real(dl) sinth,halfsinth, x, T2,T4
+  real(dl) roots(-1:lmax+4), lfacs(lmax), lfacs2(lmax), lrootfacs(lmax)
+  real(dl) d_11(lmax),d_m11(lmax)
+  real(dl) d_22(lmax),d_2m2(lmax),d_20(lmax)
+  real(dl) Cphil3(lmin:lmax), CTT(lmin:lmax), CTE(lmin:lmax),CEE(lmin:lmax)
+  real(dl) ls(lmax)
+  real(dl) xl(lmax),ddcontribs(lmax,4),corrcontribs(lmax,4)
+  real(dl), allocatable, dimension(:,:,:) :: lens_contrib(:,:,:)
+  integer thread_ix
+  real(dl) pmm, pmmp1
+  real(dl) d4m4,d11,dm11,d2m2,d22,d20,d23,d2m3,d33,d3m3,d04,d1m2,d12,d13,d1m3,d2m4
+  real(dl) sinfac, Cg2sq
+  real(dl) X000,X022,X220,X121,X132,X242
+  real(dl) dX000,dX022
+  real(sp) timeprev
+  integer  interp_fac
+  integer j,jmax
+  integer llo, lhi
+  real(dl) a0,b0,ho, sc
+  logical :: short_integral_range
+  integer, parameter :: slow_highL = 5000 !Lmax at which to do full range to prevent ringing etc
+
+  logical, parameter :: approx = .false.
+
+!$ integer  OMP_GET_THREAD_NUM, OMP_GET_MAX_THREADS
+!$ external OMP_GET_THREAD_NUM, OMP_GET_MAX_THREADS
+
+    if (lensing_includes_tensors) stop 'Haven''t implemented tensor lensing'
+
+    max_lensed_ix = lSamp%l0-1
+!    do while(lSamp%l(max_lensed_ix) > CP%Max_l -250)
+    do while(lSamp%l(max_lensed_ix) > CP%Max_l - lensed_convolution_margin) 
+      max_lensed_ix = max_lensed_ix -1
+    end do
+    lmax_lensed = lSamp%l(max_lensed_ix)
+    if (allocated(Cl_lensed)) deallocate(Cl_lensed)
+    allocate(Cl_lensed(lmin:lmax_lensed,CP%InitPower%nn,1:4))
+    
+    Cl_Lensed = 0
+   
+    npoints = CP%Max_l  * 2    
+    short_integral_range = .not. CP%AccurateBB .and. CP%Max_l<=slow_highL
+    if (.not. short_integral_range ) npoints = npoints * 2 
+
+    dtheta = pi / npoints
+    if (short_integral_range) then
+      npoints = int(npoints /32 *min(32._dl,AccuracyBoost)) 
+      !OK for TT, EE, TE but inaccurate for low l BB
+      !this induces high frequency ringing on very small scales
+    end if
+
+    if (DebugMsgs) timeprev=GetTestTime()
+
+    if (.not. short_integral_range) then
+     !There is an odd serious problem with interpolating if you do a large
+     !angular range.
+      
+     interp_fac =1
+    else
+     interp_fac = max(1,nint(10/AccuracyBoost))
+    end if
+
+    jmax = 0
+    do l=lmin,lmax
+       if (l<=15 .or. mod(l-15,interp_fac)==interp_fac/2) then
+         jmax =jmax+1
+         ls(jmax)=l
+         xl(jmax)=l
+       end if
+       lfacs(l) = real(l*(l+1),dl)
+       lfacs2(l) = real((l+2)*(l-1),dl)
+       lrootfacs(l) = sqrt(lfacs(l)*lfacs2(l))
+    end do
+
+    roots(-1)=0 !just so dipole doesn't screw up
+    do l=0,lmax+4
+     roots(l) = sqrt(real(l,dl))
+    end do
+
+
+    thread_ix = 1
+    !$ thread_ix = OMP_GET_MAX_THREADS()  
+    allocate(lens_contrib(4,lmax_lensed,thread_ix))
+
+    do in = 1, CP%InitPower%nn
+       Cphil3=0
+!       print*, 'Hi Renee initialising Cphil3 now'
+    do l=lmin,CP%Max_l
+     ! (2*l+1)l(l+1)/4pi C_phi_phi: Cl_scalar(l,1,C_Phi) is l^4 C_phi_phi
+       Cphil3(l) = Cl_scalar(l,in,C_Phi)*(2*l+1)*(l+1)/real(l,dl)**3/(4*pi) 
+       fac = (2*l+1)/(4*pi) * 2*pi/(l*(l+1))
+       CTT(l) =  Cl_scalar(l,in,C_Temp)*fac
+       CEE(l) =  Cl_scalar(l,in,C_E)*fac
+       
+       CTE(l) =  Cl_scalar(l,in,C_Cross)*fac
+!       write(888,*) l, Cphil3(l)
+    end do
+
+    if (Cphil3(10) > 1e-7) then
+       write(*,*) 'strange lensing here, we are resetting it'
+       write(*,*) CP%h0
+       do l=lmin, CP%Max_l
+ !         write(999,*) l, Cphil3(l)
+          Cphil3(l) =0
+       enddo
+    !     write (*,*) 'You need to normalize realistically to use lensing.'
+!     write (*,*) 'see http://cosmocoffee.info/viewtopic.php?t=94'
+!     stop
+    end if
+
+    if (lmax > CP%Max_l) then
+     l=CP%Max_l
+     sc = (2*l+1)/(4*pi) * 2*pi/(l*(l+1))     
+     fac2=CTT(CP%Max_l)/(sc*highL_CL_template(CP%Max_l, C_Temp))
+     fac=Cphil3(CP%Max_l)/(sc*highL_CL_template(CP%Max_l, C_Phi))  
+     do l=CP%Max_l+1, lmax
+       !Fill in tail from template
+       sc = (2*l+1)/(4*pi) * 2*pi/(l*(l+1))  
+       Cphil3(l) = highL_CL_template(l, C_Phi)*fac*sc
+       
+       CTT(l) =  highL_CL_template(l, C_Temp)*fac2*sc
+       CEE(l) =  highL_CL_template(l, C_E)*fac2 *sc
+       CTE(l) =  highL_CL_template(l, C_Cross)*fac2*sc 
+      if (Cphil3(CP%Max_l+1) > 1e-7) then
+       write (*,*) 'You need to normalize the high-L template so it is dimensionless'
+       stop
+      end if
+     end do
+   end if
+  lens_contrib=0
+
+  !uncomment second line for PGF90 workaround
+  !$OMP PARALLEL DO DEFAULT(PRIVATE),  &
+  !OMP PRIVATE(P,dP,d11,dm11,d22,d2m2,d20,corrcontribs,ddcontribs),& 
+  !$OMP SHARED(lfacs,lfacs2,lrootfacs,Cphil3,CTT,CTE,CEE,lens_contrib, lmax), &
+  !$OMP SHARED(dtheta,CP,lmax_lensed,roots, npoints,interp_fac,jmax,ls,xl,short_integral_range) 
+      do i=1,npoints-1
+
+      theta = i * dtheta 
+      x = cos(theta)
+      sinth = sin(theta)
+      halfsinth = sinth/2
+
+      pmm=1
+      pmmp1=x
+
+      Cg2=0
+      sigmasq=0
+      if (lmin==1) then
+        d_11(1) = cos(theta/2)**2
+        d_m11(1) = sin(theta/2)**2
+        sigmasq = sigmasq  +  (1-d_11(1))*Cphil3(lmin) 
+        Cg2 = Cg2  + d_m11(1)*Cphil3(lmin)
+        P(1) = x
+        d_22(1)=0
+        d_2m2(1)=0
+        d_20(1)=0
+      end if
+      do l=2,lmax
+
+        P(l)= ((2*l-1)* x *pmmp1 - (l-1)*Pmm)/ l
+        dP(l) = l*(pmmp1-x*P(l))/sinth**2
+        Pmm=pmmp1
+        pmmp1=P(l)
+        llp1 = lfacs(l)
+  
+        fac1 = (1-x)
+        fac2 = (1+x)
+        fac = fac1/fac2
+
+        d_11(l) =  fac1*dP(l)/llp1 + P(l)
+        d_m11(l) = fac2*dP(l)/llp1 - P(l)
+
+        sigmasq = sigmasq  +  (1-d_11(l))*Cphil3(l) 
+        Cg2 = Cg2  + d_m11(l)*Cphil3(l)
+        
+        d_22(l) = ( ((4*x-8)/fac2 + llp1)*P(l) &
+            + 4*fac*( fac2 + (x - 2)/llp1)*dP(l) )/ lfacs2(l)
+                  
+        d_2m2(l) = ( (llp1- (4*x+8)/fac1) *P(l) &
+            +4/fac*( -fac1 + (x+2)/llp1) *dP(l) )/lfacs2(l)              
+
+        d_20(l) = (2*x*dP(l) - llp1*P(l) ) / lrootfacs(l)
+
+      end do
+    
+       do j=1,jmax
+        l =ls(j)
+ 
+        fac1 = (1-x)
+        fac2 = (1+x)
+        llp1 = lfacs(l)
+  
+        rootllp1 = roots(l)*roots(l+1) 
+        rootfac1 = roots(l+2)*roots(l-1)
+        rootfac2 = roots(l+3)*roots(l-2)
+
+        llp1=lfacs(l)
+        dm11=d_m11(l)
+        d11=d_11(l)
+        if (l<2) then
+         d2m2=0
+         d22=0
+         d20=0
+         d1m2 = 0
+         d12 =  0     
+        else
+         d2m2=d_2m2(l)
+         d22=d_22(l)
+         d20=d_20(l)
+         d1m2 = sinth/rootfac1*(dP(l) -2/fac1*dm11)
+         d12 =  sinth/rootfac1*(dP(l) -2/fac2*d11)
+        end if
+        if (l<3) then
+         d1m3=0
+         d2m3=0
+         d3m3=0
+         d13 =0 
+         d23 =0
+         d33 =0 
+        else
+         sinfac=4/sinth
+         d1m3 = (-(x+0.5_dl)*d1m2*sinfac - lfacs2(l)*dm11/rootfac1 )/rootfac2
+         d2m3 = (-fac2*d2m2*sinfac - rootfac1*d1m2)/rootfac2
+         d3m3 = (-(x+1.5_dl)*d2m3*sinfac - rootfac1*d1m3)/rootfac2
+         d13  =  ((x-0.5_dl)*d12*sinfac - lfacs2(l)*d11/rootfac1 ) /rootfac2
+         d23  = (-fac1*d22*sinfac + rootfac1*d12 ) / rootfac2
+         d33  = (-(x-1.5_dl)*d23*sinfac - rootfac1*d13)/rootfac2
+        end if 
+        if (l<4) then
+         d04=0
+         d2m4=0
+         d4m4=0
+         rootfac3=0
+        else
+         rootfac3=roots(l-3)*roots(l+4)
+         d04=( (-llp1 + (18*x**2 + 6)/sinth**2 )*d20  -&
+             6*x*lfacs2(l)*dP(l)/lrootfacs(l) ) / (rootfac2*rootfac3)
+         d2m4= (-(6*x+4)*d2m3/sinth - rootfac2*d2m2 ) / rootfac3
+         d4m4 = (-7/5._dl*(llp1-6)*d2m2 + &
+                12/5._dl*( -llp1+(9*x+26)/fac1)*d3m3 ) / (llp1-12)
+        end if
+
+       !Non perturbative isotropic integrals
+       !these are approx, but extremely good approximations
+         X000 = exp(-llp1*sigmasq/4)
+         if (approx) then
+
+         X022 = X000  
+         X220 = rootllp1**2/4*X000
+         X121 = -0.5_dl*rootllp1*X000
+         X132 = -0.5_dl*rootllp1*X000
+         X242 = 0.25_dl*rootllp1**2*X022 
+         
+         dX000 = -llp1/4*X000
+         dX022 = -llp1/4*X022
+        
+
+         else
+         X022 = X000*(1+sigmasq)   !exp(-(llp1-4)*sigmasq/4)
+         X220 = lrootfacs(l)/4*X000
+         X121 = -0.5_dl*rootfac1*X000
+         X132 = -0.5_dl*rootfac2*X000
+         X242 = 0.25_dl*rootfac2*rootfac3*X022 
+         
+         dX000 = -llp1/4*X000
+         dX022 = (1-llp1/4)*X022
+         end if  
+!second order
+         !TT
+         fac1 = dX000**2
+         fac3 = X220**2
+         Cg2sq = Cg2**2
+
+!Here we drop terms in Cgt which are down by powers of l
+!Approx good to 1e-4 level
+         fac = ( (X000**2-1) + Cg2sq*fac1)*P(l)+ Cg2sq*fac3*d2m2 &
+                    + 8/llp1* fac1*Cg2*dm11 
+     
+         corrcontribs(j,1)=  CTT(l) * fac 
+
+         fac2=(Cg2*dX022)**2+(X022**2-1)
+!Q+U
+         fac = 2*Cg2*X121*X132*d13 + fac2*d22 +Cg2sq*X242*X220*d04 
+
+         corrcontribs(j,2)= CEE(l) * fac 
+
+!Q-U 
+         fac = ( fac3*P(l) + X242**2*d4m4)*Cg2sq/2 &
+              + Cg2*(X121**2*dm11+ X132**2*d3m3) + fac2*d2m2 
+
+         corrcontribs(j,3)= CEE(l) * fac 
+
+!TE
+        fac = (X000*X022-1)*d20+ &
+          2*dX000*Cg2*(X121*d11 + X132*d1m3)/rootllp1 &
+             + Cg2sq*(X220/2*d2m4*X242 +( fac3/2 + dX022*dX000)*d20) 
+
+        corrcontribs(j,4)= CTE(l) * fac 
+
+      end do
+
+do j=1,4
+  corr(j) = sum(corrcontribs(1:14,j))+interp_fac*sum(corrcontribs(15:jmax,j))
+end do
+
+if (short_integral_range .and. i>npoints-20) &
+        corr=corr*exp(-(i-npoints+20)**2/150.0) !taper the end to help prevent ringing
+
+!Interpolate contributions
+!Increasing interp_fac and using this seems to be slower than above
+if (.false.) then
+      if (abs(sum(corrcontribs(1:jmax,1)))>1e-11) print *,i,sum(corrcontribs(1:jmax,1))
+      do j=1,4
+       call spline(xl,corrcontribs(1,j),jmax,1d30,1d30,ddcontribs(1,j))
+      end do 
+      corr=0
+      llo=1
+      do l=lmin,lmax
+           if ((l > ls(llo+1)).and.(llo < jmax)) then
+              llo=llo+1
+           end if
+           lhi=llo+1
+           ho=ls(lhi)-ls(llo)
+           a0=(ls(lhi)-l)/ho
+           b0=(l-ls(llo))/ho
+           fac1 = ho**2/6
+           fac2 = (b0**3-b0)*fac1
+           fac1 = (a0**3-a0)*fac1 
+  
+           corr(1) = Corr(1)+ a0*corrcontribs(llo,1)+ b0*corrcontribs(lhi,1)+ &
+            fac1* ddcontribs(llo,1) +fac2*ddcontribs(lhi,1)
+           corr(2) = Corr(2)+ a0*corrcontribs(llo,2)+ b0*corrcontribs(lhi,2)+ &
+            fac1* ddcontribs(llo,2) +fac2*ddcontribs(lhi,2)
+           corr(3) = Corr(3)+ a0*corrcontribs(llo,3)+ b0*corrcontribs(lhi,3)+ &
+            fac1* ddcontribs(llo,3) +fac2*ddcontribs(lhi,3)
+           corr(4) = Corr(4)+ a0*corrcontribs(llo,4)+ b0*corrcontribs(lhi,4)+ &
+            fac1* ddcontribs(llo,4) +fac2*ddcontribs(lhi,4)
+         
+      end do
+end if 
+      
+ !$   thread_ix = OMP_GET_THREAD_NUM()+1
+
+      do l=lmin, lmax_lensed
+       !theta factors were put in earlier (already in corr)
+
+
+       lens_contrib(C_Temp, l, thread_ix)= lens_contrib(C_Temp,l, thread_ix) + &
+                                          corr(1)*P(l)*sinth 
+
+       T2 = corr(2)* d_22(l)
+       T4 = corr(3)* d_2m2(l)
+
+
+       lens_contrib(CT_E, l, thread_ix)= lens_contrib(CT_E,l, thread_ix) + &
+                                          (T2+T4)*halfsinth 
+       lens_contrib(CT_B, l, thread_ix)= lens_contrib(CT_B,l, thread_ix) + &
+                                          (T2-T4)*halfsinth 
+ 
+       lens_contrib(CT_Cross, l, thread_ix)= lens_contrib(CT_Cross,l, thread_ix) + &
+                                          corr(4)*d_20(l)*sinth 
+ 
+      end do
+
+     end do
+  !$OMP END PARALLEL DO
+     
+      do l=lmin, lmax_lensed
+         !sign from d(cos theta) = -sin theta dtheta
+       fac = l*(l+1)/OutputDenominator*dtheta *2*pi
+       Cl_lensed(l,in,CT_Temp) = sum(lens_contrib(CT_Temp,l,:))*fac &
+                 + Cl_scalar(l,in,C_Temp) 
+       Cl_lensed(l,in,CT_E) = sum(lens_contrib(CT_E,l,:))*fac &
+                 + Cl_scalar(l,in,C_E) 
+       Cl_lensed(l,in,CT_B) = sum(lens_contrib(CT_B,l,:))*fac
+       Cl_lensed(l,in,CT_Cross) = sum(lens_contrib(CT_Cross,l,:))*fac &
+                 + Cl_scalar(l,in,C_Cross) 
+
+      end do
+
+      end do !loop over different initial power spectra
+     deallocate(lens_contrib)
+
+     if (DebugMsgs) write(*,*) GetTestTime()-timeprev, 'Time for corr lensing'
+
+end subroutine CorrFuncFullSkyImpl
+
+
+
+subroutine CorrFuncFlatSky
+ !Do flat sky approx partially non-perturbative lensing, lensing_method=2
+   use ModelParams
+  use ModelData
+  use lvalues
+  integer l, i
+  integer :: npoints 
+  real(dl) Cgl2,  sigmasq, theta
+  real(dl) dtheta
+  real(dl) dbessfac, fac, fac1,fac2,  C2term, expsig, corr(4)
+  real(sp) timeprev
+  real(dl) Bessel0(lmin:CP%Max_l),Bessel2(lmin:CP%Max_l)
+  real(dl) Bessel4(lmin:CP%Max_l),Bessel6(lmin:CP%Max_l)
+  real(dl) Cphil3(lmin:CP%Max_l), CTT(lmin:CP%Max_l), CTE(lmin:CP%Max_l),CEE(lmin:CP%Max_l)
+  integer max_lensed_ix
+  integer b_lo
+  integer in
+  real(dl) T2,T4,a0, b0
+  real(dl) lfacs(CP%Max_l)
+  real(dl), allocatable, dimension(:,:,:) :: lens_contrib(:,:,:)
+  integer thread_ix
+!$ integer OMP_GET_THREAD_NUM, OMP_GET_MAX_THREADS
+!$ external OMP_GET_THREAD_NUM, OMP_GET_MAX_THREADS
+
+    if (lensing_includes_tensors) stop 'Haven''t implemented tensor lensing'
+
+    max_lensed_ix = lSamp%l0-1
+    do while(lSamp%l(max_lensed_ix) > CP%Max_l -250)
+      max_lensed_ix = max_lensed_ix -1
+    end do
+    lmax_lensed = lSamp%l(max_lensed_ix)
+    if (allocated(Cl_lensed)) deallocate(Cl_lensed)
+    allocate(Cl_lensed(lmin:lmax_lensed,CP%InitPower%nn,1:4))
+    
+    Cl_Lensed = 0
+   
+    npoints = CP%Max_l  * 2   
+    if (CP%AccurateBB) npoints = npoints * 2
+
+    dtheta = pi / npoints
+    if (.not. CP%AccurateBB) then
+     npoints = int(npoints /32 *min(32._dl,AccuracyBoost)) 
+      !OK for TT, EE, TE but inaccurate for low l BB
+      !this induces high frequency ringing on very small scales
+    end if
+
+    call GetBessels(npoints*dtheta*CP%Max_l)
+
+    if (DebugMsgs) timeprev=GetTestTime()
+
+    dbessfac = dbessel**2/6
+
+    thread_ix = 1
+    !$ thread_ix = OMP_GET_MAX_THREADS()  
+    allocate(lens_contrib(4,lmax_lensed,thread_ix))
+
+    do in = 1, CP%InitPower%nn
+
+    do l=lmin,CP%Max_l
+     ! l^3 C_phi_phi/2/pi: Cl_scalar(l,1,C_Phi) is l^4 C_phi_phi
+       Cphil3(l) = Cl_scalar(l,in,C_Phi)/l /(2*pi)
+       fac = l/(2*pi)*2*pi/(l*(l+1))
+       CTT(l) =  Cl_scalar(l,in,C_Temp)*fac
+       CEE(l) =  Cl_scalar(l,in,C_E)*fac
+       CTE(l) =  Cl_scalar(l,in,C_Cross)*fac
+       lfacs(l) = l**2*0.5_dl
+    end do
+
+    if (Cphil3(10) > 1e-7) then
+     write (*,*) 'You need to normalize realistically to use lensing.'
+     write (*,*) 'see http://cosmocoffee.info/viewtopic.php?t=94'
+     stop
+    end if
+
+  lens_contrib=0
+
+  !$OMP PARALLEL DO DEFAULT(SHARED),  &
+  !$OMP PRIVATE(theta, sigmasq,cgl2,b_lo,a0,b0,fac,fac1,fac2), &
+  !$OMP PRIVATE(Bessel0,Bessel2,Bessel4,Bessel6), &
+  !$OMP PRIVATE(corr,expsig,C2term,T2,T4,i,l, thread_ix)     
+
+    do i=1,npoints-1
+
+      theta = i * dtheta 
+      sigmasq =0
+      Cgl2=0
+      fac = theta /dbessel
+     
+      do l=lmin,CP%Max_l
+
+!Interpolate the Bessel functions, and compute sigma^2 and C_{gl,2} 
+        b0 = l*fac
+        b_lo = int(b0) +1 
+        a0=  b_lo - b0                
+        b0=  1._dl - a0 
+        fac1 = a0*b0*dbessfac
+        fac2 = fac1*(a0-2)
+        fac1 = fac1*(b0-2)
+
+        Bessel0(l) = a0*Bess0(b_lo)+ b0*Bess0(b_lo+1) +fac1*ddBess0(b_lo) &
+                       +fac2*ddBess0(b_lo+1)
+        sigmasq = sigmasq + (1-Bessel0(l))*Cphil3(l) 
+
+
+        Bessel2(l) = a0*Bess2(b_lo)+ b0*Bess2(b_lo+1) +fac1*ddBess2(b_lo) &
+                      +fac2*ddBess2(b_lo+1)
+        Cgl2 =  Cgl2 + Bessel2(l)*Cphil3(l)
+
+        Bessel4(l) = a0*Bess4(b_lo)+ b0*Bess4(b_lo+1) +fac1*ddBess4(b_lo) &
+                      +fac2*ddBess4(b_lo+1)
+        Bessel6(l) = a0*Bess6(b_lo)+ b0*Bess6(b_lo+1) +fac1*ddBess6(b_lo) &
+                      +fac2*ddBess6(b_lo+1)
+
+      end do
+
+!Get difference between lensed and unlensed correlation function
+     corr = 0
+      do l=lmin,CP%Max_l
+!For 2nd order perturbative result use 
+!         expsig = 1 -sigmasq*l**2/2._dl
+!         C2term = l**2*Cgl2/2._dl
+          fac = sigmasq*lfacs(l)
+          expsig = exp(-fac) 
+          C2term = Cgl2*lfacs(l)
+!Put theta factor later  in here
+          fac1 = expsig*theta
+          fac2 = C2term*fac1
+          fac1 = fac1 - theta  !we want expsig-1 to get lensing difference
+
+          fac = fac1*Bessel0(l) + fac2*Bessel2(l) 
+
+          !TT
+          corr(1) = corr(1) + CTT(l) * fac                              
+
+          !Q + U
+          corr(2) = corr(2) + CEE(l) * fac                              
+          fac2 = fac2*0.5_dl
+          !Q-U
+          corr(3) = corr(3) + CEE(l) * &
+              (fac1*Bessel4(l) + fac2*(Bessel2(l)+Bessel6(l)))                               
+          !Cross
+          corr(4) = corr(4) + CTE(l) * &
+              (fac1*Bessel2(l) + fac2*(Bessel0(l)+Bessel4(l)))                               
+ 
+
+      end do
+
+      
+ !$   thread_ix = OMP_GET_THREAD_NUM()+1
+
+      do l=lmin, lmax_lensed
+       !theta factors were put in earlier (already in corr)
+       lens_contrib(C_Temp, l, thread_ix)= lens_contrib(C_Temp,l, thread_ix) + &
+                                          corr(1)*Bessel0(l) 
+       T2 = corr(2)*Bessel0(l)
+       T4 = corr(3)*Bessel4(l)
+       lens_contrib(CT_E,l,thread_ix)  = lens_contrib(CT_E,l, thread_ix) + T2+T4
+       lens_contrib(CT_B,l,thread_ix)  = lens_contrib(CT_B,l, thread_ix) + T2-T4
+       lens_contrib(CT_Cross,l, thread_ix) = lens_contrib(CT_Cross,l, thread_ix) + &
+                                              corr(4)*Bessel2(l)
+      end do
+
+     end do
+  !$OMP END PARALLEL DO
+     
+      do l=lmin, lmax_lensed
+       fac = l*(l+1)* 2*pi/OutputDenominator*dtheta
+       Cl_lensed(l,in,CT_Temp) = sum(lens_contrib(CT_Temp,l,:))*fac &
+                 + Cl_scalar(l,in,CT_Temp) 
+       Cl_lensed(l,in,CT_Cross) = sum(lens_contrib(CT_Cross,l,:))*fac &
+                 +Cl_scalar(l,in,C_Cross)
+       fac = fac /2 !(factor of 1/2 should have been in T2+/-T4 above           
+       Cl_lensed(l,in,CT_E) = sum(lens_contrib(CT_E,l,:))*fac &
+                 + Cl_scalar(l,in,CT_E) 
+       Cl_lensed(l,in,CT_B) = sum(lens_contrib(CT_B,l,:))*fac
+      end do
+
+      end do !loop over different initial power spectra
+     deallocate(lens_contrib)
+
+     if (DebugMsgs) write(*,*) GetTestTime()-timeprev, 'Time for corr lensing'
+
+end subroutine CorrFuncFlatSky
+
+subroutine BadHarmonic
+  use ModelParams
+  use ModelData
+  use lvalues
+  use InitialPower
+  integer maxl, i, in, almin, max_lensed_ix, maxl_phi
+  real(dl) , dimension (:,:,:), allocatable :: bare_cls
+  real(dl) pp(CP%InitPower%nn,CP%Max_l)
+  real(dl) asum(CP%InitPower%nn), RR(CP%InitPower%nn), roots(CP%Max_l)
+  real(dl) asum_TE(CP%InitPower%nn), asum_EE(CP%InitPower%nn), asum_BB(CP%InitPower%nn)
+  integer l1,l2,al,j, j1, k, hk, llp_1, llp_al, g1
+  real(dl)  F, fct
+  real(dl) g2l,g2l1, norm
+  real(dl) a3j(CP%Max_l*2+1), tF, expF
+  logical DoPol
+  real(dl) iContribs(lSamp%l0,CP%InitPower%nn, 1:4), intcontrib(lmin:lSamp%l(lSamp%l0))
+  real(dl) , dimension (:,:,:), allocatable :: iCl_lensed
+  integer max_j_contribs
+
+  real(sp) timeprev
+    
+!Otherwise use second order perturbative harmonic method
+
+  if (DebugMsgs) timeprev=GetTestTime()
+
+  DoPol = CP%AccuratePolarization
+
+  maxl = CP%Max_l
+ 
+  if (allocated(Cl_lensed)) deallocate(Cl_lensed)
+
+
+  allocate(bare_cls(CP%InitPower%nn,maxl,1:4))
+  
+  RR = 0
+  do j=lmin,maxl
+     norm = OutputDenominator/(j*(j+1))
+     if (lensing_includes_tensors .and. CP%WantTensors .and. j<= CP%Max_l_tensor) then !Use total Cls
+      bare_cls(:,j,CT_Temp:CT_E) = (Cl_scalar(j,:,C_Temp:C_E) + &
+           Cl_tensor(j,:,CT_Temp:CT_E))*norm
+      bare_cls(:,j,CT_B) = Cl_tensor(j,:,CT_B)*norm
+      bare_cls(:,j,CT_Cross) =  (Cl_scalar(j,:,C_Cross) + &
+          Cl_tensor(j,:,CT_Cross))*norm
+     else
+      bare_cls(:,j,CT_Temp:CT_E) = Cl_scalar(j,:,C_Temp:C_E)*norm
+      bare_cls(:,j,CT_B) = 0
+      bare_cls(:,j,CT_Cross) =  Cl_scalar(j,:,C_Cross)*norm
+     end if
+     pp(:,j) = Cl_scalar(j,:,C_Phi)/real(j**2,dl)**2
+     RR = RR + j*(j+1)*real(2*j+1,dl)*pp(:,j)
+     roots(j) = sqrt(real(2*j+1,dl))
+  end do
+
+  RR = RR/2/fourpi
+  if (RR(1) > 1e-5) then
+     write (*,*) 'You need to normalize realistically to use lensing.'
+     write (*,*) 'see http://cosmocoffee.info/viewtopic.php?t=94'
+   stop
+  end if
+  if (maxl > lmax_donelnfa) then 
+   !Get ln factorials
+   if (allocated(lnfa)) deallocate(lnfa)
+   allocate(lnfa(0:maxl*3+1))
+   lmax_donelnfa = maxl 
+   lnfa(0) = 0
+   do i=1,CP%Max_l*3+1 
+     lnfa(i)=lnfa(i-1) + log(real(i,dl))
+   end do
+  end if
+   
+  max_lensed_ix = lSamp%l0-1
+  do while(lSamp%l(max_lensed_ix) > maxl -250)
+     max_lensed_ix = max_lensed_ix -1
+  end do
+  lmax_lensed = lSamp%l(max_lensed_ix)
+
+  allocate(iCl_lensed(max_lensed_ix, CP%InitPower%nn, 1:4))
+
+  max_j_contribs = lSamp%l0-1
+  if (.not. DoPol) then
+           maxl_phi = min(maxl,nint(max(600,(maxl*2)/5)*scale*AccuracyBoost))
+           do while (lSamp%l(max_j_contribs) > maxl_phi)
+              max_j_contribs=max_j_contribs-1
+           end do
+  end if
+
+  !$OMP PARALLEL DO DEFAULT(SHARED), SCHEDULE(DYNAMIC), SHARED(max_j_contribs) &
+  !$OMP PRIVATE(al,g1,llp_al,llp_1,g2l,asum,l1,g2l1,l2,k,hk,F,fct,almin), &
+  !$OMP PRIVATE(asum_EE,asum_BB,asum_TE,expF,tF, a3j, iContribs,in,intcontrib)
+  do j=max_lensed_ix,1,-1  
+     !Only compute lensed spectra at lSamp%l(j). Start with slow ones.
+     
+     al=lSamp%l(j)
+
+     llp_al = al*(al+1)
+     g2l=sqrt((2*al+1)/fourpi)
+
+     asum = 0
+     asum_EE = 0
+     asum_BB = 0
+     asum_TE = 0
+
+   
+     do j1 = 1, max_j_contribs
+        !  Contributions to C_al are a smooth function of l_1 - so interpolate
+        l1=lSamp%l(j1)
+
+        llp_1 = l1*(l1+1)
+        g2l1=roots(l1)
+
+        almin = max(abs(al-l1),2)
+
+        if (DoPol) then
+          call GetThreeJs(a3j(almin),l1,al,0,2)
+          do l2= almin, min(maxl,al+l1)
+              g1 = llp_1+l2*(l2+1)-llp_al
+              if (g1 == 0 ) cycle
+
+              k=al+l1+l2
+              fct=g1*g2l*g2l1*roots(l2)/2
+              tF = fct*a3j(l2)
+
+              if (mod(k,2)==0) then
+
+                 hk = k/2
+                 F = lnfa(hk)-lnfa(hk-al)-lnfa(hk-l1)-lnfa(hk-l2)+(lnfa(k-2*al)+lnfa(k-2*l1)&
+                  & +lnfa(k-2*l2)-lnfa(k+1))/2
+                 
+                 expF = exp(F)
+
+                 asum=asum + bare_cls(:,l2,C_Temp)*(expF*fct)**2
+        
+                 asum_EE = asum_EE + bare_cls(:,l2,CT_E)*tF**2
+                 asum_BB = asum_BB + bare_cls(:,l2,CT_B)*tF**2
+                 if (mod(hk,2)/=0) tF=-tF
+                 asum_TE = asum_TE + bare_cls(:,l2,CT_Cross)*expF*fct*tF
+
+              else
+                
+                 asum_BB = asum_BB + bare_cls(:,l2,CT_E)*tF**2
+                 asum_EE = asum_EE +bare_cls(:,l2,CT_B)*tF**2 
+
+              end if
+              
+          end do
+
+        else !No polarization
+          do l2= almin +mod(al+l1+almin,2),min(maxl,al+l1), 2 
+             !Only do lSamp%l's where al + l1 + l2 is even
+             
+              g1 = llp_1+l2*(l2+1)-llp_al
+            
+              if (g1 == 0 ) cycle  !Contribution is zero
+
+              k=al+l1+l2
+              hk=k/2
+           
+              fct=g1*g2l*g2l1*roots(l2)/2
+              expF = exp(2*(lnfa(hk)-lnfa(hk-al)-lnfa(hk-l1)-lnfa(hk-l2))+lnfa(k-2*al)+lnfa(k-2*l1)&
+                  & +lnfa(k-2*l2)-lnfa(k+1))
+              asum=asum + bare_cls(:,l2,CT_Temp)*expF *fct**2
+          
+          end do
+          end if !No polarization
+
+
+             iContribs(j1,:,CT_Temp) = asum*pp(:,l1)
+             if (DoPol) then
+                iContribs(j1,:,CT_E) = asum_EE*pp(:,l1)
+                iContribs(j1,:,CT_B) = asum_BB*pp(:,l1)
+                iContribs(j1,:,CT_Cross) = asum_TE*pp(:,l1)
+             end if
+             asum = 0
+             asum_EE = 0
+             asum_BB = 0
+             asum_TE = 0
+
+        
+       end do
+
+          
+       !Interpolate contributions to sum and add up
+         do in=1, CP%InitPower%nn
+          
+            call InterpolateClArr(lSamp,iContribs(1,in,CT_Temp),intcontrib,max_j_contribs)
+            asum(in) = sum(intcontrib(lmin:lSamp%l(max_j_contribs)))
+            if (DoPol) then
+               call InterpolateClArr(lSamp,iContribs(1,in,CT_E),intcontrib,max_j_contribs)
+               asum_EE(in) = sum(intcontrib(lmin:lSamp%l(max_j_contribs)))
+               call InterpolateClArr(lSamp,iContribs(1,in,CT_B),intcontrib,max_j_contribs)
+               asum_BB(in) = sum(intcontrib(lmin:lSamp%l(max_j_contribs)))
+               call InterpolateClArr(lSamp,iContribs(1,in,CT_Cross),intcontrib,max_j_contribs)
+               asum_TE(in) = sum(intcontrib(lmin:lSamp%l(max_j_contribs)))
+            end if
+         end do
+
+     iCl_lensed(j,:,CT_Temp) =  ((1-al*(al+1)*RR)*bare_cls(:,al,CT_Temp)  & !Linear part
+              + asum/(2*al+1))*llp_al/OutputDenominator !add quadratic part and *l(l+1)/2pi
+     if (DoPol) then
+        iCl_lensed(j,:,CT_E) = ((1-(al**2+al-4)*RR)*bare_cls(:,al,CT_E)  & 
+              + asum_EE/(2*al+1))*llp_al/OutputDenominator
+        iCl_lensed(j,:,CT_B) = ((1-(al**2+al-4)*RR)*bare_cls(:,al,CT_B)  & 
+              + asum_BB/(2*al+1))*llp_al/OutputDenominator
+        iCl_lensed(j,:,CT_Cross) =  ((1-(al**2+al-2)*RR)*bare_cls(:,al,CT_Cross) &
+                + asum_TE/(2*al+1))*llp_al/OutputDenominator
+
+     else
+        iCl_lensed(j,:,CT_E:CT_Cross) = bare_cls(:,al,CT_E:CT_Cross)
+     end if
+
+  end do
+  !$OMP END PARALLEL DO
+
+  deallocate(bare_cls)
+
+  allocate(Cl_lensed(lmin:lmax_lensed,CP%InitPower%nn,1:4))
+
+  !Interpolate to get final spectrum
+  do in=1, CP%InitPower%nn
+     do j = CT_Temp, CT_Cross
+      call InterpolateClArr(lSamp,iCl_lensed(1,in,j),Cl_lensed(lmin, in, j),max_lensed_ix)
+     end do
+  end do
+
+  deallocate(iCl_lensed)
+
+  if (DebugMsgs) then
+        if (FeedbackLevel>0) write(*,*) GetTestTime()-timeprev,' Timing for lensing'
+   end if
+
+end subroutine BadHarmonic
+
+      subroutine GetBessels(MaxArg)
+       real(dl), intent(in):: MaxArg
+       integer i
+       real(dl), allocatable, dimension(:) :: x
+       integer max_bes_ix
+       integer, save :: last_max = 0
+
+       max_bes_ix = nint(MaxArg / dbessel) + 3
+       if (max_bes_ix > last_max) then
+           last_max = max_bes_ix
+           if (allocated(Bess0)) then
+             deallocate(Bess0,ddBess0)
+             deallocate(Bess2,ddBess2)
+             deallocate(Bess4,ddBess4)
+             deallocate(Bess6,ddBess6)
+           end if
+           allocate(Bess0(max_bes_ix),ddBess0(max_bes_ix))
+           allocate(Bess2(max_bes_ix),ddBess2(max_bes_ix))
+           allocate(Bess4(max_bes_ix),ddBess4(max_bes_ix))
+           allocate(Bess6(max_bes_ix),ddBess6(max_bes_ix))
+
+           allocate(x(max_bes_ix))
+           Bess0(1)=1
+           Bess2(1)=0; Bess4(1)=0; Bess6(1)=0
+           x(1)=0
+           do i=2, max_bes_ix
+             x(i) = (i-1)*dbessel
+             Bess0(i) = Bessj0(x(i)) 
+             Bess2(i) = Bessj(2,x(i)) 
+             Bess4(i) = Bessj(4,x(i)) 
+             Bess6(i) = Bessj(6,x(i)) 
+           end do 
+           call spline(x,Bess0,max_bes_ix,spl_large,spl_large,ddBess0)
+           call spline(x,Bess2,max_bes_ix,spl_large,spl_large,ddBess2)
+           call spline(x,Bess4,max_bes_ix,spl_large,spl_large,ddBess4)
+           call spline(x,Bess6,max_bes_ix,spl_large,spl_large,ddBess6)
+
+           deallocate(x)
+       end if
+
+      end subroutine GetBessels
+
+
+
+      FUNCTION bessj0(x)
+      real(dl) bessj0,x
+      real(dl) ax,xx,z
+      real(dl) p1,p2,p3,p4,p5,q1,q2,q3,q4,q5,r1,r2,r3,r4,r5,r6, &
+        s1,s2,s3,s4,s5,s6,y
+      SAVE p1,p2,p3,p4,p5,q1,q2,q3,q4,q5,r1,r2,r3,r4,r5,r6,s1,s2,s3,s4, &
+       s5,s6
+      DATA p1,p2,p3,p4,p5/1.d0,-.1098628627d-2,.2734510407d-4, &
+      -.2073370639d-5,.2093887211d-6/, q1,q2,q3,q4,q5/-.1562499995d-1, &
+      .1430488765d-3,-.6911147651d-5,.7621095161d-6,-.934945152d-7/
+      DATA r1,r2,r3,r4,r5,r6/57568490574.d0,-13362590354.d0, &
+       651619640.7d0,-11214424.18d0,77392.33017d0,-184.9052456d0/,s1,s2, &
+       s3,s4,s5,s6/57568490411.d0,1029532985.d0,9494680.718d0, &
+       59272.64853d0,267.8532712d0,1.d0/
+
+      if(abs(x).lt.8.d0)then
+        y=x**2
+        bessj0=(r1+y*(r2+y*(r3+y*(r4+y*(r5+y*r6)))))/(s1+y*(s2+y*(s3+y* &
+          (s4+y*(s5+y*s6)))))
+      else
+        ax=abs(x)
+        z=8.d0/ax
+        y=z**2
+        xx=ax-.785398164d0
+        bessj0=sqrt(.636619772d0/ax)*(cos(xx)*(p1+y*(p2+y*(p3+y*(p4+y* &
+           p5))))-z*sin(xx)*(q1+y*(q2+y*(q3+y*(q4+y*q5)))))
+      endif
+!  (C) Copr. 1986-92 Numerical Recipes Software
+
+      END FUNCTION bessj0
+
+
+
+      FUNCTION BESSJ1(X)
+      real(dl), intent(in) :: x
+      real(dl) bessj1,ax,z,xx
+      real(dl) Y,P1,P2,P3,P4,P5,Q1,Q2,Q3,Q4,Q5,R1,R2,R3,R4,R5, &
+         R6,S1,S2,S3,S4,S5,S6
+      DATA R1,R2,R3,R4,R5,R6/72362614232.D0,-7895059235.D0,242396853.1D0,&
+         -2972611.439D0,15704.48260D0,-30.16036606D0/, &
+         S1,S2,S3,S4,S5,S6/144725228442.D0,2300535178.D0, &
+         18583304.74D0,99447.43394D0,376.9991397D0,1.D0/
+      DATA P1,P2,P3,P4,P5/1.D0,.183105D-2,-.3516396496D-4,.2457520174D-5, & 
+         -.240337019D-6/, Q1,Q2,Q3,Q4,Q5/.04687499995D0,-.2002690873D-3, &     
+         .8449199096D-5,-.88228987D-6,.105787412D-6/
+      IF(ABS(X).LT.8.)THEN
+        Y=X**2
+        BESSJ1=X*(R1+Y*(R2+Y*(R3+Y*(R4+Y*(R5+Y*R6))))) &
+           /(S1+Y*(S2+Y*(S3+Y*(S4+Y*(S5+Y*S6)))))
+      ELSE
+        AX=ABS(X)
+        Z=8.0d0/AX
+        Y=Z**2
+        XX=AX-2.356194491d0
+        BESSJ1=SQRT(.636619772d0/AX)*(COS(XX)*(P1+Y*(P2+Y*(P3+Y*(P4+Y &
+           *P5))))-Z*SIN(XX)*(Q1+Y*(Q2+Y*(Q3+Y*(Q4+Y*Q5))))) &
+           *SIGN(1._dl,x)
+      ENDIF
+
+      END FUNCTION BESSJ1
+
+
+      FUNCTION BESSJ(N,X)
+      real(dl) bessj
+      real(dl), intent(in) :: x
+      integer, intent(in) :: n
+      integer, parameter :: IACC = 40
+      real(dl), parameter :: BIGNO=1.d10,BIGNI=1.d-10
+      integer jsum,j,m
+      real(dl) bj,bjm, bjp, tox, sum
+      
+      IF(N.LT.2)STOP 'bad argument N in BESSJ'
+
+      TOX=2/X
+      IF(X.GT.FLOAT(N))THEN
+        BJM=BESSJ0(X)
+        BJ=BESSJ1(X)
+        DO J=1,N-1
+          BJP=J*TOX*BJ-BJM
+          BJM=BJ
+          BJ=BJP
+        END DO
+        BESSJ=BJ
+      ELSE
+        M=2*((N+INT(SQRT(FLOAT(IACC*N))))/2)
+        BESSJ=0.0d0
+        JSUM=0
+        SUM=0._dl
+        BJP=0._dl
+        BJ=1._dl
+        DO J=M,1,-1
+          BJM=J*TOX*BJ-BJP
+          BJP=BJ
+          BJ=BJM
+          IF(ABS(BJ).GT.BIGNO)THEN
+            BJ=BJ*BIGNI
+            BJP=BJP*BIGNI
+            BESSJ=BESSJ*BIGNI
+            SUM=SUM*BIGNI
+          ENDIF
+          IF(JSUM.NE.0)SUM=SUM+BJ
+          JSUM=1-JSUM
+          IF(J.EQ.N)BESSJ=BJP
+        end do
+        SUM=2.*SUM-BJ
+        BESSJ=BESSJ/SUM
+      ENDIF
+      END FUNCTION BESSJ
+
+! ----------------------------------------------------------------------
+! Auxiliary Bessel functions for N=0, N=1
+      FUNCTION BESSI0(X)
+      double precision X,BESSI0,Y,P1,P2,P3,P4,P5,P6,P7,  &
+      Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,AX,BX
+      DATA P1,P2,P3,P4,P5,P6,P7/1.D0,3.5156229D0,3.0899424D0,1.2067429D0,  &
+      0.2659732D0,0.360768D-1,0.45813D-2/
+      DATA Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9/0.39894228D0,0.1328592D-1, &
+      0.225319D-2,-0.157565D-2,0.916281D-2,-0.2057706D-1,  &
+      0.2635537D-1,-0.1647633D-1,0.392377D-2/
+      IF(ABS(X).LT.3.75D0) THEN
+      Y=(X/3.75D0)**2
+      BESSI0=P1+Y*(P2+Y*(P3+Y*(P4+Y*(P5+Y*(P6+Y*P7)))))
+      ELSE
+      AX=ABS(X)
+      Y=3.75D0/AX
+      BX=EXP(AX)/SQRT(AX)
+      AX=Q1+Y*(Q2+Y*(Q3+Y*(Q4+Y*(Q5+Y*(Q6+Y*(Q7+Y*(Q8+Y*Q9)))))))
+      BESSI0=AX*BX
+      ENDIF
+      RETURN
+      END FUNCTION BESSI0
+! ----------------------------------------------------------------------
+      FUNCTION BESSI1(X)
+      double precision X,BESSI1,Y,P1,P2,P3,P4,P5,P6,P7,  &
+      Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,AX,BX
+      DATA P1,P2,P3,P4,P5,P6,P7/0.5D0,0.87890594D0,0.51498869D0,  &
+      0.15084934D0,0.2658733D-1,0.301532D-2,0.32411D-3/
+      DATA Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9/0.39894228D0,-0.3988024D-1, &
+      -0.362018D-2,0.163801D-2,-0.1031555D-1,0.2282967D-1, &
+      -0.2895312D-1,0.1787654D-1,-0.420059D-2/
+      IF(ABS(X).LT.3.75D0) THEN
+      Y=(X/3.75D0)**2
+      BESSI1=X*(P1+Y*(P2+Y*(P3+Y*(P4+Y*(P5+Y*(P6+Y*P7))))))
+      ELSE
+      AX=ABS(X)
+      Y=3.75D0/AX
+      BX=EXP(AX)/SQRT(AX)
+      AX=Q1+Y*(Q2+Y*(Q3+Y*(Q4+Y*(Q5+Y*(Q6+Y*(Q7+Y*(Q8+Y*Q9)))))))
+      BESSI1=AX*BX
+      ENDIF
+      RETURN
+      END FUNCTION BESSI1
+
+
+      FUNCTION BESSI(N,X)
+      !from http://perso.orange.fr/jean-pierre.moreau/Fortran/tbessi_f90.txt
+!
+!     This subroutine calculates the first kind modified Bessel function
+!     of integer order N, for any REAL X. We use here the classical
+!     recursion formula, when X > N. For X < N, the Miller's algorithm
+!     is used to avoid overflows. 
+!     REFERENCE:
+!     C.W.CLENSHAW, CHEBYSHEV SERIES FOR MATHEMATICAL FUNCTIONS,
+!     MATHEMATICAL TABLES, VOL.5, 1962.
+      integer, intent(in) :: N
+      integer, PARAMETER :: IACC = 40
+      integer m,j
+      double precision, parameter ::  BIGNO = 1.D10, BIGNI = 1.D-10
+      double precision X,BESSI,TOX,BIM,BI,BIP
+      IF (N.EQ.0) THEN
+      BESSI = BESSI0(X)
+      RETURN
+      ENDIF
+      IF (N.EQ.1) THEN
+      BESSI = BESSI1(X)
+      RETURN
+      ENDIF
+      IF(X.EQ.0.D0) THEN
+      BESSI=0.D0
+      RETURN
+      ENDIF
+      TOX = 2.D0/X
+      BIP = 0.D0
+      BI  = 1.D0
+      BESSI = 0.D0
+      M = 2*((N+INT(SQRT(FLOAT(IACC*N)))))
+      DO J = M,1,-1
+      BIM = BIP+ J*TOX*BI
+      BIP = BI
+      BI  = BIM
+      IF (ABS(BI).GT.BIGNO) THEN
+      BI  = BI*BIGNI
+      BIP = BIP*BIGNI
+      BESSI = BESSI*BIGNI
+      ENDIF
+      IF (J.EQ.N) BESSI = BIP
+      END DO
+      BESSI = BESSI*BESSI0(X)/BI
+      RETURN
+      END FUNCTION BESSI
+
+
+end module lensing
+
diff --git a/modules.f90 b/modules.f90
new file mode 100644
index 0000000..d2a518a
--- /dev/null
+++ b/modules.f90
@@ -0,0 +1,2929 @@
+    ! Modules used by cmbmain and other routines.
+
+    !     Code for Anisotropies in the Microwave Background
+    !     by Antony Lewis (http://cosmologist.info) and Anthony Challinor
+    !     See readme.html for documentation.
+    !
+    !     Based on CMBFAST  by  Uros Seljak and Matias Zaldarriaga, itself based
+    !     on Boltzmann code written by Edmund Bertschinger, Chung-Pei Ma and Paul Bode.
+    !     Original CMBFAST copyright and disclaimer:
+    !
+    !     Copyright 1996 by Harvard-Smithsonian Center for Astrophysics and
+    !     the Massachusetts Institute of Technology.  All rights reserved.
+    !
+    !     THIS SOFTWARE IS PROVIDED "AS IS", AND M.I.T. OR C.f.A. MAKE NO
+    !     REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED.
+    !     By way of example, but not limitation,
+    !     M.I.T. AND C.f.A MAKE NO REPRESENTATIONS OR WARRANTIES OF
+    !     MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
+    !     THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
+    !     ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+    !
+    !     portions of this software are based on the COSMICS package of
+    !     E. Bertschinger.  See the LICENSE file of the COSMICS distribution
+    !     for restrictions on the modification and distribution of this software.
+
+
+    module ModelParams
+    use precision
+    use Ranges
+    use InitialPower
+    use Reionization
+    use Recombination
+    use Errors
+
+    implicit none
+    public
+
+    character(LEN=*), parameter :: version = 'Nov13'
+
+    integer :: FeedbackLevel = 0 !if >0 print out useful information about the model
+
+    logical, parameter :: DebugMsgs=.false. !Set to true to view progress and timing
+
+    logical, parameter :: DebugEvolution = .false. !Set to true to do all the evolution for all k
+
+    real(dl) :: DebugParam = 0._dl !not used but read in, useful for parameter-dependent tests
+
+    logical ::  do_bispectrum  = .false.
+    logical, parameter :: hard_bispectrum = .false. ! e.g. warm inflation where delicate cancellations
+
+    logical, parameter :: full_bessel_integration = .false. !(go into the tails when calculating the sources)
+
+    integer, parameter :: Nu_int = 0, Nu_trunc=1, Nu_approx = 2, Nu_best = 3
+    !For CAMBparams%MassiveNuMethod
+    !Nu_int: always integrate distribution function
+    !Nu_trunc: switch to expansion in velocity once non-relativistic
+    !Nu_approx: approximate scheme - good for CMB, but not formally correct and no good for matter power
+    !Nu_best: automatically use mixture which is fastest and most accurate
+
+    integer, parameter :: max_Nu = 5 !Maximum number of neutrino species
+    integer, parameter :: max_transfer_redshifts = 500 ! COSMOSIS - alter number of transfer redshifts 
+!    integer, parameter :: max_transfer_redshifts = 150
+    integer, parameter :: fileio_unit = 13 !Any number not used elsewhere will do
+    integer, parameter :: outNone=1
+    
+    
+    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    !!! Ultra-light axion parameters
+    !
+    !DM
+	!Size of axion integration array (number of time slices for homogeneous scalar field evolution)   
+    integer, parameter :: ntable =5000 ! RH added this so it is callable everywhere
+    !Number of scalar initial conditions to try to build a cubic spline
+    !and thus determine correct initial condition for scalar field evolution
+    integer, parameter:: nphi = 150
+	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+    integer :: max_bessels_l_index  = 1000000
+    real(dl) :: max_bessels_etak = 1000000*2
+
+    real(dl), parameter ::  OutputDenominator =twopi
+    !When using outNone the output is l(l+1)Cl/OutputDenominator
+
+    Type(Regions) :: TimeSteps
+
+    type TransferParams
+        logical     ::  high_precision
+        integer     ::  num_redshifts
+        real(dl)    ::  kmax         !these are acutally q values, but same as k for flat
+        integer     ::  k_per_logint ! ..
+        real(dl)    ::  redshifts(max_transfer_redshifts)
+        !JD 08/13 Added so both NL lensing and PK can be run at the same time
+        real(dl)    ::  PK_redshifts(max_transfer_redshifts)
+        real(dl)    ::  NLL_redshifts(max_transfer_redshifts)
+        integer     ::  PK_redshifts_index(max_transfer_redshifts)
+        integer     ::  NLL_redshifts_index(max_transfer_redshifts)
+        integer     ::  PK_num_redshifts
+        integer     ::  NLL_num_redshifts
+
+    end type TransferParams
+
+    !other variables, options, derived variables, etc.
+
+    integer, parameter :: NonLinear_none=0, NonLinear_Pk =1, NonLinear_Lens=2
+    integer, parameter :: NonLinear_both=3  !JD 08/13 added so both can be done
+
+    ! Main parameters type
+    type CAMBparams
+
+    logical   :: WantCls, WantTransfer
+    logical   :: WantScalars, WantTensors, WantVectors
+    logical   :: DoLensing
+    logical   :: want_zstar, want_zdrag     !!JH for updated BAO likelihood.
+    logical   :: PK_WantTransfer             !JD 08/13 Added so both NL lensing and PK can be run at the same time
+    integer   :: NonLinear
+    logical   :: Want_CMB
+
+    integer   :: Max_l, Max_l_tensor
+    real(dl)  :: Max_eta_k, Max_eta_k_tensor
+    ! _tensor settings only used in initialization,
+    !Max_l and Max_eta_k are set to the tensor variables if only tensors requested
+
+    real(dl)  :: omegab, omegac, omegav, omegan, omegaax, ma, a_osc, omegah2_rad,  axfrac, omegada 
+    !Omega baryon, CDM, Lambda and massive neutrino and axions and masses    
+    real(dl)  :: H0,TCMB,yhe,Num_Nu_massless
+    real(dl)  :: ratio
+    integer   :: Num_Nu_massive !sum of Nu_mass_numbers below
+    integer   :: Nu_mass_eigenstates  !1 for degenerate masses
+    logical   :: share_delta_neff !take fractional part to heat all eigenstates the same
+    real(dl)  :: Nu_mass_degeneracies(max_nu)
+    real(dl)  :: Nu_mass_fractions(max_nu) !The ratios of the total densities
+    integer   :: Nu_mass_numbers(max_nu) !physical number per eigenstate
+
+    integer   :: Scalar_initial_condition
+    !must be one of the initial_xxx values defined in GaugeInterface
+
+    integer   :: OutputNormalization
+    !outNone, or C_OutputNormalization=1 if > 1
+
+    logical   :: use_axfrac
+    logical   :: AccuratePolarization
+    !Do you care about the accuracy of the polarization Cls?
+
+    logical   :: AccurateBB
+    !Do you care about BB accuracy (e.g. in lensing)
+
+    !Reionization settings - used if Reion%Reionization=.true.
+    logical   :: AccurateReionization
+    !Do you care about pecent level accuracy on EE signal from reionization?
+
+    integer   :: MassiveNuMethod
+
+    type(InitialPowerParams) :: InitPower  !see power_tilt.f90 - you can change this
+    type(ReionizationParams) :: Reion
+    type(RecombinationParams):: Recomb
+    type(TransferParams)     :: Transfer
+
+    real(dl) ::  InitialConditionVector(1:10) !Allow up to 10 for future extensions
+    !ignored unless Scalar_initial_condition == initial_vector
+
+    logical OnlyTransfers !Don't use initial power spectrum data, instead get Delta_q_l array
+    !If true, sigma_8 is not calculated either
+
+    logical DerivedParameters !calculate various derived parameters  (ThermoDerivedParams)
+
+    !Derived parameters, not set initially
+    type(ReionizationHistory) :: ReionHist
+
+    logical flat,closed,open
+    real(dl) omegak, omegar, grhor
+    real(dl) curv,r, Ksign !CP%r = 1/sqrt(|CP%curv|), CP%Ksign = 1,0 or -1
+    real(dl) tau0,chi0 !time today and rofChi(CP%tau0/CP%r)
+    !!!!!!!!!!!!!!!!!!!!!! 
+	!Some more Ultra-light axion parameters       
+    !
+    !Scalar field EOS, log10(density), log10(scale_factor), spline buffer for scalar field EOS
+    !and log10(density)
+    !
+    real(dl) :: wax_table(ntable), grhoax_table(ntable) ,loga_table(ntable),wax_table_buff(ntable),grhoax_table_buff(ntable)
+  	!Adiabatic sound speed Pdot/rhodot and its spline buffer
+    real(dl) ::cs2_table(ntable),cs2_table_buff(ntable)
+    real(dl) :: phiinit,aeq, ainit, lens_amp,drefp_hsq
+    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    
+ end type CAMBparams
+
+    type(CAMBparams) CP  !Global collection of parameters
+
+    real(dl) scale !relative to CP%flat. e.g. for scaling lSamp%l sampling.
+
+    logical ::call_again = .false.
+    !if being called again with same parameters to get different thing
+
+    !     grhom =kappa*a^2*rho_m0
+    !     grhornomass=grhor*number of massless neutrino species
+    !     taurst,taurend - time at start/end of recombination
+    !     dtaurec - dtau during recombination
+    !     adotrad - a(tau) in radiation era
+
+    real(dl) grhom,grhog,grhor,grhob,grhoc,grhov,grhornomass,grhok
+    real(dl) taurst,dtaurec,taurend, tau_maxvis,adotrad
+
+    !Neutrinos
+    real(dl) grhormass(max_nu)
+
+    !     nu_masses=m_nu*c**2/(k_B*T_nu0)
+    real(dl) :: nu_masses(max_nu)
+    
+    
+    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    !Some more Ultra-light axion variables
+    !Axions  log10 density today, a_osc =a when m=dfac*H (see background module
+    !axion background.f90, drefp_hsq=axion density (not log) in same units
+    !when a=a_osc -- allows simple a^-3 scaling to be applied throughout code
+    real(dl) grhoax,a_osc,drefp_hsq
+    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    
+    !!!!!!!!!!!!!!!!!!!!
+    real(dl) akthom !sigma_T * (number density of protons now)
+    real(dl) fHe !n_He_tot / n_H_tot
+    real(dl) Nnow
+
+
+    integer :: ThreadNum = 0
+    !If zero assigned automatically, obviously only used if parallelised
+
+    !Parameters for checking/changing overall accuracy
+    !If HighAccuracyDefault=.false., the other parameters equal to 1 corresponds to ~0.3% scalar C_l accuracy
+    !If HighAccuracyDefault=.true., the other parameters equal to 1 corresponds to ~0.1% scalar C_l accuracy (at L>600)
+    logical :: HighAccuracyDefault = .false.
+
+    real(dl) :: lSampleBoost=1._dl
+    !Increase lSampleBoost to increase sampling in lSamp%l for Cl interpolation
+
+    real(dl) :: AccuracyBoost =1._dl
+
+    !Decrease step sizes, etc. by this parameter. Useful for checking accuracy.
+    !Can also be used to improve speed significantly if less accuracy is required.
+    !or improving accuracy for extreme models.
+    !Note this does not increase lSamp%l sampling or massive neutrino q-sampling
+
+    real(sp) :: lAccuracyBoost=1.
+    !Boost number of multipoles integrated in Boltzman heirarchy
+
+    integer :: limber_phiphi = 0 !for l>limber_phiphi use limber approx for lensing potential
+    integer :: num_redshiftwindows = 0
+    integer :: num_extra_redshiftwindows = 0
+
+    integer, parameter :: lmin = 2
+    !must be either 1 or 2
+
+    real(dl), parameter :: OmegaKFlat = 5e-7_dl !Value at which to use flat code
+
+    real(dl),parameter :: tol=1.0d-4 !Base tolerance for integrations
+
+    !     used as parameter for spline - tells it to use 'natural' end values
+    real(dl), parameter :: spl_large=1.e40_dl
+
+    integer, parameter:: l0max=4000
+
+    !     lmax is max possible number of l's evaluated
+    integer, parameter :: lmax_arr = l0max
+
+    character(LEN=1024) :: highL_unlensed_cl_template = 'HighLExtrapTemplate_lenspotentialCls.dat'
+    !fiducial high-accuracy high-L C_L used for making small cosmology-independent numerical corrections
+    !to lensing and C_L interpolation. Ideally close to models of interest, but dependence is weak.
+    logical :: use_spline_template = .true.
+    integer, parameter :: lmax_extrap_highl = 8000
+    real(dl), allocatable :: highL_CL_template(:,:)
+
+    integer, parameter :: derived_age=1, derived_zstar=2, derived_rstar=3, derived_thetastar=4,derived_zdrag=5, &
+    derived_rdrag=6,derived_kD=7,derived_thetaD=8 , derived_zEQ =9, derived_thetaEQ=10
+    integer, parameter :: nthermo_derived = 10
+
+    real(dl) ThermoDerivedParams(nthermo_derived)
+
+    Type TBackgroundOutputs
+        real(dl), pointer :: z_outputs(:) => null()
+        real(dl), allocatable :: H(:), DA(:), rs_by_D_v(:)
+    end Type TBackgroundOutputs
+
+    Type(TBackgroundOutputs), save :: BackgroundOutputs
+
+    contains
+
+
+    subroutine CAMBParams_Set(P, error, DoReion)
+    use constants
+    type(CAMBparams), intent(in) :: P
+    real(dl) GetOmegak, fractional_number, conv
+    integer, optional :: error !Zero if OK
+    logical, optional :: DoReion
+    logical WantReion
+    integer nu_i,actual_massless
+    real(dl) nu_massless_degeneracy, neff_i
+    external GetOmegak
+    real(dl), save :: last_tau0
+    !Constants in SI units
+    real clock_start, clock_stop ! RH timing
+    global_error_flag = 0
+
+     call cpu_time(clock_start) ! RH timing  
+    if ((P%WantTensors .or. P%WantVectors).and. P%WantTransfer .and. .not. P%WantScalars) then
+        call GlobalError( 'Cannot generate tensor C_l and transfer without scalar C_l',error_unsupported_params)
+    end if
+
+    if (present(error)) error = global_error_flag
+    if (global_error_flag/=0) return
+
+    if (present(DoReion)) then
+        WantReion = DoReion
+    else
+        WantReion = .true.
+    end if
+
+    CP=P
+    if (call_again) CP%DerivedParameters = .false.
+
+    CP%Max_eta_k = max(CP%Max_eta_k,CP%Max_eta_k_tensor)
+
+    if (CP%WantTransfer) then
+        CP%WantScalars=.true.
+        if (.not. CP%WantCls) then
+            CP%AccuratePolarization = .false.
+            CP%Reion%Reionization = .false.
+        end if
+    else
+        CP%transfer%num_redshifts=0
+    end if
+
+    if (CP%Num_Nu_Massive /= sum(CP%Nu_mass_numbers(1:CP%Nu_mass_eigenstates))) then
+        if (sum(CP%Nu_mass_numbers(1:CP%Nu_mass_eigenstates))/=0) stop 'Num_Nu_Massive is not sum of Nu_mass_numbers'
+    end if
+    if (CP%Omegan == 0 .and. CP%Num_Nu_Massive /=0) then
+       print*, 'we are where omeganuh2=0 but we still have massive neutrinos; inside modules', CP%Num_Nu_Massive
+        if (CP%share_delta_neff) then
+            CP%Num_Nu_Massless = CP%Num_Nu_Massless + CP%Num_Nu_Massive
+        else
+            CP%Num_Nu_Massless = CP%Num_Nu_Massless + sum(CP%Nu_mass_degeneracies(1:CP%Nu_mass_eigenstates))
+        end if
+        CP%Num_Nu_Massive  = 0
+        CP%Nu_mass_numbers = 0
+    end if
+
+    nu_massless_degeneracy = CP%Num_Nu_massless !N_eff for massless neutrinos
+    if (CP%Num_nu_massive > 0) then
+        if (CP%Nu_mass_eigenstates==0) stop 'Have Num_nu_massive>0 but no nu_mass_eigenstates'
+        if (CP%Nu_mass_eigenstates==1 .and. CP%Nu_mass_numbers(1)==0) CP%Nu_mass_numbers(1) = CP%Num_Nu_Massive
+        if (all(CP%Nu_mass_numbers(1:CP%Nu_mass_eigenstates)==0)) CP%Nu_mass_numbers=1 !just assume one for all
+        if (CP%share_delta_neff) then
+            !default case of equal heating of all neutrinos
+            fractional_number = CP%Num_Nu_massless + CP%Num_Nu_massive
+            actual_massless = int(CP%Num_Nu_massless + 1e-6_dl)
+            neff_i = fractional_number/(actual_massless + CP%Num_Nu_massive)
+            nu_massless_degeneracy = neff_i*actual_massless
+            CP%Nu_mass_degeneracies(1:CP%Nu_mass_eigenstates) = CP%Nu_mass_numbers(1:CP%Nu_mass_eigenstates)*neff_i
+        end if
+        if (abs(sum(CP%Nu_mass_fractions(1:CP%Nu_mass_eigenstates))-1) > 1e-4) &
+        stop 'Nu_mass_fractions do not add up to 1'
+    else
+        CP%Nu_mass_eigenstates = 0
+    end if
+
+    if ((CP%WantTransfer).and. CP%MassiveNuMethod==Nu_approx) then
+        CP%MassiveNuMethod = Nu_trunc
+    end if
+
+    CP%omegak = GetOmegak()
+
+    CP%flat = (abs(CP%omegak) <= OmegaKFlat)
+    CP%closed = CP%omegak < -OmegaKFlat
+
+    CP%open = .not.CP%flat.and..not.CP%closed
+    if (CP%flat) then
+        CP%curv=0
+        CP%Ksign=0
+        CP%r=1._dl !so we can use tau/CP%r, etc, where CP%r's cancel
+    else
+        CP%curv=-CP%omegak/((c/1000)/CP%h0)**2
+        CP%Ksign =sign(1._dl,CP%curv)
+        CP%r=1._dl/sqrt(abs(CP%curv))
+    end if
+    !  grho gives the contribution to the expansion rate from: (g) photons,
+    !  (r) one flavor of relativistic neutrino (2 degrees of freedom),
+    !  (m) nonrelativistic matter (for Omega=1).  grho is actually
+    !  8*pi*G*rho/c^2 at a=1, with units of Mpc**(-2).
+    !  a=tau(Mpc)*adotrad, with a=1 today, assuming 3 neutrinos.
+    !  (Used only to set the initial conformal time.)
+
+    !H0 is in km/s/Mpc
+
+    grhom = 3*CP%h0**2/c**2*1000**2 !3*h0^2/c^2 (=8*pi*G*rho_crit/c^2)
+
+    !grhom=3.3379d-11*h0*h0
+    grhog = kappa/c**2*4*sigma_boltz/c**3*CP%tcmb**4*Mpc**2 !8*pi*G/c^2*4*sigma_B/c^3 T^4
+    ! grhog=1.4952d-13*tcmb**4
+    grhor = 7._dl/8*(4._dl/11)**(4._dl/3)*grhog !7/8*(4/11)^(4/3)*grhog (per neutrino species)
+    !grhor=3.3957d-14*tcmb**4
+
+    !correction for fractional number of neutrinos, e.g. 3.04 to give slightly higher T_nu hence rhor
+    !for massive Nu_mass_degeneracies parameters account for heating from grhor
+
+    grhornomass=grhor*nu_massless_degeneracy
+    grhormass=0
+    do nu_i = 1, CP%Nu_mass_eigenstates
+        grhormass(nu_i)=grhor*CP%Nu_mass_degeneracies(nu_i)
+    end do
+    grhoc=grhom*CP%omegac
+    grhob=grhom*CP%omegab
+    grhov=grhom*CP%omegav
+    grhok=grhom*CP%omegak
+    
+    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    ! Axions 
+    grhoax=grhom*CP%omegaax
+    a_osc=CP%a_osc
+    ! DM: Set a_osc=1 in case scalar field crashes for bad cosmology
+    if(a_osc>1) then 
+       a_osc=1.
+    end if
+	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+
+    !  adotrad gives the relation a(tau) in the radiation era:
+    adotrad = sqrt((grhog+grhornomass+sum(grhormass(1:CP%Nu_mass_eigenstates)))/3)
+
+
+    Nnow = CP%omegab*(1-CP%yhe)*grhom*c**2/kappa/m_H/Mpc**2
+
+    akthom = sigma_thomson*Nnow*Mpc
+    !sigma_T * (number density of protons now)
+
+    fHe = CP%YHe/(mass_ratio_He_H*(1.d0-CP%YHe))  !n_He_tot / n_H_tot
+
+    if (.not.call_again) then
+        call init_massive_nu(CP%omegan /=0)
+        call init_background
+        if (global_error_flag==0) then
+            CP%tau0=TimeOfz(0._dl)
+            ! print *, 'chi = ',  (CP%tau0 - TimeOfz(0.15_dl)) * CP%h0/100
+            last_tau0=CP%tau0
+            if (WantReion) call Reionization_Init(CP%Reion,CP%ReionHist, CP%YHe, akthom, CP%tau0, FeedbackLevel)
+        end if
+    else
+        CP%tau0=last_tau0
+    end if
+
+    !JD 08/13 Changes for nonlinear lensing of CMB + MPK compatibility
+    !if ( CP%NonLinear==NonLinear_Lens) then
+    if (CP%NonLinear==NonLinear_Lens .or. CP%NonLinear==NonLinear_both ) then
+        CP%Transfer%kmax = max(CP%Transfer%kmax, CP%Max_eta_k/CP%tau0)
+        if (FeedbackLevel > 0 .and. CP%Transfer%kmax== CP%Max_eta_k/CP%tau0) &
+        write (*,*) 'max_eta_k changed to ', CP%Max_eta_k
+    end if
+
+    if (CP%closed .and. CP%tau0/CP%r >3.14) then
+        call GlobalError('chi >= pi in closed model not supported',error_unsupported_params)
+    end if
+
+    if (global_error_flag/=0) then
+        if (present(error)) error = global_error_flag
+        return
+    end if
+
+    if (present(error)) then
+        error = 0
+    else if (FeedbackLevel > 0 .and. .not. call_again) then
+        write(*,'("Om_b h^2             = ",f9.6)') CP%omegab*(CP%H0/100)**2
+        write(*,'("Om_c h^2             = ",f9.6)') CP%omegac*(CP%H0/100)**2
+        write(*,'("Om_nu h^2            = ",f9.6)') CP%omegan*(CP%H0/100)**2
+        write(*,'("Om_Lambda            = ",f9.6)') CP%omegav
+        write(*, '("H0                  = ", f9.6)') CP%H0
+        !Axions                                                                                                                    
+        write(*,'("Om_ax h^2            = ",f9.6)') CP%omegaax*(CP%H0/100)**2
+        write(*,'("a_osc               = ",e9.2)')  a_osc
+
+
+!!!!!!!!
+!!!DG: a_eq output suppressed. See explanation for why z_EQ output also suppressed
+!!        write(*,'("a_eq               = ",e9.2)')  CP%aeq
+!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+
+        write(*,'("ma/eV            = ",e9.2)')  CP%ma !!/(100/.3e5)
+
+!DG 5/25/2015 Use updated omegak that includes massless and massive neutrinos self consistently
+        !correction in the 5th decimal place but now completely includes this
+        write(*,'("Om_K                 = ",f9.6)') CP%omegak
+        write(*,'("Om_m (1-Om_K-Om_L)   = ",f9.6)') 1-CP%omegak-CP%omegav
+        write(*,'("100 theta (CosmoMC)  = ",f9.6)') 100*CosmomcTheta()
+
+        if (CP%Num_Nu_Massive > 0) then
+           write(*,'("N_eff (total)        = ",f9.6)') nu_massless_degeneracy + &
+                sum(CP%Nu_mass_degeneracies(1:CP%Nu_mass_eigenstates))
+           do nu_i=1, CP%Nu_mass_eigenstates
+              conv = k_B*(8*grhor/grhog/7)**0.25*CP%tcmb/elecV * &
+                   (CP%nu_mass_degeneracies(nu_i)/CP%nu_mass_numbers(nu_i))**0.25 !approx 1.68e-4 !! changing eV to elecV
+              write(*,'(I2, " nu, g=",f7.4," m_nu*c^2/k_B/T_nu0= ",f9.2," (m_nu= ",f6.3," eV)")') &
+                   CP%nu_mass_numbers(nu_i), CP%nu_mass_degeneracies(nu_i), nu_masses(nu_i),conv*nu_masses(nu_i)
+           end do
+        end if
+     end if
+     CP%chi0=rofChi(CP%tau0/CP%r)
+     scale= CP%chi0*CP%r/CP%tau0  !e.g. change l sampling depending on approx peak spacing
+     
+     !    call cpu_time(clock_stop) ! RH timing                                                        
+     !    print*, 'Total time taken RH in CAMBParams_Set:', clock_stop - clock_start
+   end subroutine CAMBParams_Set
+
+
+    function GetTestTime()
+    real(sp) GetTestTime
+    real(sp) atime
+
+    !           GetTestTime = etime(tarray)
+    !Can replace this if etime gives problems
+    !Or just comment out - only used if DebugMsgs = .true.
+    call cpu_time(atime)
+    GetTestTime = atime
+
+    end function GetTestTime
+
+
+    function rofChi(Chi) !sinh(chi) for open, sin(chi) for closed.
+    real(dl) Chi,rofChi
+
+    if (CP%closed) then
+        rofChi=sin(chi)
+    else if (CP%open) then
+        rofChi=sinh(chi)
+    else
+        rofChi=chi
+    endif
+    end function rofChi
+
+
+    function cosfunc (Chi)
+    real(dl) Chi,cosfunc
+
+    if (CP%closed) then
+        cosfunc= cos(chi)
+    else if (CP%open) then
+        cosfunc=cosh(chi)
+    else
+        cosfunc = 1._dl
+    endif
+    end function cosfunc
+
+    function tanfunc(Chi)
+    real(dl) Chi,tanfunc
+    if (CP%closed) then
+        tanfunc=tan(Chi)
+    else if (CP%open) then
+        tanfunc=tanh(Chi)
+    else
+        tanfunc=Chi
+    end if
+
+    end  function tanfunc
+
+    function invsinfunc(x)
+    real(dl) invsinfunc,x
+
+    if (CP%closed) then
+        invsinfunc=asin(x)
+    else if (CP%open) then
+        invsinfunc=log((x+sqrt(1._dl+x**2)))
+    else
+        invsinfunc = x
+    endif
+    end function invsinfunc
+
+    function f_K(x)
+    real(dl) :: f_K
+    real(dl), intent(in) :: x
+    f_K = CP%r*rofChi(x/CP%r)
+
+    end function f_K
+
+
+    function DeltaTime(a1,a2, in_tol)
+    implicit none
+    real(dl) DeltaTime, atol
+    real(dl), intent(IN) :: a1,a2
+    real(dl), optional, intent(in) :: in_tol
+    real(dl) dtauda, rombint !diff of tau w.CP%r.t a and integration
+    external dtauda, rombint
+
+
+    if (present(in_tol)) then
+        atol = in_tol
+    else
+        atol = tol/1000/exp(AccuracyBoost-1)
+    end if
+    DeltaTime=rombint(dtauda,a1,a2,atol)
+    end function DeltaTime
+
+    function TimeOfz(z)
+    implicit none
+    real(dl) TimeOfz
+    real(dl), intent(IN) :: z
+
+    TimeOfz=DeltaTime(0._dl,1._dl/(z+1._dl))
+    end function TimeOfz
+
+    function DeltaPhysicalTimeGyr(a1,a2, in_tol)
+    use constants
+    real(dl), intent(in) :: a1, a2
+    real(dl), optional, intent(in) :: in_tol
+    real(dl) rombint,DeltaPhysicalTimeGyr, atol
+    external rombint
+
+    if (present(in_tol)) then
+        atol = in_tol
+    else
+        atol = 1d-4/exp(AccuracyBoost-1)
+    end if
+    DeltaPhysicalTimeGyr = rombint(dtda,a1,a2,atol)*Mpc/c/Gyr
+    end function DeltaPhysicalTimeGyr
+
+    function AngularDiameterDistance(z)
+    !This is the physical (non-comoving) angular diameter distance in Mpc
+    real(dl) AngularDiameterDistance
+    real(dl), intent(in) :: z
+
+    AngularDiameterDistance = CP%r/(1+z)*rofchi(ComovingRadialDistance(z) /CP%r)
+
+    end function AngularDiameterDistance
+
+    function LuminosityDistance(z)
+    real(dl) LuminosityDistance
+    real(dl), intent(in) :: z
+
+    LuminosityDistance = AngularDiameterDistance(z)*(1+z)**2
+
+    end function LuminosityDistance
+
+    function ComovingRadialDistance(z)
+    real(dl) ComovingRadialDistance
+    real(dl), intent(in) :: z
+
+    ComovingRadialDistance = DeltaTime(1/(1+z),1._dl)
+
+    end function ComovingRadialDistance
+
+    function Hofz(z)
+    !!non-comoving Hubble in MPC units, divide by MPC_in_sec to get in SI units
+    real(dl) Hofz, dtauda,a
+    real(dl), intent(in) :: z
+    external dtauda
+
+    a = 1/(1+z)
+    Hofz = 1/(a**2*dtauda(a))
+
+    end function Hofz
+
+    real(dl) function BAO_D_v_from_DA_H(z, DA, Hz)
+    real(dl), intent(in) :: z, DA, Hz
+    real(dl) ADD
+
+    ADD = DA*(1.d0+z)
+    BAO_D_v_from_DA_H = ((ADD)**2.d0*z/Hz)**(1.d0/3.d0)
+
+    end function BAO_D_v_from_DA_H
+
+    real(dl) function BAO_D_v(z)
+    real(dl), intent(IN) :: z
+
+    BAO_D_v = BAO_D_v_from_DA_H(z,AngularDiameterDistance(z), Hofz(z))
+
+    end function BAO_D_v
+
+    function dsound_da_exact(a)
+    implicit none
+    real(dl) dsound_da_exact,dtauda,a,R,cs
+    external dtauda
+
+    R = 3*grhob*a / (4*grhog)
+    cs=1.0d0/sqrt(3*(1+R))
+    dsound_da_exact=dtauda(a)*cs
+
+    end function dsound_da_exact
+
+
+    function dsound_da(a)
+    !approximate form used e.g. by CosmoMC for theta
+    implicit none
+    real(dl) dsound_da,dtauda,a,R,cs
+    external dtauda
+
+    R=3.0d4*a*CP%omegab*(CP%h0/100.0d0)**2
+    !          R = 3*grhob*a / (4*grhog) //above is mostly within 0.2% and used for previous consistency
+    cs=1.0d0/sqrt(3*(1+R))
+    dsound_da=dtauda(a)*cs
+
+    end function dsound_da
+
+    function dtda(a)
+    real(dl) dtda,dtauda,a
+    external dtauda
+    dtda= dtauda(a)*a
+    end function
+
+    function CosmomcTheta()
+    real(dl) zstar, astar, atol, rs, DA
+    real(dl) CosmomcTheta
+    real(dl) ombh2, omdmh2
+    real(dl) rombint
+    external rombint
+
+    ombh2 = CP%omegab*(CP%h0/100.0d0)**2
+    !Added ultra-light axions to computation of Hu + Sugiyama Theta_MC
+    !used to step around chains
+    !Actually not a physsical parameter (theta_mc)
+    !But useful stepping parameter
+    omdmh2 = (CP%omegac+CP%omegan+CP%omegaax)*(CP%h0/100.0d0)**2! RH axion   
+
+!    omdmh2 = (CP%omegac+CP%omegan)*(CP%h0/100.0d0)**2
+    !!From Hu & Sugiyama
+	! Appendix E of astro-ph/9510117
+
+    zstar =  1048*(1+0.00124*ombh2**(-0.738))* &
+         (1+(0.0783*ombh2**(-0.238)/(1+39.5*ombh2**0.763))&
+         *(omdmh2+ombh2)**(0.560/(1+21.1*ombh2**1.81)))
+
+    astar = 1/(1+zstar)
+    atol = 1e-6
+    rs = rombint(dsound_da,1d-8,astar,atol)
+    DA = AngularDiameterDistance(zstar)/astar
+    CosmomcTheta = rs/DA
+
+    end function CosmomcTheta
+
+    end module ModelParams
+
+
+
+    !ccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+    module lvalues
+    use precision
+    use ModelParams
+    implicit none
+    public
+
+    Type lSamples
+        integer l0
+        integer l(lmax_arr)
+    end Type lSamples
+
+    Type(lSamples) :: lSamp
+    !Sources
+    logical :: Log_lvalues  = .false.
+
+    contains
+
+    function lvalues_indexOf(lSet,l)
+    type(lSamples) :: lSet
+    integer, intent(in) :: l
+    integer lvalues_indexOf, i
+
+    do i=2,lSet%l0
+        if (l < lSet%l(i)) then
+            lvalues_indexOf = i-1
+            return
+        end if
+    end do
+    lvalues_indexOf = lSet%l0
+
+    end function  lvalues_indexOf
+
+    subroutine initlval(lSet,max_l)
+
+    ! This subroutines initializes lSet%l arrays. Other values will be interpolated.
+
+    implicit none
+    type(lSamples) :: lSet
+
+    integer, intent(IN) :: max_l
+    integer lind, lvar, step,top,bot,ls(lmax_arr)
+    real(dl) AScale
+
+    Ascale=scale/lSampleBoost
+
+    if (lSampleBoost >=50) then
+        !just do all of them
+        lind=0
+        do lvar=lmin, max_l
+            lind=lind+1
+            ls(lind)=lvar
+        end do
+        lSet%l0=lind
+        lSet%l(1:lind) = ls(1:lind)
+        return
+    end if
+
+    lind=0
+    do lvar=lmin, 10
+        lind=lind+1
+        ls(lind)=lvar
+    end do
+
+    if (CP%AccurateReionization) then
+        if (lSampleBoost > 1) then
+            do lvar=11, 37,1
+                lind=lind+1
+                ls(lind)=lvar
+            end do
+        else
+            do lvar=11, 37,2
+                lind=lind+1
+                ls(lind)=lvar
+            end do
+        end if
+
+        step = max(nint(5*Ascale),2)
+        bot=40
+        top=bot + step*10
+    else
+        if (lSampleBoost >1) then
+            do lvar=11, 15
+                lind=lind+1
+                ls(lind)=lvar
+            end do
+        else
+            lind=lind+1
+            ls(lind)=12
+            lind=lind+1
+            ls(lind)=15
+        end if
+        step = max(nint(10*Ascale),3)
+        bot=15+max(step/2,2)
+        top=bot + step*7
+    end if
+
+    do lvar=bot, top, step
+        lind=lind+1
+        ls(lind)=lvar
+    end do
+
+    !Sources
+    if (Log_lvalues) then
+        !Useful for generating smooth things like 21cm to high l
+        step=max(nint(20*Ascale),4)
+        do
+            lvar = lvar + step
+            if (lvar > max_l) exit
+            lind=lind+1
+            ls(lind)=lvar
+            step = nint(step*1.2) !log spacing
+        end do
+    else
+        step=max(nint(20*Ascale),4)
+        bot=ls(lind)+step
+        top=bot+step*2
+
+        do lvar = bot,top,step
+            lind=lind+1
+            ls(lind)=lvar
+        end do
+
+        if (ls(lind)>=max_l) then
+            do lvar=lind,1,-1
+                if (ls(lvar)<=max_l) exit
+            end do
+            lind=lvar
+            if (ls(lind)<max_l) then
+                lind=lind+1
+                ls(lind)=max_l
+            end if
+        else
+            step=max(nint(25*Ascale),4)
+            !Get EE right around l=200 by putting extra point at 175
+            bot=ls(lind)+step
+            top=bot+step
+
+            do lvar = bot,top,step
+                lind=lind+1
+                ls(lind)=lvar
+            end do
+
+            if (ls(lind)>=max_l) then
+                do lvar=lind,1,-1
+                    if (ls(lvar)<=max_l) exit
+                end do
+                lind=lvar
+                if (ls(lind)<max_l) then
+                    lind=lind+1
+                    ls(lind)=max_l
+                end if
+            else
+                if (HighAccuracyDefault .and. .not. use_spline_template) then
+                    step=max(nint(42*Ascale),7)
+                else
+                    step=max(nint(50*Ascale),7)
+                end if
+                bot=ls(lind)+step
+                top=min(5000,max_l)
+
+                do lvar = bot,top,step
+                    lind=lind+1
+                    ls(lind)=lvar
+                end do
+
+                if (max_l > 5000) then
+                    !Should be pretty smooth or tiny out here
+                    step=max(nint(400*Ascale),50)
+                    lvar = ls(lind)
+                    do
+                        lvar = lvar + step
+                        if (lvar > max_l) exit
+                        lind=lind+1
+                        ls(lind)=lvar
+                        step = nint(step*1.5) !log spacing
+                    end do
+                end if
+                !Sources
+            end if !log_lvalues
+
+            if (ls(lind) /=max_l) then
+                lind=lind+1
+                ls(lind)=max_l
+            end if
+            if (.not. CP%flat) ls(lind-1)=int(max_l+ls(lind-2))/2
+            !Not in CP%flat case so interpolation table is the same when using lower l_max
+        end if
+    end if
+    lSet%l0=lind
+    lSet%l(1:lind) = ls(1:lind)
+
+    end subroutine initlval
+
+    subroutine InterpolateClArr(lSet,iCl, all_Cl, max_ind)
+    type (lSamples), intent(in) :: lSet
+    real(dl), intent(in) :: iCl(*)
+    real(dl), intent(out):: all_Cl(lmin:*)
+    integer, intent(in) :: max_ind
+    integer il,llo,lhi, xi
+    real(dl) ddCl(lSet%l0)
+    real(dl) xl(lSet%l0)
+
+    real(dl) a0,b0,ho
+    real(dl), parameter :: cllo=1.e30_dl,clhi=1.e30_dl
+!    real clock_start, clock_stop ! RH timing
+
+!    call cpu_time(clock_start) ! RH timing 
+    if (max_ind > lSet%l0) stop 'Wrong max_ind in InterpolateClArr'
+
+    xl = real(lSet%l(1:lSet%l0),dl)
+    call spline(xl,iCL(1),max_ind,cllo,clhi,ddCl(1))
+
+    llo=1
+    do il=lmin,lSet%l(max_ind)
+        xi=il
+        if ((xi > lSet%l(llo+1)).and.(llo < max_ind)) then
+            llo=llo+1
+        end if
+        lhi=llo+1
+        ho=lSet%l(lhi)-lSet%l(llo)
+        a0=(lSet%l(lhi)-xi)/ho
+        b0=(xi-lSet%l(llo))/ho
+
+        all_Cl(il) = a0*iCl(llo)+ b0*iCl(lhi)+((a0**3-a0)* ddCl(llo) &
+        +(b0**3-b0)*ddCl(lhi))*ho**2/6
+    end do
+    
+!    call cpu_time(clock_stop) ! RH timing                                                        
+!    print*, 'Total time taken RH in InterpolateClArr:', clock_stop - clock_start
+    end subroutine InterpolateClArr
+
+    subroutine InterpolateClArrTemplated(lSet,iCl, all_Cl, max_ind, template_index)
+    type (lSamples), intent(in) :: lSet
+    real(dl), intent(in) :: iCl(*)
+    real(dl), intent(out):: all_Cl(lmin:*)
+    integer, intent(in) :: max_ind
+    integer, intent(in), optional :: template_index
+    integer maxdelta, il
+    real(dl) DeltaCL(lSet%l0)
+    real(dl), allocatable :: tmpall(:)
+    real clock_start, clock_stop ! RH timing 
+    
+    call cpu_time(clock_start) ! RH timing
+    if (max_ind > lSet%l0) stop 'Wrong max_ind in InterpolateClArrTemplated'
+
+    if (use_spline_template .and. present(template_index)) then
+        if (template_index<=3) then
+            !interpolate only the difference between the C_l and an accurately interpolated template. Temp only for the mo.
+            !Using unlensed for template, seems to be good enough
+            maxdelta=max_ind
+            do while (lSet%l(maxdelta) > lmax_extrap_highl)
+                maxdelta=maxdelta-1
+            end do
+            DeltaCL(1:maxdelta)=iCL(1:maxdelta)- highL_CL_template(lSet%l(1:maxdelta), template_index)
+
+            call InterpolateClArr(lSet,DeltaCl, all_Cl, maxdelta)
+
+            do il=lmin,lSet%l(maxdelta)
+                all_Cl(il) = all_Cl(il) +  highL_CL_template(il,template_index)
+            end do
+
+            if (maxdelta < max_ind) then
+                !directly interpolate high L where no template (doesn't effect lensing spectrum much anyway)
+                allocate(tmpall(lmin:lSet%l(max_ind)))
+                call InterpolateClArr(lSet,iCl, tmpall, max_ind)
+                !overlap to reduce interpolation artefacts
+                all_cl(lSet%l(maxdelta-2):lSet%l(max_ind) ) = tmpall(lSet%l(maxdelta-2):lSet%l(max_ind))
+                deallocate(tmpall)
+            end if
+            return
+        end if
+    end if
+
+    call InterpolateClArr(lSet,iCl, all_Cl, max_ind)
+
+    call cpu_time(clock_stop) ! RH timing 
+!    print*, 'Total time taken RH in InterpolateClArrTemplated:', clock_stop - clock_start 
+ 
+    end subroutine InterpolateClArrTemplated
+
+    end module lvalues
+
+
+    !ccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+    module ModelData
+    use precision
+    use ModelParams
+    use InitialPower
+    use lValues
+    use Ranges
+    use AMlUtils
+    implicit none
+    public
+
+    Type LimberRec
+        integer n1,n2 !corresponding time step array indices
+        real(dl), dimension(:), pointer :: k
+        real(dl), dimension(:), pointer :: Source
+    end Type LimberRec
+
+    Type ClTransferData
+        !Cl transfer function variables
+        !values of q for integration over q to get C_ls
+        Type (lSamples) :: ls ! scalar and tensor l that are computed
+        integer :: NumSources
+        !Changes -scalars:  2 for just CMB, 3 for lensing
+        !- tensors: T and E and phi (for lensing), and T, E, B respectively
+
+        Type (Regions) :: q
+        real(dl), dimension(:,:,:), pointer :: Delta_p_l_k => NULL()
+
+        !The L index of the lowest L to use for Limber
+        integer, dimension(:), pointer :: Limber_l_min => NULL()
+        !For each l, the set of k in each limber window
+        !indices LimberWindow(SourceNum,l)
+        Type(LimberRec), dimension(:,:), pointer :: Limber_windows => NULL()
+
+        !The maximum L needed for non-Limber
+        integer max_index_nonlimber
+
+    end Type ClTransferData
+
+    Type(ClTransferData), save, target :: CTransScal, CTransTens, CTransVec
+
+    !Computed output power spectra data
+
+    integer, parameter :: C_Temp = 1, C_E = 2, C_Cross =3, C_Phi = 4, C_PhiTemp = 5, C_PhiE=6
+    integer :: C_last = C_PhiE
+    integer, parameter :: CT_Temp =1, CT_E = 2, CT_B = 3, CT_Cross=  4
+
+    logical :: has_cl_2D_array = .false.
+
+    real(dl), dimension (:,:,:), allocatable :: Cl_scalar, Cl_tensor, Cl_vector
+    !Indices are Cl_xxx( l , intial_power_index, Cl_type)
+    !where Cl_type is one of the above constants
+
+    real(dl), dimension (:,:,:,:), allocatable :: Cl_Scalar_Array
+    !Indices are Cl_xxx( l , intial_power_index, field1,field2)
+    !where ordering of fields is T, E, \psi (CMB lensing potential), window_1, window_2...
+
+    !The following are set only if doing lensing
+    integer lmax_lensed !Only accurate to rather less than this
+    real(dl) , dimension (:,:,:), allocatable :: Cl_lensed
+    !Cl_lensed(l, power_index, Cl_type) are the interpolated Cls
+
+    contains
+
+    subroutine Init_ClTransfer(CTrans)
+    !Need to set the Ranges array q before calling this
+    Type(ClTransferData) :: CTrans
+    integer st
+
+    deallocate(CTrans%Delta_p_l_k, STAT = st)
+    call Ranges_getArray(CTrans%q, .true.)
+
+    allocate(CTrans%Delta_p_l_k(CTrans%NumSources,min(CTrans%max_index_nonlimber,CTrans%ls%l0), CTrans%q%npoints))
+    CTrans%Delta_p_l_k = 0
+
+    end subroutine Init_ClTransfer
+
+    subroutine Init_Limber(CTrans)
+    Type(ClTransferData) :: CTrans
+
+    allocate(CTrans%Limber_l_min(CTrans%NumSources))
+    CTrans%Limber_l_min = 0
+    if (num_redshiftwindows>0 .or. limber_phiphi>0) then
+        allocate(CTrans%Limber_windows(CTrans%NumSources,CTrans%ls%l0))
+    end if
+
+    end subroutine Init_Limber
+
+    subroutine Free_ClTransfer(CTrans)
+    Type(ClTransferData) :: CTrans
+    integer st
+
+    deallocate(CTrans%Delta_p_l_k, STAT = st)
+    nullify(CTrans%Delta_p_l_k)
+    call Ranges_Free(CTrans%q)
+    call Free_Limber(CTrans)
+
+    end subroutine Free_ClTransfer
+
+    subroutine Free_Limber(CTrans)
+    Type(ClTransferData) :: CTrans
+    integer st,i,j
+
+    if (associated(CTrans%Limber_l_min)) then
+        do i=1, CTrans%NumSources
+            if (CTrans%Limber_l_min(i)/=0) then
+                do j=CTrans%Limber_l_min(i), CTrans%ls%l0
+                    deallocate(CTrans%Limber_windows(i, j)%k, STAT = st)
+                    deallocate(CTrans%Limber_windows(i, j)%Source, STAT = st)
+                end do
+            end if
+        end do
+        deallocate(CTrans%Limber_l_min, STAT = st)
+    end if
+    deallocate(CTrans%Limber_windows, STAT = st)
+    nullify(CTrans%Limber_l_min)
+    nullify(CTrans%Limber_windows)
+
+    end subroutine Free_Limber
+
+    subroutine CheckLoadedHighLTemplate
+    integer L
+    real(dl) array(7)
+
+    if (.not. allocated(highL_CL_template)) then
+        allocate(highL_CL_template(lmin:lmax_extrap_highl, C_Temp:C_Phi))
+        call OpenTxtFile(highL_unlensed_cl_template,fileio_unit)
+        if (lmin==1) highL_CL_template(lmin,:)=0
+        do
+            read(fileio_unit,*, end=500) L , array
+            if (L>lmax_extrap_highl) exit
+            !  array = array * (2*l+1)/(4*pi) * 2*pi/(l*(l+1))
+            highL_CL_template(L, C_Temp:C_E) =array(1:2)
+            highL_CL_template(L, C_Cross) =array(4)
+            highL_CL_template(L, C_Phi) =array(5)
+        end do
+
+500     if (L< lmax_extrap_highl) &
+        stop 'CheckLoadedHighLTemplate: template file does not go up to lmax_extrap_highl'
+        close(fileio_unit)
+    end if
+
+    end subroutine CheckLoadedHighLTemplate
+
+
+    subroutine Init_Cls
+
+    call CheckLoadedHighLTemplate
+    if (CP%WantScalars) then
+        if (allocated(Cl_scalar)) deallocate(Cl_scalar)
+        allocate(Cl_scalar(lmin:CP%Max_l, CP%InitPower%nn, C_Temp:C_last))
+        Cl_scalar = 0
+        if (has_cl_2D_array) then
+            if (allocated(Cl_scalar_array)) deallocate(Cl_scalar_array)
+            allocate(Cl_scalar_Array(lmin:CP%Max_l, CP%InitPower%nn, 3+num_redshiftwindows,3+num_redshiftwindows))
+            Cl_scalar_array = 0
+        end if
+    end if
+
+    if (CP%WantVectors) then
+        if (allocated(Cl_vector)) deallocate(Cl_vector)
+        allocate(Cl_vector(lmin:CP%Max_l, CP%InitPower%nn, CT_Temp:CT_Cross))
+        Cl_vector = 0
+    end if
+
+
+    if (CP%WantTensors) then
+        if (allocated(Cl_tensor)) deallocate(Cl_tensor)
+        allocate(Cl_tensor(lmin:CP%Max_l_tensor, CP%InitPower%nn, CT_Temp:CT_Cross))
+        Cl_tensor = 0
+    end if
+
+    end subroutine Init_Cls
+
+    subroutine output_cl_files(ScalFile,ScalCovFile,TensFile, TotFile, LensFile, LensTotFile, factor)
+    implicit none
+    integer in,il
+    character(LEN=*) ScalFile, TensFile, TotFile, LensFile, LensTotFile,ScalCovfile
+    real(dl), intent(in), optional :: factor
+    real(dl) fact
+    integer last_C
+    real(dl), allocatable :: outarr(:,:)
+
+
+    if (present(factor)) then
+        fact = factor
+    else
+        fact =1
+    end if
+
+    if (CP%WantScalars .and. ScalFile /= '') then
+        last_C=min(C_PhiTemp,C_last)
+        open(unit=fileio_unit,file=ScalFile,form='formatted',status='replace')
+        do in=1,CP%InitPower%nn
+            do il=lmin,min(10000,CP%Max_l)
+                write(fileio_unit,trim(numcat('(1I6,',last_C))//'E15.5)')il ,fact*Cl_scalar(il,in,C_Temp:last_C)
+            end do
+            do il=10100,CP%Max_l, 100
+                write(fileio_unit,trim(numcat('(1E15.5,',last_C))//'E15.5)') real(il),&
+                fact*Cl_scalar(il,in,C_Temp:last_C)
+            end do
+        end do
+        close(fileio_unit)
+    end if
+
+    if (CP%WantScalars .and. has_cl_2D_array .and. ScalCovFile /= '' .and. CTransScal%NumSources>2) then
+        allocate(outarr(1:3+num_redshiftwindows,1:3+num_redshiftwindows))
+        open(unit=fileio_unit,file=ScalCovFile,form='formatted',status='replace')
+        do in=1,CP%InitPower%nn
+            do il=lmin,min(10000,CP%Max_l)
+                outarr=Cl_scalar_array(il,in,1:3+num_redshiftwindows,1:3+num_redshiftwindows)
+                outarr(1:2,:)=sqrt(fact)*outarr(1:2,:)
+                outarr(:,1:2)=sqrt(fact)*outarr(:,1:2)
+                write(fileio_unit,trim(numcat('(1I6,',(3+num_redshiftwindows)**2))//'E15.5)') il, outarr
+            end do
+            do il=10100,CP%Max_l, 100
+                outarr=Cl_scalar_array(il,in,1:3+num_redshiftwindows,1:3+num_redshiftwindows)
+                outarr(1:2,:)=sqrt(fact)*outarr(1:2,:)
+                outarr(:,1:2)=sqrt(fact)*outarr(:,1:2)
+                write(fileio_unit,trim(numcat('(1E15.5,',(3+num_redshiftwindows)**2))//'E15.5)') real(il), outarr
+            end do
+        end do
+        close(fileio_unit)
+        deallocate(outarr)
+    end if
+
+    if (CP%WantTensors .and. TensFile /= '') then
+        open(unit=fileio_unit,file=TensFile,form='formatted',status='replace')
+        do in=1,CP%InitPower%nn
+            do il=lmin,CP%Max_l_tensor
+                write(fileio_unit,'(1I6,4E15.5)')il, fact*Cl_tensor(il, in, CT_Temp:CT_Cross)
+            end do
+        end do
+        close(fileio_unit)
+    end if
+
+    if (CP%WantTensors .and. CP%WantScalars .and. TotFile /= '') then
+        open(unit=fileio_unit,file=TotFile,form='formatted',status='replace')
+        do in=1,CP%InitPower%nn
+            do il=lmin,CP%Max_l_tensor
+                write(fileio_unit,'(1I6,4E15.5)')il, fact*(Cl_scalar(il, in, C_Temp:C_E)+ Cl_tensor(il,in, C_Temp:C_E)), &
+                fact*Cl_tensor(il,in, CT_B), fact*(Cl_scalar(il, in, C_Cross) + Cl_tensor(il, in, CT_Cross))
+            end do
+            do il=CP%Max_l_tensor+1,CP%Max_l
+                write(fileio_unit,'(1I6,4E15.5)')il ,fact*Cl_scalar(il,in,C_Temp:C_E), 0._dl, fact*Cl_scalar(il,in,C_Cross)
+            end do
+        end do
+        close(fileio_unit)
+    end if
+
+    if (CP%WantScalars .and. CP%DoLensing .and. LensFile /= '') then
+        open(unit=fileio_unit,file=LensFile,form='formatted',status='replace')
+        do in=1,CP%InitPower%nn
+            do il=lmin, lmax_lensed
+                write(fileio_unit,'(1I6,4E15.5)')il, fact*Cl_lensed(il, in, CT_Temp:CT_Cross)
+            end do
+        end do
+        close(fileio_unit)
+    end if
+
+
+    if (CP%WantScalars .and. CP%WantTensors .and. CP%DoLensing .and. LensTotFile /= '') then
+        open(unit=fileio_unit,file=LensTotFile,form='formatted',status='replace')
+        do in=1,CP%InitPower%nn
+            do il=lmin,min(CP%Max_l_tensor,lmax_lensed)
+                write(fileio_unit,'(1I6,4E15.5)')il, fact*(Cl_lensed(il, in, CT_Temp:CT_Cross)+ Cl_tensor(il,in, CT_Temp:CT_Cross))
+            end do
+            do il=min(CP%Max_l_tensor,lmax_lensed)+1,lmax_lensed
+                write(fileio_unit,'(1I6,4E15.5)')il, fact*Cl_lensed(il, in, CT_Temp:CT_Cross)
+            end do
+        end do
+    end if
+    end subroutine output_cl_files
+
+    subroutine output_lens_pot_files(LensPotFile, factor)
+    !Write out L TT EE BB TE PP PT PE where P is the lensing potential, all unlensed
+    !This input supported by LensPix from 2010
+    implicit none
+    integer in,il
+    real(dl), intent(in), optional :: factor
+    real(dl) fact, scale, BB, TT, TE, EE
+    character(LEN=*) LensPotFile
+    !output file of dimensionless [l(l+1)]^2 C_phi_phi/2pi and [l(l+1)]^(3/2) C_phi_T/2pi
+    !This is the format used by Planck_like but original LensPix uses scalar_output_file.
+
+    !(Cl_scalar and scalar_output_file numbers are instead l^4 C_phi and l^3 C_phi
+    ! - for historical reasons)
+
+    if (present(factor)) then
+        fact = factor
+    else
+        fact =1
+    end if
+
+    if (CP%WantScalars .and. CP%DoLensing .and. LensPotFile/='') then
+        open(unit=fileio_unit,file=LensPotFile,form='formatted',status='replace')
+        do in=1,CP%InitPower%nn
+            do il=lmin,min(10000,CP%Max_l)
+                TT = Cl_scalar(il, in, C_Temp)
+                EE = Cl_scalar(il, in, C_E)
+                TE = Cl_scalar(il, in, C_Cross)
+                if (CP%WantTensors .and. il <= CP%Max_l_tensor) then
+                    TT= TT+Cl_tensor(il,in, CT_Temp)
+                    EE= EE+Cl_tensor(il,in, CT_E)
+                    TE= TE+Cl_tensor(il,in, CT_Cross)
+                    BB= Cl_tensor(il,in, CT_B)
+                else
+                    BB=0
+                end if
+                scale = (real(il+1)/il)**2/OutputDenominator !Factor to go from old l^4 factor to new
+
+                write(fileio_unit,'(1I6,7E15.5)') il , fact*TT, fact*EE, fact*BB, fact*TE, scale*Cl_scalar(il,in,C_Phi),&
+                (real(il+1)/il)**1.5/OutputDenominator*sqrt(fact)*Cl_scalar(il,in,C_PhiTemp:C_PhiE)
+            end do
+            do il=10100,CP%Max_l, 100
+                scale = (real(il+1)/il)**2/OutputDenominator
+                write(fileio_unit,'(1E15.5,7E15.5)') real(il), fact*Cl_scalar(il,in,C_Temp:C_E),0.,fact*Cl_scalar(il,in,C_Cross), &
+                scale*Cl_scalar(il,in,C_Phi),&
+                (real(il+1)/il)**1.5/OutputDenominator*sqrt(fact)*Cl_scalar(il,in,C_PhiTemp:C_PhiE)
+            end do
+        end do
+        close(fileio_unit)
+    end if
+    end subroutine output_lens_pot_files
+
+
+    subroutine output_veccl_files(VecFile, factor)
+    implicit none
+    integer in,il
+    character(LEN=*) VecFile
+    real(dl), intent(in), optional :: factor
+    real(dl) fact
+
+
+    if (present(factor)) then
+        fact = factor
+    else
+        fact =1
+    end if
+
+
+    if (CP%WantVectors .and. VecFile /= '') then
+        open(unit=fileio_unit,file=VecFile,form='formatted',status='replace')
+        do in=1,CP%InitPower%nn
+            do il=lmin,CP%Max_l
+                write(fileio_unit,'(1I5,4E15.5)')il, fact*Cl_vector(il, in, CT_Temp:CT_Cross)
+            end do
+        end do
+
+        close(fileio_unit)
+    end if
+
+    end subroutine output_veccl_files
+
+    subroutine NormalizeClsAtL(lnorm)
+    implicit none
+    integer, intent(IN) :: lnorm
+    integer in
+    real(dl) Norm
+
+    do in=1,CP%InitPower%nn
+        if (CP%WantScalars) then
+            Norm=1/Cl_scalar(lnorm,in, C_Temp)
+            Cl_scalar(lmin:CP%Max_l, in, C_Temp:C_Cross) = Cl_scalar(lmin:CP%Max_l, in, C_Temp:C_Cross) * Norm
+        end if
+
+        if (CP%WantTensors) then
+            if (.not.CP%WantScalars) Norm = 1/Cl_tensor(lnorm,in, C_Temp)
+            !Otherwise Norm already set correctly
+            Cl_tensor(lmin:CP%Max_l_tensor, in, CT_Temp:CT_Cross) =  &
+            Cl_tensor(lmin:CP%Max_l_tensor, in, CT_Temp:CT_Cross) * Norm
+        end if
+    end do
+
+    end  subroutine NormalizeClsAtL
+
+    subroutine ModelData_Free
+
+    call Free_ClTransfer(CTransScal)
+    call Free_ClTransfer(CTransVec)
+    call Free_ClTransfer(CTransTens)
+    if (allocated(Cl_vector)) deallocate(Cl_vector)
+    if (allocated(Cl_tensor)) deallocate(Cl_tensor)
+    if (allocated(Cl_scalar)) deallocate(Cl_scalar)
+    if (allocated(Cl_lensed)) deallocate(Cl_lensed)
+    if (allocated(Cl_scalar_array)) deallocate(Cl_scalar_array)
+
+    end subroutine ModelData_Free
+
+    end module ModelData
+
+
+    !ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    module MassiveNu
+    use precision
+    use ModelParams
+    implicit none
+    private
+
+    real(dl), parameter  :: const  = 7._dl/120*pi**4 ! 5.68219698_dl
+    !const = int q^3 F(q) dq = 7/120*pi^4
+    real(dl), parameter  :: const2 = 5._dl/7/pi**2   !0.072372274_dl
+    real(dl), parameter  :: zeta3  = 1.2020569031595942853997_dl
+    real(dl), parameter  :: zeta5  = 1.0369277551433699263313_dl
+    real(dl), parameter  :: zeta7  = 1.0083492773819228268397_dl
+
+    integer, parameter  :: nrhopn=2000
+    real(dl), parameter :: am_min = 0.01_dl  !0.02_dl
+    !smallest a*m_nu to integrate distribution function rather than using series
+    real(dl), parameter :: am_max = 600._dl
+    !max a*m_nu to integrate
+
+    real(dl),parameter  :: am_minp=am_min*1.1
+    real(dl), parameter :: am_maxp=am_max*0.9
+
+    real(dl) dlnam
+
+    real(dl), dimension(:), allocatable ::  r1,p1,dr1,dp1,ddr1
+
+    !Sample for massive neutrino momentum
+    !These settings appear to be OK for P_k accuate at 1e-3 level
+    integer, parameter :: nqmax0=80 !maximum array size of q momentum samples
+    real(dl) :: nu_q(nqmax0), nu_int_kernel(nqmax0)
+
+    integer nqmax !actual number of q modes evolves
+
+    public const,Nu_Init,Nu_background, Nu_rho, Nu_drho,  nqmax0, nqmax, &
+    nu_int_kernel, nu_q
+    contains
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+    subroutine Nu_init
+
+    !  Initialize interpolation tables for massive neutrinos.
+    !  Use cubic splines interpolation of log rhonu and pnu vs. log a*m.
+
+    integer i
+    real(dl) dq,dlfdlq, q, am, rhonu,pnu
+    real(dl) spline_data(nrhopn)
+
+    !  nu_masses=m_nu(i)*c**2/(k_B*T_nu0).
+    !  Get number density n of neutrinos from
+    !  rho_massless/n = int q^3/(1+e^q) / int q^2/(1+e^q)=7/180 pi^4/Zeta(3)
+    !  then m = Omega_nu/N_nu rho_crit /n
+    !  Error due to velocity < 1e-5
+    do i=1, CP%Nu_mass_eigenstates
+        nu_masses(i)=const/(1.5d0*zeta3)*grhom/grhor*CP%omegan*CP%Nu_mass_fractions(i) &
+        /CP%Nu_mass_degeneracies(i)
+    end do
+
+    if (allocated(r1)) return
+    allocate(r1(nrhopn),p1(nrhopn),dr1(nrhopn),dp1(nrhopn),ddr1(nrhopn))
+
+
+    nqmax=3
+    if (AccuracyBoost >1) nqmax=4
+    if (AccuracyBoost >2) nqmax=5
+    if (AccuracyBoost >3) nqmax=nint(AccuracyBoost*10)
+    !note this may well be worse than the 5 optimized points
+
+    if (nqmax > nqmax0) call MpiStop('Nu_Init: qmax > nqmax0')
+
+    !We evolve evolve 4F_l/dlfdlq(i), so kernel includes dlfdlnq factor
+    !Integration scheme gets (Fermi-Dirac thing)*q^n exact,for n=-4, -2..2
+    !see CAMB notes
+    if (nqmax==3) then
+        !Accurate at 2e-4 level
+        nu_q(1:3) = (/0.913201, 3.37517, 7.79184/)
+        nu_int_kernel(1:3) = (/0.0687359, 3.31435, 2.29911/)
+    else if (nqmax==4) then
+        !This seems to be very accurate (limited by other numerics)
+        nu_q(1:4) = (/0.7, 2.62814, 5.90428, 12.0/)
+        nu_int_kernel(1:4) = (/0.0200251, 1.84539, 3.52736, 0.289427/)
+    else if (nqmax==5) then
+        !exact for n=-4,-2..3
+        !This seems to be very accurate (limited by other numerics)
+        nu_q(1:5) = (/0.583165, 2.0, 4.0, 7.26582, 13.0/)
+        nu_int_kernel(1:5) = (/0.0081201, 0.689407, 2.8063, 2.05156, 0.126817/)
+    else
+        dq = (12 + nqmax/5)/real(nqmax)
+        do i=1,nqmax
+            q=(i-0.5d0)*dq
+            nu_q(i) = q
+            dlfdlq=-q/(1._dl+exp(-q))
+            nu_int_kernel(i)=dq*q**3/(exp(q)+1._dl) * (-0.25_dl*dlfdlq) !now evolve 4F_l/dlfdlq(i)
+        end do
+    end if
+    nu_int_kernel=nu_int_kernel/const
+
+    dlnam=-(log(am_min/am_max))/(nrhopn-1)
+
+
+    !$OMP PARALLEL DO DEFAULT(SHARED),SCHEDULE(STATIC) &
+    !$OMP & PRIVATE(am, rhonu,pnu)
+    do i=1,nrhopn
+        am=am_min*exp((i-1)*dlnam)
+        call nuRhoPres(am,rhonu,pnu)
+        r1(i)=log(rhonu)
+        p1(i)=log(pnu)
+    end do
+    !$OMP END PARALLEL DO
+
+
+    call splini(spline_data,nrhopn)
+    call splder(r1,dr1,nrhopn,spline_data)
+    call splder(p1,dp1,nrhopn,spline_data)
+    call splder(dr1,ddr1,nrhopn,spline_data)
+
+
+    end subroutine Nu_init
+
+    !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+    subroutine nuRhoPres(am,rhonu,pnu)
+    !  Compute the density and pressure of one eigenstate of massive neutrinos,
+    !  in units of the mean density of one flavor of massless neutrinos.
+
+    real(dl),  parameter :: qmax=30._dl
+    integer, parameter :: nq=100
+    real(dl) dum1(nq+1),dum2(nq+1)
+    real(dl), intent(in) :: am
+    real(dl), intent(out) ::  rhonu,pnu
+    integer i
+    real(dl) q,aq,v,aqdn,adq
+
+
+    !  q is the comoving momentum in units of k_B*T_nu0/c.
+    !  Integrate up to qmax and then use asymptotic expansion for remainder.
+    adq=qmax/nq
+    dum1(1)=0._dl
+    dum2(1)=0._dl
+    do  i=1,nq
+        q=i*adq
+        aq=am/q
+        v=1._dl/sqrt(1._dl+aq*aq)
+        aqdn=adq*q*q*q/(exp(q)+1._dl)
+        dum1(i+1)=aqdn/v
+        dum2(i+1)=aqdn*v
+    end do
+    call splint(dum1,rhonu,nq+1)
+    call splint(dum2,pnu,nq+1)
+    !  Apply asymptotic corrrection for q>qmax and normalize by relativistic
+    !  energy density.
+    rhonu=(rhonu+dum1(nq+1)/adq)/const
+    pnu=(pnu+dum2(nq+1)/adq)/const/3._dl
+
+    end subroutine nuRhoPres
+
+    !cccccccccccccccccccccccccccccccccccccccccc
+    subroutine Nu_background(am,rhonu,pnu)
+    use precision
+    use ModelParams
+    real(dl), intent(in) :: am
+    real(dl), intent(out) :: rhonu, pnu
+
+    !  Compute massive neutrino density and pressure in units of the mean
+    !  density of one eigenstate of massless neutrinos.  Use cubic splines to
+    !  interpolate from a table.
+
+    real(dl) d
+    integer i
+
+    if (am <= am_minp) then
+        rhonu=1._dl + const2*am**2
+        pnu=(2-rhonu)/3._dl
+        return
+    else if (am >= am_maxp) then
+        rhonu = 3/(2*const)*(zeta3*am + (15*zeta5)/2/am)
+        pnu = 900._dl/120._dl/const*(zeta5-63._dl/4*Zeta7/am**2)/am
+        return
+    end if
+
+
+    d=log(am/am_min)/dlnam+1._dl
+    i=int(d)
+    d=d-i
+
+    !  Cubic spline interpolation.
+    rhonu=r1(i)+d*(dr1(i)+d*(3._dl*(r1(i+1)-r1(i))-2._dl*dr1(i) &
+    -dr1(i+1)+d*(dr1(i)+dr1(i+1)+2._dl*(r1(i)-r1(i+1)))))
+    pnu=p1(i)+d*(dp1(i)+d*(3._dl*(p1(i+1)-p1(i))-2._dl*dp1(i) &
+    -dp1(i+1)+d*(dp1(i)+dp1(i+1)+2._dl*(p1(i)-p1(i+1)))))
+    rhonu=exp(rhonu)
+    pnu=exp(pnu)
+
+    end subroutine Nu_background
+
+    !cccccccccccccccccccccccccccccccccccccccccc
+    subroutine Nu_rho(am,rhonu)
+    use precision
+    use ModelParams
+    real(dl), intent(in) :: am
+    real(dl), intent(out) :: rhonu
+
+    !  Compute massive neutrino density in units of the mean
+    !  density of one eigenstate of massless neutrinos.  Use cubic splines to
+    !  interpolate from a table.
+
+    real(dl) d
+    integer i
+
+    if (am <= am_minp) then
+        rhonu=1._dl + const2*am**2
+        return
+    else if (am >= am_maxp) then
+        rhonu = 3/(2*const)*(zeta3*am + (15*zeta5)/2/am)
+        return
+    end if
+
+    d=log(am/am_min)/dlnam+1._dl
+    i=int(d)
+    d=d-i
+
+    !  Cubic spline interpolation.
+    rhonu=r1(i)+d*(dr1(i)+d*(3._dl*(r1(i+1)-r1(i))-2._dl*dr1(i) &
+    -dr1(i+1)+d*(dr1(i)+dr1(i+1)+2._dl*(r1(i)-r1(i+1)))))
+    rhonu=exp(rhonu)
+    end subroutine Nu_rho
+
+    !ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+    function Nu_drho(am,adotoa,rhonu) result (rhonudot)
+    use precision
+    use ModelParams
+
+    !  Compute the time derivative of the mean density in massive neutrinos
+    !  and the shear perturbation.
+    real(dl) adotoa,rhonu,rhonudot
+    real(dl) d
+    real(dl), intent(IN) :: am
+    integer i
+
+    if (am< am_minp) then
+        rhonudot = 2*const2*am**2*adotoa
+    else if (am>am_maxp) then
+        rhonudot = 3/(2*const)*(zeta3*am - (15*zeta5)/2/am)*adotoa
+    else
+        d=log(am/am_min)/dlnam+1._dl
+        i=int(d)
+        d=d-i
+        !  Cubic spline interpolation for rhonudot.
+        rhonudot=dr1(i)+d*(ddr1(i)+d*(3._dl*(dr1(i+1)-dr1(i)) &
+        -2._dl*ddr1(i)-ddr1(i+1)+d*(ddr1(i)+ddr1(i+1) &
+        +2._dl*(dr1(i)-dr1(i+1)))))
+
+        rhonudot=rhonu*adotoa*rhonudot/dlnam
+    end if
+
+    end function Nu_drho
+
+    end module MassiveNu
+
+    ! wrapper function to avoid cirular module references
+    subroutine init_massive_nu(has_massive_nu)
+    use MassiveNu
+    use ModelParams
+    implicit none
+    logical, intent(IN) :: has_massive_nu
+
+    if (has_massive_nu) then
+        call Nu_Init
+    else
+        nu_masses = 0
+    end if
+    end subroutine init_massive_nu
+
+
+    !ccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+    module Transfer
+    use ModelData
+    use Errors
+    implicit none
+    public
+    !!Flag for axion transfer function
+    integer, parameter :: Transfer_kh =1, Transfer_cdm=2,Transfer_b=3,Transfer_g=4, &
+    Transfer_r=5, Transfer_nu = 6,  & !massless and massive neutrino
+    Transfer_axion=7,  Transfer_f=8, & ! DM: Axions and growth rate     
+    Transfer_tot=9
+
+    integer, parameter :: Transfer_max = Transfer_tot
+
+    logical :: transfer_interp_matterpower  = .true. !output regular grid in log k
+    !set to false to output calculated values for later interpolation
+
+    integer :: transfer_power_var = Transfer_tot
+    !What to use to calulcate the output matter power spectrum and sigma_8
+    !Transfer_tot uses total matter perturbation
+
+    Type MatterTransferData
+        !Computed data
+        integer   ::  num_q_trans   !    number of steps in k for transfer calculation
+        real(dl), dimension (:), pointer :: q_trans => NULL()
+        real(dl), dimension (:,:), pointer ::  sigma_8 => NULL()
+        real, dimension(:,:,:), pointer :: TransferData => NULL()
+        !TransferData(entry,k_index,z_index) for entry=Tranfer_kh.. Transfer_tot
+    end Type MatterTransferData
+
+    Type MatterPowerData
+        !everything is a function of k/h
+        integer   ::  num_k, num_z
+        real(dl), dimension(:), pointer :: log_kh => NULL(), redshifts => NULL()
+        !matpower is log(P_k)
+        real(dl), dimension(:,:), allocatable :: matpower, ddmat
+        !if NonLinear, nonlin_ratio =  sqrt(P_nonlinear/P_linear)
+        !function of k and redshift NonLinearScaling(k_index,z_index)
+        real(dl), dimension(:,:), pointer :: nonlin_ratio => NULL()
+    end Type MatterPowerData
+
+    Type (MatterTransferData), save :: MT
+
+    interface Transfer_GetMatterPower
+    module procedure Transfer_GetMatterPowerD,Transfer_GetMatterPowerS
+    end interface
+
+    contains
+
+    subroutine Transfer_GetMatterPowerData(MTrans, PK_data, in, itf_only)
+    !Does *NOT* include non-linear corrections
+    !Get total matter power spectrum in units of (h Mpc^{-1})^3 ready for interpolation.
+    !Here there definition is < Delta^2(x) > = 1/(2 pi)^3 int d^3k P_k(k)
+    !We are assuming that Cls are generated so any baryonic wiggles are well sampled and that matter power
+    !sepctrum is generated to beyond the CMB k_max
+    Type(MatterTransferData), intent(in) :: MTrans
+    Type(MatterPowerData) :: PK_data
+    integer, intent(in) :: in
+    integer, intent(in), optional :: itf_only
+    real(dl) h, kh, k, power
+    integer ik
+    integer nz,itf, itf_start, itf_end
+
+
+    real clock_start, clock_stop ! RH timing 
+    call cpu_time(clock_start) ! RH timing  
+    if (present(itf_only)) then
+        itf_start=itf_only
+        itf_end = itf_only
+        nz = 1
+    else
+        itf_start=1
+        nz= size(MTrans%TransferData,3)
+        itf_end = nz
+    end if
+    PK_data%num_k = MTrans%num_q_trans
+    PK_Data%num_z = nz
+
+    allocate(PK_data%matpower(PK_data%num_k,nz))
+    allocate(PK_data%ddmat(PK_data%num_k,nz))
+    allocate(PK_data%nonlin_ratio(PK_data%num_k,nz))
+    allocate(PK_data%log_kh(PK_data%num_k))
+    allocate(PK_data%redshifts(nz))
+    PK_data%redshifts = CP%Transfer%Redshifts(itf_start:itf_end)
+
+    h = CP%H0/100
+
+    do ik=1,MTrans%num_q_trans
+        kh = MTrans%TransferData(Transfer_kh,ik,1)
+        k = kh*h
+        PK_data%log_kh(ik) = log(kh)
+        power = ScalarPower(k,in)
+        if (global_error_flag/=0) then
+            call MatterPowerdata_Free(PK_data)
+            return
+        end if
+        do itf = 1, nz
+            PK_data%matpower(ik,itf) = &
+            log(MTrans%TransferData(transfer_power_var,ik,itf_start+itf-1)**2*k &
+            *pi*twopi*h**3*power)
+        end do
+    end do
+
+    call MatterPowerdata_getsplines(PK_data)
+    
+    call cpu_time(clock_stop) ! RH timing                                                        
+!    print*, 'Total time taken RH:', clock_stop - clock_start   
+    end subroutine Transfer_GetMatterPowerData
+
+    subroutine MatterPowerData_Load(PK_data,fname)
+    !Loads in kh, P_k from file for one redshiftr and one initial power spectrum
+    !Not redshift is not stored in file, so not set correctly
+    !Also note that output _matterpower file is already interpolated, so re-interpolating is probs not a good idea
+
+    !Get total matter power spectrum in units of (h Mpc^{-1})^3 ready for interpolation.
+    !Here there definition is < Delta^2(x) > = 1/(2 pi)^3 int d^3k P_k(k)
+    use AmlUtils
+    character(LEN=*) :: fname
+    Type(MatterPowerData) :: PK_data
+    real(dl)kh, Pk
+    integer ik
+    integer nz
+
+
+    nz = 1
+    call openTxtFile(fname, fileio_unit)
+
+    PK_data%num_k = FileLines(fileio_unit)
+    PK_Data%num_z = 1
+
+    allocate(PK_data%matpower(PK_data%num_k,nz))
+    allocate(PK_data%ddmat(PK_data%num_k,nz))
+    allocate(PK_data%nonlin_ratio(PK_data%num_k,nz))
+    allocate(PK_data%log_kh(PK_data%num_k))
+
+    allocate(PK_data%redshifts(nz))
+    PK_data%redshifts = 0
+
+    do ik=1,PK_data%num_k
+        read (fileio_unit,*) kh, Pk
+        PK_data%matpower(ik,1) = log(Pk)
+        PK_data%log_kh(ik) = log(kh)
+    end do
+
+    call MatterPowerdata_getsplines(PK_data)
+
+    end subroutine MatterPowerData_Load
+
+
+    subroutine MatterPowerdata_getsplines(PK_data)
+    Type(MatterPowerData) :: PK_data
+    integer i
+    real(dl), parameter :: cllo=1.e30_dl,clhi=1.e30_dl
+
+    real clock_start, clock_stop ! RH timing
+    call cpu_time(clock_start) ! RH timing
+    do i = 1,PK_Data%num_z
+        call spline(PK_data%log_kh,PK_data%matpower(1,i),PK_data%num_k,&
+        cllo,clhi,PK_data%ddmat(1,i))
+    end do
+    call cpu_time(clock_stop) ! RH timing                                                        
+!    print*, 'Total time taken RH:', clock_stop - clock_start
+    end subroutine MatterPowerdata_getsplines
+
+    subroutine MatterPowerdata_MakeNonlinear(PK_data)
+    Type(MatterPowerData) :: PK_data
+
+    call NonLinear_GetRatios(PK_data)
+    PK_data%matpower = PK_data%matpower +  2*log(PK_data%nonlin_ratio)
+    call MatterPowerdata_getsplines(PK_data)
+
+    end subroutine MatterPowerdata_MakeNonlinear
+
+    subroutine MatterPowerdata_Free(PK_data)
+    Type(MatterPowerData) :: PK_data
+    integer i
+
+    deallocate(PK_data%log_kh,stat=i)
+    deallocate(PK_data%matpower,stat=i)
+    deallocate(PK_data%ddmat,stat=i)
+    deallocate(PK_data%nonlin_ratio,stat=i)
+    deallocate(PK_data%redshifts,stat=i)
+    call MatterPowerdata_Nullify(PK_data)
+
+    end subroutine MatterPowerdata_Free
+
+    subroutine MatterPowerdata_Nullify(PK_data)
+    Type(MatterPowerData) :: PK_data
+
+    nullify(PK_data%log_kh)
+    nullify(PK_data%nonlin_ratio)
+    nullify(PK_data%redshifts)
+
+    end subroutine MatterPowerdata_Nullify
+
+    function MatterPowerData_k(PK,  kh, itf) result(outpower)
+    !Get matter power spectrum at particular k/h by interpolation
+    Type(MatterPowerData) :: PK
+    integer, intent(in) :: itf
+    real (dl), intent(in) :: kh
+    real(dl) :: logk
+    integer llo,lhi
+    real(dl) outpower, dp
+    real(dl) ho,a0,b0
+    integer, save :: i_last = 1
+
+    logk = log(kh)
+    if (logk < PK%log_kh(1)) then
+        dp = (PK%matpower(2,itf) -  PK%matpower(1,itf)) / &
+        ( PK%log_kh(2)-PK%log_kh(1) )
+        outpower = PK%matpower(1,itf) + dp*(logk - PK%log_kh(1))
+    else if (logk > PK%log_kh(PK%num_k)) then
+        !Do dodgy linear extrapolation on assumption accuracy of result won't matter
+
+        dp = (PK%matpower(PK%num_k,itf) -  PK%matpower(PK%num_k-1,itf)) / &
+        ( PK%log_kh(PK%num_k)-PK%log_kh(PK%num_k-1) )
+        outpower = PK%matpower(PK%num_k,itf) + dp*(logk - PK%log_kh(PK%num_k))
+    else
+        llo=min(i_last,PK%num_k)
+        do while (PK%log_kh(llo) > logk)
+            llo=llo-1
+        end do
+        do while (PK%log_kh(llo+1)< logk)
+            llo=llo+1
+        end do
+        i_last =llo
+        lhi=llo+1
+        ho=PK%log_kh(lhi)-PK%log_kh(llo)
+        a0=(PK%log_kh(lhi)-logk)/ho
+        b0=1-a0
+
+        outpower = a0*PK%matpower(llo,itf)+ b0*PK%matpower(lhi,itf)+&
+        ((a0**3-a0)* PK%ddmat(llo,itf) &
+        +(b0**3-b0)*PK%ddmat(lhi,itf))*ho**2/6
+    end if
+
+
+!    outpower = exp(max(-30._dl,outpower))
+    outpower = exp(outpower) ! RH change for axions
+
+    end function MatterPowerData_k
+
+    subroutine Transfer_GetMatterPowerS(MTrans,outpower, itf, in, minkh, dlnkh, npoints)
+    Type(MatterTransferData), intent(in) :: MTrans
+    integer, intent(in) :: itf, in, npoints
+    real, intent(out) :: outpower(*)
+    real, intent(in) :: minkh, dlnkh
+    real(dl) :: outpowerd(npoints)
+    real(dl):: minkhd, dlnkhd
+
+    minkhd = minkh; dlnkhd = dlnkh
+    call Transfer_GetMatterPowerD(MTrans,outpowerd, itf, in, minkhd, dlnkhd, npoints)
+    outpower(1:npoints) = outpowerd(1:npoints)
+
+    end subroutine Transfer_GetMatterPowerS
+
+    !JD 08/13 for nonlinear lensing of CMB + LSS compatibility
+    !Changed input variable from itf to itf_PK because we are looking for the itf_PK'th
+    !redshift in the PK_redshifts array.  The position of this redshift in the master redshift
+    !array, itf, is given by itf = CP%Transfer%Pk_redshifts_index(itf_PK)
+    !Also changed (CP%NonLinear/=NonLinear_None) to
+    !CP%NonLinear/=NonLinear_none .and. CP%NonLinear/=NonLinear_Lens)
+    subroutine Transfer_GetMatterPowerD(MTrans,outpower, itf_PK, in, minkh, dlnkh, npoints)
+    !Allows for non-smooth priordial spectra
+    !if CP%Nonlinear/ = NonLinear_none includes non-linear evolution
+    !Get total matter power spectrum at logarithmically equal intervals dlnkh of k/h starting at minkh
+    !in units of (h Mpc^{-1})^3.
+    !Here there definition is < Delta^2(x) > = 1/(2 pi)^3 int d^3k P_k(k)
+    !We are assuming that Cls are generated so any baryonic wiggles are well sampled and that matter power
+    !sepctrum is generated to beyond the CMB k_max
+    Type(MatterTransferData), intent(in) :: MTrans
+    Type(MatterPowerData) :: PK
+
+    integer, intent(in) :: itf_PK, in, npoints
+    real(dl), intent(out) :: outpower(npoints)
+    real(dl), intent(in) :: minkh, dlnkh
+    real(dl), parameter :: cllo=1.e30_dl,clhi=1.e30_dl
+    integer ik, llo,il,lhi,lastix
+    real(dl) matpower(MTrans%num_q_trans), kh, kvals(MTrans%num_q_trans), ddmat(MTrans%num_q_trans)
+    real(dl) atransfer,xi, a0, b0, ho, logmink,k, h
+    integer itf
+
+    itf = CP%Transfer%PK_redshifts_index(itf_PK)
+
+    if (npoints < 2) stop 'Need at least 2 points in Transfer_GetMatterPower'
+
+    !         if (minkh < MTrans%TransferData(Transfer_kh,1,itf)) then
+    !            stop 'Transfer_GetMatterPower: kh out of computed region'
+    !          end if
+    if (minkh*exp((npoints-1)*dlnkh) > MTrans%TransferData(Transfer_kh,MTrans%num_q_trans,itf) &
+    .and. FeedbackLevel > 0 ) &
+    write(*,*) 'Warning: extrapolating matter power in Transfer_GetMatterPower'
+
+
+    if (CP%NonLinear/=NonLinear_none .and. CP%NonLinear/=NonLinear_Lens) then
+        call Transfer_GetMatterPowerData(MTrans, PK, in, itf)
+        call NonLinear_GetRatios(PK)
+    end if
+
+    h = CP%H0/100
+    logmink = log(minkh)
+    do ik=1,MTrans%num_q_trans
+        kh = MTrans%TransferData(Transfer_kh,ik,itf)
+        k = kh*h
+        kvals(ik) = log(kh)
+        atransfer=MTrans%TransferData(transfer_power_var,ik,itf)
+        if (CP%NonLinear/=NonLinear_none .and. CP%NonLinear/=NonLinear_Lens) &
+        atransfer = atransfer* PK%nonlin_ratio(ik,1) !only one element, this itf
+        matpower(ik) = log(atransfer**2*k*pi*twopi*h**3)
+        !Put in power spectrum later: transfer functions should be smooth, initial power may not be
+    end do
+
+    call spline(kvals,matpower,MTrans%num_q_trans,cllo,clhi,ddmat)
+
+    llo=1
+    lastix = npoints + 1
+    do il=1, npoints
+        xi=logmink + dlnkh*(il-1)
+        if (xi < kvals(1)) then
+            outpower(il)=-30.
+            cycle
+        end if
+        do while ((xi > kvals(llo+1)).and.(llo < MTrans%num_q_trans))
+            llo=llo+1
+            if (llo >= MTrans%num_q_trans) exit
+        end do
+        if (llo == MTrans%num_q_trans) then
+            lastix = il
+            exit
+        end if
+        lhi=llo+1
+        ho=kvals(lhi)-kvals(llo)
+        a0=(kvals(lhi)-xi)/ho
+        b0=(xi-kvals(llo))/ho
+
+        outpower(il) = a0*matpower(llo)+ b0*matpower(lhi)+((a0**3-a0)* ddmat(llo) &
+        +(b0**3-b0)*ddmat(lhi))*ho**2/6
+    end do
+
+    do while (lastix <= npoints)
+        !Do linear extrapolation in the log
+        !Obviouly inaccurate, non-linear etc, but OK if only using in tails of window functions
+        outpower(lastix) = 2*outpower(lastix-1) - outpower(lastix-2)
+        lastix = lastix+1
+    end do
+
+!    outpower = exp(max(-30.d0,outpower))
+    outpower = exp(outpower) ! RH change for axions
+
+    do il = 1, npoints
+        k = exp(logmink + dlnkh*(il-1))*h
+        outpower(il) = outpower(il) * ScalarPower(k,in)
+        if (global_error_flag /= 0) exit
+    end do
+
+    if (CP%NonLinear/=NonLinear_none .and. CP%NonLinear/=NonLinear_Lens) call MatterPowerdata_Free(PK)
+
+    end subroutine Transfer_GetMatterPowerD
+
+    subroutine Transfer_Get_sigma8(MTrans, sigr8)
+    use MassiveNu
+    Type(MatterTransferData) :: MTrans
+    integer ik, itf, in
+    real(dl) kh, k, h, x, win, delta
+    real(dl) lnk, dlnk, lnko
+    real(dl) dsig8, dsig8o, sig8, sig8o, powers
+    real(dl), intent(IN) :: sigr8
+    !JD 08/13 Changes in here to PK arrays and variables
+    integer itf_PK
+    !Calculate MTrans%sigma_8^2 = int dk/k win**2 T_k**2 P(k), where win is the FT of a spherical top hat
+    !of radius sigr8 h^{-1} Mpc
+
+    if (global_error_flag /= 0) return
+
+    H=CP%h0/100._dl
+    do in = 1, CP%InitPower%nn
+        do itf_PK=1,CP%Transfer%PK_num_redshifts
+            itf = CP%Transfer%PK_redshifts_index(itf_PK)
+            lnko=0
+            dsig8o=0
+            sig8=0
+            sig8o=0
+            do ik=1, MTrans%num_q_trans
+                kh = MTrans%TransferData(Transfer_kh,ik,itf)
+                if (kh==0) cycle
+                k = kh*H
+
+                delta = k**2*MTrans%TransferData(transfer_power_var,ik,itf)
+                !if (CP%NonLinear/=NonLinear_None) delta= delta* MTrans%NonLinearScaling(ik,itf)
+                !sigma_8 defined "as though it were linear"
+
+                x= kh *sigr8
+                win =3*(sin(x)-x*cos(x))/x**3
+                lnk=log(k)
+                if (ik==1) then
+                    dlnk=0.5_dl
+                    !Approx for 2._dl/(CP%InitPower%an(in)+3)  [From int_0^k_1 dk/k k^4 P(k)]
+                    !Contribution should be very small in any case
+                else
+                    dlnk=lnk-lnko
+                end if
+                powers = ScalarPower(k,in)
+                dsig8=(win*delta)**2*powers
+                sig8=sig8+(dsig8+dsig8o)*dlnk/2
+                dsig8o=dsig8
+                lnko=lnk
+            end do
+
+            MTrans%sigma_8(itf_PK,in) = sqrt(sig8)
+        end do
+    end do
+
+    end subroutine Transfer_Get_sigma8
+
+    subroutine Transfer_output_Sig8(MTrans)
+    Type(MatterTransferData), intent(in) :: MTrans
+    integer in, j
+    !JD 08/13 Changes in here to PK arrays and variables
+    integer j_PK
+
+    do in=1, CP%InitPower%nn
+        if (CP%InitPower%nn>1)  write(*,*) 'Power spectrum : ', in
+        do j_PK=1, CP%Transfer%PK_num_redshifts
+            j = CP%Transfer%PK_redshifts_index(j_PK)
+            write(*,*) 'at z = ',real(CP%Transfer%redshifts(j)), ' sigma8 (all matter)=', real(MTrans%sigma_8(j_PK,in))
+        end do
+    end do
+
+    end subroutine Transfer_output_Sig8
+
+    subroutine Transfer_Allocate(MTrans)
+    Type(MatterTransferData) :: MTrans
+    integer st
+
+    deallocate(MTrans%q_trans, STAT = st)
+    deallocate(MTrans%TransferData, STAT = st)
+    deallocate(MTrans%sigma_8, STAT = st)
+    allocate(MTrans%q_trans(MTrans%num_q_trans))
+    allocate(MTrans%TransferData(Transfer_max,MTrans%num_q_trans,CP%Transfer%num_redshifts))
+    !JD 08/13 Changes in here to PK arrays and variables
+    allocate(MTrans%sigma_8(CP%Transfer%PK_num_redshifts, CP%InitPower%nn))
+
+    end  subroutine Transfer_Allocate
+
+    subroutine Transfer_Free(MTrans)
+    Type(MatterTransferData):: MTrans
+    integer st
+
+    deallocate(MTrans%q_trans, STAT = st)
+    deallocate(MTrans%TransferData, STAT = st)
+    deallocate(MTrans%sigma_8, STAT = st)
+    nullify(MTrans%q_trans)
+    nullify(MTrans%TransferData)
+    nullify(MTrans%sigma_8)
+
+    end subroutine Transfer_Free
+
+    !JD 08/13 Changes for nonlinear lensing of CMB + MPK compatibility
+    !Changed function below to write to only P%NLL_*redshifts* variables
+    subroutine Transfer_SetForNonlinearLensing(P)
+    Type(TransferParams) :: P
+    integer i
+    real maxRedshift
+
+    P%kmax = max(P%kmax,5*AccuracyBoost)
+    P%k_per_logint  = 0
+    maxRedshift = 10
+
+!    P%NLL_num_redshifts =  nint(10*AccuracyBoost) ! RH original 
+    P%NLL_num_redshifts =  nint(100*AccuracyBoost) ! RH change for axions
+
+
+    if (HighAccuracyDefault .and. AccuracyBoost>=2) then
+        !only notionally more accuracy, more stable for RS
+        maxRedshift =15
+    end if
+    if (P%NLL_num_redshifts > max_transfer_redshifts) &
+    stop 'Transfer_SetForNonlinearLensing: Too many redshifts'
+    do i=1,P%NLL_num_redshifts
+        P%NLL_redshifts(i) = real(P%NLL_num_redshifts-i)/(P%NLL_num_redshifts/maxRedshift)
+    end do
+
+    end subroutine Transfer_SetForNonlinearLensing
+
+
+
+    subroutine Transfer_SaveToFiles(MTrans,FileNames)
+    use IniFile
+    Type(MatterTransferData), intent(in) :: MTrans
+    integer i,ik
+    character(LEN=Ini_max_string_len), intent(IN) :: FileNames(*)
+    !JD 08/13 Changes in here to PK arrays and variables
+    integer i_PK
+
+    do i_PK=1, CP%Transfer%PK_num_redshifts
+        if (FileNames(i_PK) /= '') then
+            i = CP%Transfer%PK_redshifts_index(i_PK)
+            open(unit=fileio_unit,file=FileNames(i_PK),form='formatted',status='replace')
+            do ik=1,MTrans%num_q_trans
+                if (MTrans%TransferData(Transfer_kh,ik,i)/=0) then
+!                    write(fileio_unit,'(7E14.6)') MTrans%TransferData(Transfer_kh:Transfer_max,ik,i)
+                    write(fileio_unit,'(9E14.6)') MTrans%TransferData(Transfer_kh:Transfer_max,ik,i) ! axion
+                end if
+            end do
+            close(fileio_unit)
+        end if
+    end do
+
+
+    end subroutine Transfer_SaveToFiles
+
+    subroutine Transfer_SaveMatterPower(MTrans, FileNames)
+    use IniFile
+    !Export files of total  matter power spectra in h^{-1} Mpc units, against k/h.
+    Type(MatterTransferData), intent(in) :: MTrans
+    character(LEN=Ini_max_string_len), intent(IN) :: FileNames(*)
+    integer itf,in,i
+    integer points
+    real, dimension(:,:,:), allocatable :: outpower
+    character(LEN=80) fmt
+    real minkh,dlnkh
+    Type(MatterPowerData) :: PK_data
+    integer ncol
+    !JD 08/13 Changes in here to PK arrays and variables
+    integer itf_PK
+
+    ncol=1
+
+    write (fmt,*) CP%InitPower%nn+1
+    fmt = '('//trim(adjustl(fmt))//'E15.5)'
+    do itf=1, CP%Transfer%PK_num_redshifts
+        if (FileNames(itf) /= '') then
+            if (.not. transfer_interp_matterpower ) then
+                itf_PK = CP%Transfer%PK_redshifts_index(itf)
+
+                points = MTrans%num_q_trans
+                allocate(outpower(points,CP%InitPower%nn,ncol))
+
+                do in = 1, CP%InitPower%nn
+                    call Transfer_GetMatterPowerData(MTrans, PK_data, in, itf_PK)
+                    !JD 08/13 for nonlinear lensing of CMB + LSS compatibility
+                    !Changed (CP%NonLinear/=NonLinear_None) to CP%NonLinear/=NonLinear_none .and. CP%NonLinear/=NonLinear_Lens)
+                    if(CP%NonLinear/=NonLinear_none .and. CP%NonLinear/=NonLinear_Lens)&
+                    call MatterPowerdata_MakeNonlinear(PK_Data)
+
+                    outpower(:,in,1) = exp(PK_data%matpower(:,1))
+                    call MatterPowerdata_Free(PK_Data)
+                end do
+
+                open(unit=fileio_unit,file=FileNames(itf),form='formatted',status='replace')
+                do i=1,points
+                    write (fileio_unit, fmt) MTrans%TransferData(Transfer_kh,i,1),outpower(i,1:CP%InitPower%nn,:)
+                end do
+                close(fileio_unit)
+            else
+                minkh = 1e-4
+                dlnkh = 0.02
+                points = log(MTrans%TransferData(Transfer_kh,MTrans%num_q_trans,itf)/minkh)/dlnkh+1
+                !             dlnkh = log(MTrans%TransferData(Transfer_kh,MTrans%num_q_trans,itf)/minkh)/(points-0.999)
+                allocate(outpower(points,CP%InitPower%nn,1))
+                do in = 1, CP%InitPower%nn
+                    call Transfer_GetMatterPowerS(MTrans,outpower(1,in,1), itf, in, minkh,dlnkh, points)
+                end do
+
+                open(unit=fileio_unit,file=FileNames(itf),form='formatted',status='replace')
+                do i=1,points
+                    write (fileio_unit, fmt) minkh*exp((i-1)*dlnkh),outpower(i,1:CP%InitPower%nn,1)
+                end do
+                close(fileio_unit)
+            end if
+
+            deallocate(outpower)
+        end if
+    end do
+
+    end subroutine Transfer_SaveMatterPower
+
+    !JD 08/13 New function for nonlinear lensing of CMB + MPK compatibility
+    !Build master redshift array from array of desired Nonlinear lensing (NLL)
+    !redshifts and an array of desired Power spectrum (PK) redshifts.
+    !At the same time fill arrays for NLL and PK that indicate indices
+    !of their desired redshifts in the master redshift array.
+    !Finally define number of redshifts in master array. This is usually given by:
+    !P%num_redshifts = P%PK_num_redshifts + P%NLL_num_redshifts - 1.  The -1 comes
+    !from the fact that z=0 is in both arrays
+    subroutine Transfer_SortAndIndexRedshifts(P)
+    Type(TransferParams) :: P
+    integer i, iPK, iNLL
+    i=0
+    iPK=1
+    iNLL=1
+    do while (iPk<=P%PK_num_redshifts .or. iNLL<=P%NLL_num_redshifts)
+        !JD write the next line like this to account for roundoff issues with ==. Preference given to PK_Redshift
+        if(max(P%NLL_redshifts(iNLL),P%PK_redshifts(iPK))-min(P%NLL_redshifts(iNLL),P%PK_redshifts(iPK))<1.d-5)then
+            i=i+1
+            P%redshifts(i)=P%PK_redshifts(iPK)
+            P%PK_redshifts_index(iPK)=i
+            P%NLL_redshifts_index(iNLL)=i
+            iPK=iPK+1
+            iNLL=iNLL+1
+        else if(P%NLL_redshifts(iNLL)>P%PK_redshifts(iPK))then
+            i=i+1
+            P%redshifts(i)=P%NLL_redshifts(iNLL)
+            P%NLL_redshifts_index(iNLL)=i
+            iNLL=iNLL+1
+        else
+            i=i+1
+            P%redshifts(i)=P%PK_redshifts(iPK)
+            P%PK_redshifts_index(iPK)=i
+            iPK=iPK+1
+        end if
+    end do
+    P%num_redshifts=i
+    if (P%num_redshifts > max_transfer_redshifts) &
+    call Mpistop('Transfer_SortAndIndexRedshifts: Too many redshifts')
+    end subroutine Transfer_SortAndIndexRedshifts
+
+    end module Transfer
+
+
+    !ccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+    module ThermoData
+    use ModelData
+    implicit none
+    private
+    integer,parameter :: nthermo=20000
+
+    real(dl) tb(nthermo),cs2(nthermo),xe(nthermo)
+    real(dl) dcs2(nthermo)
+    real(dl) dotmu(nthermo), ddotmu(nthermo)
+    real(dl) sdotmu(nthermo),emmu(nthermo)
+    real(dl) demmu(nthermo)
+    real(dl) dddotmu(nthermo),ddddotmu(nthermo)
+    real(dl) winlens(nthermo),dwinlens(nthermo), scalefactor(nthermo)
+    real(dl) tauminn,dlntau,Maxtau
+    real(dl), dimension(:), allocatable :: vis,dvis,ddvis,expmmu,dopac, opac, lenswin
+    logical, parameter :: dowinlens = .false.
+
+    real(dl) :: tight_tau, actual_opt_depth
+    !Times when 1/(opacity*tau) = 0.01, for use switching tight coupling approximation
+    real(dl) :: matter_verydom_tau
+    real(dl) :: r_drag0, z_star, z_drag  !!JH for updated BAO likelihood.
+
+    public thermo,inithermo,vis,opac,expmmu,dvis,dopac,ddvis,lenswin, tight_tau,&
+    Thermo_OpacityToTime,matter_verydom_tau, ThermoData_Free,&
+    z_star, z_drag  !!JH for updated BAO likelihood.
+    contains
+
+    subroutine thermo(tau,cs2b,opacity, dopacity)
+    !Compute unperturbed sound speed squared,
+    !and ionization fraction by interpolating pre-computed tables.
+    !If requested also get time derivative of opacity
+    implicit none
+    real(dl) tau,cs2b,opacity
+    real(dl), intent(out), optional :: dopacity
+
+    integer i
+    real(dl) d
+
+    d=log(tau/tauminn)/dlntau+1._dl
+    i=int(d)
+    d=d-i
+    if (i < 1) then
+        !Linear interpolation if out of bounds (should not occur).
+        cs2b=cs2(1)+(d+i-1)*dcs2(1)
+        opacity=dotmu(1)+(d-1)*ddotmu(1)
+        stop 'thermo out of bounds'
+    else if (i >= nthermo) then
+        cs2b=cs2(nthermo)+(d+i-nthermo)*dcs2(nthermo)
+        opacity=dotmu(nthermo)+(d-nthermo)*ddotmu(nthermo)
+        if (present(dopacity)) then
+            dopacity = 0
+            stop 'thermo: shouldn''t happen'
+        end if
+    else
+        !Cubic spline interpolation.
+        cs2b=cs2(i)+d*(dcs2(i)+d*(3*(cs2(i+1)-cs2(i))  &
+        -2*dcs2(i)-dcs2(i+1)+d*(dcs2(i)+dcs2(i+1)  &
+        +2*(cs2(i)-cs2(i+1)))))
+        opacity=dotmu(i)+d*(ddotmu(i)+d*(3*(dotmu(i+1)-dotmu(i)) &
+        -2*ddotmu(i)-ddotmu(i+1)+d*(ddotmu(i)+ddotmu(i+1) &
+        +2*(dotmu(i)-dotmu(i+1)))))
+
+        if (present(dopacity)) then
+            dopacity=(ddotmu(i)+d*(dddotmu(i)+d*(3*(ddotmu(i+1)  &
+            -ddotmu(i))-2*dddotmu(i)-dddotmu(i+1)+d*(dddotmu(i) &
+            +dddotmu(i+1)+2*(ddotmu(i)-ddotmu(i+1))))))/(tau*dlntau)
+        end if
+    end if
+    end subroutine thermo
+
+
+    function Thermo_OpacityToTime(opacity)
+    real(dl), intent(in) :: opacity
+    integer j
+    real(dl) Thermo_OpacityToTime
+    !Do this the bad slow way for now..
+    !The answer is approximate
+    j =1
+    do while(dotmu(j)> opacity)
+        j=j+1
+    end do
+
+    Thermo_OpacityToTime = exp((j-1)*dlntau)*tauminn
+
+    end function Thermo_OpacityToTime
+
+    subroutine inithermo(taumin,taumax)
+    !  Compute and save unperturbed baryon temperature and ionization fraction
+    !  as a function of time.  With nthermo=10000, xe(tau) has a relative
+    ! accuracy (numerical integration precision) better than 1.e-5.
+    use constants
+    use precision
+    use ModelParams
+    use MassiveNu
+    real(dl) taumin,taumax
+
+
+    real(dl) tau01,adot0,a0,a02,x1,x2,barssc,dtau
+    real(dl) xe0,tau,a,a2
+    real(dl) adot,tg0,ahalf,adothalf,fe,thomc,thomc0,etc,a2t
+    real(dl) dtbdla,vfi,cf1,maxvis, vis
+    integer ncount,i,j1,j2,iv,ns
+    real(dl) spline_data(nthermo)
+    real(dl) last_dotmu
+    real(dl) dtauda  !diff of tau w.CP%r.t a and integration
+    external dtauda
+    real(dl) a_verydom
+    real(dl) awin_lens1p,awin_lens2p,dwing_lens, rs, DA
+    real(dl) rombint
+    integer noutput
+    external rombint
+
+	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    !axion version of recfast call                                                                                      \    
+    call Recombination_Init(CP%Recomb, CP%omegac,CP%omegab,CP%Omegan,&
+         CP%Omegav,CP%h0,CP%tcmb,CP%yhe,CP%omegaax,CP%omegar,&
+         ntable,CP%aeq,CP%a_osc,CP%drefp_hsq,CP%loga_table,&
+         CP%grhoax_table,CP%grhoax_table_buff)
+	! Data structures not passed through params because camb data structures significantly different
+
+    ! previous version (for vanilla_lcdm)
+!    call Recombination_Init(CP%Recomb, CP%omegac, CP%omegab,CP%Omegan, CP%Omegav, &
+!    CP%h0,CP%tcmb,CP%yhe,CP%Num_Nu_massless + CP%Num_Nu_massive)
+	!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+    !almost all the time spent here
+    if (global_error_flag/=0) return
+    Maxtau=taumax
+    tight_tau = 0
+    actual_opt_depth = 0
+    ncount=0
+    z_star=0.d0
+    z_drag=0.d0
+    thomc0= Compton_CT * CP%tcmb**4
+    r_drag0 = 3.d0/4.d0*CP%omegab*grhom/grhog
+    !thomc0=5.0577d-8*CP%tcmb**4
+
+    tauminn=0.05d0*taumin
+    dlntau=log(CP%tau0/tauminn)/(nthermo-1)
+    last_dotmu = 0
+
+    matter_verydom_tau = 0
+    a_verydom = AccuracyBoost*5*(grhog+grhornomass)/(grhoc+grhob)
+
+    !  Initial conditions: assume radiation-dominated universe.
+    tau01=tauminn
+    adot0=adotrad
+    a0=adotrad*tauminn
+    a02=a0*a0
+    !  Assume that any entropy generation occurs before tauminn.
+    !  This gives wrong temperature before pair annihilation, but
+    !  the error is harmless.
+    tb(1)=CP%tcmb/a0
+    xe0=1._dl
+    x1=0._dl
+    x2=1._dl
+    xe(1)=xe0+0.25d0*CP%yhe/(1._dl-CP%yhe)*(x1+2*x2)
+    barssc=barssc0*(1._dl-0.75d0*CP%yhe+(1._dl-CP%yhe)*xe(1))
+    cs2(1)=4._dl/3._dl*barssc*tb(1)
+    dotmu(1)=xe(1)*akthom/a02
+    sdotmu(1)=0
+
+    do i=2,nthermo
+        tau=tauminn*exp((i-1)*dlntau)
+        dtau=tau-tau01
+        !  Integrate Friedmann equation using inverse trapezoidal rule.
+
+        a=a0+adot0*dtau
+        scaleFactor(i)=a
+        a2=a*a
+
+        adot=1/dtauda(a)
+
+        if (matter_verydom_tau ==0 .and. a > a_verydom) then
+            matter_verydom_tau = tau
+        end if
+
+        a=a0+2._dl*dtau/(1._dl/adot0+1._dl/adot)
+        !  Baryon temperature evolution: adiabatic except for Thomson cooling.
+        !  Use  quadrature solution.
+        ! This is redundant as also calculated in REFCAST, but agrees well before reionization
+        tg0=CP%tcmb/a0
+        ahalf=0.5d0*(a0+a)
+        adothalf=0.5d0*(adot0+adot)
+        !  fe=number of free electrons divided by total number of free baryon
+        !  particles (e+p+H+He).  Evaluate at timstep i-1 for convenience; if
+        !  more accuracy is required (unlikely) then this can be iterated with
+        !  the solution of the ionization equation.
+        fe=(1._dl-CP%yhe)*xe(i-1)/(1._dl-0.75d0*CP%yhe+(1._dl-CP%yhe)*xe(i-1))
+        thomc=thomc0*fe/adothalf/ahalf**3
+        etc=exp(-thomc*(a-a0))
+        a2t=a0*a0*(tb(i-1)-tg0)*etc-CP%tcmb/thomc*(1._dl-etc)
+        tb(i)=CP%tcmb/a+a2t/(a*a)
+
+        ! If there is re-ionization, smoothly increase xe to the
+        ! requested value.
+        if (CP%Reion%Reionization .and. tau > CP%ReionHist%tau_start) then
+            if(ncount == 0) then
+                ncount=i-1
+            end if
+            xe(i) = Reionization_xe(a, tau, xe(ncount))
+            !print *,1/a-1,xe(i)
+            if (CP%AccurateReionization .and. CP%DerivedParameters) then
+                dotmu(i)=(Recombination_xe(a) - xe(i))*akthom/a2
+
+                if (last_dotmu /=0) then
+                    actual_opt_depth = actual_opt_depth - 2._dl*dtau/(1._dl/dotmu(i)+1._dl/last_dotmu)
+                end if
+                last_dotmu = dotmu(i)
+            end if
+        else
+            xe(i)=Recombination_xe(a)
+        end if
+
+        !  Baryon sound speed squared (over c**2).
+        dtbdla=-2._dl*tb(i)-thomc*adothalf/adot*(a*tb(i)-CP%tcmb)
+        barssc=barssc0*(1._dl-0.75d0*CP%yhe+(1._dl-CP%yhe)*xe(i))
+        cs2(i)=barssc*tb(i)*(1-dtbdla/tb(i)/3._dl)
+
+
+        ! Calculation of the visibility function
+        dotmu(i)=xe(i)*akthom/a2
+
+        if (tight_tau==0 .and. 1/(tau*dotmu(i)) > 0.005) tight_tau = tau !0.005
+        !Tight coupling switch time when k/opacity is smaller than 1/(tau*opacity)
+
+        if (tau < 0.001) then
+            sdotmu(i)=0
+        else
+            sdotmu(i)=sdotmu(i-1)+2._dl*dtau/(1._dl/dotmu(i)+1._dl/dotmu(i-1))
+        end if
+
+        a0=a
+        tau01=tau
+        adot0=adot
+    end do !i
+
+    if (CP%Reion%Reionization .and. (xe(nthermo) < 0.999d0)) then
+        write(*,*)'Warning: xe at redshift zero is < 1'
+        write(*,*) 'Check input parameters an Reionization_xe'
+        write(*,*) 'function in the Reionization module'
+    end if
+
+    do j1=1,nthermo
+        if (sdotmu(j1) - sdotmu(nthermo)< -69) then
+            emmu(j1)=1.d-30
+        else
+            emmu(j1)=exp(sdotmu(j1)-sdotmu(nthermo))
+            if (.not. CP%AccurateReionization .and. &
+            actual_opt_depth==0 .and. xe(j1) < 1e-3) then
+                actual_opt_depth = -sdotmu(j1)+sdotmu(nthermo)
+            end if
+            if (CP%AccurateReionization .and. CP%DerivedParameters .and. z_star==0.d0) then
+                if (sdotmu(nthermo)-sdotmu(j1) - actual_opt_depth < 1) then
+                    tau01=1-(sdotmu(nthermo)-sdotmu(j1) - actual_opt_depth)
+                    tau01=tau01*(1._dl/dotmu(j1)+1._dl/dotmu(j1-1))/2
+                    z_star = 1/(scaleFactor(j1)- tau01/dtauda(scaleFactor(j1))) -1
+                end if
+            end if
+        end if
+    end do
+
+    if (CP%AccurateReionization .and. FeedbackLevel > 0 .and. CP%DerivedParameters) then
+        write(*,'("Reion opt depth      = ",f7.4)') actual_opt_depth
+    end if
+
+
+    iv=0
+    vfi=0._dl
+    ! Getting the starting and finishing times for decoupling and time of maximum visibility
+    if (ncount == 0) then
+        cf1=1._dl
+        ns=nthermo
+    else
+        cf1=exp(sdotmu(nthermo)-sdotmu(ncount))
+        ns=ncount
+    end if
+    maxvis = 0
+    do j1=1,ns
+        vis = emmu(j1)*dotmu(j1)
+        tau = tauminn*exp((j1-1)*dlntau)
+        vfi=vfi+vis*cf1*dlntau*tau
+        if ((iv == 0).and.(vfi > 1.0d-7/AccuracyBoost)) then
+            taurst=9._dl/10._dl*tau
+            iv=1
+        elseif (iv == 1) then
+            if (vis > maxvis) then
+                maxvis=vis
+                tau_maxvis = tau
+            end if
+            if (vfi > 0.995) then
+                taurend=tau
+                iv=2
+                exit
+            end if
+        end if
+    end do
+
+    if (iv /= 2) then
+        call GlobalError('inithermo: failed to find end of recombination',error_reionization)
+        print*, 'omaxh2, omch2, mass, H0', CP%omegaax*(CP%h0/100.)**2, CP%omegac*(CP%h0/100.)**2, CP%ma, CP%h0
+        return
+    end if
+
+    if (dowinlens) then
+        vfi=0
+        awin_lens1p=0
+        awin_lens2p=0
+        winlens=0
+        do j1=1,nthermo-1
+            vis = emmu(j1)*dotmu(j1)
+            tau = tauminn*exp((j1-1)*dlntau)
+            vfi=vfi+vis*cf1*dlntau*tau
+            if (vfi < 0.995) then
+                dwing_lens =  vis*cf1*dlntau*tau / 0.995
+
+                awin_lens1p = awin_lens1p + dwing_lens
+                awin_lens2p = awin_lens2p + dwing_lens/(CP%tau0-tau)
+            end if
+            winlens(j1)= awin_lens1p/(CP%tau0-tau) - awin_lens2p
+        end do
+    end if
+
+    ! Calculating the timesteps during recombination.
+
+    if (CP%WantTensors) then
+        dtaurec=min(dtaurec,taurst/160)/AccuracyBoost
+    else
+        dtaurec=min(dtaurec,taurst/40)/AccuracyBoost
+        if (do_bispectrum .and. hard_bispectrum) dtaurec = dtaurec / 4
+    end if
+
+    if (CP%Reion%Reionization) taurend=min(taurend,CP%ReionHist%tau_start)
+
+    if (DebugMsgs) then
+        write (*,*) 'taurst, taurend = ', taurst, taurend
+    end if
+
+    call splini(spline_data,nthermo)
+    call splder(cs2,dcs2,nthermo,spline_data)
+    call splder(dotmu,ddotmu,nthermo,spline_data)
+    call splder(ddotmu,dddotmu,nthermo,spline_data)
+    call splder(dddotmu,ddddotmu,nthermo,spline_data)
+    call splder(emmu,demmu,nthermo,spline_data)
+    if (dowinlens) call splder(winlens,dwinlens,nthermo,spline_data)
+
+    call SetTimeSteps
+
+    !$OMP PARALLEL DO DEFAULT(SHARED),SCHEDULE(STATIC)
+    do j2=1,TimeSteps%npoints
+        call DoThermoSpline(j2,TimeSteps%points(j2))
+    end do
+    !$OMP END PARALLEL DO
+
+
+    if ((CP%want_zstar .or. CP%DerivedParameters) .and. z_star==0.d0) call find_z(optdepth,z_star)
+    if (CP%want_zdrag .or. CP%DerivedParameters) call find_z(dragoptdepth,z_drag)
+
+    if (CP%DerivedParameters) then
+        rs =rombint(dsound_da_exact,1d-8,1/(z_star+1),1d-6)
+        DA = AngularDiameterDistance(z_star)/(1/(z_star+1))
+
+        ThermoDerivedParams( derived_Age ) = DeltaPhysicalTimeGyr(0.0_dl,1.0_dl)
+        ThermoDerivedParams( derived_zstar ) = z_star
+        ThermoDerivedParams( derived_rstar ) = rs
+        ThermoDerivedParams( derived_thetastar ) = 100*rs/DA
+        ThermoDerivedParams( derived_zdrag ) = z_drag
+        rs =rombint(dsound_da_exact,1d-8,1/(z_drag+1),1d-6)
+        ThermoDerivedParams( derived_rdrag ) = rs
+        ThermoDerivedParams( derived_kD ) =  sqrt(1.d0/(rombint(ddamping_da, 1d-8, 1/(z_star+1), 1d-6)/6))
+        ThermoDerivedParams( derived_thetaD ) =  100*pi/ThermoDerivedParams( derived_kD )/DA
+        ThermoDerivedParams( derived_zEQ ) = (grhob+grhoc+grhoax)/(grhog+grhornomass+sum(grhormass(1:CP%Nu_mass_eigenstates))) -1
+        ThermoDerivedParams( derived_thetaEQ ) = 100*timeOfz( ThermoDerivedParams( derived_zEQ ))/DA
+
+        if (associated(BackgroundOutputs%z_outputs)) then
+            if (allocated(BackgroundOutputs%H)) &
+            deallocate(BackgroundOutputs%H, BackgroundOutputs%DA, BackgroundOutputs%rs_by_D_v)
+            noutput = size(BackgroundOutputs%z_outputs)
+            allocate(BackgroundOutputs%H(noutput), BackgroundOutputs%DA(noutput), BackgroundOutputs%rs_by_D_v(noutput))
+            do i=1,noutput
+                BackgroundOutputs%H(i) = HofZ(BackgroundOutputs%z_outputs(i))
+                BackgroundOutputs%DA(i) = AngularDiameterDistance(BackgroundOutputs%z_outputs(i))
+                BackgroundOutputs%rs_by_D_v(i) = rs/BAO_D_v_from_DA_H(BackgroundOutputs%z_outputs(i), &
+                BackgroundOutputs%DA(i),BackgroundOutputs%H(i))
+            end do
+        end if
+
+        if (FeedbackLevel > 0) then
+            write(*,'("Age of universe/GYr  = ",f7.3)') ThermoDerivedParams( derived_Age )
+            write(*,'("zstar                = ",f8.2)') ThermoDerivedParams( derived_zstar )
+            write(*,'("r_s(zstar)/Mpc       = ",f7.2)') ThermoDerivedParams( derived_rstar )
+            write(*,'("100*theta            = ",f9.6)') ThermoDerivedParams( derived_thetastar )
+
+            write(*,'("zdrag                = ",f8.2)') ThermoDerivedParams( derived_zdrag )
+            write(*,'("r_s(zdrag)/Mpc       = ",f7.2)') ThermoDerivedParams( derived_rdrag )
+
+            write(*,'("k_D(zstar) Mpc       = ",f7.4)') ThermoDerivedParams( derived_kD )
+            write(*,'("100*theta_D          = ",f9.6)') ThermoDerivedParams( derived_thetaD )
+!!!!!!!!!!!!!!!!!!!!!!!!
+!DG: Output of equality redshift suppressed
+!Axions can behave as matter or dark energy depending on their mass,
+!and so there are two possible definitions (counting them as matter
+!or not  of the quality redshift in the presence of 
+!ultra-light axions. To avoid ambiguity in interpretation, we suppress this output
+!Initial times for all integrations are chosen sufficiently deep into radiation domination
+!that they are well before equality under both definitions
+!!            write(*,'("z_EQ (if v_nu=1)     = ",f8.2)') ThermoDerivedParams( derived_zEQ )
+!!            write(*,'("100*theta_EQ         = ",f9.6)') ThermoDerivedParams( derived_thetaEQ )
+!!!!!!!!!!!!!!!!!!!!!! 
+       end if
+    end if
+
+    end subroutine inithermo
+
+
+    subroutine SetTimeSteps
+    real(dl) dtau0
+    integer nri0, nstep
+
+    call Ranges_Init(TimeSteps)
+
+    call Ranges_Add_delta(TimeSteps, taurst, taurend, dtaurec)
+
+    ! Calculating the timesteps after recombination
+    if (CP%WantTensors) then
+        dtau0=max(taurst/40,Maxtau/2000._dl/AccuracyBoost)
+    else
+        dtau0=Maxtau/500._dl/AccuracyBoost
+        if (do_bispectrum) dtau0 = dtau0/3
+        !Don't need this since adding in Limber on small scales
+        !  if (CP%DoLensing) dtau0=dtau0/2
+        !  if (CP%AccurateBB) dtau0=dtau0/3 !Need to get C_Phi accurate on small scales
+    end if
+
+    call Ranges_Add_delta(TimeSteps,taurend, CP%tau0, dtau0)
+
+    if (CP%Reion%Reionization) then
+        nri0=int(Reionization_timesteps(CP%ReionHist)*AccuracyBoost)
+        !Steps while reionization going from zero to maximum
+        call Ranges_Add(TimeSteps,CP%ReionHist%tau_start,CP%ReionHist%tau_complete,nri0)
+    end if
+
+    !Create arrays out of the region information.
+    call Ranges_GetArray(TimeSteps)
+    nstep = TimeSteps%npoints
+
+    if (allocated(vis)) then
+        deallocate(vis,dvis,ddvis,expmmu,dopac, opac)
+        if (dowinlens) deallocate(lenswin)
+    end if
+    allocate(vis(nstep),dvis(nstep),ddvis(nstep),expmmu(nstep),dopac(nstep),opac(nstep))
+    if (dowinlens) allocate(lenswin(nstep))
+
+    if (DebugMsgs .and. FeedbackLevel > 0) write(*,*) 'Set ',nstep, ' time steps'
+
+    end subroutine SetTimeSteps
+
+
+    subroutine ThermoData_Free
+    if (allocated(vis)) then
+        deallocate(vis,dvis,ddvis,expmmu,dopac, opac)
+        if (dowinlens) deallocate(lenswin)
+    end if
+    call Ranges_Free(TimeSteps)
+
+    end subroutine ThermoData_Free
+
+    !cccccccccccccc
+    subroutine DoThermoSpline(j2,tau)
+    integer j2,i
+    real(dl) d,ddopac,tau
+
+    !     Cubic-spline interpolation.
+    d=log(tau/tauminn)/dlntau+1._dl
+    i=int(d)
+
+    d=d-i
+    if (i < nthermo) then
+        opac(j2)=dotmu(i)+d*(ddotmu(i)+d*(3._dl*(dotmu(i+1)-dotmu(i)) &
+        -2._dl*ddotmu(i)-ddotmu(i+1)+d*(ddotmu(i)+ddotmu(i+1) &
+        +2._dl*(dotmu(i)-dotmu(i+1)))))
+        dopac(j2)=(ddotmu(i)+d*(dddotmu(i)+d*(3._dl*(ddotmu(i+1)  &
+        -ddotmu(i))-2._dl*dddotmu(i)-dddotmu(i+1)+d*(dddotmu(i) &
+        +dddotmu(i+1)+2._dl*(ddotmu(i)-ddotmu(i+1))))))/(tau &
+        *dlntau)
+        ddopac=(dddotmu(i)+d*(ddddotmu(i)+d*(3._dl*(dddotmu(i+1) &
+        -dddotmu(i))-2._dl*ddddotmu(i)-ddddotmu(i+1)  &
+        +d*(ddddotmu(i)+ddddotmu(i+1)+2._dl*(dddotmu(i) &
+        -dddotmu(i+1)))))-(dlntau**2)*tau*dopac(j2)) &
+        /(tau*dlntau)**2
+        expmmu(j2)=emmu(i)+d*(demmu(i)+d*(3._dl*(emmu(i+1)-emmu(i)) &
+        -2._dl*demmu(i)-demmu(i+1)+d*(demmu(i)+demmu(i+1) &
+        +2._dl*(emmu(i)-emmu(i+1)))))
+
+        if (dowinlens) then
+            lenswin(j2)=winlens(i)+d*(dwinlens(i)+d*(3._dl*(winlens(i+1)-winlens(i)) &
+            -2._dl*dwinlens(i)-dwinlens(i+1)+d*(dwinlens(i)+dwinlens(i+1) &
+            +2._dl*(winlens(i)-winlens(i+1)))))
+        end if
+        vis(j2)=opac(j2)*expmmu(j2)
+        dvis(j2)=expmmu(j2)*(opac(j2)**2+dopac(j2))
+        ddvis(j2)=expmmu(j2)*(opac(j2)**3+3*opac(j2)*dopac(j2)+ddopac)
+    else
+        opac(j2)=dotmu(nthermo)
+        dopac(j2)=ddotmu(nthermo)
+        ddopac=dddotmu(nthermo)
+        expmmu(j2)=emmu(nthermo)
+        vis(j2)=opac(j2)*expmmu(j2)
+        dvis(j2)=expmmu(j2)*(opac(j2)**2+dopac(j2))
+        ddvis(j2)=expmmu(j2)*(opac(j2)**3+3._dl*opac(j2)*dopac(j2)+ddopac)
+    end if
+    end subroutine DoThermoSpline
+
+
+    function ddamping_da(a)
+    real(dl) :: ddamping_da
+    real(dl), intent(in) :: a
+    real(dl) :: R
+    real(dl) :: dtauda
+    external dtauda
+
+    R=r_drag0*a
+    !ignoring reionisation, not relevant for distance measures
+    ddamping_da = (R**2 + 16*(1+R)/15)/(1+R)**2*dtauda(a)*a**2/(Recombination_xe(a)*akthom)
+
+    end function ddamping_da
+
+
+    !!!!!!!!!!!!!!!!!!!
+    !JH: functions and subroutines for calculating z_star and z_drag
+
+    function doptdepth_dz(z)
+    real(dl) :: doptdepth_dz
+    real(dl), intent(in) :: z
+    real(dl) :: a
+    real(dl) :: dtauda
+    external dtauda
+
+    a = 1._dl/(1._dl+z)
+
+    !ignoring reionisation, not relevant for distance measures
+    doptdepth_dz = Recombination_xe(a)*akthom*dtauda(a)
+
+    end function doptdepth_dz
+
+    function optdepth(z)
+    real(dl) :: rombint2
+    external rombint2
+    real(dl) optdepth
+    real(dl),intent(in) :: z
+
+    optdepth = rombint2(doptdepth_dz, 0.d0, z, 1d-5, 20, 100)
+
+    end function optdepth
+
+
+    function ddragoptdepth_dz(z)
+    real(dl) :: ddragoptdepth_dz
+    real(dl), intent(in) :: z
+    real(dl) :: a
+    real(dl) :: dtauda
+    external dtauda
+
+    a = 1._dl/(1._dl+z)
+    ddragoptdepth_dz = doptdepth_dz(z)/r_drag0/a
+
+    end function ddragoptdepth_dz
+
+
+    function dragoptdepth(z)
+    real(dl) :: rombint2
+    external rombint2
+    real(dl) dragoptdepth
+    real(dl),intent(in) :: z
+
+    dragoptdepth =  rombint2(ddragoptdepth_dz, 0.d0, z, 1d-5, 20, 100)
+
+    end function dragoptdepth
+
+
+    subroutine find_z(func,zout)  !find redshift at which (photon/drag) optical depth = 1
+    real(dl), external :: func
+    real(dl), intent(out) :: zout
+    real(dl) :: try1,try2,diff,avg
+    integer :: i
+
+    try1 = 0.d0
+    try2 = 10000.d0
+
+    i=0
+    diff = 10.d0
+    do while (diff .gt. 1d-3)
+        i=i+1
+        if (i .eq. 100) then
+            call GlobalError('optical depth redshift finder did not converge',error_reionization)
+            zout=0
+            return
+        end if
+
+        diff = func(try2)-func(try1)
+        avg = 0.5d0*(try2+try1)
+        if (func(avg) .gt. 1.d0) then
+            try2 = avg
+        else
+            try1 = avg
+        end if
+    end do
+
+    zout = avg
+
+    end subroutine find_z
+
+    !!!!!!!!!!!!!!!!!!! end JH
+
+    end module ThermoData
diff --git a/params.ini b/params.ini
new file mode 100644
index 0000000..06a8d52
--- /dev/null
+++ b/params.ini
@@ -0,0 +1,236 @@
+#Parameters for CAMB
+
+#output_root is prefixed to output file names
+output_root = test
+
+#What to do
+get_scalar_cls = T
+get_vector_cls = F
+get_tensor_cls = F
+get_transfer   = T
+
+#if do_lensing then scalar_output_file contains additional columns of l^4 C_l^{pp} and l^3 C_l^{pT}
+#where p is the projected potential. Output lensed CMB Cls (without tensors) are in lensed_output_file below.
+do_lensing     = T
+
+# 0: linear, 1: non-linear matter power (HALOFIT), 2: non-linear CMB lensing (HALOFIT)
+do_nonlinear = 0
+halofit_version = 1
+
+#Maximum multipole and k*eta. 
+#  Note that C_ls near l_max are inaccurate (about 5%), go to 50 more than you need
+#  Lensed power spectra are computed to l_max_scalar-100 
+#  To get accurate lensed BB need to have l_max_scalar>2000, k_eta_max_scalar > 10000
+#  Otherwise k_eta_max_scalar=2*l_max_scalar usually suffices, or don't set to use default
+l_max_scalar      = 2500
+#k_eta_max_scalar  = 5000
+
+#  Tensor settings should be less than or equal to the above
+l_max_tensor      = 1500
+k_eta_max_tensor  = 3000
+
+#Main cosmological parameters, neutrino masses are assumed degenerate
+# If use_phyical set phyiscal densities in baryons, CDM and neutrinos + Omega_k
+use_physical   = T
+ombh2 = 0.022069
+omch2 = 0.
+omnuh2 = 0.006
+omk = 0
+hubble         = 67.15
+#effective equation of state parameter for dark energy, assumed constant
+w              = -1
+#constant comoving sound speed of the dark energy (1=quintessence)
+cs2_lam        = 1
+
+#Axion variables
+# Mass is in units eV
+use_axfrac=F
+omaxh2 = 0.12025
+m_ax = 1.e-22
+
+# if use_axfrac = T set parameters as here, ignored if use_axfrac=F
+omdah2 = 0.119   
+axfrac = 0.000084
+
+#if use_physical = F set parameters as here
+#omega_baryon   = 0.0462
+#omega_cdm      = 0.2538
+#omega_lambda   = 0.7
+#omega_neutrino = 0
+#omega_axion    = 0
+
+
+temp_cmb           = 2.725
+helium_fraction    = 0.24
+# massless_neutrinos is the effective number (for QED + non-instantaneous decoupling)
+# fractional part of the number is used to increase the neutrino temperature, e.g.
+# 2.99 correponds to 2 neutrinos with a much higher temperature, 3.04 correponds to
+# 3 neutrinos with a slightly higher temperature
+massless_neutrinos = 2.04
+massive_neutrinos  = 1
+
+#Neutrino mass splittings
+nu_mass_eigenstates = 1
+#nu_mass_degeneracies = 0 sets nu_mass_degeneracies = massive_neutrinos
+#otherwise should be an array
+#e.g. for 3 neutrinos with 2 non-degenerate eigenstates, nu_mass_degeneracies = 2 1
+nu_mass_degeneracies = 0  
+#Fraction of total omega_nu h^2 accounted for by each eigenstate, eg. 0.5 0.5
+nu_mass_fractions = 1
+
+#Initial power spectrum, amplitude, spectral index and running. Pivot k in Mpc^{-1}.
+initial_power_num         = 1
+pivot_scalar              = 0.05
+pivot_tensor              = 0.05
+scalar_amp(1)             = 2.3e-9
+scalar_spectral_index(1)  = 0.9436
+scalar_nrun(1)            = 0
+tensor_spectral_index(1)  = 0
+#ratio is that of the initial tens/scal power spectrum amplitudes
+initial_ratio(1)          = 0
+tens_ratio                = 0
+#DM: gave this twice now because of problem using ini_driver to read initial_ratio
+#note vector modes use the scalar settings above
+
+
+#Reionization, ignored unless reionization = T, re_redshift measures where x_e=0.5
+reionization         = T
+
+re_use_optical_depth = T
+re_optical_depth     = 0.104845411761364
+#If re_use_optical_depth = F then use following, otherwise ignored
+re_redshift          = 11
+#width of reionization transition. CMBFAST model was similar to re_delta_redshift~0.5.
+re_delta_redshift    = 1.5
+#re_ionization_frac=-1 sets to become fully ionized using YHe to get helium contribution
+#Otherwise x_e varies from 0 to re_ionization_frac
+re_ionization_frac   = -1
+
+
+#RECFAST 1.5 recombination parameters;
+RECFAST_fudge = 1.14
+RECFAST_fudge_He = 0.86
+RECFAST_Heswitch = 6
+RECFAST_Hswitch  = T
+
+#Initial scalar perturbation mode (adiabatic=1, CDM iso=2, Baryon iso=3, 
+# neutrino density iso =4, neutrino velocity iso = 5) 
+initial_condition   = 1
+#If above is zero, use modes in the following (totally correlated) proportions
+#Note: we assume all modes have the same initial power spectrum
+initial_vector = 1 0 0 0 0 
+
+#For vector modes: 0 for regular (neutrino vorticity mode), 1 for magnetic
+vector_mode = 0
+
+#Normalization
+COBE_normalize = F
+##CMB_outputscale scales the output Cls
+#To get MuK^2 set realistic initial amplitude (e.g. scalar_amp(1) = 2.3e-9 above) and
+#otherwise for dimensionless transfer functions set scalar_amp(1)=1 and use
+#CMB_outputscale = 1
+CMB_outputscale = 7.4311e12
+
+#Transfer function settings, transfer_kmax=0.5 is enough for sigma_8
+#transfer_k_per_logint=0 sets sensible non-even sampling; 
+#transfer_k_per_logint=5 samples fixed spacing in log-k
+#transfer_interp_matterpower =T produces matter power in regular interpolated grid in log k; 
+# use transfer_interp_matterpower =F to output calculated values (e.g. for later interpolation)
+transfer_high_precision = F
+transfer_kmax           = 5
+transfer_k_per_logint   = 0
+transfer_num_redshifts  = 1
+transfer_interp_matterpower = T
+transfer_redshift(1)    = 0
+transfer_filename(1)    = transfer_out.dat
+#Matter power spectrum output against k/h in units of h^{-3} Mpc^3
+transfer_matterpower(1) = matterpower.dat
+
+
+
+
+
+#Output files not produced if blank. make camb_fits to use use the FITS setting.
+scalar_output_file = scalCls.dat
+vector_output_file = vecCls.dat
+tensor_output_file = tensCls.dat
+total_output_file  = totCls.dat
+lensed_output_file = lensedCls.dat
+lensed_total_output_file  =lensedtotCls.dat
+lens_potential_output_file = lenspotentialCls.dat
+FITS_filename      = scalCls.fits
+
+#Bispectrum parameters if required; primordial is currently only local model (fnl=1)
+#lensing is fairly quick, primordial takes several minutes on quad core
+do_lensing_bispectrum = F
+do_primordial_bispectrum = F
+
+#1 for just temperature, 2 with E
+bispectrum_nfields = 2
+#set slice non-zero to output slice b_{bispectrum_slice_base_L L L+delta}
+bispectrum_slice_base_L = 0
+bispectrum_ndelta=3
+bispectrum_delta(1)=0
+bispectrum_delta(2)=2
+bispectrum_delta(3)=4
+#bispectrum_do_fisher estimates errors and correlations between bispectra
+#note you need to compile with LAPACK and FISHER defined to use get the Fisher info
+bispectrum_do_fisher= F
+#Noise is in muK^2, e.g. 2e-4 roughly for Planck temperature
+bispectrum_fisher_noise=0
+bispectrum_fisher_noise_pol=0
+bispectrum_fisher_fwhm_arcmin=7
+#Filename if you want to write full reduced bispectrum (at sampled values of l_1)
+bispectrum_full_output_file=
+bispectrum_full_output_sparse=F
+
+##Optional parameters to control the computation speed,accuracy and feedback
+
+#If feedback_level > 0 print out useful information computed about the model
+feedback_level = 1
+
+# 1: curved correlation function, 2: flat correlation function, 3: inaccurate harmonic method
+lensing_method = 1
+accurate_BB = F
+
+
+#massive_nu_approx: 0 - integrate distribution function
+#                   1 - switch to series in velocity weight once non-relativistic
+massive_nu_approx = 1
+
+#Whether you are bothered about polarization. 
+accurate_polarization   = T
+
+#Whether you are bothered about percent accuracy on EE from reionization
+accurate_reionization   = T
+
+#whether or not to include neutrinos in the tensor evolution equations
+do_tensor_neutrinos     = T
+
+#Whether to turn off small-scale late time radiation hierarchies (save time,v. accurate)
+do_late_rad_truncation   = T
+
+#Computation parameters
+#if number_of_threads=0 assigned automatically
+number_of_threads       = 0
+
+#Default scalar accuracy is about 0.3% (except lensed BB) if high_accuracy_default=F
+#If high_accuracy_default=T the default taget accuracy is 0.1% at L>600 (with boost parameter=1 below)
+#Try accuracy_boost=2, l_accuracy_boost=2 if you want to check stability/even higher accuracy
+#Note increasing accuracy_boost parameters is very inefficient if you want higher accuracy,
+#but high_accuracy_default is efficient 
+
+high_accuracy_default=F
+
+#Increase accuracy_boost to decrease time steps, use more k values,  etc.
+#Decrease to speed up at cost of worse accuracy. Suggest 0.8 to 3.
+accuracy_boost          = 1
+
+#Larger to keep more terms in the hierarchy evolution. 
+l_accuracy_boost        = 1
+
+#Increase to use more C_l values for interpolation.
+#Increasing a bit will improve the polarization accuracy at l up to 200 -
+#interpolation errors may be up to 3%
+#Decrease to speed up non-flat models a bit
+l_sample_boost          = 1
diff --git a/params_djem.ini b/params_djem.ini
new file mode 100644
index 0000000..43f19b8
--- /dev/null
+++ b/params_djem.ini
@@ -0,0 +1,237 @@
+#Parameters for CAMB
+
+#output_root is prefixed to output file names
+output_root = ax_1e-23_f100_halofit2
+
+#What to do
+get_scalar_cls = T
+get_vector_cls = F
+get_tensor_cls = T
+get_transfer   = T
+
+#if do_lensing then scalar_output_file contains additional columns of l^4 C_l^{pp} and l^3 C_l^{pT}
+#where p is the projected potential. Output lensed CMB Cls (without tensors) are in lensed_output_file below.
+do_lensing     = T
+
+# 0: linear, 1: non-linear matter power (HALOFIT), 2: non-linear CMB lensing (HALOFIT)
+do_nonlinear = 3
+halofit_version = 2
+
+#Maximum multipole and k*eta. 
+#  Note that C_ls near l_max are inaccurate (about 5%), go to 50 more than you need
+#  Lensed power spectra are computed to l_max_scalar-100 
+#  To get accurate lensed BB need to have l_max_scalar>2000, k_eta_max_scalar > 10000
+#  Otherwise k_eta_max_scalar=2*l_max_scalar usually suffices, or don't set to use default
+l_max_scalar      = 10000
+k_eta_max_scalar  = 40000
+
+#  Tensor settings should be less than or equal to the above
+l_max_tensor      = 1500
+k_eta_max_tensor  = 3000
+
+#Main cosmological parameters, neutrino masses are assumed degenerate
+# If use_phyical set phyiscal densities in baryons, CDM and neutrinos + Omega_k
+use_physical   = T
+ombh2 = 0.022069
+omch2 = 0.0
+omnuh2 = 0.
+omk = 0.
+hubble         = 67.15
+#effective equation of state parameter for dark energy, assumed constant
+w              = -1
+#constant comoving sound speed of the dark energy (1=quintessence)
+cs2_lam        = 1
+
+
+#Axion variables 
+# Mass is in units eV 
+use_axfrac=F
+omaxh2 = 0.12025
+m_ax = 1.e-23
+
+# if use_axfrac = T set parameters as here, ignored if use_axfrac=F 
+omdah2 = 0.119
+axfrac = 0.000084
+
+#if use_physical = F set parameters as here
+#omega_baryon   = 0.0462
+#omega_cdm      = 0.2538
+#omega_lambda   = 0.7
+#omega_neutrino = 0
+#omega_axion    = 0
+
+
+temp_cmb           = 2.725
+helium_fraction    = 0.24
+# massless_neutrinos is the effective number (for QED + non-instantaneous decoupling)
+# fractional part of the number is used to increase the neutrino temperature, e.g.
+# 2.99 correponds to 2 neutrinos with a much higher temperature, 3.04 correponds to
+# 3 neutrinos with a slightly higher temperature
+massless_neutrinos = 2.04
+massive_neutrinos  = 1
+
+#Neutrino mass splittings
+nu_mass_eigenstates = 1
+#nu_mass_degeneracies = 0 sets nu_mass_degeneracies = massive_neutrinos
+#otherwise should be an array
+#e.g. for 3 neutrinos with 2 non-degenerate eigenstates, nu_mass_degeneracies = 2 1
+nu_mass_degeneracies = 0  
+#Fraction of total omega_nu h^2 accounted for by each eigenstate, eg. 0.5 0.5
+nu_mass_fractions = 1
+
+#Initial power spectrum, amplitude, spectral index and running. Pivot k in Mpc^{-1}.
+initial_power_num         = 1
+pivot_scalar              = 0.05
+pivot_tensor              = 0.05
+scalar_amp(1)             = 2.3e-9
+scalar_spectral_index(1)  = 0.9436
+scalar_nrun(1)            = 0
+tensor_spectral_index(1)  = 0
+#ratio is that of the initial tens/scal power spectrum amplitudes
+initial_ratio(1)          = 0
+tens_ratio                = 0
+#DM: gave this twice now because of problem using ini_driver to read initial_ratio
+#note vector modes use the scalar settings above
+
+
+#Reionization, ignored unless reionization = T, re_redshift measures where x_e=0.5
+reionization         = T
+
+re_use_optical_depth = T
+re_optical_depth     = 0.104845411761364
+#If re_use_optical_depth = F then use following, otherwise ignored
+re_redshift          = 11
+#width of reionization transition. CMBFAST model was similar to re_delta_redshift~0.5.
+re_delta_redshift    = 1.5
+#re_ionization_frac=-1 sets to become fully ionized using YHe to get helium contribution
+#Otherwise x_e varies from 0 to re_ionization_frac
+re_ionization_frac   = -1
+
+
+#RECFAST 1.5 recombination parameters;
+RECFAST_fudge = 1.14
+RECFAST_fudge_He = 0.86
+RECFAST_Heswitch = 6
+RECFAST_Hswitch  = T
+
+#Initial scalar perturbation mode (adiabatic=1, CDM iso=2, Baryon iso=3, 
+# neutrino density iso =4, neutrino velocity iso = 5) 
+initial_condition   = 1
+#If above is zero, use modes in the following (totally correlated) proportions
+#Note: we assume all modes have the same initial power spectrum
+initial_vector = 1 0 0 0 0 
+
+#For vector modes: 0 for regular (neutrino vorticity mode), 1 for magnetic
+vector_mode = 0
+
+#Normalization
+COBE_normalize = F
+##CMB_outputscale scales the output Cls
+#To get MuK^2 set realistic initial amplitude (e.g. scalar_amp(1) = 2.3e-9 above) and
+#otherwise for dimensionless transfer functions set scalar_amp(1)=1 and use
+#CMB_outputscale = 1
+CMB_outputscale = 7.4311e12
+
+#Transfer function settings, transfer_kmax=0.5 is enough for sigma_8
+#transfer_k_per_logint=0 sets sensible non-even sampling; 
+#transfer_k_per_logint=5 samples fixed spacing in log-k
+#transfer_interp_matterpower =T produces matter power in regular interpolated grid in log k; 
+# use transfer_interp_matterpower =F to output calculated values (e.g. for later interpolation)
+transfer_high_precision = T
+transfer_kmax           = 5
+transfer_k_per_logint   = 0
+transfer_num_redshifts  = 1
+transfer_interp_matterpower = T
+transfer_redshift(1)    = 0
+transfer_filename(1)    = transfer_out.dat
+#Matter power spectrum output against k/h in units of h^{-3} Mpc^3
+transfer_matterpower(1) = matterpower.dat
+
+
+
+
+
+#Output files not produced if blank. make camb_fits to use use the FITS setting.
+scalar_output_file = scalCls.dat
+vector_output_file = vecCls.dat
+tensor_output_file = tensCls.dat
+total_output_file  = totCls.dat
+lensed_output_file = lensedCls.dat
+lensed_total_output_file  =lensedtotCls.dat
+lens_potential_output_file = lenspotentialCls.dat
+FITS_filename      = scalCls.fits
+
+#Bispectrum parameters if required; primordial is currently only local model (fnl=1)
+#lensing is fairly quick, primordial takes several minutes on quad core
+do_lensing_bispectrum = F
+do_primordial_bispectrum = F
+
+#1 for just temperature, 2 with E
+bispectrum_nfields = 2
+#set slice non-zero to output slice b_{bispectrum_slice_base_L L L+delta}
+bispectrum_slice_base_L = 0
+bispectrum_ndelta=3
+bispectrum_delta(1)=0
+bispectrum_delta(2)=2
+bispectrum_delta(3)=4
+#bispectrum_do_fisher estimates errors and correlations between bispectra
+#note you need to compile with LAPACK and FISHER defined to use get the Fisher info
+bispectrum_do_fisher= F
+#Noise is in muK^2, e.g. 2e-4 roughly for Planck temperature
+bispectrum_fisher_noise=0
+bispectrum_fisher_noise_pol=0
+bispectrum_fisher_fwhm_arcmin=7
+#Filename if you want to write full reduced bispectrum (at sampled values of l_1)
+bispectrum_full_output_file=
+bispectrum_full_output_sparse=F
+
+##Optional parameters to control the computation speed,accuracy and feedback
+
+#If feedback_level > 0 print out useful information computed about the model
+feedback_level = 1
+
+# 1: curved correlation function, 2: flat correlation function, 3: inaccurate harmonic method
+lensing_method = 1
+accurate_BB = F
+
+
+#massive_nu_approx: 0 - integrate distribution function
+#                   1 - switch to series in velocity weight once non-relativistic
+massive_nu_approx = 1
+
+#Whether you are bothered about polarization. 
+accurate_polarization   = T
+
+#Whether you are bothered about percent accuracy on EE from reionization
+accurate_reionization   = T
+
+#whether or not to include neutrinos in the tensor evolution equations
+do_tensor_neutrinos     = T
+
+#Whether to turn off small-scale late time radiation hierarchies (save time,v. accurate)
+do_late_rad_truncation   = T
+
+#Computation parameters
+#if number_of_threads=0 assigned automatically
+number_of_threads       = 0
+
+#Default scalar accuracy is about 0.3% (except lensed BB) if high_accuracy_default=F
+#If high_accuracy_default=T the default taget accuracy is 0.1% at L>600 (with boost parameter=1 below)
+#Try accuracy_boost=2, l_accuracy_boost=2 if you want to check stability/even higher accuracy
+#Note increasing accuracy_boost parameters is very inefficient if you want higher accuracy,
+#but high_accuracy_default is efficient 
+
+high_accuracy_default=T
+
+#Increase accuracy_boost to decrease time steps, use more k values,  etc.
+#Decrease to speed up at cost of worse accuracy. Suggest 0.8 to 3.
+accuracy_boost          = 1
+
+#Larger to keep more terms in the hierarchy evolution. 
+l_accuracy_boost        = 1
+
+#Increase to use more C_l values for interpolation.
+#Increasing a bit will improve the polarization accuracy at l up to 200 -
+#interpolation errors may be up to 3%
+#Decrease to speed up non-flat models a bit
+l_sample_boost          = 1
diff --git a/power_tilt.f90 b/power_tilt.f90
new file mode 100644
index 0000000..c23155f
--- /dev/null
+++ b/power_tilt.f90
@@ -0,0 +1,218 @@
+!This module provides the initial power spectra, parameterized as an expansion in ln k
+!
+! ln P = ln A_s + (n_s -1)*ln(k/k_0) + n_{run}/2 * ln(k/k_0)^2 
+!
+! so if n_run = 0
+!
+! P = A_s (k/k_0_scalar)^(n_s-1)
+!
+!for the scalar spectrum, when an(in) is the in'th spectral index. k_0_scalar
+!is a pivot scale, fixed here to 0.05/Mpc (change it below as desired).
+!
+!This module uses the same inputs an(in), ant(in) and rat(in) as CMBFAST, however here
+!rat(in) is used to set the ratio of the initial power spectra, so here
+!
+!** rat(in) is not the Cl quadrupole ratio ***
+!
+!in general models the quadrupole ratio depends in a complicated way on the ratio of the initial
+!power spectra
+
+!The absolute normalization of the Cls is unimportant here, but the relative ratio
+!of the tensor and scalar Cls generated with this module will be correct for general models
+
+
+!The OutputNormalization parameter controls the final output
+!Absolute Cls can be obtained by setting OuputNormalization=outNone, otherwise the overall normalization
+!of the power spectra doesn't matter
+
+!This version December 2003 - changed default tensor pivot to 0.05 (consistent with CMBFAST 4.5)
+
+     module InitialPower   
+     use Precision
+     implicit none   
+
+     private
+    
+      character(LEN=*), parameter :: Power_Name = 'power_tilt'
+
+      integer, parameter :: nnmax= 5 
+       !Maximum possible number of different power spectra to use
+
+      Type InitialPowerParams
+
+       integer nn  !Must have this variable
+      !The actual number of power spectra to use
+  
+      !For the default implementation return power spectra based on spectral indices
+       real(dl) an(nnmax) !scalar spectral indices
+       real(dl) n_run(nnmax) !running of spectral index 
+       real(dl) ant(nnmax) !tensor spectral indices
+       real(dl) rat(nnmax) !ratio of scalar to tensor initial power spectrum amplitudes
+       real(dl) k_0_scalar, k_0_tensor
+       real(dl) ScalarPowerAmp(nnmax)
+ 
+      end Type InitialPowerParams
+
+      real(dl) curv  !Curvature contant, set in InitializePowers     
+      
+      Type(InitialPowerParams) :: P
+  
+!Make things visible as neccessary...
+ 
+      public InitialPowerParams, InitialPower_ReadParams, InitializePowers, ScalarPower, TensorPower
+      public nnmax,Power_Descript, Power_Name, SetDefPowerParams
+!      public 
+    contains
+       
+  
+       subroutine SetDefPowerParams(AP)
+        Type (InitialPowerParams) :: AP
+
+         AP%nn     = 1 !number of initial power spectra
+         AP%an     = 1 !scalar spectral index
+         AP%n_run   = 0 !running of scalar spectral index
+         AP%ant    = 0 !tensor spectra index
+         AP%rat    = 1
+         AP%k_0_scalar = 0.05
+         AP%k_0_tensor = 0.05
+         AP%ScalarPowerAmp = 1
+
+       end subroutine SetDefPowerParams
+
+       subroutine InitializePowers(AParamSet,acurv)
+         Type (InitialPowerParams) :: AParamSet
+         !Called before computing final Cls in cmbmain.f90
+         !Could read spectra from disk here, do other processing, etc.
+
+        real(dl) acurv
+
+        if (AParamSet%nn > nnmax) then
+           write (*,*) 'To use ',AParamSet%nn,'power spectra you need to increase'
+           write (*,*) 'nnmax in power_tilt.f90, currently ',nnmax
+        end if
+        P = AParamSet
+
+        curv=acurv         
+
+!Write implementation specific code here...
+
+       end subroutine InitializePowers
+       
+
+      function ScalarPower(k,in)
+
+       !"in" gives the index of the power to return for this k
+       !ScalarPower = const for scale invariant spectrum
+       !The normalization is defined so that for adiabatic perturbations the gradient of the 3-Ricci 
+       !scalar on co-moving hypersurfaces receives power
+       ! < |D_a R^{(3)}|^2 > = int dk/k 16 k^6/S^6 (1-3K/k^2)^2 ScalarPower(k) 
+       !In other words ScalarPower is the power spectrum of the conserved curvature perturbation given by
+       !-chi = \Phi + 2/3*\Omega^{-1} \frac{H^{-1}\Phi' - \Psi}{1+w}
+       !(w=p/\rho), so < |\chi(x)|^2 > = \int dk/k ScalarPower(k).
+       !Near the end of inflation chi is equal to 3/2 Psi.
+       !Here nu^2 = (k^2 + curv)/|curv| 
+
+       !This power spectrum is also used for isocurvature modes where 
+       !< |\Delta(x)|^2 > = \int dk/k ScalarPower(k)
+       !For the isocurvture velocity mode ScalarPower is the power in the neutrino heat flux.
+
+        real(dl) ScalarPower,k, lnrat
+        integer in
+
+          lnrat = log(k/P%k_0_scalar)
+          ScalarPower=P%ScalarPowerAmp(in)*exp((P%an(in)-1)*lnrat + P%n_run(in)/2*lnrat**2)   
+     
+!         ScalarPower = ScalarPower * (1 + 0.1*cos( lnrat*30 ) )
+ 
+      end function ScalarPower
+
+      
+      function TensorPower(k,in)
+      
+       !TensorPower= const for scale invariant spectrum
+       !The normalization is defined so that
+       ! < h_{ij}(x) h^{ij}(x) > = \sum_nu nu /(nu^2-1) (nu^2-4)/nu^2 TensorPower(k)
+       !for a closed model
+       ! < h_{ij}(x) h^{ij}(x) > = int d nu /(nu^2+1) (nu^2+4)/nu^2 TensorPower(k)
+       !for an open model
+       !"in" gives the index of the power spectrum to return 
+       !Here nu^2 = (k^2 + 3*curv)/|curv| 
+
+
+        real(dl) TensorPower,k   
+        real(dl), parameter :: PiByTwo=3.14159265d0/2._dl
+   
+        integer in
+
+        TensorPower=P%rat(in)*P%ScalarPowerAmp(in)*exp(P%ant(in)*log(k/P%k_0_tensor))
+        if (curv < 0) TensorPower=TensorPower*tanh(PiByTwo*sqrt(-k**2/curv-3)) 
+
+       
+      end function TensorPower
+
+      !Get parameters describing parameterisation (for FITS file)
+     function Power_Descript(in, Scal, Tens, Keys, Vals)
+         character(LEN=8), intent(out) :: Keys(*)
+         real(dl), intent(out) :: Vals(*)
+         integer, intent(IN) :: in
+         logical, intent(IN) :: Scal, Tens
+         integer num, Power_Descript
+         num=0
+         if (Scal) then
+         num=num+1
+         Keys(num) = 'n_s'
+         Vals(num) = P%an(in)
+         num=num+1
+         Keys(num) = 'n_run'
+         Vals(num) = P%n_run(in)
+         num=num+1
+         Keys(num) = 's_pivot'
+         Vals(num) = P%k_0_scalar
+         end if
+         if (Tens) then
+         num=num+1
+         Keys(num) = 'n_t'
+         Vals(num) = P%ant(in)
+         num=num+1
+         Keys(num) = 't_pivot'
+         Vals(num) = P%k_0_tensor
+         if (Scal) then
+           num=num+1
+           Keys(num) = 'p_ratio'
+           Vals(num) = P%rat(in)
+         end if
+         end if
+         Power_Descript = num
+
+       end  function Power_Descript
+        
+       subroutine InitialPower_ReadParams(InitPower, Ini, WantTensors)
+          use IniFile
+          Type(InitialPowerParams) :: InitPower
+          Type(TIniFile) :: Ini
+          logical, intent(in) :: WantTensors
+          integer i
+          
+           InitPower%k_0_scalar = Ini_Read_Double_File(Ini,'pivot_scalar',InitPower%k_0_scalar)
+           InitPower%k_0_tensor = Ini_Read_Double_File(Ini,'pivot_tensor',InitPower%k_0_tensor) 
+           InitPower%nn = Ini_Read_Int('initial_power_num')
+           if (InitPower%nn>nnmax) stop 'Too many initial power spectra - increase nnmax in InitialPower'
+           InitPower%rat(:) = 1
+           do i=1, InitPower%nn
+
+              InitPower%an(i) = Ini_Read_Double_Array_File(Ini,'scalar_spectral_index', i)
+              InitPower%n_run(i) = Ini_Read_Double_Array_File(Ini,'scalar_nrun',i,0._dl) 
+              
+              if (WantTensors) then
+                 InitPower%ant(i) = Ini_Read_Double_Array_File(Ini,'tensor_spectral_index',i)
+                 InitPower%rat(i) = Ini_Read_Double_Array_File(Ini,'initial_ratio',i)
+              end if              
+
+              InitPower%ScalarPowerAmp(i) = Ini_Read_Double_Array_File(Ini,'scalar_amp',i,1._dl) 
+              !Always need this as may want to set tensor amplitude even if scalars not computed
+           end do
+          
+       end  subroutine InitialPower_ReadParams 
+
+
+     end module InitialPower
diff --git a/recfast_axion.f90 b/recfast_axion.f90
new file mode 100644
index 0000000..0319d08
--- /dev/null
+++ b/recfast_axion.f90
@@ -0,0 +1,2177 @@
+!Recombination module for CAMB, using RECFAST
+
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!C Integrator for Cosmic Recombination of Hydrogen and Helium,
+!C developed by Douglas Scott (dscott@astro.ubc.ca)
+!C based on calculations in the paper Seager, Sasselov & Scott
+!C (ApJ, 523, L1, 1999).
+!and "fudge" updates in Wong, Moss & Scott (2008).
+!C
+!C Permission to use, copy, modify and distribute without fee or royalty at
+!C any tier, this software and its documentation, for any purpose and without
+!C fee or royalty is hereby granted, provided that you agree to comply with
+!C the following copyright notice and statements, including the disclaimer,
+!C and that the same appear on ALL copies of the software and documentation,
+!C including modifications that you make for internal use or for distribution:
+!C
+!C Copyright 1999-2010 by University of British Columbia.  All rights reserved.
+!C
+!C THIS SOFTWARE IS PROVIDED "AS IS", AND U.B.C. MAKES NO 
+!C REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED.  
+!C BY WAY OF EXAMPLE, BUT NOT LIMITATION,
+!c U.B.C. MAKES NO REPRESENTATIONS OR WARRANTIES OF 
+!C MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT 
+!C THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE 
+!C ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.   
+!C
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!
+!CN     Name:        RECFAST
+!CV     Version:     1.5.2
+!C 
+!CP     Purpose:  Calculate ionised fraction as a function of redshift.
+!CP            Solves for H and He simultaneously, and includes
+!CP           H "fudge factor" for low z effect, as well as
+!CP           HeI fudge factor.
+!C
+!CD     Description: Solves for ionisation history since recombination
+!CD     using the equations in Seager, Sasselov & Scott (ApJ, 1999).
+!CD     The Cosmological model can be flat or open.
+!CD	 The matter temperature is also followed, with an update from
+!CD	 Scott & Scott (2009).
+!CD	 The values for \alpha_B for H are from Hummer (1994).
+!CD	 The singlet HeI coefficient is a fit from the full code.
+!CD	 Additional He "fudge factors" are as described in Wong, Moss
+!CD	 and Scott (2008).
+!CD	 Extra fitting function included (in optical depth) to account
+!CD	 for extra H physics described in Rubino-Martin et al. (2010).
+!CD	 Care is taken to use the most accurate constants.
+!C            
+!CA     Arguments:
+!CA     Name, Description
+!CA     real(dl) throughout
+!CA
+!CA     z is redshift - W is sqrt(1+z), like conformal time
+!CA     x is total ionised fraction, relative to H
+!CA     x_H is ionized fraction of H - y(1) in R-K routine
+!CA     x_He is ionized fraction of He - y(2) in R-K routine
+!CA       (note that x_He=n_He+/n_He here and not n_He+/n_H)
+!CA     Tmat is matter temperature - y(3) in R-K routine
+!CA     f's are the derivatives of the Y's
+!CA     alphaB is case B recombination rate
+!CA     alpHe is the singlet only HeII recombination rate
+!CA     a_PPB is Pequignot, Petitjean & Boisson fitting parameter for Hydrogen
+!CA     b_PPB is Pequignot, Petitjean & Boisson fitting parameter for Hydrogen
+!CA     c_PPB is Pequignot, Petitjean & Boisson fitting parameter for Hydrogen
+!CA     d_PPB is Pequignot, Petitjean & Boisson fitting parameter for Hydrogen
+!CA     a_VF is Verner and Ferland type fitting parameter for Helium
+!CA     b_VF is Verner and Ferland type fitting parameter for Helium
+!CA     T_0 is Verner and Ferland type fitting parameter for Helium
+!CA     T_1 is Verner and Ferland type fitting parameter for Helium
+!CA     Tnow is the observed CMB temperature today
+!CA     Yp is the primordial helium abundace
+!CA     fHe is He/H number ratio = Yp/4(1-Yp)
+!CA     Trad and Tmat are radiation and matter temperatures
+!CA	    epsilon is the approximate difference (=Trad-Tmat) at high z
+!CA     OmegaB is Omega in baryons today
+!CA     H is Hubble constant in units of 100 km/s/Mpc
+!CA     HO is Hubble constant in SI units
+!CA     bigH is 100 km/s/Mpc in SI units
+!CA	    Hz is the value of H at the specific z (in ION)
+!CA     G is grvitational constant
+!CA     n is number density of hydrogen
+!CA     Nnow is number density today
+!CA     x0 is initial ionized fraction
+!CA     x_H0 is initial ionized fraction of Hydrogen
+!CA     x_He0 is initial ionized fraction of Helium
+!CA     rhs is dummy for calculating x0
+!CA     zinitial and zfinal are starting and ending redshifts
+!CA     zeq is the redshift of matter-radiation equality
+!CA     zstart and zend are for each pass to the integrator
+!CA     C,k_B,h_P: speed of light, Boltzmann's and Planck's constants
+!CA     m_e,m_H: electron mass and mass of H atom in SI
+!CA     not4: ratio of 4He atomic mass to 1H atomic mass
+!CA     sigma: Thomson cross-section
+!CA     a_rad: radiation constant for u=aT^4
+!CA     Lambda: 2s-1s two photon rate for Hydrogen
+!CA     Lambda_He: 2s-1s two photon rate for Helium
+!CA     DeltaB: energy of first excited state from continuum = 3.4eV
+!CA     DeltaB_He: energy of first excited state from cont. for He = 3.4eV
+!CA     L_H_ion: level for H ionization in m^-1
+!CA     L_H_alpha: level for H Ly alpha in m^-1
+!CA     L_He1_ion: level for HeI ionization
+!CA     L_He2_ion: level for HeII ionization
+!CA     L_He_2s: level for HeI 2s
+!CA     L_He_2p: level for HeI 2p (21P1-11S0) in m^-1
+!CA     Lalpha: Ly alpha wavelength in SI
+!CA     Lalpha_He: Helium I 2p-1s wavelength in SI
+!CA     mu_H,mu_T: mass per H atom and mass per particle
+!CA     H_frac: follow Tmat when t_Compton / t_Hubble > H_frac
+!CA     CDB=DeltaB/k_B                     Constants derived from B1,B2,R
+!CA     CDB_He=DeltaB_He/k_B  n=2-infinity for He in Kelvin
+!CA     CB1=CDB*4.         Lalpha and sigma_Th, calculated
+!CA     CB1_He1: CB1 for HeI ionization potential
+!CA     CB1_He2: CB1 for HeII ionization potential
+!CA     CR=2*Pi*(m_e/h_P)*(k_B/h_P)  once and passed in a common block
+!CA     CK=Lalpha**3/(8.*Pi)
+!CA     CK_He=Lalpha_He**3/(8.*Pi)
+!CA     CL=C*h_P/(k_B*Lalpha)
+!CA     CL_He=C*h_P/(k_B*Lalpha_He)
+!CA     CT=(8./3.)*(sigma/(m_e*C))*a
+!CA     Bfact=exp((E_2p-E_2s)/kT)    Extra Boltzmann factor
+!CA b_He= "fudge factor" for HeI, to approximate higher z behaviour
+!CA Heswitch=integer for modifying HeI recombination
+!CA Parameters and quantities to describe the extra triplet states
+!CA  and also the continuum opacity of H, with a fitting function
+!CA  suggested by KIV, astro-ph/0703438
+!CA a_trip: used to fit HeI triplet recombination rate
+!CA b_trip: used to fit HeI triplet recombination rate
+!CA L_He_2Pt: level for 23P012-11S0 in m^-1
+!CA L_He_2St: level for 23S1-11S0 in m^-1
+!CA L_He2St_ion: level for 23S1-continuum in m^-1
+!CA A2P_s: Einstein A coefficient for He 21P1-11S0
+!CA A2P_t: Einstein A coefficient for He 23P1-11S0    
+!CA sigma_He_2Ps: H ionization x-section at HeI 21P1-11S0 freq. in m^2
+!CA sigma_He_2Pt: H ionization x-section at HeI 23P1-11S0 freq. in m^2
+!CA CL_PSt = h_P*C*(L_He_2Pt - L_He_2st)/k_B
+!CA CfHe_t: triplet statistical correction
+!CA	Hswitch is an boolean for modifying the H recombination
+!CA	AGauss1 is the amplitude of the 1st Gaussian for the H fudging
+!CA	AGauss2 is the amplitude of the 2nd Gaussian for the H fudging
+!CA	zGauss1 is the ln(1+z) central value of the 1st Gaussian
+!CA	zGauss2 is the ln(1+z) central value of the 2nd Gaussian
+!CA	wGauss1 is the width of the 1st Gaussian
+!CA	wGauss2 is the width of the 2nd Gaussian
+
+
+!CA     tol: tolerance for the integrator
+!CA     cw(24),w(3,9): work space for DVERK
+!CA     Ndim: number of d.e.'s to solve (integer)
+!CA     Nz: number of output redshitf (integer)
+!CA     I: loop index (integer)
+!CA     ind,nw: work-space for DVERK (integer)
+!C
+!CF     File & device access:
+!CF     Unit /I,IO,O  /Name (if known)
+!C
+!CM     Modules called:
+!CM     DVERK (numerical integrator)
+!CM     GET_INIT (initial values for ionization fractions)
+!CM     ION (ionization and Temp derivatives)
+!C
+!CC     Comments:
+!CC     none
+!C
+!CH     History:
+!CH     CREATED            (simplest version) 19th March 1989
+!CH     RECREATED    11th January 1995
+!CH               includes variable Cosmology
+!CH               uses DVERK integrator
+!CH               initial conditions are Saha
+!CH     TESTED              a bunch, well, OK, not really
+!CH     MODIFIED     January 1995 (include Hummer's 1994 alpha table)
+!CH               January 1995 (include new value for 2s-1s rate)
+!CH               January 1995 (expand comments)
+!CH               March 1995 (add Saha for Helium)
+!CH               August 1997 (add HeII alpha table)
+!CH               July 1998 (include OmegaT correction and H fudge factor)
+!CH               Nov 1998 (change Trad to Tmat in Rup)
+!CH               Jan 1999 (tidied up for public consumption)
+!CH               Sept 1999 (switch to formula for alpha's, fix glitch)
+!CH                  Sept 1999 modified to CMBFAST by US & MZ          
+!CH                     Nov 1999 modified for F90 and CAMB (AML)
+!CH                     Aug 2000 modified to prevent overflow erorr in He_Boltz (AML)
+!CH                     Feb 2001 corrected fix of Aug 2000 (AML)
+!CH                     Oct 2001 fixed error in hubble parameter, now uses global function (AML)
+!                       March 2003 fixed bugs reported by savita gahlaut
+!                       March 2005 added option for corrections from astro-ph/0501672.
+!                                  thanks to V.K.Dubrovich, S.I.Grachev
+!                       June 2006 defined RECFAST_fudge as free parameter (AML)
+!                       October 2006 (included new value for G)
+!                       October 2006 (improved m_He/m_H to be "not4")
+!                       October 2006 (fixed error, x for x_H in part of f(1))
+!CH              January 2008 (improved HeI recombination effects,
+!CH                       including HeI rec. fudge factor)
+!                Feb 2008   Recfast 1.4 changes above added (AML)
+!                           removed Dubrovich option (wrong anyway)
+!CH   			 Sept 2008 (added extra term to make transition, smoother for Tmat evolution)
+!                Sept 2008 Recfast 1.4.2 changes above added (AML) 
+!                          General recombination module structure, fix to make He x_e smooth also in recfast (AML)
+!CH		      	 Jan 2010 (added fitting function to modify K
+!CH			 	 to match x_e(z) for new H physics)
+!AL             June 2012 updated fudge parameters to match HyRec and CosmoRec (AML)                    
+!AL             Sept 2012 changes now in public recfast, version number changed to match Recfast 1.5.2. 
+!!      ===============================================================
+
+       module RECDATA
+        use constants
+    !    use ModelParams
+        implicit none
+         
+
+        real(dl) Lambda,DeltaB,DeltaB_He,Lalpha,mu_H,mu_T,H_frac
+        real(dl) Lambda_He,Lalpha_He,Bfact,CK_He,CL_He
+        real(dl) L_H_ion,L_H_alpha,L_He1_ion,L_He2_ion,L_He_2s,L_He_2p
+        real(dl) CB1,CDB,CR,CK,CL,CT,CB1_He1,CB1_He2,CDB_He,fu
+        real(dl) A2P_s,A2P_t,sigma_He_2Ps,sigma_He_2Pt
+        real(dl)  L_He_2Pt,L_He_2St,L_He2St_ion
+
+
+        real(dl), parameter :: bigH=100.0D3/Mpc !Ho in s-1
+        real(dl), parameter :: sigma = sigma_thomson
+        real(dl), parameter :: not4  = mass_ratio_He_H    !mass He/H atom
+
+        real(dl) Tnow,HO
+        integer :: n_eq = 3
+
+!The following only used for approximations where small effect
+       real(dl) OmegaK, OmegaT, z_eq
+
+
+!Fundamental constants in SI units
+!      ("not4" pointed out by Gary Steigman)
+
+        data    Lambda      /8.2245809d0/
+        data    Lambda_He   /51.3d0/    !new value from Dalgarno
+        data    L_H_ion     /1.096787737D7/ !level for H ion. (in m^-1)
+        data    L_H_alpha   /8.225916453D6/ !averaged over 2 levels
+        data    L_He1_ion   /1.98310772D7/  !from Drake (1993)
+        data    L_He2_ion   /4.389088863D7/ !from JPhysChemRefData (1987)
+        data    L_He_2s     /1.66277434D7/  !from Drake (1993)
+        data    L_He_2p     /1.71134891D7/  !from Drake (1993)
+!   2 photon rates and atomic levels in SI units
+
+        data    A2P_s       /1.798287D9/    !Morton, Wu & Drake (2006)
+        data    A2P_t       /177.58D0/      !Lach & Pachuski (2001)
+        data    L_He_2Pt    /1.690871466D7/ !Drake & Morton (2007)
+        data    L_He_2St    /1.5985597526D7/ !Drake & Morton (2007)
+        data    L_He2St_ion /3.8454693845D6/ !Drake & Morton (2007)
+        data    sigma_He_2Ps    /1.436289D-22/  !Hummer & Storey (1998)
+        data    sigma_He_2Pt    /1.484872D-22/  !Hummer & Storey (1998)
+!    Atomic data for HeI 
+
+
+       end module RECDATA
+
+
+        module Recombination
+        use constants
+        use AMLUtils
+        implicit none
+        private
+
+        real(dl), parameter ::  zinitial = 1e4_dl !highest redshift
+        real(dl), parameter ::  zfinal=0._dl
+        integer,  parameter :: Nz=10000  
+        real(dl), parameter :: delta_z = (zinitial-zfinal)/Nz
+
+        integer, parameter ::  RECFAST_Heswitch_default = 6
+        real(dl), parameter :: RECFAST_fudge_He_default = 0.86_dl !Helium fudge parameter
+        logical, parameter  :: RECFAST_Hswitch_default = .true. !include H corrections (v1.5, 2010)
+        real(dl), parameter :: RECFAST_fudge_default = 1.14_dl
+        real(dl), parameter :: RECFAST_fudge_default2 = 1.105d0 + 0.02d0
+                      !fudge parameter if RECFAST_Hswitch
+        real(dl) :: AGauss1 =      -0.14D0  !Amplitude of 1st Gaussian
+        real(dl) :: AGauss2 =       0.079D0 ! 0.05D0  !Amplitude of 2nd Gaussian
+        real(dl) :: zGauss1 =       7.28D0  !ln(1+z) of 1st Gaussian
+        real(dl) :: zGauss2=        6.73D0  !ln(1+z) of 2nd Gaussian
+        real(dl) :: wGauss1=        0.18D0  !Width of 1st Gaussian
+        real(dl) :: wGauss2=        0.33D0  !Width of 2nd Gaussian
+        !Gaussian fits for extra H physics (fit by Adam Moss , modified by Antony Lewis)
+
+        type RecombinationParams
+
+          real(dl) :: RECFAST_fudge 
+          real(dl) :: RECFAST_fudge_He 
+          integer  :: RECFAST_Heswitch
+          logical  :: RECFAST_Hswitch  
+         !0) no change from old Recfast'
+         !1) full expression for escape probability for singlet'
+         !'   1P-1S transition'
+         !2) also including effect of contiuum opacity of H on HeI'
+         !'   singlet (based in fitting formula suggested by'
+         !'   Kholupenko, Ivanchik & Varshalovich, 2007)'
+         !3) only including recombination through the triplets'
+         !4) including 3 and the effect of the contiuum '
+         !'   (although this is probably negligible)' 
+         !5) including only 1, 2 and 3'
+         !6) including all of 1 to 4'
+   
+        end  type RecombinationParams
+
+        character(LEN=*), parameter :: Recombination_Name = 'Recfast_1.5'
+      
+        real(dl) zrec(Nz),xrec(Nz),dxrec(Nz), Tsrec(Nz) ,dTsrec(Nz), tmrec(Nz),dtmrec(Nz)
+
+        real(dl), parameter :: Do21cm_mina = 1/(1+900.) !at which to start evolving Delta_TM
+        logical, parameter :: evolve_Ts = .false. !local equilibrium is very accurate
+        real(dl), parameter :: Do21cm_minev = 1/(1+400.) !at which to evolve T_s
+       
+ 
+        real(dl), parameter :: B01 = 3*B10
+        real(dl) :: NNow, fHe 
+               
+
+        logical :: Do21cm = .false.
+        logical :: doTmatTspin = .false.
+
+        real(dl) :: recombination_saha_z !Redshift at which saha OK
+        real(dl) :: recombination_saha_tau !set externally
+
+
+        public RecombinationParams, Recombination_xe, Recombination_tm,Recombination_ts ,Recombination_init,   &
+               Recombination_ReadParams, Recombination_SetDefParams, Recombination_Validate, Recombination_Name, &
+               kappa_HH_21cm,kappa_eH_21cm,kappa_pH_21cm, &
+               Do21cm, doTmatTspin, Do21cm_mina, dDeltaxe_dtau, &
+               recombination_saha_tau, recombination_saha_z
+ 
+       contains
+
+
+
+         subroutine Recombination_ReadParams(R, Ini)
+          use IniFile
+          Type(RecombinationParams) :: R
+          Type(TIniFile) :: Ini
+
+
+             R%RECFAST_fudge_He = Ini_Read_Double_File(Ini,'RECFAST_fudge_He',RECFAST_fudge_He_default)
+             R%RECFAST_Heswitch = Ini_Read_Int_File(Ini, 'RECFAST_Heswitch',RECFAST_Heswitch_default)
+             R%RECFAST_Hswitch = Ini_Read_Logical_File(Ini, 'RECFAST_Hswitch',RECFAST_Hswitch_default)
+             R%RECFAST_fudge = Ini_Read_Double_File(Ini,'RECFAST_fudge',RECFAST_fudge_default)
+             AGauss1 = Ini_REad_Double_File(Ini,'AGauss1',AGauss1)
+             AGauss2 = Ini_REad_Double_File(Ini,'AGauss2',AGauss2)
+             zGauss1 = Ini_REad_Double_File(Ini,'zGauss1',zGauss1)
+             zGauss2 = Ini_REad_Double_File(Ini,'zGauss2',zGauss2)
+             wGauss1 = Ini_REad_Double_File(Ini,'wGauss1',wGauss1)
+             wGauss2 = Ini_REad_Double_File(Ini,'wGauss2',wGauss2)
+  
+             if (R%RECFAST_Hswitch) then
+                R%RECFAST_fudge = R%RECFAST_fudge - (RECFAST_fudge_default - RECFAST_fudge_default2)
+             end if   
+         end subroutine Recombination_ReadParams 
+
+        subroutine Recombination_SetDefParams(R)
+         type (RecombinationParams) ::R
+
+      
+          R%RECFAST_fudge = RECFAST_fudge_default
+          R%RECFAST_fudge_He = RECFAST_fudge_He_default !Helium fudge parameter
+          R%RECFAST_Heswitch = RECFAST_Heswitch_default
+          R%RECFAST_Hswitch =  RECFAST_Hswitch_default
+          if (R%RECFAST_Hswitch) then
+                R%RECFAST_fudge = RECFAST_fudge_default2
+          end if   
+    
+        end subroutine Recombination_SetDefParams
+
+
+        subroutine Recombination_Validate(R, OK)
+          Type(RecombinationParams),intent(in) :: R
+          logical, intent(inout) :: OK
+ 
+              if (R%RECFAST_Heswitch<0 .or. R%RECFAST_Heswitch > 6) then
+                     OK = .false.
+                     write(*,*) 'RECFAST_Heswitch unknown'
+               end if
+             
+         end subroutine Recombination_Validate
+
+
+        function Recombination_tm(a)
+        use RECDATA, only : Tnow
+        real(dl) zst,a,z,az,bz,Recombination_tm
+        integer ilo,ihi
+        
+        if (.not. doTmatTspin) stop 'RECFAST: Recombination_tm not stored'
+        z=1/a-1
+        if (z >= zrec(1)) then
+            Recombination_tm=Tnow/a
+        else
+         if (z <=zrec(nz)) then
+          Recombination_tm=Tmrec(nz)
+         else
+          zst=(zinitial-z)/delta_z
+          ihi= int(zst)
+          ilo = ihi+1
+          az=zst - int(zst)
+          bz=1-az     
+          Recombination_tm=az*Tmrec(ilo)+bz*Tmrec(ihi)+ &
+           ((az**3-az)*dTmrec(ilo)+(bz**3-bz)*dTmrec(ihi))/6._dl
+         endif
+        endif
+
+        end function Recombination_tm
+
+
+        function Recombination_ts(a)
+        !zrec(1) is zinitial-delta_z
+        real(dl), intent(in) :: a
+        real(dl) zst,z,az,bz,Recombination_ts
+        integer ilo,ihi
+        
+        z=1/a-1
+        if (z.ge.zrec(1)) then
+          Recombination_ts=tsrec(1)
+        else
+         if (z.le.zrec(nz)) then
+          Recombination_ts=tsrec(nz)
+         else
+          zst=(zinitial-z)/delta_z
+          ihi= int(zst)
+          ilo = ihi+1
+          az=zst - int(zst)
+          bz=1-az     
+
+          Recombination_ts=az*tsrec(ilo)+bz*tsrec(ihi)+ &
+           ((az**3-az)*dtsrec(ilo)+(bz**3-bz)*dtsrec(ihi))/6._dl
+         endif
+        endif
+
+        end function Recombination_ts
+
+
+        function Recombination_xe(a)
+        real(dl), intent(in) :: a
+        real(dl) zst,z,az,bz,Recombination_xe
+        integer ilo,ihi
+        
+        z=1/a-1
+        if (z.ge.zrec(1)) then
+          Recombination_xe=xrec(1)
+        else
+         if (z.le.zrec(nz)) then
+          Recombination_xe=xrec(nz)
+         else
+          zst=(zinitial-z)/delta_z
+          ihi= int(zst)
+          ilo = ihi+1
+          az=zst - int(zst)
+          bz=1-az     
+          Recombination_xe=az*xrec(ilo)+bz*xrec(ihi)+ &
+           ((az**3-az)*dxrec(ilo)+(bz**3-bz)*dxrec(ihi))/6._dl
+         endif
+        endif
+
+        end function Recombination_xe
+
+
+
+!!!!!!!!!!!
+!Modified master subroutine for recast
+!includes now size of spline tables, aeq, aosc (time when m=dfac*H from axion_background
+!.f90), omega_ah^2*aosc^3 for a^-3 scaling of density when a>aosc
+!logarithm of scale factor, energy density of axions and spilne buffer all from axion_background.f90
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+        subroutine Recombination_init(Recomb, OmegaC, OmegaB, Omegan, Omegav, &
+      h0inp,tcmb,yp,OmegaAx,omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,grhoax_table_buff)
+        !Would love to pass structure as arguments, but F90 would give circular reference...
+        !hence mess passing parameters explcitly and non-generally
+        !Note recfast only uses OmegaB, h0inp, tcmb and yp - others used only for Tmat approximation where effect small
+        use RECDATA
+        use AMLUtils
+        use constants
+        implicit none
+        Type (RecombinationParams) :: Recomb
+ 
+        real(dl), save :: last_OmB =0, Last_YHe=0, Last_H0=0, Last_dtauda=0, last_fudge, last_fudgeHe 
+
+        real(dl) Trad,Tmat,Tspin,d0hi,d0lo
+        integer I
+
+        real(dl) OmegaB,OmegaC, Omegan, Omegav, H
+         
+       
+        real(dl) z,x,x0,rhs,x_H,x_He,x_H0,x_He0,h0inp
+!   Unecessary variable
+        real(dl) n
+        real(dl) zstart,zend,tcmb
+        real(dl) cw(24)
+        real(dl), dimension(:,:), allocatable :: w
+        real(dl) y(4)
+        real(dl) yp
+        real(dl) C10, tau_21Ts
+        !un-necessary fi find aeq using axion code
+  !      real(dl) fnu
+       integer ind,nw
+ 
+ 		!!!!!!!Some more Axion definitions
+       	!Omega_axion, m=dfac*H transition point (scale factor aosc), energy density at that time
+		real(dl) OmegaAx,aosc,drefp_hsq
+       	!aeq from axion_background.f90
+        real(dl) aeq
+  	     integer ntable
+      	!log scale factor, log energy density and spline bufffer for axion inclusion
+      	 real(dl) loga_table(ntable),grhoax_table(ntable),grhoax_table_buff(ntable)
+		!!!!!!!!!!!!
+
+
+
+!       --- Parameter statements
+        real(dl), parameter :: tol=1.D-3                !Tolerance for R-K
+
+        real(dl) dtauda,omegar
+        external dtauda, dverk
+
+!       ===============================================================
+
+        if (Last_OmB==OmegaB .and. Last_H0 == h0inp .and. yp == Last_YHe .and. & 
+             dtauda(0.2352375823_dl) == Last_dtauda .and. last_fudge == Recomb%RECFAST_fudge &
+              .and. last_fudgeHe==Recomb%RECFAST_fudge_He) return
+           !This takes up most of the single thread time, so cache if at all possible
+           !For example if called with different reionization, or tensor rather than scalar
+        
+        Last_dtauda =  dtauda(0.2352375823_dl) !Just get it at a random scale factor
+        Last_OmB = OmegaB
+        Last_H0 = h0inp
+        Last_YHe=yp
+        last_fudge = Recomb%RECFAST_FUDGE
+        last_fudgeHe = Recomb%RECFAST_FUDGE_He
+
+        if (Do21cm) doTmatTspin = .true.
+
+
+!       write(*,*)'recfast version 1.0'
+!       write(*,*)'Using Hummer''s case B recombination rates for H'
+!       write(*,*)' with fudge factor = 1.14'
+!       write(*,*)'and tabulated HeII singlet recombination rates'
+!       write(*,*)
+
+        n_eq = 3
+        if (Evolve_Ts) n_eq=4
+        allocate(w(n_eq,9))
+
+        recombination_saha_z=0.d0
+
+        Tnow=tcmb
+!       These are easy to inquire as input, but let's use simple values
+        z = zinitial
+!       will output every 1 in z, but this is easily changed also
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !Not general, but only for approx 
+ !DM11: notes that the neutrinos are not included here. Gives wrong curvature.
+ !DG15: Have added massive and massless neutrino+photon contribution'
+ ! Does not make a huge difference
+ ! See comment in halofit also.
+        OmegaT=OmegaC+OmegaB        !total dark matter + baryons + axions
+        OmegaK=1.d0-OmegaT-OmegaAx-OmegaV-omegar-Omegan      !curvature
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   
+  
+!       convert the Hubble constant units
+        H = H0inp/100._dl
+        HO = H*bigH
+
+
+!       sort out the helium abundance parameters
+        mu_H = 1.d0/(1.d0-Yp)           !Mass per H atom
+        mu_T = not4/(not4-(not4-1.d0)*Yp)   !Mass per atom
+        fHe = Yp/(not4*(1.d0-Yp))       !n_He_tot / n_H_tot
+
+
+        Nnow = 3._dl*HO*HO*OmegaB/(8._dl*Pi*G*mu_H*m_H)
+
+        n = Nnow * (1._dl+z)**3
+ !       fnu = (21.d0/8.d0)*(4.d0/11.d0)**(4.d0/3.d0)
+!	(this is explictly for 3 massless neutrinos - change if N_nu.ne.3; but only used for approximation so not critical)
+        !z_eq = !(3.d0*(HO*C)**2/(8.d0*Pi*G*a_rad*(1.d0+fnu)*Tnow**4))*(OmegaB+OmegaC)
+        z_eq=aeq**(-1.0d0)
+        z_eq = z_eq - 1.d0
+!print*,z_eq
+      
+!       Set up some constants so they don't have to be calculated later
+        Lalpha = 1.d0/L_H_alpha
+        Lalpha_He = 1.d0/L_He_2p
+        DeltaB = h_P*C*(L_H_ion-L_H_alpha)
+        CDB = DeltaB/k_B
+        DeltaB_He = h_P*C*(L_He1_ion-L_He_2s)   !2s, not 2p
+        CDB_He = DeltaB_He/k_B
+        CB1 = h_P*C*L_H_ion/k_B
+        CB1_He1 = h_P*C*L_He1_ion/k_B   !ionization for HeI
+        CB1_He2 = h_P*C*L_He2_ion/k_B   !ionization for HeII
+        CR = 2.d0*Pi*(m_e/h_P)*(k_B/h_P)
+        CK = Lalpha**3/(8.d0*Pi)
+        CK_He = Lalpha_He**3/(8.d0*Pi)
+        CL = C*h_P/(k_B*Lalpha)
+        CL_He = C*h_P/(k_B/L_He_2s) !comes from det.bal. of 2s-1s
+        CT = Compton_CT / MPC_in_sec
+
+        Bfact = h_P*C*(L_He_2p-L_He_2s)/k_B
+
+        
+!       Matter departs from radiation when t(Th) > H_frac * t(H)
+!       choose some safely small number
+        H_frac = 1D-3
+
+!       Fudge factor to approximate for low z out of equilibrium effect
+        fu=Recomb%RECFAST_fudge
+
+!       Set initial matter temperature
+        y(3) = Tnow*(1._dl+z)            !Initial rad. & mat. temperature
+        Tmat = y(3)
+        y(4) = Tmat
+        Tspin = Tmat
+
+        call get_init(z,x_H0,x_He0,x0)
+    
+        y(1) = x_H0
+        y(2) = x_He0
+
+!       OK that's the initial conditions, now start writing output file
+
+
+!       Set up work-space stuff for DVERK
+        ind  = 1
+        nw   = n_eq
+        do i = 1,24
+          cw(i) = 0._dl
+        end do
+
+        do i = 1,Nz
+!       calculate the start and end redshift for the interval at each z
+!       or just at each z
+          zstart = zinitial  - real(i-1,dl)*delta_z
+          zend   = zinitial  - real(i,dl)*delta_z
+
+! Use Saha to get x_e, using the equation for x_e for ionized helium
+! and for neutral helium.
+! Everything ionized above z=8000.  First ionization over by z=5000.
+! Assume He all singly ionized down to z=3500, then use He Saha until
+! He is 99% singly ionized, and *then* switch to joint H/He recombination.
+
+          z = zend
+        
+          if (zend > 8000._dl) then
+
+            x_H0 = 1._dl
+            x_He0 = 1._dl
+            x0 = 1._dl+2._dl*fHe
+            y(1) = x_H0
+            y(2) = x_He0
+            y(3) = Tnow*(1._dl+z)
+            y(4) = y(3)
+
+          else if(z > 5000._dl)then
+
+            x_H0 = 1._dl
+            x_He0 = 1._dl
+            rhs = exp( 1.5d0 * log(CR*Tnow/(1._dl+z)) &
+                - CB1_He2/(Tnow*(1._dl+z)) ) / Nnow
+            rhs = rhs*1._dl            !ratio of g's is 1 for He++ <-> He+
+            x0 = 0.5d0 * ( sqrt( (rhs-1._dl-fHe)**2 &
+                + 4._dl*(1._dl+2._dl*fHe)*rhs) - (rhs-1._dl-fHe) )
+            y(1) = x_H0
+            y(2) = x_He0
+            y(3) = Tnow*(1._dl+z)
+            y(4) = y(3)
+
+          else if(z > 3500._dl)then
+
+            x_H0 = 1._dl
+            x_He0 = 1._dl
+            x0 = x_H0 + fHe*x_He0
+            y(1) = x_H0
+            y(2) = x_He0
+            y(3) = Tnow*(1._dl+z)
+            y(4) = y(3)
+
+          else if(y(2) > 0.99)then
+
+            x_H0 = 1._dl
+            rhs = exp( 1.5d0 * log(CR*Tnow/(1._dl+z)) &
+                - CB1_He1/(Tnow*(1._dl+z)) ) / Nnow
+            rhs = rhs*4._dl            !ratio of g's is 4 for He+ <-> He0
+            x_He0 = 0.5d0 * ( sqrt( (rhs-1._dl)**2 &
+                + 4._dl*(1._dl+fHe)*rhs )- (rhs-1._dl))
+            x0 = x_He0
+            x_He0 = (x0 - 1._dl)/fHe
+            y(1) = x_H0
+            y(2) = x_He0
+            y(3) = Tnow*(1._dl+z)
+            y(4) = y(3)
+
+          else if (y(1) > 0.99d0) then
+
+            rhs = exp( 1.5d0 * log(CR*Tnow/(1._dl+z)) &
+                - CB1/(Tnow*(1._dl+z)) ) / Nnow
+            x_H0 = 0.5d0 * (sqrt( rhs**2+4._dl*rhs ) - rhs )
+!recdverk is same runge kutte integrator used ins ubroutines, just added pasisng of splines
+            call recdverk(Recomb,OmegaAx,omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&      
+      grhoax_table_buff,3,ION,zstart,y,zend,tol,ind,cw,nw,w)
+            y(1) = x_H0
+            x0 = y(1) + fHe*y(2)
+            y(4)=y(3)
+          else
+            
+            call recdverk(Recomb,OmegaAx,omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,nw,ION,zstart,y,zend,tol,ind,cw,nw,w)
+          
+            x0 = y(1) + fHe*y(2)
+          
+          end if
+          
+          Trad = Tnow * (1._dl+zend)
+          Tmat = y(3)
+          x_H = y(1)
+          x_He = y(2)
+          x = x0
+
+          zrec(i)=zend
+          xrec(i)=x
+
+    
+          if (doTmatTspin) then
+              if (Evolve_Ts .and. zend< 1/Do21cm_minev-1 ) then
+               Tspin = y(4)
+              else 
+               C10 = Nnow * (1._dl+zend)**3*(kappa_HH_21cm(Tmat,.false.)*(1-x_H) + kappa_eH_21cm(Tmat,.false.)*x)
+               tau_21Ts = line21_const*NNow*(1+zend)*dtauda(1/(1+zend))/1000
+        
+               Tspin = Trad*( C10/Trad + A10/T_21cm)/(C10/Tmat + A10/T_21cm) + &
+                     tau_21Ts/2*A10*( 1/(C10*T_21cm/Tmat+A10) -  1/(C10*T_21cm/Trad+A10) )
+          
+               y(4) = Tspin
+              end if
+
+              tsrec(i) = Tspin
+              tmrec(i) = Tmat
+           
+          end if   
+
+!          write (*,'(5E15.5)') zend, Trad, Tmat, Tspin, x
+     
+        end do
+        
+        d0hi=1.0d40
+        d0lo=1.0d40
+        call spline(zrec,xrec,nz,d0lo,d0hi,dxrec)
+        if (doTmatTspin) then
+         call spline(zrec,tsrec,nz,d0lo,d0hi,dtsrec)
+         call spline(zrec,tmrec,nz,d0lo,d0hi,dtmrec)
+        end if
+        deallocate(w)
+        
+        end subroutine Recombination_init
+
+!       ===============================================================
+        subroutine GET_INIT(z,x_H0,x_He0,x0)
+
+!       Set up the initial conditions so it will work for general,
+!       but not pathological choices of zstart
+!       Initial ionization fraction using Saha for relevant species
+        use RECDATA
+        implicit none
+  
+        
+        real(dl) z,x0,rhs,x_H0,x_He0
+  
+
+        if(z > 8000._dl)then
+
+            x_H0 = 1._dl
+            x_He0 = 1._dl
+            x0 = 1._dl+2._dl*fHe
+
+        else if(z > 3500._dl)then
+
+            x_H0 = 1._dl
+            x_He0 = 1._dl
+            rhs = exp( 1.5d0 * log(CR*Tnow/(1._dl+z)) &
+                - CB1_He2/(Tnow*(1._dl+z)) ) / Nnow
+        rhs = rhs*1._dl    !ratio of g's is 1 for He++ <-> He+
+        x0 = 0.5d0 * ( sqrt( (rhs-1._dl-fHe)**2 &
+                + 4._dl*(1._dl+2._dl*fHe)*rhs) - (rhs-1._dl-fHe) )
+
+        else if(z > 2000._dl)then
+
+        x_H0 = 1._dl
+            rhs = exp( 1.5d0 * log(CR*Tnow/(1._dl+z)) &
+                - CB1_He1/(Tnow*(1._dl+z)) ) / Nnow
+        rhs = rhs*4._dl    !ratio of g's is 4 for He+ <-> He0
+            x_He0 = 0.5d0  * ( sqrt( (rhs-1._dl)**2 + 4._dl*(1._dl+fHe)*rhs )- (rhs-1._dl))
+            x0 = x_He0
+            x_He0 = (x0 - 1._dl)/fHe
+
+        else
+
+            rhs = exp( 1.5d0 * log(CR*Tnow/(1._dl+z)) &
+                - CB1/(Tnow*(1._dl+z)) ) / Nnow
+            x_H0 = 0.5d0 * (sqrt( rhs**2+4._dl*rhs ) - rhs )
+            x_He0 = 0._dl
+            x0 = x_H0
+
+        end if
+
+        
+        end subroutine GET_INIT
+
+
+
+        subroutine ION(Recomb,OmegaAx,omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,Ndim,z,Y,f)
+        use RECDATA
+     !   use ModelParams
+        implicit none
+
+        integer Ndim
+        Type (RecombinationParams) :: Recomb
+
+        real(dl) z,x,n,n_He,Trad,Tmat,Tspin,x_H,x_He, Hz
+        real(dl) y(Ndim),f(Ndim)
+        real(dl) Rup,Rdown,K,K_He,Rup_He,Rdown_He,He_Boltz
+        real(dl) timeTh,timeH
+        real(dl) a_VF,b_VF,T_0,T_1,sq_0,sq_1,a_PPB,b_PPB,c_PPB,d_PPB
+        real(dl) tauHe_s,pHe_s
+        real(dl) a_trip,b_trip,Rdown_trip,Rup_trip
+        real(dl) Doppler,gamma_2Ps,pb,qb,AHcon
+        real(dl) tauHe_t,pHe_t,CL_PSt,CfHe_t,gamma_2Pt
+        real(dl) epsilon, omegar
+        integer Heflag,ntable
+        real(dl) dtauda
+        real (dl) gr,sfac,aosc,drefp_hsq
+        real(dl) C10, dHdz
+        real (dl) OmegaAx,aeq,loga_table(ntable),grhoax_table(ntable),grhoax_table_buff(ntable),dorp,dorpa,deriv_eps
+        external dtauda
+        integer i
+
+!       the Pequignot, Petitjean & Boisson fitting parameters for Hydrogen    
+        a_PPB = 4.309d0
+        b_PPB = -0.6166d0
+        c_PPB = 0.6703d0
+        d_PPB = 0.5300d0
+!       the Verner and Ferland type fitting parameters for Helium
+!       fixed to match those in the SSS papers, and now correct
+        a_VF = 10.d0**(-16.744d0)
+        b_VF = 0.711d0
+        T_0 = 10.d0**(0.477121d0)   !3K
+        T_1 = 10.d0**(5.114d0)
+!      fitting parameters for HeI triplets
+!      (matches Hummer's table with <1% error for 10^2.8 < T/K < 10^4)
+
+        a_trip = 10.d0**(-16.306d0)
+        b_trip = 0.761D0
+
+       
+        x_H = y(1)
+        x_He = y(2)
+        x = x_H + fHe * x_He
+        Tmat = y(3)
+!        Tspin = y(4)
+
+        n = Nnow * (1._dl+z)**3
+        n_He = fHe * Nnow * (1._dl+z)**3
+        Trad = Tnow * (1._dl+z)
+
+        Hz = 1/dtauda(1/(1._dl+z))*(1._dl+z)**2/MPC_in_sec       
+     
+
+!       Get the radiative rates using PPQ fit, identical to Hummer's table
+        
+        Rdown=1.d-19*a_PPB*(Tmat/1.d4)**b_PPB &
+                /(1._dl+c_PPB*(Tmat/1.d4)**d_PPB)
+        Rup = Rdown * (CR*Tmat)**(1.5d0)*exp(-CDB/Tmat)
+      
+!       calculate He using a fit to a Verner & Ferland type formula
+        sq_0 = sqrt(Tmat/T_0)
+        sq_1 = sqrt(Tmat/T_1)
+!       typo here corrected by Wayne Hu and Savita Gahlaut
+        Rdown_He = a_VF/(sq_0*(1.d0+sq_0)**(1.d0-b_VF))
+        Rdown_He = Rdown_He/(1.d0+sq_1)**(1.d0+b_VF)
+        Rup_He = Rdown_He*(CR*Tmat)**(1.5d0)*exp(-CDB_He/Tmat)
+        Rup_He = 4.d0*Rup_He    !statistical weights factor for HeI
+!       Avoid overflow (pointed out by Jacques Roland)
+        if((Bfact/Tmat) > 680.d0)then
+          He_Boltz = exp(680.d0)
+        else
+          He_Boltz = exp(Bfact/Tmat)
+        end if
+!	now deal with H and its fudges
+    if (.not. Recomb%RECFAST_Hswitch) then
+      K = CK/Hz		!Peebles coefficient K=lambda_a^3/8piH
+    else
+!c	fit a double Gaussian correction function
+      K = CK/Hz*(1.0d0 &
+        +AGauss1*exp(-((log(1.0d0+z)-zGauss1)/wGauss1)**2.d0) &
+        +AGauss2*exp(-((log(1.0d0+z)-zGauss2)/wGauss2)**2.d0))
+    end if        
+        
+        
+ !  add the HeI part, using same T_0 and T_1 values
+    Rdown_trip = a_trip/(sq_0*(1.d0+sq_0)**(1.0-b_trip))
+    Rdown_trip = Rdown_trip/((1.d0+sq_1)**(1.d0+b_trip))
+    Rup_trip = Rdown_trip*dexp(-h_P*C*L_He2St_ion/(k_B*Tmat))
+    Rup_trip = Rup_trip*((CR*Tmat)**(1.5d0))*(4.d0/3.d0)
+!   last factor here is the statistical weight
+
+!       try to avoid "NaN" when x_He gets too small
+    if ((x_He.lt.5.d-9) .or. (x_He.gt.0.98d0)) then 
+      Heflag = 0
+    else
+      Heflag = Recomb%RECFAST_Heswitch
+    end if
+    if (Heflag.eq.0)then        !use Peebles coeff. for He
+      K_He = CK_He/Hz
+    else    !for Heflag>0       !use Sobolev escape probability
+      tauHe_s = A2P_s*CK_He*3.d0*n_He*(1.d0-x_He)/Hz
+      pHe_s = (1.d0 - dexp(-tauHe_s))/tauHe_s
+      K_He = 1.d0/(A2P_s*pHe_s*3.d0*n_He*(1.d0-x_He))
+!      if (((Heflag.eq.2) .or. (Heflag.ge.5)) .and. x_H < 0.99999d0) then 
+      if (((Heflag.eq.2) .or. (Heflag.ge.5)) .and. x_H < 0.9999999d0) then
+       !AL changed July 08 to get smoother Helium
+
+!   use fitting formula for continuum opacity of H
+!   first get the Doppler width parameter
+        Doppler = 2.D0*k_B*Tmat/(m_H*not4*C*C)
+        Doppler = C*L_He_2p*dsqrt(Doppler)
+        gamma_2Ps = 3.d0*A2P_s*fHe*(1.d0-x_He)*C*C &
+            /(dsqrt(Pi)*sigma_He_2Ps*8.d0*Pi*Doppler*(1.d0-x_H)) &
+            /((C*L_He_2p)**2.d0)
+        pb = 0.36d0  !value from KIV (2007)
+        qb = Recomb%RECFAST_fudge_He
+!   calculate AHcon, the value of A*p_(con,H) for H continuum opacity
+        AHcon = A2P_s/(1.d0+pb*(gamma_2Ps**qb))
+        K_He=1.d0/((A2P_s*pHe_s+AHcon)*3.d0*n_He*(1.d0-x_He))
+      end if
+      if (Heflag.ge.3) then     !include triplet effects
+        tauHe_t = A2P_t*n_He*(1.d0-x_He)*3.d0
+        tauHe_t = tauHe_t /(8.d0*Pi*Hz*L_He_2Pt**(3.d0))
+        pHe_t = (1.d0 - dexp(-tauHe_t))/tauHe_t
+        CL_PSt = h_P*C*(L_He_2Pt - L_He_2st)/k_B
+        if ((Heflag.eq.3) .or. (Heflag.eq.5).or.(x_H.gt.0.99999d0)) then !Recfast 1.4.2 (?)
+!        if ((Heflag.eq.3) .or. (Heflag.eq.5) .or. x_H >= 0.9999999d0) then    !no H cont. effect
+            CfHe_t = A2P_t*pHe_t*dexp(-CL_PSt/Tmat)
+            CfHe_t = CfHe_t/(Rup_trip+CfHe_t)   !"C" factor for triplets
+        else                  !include H cont. effect
+            Doppler = 2.d0*k_B*Tmat/(m_H*not4*C*C)
+            Doppler = C*L_He_2Pt*dsqrt(Doppler)
+            gamma_2Pt = 3.d0*A2P_t*fHe*(1.d0-x_He)*C*C &
+            /(dsqrt(Pi)*sigma_He_2Pt*8.d0*Pi*Doppler*(1.d0-x_H)) &
+            /((C*L_He_2Pt)**2.d0)
+    !   use the fitting parameters from KIV (2007) in this case
+            pb = 0.66d0
+            qb = 0.9d0
+            AHcon = A2P_t/(1.d0+pb*gamma_2Pt**qb)/3.d0
+            CfHe_t = (A2P_t*pHe_t+AHcon)*dexp(-CL_PSt/Tmat)
+            CfHe_t = CfHe_t/(Rup_trip+CfHe_t)   !"C" factor for triplets
+        end if
+      end if
+    end if
+        
+        
+!       Estimates of Thomson scattering time and Hubble time
+        timeTh=(1._dl/(CT*Trad**4))*(1._dl+x+fHe)/x       !Thomson time
+        timeH=2./(3.*HO*(1._dl+z)**1.5)      !Hubble time
+
+!       calculate the derivatives
+!       turn on H only for x_H<0.99, and use Saha derivative for 0.98<x_H<0.99
+!       (clunky, but seems to work)
+        if (x_H > 0.99) then   !don't change at all
+                f(1) = 0._dl
+!!        else if (x_H > 0.98_dl) then
+      else if (x_H.gt.0.985d0) then     !use Saha rate for Hydrogen
+            f(1) = (x*x_H*n*Rdown - Rup*(1.d0-x_H)*dexp(-CL/Tmat)) /(Hz*(1.d0+z))
+            recombination_saha_z = z  
+!AL: following commented as not used
+!   for interest, calculate the correction factor compared to Saha
+!   (without the fudge)
+!       factor=(1.d0 + K*Lambda*n*(1.d0-x_H))
+!       /(Hz*(1.d0+z)*(1.d0+K*Lambda*n*(1.d0-x)
+!       +K*Rup*n*(1.d0-x)))       
+      else !use full rate for H
+
+        f(1) = ((x*x_H*n*Rdown - Rup*(1.d0-x_H)*exp(-CL/Tmat)) &
+                *(1.d0 + K*Lambda*n*(1.d0-x_H))) &
+                /(Hz*(1.d0+z)*(1.d0/fu+K*Lambda*n*(1.d0-x_H)/fu &
+                +K*Rup*n*(1.d0-x_H)))
+
+      end if
+   
+!       turn off the He once it is small
+      if (x_He < 1.e-15) then 
+                f(2)=0.d0
+      else
+
+        f(2) = ((x*x_He*n*Rdown_He &
+            - Rup_He*(1-x_He)*exp(-CL_He/Tmat)) &
+                *(1 + K_He*Lambda_He*n_He*(1.d0-x_He)*He_Boltz)) &
+                /(Hz*(1+z) &
+                * (1 + K_He*(Lambda_He+Rup_He)*n_He*(1.d0-x_He)*He_Boltz))
+                
+!   Modification to HeI recombination including channel via triplets
+          if (Heflag.ge.3) then
+            f(2) = f(2)+ (x*x_He*n*Rdown_trip & 
+             - (1.d0-x_He)*3.d0*Rup_trip*dexp(-h_P*C*L_He_2st/(k_B*Tmat))) &
+             *CfHe_t/(Hz*(1.d0+z))
+          end if
+
+        end if
+
+        if (timeTh < H_frac*timeH) then
+!                f(3)=Tmat/(1._dl+z)      !Tmat follows Trad
+!	additional term to smooth transition to Tmat evolution,
+!	(suggested by Adam Moss)
+!model params used here added 9.19/2012, omega r put i in explicitly , omega m separated from omega axion, and spline table introduced for omegaaxion
+
+
+
+!OLD RECFAST COMPUTATION OF DHDZ
+  !       dHdz = (HO**2/2.d0/Hz)*(4.d0*((1.d0+z)**3)*omegar &
+   !      + 3.d0*OmegaT*(1.d0+z)**2 + 2.d0*OmegaK*(1.d0+z) )
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!! Ours here includes omega_k computed self consistently including radiation neutrinos etc
+!!!! as well as of course ULAS
+sfac=1.0d0/(1.0d0+z)
+	if (sfac .lt. aosc) then
+        call spline_out(loga_table,grhoax_table,grhoax_table_buff,ntable,dlog10(sfac),gr)
+        if (gr .eq. gr) then
+           !delog it and multiply by physical units
+           dorp=(1.0d1**(dble(gr)))
+        else
+           dorp=0.0d0
+        endif
+        else
+        	dorp=drefp_hsq*((aosc/sfac)**3.0d0)
+        endif
+        !this is grhoax_table_internal=rho_ax/rho_crit^today so already 
+        !in the form needed for recfast's normalization conventions
+        !(unlike equations_ppf.f90, no multiplication by grhom needed)!        
+        !Obtain H(z)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!Obtain H(z) at slightly offset time period (lower redshift)
+!
+
+deriv_eps=1.d-3*real(sfac)
+call spline_out(loga_table,grhoax_table,grhoax_table_buff,ntable,dlog10(sfac+deriv_eps),gr)
+!
+	if ((sfac+deriv_eps) .lt. aosc) then
+        call spline_out(loga_table,grhoax_table,grhoax_table_buff,ntable,dlog10(sfac+deriv_eps),gr)
+!        !write(*,*) a, gr
+!        !compute log10 of density use of interpolation
+!        !print*,a,grhoc,grhom*(1.0d1**(dble(gr)))/((grhoc+grhob)/(a**3.0d0))
+        if (gr .eq. gr) then
+           !delog it and multiply by physical units
+           dorpa=(1.0d1**(dble(gr)))
+        else
+           dorpa=0.0d0
+        endif
+        else
+        	dorpa=drefp_hsq*((aosc/(sfac+deriv_eps))**3.0d0)
+        endif
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!       
+        
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!        
+!simple derivative of axion energy density
+ dorpa=(dorpa-dorp)/(deriv_eps)
+!above calculate derivative of dimensionless axion density
+ dHdz = (HO**2/2.d0/Hz)*(4.d0*((1.d0+z)**3)*omegar &
+         + 3.d0*OmegaT*(1.d0+z)**2 + 2.d0*OmegaK*(1.d0+z)&
+      &-dorpa/((1.0d0+z)**2.0d0))
+!!!!! Include self consistently in dH/dz
+      
+
+        epsilon = Hz*(1.d0+x+fHe)/(CT*Trad**3*x)
+        f(3) = Tnow &
+        + epsilon*((1.d0+fHe)/(1.d0+fHe+x))*((f(1)+fHe*f(2))/x) &
+        - epsilon* dHdz/Hz + 3.0d0*epsilon/(1.d0+z) 
+                
+        else
+                f(3)= CT * (Trad**4) * x / (1._dl+x+fHe) &
+                        * (Tmat-Trad) / (Hz*(1._dl+z)) + 2._dl*Tmat/(1._dl+z)    
+        end if
+
+         ! print *, z, f(3)*(1+z)/Tmat
+         
+        if (Do21cm .and. evolve_Ts) then
+
+    !       follow the matter temperature once it has a chance of diverging
+            if (timeTh < H_frac*timeH) then
+                f(4) = Tnow !spin follows Trad and Tmat
+            else
+                if (z< 1/Do21cm_minev-1) then
+       
+                 Tspin = y(4) 
+                 C10 = n*(kappa_HH_21cm(Tmat,.false.)*(1-x_H) + kappa_eH_21cm(Tmat,.false.)*x)
+       
+                 f(4) = 4*Tspin/Hz/(1+z)*( (Tspin/Tmat-1._dl)*C10 + Trad/T_21cm*(Tspin/Trad-1._dl)*A10) - f(1)*Tspin/(1-x_H)
+                else
+                 f(4)=f(3)
+                end if
+            end if
+      
+        end if
+
+        end subroutine ION
+
+
+
+        function dDeltaxe_dtau(a, Delta_xe,Delta_nH, Delta_Tm, hdot, kvb)
+        !d x_e/d tau assuming Helium all neutral and temperature perturbations negligible
+        !it is not accurate for x_e of order 1
+        use RECDATA
+        implicit none
+        real(dl) dDeltaxe_dtau
+        real(dl), intent(in):: a, Delta_xe,Delta_nH, Delta_Tm, hdot, kvb
+        real(dl) Delta_Tg
+        real(dl) xedot,z,x,n,n_He,Trad,Tmat,x_H,Hz, C_r, dlnC_r
+        real(dl) Rup,Rdown,K
+        real(dl) a_PPB,b_PPB,c_PPB,d_PPB
+        real(dl) delta_alpha, delta_beta, delta_K, clh
+        real(dl) dtauda
+        external dtauda
+
+       
+        Delta_tg =Delta_Tm
+        x_H = min(1._dl,Recombination_xe(a))
+
+!       the Pequignot, Petitjean & Boisson fitting parameters for Hydrogen    
+        a_PPB = 4.309d0
+        b_PPB = -0.6166d0
+        c_PPB = 0.6703d0
+        d_PPB = 0.5300d0
+ 
+        z=1/a-1
+
+        x = x_H 
+
+        n = Nnow /a**3
+        n_He = fHe * n
+        Trad = Tnow /a
+        clh = 1/dtauda(a)/a !conformal time
+        Hz = clh/a/MPC_in_sec !normal time in seconds
+
+        Tmat = Recombination_tm(a)
+
+!       Get the radiative rates using PPQ fit, identical to Hummer's table
+        
+        Rdown=1.d-19*a_PPB*(Tmat/1.d4)**b_PPB &
+                /(1._dl+c_PPB*(Tmat/1.d4)**d_PPB)   !alpha
+        Rup = Rdown * (CR*Tmat)**(1.5d0)*exp(-CDB/Tmat)
+      
+        K = CK/Hz              !Peebles coefficient K=lambda_a^3/8piH
+
+
+        Rdown = Rdown*fu
+        Rup = Rup*fu
+        C_r =  a*(1.d0 + K*Lambda*n*(1.d0-x_H)) /( 1.d0+K*(Lambda+Rup)*n*(1.d0-x_H) )*MPC_in_sec
+ 
+        xedot = -(x*x_H*n*Rdown - Rup*(1.d0-x_H)*exp(-CL/Tmat))*C_r
+               
+        delta_alpha = (b_PPB + c_PPB*(Tmat/1d4)**d_PPB*(b_PPB-d_PPB))/(1+c_PPB*(Tmat/1d4)**d_PPB)*Delta_Tg
+        delta_beta = delta_alpha + (3./2 + CDB/Tmat)*delta_Tg !(Rup = beta)
+        delta_K = - hdot/clh - kvb/clh/3
+
+
+        dlnC_r = -Rup*K*n*( (Delta_nH+Delta_K + Delta_beta*(1+K*Lambda*n*(1-x_H)))*(1-x_H) - x_H*Delta_xe) &
+          / ( 1.d0+K*(Lambda+Rup)*n*(1.d0-x_H) ) /(1.d0 + K*Lambda*n*(1.d0-x_H)) 
+             
+        dDeltaxe_dtau= xedot/x_H*(dlnC_r +Delta_alpha - Delta_xe) &
+         - C_r*( (2*Delta_xe + Delta_nH)*x_H*n*Rdown + (Delta_xe - (3./2+ CB1/Tmat)*(1/x_H-1)*Delta_Tg)*Rup*exp(-CL/Tmat))
+        
+ 
+!Approximate form valid at late times
+!        dDeltaxe_dtau= xedot/x_H*(Delta_alpha + Delta_xe + Delta_nH)
+
+
+        end function dDeltaxe_dtau
+
+!  ===============================================================
+
+
+          function polevl(x,coef,N)
+          implicit none
+          integer N
+          real(dl) polevl
+          real(dl) x,ans
+          real(dl) coef(N+1)
+
+          integer i
+
+          ans=coef(1)
+          do i=2,N+1
+             ans=ans*x+coef(i)
+          end do
+          polevl=ans
+      
+          end function polevl
+
+
+          function derivpolevl(x,coef,N)
+          implicit none
+          integer N
+          real(dl) derivpolevl
+          real(dl) x,ans
+          real(dl) coef(N+1)
+          integer i
+
+          ans=coef(1)*N
+          do i=2,N
+             ans=ans*x+coef(i)*(N-i+1)
+          end do
+          derivpolevl=ans
+      
+          end function derivpolevl
+
+
+        function kappa_HH_21cm(T, deriv)
+        !Polynomail fit to Hydrogen-Hydrogen collision rate as function of Tmatter, from astro-ph/0608032
+        !if deriv return d log kappa / d log T
+         real(dl), intent(in) :: T
+         logical, intent(in) :: deriv
+ !        real(dl), dimension(8), parameter :: fit = &
+ !         (/ 0.00120402_dl, -0.0322247_dl,0.339581_dl, -1.75094_dl,4.3528_dl,-4.03562_dl, 1.26899_dl, -29.6113_dl /)
+         integer, parameter :: n_table = 27
+         integer, dimension(n_table), parameter :: Temps = &
+          (/ 1, 2, 4, 6,8,10,15,20,25,30,40,50,60,70,80,90,100,200,300,500,700,1000,2000,3000,5000,7000,10000/) 
+         real, dimension(n_table), parameter :: rates = &
+          (/ 1.38e-13, 1.43e-13,2.71e-13, 6.60e-13,1.47e-12,2.88e-12,9.10e-12,1.78e-11,2.73e-11,&
+           3.67e-11,5.38e-11,6.86e-11,8.14e-11,9.25e-11, &
+           1.02e-10,1.11e-10,1.19e-10,1.75e-10,2.09e-10,2.56e-10,2.91e-10,3.31e-10,4.27e-10,&
+           4.97e-10,6.03e-10,6.87e-10,7.87e-10/) 
+          
+         real(dl) kappa_HH_21cm, logT, logRate
+         real(dl), save, dimension(:), allocatable :: logRates, logTemps, ddlogRates
+         integer xlo, xhi
+         real(dl) :: a0, b0, ho
+
+         if (.not. allocated(logRates)) then
+
+             allocate(logRates(n_table),logTemps(n_table),ddlogRates(n_table))
+             logRates = log(real(rates,dl)*0.01**3)
+             logTemps = log(real(Temps,dl))
+             call spline(logTemps,logRates,n_table,1d30,1d30,ddlogRates)
+         end if
+
+         if (T<=Temps(1)) then
+             if (deriv) then
+              kappa_HH_21cm = 0
+             else
+              kappa_HH_21cm = rates(1)*0.01**3
+             end if
+            return
+         elseif (T >=Temps(n_table)) then
+             if (deriv) then
+              kappa_HH_21cm = 0
+             else
+              kappa_HH_21cm = rates(n_table)*0.01**3
+             end if
+             return
+         end if
+         
+         logT = log(T)
+         xlo=0
+         do xhi=2, n_table
+          if (logT < logTemps(xhi)) then
+            xlo = xhi-1
+            exit
+          end  if
+         end do
+         xhi = xlo+1
+ 
+         ho=logTemps(xhi)-logTemps(xlo) 
+         a0=(logTemps(xhi)-logT)/ho
+         b0=1-a0
+ 
+         if (deriv) then
+          kappa_HH_21cm  = (logRates(xhi) - logRates(xlo))/ho + &
+              ( ddlogRates(xhi)*(3*b0**2-1) - ddlogRates(xlo)*(3*a0**2-1))*ho/6
+!          kappa_HH_21cm = derivpolevl(logT,fit,7)     
+         else
+          logRate = a0*logRates(xlo)+ b0*logRates(xhi)+ ((a0**3-a0)* ddlogRates(xlo) +(b0**3-b0)*ddlogRates(xhi))*ho**2/6
+          kappa_HH_21cm = exp(logRate)
+!          kappa_HH_21cm = exp(polevl(logT,fit,7))*0.01**3          
+  
+         end if
+
+        end function kappa_HH_21cm
+
+
+        function kappa_eH_21cm(T, deriv)
+        !Polynomail fit to electron-Hydrogen collision rate as function of Tmatter; from astro-ph/0608032
+        !if deriv return d log kappa / d log T
+        ! from astro-ph/0608032
+        !    1 2.39e-10
+        !    2 3.37e-10
+        !    5 5.3e-10
+        !    10 7.46e-10
+        !    20 1.05e-9
+        !    50 1.63e-9
+        !    100 2.26e-9
+        !    200 3.11e-9
+        !    500 4.59e-9
+        !    1000 5.92e-9
+        !    2000 7.15e-9
+        !    5000 8.17e-9
+        !    10000 8.37e-9
+        !    15000 8.29e-9
+        !    20000 8.11e-9
+         real(dl), intent(in) :: T
+         logical, intent(in) :: deriv
+         real(dl), dimension(6), parameter :: fit = &
+          (/5.86236d-005,  -0.00171375_dl, 0.0137303_dl, -0.0435277_dl, 0.540905_dl,-22.1596_dl /)
+       
+         real(dl) kappa_eH_21cm, logT
+
+         logT = log(T)
+         if (deriv) then
+          kappa_eH_21cm = derivpolevl(logT,fit,5)      
+         else
+          kappa_eH_21cm = exp(polevl(logT,fit,5))*0.01**3          
+         end if
+
+        end function kappa_eH_21cm
+
+
+
+
+        function kappa_pH_21cm(T, deriv) ! from astro-ph/0702487
+        !Not actually used
+        !Polynomail fit to proton-Hydrogen collision rate as function of Tmatter
+        !if deriv return d log kappa / d log T
+         real(dl), intent(in) :: T
+         logical, intent(in) :: deriv
+         integer, parameter :: n_table = 17
+         integer, dimension(n_table), parameter :: Temps = &
+          (/ 1, 2, 5, 10,20,50,100,200,500,1000,2000,3000,5000,7000,10000,15000,20000/) 
+         real, dimension(n_table), parameter :: rates = &
+          (/ 0.4028, 0.4517,0.4301,0.3699,0.3172,0.3047, 0.3379, 0.4043, 0.5471, 0.7051, 0.9167, 1.070, &
+              1.301, 1.48,1.695,1.975,2.201/) 
+          
+         real(dl) kappa_pH_21cm, logT, logRate
+         real(dl), save, dimension(:), allocatable :: logRates, logTemps, ddlogRates
+         integer xlo, xhi
+         real(dl) :: a0, b0, ho
+         real(dl):: factor = 0.01**3*1e-9
+
+         if (.not. allocated(logRates)) then
+
+             allocate(logRates(n_table),logTemps(n_table),ddlogRates(n_table))
+             logRates = log(real(rates,dl)*factor)
+             logTemps = log(real(Temps,dl))
+             call spline(logTemps,logRates,n_table,1d30,1d30,ddlogRates)
+         end if
+
+         if (T<=Temps(1)) then
+             if (deriv) then
+              kappa_pH_21cm = 0
+             else
+              kappa_pH_21cm = rates(1)*factor
+             end if
+            return
+         elseif (T >=Temps(n_table)) then
+             if (deriv) then
+              kappa_pH_21cm = 0
+             else
+              kappa_pH_21cm = rates(n_table)*factor
+             end if
+             return
+         end if
+         
+         logT = log(T)
+         xlo=0
+         do xhi=2, n_table
+          if (logT < logTemps(xhi)) then
+            xlo = xhi-1
+            exit
+          end  if
+         end do
+         xhi = xlo+1
+ 
+         ho=logTemps(xhi)-logTemps(xlo) 
+         a0=(logTemps(xhi)-logT)/ho
+         b0=1-a0
+ 
+         if (deriv) then
+          kappa_pH_21cm  = (logRates(xhi) - logRates(xlo))/ho + &
+           ( ddlogRates(xhi)*(3*b0**2-1) - ddlogRates(xlo)*(3*a0**2-1))*ho/6
+         else
+          logRate = a0*logRates(xlo)+ b0*logRates(xhi)+ ((a0**3-a0)* ddlogRates(xlo) +(b0**3-b0)*ddlogRates(xhi))*ho**2/6
+          kappa_pH_21cm = exp(logRate)
+         end if
+
+        end function kappa_pH_21cm
+        
+        
+        
+        !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+        !recombination tailored verk that properly passes around splines
+        !put in to avoid a a make catastrophe, variables as defined earlier
+        !use recfast's integrator instead of my own for minimal catastrophe
+        !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+        
+      subroutine recdverk (EV,OmegaAx,omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,n, fcn, x, y, xend, tol, ind, c, nw, w)
+      use Precision
+      use AMLUtils
+      integer n, ind, nw, k,ntable
+      real(dl) x, y(n), xend, tol, c(*), w(nw,9), temp
+  !    real EV !It isn't, but as long as it maintains it as a pointer we are OK
+                Type(RecombinationParams) ::EV
+ real(dl) loga_table(ntable),grhoax_table(ntable),grhoax_table_buff(ntable)
+ real(dl) OmegaAx,omegar,aeq,aosc,drefp_hsq
+      
+!
+!***********************************************************************
+!                                                                      *
+! note added 11/14/85.                                                 *
+!                                                                      *
+! if you discover any errors in this subroutine, please contact        *
+!                                                                      *
+!        kenneth r. jackson                                            *
+!        department of computer science                                *
+!        university of toronto                                         *
+!        toronto, ontario,                                             *
+!        canada   m5s 1a4                                              *
+!                                                                      *
+!        phone: 416-978-7075                                           *
+!                                                                      *
+!        electronic mail:                                              *
+!        uucp:   {cornell,decvax,ihnp4,linus,uw-beaver}!utcsri!krj     *
+!        csnet:  krj@toronto                                           *
+!        arpa:   krj.toronto@csnet-relay                               *
+!        bitnet: krj%toronto@csnet-relay.arpa                          *
+!                                                                      *
+! dverk is written in fortran 66.                                      *
+!                                                                      *
+! the constants dwarf and rreb -- c(10) and c(11), respectively -- are *
+! set for a  vax  in  double  precision.  they  should  be  reset,  as *
+! described below, if this program is run on another machine.          *
+!                                                                      *
+! the c array is declared in this subroutine to have one element only, *
+! although  more  elements  are  referenced  in this subroutine.  this *
+! causes some compilers to issue warning messages.  there is,  though, *
+! no  error  provided  c is declared sufficiently large in the calling *
+! program, as described below.                                         *
+!                                                                      *
+! the following external statement  for  fcn  was  added  to  avoid  a *
+! warning  message  from  the  unix  f77 compiler.  the original dverk *
+! comments and code follow it.                                         *
+!                                                                      *
+!***********************************************************************
+!
+      external fcn
+!
+!***********************************************************************
+!                                                                      *
+!     purpose - this is a runge-kutta  subroutine  based  on  verner's *
+! fifth and sixth order pair of formulas for finding approximations to *
+! the solution of  a  system  of  first  order  ordinary  differential *
+! equations  with  initial  conditions. it attempts to keep the global *
+! error proportional to  a  tolerance  specified  by  the  user.  (the *
+! proportionality  depends  on the kind of error control that is used, *
+! as well as the differential equation and the range of integration.)  *
+!                                                                      *
+!     various options are available to the user,  including  different *
+! kinds  of  error control, restrictions on step sizes, and interrupts *
+! which permit the user to examine the state of the  calculation  (and *
+! perhaps make modifications) during intermediate stages.              *
+!                                                                      *
+!     the program is efficient for non-stiff systems.  however, a good *
+! variable-order-adams  method  will probably be more efficient if the *
+! function evaluations are very costly.  such a method would  also  be *
+! more suitable if one wanted to obtain a large number of intermediate *
+! solution values by interpolation, as might be the case  for  example *
+! with graphical output.                                               *
+!                                                                      *
+!                                    hull-enright-jackson   1/10/76    *
+!                                                                      *
+!***********************************************************************
+!                                                                      *
+!     use - the user must specify each of the following                *
+!                                                                      *
+!     n  number of equations                                           *
+!                                                                      *
+!   fcn  name of subroutine for evaluating functions - the  subroutine *
+!           itself must also be provided by the user - it should be of *
+!           the following form                                         *
+!              subroutine fcn(n, x, y, yprime)                         *
+!              integer n                                               *
+!              real(dl) x, y(n), yprime(n)                     *
+!                      *** etc ***                                     *
+!           and it should evaluate yprime, given n, x and y            *
+!                                                                      *
+!     x  independent variable - initial value supplied by user         *
+!                                                                      *
+!     y  dependent variable - initial values of components y(1), y(2), *
+!           ..., y(n) supplied by user                                 *
+!                                                                      *
+!  xend  value of x to which integration is to be carried out - it may *
+!           be less than the initial value of x                        *
+!                                                                      *
+!   tol  tolerance - the subroutine attempts to control a norm of  the *
+!           local  error  in  such  a  way  that  the  global error is *
+!           proportional to tol. in some problems there will be enough *
+!           damping  of  errors, as well as some cancellation, so that *
+!           the global error will be less than tol. alternatively, the *
+!           control   can   be  viewed  as  attempting  to  provide  a *
+!           calculated value of y at xend which is the exact  solution *
+!           to  the  problem y' = f(x,y) + e(x) where the norm of e(x) *
+!           is proportional to tol.  (the norm  is  a  max  norm  with *
+!           weights  that  depend on the error control strategy chosen *
+!           by the user.  the default weight for the k-th component is *
+!           1/max(1,abs(y(k))),  which therefore provides a mixture of *
+!           absolute and relative error control.)                      *
+!                                                                      *
+!   ind  indicator - on initial entry ind must be set equal to  either *
+!           1  or  2. if the user does not wish to use any options, he *
+!           should set ind to 1 - all that remains for the user to  do *
+!           then  is  to  declare c and w, and to specify nw. the user *
+!           may also  select  various  options  on  initial  entry  by *
+!           setting ind = 2 and initializing the first 9 components of *
+!           c as described in the next section.  he may also  re-enter *
+!           the  subroutine  with ind = 3 as mentioned again below. in *
+!           any event, the subroutine returns with ind equal to        *
+!              3 after a normal return                                 *
+!              4, 5, or 6 after an interrupt (see options c(8), c(9))  *
+!              -1, -2, or -3 after an error condition (see below)      *
+!                                                                      *
+!     c  communications vector - the dimension must be greater than or *
+!           equal to 24, unless option c(1) = 4 or 5 is used, in which *
+!           case the dimension must be greater than or equal to n+30   *
+!                                                                      *
+!    nw  first dimension of workspace w -  must  be  greater  than  or *
+!           equal to n                                                 *
+!                                                                      *
+!     w  workspace matrix - first dimension must be nw and second must *
+!           be greater than or equal to 9                              *
+!                                                                      *
+!     the subroutine  will  normally  return  with  ind  =  3,  having *
+! replaced the initial values of x and y with, respectively, the value *
+! of xend and an approximation to y at xend.  the  subroutine  can  be *
+! called  repeatedly  with new values of xend without having to change *
+! any other argument.  however, changes in tol, or any of the  options *
+! described below, may also be made on such a re-entry if desired.     *
+!                                                                      *
+!     three error returns are also possible, in which  case  x  and  y *
+! will be the most recently accepted values -                          *
+!     with ind = -3 the subroutine was unable  to  satisfy  the  error *
+!        requirement  with a particular step-size that is less than or *
+!        equal to hmin, which may mean that tol is too small           *
+!     with ind = -2 the value of hmin  is  greater  than  hmax,  which *
+!        probably  means  that the requested tol (which is used in the *
+!        calculation of hmin) is too small                             *
+!     with ind = -1 the allowed maximum number of fcn evaluations  has *
+!        been  exceeded,  but  this  can only occur if option c(7), as *
+!        described in the next section, has been used                  *
+!                                                                      *
+!     there are several circumstances that will cause the calculations *
+! to  be  terminated,  along with output of information that will help *
+! the user determine the cause of  the  trouble.  these  circumstances *
+! involve  entry with illegal or inconsistent values of the arguments, *
+! such as attempting a normal  re-entry  without  first  changing  the *
+! value of xend, or attempting to re-enter with ind less than zero.    *
+!                                                                      *
+!***********************************************************************
+!                                                                      *
+!     options - if the subroutine is entered with ind = 1, the first 9 *
+! components of the communications vector are initialized to zero, and *
+! the subroutine uses only default values  for  each  option.  if  the *
+! subroutine  is  entered  with ind = 2, the user must specify each of *
+! these 9 components - normally he would first set them all  to  zero, *
+! and  then  make  non-zero  those  that  correspond to the particular *
+! options he wishes to select. in any event, options may be changed on *
+! re-entry  to  the  subroutine  -  but if the user changes any of the *
+! options, or tol, in the course of a calculation he should be careful *
+! about  how  such changes affect the subroutine - it may be better to *
+! restart with ind = 1 or 2. (components 10 to 24 of c are used by the *
+! program  -  the information is available to the user, but should not *
+! normally be changed by him.)                                         *
+!                                                                      *
+!  c(1)  error control indicator - the norm of the local error is  the *
+!           max  norm  of  the  weighted  error  estimate  vector, the *
+!           weights being determined according to the value of c(1) -  *
+!              if c(1)=1 the weights are 1 (absolute error control)    *
+!              if c(1)=2 the weights are 1/abs(y(k))  (relative  error *
+!                 control)                                             *
+!              if c(1)=3 the  weights  are  1/max(abs(c(2)),abs(y(k))) *
+!                 (relative  error  control,  unless abs(y(k)) is less *
+!                 than the floor value, abs(c(2)) )                    *
+!              if c(1)=4 the weights are 1/max(abs(c(k+30)),abs(y(k))) *
+!                 (here individual floor values are used)              *
+!              if c(1)=5 the weights are 1/abs(c(k+30))                *
+!              for all other values of c(1), including  c(1) = 0,  the *
+!                 default  values  of  the  weights  are  taken  to be *
+!                 1/max(1,abs(y(k))), as mentioned earlier             *
+!           (in the two cases c(1) = 4 or 5 the user must declare  the *
+!           dimension of c to be at least n+30 and must initialize the *
+!           components c(31), c(32), ..., c(n+30).)                    *
+!                                                                      *
+!  c(2)  floor value - used when the indicator c(1) has the value 3    *
+!                                                                      *
+!  c(3)  hmin specification - if not zero, the subroutine chooses hmin *
+!           to be abs(c(3)) - otherwise it uses the default value      *
+!              10*max(dwarf,rreb*max(weighted norm y/tol,abs(x))),     *
+!           where dwarf is a very small positive  machine  number  and *
+!           rreb is the relative roundoff error bound                  *
+!                                                                      *
+!  c(4)  hstart specification - if not zero, the subroutine  will  use *
+!           an  initial  hmag equal to abs(c(4)), except of course for *
+!           the restrictions imposed by hmin and hmax  -  otherwise it *
+!           uses the default value of hmax*(tol)**(1/6)                *
+!                                                                      *
+!  c(5)  scale specification - this is intended to be a measure of the *
+!           scale of the problem - larger values of scale tend to make *
+!           the method more reliable, first  by  possibly  restricting *
+!           hmax  (as  described  below) and second, by tightening the *
+!           acceptance requirement - if c(5) is zero, a default  value *
+!           of  1  is  used.  for  linear  homogeneous  problems  with *
+!           constant coefficients, an appropriate value for scale is a *
+!           norm  of  the  associated  matrix.  for other problems, an *
+!           approximation to  an  average  value  of  a  norm  of  the *
+!           jacobian along the trajectory may be appropriate           *
+!                                                                      *
+!  c(6)  hmax specification - four cases are possible                  *
+!           if c(6).ne.0 and c(5).ne.0, hmax is taken to be            *
+!              min(abs(c(6)),2/abs(c(5)))                              *
+!           if c(6).ne.0 and c(5).eq.0, hmax is taken to be  abs(c(6)) *
+!           if c(6).eq.0 and c(5).ne.0, hmax is taken to be            *
+!              2/abs(c(5))                                             *
+!           if c(6).eq.0 and c(5).eq.0, hmax is given a default  value *
+!              of 2                                                    *
+!                                                                      *
+!  c(7)  maximum number of function evaluations  -  if  not  zero,  an *
+!           error  return with ind = -1 will be caused when the number *
+!           of function evaluations exceeds abs(c(7))                  *
+!                                                                      *
+!  c(8)  interrupt number  1  -  if  not  zero,  the  subroutine  will *
+!           interrupt   the  calculations  after  it  has  chosen  its *
+!           preliminary value of hmag, and just before choosing htrial *
+!           and  xtrial  in  preparation for taking a step (htrial may *
+!           differ from hmag in sign, and may  require  adjustment  if *
+!           xend  is  near) - the subroutine returns with ind = 4, and *
+!           will resume calculation at the point  of  interruption  if *
+!           re-entered with ind = 4                                    *
+!                                                                      *
+!  c(9)  interrupt number  2  -  if  not  zero,  the  subroutine  will *
+!           interrupt   the  calculations  immediately  after  it  has *
+!           decided whether or not to accept the result  of  the  most *
+!           recent  trial step, with ind = 5 if it plans to accept, or *
+!           ind = 6 if it plans to reject -  y(*)  is  the  previously *
+!           accepted  result, while w(*,9) is the newly computed trial *
+!           value, and w(*,2) is the unweighted error estimate vector. *
+!           the  subroutine  will  resume calculations at the point of *
+!           interruption on re-entry with ind = 5 or 6. (the user  may *
+!           change ind in this case if he wishes, for example to force *
+!           acceptance of a step that would otherwise be rejected,  or *
+!           vice versa. he can also restart with ind = 1 or 2.)        *
+!                                                                      *
+!***********************************************************************
+!                                                                      *
+!  summary of the components of the communications vector              *
+!                                                                      *
+!     prescribed at the option       determined by the program         *
+!           of the user                                                *
+!                                                                      *
+!                                    c(10) rreb(rel roundoff err bnd)  *
+!     c(1) error control indicator   c(11) dwarf (very small mach no)  *
+!     c(2) floor value               c(12) weighted norm y             *
+!     c(3) hmin specification        c(13) hmin                        *
+!     c(4) hstart specification      c(14) hmag                        *
+!     c(5) scale specification       c(15) scale                       *
+!     c(6) hmax specification        c(16) hmax                        *
+!     c(7) max no of fcn evals       c(17) xtrial                      *
+!     c(8) interrupt no 1            c(18) htrial                      *
+!     c(9) interrupt no 2            c(19) est                         *
+!                                    c(20) previous xend               *
+!                                    c(21) flag for xend               *
+!                                    c(22) no of successful steps      *
+!                                    c(23) no of successive failures   *
+!                                    c(24) no of fcn evals             *
+!                                                                      *
+!  if c(1) = 4 or 5, c(31), c(32), ... c(n+30) are floor values        *
+!                                                                      *
+!***********************************************************************
+!                                                                      *
+!  an overview of the program                                          *
+!                                                                      *
+!     begin initialization, parameter checking, interrupt re-entries   *
+!  ......abort if ind out of range 1 to 6                              *
+!  .     cases - initial entry, normal re-entry, interrupt re-entries  *
+!  .     case 1 - initial entry (ind .eq. 1 or 2)                      *
+!  v........abort if n.gt.nw or tol.le.0                               *
+!  .        if initial entry without options (ind .eq. 1)              *
+!  .           set c(1) to c(9) equal to zero                          *
+!  .        else initial entry with options (ind .eq. 2)               *
+!  .           make c(1) to c(9) non-negative                          *
+!  .           make floor values non-negative if they are to be used   *
+!  .        end if                                                     *
+!  .        initialize rreb, dwarf, prev xend, flag, counts            *
+!  .     case 2 - normal re-entry (ind .eq. 3)                         *
+!  .........abort if xend reached, and either x changed or xend not    *
+!  .        re-initialize flag                                         *
+!  .     case 3 - re-entry following an interrupt (ind .eq. 4 to 6)    *
+!  v        transfer control to the appropriate re-entry point.......  *
+!  .     end cases                                                  .  *
+!  .  end initialization, etc.                                      .  *
+!  .                                                                v  *
+!  .  loop through the following 4 stages, once for each trial step .  *
+!  .     stage 1 - prepare                                          .  *
+!***********error return (with ind=-1) if no of fcn evals too great .  *
+!  .        calc slope (adding 1 to no of fcn evals) if ind .ne. 6  .  *
+!  .        calc hmin, scale, hmax                                  .  *
+!***********error return (with ind=-2) if hmin .gt. hmax            .  *
+!  .        calc preliminary hmag                                   .  *
+!***********interrupt no 1 (with ind=4) if requested.......re-entry.v  *
+!  .        calc hmag, xtrial and htrial                            .  *
+!  .     end stage 1                                                .  *
+!  v     stage 2 - calc ytrial (adding 7 to no of fcn evals)        .  *
+!  .     stage 3 - calc the error estimate                          .  *
+!  .     stage 4 - make decisions                                   .  *
+!  .        set ind=5 if step acceptable, else set ind=6            .  *
+!***********interrupt no 2 if requested....................re-entry.v  *
+!  .        if step accepted (ind .eq. 5)                              *
+!  .           update x, y from xtrial, ytrial                         *
+!  .           add 1 to no of successful steps                         *
+!  .           set no of successive failures to zero                   *
+!**************return(with ind=3, xend saved, flag set) if x .eq. xend *
+!  .        else step not accepted (ind .eq. 6)                        *
+!  .           add 1 to no of successive failures                      *
+!**************error return (with ind=-3) if hmag .le. hmin            *
+!  .        end if                                                     *
+!  .     end stage 4                                                   *
+!  .  end loop                                                         *
+!  .                                                                   *
+!  begin abort action                                                  *
+!     output appropriate  message  about  stopping  the  calculations, *
+!        along with values of ind, n, nw, tol, hmin,  hmax,  x,  xend, *
+!        previous xend,  no of  successful  steps,  no  of  successive *
+!        failures, no of fcn evals, and the components of y            *
+!     stop                                                             *
+!  end abort action                                                    *
+!                                                                      *
+!***********************************************************************
+!
+!     ******************************************************************
+!     * begin initialization, parameter checking, interrupt re-entries *
+!     ******************************************************************
+!
+!  ......abort if ind out of range 1 to 6
+         if (ind.lt.1 .or. ind.gt.6) go to 500
+!
+!        cases - initial entry, normal re-entry, interrupt re-entries
+!         go to (5, 5, 45, 1111, 2222, 2222), ind
+         if (ind==3) goto 45
+         if (ind==4) goto 1111
+         if (ind==5 .or. ind==6) goto 2222
+
+!        case 1 - initial entry (ind .eq. 1 or 2)
+!  .........abort if n.gt.nw or tol.le.0
+            if (n.gt.nw .or. tol.le.0._dl) go to 500
+            if (ind.eq. 2) go to 15
+!              initial entry without options (ind .eq. 1)
+!              set c(1) to c(9) equal to 0
+               do k = 1, 9
+                  c(k) = 0._dl
+               end do
+               go to 35
+   15       continue
+!              initial entry with options (ind .eq. 2)
+!              make c(1) to c(9) non-negative
+               do k = 1, 9
+                  c(k) = dabs(c(k))
+               end do
+!              make floor values non-negative if they are to be used
+               if (c(1).ne.4._dl .and. c(1).ne.5._dl) go to 30
+                  do k = 1, n
+                     c(k+30) = dabs(c(k+30))
+                  end do
+   30          continue
+   35       continue
+!           initialize rreb, dwarf, prev xend, flag, counts
+            c(10) = 2._dl**(-56)
+            c(11) = 1.d-35
+!           set previous xend initially to initial value of x
+            c(20) = x
+            do k = 21, 24
+               c(k) = 0._dl
+            end do
+            go to 50
+!        case 2 - normal re-entry (ind .eq. 3)
+!  .........abort if xend reached, and either x changed or xend not
+   45       if (c(21).ne.0._dl .and. &
+                              (x.ne.c(20) .or. xend.eq.c(20))) go to 500
+!           re-initialize flag
+            c(21) = 0._dl
+            go to 50
+!        case 3 - re-entry following an interrupt (ind .eq. 4 to 6)
+!           transfer control to the appropriate re-entry point..........
+!           this has already been handled by the computed go to        .
+!        end cases                                                     v
+   50    continue
+!
+!     end initialization, etc.
+!
+!     ******************************************************************
+!     * loop through the following 4 stages, once for each trial  step *
+!     * until the occurrence of one of the following                   *
+!     *    (a) the normal return (with ind .eq. 3) on reaching xend in *
+!     *        stage 4                                                 *
+!     *    (b) an error return (with ind .lt. 0) in stage 1 or stage 4 *
+!     *    (c) an interrupt return (with ind  .eq.  4,  5  or  6),  if *
+!     *        requested, in stage 1 or stage 4                        *
+!     ******************************************************************
+!
+99999 continue
+!
+!        ***************************************************************
+!        * stage 1 - prepare - do calculations of  hmin,  hmax,  etc., *
+!        * and some parameter  checking,  and  end  up  with  suitable *
+!        * values of hmag, xtrial and htrial in preparation for taking *
+!        * an integration step.                                        *
+!        ***************************************************************
+!
+!***********error return (with ind=-1) if no of fcn evals too great
+            if (c(7).eq.0._dl .or. c(24).lt.c(7)) go to 100
+               ind = -1
+               return
+  100       continue
+!
+!           calculate slope (adding 1 to no of fcn evals) if ind .ne. 6
+            if (ind .eq. 6) go to 105
+               call fcn(EV,OmegaAx,omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,n, x, y, w(1,1))
+               c(24) = c(24) + 1._dl
+  105       continue
+!
+!           calculate hmin - use default unless value prescribed
+            c(13) = c(3)
+            if (c(3) .ne. 0._dl) go to 165
+!              calculate default value of hmin
+!              first calculate weighted norm y - c(12) - as specified
+!              by the error control indicator c(1)
+               temp = 0._dl
+               if (c(1) .ne. 1._dl) go to 115
+!                 absolute error control - weights are 1
+                  do 110 k = 1, n
+                     temp = dmax1(temp, dabs(y(k)))
+  110             continue
+                  c(12) = temp
+                  go to 160
+  115          if (c(1) .ne. 2._dl) go to 120
+!                 relative error control - weights are 1/dabs(y(k)) so
+!                 weighted norm y is 1
+                  c(12) = 1._dl
+                  go to 160
+  120          if (c(1) .ne. 3._dl) go to 130
+!                 weights are 1/max(c(2),abs(y(k)))
+                  do 125 k = 1, n
+                     temp = dmax1(temp, dabs(y(k))/c(2))
+  125             continue
+                  c(12) = dmin1(temp, 1._dl)
+                  go to 160
+  130          if (c(1) .ne. 4._dl) go to 140
+!                 weights are 1/max(c(k+30),abs(y(k)))
+                  do 135 k = 1, n
+                     temp = dmax1(temp, dabs(y(k))/c(k+30))
+  135             continue
+                  c(12) = dmin1(temp, 1._dl)
+                  go to 160
+  140          if (c(1) .ne. 5._dl) go to 150
+!                 weights are 1/c(k+30)
+                  do 145 k = 1, n
+                     temp = dmax1(temp, dabs(y(k))/c(k+30))
+  145             continue
+                  c(12) = temp
+                  go to 160
+  150          continue
+!                 default case - weights are 1/max(1,abs(y(k)))
+                  do 155 k = 1, n
+                     temp = dmax1(temp, dabs(y(k)))
+  155             continue
+                  c(12) = dmin1(temp, 1._dl)
+  160          continue
+               c(13) = 10._dl*dmax1(c(11),c(10)*dmax1(c(12)/tol,dabs(x)))
+  165       continue
+!
+!           calculate scale - use default unless value prescribed
+            c(15) = c(5)
+            if (c(5) .eq. 0._dl) c(15) = 1._dl
+!
+!           calculate hmax - consider 4 cases
+!           case 1 both hmax and scale prescribed
+               if (c(6).ne.0._dl .and. c(5).ne.0._dl) &
+                                          c(16) = dmin1(c(6), 2._dl/c(5))
+!           case 2 - hmax prescribed, but scale not
+               if (c(6).ne.0._dl .and. c(5).eq.0._dl) c(16) = c(6)
+!           case 3 - hmax not prescribed, but scale is
+               if (c(6).eq.0._dl .and. c(5).ne.0._dl) c(16) = 2._dl/c(5)
+!           case 4 - neither hmax nor scale is provided
+               if (c(6).eq.0._dl .and. c(5).eq.0._dl) c(16) = 2._dl
+!
+!***********error return (with ind=-2) if hmin .gt. hmax
+            if (c(13) .le. c(16)) go to 170
+               ind = -2
+               return
+  170       continue
+!
+!           calculate preliminary hmag - consider 3 cases
+            if (ind .gt. 2) go to 175
+!           case 1 - initial entry - use prescribed value of hstart, if
+!              any, else default
+               c(14) = c(4)
+               if (c(4) .eq. 0._dl) c(14) = c(16)*tol**(1._dl/6._dl)
+               go to 185
+  175       if (c(23) .gt. 1._dl) go to 180
+!           case 2 - after a successful step, or at most  one  failure,
+!              use min(2, .9*(tol/est)**(1/6))*hmag, but avoid possible
+!              overflow. then avoid reduction by more than half.
+               temp = 2._dl*c(14)
+               if (tol .lt. (2._dl/.9d0)**6*c(19)) &
+                       temp = .9d0*(tol/c(19))**(1._dl/6._dl)*c(14)
+               c(14) = dmax1(temp, .5d0*c(14))
+               go to 185
+  180       continue
+!           case 3 - after two or more successive failures
+               c(14) = .5d0*c(14)
+  185       continue
+!
+!           check against hmax
+            c(14) = dmin1(c(14), c(16))
+!
+!           check against hmin
+            c(14) = dmax1(c(14), c(13))
+!
+!***********interrupt no 1 (with ind=4) if requested
+            if (c(8) .eq. 0._dl) go to 1111
+               ind = 4
+               return
+!           resume here on re-entry with ind .eq. 4   ........re-entry..
+ 1111       continue
+!
+!           calculate hmag, xtrial - depending on preliminary hmag, xend
+            if (c(14) .ge. dabs(xend - x)) go to 190
+!              do not step more than half way to xend
+               c(14) = dmin1(c(14), .5d0*dabs(xend - x))
+               c(17) = x + dsign(c(14), xend - x)
+               go to 195
+  190       continue
+!              hit xend exactly
+               c(14) = dabs(xend - x)
+               c(17) = xend
+  195       continue
+!
+!           calculate htrial
+            c(18) = c(17) - x
+!
+!        end stage 1
+!
+!        ***************************************************************
+!        * stage 2 - calculate ytrial (adding 7 to no of  fcn  evals). *
+!        * w(*,2), ... w(*,8)  hold  intermediate  results  needed  in *
+!        * stage 3. w(*,9) is temporary storage until finally it holds *
+!        * ytrial.                                                     *
+!        ***************************************************************
+!
+            temp = c(18)/1398169080000._dl
+!
+            do 200 k = 1, n
+               w(k,9) = y(k) + temp*w(k,1)*233028180000._dl
+  200       continue
+            call fcn(EV,real(OmegaAx),omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,n, x + c(18)/6._dl, w(1,9), w(1,2))
+!
+            do 205 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*74569017600._dl &
+                                      + w(k,2)*298276070400._dl  )
+  205       continue
+            call fcn(EV,real(OmegaAx),omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,n, x + c(18)*(4._dl/15._dl), w(1,9), w(1,3))
+!
+            do 210 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*1165140900000._dl &
+                                      - w(k,2)*3728450880000._dl &
+                                      + w(k,3)*3495422700000._dl )
+  210       continue
+            call fcn(EV,real(OmegaAx),omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,n, x + c(18)*(2._dl/3._dl), w(1,9), w(1,4))
+!
+            do 215 k = 1, n
+               w(k,9) = y(k) + temp*( - w(k,1)*3604654659375._dl &
+                                      + w(k,2)*12816549900000._dl &
+                                      - w(k,3)*9284716546875._dl &
+                                      + w(k,4)*1237962206250._dl )
+  215       continue
+            call fcn(EV,real(OmegaAx),omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,n, x + c(18)*(5._dl/6._dl), w(1,9), w(1,5))
+!
+            do 220 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*3355605792000._dl &
+                                      - w(k,2)*11185352640000._dl &
+                                      + w(k,3)*9172628850000._dl &
+                                      - w(k,4)*427218330000._dl &
+                                      + w(k,5)*482505408000._dl  )
+  220       continue
+            call fcn(EV,real(OmegaAx),omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,n, x + c(18), w(1,9), w(1,6))
+!
+            do 225 k = 1, n
+               w(k,9) = y(k) + temp*( - w(k,1)*770204740536._dl &
+                                      + w(k,2)*2311639545600._dl &
+                                      - w(k,3)*1322092233000._dl &
+                                      - w(k,4)*453006781920._dl &
+                                      + w(k,5)*326875481856._dl  )
+  225       continue
+            call fcn(EV,real(OmegaAx),omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,n, x + c(18)/15._dl, w(1,9), w(1,7))
+!
+            do 230 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*2845924389000._dl &
+                                      - w(k,2)*9754668000000._dl &
+                                      + w(k,3)*7897110375000._dl &
+                                      - w(k,4)*192082660000._dl &
+                                      + w(k,5)*400298976000._dl &
+                                      + w(k,7)*201586000000._dl  )
+  230       continue
+            call fcn(EV,real(OmegaAx),omegar,ntable,aeq,aosc,drefp_hsq,loga_table,grhoax_table,&
+      grhoax_table_buff,n, x + c(18), w(1,9), w(1,8))
+!
+!           calculate ytrial, the extrapolated approximation and store
+!              in w(*,9)
+            do 235 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*104862681000._dl &
+                                      + w(k,3)*545186250000._dl &
+                                      + w(k,4)*446637345000._dl &
+                                      + w(k,5)*188806464000._dl &
+                                      + w(k,7)*15076875000._dl &
+                                      + w(k,8)*97599465000._dl   )
+  235       continue
+!
+!           add 7 to the no of fcn evals
+            c(24) = c(24) + 7._dl
+!
+!        end stage 2
+!
+!        ***************************************************************
+!        * stage 3 - calculate the error estimate est. first calculate *
+!        * the  unweighted  absolute  error  estimate vector (per unit *
+!        * step) for the unextrapolated approximation and store it  in *
+!        * w(*,2).  then  calculate the weighted max norm of w(*,2) as *
+!        * specified by the error  control  indicator  c(1).  finally, *
+!        * modify  this result to produce est, the error estimate (per *
+!        * unit step) for the extrapolated approximation ytrial.       *
+!        ***************************************************************
+!
+!           calculate the unweighted absolute error estimate vector
+            do 300 k = 1, n
+               w(k,2) = (   w(k,1)*8738556750._dl &
+                          + w(k,3)*9735468750._dl &
+                          - w(k,4)*9709507500._dl &
+                          + w(k,5)*8582112000._dl &
+                          + w(k,6)*95329710000._dl &
+                          - w(k,7)*15076875000._dl &
+                          - w(k,8)*97599465000._dl)/1398169080000._dl
+  300       continue
+!
+!           calculate the weighted max norm of w(*,2) as specified by
+!           the error control indicator c(1)
+            temp = 0._dl
+            if (c(1) .ne. 1._dl) go to 310
+!              absolute error control
+               do 305 k = 1, n
+                  temp = dmax1(temp,dabs(w(k,2)))
+  305          continue
+               go to 360
+  310       if (c(1) .ne. 2._dl) go to 320
+!              relative error control
+               do 315 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)/y(k)))
+  315          continue
+               go to 360
+  320       if (c(1) .ne. 3._dl) go to 330
+!              weights are 1/max(c(2),abs(y(k)))
+               do 325 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)) &
+                                   / dmax1(c(2), dabs(y(k))) )
+  325          continue
+               go to 360
+  330       if (c(1) .ne. 4._dl) go to 340
+!              weights are 1/max(c(k+30),abs(y(k)))
+               do 335 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)) &
+                                   / dmax1(c(k+30), dabs(y(k))) )
+  335          continue
+               go to 360
+  340       if (c(1) .ne. 5._dl) go to 350
+!              weights are 1/c(k+30)
+               do 345 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)/c(k+30)))
+  345          continue
+               go to 360
+  350       continue
+!              default case - weights are 1/max(1,abs(y(k)))
+               do 355 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)) &
+                                   / dmax1(1._dl, dabs(y(k))) )
+  355          continue
+  360       continue
+!
+!           calculate est - (the weighted max norm of w(*,2))*hmag*scale
+!              - est is intended to be a measure of the error  per  unit
+!              step in ytrial
+            c(19) = temp*c(14)*c(15)
+!
+!        end stage 3
+!
+!        ***************************************************************
+!        * stage 4 - make decisions.                                   *
+!        ***************************************************************
+!
+!           set ind=5 if step acceptable, else set ind=6
+            ind = 5
+            if (c(19) .gt. tol) ind = 6
+!
+!***********interrupt no 2 if requested
+            if (c(9) .eq. 0._dl) go to 2222
+               return
+!           resume here on re-entry with ind .eq. 5 or 6   ...re-entry..
+ 2222       continue
+!
+            if (ind .eq. 6) go to 410
+!              step accepted (ind .eq. 5), so update x, y from xtrial,
+!                 ytrial, add 1 to the no of successful steps, and set
+!                 the no of successive failures to zero
+               x = c(17)
+               do 400 k = 1, n
+                  y(k) = w(k,9)
+  400          continue
+               c(22) = c(22) + 1._dl
+               c(23) = 0._dl
+!**************return(with ind=3, xend saved, flag set) if x .eq. xend
+               if (x .ne. xend) go to 405
+                  ind = 3
+                  c(20) = xend
+                  c(21) = 1._dl
+                  return
+  405          continue
+               go to 420
+  410       continue
+!              step not accepted (ind .eq. 6), so add 1 to the no of
+!                 successive failures
+               c(23) = c(23) + 1._dl
+!**************error return (with ind=-3) if hmag .le. hmin
+               if (c(14) .gt. c(13)) go to 415
+                  ind = -3
+                  return
+  415          continue
+  420       continue
+!
+!        end stage 4
+!
+      go to 99999
+!     end loop
+!
+!  begin abort action
+  500 continue
+!
+
+      write (*,*) 'Error in dverk, x =',x, 'xend=', xend !, 'not aborting'
+      call MpiStop()
+!
+!  end abort action
+!
+      end subroutine recdverk
+        end module Recombination
+
diff --git a/reionization.f90 b/reionization.f90
new file mode 100644
index 0000000..6a81e35
--- /dev/null
+++ b/reionization.f90
@@ -0,0 +1,363 @@
+
+module Reionization
+ use Precision
+ use AMLutils
+ implicit none  
+
+!This module puts smooth tanh reionization of specified mid-point (z_{re}) and width
+!The tanh function is in the variable (1+z)**Rionization_zexp
+
+!Rionization_zexp=1.5 has the property that for the same z_{re} 
+!the optical depth agrees with infinitely sharp model for matter domination 
+!So tau and zre can be mapped into each other easily (for any symmetric window)
+!However for generality the module maps tau into z_{re} using a binary search
+!so could be easily modified for other monatonic parameterizations.
+
+!AL March 2008
+!AL July 2008 - added trap for setting optical depth without use_optical_depth
+
+!See CAMB notes for further discussion: http://cosmologist.info/notes/CAMB.pdf
+
+       character(LEN=*), parameter :: Reionization_Name = 'CAMB_reionization'
+
+       real(dl), parameter :: Reionization_DefFraction = -1._dl 
+        !if -1 set from YHe assuming Hydrogen and first ionization of Helium follow each other
+       
+       real(dl) :: Reionization_AccuracyBoost = 1._dl
+       real(dl) :: Rionization_zexp = 1.5_dl
+
+       logical :: include_helium_fullreion = .true.
+       real(dl) :: helium_fullreion_redshift  = 3.5_dl
+       real(dl) :: helium_fullreion_deltaredshift  = 0.5
+       real(dl) :: helium_fullreion_redshiftstart  = 5._dl
+       
+       
+       type ReionizationParams
+             logical    :: Reionization
+             logical    :: use_optical_depth
+             real(dl)   :: redshift, delta_redshift, fraction
+             real(dl)   :: optical_depth
+        end type ReionizationParams
+  
+        type ReionizationHistory
+!These two are used by main code to bound region where xe changing 
+          real(dl) :: tau_start, tau_complete
+!This is set from main code          
+          real(dl) :: akthom, fHe
+
+!The rest are internal to this module.
+          real(dl) :: WindowVarMid, WindowVarDelta
+
+        end type ReionizationHistory
+
+      real(dl), parameter :: Reionization_maxz = 50._dl
+      real(dl), private, parameter :: Reionization_tol = 1d-5
+
+      real(dl), private, external :: dtauda, rombint,rombint2
+
+    Type(ReionizationParams), private, pointer ::  ThisReion
+    Type(ReionizationHistory), private, pointer :: ThisReionHist
+
+contains
+
+ 
+ function Reionization_xe(a, tau, xe_recomb)
+ !a and time tau and redundant, both provided for convenience
+ !xe_recomb is xe(tau_start) from recombination (typically very small, ~2e-4)
+ !xe should map smoothly onto xe_recomb
+  real(dl), intent(in) :: a
+  real(dl), intent(in), optional :: tau, xe_recomb
+  real(dl) Reionization_xe
+  real(dl) tgh, xod
+  real(dl) xstart
+  
+        if (present(xe_recomb)) then
+        xstart = xe_recomb
+        else
+        xstart = 0._dl
+        end if
+        
+        xod = (ThisReionHist%WindowVarMid - 1._dl/a**Rionization_zexp)/ThisReionHist%WindowVarDelta
+        if (xod > 100) then
+            tgh=1.d0
+        else
+            tgh=tanh(xod)
+        end if
+        Reionization_xe =(ThisReion%fraction-xstart)*(tgh+1._dl)/2._dl+xstart
+     
+        if (include_helium_fullreion .and. a > (1/(1+ helium_fullreion_redshiftstart))) then
+        
+         !Effect of Helium becoming fully ionized at z <~ 3.5 is very small so details not important
+          xod = (1+helium_fullreion_redshift - 1._dl/a)/helium_fullreion_deltaredshift
+          if (xod > 100) then
+             tgh=1.d0
+          else
+             tgh=tanh(xod)
+          end if
+      
+        Reionization_xe =  Reionization_xe + ThisReionHist%fHe*(tgh+1._dl)/2._dl
+  
+       end if
+      
+ end function Reionization_xe  
+ 
+ function Reionization_timesteps(ReionHist)
+ !minimum number of time steps to use between tau_start and tau_complete
+ !Scaled by AccuracyBoost later
+ !steps may be set smaller than this anyway
+  Type(ReionizationHistory) :: ReionHist
+  integer Reionization_timesteps
+  
+  Reionization_timesteps = 50 
+  
+ end  function Reionization_timesteps
+ 
+ subroutine Reionization_ReadParams(Reion, Ini)
+  use IniFile
+  Type(ReionizationParams) :: Reion
+  Type(TIniFile) :: Ini
+
+   Reion%Reionization = Ini_Read_Logical_File(Ini,'reionization')
+   if (Reion%Reionization) then
+   
+    Reion%use_optical_depth = Ini_Read_Logical_File(Ini,'re_use_optical_depth') 
+  
+    if (Reion%use_optical_depth) then
+              Reion%optical_depth = Ini_Read_Double_File(Ini,'re_optical_depth')
+    else 
+              Reion%redshift = Ini_Read_Double_File(Ini,'re_redshift')
+    end if 
+
+    Reion%delta_redshift = Ini_Read_Double_File(Ini,'re_delta_redshift', 0.5_dl) !default similar to CMBFAST original
+    Reion%fraction = Ini_Read_Double_File(Ini,'re_ionization_frac',Reionization_DefFraction)
+  
+  end if
+
+ end subroutine Reionization_ReadParams 
+
+ subroutine Reionization_SetParamsForZre(Reion,ReionHist)
+  Type(ReionizationParams), target :: Reion
+  Type(ReionizationHistory), target :: ReionHist 
+     
+       ReionHist%WindowVarMid = (1._dl+Reion%redshift)**Rionization_zexp
+       ReionHist%WindowVarDelta = &
+         Rionization_zexp*(1._dl+Reion%redshift)**(Rionization_zexp-1._dl)*Reion%delta_redshift
+ 
+ end subroutine Reionization_SetParamsForZre
+
+ subroutine Reionization_Init(Reion, ReionHist, Yhe, akthom, tau0, FeedbackLevel)
+  use constants
+  Type(ReionizationParams), target :: Reion
+  Type(ReionizationHistory), target :: ReionHist
+  real(dl), intent(in) :: akthom, tau0, Yhe 
+  integer, intent(in) :: FeedbackLevel
+  real(dl) astart
+
+     ReionHist%akthom = akthom  
+     ReionHist%fHe =  YHe/(mass_ratio_He_H*(1.d0-YHe))
+ 
+     ReionHist%tau_start=tau0
+     ReionHist%tau_complete=tau0
+      
+     ThisReion => Reion
+     ThisReionHist => ReionHist
+
+     if (Reion%Reionization) then
+ 
+            if (Reion%optical_depth /= 0._dl .and. .not. Reion%use_optical_depth) &
+             write (*,*) 'WARNING: You seem to have set the optical depth, but use_optical_depth = F'
+    
+
+           if (Reion%use_optical_depth.and.Reion%optical_depth<0.001 &
+                .or. .not.Reion%use_optical_depth .and. Reion%Redshift<0.001) then
+               Reion%Reionization = .false.
+           end if
+          
+      end if   
+     
+     if (Reion%Reionization) then
+           
+        if (Reion%fraction==Reionization_DefFraction) &
+                 Reion%fraction = 1._dl + ReionHist%fHe  !H + singly ionized He
+          
+       if (Reion%use_optical_depth) then
+        call Reionization_SetFromOptDepth(Reion,ReionHist)
+        if (FeedbackLevel > 0) write(*,'("Reion redshift       =  ",f6.3)') Reion%redshift
+       end if
+
+       call Reionization_SetParamsForZre(ThisReion,ThisReionHist)
+       
+      !this is a check, agrees very well in default parameterization
+       if (FeedbackLevel > 1) write(*,'("Integrated opt depth = ",f7.4)') &
+            Reionization_GetOptDepth(Reion, ReionHist) 
+
+      !Get relevant times       
+       astart=1.d0/(1.d0+Reion%redshift + Reion%delta_redshift*8)
+       ReionHist%tau_start = max(0.05_dl, rombint(dtauda,0._dl,astart,1d-3))
+          !Time when a very small reionization fraction (assuming tanh fitting)
+
+       ReionHist%tau_complete = min(tau0, &
+          ReionHist%tau_start+ rombint(dtauda,astart,1.d0/(1.d0+max(0.d0,Reion%redshift-Reion%delta_redshift*8)),1d-3))
+
+    end if   
+       
+ end subroutine Reionization_Init
+ 
+ 
+ subroutine Reionization_SetDefParams(Reion)
+  Type(ReionizationParams) :: Reion
+ 
+       Reion%Reionization = .true.
+       Reion%use_optical_depth = .false.
+       Reion%optical_depth = 0._dl
+       Reion%redshift = 10
+       Reion%fraction = Reionization_DefFraction
+       Reion%delta_redshift = 0.5_dl
+
+ end subroutine Reionization_SetDefParams
+
+ subroutine Reionization_Validate(Reion, OK)
+  Type(ReionizationParams),intent(in) :: Reion
+  logical, intent(inout) :: OK
+ 
+      if (Reion%Reionization) then
+        if (Reion%use_optical_depth) then
+            if (Reion%optical_depth<0 .or. Reion%optical_depth > 0.9  .or. &
+               include_helium_fullreion .and. Reion%optical_depth<0.01) then
+             OK = .false.
+             write(*,*) 'Optical depth is strange. You have:', Reion%optical_depth 
+            end if
+        else
+            if (Reion%redshift < 0 .or. Reion%Redshift +Reion%delta_redshift*3 > Reionization_maxz .or. &
+              include_helium_fullreion .and. Reion%redshift < helium_fullreion_redshift) then
+                OK = .false.
+                write(*,*) 'Reionization redshift strange. You have: ',Reion%Redshift
+            end if
+        end if
+        if (Reion%fraction/= Reionization_DefFraction .and. (Reion%fraction < 0 .or. Reion%fraction > 1.5)) then
+                OK = .false.
+                write(*,*) 'Reionization fraction strange. You have: ',Reion%fraction
+        end if
+        if (Reion%delta_redshift > 3 .or. Reion%delta_redshift<0.1 ) then
+        !Very narrow windows likely to cause problems in interpolation etc.
+        !Very broad likely to conflic with quasar data at z=6
+                OK = .false.
+                write(*,*) 'Reionization delta_redshift is strange. You have: ',Reion%delta_redshift
+        end if
+
+
+      end if
+             
+  end  subroutine Reionization_Validate
+
+
+ function Reionization_doptdepth_dz(z)
+   real(dl) :: Reionization_doptdepth_dz
+   real(dl), intent(in) :: z
+   real(dl) a
+   
+   a = 1._dl/(1._dl+z)
+   
+   Reionization_doptdepth_dz = Reionization_xe(a)*ThisReionHist%akthom*dtauda(a)
+
+ end function Reionization_doptdepth_dz
+
+function Reionization_GetOptDepth(Reion, ReionHist) 
+ Type(ReionizationParams), target :: Reion
+ Type(ReionizationHistory), target :: ReionHist
+ real(dl) Reionization_GetOptDepth      
+  
+  ThisReion => Reion
+  ThisReionHist => ReionHist
+  Reionization_GetOptDepth = rombint2(Reionization_doptdepth_dz,0.d0,Reionization_maxz,&
+         Reionization_tol, 20, nint(Reionization_maxz/Reion%delta_redshift*5))
+
+end function Reionization_GetOptDepth
+
+ subroutine Reionization_zreFromOptDepth(Reion, ReionHist)
+ !General routine to find zre parameter given optical depth
+ !Not used for Rionization_zexp = 1.5
+  Type(ReionizationParams) :: Reion
+  Type(ReionizationHistory) :: ReionHist
+  real(dl) try_b, try_t
+  real(dl) tau
+  integer i
+  
+  try_b = 0
+  try_t = Reionization_maxz
+  i=0
+  do 
+       i=i+1  
+       Reion%redshift = (try_t + try_b)/2
+       call Reionization_SetParamsForZre(Reion,ReionHist)
+       tau = Reionization_GetOptDepth(Reion, ReionHist)
+       
+       if (tau > Reion%optical_depth) then
+                  try_t = Reion%redshift
+          else
+                  try_b = Reion%redshift
+       end if
+       if (abs(try_b - try_t) < 2e-3/Reionization_AccuracyBoost) exit
+!       if (i>100) call mpiStop('Reionization_zreFromOptDepth: failed to converge')
+  end do
+  
+  
+   if (abs(tau - Reion%optical_depth) > 0.002) then
+    !write (*,*) 'Reionization_zreFromOptDepth: Did not converge to optical depth'
+    !write (*,*) 'tau =',tau, 'optical_depth = ', Reion%optical_depth
+    !write (*,*) try_t, try_b
+    !call mpiStop()
+  end if
+    
+ end subroutine Reionization_zreFromOptDepth 
+
+
+ 
+ subroutine Reionization_SetFromOptDepth(Reion, ReionHist)
+  Type(ReionizationParams) :: Reion
+  Type(ReionizationHistory) :: ReionHist
+   
+! This subroutine calculates the redshift of reionization
+
+! This implementation is approximate but quite accurate and fast
+
+      real(dl) dz, optd
+      real(dl) z, tmp, tmpHe
+      integer na
+      
+      Reion%redshift = 0
+
+      if (Reion%Reionization .and. Reion%optical_depth /= 0) then
+
+           !Do binary search to find zre from z
+           !This is general method
+           call Reionization_zreFromOptDepth(Reion, ReionHist)
+
+        if (.false.) then
+          !Use equivalence with sharp for special case
+            optd=0
+            na=1
+            dz=1._dl/2000/Reionization_AccuracyBoost
+            tmp = dz*Reion%fraction*ThisReionHist%akthom
+            tmpHe = dz*(Reion%fraction+ReionHist%fHe)*ThisReionHist%akthom
+            z=0
+            do while (optd < Reion%optical_depth)
+                z=na*dz
+                if (include_helium_fullreion .and. z < helium_fullreion_redshift) then
+                optd=optd+ tmpHe*dtauda(1._dl/(1._dl+z))
+                else
+                optd=optd+tmp*dtauda(1._dl/(1._dl+z))
+                end if
+                na=na+1
+            end do
+         end if
+      else
+         Reion%Reionization = .false.
+      end if
+ 
+ end  subroutine Reionization_SetFromOptDepth 
+
+
+
+end module Reionization
+
diff --git a/sigma8.f90 b/sigma8.f90
new file mode 100644
index 0000000..30f1cd3
--- /dev/null
+++ b/sigma8.f90
@@ -0,0 +1,50 @@
+     !Simple test program to print out sigma_8 as a function of the CDM density
+     program GetSigma8
+        use CAMB
+        implicit none
+        integer i
+    
+        type(CAMBparams)  P !defined in ModelParams in modules.f90
+
+        call CAMB_SetDefParams(P)
+
+        P%WantTransfer= .true.
+
+        P%WantCls = .false.
+
+        P%omegab  = .045
+        P%omegac  = 0.155
+        P%omegav  = 0.8
+        P%omegan  = 0.0
+        P%H0      = 65
+       
+        P%InitPower%ScalarPowerAmp = 2e-9
+        P%InitPower%nn     = 1 !number of initial power spectra
+        P%InitPower%an(1)  = 1 !scalar spectral index
+        P%InitPower%ant(1) = 0 !Not used here
+        P%InitPower%rat(1) = 1 !ditto
+
+        !these settings seem good enough for sigma8 to a percent or so
+        P%Transfer%high_precision=.false.
+        P%Transfer%kmax=0.5
+        P%Transfer%k_per_logint=3
+        P%Transfer%num_redshifts=1
+        P%Transfer%redshifts(1)=0
+        P%Transfer%PK_num_redshifts=1
+        P%Transfer%PK_redshifts(1)=0
+        call Transfer_SortAndIndexRedshifts(P%Transfer)
+
+        do i=1,10
+         P%Omegav=P%Omegav-0.05
+         P%Omegac=P%Omegac+0.05
+        call CAMB_GetResults(P) 
+
+        !Results are in the Transfer module in modules.f90
+             
+        write (*,*) 'Omc = ',real(P%Omegac),'OmLam=',real(P%Omegav) &
+           , 'sigma_8 = ', real(MT%sigma_8(1,1))
+        end do
+
+        end program GetSigma8
+
+
diff --git a/subroutines.f90 b/subroutines.f90
new file mode 100644
index 0000000..e5d6052
--- /dev/null
+++ b/subroutines.f90
@@ -0,0 +1,1165 @@
+!General numerical routines and global accuracy. Includes modified dverk for CAMB.
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+
+! This is just a double precision implementation of the f90
+! version of the numerical recipes cubic spline 
+!from Press,Teukolsky,Vetterling, and Flannery
+!Numerical recipes in Fortran 90 (2nd ed.): the art of parallel scientific computing
+!Cambridge University Press New York, NY, USA ©1996
+!ISBN:0-521-57439-0 
+
+subroutine spline_out(xarr,yarr,yarr_buff,n,x,y)
+  use precision
+  integer n,llo_out,lhi_out,midp
+  real(dl) xarr(n),yarr(n),yarr_buff(n)
+  real(dl) x,y,a0_out,b0_out,ho_out
+  ! Written by Dan Grin for the Axion project
+  llo_out=1
+  lhi_out=n
+  do while((lhi_out-llo_out).gt.1) 
+     midp=(llo_out+lhi_out)/2
+     if (xarr(midp).gt.x) then
+        lhi_out=midp
+     else
+        llo_out=midp
+     endif
+  enddo
+  
+  
+  ho_out=xarr(lhi_out)-xarr(llo_out)
+  a0_out=(xarr(lhi_out)-x)/ho_out
+  b0_out=(x-xarr(llo_out))/ho_out
+  y=a0_out*yarr(llo_out)+b0_out*yarr(lhi_out)+((a0_out**3.0d0-a0_out)*&
+       yarr_buff(llo_out)+(b0_out**3.0d0-b0_out)*&
+       yarr_buff(lhi_out))*ho_out*ho_out /6.d0                    
+end subroutine spline_out
+
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+
+        subroutine splder(y,dy,n, g)
+        use Precision
+!  Splder fits a cubic spline to y and returns the first derivatives at
+!  the grid points in dy.  Dy is equivalent to a 4th-order Pade
+!  difference formula for dy/di.
+        implicit none
+        integer, intent(in) :: n
+        real(dl), intent(in) :: y(n),g(n)
+        real(dl), intent(out) :: dy(n)
+        integer :: n1, i
+        real(dl), allocatable, dimension(:) :: f
+
+        allocate(f(n))
+        n1=n-1
+!  Quartic fit to dy/di at boundaries, assuming d3y/di3=0.
+        f(1)=(-10._dl*y(1)+15._dl*y(2)-6._dl*y(3)+y(4))/6._dl
+        f(n)=(10._dl*y(n)-15._dl*y(n1)+6._dl*y(n-2)-y(n-3))/6._dl
+!  Solve the tridiagonal system
+!  dy(i-1)+4*dy(i)+dy(i+1)=3*(y(i+1)-y(i-1)), i=2,3,...,n1,
+!  with dy(1)=f(1), dy(n)=f(n).
+        do i=2,n1
+          f(i)=g(i)*(3._dl*(y(i+1)-y(i-1))-f(i-1))
+        end do
+        dy(n)=f(n)
+        do i=n1,1,-1
+          dy(i)=f(i)-g(i)*dy(i+1)
+        end do
+        deallocate(f)
+        end subroutine splder
+!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+        subroutine splini(g,n)
+        use Precision
+!  Splini must be called before splder to initialize array g in common.
+        implicit none
+        integer, intent(in) :: n
+        real(dl), intent(out):: g(n)
+        integer :: i
+
+        g(1)=0._dl
+        do i=2,n
+          g(i)=1/(4._dl-g(i-1))
+        end do
+        end subroutine splini
+
+
+ !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+        function rombint2(f,a,b,tol, maxit, minsteps)
+        use precision
+!  Rombint returns the integral from a to b of using Romberg integration.
+!  The method converges provided that f(x) is continuous in (a,b).
+!  f must be real(dl) and must be declared external in the calling
+!  routine.  tol indicates the desired relative accuracy in the integral.
+
+! Modified by AL to specify max iterations and minimum number of steps
+! (min steps useful to stop wrong results on periodic or sharp functions)
+        implicit none
+        integer, parameter :: MAXITER=20,MAXJ=5
+        dimension g(MAXJ+1)
+        real(dl) f
+        external f
+        real(dl) :: rombint2
+        real(dl), intent(in) :: a,b,tol
+        integer, intent(in):: maxit,minsteps
+     
+        integer :: nint, i, k, jmax, j
+        real(dl) :: h, gmax, error, g, g0, g1, fourj
+      
+        h=0.5d0*(b-a)
+        gmax=h*(f(a)+f(b))
+        g(1)=gmax
+        nint=1
+        error=1.0d20
+        i=0
+        do
+          i=i+1
+          if (i > maxit.or.(i > 5.and.abs(error) < tol) .and. nint > minsteps) exit
+!  Calculate next trapezoidal rule approximation to integral.
+          g0=0._dl
+          do k=1,nint
+            g0=g0+f(a+(k+k-1)*h)
+          end do
+          g0=0.5d0*g(1)+h*g0
+          h=0.5d0*h
+          nint=nint+nint
+          jmax=min(i,MAXJ)
+          fourj=1._dl
+          do j=1,jmax
+!  Use Richardson extrapolation.
+            fourj=4._dl*fourj
+            g1=g0+(g0-g(j))/(fourj-1._dl)
+            g(j)=g0
+            g0=g1
+          end do  
+          if (abs(g0).gt.tol) then
+            error=1._dl-gmax/g0
+          else
+            error=gmax
+          end if
+          gmax=g0
+          g(jmax+1)=g0
+        end do
+  
+        rombint2=g0
+        if (i > maxit .and. abs(error) > tol)  then
+          write(*,*) 'Warning: Rombint2 failed to converge; '
+          write (*,*)'integral, error, tol:', rombint2,error, tol
+        end if
+        
+        end function rombint2
+
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+        function rombint(f,a,b,tol)
+        use Precision
+!  Rombint returns the integral from a to b of using Romberg integration.
+!  The method converges provided that f(x) is continuous in (a,b).
+!  f must be real(dl) and must be declared external in the calling
+!  routine.  tol indicates the desired relative accuracy in the integral.
+!
+        implicit none
+        integer, parameter :: MAXITER=20
+        integer, parameter :: MAXJ=5
+        dimension g(MAXJ+1)
+        real(dl) f
+        external f
+        real(dl) :: rombint
+        real(dl), intent(in) :: a,b,tol
+        integer :: nint, i, k, jmax, j
+        real(dl) :: h, gmax, error, g, g0, g1, fourj
+!
+
+        h=0.5d0*(b-a)
+        gmax=h*(f(a)+f(b))
+        g(1)=gmax
+        nint=1
+        error=1.0d20
+        i=0
+10        i=i+1
+          if (i.gt.MAXITER.or.(i.gt.5.and.abs(error).lt.tol)) &
+            go to 40
+!  Calculate next trapezoidal rule approximation to integral.
+          g0=0._dl
+            do 20 k=1,nint
+            g0=g0+f(a+(k+k-1)*h)
+20        continue
+          g0=0.5d0*g(1)+h*g0
+          h=0.5d0*h
+          nint=nint+nint
+          jmax=min(i,MAXJ)
+          fourj=1._dl
+            do 30 j=1,jmax
+!  Use Richardson extrapolation.
+            fourj=4._dl*fourj
+            g1=g0+(g0-g(j))/(fourj-1._dl)
+            g(j)=g0
+            g0=g1
+30        continue
+          if (abs(g0).gt.tol) then
+            error=1._dl-gmax/g0
+          else
+            error=gmax
+          end if
+          gmax=g0
+          g(jmax+1)=g0
+        go to 10
+40      rombint=g0
+        if (i.gt.MAXITER.and.abs(error).gt.tol)  then
+          write(*,*) 'Warning: Rombint failed to converge RH; '
+          write (*,*)'integral, error, tol:', rombint,error, tol
+          stop
+        end if
+        
+        end function rombint
+
+
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+        function rombint_obj(obj,f,a,b,tol, maxit)
+        use Precision
+!  Rombint returns the integral from a to b of using Romberg integration.
+!  The method converges provided that f(x) is continuous in (a,b).
+!  f must be real(dl) and must be declared external in the calling
+!  routine.  tol indicates the desired relative accuracy in the integral.
+!
+        implicit none
+        integer, intent(in), optional :: maxit
+        integer :: MAXITER=20
+        integer, parameter :: MAXJ=5
+        dimension g(MAXJ+1)
+        real obj !dummy
+        real(dl) f
+        external f
+        real(dl) :: rombint_obj
+        real(dl), intent(in) :: a,b,tol
+        integer :: nint, i, k, jmax, j
+        real(dl) :: h, gmax, error, g, g0, g1, fourj
+!
+
+        if (present(maxit)) then
+            MaxIter = maxit
+        end if
+        h=0.5d0*(b-a)
+        gmax=h*(f(obj,a)+f(obj,b))
+        g(1)=gmax
+        nint=1
+        error=1.0d20
+        i=0
+10        i=i+1
+          if (i.gt.MAXITER.or.(i.gt.5.and.abs(error).lt.tol)) &
+            go to 40
+!  Calculate next trapezoidal rule approximation to integral.
+          g0=0._dl
+            do 20 k=1,nint
+            g0=g0+f(obj,a+(k+k-1)*h)
+20        continue
+          g0=0.5d0*g(1)+h*g0
+          h=0.5d0*h
+          nint=nint+nint
+          jmax=min(i,MAXJ)
+          fourj=1._dl
+            do 30 j=1,jmax
+!  Use Richardson extrapolation.
+            fourj=4._dl*fourj
+            g1=g0+(g0-g(j))/(fourj-1._dl)
+            g(j)=g0
+            g0=g1
+30        continue
+          if (abs(g0).gt.tol) then
+            error=1._dl-gmax/g0
+          else
+            error=gmax
+          end if
+          gmax=g0
+          g(jmax+1)=g0
+        go to 10
+40      rombint_obj=g0
+        if (i.gt.MAXITER.and.abs(error).gt.tol)  then
+          write(*,*) 'Warning: Rombint failed to converge; '
+          write (*,*)'integral, error, tol:', rombint_obj,error, tol
+        end if
+        
+        end function rombint_obj
+
+
+!cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+! calculates array of second derivatives used by cubic spline
+! interpolation. y2 is array of second derivatives, yp1 and ypn are first
+! derivatives at end points.
+
+!Thanks Martin Reinecke
+    subroutine spline(x,y,n,d11,d1n,d2)
+      use Precision
+      integer, intent(in) :: n
+      real(dl), intent(in) :: x(n), y(n), d11, d1n
+      real(dl), intent(out) :: d2(n)
+      integer i
+      real(dl) xp,qn,sig,un,xxdiv,u(n-1),d1l,d1r
+
+      d1r= (y(2)-y(1))/(x(2)-x(1))
+      if (d11>.99e30_dl) then
+        d2(1)=0._dl
+        u(1)=0._dl
+      else
+        d2(1)=-0.5_dl
+        u(1)=(3._dl/(x(2)-x(1)))*(d1r-d11)
+      endif
+
+      do i=2,n-1
+        d1l=d1r
+        d1r=(y(i+1)-y(i))/(x(i+1)-x(i))
+        xxdiv=1._dl/(x(i+1)-x(i-1))
+        sig=(x(i)-x(i-1))*xxdiv
+        xp=1._dl/(sig*d2(i-1)+2._dl)
+
+        d2(i)=(sig-1._dl)*xp
+
+        u(i)=(6._dl*(d1r-d1l)*xxdiv-sig*u(i-1))*xp
+      end do
+      d1l=d1r
+
+      if (d1n>.99e30_dl) then
+        qn=0._dl
+        un=0._dl
+      else
+        qn=0.5_dl
+        un=(3._dl/(x(n)-x(n-1)))*(d1n-d1l)
+      endif
+
+      d2(n)=(un-qn*u(n-1))/(qn*d2(n-1)+1._dl)
+      do i=n-1,1,-1
+        d2(i)=d2(i)*d2(i+1)+u(i)
+      end do
+    end subroutine spline 
+
+
+     SUBROUTINE spline_deriv(x,y,y2,y1,n)
+     !Get derivative y1 given array of x, y and y''
+      use Precision
+      implicit none
+      INTEGER, intent(in) :: n
+      real(dl), intent(in) :: x(n), y(n), y2(n)
+      real(dl), intent(out) :: y1(n)
+      INTEGER i
+      real(dl) dx
+   
+
+      do i=1, n-1
+           
+         dx = (x(i+1) - x(i))
+         y1(i) = (y(i+1) - y(i))/dx - dx*(2*y2(i) + y2(i+1))/6
+      end do
+       dx = x(n) - x(n-1)
+       y1(n) = (y(n) - y(n-1))/dx + dx* ( y2(i-1)  + 2*y2(i) )/6
+
+      END SUBROUTINE spline_deriv
+
+      subroutine spline_integrate(x,y,y2,yint,n)
+       !Cumulative integral of cubic spline
+       use Precision
+       integer, intent(in) :: n
+       real(dl), intent(in) :: x(n), y(n), y2(n)
+       real(dl), intent(out) :: yint(n)
+       real(dl) dx
+       integer i
+
+       yint(1) = 0
+       do i=2, n
+           
+         dx = (x(i) - x(i-1))
+         yint(i) = yint(i-1) + dx*( (y(i)+y(i-1))/2 - dx**2/24*(y2(i)+y2(i-1))) 
+          
+       end do
+       
+      end subroutine spline_integrate
+
+
+
+!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+!  this is not the splint given in numerical recipes
+
+
+        subroutine splint(y,z,n)
+        use Precision
+!  Splint integrates a cubic spline, providing the output value
+!  z = integral from 1 to n of s(i)di, where s(i) is the spline fit
+!  to y(i).
+!
+        implicit none
+        integer, intent(in) :: n
+        real(dl), intent(in) :: y(n)
+        real(dl), intent(out) :: z
+
+        integer :: n1
+        real(dl) :: dy1, dyn
+!
+        n1=n-1
+!  Cubic fit to dy/di at boundaries.
+!       dy1=(-11._dl*y(1)+18._dl*y(2)-9._dl*y(3)+2._dl*y(4))/6._dl
+        dy1=0._dl
+        dyn=(11._dl*y(n)-18._dl*y(n1)+9._dl*y(n-2)-2._dl*y(n-3))/6._dl
+!
+        z=0.5d0*(y(1)+y(n))+(dy1-dyn)/12._dl
+        z= z + sum(y(2:n1))
+        end subroutine splint
+
+
+!This version is modified to pass an object parameter to the function on each call
+!Fortunately Fortran doesn't do type checking on functions, so we can pretend the
+!passed object parameter (EV) is any type we like. In reality it is just a pointer.
+      subroutine dverk (EV,n, fcn, x, y, xend, tol, ind, c, nw, w)
+      use Precision
+      use AMLUtils
+      integer n, ind, nw, k
+      real(dl) x, y(n), xend, tol, c(*), w(nw,9), temp
+      real EV !It isn't, but as long as it maintains it as a pointer we are OK
+!     class(*) EV !seems to be correct way to do this in Fortran 2003
+!
+!***********************************************************************
+!                                                                      *
+! note added 11/14/85.                                                 *
+!                                                                      *
+! if you discover any errors in this subroutine, please contact        *
+!                                                                      *
+!        kenneth r. jackson                                            *
+!        department of computer science                                *
+!        university of toronto                                         *
+!        toronto, ontario,                                             *
+!        canada   m5s 1a4                                              *
+!                                                                      *
+!        phone: 416-978-7075                                           *
+!                                                                      *
+!        electronic mail:                                              *
+!        uucp:   {cornell,decvax,ihnp4,linus,uw-beaver}!utcsri!krj     *
+!        csnet:  krj@toronto                                           *
+!        arpa:   krj.toronto@csnet-relay                               *
+!        bitnet: krj%toronto@csnet-relay.arpa                          *
+!                                                                      *
+! dverk is written in fortran 66.                                      *
+!                                                                      *
+! the constants dwarf and rreb -- c(10) and c(11), respectively -- are *
+! set for a  vax  in  double  precision.  they  should  be  reset,  as *
+! described below, if this program is run on another machine.          *
+!                                                                      *
+! the c array is declared in this subroutine to have one element only, *
+! although  more  elements  are  referenced  in this subroutine.  this *
+! causes some compilers to issue warning messages.  there is,  though, *
+! no  error  provided  c is declared sufficiently large in the calling *
+! program, as described below.                                         *
+!                                                                      *
+! the following external statement  for  fcn  was  added  to  avoid  a *
+! warning  message  from  the  unix  f77 compiler.  the original dverk *
+! comments and code follow it.                                         *
+!                                                                      *
+!***********************************************************************
+!
+      external fcn
+!
+!***********************************************************************
+!                                                                      *
+!     purpose - this is a runge-kutta  subroutine  based  on  verner's *
+! fifth and sixth order pair of formulas for finding approximations to *
+! the solution of  a  system  of  first  order  ordinary  differential *
+! equations  with  initial  conditions. it attempts to keep the global *
+! error proportional to  a  tolerance  specified  by  the  user.  (the *
+! proportionality  depends  on the kind of error control that is used, *
+! as well as the differential equation and the range of integration.)  *
+!                                                                      *
+!     various options are available to the user,  including  different *
+! kinds  of  error control, restrictions on step sizes, and interrupts *
+! which permit the user to examine the state of the  calculation  (and *
+! perhaps make modifications) during intermediate stages.              *
+!                                                                      *
+!     the program is efficient for non-stiff systems.  however, a good *
+! variable-order-adams  method  will probably be more efficient if the *
+! function evaluations are very costly.  such a method would  also  be *
+! more suitable if one wanted to obtain a large number of intermediate *
+! solution values by interpolation, as might be the case  for  example *
+! with graphical output.                                               *
+!                                                                      *
+!                                    hull-enright-jackson   1/10/76    *
+!                                                                      *
+!***********************************************************************
+!                                                                      *
+!     use - the user must specify each of the following                *
+!                                                                      *
+!     n  number of equations                                           *
+!                                                                      *
+!   fcn  name of subroutine for evaluating functions - the  subroutine *
+!           itself must also be provided by the user - it should be of *
+!           the following form                                         *
+!              subroutine fcn(n, x, y, yprime)                         *
+!              integer n                                               *
+!              real(dl) x, y(n), yprime(n)                     *
+!                      *** etc ***                                     *
+!           and it should evaluate yprime, given n, x and y            *
+!                                                                      *
+!     x  independent variable - initial value supplied by user         *
+!                                                                      *
+!     y  dependent variable - initial values of components y(1), y(2), *
+!           ..., y(n) supplied by user                                 *
+!                                                                      *
+!  xend  value of x to which integration is to be carried out - it may *
+!           be less than the initial value of x                        *
+!                                                                      *
+!   tol  tolerance - the subroutine attempts to control a norm of  the *
+!           local  error  in  such  a  way  that  the  global error is *
+!           proportional to tol. in some problems there will be enough *
+!           damping  of  errors, as well as some cancellation, so that *
+!           the global error will be less than tol. alternatively, the *
+!           control   can   be  viewed  as  attempting  to  provide  a *
+!           calculated value of y at xend which is the exact  solution *
+!           to  the  problem y' = f(x,y) + e(x) where the norm of e(x) *
+!           is proportional to tol.  (the norm  is  a  max  norm  with *
+!           weights  that  depend on the error control strategy chosen *
+!           by the user.  the default weight for the k-th component is *
+!           1/max(1,abs(y(k))),  which therefore provides a mixture of *
+!           absolute and relative error control.)                      *
+!                                                                      *
+!   ind  indicator - on initial entry ind must be set equal to  either *
+!           1  or  2. if the user does not wish to use any options, he *
+!           should set ind to 1 - all that remains for the user to  do *
+!           then  is  to  declare c and w, and to specify nw. the user *
+!           may also  select  various  options  on  initial  entry  by *
+!           setting ind = 2 and initializing the first 9 components of *
+!           c as described in the next section.  he may also  re-enter *
+!           the  subroutine  with ind = 3 as mentioned again below. in *
+!           any event, the subroutine returns with ind equal to        *
+!              3 after a normal return                                 *
+!              4, 5, or 6 after an interrupt (see options c(8), c(9))  *
+!              -1, -2, or -3 after an error condition (see below)      *
+!                                                                      *
+!     c  communications vector - the dimension must be greater than or *
+!           equal to 24, unless option c(1) = 4 or 5 is used, in which *
+!           case the dimension must be greater than or equal to n+30   *
+!                                                                      *
+!    nw  first dimension of workspace w -  must  be  greater  than  or *
+!           equal to n                                                 *
+!                                                                      *
+!     w  workspace matrix - first dimension must be nw and second must *
+!           be greater than or equal to 9                              *
+!                                                                      *
+!     the subroutine  will  normally  return  with  ind  =  3,  having *
+! replaced the initial values of x and y with, respectively, the value *
+! of xend and an approximation to y at xend.  the  subroutine  can  be *
+! called  repeatedly  with new values of xend without having to change *
+! any other argument.  however, changes in tol, or any of the  options *
+! described below, may also be made on such a re-entry if desired.     *
+!                                                                      *
+!     three error returns are also possible, in which  case  x  and  y *
+! will be the most recently accepted values -                          *
+!     with ind = -3 the subroutine was unable  to  satisfy  the  error *
+!        requirement  with a particular step-size that is less than or *
+!        equal to hmin, which may mean that tol is too small           *
+!     with ind = -2 the value of hmin  is  greater  than  hmax,  which *
+!        probably  means  that the requested tol (which is used in the *
+!        calculation of hmin) is too small                             *
+!     with ind = -1 the allowed maximum number of fcn evaluations  has *
+!        been  exceeded,  but  this  can only occur if option c(7), as *
+!        described in the next section, has been used                  *
+!                                                                      *
+!     there are several circumstances that will cause the calculations *
+! to  be  terminated,  along with output of information that will help *
+! the user determine the cause of  the  trouble.  these  circumstances *
+! involve  entry with illegal or inconsistent values of the arguments, *
+! such as attempting a normal  re-entry  without  first  changing  the *
+! value of xend, or attempting to re-enter with ind less than zero.    *
+!                                                                      *
+!***********************************************************************
+!                                                                      *
+!     options - if the subroutine is entered with ind = 1, the first 9 *
+! components of the communications vector are initialized to zero, and *
+! the subroutine uses only default values  for  each  option.  if  the *
+! subroutine  is  entered  with ind = 2, the user must specify each of *
+! these 9 components - normally he would first set them all  to  zero, *
+! and  then  make  non-zero  those  that  correspond to the particular *
+! options he wishes to select. in any event, options may be changed on *
+! re-entry  to  the  subroutine  -  but if the user changes any of the *
+! options, or tol, in the course of a calculation he should be careful *
+! about  how  such changes affect the subroutine - it may be better to *
+! restart with ind = 1 or 2. (components 10 to 24 of c are used by the *
+! program  -  the information is available to the user, but should not *
+! normally be changed by him.)                                         *
+!                                                                      *
+!  c(1)  error control indicator - the norm of the local error is  the *
+!           max  norm  of  the  weighted  error  estimate  vector, the *
+!           weights being determined according to the value of c(1) -  *
+!              if c(1)=1 the weights are 1 (absolute error control)    *
+!              if c(1)=2 the weights are 1/abs(y(k))  (relative  error *
+!                 control)                                             *
+!              if c(1)=3 the  weights  are  1/max(abs(c(2)),abs(y(k))) *
+!                 (relative  error  control,  unless abs(y(k)) is less *
+!                 than the floor value, abs(c(2)) )                    *
+!              if c(1)=4 the weights are 1/max(abs(c(k+30)),abs(y(k))) *
+!                 (here individual floor values are used)              *
+!              if c(1)=5 the weights are 1/abs(c(k+30))                *
+!              for all other values of c(1), including  c(1) = 0,  the *
+!                 default  values  of  the  weights  are  taken  to be *
+!                 1/max(1,abs(y(k))), as mentioned earlier             *
+!           (in the two cases c(1) = 4 or 5 the user must declare  the *
+!           dimension of c to be at least n+30 and must initialize the *
+!           components c(31), c(32), ..., c(n+30).)                    *
+!                                                                      *
+!  c(2)  floor value - used when the indicator c(1) has the value 3    *
+!                                                                      *
+!  c(3)  hmin specification - if not zero, the subroutine chooses hmin *
+!           to be abs(c(3)) - otherwise it uses the default value      *
+!              10*max(dwarf,rreb*max(weighted norm y/tol,abs(x))),     *
+!           where dwarf is a very small positive  machine  number  and *
+!           rreb is the relative roundoff error bound                  *
+!                                                                      *
+!  c(4)  hstart specification - if not zero, the subroutine  will  use *
+!           an  initial  hmag equal to abs(c(4)), except of course for *
+!           the restrictions imposed by hmin and hmax  -  otherwise it *
+!           uses the default value of hmax*(tol)**(1/6)                *
+!                                                                      *
+!  c(5)  scale specification - this is intended to be a measure of the *
+!           scale of the problem - larger values of scale tend to make *
+!           the method more reliable, first  by  possibly  restricting *
+!           hmax  (as  described  below) and second, by tightening the *
+!           acceptance requirement - if c(5) is zero, a default  value *
+!           of  1  is  used.  for  linear  homogeneous  problems  with *
+!           constant coefficients, an appropriate value for scale is a *
+!           norm  of  the  associated  matrix.  for other problems, an *
+!           approximation to  an  average  value  of  a  norm  of  the *
+!           jacobian along the trajectory may be appropriate           *
+!                                                                      *
+!  c(6)  hmax specification - four cases are possible                  *
+!           if c(6).ne.0 and c(5).ne.0, hmax is taken to be            *
+!              min(abs(c(6)),2/abs(c(5)))                              *
+!           if c(6).ne.0 and c(5).eq.0, hmax is taken to be  abs(c(6)) *
+!           if c(6).eq.0 and c(5).ne.0, hmax is taken to be            *
+!              2/abs(c(5))                                             *
+!           if c(6).eq.0 and c(5).eq.0, hmax is given a default  value *
+!              of 2                                                    *
+!                                                                      *
+!  c(7)  maximum number of function evaluations  -  if  not  zero,  an *
+!           error  return with ind = -1 will be caused when the number *
+!           of function evaluations exceeds abs(c(7))                  *
+!                                                                      *
+!  c(8)  interrupt number  1  -  if  not  zero,  the  subroutine  will *
+!           interrupt   the  calculations  after  it  has  chosen  its *
+!           preliminary value of hmag, and just before choosing htrial *
+!           and  xtrial  in  preparation for taking a step (htrial may *
+!           differ from hmag in sign, and may  require  adjustment  if *
+!           xend  is  near) - the subroutine returns with ind = 4, and *
+!           will resume calculation at the point  of  interruption  if *
+!           re-entered with ind = 4                                    *
+!                                                                      *
+!  c(9)  interrupt number  2  -  if  not  zero,  the  subroutine  will *
+!           interrupt   the  calculations  immediately  after  it  has *
+!           decided whether or not to accept the result  of  the  most *
+!           recent  trial step, with ind = 5 if it plans to accept, or *
+!           ind = 6 if it plans to reject -  y(*)  is  the  previously *
+!           accepted  result, while w(*,9) is the newly computed trial *
+!           value, and w(*,2) is the unweighted error estimate vector. *
+!           the  subroutine  will  resume calculations at the point of *
+!           interruption on re-entry with ind = 5 or 6. (the user  may *
+!           change ind in this case if he wishes, for example to force *
+!           acceptance of a step that would otherwise be rejected,  or *
+!           vice versa. he can also restart with ind = 1 or 2.)        *
+!                                                                      *
+!***********************************************************************
+!                                                                      *
+!  summary of the components of the communications vector              *
+!                                                                      *
+!     prescribed at the option       determined by the program         *
+!           of the user                                                *
+!                                                                      *
+!                                    c(10) rreb(rel roundoff err bnd)  *
+!     c(1) error control indicator   c(11) dwarf (very small mach no)  *
+!     c(2) floor value               c(12) weighted norm y             *
+!     c(3) hmin specification        c(13) hmin                        *
+!     c(4) hstart specification      c(14) hmag                        *
+!     c(5) scale specification       c(15) scale                       *
+!     c(6) hmax specification        c(16) hmax                        *
+!     c(7) max no of fcn evals       c(17) xtrial                      *
+!     c(8) interrupt no 1            c(18) htrial                      *
+!     c(9) interrupt no 2            c(19) est                         *
+!                                    c(20) previous xend               *
+!                                    c(21) flag for xend               *
+!                                    c(22) no of successful steps      *
+!                                    c(23) no of successive failures   *
+!                                    c(24) no of fcn evals             *
+!                                                                      *
+!  if c(1) = 4 or 5, c(31), c(32), ... c(n+30) are floor values        *
+!                                                                      *
+!***********************************************************************
+!                                                                      *
+!  an overview of the program                                          *
+!                                                                      *
+!     begin initialization, parameter checking, interrupt re-entries   *
+!  ......abort if ind out of range 1 to 6                              *
+!  .     cases - initial entry, normal re-entry, interrupt re-entries  *
+!  .     case 1 - initial entry (ind .eq. 1 or 2)                      *
+!  v........abort if n.gt.nw or tol.le.0                               *
+!  .        if initial entry without options (ind .eq. 1)              *
+!  .           set c(1) to c(9) equal to zero                          *
+!  .        else initial entry with options (ind .eq. 2)               *
+!  .           make c(1) to c(9) non-negative                          *
+!  .           make floor values non-negative if they are to be used   *
+!  .        end if                                                     *
+!  .        initialize rreb, dwarf, prev xend, flag, counts            *
+!  .     case 2 - normal re-entry (ind .eq. 3)                         *
+!  .........abort if xend reached, and either x changed or xend not    *
+!  .        re-initialize flag                                         *
+!  .     case 3 - re-entry following an interrupt (ind .eq. 4 to 6)    *
+!  v        transfer control to the appropriate re-entry point.......  *
+!  .     end cases                                                  .  *
+!  .  end initialization, etc.                                      .  *
+!  .                                                                v  *
+!  .  loop through the following 4 stages, once for each trial step .  *
+!  .     stage 1 - prepare                                          .  *
+!***********error return (with ind=-1) if no of fcn evals too great .  *
+!  .        calc slope (adding 1 to no of fcn evals) if ind .ne. 6  .  *
+!  .        calc hmin, scale, hmax                                  .  *
+!***********error return (with ind=-2) if hmin .gt. hmax            .  *
+!  .        calc preliminary hmag                                   .  *
+!***********interrupt no 1 (with ind=4) if requested.......re-entry.v  *
+!  .        calc hmag, xtrial and htrial                            .  *
+!  .     end stage 1                                                .  *
+!  v     stage 2 - calc ytrial (adding 7 to no of fcn evals)        .  *
+!  .     stage 3 - calc the error estimate                          .  *
+!  .     stage 4 - make decisions                                   .  *
+!  .        set ind=5 if step acceptable, else set ind=6            .  *
+!***********interrupt no 2 if requested....................re-entry.v  *
+!  .        if step accepted (ind .eq. 5)                              *
+!  .           update x, y from xtrial, ytrial                         *
+!  .           add 1 to no of successful steps                         *
+!  .           set no of successive failures to zero                   *
+!**************return(with ind=3, xend saved, flag set) if x .eq. xend *
+!  .        else step not accepted (ind .eq. 6)                        *
+!  .           add 1 to no of successive failures                      *
+!**************error return (with ind=-3) if hmag .le. hmin            *
+!  .        end if                                                     *
+!  .     end stage 4                                                   *
+!  .  end loop                                                         *
+!  .                                                                   *
+!  begin abort action                                                  *
+!     output appropriate  message  about  stopping  the  calculations, *
+!        along with values of ind, n, nw, tol, hmin,  hmax,  x,  xend, *
+!        previous xend,  no of  successful  steps,  no  of  successive *
+!        failures, no of fcn evals, and the components of y            *
+!     stop                                                             *
+!  end abort action                                                    *
+!                                                                      *
+!***********************************************************************
+!
+!     ******************************************************************
+!     * begin initialization, parameter checking, interrupt re-entries *
+!     ******************************************************************
+!
+!  ......abort if ind out of range 1 to 6
+         if (ind.lt.1 .or. ind.gt.6) go to 500
+!
+!        cases - initial entry, normal re-entry, interrupt re-entries
+!         go to (5, 5, 45, 1111, 2222, 2222), ind
+         if (ind==3) goto 45
+         if (ind==4) goto 1111
+         if (ind==5 .or. ind==6) goto 2222
+
+!        case 1 - initial entry (ind .eq. 1 or 2)
+!  .........abort if n.gt.nw or tol.le.0
+            if (n.gt.nw .or. tol.le.0._dl) go to 500
+            if (ind.eq. 2) go to 15
+!              initial entry without options (ind .eq. 1)
+!              set c(1) to c(9) equal to 0
+               do k = 1, 9
+                  c(k) = 0._dl
+               end do
+               go to 35
+   15       continue
+!              initial entry with options (ind .eq. 2)
+!              make c(1) to c(9) non-negative
+               do k = 1, 9
+                  c(k) = dabs(c(k))
+               end do
+!              make floor values non-negative if they are to be used
+               if (c(1).ne.4._dl .and. c(1).ne.5._dl) go to 30
+                  do k = 1, n
+                     c(k+30) = dabs(c(k+30))
+                  end do
+   30          continue
+   35       continue
+!           initialize rreb, dwarf, prev xend, flag, counts
+            c(10) = 2._dl**(-56)
+            c(11) = 1.d-35
+!           set previous xend initially to initial value of x
+            c(20) = x
+            do k = 21, 24
+               c(k) = 0._dl
+            end do
+            go to 50
+!        case 2 - normal re-entry (ind .eq. 3)
+!  .........abort if xend reached, and either x changed or xend not
+   45       if (c(21).ne.0._dl .and. &
+                              (x.ne.c(20) .or. xend.eq.c(20))) go to 500
+!           re-initialize flag
+            c(21) = 0._dl
+            go to 50
+!        case 3 - re-entry following an interrupt (ind .eq. 4 to 6)
+!           transfer control to the appropriate re-entry point..........
+!           this has already been handled by the computed go to        .
+!        end cases                                                     v
+   50    continue
+!
+!     end initialization, etc.
+!
+!     ******************************************************************
+!     * loop through the following 4 stages, once for each trial  step *
+!     * until the occurrence of one of the following                   *
+!     *    (a) the normal return (with ind .eq. 3) on reaching xend in *
+!     *        stage 4                                                 *
+!     *    (b) an error return (with ind .lt. 0) in stage 1 or stage 4 *
+!     *    (c) an interrupt return (with ind  .eq.  4,  5  or  6),  if *
+!     *        requested, in stage 1 or stage 4                        *
+!     ******************************************************************
+!
+99999 continue
+!
+!        ***************************************************************
+!        * stage 1 - prepare - do calculations of  hmin,  hmax,  etc., *
+!        * and some parameter  checking,  and  end  up  with  suitable *
+!        * values of hmag, xtrial and htrial in preparation for taking *
+!        * an integration step.                                        *
+!        ***************************************************************
+!
+!***********error return (with ind=-1) if no of fcn evals too great
+            if (c(7).eq.0._dl .or. c(24).lt.c(7)) go to 100
+               ind = -1
+               return
+  100       continue
+!
+!           calculate slope (adding 1 to no of fcn evals) if ind .ne. 6
+            if (ind .eq. 6) go to 105
+               call fcn(EV,n, x, y, w(1,1))
+               c(24) = c(24) + 1._dl
+  105       continue
+!
+!           calculate hmin - use default unless value prescribed
+            c(13) = c(3)
+            if (c(3) .ne. 0._dl) go to 165
+!              calculate default value of hmin
+!              first calculate weighted norm y - c(12) - as specified
+!              by the error control indicator c(1)
+               temp = 0._dl
+               if (c(1) .ne. 1._dl) go to 115
+!                 absolute error control - weights are 1
+                  do 110 k = 1, n
+                     temp = dmax1(temp, dabs(y(k)))
+  110             continue
+                  c(12) = temp
+                  go to 160
+  115          if (c(1) .ne. 2._dl) go to 120
+!                 relative error control - weights are 1/dabs(y(k)) so
+!                 weighted norm y is 1
+                  c(12) = 1._dl
+                  go to 160
+  120          if (c(1) .ne. 3._dl) go to 130
+!                 weights are 1/max(c(2),abs(y(k)))
+                  do 125 k = 1, n
+                     temp = dmax1(temp, dabs(y(k))/c(2))
+  125             continue
+                  c(12) = dmin1(temp, 1._dl)
+                  go to 160
+  130          if (c(1) .ne. 4._dl) go to 140
+!                 weights are 1/max(c(k+30),abs(y(k)))
+                  do 135 k = 1, n
+                     temp = dmax1(temp, dabs(y(k))/c(k+30))
+  135             continue
+                  c(12) = dmin1(temp, 1._dl)
+                  go to 160
+  140          if (c(1) .ne. 5._dl) go to 150
+!                 weights are 1/c(k+30)
+                  do 145 k = 1, n
+                     temp = dmax1(temp, dabs(y(k))/c(k+30))
+  145             continue
+                  c(12) = temp
+                  go to 160
+  150          continue
+!                 default case - weights are 1/max(1,abs(y(k)))
+                  do 155 k = 1, n
+                     temp = dmax1(temp, dabs(y(k)))
+  155             continue
+                  c(12) = dmin1(temp, 1._dl)
+  160          continue
+               c(13) = 10._dl*dmax1(c(11),c(10)*dmax1(c(12)/tol,dabs(x)))
+  165       continue
+!
+!           calculate scale - use default unless value prescribed
+            c(15) = c(5)
+            if (c(5) .eq. 0._dl) c(15) = 1._dl
+!
+!           calculate hmax - consider 4 cases
+!           case 1 both hmax and scale prescribed
+               if (c(6).ne.0._dl .and. c(5).ne.0._dl) &
+                                          c(16) = dmin1(c(6), 2._dl/c(5))
+!           case 2 - hmax prescribed, but scale not
+               if (c(6).ne.0._dl .and. c(5).eq.0._dl) c(16) = c(6)
+!           case 3 - hmax not prescribed, but scale is
+               if (c(6).eq.0._dl .and. c(5).ne.0._dl) c(16) = 2._dl/c(5)
+!           case 4 - neither hmax nor scale is provided
+               if (c(6).eq.0._dl .and. c(5).eq.0._dl) c(16) = 2._dl
+!
+!***********error return (with ind=-2) if hmin .gt. hmax
+            if (c(13) .le. c(16)) go to 170
+               ind = -2
+               return
+  170       continue
+!
+!           calculate preliminary hmag - consider 3 cases
+            if (ind .gt. 2) go to 175
+!           case 1 - initial entry - use prescribed value of hstart, if
+!              any, else default
+               c(14) = c(4)
+               if (c(4) .eq. 0._dl) c(14) = c(16)*tol**(1._dl/6._dl)
+               go to 185
+  175       if (c(23) .gt. 1._dl) go to 180
+!           case 2 - after a successful step, or at most  one  failure,
+!              use min(2, .9*(tol/est)**(1/6))*hmag, but avoid possible
+!              overflow. then avoid reduction by more than half.
+               temp = 2._dl*c(14)
+               if (tol .lt. (2._dl/.9d0)**6*c(19)) &
+                       temp = .9d0*(tol/c(19))**(1._dl/6._dl)*c(14)
+               c(14) = dmax1(temp, .5d0*c(14))
+               go to 185
+  180       continue
+!           case 3 - after two or more successive failures
+               c(14) = .5d0*c(14)
+  185       continue
+!
+!           check against hmax
+            c(14) = dmin1(c(14), c(16))
+!
+!           check against hmin
+            c(14) = dmax1(c(14), c(13))
+!
+!***********interrupt no 1 (with ind=4) if requested
+            if (c(8) .eq. 0._dl) go to 1111
+               ind = 4
+               return
+!           resume here on re-entry with ind .eq. 4   ........re-entry..
+ 1111       continue
+!
+!           calculate hmag, xtrial - depending on preliminary hmag, xend
+            if (c(14) .ge. dabs(xend - x)) go to 190
+!              do not step more than half way to xend
+               c(14) = dmin1(c(14), .5d0*dabs(xend - x))
+               c(17) = x + dsign(c(14), xend - x)
+               go to 195
+  190       continue
+!              hit xend exactly
+               c(14) = dabs(xend - x)
+               c(17) = xend
+  195       continue
+!
+!           calculate htrial
+            c(18) = c(17) - x
+!
+!        end stage 1
+!
+!        ***************************************************************
+!        * stage 2 - calculate ytrial (adding 7 to no of  fcn  evals). *
+!        * w(*,2), ... w(*,8)  hold  intermediate  results  needed  in *
+!        * stage 3. w(*,9) is temporary storage until finally it holds *
+!        * ytrial.                                                     *
+!        ***************************************************************
+!
+            temp = c(18)/1398169080000._dl
+!
+            do 200 k = 1, n
+               w(k,9) = y(k) + temp*w(k,1)*233028180000._dl
+  200       continue
+            call fcn(EV,n, x + c(18)/6._dl, w(1,9), w(1,2))
+!
+            do 205 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*74569017600._dl &
+                                      + w(k,2)*298276070400._dl  )
+  205       continue
+            call fcn(EV,n, x + c(18)*(4._dl/15._dl), w(1,9), w(1,3))
+!
+            do 210 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*1165140900000._dl &
+                                      - w(k,2)*3728450880000._dl &
+                                      + w(k,3)*3495422700000._dl )
+  210       continue
+            call fcn(EV,n, x + c(18)*(2._dl/3._dl), w(1,9), w(1,4))
+!
+            do 215 k = 1, n
+               w(k,9) = y(k) + temp*( - w(k,1)*3604654659375._dl &
+                                      + w(k,2)*12816549900000._dl &
+                                      - w(k,3)*9284716546875._dl &
+                                      + w(k,4)*1237962206250._dl )
+  215       continue
+            call fcn(EV,n, x + c(18)*(5._dl/6._dl), w(1,9), w(1,5))
+!
+            do 220 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*3355605792000._dl &
+                                      - w(k,2)*11185352640000._dl &
+                                      + w(k,3)*9172628850000._dl &
+                                      - w(k,4)*427218330000._dl &
+                                      + w(k,5)*482505408000._dl  )
+  220       continue
+            call fcn(EV,n, x + c(18), w(1,9), w(1,6))
+!
+            do 225 k = 1, n
+               w(k,9) = y(k) + temp*( - w(k,1)*770204740536._dl &
+                                      + w(k,2)*2311639545600._dl &
+                                      - w(k,3)*1322092233000._dl &
+                                      - w(k,4)*453006781920._dl &
+                                      + w(k,5)*326875481856._dl  )
+  225       continue
+            call fcn(EV,n, x + c(18)/15._dl, w(1,9), w(1,7))
+!
+            do 230 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*2845924389000._dl &
+                                      - w(k,2)*9754668000000._dl &
+                                      + w(k,3)*7897110375000._dl &
+                                      - w(k,4)*192082660000._dl &
+                                      + w(k,5)*400298976000._dl &
+                                      + w(k,7)*201586000000._dl  )
+  230       continue
+            call fcn(EV,n, x + c(18), w(1,9), w(1,8))
+!
+!           calculate ytrial, the extrapolated approximation and store
+!              in w(*,9)
+            do 235 k = 1, n
+               w(k,9) = y(k) + temp*(   w(k,1)*104862681000._dl &
+                                      + w(k,3)*545186250000._dl &
+                                      + w(k,4)*446637345000._dl &
+                                      + w(k,5)*188806464000._dl &
+                                      + w(k,7)*15076875000._dl &
+                                      + w(k,8)*97599465000._dl   )
+  235       continue
+!
+!           add 7 to the no of fcn evals
+            c(24) = c(24) + 7._dl
+!
+!        end stage 2
+!
+!        ***************************************************************
+!        * stage 3 - calculate the error estimate est. first calculate *
+!        * the  unweighted  absolute  error  estimate vector (per unit *
+!        * step) for the unextrapolated approximation and store it  in *
+!        * w(*,2).  then  calculate the weighted max norm of w(*,2) as *
+!        * specified by the error  control  indicator  c(1).  finally, *
+!        * modify  this result to produce est, the error estimate (per *
+!        * unit step) for the extrapolated approximation ytrial.       *
+!        ***************************************************************
+!
+!           calculate the unweighted absolute error estimate vector
+            do 300 k = 1, n
+               w(k,2) = (   w(k,1)*8738556750._dl &
+                          + w(k,3)*9735468750._dl &
+                          - w(k,4)*9709507500._dl &
+                          + w(k,5)*8582112000._dl &
+                          + w(k,6)*95329710000._dl &
+                          - w(k,7)*15076875000._dl &
+                          - w(k,8)*97599465000._dl)/1398169080000._dl
+  300       continue
+!
+!           calculate the weighted max norm of w(*,2) as specified by
+!           the error control indicator c(1)
+            temp = 0._dl
+            if (c(1) .ne. 1._dl) go to 310
+!              absolute error control
+               do 305 k = 1, n
+                  temp = dmax1(temp,dabs(w(k,2)))
+  305          continue
+               go to 360
+  310       if (c(1) .ne. 2._dl) go to 320
+!              relative error control
+               do 315 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)/y(k)))
+  315          continue
+               go to 360
+  320       if (c(1) .ne. 3._dl) go to 330
+!              weights are 1/max(c(2),abs(y(k)))
+               do 325 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)) &
+                                   / dmax1(c(2), dabs(y(k))) )
+  325          continue
+               go to 360
+  330       if (c(1) .ne. 4._dl) go to 340
+!              weights are 1/max(c(k+30),abs(y(k)))
+               do 335 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)) &
+                                   / dmax1(c(k+30), dabs(y(k))) )
+  335          continue
+               go to 360
+  340       if (c(1) .ne. 5._dl) go to 350
+!              weights are 1/c(k+30)
+               do 345 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)/c(k+30)))
+  345          continue
+               go to 360
+  350       continue
+!              default case - weights are 1/max(1,abs(y(k)))
+               do 355 k = 1, n
+                  temp = dmax1(temp, dabs(w(k,2)) &
+                                   / dmax1(1._dl, dabs(y(k))) )
+  355          continue
+  360       continue
+!
+!           calculate est - (the weighted max norm of w(*,2))*hmag*scale
+!              - est is intended to be a measure of the error  per  unit
+!              step in ytrial
+            c(19) = temp*c(14)*c(15)
+!
+!        end stage 3
+!
+!        ***************************************************************
+!        * stage 4 - make decisions.                                   *
+!        ***************************************************************
+!
+!           set ind=5 if step acceptable, else set ind=6
+            ind = 5
+            if (c(19) .gt. tol) ind = 6
+!
+!***********interrupt no 2 if requested
+            if (c(9) .eq. 0._dl) go to 2222
+               return
+!           resume here on re-entry with ind .eq. 5 or 6   ...re-entry..
+ 2222       continue
+!
+            if (ind .eq. 6) go to 410
+!              step accepted (ind .eq. 5), so update x, y from xtrial,
+!                 ytrial, add 1 to the no of successful steps, and set
+!                 the no of successive failures to zero
+               x = c(17)
+               do 400 k = 1, n
+                  y(k) = w(k,9)
+  400          continue
+               c(22) = c(22) + 1._dl
+               c(23) = 0._dl
+!**************return(with ind=3, xend saved, flag set) if x .eq. xend
+               if (x .ne. xend) go to 405
+                  ind = 3
+                  c(20) = xend
+                  c(21) = 1._dl
+                  return
+  405          continue
+               go to 420
+  410       continue
+!              step not accepted (ind .eq. 6), so add 1 to the no of
+!                 successive failures
+               c(23) = c(23) + 1._dl
+!**************error return (with ind=-3) if hmag .le. hmin
+               if (c(14) .gt. c(13)) go to 415
+                  ind = -3
+                  return
+  415          continue
+  420       continue
+!
+!        end stage 4
+!
+      go to 99999
+!     end loop
+!
+!  begin abort action
+  500 continue
+!
+
+      write (*,*) 'Error in dverk, x =',x, 'xend=', xend
+      call MpiStop()
+!
+!  end abort action
+!
+      end subroutine dverk
diff --git a/tester.f90 b/tester.f90
new file mode 100644
index 0000000..c222732
--- /dev/null
+++ b/tester.f90
@@ -0,0 +1,59 @@
+!Simple program to get the scalar and tensor Cls, and print them out (and the sum)
+
+      program tester
+       use CAMB
+        implicit none
+        integer l
+        real(dl) ratio
+
+        type(CAMBparams)  P !defined in ModelParams in modules.f90
+
+        
+        call CAMB_SetDefParams(P)
+
+        P%omegab  = .045
+        P%omegac  = 0.355
+        P%omegav  = 0.6
+        P%omegan  = 0.0
+        P%H0      = 65
+   
+        P%InitPower%nn     = 1 !number of initial power spectra
+        P%InitPower%an(1)  = 1 !scalar spectral index
+        P%InitPower%ant(1) = 0 !tensor spectra index
+        P%InitPower%rat(1) = 1 !ratio of initial amplitudes
+         !actually we don't use this here since we generate the Cls separately
+         !so set to 1, and then put in the ratio after calculating the Cls
+
+ 
+        P%OutputNormalization = outNone
+      
+        !Generate scalars first so that start with maximum Max_l that is used
+        P%WantScalars = .true.
+        P%WantTensors = .true.
+      
+        P%Max_l=1500
+        P%Max_eta_k=3000
+        P%Max_l_tensor=200
+        P%Max_eta_k_tensor=500
+
+        P%AccuratePolarization = .false. !We are only interested in the temperature here
+
+        call CAMB_GetResults(P) 
+
+        ratio =0.1
+
+        do l=2,P%Max_l
+           !print out scalar and tensor temperature, then sum
+           if (l <= P%Max_l_tensor) then
+              !The indices of the Cl_xxx arrays are l, initial power spectrum index, Cl type
+             write(*,'(1I5,3E15.5)') l, Cl_scalar(l,1, C_Temp), ratio*Cl_tensor(l,1,CT_Temp), &
+                   ratio*Cl_tensor(l,1,C_Temp)+Cl_scalar(l,1,C_Temp) 
+           else
+             write(*,'(1I5,3E15.5)') l,  Cl_scalar(l,1, C_Temp),0._dl,Cl_scalar(l,1,C_Temp) 
+           end if
+        end do   
+
+
+        end program Tester
+
+
diff --git a/utils.F90 b/utils.F90
new file mode 100644
index 0000000..e2dc15f
--- /dev/null
+++ b/utils.F90
@@ -0,0 +1,2926 @@
+!Module of generally useful routines and definitions
+!Antony Lewis, http://cosmologist.info/
+
+!April 2006: fix to TList_RealArr_Thin
+!March 2008: fix to Ranges
+!June 2010: fixed bug in  DeleteFile gradually using up file units
+
+ module Ranges
+ !A collection of ranges, consisting of sections of minimum step size
+  implicit none
+
+  integer, parameter :: Max_Ranges = 100
+  double precision, parameter :: RangeTol = 0.1d0 
+    !fraction of bin width we are prepared for merged bin widths to increase by
+
+  Type Region
+    integer start_index
+    integer steps
+    logical :: IsLog
+    double precision Low, High
+    double precision delta
+    double precision delta_max, delta_min !for log spacing, the non-log max and min step size
+  end Type Region
+
+  Type Regions
+    
+     integer count
+     integer npoints
+     double precision Lowest, Highest
+     Type(Region) :: R(Max_ranges)
+     logical :: has_dpoints
+     double precision, dimension(:), pointer :: points, dpoints
+       !dpoints is (points(i+1)-points(i-1))/2
+ 
+  end Type Regions
+
+ contains
+  
+   subroutine Ranges_Init(R)
+    Type(Regions) R
+
+     call Ranges_Free(R)
+    
+   end  subroutine Ranges_Init
+
+   subroutine Ranges_Free(R)
+    Type(Regions) R
+    integer status     
+
+     deallocate(R%points,stat = status)
+     deallocate(R%dpoints,stat = status)
+     call Ranges_Nullify(R)
+    
+   end  subroutine Ranges_Free
+
+    
+  subroutine Ranges_Nullify(R)
+   Type(Regions) R
+  
+     nullify(R%points)
+     nullify(R%dpoints)
+     R%count = 0
+     R%npoints = 0
+     R%has_dpoints = .false.
+   
+
+  end subroutine Ranges_Nullify
+
+  subroutine Ranges_Assign(R,Rin)
+   Type(Regions) R, Rin
+
+    call Ranges_Init(R)
+    R = Rin
+    nullify(R%points,R%dpoints)
+    if (associated(Rin%points)) then
+      call Ranges_GetArray(R, associated(Rin%dpoints))
+    end if
+  
+  end subroutine Ranges_Assign
+
+   function Ranges_IndexOf(Reg, tau) result(pointstep)
+      Type(Regions), intent(in), target :: Reg
+      Type(Region), pointer :: AReg
+      double precision :: tau
+      integer pointstep
+      integer i
+
+      
+      pointstep=0
+      do i=1,Reg%count
+          AReg => Reg%R(i)
+
+          if (tau < AReg%High .and. tau >= AReg%Low) then
+             if (AReg%IsLog) then
+              pointstep = AReg%start_index + int( log(tau/AReg%Low)/AReg%delta)
+              else
+              pointstep = AReg%start_index + int(( tau - AReg%Low)/AReg%delta)
+             end if
+             return
+          end if
+
+      end do
+
+      if (tau >= Reg%Highest) then
+         pointstep = Reg%npoints
+      else
+       write (*,*) 'Ranges_IndexOf: value out of range'
+       stop 
+      end if
+
+   end function Ranges_IndexOf
+
+     
+   subroutine Ranges_GetArray(Reg, want_dpoints)
+     Type(Regions), target :: Reg
+     Type(Region), pointer :: AReg
+     logical, intent(in), optional :: want_dpoints 
+     integer status,i,j,ix     
+     
+
+     if (present(want_dpoints)) then
+      Reg%has_dpoints = want_dpoints
+     else
+      Reg%has_dpoints = .true.
+     end if
+
+     deallocate(Reg%points,stat = status)
+     allocate(Reg%points(Reg%npoints)) 
+
+     ix=0   
+     do i=1, Reg%count
+       AReg => Reg%R(i)
+       do j = 0, AReg%steps-1
+        ix=ix+1
+        if (AReg%IsLog) then
+         Reg%points(ix) = AReg%Low*exp(j*AReg%delta)
+        else
+         Reg%points(ix) = AReg%Low + AReg%delta*j
+        end if
+       end do
+     end do
+     ix =ix+1
+     Reg%points(ix) = Reg%Highest
+     if (ix /= Reg%npoints) stop 'Ranges_GetArray: ERROR'
+
+     if (Reg%has_dpoints) call Ranges_Getdpoints(Reg)
+
+   end subroutine Ranges_GetArray
+
+
+   subroutine Ranges_Getdpoints(Reg, half_ends)
+      Type(Regions), target :: Reg
+      logical, intent(in), optional :: half_ends
+      integer i, status
+      logical halfs
+
+      if (present(half_ends)) then
+        halfs = half_ends
+      else
+        halfs = .true.
+      end if
+       
+      deallocate(Reg%dpoints,stat = status)
+      allocate(Reg%dpoints(Reg%npoints)) 
+
+      do i=2, Reg%npoints-1
+        Reg%dpoints(i) = (Reg%points(i+1) - Reg%points(i-1))/2
+      end do
+      if (halfs) then
+       Reg%dpoints(1) = (Reg%points(2) - Reg%points(1))/2
+       Reg%dpoints(Reg%npoints) = (Reg%points(Reg%npoints) - Reg%points(Reg%npoints-1))/2
+      else
+       Reg%dpoints(1) = (Reg%points(2) - Reg%points(1))
+       Reg%dpoints(Reg%npoints) = (Reg%points(Reg%npoints) - Reg%points(Reg%npoints-1))
+     end if
+   end subroutine Ranges_Getdpoints
+
+
+   subroutine Ranges_Add_delta(Reg, t_start, t_end, t_approx_delta, IsLog)
+     Type(Regions), target :: Reg
+     logical, intent(in), optional :: IsLog
+     double precision, intent(in) :: t_start, t_end, t_approx_delta
+     integer n
+     logical :: WantLog
+
+     if (present(IsLog)) then
+        WantLog = IsLog      
+     else
+        WantLog = .false.    
+     end if
+     
+     if (t_end <= t_start) & 
+       stop 'Ranges_Add_delta: end must be larger than start'
+     if (t_approx_delta <=0) stop 'Ranges_Add_delta: delta must be > 0'
+
+     if (WantLog) then
+      n  = max(1,int(log(t_end/t_start)/t_approx_delta + 1.d0 - RangeTol))
+     else
+      n  = max(1,int((t_end-t_start)/t_approx_delta + 1.d0 - RangeTol))
+     end if
+     call Ranges_Add(Reg,t_start, t_end, n, WantLog)
+       
+   end subroutine Ranges_Add_delta
+
+
+   subroutine Ranges_Add(Reg, t_start, t_end, nstep, IsLog)
+     Type(Regions), target :: Reg
+     logical, intent(in), optional :: IsLog
+     double precision, intent(in) :: t_start, t_end
+     integer, intent(in) :: nstep
+     Type(Region), pointer :: AReg, LastReg
+     Type(Region), target :: NewRegions(Max_Ranges)
+     double precision EndPoints(0:Max_Ranges*2)
+     integer ixin, nreg, ix, i,j, nsteps
+     double precision delta
+     logical WantLog
+     double precision min_request, max_request, min_log_step, max_log_step, diff, max_delta
+     double precision RequestDelta(Max_Ranges)
+
+     if (present(IsLog)) then
+      WantLog = IsLog
+     else
+      WantLog = .false.
+     end if
+
+     if (WantLog) then
+      delta = log(t_end/t_start) / nstep
+     else
+      delta = (t_end - t_start) / nstep
+     end if
+
+     if (t_end <= t_start) stop 'Ranges_Add: end must be larger than start'
+     if (nstep <=0) stop 'Ranges_Add: nstep must be > 0'
+     if (Reg%Count>= Max_Ranges) stop 'Ranges_Add: Increase Max_Ranges'
+
+!avoid IBM compiler bug, from Angel de Vicente
+!    if (Reg%count > 0) NewRegions(1:Reg%count) = Reg%R(1:Reg%count)
+     if (Reg%count > 0) THEN
+         DO i=1,Reg%count
+         NewRegions(i) = Reg%R(i)
+         END DO
+     END IF
+     nreg = Reg%count + 1
+     AReg=> NewRegions(nreg)
+     AReg%Low = t_start
+     AReg%High = t_end
+     AReg%delta = delta
+     AReg%steps = nstep
+     AReg%IsLog = WantLog 
+
+!Get end point in order
+     ix = 0
+     do i=1, nreg
+
+       AReg => NewRegions(i)
+       if (ix==0) then
+          ix = 1
+          EndPoints(ix) = AReg%Low
+          ix = 2
+          EndPoints(ix) = AReg%High
+       else
+        ixin = ix
+        do j=1,ixin
+         if (AReg%Low < EndPoints(j)) then
+           EndPoints(j+1:ix+1) = EndPoints(j:ix)
+           EndPoints(j) = AReg%Low
+           ix=ix+1
+           exit
+         end if
+        end do
+        if (ixin == ix) then
+          ix = ix+1
+          EndPoints(ix) = AReg%Low
+          ix = ix+1
+          EndPoints(ix) = AReg%High
+        else
+            ixin = ix
+            do j=1,ixin
+             if (AReg%High < EndPoints(j)) then
+               EndPoints(j+1:ix+1) = EndPoints(j:ix)
+               EndPoints(j) = AReg%High
+               ix=ix+1
+               exit
+             end if
+            end do
+            if (ixin == ix) then
+              ix = ix+1
+              EndPoints(ix) = AReg%High
+            end if
+                  
+        end if
+       end if
+
+     end do
+
+!remove duplicate points
+     ixin = ix
+     ix = 1
+     do i=2, ixin
+       if (EndPoints(i) /= EndPoints(ix)) then
+        ix=ix+1
+        EndPoints(ix) = EndPoints(i)
+       end if
+     end do
+    
+
+!ix is the number of end points
+     Reg%Lowest = EndPoints(1)
+     Reg%Highest = EndPoints(ix)
+     Reg%count = 0
+
+     max_delta = Reg%Highest - Reg%Lowest
+
+     do i=1, ix - 1
+          AReg => Reg%R(i)
+          AReg%Low = EndPoints(i)
+          AReg%High = EndPoints(i+1)
+          
+!          max_delta = EndPoints(i+1) - EndPoints(i)
+          delta = max_delta
+          AReg%IsLog = .false.
+
+          do j=1, nreg
+           if (AReg%Low >= NewRegions(j)%Low .and. Areg%Low < NewRegions(j)%High) then
+             if (NewRegions(j)%IsLog) then
+                if (AReg%IsLog) then
+                 delta = min(delta,NewRegions(j)%delta) 
+                else
+                 min_log_step = AReg%Low*(exp(NewRegions(j)%delta)-1)
+                 if (min_log_step < delta) then
+                   max_log_step = AReg%High*(1-exp(-NewRegions(j)%delta)) 
+                   if  (delta < max_log_step) then
+                     delta = min_log_step
+                   else
+                     AReg%IsLog = .true.
+                     delta = NewRegions(j)%delta 
+                   end if 
+                 end if
+                end if
+             else !NewRegion is not log
+              if (AReg%IsLog) then
+                max_log_step = AReg%High*(1-exp(-delta)) 
+                if (NewRegions(j)%delta < max_log_step) then
+                  min_log_step = AReg%Low*(exp(delta)-1)
+                  if (min_log_step <  NewRegions(j)%delta) then
+                     AReg%IsLog = .false.
+                     delta =  min_log_step
+                  else
+                     delta = - log(1- NewRegions(j)%delta/AReg%High)
+                  end if
+                end if
+              else
+               delta = min(delta, NewRegions(j)%delta)  
+              end if
+             end if
+           end if
+          end do
+
+         if (AReg%IsLog) then
+           Diff = log(AReg%High/AReg%Low)
+         else
+           Diff = AReg%High - AReg%Low
+         endif
+         if (delta >= Diff) then
+           AReg%delta = Diff
+           AReg%steps = 1
+         else    
+           AReg%steps  = max(1,int(Diff/delta + 1.d0 - RangeTol))
+           AReg%delta = Diff / AReg%steps
+         end if
+
+         Reg%count = Reg%count + 1
+         RequestDelta(Reg%Count) = delta
+
+         if (AReg%IsLog) then
+          if (AReg%steps ==1) then
+           AReg%Delta_min = AReg%High - AReg%Low
+           AReg%Delta_max = AReg%Delta_min
+          else
+           AReg%Delta_min = AReg%Low*(exp(AReg%delta)-1)
+           AReg%Delta_max = AReg%High*(1-exp(-AReg%delta))
+          end if
+         else
+           AReg%Delta_max = AReg%delta
+           AReg%Delta_min = AReg%delta
+         end if
+     end do
+
+
+!Get rid of tiny regions
+     ix = Reg%Count
+     do i=ix, 1, -1  
+         AReg => Reg%R(i)
+         if (AReg%steps ==1) then
+              Diff = AReg%High - AReg%Low
+              if (AReg%IsLog) then
+               min_request = AReg%Low*(exp(RequestDelta(i))-1)
+               max_request = AReg%High*(1-exp(-RequestDelta(i)))
+              else
+               min_request = RequestDelta(i)
+               max_request = min_request
+              end if
+              if (i/= Reg%Count) then  !from i/= ix Mar08
+               LastReg => Reg%R(i+1)
+               if (RequestDelta(i) >= AReg%delta .and. Diff <= LastReg%Delta_min &
+                          .and. LastReg%Delta_min <= max_request) then 
+
+                   LastReg%Low = AReg%Low
+                   if (Diff > LastReg%Delta_min*RangeTol) then
+                      LastReg%steps =  LastReg%steps + 1
+                   end if
+                   if (LastReg%IsLog) then
+                      LastReg%delta = log(LastReg%High/LastReg%Low) / LastReg%steps 
+                   else
+                      LastReg%delta = (LastReg%High -LastReg%Low) / LastReg%steps 
+                   end if
+                   Reg%R(i:Reg%Count-1) = Reg%R(i+1:Reg%Count)
+                   Reg%Count = Reg%Count -1
+                   cycle
+               end if          
+              end if
+              if (i/=1) then
+               LastReg => Reg%R(i-1)
+               if (RequestDelta(i) >= AReg%delta .and. Diff <= LastReg%Delta_max &
+                          .and. LastReg%Delta_max <= min_request) then
+                   LastReg%High = AReg%High
+                   !AlMat08 LastReg%Low = AReg%Low
+                   if (Diff > LastReg%Delta_max*RangeTol) then
+                      LastReg%steps =  LastReg%steps + 1
+                   end if
+                   if (LastReg%IsLog) then
+                      LastReg%delta = log(LastReg%High/LastReg%Low) / LastReg%steps 
+                   else
+                      LastReg%delta = (LastReg%High -LastReg%Low) / LastReg%steps 
+                   end if
+                   Reg%R(i:Reg%Count-1) = Reg%R(i+1:Reg%Count)
+                   Reg%Count = Reg%Count -1
+               end if
+              end if           
+         end if       
+     end do
+
+
+!Set up start indices and get total number of steps
+    nsteps = 1
+    do i = 1, Reg%Count
+         AReg => Reg%R(i)
+         AReg%Start_index = nsteps
+         nsteps = nsteps + AReg%steps
+         if (AReg%IsLog) then
+          if (AReg%steps ==1) then
+           AReg%Delta_min = AReg%High - AReg%Low
+           AReg%Delta_max = AReg%Delta_min
+          else
+           AReg%Delta_min = AReg%Low*(exp(AReg%delta)-1)
+           AReg%Delta_max = AReg%High*(1-exp(-AReg%delta))
+          end if
+         else
+           AReg%Delta_max = AReg%delta
+           AReg%Delta_min = AReg%delta
+         end if
+    end do
+
+    Reg%npoints = nsteps
+
+   end subroutine Ranges_Add
+
+
+   subroutine Ranges_Write(Reg) 
+      Type(Regions), intent(in), target :: Reg
+      Type(Region), pointer :: AReg
+      integer i
+
+      do i=1,Reg%count
+          AReg => Reg%R(i)
+          if (AReg%IsLog) then
+           Write (*,'("Range ",I3,":", 3E14.4," log")') i, AReg%Low, AReg%High, AReg%delta 
+          else
+           Write (*,'("Range ",I3,":", 3E14.4," linear")') i, AReg%Low, AReg%High, AReg%delta 
+          end if
+      end do
+   end subroutine Ranges_Write
+
+
+ end module Ranges
+
+
+ module Lists
+  !Currently implements lists of strings and lists of arrays of reals
+  implicit none
+
+  type real_pointer
+    real, dimension(:), pointer :: p 
+  end type real_pointer
+
+  type double_pointer
+    double precision, dimension(:), pointer :: p 
+  end type double_pointer
+
+  type String_pointer
+    character, dimension(:), pointer :: p
+  end type String_pointer
+
+
+  Type TList_RealArr
+    integer Count
+    integer Delta
+    integer Capacity
+    type(Real_Pointer), dimension(:), pointer :: Items 
+  end Type TList_RealArr
+
+  Type TStringList
+    integer Count
+    integer Delta
+    integer Capacity 
+    type(String_Pointer), dimension(:), pointer :: Items
+  end Type TStringList
+
+ contains
+ 
+   subroutine TList_RealArr_Init(L)
+    Type (TList_RealArr) :: L
+    
+     L%Count = 0
+     L%Capacity = 0
+     L%Delta = 1024
+     nullify(L%items)
+
+   end subroutine TList_RealArr_Init
+
+   subroutine TList_RealArr_Clear(L)
+    Type (TList_RealArr) :: L
+    integer i, status
+     
+     do i=L%Count,1,-1 
+       deallocate (L%Items(i)%P, stat = status)
+     end do
+    deallocate (L%Items, stat = status)
+    nullify(L%Items)
+    L%Count = 0
+    L%Capacity = 0
+
+   end subroutine TList_RealArr_Clear
+
+    
+   subroutine TList_RealArr_Add(L, P)
+    Type (TList_RealArr) :: L
+    real, intent(in) :: P(:)
+    integer s
+  
+    if (L%Count == L%Capacity) call TList_RealArr_SetCapacity(L, L%Capacity + L%Delta)
+    s = size(P)
+    L%Count = L%Count + 1
+    allocate(L%Items(L%Count)%P(s))
+    L%Items(L%Count)%P = P
+
+   end subroutine TList_RealArr_Add
+
+   subroutine TList_RealArr_SetCapacity(L, C)
+    Type (TList_RealArr) :: L
+    integer C
+    type(Real_Pointer), dimension(:), pointer :: TmpItems
+    
+    if (L%Count > 0) then
+      if (C < L%Count) stop 'TList_RealArr_SetCapacity: smaller than Count'
+      allocate(TmpItems(L%Count))
+      TmpItems = L%Items(1:L%Count)
+      deallocate(L%Items)
+      allocate(L%Items(C))
+      L%Items(1:L%Count) = TmpItems
+      deallocate(TmpItems)
+    else
+     allocate(L%Items(C))
+    end if  
+    L%Capacity = C
+   end subroutine TList_RealArr_SetCapacity
+
+   subroutine TList_RealArr_Delete(L, i)
+    Type (TList_RealArr) :: L
+    integer, intent(in) :: i
+    integer status
+     
+     deallocate(L%items(i)%P, stat = status)
+     if (L%Count > 1) L%Items(i:L%Count-1) = L%Items(i+1:L%Count)
+     L%Count = L%Count -1
+     
+   end subroutine TList_RealArr_Delete
+
+   subroutine TList_RealArr_SaveBinary(L,fid)
+    Type (TList_RealArr) :: L
+    integer, intent(in) :: fid
+    integer i
+     
+      write (fid) L%Count
+      do i=1,L%Count
+       write(fid) size(L%Items(i)%P)
+       write(fid) L%Items(i)%P
+      end do
+
+   end subroutine TList_RealArr_SaveBinary
+
+   subroutine TList_RealArr_ReadBinary(L,fid)
+    Type (TList_RealArr) :: L
+    integer, intent(in) :: fid
+    integer num,i,sz
+     
+      call TList_RealArr_Clear(L) 
+      read (fid) num
+      call TList_RealArr_SetCapacity(L, num)
+      do i=1,num
+       read(fid) sz
+       allocate(L%Items(i)%P(sz))
+       read(fid) L%Items(i)%P
+      end do
+      L%Count = num
+
+   end subroutine TList_RealArr_ReadBinary
+
+
+   subroutine TList_RealArr_Thin(L, i)
+    Type (TList_RealArr) :: L
+    integer, intent(in) :: i
+    integer newCount
+    type(Real_Pointer), dimension(:), pointer :: TmpItems
+    
+    if (L%Count > 1) then
+      newCount = (L%Count-1)/i+1
+      allocate(TmpItems(newCount))
+      TmpItems = L%Items(1:L%Count:i)
+      deallocate(L%Items)
+      L%Capacity = newCount
+      allocate(L%Items(L%Capacity))
+      L%Items = TmpItems
+      L%Count = newCount
+      deallocate(TmpItems)
+    end if    
+   end subroutine TList_RealArr_Thin
+
+   subroutine TList_RealArr_ConfidVal(L, ix, limfrac, ix1, ix2, Lower, Upper)
+   !Taking the ix'th entry in each array to be a sample, value for which
+   !limfrac of the items between ix1 and ix2 (inc) are above or below
+   !e.g. if limfrac = 0.05 get two tail 90% confidence limits
+     Type (TList_RealArr) :: L
+     integer, intent(IN) :: ix
+     real, intent(IN) :: limfrac
+     real, intent(OUT), optional :: Lower, Upper
+     integer, intent(IN), optional :: ix1,ix2
+     integer b,t,samps
+     real pos, d
+     type(Real_Pointer), dimension(:), pointer :: SortItems
+    
+     b=1
+     t=L%Count
+     if (present(ix1)) b = ix1
+     if (present(ix2)) t = ix2
+     samps = t - b + 1
+  
+     allocate(SortItems(samps))
+     SortItems = L%Items(b:t)
+     call QuickSortArr_Real(SortItems, 1, samps, ix)
+     if (present(Lower)) then
+       pos = (samps-1)*limfrac + 1 
+       b = max(int(pos),1)
+       Lower = SortItems(b)%P(ix)
+      if (b < samps .and. pos>b) then
+       d = pos - b
+       Lower = Lower*(1 - d) + d * SortItems(b+1)%P(ix) 
+      end if
+     end if
+     if (present(Upper)) then
+      pos = (samps-1)*(1.-limfrac) + 1
+      b = max(int(pos),1)
+      Upper = SortItems(b)%P(ix)
+      if (b < samps .and. pos>b) then
+       d = pos - b
+       Upper = Upper*(1 - d) + d * SortItems(b+1)%P(ix) 
+      end if
+     end if
+   
+     deallocate(SortItems)
+
+    end subroutine TList_RealArr_ConfidVal
+
+   subroutine TStringList_Init(L)
+    Type (TStringList) :: L
+    
+     L%Count = 0
+     L%Capacity = 0
+     L%Delta = 128
+     nullify(L%items)
+     
+   end subroutine TStringList_Init
+
+   subroutine TStringList_Clear(L)
+    Type (TStringList) :: L
+    integer i, status
+     
+     do i=L%Count,1,-1 
+       deallocate (L%Items(i)%P, stat = status)
+     end do
+    deallocate (L%Items, stat = status)
+    call TStringList_Init(L)
+
+   end subroutine TStringList_Clear
+
+   subroutine TStringList_SetFromString(L, S, valid_chars_in)
+    Type (TStringList) :: L
+    character(Len=*), intent(in) :: S
+    character(Len=*), intent(in), optional :: valid_chars_in
+    character(LEN=1024) item
+    integer i,j
+    character(LEN=256) valid_chars
+    
+    if (present(valid_chars_in)) then
+       valid_chars = valid_chars_in
+    else
+       valid_chars='abcdefghijklmopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ0123456789_-.'
+    endif
+
+     call TStringList_Clear(L)
+     item ='' 
+     j=0
+     do i=1, len_trim(S)
+        if (verify(S(i:i),trim(valid_chars)) == 0) then
+          j=j+1
+          item(j:j) = S(i:i)
+        else
+          if (trim(S(i:i))/='') then
+           write (*,*) 'Invalid character in: '//trim(S)
+          end if 
+          if (j>0) call TStringList_Add(L, item(1:j))
+          j=0
+        end if          
+     end do
+     if (j>0) call TStringList_Add(L, item(1:j))
+   
+   end subroutine TStringList_SetFromString
+
+
+    
+   subroutine TStringList_Add(L, P)
+    Type (TStringList) :: L
+    character(LEN=*), intent(in) :: P
+    integer s,i
+  
+    if (L%Count == L%Capacity) call TStringList_SetCapacity(L, L%Capacity + L%Delta)
+    s = len_trim(P)
+    L%Count = L%Count + 1
+    allocate(L%Items(L%Count)%P(s))
+    do i=1,s
+    L%Items(L%Count)%P(i) = P(i:i)
+    end do
+   end subroutine TStringList_Add
+
+   function TStringList_Item(L, i) result(S)
+    Type (TStringList) :: L
+    integer, intent(in) :: i
+    integer j
+    character(LEN=1024) S
+
+    S=''
+    if (i<=L%Count .and. i>0) then
+     do j=1,size(L%Items(i)%P)
+       S(j:j)=L%Items(i)%P(j)       
+     end do
+    end if
+   end function TStringList_Item
+
+   subroutine TStringList_SetCapacity(L, C)
+    Type (TStringList) :: L
+    integer C
+    type(String_Pointer), dimension(:), pointer :: TmpItems
+    
+    if (L%Count > 0) then
+      if (C < L%Count) stop 'TStringList_SetCapacity: smaller than Count'
+      allocate(TmpItems(L%Count))
+      TmpItems = L%Items(1:L%Count)
+      deallocate(L%Items)
+      allocate(L%Items(C))
+      L%Items(1:L%Count) = TmpItems
+      deallocate(TmpItems)
+    else
+     allocate(L%Items(C))
+    end if  
+    L%Capacity = C
+  
+   end subroutine TStringList_SetCapacity
+
+   subroutine TStringList_Delete(L, i)
+    Type (TStringList) :: L
+    integer, intent(in) :: i
+    integer status
+     
+     deallocate(L%items(i)%P, stat = status)
+     if (L%Count > 1) L%Items(i:L%Count-1) = L%Items(i+1:L%Count)
+     L%Count = L%Count -1
+     
+   end subroutine TStringList_Delete
+
+   function TStringList_IndexOf(L, S)
+    Type (TStringList) :: L
+    character(LEN=*), intent(in) :: S
+    integer TStringList_IndexOf, i, j,slen
+
+    slen = len_trim(S)
+    do i=1,L%Count
+     if ( size(L%Items(i)%P)==slen) then
+ !Yes, comparing strings and pointer strings really is this horrible...
+       j=1
+       do while (L%Items(i)%P(j)==S(j:j)) 
+          j=j+1
+          if (j>slen) then
+            TStringList_IndexOf = i
+            return         
+          end if
+       end do
+     end if
+    end do
+    TStringList_IndexOf=-1
+     
+   end function TStringList_IndexOf
+
+
+      recursive subroutine QuickSortArr_Real(Arr, Lin, R, index)
+      !Sorts an array of pointers to arrays of reals by the value of the index'th entry
+      integer, intent(in) :: Lin, R, index
+#ifdef __GFORTRAN__
+      type(real_pointer), dimension(:) :: Arr
+#else
+      type(real_pointer), dimension(*) :: Arr
+#endif
+      integer I, J, L
+      real P
+      type(real_pointer) :: temp
+  
+      L = Lin
+      do
+
+      I = L
+      J = R
+      P = Arr((L + R)/2)%p(index)
+   
+      do
+      do while (Arr(I)%p(index) <  P) 
+         I = I + 1
+      end do
+    
+      do while (Arr(J)%p(index) > P) 
+         J = J - 1
+      end do
+
+      if (I <= J) then
+     
+       Temp%p => Arr(I)%p
+       Arr(I)%p => Arr(J)%p
+       Arr(J)%p => Temp%p
+       I = I + 1
+       J = J - 1
+      end if
+      if (I > J) exit
+      
+      end do
+    if (L < J) call QuickSortArr_Real(Arr, L, J, index);
+    L = I
+    if (I >= R) exit
+    end do
+
+    end subroutine QuickSortArr_Real
+
+
+
+    recursive subroutine QuickSortArr(Arr, Lin, R, index)
+      !Sorts an array of pointers to arrays of reals by the value of the index'th entry
+      integer, intent(in) :: Lin, R, index
+#ifdef __GFORTRAN__
+      type(double_pointer), dimension(:) :: Arr
+#else
+      type(double_pointer), dimension(*) :: Arr
+#endif
+      integer I, J, L
+      double precision P
+      type(double_pointer) :: temp
+  
+      L = Lin
+      do
+
+      I = L
+      J = R
+      P = Arr((L + R)/2)%p(index)
+   
+      do
+      do while (Arr(I)%p(index) <  P) 
+         I = I + 1
+      end do
+    
+      do while (Arr(J)%p(index) > P) 
+         J = J - 1
+      end do
+
+      if (I <= J) then
+     
+       Temp%p => Arr(I)%p
+       Arr(I)%p => Arr(J)%p
+       Arr(J)%p => Temp%p
+       I = I + 1
+       J = J - 1
+      end if
+      if (I > J) exit
+      
+      end do
+    if (L < J) call QuickSortArr(Arr, L, J, index);
+    L = I
+    if (I >= R) exit
+    end do
+
+    end subroutine QuickSortArr
+
+
+ end module Lists
+
+  module AMLutils
+  use Lists
+       
+#ifdef DECONLY
+   !Comment out if linking to LAPACK/MKL separetly 
+   !CXML only has LAPACK 2.0
+    include 'CXML_INCLUDE.F90'
+#endif
+ 
+
+#ifdef NAGF95
+        use F90_UNIX
+#endif
+
+     implicit none
+
+#ifndef NAGF95
+#ifndef GFC
+#ifndef __INTEL_COMPILER_BUILD_DATE
+#ifndef __GFORTRAN__
+        integer iargc
+        external iargc
+#endif        
+#endif
+#endif
+#endif
+
+
+#ifdef MPI
+    include "mpif.h"
+#endif
+
+  integer :: Feedback = 1
+  integer, parameter :: tmp_file_unit = 50
+
+
+  double precision, parameter :: pi=3.14159265358979323846264338328d0, &
+      twopi=2*pi, fourpi=4*pi
+  double precision, parameter :: root2 = 1.41421356237309504880168872421d0, sqrt2 = root2
+  double precision, parameter :: log2 = 0.693147180559945309417232121458d0
+
+  real, parameter :: pi_r = 3.141592653, twopi_r = 2*pi_r, fourpi_r = twopi_r*2
+
+  logical :: flush_write = .true.
+    !True means no data lost on crashes, but may make it slower
+    
+  integer, parameter :: file_units_start = 20
+  integer, parameter :: file_units_end = 100
+  
+  logical file_units(file_units_start:file_units_end)
+
+  INTERFACE CONCAT
+    module procedure concat_s, concat_s_n
+  END INTERFACE
+  
+  INTERFACE RealToStr
+   module procedure SingleToStr, DoubleToStr
+  END INTERFACE RealToStr
+
+  contains
+
+ function new_file_unit()
+  integer i, new_file_unit
+  logical, save :: file_units_inited = .false.
+  logical notfree
+ 
+  if (.not. file_units_inited) then
+   file_units = .false.
+   file_units_inited = .true.
+  end if
+ 
+  do i=file_units_start, file_units_end
+   if (.not. file_units(i) .and. i/=tmp_file_unit) then
+    inquire(i,opened=notfree)
+    if (notfree) cycle
+    file_units(i)=.true.
+    new_file_unit = i
+    return
+   end if
+  end do 
+  
+  call mpiStop('No unused file unit numbers')
+  
+ end function new_file_unit
+
+
+ subroutine CloseFile(i)
+  integer, intent(in) :: i
+  
+  close(i)
+  file_units(i) = .false.
+    
+ end subroutine CloseFile 
+
+ subroutine ClearFileUnit(i)
+  integer, intent(in) :: i
+  
+  file_units(i) = .false.
+    
+ end subroutine ClearFileUnit
+
+  function GetParamCount()
+   integer GetParamCount
+ 
+    GetParamCount = iargc() 
+
+  end function GetParamCount
+
+  function GetMpiRank()
+  integer GetMpiRank
+#ifdef MPI 
+   integer ierror
+   call mpi_comm_rank(mpi_comm_world,GetMPIrank,ierror)
+#else
+    GetMpiRank=0
+#endif    
+   
+  end function GetMpiRank
+
+  function IsMainMPI()
+   logical IsMainMPI
+
+   IsMainMPI =  GetMpiRank() == 0
+   
+  end function IsMainMPI
+
+  subroutine MpiStop(Msg)
+   character(LEN=*), intent(in), optional :: Msg
+   integer i
+#ifdef MPI 
+   integer ierror, MpiRank
+#endif
+
+   if (present(Msg)) write(*,*) trim(Msg)
+   
+#ifdef MPI
+    call mpi_comm_rank(mpi_comm_world,MPIrank,ierror)
+    write (*,*) 'MpiStop: ', MpiRank
+    call MPI_ABORT(MPI_COMM_WORLD,i)
+#endif
+    i=1     !put breakpoint on this line to debug
+    stop
+    
+ end subroutine MpiStop
+ 
+   subroutine MpiStat(MpiID, MpiSize)
+   implicit none
+   integer MpiID,MpiSize  
+#ifdef MPI  
+   integer ierror
+        call mpi_comm_rank(mpi_comm_world,MpiID,ierror)
+        if (ierror/=MPI_SUCCESS) stop 'MpiStat: MPI rank'
+        call mpi_comm_size(mpi_comm_world,MpiSize,ierror)
+#else
+  MpiID=0
+  MpiSize=1   
+#endif
+  end subroutine MpiStat
+                  
+  subroutine MpiQuietWait
+  !Set MPI thread to sleep, e.g. so can run openmp on cpu instead
+#ifdef MPI  
+     integer flag, ierr, STATUS(MPI_STATUS_SIZE)
+     integer i, MpiId, MpiSize
+       
+     call MpiStat(MpiID, MpiSize)
+     if (MpiID/=0) then  
+      do
+       call MPI_IPROBE(0,0,MPI_COMM_WORLD,flag, MPI_STATUS_IGNORE,ierr)
+       if (flag/=0) then
+             call MPI_RECV(i,1,MPI_INTEGER, 0,0,MPI_COMM_WORLD,status,ierr)
+             exit
+       end if
+       call sleep(1)
+      end do
+     end if 
+#endif
+  end subroutine
+  
+  subroutine MpiWakeQuietWait
+#ifdef MPI  
+    integer j, MpiId, MpiSize, ierr,r
+       
+     call MpiStat(MpiID, MpiSize)
+     if (MpiID==0) then
+     do j=1, MpiSize-1              
+           call MPI_ISSEND(MpiId,1,MPI_INTEGER, j,0,MPI_COMM_WORLD,r,ierr)
+     end do  
+     end if
+#endif
+  end subroutine MpiWakeQuietWait
+ 
+#ifdef __GFORTRAN__
+  
+  ! ===========================================================
+  function iargc ()
+    ! ===========================================================
+    integer iargc
+    ! ===========================================================
+    
+    iargc=command_argument_count()
+  end function iargc
+  
+  ! ===========================================================
+  subroutine getarg(num, res)
+    ! ===========================================================
+    integer, intent(in) :: num
+    character(len=*), intent(out) :: res
+    integer l, err
+    ! ===========================================================
+    call get_command_argument(num,res,l,err)
+  end subroutine getarg
+  
+#endif
+
+
+  function GetParam(i)
+
+   character(LEN=512) GetParam
+   integer, intent(in) :: i
+ 
+   if (iargc() < i) then
+     GetParam = ''
+   else
+    call getarg(i,GetParam)
+   end if
+  end function GetParam
+
+  function concat_s(S1,S2,S3,S4,S5,S6,S7,S8) result(concat)
+   character(LEN=*), intent(in) :: S1, S2
+   character(LEN=*), intent(in) , optional :: S3, S4, S5, S6,S7,S8
+   character(LEN = 1000) concat
+
+   concat = trim(S1) // S2
+   if (present(S3)) then
+    concat = trim(concat) // S3
+     if (present(S4)) then
+       concat = trim(concat) // S4
+       if (present(S5)) then
+         concat = trim(concat) // S5
+           if (present(S6)) then
+             concat = trim(concat) // S6
+              if (present(S7)) then
+                concat = trim(concat) // S7
+                if (present(S8)) then
+                  concat = trim(concat) // S8
+                end if
+              end if    
+           end if
+       end if
+     end if
+   end if
+
+  end function concat_s
+
+ function concat_s_n(SS1,N2,SS3,N4,SS5,N6,SS7,N8,SS9,N10,SS11) result(concat)
+   character(LEN=*), intent(in) :: SS1
+   integer, intent(in) :: N2
+   character(LEN=*), intent(in) , optional :: SS3, SS5, SS7, SS9,SS11
+   integer, intent(in), optional ::N4,N6,N8, N10
+   character(LEN = 1000) concat
+   
+   concat = trim(SS1) //trim(IntToStr(N2))
+     if (present(SS3)) then
+    concat = trim(concat) // SS3
+     if (present(N4)) then
+       concat = trim(concat) // trim(IntToStr(N4))
+       if (present(SS5)) then
+         concat = trim(concat) // SS5
+           if (present(N6)) then
+             concat = trim(concat) // trim(intToStr(N6))
+             if (present(SS7)) then
+             concat = trim(concat) // SS7
+              if (present(N8)) then
+               concat = trim(concat) // trim(intToStr(N8))
+              if (present(SS9)) then
+               concat = trim(concat) // SS9
+                if (present(N10)) then
+                concat = trim(concat) // trim(intToStr(N10))
+                  if (present(SS11)) then
+                   concat = trim(concat) // SS11
+                  end if
+                end if
+              end if       
+           end if
+       end if
+     end if
+   end if
+   end if
+   end if
+   
+ end  function concat_s_n
+
+  subroutine Exchange(i1,i2)
+   integer i1,i2,tmp
+ 
+   tmp=i1
+   i1=i2
+   i2=tmp
+
+  end subroutine Exchange
+
+  subroutine WriteS(S)
+   character(LEN=*), intent(in) :: S
+
+    write (*,*) trim(S)
+ 
+  end subroutine WriteS
+
+  subroutine StringReplace(FindS, RepS, S)
+   character(LEN=*), intent(in) :: FindS, RepS
+   character(LEN=*), intent(inout) :: S
+   integer i
+   
+   i = index(S,FindS)
+   if (i>0) then
+     S = S(1:i-1)//trim(RepS)//S(i+len_trim(FindS):len_trim(S))
+   end if
+
+  end subroutine StringReplace
+
+  function numcat(S, num)
+   character(LEN=*) S
+   character(LEN=1024) numcat, numstr
+   integer num
+
+   write (numstr, *) num
+   numcat = trim(S) // trim(adjustl(numstr))
+   !OK, so can probably do with with a format statement too... 
+  end function numcat
+
+  function LogicalToint(B)
+   integer LogicalToint
+   logical, intent(in) :: B
+   
+   if (B) then
+    LogicalToInt=1
+   else
+    LogicalToint=0
+   end if  
+   
+  end function LogicalToInt
+ 
+  function IntToLogical(I)
+   integer, intent(in) :: I
+   logical IntToLogical
+   
+   IntToLogical = I /= 0
+   
+  end  function IntToLogical
+ 
+  function IntToStr(I, minlen)
+   integer , intent(in) :: I
+   character(LEN=30) IntToStr
+   integer, intent(in), optional :: minlen
+   integer n
+   character (LEN=20) :: form
+
+   if (present(minlen)) then
+    n = minlen
+    if (I<0) n=n+1
+    form = concat('(I',n,'.',minlen,')')
+    write (IntToStr,form) i
+   else
+    write (IntToStr,*) i
+    IntToStr = adjustl(IntToStr)
+   end if
+
+ 
+  end function IntToStr
+
+  function StrToInt(S)
+   integer :: StrToInt
+   character(LEN=30), intent(in) :: S
+
+   read (S,*) StrToInt
+  end function StrToInt
+
+   function DoubleToStr(R, figs)
+      double precision, intent(in) :: R
+      integer, intent(in), optional :: figs
+      character(LEN=30) DoubleToStr
+  
+   DoubleToStr = SingleToStr(real(R),figs)
+      
+   end function DoubleToStr
+   
+   function SingleToStr(R, figs)
+   real, intent(in) :: R
+   integer, intent(in), optional :: figs
+   character(LEN=30) SingleToStr
+
+    if (abs(R)>=0.001 .or. R==0.) then
+     write (SingleToStr,'(f12.6)') R
+
+   SingleToStr = adjustl(SingleToStr)
+   if (present(figs)) then
+    SingleToStr = SingleToStr(1:figs)
+   else
+    SingleToStr = SingleToStr(1:6)  
+   end if
+
+    else
+     if (present(figs)) then
+      write (SingleToStr,trim(numcat('(E',figs))//'.2)') R
+     else
+      write (SingleToStr,'(G9.2)') R
+     end if
+     SingleToStr = adjustl(SingleToStr)
+    end if
+
+   end function SingleToStr
+  
+   subroutine WriteFormatInts(unit, formatst, i1,i2,i3,i4)
+     integer, intent(in) :: unit
+     character(LEN=*), intent(in) :: formatst
+     integer, intent(in) :: i1
+     integer, intent(in),optional :: i2,i3,i4
+     character(LEN=1024*16) S
+     
+     S = formatst
+     call StringReplace('%u', IntToStr(i1), S)
+     if (present(i2)) call StringReplace('%u', IntToStr(i2), S)
+     if (present(i3)) call StringReplace('%u', IntToStr(i3), S)
+     if (present(i4)) call StringReplace('%u', IntToStr(i4), S)
+
+     write(unit,'(a)') trim(S)
+   end subroutine WriteFormatInts
+   
+  function IndexOf(aval,arr, n)
+     integer, intent(in) :: n, arr(n), aval
+     integer IndexOf, i
+
+     do i=1,n
+        if (arr(i)==aval) then
+          IndexOf= i
+          return
+        end if
+     end do
+    IndexOf = 0
+
+  end function IndexOf
+
+  function MaxIndex(arr, n)
+     integer, intent(in) :: n
+     real, intent(in) :: arr(n)
+     integer locs(1:1), MaxIndex
+
+     locs = maxloc(arr(1:n))
+     MaxIndex = locs(1)
+
+  end function MaxIndex
+
+ 
+  function MinIndex(arr, n)
+     integer, intent(in) :: n
+     real, intent(in) :: arr(n)
+     integer locs(1:1), MinIndex
+
+     locs = minloc(arr(1:n))
+     MinIndex = locs(1)
+
+  end function MinIndex
+
+
+   subroutine TList_RealArr_SaveToFile(L,fname)
+    character(LEN=*), intent(IN) :: fname
+    Type (TList_RealArr) :: L
+    character(LEN=20) aform
+    integer i
+    integer :: Plen = -1
+    integer :: file_id
+
+    file_id = new_file_unit()
+    call CreateTxtFile(fname,file_id)
+    do i=1, L%Count 
+     if (PLen /= size(L%Items(i)%P)) then
+      PLen = size(L%Items(i)%P)
+      aform = '('//trim(IntToStr(PLen))//'E16.8)'
+     end if 
+     write (file_id,aform) L%Items(i)%P
+    end do
+    call CloseFile(file_id)   
+
+   end subroutine TList_RealArr_SaveToFile
+
+
+  function ExtractFilePath(aname)
+    character(LEN=*), intent(IN) :: aname
+    character(LEN=1024) ExtractFilePath
+    integer len, i
+
+    len = len_trim(aname)
+    do i = len, 1, -1
+       if (aname(i:i)=='/') then
+          ExtractFilePath = aname(1:i)
+          return
+       end if
+    end do
+    ExtractFilePath = ''
+
+  end function ExtractFilePath
+
+  function ExtractFileExt(aname)
+    character(LEN=*), intent(IN) :: aname
+    character(LEN=120) ExtractFileExt
+    integer len, i
+
+    len = len_trim(aname)
+    do i = len, 1, -1
+       if (aname(i:i)=='/') then
+          ExtractFileExt = ''
+          return
+       else if (aname(i:i)=='.') then
+          ExtractFileExt= aname(i:len)   
+          return
+       end if
+    end do
+    ExtractFileExt = ''
+
+  end function ExtractFileExt
+
+
+ function ExtractFileName(aname)
+    character(LEN=*), intent(IN) :: aname
+    character(LEN=1024) ExtractFileName
+    integer len, i
+
+    len = len_trim(aname)
+    do i = len, 1, -1
+       if (aname(i:i)=='/') then
+          ExtractFileName = aname(i+1:len)
+          return
+       end if
+    end do
+    ExtractFileName = aname
+
+  end function ExtractFileName
+
+ function ChangeFileExt(aname,ext)
+    character(LEN=*), intent(IN) :: aname,ext
+    character(LEN=1024) ChangeFileExt
+    integer len, i
+
+    len = len_trim(aname)
+    do i = len, 1, -1
+       if (aname(i:i)=='.') then
+          ChangeFileExt = aname(1:i) // trim(ext)
+          return
+       end if
+    end do
+    ChangeFileExt = trim(aname) // '.' // trim(ext)
+
+  end function ChangeFileExt
+
+
+  function CheckTrailingSlash(aname)
+     character(LEN=*), intent(in) :: aname
+     character(LEN=1024) CheckTrailingSlash
+     integer len
+     
+     len = len_trim(aname)
+#ifdef IBMXL
+     if (aname(len:len) /= '\\' .and. aname(len:len) /= '/') then
+#else
+#ifdef ESCAPEBACKSLASH
+     if (aname(len:len) /= '\\' .and. aname(len:len) /= '/') then
+#else
+     if (aname(len:len) /= '\' .and. aname(len:len) /= '/') then
+#endif
+#endif
+      CheckTrailingSlash = trim(aname)//'/'
+     else
+      CheckTrailingSlash = aname
+     end if 
+
+
+  end  function CheckTrailingSlash
+
+
+  subroutine DeleteFile(aname)
+    character(LEN=*), intent(IN) :: aname
+    integer file_id 
+
+     if (FileExists(aname)) then
+      file_id = new_file_unit()
+      open(unit = file_id, file = aname, err = 2)
+      close(unit = file_id, status = 'DELETE')
+ 2    file_units(file_id) = .false.
+     end if
+     
+  end subroutine DeleteFile
+
+
+  subroutine FlushFile(aunit)
+#ifdef __INTEL_COMPILER_BUILD_DATE
+  USE IFPORT
+#endif
+    integer, intent(IN) :: aunit
+
+
+#ifdef IBMXL
+     call flush_(aunit)
+#else
+     call flush(aunit)
+#endif
+    
+  end subroutine FlushFile
+
+
+  function FileExists(aname)
+    character(LEN=*), intent(IN) :: aname
+    logical FileExists
+        
+        inquire(file=aname, exist = FileExists)
+
+  end function FileExists
+
+ subroutine OpenFile(aname, aunit,mode)
+   character(LEN=*), intent(IN) :: aname,mode
+   integer, intent(in) :: aunit
+
+
+   open(unit=aunit,file=aname,form=mode,status='old', action='read', err=500)
+   return
+
+500 call MpiStop('File not found: '//trim(aname))
+    
+
+ end subroutine OpenFile
+ 
+ 
+ subroutine OpenTxtFile(aname, aunit)
+   character(LEN=*), intent(IN) :: aname
+   integer, intent(in) :: aunit
+
+   call OpenFile(aname,aunit,'formatted')
+ 
+ end subroutine OpenTxtFile
+
+subroutine CreateOpenTxtFile(aname, aunit, append)
+   character(LEN=*), intent(IN) :: aname
+   integer, intent(in) :: aunit
+   logical, optional, intent(in) :: append
+   logical A
+
+   if (present(append)) then
+      A=append
+   else
+      A = .false.
+   endif
+
+   call CreateOpenFile(aname,aunit,'formatted',A)
+
+ end subroutine CreateOpenTxtFile
+
+
+ subroutine CreateTxtFile(aname, aunit)
+    character(LEN=*), intent(IN) :: aname
+   integer, intent(in) :: aunit
+
+   call CreateFile(aname,aunit,'formatted')
+
+ end subroutine CreateTxtFile
+
+ 
+ subroutine CreateFile(aname, aunit,mode)
+    character(LEN=*), intent(IN) :: aname,mode
+   integer, intent(in) :: aunit
+
+     open(unit=aunit,file=aname,form=mode,status='replace', err=500)
+
+   return
+
+500 call MpiStop('Error creating file '//trim(aname))
+    
+
+ end subroutine CreateFile
+
+ subroutine CreateOpenFile(aname, aunit,mode, append)
+    character(LEN=*), intent(IN) :: aname,mode
+   integer, intent(in) :: aunit
+   logical, optional, intent(in) :: append
+   logical A
+
+   if (present(append)) then
+      A=append
+   else
+      A = .false.
+   endif
+
+   if (A) then
+     open(unit=aunit,file=aname,form=mode,status='unknown', err=500, position='append')
+   else
+     open(unit=aunit,file=aname,form=mode,status='replace', err=500)
+   end if
+
+   return
+
+500 call MpiStop('Error creatinging or opening '//trim(aname))
+    
+
+ end subroutine CreateOpenFile
+
+ function TxtNumberColumns(InLine) result(n)
+   character(LEN=*) :: InLine
+   integer n,i
+   logical isNum    
+   
+   n=0
+   isNum=.false.
+   do i=1, len_trim(InLIne)
+    if (verify(InLine(i:i),'-+eE.0123456789') == 0) then
+      if (.not. IsNum) n=n+1
+      IsNum=.true.
+    else
+      IsNum=.false.     
+    end if
+   end do
+   
+ end function TxtNumberColumns
+ 
+  function TxtColumns(InLine) result(n)
+   character(LEN=*) :: InLine
+   integer n,i
+   logical isNum    
+   
+   n=0
+   isNum=.false.
+   do i=1, len_trim(InLine)
+    if (InLine(i:i) > char(32)) then
+      if (.not. IsNum) n=n+1
+      IsNum=.true.
+    else
+      IsNum=.false.     
+    end if
+   end do
+   
+ end function TxtColumns
+
+ function FileColumns(aunit) result(n)
+   integer, intent(in) :: aunit
+   integer n
+   character(LEN=4096*32) :: InLine
+
+   n=0
+   read(aunit,'(a)', end = 10) InLine
+   n = TxtNumberColumns(InLine)
+10 rewind aunit
+  
+ end function FileColumns
+
+ function FileLines(aunit) result(n)
+   integer, intent(in) :: aunit
+   integer n
+   character(LEN=4096) :: InLine
+
+   n=0
+   do
+
+   read(aunit,'(a)', end = 200) InLine
+   n = n+1
+   end do
+ 
+200 rewind aunit
+    
+
+ end function FileLines
+
+
+ function TopCommentLine(aname) result(res)
+    character(LEN=*), intent(IN) :: aname
+    integer file_id 
+    character(LEN=1024) :: InLine, res
+    
+    res = ''
+    file_id = new_file_unit()
+    call OpenTxtFile(aname, file_id)
+    InLine=''
+    do while (InLine /= '') 
+     read(file_id,'(a)', end = 10) InLine
+    end do
+    If (InLIne(1:1)=='#') then
+     res = InLine
+    end if
+
+10  call CloseFile(file_id)
+
+ end function TopCommentLine
+
+
+ function TxtFileColumns(aname) result(n)
+    character(LEN=*), intent(IN) :: aname
+    integer n, file_id 
+
+
+    file_id = new_file_unit()
+
+    call OpenTxtFile(aname, file_id)
+    n = FileColumns(file_id)
+    call CloseFile(file_id)
+
+ end function TxtFileColumns
+ 
+ 
+ function LastFileLine(aname)
+   character(LEN=*), intent(IN) :: aname
+   character(LEN = 5000) LastFileLine, InLine
+   integer  file_id 
+   
+   file_id = new_file_unit()
+ 
+   InLine = ''
+   call OpenTxtFile(aname,file_id)
+   do
+    read(file_id,'(a)', end = 200) InLine
+   end do
+ 
+200 call CloseFile(file_id)
+
+   LastFileLine = InLine
+ 
+ end function LastFileLine
+
+ subroutine writeArrayLine(unit, arr)
+  real, intent(in) :: arr(:)
+  integer, intent(in) :: unit
+  
+  write(unit,concat('(',size(arr),'E16.6)')) arr
+  
+ end subroutine writeArrayLine
+ 
+
+      subroutine spline_real(x,y,n,d2)
+      integer, intent(in) :: n
+      integer, parameter :: dp=KIND(1.0)
+      real(dp), intent(in) :: x(n), y(n)
+      real(dp), intent(out) :: d2(n)
+      real(dp), dimension(:), allocatable :: u
+      integer i
+      real(dp) xp,sig,xxdiv,d1l,d1r
+
+      allocate(u(1:n-1))
+
+      d2(1)=0._dp
+      u(1)=0._dp
+
+      d1r= (y(2)-y(1))/(x(2)-x(1))
+      do i=2,n-1
+        d1l=d1r
+        d1r=(y(i+1)-y(i))/(x(i+1)-x(i))
+        xxdiv=1._dp/(x(i+1)-x(i-1))
+        sig=(x(i)-x(i-1))*xxdiv
+        xp=1._dp/(sig*d2(i-1)+2._dp)
+        d2(i)=(sig-1._dp)*xp
+        u(i)=(6._dp*(d1r-d1l)*xxdiv-sig*u(i-1))*xp
+      end do
+
+      d2(n)=0._dp
+      do i=n-1,1,-1
+        d2(i)=d2(i)*d2(i+1)+u(i)
+      end do
+
+      deallocate(u)
+    end subroutine spline_real
+
+
+       subroutine spline_double(x,y,n,d2)
+      integer, intent(in) :: n
+      integer, parameter :: dp=KIND(1.d0)
+      real(dp), intent(in) :: x(n), y(n)
+      real(dp), intent(out) :: d2(n)
+      real(dp), dimension(:), allocatable :: u
+      integer i
+      real(dp) xp,sig,xxdiv,d1l,d1r
+
+      allocate(u(1:n-1))
+
+      d2(1)=0._dp
+      u(1)=0._dp
+
+      d1r= (y(2)-y(1))/(x(2)-x(1))
+      do i=2,n-1
+        d1l=d1r
+        d1r=(y(i+1)-y(i))/(x(i+1)-x(i))
+        xxdiv=1._dp/(x(i+1)-x(i-1))
+        sig=(x(i)-x(i-1))*xxdiv
+        xp=1._dp/(sig*d2(i-1)+2._dp)
+        d2(i)=(sig-1._dp)*xp
+        u(i)=(6._dp*(d1r-d1l)*xxdiv-sig*u(i-1))*xp
+      end do
+
+      d2(n)=0._dp
+      do i=n-1,1,-1
+        d2(i)=d2(i)*d2(i+1)+u(i)
+      end do
+
+      deallocate(u)
+    end subroutine spline_double
+
+
+      function DLGAMMA(x)
+       !Use Stirling generalization for large x
+       !See e.g. http://en.wikipedia.org/wiki/Stirling's_approximation
+       !Is accurate to at least 10 decimals, worse just about 30
+       double precision :: x
+       double precision:: DLGAMMA !approx log gamma
+       double precision, parameter :: const = .91893853320467274180d0 !log(2pi)/2
+   
+       if (x<32.d0) then
+        DLGAMMA = log(GAMMA(x))
+       else
+        DLGAMMA = (x-0.5d0)*log(x) - x + const +  &
+         1/12.d0/(1+x)*(1+1/(x+2)*(1+59.d0/30/(x+3)*(1+2.9491525423728813559d0/(x+4))))
+      end if
+      end function DLGAMMA
+
+
+      function LogGamma(x)
+        real LogGamma
+        real, intent(in) :: x
+        integer i, j
+        real r
+
+        i = nint(x*2)
+        if (abs(i-x*2) > 1e-4) call MpiStop('LogGamma function for half integral only')
+        if (mod(i,2) == 0) then
+           r=0
+           do j = 2, i/2-1
+              r = r + log(real(j))
+           end do
+           LogGamma = r
+        else
+           r = log(pi)/2
+           do j = 1, i-2 , 2
+             r = r+ log(j/2.0)
+           end do
+           LogGamma = r
+        end if
+
+      end function LogGamma
+
+    DOUBLE PRECISION FUNCTION GAMMA(X)
+!----------------------------------------------------------------------
+!
+! This routine calculates the GAMMA function for a real argument X.
+!   Computation is based on an algorithm outlined in reference 1.
+!   The program uses rational functions that approximate the GAMMA
+!   function to at least 20 significant decimal digits.  Coefficients
+!   for the approximation over the interval (1,2) are unpublished.
+!   Those for the approximation for X .GE. 12 are from reference 2.
+!   The accuracy achieved depends on the arithmetic system, the
+!   compiler, the intrinsic functions, and proper selection of the
+!   machine-dependent constants.
+!*******************************************************************
+!
+! Explanation of machine-dependent constants
+!
+! beta   - radix for the floating-point representation
+! maxexp - the smallest positive power of beta that overflows
+! XBIG   - the largest argument for which GAMMA(X) is representable
+!          in the machine, i.e., the solution to the equation
+!                  GAMMA(XBIG) = beta**maxexp
+! XINF   - the largest machine representable floating-point number;
+!          approximately beta**maxexp
+! EPS    - the smallest positive floating-point number such that
+!          1.0+EPS .GT. 1.0
+! XMININ - the smallest positive floating-point number such that
+!          1/XMININ is machine representable
+!
+!     Approximate values for some important machines are:
+!
+!                            beta       maxexp        XBIG
+!
+! CRAY-1         (S.P.)        2         8191        966.961
+! Cyber 180/855
+!   under NOS    (S.P.)        2         1070        177.803
+! IEEE (IBM/XT,
+!   SUN, etc.)   (S.P.)        2          128        35.040
+! IEEE (IBM/XT,
+!   SUN, etc.)   (D.P.)        2         1024        171.624
+! IBM 3033       (D.P.)       16           63        57.574
+! VAX D-Format   (D.P.)        2          127        34.844
+! VAX G-Format   (D.P.)        2         1023        171.489
+!
+!                            XINF         EPS        XMININ
+!
+! CRAY-1         (S.P.)   5.45E+2465   7.11E-15    1.84E-2466
+! Cyber 180/855
+!   under NOS    (S.P.)   1.26E+322    3.55E-15    3.14E-294
+! IEEE (IBM/XT,
+!   SUN, etc.)   (S.P.)   3.40E+38     1.19E-7     1.18E-38
+! IEEE (IBM/XT,
+!   SUN, etc.)   (D.P.)   1.79D+308    2.22D-16    2.23D-308
+! IBM 3033       (D.P.)   7.23D+75     2.22D-16    1.39D-76
+! VAX D-Format   (D.P.)   1.70D+38     1.39D-17    5.88D-39
+! VAX G-Format   (D.P.)   8.98D+307    1.11D-16    1.12D-308
+!
+!*******************************************************************
+!*******************************************************************
+!
+! Error returns
+!
+!  The program returns the value XINF for singularities or
+!     when overflow would occur.  The computation is believed
+!     to be free of underflow and overflow.
+!
+!
+!  Intrinsic functions required are:
+!
+!     INT, DBLE, EXP, LOG, REAL, SIN
+!
+!
+! References: "An Overview of Software Development for Special
+!              Functions", W. J. Cody, Lecture Notes in Mathemati,
+!              506, Numerical Analysis Dundee, 1975, G. A. Watson
+!              (ed.), Springer Verlag, Berlin, 1976.
+!
+!              Computer Approximations, Hart, Et. Al., Wiley and
+!              sons, New York, 1968.
+!
+!  Latest modification: October 12, 1989
+!
+!  Authors: W. J. Cody and L. Stoltz
+!           Applied Mathemati Division
+!           Argonne National Laboratory
+!           Argonne, IL 60439
+!
+!----------------------------------------------------------------------
+      INTEGER I,N
+      LOGICAL PARITY
+    DOUBLE PRECISION C,EPS,FACT,HALF,ONE,P,PI,Q,RES,SQRTPI,SUM,TWELVE, &
+         TWO,X,XBIG,XDEN,XINF,XMININ,XNUM,Y,Y1,YSQ,Z,ZERO
+      DIMENSION C(7),P(8),Q(8)
+!----------------------------------------------------------------------
+!  Mathematical constants
+!----------------------------------------------------------------------
+    DATA ONE,HALF,TWELVE,TWO,ZERO/1.0D0,0.5D0,12.0D0,2.0D0,0.0D0/, &
+        SQRTPI/0.9189385332046727417803297D0/, &
+        PI/3.1415926535897932384626434D0/
+!----------------------------------------------------------------------
+!  Machine dependent parameters
+!----------------------------------------------------------------------
+    DATA XBIG,XMININ,EPS/35.040D0,1.18D-38,1.19D-7/, &
+        XINF/3.4E38/
+!----------------------------------------------------------------------
+!  Numerator and denominator coefficients for rational minimax
+!     approximation over (1,2).
+!----------------------------------------------------------------------
+    DATA P/-1.71618513886549492533811E+0,2.47656508055759199108314E+1, &
+          -3.79804256470945635097577E+2,6.29331155312818442661052E+2, &
+          8.66966202790413211295064E+2,-3.14512729688483675254357E+4, &
+          -3.61444134186911729807069E+4,6.64561438202405440627855E+4/
+    DATA Q/-3.08402300119738975254353E+1,3.15350626979604161529144E+2, &
+         -1.01515636749021914166146E+3,-3.10777167157231109440444E+3, &
+           2.25381184209801510330112E+4,4.75584627752788110767815E+3, &
+         -1.34659959864969306392456E+5,-1.15132259675553483497211E+5/
+!----------------------------------------------------------------------
+! Coefficients for minimax approximation over (12, INF).
+!----------------------------------------------------------------------
+    DATA C/-1.910444077728D-03,8.4171387781295D-04, &
+        -5.952379913043012D-04,7.93650793500350248D-04, &
+        -2.777777777777681622553D-03,8.333333333333333331554247D-02, &
+         5.7083835261D-03/
+!----------------------------------------------------------------------
+!  Statement functions for conversion between integer and float
+!----------------------------------------------------------------------
+      PARITY = .FALSE.
+      FACT = ONE
+      N = 0
+      Y = X
+      IF (Y .LE. ZERO) THEN
+!----------------------------------------------------------------------
+!  Argument is negative
+!----------------------------------------------------------------------
+            Y = -X
+            Y1 = AINT(Y)
+            RES = Y - Y1
+            IF (RES .NE. ZERO) THEN
+                  IF (Y1 .NE. AINT(Y1*HALF)*TWO) PARITY = .TRUE.
+                  FACT = -PI / SIN(PI*RES)
+                  Y = Y + ONE
+               ELSE
+                  RES = XINF
+                  GO TO 900
+            END IF
+      END IF
+!----------------------------------------------------------------------
+!  Argument is positive
+!----------------------------------------------------------------------
+      IF (Y .LT. EPS) THEN
+!----------------------------------------------------------------------
+!  Argument .LT. EPS
+!----------------------------------------------------------------------
+            IF (Y .GE. XMININ) THEN
+                  RES = ONE / Y
+               ELSE
+                  RES = XINF
+                  GO TO 900
+            END IF
+         ELSE IF (Y .LT. TWELVE) THEN
+            Y1 = Y
+            IF (Y .LT. ONE) THEN
+!----------------------------------------------------------------------
+!  0.0 .LT. argument .LT. 1.0
+!----------------------------------------------------------------------
+                  Z = Y
+                  Y = Y + ONE
+               ELSE
+!----------------------------------------------------------------------
+!  1.0 .LT. argument .LT. 12.0, reduce argument if necessary
+!----------------------------------------------------------------------
+                  N = INT(Y) - 1
+                  Y = Y - REAL(N)
+                  Z = Y - ONE
+            END IF
+!----------------------------------------------------------------------
+!  Evaluate approximation for 1.0 .LT. argument .LT. 2.0
+!----------------------------------------------------------------------
+            XNUM = ZERO
+            XDEN = ONE
+            DO 260 I = 1, 8
+               XNUM = (XNUM + P(I)) * Z
+               XDEN = XDEN * Z + Q(I)
+  260       CONTINUE
+            RES = XNUM / XDEN + ONE
+            IF (Y1 .LT. Y) THEN
+!----------------------------------------------------------------------
+!  Adjust result for case  0.0 .LT. argument .LT. 1.0
+!----------------------------------------------------------------------
+                  RES = RES / Y1
+               ELSE IF (Y1 .GT. Y) THEN
+!----------------------------------------------------------------------
+!  Adjust result for case  2.0 .LT. argument .LT. 12.0
+!----------------------------------------------------------------------
+                  DO 290 I = 1, N
+                     RES = RES * Y
+                     Y = Y + ONE
+  290             CONTINUE
+            END IF
+         ELSE
+!----------------------------------------------------------------------
+!  Evaluate for argument .GE. 12.0,
+!----------------------------------------------------------------------
+            IF (Y .LE. XBIG) THEN
+                  YSQ = Y * Y
+                  SUM = C(7)
+                  DO 350 I = 1, 6
+                     SUM = SUM / YSQ + C(I)
+  350             CONTINUE
+                  SUM = SUM/Y - Y + SQRTPI
+                  SUM = SUM + (Y-HALF)*LOG(Y)
+                  RES = EXP(SUM)
+               ELSE
+                  RES = XINF
+                  GO TO 900
+            END IF
+      END IF
+!----------------------------------------------------------------------
+!  Final adjustments and return
+!----------------------------------------------------------------------
+      IF (PARITY) RES = -RES
+      IF (FACT .NE. ONE) RES = FACT / RES
+  900 GAMMA = RES
+
+      END FUNCTION GAMMA
+
+  subroutine SetIdlePriority
+#ifdef RUNIDLE
+    USE DFWIN
+    Integer dwPriority 
+    Integer CheckPriority
+
+    dwPriority = 64 ! idle priority
+    CheckPriority = SetPriorityClass(GetCurrentProcess(), dwPriority)
+#endif
+  end subroutine SetIdlePriority
+
+
+    subroutine GetThreeJs(thrcof,l2in,l3in,m2in,m3in)
+      !Recursive evaluation of 3j symbols. Does minimal error checking on input parameters.
+      implicit none
+      integer, parameter :: dl = KIND(1.d0)
+      integer, intent(in) :: l2in,l3in, m2in,m3in
+      real(dl), dimension(*) :: thrcof
+      INTEGER, PARAMETER :: i8 = selected_int_kind(18)
+      integer(i8) :: l2,l3,m2,m3
+      integer(i8) :: l1, m1, l1min,l1max, lmatch, nfin, a1, a2
+      
+      real(dl) :: newfac, oldfac, sumfor, c1,c2,c1old, dv, denom, x, sum1, sumuni
+      real(dl) :: x1,x2,x3, y,y1,y2,y3,sum2,sumbac, ratio,cnorm, sign1, thresh
+      integer i,ier, index, nlim, sign2
+      integer nfinp1,nfinp2,nfinp3, lstep, nstep2,n
+      real(dl), parameter :: zero = 0._dl, one = 1._dl
+      real(dl), parameter ::  tiny = 1.0d-30, srtiny=1.0d-15, huge = 1.d30, srhuge = 1.d15
+  
+    ! routine to generate set of 3j-coeffs (l1,l2,l3\\ m1,m2,m3)
+
+    ! by recursion from l1min = max(abs(l2-l3),abs(m1)) 
+    !                to l1max = l2+l3
+    ! the resulting 3j-coeffs are stored as thrcof(l1-l1min+1)
+
+    ! to achieve the numerical stability, the recursion will proceed
+    ! simultaneously forwards and backwards, starting from l1min and l1max
+    ! respectively.
+    !
+    ! lmatch is the l1-value at which forward and backward recursion are matched.
+    !
+    ! ndim is the length of the array thrcof
+    !
+    ! ier = -1 for all 3j vanish(l2-abs(m2)<0, l3-abs(m3)<0 or not integer)
+    ! ier = -2 if possible 3j's exceed ndim
+    ! ier >= 0 otherwise
+
+      l2=l2in
+      l3=l3in
+      m2=m2in
+      m3=m3in
+      newfac = 0
+      lmatch = 0
+      m1 = -(m2+m3)
+
+    ! check relative magnitude of l and m values
+      ier = 0
+ 
+      if (l2 < abs(m2) .or. l3 < m3) then
+      ier = -1
+      call MpiStop('error ier = -1')
+      return
+      end if
+
+    ! limits for l1
+      l1min = max(abs(l2-l3),abs(m1))
+      l1max = l2+l3
+
+      if (l1min >= l1max) then
+       if (l1min/=l1max) then
+       ier = -1
+        call MpiStop('error ier = -1')
+       return
+       end if
+
+    ! reached if l1 can take only one value, i.e.l1min=l1max
+      thrcof(1) = (-1)**abs(l2+m2-l3+m3)/sqrt(real(l1min+l2+l3+1,dl))
+      return
+
+      end if
+
+      nfin = l1max-l1min+1
+ 
+    ! starting forward recursion from l1min taking nstep1 steps
+      l1 = l1min
+      thrcof(1) = srtiny
+      sum1 = (2*l1 + 1)*tiny
+
+      lstep = 1
+
+30    lstep = lstep+1
+      l1 = l1+1
+
+      oldfac = newfac
+      a1 = (l1+l2+l3+1)*(l1-l2+l3)*(l1+l2-l3)
+      a2 = (l1+m1)*(l1-m1)*(-l1+l2+l3+1)
+      newfac = sqrt(a2*real(a1,dl))
+      if (l1 == 1) then
+         !IF L1 = 1  (L1-1) HAS TO BE FACTORED OUT OF DV, HENCE
+         c1 = -(2*l1-1)*l1*(m3-m2)/newfac
+      else
+
+       dv = -l2*(l2+1)*m1 + l3*(l3+1)*m1 + l1*(l1-1)*(m3-m2)
+       denom = (l1-1)*newfac
+
+       if (lstep > 2) c1old = abs(c1)
+       c1 = -(2*l1-1)*dv/denom
+
+      end if
+
+      if (lstep<= 2) then
+
+    ! if l1=l1min+1 the third term in the recursion eqn vanishes, hence
+       x = srtiny*c1
+       thrcof(2) = x
+       sum1 = sum1+tiny*(2*l1+1)*c1*c1
+       if(lstep==nfin) then
+          sumuni=sum1
+          go to 230
+       end if
+       goto 30
+
+      end if
+
+      c2 = -l1*oldfac/denom
+
+    ! recursion to the next 3j-coeff x  
+      x = c1*thrcof(lstep-1) + c2*thrcof(lstep-2)
+      thrcof(lstep) = x
+      sumfor = sum1
+      sum1 = sum1 + (2*l1+1)*x*x
+      if (lstep/=nfin) then
+
+    ! see if last unnormalised 3j-coeff exceeds srhuge
+      if (abs(x) >= srhuge) then
+     
+         ! REACHED IF LAST 3J-COEFFICIENT LARGER THAN SRHUGE
+         ! SO THAT THE RECURSION SERIES THRCOF(1), ... , THRCOF(LSTEP)
+         ! HAS TO BE RESCALED TO PREVENT OVERFLOW
+     
+         ier = ier+1
+         do i = 1, lstep
+            if (abs(thrcof(i)) < srtiny) thrcof(i)= zero
+            thrcof(i) = thrcof(i)/srhuge
+         end do
+
+         sum1 = sum1/huge
+         sumfor = sumfor/huge
+         x = x/srhuge
+
+      end if
+
+    ! as long as abs(c1) is decreasing, the recursion proceeds towards increasing
+    ! 3j-valuse and so is numerically stable. Once an increase of abs(c1) is 
+    ! detected, the recursion direction is reversed.
+
+     if (c1old > abs(c1)) goto 30
+
+     end if !lstep/=nfin
+
+    ! keep three 3j-coeffs around lmatch for comparison with backward recursion
+
+      lmatch = l1-1
+      x1 = x
+      x2 = thrcof(lstep-1)
+      x3 = thrcof(lstep-2)
+      nstep2 = nfin-lstep+3
+
+    ! --------------------------------------------------------------------------
+    !
+    ! starting backward recursion from l1max taking nstep2 stpes, so that
+    ! forward and backward recursion overlap at 3 points 
+    ! l1 = lmatch-1, lmatch, lmatch+1
+
+      nfinp1 = nfin+1
+      nfinp2 = nfin+2
+      nfinp3 = nfin+3
+      l1 = l1max
+      thrcof(nfin) = srtiny
+      sum2 = tiny*(2*l1+1)
+ 
+      l1 = l1+2
+      lstep=1
+
+      do
+      lstep = lstep + 1
+      l1= l1-1
+
+      oldfac = newfac
+      a1 = (l1+l2+l3)*(l1-l2+l3-1)*(l1+l2-l3-1)
+      a2 = (l1+m1-1)*(l1-m1-1)*(-l1+l2+l3+2)
+      newfac = sqrt(a1*real(a2,dl))
+
+      dv = -l2*(l2+1)*m1 + l3*(l3+1)*m1 +l1*(l1-1)*(m3-m2)
+
+      denom = l1*newfac
+      c1 = -(2*l1-1)*dv/denom
+      if (lstep <= 2) then
+
+         ! if l2=l2max+1, the third term in the recursion vanishes
+     
+         y = srtiny*c1
+         thrcof(nfin-1) = y
+         sumbac = sum2
+         sum2 = sum2 + tiny*(2*l1-3)*c1*c1
+
+         cycle
+
+      end if
+
+      c2 = -(l1-1)*oldfac/denom
+
+    ! recursion to the next 3j-coeff y
+      y = c1*thrcof(nfinp2-lstep)+c2*thrcof(nfinp3-lstep)
+
+      if (lstep==nstep2) exit
+  
+      thrcof(nfinp1-lstep) = y
+      sumbac = sum2
+      sum2 = sum2+(2*l1-3)*y*y
+
+    ! see if last unnormalised 3j-coeff exceeds srhuge
+      if (abs(y) >= srhuge) then
+     
+         ! reached if 3j-coeff larger than srhuge so that the recursion series
+         ! thrcof(nfin),..., thrcof(nfin-lstep+1) has to be rescaled to prevent overflow
+     
+         ier=ier+1
+         do i = 1, lstep
+            index=nfin-i+1
+            if (abs(thrcof(index)) < srtiny) thrcof(index)=zero
+            thrcof(index) = thrcof(index)/srhuge
+         end do
+
+         sum2=sum2/huge
+         sumbac=sumbac/huge
+
+      end if
+
+      end do
+
+    ! the forward recursion 3j-coeffs x1, x2, x3 are to be matched with the 
+    ! corresponding backward recursion vals y1, y2, y3
+
+      y3 = y
+      y2 = thrcof(nfinp2-lstep)
+      y1 = thrcof(nfinp3-lstep)
+
+    ! determine now ratio such that yi=ratio*xi (i=1,2,3) holds with minimal error
+
+      ratio = (x1*y1+x2*y2+x3*y3)/(x1*x1+x2*x2+x3*x3)
+      nlim = nfin-nstep2+1
+
+      if (abs(ratio) >= 1) then
+
+       thrcof(1:nlim) = ratio*thrcof(1:nlim) 
+       sumuni = ratio*ratio*sumfor + sumbac
+
+      else
+
+      nlim = nlim+1
+      ratio = 1/ratio
+      do n = nlim, nfin
+         thrcof(n) = ratio*thrcof(n)
+      end do
+      sumuni = sumfor + ratio*ratio*sumbac
+
+      end if
+    ! normalise 3j-coeffs
+
+230  cnorm = 1/sqrt(sumuni)
+
+    ! sign convention for last 3j-coeff determines overall phase
+
+      sign1 = sign(one,thrcof(nfin))
+      sign2 = (-1)**(abs(l2+m2-l3+m3))
+      if (sign1*sign2 <= 0) then
+        cnorm = -cnorm
+      end if
+      if (abs(cnorm) >= one) then
+         thrcof(1:nfin) = cnorm*thrcof(1:nfin)
+         return
+      end if
+
+      thresh = tiny/abs(cnorm)
+
+      do n = 1, nfin
+         if (abs(thrcof(n)) < thresh) thrcof(n) = zero
+         thrcof(n) = cnorm*thrcof(n)
+      end do
+      return 
+
+    end subroutine GetThreeJs
+
+
+
+  end module AMLutils
+ 
+  
+#ifdef ZIGGURAT
+MODULE Ziggurat
+! Marsaglia & Tsang generator for random normals & random exponentials.
+! Translated from C by Alan Miller (amiller@bigpond.net.au)
+
+! Marsaglia, G. & Tsang, W.W. (2000) `The ziggurat method for generating
+! random variables', J. Statist. Software, v5(8).
+
+! This is an electronic journal which can be downloaded from:
+! http://www.jstatsoft.org/v05/i08
+
+! N.B. It is assumed that all integers are 32-bit.
+! N.B. The value of M2 has been halved to compensate for the lack of
+!      unsigned integers in Fortran.
+
+! Latest version - 1 January 2001
+!
+! AL: useful material at http://en.wikipedia.org/wiki/Ziggurat_algorithm
+   IMPLICIT NONE
+
+   PRIVATE
+
+   INTEGER,  PARAMETER  ::  DP=SELECTED_REAL_KIND( 12, 60 )
+   REAL(DP), PARAMETER  ::  m1=2147483648.0_DP,   m2=2147483648.0_DP,      &
+                            half=0.5_DP
+   REAL(DP)             ::  dn=3.442619855899_DP, tn=3.442619855899_DP,    &
+                            vn=0.00991256303526217_DP,                     &
+                            q,                    de=7.697117470131487_DP, &
+                            te=7.697117470131487_DP,                       &
+                            ve=0.003949659822581572_DP
+   INTEGER,  SAVE       ::  iz, jz, jsr=123456789, kn(0:127),              &
+                            ke(0:255), hz
+   REAL(DP), SAVE       ::  wn(0:127), fn(0:127), we(0:255), fe(0:255)
+   LOGICAL,  SAVE       ::  initialized=.FALSE.
+
+   PUBLIC  :: zigset, shr3, uni, rnor, rexp
+
+
+CONTAINS
+
+
+SUBROUTINE zigset( jsrseed )
+
+   INTEGER, INTENT(IN)  :: jsrseed
+
+   INTEGER  :: i
+
+   !  Set the seed
+   jsr = jsrseed
+
+   !  Tables for RNOR
+   q = vn*EXP(half*dn*dn)
+   kn(0) = (dn/q)*m1
+   kn(1) = 0
+   wn(0) = q/m1
+   wn(127) = dn/m1
+   fn(0) = 1.0_DP
+   fn(127) = EXP( -half*dn*dn )
+   DO  i = 126, 1, -1
+      dn = SQRT( -2.0_DP * LOG( vn/dn + EXP( -half*dn*dn ) ) )
+      kn(i+1) = (dn/tn)*m1
+      tn = dn
+      fn(i) = EXP(-half*dn*dn)
+      wn(i) = dn/m1
+   END DO
+
+   !  Tables for REXP
+   q = ve*EXP( de )
+   ke(0) = (de/q)*m2
+   ke(1) = 0
+   we(0) = q/m2
+   we(255) = de/m2
+   fe(0) = 1.0_DP
+   fe(255) = EXP( -de )
+   DO  i = 254, 1, -1
+      de = -LOG( ve/de + EXP( -de ) )
+      ke(i+1) = m2 * (de/te)
+      te = de
+      fe(i) = EXP( -de )
+      we(i) = de/m2
+   END DO
+   initialized = .TRUE.
+   RETURN
+END SUBROUTINE zigset
+
+
+
+!  Generate random 32-bit integers
+FUNCTION shr3( ) RESULT( ival )
+   INTEGER  ::  ival
+
+   jz = jsr
+   jsr = IEOR( jsr, ISHFT( jsr,  13 ) )
+   jsr = IEOR( jsr, ISHFT( jsr, -17 ) )
+   jsr = IEOR( jsr, ISHFT( jsr,   5 ) )
+   ival = jz + jsr
+   RETURN
+END FUNCTION shr3
+
+
+
+!  Generate uniformly distributed random numbers
+FUNCTION uni( ) RESULT( fn_val )
+   REAL(DP)  ::  fn_val
+
+   fn_val = half + 0.2328306e-9_DP * shr3( )
+   RETURN
+END FUNCTION uni
+
+
+
+!  Generate random normals
+FUNCTION rnor( ) RESULT( fn_val )
+   REAL(DP)             ::  fn_val
+
+   REAL(DP), PARAMETER  ::  r = 3.442620_DP
+   REAL(DP)             ::  x, y
+
+   IF( .NOT. initialized ) CALL zigset( jsr )
+   hz = shr3( )
+   iz = IAND( hz, 127 )
+   IF( ABS( hz ) < kn(iz) ) THEN
+      fn_val = hz * wn(iz)
+   ELSE
+      DO
+         IF( iz == 0 ) THEN
+            DO
+               x = -0.2904764_DP* LOG( uni( ) )
+               y = -LOG( uni( ) )
+               IF( y+y >= x*x ) EXIT
+            END DO
+            fn_val = r+x
+            IF( hz <= 0 ) fn_val = -fn_val
+            RETURN
+         END IF
+         x = hz * wn(iz)
+         IF( fn(iz) + uni( )*(fn(iz-1)-fn(iz)) < EXP(-half*x*x) ) THEN
+            fn_val = x
+            RETURN
+         END IF
+         hz = shr3( )
+         iz = IAND( hz, 127 )
+         IF( ABS( hz ) < kn(iz) ) THEN
+            fn_val = hz * wn(iz)
+            RETURN
+         END IF
+      END DO
+   END IF
+   RETURN
+END FUNCTION rnor
+
+
+
+!  Generate random exponentials
+FUNCTION rexp( ) RESULT( fn_val )
+   REAL(DP)  ::  fn_val
+
+   REAL(DP)  ::  x
+
+   IF( .NOT. initialized ) CALL Zigset( jsr )
+   jz = shr3( )
+   iz = IAND( jz, 255 )
+   IF( ABS( jz ) < ke(iz) ) THEN
+      fn_val = ABS(jz) * we(iz)
+      RETURN
+   END IF
+   DO
+      IF( iz == 0 ) THEN
+         fn_val = 7.69711 - LOG( uni( ) )
+         RETURN
+      END IF
+      x = ABS( jz ) * we(iz)
+      IF( fe(iz) + uni( )*(fe(iz-1) - fe(iz)) < EXP( -x ) ) THEN
+         fn_val = x
+         RETURN
+      END IF
+      jz = shr3( )
+      iz = IAND( jz, 255 )
+      IF( ABS( jz ) < ke(iz) ) THEN
+         fn_val = ABS( jz ) * we(iz)
+         RETURN
+      END IF
+   END DO
+   RETURN
+END FUNCTION rexp
+
+END MODULE ziggurat
+#endif 
+
+  
+
+module Random
+ integer :: rand_inst = 0 
+ logical, parameter :: use_ziggurat = .false.
+ integer, parameter :: krand = KIND(1.d0)
+  !Ziggurat is significantly (3-4x) faster, see Wikipedia for details
+  !Have seem some suspicious things, though couldn't replicate; may be OK..
+
+  INTERFACE RandRotation
+  MODULE PROCEDURE RandRotationS, RandRotationD
+  END INTERFACE
+
+contains
+   
+  subroutine initRandom(i, i2)
+  use AMLUtils
+#ifdef ZIGGURAT
+  use Ziggurat
+#endif
+  implicit none
+  integer, optional, intent(IN) :: i
+  integer, optional, intent(IN) :: i2
+  integer seed_in,kl,ij
+  character(len=10) :: fred
+  real(krand) :: klr
+  
+   if (present(i)) then
+    seed_in = i
+   else
+    seed_in = -1
+   end if
+      if (seed_in /=-1) then
+       if (present(i2)) then
+        kl=i2
+        if (i2 > 30081) call MpiStop('initRandom:second seed too large')
+       else
+        kl = 9373
+       end if
+       ij = i
+      else
+       call system_clock(count=ij)
+       ij = mod(ij + rand_inst*100, 31328)
+       call date_and_time(time=fred)
+       read (fred,'(e10.3)') klr
+       kl = mod(int(klr*1000), 30081)       
+      end if
+
+      if (Feedback > 0 ) write(*,'(" Random seeds:",1I6,",",1I6," rand_inst:",1I4)') ij,kl,rand_inst
+      call rmarin(ij,kl)
+#ifdef ZIGGURAT
+      if (use_ziggurat) call zigset(ij)
+#endif
+  end subroutine initRandom
+
+  subroutine RandIndices(indices, nmax, n)
+   use AMLUtils
+    integer, intent(in) :: nmax, n
+    integer indices(n),i, ix
+    integer tmp(nmax)
+ 
+    if (n> nmax) call MpiStop('Error in RandIndices, n > nmax')
+    do i=1, nmax
+       tmp(i)=i
+    end do
+    do i=1, n
+       ix = int(ranmar()*(nmax +1 -i)) + 1
+       indices(i) = tmp(ix)
+       tmp(ix) = tmp(nmax+1-i)
+    end do
+
+  end subroutine RandIndices
+
+  subroutine RandRotationS(R, N)
+   !this is most certainly not the world's most efficient or robust random rotation generator
+    integer, intent(in) :: N
+    real R(N,N), vec(N), norm
+    integer i,j
+    
+    do j = 1, N
+     do
+         do i = 1, N
+          vec(i) = Gaussian1()
+         end do
+         do i = 1, j-1
+           vec = vec - sum(vec*R(i,:))*R(i,:)
+         end do
+         norm = sum(vec**2)
+         if (norm > 1e-3) exit
+     end do
+     R(j,:) = vec / sqrt(norm)
+    end do
+    
+  end subroutine RandRotationS
+  
+  
+  subroutine RandRotationD(R, N)
+   !this is most certainly not the world's most efficient or robust random rotation generator
+    integer, intent(in) :: N
+    double precision R(N,N), vec(N), norm
+    integer i,j
+    
+    do j = 1, N
+     do
+         do i = 1, N
+          vec(i) = Gaussian1()
+         end do
+         do i = 1, j-1
+           vec = vec - sum(vec*R(i,:))*R(i,:)
+         end do
+         norm = sum(vec**2)
+         if (norm > 1e-3) exit
+     end do
+     R(j,:) = vec / sqrt(norm)
+    end do
+    
+  end subroutine RandRotationD
+
+
+  double precision function GAUSSIAN1()
+#ifdef ZIGGURAT
+    use Ziggurat
+#endif
+    implicit none
+    double precision R, V1, V2, FAC
+    integer, save :: iset = 0
+    double precision, save :: gset
+
+    if (use_ziggurat) then
+#ifdef ZIGGURAT
+     Gaussian1 = rnor( )
+#endif
+    else
+     !Box muller
+     if (ISET==0) then
+        R=2
+        do while (R >= 1.d0)
+        V1=2.d0*ranmar()-1.d0
+        V2=2.d0*ranmar()-1.d0
+        R=V1**2+V2**2
+        end do
+        FAC=sqrt(-2.d0*log(R)/R)
+        GSET=V1*FAC
+        GAUSSIAN1=V2*FAC
+        ISET=1
+      else
+        GAUSSIAN1=GSET
+        ISET=0
+      endif
+      end if
+      end function GAUSSIAN1
+
+
+     double precision function CAUCHY1()
+      implicit none
+
+      Cauchy1 = Gaussian1()/max(1d-15,abs(Gaussian1()))
+
+     end function CAUCHY1
+
+
+     real FUNCTION RANDEXP1()
+!
+!     Random-number generator for the exponential distribution
+!     Algorithm EA from J. H. Ahrens and U. Dieter,
+!     Communications of the ACM, 31 (1988) 1330--1337.
+!     Coded by K. G. Hamilton, December 1996, with corrections.
+!
+      real u, up, g, y
+  
+      real, parameter ::   alog2= 0.6931471805599453
+      real, parameter ::      a = 5.7133631526454228
+      real, parameter ::      b = 3.4142135623730950
+      real, parameter ::     c = -1.6734053240284925
+      real, parameter ::      p = 0.9802581434685472
+      real, parameter ::     aa = 5.6005707569738080
+      real, parameter ::     bb = 3.3468106480569850
+      real, parameter ::     hh = 0.0026106723602095
+      real, parameter ::     dd = 0.0857864376269050
+
+      u = ranmar()
+      do while (u.le.0)                 ! Comment out this block 
+        u = ranmar()                    ! if your RNG can never
+      enddo                             ! return exact zero
+      g = c
+      u = u+u
+      do while (u.lt.1.0)
+         g = g + alog2
+         u = u+u
+      enddo
+      u = u-1.0
+      if (u.le.p) then
+        randexp1 = g + aa/(bb-u)
+        return
+      endif
+      do
+        u = ranmar()
+        y = a/(b-u)
+        up = ranmar()
+        if ((up*hh+dd)*(b-u)**2 .le. exp(-(y+c))) then
+          randexp1 = g+y
+          return
+        endif
+      enddo
+
+      end function randexp1
+
+
+! This random number generator originally appeared in ''Toward a Universal 
+! Random Number Generator'' by George Marsaglia and Arif Zaman. 
+! Florida State University Report: FSU-SCRI-87-50 (1987)
+! 
+! It was later modified by F. James and published in ''A Review of Pseudo-
+! random Number Generators'' 
+! 
+! THIS IS THE BEST KNOWN RANDOM NUMBER GENERATOR AVAILABLE.
+!    (However, a newly discovered technique can yield 
+!        a period of 10^600. But that is still in the development stage.)
+!
+! It passes ALL of the tests for random number generators and has a period 
+!   of 2^144, is completely portable (gives bit identical results on all 
+!   machines with at least 24-bit mantissas in the floating point 
+!   representation). 
+! 
+! The algorithm is a combination of a Fibonacci sequence (with lags of 97
+!   and 33, and operation "subtraction plus one, modulo one") and an 
+!   "arithmetic sequence" (using subtraction).
+!
+! On a Vax 11/780, this random number generator can produce a number in 
+!    13 microseconds. 
+!======================================================================== 
+!
+!      PROGRAM TstRAN
+!     INTEGER IJ, KL, I
+! Thee are the seeds needed to produce the test case results
+!      IJ = 1802
+!      KL = 9373
+!
+!
+! Do the initialization
+!      call rmarin(ij,kl)
+!
+! Generate 20000 random numbers
+!      do 10 I = 1, 20000
+!         x = RANMAR()
+!10    continue
+!
+! If the random number generator is working properly, the next six random
+!    numbers should be:
+!          6533892.0  14220222.0  7275067.0
+!    6172232.0  8354498.0   10633180.0
+!           
+!           
+!        
+!      write(6,20) (4096.0*4096.0*RANMAR(), I=1,6)
+!20    format (3f12.1)
+!      end
+!
+      subroutine RMARIN(IJ,KL)
+! This is the initialization routine for the random number generator RANMAR()
+! NOTE: The seed variables can have values between:    0 <= IJ <= 31328
+!                                                      0 <= KL <= 30081
+!The random number sequences created by these two seeds are of sufficient 
+! length to complete an entire calculation with. For example, if sveral 
+! different groups are working on different parts of the same calculation,
+! each group could be assigned its own IJ seed. This would leave each group
+! with 30000 choices for the second seed. That is to say, this random 
+! number generator can create 900 million different subsequences -- with 
+! each subsequence having a length of approximately 10^30.
+!
+! Use IJ = 1802 & KL = 9373 to test the random number generator. The
+! subroutine RANMAR should be used to generate 20000 random numbers.
+! Then display the next six random numbers generated multiplied by 4096*4096
+! If the random number generator is working properly, the random numbers
+!    should be:
+!           6533892.0  14220222.0  7275067.0
+!           6172232.0  8354498.0   10633180.0
+      double precision U(97), C, CD, CM, S, T
+      integer I97, J97,i,j,k,l,m
+      integer ij,kl
+      integer ii,jj
+           
+    
+!      INTEGER IRM(103)
+      
+      common /RASET1/ U, C, CD, CM, I97, J97
+      if( IJ .lt. 0  .or.  IJ .gt. 31328  .or. &
+         KL .lt. 0  .or.  KL .gt. 30081 ) then
+          print '(A)', ' The first random number seed must have a value  between 0 and 31328'
+          print '(A)',' The second seed must have a value between 0 and   30081'
+            stop
+      endif
+      I = mod(IJ/177, 177) + 2
+      J = mod(IJ    , 177) + 2
+      K = mod(KL/169, 178) + 1
+      L = mod(KL,     169) 
+      do 2 II = 1, 97
+         S = 0.0
+         T = 0.5
+         do 3 JJ = 1, 24
+            M = mod(mod(I*J, 179)*K, 179)
+            I = J
+            J = K
+            K = M
+            L = mod(53*L+1, 169)
+            if (mod(L*M, 64) .ge. 32) then
+               S = S + T
+            endif
+            T = 0.5 * T
+3        continue
+         U(II) = S
+2     continue
+      C = 362436.0 / 16777216.0
+      CD = 7654321.0 / 16777216.0
+      CM = 16777213.0 /16777216.0
+      I97 = 97
+      J97 = 33
+    
+      end subroutine RMARIN
+
+      double precision function RANMAR()
+! This is the random number generator proposed by George Marsaglia in 
+! Florida State University Report: FSU-SCRI-87-50
+! It was slightly modified by F. James to produce an array of pseudorandom
+! numbers.
+      double precision U(97), C, CD, CM
+      integer I97, J97
+       double precision uni
+    
+      common /RASET1/ U, C, CD, CM, I97, J97
+!      INTEGER IVEC
+         UNI = U(I97) - U(J97)
+         if( UNI .lt. 0.0 ) UNI = UNI + 1.0
+         U(I97) = UNI
+         I97 = I97 - 1
+         if(I97 .eq. 0) I97 = 97
+         J97 = J97 - 1
+         if(J97 .eq. 0) J97 = 97
+         C = C - CD
+         if( C .lt. 0.d0 ) C = C + CM
+         UNI = UNI - C
+         if( UNI .lt. 0.d0 ) UNI = UNI + 1.0 ! bug?
+         RANMAR = UNI
+      
+      end function RANMAR
+
+
+end module Random
+
+
+ 
\ No newline at end of file
diff --git a/writefits.f90 b/writefits.f90
new file mode 100644
index 0000000..b99562e
--- /dev/null
+++ b/writefits.f90
@@ -0,0 +1,119 @@
+!subroutine to export Cls in FITS format for HEALPix 1.2
+!Antony Lewis July 2003
+
+
+ subroutine WriteFitsCls(Clsfile, lmx)
+  use CAMB
+  use head_fits, ONLY : add_card 
+  use fitstools, only : write_asctab
+  implicit none
+  character(LEN=*), INTENT(IN) ::  Clsfile
+  integer, INTENT(IN) :: lmx
+  CHARACTER(LEN=80), DIMENSION(1:120) :: header
+  INTEGER nlheader,i, j
+  real, allocatable, dimension (:,:) :: clout,allcl
+  real(dl) :: fac,  PowerVals(20)
+  character(Len=40) :: unitstr
+  character(Len=8) :: PowerKeys(20)
+  logical COBEnorm
+
+
+  if (CP%InitPower%nn>1) write(*,*) &
+       'Warning: FITS file contains result for first power spectrum only'
+
+  allocate(clout(2:lmx,1:4))
+   
+  call CAMB_GetCls(clout, lmx, 1, .false.)
+  !HealPix 1.2 uses E-B conventions
+
+
+  if (CP%OutputNormalization >=2) then
+   fac=1
+  else
+   fac=OutputDenominator*CP%tcmb**2
+  end if
+  end if
+
+!FITS file has Cls without l(l+1)/twopi factors
+  do i=2,lmx
+     clout(i,:)=clout(i,:)/i/dble(i+1)*fac
+  end do
+
+  allocate(allcl(0:lmx,1:4))
+  allcl(2:lmx,1:4) = clout
+  allcl(0:1,1:4) = 0
+  deallocate(clout)
+
+  header = ''
+
+  if (CP%OutputNormalization == outCOBE) then
+     unitstr='Kelvin-squared'
+  else
+     unitstr='unknown'
+  end if
+
+  call add_card(header,'COMMENT','-----------------------------------------------')
+  call add_card(header,'COMMENT','     CMB power spectrum C(l) keywords          ')
+  call add_card(header,'COMMENT','-----------------------------------------------')
+  call add_card(header,'EXTNAME','''COMPUTED POWER SPECTRUM''')
+  call add_card(header,'COMMENT',' POWER SPECTRUM : C(l) ')
+  call add_card(header)
+  call add_card(header,'CREATOR','CAMB',        'Software creating the FITS file')
+  call add_card(header,'VERSION',version,     'Version of the simulation software')
+  call add_card(header,'POLAR',.true.,'Polarisation included (True/False)')
+  call add_card(header,'POLNORM','CMBFAST','Uses E-B conventions')
+  call add_card(header)
+  call add_card(header)
+  call add_card(header,'TTYPE1', 'TEMPERATURE','Temperature C(l)')
+  call add_card(header,'TUNIT1', unitstr,'unit')
+  call add_card(header)
+
+     call add_card(header,'TTYPE2', 'E-mode C_l','ELECTRIC polarisation C(l)')
+     call add_card(header,'TUNIT2', unitstr,'unit')
+     call add_card(header)
+
+     call add_card(header,'TTYPE3', 'B-mode C_l','MAGNETIC polarisation C(l)')
+     call add_card(header,'TUNIT3', unitstr,'unit')
+     call add_card(header)
+
+     call add_card(header,'TTYPE4', 'E-T cross corr.','Gradient-Temperature cross terms')
+     call add_card(header,'TUNIT4', unitstr,'unit')
+     call add_card(header)
+
+ call add_card(header,'COMMENT','-----------------------------------------------')
+ call add_card(header,'COMMENT','     Cosmological parameters')
+ call add_card(header,'COMMENT','-----------------------------------------------')
+ call add_card(header,'OMEGAB',CP%omegab, 'Omega in baryons')
+ call add_card(header,'OMEGAC',CP%omegac, 'Omega in CDM')
+ call add_card(header,'OMEGAV',CP%omegav, 'Omega in cosmological constant')
+ call add_card(header,'OMEGAN',CP%omegan, 'Omega in neutrinos')
+ call add_card(header,'HUBBLE', CP%h0, 'Hublle constant in km/s/Mpc')
+ call add_card(header,'NNUNR',CP%Num_Nu_massive, 'number of massive neutrinos')
+ call add_card(header,'NNUR',CP%Num_Nu_massless, 'number of massless neutrinos')
+ call add_card(header,'TCMB',CP%tcmb, 'CMB temperature in Kelvin')
+ call add_card(header,'HELFRACT',CP%yhe, 'Helium fraction')
+ call add_card(header,'OPTDLSS',CP%Reion%optical_depth, 'reionisation optical depth')
+ call add_card(header,'IONFRACT',CP%Reion%fraction, 'ionisation fraction')
+ call add_card(header,'ZREION',CP%reion%redshift, 'reionisation redshift')
+ call add_card(header,'COMMENT','-----------------------------------------------')
+ call add_card(header,'COMMENT','     Other parameters')
+ call add_card(header,'COMMENT','-----------------------------------------------')
+ call add_card(header,'SCALARS',CP%WantScalars, 'includes scalar modes')
+ call add_card(header,'TENSORS',CP%WantTensors, 'includes tensor modes')
+ call add_card(header,'INITFLAG',CP%Scalar_initial_condition, 'initial condition flag') 
+ COBEnorm = CP%outputNormalization==outCOBE
+ call add_card(header,'COBENORM',COBEnorm, 'COBE normalized') 
+ call add_card(header,'KETA_MAX',CP%Max_eta_k, 'Max wavenumber') 
+ call add_card(header,'PRECIS',AccuracyBoost, 'Relative computation accuracy') 
+ call add_card(header,'EQS_FILE',Eqns_name, 'Gauge-dependent and background equations') 
+ call add_card(header,'POW_FILE',Power_Name, 'Initial power spectrum file') 
+ i = Power_Descript(1,CP%WantScalars,CP%WantTensors,PowerKeys,PowerVals)
+ do j=1,i
+ call add_card(header,PowerKeys(j),PowerVals(j), 'Initial power spectrum details') 
+ end do
+  
+  nlheader = SIZE(header)
+  call write_asctab (allcl, lmx, 4, header, nlheader, Clsfile)
+  deallocate(allcl)
+
+end subroutine WriteFitsCls