[llvm-commits] [test-suite] r59793 - in /test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia: ./ AMGmk/ IRSmk/ sphot/

Duraid Madina duraid at octopus.com.au
Thu Nov 20 22:17:33 PST 2008


Author: duraid
Date: Fri Nov 21 00:17:30 2008
New Revision: 59793

URL: http://llvm.org/viewvc/llvm-project?rev=59793&view=rev
Log:
add some ASC Sequoia benchmarks


Added:
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/COPYRIGHT_and_DISCLAIMER
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/Makefile
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.h
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matvec.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/headers.h
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_error.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_memory.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/laplace.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/main.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/relax.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/seq_mv.h
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/utilities.h
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/vector.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/COPYRIGHT_and_DISCLAIMER
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/Makefile
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk.h
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk_input
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/main.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/reference_output
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/rmatmult3.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/utility.c
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/Makefile
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/LICENSE
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/Makefile
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/allocdyn.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyglob.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copypriv.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyseed.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/correct_answer
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/execute.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genmesh.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genxsec.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/geomz.inc
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/globals.inc
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/input.dat
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/interp.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfeven.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfodd.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs_f77.h
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpif.h
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/opac.txt
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/params.inc
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/plnkut.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.inc
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/randseed.inc
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranf.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfatok.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfk.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfkbinary.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfmodmult.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rans.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdinput.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdopac.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/second.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/seedranf.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/shared.inc
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_read_v0.9.1.txt
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_v0.9.1.txt
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/thom.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/times.inc
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/writeout.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/wroutput.f
    test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/zonevols.f

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/COPYRIGHT_and_DISCLAIMER
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/COPYRIGHT_and_DISCLAIMER?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/COPYRIGHT_and_DISCLAIMER (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/COPYRIGHT_and_DISCLAIMER Fri Nov 21 00:17:30 2008
@@ -0,0 +1,33 @@
+This work was produced at the University of California, Lawrence Livermore
+National Laboratory (UC LLNL) under contract no. W-7405-ENG-48 (Contract 48)
+between the U.S. Department of Energy (DOE) and The Regents of the University
+of California (University) for the operation of UC LLNL. The rights of the
+Federal Government are reserved under Contract 48 subject to the restrictions
+agreed upon by the DOE and University as allowed under DOE Acquisition Letter
+97-1.
+
+
+                                                                   DISCLAIMER
+
+
+This work was prepared as an account of work sponsored by an agency of
+the United States Government. Neither the United States Government nor the
+University of California nor any of their employees, makes any warranty,
+express or implied, or assumes any liability or responsibility for the
+accuracy, completeness, or usefulness of any information, apparatus, product,
+or process disclosed, or represents that its use would not infringe
+privately-owned rights.  Reference herein to any specific commercial
+products, process, or service by trade name, trademark, manufacturer or
+otherwise does not necessarily constitute or imply its endorsement,
+recommendation, or favoring by the United States Government or the University
+of California. The views and opinions of authors expressed herein do not
+necessarily state or reflect those of the United States Government or the
+University of California, and shall not be used for advertising or product
+endorsement purposes.
+
+
+                                               NOTIFICATION OF COMMERCIAL USE
+
+
+Commercialization of this product is prohibited without notifying the
+Department of Energy (DOE) or Lawrence Livermore National Laboratory (LLNL).

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/Makefile?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/Makefile Fri Nov 21 00:17:30 2008
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = AMGmk
+ 
+LIBS += -lm
+LDFLAGS += -lm
+
+include	../../../Makefile.multisrc

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,551 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team. UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer, contact information and the GNU Lesser General Public License.
+ *
+ * HYPRE is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU General Public License (as published by the Free Software
+ * Foundation) version 2.1 dated February 1999.
+ *
+ * HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS 
+ * FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.12 $
+ ***********************************************************************EHEADER*/
+
+
+
+/******************************************************************************
+ *
+ * Member functions for hypre_CSRMatrix class.
+ *
+ *****************************************************************************/
+
+#include "headers.h"
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixCreate
+ *--------------------------------------------------------------------------*/
+
+hypre_CSRMatrix *
+hypre_CSRMatrixCreate( int num_rows,
+                       int num_cols,
+                       int num_nonzeros )
+{
+   hypre_CSRMatrix  *matrix;
+
+   matrix = hypre_CTAlloc(hypre_CSRMatrix, 1);
+
+   hypre_CSRMatrixData(matrix) = NULL;
+   hypre_CSRMatrixI(matrix)    = NULL;
+   hypre_CSRMatrixJ(matrix)    = NULL;
+   hypre_CSRMatrixRownnz(matrix) = NULL;
+   hypre_CSRMatrixNumRows(matrix) = num_rows;
+   hypre_CSRMatrixNumCols(matrix) = num_cols;
+   hypre_CSRMatrixNumNonzeros(matrix) = num_nonzeros;
+
+   /* set defaults */
+   hypre_CSRMatrixOwnsData(matrix) = 1;
+   hypre_CSRMatrixNumRownnz(matrix) = num_rows;
+
+
+   return matrix;
+}
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixDestroy
+ *--------------------------------------------------------------------------*/
+
+int 
+hypre_CSRMatrixDestroy( hypre_CSRMatrix *matrix )
+{
+   int  ierr=0;
+
+   if (matrix)
+   {
+      hypre_TFree(hypre_CSRMatrixI(matrix));
+      if (hypre_CSRMatrixRownnz(matrix))
+         hypre_TFree(hypre_CSRMatrixRownnz(matrix));
+      if ( hypre_CSRMatrixOwnsData(matrix) )
+      {
+         hypre_TFree(hypre_CSRMatrixData(matrix));
+         hypre_TFree(hypre_CSRMatrixJ(matrix));
+      }
+      hypre_TFree(matrix);
+   }
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixInitialize
+ *--------------------------------------------------------------------------*/
+
+int 
+hypre_CSRMatrixInitialize( hypre_CSRMatrix *matrix )
+{
+   int  num_rows     = hypre_CSRMatrixNumRows(matrix);
+   int  num_nonzeros = hypre_CSRMatrixNumNonzeros(matrix);
+/*   int  num_rownnz = hypre_CSRMatrixNumRownnz(matrix); */
+
+   int  ierr=0;
+
+   if ( ! hypre_CSRMatrixData(matrix) && num_nonzeros )
+      hypre_CSRMatrixData(matrix) = hypre_CTAlloc(double, num_nonzeros);
+   if ( ! hypre_CSRMatrixI(matrix) )
+      hypre_CSRMatrixI(matrix)    = hypre_CTAlloc(int, num_rows + 1);
+/*   if ( ! hypre_CSRMatrixRownnz(matrix) )
+      hypre_CSRMatrixRownnz(matrix)    = hypre_CTAlloc(int, num_rownnz);*/
+   if ( ! hypre_CSRMatrixJ(matrix) && num_nonzeros )
+      hypre_CSRMatrixJ(matrix)    = hypre_CTAlloc(int, num_nonzeros);
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixSetDataOwner
+ *--------------------------------------------------------------------------*/
+
+int 
+hypre_CSRMatrixSetDataOwner( hypre_CSRMatrix *matrix,
+                             int              owns_data )
+{
+   int    ierr=0;
+
+   hypre_CSRMatrixOwnsData(matrix) = owns_data;
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixSetRownnz
+ *
+ * function to set the substructure rownnz and num_rowsnnz inside the CSRMatrix
+ * it needs the A_i substructure of CSRMatrix to find the nonzero rows.
+ * It runs after the create CSR and when A_i is known..It does not check for
+ * the existence of A_i or of the CSR matrix.
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_CSRMatrixSetRownnz( hypre_CSRMatrix *matrix )
+{
+   int    ierr=0;
+   int  num_rows = hypre_CSRMatrixNumRows(matrix);
+   int  *A_i = hypre_CSRMatrixI(matrix);
+   int  *Arownnz;
+
+   int i, adiag;
+   int irownnz=0;
+
+   for (i=0; i < num_rows; i++)
+   {
+      adiag = (A_i[i+1] - A_i[i]);
+      if(adiag > 0) irownnz++;
+   }
+
+   hypre_CSRMatrixNumRownnz(matrix) = irownnz;
+
+   if ((irownnz == 0) || (irownnz == num_rows))
+   {
+       hypre_CSRMatrixRownnz(matrix) = NULL;
+   }
+   else
+   {
+       Arownnz = hypre_CTAlloc(int, irownnz);
+       irownnz = 0;
+       for (i=0; i < num_rows; i++)
+       {
+          adiag = A_i[i+1]-A_i[i];
+          if(adiag > 0) Arownnz[irownnz++] = i;
+       }
+        hypre_CSRMatrixRownnz(matrix) = Arownnz;
+   }
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixRead
+ *--------------------------------------------------------------------------*/
+
+hypre_CSRMatrix *
+hypre_CSRMatrixRead( char *file_name )
+{
+   hypre_CSRMatrix  *matrix;
+
+   FILE    *fp;
+
+   double  *matrix_data;
+   int     *matrix_i;
+   int     *matrix_j;
+   int      num_rows;
+   int      num_nonzeros;
+   int      max_col = 0;
+
+   int      file_base = 1;
+   
+   int      j;
+
+   /*----------------------------------------------------------
+    * Read in the data
+    *----------------------------------------------------------*/
+
+   fp = fopen(file_name, "r");
+
+   fscanf(fp, "%d", &num_rows);
+
+   matrix_i = hypre_CTAlloc(int, num_rows + 1);
+   for (j = 0; j < num_rows+1; j++)
+   {
+      fscanf(fp, "%d", &matrix_i[j]);
+      matrix_i[j] -= file_base;
+   }
+
+   num_nonzeros = matrix_i[num_rows];
+
+   matrix = hypre_CSRMatrixCreate(num_rows, num_rows, matrix_i[num_rows]);
+   hypre_CSRMatrixI(matrix) = matrix_i;
+   hypre_CSRMatrixInitialize(matrix);
+
+   matrix_j = hypre_CSRMatrixJ(matrix);
+   for (j = 0; j < num_nonzeros; j++)
+   {
+      fscanf(fp, "%d", &matrix_j[j]);
+      matrix_j[j] -= file_base;
+
+      if (matrix_j[j] > max_col)
+      {
+         max_col = matrix_j[j];
+      }
+   }
+
+   matrix_data = hypre_CSRMatrixData(matrix);
+   for (j = 0; j < matrix_i[num_rows]; j++)
+   {
+      fscanf(fp, "%le", &matrix_data[j]);
+   }
+
+   fclose(fp);
+
+   hypre_CSRMatrixNumNonzeros(matrix) = num_nonzeros;
+   hypre_CSRMatrixNumCols(matrix) = ++max_col;
+
+   return matrix;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixPrint
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_CSRMatrixPrint( hypre_CSRMatrix *matrix,
+                      char            *file_name )
+{
+   FILE    *fp;
+
+   double  *matrix_data;
+   int     *matrix_i;
+   int     *matrix_j;
+   int      num_rows;
+   
+   int      file_base = 1;
+   
+   int      j;
+
+   int      ierr = 0;
+
+   /*----------------------------------------------------------
+    * Print the matrix data
+    *----------------------------------------------------------*/
+
+   matrix_data = hypre_CSRMatrixData(matrix);
+   matrix_i    = hypre_CSRMatrixI(matrix);
+   matrix_j    = hypre_CSRMatrixJ(matrix);
+   num_rows    = hypre_CSRMatrixNumRows(matrix);
+
+   fp = fopen(file_name, "w");
+
+   fprintf(fp, "%d\n", num_rows);
+
+   for (j = 0; j <= num_rows; j++)
+   {
+      fprintf(fp, "%d\n", matrix_i[j] + file_base);
+   }
+
+   for (j = 0; j < matrix_i[num_rows]; j++)
+   {
+      fprintf(fp, "%d\n", matrix_j[j] + file_base);
+   }
+
+   if (matrix_data)
+   {
+      for (j = 0; j < matrix_i[num_rows]; j++)
+      {
+         fprintf(fp, "%.14e\n", matrix_data[j]);
+      }
+   }
+   else
+   {
+      fprintf(fp, "Warning: No matrix data!\n");
+   }
+
+   fclose(fp);
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixCopy:
+ * copys A to B, 
+ * if copy_data = 0 only the structure of A is copied to B.
+ * the routine does not check if the dimensions of A and B match !!! 
+ *--------------------------------------------------------------------------*/
+
+int 
+hypre_CSRMatrixCopy( hypre_CSRMatrix *A, hypre_CSRMatrix *B, int copy_data )
+{
+   int  ierr=0;
+   int  num_rows = hypre_CSRMatrixNumRows(A);
+   int *A_i = hypre_CSRMatrixI(A);
+   int *A_j = hypre_CSRMatrixJ(A);
+   double *A_data;
+   int *B_i = hypre_CSRMatrixI(B);
+   int *B_j = hypre_CSRMatrixJ(B);
+   double *B_data;
+
+   int i, j;
+
+   for (i=0; i < num_rows; i++)
+   {
+	B_i[i] = A_i[i];
+	for (j=A_i[i]; j < A_i[i+1]; j++)
+	{
+		B_j[j] = A_j[j];
+	}
+   }
+   B_i[num_rows] = A_i[num_rows];
+   if (copy_data)
+   {
+	A_data = hypre_CSRMatrixData(A);
+	B_data = hypre_CSRMatrixData(B);
+   	for (i=0; i < num_rows; i++)
+   	{
+	   for (j=A_i[i]; j < A_i[i+1]; j++)
+	   {
+		B_data[j] = A_data[j];
+	   }
+	}
+   }
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixClone
+ * Creates and returns a new copy of the argument, A.
+ * Data is not copied, only structural information is reproduced.
+ * Copying is a deep copy in that no pointers are copied; new arrays are
+ * created where necessary.
+ *--------------------------------------------------------------------------*/
+
+hypre_CSRMatrix * hypre_CSRMatrixClone( hypre_CSRMatrix * A )
+{
+   int num_rows = hypre_CSRMatrixNumRows( A );
+   int num_cols = hypre_CSRMatrixNumCols( A );
+   int num_nonzeros = hypre_CSRMatrixNumNonzeros( A );
+   hypre_CSRMatrix * B = hypre_CSRMatrixCreate( num_rows, num_cols, num_nonzeros );
+   int * A_i;
+   int * A_j;
+   int * B_i;
+   int * B_j;
+   int i, j;
+
+   hypre_CSRMatrixInitialize( B );
+
+   A_i = hypre_CSRMatrixI(A);
+   A_j = hypre_CSRMatrixJ(A);
+   B_i = hypre_CSRMatrixI(B);
+   B_j = hypre_CSRMatrixJ(B);
+
+   for ( i=0; i<num_rows+1; ++i )  B_i[i] = A_i[i];
+   for ( j=0; j<num_nonzeros; ++j )  B_j[j] = A_j[j];
+   hypre_CSRMatrixNumRownnz(B) =  hypre_CSRMatrixNumRownnz(A);
+   if ( hypre_CSRMatrixRownnz(A) ) hypre_CSRMatrixSetRownnz( B );
+
+   return B;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixUnion
+ * Creates and returns a matrix whose elements are the union of those of A and B.
+ * Data is not computed, only structural information is created.
+ * A and B must have the same numbers of rows.
+ * Nothing is done about Rownnz.
+ *
+ * If col_map_offd_A and col_map_offd_B are zero, A and B are expected to have
+ * the same column indexing.  Otherwise, col_map_offd_A, col_map_offd_B should
+ * be the arrays of that name from two ParCSRMatrices of which A and B are the
+ * offd blocks.
+ *
+ * The algorithm can be expected to have reasonable efficiency only for very
+ * sparse matrices (many rows, few nonzeros per row).
+ * The nonzeros of a computed row are NOT necessarily in any particular order.
+ *--------------------------------------------------------------------------*/
+
+hypre_CSRMatrix * hypre_CSRMatrixUnion(
+   hypre_CSRMatrix * A, hypre_CSRMatrix * B,
+   int * col_map_offd_A, int * col_map_offd_B, int ** col_map_offd_C )
+{
+   int num_rows = hypre_CSRMatrixNumRows( A );
+   int num_cols_A = hypre_CSRMatrixNumCols( A );
+   int num_cols_B = hypre_CSRMatrixNumCols( B );
+   int num_cols;
+   int num_nonzeros;
+   int * A_i = hypre_CSRMatrixI(A);
+   int * A_j = hypre_CSRMatrixJ(A);
+   int * B_i = hypre_CSRMatrixI(B);
+   int * B_j = hypre_CSRMatrixJ(B);
+   int * C_i;
+   int * C_j;
+   int * jC = NULL;
+   int i, jA, jB, jBg;
+   int ma, mb, mc, ma_min, ma_max, match;
+   hypre_CSRMatrix * C;
+
+   hypre_assert( num_rows == hypre_CSRMatrixNumRows(B) );
+   if ( col_map_offd_B ) hypre_assert( col_map_offd_A );
+   if ( col_map_offd_A ) hypre_assert( col_map_offd_B );
+
+   /* ==== First, go through the columns of A and B to count the columns of C. */
+   if ( col_map_offd_A==0 )
+   {  /* The matrices are diagonal blocks.
+         Normally num_cols_A==num_cols_B, col_starts is the same, etc.
+      */
+      num_cols = hypre_max( num_cols_A, num_cols_B );
+   }
+   else
+   {  /* The matrices are offdiagonal blocks. */
+      jC = hypre_CTAlloc( int, num_cols_B );
+      num_cols = num_cols_A;  /* initialization; we'll compute the actual value */
+      for ( jB=0; jB<num_cols_B; ++jB )
+      {
+         match = 0;
+         jBg = col_map_offd_B[jB];
+         for ( ma=0; ma<num_cols_A; ++ma )
+         {
+            if ( col_map_offd_A[ma]==jBg )
+               match = 1;
+         }
+         if ( match==0 )
+         {
+            jC[jB] = num_cols;
+            ++num_cols;
+         }
+      }
+   }
+
+   /* ==== If we're working on a ParCSRMatrix's offd block,
+      make and load col_map_offd_C */
+   if ( col_map_offd_A )
+   {
+      *col_map_offd_C = hypre_CTAlloc( int, num_cols );
+      for ( jA=0; jA<num_cols_A; ++jA )
+         (*col_map_offd_C)[jA] = col_map_offd_A[jA];
+      for ( jB=0; jB<num_cols_B; ++jB )
+      {
+         match = 0;
+         jBg = col_map_offd_B[jB];
+         for ( ma=0; ma<num_cols_A; ++ma )
+         {
+            if ( col_map_offd_A[ma]==jBg )
+               match = 1;
+         }
+         if ( match==0 )
+            (*col_map_offd_C)[ jC[jB] ] = jBg;
+      }
+   }
+
+
+   /* ==== The first run through A and B is to count the number of nonzero elements,
+      without double-counting duplicates.  Then we can create C. */
+   num_nonzeros = hypre_CSRMatrixNumNonzeros(A);
+   for ( i=0; i<num_rows; ++i )
+   {
+      ma_min = A_i[i];  ma_max = A_i[i+1];
+      for ( mb=B_i[i]; mb<B_i[i+1]; ++mb )
+      {
+         jB = B_j[mb];
+         if ( col_map_offd_B ) jB = col_map_offd_B[jB];
+         match = 0;
+         for ( ma=ma_min; ma<ma_max; ++ma )
+         {
+            jA = A_j[ma];
+            if ( col_map_offd_A ) jA = col_map_offd_A[jA];
+            if ( jB == jA )
+            {
+               match = 1;
+               if( ma==ma_min ) ++ma_min;
+               break;
+            }
+         }
+         if ( match==0 )
+            ++num_nonzeros;
+      }
+   }
+
+   C = hypre_CSRMatrixCreate( num_rows, num_cols, num_nonzeros );
+   hypre_CSRMatrixInitialize( C );
+
+
+   /* ==== The second run through A and B is to pick out the column numbers
+      for each row, and put them in C. */
+   C_i = hypre_CSRMatrixI(C);
+   C_i[0] = 0;
+   C_j = hypre_CSRMatrixJ(C);
+   mc = 0;
+   for ( i=0; i<num_rows; ++i )
+   {
+      ma_min = A_i[i];  ma_max = A_i[i+1];
+      for ( ma=ma_min; ma<ma_max; ++ma )
+      {
+         C_j[mc] = A_j[ma];
+         ++mc;
+      }
+      for ( mb=B_i[i]; mb<B_i[i+1]; ++mb )
+      {
+         jB = B_j[mb];
+         if ( col_map_offd_B ) jB = col_map_offd_B[jB];
+         match = 0;
+         for ( ma=ma_min; ma<ma_max; ++ma )
+         {
+            jA = A_j[ma];
+            if ( col_map_offd_A ) jA = col_map_offd_A[jA];
+            if ( jB == jA )
+            {
+               match = 1;
+               if( ma==ma_min ) ++ma_min;
+               break;
+            }
+         }
+         if ( match==0 )
+         {
+            C_j[mc] = jC[ B_j[mb] ];
+            ++mc;
+         }
+      }
+      C_i[i+1] = mc;
+   }
+
+   hypre_assert( mc == num_nonzeros );
+   if (jC) hypre_TFree( jC );
+
+   return C;
+}

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.h
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.h?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.h (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matrix.h Fri Nov 21 00:17:30 2008
@@ -0,0 +1,106 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team. UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer, contact information and the GNU Lesser General Public License.
+ *
+ * HYPRE is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU General Public License (as published by the Free Software
+ * Foundation) version 2.1 dated February 1999.
+ *
+ * HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS 
+ * FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.4 $
+ ***********************************************************************EHEADER*/
+
+
+
+
+/******************************************************************************
+ *
+ * Header info for CSR Matrix data structures
+ *
+ * Note: this matrix currently uses 0-based indexing.
+ *
+ *****************************************************************************/
+
+#ifndef hypre_CSR_MATRIX_HEADER
+#define hypre_CSR_MATRIX_HEADER
+
+/*--------------------------------------------------------------------------
+ * CSR Matrix
+ *--------------------------------------------------------------------------*/
+
+typedef struct
+{
+   double  *data;
+   int     *i;
+   int     *j;
+   int      num_rows;
+   int      num_cols;
+   int      num_nonzeros;
+
+  /* for compressing rows in matrix multiplication  */
+   int     *rownnz;
+   int      num_rownnz;
+
+   /* Does the CSRMatrix create/destroy `data', `i', `j'? */
+   int      owns_data;
+
+} hypre_CSRMatrix;
+
+/*--------------------------------------------------------------------------
+ * Accessor functions for the CSR Matrix structure
+ *--------------------------------------------------------------------------*/
+
+#define hypre_CSRMatrixData(matrix)         ((matrix) -> data)
+#define hypre_CSRMatrixI(matrix)            ((matrix) -> i)
+#define hypre_CSRMatrixJ(matrix)            ((matrix) -> j)
+#define hypre_CSRMatrixNumRows(matrix)      ((matrix) -> num_rows)
+#define hypre_CSRMatrixNumCols(matrix)      ((matrix) -> num_cols)
+#define hypre_CSRMatrixNumNonzeros(matrix)  ((matrix) -> num_nonzeros)
+#define hypre_CSRMatrixRownnz(matrix)       ((matrix) -> rownnz)
+#define hypre_CSRMatrixNumRownnz(matrix)    ((matrix) -> num_rownnz)
+#define hypre_CSRMatrixOwnsData(matrix)     ((matrix) -> owns_data)
+
+
+
+/*--------------------------------------------------------------------------
+ * CSR Boolean Matrix
+ *--------------------------------------------------------------------------*/
+
+typedef struct
+{
+   int    *i;
+   int    *j;
+   int     num_rows;
+   int     num_cols;
+   int     num_nonzeros;
+   int     owns_data;
+
+} hypre_CSRBooleanMatrix;
+
+/*--------------------------------------------------------------------------
+ * Accessor functions for the CSR Boolean Matrix structure
+ *--------------------------------------------------------------------------*/
+
+#define hypre_CSRBooleanMatrix_Get_I(matrix)        ((matrix)->i)
+#define hypre_CSRBooleanMatrix_Get_J(matrix)        ((matrix)->j)
+#define hypre_CSRBooleanMatrix_Get_NRows(matrix)    ((matrix)->num_rows)
+#define hypre_CSRBooleanMatrix_Get_NCols(matrix)    ((matrix)->num_cols)
+#define hypre_CSRBooleanMatrix_Get_NNZ(matrix)      ((matrix)->num_nonzeros)
+#define hypre_CSRBooleanMatrix_Get_OwnsData(matrix) ((matrix)->owns_data)
+
+#endif
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matvec.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matvec.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matvec.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matvec.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,513 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team. UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer, contact information and the GNU Lesser General Public License.
+ *
+ * HYPRE is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU General Public License (as published by the Free Software
+ * Foundation) version 2.1 dated February 1999.
+ *
+ * HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS 
+ * FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.10 $
+ ***********************************************************************EHEADER*/
+
+
+
+/******************************************************************************
+ *
+ * Matvec functions for hypre_CSRMatrix class.
+ *
+ *****************************************************************************/
+
+#include "headers.h"
+#include <assert.h>
+#include "omp.h"
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixMatvec
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_CSRMatrixMatvec( double           alpha,
+              hypre_CSRMatrix *A,
+              hypre_Vector    *x,
+              double           beta,
+              hypre_Vector    *y     )
+{
+   double     *A_data   = hypre_CSRMatrixData(A);
+   int        *A_i      = hypre_CSRMatrixI(A);
+   int        *A_j      = hypre_CSRMatrixJ(A);
+   int         num_rows = hypre_CSRMatrixNumRows(A);
+   int         num_cols = hypre_CSRMatrixNumCols(A);
+
+   int        *A_rownnz = hypre_CSRMatrixRownnz(A);
+   int         num_rownnz = hypre_CSRMatrixNumRownnz(A);
+
+   double     *x_data = hypre_VectorData(x);
+   double     *y_data = hypre_VectorData(y);
+   int         x_size = hypre_VectorSize(x);
+   int         y_size = hypre_VectorSize(y);
+   int         num_vectors = hypre_VectorNumVectors(x);
+   int         idxstride_y = hypre_VectorIndexStride(y);
+   int         vecstride_y = hypre_VectorVectorStride(y);
+   int         idxstride_x = hypre_VectorIndexStride(x);
+   int         vecstride_x = hypre_VectorVectorStride(x);
+
+   double      temp, tempx;
+
+   int         i, j, jj;
+
+   int         m;
+
+   double     xpar=0.7;
+
+   int         ierr = 0;
+
+
+   /*---------------------------------------------------------------------
+    *  Check for size compatibility.  Matvec returns ierr = 1 if
+    *  length of X doesn't equal the number of columns of A,
+    *  ierr = 2 if the length of Y doesn't equal the number of rows
+    *  of A, and ierr = 3 if both are true.
+    *
+    *  Because temporary vectors are often used in Matvec, none of 
+    *  these conditions terminates processing, and the ierr flag
+    *  is informational only.
+    *--------------------------------------------------------------------*/
+ 
+    hypre_assert( num_vectors == hypre_VectorNumVectors(y) );
+
+    if (num_cols != x_size)
+              ierr = 1;
+
+    if (num_rows != y_size)
+              ierr = 2;
+
+    if (num_cols != x_size && num_rows != y_size)
+              ierr = 3;
+
+   /*-----------------------------------------------------------------------
+    * Do (alpha == 0.0) computation - RDF: USE MACHINE EPS
+    *-----------------------------------------------------------------------*/
+
+    if (alpha == 0.0)
+    {
+       for (i = 0; i < num_rows*num_vectors; i++)
+          y_data[i] *= beta;
+
+       return ierr;
+    }
+
+   /*-----------------------------------------------------------------------
+    * y = (beta/alpha)*y
+    *-----------------------------------------------------------------------*/
+   
+   temp = beta / alpha;
+
+   if (temp != 1.0)
+   {
+      if (temp == 0.0)
+      {
+	 for (i = 0; i < num_rows*num_vectors; i++)
+	    y_data[i] = 0.0;
+      }
+      else
+      {
+	 for (i = 0; i < num_rows*num_vectors; i++)
+	    y_data[i] *= temp;
+      }
+   }
+
+   /*-----------------------------------------------------------------
+    * y += A*x
+    *-----------------------------------------------------------------*/
+
+/* use rownnz pointer to do the A*x multiplication  when num_rownnz is smaller than num_rows */
+
+   if (num_rownnz < xpar*(num_rows))
+   {
+      for (i = 0; i < num_rownnz; i++)
+      {
+         m = A_rownnz[i];
+
+         /*
+          * for (jj = A_i[m]; jj < A_i[m+1]; jj++)
+          * {
+          *         j = A_j[jj];   
+          *  y_data[m] += A_data[jj] * x_data[j];
+          * } */
+         if ( num_vectors==1 )
+         {
+            tempx = y_data[m];
+            for (jj = A_i[m]; jj < A_i[m+1]; jj++) 
+               tempx +=  A_data[jj] * x_data[A_j[jj]];
+            y_data[m] = tempx;
+         }
+         else
+            for ( j=0; j<num_vectors; ++j )
+            {
+               tempx = y_data[ j*vecstride_y + m*idxstride_y ];
+               for (jj = A_i[m]; jj < A_i[m+1]; jj++) 
+                  tempx +=  A_data[jj] * x_data[ j*vecstride_x + A_j[jj]*idxstride_x ];
+               y_data[ j*vecstride_y + m*idxstride_y] = tempx;
+            }
+      }
+
+   }
+   else
+   {
+#pragma omp parallel for private(i,jj,temp) schedule(static)
+      for (i = 0; i < num_rows; i++)
+      {
+         if ( num_vectors==1 )
+         {
+            temp = y_data[i];
+            for (jj = A_i[i]; jj < A_i[i+1]; jj++)
+               temp += A_data[jj] * x_data[A_j[jj]];
+            y_data[i] = temp;
+         }
+         else
+            for ( j=0; j<num_vectors; ++j )
+            {
+               temp = y_data[ j*vecstride_y + i*idxstride_y ];
+               for (jj = A_i[i]; jj < A_i[i+1]; jj++)
+               {
+                  temp += A_data[jj] * x_data[ j*vecstride_x + A_j[jj]*idxstride_x ];
+               }
+               y_data[ j*vecstride_y + i*idxstride_y ] = temp;
+            }
+      }
+   }
+
+
+   /*-----------------------------------------------------------------
+    * y = alpha*y
+    *-----------------------------------------------------------------*/
+
+   if (alpha != 1.0)
+   {
+      for (i = 0; i < num_rows*num_vectors; i++)
+	 y_data[i] *= alpha;
+   }
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixMatvecT
+ *
+ *   Performs y <- alpha * A^T * x + beta * y
+ *
+ *   From Van Henson's modification of hypre_CSRMatrixMatvec.
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_CSRMatrixMatvecT( double           alpha,
+               hypre_CSRMatrix *A,
+               hypre_Vector    *x,
+               double           beta,
+               hypre_Vector    *y     )
+{
+   double     *A_data    = hypre_CSRMatrixData(A);
+   int        *A_i       = hypre_CSRMatrixI(A);
+   int        *A_j       = hypre_CSRMatrixJ(A);
+   int         num_rows  = hypre_CSRMatrixNumRows(A);
+   int         num_cols  = hypre_CSRMatrixNumCols(A);
+
+   double     *x_data = hypre_VectorData(x);
+   double     *y_data = hypre_VectorData(y);
+   int         x_size = hypre_VectorSize(x);
+   int         y_size = hypre_VectorSize(y);
+   int         num_vectors = hypre_VectorNumVectors(x);
+   int         idxstride_y = hypre_VectorIndexStride(y);
+   int         vecstride_y = hypre_VectorVectorStride(y);
+   int         idxstride_x = hypre_VectorIndexStride(x);
+   int         vecstride_x = hypre_VectorVectorStride(x);
+
+   double      temp;
+
+   int         i, i1, j, jv, jj, ns, ne, size, rest;
+   int         num_threads;
+
+   int         ierr  = 0;
+
+   /*---------------------------------------------------------------------
+    *  Check for size compatibility.  MatvecT returns ierr = 1 if
+    *  length of X doesn't equal the number of rows of A,
+    *  ierr = 2 if the length of Y doesn't equal the number of 
+    *  columns of A, and ierr = 3 if both are true.
+    *
+    *  Because temporary vectors are often used in MatvecT, none of 
+    *  these conditions terminates processing, and the ierr flag
+    *  is informational only.
+    *--------------------------------------------------------------------*/
+
+    hypre_assert( num_vectors == hypre_VectorNumVectors(y) );
+ 
+    if (num_rows != x_size)
+              ierr = 1;
+
+    if (num_cols != y_size)
+              ierr = 2;
+
+    if (num_rows != x_size && num_cols != y_size)
+              ierr = 3;
+   /*-----------------------------------------------------------------------
+    * Do (alpha == 0.0) computation - RDF: USE MACHINE EPS
+    *-----------------------------------------------------------------------*/
+
+   if (alpha == 0.0)
+   {
+
+      for (i = 0; i < num_cols*num_vectors; i++)
+	 y_data[i] *= beta;
+
+      return ierr;
+   }
+
+   /*-----------------------------------------------------------------------
+    * y = (beta/alpha)*y
+    *-----------------------------------------------------------------------*/
+
+   temp = beta / alpha;
+   
+   if (temp != 1.0)
+   {
+      if (temp == 0.0)
+      {
+
+	 for (i = 0; i < num_cols*num_vectors; i++)
+	    y_data[i] = 0.0;
+      }
+      else
+      {
+
+	 for (i = 0; i < num_cols*num_vectors; i++)
+	    y_data[i] *= temp;
+      }
+   }
+
+   /*-----------------------------------------------------------------
+    * y += A^T*x
+    *-----------------------------------------------------------------*/
+   num_threads = hypre_NumThreads();
+   if (num_threads > 1)
+   {
+
+
+      for (i1 = 0; i1 < num_threads; i1++)
+      {
+         size = num_cols/num_threads;
+         rest = num_cols - size*num_threads;
+         if (i1 < rest)
+         {
+            ns = i1*size+i1-1;
+            ne = (i1+1)*size+i1+1;
+         }
+         else
+         {
+            ns = i1*size+rest-1;
+            ne = (i1+1)*size+rest;
+         }
+         if ( num_vectors==1 )
+         {
+            for (i = 0; i < num_rows; i++)
+            {
+               for (jj = A_i[i]; jj < A_i[i+1]; jj++)
+               {
+                  j = A_j[jj];
+                  if (j > ns && j < ne)
+                     y_data[j] += A_data[jj] * x_data[i];
+               }
+            }
+         }
+         else
+         {
+            for (i = 0; i < num_rows; i++)
+            {
+               for ( jv=0; jv<num_vectors; ++jv )
+               {
+                  for (jj = A_i[i]; jj < A_i[i+1]; jj++)
+                  {
+                     j = A_j[jj];
+                     if (j > ns && j < ne)
+                        y_data[ j*idxstride_y + jv*vecstride_y ] +=
+                           A_data[jj] * x_data[ i*idxstride_x + jv*vecstride_x];
+                  }
+               }
+            }
+         }
+
+      }
+   }
+   else 
+   {
+      for (i = 0; i < num_rows; i++)
+      {
+         if ( num_vectors==1 )
+         {
+            for (jj = A_i[i]; jj < A_i[i+1]; jj++)
+            {
+               j = A_j[jj];
+               y_data[j] += A_data[jj] * x_data[i];
+            }
+         }
+         else
+         {
+            for ( jv=0; jv<num_vectors; ++jv )
+            {
+               for (jj = A_i[i]; jj < A_i[i+1]; jj++)
+               {
+                  j = A_j[jj];
+                  y_data[ j*idxstride_y + jv*vecstride_y ] +=
+                     A_data[jj] * x_data[ i*idxstride_x + jv*vecstride_x ];
+               }
+            }
+         }
+      }
+   }
+   /*-----------------------------------------------------------------
+    * y = alpha*y
+    *-----------------------------------------------------------------*/
+
+   if (alpha != 1.0)
+   {
+
+      for (i = 0; i < num_cols*num_vectors; i++)
+	 y_data[i] *= alpha;
+   }
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CSRMatrixMatvec_FF
+ *--------------------------------------------------------------------------*/
+                                                                                                              
+int
+hypre_CSRMatrixMatvec_FF( double           alpha,
+              hypre_CSRMatrix *A,
+              hypre_Vector    *x,
+              double           beta,
+              hypre_Vector    *y,
+              int             *CF_marker_x,
+              int             *CF_marker_y,
+              int fpt )
+{
+   double     *A_data   = hypre_CSRMatrixData(A);
+   int        *A_i      = hypre_CSRMatrixI(A);
+   int        *A_j      = hypre_CSRMatrixJ(A);
+   int         num_rows = hypre_CSRMatrixNumRows(A);
+   int         num_cols = hypre_CSRMatrixNumCols(A);
+                                                                                                              
+   double     *x_data = hypre_VectorData(x);
+   double     *y_data = hypre_VectorData(y);
+   int         x_size = hypre_VectorSize(x);
+   int         y_size = hypre_VectorSize(y);
+                                                                                                              
+   double      temp;
+                                                                                                              
+   int         i, jj;
+                                                                                                              
+   int         ierr = 0;
+                                                                                                              
+                                                                                                              
+   /*---------------------------------------------------------------------
+    *  Check for size compatibility.  Matvec returns ierr = 1 if
+    *  length of X doesn't equal the number of columns of A,
+    *  ierr = 2 if the length of Y doesn't equal the number of rows
+    *  of A, and ierr = 3 if both are true.
+    *
+    *  Because temporary vectors are often used in Matvec, none of
+    *  these conditions terminates processing, and the ierr flag
+    *  is informational only.
+    *--------------------------------------------------------------------*/
+                                                                                                              
+    if (num_cols != x_size)
+              ierr = 1;
+                                                                                                              
+    if (num_rows != y_size)
+              ierr = 2;
+                                                                                                              
+    if (num_cols != x_size && num_rows != y_size)
+              ierr = 3;
+                                                                                                              
+   /*-----------------------------------------------------------------------
+    * Do (alpha == 0.0) computation - RDF: USE MACHINE EPS
+    *-----------------------------------------------------------------------*/
+                                                                                                              
+    if (alpha == 0.0)
+    {
+
+       for (i = 0; i < num_rows; i++)
+          if (CF_marker_x[i] == fpt) y_data[i] *= beta;
+                                                                                                              
+       return ierr;
+    }
+                                                                                                              
+   /*-----------------------------------------------------------------------
+    * y = (beta/alpha)*y
+    *-----------------------------------------------------------------------*/
+                                                                                                              
+   temp = beta / alpha;
+                                                                                                              
+   if (temp != 1.0)
+   {
+      if (temp == 0.0)
+      {
+
+         for (i = 0; i < num_rows; i++)
+            if (CF_marker_x[i] == fpt) y_data[i] = 0.0;
+      }
+      else
+      {
+
+         for (i = 0; i < num_rows; i++)
+            if (CF_marker_x[i] == fpt) y_data[i] *= temp;
+      }
+   }
+                                                                                                              
+   /*-----------------------------------------------------------------
+    * y += A*x
+    *-----------------------------------------------------------------*/
+                                                                                                              
+
+                                                                                                              
+   for (i = 0; i < num_rows; i++)
+   {
+      if (CF_marker_x[i] == fpt)
+      {
+         temp = y_data[i];
+         for (jj = A_i[i]; jj < A_i[i+1]; jj++)
+            if (CF_marker_y[A_j[jj]] == fpt) temp += A_data[jj] * x_data[A_j[jj]];
+         y_data[i] = temp;
+      }
+   }
+                                                                                                              
+                                                                                                              
+   /*-----------------------------------------------------------------
+    * y = alpha*y
+    *-----------------------------------------------------------------*/
+                                                                                                              
+   if (alpha != 1.0)
+   {
+
+      for (i = 0; i < num_rows; i++)
+         if (CF_marker_x[i] == fpt) y_data[i] *= alpha;
+   }
+                                                                                                              
+   return ierr;
+}

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/headers.h
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/headers.h?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/headers.h (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/headers.h Fri Nov 21 00:17:30 2008
@@ -0,0 +1,37 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team. UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer, contact information and the GNU Lesser General Public License.
+ *
+ * HYPRE is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU General Public License (as published by the Free Software
+ * Foundation) version 2.1 dated February 1999.
+ *
+ * HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS 
+ * FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.3 $
+ ***********************************************************************EHEADER*/
+
+
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <math.h>
+
+#include "utilities.h"
+#include "seq_mv.h"
+
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_error.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_error.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_error.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_error.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,76 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team, UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer and the GNU Lesser General Public License.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License (as published by the Free
+ * Software Foundation) version 2.1 dated February 1999.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the terms and conditions of the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.5 $
+ ***********************************************************************EHEADER*/
+
+#include <stdio.h>
+#include "utilities.h"
+
+int hypre__global_error = 0;
+
+/* Process the error with code ierr raised in the given line of the
+   given source file. */
+void hypre_error_handler(char *filename, int line, int ierr)
+{
+   hypre_error_flag |= ierr;
+
+#ifdef HYPRE_PRINT_ERRORS
+   fprintf(stderr,
+           "hypre error in file \"%s\", line %d, error code = %d ",
+           filename, line, ierr);
+#endif
+}
+
+int HYPRE_GetError()
+{
+   return hypre_error_flag;
+}
+
+int HYPRE_CheckError(int ierr, int hypre_error_code)
+{
+   return ierr & hypre_error_code;
+}
+
+void HYPRE_DescribeError(int ierr, char *msg)
+{
+   if (ierr == 0)
+      sprintf(msg,"[No error] ");
+
+   if (ierr & HYPRE_ERROR_GENERIC)
+      sprintf(msg,"[Generic error] ");
+
+   if (ierr & HYPRE_ERROR_MEMORY)
+      sprintf(msg,"[Memory error] ");
+
+   if (ierr & HYPRE_ERROR_ARG)
+      sprintf(msg,"[Error in argument %d] ", HYPRE_GetErrorArg());
+
+   if (ierr & HYPRE_ERROR_CONV)
+      sprintf(msg,"[Method did not converge] ");
+}
+
+int HYPRE_GetErrorArg()
+{
+   return (hypre_error_flag>>3 & 31);
+}

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_memory.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_memory.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_memory.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/hypre_memory.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,338 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team, UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer and the GNU Lesser General Public License.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License (as published by the Free
+ * Software Foundation) version 2.1 dated February 1999.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the terms and conditions of the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.4 $
+ ***********************************************************************EHEADER*/
+
+
+/******************************************************************************
+ *
+ * Memory management utilities
+ *
+ *****************************************************************************/
+#include <stdlib.h>
+#include <stdio.h>
+#include "utilities.h"
+
+#ifdef HYPRE_USE_PTHREADS
+#include "threading.h"
+
+#ifdef HYPRE_USE_UMALLOC
+#include "umalloc_local.h"
+
+#define _umalloc_(size) (threadid == hypre_NumThreads) ? \
+                        (char *) malloc(size) : \
+                        (char *) _umalloc(_uparam[threadid].myheap, size)
+#define _ucalloc_(count, size) (threadid == hypre_NumThreads) ? \
+                               (char *) calloc(count, size) : \
+                               (char *) _ucalloc(_uparam[threadid].myheap,\
+                                                 count, size)
+#define _urealloc_(ptr, size) (threadid == hypre_NumThreads) ? \
+                              (char *) realloc(ptr, size) : \
+                              (char *) _urealloc(ptr, size)
+#define _ufree_(ptr)          (threadid == hypre_NumThreads) ? \
+                              free(ptr) : _ufree(ptr)
+#endif
+#else
+#ifdef HYPRE_USE_UMALLOC
+#undef HYPRE_USE_UMALLOC
+#endif
+#endif
+
+/******************************************************************************
+ *
+ * Standard routines
+ *
+ *****************************************************************************/
+
+/*--------------------------------------------------------------------------
+ * hypre_OutOfMemory
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_OutOfMemory( int size )
+{
+   printf("Out of memory trying to allocate %d bytes\n", size);
+   fflush(stdout);
+
+   hypre_error(HYPRE_ERROR_MEMORY);
+
+   return 0;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_MAlloc
+ *--------------------------------------------------------------------------*/
+
+char *
+hypre_MAlloc( int size )
+{
+   char *ptr;
+
+   if (size > 0)
+   {
+#ifdef HYPRE_USE_UMALLOC
+      int threadid = hypre_GetThreadID();
+
+      ptr = _umalloc_(size);
+#else
+      ptr = malloc(size);
+#endif
+
+#if 1
+      if (ptr == NULL)
+      {
+        hypre_OutOfMemory(size);
+      }
+#endif
+   }
+   else
+   {
+      ptr = NULL;
+   }
+
+   return ptr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_CAlloc
+ *--------------------------------------------------------------------------*/
+
+char *
+hypre_CAlloc( int count,
+              int elt_size )
+{
+   char *ptr;
+   int   size = count*elt_size;
+
+   if (size > 0)
+   {
+#ifdef HYPRE_USE_UMALLOC
+      int threadid = hypre_GetThreadID();
+
+      ptr = _ucalloc_(count, elt_size);
+#else
+      ptr = calloc(count, elt_size);
+#endif
+
+#if 1
+      if (ptr == NULL)
+      {
+        hypre_OutOfMemory(size);
+      }
+#endif
+   }
+   else
+   {
+      ptr = NULL;
+   }
+
+   return ptr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_ReAlloc
+ *--------------------------------------------------------------------------*/
+
+char *
+hypre_ReAlloc( char *ptr,
+               int   size )
+{
+#ifdef HYPRE_USE_UMALLOC
+   if (ptr == NULL)
+   {
+      ptr = hypre_MAlloc(size);
+   }
+   else if (size == 0)
+   {
+      hypre_Free(ptr);
+   }
+   else
+   {
+      int threadid = hypre_GetThreadID();
+      ptr = _urealloc_(ptr, size);
+   }
+#else
+   if (ptr == NULL)
+   {
+      ptr = malloc(size);
+   }
+   else
+   {
+      ptr = realloc(ptr, size);
+   }
+#endif
+
+#if 1
+   if ((ptr == NULL) && (size > 0))
+   {
+      hypre_OutOfMemory(size);
+   }
+#endif
+
+   return ptr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_Free
+ *--------------------------------------------------------------------------*/
+
+void
+hypre_Free( char *ptr )
+{
+   if (ptr)
+   {
+#ifdef HYPRE_USE_UMALLOC
+      int threadid = hypre_GetThreadID();
+
+      _ufree_(ptr);
+#else
+      free(ptr);
+#endif
+   }
+}
+
+
+/*--------------------------------------------------------------------------
+ * These Shared routines are for one thread to allocate memory for data
+ * will be visible to all threads.  The file-scope pointer
+ * global_alloc_ptr is used in these routines.
+ *--------------------------------------------------------------------------*/
+
+#ifdef HYPRE_USE_PTHREADS
+
+char *global_alloc_ptr;
+double *global_data_ptr;
+
+/*--------------------------------------------------------------------------
+ * hypre_SharedMAlloc
+ *--------------------------------------------------------------------------*/
+
+char *
+hypre_SharedMAlloc( int size )
+{
+   char *ptr;
+   int unthreaded = pthread_equal(initial_thread, pthread_self());
+   int I_call_malloc = unthreaded ||
+                       pthread_equal(hypre_thread[0],pthread_self());
+
+   if (I_call_malloc) {
+      global_alloc_ptr = hypre_MAlloc( size );
+   }
+
+   hypre_barrier(&talloc_mtx, unthreaded);
+   ptr = global_alloc_ptr;
+   hypre_barrier(&talloc_mtx, unthreaded);
+
+   return ptr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SharedCAlloc
+ *--------------------------------------------------------------------------*/
+
+char *
+hypre_SharedCAlloc( int count,
+              int elt_size )
+{
+   char *ptr;
+   int unthreaded = pthread_equal(initial_thread, pthread_self());
+   int I_call_calloc = unthreaded ||
+                       pthread_equal(hypre_thread[0],pthread_self());
+
+   if (I_call_calloc) {
+      global_alloc_ptr = hypre_CAlloc( count, elt_size );
+   }
+
+   hypre_barrier(&talloc_mtx, unthreaded);
+   ptr = global_alloc_ptr;
+   hypre_barrier(&talloc_mtx, unthreaded);
+
+   return ptr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SharedReAlloc
+ *--------------------------------------------------------------------------*/
+
+char *
+hypre_SharedReAlloc( char *ptr,
+                     int   size )
+{
+   int unthreaded = pthread_equal(initial_thread, pthread_self());
+   int I_call_realloc = unthreaded ||
+                       pthread_equal(hypre_thread[0],pthread_self());
+
+   if (I_call_realloc) {
+      global_alloc_ptr = hypre_ReAlloc( ptr, size );
+   }
+
+   hypre_barrier(&talloc_mtx, unthreaded);
+   ptr = global_alloc_ptr;
+   hypre_barrier(&talloc_mtx, unthreaded);
+
+   return ptr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SharedFree
+ *--------------------------------------------------------------------------*/
+
+void
+hypre_SharedFree( char *ptr )
+{
+   int unthreaded = pthread_equal(initial_thread, pthread_self());
+   int I_call_free = unthreaded ||
+                     pthread_equal(hypre_thread[0],pthread_self());
+
+   hypre_barrier(&talloc_mtx, unthreaded);
+   if (I_call_free) {
+      hypre_Free(ptr);
+   }
+   hypre_barrier(&talloc_mtx, unthreaded);
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_IncrementSharedDataPtr
+ *--------------------------------------------------------------------------*/
+
+double *
+hypre_IncrementSharedDataPtr( double *ptr, int size )
+{
+   int unthreaded = pthread_equal(initial_thread, pthread_self());
+   int I_increment = unthreaded ||
+                     pthread_equal(hypre_thread[0],pthread_self());
+
+   if (I_increment) {
+      global_data_ptr = ptr + size;
+   }
+
+   hypre_barrier(&talloc_mtx, unthreaded);
+   ptr = global_data_ptr;
+   hypre_barrier(&talloc_mtx, unthreaded);
+
+   return ptr;
+}
+
+#endif
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/laplace.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/laplace.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/laplace.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/laplace.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,181 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team. UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer, contact information and the GNU Lesser General Public License.
+ *
+ * HYPRE is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU General Public License (as published by the Free Software
+ * Foundation) version 2.1 dated February 1999.
+ *
+ * HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS 
+ * FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.10 $
+ ***********************************************************************EHEADER*/
+
+
+
+ 
+#include "headers.h"
+ 
+/*--------------------------------------------------------------------------
+ * hypre_GenerateLaplacian
+ *--------------------------------------------------------------------------*/
+
+hypre_CSRMatrix *
+GenerateSeqLaplacian( int      nx,
+
+                   int      ny,
+                   int      nz, 
+                   double  *value,
+                   hypre_Vector **rhs_ptr,
+                   hypre_Vector **x_ptr,
+                   hypre_Vector **sol_ptr)
+{
+   hypre_CSRMatrix *A;
+   hypre_Vector *rhs;
+   hypre_Vector *x;
+   hypre_Vector *sol;
+   double *rhs_data;
+   double *x_data;
+   double *sol_data;
+
+   int    *A_i;
+   int    *A_j;
+   double *A_data;
+
+   int ix, iy, iz;
+   int cnt;
+   int row_index;
+   int i, j;
+
+   int grid_size;
+
+
+   grid_size = nx*ny*nz;
+
+   A_i = hypre_CTAlloc(int, grid_size+1);
+   rhs_data = hypre_CTAlloc(double, grid_size);
+   x_data = hypre_CTAlloc(double, grid_size);
+   sol_data = hypre_CTAlloc(double, grid_size);
+
+   for (i=0; i < grid_size; i++)
+   {
+      x_data[i] = 0.0;
+      sol_data[i] = 0.0;
+      rhs_data[i] = 1.0;
+   }
+
+   cnt = 1;
+   A_i[0] = 0;
+   for (iz = 0; iz < nz; iz++)
+   {
+      for (iy = 0;  iy < ny; iy++)
+      {
+         for (ix = 0; ix < nx; ix++)
+         {
+            A_i[cnt] = A_i[cnt-1];
+            A_i[cnt]++;
+            if (iz) 
+               A_i[cnt]++;
+            if (iy) 
+               A_i[cnt]++;
+            if (ix) 
+               A_i[cnt]++;
+            if (ix+1 < nx) 
+               A_i[cnt]++;
+            if (iy+1 < ny) 
+               A_i[cnt]++;
+            if (iz+1 < nz) 
+               A_i[cnt]++;
+            cnt++;
+         }
+      }
+   }
+
+   A_j = hypre_CTAlloc(int, A_i[grid_size]);
+   A_data = hypre_CTAlloc(double, A_i[grid_size]);
+
+   row_index = 0;
+   cnt = 0;
+   for (iz = 0; iz < nz; iz++)
+   {
+      for (iy = 0;  iy < ny; iy++)
+      {
+         for (ix = 0; ix < nx; ix++)
+         {
+            A_j[cnt] = row_index;
+            A_data[cnt++] = value[0];
+            if (iz) 
+            {
+               A_j[cnt] = row_index-nx*ny;
+               A_data[cnt++] = value[3];
+            }
+            if (iy) 
+            {
+               A_j[cnt] = row_index-nx;
+               A_data[cnt++] = value[2];
+            }
+            if (ix) 
+            {
+               A_j[cnt] = row_index-1;
+               A_data[cnt++] = value[1];
+            }
+            if (ix+1 < nx) 
+            {
+               A_j[cnt] = row_index+1;
+               A_data[cnt++] = value[1];
+            }
+            if (iy+1 < ny) 
+            {
+               A_j[cnt] = row_index+nx;
+               A_data[cnt++] = value[2];
+            }
+            if (iz+1 < nz) 
+            {
+               A_j[cnt] = row_index+nx*ny;
+               A_data[cnt++] = value[3];
+            }
+            row_index++;
+         }
+      }
+   }
+
+   A = hypre_CSRMatrixCreate(grid_size, grid_size,
+                                A_i[grid_size]);
+                                
+   
+   rhs = hypre_SeqVectorCreate(grid_size);
+   hypre_VectorData(rhs) = rhs_data;
+
+   x = hypre_SeqVectorCreate(grid_size);
+   hypre_VectorData(x) = x_data;
+
+   for (i=0; i < grid_size; i++)
+      for (j=A_i[i]; j < A_i[i+1]; j++)
+          sol_data[i] += A_data[j];
+
+   sol = hypre_SeqVectorCreate(grid_size);
+   hypre_VectorData(sol) = sol_data;
+
+   hypre_CSRMatrixI(A) = A_i;
+   hypre_CSRMatrixJ(A) = A_j;
+   hypre_CSRMatrixData(A) = A_data;
+
+   *rhs_ptr = rhs;
+   *x_ptr = x;
+   *sol_ptr = sol;
+
+   return A;
+}

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/main.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/main.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/main.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/main.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,286 @@
+/*BHEADER****************************************************************
+ * (c) 2007   The Regents of the University of California               *
+ *                                                                      *
+ * See the file COPYRIGHT_and_DISCLAIMER for a complete copyright       *
+ * notice and disclaimer.                                               *
+ *                                                                      *
+ *EHEADER****************************************************************/
+
+//--------------
+//  A micro kernel 
+//--------------
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/time.h>
+#include <time.h>
+
+#include "headers.h"
+
+//
+const int testIter   = 2000;
+double totalWallTime = 0.0;
+double totalCPUTime  = 0.0;
+
+// 
+void test_Matvec();
+void test_Relax();
+void test_Axpy();
+
+//
+int main(int argc, char *argv[])
+{
+  struct timeval  t0, t1;
+  clock_t t0_cpu = 0,
+          t1_cpu = 0;
+
+  double del_wtime = 0.0;
+
+
+  printf("\n");
+  printf("//------------ \n");
+  printf("// \n");
+  printf("//  Sequoia Benchmark Version 1.0 \n");
+  printf("// \n");
+  printf("//------------ \n");
+
+  gettimeofday(&t0, ((void *)0));
+  t0_cpu = clock();
+
+  // Matvec
+  totalWallTime = 0.0;
+  totalCPUTime  = 0.0;
+
+  test_Matvec();
+
+  printf("\n");
+  printf("//------------ \n");
+  printf("// \n");
+  printf("//   MATVEC\n");
+  printf("// \n");
+  printf("//------------ \n");
+
+//  printf("\nTotal Wall time = %f seconds. \n", totalWallTime);
+
+//  printf("\nTotal CPU  time = %f seconds. \n\n", totalCPUTime);
+
+  // Relax
+  totalWallTime = 0.0;
+  totalCPUTime  = 0.0;
+
+  test_Relax();
+
+  printf("\n");
+  printf("//------------ \n");
+  printf("// \n");
+  printf("//   Relax\n");
+  printf("// \n");
+  printf("//------------ \n");
+
+//  printf("\nTotal Wall time = %f seconds. \n", totalWallTime);
+
+//  printf("\nTotal CPU  time = %f seconds. \n\n", totalCPUTime);
+
+  // Axpy
+  totalWallTime = 0.0;
+  totalCPUTime  = 0.0;
+
+  test_Axpy();
+
+  printf("\n");
+  printf("//------------ \n");
+  printf("// \n");
+  printf("//   Axpy\n");
+  printf("// \n");
+  printf("//------------ \n");
+
+//  printf("\nTotal Wall time = %f seconds. \n", totalWallTime);
+
+//  printf("\nTotal CPU  time = %f seconds. \n\n", totalCPUTime);
+
+
+  gettimeofday(&t1, ((void *)0));
+  t1_cpu = clock();
+
+  del_wtime = (double)(t1.tv_sec - t0.tv_sec) +
+              (double)(t1.tv_usec - t0.tv_usec)/1000000.0;
+
+//  printf("\nTotal Wall time = %f seconds. \n", del_wtime);
+//  printf("\nTotal CPU  time = %f seconds. \n", ((double) (t1_cpu - t0_cpu))/CLOCKS_PER_SEC);
+
+  return  0;
+
+}
+
+void test_Matvec()
+{
+  struct timeval  t0, t1;
+  clock_t t0_cpu = 0,
+          t1_cpu = 0;
+
+  hypre_CSRMatrix *A;
+  hypre_Vector *x, *y, *sol;
+  int nx, ny, nz, i;
+  double *values;
+  double *y_data, *sol_data;
+  double error, diff;
+
+  nx = 50;  /* size per proc nx*ny*nz */
+  ny = 50;
+  nz = 50;
+
+  values = hypre_CTAlloc(double, 4);
+  values[0] = 6; 
+  values[1] = -1;
+  values[2] = -1;
+  values[3] = -1;
+
+  A = GenerateSeqLaplacian(nx, ny, nz, values, &y, &x, &sol);
+
+  hypre_SeqVectorSetConstantValues(x,1);
+  hypre_SeqVectorSetConstantValues(y,0);
+
+  gettimeofday(&t0, ((void *)0));
+  t0_cpu = clock();
+
+  for (i=0; i<testIter; ++i)
+      hypre_CSRMatrixMatvec(1,A,x,0,y);
+
+  gettimeofday(&t1, ((void *)0));
+  t1_cpu = clock();
+
+  totalWallTime += (double)(t1.tv_sec - t0.tv_sec) +
+                   (double)(t1.tv_usec - t0.tv_usec)/1000000.0;
+
+  totalCPUTime  += ((double) (t1_cpu - t0_cpu))/CLOCKS_PER_SEC;
+
+  y_data = hypre_VectorData(y);
+  sol_data = hypre_VectorData(sol);
+
+  error = 0;
+  for (i=0; i < nx*ny*nz; i++)
+  {
+      diff = fabs(y_data[i]-sol_data[i]);
+      if (diff > error) error = diff;
+  }
+     
+  if (error > 0) printf(" \n Matvec: error: %e\n", error);
+
+  hypre_TFree(values);
+  hypre_CSRMatrixDestroy(A);
+  hypre_SeqVectorDestroy(x);
+  hypre_SeqVectorDestroy(y);
+  hypre_SeqVectorDestroy(sol);
+
+}
+
+void test_Relax()
+{
+  struct timeval  t0, t1;
+  clock_t t0_cpu = 0,
+          t1_cpu = 0;
+
+  hypre_CSRMatrix *A;
+  hypre_Vector *x, *y, *sol;
+  int nx, ny, nz, i;
+  double *values;
+  double *x_data;
+  double diff, error;
+
+  nx = 50;  /* size per proc nx*ny*nz */
+  ny = 50;
+  nz = 50;
+
+  values = hypre_CTAlloc(double, 4);
+  values[0] = 6; 
+  values[1] = -1;
+  values[2] = -1;
+  values[3] = -1;
+
+  A = GenerateSeqLaplacian(nx, ny, nz, values, &y, &x, &sol);
+
+  hypre_SeqVectorSetConstantValues(x,1);
+
+  gettimeofday(&t0, ((void *)0));
+  t0_cpu = clock();
+
+  for (i=0; i<testIter; ++i)
+      hypre_BoomerAMGSeqRelax(A, sol, x);
+
+  gettimeofday(&t1, ((void *)0));
+  t1_cpu = clock();
+
+  totalWallTime += (double)(t1.tv_sec - t0.tv_sec) +
+                   (double)(t1.tv_usec - t0.tv_usec)/1000000.0;
+
+  totalCPUTime  += ((double) (t1_cpu - t0_cpu))/CLOCKS_PER_SEC;
+
+  x_data = hypre_VectorData(x);
+  error = 0;
+  for (i=0; i < nx*ny*nz; i++)
+  {
+      diff = fabs(x_data[i]-1);
+      if (diff > error) error = diff;
+  }
+     
+  if (error > 0) printf(" \n Relax: error: %e\n", error);
+
+  hypre_TFree(values);
+  hypre_CSRMatrixDestroy(A);
+  hypre_SeqVectorDestroy(x);
+  hypre_SeqVectorDestroy(y);
+  hypre_SeqVectorDestroy(sol);
+
+}
+
+void test_Axpy()
+{
+  struct timeval  t0, t1;
+  clock_t t0_cpu = 0,
+          t1_cpu = 0;
+
+  hypre_Vector *x, *y;
+  int nx, i;
+  double alpha=0.5;
+  double diff, error;
+  double *y_data;
+
+  nx = 125000;  /* size per proc  */
+
+  x = hypre_SeqVectorCreate(nx);
+  y = hypre_SeqVectorCreate(nx);
+
+  hypre_SeqVectorInitialize(x);
+  hypre_SeqVectorInitialize(y);
+
+  hypre_SeqVectorSetConstantValues(x,1);
+  hypre_SeqVectorSetConstantValues(y,1);
+
+  gettimeofday(&t0, ((void *)0));
+  t0_cpu = clock();
+
+  for (i=0; i<testIter; ++i)
+      hypre_SeqVectorAxpy(alpha,x,y);
+
+  gettimeofday(&t1, ((void *)0));
+  t1_cpu = clock();
+
+  y_data = hypre_VectorData(y);
+  error = 0;
+  for (i=0; i < nx; i++)
+  {
+    diff = fabs(y_data[i]-1-0.5*(double)testIter);
+      if (diff > error) error = diff;
+  }
+     
+  if (error > 0) printf(" \n Axpy: error: %e\n", error);
+
+  totalWallTime += (double)(t1.tv_sec - t0.tv_sec) +
+                   (double)(t1.tv_usec - t0.tv_usec)/1000000.0;
+
+  totalCPUTime  += ((double) (t1_cpu - t0_cpu))/CLOCKS_PER_SEC;
+
+  hypre_SeqVectorDestroy(x);
+  hypre_SeqVectorDestroy(y);
+
+}
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/relax.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/relax.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/relax.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/relax.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,154 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team. UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer, contact information and the GNU Lesser General Public License.
+ *
+ * HYPRE is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU General Public License (as published by the Free Software
+ * Foundation) version 2.1 dated February 1999.
+ *
+ * HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS 
+ * FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.8 $
+ ***********************************************************************EHEADER*/
+
+
+
+
+/******************************************************************************
+ *
+ * Relaxation scheme
+ *
+ *****************************************************************************/
+
+#include "headers.h"
+#include "omp.h"
+
+/*--------------------------------------------------------------------------
+ * hypre_BoomerAMGSeqRelax
+ *--------------------------------------------------------------------------*/
+
+int  hypre_BoomerAMGSeqRelax( hypre_CSRMatrix *A,
+                        hypre_Vector    *f,
+                        hypre_Vector    *u)
+{
+   double         *A_diag_data  = hypre_CSRMatrixData(A);
+   int            *A_diag_i     = hypre_CSRMatrixI(A);
+   int            *A_diag_j     = hypre_CSRMatrixJ(A);
+
+   int             n       = hypre_CSRMatrixNumRows(A);
+   
+   double         *u_data  = hypre_VectorData(u);
+
+   double         *f_data  = hypre_VectorData(f);
+
+   double         *tmp_data;
+   
+   double          res;
+
+   
+   int             i, j;
+   int             ii, jj;
+   int             ns, ne, size, rest;
+   int             relax_error = 0;
+   //   int		   index, start;
+   int		   num_threads;
+
+   num_threads = hypre_NumThreads();
+   /*-----------------------------------------------------------------------
+    * Switch statement to direct control based on relax_type:
+    *     relax_type = 3 -> hybrid: SOR-J mix off-processor, SOR on-processor
+    *     		    with outer relaxation parameters (forward solve)
+    *-----------------------------------------------------------------------*/
+
+        /*-----------------------------------------------------------------
+         * Relax all points.
+         *-----------------------------------------------------------------*/
+
+        if (1)
+          {
+	   tmp_data = hypre_CTAlloc(double,n);
+#pragma omp parallel private(num_threads)
+ {
+            num_threads = 1; /* omp_get_num_threads(); */
+
+#pragma omp for private(i)
+           for (i = 0; i < n; i++)
+	      tmp_data[i] = u_data[i];
+
+#pragma omp for  private(i,ii,j,jj,ns,ne,res,rest,size)
+           for (j = 0; j < num_threads; j++)
+	   {
+	    size = n/num_threads;
+	    rest = n - size*num_threads;
+	    if (j < rest)
+	    {
+	       ns = j*size+j;
+	       ne = (j+1)*size+j+1;
+	    }
+	    else
+	    {
+	       ns = j*size+rest;
+	       ne = (j+1)*size+rest;
+	    }
+            for (i = ns; i < ne; i++)	/* interior points first */
+            {
+
+               /*-----------------------------------------------------------
+                * If diagonal is nonzero, relax point i; otherwise, skip it.
+                *-----------------------------------------------------------*/
+             
+               if ( A_diag_data[A_diag_i[i]] != 0.0)
+               {
+                  res = f_data[i];
+                  for (jj = A_diag_i[i]+1; jj < A_diag_i[i+1]; jj++)
+                  {
+                     ii = A_diag_j[jj];
+		     if (ii >= ns && ii < ne)
+                        res -= A_diag_data[jj] * u_data[ii];
+		     else
+                        res -= A_diag_data[jj] * tmp_data[ii];
+                  }
+                  u_data[i] = res / A_diag_data[A_diag_i[i]];
+               }
+            }
+           }
+ }
+           hypre_TFree(tmp_data);
+          }
+	  else
+          {
+            for (i = 0; i < n; i++)	/* interior points first */
+            {
+
+               /*-----------------------------------------------------------
+                * If diagonal is nonzero, relax point i; otherwise, skip it.
+                *-----------------------------------------------------------*/
+             
+               if ( A_diag_data[A_diag_i[i]] != 0.0)
+               {
+                  res = f_data[i];
+                  for (jj = A_diag_i[i]+1; jj < A_diag_i[i+1]; jj++)
+                  {
+                     ii = A_diag_j[jj];
+                     res -= A_diag_data[jj] * u_data[ii];
+                  }
+                  u_data[i] = res / A_diag_data[A_diag_i[i]];
+               }
+            }
+          }
+
+   return(relax_error); 
+}

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/seq_mv.h
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/seq_mv.h?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/seq_mv.h (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/seq_mv.h Fri Nov 21 00:17:30 2008
@@ -0,0 +1,183 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team. UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer, contact information and the GNU Lesser General Public License.
+ *
+ * HYPRE is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU General Public License (as published by the Free Software
+ * Foundation) version 2.1 dated February 1999.
+ *
+ * HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS 
+ * FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.14 $
+ ***********************************************************************EHEADER*/
+
+
+
+
+
+#ifndef hypre_MV_HEADER
+#define hypre_MV_HEADER
+
+#include "utilities.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/******************************************************************************
+ *
+ * Header info for CSR Matrix data structures
+ *
+ * Note: this matrix currently uses 0-based indexing.
+ *
+ *****************************************************************************/
+
+#ifndef hypre_CSR_MATRIX_HEADER
+#define hypre_CSR_MATRIX_HEADER
+
+/*--------------------------------------------------------------------------
+ * CSR Matrix
+ *--------------------------------------------------------------------------*/
+
+typedef struct
+{
+   double  *data;
+   int     *i;
+   int     *j;
+   int      num_rows;
+   int      num_cols;
+   int      num_nonzeros;
+
+  /* for compressing rows in matrix multiplication  */
+   int     *rownnz;
+   int      num_rownnz;
+
+   /* Does the CSRMatrix create/destroy `data', `i', `j'? */
+   int      owns_data;
+
+} hypre_CSRMatrix;
+
+/*--------------------------------------------------------------------------
+ * Accessor functions for the CSR Matrix structure
+ *--------------------------------------------------------------------------*/
+
+#define hypre_CSRMatrixData(matrix)         ((matrix) -> data)
+#define hypre_CSRMatrixI(matrix)            ((matrix) -> i)
+#define hypre_CSRMatrixJ(matrix)            ((matrix) -> j)
+#define hypre_CSRMatrixNumRows(matrix)      ((matrix) -> num_rows)
+#define hypre_CSRMatrixNumCols(matrix)      ((matrix) -> num_cols)
+#define hypre_CSRMatrixNumNonzeros(matrix)  ((matrix) -> num_nonzeros)
+#define hypre_CSRMatrixRownnz(matrix)       ((matrix) -> rownnz)
+#define hypre_CSRMatrixNumRownnz(matrix)    ((matrix) -> num_rownnz)
+#define hypre_CSRMatrixOwnsData(matrix)     ((matrix) -> owns_data)
+
+#endif
+
+
+/******************************************************************************
+ *
+ * Header info for Vector data structure
+ *
+ *****************************************************************************/
+
+#ifndef hypre_VECTOR_HEADER
+#define hypre_VECTOR_HEADER
+
+/*--------------------------------------------------------------------------
+ * hypre_Vector
+ *--------------------------------------------------------------------------*/
+
+typedef struct
+{
+   double  *data;
+   int      size;
+
+   /* Does the Vector create/destroy `data'? */
+   int      owns_data;
+
+   /* For multivectors...*/
+   int   num_vectors;  /* the above "size" is size of one vector */
+   int   multivec_storage_method;
+   /* ...if 0, store colwise v0[0], v0[1], ..., v1[0], v1[1], ... v2[0]... */
+   /* ...if 1, store rowwise v0[0], v1[0], ..., v0[1], v1[1], ... */
+   /* With colwise storage, vj[i] = data[ j*size + i]
+      With rowwise storage, vj[i] = data[ j + num_vectors*i] */
+   int  vecstride, idxstride;
+   /* ... so vj[i] = data[ j*vecstride + i*idxstride ] regardless of row_storage.*/
+
+} hypre_Vector;
+
+/*--------------------------------------------------------------------------
+ * Accessor functions for the Vector structure
+ *--------------------------------------------------------------------------*/
+
+#define hypre_VectorData(vector)      ((vector) -> data)
+#define hypre_VectorSize(vector)      ((vector) -> size)
+#define hypre_VectorOwnsData(vector)  ((vector) -> owns_data)
+#define hypre_VectorNumVectors(vector) ((vector) -> num_vectors)
+#define hypre_VectorMultiVecStorageMethod(vector) ((vector) -> multivec_storage_method)
+#define hypre_VectorVectorStride(vector) ((vector) -> vecstride )
+#define hypre_VectorIndexStride(vector) ((vector) -> idxstride )
+
+#endif
+
+/* csr_matrix.c */
+hypre_CSRMatrix *hypre_CSRMatrixCreate ( int num_rows , int num_cols , int num_nonzeros );
+int hypre_CSRMatrixDestroy ( hypre_CSRMatrix *matrix );
+int hypre_CSRMatrixInitialize ( hypre_CSRMatrix *matrix );
+int hypre_CSRMatrixSetDataOwner ( hypre_CSRMatrix *matrix , int owns_data );
+int hypre_CSRMatrixSetRownnz ( hypre_CSRMatrix *matrix );
+hypre_CSRMatrix *hypre_CSRMatrixRead ( char *file_name );
+int hypre_CSRMatrixPrint ( hypre_CSRMatrix *matrix , char *file_name );
+int hypre_CSRMatrixCopy ( hypre_CSRMatrix *A , hypre_CSRMatrix *B , int copy_data );
+hypre_CSRMatrix *hypre_CSRMatrixClone ( hypre_CSRMatrix *A );
+hypre_CSRMatrix *hypre_CSRMatrixUnion ( hypre_CSRMatrix *A , hypre_CSRMatrix *B , int *col_map_offd_A , int *col_map_offd_B , int **col_map_offd_C );
+
+/* csr_matvec.c */
+int hypre_CSRMatrixMatvec ( double alpha , hypre_CSRMatrix *A , hypre_Vector *x , double beta , hypre_Vector *y );
+int hypre_CSRMatrixMatvecT ( double alpha , hypre_CSRMatrix *A , hypre_Vector *x , double beta , hypre_Vector *y );
+int hypre_CSRMatrixMatvec_FF( double alpha , hypre_CSRMatrix *A , hypre_Vector *x , double beta , hypre_Vector *y , int *CF_marker_x , int *CF_marker_y , int fpt );
+
+/* vector.c */
+hypre_Vector *hypre_SeqVectorCreate ( int size );
+hypre_Vector *hypre_SeqMultiVectorCreate ( int size , int num_vectors );
+int hypre_SeqVectorDestroy ( hypre_Vector *vector );
+int hypre_SeqVectorInitialize ( hypre_Vector *vector );
+int hypre_SeqVectorSetDataOwner ( hypre_Vector *vector , int owns_data );
+hypre_Vector *hypre_SeqVectorRead ( char *file_name );
+int hypre_SeqVectorPrint ( hypre_Vector *vector , char *file_name );
+int hypre_SeqVectorSetConstantValues ( hypre_Vector *v , double value );
+int hypre_SeqVectorCopy ( hypre_Vector *x , hypre_Vector *y );
+hypre_Vector *hypre_SeqVectorCloneDeep ( hypre_Vector *x );
+hypre_Vector *hypre_SeqVectorCloneShallow ( hypre_Vector *x );
+int hypre_SeqVectorScale ( double alpha , hypre_Vector *y );
+int hypre_SeqVectorAxpy ( double alpha , hypre_Vector *x , hypre_Vector *y );
+double hypre_SeqVectorInnerProd ( hypre_Vector *x , hypre_Vector *y );
+double hypre_VectorSumElts ( hypre_Vector *vector );
+
+/* laplace.c */
+hypre_CSRMatrix *GenerateSeqLaplacian(int nx, int ny , int nz , double *values , hypre_Vector **x_ptr, hypre_Vector **y_ptr, hypre_Vector **sol_ptr) ;
+
+/* relax.c */
+int hypre_BoomerAMGSeqRelax( hypre_CSRMatrix *A , hypre_Vector *x, hypre_Vector *y) ;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/utilities.h
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/utilities.h?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/utilities.h (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/utilities.h Fri Nov 21 00:17:30 2008
@@ -0,0 +1,375 @@
+
+#ifndef hypre_UTILITIES_HEADER
+#define hypre_UTILITIES_HEADER
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team, UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer and the GNU Lesser General Public License.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License (as published by the Free
+ * Software Foundation) version 2.1 dated February 1999.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the terms and conditions of the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.24 $
+ ***********************************************************************EHEADER*/
+
+/******************************************************************************
+ *
+ * General structures and values
+ *
+ *****************************************************************************/
+
+#ifndef hypre_GENERAL_HEADER
+#define hypre_GENERAL_HEADER
+
+/*--------------------------------------------------------------------------
+ * Define various functions
+ *--------------------------------------------------------------------------*/
+
+#ifndef hypre_max
+#define hypre_max(a,b)  (((a)<(b)) ? (b) : (a))
+#endif
+#ifndef hypre_min
+#define hypre_min(a,b)  (((a)<(b)) ? (a) : (b))
+#endif
+
+#ifndef hypre_round
+#define hypre_round(x)  ( ((x) < 0.0) ? ((int)(x - 0.5)) : ((int)(x + 0.5)) )
+#endif
+
+#endif
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team, UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer and the GNU Lesser General Public License.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License (as published by the Free
+ * Software Foundation) version 2.1 dated February 1999.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the terms and conditions of the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.24 $
+ ***********************************************************************EHEADER*/
+
+/******************************************************************************
+ *
+ * Header file for memory management utilities
+ *
+ *****************************************************************************/
+
+#ifndef hypre_MEMORY_HEADER
+#define hypre_MEMORY_HEADER
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*--------------------------------------------------------------------------
+ * Use "Debug Malloc Library", dmalloc
+ *--------------------------------------------------------------------------*/
+
+#ifdef HYPRE_MEMORY_DMALLOC
+
+#define hypre_InitMemoryDebug(id)    hypre_InitMemoryDebugDML(id)
+#define hypre_FinalizeMemoryDebug()  hypre_FinalizeMemoryDebugDML()
+
+#define hypre_TAlloc(type, count) \
+( (type *)hypre_MAllocDML((unsigned int)(sizeof(type) * (count)),\
+                          __FILE__, __LINE__) )
+
+#define hypre_CTAlloc(type, count) \
+( (type *)hypre_CAllocDML((unsigned int)(count), (unsigned int)sizeof(type),\
+                          __FILE__, __LINE__) )
+
+#define hypre_TReAlloc(ptr, type, count) \
+( (type *)hypre_ReAllocDML((char *)ptr,\
+                           (unsigned int)(sizeof(type) * (count)),\
+                           __FILE__, __LINE__) )
+
+#define hypre_TFree(ptr) \
+( hypre_FreeDML((char *)ptr, __FILE__, __LINE__), ptr = NULL )
+
+/*--------------------------------------------------------------------------
+ * Use standard memory routines
+ *--------------------------------------------------------------------------*/
+
+#else
+
+#define hypre_InitMemoryDebug(id)
+#define hypre_FinalizeMemoryDebug()  
+
+#define hypre_TAlloc(type, count) \
+( (type *)hypre_MAlloc((unsigned int)(sizeof(type) * (count))) )
+
+#define hypre_CTAlloc(type, count) \
+( (type *)hypre_CAlloc((unsigned int)(count), (unsigned int)sizeof(type)) )
+
+#define hypre_TReAlloc(ptr, type, count) \
+( (type *)hypre_ReAlloc((char *)ptr, (unsigned int)(sizeof(type) * (count))) )
+
+#define hypre_TFree(ptr) \
+( hypre_Free((char *)ptr), ptr = NULL )
+
+#endif
+
+
+#ifdef HYPRE_USE_PTHREADS
+
+#define hypre_SharedTAlloc(type, count) \
+( (type *)hypre_SharedMAlloc((unsigned int)(sizeof(type) * (count))) )
+
+
+#define hypre_SharedCTAlloc(type, count) \
+( (type *)hypre_SharedCAlloc((unsigned int)(count),\
+                             (unsigned int)sizeof(type)) )
+
+#define hypre_SharedTReAlloc(ptr, type, count) \
+( (type *)hypre_SharedReAlloc((char *)ptr,\
+                              (unsigned int)(sizeof(type) * (count))) )
+
+#define hypre_SharedTFree(ptr) \
+( hypre_SharedFree((char *)ptr), ptr = NULL )
+
+#else
+
+#define hypre_SharedTAlloc(type, count) hypre_TAlloc(type, (count))
+#define hypre_SharedCTAlloc(type, count) hypre_CTAlloc(type, (count))
+#define hypre_SharedTReAlloc(type, count) hypre_TReAlloc(type, (count))
+#define hypre_SharedTFree(ptr) hypre_TFree(ptr)
+
+#endif
+
+/*--------------------------------------------------------------------------
+ * Prototypes
+ *--------------------------------------------------------------------------*/
+
+/* hypre_memory.c */
+int hypre_OutOfMemory( int size );
+char *hypre_MAlloc( int size );
+char *hypre_CAlloc( int count , int elt_size );
+char *hypre_ReAlloc( char *ptr , int size );
+void hypre_Free( char *ptr );
+char *hypre_SharedMAlloc( int size );
+char *hypre_SharedCAlloc( int count , int elt_size );
+char *hypre_SharedReAlloc( char *ptr , int size );
+void hypre_SharedFree( char *ptr );
+double *hypre_IncrementSharedDataPtr( double *ptr , int size );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team, UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer and the GNU Lesser General Public License.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License (as published by the Free
+ * Software Foundation) version 2.1 dated February 1999.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the terms and conditions of the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.24 $
+ ***********************************************************************EHEADER*/
+
+
+#ifndef hypre_THREADING_HEADER
+#define hypre_THREADING_HEADER
+
+#if defined(HYPRE_USING_OPENMP) || defined (HYPRE_USING_PGCC_SMP)
+
+int hypre_NumThreads( void );
+
+#else
+
+#define hypre_NumThreads() 1
+
+#endif
+
+
+/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
+/* The pthreads stuff needs to be reworked */
+
+#ifdef HYPRE_USE_PTHREADS
+
+#ifndef MAX_QUEUE
+#define MAX_QUEUE 256
+#endif
+
+#include <pthread.h>
+
+/* hypre_work_proc_t typedef'd to be a pointer to a function with a void*
+   argument and a void return type */
+typedef void (*hypre_work_proc_t)(void *);
+
+typedef struct hypre_workqueue_struct {
+   pthread_mutex_t lock;
+   pthread_cond_t work_wait;
+   pthread_cond_t finish_wait;
+   hypre_work_proc_t worker_proc_queue[MAX_QUEUE];
+   int n_working;
+   int n_waiting;
+   int n_queue;
+   int inp;
+   int outp;
+   void *argqueue[MAX_QUEUE];
+} *hypre_workqueue_t;
+
+void hypre_work_put( hypre_work_proc_t funcptr, void *argptr );
+void hypre_work_wait( void );
+int HYPRE_InitPthreads( int num_threads );
+void HYPRE_DestroyPthreads( void );
+void hypre_pthread_worker( int threadid );
+int ifetchadd( int *w, pthread_mutex_t *mutex_fetchadd );
+int hypre_fetch_and_add( int *w );
+void hypre_barrier(pthread_mutex_t *mpi_mtx, int unthreaded);
+int hypre_GetThreadID( void );
+
+pthread_t initial_thread;
+pthread_t hypre_thread[hypre_MAX_THREADS];
+pthread_mutex_t hypre_mutex_boxloops;
+pthread_mutex_t talloc_mtx;
+pthread_mutex_t worker_mtx;
+hypre_workqueue_t hypre_qptr;
+pthread_mutex_t mpi_mtx;
+pthread_mutex_t time_mtx;
+volatile int hypre_thread_release;
+
+#ifdef HYPRE_THREAD_GLOBALS
+int hypre_NumThreads = 4;
+#else
+extern int hypre_NumThreads;
+#endif
+
+#endif
+/*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
+
+#endif
+
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team, UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer and the GNU Lesser General Public License.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License (as published by the Free
+ * Software Foundation) version 2.1 dated February 1999.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the terms and conditions of the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.24 $
+ ***********************************************************************EHEADER*/
+
+
+#ifndef hypre_ERROR_HEADER
+#define hypre_ERROR_HEADER
+
+/*--------------------------------------------------------------------------
+ * HYPRE error codes
+ *--------------------------------------------------------------------------*/
+
+#define HYPRE_ERROR_GENERIC         1   /* generic error */
+#define HYPRE_ERROR_MEMORY          2   /* unable to allocate memory */
+#define HYPRE_ERROR_ARG             4   /* argument error */
+/* bits 4-8 are reserved for the index of the argument error */
+#define HYPRE_ERROR_CONV          256   /* method did not converge as expected */
+
+/*--------------------------------------------------------------------------
+ * Global variable used in hypre error checking
+ *--------------------------------------------------------------------------*/
+
+extern int hypre__global_error;
+#define hypre_error_flag  hypre__global_error
+
+/*--------------------------------------------------------------------------
+ * HYPRE error macros
+ *--------------------------------------------------------------------------*/
+
+void hypre_error_handler(char *filename, int line, int ierr);
+#define hypre_error(IERR)  hypre_error_handler(__FILE__, __LINE__, IERR)
+#define hypre_error_in_arg(IARG)  hypre_error(HYPRE_ERROR_ARG | IARG<<3)
+#ifdef NDEBUG
+#define hypre_assert(EX)
+#else
+#define hypre_assert(EX) if (!(EX)) {fprintf(stderr,"hypre_assert failed: %s\n", #EX); hypre_error(1);}
+#endif
+/*--------------------------------------------------------------------------
+ * HYPRE error user functions
+ *--------------------------------------------------------------------------*/
+
+/* Return the current hypre error flag */
+int HYPRE_GetError();
+
+/* Check if the given error flag contains the given error code */
+int HYPRE_CheckError(int hypre_ierr, int hypre_error_code);
+
+/* Return the index of the argument (counting from 1) where
+   argument error (HYPRE_ERROR_ARG) has occured */
+int HYPRE_GetErrorArg();
+
+/* Describe the given error flag in the given string */
+void HYPRE_DescribeError(int hypre_ierr, char *descr);
+
+
+#endif
+
+#endif

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/vector.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/vector.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/vector.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/vector.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,429 @@
+/*BHEADER**********************************************************************
+ * Copyright (c) 2006   The Regents of the University of California.
+ * Produced at the Lawrence Livermore National Laboratory.
+ * Written by the HYPRE team. UCRL-CODE-222953.
+ * All rights reserved.
+ *
+ * This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
+ * Please see the COPYRIGHT_and_LICENSE file for the copyright notice, 
+ * disclaimer, contact information and the GNU Lesser General Public License.
+ *
+ * HYPRE is free software; you can redistribute it and/or modify it under the 
+ * terms of the GNU General Public License (as published by the Free Software
+ * Foundation) version 2.1 dated February 1999.
+ *
+ * HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY 
+ * WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS 
+ * FOR A PARTICULAR PURPOSE.  See the terms and conditions of the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Revision: 2.8 $
+ ***********************************************************************EHEADER*/
+
+
+
+/******************************************************************************
+ *
+ * Member functions for hypre_Vector class.
+ *
+ *****************************************************************************/
+
+#include "headers.h"
+#include <assert.h>
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorCreate
+ *--------------------------------------------------------------------------*/
+
+hypre_Vector *
+hypre_SeqVectorCreate( int size )
+{
+   hypre_Vector  *vector;
+
+   vector = hypre_CTAlloc(hypre_Vector, 1);
+
+   hypre_VectorData(vector) = NULL;
+   hypre_VectorSize(vector) = size;
+
+   hypre_VectorNumVectors(vector) = 1;
+   hypre_VectorMultiVecStorageMethod(vector) = 0;
+
+   /* set defaults */
+   hypre_VectorOwnsData(vector) = 1;
+
+   return vector;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqMultiVectorCreate
+ *--------------------------------------------------------------------------*/
+
+hypre_Vector *
+hypre_SeqMultiVectorCreate( int size, int num_vectors )
+{
+   hypre_Vector *vector = hypre_SeqVectorCreate(size);
+   hypre_VectorNumVectors(vector) = num_vectors;
+   return vector;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorDestroy
+ *--------------------------------------------------------------------------*/
+
+int 
+hypre_SeqVectorDestroy( hypre_Vector *vector )
+{
+   int  ierr=0;
+
+   if (vector)
+   {
+      if ( hypre_VectorOwnsData(vector) )
+      {
+         hypre_TFree(hypre_VectorData(vector));
+      }
+      hypre_TFree(vector);
+   }
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorInitialize
+ *--------------------------------------------------------------------------*/
+
+int 
+hypre_SeqVectorInitialize( hypre_Vector *vector )
+{
+   int  size = hypre_VectorSize(vector);
+   int  ierr = 0;
+   int  num_vectors = hypre_VectorNumVectors(vector);
+   int  multivec_storage_method = hypre_VectorMultiVecStorageMethod(vector);
+
+   if ( ! hypre_VectorData(vector) )
+      hypre_VectorData(vector) = hypre_CTAlloc(double, num_vectors*size);
+
+   if ( multivec_storage_method == 0 )
+   {
+      hypre_VectorVectorStride(vector) = size;
+      hypre_VectorIndexStride(vector) = 1;
+   }
+   else if ( multivec_storage_method == 1 )
+   {
+      hypre_VectorVectorStride(vector) = 1;
+      hypre_VectorIndexStride(vector) = num_vectors;
+   }
+   else
+      ++ierr;
+
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorSetDataOwner
+ *--------------------------------------------------------------------------*/
+
+int 
+hypre_SeqVectorSetDataOwner( hypre_Vector *vector,
+                          int           owns_data   )
+{
+   int    ierr=0;
+
+   hypre_VectorOwnsData(vector) = owns_data;
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * ReadVector
+ *--------------------------------------------------------------------------*/
+
+hypre_Vector *
+hypre_SeqVectorRead( char *file_name )
+{
+   hypre_Vector  *vector;
+
+   FILE    *fp;
+
+   double  *data;
+   int      size;
+   
+   int      j;
+
+   /*----------------------------------------------------------
+    * Read in the data
+    *----------------------------------------------------------*/
+
+   fp = fopen(file_name, "r");
+
+   fscanf(fp, "%d", &size);
+
+   vector = hypre_SeqVectorCreate(size);
+   hypre_SeqVectorInitialize(vector);
+
+   data = hypre_VectorData(vector);
+   for (j = 0; j < size; j++)
+   {
+      fscanf(fp, "%le", &data[j]);
+   }
+
+   fclose(fp);
+
+   /* multivector code not written yet >>> */
+   hypre_assert( hypre_VectorNumVectors(vector) == 1 );
+
+   return vector;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorPrint
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_SeqVectorPrint( hypre_Vector *vector,
+                   char         *file_name )
+{
+   FILE    *fp;
+
+   double  *data;
+   int      size, num_vectors, vecstride, idxstride;
+   
+   int      i, j;
+
+   int      ierr = 0;
+
+   num_vectors = hypre_VectorNumVectors(vector);
+   vecstride = hypre_VectorVectorStride(vector);
+   idxstride = hypre_VectorIndexStride(vector);
+
+   /*----------------------------------------------------------
+    * Print in the data
+    *----------------------------------------------------------*/
+
+   data = hypre_VectorData(vector);
+   size = hypre_VectorSize(vector);
+
+   fp = fopen(file_name, "w");
+
+   if ( hypre_VectorNumVectors(vector) == 1 )
+   {
+      fprintf(fp, "%d\n", size);
+   }
+   else
+   {
+      fprintf(fp, "%d vectors of size %d\n", num_vectors, size );
+   }
+
+   if ( num_vectors>1 )
+   {
+      for ( j=0; j<num_vectors; ++j )
+      {
+         fprintf(fp, "vector %d\n", j );
+         for (i = 0; i < size; i++)
+         {
+            fprintf(fp, "%.14e\n",  data[ j*vecstride + i*idxstride ] );
+         }
+      }
+   }
+   else
+   {
+      for (i = 0; i < size; i++)
+      {
+         fprintf(fp, "%.14e\n", data[i]);
+      }
+   }
+
+   fclose(fp);
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorSetConstantValues
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_SeqVectorSetConstantValues( hypre_Vector *v,
+                               double        value )
+{
+   double  *vector_data = hypre_VectorData(v);
+   int      size        = hypre_VectorSize(v);
+           
+   int      i;
+           
+   int      ierr  = 0;
+
+   size *=hypre_VectorNumVectors(v);
+
+
+   for (i = 0; i < size; i++)
+      vector_data[i] = value;
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorCopy
+ * copies data from x to y
+ * y should have already been initialized at the same size as x
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_SeqVectorCopy( hypre_Vector *x,
+                  hypre_Vector *y )
+{
+   double  *x_data = hypre_VectorData(x);
+   double  *y_data = hypre_VectorData(y);
+   int      size   = hypre_VectorSize(x);
+           
+   int      i;
+           
+   int      ierr = 0;
+
+   size *=hypre_VectorNumVectors(x);
+
+   for (i = 0; i < size; i++)
+      y_data[i] = x_data[i];
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorCloneDeep
+ * Returns a complete copy of x - a deep copy, with its own copy of the data.
+ *--------------------------------------------------------------------------*/
+
+hypre_Vector *
+hypre_SeqVectorCloneDeep( hypre_Vector *x )
+{
+   int      size   = hypre_VectorSize(x);
+   int      num_vectors   = hypre_VectorNumVectors(x);
+   hypre_Vector * y = hypre_SeqMultiVectorCreate( size, num_vectors );
+
+   hypre_VectorMultiVecStorageMethod(y) = hypre_VectorMultiVecStorageMethod(x);
+   hypre_VectorVectorStride(y) = hypre_VectorVectorStride(x);
+   hypre_VectorIndexStride(y) = hypre_VectorIndexStride(x);
+
+   hypre_SeqVectorInitialize(y);
+   hypre_SeqVectorCopy( x, y );
+
+   return y;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorCloneShallow
+ * Returns a complete copy of x - a shallow copy, pointing the data of x
+ *--------------------------------------------------------------------------*/
+
+hypre_Vector *
+hypre_SeqVectorCloneShallow( hypre_Vector *x )
+{
+   int      size   = hypre_VectorSize(x);
+   int      num_vectors   = hypre_VectorNumVectors(x);
+   hypre_Vector * y = hypre_SeqMultiVectorCreate( size, num_vectors );
+
+   hypre_VectorMultiVecStorageMethod(y) = hypre_VectorMultiVecStorageMethod(x);
+   hypre_VectorVectorStride(y) = hypre_VectorVectorStride(x);
+   hypre_VectorIndexStride(y) = hypre_VectorIndexStride(x);
+
+   hypre_VectorData(y) = hypre_VectorData(x);
+   hypre_SeqVectorSetDataOwner( y, 0 );
+   hypre_SeqVectorInitialize(y);
+
+   return y;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorScale
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_SeqVectorScale( double        alpha,
+                   hypre_Vector *y     )
+{
+   double  *y_data = hypre_VectorData(y);
+   int      size   = hypre_VectorSize(y);
+           
+   int      i;
+           
+   int      ierr = 0;
+
+   size *=hypre_VectorNumVectors(y);
+
+
+   for (i = 0; i < size; i++)
+      y_data[i] *= alpha;
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorAxpy
+ *--------------------------------------------------------------------------*/
+
+int
+hypre_SeqVectorAxpy( double        alpha,
+            hypre_Vector *x,
+            hypre_Vector *y     )
+{
+   double  *x_data = hypre_VectorData(x);
+   double  *y_data = hypre_VectorData(y);
+   int      size   = hypre_VectorSize(x);
+           
+   int      i;
+           
+   int      ierr = 0;
+
+   size *=hypre_VectorNumVectors(x);
+
+
+   for (i = 0; i < size; i++)
+      y_data[i] += alpha * x_data[i];
+
+   return ierr;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_SeqVectorInnerProd
+ *--------------------------------------------------------------------------*/
+
+double   hypre_SeqVectorInnerProd( hypre_Vector *x,
+                          hypre_Vector *y )
+{
+   double  *x_data = hypre_VectorData(x);
+   double  *y_data = hypre_VectorData(y);
+   int      size   = hypre_VectorSize(x);
+           
+   int      i;
+
+   double      result = 0.0;
+
+   size *=hypre_VectorNumVectors(x);
+
+
+   for (i = 0; i < size; i++)
+      result += y_data[i] * x_data[i];
+
+   return result;
+}
+
+/*--------------------------------------------------------------------------
+ * hypre_VectorSumElts:
+ * Returns the sum of all vector elements.
+ *--------------------------------------------------------------------------*/
+
+double hypre_VectorSumElts( hypre_Vector *vector )
+{
+   double sum = 0;
+   double * data = hypre_VectorData( vector );
+   int size = hypre_VectorSize( vector );
+   int i;
+
+   for ( i=0; i<size; ++i ) sum += data[i];
+
+   return sum;
+}

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/COPYRIGHT_and_DISCLAIMER
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/COPYRIGHT_and_DISCLAIMER?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/COPYRIGHT_and_DISCLAIMER (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/COPYRIGHT_and_DISCLAIMER Fri Nov 21 00:17:30 2008
@@ -0,0 +1,33 @@
+This work was produced at the University of California, Lawrence Livermore
+National Laboratory (UC LLNL) under contract no. W-7405-ENG-48 (Contract 48)
+between the U.S. Department of Energy (DOE) and The Regents of the University
+of California (University) for the operation of UC LLNL. The rights of the
+Federal Government are reserved under Contract 48 subject to the restrictions
+agreed upon by the DOE and University as allowed under DOE Acquisition Letter
+97-1.
+
+
+                                                                   DISCLAIMER
+
+
+This work was prepared as an account of work sponsored by an agency of
+the United States Government. Neither the United States Government nor the
+University of California nor any of their employees, makes any warranty,
+express or implied, or assumes any liability or responsibility for the
+accuracy, completeness, or usefulness of any information, apparatus, product,
+or process disclosed, or represents that its use would not infringe
+privately-owned rights.  Reference herein to any specific commercial
+products, process, or service by trade name, trademark, manufacturer or
+otherwise does not necessarily constitute or imply its endorsement,
+recommendation, or favoring by the United States Government or the University
+of California. The views and opinions of authors expressed herein do not
+necessarily state or reflect those of the United States Government or the
+University of California, and shall not be used for advertising or product
+endorsement purposes.
+
+
+                                               NOTIFICATION OF COMMERCIAL USE
+
+
+Commercialization of this product is prohibited without notifying the
+Department of Energy (DOE) or Lawrence Livermore National Laboratory (LLNL).

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/Makefile?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/Makefile Fri Nov 21 00:17:30 2008
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = IRSmk
+ 
+LIBS += -lm
+LDFLAGS += -lm
+
+include	../../../Makefile.multisrc

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk.h
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk.h?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk.h (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk.h Fri Nov 21 00:17:30 2008
@@ -0,0 +1,90 @@
+/*BHEADER****************************************************************
+ * (c) 2006   The Regents of the University of California               *
+ *                                                                      *
+ * See the file COPYRIGHT_and_DISCLAIMER for a complete copyright       *
+ * notice and disclaimer.                                               *
+ *                                                                      *
+ *EHEADER****************************************************************/
+
+//-----------------
+//   loop bounds
+//      the following information is provided by Mike
+//      the input format is
+//         kmin kmax jmin jmax imin imax kp   jp
+//           where [i|j|k]min = 2
+//                 [i|j|k]max = 2 + NZONES_along_i
+//                 jp         = 2 + imax
+//                 kp         = jp * (jmax + 2)
+//         e.g for NZONES_along_i = 25
+//         2    27   2    27   2    27   841  29
+//-----------------
+int kmin;
+int kmax;
+int jmin;
+int jmax;  
+int imin;
+int imax;
+int kp;
+int jp;
+
+int i_lb;
+int i_ub;
+int x_size;
+
+
+//-----------------
+//  copy from temp.h
+//    with deletion of some unused data structures.
+//-----------------
+typedef struct Domain_s {
+   int gblk   ;	
+   int type   ;
+   int imin   ;	
+   int jmin   ; 
+   int kmin   ; 
+   int imax   ; 
+   int jmax   ;
+   int kmax   ; 
+   int nnalls ;
+   int nnodes ;
+   int namix  ;
+   int mixmax ;
+   int nmixcnt;
+   int imaxmix;
+   int nmixzn ;
+   int nzones ;	
+   int namixgx;
+   int jp     ;
+   int kp     ;
+} Domain_t ;
+
+typedef struct {
+   double *dbl ;
+   double *dbc ;
+   double *dbr ;
+   double *dcl ;
+   double *dcc ;
+   double *dcr ;
+   double *dfl ;
+   double *dfc ;
+   double *dfr ;
+   double *cbl ;
+   double *cbc ;
+   double *cbr ;
+   double *ccl ;
+   double *ccc ;
+   double *ccr ;
+   double *cfl ;
+   double *cfc ;
+   double *cfr ;
+   double *ubl ;
+   double *ubc ;
+   double *ubr ;
+   double *ucl ;
+   double *ucc ;
+   double *ucr ;
+   double *ufl ;
+   double *ufc ;
+   double *ufr ;
+} RadiationData_t ;
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk_input
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk_input?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk_input (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/irsmk_input Fri Nov 21 00:17:30 2008
@@ -0,0 +1,2 @@
+ 2    27   2    27   2    27   841  29
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/main.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/main.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/main.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/main.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,76 @@
+/*BHEADER****************************************************************
+ * (c) 2006   The Regents of the University of California               *
+ *                                                                      *
+ * See the file COPYRIGHT_and_DISCLAIMER for a complete copyright       *
+ * notice and disclaimer.                                               *
+ *                                                                      *
+ *EHEADER****************************************************************/
+
+
+//--------------
+//  A micro kernel based on IRS
+//    http://www.llnl.gov/asci/purple/benchmarks/limited/irs/
+//--------------
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/time.h>
+#include <time.h>
+#include "irsmk.h"
+
+
+void allocMem(RadiationData_t *);
+void init(Domain_t *, RadiationData_t *, double *, double *);
+void readInput();
+void rmatmult3(Domain_t *, RadiationData_t *, double *, double *);
+
+
+int main()
+{
+  Domain_t domain;
+  Domain_t *domain_ptr = &domain;
+
+  RadiationData_t rblk;
+  RadiationData_t *rblk_ptr = &rblk;
+
+  struct timeval  t0, t1;
+  clock_t t0_cpu = 0,
+          t1_cpu = 0;
+
+  double del_wtime = 0.0;
+  double *x;
+  double *b;
+
+  int i = 0;
+  const int noIter = 5000;
+
+  printf ("\nSequoia Benchmark Version 1.0\n\n");
+
+  // 
+  readInput();
+
+  b = (double *)malloc(i_ub*sizeof(double));
+  x = (double *)malloc(x_size*sizeof(double));
+  
+  allocMem(rblk_ptr);
+
+  init(domain_ptr, rblk_ptr, x, b);
+
+  gettimeofday(&t0, ((void *)0));
+  t0_cpu = clock();
+  for (i=0; i<noIter; ++i) {
+     rmatmult3(domain_ptr, rblk_ptr, x, b);
+  }
+  gettimeofday(&t1, ((void *)0)); 
+  t1_cpu = clock();
+
+  printf("***** results \n");  
+  for (i=0; i<i_ub; i+=i_ub/5) {
+    printf("i = %10d      b[i] = %e \n", i, b[i]);
+  }
+
+  del_wtime = (double)(t1.tv_sec - t0.tv_sec) +
+              (double)(t1.tv_usec - t0.tv_usec)/1000000.0;
+
+}

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/reference_output
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/reference_output?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/reference_output (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/reference_output Fri Nov 21 00:17:30 2008
@@ -0,0 +1,21 @@
+
+Sequoia Benchmark Version 0.9.0
+
+***** input  
+kmin =        2     kmax =       27 
+jmin =        2     jmax =       27 
+imin =        2     imax =       27 
+kp   =      841     jp   =       29 
+ 
+ 
+***** array bounds  
+i_lb =       1742    i_ub =      22647    x_size =      24399 
+ 
+ 
+***** results 
+i =          0      b[i] = 0.000000e+00 
+i =       4529      b[i] = 1.111094e+09 
+i =       9058      b[i] = 4.437192e+09 
+i =      13587      b[i] = 9.978568e+09 
+i =      18116      b[i] = 1.773522e+10 
+i =      22645      b[i] = 2.770716e+10 

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/rmatmult3.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/rmatmult3.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/rmatmult3.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/rmatmult3.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,96 @@
+/*BHEADER****************************************************************
+ * (c) 2006   The Regents of the University of California               *
+ *                                                                      *
+ * See the file COPYRIGHT_and_DISCLAIMER for a complete copyright       *
+ * notice and disclaimer.                                               *
+ *                                                                      *
+ *EHEADER****************************************************************/
+
+#include "irsmk.h"
+
+void rmatmult3(Domain_t *domain, RadiationData_t *rblk, double *x, double *b )
+{
+   char *me = "rmatmult3" ;
+   int i, ii, jj, kk ;
+   int imin = domain->imin ;
+   int imax = domain->imax ;
+   int jmin = domain->jmin ;
+   int jmax = domain->jmax ;
+   int kmin = domain->kmin ;
+   int kmax = domain->kmax ;
+   int jp   = domain->jp   ;
+   int kp   = domain->kp   ;
+   double *dbl = rblk->dbl ;
+   double *dbc = rblk->dbc ;
+   double *dbr = rblk->dbr ;
+   double *dcl = rblk->dcl ;
+   double *dcc = rblk->dcc ;
+   double *dcr = rblk->dcr ;
+   double *dfl = rblk->dfl ;
+   double *dfc = rblk->dfc ;
+   double *dfr = rblk->dfr ;
+   double *cbl = rblk->cbl ;
+   double *cbc = rblk->cbc ;
+   double *cbr = rblk->cbr ;
+   double *ccl = rblk->ccl ;
+   double *ccc = rblk->ccc ;
+   double *ccr = rblk->ccr ;
+   double *cfl = rblk->cfl ;
+   double *cfc = rblk->cfc ;
+   double *cfr = rblk->cfr ;
+   double *ubl = rblk->ubl ;
+   double *ubc = rblk->ubc ;
+   double *ubr = rblk->ubr ;
+   double *ucl = rblk->ucl ;
+   double *ucc = rblk->ucc ;
+   double *ucr = rblk->ucr ;
+   double *ufl = rblk->ufl ;
+   double *ufc = rblk->ufc ;
+   double *ufr = rblk->ufr ;
+   double *xdbl = x - kp - jp - 1 ;
+   double *xdbc = x - kp - jp     ;
+   double *xdbr = x - kp - jp + 1 ;
+   double *xdcl = x - kp      - 1 ;
+   double *xdcc = x - kp          ;
+   double *xdcr = x - kp      + 1 ;
+   double *xdfl = x - kp + jp - 1 ;
+   double *xdfc = x - kp + jp     ;
+   double *xdfr = x - kp + jp + 1 ;
+   double *xcbl = x      - jp - 1 ;
+   double *xcbc = x      - jp     ;
+   double *xcbr = x      - jp + 1 ;
+   double *xccl = x           - 1 ;
+   double *xccc = x               ;
+   double *xccr = x           + 1 ;
+   double *xcfl = x      + jp - 1 ;
+   double *xcfc = x      + jp     ;
+   double *xcfr = x      + jp + 1 ;
+   double *xubl = x + kp - jp - 1 ;
+   double *xubc = x + kp - jp     ;
+   double *xubr = x + kp - jp + 1 ;
+   double *xucl = x + kp      - 1 ;
+   double *xucc = x + kp          ;
+   double *xucr = x + kp      + 1 ;
+   double *xufl = x + kp + jp - 1 ;
+   double *xufc = x + kp + jp     ;
+   double *xufr = x + kp + jp + 1 ;
+
+
+   for ( kk = kmin ; kk < kmax ; kk++ ) {
+      for ( jj = jmin ; jj < jmax ; jj++ ) {
+         for ( ii = imin ; ii < imax ; ii++ ) {
+	    i = ii + jj * jp + kk * kp ;
+            b[i] = dbl[i] * xdbl[i] + dbc[i] * xdbc[i] + dbr[i] * xdbr[i] +
+                   dcl[i] * xdcl[i] + dcc[i] * xdcc[i] + dcr[i] * xdcr[i] +
+                   dfl[i] * xdfl[i] + dfc[i] * xdfc[i] + dfr[i] * xdfr[i] +
+                   cbl[i] * xcbl[i] + cbc[i] * xcbc[i] + cbr[i] * xcbr[i] +
+                   ccl[i] * xccl[i] + ccc[i] * xccc[i] + ccr[i] * xccr[i] +
+                   cfl[i] * xcfl[i] + cfc[i] * xcfc[i] + cfr[i] * xcfr[i] +
+                   ubl[i] * xubl[i] + ubc[i] * xubc[i] + ubr[i] * xubr[i] +
+                   ucl[i] * xucl[i] + ucc[i] * xucc[i] + ucr[i] * xucr[i] +
+                   ufl[i] * xufl[i] + ufc[i] * xufc[i] + ufr[i] * xufr[i] ;
+	 }
+      }
+   }
+
+}

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/utility.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/utility.c?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/utility.c (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/utility.c Fri Nov 21 00:17:30 2008
@@ -0,0 +1,191 @@
+/*BHEADER****************************************************************
+ * (c) 2006   The Regents of the University of California               *
+ *                                                                      *
+ * See the file COPYRIGHT_and_DISCLAIMER for a complete copyright       *
+ * notice and disclaimer.                                               *
+ *                                                                      *
+ *EHEADER****************************************************************/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "irsmk.h"
+
+
+//--------------
+// read input date
+//--------------
+void readInput()
+{
+  FILE *fp;
+  if ((fp = fopen("irsmk_input", "r"))==NULL) {
+    printf("***** ERROR \n");
+    printf("      Cannot open input file irsmk_input \n");
+    exit(1);
+  }
+
+  fscanf(fp, "%d %d %d %d %d %d %d %d",
+	 &kmin, &kmax, &jmin, &jmax, &imin, &imax, &kp, &jp);
+
+  printf("***** input  \n");
+  printf("kmin = %8d     kmax = %8d \n"  
+         "jmin = %8d     jmax = %8d \n"
+         "imin = %8d     imax = %8d \n"
+         "kp   = %8d     jp   = %8d \n \n \n",
+	  kmin, kmax, jmin, jmax, imin, imax, kp, jp);
+
+
+  //-----
+  //  set array size
+  //-----
+  i_lb = imin + jmin*jp + kmin*kp;   
+  i_ub = (imax - 1) + (jmax -1)*jp + (kmax - 1)*kp + 1;
+
+  //-----
+  //  sanity check for xdbl
+  //-----
+  if ((i_lb - kp - jp - 1) < 0) {
+    printf("***** ERROR \n");
+    printf("      lb of xdbl < 0 \n");
+    exit(1);
+  }
+  
+  //-----
+  // in theory 
+  //  x_size = i_ub           +
+  //           kp + jp + 1    +  // for xdbl
+  //           kp + jp + 1       // for xufr
+  // I just add 10 elements for safety
+  //-----
+  x_size = i_ub + 2*(kp + jp + 1) + 10;
+
+  printf("***** array bounds  \n");
+  printf("i_lb = %10d    i_ub = %10d    x_size = %10d \n \n \n",
+	  i_lb, i_ub, x_size);
+
+  fclose(fp);
+
+}
+
+
+//--------------
+// alloc memory
+//--------------
+void allocMem(RadiationData_t *rblk)
+{
+  int size;
+
+  size = i_ub*sizeof(double);
+
+  rblk->dbl = (double *)malloc(size);
+  rblk->dbc = (double *)malloc(size);
+  rblk->dbr = (double *)malloc(size);
+  rblk->dcl = (double *)malloc(size);
+  rblk->dcc = (double *)malloc(size);
+  rblk->dcr = (double *)malloc(size);
+  rblk->dfl = (double *)malloc(size);
+  rblk->dfc = (double *)malloc(size);
+  rblk->dfr = (double *)malloc(size);
+  rblk->cbl = (double *)malloc(size);
+  rblk->cbc = (double *)malloc(size);
+  rblk->cbr = (double *)malloc(size);
+  rblk->ccl = (double *)malloc(size);
+  rblk->ccc = (double *)malloc(size);
+  rblk->ccr = (double *)malloc(size);
+  rblk->cfl = (double *)malloc(size);
+  rblk->cfc = (double *)malloc(size);
+  rblk->cfr = (double *)malloc(size);
+  rblk->ubl = (double *)malloc(size);
+  rblk->ubc = (double *)malloc(size);
+  rblk->ubr = (double *)malloc(size);
+  rblk->ucl = (double *)malloc(size);
+  rblk->ucc = (double *)malloc(size);
+  rblk->ucr = (double *)malloc(size);
+  rblk->ufl = (double *)malloc(size);
+  rblk->ufc = (double *)malloc(size);
+  rblk->ufr = (double *)malloc(size);
+
+  if ( (rblk->ufr)== NULL)  printf("*****ERROR: allocMem out of memory \n");
+
+}
+
+
+//-------------- 
+//  init
+//-------------- 
+void init(Domain_t *domain, RadiationData_t *rblk, double *x, double *b )
+{
+   int i;
+
+   domain->imin = imin;
+   domain->imax = imax;
+   domain->jmin = jmin;
+   domain->jmax = jmax;
+   domain->kmin = kmin;   
+   domain->kmax = kmax;
+   domain->jp   = jp;
+   domain->kp   = kp;
+   double *dbl = rblk->dbl ;
+   double *dbc = rblk->dbc ;
+   double *dbr = rblk->dbr ;
+   double *dcl = rblk->dcl ;
+   double *dcc = rblk->dcc ;
+   double *dcr = rblk->dcr ;
+   double *dfl = rblk->dfl ;
+   double *dfc = rblk->dfc ;
+   double *dfr = rblk->dfr ;
+   double *cbl = rblk->cbl ;
+   double *cbc = rblk->cbc ;
+   double *cbr = rblk->cbr ;
+   double *ccl = rblk->ccl ;
+   double *ccc = rblk->ccc ;
+   double *ccr = rblk->ccr ;
+   double *cfl = rblk->cfl ;
+   double *cfc = rblk->cfc ;
+   double *cfr = rblk->cfr ;
+   double *ubl = rblk->ubl ;
+   double *ubc = rblk->ubc ;
+   double *ubr = rblk->ubr ;
+   double *ucl = rblk->ucl ;
+   double *ucc = rblk->ucc ;
+   double *ucr = rblk->ucr ;
+   double *ufl = rblk->ufl ;
+   double *ufc = rblk->ufc ;
+   double *ufr = rblk->ufr ;
+
+
+   for (i = 0 ; i < i_ub; i++ ) {
+     *b++   = 0.0;
+     *dbl++ = i;
+     *dbc++ = i+1;
+     *dbr++ = i+2;
+     *dcl++ = i+3;
+     *dcc++ = i+4;
+     *dcr++ = i+5;
+     *dfl++ = i+6;
+     *dfc++ = i+7; 
+     *dfr++ = i+8; 
+     *cbl++ = i+9;
+     *cbc++ = i+10;
+     *cbr++ = i+11;
+     *ccl++ = i+12;
+     *ccc++ = i+13;
+     *ccr++ = i+14;
+     *cfl++ = i+15; 
+     *cfc++ = i+16; 
+     *cfr++ = i+17; 
+     *ubl++ = i+18; 
+     *ubc++ = i+19;
+     *ubr++ = i+20;
+     *ucl++ = i+21; 
+     *ucc++ = i+22; 
+     *ucr++ = i+23; 
+     *ufl++ = i+24; 
+     *ufc++ = i+25;
+     *ufr++ = i+26;
+   }
+
+   for (i=0; i<x_size; ++i ) {
+     *x++ = 2.0*i;
+   }
+
+}

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/Makefile?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/Makefile Fri Nov 21 00:17:30 2008
@@ -0,0 +1,7 @@
+# MultiSource/ASC_Sequoia Makefile:  Build all subdirectories automatically
+
+LEVEL = ../../..
+PARALLEL_DIRS = sphot IRSmk AMGmk
+
+
+include $(LEVEL)/Makefile.programs

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/LICENSE
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/LICENSE?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/LICENSE (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/LICENSE Fri Nov 21 00:17:30 2008
@@ -0,0 +1,2 @@
+This code is in the public domain, except for mpi_stubs*, which are
+GPL.

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/Makefile
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/Makefile?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/Makefile (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/Makefile Fri Nov 21 00:17:30 2008
@@ -0,0 +1,8 @@
+LEVEL = ../../../..
+
+PROG     = sphot
+ 
+LIBS += -lm
+LDFLAGS += -lm
+
+include	../../../Makefile.multisrc

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/allocdyn.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/allocdyn.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/allocdyn.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/allocdyn.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,20 @@
+C     This routine is currently not used
+
+      subroutine allocdyn       !Allocate dynamic arrays.
+      include 'params.inc'
+      include 'globals.inc'
+      include 'geomz.inc'
+      include 'randseed.inc'
+
+c     allocate
+c     .  mtl, dns, tmp, atrat, sig, scrat, sigtot, sigth, opcv
+
+c     allocate
+c     .  ng_incr,g_rr,g_zz,ng_itype,g_bom,g_sqm,g_ximp,ng_mid,
+c     .  g_volcl,g_ximpl
+
+c     allocate
+c     .  seedarray
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyglob.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyglob.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyglob.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyglob.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,75 @@
+      subroutine copyglob       !Copy global info to private arrays.   
+
+      include 'params.inc'
+      include 'geomz.inc'
+      include 'times.inc'
+      include 'mpif.h'
+
+      real*8 tstart, tstop, dt(maxMPItasks), tdiff
+      integer MPIid, ierr, statArray(MPI_STATUS_SIZE, maxMPItasks)
+      integer req(maxMPItasks)
+
+      CALL MPI_COMM_SIZE( MPI_COMM_WORLD, numMPItasks, ierr )
+      CALL MPI_COMM_RANK( MPI_COMM_WORLD, MPIid, ierr )
+      
+!      CALL second(tstart) 
+
+      do 901 j = 1, nzmax
+         do 900 k = 1, 5
+            rr(j,k)    = g_rr(j,k)
+            zz(j,k)    = g_zz(j,k)
+            itype(j,k) = ng_itype(j,k)
+            bom(j,k)   = g_bom(j,k)
+            sqm(j,k)   = g_sqm(j,k)
+ 900     continue 
+         ximp(j) = g_ximp(j)
+         mid(j)  = ng_mid(j)
+         volcl(j)= g_volcl(j)
+ 901  continue
+      do 902 j = 1, 5
+         incr(j) = ng_incr(j)
+ 902  continue
+      do 904 j = 1, nrzmax
+         ximpl(j)= g_ximpl(j)
+ 904  continue
+!      CALL second(tstop)
+      tdiff = tstop - tstart
+
+      if( numMPItasks .eq. 1 )then
+         copyGlobTime(1) = tdiff
+         return
+      end if
+
+      if( MPIid .eq. 0 )then
+         copyGlobTime(1) = tdiff
+         if( numMPItasks .gt. 1 )then
+            do i = 1, numMPItasks-1
+               CALL MPI_IRECV( dt(i), 1, MPI_DOUBLE_PRECISION, 
+     &              MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, req(i), 
+     &              ierr )
+            end do
+            CALL MPI_WAITALL( numMPItasks-1, req, 
+     &           statArray, ierr )
+            do i = 1, numMPItasks-1
+               copyGlobTime(statArray(MPI_TAG,i)) = dt(i)
+            end do
+         end if
+      end if
+
+      if( MPIid .gt. 0 )then
+         CALL MPI_SEND( tdiff, 1, MPI_DOUBLE_PRECISION, 
+     &        0, MPIid+1, MPI_COMM_WORLD, ierr )
+      end if
+
+      if( numMPItasks .gt. 1 )then
+         CALL MPI_BARRIER( MPI_COMM_WORLD, ierr )
+      end if
+
+      return
+      END
+
+      BLOCK DATA TINIT
+      include 'times.inc'
+
+      data copyGlobTime /maxMPItasks*0.0/
+      END

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copypriv.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copypriv.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copypriv.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copypriv.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,323 @@
+
+      
+      subroutine copypriv(ithRun, srFlag,  nescgp, enesc, wcut, 
+     &     wmin, wmax, wlost, wesc, wrr, wabs, wcen, epgain, etot,
+     &     npart, nphtot, nploss, nlost, nesc, nrr, nabs, ncen,
+     &     nscat, nsplt, ntrac, 
+     &     g_etot, g_epgain, g_wlost, g_wesc, g_wrr, g_wabs, 
+     &     g_wcen, g_enesc, ng_npart, ng_nphtot, ng_nploss,
+     &     ng_nlost, ng_nesc, ng_nrr, ng_nabs, ng_ncen, ng_nscat,
+     &     ng_nsplt, ng_ntrac, ng_nescgp, ibuf, jbuf, rbuf, sbuf,
+     &     lescbuf, nescbuf, lenbuf, enbuf )
+
+
+      include 'params.inc'
+      include 'globals.inc'
+c     include 'shared.inc'
+      include 'geomz.inc'
+      include 'times.inc'
+      include 'mpif.h'
+     
+      INTEGER ithRun
+      LOGICAL srFlag
+      INTEGER*4 nescgp(negrps)
+      real*8 enesc(negrps)
+      real*8 wcut, wmin, wmax
+      real*8 wlost, wesc, wrr
+      real*8 wabs, wcen, epgain, etot
+      integer*4 npart, nphtot, nploss
+      integer*4 nlost, nesc, nrr, nabs, ncen
+      integer*4 nscat, nsplt, ntrac
+
+      real*8   g_etot(maxruns) 
+      real*8   g_epgain(maxruns)
+      real*8   g_wlost(maxruns) 
+      real*8   g_wesc(maxruns) 
+      real*8   g_wrr(maxruns) 
+      real*8   g_wabs(maxruns) 
+      real*8   g_wcen(maxruns)
+      real*8   g_enesc (maxruns,negrps)
+
+      integer*4   ng_npart(maxruns) 
+      integer*4   ng_nphtot(maxruns) 
+      integer*4   ng_nploss(maxruns)
+      integer*4   ng_nlost(maxruns) 
+      integer*4   ng_nesc(maxruns) 
+      integer*4   ng_nrr(maxruns) 
+      integer*4   ng_nabs(maxruns) 
+      integer*4   ng_ncen(maxruns)
+      integer*4   ng_nscat(maxruns) 
+      integer*4   ng_nsplt(maxruns) 
+      integer*4   ng_ntrac(maxruns)
+      integer*4   ng_nescgp(maxruns,negrps)
+
+      INTEGER OMP_GET_THREAD_NUM, OMP_GET_NUM_THREADS
+      EXTERNAL OMP_GET_NUM_THREADS, OMP_GET_THREAD_NUM
+
+      INTEGER numThreads, ierr, MPIid,    thrID,
+     &        stat(MPI_STATUS_SIZE), 
+     &        req(maxMPItasks),
+     &        statArray(MPI_STATUS_SIZE, maxMPItasks),
+     &        ibuf(maxThreadsPerMPItask*11), 
+     &        jbuf(maxThreadsPerMPItask*11, maxMPItasks),
+     &        lescbuf(maxThreadsPerMPItask*negrps), 
+     &        nescbuf(maxThreadsPerMPItask*negrps, maxMPItasks)
+
+      REAL*8  rbuf(maxThreadsPerMPItask*7), 
+     &        sbuf(maxThreadsPerMPItask*7, maxMPItasks),
+     &        lenbuf(maxThreadsPerMPItask*negrps), 
+     &        enbuf(maxThreadsPerMPItask*negrps, maxMPItasks)
+
+
+c...  Take all contributions to these global values and sum them onto the
+c...  MPI task 0
+
+      CALL MPI_COMM_RANK( MPI_COMM_WORLD, MPIid, ierr )
+      CALL MPI_COMM_SIZE( MPI_COMM_WORLD, numMPItasks, ierr )
+
+      numThreads = OMP_GET_NUM_THREADS()
+      thrID = OMP_GET_THREAD_NUM()
+
+c...  Just set the global arrays if I'm the master node
+
+      if( MPIid .eq. 0 )then
+
+         k = ithRun
+
+         ng_npart(k)  = npart
+         ng_nphtot(k) = nphtot
+         ng_nploss(k) = nploss
+         ng_nlost(k)  = nlost
+         ng_nesc(k)   = nesc
+         ng_nrr(k)    = nrr
+         ng_ncen(k)   = ncen
+         ng_nabs(k)   = nabs
+         ng_nscat(k)  = nscat
+         ng_nsplt(k)  = nsplt
+         ng_ntrac(k)  = ntrac
+
+         g_etot(k)   = etot
+         g_epgain(k) = epgain
+         g_wlost(k)  = wlost
+         g_wesc(k)   = wesc
+         g_wrr(k)    = wrr
+         g_wcen(k)   = wcen
+         g_wabs(k)   = wabs
+
+
+         do 10 j = 1,negrps
+
+            ng_nescgp(k,j) = nescgp(j)
+            g_enesc(k,j) = enesc(j)
+
+ 10      continue
+
+
+      end if
+
+      if( numMPItasks .eq. 1 ) return
+
+c.... If I'm MPI task=0 and I know that I have no sends/receives to
+c.... perform with other MPI tasks, then just return
+
+      if( (MPIid .eq. 0) .AND. (srFlag .EQV. .FALSE.) )return
+
+
+c.... Set up some buffers
+
+      k = 11*OMP_GET_THREAD_NUM()
+
+      ibuf(k+1) = npart
+      ibuf(k+2) = nphtot
+      ibuf(k+3) = nploss
+      ibuf(k+4) = nlost
+      ibuf(k+5) = nesc
+      ibuf(k+6) = nrr
+      ibuf(k+7) = ncen
+      ibuf(k+8) = nabs
+      ibuf(k+9) = nscat
+      ibuf(k+10)= nsplt
+      ibuf(k+11)= ntrac
+
+      k = 7*OMP_GET_THREAD_NUM()
+
+      rbuf(k+1) = etot
+      rbuf(k+2) = epgain
+      rbuf(k+3) = wlost
+      rbuf(k+4) = wesc
+      rbuf(k+5) = wrr
+      rbuf(k+6) = wcen
+      rbuf(k+7) = wabs
+c.....Make sure all threads have written their part before proceeding
+!$OMP BARRIER
+
+c.....Send/recv ibuf.....
+
+c.....Only one thread per MPI task performs communications
+!$OMP MASTER
+      if( MPIid .eq. 0 )then
+         do 20 i = 1, numMPItasks-1
+            CALL MPI_IRECV( jbuf(1,i), (numThreads*11), 
+     &           MPI_INTEGER, MPI_ANY_SOURCE, 
+     &           MPI_ANY_TAG, MPI_COMM_WORLD, req(i), ierr )
+ 20      continue
+
+         CALL MPI_WAITALL( numMPItasks-1, req, statArray, ierr )
+
+         do 30 i = 1, numMPItasks-1
+            k = statArray(MPI_TAG,i) - 1
+            DO 35 j = 1, numThreads
+               kk = 11*(j-1)
+               ng_npart(k+j)  = jbuf(kk+1,i)
+               ng_nphtot(k+j) = jbuf(kk+2,i)
+               ng_nploss(k+j) = jbuf(kk+3,i)
+               ng_nlost(k+j)  = jbuf(kk+4,i)
+               ng_nesc(k+j)   = jbuf(kk+5,i)
+               ng_nrr(k+j)    = jbuf(kk+6,i)
+               ng_ncen(k+j)   = jbuf(kk+7,i)
+               ng_nabs(k+j)   = jbuf(kk+8,i)
+               ng_nscat(k+j)  = jbuf(kk+9,i)
+               ng_nsplt(k+j)  = jbuf(kk+10,i)
+               ng_ntrac(k+j)  = jbuf(kk+11,i)
+ 35         continue
+ 30      continue
+      end if
+
+
+      if( MPIid .gt. 0 )then
+         CALL MPI_SEND( ibuf, (numThreads*11), MPI_INTEGER, 0, 
+     &        ithRun, MPI_COMM_WORLD, ierr )
+      end if
+
+      CALL MPI_BARRIER( MPI_COMM_WORLD, ierr )
+!$OMP END MASTER
+
+
+c.....Send/recv sbuf.....
+
+c.....Only one thread per MPI task performs communications
+!$OMP MASTER
+      if( MPIid .eq. 0 )then
+         do 40 i = 1, numMPItasks-1
+            CALL MPI_IRECV( sbuf(1,i), 7*numThreads, 
+     &           MPI_DOUBLE_PRECISION, 
+     &           MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, req(i), 
+     &           ierr )
+ 40      continue
+
+         CALL MPI_WAITALL( numMPItasks-1, req, statArray, ierr )
+
+         do 50 i = 1, numMPItasks-1
+
+            k = statArray(MPI_TAG,i)-1  
+
+            do 55 j = 1, numThreads
+               kk = (j-1)*7
+               g_etot(k+j)   = sbuf(kk+1,i)
+               g_epgain(k+j) = sbuf(kk+2,i)
+               g_wlost(k+j)  = sbuf(kk+3,i)
+               g_wesc(k+j)   = sbuf(kk+4,i)
+               g_wrr(k+j)    = sbuf(kk+5,i)
+               g_wcen(k+j)   = sbuf(kk+6,i)
+               g_wabs(k+j)   = sbuf(kk+7,i)
+
+ 55         continue
+ 50      continue
+      end if
+
+      if( MPIid .gt. 0 )then
+         CALL MPI_SEND( rbuf, 7*numThreads, MPI_DOUBLE_PRECISION, 0,
+     &        ithRun, MPI_COMM_WORLD, ierr )
+      end if
+      
+      CALL MPI_BARRIER(MPI_COMM_WORLD,ierr)
+!$OMP END MASTER
+
+
+c.....Send/recv nescgp.....
+
+      k = negrps*OMP_GET_THREAD_NUM()
+      DO i = 1, negrps
+         lescbuf(k+i) = nescgp(i)
+      END DO
+c.....Make sure all threads have written their part before proceeding
+!$OMP BARRIER
+
+c.....Only one thread per MPI task performs communications
+!$OMP MASTER
+      if( MPIid .eq. 0 )then
+         do 60 i = 1, numMPItasks-1
+            CALL MPI_IRECV( nescbuf(1,i), numThreads*negrps,
+     &           MPI_INTEGER,  MPI_ANY_SOURCE, MPI_ANY_TAG, 
+     &           MPI_COMM_WORLD, req(i), ierr )
+ 60      continue
+
+         CALL MPI_WAITALL( numMPItasks-1, req, 
+     &        statArray, ierr )
+
+         do 70 i = 1, numMPItasks-1
+            k = statArray(MPI_TAG,i) -1
+            do 75 jj = 1, numThreads
+               kk = (jj-1)*negrps
+               do 80 j = 1,negrps
+                  ng_nescgp(k+jj,j) = nescbuf(kk+j,i)
+ 80            continue
+ 75         continue
+ 70      continue
+      end if
+
+      if( MPIid .gt. 0 )then
+         CALL MPI_SEND( lescbuf, numThreads*negrps, MPI_INTEGER, 0, 
+     &        ithRun, MPI_COMM_WORLD, ierr )
+      end if
+
+      CALL MPI_BARRIER(MPI_COMM_WORLD,ierr)
+!$OMP END MASTER
+
+
+c.....Send/recv enesc....
+
+
+      k = negrps*OMP_GET_THREAD_NUM()
+      DO i = 1, negrps
+         lenbuf(k+i) = enesc(i)
+      END DO
+c.....Make sure all threads have written their part before proceeding
+!$OMP BARRIER
+
+c.....Only one thread per MPI task performs communications
+!$OMP MASTER
+      if( MPIid .eq. 0 )then
+         do 90 i = 1, numMPItasks-1
+            CALL MPI_IRECV( enbuf(1,i), numThreads*negrps,
+     &            MPI_DOUBLE_PRECISION,
+     &           MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, req(i), 
+     &           ierr )
+ 90      continue
+
+         CALL MPI_WAITALL( numMPItasks-1, req, 
+     &        statArray, ierr )
+
+         do 100 i = 1, numMPItasks-1
+            k = statArray(MPI_TAG,i)-1
+            do 105 jj = 1, numThreads
+               kk = (jj-1)*negrps
+               do  110 j = 1,negrps
+                  g_enesc(k+jj,j) = enbuf(kk+j,i)
+ 110           continue
+ 105        continue
+ 100     continue
+      end if
+
+
+      if( MPIid .gt. 0 )then
+         CALL MPI_SEND( lenbuf, numThreads*negrps, MPI_DOUBLE_PRECISION,
+     &         0, ithRun, MPI_COMM_WORLD, ierr )
+      end if
+
+      CALL MPI_BARRIER(MPI_COMM_WORLD,ierr)
+!$OMP END MASTER
+
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyseed.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyseed.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyseed.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/copyseed.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,32 @@
+
+      subroutine copyseed( myIter, myStream, mySeed, firstRanf )
+
+      include 'params.inc'
+      include 'randseed.inc'
+      include 'shared.inc'
+
+      integer myIter, mystream, myseed(*)
+      REAL*8 firstRanf
+      REAL*8 fran, ranf
+      external ranf
+
+c     
+c     dale's mod
+c     
+      if (myStream .gt. 0) then
+         do 2 i = 1 ,IrandNumSize
+            seedarray(i, myStream) = mySeed(i)
+ 2       continue     
+      endif
+      myStream = myIter 
+c     
+c     ng_rncount(myStream) = 0
+      do 1 i = 1, IrandNumSize
+         mySeed(i) = seedarray(i,myStream)
+    1 continue
+
+
+      firstRanf = ranf(mySeed)
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/correct_answer
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/correct_answer?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/correct_answer (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/correct_answer Fri Nov 21 00:17:30 2008
@@ -0,0 +1,12 @@
+
+
+NRuns       Total tracks      avg. esc. prob.    std dev 
+---------------------------------------------------------
+16            66965828.0             .263122     .000466
+      
+64           267902590.0             .262930     .000478
+
+4096       17142869684.0             .262910     .000526
+
+8192       34285761643.0             .262911     .000529
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/execute.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/execute.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/execute.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/execute.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,592 @@
+
+      subroutine execute ( 
+     &        myIter, myStream, mySeed, nescgp, enesc, wcut, 
+     &        wmin, wmax, wlost, wesc, wrr, wabs, wcen, epgain, etot,
+     &        npart, nphtot, nploss, nlost, nesc, nrr, nabs, ncen,
+     &        nscat, nsplt, ntrac, firstRanf, depArray  )
+cc----------------------------------------------------------------------
+c     Generate source particles and track them.
+c     Outer loop is over zones, inner loop is over energy groups
+cc----------------------------------------------------------------------
+      include 'params.inc'
+      include 'geomz.inc'
+      include 'globals.inc'
+      
+      integer*4 myIter, myStream, mySeed(*)
+      INTEGER*4 nescgp(negrps)
+      double precision enesc(negrps)
+      double precision wcut, wmin, wmax
+      double precision wlost, wesc, wrr
+      double precision wabs, wcen, epgain, etot
+      integer*4 npart, nphtot, nploss
+      integer*4 nlost, nesc, nrr, nabs, ncen
+      integer*4 nscat, nsplt, ntrac
+      double precision firstRanf
+      double precision depArray(nzmax)
+
+      logical itest(4), jtest(4), ktest, noscat, isign
+      double precision xm(4), xb(4), del(4), lmin, l1, l2, l, newgt
+      double precision xkt4 (nmrmax), efrac (nmrmax,negp1)
+      
+c.... save arrays
+      double precision xsv(nsvmax), ysv(nsvmax), zsv(nsvmax),
+     &     usv(nsvmax), vsv(nsvmax), wsv(nsvmax), agesv(nsvmax),
+     &     wgtsv(nsvmax), idsv(nsvmax), irsv(nsvmax)
+
+      double precision hnu(negp1)
+
+      data hnu/.001d0,0.5d0,1.0d0,2.0d0,3.5d0,4.75d0,6.0d0,7.5d0,9.0d0,
+     |     12.0d0,20.0d0,80.0d0,200.0d0/
+      
+      double precision ranf
+      external ranf
+c***
+c     use common block to fool the compiler so that it will not
+c     optimize out the dummy code inside the critical region
+
+      real*8 DummyArray(10)
+
+      common / DUMMY / DummyArray  
+      
+c***  new source segment to be used with plankian - loop over cells
+c     planc returns zone indices, groups, emission times, and weights for
+c     all particles, assuming planckian emission for each zone
+      
+c***  efrac(ir,ig) = fraction of energy emitted in region ir that
+c     appears in group ig
+      
+c---------- particles generated from source term, (i.e., temperature)
+c---------- store plnkut results per region
+c---------- also tmp is in ev, need kev
+      
+      nlost = 0                 ! Initialize private common variables.
+      nesc  = 0
+      nrr   = 0
+      ncen  = 0
+      nabs  = 0
+      wlost = 0.0d0
+      wesc  = 0.0d0
+      wrr   = 0.0d0
+      wcen  = 0.0d0
+      wabs  = 0.0d0
+      nscat = 0
+      nsplt = 0
+      ntrac = 0
+
+      do 100 ijkl = 1,negrps
+         nescgp (ijkl) = 0
+         enesc  (ijkl) = 0.0d0
+ 100  continue
+
+      CALL copyseed ( myIter, myStream, mySeed, firstRanf )
+
+      const  = 2.567189267958d33 * tcen
+      do 300 ir = 1,nreg
+         tempk    = 1.0d-3 * tmp(ir)
+         xkt4(ir) = tempk*tempk*tempk*tempk*const
+         xtemp    = 1.0d0 / tempk
+         do 301 ig = 1,12
+            u1 = hnu(ig  ) * xtemp
+            u2 = hnu(ig+1) * xtemp
+            efrac(ir,ig) = plnkut(u1,u2)*xkt4(ir)*sigtot(ir,ig)
+ 301     continue
+ 300  continue
+      
+      vel    = 2.99793d10
+c---------- initialize some GLOBAL diagnostic variables
+      nploss = 0
+      epgain = 0.0d0
+      etot   = 0.0d0
+      nphtot = 0
+      
+
+c-------------------- LOOP OVER ZONES BEGINS
+
+      do 400 iz = 1, nzones
+
+c-------------------- determine if sides are reversed for rejection sampling
+         
+         itest(1) = rr(iz,1) .lt. rr(iz,2)
+         itest(2) = zz(iz,2) .lt. zz(iz,3)
+         itest(3) = rr(iz,4) .lt. rr(iz,3)
+         itest(4) = zz(iz,1) .lt. zz(iz,4)
+
+c-------------------- determine minimum and maximum coordinates for sampling
+         rmin = rr(iz,1)
+         rmax = rr(iz,1)
+         zmin = zz(iz,1)
+         zmax = zz(iz,1)
+         do 88 ii = 2,4
+            rrtemp = rr(iz,ii)
+            zztemp = zz(iz,ii)
+            if (rrtemp .gt. rmax) rmax = rrtemp
+            if (rrtemp .lt. rmin) rmin = rrtemp
+            if (zztemp .gt. zmax) zmax = zztemp
+            if (zztemp .lt. zmin) zmin = zztemp
+ 88      continue
+
+         rminsq = rmin*rmin
+         rsq    = rmax*rmax - rminsq
+         zmax   = zmax - zmin			! should be called zdelta
+         
+c-------------------- determine parameters for intersection calculation with zone sides
+
+         if (itype(iz,1) .ne. 2) then
+            del(1) = rr(iz,1) - rr(iz,2)
+            xm (1) = (zz(iz,1) - zz(iz,2))/del(1)
+            xb (1) = (zz(iz,2)*rr(iz,1) - zz(iz,1)*rr(iz,2))/del(1)
+         endif
+         
+         del(2) = zz(iz,3) - zz(iz,2)
+         if (del(2) .ne. 0.0) then
+            xm(2) = (rr(iz,3) - rr(iz,2))/del(2)
+            xb(2) = (zz(iz,3)*rr(iz,2) - zz(iz,2)*rr(iz,3))/del(2)
+         endif
+         
+         if (itype(iz,3) .ne.2) then
+            del(3) = rr(iz,4) - rr(iz,3)
+            xm (3) = (zz(iz,4) - zz(iz,3))/del(3)
+            xb (3) = (rr(iz,4)*zz(iz,3) - rr(iz,3)*zz(iz,4))/del(3)
+         endif
+         
+         del(4) = zz(iz,4) - zz(iz,1)
+         xm (4) = (rr(iz,4) - rr(iz,1))/del(4)
+         xb (4) = (zz(iz,4)*rr(iz,1) - zz(iz,1)*rr(iz,4))/del(4)
+
+
+c------------------- now begin the inner loop over energy groups
+         
+         do 150 ig = 1, 12
+
+            ir   = mid (iz)
+            edep = efrac(ir,ig) * volcl(iz)
+            
+c***  units:  tcen   (s),
+c     sigtot (1/cm),
+c     volcl  (cc),
+c     xkt4   (kev),
+c     edep   (kev)
+c     efrac  (kev/cc)
+c     bwgt = input bundle size,
+c     xpht = # of photons (non-integer),
+c     npht = truncated # of photons (rounded up or down depending on random #)
+            
+            etot = etot + edep
+            xpht = edep / bwgt
+            npht = xpht + ranf (mySeed)
+
+            if (npht .le. 0) then
+c------------------- when xpht is truncated to zero, keep track of:
+c                    energy (epgain) and number lost (nploss)
+               epgain = epgain - edep
+               nploss = nploss + 1
+               go to 150
+            endif
+            
+c-------------------- calculate bundle weight
+            phwgt = edep / (bwgt*npht)
+            
+c-------------------- modify weight to account for rejected bundles
+            if (xpht .lt. 1.0d0) then
+               phwgt  = phwgt / xpht
+               epgain = epgain + edep * ((1.0/xpht) - 1.0d0)
+            endif
+            nphtot = nphtot + npht
+
+
+c***  now loop over the number of photons emitted in zone iz and group ig
+            do 159 k = 1, npht
+
+c***
+c     insert dummy critical region
+
+!$OMP       critical
+
+c            if (ranf(mySeed) .le. 0.05) then
+c                DummyArray(10)    = xsv  (isplt)
+c                DummyArray(10)    = ysv  (isplt)
+c                DummyArray(10)    = zsv  (isplt)
+c                DummyArray(10)    = usv  (isplt)
+c                DummyArray(10)    = vsv  (isplt)
+c                DummyArray(10)    = wsv  (isplt)
+c                DummyArray(10)    = agesv(isplt)
+c                DummyArray(10)    = wgtsv(isplt)
+           if (phwgt .le. 0.05) then
+                DummyArray(10)    = 0.0
+                DummyArray(10)    = 0.0
+                DummyArray(10)    = 0.0
+                DummyArray(10)    = 0.0
+                DummyArray(10)    = 0.0
+                DummyArray(10)    = 0.0
+                DummyArray(10)    = 0.0
+                DummyArray(10)    = 0.0
+
+            end if               
+
+!$OMP       end critical
+
+
+
+               isplt  = 0
+               ibegin = 1
+               iend   = 0
+               newgt  = phwgt
+               age    = ranf(mySeed) * tcen
+               ir     = mid(iz)
+               
+c------------------- pick direction cosines
+               
+               w      = 2.0d0*ranf(mySeed) - 1.0
+               t3     = 6.2831853d0 * ranf(mySeed)
+               snthet = sqrt(1.0d0 - w*w)
+               u      = cos(t3) * snthet
+               v      = sin(t3) * snthet
+               
+c------------------- sample a point uniformly in the zone (rejection method)
+c                    to create an initial position
+               
+ 119           rsamp = sqrt (rsq  * ranf (mySeed) + rminsq)
+               zsamp =       zmax * ranf (mySeed) + zmin
+
+c***  determine if the point is inside the zone, if not reject
+c     1=right, 2=bottom, 3=left, 4=top
+               
+               if (itype(iz,1) .ne. 2) then
+                  jtest(1) = zsamp .lt. (xm(1)*rsamp + xb(1))
+               else
+                  jtest(1) = .not.itest(1)
+               end if
+               
+               ktest = ((itest(1) .and. jtest(1)) .or.
+     |              (.not.itest(1) .and. .not.jtest(1)))
+               if (ktest) go to 119                       ! outside, go sample again
+
+               if (del(2) .ne. 0.0) then
+                  jtest(2) = rsamp .gt. (xm(2)*zsamp + xb(2))
+               else
+                  jtest(2) = .not.itest(2)
+               end if
+               
+               ktest = ((itest(2) .and. jtest(2)) .or.
+     |              (.not.itest(2) .and. .not.jtest(2)))
+               if (ktest) go to 119                       ! outside, go sample again
+               
+               if (itype(iz,3) .ne.2) then
+                  jtest(3) = zsamp .gt. (xm(3)*rsamp + xb(3))
+               else
+                  jtest(3) = .not.itest(3)
+               end if
+               ktest = ((itest(3) .and. jtest(3)) .or.
+     |              (.not.itest(3) .and. .not.jtest(3)))
+               if (ktest) go to 119                       ! outside, go sample again
+               
+               jtest(4) = rsamp .lt. (xm(4)*zsamp + xb(4))
+               ktest    = ((itest(4) .and. jtest(4)) .or.
+     |              (.not.itest(4) .and. .not.jtest(4)))
+               if (ktest) go to 119                       ! outside, go sample again
+
+c------------------- once inside all four zone sides, continue to tracking section
+               
+               t3 = 6.2831853d0 * ranf (mySeed)
+               y  = rsamp * sin(t3)				! convert to 3D cartesian coordinates
+               x  = rsamp * cos(t3)
+               z  = zsamp
+               
+c------------------- BEGIN TRACKING SECTION
+               id    = iz							 ! id = zone # as a particle moves from zone to zone
+ 45            l     = 1000.0d0
+               ntrac = ntrac + 1					 ! increment the track count
+               
+               do 4 ks = 1, 4						 ! check for intersection with each of four sides
+                                                     ! and find minimum distance                 
+                  lmin = 1000.0 ! large initial min.
+				  
+                  itypeidks = itype (id, ks)
+                  if (itypeidks .eq. 1) go to 42     ! normal zone side
+                  if (itypeidks .eq. 2) go to  4     ! zone side on z axis, skip to next side
+                  if (itypeidks .eq. 3) go to 30     ! horizontal zone side
+                  if (itypeidks .eq. 4) go to 10     ! vertical zone side
+                  
+c------------------- normal zone side
+ 42               c1 = z + bom(id,ks)
+                  c2 = sqm(id,ks)*c1
+                  aa = 1.0d0 - (1.0d0 + sqm(id,ks))*w*w
+                  bb = x*u + y*v - c2*w
+                  cc = x*x + y*y - c2*c1
+                  if (aa .eq. 0.0d0) then
+                     lmin = - cc / bb
+                     go to 44                ! to test against minimum intersection distance
+                  endif
+                  
+                  disc = bb*bb - aa*cc
+                  if (disc .lt. 0.0) go to 4     ! no real solution, => no intersection, => skip
+                  d = sqrt(disc)
+                  
+                  l1 = (d - bb)/aa
+                  if (l1 .ge. 1.0d-10) then
+                     z1     = z + w*l1
+                     zzidks = zz(id,ks)
+                     zzidks1= zz(id,ks+1)
+                     isign  = (z1.lt.zzidks  .and. z1.lt.zzidks1 ) .or.
+     |                        (z1.gt.zzidks1 .and. z1.gt.zzidks  )
+                     if (isign) l1 = 1000.0d0
+                     if (l1 .lt. lmin) lmin = l1
+                  endif
+                  
+                  l2 = (-bb - d)/aa
+                  if (l2 .ge. 1.0d-10) then
+                     z2     = z + w*l2
+                     zzidks = zz(id,ks)
+                     zzidks1= zz(id,ks+1)
+                     isign  = (z2.lt.zzidks  .and. z2.lt.zzidks1 ) .or.
+     |                        (z2.gt.zzidks1 .and. z2.gt.zzidks  )
+                     if (isign) l2 = 1000.0d0
+                     if (l2 .lt. lmin) lmin = l2
+                  endif
+                  go to 44                ! to test against minimum intersection distance
+                  
+c------------------- vertical zone side
+ 10               lmin = (zz(id,ks) - z) / w
+                  x1   = x + u*lmin
+                  y1   = y + v*lmin
+                  r1   = sqrt(x1*x1 + y1*y1)
+                  isign =  (r1.lt.rr(id,ks  ) .and. r1.lt.rr(id,ks+1))
+     |                .or. (r1.gt.rr(id,ks+1) .and. r1.gt.rr(id,ks  ))
+                  if (isign) lmin = 1000.0d0
+                  go to 44                ! to test against minimum intersection distance
+                  
+c------------------- horizontal zone side
+ 30               aa   = 1.0d0 - w*w
+                  bb   = x*u + y*v
+                  cc   = x*v - y*u
+                  disc = aa*rr(id,ks)*rr(id,ks) - cc*cc
+                  if (disc .lt. 0.0d0) go to 4
+                  d  = sqrt(disc)
+                  
+                  l1 = (d - bb)/aa
+                  if (l1 .ge. 1.0d-10) then
+                     z1 = z + w*l1
+                     isign = (z1.lt.zz(id,ks  ) .and. z1.lt.zz(id,ks+1))
+     |                  .or. (z1.gt.zz(id,ks+1) .and. z1.gt.zz(id,ks  ))
+                     if (isign) l1 = 1000.0d0
+                     if (l1 .lt. lmin) lmin = l1
+                  endif
+                  
+                  l2 = (-bb - d)/aa
+                  if (l2 .ge. 1.0d-10) then
+                     z2 = z + w*l2
+                     isign = (z2.lt.zz(id,ks  ) .and. z2.lt.zz(id,ks+1)) 
+     |                  .or. (z2.gt.zz(id,ks+1) .and. z2.gt.zz(id,ks  ))
+                     if (isign) l2 = 1000.0d0
+                     if (l2 .lt. lmin) lmin = l2
+                  endif
+                  go to 44                ! to test against minimum intersection distance
+                  
+ 44               if ((lmin .le. l    ) .and. 
+     |                (lmin .gt. 0.0d0)) then      ! new minimum distance found
+                     l     = lmin                  ! remember the distance
+                     iside = ks                    ! and the side of closest intersection
+                  endif
+                  
+ 4             continue          ! end of section testing intersection with edges
+
+c----- DETERMINE THE FATE OF THE PARTICLE:
+c      absorbed, escaped, moved, scattered or censused
+               
+               if (l .eq. 1000.0d0) then      ! no intersection found!  => LOST
+                  nlost = nlost + 1
+                  wlost = wlost + newgt
+                  go to 15                    ! to check for saved photon to track
+               endif
+               
+               dist = -log(ranf(mySeed)) / sig(ir,ig)     ! distance to collision
+               dcen = (tcen - age) * 2.99793d10           ! distance to census (i.e., end of time step)
+               
+               if (l .lt. dist .and. l .lt. dcen) go to 26 ! move to the boundary intersection
+               
+               if (dist .lt. dcen) then
+                  noscat = ranf(mySeed) .gt. scrat(ir,ig)  ! probability of scattering vis. absorption
+                  if (noscat) then
+c------------------------------absorption
+                     nabs = nabs + 1
+                     wabs = wabs + newgt
+c.....DEPOSITION.....
+!$OMP ATOMIC
+                     depArray(id) = depArray(id) + newgt   ! deposit absorbed energy in the zone
+
+c.....END DEPOSITION
+
+                  else
+c------------------------------Thomson scattering
+                     nscat = nscat + 1				  ! count the scatters
+                     x = x + u*dist					  ! move in 3D to the point of scattering
+                     y = y + v*dist
+                     z = z + w*dist
+                     age = age + dist*3.3356349d-11   ! advance the "age" of the photon
+                     CALL thom (u, v, w, mySeed)
+					                                  ! 
+					 
+                     if (irr .eq. 2) go to 525        ! rr/splitting via relative bundle size
+                     go to 45                         ! to continue tracking
+                  end if
+               else
+c------------------------------Census time. Fake putting the particle into storage
+
+!$OMP       critical
+
+						DummyArray(10)    = x
+						DummyArray(10)    = y
+						DummyArray(10)    = z
+						DummyArray(10)    = u
+						DummyArray(10)    = v
+						DummyArray(10)    = w
+						DummyArray(10)    = age
+						DummyArray(10)    = newgt
+
+!$OMP       end critical
+
+                  ncen = ncen + 1
+                  wcen = wcen + newgt
+
+               end if
+               go to 15                               ! to check for saved photon to track
+               
+c-------------------------------------------------- MOVE THE PARTICLE TO THE CORRECT BOUNDARY
+ 26            idold = id
+               id    = id + ng_incr(iside)			  ! zone ID changed according to which side was crossed
+
+               if ( id .gt. nzones ) then
+c-------------------------------------------------- Escaped
+                  nescgp(ig) = nescgp(ig) + 1
+                  enesc (ig) = enesc (ig) + newgt
+                  go to 15                            ! to check for saved photon to track
+               endif
+               
+               ir  = mid (id)
+               x   = x + u*l   ! what about right on the side?
+               y   = y + v*l
+               z   = z + w*l
+               age = age + l*3.3356349d-11			  ! distance divided by the speed of light
+               
+c--------------------russian roulette/splitting options
+               
+c     irr = 0  no rr/splitting
+c     irr = 1  rr/splitting via relative zone importances
+c     irr = 2  rr/splitting via relative bundle size
+               
+               if (irr .eq. 0) go to 45                ! to continue tracking
+               if (irr .eq. 2) go to 525			   ! rr/splitting via relative bundle size
+               
+c-------------------- rr/splitting via zone importances
+c					  (only applies to particles which cross zone boundaries)
+               
+               if (ximp(id) .eq. ximp(idold)) go to 45  ! NO change in zone importance. => continue tracking
+               r = ximp(id) / ximp(idold)
+               
+               zeta = ranf(mySeed)
+               ir1  = r
+               r1   = dble(ir1)
+               ir0  = ir1 - 1
+               r0   = r - r1
+               
+               if (r .lt. 1.0d0) then
+c------------------------------russian roulette
+                  if (zeta .lt. r0) then
+c------------------------------ survive
+                     rinv  = 1.0d0 / r
+                     wrr   = wrr + newgt * (rinv - 1.0d0)
+                     newgt = newgt * rinv
+                     go to 45                    ! to continue tracking
+                  endif
+c------------------------------ kill
+                  nrr = nrr + 1
+                  wrr = wrr - newgt
+                  go to 15                   ! to check for saved photon to track
+               endif
+               
+c------------------------------ split
+               if (zeta .lt. r0) then
+c------------------------------ split high
+                  newgt = newgt / (r1 + 1.0d0)
+                  isplt = isplt + ir1
+                  nsplt = nsplt + ir1
+                  go to 415                  ! to save new photon in storage
+               endif
+c-----------------------------split low
+               if (ir0 .le. 0) go to 45      ! to continue tracking
+               r1    = dble(ir0)
+               isplt = isplt + ir0
+               nsplt = nsplt + ir0
+               newgt = newgt / (r1 + 1.0d0)
+               go to 415                     ! to save new photon in storage
+               
+c------------------------------ rr/splitting via relative bundle size
+ 525           r = newgt
+               if (r .lt. wmin) then
+c------------------------------russian roulette
+                  if (ranf(mySeed) .lt. r) then
+c------------------------------survive
+                     wrr = wrr + 1.0d0 - r
+                     newgt = 1.0d0
+                     go to 45                 ! to continue tracking
+                  endif
+c------------------------------kill
+                  nrr = nrr + 1
+                  wrr = wrr - newgt
+                  go to 15                    ! to check for saved photon to track
+               endif
+c------------------------------split
+               if (r .lt. wmax) go to 45      ! to continue tracking
+               ir0 = r
+               ir1 = ir0 - 1
+               if (ir1 .le. 0) go to 45       ! to continue tracking
+			   
+               r1    = dble(ir1)
+               newgt = newgt/(r1 + 1.0)
+               isplt = isplt + ir1
+               nsplt = nsplt + ir1
+               
+c------------------------------save position, direction, age, zone and weight
+c                              of cloned particles
+ 415           iend = isplt
+               do 317 i1 = ibegin,iend
+                  xsv  (i1) = x
+                  ysv  (i1) = y
+                  zsv  (i1) = z
+                  usv  (i1) = u
+                  vsv  (i1) = v
+                  wsv  (i1) = w
+                  agesv(i1) = age
+                  wgtsv(i1) = newgt
+                  idsv (i1) = id
+                  irsv (i1) = ir
+ 317           continue
+               
+               ibegin = iend + 1
+               go to 45                   ! to continue tracking
+               
+ 15            if (isplt .ne. 0) then
+c------------------------------now dispense split particles from group ig
+                  x      = xsv  (isplt)
+                  y      = ysv  (isplt)
+                  z      = zsv  (isplt)
+                  u      = usv  (isplt)
+                  v      = vsv  (isplt)
+                  w      = wsv  (isplt)
+                  age    = agesv(isplt)
+                  newgt  = wgtsv(isplt)
+                  id     = idsv (isplt)
+                  ir     = irsv (isplt)
+                  isplt  = isplt - 1
+                  ibegin = ibegin - 1
+                  go to 45                ! to continue tracking
+               endif
+               
+ 159        continue	! end of loop over the number of photons emitted in zone iz and group ig
+            
+ 150     continue		! end of loop over energy groups
+
+ 400  continue			! end of loop over zones
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genmesh.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genmesh.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genmesh.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genmesh.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,144 @@
+      
+      subroutine genmesh
+c----------------------------------------------------------------------
+c     A simple polar mesh is generated.
+c----------------------------------------------------------------------
+      include 'params.inc'
+      include 'geomz.inc'
+      include 'globals.inc'
+      
+      double precision m
+c--------------------initialize variables
+      pi      = 3.141592653589793238d0
+      ng_incr(1) = 1
+      ng_incr(2) = -naxl
+      ng_incr(3) = -1
+      ng_incr(4) = naxl
+      
+      if (irr .ne. 0) then
+c--------------------assign cell importances (or weight limits) for rr
+       
+cc.....Seems that impl decreases geometrically with radius....MJC
+         if (irr .eq. 1) then
+
+            g_ximpl(1) = 1.0d0
+            do 221 i = 2,nradl
+               g_ximpl(i) = xmult * g_ximpl(i-1)
+ 221        continue
+            
+c...fill a polar array with these values, equal azumuthally MJC
+            do 222 i = 1,nradl
+               do 223 k = 1,naxl
+                  iz       = k + (i-1)*naxl
+                  g_ximp(iz) = g_ximpl(i)
+ 223           continue
+ 222        continue
+            
+         else
+            wmin = wcut
+            wmax= 1.0d0 / wcut
+         endif
+         
+      endif
+
+c..The number above implies that the center node is #1 and that the next
+c..layer of nodes around is is numbered increasingly either clockwise or
+c..counter clockwise. MJC
+
+      
+c--------------------assign cell numbers and cell coordinates
+      
+      nzones = nradl * naxl
+      hr     = radl  / nradl
+      ha     = (axl*pi)/(naxl*180.0d0)
+      naxpls = naxl + 1
+      do 1 iang = 1,naxpls
+         ang = (iang-1)*ha
+         cs  = cos(ang)
+         sn  = sin(ang)
+         do 2 ird=1,nradl
+            r = (ird*hr)*sn
+            z = (ird*hr)*cs
+            
+            if (iang .le. 1) goto 50
+            jc       = ird*naxl - iang + 2
+            g_zz(jc,4) = z
+            g_rr(jc,4) = r
+            
+            if (ird .ge. nradl) goto 50
+            jc       = jc+naxl
+            g_zz(jc,3) = z
+            g_rr(jc,3) = r
+            
+ 50         continue
+            
+            if (iang .ge. naxpls) goto 51
+            jc       = ird*naxl - iang + 1
+            g_zz(jc,1) = z
+            g_rr(jc,1) = r
+            if (ird .ge. nradl) goto 51
+            jc       = jc+naxl
+            g_zz(jc,2) = z
+            g_rr(jc,2) = r
+            
+ 51         continue
+            
+ 2       continue
+ 1    continue
+      
+      do 3 ii = 1,nzones
+         do 8 ij = 1,4
+            if (abs(g_zz(ii,ij)) .lt. 1.0e-9) g_zz(ii,ij) = 0.0d0
+            if (abs(g_rr(ii,ij)) .lt. 1.0e-9) g_rr(ii,ij) = 0.0d0
+ 8       continue
+         g_zz(ii,5) = g_zz(ii,1)
+         g_rr(ii,5) = g_rr(ii,1)
+ 3    continue
+
+
+c------------------------------compute SLOPE and INTERCEPT of cell sides,
+c     and categorize special cases:
+c     1 = normal cell,
+c     2 = cell on z-axis,
+c     3 = horizontal side,
+c     4 = vertical side
+      
+      do 60 i = 1,nzones
+         do 61 ks = 1,4
+            rdif = g_rr(i,ks+1) - g_rr(i,ks)
+            zdif = g_zz(i,ks+1) - g_zz(i,ks)
+            
+            if ((g_rr(i,ks).eq.0.0d0).and.(g_rr(i,ks+1).eq.0.0d0)) then
+               ng_itype(i,ks) = 2
+            else if (abs(rdif) .lt. 1.0d-9) then
+               ng_itype(i,ks) = 3
+            else if (abs(zdif) .lt. 1.0d-9) then
+               ng_itype(i,ks) = 4
+            else
+               ng_itype(i,ks) = 1
+            end if
+            
+            if (ng_itype(i,ks) .eq. 1) then
+               
+               if ((ks .eq. 1) .or. (ks .eq. 3)) then
+                  m = rdif/zdif
+                  b = 0.0d0
+                  g_sqm(i,ks) = m*m
+                  g_bom(i,ks) = 0.0d0
+                  
+               else
+                  b = (g_rr(i,ks)*g_zz(i,ks+1)
+     &                 -g_rr(i,ks+1)*g_zz(i,ks))/zdif
+                  m = rdif/zdif
+                  g_sqm(i,ks) = m*m
+                  g_bom(i,ks) = b/m
+               endif
+               
+            endif
+ 61      continue
+ 60   continue
+      
+      CALL zonevols
+      
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genxsec.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genxsec.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genxsec.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/genxsec.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,93 @@
+      
+      subroutine genxsec
+c----------------------------------------------------------------------
+c     Setup the opacity data by group (13) and region (nreg).
+c     ixopec .eq. 0 :  use library opacities from subroutine interp
+c     ixopec .eq. 1 :  all opacities = opec (input opacity)
+c     ixopec .eq. 2 :  use opacities from data statement (sigdat),
+c     which means that formatted library on unit 4
+c     or binary library on unit 15 are not needed for
+c     this particular case (see data sigdat)
+      
+c     igroup = 0      :  normal 12 group opacity tables used
+c     igroup = 1 - 12 :  opacity from that group is used
+c     igroup = 13     :  opacity from group 13 is used (rosseland mean)
+      
+c     CALL subroutine interp for each material (nreg)
+c----------------------------------------------------------------------
+      include 'params.inc'
+      include 'geomz.inc'
+      include 'globals.inc'
+      include 'mpif.h'
+
+      INTEGER MPIid, ierr
+
+c      common /xsecdat/ sigdat(2,negp1)
+      REAL *8 sigdat(2,negp1)
+
+      data sigdat/     .1395449d+06,.8093366d+06,.2022023d+05,
+     |     .1344934d+06,.4188673d+04,.4467951d+05,.1033437d+04,
+     |     .3250243d+05,.4297604d+03,.1237669d+05,.2235549d+03,
+     |     .5984154d+04,.1270899d+03,.3111531d+04,.7992034d+02,
+     |     .1722049d+04,.4425178d+02,.9100233d+03,.1456625d+02,
+     |     .3776509d+03,.7138723d+00,.7534896d+02,.4231184d-01,
+     |     .1032693d+01,.7666376d+01,.6094672d+04/
+      
+
+      CALL MPI_COMM_RANK( MPI_COMM_WORLD, MPIid, ierr )
+
+      xthom = 0.0d0
+c***  ithom non-zero implies that thomson scattering is used
+      if (ithom .ne. 0) xthom = 1.0d0
+      
+      do 75 i = 1,nreg
+         if (ixopec .eq. 0) then
+c--------------------ixopec = 0 means opacity library is used
+            CALL interp (mtl(i),dns(i),tmp(i),opcv)
+         endif
+         
+c-----store the thomson scattering cross section.
+c     - thomson cross section depends only on the material,
+c     - and not on the energy group
+         
+         sigth(i) = .4006*atrat(i)*dns(i)*xthom
+
+         do 69 ig = 1,13
+            if( igroup.ne.0 .and. ixopec.eq.0) opcv(ig) = opcv(igroup)
+            
+c-----store total cross section without thomson.
+c     - first index in cross section is the material id,
+c     - the second is the energy group
+            
+            if (ixopec .eq. 1) then
+               sigtot(i,ig) = opec
+            else if (ixopec .eq. 2) then
+               sigtot(i,ig) = sigdat(i,ig)
+            else
+               sigtot(i,ig) = dns(i) * opcv(ig)
+            endif
+            
+            sig  (i,ig) = sigtot(i,ig) + sigth(i)
+            scrat(i,ig) = sigth(i) / sig(i,ig)
+ 69      continue
+ 75   continue
+
+
+      if (icross .ne. 0 .and. MPIid .eq. 0) then
+c--------------------print edit of total and thomson cross sections
+         do 76 i=1,nreg
+            write (6,207) i, sigth(i)
+ 207      format(//' material',i3,' with thomson cross section (1/cm) '
+     .           ,e15.7/)
+            write (6,208)
+ 208        format(10x,'group',15x,'sigtot (1/cm)',15x,'scat ratio'/)
+            
+             write (6,209) (j, sigtot(i,j), scrat(i,j),
+     |           j=1,13)
+ 209        format(12x,i2,14x,e15.7,10x,e15.7)
+ 76      continue
+      endif
+
+      
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/geomz.inc
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/geomz.inc?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/geomz.inc (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/geomz.inc Fri Nov 21 00:17:30 2008
@@ -0,0 +1,55 @@
+c This is 'geomz.inc'
+c
+c      scatter, shared
+      dimension
+     .    ng_incr (5),
+     .    g_rr   (nzmax,5),
+     .    g_zz   (nzmax,5),
+     .    ng_itype(nzmax,5),
+     .    g_bom  (nzmax,5),
+     .    g_sqm  (nzmax,5),
+     .    g_ximp (nzmax),
+     .    ng_mid  (nzmax),
+     .    g_volcl(nzmax),
+     .    g_ximpl(nrzmax)
+
+      dimension   
+     .    incr (5),
+     .    rr   (nzmax,5),
+     .    zz   (nzmax,5),
+     .    itype(nzmax,5),
+     .    bom(nzmax,5),
+     .    sqm(nzmax,5),
+     .    ximp (nzmax),
+     .    mid  (nzmax),
+     .    volcl(nzmax),
+     .    ximpl(nrzmax)
+
+c      common, shared /geomz/ naxl,axl,nradl,radl,nzones
+      common /geomz/ axl,naxl,nradl,radl,nzones
+      
+
+c      common, private/pgeomz/
+      common /pgeomz/
+     .    rr   ,
+     .    g_rr ,
+     .    zz   ,
+     .    g_zz ,
+     .    bom  ,
+     .    g_bom,
+     .    sqm  ,
+     .    g_sqm,
+     .    ximp ,
+     .    g_ximp,
+     .    mid  ,
+     .    volcl,
+     .    g_volcl,
+     .    ximpl,
+     .    g_ximpl,
+     .    itype,
+     .    ng_itype,
+     .    ng_mid,
+     .    incr,
+     .    ng_incr
+
+ 

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/globals.inc
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/globals.inc?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/globals.inc (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/globals.inc Fri Nov 21 00:17:30 2008
@@ -0,0 +1,58 @@
+c This is 'globals.inc'
+c
+c      scatter, shared 
+       dimension
+     .    mtl  (nmrmax),
+     .    dns  (nmrmax),
+     .    tmp  (nmrmax),
+     .    atrat(nmrmax),
+     .    sig   (nmrmax,negp1),
+     .    scrat (nmrmax,negp1),
+     .    sigtot(nmrmax,negp1),
+     .    sigth (nmrmax),
+     .    opcv  (       negp1)
+
+c      common, shared /material/ nreg
+      common  /material/ nreg
+
+c      common, private /pmaterial/
+      common /pmaterial/
+     .    mtl  ,
+     .    dns  ,
+     .    tmp  ,
+     .    atrat
+c      common, shared /xsec/ opec
+      common /xsec/ opec
+
+c      common, private /pxsec/
+      common /pxsec/
+     .    sig   ,
+     .    scrat ,
+     .    sigtot,
+     .    sigth , 
+     .    opcv  
+ 
+c      common, shared /controls/ igroup,ixopec,isorst,irr,ithom,icross,
+      common /controls/ igroup,ixopec,isorst,irr,ithom,icross,
+     .       dtol,tcen,xmult,ilib,illib,title(20)
+ 
+c      common, shared /newcom/ bwgt    !Formerly 1st item in /samples/.
+      common /newcom/ bwgt    !Formerly 1st item in /samples/.
+
+
+c      common /samples/ nescgp(negrps), enesc(negrps), wcut, wmin,  wmax,
+c     .   wlost, wesc, wrr, wabs, wcen, epgain, etot,
+c     .   npart, nphtot, nploss, 
+c     .   nlost, nesc, nrr, nabs, ncen,
+c     .   nscat, nsplt, ntrac
+
+
+c
+c     O    nothing
+c     1    summary only
+c     2    full output
+c
+      integer print_flag
+      common /output_flags/
+     .   print_flag
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/input.dat
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/input.dat?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/input.dat (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/input.dat Fri Nov 21 00:17:30 2008
@@ -0,0 +1,14 @@
+        16
+BENCHMARK CASE NO THOMS, NO RR/SPLIT: 49X40, BWGT=3.12e+14
+         1         0
+      4000         0         0         0         0         0         0
+        49        40         2
+  1.00e-10  7.50e-01  1.00e-12  1.05e+00
+  1.80e+02  1.00e-03  5.00e-01  3.12e+12
+         1       980
+       981      1960
+         3 4.000e-01 1.000e+03 2.000e+04
+         2 5.000e-01 1.000e+02 1.000e+03
+         0         1
+
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/interp.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/interp.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/interp.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/interp.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,52 @@
+      
+      subroutine interp (matl,dnt,temp,opacity)
+c***********************************************************************
+c     calculates material opacities as a function of temperature and
+c     density by interpolating in the llnl library.
+c     arguments:
+c     matl: material number
+c     temp: temperature (units?),
+c     dnt :  density (units?)
+c     returns: 13 group opacity vector into array opacity.
+c***********************************************************************
+      implicit double precision (a-h,o-z)
+      
+      common /opactab/ x(14,32,13,4), t(32,2), d(14)
+      dimension opacity(13)
+c     scatter, shared opacity
+
+
+      ityp = 1
+      if (matl .eq. 2 .or. matl .eq. 4) ityp = 2
+      
+c--------------------find bounding temperatures
+      do 20 it = 1,32
+         if (temp .lt. t(it,ityp)) goto 30
+ 20   continue
+ 30   tmax = t(it,ityp)
+      it1 = it-1
+      tmin = t(it1,ityp)
+      trat = (temp - tmin)/(tmax - tmin)
+      
+c--------------------find bounding densities
+      do 40 id = 1,14
+c         if (dnt .lt. d(id)) goto 50   Replaced with following due to 
+c addressing problems
+         if (dnt .le. d(id)) goto 50
+ 40   continue
+ 50   dmax = d(id)
+      id1 = id-1
+      dmin = d(id1)
+      drat = (dnt - dmin)/(dmax - dmin)
+      
+c--------------------interpolate
+      do 60 ie = 1,13
+         xt = x(id1,it,ie,matl) + (x(id,it,ie,matl)-x(id1,it,ie,matl))
+     |        * drat
+         xt1 = x(id1,it1,ie,matl)
+     |        + (x(id,it1,ie,matl)-x(id1,it1,ie,matl))*drat
+         opacity (ie) = exp(xt1 + (xt-xt1)*trat)
+ 60   continue
+      
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfeven.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfeven.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfeven.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfeven.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,28 @@
+c     ranfatok
+
+c==============================================================================
+
+      function iranfeven( N )
+
+c------------------------------------------------------------------------------
+c     
+c     This function checks the parity of the argument integer.
+c     
+c     It returns one if the argument is even and zero otherwise.
+c     
+c------------------------------------------------------------------------------
+
+      include 'pranf.inc'
+
+      integer N
+
+c------------------------------------------------------------------------------
+
+      if( mod( N, 2 ) .eq. 0 ) then
+         iranfeven = 1
+      else
+         iranfeven = 0
+      endif
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfodd.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfodd.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfodd.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/iranfodd.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,29 @@
+c     end ranfmodmult
+
+c==============================================================================
+
+      function iranfodd( N )
+
+c------------------------------------------------------------------------------
+c     
+c     This function checks the parity of the argument integer.
+c     
+c     It returns one if the argument is odd and zero otherwise.
+c     
+c------------------------------------------------------------------------------
+
+      include 'pranf.inc'
+
+      integer N
+
+c------------------------------------------------------------------------------
+
+      if( mod( N, 2 ) .eq. 1 ) then
+         iranfeven = 0
+      else
+         iranfeven = 1
+      endif
+
+      iranfodd = 1 - iranfeven
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,2269 @@
+      subroutine mpi_abort ( comm, errorcode, ierror )
+
+c*********************************************************************72
+c
+cc MPI_ABORT shuts down the processes in a given communicator.
+c
+c  Modified:
+c
+c    08 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Input, integer ERRORCODE, the error code to be returned.
+c
+c    Output, integer IERROR, an error code.
+c
+      implicit none
+
+      integer comm
+      integer errorcode
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_ABORT:'
+      write ( *, '(a,i12)' ) 
+     &  '  Shut down with error code = ', errorcode
+
+      stop
+      end
+      subroutine mpi_allgather ( data1, nsend, sendtype, data2, 
+     &  nrecv, recvtype, comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_ALLGATHER gathers data from all the processes in a communicator.
+c
+c  Discussion:
+c
+c    This single processor version will copy values from DATA1 to DATA2.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer DATA1(NSEND), the data to be sent.
+c
+c    Input, integer NSEND, the number of data items to be sent.
+c
+c    Input, integer SENDTYPE, the MPI datatype of the data being sent.
+c
+c    Output, integer DATA2(NSEND*NUM_PROCS), the gathered data
+c    that is received.
+c
+c    Input, integer NRECV, the number of data items to be received
+c    from each process.
+c
+c    Input, integer RECVTYPE, the MPI datatype of the data being received.
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      include "mpi_stubs_f77.h"
+
+      integer nsend
+
+      integer comm
+      integer data1(nsend)
+      integer data2(nsend)
+      integer ierror
+      integer nrecv
+      integer recvtype
+      integer sendtype
+
+      ierror = MPI_SUCCESS
+
+      if ( sendtype .eq. mpi_double_precision ) then
+        call mpi_copy_double_precision ( data1, data2, nsend, ierror )
+      else if ( sendtype .eq. mpi_integer ) then
+        call mpi_copy_integer ( data1, data2, nsend, ierror )
+      else if ( sendtype .eq. mpi_real ) then
+        call mpi_copy_real ( data1, data2, nsend, ierror )
+      else
+        ierror = MPI_FAILURE
+      end if
+
+      return
+      end
+      subroutine mpi_allgatherv ( data1, nsend, sendtype,
+     &  data2, nrecv, ndispls, recvtype, comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_ALLGATHERV gathers data from all the processes in a communicator.
+c
+c  Discussion:
+c
+c    This single processor version will copy values from DATA1 to DATA2.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      include "mpi_stubs_f77.h"
+
+      integer nsend
+
+      integer comm
+      integer data1(nsend)
+      integer data2(nsend)
+      integer ierror
+      integer ndispls
+      integer nrecv
+      integer recvtype
+      integer sendtype
+
+      ierror = MPI_SUCCESS
+
+      if ( sendtype .eq. mpi_double_precision ) then
+        call mpi_copy_double_precision ( data1, data2, nsend, ierror )
+      else if ( sendtype .eq. mpi_integer ) then
+        call mpi_copy_integer ( data1, data2, nsend, ierror )
+      else if ( sendtype .eq. mpi_real ) then
+        call mpi_copy_real ( data1, data2, nsend, ierror )
+      else
+        ierror = MPI_FAILURE
+      end if
+
+      return
+      end
+      subroutine mpi_allreduce ( data1, data2, n, datatype,
+     &  operation, comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_ALLREDUCE carries out a reduction operation.
+c
+c  Discussion:
+c
+c    The reduction operations are MAXIMUM, MINIMUM, PRODUCT and SUM.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    07 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, DATATYPE DATA1(N), the data to be processed.
+c
+c    Output, DATATYPE DATA2, the value of the reduction operation.
+c
+c    Input, integer N, the number of items in DATA1.
+c
+c    Input, integer DATATYPE, indicates the datatype of DATA1 and DATA2.
+c
+c    Input, integer OPERATION, should have the value of one of the symbolic
+c    constants MPI_MAX, MPI_MIN, MPI_PRODUCT or MPI_SUM.
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      include "mpi_stubs_f77.h"
+
+      integer n
+
+      integer comm
+      integer data1(n)
+      integer data2(n)
+      integer datatype
+      integer ierror
+      integer operation
+
+      ierror = MPI_SUCCESS
+
+      if ( datatype .eq. mpi_double_precision ) then
+
+        call mpi_reduce_double_precision ( 
+     &    data1, data2, n, operation, ierror )
+
+      else if ( datatype .eq. mpi_integer ) then
+
+        call mpi_reduce_integer ( 
+     &    data1, data2, n, operation, ierror )
+
+      else if ( datatype .eq. mpi_real ) then
+
+        call mpi_reduce_real ( 
+     &    data1, data2, n, operation, ierror )
+
+      else
+
+        ierror = MPI_FAILURE
+
+      end if
+
+      return
+      end
+      subroutine mpi_barrier ( comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_BARRIER forces processes within a communicator to wait together.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer comm
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      return
+      end
+      subroutine mpi_bcast ( data, n, datatype, node, comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_BCAST broadcasts data from one process to all others.
+c
+c  Discussion:
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    06 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, datatype DATA(N), the data to be broadcast.
+c
+c    Input, integer N, the number of items of data.
+c
+c    Input, integer DATATYPE, the MPI code for the datatype of the data.
+c
+c    Input, integer NODE, the rank of the sending process within the
+c    given communicator.
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      integer comm
+      integer data(n)
+      integer datatype
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+      integer node
+
+      ierror = MPI_SUCCESS
+
+      return
+      end
+      subroutine mpi_bsend ( data, n, datatype, iproc, itag,
+     &  comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_BSEND sends data from one process to another, using buffering.
+c
+c  Discussion:
+c
+c    Warn against sending message to self, since no data copy is done.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    06 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, datatype DATA(N), the data to be sent.
+c
+c    Input, integer N, the number of data items to send.
+c
+c    Input, integer DATAYTPE, the MPI code for the datatype.
+c
+c    Input, integer IPROC, the rank of the process within the communicator
+c    that is to receive the message.
+c
+c    Input, integer ITAG, a tag for the message.
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      integer comm
+      integer data(n)
+      integer datatype
+      integer ierror
+      integer iproc
+      integer itag
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_BSEND - Error!'
+      write ( *, '(a)' )  '  Should not send message to self.'
+
+      return
+      end
+      subroutine mpi_cart_create ( comm, ndims, dims, periods,
+     &  reorder, comm_cart, ierror )
+
+c*********************************************************************72
+c
+cc MPI_CART_CREATE creates a communicator for a Cartesian topology.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer COMM_CART, the new MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer ndims
+
+      integer comm
+      integer comm_cart
+      integer dims(*)
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+      logical periods(*)
+      logical reorder
+
+      ierror = MPI_SUCCESS
+
+      return
+      end
+      subroutine mpi_cart_get ( comm, ndims, dims, periods,
+     &  coords, ierror )
+
+c*********************************************************************72
+c
+cc MPI_CART_GET returns the "Cartesian coordinates" of the calling process.
+c
+c  Discussion:
+c
+c    Set all coordinates to 0.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer ndims
+
+      integer comm
+      integer coords(*)
+      integer dims(*)
+      integer i
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+      logical periods(*)
+
+      ierror = MPI_SUCCESS
+
+      do i = 1, ndims
+        coords(i) = 0
+      end do
+
+      return
+      end
+      subroutine mpi_cart_shift ( comm, idir, idisp, isource, 
+     &  idest, ierror )
+
+c*********************************************************************72
+c
+cc MPI_CART_SHIFT finds the destination and source for Cartesian shifts.
+c
+c  Discussion:
+c
+c    Set ISOURCE = IDEST = SELF = 0.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer comm
+      integer idest
+      integer idir
+      integer idisp
+      integer ierror
+      integer isource
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+      isource = 0
+      idest = 0
+
+      return
+      end
+      subroutine mpi_comm_dup ( comm, comm_out, ierror )
+
+c*********************************************************************72
+c
+cc MPI_COMM_DUP duplicates a communicator.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer COMM_OUT, the new MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer comm
+      integer comm_out
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+      comm_out = comm
+
+      return
+      end
+      subroutine mpi_comm_free ( comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_COMM_FREE "frees" a communicator.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer comm
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+
+      return
+      end
+      subroutine mpi_comm_rank ( comm, me, ierror )
+
+c*********************************************************************72
+c
+cc MPI_COMM_RANK reports the rank of the calling process.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer comm
+      integer ierror
+      integer me
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+      me = 0
+
+      return
+      end
+      subroutine mpi_comm_size ( comm, nprocs, ierror )
+
+c*********************************************************************72
+c
+cc MPI_COMM_SIZE reports the number of processes in a communicator.
+c
+c  Discussion:
+c
+c    The routine simply returns NPROCS = 1.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer comm
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+      integer nprocs
+
+      ierror = MPI_SUCCESS
+      nprocs = 1
+
+      return
+      end
+      subroutine mpi_comm_split ( comm, icolor, ikey, comm_new,
+     &  ierror )
+
+c*********************************************************************72
+c
+cc MPI_COMM_SPLIT splits up a communicator based on a key.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Input, integer COMM_NEW, the new MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer comm
+      integer comm_new
+      integer icolor
+      integer ierror
+      integer ikey
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+
+      return
+      end
+      subroutine mpi_copy_double_precision ( data1, data2, n, ierror )
+
+c*********************************************************************72
+c
+cc MPI_COPY_DOUBLE copies a double precision vector.
+c
+c  Discussion:
+c
+c    This routine is not part of the MPI standard.  However, it is
+c    needed by other routines which do emulate standard MPI routines.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, double precision DATA1(N), the data to be copied.
+c
+c    Output, double precision DATA2(N), the copied data.
+c
+c    Input, integer N, the number of items of data.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      double precision data1(n)
+      double precision data2(n)
+      integer i
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+
+      do i = 1, n
+        data2(i) = data1(i)
+      end do
+
+      return
+      end
+      subroutine mpi_copy_integer ( data1, data2, n, ierror )
+
+c*********************************************************************72
+c
+cc MPI_COPY_INTEGER copies an integer vector.
+c
+c  Discussion:
+c
+c    This routine is not part of the MPI standard.  However, it is
+c    needed by other routines which do emulate standard MPI routines.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer DATA1(N), the data to be copied.
+c
+c    Output, integer DATA2(N), the copied data.
+c
+c    Input, integer N, the number of items of data.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      integer data1(n)
+      integer data2(n)
+      integer i
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+
+      do i = 1, n
+        data2(i) = data1(i)
+      end do
+
+      return
+      end
+      subroutine mpi_copy_real ( data1, data2, n, ierror )
+
+c*********************************************************************72
+c
+cc MPI_COPY_REAL copies a real vector.
+c
+c  Discussion:
+c
+c    This routine is not part of the MPI standard.  However, it is
+c    needed by other routines which do emulate standard MPI routines.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, real DATA1(N), the data to be copied.
+c
+c    Output, real DATA2(N), the copied data.
+c
+c    Input, integer N, the number of items of data.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      real data1(n)
+      real data2(n)
+      integer i
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+
+      do i = 1, n
+        data2(i) = data1(i)
+      end do
+
+      return
+      end
+      subroutine mpi_finalize ( ierror )
+
+c*********************************************************************72
+c
+cc MPI_FINALIZE shuts down the MPI library.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+
+      return
+      end
+      subroutine mpi_get_count ( istatus, datatype, icount, ierror )
+
+c*********************************************************************72
+c
+cc MPI_GET_COUNT reports the actual number of items transmitted.
+c
+c  Discussion:
+c
+c    Warn against querying message from self, since no data copy is done.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer datatype
+      integer icount
+      integer ierror
+      integer istatus
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_GET_COUNT - Error!'
+      write ( *, '(a)' ) '  Should not query message from self.'
+
+      return
+      end
+      subroutine mpi_init ( ierror )
+
+c*********************************************************************72
+c
+cc MPI_INIT initializes the MPI library.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer ierror
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_SUCCESS
+
+      return
+      end
+      subroutine mpi_irecv ( data, n, datatype, iproc, itag,
+     &  comm, irequest, ierror )
+
+c*********************************************************************72
+c
+cc MPI_IRECV receives data from another process.
+c
+c  Discussion:
+c
+c    Warn against receiving message from self, since no data copy is done.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      integer comm
+      integer data(n)
+      integer datatype
+      integer ierror
+      integer iproc
+      integer irequest
+      integer itag
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_IRECV - Error!'
+      write ( *, '(a)' ) '  Should not recv message from self.'
+
+      return
+      end
+      subroutine mpi_isend ( data, n, datatype, iproc, itag,
+     &  comm, request, ierror )
+
+c*********************************************************************72
+c
+cc MPI_ISEND sends data from one process to another using nonblocking transmission.
+c
+c  Discussion:
+c
+c    Warn against sending message to self, since no data copy is done.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    15 August 2008
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, datatype DATA(N), the data to be sent.
+c
+c    Input, integer N, the number of data items to send.
+c
+c    Input, integer DATAYTPE, the MPI code for the datatype.
+c
+c    Input, integer IPROC, the rank of the process within the communicator
+c    that is to receive the message.
+c
+c    Input, integer ITAG, a tag for the message.
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer REQUEST, a handle.  To determine if the data has been received
+c    yet, call MPI_Test or MPI_Wait, including the value of REQUEST.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      integer comm
+      integer data(n)
+      integer datatype
+      integer ierror
+      integer iproc
+      integer itag
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+      integer request
+
+      request = 0
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_ISEND - Error!'
+      write ( *, '(a)' )  '  Should not send message to self.'
+
+      return
+      end
+      subroutine mpi_recv ( data, n, datatype, iproc, itag,
+     &  comm, istatus, ierror )
+
+c*********************************************************************72
+c
+cc MPI_RECV receives data from another process within a communicator.
+c
+c  Discussion:
+c
+c    Warn against receiving message from self, since no data copy is done.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      integer comm
+      integer data(n)
+      integer datatype
+      integer ierror
+      integer iproc
+      integer istatus
+      integer itag
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_RECV - Error!'
+      write ( *, '(a)' ) '  Should not recv message from self.'
+
+      return
+      end
+      subroutine mpi_reduce ( data1, data2, n, datatype, operation,
+     &  receiver, comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_REDUCE carries out a reduction operation.
+c
+c  Discussion:
+c
+c    The reduction operations are sum, maximum, minimum, product.
+c
+c    The first two arguments must not overlap or share memory in any way.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, DATATYPE DATA1(N), the data to be processed.
+c
+c    Output (to RECEIVER only), DATATYPE DATA2, the value of the
+c    reduction operation.
+c
+c    Input, integer N, the number of items in DATA1.
+c
+c    Input, integer DATATYPE, indicates the datatype of DATA1 and DATA2.
+c
+c    Input, integer OPERATION, should have the value of one of the symbolic
+c    constants MPI_MAX, MPI_MIN, MPI_PRODUCT or MPI_SUM.
+c
+c    Input, integer RECEIVER, the the process that is to receive the
+c    result.
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      include "mpi_stubs_f77.h"
+
+      integer n
+
+      integer comm
+      integer data1(n)
+      integer data2
+      integer datatype
+      integer ierror
+      integer operation
+      integer receiver
+
+      ierror = MPI_SUCCESS
+
+      if ( datatype .eq. mpi_double_precision ) then
+
+        call mpi_reduce_double_precision ( 
+     &    data1, data2, n, operation, ierror )
+
+      else if ( datatype .eq. mpi_integer ) then
+
+        call mpi_reduce_integer ( 
+     &    data1, data2, n, operation, ierror )
+
+      else if ( datatype .eq. mpi_real ) then
+
+        call mpi_reduce_real ( 
+     &    data1, data2, n, operation, ierror )
+
+      else
+
+        ierror = MPI_FAILURE
+
+      end if
+
+      return
+      end
+      subroutine mpi_reduce_double_precision ( 
+     &  data1, data2, n, operation, ierror )
+
+c*********************************************************************72
+c
+cc MPI_REDUCE_DOUBLE_PRECISION carries out a reduction operation on double precision values.
+c
+c  Discussion:
+c
+c    The reduction operations are sum, maximum, minimum, product.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, double precision DATA1(N), the data to be processed.
+c
+c    Output, double precision DATA2, the value of the reduction operation.
+c
+c    Input, integer N, the number of items in DATA1.
+c
+c    Input, integer OPERATION, should have the value of one of the symbolic
+c    constants MPI_MAX, MPI_MIN, MPI_PRODUCT or MPI_SUM.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      include "mpi_stubs_f77.h"
+
+      integer n
+
+      double precision data1(n)
+      double precision data2
+      integer i
+      integer ierror
+      integer operation
+
+
+      ierror = MPI_SUCCESS
+
+      if ( operation .eq. mpi_max ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = max ( data2, data1(i) )
+        end do
+
+      else if ( operation .eq. mpi_min ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = min ( data2, data1(i) )
+        end do
+
+      else if ( operation .eq. mpi_product ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = data2 * data1(i)
+        end do
+
+      else if ( operation .eq. mpi_sum ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = data2 + data1(i)
+        end do
+
+      else
+
+        ierror = MPI_FAILURE
+
+      end if
+
+      return
+      end
+      subroutine mpi_reduce_integer ( 
+     &  data1, data2, n, operation, ierror )
+
+c*********************************************************************72
+c
+cc MPI_REDUCE_INTEGER carries out a reduction operation on integers.
+c
+c  Discussion:
+c
+c    The reduction operations are sum, maximum, minimum, product.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, integer DATA1(N), the data to be processed.
+c
+c    Output, integer DATA2, the value of the reduction operation.
+c
+c    Input, integer N, the number of items in DATA1.
+c
+c    Input, integer OPERATION, should have the value of one of the symbolic
+c    constants MPI_MAX, MPI_MIN, MPI_PRODUCT or MPI_SUM.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      include "mpi_stubs_f77.h"
+
+      integer n
+
+      integer data1(n)
+      integer data2
+      integer i
+      integer ierror
+      integer operation
+
+      ierror = MPI_SUCCESS
+
+      if ( operation .eq. mpi_max ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = max ( data2, data1(i) )
+        end do
+
+      else if ( operation .eq. mpi_min ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = min ( data2, data1(i) )
+        end do
+
+      else if ( operation .eq. mpi_product ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = data2 * data1(i)
+        end do
+
+      else if ( operation .eq. mpi_sum ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = data2 + data1(i)
+        end do
+
+      else
+
+        ierror = MPI_FAILURE
+
+      end if
+
+      return
+      end
+      subroutine mpi_reduce_real ( 
+     &  data1, data2, n, operation, ierror )
+
+c*********************************************************************72
+c
+cc MPI_REDUCE_REAL carries out a reduction operation on reals.
+c
+c  Discussion:
+c
+c    The reduction operations are sum, maximum, minimum, product.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, real DATA1(N), the data to be processed.
+c
+c    Output, real DATA2, the value of the reduction operation.
+c
+c    Input, integer N, the number of items in DATA1.
+c
+c    Input, integer OPERATION, should have the value of one of the symbolic
+c    constants MPI_MAX, MPI_MIN, MPI_PRODUCT or MPI_SUM.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      include "mpi_stubs_f77.h"
+
+      integer n
+
+      real data1(n)
+      real data2
+      integer i
+      integer ierror
+      integer operation
+
+      ierror = MPI_SUCCESS
+
+      if ( operation .eq. mpi_max ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = max ( data2, data1(i) )
+        end do
+
+      else if ( operation .eq. mpi_min ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = min ( data2, data1(i) )
+        end do
+
+      else if ( operation .eq. mpi_product ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = data2 * data1(i)
+        end do
+
+      else if ( operation .eq. mpi_sum ) then
+
+        data2 = data1(1)
+        do i = 2, n
+          data2 = data2 + data1(i)
+        end do
+
+      else
+
+        ierror = MPI_FAILURE
+
+      end if
+
+      return
+      end
+      subroutine mpi_reduce_scatter ( data1, data2, n, datatype,
+     &  operation, comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_REDUCE_SCATTER collects a message of the same length from each process.
+c
+c  Discussion:
+c
+c    Copy values from DATA1 to DATA2.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, DATATYPE DATA1(N), the data to be processed.
+c
+c    Output, DATATYPE DATA2, the value of the reduction operation.
+c
+c    Input, integer N, the number of items in DATA1.
+c
+c    Input, integer DATATYPE, indicates the datatype of DATA1 and DATA2.
+c
+c    Input, integer OPERATION, should have the value of one of the symbolic
+c    constants MPI_MAX, MPI_MIN, MPI_PRODUCT or MPI_SUM.
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      include "mpi_stubs_f77.h"
+
+      integer n
+
+      integer comm
+      integer data1(n)
+      integer data2(n)
+      integer datatype
+      integer ierror
+      integer operation
+
+      ierror = MPI_SUCCESS
+
+      if ( datatype .eq. mpi_double_precision ) then
+        call mpi_copy_double_precision ( data1, data2, n, ierror )
+      else if ( datatype .eq. mpi_integer ) then
+        call mpi_copy_integer ( data1, data2, n, ierror )
+      else if ( datatype .eq. mpi_real ) then
+        call mpi_copy_real ( data1, data2, n, ierror )
+      else
+        ierror = MPI_FAILURE
+      end if
+
+      return
+      end
+      subroutine mpi_rsend ( data, n, datatype, iproc, itag,
+     &  comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_RSEND "ready sends" data from one process to another.
+c
+c  Discussion:
+c
+c    Warn against sending message to self, since no data copy is done.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, datatype DATA(N), the data to be sent.
+c
+c    Input, integer N, the number of data items to send.
+c
+c    Input, integer DATAYTPE, the MPI code for the datatype.
+c
+c    Input, integer IPROC, the rank of the process within the communicator
+c    that is to receive the message.
+c
+c    Input, integer ITAG, a tag for the message.
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      integer comm
+      integer data(n)
+      integer datatype
+      integer ierror
+      integer iproc
+      integer itag
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_RSEND - Error!'
+      write ( *, '(a)' ) '  Should not send message to self.'
+
+      return
+      end
+      subroutine mpi_send ( data, n, datatype, iproc, itag,
+     &  comm, ierror )
+
+c*********************************************************************72
+c
+cc MPI_SEND sends data from one process to another.
+c
+c  Discussion:
+c
+c    Warn against sending message to self, since no data copy is done.
+c
+c    The data to be transferred can be integer, real, or double precision.
+c    In this routine, it is declared and documented as INTEGER type, 
+c    but using the other types should generally not cause a problem.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Input, datatype DATA(N), the data to be sent.
+c
+c    Input, integer N, the number of data items to send.
+c
+c    Input, integer DATAYTPE, the MPI code for the datatype.
+c
+c    Input, integer IPROC, the rank of the process within the communicator
+c    that is to receive the message.
+c
+c    Input, integer ITAG, a tag for the message.
+c
+c    Input, integer COMM, the MPI communicator.
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer n
+
+      integer comm
+      integer data(n)
+      integer datatype
+      integer ierror
+      integer iproc
+      integer itag
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_SEND - Error!'
+      write ( *, '(a)' )  '  Should not send message to self.'
+
+      return
+      end
+      subroutine mpi_wait ( irequest, istatus, ierror )
+
+c*********************************************************************72
+c
+cc MPI_WAIT waits for an I/O request to complete.
+c
+c  Discussion:
+c
+c    Warn against waiting on message from self, since no data copy is done.
+c
+c  Modified:
+c
+c    04 October 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer ierror
+      integer irequest
+      integer istatus
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_WAIT - Error!'
+      write ( *, '(a)' ) '  Should not wait on message from self.'
+
+      return
+      end
+      subroutine mpi_waitall ( icount, irequest, istatus, ierror )
+
+c*********************************************************************72
+c
+cc MPI_WAITALL waits until all I/O requests have completed.
+c
+c  Discussion:
+c
+c    Warn against waiting on message from self, since no data copy is done.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer icount
+      integer ierror
+      integer irequest
+      integer istatus
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_WAITALL - Error!'
+      write ( *, '(a)' ) '  Should not wait on message from self.'
+
+      return
+      end
+      subroutine mpi_waitany ( icount, array_of_requests, index, 
+     &  istatus, ierror )
+
+c*********************************************************************72
+c
+cc MPI_WAITANY waits until one I/O requests has completed.
+c
+c  Discussion:
+c
+c    Warn against waiting on message from self, since no data copy is done.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Output, integer IERROR, is nonzero if an error occurred.
+c
+      implicit none
+
+      integer array_of_requests(*)
+      integer icount
+      integer ierror
+      integer index
+      integer istatus
+      integer MPI_FAILURE
+      parameter ( MPI_FAILURE = 1 )
+      integer MPI_SUCCESS
+      parameter ( MPI_SUCCESS = 0 )
+
+      ierror = MPI_FAILURE
+
+      write ( *, '(a)' ) ' '
+      write ( *, '(a)' ) 'MPI_WAITANY - Error!'
+      write ( *, '(a)' ) '  Should not wait on message from self.'
+
+      return
+      end
+      function mpi_wtick ( )
+
+c*********************************************************************72
+c
+cc MPI_WTICK returns the time between clock ticks.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Output, double precision MPI_WTICK, the time, in seconds, between
+c    successive clock ticks.
+c
+      implicit none
+      
+      double precision mpi_wtick
+      
+      mpi_wtick = 1.0D+00
+      
+      return
+      end
+      function mpi_wtime ( )
+
+c*********************************************************************72
+c
+cc MPI_WTIME returns the elapsed wall clock time.
+c
+c  Discussion:
+c
+c    While you might be able to get a wall clock reading if you
+c    happen to know the peculiarities of the extra routines in your
+c    own FORTRAN77 compiler, there is no standard way to do this,
+c    and I am tired of trying to make up for this.
+c
+c  Modified:
+c
+c    05 February 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Reference:
+c
+c    William Gropp, Ewing Lusk, Anthony Skjellum,
+c    Using MPI: Portable Parallel Programming with the
+c    Message-Passing Interface,
+c    Second Edition,
+c    MIT Press, 1999,
+c    ISBN: 0262571323.
+c
+c  Parameters:
+c
+c    Output, double precision MPI_WTIME, the elapsed wall clock time.
+c
+      implicit none
+
+      double precision fake_time
+      double precision mpi_wtime
+      
+      save fake_time
+
+      data fake_time / 0.0D+00 /
+
+      mpi_wtime = fake_time
+
+      fake_time = fake_time + 1.0D+00
+      
+      return
+      end
+      subroutine timestamp ( )
+
+c*********************************************************************72
+c
+cc TIMESTAMP prints out the current YMDHMS date as a timestamp.
+c
+c  Discussion:
+c
+c    This FORTRAN77 version is made available for cases where the
+c    FORTRAN90 version cannot be used.
+c
+c  Modified:
+c
+c    12 January 2007
+c
+c  Author:
+c
+c    John Burkardt
+c
+c  Parameters:
+c
+c    None
+c
+      implicit none
+
+      character * ( 8 ) ampm
+      integer d
+      character * ( 8 ) date
+      integer h
+      integer m
+      integer mm
+      character * ( 9 ) month(12)
+      integer n
+      integer s
+      character * ( 10 ) time
+      integer y
+
+      save month
+
+      data month /
+     &  'January  ', 'February ', 'March    ', 'April    ', 
+     &  'May      ', 'June     ', 'July     ', 'August   ', 
+     &  'September', 'October  ', 'November ', 'December ' /
+
+      call date_and_time ( date, time )
+
+      read ( date, '(i4,i2,i2)' ) y, m, d
+      read ( time, '(i2,i2,i2,1x,i3)' ) h, n, s, mm
+
+      if ( h .lt. 12 ) then
+        ampm = 'AM'
+      else if ( h .eq. 12 ) then
+        if ( n .eq. 0 .and. s .eq. 0 ) then
+          ampm = 'Noon'
+        else
+          ampm = 'PM'
+        end if
+      else
+        h = h - 12
+        if ( h .lt. 12 ) then
+          ampm = 'PM'
+        else if ( h .eq. 12 ) then
+          if ( n .eq. 0 .and. s .eq. 0 ) then
+            ampm = 'Midnight'
+          else
+            ampm = 'AM'
+          end if
+        end if
+      end if
+
+      write ( *, 
+     &  '(i2,1x,a,1x,i4,2x,i2,a1,i2.2,a1,i2.2,a1,i3.3,1x,a)' ) 
+     &  d, month(m), y, h, ':', n, ':', s, '.', mm, ampm
+
+      return
+      end
+
+cccccccccccccccccc fake openmp crud
+      function omp_get_num_threads()
+      integer omp_get_num_threads
+      omp_get_num_threads = 1
+      return
+      end
+      
+      function omp_get_thread_num()
+      integer omp_get_thread_num
+      omp_get_thread_num = 0
+      return
+      end
+      

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs_f77.h
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs_f77.h?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs_f77.h (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpi_stubs_f77.h Fri Nov 21 00:17:30 2008
@@ -0,0 +1,58 @@
+c
+c  Dummy parameters for MPI F77 stubs
+c
+      integer mpi_comm_world
+      parameter ( mpi_comm_world = 0 )
+c
+c  Return values.
+c
+      integer mpi_failure
+      parameter ( mpi_failure = 1 )
+      integer mpi_success
+      parameter ( mpi_success = 0 )
+c
+c  recv message status
+c
+      integer mpi_status_size
+      parameter ( mpi_status_size = 3 )
+      integer mpi_source
+      parameter ( mpi_source = 1 )
+      integer mpi_tag
+      parameter ( mpi_tag = 2 )
+      integer mpi_count
+      parameter ( mpi_count = 3 )
+c
+c  recv flags
+c
+      integer mpi_any_source
+      parameter ( mpi_any_source = -1 )
+      integer mpi_any_tag
+      parameter ( mpi_any_tag = -1 )
+c
+c  data types and sizes
+c
+      integer mpi_integer
+      parameter ( mpi_integer = 1 )
+      integer mpi_real
+      parameter ( mpi_real = 2 )
+      integer mpi_double_precision
+      parameter ( mpi_double_precision = 3 )
+      integer mpi_logical
+      parameter ( mpi_logical = 4 )
+      integer mpi_character
+      parameter ( mpi_character = 5 )
+c
+c  allreduce operations
+c
+      integer mpi_sum
+      parameter ( mpi_sum = 1 )
+      integer mpi_max
+      parameter ( mpi_max = 2 )
+      integer mpi_min
+      parameter ( mpi_min = 3 )
+      integer mpi_product
+      parameter ( mpi_product = 4 )
+c
+c  timer
+c
+      double precision mpi_wtime

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpif.h
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpif.h?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpif.h (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/mpif.h Fri Nov 21 00:17:30 2008
@@ -0,0 +1,306 @@
+! -*- fortran -*-
+!
+! Copyright 1998-2001, University of Notre Dame.
+! Authors: Jeffrey M. Squyres, Arun Rodrigues, and Brian Barrett with
+!          Kinis L. Meyer, M. D. McNally, and Andrew Lumsdaine
+! 
+! This file is part of the Notre Dame LAM implementation of MPI.
+! 
+! You should have received a copy of the License Agreement for the Notre
+! Dame LAM implementation of MPI along with the software; see the file
+! LICENSE.  If not, contact Office of Research, University of Notre
+! Dame, Notre Dame, IN 46556.
+! 
+! Redistribution and use in source and binary forms, with or without
+! modification, are permitted subject to the conditions specified in the
+! LICENSE file.
+! 
+! THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+! IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+! WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+! DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+! INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+! (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+! SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+! HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+! STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+! IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+! POSSIBILITY OF SUCH DAMAGE.
+! 
+! Additional copyrights may follow.
+! 
+!
+!  $Id: mpif.h.in,v 1.2 2000/09/20 05:03:21 jsquyres Exp $
+!
+!	Function:	- LAM/MPI F77 header file
+!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!
+! Do ***not*** copy this file to the directory where your Fortran 
+! fortran application is compiled unless it is absolutely necessary!  Most
+! modern Fortran compilers now support the -I command line flag, which
+! tells the compiler where to find .h files (specifically, this one).  For
+! example:
+!
+!      unix% mpif77 foo.f -o foo -I$LAMHOME/include
+!
+! will probably do the trick (assuming that you have set LAMHOME 
+! properly).
+!
+! That being said, LAM's "mpif77" wrapper compiler should
+! automatically include the -I option for you.  The following command
+! should be equivalent to the command listed above:
+!
+!      unix% mpif77 foo.f -o foo
+!
+! You should not copy this file to your local directory because it is
+! possible that this file will be changed between versions of LAM/MPI.
+! Indeed, this mpif.h is incompatible with the mpif.f of other 
+! implementations of MPI.  Using this mpif.h with other implementations 
+! of MPI, or with other versions of LAM/MPI will result in undefined
+! behavior (to include incorrect results, segmentation faults, 
+! unexplainable "hanging" in your application, etc.).  Always use the
+! -I command line option instead (or let mpif77 do it for you).
+!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+!
+! LAM version
+! This file is generated from configure; do not edit it manually.
+!
+       integer LAM_MAJOR_VERSION, LAM_MINOR_VERSION
+       integer LAM_RELEASE_VERSION
+       integer LAM_ALPHA_VERSION, LAM_BETA_VERSION
+       parameter (LAM_MAJOR_VERSION=6)
+       parameter (LAM_MINOR_VERSION=5)
+       parameter (LAM_RELEASE_VERSION=6)
+       parameter (LAM_ALPHA_VERSION=0)
+       parameter (LAM_BETA_VERSION=0)
+!
+! MPI version
+!
+       integer MPI_VERSION, MPI_SUBVERSION
+
+       parameter (MPI_VERSION=1)
+       parameter (MPI_SUBVERSION=2)
+!
+! misc. constants
+!
+       integer MPI_SUCCESS, MPI_ANY_SOURCE, MPI_ANY_TAG
+       integer MPI_PROC_NULL, MPI_MAX_PROCESSOR_NAME
+       integer MPI_MAX_ERROR_STRING, MPI_UNDEFINED
+       integer MPI_CART, MPI_GRAPH, MPI_KEYVAL_INVALID
+       integer MPI_STATUS_SIZE, MPI_SOURCE, MPI_TAG, MPI_ERROR
+       integer MPI_TAG_UB, MPI_HOST, MPI_IO, MPI_WTIME_IS_GLOBAL
+       integer MPI_UNIVERSE_SIZE, MPI_APPNUM, MPI_WIN_BASE
+       integer MPI_WIN_SIZE, MPI_WIN_DISP_UNIT, MPI_BSEND_OVERHEAD
+       integer MPI_MAX_INFO_KEY, MPI_MAX_INFO_VAL
+       integer MPI_MAX_PORT_NAME, MPI_MAX_OBJECT_NAME
+       integer MPI_ORDER_C, MPI_ORDER_FORTRAN
+       integer MPI_DISTRIBUTE_BLOCK, MPI_DISTRIBUTE_CYCLIC
+       integer MPI_DISTRIBUTE_NONE, MPI_DISTRIBUTE_DFLT_DARG
+
+       parameter (MPI_SUCCESS=0)
+       parameter (MPI_ANY_SOURCE=-1)
+       parameter (MPI_ANY_TAG=-1)
+       parameter (MPI_PROC_NULL=-2)
+       parameter (MPI_MAX_PROCESSOR_NAME=255)
+       parameter (MPI_MAX_ERROR_STRING=255)
+       parameter (MPI_UNDEFINED=-32766)
+       parameter (MPI_CART=1)
+       parameter (MPI_GRAPH=2)
+       parameter (MPI_KEYVAL_INVALID=-1)
+       parameter (MPI_STATUS_SIZE=4)
+       parameter (MPI_SOURCE=1)
+       parameter (MPI_TAG=2)
+       parameter (MPI_ERROR=3)
+       parameter (MPI_TAG_UB=0)
+       parameter (MPI_HOST=1)
+       parameter (MPI_IO=2)
+       parameter (MPI_WTIME_IS_GLOBAL=3)
+       parameter (MPI_UNIVERSE_SIZE=4)
+       parameter (MPI_APPNUM=5)
+       parameter (MPI_WIN_BASE=6)
+       parameter (MPI_WIN_SIZE=7)
+       parameter (MPI_WIN_DISP_UNIT=8)
+       parameter (MPI_BSEND_OVERHEAD=40)
+       parameter (MPI_MAX_INFO_KEY=35)
+       parameter (MPI_MAX_INFO_VAL=255)
+       parameter (MPI_MAX_PORT_NAME=35)
+       parameter (MPI_MAX_OBJECT_NAME=63)
+       parameter (MPI_ORDER_C=0)
+       parameter (MPI_ORDER_FORTRAN=1)
+       parameter (MPI_DISTRIBUTE_BLOCK=0)
+       parameter (MPI_DISTRIBUTE_CYCLIC=1)
+       parameter (MPI_DISTRIBUTE_NONE=2)
+       parameter (MPI_DISTRIBUTE_DFLT_DARG=-1)
+!
+! global variables
+!
+       double complex MPI_BOTTOM, MPI_ARGV_NULL
+       double complex MPI_ARGVS_NULL, MPI_ERRCODES_IGNORE
+       double complex MPI_STATUS_IGNORE, MPI_STATUSES_IGNORE
+       common/mpi_bottom/MPI_BOTTOM
+       common/mpi_argv_null/MPI_ARGV_NULL
+       common/mpi_argvs_null/MPI_ARGVS_NULL
+       common/mpi_errcodes_ignore/MPI_ERRCODES_IGNORE
+       common/mpi_status_ignore/MPI_STATUS_IGNORE
+       common/mpi_statuses_ignore/MPI_STATUSES_IGNORE
+!
+! NULL "handles" (indices)
+!
+       integer MPI_GROUP_NULL, MPI_COMM_NULL, MPI_DATATYPE_NULL
+       integer MPI_REQUEST_NULL, MPI_OP_NULL, MPI_ERRHANDLER_NULL
+       integer MPI_INFO_NULL
+
+       parameter (MPI_GROUP_NULL=-1)
+       parameter (MPI_COMM_NULL=-1)
+       parameter (MPI_DATATYPE_NULL=-1)
+       parameter (MPI_REQUEST_NULL=-1)
+       parameter (MPI_OP_NULL=-1)
+       parameter (MPI_ERRHANDLER_NULL=-1)
+       parameter (MPI_INFO_NULL=-1)
+!
+! MPI_Init_thread constants
+!
+       integer MPI_THREAD_SINGLE, MPI_THREAD_FUNNELED
+       integer MPI_THREAD_SERIALIZED, MPI_THREAD_MULTIPLE
+
+       parameter (MPI_THREAD_SINGLE=0)
+       parameter (MPI_THREAD_FUNNELED=1)
+       parameter (MPI_THREAD_SERIALIZED=2)
+       parameter (MPI_THREAD_MULTIPLE=3)
+!
+! error classes
+!
+       integer MPI_ERR_BUFFER, MPI_ERR_COUNT, MPI_ERR_TYPE
+       integer MPI_ERR_TAG, MPI_ERR_COMM, MPI_ERR_RANK
+       integer MPI_ERR_REQUEST, MPI_ERR_ROOT, MPI_ERR_GROUP
+       integer MPI_ERR_OP, MPI_ERR_TOPOLOGY, MPI_ERR_DIMS
+       integer MPI_ERR_ARG, MPI_ERR_UNKNOWN, MPI_ERR_TRUNCATE
+       integer MPI_ERR_OTHER, MPI_ERR_INTERN, MPI_ERR_IN_STATUS
+       integer MPI_ERR_PENDING, MPI_ERR_SYSRESOURCE
+       integer MPI_ERR_LOCALDEAD, MPI_ERR_REMOTEDEAD
+       integer MPI_ERR_VALUE, MPI_ERR_FLAGS, MPI_ERR_SERVICE
+       integer MPI_ERR_NAME, MPI_ERR_SPAWN, MPI_ERR_KEYVAL
+       integer MPI_ERR_INFO_NOKEY, MPI_ERR_WIN
+       integer MPI_ERR_EPOCH, MPI_ERR_TYPENOTSUP
+       integer MPI_ERR_INFO_KEY, MPI_ERR_INFO_VALUE
+       integer MPI_ERR_NO_MEM, MPI_ERR_BASE
+       integer MPI_ERR_LASTCODE
+
+       parameter (MPI_ERR_BUFFER=1)
+       parameter (MPI_ERR_COUNT=2)
+       parameter (MPI_ERR_TYPE=3)
+       parameter (MPI_ERR_TAG=4)
+       parameter (MPI_ERR_COMM=5)
+       parameter (MPI_ERR_RANK=6)
+       parameter (MPI_ERR_REQUEST=7)
+       parameter (MPI_ERR_ROOT=8)
+       parameter (MPI_ERR_GROUP=9)
+       parameter (MPI_ERR_OP=10)
+       parameter (MPI_ERR_TOPOLOGY=11)
+       parameter (MPI_ERR_DIMS=12)
+       parameter (MPI_ERR_ARG=13)
+       parameter (MPI_ERR_UNKNOWN=14)
+       parameter (MPI_ERR_TRUNCATE=15)
+       parameter (MPI_ERR_OTHER=16)
+       parameter (MPI_ERR_INTERN=17)
+       parameter (MPI_ERR_IN_STATUS=18)
+       parameter (MPI_ERR_PENDING=19)
+       parameter (MPI_ERR_SYSRESOURCE=20)
+       parameter (MPI_ERR_LOCALDEAD=21)
+       parameter (MPI_ERR_REMOTEDEAD=22)
+       parameter (MPI_ERR_VALUE=23)
+       parameter (MPI_ERR_FLAGS=24)
+       parameter (MPI_ERR_SERVICE=25)
+       parameter (MPI_ERR_NAME=26)
+       parameter (MPI_ERR_SPAWN=27)
+       parameter (MPI_ERR_KEYVAL=28)
+       parameter (MPI_ERR_INFO_NOKEY=29)
+       parameter (MPI_ERR_WIN=30)
+       parameter (MPI_ERR_EPOCH=31)
+       parameter (MPI_ERR_TYPENOTSUP=32)
+       parameter (MPI_ERR_INFO_KEY=33)
+       parameter (MPI_ERR_INFO_VALUE=34)
+       parameter (MPI_ERR_NO_MEM=35)
+       parameter (MPI_ERR_BASE=36)
+       parameter (MPI_ERR_LASTCODE=37)
+!
+! comparison results
+!
+       integer MPI_IDENT, MPI_CONGRUENT, MPI_SIMILAR, MPI_UNEQUAL
+
+       parameter (MPI_IDENT=1)
+       parameter (MPI_CONGRUENT=2)
+       parameter (MPI_SIMILAR=3)
+       parameter (MPI_UNEQUAL=4)
+!
+! lookup table indices
+!
+       integer MPI_COMM_WORLD, MPI_COMM_SELF
+       integer MPI_GROUP_EMPTY
+       integer MPI_ERRORS_ARE_FATAL, MPI_ERRORS_RETURN
+
+       parameter (MPI_COMM_WORLD=0)
+       parameter (MPI_COMM_SELF=1)
+       parameter (MPI_GROUP_EMPTY=2)
+       parameter (MPI_ERRORS_ARE_FATAL=3)
+       parameter (MPI_ERRORS_RETURN=4)
+
+       integer MPI_INTEGER, MPI_REAL, MPI_DOUBLE_PRECISION
+       integer MPI_COMPLEX, MPI_LOGICAL, MPI_CHARACTER
+       integer MPI_BYTE, MPI_PACKED, MPI_UB, MPI_LB, MPI_2REAL
+       integer MPI_2DOUBLE_PRECISION, MPI_2INTEGER
+       integer MPI_DOUBLE_COMPLEX
+
+       parameter (MPI_BYTE=5)
+       parameter (MPI_PACKED=6)
+       parameter (MPI_UB=7)
+       parameter (MPI_LB=8)
+       parameter (MPI_CHARACTER=9)
+       parameter (MPI_LOGICAL=10)
+       parameter (MPI_INTEGER=11)
+       parameter (MPI_REAL=12)
+       parameter (MPI_DOUBLE_PRECISION=13)
+       parameter (MPI_COMPLEX=14)
+       parameter (MPI_DOUBLE_COMPLEX=15)
+       parameter (MPI_2REAL=16)
+       parameter (MPI_2DOUBLE_PRECISION=17)
+       parameter (MPI_2INTEGER=18)
+
+       integer MPI_MAX, MPI_MIN, MPI_SUM, MPI_PROD, MPI_LAND
+       integer MPI_BAND, MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR
+       integer MPI_MAXLOC, MPI_MINLOC, MPI_REPLACE
+
+       parameter (MPI_MAX=19)
+       parameter (MPI_MIN=20)
+       parameter (MPI_SUM=21)
+       parameter (MPI_PROD=22)
+       parameter (MPI_LAND=23)
+       parameter (MPI_BAND=24)
+       parameter (MPI_LOR=25)
+       parameter (MPI_BOR=26)
+       parameter (MPI_LXOR=27)
+       parameter (MPI_BXOR=28)
+       parameter (MPI_MAXLOC=29)
+       parameter (MPI_MINLOC=30)
+       parameter (MPI_REPLACE=31)
+!
+! attribute functions
+!
+       external MPI_NULL_COPY_FN, MPI_NULL_DELETE_FN
+       external MPI_COMM_NULL_COPY_FN, MPI_COMM_NULL_DELETE_FN
+       external MPI_TYPE_NULL_COPY_FN, MPI_TYPE_NULL_DELETE_FN
+       external MPI_WIN_NULL_COPY_FN, MPI_WIN_NULL_DELETE_FN
+       external MPI_DUP_FN, MPI_COMM_DUP_FN
+       external MPI_TYPE_DUP_FN, MPI_WIN_DUP_FN
+!
+! double precision functions
+!
+      double precision MPI_WTIME, MPI_WTICK, PMPI_WTIME, PMPI_WTICK
+      external MPI_WTIME, MPI_WTICK, PMPI_WTIME, PMPI_WTICK

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/opac.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/opac.txt?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/opac.txt (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/opac.txt Fri Nov 21 00:17:30 2008
@@ -0,0 +1,23296 @@
+-.13015000000000E+01
+-.39945000000000E+00
+0.57578000000000E+00
+0.16245000000000E+01
+0.27018000000000E+01
+0.37584000000000E+01
+0.47910000000000E+01
+0.58290000000000E+01
+0.68268000000000E+01
+0.76145000000000E+01
+0.79950000000000E+01
+0.80635000000000E+01
+0.80688000000000E+01
+0.80703000000000E+01
+-.16232000000000E+01
+-.70277000000000E+00
+0.28029000000000E+00
+0.13337000000000E+01
+0.24211000000000E+01
+0.34997000000000E+01
+0.45627000000000E+01
+0.56287000000000E+01
+0.66600000000000E+01
+0.75219000000000E+01
+0.80151000000000E+01
+0.81377000000000E+01
+0.81467000000000E+01
+0.81482000000000E+01
+-.18928000000000E+01
+-.95293000000000E+00
+0.38838000000000E-01
+0.10962000000000E+01
+0.21908000000000E+01
+0.32851000000000E+01
+0.43701000000000E+01
+0.54572000000000E+01
+0.65165000000000E+01
+0.74419000000000E+01
+0.80476000000000E+01
+0.82493000000000E+01
+0.82688000000000E+01
+0.82703000000000E+01
+-.21338000000000E+01
+-.11762000000000E+01
+-.17716000000000E+00
+0.88231000000000E+00
+0.19813000000000E+01
+0.30863000000000E+01
+0.41870000000000E+01
+0.52898000000000E+01
+0.63716000000000E+01
+0.73499000000000E+01
+0.80613000000000E+01
+0.83635000000000E+01
+0.84075000000000E+01
+0.84094000000000E+01
+-.23597000000000E+01
+-.13865000000000E+01
+-.38189000000000E+00
+0.67792000000000E+00
+0.17790000000000E+01
+0.28917000000000E+01
+0.40039000000000E+01
+0.51187000000000E+01
+0.62179000000000E+01
+0.72386000000000E+01
+0.80439000000000E+01
+0.84612000000000E+01
+0.85493000000000E+01
+0.85537000000000E+01
+-.25383000000000E+01
+-.15514000000000E+01
+-.54070000000000E+00
+0.52029000000000E+00
+0.16234000000000E+01
+0.27421000000000E+01
+0.38637000000000E+01
+0.49879000000000E+01
+0.61008000000000E+01
+0.71552000000000E+01
+0.80398000000000E+01
+0.85776000000000E+01
+0.87346000000000E+01
+0.87463000000000E+01
+-.26945000000000E+01
+-.16960000000000E+01
+-.67999000000000E+00
+0.38177000000000E+00
+0.14860000000000E+01
+0.26092000000000E+01
+0.37376000000000E+01
+0.48689000000000E+01
+0.59923000000000E+01
+0.70723000000000E+01
+0.80220000000000E+01
+0.86758000000000E+01
+0.89265000000000E+01
+0.89565000000000E+01
+-.28793000000000E+01
+-.18708000000000E+01
+-.85175000000000E+00
+0.20809000000000E+00
+0.13109000000000E+01
+0.24360000000000E+01
+0.35687000000000E+01
+0.47050000000000E+01
+0.58357000000000E+01
+0.69351000000000E+01
+0.79363000000000E+01
+0.86951000000000E+01
+0.90581000000000E+01
+0.91243000000000E+01
+-.30890000000000E+01
+-.20713000000000E+01
+-.10501000000000E+01
+0.60034000000000E-02
+0.11053000000000E+01
+0.22305000000000E+01
+0.33657000000000E+01
+0.45051000000000E+01
+0.56414000000000E+01
+0.67550000000000E+01
+0.77958000000000E+01
+0.86448000000000E+01
+0.91296000000000E+01
+0.92559000000000E+01
+-.33200000000000E+01
+-.22934000000000E+01
+-.12702000000000E+01
+-.21888000000000E+00
+0.87515000000000E+00
+0.19986000000000E+01
+0.31349000000000E+01
+0.42765000000000E+01
+0.54166000000000E+01
+0.65406000000000E+01
+0.76115000000000E+01
+0.85342000000000E+01
+0.91404000000000E+01
+0.93521000000000E+01
+-.35693000000000E+01
+-.25338000000000E+01
+-.15081000000000E+01
+-.46178000000000E+00
+0.62543000000000E+00
+0.17457000000000E+01
+0.28819000000000E+01
+0.40248000000000E+01
+0.51675000000000E+01
+0.62991000000000E+01
+0.73921000000000E+01
+0.83735000000000E+01
+0.90916000000000E+01
+0.94104000000000E+01
+-.38341000000000E+01
+-.27896000000000E+01
+-.17604000000000E+01
+-.71873000000000E+00
+0.36050000000000E+00
+0.14759000000000E+01
+0.26110000000000E+01
+0.37543000000000E+01
+0.48988000000000E+01
+0.60358000000000E+01
+0.71451000000000E+01
+0.81716000000000E+01
+0.89875000000000E+01
+0.94268000000000E+01
+-.41121000000000E+01
+-.30584000000000E+01
+-.20245000000000E+01
+-.98651000000000E+00
+0.84082000000000E-01
+0.11931000000000E+01
+0.23257000000000E+01
+0.34689000000000E+01
+0.46145000000000E+01
+0.57554000000000E+01
+0.68765000000000E+01
+0.79371000000000E+01
+0.88340000000000E+01
+0.93967000000000E+01
+-.44010000000000E+01
+-.33383000000000E+01
+-.22987000000000E+01
+-.12626000000000E+01
+-.20073000000000E+00
+0.90039000000000E+00
+0.20294000000000E+01
+0.31716000000000E+01
+0.43177000000000E+01
+0.54613000000000E+01
+0.65909000000000E+01
+0.76768000000000E+01
+0.86384000000000E+01
+0.93179000000000E+01
+-.46992000000000E+01
+-.36276000000000E+01
+-.25812000000000E+01
+-.15453000000000E+01
+-.49140000000000E+00
+0.60054000000000E+00
+0.17246000000000E+01
+0.28651000000000E+01
+0.40112000000000E+01
+0.51565000000000E+01
+0.62922000000000E+01
+0.73965000000000E+01
+0.84084000000000E+01
+0.91917000000000E+01
+-.49633000000000E+01
+-.38842000000000E+01
+-.28311000000000E+01
+-.17935000000000E+01
+-.74527000000000E+00
+0.33823000000000E+00
+0.14569000000000E+01
+0.25953000000000E+01
+0.37412000000000E+01
+0.48876000000000E+01
+0.60277000000000E+01
+0.71453000000000E+01
+0.81951000000000E+01
+0.90659000000000E+01
+-.52113000000000E+01
+-.41254000000000E+01
+-.30659000000000E+01
+-.20255000000000E+01
+-.98129000000000E+00
+0.94242000000000E-01
+0.12070000000000E+01
+0.23428000000000E+01
+0.34880000000000E+01
+0.46351000000000E+01
+0.57783000000000E+01
+0.69054000000000E+01
+0.79835000000000E+01
+0.89248000000000E+01
+-.54805000000000E+01
+-.43881000000000E+01
+-.33215000000000E+01
+-.22772000000000E+01
+-.12357000000000E+01
+-.16870000000000E+00
+0.93657000000000E+00
+0.20687000000000E+01
+0.32128000000000E+01
+0.43601000000000E+01
+0.55054000000000E+01
+0.66394000000000E+01
+0.77380000000000E+01
+0.87344000000000E+01
+-.57654000000000E+01
+-.46665000000000E+01
+-.35927000000000E+01
+-.25431000000000E+01
+-.15030000000000E+01
+-.44412000000000E+00
+0.65231000000000E+00
+0.17796000000000E+01
+0.29219000000000E+01
+0.40691000000000E+01
+0.52156000000000E+01
+0.63545000000000E+01
+0.74681000000000E+01
+0.85063000000000E+01
+-.60619000000000E+01
+-.49572000000000E+01
+-.38759000000000E+01
+-.28201000000000E+01
+-.17793000000000E+01
+-.72768000000000E+00
+0.35893000000000E+00
+0.14799000000000E+01
+0.26197000000000E+01
+0.37663000000000E+01
+0.49137000000000E+01
+0.60560000000000E+01
+0.71803000000000E+01
+0.82500000000000E+01
+-.63671000000000E+01
+-.52571000000000E+01
+-.41686000000000E+01
+-.31058000000000E+01
+-.20626000000000E+01
+-.10164000000000E+01
+0.59909000000000E-01
+0.11732000000000E+01
+0.23094000000000E+01
+0.34551000000000E+01
+0.46028000000000E+01
+0.57474000000000E+01
+0.68795000000000E+01
+0.79720000000000E+01
+-.66788000000000E+01
+-.55642000000000E+01
+-.44687000000000E+01
+-.33987000000000E+01
+-.23512000000000E+01
+-.13085000000000E+01
+-.24214000000000E+00
+0.86208000000000E+00
+0.19938000000000E+01
+0.31378000000000E+01
+0.42854000000000E+01
+0.54318000000000E+01
+0.65692000000000E+01
+0.76785000000000E+01
+-.69956000000000E+01
+-.58768000000000E+01
+-.47750000000000E+01
+-.36973000000000E+01
+-.26443000000000E+01
+-.16027000000000E+01
+-.54529000000000E+00
+0.54874000000000E+00
+0.16745000000000E+01
+0.28163000000000E+01
+0.39636000000000E+01
+0.51108000000000E+01
+0.62522000000000E+01
+0.73734000000000E+01
+-.73157000000000E+01
+-.61934000000000E+01
+-.50859000000000E+01
+-.40007000000000E+01
+-.29411000000000E+01
+-.18984000000000E+01
+-.84819000000000E+00
+0.23504000000000E+00
+0.13535000000000E+01
+0.24922000000000E+01
+0.36386000000000E+01
+0.47864000000000E+01
+0.59304000000000E+01
+0.70603000000000E+01
+-.76385000000000E+01
+-.65127000000000E+01
+-.54001000000000E+01
+-.43079000000000E+01
+-.32410000000000E+01
+-.21951000000000E+01
+-.11500000000000E+01
+-.77499000000000E-01
+0.10323000000000E+01
+0.21668000000000E+01
+0.33119000000000E+01
+0.44597000000000E+01
+0.56057000000000E+01
+0.67416000000000E+01
+-.79215000000000E+01
+-.67920000000000E+01
+-.56760000000000E+01
+-.45778000000000E+01
+-.35045000000000E+01
+-.24545000000000E+01
+-.14117000000000E+01
+-.34790000000000E+00
+0.75331000000000E+00
+0.18833000000000E+01
+0.30267000000000E+01
+0.41744000000000E+01
+0.53215000000000E+01
+0.64619000000000E+01
+-.81868000000000E+01
+-.70548000000000E+01
+-.59352000000000E+01
+-.48320000000000E+01
+-.37525000000000E+01
+-.26978000000000E+01
+-.16555000000000E+01
+-.59888000000000E+00
+0.49370000000000E+00
+0.16185000000000E+01
+0.27599000000000E+01
+0.39072000000000E+01
+0.50551000000000E+01
+0.61984000000000E+01
+-.84602000000000E+01
+-.73278000000000E+01
+-.62050000000000E+01
+-.50970000000000E+01
+-.40114000000000E+01
+-.29510000000000E+01
+-.19077000000000E+01
+-.85719000000000E+00
+0.22611000000000E+00
+0.13446000000000E+01
+0.24833000000000E+01
+0.36298000000000E+01
+0.47780000000000E+01
+0.59235000000000E+01
+-.87444000000000E+01
+-.76071000000000E+01
+-.64811000000000E+01
+-.53685000000000E+01
+-.42766000000000E+01
+-.32101000000000E+01
+-.21642000000000E+01
+-.11182000000000E+01
+-.44237000000000E-01
+0.10667000000000E+01
+0.22019000000000E+01
+0.33473000000000E+01
+0.44955000000000E+01
+0.56425000000000E+01
+-.90359000000000E+01
+-.78849000000000E+01
+-.67566000000000E+01
+-.56421000000000E+01
+-.45444000000000E+01
+-.34716000000000E+01
+-.24219000000000E+01
+-.13785000000000E+01
+-.31334000000000E+00
+0.78920000000000E+00
+0.19200000000000E+01
+0.30637000000000E+01
+0.42118000000000E+01
+0.53596000000000E+01
+-.93123000000000E+01
+-.81631000000000E+01
+-.70349000000000E+01
+-.59147000000000E+01
+-.48116000000000E+01
+-.37325000000000E+01
+-.26779000000000E+01
+-.16354000000000E+01
+-.57796000000000E+00
+0.51552000000000E+00
+0.16409000000000E+01
+0.27826000000000E+01
+0.39301000000000E+01
+0.50785000000000E+01
+-.95796000000000E+01
+-.84355000000000E+01
+-.73068000000000E+01
+-.61829000000000E+01
+-.50751000000000E+01
+-.39901000000000E+01
+-.29299000000000E+01
+-.18865000000000E+01
+-.83530000000000E+00
+0.24894000000000E+00
+0.13681000000000E+01
+0.25071000000000E+01
+0.36539000000000E+01
+0.48025000000000E+01
+-.43676000000000E+01
+-.32296000000000E+01
+-.21115000000000E+01
+-.10286000000000E+01
+0.13840000000000E-01
+0.10180000000000E+01
+0.20089000000000E+01
+0.30468000000000E+01
+0.41346000000000E+01
+0.52047000000000E+01
+0.61730000000000E+01
+0.70017000000000E+01
+0.72812000000000E+01
+0.72831000000000E+01
+-.46469000000000E+01
+-.35084000000000E+01
+-.23903000000000E+01
+-.13092000000000E+01
+-.26765000000000E+00
+0.74828000000000E+00
+0.17655000000000E+01
+0.28251000000000E+01
+0.39227000000000E+01
+0.50049000000000E+01
+0.59993000000000E+01
+0.68407000000000E+01
+0.71438000000000E+01
+0.71464000000000E+01
+-.48846000000000E+01
+-.37454000000000E+01
+-.26260000000000E+01
+-.15433000000000E+01
+-.49875000000000E+00
+0.52930000000000E+00
+0.15688000000000E+01
+0.26469000000000E+01
+0.37544000000000E+01
+0.48485000000000E+01
+0.58668000000000E+01
+0.67235000000000E+01
+0.70603000000000E+01
+0.70654000000000E+01
+-.51415000000000E+01
+-.40006000000000E+01
+-.28778000000000E+01
+-.17897000000000E+01
+-.73935000000000E+00
+0.29677000000000E+00
+0.13487000000000E+01
+0.24373000000000E+01
+0.35521000000000E+01
+0.46572000000000E+01
+0.56981000000000E+01
+0.65750000000000E+01
+0.69579000000000E+01
+0.69702000000000E+01
+-.53975000000000E+01
+-.42548000000000E+01
+-.31272000000000E+01
+-.20307000000000E+01
+-.97083000000000E+00
+0.75184000000000E-01
+0.11387000000000E+01
+0.22365000000000E+01
+0.33569000000000E+01
+0.44696000000000E+01
+0.55261000000000E+01
+0.64232000000000E+01
+0.68617000000000E+01
+0.68888000000000E+01
+-.55923000000000E+01
+-.44480000000000E+01
+-.33165000000000E+01
+-.22120000000000E+01
+-.11416000000000E+01
+-.84482000000000E-01
+0.99057000000000E+00
+0.20969000000000E+01
+0.32224000000000E+01
+0.43413000000000E+01
+0.54110000000000E+01
+0.63315000000000E+01
+0.68346000000000E+01
+0.68887000000000E+01
+-.57866000000000E+01
+-.46409000000000E+01
+-.35055000000000E+01
+-.23932000000000E+01
+-.13123000000000E+01
+-.24556000000000E+00
+0.83783000000000E+00
+0.19500000000000E+01
+0.30793000000000E+01
+0.42031000000000E+01
+0.52842000000000E+01
+0.62305000000000E+01
+0.68042000000000E+01
+0.69021000000000E+01
+-.59592000000000E+01
+-.48123000000000E+01
+-.36738000000000E+01
+-.25547000000000E+01
+-.14642000000000E+01
+-.38855000000000E+00
+0.70183000000000E+00
+0.18187000000000E+01
+0.29509000000000E+01
+0.40789000000000E+01
+0.51702000000000E+01
+0.61433000000000E+01
+0.67905000000000E+01
+0.69515000000000E+01
+-.61250000000000E+01
+-.49772000000000E+01
+-.38361000000000E+01
+-.27112000000000E+01
+-.16122000000000E+01
+-.52878000000000E+00
+0.56696000000000E+00
+0.16871000000000E+01
+0.28216000000000E+01
+0.39531000000000E+01
+0.50537000000000E+01
+0.60538000000000E+01
+0.67742000000000E+01
+0.70172000000000E+01
+-.63287000000000E+01
+-.51802000000000E+01
+-.40366000000000E+01
+-.29064000000000E+01
+-.17992000000000E+01
+-.70923000000000E+00
+0.38949000000000E+00
+0.15110000000000E+01
+0.26467000000000E+01
+0.37811000000000E+01
+0.48904000000000E+01
+0.59160000000000E+01
+0.67064000000000E+01
+0.70468000000000E+01
+-.65090000000000E+01
+-.53599000000000E+01
+-.42147000000000E+01
+-.30804000000000E+01
+-.19663000000000E+01
+-.87030000000000E+00
+0.23121000000000E+00
+0.13537000000000E+01
+0.24904000000000E+01
+0.36273000000000E+01
+0.47444000000000E+01
+0.57936000000000E+01
+0.66484000000000E+01
+0.70952000000000E+01
+-.66833000000000E+01
+-.55337000000000E+01
+-.43873000000000E+01
+-.32498000000000E+01
+-.21299000000000E+01
+-.10285000000000E+01
+0.75277000000000E-01
+0.11982000000000E+01
+0.23355000000000E+01
+0.34745000000000E+01
+0.45983000000000E+01
+0.56682000000000E+01
+0.65808000000000E+01
+0.71360000000000E+01
+-.68947000000000E+01
+-.57446000000000E+01
+-.45972000000000E+01
+-.34567000000000E+01
+-.23315000000000E+01
+-.12248000000000E+01
+-.11972000000000E+00
+0.10024000000000E+01
+0.21395000000000E+01
+0.32800000000000E+01
+0.44094000000000E+01
+0.54969000000000E+01
+0.64595000000000E+01
+0.71188000000000E+01
+-.71426000000000E+01
+-.59922000000000E+01
+-.48437000000000E+01
+-.37007000000000E+01
+-.25705000000000E+01
+-.14585000000000E+01
+-.35234000000000E+00
+0.76799000000000E+00
+0.19040000000000E+01
+0.30453000000000E+01
+0.41793000000000E+01
+0.52814000000000E+01
+0.62860000000000E+01
+0.70404000000000E+01
+-.74136000000000E+01
+-.62629000000000E+01
+-.51138000000000E+01
+-.39687000000000E+01
+-.28340000000000E+01
+-.17164000000000E+01
+-.60880000000000E+00
+0.50922000000000E+00
+0.16434000000000E+01
+0.27849000000000E+01
+0.39224000000000E+01
+0.50361000000000E+01
+0.60751000000000E+01
+0.69130000000000E+01
+-.76725000000000E+01
+-.65217000000000E+01
+-.53721000000000E+01
+-.42255000000000E+01
+-.30873000000000E+01
+-.19646000000000E+01
+-.85472000000000E+00
+0.26131000000000E+00
+0.13933000000000E+01
+0.25347000000000E+01
+0.36747000000000E+01
+0.47976000000000E+01
+0.58640000000000E+01
+0.67723000000000E+01
+-.78937000000000E+01
+-.67428000000000E+01
+-.55927000000000E+01
+-.44452000000000E+01
+-.33044000000000E+01
+-.21776000000000E+01
+-.10650000000000E+01
+0.49815000000000E-01
+0.11798000000000E+01
+0.23207000000000E+01
+0.34625000000000E+01
+0.45924000000000E+01
+0.56803000000000E+01
+0.66465000000000E+01
+-.81431000000000E+01
+-.69922000000000E+01
+-.58419000000000E+01
+-.46935000000000E+01
+-.35505000000000E+01
+-.24195000000000E+01
+-.13037000000000E+01
+-.19003000000000E+00
+0.93733000000000E+00
+0.20770000000000E+01
+0.32200000000000E+01
+0.43551000000000E+01
+0.54595000000000E+01
+0.64716000000000E+01
+-.84138000000000E+01
+-.72628000000000E+01
+-.61122000000000E+01
+-.49630000000000E+01
+-.38182000000000E+01
+-.26833000000000E+01
+-.15638000000000E+01
+-.45057000000000E+00
+0.67371000000000E+00
+0.18116000000000E+01
+0.29549000000000E+01
+0.40937000000000E+01
+0.52106000000000E+01
+0.62585000000000E+01
+-.87002000000000E+01
+-.75491000000000E+01
+-.63983000000000E+01
+-.52487000000000E+01
+-.41022000000000E+01
+-.29639000000000E+01
+-.18401000000000E+01
+-.72641000000000E+00
+0.39464000000000E+00
+0.15301000000000E+01
+0.26731000000000E+01
+0.38145000000000E+01
+0.49404000000000E+01
+0.60157000000000E+01
+-.89431000000000E+01
+-.77920000000000E+01
+-.66411000000000E+01
+-.54911000000000E+01
+-.43436000000000E+01
+-.32029000000000E+01
+-.20754000000000E+01
+-.96033000000000E+00
+0.15837000000000E+00
+0.12914000000000E+01
+0.24338000000000E+01
+0.35770000000000E+01
+0.47096000000000E+01
+0.58054000000000E+01
+-.91726000000000E+01
+-.80215000000000E+01
+-.68706000000000E+01
+-.57203000000000E+01
+-.45720000000000E+01
+-.34294000000000E+01
+-.22985000000000E+01
+-.11815000000000E+01
+-.64548000000000E-01
+0.10659000000000E+01
+0.22073000000000E+01
+0.33516000000000E+01
+0.44890000000000E+01
+0.56001000000000E+01
+-.94316000000000E+01
+-.82803000000000E+01
+-.71293000000000E+01
+-.59788000000000E+01
+-.48298000000000E+01
+-.36854000000000E+01
+-.25511000000000E+01
+-.14313000000000E+01
+-.31573000000000E+00
+0.81161000000000E+00
+0.19515000000000E+01
+0.30961000000000E+01
+0.42368000000000E+01
+0.53590000000000E+01
+-.97100000000000E+01
+-.85588000000000E+01
+-.74077000000000E+01
+-.62570000000000E+01
+-.51074000000000E+01
+-.39614000000000E+01
+-.28239000000000E+01
+-.17007000000000E+01
+-.58554000000000E+00
+0.53842000000000E+00
+0.16760000000000E+01
+0.28204000000000E+01
+0.39634000000000E+01
+0.50935000000000E+01
+-.10002000000000E+02
+-.88503000000000E+01
+-.76993000000000E+01
+-.65485000000000E+01
+-.53986000000000E+01
+-.42512000000000E+01
+-.31108000000000E+01
+-.19837000000000E+01
+-.86787000000000E+00
+0.25279000000000E+00
+0.13875000000000E+01
+0.25310000000000E+01
+0.36754000000000E+01
+0.48113000000000E+01
+-.10296000000000E+02
+-.91450000000000E+01
+-.79940000000000E+01
+-.68430000000000E+01
+-.56927000000000E+01
+-.45444000000000E+01
+-.34017000000000E+01
+-.22706000000000E+01
+-.11529000000000E+01
+-.34925000000000E-01
+0.10964000000000E+01
+0.22385000000000E+01
+0.33836000000000E+01
+0.45234000000000E+01
+-.10595000000000E+02
+-.94443000000000E+01
+-.82930000000000E+01
+-.71421000000000E+01
+-.59915000000000E+01
+-.48424000000000E+01
+-.36977000000000E+01
+-.25629000000000E+01
+-.14423000000000E+01
+-.32613000000000E+00
+0.80153000000000E+00
+0.19417000000000E+01
+0.30868000000000E+01
+0.42294000000000E+01
+-.10896000000000E+02
+-.97451000000000E+01
+-.85937000000000E+01
+-.74427000000000E+01
+-.62920000000000E+01
+-.51425000000000E+01
+-.39961000000000E+01
+-.28580000000000E+01
+-.17338000000000E+01
+-.61816000000000E+00
+0.50578000000000E+00
+0.16433000000000E+01
+0.27880000000000E+01
+0.39323000000000E+01
+-.11196000000000E+02
+-.10045000000000E+02
+-.88938000000000E+01
+-.77427000000000E+01
+-.65918000000000E+01
+-.54418000000000E+01
+-.42942000000000E+01
+-.31533000000000E+01
+-.20252000000000E+01
+-.90884000000000E+00
+0.21173000000000E+00
+0.13462000000000E+01
+0.24898000000000E+01
+0.36351000000000E+01
+-.11493000000000E+02
+-.10342000000000E+02
+-.91907000000000E+01
+-.80396000000000E+01
+-.68885000000000E+01
+-.57382000000000E+01
+-.45897000000000E+01
+-.34465000000000E+01
+-.23146000000000E+01
+-.11963000000000E+01
+-.78371000000000E-01
+0.10526000000000E+01
+0.21947000000000E+01
+0.33404000000000E+01
+-.11737000000000E+02
+-.10585000000000E+02
+-.94338000000000E+01
+-.82827000000000E+01
+-.71318000000000E+01
+-.59813000000000E+01
+-.48323000000000E+01
+-.36874000000000E+01
+-.25526000000000E+01
+-.14319000000000E+01
+-.31542000000000E+00
+0.81259000000000E+00
+0.19530000000000E+01
+0.30987000000000E+01
+-.11955000000000E+02
+-.10803000000000E+02
+-.96519000000000E+01
+-.85007000000000E+01
+-.73496000000000E+01
+-.61990000000000E+01
+-.50494000000000E+01
+-.39035000000000E+01
+-.27662000000000E+01
+-.16430000000000E+01
+-.52713000000000E+00
+0.59816000000000E+00
+0.17368000000000E+01
+0.28823000000000E+01
+-.63754000000000E+01
+-.52275000000000E+01
+-.40850000000000E+01
+-.29572000000000E+01
+-.18657000000000E+01
+-.83522000000000E+00
+0.15807000000000E+00
+0.11901000000000E+01
+0.22739000000000E+01
+0.33428000000000E+01
+0.43119000000000E+01
+0.51577000000000E+01
+0.59410000000000E+01
+0.61145000000000E+01
+-.65956000000000E+01
+-.54470000000000E+01
+-.43027000000000E+01
+-.31710000000000E+01
+-.20698000000000E+01
+-.10199000000000E+01
+-.10732000000000E-02
+0.10477000000000E+01
+0.21374000000000E+01
+0.32166000000000E+01
+0.42120000000000E+01
+0.50820000000000E+01
+0.58688000000000E+01
+0.60488000000000E+01
+-.68080000000000E+01
+-.56588000000000E+01
+-.45135000000000E+01
+-.33792000000000E+01
+-.22719000000000E+01
+-.12104000000000E+01
+-.17844000000000E+00
+0.87669000000000E+00
+0.19683000000000E+01
+0.30563000000000E+01
+0.40769000000000E+01
+0.49760000000000E+01
+0.57673000000000E+01
+0.59584000000000E+01
+-.70631000000000E+01
+-.59138000000000E+01
+-.47678000000000E+01
+-.36321000000000E+01
+-.25219000000000E+01
+-.14561000000000E+01
+-.42285000000000E+00
+0.62794000000000E+00
+0.17164000000000E+01
+0.28116000000000E+01
+0.38572000000000E+01
+0.47903000000000E+01
+0.55894000000000E+01
+0.57979000000000E+01
+-.73335000000000E+01
+-.61838000000000E+01
+-.50372000000000E+01
+-.38998000000000E+01
+-.27856000000000E+01
+-.17137000000000E+01
+-.67697000000000E+00
+0.37069000000000E+00
+0.14555000000000E+01
+0.25549000000000E+01
+0.36190000000000E+01
+0.45831000000000E+01
+0.53916000000000E+01
+0.56252000000000E+01
+-.75664000000000E+01
+-.64165000000000E+01
+-.52693000000000E+01
+-.41301000000000E+01
+-.30117000000000E+01
+-.19327000000000E+01
+-.88968000000000E+00
+0.15909000000000E+00
+0.12436000000000E+01
+0.23478000000000E+01
+0.34280000000000E+01
+0.44213000000000E+01
+0.52430000000000E+01
+0.55120000000000E+01
+-.77898000000000E+01
+-.66396000000000E+01
+-.54918000000000E+01
+-.43508000000000E+01
+-.32278000000000E+01
+-.21403000000000E+01
+-.10883000000000E+01
+-.35124000000000E-01
+0.10509000000000E+01
+0.21595000000000E+01
+0.32527000000000E+01
+0.42711000000000E+01
+0.51108000000000E+01
+0.54265000000000E+01
+-.79990000000000E+01
+-.68488000000000E+01
+-.57002000000000E+01
+-.45574000000000E+01
+-.34298000000000E+01
+-.23329000000000E+01
+-.12702000000000E+01
+-.21054000000000E+00
+0.87811000000000E+00
+0.19903000000000E+01
+0.30934000000000E+01
+0.41322000000000E+01
+0.49949000000000E+01
+0.53688000000000E+01
+-.81516000000000E+01
+-.70012000000000E+01
+-.58522000000000E+01
+-.47079000000000E+01
+-.35762000000000E+01
+-.24709000000000E+01
+-.13973000000000E+01
+-.32959000000000E+00
+0.76326000000000E+00
+0.18791000000000E+01
+0.29899000000000E+01
+0.40454000000000E+01
+0.49351000000000E+01
+0.53774000000000E+01
+-.83145000000000E+01
+-.71639000000000E+01
+-.60145000000000E+01
+-.48688000000000E+01
+-.37333000000000E+01
+-.26201000000000E+01
+-.15359000000000E+01
+-.46066000000000E+00
+0.63541000000000E+00
+0.17537000000000E+01
+0.28699000000000E+01
+0.39395000000000E+01
+0.48588000000000E+01
+0.53770000000000E+01
+-.84546000000000E+01
+-.73038000000000E+01
+-.61539000000000E+01
+-.50071000000000E+01
+-.38685000000000E+01
+-.27487000000000E+01
+-.16551000000000E+01
+-.57271000000000E+00
+0.52655000000000E+00
+0.16469000000000E+01
+0.27676000000000E+01
+0.38493000000000E+01
+0.47997000000000E+01
+0.53971000000000E+01
+-.85959000000000E+01
+-.74451000000000E+01
+-.62949000000000E+01
+-.51471000000000E+01
+-.40060000000000E+01
+-.28804000000000E+01
+-.17785000000000E+01
+-.68979000000000E+00
+0.41202000000000E+00
+0.15338000000000E+01
+0.26581000000000E+01
+0.37507000000000E+01
+0.47318000000000E+01
+0.54086000000000E+01
+-.87891000000000E+01
+-.76382000000000E+01
+-.64878000000000E+01
+-.53391000000000E+01
+-.41957000000000E+01
+-.30648000000000E+01
+-.19549000000000E+01
+-.86029000000000E+00
+0.24263000000000E+00
+0.13645000000000E+01
+0.24914000000000E+01
+0.35936000000000E+01
+0.46036000000000E+01
+0.53567000000000E+01
+-.89690000000000E+01
+-.78179000000000E+01
+-.66672000000000E+01
+-.55181000000000E+01
+-.43729000000000E+01
+-.32379000000000E+01
+-.21212000000000E+01
+-.10213000000000E+01
+0.82893000000000E-01
+0.12047000000000E+01
+0.23337000000000E+01
+0.34445000000000E+01
+0.44808000000000E+01
+0.53046000000000E+01
+-.91445000000000E+01
+-.79935000000000E+01
+-.68428000000000E+01
+-.56931000000000E+01
+-.45465000000000E+01
+-.34083000000000E+01
+-.22860000000000E+01
+-.11810000000000E+01
+-.75628000000000E-01
+0.10459000000000E+01
+0.21766000000000E+01
+0.32946000000000E+01
+0.43541000000000E+01
+0.52411000000000E+01
+-.93567000000000E+01
+-.82056000000000E+01
+-.70548000000000E+01
+-.59047000000000E+01
+-.47571000000000E+01
+-.36160000000000E+01
+-.24885000000000E+01
+-.13784000000000E+01
+-.27211000000000E+00
+0.84821000000000E+00
+0.19796000000000E+01
+0.31035000000000E+01
+0.41826000000000E+01
+0.51245000000000E+01
+-.95967000000000E+01
+-.84456000000000E+01
+-.72947000000000E+01
+-.61443000000000E+01
+-.49957000000000E+01
+-.38522000000000E+01
+-.27201000000000E+01
+-.16048000000000E+01
+-.49740000000000E+00
+0.62111000000000E+00
+0.17523000000000E+01
+0.28807000000000E+01
+0.39759000000000E+01
+0.49640000000000E+01
+-.98584000000000E+01
+-.87070000000000E+01
+-.75562000000000E+01
+-.64055000000000E+01
+-.52562000000000E+01
+-.41108000000000E+01
+-.29746000000000E+01
+-.18541000000000E+01
+-.74490000000000E+00
+0.37151000000000E+00
+0.15016000000000E+01
+0.26331000000000E+01
+0.37410000000000E+01
+0.47670000000000E+01
+-.10108000000000E+02
+-.89565000000000E+01
+-.78055000000000E+01
+-.66547000000000E+01
+-.55050000000000E+01
+-.43582000000000E+01
+-.32187000000000E+01
+-.20934000000000E+01
+-.98186000000000E+00
+0.13288000000000E+00
+0.12614000000000E+01
+0.23950000000000E+01
+0.35128000000000E+01
+0.45690000000000E+01
+-.10319000000000E+02
+-.91677000000000E+01
+-.80164000000000E+01
+-.68656000000000E+01
+-.57156000000000E+01
+-.45677000000000E+01
+-.34261000000000E+01
+-.22971000000000E+01
+-.11827000000000E+01
+-.68909000000000E-01
+0.10581000000000E+01
+0.21930000000000E+01
+0.33182000000000E+01
+0.43982000000000E+01
+-.10562000000000E+02
+-.94109000000000E+01
+-.82598000000000E+01
+-.71088000000000E+01
+-.59584000000000E+01
+-.48098000000000E+01
+-.36661000000000E+01
+-.25333000000000E+01
+-.14157000000000E+01
+-.30253000000000E+00
+0.82227000000000E+00
+0.19572000000000E+01
+0.30878000000000E+01
+0.41859000000000E+01
+-.10828000000000E+02
+-.96768000000000E+01
+-.85256000000000E+01
+-.73745000000000E+01
+-.62240000000000E+01
+-.50747000000000E+01
+-.39293000000000E+01
+-.27930000000000E+01
+-.16715000000000E+01
+-.55843000000000E+00
+0.56364000000000E+00
+0.16977000000000E+01
+0.28318000000000E+01
+0.39435000000000E+01
+-.11110000000000E+02
+-.99592000000000E+01
+-.88079000000000E+01
+-.76569000000000E+01
+-.65061000000000E+01
+-.53563000000000E+01
+-.42095000000000E+01
+-.30699000000000E+01
+-.19444000000000E+01
+-.83029000000000E+00
+0.28897000000000E+00
+0.14212000000000E+01
+0.25573000000000E+01
+0.36789000000000E+01
+-.11350000000000E+02
+-.10198000000000E+02
+-.90471000000000E+01
+-.78960000000000E+01
+-.67451000000000E+01
+-.55950000000000E+01
+-.44471000000000E+01
+-.33054000000000E+01
+-.21763000000000E+01
+-.10605000000000E+01
+0.56761000000000E-01
+0.11870000000000E+01
+0.23243000000000E+01
+0.34529000000000E+01
+-.11574000000000E+02
+-.10423000000000E+02
+-.92717000000000E+01
+-.81206000000000E+01
+-.69696000000000E+01
+-.58193000000000E+01
+-.46708000000000E+01
+-.35273000000000E+01
+-.23950000000000E+01
+-.12771000000000E+01
+-.16113000000000E+00
+0.96704000000000E+00
+0.21045000000000E+01
+0.32382000000000E+01
+-.11822000000000E+02
+-.10671000000000E+02
+-.95193000000000E+01
+-.83682000000000E+01
+-.72172000000000E+01
+-.60665000000000E+01
+-.49175000000000E+01
+-.37724000000000E+01
+-.26370000000000E+01
+-.15162000000000E+01
+-.40114000000000E+00
+0.72433000000000E+00
+0.18611000000000E+01
+0.29980000000000E+01
+-.12087000000000E+02
+-.10935000000000E+02
+-.97839000000000E+01
+-.86328000000000E+01
+-.74818000000000E+01
+-.63311000000000E+01
+-.51814000000000E+01
+-.40349000000000E+01
+-.28967000000000E+01
+-.17724000000000E+01
+-.65742000000000E+00
+0.46511000000000E+00
+0.16003000000000E+01
+0.27390000000000E+01
+-.12362000000000E+02
+-.11210000000000E+02
+-.10059000000000E+02
+-.89077000000000E+01
+-.77567000000000E+01
+-.66058000000000E+01
+-.54558000000000E+01
+-.43082000000000E+01
+-.31674000000000E+01
+-.20394000000000E+01
+-.92343000000000E+00
+0.19627000000000E+00
+0.13291000000000E+01
+0.24685000000000E+01
+-.12642000000000E+02
+-.11491000000000E+02
+-.10339000000000E+02
+-.91882000000000E+01
+-.80369000000000E+01
+-.68861000000000E+01
+-.57357000000000E+01
+-.45873000000000E+01
+-.34442000000000E+01
+-.23125000000000E+01
+-.11945000000000E+01
+-.77164000000000E-01
+0.10528000000000E+01
+0.21919000000000E+01
+-.12924000000000E+02
+-.11772000000000E+02
+-.10621000000000E+02
+-.94700000000000E+01
+-.83188000000000E+01
+-.71677000000000E+01
+-.60172000000000E+01
+-.48680000000000E+01
+-.37231000000000E+01
+-.25880000000000E+01
+-.14672000000000E+01
+-.35129000000000E+00
+0.77545000000000E+00
+0.19135000000000E+01
+-.13204000000000E+02
+-.12052000000000E+02
+-.10901000000000E+02
+-.97498000000000E+01
+-.85986000000000E+01
+-.74475000000000E+01
+-.62968000000000E+01
+-.51471000000000E+01
+-.40007000000000E+01
+-.28625000000000E+01
+-.17384000000000E+01
+-.62288000000000E+00
+0.50058000000000E+00
+0.16367000000000E+01
+-.13479000000000E+02
+-.12327000000000E+02
+-.11176000000000E+02
+-.10025000000000E+02
+-.88733000000000E+01
+-.77223000000000E+01
+-.65714000000000E+01
+-.54214000000000E+01
+-.42738000000000E+01
+-.31331000000000E+01
+-.20053000000000E+01
+-.88913000000000E+00
+0.23137000000000E+00
+0.13651000000000E+01
+-.85859000000000E+01
+-.74379000000000E+01
+-.62943000000000E+01
+-.51638000000000E+01
+-.40660000000000E+01
+-.30269000000000E+01
+-.20269000000000E+01
+-.99219000000000E+00
+0.91763000000000E-01
+0.11606000000000E+01
+0.21302000000000E+01
+0.29765000000000E+01
+0.37640000000000E+01
+0.45248000000000E+01
+-.87322000000000E+01
+-.75833000000000E+01
+-.64375000000000E+01
+-.53013000000000E+01
+-.41892000000000E+01
+-.31201000000000E+01
+-.20793000000000E+01
+-.10155000000000E+01
+0.79191000000000E-01
+0.11588000000000E+01
+0.21544000000000E+01
+0.30245000000000E+01
+0.38198000000000E+01
+0.45771000000000E+01
+-.88862000000000E+01
+-.77366000000000E+01
+-.65892000000000E+01
+-.54491000000000E+01
+-.43270000000000E+01
+-.32370000000000E+01
+-.21687000000000E+01
+-.10863000000000E+01
+0.15131000000000E-01
+0.11039000000000E+01
+0.21239000000000E+01
+0.30229000000000E+01
+0.38301000000000E+01
+0.45835000000000E+01
+-.90801000000000E+01
+-.79299000000000E+01
+-.67817000000000E+01
+-.56394000000000E+01
+-.45115000000000E+01
+-.34097000000000E+01
+-.23266000000000E+01
+-.12356000000000E+01
+-.13261000000000E+00
+0.96234000000000E+00
+0.20059000000000E+01
+0.29388000000000E+01
+0.37645000000000E+01
+0.45143000000000E+01
+-.92866000000000E+01
+-.81362000000000E+01
+-.69873000000000E+01
+-.58429000000000E+01
+-.47097000000000E+01
+-.35972000000000E+01
+-.25009000000000E+01
+-.14035000000000E+01
+-.30267000000000E+00
+0.79202000000000E+00
+0.18505000000000E+01
+0.28141000000000E+01
+0.36625000000000E+01
+0.44084000000000E+01
+-.94966000000000E+01
+-.83459000000000E+01
+-.71964000000000E+01
+-.60504000000000E+01
+-.49133000000000E+01
+-.37928000000000E+01
+-.26871000000000E+01
+-.15862000000000E+01
+-.48971000000000E+00
+0.60164000000000E+00
+0.16708000000000E+01
+0.26639000000000E+01
+0.35400000000000E+01
+0.42837000000000E+01
+-.96890000000000E+01
+-.85383000000000E+01
+-.73884000000000E+01
+-.62413000000000E+01
+-.51011000000000E+01
+-.39742000000000E+01
+-.28610000000000E+01
+-.17575000000000E+01
+-.66492000000000E+00
+0.42288000000000E+00
+0.15003000000000E+01
+0.25203000000000E+01
+0.34278000000000E+01
+0.41722000000000E+01
+-.98706000000000E+01
+-.87197000000000E+01
+-.75696000000000E+01
+-.64215000000000E+01
+-.52789000000000E+01
+-.41470000000000E+01
+-.30278000000000E+01
+-.19214000000000E+01
+-.83051000000000E+00
+0.25567000000000E+00
+0.13402000000000E+01
+0.23839000000000E+01
+0.33237000000000E+01
+0.40739000000000E+01
+-.10029000000000E+02
+-.88777000000000E+01
+-.77272000000000E+01
+-.65784000000000E+01
+-.54337000000000E+01
+-.42979000000000E+01
+-.31735000000000E+01
+-.20635000000000E+01
+-.97160000000000E+00
+0.11549000000000E+00
+0.12068000000000E+01
+0.22703000000000E+01
+0.32404000000000E+01
+0.40028000000000E+01
+-.10179000000000E+02
+-.90281000000000E+01
+-.78774000000000E+01
+-.67281000000000E+01
+-.55820000000000E+01
+-.44430000000000E+01
+-.33141000000000E+01
+-.21998000000000E+01
+-.11045000000000E+01
+-.14780000000000E-01
+0.10822000000000E+01
+0.21614000000000E+01
+0.31578000000000E+01
+0.39400000000000E+01
+-.10318000000000E+02
+-.91670000000000E+01
+-.80161000000000E+01
+-.68665000000000E+01
+-.57192000000000E+01
+-.45775000000000E+01
+-.34447000000000E+01
+-.23257000000000E+01
+-.12258000000000E+01
+-.13246000000000E+00
+0.96939000000000E+00
+0.20601000000000E+01
+0.30787000000000E+01
+0.38879000000000E+01
+-.10427000000000E+02
+-.92759000000000E+01
+-.81250000000000E+01
+-.69749000000000E+01
+-.58267000000000E+01
+-.46830000000000E+01
+-.35467000000000E+01
+-.24233000000000E+01
+-.13186000000000E+01
+-.22109000000000E+00
+0.88507000000000E+00
+0.19847000000000E+01
+0.30219000000000E+01
+0.38639000000000E+01
+-.10564000000000E+02
+-.94133000000000E+01
+-.82622000000000E+01
+-.71118000000000E+01
+-.59630000000000E+01
+-.48175000000000E+01
+-.36783000000000E+01
+-.25505000000000E+01
+-.14404000000000E+01
+-.33891000000000E+00
+0.77025000000000E+00
+0.18762000000000E+01
+0.29295000000000E+01
+0.38079000000000E+01
+-.10676000000000E+02
+-.95251000000000E+01
+-.83740000000000E+01
+-.72234000000000E+01
+-.60740000000000E+01
+-.49272000000000E+01
+-.37856000000000E+01
+-.26542000000000E+01
+-.15393000000000E+01
+-.43389000000000E+00
+0.67815000000000E+00
+0.17895000000000E+01
+0.28572000000000E+01
+0.37733000000000E+01
+-.10838000000000E+02
+-.96865000000000E+01
+-.85354000000000E+01
+-.73846000000000E+01
+-.62347000000000E+01
+-.50869000000000E+01
+-.39432000000000E+01
+-.28080000000000E+01
+-.16882000000000E+01
+-.57916000000000E+00
+0.53461000000000E+00
+0.16499000000000E+01
+0.27304000000000E+01
+0.36833000000000E+01
+-.11039000000000E+02
+-.98872000000000E+01
+-.87361000000000E+01
+-.75852000000000E+01
+-.64349000000000E+01
+-.52863000000000E+01
+-.41409000000000E+01
+-.30024000000000E+01
+-.18775000000000E+01
+-.76491000000000E+00
+0.34992000000000E+00
+0.14680000000000E+01
+0.25598000000000E+01
+0.35471000000000E+01
+-.11185000000000E+02
+-.10034000000000E+02
+-.88826000000000E+01
+-.77316000000000E+01
+-.65811000000000E+01
+-.54318000000000E+01
+-.42850000000000E+01
+-.31443000000000E+01
+-.20158000000000E+01
+-.89987000000000E+00
+0.21655000000000E+00
+0.13375000000000E+01
+0.24394000000000E+01
+0.34577000000000E+01
+-.11359000000000E+02
+-.10208000000000E+02
+-.90566000000000E+01
+-.79056000000000E+01
+-.67549000000000E+01
+-.56051000000000E+01
+-.44574000000000E+01
+-.33146000000000E+01
+-.21826000000000E+01
+-.10635000000000E+01
+0.54111000000000E-01
+0.11770000000000E+01
+0.22874000000000E+01
+0.33326000000000E+01
+-.11571000000000E+02
+-.10420000000000E+02
+-.92688000000000E+01
+-.81174000000000E+01
+-.69668000000000E+01
+-.58167000000000E+01
+-.46681000000000E+01
+-.35235000000000E+01
+-.23881000000000E+01
+-.12655000000000E+01
+-.14706000000000E+00
+0.97684000000000E+00
+0.20937000000000E+01
+0.31616000000000E+01
+-.11812000000000E+02
+-.10660000000000E+02
+-.95088000000000E+01
+-.83577000000000E+01
+-.72068000000000E+01
+-.60564000000000E+01
+-.49072000000000E+01
+-.37610000000000E+01
+-.26226000000000E+01
+-.14965000000000E+01
+-.37701000000000E+00
+0.74706000000000E+00
+0.18689000000000E+01
+0.29549000000000E+01
+-.12073000000000E+02
+-.10922000000000E+02
+-.97705000000000E+01
+-.86191000000000E+01
+-.74683000000000E+01
+-.63176000000000E+01
+-.51678000000000E+01
+-.40205000000000E+01
+-.28793000000000E+01
+-.17496000000000E+01
+-.62871000000000E+00
+0.49498000000000E+00
+0.16200000000000E+01
+0.27203000000000E+01
+-.12294000000000E+02
+-.11143000000000E+02
+-.99917000000000E+01
+-.88403000000000E+01
+-.76893000000000E+01
+-.65386000000000E+01
+-.53884000000000E+01
+-.42402000000000E+01
+-.30971000000000E+01
+-.19644000000000E+01
+-.84174000000000E+00
+0.28184000000000E+00
+0.14091000000000E+01
+0.25204000000000E+01
+-.12510000000000E+02
+-.11359000000000E+02
+-.10208000000000E+02
+-.90562000000000E+01
+-.79052000000000E+01
+-.67543000000000E+01
+-.56039000000000E+01
+-.44550000000000E+01
+-.33104000000000E+01
+-.21749000000000E+01
+-.10503000000000E+01
+0.73132000000000E-01
+0.12016000000000E+01
+0.23212000000000E+01
+-.12756000000000E+02
+-.11605000000000E+02
+-.10453000000000E+02
+-.93020000000000E+01
+-.81509000000000E+01
+-.70000000000000E+01
+-.58494000000000E+01
+-.47000000000000E+01
+-.35539000000000E+01
+-.24158000000000E+01
+-.12888000000000E+01
+-.16551000000000E+00
+0.96312000000000E+00
+0.20884000000000E+01
+-.13021000000000E+02
+-.11869000000000E+02
+-.10718000000000E+02
+-.95669000000000E+01
+-.84158000000000E+01
+-.72648000000000E+01
+-.61139000000000E+01
+-.49641000000000E+01
+-.38168000000000E+01
+-.26762000000000E+01
+-.15465000000000E+01
+-.42302000000000E+00
+0.70496000000000E+00
+0.18337000000000E+01
+-.13296000000000E+02
+-.12145000000000E+02
+-.10993000000000E+02
+-.98418000000000E+01
+-.86907000000000E+01
+-.75396000000000E+01
+-.63887000000000E+01
+-.52384000000000E+01
+-.40902000000000E+01
+-.29474000000000E+01
+-.18148000000000E+01
+-.69054000000000E+00
+0.43638000000000E+00
+0.15670000000000E+01
+-.13499000000000E+02
+-.12348000000000E+02
+-.11197000000000E+02
+-.10045000000000E+02
+-.88938000000000E+01
+-.77428000000000E+01
+-.65918000000000E+01
+-.54414000000000E+01
+-.42926000000000E+01
+-.31484000000000E+01
+-.20135000000000E+01
+-.88815000000000E+00
+0.23822000000000E+00
+0.13701000000000E+01
+-.13718000000000E+02
+-.12566000000000E+02
+-.11415000000000E+02
+-.10264000000000E+02
+-.91125000000000E+01
+-.79613000000000E+01
+-.68103000000000E+01
+-.56597000000000E+01
+-.45104000000000E+01
+-.33650000000000E+01
+-.22278000000000E+01
+-.11010000000000E+01
+0.24762000000000E-01
+0.11568000000000E+01
+-.13958000000000E+02
+-.12806000000000E+02
+-.11655000000000E+02
+-.10504000000000E+02
+-.93525000000000E+01
+-.82012000000000E+01
+-.70503000000000E+01
+-.58994000000000E+01
+-.47498000000000E+01
+-.36032000000000E+01
+-.24639000000000E+01
+-.13350000000000E+01
+-.20980000000000E+00
+0.92159000000000E+00
+-.14210000000000E+02
+-.13058000000000E+02
+-.11907000000000E+02
+-.10756000000000E+02
+-.96045000000000E+01
+-.84534000000000E+01
+-.73022000000000E+01
+-.61514000000000E+01
+-.50013000000000E+01
+-.38538000000000E+01
+-.27123000000000E+01
+-.15812000000000E+01
+-.45611000000000E+00
+0.67409000000000E+00
+-.14467000000000E+02
+-.13316000000000E+02
+-.12165000000000E+02
+-.11013000000000E+02
+-.98621000000000E+01
+-.87109000000000E+01
+-.75598000000000E+01
+-.64088000000000E+01
+-.52585000000000E+01
+-.41101000000000E+01
+-.29669000000000E+01
+-.18332000000000E+01
+-.70761000000000E+00
+0.42113000000000E+00
+-.14725000000000E+02
+-.13574000000000E+02
+-.12423000000000E+02
+-.11271000000000E+02
+-.10120000000000E+02
+-.89687000000000E+01
+-.78176000000000E+01
+-.66665000000000E+01
+-.55160000000000E+01
+-.43669000000000E+01
+-.32222000000000E+01
+-.20860000000000E+01
+-.95932000000000E+00
+0.16807000000000E+00
+-.10359000000000E+02
+-.92112000000000E+01
+-.80676000000000E+01
+-.69369000000000E+01
+-.58383000000000E+01
+-.47969000000000E+01
+-.37930000000000E+01
+-.27532000000000E+01
+-.16648000000000E+01
+-.59343000000000E+00
+0.37721000000000E+00
+0.12238000000000E+01
+0.20113000000000E+01
+0.27836000000000E+01
+-.10600000000000E+02
+-.94507000000000E+01
+-.83052000000000E+01
+-.71699000000000E+01
+-.60602000000000E+01
+-.49956000000000E+01
+-.39605000000000E+01
+-.28986000000000E+01
+-.18014000000000E+01
+-.71957000000000E+00
+0.27684000000000E+00
+0.11473000000000E+01
+0.19426000000000E+01
+0.27164000000000E+01
+-.10687000000000E+02
+-.95371000000000E+01
+-.83899000000000E+01
+-.72499000000000E+01
+-.61281000000000E+01
+-.50381000000000E+01
+-.39683000000000E+01
+-.28801000000000E+01
+-.17705000000000E+01
+-.67690000000000E+00
+0.34438000000000E+00
+0.12434000000000E+01
+0.20505000000000E+01
+0.28269000000000E+01
+-.10815000000000E+02
+-.96648000000000E+01
+-.85166000000000E+01
+-.73739000000000E+01
+-.62452000000000E+01
+-.51411000000000E+01
+-.40521000000000E+01
+-.29495000000000E+01
+-.18316000000000E+01
+-.72705000000000E+00
+0.31927000000000E+00
+0.12525000000000E+01
+0.20780000000000E+01
+0.28588000000000E+01
+-.10989000000000E+02
+-.98389000000000E+01
+-.86899000000000E+01
+-.75452000000000E+01
+-.64111000000000E+01
+-.52958000000000E+01
+-.41919000000000E+01
+-.30782000000000E+01
+-.19546000000000E+01
+-.84315000000000E+00
+0.22109000000000E+00
+0.11858000000000E+01
+0.20342000000000E+01
+0.28216000000000E+01
+-.11145000000000E+02
+-.99939000000000E+01
+-.88442000000000E+01
+-.76979000000000E+01
+-.65594000000000E+01
+-.54352000000000E+01
+-.43196000000000E+01
+-.31971000000000E+01
+-.20688000000000E+01
+-.95219000000000E+00
+0.12666000000000E+00
+0.11215000000000E+01
+0.19982000000000E+01
+0.27958000000000E+01
+-.11283000000000E+02
+-.10133000000000E+02
+-.89827000000000E+01
+-.78350000000000E+01
+-.66934000000000E+01
+-.55621000000000E+01
+-.44376000000000E+01
+-.33087000000000E+01
+-.21768000000000E+01
+-.10560000000000E+01
+0.34715000000000E-01
+0.10574000000000E+01
+0.19668000000000E+01
+0.27792000000000E+01
+-.11422000000000E+02
+-.10271000000000E+02
+-.91211000000000E+01
+-.79724000000000E+01
+-.68284000000000E+01
+-.56923000000000E+01
+-.45613000000000E+01
+-.34274000000000E+01
+-.22928000000000E+01
+-.11686000000000E+01
+-.68327000000000E-01
+0.97881000000000E+00
+0.19230000000000E+01
+0.27552000000000E+01
+-.11524000000000E+02
+-.10374000000000E+02
+-.92229000000000E+01
+-.80735000000000E+01
+-.69276000000000E+01
+-.57876000000000E+01
+-.46514000000000E+01
+-.35136000000000E+01
+-.23767000000000E+01
+-.12497000000000E+01
+-.14168000000000E+00
+0.92621000000000E+00
+0.19049000000000E+01
+0.27607000000000E+01
+-.11617000000000E+02
+-.10466000000000E+02
+-.93157000000000E+01
+-.81658000000000E+01
+-.70184000000000E+01
+-.58755000000000E+01
+-.47355000000000E+01
+-.35948000000000E+01
+-.24560000000000E+01
+-.13265000000000E+01
+-.21231000000000E+00
+0.87238000000000E+00
+0.18827000000000E+01
+0.27641000000000E+01
+-.11702000000000E+02
+-.10551000000000E+02
+-.93997000000000E+01
+-.82493000000000E+01
+-.71011000000000E+01
+-.59558000000000E+01
+-.48130000000000E+01
+-.36701000000000E+01
+-.25297000000000E+01
+-.13981000000000E+01
+-.27896000000000E+00
+0.81873000000000E+00
+0.18558000000000E+01
+0.27631000000000E+01
+-.11786000000000E+02
+-.10635000000000E+02
+-.94839000000000E+01
+-.83335000000000E+01
+-.71843000000000E+01
+-.60376000000000E+01
+-.48927000000000E+01
+-.37480000000000E+01
+-.26062000000000E+01
+-.14726000000000E+01
+-.34952000000000E+00
+0.75780000000000E+00
+0.18161000000000E+01
+0.27484000000000E+01
+-.11868000000000E+02
+-.10717000000000E+02
+-.95659000000000E+01
+-.84150000000000E+01
+-.72655000000000E+01
+-.61176000000000E+01
+-.49709000000000E+01
+-.38250000000000E+01
+-.26818000000000E+01
+-.15463000000000E+01
+-.42010000000000E+00
+0.69421000000000E+00
+0.17687000000000E+01
+0.27253000000000E+01
+-.11958000000000E+02
+-.10806000000000E+02
+-.96550000000000E+01
+-.85042000000000E+01
+-.73541000000000E+01
+-.62053000000000E+01
+-.50576000000000E+01
+-.39106000000000E+01
+-.27663000000000E+01
+-.16289000000000E+01
+-.50003000000000E+00
+0.61937000000000E+00
+0.17061000000000E+01
+0.26863000000000E+01
+-.12088000000000E+02
+-.10937000000000E+02
+-.97854000000000E+01
+-.86345000000000E+01
+-.74841000000000E+01
+-.63347000000000E+01
+-.51862000000000E+01
+-.40381000000000E+01
+-.28926000000000E+01
+-.17534000000000E+01
+-.62209000000000E+00
+0.50104000000000E+00
+0.15973000000000E+01
+0.26002000000000E+01
+-.12180000000000E+02
+-.11029000000000E+02
+-.98779000000000E+01
+-.87271000000000E+01
+-.75763000000000E+01
+-.64264000000000E+01
+-.52771000000000E+01
+-.41284000000000E+01
+-.29820000000000E+01
+-.18412000000000E+01
+-.70787000000000E+00
+0.41850000000000E+00
+0.15229000000000E+01
+0.25477000000000E+01
+-.12332000000000E+02
+-.11180000000000E+02
+-.10029000000000E+02
+-.88779000000000E+01
+-.77273000000000E+01
+-.65769000000000E+01
+-.54271000000000E+01
+-.42780000000000E+01
+-.31306000000000E+01
+-.19882000000000E+01
+-.85278000000000E+00
+0.27617000000000E+00
+0.13875000000000E+01
+0.24326000000000E+01
+-.12522000000000E+02
+-.11371000000000E+02
+-.10220000000000E+02
+-.90686000000000E+01
+-.79178000000000E+01
+-.67672000000000E+01
+-.56171000000000E+01
+-.44674000000000E+01
+-.33192000000000E+01
+-.21752000000000E+01
+-.10378000000000E+01
+0.93302000000000E-01
+0.12105000000000E+01
+0.22742000000000E+01
+-.12651000000000E+02
+-.11500000000000E+02
+-.10349000000000E+02
+-.91975000000000E+01
+-.80464000000000E+01
+-.68958000000000E+01
+-.57452000000000E+01
+-.45952000000000E+01
+-.34465000000000E+01
+-.23014000000000E+01
+-.11624000000000E+01
+-.29050000000000E-01
+0.10935000000000E+01
+0.21738000000000E+01
+-.12824000000000E+02
+-.11673000000000E+02
+-.10522000000000E+02
+-.93706000000000E+01
+-.82195000000000E+01
+-.70687000000000E+01
+-.59181000000000E+01
+-.47677000000000E+01
+-.36185000000000E+01
+-.24723000000000E+01
+-.13317000000000E+01
+-.19657000000000E+00
+0.93033000000000E+00
+0.20248000000000E+01
+-.13036000000000E+02
+-.11885000000000E+02
+-.10734000000000E+02
+-.95823000000000E+01
+-.84312000000000E+01
+-.72802000000000E+01
+-.61294000000000E+01
+-.49788000000000E+01
+-.38291000000000E+01
+-.26819000000000E+01
+-.15398000000000E+01
+-.40302000000000E+00
+0.72733000000000E+00
+0.18336000000000E+01
+-.13276000000000E+02
+-.12125000000000E+02
+-.10973000000000E+02
+-.98220000000000E+01
+-.86709000000000E+01
+-.75198000000000E+01
+-.63689000000000E+01
+-.52181000000000E+01
+-.40680000000000E+01
+-.29200000000000E+01
+-.17764000000000E+01
+-.63808000000000E+00
+0.49493000000000E+00
+0.16104000000000E+01
+-.13537000000000E+02
+-.12385000000000E+02
+-.11234000000000E+02
+-.10083000000000E+02
+-.89316000000000E+01
+-.77805000000000E+01
+-.66294000000000E+01
+-.54785000000000E+01
+-.43281000000000E+01
+-.31794000000000E+01
+-.20344000000000E+01
+-.89455000000000E+00
+0.24051000000000E+00
+0.13632000000000E+01
+-.13745000000000E+02
+-.12593000000000E+02
+-.11442000000000E+02
+-.10291000000000E+02
+-.91394000000000E+01
+-.79883000000000E+01
+-.68372000000000E+01
+-.56862000000000E+01
+-.45356000000000E+01
+-.33864000000000E+01
+-.22403000000000E+01
+-.10992000000000E+01
+0.37641000000000E-01
+0.11659000000000E+01
+-.13958000000000E+02
+-.12807000000000E+02
+-.11656000000000E+02
+-.10504000000000E+02
+-.93530000000000E+01
+-.82017000000000E+01
+-.70507000000000E+01
+-.58995000000000E+01
+-.47489000000000E+01
+-.35992000000000E+01
+-.24522000000000E+01
+-.13098000000000E+01
+-.17163000000000E+00
+0.96065000000000E+00
+-.14197000000000E+02
+-.13046000000000E+02
+-.11894000000000E+02
+-.10743000000000E+02
+-.95918000000000E+01
+-.84404000000000E+01
+-.72894000000000E+01
+-.61383000000000E+01
+-.49874000000000E+01
+-.38375000000000E+01
+-.26896000000000E+01
+-.15460000000000E+01
+-.40664000000000E+00
+0.72847000000000E+00
+-.14454000000000E+02
+-.13302000000000E+02
+-.12151000000000E+02
+-.11000000000000E+02
+-.98484000000000E+01
+-.86973000000000E+01
+-.75460000000000E+01
+-.63949000000000E+01
+-.52439000000000E+01
+-.40936000000000E+01
+-.29451000000000E+01
+-.18003000000000E+01
+-.65982000000000E+00
+0.47722000000000E+00
+-.14721000000000E+02
+-.13570000000000E+02
+-.12419000000000E+02
+-.11268000000000E+02
+-.10116000000000E+02
+-.89651000000000E+01
+-.78140000000000E+01
+-.66627000000000E+01
+-.55117000000000E+01
+-.43612000000000E+01
+-.32120000000000E+01
+-.20661000000000E+01
+-.92456000000000E+00
+0.21381000000000E+00
+-.14905000000000E+02
+-.13754000000000E+02
+-.12603000000000E+02
+-.11451000000000E+02
+-.10300000000000E+02
+-.91489000000000E+01
+-.79977000000000E+01
+-.68464000000000E+01
+-.56954000000000E+01
+-.45447000000000E+01
+-.33952000000000E+01
+-.22485000000000E+01
+-.11061000000000E+01
+0.33411000000000E-01
+-.15115000000000E+02
+-.13964000000000E+02
+-.12813000000000E+02
+-.11661000000000E+02
+-.10510000000000E+02
+-.93589000000000E+01
+-.82075000000000E+01
+-.70564000000000E+01
+-.59053000000000E+01
+-.47545000000000E+01
+-.36047000000000E+01
+-.24573000000000E+01
+-.13139000000000E+01
+-.17360000000000E+00
+-.15343000000000E+02
+-.14192000000000E+02
+-.13040000000000E+02
+-.11889000000000E+02
+-.10738000000000E+02
+-.95864000000000E+01
+-.84353000000000E+01
+-.72841000000000E+01
+-.61329000000000E+01
+-.49819000000000E+01
+-.38319000000000E+01
+-.26838000000000E+01
+-.15395000000000E+01
+-.39848000000000E+00
+-.15579000000000E+02
+-.14427000000000E+02
+-.13276000000000E+02
+-.12125000000000E+02
+-.10974000000000E+02
+-.98225000000000E+01
+-.86711000000000E+01
+-.75199000000000E+01
+-.63688000000000E+01
+-.52178000000000E+01
+-.40674000000000E+01
+-.29188000000000E+01
+-.17735000000000E+01
+-.63184000000000E+00
+-.11290000000000E+02
+-.10142000000000E+02
+-.89978000000000E+01
+-.78658000000000E+01
+-.67644000000000E+01
+-.57167000000000E+01
+-.47031000000000E+01
+-.36550000000000E+01
+-.25621000000000E+01
+-.14887000000000E+01
+-.51730000000000E+00
+0.32940000000000E+00
+0.11169000000000E+01
+0.18893000000000E+01
+-.11520000000000E+02
+-.10371000000000E+02
+-.92253000000000E+01
+-.80891000000000E+01
+-.69767000000000E+01
+-.59065000000000E+01
+-.48632000000000E+01
+-.37942000000000E+01
+-.26929000000000E+01
+-.16088000000000E+01
+-.61131000000000E+00
+0.25947000000000E+00
+0.10547000000000E+01
+0.18286000000000E+01
+-.11737000000000E+02
+-.10588000000000E+02
+-.94407000000000E+01
+-.83010000000000E+01
+-.71804000000000E+01
+-.60929000000000E+01
+-.50262000000000E+01
+-.39401000000000E+01
+-.28301000000000E+01
+-.17347000000000E+01
+-.71187000000000E+00
+0.18771000000000E+00
+0.99487000000000E+00
+0.17711000000000E+01
+-.11849000000000E+02
+-.10699000000000E+02
+-.95505000000000E+01
+-.84080000000000E+01
+-.72799000000000E+01
+-.61768000000000E+01
+-.50891000000000E+01
+-.39868000000000E+01
+-.28672000000000E+01
+-.17597000000000E+01
+-.71146000000000E+00
+0.22206000000000E+00
+0.10474000000000E+01
+0.18281000000000E+01
+-.11968000000000E+02
+-.10817000000000E+02
+-.96685000000000E+01
+-.85237000000000E+01
+-.73894000000000E+01
+-.62737000000000E+01
+-.51691000000000E+01
+-.40538000000000E+01
+-.29269000000000E+01
+-.18108000000000E+01
+-.74295000000000E+00
+0.22272000000000E+00
+0.10711000000000E+01
+0.18583000000000E+01
+-.12115000000000E+02
+-.10965000000000E+02
+-.98149000000000E+01
+-.86685000000000E+01
+-.75302000000000E+01
+-.64056000000000E+01
+-.52896000000000E+01
+-.41655000000000E+01
+-.30333000000000E+01
+-.19101000000000E+01
+-.82591000000000E+00
+0.17068000000000E+00
+0.10474000000000E+01
+0.18450000000000E+01
+-.12242000000000E+02
+-.11091000000000E+02
+-.99412000000000E+01
+-.87935000000000E+01
+-.76517000000000E+01
+-.65204000000000E+01
+-.53951000000000E+01
+-.42643000000000E+01
+-.31277000000000E+01
+-.19990000000000E+01
+-.90144000000000E+00
+0.12337000000000E+00
+0.10327000000000E+01
+0.18458000000000E+01
+-.12351000000000E+02
+-.11200000000000E+02
+-.10050000000000E+02
+-.89009000000000E+01
+-.77567000000000E+01
+-.66201000000000E+01
+-.54882000000000E+01
+-.43519000000000E+01
+-.32122000000000E+01
+-.20790000000000E+01
+-.97084000000000E+00
+0.78825000000000E-01
+0.10229000000000E+01
+0.18577000000000E+01
+-.12458000000000E+02
+-.11307000000000E+02
+-.10156000000000E+02
+-.90073000000000E+01
+-.78613000000000E+01
+-.67209000000000E+01
+-.55840000000000E+01
+-.44441000000000E+01
+-.33018000000000E+01
+-.21652000000000E+01
+-.10485000000000E+01
+0.22096000000000E-01
+0.10009000000000E+01
+0.18631000000000E+01
+-.12537000000000E+02
+-.11386000000000E+02
+-.10235000000000E+02
+-.90854000000000E+01
+-.79380000000000E+01
+-.67947000000000E+01
+-.56539000000000E+01
+-.45111000000000E+01
+-.33669000000000E+01
+-.22278000000000E+01
+-.11045000000000E+01
+-.16798000000000E-01
+0.99449000000000E+00
+0.18881000000000E+01
+-.12610000000000E+02
+-.11458000000000E+02
+-.10307000000000E+02
+-.91572000000000E+01
+-.80088000000000E+01
+-.68633000000000E+01
+-.57197000000000E+01
+-.45748000000000E+01
+-.34292000000000E+01
+-.22880000000000E+01
+-.11597000000000E+01
+-.58628000000000E-01
+0.98097000000000E+00
+0.19073000000000E+01
+-.12670000000000E+02
+-.11519000000000E+02
+-.10368000000000E+02
+-.92175000000000E+01
+-.80684000000000E+01
+-.69213000000000E+01
+-.57756000000000E+01
+-.46290000000000E+01
+-.34824000000000E+01
+-.23397000000000E+01
+-.12076000000000E+01
+-.96302000000000E-01
+0.96648000000000E+00
+0.19238000000000E+01
+-.12738000000000E+02
+-.11587000000000E+02
+-.10436000000000E+02
+-.92852000000000E+01
+-.81355000000000E+01
+-.69873000000000E+01
+-.58401000000000E+01
+-.46925000000000E+01
+-.35449000000000E+01
+-.24009000000000E+01
+-.12659000000000E+01
+-.14715000000000E+00
+0.93344000000000E+00
+0.19182000000000E+01
+-.12829000000000E+02
+-.11678000000000E+02
+-.10527000000000E+02
+-.93760000000000E+01
+-.82258000000000E+01
+-.70770000000000E+01
+-.59288000000000E+01
+-.47804000000000E+01
+-.36321000000000E+01
+-.24871000000000E+01
+-.13497000000000E+01
+-.22548000000000E+00
+0.86821000000000E+00
+0.18763000000000E+01
+-.12904000000000E+02
+-.11753000000000E+02
+-.10602000000000E+02
+-.94507000000000E+01
+-.83000000000000E+01
+-.71506000000000E+01
+-.60016000000000E+01
+-.48524000000000E+01
+-.37037000000000E+01
+-.25577000000000E+01
+-.14185000000000E+01
+-.29027000000000E+00
+0.81308000000000E+00
+0.18411000000000E+01
+-.13017000000000E+02
+-.11866000000000E+02
+-.10715000000000E+02
+-.95637000000000E+01
+-.84131000000000E+01
+-.72632000000000E+01
+-.61135000000000E+01
+-.49639000000000E+01
+-.38146000000000E+01
+-.26678000000000E+01
+-.15269000000000E+01
+-.39562000000000E+00
+0.71498000000000E+00
+0.17605000000000E+01
+-.13108000000000E+02
+-.11957000000000E+02
+-.10806000000000E+02
+-.96548000000000E+01
+-.85039000000000E+01
+-.73536000000000E+01
+-.62036000000000E+01
+-.50535000000000E+01
+-.39039000000000E+01
+-.27565000000000E+01
+-.16141000000000E+01
+-.48027000000000E+00
+0.63631000000000E+00
+0.16977000000000E+01
+-.13243000000000E+02
+-.12092000000000E+02
+-.10940000000000E+02
+-.97893000000000E+01
+-.86382000000000E+01
+-.74877000000000E+01
+-.63373000000000E+01
+-.51870000000000E+01
+-.40370000000000E+01
+-.28889000000000E+01
+-.17452000000000E+01
+-.60913000000000E+00
+0.51245000000000E+00
+0.15882000000000E+01
+-.13423000000000E+02
+-.12272000000000E+02
+-.11121000000000E+02
+-.99692000000000E+01
+-.88184000000000E+01
+-.76675000000000E+01
+-.65168000000000E+01
+-.53663000000000E+01
+-.42161000000000E+01
+-.30673000000000E+01
+-.19224000000000E+01
+-.78421000000000E+00
+0.34168000000000E+00
+0.14303000000000E+01
+-.13557000000000E+02
+-.12406000000000E+02
+-.11254000000000E+02
+-.10103000000000E+02
+-.89521000000000E+01
+-.78011000000000E+01
+-.66504000000000E+01
+-.54996000000000E+01
+-.43491000000000E+01
+-.32000000000000E+01
+-.20540000000000E+01
+-.91406000000000E+00
+0.21574000000000E+00
+0.13159000000000E+01
+-.13719000000000E+02
+-.12568000000000E+02
+-.11417000000000E+02
+-.10265000000000E+02
+-.91143000000000E+01
+-.79633000000000E+01
+-.68123000000000E+01
+-.56614000000000E+01
+-.45107000000000E+01
+-.33611000000000E+01
+-.22143000000000E+01
+-.10727000000000E+01
+0.60430000000000E-01
+0.11704000000000E+01
+-.13923000000000E+02
+-.12771000000000E+02
+-.11620000000000E+02
+-.10469000000000E+02
+-.93176000000000E+01
+-.81665000000000E+01
+-.70155000000000E+01
+-.58645000000000E+01
+-.47136000000000E+01
+-.35638000000000E+01
+-.24161000000000E+01
+-.12729000000000E+01
+-.13700000000000E+00
+0.98117000000000E+00
+-.14156000000000E+02
+-.13005000000000E+02
+-.11853000000000E+02
+-.10702000000000E+02
+-.95508000000000E+01
+-.83997000000000E+01
+-.72485000000000E+01
+-.60975000000000E+01
+-.49465000000000E+01
+-.37963000000000E+01
+-.26479000000000E+01
+-.15034000000000E+01
+-.36509000000000E+00
+0.75963000000000E+00
+-.14411000000000E+02
+-.13260000000000E+02
+-.12108000000000E+02
+-.10957000000000E+02
+-.98059000000000E+01
+-.86548000000000E+01
+-.75037000000000E+01
+-.63525000000000E+01
+-.52015000000000E+01
+-.40510000000000E+01
+-.29020000000000E+01
+-.17562000000000E+01
+-.61592000000000E+00
+0.51392000000000E+00
+-.14624000000000E+02
+-.13473000000000E+02
+-.12322000000000E+02
+-.11170000000000E+02
+-.10019000000000E+02
+-.88679000000000E+01
+-.77169000000000E+01
+-.65657000000000E+01
+-.54147000000000E+01
+-.42639000000000E+01
+-.31145000000000E+01
+-.19677000000000E+01
+-.82571000000000E+00
+0.30817000000000E+00
+-.14826000000000E+02
+-.13674000000000E+02
+-.12523000000000E+02
+-.11372000000000E+02
+-.10221000000000E+02
+-.90693000000000E+01
+-.79182000000000E+01
+-.67670000000000E+01
+-.56158000000000E+01
+-.44651000000000E+01
+-.33152000000000E+01
+-.21676000000000E+01
+-.10242000000000E+01
+0.11277000000000E+00
+-.15056000000000E+02
+-.13905000000000E+02
+-.12753000000000E+02
+-.11602000000000E+02
+-.10451000000000E+02
+-.92993000000000E+01
+-.81482000000000E+01
+-.69971000000000E+01
+-.58458000000000E+01
+-.46949000000000E+01
+-.35448000000000E+01
+-.23965000000000E+01
+-.12519000000000E+01
+-.11250000000000E+00
+-.15304000000000E+02
+-.14153000000000E+02
+-.13002000000000E+02
+-.11850000000000E+02
+-.10699000000000E+02
+-.95479000000000E+01
+-.83965000000000E+01
+-.72454000000000E+01
+-.60942000000000E+01
+-.49432000000000E+01
+-.37928000000000E+01
+-.26439000000000E+01
+-.14982000000000E+01
+-.35699000000000E+00
+-.15564000000000E+02
+-.14413000000000E+02
+-.13261000000000E+02
+-.12110000000000E+02
+-.10959000000000E+02
+-.98074000000000E+01
+-.86562000000000E+01
+-.75050000000000E+01
+-.63538000000000E+01
+-.52028000000000E+01
+-.40521000000000E+01
+-.29027000000000E+01
+-.17560000000000E+01
+-.61333000000000E+00
+-.15752000000000E+02
+-.14601000000000E+02
+-.13450000000000E+02
+-.12299000000000E+02
+-.11147000000000E+02
+-.99958000000000E+01
+-.88447000000000E+01
+-.76935000000000E+01
+-.65422000000000E+01
+-.53911000000000E+01
+-.42404000000000E+01
+-.30906000000000E+01
+-.19432000000000E+01
+-.79938000000000E+00
+-.15949000000000E+02
+-.14797000000000E+02
+-.13646000000000E+02
+-.12495000000000E+02
+-.11344000000000E+02
+-.10192000000000E+02
+-.90410000000000E+01
+-.78896000000000E+01
+-.67384000000000E+01
+-.55873000000000E+01
+-.44364000000000E+01
+-.32864000000000E+01
+-.21384000000000E+01
+-.99359000000000E+00
+-.16163000000000E+02
+-.15011000000000E+02
+-.13860000000000E+02
+-.12709000000000E+02
+-.11557000000000E+02
+-.10406000000000E+02
+-.92549000000000E+01
+-.81035000000000E+01
+-.69524000000000E+01
+-.58013000000000E+01
+-.46503000000000E+01
+-.35000000000000E+01
+-.23514000000000E+01
+-.12058000000000E+01
+-.12008000000000E+02
+-.10859000000000E+02
+-.97151000000000E+01
+-.85823000000000E+01
+-.74785000000000E+01
+-.64257000000000E+01
+-.54043000000000E+01
+-.43497000000000E+01
+-.32535000000000E+01
+-.21788000000000E+01
+-.12069000000000E+01
+-.35999000000000E+00
+0.42760000000000E+00
+0.12000000000000E+01
+-.12231000000000E+02
+-.11082000000000E+02
+-.99355000000000E+01
+-.87983000000000E+01
+-.76841000000000E+01
+-.66094000000000E+01
+-.55594000000000E+01
+-.44851000000000E+01
+-.33811000000000E+01
+-.22956000000000E+01
+-.12974000000000E+01
+-.42632000000000E+00
+0.36904000000000E+00
+0.11429000000000E+01
+-.12440000000000E+02
+-.11291000000000E+02
+-.10144000000000E+02
+-.90032000000000E+01
+-.78806000000000E+01
+-.67892000000000E+01
+-.57170000000000E+01
+-.46265000000000E+01
+-.35141000000000E+01
+-.24172000000000E+01
+-.13935000000000E+01
+-.49335000000000E+00
+0.31396000000000E+00
+0.10903000000000E+01
+-.12667000000000E+02
+-.11517000000000E+02
+-.10369000000000E+02
+-.92268000000000E+01
+-.80994000000000E+01
+-.69973000000000E+01
+-.59113000000000E+01
+-.48098000000000E+01
+-.36904000000000E+01
+-.25822000000000E+01
+-.15328000000000E+01
+-.59875000000000E+00
+0.22667000000000E+00
+0.10072000000000E+01
+-.12775000000000E+02
+-.11625000000000E+02
+-.10476000000000E+02
+-.93313000000000E+01
+-.81973000000000E+01
+-.70823000000000E+01
+-.59785000000000E+01
+-.48638000000000E+01
+-.37366000000000E+01
+-.26190000000000E+01
+-.15493000000000E+01
+-.58260000000000E+00
+0.26584000000000E+00
+0.10529000000000E+01
+-.12879000000000E+02
+-.11728000000000E+02
+-.10579000000000E+02
+-.94321000000000E+01
+-.82937000000000E+01
+-.71689000000000E+01
+-.60524000000000E+01
+-.49279000000000E+01
+-.37946000000000E+01
+-.26694000000000E+01
+-.15826000000000E+01
+-.58453000000000E+00
+0.29227000000000E+00
+0.10896000000000E+01
+-.13011000000000E+02
+-.11861000000000E+02
+-.10710000000000E+02
+-.95630000000000E+01
+-.84211000000000E+01
+-.72899000000000E+01
+-.61647000000000E+01
+-.50333000000000E+01
+-.38959000000000E+01
+-.27647000000000E+01
+-.16640000000000E+01
+-.63737000000000E+00
+0.27180000000000E+00
+0.10844000000000E+01
+-.13118000000000E+02
+-.11967000000000E+02
+-.10816000000000E+02
+-.96677000000000E+01
+-.85234000000000E+01
+-.73868000000000E+01
+-.62548000000000E+01
+-.51183000000000E+01
+-.39774000000000E+01
+-.28416000000000E+01
+-.17298000000000E+01
+-.67842000000000E+00
+0.26517000000000E+00
+0.10991000000000E+01
+-.13209000000000E+02
+-.12058000000000E+02
+-.10908000000000E+02
+-.97583000000000E+01
+-.86123000000000E+01
+-.74718000000000E+01
+-.63345000000000E+01
+-.51941000000000E+01
+-.40507000000000E+01
+-.29114000000000E+01
+-.17910000000000E+01
+-.71878000000000E+00
+0.25916000000000E+00
+0.11206000000000E+01
+-.13304000000000E+02
+-.12153000000000E+02
+-.11002000000000E+02
+-.98523000000000E+01
+-.87048000000000E+01
+-.75614000000000E+01
+-.64205000000000E+01
+-.52772000000000E+01
+-.41320000000000E+01
+-.29902000000000E+01
+-.18631000000000E+01
+-.77383000000000E+00
+0.23629000000000E+00
+0.11302000000000E+01
+-.13370000000000E+02
+-.12219000000000E+02
+-.11068000000000E+02
+-.99177000000000E+01
+-.87693000000000E+01
+-.76238000000000E+01
+-.64800000000000E+01
+-.53346000000000E+01
+-.41879000000000E+01
+-.30441000000000E+01
+-.19121000000000E+01
+-.80939000000000E+00
+0.22924000000000E+00
+0.11583000000000E+01
+-.13433000000000E+02
+-.12281000000000E+02
+-.11130000000000E+02
+-.99797000000000E+01
+-.88306000000000E+01
+-.76835000000000E+01
+-.65377000000000E+01
+-.53907000000000E+01
+-.42429000000000E+01
+-.30978000000000E+01
+-.19620000000000E+01
+-.84897000000000E+00
+0.21350000000000E+00
+0.11771000000000E+01
+-.13487000000000E+02
+-.12335000000000E+02
+-.11184000000000E+02
+-.10034000000000E+02
+-.88838000000000E+01
+-.77356000000000E+01
+-.65883000000000E+01
+-.54402000000000E+01
+-.42916000000000E+01
+-.31453000000000E+01
+-.20067000000000E+01
+-.88602000000000E+00
+0.19535000000000E+00
+0.11901000000000E+01
+-.13565000000000E+02
+-.12414000000000E+02
+-.11263000000000E+02
+-.10112000000000E+02
+-.89617000000000E+01
+-.78127000000000E+01
+-.66644000000000E+01
+-.55156000000000E+01
+-.43665000000000E+01
+-.32193000000000E+01
+-.20785000000000E+01
+-.95206000000000E+00
+0.14349000000000E+00
+0.11643000000000E+01
+-.13654000000000E+02
+-.12503000000000E+02
+-.11352000000000E+02
+-.10201000000000E+02
+-.90500000000000E+01
+-.79006000000000E+01
+-.67515000000000E+01
+-.56021000000000E+01
+-.44525000000000E+01
+-.33046000000000E+01
+-.21621000000000E+01
+-.10314000000000E+01
+0.74423000000000E-01
+0.11161000000000E+01
+-.13720000000000E+02
+-.12569000000000E+02
+-.11418000000000E+02
+-.10267000000000E+02
+-.91162000000000E+01
+-.79662000000000E+01
+-.68164000000000E+01
+-.56665000000000E+01
+-.45166000000000E+01
+-.33682000000000E+01
+-.22244000000000E+01
+-.10906000000000E+01
+0.22800000000000E-01
+0.10812000000000E+01
+-.13828000000000E+02
+-.12677000000000E+02
+-.11525000000000E+02
+-.10374000000000E+02
+-.92234000000000E+01
+-.80730000000000E+01
+-.69230000000000E+01
+-.57727000000000E+01
+-.46226000000000E+01
+-.34736000000000E+01
+-.23287000000000E+01
+-.11923000000000E+01
+-.73227000000000E-01
+0.99899000000000E+00
+-.13915000000000E+02
+-.12764000000000E+02
+-.11613000000000E+02
+-.10461000000000E+02
+-.93103000000000E+01
+-.81597000000000E+01
+-.70093000000000E+01
+-.58588000000000E+01
+-.47084000000000E+01
+-.35591000000000E+01
+-.24132000000000E+01
+-.12748000000000E+01
+-.15108000000000E+00
+0.93312000000000E+00
+-.14046000000000E+02
+-.12895000000000E+02
+-.11744000000000E+02
+-.10593000000000E+02
+-.94414000000000E+01
+-.82908000000000E+01
+-.71401000000000E+01
+-.59894000000000E+01
+-.48387000000000E+01
+-.36891000000000E+01
+-.25424000000000E+01
+-.14020000000000E+01
+-.27436000000000E+00
+0.82037000000000E+00
+-.14223000000000E+02
+-.13072000000000E+02
+-.11921000000000E+02
+-.10769000000000E+02
+-.96182000000000E+01
+-.84673000000000E+01
+-.73165000000000E+01
+-.61656000000000E+01
+-.50149000000000E+01
+-.38649000000000E+01
+-.27173000000000E+01
+-.15752000000000E+01
+-.44404000000000E+00
+0.66002000000000E+00
+-.14353000000000E+02
+-.13202000000000E+02
+-.12051000000000E+02
+-.10899000000000E+02
+-.97483000000000E+01
+-.85972000000000E+01
+-.74462000000000E+01
+-.62953000000000E+01
+-.51444000000000E+01
+-.39942000000000E+01
+-.28459000000000E+01
+-.17024000000000E+01
+-.56810000000000E+00
+0.54430000000000E+00
+-.14513000000000E+02
+-.13362000000000E+02
+-.12211000000000E+02
+-.11060000000000E+02
+-.99082000000000E+01
+-.87571000000000E+01
+-.76062000000000E+01
+-.64552000000000E+01
+-.53042000000000E+01
+-.41538000000000E+01
+-.30049000000000E+01
+-.18601000000000E+01
+-.72307000000000E+00
+0.39647000000000E+00
+-.14715000000000E+02
+-.13564000000000E+02
+-.12412000000000E+02
+-.11261000000000E+02
+-.10110000000000E+02
+-.89587000000000E+01
+-.78076000000000E+01
+-.66565000000000E+01
+-.55055000000000E+01
+-.43549000000000E+01
+-.32055000000000E+01
+-.20594000000000E+01
+-.92001000000000E+00
+0.20546000000000E+00
+-.14946000000000E+02
+-.13795000000000E+02
+-.12643000000000E+02
+-.11492000000000E+02
+-.10341000000000E+02
+-.91897000000000E+01
+-.80383000000000E+01
+-.68873000000000E+01
+-.57362000000000E+01
+-.45854000000000E+01
+-.34357000000000E+01
+-.22886000000000E+01
+-.11471000000000E+01
+-.16755000000000E-01
+-.15194000000000E+02
+-.14043000000000E+02
+-.12892000000000E+02
+-.11740000000000E+02
+-.10589000000000E+02
+-.94377000000000E+01
+-.82866000000000E+01
+-.71355000000000E+01
+-.59844000000000E+01
+-.48335000000000E+01
+-.36833000000000E+01
+-.25353000000000E+01
+-.13919000000000E+01
+-.25772000000000E+00
+-.15402000000000E+02
+-.14250000000000E+02
+-.13099000000000E+02
+-.11948000000000E+02
+-.10797000000000E+02
+-.96453000000000E+01
+-.84941000000000E+01
+-.73430000000000E+01
+-.61918000000000E+01
+-.50408000000000E+01
+-.38904000000000E+01
+-.27418000000000E+01
+-.15970000000000E+01
+-.45955000000000E+00
+-.15599000000000E+02
+-.14448000000000E+02
+-.13296000000000E+02
+-.12145000000000E+02
+-.10994000000000E+02
+-.98425000000000E+01
+-.86914000000000E+01
+-.75402000000000E+01
+-.63890000000000E+01
+-.52379000000000E+01
+-.40873000000000E+01
+-.29382000000000E+01
+-.17921000000000E+01
+-.65225000000000E+00
+-.15824000000000E+02
+-.14673000000000E+02
+-.13522000000000E+02
+-.12370000000000E+02
+-.11219000000000E+02
+-.10068000000000E+02
+-.89165000000000E+01
+-.77654000000000E+01
+-.66141000000000E+01
+-.54630000000000E+01
+-.43123000000000E+01
+-.31627000000000E+01
+-.20156000000000E+01
+-.87372000000000E+00
+-.16067000000000E+02
+-.14916000000000E+02
+-.13764000000000E+02
+-.12613000000000E+02
+-.11462000000000E+02
+-.10311000000000E+02
+-.91592000000000E+01
+-.80078000000000E+01
+-.68567000000000E+01
+-.57056000000000E+01
+-.45547000000000E+01
+-.34047000000000E+01
+-.22568000000000E+01
+-.11133000000000E+01
+-.16319000000000E+02
+-.15168000000000E+02
+-.14017000000000E+02
+-.12866000000000E+02
+-.11714000000000E+02
+-.10563000000000E+02
+-.94119000000000E+01
+-.82605000000000E+01
+-.71094000000000E+01
+-.59581000000000E+01
+-.48073000000000E+01
+-.36569000000000E+01
+-.25083000000000E+01
+-.13633000000000E+01
+-.16499000000000E+02
+-.15347000000000E+02
+-.14196000000000E+02
+-.13045000000000E+02
+-.11894000000000E+02
+-.10742000000000E+02
+-.95911000000000E+01
+-.84397000000000E+01
+-.72886000000000E+01
+-.61373000000000E+01
+-.49863000000000E+01
+-.38358000000000E+01
+-.26867000000000E+01
+-.15407000000000E+01
+-.16685000000000E+02
+-.15534000000000E+02
+-.14383000000000E+02
+-.13231000000000E+02
+-.12080000000000E+02
+-.10929000000000E+02
+-.97776000000000E+01
+-.86265000000000E+01
+-.74752000000000E+01
+-.63240000000000E+01
+-.51729000000000E+01
+-.40222000000000E+01
+-.28727000000000E+01
+-.17259000000000E+01
+-.12692000000000E+02
+-.11543000000000E+02
+-.10398000000000E+02
+-.92649000000000E+01
+-.81592000000000E+01
+-.71019000000000E+01
+-.60741000000000E+01
+-.50142000000000E+01
+-.39153000000000E+01
+-.28396000000000E+01
+-.18673000000000E+01
+-.10203000000000E+01
+-.23261000000000E+00
+0.53973000000000E+00
+-.12909000000000E+02
+-.11760000000000E+02
+-.10613000000000E+02
+-.94756000000000E+01
+-.83594000000000E+01
+-.72810000000000E+01
+-.62256000000000E+01
+-.51467000000000E+01
+-.40405000000000E+01
+-.29542000000000E+01
+-.19556000000000E+01
+-.10842000000000E+01
+-.28872000000000E+00
+0.48515000000000E+00
+-.13113000000000E+02
+-.11963000000000E+02
+-.10815000000000E+02
+-.96746000000000E+01
+-.85505000000000E+01
+-.74558000000000E+01
+-.63790000000000E+01
+-.52848000000000E+01
+-.41707000000000E+01
+-.30730000000000E+01
+-.20485000000000E+01
+-.11480000000000E+01
+-.34048000000000E+00
+0.43588000000000E+00
+-.13334000000000E+02
+-.12184000000000E+02
+-.11035000000000E+02
+-.98926000000000E+01
+-.87634000000000E+01
+-.76588000000000E+01
+-.65687000000000E+01
+-.54642000000000E+01
+-.43433000000000E+01
+-.32342000000000E+01
+-.21840000000000E+01
+-.12492000000000E+01
+-.42333000000000E+00
+0.35737000000000E+00
+-.13560000000000E+02
+-.12409000000000E+02
+-.11260000000000E+02
+-.10116000000000E+02
+-.89824000000000E+01
+-.78685000000000E+01
+-.67664000000000E+01
+-.56526000000000E+01
+-.45256000000000E+01
+-.34077000000000E+01
+-.23371000000000E+01
+-.13694000000000E+01
+-.52039000000000E+00
+0.26679000000000E+00
+-.13634000000000E+02
+-.12484000000000E+02
+-.11334000000000E+02
+-.10188000000000E+02
+-.90493000000000E+01
+-.79249000000000E+01
+-.68088000000000E+01
+-.56844000000000E+01
+-.45511000000000E+01
+-.34251000000000E+01
+-.23367000000000E+01
+-.13369000000000E+01
+-.45921000000000E+00
+0.33827000000000E+00
+-.13728000000000E+02
+-.12577000000000E+02
+-.11427000000000E+02
+-.10279000000000E+02
+-.91370000000000E+01
+-.80054000000000E+01
+-.68799000000000E+01
+-.57483000000000E+01
+-.46102000000000E+01
+-.34780000000000E+01
+-.23751000000000E+01
+-.13460000000000E+01
+-.43546000000000E+00
+0.37741000000000E+00
+-.13846000000000E+02
+-.12696000000000E+02
+-.11545000000000E+02
+-.10396000000000E+02
+-.92522000000000E+01
+-.81157000000000E+01
+-.69838000000000E+01
+-.58472000000000E+01
+-.47058000000000E+01
+-.35688000000000E+01
+-.24542000000000E+01
+-.13996000000000E+01
+-.45417000000000E+00
+0.38010000000000E+00
+-.13925000000000E+02
+-.12774000000000E+02
+-.11624000000000E+02
+-.10474000000000E+02
+-.93281000000000E+01
+-.81875000000000E+01
+-.70503000000000E+01
+-.59097000000000E+01
+-.47656000000000E+01
+-.36251000000000E+01
+-.25016000000000E+01
+-.14255000000000E+01
+-.44547000000000E+00
+0.41636000000000E+00
+-.13997000000000E+02
+-.12846000000000E+02
+-.11695000000000E+02
+-.10545000000000E+02
+-.93975000000000E+01
+-.82542000000000E+01
+-.71129000000000E+01
+-.59695000000000E+01
+-.48235000000000E+01
+-.36802000000000E+01
+-.25499000000000E+01
+-.14565000000000E+01
+-.44402000000000E+00
+0.45048000000000E+00
+-.14077000000000E+02
+-.12926000000000E+02
+-.11775000000000E+02
+-.10625000000000E+02
+-.94763000000000E+01
+-.83308000000000E+01
+-.71869000000000E+01
+-.60414000000000E+01
+-.48940000000000E+01
+-.37488000000000E+01
+-.26133000000000E+01
+-.15062000000000E+01
+-.46500000000000E+00
+0.46510000000000E+00
+-.14124000000000E+02
+-.12972000000000E+02
+-.11821000000000E+02
+-.10671000000000E+02
+-.95212000000000E+01
+-.83743000000000E+01
+-.72283000000000E+01
+-.60812000000000E+01
+-.49329000000000E+01
+-.37861000000000E+01
+-.26469000000000E+01
+-.15292000000000E+01
+-.46392000000000E+00
+0.50206000000000E+00
+-.14172000000000E+02
+-.13021000000000E+02
+-.11869000000000E+02
+-.10719000000000E+02
+-.95686000000000E+01
+-.84204000000000E+01
+-.72731000000000E+01
+-.61248000000000E+01
+-.49757000000000E+01
+-.38279000000000E+01
+-.26859000000000E+01
+-.15604000000000E+01
+-.47568000000000E+00
+0.52359000000000E+00
+-.14238000000000E+02
+-.13087000000000E+02
+-.11936000000000E+02
+-.10785000000000E+02
+-.96345000000000E+01
+-.84854000000000E+01
+-.73370000000000E+01
+-.61880000000000E+01
+-.50383000000000E+01
+-.38898000000000E+01
+-.27457000000000E+01
+-.16145000000000E+01
+-.51485000000000E+00
+0.51292000000000E+00
+-.14312000000000E+02
+-.13161000000000E+02
+-.12010000000000E+02
+-.10858000000000E+02
+-.97080000000000E+01
+-.85583000000000E+01
+-.74092000000000E+01
+-.62595000000000E+01
+-.51095000000000E+01
+-.39604000000000E+01
+-.28148000000000E+01
+-.16794000000000E+01
+-.56883000000000E+00
+0.48175000000000E+00
+-.14385000000000E+02
+-.13233000000000E+02
+-.12082000000000E+02
+-.10931000000000E+02
+-.97805000000000E+01
+-.86304000000000E+01
+-.74807000000000E+01
+-.63306000000000E+01
+-.51803000000000E+01
+-.40308000000000E+01
+-.28842000000000E+01
+-.17457000000000E+01
+-.62726000000000E+00
+0.44086000000000E+00
+-.14448000000000E+02
+-.13297000000000E+02
+-.12146000000000E+02
+-.10995000000000E+02
+-.98437000000000E+01
+-.86934000000000E+01
+-.75433000000000E+01
+-.63929000000000E+01
+-.52424000000000E+01
+-.40925000000000E+01
+-.29451000000000E+01
+-.18045000000000E+01
+-.68042000000000E+00
+0.40125000000000E+00
+-.14555000000000E+02
+-.13404000000000E+02
+-.12252000000000E+02
+-.11101000000000E+02
+-.99502000000000E+01
+-.87996000000000E+01
+-.76492000000000E+01
+-.64985000000000E+01
+-.53478000000000E+01
+-.41976000000000E+01
+-.30496000000000E+01
+-.19073000000000E+01
+-.77882000000000E+00
+0.31361000000000E+00
+-.14635000000000E+02
+-.13484000000000E+02
+-.12333000000000E+02
+-.11182000000000E+02
+-.10031000000000E+02
+-.88796000000000E+01
+-.77290000000000E+01
+-.65782000000000E+01
+-.54274000000000E+01
+-.42771000000000E+01
+-.31285000000000E+01
+-.19848000000000E+01
+-.85289000000000E+00
+0.24869000000000E+00
+-.14771000000000E+02
+-.13619000000000E+02
+-.12468000000000E+02
+-.11317000000000E+02
+-.10166000000000E+02
+-.90146000000000E+01
+-.78638000000000E+01
+-.67128000000000E+01
+-.55619000000000E+01
+-.44114000000000E+01
+-.32623000000000E+01
+-.21174000000000E+01
+-.98239000000000E+00
+0.12716000000000E+00
+-.14948000000000E+02
+-.13797000000000E+02
+-.12646000000000E+02
+-.11494000000000E+02
+-.10343000000000E+02
+-.91921000000000E+01
+-.80413000000000E+01
+-.68903000000000E+01
+-.57393000000000E+01
+-.45885000000000E+01
+-.34391000000000E+01
+-.22930000000000E+01
+-.11553000000000E+01
+-.38677000000000E-01
+-.15069000000000E+02
+-.13917000000000E+02
+-.12766000000000E+02
+-.11615000000000E+02
+-.10463000000000E+02
+-.93123000000000E+01
+-.81614000000000E+01
+-.70103000000000E+01
+-.58591000000000E+01
+-.47084000000000E+01
+-.35586000000000E+01
+-.24116000000000E+01
+-.12715000000000E+01
+-.14867000000000E+00
+-.15232000000000E+02
+-.14081000000000E+02
+-.12930000000000E+02
+-.11779000000000E+02
+-.10627000000000E+02
+-.94761000000000E+01
+-.83250000000000E+01
+-.71738000000000E+01
+-.60227000000000E+01
+-.48718000000000E+01
+-.37217000000000E+01
+-.25739000000000E+01
+-.14318000000000E+01
+-.30355000000000E+00
+-.15434000000000E+02
+-.14283000000000E+02
+-.13132000000000E+02
+-.11980000000000E+02
+-.10829000000000E+02
+-.96780000000000E+01
+-.85269000000000E+01
+-.73757000000000E+01
+-.62246000000000E+01
+-.50736000000000E+01
+-.39232000000000E+01
+-.27747000000000E+01
+-.16307000000000E+01
+-.49801000000000E+00
+-.15662000000000E+02
+-.14510000000000E+02
+-.13359000000000E+02
+-.12208000000000E+02
+-.11057000000000E+02
+-.99053000000000E+01
+-.87542000000000E+01
+-.76029000000000E+01
+-.64518000000000E+01
+-.53007000000000E+01
+-.41501000000000E+01
+-.30009000000000E+01
+-.18555000000000E+01
+-.71901000000000E+00
+-.15909000000000E+02
+-.14757000000000E+02
+-.13606000000000E+02
+-.12455000000000E+02
+-.11303000000000E+02
+-.10152000000000E+02
+-.90010000000000E+01
+-.78499000000000E+01
+-.66986000000000E+01
+-.55475000000000E+01
+-.43967000000000E+01
+-.32471000000000E+01
+-.21003000000000E+01
+-.96078000000000E+00
+-.16103000000000E+02
+-.14951000000000E+02
+-.13800000000000E+02
+-.12649000000000E+02
+-.11498000000000E+02
+-.10346000000000E+02
+-.91951000000000E+01
+-.80439000000000E+01
+-.68927000000000E+01
+-.57416000000000E+01
+-.45907000000000E+01
+-.34407000000000E+01
+-.22929000000000E+01
+-.11509000000000E+01
+-.16299000000000E+02
+-.15148000000000E+02
+-.13997000000000E+02
+-.12846000000000E+02
+-.11694000000000E+02
+-.10543000000000E+02
+-.93918000000000E+01
+-.82405000000000E+01
+-.70894000000000E+01
+-.59382000000000E+01
+-.47872000000000E+01
+-.36370000000000E+01
+-.24885000000000E+01
+-.13445000000000E+01
+-.16522000000000E+02
+-.15371000000000E+02
+-.14219000000000E+02
+-.13068000000000E+02
+-.11917000000000E+02
+-.10766000000000E+02
+-.96143000000000E+01
+-.84629000000000E+01
+-.73118000000000E+01
+-.61606000000000E+01
+-.50095000000000E+01
+-.38590000000000E+01
+-.27099000000000E+01
+-.15644000000000E+01
+-.16760000000000E+02
+-.15609000000000E+02
+-.14457000000000E+02
+-.13306000000000E+02
+-.12155000000000E+02
+-.11003000000000E+02
+-.98521000000000E+01
+-.87009000000000E+01
+-.75497000000000E+01
+-.63984000000000E+01
+-.52473000000000E+01
+-.40966000000000E+01
+-.29470000000000E+01
+-.18002000000000E+01
+-.17006000000000E+02
+-.15854000000000E+02
+-.14703000000000E+02
+-.13552000000000E+02
+-.12401000000000E+02
+-.11249000000000E+02
+-.10098000000000E+02
+-.89468000000000E+01
+-.77957000000000E+01
+-.66444000000000E+01
+-.54932000000000E+01
+-.43423000000000E+01
+-.31923000000000E+01
+-.20446000000000E+01
+-.17167000000000E+02
+-.16015000000000E+02
+-.14864000000000E+02
+-.13713000000000E+02
+-.12561000000000E+02
+-.11410000000000E+02
+-.10259000000000E+02
+-.91074000000000E+01
+-.79562000000000E+01
+-.68049000000000E+01
+-.56537000000000E+01
+-.45028000000000E+01
+-.33525000000000E+01
+-.22041000000000E+01
+-.13263000000000E+02
+-.12115000000000E+02
+-.10969000000000E+02
+-.98350000000000E+01
+-.87271000000000E+01
+-.76649000000000E+01
+-.66300000000000E+01
+-.55642000000000E+01
+-.44625000000000E+01
+-.33860000000000E+01
+-.24134000000000E+01
+-.15662000000000E+01
+-.77843000000000E+00
+-.60257000000000E-02
+-.13474000000000E+02
+-.12324000000000E+02
+-.11178000000000E+02
+-.10040000000000E+02
+-.89214000000000E+01
+-.78387000000000E+01
+-.67773000000000E+01
+-.56938000000000E+01
+-.45853000000000E+01
+-.34982000000000E+01
+-.24992000000000E+01
+-.16276000000000E+01
+-.83202000000000E+00
+-.58078000000000E-01
+-.13672000000000E+02
+-.12522000000000E+02
+-.11374000000000E+02
+-.10232000000000E+02
+-.91067000000000E+01
+-.80085000000000E+01
+-.69268000000000E+01
+-.58287000000000E+01
+-.47126000000000E+01
+-.36143000000000E+01
+-.25895000000000E+01
+-.16887000000000E+01
+-.88091000000000E+00
+-.10444000000000E+00
+-.13887000000000E+02
+-.12737000000000E+02
+-.11588000000000E+02
+-.10445000000000E+02
+-.93145000000000E+01
+-.82068000000000E+01
+-.71125000000000E+01
+-.60048000000000E+01
+-.48822000000000E+01
+-.37725000000000E+01
+-.27218000000000E+01
+-.17866000000000E+01
+-.96042000000000E+00
+-.17954000000000E+00
+-.14108000000000E+02
+-.12957000000000E+02
+-.11808000000000E+02
+-.10663000000000E+02
+-.95286000000000E+01
+-.84119000000000E+01
+-.73060000000000E+01
+-.61896000000000E+01
+-.50613000000000E+01
+-.39427000000000E+01
+-.28716000000000E+01
+-.19033000000000E+01
+-.10537000000000E+01
+-.26630000000000E+00
+-.14319000000000E+02
+-.13168000000000E+02
+-.12019000000000E+02
+-.10872000000000E+02
+-.97344000000000E+01
+-.86106000000000E+01
+-.74957000000000E+01
+-.63721000000000E+01
+-.52390000000000E+01
+-.41129000000000E+01
+-.30241000000000E+01
+-.20235000000000E+01
+-.11452000000000E+01
+-.34748000000000E+00
+-.14385000000000E+02
+-.13234000000000E+02
+-.12084000000000E+02
+-.10937000000000E+02
+-.97947000000000E+01
+-.86633000000000E+01
+-.75380000000000E+01
+-.64065000000000E+01
+-.52684000000000E+01
+-.41360000000000E+01
+-.30323000000000E+01
+-.20023000000000E+01
+-.10911000000000E+01
+-.27835000000000E+00
+-.14471000000000E+02
+-.13320000000000E+02
+-.12170000000000E+02
+-.11021000000000E+02
+-.98770000000000E+01
+-.87400000000000E+01
+-.76077000000000E+01
+-.64707000000000E+01
+-.53292000000000E+01
+-.41919000000000E+01
+-.30767000000000E+01
+-.20211000000000E+01
+-.10755000000000E+01
+-.24213000000000E+00
+-.14590000000000E+02
+-.13438000000000E+02
+-.12288000000000E+02
+-.11138000000000E+02
+-.99924000000000E+01
+-.88518000000000E+01
+-.77147000000000E+01
+-.65741000000000E+01
+-.54301000000000E+01
+-.42892000000000E+01
+-.31652000000000E+01
+-.20886000000000E+01
+-.11093000000000E+01
+-.24981000000000E+00
+-.14670000000000E+02
+-.13519000000000E+02
+-.12368000000000E+02
+-.11219000000000E+02
+-.10071000000000E+02
+-.89275000000000E+01
+-.77864000000000E+01
+-.66428000000000E+01
+-.54968000000000E+01
+-.43534000000000E+01
+-.32228000000000E+01
+-.21296000000000E+01
+-.11195000000000E+01
+-.22921000000000E+00
+-.14751000000000E+02
+-.13600000000000E+02
+-.12449000000000E+02
+-.11299000000000E+02
+-.10150000000000E+02
+-.90049000000000E+01
+-.78608000000000E+01
+-.67152000000000E+01
+-.55679000000000E+01
+-.44225000000000E+01
+-.32871000000000E+01
+-.21810000000000E+01
+-.11437000000000E+01
+-.21966000000000E+00
+-.14845000000000E+02
+-.13694000000000E+02
+-.12543000000000E+02
+-.11393000000000E+02
+-.10243000000000E+02
+-.90962000000000E+01
+-.79502000000000E+01
+-.68031000000000E+01
+-.56547000000000E+01
+-.45079000000000E+01
+-.33690000000000E+01
+-.22529000000000E+01
+-.11927000000000E+01
+-.23402000000000E+00
+-.14906000000000E+02
+-.13754000000000E+02
+-.12603000000000E+02
+-.11453000000000E+02
+-.10303000000000E+02
+-.91543000000000E+01
+-.80068000000000E+01
+-.68586000000000E+01
+-.57096000000000E+01
+-.45619000000000E+01
+-.34203000000000E+01
+-.22968000000000E+01
+-.12178000000000E+01
+-.22609000000000E+00
+-.14990000000000E+02
+-.13839000000000E+02
+-.12688000000000E+02
+-.11537000000000E+02
+-.10386000000000E+02
+-.92375000000000E+01
+-.80891000000000E+01
+-.69401000000000E+01
+-.57904000000000E+01
+-.46420000000000E+01
+-.34984000000000E+01
+-.23691000000000E+01
+-.12752000000000E+01
+-.25396000000000E+00
+-.15068000000000E+02
+-.13917000000000E+02
+-.12766000000000E+02
+-.11615000000000E+02
+-.10464000000000E+02
+-.93147000000000E+01
+-.81655000000000E+01
+-.70159000000000E+01
+-.58658000000000E+01
+-.47168000000000E+01
+-.35717000000000E+01
+-.24382000000000E+01
+-.13328000000000E+01
+-.28705000000000E+00
+-.15145000000000E+02
+-.13994000000000E+02
+-.12842000000000E+02
+-.11691000000000E+02
+-.10541000000000E+02
+-.93904000000000E+01
+-.82407000000000E+01
+-.70907000000000E+01
+-.59404000000000E+01
+-.47910000000000E+01
+-.36448000000000E+01
+-.25079000000000E+01
+-.13940000000000E+01
+-.32898000000000E+00
+-.15220000000000E+02
+-.14069000000000E+02
+-.12918000000000E+02
+-.11767000000000E+02
+-.10616000000000E+02
+-.94656000000000E+01
+-.83152000000000E+01
+-.71650000000000E+01
+-.60145000000000E+01
+-.48646000000000E+01
+-.37176000000000E+01
+-.25784000000000E+01
+-.14580000000000E+01
+-.37836000000000E+00
+-.15284000000000E+02
+-.14133000000000E+02
+-.12981000000000E+02
+-.11830000000000E+02
+-.10679000000000E+02
+-.95286000000000E+01
+-.83779000000000E+01
+-.72274000000000E+01
+-.60768000000000E+01
+-.49266000000000E+01
+-.37790000000000E+01
+-.26379000000000E+01
+-.15127000000000E+01
+-.42195000000000E+00
+-.15390000000000E+02
+-.14238000000000E+02
+-.13087000000000E+02
+-.11936000000000E+02
+-.10785000000000E+02
+-.96340000000000E+01
+-.84832000000000E+01
+-.73325000000000E+01
+-.61816000000000E+01
+-.50314000000000E+01
+-.38831000000000E+01
+-.27404000000000E+01
+-.16112000000000E+01
+-.51161000000000E+00
+-.15470000000000E+02
+-.14319000000000E+02
+-.13168000000000E+02
+-.12017000000000E+02
+-.10865000000000E+02
+-.97146000000000E+01
+-.85637000000000E+01
+-.74128000000000E+01
+-.62620000000000E+01
+-.51115000000000E+01
+-.39628000000000E+01
+-.28187000000000E+01
+-.16864000000000E+01
+-.57933000000000E+00
+-.15603000000000E+02
+-.14452000000000E+02
+-.13300000000000E+02
+-.12149000000000E+02
+-.10998000000000E+02
+-.98467000000000E+01
+-.86958000000000E+01
+-.75448000000000E+01
+-.63938000000000E+01
+-.52433000000000E+01
+-.40940000000000E+01
+-.29488000000000E+01
+-.18135000000000E+01
+-.69989000000000E+00
+-.15778000000000E+02
+-.14626000000000E+02
+-.13475000000000E+02
+-.12324000000000E+02
+-.11173000000000E+02
+-.10022000000000E+02
+-.88706000000000E+01
+-.77196000000000E+01
+-.65685000000000E+01
+-.54177000000000E+01
+-.42681000000000E+01
+-.31217000000000E+01
+-.19836000000000E+01
+-.86414000000000E+00
+-.15896000000000E+02
+-.14745000000000E+02
+-.13594000000000E+02
+-.12443000000000E+02
+-.11292000000000E+02
+-.10140000000000E+02
+-.89890000000000E+01
+-.78380000000000E+01
+-.66869000000000E+01
+-.55361000000000E+01
+-.43861000000000E+01
+-.32389000000000E+01
+-.20986000000000E+01
+-.97400000000000E+00
+-.16053000000000E+02
+-.14902000000000E+02
+-.13751000000000E+02
+-.12600000000000E+02
+-.11448000000000E+02
+-.10297000000000E+02
+-.91460000000000E+01
+-.79950000000000E+01
+-.68437000000000E+01
+-.56929000000000E+01
+-.45426000000000E+01
+-.33947000000000E+01
+-.22524000000000E+01
+-.11232000000000E+01
+-.16249000000000E+02
+-.15098000000000E+02
+-.13947000000000E+02
+-.12795000000000E+02
+-.11644000000000E+02
+-.10493000000000E+02
+-.93416000000000E+01
+-.81904000000000E+01
+-.70392000000000E+01
+-.58882000000000E+01
+-.47377000000000E+01
+-.35890000000000E+01
+-.24450000000000E+01
+-.13118000000000E+01
+-.16472000000000E+02
+-.15321000000000E+02
+-.14169000000000E+02
+-.13018000000000E+02
+-.11867000000000E+02
+-.10716000000000E+02
+-.95642000000000E+01
+-.84131000000000E+01
+-.72620000000000E+01
+-.61108000000000E+01
+-.49602000000000E+01
+-.38109000000000E+01
+-.26653000000000E+01
+-.15287000000000E+01
+-.16714000000000E+02
+-.15563000000000E+02
+-.14411000000000E+02
+-.13260000000000E+02
+-.12109000000000E+02
+-.10958000000000E+02
+-.98062000000000E+01
+-.86550000000000E+01
+-.75038000000000E+01
+-.63527000000000E+01
+-.52019000000000E+01
+-.40521000000000E+01
+-.29053000000000E+01
+-.17657000000000E+01
+-.16904000000000E+02
+-.15752000000000E+02
+-.14601000000000E+02
+-.13450000000000E+02
+-.12299000000000E+02
+-.11147000000000E+02
+-.99961000000000E+01
+-.88447000000000E+01
+-.76936000000000E+01
+-.65425000000000E+01
+-.53915000000000E+01
+-.42415000000000E+01
+-.30937000000000E+01
+-.19518000000000E+01
+-.17093000000000E+02
+-.15942000000000E+02
+-.14791000000000E+02
+-.13640000000000E+02
+-.12488000000000E+02
+-.11337000000000E+02
+-.10186000000000E+02
+-.90344000000000E+01
+-.78833000000000E+01
+-.67322000000000E+01
+-.55812000000000E+01
+-.44308000000000E+01
+-.32823000000000E+01
+-.21385000000000E+01
+-.17308000000000E+02
+-.16157000000000E+02
+-.15006000000000E+02
+-.13854000000000E+02
+-.12703000000000E+02
+-.11552000000000E+02
+-.10400000000000E+02
+-.92490000000000E+01
+-.80979000000000E+01
+-.69467000000000E+01
+-.57957000000000E+01
+-.46450000000000E+01
+-.34960000000000E+01
+-.23507000000000E+01
+-.17537000000000E+02
+-.16386000000000E+02
+-.15234000000000E+02
+-.14083000000000E+02
+-.12932000000000E+02
+-.11781000000000E+02
+-.10629000000000E+02
+-.94780000000000E+01
+-.83267000000000E+01
+-.71757000000000E+01
+-.60245000000000E+01
+-.48738000000000E+01
+-.37242000000000E+01
+-.25776000000000E+01
+-.17772000000000E+02
+-.16621000000000E+02
+-.15470000000000E+02
+-.14319000000000E+02
+-.13167000000000E+02
+-.12016000000000E+02
+-.10865000000000E+02
+-.97136000000000E+01
+-.85625000000000E+01
+-.74113000000000E+01
+-.62601000000000E+01
+-.51093000000000E+01
+-.39593000000000E+01
+-.28117000000000E+01
+-.14180000000000E+02
+-.13031000000000E+02
+-.11886000000000E+02
+-.10750000000000E+02
+-.96382000000000E+01
+-.85686000000000E+01
+-.75226000000000E+01
+-.64480000000000E+01
+-.53422000000000E+01
+-.42642000000000E+01
+-.32912000000000E+01
+-.24438000000000E+01
+-.16560000000000E+01
+-.88351000000000E+00
+-.14380000000000E+02
+-.13231000000000E+02
+-.12083000000000E+02
+-.10944000000000E+02
+-.98228000000000E+01
+-.87334000000000E+01
+-.76630000000000E+01
+-.65723000000000E+01
+-.54603000000000E+01
+-.43721000000000E+01
+-.33726000000000E+01
+-.25009000000000E+01
+-.17051000000000E+01
+-.93103000000000E+00
+-.14567000000000E+02
+-.13417000000000E+02
+-.12269000000000E+02
+-.11127000000000E+02
+-.99983000000000E+01
+-.88945000000000E+01
+-.78052000000000E+01
+-.67012000000000E+01
+-.55824000000000E+01
+-.44830000000000E+01
+-.34578000000000E+01
+-.25567000000000E+01
+-.17487000000000E+01
+-.97205000000000E+00
+-.14773000000000E+02
+-.13623000000000E+02
+-.12474000000000E+02
+-.11330000000000E+02
+-.10197000000000E+02
+-.90842000000000E+01
+-.79836000000000E+01
+-.68711000000000E+01
+-.57462000000000E+01
+-.46355000000000E+01
+-.35844000000000E+01
+-.26488000000000E+01
+-.18223000000000E+01
+-.10410000000000E+01
+-.14984000000000E+02
+-.13833000000000E+02
+-.12684000000000E+02
+-.11538000000000E+02
+-.10402000000000E+02
+-.92810000000000E+01
+-.81697000000000E+01
+-.70491000000000E+01
+-.59188000000000E+01
+-.47994000000000E+01
+-.37278000000000E+01
+-.27590000000000E+01
+-.19089000000000E+01
+-.11209000000000E+01
+-.15185000000000E+02
+-.14034000000000E+02
+-.12885000000000E+02
+-.11738000000000E+02
+-.10598000000000E+02
+-.94709000000000E+01
+-.83511000000000E+01
+-.72241000000000E+01
+-.60894000000000E+01
+-.49626000000000E+01
+-.38732000000000E+01
+-.28719000000000E+01
+-.19926000000000E+01
+-.11940000000000E+01
+-.15378000000000E+02
+-.14227000000000E+02
+-.13077000000000E+02
+-.11929000000000E+02
+-.10787000000000E+02
+-.96550000000000E+01
+-.85286000000000E+01
+-.73966000000000E+01
+-.62582000000000E+01
+-.51254000000000E+01
+-.40211000000000E+01
+-.29899000000000E+01
+-.20772000000000E+01
+-.12631000000000E+01
+-.15545000000000E+02
+-.14394000000000E+02
+-.13244000000000E+02
+-.12095000000000E+02
+-.10951000000000E+02
+-.98147000000000E+01
+-.86829000000000E+01
+-.75464000000000E+01
+-.64050000000000E+01
+-.52675000000000E+01
+-.41515000000000E+01
+-.30941000000000E+01
+-.21460000000000E+01
+-.13104000000000E+01
+-.15580000000000E+02
+-.14429000000000E+02
+-.13279000000000E+02
+-.12129000000000E+02
+-.10983000000000E+02
+-.98420000000000E+01
+-.87046000000000E+01
+-.75637000000000E+01
+-.64194000000000E+01
+-.52782000000000E+01
+-.41530000000000E+01
+-.30739000000000E+01
+-.20911000000000E+01
+-.12286000000000E+01
+-.15665000000000E+02
+-.14514000000000E+02
+-.13364000000000E+02
+-.12214000000000E+02
+-.11066000000000E+02
+-.99224000000000E+01
+-.87810000000000E+01
+-.76373000000000E+01
+-.64912000000000E+01
+-.53472000000000E+01
+-.42152000000000E+01
+-.31188000000000E+01
+-.21041000000000E+01
+-.12104000000000E+01
+-.15776000000000E+02
+-.14625000000000E+02
+-.13474000000000E+02
+-.12323000000000E+02
+-.11175000000000E+02
+-.10029000000000E+02
+-.88853000000000E+01
+-.77397000000000E+01
+-.65922000000000E+01
+-.54463000000000E+01
+-.43093000000000E+01
+-.31997000000000E+01
+-.21575000000000E+01
+-.12309000000000E+01
+-.15850000000000E+02
+-.14699000000000E+02
+-.13548000000000E+02
+-.12397000000000E+02
+-.11248000000000E+02
+-.10101000000000E+02
+-.89548000000000E+01
+-.78075000000000E+01
+-.66589000000000E+01
+-.55117000000000E+01
+-.43712000000000E+01
+-.32520000000000E+01
+-.21879000000000E+01
+-.12294000000000E+01
+-.15950000000000E+02
+-.14799000000000E+02
+-.13648000000000E+02
+-.12497000000000E+02
+-.11347000000000E+02
+-.10198000000000E+02
+-.90510000000000E+01
+-.79027000000000E+01
+-.67534000000000E+01
+-.56052000000000E+01
+-.44624000000000E+01
+-.33364000000000E+01
+-.22554000000000E+01
+-.12684000000000E+01
+-.16092000000000E+02
+-.14941000000000E+02
+-.13790000000000E+02
+-.12639000000000E+02
+-.11489000000000E+02
+-.10340000000000E+02
+-.91914000000000E+01
+-.80422000000000E+01
+-.68926000000000E+01
+-.57438000000000E+01
+-.45992000000000E+01
+-.34683000000000E+01
+-.23745000000000E+01
+-.13622000000000E+01
+-.16226000000000E+02
+-.15075000000000E+02
+-.13924000000000E+02
+-.12773000000000E+02
+-.11622000000000E+02
+-.10473000000000E+02
+-.93235000000000E+01
+-.81738000000000E+01
+-.70238000000000E+01
+-.58745000000000E+01
+-.47288000000000E+01
+-.35942000000000E+01
+-.24906000000000E+01
+-.14568000000000E+01
+-.16349000000000E+02
+-.15198000000000E+02
+-.14047000000000E+02
+-.12896000000000E+02
+-.11745000000000E+02
+-.10595000000000E+02
+-.94448000000000E+01
+-.82947000000000E+01
+-.71444000000000E+01
+-.59948000000000E+01
+-.48481000000000E+01
+-.37109000000000E+01
+-.25995000000000E+01
+-.15474000000000E+01
+-.16457000000000E+02
+-.15305000000000E+02
+-.14154000000000E+02
+-.13003000000000E+02
+-.11852000000000E+02
+-.10702000000000E+02
+-.95515000000000E+01
+-.84011000000000E+01
+-.72506000000000E+01
+-.61007000000000E+01
+-.49534000000000E+01
+-.38139000000000E+01
+-.26964000000000E+01
+-.16288000000000E+01
+-.16563000000000E+02
+-.15412000000000E+02
+-.14261000000000E+02
+-.13110000000000E+02
+-.11959000000000E+02
+-.10808000000000E+02
+-.96575000000000E+01
+-.85068000000000E+01
+-.73562000000000E+01
+-.62061000000000E+01
+-.50581000000000E+01
+-.39168000000000E+01
+-.27940000000000E+01
+-.17137000000000E+01
+-.16647000000000E+02
+-.15496000000000E+02
+-.14345000000000E+02
+-.13194000000000E+02
+-.12043000000000E+02
+-.10892000000000E+02
+-.97410000000000E+01
+-.85903000000000E+01
+-.74395000000000E+01
+-.62892000000000E+01
+-.51406000000000E+01
+-.39979000000000E+01
+-.28710000000000E+01
+-.17805000000000E+01
+-.16736000000000E+02
+-.15585000000000E+02
+-.14434000000000E+02
+-.13282000000000E+02
+-.12131000000000E+02
+-.10980000000000E+02
+-.98293000000000E+01
+-.86785000000000E+01
+-.75277000000000E+01
+-.63772000000000E+01
+-.52283000000000E+01
+-.40842000000000E+01
+-.29537000000000E+01
+-.18548000000000E+01
+-.16849000000000E+02
+-.15698000000000E+02
+-.14546000000000E+02
+-.13395000000000E+02
+-.12244000000000E+02
+-.11093000000000E+02
+-.99417000000000E+01
+-.87905000000000E+01
+-.76396000000000E+01
+-.64890000000000E+01
+-.53397000000000E+01
+-.41945000000000E+01
+-.30607000000000E+01
+-.19542000000000E+01
+-.16938000000000E+02
+-.15788000000000E+02
+-.14636000000000E+02
+-.13485000000000E+02
+-.12334000000000E+02
+-.11183000000000E+02
+-.10031000000000E+02
+-.88804000000000E+01
+-.77294000000000E+01
+-.65787000000000E+01
+-.54291000000000E+01
+-.42828000000000E+01
+-.31465000000000E+01
+-.20337000000000E+01
+-.17082000000000E+02
+-.15931000000000E+02
+-.14780000000000E+02
+-.13628000000000E+02
+-.12477000000000E+02
+-.11326000000000E+02
+-.10175000000000E+02
+-.90237000000000E+01
+-.78726000000000E+01
+-.67217000000000E+01
+-.55718000000000E+01
+-.44247000000000E+01
+-.32856000000000E+01
+-.21667000000000E+01
+-.17243000000000E+02
+-.16092000000000E+02
+-.14941000000000E+02
+-.13790000000000E+02
+-.12638000000000E+02
+-.11487000000000E+02
+-.10336000000000E+02
+-.91848000000000E+01
+-.80337000000000E+01
+-.68827000000000E+01
+-.57325000000000E+01
+-.45846000000000E+01
+-.34432000000000E+01
+-.23188000000000E+01
+-.17355000000000E+02
+-.16204000000000E+02
+-.15053000000000E+02
+-.13901000000000E+02
+-.12750000000000E+02
+-.11599000000000E+02
+-.10448000000000E+02
+-.92964000000000E+01
+-.81453000000000E+01
+-.69944000000000E+01
+-.58440000000000E+01
+-.46954000000000E+01
+-.35524000000000E+01
+-.24238000000000E+01
+-.17517000000000E+02
+-.16366000000000E+02
+-.15215000000000E+02
+-.14063000000000E+02
+-.12912000000000E+02
+-.11761000000000E+02
+-.10610000000000E+02
+-.94585000000000E+01
+-.83074000000000E+01
+-.71562000000000E+01
+-.60057000000000E+01
+-.48566000000000E+01
+-.37120000000000E+01
+-.25792000000000E+01
+-.17713000000000E+02
+-.16562000000000E+02
+-.15411000000000E+02
+-.14260000000000E+02
+-.13108000000000E+02
+-.11957000000000E+02
+-.10806000000000E+02
+-.96545000000000E+01
+-.85034000000000E+01
+-.73523000000000E+01
+-.62015000000000E+01
+-.50520000000000E+01
+-.39060000000000E+01
+-.27695000000000E+01
+-.17933000000000E+02
+-.16782000000000E+02
+-.15631000000000E+02
+-.14479000000000E+02
+-.13328000000000E+02
+-.12177000000000E+02
+-.11025000000000E+02
+-.98743000000000E+01
+-.87229000000000E+01
+-.75719000000000E+01
+-.64210000000000E+01
+-.52710000000000E+01
+-.41238000000000E+01
+-.29843000000000E+01
+-.18168000000000E+02
+-.17017000000000E+02
+-.15866000000000E+02
+-.14715000000000E+02
+-.13563000000000E+02
+-.12412000000000E+02
+-.11261000000000E+02
+-.10110000000000E+02
+-.89585000000000E+01
+-.78073000000000E+01
+-.66562000000000E+01
+-.55060000000000E+01
+-.43578000000000E+01
+-.32158000000000E+01
+-.18326000000000E+02
+-.17174000000000E+02
+-.16023000000000E+02
+-.14872000000000E+02
+-.13721000000000E+02
+-.12570000000000E+02
+-.11418000000000E+02
+-.10267000000000E+02
+-.91157000000000E+01
+-.79646000000000E+01
+-.68135000000000E+01
+-.56631000000000E+01
+-.45143000000000E+01
+-.33705000000000E+01
+-.18420000000000E+02
+-.17358000000000E+02
+-.16207000000000E+02
+-.15055000000000E+02
+-.13904000000000E+02
+-.12753000000000E+02
+-.11602000000000E+02
+-.10450000000000E+02
+-.92991000000000E+01
+-.81479000000000E+01
+-.69968000000000E+01
+-.58462000000000E+01
+-.46969000000000E+01
+-.35516000000000E+01
+-.18420000000000E+02
+-.17561000000000E+02
+-.16409000000000E+02
+-.15258000000000E+02
+-.14107000000000E+02
+-.12956000000000E+02
+-.11804000000000E+02
+-.10653000000000E+02
+-.95017000000000E+01
+-.83506000000000E+01
+-.71995000000000E+01
+-.60487000000000E+01
+-.48990000000000E+01
+-.37525000000000E+01
+-.15936000000000E+02
+-.14786000000000E+02
+-.13640000000000E+02
+-.12501000000000E+02
+-.11383000000000E+02
+-.10298000000000E+02
+-.92307000000000E+01
+-.81396000000000E+01
+-.70264000000000E+01
+-.59459000000000E+01
+-.49723000000000E+01
+-.41249000000000E+01
+-.33370000000000E+01
+-.25645000000000E+01
+-.16122000000000E+02
+-.14972000000000E+02
+-.13824000000000E+02
+-.12682000000000E+02
+-.11554000000000E+02
+-.10453000000000E+02
+-.93647000000000E+01
+-.82607000000000E+01
+-.71427000000000E+01
+-.60524000000000E+01
+-.50524000000000E+01
+-.41804000000000E+01
+-.33846000000000E+01
+-.26105000000000E+01
+-.16295000000000E+02
+-.15145000000000E+02
+-.13996000000000E+02
+-.12851000000000E+02
+-.11718000000000E+02
+-.10604000000000E+02
+-.95000000000000E+01
+-.83853000000000E+01
+-.72616000000000E+01
+-.61604000000000E+01
+-.51348000000000E+01
+-.42334000000000E+01
+-.34254000000000E+01
+-.26486000000000E+01
+-.16488000000000E+02
+-.15337000000000E+02
+-.14188000000000E+02
+-.13042000000000E+02
+-.11905000000000E+02
+-.10783000000000E+02
+-.96707000000000E+01
+-.85491000000000E+01
+-.74202000000000E+01
+-.63080000000000E+01
+-.52565000000000E+01
+-.43207000000000E+01
+-.34940000000000E+01
+-.27126000000000E+01
+-.16685000000000E+02
+-.15534000000000E+02
+-.14384000000000E+02
+-.13237000000000E+02
+-.12097000000000E+02
+-.10969000000000E+02
+-.98469000000000E+01
+-.87187000000000E+01
+-.75851000000000E+01
+-.64645000000000E+01
+-.53923000000000E+01
+-.44232000000000E+01
+-.35729000000000E+01
+-.27845000000000E+01
+-.16869000000000E+02
+-.15718000000000E+02
+-.14568000000000E+02
+-.13420000000000E+02
+-.12277000000000E+02
+-.11144000000000E+02
+-.10015000000000E+02
+-.88821000000000E+01
+-.77445000000000E+01
+-.66166000000000E+01
+-.55267000000000E+01
+-.45250000000000E+01
+-.36453000000000E+01
+-.28462000000000E+01
+-.17042000000000E+02
+-.15891000000000E+02
+-.14740000000000E+02
+-.13592000000000E+02
+-.12447000000000E+02
+-.11310000000000E+02
+-.10176000000000E+02
+-.90386000000000E+01
+-.78978000000000E+01
+-.67642000000000E+01
+-.56595000000000E+01
+-.46278000000000E+01
+-.37145000000000E+01
+-.28993000000000E+01
+-.17204000000000E+02
+-.16053000000000E+02
+-.14903000000000E+02
+-.13753000000000E+02
+-.12607000000000E+02
+-.11467000000000E+02
+-.10329000000000E+02
+-.91887000000000E+01
+-.80452000000000E+01
+-.69071000000000E+01
+-.57906000000000E+01
+-.47327000000000E+01
+-.37834000000000E+01
+-.29462000000000E+01
+-.17358000000000E+02
+-.16207000000000E+02
+-.15056000000000E+02
+-.13906000000000E+02
+-.12759000000000E+02
+-.11616000000000E+02
+-.10476000000000E+02
+-.93328000000000E+01
+-.81875000000000E+01
+-.70459000000000E+01
+-.59203000000000E+01
+-.48402000000000E+01
+-.38555000000000E+01
+-.29901000000000E+01
+-.17506000000000E+02
+-.16354000000000E+02
+-.15204000000000E+02
+-.14054000000000E+02
+-.12906000000000E+02
+-.11761000000000E+02
+-.10618000000000E+02
+-.94731000000000E+01
+-.83264000000000E+01
+-.71821000000000E+01
+-.60496000000000E+01
+-.49518000000000E+01
+-.39340000000000E+01
+-.30355000000000E+01
+-.17651000000000E+02
+-.16500000000000E+02
+-.15349000000000E+02
+-.14198000000000E+02
+-.13050000000000E+02
+-.11904000000000E+02
+-.10759000000000E+02
+-.96125000000000E+01
+-.84646000000000E+01
+-.73185000000000E+01
+-.61808000000000E+01
+-.50691000000000E+01
+-.40220000000000E+01
+-.30876000000000E+01
+-.17797000000000E+02
+-.16646000000000E+02
+-.15495000000000E+02
+-.14345000000000E+02
+-.13195000000000E+02
+-.12048000000000E+02
+-.10902000000000E+02
+-.97544000000000E+01
+-.86057000000000E+01
+-.74580000000000E+01
+-.63165000000000E+01
+-.51942000000000E+01
+-.41228000000000E+01
+-.31520000000000E+01
+-.17806000000000E+02
+-.16654000000000E+02
+-.15503000000000E+02
+-.14353000000000E+02
+-.13202000000000E+02
+-.12054000000000E+02
+-.10906000000000E+02
+-.97576000000000E+01
+-.86082000000000E+01
+-.74595000000000E+01
+-.63152000000000E+01
+-.51849000000000E+01
+-.40939000000000E+01
+-.30892000000000E+01
+-.17888000000000E+02
+-.16737000000000E+02
+-.15586000000000E+02
+-.14435000000000E+02
+-.13285000000000E+02
+-.12135000000000E+02
+-.10987000000000E+02
+-.98374000000000E+01
+-.86873000000000E+01
+-.75380000000000E+01
+-.63917000000000E+01
+-.52559000000000E+01
+-.41495000000000E+01
+-.31148000000000E+01
+-.18016000000000E+02
+-.16865000000000E+02
+-.15714000000000E+02
+-.14563000000000E+02
+-.13412000000000E+02
+-.12262000000000E+02
+-.11113000000000E+02
+-.99631000000000E+01
+-.88130000000000E+01
+-.76631000000000E+01
+-.65155000000000E+01
+-.53754000000000E+01
+-.42578000000000E+01
+-.31981000000000E+01
+-.18124000000000E+02
+-.16972000000000E+02
+-.15821000000000E+02
+-.14670000000000E+02
+-.13519000000000E+02
+-.12369000000000E+02
+-.11219000000000E+02
+-.10069000000000E+02
+-.89182000000000E+01
+-.77679000000000E+01
+-.66194000000000E+01
+-.54766000000000E+01
+-.43508000000000E+01
+-.32717000000000E+01
+-.18265000000000E+02
+-.17113000000000E+02
+-.15962000000000E+02
+-.14811000000000E+02
+-.13660000000000E+02
+-.12510000000000E+02
+-.11359000000000E+02
+-.10209000000000E+02
+-.90581000000000E+01
+-.79077000000000E+01
+-.67585000000000E+01
+-.56138000000000E+01
+-.44824000000000E+01
+-.33890000000000E+01
+-.18420000000000E+02
+-.17311000000000E+02
+-.16160000000000E+02
+-.15009000000000E+02
+-.13857000000000E+02
+-.12707000000000E+02
+-.11556000000000E+02
+-.10406000000000E+02
+-.92546000000000E+01
+-.81040000000000E+01
+-.69543000000000E+01
+-.58083000000000E+01
+-.46733000000000E+01
+-.35698000000000E+01
+-.18420000000000E+02
+-.17557000000000E+02
+-.16406000000000E+02
+-.15255000000000E+02
+-.14104000000000E+02
+-.12953000000000E+02
+-.11802000000000E+02
+-.10651000000000E+02
+-.95002000000000E+01
+-.83496000000000E+01
+-.71997000000000E+01
+-.60529000000000E+01
+-.49153000000000E+01
+-.38049000000000E+01
+-.18420000000000E+02
+-.17835000000000E+02
+-.16684000000000E+02
+-.15533000000000E+02
+-.14382000000000E+02
+-.13231000000000E+02
+-.12080000000000E+02
+-.10929000000000E+02
+-.97778000000000E+01
+-.86270000000000E+01
+-.74769000000000E+01
+-.63296000000000E+01
+-.51903000000000E+01
+-.40751000000000E+01
+-.18420000000000E+02
+-.18136000000000E+02
+-.16984000000000E+02
+-.15833000000000E+02
+-.14682000000000E+02
+-.13531000000000E+02
+-.12380000000000E+02
+-.11229000000000E+02
+-.10078000000000E+02
+-.89268000000000E+01
+-.77766000000000E+01
+-.66287000000000E+01
+-.54882000000000E+01
+-.43690000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17309000000000E+02
+-.16158000000000E+02
+-.15007000000000E+02
+-.13856000000000E+02
+-.12705000000000E+02
+-.11553000000000E+02
+-.10402000000000E+02
+-.92515000000000E+01
+-.81011000000000E+01
+-.69528000000000E+01
+-.58108000000000E+01
+-.46875000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17602000000000E+02
+-.16451000000000E+02
+-.15300000000000E+02
+-.14149000000000E+02
+-.12998000000000E+02
+-.11846000000000E+02
+-.10695000000000E+02
+-.95442000000000E+01
+-.83936000000000E+01
+-.72449000000000E+01
+-.61014000000000E+01
+-.49740000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17849000000000E+02
+-.16697000000000E+02
+-.15546000000000E+02
+-.14395000000000E+02
+-.13244000000000E+02
+-.12093000000000E+02
+-.10941000000000E+02
+-.97903000000000E+01
+-.86396000000000E+01
+-.74906000000000E+01
+-.63458000000000E+01
+-.52145000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18079000000000E+02
+-.16927000000000E+02
+-.15776000000000E+02
+-.14625000000000E+02
+-.13474000000000E+02
+-.12323000000000E+02
+-.11171000000000E+02
+-.10020000000000E+02
+-.88694000000000E+01
+-.77198000000000E+01
+-.65739000000000E+01
+-.54387000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18232000000000E+02
+-.17081000000000E+02
+-.15930000000000E+02
+-.14778000000000E+02
+-.13627000000000E+02
+-.12476000000000E+02
+-.11325000000000E+02
+-.10173000000000E+02
+-.90227000000000E+01
+-.78728000000000E+01
+-.67258000000000E+01
+-.55879000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18404000000000E+02
+-.17253000000000E+02
+-.16102000000000E+02
+-.14951000000000E+02
+-.13800000000000E+02
+-.12648000000000E+02
+-.11497000000000E+02
+-.10346000000000E+02
+-.91948000000000E+01
+-.80447000000000E+01
+-.68970000000000E+01
+-.57563000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17433000000000E+02
+-.16282000000000E+02
+-.15131000000000E+02
+-.13979000000000E+02
+-.12828000000000E+02
+-.11677000000000E+02
+-.10525000000000E+02
+-.93745000000000E+01
+-.82241000000000E+01
+-.70756000000000E+01
+-.59327000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17530000000000E+02
+-.16379000000000E+02
+-.15228000000000E+02
+-.14077000000000E+02
+-.12925000000000E+02
+-.11774000000000E+02
+-.10623000000000E+02
+-.94719000000000E+01
+-.83213000000000E+01
+-.71722000000000E+01
+-.60280000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17669000000000E+02
+-.16518000000000E+02
+-.15366000000000E+02
+-.14215000000000E+02
+-.13064000000000E+02
+-.11913000000000E+02
+-.10761000000000E+02
+-.96101000000000E+01
+-.84595000000000E+01
+-.73101000000000E+01
+-.61644000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17834000000000E+02
+-.16683000000000E+02
+-.15532000000000E+02
+-.14380000000000E+02
+-.13229000000000E+02
+-.12078000000000E+02
+-.10927000000000E+02
+-.97756000000000E+01
+-.86248000000000E+01
+-.74749000000000E+01
+-.63280000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18017000000000E+02
+-.16866000000000E+02
+-.15715000000000E+02
+-.14563000000000E+02
+-.13412000000000E+02
+-.12261000000000E+02
+-.11110000000000E+02
+-.99583000000000E+01
+-.88074000000000E+01
+-.76573000000000E+01
+-.65095000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17675000000000E+02
+-.16534000000000E+02
+-.15410000000000E+02
+-.14312000000000E+02
+-.13228000000000E+02
+-.12124000000000E+02
+-.11004000000000E+02
+-.99219000000000E+01
+-.89480000000000E+01
+-.81003000000000E+01
+-.73125000000000E+01
+-.65400000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17849000000000E+02
+-.16705000000000E+02
+-.15572000000000E+02
+-.14460000000000E+02
+-.13358000000000E+02
+-.12243000000000E+02
+-.11120000000000E+02
+-.10028000000000E+02
+-.90281000000000E+01
+-.81560000000000E+01
+-.73602000000000E+01
+-.65861000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18012000000000E+02
+-.16866000000000E+02
+-.15728000000000E+02
+-.14605000000000E+02
+-.13490000000000E+02
+-.12366000000000E+02
+-.11239000000000E+02
+-.10136000000000E+02
+-.91104000000000E+01
+-.82090000000000E+01
+-.74011000000000E+01
+-.66243000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18197000000000E+02
+-.17050000000000E+02
+-.15910000000000E+02
+-.14781000000000E+02
+-.13658000000000E+02
+-.12530000000000E+02
+-.11397000000000E+02
+-.10284000000000E+02
+-.92322000000000E+01
+-.82964000000000E+01
+-.74697000000000E+01
+-.66884000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18389000000000E+02
+-.17240000000000E+02
+-.16097000000000E+02
+-.14962000000000E+02
+-.13833000000000E+02
+-.12699000000000E+02
+-.11562000000000E+02
+-.10441000000000E+02
+-.93684000000000E+01
+-.83992000000000E+01
+-.75487000000000E+01
+-.67604000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17419000000000E+02
+-.16273000000000E+02
+-.15135000000000E+02
+-.14000000000000E+02
+-.12862000000000E+02
+-.11722000000000E+02
+-.10593000000000E+02
+-.95029000000000E+01
+-.85012000000000E+01
+-.76215000000000E+01
+-.68223000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17587000000000E+02
+-.16440000000000E+02
+-.15298000000000E+02
+-.14159000000000E+02
+-.13018000000000E+02
+-.11875000000000E+02
+-.10741000000000E+02
+-.96357000000000E+01
+-.86040000000000E+01
+-.76907000000000E+01
+-.68755000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17745000000000E+02
+-.16597000000000E+02
+-.15453000000000E+02
+-.14311000000000E+02
+-.13167000000000E+02
+-.12022000000000E+02
+-.10884000000000E+02
+-.97668000000000E+01
+-.87087000000000E+01
+-.77596000000000E+01
+-.69224000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17895000000000E+02
+-.16746000000000E+02
+-.15600000000000E+02
+-.14456000000000E+02
+-.13310000000000E+02
+-.12163000000000E+02
+-.11021000000000E+02
+-.98955000000000E+01
+-.88154000000000E+01
+-.78307000000000E+01
+-.69652000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18036000000000E+02
+-.16887000000000E+02
+-.15740000000000E+02
+-.14594000000000E+02
+-.13447000000000E+02
+-.12299000000000E+02
+-.11154000000000E+02
+-.10021000000000E+02
+-.89236000000000E+01
+-.79056000000000E+01
+-.70070000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18170000000000E+02
+-.17021000000000E+02
+-.15873000000000E+02
+-.14725000000000E+02
+-.13577000000000E+02
+-.12429000000000E+02
+-.11282000000000E+02
+-.10144000000000E+02
+-.90325000000000E+01
+-.79854000000000E+01
+-.70505000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18299000000000E+02
+-.17148000000000E+02
+-.16000000000000E+02
+-.14852000000000E+02
+-.13703000000000E+02
+-.12553000000000E+02
+-.11406000000000E+02
+-.10264000000000E+02
+-.91416000000000E+01
+-.80698000000000E+01
+-.70986000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17272000000000E+02
+-.16123000000000E+02
+-.14974000000000E+02
+-.13824000000000E+02
+-.12675000000000E+02
+-.11526000000000E+02
+-.10381000000000E+02
+-.92507000000000E+01
+-.81592000000000E+01
+-.71532000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17416000000000E+02
+-.16266000000000E+02
+-.15117000000000E+02
+-.13967000000000E+02
+-.12817000000000E+02
+-.11667000000000E+02
+-.10521000000000E+02
+-.93848000000000E+01
+-.82776000000000E+01
+-.72404000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17565000000000E+02
+-.16415000000000E+02
+-.15265000000000E+02
+-.14115000000000E+02
+-.12965000000000E+02
+-.11815000000000E+02
+-.10667000000000E+02
+-.95264000000000E+01
+-.84072000000000E+01
+-.73436000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17708000000000E+02
+-.16558000000000E+02
+-.15408000000000E+02
+-.14258000000000E+02
+-.13107000000000E+02
+-.11956000000000E+02
+-.10808000000000E+02
+-.96641000000000E+01
+-.85361000000000E+01
+-.74507000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17844000000000E+02
+-.16693000000000E+02
+-.15543000000000E+02
+-.14393000000000E+02
+-.13242000000000E+02
+-.12091000000000E+02
+-.10942000000000E+02
+-.97959000000000E+01
+-.86614000000000E+01
+-.75590000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17829000000000E+02
+-.16678000000000E+02
+-.15527000000000E+02
+-.14376000000000E+02
+-.13225000000000E+02
+-.12074000000000E+02
+-.10925000000000E+02
+-.97771000000000E+01
+-.86377000000000E+01
+-.75223000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17869000000000E+02
+-.16718000000000E+02
+-.15567000000000E+02
+-.14416000000000E+02
+-.13265000000000E+02
+-.12114000000000E+02
+-.10964000000000E+02
+-.98154000000000E+01
+-.86726000000000E+01
+-.75474000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17951000000000E+02
+-.16800000000000E+02
+-.15649000000000E+02
+-.14498000000000E+02
+-.13347000000000E+02
+-.12196000000000E+02
+-.11045000000000E+02
+-.98958000000000E+01
+-.87505000000000E+01
+-.76180000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18035000000000E+02
+-.16883000000000E+02
+-.15732000000000E+02
+-.14581000000000E+02
+-.13430000000000E+02
+-.12279000000000E+02
+-.11128000000000E+02
+-.99783000000000E+01
+-.88313000000000E+01
+-.76936000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18121000000000E+02
+-.16969000000000E+02
+-.15818000000000E+02
+-.14667000000000E+02
+-.13516000000000E+02
+-.12365000000000E+02
+-.11214000000000E+02
+-.10063000000000E+02
+-.89153000000000E+01
+-.77736000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18254000000000E+02
+-.17103000000000E+02
+-.15952000000000E+02
+-.14800000000000E+02
+-.13649000000000E+02
+-.12498000000000E+02
+-.11347000000000E+02
+-.10196000000000E+02
+-.90471000000000E+01
+-.79030000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17284000000000E+02
+-.16132000000000E+02
+-.14981000000000E+02
+-.13830000000000E+02
+-.12679000000000E+02
+-.11528000000000E+02
+-.10377000000000E+02
+-.92271000000000E+01
+-.80808000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17456000000000E+02
+-.16305000000000E+02
+-.15154000000000E+02
+-.14002000000000E+02
+-.12851000000000E+02
+-.11700000000000E+02
+-.10549000000000E+02
+-.93989000000000E+01
+-.82512000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17616000000000E+02
+-.16464000000000E+02
+-.15313000000000E+02
+-.14162000000000E+02
+-.13011000000000E+02
+-.11860000000000E+02
+-.10709000000000E+02
+-.95581000000000E+01
+-.84097000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17782000000000E+02
+-.16630000000000E+02
+-.15479000000000E+02
+-.14328000000000E+02
+-.13177000000000E+02
+-.12026000000000E+02
+-.10875000000000E+02
+-.97239000000000E+01
+-.85745000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17914000000000E+02
+-.16763000000000E+02
+-.15612000000000E+02
+-.14460000000000E+02
+-.13309000000000E+02
+-.12158000000000E+02
+-.11007000000000E+02
+-.98562000000000E+01
+-.87063000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18021000000000E+02
+-.16870000000000E+02
+-.15718000000000E+02
+-.14567000000000E+02
+-.13416000000000E+02
+-.12264000000000E+02
+-.11113000000000E+02
+-.99624000000000E+01
+-.88123000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18136000000000E+02
+-.16984000000000E+02
+-.15833000000000E+02
+-.14682000000000E+02
+-.13531000000000E+02
+-.12379000000000E+02
+-.11228000000000E+02
+-.10077000000000E+02
+-.89270000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18200000000000E+02
+-.17049000000000E+02
+-.15898000000000E+02
+-.14747000000000E+02
+-.13595000000000E+02
+-.12444000000000E+02
+-.11293000000000E+02
+-.10142000000000E+02
+-.89912000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18300000000000E+02
+-.17149000000000E+02
+-.15998000000000E+02
+-.14846000000000E+02
+-.13695000000000E+02
+-.12544000000000E+02
+-.11393000000000E+02
+-.10241000000000E+02
+-.90908000000000E+01
+-.16605000000000E+01
+-.88622000000000E+00
+-.13190000000000E+00
+0.63718000000000E+00
+0.14739000000000E+01
+0.23741000000000E+01
+0.33187000000000E+01
+0.43324000000000E+01
+0.53945000000000E+01
+0.64025000000000E+01
+0.71998000000000E+01
+0.76918000000000E+01
+0.78240000000000E+01
+0.78276000000000E+01
+-.22471000000000E+01
+-.14846000000000E+01
+-.77081000000000E+00
+-.56736000000000E-01
+0.72917000000000E+00
+0.15987000000000E+01
+0.25371000000000E+01
+0.35554000000000E+01
+0.46300000000000E+01
+0.56864000000000E+01
+0.66180000000000E+01
+0.73160000000000E+01
+0.75752000000000E+01
+0.75891000000000E+01
+-.28325000000000E+01
+-.20588000000000E+01
+-.13499000000000E+01
+-.65022000000000E+00
+0.11374000000000E+00
+0.95769000000000E+00
+0.18757000000000E+01
+0.28799000000000E+01
+0.39501000000000E+01
+0.50244000000000E+01
+0.60200000000000E+01
+0.68375000000000E+01
+0.72521000000000E+01
+0.72952000000000E+01
+-.34197000000000E+01
+-.26208000000000E+01
+-.18982000000000E+01
+-.11970000000000E+01
+-.44852000000000E+00
+0.35979000000000E+00
+0.12304000000000E+01
+0.21895000000000E+01
+0.32312000000000E+01
+0.43037000000000E+01
+0.53325000000000E+01
+0.62231000000000E+01
+0.67988000000000E+01
+0.69053000000000E+01
+-.40109000000000E+01
+-.31798000000000E+01
+-.24327000000000E+01
+-.17205000000000E+01
+-.98109000000000E+00
+-.20680000000000E+00
+0.60927000000000E+00
+0.15061000000000E+01
+0.24965000000000E+01
+0.35447000000000E+01
+0.45828000000000E+01
+0.55195000000000E+01
+0.62246000000000E+01
+0.64414000000000E+01
+-.45764000000000E+01
+-.37145000000000E+01
+-.29406000000000E+01
+-.22117000000000E+01
+-.14741000000000E+01
+-.72646000000000E+00
+0.39620000000000E-01
+0.86960000000000E+00
+0.17902000000000E+01
+0.27884000000000E+01
+0.38134000000000E+01
+0.47781000000000E+01
+0.55730000000000E+01
+0.59503000000000E+01
+-.51508000000000E+01
+-.42622000000000E+01
+-.34646000000000E+01
+-.27208000000000E+01
+-.19814000000000E+01
+-.12501000000000E+01
+-.52165000000000E+00
+0.24723000000000E+00
+0.10893000000000E+01
+0.20142000000000E+01
+0.29976000000000E+01
+0.39669000000000E+01
+0.48185000000000E+01
+0.53661000000000E+01
+-.57742000000000E+01
+-.48549000000000E+01
+-.40256000000000E+01
+-.32586000000000E+01
+-.25096000000000E+01
+-.17843000000000E+01
+-.10814000000000E+01
+-.36281000000000E+00
+0.40382000000000E+00
+0.12432000000000E+01
+0.21592000000000E+01
+0.31062000000000E+01
+0.39885000000000E+01
+0.46702000000000E+01
+-.64559000000000E+01
+-.55039000000000E+01
+-.46378000000000E+01
+-.38396000000000E+01
+-.30710000000000E+01
+-.23370000000000E+01
+-.16416000000000E+01
+-.95540000000000E+00
+-.24756000000000E+00
+0.51651000000000E+00
+0.13613000000000E+01
+0.22685000000000E+01
+0.31591000000000E+01
+0.39224000000000E+01
+-.72107000000000E+01
+-.62284000000000E+01
+-.53262000000000E+01
+-.44951000000000E+01
+-.37009000000000E+01
+-.29454000000000E+01
+-.22390000000000E+01
+-.15603000000000E+01
+-.87939000000000E+00
+-.15852000000000E+00
+0.63466000000000E+00
+0.15009000000000E+01
+0.23846000000000E+01
+0.31893000000000E+01
+-.80034000000000E+01
+-.69915000000000E+01
+-.60509000000000E+01
+-.51810000000000E+01
+-.43552000000000E+01
+-.35713000000000E+01
+-.28419000000000E+01
+-.21508000000000E+01
+-.14691000000000E+01
+-.76024000000000E+00
+0.58420000000000E-02
+0.83893000000000E+00
+0.17078000000000E+01
+0.25329000000000E+01
+-.88042000000000E+01
+-.77650000000000E+01
+-.67874000000000E+01
+-.58768000000000E+01
+-.50156000000000E+01
+-.41979000000000E+01
+-.34351000000000E+01
+-.27141000000000E+01
+-.20093000000000E+01
+-.12899000000000E+01
+-.53098000000000E+00
+0.28088000000000E+00
+0.11342000000000E+01
+0.19696000000000E+01
+-.95952000000000E+01
+-.85337000000000E+01
+-.75244000000000E+01
+-.65771000000000E+01
+-.56810000000000E+01
+-.48270000000000E+01
+-.40231000000000E+01
+-.32593000000000E+01
+-.25148000000000E+01
+-.17666000000000E+01
+-.99713000000000E+00
+-.19272000000000E+00
+0.64906000000000E+00
+0.14887000000000E+01
+-.10339000000000E+02
+-.92585000000000E+01
+-.82212000000000E+01
+-.72388000000000E+01
+-.63062000000000E+01
+-.54124000000000E+01
+-.45632000000000E+01
+-.37548000000000E+01
+-.29706000000000E+01
+-.21938000000000E+01
+-.14113000000000E+01
+-.61037000000000E+00
+0.21816000000000E+00
+0.10510000000000E+01
+-.11025000000000E+02
+-.99294000000000E+01
+-.88689000000000E+01
+-.78553000000000E+01
+-.68888000000000E+01
+-.59587000000000E+01
+-.50687000000000E+01
+-.42200000000000E+01
+-.33986000000000E+01
+-.25897000000000E+01
+-.17865000000000E+01
+-.98219000000000E+00
+-.16651000000000E+00
+0.65048000000000E+00
+-.11632000000000E+02
+-.10526000000000E+02
+-.94490000000000E+01
+-.84128000000000E+01
+-.74210000000000E+01
+-.64629000000000E+01
+-.55385000000000E+01
+-.46517000000000E+01
+-.37925000000000E+01
+-.29503000000000E+01
+-.21254000000000E+01
+-.13162000000000E+01
+-.51347000000000E+00
+0.28193000000000E+00
+-.12166000000000E+02
+-.11051000000000E+02
+-.99617000000000E+01
+-.89077000000000E+01
+-.78947000000000E+01
+-.69147000000000E+01
+-.59636000000000E+01
+-.50454000000000E+01
+-.41545000000000E+01
+-.32858000000000E+01
+-.24419000000000E+01
+-.16261000000000E+01
+-.83307000000000E+00
+-.57822000000000E-01
+-.12671000000000E+02
+-.11550000000000E+02
+-.10449000000000E+02
+-.93792000000000E+01
+-.83464000000000E+01
+-.73464000000000E+01
+-.63722000000000E+01
+-.54264000000000E+01
+-.45073000000000E+01
+-.36132000000000E+01
+-.27485000000000E+01
+-.19216000000000E+01
+-.11331000000000E+01
+-.37550000000000E+00
+-.13150000000000E+02
+-.12023000000000E+02
+-.10912000000000E+02
+-.98276000000000E+01
+-.87764000000000E+01
+-.77571000000000E+01
+-.67617000000000E+01
+-.57919000000000E+01
+-.48484000000000E+01
+-.39318000000000E+01
+-.30496000000000E+01
+-.22130000000000E+01
+-.14275000000000E+01
+-.68761000000000E+00
+-.13623000000000E+02
+-.12491000000000E+02
+-.11373000000000E+02
+-.10275000000000E+02
+-.92070000000000E+01
+-.81692000000000E+01
+-.71553000000000E+01
+-.61655000000000E+01
+-.52030000000000E+01
+-.42679000000000E+01
+-.33692000000000E+01
+-.25231000000000E+01
+-.17401000000000E+01
+-.10210000000000E+01
+-.14122000000000E+02
+-.12986000000000E+02
+-.11861000000000E+02
+-.10753000000000E+02
+-.96707000000000E+01
+-.86174000000000E+01
+-.75895000000000E+01
+-.65852000000000E+01
+-.56071000000000E+01
+-.46552000000000E+01
+-.37404000000000E+01
+-.28854000000000E+01
+-.21088000000000E+01
+-.14155000000000E+01
+-.14670000000000E+02
+-.13531000000000E+02
+-.12400000000000E+02
+-.11284000000000E+02
+-.10189000000000E+02
+-.91208000000000E+01
+-.80798000000000E+01
+-.70631000000000E+01
+-.60717000000000E+01
+-.51056000000000E+01
+-.41763000000000E+01
+-.33099000000000E+01
+-.25342000000000E+01
+-.18617000000000E+01
+-.15284000000000E+02
+-.14143000000000E+02
+-.13008000000000E+02
+-.11884000000000E+02
+-.10779000000000E+02
+-.96978000000000E+01
+-.86436000000000E+01
+-.76143000000000E+01
+-.66097000000000E+01
+-.56306000000000E+01
+-.46871000000000E+01
+-.38055000000000E+01
+-.30214000000000E+01
+-.23573000000000E+01
+-.15945000000000E+02
+-.14802000000000E+02
+-.13664000000000E+02
+-.12535000000000E+02
+-.11420000000000E+02
+-.10327000000000E+02
+-.92603000000000E+01
+-.82187000000000E+01
+-.72029000000000E+01
+-.62134000000000E+01
+-.52582000000000E+01
+-.43619000000000E+01
+-.35625000000000E+01
+-.28900000000000E+01
+-.16638000000000E+02
+-.15493000000000E+02
+-.14352000000000E+02
+-.13219000000000E+02
+-.12097000000000E+02
+-.10994000000000E+02
+-.99143000000000E+01
+-.88599000000000E+01
+-.78323000000000E+01
+-.68323000000000E+01
+-.58650000000000E+01
+-.49523000000000E+01
+-.41317000000000E+01
+-.34378000000000E+01
+-.17333000000000E+02
+-.16187000000000E+02
+-.15045000000000E+02
+-.13909000000000E+02
+-.12783000000000E+02
+-.11673000000000E+02
+-.10584000000000E+02
+-.95190000000000E+01
+-.84797000000000E+01
+-.74681000000000E+01
+-.64879000000000E+01
+-.55573000000000E+01
+-.47136000000000E+01
+-.39927000000000E+01
+-.17993000000000E+02
+-.16846000000000E+02
+-.15702000000000E+02
+-.14564000000000E+02
+-.13434000000000E+02
+-.12318000000000E+02
+-.11222000000000E+02
+-.10148000000000E+02
+-.90974000000000E+01
+-.80740000000000E+01
+-.70819000000000E+01
+-.61360000000000E+01
+-.52699000000000E+01
+-.45214000000000E+01
+-.18420000000000E+02
+-.17447000000000E+02
+-.16302000000000E+02
+-.15162000000000E+02
+-.14029000000000E+02
+-.12908000000000E+02
+-.11805000000000E+02
+-.10722000000000E+02
+-.96614000000000E+01
+-.86257000000000E+01
+-.76212000000000E+01
+-.66589000000000E+01
+-.57683000000000E+01
+-.49890000000000E+01
+-.18420000000000E+02
+-.17967000000000E+02
+-.16821000000000E+02
+-.15679000000000E+02
+-.14543000000000E+02
+-.13418000000000E+02
+-.12308000000000E+02
+-.11218000000000E+02
+-.10147000000000E+02
+-.90991000000000E+01
+-.80813000000000E+01
+-.71039000000000E+01
+-.61914000000000E+01
+-.53804000000000E+01
+-.18420000000000E+02
+-.18409000000000E+02
+-.17262000000000E+02
+-.16119000000000E+02
+-.14980000000000E+02
+-.13851000000000E+02
+-.12735000000000E+02
+-.11637000000000E+02
+-.10557000000000E+02
+-.94980000000000E+01
+-.84666000000000E+01
+-.74735000000000E+01
+-.65399000000000E+01
+-.56995000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17634000000000E+02
+-.16489000000000E+02
+-.15349000000000E+02
+-.14216000000000E+02
+-.13095000000000E+02
+-.11990000000000E+02
+-.10903000000000E+02
+-.98359000000000E+01
+-.87937000000000E+01
+-.77859000000000E+01
+-.68329000000000E+01
+-.59667000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17955000000000E+02
+-.16809000000000E+02
+-.15667000000000E+02
+-.14531000000000E+02
+-.13405000000000E+02
+-.12294000000000E+02
+-.11201000000000E+02
+-.10127000000000E+02
+-.90762000000000E+01
+-.80552000000000E+01
+-.70837000000000E+01
+-.61937000000000E+01
+0.82329000000000E+01
+0.87041000000000E+01
+0.92195000000000E+01
+0.96541000000000E+01
+0.10005000000000E+02
+0.10270000000000E+02
+0.10765000000000E+02
+0.10758000000000E+02
+0.10689000000000E+02
+0.11055000000000E+02
+0.11007000000000E+02
+0.10821000000000E+02
+0.11082000000000E+02
+0.11279000000000E+02
+0.66826000000000E+01
+0.78170000000000E+01
+0.87141000000000E+01
+0.93245000000000E+01
+0.96741000000000E+01
+0.10337000000000E+02
+0.10487000000000E+02
+0.10640000000000E+02
+0.10575000000000E+02
+0.10909000000000E+02
+0.10795000000000E+02
+0.10344000000000E+02
+0.10548000000000E+02
+0.10746000000000E+02
+0.52358000000000E+01
+0.64879000000000E+01
+0.76406000000000E+01
+0.92642000000000E+01
+0.99587000000000E+01
+0.10314000000000E+02
+0.10490000000000E+02
+0.10485000000000E+02
+0.10427000000000E+02
+0.10668000000000E+02
+0.10581000000000E+02
+0.99734000000000E+01
+0.10046000000000E+02
+0.10246000000000E+02
+0.41168000000000E+01
+0.54841000000000E+01
+0.72866000000000E+01
+0.85403000000000E+01
+0.94717000000000E+01
+0.99280000000000E+01
+0.10093000000000E+02
+0.10177000000000E+02
+0.10213000000000E+02
+0.10277000000000E+02
+0.10262000000000E+02
+0.97024000000000E+01
+0.95959000000000E+01
+0.97954000000000E+01
+0.34390000000000E+01
+0.47344000000000E+01
+0.65468000000000E+01
+0.78414000000000E+01
+0.88923000000000E+01
+0.94104000000000E+01
+0.95964000000000E+01
+0.96790000000000E+01
+0.97837000000000E+01
+0.98403000000000E+01
+0.98982000000000E+01
+0.95034000000000E+01
+0.92571000000000E+01
+0.94526000000000E+01
+0.29150000000000E+01
+0.39286000000000E+01
+0.50415000000000E+01
+0.72131000000000E+01
+0.82644000000000E+01
+0.88784000000000E+01
+0.91309000000000E+01
+0.92493000000000E+01
+0.93564000000000E+01
+0.94680000000000E+01
+0.95923000000000E+01
+0.93628000000000E+01
+0.90767000000000E+01
+0.92544000000000E+01
+0.24839000000000E+01
+0.33400000000000E+01
+0.41403000000000E+01
+0.53425000000000E+01
+0.75771000000000E+01
+0.83193000000000E+01
+0.86956000000000E+01
+0.89033000000000E+01
+0.90627000000000E+01
+0.91880000000000E+01
+0.93850000000000E+01
+0.92937000000000E+01
+0.90417000000000E+01
+0.92046000000000E+01
+0.19572000000000E+01
+0.29386000000000E+01
+0.38452000000000E+01
+0.49943000000000E+01
+0.67124000000000E+01
+0.76711000000000E+01
+0.82266000000000E+01
+0.85457000000000E+01
+0.87827000000000E+01
+0.89695000000000E+01
+0.92559000000000E+01
+0.93074000000000E+01
+0.91279000000000E+01
+0.92725000000000E+01
+0.12265000000000E+01
+0.22694000000000E+01
+0.33314000000000E+01
+0.43131000000000E+01
+0.54657000000000E+01
+0.69475000000000E+01
+0.76732000000000E+01
+0.81641000000000E+01
+0.85166000000000E+01
+0.87893000000000E+01
+0.91641000000000E+01
+0.93562000000000E+01
+0.92661000000000E+01
+0.93894000000000E+01
+0.48929000000000E+00
+0.15291000000000E+01
+0.26371000000000E+01
+0.37098000000000E+01
+0.49253000000000E+01
+0.60244000000000E+01
+0.70674000000000E+01
+0.77462000000000E+01
+0.82410000000000E+01
+0.86082000000000E+01
+0.90825000000000E+01
+0.94092000000000E+01
+0.94390000000000E+01
+0.95295000000000E+01
+-.21815000000000E+00
+0.86110000000000E+00
+0.20236000000000E+01
+0.30576000000000E+01
+0.42595000000000E+01
+0.53944000000000E+01
+0.64181000000000E+01
+0.72561000000000E+01
+0.79083000000000E+01
+0.84136000000000E+01
+0.88228000000000E+01
+0.94456000000000E+01
+0.96118000000000E+01
+0.96885000000000E+01
+-.93744000000000E+00
+0.11635000000000E+00
+0.12655000000000E+01
+0.25287000000000E+01
+0.36440000000000E+01
+0.48113000000000E+01
+0.58527000000000E+01
+0.67843000000000E+01
+0.75806000000000E+01
+0.82158000000000E+01
+0.87451000000000E+01
+0.94871000000000E+01
+0.97954000000000E+01
+0.98958000000000E+01
+-.12915000000000E+01
+-.33388000000000E+00
+0.72850000000000E+00
+0.19128000000000E+01
+0.31865000000000E+01
+0.43945000000000E+01
+0.54258000000000E+01
+0.63911000000000E+01
+0.72672000000000E+01
+0.80330000000000E+01
+0.86836000000000E+01
+0.95193000000000E+01
+0.99578000000000E+01
+0.10113000000000E+02
+-.17696000000000E+01
+-.69203000000000E+00
+0.32519000000000E+00
+0.14988000000000E+01
+0.27243000000000E+01
+0.39648000000000E+01
+0.51134000000000E+01
+0.60874000000000E+01
+0.70023000000000E+01
+0.78518000000000E+01
+0.85996000000000E+01
+0.95032000000000E+01
+0.10051000000000E+02
+0.10284000000000E+02
+-.20520000000000E+01
+-.10742000000000E+01
+0.43238000000000E-02
+0.11821000000000E+01
+0.24022000000000E+01
+0.35925000000000E+01
+0.48101000000000E+01
+0.58445000000000E+01
+0.67800000000000E+01
+0.76686000000000E+01
+0.85203000000000E+01
+0.94404000000000E+01
+0.10080000000000E+02
+0.10406000000000E+02
+-.23376000000000E+01
+-.13503000000000E+01
+-.31283000000000E+00
+0.86122000000000E+00
+0.19884000000000E+01
+0.32462000000000E+01
+0.44425000000000E+01
+0.55457000000000E+01
+0.65563000000000E+01
+0.74910000000000E+01
+0.83826000000000E+01
+0.92761000000000E+01
+0.10053000000000E+02
+0.10479000000000E+02
+-.26317000000000E+01
+-.16302000000000E+01
+-.59505000000000E+00
+0.54951000000000E+00
+0.16748000000000E+01
+0.28992000000000E+01
+0.40830000000000E+01
+0.52076000000000E+01
+0.62806000000000E+01
+0.72832000000000E+01
+0.82234000000000E+01
+0.91511000000000E+01
+0.99912000000000E+01
+0.10508000000000E+02
+-.29283000000000E+01
+-.19129000000000E+01
+-.87799000000000E+00
+0.24328000000000E+00
+0.13659000000000E+01
+0.25641000000000E+01
+0.37352000000000E+01
+0.48699000000000E+01
+0.59768000000000E+01
+0.70336000000000E+01
+0.80339000000000E+01
+0.89988000000000E+01
+0.98799000000000E+01
+0.10491000000000E+02
+-.32261000000000E+01
+-.22000000000000E+01
+-.11644000000000E+01
+-.61447000000000E-01
+0.10569000000000E+01
+0.22354000000000E+01
+0.33978000000000E+01
+0.45366000000000E+01
+0.56593000000000E+01
+0.67511000000000E+01
+0.78015000000000E+01
+0.88103000000000E+01
+0.97339000000000E+01
+0.10427000000000E+02
+-.35264000000000E+01
+-.24925000000000E+01
+-.14563000000000E+01
+-.36823000000000E+00
+0.74425000000000E+00
+0.19083000000000E+01
+0.30643000000000E+01
+0.42056000000000E+01
+0.53369000000000E+01
+0.64490000000000E+01
+0.75341000000000E+01
+0.85842000000000E+01
+0.95540000000000E+01
+0.10323000000000E+02
+-.38292000000000E+01
+-.27889000000000E+01
+-.17523000000000E+01
+-.67674000000000E+00
+0.42847000000000E+00
+0.15809000000000E+01
+0.27322000000000E+01
+0.38749000000000E+01
+0.50117000000000E+01
+0.61362000000000E+01
+0.72433000000000E+01
+0.83254000000000E+01
+0.93396000000000E+01
+0.10180000000000E+02
+-.40967000000000E+01
+-.30510000000000E+01
+-.20134000000000E+01
+-.94731000000000E+00
+0.15088000000000E+00
+0.12933000000000E+01
+0.24406000000000E+01
+0.35844000000000E+01
+0.47250000000000E+01
+0.58585000000000E+01
+0.69771000000000E+01
+0.80840000000000E+01
+0.91375000000000E+01
+0.10048000000000E+02
+-.43389000000000E+01
+-.32881000000000E+01
+-.22493000000000E+01
+-.11905000000000E+01
+-.99228000000000E-01
+0.10345000000000E+01
+0.21785000000000E+01
+0.33229000000000E+01
+0.44663000000000E+01
+0.56055000000000E+01
+0.67347000000000E+01
+0.78568000000000E+01
+0.89426000000000E+01
+0.99058000000000E+01
+-.45991000000000E+01
+-.35424000000000E+01
+-.25020000000000E+01
+-.14496000000000E+01
+-.36652000000000E+00
+0.75870000000000E+00
+0.18994000000000E+01
+0.30439000000000E+01
+0.41888000000000E+01
+0.53314000000000E+01
+0.64674000000000E+01
+0.75986000000000E+01
+0.87039000000000E+01
+0.97151000000000E+01
+-.48751000000000E+01
+-.38119000000000E+01
+-.27686000000000E+01
+-.17215000000000E+01
+-.64731000000000E+00
+0.46891000000000E+00
+0.16057000000000E+01
+0.27497000000000E+01
+0.38956000000000E+01
+0.50404000000000E+01
+0.61808000000000E+01
+0.73184000000000E+01
+0.84375000000000E+01
+0.94866000000000E+01
+-.51637000000000E+01
+-.40934000000000E+01
+-.30458000000000E+01
+-.20021000000000E+01
+-.93697000000000E+00
+0.16940000000000E+00
+0.13015000000000E+01
+0.24442000000000E+01
+0.35906000000000E+01
+0.47368000000000E+01
+0.58801000000000E+01
+0.70220000000000E+01
+0.81511000000000E+01
+0.92285000000000E+01
+-.54623000000000E+01
+-.43846000000000E+01
+-.33316000000000E+01
+-.22891000000000E+01
+-.12323000000000E+01
+-.13660000000000E+00
+0.98953000000000E+00
+0.21304000000000E+01
+0.32766000000000E+01
+0.44237000000000E+01
+0.55691000000000E+01
+0.67139000000000E+01
+0.78500000000000E+01
+0.89480000000000E+01
+-.57681000000000E+01
+-.46832000000000E+01
+-.36237000000000E+01
+-.25803000000000E+01
+-.15303000000000E+01
+-.44576000000000E+00
+0.67308000000000E+00
+0.18111000000000E+01
+0.29567000000000E+01
+0.41042000000000E+01
+0.52511000000000E+01
+0.63979000000000E+01
+0.75388000000000E+01
+0.86521000000000E+01
+-.60802000000000E+01
+-.49883000000000E+01
+-.39215000000000E+01
+-.28752000000000E+01
+-.18301000000000E+01
+-.75656000000000E+00
+0.35358000000000E+00
+0.14877000000000E+01
+0.26321000000000E+01
+0.37798000000000E+01
+0.49275000000000E+01
+0.60757000000000E+01
+0.72198000000000E+01
+0.83440000000000E+01
+-.63979000000000E+01
+-.52992000000000E+01
+-.42250000000000E+01
+-.31740000000000E+01
+-.21314000000000E+01
+-.10681000000000E+01
+0.32085000000000E-01
+0.11610000000000E+01
+0.23036000000000E+01
+0.34510000000000E+01
+0.45992000000000E+01
+0.57483000000000E+01
+0.68948000000000E+01
+0.80269000000000E+01
+-.67198000000000E+01
+-.56151000000000E+01
+-.45334000000000E+01
+-.34764000000000E+01
+-.24340000000000E+01
+-.13793000000000E+01
+-.29005000000000E+00
+0.83221000000000E+00
+0.19722000000000E+01
+0.31190000000000E+01
+0.42675000000000E+01
+0.54171000000000E+01
+0.65651000000000E+01
+0.77026000000000E+01
+-.70039000000000E+01
+-.58937000000000E+01
+-.48058000000000E+01
+-.37430000000000E+01
+-.26987000000000E+01
+-.16500000000000E+01
+-.57047000000000E+00
+0.54482000000000E+00
+0.16818000000000E+01
+0.28276000000000E+01
+0.39763000000000E+01
+0.51261000000000E+01
+0.62750000000000E+01
+0.74166000000000E+01
+0.80183000000000E+01
+0.80398000000000E+01
+0.80603000000000E+01
+0.80999000000000E+01
+0.81133000000000E+01
+0.81255000000000E+01
+0.81306000000000E+01
+0.81465000000000E+01
+0.81455000000000E+01
+0.81377000000000E+01
+0.84958000000000E+01
+0.87151000000000E+01
+0.93865000000000E+01
+0.97244000000000E+01
+0.79341000000000E+01
+0.79696000000000E+01
+0.80005000000000E+01
+0.80312000000000E+01
+0.80901000000000E+01
+0.81062000000000E+01
+0.81323000000000E+01
+0.81382000000000E+01
+0.81682000000000E+01
+0.81360000000000E+01
+0.86460000000000E+01
+0.86868000000000E+01
+0.93545000000000E+01
+0.96882000000000E+01
+0.77899000000000E+01
+0.78591000000000E+01
+0.79146000000000E+01
+0.79590000000000E+01
+0.80154000000000E+01
+0.80842000000000E+01
+0.81062000000000E+01
+0.81541000000000E+01
+0.81572000000000E+01
+0.81516000000000E+01
+0.88228000000000E+01
+0.86636000000000E+01
+0.93083000000000E+01
+0.96365000000000E+01
+0.75210000000000E+01
+0.76653000000000E+01
+0.77751000000000E+01
+0.78571000000000E+01
+0.79208000000000E+01
+0.80125000000000E+01
+0.80889000000000E+01
+0.81770000000000E+01
+0.81899000000000E+01
+0.81853000000000E+01
+0.89824000000000E+01
+0.86594000000000E+01
+0.92405000000000E+01
+0.95605000000000E+01
+0.69821000000000E+01
+0.73030000000000E+01
+0.75298000000000E+01
+0.76906000000000E+01
+0.78082000000000E+01
+0.78966000000000E+01
+0.80330000000000E+01
+0.81106000000000E+01
+0.82295000000000E+01
+0.82334000000000E+01
+0.90881000000000E+01
+0.86809000000000E+01
+0.91421000000000E+01
+0.94509000000000E+01
+0.58337000000000E+01
+0.65105000000000E+01
+0.70692000000000E+01
+0.74016000000000E+01
+0.76254000000000E+01
+0.77843000000000E+01
+0.79012000000000E+01
+0.80818000000000E+01
+0.81526000000000E+01
+0.82852000000000E+01
+0.91145000000000E+01
+0.87195000000000E+01
+0.90002000000000E+01
+0.93003000000000E+01
+0.41765000000000E+01
+0.52355000000000E+01
+0.61530000000000E+01
+0.68909000000000E+01
+0.73159000000000E+01
+0.76016000000000E+01
+0.78007000000000E+01
+0.80588000000000E+01
+0.81494000000000E+01
+0.83210000000000E+01
+0.90591000000000E+01
+0.87471000000000E+01
+0.88518000000000E+01
+0.91162000000000E+01
+0.26322000000000E+01
+0.38174000000000E+01
+0.48248000000000E+01
+0.58298000000000E+01
+0.68096000000000E+01
+0.74567000000000E+01
+0.77794000000000E+01
+0.78579000000000E+01
+0.81321000000000E+01
+0.82158000000000E+01
+0.89509000000000E+01
+0.87349000000000E+01
+0.87227000000000E+01
+0.89385000000000E+01
+0.12853000000000E+01
+0.25042000000000E+01
+0.35876000000000E+01
+0.47450000000000E+01
+0.57908000000000E+01
+0.66770000000000E+01
+0.77861000000000E+01
+0.81672000000000E+01
+0.83762000000000E+01
+0.81938000000000E+01
+0.88237000000000E+01
+0.86870000000000E+01
+0.86250000000000E+01
+0.87896000000000E+01
+0.30902000000000E+00
+0.14916000000000E+01
+0.25807000000000E+01
+0.36612000000000E+01
+0.48328000000000E+01
+0.58984000000000E+01
+0.72751000000000E+01
+0.78839000000000E+01
+0.82305000000000E+01
+0.85842000000000E+01
+0.86929000000000E+01
+0.86208000000000E+01
+0.85579000000000E+01
+0.86833000000000E+01
+-.22738000000000E+00
+0.78183000000000E+00
+0.17647000000000E+01
+0.28109000000000E+01
+0.40131000000000E+01
+0.50291000000000E+01
+0.62175000000000E+01
+0.73666000000000E+01
+0.79147000000000E+01
+0.83779000000000E+01
+0.85486000000000E+01
+0.85454000000000E+01
+0.85161000000000E+01
+0.86194000000000E+01
+-.74518000000000E+00
+0.31135000000000E+00
+0.12581000000000E+01
+0.21984000000000E+01
+0.31801000000000E+01
+0.43153000000000E+01
+0.54209000000000E+01
+0.66742000000000E+01
+0.74388000000000E+01
+0.80254000000000E+01
+0.83689000000000E+01
+0.84524000000000E+01
+0.84807000000000E+01
+0.85874000000000E+01
+-.15631000000000E+01
+-.41999000000000E+00
+0.65567000000000E+00
+0.16840000000000E+01
+0.26658000000000E+01
+0.37197000000000E+01
+0.47844000000000E+01
+0.58170000000000E+01
+0.68596000000000E+01
+0.76454000000000E+01
+0.81257000000000E+01
+0.83301000000000E+01
+0.84395000000000E+01
+0.85747000000000E+01
+-.22975000000000E+01
+-.11931000000000E+01
+-.90471000000000E-01
+0.10095000000000E+01
+0.20900000000000E+01
+0.31799000000000E+01
+0.42262000000000E+01
+0.52445000000000E+01
+0.62661000000000E+01
+0.71526000000000E+01
+0.78162000000000E+01
+0.81685000000000E+01
+0.83855000000000E+01
+0.85762000000000E+01
+-.29675000000000E+01
+-.18760000000000E+01
+-.78297000000000E+00
+0.32513000000000E+00
+0.14406000000000E+01
+0.25815000000000E+01
+0.36777000000000E+01
+0.47189000000000E+01
+0.57091000000000E+01
+0.66748000000000E+01
+0.74449000000000E+01
+0.79647000000000E+01
+0.83083000000000E+01
+0.85759000000000E+01
+-.35662000000000E+01
+-.24804000000000E+01
+-.13927000000000E+01
+-.29095000000000E+00
+0.82950000000000E+00
+0.19820000000000E+01
+0.31107000000000E+01
+0.41989000000000E+01
+0.52334000000000E+01
+0.62241000000000E+01
+0.70718000000000E+01
+0.77277000000000E+01
+0.81965000000000E+01
+0.85540000000000E+01
+-.41104000000000E+01
+-.30146000000000E+01
+-.19295000000000E+01
+-.83447000000000E+00
+0.28400000000000E+00
+0.14347000000000E+01
+0.25728000000000E+01
+0.36879000000000E+01
+0.47675000000000E+01
+0.58013000000000E+01
+0.67118000000000E+01
+0.74681000000000E+01
+0.80605000000000E+01
+0.85107000000000E+01
+-.46102000000000E+01
+-.34977000000000E+01
+-.24066000000000E+01
+-.13158000000000E+01
+-.20223000000000E+00
+0.94296000000000E+00
+0.20828000000000E+01
+0.32093000000000E+01
+0.43160000000000E+01
+0.53909000000000E+01
+0.63628000000000E+01
+0.72041000000000E+01
+0.79028000000000E+01
+0.84531000000000E+01
+-.50737000000000E+01
+-.39462000000000E+01
+-.28428000000000E+01
+-.17511000000000E+01
+-.64281000000000E+00
+0.49548000000000E+00
+0.16342000000000E+01
+0.27662000000000E+01
+0.38874000000000E+01
+0.49893000000000E+01
+0.60148000000000E+01
+0.69314000000000E+01
+0.77208000000000E+01
+0.83618000000000E+01
+-.55052000000000E+01
+-.43678000000000E+01
+-.32510000000000E+01
+-.21530000000000E+01
+-.10481000000000E+01
+0.82834000000000E-01
+0.12192000000000E+01
+0.23537000000000E+01
+0.34832000000000E+01
+0.46019000000000E+01
+0.56654000000000E+01
+0.66453000000000E+01
+0.75148000000000E+01
+0.82397000000000E+01
+-.59116000000000E+01
+-.47686000000000E+01
+-.36408000000000E+01
+-.25330000000000E+01
+-.14284000000000E+01
+-.30439000000000E+00
+0.82854000000000E+00
+0.19641000000000E+01
+0.30984000000000E+01
+0.42266000000000E+01
+0.53164000000000E+01
+0.63447000000000E+01
+0.72830000000000E+01
+0.80867000000000E+01
+-.62881000000000E+01
+-.51420000000000E+01
+-.40066000000000E+01
+-.28887000000000E+01
+-.17809000000000E+01
+-.66234000000000E+00
+0.46660000000000E+00
+0.16020000000000E+01
+0.27394000000000E+01
+0.38736000000000E+01
+0.49813000000000E+01
+0.60450000000000E+01
+0.70398000000000E+01
+0.79175000000000E+01
+-.66249000000000E+01
+-.54771000000000E+01
+-.43367000000000E+01
+-.32104000000000E+01
+-.20973000000000E+01
+-.98186000000000E+00
+0.14315000000000E+00
+0.12777000000000E+01
+0.24169000000000E+01
+0.35552000000000E+01
+0.46757000000000E+01
+0.57653000000000E+01
+0.68040000000000E+01
+0.77465000000000E+01
+-.69564000000000E+01
+-.58075000000000E+01
+-.46639000000000E+01
+-.35312000000000E+01
+-.24122000000000E+01
+-.12977000000000E+01
+-.17656000000000E+00
+0.95621000000000E+00
+0.20962000000000E+01
+0.32370000000000E+01
+0.43661000000000E+01
+0.54733000000000E+01
+0.65436000000000E+01
+0.75385000000000E+01
+-.72867000000000E+01
+-.61372000000000E+01
+-.49915000000000E+01
+-.38540000000000E+01
+-.27290000000000E+01
+-.16135000000000E+01
+-.49574000000000E+00
+0.63445000000000E+00
+0.17742000000000E+01
+0.29166000000000E+01
+0.40514000000000E+01
+0.51708000000000E+01
+0.62638000000000E+01
+0.72996000000000E+01
+-.76178000000000E+01
+-.64678000000000E+01
+-.53206000000000E+01
+-.41794000000000E+01
+-.30491000000000E+01
+-.19310000000000E+01
+-.81566000000000E+00
+0.31129000000000E+00
+0.14500000000000E+01
+0.25930000000000E+01
+0.37318000000000E+01
+0.48597000000000E+01
+0.59690000000000E+01
+0.70356000000000E+01
+-.78948000000000E+01
+-.67444000000000E+01
+-.55962000000000E+01
+-.44526000000000E+01
+-.33183000000000E+01
+-.21970000000000E+01
+-.10826000000000E+01
+0.41553000000000E-01
+0.11789000000000E+01
+0.23224000000000E+01
+0.34641000000000E+01
+0.45988000000000E+01
+0.57200000000000E+01
+0.68104000000000E+01
+-.81470000000000E+01
+-.69963000000000E+01
+-.58474000000000E+01
+-.47021000000000E+01
+-.35646000000000E+01
+-.24402000000000E+01
+-.13257000000000E+01
+-.20399000000000E+00
+0.93170000000000E+00
+0.20751000000000E+01
+0.32189000000000E+01
+0.43583000000000E+01
+0.54883000000000E+01
+0.65961000000000E+01
+-.84219000000000E+01
+-.72711000000000E+01
+-.61216000000000E+01
+-.49749000000000E+01
+-.38346000000000E+01
+-.27065000000000E+01
+-.15910000000000E+01
+-.47195000000000E+00
+0.66127000000000E+00
+0.18040000000000E+01
+0.29489000000000E+01
+0.40913000000000E+01
+0.52273000000000E+01
+0.63475000000000E+01
+-.87134000000000E+01
+-.75625000000000E+01
+-.64125000000000E+01
+-.52646000000000E+01
+-.41218000000000E+01
+-.29901000000000E+01
+-.18724000000000E+01
+-.75562000000000E+00
+0.37449000000000E+00
+0.15159000000000E+01
+0.26611000000000E+01
+0.38056000000000E+01
+0.49458000000000E+01
+0.60747000000000E+01
+-.90168000000000E+01
+-.78658000000000E+01
+-.67156000000000E+01
+-.55669000000000E+01
+-.44221000000000E+01
+-.32866000000000E+01
+-.21658000000000E+01
+-.10505000000000E+01
+0.76046000000000E-01
+0.12154000000000E+01
+0.23605000000000E+01
+0.35062000000000E+01
+0.46493000000000E+01
+0.57844000000000E+01
+-.93232000000000E+01
+-.81721000000000E+01
+-.70216000000000E+01
+-.58723000000000E+01
+-.47260000000000E+01
+-.35872000000000E+01
+-.24626000000000E+01
+-.13475000000000E+01
+-.22455000000000E+00
+0.91222000000000E+00
+0.20566000000000E+01
+0.32030000000000E+01
+0.43481000000000E+01
+0.54877000000000E+01
+0.79482000000000E+01
+0.79525000000000E+01
+0.79563000000000E+01
+0.79594000000000E+01
+0.79619000000000E+01
+0.79639000000000E+01
+0.79652000000000E+01
+0.79661000000000E+01
+0.79661000000000E+01
+0.79669000000000E+01
+0.79934000000000E+01
+0.80659000000000E+01
+0.80530000000000E+01
+0.83943000000000E+01
+0.79248000000000E+01
+0.79307000000000E+01
+0.79359000000000E+01
+0.79406000000000E+01
+0.79445000000000E+01
+0.79476000000000E+01
+0.79500000000000E+01
+0.79514000000000E+01
+0.79519000000000E+01
+0.79528000000000E+01
+0.79791000000000E+01
+0.80518000000000E+01
+0.80435000000000E+01
+0.83757000000000E+01
+0.78873000000000E+01
+0.78967000000000E+01
+0.79048000000000E+01
+0.79116000000000E+01
+0.79175000000000E+01
+0.79226000000000E+01
+0.79266000000000E+01
+0.79294000000000E+01
+0.79307000000000E+01
+0.79316000000000E+01
+0.79579000000000E+01
+0.80305000000000E+01
+0.80322000000000E+01
+0.83501000000000E+01
+0.78284000000000E+01
+0.78441000000000E+01
+0.78574000000000E+01
+0.78684000000000E+01
+0.78774000000000E+01
+0.78853000000000E+01
+0.78918000000000E+01
+0.78969000000000E+01
+0.78997000000000E+01
+0.79015000000000E+01
+0.79265000000000E+01
+0.80007000000000E+01
+0.80183000000000E+01
+0.83206000000000E+01
+0.77362000000000E+01
+0.77638000000000E+01
+0.77859000000000E+01
+0.78038000000000E+01
+0.78186000000000E+01
+0.78307000000000E+01
+0.78411000000000E+01
+0.78495000000000E+01
+0.78550000000000E+01
+0.78586000000000E+01
+0.78827000000000E+01
+0.79564000000000E+01
+0.79971000000000E+01
+0.82842000000000E+01
+0.74858000000000E+01
+0.75984000000000E+01
+0.76633000000000E+01
+0.77032000000000E+01
+0.77305000000000E+01
+0.77510000000000E+01
+0.77676000000000E+01
+0.77810000000000E+01
+0.77908000000000E+01
+0.77975000000000E+01
+0.78217000000000E+01
+0.78928000000000E+01
+0.79484000000000E+01
+0.82239000000000E+01
+0.66869000000000E+01
+0.70735000000000E+01
+0.73270000000000E+01
+0.74839000000000E+01
+0.75743000000000E+01
+0.76252000000000E+01
+0.76584000000000E+01
+0.76820000000000E+01
+0.76980000000000E+01
+0.77102000000000E+01
+0.77368000000000E+01
+0.78008000000000E+01
+0.78788000000000E+01
+0.81240000000000E+01
+0.49966000000000E+01
+0.58453000000000E+01
+0.64835000000000E+01
+0.69196000000000E+01
+0.72026000000000E+01
+0.73785000000000E+01
+0.74791000000000E+01
+0.75334000000000E+01
+0.75675000000000E+01
+0.75874000000000E+01
+0.76198000000000E+01
+0.76765000000000E+01
+0.77809000000000E+01
+0.80061000000000E+01
+0.28907000000000E+01
+0.39785000000000E+01
+0.49795000000000E+01
+0.58162000000000E+01
+0.64360000000000E+01
+0.68538000000000E+01
+0.71344000000000E+01
+0.72943000000000E+01
+0.73835000000000E+01
+0.74132000000000E+01
+0.74647000000000E+01
+0.75210000000000E+01
+0.76481000000000E+01
+0.78693000000000E+01
+0.10058000000000E+01
+0.21239000000000E+01
+0.32303000000000E+01
+0.42859000000000E+01
+0.52266000000000E+01
+0.59767000000000E+01
+0.65083000000000E+01
+0.68572000000000E+01
+0.70699000000000E+01
+0.71938000000000E+01
+0.72703000000000E+01
+0.73478000000000E+01
+0.74845000000000E+01
+0.77195000000000E+01
+-.49332000000000E+00
+0.57329000000000E+00
+0.16689000000000E+01
+0.27694000000000E+01
+0.38383000000000E+01
+0.48197000000000E+01
+0.56361000000000E+01
+0.62395000000000E+01
+0.66473000000000E+01
+0.68998000000000E+01
+0.70493000000000E+01
+0.71737000000000E+01
+0.73231000000000E+01
+0.75630000000000E+01
+-.16026000000000E+01
+-.58992000000000E+00
+0.44341000000000E+00
+0.15050000000000E+01
+0.25822000000000E+01
+0.36406000000000E+01
+0.46261000000000E+01
+0.54623000000000E+01
+0.60969000000000E+01
+0.65300000000000E+01
+0.68014000000000E+01
+0.69760000000000E+01
+0.71888000000000E+01
+0.74218000000000E+01
+-.26819000000000E+01
+-.16235000000000E+01
+-.49953000000000E+00
+0.54378000000000E+00
+0.15916000000000E+01
+0.26391000000000E+01
+0.36685000000000E+01
+0.46321000000000E+01
+0.54564000000000E+01
+0.60872000000000E+01
+0.65157000000000E+01
+0.67957000000000E+01
+0.70872000000000E+01
+0.73162000000000E+01
+-.35814000000000E+01
+-.24932000000000E+01
+-.14317000000000E+01
+-.36981000000000E+00
+0.79626000000000E+00
+0.18525000000000E+01
+0.28840000000000E+01
+0.40680000000000E+01
+0.50258000000000E+01
+0.58307000000000E+01
+0.61885000000000E+01
+0.66014000000000E+01
+0.70044000000000E+01
+0.72494000000000E+01
+-.43629000000000E+01
+-.32516000000000E+01
+-.21703000000000E+01
+-.11042000000000E+01
+-.26590000000000E-01
+0.10587000000000E+01
+0.22327000000000E+01
+0.32553000000000E+01
+0.44678000000000E+01
+0.54259000000000E+01
+0.61580000000000E+01
+0.63813000000000E+01
+0.68629000000000E+01
+0.72053000000000E+01
+-.50420000000000E+01
+-.39162000000000E+01
+-.28141000000000E+01
+-.17369000000000E+01
+-.66109000000000E+00
+0.42952000000000E+00
+0.15203000000000E+01
+0.27030000000000E+01
+0.38752000000000E+01
+0.49653000000000E+01
+0.58529000000000E+01
+0.66803000000000E+01
+0.67419000000000E+01
+0.71759000000000E+01
+-.56349000000000E+01
+-.45007000000000E+01
+-.33826000000000E+01
+-.22895000000000E+01
+-.12106000000000E+01
+-.12247000000000E+00
+0.97583000000000E+00
+0.20660000000000E+01
+0.32496000000000E+01
+0.44470000000000E+01
+0.54794000000000E+01
+0.64604000000000E+01
+0.71619000000000E+01
+0.71432000000000E+01
+-.61604000000000E+01
+-.50217000000000E+01
+-.38928000000000E+01
+-.27841000000000E+01
+-.16967000000000E+01
+-.61008000000000E+00
+0.48867000000000E+00
+0.15903000000000E+01
+0.26780000000000E+01
+0.38480000000000E+01
+0.50428000000000E+01
+0.61021000000000E+01
+0.70298000000000E+01
+0.73243000000000E+01
+-.66353000000000E+01
+-.54937000000000E+01
+-.43578000000000E+01
+-.32368000000000E+01
+-.21379000000000E+01
+-.10497000000000E+01
+0.47656000000000E-01
+0.11543000000000E+01
+0.22578000000000E+01
+0.34620000000000E+01
+0.45935000000000E+01
+0.57186000000000E+01
+0.67703000000000E+01
+0.72634000000000E+01
+-.70619000000000E+01
+-.59182000000000E+01
+-.47780000000000E+01
+-.36479000000000E+01
+-.25378000000000E+01
+-.14446000000000E+01
+-.34818000000000E+00
+0.76044000000000E+00
+0.18733000000000E+01
+0.29723000000000E+01
+0.41525000000000E+01
+0.54241000000000E+01
+0.65383000000000E+01
+0.71630000000000E+01
+-.74495000000000E+01
+-.63042000000000E+01
+-.51610000000000E+01
+-.40247000000000E+01
+-.29049000000000E+01
+-.18047000000000E+01
+-.70796000000000E+00
+0.40118000000000E+00
+0.15195000000000E+01
+0.26320000000000E+01
+0.38384000000000E+01
+0.51104000000000E+01
+0.62698000000000E+01
+0.70116000000000E+01
+-.78165000000000E+01
+-.66702000000000E+01
+-.55249000000000E+01
+-.43842000000000E+01
+-.32565000000000E+01
+-.21486000000000E+01
+-.10501000000000E+01
+0.58460000000000E-01
+0.11795000000000E+01
+0.23005000000000E+01
+0.34025000000000E+01
+0.47214000000000E+01
+0.59575000000000E+01
+0.67830000000000E+01
+-.81716000000000E+01
+-.70244000000000E+01
+-.58777000000000E+01
+-.47339000000000E+01
+-.36000000000000E+01
+-.24844000000000E+01
+-.13828000000000E+01
+-.27528000000000E+00
+0.84651000000000E+00
+0.19727000000000E+01
+0.30878000000000E+01
+0.44011000000000E+01
+0.55935000000000E+01
+0.65360000000000E+01
+-.85171000000000E+01
+-.73689000000000E+01
+-.62209000000000E+01
+-.50752000000000E+01
+-.39366000000000E+01
+-.28139000000000E+01
+-.17079000000000E+01
+-.60117000000000E+00
+0.51987000000000E+00
+0.16490000000000E+01
+0.27732000000000E+01
+0.40121000000000E+01
+0.52620000000000E+01
+0.62551000000000E+01
+-.88435000000000E+01
+-.76947000000000E+01
+-.65459000000000E+01
+-.53986000000000E+01
+-.42567000000000E+01
+-.31279000000000E+01
+-.20167000000000E+01
+-.90990000000000E+00
+0.20962000000000E+00
+0.13401000000000E+01
+0.24698000000000E+01
+0.36924000000000E+01
+0.48823000000000E+01
+0.59666000000000E+01
+-.91414000000000E+01
+-.79918000000000E+01
+-.68425000000000E+01
+-.56941000000000E+01
+-.45498000000000E+01
+-.34163000000000E+01
+-.22996000000000E+01
+-.11917000000000E+01
+-.73820000000000E-01
+0.10568000000000E+01
+0.21904000000000E+01
+0.33967000000000E+01
+0.45792000000000E+01
+0.56886000000000E+01
+-.94465000000000E+01
+-.82966000000000E+01
+-.71469000000000E+01
+-.59977000000000E+01
+-.48516000000000E+01
+-.37140000000000E+01
+-.25919000000000E+01
+-.14820000000000E+01
+-.36616000000000E+00
+0.76338000000000E+00
+0.18990000000000E+01
+0.30923000000000E+01
+0.42681000000000E+01
+0.53929000000000E+01
+-.97595000000000E+01
+-.86094000000000E+01
+-.74594000000000E+01
+-.63096000000000E+01
+-.51621000000000E+01
+-.40212000000000E+01
+-.28939000000000E+01
+-.17810000000000E+01
+-.66704000000000E+00
+0.46031000000000E+00
+0.15966000000000E+01
+0.27791000000000E+01
+0.39498000000000E+01
+0.50846000000000E+01
+-.10078000000000E+02
+-.89275000000000E+01
+-.77771000000000E+01
+-.66270000000000E+01
+-.54785000000000E+01
+-.43350000000000E+01
+-.32028000000000E+01
+-.20860000000000E+01
+-.97324000000000E+00
+0.15121000000000E+00
+0.12869000000000E+01
+0.24608000000000E+01
+0.36272000000000E+01
+0.47686000000000E+01
+-.10343000000000E+02
+-.91921000000000E+01
+-.80415000000000E+01
+-.68911000000000E+01
+-.57419000000000E+01
+-.45967000000000E+01
+-.34610000000000E+01
+-.23402000000000E+01
+-.12273000000000E+01
+-.10525000000000E+00
+0.10295000000000E+01
+0.21953000000000E+01
+0.33571000000000E+01
+0.45020000000000E+01
+-.10585000000000E+02
+-.94346000000000E+01
+-.82837000000000E+01
+-.71332000000000E+01
+-.59835000000000E+01
+-.48369000000000E+01
+-.36983000000000E+01
+-.25738000000000E+01
+-.14600000000000E+01
+-.34005000000000E+00
+0.79335000000000E+00
+0.19524000000000E+01
+0.31105000000000E+01
+0.42571000000000E+01
+-.10848000000000E+02
+-.96973000000000E+01
+-.85464000000000E+01
+-.73956000000000E+01
+-.62456000000000E+01
+-.50979000000000E+01
+-.39567000000000E+01
+-.28283000000000E+01
+-.17128000000000E+01
+-.59506000000000E+00
+0.53612000000000E+00
+0.16899000000000E+01
+0.28452000000000E+01
+0.39931000000000E+01
+0.74912000000000E+01
+0.74930000000000E+01
+0.74946000000000E+01
+0.74960000000000E+01
+0.74969000000000E+01
+0.74977000000000E+01
+0.74980000000000E+01
+0.74982000000000E+01
+0.74978000000000E+01
+0.74990000000000E+01
+0.72970000000000E+01
+0.60507000000000E+01
+0.62593000000000E+01
+0.67147000000000E+01
+0.67667000000000E+01
+0.75909000000000E+01
+0.74872000000000E+01
+0.74893000000000E+01
+0.74911000000000E+01
+0.74927000000000E+01
+0.74932000000000E+01
+0.74937000000000E+01
+0.74937000000000E+01
+0.74880000000000E+01
+0.72723000000000E+01
+0.60560000000000E+01
+0.62543000000000E+01
+0.67086000000000E+01
+0.79015000000000E+01
+0.79065000000000E+01
+0.81458000000000E+01
+0.74783000000000E+01
+0.74810000000000E+01
+0.75208000000000E+01
+0.74857000000000E+01
+0.74873000000000E+01
+0.74790000000000E+01
+0.74741000000000E+01
+0.72574000000000E+01
+0.60803000000000E+01
+0.62463000000000E+01
+0.67001000000000E+01
+0.60709000000000E+01
+0.60845000000000E+01
+0.78195000000000E+01
+0.76025000000000E+01
+0.78148000000000E+01
+0.76702000000000E+01
+0.75486000000000E+01
+0.74750000000000E+01
+0.74697000000000E+01
+0.74535000000000E+01
+0.72494000000000E+01
+0.61409000000000E+01
+0.62347000000000E+01
+0.66880000000000E+01
+0.58892000000000E+01
+0.61035000000000E+01
+0.61526000000000E+01
+0.73125000000000E+01
+0.74275000000000E+01
+0.77472000000000E+01
+0.76136000000000E+01
+0.74976000000000E+01
+0.74464000000000E+01
+0.74250000000000E+01
+0.72427000000000E+01
+0.62454000000000E+01
+0.62191000000000E+01
+0.66711000000000E+01
+0.57137000000000E+01
+0.58435000000000E+01
+0.59204000000000E+01
+0.63785000000000E+01
+0.70378000000000E+01
+0.72307000000000E+01
+0.76208000000000E+01
+0.75071000000000E+01
+0.74143000000000E+01
+0.73888000000000E+01
+0.72319000000000E+01
+0.63885000000000E+01
+0.61903000000000E+01
+0.66431000000000E+01
+0.49862000000000E+01
+0.54330000000000E+01
+0.56780000000000E+01
+0.58943000000000E+01
+0.63636000000000E+01
+0.68795000000000E+01
+0.70139000000000E+01
+0.74828000000000E+01
+0.73728000000000E+01
+0.73453000000000E+01
+0.72141000000000E+01
+0.65485000000000E+01
+0.61785000000000E+01
+0.65956000000000E+01
+0.34967000000000E+01
+0.43352000000000E+01
+0.50294000000000E+01
+0.54507000000000E+01
+0.58260000000000E+01
+0.63501000000000E+01
+0.66981000000000E+01
+0.68240000000000E+01
+0.73201000000000E+01
+0.72938000000000E+01
+0.71869000000000E+01
+0.66898000000000E+01
+0.61989000000000E+01
+0.65461000000000E+01
+0.16646000000000E+01
+0.27404000000000E+01
+0.37282000000000E+01
+0.46122000000000E+01
+0.52073000000000E+01
+0.57500000000000E+01
+0.63230000000000E+01
+0.66553000000000E+01
+0.66678000000000E+01
+0.72294000000000E+01
+0.71462000000000E+01
+0.67910000000000E+01
+0.62595000000000E+01
+0.64865000000000E+01
+0.16786000000000E+00
+0.12298000000000E+01
+0.23128000000000E+01
+0.33522000000000E+01
+0.43230000000000E+01
+0.52510000000000E+01
+0.57135000000000E+01
+0.62246000000000E+01
+0.65520000000000E+01
+0.71406000000000E+01
+0.70840000000000E+01
+0.68412000000000E+01
+0.63477000000000E+01
+0.64227000000000E+01
+-.93132000000000E+00
+0.14331000000000E+00
+0.11461000000000E+01
+0.22100000000000E+01
+0.32563000000000E+01
+0.45260000000000E+01
+0.52585000000000E+01
+0.57682000000000E+01
+0.64125000000000E+01
+0.65461000000000E+01
+0.69905000000000E+01
+0.68358000000000E+01
+0.64401000000000E+01
+0.63577000000000E+01
+-.14436000000000E+01
+-.88100000000000E+00
+0.12614000000000E+00
+0.11102000000000E+01
+0.23886000000000E+01
+0.34153000000000E+01
+0.43527000000000E+01
+0.54071000000000E+01
+0.58837000000000E+01
+0.64521000000000E+01
+0.68633000000000E+01
+0.67788000000000E+01
+0.65000000000000E+01
+0.63132000000000E+01
+-.12065000000000E+01
+-.69328000000000E+00
+-.50137000000000E+00
+0.33205000000000E+00
+0.15032000000000E+01
+0.27887000000000E+01
+0.37726000000000E+01
+0.49967000000000E+01
+0.56279000000000E+01
+0.63080000000000E+01
+0.64680000000000E+01
+0.66843000000000E+01
+0.65105000000000E+01
+0.62963000000000E+01
+-.13731000000000E+01
+-.10105000000000E+01
+-.62437000000000E+00
+0.16572000000000E+00
+0.83003000000000E+00
+0.20430000000000E+01
+0.30253000000000E+01
+0.42415000000000E+01
+0.57466000000000E+01
+0.64988000000000E+01
+0.63416000000000E+01
+0.65685000000000E+01
+0.64775000000000E+01
+0.62909000000000E+01
+-.21864000000000E+01
+-.14720000000000E+01
+-.88956000000000E+00
+-.32604000000000E+00
+0.40332000000000E+00
+0.15655000000000E+01
+0.26171000000000E+01
+0.38580000000000E+01
+0.50106000000000E+01
+0.62308000000000E+01
+0.63929000000000E+01
+0.64371000000000E+01
+0.64163000000000E+01
+0.62836000000000E+01
+-.32459000000000E+01
+-.23816000000000E+01
+-.15424000000000E+01
+-.78084000000000E+00
+-.24409000000000E-01
+0.10797000000000E+01
+0.20740000000000E+01
+0.31523000000000E+01
+0.43160000000000E+01
+0.57954000000000E+01
+0.61328000000000E+01
+0.63285000000000E+01
+0.63347000000000E+01
+0.62726000000000E+01
+-.42537000000000E+01
+-.33381000000000E+01
+-.24163000000000E+01
+-.14964000000000E+01
+-.60489000000000E+00
+0.48472000000000E+00
+0.14963000000000E+01
+0.27289000000000E+01
+0.37802000000000E+01
+0.51799000000000E+01
+0.57471000000000E+01
+0.61013000000000E+01
+0.62952000000000E+01
+0.62377000000000E+01
+-.52023000000000E+01
+-.42136000000000E+01
+-.32595000000000E+01
+-.22911000000000E+01
+-.13115000000000E+01
+-.20742000000000E+00
+0.83626000000000E+00
+0.20359000000000E+01
+0.32260000000000E+01
+0.42207000000000E+01
+0.52316000000000E+01
+0.57839000000000E+01
+0.61182000000000E+01
+0.62546000000000E+01
+-.60851000000000E+01
+-.50248000000000E+01
+-.40197000000000E+01
+-.30322000000000E+01
+-.20242000000000E+01
+-.91513000000000E+00
+0.15530000000000E+00
+0.13298000000000E+01
+0.25037000000000E+01
+0.35596000000000E+01
+0.46278000000000E+01
+0.53765000000000E+01
+0.58804000000000E+01
+0.61453000000000E+01
+-.68821000000000E+01
+-.57784000000000E+01
+-.47158000000000E+01
+-.36959000000000E+01
+-.26777000000000E+01
+-.15764000000000E+01
+-.49297000000000E+00
+0.66359000000000E+00
+0.17679000000000E+01
+0.29601000000000E+01
+0.40173000000000E+01
+0.49082000000000E+01
+0.55815000000000E+01
+0.59994000000000E+01
+-.75916000000000E+01
+-.64668000000000E+01
+-.53635000000000E+01
+-.42999000000000E+01
+-.32642000000000E+01
+-.21731000000000E+01
+-.10867000000000E+01
+0.54841000000000E-01
+0.11670000000000E+01
+0.23439000000000E+01
+0.34335000000000E+01
+0.44131000000000E+01
+0.52324000000000E+01
+0.58074000000000E+01
+-.82229000000000E+01
+-.70885000000000E+01
+-.59628000000000E+01
+-.48623000000000E+01
+-.37972000000000E+01
+-.27090000000000E+01
+-.16233000000000E+01
+-.49522000000000E+00
+0.61890000000000E+00
+0.17845000000000E+01
+0.29009000000000E+01
+0.39298000000000E+01
+0.48495000000000E+01
+0.55665000000000E+01
+-.87832000000000E+01
+-.76439000000000E+01
+-.65071000000000E+01
+-.53829000000000E+01
+-.42867000000000E+01
+-.31898000000000E+01
+-.21025000000000E+01
+-.98581000000000E+00
+0.12693000000000E+00
+0.12832000000000E+01
+0.24092000000000E+01
+0.34742000000000E+01
+0.44670000000000E+01
+0.53033000000000E+01
+-.92847000000000E+01
+-.81423000000000E+01
+-.70000000000000E+01
+-.58632000000000E+01
+-.47437000000000E+01
+-.36305000000000E+01
+-.25367000000000E+01
+-.14274000000000E+01
+-.31747000000000E+00
+0.83084000000000E+00
+0.19640000000000E+01
+0.30580000000000E+01
+0.40929000000000E+01
+0.50199000000000E+01
+-.97410000000000E+01
+-.85964000000000E+01
+-.74513000000000E+01
+-.63079000000000E+01
+-.51742000000000E+01
+-.40452000000000E+01
+-.29399000000000E+01
+-.18331000000000E+01
+-.72586000000000E+00
+0.41539000000000E+00
+0.15502000000000E+01
+0.26595000000000E+01
+0.37325000000000E+01
+0.47202000000000E+01
+-.10163000000000E+02
+-.90173000000000E+01
+-.78704000000000E+01
+-.67238000000000E+01
+-.55823000000000E+01
+-.44420000000000E+01
+-.33235000000000E+01
+-.22141000000000E+01
+-.11081000000000E+01
+0.26825000000000E-01
+0.11613000000000E+01
+0.22806000000000E+01
+0.33755000000000E+01
+0.44099000000000E+01
+-.10561000000000E+02
+-.94143000000000E+01
+-.82661000000000E+01
+-.71178000000000E+01
+-.59723000000000E+01
+-.48254000000000E+01
+-.36955000000000E+01
+-.25795000000000E+01
+-.14726000000000E+01
+-.34300000000000E+00
+0.78993000000000E+00
+0.19156000000000E+01
+0.30251000000000E+01
+0.40923000000000E+01
+-.10923000000000E+02
+-.97751000000000E+01
+-.86262000000000E+01
+-.74769000000000E+01
+-.63291000000000E+01
+-.51792000000000E+01
+-.40409000000000E+01
+-.29168000000000E+01
+-.18062000000000E+01
+-.68056000000000E+00
+0.45032000000000E+00
+0.15804000000000E+01
+0.26995000000000E+01
+0.37902000000000E+01
+-.11261000000000E+02
+-.10112000000000E+02
+-.89624000000000E+01
+-.78126000000000E+01
+-.66636000000000E+01
+-.55122000000000E+01
+-.43688000000000E+01
+-.32372000000000E+01
+-.21210000000000E+01
+-.99760000000000E+00
+0.13102000000000E+00
+0.12626000000000E+01
+0.23893000000000E+01
+0.34968000000000E+01
+-.11594000000000E+02
+-.10445000000000E+02
+-.92947000000000E+01
+-.81445000000000E+01
+-.69948000000000E+01
+-.58429000000000E+01
+-.46963000000000E+01
+-.35589000000000E+01
+-.24367000000000E+01
+-.13136000000000E+01
+-.18731000000000E+00
+0.94452000000000E+00
+0.20760000000000E+01
+0.31951000000000E+01
+-.11925000000000E+02
+-.10775000000000E+02
+-.96245000000000E+01
+-.84739000000000E+01
+-.73239000000000E+01
+-.61718000000000E+01
+-.50234000000000E+01
+-.38818000000000E+01
+-.27535000000000E+01
+-.16293000000000E+01
+-.50491000000000E+00
+0.62611000000000E+00
+0.17610000000000E+01
+0.28876000000000E+01
+-.12251000000000E+02
+-.11101000000000E+02
+-.99504000000000E+01
+-.87996000000000E+01
+-.76492000000000E+01
+-.64972000000000E+01
+-.53478000000000E+01
+-.42031000000000E+01
+-.30697000000000E+01
+-.19430000000000E+01
+-.81982000000000E+00
+0.30974000000000E+00
+0.14457000000000E+01
+0.25781000000000E+01
+0.59215000000000E+01
+0.59225000000000E+01
+0.59232000000000E+01
+0.59240000000000E+01
+0.59243000000000E+01
+0.59247000000000E+01
+0.59248000000000E+01
+0.59248000000000E+01
+0.59247000000000E+01
+0.59252000000000E+01
+0.59275000000000E+01
+0.59385000000000E+01
+0.59805000000000E+01
+0.60994000000000E+01
+0.59161000000000E+01
+0.59176000000000E+01
+0.59188000000000E+01
+0.59199000000000E+01
+0.59208000000000E+01
+0.59216000000000E+01
+0.59218000000000E+01
+0.59220000000000E+01
+0.59219000000000E+01
+0.59225000000000E+01
+0.59246000000000E+01
+0.59357000000000E+01
+0.59775000000000E+01
+0.60959000000000E+01
+0.59053000000000E+01
+0.59088000000000E+01
+0.59117000000000E+01
+0.59135000000000E+01
+0.59149000000000E+01
+0.59163000000000E+01
+0.59172000000000E+01
+0.59180000000000E+01
+0.59175000000000E+01
+0.59181000000000E+01
+0.59203000000000E+01
+0.59313000000000E+01
+0.59730000000000E+01
+0.60912000000000E+01
+0.58896000000000E+01
+0.58948000000000E+01
+0.58993000000000E+01
+0.59032000000000E+01
+0.59061000000000E+01
+0.59081000000000E+01
+0.59099000000000E+01
+0.59110000000000E+01
+0.59117000000000E+01
+0.59119000000000E+01
+0.59137000000000E+01
+0.59249000000000E+01
+0.59667000000000E+01
+0.60846000000000E+01
+0.58674000000000E+01
+0.58750000000000E+01
+0.58815000000000E+01
+0.58871000000000E+01
+0.58921000000000E+01
+0.58964000000000E+01
+0.58990000000000E+01
+0.59011000000000E+01
+0.59023000000000E+01
+0.59030000000000E+01
+0.59044000000000E+01
+0.59153000000000E+01
+0.59578000000000E+01
+0.60756000000000E+01
+0.58203000000000E+01
+0.58407000000000E+01
+0.58544000000000E+01
+0.58640000000000E+01
+0.58717000000000E+01
+0.58784000000000E+01
+0.58839000000000E+01
+0.58872000000000E+01
+0.58894000000000E+01
+0.58906000000000E+01
+0.58921000000000E+01
+0.59019000000000E+01
+0.59426000000000E+01
+0.60618000000000E+01
+0.57195000000000E+01
+0.57596000000000E+01
+0.57946000000000E+01
+0.58209000000000E+01
+0.58390000000000E+01
+0.58517000000000E+01
+0.58611000000000E+01
+0.58674000000000E+01
+0.58712000000000E+01
+0.58737000000000E+01
+0.58755000000000E+01
+0.58846000000000E+01
+0.59233000000000E+01
+0.60330000000000E+01
+0.56281000000000E+01
+0.56543000000000E+01
+0.56925000000000E+01
+0.57352000000000E+01
+0.57738000000000E+01
+0.58036000000000E+01
+0.58241000000000E+01
+0.58376000000000E+01
+0.58455000000000E+01
+0.58500000000000E+01
+0.58530000000000E+01
+0.58611000000000E+01
+0.58992000000000E+01
+0.59990000000000E+01
+0.55828000000000E+01
+0.55894000000000E+01
+0.56040000000000E+01
+0.56324000000000E+01
+0.56741000000000E+01
+0.57196000000000E+01
+0.57593000000000E+01
+0.57877000000000E+01
+0.58062000000000E+01
+0.58164000000000E+01
+0.58224000000000E+01
+0.58312000000000E+01
+0.58702000000000E+01
+0.59618000000000E+01
+0.55201000000000E+01
+0.55377000000000E+01
+0.55466000000000E+01
+0.55574000000000E+01
+0.55789000000000E+01
+0.56162000000000E+01
+0.56638000000000E+01
+0.57090000000000E+01
+0.57438000000000E+01
+0.57667000000000E+01
+0.57799000000000E+01
+0.57917000000000E+01
+0.58300000000000E+01
+0.59142000000000E+01
+0.50693000000000E+01
+0.53048000000000E+01
+0.54237000000000E+01
+0.54749000000000E+01
+0.54998000000000E+01
+0.55237000000000E+01
+0.55597000000000E+01
+0.56073000000000E+01
+0.56558000000000E+01
+0.56956000000000E+01
+0.57218000000000E+01
+0.57406000000000E+01
+0.57793000000000E+01
+0.58506000000000E+01
+0.34686000000000E+01
+0.42438000000000E+01
+0.47898000000000E+01
+0.51309000000000E+01
+0.53169000000000E+01
+0.54070000000000E+01
+0.54557000000000E+01
+0.54999000000000E+01
+0.55513000000000E+01
+0.56041000000000E+01
+0.56475000000000E+01
+0.56785000000000E+01
+0.57177000000000E+01
+0.57798000000000E+01
+0.11263000000000E+01
+0.22178000000000E+01
+0.32218000000000E+01
+0.40552000000000E+01
+0.46586000000000E+01
+0.50405000000000E+01
+0.52535000000000E+01
+0.53661000000000E+01
+0.54338000000000E+01
+0.54985000000000E+01
+0.55590000000000E+01
+0.56074000000000E+01
+0.56528000000000E+01
+0.57107000000000E+01
+-.97678000000000E+00
+0.15018000000000E+00
+0.12674000000000E+01
+0.23472000000000E+01
+0.33317000000000E+01
+0.41365000000000E+01
+0.47069000000000E+01
+0.50587000000000E+01
+0.52560000000000E+01
+0.53740000000000E+01
+0.54553000000000E+01
+0.55244000000000E+01
+0.55853000000000E+01
+0.56449000000000E+01
+-.27200000000000E+01
+-.15901000000000E+01
+-.46579000000000E+00
+0.65460000000000E+00
+0.17558000000000E+01
+0.27986000000000E+01
+0.37112000000000E+01
+0.44127000000000E+01
+0.48781000000000E+01
+0.51570000000000E+01
+0.53243000000000E+01
+0.54282000000000E+01
+0.55142000000000E+01
+0.55837000000000E+01
+-.41792000000000E+01
+-.30391000000000E+01
+-.19093000000000E+01
+-.78690000000000E+00
+0.33253000000000E+00
+0.14391000000000E+01
+0.25018000000000E+01
+0.34592000000000E+01
+0.42283000000000E+01
+0.47656000000000E+01
+0.50997000000000E+01
+0.53088000000000E+01
+0.54307000000000E+01
+0.55228000000000E+01
+-.54050000000000E+01
+-.42590000000000E+01
+-.31198000000000E+01
+-.19908000000000E+01
+-.86954000000000E+00
+0.24889000000000E+00
+0.13555000000000E+01
+0.24208000000000E+01
+0.33883000000000E+01
+0.41804000000000E+01
+0.47454000000000E+01
+0.51100000000000E+01
+0.53401000000000E+01
+0.54502000000000E+01
+-.64387000000000E+01
+-.52904000000000E+01
+-.41458000000000E+01
+-.30081000000000E+01
+-.18805000000000E+01
+-.75970000000000E+00
+0.35783000000000E+00
+0.14606000000000E+01
+0.25186000000000E+01
+0.34771000000000E+01
+0.42588000000000E+01
+0.48184000000000E+01
+0.51827000000000E+01
+0.54034000000000E+01
+-.73181000000000E+01
+-.61689000000000E+01
+-.50217000000000E+01
+-.38786000000000E+01
+-.27430000000000E+01
+-.16169000000000E+01
+-.49638000000000E+00
+0.61902000000000E+00
+0.17146000000000E+01
+0.27586000000000E+01
+0.36896000000000E+01
+0.44352000000000E+01
+0.49624000000000E+01
+0.52903000000000E+01
+-.80750000000000E+01
+-.69255000000000E+01
+-.57772000000000E+01
+-.46311000000000E+01
+-.34896000000000E+01
+-.23566000000000E+01
+-.12322000000000E+01
+-.11225000000000E+00
+0.99945000000000E+00
+0.20849000000000E+01
+0.31027000000000E+01
+0.39888000000000E+01
+0.46771000000000E+01
+0.51385000000000E+01
+-.87356000000000E+01
+-.75861000000000E+01
+-.64371000000000E+01
+-.52894000000000E+01
+-.41444000000000E+01
+-.30055000000000E+01
+-.18757000000000E+01
+-.75252000000000E+00
+0.36655000000000E+00
+0.14728000000000E+01
+0.25388000000000E+01
+0.35171000000000E+01
+0.43397000000000E+01
+0.49424000000000E+01
+-.93169000000000E+01
+-.81672000000000E+01
+-.70182000000000E+01
+-.58695000000000E+01
+-.47224000000000E+01
+-.35794000000000E+01
+-.24440000000000E+01
+-.13170000000000E+01
+-.19375000000000E+00
+0.92360000000000E+00
+0.20170000000000E+01
+0.30529000000000E+01
+0.39744000000000E+01
+0.47056000000000E+01
+-.98416000000000E+01
+-.86919000000000E+01
+-.75425000000000E+01
+-.63932000000000E+01
+-.52448000000000E+01
+-.40991000000000E+01
+-.29595000000000E+01
+-.18279000000000E+01
+-.70145000000000E+00
+0.42201000000000E+00
+0.15339000000000E+01
+0.26023000000000E+01
+0.35931000000000E+01
+0.44338000000000E+01
+-.10320000000000E+02
+-.91699000000000E+01
+-.80203000000000E+01
+-.68705000000000E+01
+-.57213000000000E+01
+-.45740000000000E+01
+-.34311000000000E+01
+-.22951000000000E+01
+-.11653000000000E+01
+-.38000000000000E-01
+0.10832000000000E+01
+0.21754000000000E+01
+0.32137000000000E+01
+0.41393000000000E+01
+-.10740000000000E+02
+-.95903000000000E+01
+-.84404000000000E+01
+-.72904000000000E+01
+-.61406000000000E+01
+-.49922000000000E+01
+-.38470000000000E+01
+-.27073000000000E+01
+-.15739000000000E+01
+-.44346000000000E+00
+0.68387000000000E+00
+0.17925000000000E+01
+0.28642000000000E+01
+0.38547000000000E+01
+-.11129000000000E+02
+-.99788000000000E+01
+-.88284000000000E+01
+-.76781000000000E+01
+-.65280000000000E+01
+-.53788000000000E+01
+-.42319000000000E+01
+-.30893000000000E+01
+-.19525000000000E+01
+-.81950000000000E+00
+0.31171000000000E+00
+0.14315000000000E+01
+0.25256000000000E+01
+0.35624000000000E+01
+-.11497000000000E+02
+-.10346000000000E+02
+-.91960000000000E+01
+-.80457000000000E+01
+-.68951000000000E+01
+-.57454000000000E+01
+-.45974000000000E+01
+-.34526000000000E+01
+-.23127000000000E+01
+-.11774000000000E+01
+-.43640000000000E-01
+0.10845000000000E+01
+0.21930000000000E+01
+0.32621000000000E+01
+-.11856000000000E+02
+-.10706000000000E+02
+-.95549000000000E+01
+-.84043000000000E+01
+-.72537000000000E+01
+-.61035000000000E+01
+-.49546000000000E+01
+-.38082000000000E+01
+-.26658000000000E+01
+-.15282000000000E+01
+-.39278000000000E+00
+0.73941000000000E+00
+0.18589000000000E+01
+0.29504000000000E+01
+-.12209000000000E+02
+-.11058000000000E+02
+-.99075000000000E+01
+-.87566000000000E+01
+-.76058000000000E+01
+-.64554000000000E+01
+-.53060000000000E+01
+-.41583000000000E+01
+-.30138000000000E+01
+-.18740000000000E+01
+-.73724000000000E+00
+0.39756000000000E+00
+0.15247000000000E+01
+0.26322000000000E+01
+-.12524000000000E+02
+-.11373000000000E+02
+-.10222000000000E+02
+-.90710000000000E+01
+-.79202000000000E+01
+-.67695000000000E+01
+-.56196000000000E+01
+-.44709000000000E+01
+-.33248000000000E+01
+-.21830000000000E+01
+-.10449000000000E+01
+0.91875000000000E-01
+0.12246000000000E+01
+0.23439000000000E+01
+-.12826000000000E+02
+-.11675000000000E+02
+-.10524000000000E+02
+-.93728000000000E+01
+-.82217000000000E+01
+-.70710000000000E+01
+-.59208000000000E+01
+-.47715000000000E+01
+-.36241000000000E+01
+-.24805000000000E+01
+-.13409000000000E+01
+-.20288000000000E+00
+0.93388000000000E+00
+0.20612000000000E+01
+-.13130000000000E+02
+-.11979000000000E+02
+-.10828000000000E+02
+-.96770000000000E+01
+-.85259000000000E+01
+-.73749000000000E+01
+-.62244000000000E+01
+-.50746000000000E+01
+-.39262000000000E+01
+-.27811000000000E+01
+-.16402000000000E+01
+-.50125000000000E+00
+0.63753000000000E+00
+0.17708000000000E+01
+0.50386000000000E+01
+0.50394000000000E+01
+0.50402000000000E+01
+0.50408000000000E+01
+0.50413000000000E+01
+0.50415000000000E+01
+0.50417000000000E+01
+0.50417000000000E+01
+0.50415000000000E+01
+0.50420000000000E+01
+0.50443000000000E+01
+0.50552000000000E+01
+0.50961000000000E+01
+0.52117000000000E+01
+0.50341000000000E+01
+0.50354000000000E+01
+0.50366000000000E+01
+0.50376000000000E+01
+0.50385000000000E+01
+0.50392000000000E+01
+0.50394000000000E+01
+0.50397000000000E+01
+0.50396000000000E+01
+0.50400000000000E+01
+0.50422000000000E+01
+0.50531000000000E+01
+0.50939000000000E+01
+0.52090000000000E+01
+0.50266000000000E+01
+0.50289000000000E+01
+0.50309000000000E+01
+0.50325000000000E+01
+0.50339000000000E+01
+0.50352000000000E+01
+0.50361000000000E+01
+0.50367000000000E+01
+0.50364000000000E+01
+0.50370000000000E+01
+0.50391000000000E+01
+0.50499000000000E+01
+0.50906000000000E+01
+0.52054000000000E+01
+0.50154000000000E+01
+0.50190000000000E+01
+0.50221000000000E+01
+0.50247000000000E+01
+0.50270000000000E+01
+0.50289000000000E+01
+0.50305000000000E+01
+0.50317000000000E+01
+0.50322000000000E+01
+0.50325000000000E+01
+0.50342000000000E+01
+0.50453000000000E+01
+0.50859000000000E+01
+0.52006000000000E+01
+0.49988000000000E+01
+0.50045000000000E+01
+0.50093000000000E+01
+0.50133000000000E+01
+0.50167000000000E+01
+0.50198000000000E+01
+0.50223000000000E+01
+0.50243000000000E+01
+0.50255000000000E+01
+0.50260000000000E+01
+0.50276000000000E+01
+0.50381000000000E+01
+0.50796000000000E+01
+0.51940000000000E+01
+0.49584000000000E+01
+0.49767000000000E+01
+0.49884000000000E+01
+0.49962000000000E+01
+0.50021000000000E+01
+0.50067000000000E+01
+0.50107000000000E+01
+0.50138000000000E+01
+0.50160000000000E+01
+0.50171000000000E+01
+0.50186000000000E+01
+0.50282000000000E+01
+0.50679000000000E+01
+0.51836000000000E+01
+0.48671000000000E+01
+0.49043000000000E+01
+0.49368000000000E+01
+0.49608000000000E+01
+0.49766000000000E+01
+0.49868000000000E+01
+0.49939000000000E+01
+0.49990000000000E+01
+0.50027000000000E+01
+0.50049000000000E+01
+0.50067000000000E+01
+0.50156000000000E+01
+0.50535000000000E+01
+0.51642000000000E+01
+0.47859000000000E+01
+0.48101000000000E+01
+0.48458000000000E+01
+0.48856000000000E+01
+0.49213000000000E+01
+0.49480000000000E+01
+0.49655000000000E+01
+0.49764000000000E+01
+0.49835000000000E+01
+0.49879000000000E+01
+0.49907000000000E+01
+0.49988000000000E+01
+0.50358000000000E+01
+0.51426000000000E+01
+0.47504000000000E+01
+0.47561000000000E+01
+0.47694000000000E+01
+0.47959000000000E+01
+0.48346000000000E+01
+0.48765000000000E+01
+0.49122000000000E+01
+0.49375000000000E+01
+0.49535000000000E+01
+0.49633000000000E+01
+0.49689000000000E+01
+0.49768000000000E+01
+0.50134000000000E+01
+0.51173000000000E+01
+0.47001000000000E+01
+0.47168000000000E+01
+0.47250000000000E+01
+0.47349000000000E+01
+0.47546000000000E+01
+0.47888000000000E+01
+0.48323000000000E+01
+0.48735000000000E+01
+0.49050000000000E+01
+0.49260000000000E+01
+0.49385000000000E+01
+0.49491000000000E+01
+0.49845000000000E+01
+0.50920000000000E+01
+0.42682000000000E+01
+0.45009000000000E+01
+0.46180000000000E+01
+0.46683000000000E+01
+0.46920000000000E+01
+0.47137000000000E+01
+0.47465000000000E+01
+0.47902000000000E+01
+0.48348000000000E+01
+0.48713000000000E+01
+0.48959000000000E+01
+0.49135000000000E+01
+0.49492000000000E+01
+0.50563000000000E+01
+0.26900000000000E+01
+0.34626000000000E+01
+0.40056000000000E+01
+0.43439000000000E+01
+0.45275000000000E+01
+0.46151000000000E+01
+0.46614000000000E+01
+0.47023000000000E+01
+0.47500000000000E+01
+0.47991000000000E+01
+0.48391000000000E+01
+0.48683000000000E+01
+0.49084000000000E+01
+0.50132000000000E+01
+0.36586000000000E+00
+0.14561000000000E+01
+0.24587000000000E+01
+0.32900000000000E+01
+0.38904000000000E+01
+0.42686000000000E+01
+0.44773000000000E+01
+0.45853000000000E+01
+0.46520000000000E+01
+0.47128000000000E+01
+0.47689000000000E+01
+0.48146000000000E+01
+0.48644000000000E+01
+0.49711000000000E+01
+-.17264000000000E+01
+-.59657000000000E+00
+0.52034000000000E+00
+0.15992000000000E+01
+0.25819000000000E+01
+0.33836000000000E+01
+0.39493000000000E+01
+0.42958000000000E+01
+0.44878000000000E+01
+0.46018000000000E+01
+0.46823000000000E+01
+0.47513000000000E+01
+0.48179000000000E+01
+0.49277000000000E+01
+-.34713000000000E+01
+-.23327000000000E+01
+-.12022000000000E+01
+-.80818000000000E-01
+0.10193000000000E+01
+0.20600000000000E+01
+0.29690000000000E+01
+0.36655000000000E+01
+0.41251000000000E+01
+0.43977000000000E+01
+0.45630000000000E+01
+0.46711000000000E+01
+0.47666000000000E+01
+0.48860000000000E+01
+-.49285000000000E+01
+-.37838000000000E+01
+-.26453000000000E+01
+-.15153000000000E+01
+-.39412000000000E+00
+0.71088000000000E+00
+0.17706000000000E+01
+0.27241000000000E+01
+0.34882000000000E+01
+0.40189000000000E+01
+0.43516000000000E+01
+0.45608000000000E+01
+0.46980000000000E+01
+0.48411000000000E+01
+-.61477000000000E+01
+-.50005000000000E+01
+-.38567000000000E+01
+-.27191000000000E+01
+-.15904000000000E+01
+-.47082000000000E+00
+0.63322000000000E+00
+0.16951000000000E+01
+0.26587000000000E+01
+0.34450000000000E+01
+0.40077000000000E+01
+0.43751000000000E+01
+0.46078000000000E+01
+0.47802000000000E+01
+-.71725000000000E+01
+-.60242000000000E+01
+-.48778000000000E+01
+-.37352000000000E+01
+-.25993000000000E+01
+-.14727000000000E+01
+-.35562000000000E+00
+0.74403000000000E+00
+0.17985000000000E+01
+0.27521000000000E+01
+0.35309000000000E+01
+0.40917000000000E+01
+0.44628000000000E+01
+0.47142000000000E+01
+-.80396000000000E+01
+-.68910000000000E+01
+-.57434000000000E+01
+-.45979000000000E+01
+-.34568000000000E+01
+-.23234000000000E+01
+-.11997000000000E+01
+-.86191000000000E-01
+0.10062000000000E+01
+0.20459000000000E+01
+0.29751000000000E+01
+0.37209000000000E+01
+0.42560000000000E+01
+0.46122000000000E+01
+-.87810000000000E+01
+-.76322000000000E+01
+-.64839000000000E+01
+-.53369000000000E+01
+-.41925000000000E+01
+-.30538000000000E+01
+-.19239000000000E+01
+-.80334000000000E+00
+0.30576000000000E+00
+0.13873000000000E+01
+0.24041000000000E+01
+0.32894000000000E+01
+0.39857000000000E+01
+0.44712000000000E+01
+-.94238000000000E+01
+-.82747000000000E+01
+-.71260000000000E+01
+-.59780000000000E+01
+-.48317000000000E+01
+-.36893000000000E+01
+-.25540000000000E+01
+-.14277000000000E+01
+-.30980000000000E+00
+0.79306000000000E+00
+0.18580000000000E+01
+0.28349000000000E+01
+0.36646000000000E+01
+0.42864000000000E+01
+-.99900000000000E+01
+-.88408000000000E+01
+-.76918000000000E+01
+-.65431000000000E+01
+-.53955000000000E+01
+-.42506000000000E+01
+-.31113000000000E+01
+-.19797000000000E+01
+-.85576000000000E+00
+0.25890000000000E+00
+0.13510000000000E+01
+0.23842000000000E+01
+0.33105000000000E+01
+0.40541000000000E+01
+-.10499000000000E+02
+-.93499000000000E+01
+-.82004000000000E+01
+-.70514000000000E+01
+-.59028000000000E+01
+-.47563000000000E+01
+-.36141000000000E+01
+-.24780000000000E+01
+-.13490000000000E+01
+-.22714000000000E+00
+0.88066000000000E+00
+0.19485000000000E+01
+0.29422000000000E+01
+0.37905000000000E+01
+-.10962000000000E+02
+-.98125000000000E+01
+-.86631000000000E+01
+-.75134000000000E+01
+-.63643000000000E+01
+-.52167000000000E+01
+-.40721000000000E+01
+-.29326000000000E+01
+-.17991000000000E+01
+-.67180000000000E+00
+0.44618000000000E+00
+0.15375000000000E+01
+0.25769000000000E+01
+0.35070000000000E+01
+-.11387000000000E+02
+-.10238000000000E+02
+-.90879000000000E+01
+-.79380000000000E+01
+-.67883000000000E+01
+-.56399000000000E+01
+-.44939000000000E+01
+-.33514000000000E+01
+-.22140000000000E+01
+-.10824000000000E+01
+0.42451000000000E-01
+0.11493000000000E+01
+0.22203000000000E+01
+0.32112000000000E+01
+-.11765000000000E+02
+-.10615000000000E+02
+-.94656000000000E+01
+-.83152000000000E+01
+-.71652000000000E+01
+-.60160000000000E+01
+-.48688000000000E+01
+-.37242000000000E+01
+-.25835000000000E+01
+-.14480000000000E+01
+-.31803000000000E+00
+0.80171000000000E+00
+0.18935000000000E+01
+0.29298000000000E+01
+-.12117000000000E+02
+-.10967000000000E+02
+-.98164000000000E+01
+-.86660000000000E+01
+-.75156000000000E+01
+-.63660000000000E+01
+-.52178000000000E+01
+-.40715000000000E+01
+-.29283000000000E+01
+-.17895000000000E+01
+-.65567000000000E+00
+0.47111000000000E+00
+0.15792000000000E+01
+0.26481000000000E+01
+-.12461000000000E+02
+-.11311000000000E+02
+-.10160000000000E+02
+-.90095000000000E+01
+-.78591000000000E+01
+-.67090000000000E+01
+-.55601000000000E+01
+-.44126000000000E+01
+-.32674000000000E+01
+-.21260000000000E+01
+-.98918000000000E+00
+0.14235000000000E+00
+0.12615000000000E+01
+0.23527000000000E+01
+-.12801000000000E+02
+-.11650000000000E+02
+-.10500000000000E+02
+-.93486000000000E+01
+-.81978000000000E+01
+-.70476000000000E+01
+-.58981000000000E+01
+-.47498000000000E+01
+-.36029000000000E+01
+-.24594000000000E+01
+-.13201000000000E+01
+-.18521000000000E+00
+0.94168000000000E+00
+0.20488000000000E+01
+-.13136000000000E+02
+-.11986000000000E+02
+-.10835000000000E+02
+-.96841000000000E+01
+-.85332000000000E+01
+-.73826000000000E+01
+-.62327000000000E+01
+-.50836000000000E+01
+-.39357000000000E+01
+-.27904000000000E+01
+-.16491000000000E+01
+-.51169000000000E+00
+0.62140000000000E+00
+0.17390000000000E+01
+-.13440000000000E+02
+-.12289000000000E+02
+-.11138000000000E+02
+-.99875000000000E+01
+-.88364000000000E+01
+-.76858000000000E+01
+-.65355000000000E+01
+-.53859000000000E+01
+-.42371000000000E+01
+-.30904000000000E+01
+-.19472000000000E+01
+-.80769000000000E+00
+0.32892000000000E+00
+0.14554000000000E+01
+-.13726000000000E+02
+-.12575000000000E+02
+-.11424000000000E+02
+-.10273000000000E+02
+-.91218000000000E+01
+-.79711000000000E+01
+-.68206000000000E+01
+-.56705000000000E+01
+-.45211000000000E+01
+-.33733000000000E+01
+-.22286000000000E+01
+-.10873000000000E+01
+0.51835000000000E-01
+0.11846000000000E+01
+0.43485000000000E+01
+0.43490000000000E+01
+0.43495000000000E+01
+0.43499000000000E+01
+0.43501000000000E+01
+0.43502000000000E+01
+0.43503000000000E+01
+0.43503000000000E+01
+0.43501000000000E+01
+0.43503000000000E+01
+0.43529000000000E+01
+0.43643000000000E+01
+0.44047000000000E+01
+0.45176000000000E+01
+0.43456000000000E+01
+0.43464000000000E+01
+0.43473000000000E+01
+0.43479000000000E+01
+0.43484000000000E+01
+0.43488000000000E+01
+0.43490000000000E+01
+0.43490000000000E+01
+0.43490000000000E+01
+0.43491000000000E+01
+0.43516000000000E+01
+0.43629000000000E+01
+0.44032000000000E+01
+0.45157000000000E+01
+0.43403000000000E+01
+0.43419000000000E+01
+0.43434000000000E+01
+0.43445000000000E+01
+0.43455000000000E+01
+0.43462000000000E+01
+0.43467000000000E+01
+0.43470000000000E+01
+0.43469000000000E+01
+0.43470000000000E+01
+0.43494000000000E+01
+0.43607000000000E+01
+0.44009000000000E+01
+0.45131000000000E+01
+0.43317000000000E+01
+0.43345000000000E+01
+0.43369000000000E+01
+0.43389000000000E+01
+0.43405000000000E+01
+0.43418000000000E+01
+0.43428000000000E+01
+0.43435000000000E+01
+0.43437000000000E+01
+0.43439000000000E+01
+0.43458000000000E+01
+0.43573000000000E+01
+0.43975000000000E+01
+0.45095000000000E+01
+0.43181000000000E+01
+0.43229000000000E+01
+0.43269000000000E+01
+0.43302000000000E+01
+0.43329000000000E+01
+0.43351000000000E+01
+0.43369000000000E+01
+0.43381000000000E+01
+0.43389000000000E+01
+0.43392000000000E+01
+0.43408000000000E+01
+0.43518000000000E+01
+0.43927000000000E+01
+0.45046000000000E+01
+0.42815000000000E+01
+0.42987000000000E+01
+0.43094000000000E+01
+0.43164000000000E+01
+0.43213000000000E+01
+0.43251000000000E+01
+0.43281000000000E+01
+0.43304000000000E+01
+0.43319000000000E+01
+0.43328000000000E+01
+0.43341000000000E+01
+0.43441000000000E+01
+0.43833000000000E+01
+0.44965000000000E+01
+0.41954000000000E+01
+0.42313000000000E+01
+0.42625000000000E+01
+0.42853000000000E+01
+0.42999000000000E+01
+0.43090000000000E+01
+0.43148000000000E+01
+0.43190000000000E+01
+0.43219000000000E+01
+0.43236000000000E+01
+0.43252000000000E+01
+0.43344000000000E+01
+0.43716000000000E+01
+0.44797000000000E+01
+0.41199000000000E+01
+0.41431000000000E+01
+0.41775000000000E+01
+0.42159000000000E+01
+0.42500000000000E+01
+0.42751000000000E+01
+0.42911000000000E+01
+0.43009000000000E+01
+0.43070000000000E+01
+0.43107000000000E+01
+0.43131000000000E+01
+0.43212000000000E+01
+0.43575000000000E+01
+0.44618000000000E+01
+0.40896000000000E+01
+0.40948000000000E+01
+0.41077000000000E+01
+0.41332000000000E+01
+0.41703000000000E+01
+0.42103000000000E+01
+0.42441000000000E+01
+0.42678000000000E+01
+0.42825000000000E+01
+0.42914000000000E+01
+0.42964000000000E+01
+0.43041000000000E+01
+0.43400000000000E+01
+0.44414000000000E+01
+0.40457000000000E+01
+0.40619000000000E+01
+0.40698000000000E+01
+0.40792000000000E+01
+0.40980000000000E+01
+0.41306000000000E+01
+0.41720000000000E+01
+0.42113000000000E+01
+0.42412000000000E+01
+0.42607000000000E+01
+0.42722000000000E+01
+0.42817000000000E+01
+0.43149000000000E+01
+0.44170000000000E+01
+0.36227000000000E+01
+0.38539000000000E+01
+0.39700000000000E+01
+0.40198000000000E+01
+0.40430000000000E+01
+0.40636000000000E+01
+0.40946000000000E+01
+0.41362000000000E+01
+0.41791000000000E+01
+0.42137000000000E+01
+0.42368000000000E+01
+0.42528000000000E+01
+0.42856000000000E+01
+0.43862000000000E+01
+0.20538000000000E+01
+0.28250000000000E+01
+0.33663000000000E+01
+0.37029000000000E+01
+0.38852000000000E+01
+0.39715000000000E+01
+0.40165000000000E+01
+0.40558000000000E+01
+0.41017000000000E+01
+0.41487000000000E+01
+0.41869000000000E+01
+0.42142000000000E+01
+0.42513000000000E+01
+0.43495000000000E+01
+-.26500000000000E+00
+0.82417000000000E+00
+0.18258000000000E+01
+0.26558000000000E+01
+0.32545000000000E+01
+0.36304000000000E+01
+0.38370000000000E+01
+0.39427000000000E+01
+0.40085000000000E+01
+0.40673000000000E+01
+0.41212000000000E+01
+0.41646000000000E+01
+0.42106000000000E+01
+0.43099000000000E+01
+-.23572000000000E+01
+-.12261000000000E+01
+-.11003000000000E+00
+0.96758000000000E+00
+0.19490000000000E+01
+0.27489000000000E+01
+0.33120000000000E+01
+0.36556000000000E+01
+0.38449000000000E+01
+0.39559000000000E+01
+0.40365000000000E+01
+0.41027000000000E+01
+0.41649000000000E+01
+0.42709000000000E+01
+-.41073000000000E+01
+-.29661000000000E+01
+-.18330000000000E+01
+-.71179000000000E+00
+0.38660000000000E+00
+0.14255000000000E+01
+0.23323000000000E+01
+0.30261000000000E+01
+0.34826000000000E+01
+0.37517000000000E+01
+0.39128000000000E+01
+0.40219000000000E+01
+0.41128000000000E+01
+0.42329000000000E+01
+-.55682000000000E+01
+-.44226000000000E+01
+-.32816000000000E+01
+-.21487000000000E+01
+-.10273000000000E+01
+0.75409000000000E-01
+0.11327000000000E+01
+0.20836000000000E+01
+0.28450000000000E+01
+0.33721000000000E+01
+0.37003000000000E+01
+0.39048000000000E+01
+0.40466000000000E+01
+0.41914000000000E+01
+-.67900000000000E+01
+-.56427000000000E+01
+-.44979000000000E+01
+-.33579000000000E+01
+-.22265000000000E+01
+-.11071000000000E+01
+-.59000000000000E-02
+0.10532000000000E+01
+0.20141000000000E+01
+0.27972000000000E+01
+0.33553000000000E+01
+0.37173000000000E+01
+0.39528000000000E+01
+0.41372000000000E+01
+-.78159000000000E+01
+-.66678000000000E+01
+-.55212000000000E+01
+-.43774000000000E+01
+-.32391000000000E+01
+-.21104000000000E+01
+-.99452000000000E+00
+0.10191000000000E+00
+0.11535000000000E+01
+0.21042000000000E+01
+0.28788000000000E+01
+0.34377000000000E+01
+0.38112000000000E+01
+0.40709000000000E+01
+-.86821000000000E+01
+-.75336000000000E+01
+-.63860000000000E+01
+-.52401000000000E+01
+-.40978000000000E+01
+-.29621000000000E+01
+-.18374000000000E+01
+-.72617000000000E+00
+0.36288000000000E+00
+0.13995000000000E+01
+0.23248000000000E+01
+0.30704000000000E+01
+0.36053000000000E+01
+0.39739000000000E+01
+-.94180000000000E+01
+-.82693000000000E+01
+-.71212000000000E+01
+-.59741000000000E+01
+-.48292000000000E+01
+-.36891000000000E+01
+-.25574000000000E+01
+-.14373000000000E+01
+-.33125000000000E+00
+0.74690000000000E+00
+0.17599000000000E+01
+0.26469000000000E+01
+0.33425000000000E+01
+0.38420000000000E+01
+-.10051000000000E+02
+-.89016000000000E+01
+-.77533000000000E+01
+-.66052000000000E+01
+-.54587000000000E+01
+-.43157000000000E+01
+-.31790000000000E+01
+-.20518000000000E+01
+-.93585000000000E+00
+0.16351000000000E+00
+0.12248000000000E+01
+0.22041000000000E+01
+0.30323000000000E+01
+0.36680000000000E+01
+-.10602000000000E+02
+-.94534000000000E+01
+-.83047000000000E+01
+-.71561000000000E+01
+-.60084000000000E+01
+-.48634000000000E+01
+-.37231000000000E+01
+-.25903000000000E+01
+-.14670000000000E+01
+-.35535000000000E+00
+0.73309000000000E+00
+0.17656000000000E+01
+0.26929000000000E+01
+0.34482000000000E+01
+-.11100000000000E+02
+-.99507000000000E+01
+-.88015000000000E+01
+-.76525000000000E+01
+-.65040000000000E+01
+-.53575000000000E+01
+-.42148000000000E+01
+-.30778000000000E+01
+-.19485000000000E+01
+-.82877000000000E+00
+0.27538000000000E+00
+0.13418000000000E+01
+0.23354000000000E+01
+0.31918000000000E+01
+-.11549000000000E+02
+-.10400000000000E+02
+-.92505000000000E+01
+-.81011000000000E+01
+-.69519000000000E+01
+-.58044000000000E+01
+-.46599000000000E+01
+-.35197000000000E+01
+-.23853000000000E+01
+-.12592000000000E+01
+-.14445000000000E+00
+0.94456000000000E+00
+0.19835000000000E+01
+0.29187000000000E+01
+-.11960000000000E+02
+-.10811000000000E+02
+-.96611000000000E+01
+-.85112000000000E+01
+-.73617000000000E+01
+-.62134000000000E+01
+-.50675000000000E+01
+-.39247000000000E+01
+-.27863000000000E+01
+-.16548000000000E+01
+-.53262000000000E+00
+0.57387000000000E+00
+0.16416000000000E+01
+0.26356000000000E+01
+-.12342000000000E+02
+-.11193000000000E+02
+-.10043000000000E+02
+-.88926000000000E+01
+-.77427000000000E+01
+-.65937000000000E+01
+-.54468000000000E+01
+-.43020000000000E+01
+-.31605000000000E+01
+-.20247000000000E+01
+-.89674000000000E+00
+0.21986000000000E+00
+0.13098000000000E+01
+0.23465000000000E+01
+-.12682000000000E+02
+-.11532000000000E+02
+-.10382000000000E+02
+-.92317000000000E+01
+-.80815000000000E+01
+-.69320000000000E+01
+-.57839000000000E+01
+-.46377000000000E+01
+-.34938000000000E+01
+-.23543000000000E+01
+-.12216000000000E+01
+-.97370000000000E-01
+0.10088000000000E+01
+0.20775000000000E+01
+-.13009000000000E+02
+-.11859000000000E+02
+-.10708000000000E+02
+-.95576000000000E+01
+-.84072000000000E+01
+-.72573000000000E+01
+-.61085000000000E+01
+-.49611000000000E+01
+-.38152000000000E+01
+-.26730000000000E+01
+-.15365000000000E+01
+-.40687000000000E+00
+0.71054000000000E+00
+0.18013000000000E+01
+-.13333000000000E+02
+-.12182000000000E+02
+-.11032000000000E+02
+-.98809000000000E+01
+-.87302000000000E+01
+-.75800000000000E+01
+-.64307000000000E+01
+-.52822000000000E+01
+-.41351000000000E+01
+-.29906000000000E+01
+-.18511000000000E+01
+-.71744000000000E+00
+0.40791000000000E+00
+0.15146000000000E+01
+-.13654000000000E+02
+-.12504000000000E+02
+-.11353000000000E+02
+-.10202000000000E+02
+-.90513000000000E+01
+-.79009000000000E+01
+-.67511000000000E+01
+-.56021000000000E+01
+-.44539000000000E+01
+-.33077000000000E+01
+-.21657000000000E+01
+-.10290000000000E+01
+0.10273000000000E+00
+0.12198000000000E+01
+-.13973000000000E+02
+-.12822000000000E+02
+-.11671000000000E+02
+-.10520000000000E+02
+-.93691000000000E+01
+-.82185000000000E+01
+-.70684000000000E+01
+-.59188000000000E+01
+-.47699000000000E+01
+-.36224000000000E+01
+-.24784000000000E+01
+-.13391000000000E+01
+-.20383000000000E+00
+0.92165000000000E+00
+-.14262000000000E+02
+-.13112000000000E+02
+-.11961000000000E+02
+-.10810000000000E+02
+-.96584000000000E+01
+-.85076000000000E+01
+-.73573000000000E+01
+-.62073000000000E+01
+-.50577000000000E+01
+-.39094000000000E+01
+-.27636000000000E+01
+-.16221000000000E+01
+-.48406000000000E+00
+0.64757000000000E+00
+0.36838000000000E+01
+0.36843000000000E+01
+0.36847000000000E+01
+0.36850000000000E+01
+0.36852000000000E+01
+0.36853000000000E+01
+0.36853000000000E+01
+0.36852000000000E+01
+0.36851000000000E+01
+0.36854000000000E+01
+0.36876000000000E+01
+0.36992000000000E+01
+0.37402000000000E+01
+0.38541000000000E+01
+0.36812000000000E+01
+0.36821000000000E+01
+0.36828000000000E+01
+0.36833000000000E+01
+0.36838000000000E+01
+0.36841000000000E+01
+0.36843000000000E+01
+0.36843000000000E+01
+0.36842000000000E+01
+0.36844000000000E+01
+0.36865000000000E+01
+0.36981000000000E+01
+0.37390000000000E+01
+0.38524000000000E+01
+0.36765000000000E+01
+0.36780000000000E+01
+0.36794000000000E+01
+0.36804000000000E+01
+0.36813000000000E+01
+0.36820000000000E+01
+0.36825000000000E+01
+0.36827000000000E+01
+0.36826000000000E+01
+0.36827000000000E+01
+0.36848000000000E+01
+0.36963000000000E+01
+0.37371000000000E+01
+0.38503000000000E+01
+0.36686000000000E+01
+0.36713000000000E+01
+0.36736000000000E+01
+0.36755000000000E+01
+0.36771000000000E+01
+0.36783000000000E+01
+0.36793000000000E+01
+0.36799000000000E+01
+0.36802000000000E+01
+0.36802000000000E+01
+0.36819000000000E+01
+0.36936000000000E+01
+0.37344000000000E+01
+0.38474000000000E+01
+0.36562000000000E+01
+0.36608000000000E+01
+0.36647000000000E+01
+0.36679000000000E+01
+0.36705000000000E+01
+0.36727000000000E+01
+0.36744000000000E+01
+0.36756000000000E+01
+0.36763000000000E+01
+0.36766000000000E+01
+0.36779000000000E+01
+0.36891000000000E+01
+0.37306000000000E+01
+0.38434000000000E+01
+0.36224000000000E+01
+0.36387000000000E+01
+0.36490000000000E+01
+0.36557000000000E+01
+0.36605000000000E+01
+0.36641000000000E+01
+0.36671000000000E+01
+0.36693000000000E+01
+0.36707000000000E+01
+0.36714000000000E+01
+0.36724000000000E+01
+0.36827000000000E+01
+0.37224000000000E+01
+0.38365000000000E+01
+0.35421000000000E+01
+0.35762000000000E+01
+0.36057000000000E+01
+0.36274000000000E+01
+0.36414000000000E+01
+0.36501000000000E+01
+0.36558000000000E+01
+0.36598000000000E+01
+0.36625000000000E+01
+0.36642000000000E+01
+0.36653000000000E+01
+0.36747000000000E+01
+0.37126000000000E+01
+0.38217000000000E+01
+0.34716000000000E+01
+0.34938000000000E+01
+0.35269000000000E+01
+0.35635000000000E+01
+0.35959000000000E+01
+0.36198000000000E+01
+0.36349000000000E+01
+0.36444000000000E+01
+0.36503000000000E+01
+0.36538000000000E+01
+0.36558000000000E+01
+0.36640000000000E+01
+0.37010000000000E+01
+0.38063000000000E+01
+0.34451000000000E+01
+0.34502000000000E+01
+0.34625000000000E+01
+0.34871000000000E+01
+0.35227000000000E+01
+0.35609000000000E+01
+0.35930000000000E+01
+0.36154000000000E+01
+0.36293000000000E+01
+0.36381000000000E+01
+0.36425000000000E+01
+0.36503000000000E+01
+0.36868000000000E+01
+0.37892000000000E+01
+0.34057000000000E+01
+0.34219000000000E+01
+0.34297000000000E+01
+0.34389000000000E+01
+0.34570000000000E+01
+0.34884000000000E+01
+0.35280000000000E+01
+0.35653000000000E+01
+0.35937000000000E+01
+0.36122000000000E+01
+0.36230000000000E+01
+0.36326000000000E+01
+0.36662000000000E+01
+0.37693000000000E+01
+0.29886000000000E+01
+0.32198000000000E+01
+0.33359000000000E+01
+0.33857000000000E+01
+0.34086000000000E+01
+0.34288000000000E+01
+0.34587000000000E+01
+0.34986000000000E+01
+0.35393000000000E+01
+0.35722000000000E+01
+0.35939000000000E+01
+0.36088000000000E+01
+0.36402000000000E+01
+0.37383000000000E+01
+0.14269000000000E+01
+0.21981000000000E+01
+0.27395000000000E+01
+0.30762000000000E+01
+0.32584000000000E+01
+0.33446000000000E+01
+0.33891000000000E+01
+0.34274000000000E+01
+0.34714000000000E+01
+0.35162000000000E+01
+0.35523000000000E+01
+0.35780000000000E+01
+0.36131000000000E+01
+0.37079000000000E+01
+-.88393000000000E+00
+0.20557000000000E+00
+0.12072000000000E+01
+0.20372000000000E+01
+0.26359000000000E+01
+0.30118000000000E+01
+0.32182000000000E+01
+0.33235000000000E+01
+0.33882000000000E+01
+0.34449000000000E+01
+0.34965000000000E+01
+0.35375000000000E+01
+0.35814000000000E+01
+0.36776000000000E+01
+-.29727000000000E+01
+-.18382000000000E+01
+-.72052000000000E+00
+0.35730000000000E+00
+0.13387000000000E+01
+0.21385000000000E+01
+0.27016000000000E+01
+0.30449000000000E+01
+0.32336000000000E+01
+0.33431000000000E+01
+0.34214000000000E+01
+0.34849000000000E+01
+0.35441000000000E+01
+0.36456000000000E+01
+-.47198000000000E+01
+-.35765000000000E+01
+-.24398000000000E+01
+-.13155000000000E+01
+-.21621000000000E+00
+0.82268000000000E+00
+0.17294000000000E+01
+0.24229000000000E+01
+0.28791000000000E+01
+0.31473000000000E+01
+0.33065000000000E+01
+0.34127000000000E+01
+0.35000000000000E+01
+0.36152000000000E+01
+-.61765000000000E+01
+-.50302000000000E+01
+-.38872000000000E+01
+-.27506000000000E+01
+-.16255000000000E+01
+-.52136000000000E+00
+0.53590000000000E+00
+0.14867000000000E+01
+0.22477000000000E+01
+0.27742000000000E+01
+0.31009000000000E+01
+0.33030000000000E+01
+0.34411000000000E+01
+0.35831000000000E+01
+-.73944000000000E+01
+-.62468000000000E+01
+-.51013000000000E+01
+-.39594000000000E+01
+-.28241000000000E+01
+-.17008000000000E+01
+-.59804000000000E+00
+0.46099000000000E+00
+0.14216000000000E+01
+0.22042000000000E+01
+0.27612000000000E+01
+0.31210000000000E+01
+0.33530000000000E+01
+0.35377000000000E+01
+-.84165000000000E+01
+-.72684000000000E+01
+-.61216000000000E+01
+-.49769000000000E+01
+-.38364000000000E+01
+-.27036000000000E+01
+-.15841000000000E+01
+-.48650000000000E+00
+0.56490000000000E+00
+0.15151000000000E+01
+0.22888000000000E+01
+0.28461000000000E+01
+0.32166000000000E+01
+0.34799000000000E+01
+-.92788000000000E+01
+-.81301000000000E+01
+-.69825000000000E+01
+-.58363000000000E+01
+-.46927000000000E+01
+-.35545000000000E+01
+-.24256000000000E+01
+-.13114000000000E+01
+-.22182000000000E+00
+0.81433000000000E+00
+0.17389000000000E+01
+0.24833000000000E+01
+0.30204000000000E+01
+0.33903000000000E+01
+-.10010000000000E+02
+-.88611000000000E+01
+-.77130000000000E+01
+-.65657000000000E+01
+-.54203000000000E+01
+-.42786000000000E+01
+-.31437000000000E+01
+-.20197000000000E+01
+-.91182000000000E+00
+0.16614000000000E+00
+0.11784000000000E+01
+0.20641000000000E+01
+0.27649000000000E+01
+0.32655000000000E+01
+-.10634000000000E+02
+-.94846000000000E+01
+-.83362000000000E+01
+-.71881000000000E+01
+-.60414000000000E+01
+-.48975000000000E+01
+-.37587000000000E+01
+-.26279000000000E+01
+-.15090000000000E+01
+-.40915000000000E+00
+0.65150000000000E+00
+0.16298000000000E+01
+0.24617000000000E+01
+0.31033000000000E+01
+-.11173000000000E+02
+-.10024000000000E+02
+-.88755000000000E+01
+-.77268000000000E+01
+-.65790000000000E+01
+-.54335000000000E+01
+-.42920000000000E+01
+-.31564000000000E+01
+-.20297000000000E+01
+-.91669000000000E+00
+0.17144000000000E+00
+0.12067000000000E+01
+0.21337000000000E+01
+0.28950000000000E+01
+-.11656000000000E+02
+-.10506000000000E+02
+-.93574000000000E+01
+-.82083000000000E+01
+-.70597000000000E+01
+-.59130000000000E+01
+-.47695000000000E+01
+-.36306000000000E+01
+-.24982000000000E+01
+-.13763000000000E+01
+-.27203000000000E+00
+0.79701000000000E+00
+0.17902000000000E+01
+0.26525000000000E+01
+-.12093000000000E+02
+-.10944000000000E+02
+-.97947000000000E+01
+-.86450000000000E+01
+-.74960000000000E+01
+-.63484000000000E+01
+-.52035000000000E+01
+-.40619000000000E+01
+-.29251000000000E+01
+-.17965000000000E+01
+-.68108000000000E+00
+0.41017000000000E+00
+0.14481000000000E+01
+0.23876000000000E+01
+-.12490000000000E+02
+-.11341000000000E+02
+-.10191000000000E+02
+-.90415000000000E+01
+-.78920000000000E+01
+-.67435000000000E+01
+-.55974000000000E+01
+-.44539000000000E+01
+-.33137000000000E+01
+-.21797000000000E+01
+-.10562000000000E+01
+0.49981000000000E-01
+0.11188000000000E+01
+0.21155000000000E+01
+-.12857000000000E+02
+-.11708000000000E+02
+-.10558000000000E+02
+-.94077000000000E+01
+-.82578000000000E+01
+-.71089000000000E+01
+-.59617000000000E+01
+-.48165000000000E+01
+-.36736000000000E+01
+-.25356000000000E+01
+-.14059000000000E+01
+-.28913000000000E+00
+0.80135000000000E+00
+0.18399000000000E+01
+-.13204000000000E+02
+-.12055000000000E+02
+-.10905000000000E+02
+-.97542000000000E+01
+-.86040000000000E+01
+-.74545000000000E+01
+-.63065000000000E+01
+-.51599000000000E+01
+-.40151000000000E+01
+-.28738000000000E+01
+-.17392000000000E+01
+-.61484000000000E+00
+0.49102000000000E+00
+0.15596000000000E+01
+-.13515000000000E+02
+-.12365000000000E+02
+-.11215000000000E+02
+-.10064000000000E+02
+-.89136000000000E+01
+-.77638000000000E+01
+-.66151000000000E+01
+-.54674000000000E+01
+-.43209000000000E+01
+-.31771000000000E+01
+-.20386000000000E+01
+-.90826000000000E+00
+0.20900000000000E+00
+0.12997000000000E+01
+-.13821000000000E+02
+-.12670000000000E+02
+-.11520000000000E+02
+-.10369000000000E+02
+-.92185000000000E+01
+-.80684000000000E+01
+-.69191000000000E+01
+-.57705000000000E+01
+-.46228000000000E+01
+-.34771000000000E+01
+-.23356000000000E+01
+-.12007000000000E+01
+-.74970000000000E-01
+0.10316000000000E+01
+-.14125000000000E+02
+-.12975000000000E+02
+-.11824000000000E+02
+-.10674000000000E+02
+-.95227000000000E+01
+-.83721000000000E+01
+-.72224000000000E+01
+-.60734000000000E+01
+-.49247000000000E+01
+-.37776000000000E+01
+-.26337000000000E+01
+-.14953000000000E+01
+-.36314000000000E+00
+0.75417000000000E+00
+-.14430000000000E+02
+-.13280000000000E+02
+-.12129000000000E+02
+-.10978000000000E+02
+-.98269000000000E+01
+-.86760000000000E+01
+-.75260000000000E+01
+-.63765000000000E+01
+-.52272000000000E+01
+-.40790000000000E+01
+-.29333000000000E+01
+-.17922000000000E+01
+-.65605000000000E+00
+0.46966000000000E+00
+-.14738000000000E+02
+-.13587000000000E+02
+-.12436000000000E+02
+-.11285000000000E+02
+-.10134000000000E+02
+-.89829000000000E+01
+-.78325000000000E+01
+-.66825000000000E+01
+-.55327000000000E+01
+-.43838000000000E+01
+-.32368000000000E+01
+-.20934000000000E+01
+-.95435000000000E+00
+0.17732000000000E+00
+0.31281000000000E+01
+0.31284000000000E+01
+0.31286000000000E+01
+0.31288000000000E+01
+0.31289000000000E+01
+0.31290000000000E+01
+0.31290000000000E+01
+0.31289000000000E+01
+0.31288000000000E+01
+0.31290000000000E+01
+0.31317000000000E+01
+0.31437000000000E+01
+0.31854000000000E+01
+0.32996000000000E+01
+0.31267000000000E+01
+0.31273000000000E+01
+0.31279000000000E+01
+0.31282000000000E+01
+0.31285000000000E+01
+0.31287000000000E+01
+0.31288000000000E+01
+0.31288000000000E+01
+0.31287000000000E+01
+0.31288000000000E+01
+0.31314000000000E+01
+0.31435000000000E+01
+0.31850000000000E+01
+0.32988000000000E+01
+0.31237000000000E+01
+0.31250000000000E+01
+0.31260000000000E+01
+0.31269000000000E+01
+0.31276000000000E+01
+0.31281000000000E+01
+0.31283000000000E+01
+0.31284000000000E+01
+0.31284000000000E+01
+0.31284000000000E+01
+0.31309000000000E+01
+0.31430000000000E+01
+0.31844000000000E+01
+0.32979000000000E+01
+0.31180000000000E+01
+0.31205000000000E+01
+0.31224000000000E+01
+0.31241000000000E+01
+0.31253000000000E+01
+0.31263000000000E+01
+0.31270000000000E+01
+0.31274000000000E+01
+0.31274000000000E+01
+0.31276000000000E+01
+0.31296000000000E+01
+0.31419000000000E+01
+0.31833000000000E+01
+0.32966000000000E+01
+0.31082000000000E+01
+0.31125000000000E+01
+0.31160000000000E+01
+0.31188000000000E+01
+0.31211000000000E+01
+0.31228000000000E+01
+0.31242000000000E+01
+0.31251000000000E+01
+0.31256000000000E+01
+0.31259000000000E+01
+0.31274000000000E+01
+0.31392000000000E+01
+0.31813000000000E+01
+0.32945000000000E+01
+0.30781000000000E+01
+0.30934000000000E+01
+0.31032000000000E+01
+0.31093000000000E+01
+0.31136000000000E+01
+0.31168000000000E+01
+0.31193000000000E+01
+0.31211000000000E+01
+0.31223000000000E+01
+0.31229000000000E+01
+0.31241000000000E+01
+0.31349000000000E+01
+0.31753000000000E+01
+0.32897000000000E+01
+0.30048000000000E+01
+0.30367000000000E+01
+0.30644000000000E+01
+0.30848000000000E+01
+0.30978000000000E+01
+0.31057000000000E+01
+0.31107000000000E+01
+0.31143000000000E+01
+0.31166000000000E+01
+0.31181000000000E+01
+0.31194000000000E+01
+0.31293000000000E+01
+0.31677000000000E+01
+0.32772000000000E+01
+0.29413000000000E+01
+0.29619000000000E+01
+0.29927000000000E+01
+0.30269000000000E+01
+0.30573000000000E+01
+0.30793000000000E+01
+0.30933000000000E+01
+0.31020000000000E+01
+0.31073000000000E+01
+0.31105000000000E+01
+0.31125000000000E+01
+0.31211000000000E+01
+0.31587000000000E+01
+0.32642000000000E+01
+0.29188000000000E+01
+0.29235000000000E+01
+0.29350000000000E+01
+0.29578000000000E+01
+0.29910000000000E+01
+0.30266000000000E+01
+0.30563000000000E+01
+0.30771000000000E+01
+0.30900000000000E+01
+0.30981000000000E+01
+0.31023000000000E+01
+0.31104000000000E+01
+0.31474000000000E+01
+0.32501000000000E+01
+0.28829000000000E+01
+0.28991000000000E+01
+0.29067000000000E+01
+0.29154000000000E+01
+0.29323000000000E+01
+0.29615000000000E+01
+0.29980000000000E+01
+0.30327000000000E+01
+0.30592000000000E+01
+0.30765000000000E+01
+0.30867000000000E+01
+0.30962000000000E+01
+0.31302000000000E+01
+0.32336000000000E+01
+0.24695000000000E+01
+0.27007000000000E+01
+0.28169000000000E+01
+0.28666000000000E+01
+0.28892000000000E+01
+0.29083000000000E+01
+0.29359000000000E+01
+0.29729000000000E+01
+0.30109000000000E+01
+0.30417000000000E+01
+0.30621000000000E+01
+0.30765000000000E+01
+0.31081000000000E+01
+0.32065000000000E+01
+0.91066000000000E+00
+0.16819000000000E+01
+0.22234000000000E+01
+0.25601000000000E+01
+0.27422000000000E+01
+0.28281000000000E+01
+0.28715000000000E+01
+0.29076000000000E+01
+0.29487000000000E+01
+0.29906000000000E+01
+0.30243000000000E+01
+0.30480000000000E+01
+0.30806000000000E+01
+0.31705000000000E+01
+-.13996000000000E+01
+-.31037000000000E+00
+0.69078000000000E+00
+0.15206000000000E+01
+0.21193000000000E+01
+0.24952000000000E+01
+0.27012000000000E+01
+0.28049000000000E+01
+0.28676000000000E+01
+0.29213000000000E+01
+0.29696000000000E+01
+0.30079000000000E+01
+0.30486000000000E+01
+0.31390000000000E+01
+-.34941000000000E+01
+-.23590000000000E+01
+-.12417000000000E+01
+-.16526000000000E+00
+0.81508000000000E+00
+0.16144000000000E+01
+0.21772000000000E+01
+0.25201000000000E+01
+0.27067000000000E+01
+0.28130000000000E+01
+0.28891000000000E+01
+0.29491000000000E+01
+0.30049000000000E+01
+0.31010000000000E+01
+-.52537000000000E+01
+-.41099000000000E+01
+-.29729000000000E+01
+-.18494000000000E+01
+-.75293000000000E+00
+0.28318000000000E+00
+0.11884000000000E+01
+0.18811000000000E+01
+0.23364000000000E+01
+0.26017000000000E+01
+0.27568000000000E+01
+0.28610000000000E+01
+0.29437000000000E+01
+0.30522000000000E+01
+-.67292000000000E+01
+-.55829000000000E+01
+-.44398000000000E+01
+-.33033000000000E+01
+-.21799000000000E+01
+-.10801000000000E+01
+-.27781000000000E-01
+0.91998000000000E+00
+0.16795000000000E+01
+0.22044000000000E+01
+0.25270000000000E+01
+0.27241000000000E+01
+0.28596000000000E+01
+0.29942000000000E+01
+-.79713000000000E+01
+-.68237000000000E+01
+-.56782000000000E+01
+-.45363000000000E+01
+-.34017000000000E+01
+-.22810000000000E+01
+-.11846000000000E+01
+-.13245000000000E+00
+0.82397000000000E+00
+0.16042000000000E+01
+0.21581000000000E+01
+0.25129000000000E+01
+0.27393000000000E+01
+0.29194000000000E+01
+-.90198000000000E+01
+-.78717000000000E+01
+-.67247000000000E+01
+-.55802000000000E+01
+-.44399000000000E+01
+-.33084000000000E+01
+-.21930000000000E+01
+-.11036000000000E+01
+-.60200000000000E-01
+0.88524000000000E+00
+0.16560000000000E+01
+0.22083000000000E+01
+0.25730000000000E+01
+0.28295000000000E+01
+-.99070000000000E+01
+-.87583000000000E+01
+-.76107000000000E+01
+-.64645000000000E+01
+-.53212000000000E+01
+-.41833000000000E+01
+-.30566000000000E+01
+-.19485000000000E+01
+-.86873000000000E+00
+0.15943000000000E+00
+0.10795000000000E+01
+0.18192000000000E+01
+0.23508000000000E+01
+0.27189000000000E+01
+-.10659000000000E+02
+-.95103000000000E+01
+-.83621000000000E+01
+-.72147000000000E+01
+-.60695000000000E+01
+-.49280000000000E+01
+-.37943000000000E+01
+-.26738000000000E+01
+-.15744000000000E+01
+-.50668000000000E+00
+0.49860000000000E+00
+0.13793000000000E+01
+0.20749000000000E+01
+0.25763000000000E+01
+-.11299000000000E+02
+-.10150000000000E+02
+-.90012000000000E+01
+-.78533000000000E+01
+-.67065000000000E+01
+-.55627000000000E+01
+-.44246000000000E+01
+-.32959000000000E+01
+-.21830000000000E+01
+-.10934000000000E+01
+-.42025000000000E-01
+0.93016000000000E+00
+0.17611000000000E+01
+0.24011000000000E+01
+-.11844000000000E+02
+-.10696000000000E+02
+-.95469000000000E+01
+-.83982000000000E+01
+-.72504000000000E+01
+-.61050000000000E+01
+-.49639000000000E+01
+-.38295000000000E+01
+-.27067000000000E+01
+-.16024000000000E+01
+-.52452000000000E+00
+0.50343000000000E+00
+0.14311000000000E+01
+0.21915000000000E+01
+-.12326000000000E+02
+-.11177000000000E+02
+-.10028000000000E+02
+-.88787000000000E+01
+-.77303000000000E+01
+-.65837000000000E+01
+-.54404000000000E+01
+-.43022000000000E+01
+-.31724000000000E+01
+-.20571000000000E+01
+-.96294000000000E+00
+0.97500000000000E-01
+0.10883000000000E+01
+0.19520000000000E+01
+-.12754000000000E+02
+-.11605000000000E+02
+-.10456000000000E+02
+-.93064000000000E+01
+-.81572000000000E+01
+-.70099000000000E+01
+-.58651000000000E+01
+-.47240000000000E+01
+-.35887000000000E+01
+-.24648000000000E+01
+-.13583000000000E+01
+-.27602000000000E+00
+0.75861000000000E+00
+0.16999000000000E+01
+-.13143000000000E+02
+-.11994000000000E+02
+-.10844000000000E+02
+-.96946000000000E+01
+-.85449000000000E+01
+-.73967000000000E+01
+-.62507000000000E+01
+-.51075000000000E+01
+-.39683000000000E+01
+-.28376000000000E+01
+-.17214000000000E+01
+-.62425000000000E+00
+0.43981000000000E+00
+0.14370000000000E+01
+-.13498000000000E+02
+-.12349000000000E+02
+-.11199000000000E+02
+-.10049000000000E+02
+-.88987000000000E+01
+-.77499000000000E+01
+-.66028000000000E+01
+-.54579000000000E+01
+-.43157000000000E+01
+-.31799000000000E+01
+-.20558000000000E+01
+-.94756000000000E+00
+0.13707000000000E+00
+0.11746000000000E+01
+-.13829000000000E+02
+-.12679000000000E+02
+-.11529000000000E+02
+-.10378000000000E+02
+-.92280000000000E+01
+-.80786000000000E+01
+-.69307000000000E+01
+-.57844000000000E+01
+-.46400000000000E+01
+-.35002000000000E+01
+-.23699000000000E+01
+-.12529000000000E+01
+-.15353000000000E+00
+0.91293000000000E+00
+-.14151000000000E+02
+-.13001000000000E+02
+-.11851000000000E+02
+-.10700000000000E+02
+-.95498000000000E+01
+-.83999000000000E+01
+-.72513000000000E+01
+-.61040000000000E+01
+-.49579000000000E+01
+-.38152000000000E+01
+-.26800000000000E+01
+-.15562000000000E+01
+-.44616000000000E+00
+0.64009000000000E+00
+-.14437000000000E+02
+-.13287000000000E+02
+-.12136000000000E+02
+-.10985000000000E+02
+-.98347000000000E+01
+-.86846000000000E+01
+-.75353000000000E+01
+-.63870000000000E+01
+-.52396000000000E+01
+-.40946000000000E+01
+-.29555000000000E+01
+-.18260000000000E+01
+-.70628000000000E+00
+0.39475000000000E+00
+-.14717000000000E+02
+-.13567000000000E+02
+-.12416000000000E+02
+-.11265000000000E+02
+-.10114000000000E+02
+-.89639000000000E+01
+-.78141000000000E+01
+-.66650000000000E+01
+-.55167000000000E+01
+-.43701000000000E+01
+-.32279000000000E+01
+-.20937000000000E+01
+-.96803000000000E+00
+0.14457000000000E+00
+-.15002000000000E+02
+-.13851000000000E+02
+-.12700000000000E+02
+-.11549000000000E+02
+-.10398000000000E+02
+-.92478000000000E+01
+-.80977000000000E+01
+-.69481000000000E+01
+-.57991000000000E+01
+-.46512000000000E+01
+-.35068000000000E+01
+-.23689000000000E+01
+-.12386000000000E+01
+-.11790000000000E+00
+-.15292000000000E+02
+-.14142000000000E+02
+-.12991000000000E+02
+-.11840000000000E+02
+-.10688000000000E+02
+-.95378000000000E+01
+-.83875000000000E+01
+-.72374000000000E+01
+-.60878000000000E+01
+-.49391000000000E+01
+-.37929000000000E+01
+-.26521000000000E+01
+-.15180000000000E+01
+-.39160000000000E+00
+0.22142000000000E+01
+0.22145000000000E+01
+0.22146000000000E+01
+0.22147000000000E+01
+0.22148000000000E+01
+0.22148000000000E+01
+0.22148000000000E+01
+0.22148000000000E+01
+0.22147000000000E+01
+0.22151000000000E+01
+0.22184000000000E+01
+0.22321000000000E+01
+0.22767000000000E+01
+0.23963000000000E+01
+0.22133000000000E+01
+0.22138000000000E+01
+0.22142000000000E+01
+0.22145000000000E+01
+0.22147000000000E+01
+0.22148000000000E+01
+0.22149000000000E+01
+0.22149000000000E+01
+0.22148000000000E+01
+0.22150000000000E+01
+0.22184000000000E+01
+0.22320000000000E+01
+0.22765000000000E+01
+0.23956000000000E+01
+0.22111000000000E+01
+0.22122000000000E+01
+0.22131000000000E+01
+0.22138000000000E+01
+0.22143000000000E+01
+0.22147000000000E+01
+0.22148000000000E+01
+0.22149000000000E+01
+0.22149000000000E+01
+0.22150000000000E+01
+0.22182000000000E+01
+0.22318000000000E+01
+0.22762000000000E+01
+0.23950000000000E+01
+0.22067000000000E+01
+0.22089000000000E+01
+0.22108000000000E+01
+0.22122000000000E+01
+0.22133000000000E+01
+0.22141000000000E+01
+0.22145000000000E+01
+0.22148000000000E+01
+0.22149000000000E+01
+0.22150000000000E+01
+0.22178000000000E+01
+0.22316000000000E+01
+0.22760000000000E+01
+0.23945000000000E+01
+0.21989000000000E+01
+0.22030000000000E+01
+0.22063000000000E+01
+0.22089000000000E+01
+0.22110000000000E+01
+0.22125000000000E+01
+0.22136000000000E+01
+0.22144000000000E+01
+0.22148000000000E+01
+0.22150000000000E+01
+0.22172000000000E+01
+0.22305000000000E+01
+0.22757000000000E+01
+0.23941000000000E+01
+0.21735000000000E+01
+0.21876000000000E+01
+0.21967000000000E+01
+0.22025000000000E+01
+0.22065000000000E+01
+0.22094000000000E+01
+0.22116000000000E+01
+0.22132000000000E+01
+0.22142000000000E+01
+0.22148000000000E+01
+0.22166000000000E+01
+0.22288000000000E+01
+0.22721000000000E+01
+0.23918000000000E+01
+0.21094000000000E+01
+0.21385000000000E+01
+0.21640000000000E+01
+0.21829000000000E+01
+0.21950000000000E+01
+0.22025000000000E+01
+0.22072000000000E+01
+0.22104000000000E+01
+0.22125000000000E+01
+0.22137000000000E+01
+0.22155000000000E+01
+0.22267000000000E+01
+0.22681000000000E+01
+0.23828000000000E+01
+0.20554000000000E+01
+0.20740000000000E+01
+0.21021000000000E+01
+0.21335000000000E+01
+0.21615000000000E+01
+0.21821000000000E+01
+0.21952000000000E+01
+0.22032000000000E+01
+0.22081000000000E+01
+0.22111000000000E+01
+0.22134000000000E+01
+0.22231000000000E+01
+0.22635000000000E+01
+0.23743000000000E+01
+0.20396000000000E+01
+0.20438000000000E+01
+0.20541000000000E+01
+0.20748000000000E+01
+0.21052000000000E+01
+0.21379000000000E+01
+0.21656000000000E+01
+0.21850000000000E+01
+0.21971000000000E+01
+0.22045000000000E+01
+0.22089000000000E+01
+0.22178000000000E+01
+0.22577000000000E+01
+0.23655000000000E+01
+0.20102000000000E+01
+0.20261000000000E+01
+0.20333000000000E+01
+0.20413000000000E+01
+0.20566000000000E+01
+0.20833000000000E+01
+0.21170000000000E+01
+0.21492000000000E+01
+0.21739000000000E+01
+0.21901000000000E+01
+0.21998000000000E+01
+0.22100000000000E+01
+0.22466000000000E+01
+0.23552000000000E+01
+0.16058000000000E+01
+0.18359000000000E+01
+0.19513000000000E+01
+0.20004000000000E+01
+0.20223000000000E+01
+0.20401000000000E+01
+0.20656000000000E+01
+0.20998000000000E+01
+0.21351000000000E+01
+0.21638000000000E+01
+0.21831000000000E+01
+0.21976000000000E+01
+0.22314000000000E+01
+0.23349000000000E+01
+0.58097000000000E-01
+0.82832000000000E+00
+0.13685000000000E+01
+0.17039000000000E+01
+0.18849000000000E+01
+0.19696000000000E+01
+0.20118000000000E+01
+0.20458000000000E+01
+0.20843000000000E+01
+0.21233000000000E+01
+0.21550000000000E+01
+0.21782000000000E+01
+0.22124000000000E+01
+0.23071000000000E+01
+-.22433000000000E+01
+-.11530000000000E+01
+-.15195000000000E+00
+0.67705000000000E+00
+0.12743000000000E+01
+0.16486000000000E+01
+0.18528000000000E+01
+0.19550000000000E+01
+0.20156000000000E+01
+0.20663000000000E+01
+0.21117000000000E+01
+0.21477000000000E+01
+0.21870000000000E+01
+0.22758000000000E+01
+-.43317000000000E+01
+-.31946000000000E+01
+-.20745000000000E+01
+-.99655000000000E+00
+-.16436000000000E-01
+0.78169000000000E+00
+0.13425000000000E+01
+0.16830000000000E+01
+0.18679000000000E+01
+0.19716000000000E+01
+0.20443000000000E+01
+0.21005000000000E+01
+0.21517000000000E+01
+0.22399000000000E+01
+-.60841000000000E+01
+-.49397000000000E+01
+-.38007000000000E+01
+-.26736000000000E+01
+-.15739000000000E+01
+-.53735000000000E+00
+0.36642000000000E+00
+0.10569000000000E+01
+0.15096000000000E+01
+0.17727000000000E+01
+0.19248000000000E+01
+0.20250000000000E+01
+0.21033000000000E+01
+0.22054000000000E+01
+-.75558000000000E+01
+-.64093000000000E+01
+-.52655000000000E+01
+-.41270000000000E+01
+-.29995000000000E+01
+-.18959000000000E+01
+-.84332000000000E+00
+0.10204000000000E+00
+0.85855000000000E+00
+0.13800000000000E+01
+0.16999000000000E+01
+0.18932000000000E+01
+0.20238000000000E+01
+0.21516000000000E+01
+-.88030000000000E+01
+-.76555000000000E+01
+-.65099000000000E+01
+-.53672000000000E+01
+-.42305000000000E+01
+-.31060000000000E+01
+-.20066000000000E+01
+-.95663000000000E+00
+-.54566000000000E-02
+0.76967000000000E+00
+0.13192000000000E+01
+0.16699000000000E+01
+0.18910000000000E+01
+0.20630000000000E+01
+-.98721000000000E+01
+-.87239000000000E+01
+-.75770000000000E+01
+-.64323000000000E+01
+-.52913000000000E+01
+-.41577000000000E+01
+-.30394000000000E+01
+-.19505000000000E+01
+-.91510000000000E+00
+0.19773000000000E-01
+0.78198000000000E+00
+0.13288000000000E+01
+0.16877000000000E+01
+0.19362000000000E+01
+-.10798000000000E+02
+-.96492000000000E+01
+-.85015000000000E+01
+-.73553000000000E+01
+-.62118000000000E+01
+-.50734000000000E+01
+-.39452000000000E+01
+-.28368000000000E+01
+-.17646000000000E+01
+-.75363000000000E+00
+0.14959000000000E+00
+0.87880000000000E+00
+0.14030000000000E+01
+0.17630000000000E+01
+-.11604000000000E+02
+-.10455000000000E+02
+-.93066000000000E+01
+-.81594000000000E+01
+-.70143000000000E+01
+-.58728000000000E+01
+-.47386000000000E+01
+-.36183000000000E+01
+-.25244000000000E+01
+-.14756000000000E+01
+-.49655000000000E+00
+0.36472000000000E+00
+0.10488000000000E+01
+0.15433000000000E+01
+-.12304000000000E+02
+-.11155000000000E+02
+-.10007000000000E+02
+-.88586000000000E+01
+-.77120000000000E+01
+-.65685000000000E+01
+-.54304000000000E+01
+-.43021000000000E+01
+-.31929000000000E+01
+-.21192000000000E+01
+-.10984000000000E+01
+-.15541000000000E+00
+0.65785000000000E+00
+0.12915000000000E+01
+-.12909000000000E+02
+-.11760000000000E+02
+-.10611000000000E+02
+-.94626000000000E+01
+-.83149000000000E+01
+-.71698000000000E+01
+-.60289000000000E+01
+-.48951000000000E+01
+-.37748000000000E+01
+-.26819000000000E+01
+-.16329000000000E+01
+-.64055000000000E+00
+0.26210000000000E+00
+0.10150000000000E+01
+-.13437000000000E+02
+-.12288000000000E+02
+-.11139000000000E+02
+-.99902000000000E+01
+-.88418000000000E+01
+-.76954000000000E+01
+-.65526000000000E+01
+-.54149000000000E+01
+-.42867000000000E+01
+-.31791000000000E+01
+-.21083000000000E+01
+-.10847000000000E+01
+-.12140000000000E+00
+0.72887000000000E+00
+-.13896000000000E+02
+-.12747000000000E+02
+-.11597000000000E+02
+-.10448000000000E+02
+-.92988000000000E+01
+-.81514000000000E+01
+-.70070000000000E+01
+-.58665000000000E+01
+-.47324000000000E+01
+-.36135000000000E+01
+-.25244000000000E+01
+-.14760000000000E+01
+-.47146000000000E+00
+0.45266000000000E+00
+-.14294000000000E+02
+-.13145000000000E+02
+-.11995000000000E+02
+-.10845000000000E+02
+-.96958000000000E+01
+-.85476000000000E+01
+-.74021000000000E+01
+-.62593000000000E+01
+-.51211000000000E+01
+-.39937000000000E+01
+-.28897000000000E+01
+-.18209000000000E+01
+-.78697000000000E+00
+0.19062000000000E+00
+-.14644000000000E+02
+-.13495000000000E+02
+-.12345000000000E+02
+-.11195000000000E+02
+-.10045000000000E+02
+-.88962000000000E+01
+-.77495000000000E+01
+-.66050000000000E+01
+-.54635000000000E+01
+-.43300000000000E+01
+-.32144000000000E+01
+-.21285000000000E+01
+-.10724000000000E+01
+-.56648000000000E-01
+-.14965000000000E+02
+-.13815000000000E+02
+-.12665000000000E+02
+-.11514000000000E+02
+-.10364000000000E+02
+-.92148000000000E+01
+-.80671000000000E+01
+-.69214000000000E+01
+-.57775000000000E+01
+-.46393000000000E+01
+-.35148000000000E+01
+-.24149000000000E+01
+-.13415000000000E+01
+-.29864000000000E+00
+-.15266000000000E+02
+-.14116000000000E+02
+-.12966000000000E+02
+-.11815000000000E+02
+-.10665000000000E+02
+-.95154000000000E+01
+-.83669000000000E+01
+-.72198000000000E+01
+-.60742000000000E+01
+-.49326000000000E+01
+-.38014000000000E+01
+-.26901000000000E+01
+-.16028000000000E+01
+-.54060000000000E+00
+-.15551000000000E+02
+-.14400000000000E+02
+-.13250000000000E+02
+-.12099000000000E+02
+-.10948000000000E+02
+-.97983000000000E+01
+-.86494000000000E+01
+-.75013000000000E+01
+-.63544000000000E+01
+-.52102000000000E+01
+-.40739000000000E+01
+-.29534000000000E+01
+-.18543000000000E+01
+-.77672000000000E+00
+-.15826000000000E+02
+-.14676000000000E+02
+-.13525000000000E+02
+-.12375000000000E+02
+-.11224000000000E+02
+-.10073000000000E+02
+-.89238000000000E+01
+-.77750000000000E+01
+-.66270000000000E+01
+-.54810000000000E+01
+-.43407000000000E+01
+-.32131000000000E+01
+-.21041000000000E+01
+-.10145000000000E+01
+-.16064000000000E+02
+-.14913000000000E+02
+-.13762000000000E+02
+-.12612000000000E+02
+-.11461000000000E+02
+-.10310000000000E+02
+-.91602000000000E+01
+-.80107000000000E+01
+-.68618000000000E+01
+-.57144000000000E+01
+-.45713000000000E+01
+-.34382000000000E+01
+-.23209000000000E+01
+-.12211000000000E+01
+-.16314000000000E+02
+-.15164000000000E+02
+-.14013000000000E+02
+-.12862000000000E+02
+-.11711000000000E+02
+-.10560000000000E+02
+-.94097000000000E+01
+-.82598000000000E+01
+-.71102000000000E+01
+-.59618000000000E+01
+-.48167000000000E+01
+-.36792000000000E+01
+-.25552000000000E+01
+-.14474000000000E+01
+0.33839000000000E+00
+0.33855000000000E+00
+0.33867000000000E+00
+0.33875000000000E+00
+0.33881000000000E+00
+0.33884000000000E+00
+0.33883000000000E+00
+0.33880000000000E+00
+0.33877000000000E+00
+0.33924000000000E+00
+0.34436000000000E+00
+0.36340000000000E+00
+0.42310000000000E+00
+0.57428000000000E+00
+0.33768000000000E+00
+0.33808000000000E+00
+0.33839000000000E+00
+0.33863000000000E+00
+0.33878000000000E+00
+0.33884000000000E+00
+0.33892000000000E+00
+0.33888000000000E+00
+0.33884000000000E+00
+0.33921000000000E+00
+0.34422000000000E+00
+0.36326000000000E+00
+0.42280000000000E+00
+0.57347000000000E+00
+0.33579000000000E+00
+0.33677000000000E+00
+0.33752000000000E+00
+0.33808000000000E+00
+0.33849000000000E+00
+0.33875000000000E+00
+0.33885000000000E+00
+0.33884000000000E+00
+0.33895000000000E+00
+0.33920000000000E+00
+0.34406000000000E+00
+0.36305000000000E+00
+0.42252000000000E+00
+0.57283000000000E+00
+0.33192000000000E+00
+0.33389000000000E+00
+0.33549000000000E+00
+0.33671000000000E+00
+0.33761000000000E+00
+0.33824000000000E+00
+0.33865000000000E+00
+0.33885000000000E+00
+0.33889000000000E+00
+0.33925000000000E+00
+0.34357000000000E+00
+0.36276000000000E+00
+0.42223000000000E+00
+0.57228000000000E+00
+0.32491000000000E+00
+0.32858000000000E+00
+0.33154000000000E+00
+0.33388000000000E+00
+0.33568000000000E+00
+0.33699000000000E+00
+0.33794000000000E+00
+0.33858000000000E+00
+0.33891000000000E+00
+0.33933000000000E+00
+0.34296000000000E+00
+0.36153000000000E+00
+0.42188000000000E+00
+0.57181000000000E+00
+0.30136000000000E+00
+0.31451000000000E+00
+0.32285000000000E+00
+0.32819000000000E+00
+0.33184000000000E+00
+0.33445000000000E+00
+0.33635000000000E+00
+0.33775000000000E+00
+0.33865000000000E+00
+0.33936000000000E+00
+0.34244000000000E+00
+0.35964000000000E+00
+0.41788000000000E+00
+0.56943000000000E+00
+0.24197000000000E+00
+0.26921000000000E+00
+0.29298000000000E+00
+0.31058000000000E+00
+0.32184000000000E+00
+0.32861000000000E+00
+0.33286000000000E+00
+0.33577000000000E+00
+0.33775000000000E+00
+0.33914000000000E+00
+0.34203000000000E+00
+0.35796000000000E+00
+0.41388000000000E+00
+0.55974000000000E+00
+0.19307000000000E+00
+0.21042000000000E+00
+0.23654000000000E+00
+0.26584000000000E+00
+0.29194000000000E+00
+0.31111000000000E+00
+0.32324000000000E+00
+0.33061000000000E+00
+0.33517000000000E+00
+0.33816000000000E+00
+0.34152000000000E+00
+0.35552000000000E+00
+0.41032000000000E+00
+0.55180000000000E+00
+0.18124000000000E+00
+0.18508000000000E+00
+0.19465000000000E+00
+0.21394000000000E+00
+0.24220000000000E+00
+0.27263000000000E+00
+0.29847000000000E+00
+0.31660000000000E+00
+0.32800000000000E+00
+0.33505000000000E+00
+0.34030000000000E+00
+0.35307000000000E+00
+0.40697000000000E+00
+0.54518000000000E+00
+0.15760000000000E+00
+0.17314000000000E+00
+0.18018000000000E+00
+0.18762000000000E+00
+0.20189000000000E+00
+0.22656000000000E+00
+0.25797000000000E+00
+0.28808000000000E+00
+0.31133000000000E+00
+0.32684000000000E+00
+0.33701000000000E+00
+0.35049000000000E+00
+0.40024000000000E+00
+0.53943000000000E+00
+-.23482000000000E+00
+-.66886000000000E-02
+0.10743000000000E+00
+0.15593000000000E+00
+0.17724000000000E+00
+0.19400000000000E+00
+0.21774000000000E+00
+0.24971000000000E+00
+0.28290000000000E+00
+0.31023000000000E+00
+0.32936000000000E+00
+0.34673000000000E+00
+0.39235000000000E+00
+0.52567000000000E+00
+-.17652000000000E+01
+-.99643000000000E+00
+-.45852000000000E+00
+-.12545000000000E+00
+0.53775000000000E-01
+0.13723000000000E+00
+0.17819000000000E+00
+0.21054000000000E+00
+0.24678000000000E+00
+0.28388000000000E+00
+0.31477000000000E+00
+0.34007000000000E+00
+0.38486000000000E+00
+0.50777000000000E+00
+-.40513000000000E+01
+-.29598000000000E+01
+-.19583000000000E+01
+-.11302000000000E+01
+-.53508000000000E+00
+-.16336000000000E+00
+0.38618000000000E-01
+0.13891000000000E+00
+0.19787000000000E+00
+0.24656000000000E+00
+0.29060000000000E+00
+0.32800000000000E+00
+0.37649000000000E+00
+0.49194000000000E+00
+-.61211000000000E+01
+-.49830000000000E+01
+-.38612000000000E+01
+-.27809000000000E+01
+-.17997000000000E+01
+-.10025000000000E+01
+-.44408000000000E+00
+-.10630000000000E+00
+0.76048000000000E-01
+0.17744000000000E+00
+0.24902000000000E+00
+0.30584000000000E+00
+0.36468000000000E+00
+0.47682000000000E+00
+-.78484000000000E+01
+-.67039000000000E+01
+-.55638000000000E+01
+-.44346000000000E+01
+-.33312000000000E+01
+-.22912000000000E+01
+-.13864000000000E+01
+-.69739000000000E+00
+-.24752000000000E+00
+0.12631000000000E-01
+0.16192000000000E+00
+0.26206000000000E+00
+0.34374000000000E+00
+0.45984000000000E+00
+-.92888000000000E+01
+-.81423000000000E+01
+-.69984000000000E+01
+-.58588000000000E+01
+-.47286000000000E+01
+-.36196000000000E+01
+-.25607000000000E+01
+-.16118000000000E+01
+-.85547000000000E+00
+-.33662000000000E+00
+-.20138000000000E-01
+0.17023000000000E+00
+0.30183000000000E+00
+0.43510000000000E+00
+-.10500000000000E+02
+-.93523000000000E+01
+-.82063000000000E+01
+-.70634000000000E+01
+-.59252000000000E+01
+-.47968000000000E+01
+-.36893000000000E+01
+-.26290000000000E+01
+-.16711000000000E+01
+-.89496000000000E+00
+-.34814000000000E+00
+-.14760000000000E-02
+0.21579000000000E+00
+0.38661000000000E+00
+-.11529000000000E+02
+-.10380000000000E+02
+-.92334000000000E+01
+-.80884000000000E+01
+-.69468000000000E+01
+-.58109000000000E+01
+-.46863000000000E+01
+-.35847000000000E+01
+-.25337000000000E+01
+-.15891000000000E+01
+-.82578000000000E+00
+-.28304000000000E+00
+0.69019000000000E-01
+0.30759000000000E+00
+-.12411000000000E+02
+-.11263000000000E+02
+-.10115000000000E+02
+-.89690000000000E+01
+-.78251000000000E+01
+-.66853000000000E+01
+-.55530000000000E+01
+-.44340000000000E+01
+-.33422000000000E+01
+-.23102000000000E+01
+-.13966000000000E+01
+-.66763000000000E+00
+-.14880000000000E+00
+0.20345000000000E+00
+-.13180000000000E+02
+-.12031000000000E+02
+-.10883000000000E+02
+-.97358000000000E+01
+-.85903000000000E+01
+-.74480000000000E+01
+-.63113000000000E+01
+-.51833000000000E+01
+-.40719000000000E+01
+-.29963000000000E+01
+-.19956000000000E+01
+-.11288000000000E+01
+-.44931000000000E+00
+0.37568000000000E-01
+-.13860000000000E+02
+-.12711000000000E+02
+-.11562000000000E+02
+-.10415000000000E+02
+-.92678000000000E+01
+-.81238000000000E+01
+-.69840000000000E+01
+-.58507000000000E+01
+-.47284000000000E+01
+-.36292000000000E+01
+-.25801000000000E+01
+-.16258000000000E+01
+-.81906000000000E+00
+-.19768000000000E+00
+-.14471000000000E+02
+-.13322000000000E+02
+-.12173000000000E+02
+-.11025000000000E+02
+-.98770000000000E+01
+-.87314000000000E+01
+-.75897000000000E+01
+-.64526000000000E+01
+-.53232000000000E+01
+-.42101000000000E+01
+-.31329000000000E+01
+-.21257000000000E+01
+-.12350000000000E+01
+-.50610000000000E+00
+-.15046000000000E+02
+-.13897000000000E+02
+-.12748000000000E+02
+-.11599000000000E+02
+-.10450000000000E+02
+-.93035000000000E+01
+-.81602000000000E+01
+-.70206000000000E+01
+-.58866000000000E+01
+-.47646000000000E+01
+-.36707000000000E+01
+-.26330000000000E+01
+-.16885000000000E+01
+-.87895000000000E+00
+-.15603000000000E+02
+-.14454000000000E+02
+-.13304000000000E+02
+-.12155000000000E+02
+-.11006000000000E+02
+-.98584000000000E+01
+-.87136000000000E+01
+-.75721000000000E+01
+-.64347000000000E+01
+-.53065000000000E+01
+-.42004000000000E+01
+-.31412000000000E+01
+-.21623000000000E+01
+-.13007000000000E+01
+-.16151000000000E+02
+-.15002000000000E+02
+-.13852000000000E+02
+-.12702000000000E+02
+-.11553000000000E+02
+-.10405000000000E+02
+-.92590000000000E+01
+-.81157000000000E+01
+-.69755000000000E+01
+-.58424000000000E+01
+-.47274000000000E+01
+-.36520000000000E+01
+-.26485000000000E+01
+-.17529000000000E+01
+-.16699000000000E+02
+-.15550000000000E+02
+-.14400000000000E+02
+-.13250000000000E+02
+-.12100000000000E+02
+-.10951000000000E+02
+-.98047000000000E+01
+-.86599000000000E+01
+-.75175000000000E+01
+-.63806000000000E+01
+-.52584000000000E+01
+-.41696000000000E+01
+-.31450000000000E+01
+-.22224000000000E+01
+-.17240000000000E+02
+-.16090000000000E+02
+-.14940000000000E+02
+-.13790000000000E+02
+-.12640000000000E+02
+-.11490000000000E+02
+-.10343000000000E+02
+-.91968000000000E+01
+-.80525000000000E+01
+-.69125000000000E+01
+-.57842000000000E+01
+-.46833000000000E+01
+-.36384000000000E+01
+-.26880000000000E+01
+-.17766000000000E+02
+-.16616000000000E+02
+-.15466000000000E+02
+-.14315000000000E+02
+-.13165000000000E+02
+-.12015000000000E+02
+-.10867000000000E+02
+-.97197000000000E+01
+-.85737000000000E+01
+-.74313000000000E+01
+-.62979000000000E+01
+-.51862000000000E+01
+-.41207000000000E+01
+-.31403000000000E+01
+-.18237000000000E+02
+-.17086000000000E+02
+-.15936000000000E+02
+-.14785000000000E+02
+-.13635000000000E+02
+-.12485000000000E+02
+-.11336000000000E+02
+-.10188000000000E+02
+-.90408000000000E+01
+-.78961000000000E+01
+-.67583000000000E+01
+-.56372000000000E+01
+-.45526000000000E+01
+-.35400000000000E+01
+-.18420000000000E+02
+-.17481000000000E+02
+-.16331000000000E+02
+-.15180000000000E+02
+-.14029000000000E+02
+-.12879000000000E+02
+-.11729000000000E+02
+-.10581000000000E+02
+-.94326000000000E+01
+-.82861000000000E+01
+-.71450000000000E+01
+-.60162000000000E+01
+-.49156000000000E+01
+-.38738000000000E+01
+-.18420000000000E+02
+-.17823000000000E+02
+-.16672000000000E+02
+-.15521000000000E+02
+-.14371000000000E+02
+-.13220000000000E+02
+-.12070000000000E+02
+-.10921000000000E+02
+-.97720000000000E+01
+-.86243000000000E+01
+-.74803000000000E+01
+-.63457000000000E+01
+-.52323000000000E+01
+-.41653000000000E+01
+-.18420000000000E+02
+-.18101000000000E+02
+-.16950000000000E+02
+-.15799000000000E+02
+-.14648000000000E+02
+-.13498000000000E+02
+-.12347000000000E+02
+-.11198000000000E+02
+-.10048000000000E+02
+-.88992000000000E+01
+-.77535000000000E+01
+-.66145000000000E+01
+-.54915000000000E+01
+-.44052000000000E+01
+-.40186000000000E+01
+-.40183000000000E+01
+-.40181000000000E+01
+-.40179000000000E+01
+-.40179000000000E+01
+-.40178000000000E+01
+-.40178000000000E+01
+-.40178000000000E+01
+-.40178000000000E+01
+-.40167000000000E+01
+-.40079000000000E+01
+-.39761000000000E+01
+-.38806000000000E+01
+-.36572000000000E+01
+-.40194000000000E+01
+-.40189000000000E+01
+-.40186000000000E+01
+-.40182000000000E+01
+-.40179000000000E+01
+-.40178000000000E+01
+-.40178000000000E+01
+-.40178000000000E+01
+-.40177000000000E+01
+-.40167000000000E+01
+-.40081000000000E+01
+-.39764000000000E+01
+-.38810000000000E+01
+-.36583000000000E+01
+-.40216000000000E+01
+-.40204000000000E+01
+-.40195000000000E+01
+-.40189000000000E+01
+-.40184000000000E+01
+-.40181000000000E+01
+-.40178000000000E+01
+-.40177000000000E+01
+-.40176000000000E+01
+-.40167000000000E+01
+-.40083000000000E+01
+-.39767000000000E+01
+-.38814000000000E+01
+-.36591000000000E+01
+-.40258000000000E+01
+-.40236000000000E+01
+-.40219000000000E+01
+-.40205000000000E+01
+-.40194000000000E+01
+-.40187000000000E+01
+-.40181000000000E+01
+-.40178000000000E+01
+-.40176000000000E+01
+-.40166000000000E+01
+-.40090000000000E+01
+-.39771000000000E+01
+-.38818000000000E+01
+-.36598000000000E+01
+-.40331000000000E+01
+-.40293000000000E+01
+-.40261000000000E+01
+-.40236000000000E+01
+-.40216000000000E+01
+-.40200000000000E+01
+-.40189000000000E+01
+-.40181000000000E+01
+-.40176000000000E+01
+-.40165000000000E+01
+-.40099000000000E+01
+-.39789000000000E+01
+-.38823000000000E+01
+-.36604000000000E+01
+-.40564000000000E+01
+-.40433000000000E+01
+-.40350000000000E+01
+-.40295000000000E+01
+-.40256000000000E+01
+-.40228000000000E+01
+-.40206000000000E+01
+-.40190000000000E+01
+-.40178000000000E+01
+-.40165000000000E+01
+-.40106000000000E+01
+-.39816000000000E+01
+-.38879000000000E+01
+-.36635000000000E+01
+-.41145000000000E+01
+-.40878000000000E+01
+-.40645000000000E+01
+-.40470000000000E+01
+-.40358000000000E+01
+-.40288000000000E+01
+-.40243000000000E+01
+-.40211000000000E+01
+-.40187000000000E+01
+-.40166000000000E+01
+-.40111000000000E+01
+-.39839000000000E+01
+-.38934000000000E+01
+-.36761000000000E+01
+-.41625000000000E+01
+-.41453000000000E+01
+-.41196000000000E+01
+-.40908000000000E+01
+-.40652000000000E+01
+-.40461000000000E+01
+-.40339000000000E+01
+-.40262000000000E+01
+-.40212000000000E+01
+-.40175000000000E+01
+-.40116000000000E+01
+-.39874000000000E+01
+-.38984000000000E+01
+-.36863000000000E+01
+-.41741000000000E+01
+-.41702000000000E+01
+-.41608000000000E+01
+-.41417000000000E+01
+-.41139000000000E+01
+-.40839000000000E+01
+-.40582000000000E+01
+-.40402000000000E+01
+-.40283000000000E+01
+-.40205000000000E+01
+-.40127000000000E+01
+-.39907000000000E+01
+-.39031000000000E+01
+-.36950000000000E+01
+-.41976000000000E+01
+-.41821000000000E+01
+-.41750000000000E+01
+-.41676000000000E+01
+-.41534000000000E+01
+-.41290000000000E+01
+-.40980000000000E+01
+-.40681000000000E+01
+-.40447000000000E+01
+-.40284000000000E+01
+-.40157000000000E+01
+-.39938000000000E+01
+-.39124000000000E+01
+-.37025000000000E+01
+-.45905000000000E+01
+-.43621000000000E+01
+-.42478000000000E+01
+-.41992000000000E+01
+-.41779000000000E+01
+-.41611000000000E+01
+-.41375000000000E+01
+-.41057000000000E+01
+-.40725000000000E+01
+-.40446000000000E+01
+-.40231000000000E+01
+-.39977000000000E+01
+-.39232000000000E+01
+-.37205000000000E+01
+-.61213000000000E+01
+-.53523000000000E+01
+-.48141000000000E+01
+-.44808000000000E+01
+-.43014000000000E+01
+-.42178000000000E+01
+-.41766000000000E+01
+-.41443000000000E+01
+-.41079000000000E+01
+-.40702000000000E+01
+-.40370000000000E+01
+-.40042000000000E+01
+-.39330000000000E+01
+-.37440000000000E+01
+-.84075000000000E+01
+-.73159000000000E+01
+-.63142000000000E+01
+-.54860000000000E+01
+-.48905000000000E+01
+-.45184000000000E+01
+-.43160000000000E+01
+-.42153000000000E+01
+-.41562000000000E+01
+-.41067000000000E+01
+-.40603000000000E+01
+-.40156000000000E+01
+-.39429000000000E+01
+-.37647000000000E+01
+-.10477000000000E+02
+-.93389000000000E+01
+-.82168000000000E+01
+-.71365000000000E+01
+-.61550000000000E+01
+-.53575000000000E+01
+-.47986000000000E+01
+-.44601000000000E+01
+-.42770000000000E+01
+-.41743000000000E+01
+-.41006000000000E+01
+-.40366000000000E+01
+-.39552000000000E+01
+-.37837000000000E+01
+-.12203000000000E+02
+-.11058000000000E+02
+-.99180000000000E+01
+-.87886000000000E+01
+-.76851000000000E+01
+-.66447000000000E+01
+-.57394000000000E+01
+-.50496000000000E+01
+-.45986000000000E+01
+-.43368000000000E+01
+-.41841000000000E+01
+-.40774000000000E+01
+-.39745000000000E+01
+-.38025000000000E+01
+-.13638000000000E+02
+-.12492000000000E+02
+-.11348000000000E+02
+-.10208000000000E+02
+-.90776000000000E+01
+-.79684000000000E+01
+-.69088000000000E+01
+-.59587000000000E+01
+-.52010000000000E+01
+-.46799000000000E+01
+-.43595000000000E+01
+-.41609000000000E+01
+-.40104000000000E+01
+-.38247000000000E+01
+-.14838000000000E+02
+-.13691000000000E+02
+-.12545000000000E+02
+-.11402000000000E+02
+-.10263000000000E+02
+-.91345000000000E+01
+-.80264000000000E+01
+-.69647000000000E+01
+-.60045000000000E+01
+-.52251000000000E+01
+-.46733000000000E+01
+-.43180000000000E+01
+-.40817000000000E+01
+-.38647000000000E+01
+-.15846000000000E+02
+-.14698000000000E+02
+-.13551000000000E+02
+-.12406000000000E+02
+-.11264000000000E+02
+-.10128000000000E+02
+-.90024000000000E+01
+-.78994000000000E+01
+-.68455000000000E+01
+-.58960000000000E+01
+-.51257000000000E+01
+-.45730000000000E+01
+-.42020000000000E+01
+-.39202000000000E+01
+-.16698000000000E+02
+-.15549000000000E+02
+-.14402000000000E+02
+-.13255000000000E+02
+-.12111000000000E+02
+-.10971000000000E+02
+-.98379000000000E+01
+-.87173000000000E+01
+-.76228000000000E+01
+-.65848000000000E+01
+-.56617000000000E+01
+-.49210000000000E+01
+-.43859000000000E+01
+-.40023000000000E+01
+-.17422000000000E+02
+-.16273000000000E+02
+-.15125000000000E+02
+-.13978000000000E+02
+-.12832000000000E+02
+-.11689000000000E+02
+-.10552000000000E+02
+-.94229000000000E+01
+-.83086000000000E+01
+-.72268000000000E+01
+-.62142000000000E+01
+-.53311000000000E+01
+-.46332000000000E+01
+-.41215000000000E+01
+-.18043000000000E+02
+-.16895000000000E+02
+-.15746000000000E+02
+-.14598000000000E+02
+-.13451000000000E+02
+-.12307000000000E+02
+-.11166000000000E+02
+-.10032000000000E+02
+-.89070000000000E+01
+-.78019000000000E+01
+-.67394000000000E+01
+-.57627000000000E+01
+-.49298000000000E+01
+-.42823000000000E+01
+-.18420000000000E+02
+-.17433000000000E+02
+-.16284000000000E+02
+-.15135000000000E+02
+-.13988000000000E+02
+-.12842000000000E+02
+-.11699000000000E+02
+-.10562000000000E+02
+-.94302000000000E+01
+-.83113000000000E+01
+-.72203000000000E+01
+-.61858000000000E+01
+-.52583000000000E+01
+-.44960000000000E+01
+-.18420000000000E+02
+-.17922000000000E+02
+-.16773000000000E+02
+-.15624000000000E+02
+-.14475000000000E+02
+-.13329000000000E+02
+-.12185000000000E+02
+-.11045000000000E+02
+-.99089000000000E+01
+-.87822000000000E+01
+-.76753000000000E+01
+-.66080000000000E+01
+-.56145000000000E+01
+-.47531000000000E+01
+-.18420000000000E+02
+-.18332000000000E+02
+-.17183000000000E+02
+-.16033000000000E+02
+-.14884000000000E+02
+-.13737000000000E+02
+-.12592000000000E+02
+-.11449000000000E+02
+-.10310000000000E+02
+-.91772000000000E+01
+-.80581000000000E+01
+-.69664000000000E+01
+-.59249000000000E+01
+-.49799000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17550000000000E+02
+-.16400000000000E+02
+-.15251000000000E+02
+-.14103000000000E+02
+-.12956000000000E+02
+-.11812000000000E+02
+-.10670000000000E+02
+-.95332000000000E+01
+-.84058000000000E+01
+-.72979000000000E+01
+-.62241000000000E+01
+-.52192000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17887000000000E+02
+-.16737000000000E+02
+-.15588000000000E+02
+-.14439000000000E+02
+-.13292000000000E+02
+-.12146000000000E+02
+-.11002000000000E+02
+-.98616000000000E+01
+-.87283000000000E+01
+-.76091000000000E+01
+-.65137000000000E+01
+-.54668000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18198000000000E+02
+-.17047000000000E+02
+-.15897000000000E+02
+-.14748000000000E+02
+-.13600000000000E+02
+-.12453000000000E+02
+-.11308000000000E+02
+-.10165000000000E+02
+-.90269000000000E+01
+-.78995000000000E+01
+-.67888000000000E+01
+-.57122000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17348000000000E+02
+-.16197000000000E+02
+-.15047000000000E+02
+-.13899000000000E+02
+-.12751000000000E+02
+-.11604000000000E+02
+-.10459000000000E+02
+-.93184000000000E+01
+-.81851000000000E+01
+-.70638000000000E+01
+-.59672000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17658000000000E+02
+-.16507000000000E+02
+-.15357000000000E+02
+-.14208000000000E+02
+-.13060000000000E+02
+-.11912000000000E+02
+-.10765000000000E+02
+-.96216000000000E+01
+-.84839000000000E+01
+-.73551000000000E+01
+-.62438000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17963000000000E+02
+-.16812000000000E+02
+-.15662000000000E+02
+-.14512000000000E+02
+-.13363000000000E+02
+-.12214000000000E+02
+-.11067000000000E+02
+-.99211000000000E+01
+-.87800000000000E+01
+-.76453000000000E+01
+-.65233000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18263000000000E+02
+-.17112000000000E+02
+-.15962000000000E+02
+-.14812000000000E+02
+-.13662000000000E+02
+-.12513000000000E+02
+-.11364000000000E+02
+-.10217000000000E+02
+-.90735000000000E+01
+-.79343000000000E+01
+-.68046000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17396000000000E+02
+-.16246000000000E+02
+-.15096000000000E+02
+-.13946000000000E+02
+-.12796000000000E+02
+-.11646000000000E+02
+-.10498000000000E+02
+-.93525000000000E+01
+-.82102000000000E+01
+-.70748000000000E+01
+0.82329000000000E+01
+0.87043000000000E+01
+0.92195000000000E+01
+0.96541000000000E+01
+0.10005000000000E+02
+0.10270000000000E+02
+0.10765000000000E+02
+0.10758000000000E+02
+0.10689000000000E+02
+0.11055000000000E+02
+0.11007000000000E+02
+0.10821000000000E+02
+0.11082000000000E+02
+0.11279000000000E+02
+0.66826000000000E+01
+0.78170000000000E+01
+0.87141000000000E+01
+0.93245000000000E+01
+0.96741000000000E+01
+0.10336000000000E+02
+0.10487000000000E+02
+0.10640000000000E+02
+0.10575000000000E+02
+0.10909000000000E+02
+0.10795000000000E+02
+0.10344000000000E+02
+0.10548000000000E+02
+0.10746000000000E+02
+0.52362000000000E+01
+0.64882000000000E+01
+0.76407000000000E+01
+0.92632000000000E+01
+0.99565000000000E+01
+0.10311000000000E+02
+0.10487000000000E+02
+0.10481000000000E+02
+0.10424000000000E+02
+0.10664000000000E+02
+0.10579000000000E+02
+0.99722000000000E+01
+0.10046000000000E+02
+0.10245000000000E+02
+0.41210000000000E+01
+0.54879000000000E+01
+0.72882000000000E+01
+0.85361000000000E+01
+0.94561000000000E+01
+0.99036000000000E+01
+0.10066000000000E+02
+0.10151000000000E+02
+0.10186000000000E+02
+0.10248000000000E+02
+0.10251000000000E+02
+0.96946000000000E+01
+0.95940000000000E+01
+0.97944000000000E+01
+0.34642000000000E+01
+0.47583000000000E+01
+0.65629000000000E+01
+0.78373000000000E+01
+0.88437000000000E+01
+0.93237000000000E+01
+0.95044000000000E+01
+0.95864000000000E+01
+0.96929000000000E+01
+0.97434000000000E+01
+0.98667000000000E+01
+0.94714000000000E+01
+0.92539000000000E+01
+0.94526000000000E+01
+0.30063000000000E+01
+0.40173000000000E+01
+0.51245000000000E+01
+0.72290000000000E+01
+0.81855000000000E+01
+0.87114000000000E+01
+0.89307000000000E+01
+0.90645000000000E+01
+0.91626000000000E+01
+0.92793000000000E+01
+0.95369000000000E+01
+0.92830000000000E+01
+0.90691000000000E+01
+0.92581000000000E+01
+0.26851000000000E+01
+0.35490000000000E+01
+0.43531000000000E+01
+0.55338000000000E+01
+0.75139000000000E+01
+0.81111000000000E+01
+0.84177000000000E+01
+0.86448000000000E+01
+0.87756000000000E+01
+0.89189000000000E+01
+0.92959000000000E+01
+0.91399000000000E+01
+0.89927000000000E+01
+0.91807000000000E+01
+0.21815000000000E+01
+0.32075000000000E+01
+0.41332000000000E+01
+0.52516000000000E+01
+0.67535000000000E+01
+0.75798000000000E+01
+0.80203000000000E+01
+0.82095000000000E+01
+0.84607000000000E+01
+0.85862000000000E+01
+0.90825000000000E+01
+0.90093000000000E+01
+0.89231000000000E+01
+0.91035000000000E+01
+0.12991000000000E+01
+0.24301000000000E+01
+0.35012000000000E+01
+0.45605000000000E+01
+0.56564000000000E+01
+0.67939000000000E+01
+0.76942000000000E+01
+0.81008000000000E+01
+0.83513000000000E+01
+0.83418000000000E+01
+0.88096000000000E+01
+0.87979000000000E+01
+0.87581000000000E+01
+0.89197000000000E+01
+0.42925000000000E+00
+0.15630000000000E+01
+0.26584000000000E+01
+0.37344000000000E+01
+0.48999000000000E+01
+0.59419000000000E+01
+0.70800000000000E+01
+0.76445000000000E+01
+0.79888000000000E+01
+0.82700000000000E+01
+0.84314000000000E+01
+0.84690000000000E+01
+0.84829000000000E+01
+0.86387000000000E+01
+-.30112000000000E+00
+0.73473000000000E+00
+0.17763000000000E+01
+0.28346000000000E+01
+0.39980000000000E+01
+0.50258000000000E+01
+0.60614000000000E+01
+0.69226000000000E+01
+0.74181000000000E+01
+0.77620000000000E+01
+0.79506000000000E+01
+0.80557000000000E+01
+0.81165000000000E+01
+0.82751000000000E+01
+-.11226000000000E+01
+-.14875000000000E+00
+0.84157000000000E+00
+0.18615000000000E+01
+0.29200000000000E+01
+0.40087000000000E+01
+0.50328000000000E+01
+0.60092000000000E+01
+0.66674000000000E+01
+0.71527000000000E+01
+0.74584000000000E+01
+0.76055000000000E+01
+0.77194000000000E+01
+0.78477000000000E+01
+-.19361000000000E+01
+-.10086000000000E+01
+-.79460000000000E-01
+0.89919000000000E+00
+0.19504000000000E+01
+0.30367000000000E+01
+0.40624000000000E+01
+0.50704000000000E+01
+0.58945000000000E+01
+0.65437000000000E+01
+0.69250000000000E+01
+0.71807000000000E+01
+0.73331000000000E+01
+0.74045000000000E+01
+-.24026000000000E+01
+-.16372000000000E+01
+-.82088000000000E+00
+0.12525000000000E+00
+0.11253000000000E+01
+0.22187000000000E+01
+0.32313000000000E+01
+0.43894000000000E+01
+0.54366000000000E+01
+0.61824000000000E+01
+0.64276000000000E+01
+0.67382000000000E+01
+0.69163000000000E+01
+0.69559000000000E+01
+-.29465000000000E+01
+-.21157000000000E+01
+-.13071000000000E+01
+-.46732000000000E+00
+0.45943000000000E+00
+0.15499000000000E+01
+0.26572000000000E+01
+0.37187000000000E+01
+0.48026000000000E+01
+0.56556000000000E+01
+0.60747000000000E+01
+0.62185000000000E+01
+0.63879000000000E+01
+0.64564000000000E+01
+-.38555000000000E+01
+-.29258000000000E+01
+-.20057000000000E+01
+-.10961000000000E+01
+-.15789000000000E+00
+0.91310000000000E+00
+0.19555000000000E+01
+0.30310000000000E+01
+0.40465000000000E+01
+0.49298000000000E+01
+0.53860000000000E+01
+0.56758000000000E+01
+0.57816000000000E+01
+0.58937000000000E+01
+-.49185000000000E+01
+-.39440000000000E+01
+-.29794000000000E+01
+-.20240000000000E+01
+-.10702000000000E+01
+-.50948000000000E-01
+0.97464000000000E+00
+0.20372000000000E+01
+0.30319000000000E+01
+0.39266000000000E+01
+0.45249000000000E+01
+0.49178000000000E+01
+0.51606000000000E+01
+0.52972000000000E+01
+-.60229000000000E+01
+-.49969000000000E+01
+-.40061000000000E+01
+-.30337000000000E+01
+-.20833000000000E+01
+-.11284000000000E+01
+-.17668000000000E+00
+0.81978000000000E+00
+0.18228000000000E+01
+0.27594000000000E+01
+0.35471000000000E+01
+0.41100000000000E+01
+0.44824000000000E+01
+0.47301000000000E+01
+-.70945000000000E+01
+-.60250000000000E+01
+-.49990000000000E+01
+-.40057000000000E+01
+-.30416000000000E+01
+-.21024000000000E+01
+-.12000000000000E+01
+-.27810000000000E+00
+0.67944000000000E+00
+0.16447000000000E+01
+0.25411000000000E+01
+0.32739000000000E+01
+0.38038000000000E+01
+0.41638000000000E+01
+-.80811000000000E+01
+-.69879000000000E+01
+-.59296000000000E+01
+-.49097000000000E+01
+-.39234000000000E+01
+-.29680000000000E+01
+-.20686000000000E+01
+-.11858000000000E+01
+-.28475000000000E+00
+0.65102000000000E+00
+0.15817000000000E+01
+0.24277000000000E+01
+0.31080000000000E+01
+0.35983000000000E+01
+-.89685000000000E+01
+-.78638000000000E+01
+-.67845000000000E+01
+-.57390000000000E+01
+-.47296000000000E+01
+-.37510000000000E+01
+-.28295000000000E+01
+-.19494000000000E+01
+-.10813000000000E+01
+-.19281000000000E+00
+0.71519000000000E+00
+0.16023000000000E+01
+0.23899000000000E+01
+0.30096000000000E+01
+-.97573000000000E+01
+-.86472000000000E+01
+-.75579000000000E+01
+-.64951000000000E+01
+-.54648000000000E+01
+-.44652000000000E+01
+-.35161000000000E+01
+-.26177000000000E+01
+-.17565000000000E+01
+-.90205000000000E+00
+-.35990000000000E-01
+0.83925000000000E+00
+0.16766000000000E+01
+0.23940000000000E+01
+-.10460000000000E+02
+-.93469000000000E+01
+-.82532000000000E+01
+-.71818000000000E+01
+-.61370000000000E+01
+-.51207000000000E+01
+-.41479000000000E+01
+-.32250000000000E+01
+-.23530000000000E+01
+-.15125000000000E+01
+-.68199000000000E+00
+0.15747000000000E+00
+0.99585000000000E+00
+0.17694000000000E+01
+-.11098000000000E+02
+-.99827000000000E+01
+-.88850000000000E+01
+-.78081000000000E+01
+-.67533000000000E+01
+-.57234000000000E+01
+-.47314000000000E+01
+-.37847000000000E+01
+-.28928000000000E+01
+-.20494000000000E+01
+-.12389000000000E+01
+-.43640000000000E+00
+0.37075000000000E+00
+0.11468000000000E+01
+-.11688000000000E+02
+-.10569000000000E+02
+-.94668000000000E+01
+-.83848000000000E+01
+-.73229000000000E+01
+-.62820000000000E+01
+-.52747000000000E+01
+-.43080000000000E+01
+-.33951000000000E+01
+-.25404000000000E+01
+-.17386000000000E+01
+-.96930000000000E+00
+-.21325000000000E+00
+0.51578000000000E+00
+-.12255000000000E+02
+-.11132000000000E+02
+-.10025000000000E+02
+-.89375000000000E+01
+-.78696000000000E+01
+-.68202000000000E+01
+-.58004000000000E+01
+-.48177000000000E+01
+-.38856000000000E+01
+-.30170000000000E+01
+-.22178000000000E+01
+-.14782000000000E+01
+-.78171000000000E+00
+-.12880000000000E+00
+-.12831000000000E+02
+-.11704000000000E+02
+-.10592000000000E+02
+-.94985000000000E+01
+-.84255000000000E+01
+-.73710000000000E+01
+-.63422000000000E+01
+-.53464000000000E+01
+-.43970000000000E+01
+-.35135000000000E+01
+-.27136000000000E+01
+-.19986000000000E+01
+-.13572000000000E+01
+-.77962000000000E+00
+-.13448000000000E+02
+-.12317000000000E+02
+-.11199000000000E+02
+-.10100000000000E+02
+-.90212000000000E+01
+-.79628000000000E+01
+-.69277000000000E+01
+-.59218000000000E+01
+-.49572000000000E+01
+-.40575000000000E+01
+-.32505000000000E+01
+-.25492000000000E+01
+-.19460000000000E+01
+-.14222000000000E+01
+-.14118000000000E+02
+-.12984000000000E+02
+-.11861000000000E+02
+-.10755000000000E+02
+-.96699000000000E+01
+-.86060000000000E+01
+-.75648000000000E+01
+-.65494000000000E+01
+-.55708000000000E+01
+-.46521000000000E+01
+-.38281000000000E+01
+-.31230000000000E+01
+-.25344000000000E+01
+-.20356000000000E+01
+-.14826000000000E+02
+-.13689000000000E+02
+-.12562000000000E+02
+-.11449000000000E+02
+-.10357000000000E+02
+-.92859000000000E+01
+-.82383000000000E+01
+-.72159000000000E+01
+-.62263000000000E+01
+-.52897000000000E+01
+-.44427000000000E+01
+-.37186000000000E+01
+-.31222000000000E+01
+-.26234000000000E+01
+-.15560000000000E+02
+-.14420000000000E+02
+-.13289000000000E+02
+-.12170000000000E+02
+-.11070000000000E+02
+-.99907000000000E+01
+-.89355000000000E+01
+-.79062000000000E+01
+-.69071000000000E+01
+-.59535000000000E+01
+-.50807000000000E+01
+-.43273000000000E+01
+-.37073000000000E+01
+-.31941000000000E+01
+-.16293000000000E+02
+-.15152000000000E+02
+-.14018000000000E+02
+-.12895000000000E+02
+-.11789000000000E+02
+-.10704000000000E+02
+-.96411000000000E+01
+-.86038000000000E+01
+-.75948000000000E+01
+-.66252000000000E+01
+-.57266000000000E+01
+-.49399000000000E+01
+-.42864000000000E+01
+-.37451000000000E+01
+-.29072000000000E+01
+-.20347000000000E+01
+-.11202000000000E+01
+-.12801000000000E+00
+0.93143000000000E+00
+0.20077000000000E+01
+0.30574000000000E+01
+0.40895000000000E+01
+0.51267000000000E+01
+0.60991000000000E+01
+0.68149000000000E+01
+0.71099000000000E+01
+0.71511000000000E+01
+0.71549000000000E+01
+-.32521000000000E+01
+-.23516000000000E+01
+-.14212000000000E+01
+-.42259000000000E+00
+0.64189000000000E+00
+0.17303000000000E+01
+0.28046000000000E+01
+0.38673000000000E+01
+0.49319000000000E+01
+0.59431000000000E+01
+0.67446000000000E+01
+0.71486000000000E+01
+0.72275000000000E+01
+0.72328000000000E+01
+-.35447000000000E+01
+-.26163000000000E+01
+-.16688000000000E+01
+-.66312000000000E+00
+0.40535000000000E+00
+0.15024000000000E+01
+0.25942000000000E+01
+0.36791000000000E+01
+0.47650000000000E+01
+0.58085000000000E+01
+0.66848000000000E+01
+0.72041000000000E+01
+0.73445000000000E+01
+0.73550000000000E+01
+-.38065000000000E+01
+-.28528000000000E+01
+-.18898000000000E+01
+-.87854000000000E+00
+0.19193000000000E+00
+0.12945000000000E+01
+0.23984000000000E+01
+0.34993000000000E+01
+0.46012000000000E+01
+0.56708000000000E+01
+0.66102000000000E+01
+0.72429000000000E+01
+0.74694000000000E+01
+0.74938000000000E+01
+-.40503000000000E+01
+-.30746000000000E+01
+-.20982000000000E+01
+-.10830000000000E+01
+-.12383000000000E-01
+0.10933000000000E+01
+0.22059000000000E+01
+0.33186000000000E+01
+0.44327000000000E+01
+0.55229000000000E+01
+0.65135000000000E+01
+0.72505000000000E+01
+0.75833000000000E+01
+0.76372000000000E+01
+-.42435000000000E+01
+-.32499000000000E+01
+-.22612000000000E+01
+-.12414000000000E+01
+-.16985000000000E+00
+0.93851000000000E+00
+0.20582000000000E+01
+0.31803000000000E+01
+0.43042000000000E+01
+0.54104000000000E+01
+0.64418000000000E+01
+0.72699000000000E+01
+0.77211000000000E+01
+0.78265000000000E+01
+-.44117000000000E+01
+-.34033000000000E+01
+-.24042000000000E+01
+-.13803000000000E+01
+-.30833000000000E+00
+0.80171000000000E+00
+0.19265000000000E+01
+0.30557000000000E+01
+0.41869000000000E+01
+0.53052000000000E+01
+0.63680000000000E+01
+0.72726000000000E+01
+0.78442000000000E+01
+0.80269000000000E+01
+-.46074000000000E+01
+-.35856000000000E+01
+-.25778000000000E+01
+-.15522000000000E+01
+-.48252000000000E+00
+0.62672000000000E+00
+0.17541000000000E+01
+0.28878000000000E+01
+0.40239000000000E+01
+0.51512000000000E+01
+0.62379000000000E+01
+0.72039000000000E+01
+0.78896000000000E+01
+0.81726000000000E+01
+-.48269000000000E+01
+-.37930000000000E+01
+-.27772000000000E+01
+-.17510000000000E+01
+-.68555000000000E+00
+0.42085000000000E+00
+0.15489000000000E+01
+0.26854000000000E+01
+0.38250000000000E+01
+0.49587000000000E+01
+0.60631000000000E+01
+0.70771000000000E+01
+0.78644000000000E+01
+0.82637000000000E+01
+-.50671000000000E+01
+-.40217000000000E+01
+-.29982000000000E+01
+-.19717000000000E+01
+-.91171000000000E+00
+0.19001000000000E+00
+0.13171000000000E+01
+0.24550000000000E+01
+0.35970000000000E+01
+0.47354000000000E+01
+0.58527000000000E+01
+0.69034000000000E+01
+0.77764000000000E+01
+0.82986000000000E+01
+-.53250000000000E+01
+-.42689000000000E+01
+-.32374000000000E+01
+-.22101000000000E+01
+-.11561000000000E+01
+-.60735000000000E-01
+0.10640000000000E+01
+0.22021000000000E+01
+0.33455000000000E+01
+0.44872000000000E+01
+0.56140000000000E+01
+0.66923000000000E+01
+0.76345000000000E+01
+0.82761000000000E+01
+-.55978000000000E+01
+-.45317000000000E+01
+-.34919000000000E+01
+-.24627000000000E+01
+-.14147000000000E+01
+-.32702000000000E+00
+0.79376000000000E+00
+0.19312000000000E+01
+0.30753000000000E+01
+0.42191000000000E+01
+0.53528000000000E+01
+0.64514000000000E+01
+0.74480000000000E+01
+0.81980000000000E+01
+-.58832000000000E+01
+-.48076000000000E+01
+-.37592000000000E+01
+-.27269000000000E+01
+-.16841000000000E+01
+-.60512000000000E+00
+0.51016000000000E+00
+0.16458000000000E+01
+0.27900000000000E+01
+0.39353000000000E+01
+0.50739000000000E+01
+0.61873000000000E+01
+0.72253000000000E+01
+0.80681000000000E+01
+-.61791000000000E+01
+-.50947000000000E+01
+-.40375000000000E+01
+-.30007000000000E+01
+-.19617000000000E+01
+-.89185000000000E+00
+0.21638000000000E+00
+0.13492000000000E+01
+0.24927000000000E+01
+0.36389000000000E+01
+0.47808000000000E+01
+0.59049000000000E+01
+0.69742000000000E+01
+0.78931000000000E+01
+-.64835000000000E+01
+-.53911000000000E+01
+-.43251000000000E+01
+-.32826000000000E+01
+-.22455000000000E+01
+-.11846000000000E+01
+-.84864000000000E-01
+0.10438000000000E+01
+0.21860000000000E+01
+0.33326000000000E+01
+0.44768000000000E+01
+0.56086000000000E+01
+0.67008000000000E+01
+0.76797000000000E+01
+-.67526000000000E+01
+-.56537000000000E+01
+-.45800000000000E+01
+-.35316000000000E+01
+-.24943000000000E+01
+-.14402000000000E+01
+-.34860000000000E+00
+0.77545000000000E+00
+0.19161000000000E+01
+0.30626000000000E+01
+0.42084000000000E+01
+0.53457000000000E+01
+0.64546000000000E+01
+0.74796000000000E+01
+-.70045000000000E+01
+-.59004000000000E+01
+-.48199000000000E+01
+-.37654000000000E+01
+-.27266000000000E+01
+-.16778000000000E+01
+-.59412000000000E+00
+0.52477000000000E+00
+0.16634000000000E+01
+0.28095000000000E+01
+0.39564000000000E+01
+0.50975000000000E+01
+0.62185000000000E+01
+0.72781000000000E+01
+-.72776000000000E+01
+-.61685000000000E+01
+-.50811000000000E+01
+-.40198000000000E+01
+-.29781000000000E+01
+-.19337000000000E+01
+-.85887000000000E+00
+0.25330000000000E+00
+0.13889000000000E+01
+0.25342000000000E+01
+0.36816000000000E+01
+0.48254000000000E+01
+0.59551000000000E+01
+0.70403000000000E+01
+-.75658000000000E+01
+-.64521000000000E+01
+-.53580000000000E+01
+-.42896000000000E+01
+-.32437000000000E+01
+-.22021000000000E+01
+-.11363000000000E+01
+-.32314000000000E-01
+0.10992000000000E+01
+0.22431000000000E+01
+0.33906000000000E+01
+0.45363000000000E+01
+0.56720000000000E+01
+0.67760000000000E+01
+-.78654000000000E+01
+-.67476000000000E+01
+-.56472000000000E+01
+-.45713000000000E+01
+-.35200000000000E+01
+-.24794000000000E+01
+-.14220000000000E+01
+-.32736000000000E+00
+0.79881000000000E+00
+0.19407000000000E+01
+0.30879000000000E+01
+0.42347000000000E+01
+0.53749000000000E+01
+0.64923000000000E+01
+-.81731000000000E+01
+-.70519000000000E+01
+-.59458000000000E+01
+-.48624000000000E+01
+-.38047000000000E+01
+-.27631000000000E+01
+-.17127000000000E+01
+-.62834000000000E+00
+0.49108000000000E+00
+0.16301000000000E+01
+0.27766000000000E+01
+0.39241000000000E+01
+0.50673000000000E+01
+0.61945000000000E+01
+-.84873000000000E+01
+-.73629000000000E+01
+-.62516000000000E+01
+-.51610000000000E+01
+-.40962000000000E+01
+-.30518000000000E+01
+-.20065000000000E+01
+-.93257000000000E+00
+0.17865000000000E+00
+0.13139000000000E+01
+0.24592000000000E+01
+0.36070000000000E+01
+0.47522000000000E+01
+0.58862000000000E+01
+-.88069000000000E+01
+-.76788000000000E+01
+-.65631000000000E+01
+-.54658000000000E+01
+-.43934000000000E+01
+-.33444000000000E+01
+-.23020000000000E+01
+-.12380000000000E+01
+-.13628000000000E+00
+0.99400000000000E+00
+0.21375000000000E+01
+0.32852000000000E+01
+0.44318000000000E+01
+0.55707000000000E+01
+-.91289000000000E+01
+-.79982000000000E+01
+-.68788000000000E+01
+-.57751000000000E+01
+-.46952000000000E+01
+-.36404000000000E+01
+-.25985000000000E+01
+-.15431000000000E+01
+-.45190000000000E+00
+0.67209000000000E+00
+0.18131000000000E+01
+0.29602000000000E+01
+0.41077000000000E+01
+0.52500000000000E+01
+-.94543000000000E+01
+-.83206000000000E+01
+-.71971000000000E+01
+-.60881000000000E+01
+-.50007000000000E+01
+-.39391000000000E+01
+-.28956000000000E+01
+-.18469000000000E+01
+-.76659000000000E+00
+0.34967000000000E+00
+0.14873000000000E+01
+0.26334000000000E+01
+0.37813000000000E+01
+0.49260000000000E+01
+-.97385000000000E+01
+-.86021000000000E+01
+-.74760000000000E+01
+-.63629000000000E+01
+-.52694000000000E+01
+-.42014000000000E+01
+-.31547000000000E+01
+-.21100000000000E+01
+-.10390000000000E+01
+0.69427000000000E-01
+0.12033000000000E+01
+0.23481000000000E+01
+0.34961000000000E+01
+0.46425000000000E+01
+-.10003000000000E+02
+-.88655000000000E+01
+-.77382000000000E+01
+-.66212000000000E+01
+-.55223000000000E+01
+-.44482000000000E+01
+-.33976000000000E+01
+-.23549000000000E+01
+-.12919000000000E+01
+-.19159000000000E+00
+0.93788000000000E+00
+0.20811000000000E+01
+0.32289000000000E+01
+0.43762000000000E+01
+-.10274000000000E+02
+-.91399000000000E+01
+-.80112000000000E+01
+-.68899000000000E+01
+-.57864000000000E+01
+-.47058000000000E+01
+-.36502000000000E+01
+-.26077000000000E+01
+-.15521000000000E+01
+-.46083000000000E+00
+0.66313000000000E+00
+0.18042000000000E+01
+0.29514000000000E+01
+0.40995000000000E+01
+-.10563000000000E+02
+-.94204000000000E+01
+-.82891000000000E+01
+-.71652000000000E+01
+-.60565000000000E+01
+-.49696000000000E+01
+-.39083000000000E+01
+-.28646000000000E+01
+-.18148000000000E+01
+-.73303000000000E+00
+0.38429000000000E+00
+0.15225000000000E+01
+0.26689000000000E+01
+0.38172000000000E+01
+-.10852000000000E+02
+-.97000000000000E+01
+-.85676000000000E+01
+-.74417000000000E+01
+-.63290000000000E+01
+-.52362000000000E+01
+-.41686000000000E+01
+-.31221000000000E+01
+-.20766000000000E+01
+-.10041000000000E+01
+0.10551000000000E+00
+0.12400000000000E+01
+0.23851000000000E+01
+0.35335000000000E+01
+-.11103000000000E+02
+-.99939000000000E+01
+-.88450000000000E+01
+-.77174000000000E+01
+-.66006000000000E+01
+-.55022000000000E+01
+-.44283000000000E+01
+-.33777000000000E+01
+-.23346000000000E+01
+-.12708000000000E+01
+-.16961000000000E+00
+0.96034000000000E+00
+0.21038000000000E+01
+0.32519000000000E+01
+-.11408000000000E+02
+-.10259000000000E+02
+-.91108000000000E+01
+-.79866000000000E+01
+-.68673000000000E+01
+-.57645000000000E+01
+-.46843000000000E+01
+-.36291000000000E+01
+-.25864000000000E+01
+-.15300000000000E+01
+-.43783000000000E+00
+0.68672000000000E+00
+0.18281000000000E+01
+0.29755000000000E+01
+-.61924000000000E+01
+-.50471000000000E+01
+-.39119000000000E+01
+-.28000000000000E+01
+-.17255000000000E+01
+-.69116000000000E+00
+0.30646000000000E+00
+0.13026000000000E+01
+0.23534000000000E+01
+0.34447000000000E+01
+0.45001000000000E+01
+0.54404000000000E+01
+0.62233000000000E+01
+0.63674000000000E+01
+-.64719000000000E+01
+-.53263000000000E+01
+-.41907000000000E+01
+-.30790000000000E+01
+-.20066000000000E+01
+-.97169000000000E+00
+0.41459000000000E-01
+0.10646000000000E+01
+0.21344000000000E+01
+0.32344000000000E+01
+0.43046000000000E+01
+0.52722000000000E+01
+0.60602000000000E+01
+0.62306000000000E+01
+-.67100000000000E+01
+-.55640000000000E+01
+-.44275000000000E+01
+-.33144000000000E+01
+-.22404000000000E+01
+-.12013000000000E+01
+-.17342000000000E+00
+0.87248000000000E+00
+0.19588000000000E+01
+0.30679000000000E+01
+0.41521000000000E+01
+0.51453000000000E+01
+0.59432000000000E+01
+0.61492000000000E+01
+-.69673000000000E+01
+-.58206000000000E+01
+-.46823000000000E+01
+-.35652000000000E+01
+-.24855000000000E+01
+-.14406000000000E+01
+-.40363000000000E+00
+0.65491000000000E+00
+0.17509000000000E+01
+0.28672000000000E+01
+0.39645000000000E+01
+0.49822000000000E+01
+0.57981000000000E+01
+0.60516000000000E+01
+-.72239000000000E+01
+-.60763000000000E+01
+-.49357000000000E+01
+-.38132000000000E+01
+-.27245000000000E+01
+-.16702000000000E+01
+-.62291000000000E+00
+0.44717000000000E+00
+0.15514000000000E+01
+0.26732000000000E+01
+0.37792000000000E+01
+0.48145000000000E+01
+0.56519000000000E+01
+0.59641000000000E+01
+-.74192000000000E+01
+-.62709000000000E+01
+-.51283000000000E+01
+-.40011000000000E+01
+-.29039000000000E+01
+-.18387000000000E+01
+-.78017000000000E+00
+0.30110000000000E+00
+0.14130000000000E+01
+0.25396000000000E+01
+0.36529000000000E+01
+0.47032000000000E+01
+0.55677000000000E+01
+0.59501000000000E+01
+-.76140000000000E+01
+-.64651000000000E+01
+-.53207000000000E+01
+-.41888000000000E+01
+-.30829000000000E+01
+-.20073000000000E+01
+-.93941000000000E+00
+0.14983000000000E+00
+0.12670000000000E+01
+0.23972000000000E+01
+0.35162000000000E+01
+0.45802000000000E+01
+0.54758000000000E+01
+0.59369000000000E+01
+-.77869000000000E+01
+-.66375000000000E+01
+-.54917000000000E+01
+-.43561000000000E+01
+-.32426000000000E+01
+-.21572000000000E+01
+-.10808000000000E+01
+0.14986000000000E-01
+0.11363000000000E+01
+0.22695000000000E+01
+0.33934000000000E+01
+0.44697000000000E+01
+0.53986000000000E+01
+0.59432000000000E+01
+-.79531000000000E+01
+-.68032000000000E+01
+-.56562000000000E+01
+-.45176000000000E+01
+-.33975000000000E+01
+-.23035000000000E+01
+-.12197000000000E+01
+-.11904000000000E+00
+0.10053000000000E+01
+0.21407000000000E+01
+0.32688000000000E+01
+0.43569000000000E+01
+0.53191000000000E+01
+0.59485000000000E+01
+-.81570000000000E+01
+-.70068000000000E+01
+-.58589000000000E+01
+-.47173000000000E+01
+-.35911000000000E+01
+-.24888000000000E+01
+-.13993000000000E+01
+-.29617000000000E+00
+0.82938000000000E+00
+0.19662000000000E+01
+0.30978000000000E+01
+0.41968000000000E+01
+0.51908000000000E+01
+0.59025000000000E+01
+-.83374000000000E+01
+-.71870000000000E+01
+-.60383000000000E+01
+-.48948000000000E+01
+-.37639000000000E+01
+-.26545000000000E+01
+-.15596000000000E+01
+-.45416000000000E+00
+0.67229000000000E+00
+0.18102000000000E+01
+0.29451000000000E+01
+0.40537000000000E+01
+0.50771000000000E+01
+0.58655000000000E+01
+-.85120000000000E+01
+-.73613000000000E+01
+-.62120000000000E+01
+-.50669000000000E+01
+-.39322000000000E+01
+-.28168000000000E+01
+-.17170000000000E+01
+-.60994000000000E+00
+0.51686000000000E+00
+0.16556000000000E+01
+0.27932000000000E+01
+0.39103000000000E+01
+0.49595000000000E+01
+0.58170000000000E+01
+-.87234000000000E+01
+-.75726000000000E+01
+-.64229000000000E+01
+-.52762000000000E+01
+-.41382000000000E+01
+-.30171000000000E+01
+-.19128000000000E+01
+-.80505000000000E+00
+0.32092000000000E+00
+0.14597000000000E+01
+0.25992000000000E+01
+0.37236000000000E+01
+0.47949000000000E+01
+0.57128000000000E+01
+-.89712000000000E+01
+-.78204000000000E+01
+-.66703000000000E+01
+-.55226000000000E+01
+-.43815000000000E+01
+-.32549000000000E+01
+-.21458000000000E+01
+-.10380000000000E+01
+0.86126000000000E-01
+0.12241000000000E+01
+0.23651000000000E+01
+0.34954000000000E+01
+0.45848000000000E+01
+0.55540000000000E+01
+-.92424000000000E+01
+-.80913000000000E+01
+-.69409000000000E+01
+-.57922000000000E+01
+-.46487000000000E+01
+-.35172000000000E+01
+-.24030000000000E+01
+-.12947000000000E+01
+-.17315000000000E+00
+0.96341000000000E+00
+0.21052000000000E+01
+0.32399000000000E+01
+0.43441000000000E+01
+0.53553000000000E+01
+-.95015000000000E+01
+-.83503000000000E+01
+-.71997000000000E+01
+-.60504000000000E+01
+-.49050000000000E+01
+-.37695000000000E+01
+-.26503000000000E+01
+-.15408000000000E+01
+-.42160000000000E+00
+0.71315000000000E+00
+0.18551000000000E+01
+0.29933000000000E+01
+0.41091000000000E+01
+0.51543000000000E+01
+-.97224000000000E+01
+-.85713000000000E+01
+-.74207000000000E+01
+-.62709000000000E+01
+-.51243000000000E+01
+-.39858000000000E+01
+-.28624000000000E+01
+-.17511000000000E+01
+-.63358000000000E+00
+0.49940000000000E+00
+0.16413000000000E+01
+0.27820000000000E+01
+0.39067000000000E+01
+0.49785000000000E+01
+-.99722000000000E+01
+-.88210000000000E+01
+-.76700000000000E+01
+-.65200000000000E+01
+-.53723000000000E+01
+-.42311000000000E+01
+-.31035000000000E+01
+-.19897000000000E+01
+-.87399000000000E+00
+0.25649000000000E+00
+0.13976000000000E+01
+0.25400000000000E+01
+0.36714000000000E+01
+0.47638000000000E+01
+-.10243000000000E+02
+-.90916000000000E+01
+-.79406000000000E+01
+-.67902000000000E+01
+-.56416000000000E+01
+-.44982000000000E+01
+-.33663000000000E+01
+-.22495000000000E+01
+-.11351000000000E+01
+-.76693000000000E-02
+0.11321000000000E+01
+0.22754000000000E+01
+0.34117000000000E+01
+0.45197000000000E+01
+-.10529000000000E+02
+-.93779000000000E+01
+-.82268000000000E+01
+-.70762000000000E+01
+-.59270000000000E+01
+-.47817000000000E+01
+-.36460000000000E+01
+-.25252000000000E+01
+-.14115000000000E+01
+-.28740000000000E+00
+0.85031000000000E+00
+0.19938000000000E+01
+0.31335000000000E+01
+0.42531000000000E+01
+-.10772000000000E+02
+-.96208000000000E+01
+-.84697000000000E+01
+-.73190000000000E+01
+-.61693000000000E+01
+-.50228000000000E+01
+-.38843000000000E+01
+-.27599000000000E+01
+-.16457000000000E+01
+-.52426000000000E+00
+0.61134000000000E+00
+0.17546000000000E+01
+0.28968000000000E+01
+0.40248000000000E+01
+-.11002000000000E+02
+-.98503000000000E+01
+-.86992000000000E+01
+-.75485000000000E+01
+-.63984000000000E+01
+-.52509000000000E+01
+-.41101000000000E+01
+-.29824000000000E+01
+-.18669000000000E+01
+-.74779000000000E+00
+0.38553000000000E+00
+0.15282000000000E+01
+0.26719000000000E+01
+0.38062000000000E+01
+-.11260000000000E+02
+-.10109000000000E+02
+-.89580000000000E+01
+-.78071000000000E+01
+-.66569000000000E+01
+-.55084000000000E+01
+-.43655000000000E+01
+-.32342000000000E+01
+-.21166000000000E+01
+-.99962000000000E+00
+0.13076000000000E+00
+0.12722000000000E+01
+0.24168000000000E+01
+0.35555000000000E+01
+-.11539000000000E+02
+-.10388000000000E+02
+-.92366000000000E+01
+-.80854000000000E+01
+-.69349000000000E+01
+-.57859000000000E+01
+-.46410000000000E+01
+-.35062000000000E+01
+-.23857000000000E+01
+-.12701000000000E+01
+-.14306000000000E+00
+0.99658000000000E+00
+0.21413000000000E+01
+0.32830000000000E+01
+-.11831000000000E+02
+-.10679000000000E+02
+-.95281000000000E+01
+-.83770000000000E+01
+-.72263000000000E+01
+-.60768000000000E+01
+-.49304000000000E+01
+-.37923000000000E+01
+-.26682000000000E+01
+-.15529000000000E+01
+-.42944000000000E+00
+0.70772000000000E+00
+0.18521000000000E+01
+0.29957000000000E+01
+-.12125000000000E+02
+-.10974000000000E+02
+-.98230000000000E+01
+-.86716000000000E+01
+-.75209000000000E+01
+-.63708000000000E+01
+-.52233000000000E+01
+-.40823000000000E+01
+-.29543000000000E+01
+-.18381000000000E+01
+-.71794000000000E+00
+0.41619000000000E+00
+0.15595000000000E+01
+0.27043000000000E+01
+-.12425000000000E+02
+-.11273000000000E+02
+-.10122000000000E+02
+-.89707000000000E+01
+-.78198000000000E+01
+-.66696000000000E+01
+-.55210000000000E+01
+-.43778000000000E+01
+-.32458000000000E+01
+-.21275000000000E+01
+-.10099000000000E+01
+0.12071000000000E+00
+0.12625000000000E+01
+0.24078000000000E+01
+-.12725000000000E+02
+-.11574000000000E+02
+-.10423000000000E+02
+-.92715000000000E+01
+-.81206000000000E+01
+-.69700000000000E+01
+-.58208000000000E+01
+-.46757000000000E+01
+-.35400000000000E+01
+-.24186000000000E+01
+-.13026000000000E+01
+-.17573000000000E+00
+0.96393000000000E+00
+0.21091000000000E+01
+-.13026000000000E+02
+-.11874000000000E+02
+-.10723000000000E+02
+-.95715000000000E+01
+-.84204000000000E+01
+-.72697000000000E+01
+-.61200000000000E+01
+-.49733000000000E+01
+-.38345000000000E+01
+-.27095000000000E+01
+-.15938000000000E+01
+-.47057000000000E+00
+0.66641000000000E+00
+0.18110000000000E+01
+-.13322000000000E+02
+-.12171000000000E+02
+-.11020000000000E+02
+-.98684000000000E+01
+-.87173000000000E+01
+-.75664000000000E+01
+-.64163000000000E+01
+-.52686000000000E+01
+-.41271000000000E+01
+-.29982000000000E+01
+-.18815000000000E+01
+-.76146000000000E+00
+0.37238000000000E+00
+0.15158000000000E+01
+-.13564000000000E+02
+-.12414000000000E+02
+-.11263000000000E+02
+-.10112000000000E+02
+-.89607000000000E+01
+-.78097000000000E+01
+-.66593000000000E+01
+-.55107000000000E+01
+-.43674000000000E+01
+-.32355000000000E+01
+-.21171000000000E+01
+-.99915000000000E+00
+0.13184000000000E+00
+0.12740000000000E+01
+-.13784000000000E+02
+-.12631000000000E+02
+-.11481000000000E+02
+-.10330000000000E+02
+-.91785000000000E+01
+-.80273000000000E+01
+-.68768000000000E+01
+-.57279000000000E+01
+-.45831000000000E+01
+-.34485000000000E+01
+-.23280000000000E+01
+-.12114000000000E+01
+-.83080000000000E-01
+0.10576000000000E+01
+-.82029000000000E+01
+-.70536000000000E+01
+-.59064000000000E+01
+-.47657000000000E+01
+-.36433000000000E+01
+-.25628000000000E+01
+-.15447000000000E+01
+-.54933000000000E+00
+0.49557000000000E+00
+0.15835000000000E+01
+0.26383000000000E+01
+0.35798000000000E+01
+0.44077000000000E+01
+0.51547000000000E+01
+-.84236000000000E+01
+-.72737000000000E+01
+-.61256000000000E+01
+-.49830000000000E+01
+-.38558000000000E+01
+-.27639000000000E+01
+-.17242000000000E+01
+-.70389000000000E+00
+0.35498000000000E+00
+0.14481000000000E+01
+0.25162000000000E+01
+0.34862000000000E+01
+0.43348000000000E+01
+0.50778000000000E+01
+-.86360000000000E+01
+-.74860000000000E+01
+-.63374000000000E+01
+-.51935000000000E+01
+-.40631000000000E+01
+-.29641000000000E+01
+-.19119000000000E+01
+-.87926000000000E+00
+0.18444000000000E+00
+0.12798000000000E+01
+0.23597000000000E+01
+0.33578000000000E+01
+0.42325000000000E+01
+0.49725000000000E+01
+-.88914000000000E+01
+-.77411000000000E+01
+-.65922000000000E+01
+-.54476000000000E+01
+-.43156000000000E+01
+-.32131000000000E+01
+-.21569000000000E+01
+-.11242000000000E+01
+-.65369000000000E-01
+0.10282000000000E+01
+0.21185000000000E+01
+0.31452000000000E+01
+0.40519000000000E+01
+0.47925000000000E+01
+-.91619000000000E+01
+-.80112000000000E+01
+-.68622000000000E+01
+-.57168000000000E+01
+-.45825000000000E+01
+-.34757000000000E+01
+-.24133000000000E+01
+-.13785000000000E+01
+-.32364000000000E+00
+0.76729000000000E+00
+0.18642000000000E+01
+0.29130000000000E+01
+0.38503000000000E+01
+0.45944000000000E+01
+-.93948000000000E+01
+-.82441000000000E+01
+-.70947000000000E+01
+-.59486000000000E+01
+-.48123000000000E+01
+-.37006000000000E+01
+-.26307000000000E+01
+-.15905000000000E+01
+-.53540000000000E+00
+0.55573000000000E+00
+0.16592000000000E+01
+0.27272000000000E+01
+0.36940000000000E+01
+0.44480000000000E+01
+-.96184000000000E+01
+-.84675000000000E+01
+-.73177000000000E+01
+-.61709000000000E+01
+-.50323000000000E+01
+-.39153000000000E+01
+-.28362000000000E+01
+-.17878000000000E+01
+-.72923000000000E+00
+0.36356000000000E+00
+0.14727000000000E+01
+0.25563000000000E+01
+0.35491000000000E+01
+0.43204000000000E+01
+-.98276000000000E+01
+-.86768000000000E+01
+-.75269000000000E+01
+-.63790000000000E+01
+-.52383000000000E+01
+-.41157000000000E+01
+-.30266000000000E+01
+-.19679000000000E+01
+-.90395000000000E+00
+0.19125000000000E+00
+0.13048000000000E+01
+0.24003000000000E+01
+0.34153000000000E+01
+0.42114000000000E+01
+-.99805000000000E+01
+-.88296000000000E+01
+-.76792000000000E+01
+-.65308000000000E+01
+-.53882000000000E+01
+-.42606000000000E+01
+-.31624000000000E+01
+-.20930000000000E+01
+-.10219000000000E+01
+0.77063000000000E-01
+0.11947000000000E+01
+0.22993000000000E+01
+0.33333000000000E+01
+0.41606000000000E+01
+-.10143000000000E+02
+-.89924000000000E+01
+-.78419000000000E+01
+-.66929000000000E+01
+-.55486000000000E+01
+-.44165000000000E+01
+-.33094000000000E+01
+-.22296000000000E+01
+-.11520000000000E+01
+-.50359000000000E-01
+0.10700000000000E+01
+0.21813000000000E+01
+0.32317000000000E+01
+0.40950000000000E+01
+-.10283000000000E+02
+-.91323000000000E+01
+-.79817000000000E+01
+-.68323000000000E+01
+-.56865000000000E+01
+-.45508000000000E+01
+-.34362000000000E+01
+-.23470000000000E+01
+-.12632000000000E+01
+-.15881000000000E+00
+0.96378000000000E+00
+0.20806000000000E+01
+0.31458000000000E+01
+0.40470000000000E+01
+-.10425000000000E+02
+-.92737000000000E+01
+-.81228000000000E+01
+-.69731000000000E+01
+-.58262000000000E+01
+-.46874000000000E+01
+-.35663000000000E+01
+-.24689000000000E+01
+-.13795000000000E+01
+-.27307000000000E+00
+0.85115000000000E+00
+0.19725000000000E+01
+0.30512000000000E+01
+0.39904000000000E+01
+-.10618000000000E+02
+-.94668000000000E+01
+-.83159000000000E+01
+-.71658000000000E+01
+-.60178000000000E+01
+-.48762000000000E+01
+-.37491000000000E+01
+-.26436000000000E+01
+-.15494000000000E+01
+-.44250000000000E+00
+0.68207000000000E+00
+0.18070000000000E+01
+0.28978000000000E+01
+0.38729000000000E+01
+-.10798000000000E+02
+-.96467000000000E+01
+-.84956000000000E+01
+-.73453000000000E+01
+-.61965000000000E+01
+-.50529000000000E+01
+-.39210000000000E+01
+-.28086000000000E+01
+-.17098000000000E+01
+-.60228000000000E+00
+0.52246000000000E+00
+0.16504000000000E+01
+0.27520000000000E+01
+0.37599000000000E+01
+-.10974000000000E+02
+-.98223000000000E+01
+-.86711000000000E+01
+-.75206000000000E+01
+-.63713000000000E+01
+-.52261000000000E+01
+-.40903000000000E+01
+-.29721000000000E+01
+-.18690000000000E+01
+-.76088000000000E+00
+0.36372000000000E+00
+0.14940000000000E+01
+0.26051000000000E+01
+0.36418000000000E+01
+-.11186000000000E+02
+-.10034000000000E+02
+-.88833000000000E+01
+-.77327000000000E+01
+-.65829000000000E+01
+-.54362000000000E+01
+-.42971000000000E+01
+-.31733000000000E+01
+-.20658000000000E+01
+-.95760000000000E+00
+0.16595000000000E+00
+0.12977000000000E+01
+0.24165000000000E+01
+0.34777000000000E+01
+-.11426000000000E+02
+-.10274000000000E+02
+-.91233000000000E+01
+-.79725000000000E+01
+-.68224000000000E+01
+-.56744000000000E+01
+-.45327000000000E+01
+-.34038000000000E+01
+-.22916000000000E+01
+-.11832000000000E+01
+-.61433000000000E-01
+0.10708000000000E+01
+0.21957000000000E+01
+0.32771000000000E+01
+-.11687000000000E+02
+-.10536000000000E+02
+-.93848000000000E+01
+-.82339000000000E+01
+-.70835000000000E+01
+-.59348000000000E+01
+-.47906000000000E+01
+-.36572000000000E+01
+-.25400000000000E+01
+-.14309000000000E+01
+-.31148000000000E+00
+0.82030000000000E+00
+0.19496000000000E+01
+0.30472000000000E+01
+-.11937000000000E+02
+-.10786000000000E+02
+-.96343000000000E+01
+-.84832000000000E+01
+-.73326000000000E+01
+-.61832000000000E+01
+-.50375000000000E+01
+-.39005000000000E+01
+-.27786000000000E+01
+-.16680000000000E+01
+-.55058000000000E+00
+0.58017000000000E+00
+0.17126000000000E+01
+0.28229000000000E+01
+-.12148000000000E+02
+-.10997000000000E+02
+-.98455000000000E+01
+-.86943000000000E+01
+-.75435000000000E+01
+-.63937000000000E+01
+-.52468000000000E+01
+-.41071000000000E+01
+-.29814000000000E+01
+-.18688000000000E+01
+-.75278000000000E+00
+0.37684000000000E+00
+0.15114000000000E+01
+0.26313000000000E+01
+-.12391000000000E+02
+-.11240000000000E+02
+-.10089000000000E+02
+-.89375000000000E+01
+-.77865000000000E+01
+-.66365000000000E+01
+-.54885000000000E+01
+-.43464000000000E+01
+-.32167000000000E+01
+-.21015000000000E+01
+-.98689000000000E+00
+0.14072000000000E+00
+0.12762000000000E+01
+0.24032000000000E+01
+-.12657000000000E+02
+-.11506000000000E+02
+-.10354000000000E+02
+-.92034000000000E+01
+-.80522000000000E+01
+-.69020000000000E+01
+-.57532000000000E+01
+-.46091000000000E+01
+-.34755000000000E+01
+-.23570000000000E+01
+-.12433000000000E+01
+-.11834000000000E+00
+0.10170000000000E+01
+0.21489000000000E+01
+-.12939000000000E+02
+-.11788000000000E+02
+-.10637000000000E+02
+-.94856000000000E+01
+-.83345000000000E+01
+-.71840000000000E+01
+-.60345000000000E+01
+-.48888000000000E+01
+-.37516000000000E+01
+-.26292000000000E+01
+-.15156000000000E+01
+-.39360000000000E+00
+0.74051000000000E+00
+0.18755000000000E+01
+-.13179000000000E+02
+-.12027000000000E+02
+-.10876000000000E+02
+-.97249000000000E+01
+-.85737000000000E+01
+-.74230000000000E+01
+-.62732000000000E+01
+-.51261000000000E+01
+-.39865000000000E+01
+-.28605000000000E+01
+-.17460000000000E+01
+-.62634000000000E+00
+0.50629000000000E+00
+0.16433000000000E+01
+-.13403000000000E+02
+-.12252000000000E+02
+-.11101000000000E+02
+-.99495000000000E+01
+-.87983000000000E+01
+-.76475000000000E+01
+-.64973000000000E+01
+-.53495000000000E+01
+-.42078000000000E+01
+-.30786000000000E+01
+-.19626000000000E+01
+-.84476000000000E+00
+0.28606000000000E+00
+0.14240000000000E+01
+-.13651000000000E+02
+-.12500000000000E+02
+-.11348000000000E+02
+-.10197000000000E+02
+-.90459000000000E+01
+-.78950000000000E+01
+-.67446000000000E+01
+-.55959000000000E+01
+-.44523000000000E+01
+-.33198000000000E+01
+-.22015000000000E+01
+-.10853000000000E+01
+0.42988000000000E-01
+0.11808000000000E+01
+-.13916000000000E+02
+-.12764000000000E+02
+-.11613000000000E+02
+-.10462000000000E+02
+-.93105000000000E+01
+-.81594000000000E+01
+-.70089000000000E+01
+-.58597000000000E+01
+-.47145000000000E+01
+-.35787000000000E+01
+-.24573000000000E+01
+-.13421000000000E+01
+-.21678000000000E+00
+0.92009000000000E+00
+-.14190000000000E+02
+-.13039000000000E+02
+-.11888000000000E+02
+-.10737000000000E+02
+-.95854000000000E+01
+-.84343000000000E+01
+-.72837000000000E+01
+-.61340000000000E+01
+-.49873000000000E+01
+-.38486000000000E+01
+-.27238000000000E+01
+-.16085000000000E+01
+-.48627000000000E+00
+0.64879000000000E+00
+-.14471000000000E+02
+-.13320000000000E+02
+-.12168000000000E+02
+-.11017000000000E+02
+-.98660000000000E+01
+-.87148000000000E+01
+-.75640000000000E+01
+-.64138000000000E+01
+-.52661000000000E+01
+-.41248000000000E+01
+-.29962000000000E+01
+-.18798000000000E+01
+-.76041000000000E+00
+0.37215000000000E+00
+-.14752000000000E+02
+-.13601000000000E+02
+-.12450000000000E+02
+-.11299000000000E+02
+-.10148000000000E+02
+-.89966000000000E+01
+-.78456000000000E+01
+-.66952000000000E+01
+-.55466000000000E+01
+-.44031000000000E+01
+-.32708000000000E+01
+-.21524000000000E+01
+-.10352000000000E+01
+0.94345000000000E-01
+-.15033000000000E+02
+-.13882000000000E+02
+-.12730000000000E+02
+-.11579000000000E+02
+-.10427000000000E+02
+-.92764000000000E+01
+-.81252000000000E+01
+-.69747000000000E+01
+-.58254000000000E+01
+-.46803000000000E+01
+-.35446000000000E+01
+-.24233000000000E+01
+-.13074000000000E+01
+-.18110000000000E+00
+-.15308000000000E+02
+-.14156000000000E+02
+-.13005000000000E+02
+-.11854000000000E+02
+-.10702000000000E+02
+-.95510000000000E+01
+-.83999000000000E+01
+-.72493000000000E+01
+-.60996000000000E+01
+-.49530000000000E+01
+-.38145000000000E+01
+-.26897000000000E+01
+-.15741000000000E+01
+-.45098000000000E+00
+-.10414000000000E+02
+-.92642000000000E+01
+-.81165000000000E+01
+-.69749000000000E+01
+-.58490000000000E+01
+-.47616000000000E+01
+-.37348000000000E+01
+-.27335000000000E+01
+-.16865000000000E+01
+-.59869000000000E+00
+0.45624000000000E+00
+0.13984000000000E+01
+0.22266000000000E+01
+0.30090000000000E+01
+-.10560000000000E+02
+-.94104000000000E+01
+-.82617000000000E+01
+-.71172000000000E+01
+-.59845000000000E+01
+-.48800000000000E+01
+-.38198000000000E+01
+-.27782000000000E+01
+-.17065000000000E+01
+-.60986000000000E+00
+0.45847000000000E+00
+0.14286000000000E+01
+0.22773000000000E+01
+0.30653000000000E+01
+-.10715000000000E+02
+-.95642000000000E+01
+-.84148000000000E+01
+-.72684000000000E+01
+-.61309000000000E+01
+-.50145000000000E+01
+-.39312000000000E+01
+-.28626000000000E+01
+-.17752000000000E+01
+-.67287000000000E+00
+0.40708000000000E+00
+0.14047000000000E+01
+0.22795000000000E+01
+0.30765000000000E+01
+-.10908000000000E+02
+-.97578000000000E+01
+-.86079000000000E+01
+-.74607000000000E+01
+-.63203000000000E+01
+-.51970000000000E+01
+-.41007000000000E+01
+-.30180000000000E+01
+-.19239000000000E+01
+-.82022000000000E+00
+0.26868000000000E+00
+0.12937000000000E+01
+0.22010000000000E+01
+0.30125000000000E+01
+-.11115000000000E+02
+-.99644000000000E+01
+-.88142000000000E+01
+-.76660000000000E+01
+-.65231000000000E+01
+-.53936000000000E+01
+-.42854000000000E+01
+-.31901000000000E+01
+-.20917000000000E+01
+-.99100000000000E+00
+0.99827000000000E-01
+0.11438000000000E+01
+0.20825000000000E+01
+0.29126000000000E+01
+-.11325000000000E+02
+-.10174000000000E+02
+-.90239000000000E+01
+-.78749000000000E+01
+-.67301000000000E+01
+-.55959000000000E+01
+-.44790000000000E+01
+-.33749000000000E+01
+-.22747000000000E+01
+-.11793000000000E+01
+-.89882000000000E-01
+0.96890000000000E+00
+0.19391000000000E+01
+0.27932000000000E+01
+-.11518000000000E+02
+-.10367000000000E+02
+-.92163000000000E+01
+-.80667000000000E+01
+-.69205000000000E+01
+-.57826000000000E+01
+-.46587000000000E+01
+-.35477000000000E+01
+-.24464000000000E+01
+-.13556000000000E+01
+-.26827000000000E+00
+0.80241000000000E+00
+0.18026000000000E+01
+0.26849000000000E+01
+-.11699000000000E+02
+-.10549000000000E+02
+-.93977000000000E+01
+-.82478000000000E+01
+-.71005000000000E+01
+-.59596000000000E+01
+-.48303000000000E+01
+-.37136000000000E+01
+-.26104000000000E+01
+-.15218000000000E+01
+-.43504000000000E+00
+0.64574000000000E+00
+0.16730000000000E+01
+0.25853000000000E+01
+-.11857000000000E+02
+-.10706000000000E+02
+-.95554000000000E+01
+-.84050000000000E+01
+-.72570000000000E+01
+-.61138000000000E+01
+-.49802000000000E+01
+-.38584000000000E+01
+-.27521000000000E+01
+-.16628000000000E+01
+-.57455000000000E+00
+0.51509000000000E+00
+0.15655000000000E+01
+0.25068000000000E+01
+-.12008000000000E+02
+-.10857000000000E+02
+-.97058000000000E+01
+-.85554000000000E+01
+-.74065000000000E+01
+-.62616000000000E+01
+-.51244000000000E+01
+-.39980000000000E+01
+-.28876000000000E+01
+-.17952000000000E+01
+-.70409000000000E+00
+0.39275000000000E+00
+0.14613000000000E+01
+0.24291000000000E+01
+-.12147000000000E+02
+-.10996000000000E+02
+-.98447000000000E+01
+-.86941000000000E+01
+-.75447000000000E+01
+-.63983000000000E+01
+-.52583000000000E+01
+-.41276000000000E+01
+-.30125000000000E+01
+-.19157000000000E+01
+-.82101000000000E+00
+0.28150000000000E+00
+0.13639000000000E+01
+0.23550000000000E+01
+-.12256000000000E+02
+-.11105000000000E+02
+-.99536000000000E+01
+-.88030000000000E+01
+-.76531000000000E+01
+-.65055000000000E+01
+-.53630000000000E+01
+-.42288000000000E+01
+-.31091000000000E+01
+-.20075000000000E+01
+-.90887000000000E+00
+0.19846000000000E+00
+0.12913000000000E+01
+0.23035000000000E+01
+-.12394000000000E+02
+-.11242000000000E+02
+-.10091000000000E+02
+-.89402000000000E+01
+-.77899000000000E+01
+-.66416000000000E+01
+-.54971000000000E+01
+-.43596000000000E+01
+-.32352000000000E+01
+-.21283000000000E+01
+-.10261000000000E+01
+0.84482000000000E-01
+0.11852000000000E+01
+0.22162000000000E+01
+-.12505000000000E+02
+-.11354000000000E+02
+-.10203000000000E+02
+-.90518000000000E+01
+-.79014000000000E+01
+-.67523000000000E+01
+-.56064000000000E+01
+-.44663000000000E+01
+-.33380000000000E+01
+-.22263000000000E+01
+-.11205000000000E+01
+-.68880000000000E-02
+0.11003000000000E+01
+0.21490000000000E+01
+-.12667000000000E+02
+-.11515000000000E+02
+-.10364000000000E+02
+-.92131000000000E+01
+-.80625000000000E+01
+-.69128000000000E+01
+-.57657000000000E+01
+-.46233000000000E+01
+-.34909000000000E+01
+-.23742000000000E+01
+-.12654000000000E+01
+-.14996000000000E+00
+0.96233000000000E+00
+0.20270000000000E+01
+-.12867000000000E+02
+-.11716000000000E+02
+-.10565000000000E+02
+-.94138000000000E+01
+-.82629000000000E+01
+-.71130000000000E+01
+-.59648000000000E+01
+-.48204000000000E+01
+-.36843000000000E+01
+-.25626000000000E+01
+-.14507000000000E+01
+-.33439000000000E+00
+0.78180000000000E+00
+0.18609000000000E+01
+-.13014000000000E+02
+-.11863000000000E+02
+-.10711000000000E+02
+-.95603000000000E+01
+-.84094000000000E+01
+-.72590000000000E+01
+-.61102000000000E+01
+-.49644000000000E+01
+-.38256000000000E+01
+-.27000000000000E+01
+-.15853000000000E+01
+-.46742000000000E+00
+0.65251000000000E+00
+0.17445000000000E+01
+-.13188000000000E+02
+-.12037000000000E+02
+-.10885000000000E+02
+-.97344000000000E+01
+-.85833000000000E+01
+-.74329000000000E+01
+-.62834000000000E+01
+-.51364000000000E+01
+-.39952000000000E+01
+-.28661000000000E+01
+-.17485000000000E+01
+-.62968000000000E+00
+0.49300000000000E+00
+0.15958000000000E+01
+-.13400000000000E+02
+-.12249000000000E+02
+-.11098000000000E+02
+-.99465000000000E+01
+-.87954000000000E+01
+-.76447000000000E+01
+-.64948000000000E+01
+-.53467000000000E+01
+-.42035000000000E+01
+-.30707000000000E+01
+-.19502000000000E+01
+-.83083000000000E+00
+0.29348000000000E+00
+0.14051000000000E+01
+-.13640000000000E+02
+-.12489000000000E+02
+-.11338000000000E+02
+-.10187000000000E+02
+-.90354000000000E+01
+-.78846000000000E+01
+-.67344000000000E+01
+-.55856000000000E+01
+-.44406000000000E+01
+-.33044000000000E+01
+-.21807000000000E+01
+-.10608000000000E+01
+0.64133000000000E-01
+0.11823000000000E+01
+-.13902000000000E+02
+-.12751000000000E+02
+-.11599000000000E+02
+-.10448000000000E+02
+-.92971000000000E+01
+-.81460000000000E+01
+-.69956000000000E+01
+-.58462000000000E+01
+-.46996000000000E+01
+-.35604000000000E+01
+-.24332000000000E+01
+-.13126000000000E+01
+-.18777000000000E+00
+0.93517000000000E+00
+-.14123000000000E+02
+-.12972000000000E+02
+-.11821000000000E+02
+-.10669000000000E+02
+-.95181000000000E+01
+-.83672000000000E+01
+-.72164000000000E+01
+-.60665000000000E+01
+-.49191000000000E+01
+-.37776000000000E+01
+-.26474000000000E+01
+-.15256000000000E+01
+-.40082000000000E+00
+0.72552000000000E+00
+-.14339000000000E+02
+-.13188000000000E+02
+-.12037000000000E+02
+-.10885000000000E+02
+-.97339000000000E+01
+-.85828000000000E+01
+-.74321000000000E+01
+-.62819000000000E+01
+-.51335000000000E+01
+-.39904000000000E+01
+-.28574000000000E+01
+-.17341000000000E+01
+-.60954000000000E+00
+0.51897000000000E+00
+-.14585000000000E+02
+-.13434000000000E+02
+-.12282000000000E+02
+-.11131000000000E+02
+-.99797000000000E+01
+-.88286000000000E+01
+-.76777000000000E+01
+-.65273000000000E+01
+-.53783000000000E+01
+-.42335000000000E+01
+-.30977000000000E+01
+-.19724000000000E+01
+-.84834000000000E+00
+0.28098000000000E+00
+-.14850000000000E+02
+-.13698000000000E+02
+-.12547000000000E+02
+-.11396000000000E+02
+-.10245000000000E+02
+-.90935000000000E+01
+-.79425000000000E+01
+-.67919000000000E+01
+-.56423000000000E+01
+-.44960000000000E+01
+-.33574000000000E+01
+-.22298000000000E+01
+-.11061000000000E+01
+0.23029000000000E-01
+-.15125000000000E+02
+-.13973000000000E+02
+-.12822000000000E+02
+-.11671000000000E+02
+-.10520000000000E+02
+-.93684000000000E+01
+-.82173000000000E+01
+-.70665000000000E+01
+-.59166000000000E+01
+-.47692000000000E+01
+-.36281000000000E+01
+-.24977000000000E+01
+-.13738000000000E+01
+-.24556000000000E+00
+-.15328000000000E+02
+-.14177000000000E+02
+-.13025000000000E+02
+-.11874000000000E+02
+-.10723000000000E+02
+-.95715000000000E+01
+-.84204000000000E+01
+-.72697000000000E+01
+-.61194000000000E+01
+-.49713000000000E+01
+-.38286000000000E+01
+-.26960000000000E+01
+-.15715000000000E+01
+-.44376000000000E+00
+-.15547000000000E+02
+-.14395000000000E+02
+-.13244000000000E+02
+-.12093000000000E+02
+-.10941000000000E+02
+-.97903000000000E+01
+-.86389000000000E+01
+-.74880000000000E+01
+-.63376000000000E+01
+-.51888000000000E+01
+-.40447000000000E+01
+-.29099000000000E+01
+-.17843000000000E+01
+-.65738000000000E+00
+-.15787000000000E+02
+-.14635000000000E+02
+-.13484000000000E+02
+-.12333000000000E+02
+-.11181000000000E+02
+-.10030000000000E+02
+-.88789000000000E+01
+-.77280000000000E+01
+-.65774000000000E+01
+-.54281000000000E+01
+-.42826000000000E+01
+-.31454000000000E+01
+-.20182000000000E+01
+-.89221000000000E+00
+-.16038000000000E+02
+-.14887000000000E+02
+-.13736000000000E+02
+-.12585000000000E+02
+-.11434000000000E+02
+-.10282000000000E+02
+-.91311000000000E+01
+-.79801000000000E+01
+-.68292000000000E+01
+-.56796000000000E+01
+-.45328000000000E+01
+-.33933000000000E+01
+-.22642000000000E+01
+-.11388000000000E+01
+-.16296000000000E+02
+-.15145000000000E+02
+-.13994000000000E+02
+-.12843000000000E+02
+-.11691000000000E+02
+-.10540000000000E+02
+-.93887000000000E+01
+-.82375000000000E+01
+-.70867000000000E+01
+-.59366000000000E+01
+-.47889000000000E+01
+-.36473000000000E+01
+-.25159000000000E+01
+-.13906000000000E+01
+-.16554000000000E+02
+-.15403000000000E+02
+-.14251000000000E+02
+-.13100000000000E+02
+-.11949000000000E+02
+-.10798000000000E+02
+-.96465000000000E+01
+-.84954000000000E+01
+-.73444000000000E+01
+-.61940000000000E+01
+-.50455000000000E+01
+-.39021000000000E+01
+-.27682000000000E+01
+-.16424000000000E+01
+-.12187000000000E+02
+-.11038000000000E+02
+-.98901000000000E+01
+-.87480000000000E+01
+-.76219000000000E+01
+-.65334000000000E+01
+-.55040000000000E+01
+-.44984000000000E+01
+-.34465000000000E+01
+-.23546000000000E+01
+-.12975000000000E+01
+-.35461000000000E+00
+0.47385000000000E+00
+0.12563000000000E+01
+-.12428000000000E+02
+-.11278000000000E+02
+-.10129000000000E+02
+-.89851000000000E+01
+-.78534000000000E+01
+-.67516000000000E+01
+-.56965000000000E+01
+-.46603000000000E+01
+-.35892000000000E+01
+-.24899000000000E+01
+-.14197000000000E+01
+-.44886000000000E+00
+0.40009000000000E+00
+0.11881000000000E+01
+-.12515000000000E+02
+-.11365000000000E+02
+-.10215000000000E+02
+-.90691000000000E+01
+-.79316000000000E+01
+-.68156000000000E+01
+-.57322000000000E+01
+-.46614000000000E+01
+-.35673000000000E+01
+-.24571000000000E+01
+-.13732000000000E+01
+-.37477000000000E+00
+0.50006000000000E+00
+0.12969000000000E+01
+-.12643000000000E+02
+-.11493000000000E+02
+-.10343000000000E+02
+-.91953000000000E+01
+-.80547000000000E+01
+-.69304000000000E+01
+-.58313000000000E+01
+-.47417000000000E+01
+-.36347000000000E+01
+-.25165000000000E+01
+-.14197000000000E+01
+-.39278000000000E+00
+0.51462000000000E+00
+0.13260000000000E+01
+-.12818000000000E+02
+-.11667000000000E+02
+-.10517000000000E+02
+-.93684000000000E+01
+-.82251000000000E+01
+-.70946000000000E+01
+-.59830000000000E+01
+-.48787000000000E+01
+-.37620000000000E+01
+-.26385000000000E+01
+-.15334000000000E+01
+-.48517000000000E+00
+0.45421000000000E+00
+0.12845000000000E+01
+-.12973000000000E+02
+-.11822000000000E+02
+-.10672000000000E+02
+-.95227000000000E+01
+-.83772000000000E+01
+-.72416000000000E+01
+-.61200000000000E+01
+-.50042000000000E+01
+-.38796000000000E+01
+-.27521000000000E+01
+-.16406000000000E+01
+-.57452000000000E+00
+0.39687000000000E+00
+0.12520000000000E+01
+-.13112000000000E+02
+-.11961000000000E+02
+-.10811000000000E+02
+-.96609000000000E+01
+-.85139000000000E+01
+-.73743000000000E+01
+-.62452000000000E+01
+-.51205000000000E+01
+-.39902000000000E+01
+-.28594000000000E+01
+-.17429000000000E+01
+-.66214000000000E+00
+0.33995000000000E+00
+0.12253000000000E+01
+-.13251000000000E+02
+-.12100000000000E+02
+-.10949000000000E+02
+-.97991000000000E+01
+-.86511000000000E+01
+-.75085000000000E+01
+-.63740000000000E+01
+-.52429000000000E+01
+-.41083000000000E+01
+-.29749000000000E+01
+-.18543000000000E+01
+-.76160000000000E+00
+0.26833000000000E+00
+0.11877000000000E+01
+-.13354000000000E+02
+-.12202000000000E+02
+-.11051000000000E+02
+-.99009000000000E+01
+-.87520000000000E+01
+-.76072000000000E+01
+-.64683000000000E+01
+-.53320000000000E+01
+-.41940000000000E+01
+-.30583000000000E+01
+-.19344000000000E+01
+-.83202000000000E+00
+0.22211000000000E+00
+0.11766000000000E+01
+-.13447000000000E+02
+-.12295000000000E+02
+-.11144000000000E+02
+-.99934000000000E+01
+-.88440000000000E+01
+-.76975000000000E+01
+-.65554000000000E+01
+-.54154000000000E+01
+-.42747000000000E+01
+-.31372000000000E+01
+-.20105000000000E+01
+-.90034000000000E+00
+0.17371000000000E+00
+0.11614000000000E+01
+-.13531000000000E+02
+-.12379000000000E+02
+-.11228000000000E+02
+-.10077000000000E+02
+-.89275000000000E+01
+-.77798000000000E+01
+-.66353000000000E+01
+-.54924000000000E+01
+-.43496000000000E+01
+-.32106000000000E+01
+-.20814000000000E+01
+-.96523000000000E+00
+0.12443000000000E+00
+0.11412000000000E+01
+-.13615000000000E+02
+-.12464000000000E+02
+-.11313000000000E+02
+-.10162000000000E+02
+-.90115000000000E+01
+-.78628000000000E+01
+-.67166000000000E+01
+-.55718000000000E+01
+-.44272000000000E+01
+-.32867000000000E+01
+-.21552000000000E+01
+-.10345000000000E+01
+0.66793000000000E-01
+0.11071000000000E+01
+-.13697000000000E+02
+-.12546000000000E+02
+-.11395000000000E+02
+-.10244000000000E+02
+-.90930000000000E+01
+-.79437000000000E+01
+-.67961000000000E+01
+-.56498000000000E+01
+-.45040000000000E+01
+-.33621000000000E+01
+-.22285000000000E+01
+-.11041000000000E+01
+0.56044000000000E-02
+0.10644000000000E+01
+-.13786000000000E+02
+-.12635000000000E+02
+-.11484000000000E+02
+-.10333000000000E+02
+-.91821000000000E+01
+-.80322000000000E+01
+-.68838000000000E+01
+-.57362000000000E+01
+-.45894000000000E+01
+-.34462000000000E+01
+-.23106000000000E+01
+-.11833000000000E+01
+-.67488000000000E-01
+0.10057000000000E+01
+-.13917000000000E+02
+-.12766000000000E+02
+-.11614000000000E+02
+-.10463000000000E+02
+-.93123000000000E+01
+-.81621000000000E+01
+-.70129000000000E+01
+-.58645000000000E+01
+-.47167000000000E+01
+-.35721000000000E+01
+-.24346000000000E+01
+-.13048000000000E+01
+-.18455000000000E+00
+0.90025000000000E+00
+-.14010000000000E+02
+-.12858000000000E+02
+-.11707000000000E+02
+-.10556000000000E+02
+-.94048000000000E+01
+-.82542000000000E+01
+-.71045000000000E+01
+-.59553000000000E+01
+-.48069000000000E+01
+-.36613000000000E+01
+-.25220000000000E+01
+-.13900000000000E+01
+-.26601000000000E+00
+0.82883000000000E+00
+-.14161000000000E+02
+-.13009000000000E+02
+-.11858000000000E+02
+-.10707000000000E+02
+-.95559000000000E+01
+-.84050000000000E+01
+-.72550000000000E+01
+-.61052000000000E+01
+-.49562000000000E+01
+-.38096000000000E+01
+-.26686000000000E+01
+-.15345000000000E+01
+-.40748000000000E+00
+0.69598000000000E+00
+-.14351000000000E+02
+-.13200000000000E+02
+-.12049000000000E+02
+-.10898000000000E+02
+-.97466000000000E+01
+-.85957000000000E+01
+-.74452000000000E+01
+-.62952000000000E+01
+-.51455000000000E+01
+-.39980000000000E+01
+-.28552000000000E+01
+-.17192000000000E+01
+-.58963000000000E+00
+0.52132000000000E+00
+-.14480000000000E+02
+-.13329000000000E+02
+-.12178000000000E+02
+-.11026000000000E+02
+-.98752000000000E+01
+-.87241000000000E+01
+-.75736000000000E+01
+-.64232000000000E+01
+-.52732000000000E+01
+-.41250000000000E+01
+-.29811000000000E+01
+-.18434000000000E+01
+-.71130000000000E+00
+0.40641000000000E+00
+-.14654000000000E+02
+-.13502000000000E+02
+-.12351000000000E+02
+-.11200000000000E+02
+-.10048000000000E+02
+-.88975000000000E+01
+-.77466000000000E+01
+-.65959000000000E+01
+-.54457000000000E+01
+-.42969000000000E+01
+-.31517000000000E+01
+-.20123000000000E+01
+-.87828000000000E+00
+0.24501000000000E+00
+-.14865000000000E+02
+-.13714000000000E+02
+-.12562000000000E+02
+-.11411000000000E+02
+-.10260000000000E+02
+-.91089000000000E+01
+-.79580000000000E+01
+-.68073000000000E+01
+-.56567000000000E+01
+-.45073000000000E+01
+-.33611000000000E+01
+-.22201000000000E+01
+-.10843000000000E+01
+0.43420000000000E-01
+-.15105000000000E+02
+-.13954000000000E+02
+-.12802000000000E+02
+-.11651000000000E+02
+-.10500000000000E+02
+-.93486000000000E+01
+-.81975000000000E+01
+-.70468000000000E+01
+-.58960000000000E+01
+-.47462000000000E+01
+-.35989000000000E+01
+-.24564000000000E+01
+-.13190000000000E+01
+-.18788000000000E+00
+-.15366000000000E+02
+-.14214000000000E+02
+-.13063000000000E+02
+-.11912000000000E+02
+-.10760000000000E+02
+-.96094000000000E+01
+-.84583000000000E+01
+-.73073000000000E+01
+-.61564000000000E+01
+-.50062000000000E+01
+-.38580000000000E+01
+-.27140000000000E+01
+-.15752000000000E+01
+-.44148000000000E+00
+-.15573000000000E+02
+-.14422000000000E+02
+-.13271000000000E+02
+-.12120000000000E+02
+-.10969000000000E+02
+-.98171000000000E+01
+-.86660000000000E+01
+-.75150000000000E+01
+-.63640000000000E+01
+-.52136000000000E+01
+-.40648000000000E+01
+-.29197000000000E+01
+-.17795000000000E+01
+-.64371000000000E+00
+-.15787000000000E+02
+-.14636000000000E+02
+-.13484000000000E+02
+-.12333000000000E+02
+-.11182000000000E+02
+-.10031000000000E+02
+-.88794000000000E+01
+-.77284000000000E+01
+-.65774000000000E+01
+-.54268000000000E+01
+-.42775000000000E+01
+-.31313000000000E+01
+-.19900000000000E+01
+-.85251000000000E+00
+-.16026000000000E+02
+-.14875000000000E+02
+-.13723000000000E+02
+-.12572000000000E+02
+-.11421000000000E+02
+-.10270000000000E+02
+-.91182000000000E+01
+-.79672000000000E+01
+-.68160000000000E+01
+-.56653000000000E+01
+-.45156000000000E+01
+-.33685000000000E+01
+-.22259000000000E+01
+-.10872000000000E+01
+-.16283000000000E+02
+-.15131000000000E+02
+-.13980000000000E+02
+-.12829000000000E+02
+-.11677000000000E+02
+-.10526000000000E+02
+-.93750000000000E+01
+-.82236000000000E+01
+-.70726000000000E+01
+-.59218000000000E+01
+-.47717000000000E+01
+-.36238000000000E+01
+-.24799000000000E+01
+-.13401000000000E+01
+-.16550000000000E+02
+-.15399000000000E+02
+-.14248000000000E+02
+-.13097000000000E+02
+-.11945000000000E+02
+-.10794000000000E+02
+-.96428000000000E+01
+-.84917000000000E+01
+-.73405000000000E+01
+-.61896000000000E+01
+-.50392000000000E+01
+-.38906000000000E+01
+-.27455000000000E+01
+-.16047000000000E+01
+-.16734000000000E+02
+-.15583000000000E+02
+-.14432000000000E+02
+-.13281000000000E+02
+-.12129000000000E+02
+-.10978000000000E+02
+-.98267000000000E+01
+-.86753000000000E+01
+-.75242000000000E+01
+-.63732000000000E+01
+-.52227000000000E+01
+-.40736000000000E+01
+-.29277000000000E+01
+-.17861000000000E+01
+-.16944000000000E+02
+-.15793000000000E+02
+-.14642000000000E+02
+-.13490000000000E+02
+-.12339000000000E+02
+-.11188000000000E+02
+-.10037000000000E+02
+-.88853000000000E+01
+-.77341000000000E+01
+-.65831000000000E+01
+-.54324000000000E+01
+-.42830000000000E+01
+-.31363000000000E+01
+-.19937000000000E+01
+-.17172000000000E+02
+-.16021000000000E+02
+-.14869000000000E+02
+-.13718000000000E+02
+-.12567000000000E+02
+-.11416000000000E+02
+-.10264000000000E+02
+-.91130000000000E+01
+-.79618000000000E+01
+-.68107000000000E+01
+-.56598000000000E+01
+-.45100000000000E+01
+-.33626000000000E+01
+-.22191000000000E+01
+-.17408000000000E+02
+-.16256000000000E+02
+-.15105000000000E+02
+-.13954000000000E+02
+-.12803000000000E+02
+-.11651000000000E+02
+-.10500000000000E+02
+-.93489000000000E+01
+-.81975000000000E+01
+-.70465000000000E+01
+-.58956000000000E+01
+-.47455000000000E+01
+-.35974000000000E+01
+-.24529000000000E+01
+-.13118000000000E+02
+-.11968000000000E+02
+-.10821000000000E+02
+-.96780000000000E+01
+-.85505000000000E+01
+-.74586000000000E+01
+-.64221000000000E+01
+-.54066000000000E+01
+-.43470000000000E+01
+-.32513000000000E+01
+-.21926000000000E+01
+-.12491000000000E+01
+-.42049000000000E+00
+0.36190000000000E+00
+-.13348000000000E+02
+-.12198000000000E+02
+-.11050000000000E+02
+-.99050000000000E+01
+-.87722000000000E+01
+-.76674000000000E+01
+-.66060000000000E+01
+-.55613000000000E+01
+-.44838000000000E+01
+-.33809000000000E+01
+-.23086000000000E+01
+-.13369000000000E+01
+-.48776000000000E+00
+0.30024000000000E+00
+-.13566000000000E+02
+-.12415000000000E+02
+-.11266000000000E+02
+-.10120000000000E+02
+-.89832000000000E+01
+-.78683000000000E+01
+-.67876000000000E+01
+-.57200000000000E+01
+-.46274000000000E+01
+-.35164000000000E+01
+-.24306000000000E+01
+-.14308000000000E+01
+-.55563000000000E+00
+0.24124000000000E+00
+-.13677000000000E+02
+-.12527000000000E+02
+-.11377000000000E+02
+-.10229000000000E+02
+-.90889000000000E+01
+-.79653000000000E+01
+-.68673000000000E+01
+-.57788000000000E+01
+-.46718000000000E+01
+-.35516000000000E+01
+-.24518000000000E+01
+-.14233000000000E+01
+-.51579000000000E+00
+0.29537000000000E+00
+-.13797000000000E+02
+-.12646000000000E+02
+-.11495000000000E+02
+-.10347000000000E+02
+-.92036000000000E+01
+-.80728000000000E+01
+-.69608000000000E+01
+-.58556000000000E+01
+-.47371000000000E+01
+-.36100000000000E+01
+-.25001000000000E+01
+-.14489000000000E+01
+-.50887000000000E+00
+0.32131000000000E+00
+-.13944000000000E+02
+-.12793000000000E+02
+-.11643000000000E+02
+-.10493000000000E+02
+-.93479000000000E+01
+-.82122000000000E+01
+-.70905000000000E+01
+-.59739000000000E+01
+-.48474000000000E+01
+-.37153000000000E+01
+-.25971000000000E+01
+-.15265000000000E+01
+-.55391000000000E+00
+0.30113000000000E+00
+-.14071000000000E+02
+-.12920000000000E+02
+-.11769000000000E+02
+-.10619000000000E+02
+-.94724000000000E+01
+-.83325000000000E+01
+-.72034000000000E+01
+-.60778000000000E+01
+-.49452000000000E+01
+-.38089000000000E+01
+-.26841000000000E+01
+-.15975000000000E+01
+-.59401000000000E+00
+0.29120000000000E+00
+-.14180000000000E+02
+-.13029000000000E+02
+-.11878000000000E+02
+-.10728000000000E+02
+-.95796000000000E+01
+-.84368000000000E+01
+-.73018000000000E+01
+-.61694000000000E+01
+-.50321000000000E+01
+-.38926000000000E+01
+-.27628000000000E+01
+-.16632000000000E+01
+-.63158000000000E+00
+0.28766000000000E+00
+-.14287000000000E+02
+-.13136000000000E+02
+-.11985000000000E+02
+-.10834000000000E+02
+-.96858000000000E+01
+-.85408000000000E+01
+-.74015000000000E+01
+-.62644000000000E+01
+-.51237000000000E+01
+-.39818000000000E+01
+-.28478000000000E+01
+-.17379000000000E+01
+-.68193000000000E+00
+0.27280000000000E+00
+-.14366000000000E+02
+-.13215000000000E+02
+-.12064000000000E+02
+-.10913000000000E+02
+-.97637000000000E+01
+-.86169000000000E+01
+-.74745000000000E+01
+-.63336000000000E+01
+-.51902000000000E+01
+-.40464000000000E+01
+-.29095000000000E+01
+-.17914000000000E+01
+-.71530000000000E+00
+0.27390000000000E+00
+-.14438000000000E+02
+-.13287000000000E+02
+-.12136000000000E+02
+-.10985000000000E+02
+-.98352000000000E+01
+-.86873000000000E+01
+-.75426000000000E+01
+-.63989000000000E+01
+-.52537000000000E+01
+-.41084000000000E+01
+-.29691000000000E+01
+-.18448000000000E+01
+-.75262000000000E+00
+0.26770000000000E+00
+-.14499000000000E+02
+-.13348000000000E+02
+-.12197000000000E+02
+-.11046000000000E+02
+-.98955000000000E+01
+-.87466000000000E+01
+-.76001000000000E+01
+-.64545000000000E+01
+-.53076000000000E+01
+-.41614000000000E+01
+-.30203000000000E+01
+-.18914000000000E+01
+-.78677000000000E+00
+0.25968000000000E+00
+-.14567000000000E+02
+-.13416000000000E+02
+-.12265000000000E+02
+-.11114000000000E+02
+-.99631000000000E+01
+-.88137000000000E+01
+-.76659000000000E+01
+-.65187000000000E+01
+-.53708000000000E+01
+-.42236000000000E+01
+-.30811000000000E+01
+-.19487000000000E+01
+-.83501000000000E+00
+0.23195000000000E+00
+-.14658000000000E+02
+-.13507000000000E+02
+-.12356000000000E+02
+-.11205000000000E+02
+-.10054000000000E+02
+-.89041000000000E+01
+-.77554000000000E+01
+-.66072000000000E+01
+-.54586000000000E+01
+-.43108000000000E+01
+-.31669000000000E+01
+-.20316000000000E+01
+-.91148000000000E+00
+0.17083000000000E+00
+-.14733000000000E+02
+-.13582000000000E+02
+-.12431000000000E+02
+-.11279000000000E+02
+-.10128000000000E+02
+-.89783000000000E+01
+-.78289000000000E+01
+-.66798000000000E+01
+-.55306000000000E+01
+-.43821000000000E+01
+-.32372000000000E+01
+-.20999000000000E+01
+-.97491000000000E+00
+0.11890000000000E+00
+-.14846000000000E+02
+-.13695000000000E+02
+-.12544000000000E+02
+-.11393000000000E+02
+-.10242000000000E+02
+-.90911000000000E+01
+-.79413000000000E+01
+-.67916000000000E+01
+-.56420000000000E+01
+-.44930000000000E+01
+-.33471000000000E+01
+-.22078000000000E+01
+-.10793000000000E+01
+0.23331000000000E-01
+-.14937000000000E+02
+-.13786000000000E+02
+-.12635000000000E+02
+-.11484000000000E+02
+-.10333000000000E+02
+-.91819000000000E+01
+-.80315000000000E+01
+-.68816000000000E+01
+-.57316000000000E+01
+-.45822000000000E+01
+-.34355000000000E+01
+-.22946000000000E+01
+-.11631000000000E+01
+-.53208000000000E-01
+-.15072000000000E+02
+-.13921000000000E+02
+-.12770000000000E+02
+-.11618000000000E+02
+-.10467000000000E+02
+-.93162000000000E+01
+-.81655000000000E+01
+-.70153000000000E+01
+-.58649000000000E+01
+-.47151000000000E+01
+-.35677000000000E+01
+-.24254000000000E+01
+-.12913000000000E+01
+-.17521000000000E+00
+-.15252000000000E+02
+-.14101000000000E+02
+-.12949000000000E+02
+-.11798000000000E+02
+-.10647000000000E+02
+-.94961000000000E+01
+-.83452000000000E+01
+-.71947000000000E+01
+-.60442000000000E+01
+-.48942000000000E+01
+-.37460000000000E+01
+-.26022000000000E+01
+-.14658000000000E+01
+-.34437000000000E+00
+-.15386000000000E+02
+-.14235000000000E+02
+-.13083000000000E+02
+-.11932000000000E+02
+-.10781000000000E+02
+-.96299000000000E+01
+-.84790000000000E+01
+-.73282000000000E+01
+-.61775000000000E+01
+-.50271000000000E+01
+-.38784000000000E+01
+-.27335000000000E+01
+-.15951000000000E+01
+-.46886000000000E+00
+-.15548000000000E+02
+-.14397000000000E+02
+-.13246000000000E+02
+-.12094000000000E+02
+-.10943000000000E+02
+-.97920000000000E+01
+-.86409000000000E+01
+-.74901000000000E+01
+-.63392000000000E+01
+-.51887000000000E+01
+-.40394000000000E+01
+-.28936000000000E+01
+-.17533000000000E+01
+-.62296000000000E+00
+-.15752000000000E+02
+-.14600000000000E+02
+-.13449000000000E+02
+-.12298000000000E+02
+-.11146000000000E+02
+-.99954000000000E+01
+-.88442000000000E+01
+-.76932000000000E+01
+-.65422000000000E+01
+-.53916000000000E+01
+-.42419000000000E+01
+-.30950000000000E+01
+-.19531000000000E+01
+-.81938000000000E+00
+-.15985000000000E+02
+-.14833000000000E+02
+-.13682000000000E+02
+-.12531000000000E+02
+-.11380000000000E+02
+-.10229000000000E+02
+-.90774000000000E+01
+-.79263000000000E+01
+-.67753000000000E+01
+-.56244000000000E+01
+-.44744000000000E+01
+-.33266000000000E+01
+-.21832000000000E+01
+-.10467000000000E+01
+-.16240000000000E+02
+-.15089000000000E+02
+-.13937000000000E+02
+-.12786000000000E+02
+-.11635000000000E+02
+-.10484000000000E+02
+-.93325000000000E+01
+-.81814000000000E+01
+-.70303000000000E+01
+-.58794000000000E+01
+-.47290000000000E+01
+-.35805000000000E+01
+-.24357000000000E+01
+-.12968000000000E+01
+-.16453000000000E+02
+-.15302000000000E+02
+-.14151000000000E+02
+-.13000000000000E+02
+-.11848000000000E+02
+-.10697000000000E+02
+-.95457000000000E+01
+-.83945000000000E+01
+-.72435000000000E+01
+-.60924000000000E+01
+-.49419000000000E+01
+-.37928000000000E+01
+-.26469000000000E+01
+-.15061000000000E+01
+-.16655000000000E+02
+-.15503000000000E+02
+-.14352000000000E+02
+-.13201000000000E+02
+-.12050000000000E+02
+-.10898000000000E+02
+-.97471000000000E+01
+-.85959000000000E+01
+-.74447000000000E+01
+-.62937000000000E+01
+-.51429000000000E+01
+-.39935000000000E+01
+-.28466000000000E+01
+-.17042000000000E+01
+-.16885000000000E+02
+-.15734000000000E+02
+-.14582000000000E+02
+-.13431000000000E+02
+-.12280000000000E+02
+-.11128000000000E+02
+-.99771000000000E+01
+-.88259000000000E+01
+-.76748000000000E+01
+-.65237000000000E+01
+-.53728000000000E+01
+-.42229000000000E+01
+-.30753000000000E+01
+-.19315000000000E+01
+-.17133000000000E+02
+-.15982000000000E+02
+-.14831000000000E+02
+-.13679000000000E+02
+-.12528000000000E+02
+-.11377000000000E+02
+-.10226000000000E+02
+-.90742000000000E+01
+-.79232000000000E+01
+-.67720000000000E+01
+-.56211000000000E+01
+-.44708000000000E+01
+-.33224000000000E+01
+-.21776000000000E+01
+-.17393000000000E+02
+-.16242000000000E+02
+-.15090000000000E+02
+-.13939000000000E+02
+-.12788000000000E+02
+-.11636000000000E+02
+-.10485000000000E+02
+-.93340000000000E+01
+-.81826000000000E+01
+-.70315000000000E+01
+-.58805000000000E+01
+-.47301000000000E+01
+-.35811000000000E+01
+-.24351000000000E+01
+-.17581000000000E+02
+-.16430000000000E+02
+-.15279000000000E+02
+-.14127000000000E+02
+-.12976000000000E+02
+-.11825000000000E+02
+-.10674000000000E+02
+-.95225000000000E+01
+-.83711000000000E+01
+-.72200000000000E+01
+-.60688000000000E+01
+-.49182000000000E+01
+-.37689000000000E+01
+-.26221000000000E+01
+-.17777000000000E+02
+-.16626000000000E+02
+-.15475000000000E+02
+-.14324000000000E+02
+-.13172000000000E+02
+-.12021000000000E+02
+-.10870000000000E+02
+-.97187000000000E+01
+-.85674000000000E+01
+-.74161000000000E+01
+-.62650000000000E+01
+-.51143000000000E+01
+-.39646000000000E+01
+-.28171000000000E+01
+-.17991000000000E+02
+-.16840000000000E+02
+-.15689000000000E+02
+-.14538000000000E+02
+-.13386000000000E+02
+-.12235000000000E+02
+-.11084000000000E+02
+-.99326000000000E+01
+-.87812000000000E+01
+-.76301000000000E+01
+-.64790000000000E+01
+-.53281000000000E+01
+-.41781000000000E+01
+-.30300000000000E+01
+-.13836000000000E+02
+-.12686000000000E+02
+-.11538000000000E+02
+-.10395000000000E+02
+-.92666000000000E+01
+-.81719000000000E+01
+-.71295000000000E+01
+-.61063000000000E+01
+-.50409000000000E+01
+-.39423000000000E+01
+-.28825000000000E+01
+-.19386000000000E+01
+-.11099000000000E+01
+-.32744000000000E+00
+-.14059000000000E+02
+-.12909000000000E+02
+-.11760000000000E+02
+-.10615000000000E+02
+-.94812000000000E+01
+-.83740000000000E+01
+-.73075000000000E+01
+-.62562000000000E+01
+-.51740000000000E+01
+-.40686000000000E+01
+-.29952000000000E+01
+-.20229000000000E+01
+-.11735000000000E+01
+-.38546000000000E+00
+-.14269000000000E+02
+-.13118000000000E+02
+-.11969000000000E+02
+-.10823000000000E+02
+-.96848000000000E+01
+-.85679000000000E+01
+-.74829000000000E+01
+-.64097000000000E+01
+-.53131000000000E+01
+-.42001000000000E+01
+-.31130000000000E+01
+-.21122000000000E+01
+-.12366000000000E+01
+-.43965000000000E+00
+-.14496000000000E+02
+-.13345000000000E+02
+-.12195000000000E+02
+-.11048000000000E+02
+-.99080000000000E+01
+-.87849000000000E+01
+-.76882000000000E+01
+-.66012000000000E+01
+-.54950000000000E+01
+-.43748000000000E+01
+-.32740000000000E+01
+-.22445000000000E+01
+-.13366000000000E+01
+-.52542000000000E+00
+-.14604000000000E+02
+-.13453000000000E+02
+-.12303000000000E+02
+-.11155000000000E+02
+-.10011000000000E+02
+-.88809000000000E+01
+-.77695000000000E+01
+-.66652000000000E+01
+-.55470000000000E+01
+-.44194000000000E+01
+-.33079000000000E+01
+-.22549000000000E+01
+-.13141000000000E+01
+-.48396000000000E+00
+-.14708000000000E+02
+-.13557000000000E+02
+-.12406000000000E+02
+-.11257000000000E+02
+-.10112000000000E+02
+-.89756000000000E+01
+-.78536000000000E+01
+-.67366000000000E+01
+-.56096000000000E+01
+-.44762000000000E+01
+-.33559000000000E+01
+-.22827000000000E+01
+-.13091000000000E+01
+-.45408000000000E+00
+-.14840000000000E+02
+-.13689000000000E+02
+-.12539000000000E+02
+-.11389000000000E+02
+-.10242000000000E+02
+-.91021000000000E+01
+-.79729000000000E+01
+-.68473000000000E+01
+-.57141000000000E+01
+-.45767000000000E+01
+-.34493000000000E+01
+-.23595000000000E+01
+-.13547000000000E+01
+-.46978000000000E+00
+-.14947000000000E+02
+-.13795000000000E+02
+-.12645000000000E+02
+-.11494000000000E+02
+-.10346000000000E+02
+-.92036000000000E+01
+-.80684000000000E+01
+-.69360000000000E+01
+-.57982000000000E+01
+-.46573000000000E+01
+-.35247000000000E+01
+-.24216000000000E+01
+-.13888000000000E+01
+-.47034000000000E+00
+-.15038000000000E+02
+-.13887000000000E+02
+-.12736000000000E+02
+-.11586000000000E+02
+-.10437000000000E+02
+-.92917000000000E+01
+-.81523000000000E+01
+-.70149000000000E+01
+-.58735000000000E+01
+-.47301000000000E+01
+-.35933000000000E+01
+-.24797000000000E+01
+-.14229000000000E+01
+-.46925000000000E+00
+-.15133000000000E+02
+-.13982000000000E+02
+-.12831000000000E+02
+-.11680000000000E+02
+-.10531000000000E+02
+-.93838000000000E+01
+-.82412000000000E+01
+-.71002000000000E+01
+-.59563000000000E+01
+-.48110000000000E+01
+-.36711000000000E+01
+-.25494000000000E+01
+-.14724000000000E+01
+-.48454000000000E+00
+-.15199000000000E+02
+-.14048000000000E+02
+-.12897000000000E+02
+-.11746000000000E+02
+-.10596000000000E+02
+-.94478000000000E+01
+-.83030000000000E+01
+-.71591000000000E+01
+-.60133000000000E+01
+-.48667000000000E+01
+-.37244000000000E+01
+-.25966000000000E+01
+-.15035000000000E+01
+-.48411000000000E+00
+-.15262000000000E+02
+-.14110000000000E+02
+-.12959000000000E+02
+-.11808000000000E+02
+-.10658000000000E+02
+-.95090000000000E+01
+-.83623000000000E+01
+-.72164000000000E+01
+-.60692000000000E+01
+-.49216000000000E+01
+-.37776000000000E+01
+-.26451000000000E+01
+-.15395000000000E+01
+-.49303000000000E+00
+-.15316000000000E+02
+-.14164000000000E+02
+-.13013000000000E+02
+-.11862000000000E+02
+-.10711000000000E+02
+-.95620000000000E+01
+-.84141000000000E+01
+-.72667000000000E+01
+-.61184000000000E+01
+-.49701000000000E+01
+-.38248000000000E+01
+-.26888000000000E+01
+-.15738000000000E+01
+-.50543000000000E+00
+-.15394000000000E+02
+-.14243000000000E+02
+-.13092000000000E+02
+-.11941000000000E+02
+-.10790000000000E+02
+-.96399000000000E+01
+-.84910000000000E+01
+-.73428000000000E+01
+-.61937000000000E+01
+-.50448000000000E+01
+-.38985000000000E+01
+-.27598000000000E+01
+-.16378000000000E+01
+-.55278000000000E+00
+-.15483000000000E+02
+-.14332000000000E+02
+-.13181000000000E+02
+-.12029000000000E+02
+-.10878000000000E+02
+-.97280000000000E+01
+-.85786000000000E+01
+-.74297000000000E+01
+-.62802000000000E+01
+-.51307000000000E+01
+-.39836000000000E+01
+-.28428000000000E+01
+-.17158000000000E+01
+-.61847000000000E+00
+-.15550000000000E+02
+-.14398000000000E+02
+-.13247000000000E+02
+-.12096000000000E+02
+-.10945000000000E+02
+-.97942000000000E+01
+-.86440000000000E+01
+-.74945000000000E+01
+-.63445000000000E+01
+-.51947000000000E+01
+-.40469000000000E+01
+-.29047000000000E+01
+-.17739000000000E+01
+-.66754000000000E+00
+-.15657000000000E+02
+-.14506000000000E+02
+-.13354000000000E+02
+-.12203000000000E+02
+-.11052000000000E+02
+-.99014000000000E+01
+-.87510000000000E+01
+-.76010000000000E+01
+-.64507000000000E+01
+-.53005000000000E+01
+-.41522000000000E+01
+-.30085000000000E+01
+-.18748000000000E+01
+-.76163000000000E+00
+-.15744000000000E+02
+-.14593000000000E+02
+-.13441000000000E+02
+-.12290000000000E+02
+-.11139000000000E+02
+-.99883000000000E+01
+-.88376000000000E+01
+-.76873000000000E+01
+-.65366000000000E+01
+-.53864000000000E+01
+-.42375000000000E+01
+-.30928000000000E+01
+-.19566000000000E+01
+-.83786000000000E+00
+-.15875000000000E+02
+-.14724000000000E+02
+-.13573000000000E+02
+-.12422000000000E+02
+-.11270000000000E+02
+-.10119000000000E+02
+-.89685000000000E+01
+-.78179000000000E+01
+-.66672000000000E+01
+-.55167000000000E+01
+-.43674000000000E+01
+-.32217000000000E+01
+-.20833000000000E+01
+-.95978000000000E+00
+-.16052000000000E+02
+-.14901000000000E+02
+-.13750000000000E+02
+-.12598000000000E+02
+-.11447000000000E+02
+-.10296000000000E+02
+-.91450000000000E+01
+-.79944000000000E+01
+-.68435000000000E+01
+-.56927000000000E+01
+-.45431000000000E+01
+-.33964000000000E+01
+-.22559000000000E+01
+-.11283000000000E+01
+-.16182000000000E+02
+-.15031000000000E+02
+-.13880000000000E+02
+-.12728000000000E+02
+-.11577000000000E+02
+-.10426000000000E+02
+-.92749000000000E+01
+-.81240000000000E+01
+-.69730000000000E+01
+-.58223000000000E+01
+-.46722000000000E+01
+-.35247000000000E+01
+-.23826000000000E+01
+-.12513000000000E+01
+-.16342000000000E+02
+-.15191000000000E+02
+-.14040000000000E+02
+-.12888000000000E+02
+-.11737000000000E+02
+-.10586000000000E+02
+-.94351000000000E+01
+-.82839000000000E+01
+-.71329000000000E+01
+-.59821000000000E+01
+-.48318000000000E+01
+-.36835000000000E+01
+-.25399000000000E+01
+-.14053000000000E+01
+-.16544000000000E+02
+-.15393000000000E+02
+-.14241000000000E+02
+-.13090000000000E+02
+-.11939000000000E+02
+-.10788000000000E+02
+-.96365000000000E+01
+-.84854000000000E+01
+-.73342000000000E+01
+-.61832000000000E+01
+-.50328000000000E+01
+-.38839000000000E+01
+-.27389000000000E+01
+-.16015000000000E+01
+-.16775000000000E+02
+-.15624000000000E+02
+-.14472000000000E+02
+-.13321000000000E+02
+-.12170000000000E+02
+-.11019000000000E+02
+-.98674000000000E+01
+-.87163000000000E+01
+-.75651000000000E+01
+-.64141000000000E+01
+-.52634000000000E+01
+-.41140000000000E+01
+-.29677000000000E+01
+-.18279000000000E+01
+-.17023000000000E+02
+-.15872000000000E+02
+-.14721000000000E+02
+-.13569000000000E+02
+-.12418000000000E+02
+-.11267000000000E+02
+-.10115000000000E+02
+-.89644000000000E+01
+-.78132000000000E+01
+-.66621000000000E+01
+-.55114000000000E+01
+-.43615000000000E+01
+-.32142000000000E+01
+-.20722000000000E+01
+-.17230000000000E+02
+-.16079000000000E+02
+-.14928000000000E+02
+-.13777000000000E+02
+-.12625000000000E+02
+-.11474000000000E+02
+-.10323000000000E+02
+-.91719000000000E+01
+-.80208000000000E+01
+-.68695000000000E+01
+-.57186000000000E+01
+-.45685000000000E+01
+-.34204000000000E+01
+-.22767000000000E+01
+-.17428000000000E+02
+-.16276000000000E+02
+-.15125000000000E+02
+-.13974000000000E+02
+-.12823000000000E+02
+-.11672000000000E+02
+-.10520000000000E+02
+-.93691000000000E+01
+-.82178000000000E+01
+-.70668000000000E+01
+-.59158000000000E+01
+-.47654000000000E+01
+-.36166000000000E+01
+-.24716000000000E+01
+-.17653000000000E+02
+-.16502000000000E+02
+-.15351000000000E+02
+-.14199000000000E+02
+-.13048000000000E+02
+-.11897000000000E+02
+-.10746000000000E+02
+-.95942000000000E+01
+-.84431000000000E+01
+-.72919000000000E+01
+-.61409000000000E+01
+-.49902000000000E+01
+-.38410000000000E+01
+-.26948000000000E+01
+-.17896000000000E+02
+-.16745000000000E+02
+-.15593000000000E+02
+-.14442000000000E+02
+-.13291000000000E+02
+-.12139000000000E+02
+-.10988000000000E+02
+-.98369000000000E+01
+-.86855000000000E+01
+-.75344000000000E+01
+-.63833000000000E+01
+-.52325000000000E+01
+-.40829000000000E+01
+-.29357000000000E+01
+-.18148000000000E+02
+-.16997000000000E+02
+-.15846000000000E+02
+-.14695000000000E+02
+-.13543000000000E+02
+-.12392000000000E+02
+-.11241000000000E+02
+-.10090000000000E+02
+-.89382000000000E+01
+-.77871000000000E+01
+-.66360000000000E+01
+-.54850000000000E+01
+-.43350000000000E+01
+-.31870000000000E+01
+-.18328000000000E+02
+-.17176000000000E+02
+-.16025000000000E+02
+-.14874000000000E+02
+-.13723000000000E+02
+-.12571000000000E+02
+-.11420000000000E+02
+-.10269000000000E+02
+-.91174000000000E+01
+-.79663000000000E+01
+-.68151000000000E+01
+-.56642000000000E+01
+-.45138000000000E+01
+-.33652000000000E+01
+-.18420000000000E+02
+-.17363000000000E+02
+-.16212000000000E+02
+-.15061000000000E+02
+-.13909000000000E+02
+-.12758000000000E+02
+-.11607000000000E+02
+-.10455000000000E+02
+-.93042000000000E+01
+-.81528000000000E+01
+-.70017000000000E+01
+-.58507000000000E+01
+-.47002000000000E+01
+-.35511000000000E+01
+-.14520000000000E+02
+-.13370000000000E+02
+-.12222000000000E+02
+-.11079000000000E+02
+-.99490000000000E+01
+-.88518000000000E+01
+-.78047000000000E+01
+-.67748000000000E+01
+-.57046000000000E+01
+-.46038000000000E+01
+-.35433000000000E+01
+-.25990000000000E+01
+-.17701000000000E+01
+-.98766000000000E+00
+-.14737000000000E+02
+-.13587000000000E+02
+-.12438000000000E+02
+-.11293000000000E+02
+-.10158000000000E+02
+-.90488000000000E+01
+-.79780000000000E+01
+-.69213000000000E+01
+-.58350000000000E+01
+-.47279000000000E+01
+-.36537000000000E+01
+-.26810000000000E+01
+-.18314000000000E+01
+-.10432000000000E+01
+-.14941000000000E+02
+-.13791000000000E+02
+-.12641000000000E+02
+-.11494000000000E+02
+-.10356000000000E+02
+-.92373000000000E+01
+-.81484000000000E+01
+-.70708000000000E+01
+-.59711000000000E+01
+-.48564000000000E+01
+-.37686000000000E+01
+-.27673000000000E+01
+-.18912000000000E+01
+-.10941000000000E+01
+-.15162000000000E+02
+-.14011000000000E+02
+-.12862000000000E+02
+-.11714000000000E+02
+-.10573000000000E+02
+-.94487000000000E+01
+-.83489000000000E+01
+-.72579000000000E+01
+-.61489000000000E+01
+-.50275000000000E+01
+-.39259000000000E+01
+-.28955000000000E+01
+-.19869000000000E+01
+-.11754000000000E+01
+-.15388000000000E+02
+-.14238000000000E+02
+-.13087000000000E+02
+-.11939000000000E+02
+-.10796000000000E+02
+-.96663000000000E+01
+-.85562000000000E+01
+-.74532000000000E+01
+-.63359000000000E+01
+-.52085000000000E+01
+-.40964000000000E+01
+-.30424000000000E+01
+-.21007000000000E+01
+-.12701000000000E+01
+-.15463000000000E+02
+-.14312000000000E+02
+-.13162000000000E+02
+-.12012000000000E+02
+-.10867000000000E+02
+-.97312000000000E+01
+-.86096000000000E+01
+-.74932000000000E+01
+-.63662000000000E+01
+-.52327000000000E+01
+-.41113000000000E+01
+-.30364000000000E+01
+-.20612000000000E+01
+-.12055000000000E+01
+-.15556000000000E+02
+-.14405000000000E+02
+-.13255000000000E+02
+-.12105000000000E+02
+-.10958000000000E+02
+-.98179000000000E+01
+-.86882000000000E+01
+-.75624000000000E+01
+-.64290000000000E+01
+-.52909000000000E+01
+-.41621000000000E+01
+-.30701000000000E+01
+-.20629000000000E+01
+-.11769000000000E+01
+-.15675000000000E+02
+-.14524000000000E+02
+-.13373000000000E+02
+-.12223000000000E+02
+-.11075000000000E+02
+-.99324000000000E+01
+-.87974000000000E+01
+-.76650000000000E+01
+-.65271000000000E+01
+-.53856000000000E+01
+-.42513000000000E+01
+-.31453000000000E+01
+-.21094000000000E+01
+-.11895000000000E+01
+-.15754000000000E+02
+-.14603000000000E+02
+-.13452000000000E+02
+-.12302000000000E+02
+-.11153000000000E+02
+-.10008000000000E+02
+-.88682000000000E+01
+-.77306000000000E+01
+-.65890000000000E+01
+-.54449000000000E+01
+-.43064000000000E+01
+-.31895000000000E+01
+-.21290000000000E+01
+-.11737000000000E+01
+-.15826000000000E+02
+-.14675000000000E+02
+-.13524000000000E+02
+-.12373000000000E+02
+-.11223000000000E+02
+-.10076000000000E+02
+-.89338000000000E+01
+-.77926000000000E+01
+-.66483000000000E+01
+-.55024000000000E+01
+-.43607000000000E+01
+-.32354000000000E+01
+-.21544000000000E+01
+-.11647000000000E+01
+-.15906000000000E+02
+-.14755000000000E+02
+-.13604000000000E+02
+-.12453000000000E+02
+-.11303000000000E+02
+-.10155000000000E+02
+-.90100000000000E+01
+-.78661000000000E+01
+-.67200000000000E+01
+-.55726000000000E+01
+-.44286000000000E+01
+-.32969000000000E+01
+-.21995000000000E+01
+-.11781000000000E+01
+-.15952000000000E+02
+-.14801000000000E+02
+-.13650000000000E+02
+-.12499000000000E+02
+-.11349000000000E+02
+-.10200000000000E+02
+-.90530000000000E+01
+-.79071000000000E+01
+-.67595000000000E+01
+-.56112000000000E+01
+-.44653000000000E+01
+-.33290000000000E+01
+-.22190000000000E+01
+-.11701000000000E+01
+-.16000000000000E+02
+-.14849000000000E+02
+-.13698000000000E+02
+-.12547000000000E+02
+-.11396000000000E+02
+-.10247000000000E+02
+-.90989000000000E+01
+-.79515000000000E+01
+-.68030000000000E+01
+-.56539000000000E+01
+-.45067000000000E+01
+-.33670000000000E+01
+-.22473000000000E+01
+-.11759000000000E+01
+-.16067000000000E+02
+-.14916000000000E+02
+-.13764000000000E+02
+-.12613000000000E+02
+-.11462000000000E+02
+-.10312000000000E+02
+-.91636000000000E+01
+-.80151000000000E+01
+-.68661000000000E+01
+-.57164000000000E+01
+-.45685000000000E+01
+-.34261000000000E+01
+-.22993000000000E+01
+-.12103000000000E+01
+-.16141000000000E+02
+-.14990000000000E+02
+-.13838000000000E+02
+-.12687000000000E+02
+-.11536000000000E+02
+-.10386000000000E+02
+-.92363000000000E+01
+-.80872000000000E+01
+-.69375000000000E+01
+-.57876000000000E+01
+-.46388000000000E+01
+-.34947000000000E+01
+-.23627000000000E+01
+-.12606000000000E+01
+-.16213000000000E+02
+-.15062000000000E+02
+-.13911000000000E+02
+-.12760000000000E+02
+-.11609000000000E+02
+-.10458000000000E+02
+-.93083000000000E+01
+-.81587000000000E+01
+-.70085000000000E+01
+-.58583000000000E+01
+-.47091000000000E+01
+-.35636000000000E+01
+-.24280000000000E+01
+-.13163000000000E+01
+-.16277000000000E+02
+-.15126000000000E+02
+-.13975000000000E+02
+-.12824000000000E+02
+-.11673000000000E+02
+-.10522000000000E+02
+-.93713000000000E+01
+-.82212000000000E+01
+-.70708000000000E+01
+-.59203000000000E+01
+-.47708000000000E+01
+-.36243000000000E+01
+-.24860000000000E+01
+-.13676000000000E+01
+-.16384000000000E+02
+-.15233000000000E+02
+-.14081000000000E+02
+-.12930000000000E+02
+-.11779000000000E+02
+-.10628000000000E+02
+-.94773000000000E+01
+-.83269000000000E+01
+-.71764000000000E+01
+-.60256000000000E+01
+-.48759000000000E+01
+-.37285000000000E+01
+-.25881000000000E+01
+-.14644000000000E+01
+-.16464000000000E+02
+-.15313000000000E+02
+-.14162000000000E+02
+-.13010000000000E+02
+-.11859000000000E+02
+-.10708000000000E+02
+-.95576000000000E+01
+-.84067000000000E+01
+-.72561000000000E+01
+-.61052000000000E+01
+-.49552000000000E+01
+-.38073000000000E+01
+-.26652000000000E+01
+-.15373000000000E+01
+-.16599000000000E+02
+-.15448000000000E+02
+-.14297000000000E+02
+-.13146000000000E+02
+-.11994000000000E+02
+-.10843000000000E+02
+-.96924000000000E+01
+-.85415000000000E+01
+-.73906000000000E+01
+-.62397000000000E+01
+-.50894000000000E+01
+-.39409000000000E+01
+-.27973000000000E+01
+-.16657000000000E+01
+-.16777000000000E+02
+-.15626000000000E+02
+-.14475000000000E+02
+-.13323000000000E+02
+-.12172000000000E+02
+-.11021000000000E+02
+-.98699000000000E+01
+-.87190000000000E+01
+-.75680000000000E+01
+-.64170000000000E+01
+-.52665000000000E+01
+-.41174000000000E+01
+-.29725000000000E+01
+-.18377000000000E+01
+-.16897000000000E+02
+-.15746000000000E+02
+-.14595000000000E+02
+-.13444000000000E+02
+-.12292000000000E+02
+-.11141000000000E+02
+-.99900000000000E+01
+-.88391000000000E+01
+-.76880000000000E+01
+-.65370000000000E+01
+-.53862000000000E+01
+-.42368000000000E+01
+-.30908000000000E+01
+-.19531000000000E+01
+-.17061000000000E+02
+-.15910000000000E+02
+-.14759000000000E+02
+-.13607000000000E+02
+-.12456000000000E+02
+-.11305000000000E+02
+-.10154000000000E+02
+-.90027000000000E+01
+-.78516000000000E+01
+-.67004000000000E+01
+-.55497000000000E+01
+-.43999000000000E+01
+-.32528000000000E+01
+-.21127000000000E+01
+-.17263000000000E+02
+-.16112000000000E+02
+-.14961000000000E+02
+-.13810000000000E+02
+-.12658000000000E+02
+-.11507000000000E+02
+-.10356000000000E+02
+-.92046000000000E+01
+-.80535000000000E+01
+-.69023000000000E+01
+-.57515000000000E+01
+-.46013000000000E+01
+-.34534000000000E+01
+-.23110000000000E+01
+-.17491000000000E+02
+-.16339000000000E+02
+-.15188000000000E+02
+-.14037000000000E+02
+-.12885000000000E+02
+-.11734000000000E+02
+-.10583000000000E+02
+-.94319000000000E+01
+-.82805000000000E+01
+-.71295000000000E+01
+-.59785000000000E+01
+-.48281000000000E+01
+-.36794000000000E+01
+-.25353000000000E+01
+-.17737000000000E+02
+-.16586000000000E+02
+-.15435000000000E+02
+-.14284000000000E+02
+-.13133000000000E+02
+-.11981000000000E+02
+-.10830000000000E+02
+-.96787000000000E+01
+-.85276000000000E+01
+-.73763000000000E+01
+-.62253000000000E+01
+-.50747000000000E+01
+-.39254000000000E+01
+-.27797000000000E+01
+-.17932000000000E+02
+-.16780000000000E+02
+-.15629000000000E+02
+-.14478000000000E+02
+-.13327000000000E+02
+-.12175000000000E+02
+-.11024000000000E+02
+-.98728000000000E+01
+-.87217000000000E+01
+-.75704000000000E+01
+-.64193000000000E+01
+-.52686000000000E+01
+-.41188000000000E+01
+-.29719000000000E+01
+-.18128000000000E+02
+-.16977000000000E+02
+-.15826000000000E+02
+-.14675000000000E+02
+-.13523000000000E+02
+-.12372000000000E+02
+-.11221000000000E+02
+-.10070000000000E+02
+-.89182000000000E+01
+-.77671000000000E+01
+-.66160000000000E+01
+-.54651000000000E+01
+-.43149000000000E+01
+-.31672000000000E+01
+-.18351000000000E+02
+-.17200000000000E+02
+-.16048000000000E+02
+-.14897000000000E+02
+-.13746000000000E+02
+-.12594000000000E+02
+-.11443000000000E+02
+-.10292000000000E+02
+-.91406000000000E+01
+-.79895000000000E+01
+-.68384000000000E+01
+-.56874000000000E+01
+-.45370000000000E+01
+-.33884000000000E+01
+-.18420000000000E+02
+-.17437000000000E+02
+-.16286000000000E+02
+-.15135000000000E+02
+-.13984000000000E+02
+-.12833000000000E+02
+-.11681000000000E+02
+-.10530000000000E+02
+-.93787000000000E+01
+-.82273000000000E+01
+-.70762000000000E+01
+-.59250000000000E+01
+-.47745000000000E+01
+-.36253000000000E+01
+-.18420000000000E+02
+-.17684000000000E+02
+-.16532000000000E+02
+-.15381000000000E+02
+-.14230000000000E+02
+-.13078000000000E+02
+-.11927000000000E+02
+-.10776000000000E+02
+-.96245000000000E+01
+-.84734000000000E+01
+-.73221000000000E+01
+-.61710000000000E+01
+-.50203000000000E+01
+-.38705000000000E+01
+-.18420000000000E+02
+-.17844000000000E+02
+-.16693000000000E+02
+-.15542000000000E+02
+-.14390000000000E+02
+-.13239000000000E+02
+-.12088000000000E+02
+-.10937000000000E+02
+-.97852000000000E+01
+-.86338000000000E+01
+-.74827000000000E+01
+-.63315000000000E+01
+-.51807000000000E+01
+-.40306000000000E+01
+-.15091000000000E+02
+-.13941000000000E+02
+-.12793000000000E+02
+-.11649000000000E+02
+-.10519000000000E+02
+-.94189000000000E+01
+-.83662000000000E+01
+-.73292000000000E+01
+-.62538000000000E+01
+-.51508000000000E+01
+-.40895000000000E+01
+-.31450000000000E+01
+-.23160000000000E+01
+-.15334000000000E+01
+-.15302000000000E+02
+-.14152000000000E+02
+-.13003000000000E+02
+-.11857000000000E+02
+-.10722000000000E+02
+-.96101000000000E+01
+-.85344000000000E+01
+-.74718000000000E+01
+-.63813000000000E+01
+-.52725000000000E+01
+-.41976000000000E+01
+-.32246000000000E+01
+-.23748000000000E+01
+-.15865000000000E+01
+-.15500000000000E+02
+-.14350000000000E+02
+-.13200000000000E+02
+-.12053000000000E+02
+-.10914000000000E+02
+-.97930000000000E+01
+-.87002000000000E+01
+-.76176000000000E+01
+-.65144000000000E+01
+-.53982000000000E+01
+-.43097000000000E+01
+-.33082000000000E+01
+-.24318000000000E+01
+-.16345000000000E+01
+-.15716000000000E+02
+-.14565000000000E+02
+-.13415000000000E+02
+-.12267000000000E+02
+-.11125000000000E+02
+-.99993000000000E+01
+-.88960000000000E+01
+-.78009000000000E+01
+-.66891000000000E+01
+-.55662000000000E+01
+-.44641000000000E+01
+-.34333000000000E+01
+-.25242000000000E+01
+-.17124000000000E+01
+-.15936000000000E+02
+-.14786000000000E+02
+-.13635000000000E+02
+-.12487000000000E+02
+-.11343000000000E+02
+-.10212000000000E+02
+-.90986000000000E+01
+-.79923000000000E+01
+-.68726000000000E+01
+-.57440000000000E+01
+-.46313000000000E+01
+-.35768000000000E+01
+-.26345000000000E+01
+-.18034000000000E+01
+-.16147000000000E+02
+-.14997000000000E+02
+-.13846000000000E+02
+-.12697000000000E+02
+-.11552000000000E+02
+-.10417000000000E+02
+-.92957000000000E+01
+-.81802000000000E+01
+-.70540000000000E+01
+-.59207000000000E+01
+-.47991000000000E+01
+-.37237000000000E+01
+-.27476000000000E+01
+-.18914000000000E+01
+-.16214000000000E+02
+-.15063000000000E+02
+-.13912000000000E+02
+-.12762000000000E+02
+-.11615000000000E+02
+-.10476000000000E+02
+-.93462000000000E+01
+-.82205000000000E+01
+-.70873000000000E+01
+-.59491000000000E+01
+-.48201000000000E+01
+-.37272000000000E+01
+-.27190000000000E+01
+-.18326000000000E+01
+-.16300000000000E+02
+-.15149000000000E+02
+-.13998000000000E+02
+-.12848000000000E+02
+-.11700000000000E+02
+-.10557000000000E+02
+-.94216000000000E+01
+-.82888000000000E+01
+-.71506000000000E+01
+-.60090000000000E+01
+-.48744000000000E+01
+-.37675000000000E+01
+-.27308000000000E+01
+-.18110000000000E+01
+-.16418000000000E+02
+-.15267000000000E+02
+-.14116000000000E+02
+-.12966000000000E+02
+-.11817000000000E+02
+-.10672000000000E+02
+-.95325000000000E+01
+-.83950000000000E+01
+-.72534000000000E+01
+-.61094000000000E+01
+-.49705000000000E+01
+-.38530000000000E+01
+-.27921000000000E+01
+-.18380000000000E+01
+-.16499000000000E+02
+-.15348000000000E+02
+-.14197000000000E+02
+-.13046000000000E+02
+-.11897000000000E+02
+-.10750000000000E+02
+-.96072000000000E+01
+-.84661000000000E+01
+-.73218000000000E+01
+-.61758000000000E+01
+-.50338000000000E+01
+-.39083000000000E+01
+-.28278000000000E+01
+-.18409000000000E+01
+-.16580000000000E+02
+-.15429000000000E+02
+-.14278000000000E+02
+-.13127000000000E+02
+-.11977000000000E+02
+-.10829000000000E+02
+-.96841000000000E+01
+-.85398000000000E+01
+-.73938000000000E+01
+-.62465000000000E+01
+-.51023000000000E+01
+-.39708000000000E+01
+-.28749000000000E+01
+-.18581000000000E+01
+-.16674000000000E+02
+-.15523000000000E+02
+-.14372000000000E+02
+-.13221000000000E+02
+-.12071000000000E+02
+-.10922000000000E+02
+-.97749000000000E+01
+-.86289000000000E+01
+-.74814000000000E+01
+-.63331000000000E+01
+-.51873000000000E+01
+-.40513000000000E+01
+-.29434000000000E+01
+-.19004000000000E+01
+-.16734000000000E+02
+-.15583000000000E+02
+-.14432000000000E+02
+-.13281000000000E+02
+-.12131000000000E+02
+-.10981000000000E+02
+-.98328000000000E+01
+-.86853000000000E+01
+-.75369000000000E+01
+-.63878000000000E+01
+-.52408000000000E+01
+-.41016000000000E+01
+-.29846000000000E+01
+-.19197000000000E+01
+-.16819000000000E+02
+-.15668000000000E+02
+-.14517000000000E+02
+-.13365000000000E+02
+-.12215000000000E+02
+-.11065000000000E+02
+-.99158000000000E+01
+-.87673000000000E+01
+-.76182000000000E+01
+-.64686000000000E+01
+-.53207000000000E+01
+-.41790000000000E+01
+-.30548000000000E+01
+-.19722000000000E+01
+-.16897000000000E+02
+-.15746000000000E+02
+-.14595000000000E+02
+-.13444000000000E+02
+-.12293000000000E+02
+-.11142000000000E+02
+-.99927000000000E+01
+-.88435000000000E+01
+-.76938000000000E+01
+-.65439000000000E+01
+-.53953000000000E+01
+-.42517000000000E+01
+-.31223000000000E+01
+-.20259000000000E+01
+-.16974000000000E+02
+-.15823000000000E+02
+-.14671000000000E+02
+-.13520000000000E+02
+-.12369000000000E+02
+-.11219000000000E+02
+-.10069000000000E+02
+-.89187000000000E+01
+-.77687000000000E+01
+-.66184000000000E+01
+-.54694000000000E+01
+-.43243000000000E+01
+-.31909000000000E+01
+-.20842000000000E+01
+-.17049000000000E+02
+-.15898000000000E+02
+-.14747000000000E+02
+-.13596000000000E+02
+-.12445000000000E+02
+-.11294000000000E+02
+-.10143000000000E+02
+-.89932000000000E+01
+-.78429000000000E+01
+-.66924000000000E+01
+-.55430000000000E+01
+-.43969000000000E+01
+-.32604000000000E+01
+-.21461000000000E+01
+-.17113000000000E+02
+-.15962000000000E+02
+-.14810000000000E+02
+-.13659000000000E+02
+-.12508000000000E+02
+-.11357000000000E+02
+-.10206000000000E+02
+-.90559000000000E+01
+-.79053000000000E+01
+-.67546000000000E+01
+-.56049000000000E+01
+-.44580000000000E+01
+-.33192000000000E+01
+-.21992000000000E+01
+-.17218000000000E+02
+-.16067000000000E+02
+-.14916000000000E+02
+-.13765000000000E+02
+-.12614000000000E+02
+-.11463000000000E+02
+-.10312000000000E+02
+-.91611000000000E+01
+-.80103000000000E+01
+-.68595000000000E+01
+-.57095000000000E+01
+-.45619000000000E+01
+-.34211000000000E+01
+-.22964000000000E+01
+-.17299000000000E+02
+-.16148000000000E+02
+-.14997000000000E+02
+-.13846000000000E+02
+-.12694000000000E+02
+-.11543000000000E+02
+-.10392000000000E+02
+-.92415000000000E+01
+-.80906000000000E+01
+-.69398000000000E+01
+-.57896000000000E+01
+-.46414000000000E+01
+-.34990000000000E+01
+-.23705000000000E+01
+-.17432000000000E+02
+-.16280000000000E+02
+-.15129000000000E+02
+-.13978000000000E+02
+-.12827000000000E+02
+-.11676000000000E+02
+-.10525000000000E+02
+-.93735000000000E+01
+-.82227000000000E+01
+-.70717000000000E+01
+-.59213000000000E+01
+-.47725000000000E+01
+-.36287000000000E+01
+-.24966000000000E+01
+-.17607000000000E+02
+-.16456000000000E+02
+-.15304000000000E+02
+-.14153000000000E+02
+-.13002000000000E+02
+-.11851000000000E+02
+-.10699000000000E+02
+-.95483000000000E+01
+-.83972000000000E+01
+-.72463000000000E+01
+-.60957000000000E+01
+-.49464000000000E+01
+-.38012000000000E+01
+-.26659000000000E+01
+-.17726000000000E+02
+-.16574000000000E+02
+-.15423000000000E+02
+-.14272000000000E+02
+-.13120000000000E+02
+-.11969000000000E+02
+-.10818000000000E+02
+-.96667000000000E+01
+-.85156000000000E+01
+-.73647000000000E+01
+-.62140000000000E+01
+-.50643000000000E+01
+-.39181000000000E+01
+-.27802000000000E+01
+-.17882000000000E+02
+-.16731000000000E+02
+-.15580000000000E+02
+-.14429000000000E+02
+-.13277000000000E+02
+-.12126000000000E+02
+-.10975000000000E+02
+-.98237000000000E+01
+-.86726000000000E+01
+-.75216000000000E+01
+-.63707000000000E+01
+-.52208000000000E+01
+-.40735000000000E+01
+-.29332000000000E+01
+-.18078000000000E+02
+-.16927000000000E+02
+-.15776000000000E+02
+-.14624000000000E+02
+-.13473000000000E+02
+-.12322000000000E+02
+-.11170000000000E+02
+-.10019000000000E+02
+-.88682000000000E+01
+-.77169000000000E+01
+-.65660000000000E+01
+-.54158000000000E+01
+-.42677000000000E+01
+-.31252000000000E+01
+-.18301000000000E+02
+-.17149000000000E+02
+-.15998000000000E+02
+-.14847000000000E+02
+-.13696000000000E+02
+-.12544000000000E+02
+-.11393000000000E+02
+-.10242000000000E+02
+-.90908000000000E+01
+-.79397000000000E+01
+-.67887000000000E+01
+-.56382000000000E+01
+-.44894000000000E+01
+-.33451000000000E+01
+-.18420000000000E+02
+-.17392000000000E+02
+-.16240000000000E+02
+-.15089000000000E+02
+-.13938000000000E+02
+-.12786000000000E+02
+-.11635000000000E+02
+-.10484000000000E+02
+-.93328000000000E+01
+-.81816000000000E+01
+-.70305000000000E+01
+-.58799000000000E+01
+-.47305000000000E+01
+-.35847000000000E+01
+-.18420000000000E+02
+-.17582000000000E+02
+-.16430000000000E+02
+-.15279000000000E+02
+-.14128000000000E+02
+-.12976000000000E+02
+-.11825000000000E+02
+-.10674000000000E+02
+-.95225000000000E+01
+-.83713000000000E+01
+-.72202000000000E+01
+-.60695000000000E+01
+-.49196000000000E+01
+-.37727000000000E+01
+-.18420000000000E+02
+-.17771000000000E+02
+-.16620000000000E+02
+-.15469000000000E+02
+-.14317000000000E+02
+-.13166000000000E+02
+-.12015000000000E+02
+-.10864000000000E+02
+-.97122000000000E+01
+-.85610000000000E+01
+-.74099000000000E+01
+-.62589000000000E+01
+-.51089000000000E+01
+-.39610000000000E+01
+-.18420000000000E+02
+-.17986000000000E+02
+-.16834000000000E+02
+-.15683000000000E+02
+-.14532000000000E+02
+-.13381000000000E+02
+-.12229000000000E+02
+-.11078000000000E+02
+-.99268000000000E+01
+-.87756000000000E+01
+-.76245000000000E+01
+-.64735000000000E+01
+-.53231000000000E+01
+-.41744000000000E+01
+-.18420000000000E+02
+-.18215000000000E+02
+-.17063000000000E+02
+-.15912000000000E+02
+-.14761000000000E+02
+-.13610000000000E+02
+-.12458000000000E+02
+-.11307000000000E+02
+-.10156000000000E+02
+-.90044000000000E+01
+-.78534000000000E+01
+-.67023000000000E+01
+-.55516000000000E+01
+-.44025000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17299000000000E+02
+-.16148000000000E+02
+-.14997000000000E+02
+-.13845000000000E+02
+-.12694000000000E+02
+-.11543000000000E+02
+-.10391000000000E+02
+-.92402000000000E+01
+-.80889000000000E+01
+-.69379000000000E+01
+-.57871000000000E+01
+-.46375000000000E+01
+-.16008000000000E+02
+-.14858000000000E+02
+-.13710000000000E+02
+-.12565000000000E+02
+-.11433000000000E+02
+-.10329000000000E+02
+-.92676000000000E+01
+-.82197000000000E+01
+-.71364000000000E+01
+-.60299000000000E+01
+-.49675000000000E+01
+-.40227000000000E+01
+-.31937000000000E+01
+-.24110000000000E+01
+-.16208000000000E+02
+-.15058000000000E+02
+-.13909000000000E+02
+-.12763000000000E+02
+-.11626000000000E+02
+-.10510000000000E+02
+-.94275000000000E+01
+-.83557000000000E+01
+-.72588000000000E+01
+-.61471000000000E+01
+-.50713000000000E+01
+-.40979000000000E+01
+-.32480000000000E+01
+-.24595000000000E+01
+-.16396000000000E+02
+-.15245000000000E+02
+-.14095000000000E+02
+-.12948000000000E+02
+-.11808000000000E+02
+-.10684000000000E+02
+-.95847000000000E+01
+-.84944000000000E+01
+-.73861000000000E+01
+-.62677000000000E+01
+-.51783000000000E+01
+-.41764000000000E+01
+-.32999000000000E+01
+-.25023000000000E+01
+-.16602000000000E+02
+-.15451000000000E+02
+-.14301000000000E+02
+-.13152000000000E+02
+-.12010000000000E+02
+-.10881000000000E+02
+-.97722000000000E+01
+-.86707000000000E+01
+-.75547000000000E+01
+-.64298000000000E+01
+-.53270000000000E+01
+-.42958000000000E+01
+-.33864000000000E+01
+-.25742000000000E+01
+-.16812000000000E+02
+-.15662000000000E+02
+-.14511000000000E+02
+-.13363000000000E+02
+-.12218000000000E+02
+-.11084000000000E+02
+-.99668000000000E+01
+-.88547000000000E+01
+-.77314000000000E+01
+-.66013000000000E+01
+-.54880000000000E+01
+-.44330000000000E+01
+-.34901000000000E+01
+-.26584000000000E+01
+-.17014000000000E+02
+-.15863000000000E+02
+-.14712000000000E+02
+-.13563000000000E+02
+-.12417000000000E+02
+-.11280000000000E+02
+-.10155000000000E+02
+-.90347000000000E+01
+-.79055000000000E+01
+-.67708000000000E+01
+-.56487000000000E+01
+-.45726000000000E+01
+-.35958000000000E+01
+-.27386000000000E+01
+-.17207000000000E+02
+-.16056000000000E+02
+-.14905000000000E+02
+-.13755000000000E+02
+-.12608000000000E+02
+-.11468000000000E+02
+-.10338000000000E+02
+-.92109000000000E+01
+-.80771000000000E+01
+-.69387000000000E+01
+-.58093000000000E+01
+-.47157000000000E+01
+-.37064000000000E+01
+-.28183000000000E+01
+-.17374000000000E+02
+-.16223000000000E+02
+-.15072000000000E+02
+-.13922000000000E+02
+-.12774000000000E+02
+-.11631000000000E+02
+-.10496000000000E+02
+-.93643000000000E+01
+-.82263000000000E+01
+-.70848000000000E+01
+-.59498000000000E+01
+-.48420000000000E+01
+-.38033000000000E+01
+-.28810000000000E+01
+-.17409000000000E+02
+-.16258000000000E+02
+-.15107000000000E+02
+-.13957000000000E+02
+-.12808000000000E+02
+-.11662000000000E+02
+-.10523000000000E+02
+-.93848000000000E+01
+-.82429000000000E+01
+-.70988000000000E+01
+-.59594000000000E+01
+-.48403000000000E+01
+-.37767000000000E+01
+-.28190000000000E+01
+-.17494000000000E+02
+-.16343000000000E+02
+-.15192000000000E+02
+-.14041000000000E+02
+-.12892000000000E+02
+-.11745000000000E+02
+-.10602000000000E+02
+-.94607000000000E+01
+-.83162000000000E+01
+-.71700000000000E+01
+-.60275000000000E+01
+-.49001000000000E+01
+-.38162000000000E+01
+-.28246000000000E+01
+-.17604000000000E+02
+-.16454000000000E+02
+-.15302000000000E+02
+-.14152000000000E+02
+-.13001000000000E+02
+-.11854000000000E+02
+-.10708000000000E+02
+-.95645000000000E+01
+-.84182000000000E+01
+-.72708000000000E+01
+-.61259000000000E+01
+-.49924000000000E+01
+-.38926000000000E+01
+-.28710000000000E+01
+-.17679000000000E+02
+-.16528000000000E+02
+-.15377000000000E+02
+-.14226000000000E+02
+-.13075000000000E+02
+-.11927000000000E+02
+-.10780000000000E+02
+-.96335000000000E+01
+-.84858000000000E+01
+-.73373000000000E+01
+-.61908000000000E+01
+-.50531000000000E+01
+-.39416000000000E+01
+-.28951000000000E+01
+-.17779000000000E+02
+-.16627000000000E+02
+-.15477000000000E+02
+-.14325000000000E+02
+-.13175000000000E+02
+-.12025000000000E+02
+-.10877000000000E+02
+-.97295000000000E+01
+-.85808000000000E+01
+-.74316000000000E+01
+-.62841000000000E+01
+-.51433000000000E+01
+-.40234000000000E+01
+-.29575000000000E+01
+-.17921000000000E+02
+-.16770000000000E+02
+-.15619000000000E+02
+-.14468000000000E+02
+-.13317000000000E+02
+-.12167000000000E+02
+-.11018000000000E+02
+-.98696000000000E+01
+-.87202000000000E+01
+-.75707000000000E+01
+-.64224000000000E+01
+-.52795000000000E+01
+-.41536000000000E+01
+-.30724000000000E+01
+-.18055000000000E+02
+-.16904000000000E+02
+-.15753000000000E+02
+-.14602000000000E+02
+-.13451000000000E+02
+-.12300000000000E+02
+-.11151000000000E+02
+-.10001000000000E+02
+-.88518000000000E+01
+-.77018000000000E+01
+-.65529000000000E+01
+-.54086000000000E+01
+-.42782000000000E+01
+-.31852000000000E+01
+-.18178000000000E+02
+-.17027000000000E+02
+-.15875000000000E+02
+-.14724000000000E+02
+-.13573000000000E+02
+-.12423000000000E+02
+-.11273000000000E+02
+-.10123000000000E+02
+-.89727000000000E+01
+-.78224000000000E+01
+-.66731000000000E+01
+-.55276000000000E+01
+-.43938000000000E+01
+-.32914000000000E+01
+-.18286000000000E+02
+-.17134000000000E+02
+-.15983000000000E+02
+-.14832000000000E+02
+-.13681000000000E+02
+-.12530000000000E+02
+-.11380000000000E+02
+-.10229000000000E+02
+-.90791000000000E+01
+-.79286000000000E+01
+-.67789000000000E+01
+-.56326000000000E+01
+-.44961000000000E+01
+-.33860000000000E+01
+-.18392000000000E+02
+-.17241000000000E+02
+-.16090000000000E+02
+-.14939000000000E+02
+-.13788000000000E+02
+-.12636000000000E+02
+-.11486000000000E+02
+-.10335000000000E+02
+-.91848000000000E+01
+-.80342000000000E+01
+-.68843000000000E+01
+-.57371000000000E+01
+-.45983000000000E+01
+-.34818000000000E+01
+-.18420000000000E+02
+-.17325000000000E+02
+-.16174000000000E+02
+-.15023000000000E+02
+-.13872000000000E+02
+-.12720000000000E+02
+-.11570000000000E+02
+-.10419000000000E+02
+-.92681000000000E+01
+-.81172000000000E+01
+-.69672000000000E+01
+-.58195000000000E+01
+-.46788000000000E+01
+-.35573000000000E+01
+-.18420000000000E+02
+-.17414000000000E+02
+-.16263000000000E+02
+-.15111000000000E+02
+-.13960000000000E+02
+-.12809000000000E+02
+-.11658000000000E+02
+-.10507000000000E+02
+-.93562000000000E+01
+-.82053000000000E+01
+-.70552000000000E+01
+-.59069000000000E+01
+-.47646000000000E+01
+-.36389000000000E+01
+-.18420000000000E+02
+-.17526000000000E+02
+-.16375000000000E+02
+-.15224000000000E+02
+-.14073000000000E+02
+-.12921000000000E+02
+-.11771000000000E+02
+-.10619000000000E+02
+-.94685000000000E+01
+-.83174000000000E+01
+-.71670000000000E+01
+-.60182000000000E+01
+-.48745000000000E+01
+-.37448000000000E+01
+-.18420000000000E+02
+-.17616000000000E+02
+-.16465000000000E+02
+-.15314000000000E+02
+-.14163000000000E+02
+-.13011000000000E+02
+-.11860000000000E+02
+-.10709000000000E+02
+-.95581000000000E+01
+-.84072000000000E+01
+-.72566000000000E+01
+-.61074000000000E+01
+-.49625000000000E+01
+-.38296000000000E+01
+-.18420000000000E+02
+-.17760000000000E+02
+-.16608000000000E+02
+-.15457000000000E+02
+-.14306000000000E+02
+-.13155000000000E+02
+-.12004000000000E+02
+-.10853000000000E+02
+-.97014000000000E+01
+-.85503000000000E+01
+-.73995000000000E+01
+-.62500000000000E+01
+-.51039000000000E+01
+-.39678000000000E+01
+-.18420000000000E+02
+-.17921000000000E+02
+-.16770000000000E+02
+-.15619000000000E+02
+-.14467000000000E+02
+-.13316000000000E+02
+-.12165000000000E+02
+-.11014000000000E+02
+-.98625000000000E+01
+-.87114000000000E+01
+-.75605000000000E+01
+-.64106000000000E+01
+-.52635000000000E+01
+-.41246000000000E+01
+-.18420000000000E+02
+-.18033000000000E+02
+-.16881000000000E+02
+-.15730000000000E+02
+-.14579000000000E+02
+-.13428000000000E+02
+-.12277000000000E+02
+-.11125000000000E+02
+-.99741000000000E+01
+-.88230000000000E+01
+-.76722000000000E+01
+-.65221000000000E+01
+-.53743000000000E+01
+-.42332000000000E+01
+-.18420000000000E+02
+-.18195000000000E+02
+-.17043000000000E+02
+-.15893000000000E+02
+-.14741000000000E+02
+-.13590000000000E+02
+-.12439000000000E+02
+-.11287000000000E+02
+-.10136000000000E+02
+-.89851000000000E+01
+-.78341000000000E+01
+-.66837000000000E+01
+-.55352000000000E+01
+-.43922000000000E+01
+-.18420000000000E+02
+-.18391000000000E+02
+-.17240000000000E+02
+-.16088000000000E+02
+-.14937000000000E+02
+-.13786000000000E+02
+-.12635000000000E+02
+-.11484000000000E+02
+-.10332000000000E+02
+-.91812000000000E+01
+-.80300000000000E+01
+-.68795000000000E+01
+-.57303000000000E+01
+-.45857000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17459000000000E+02
+-.16308000000000E+02
+-.15157000000000E+02
+-.14006000000000E+02
+-.12854000000000E+02
+-.11703000000000E+02
+-.10552000000000E+02
+-.94006000000000E+01
+-.82495000000000E+01
+-.70989000000000E+01
+-.59492000000000E+01
+-.48031000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17695000000000E+02
+-.16543000000000E+02
+-.15393000000000E+02
+-.14241000000000E+02
+-.13090000000000E+02
+-.11939000000000E+02
+-.10787000000000E+02
+-.96362000000000E+01
+-.84849000000000E+01
+-.73341000000000E+01
+-.61841000000000E+01
+-.50367000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17852000000000E+02
+-.16701000000000E+02
+-.15550000000000E+02
+-.14398000000000E+02
+-.13247000000000E+02
+-.12096000000000E+02
+-.10945000000000E+02
+-.97935000000000E+01
+-.86423000000000E+01
+-.74913000000000E+01
+-.63411000000000E+01
+-.51930000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18036000000000E+02
+-.16884000000000E+02
+-.15733000000000E+02
+-.14582000000000E+02
+-.13431000000000E+02
+-.12279000000000E+02
+-.11128000000000E+02
+-.99768000000000E+01
+-.88257000000000E+01
+-.76747000000000E+01
+-.65242000000000E+01
+-.53754000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18238000000000E+02
+-.17087000000000E+02
+-.15936000000000E+02
+-.14785000000000E+02
+-.13633000000000E+02
+-.12482000000000E+02
+-.11331000000000E+02
+-.10179000000000E+02
+-.90283000000000E+01
+-.78773000000000E+01
+-.67267000000000E+01
+-.55774000000000E+01
+-.17764000000000E+02
+-.16614000000000E+02
+-.15465000000000E+02
+-.14319000000000E+02
+-.13183000000000E+02
+-.12071000000000E+02
+-.10993000000000E+02
+-.99236000000000E+01
+-.88259000000000E+01
+-.77134000000000E+01
+-.66492000000000E+01
+-.57039000000000E+01
+-.48746000000000E+01
+-.40920000000000E+01
+-.17950000000000E+02
+-.16799000000000E+02
+-.15650000000000E+02
+-.14503000000000E+02
+-.13363000000000E+02
+-.12240000000000E+02
+-.11143000000000E+02
+-.10054000000000E+02
+-.89456000000000E+01
+-.78289000000000E+01
+-.67515000000000E+01
+-.57777000000000E+01
+-.49276000000000E+01
+-.41390000000000E+01
+-.18124000000000E+02
+-.16973000000000E+02
+-.15823000000000E+02
+-.14674000000000E+02
+-.13531000000000E+02
+-.12402000000000E+02
+-.11291000000000E+02
+-.10187000000000E+02
+-.90686000000000E+01
+-.79463000000000E+01
+-.68557000000000E+01
+-.58533000000000E+01
+-.49766000000000E+01
+-.41788000000000E+01
+-.18316000000000E+02
+-.17166000000000E+02
+-.16015000000000E+02
+-.14866000000000E+02
+-.13722000000000E+02
+-.12587000000000E+02
+-.11469000000000E+02
+-.10356000000000E+02
+-.92314000000000E+01
+-.81033000000000E+01
+-.69994000000000E+01
+-.59678000000000E+01
+-.50582000000000E+01
+-.42458000000000E+01
+-.18420000000000E+02
+-.17362000000000E+02
+-.16212000000000E+02
+-.15062000000000E+02
+-.13917000000000E+02
+-.12778000000000E+02
+-.11652000000000E+02
+-.10530000000000E+02
+-.94001000000000E+01
+-.82671000000000E+01
+-.71528000000000E+01
+-.60974000000000E+01
+-.51543000000000E+01
+-.43223000000000E+01
+-.18420000000000E+02
+-.17547000000000E+02
+-.16396000000000E+02
+-.15246000000000E+02
+-.14099000000000E+02
+-.12958000000000E+02
+-.11826000000000E+02
+-.10698000000000E+02
+-.95627000000000E+01
+-.84255000000000E+01
+-.73025000000000E+01
+-.62262000000000E+01
+-.52489000000000E+01
+-.43912000000000E+01
+-.18420000000000E+02
+-.17720000000000E+02
+-.16569000000000E+02
+-.15419000000000E+02
+-.14270000000000E+02
+-.13127000000000E+02
+-.11991000000000E+02
+-.10857000000000E+02
+-.97185000000000E+01
+-.85781000000000E+01
+-.74480000000000E+01
+-.63540000000000E+01
+-.53442000000000E+01
+-.44553000000000E+01
+-.18420000000000E+02
+-.17882000000000E+02
+-.16731000000000E+02
+-.15581000000000E+02
+-.14432000000000E+02
+-.13287000000000E+02
+-.12147000000000E+02
+-.11010000000000E+02
+-.98679000000000E+01
+-.87249000000000E+01
+-.75894000000000E+01
+-.64811000000000E+01
+-.54417000000000E+01
+-.45181000000000E+01
+-.18420000000000E+02
+-.18036000000000E+02
+-.16885000000000E+02
+-.15734000000000E+02
+-.14585000000000E+02
+-.13438000000000E+02
+-.12296000000000E+02
+-.11156000000000E+02
+-.10012000000000E+02
+-.88667000000000E+01
+-.77269000000000E+01
+-.66075000000000E+01
+-.55427000000000E+01
+-.45829000000000E+01
+-.18420000000000E+02
+-.18184000000000E+02
+-.17033000000000E+02
+-.15882000000000E+02
+-.14732000000000E+02
+-.13584000000000E+02
+-.12440000000000E+02
+-.11297000000000E+02
+-.10152000000000E+02
+-.90051000000000E+01
+-.78623000000000E+01
+-.67344000000000E+01
+-.56486000000000E+01
+-.46536000000000E+01
+-.18420000000000E+02
+-.18329000000000E+02
+-.17178000000000E+02
+-.16027000000000E+02
+-.14877000000000E+02
+-.13728000000000E+02
+-.12583000000000E+02
+-.11438000000000E+02
+-.10291000000000E+02
+-.91431000000000E+01
+-.79979000000000E+01
+-.68636000000000E+01
+-.57612000000000E+01
+-.47341000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17324000000000E+02
+-.16173000000000E+02
+-.15023000000000E+02
+-.13874000000000E+02
+-.12727000000000E+02
+-.11580000000000E+02
+-.10433000000000E+02
+-.92839000000000E+01
+-.81370000000000E+01
+-.69979000000000E+01
+-.58827000000000E+01
+-.48278000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17332000000000E+02
+-.16181000000000E+02
+-.15030000000000E+02
+-.13881000000000E+02
+-.12732000000000E+02
+-.11584000000000E+02
+-.10436000000000E+02
+-.92861000000000E+01
+-.81379000000000E+01
+-.69956000000000E+01
+-.58706000000000E+01
+-.47930000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17415000000000E+02
+-.16264000000000E+02
+-.15113000000000E+02
+-.13963000000000E+02
+-.12813000000000E+02
+-.11665000000000E+02
+-.10515000000000E+02
+-.93652000000000E+01
+-.82163000000000E+01
+-.70714000000000E+01
+-.59393000000000E+01
+-.48436000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17542000000000E+02
+-.16392000000000E+02
+-.15241000000000E+02
+-.14090000000000E+02
+-.12940000000000E+02
+-.11791000000000E+02
+-.10641000000000E+02
+-.94907000000000E+01
+-.83411000000000E+01
+-.71946000000000E+01
+-.60575000000000E+01
+-.49480000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17650000000000E+02
+-.16499000000000E+02
+-.15348000000000E+02
+-.14197000000000E+02
+-.13047000000000E+02
+-.11897000000000E+02
+-.10747000000000E+02
+-.95959000000000E+01
+-.84460000000000E+01
+-.72982000000000E+01
+-.61575000000000E+01
+-.50382000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17791000000000E+02
+-.16640000000000E+02
+-.15489000000000E+02
+-.14338000000000E+02
+-.13188000000000E+02
+-.12037000000000E+02
+-.10887000000000E+02
+-.97361000000000E+01
+-.85857000000000E+01
+-.74370000000000E+01
+-.62939000000000E+01
+-.51677000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17989000000000E+02
+-.16837000000000E+02
+-.15686000000000E+02
+-.14535000000000E+02
+-.13385000000000E+02
+-.12234000000000E+02
+-.11083000000000E+02
+-.99324000000000E+01
+-.87817000000000E+01
+-.76328000000000E+01
+-.64882000000000E+01
+-.53572000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18235000000000E+02
+-.17083000000000E+02
+-.15933000000000E+02
+-.14781000000000E+02
+-.13631000000000E+02
+-.12480000000000E+02
+-.11329000000000E+02
+-.10178000000000E+02
+-.90273000000000E+01
+-.78779000000000E+01
+-.67323000000000E+01
+-.55983000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17362000000000E+02
+-.16210000000000E+02
+-.15060000000000E+02
+-.13908000000000E+02
+-.12758000000000E+02
+-.11607000000000E+02
+-.10456000000000E+02
+-.93049000000000E+01
+-.81550000000000E+01
+-.70088000000000E+01
+-.58726000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17662000000000E+02
+-.16511000000000E+02
+-.15360000000000E+02
+-.14208000000000E+02
+-.13058000000000E+02
+-.11906000000000E+02
+-.10755000000000E+02
+-.96045000000000E+01
+-.84546000000000E+01
+-.73077000000000E+01
+-.61699000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17987000000000E+02
+-.16836000000000E+02
+-.15685000000000E+02
+-.14533000000000E+02
+-.13382000000000E+02
+-.12231000000000E+02
+-.11080000000000E+02
+-.99292000000000E+01
+-.87791000000000E+01
+-.76317000000000E+01
+-.64921000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18280000000000E+02
+-.17129000000000E+02
+-.15978000000000E+02
+-.14826000000000E+02
+-.13675000000000E+02
+-.12524000000000E+02
+-.11373000000000E+02
+-.10222000000000E+02
+-.90718000000000E+01
+-.79236000000000E+01
+-.67822000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17375000000000E+02
+-.16224000000000E+02
+-.15073000000000E+02
+-.13922000000000E+02
+-.12770000000000E+02
+-.11619000000000E+02
+-.10468000000000E+02
+-.93176000000000E+01
+-.81692000000000E+01
+-.70261000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17605000000000E+02
+-.16454000000000E+02
+-.15303000000000E+02
+-.14151000000000E+02
+-.13000000000000E+02
+-.11849000000000E+02
+-.10698000000000E+02
+-.95474000000000E+01
+-.83982000000000E+01
+-.72535000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17758000000000E+02
+-.16607000000000E+02
+-.15456000000000E+02
+-.14305000000000E+02
+-.13154000000000E+02
+-.12002000000000E+02
+-.10851000000000E+02
+-.97004000000000E+01
+-.85510000000000E+01
+-.74053000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17931000000000E+02
+-.16780000000000E+02
+-.15628000000000E+02
+-.14477000000000E+02
+-.13326000000000E+02
+-.12175000000000E+02
+-.11024000000000E+02
+-.98728000000000E+01
+-.87229000000000E+01
+-.75760000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18111000000000E+02
+-.16959000000000E+02
+-.15808000000000E+02
+-.14657000000000E+02
+-.13506000000000E+02
+-.12354000000000E+02
+-.11203000000000E+02
+-.10052000000000E+02
+-.89021000000000E+01
+-.77543000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18208000000000E+02
+-.17057000000000E+02
+-.15906000000000E+02
+-.14754000000000E+02
+-.13603000000000E+02
+-.12452000000000E+02
+-.11301000000000E+02
+-.10150000000000E+02
+-.89993000000000E+01
+-.78508000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18347000000000E+02
+-.17195000000000E+02
+-.16044000000000E+02
+-.14893000000000E+02
+-.13741000000000E+02
+-.12590000000000E+02
+-.11439000000000E+02
+-.10288000000000E+02
+-.91375000000000E+01
+-.79885000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17361000000000E+02
+-.16209000000000E+02
+-.15058000000000E+02
+-.13907000000000E+02
+-.12756000000000E+02
+-.11604000000000E+02
+-.10453000000000E+02
+-.93025000000000E+01
+-.81531000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17543000000000E+02
+-.16392000000000E+02
+-.15241000000000E+02
+-.14090000000000E+02
+-.12938000000000E+02
+-.11787000000000E+02
+-.10636000000000E+02
+-.94854000000000E+01
+-.83354000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18354000000000E+02
+-.17216000000000E+02
+-.16096000000000E+02
+-.15004000000000E+02
+-.13917000000000E+02
+-.12808000000000E+02
+-.11691000000000E+02
+-.10625000000000E+02
+-.96794000000000E+01
+-.88501000000000E+01
+-.80674000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17385000000000E+02
+-.16256000000000E+02
+-.15148000000000E+02
+-.14044000000000E+02
+-.12927000000000E+02
+-.11806000000000E+02
+-.10727000000000E+02
+-.97532000000000E+01
+-.89031000000000E+01
+-.81147000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17545000000000E+02
+-.16410000000000E+02
+-.15290000000000E+02
+-.14174000000000E+02
+-.13049000000000E+02
+-.11923000000000E+02
+-.10832000000000E+02
+-.98289000000000E+01
+-.89521000000000E+01
+-.81545000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17729000000000E+02
+-.16591000000000E+02
+-.15464000000000E+02
+-.14342000000000E+02
+-.13211000000000E+02
+-.12080000000000E+02
+-.10975000000000E+02
+-.99436000000000E+01
+-.90339000000000E+01
+-.82217000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17919000000000E+02
+-.16777000000000E+02
+-.15645000000000E+02
+-.14515000000000E+02
+-.13379000000000E+02
+-.12244000000000E+02
+-.11129000000000E+02
+-.10073000000000E+02
+-.91301000000000E+01
+-.82981000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18098000000000E+02
+-.16954000000000E+02
+-.15816000000000E+02
+-.14681000000000E+02
+-.13542000000000E+02
+-.12403000000000E+02
+-.11279000000000E+02
+-.10202000000000E+02
+-.92249000000000E+01
+-.83672000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18265000000000E+02
+-.17119000000000E+02
+-.15979000000000E+02
+-.14839000000000E+02
+-.13697000000000E+02
+-.12555000000000E+02
+-.11425000000000E+02
+-.10330000000000E+02
+-.93203000000000E+01
+-.84316000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17276000000000E+02
+-.16132000000000E+02
+-.14990000000000E+02
+-.13846000000000E+02
+-.12702000000000E+02
+-.11566000000000E+02
+-.10457000000000E+02
+-.94180000000000E+01
+-.84941000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17424000000000E+02
+-.16279000000000E+02
+-.15135000000000E+02
+-.13989000000000E+02
+-.12843000000000E+02
+-.11702000000000E+02
+-.10583000000000E+02
+-.95178000000000E+01
+-.85579000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17565000000000E+02
+-.16418000000000E+02
+-.15272000000000E+02
+-.14125000000000E+02
+-.12977000000000E+02
+-.11834000000000E+02
+-.10706000000000E+02
+-.96204000000000E+01
+-.86252000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17699000000000E+02
+-.16551000000000E+02
+-.15404000000000E+02
+-.14256000000000E+02
+-.13107000000000E+02
+-.11961000000000E+02
+-.10827000000000E+02
+-.97246000000000E+01
+-.86973000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17827000000000E+02
+-.16678000000000E+02
+-.15530000000000E+02
+-.14381000000000E+02
+-.13232000000000E+02
+-.12085000000000E+02
+-.10946000000000E+02
+-.98301000000000E+01
+-.87749000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17950000000000E+02
+-.16801000000000E+02
+-.15652000000000E+02
+-.14502000000000E+02
+-.13353000000000E+02
+-.12204000000000E+02
+-.11062000000000E+02
+-.99365000000000E+01
+-.88579000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18094000000000E+02
+-.16944000000000E+02
+-.15795000000000E+02
+-.14645000000000E+02
+-.13495000000000E+02
+-.12346000000000E+02
+-.11201000000000E+02
+-.10068000000000E+02
+-.89712000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18243000000000E+02
+-.17093000000000E+02
+-.15943000000000E+02
+-.14793000000000E+02
+-.13643000000000E+02
+-.12493000000000E+02
+-.11346000000000E+02
+-.10208000000000E+02
+-.90969000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18386000000000E+02
+-.17236000000000E+02
+-.16085000000000E+02
+-.14935000000000E+02
+-.13785000000000E+02
+-.12635000000000E+02
+-.11486000000000E+02
+-.10345000000000E+02
+-.92224000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17372000000000E+02
+-.16221000000000E+02
+-.15071000000000E+02
+-.13920000000000E+02
+-.12769000000000E+02
+-.11620000000000E+02
+-.10476000000000E+02
+-.93455000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17355000000000E+02
+-.16205000000000E+02
+-.15054000000000E+02
+-.13903000000000E+02
+-.12752000000000E+02
+-.11603000000000E+02
+-.10456000000000E+02
+-.93201000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17396000000000E+02
+-.16245000000000E+02
+-.15094000000000E+02
+-.13943000000000E+02
+-.12792000000000E+02
+-.11642000000000E+02
+-.10494000000000E+02
+-.93535000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17478000000000E+02
+-.16327000000000E+02
+-.15176000000000E+02
+-.14024000000000E+02
+-.12874000000000E+02
+-.11723000000000E+02
+-.10574000000000E+02
+-.94307000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17561000000000E+02
+-.16410000000000E+02
+-.15259000000000E+02
+-.14108000000000E+02
+-.12957000000000E+02
+-.11806000000000E+02
+-.10656000000000E+02
+-.95107000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17647000000000E+02
+-.16496000000000E+02
+-.15345000000000E+02
+-.14194000000000E+02
+-.13042000000000E+02
+-.11892000000000E+02
+-.10741000000000E+02
+-.95942000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17780000000000E+02
+-.16629000000000E+02
+-.15478000000000E+02
+-.14327000000000E+02
+-.13176000000000E+02
+-.12025000000000E+02
+-.10874000000000E+02
+-.97258000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17961000000000E+02
+-.16810000000000E+02
+-.15659000000000E+02
+-.14508000000000E+02
+-.13356000000000E+02
+-.12205000000000E+02
+-.11055000000000E+02
+-.99055000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18134000000000E+02
+-.16982000000000E+02
+-.15831000000000E+02
+-.14680000000000E+02
+-.13529000000000E+02
+-.12378000000000E+02
+-.11227000000000E+02
+-.10077000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18293000000000E+02
+-.17142000000000E+02
+-.15991000000000E+02
+-.14840000000000E+02
+-.13689000000000E+02
+-.12537000000000E+02
+-.11386000000000E+02
+-.10236000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17308000000000E+02
+-.16157000000000E+02
+-.15006000000000E+02
+-.13854000000000E+02
+-.12703000000000E+02
+-.11552000000000E+02
+-.10402000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17441000000000E+02
+-.16290000000000E+02
+-.15138000000000E+02
+-.13987000000000E+02
+-.12836000000000E+02
+-.11685000000000E+02
+-.10534000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17547000000000E+02
+-.16396000000000E+02
+-.15245000000000E+02
+-.14094000000000E+02
+-.12942000000000E+02
+-.11791000000000E+02
+-.10640000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17662000000000E+02
+-.16511000000000E+02
+-.15360000000000E+02
+-.14208000000000E+02
+-.13057000000000E+02
+-.11906000000000E+02
+-.10755000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17727000000000E+02
+-.16575000000000E+02
+-.15424000000000E+02
+-.14273000000000E+02
+-.13122000000000E+02
+-.11970000000000E+02
+-.10820000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17827000000000E+02
+-.16675000000000E+02
+-.15524000000000E+02
+-.14373000000000E+02
+-.13221000000000E+02
+-.12070000000000E+02
+-.10919000000000E+02
+-.32123000000000E+01
+-.24135000000000E+01
+-.16445000000000E+01
+-.89139000000000E+00
+-.11166000000000E+00
+0.74065000000000E+00
+0.16499000000000E+01
+0.26064000000000E+01
+0.36346000000000E+01
+0.46964000000000E+01
+0.56748000000000E+01
+0.64109000000000E+01
+0.68398000000000E+01
+0.69116000000000E+01
+-.38093000000000E+01
+-.30001000000000E+01
+-.22491000000000E+01
+-.15411000000000E+01
+-.81697000000000E+00
+-.12542000000000E-01
+0.87141000000000E+00
+0.18254000000000E+01
+0.28591000000000E+01
+0.39374000000000E+01
+0.49778000000000E+01
+0.58689000000000E+01
+0.65031000000000E+01
+0.66700000000000E+01
+-.44155000000000E+01
+-.35817000000000E+01
+-.28231000000000E+01
+-.21225000000000E+01
+-.14144000000000E+01
+-.63327000000000E+00
+0.22562000000000E+00
+0.11606000000000E+01
+0.21817000000000E+01
+0.32587000000000E+01
+0.43243000000000E+01
+0.52916000000000E+01
+0.60544000000000E+01
+0.63645000000000E+01
+-.50289000000000E+01
+-.41628000000000E+01
+-.33814000000000E+01
+-.26694000000000E+01
+-.19627000000000E+01
+-.12013000000000E+01
+-.38148000000000E+00
+0.50528000000000E+00
+0.14836000000000E+01
+0.25370000000000E+01
+0.36073000000000E+01
+0.46158000000000E+01
+0.54628000000000E+01
+0.59406000000000E+01
+-.56479000000000E+01
+-.47469000000000E+01
+-.39346000000000E+01
+-.32004000000000E+01
+-.24862000000000E+01
+-.17388000000000E+01
+-.95795000000000E+00
+-.12858000000000E+00
+0.78818000000000E+00
+0.17947000000000E+01
+0.28472000000000E+01
+0.38724000000000E+01
+0.47755000000000E+01
+0.54004000000000E+01
+-.62378000000000E+01
+-.53062000000000E+01
+-.44633000000000E+01
+-.37037000000000E+01
+-.29760000000000E+01
+-.22352000000000E+01
+-.14861000000000E+01
+-.71088000000000E+00
+0.13690000000000E+00
+0.10757000000000E+01
+0.20849000000000E+01
+0.31054000000000E+01
+0.40454000000000E+01
+0.47810000000000E+01
+-.68320000000000E+01
+-.58751000000000E+01
+-.50056000000000E+01
+-.42238000000000E+01
+-.34835000000000E+01
+-.27443000000000E+01
+-.20157000000000E+01
+-.12828000000000E+01
+-.50070000000000E+00
+0.35836000000000E+00
+0.12988000000000E+01
+0.22867000000000E+01
+0.32408000000000E+01
+0.40513000000000E+01
+-.74762000000000E+01
+-.64926000000000E+01
+-.55916000000000E+01
+-.47791000000000E+01
+-.40182000000000E+01
+-.32723000000000E+01
+-.25535000000000E+01
+-.18507000000000E+01
+-.11245000000000E+01
+-.34462000000000E+00
+0.51141000000000E+00
+0.14396000000000E+01
+0.23819000000000E+01
+0.32372000000000E+01
+-.81782000000000E+01
+-.71681000000000E+01
+-.62332000000000E+01
+-.53840000000000E+01
+-.45942000000000E+01
+-.38309000000000E+01
+-.31060000000000E+01
+-.24153000000000E+01
+-.17271000000000E+01
+-.10107000000000E+01
+-.23111000000000E+00
+0.63004000000000E+00
+0.15419000000000E+01
+0.24163000000000E+01
+-.89509000000000E+01
+-.79172000000000E+01
+-.69506000000000E+01
+-.60651000000000E+01
+-.52440000000000E+01
+-.44561000000000E+01
+-.37109000000000E+01
+-.30126000000000E+01
+-.23361000000000E+01
+-.16502000000000E+01
+-.91649000000000E+00
+-.10674000000000E+00
+0.76959000000000E+00
+0.16455000000000E+01
+-.97607000000000E+01
+-.87048000000000E+01
+-.77062000000000E+01
+-.67814000000000E+01
+-.59229000000000E+01
+-.51044000000000E+01
+-.43314000000000E+01
+-.36120000000000E+01
+-.29255000000000E+01
+-.22411000000000E+01
+-.15226000000000E+01
+-.74252000000000E+00
+0.10222000000000E+00
+0.96973000000000E+00
+-.10576000000000E+02
+-.95007000000000E+01
+-.84729000000000E+01
+-.75094000000000E+01
+-.66110000000000E+01
+-.57578000000000E+01
+-.49510000000000E+01
+-.41986000000000E+01
+-.34833000000000E+01
+-.27780000000000E+01
+-.20521000000000E+01
+-.12830000000000E+01
+-.46034000000000E+00
+0.39584000000000E+00
+-.11379000000000E+02
+-.10288000000000E+02
+-.92358000000000E+01
+-.82390000000000E+01
+-.73038000000000E+01
+-.64163000000000E+01
+-.55720000000000E+01
+-.47778000000000E+01
+-.40199000000000E+01
+-.32764000000000E+01
+-.25250000000000E+01
+-.17495000000000E+01
+-.93669000000000E+00
+-.90240000000000E-01
+-.12133000000000E+02
+-.11028000000000E+02
+-.99556000000000E+01
+-.89290000000000E+01
+-.79580000000000E+01
+-.70337000000000E+01
+-.61483000000000E+01
+-.53086000000000E+01
+-.45066000000000E+01
+-.37252000000000E+01
+-.29482000000000E+01
+-.21631000000000E+01
+-.13567000000000E+01
+-.52367000000000E+00
+-.12827000000000E+02
+-.11712000000000E+02
+-.10623000000000E+02
+-.95708000000000E+01
+-.85676000000000E+01
+-.76093000000000E+01
+-.66866000000000E+01
+-.58055000000000E+01
+-.49639000000000E+01
+-.41460000000000E+01
+-.33387000000000E+01
+-.25360000000000E+01
+-.17301000000000E+01
+-.91200000000000E+00
+-.13439000000000E+02
+-.12317000000000E+02
+-.11216000000000E+02
+-.10147000000000E+02
+-.91201000000000E+01
+-.81360000000000E+01
+-.71842000000000E+01
+-.62677000000000E+01
+-.53878000000000E+01
+-.45325000000000E+01
+-.36936000000000E+01
+-.28724000000000E+01
+-.20653000000000E+01
+-.12633000000000E+01
+-.13977000000000E+02
+-.12850000000000E+02
+-.11740000000000E+02
+-.10656000000000E+02
+-.96106000000000E+01
+-.86052000000000E+01
+-.76311000000000E+01
+-.66868000000000E+01
+-.57748000000000E+01
+-.48887000000000E+01
+-.40244000000000E+01
+-.31863000000000E+01
+-.23759000000000E+01
+-.15867000000000E+01
+-.14485000000000E+02
+-.13354000000000E+02
+-.12236000000000E+02
+-.11141000000000E+02
+-.10078000000000E+02
+-.90530000000000E+01
+-.80583000000000E+01
+-.70897000000000E+01
+-.61499000000000E+01
+-.52358000000000E+01
+-.43472000000000E+01
+-.34896000000000E+01
+-.26710000000000E+01
+-.18895000000000E+01
+-.14967000000000E+02
+-.13832000000000E+02
+-.12707000000000E+02
+-.11601000000000E+02
+-.10523000000000E+02
+-.94790000000000E+01
+-.84648000000000E+01
+-.74745000000000E+01
+-.65103000000000E+01
+-.55720000000000E+01
+-.46616000000000E+01
+-.37880000000000E+01
+-.29617000000000E+01
+-.21865000000000E+01
+-.15442000000000E+02
+-.14304000000000E+02
+-.13174000000000E+02
+-.12059000000000E+02
+-.10967000000000E+02
+-.99058000000000E+01
+-.88735000000000E+01
+-.78641000000000E+01
+-.68799000000000E+01
+-.59229000000000E+01
+-.49941000000000E+01
+-.41049000000000E+01
+-.32712000000000E+01
+-.25016000000000E+01
+-.15943000000000E+02
+-.14802000000000E+02
+-.13668000000000E+02
+-.12546000000000E+02
+-.11443000000000E+02
+-.10366000000000E+02
+-.93186000000000E+01
+-.82954000000000E+01
+-.72965000000000E+01
+-.63236000000000E+01
+-.53778000000000E+01
+-.44733000000000E+01
+-.36335000000000E+01
+-.28739000000000E+01
+-.16493000000000E+02
+-.15350000000000E+02
+-.14212000000000E+02
+-.13084000000000E+02
+-.11971000000000E+02
+-.10881000000000E+02
+-.98191000000000E+01
+-.87832000000000E+01
+-.77717000000000E+01
+-.67853000000000E+01
+-.58253000000000E+01
+-.49064000000000E+01
+-.40568000000000E+01
+-.33020000000000E+01
+-.17108000000000E+02
+-.15963000000000E+02
+-.14823000000000E+02
+-.13690000000000E+02
+-.12570000000000E+02
+-.11469000000000E+02
+-.10393000000000E+02
+-.93442000000000E+01
+-.83201000000000E+01
+-.73207000000000E+01
+-.63475000000000E+01
+-.54141000000000E+01
+-.45497000000000E+01
+-.37893000000000E+01
+-.17770000000000E+02
+-.16624000000000E+02
+-.15482000000000E+02
+-.14345000000000E+02
+-.13219000000000E+02
+-.12108000000000E+02
+-.11020000000000E+02
+-.99585000000000E+01
+-.89221000000000E+01
+-.79116000000000E+01
+-.69281000000000E+01
+-.59824000000000E+01
+-.51028000000000E+01
+-.43278000000000E+01
+-.18420000000000E+02
+-.17317000000000E+02
+-.16172000000000E+02
+-.15033000000000E+02
+-.13901000000000E+02
+-.12783000000000E+02
+-.11684000000000E+02
+-.10610000000000E+02
+-.95608000000000E+01
+-.85388000000000E+01
+-.75448000000000E+01
+-.65863000000000E+01
+-.56891000000000E+01
+-.48925000000000E+01
+-.18420000000000E+02
+-.18012000000000E+02
+-.16867000000000E+02
+-.15726000000000E+02
+-.14591000000000E+02
+-.13468000000000E+02
+-.12361000000000E+02
+-.11277000000000E+02
+-.10218000000000E+02
+-.91838000000000E+01
+-.81782000000000E+01
+-.72059000000000E+01
+-.62898000000000E+01
+-.54691000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17525000000000E+02
+-.16382000000000E+02
+-.15245000000000E+02
+-.14118000000000E+02
+-.13006000000000E+02
+-.11914000000000E+02
+-.10844000000000E+02
+-.97991000000000E+01
+-.87815000000000E+01
+-.77974000000000E+01
+-.68645000000000E+01
+-.60199000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18126000000000E+02
+-.16982000000000E+02
+-.15843000000000E+02
+-.14712000000000E+02
+-.13594000000000E+02
+-.12495000000000E+02
+-.11417000000000E+02
+-.10361000000000E+02
+-.93311000000000E+01
+-.83337000000000E+01
+-.73832000000000E+01
+-.65123000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17500000000000E+02
+-.16359000000000E+02
+-.15226000000000E+02
+-.14103000000000E+02
+-.12997000000000E+02
+-.11910000000000E+02
+-.10844000000000E+02
+-.98015000000000E+01
+-.87908000000000E+01
+-.78242000000000E+01
+-.69296000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17941000000000E+02
+-.16798000000000E+02
+-.15662000000000E+02
+-.14535000000000E+02
+-.13422000000000E+02
+-.12328000000000E+02
+-.11252000000000E+02
+-.10198000000000E+02
+-.91733000000000E+01
+-.81899000000000E+01
+-.72729000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18313000000000E+02
+-.17169000000000E+02
+-.16030000000000E+02
+-.14899000000000E+02
+-.13781000000000E+02
+-.12679000000000E+02
+-.11597000000000E+02
+-.10534000000000E+02
+-.94978000000000E+01
+-.84990000000000E+01
+-.75610000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17488000000000E+02
+-.16347000000000E+02
+-.15213000000000E+02
+-.14090000000000E+02
+-.12982000000000E+02
+-.11893000000000E+02
+-.10824000000000E+02
+-.97778000000000E+01
+-.87651000000000E+01
+-.78074000000000E+01
+0.44296000000000E+01
+0.54792000000000E+01
+0.64447000000000E+01
+0.72579000000000E+01
+0.78667000000000E+01
+0.83457000000000E+01
+0.86248000000000E+01
+0.88271000000000E+01
+0.91875000000000E+01
+0.99858000000000E+01
+0.10309000000000E+02
+0.10431000000000E+02
+0.10640000000000E+02
+0.10871000000000E+02
+0.29191000000000E+01
+0.39877000000000E+01
+0.50403000000000E+01
+0.59996000000000E+01
+0.68003000000000E+01
+0.74020000000000E+01
+0.78754000000000E+01
+0.81770000000000E+01
+0.86106000000000E+01
+0.95017000000000E+01
+0.98684000000000E+01
+0.99060000000000E+01
+0.10102000000000E+02
+0.10334000000000E+02
+0.18213000000000E+01
+0.27822000000000E+01
+0.38122000000000E+01
+0.48510000000000E+01
+0.57832000000000E+01
+0.65446000000000E+01
+0.71635000000000E+01
+0.76353000000000E+01
+0.81567000000000E+01
+0.91929000000000E+01
+0.96023000000000E+01
+0.94731000000000E+01
+0.96021000000000E+01
+0.98286000000000E+01
+0.15739000000000E+01
+0.23090000000000E+01
+0.31550000000000E+01
+0.40071000000000E+01
+0.49697000000000E+01
+0.58384000000000E+01
+0.65767000000000E+01
+0.71375000000000E+01
+0.78712000000000E+01
+0.90679000000000E+01
+0.95149000000000E+01
+0.91909000000000E+01
+0.91702000000000E+01
+0.93794000000000E+01
+0.16307000000000E+01
+0.23680000000000E+01
+0.29696000000000E+01
+0.38635000000000E+01
+0.46632000000000E+01
+0.54062000000000E+01
+0.61655000000000E+01
+0.68562000000000E+01
+0.77590000000000E+01
+0.90911000000000E+01
+0.95562000000000E+01
+0.91128000000000E+01
+0.88445000000000E+01
+0.90569000000000E+01
+0.12207000000000E+01
+0.22409000000000E+01
+0.29769000000000E+01
+0.38297000000000E+01
+0.47664000000000E+01
+0.54723000000000E+01
+0.61736000000000E+01
+0.67584000000000E+01
+0.75010000000000E+01
+0.91912000000000E+01
+0.96438000000000E+01
+0.91912000000000E+01
+0.86643000000000E+01
+0.88735000000000E+01
+0.64412000000000E+00
+0.16344000000000E+01
+0.26022000000000E+01
+0.37073000000000E+01
+0.46886000000000E+01
+0.57090000000000E+01
+0.63463000000000E+01
+0.72565000000000E+01
+0.82590000000000E+01
+0.93101000000000E+01
+0.97205000000000E+01
+0.93364000000000E+01
+0.86377000000000E+01
+0.88291000000000E+01
+0.15805000000000E+00
+0.11465000000000E+01
+0.21921000000000E+01
+0.32244000000000E+01
+0.44512000000000E+01
+0.55811000000000E+01
+0.66064000000000E+01
+0.75808000000000E+01
+0.84785000000000E+01
+0.94216000000000E+01
+0.97695000000000E+01
+0.94844000000000E+01
+0.87522000000000E+01
+0.89065000000000E+01
+-.21528000000000E+00
+0.74190000000000E+00
+0.17901000000000E+01
+0.28731000000000E+01
+0.42422000000000E+01
+0.52078000000000E+01
+0.64156000000000E+01
+0.76847000000000E+01
+0.86511000000000E+01
+0.94685000000000E+01
+0.97678000000000E+01
+0.95898000000000E+01
+0.89272000000000E+01
+0.90312000000000E+01
+-.53865000000000E+00
+0.39923000000000E+00
+0.14348000000000E+01
+0.25279000000000E+01
+0.39448000000000E+01
+0.50004000000000E+01
+0.63315000000000E+01
+0.74364000000000E+01
+0.84089000000000E+01
+0.92302000000000E+01
+0.97168000000000E+01
+0.96489000000000E+01
+0.91230000000000E+01
+0.91772000000000E+01
+-.87599000000000E+00
+0.73797000000000E-01
+0.10993000000000E+01
+0.21927000000000E+01
+0.33058000000000E+01
+0.47048000000000E+01
+0.60815000000000E+01
+0.70131000000000E+01
+0.82961000000000E+01
+0.91162000000000E+01
+0.96101000000000E+01
+0.96606000000000E+01
+0.93047000000000E+01
+0.93271000000000E+01
+-.12392000000000E+01
+-.24377000000000E+00
+0.78497000000000E+00
+0.18800000000000E+01
+0.30004000000000E+01
+0.43832000000000E+01
+0.57462000000000E+01
+0.67598000000000E+01
+0.80347000000000E+01
+0.88977000000000E+01
+0.94568000000000E+01
+0.96428000000000E+01
+0.94846000000000E+01
+0.95178000000000E+01
+-.16172000000000E+01
+-.57399000000000E+00
+0.46879000000000E+00
+0.15690000000000E+01
+0.26945000000000E+01
+0.40380000000000E+01
+0.53575000000000E+01
+0.64208000000000E+01
+0.75472000000000E+01
+0.85937000000000E+01
+0.92573000000000E+01
+0.95945000000000E+01
+0.96350000000000E+01
+0.97217000000000E+01
+-.19965000000000E+01
+-.93169000000000E+00
+0.12276000000000E+00
+0.12277000000000E+01
+0.23566000000000E+01
+0.36553000000000E+01
+0.49292000000000E+01
+0.60217000000000E+01
+0.71556000000000E+01
+0.81711000000000E+01
+0.90059000000000E+01
+0.95029000000000E+01
+0.97251000000000E+01
+0.98853000000000E+01
+-.23586000000000E+01
+-.12927000000000E+01
+-.23427000000000E+00
+0.87216000000000E+00
+0.20028000000000E+01
+0.32617000000000E+01
+0.44987000000000E+01
+0.56095000000000E+01
+0.67463000000000E+01
+0.78029000000000E+01
+0.87043000000000E+01
+0.93684000000000E+01
+0.97529000000000E+01
+0.10016000000000E+02
+-.26960000000000E+01
+-.16341000000000E+01
+-.57758000000000E+00
+0.52634000000000E+00
+0.16567000000000E+01
+0.28828000000000E+01
+0.40918000000000E+01
+0.52142000000000E+01
+0.63513000000000E+01
+0.74353000000000E+01
+0.84106000000000E+01
+0.91943000000000E+01
+0.97239000000000E+01
+0.10096000000000E+02
+-.30237000000000E+01
+-.19642000000000E+01
+-.91214000000000E+00
+0.18521000000000E+00
+0.13128000000000E+01
+0.25142000000000E+01
+0.37039000000000E+01
+0.48340000000000E+01
+0.59717000000000E+01
+0.70748000000000E+01
+0.81040000000000E+01
+0.89849000000000E+01
+0.96421000000000E+01
+0.10125000000000E+02
+-.33447000000000E+01
+-.22860000000000E+01
+-.12378000000000E+01
+-.14931000000000E+00
+0.97319000000000E+00
+0.21559000000000E+01
+0.33321000000000E+01
+0.44674000000000E+01
+0.56061000000000E+01
+0.67227000000000E+01
+0.77894000000000E+01
+0.87451000000000E+01
+0.95122000000000E+01
+0.10103000000000E+02
+-.36611000000000E+01
+-.26025000000000E+01
+-.15567000000000E+01
+-.47791000000000E+00
+0.63760000000000E+00
+0.18056000000000E+01
+0.29720000000000E+01
+0.41108000000000E+01
+0.52507000000000E+01
+0.63767000000000E+01
+0.74694000000000E+01
+0.84805000000000E+01
+0.93386000000000E+01
+0.10031000000000E+02
+-.39752000000000E+01
+-.29157000000000E+01
+-.18713000000000E+01
+-.80179000000000E+00
+0.30511000000000E+00
+0.14607000000000E+01
+0.26197000000000E+01
+0.37608000000000E+01
+0.49019000000000E+01
+0.60345000000000E+01
+0.71449000000000E+01
+0.81963000000000E+01
+0.91277000000000E+01
+0.99116000000000E+01
+-.42887000000000E+01
+-.32271000000000E+01
+-.21831000000000E+01
+-.11220000000000E+01
+-.24890000000000E-01
+0.11193000000000E+01
+0.22721000000000E+01
+0.34145000000000E+01
+0.45566000000000E+01
+0.56941000000000E+01
+0.68167000000000E+01
+0.78971000000000E+01
+0.88853000000000E+01
+0.97488000000000E+01
+-.45679000000000E+01
+-.35037000000000E+01
+-.24592000000000E+01
+-.14045000000000E+01
+-.31673000000000E+00
+0.81659000000000E+00
+0.19637000000000E+01
+0.31068000000000E+01
+0.42500000000000E+01
+0.53910000000000E+01
+0.65221000000000E+01
+0.76234000000000E+01
+0.86558000000000E+01
+0.95874000000000E+01
+-.48289000000000E+01
+-.37612000000000E+01
+-.27153000000000E+01
+-.16656000000000E+01
+-.58681000000000E+00
+0.53625000000000E+00
+0.16780000000000E+01
+0.28212000000000E+01
+0.39655000000000E+01
+0.51090000000000E+01
+0.62461000000000E+01
+0.73622000000000E+01
+0.84277000000000E+01
+0.94143000000000E+01
+-.51053000000000E+01
+-.40327000000000E+01
+-.29840000000000E+01
+-.19381000000000E+01
+-.86848000000000E+00
+0.24406000000000E+00
+0.13803000000000E+01
+0.25228000000000E+01
+0.36677000000000E+01
+0.48130000000000E+01
+0.59542000000000E+01
+0.70804000000000E+01
+0.81699000000000E+01
+0.91992000000000E+01
+-.53940000000000E+01
+-.43156000000000E+01
+-.32624000000000E+01
+-.22185000000000E+01
+-.11576000000000E+01
+-.56095000000000E-01
+0.10739000000000E+01
+0.22148000000000E+01
+0.33600000000000E+01
+0.45065000000000E+01
+0.56505000000000E+01
+0.67841000000000E+01
+0.78910000000000E+01
+0.89526000000000E+01
+-.56907000000000E+01
+-.46057000000000E+01
+-.35470000000000E+01
+-.25031000000000E+01
+-.14497000000000E+01
+-.35954000000000E+00
+0.76318000000000E+00
+0.19018000000000E+01
+0.30466000000000E+01
+0.41937000000000E+01
+0.53397000000000E+01
+0.64783000000000E+01
+0.75977000000000E+01
+0.86836000000000E+01
+-.59951000000000E+01
+-.49037000000000E+01
+-.38384000000000E+01
+-.27924000000000E+01
+-.17447000000000E+01
+-.66597000000000E+00
+0.44823000000000E+00
+0.15834000000000E+01
+0.27275000000000E+01
+0.38749000000000E+01
+0.50221000000000E+01
+0.61642000000000E+01
+0.72925000000000E+01
+0.83962000000000E+01
+-.63062000000000E+01
+-.52085000000000E+01
+-.41361000000000E+01
+-.30862000000000E+01
+-.20420000000000E+01
+-.97400000000000E+00
+0.13045000000000E+00
+0.12610000000000E+01
+0.24036000000000E+01
+0.35510000000000E+01
+0.46989000000000E+01
+0.58435000000000E+01
+0.69781000000000E+01
+0.80950000000000E+01
+-.66229000000000E+01
+-.55192000000000E+01
+-.44395000000000E+01
+-.33842000000000E+01
+-.23411000000000E+01
+-.12825000000000E+01
+-.18882000000000E+00
+0.93564000000000E+00
+0.20760000000000E+01
+0.32230000000000E+01
+0.43713000000000E+01
+0.55177000000000E+01
+0.66569000000000E+01
+0.77832000000000E+01
+-.69442000000000E+01
+-.58351000000000E+01
+-.47479000000000E+01
+-.36862000000000E+01
+-.26419000000000E+01
+-.15908000000000E+01
+-.50835000000000E+00
+0.60855000000000E+00
+0.17459000000000E+01
+0.28918000000000E+01
+0.40403000000000E+01
+0.51877000000000E+01
+0.63302000000000E+01
+0.74635000000000E+01
+-.72678000000000E+01
+-.61553000000000E+01
+-.50610000000000E+01
+-.39921000000000E+01
+-.29445000000000E+01
+-.18985000000000E+01
+-.82706000000000E+00
+0.28080000000000E+00
+0.14138000000000E+01
+0.25583000000000E+01
+0.37067000000000E+01
+0.48549000000000E+01
+0.59996000000000E+01
+0.71378000000000E+01
+-.75548000000000E+01
+-.64374000000000E+01
+-.53379000000000E+01
+-.42626000000000E+01
+-.32107000000000E+01
+-.21670000000000E+01
+-.11045000000000E+01
+-.55650000000000E-02
+0.11227000000000E+01
+0.22654000000000E+01
+0.34133000000000E+01
+0.45620000000000E+01
+0.57085000000000E+01
+0.68503000000000E+01
+0.95076000000000E+01
+0.95093000000000E+01
+0.95107000000000E+01
+0.95127000000000E+01
+0.95149000000000E+01
+0.95168000000000E+01
+0.95186000000000E+01
+0.95190000000000E+01
+0.95181000000000E+01
+0.95330000000000E+01
+0.95562000000000E+01
+0.92295000000000E+01
+0.89373000000000E+01
+0.92693000000000E+01
+0.94644000000000E+01
+0.94666000000000E+01
+0.94678000000000E+01
+0.94692000000000E+01
+0.94714000000000E+01
+0.94736000000000E+01
+0.94753000000000E+01
+0.94763000000000E+01
+0.94761000000000E+01
+0.94905000000000E+01
+0.95100000000000E+01
+0.92239000000000E+01
+0.89065000000000E+01
+0.92400000000000E+01
+0.93657000000000E+01
+0.93921000000000E+01
+0.94031000000000E+01
+0.94075000000000E+01
+0.94102000000000E+01
+0.94126000000000E+01
+0.94148000000000E+01
+0.94163000000000E+01
+0.94165000000000E+01
+0.94312000000000E+01
+0.94434000000000E+01
+0.91902000000000E+01
+0.88408000000000E+01
+0.91914000000000E+01
+0.89951000000000E+01
+0.91567000000000E+01
+0.92520000000000E+01
+0.92947000000000E+01
+0.93147000000000E+01
+0.93235000000000E+01
+0.93284000000000E+01
+0.93311000000000E+01
+0.93325000000000E+01
+0.93474000000000E+01
+0.93530000000000E+01
+0.91399000000000E+01
+0.87207000000000E+01
+0.91042000000000E+01
+0.81023000000000E+01
+0.85320000000000E+01
+0.88232000000000E+01
+0.90115000000000E+01
+0.91223000000000E+01
+0.91709000000000E+01
+0.91963000000000E+01
+0.92075000000000E+01
+0.92097000000000E+01
+0.92273000000000E+01
+0.92297000000000E+01
+0.90623000000000E+01
+0.86118000000000E+01
+0.89543000000000E+01
+0.64651000000000E+01
+0.73147000000000E+01
+0.79545000000000E+01
+0.83994000000000E+01
+0.86941000000000E+01
+0.88784000000000E+01
+0.89795000000000E+01
+0.90237000000000E+01
+0.90432000000000E+01
+0.90684000000000E+01
+0.90701000000000E+01
+0.89500000000000E+01
+0.85200000000000E+01
+0.87896000000000E+01
+0.45055000000000E+01
+0.55835000000000E+01
+0.65608000000000E+01
+0.73623000000000E+01
+0.79509000000000E+01
+0.83503000000000E+01
+0.86064000000000E+01
+0.87554000000000E+01
+0.88354000000000E+01
+0.88726000000000E+01
+0.88831000000000E+01
+0.88062000000000E+01
+0.84426000000000E+01
+0.86133000000000E+01
+0.27346000000000E+01
+0.38605000000000E+01
+0.49581000000000E+01
+0.59867000000000E+01
+0.68767000000000E+01
+0.75652000000000E+01
+0.80479000000000E+01
+0.83618000000000E+01
+0.85488000000000E+01
+0.86482000000000E+01
+0.86875000000000E+01
+0.86492000000000E+01
+0.83723000000000E+01
+0.84460000000000E+01
+0.12427000000000E+01
+0.23709000000000E+01
+0.34954000000000E+01
+0.45970000000000E+01
+0.56421000000000E+01
+0.65686000000000E+01
+0.73092000000000E+01
+0.78428000000000E+01
+0.81892000000000E+01
+0.83943000000000E+01
+0.84932000000000E+01
+0.84961000000000E+01
+0.83013000000000E+01
+0.83069000000000E+01
+0.11646000000000E-01
+0.11243000000000E+01
+0.22499000000000E+01
+0.33717000000000E+01
+0.44714000000000E+01
+0.55166000000000E+01
+0.64497000000000E+01
+0.72052000000000E+01
+0.77505000000000E+01
+0.81013000000000E+01
+0.82947000000000E+01
+0.83547000000000E+01
+0.82371000000000E+01
+0.82161000000000E+01
+-.10019000000000E+01
+0.88230000000000E-01
+0.12036000000000E+01
+0.23286000000000E+01
+0.34474000000000E+01
+0.45413000000000E+01
+0.55767000000000E+01
+0.64957000000000E+01
+0.72358000000000E+01
+0.77582000000000E+01
+0.80774000000000E+01
+0.82178000000000E+01
+0.81790000000000E+01
+0.81724000000000E+01
+-.18547000000000E+01
+-.77824000000000E+00
+0.32156000000000E+00
+0.14419000000000E+01
+0.25670000000000E+01
+0.36816000000000E+01
+0.47653000000000E+01
+0.57815000000000E+01
+0.66692000000000E+01
+0.73612000000000E+01
+0.78263000000000E+01
+0.80696000000000E+01
+0.81130000000000E+01
+0.81479000000000E+01
+-.25970000000000E+01
+-.15175000000000E+01
+-.43015000000000E+00
+0.68109000000000E+00
+0.18063000000000E+01
+0.29302000000000E+01
+0.40374000000000E+01
+0.51044000000000E+01
+0.60875000000000E+01
+0.69211000000000E+01
+0.75359000000000E+01
+0.78995000000000E+01
+0.80391000000000E+01
+0.81384000000000E+01
+-.32589000000000E+01
+-.21652000000000E+01
+-.10809000000000E+01
+0.20691000000000E-01
+0.11422000000000E+01
+0.22699000000000E+01
+0.33893000000000E+01
+0.44836000000000E+01
+0.55239000000000E+01
+0.64603000000000E+01
+0.72103000000000E+01
+0.76991000000000E+01
+0.79399000000000E+01
+0.81321000000000E+01
+-.38563000000000E+01
+-.27465000000000E+01
+-.16559000000000E+01
+-.56058000000000E+00
+0.55504000000000E+00
+0.16831000000000E+01
+0.28090000000000E+01
+0.39188000000000E+01
+0.49927000000000E+01
+0.59966000000000E+01
+0.68536000000000E+01
+0.74722000000000E+01
+0.78318000000000E+01
+0.81021000000000E+01
+-.44077000000000E+01
+-.32847000000000E+01
+-.21826000000000E+01
+-.10883000000000E+01
+0.21129000000000E-01
+0.11469000000000E+01
+0.22761000000000E+01
+0.33953000000000E+01
+0.44908000000000E+01
+0.55404000000000E+01
+0.64814000000000E+01
+0.72187000000000E+01
+0.77032000000000E+01
+0.80652000000000E+01
+-.49073000000000E+01
+-.37751000000000E+01
+-.26610000000000E+01
+-.15622000000000E+01
+-.45733000000000E+00
+0.66486000000000E+00
+0.17951000000000E+01
+0.29203000000000E+01
+0.40325000000000E+01
+0.51106000000000E+01
+0.61133000000000E+01
+0.69523000000000E+01
+0.75615000000000E+01
+0.80278000000000E+01
+-.53586000000000E+01
+-.42205000000000E+01
+-.30962000000000E+01
+-.19899000000000E+01
+-.88670000000000E+00
+0.23136000000000E+00
+0.13611000000000E+01
+0.24903000000000E+01
+0.36119000000000E+01
+0.47117000000000E+01
+0.57584000000000E+01
+0.66794000000000E+01
+0.74034000000000E+01
+0.79772000000000E+01
+-.57770000000000E+01
+-.46349000000000E+01
+-.35029000000000E+01
+-.23882000000000E+01
+-.12838000000000E+01
+-.16962000000000E+00
+0.95834000000000E+00
+0.20898000000000E+01
+0.32179000000000E+01
+0.43324000000000E+01
+0.54100000000000E+01
+0.63931000000000E+01
+0.72139000000000E+01
+0.78877000000000E+01
+-.61710000000000E+01
+-.50264000000000E+01
+-.38887000000000E+01
+-.27661000000000E+01
+-.16580000000000E+01
+-.54691000000000E+00
+0.57829000000000E+00
+0.17107000000000E+01
+0.28431000000000E+01
+0.39678000000000E+01
+0.50667000000000E+01
+0.60956000000000E+01
+0.69951000000000E+01
+0.77598000000000E+01
+-.65481000000000E+01
+-.54015000000000E+01
+-.42600000000000E+01
+-.31305000000000E+01
+-.20173000000000E+01
+-.90768000000000E+00
+0.21414000000000E+00
+0.13462000000000E+01
+0.24814000000000E+01
+0.36141000000000E+01
+0.47267000000000E+01
+0.57891000000000E+01
+0.67506000000000E+01
+0.75947000000000E+01
+-.69016000000000E+01
+-.57539000000000E+01
+-.46096000000000E+01
+-.34747000000000E+01
+-.23557000000000E+01
+-.12458000000000E+01
+-.12736000000000E+00
+0.10034000000000E+01
+0.21403000000000E+01
+0.32772000000000E+01
+0.44008000000000E+01
+0.54877000000000E+01
+0.64978000000000E+01
+0.74105000000000E+01
+-.72230000000000E+01
+-.60743000000000E+01
+-.49281000000000E+01
+-.37892000000000E+01
+-.26648000000000E+01
+-.15531000000000E+01
+-.43726000000000E+00
+0.69176000000000E+00
+0.18294000000000E+01
+0.29692000000000E+01
+0.41006000000000E+01
+0.52056000000000E+01
+0.62534000000000E+01
+0.72236000000000E+01
+-.75460000000000E+01
+-.63966000000000E+01
+-.52490000000000E+01
+-.41071000000000E+01
+-.29774000000000E+01
+-.18627000000000E+01
+-.74889000000000E+00
+0.37747000000000E+00
+0.15147000000000E+01
+0.26562000000000E+01
+0.37936000000000E+01
+0.49106000000000E+01
+0.59861000000000E+01
+0.70011000000000E+01
+-.78721000000000E+01
+-.67223000000000E+01
+-.55737000000000E+01
+-.44292000000000E+01
+-.32950000000000E+01
+-.21762000000000E+01
+-.10634000000000E+01
+0.59720000000000E-01
+0.11956000000000E+01
+0.23379000000000E+01
+0.34783000000000E+01
+0.46046000000000E+01
+0.57000000000000E+01
+0.67493000000000E+01
+-.82021000000000E+01
+-.70520000000000E+01
+-.59026000000000E+01
+-.47563000000000E+01
+-.36182000000000E+01
+-.24946000000000E+01
+-.13815000000000E+01
+-.26173000000000E+00
+0.87196000000000E+00
+0.20140000000000E+01
+0.31566000000000E+01
+0.42894000000000E+01
+0.53997000000000E+01
+0.64751000000000E+01
+-.84763000000000E+01
+-.73259000000000E+01
+-.61760000000000E+01
+-.50286000000000E+01
+-.38877000000000E+01
+-.27601000000000E+01
+-.16454000000000E+01
+-.52791000000000E+00
+0.60358000000000E+00
+0.17452000000000E+01
+0.28892000000000E+01
+0.40270000000000E+01
+0.51487000000000E+01
+0.62449000000000E+01
+-.87273000000000E+01
+-.75768000000000E+01
+-.64266000000000E+01
+-.52782000000000E+01
+-.41353000000000E+01
+-.30042000000000E+01
+-.18872000000000E+01
+-.77129000000000E+00
+0.35782000000000E+00
+0.14986000000000E+01
+0.26434000000000E+01
+0.37849000000000E+01
+0.49148000000000E+01
+0.60265000000000E+01
+-.90024000000000E+01
+-.78517000000000E+01
+-.67012000000000E+01
+-.55521000000000E+01
+-.44073000000000E+01
+-.32726000000000E+01
+-.21526000000000E+01
+-.10379000000000E+01
+0.88211000000000E-01
+0.12273000000000E+01
+0.23722000000000E+01
+0.35159000000000E+01
+0.46516000000000E+01
+0.57743000000000E+01
+-.92944000000000E+01
+-.81436000000000E+01
+-.69929000000000E+01
+-.58433000000000E+01
+-.46969000000000E+01
+-.35589000000000E+01
+-.24351000000000E+01
+-.13205000000000E+01
+-.19777000000000E+00
+0.93900000000000E+00
+0.20834000000000E+01
+0.32283000000000E+01
+0.43682000000000E+01
+0.54985000000000E+01
+-.95986000000000E+01
+-.84475000000000E+01
+-.72968000000000E+01
+-.61467000000000E+01
+-.49991000000000E+01
+-.38582000000000E+01
+-.27303000000000E+01
+-.16146000000000E+01
+-.49508000000000E+00
+0.63864000000000E+00
+0.17819000000000E+01
+0.29276000000000E+01
+0.40702000000000E+01
+0.52062000000000E+01
+-.99053000000000E+01
+-.87544000000000E+01
+-.76034000000000E+01
+-.64530000000000E+01
+-.53044000000000E+01
+-.41611000000000E+01
+-.30292000000000E+01
+-.19112000000000E+01
+-.79416000000000E+00
+0.33603000000000E+00
+0.14777000000000E+01
+0.26235000000000E+01
+0.37679000000000E+01
+0.49080000000000E+01
+0.75546000000000E+01
+0.75548000000000E+01
+0.75553000000000E+01
+0.75560000000000E+01
+0.75573000000000E+01
+0.75585000000000E+01
+0.75593000000000E+01
+0.75592000000000E+01
+0.75580000000000E+01
+0.75634000000000E+01
+0.75833000000000E+01
+0.76224000000000E+01
+0.77648000000000E+01
+0.79398000000000E+01
+0.75394000000000E+01
+0.75405000000000E+01
+0.75410000000000E+01
+0.75416000000000E+01
+0.75426000000000E+01
+0.75438000000000E+01
+0.75449000000000E+01
+0.75452000000000E+01
+0.75442000000000E+01
+0.75487000000000E+01
+0.75637000000000E+01
+0.76057000000000E+01
+0.77506000000000E+01
+0.79249000000000E+01
+0.74796000000000E+01
+0.75054000000000E+01
+0.75154000000000E+01
+0.75190000000000E+01
+0.75208000000000E+01
+0.75222000000000E+01
+0.75236000000000E+01
+0.75242000000000E+01
+0.75236000000000E+01
+0.75273000000000E+01
+0.75382000000000E+01
+0.75708000000000E+01
+0.77206000000000E+01
+0.79031000000000E+01
+0.71736000000000E+01
+0.73275000000000E+01
+0.74177000000000E+01
+0.74618000000000E+01
+0.74803000000000E+01
+0.74878000000000E+01
+0.74915000000000E+01
+0.74933000000000E+01
+0.74937000000000E+01
+0.74974000000000E+01
+0.75056000000000E+01
+0.75322000000000E+01
+0.76587000000000E+01
+0.78605000000000E+01
+0.63700000000000E+01
+0.67908000000000E+01
+0.70740000000000E+01
+0.72554000000000E+01
+0.73604000000000E+01
+0.74117000000000E+01
+0.74347000000000E+01
+0.74449000000000E+01
+0.74495000000000E+01
+0.74548000000000E+01
+0.74624000000000E+01
+0.74872000000000E+01
+0.75997000000000E+01
+0.77646000000000E+01
+0.48352000000000E+01
+0.56790000000000E+01
+0.63118000000000E+01
+0.67490000000000E+01
+0.70354000000000E+01
+0.72112000000000E+01
+0.73087000000000E+01
+0.73560000000000E+01
+0.73787000000000E+01
+0.73918000000000E+01
+0.74012000000000E+01
+0.74258000000000E+01
+0.75277000000000E+01
+0.76738000000000E+01
+0.29734000000000E+01
+0.40476000000000E+01
+0.50210000000000E+01
+0.58174000000000E+01
+0.63984000000000E+01
+0.67877000000000E+01
+0.70330000000000E+01
+0.71779000000000E+01
+0.72561000000000E+01
+0.72932000000000E+01
+0.73127000000000E+01
+0.73406000000000E+01
+0.74358000000000E+01
+0.75797000000000E+01
+0.12701000000000E+01
+0.23899000000000E+01
+0.34841000000000E+01
+0.45094000000000E+01
+0.53944000000000E+01
+0.60743000000000E+01
+0.65444000000000E+01
+0.68489000000000E+01
+0.70338000000000E+01
+0.71333000000000E+01
+0.71820000000000E+01
+0.72212000000000E+01
+0.73163000000000E+01
+0.74771000000000E+01
+-.19466000000000E+00
+0.91499000000000E+00
+0.20289000000000E+01
+0.31256000000000E+01
+0.41665000000000E+01
+0.50865000000000E+01
+0.58159000000000E+01
+0.63361000000000E+01
+0.66793000000000E+01
+0.68849000000000E+01
+0.69937000000000E+01
+0.70573000000000E+01
+0.71644000000000E+01
+0.73590000000000E+01
+-.14317000000000E+01
+-.34973000000000E+00
+0.74626000000000E+00
+0.18523000000000E+01
+0.29443000000000E+01
+0.39830000000000E+01
+0.49064000000000E+01
+0.56495000000000E+01
+0.61885000000000E+01
+0.65400000000000E+01
+0.67445000000000E+01
+0.68569000000000E+01
+0.69867000000000E+01
+0.72228000000000E+01
+-.24898000000000E+01
+-.14156000000000E+01
+-.34606000000000E+00
+0.74297000000000E+00
+0.18434000000000E+01
+0.29273000000000E+01
+0.39528000000000E+01
+0.48611000000000E+01
+0.55928000000000E+01
+0.61169000000000E+01
+0.64467000000000E+01
+0.66372000000000E+01
+0.68038000000000E+01
+0.70801000000000E+01
+-.34135000000000E+01
+-.23243000000000E+01
+-.12618000000000E+01
+-.19413000000000E+00
+0.89633000000000E+00
+0.19933000000000E+01
+0.30649000000000E+01
+0.40688000000000E+01
+0.49493000000000E+01
+0.56444000000000E+01
+0.61215000000000E+01
+0.64138000000000E+01
+0.66322000000000E+01
+0.69431000000000E+01
+-.42216000000000E+01
+-.31127000000000E+01
+-.20367000000000E+01
+-.97690000000000E+00
+0.99203000000000E-01
+0.11950000000000E+01
+0.22861000000000E+01
+0.33401000000000E+01
+0.43167000000000E+01
+0.51517000000000E+01
+0.57810000000000E+01
+0.61926000000000E+01
+0.64813000000000E+01
+0.68312000000000E+01
+-.49246000000000E+01
+-.38007000000000E+01
+-.27045000000000E+01
+-.16366000000000E+01
+-.56885000000000E+00
+0.52034000000000E+00
+0.16183000000000E+01
+0.26982000000000E+01
+0.37320000000000E+01
+0.46688000000000E+01
+0.54326000000000E+01
+0.59620000000000E+01
+0.63213000000000E+01
+0.67292000000000E+01
+-.55392000000000E+01
+-.44059000000000E+01
+-.32919000000000E+01
+-.22075000000000E+01
+-.11386000000000E+01
+-.55927000000000E-01
+0.10424000000000E+01
+0.21354000000000E+01
+0.32017000000000E+01
+0.42037000000000E+01
+0.50706000000000E+01
+0.57217000000000E+01
+0.61685000000000E+01
+0.65992000000000E+01
+-.60913000000000E+01
+-.49524000000000E+01
+-.38257000000000E+01
+-.27236000000000E+01
+-.16456000000000E+01
+-.56622000000000E+00
+0.52968000000000E+00
+0.16293000000000E+01
+0.27156000000000E+01
+0.37616000000000E+01
+0.47090000000000E+01
+0.54692000000000E+01
+0.60137000000000E+01
+0.64916000000000E+01
+-.65846000000000E+01
+-.54424000000000E+01
+-.43074000000000E+01
+-.31906000000000E+01
+-.20995000000000E+01
+-.10186000000000E+01
+0.74482000000000E-01
+0.11770000000000E+01
+0.22759000000000E+01
+0.33508000000000E+01
+0.43557000000000E+01
+0.52078000000000E+01
+0.58528000000000E+01
+0.63971000000000E+01
+-.70311000000000E+01
+-.58868000000000E+01
+-.47466000000000E+01
+-.36188000000000E+01
+-.25143000000000E+01
+-.14277000000000E+01
+-.33645000000000E+00
+0.76686000000000E+00
+0.18738000000000E+01
+0.29681000000000E+01
+0.40139000000000E+01
+0.49395000000000E+01
+0.56803000000000E+01
+0.63020000000000E+01
+-.74410000000000E+01
+-.62953000000000E+01
+-.51516000000000E+01
+-.40165000000000E+01
+-.29001000000000E+01
+-.18053000000000E+01
+-.71391000000000E+00
+0.38915000000000E+00
+0.15012000000000E+01
+0.26105000000000E+01
+0.36835000000000E+01
+0.46663000000000E+01
+0.54929000000000E+01
+0.61957000000000E+01
+-.78123000000000E+01
+-.66653000000000E+01
+-.55195000000000E+01
+-.43793000000000E+01
+-.32537000000000E+01
+-.21498000000000E+01
+-.10561000000000E+01
+0.46579000000000E-01
+0.11617000000000E+01
+0.22800000000000E+01
+0.33742000000000E+01
+0.44011000000000E+01
+0.53022000000000E+01
+0.60859000000000E+01
+-.81519000000000E+01
+-.70042000000000E+01
+-.58568000000000E+01
+-.47133000000000E+01
+-.35809000000000E+01
+-.24683000000000E+01
+-.13706000000000E+01
+-.26800000000000E+00
+0.84891000000000E+00
+0.19731000000000E+01
+0.30825000000000E+01
+0.41427000000000E+01
+0.51049000000000E+01
+0.59629000000000E+01
+-.84824000000000E+01
+-.73339000000000E+01
+-.61854000000000E+01
+-.50397000000000E+01
+-.39022000000000E+01
+-.27816000000000E+01
+-.16789000000000E+01
+-.57631000000000E+00
+0.54080000000000E+00
+0.16685000000000E+01
+0.27883000000000E+01
+0.38726000000000E+01
+0.48816000000000E+01
+0.58025000000000E+01
+-.88088000000000E+01
+-.76598000000000E+01
+-.65106000000000E+01
+-.53633000000000E+01
+-.42219000000000E+01
+-.30947000000000E+01
+-.19861000000000E+01
+-.88292000000000E+00
+0.23323000000000E+00
+0.13624000000000E+01
+0.24892000000000E+01
+0.35909000000000E+01
+0.46356000000000E+01
+0.56082000000000E+01
+-.91348000000000E+01
+-.79851000000000E+01
+-.68354000000000E+01
+-.56869000000000E+01
+-.45428000000000E+01
+-.34099000000000E+01
+-.22951000000000E+01
+-.11905000000000E+01
+-.76021000000000E-01
+0.10532000000000E+01
+0.21850000000000E+01
+0.32984000000000E+01
+0.43699000000000E+01
+0.53843000000000E+01
+-.94500000000000E+01
+-.83000000000000E+01
+-.71500000000000E+01
+-.60007000000000E+01
+-.48546000000000E+01
+-.37173000000000E+01
+-.25964000000000E+01
+-.14892000000000E+01
+-.37645000000000E+00
+0.75159000000000E+00
+0.18856000000000E+01
+0.30078000000000E+01
+0.40989000000000E+01
+0.51456000000000E+01
+-.97478000000000E+01
+-.85977000000000E+01
+-.74473000000000E+01
+-.62975000000000E+01
+-.51500000000000E+01
+-.40093000000000E+01
+-.28829000000000E+01
+-.17722000000000E+01
+-.66058000000000E+00
+0.46572000000000E+00
+0.16009000000000E+01
+0.27300000000000E+01
+0.38369000000000E+01
+0.49105000000000E+01
+-.10049000000000E+02
+-.88984000000000E+01
+-.77479000000000E+01
+-.65977000000000E+01
+-.54492000000000E+01
+-.43059000000000E+01
+-.31747000000000E+01
+-.20596000000000E+01
+-.94864000000000E+00
+0.17519000000000E+00
+0.13103000000000E+01
+0.24441000000000E+01
+0.35620000000000E+01
+0.46558000000000E+01
+-.10355000000000E+02
+-.92046000000000E+01
+-.80537000000000E+01
+-.69033000000000E+01
+-.57542000000000E+01
+-.46088000000000E+01
+-.34733000000000E+01
+-.23535000000000E+01
+-.12422000000000E+01
+-.12128000000000E+00
+0.10126000000000E+01
+0.21489000000000E+01
+0.32750000000000E+01
+0.43835000000000E+01
+-.10667000000000E+02
+-.95164000000000E+01
+-.83655000000000E+01
+-.72148000000000E+01
+-.60651000000000E+01
+-.49182000000000E+01
+-.37791000000000E+01
+-.26544000000000E+01
+-.15416000000000E+01
+-.42356000000000E+00
+0.70813000000000E+00
+0.18455000000000E+01
+0.29773000000000E+01
+0.40967000000000E+01
+-.10928000000000E+02
+-.97773000000000E+01
+-.86265000000000E+01
+-.74756000000000E+01
+-.63254000000000E+01
+-.51775000000000E+01
+-.40359000000000E+01
+-.29070000000000E+01
+-.17920000000000E+01
+-.67574000000000E+00
+0.45380000000000E+00
+0.15917000000000E+01
+0.27278000000000E+01
+0.38557000000000E+01
+-.11169000000000E+02
+-.10019000000000E+02
+-.88674000000000E+01
+-.77166000000000E+01
+-.65662000000000E+01
+-.54175000000000E+01
+-.42739000000000E+01
+-.31415000000000E+01
+-.20237000000000E+01
+-.90858000000000E+00
+0.21864000000000E+00
+0.13564000000000E+01
+0.24954000000000E+01
+0.36294000000000E+01
+-.11432000000000E+02
+-.10281000000000E+02
+-.91294000000000E+01
+-.79785000000000E+01
+-.68279000000000E+01
+-.56786000000000E+01
+-.45333000000000E+01
+-.33976000000000E+01
+-.22764000000000E+01
+-.11619000000000E+01
+-.37522000000000E-01
+0.10990000000000E+01
+0.22396000000000E+01
+0.33778000000000E+01
+0.55078000000000E+01
+0.55079000000000E+01
+0.55082000000000E+01
+0.55088000000000E+01
+0.55095000000000E+01
+0.55104000000000E+01
+0.55107000000000E+01
+0.55104000000000E+01
+0.55092000000000E+01
+0.55112000000000E+01
+0.55312000000000E+01
+0.55709000000000E+01
+0.57142000000000E+01
+0.61912000000000E+01
+0.55024000000000E+01
+0.55033000000000E+01
+0.55037000000000E+01
+0.55042000000000E+01
+0.55049000000000E+01
+0.55057000000000E+01
+0.55063000000000E+01
+0.55062000000000E+01
+0.55052000000000E+01
+0.55061000000000E+01
+0.55212000000000E+01
+0.55637000000000E+01
+0.57097000000000E+01
+0.61864000000000E+01
+0.54564000000000E+01
+0.54819000000000E+01
+0.54917000000000E+01
+0.54952000000000E+01
+0.54967000000000E+01
+0.54979000000000E+01
+0.54988000000000E+01
+0.54990000000000E+01
+0.54984000000000E+01
+0.54984000000000E+01
+0.55094000000000E+01
+0.55424000000000E+01
+0.56932000000000E+01
+0.61790000000000E+01
+0.51724000000000E+01
+0.53245000000000E+01
+0.54133000000000E+01
+0.54573000000000E+01
+0.54755000000000E+01
+0.54825000000000E+01
+0.54858000000000E+01
+0.54873000000000E+01
+0.54873000000000E+01
+0.54871000000000E+01
+0.54944000000000E+01
+0.55195000000000E+01
+0.56472000000000E+01
+0.61521000000000E+01
+0.43994000000000E+01
+0.48180000000000E+01
+0.50990000000000E+01
+0.52784000000000E+01
+0.53820000000000E+01
+0.54333000000000E+01
+0.54557000000000E+01
+0.54655000000000E+01
+0.54694000000000E+01
+0.54700000000000E+01
+0.54749000000000E+01
+0.54935000000000E+01
+0.56024000000000E+01
+0.60708000000000E+01
+0.29041000000000E+01
+0.37465000000000E+01
+0.43774000000000E+01
+0.48126000000000E+01
+0.50968000000000E+01
+0.52704000000000E+01
+0.53658000000000E+01
+0.54138000000000E+01
+0.54355000000000E+01
+0.54432000000000E+01
+0.54484000000000E+01
+0.54623000000000E+01
+0.55560000000000E+01
+0.59932000000000E+01
+0.10953000000000E+01
+0.21689000000000E+01
+0.31415000000000E+01
+0.39365000000000E+01
+0.45155000000000E+01
+0.49023000000000E+01
+0.51448000000000E+01
+0.52867000000000E+01
+0.53625000000000E+01
+0.53975000000000E+01
+0.54125000000000E+01
+0.54293000000000E+01
+0.55220000000000E+01
+0.59459000000000E+01
+-.53625000000000E+00
+0.58467000000000E+00
+0.16785000000000E+01
+0.27032000000000E+01
+0.35871000000000E+01
+0.42649000000000E+01
+0.47322000000000E+01
+0.50331000000000E+01
+0.52150000000000E+01
+0.53114000000000E+01
+0.53556000000000E+01
+0.53839000000000E+01
+0.54830000000000E+01
+0.59039000000000E+01
+-.19264000000000E+01
+-.80048000000000E+00
+0.31678000000000E+00
+0.14132000000000E+01
+0.24533000000000E+01
+0.33720000000000E+01
+0.40990000000000E+01
+0.46158000000000E+01
+0.49553000000000E+01
+0.51570000000000E+01
+0.52606000000000E+01
+0.53156000000000E+01
+0.54259000000000E+01
+0.58490000000000E+01
+-.31168000000000E+01
+-.19883000000000E+01
+-.87083000000000E+00
+0.23815000000000E+00
+0.13286000000000E+01
+0.23655000000000E+01
+0.32869000000000E+01
+0.40270000000000E+01
+0.45623000000000E+01
+0.49095000000000E+01
+0.51083000000000E+01
+0.52142000000000E+01
+0.53478000000000E+01
+0.57803000000000E+01
+-.41517000000000E+01
+-.30184000000000E+01
+-.18990000000000E+01
+-.79335000000000E+00
+0.30404000000000E+00
+0.13828000000000E+01
+0.24048000000000E+01
+0.33100000000000E+01
+0.40383000000000E+01
+0.45581000000000E+01
+0.48840000000000E+01
+0.50690000000000E+01
+0.52412000000000E+01
+0.56903000000000E+01
+-.50614000000000E+01
+-.39237000000000E+01
+-.27981000000000E+01
+-.16917000000000E+01
+-.60030000000000E+00
+0.48457000000000E+00
+0.15475000000000E+01
+0.25464000000000E+01
+0.34233000000000E+01
+0.41141000000000E+01
+0.45886000000000E+01
+0.48782000000000E+01
+0.51072000000000E+01
+0.55786000000000E+01
+-.58638000000000E+01
+-.47230000000000E+01
+-.35909000000000E+01
+-.24769000000000E+01
+-.13863000000000E+01
+-.30695000000000E+00
+0.76665000000000E+00
+0.18109000000000E+01
+0.27823000000000E+01
+0.36147000000000E+01
+0.42413000000000E+01
+0.46525000000000E+01
+0.49551000000000E+01
+0.54584000000000E+01
+-.65688000000000E+01
+-.54261000000000E+01
+-.42887000000000E+01
+-.31655000000000E+01
+-.20669000000000E+01
+-.98952000000000E+00
+0.83130000000000E-01
+0.11465000000000E+01
+0.21720000000000E+01
+0.31059000000000E+01
+0.38678000000000E+01
+0.43967000000000E+01
+0.47725000000000E+01
+0.53237000000000E+01
+-.71854000000000E+01
+-.60414000000000E+01
+-.49004000000000E+01
+-.37690000000000E+01
+-.26590000000000E+01
+-.15757000000000E+01
+-.50453000000000E+00
+0.56514000000000E+00
+0.16191000000000E+01
+0.26170000000000E+01
+0.34821000000000E+01
+0.41342000000000E+01
+0.46005000000000E+01
+0.51587000000000E+01
+-.77325000000000E+01
+-.65875000000000E+01
+-.54440000000000E+01
+-.43066000000000E+01
+-.31855000000000E+01
+-.20912000000000E+01
+-.10170000000000E+01
+0.54983000000000E-01
+0.11250000000000E+01
+0.21653000000000E+01
+0.31114000000000E+01
+0.38736000000000E+01
+0.44396000000000E+01
+0.50281000000000E+01
+-.82146000000000E+01
+-.70690000000000E+01
+-.59237000000000E+01
+-.47821000000000E+01
+-.36522000000000E+01
+-.25456000000000E+01
+-.14639000000000E+01
+-.38944000000000E+00
+0.68958000000000E+00
+0.17568000000000E+01
+0.27585000000000E+01
+0.36138000000000E+01
+0.42784000000000E+01
+0.49108000000000E+01
+-.86411000000000E+01
+-.74948000000000E+01
+-.63483000000000E+01
+-.52037000000000E+01
+-.40675000000000E+01
+-.29498000000000E+01
+-.18579000000000E+01
+-.77911000000000E+00
+0.30569000000000E+00
+0.13904000000000E+01
+0.24321000000000E+01
+0.33605000000000E+01
+0.41184000000000E+01
+0.48081000000000E+01
+-.90266000000000E+01
+-.78799000000000E+01
+-.67324000000000E+01
+-.55859000000000E+01
+-.44451000000000E+01
+-.33185000000000E+01
+-.22158000000000E+01
+-.11308000000000E+01
+-.41670000000000E-01
+0.10542000000000E+01
+0.21235000000000E+01
+0.31073000000000E+01
+0.39458000000000E+01
+0.46975000000000E+01
+-.93779000000000E+01
+-.82302000000000E+01
+-.70822000000000E+01
+-.59343000000000E+01
+-.47904000000000E+01
+-.36570000000000E+01
+-.25443000000000E+01
+-.14516000000000E+01
+-.35844000000000E+00
+0.74481000000000E+00
+0.18333000000000E+01
+0.28587000000000E+01
+0.37653000000000E+01
+0.45809000000000E+01
+-.97043000000000E+01
+-.85562000000000E+01
+-.74072000000000E+01
+-.62585000000000E+01
+-.51124000000000E+01
+-.39742000000000E+01
+-.28528000000000E+01
+-.17519000000000E+01
+-.65454000000000E+00
+0.45358000000000E+00
+0.15555000000000E+01
+0.26120000000000E+01
+0.35745000000000E+01
+0.44510000000000E+01
+-.10016000000000E+02
+-.88674000000000E+01
+-.77181000000000E+01
+-.65687000000000E+01
+-.54210000000000E+01
+-.42792000000000E+01
+-.31509000000000E+01
+-.20419000000000E+01
+-.94017000000000E+00
+0.17106000000000E+00
+0.12832000000000E+01
+0.23615000000000E+01
+0.33683000000000E+01
+0.42992000000000E+01
+-.10293000000000E+02
+-.91438000000000E+01
+-.79940000000000E+01
+-.68441000000000E+01
+-.56954000000000E+01
+-.45511000000000E+01
+-.34174000000000E+01
+-.23010000000000E+01
+-.11944000000000E+01
+-.80667000000000E-01
+0.10377000000000E+01
+0.21340000000000E+01
+0.31769000000000E+01
+0.41569000000000E+01
+-.10567000000000E+02
+-.94177000000000E+01
+-.82676000000000E+01
+-.71174000000000E+01
+-.59680000000000E+01
+-.48218000000000E+01
+-.36839000000000E+01
+-.25610000000000E+01
+-.14497000000000E+01
+-.33432000000000E+00
+0.78783000000000E+00
+0.18968000000000E+01
+0.29669000000000E+01
+0.39864000000000E+01
+-.10854000000000E+02
+-.97034000000000E+01
+-.85530000000000E+01
+-.74025000000000E+01
+-.62526000000000E+01
+-.51050000000000E+01
+-.39638000000000E+01
+-.28351000000000E+01
+-.17193000000000E+01
+-.60292000000000E+00
+0.52083000000000E+00
+0.16379000000000E+01
+0.27266000000000E+01
+0.37756000000000E+01
+-.11164000000000E+02
+-.10013000000000E+02
+-.88625000000000E+01
+-.77120000000000E+01
+-.65616000000000E+01
+-.54131000000000E+01
+-.42693000000000E+01
+-.31357000000000E+01
+-.20150000000000E+01
+-.89778000000000E+00
+0.22625000000000E+00
+0.13488000000000E+01
+0.24520000000000E+01
+0.35250000000000E+01
+-.11477000000000E+02
+-.10327000000000E+02
+-.91760000000000E+01
+-.80251000000000E+01
+-.68746000000000E+01
+-.57253000000000E+01
+-.45796000000000E+01
+-.34419000000000E+01
+-.23163000000000E+01
+-.11976000000000E+01
+-.74091000000000E-01
+0.10521000000000E+01
+0.21654000000000E+01
+0.32569000000000E+01
+-.11760000000000E+02
+-.10609000000000E+02
+-.94580000000000E+01
+-.83071000000000E+01
+-.71565000000000E+01
+-.60066000000000E+01
+-.48595000000000E+01
+-.37187000000000E+01
+-.25888000000000E+01
+-.14680000000000E+01
+-.34480000000000E+00
+0.78328000000000E+00
+0.19048000000000E+01
+0.30110000000000E+01
+-.12030000000000E+02
+-.10879000000000E+02
+-.97275000000000E+01
+-.85767000000000E+01
+-.74258000000000E+01
+-.62755000000000E+01
+-.51273000000000E+01
+-.39843000000000E+01
+-.28505000000000E+01
+-.17271000000000E+01
+-.60425000000000E+00
+0.52463000000000E+00
+0.16518000000000E+01
+0.27692000000000E+01
+-.12313000000000E+02
+-.11162000000000E+02
+-.10011000000000E+02
+-.88599000000000E+01
+-.77090000000000E+01
+-.65585000000000E+01
+-.54095000000000E+01
+-.42644000000000E+01
+-.31273000000000E+01
+-.20010000000000E+01
+-.87831000000000E+00
+0.25025000000000E+00
+0.13808000000000E+01
+0.25061000000000E+01
+-.12606000000000E+02
+-.11456000000000E+02
+-.10304000000000E+02
+-.91531000000000E+01
+-.80022000000000E+01
+-.68514000000000E+01
+-.57019000000000E+01
+-.45553000000000E+01
+-.34152000000000E+01
+-.22856000000000E+01
+-.11626000000000E+01
+-.35062000000000E-01
+0.10973000000000E+01
+0.22278000000000E+01
+-.12905000000000E+02
+-.11754000000000E+02
+-.10603000000000E+02
+-.94514000000000E+01
+-.83003000000000E+01
+-.71494000000000E+01
+-.59994000000000E+01
+-.48516000000000E+01
+-.37090000000000E+01
+-.25761000000000E+01
+-.14520000000000E+01
+-.32577000000000E+00
+0.80695000000000E+00
+0.19411000000000E+01
+0.38262000000000E+01
+0.38261000000000E+01
+0.38262000000000E+01
+0.38266000000000E+01
+0.38271000000000E+01
+0.38275000000000E+01
+0.38275000000000E+01
+0.38270000000000E+01
+0.38259000000000E+01
+0.38251000000000E+01
+0.38472000000000E+01
+0.38918000000000E+01
+0.40457000000000E+01
+0.45342000000000E+01
+0.38222000000000E+01
+0.38229000000000E+01
+0.38232000000000E+01
+0.38235000000000E+01
+0.38240000000000E+01
+0.38245000000000E+01
+0.38248000000000E+01
+0.38244000000000E+01
+0.38234000000000E+01
+0.38214000000000E+01
+0.38383000000000E+01
+0.38860000000000E+01
+0.40425000000000E+01
+0.45309000000000E+01
+0.37800000000000E+01
+0.38048000000000E+01
+0.38140000000000E+01
+0.38174000000000E+01
+0.38187000000000E+01
+0.38196000000000E+01
+0.38202000000000E+01
+0.38201000000000E+01
+0.38195000000000E+01
+0.38163000000000E+01
+0.38290000000000E+01
+0.38668000000000E+01
+0.40286000000000E+01
+0.45260000000000E+01
+0.35081000000000E+01
+0.36559000000000E+01
+0.37419000000000E+01
+0.37850000000000E+01
+0.38024000000000E+01
+0.38091000000000E+01
+0.38120000000000E+01
+0.38132000000000E+01
+0.38132000000000E+01
+0.38094000000000E+01
+0.38184000000000E+01
+0.38482000000000E+01
+0.39865000000000E+01
+0.45037000000000E+01
+0.27455000000000E+01
+0.31637000000000E+01
+0.34423000000000E+01
+0.36174000000000E+01
+0.37177000000000E+01
+0.37682000000000E+01
+0.37896000000000E+01
+0.37988000000000E+01
+0.38024000000000E+01
+0.37995000000000E+01
+0.38058000000000E+01
+0.38290000000000E+01
+0.39482000000000E+01
+0.44290000000000E+01
+0.12612000000000E+01
+0.21033000000000E+01
+0.27340000000000E+01
+0.31688000000000E+01
+0.34497000000000E+01
+0.36187000000000E+01
+0.37106000000000E+01
+0.37587000000000E+01
+0.37796000000000E+01
+0.37834000000000E+01
+0.37897000000000E+01
+0.38079000000000E+01
+0.39117000000000E+01
+0.43613000000000E+01
+-.53221000000000E+00
+0.54128000000000E+00
+0.15137000000000E+01
+0.23084000000000E+01
+0.28871000000000E+01
+0.32729000000000E+01
+0.35096000000000E+01
+0.36469000000000E+01
+0.37195000000000E+01
+0.37526000000000E+01
+0.37667000000000E+01
+0.37831000000000E+01
+0.38751000000000E+01
+0.42986000000000E+01
+-.21448000000000E+01
+-.10214000000000E+01
+0.72760000000000E-01
+0.10973000000000E+01
+0.19809000000000E+01
+0.26584000000000E+01
+0.31251000000000E+01
+0.34199000000000E+01
+0.35963000000000E+01
+0.36888000000000E+01
+0.37294000000000E+01
+0.37515000000000E+01
+0.38358000000000E+01
+0.42380000000000E+01
+-.35170000000000E+01
+-.23820000000000E+01
+-.12591000000000E+01
+-.16127000000000E+00
+0.87881000000000E+00
+0.17972000000000E+01
+0.25237000000000E+01
+0.30397000000000E+01
+0.33725000000000E+01
+0.35685000000000E+01
+0.36675000000000E+01
+0.37167000000000E+01
+0.38145000000000E+01
+0.42222000000000E+01
+-.46859000000000E+01
+-.35461000000000E+01
+-.24138000000000E+01
+-.12950000000000E+01
+-.20154000000000E+00
+0.83572000000000E+00
+0.17567000000000E+01
+0.24965000000000E+01
+0.30292000000000E+01
+0.33697000000000E+01
+0.35623000000000E+01
+0.36619000000000E+01
+0.37834000000000E+01
+0.42037000000000E+01
+-.56901000000000E+01
+-.45479000000000E+01
+-.34103000000000E+01
+-.22823000000000E+01
+-.11705000000000E+01
+-.87259000000000E-01
+0.93533000000000E+00
+0.18403000000000E+01
+0.25679000000000E+01
+0.30828000000000E+01
+0.34012000000000E+01
+0.35778000000000E+01
+0.37360000000000E+01
+0.41727000000000E+01
+-.65590000000000E+01
+-.54152000000000E+01
+-.42744000000000E+01
+-.31403000000000E+01
+-.20188000000000E+01
+-.91728000000000E+00
+0.15031000000000E+00
+0.11499000000000E+01
+0.20264000000000E+01
+0.27158000000000E+01
+0.31824000000000E+01
+0.34628000000000E+01
+0.36783000000000E+01
+0.41416000000000E+01
+-.73129000000000E+01
+-.61683000000000E+01
+-.50254000000000E+01
+-.38870000000000E+01
+-.27581000000000E+01
+-.16460000000000E+01
+-.55826000000000E+00
+0.48926000000000E+00
+0.14608000000000E+01
+0.22922000000000E+01
+0.29139000000000E+01
+0.33159000000000E+01
+0.36085000000000E+01
+0.41083000000000E+01
+-.79668000000000E+01
+-.68217000000000E+01
+-.56772000000000E+01
+-.45355000000000E+01
+-.34010000000000E+01
+-.22804000000000E+01
+-.11811000000000E+01
+-.10944000000000E+00
+0.91725000000000E+00
+0.18505000000000E+01
+0.26102000000000E+01
+0.31311000000000E+01
+0.34976000000000E+01
+0.40541000000000E+01
+-.85330000000000E+01
+-.73875000000000E+01
+-.62419000000000E+01
+-.50979000000000E+01
+-.39590000000000E+01
+-.28314000000000E+01
+-.17232000000000E+01
+-.63838000000000E+00
+0.41845000000000E+00
+0.14156000000000E+01
+0.22784000000000E+01
+0.29251000000000E+01
+0.33838000000000E+01
+0.39533000000000E+01
+-.90386000000000E+01
+-.78927000000000E+01
+-.67463000000000E+01
+-.56007000000000E+01
+-.44587000000000E+01
+-.33256000000000E+01
+-.22094000000000E+01
+-.11149000000000E+01
+-.39611000000000E-01
+0.10002000000000E+01
+0.19440000000000E+01
+0.27038000000000E+01
+0.32640000000000E+01
+0.38648000000000E+01
+-.94822000000000E+01
+-.83359000000000E+01
+-.71891000000000E+01
+-.60422000000000E+01
+-.48978000000000E+01
+-.37604000000000E+01
+-.26373000000000E+01
+-.15345000000000E+01
+-.44683000000000E+00
+0.62051000000000E+00
+0.16220000000000E+01
+0.24766000000000E+01
+0.31371000000000E+01
+0.37878000000000E+01
+-.98713000000000E+01
+-.87249000000000E+01
+-.75773000000000E+01
+-.64293000000000E+01
+-.52833000000000E+01
+-.41426000000000E+01
+-.30137000000000E+01
+-.19030000000000E+01
+-.80588000000000E+00
+0.27972000000000E+00
+0.13214000000000E+01
+0.22498000000000E+01
+0.30047000000000E+01
+0.37145000000000E+01
+-.10219000000000E+02
+-.90723000000000E+01
+-.79241000000000E+01
+-.67755000000000E+01
+-.56282000000000E+01
+-.44849000000000E+01
+-.33513000000000E+01
+-.22334000000000E+01
+-.11280000000000E+01
+-.29659000000000E-01
+0.10401000000000E+01
+0.20225000000000E+01
+0.28620000000000E+01
+0.36342000000000E+01
+-.10531000000000E+02
+-.93831000000000E+01
+-.82344000000000E+01
+-.70851000000000E+01
+-.59368000000000E+01
+-.47915000000000E+01
+-.36541000000000E+01
+-.25298000000000E+01
+-.14169000000000E+01
+-.30891000000000E+00
+0.78075000000000E+00
+0.18055000000000E+01
+0.27150000000000E+01
+0.35502000000000E+01
+-.10824000000000E+02
+-.96760000000000E+01
+-.85269000000000E+01
+-.73772000000000E+01
+-.62280000000000E+01
+-.50814000000000E+01
+-.39408000000000E+01
+-.28110000000000E+01
+-.16914000000000E+01
+-.57614000000000E+00
+0.52734000000000E+00
+0.15830000000000E+01
+0.25478000000000E+01
+0.34396000000000E+01
+-.11101000000000E+02
+-.99521000000000E+01
+-.88027000000000E+01
+-.76527000000000E+01
+-.65029000000000E+01
+-.53552000000000E+01
+-.42122000000000E+01
+-.30777000000000E+01
+-.19522000000000E+01
+-.83098000000000E+00
+0.28237000000000E+00
+0.13611000000000E+01
+0.23695000000000E+01
+0.33120000000000E+01
+-.11367000000000E+02
+-.10218000000000E+02
+-.90679000000000E+01
+-.79175000000000E+01
+-.67675000000000E+01
+-.56188000000000E+01
+-.44738000000000E+01
+-.33356000000000E+01
+-.22049000000000E+01
+-.10788000000000E+01
+0.41706000000000E-01
+0.11375000000000E+01
+0.21802000000000E+01
+0.31663000000000E+01
+-.11634000000000E+02
+-.10484000000000E+02
+-.93340000000000E+01
+-.81833000000000E+01
+-.70331000000000E+01
+-.58837000000000E+01
+-.47372000000000E+01
+-.35960000000000E+01
+-.24611000000000E+01
+-.13309000000000E+01
+-.20523000000000E+00
+0.90312000000000E+00
+0.19716000000000E+01
+0.29937000000000E+01
+-.11871000000000E+02
+-.10721000000000E+02
+-.95703000000000E+01
+-.84197000000000E+01
+-.72690000000000E+01
+-.61191000000000E+01
+-.49714000000000E+01
+-.38279000000000E+01
+-.26894000000000E+01
+-.15557000000000E+01
+-.42621000000000E+00
+0.69122000000000E+00
+0.17792000000000E+01
+0.28303000000000E+01
+-.12141000000000E+02
+-.10990000000000E+02
+-.98398000000000E+01
+-.86890000000000E+01
+-.75382000000000E+01
+-.63879000000000E+01
+-.52394000000000E+01
+-.40939000000000E+01
+-.29526000000000E+01
+-.18159000000000E+01
+-.68347000000000E+00
+0.44120000000000E+00
+0.15439000000000E+01
+0.26186000000000E+01
+-.12420000000000E+02
+-.11270000000000E+02
+-.10119000000000E+02
+-.89678000000000E+01
+-.78169000000000E+01
+-.66664000000000E+01
+-.55171000000000E+01
+-.43702000000000E+01
+-.32267000000000E+01
+-.20874000000000E+01
+-.95262000000000E+00
+0.17651000000000E+00
+0.12904000000000E+01
+0.23832000000000E+01
+-.12709000000000E+02
+-.11558000000000E+02
+-.10407000000000E+02
+-.92563000000000E+01
+-.81052000000000E+01
+-.69547000000000E+01
+-.58049000000000E+01
+-.46570000000000E+01
+-.35117000000000E+01
+-.23701000000000E+01
+-.12334000000000E+01
+-.10114000000000E+00
+0.10207000000000E+01
+0.21273000000000E+01
+-.13007000000000E+02
+-.11856000000000E+02
+-.10705000000000E+02
+-.95542000000000E+01
+-.84031000000000E+01
+-.72523000000000E+01
+-.61023000000000E+01
+-.49535000000000E+01
+-.38067000000000E+01
+-.26632000000000E+01
+-.15246000000000E+01
+-.39020000000000E+00
+0.73732000000000E+00
+0.18542000000000E+01
+-.13266000000000E+02
+-.12115000000000E+02
+-.10964000000000E+02
+-.98132000000000E+01
+-.86621000000000E+01
+-.75112000000000E+01
+-.63608000000000E+01
+-.52114000000000E+01
+-.40636000000000E+01
+-.29185000000000E+01
+-.17781000000000E+01
+-.64178000000000E+00
+0.49034000000000E+00
+0.16153000000000E+01
+-.13523000000000E+02
+-.12372000000000E+02
+-.11221000000000E+02
+-.10070000000000E+02
+-.89187000000000E+01
+-.77676000000000E+01
+-.66169000000000E+01
+-.54672000000000E+01
+-.43184000000000E+01
+-.31721000000000E+01
+-.20301000000000E+01
+-.89223000000000E+00
+0.24290000000000E+00
+0.13739000000000E+01
+-.13794000000000E+02
+-.12643000000000E+02
+-.11492000000000E+02
+-.10341000000000E+02
+-.91895000000000E+01
+-.80383000000000E+01
+-.68876000000000E+01
+-.57373000000000E+01
+-.45880000000000E+01
+-.34406000000000E+01
+-.22971000000000E+01
+-.11580000000000E+01
+-.20959000000000E-01
+0.11141000000000E+01
+0.28444000000000E+01
+0.28444000000000E+01
+0.28445000000000E+01
+0.28449000000000E+01
+0.28455000000000E+01
+0.28461000000000E+01
+0.28462000000000E+01
+0.28457000000000E+01
+0.28447000000000E+01
+0.28461000000000E+01
+0.28720000000000E+01
+0.29251000000000E+01
+0.30980000000000E+01
+0.36115000000000E+01
+0.28411000000000E+01
+0.28419000000000E+01
+0.28422000000000E+01
+0.28425000000000E+01
+0.28431000000000E+01
+0.28437000000000E+01
+0.28441000000000E+01
+0.28439000000000E+01
+0.28431000000000E+01
+0.28431000000000E+01
+0.28635000000000E+01
+0.29199000000000E+01
+0.30956000000000E+01
+0.36089000000000E+01
+0.28002000000000E+01
+0.28250000000000E+01
+0.28342000000000E+01
+0.28376000000000E+01
+0.28390000000000E+01
+0.28400000000000E+01
+0.28406000000000E+01
+0.28408000000000E+01
+0.28403000000000E+01
+0.28392000000000E+01
+0.28550000000000E+01
+0.29009000000000E+01
+0.30824000000000E+01
+0.36053000000000E+01
+0.25296000000000E+01
+0.26777000000000E+01
+0.27640000000000E+01
+0.28069000000000E+01
+0.28243000000000E+01
+0.28312000000000E+01
+0.28342000000000E+01
+0.28354000000000E+01
+0.28357000000000E+01
+0.28340000000000E+01
+0.28458000000000E+01
+0.28833000000000E+01
+0.30406000000000E+01
+0.35845000000000E+01
+0.17764000000000E+01
+0.21902000000000E+01
+0.24664000000000E+01
+0.26418000000000E+01
+0.27423000000000E+01
+0.27927000000000E+01
+0.28142000000000E+01
+0.28235000000000E+01
+0.28274000000000E+01
+0.28265000000000E+01
+0.28354000000000E+01
+0.28660000000000E+01
+0.30035000000000E+01
+0.35112000000000E+01
+0.30107000000000E+00
+0.11408000000000E+01
+0.17679000000000E+01
+0.21982000000000E+01
+0.24774000000000E+01
+0.26467000000000E+01
+0.27391000000000E+01
+0.27868000000000E+01
+0.28080000000000E+01
+0.28138000000000E+01
+0.28225000000000E+01
+0.28477000000000E+01
+0.29694000000000E+01
+0.34462000000000E+01
+-.14864000000000E+01
+-.41361000000000E+00
+0.55730000000000E+00
+0.13493000000000E+01
+0.19239000000000E+01
+0.23055000000000E+01
+0.25427000000000E+01
+0.26805000000000E+01
+0.27537000000000E+01
+0.27877000000000E+01
+0.28041000000000E+01
+0.28270000000000E+01
+0.29365000000000E+01
+0.33873000000000E+01
+-.30941000000000E+01
+-.19698000000000E+01
+-.87560000000000E+00
+0.14798000000000E+00
+0.10294000000000E+01
+0.17031000000000E+01
+0.21647000000000E+01
+0.24599000000000E+01
+0.26369000000000E+01
+0.27304000000000E+01
+0.27731000000000E+01
+0.28015000000000E+01
+0.29028000000000E+01
+0.33325000000000E+01
+-.44606000000000E+01
+-.33243000000000E+01
+-.21996000000000E+01
+-.11010000000000E+01
+-.61579000000000E-01
+0.85466000000000E+00
+0.15773000000000E+01
+0.20883000000000E+01
+0.24216000000000E+01
+0.26179000000000E+01
+0.27171000000000E+01
+0.27666000000000E+01
+0.28659000000000E+01
+0.32794000000000E+01
+-.56216000000000E+01
+-.44811000000000E+01
+-.33466000000000E+01
+-.22247000000000E+01
+-.11297000000000E+01
+-.93056000000000E-01
+0.82552000000000E+00
+0.15610000000000E+01
+0.20901000000000E+01
+0.24309000000000E+01
+0.26237000000000E+01
+0.27230000000000E+01
+0.28445000000000E+01
+0.32672000000000E+01
+-.66155000000000E+01
+-.54729000000000E+01
+-.43339000000000E+01
+-.32023000000000E+01
+-.20860000000000E+01
+-.10006000000000E+01
+0.21012000000000E-01
+0.92303000000000E+00
+0.16464000000000E+01
+0.21597000000000E+01
+0.24786000000000E+01
+0.26564000000000E+01
+0.28181000000000E+01
+0.32617000000000E+01
+-.74725000000000E+01
+-.63287000000000E+01
+-.51871000000000E+01
+-.40502000000000E+01
+-.29232000000000E+01
+-.18159000000000E+01
+-.74658000000000E+00
+0.25134000000000E+00
+0.11246000000000E+01
+0.18098000000000E+01
+0.22769000000000E+01
+0.25582000000000E+01
+0.27761000000000E+01
+0.32444000000000E+01
+-.82141000000000E+01
+-.70696000000000E+01
+-.59261000000000E+01
+-.47858000000000E+01
+-.36522000000000E+01
+-.25326000000000E+01
+-.14394000000000E+01
+-.39143000000000E+00
+0.57784000000000E+00
+0.14058000000000E+01
+0.20257000000000E+01
+0.24285000000000E+01
+0.27234000000000E+01
+0.32277000000000E+01
+-.88555000000000E+01
+-.77104000000000E+01
+-.65658000000000E+01
+-.54229000000000E+01
+-.42848000000000E+01
+-.31570000000000E+01
+-.20493000000000E+01
+-.97421000000000E+00
+0.51501000000000E-01
+0.98221000000000E+00
+0.17386000000000E+01
+0.22602000000000E+01
+0.26293000000000E+01
+0.31933000000000E+01
+-.94099000000000E+01
+-.82644000000000E+01
+-.71188000000000E+01
+-.59740000000000E+01
+-.48328000000000E+01
+-.36993000000000E+01
+-.25820000000000E+01
+-.14906000000000E+01
+-.43302000000000E+00
+0.56219000000000E+00
+0.14218000000000E+01
+0.20675000000000E+01
+0.25283000000000E+01
+0.31064000000000E+01
+-.99048000000000E+01
+-.87590000000000E+01
+-.76125000000000E+01
+-.64664000000000E+01
+-.53228000000000E+01
+-.41853000000000E+01
+-.30608000000000E+01
+-.19577000000000E+01
+-.87944000000000E+00
+0.15922000000000E+00
+0.11003000000000E+01
+0.18580000000000E+01
+0.24200000000000E+01
+0.30318000000000E+01
+-.10339000000000E+02
+-.91929000000000E+01
+-.80459000000000E+01
+-.68987000000000E+01
+-.57533000000000E+01
+-.46128000000000E+01
+-.34828000000000E+01
+-.23708000000000E+01
+-.12781000000000E+01
+-.21108000000000E+00
+0.78804000000000E+00
+0.16393000000000E+01
+0.23031000000000E+01
+0.29627000000000E+01
+-.10718000000000E+02
+-.95710000000000E+01
+-.84233000000000E+01
+-.72755000000000E+01
+-.61287000000000E+01
+-.49858000000000E+01
+-.38517000000000E+01
+-.27324000000000E+01
+-.16285000000000E+01
+-.54201000000000E+00
+0.49801000000000E+00
+0.14242000000000E+01
+0.21846000000000E+01
+0.29048000000000E+01
+-.11050000000000E+02
+-.99028000000000E+01
+-.87546000000000E+01
+-.76060000000000E+01
+-.64581000000000E+01
+-.53135000000000E+01
+-.41759000000000E+01
+-.30506000000000E+01
+-.19377000000000E+01
+-.83720000000000E+00
+0.23133000000000E+00
+0.12144000000000E+01
+0.20562000000000E+01
+0.28419000000000E+01
+-.11348000000000E+02
+-.10201000000000E+02
+-.90520000000000E+01
+-.79028000000000E+01
+-.67542000000000E+01
+-.56080000000000E+01
+-.44677000000000E+01
+-.33373000000000E+01
+-.22170000000000E+01
+-.11059000000000E+01
+-.17282000000000E-01
+0.10081000000000E+01
+0.19183000000000E+01
+0.27651000000000E+01
+-.11611000000000E+02
+-.10463000000000E+02
+-.93135000000000E+01
+-.81638000000000E+01
+-.70145000000000E+01
+-.58672000000000E+01
+-.47245000000000E+01
+-.35898000000000E+01
+-.24631000000000E+01
+-.13435000000000E+01
+-.23998000000000E+00
+0.81746000000000E+00
+0.17843000000000E+01
+0.26894000000000E+01
+-.11863000000000E+02
+-.10715000000000E+02
+-.95649000000000E+01
+-.84150000000000E+01
+-.72651000000000E+01
+-.61169000000000E+01
+-.49723000000000E+01
+-.38342000000000E+01
+-.27021000000000E+01
+-.15760000000000E+01
+-.46185000000000E+00
+0.61862000000000E+00
+0.16288000000000E+01
+0.25826000000000E+01
+-.12107000000000E+02
+-.10958000000000E+02
+-.98081000000000E+01
+-.86577000000000E+01
+-.75076000000000E+01
+-.63586000000000E+01
+-.52125000000000E+01
+-.40714000000000E+01
+-.29352000000000E+01
+-.18038000000000E+01
+-.68175000000000E+00
+0.41556000000000E+00
+0.14591000000000E+01
+0.24540000000000E+01
+-.12346000000000E+02
+-.11197000000000E+02
+-.10047000000000E+02
+-.88962000000000E+01
+-.77457000000000E+01
+-.65962000000000E+01
+-.54489000000000E+01
+-.43054000000000E+01
+-.31658000000000E+01
+-.20302000000000E+01
+-.90216000000000E+00
+0.20755000000000E+00
+0.12769000000000E+01
+0.23057000000000E+01
+-.12593000000000E+02
+-.11443000000000E+02
+-.10293000000000E+02
+-.91423000000000E+01
+-.79916000000000E+01
+-.68417000000000E+01
+-.56934000000000E+01
+-.45482000000000E+01
+-.34059000000000E+01
+-.22669000000000E+01
+-.11347000000000E+01
+-.16765000000000E-01
+0.10703000000000E+01
+0.21243000000000E+01
+-.12839000000000E+02
+-.11689000000000E+02
+-.10538000000000E+02
+-.93872000000000E+01
+-.82363000000000E+01
+-.70861000000000E+01
+-.59371000000000E+01
+-.47904000000000E+01
+-.36460000000000E+01
+-.25043000000000E+01
+-.13684000000000E+01
+-.24329000000000E+00
+0.85933000000000E+00
+0.19361000000000E+01
+-.13085000000000E+02
+-.11935000000000E+02
+-.10784000000000E+02
+-.96331000000000E+01
+-.84822000000000E+01
+-.73317000000000E+01
+-.61821000000000E+01
+-.50343000000000E+01
+-.38882000000000E+01
+-.27443000000000E+01
+-.16054000000000E+01
+-.47507000000000E+00
+0.63911000000000E+00
+0.17337000000000E+01
+-.13347000000000E+02
+-.12197000000000E+02
+-.11046000000000E+02
+-.98945000000000E+01
+-.87434000000000E+01
+-.75928000000000E+01
+-.64427000000000E+01
+-.52941000000000E+01
+-.41467000000000E+01
+-.30012000000000E+01
+-.18599000000000E+01
+-.72572000000000E+00
+0.39674000000000E+00
+0.15047000000000E+01
+-.13623000000000E+02
+-.12472000000000E+02
+-.11321000000000E+02
+-.10170000000000E+02
+-.90188000000000E+01
+-.78680000000000E+01
+-.67178000000000E+01
+-.55685000000000E+01
+-.44202000000000E+01
+-.32733000000000E+01
+-.21301000000000E+01
+-.99294000000000E+00
+0.13544000000000E+00
+0.12534000000000E+01
+-.13911000000000E+02
+-.12760000000000E+02
+-.11609000000000E+02
+-.10458000000000E+02
+-.93066000000000E+01
+-.81558000000000E+01
+-.70052000000000E+01
+-.58555000000000E+01
+-.47064000000000E+01
+-.35585000000000E+01
+-.24136000000000E+01
+-.12742000000000E+01
+-.14144000000000E+00
+0.98375000000000E+00
+-.14167000000000E+02
+-.13016000000000E+02
+-.11865000000000E+02
+-.10714000000000E+02
+-.95625000000000E+01
+-.84114000000000E+01
+-.72607000000000E+01
+-.61106000000000E+01
+-.49611000000000E+01
+-.38123000000000E+01
+-.26661000000000E+01
+-.15247000000000E+01
+-.38850000000000E+00
+0.74260000000000E+00
+-.14410000000000E+02
+-.13259000000000E+02
+-.12108000000000E+02
+-.10957000000000E+02
+-.98057000000000E+01
+-.86545000000000E+01
+-.75038000000000E+01
+-.63534000000000E+01
+-.52032000000000E+01
+-.40540000000000E+01
+-.29067000000000E+01
+-.17636000000000E+01
+-.62483000000000E+00
+0.51062000000000E+00
+0.20847000000000E+01
+0.20847000000000E+01
+0.20848000000000E+01
+0.20853000000000E+01
+0.20859000000000E+01
+0.20865000000000E+01
+0.20868000000000E+01
+0.20863000000000E+01
+0.20855000000000E+01
+0.20886000000000E+01
+0.21177000000000E+01
+0.21782000000000E+01
+0.23673000000000E+01
+0.29014000000000E+01
+0.20822000000000E+01
+0.20829000000000E+01
+0.20833000000000E+01
+0.20836000000000E+01
+0.20842000000000E+01
+0.20849000000000E+01
+0.20854000000000E+01
+0.20852000000000E+01
+0.20846000000000E+01
+0.20862000000000E+01
+0.21096000000000E+01
+0.21735000000000E+01
+0.23656000000000E+01
+0.28995000000000E+01
+0.20422000000000E+01
+0.20670000000000E+01
+0.20763000000000E+01
+0.20797000000000E+01
+0.20811000000000E+01
+0.20821000000000E+01
+0.20829000000000E+01
+0.20831000000000E+01
+0.20828000000000E+01
+0.20833000000000E+01
+0.21017000000000E+01
+0.21548000000000E+01
+0.23531000000000E+01
+0.28969000000000E+01
+0.17726000000000E+01
+0.19210000000000E+01
+0.20073000000000E+01
+0.20502000000000E+01
+0.20677000000000E+01
+0.20746000000000E+01
+0.20776000000000E+01
+0.20790000000000E+01
+0.20795000000000E+01
+0.20793000000000E+01
+0.20936000000000E+01
+0.21378000000000E+01
+0.23113000000000E+01
+0.28771000000000E+01
+0.10208000000000E+01
+0.14348000000000E+01
+0.17112000000000E+01
+0.18868000000000E+01
+0.19874000000000E+01
+0.20377000000000E+01
+0.20593000000000E+01
+0.20687000000000E+01
+0.20728000000000E+01
+0.20735000000000E+01
+0.20846000000000E+01
+0.21215000000000E+01
+0.22748000000000E+01
+0.28047000000000E+01
+-.45262000000000E+00
+0.38726000000000E+00
+0.10145000000000E+01
+0.14450000000000E+01
+0.17245000000000E+01
+0.18940000000000E+01
+0.19866000000000E+01
+0.20341000000000E+01
+0.20555000000000E+01
+0.20629000000000E+01
+0.20737000000000E+01
+0.21049000000000E+01
+0.22419000000000E+01
+0.27410000000000E+01
+-.22376000000000E+01
+-.11645000000000E+01
+-.19344000000000E+00
+0.59872000000000E+00
+0.11735000000000E+01
+0.15553000000000E+01
+0.17929000000000E+01
+0.19311000000000E+01
+0.20047000000000E+01
+0.20394000000000E+01
+0.20578000000000E+01
+0.20865000000000E+01
+0.22110000000000E+01
+0.26843000000000E+01
+-.38425000000000E+01
+-.27177000000000E+01
+-.16229000000000E+01
+-.59903000000000E+00
+0.28251000000000E+00
+0.95641000000000E+00
+0.14185000000000E+01
+0.17141000000000E+01
+0.18916000000000E+01
+0.19858000000000E+01
+0.20303000000000E+01
+0.20642000000000E+01
+0.21802000000000E+01
+0.26326000000000E+01
+-.52053000000000E+01
+-.40686000000000E+01
+-.29431000000000E+01
+-.18435000000000E+01
+-.80362000000000E+00
+0.11285000000000E+00
+0.83582000000000E+00
+0.13472000000000E+01
+0.16811000000000E+01
+0.18783000000000E+01
+0.19792000000000E+01
+0.20338000000000E+01
+0.21475000000000E+01
+0.25838000000000E+01
+-.63618000000000E+01
+-.52211000000000E+01
+-.40859000000000E+01
+-.29628000000000E+01
+-.18664000000000E+01
+-.82896000000000E+00
+0.89918000000000E-01
+0.82573000000000E+00
+0.13551000000000E+01
+0.16961000000000E+01
+0.18889000000000E+01
+0.19882000000000E+01
+0.21099000000000E+01
+0.25353000000000E+01
+-.73507000000000E+01
+-.62079000000000E+01
+-.50684000000000E+01
+-.39359000000000E+01
+-.28176000000000E+01
+-.17303000000000E+01
+-.70775000000000E+00
+0.19455000000000E+00
+0.91806000000000E+00
+0.14314000000000E+01
+0.17503000000000E+01
+0.19275000000000E+01
+0.20876000000000E+01
+0.25306000000000E+01
+-.82026000000000E+01
+-.70586000000000E+01
+-.59166000000000E+01
+-.47791000000000E+01
+-.36504000000000E+01
+-.25404000000000E+01
+-.14688000000000E+01
+-.47023000000000E+00
+0.40308000000000E+00
+0.10883000000000E+01
+0.15558000000000E+01
+0.18376000000000E+01
+0.20574000000000E+01
+0.25297000000000E+01
+-.89407000000000E+01
+-.77960000000000E+01
+-.66525000000000E+01
+-.55115000000000E+01
+-.43767000000000E+01
+-.32546000000000E+01
+-.21580000000000E+01
+-.11084000000000E+01
+-.13920000000000E+00
+0.68851000000000E+00
+0.13084000000000E+01
+0.17115000000000E+01
+0.20076000000000E+01
+0.25146000000000E+01
+-.95803000000000E+01
+-.84351000000000E+01
+-.72903000000000E+01
+-.61471000000000E+01
+-.50082000000000E+01
+-.38784000000000E+01
+-.27672000000000E+01
+-.16892000000000E+01
+-.66318000000000E+00
+0.26683000000000E+00
+0.10229000000000E+01
+0.15442000000000E+01
+0.19138000000000E+01
+0.24810000000000E+01
+-.10134000000000E+02
+-.89883000000000E+01
+-.78425000000000E+01
+-.66975000000000E+01
+-.55557000000000E+01
+-.44207000000000E+01
+-.33003000000000E+01
+-.22053000000000E+01
+-.11465000000000E+01
+-.15237000000000E+00
+0.70624000000000E+00
+0.13516000000000E+01
+0.18129000000000E+01
+0.23944000000000E+01
+-.10629000000000E+02
+-.94834000000000E+01
+-.83369000000000E+01
+-.71907000000000E+01
+-.60466000000000E+01
+-.49081000000000E+01
+-.37811000000000E+01
+-.26742000000000E+01
+-.15937000000000E+01
+-.55589000000000E+00
+0.38376000000000E+00
+0.11407000000000E+01
+0.17029000000000E+01
+0.23175000000000E+01
+-.11063000000000E+02
+-.99172000000000E+01
+-.87703000000000E+01
+-.76229000000000E+01
+-.64772000000000E+01
+-.53358000000000E+01
+-.42040000000000E+01
+-.30884000000000E+01
+-.19927000000000E+01
+-.92590000000000E+00
+0.71508000000000E-01
+0.92180000000000E+00
+0.15858000000000E+01
+0.22501000000000E+01
+-.11444000000000E+02
+-.10297000000000E+02
+-.91494000000000E+01
+-.80015000000000E+01
+-.68545000000000E+01
+-.57109000000000E+01
+-.45754000000000E+01
+-.34531000000000E+01
+-.23459000000000E+01
+-.12590000000000E+01
+-.22110000000000E+00
+0.70312000000000E+00
+0.14622000000000E+01
+0.21865000000000E+01
+-.11772000000000E+02
+-.10625000000000E+02
+-.94766000000000E+01
+-.83276000000000E+01
+-.71798000000000E+01
+-.60347000000000E+01
+-.48960000000000E+01
+-.37682000000000E+01
+-.26520000000000E+01
+-.15503000000000E+01
+-.48344000000000E+00
+0.49804000000000E+00
+0.13420000000000E+01
+0.21318000000000E+01
+-.12060000000000E+02
+-.10912000000000E+02
+-.97634000000000E+01
+-.86140000000000E+01
+-.74653000000000E+01
+-.63188000000000E+01
+-.51777000000000E+01
+-.40454000000000E+01
+-.29221000000000E+01
+-.18091000000000E+01
+-.72173000000000E+00
+0.30218000000000E+00
+0.12158000000000E+01
+0.20683000000000E+01
+-.12319000000000E+02
+-.11171000000000E+02
+-.10022000000000E+02
+-.88718000000000E+01
+-.77225000000000E+01
+-.65750000000000E+01
+-.54318000000000E+01
+-.42957000000000E+01
+-.31665000000000E+01
+-.20450000000000E+01
+-.94261000000000E+00
+0.11260000000000E+00
+0.10800000000000E+01
+0.19902000000000E+01
+-.12544000000000E+02
+-.11396000000000E+02
+-.10246000000000E+02
+-.90962000000000E+01
+-.79463000000000E+01
+-.67979000000000E+01
+-.56528000000000E+01
+-.45134000000000E+01
+-.33793000000000E+01
+-.22510000000000E+01
+-.11371000000000E+01
+-.58134000000000E-01
+0.95378000000000E+00
+0.19145000000000E+01
+-.12767000000000E+02
+-.11618000000000E+02
+-.10468000000000E+02
+-.93179000000000E+01
+-.81677000000000E+01
+-.70186000000000E+01
+-.58721000000000E+01
+-.47302000000000E+01
+-.35922000000000E+01
+-.24586000000000E+01
+-.13364000000000E+01
+-.24024000000000E+00
+0.80476000000000E+00
+0.18058000000000E+01
+-.12988000000000E+02
+-.11838000000000E+02
+-.10688000000000E+02
+-.95371000000000E+01
+-.83867000000000E+01
+-.72371000000000E+01
+-.60895000000000E+01
+-.49454000000000E+01
+-.38043000000000E+01
+-.26667000000000E+01
+-.15381000000000E+01
+-.42935000000000E+00
+0.64072000000000E+00
+0.16742000000000E+01
+-.13211000000000E+02
+-.12062000000000E+02
+-.10911000000000E+02
+-.97603000000000E+01
+-.86096000000000E+01
+-.74596000000000E+01
+-.63112000000000E+01
+-.51654000000000E+01
+-.40220000000000E+01
+-.28813000000000E+01
+-.17480000000000E+01
+-.63072000000000E+00
+0.45669000000000E+00
+0.15142000000000E+01
+-.13470000000000E+02
+-.12320000000000E+02
+-.11169000000000E+02
+-.10018000000000E+02
+-.88672000000000E+01
+-.77168000000000E+01
+-.65677000000000E+01
+-.54209000000000E+01
+-.42756000000000E+01
+-.31324000000000E+01
+-.19953000000000E+01
+-.87109000000000E+00
+0.23037000000000E+00
+0.13080000000000E+01
+-.13695000000000E+02
+-.12544000000000E+02
+-.11394000000000E+02
+-.10243000000000E+02
+-.90916000000000E+01
+-.79412000000000E+01
+-.67915000000000E+01
+-.56434000000000E+01
+-.44967000000000E+01
+-.33516000000000E+01
+-.22113000000000E+01
+-.10813000000000E+01
+0.31879000000000E-01
+0.11269000000000E+01
+-.13926000000000E+02
+-.12775000000000E+02
+-.11624000000000E+02
+-.10473000000000E+02
+-.93220000000000E+01
+-.81714000000000E+01
+-.70214000000000E+01
+-.58726000000000E+01
+-.47246000000000E+01
+-.35779000000000E+01
+-.24352000000000E+01
+-.13008000000000E+01
+-.17902000000000E+00
+0.92926000000000E+00
+-.14177000000000E+02
+-.13026000000000E+02
+-.11875000000000E+02
+-.10724000000000E+02
+-.95725000000000E+01
+-.84216000000000E+01
+-.72714000000000E+01
+-.61219000000000E+01
+-.49731000000000E+01
+-.38254000000000E+01
+-.26807000000000E+01
+-.15429000000000E+01
+-.41500000000000E+00
+0.70303000000000E+00
+-.14444000000000E+02
+-.13293000000000E+02
+-.12142000000000E+02
+-.10991000000000E+02
+-.98398000000000E+01
+-.86890000000000E+01
+-.75385000000000E+01
+-.63885000000000E+01
+-.52391000000000E+01
+-.40905000000000E+01
+-.29444000000000E+01
+-.18039000000000E+01
+-.67133000000000E+00
+0.45376000000000E+00
+-.14721000000000E+02
+-.13571000000000E+02
+-.12419000000000E+02
+-.11268000000000E+02
+-.10117000000000E+02
+-.89661000000000E+01
+-.78153000000000E+01
+-.66650000000000E+01
+-.55153000000000E+01
+-.43658000000000E+01
+-.32186000000000E+01
+-.20759000000000E+01
+-.93996000000000E+00
+0.19049000000000E+00
+-.14969000000000E+02
+-.13818000000000E+02
+-.12667000000000E+02
+-.11516000000000E+02
+-.10364000000000E+02
+-.92131000000000E+01
+-.80623000000000E+01
+-.69119000000000E+01
+-.57616000000000E+01
+-.46118000000000E+01
+-.34636000000000E+01
+-.23192000000000E+01
+-.11803000000000E+01
+-.45630000000000E-01
+0.13657000000000E+01
+0.13658000000000E+01
+0.13660000000000E+01
+0.13664000000000E+01
+0.13671000000000E+01
+0.13677000000000E+01
+0.13680000000000E+01
+0.13676000000000E+01
+0.13669000000000E+01
+0.13714000000000E+01
+0.14035000000000E+01
+0.14707000000000E+01
+0.16743000000000E+01
+0.22262000000000E+01
+0.13635000000000E+01
+0.13643000000000E+01
+0.13646000000000E+01
+0.13650000000000E+01
+0.13656000000000E+01
+0.13663000000000E+01
+0.13669000000000E+01
+0.13668000000000E+01
+0.13663000000000E+01
+0.13692000000000E+01
+0.13953000000000E+01
+0.14661000000000E+01
+0.16729000000000E+01
+0.22245000000000E+01
+0.13239000000000E+01
+0.13487000000000E+01
+0.13580000000000E+01
+0.13614000000000E+01
+0.13629000000000E+01
+0.13639000000000E+01
+0.13647000000000E+01
+0.13651000000000E+01
+0.13649000000000E+01
+0.13667000000000E+01
+0.13876000000000E+01
+0.14471000000000E+01
+0.16605000000000E+01
+0.22224000000000E+01
+0.10549000000000E+01
+0.12033000000000E+01
+0.12898000000000E+01
+0.13326000000000E+01
+0.13502000000000E+01
+0.13571000000000E+01
+0.13602000000000E+01
+0.13616000000000E+01
+0.13623000000000E+01
+0.13633000000000E+01
+0.13799000000000E+01
+0.14302000000000E+01
+0.16183000000000E+01
+0.22031000000000E+01
+0.30370000000000E+00
+0.71790000000000E+00
+0.99446000000000E+00
+0.11701000000000E+01
+0.12709000000000E+01
+0.13210000000000E+01
+0.13427000000000E+01
+0.13522000000000E+01
+0.13566000000000E+01
+0.13584000000000E+01
+0.13716000000000E+01
+0.14143000000000E+01
+0.15818000000000E+01
+0.21310000000000E+01
+-.11685000000000E+01
+-.32849000000000E+00
+0.29887000000000E+00
+0.72951000000000E+00
+0.10091000000000E+01
+0.11788000000000E+01
+0.12716000000000E+01
+0.13190000000000E+01
+0.13406000000000E+01
+0.13491000000000E+01
+0.13618000000000E+01
+0.13985000000000E+01
+0.15493000000000E+01
+0.20680000000000E+01
+-.29520000000000E+01
+-.18786000000000E+01
+-.90736000000000E+00
+-.11509000000000E+00
+0.45982000000000E+00
+0.84181000000000E+00
+0.10796000000000E+01
+0.12181000000000E+01
+0.12921000000000E+01
+0.13274000000000E+01
+0.13476000000000E+01
+0.13816000000000E+01
+0.15196000000000E+01
+0.20126000000000E+01
+-.45549000000000E+01
+-.34297000000000E+01
+-.23345000000000E+01
+-.13105000000000E+01
+-.42877000000000E+00
+0.24530000000000E+00
+0.70760000000000E+00
+0.10035000000000E+01
+0.11815000000000E+01
+0.12763000000000E+01
+0.13225000000000E+01
+0.13614000000000E+01
+0.14907000000000E+01
+0.19629000000000E+01
+-.59149000000000E+01
+-.47780000000000E+01
+-.36522000000000E+01
+-.25520000000000E+01
+-.15116000000000E+01
+-.59489000000000E+00
+0.12833000000000E+00
+0.64012000000000E+00
+0.97443000000000E+00
+0.11722000000000E+01
+0.12747000000000E+01
+0.13340000000000E+01
+0.14607000000000E+01
+0.19170000000000E+01
+-.70677000000000E+01
+-.59268000000000E+01
+-.47914000000000E+01
+-.36678000000000E+01
+-.25704000000000E+01
+-.15322000000000E+01
+-.61285000000000E+00
+0.12334000000000E+00
+0.65321000000000E+00
+0.99493000000000E+00
+0.11892000000000E+01
+0.12929000000000E+01
+0.14272000000000E+01
+0.18727000000000E+01
+-.80522000000000E+01
+-.69094000000000E+01
+-.57699000000000E+01
+-.46368000000000E+01
+-.35178000000000E+01
+-.24291000000000E+01
+-.14054000000000E+01
+-.50259000000000E+00
+0.22107000000000E+00
+0.73441000000000E+00
+0.10529000000000E+01
+0.12292000000000E+01
+0.13868000000000E+01
+0.18276000000000E+01
+-.88987000000000E+01
+-.77546000000000E+01
+-.66127000000000E+01
+-.54747000000000E+01
+-.43453000000000E+01
+-.32339000000000E+01
+-.21603000000000E+01
+-.11602000000000E+01
+-.28649000000000E+00
+0.39880000000000E+00
+0.86598000000000E+00
+0.11472000000000E+01
+0.13653000000000E+01
+0.18360000000000E+01
+-.96299000000000E+01
+-.84851000000000E+01
+-.73414000000000E+01
+-.62003000000000E+01
+-.50651000000000E+01
+-.39416000000000E+01
+-.28425000000000E+01
+-.17903000000000E+01
+-.81969000000000E+00
+0.83992000000000E-02
+0.62852000000000E+00
+0.10320000000000E+01
+0.13294000000000E+01
+0.18393000000000E+01
+-.10263000000000E+02
+-.91177000000000E+01
+-.79729000000000E+01
+-.68295000000000E+01
+-.56902000000000E+01
+-.45593000000000E+01
+-.34459000000000E+01
+-.23644000000000E+01
+-.13358000000000E+01
+-.40503000000000E+00
+0.35114000000000E+00
+0.87215000000000E+00
+0.12416000000000E+01
+0.18105000000000E+01
+-.10810000000000E+02
+-.96641000000000E+01
+-.85183000000000E+01
+-.73733000000000E+01
+-.62311000000000E+01
+-.50953000000000E+01
+-.39730000000000E+01
+-.28745000000000E+01
+-.18121000000000E+01
+-.81635000000000E+00
+0.42285000000000E-01
+0.68715000000000E+00
+0.11480000000000E+01
+0.17305000000000E+01
+-.11299000000000E+02
+-.10153000000000E+02
+-.90061000000000E+01
+-.78599000000000E+01
+-.67156000000000E+01
+-.55764000000000E+01
+-.44479000000000E+01
+-.33379000000000E+01
+-.22531000000000E+01
+-.12126000000000E+01
+-.27248000000000E+00
+0.48418000000000E+00
+0.10464000000000E+01
+0.16625000000000E+01
+-.11728000000000E+02
+-.10582000000000E+02
+-.94343000000000E+01
+-.82871000000000E+01
+-.71412000000000E+01
+-.59995000000000E+01
+-.48666000000000E+01
+-.37484000000000E+01
+-.26483000000000E+01
+-.15779000000000E+01
+-.57948000000000E+00
+0.27050000000000E+00
+0.93414000000000E+00
+0.15992000000000E+01
+-.12102000000000E+02
+-.10956000000000E+02
+-.98079000000000E+01
+-.86597000000000E+01
+-.75126000000000E+01
+-.63689000000000E+01
+-.52324000000000E+01
+-.41080000000000E+01
+-.29969000000000E+01
+-.19057000000000E+01
+-.86603000000000E+00
+0.58187000000000E-01
+0.81715000000000E+00
+0.15429000000000E+01
+-.12428000000000E+02
+-.11281000000000E+02
+-.10133000000000E+02
+-.89839000000000E+01
+-.78358000000000E+01
+-.66904000000000E+01
+-.55511000000000E+01
+-.44218000000000E+01
+-.33022000000000E+01
+-.21962000000000E+01
+-.11272000000000E+01
+-.14598000000000E+00
+0.69684000000000E+00
+0.14882000000000E+01
+-.12707000000000E+02
+-.11559000000000E+02
+-.10410000000000E+02
+-.92610000000000E+01
+-.81121000000000E+01
+-.69656000000000E+01
+-.58239000000000E+01
+-.46903000000000E+01
+-.35641000000000E+01
+-.24470000000000E+01
+-.13567000000000E+01
+-.33221000000000E+00
+0.58163000000000E+00
+0.14377000000000E+01
+-.12953000000000E+02
+-.11805000000000E+02
+-.10656000000000E+02
+-.95059000000000E+01
+-.83564000000000E+01
+-.72089000000000E+01
+-.60652000000000E+01
+-.49282000000000E+01
+-.37966000000000E+01
+-.26713000000000E+01
+-.15656000000000E+01
+-.50943000000000E+00
+0.46037000000000E+00
+0.13738000000000E+01
+-.13174000000000E+02
+-.12026000000000E+02
+-.10876000000000E+02
+-.97261000000000E+01
+-.85762000000000E+01
+-.74276000000000E+01
+-.62823000000000E+01
+-.51423000000000E+01
+-.40065000000000E+01
+-.28749000000000E+01
+-.17580000000000E+01
+-.67816000000000E+00
+0.33434000000000E+00
+0.12979000000000E+01
+-.13370000000000E+02
+-.12220000000000E+02
+-.11071000000000E+02
+-.99202000000000E+01
+-.87698000000000E+01
+-.76207000000000E+01
+-.64741000000000E+01
+-.53315000000000E+01
+-.41921000000000E+01
+-.30556000000000E+01
+-.19301000000000E+01
+-.83246000000000E+00
+0.21418000000000E+00
+0.12195000000000E+01
+-.13570000000000E+02
+-.12421000000000E+02
+-.11271000000000E+02
+-.10120000000000E+02
+-.89695000000000E+01
+-.78197000000000E+01
+-.66720000000000E+01
+-.55275000000000E+01
+-.43853000000000E+01
+-.32452000000000E+01
+-.21134000000000E+01
+-.10029000000000E+01
+0.68754000000000E-01
+0.11062000000000E+01
+-.13777000000000E+02
+-.12627000000000E+02
+-.11477000000000E+02
+-.10326000000000E+02
+-.91753000000000E+01
+-.80251000000000E+01
+-.68768000000000E+01
+-.57307000000000E+01
+-.45864000000000E+01
+-.34437000000000E+01
+-.23076000000000E+01
+-.11884000000000E+01
+-.99792000000000E-01
+0.96054000000000E+00
+-.14012000000000E+02
+-.12862000000000E+02
+-.11711000000000E+02
+-.10560000000000E+02
+-.94094000000000E+01
+-.82590000000000E+01
+-.71099000000000E+01
+-.59626000000000E+01
+-.48168000000000E+01
+-.36720000000000E+01
+-.25322000000000E+01
+-.14057000000000E+01
+-.30281000000000E+00
+0.77740000000000E+00
+-.14259000000000E+02
+-.13109000000000E+02
+-.11958000000000E+02
+-.10807000000000E+02
+-.96562000000000E+01
+-.85056000000000E+01
+-.73560000000000E+01
+-.62079000000000E+01
+-.50608000000000E+01
+-.39144000000000E+01
+-.27720000000000E+01
+-.16400000000000E+01
+-.52634000000000E+00
+0.56926000000000E+00
+-.14463000000000E+02
+-.13313000000000E+02
+-.12162000000000E+02
+-.11011000000000E+02
+-.98596000000000E+01
+-.87090000000000E+01
+-.75588000000000E+01
+-.64099000000000E+01
+-.52617000000000E+01
+-.41140000000000E+01
+-.29694000000000E+01
+-.18328000000000E+01
+-.71008000000000E+00
+0.39890000000000E+00
+-.14686000000000E+02
+-.13535000000000E+02
+-.12384000000000E+02
+-.11233000000000E+02
+-.10082000000000E+02
+-.89307000000000E+01
+-.77804000000000E+01
+-.66309000000000E+01
+-.54818000000000E+01
+-.43333000000000E+01
+-.31870000000000E+01
+-.20469000000000E+01
+-.91742000000000E+00
+0.20124000000000E+00
+-.14929000000000E+02
+-.13779000000000E+02
+-.12627000000000E+02
+-.11476000000000E+02
+-.10325000000000E+02
+-.91741000000000E+01
+-.80234000000000E+01
+-.68735000000000E+01
+-.57240000000000E+01
+-.45747000000000E+01
+-.34272000000000E+01
+-.22845000000000E+01
+-.11503000000000E+01
+-.24267000000000E-01
+-.15189000000000E+02
+-.14038000000000E+02
+-.12886000000000E+02
+-.11735000000000E+02
+-.10584000000000E+02
+-.94331000000000E+01
+-.82822000000000E+01
+-.71321000000000E+01
+-.59821000000000E+01
+-.48323000000000E+01
+-.36838000000000E+01
+-.25392000000000E+01
+-.14013000000000E+01
+-.26983000000000E+00
+-.15462000000000E+02
+-.14311000000000E+02
+-.13160000000000E+02
+-.12009000000000E+02
+-.10857000000000E+02
+-.97061000000000E+01
+-.85552000000000E+01
+-.74048000000000E+01
+-.62544000000000E+01
+-.51042000000000E+01
+-.39551000000000E+01
+-.28090000000000E+01
+-.16683000000000E+01
+-.53275000000000E+00
+0.74890000000000E+00
+0.74895000000000E+00
+0.74918000000000E+00
+0.74968000000000E+00
+0.75040000000000E+00
+0.75108000000000E+00
+0.75140000000000E+00
+0.75107000000000E+00
+0.75052000000000E+00
+0.75642000000000E+00
+0.79227000000000E+00
+0.86748000000000E+00
+0.10880000000000E+01
+0.16600000000000E+01
+0.74747000000000E+00
+0.74831000000000E+00
+0.74867000000000E+00
+0.74907000000000E+00
+0.74968000000000E+00
+0.75046000000000E+00
+0.75104000000000E+00
+0.75102000000000E+00
+0.75075000000000E+00
+0.75504000000000E+00
+0.78447000000000E+00
+0.86353000000000E+00
+0.10874000000000E+01
+0.16592000000000E+01
+0.70915000000000E+00
+0.73396000000000E+00
+0.74333000000000E+00
+0.74672000000000E+00
+0.74821000000000E+00
+0.74928000000000E+00
+0.75017000000000E+00
+0.75053000000000E+00
+0.75061000000000E+00
+0.75369000000000E+00
+0.77762000000000E+00
+0.84491000000000E+00
+0.10759000000000E+01
+0.16582000000000E+01
+0.44158000000000E+00
+0.59018000000000E+00
+0.67670000000000E+00
+0.71947000000000E+00
+0.73706000000000E+00
+0.74400000000000E+00
+0.74716000000000E+00
+0.74873000000000E+00
+0.74957000000000E+00
+0.75194000000000E+00
+0.77119000000000E+00
+0.82883000000000E+00
+0.10340000000000E+01
+0.16404000000000E+01
+-.30794000000000E+00
+0.10641000000000E+00
+0.38310000000000E+00
+0.55887000000000E+00
+0.65971000000000E+00
+0.70981000000000E+00
+0.73158000000000E+00
+0.74118000000000E+00
+0.74573000000000E+00
+0.74881000000000E+00
+0.76454000000000E+00
+0.81421000000000E+00
+0.99825000000000E+00
+0.15694000000000E+01
+-.17783000000000E+01
+-.93810000000000E+00
+-.31060000000000E+00
+0.12017000000000E+00
+0.39993000000000E+00
+0.56976000000000E+00
+0.66270000000000E+00
+0.70996000000000E+00
+0.73186000000000E+00
+0.74156000000000E+00
+0.75658000000000E+00
+0.79993000000000E+00
+0.96700000000000E+00
+0.15078000000000E+01
+-.35597000000000E+01
+-.24861000000000E+01
+-.15147000000000E+01
+-.72229000000000E+00
+-.14725000000000E+00
+0.23493000000000E+00
+0.47295000000000E+00
+0.61176000000000E+00
+0.68607000000000E+00
+0.72215000000000E+00
+0.74451000000000E+00
+0.78476000000000E+00
+0.93867000000000E+00
+0.14540000000000E+01
+-.51603000000000E+01
+-.40350000000000E+01
+-.29396000000000E+01
+-.19153000000000E+01
+-.10334000000000E+01
+-.35913000000000E+00
+0.10344000000000E+00
+0.39971000000000E+00
+0.57803000000000E+00
+0.67363000000000E+00
+0.72188000000000E+00
+0.76668000000000E+00
+0.91162000000000E+00
+0.14064000000000E+01
+-.65177000000000E+01
+-.53806000000000E+01
+-.42546000000000E+01
+-.31542000000000E+01
+-.21135000000000E+01
+-.11964000000000E+01
+-.47288000000000E+00
+0.39280000000000E-01
+0.37405000000000E+00
+0.57265000000000E+00
+0.67705000000000E+00
+0.74194000000000E+00
+0.88391000000000E+00
+0.13629000000000E+01
+-.76672000000000E+01
+-.65262000000000E+01
+-.53907000000000E+01
+-.42668000000000E+01
+-.31691000000000E+01
+-.21303000000000E+01
+-.12104000000000E+01
+-.47381000000000E+00
+0.56584000000000E-01
+0.39913000000000E+00
+0.59526000000000E+00
+0.70413000000000E+00
+0.85320000000000E+00
+0.13216000000000E+01
+-.86482000000000E+01
+-.75051000000000E+01
+-.63655000000000E+01
+-.52324000000000E+01
+-.41129000000000E+01
+-.30236000000000E+01
+-.19989000000000E+01
+-.10954000000000E+01
+-.37112000000000E+00
+0.14309000000000E+00
+0.46345000000000E+00
+0.64450000000000E+00
+0.81622000000000E+00
+0.12799000000000E+01
+-.94929000000000E+01
+-.83489000000000E+01
+-.72068000000000E+01
+-.60687000000000E+01
+-.49392000000000E+01
+-.38271000000000E+01
+-.27525000000000E+01
+-.17516000000000E+01
+-.87752000000000E+00
+-.19241000000000E+00
+0.27423000000000E+00
+0.55409000000000E+00
+0.76863000000000E+00
+0.12350000000000E+01
+-.10224000000000E+02
+-.90789000000000E+01
+-.79351000000000E+01
+-.67939000000000E+01
+-.56584000000000E+01
+-.45345000000000E+01
+-.34346000000000E+01
+-.23812000000000E+01
+-.14101000000000E+01
+-.58237000000000E+00
+0.37067000000000E-01
+0.43931000000000E+00
+0.73436000000000E+00
+0.12415000000000E+01
+-.10860000000000E+02
+-.97144000000000E+01
+-.85693000000000E+01
+-.74259000000000E+01
+-.62865000000000E+01
+-.51554000000000E+01
+-.40413000000000E+01
+-.29587000000000E+01
+-.19295000000000E+01
+-.99936000000000E+00
+-.24418000000000E+00
+0.27572000000000E+00
+0.64488000000000E+00
+0.12170000000000E+01
+-.11418000000000E+02
+-.10272000000000E+02
+-.91262000000000E+01
+-.79811000000000E+01
+-.68387000000000E+01
+-.57029000000000E+01
+-.45802000000000E+01
+-.34810000000000E+01
+-.24185000000000E+01
+-.14243000000000E+01
+-.56853000000000E+00
+0.73935000000000E-01
+0.53300000000000E+00
+0.11151000000000E+01
+-.11925000000000E+02
+-.10779000000000E+02
+-.96323000000000E+01
+-.84861000000000E+01
+-.73418000000000E+01
+-.62025000000000E+01
+-.50737000000000E+01
+-.39634000000000E+01
+-.28789000000000E+01
+-.18408000000000E+01
+-.90535000000000E+00
+-.15310000000000E+00
+0.40585000000000E+00
+0.10201000000000E+01
+-.12376000000000E+02
+-.11229000000000E+02
+-.10082000000000E+02
+-.89348000000000E+01
+-.77891000000000E+01
+-.66472000000000E+01
+-.55142000000000E+01
+-.43959000000000E+01
+-.32963000000000E+01
+-.22285000000000E+01
+-.12361000000000E+01
+-.39227000000000E+00
+0.26746000000000E+00
+0.93085000000000E+00
+-.12775000000000E+02
+-.11628000000000E+02
+-.10481000000000E+02
+-.93325000000000E+01
+-.81855000000000E+01
+-.70416000000000E+01
+-.59052000000000E+01
+-.47808000000000E+01
+-.36702000000000E+01
+-.25817000000000E+01
+-.15486000000000E+01
+-.63261000000000E+00
+0.12051000000000E+00
+0.84314000000000E+00
+-.13123000000000E+02
+-.11976000000000E+02
+-.10828000000000E+02
+-.96792000000000E+01
+-.85312000000000E+01
+-.73859000000000E+01
+-.62465000000000E+01
+-.51172000000000E+01
+-.39982000000000E+01
+-.28945000000000E+01
+-.18321000000000E+01
+-.86024000000000E+00
+-.24664000000000E-01
+0.76291000000000E+00
+-.13425000000000E+02
+-.12277000000000E+02
+-.11128000000000E+02
+-.99792000000000E+01
+-.88303000000000E+01
+-.76837000000000E+01
+-.65421000000000E+01
+-.54087000000000E+01
+-.42830000000000E+01
+-.31679000000000E+01
+-.20839000000000E+01
+-.10696000000000E+01
+-.16496000000000E+00
+0.68666000000000E+00
+-.13678000000000E+02
+-.12530000000000E+02
+-.11381000000000E+02
+-.10231000000000E+02
+-.90820000000000E+01
+-.79343000000000E+01
+-.67906000000000E+01
+-.56537000000000E+01
+-.45225000000000E+01
+-.33988000000000E+01
+-.22985000000000E+01
+-.12518000000000E+01
+-.29051000000000E+00
+0.62045000000000E+00
+-.13903000000000E+02
+-.12755000000000E+02
+-.11605000000000E+02
+-.10455000000000E+02
+-.93052000000000E+01
+-.81567000000000E+01
+-.70115000000000E+01
+-.58715000000000E+01
+-.47360000000000E+01
+-.36058000000000E+01
+-.24934000000000E+01
+-.14227000000000E+01
+-.41790000000000E+00
+0.54256000000000E+00
+-.14105000000000E+02
+-.12956000000000E+02
+-.11806000000000E+02
+-.10656000000000E+02
+-.95051000000000E+01
+-.83560000000000E+01
+-.72095000000000E+01
+-.60671000000000E+01
+-.49280000000000E+01
+-.37928000000000E+01
+-.26713000000000E+01
+-.15822000000000E+01
+-.54399000000000E+00
+0.45706000000000E+00
+-.14280000000000E+02
+-.13130000000000E+02
+-.11980000000000E+02
+-.10829000000000E+02
+-.96787000000000E+01
+-.85291000000000E+01
+-.73815000000000E+01
+-.62369000000000E+01
+-.50950000000000E+01
+-.39559000000000E+01
+-.28273000000000E+01
+-.17240000000000E+01
+-.66005000000000E+00
+0.37493000000000E+00
+-.14470000000000E+02
+-.13320000000000E+02
+-.12169000000000E+02
+-.11019000000000E+02
+-.98679000000000E+01
+-.87178000000000E+01
+-.75695000000000E+01
+-.64235000000000E+01
+-.52793000000000E+01
+-.41375000000000E+01
+-.30039000000000E+01
+-.18911000000000E+01
+-.81056000000000E+00
+0.24612000000000E+00
+-.14690000000000E+02
+-.13540000000000E+02
+-.12390000000000E+02
+-.11239000000000E+02
+-.10088000000000E+02
+-.89375000000000E+01
+-.77885000000000E+01
+-.66414000000000E+01
+-.54956000000000E+01
+-.43514000000000E+01
+-.32137000000000E+01
+-.20923000000000E+01
+-.99672000000000E+00
+0.79491000000000E-01
+-.14908000000000E+02
+-.13757000000000E+02
+-.12607000000000E+02
+-.11456000000000E+02
+-.10305000000000E+02
+-.91541000000000E+01
+-.80044000000000E+01
+-.68564000000000E+01
+-.57094000000000E+01
+-.45635000000000E+01
+-.34225000000000E+01
+-.22945000000000E+01
+-.11873000000000E+01
+-.95890000000000E-01
+-.15143000000000E+02
+-.13993000000000E+02
+-.12842000000000E+02
+-.11691000000000E+02
+-.10540000000000E+02
+-.93889000000000E+01
+-.82390000000000E+01
+-.70902000000000E+01
+-.59421000000000E+01
+-.47949000000000E+01
+-.36514000000000E+01
+-.25183000000000E+01
+-.14020000000000E+01
+-.29931000000000E+00
+-.15333000000000E+02
+-.14183000000000E+02
+-.13032000000000E+02
+-.11881000000000E+02
+-.10729000000000E+02
+-.95786000000000E+01
+-.84282000000000E+01
+-.72788000000000E+01
+-.61299000000000E+01
+-.49816000000000E+01
+-.38362000000000E+01
+-.26989000000000E+01
+-.15750000000000E+01
+-.46217000000000E+00
+-.15542000000000E+02
+-.14391000000000E+02
+-.13240000000000E+02
+-.12088000000000E+02
+-.10937000000000E+02
+-.97861000000000E+01
+-.86355000000000E+01
+-.74856000000000E+01
+-.63361000000000E+01
+-.51870000000000E+01
+-.40402000000000E+01
+-.28997000000000E+01
+-.17701000000000E+01
+-.64961000000000E+00
+-.15774000000000E+02
+-.14623000000000E+02
+-.13472000000000E+02
+-.12321000000000E+02
+-.11169000000000E+02
+-.10018000000000E+02
+-.88674000000000E+01
+-.77173000000000E+01
+-.65673000000000E+01
+-.54176000000000E+01
+-.42697000000000E+01
+-.31267000000000E+01
+-.19927000000000E+01
+-.86661000000000E+00
+-.16026000000000E+02
+-.14875000000000E+02
+-.13724000000000E+02
+-.12573000000000E+02
+-.11421000000000E+02
+-.10270000000000E+02
+-.91191000000000E+01
+-.79687000000000E+01
+-.68185000000000E+01
+-.56685000000000E+01
+-.45197000000000E+01
+-.33747000000000E+01
+-.22371000000000E+01
+-.11067000000000E+01
+-.24042000000000E+00
+-.24035000000000E+00
+-.24010000000000E+00
+-.23957000000000E+00
+-.23880000000000E+00
+-.23806000000000E+00
+-.23767000000000E+00
+-.23791000000000E+00
+-.23820000000000E+00
+-.22987000000000E+00
+-.18745000000000E+00
+-.98000000000000E-01
+0.15176000000000E+00
+0.75682000000000E+00
+-.24174000000000E+00
+-.24088000000000E+00
+-.24048000000000E+00
+-.24007000000000E+00
+-.23942000000000E+00
+-.23858000000000E+00
+-.23792000000000E+00
+-.23784000000000E+00
+-.23782000000000E+00
+-.23126000000000E+00
+-.19587000000000E+00
+-.10213000000000E+00
+0.15121000000000E+00
+0.75610000000000E+00
+-.27966000000000E+00
+-.25485000000000E+00
+-.24546000000000E+00
+-.24206000000000E+00
+-.24054000000000E+00
+-.23941000000000E+00
+-.23844000000000E+00
+-.23795000000000E+00
+-.23755000000000E+00
+-.23232000000000E+00
+-.20299000000000E+00
+-.12190000000000E+00
+0.13952000000000E+00
+0.75549000000000E+00
+-.54657000000000E+00
+-.39782000000000E+00
+-.31120000000000E+00
+-.26847000000000E+00
+-.25085000000000E+00
+-.24387000000000E+00
+-.24063000000000E+00
+-.23891000000000E+00
+-.23770000000000E+00
+-.23330000000000E+00
+-.20911000000000E+00
+-.13841000000000E+00
+0.96340000000000E-01
+0.73825000000000E+00
+-.12948000000000E+01
+-.88023000000000E+00
+-.60338000000000E+00
+-.42747000000000E+00
+-.32652000000000E+00
+-.27648000000000E+00
+-.25462000000000E+00
+-.24486000000000E+00
+-.23993000000000E+00
+-.23488000000000E+00
+-.21463000000000E+00
+-.15255000000000E+00
+0.60297000000000E-01
+0.66765000000000E+00
+-.27628000000000E+01
+-.19224000000000E+01
+-.12947000000000E+01
+-.86382000000000E+00
+-.58388000000000E+00
+-.41386000000000E+00
+-.32068000000000E+00
+-.27352000000000E+00
+-.25122000000000E+00
+-.23961000000000E+00
+-.22044000000000E+00
+-.16525000000000E+00
+0.30001000000000E-01
+0.60750000000000E+00
+-.45409000000000E+01
+-.34671000000000E+01
+-.24955000000000E+01
+-.17029000000000E+01
+-.11276000000000E+01
+-.74521000000000E+00
+-.50687000000000E+00
+-.36768000000000E+00
+-.29281000000000E+00
+-.25542000000000E+00
+-.22923000000000E+00
+-.17770000000000E+00
+0.38946000000000E-02
+0.55635000000000E+00
+-.61372000000000E+01
+-.50117000000000E+01
+-.39162000000000E+01
+-.28916000000000E+01
+-.20094000000000E+01
+-.13348000000000E+01
+-.87186000000000E+00
+-.57510000000000E+00
+-.39614000000000E+00
+-.29926000000000E+00
+-.24746000000000E+00
+-.19198000000000E+00
+-.19821000000000E-01
+0.51237000000000E+00
+-.74893000000000E+01
+-.63522000000000E+01
+-.52261000000000E+01
+-.41254000000000E+01
+-.30843000000000E+01
+-.21667000000000E+01
+-.14427000000000E+01
+-.92996000000000E+00
+-.59444000000000E+00
+-.39452000000000E+00
+-.28676000000000E+00
+-.21187000000000E+00
+-.43216000000000E-01
+0.47359000000000E+00
+-.86326000000000E+01
+-.74916000000000E+01
+-.63561000000000E+01
+-.52321000000000E+01
+-.41339000000000E+01
+-.30945000000000E+01
+-.21739000000000E+01
+-.14365000000000E+01
+-.90517000000000E+00
+-.56117000000000E+00
+-.36179000000000E+00
+-.24364000000000E+00
+-.68712000000000E-01
+0.43781000000000E+00
+-.96064000000000E+01
+-.84634000000000E+01
+-.73236000000000E+01
+-.61903000000000E+01
+-.50707000000000E+01
+-.39807000000000E+01
+-.29550000000000E+01
+-.20502000000000E+01
+-.13248000000000E+01
+-.80891000000000E+00
+-.48531000000000E+00
+-.29565000000000E+00
+-.99291000000000E-01
+0.40267000000000E+00
+-.10442000000000E+02
+-.92983000000000E+01
+-.81560000000000E+01
+-.70179000000000E+01
+-.58882000000000E+01
+-.47756000000000E+01
+-.36999000000000E+01
+-.26972000000000E+01
+-.18213000000000E+01
+-.11342000000000E+01
+-.66418000000000E+00
+-.37627000000000E+00
+-.13873000000000E+00
+0.36559000000000E+00
+-.11167000000000E+02
+-.10022000000000E+02
+-.88779000000000E+01
+-.77368000000000E+01
+-.66012000000000E+01
+-.54768000000000E+01
+-.43760000000000E+01
+-.33209000000000E+01
+-.23475000000000E+01
+-.15182000000000E+01
+-.89751000000000E+00
+-.49363000000000E+00
+-.19353000000000E+00
+0.32363000000000E+00
+-.11799000000000E+02
+-.10653000000000E+02
+-.95083000000000E+01
+-.83650000000000E+01
+-.72255000000000E+01
+-.60941000000000E+01
+-.49794000000000E+01
+-.38953000000000E+01
+-.28636000000000E+01
+-.19315000000000E+01
+-.11765000000000E+01
+-.66090000000000E+00
+-.30177000000000E+00
+0.26056000000000E+00
+-.12345000000000E+02
+-.11199000000000E+02
+-.10053000000000E+02
+-.89082000000000E+01
+-.77660000000000E+01
+-.66299000000000E+01
+-.55065000000000E+01
+-.44056000000000E+01
+-.33401000000000E+01
+-.23425000000000E+01
+-.14854000000000E+01
+-.84462000000000E+00
+-.38987000000000E+00
+0.18939000000000E+00
+-.12847000000000E+02
+-.11701000000000E+02
+-.10554000000000E+02
+-.94080000000000E+01
+-.82637000000000E+01
+-.71241000000000E+01
+-.59949000000000E+01
+-.48832000000000E+01
+-.37957000000000E+01
+-.27531000000000E+01
+-.18147000000000E+01
+-.10633000000000E+01
+-.50748000000000E+00
+0.10414000000000E+00
+-.13304000000000E+02
+-.12158000000000E+02
+-.11010000000000E+02
+-.98630000000000E+01
+-.87173000000000E+01
+-.75753000000000E+01
+-.64418000000000E+01
+-.53224000000000E+01
+-.42203000000000E+01
+-.31483000000000E+01
+-.21528000000000E+01
+-.13109000000000E+01
+-.65683000000000E+00
+0.10520000000000E-03
+-.13722000000000E+02
+-.12575000000000E+02
+-.11427000000000E+02
+-.10279000000000E+02
+-.91323000000000E+01
+-.79884000000000E+01
+-.68516000000000E+01
+-.57264000000000E+01
+-.46140000000000E+01
+-.35221000000000E+01
+-.24868000000000E+01
+-.15749000000000E+01
+-.83119000000000E+00
+-.11851000000000E+00
+-.14104000000000E+02
+-.12957000000000E+02
+-.11809000000000E+02
+-.10660000000000E+02
+-.95120000000000E+01
+-.83665000000000E+01
+-.72271000000000E+01
+-.60973000000000E+01
+-.49771000000000E+01
+-.38710000000000E+01
+-.28077000000000E+01
+-.18430000000000E+01
+-.10220000000000E+01
+-.24929000000000E+00
+-.14459000000000E+02
+-.13311000000000E+02
+-.12163000000000E+02
+-.11013000000000E+02
+-.98643000000000E+01
+-.87175000000000E+01
+-.75758000000000E+01
+-.64421000000000E+01
+-.53158000000000E+01
+-.41996000000000E+01
+-.31163000000000E+01
+-.21123000000000E+01
+-.12289000000000E+01
+-.39988000000000E+00
+-.14777000000000E+02
+-.13629000000000E+02
+-.12479000000000E+02
+-.11330000000000E+02
+-.10180000000000E+02
+-.90325000000000E+01
+-.78888000000000E+01
+-.67518000000000E+01
+-.56204000000000E+01
+-.44963000000000E+01
+-.33979000000000E+01
+-.23636000000000E+01
+-.14290000000000E+01
+-.54736000000000E+00
+-.15052000000000E+02
+-.13903000000000E+02
+-.12753000000000E+02
+-.11603000000000E+02
+-.10453000000000E+02
+-.93047000000000E+01
+-.81594000000000E+01
+-.70194000000000E+01
+-.58838000000000E+01
+-.47535000000000E+01
+-.36435000000000E+01
+-.25850000000000E+01
+-.16081000000000E+01
+-.67879000000000E+00
+-.15288000000000E+02
+-.14139000000000E+02
+-.12989000000000E+02
+-.11838000000000E+02
+-.10688000000000E+02
+-.95388000000000E+01
+-.83923000000000E+01
+-.72499000000000E+01
+-.61107000000000E+01
+-.49757000000000E+01
+-.38564000000000E+01
+-.27786000000000E+01
+-.17675000000000E+01
+-.79758000000000E+00
+-.15502000000000E+02
+-.14353000000000E+02
+-.13203000000000E+02
+-.12052000000000E+02
+-.10902000000000E+02
+-.97520000000000E+01
+-.86042000000000E+01
+-.74600000000000E+01
+-.63181000000000E+01
+-.51793000000000E+01
+-.40529000000000E+01
+-.29597000000000E+01
+-.19215000000000E+01
+-.91920000000000E+00
+-.15688000000000E+02
+-.14539000000000E+02
+-.13388000000000E+02
+-.12237000000000E+02
+-.11087000000000E+02
+-.99365000000000E+01
+-.87881000000000E+01
+-.76421000000000E+01
+-.64982000000000E+01
+-.53566000000000E+01
+-.42249000000000E+01
+-.31205000000000E+01
+-.20624000000000E+01
+-.10361000000000E+01
+-.15897000000000E+02
+-.14747000000000E+02
+-.13597000000000E+02
+-.12446000000000E+02
+-.11295000000000E+02
+-.10145000000000E+02
+-.89954000000000E+01
+-.78484000000000E+01
+-.67028000000000E+01
+-.55588000000000E+01
+-.44226000000000E+01
+-.33079000000000E+01
+-.22313000000000E+01
+-.11837000000000E+01
+-.16107000000000E+02
+-.14957000000000E+02
+-.13806000000000E+02
+-.12655000000000E+02
+-.11504000000000E+02
+-.10354000000000E+02
+-.92041000000000E+01
+-.80559000000000E+01
+-.69092000000000E+01
+-.57635000000000E+01
+-.46237000000000E+01
+-.35007000000000E+01
+-.24092000000000E+01
+-.13441000000000E+01
+-.16290000000000E+02
+-.15139000000000E+02
+-.13988000000000E+02
+-.12837000000000E+02
+-.11686000000000E+02
+-.10535000000000E+02
+-.93855000000000E+01
+-.82366000000000E+01
+-.70886000000000E+01
+-.59417000000000E+01
+-.47990000000000E+01
+-.36696000000000E+01
+-.25656000000000E+01
+-.14855000000000E+01
+-.16491000000000E+02
+-.15340000000000E+02
+-.14189000000000E+02
+-.13038000000000E+02
+-.11887000000000E+02
+-.10736000000000E+02
+-.95859000000000E+01
+-.84365000000000E+01
+-.72877000000000E+01
+-.61396000000000E+01
+-.49949000000000E+01
+-.38604000000000E+01
+-.27466000000000E+01
+-.16545000000000E+01
+-.16703000000000E+02
+-.15552000000000E+02
+-.14401000000000E+02
+-.13250000000000E+02
+-.12098000000000E+02
+-.10947000000000E+02
+-.97966000000000E+01
+-.86467000000000E+01
+-.74974000000000E+01
+-.63485000000000E+01
+-.52021000000000E+01
+-.40637000000000E+01
+-.29420000000000E+01
+-.18399000000000E+01
+-.16868000000000E+02
+-.15717000000000E+02
+-.14566000000000E+02
+-.13415000000000E+02
+-.12264000000000E+02
+-.11113000000000E+02
+-.99619000000000E+01
+-.88118000000000E+01
+-.76619000000000E+01
+-.65123000000000E+01
+-.53647000000000E+01
+-.42233000000000E+01
+-.30953000000000E+01
+-.19848000000000E+01
+-.17069000000000E+02
+-.15918000000000E+02
+-.14767000000000E+02
+-.13615000000000E+02
+-.12464000000000E+02
+-.11313000000000E+02
+-.10162000000000E+02
+-.90115000000000E+01
+-.78612000000000E+01
+-.67113000000000E+01
+-.55627000000000E+01
+-.44189000000000E+01
+-.32861000000000E+01
+-.21685000000000E+01
+-.21734000000000E+01
+-.21733000000000E+01
+-.21730000000000E+01
+-.21725000000000E+01
+-.21717000000000E+01
+-.21710000000000E+01
+-.21705000000000E+01
+-.21706000000000E+01
+-.21702000000000E+01
+-.21556000000000E+01
+-.20944000000000E+01
+-.19657000000000E+01
+-.16416000000000E+01
+-.96063000000000E+00
+-.21747000000000E+01
+-.21738000000000E+01
+-.21735000000000E+01
+-.21730000000000E+01
+-.21723000000000E+01
+-.21714000000000E+01
+-.21707000000000E+01
+-.21705000000000E+01
+-.21696000000000E+01
+-.21573000000000E+01
+-.21049000000000E+01
+-.19707000000000E+01
+-.16422000000000E+01
+-.96136000000000E+00
+-.22126000000000E+01
+-.21879000000000E+01
+-.21784000000000E+01
+-.21750000000000E+01
+-.21735000000000E+01
+-.21722000000000E+01
+-.21712000000000E+01
+-.21705000000000E+01
+-.21691000000000E+01
+-.21586000000000E+01
+-.21138000000000E+01
+-.19946000000000E+01
+-.16553000000000E+01
+-.96199000000000E+00
+-.24797000000000E+01
+-.23309000000000E+01
+-.22441000000000E+01
+-.22014000000000E+01
+-.21838000000000E+01
+-.21767000000000E+01
+-.21733000000000E+01
+-.21713000000000E+01
+-.21691000000000E+01
+-.21598000000000E+01
+-.21215000000000E+01
+-.20146000000000E+01
+-.17038000000000E+01
+-.97986000000000E+00
+-.32283000000000E+01
+-.28135000000000E+01
+-.25364000000000E+01
+-.23604000000000E+01
+-.22593000000000E+01
+-.22093000000000E+01
+-.21873000000000E+01
+-.21772000000000E+01
+-.21712000000000E+01
+-.21615000000000E+01
+-.21284000000000E+01
+-.20317000000000E+01
+-.17444000000000E+01
+-.10531000000000E+01
+-.46963000000000E+01
+-.38558000000000E+01
+-.32279000000000E+01
+-.27968000000000E+01
+-.25166000000000E+01
+-.23464000000000E+01
+-.22528000000000E+01
+-.22056000000000E+01
+-.21823000000000E+01
+-.21662000000000E+01
+-.21351000000000E+01
+-.20469000000000E+01
+-.17785000000000E+01
+-.11155000000000E+01
+-.64738000000000E+01
+-.53999000000000E+01
+-.44282000000000E+01
+-.36354000000000E+01
+-.30599000000000E+01
+-.26772000000000E+01
+-.24384000000000E+01
+-.22985000000000E+01
+-.22224000000000E+01
+-.21814000000000E+01
+-.21443000000000E+01
+-.20613000000000E+01
+-.18074000000000E+01
+-.11682000000000E+01
+-.80684000000000E+01
+-.69430000000000E+01
+-.58473000000000E+01
+-.48225000000000E+01
+-.39402000000000E+01
+-.32653000000000E+01
+-.28018000000000E+01
+-.25042000000000E+01
+-.23238000000000E+01
+-.22234000000000E+01
+-.21615000000000E+01
+-.20762000000000E+01
+-.18327000000000E+01
+-.12126000000000E+01
+-.94172000000000E+01
+-.82800000000000E+01
+-.71538000000000E+01
+-.60530000000000E+01
+-.50117000000000E+01
+-.40937000000000E+01
+-.33691000000000E+01
+-.28553000000000E+01
+-.25182000000000E+01
+-.23148000000000E+01
+-.21975000000000E+01
+-.20947000000000E+01
+-.18559000000000E+01
+-.12500000000000E+01
+-.10554000000000E+02
+-.94131000000000E+01
+-.82776000000000E+01
+-.71534000000000E+01
+-.60552000000000E+01
+-.50154000000000E+01
+-.40939000000000E+01
+-.33552000000000E+01
+-.28220000000000E+01
+-.24742000000000E+01
+-.22657000000000E+01
+-.21216000000000E+01
+-.18786000000000E+01
+-.12820000000000E+01
+-.11518000000000E+02
+-.10375000000000E+02
+-.92346000000000E+01
+-.81013000000000E+01
+-.69814000000000E+01
+-.58910000000000E+01
+-.48645000000000E+01
+-.39583000000000E+01
+-.32303000000000E+01
+-.27103000000000E+01
+-.23776000000000E+01
+-.21640000000000E+01
+-.19028000000000E+01
+-.13101000000000E+01
+-.12338000000000E+02
+-.11194000000000E+02
+-.10051000000000E+02
+-.89131000000000E+01
+-.77830000000000E+01
+-.66699000000000E+01
+-.55933000000000E+01
+-.45890000000000E+01
+-.37101000000000E+01
+-.30182000000000E+01
+-.25389000000000E+01
+-.22287000000000E+01
+-.19307000000000E+01
+-.13362000000000E+01
+-.13040000000000E+02
+-.11895000000000E+02
+-.10750000000000E+02
+-.96091000000000E+01
+-.84731000000000E+01
+-.73483000000000E+01
+-.62465000000000E+01
+-.51893000000000E+01
+-.42128000000000E+01
+-.33778000000000E+01
+-.27474000000000E+01
+-.23229000000000E+01
+-.19673000000000E+01
+-.13619000000000E+01
+-.13642000000000E+02
+-.12496000000000E+02
+-.11351000000000E+02
+-.10208000000000E+02
+-.90676000000000E+01
+-.79358000000000E+01
+-.68198000000000E+01
+-.57338000000000E+01
+-.46985000000000E+01
+-.37602000000000E+01
+-.29954000000000E+01
+-.24640000000000E+01
+-.20596000000000E+01
+-.14120000000000E+01
+-.14164000000000E+02
+-.13018000000000E+02
+-.11872000000000E+02
+-.10727000000000E+02
+-.95840000000000E+01
+-.84473000000000E+01
+-.73231000000000E+01
+-.62209000000000E+01
+-.51527000000000E+01
+-.41508000000000E+01
+-.32876000000000E+01
+-.26383000000000E+01
+-.21622000000000E+01
+-.15357000000000E+01
+-.14646000000000E+02
+-.13500000000000E+02
+-.12353000000000E+02
+-.11207000000000E+02
+-.10062000000000E+02
+-.89224000000000E+01
+-.77926000000000E+01
+-.66799000000000E+01
+-.55905000000000E+01
+-.45442000000000E+01
+-.36005000000000E+01
+-.28442000000000E+01
+-.22828000000000E+01
+-.16550000000000E+01
+-.15086000000000E+02
+-.13939000000000E+02
+-.12792000000000E+02
+-.11645000000000E+02
+-.10499000000000E+02
+-.93567000000000E+01
+-.82231000000000E+01
+-.71034000000000E+01
+-.60001000000000E+01
+-.49250000000000E+01
+-.39240000000000E+01
+-.30779000000000E+01
+-.24269000000000E+01
+-.17762000000000E+01
+-.15494000000000E+02
+-.14348000000000E+02
+-.13200000000000E+02
+-.12052000000000E+02
+-.10905000000000E+02
+-.97612000000000E+01
+-.86248000000000E+01
+-.75000000000000E+01
+-.63872000000000E+01
+-.52928000000000E+01
+-.42517000000000E+01
+-.33345000000000E+01
+-.25979000000000E+01
+-.19071000000000E+01
+-.15824000000000E+02
+-.14677000000000E+02
+-.13529000000000E+02
+-.12380000000000E+02
+-.11232000000000E+02
+-.10086000000000E+02
+-.89468000000000E+01
+-.78170000000000E+01
+-.66959000000000E+01
+-.55863000000000E+01
+-.45140000000000E+01
+-.35356000000000E+01
+-.27064000000000E+01
+-.19364000000000E+01
+-.16131000000000E+02
+-.14983000000000E+02
+-.13835000000000E+02
+-.12686000000000E+02
+-.11537000000000E+02
+-.10390000000000E+02
+-.92480000000000E+01
+-.81143000000000E+01
+-.69867000000000E+01
+-.58663000000000E+01
+-.47723000000000E+01
+-.37493000000000E+01
+-.28466000000000E+01
+-.20084000000000E+01
+-.16427000000000E+02
+-.15280000000000E+02
+-.14130000000000E+02
+-.12980000000000E+02
+-.11831000000000E+02
+-.10683000000000E+02
+-.95398000000000E+01
+-.84023000000000E+01
+-.72699000000000E+01
+-.61420000000000E+01
+-.50328000000000E+01
+-.39775000000000E+01
+-.30188000000000E+01
+-.21240000000000E+01
+-.16713000000000E+02
+-.15565000000000E+02
+-.14416000000000E+02
+-.13265000000000E+02
+-.12115000000000E+02
+-.10967000000000E+02
+-.98218000000000E+01
+-.86816000000000E+01
+-.75450000000000E+01
+-.64114000000000E+01
+-.52915000000000E+01
+-.42128000000000E+01
+-.32113000000000E+01
+-.22708000000000E+01
+-.16996000000000E+02
+-.15847000000000E+02
+-.14697000000000E+02
+-.13547000000000E+02
+-.12396000000000E+02
+-.11247000000000E+02
+-.10101000000000E+02
+-.89580000000000E+01
+-.78181000000000E+01
+-.66802000000000E+01
+-.55526000000000E+01
+-.44569000000000E+01
+-.34237000000000E+01
+-.24485000000000E+01
+-.17301000000000E+02
+-.16152000000000E+02
+-.15002000000000E+02
+-.13851000000000E+02
+-.12700000000000E+02
+-.11551000000000E+02
+-.10403000000000E+02
+-.92585000000000E+01
+-.81162000000000E+01
+-.69752000000000E+01
+-.58422000000000E+01
+-.47345000000000E+01
+-.36790000000000E+01
+-.26800000000000E+01
+-.17634000000000E+02
+-.16484000000000E+02
+-.15333000000000E+02
+-.14183000000000E+02
+-.13032000000000E+02
+-.11882000000000E+02
+-.10733000000000E+02
+-.95874000000000E+01
+-.84431000000000E+01
+-.72998000000000E+01
+-.61633000000000E+01
+-.50485000000000E+01
+-.39792000000000E+01
+-.29666000000000E+01
+-.18039000000000E+02
+-.16888000000000E+02
+-.15738000000000E+02
+-.14587000000000E+02
+-.13436000000000E+02
+-.12286000000000E+02
+-.11137000000000E+02
+-.99897000000000E+01
+-.88437000000000E+01
+-.76990000000000E+01
+-.65594000000000E+01
+-.54376000000000E+01
+-.43549000000000E+01
+-.33275000000000E+01
+-.18420000000000E+02
+-.17312000000000E+02
+-.16161000000000E+02
+-.15010000000000E+02
+-.13859000000000E+02
+-.12708000000000E+02
+-.11559000000000E+02
+-.10411000000000E+02
+-.92637000000000E+01
+-.81174000000000E+01
+-.69755000000000E+01
+-.58479000000000E+01
+-.47534000000000E+01
+-.37108000000000E+01
+-.18420000000000E+02
+-.17737000000000E+02
+-.16586000000000E+02
+-.15435000000000E+02
+-.14284000000000E+02
+-.13134000000000E+02
+-.11984000000000E+02
+-.10835000000000E+02
+-.96868000000000E+01
+-.85396000000000E+01
+-.73955000000000E+01
+-.62629000000000E+01
+-.51573000000000E+01
+-.40979000000000E+01
+-.18420000000000E+02
+-.18114000000000E+02
+-.16963000000000E+02
+-.15812000000000E+02
+-.14661000000000E+02
+-.13510000000000E+02
+-.12360000000000E+02
+-.11211000000000E+02
+-.10062000000000E+02
+-.89136000000000E+01
+-.77679000000000E+01
+-.66311000000000E+01
+-.55159000000000E+01
+-.44395000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17280000000000E+02
+-.16128000000000E+02
+-.14978000000000E+02
+-.13827000000000E+02
+-.12676000000000E+02
+-.11526000000000E+02
+-.10377000000000E+02
+-.92275000000000E+01
+-.80806000000000E+01
+-.69403000000000E+01
+-.58168000000000E+01
+-.47252000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17563000000000E+02
+-.16412000000000E+02
+-.15261000000000E+02
+-.14110000000000E+02
+-.12959000000000E+02
+-.11809000000000E+02
+-.10659000000000E+02
+-.95093000000000E+01
+-.83611000000000E+01
+-.72180000000000E+01
+-.60879000000000E+01
+-.49830000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17756000000000E+02
+-.16605000000000E+02
+-.15454000000000E+02
+-.14303000000000E+02
+-.13152000000000E+02
+-.12001000000000E+02
+-.10851000000000E+02
+-.97009000000000E+01
+-.85518000000000E+01
+-.74069000000000E+01
+-.62716000000000E+01
+-.51569000000000E+01
+-.66409000000000E+01
+-.66407000000000E+01
+-.66405000000000E+01
+-.66399000000000E+01
+-.66392000000000E+01
+-.66383000000000E+01
+-.66378000000000E+01
+-.66375000000000E+01
+-.66349000000000E+01
+-.66046000000000E+01
+-.64922000000000E+01
+-.62672000000000E+01
+-.57913000000000E+01
+-.49860000000000E+01
+-.66421000000000E+01
+-.66412000000000E+01
+-.66409000000000E+01
+-.66404000000000E+01
+-.66396000000000E+01
+-.66388000000000E+01
+-.66378000000000E+01
+-.66371000000000E+01
+-.66338000000000E+01
+-.66074000000000E+01
+-.65083000000000E+01
+-.62742000000000E+01
+-.57920000000000E+01
+-.49868000000000E+01
+-.66791000000000E+01
+-.66549000000000E+01
+-.66456000000000E+01
+-.66423000000000E+01
+-.66407000000000E+01
+-.66395000000000E+01
+-.66382000000000E+01
+-.66367000000000E+01
+-.66328000000000E+01
+-.66094000000000E+01
+-.65221000000000E+01
+-.63075000000000E+01
+-.58076000000000E+01
+-.49874000000000E+01
+-.69412000000000E+01
+-.67947000000000E+01
+-.67098000000000E+01
+-.66681000000000E+01
+-.66509000000000E+01
+-.66438000000000E+01
+-.66401000000000E+01
+-.66373000000000E+01
+-.66323000000000E+01
+-.66110000000000E+01
+-.65339000000000E+01
+-.63356000000000E+01
+-.58657000000000E+01
+-.50062000000000E+01
+-.76826000000000E+01
+-.72709000000000E+01
+-.69969000000000E+01
+-.68237000000000E+01
+-.67245000000000E+01
+-.66755000000000E+01
+-.66537000000000E+01
+-.66429000000000E+01
+-.66342000000000E+01
+-.66132000000000E+01
+-.65444000000000E+01
+-.63599000000000E+01
+-.59148000000000E+01
+-.50835000000000E+01
+-.91465000000000E+01
+-.83074000000000E+01
+-.76821000000000E+01
+-.72542000000000E+01
+-.69773000000000E+01
+-.68096000000000E+01
+-.67175000000000E+01
+-.66705000000000E+01
+-.66447000000000E+01
+-.66182000000000E+01
+-.65543000000000E+01
+-.63816000000000E+01
+-.59564000000000E+01
+-.51495000000000E+01
+-.10923000000000E+02
+-.98494000000000E+01
+-.88787000000000E+01
+-.80876000000000E+01
+-.75149000000000E+01
+-.71354000000000E+01
+-.68993000000000E+01
+-.67607000000000E+01
+-.66831000000000E+01
+-.66332000000000E+01
+-.65659000000000E+01
+-.64019000000000E+01
+-.59921000000000E+01
+-.52056000000000E+01
+-.12517000000000E+02
+-.11392000000000E+02
+-.10296000000000E+02
+-.92720000000000E+01
+-.83906000000000E+01
+-.77181000000000E+01
+-.72573000000000E+01
+-.69619000000000E+01
+-.67811000000000E+01
+-.66733000000000E+01
+-.65842000000000E+01
+-.64220000000000E+01
+-.60233000000000E+01
+-.52528000000000E+01
+-.13864000000000E+02
+-.12727000000000E+02
+-.11601000000000E+02
+-.10500000000000E+02
+-.94590000000000E+01
+-.85420000000000E+01
+-.78188000000000E+01
+-.73068000000000E+01
+-.69696000000000E+01
+-.67600000000000E+01
+-.66187000000000E+01
+-.64442000000000E+01
+-.60519000000000E+01
+-.52928000000000E+01
+-.14998000000000E+02
+-.13856000000000E+02
+-.12720000000000E+02
+-.11596000000000E+02
+-.10498000000000E+02
+-.94583000000000E+01
+-.85371000000000E+01
+-.77988000000000E+01
+-.72648000000000E+01
+-.69110000000000E+01
+-.66812000000000E+01
+-.64719000000000E+01
+-.60795000000000E+01
+-.53271000000000E+01
+-.15953000000000E+02
+-.14810000000000E+02
+-.13670000000000E+02
+-.12536000000000E+02
+-.11416000000000E+02
+-.10325000000000E+02
+-.92983000000000E+01
+-.83911000000000E+01
+-.76613000000000E+01
+-.71345000000000E+01
+-.67821000000000E+01
+-.65103000000000E+01
+-.61072000000000E+01
+-.53573000000000E+01
+-.16760000000000E+02
+-.15616000000000E+02
+-.14473000000000E+02
+-.13335000000000E+02
+-.12204000000000E+02
+-.11091000000000E+02
+-.10013000000000E+02
+-.90066000000000E+01
+-.81243000000000E+01
+-.74248000000000E+01
+-.69266000000000E+01
+-.65646000000000E+01
+-.61361000000000E+01
+-.53853000000000E+01
+-.17442000000000E+02
+-.16297000000000E+02
+-.15153000000000E+02
+-.14011000000000E+02
+-.12874000000000E+02
+-.11748000000000E+02
+-.10645000000000E+02
+-.95854000000000E+01
+-.86045000000000E+01
+-.77610000000000E+01
+-.71122000000000E+01
+-.66427000000000E+01
+-.61702000000000E+01
+-.54125000000000E+01
+-.18018000000000E+02
+-.16872000000000E+02
+-.15726000000000E+02
+-.14582000000000E+02
+-.13441000000000E+02
+-.12308000000000E+02
+-.11190000000000E+02
+-.10101000000000E+02
+-.90608000000000E+01
+-.81138000000000E+01
+-.73322000000000E+01
+-.67682000000000E+01
+-.62661000000000E+01
+-.54652000000000E+01
+-.18420000000000E+02
+-.17360000000000E+02
+-.16213000000000E+02
+-.15067000000000E+02
+-.13924000000000E+02
+-.12786000000000E+02
+-.11660000000000E+02
+-.10555000000000E+02
+-.94819000000000E+01
+-.84734000000000E+01
+-.75986000000000E+01
+-.69216000000000E+01
+-.63644000000000E+01
+-.55953000000000E+01
+-.18420000000000E+02
+-.17812000000000E+02
+-.16665000000000E+02
+-.15518000000000E+02
+-.14373000000000E+02
+-.13232000000000E+02
+-.12100000000000E+02
+-.10984000000000E+02
+-.98896000000000E+01
+-.88369000000000E+01
+-.78823000000000E+01
+-.71016000000000E+01
+-.64717000000000E+01
+-.57157000000000E+01
+-.18420000000000E+02
+-.18217000000000E+02
+-.17070000000000E+02
+-.15922000000000E+02
+-.14775000000000E+02
+-.13632000000000E+02
+-.12496000000000E+02
+-.11373000000000E+02
+-.10264000000000E+02
+-.91829000000000E+01
+-.81714000000000E+01
+-.73029000000000E+01
+-.65929000000000E+01
+-.58292000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17435000000000E+02
+-.16286000000000E+02
+-.15139000000000E+02
+-.13994000000000E+02
+-.12855000000000E+02
+-.11727000000000E+02
+-.10609000000000E+02
+-.95081000000000E+01
+-.84570000000000E+01
+-.75187000000000E+01
+-.67297000000000E+01
+-.59402000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.17768000000000E+02
+-.16619000000000E+02
+-.15470000000000E+02
+-.14324000000000E+02
+-.13183000000000E+02
+-.12051000000000E+02
+-.10926000000000E+02
+-.98125000000000E+01
+-.87339000000000E+01
+-.77422000000000E+01
+-.68816000000000E+01
+-.60531000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18074000000000E+02
+-.16924000000000E+02
+-.15775000000000E+02
+-.14628000000000E+02
+-.13486000000000E+02
+-.12350000000000E+02
+-.11220000000000E+02
+-.10097000000000E+02
+-.89995000000000E+01
+-.79679000000000E+01
+-.70460000000000E+01
+-.61724000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18357000000000E+02
+-.17208000000000E+02
+-.16058000000000E+02
+-.14910000000000E+02
+-.13766000000000E+02
+-.12628000000000E+02
+-.11494000000000E+02
+-.10365000000000E+02
+-.92534000000000E+01
+-.81921000000000E+01
+-.72202000000000E+01
+-.63004000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17473000000000E+02
+-.16323000000000E+02
+-.15175000000000E+02
+-.14029000000000E+02
+-.12889000000000E+02
+-.11752000000000E+02
+-.10618000000000E+02
+-.94963000000000E+01
+-.84133000000000E+01
+-.74012000000000E+01
+-.64385000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17721000000000E+02
+-.16571000000000E+02
+-.15422000000000E+02
+-.14275000000000E+02
+-.13133000000000E+02
+-.11994000000000E+02
+-.10856000000000E+02
+-.97273000000000E+01
+-.86277000000000E+01
+-.75842000000000E+01
+-.65834000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17816000000000E+02
+-.16666000000000E+02
+-.15516000000000E+02
+-.14368000000000E+02
+-.13224000000000E+02
+-.12081000000000E+02
+-.10939000000000E+02
+-.98030000000000E+01
+-.86877000000000E+01
+-.76117000000000E+01
+-.65675000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17938000000000E+02
+-.16788000000000E+02
+-.15638000000000E+02
+-.14489000000000E+02
+-.13343000000000E+02
+-.12198000000000E+02
+-.11053000000000E+02
+-.99138000000000E+01
+-.87896000000000E+01
+-.76953000000000E+01
+-.66259000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18140000000000E+02
+-.16989000000000E+02
+-.15839000000000E+02
+-.14689000000000E+02
+-.13542000000000E+02
+-.12396000000000E+02
+-.11250000000000E+02
+-.10107000000000E+02
+-.89758000000000E+01
+-.78673000000000E+01
+-.67781000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18333000000000E+02
+-.17182000000000E+02
+-.16031000000000E+02
+-.14882000000000E+02
+-.13734000000000E+02
+-.12586000000000E+02
+-.11439000000000E+02
+-.10294000000000E+02
+-.91572000000000E+01
+-.80376000000000E+01
+-.69325000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17376000000000E+02
+-.16226000000000E+02
+-.15076000000000E+02
+-.13927000000000E+02
+-.12779000000000E+02
+-.11630000000000E+02
+-.10483000000000E+02
+-.93430000000000E+01
+-.82148000000000E+01
+-.70979000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17601000000000E+02
+-.16450000000000E+02
+-.15300000000000E+02
+-.14150000000000E+02
+-.13001000000000E+02
+-.11852000000000E+02
+-.10704000000000E+02
+-.95610000000000E+01
+-.84270000000000E+01
+-.73011000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.17819000000000E+02
+-.16668000000000E+02
+-.15518000000000E+02
+-.14368000000000E+02
+-.13218000000000E+02
+-.12068000000000E+02
+-.10919000000000E+02
+-.97739000000000E+01
+-.86353000000000E+01
+-.75027000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18054000000000E+02
+-.16902000000000E+02
+-.15752000000000E+02
+-.14602000000000E+02
+-.13451000000000E+02
+-.12301000000000E+02
+-.11152000000000E+02
+-.10005000000000E+02
+-.88625000000000E+01
+-.77251000000000E+01
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18420000000000E+02
+-.18292000000000E+02
+-.17141000000000E+02
+-.15990000000000E+02
+-.14839000000000E+02
+-.13689000000000E+02
+-.12538000000000E+02
+-.11388000000000E+02
+-.10240000000000E+02
+-.90955000000000E+01
+-.79542000000000E+01
+0.44296000000000E+01
+0.54792000000000E+01
+0.64447000000000E+01
+0.72579000000000E+01
+0.78667000000000E+01
+0.83457000000000E+01
+0.86248000000000E+01
+0.88271000000000E+01
+0.91875000000000E+01
+0.99858000000000E+01
+0.10309000000000E+02
+0.10431000000000E+02
+0.10640000000000E+02
+0.10871000000000E+02
+0.29192000000000E+01
+0.39877000000000E+01
+0.50403000000000E+01
+0.59996000000000E+01
+0.68003000000000E+01
+0.74020000000000E+01
+0.78754000000000E+01
+0.81770000000000E+01
+0.86106000000000E+01
+0.95017000000000E+01
+0.98684000000000E+01
+0.99060000000000E+01
+0.10102000000000E+02
+0.10334000000000E+02
+0.18216000000000E+01
+0.27825000000000E+01
+0.38126000000000E+01
+0.48513000000000E+01
+0.57836000000000E+01
+0.65449000000000E+01
+0.71638000000000E+01
+0.76356000000000E+01
+0.81570000000000E+01
+0.91929000000000E+01
+0.96023000000000E+01
+0.94731000000000E+01
+0.96016000000000E+01
+0.98281000000000E+01
+0.15783000000000E+01
+0.23133000000000E+01
+0.31593000000000E+01
+0.40112000000000E+01
+0.49740000000000E+01
+0.58424000000000E+01
+0.65807000000000E+01
+0.71412000000000E+01
+0.78745000000000E+01
+0.90688000000000E+01
+0.95142000000000E+01
+0.91907000000000E+01
+0.91677000000000E+01
+0.93782000000000E+01
+0.16574000000000E+01
+0.23942000000000E+01
+0.29955000000000E+01
+0.38893000000000E+01
+0.46888000000000E+01
+0.54315000000000E+01
+0.61902000000000E+01
+0.68795000000000E+01
+0.77788000000000E+01
+0.90942000000000E+01
+0.95464000000000E+01
+0.91116000000000E+01
+0.88379000000000E+01
+0.90542000000000E+01
+0.13214000000000E+01
+0.23381000000000E+01
+0.30731000000000E+01
+0.39249000000000E+01
+0.48605000000000E+01
+0.55649000000000E+01
+0.62635000000000E+01
+0.68440000000000E+01
+0.75754000000000E+01
+0.91782000000000E+01
+0.95740000000000E+01
+0.91658000000000E+01
+0.86499000000000E+01
+0.88652000000000E+01
+0.90909000000000E+00
+0.18863000000000E+01
+0.28491000000000E+01
+0.39501000000000E+01
+0.49271000000000E+01
+0.59379000000000E+01
+0.65656000000000E+01
+0.74424000000000E+01
+0.83555000000000E+01
+0.91843000000000E+01
+0.94521000000000E+01
+0.91826000000000E+01
+0.85869000000000E+01
+0.87727000000000E+01
+0.65654000000000E+00
+0.16205000000000E+01
+0.26555000000000E+01
+0.36830000000000E+01
+0.48905000000000E+01
+0.59871000000000E+01
+0.69490000000000E+01
+0.77946000000000E+01
+0.84626000000000E+01
+0.89773000000000E+01
+0.91265000000000E+01
+0.90088000000000E+01
+0.85554000000000E+01
+0.86724000000000E+01
+0.34650000000000E+00
+0.13181000000000E+01
+0.23684000000000E+01
+0.34493000000000E+01
+0.47307000000000E+01
+0.56836000000000E+01
+0.67245000000000E+01
+0.76230000000000E+01
+0.81775000000000E+01
+0.85146000000000E+01
+0.86470000000000E+01
+0.86367000000000E+01
+0.84045000000000E+01
+0.84651000000000E+01
+-.39153000000000E+00
+0.60622000000000E+00
+0.16630000000000E+01
+0.27568000000000E+01
+0.39540000000000E+01
+0.49980000000000E+01
+0.60277000000000E+01
+0.68435000000000E+01
+0.74437000000000E+01
+0.78376000000000E+01
+0.80549000000000E+01
+0.81321000000000E+01
+0.80876000000000E+01
+0.81726000000000E+01
+-.13570000000000E+01
+-.41464000000000E+00
+0.56497000000000E+00
+0.16006000000000E+01
+0.26742000000000E+01
+0.37745000000000E+01
+0.48197000000000E+01
+0.57299000000000E+01
+0.64856000000000E+01
+0.70165000000000E+01
+0.73464000000000E+01
+0.75194000000000E+01
+0.76106000000000E+01
+0.77957000000000E+01
+-.23037000000000E+01
+-.14079000000000E+01
+-.52541000000000E+00
+0.39786000000000E+00
+0.13867000000000E+01
+0.24313000000000E+01
+0.34811000000000E+01
+0.44755000000000E+01
+0.53564000000000E+01
+0.60497000000000E+01
+0.65242000000000E+01
+0.68080000000000E+01
+0.70007000000000E+01
+0.73054000000000E+01
+-.32109000000000E+01
+-.23174000000000E+01
+-.14846000000000E+01
+-.65561000000000E+00
+0.22025000000000E+00
+0.11661000000000E+01
+0.21667000000000E+01
+0.31771000000000E+01
+0.41356000000000E+01
+0.49635000000000E+01
+0.55876000000000E+01
+0.59943000000000E+01
+0.62802000000000E+01
+0.66953000000000E+01
+-.41066000000000E+01
+-.31883000000000E+01
+-.23574000000000E+01
+-.15734000000000E+01
+-.78542000000000E+00
+0.48141000000000E-01
+0.94878000000000E+00
+0.19079000000000E+01
+0.28818000000000E+01
+0.37936000000000E+01
+0.45463000000000E+01
+0.50686000000000E+01
+0.54343000000000E+01
+0.59512000000000E+01
+-.50143000000000E+01
+-.40637000000000E+01
+-.32064000000000E+01
+-.24233000000000E+01
+-.16764000000000E+01
+-.92194000000000E+00
+-.12206000000000E+00
+0.74765000000000E+00
+0.16785000000000E+01
+0.26142000000000E+01
+0.34515000000000E+01
+0.40900000000000E+01
+0.45463000000000E+01
+0.51001000000000E+01
+-.59491000000000E+01
+-.49684000000000E+01
+-.40736000000000E+01
+-.32617000000000E+01
+-.25117000000000E+01
+-.17868000000000E+01
+-.10476000000000E+01
+-.25657000000000E+00
+0.60606000000000E+00
+0.15194000000000E+01
+0.24011000000000E+01
+0.31349000000000E+01
+0.36865000000000E+01
+0.42825000000000E+01
+-.68936000000000E+01
+-.58856000000000E+01
+-.49530000000000E+01
+-.40981000000000E+01
+-.33157000000000E+01
+-.25790000000000E+01
+-.18537000000000E+01
+-.11031000000000E+01
+-.29706000000000E+00
+0.57172000000000E+00
+0.14572000000000E+01
+0.22558000000000E+01
+0.28964000000000E+01
+0.35422000000000E+01
+-.78195000000000E+01
+-.67875000000000E+01
+-.58208000000000E+01
+-.49216000000000E+01
+-.40930000000000E+01
+-.33198000000000E+01
+-.25746000000000E+01
+-.18275000000000E+01
+-.10492000000000E+01
+-.21985000000000E+00
+0.64716000000000E+00
+0.14789000000000E+01
+0.21943000000000E+01
+0.28938000000000E+01
+-.87007000000000E+01
+-.76481000000000E+01
+-.66514000000000E+01
+-.57122000000000E+01
+-.48356000000000E+01
+-.40155000000000E+01
+-.32327000000000E+01
+-.24640000000000E+01
+-.16861000000000E+01
+-.87750000000000E+00
+-.32822000000000E-01
+0.80801000000000E+00
+0.15760000000000E+01
+0.23256000000000E+01
+-.95142000000000E+01
+-.84436000000000E+01
+-.74205000000000E+01
+-.64469000000000E+01
+-.55265000000000E+01
+-.46595000000000E+01
+-.38338000000000E+01
+-.30319000000000E+01
+-.22371000000000E+01
+-.14321000000000E+01
+-.60460000000000E+00
+0.22961000000000E+00
+0.10246000000000E+01
+0.18102000000000E+01
+-.10253000000000E+02
+-.91672000000000E+01
+-.81211000000000E+01
+-.71184000000000E+01
+-.61606000000000E+01
+-.52513000000000E+01
+-.43844000000000E+01
+-.35464000000000E+01
+-.27261000000000E+01
+-.19130000000000E+01
+-.10958000000000E+01
+-.27660000000000E+00
+0.52206000000000E+00
+0.13250000000000E+01
+-.10911000000000E+02
+-.98152000000000E+01
+-.87527000000000E+01
+-.77285000000000E+01
+-.67421000000000E+01
+-.57971000000000E+01
+-.48927000000000E+01
+-.40198000000000E+01
+-.31710000000000E+01
+-.23427000000000E+01
+-.15293000000000E+01
+-.72682000000000E+00
+0.61313000000000E-01
+0.86533000000000E+00
+-.11498000000000E+02
+-.10393000000000E+02
+-.93184000000000E+01
+-.82773000000000E+01
+-.72699000000000E+01
+-.62968000000000E+01
+-.53606000000000E+01
+-.44570000000000E+01
+-.35818000000000E+01
+-.27358000000000E+01
+-.19197000000000E+01
+-.11292000000000E+01
+-.35542000000000E+00
+0.43845000000000E+00
+-.12042000000000E+02
+-.10930000000000E+02
+-.98435000000000E+01
+-.87876000000000E+01
+-.77622000000000E+01
+-.67657000000000E+01
+-.58024000000000E+01
+-.48711000000000E+01
+-.39706000000000E+01
+-.31049000000000E+01
+-.22805000000000E+01
+-.14962000000000E+01
+-.73874000000000E+00
+0.31096000000000E-01
+-.12556000000000E+02
+-.11437000000000E+02
+-.10340000000000E+02
+-.92708000000000E+01
+-.82297000000000E+01
+-.72141000000000E+01
+-.62275000000000E+01
+-.52722000000000E+01
+-.43491000000000E+01
+-.34655000000000E+01
+-.26320000000000E+01
+-.18521000000000E+01
+-.11143000000000E+01
+-.38470000000000E+00
+-.13072000000000E+02
+-.11948000000000E+02
+-.10842000000000E+02
+-.97610000000000E+01
+-.87073000000000E+01
+-.76769000000000E+01
+-.66727000000000E+01
+-.56987000000000E+01
+-.47566000000000E+01
+-.38560000000000E+01
+-.30130000000000E+01
+-.22374000000000E+01
+-.15241000000000E+01
+-.84840000000000E+00
+-.13605000000000E+02
+-.12476000000000E+02
+-.11363000000000E+02
+-.10271000000000E+02
+-.92058000000000E+01
+-.81650000000000E+01
+-.71484000000000E+01
+-.61597000000000E+01
+-.52007000000000E+01
+-.42834000000000E+01
+-.34307000000000E+01
+-.26603000000000E+01
+-.19742000000000E+01
+-.13552000000000E+01
+-.14182000000000E+02
+-.13050000000000E+02
+-.11929000000000E+02
+-.10828000000000E+02
+-.97517000000000E+01
+-.87007000000000E+01
+-.76743000000000E+01
+-.66737000000000E+01
+-.57008000000000E+01
+-.47679000000000E+01
+-.39024000000000E+01
+-.31315000000000E+01
+-.24651000000000E+01
+-.18899000000000E+01
+-.14821000000000E+02
+-.13685000000000E+02
+-.12559000000000E+02
+-.11449000000000E+02
+-.10362000000000E+02
+-.93005000000000E+01
+-.82637000000000E+01
+-.72517000000000E+01
+-.62657000000000E+01
+-.53175000000000E+01
+-.44349000000000E+01
+-.36534000000000E+01
+-.29925000000000E+01
+-.24404000000000E+01
+-.15504000000000E+02
+-.14365000000000E+02
+-.13234000000000E+02
+-.12117000000000E+02
+-.11020000000000E+02
+-.99473000000000E+01
+-.88999000000000E+01
+-.78782000000000E+01
+-.68826000000000E+01
+-.59215000000000E+01
+-.50215000000000E+01
+-.42212000000000E+01
+-.35489000000000E+01
+-.29966000000000E+01
+-.16216000000000E+02
+-.15075000000000E+02
+-.13941000000000E+02
+-.12817000000000E+02
+-.11711000000000E+02
+-.10627000000000E+02
+-.95691000000000E+01
+-.85366000000000E+01
+-.75315000000000E+01
+-.65583000000000E+01
+-.56398000000000E+01
+-.48149000000000E+01
+-.41179000000000E+01
+-.35492000000000E+01
+-.16932000000000E+02
+-.15789000000000E+02
+-.14652000000000E+02
+-.13524000000000E+02
+-.12412000000000E+02
+-.11321000000000E+02
+-.10253000000000E+02
+-.92100000000000E+01
+-.81941000000000E+01
+-.72085000000000E+01
+-.62710000000000E+01
+-.54197000000000E+01
+-.46914000000000E+01
+-.40923000000000E+01

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/params.inc
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/params.inc?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/params.inc (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/params.inc Fri Nov 21 00:17:30 2008
@@ -0,0 +1,12 @@
+c This is 'params.inc'
+c
+		implicit double precision (a-h,o-z)
+		integer nzmax, nrzmax, nmrmax, negrps, negp1, nsvmax, maxruns
+		PARAMETER (nzmax  = 10000)
+		PARAMETER (nrzmax =  100)
+		PARAMETER (nmrmax =   50)
+		PARAMETER (negrps =   12)
+		PARAMETER (negp1  = negrps+1)
+		PARAMETER (nsvmax =  100)
+		PARAMETER (maxruns = 64001)
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/plnkut.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/plnkut.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/plnkut.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/plnkut.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,102 @@
+      
+c     
+      function plnkut(u1,u2)
+c***********************************************************************
+c     function plnkut - evaluates the fraction of energy emitted in     *
+c     region ir and group ig based on the plankian    *
+c     integral.                                       *
+c***********************************************************************
+c     ******************************************************************
+c     * plnkut(u1,u2) =                                                *
+c     *    15.*pi**(-4)*integral(u**3/(exp(u)-1.),  u1 .lt. u .lt. u2) *
+c     *                                                                *
+c     *   plnkut(0,z) = sum (ck*z**k  ,  k=3,4,5,...)  near z = 0      *
+c     *                                                                *
+c     *   f(i) = plnkut(0,xm + h*i)                                    *
+c     ******************************************************************
+      
+      implicit double precision (a-h,o-z)
+      
+      dimension f(59)
+      data f  /.144005d0,.177286d0,.212769d0,.249946d0,.288322d0,
+     x .327420d0,.366798d0,
+     1     .406054d0,.444830d0,.482815d0,.519747d0,.555410d0,.589629d0,
+     x     .622277d0,.653255d0,
+     2     .682506d0,.709999d0,.735729d0,.759714d0,.781988d0,.802601d0,
+     x     .821615d0,.839099d0,
+     3     .855130d0,.869788d0,.883155d0,.895317d0,.906355d0,.916351d0,
+     x     .925385d0,.933533d0,
+     4     .940868d0,.947460d0,.953372d0,.958668d0,.963403d0,.967630d0,
+     x     .971399d0,.974754d0,
+     5     .977738d0,.980387d0,.982737d0,.984818d0,.986660d0,.988288d0,
+     x     .989726d0,.990994d0,
+     6     .992111d0,.993095d0,.993961d0,.994721d0,.995389d0,.995975d0,
+     x     .996489d0,.996939d0,
+     7     .997333d0,.997677d0,.997978d0,.998242d0/
+      
+      data c3,c4,c5,c7,c9/
+     1     .51329911d-1,.19248717d-1,.25664956d-2, .30553519d-4,
+     x     .5658059d-6/
+      data xmin,xmax,q,xm,h/1.9d0,12.0d0,.15398973d0,1.62d0,.18d0/
+      
+c     ------------------------------------------------------------------
+      
+      if (u1 .le. xmax) then
+c     *****************************************
+c     * two passes will be made through loop. *
+c     * first pass (iq=1) will set up for the *
+c     * upper limit. the second pass (iq=2)   *
+c     * will set up for the lower limit.      *
+c     *****************************************
+         iq = 1
+         z  = u2
+         
+ 87      if ( iq .ge. 3 ) go to 88
+         
+         if (z .gt. xmax) then
+c     *****************************************
+c     * use asymptotic formula for z.ge.xmax  *
+c     *****************************************
+            plkint = 1.-q*exp(-z)*((z+3.)*z+6.)*z
+            
+         else if (z .gt. xmin) then
+c     *****************************************
+c     * quadratic interpolation for           *
+c     *         xmin .lt. z .lt. xmax         *
+c     *****************************************
+            d      = (z-xm)/h
+            i      = d
+            d      = d-dble(i)
+            dm     = d -1.d0
+            dn     = dm-1.d0
+            plkint = (f(i)*dm*dn+f(i+2)*d*dm)*.5d0-f(i+1)*dn*d
+            
+         else
+c     *****************************************
+c     * use power series for  z .le. xmin     *
+c     *****************************************
+            
+            plkint = ((((c9*(z*z)-c7)*(z*z)+c5)*z-c4)*z+c3)*z*(z*z)
+         endif
+         
+         if (iq .eq. 1) then
+            z      = u1
+            plnkut = plkint
+         endif
+         
+         iq = iq+1
+         go to 87
+         
+ 88      continue
+         plnkut = plnkut - plkint
+         
+      else
+         zu = u2
+         zl = u1
+         fstlog = log(zl*(6.+zl*(3.+zl)))
+         sndlog = log(zu*(6.+zu*(3.+zu)))
+         plnkut = q * (exp(fstlog-zl) - exp(sndlog-zu))
+      endif
+      
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,72 @@
+c==============================================================================
+c     
+c     R A N D O M   N U M B E R   G E N E R A T O R
+c     
+c==============================================================================
+
+      subroutine pranf( Seed, RandNum )
+
+c------------------------------------------------------------------------------
+c     
+c     This is the one of the two user-callable routines of a linear congruential
+c     random number generator, modeled after the RANF generator for the Cray.
+c     This routine generates the next random number in the sequence and a new seed
+c     for the remainder of the sequence.  The seed and the random number are the
+c     same, but are returned in different form: the random number is a fortran
+c     'real', but the seed is an array of four words, each containing an integer
+c     that is used internally to the generator as one digit of a four-digit,
+c     modulo-4096 integer.
+c     
+c     It returns the new random number and a new seed.
+c     
+c------------------------------------------------------------------------------
+
+      include 'pranf.inc'
+
+      integer Seed( IRandNumSize )
+
+      real*8 RandNum
+
+c******************************************************************************
+c**** Data common to the PRanf package.
+      integer Multiplier( IRandNumSize ), DefaultSeed( IRandNumSize )
+      real*8 Divisor( IRandNumSize )
+
+      common / PRanfCom / Multiplier, DefaultSeed, Divisor 
+
+
+c**** End of PRanf common data
+c******************************************************************************
+
+c------------------------------------------------------------------------------
+
+c     write( *, 10 )
+ 10   format( ' Ranf', /, '-----' )
+
+      RandNum = float( Seed( 4 ) ) / Divisor( 4 ) +
+     1     float( Seed( 3 ) ) / Divisor( 3 ) +
+     2     float( Seed( 2 ) ) / Divisor( 2 ) +
+     3     float( Seed( 1 ) ) / Divisor( 1 ) 
+
+      CALL ranfmodmult( Multiplier, Seed, Seed )
+
+c     write( *, 20 )
+ 20   format( '  leaving Ranf' )
+
+      return
+      end
+
+      BLOCK DATA PINIT
+
+      include 'pranf.inc'
+      integer Multiplier( IRandNumSize ), DefaultSeed( IRandNumSize )
+      real*8 Divisor( IRandNumSize )
+
+      common / PRanfCom / Multiplier, DefaultSeed, Divisor 
+
+      data Multiplier / 373, 3707, 1442, 647 /
+      data DefaultSeed / 3281, 4041, 595, 2376 / 
+      data Divisor / 281474976710656.0, 68719476736.0, 16777216.0, 
+     &                  4096.0 /
+
+      END

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.inc
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.inc?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.inc (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/pranf.inc Fri Nov 21 00:17:30 2008
@@ -0,0 +1,7 @@
+c This is 'pranf.inc'
+c
+      parameter ( IRandNumSize = 4,
+     .            IBinarySize = 48,
+     .            Mod4096DigitSize = 12,
+     .            MaxStreams       = 64001)
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/randseed.inc
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/randseed.inc?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/randseed.inc (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/randseed.inc Fri Nov 21 00:17:30 2008
@@ -0,0 +1,20 @@
+c This is 'randseed.inc'
+c
+      include 'pranf.inc'
+
+      integer*4 seedarray 
+      integer*4 NStreams
+c      integer*4 mySeed(IrandNumSize)
+
+c      scatter, shared
+      dimension
+     .   seedarray(IrandNumSize,MaxStreams)
+
+c      common, shared    /seedcom/ 
+      common  /seedcom/ 
+     .   NStreams
+ 
+c      common, private   /pseedcom/
+      common  /pseedcom/
+     .   seedarray
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranf.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranf.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranf.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranf.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,11 @@
+
+      double precision function ranf( mySeed )
+      include 'params.inc'
+      include 'randseed.inc'
+      INTEGER mySeed(IRandNumSize)
+      real*8  randnum
+      CALL pranf(mySeed,randnum)
+      ranf = randnum
+c      ng_rncount(myStream) = ng_rncount(myStream) + 1
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfatok.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfatok.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfatok.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfatok.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,49 @@
+c     end Rans
+
+c==============================================================================
+
+      subroutine ranfatok( a, Kbinary, atothek )
+
+c------------------------------------------------------------------------------
+c     
+c     This routine calculates a to the Kth power, mod 2**48. K is a binary number.
+c     
+c     It returns the calculated value as an array of four modulo-4096 digits.
+c     
+c------------------------------------------------------------------------------
+
+      include 'pranf.inc'
+
+      integer a, KBinary, atothek, asubi
+
+      dimension a( IRandNumSize ),
+     1     KBinary( IBinarySize ),
+     2     atothek( IRandNumSize ),
+     3     asubi( IRandNumSize )
+
+c...MJC mod...this was missing
+      INTEGER IZero
+      PARAMETER( IZero = 0 )
+
+c------------------------------------------------------------------------------
+
+c**** The following amounts to the first iteration of a 46-loop.
+      asubi( 1 ) = a( 1 )
+      asubi( 2 ) = a( 2 )
+      asubi( 3 ) = a( 3 )
+      asubi( 4 ) = a( 4 )
+
+      atothek( 1 ) = 1
+      atothek( 2 ) = IZero
+      atothek( 3 ) = IZero
+      atothek( 4 ) = IZero
+
+      do 100 I = 1, 45
+         if( KBinary( I ) .ne. IZero ) then
+            CALL ranfmodmult( atothek, asubi, atothek )
+         endif
+         CALL ranfmodmult( asubi, asubi, asubi )
+ 100  continue
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfk.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfk.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfk.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfk.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,43 @@
+c     end iranfeven
+
+c==============================================================================
+
+      subroutine ranfk( N, K )
+
+c------------------------------------------------------------------------------
+c     
+c     This routine calculates 2**46/N, which should be the period of each of the
+c     subsequences of random numbers that are being created. Both the numerator
+c     and the result of this calculation are represented as an array of four
+c     integers, each of which is one digit of a four-digit moduo-4096 number.  The
+c     numerator is represented as (1024, 0, 0, 0 ), using base ten digits.
+c     
+c     It returns the result of the division.
+c     
+c------------------------------------------------------------------------------
+
+      include 'pranf.inc'
+
+      integer N, K, nn, r4, r3, r2, r1, q4, q3, q2, q1
+
+      dimension K( IRandNumSize )
+
+c------------------------------------------------------------------------------
+
+      nn = N + iranfeven( N )
+
+      q4 = 1024 / nn
+      r4 = 1024 - (nn * q4)
+      q3 = (r4 * 4096) / nn
+      r3 = (r4 * 4096) - (nn * q3)
+      q2 = (r3 * 4096) / nn
+      r2 = (r3 * 4096) - (nn * q2)
+      q1 = (r2 * 4096) / nn
+
+      K( 1 ) = q1
+      K( 2 ) = q2
+      K( 3 ) = q3
+      K( 4 ) = q4
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfkbinary.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfkbinary.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfkbinary.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfkbinary.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,42 @@
+c     end ranfk
+
+c==============================================================================
+
+      subroutine ranfkbinary( K, KBinary )
+
+c------------------------------------------------------------------------------
+c     
+c     This routine calculates the binary expansion of the argument K, which is a
+c     48-bit integer represented as an array of four 12-bit integers.
+c     
+c     It returns an array of 48 binary values.
+c     
+c------------------------------------------------------------------------------
+
+      include 'pranf.inc'
+
+      integer K, KBinary, X, Bits
+
+      dimension K( IRandNumSize ),
+     1     KBinary( IBinarySize ),
+     2     Bits( Mod4096DigitSize )
+
+c------------------------------------------------------------------------------
+
+      do 300 I = 1, 4
+         X = K( I ) / 2
+         Bits( 1 ) = iranfodd( K( I ) )
+
+         do 100 J = 2, Mod4096DigitSize 
+            Bits( J ) = iranfodd( X )
+            X = X / 2
+ 100     continue
+
+         do 200 J = 1, Mod4096DigitSize
+            KBinary( (I-1)*Mod4096DigitSize + J ) = Bits( J )
+ 200     continue
+
+ 300  continue
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfmodmult.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfmodmult.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfmodmult.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/ranfmodmult.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,61 @@
+c     end ranfkbinary
+
+c==============================================================================
+
+      subroutine ranfmodmult( A, B, C )
+
+c------------------------------------------------------------------------------
+c     
+c     Ths routine calculates the product of the first two arguments.  All three
+c     arguments are represented as arrays of 12-bit integers, each making up
+c     the digits of one radix-4096 number.  The multiplication is done 
+c     piecemeal.
+c     
+c     It returns the product in the third argument.
+c     
+c------------------------------------------------------------------------------
+
+      include 'pranf.inc'
+
+      integer A, B, C, j1, j2, j3, j4, k1, k2, k3, k4
+      integer a1,a2,a3,b1,b2,b3
+
+      dimension A( IRandNumSize ),
+     1     B( IRandNumSize ),
+     2     C( IRandNumSize )
+
+c------------------------------------------------------------------------------
+
+c     write( *, 10 )
+ 10   format( ' ranfmodmult', /, '------------' )
+
+c     j1 = A( 1 ) * B( 1 )
+c     j2 = A( 1 ) * B( 2 ) + A( 2 ) * B( 1 )
+c     j3 = A( 1 ) * B( 3 ) + A( 2 ) * B( 2 ) + A( 3 ) * B( 1 )
+c     j4= A( 1 ) * B( 4 ) + A( 2 ) * B( 3 ) + A( 3 ) * B( 2 ) + A( 4 ) * B( 1 )
+      a1 = A(1)
+      a2 = A(2)
+      a3 = A(3)
+      b1 = B(1)
+      b2 = B(2)
+      b3 = B(3)
+      j1 = a1 * b1
+      j2 = a1 * b2 + a2 * b1
+      j3 = a1 * b3 + a2 * b2 + a3 * b1
+      j4 = a1 * B( 4 ) + a2 * b3 + a3 * b2 + A( 4 ) * b1
+
+      k1 = j1
+      k2 = j2 + k1 / 4096
+      k3 = j3 + k2 / 4096
+      k4 = j4 + k3 / 4096
+
+      C( 1 ) = mod( k1, 4096 )
+      C( 2 ) = mod( k2, 4096 )
+      C( 3 ) = mod( k3, 4096 )
+      C( 4 ) = mod( k4, 4096 )
+
+c     write( *, 20 )
+ 20   format( '  leaving ranfmodmult' )
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rans.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rans.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rans.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rans.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,133 @@
+c     end PRanf
+
+c==============================================================================
+
+      subroutine Rans( NIn, Seed1, SeedArray )
+
+c------------------------------------------------------------------------------
+c     
+c     This routine divides the sequence of random numbers into N subsequences,
+c     each with its own seed.  The seeds for the independent subsequences are
+c     returned in the seed array.  if Seed1 is zero, all zeroes will be returned.
+c     To prevent this, Seed1 is set to [3281, 4041, 595, 2376], which is 
+c     statistically the best starting seed.  The wheel is then divided into the
+c     N pieces (where N is odd and >= NIn) by dividing its period (2**46) by N.
+c     
+c     Then, seed(i) = seed(i-1) * (a**k mod 2**48), and 1<=k<=N.
+c     
+c     Here, 'a' is the multiplier used by the linear congruential generator whose
+c     wheel we are dividing up.
+c     
+c     The number of streams must be odd; if NIn is even N will be NIn+1, and
+c     n extra stream of random numbers will be available that will not get used.
+c     
+c     It returns an array of seeds, each an array of 4 integers that are used as
+c     the digits of a four-digit modulo-4096 integer.
+c     
+c------------------------------------------------------------------------------
+
+      include 'pranf.inc'
+
+      integer NIn, Seed1, DefaultValues, SeedArray, N, atothek, K, 
+     1     KBinary, InSeed, OutSeed
+
+c******************************************************************************
+c**** Data common to the PRanf package.
+      integer Multiplier, DefaultSeed
+
+      real*8 Divisor
+
+      dimension Multiplier( IRandNumSize ), DefaultSeed( IRandNumSize ),
+     1     Divisor( IRandNumSize )
+
+      common / PRanfCom / Multiplier, DefaultSeed, Divisor 
+c**** End of PRanf common data
+c******************************************************************************
+
+      dimension DefaultValues( IRandNumSize ),
+     1     SeedArray( IRandNumSize, MaxStreams ),
+     2     atothek( IRandNumSize ),
+     3     K( IRandNumSize ),
+     4     KBinary( IBinarySize ),
+     5     InSeed( IRandNumSize ),
+     6     OutSeed( IRandNumSize )
+
+      INTEGER NisOdd
+
+c     scatter, shared SeedArray
+
+c------------------------------------------------------------------------------
+
+
+c     write( *, 10 ) NIn, Seed1
+ 10   format( ' Rans: NIn = ', i6, '  Seed1 = ', i6, /,
+     1     '------' )
+
+      IZero = 0
+
+c**** Make sure we are generating an odd number of random number sequences.
+      if( NisOdd( NIn ) .eq. 1 ) then
+         N = NIN
+      else
+         N = NIn + 1
+      endif
+
+c**** Set up the initial seed to either a legal input value or its default
+c**** values. The input integer, if nonzero, is used for the first of the
+c**** four modulo-4096 digits of the actual initial seed.
+
+c**** The First element of the returned SeedArray will be used here, since
+c**** at least one seed will be returned, and the first seed of the set 
+c**** returned will be the seed for the entire wheel.
+      if( Seed1 .eq. IZero ) then
+         SeedArray( 1, 1 ) = DefaultSeed( 1 )
+         SeedArray( 2, 1 ) = DefaultSeed( 2 )
+         SeedArray( 3, 1 ) = DefaultSeed( 3 )
+         SeedArray( 4, 1 ) = DefaultSeed( 4 )
+      else
+         SeedArray( 1, 1 ) = abs( Seed1 )
+         SeedArray( 2, 1 ) = IZero
+         SeedArray( 3, 1 ) = IZero
+         SeedArray( 4, 1 ) = IZero
+      endif
+
+c**** 'a' is the multiplier for the Ranf linear congruential generator.
+      if( N .eq. 1 ) then
+c*******If only one stream of random numbers is needed, do not bother to 
+c*******raise 'a' to the first power.
+         atothek( 1 ) = Multiplier( 1 )
+         atothek( 2 ) = Multiplier( 2 )
+         atothek( 3 ) = Multiplier( 3 )
+         atothek( 4 ) = Multiplier( 4 )
+      else
+c*******more than one stream is needed; generate the Kth seed by multiplying
+c*******the K-1st seed by the multiplier raised to the Nth power.
+         CALL ranfk( N, K )
+         CALL ranfkbinary( K, KBinary )
+         CALL ranfatok( Multiplier, KBinary, atothek )
+         do 100 I = 2, N
+            InSeed( 1 ) = SeedArray( 1, I-1 )
+            InSeed( 2 ) = SeedArray( 2, I-1 )
+            InSeed( 3 ) = SeedArray( 3, I-1 )
+            InSeed( 4 ) = SeedArray( 4, I-1 )
+            CALL ranfmodmult( InSeed, atothek, OutSeed )
+            SeedArray( 1, I ) = OutSeed( 1 )
+            SeedArray( 2, I ) = OutSeed( 2 )
+            SeedArray( 3, I ) = OutSeed( 3 )
+            SeedArray( 4, I ) = OutSeed( 4 )
+ 100     continue
+      endif
+
+c     write( *, 110 )
+ 110  format( '   leaving Rans' )
+
+      return
+      end
+
+
+c MJC mod to remove statement function
+      INTEGER FUNCTION NISODD( M )
+c****  check for argument numbers being odd.
+      NIsOdd = mod( m, 2 )
+      RETURN
+      END

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdinput.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdinput.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdinput.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdinput.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,212 @@
+
+
+      subroutine rdinput( NRuns )
+C----------------------------------------------------------------------
+C  The input deck is read by MPI task=0 as a derived datatype.  It
+C  is then sent to all other MPI tasks.  This replaces the original 
+C  routine, which redirected stdin to every task, for portability
+C  reasons.  BMB 4/12/2001
+C----------------------------------------------------------------------
+      include 'params.inc'
+      include 'geomz.inc'
+      include 'globals.inc'
+      include 'mpif.h'
+
+      character*24 dt
+      character*127 mach
+      INTEGER MPIid, ierr, InputFileType, basetypes(2), offsets(2),
+     +        blockcounts(2), extent, numMPItasks,
+     +        stat(MPI_STATUS_SIZE),
+     +        Nruns, matb1, mate1, matb2, mate2, i, filler20
+
+C.....Define the structure InputFile and declare a variable of that
+C.....type. These will be used to create an MPI derived data type
+C.....so that the input file can be sent to each task from task=0.
+C.....Note that the i20 variable exists only for data alignment and
+C.....is not used elsewhere.
+      TYPE InputFile
+      SEQUENCE
+      INTEGER i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,
+     +        i14,i15,i16,i17,i18,i19,i20 
+      DOUBLE PRECISION d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,
+     +        d12,d13,d14
+      END TYPE InputFile
+
+      TYPE (InputFile) Infile
+
+      INTEGER nout
+
+      parameter (nout=10)
+
+
+      OPEN (4, FILE="input.dat")
+
+c        open(nout,FILE='out_setup.txt',STATUS='UNKNOWN',
+c     |            ACCESS='SEQUENTIAL',FORM='FORMATTED')
+
+
+        read(4,*) Nruns
+
+        read  (4,100) title
+ 100    format(20a4)
+c        write (nout,200) title
+ 200    format(////1x,20a4)
+c        write(nout,13)
+ 13     format(/1x,'     SPHOT')
+
+        read  (4,626) ilib, illib
+ 626    format(2i10)
+c        write (nout,627) ilib, illib
+ 627    format(/
+     |     /'ilib ', 8x,i2,3x,'library (0=binary, 1=formatted)',
+     |     /        18x,      'for ixopec=2, put ilib=1'
+     |     /'illib', 8x,i2,3x,'0=use old bin.lib,1=form new bin.lib')
+
+        read  (4,101) npart, igroup, ixopec, isorst, irr, ithom, icross
+ 101    format(7i10)
+c        write (nout,201) npart, igroup, ixopec, isorst,
+c     |  irr, ithom, icross
+ 201    format(
+     |  /'npart ',i9,3x,'# of particles (different if plankian used)'
+     |  /'igroup',i9,3x,'energy bins (0=12, 1-12=1, 13=ross.mean)'
+     |  /'ixopec',i9,3x,'opacity (0=library, 1=input,2=data)'
+     |  /'isorst',i9,3x,'source (1=uniform in sphere, 2=plankian)'
+     |  /'irr   ',i9,3x,'r-roulette/split (0=none, 1=impt, 2=size)'
+     |  /'ithom ',i9,3x,'thomson scattering (0=not used, 1=used)'
+     |  /'icross',i9,3x,'print cross sections (0= no, 1= yes)')
+
+        read  (4,102) naxl, nradl, nreg
+ 102    format(3i10)
+c        write (nout,202) naxl, nradl, nreg
+ 202    format('naxl ',i10,3x,'number of axial meshes'
+     |  /'nradl',i10,3x,'number of radial meshes'
+     |  /'nreg ',i10,3x,'number of material regions')
+
+        read  (4,103) dtol, wcut, tcen, xmult
+ 103    format(4e10.2)
+c        write (nout,203) dtol, wcut, tcen, xmult
+ 203    format(
+     |  /'dtol =',2x,e10.3,3x,'tolerance to cell boundaries (cm)'
+     |  /'wcut =',2x,e10.3,3x,'low weight cutoff'
+     |  /'tcen =',2x,e10.3,3x,'time to census (sec)'
+     |  /'xmult=',2x,e10.3,3x,'weight mult. for russian roulette')
+
+        read  (4,103) axl, radl, opec, bwgt
+c        write (nout,204) axl, radl, opec, bwgt
+ 204    format(
+     |  /'axl  =',2x,e10.3,3x,'portion of sphere analyzed (degrees)'
+     |  /'radl =',2x,e10.3,3x,'sphere radius (cm)'
+     |  /'opec =',2x,e10.3,3x,'input opacity (1/cm)'
+     |  /'bwgt =',2x,e10.3,3x,'bundle weight (kev)')
+
+C.......For the purposes of the ASCI Purple Benchmark, it is mandatory
+C.......that nreg = 2.  This is hardcoded into the derived datatype
+C.......and replaces the code below which permits an arbitrary number
+C.......of regions.
+C       do 151 i = 1,nreg
+C         read (4,104) matb, mate
+C104      format(2i10)
+C         do 151 j = matb,mate
+C            ng_mid(j) = i
+C151      continue
+
+         nreg = 2
+         read (4,104) matb1, mate1
+         read (4,104) matb2, mate2
+ 104     format(2i10)
+         do 151 j = matb1, mate1
+           ng_mid(j) = 1
+ 151     continue
+         do 152 j = matb2, mate2
+           ng_mid(j) = 2
+ 152     continue
+
+         read (4,105) (mtl(i), atrat(i), dns(i), tmp(i), i=1,nreg)
+ 105     format(i10,3e10.3)
+c         write (nout,205)
+ 205     format(//' region',5x,'material',5x,'atomic ratio',5x,
+     |   'density(g/cc)',5x,'temperature(ev)'/)
+c         write (nout,206) (i,mtl(i), atrat(i), dns(i),
+c     |   tmp(i), i=1,nreg)
+ 206     format(i5,10x,i1,9x,e10.3,8x,e10.3,10x,e10.3)
+
+         read  (4,400) print_flag
+ 400     format(i10)
+c         write (nout,401) print_flag
+ 401     format(//'print_flag    ',i10)
+
+
+
+C........Be sure to close unit as it will be used in rdopac routine
+         CLOSE (4)
+
+C........Transfer data to derived data type variable
+         Infile = InputFile (Nruns, ilib, illib, npart, igroup,
+     +            ixopec, isorst, irr, ithom, icross, naxl,
+     +            nradl, nreg, matb1, mate1, matb2, mate2,
+     +            mtl(1), mtl(2), filler20,
+     +            dtol, wcut, tcen, xmult, axl, radl, opec, bwgt,
+     +            atrat(1), atrat(2), dns(1), dns(2), tmp(1),
+     +            tmp(2) )
+
+c         close(nout)
+
+        Nruns = Infile%i1
+        ilib = Infile%i2
+        illib = Infile%i3
+        npart = Infile%i4
+        igroup = Infile%i5
+        ixopec = Infile%i6
+        isorst = Infile%i7
+        irr = Infile%i8
+        ithom = Infile%i9
+        icross = Infile%i10
+        naxl = Infile%i11
+        nradl = Infile%i12
+        nreg = Infile%i13
+        matb1 = Infile%i14
+        mate1 = Infile%i15
+        matb2 = Infile%i16
+        mate2 = Infile%i17
+        mtl(1) = Infile%i18
+        mtl(2) = Infile%i19
+
+        dtol = Infile%d1
+        wcut = Infile%d2
+        tcen = Infile%d3
+        xmult = Infile%d4
+        axl = Infile%d5
+        radl = Infile%d6
+        opec = Infile%d7
+        bwgt = Infile%d8
+        atrat(1) = Infile%d9
+        atrat(2) = Infile%d10
+        dns(1)  = Infile%d11
+        dns(2) = Infile%d12
+        tmp(1) = Infile%d13
+        tmp(2) = Infile%d14
+
+        nreg = 2
+        do 351 j = matb1, mate1
+          ng_mid(j) = 1
+ 351    continue
+        do 352 j = matb2, mate2
+          ng_mid(j) = 2
+ 352    continue
+
+
+
+C.....ALL TASKS DO THIS
+C.....Read in LLNL library opacities.  The original IF condition
+C.....has been commented out for the purposes of the ASCI Purple
+C.....benchmark which MUST use the opacity library.
+C     if (ixopec .eq. 0) then
+C        CALL rdopac (ilib,illib)
+C     endif
+
+      ixopec = 0
+      CALL rdopac (ilib, illib)
+
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdopac.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdopac.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdopac.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/rdopac.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,141 @@
+      
+      subroutine rdopac (ilib,illib)
+c***********************************************************************
+c Read material opacities as a function of temperature and density
+c
+c Modified 3/15/01 bmb: For file system scalability, substituted
+c MPI_Bcast instead of having each task read the input file individually.
+c Also disabled read/write of binary opacity file for ASCI Purple
+c benchmark purposes. It is not portable.  Therefore, the ilib input
+c file parameter must be 1.  The illib parameter is ignored.
+c***********************************************************************
+      
+c     matl code   matl
+c     1             h
+c     2             sio2
+c     3             dt
+c     4             c
+
+      implicit double precision (a-h,o-z)
+      
+      include 'mpif.h'
+
+      DOUBLE PRECISION x(14,32,13,4), t(32,2), d(14)
+      integer ierr, myid
+
+      common /opactab/ x, t, d
+
+
+      CALL MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierr)
+
+      if (ilib .eq. 1) then
+
+c     TEXT read of the opacity file.
+c     Task 0 is only task to actually perform I/O.  It then
+c     broadcasts the input file via MPI_BCAST to all other tasks
+
+        if (myid .eq. 0) then
+          open (4, file='opac.txt')
+          do 701 l = 1,4
+            do 701 k = 1,13
+              do 701 j = 1,32
+                do 701 i = 1,14
+                  read (4,704) x(i,j,k,l)
+ 701      continue
+ 704      format (e20.4)
+          close (4)
+        endif
+
+        CALL MPI_BARRIER(MPI_COMM_WORLD, ierr)
+        CALL MPI_BCAST(x, 23296, MPI_DOUBLE_PRECISION, 0,
+     +     MPI_COMM_WORLD, ierr) 
+
+      endif
+
+
+      if (ilib .ne. 1) then
+
+        if (myid .eq. 0) then
+        print *, " "
+        print *, "ERROR: rdopac routine:" 
+        print *, "Read/write of binary opacity file feature is not"
+        print *, "enabled for ASCI Purple benchmark purposes. Please " 
+        print *, "check your input file and make sure that the ilib"
+        print *, "parameter = 1." 
+        print *, " "
+        endif
+
+        CALL MPI_FINALIZE(ierr)
+        stop
+
+      endif
+
+c
+c     if(illib .ne. 0 .and. ilib .ne. 1) then
+c--------------------do a BINARY write of the opacity file
+c           open (15, file=  'opac.bin',
+c    |           access='sequential',
+c    |           form=  'unformatted',
+c    |           status='new')
+c     write (15) x
+c           do 88804 l=1,4
+c              do 88804 k=1,13
+c                 write(15) 
+c    .                 ((x(i,j,k,l),i=1,14),j=1,32)
+c88804          continue
+c              close (15)
+c              stop
+c           endif
+c           
+c        else
+c--------------------do a BINARY read of the opacity file
+c           open (15, file=  'opac.bin',
+c    |           access='sequential',
+c    |           form=  'unformatted',
+c    |           status='old')
+c     read (15) x
+c           do 88805 l=1,4
+c              do 88805 k=1,13
+c                 read(15) 
+c    .                 ((x(i,j,k,l),i=1,14),j=1,32)
+c88805          continue
+c              close(15)
+c           endif
+            
+  
+      return
+      end
+
+
+      BLOCK DATA RDOINIT
+
+      implicit double precision (a-h,o-z)
+      
+      DOUBLE PRECISION x(14,32,13,4), t(32,2), d(14)
+      
+      common /opactab/ x, t, d
+      
+c     temperatures for tabulated opacities (64 total):
+c     first  set of 32 for material 1 or 3 (h or d),
+c     second set of 32 for material 2 or 4 (sio2 or c).
+      
+      data t / 79.d0,99.d0,125.d0,157.d0,198.d0,250.d0,315.d0,397.d0,
+     + 500.d0,630.d0,974.d0,
+     +     1000.d0,1260.d0,1587.d0,2000.d0,2520.d0,3175.d0,4000.d0,
+     +  5040.d0,6350.d0,8000.d0,
+     +     10079.d0,12699.d0,16000.d0,20159.d0,25398.d0,32000.d0,
+     + 40317.d0,50797.d0,64000.d0,
+     +     80635.d0,101594.d0,
+     +     20.d0,25.d0,31.d0,39.d0,50.d0,63.d0,79.d0,99.d0,125.d0,
+     + 157.d0,198.d0,250.d0,315.d0,397.d0,
+     +     500.d0,630.d0,974.d0,1000.d0,1260.d0,1587.d0,2000.d0,2520.d0,
+     + 3175.d0,4000.d0,5040.d0,
+     +     6350.d0,8000.d0,10079.d0,12699.d0,16000.d0,20159.d0,25398.d0/
+
+c     densities for tabulated opacities (14 total)
+      
+      data d / 3.162d-4,1.000d-3,3.162d-3,1.000d-2,3.162d-2,1.000d-1,
+     .     3.162d-1,1.000d+0,3.162d+0,1.000d+1,3.162d+1,1.000d+2,
+     .     3.162d+2,1.000d+3/
+            
+      END

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/second.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/second.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/second.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/second.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,11 @@
+
+      subroutine second(t)
+
+      include 'mpif.h'
+
+      real*8 t
+
+      t = MPI_WTIME()
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/seedranf.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/seedranf.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/seedranf.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/seedranf.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,11 @@
+
+
+      subroutine seedranf( numStreams )
+      include 'randseed.inc'
+      integer*4 numStreams
+      integer*4 tempNumStreams  !Because rans may change numStreams.
+      NStreams = numStreams
+      tempNumStreams = numStreams
+      CALL rans(tempNumStreams,0,seedarray)
+      return 
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/shared.inc
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/shared.inc?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/shared.inc (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/shared.inc Fri Nov 21 00:17:30 2008
@@ -0,0 +1,47 @@
+c This is 'shared.inc'
+c
+c      common, shared /g_samples/ 
+      common /g_samples/ 
+c     .   g_bwgt(maxruns), 
+c     .   g_wcut(maxruns), 
+c     .   g_wmin(maxruns),  
+c     .   g_wmax(maxruns),
+     .   g_etot(maxruns), 
+     .   g_epgain(maxruns),
+     .   g_wlost(maxruns), 
+     .   g_wesc(maxruns), 
+     .   g_wrr(maxruns), 
+     .   g_wabs(maxruns), 
+     .   g_wcen(maxruns),
+     .   g_enesc (maxruns,negrps),
+     .   ng_npart(maxruns), 
+     .   ng_nphtot(maxruns), 
+     .   ng_nploss(maxruns),
+     .   ng_nlost(maxruns), 
+     .   ng_nesc(maxruns), 
+     .   ng_nrr(maxruns), 
+     .   ng_nabs(maxruns), 
+     .   ng_ncen(maxruns),
+     .   ng_nscat(maxruns), 
+     .   ng_nsplt(maxruns), 
+     .   ng_ntrac(maxruns),
+     .   ng_nescgp(maxruns,negrps)
+
+c      common, shared /g_escprb/  g_ffesc(maxruns)
+      common /g_escprb/  g_ffesc(maxruns)
+
+c      common, shared /g_times/
+      common /g_times/
+     .   g_tstart(maxruns),
+     .   g_tstop(maxruns),
+     .   g_texec(maxruns),
+     .   g_overheadTime(maxruns),
+     .   g_firstRanf(maxruns),
+     .   g_lastRanf(maxruns)
+
+      integer*4 NRuns
+c      common, shared /NRunsCom/ NRuns
+      common  /NRunsCom/ NRuns
+
+
+ 

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,325 @@
+      program sphot
+c***********************************************************************
+c     sphot - scalar photon transport
+c
+c     this program is a scalar version of the vectorized monte carlo
+c     code vphot which is used to solve photon transport problems in
+c     spherical geometry.  this version INCLUDEs a plankian source,
+c     thomson scattering, russian roulette/splitting and time census.
+c     there are two options for russian roulette, one is based on photon
+c     weight (culling) and the other is based on cell importances.
+c***********************************************************************
+c     * * * *  sphot - I/O units * * * *
+c     
+c     4  = 'opac.txt' - ASCII formatted opacity library
+c          'input.dat'- Input File
+c     6  = sdtout
+c***********************************************************************
+
+ 
+      INCLUDE 'params.inc'
+      INCLUDE 'globals.inc'
+      INCLUDE 'shared.inc'
+      INCLUDE 'geomz.inc'
+      INCLUDE 'randseed.inc'
+      INCLUDE 'times.inc'
+      INCLUDE 'mpif.h'
+
+
+      INTEGER mySeed(IRandNumSize)
+      INTEGER*4 nescgp(negrps)
+      REAL*8 enesc(negrps)
+      REAL*8 wcut, wmin, wmax
+      REAL*8 wlost, wesc, wrr
+      REAL*8 wabs, wcen, epgain, etot
+      REAL*8 ranf
+      EXTERNAL ranf
+
+      REAL*8 enescSum(maxruns), t_enescSum, g_enescSum, avg_enescSum, tmp_wesc
+      REAL*8 del_diff, g_del_diff, std_dev, tmp_var
+
+
+      INTEGER*4 npart, nphtot, nploss
+      INTEGER*4 nlost, nesc, nrr, nabs, ncen
+      INTEGER*4 nscat, nsplt, ntrac
+
+      INTEGER runCount
+
+      REAL*8  ntracSum, g_ntracSum
+
+
+      INTEGER nout3
+      parameter (nout3=13)
+
+c.....Variables needed for MPI and OpenMP
+
+      LOGICAL srFlag
+      INTEGER OMP_GET_NUM_THREADS, OMP_GET_THREAD_NUM
+      EXTERNAL OMP_GET_NUM_THREADS, OMP_GET_THREAD_NUM
+      INTEGER ierr, numMPItasks, MPIid, thrID, numThreads, 
+     &        numThreadsSave, nRunsPerMPItask, offset,
+     &        statArray(MPI_STATUS_SIZE, maxMPItasks),
+     &        req(maxMPItasks),
+     &        ibuf(maxThreadsPerMPItask*11), 
+     &        jbuf(maxThreadsPerMPItask*11, maxMPItasks),
+     &        lescbuf(maxThreadsPerMPItask*negrps), 
+     &        nescbuf(maxThreadsPerMPItask*negrps, maxMPItasks)
+      REAL*8  t1, t2, t3, r1, 
+     &        loopbuf(maxThreadsPerMPItask*4, maxMPItasks),
+     &        rbuf(maxThreadsPerMPItask*7), 
+     &        sbuf(maxThreadsPerMPItask*7, maxMPItasks),
+     &        lenbuf(maxThreadsPerMPItask*negrps), 
+     &        enbuf(maxThreadsPerMPItask*negrps, maxMPItasks),
+     &        thrBuf(maxThreadsPerMPItask*4), 
+     &        fRanBuf(maxThreadsPerMPItask),
+     &        depArray(nzmax), depBuff(nzmax)
+
+c......
+
+      CALL MPI_INIT( ierr )
+      CALL MPI_COMM_RANK( MPI_COMM_WORLD, MPIid, ierr )
+      CALL MPI_COMM_SIZE( MPI_COMM_WORLD, numMPItasks, ierr )
+
+
+      ! CALL second(progBeginTime)
+      CALL allocdyn
+      ! CALL second(t1)
+      allocateTime = t1 - progBeginTime
+
+      CALL rdinput(NRuns)
+
+c.....If the number of runs < the number of MPI tasks, just quit
+      IF( nRuns .lt. numMPItasks ) THEN
+         IF( MPIid .eq. 0 ) THEN
+            PRINT *, "numMPItasks > nRuns, reset numMPItasks"
+            PRINT *, "exiting..."
+         END IF
+         goto 1001
+      END IF
+
+c.....If the number of runs > maxruns then quit
+      IF( nRuns .gt. maxruns ) THEN
+         IF( MPIid .eq. 0 ) THEN
+            PRINT *, "nRuns > maxruns.  Need to modify maxruns in
+     & params.inc file and recompile."
+            PRINT *, "exiting..."
+         END IF
+         goto 1001
+      END IF
+
+c.....Set the number of runs per MPI task
+      nRunsPerMPItask = nRuns/numMPItasks
+
+c.....If the number of MPI tasks > 1, then we need to send/receive,
+c.....otherwise, we don't
+c      IF( numMPItasks .gt. 1 ) THEN
+         srFlag = .TRUE.
+c      else
+c         srFlag = .FALSE.
+c      END IF
+
+c.... Zero out timing arays.....
+      DO 5 i = 1, nRuns
+         g_texec(i) = 0.0
+         g_overheadTime(i) = 0.0
+ 5    CONTINUE
+
+
+      ! CALL second(t2)
+      CALL seedranf(nRuns+1)
+      ! CALL second(seedGenTime)
+      seedGenTime = seedGenTime - t2
+
+      CALL genmesh
+      CALL genxsec
+      ! CALL second(tgen)
+      tgen = tgen - t1
+      ! CALL second(loopBeginTime)
+
+      CALL copyglob
+
+      nRunsSum  = 0
+c     n         = nRuns
+      ithRun = MPIid*nRunsPerMPItask 
+
+      DO i = 1, nzones
+         depArray(i) = 0.D0
+         depBuff(i)  = 0.D0
+      END do
+
+      runCount = 0
+
+      ntracSum = 0.0
+      t_enescSum = 0.0
+
+c......Begin the OpenMP parallel region.  Only variables required
+c......to be PRIVATE are explicitly scoped.  All other variables
+c......are assumed to be SHARED.
+
+!$OMP  PARALLEL  DEFAULT( SHARED )
+!$OMP+ PRIVATE( thrID, ithRun, myStream, nescgp,
+!$OMP+         enesc, wcut, wmin, wmax, wlost, wesc, wrr,
+!$OMP+         wabs, wcen, epgain, etot, npart, nphtot, nploss,
+!$OMP+         nlost, nesc, nrr, nabs, ncen, nscat, nsplt, ntrac, 
+!$OMP+         t1, t2, t3, r1, offset,
+!$OMP+         numThreads, nThrRuns,tmp_wesc )
+!$OMP+ FIRSTPRIVATE( mySeed )
+!$OMP+ REDUCTION(+:runCount)
+
+      thrID = OMP_GET_THREAD_NUM() + 1
+      numThreads = OMP_GET_NUM_THREADS()
+      nThrRuns = nRunsPerMPItask / numThreads
+      ithRun = MPIid*nRunsPerMPItask + thrID
+      myStream = -1
+
+      DO 1000 ict = 1, nThrRuns 
+
+         ! CALL second(t1)
+
+         CALL execute(ithRun, myStream, mySeed, nescgp, enesc, wcut, 
+     &        wmin, wmax, wlost, wesc, wrr, wabs, wcen, epgain, etot,
+     &        npart, nphtot, nploss, nlost, nesc, nrr, nabs, ncen,
+     &        nscat, nsplt, ntrac, fRanBuf(thrID), depArray )
+
+         g_firstRanf(ithRun) = fRanBuf(thrID)
+
+         ! CALL second (t2)
+
+         tmp_wesc = 0.0
+!  
+!        copy the following from wroutput.f
+
+         do 498 i=1,12
+             tmp_wesc = tmp_wesc + enesc (i)
+ 498     continue
+         enescSum(ithRun) = tmp_wesc/dble(nphtot)
+
+
+!$OMP    critical
+
+           ntracSum = ntracSum + ntrac
+           t_enescSum = t_enescSum + enescSum(ithRun)
+
+!$OMP    end critical
+
+        if (print_flag .gt. 0) then
+
+         CALL copypriv(ithRun, srFlag, nescgp, enesc, wcut, 
+     &        wmin, wmax, wlost, wesc, wrr, wabs, wcen, epgain, etot,
+     &        npart, nphtot, nploss, nlost, nesc, nrr, nabs, ncen,
+     &        nscat, nsplt, ntrac, 
+     &        g_etot, g_epgain, g_wlost, g_wesc, g_wrr, g_wabs, 
+     &        g_wcen, g_enesc, ng_npart, ng_nphtot, ng_nploss,
+     &        ng_nlost, ng_nesc, ng_nrr, ng_nabs, ng_ncen, ng_nscat,
+     &        ng_nsplt, ng_ntrac, ng_nescgp, ibuf, jbuf, rbuf, sbuf,
+     &        lescbuf, nescbuf, lenbuf, enbuf )
+
+
+        endif
+
+         ! CALL second(t3)
+
+         r1 = ranf(mySeed)
+
+         ithRun = ithRun + numThreads
+         runCount = runCount + 1
+
+ 1000 CONTINUE
+
+c.....Need to save the number of threads before exiting parallel
+c.....region - the numThreads variable is private and will be undefined
+c.....after END PARALLEL.  Needed to calculate efficiency in writeout routine.
+!$OMP MASTER
+      IF ( MPIid .EQ. 0 ) numThreadsSave = numThreads
+!$OMP END MASTER
+
+!$OMP END PARALLEL
+
+c.....Believe it or not, this next assignment is needed to work around
+c.....an SGI compiler bug.  Shouldn't need it, but we do.
+      numThreads = numThreadsSave
+
+
+      
+c       IF( numMPItasks .GT. 1 ) THEN
+c
+c         CALL MPI_REDUCE( depArray, depBuff, nzones, 
+c     &        MPI_DOUBLE_PRECISION, MPI_SUM, 0, MPI_COMM_WORLD, ierr )
+c          
+c
+c         CALL MPI_REDUCE( runCount, nRunsSum, 1, MPI_INTEGER,
+c     &        MPI_SUM, 0, MPI_COMM_WORLD, ierr )
+c       ELSE
+         nRunsSum = runCount
+c       END IF
+
+c       IF( (numMPItasks .GT. 1) .AND. (srFlag .EQV. .TRUE.) ) THEN
+c         CALL MPI_BARRIER( MPI_COMM_WORLD, ierr )
+c       END IF
+
+       ! CALL second(loopEndTime)
+
+
+       IF( MPIid .eq. 0 ) CALL writeout(numMPItasks, numThreads)
+
+c
+c
+c
+c       CALL MPI_REDUCE(ntracSum, g_ntracSum , 1, MPI_DOUBLE_PRECISION,
+c     &        MPI_SUM, 0, MPI_COMM_WORLD, ierr )
+
+
+       g_enescSum = 0.0
+       g_enescSum = t_enescSum
+c       CALL MPI_ALLREDUCE(t_enescSum, g_enescSum , 1, 
+c     &        MPI_DOUBLE_PRECISION, MPI_SUM, MPI_COMM_WORLD, ierr )
+
+
+       avg_enescSum = g_enescSum/nRuns
+c
+c      calculate out the std. dev
+c
+
+       ithRun = MPIid* nRunsPerMPItask
+    
+       del_diff = 0.0
+       DO 50 i = 1, nRunsPerMPItask 
+         tmp_var = abs(g_enescSum/nRuns - enescSum(i+ithRun))
+         del_diff = del_diff + tmp_var*tmp_var
+ 50    CONTINUE
+
+
+c       CALL MPI_REDUCE(del_diff, g_del_diff , 1, MPI_DOUBLE_PRECISION,
+c     &        MPI_SUM, 0, MPI_COMM_WORLD, ierr )
+
+       IF( MPIid .eq. 0 ) THEN  
+         std_dev = sqrt(del_diff/nRuns)
+
+c         open(nout3,FILE='out_answers.txt',STATUS='UNKNOWN',
+c     |        ACCESS='SEQUENTIAL',FORM='FORMATTED')
+
+
+         write(6,605) 
+ 605     format(//,'Sequoia Benchmark Version 1.0 / SERIAL VERSION') 
+    
+         write(6,602) ntracSum
+ 602     format(//,'Total tracks. = ', f20.2)
+
+         write(6,603) avg_enescSum
+ 603     format(//,'avg. esc. prob.       = ', f20.6)
+
+         write(6,604) std_dev
+ 604     format(//,'std dev               = ', f20.6)
+
+c         close(nout3)
+
+       END IF  
+
+
+
+ 1001 CONTINUE
+
+      CALL MPI_FINALIZE( ierr )
+
+      STOP
+      END

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_read_v0.9.1.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_read_v0.9.1.txt?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_read_v0.9.1.txt (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_read_v0.9.1.txt Fri Nov 21 00:17:30 2008
@@ -0,0 +1,468 @@
+
+  SPhot - Monte Carlo Transport Code
+
+*Privacy & Legal Notice* <http://www.llnl.gov/disclaimer.html>
+------------------------------------------------------------------------
+
+
+    Contents
+
+    * Code Description 
+    * Files in this Distribution 
+    * Building the Code 
+    * Running the Code 
+    * Timing Issues 
+    * Expected Results  
+
+------------------------------------------------------------------------
+
+
+    Code Description
+
+
+      A. General Description
+
+SPhot is a 2D photon transport code. Photons are born in hot matter and
+tracked through a spherical domain that is cylindrically symmetric on a
+logically rectilinear, 2D mesh. Many application codes at LLNL implement
+some form of this basic algorithm. The version implemented here exploits
+both MPI and OpenMP parallelism. The code is written in Fortran77.
+
+Monte Carlo transport solves the Boltzmann transport equation by
+directly mimicking the behavior of photons as they are born in hot
+matter, move through and scatter in different materials, are absorbed or
+escape from the problem domain.
+
+The logically rectilinear, 2D mesh in which particles are tracked, is
+internally generated. The mesh is small enough that a complete copy of
+the mesh will not only fit on each node in a parallel machine, but also
+fit into cache memory in most modern CPUs. Thus, this benchmark does not
+stress memory access.
+
+Particles are born with an energy and direction that are determined by
+using random numbers to sample from appropriate distributions. Likewise,
+scattering and absorption are also modeled by randomly sampling cross
+sections. The random number generator used is implemented in the code
+using integer arithmetic in a way that makes the resulting pseudo-random
+number sequence portably reproducible across different machines.
+
+The use of random numbers makes the code's output (edit variables)
+"noisy." This noise is a direct result of the discrete nature of the
+simulation. The level of the noise can be reduced by increasing the
+number of particles that are used in the simulation. Unfortunately, the
+level of noise in the answer decreases only very slowly with increasing
+computational effort. The noise is inversely proportional to the square
+root of the number of particles. If the noise is to be reduced to 1% of
+the value in a given simulation, it is necessary to run 10,000 times as
+many particles. Thus, high-quality (low-noise) simulations can become
+very computationally expensive. Parallelism is an obvious way to
+increase the number of particles.
+
+
+      B. Coding
+
+With the exception of a single routine (rdinput.f) that includes
+Fortran90 derived type usage, SPhot is coded entirely in Fortran77.
+Parallelism is implemented through the use of both MPI and OpenMP
+libraries.
+
+
+      C. Parallelization
+
+SPhot falls into the category of "embarrassingly parallel" applications.
+Every CPU that is employed in the computation works on a local copy of
+the 2D mesh (most likely stored in cache), generates its own random
+numbers and performs its own particle trackings. For the most part,
+tasks do not exchange data with each other. The minimal communications
+that do occur take place between the "master" MPI task and all other MPI
+tasks for the purposes of distributing input data, updating global
+variables and collecting timing statistics. Additionally, several
+synchronization constructs are necessitated at both the MPI and OpenMP
+level.
+
+Parallelism in SPhot is implemented as a mixed-mode/hybrid model. It is
+required that both MPI and OpenMP be used during execution, however
+there is much flexibility for the user to choose how many MPI tasks and
+OpenMP threads are used. In the most general sense, the MPI parallelism
+is designed to provide communication between separate, distributed
+memory machines, which may or may not be SMPs. Each machine hosts an MPI
+task that oversees the OpenMP threaded execution of SPhot on that
+machine, and facilitates required communications with MPI tasks on other
+machines. However, having only one MPI task per machine is entirely up
+to the user. Multiple MPI tasks can be run on a machine if this is
+desired. Or, if the machine architecture employs global address space,
+only a single MPI task may be required for the entire execution.
+
+The OpenMP parallelism is strictly "on-node" (shared memory) execution
+for SMP machines. Every OpenMP thread is "owned" by a single MPI task
+with a ratio of /n:1/, where /n/ varies with the user-specified number
+of OpenMP tasks. As with the number of MPI tasks, there is no explicit
+specification within SPhot for the number of OpenMP threads which must
+be used. Instead, these are specified by the user through the use of
+environment variables or command line flags at run time. In this manner,
+the same code can adapt to a diverse set of architectures and conditions.
+
+------------------------------------------------------------------------
+
+
+    Files in This Distribution
+
+The following files are included in this distribution of SPhot:
+
+      Subdirectory 	Files 	Comments
+        	Makefile 	Main makefile for SPhot
+      opac.txt 	Required opacity library
+      input.dat 	Input file
+      bin 	(none) 	Initially empty - used to keep objects after
+      compilations
+      includes 	geomz.inc
+      globals.inc
+      params.inc
+      pranf.inc
+      randseed.inc
+      shared.inc
+      times.inc 	Required include files
+      src 	Makefile.src
+      allocdyn.f
+      copyglob.f
+      copypriv.f
+      copyseed.f
+      execute.f
+      genmesh.f
+      genstats.f
+      genxsec.f
+      interp.f
+      iranfeven.f
+      iranfodd.f
+      plnkut.f
+      pranf.f
+      ranf.f
+      ranfatok.f
+      ranfk.f
+      ranfkbinary.f
+      ranfmodmult.f
+      rans.f
+      rdinput.f
+      rdopac.f
+      second.f
+      seedranf.f
+      sphot.f
+      thom.f
+      writeout.f
+      wroutput.f
+      zonevols.f 	All Fortran source files and required makefile
+
+------------------------------------------------------------------------
+
+
+    Building the Code
+
+Building SPhot is fairly simple and straightforward:
+
+   1. *Perform Makefile Modifications*
+
+      Two makefiles are used to build the code:
+
+      Makefile
+      src/Makefile.src
+
+      Both of these makefiles will require manual modifications to
+      several parameters prior to attempting to build the code. The
+      parameters which require manual modification are clearly marked
+      with a "***Modifications Required*** notice, and include such
+      things as choice of compiler, compiler flags, library directories
+      and libraries. Note that with the exception of the rdinput.f file,
+      all source files are Fortran77. The rdinput.f routine uses Fortran
+      90 derived data type syntax and will therefore require a compiler
+      that can handle such.
+
+      It is important to mention that this code is implemented with both
+      MPI and OpenMP. Specifying the necessary platform dependent
+      parameters to enable both of these is essential.
+
+      Additionally, both makefiles permit the specification of C
+      language parameters, even though SPhot itself does not use any C
+      files. The reason for this is merely convenience in case there is
+      a desire to introduce C language profilers, timing tools or
+      something similar.
+
+   2. *Modify Global Parameters*
+
+      SPhot has a number of parameters which are "hardcoded" in its
+      various include files. In most cases, these do not require
+      modification. However, it is quite possible that for larger runs,
+      several of these parameters may be too small and require
+      modification. Each of these is discussed in the table below.
+
+      Parameter 	Where Located 	Instructions
+      *maxruns* 	includes/params.inc 	Establishes the maximum value for
+      the Nruns input file parameter. Must be at least equal to (Number
+      of MPI tasks * Number of OpenMP threads). Default value is 65537.
+      Requires source code to be recompiled if modified.
+      *MaxStreams* 	includes/pranf.inc 	Must be equal to or greater than
+      the previous maxruns parameter. Must always be an odd number.
+      Default value is 65537. Requires source code to be recompiled if
+      modified.
+      *maxMPItasks* 	includes/times.inc 	Establishes the maximum number
+      of MPI tasks. Default value is 16384. Requires source code to be
+      recompiled if modified.
+      *maxThreadsPerMPItask* 	includes/times.inc 	Establishes the
+      maximum number of OpenMP threads per MPI task. Default value is
+      128. Requires source code to be recompiled if modified.
+
+   3. *Make*
+
+      In the main directory, simply issue the make command. This will
+      invoke the primary Makefile, which in turn will invoke the
+      src/Makefile.src makefile. The files in the src subdirectory will
+      then be compiled and their objects copied to the bin directory.
+      The sphot executable will be created and copied into the main
+      directory.
+
+   4. *Cleanup*
+
+      Invoking the command make clean in the main directory will remove
+      all object files in the bin subdirectory and the sphot executable.
+
+------------------------------------------------------------------------
+
+
+    Running the Code
+
+Several steps are required to execute SPhot. These are listed below.
+
+   1. *Set the Nruns Input File Parameter*
+
+      The distribution input file input.dat specifies a number of
+      parameters that control the execution of SPhot. It is usually
+      necessary to change only one of these - the Nruns parameter. Nruns
+      represents the "number of runs" that should be conducted. It must
+      be evenly divisible by the (Number of MPI tasks * Number of OpenMP
+      threads). To change Nruns, simply edit the input.dat file. Nruns
+      appears as the single integer value on the first line of the file.
+
+      Note that the default maximum value for Nruns is 65537. If this
+      value is too small and must be increased, then an include file
+      must be modified and the source recompiled. See the Building the
+      Code  section for additional instructions.
+
+      The three tables below show:
+
+          * The raw format of input.dat upon distribution
+          * A description of each input.dat parameter
+          * Examples of how the Nruns parameter may be changed. 
+
+      *Raw format of input.dat file* (Nruns parameter in blue)
+
+
+
+        *16*
+
+BENCHMARK CASE NO THOMS, NO RR/SPLIT: 49X40, BWGT=3.12e+14
+
+         1         0
+
+      4000         0         0         0         0         0         0
+
+        49        40         2
+
+  1.00e-10  7.50e-01  1.00e-12  1.05e+00
+
+  1.80e+02  1.00e-03  5.00e-01  3.12e+12
+
+         1       980
+
+       981      1960
+
+         3 4.000e-01 1.000e+03 2.000e+04
+
+         2 5.000e-01 1.000e+02 1.000e+03
+      
+         0
+
+      *Description of input.dat parameters*
+      *
+
+Field    Format   Comments
+
+Name
+
+      *
+
+
+
+Nruns     i4     Number of runs. Should be evenly divided by the 
+
+                 number of MPI tasks and OpenMP threads.
+
+title     20a4   Title information
+
+ilib      i10    opacity library format: 0=binary 1=formatted
+
+illib     i10    bin library usage:    
+
+                 0=use old bin.lib 1=form new bin.lib
+
+npart     i10    # of particles
+
+igroup    i10    energy bins (0=12, 1-12=1, 13=ross.mean)
+
+ixopec    i10    opacity (0=library, 1=input,2=data)
+
+isorst    i10    source (1=uniform in sphere, 2=plankian)
+
+irr       i10    r-roulette/split (0=none, 1=impt, 2=size)
+
+ithom     i10    thomson scattering (0=not used, 1=used)
+
+icross    i10    print cross sections (0= no, 1= yes)
+
+naxl      i10    number of axial meshes
+
+nradl     i10    number of radial meshes
+
+nreg      i10    number of material regions
+
+dtol      e10.2  tolerance to cell boundaries (cm)
+
+wcut      e10.2  low weight cutoff
+
+tcen      e10.2  time to census (sec)
+
+xmult     e10.2  weight mult. for russian roulette
+
+axl       e10.2  portion of sphere analyzed (degrees)
+
+radl      e10.2  sphere radius (cm)
+
+opec      e10.2  input opacity (1/cm)
+
+bwgt      e10.2  bundle weight (kev)
+
+matb,mat  i10    material region begin/end pair.  One pair for each of 
+
+                 nreg materials
+
+mtl       i10    Material - one value for each of nreg materials. 
+
+                 1=h 2=sio2 3=dt 4=c
+
+atrat     e10.3  Atomic Ratio - one value for each of nreg materials
+
+dns       e10.3  Density - one value for each of nreg materials
+
+tmp       e10.3  Temperature - one value for each of nreg materials
+
+prtflg    i5     Print flag to select level of output( see summary page for detail)
+
+      *Examples of how the Nruns parameter might be modified*
+      Number of MPI Tasks 	Number of OpenMP
+      Threads per MPI task 	Possible Values for NRuns
+      1 	1 	1, 2, 3...
+      1 	16 	16, 32, 64...
+      1 	1000 	1000, 2000, 3000...
+      16 	4 	64, 128, 256...
+      256 	4 	1024, 2048, 3072...
+      1000 	1 	1000, 2000, 3000...
+
+   2. *Specify the Number of MPI Tasks*
+
+      The method for doing this will vary from platform to platform but
+      will be typical for a given platform. For example, an IBM RS/6000
+      SP platform may use POE environment variables, such as MP_PROCS,
+      MP_NODES or MP_TASKS_PER_NODE. Alternately, the Compaq Tru64 Alpha
+      platform may use the prun -n command.
+
+      Note that the optimal number of MPI tasks to use on a platform
+      will also vary, a determination which is left up to the user. In
+      no case should the number of MPI tasks exceed the total number of
+      processors/cpus available.
+
+      The default maximum number of MPI tasks is 1024. If this value is
+      too small, then an include file must be modified and the source
+      recomplied. See the Building the Code section for additional instructions.
+
+   3. *Specify the Number of OpenMP Threads per MPI Task*
+
+      Specifying the number of OpenMP threads is done according to the
+      OpenMP standard by using either the platform default (usually the
+      number of cpus on a machine), or explicitly with the
+      OMP_NUM_THREADS environment variable. As with the number of MPI
+      tasks, determining the optimal number of OpenMP threads is left up
+      to the user, and will vary from platform to platform.
+
+      The default maximum number of OpenMP threads per MPI task is 128.
+      If this value is too small, then an include file must be modified
+      and the source recomplied. See the Building the Code
+      section for additional instructions.
+
+   4. *Invoke the Executable*
+
+      This will vary from platform to platform also, especially if a
+      "batch scheduling" system is used to run jobs. In the most simple
+      case, issuing a command similar to that shown below would work:
+
+        prompt> sphot <cr> 
+
+        where:
+
+      sphot is the executable
+
+      It is assumed that the input.dat file and opac.txt file are in the
+      same directory where sphot is invoked.
+
+------------------------------------------------------------------------
+
+
+    Timing Issues
+
+All timings are obtained through the use of the portable MPI wall clock
+timing routine, MPI_Wtime(). Instrumentation occurs in several locations
+within the code, most importantly around the computational loop. Some
+instrumentations are trivial and one is actually unnecessary (the timing
+of the allocdyn.f routine).
+
+The execution time for one "run" of SPhot is platform dependent, but in
+any case does not require much time--usually only "seconds", and
+certainly much less than a minute on all current architectures tested.
+Most architectures tested demonstrated execution times of 10-20 seconds
+per run. Compiler optimization should improve execution times in most
+cases.
+
+Every task/thread maintains its own timings, which are collected and
+maintained globally by the "master" MPI task (rank=0). In this sense,
+the instrumentation of SPhot actually imposes some overhead. As the
+number of MPI tasks increases, so does the ratio of communication time
+to execution time. Since SPhot requires so little execution time per run
+to begin with, MPI overhead may gradually reduce the application's
+scalability for many-task runs. The associated MPI_Barrier calls
+required for synchronization (most notably in copypriv.f) will also
+incur additional overhead as the number of MPI tasks increase.
+
+The most important timing parameters are the loop speedup, program
+speedup and efficiency computations that appear at the end of the
+application's output (example output is available in the "Expected
+Results" section). These values reflect the scalability of the
+application on a given platform.
+
+Please see the Summary writeup for information about timing data to be
+reported.
+
+------------------------------------------------------------------------
+
+Expected Results
+
+Please see the Summary writeup for information about expected results and
+reporting of data.
+
+
+Version 0.9.1
+
+For more information about this page, contact:
+Tom Spelce, spelce1 at llnl.gov
+
+<http://www.llnl.gov/>
+
+*UCRL-MI-144211*
+September 19, 2001
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_v0.9.1.txt
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_v0.9.1.txt?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_v0.9.1.txt (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/sphot_v0.9.1.txt Fri Nov 21 00:17:30 2008
@@ -0,0 +1,235 @@
+
+  SPhot - Monte Carlo Transport Code
+
+
+    Benchmark-specific Instructions and Constraints
+
+*Privacy & Legal Notice* <http://www.llnl.gov/disclaimer.html>
+------------------------------------------------------------------------
+
+
+    Contents
+
+    * Expected Results 
+    * Optimization and Improvement Challenges 
+    * Parallelism and Scalability Expectations 
+    * Benchmark Specific Instructions 
+    * Release and Modification Record 
+
+------------------------------------------------------------------------
+
+
+    Expected Results
+
+       Please see the Summary writeup and the Sphot Sequoia Specific Benchmark
+       tests for information about expected results and the reporting of data.
+
+
+------------------------------------------------------------------------
+
+
+    Optimization and Improvement Challenges
+
+Performance improvement and optimizations for this code fall into the
+following categories:
+
+   1. *MPI Related*
+
+      Very little data is actually transferred between MPI tasks, since
+      each task has its own copy of the mesh, most likely in memory or
+      even cache. Most of the inter-task data transfer is for the
+      purpose of collecting timing results and involves very little
+      data. Several MPI_Barrier calls are used for synchronization
+      purposes also.
+
+      Improving MPI related performance would involve minimizing or
+      removing all MPI_Barrier calls and finding a way to minimize the
+      exchange of inter-task timing statistics. In regards to the
+      exchange of timing statistics, task 0 is a definitive bottleneck
+      since it must act as the "master" task and communicate with all
+      other tasks. This bottleneck may pose a challenge as the problem
+      is scaled up to hundreds or thousands of MPI tasks.
+
+      A very important, platform dependent optimization consideration
+      for this code is determining the optimal number of MPI tasks to
+      use. For example, a cluster of 32-processor SMP machines may
+      demonstrate optimal performance when there are 4 MPI tasks
+      (running 8 OpenMP threads each) on each SMP machine. This
+      optimization will probably best be determined by experimentation
+      on a given platform.
+
+   2. *OpenMP Related*
+
+      The current implementation does not make use of THREADPRIVATE
+      common blocks. Instead, all threads access certain COMMON block
+      variables globally, and that access occurs within the
+      computational core routine (execute.f) of the code. For SMPs with
+      few processors, this does not seem to pose a performance problem.
+      However, it is anticipated that for many-processor SMP machines,
+      it may. Improving OpenMP performance would involve finding a means
+      to implement THREADPRIVATE common blocks. Currently, the code
+      produces "wrong" results if this is attempted.
+
+      As with MPI, determining the optimal number of OpenMP threads to
+      use is a very important platform dependent optimization
+      consideration.
+
+   3. *Computation Kernel Related*
+
+      Actual execution time for a "run" of SPhot requires very little
+      wallclock or CPU time--certainly much less than a minute for any
+      current platform. Also, due to the small problem size (grid size),
+      and the embarrassingly parallel nature of this code, performance
+      gains in this category would be minimal at best.
+
+      For those interested in improving the performance of the
+      computationally significant routines, the following might be
+      evaluated:
+
+          * execute.f
+
+            This routine is responsible for over 50% of the total
+            execution time. Profiling has shown that most of the cycles
+            are distributed over a fairly large number of lines that
+            perform simple arithmetic operations (multiplies, adds,
+            divides), variable assignments (load/store), and IF
+            condition testing.
+
+          * pranf.f
+
+            This routine comprises approximately 10% of the total
+            execution time. It is a very small routine where virtually
+            all of the execution time can be accounted for by a single
+            line of code, shown below:
+
+
+   RandNum = float( Seed( 4 ) ) / Divisor( 4 ) +
+
+1     float( Seed( 3 ) ) / Divisor( 3 ) +
+
+2     float( Seed( 2 ) ) / Divisor( 2 ) +
+
+3     float( Seed( 1 ) ) / Divisor( 1 ) 
+
+
+
+          * ranfmodmult.f
+
+            This routine comprises approximately 10% of the total
+            execution time. This is another rather trivial (in size)
+            routine. The execution time is more or less evenly
+            distributed over all lines of executable code (less than 20)
+            which mostly perform simple arithmetic and load/store
+            operations.
+
+          * sqrt intrinsic function
+
+            This will vary according to platform. On one platform tested
+            using the native Fortran compiler, approximately 10% of the
+            total execution time was attributed to this intrinsic function.
+
+------------------------------------------------------------------------
+
+
+    Parallelism and Scalability Expectations
+
+Because SPhot is trivially parallel, it might be expected that this code
+should scale "perfectly" to very large processor counts. Additionally,
+I/O operations have been replaced with MPI communications to eliminate
+scalability problems common to many I/O systems.
+
+
+When SPhot is executed in hybrid mode (MPI with OpenMP), both shared 
+memory and distributed memory communications hardware and software 
+performance will be demonstrated.  CPU time per "run" will remain 
+relatively constant since runs are intended to map to a processor's 
+CPUs. Increasing the number of "runs" which may be done in parallel 
+increases with the number of available CPUs. Perfect scalability is 
+evidenced by an efficiency calculation of 1.00. That is, there is no 
+additional time required to compute N runs on N CPUs.
+
+Realistically, the scalability of SPhot may be affected by the MPI and
+OpenMP related factors discussed under the Optimization and Improvement
+Challenges Optimization> section. As indicated
+there, the application's MPI communications include barriers and
+potential task 0 bottlenecks. Also, the OpenMP sharing of global COMMON
+block data within the computation loop may also degrade performance for
+many-processor SMP machines.
+
+------------------------------------------------------------------------
+
+
+    Benchmark Specific Instructions and Constraints
+
+   1. *Code Modifications*
+
+      For the purposes of the ASC benchmarks, modifications to this
+      application's source code are not permitted unless such
+      modifications are:
+          * Needed to modify certain default parameters as discussed in
+            the Building the Code section.
+          * Minor and not intended for optimization purposes. Permitted
+            modifications would include those required to overcome
+            platform specific obstacles to building or running the code.
+            These modifications should be documented and reported to the
+            ASCI benchmark point of contact. 
+
+   2. *Modifications to Input File Parameters*
+
+      As discussed in the Running the Code 
+      section previously, the *Nruns* parameter will almost invariably
+      need to be modified every time the number of MPI tasks / OpenMP
+      threads used in an execution changes. This input parameter and the
+      output print flag are the only two parameters which can be modified.
+
+      Note that this parameter must be at least equal to and evenly
+      divisible by the (Number of MPI tasks * Number of OpenMP threads)
+      used. It has a default maximum value of 10001. If this default
+      value is too small, consult the Building the Code
+      section for instructions on how to
+      increase the value of the Nruns parameter.
+
+   3. *Compiler Generated Optimizations*
+
+      Benchmarkers are welcomed and encouraged to employ the use of
+      compiler generated optimizations when building the code.
+      Specifying these optimizations should not require modification to
+      the source code, but instead should take the form of common
+      compiler "flags". These types of optimizations may be specified in
+      the two Makefiles used for that purpose. See Building the Code
+      for additional information.
+
+   4. *Maximum Number of MPI Tasks and OpenMP Threads*
+
+      For the purpose of array dimensioning, particularly for the
+      collection of timing statistics, maximum values for these two
+      parameters are defined in the file includes/times.inc. The
+      distribution software sets these as follows:
+
+      PARAMETER( maxMPItasks = 16384 )
+      PARAMETER( maxThreadsPerMPItask = 128 )
+
+      If these values need to be increased, see the Building the Code
+      section for instructions.
+
+   5. *Required Problems*
+
+     Please see the Sphot Sequoia Specific Problem set for the problems
+     to be run, the results to be reported, and the description of the
+     calculation of the Figure of Merit (FOM) for the runs.
+------------------------------------------------------------------------
+
+
+    Release and Modification Record
+
+Version 1.0, this version. No release required. Public domain software.
+------------------------------------------------------------------------
+
+For more information about this page, contact:
+Tom Spelce ,  spelce1 at llnl.gov mailto:spelce1 at llnl.gov>
+
+<http://www.llnl.gov/>
+
+*UCRL-MI-144211*
+September 19, 2001
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/thom.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/thom.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/thom.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/thom.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,82 @@
+      
+      subroutine thom (u,v,w,mySeed)
+c***********************************************************************
+c     selects a scattering angle for a thomson collision and then
+c     generates new direction cosines.
+c***********************************************************************
+      implicit double precision (a-h,o-z)
+      integer mySeed(*)
+      real*8 ranf
+      external ranf
+      dimension csn (128)
+      
+      data(csn(i),i=1,67)/
+     |     1.       d0,.98952871d0,.9789466 d0,.96825135d0,.95744053d0,
+     x .94651168d0,
+     |     .93546224d0,.92428964d0,.91299119d0,.90156417d0,.89000577d0,
+     x .87831314d0,
+     |     .86648335d0,.8545134d0, .84240023d0,.83014072d0,.81773168d0,
+     x .80516986d0,
+     |     .79245197d0,.77957465d0,.76653448d0,.75332801d0,.73995175d0,
+     x .72640218d0,
+     |     .71267574d0,.69876886d0,.68467798d0,.67039954d0,.65592999d0,
+     x .64126583d0,
+     |     .62640361d0,.61133997d0,.59607164d0,.58059548d0,.5649085 d0,
+     x .5490079d0,
+     |     .53289112d0,.51655582d0,.5d0,       .48322199d0,.46622053d0,
+     x .44899477d0,
+     |     .43154441d0,.41386968d0,.39597143d0,.3778512 d0,.35951125d0,
+     x .34095466d0,
+     |     .32218536d0,.30320817d0,.2840289 d0,.26465437d0,.24509241d0,
+     x .22535195d0,
+     |     .20544297d0,.18537655d0,.1651648 d0,.14482089d0,.12435893d0,
+     x .10379394d0,
+     |     .083141761d0,.062418936d0,.041642596d0,.020830322d0,.0d0,
+     |     -.020830322d0,-.041642596d0/
+      
+      data(csn(i),i=68,128)/
+     |     -.062418936d0,-.083141761d0,-.10379394d0,-.12435893d0,
+     x -.14482089d0,
+     |     -.1651648d0,-.18537655d0,-.20544297d0,-.22535195d0,
+     x -.24509241d0,
+     |     -.26465437d0,-.2840289d0,-.30320817d0,-.32218536d0,
+     x -.34095466d0,-.35951125d0,
+     |     -.3778512d0,-.39597143d0,-.41386968d0,-.43154441d0,
+     x -.44899477d0,-.46622053d0,
+     |     -.48322199d0,-.5d0,-.51655582d0,-.53289112d0,-.5490079d0,
+     x -.5649085d0,
+     |     -.58059548d0,-.59607164d0,-.61133997d0,-.62640361d0,
+     x -.64126583d0,-.65592999d0,
+     |     -.67039954d0,-.68467798d0,-.69876886d0,-.71267574d0,
+     x -.72640218d0,-.73995175d0,
+     |     -.75332801d0,-.76653448d0,-.77957465d0,-.79245197d0,
+     x -.80516986d0,-.81773168d0,
+     |     -.83014072d0,-.84240023d0,-.8545134d0,-.86648335d0,
+     x -.87831314d0,
+     |     -.89000577d0,-.90156417d0,-.91299119d0,
+     |     -.92428964d0,-.93546224d0,
+     |     -.94651168d0,-.95744053d0,-.96825135d0,-.9789466d0,
+     x -.98952871d0/
+      
+      index  = ranf(mySeed)*128 + 1
+      sctang = csn (index)
+      t3     = 6.2831853d0 * ranf(mySeed)
+      t4     = sqrt(1.0d0 - sctang*sctang)
+      t5     = sqrt(1.0d0 - w*w)
+      
+c--------------------update scattered photon direction
+c--------------------(from tid-26607)
+      temp1 = t4/t5
+      temp2 = sin (t3)
+      temp3 = cos (t3)
+      temp4 = w*temp3
+      t1    = u
+      
+c--------------------new u, v, w
+      
+      u = u*sctang + temp1*(u*temp4 - v*temp2)
+      v = v*sctang + temp1*(v*temp4 + t1*temp2)
+      w = w*sctang - (t4*t5)*temp3
+      
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/times.inc
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/times.inc?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/times.inc (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/times.inc Fri Nov 21 00:17:30 2008
@@ -0,0 +1,24 @@
+c This is 'times.inc'.
+c
+
+       INTEGER maxMPItasks, maxThreadsPerMPItask
+       PARAMETER( maxMPItasks = 4 )
+       PARAMETER( maxThreadsPerMPItask = 4 )
+       real*8 tgen
+       real*8 loopBeginTime, loopEndTime, loopWallClockTime
+       real*8 loopTotalCPUTime, loopSpeedup
+       real*8 progBeginTime, progEndTime, progWallClockTime
+       real*8 progTotalCPUTime, progSpeedup
+       real*8 allocateTime
+       real*8 seedGenTime
+       real*8 copyGlobTime(maxMPItasks)
+c      common, shared /timecom/
+       common /timecom/ tgen,
+     .  loopBeginTime, loopEndTime, loopWallClockTime,
+     .  loopTotalCPUTime, loopSpeedup,
+     .  progBeginTime, progEndTime, progWallClockTime,
+     .  progTotalCPUTime, progSpeedup,
+     .  allocateTime,
+     .  seedGenTime,
+     .  copyGlobTime
+

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/writeout.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/writeout.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/writeout.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/writeout.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,220 @@
+C#############################################################################
+C
+C subroutine writeout       
+C
+C Writes summarized results. 
+C Modification: Number of MPI tasks and OpenMP threads passed in from 
+C sphot for efficiency calculation.  (bmb 3/12/01)
+C
+C#############################################################################
+
+      subroutine writeout(numMPItasks, nThreads)
+      include 'params.inc'
+      include 'globals.inc'
+      include 'shared.inc'
+      include 'geomz.inc'
+      include 'randseed.inc'
+      include 'times.inc'
+
+      integer nThreads, numMPItasks, ntracSum 
+      INTEGER*4 nescgp(negrps)
+      real*8 enesc(negrps)
+      real*8 wcut, wmin, wmax
+      real*8 wlost, wesc, wrr
+      real*8 wabs, wcen, epgain, etot
+      integer*4 npart, nphtot, nploss
+      integer*4 nlost, nesc, nrr, nabs, ncen
+      integer*4 nscat, nsplt, ntrac
+      common /mjcstuff/  nescgp, enesc, wcut, wmin, wmax,
+     &     wlost, wesc, wrr, wabs, wcen, epgain, etot, 
+     &     npart, nphtot, nploss, nlost, nesc, nrr, nabs,
+     &     ncen, nscat, nsplt, ntrac
+
+      real*8 escsum,escsumsq, escave,escstdev
+      real*8 tsum,tsumsq,tave,tstd
+      real*8 maxCopyGlobTime
+      real*8 avg_enescSum
+
+      INTEGER nout1
+      INTEGER nout2
+
+      parameter (nout1=11)
+      parameter (nout2=12)
+
+
+      if (print_flag .gt. 0) then
+        open(nout1,FILE='out_full.txt',STATUS='UNKNOWN',
+     |            ACCESS='SEQUENTIAL',FORM='FORMATTED')
+
+
+      do 2000 i = 1, NRuns
+         npart  = ng_npart(i) 
+         nphtot = ng_nphtot(i)
+         nploss = ng_nploss(i)
+         etot   = g_etot(i)  
+         epgain = g_epgain(i)
+         nlost  = ng_nlost(i) 
+         nesc   = ng_nesc(i)  
+         nrr    = ng_nrr(i)   
+         ncen   = ng_ncen(i)  
+         nabs   = ng_nabs(i)  
+         wlost  = g_wlost(i) 
+         wesc   = g_wesc(i)  
+         wrr    = g_wrr(i)   
+         wcen   = g_wcen(i)  
+         wabs   = g_wabs(i)  
+         nscat  = ng_nscat(i) 
+         nsplt  = ng_nsplt(i) 
+         ntrac  = ng_ntrac(i)  
+         texec  = g_texec(i)
+         do 903 j = 1,negrps
+            nescgp(j) = ng_nescgp(i,j)
+            enesc(j)  = g_enesc(i,j) 
+ 903     continue
+
+         CALL wroutput(i,tgen,texec,nout1)
+ 
+ 2000 continue
+
+      endif
+
+
+
+      ! CALL second(progEndTime)
+
+      loopWallClockTime = loopEndTime - loopBeginTime
+      progWallClockTime = progEndTime - progBeginTime
+
+      loopTotalCPUTime = 0.0D0
+      progTotalCPUTime = loopBeginTime - progBeginTime +
+     .     progEndTime   - loopEndTime
+
+
+      if (print_flag .gt. 0) then
+
+      escsum   = 0.0d0
+      escsumsq = 0.0d0
+      tsum     = 0.0d0
+      tsumsq   = 0.0d0
+      ovrhsum  = 0.0d0
+      ovrhsumsq= 0.0d0
+      partSum = 0.0d0
+      partSumSq = 0.0d0
+      tracSum   = 0.0d0
+      tracSumSq = 0.0d0
+
+
+c      print *, "numMPItasks = ", numMPItasks
+c      print *, "loopTime = ", loopWallClockTime
+c      print *, "progTime = ", progWallClockTime
+
+      write(nout1,500) numMPItasks
+ 500  format(//,'numMPItasks = ', i8)
+      write(nout1,501) loopWallClockTime
+ 501  format('loopTime = ', f10.6)
+      write(nout1,502) progWallClockTime
+ 502  format('progTime = ', f10.6)     
+
+
+      write(nout1,9905)
+ 9905 format(//////,'SUMMARY:',/,'-------',/,
+     1     'Run #     # part.    # tracks  esc. prob.',
+     2     '     time  1st ranf',' last ranf'
+     3     )
+      do 1100 i= 1, NRuns 
+
+         loopTotalCPUTime = loopTotalCPUTime + g_texec(i)
+         progTotalCPUTime = progTotalCPUTime + g_texec(i)
+
+         escsum   = escsum + g_ffesc(i)
+
+         tsum     = tsum + g_texec(i)
+
+         ovrhsum  = ovrhsum + g_overheadTime(i)
+
+         partSum = partSum + ng_nphtot(i)
+
+         tracSum     = tracSum + ng_ntrac(i)
+
+         write(nout1,9904) i, ng_nphtot(i), ng_ntrac(i), g_ffesc(i),
+     .        g_texec(i), g_firstRanf(i), g_lastRanf(i)
+
+ 9904    format(i8,i9,i12,f12.6,f9.4,f10.7,f10.7)
+ 1100 continue
+
+
+      write(nout1,9979)
+ 9979 format('-------------------------------------------',
+     1     '------------------------')
+      escave = escsum / NRuns 
+      tave     = tsum / NRuns
+      ovrhave  = ovrhsum / NRuns
+      iparticleAve = partSum / NRuns
+      itracAve = tracSum / NRuns
+
+      do 1200 i = 1, NRuns
+         escsumsq = escsumsq + abs(g_ffesc(i)-escave) ** 2
+         tsumsq   = tsumsq + abs(g_texec(i)-tave) ** 2
+         ovrhsumsq = ovrhsumsq + abs(g_overheadTime(i)-ovrhave) ** 2
+         partSumSq = partSumSq + abs(ng_nphtot(i)-iparticleAve) ** 2
+         tracSumSq = tracSumSq + abs(ng_ntrac(i)-itracAve) ** 2
+ 1200 continue
+      escstdev = sqrt(escsumsq/NRuns)
+      tstd     = sqrt(tsumsq/NRuns)
+      ovrhstd  = sqrt(ovrhsumsq/NRuns)
+      ipartStDev = sqrt(partSumSq/NRuns)
+      itracStDev = sqrt(tracSumSq/NRuns)
+      partRatio  = ipartStDev / float(iparticleAve)
+      tracRatio  = itracStDev / float(itracAve) 
+      escRatio   = escstdev / escAve 
+      tRatio     = tStd / tave
+
+      write(nout1,9917) iparticleAve, itracAve, escAve, tave 
+ 9917 format('ave:    ',i9,i12,f12.6,f9.4)
+      write(nout1,9918) ipartStDev, itracStDev, escStDev, tStd 
+ 9918 format('std:    ',i9,i12,f12.8,f9.4)
+      write(nout1,9919) partRatio, tracRatio, escRatio, tRatio
+ 9919 format('ratio:   ',f8.5,f12.7,f12.8,f9.6)
+
+      maxCopyGlobTime = copyGlobTime(1)
+      do 1300 i = 2, numMPItasks
+         if (maxCopyGlobTime .lt. copyGlobTime(i)) then
+            maxCopyGlobTime = copyGlobTime(i)
+         endif
+ 1300 continue
+
+c...Sum of all execute() loops / 
+      loopSpeedup = loopTotalCPUTime / loopWallClockTime
+
+      singleCPUTime = progTotalCPUTime - allocateTime
+     .     - seedGenTime - maxCopyGlobTime
+
+      progSpeedup = singleCPUTime / progWallClockTime
+
+      if (nThreads .eq. 0) then nThreads = 1
+      efficiency = progSpeedUp / (numMPItasks * nThreads)
+
+      write(nout1,9903) allocateTime, seedGenTime, maxCopyGlobTime,
+     .     singleCPUTime, numMPItasks, nThreads,
+     .     loopSpeedup, progSpeedup, efficiency
+ 9903 format(//,
+     .     'allocate time:                      ',f15.6,/,
+     .     'random number seed generation time: ',f15.6,/,
+     .     'max. global copy time:              ',f15.6,/,
+     .     'estimated single CPU time:          ',f15.2,/,
+     .     'number of MPI tasks:                ',i15,   /,
+     .     'number of threads per MPI task:     ',i15,   /,
+     .     'loop speedup:                       ',f15.4,/,
+     .     'program speedup:                    ',f15.4,/,
+     .     'efficiency:                         ',f15.4
+     .     )
+
+
+         close(nout1)
+      endif
+
+
+
+
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/wroutput.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/wroutput.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/wroutput.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/wroutput.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,112 @@
+
+      
+      subroutine wroutput (iRun,tgen,texec,nout1)
+c----------------------------------------------------------------------
+c     Print out the final results.
+c----------------------------------------------------------------------
+      include 'params.inc'
+      include 'geomz.inc'
+      include 'globals.inc'
+      include 'shared.inc'
+
+      integer*4 iRun
+
+      INTEGER*4 nescgp(negrps)
+      real*8 enesc(negrps)
+      real*8 wcut, wmin, wmax
+      real*8 wlost, wesc, wrr
+      real*8 wabs, wcen, epgain, etot
+      integer*4 npart, nphtot, nploss
+      integer*4 nlost, nesc, nrr, nabs, ncen
+      integer*4 nscat, nsplt, ntrac
+      common /mjcstuff/  nescgp, enesc, wcut, wmin, wmax,
+     &     wlost, wesc, wrr, wabs, wcen, epgain, etot, 
+     &     npart, nphtot, nploss, nlost, nesc, nrr, nabs,
+     &     ncen, nscat, nsplt, ntrac
+
+      INTEGER nout1
+      
+c------------------------------print out final results
+
+
+
+      if (print_flag .gt. 1) then
+      write(nout1,209) iRun
+ 209  format('Run number: ',i4,//)
+      endif
+
+      npart = nphtot
+
+      if (print_flag .gt. 1) then
+      write (nout1,210)
+ 210  format(/20x,'plankian source:',
+     .     / 2x,'# emitted',
+     .     3x,'# killed',
+     .     3x,'energy emitted (kev)'
+     .     ,3x,'energy gained via rr')
+      
+      write (nout1,211) npart, nploss, etot, epgain
+ 211  format(1x,i8,4x,i8,5x,e12.4,12x,e12.4)
+      endif
+      
+      trials = dble(npart)
+      do 498 i=1,12
+         wesc = wesc + enesc (i)
+         nesc = nesc + nescgp(i)
+ 498  continue
+      ffesc = wesc/trials
+      g_ffesc(iRun) = ffesc
+      std   = sqrt(ffesc*(1.0 - ffesc)/trials)
+
+      if (print_flag .gt. 1) then      
+      write (nout1,251) nabs, nesc, ntrac, nlost, ncen, nscat, nrr, nsplt
+ 251  format(/'nabs   = ',i10,
+     |     /'nesc   = ',i10,
+     |     /'ntrac  = ',i10,
+     |     /'nlost  = ',i10,
+     |     /'ncen   = ',i10,
+     |     /'nscat  = ',i10,
+     |     /'nrr    = ',i10,
+     |     /'nsplit = ',i10)
+      
+      write (nout1,252) ffesc, std
+ 252  format(/' escape prob = ',f10.6,
+     .     /' std =         ',f10.6)
+      
+      write (nout1,258)
+ 258  format(/1x,'energy group',5x,'# bundles escaping',5x,'energy (kev)
+     |     ')
+      write (nout1,259) (ig,nescgp(ig),enesc(ig)*bwgt, ig=1,12)
+ 259  format(4x,i4,15x,i6,13x,e10.4)
+      
+      write (nout1,271)
+ 271  format(/20x,'energy balance (kev):',/3x,'emitted',4x,'lost via rr'
+     |     ,4x,'absorbed',5x,'escaped',5x,'censused',7x,'lost')
+      endif
+     
+      err = epgain + wrr*bwgt
+
+
+      if (print_flag .gt. 1) then   
+      write (nout1,272) etot, err, wabs*bwgt, wesc*bwgt, wcen*bwgt,
+     |     wlost*bwgt
+ 272  format(5(e11.4,2x),e11.4/)
+      endif
+
+      
+      ttrack = 1.0d+6 * texec / dble(ntrac)
+
+      if (print_flag .gt. 1) then  
+      write(nout1,253) tgen, texec, ntrac, ttrack
+ 253  format(/5x,'generation time (sec)  = ',e15.7
+     +     /5x,'execution time  (sec)  = ',e15.7
+     +     //5x,'number of tracks       = ',i10,
+     +     /5x,'time/track (microsec)  = ',e15.7)
+
+      write(nout1,9902)
+ 9902 format('-------------------------------------------------')
+      endif
+
+      
+      return
+      end

Added: test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/zonevols.f
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/zonevols.f?rev=59793&view=auto

==============================================================================
--- test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/zonevols.f (added)
+++ test-suite/trunk/MultiSource/Benchmarks/ASC_Sequoia/sphot/zonevols.f Fri Nov 21 00:17:30 2008
@@ -0,0 +1,26 @@
+      
+      subroutine zonevols
+c***********************************************************************
+c     calculates absolute cell volumes (cc) needed for plankian source.                           *
+c***********************************************************************
+c     implicit double precision (a-h,o-z)
+      include 'params.inc'
+      include 'geomz.inc'
+      
+      do 20 j = 1,nzones
+         g_volcl(j) = 0.0d0
+ 20   continue
+      
+      do 21 ks = 1,4
+         do 22 j = 1,nzones
+            if (ng_itype(j,ks) .ne. 2 .and. ng_itype(j,ks) .ne. 4) then
+               tv1 = (g_zz(j,ks+1) - 
+     .              g_zz(j,ks))*(g_rr(j,ks+1)*(g_rr(j,ks+1)
+     .              + g_rr(j,ks)) + g_rr(j,ks)*g_rr(j,ks))
+               g_volcl(j) = g_volcl(j) + 1.0471976*tv1
+            endif
+ 22      continue
+ 21   continue
+      
+      return
+      end





More information about the llvm-commits mailing list