From raja@icase.edu Thu May 2 09:33:13 1991 Return-Path: Received: from skate.icase.edu by CS.UTK.EDU with SMTP (5.61++/2.5.1s-UTK) id AA19097; Thu, 2 May 91 09:29:53 -0400 Received: by skate (5.65.1/lanleaf2.4.9) id AA04107; Wed, 1 May 91 19:15:08 -0400 Message-Id: <9105012315.AA04107@skate> Date: Wed, 1 May 91 19:15:08 -0400 From: Raja Das To: dongarra@cs.utk.edu Subject: shar file for PARTI primitives Status: RO #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh 'README' <<'END_OF_FILE' XTo install the PARTI subdirectories one must do the following: X X1) copy the shar files (docs.shar, matmult.shar, papers.shar, src.shar, X tests.shar, unst.shar) and the makefile into the directory where one X wants to build PARTI. X X2) cd to the directory where the shar files and the makefile was copied. X X3) To create the subdirectory type the following : X X make unshar X X4) next go into the directory docs and print out the documentation X doc.tex. This has a section on building PARTI. END_OF_FILE if test 498 -ne `wc -c <'README'`; then echo shar: \"'README'\" unpacked with wrong size! fi # end of 'README' fi if test -f 'makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'makefile'\" else echo shar: Extracting \"'makefile'\" \(2994 characters\) sed "s/^X//" >'makefile' <<'END_OF_FILE' X################################################################### X# # X# PARTI : Parallel Automated Runtime Tools from ICASE # X# This is the top level makefile for PARTI. It recursively # X# calls makefiles in the subdirectories. # X# # X# # X# The makefile has the following target: # X# # X# all: compiles the PARTI library # X# install: puts libs & header files in the right place # X# clean: removes unwanted kruft # X# test: runs tests on the PARTI system # X# unshar: given the shar files for parti, this target builds the # X# directories and unshars the files in the right places # X# # X################################################################### X# X# X# NFLAG = to match type of cube user has. X# -node (for vanilla iPSC/2) X# -node -sx (for iPSC/2 with wtk) X# -node -i860 (for iPSC/860) X# NARC = archiver (ar if iPSC/2, ar860 if iPSC/860) X# LIB = where library should be intalled X# INCL = where include files should be installed X# NPROCS = the biggest number of processors to run tests on X# NODECC = the compiler to use to compile node C programs X# NODEF77 = the fortran compiler to use for node fortran programs XNFLAG = -node -i860 XNARC = ar860 XNPROCS = 8 XLIB = /fiddler/home/icase/raja/trial/lib XINCL = /fiddler/home/icase/raja/trial/include XNODECC = pgcc XNODEF77 = pgf77 X#################################### X# End of stuff for user to modify # X#################################### XFLAGS = NFLAG="$(NFLAG)" NARC=$(NARC) LIB=$(LIB) INCL=$(INCL) CC=$(CC) NPROCS=$(NPROCS) NODECC=$(NODECC) NODEF77=$(NODEF77) Xall : X cd src;make $(FLAGS) Xinstall: X cd src;make install $(FLAGS) Xclean: X cd src;make clean X cd tests;make clean X cd examples/unst;make clean X cd examples/free;make clean X cd examples/matmult;make clean X cd papers;make clean X cd docs;make clean X rm -f *.shar Xtest: X cd tests;make $(FLAGS) Xunshar: X# make the directory structure (since shar files cannot hold that info.) X mkdir src X mkdir tests X mkdir examples X mkdir papers X mkdir docs X mkdir lib X mkdir include X cd examples;mkdir unst X cd examples;mkdir matmult X cd examples;mkdir free X# move the shar files to their places, and unshar them X cd src;mv ../src.shar .;sh src.shar X cd tests;mv ../tests.shar .;sh tests.shar X cd examples/unst; mv ../../unst.shar .;sh unst.shar X cd examples/free; mv ../../free.shar .;sh free.shar X cd examples/matmult; mv ../../matmult.shar .;sh matmult.shar X cd papers;mv ../papers.shar .;sh papers.shar X cd docs;mv ../docs.shar .;sh docs.shar END_OF_FILE if test 2994 -ne `wc -c <'makefile'`; then echo shar: \"'makefile'\" unpacked with wrong size! fi # end of 'makefile' fi if test -f 'all.shar' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'all.shar'\" else echo shar: Extracting \"'all.shar'\" \(0 characters\) sed "s/^X//" >'all.shar' <<'END_OF_FILE' END_OF_FILE if test 0 -ne `wc -c <'all.shar'`; then echo shar: \"'all.shar'\" unpacked with wrong size! fi # end of 'all.shar' fi if test -f 'docs.shar' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'docs.shar'\" else echo shar: Extracting \"'docs.shar'\" \(72405 characters\) sed "s/^X//" >'docs.shar' <<'END_OF_FILE' X#! /bin/sh X# This is a shell archive. Remove anything before this line, then unpack X# it by saving it into a file and typing "sh file". To overwrite existing X# files, type "sh file -c". You can also feed this as standard input via X# unshar, or by typing "sh 'doc.bbl' <<'END_OF_FILE' XX\begin{thebibliography}{1} XX XX\bibitem{icase90-41} XX{\sc H.~Berryman, J.~Saltz, and J.~Scroggs}, {\em Execution time support for XX adaptive scientific algorithms on distributed memory machines}, ICASE XX Report 90-41, XX May 1990. XX XX\bibitem{mirc88} XX{\sc R.~Mirchandaney, J.~H. Saltz, R.~M. Smith, D.~M. Nicol, and K.~Crowley}, XX {\em Principles of runtime support for parallel processors}, in Proceedings XX of the 1988 ACM International Conference on Supercomputing , St. Malo France, XX July 1988, pp.~140--152. XX XX\bibitem{hyper90seema} XX{\sc S.~Mirchandaney, J.~Saltz, P.~Mehrotra, and H.~Berryman}, {\em A scheme XX for supporting automatic data migration on multicomputers}, in Proceedings of XX the Fifth Distributed Memory Computing Conference, Charleston S.C., 1990. XX XX\bibitem{icase90-new} XX{\sc J.~Saltz, H.~Berryman, and J.~Wu}, {\em Runtime compilation for XX multiprocessors}, ICASE Report 90-59, 1990. XX XX\bibitem{salt-jpdc90} XX{\sc J.~Saltz, K.~Crowley, R.~Mirchandaney, and H.~Berryman}, {\em Run-time XX scheduling and execution of loops on message passing machines}, Journal of XX Parallel and Distributed Computing, 8 (1990), pp.~303--312. XX XX\end{thebibliography} XEND_OF_FILE Xif test 1164 -ne `wc -c <'doc.bbl'`; then X echo shar: \"'doc.bbl'\" unpacked with wrong size! Xfi X# end of 'doc.bbl' Xfi Xif test -f 'doc.tex' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'doc.tex'\" Xelse Xecho shar: Extracting \"'doc.tex'\" \(66066 characters\) Xsed "s/^X//" >'doc.tex' <<'END_OF_FILE' XX\documentstyle[12pt]{article} XX XX\textwidth 6.0in XX\newenvironment{gronk}% XX{\begin{list}{}{\setlength{\leftmargin}{0.2in}} \vspace{0.2in}}% XX{\end{list}\vspace{0.2in}} XX XX\title{A Manual for PARTI Runtime Primitives \\ XX Revision 1} XX\author{ {Raja Das} and {Joel Saltz} and XX{Harry Berryman\thanks{ICASE, NASA Langley Research Center, Hampton, XXVirginia. Supported by NASA Contract No. NAS1-18605 while XXthe author was in residence at ICASE, XXand by NSF grant ASC-8819374 }} } XX\begin{document} XX\maketitle XX\begin{center} XXInstitute for Computer Applications in Science and Engineering, \\ XXNASA Langley Research Center, \\ XXHampton VA 23065 \\ XX\vspace{0.8in} XXComputer Science Department, \\ XXYale University, \\ XXNew Haven CT 06520 \\ XX\end{center} XX XX\begin{abstract} XXPrimitives are presented that are designed to help users XXefficiently program XXirregular problems (e.g. unstructured mesh XXsweeps, sparse matrix codes, adaptive mesh XXpartial differential equations solvers) on distributed XXmemory XXmachines. These primitives XXare also designed for use in compilers for distributed XXmemory multiprocessors. XXCommunications patterns are captured XXat runtime, and the appropriate send and receive messages XXare automatically generated. XX\end{abstract} XX\pagebreak XX XX\section{Did Somebody Say PARTI?} XX\subsection{Overview} XXPARTI stands for ``Parallel Automated Runtime Toolkit at ICASE.'' XXDevelopment of PARTI has been carried out at Yale University as well as XXICASE and hence has been referred to as ``PARTY'' XXin some earlier papers. XXThe PARTI runtime primitives are designed to help users XXto efficiently program loops found in XXirregular problems (e.g. unstructured mesh XXsweeps, sparse matrix codes, adaptive mesh XXpartial differential equations solvers). These primitives XXare also designed for use in compilers for distributed XXmemory multiprocessors. XXIn the context of the PARTI project, we are also developing a variety of XXother tools including compilers for distributed machines. XXThese primitives are some of the basic building blocks we are using XXin our efforts. XX XX XXThe primitives in this distribution run XXon any of the iPSC/2 or iPSC/860 machines produced by Intel XXScientific Computing. They could easily be modified to run XXon most distributed memory machines. XXThis document describes XXthe operation of the PARTI primitives and gives several examples XXof how to use them. The rationale of the PARTI system (the PARTI line, XXas it were) was presented in ~\cite{mirc88} and summarized XXin ~\cite{icase90-new}. XXThe mechanisms incorporated in these primitives have XXbeen outlined in XX~\cite{mirc88}, ~\cite{salt-jpdc90}, ~\cite{icase90-new}. XXPARTI has been used in a variety of XXapplications, including sparse XXmatrix linear solvers, adaptive computational fluid dynamics codes, XXand in a prototype compiler ~\cite{icase90-new} XXaimed at distributed memory multiprocessors. XX XX\subsection{Primitives Available in the Release} XX XXThe PARTI system is divided into several levels. XXLevel 0 primitives allow processors to access the XXdistributed memory of a multiprocessor with a modicum of XXconvenience. XXLevel 1 primitives XXbind mapping information to arrays. This allows the user to store XXand manipulate constructs that describe multiprocessor mappings of XXdistributed multidimensional arrays. Included with this XXdistribution are the level 0 primitives XXoutlined next. XX XX XXThe level 0 {\em scatter} allows each processor XXof a distributed memory machine to move data to off-processor XXmemory locations. XXThe level 0 {\em gather} XXallows each processor to obtain copies of data XXfrom memory locations in other processors. XXLevel 0 primitives are provided to support XXinitialization and access of distributed translation tables. XXSuch distributed tables XXallow a user to assign globally XXnumbered indices to processors in an irregular pattern. XXBy using a distributed translation table, XXit is possible to avoid replicating records XXof where distributed array elements are stored in XXall processors. XXLevel 0 primitives also carry out off-processor accumulations; XXe.g. any processor can add to the contents of an off-processor XXmemory location. XX XX\subsection{Primitives that exist but are not yet distributed} XX XXThere are additional level 0 primitives XXnot included with this release that XXsupport local caching of copies of off-processor data. These XXLevel 0 primitives are presented in ~\cite{hyper90seema} and XXwill be available in future PARTI releases. XXLevel 1 primitives, also not available with this release, XXallow users to specify how distributed arrays are to be mapped XXonto sets of processors. The level 1 primitives support XXread, write and accumulate accesses to these mapped XXmultidimensional arrays. The level 1 primitives also XXallow users to dynamically remap distributed arrays. XXThe Level 1 primitives XXare described in ~\cite{icase90-41}. XXIt should be noted that use of XXPARTI primitives do XXnot interfere with access to XXtraditional XXmessage passing communications primitives. XXIn particular, XXa user can call all XXof the iSC supplied routines when using PARTI. XX XX XX\section{Installation} XX\subsection{Getting PARTI} XXPARTI can be had in either several shar files or one tar file. XXThe tar file is in general more convinient, but the shar files can XXbe sent through the mail. XXPARTI can be obtained by anonymous ftp from {\em ra.cs.yale.edu}, XXfrom netlib, or by contacting: XX\begin{verbatim} XXRaja Das XXICASE XXMail Stop 132C XXNASA Langley Research Center XXHampton, Va 06511 XX(804) 864-8004 XXraja@icase.edu XX\end{verbatim} XXIf you have the PARTI tar file, just XXchange to the directory where you wish to put the PARTI subdirectory XXand type: XX\begin{verbatim} XXtar xof parti.tar XX\end{verbatim} XX XXIf you have the shar files, things are only mildly worse. You need XXthe following files: docs.shar, free.shar, matmult.shar, papers.shar, XXsrc.shar, tests.shar, unst.shar XXand a makefile (called ``makefile'', oddly enough.) Put these XXfiles in the directory where you want the PARTI subdirectory XXand type XX\begin{verbatim} XXmake unshar XX\end{verbatim} XX XX\subsection{Building PARTI} XXEither of the above installation procedures should create the following XXdirectory structures: XX XX\begin{description} XX\item[parti/docs] documentation in latex, postscript and plain text XX\item[parti/examples/matmult] sparse matrix multiplication described in XXSection~\ref{appendixa} XX\item[parti/examples/unst] sweep over unstructured mesh, XXdescribed in section~\ref{appendixb}. XX\item[parti/examples/free] XXa conjugate gradient linear equation solver cg.c and cg\_host.c XXnot discussed in this documentation. (Free prize included in XXevery copy of PARTI!). Also included is simple.c, a simple example XXinvolving several of the primitives. XX\item[parti/papers] some of the relevant papers XX\item[parti/src] source for the PARTI primitives XX\item[parti/tests] test programs to verify correct installation XX\end{description} XX XXA makefile should be present in the PARTI directory. At the beginning of XXthis makefile are several macros to be modified by the user. XX XX\begin{description} XX\item[NFLAG] This macro is passed to the C compiler and linker when XX compiling and/or linking node programs. It should have XX one of the following values: XX \begin{description} XX \item[-node -sx] for iPSC/2 machines with weitek floating point accelerators XX \item[-node -i860] for iPSC/860 machines XX \item[-node] for vanilla iPSC/2 machines XX \end{description} XX\item[NARC] This macro indicates the archive to be used in creating the XX PARTI library. It should be set to one of the following: XX \begin{description} XX \item[ar] for any iPSC/2 XX \item[ar860] for an iPSC/860 XX \end{description} XX\item[LIB] This macro should be set to the directory where the party XX library will be installed. It is prudent to use the XX full path name here. This directory must exist before the XX system is installed. XX\item[INCL] This macro should be set to the directory where the PARTI XX include files will reside. It is prudent to use the XX full path name here. This directory must exist before the XX system is installed. XX\item[NPROCS] This indicates the largest number of processors that XX the tests should be run on. Eight and sixteen are good XX values. XX\item[NODECC] This macro should be set to the C compiler which will XX compile the node programs. The default compiler (cc) is XX always a correct choice. The pgcc compiler may also be used XX where appropriate. XX\item[NODEF77] This macro should be set the Fortran compiler to be used XX to compile the node programs. The default compiler (f77) XX is always a correct choice. The pgf77 compiler may be used where XX appropriate. XX\end{description} XXMake sure that the directories pointed to by {\tt LIB} and XX{\tt INCL} exist. If they do not, any attempt to install the XXparty system there will fail. There are several objects XXto make. XXTyping the following make commands in the listed order should be sufficient to XXinstall and check the PARTI system on your computer. XX\begin{description} XX\item[make] will compile the PARTI library but not install it in XX the designated directories. XX\item[make install] will install the PARTI system in the designated directories. XX\item[make clean] will remove object and executable file from various XX subdirectories. XX\item[make test] will run several tests to see if everything has been XX compiled correctly. XX\end{description} XX XX\section{Function Descriptions} XX\subsection{Header Files} XXThere are two header files which go with the PARTI library. The first XXis {\tt parti.h}. This file contains the definitions of all XXstructures, macro definition and function definitions needed to XXrun the PARTI primitives. {\em It must be included in all C programs XXthat use the PARTI system.} The second include file, {\tt parti\_more.h}, XXis used only when XXthe system is compiled. It defines such things as message types, XXand static buffer lengths. It should not be necessary to include this file XXin applications which use PARTI. XXNo header files need be included in Fortran applications. XX XX XXTwo of the primitives {\tt schedule} XXand {\tt build\_translation\_table} are functions that XXcarry out preprocessing. {\tt schedule} and XX{\tt build\_translation\_table} allocate elements of XXstructures {\tt schedule\_struct} and {\tt trans\_table} XXand then return pointers to structures. XXThe above structures are defined in parti.h; XXmacro definitions define {\tt struct schedule\_struct} as XXSCHED and define {\tt struct trans\_table} as TTABLE. XXparti.h also defines macros STRIPED and BLOCKED used XXin the procedure {\tt build\_translation\_table}. XX XX\subsection{Level 0 primitives} XXLevel 0 gathers and scatters are accomplished by using three routines: XX{\em Scheduler}, {\em Gather}, and {\em Scatter}. XX XXScheduler on each processor is passed a list of indices ${\tt K_j}$ into XX${\tt aloc}$ on each processor ${\tt j}$. Scheduler XXproduces a schedule {\tt S } that controls the data that are to be XXfetched off-processor by {\em Gather } or XXscattered off-processor by {\em Scatter }. XX XXOn each processor, Gather inputs XX\begin{enumerate} XX\item a buffer into which the fetched elements are to be placed XX\item a pointer to local array ${\tt aloc}$ XX\item the schedule ${\tt S }$ produced by Scheduler XX\end{enumerate} XXIn Fig.~\ref{scheduler-example} we introduce XXa running example to illustrate the {\em Scheduler}, {\em Gather} XXand {\em Scatter}. In this example we have three processors, XXeach processor is passed a set of off-processor indices. XX XXGather executes sends and receives that fetch from XXprocessor {\tt j} the appropriate elements from the array XX${\tt aloc}$ on processor XX${\tt j}$. Then it places these elements into the user-supplied buffer. XXFig.~\ref{gather-example} continues the running example begun in XXFig.~\ref{scheduler-example}. On processor ${\tt j}$ the array XX{\tt aloc} is initialized XXas ${\tt aloc(i)~=~ j*100 + i}$ for ${\tt 1 \leq i}$. XXWe depict the contents of {\tt buffer} on each processor XXafter Gather is executed. XX XXScatter is passed XX\begin{enumerate} XX\item a buffer from which each scattered datum is to be obtained XX\item a pointer to local array ${\tt aloc}$ XX\item the schedule ${\tt S }$ produced by Scheduler XX\end{enumerate} XXScatter executes sends and receives that put on processor XX{\tt j} the appropriate elements from the buffer. Then Scatter XXplaces these elements into the appropriate elements of array XX${\tt aloc}$ on processor ${\tt j}$. XXFig.~\ref{scatter-example} continues the running example. XXWe assume that on processor ${\tt j}$, we initialize XX{\tt buffer} as ${\tt buffer(i)~=~ j*100 + i}$ for ${\tt 1 \leq i }$, XXwe initialize {\tt aloc} so that ${\tt aloc(i)~=~0}$. XXAfter Scatter executes, we XXdepict, on each processor ${\tt j}$ the contents of {\tt aloc}. XX XX\begin{figure} XX\caption{Scheduler Example \label{scheduler-example}} XX\begin{itemize} XX\item[] Scheduler: XX\begin{itemize} XX\item[] inputs list of indices on each processor XX\item[] outputs a schedule {\tt S} XX\end{itemize} XX\item[] E.g. XX\begin{itemize} XX\item[] processor 1: (processor 2, index 5), (processor 3, index 7) XX\item[] processor 2: (processor 1, indices 4, 5, 6), (processor 3 index 2) XX\item[] processor 3: (processor 1, index 1),(processor 2 indices 1, 3, 4) XX\end{itemize} XX\end{itemize} XX\end{figure} XX\begin{figure} XX\caption{Gather Example \label{gather-example}} XX\begin{itemize} XX\item[] Gather: XX\begin{itemize} XX\item[] {\em inputs} schedule {\tt S} produces by {\em Scheduler} XX\item[] {\em inputs} pointer to local array {\tt aloc} from which gathered elements XXare to be fetched XX\item[] {\em outputs} fetched elements placed in local array {\tt buffer} XX\end{itemize} XX\item[] E.g. assume XX\begin{itemize} XX\item[] processor 1: ${\tt aloc(i) = 100 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt aloc(i) = 200 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt aloc(i) = 300 + i}$ , ${\tt 1 \leq i }$ XX\end{itemize} XX\item[] Gather returns: XX\item[] XX\centering XX\begin{tabular}{|c|c|c|c|} \hline XXbuffer & Processor & Processor & Processor \\ XX & 1 & 2 & 3 \\ \hline XX1 & 205 & 104 &101 \\ XX2 & 307 & 105 &201 \\ XX3 & - & 106 &203 \\ XX4 & - & 302 &204 \\ XX\hline XX\end{tabular} XX\end{itemize} XX\end{figure} XX\begin{figure} XX\caption{Scatter Example \label{scatter-example}} XX\begin{itemize} XX\item[] Scatter: XX\begin{itemize} XX\item[] {\em inputs} schedule {\tt S} produces by {\em Scheduler} XX\item[] {\em inputs} elements to be scattered, these are placed in local array {\tt buffer} XX\item[] {\em outputs} scattered elements, these are placed in local array {\tt aloc} XX\end{itemize} XX\item[] E.g. assume XX\begin{itemize} XX\item[] processor 1: ${\tt buffer(i) = 100 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt buffer(i) = 200 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt buffer(i) = 300 + i}$ , ${\tt 1 \leq i }$ XX\end{itemize} XX\begin{itemize} XX\item[] processor 1: ${\tt aloc(i) = 0}$, ${\tt 1 \leq i}$ XX\item[] processor 1: ${\tt aloc(i) = 0}$, ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt aloc(i) = 0}$, ${\tt 1 \leq i }$ XX\end{itemize} XX\item[] After Scatter is called: XX\item[] XX\centering XX\begin{tabular}{|c|c|c|c|} \hline XXaloc & Processor & Processor & Processor \\ XX & 1 & 2 & 3 \\ \hline XX1 & 301 & 302 & 0 \\ XX2 & 0 & 0 & 204 \\ XX3 & 0 & 303 & 0 \\ XX4 & 201 & 304 & 0 \\ XX5 & 202 & 101 & 0 \\ XX6 & 203 & 0 & 0 \\ XX7 & 0 & 0 & 102 \\ XX\hline XX\end{tabular} XX\end{itemize} XX\end{figure} XX XX\subsubsection{Functioning of the Scheduler, Gather and Scatter\label{howto}} XX XXBoth the procedures {\em Scatter} and {\em Gather} XXhave three stages. They permute data into buffers to be sent. They XXperform the needed communication, then they perform another XXpermutation. XX XXThe scheduler first determines how many messages each processor must XXsend and receive during the data exchange phase. Defined on processor XX${\tt j}$ is an array ${\tt nmsgs^j}$. Processor {\tt j} sets the value XXof ${\tt nmsgs^j(i)}$ to $1$ if it needs data from processor ${\tt i}$ or to XX${\tt 0}$ if it does not. The scheduler then replaces ${\tt nmsgs^j}$ with XXthe element-by-element sum ${\tt nmsgs^j(i)} \leftarrow \sum_{k} XX{\tt nmsgs^k(i)}$. This operation utilizes a function that imposes a fan-in XXtree to find the sums. Since the resulting sum is kept in ${\tt XXnmsgs^j}$, at the end of the fan-in on every processor, ${\tt XXnmsgs^j(i)}$ is the number of messages that processor must XXsend during the exchange phase. Next, each processor sends a {\em XXrequest list} to every other processor. The request list sent from XXprocessor ${\tt p}$ to processor ${\tt q}$ contains the indices of XXdata needed by processor ${\tt p}$ that are stored on processor ${\tt q}$. XX XXThe number of non-empty request lists each processor will receive is XXequal to the number of messages that the processor will send in the XXgather or scatter phase. XXEach request list is placed in an array indexed by the XXprocessor from which the list came. When the scheduler is finished, XXeach processor has an array of request lists obtained from other XXprocessors. The ${\tt j^{th}}$ element of this array contains the request XXlist obtained from processor ${\tt j}$. At this point in the execution, XXeach processor ${\tt i}$ knows which elements of ${\tt aloc}$ local to XXprocessor ${\tt i}$ that must be XXsent to other processors. This information is used to generate the XXschedule {\tt S} of pairs of send and receive statements. These XXsend/receive pairs will exchange the requested data for either a gather XXor a scatter. XXThe gather or the scatter is passed the schedule {\tt S} with the XXrequired buffer space. It then carries out the required communication. XX XX XX\subsection{ schedule() \label{sched}} XX XXThis procedure carries out the preprocessing needed for XXcarrying out optimized gather exchanger and scatter XXexchanger routines. Every processor must participate XXin this procedure call. XXOn each processor, XXa schedule is passed a list of processors and local indices XXfrom which a gather procedure on that processor XXcan later obtain data (or to which XXa scatter procedure on that processor can later write data). XXschedule returns a pointer to a structure of type SCHED, XXthis pointer is used in gather, scatter and scatter\_FUNC XXoperations (Sections ~\ref{gather},~\ref{scatter},~\ref{scatterFUNC}). XX\begin{gronk} XX \item[Synopsis] XX \item XX SCHED *schedule(local,proc,ndata) XX XX \item[Parameter declarations] XX \item XX \begin{description} XX \item[int *local] local index to be gathered from or scattered to XX \item[int *proc] processors to be gathered from or scattered to XX \item[int ndata] number of data involved in gather or scatter XX \end{description} XX XX \item[Return value] XX \item XX Returns pointer to structure of type SCHED XX which can be used in PREFIXgather, PREFIXscatter, XX PREFIXscatter\_add, PREFIXscatter\_sub, PREFIXscatter\_mult. XX XX \item[Example] XX \item XXNode 0 schedules a fetch of elements 1 and 2 from a (so far unspecified) XXarray on node 1; XXnode 1 schedules a fetch of element 1 from an array on node 0 XXand 0 from an array on node 1. XX\vspace{.2in} XX XX\begin{verbatim} XX XXint local[2], proc[2], ndata; XXSCHED *schedinfo; XX XX XX XXif(mynode()==0){ XX proc[0] = 1; XX local[0] = 1; XX proc[1] = 1; XX local[1] = 2; XX ndata = 2; XX} XX XXif(mynode()==1){ XX proc[0] = 0; XX local[0] = 1; XX proc[1] = 1; XX local[1] = 0; XX ndata = 2; XX} XX XX XXschedinfo = schedule(local,proc,ndata); XX XX XX\end{verbatim} XX\end{gronk} XX XX\subsection{PREFIXgather()} \label{gather} XX XXPREFIX can be d (double precision), i (integer) , f (floating point) XXor c (character) XXThis procedure is the gather exchanger procedure described XXabove and in ~\cite{icase90-41}. XXPREFIXgather uses a schedule produced by a call to schedule, XXthe schedule is passed to PREFIXgather in XXstructure SCHED schedinfo. XXCopies of data values obtained XXfrom other processors are placed in memory pointed XXto by buffer. XXAlso passed to PREFIX gather XXis a pointer to the location from XXwhich data is to be fetched {\em on the calling processor}. XXThis pointer is designated here as aloc, XXaloc corresponds to $aloc^i$ above and in ~\cite{icase90-41}. XX XX XX\begin{gronk} XX \item[Synopsis] XX \item XX void PREFIXgather(schedinfo,buffer,aloc) XX XX \item[Parameter Declarations] XX \item XX \begin{description} XX \item[SCHED *schedinfo] information obtained from schedule's preprocessing XX of reference pattern XX \item[TYPE *buffer] pointer to buffer for copies of gathered data values XX \item[TYPE *aloc] location from which data is to be fetched from calling XX processor XX \end{description} XX XX \item[Return Value] XX \item None XX XX \item[Example] XX \item XX We assume that schedule has already been called with the XX parameters presented in Section~\ref{sched}. XX Our example will assume that we wish to gather double XX precision numbers, i.e. that we will be calling XX dgather. XX\vspace{.15in} XX On each processor, *aloc points to the arrays from XX which values are to be obtained. *buffer XX points to the location into which will be XX placed copies of data values obtained from other processors. XX XX XX\vspace{.2in} XX\begin{verbatim} XX XX double buffer[2], aloc[3]; XX SCHED *schedinfo; XX XX XX for(i=0;i<3;i++){ XX aloc[i] = mynode() + 0.1*i; XX } XX XX dgather(schedinfo,buffer,aloc); XX XX\end{verbatim} XXOn processor 0, buffer[0] and XXbuffer[1] are now equal to 1.1 and 1.2. On processor 1, buffer[0] and XXbuffer[1] are now equal to 0.1 and 1.0. XX XX\end{gronk} XX\vspace{.2in} XX\subsection{PREFIXscatter()\label{scatter}} XX XXPREFIX can be d (double precision), i (integer) , f (floating point) XXor c (character). XXThis procedure is the scatter exchanger procedure described XXabove and in ~\cite{icase90-41}. XXPREFIXscatter uses a schedule produced by a call to schedule, XXthe schedule is passed to PREFIXscatter in XXstructure SCHED schedinfo. XXCopies of data values to be scattered to XXother processors are placed in memory pointed XXto by buffer. XXAlso passed to PREFIX scatter XXis a pointer to the location to XXwhich copies of data are to be written {\em on the calling processor}. XXThis pointer is designated here as aloc, XXaloc corresponds to $aloc^i$ above and in ~\cite{icase90-41}. XX XX\begin{gronk} XX \item[Synopsis] XX \item void PREFIXscatter(schedinfo,buffer,aloc) XX XX \item[Parameter Declarations] XX \item XX \begin{description} XX \item[SCHED schedinfo] information obtained from schedule's preprocessing XX of reference pattern XX \item[TYPE *buffer] points to data values to be XX scattered from a given processor XX \item[TYPE *aloc] points to first memory location on calling processor XX for scattered data XX XX \end{description} XX XX \item[Return Value] XX \item None XX XX \item[Example] XX \item XX We assume that schedule has already been called with the XX parameters presented in Section~\ref{sched}. XX Our example will assume that we wish to scatter double XX precision numbers, i.e. that we will be calling XX dscatter. XX On each processor, *aloc points to the arrays to XX which values are to scattered. *buffer XX points to the location from which will XX be obtained data that will be scattered XX The processor and local\_array index XX to which the values are to be scattered was designated XX during an earlier call to schedule. XX XX\vspace{.2in} XX\begin{verbatim} XX XX double buffer[2], aloc[3]; XX SCHED *schedinfo; XX XX XX for(i=0;i<3;i++){ XX aloc[i] = 10.0; XX } XX XX if(mynode()==0){ XX buffer[0] = 444.44; XX buffer[1] = 555.55; XX } XX XX if(mynode()==1){ XX buffer[0] = 666.66; XX buffer[1] = 777.77; XX } XX XX dscatter(schedinfo,buffer,aloc); XX XX\end{verbatim} XXOn processor 0, the first three elements XXof aloc are 10.0, 666.66 and 10.0. XXOn processor 1, the first three elements XXof aloc are 777.77, 444.44 and 555.55. XX\end{gronk} XX\subsection{PREFIXscatter\_FUNC()\label{scatterFUNC}} XX XX\vspace{.2in} XXPREFIX can be d (double precision), i (integer) , f (floating point) XXor c (character). XXFUNC can be add, sub or mult . XXPREFIXscatter stores data values to specified locations. XXPREFIXscatter\_FUNC allows one processor to specify XXcomputations that are to be performed on the contents XXof given memory location of another processor. XXThe procedure is in other respects analogous to PREFIXscatter. XX XX\begin{gronk} XX \item[Synopsis] XX \item void PREFIXscatter\_FUNC(schedinfo,buffer,aloc) XX XX \item[Parameter Declarations] XX \item XX \begin{description} XX \item[SCHED *schedinfo] information obtained from schedule's preprocessing XX of reference pattern. XX \item[TYPE *buffer] points to data values that will form operands XX for the specified type of remote operation. XX \item[TYPE *aloc] points to first memory location on calling processor XX to be used as targets of remote operations. XX \end{description} XX XX \item[Return Value] XX \item None XX XX \item[Example] XX \item XX We assume that schedule has already been called with the XX parameters presented in Section~\ref{sched}. XX Our example will assume that we wish to scatter and add double XX precision numbers, i.e. that we will be calling XX dscatter\_add. XX\vspace{.15in} XX On each processor, *aloc points to the arrays XX to which values are to be scattered and added. *buffer XX points to the location from which will be obtained XX the values to be scattered and added. XX The processor and local\_array index XX to which the values are to be scattered and added was designated XX during an earlier call to schedule. XX XX\vspace{.2in} XX\begin{verbatim} XX XX double buffer[2], aloc[3]; XX SCHED *schedinfo; XX XX XX for(i=0;i<3;i++){ XX aloc[i] = 10.0; XX } XX XX if(mynode()==0){ XX buffer[0] = 444.44; XX buffer[1] = 555.55; XX } XX XX if(mynode()==1){ XX buffer[0] = 666.66; XX buffer[1] = 777.77; XX } XX XX dscatter_add(schedinfo,buffer,aloc); XX XX\end{verbatim} XXOn processor 0, the first three elements XXof aloc are 10.0, 676.66 and 10.0. XXOn processor 1, the first three elements XXof aloc are 787.77, 454.44 and 565.55. XX\end{gronk} XX XX\subsection{ build\_translation\_table()} \label{indirect} XX XXIn order to allow a user to XXassign globally XXnumbered indices to processors in an irregular pattern, XXit is useful to be able to define and access a XXdistributed translation table. XXBy using a distributed translation table, XXit is possible to avoid replicating records XXof where distributed array elements are stored in XXall processors. XXThe distributed table is itself partitioned in a very XXregular manner. XXA processor that seeks to access an element I of XXa irregularly distributed data array is able XXto compute a simple function that designates XXa location in the distributed table; XXthe location of the actual array element sought XXis obtained from the distributed table. XX XXThe procedure build\_translation\_table XXconstructs a distributed translation table. It assumes that XXdistributed array elements are globally numbered. XXEach processor XXpasses build\_translation\_table XXa set of indices for which it will be responsible. XXThe distributed translation table may be striped or blocked XXacross the processors. With a striped XXtranslation table, the translation table XXentry for global index I is stored in processor (I modulo XXnumber\_of\_processors); the local index of the XXtranslation table is (I/ number\_of\_processors). XXIn a blocked translation table, translation table XXentries are partitioned into a number of equal sized ranges XXof contiguous integers, these ranges XXare placed in consecutively numbered processors. XXWith blocked partitioning, the block corresponding to index XXI is (I/B) and the local index is (I modulo B), where B is XXthe size of the block. Let M be the maximum global index XXpassed to build\_translation\_table by any processor and NP XXrepresent the number of processors; B = $\lceil {M/NP} \rceil$. XX XXbuild\_translation\_table returns a pointer to a structure of type TTABLE; XXthis pointer is used in dereference, defined in XXsection ~\ref{dereference}. XX XX\begin{gronk} XX \item[Synopsis] XX \item TTABLE *build\_translation\_table(part,indexarray,ndata) XX XX \item[Parameter Declarations] XX \item XX \begin{description} XX \item[int part] how translation table will be mapped - XX may be BLOCKED or STRIPED XX \item[int *indexarray] each processor P XX specifies list of globally XX numbered indices for which P will be responsible XX \item[int ndata] number of indices for which processor P will XX be responsible XX \end{description} XX XX \item[Return Value] XX \item XX structure of type TTABLE; this structure contains XX a given processor's portion of the distributed translation table XX XX \item[Example] XX \item XXAn example to demonstrate XXthe use of both build\_translation\_table and dereference can be XXfound in Section ~\ref{dereference}. XX\end{gronk} XX XX\subsection{ dereference()\label{dereference}} XX XXdereference accesses the distributed translation table XXconstructed in build\_translation\_table. XX XXdereference is passed a pointer to a structure of type XXTTABLE; this structure defines XXthe irregularly distributed mapping created in XXprocedure build\_translation\_table. XXdereference is passed an array with global indices XXthat need to be located in distributed memory; XXdereference returns arrays local and proc that contain XXthe processors and local indices corresponding to XXthe global indices. XX XX\begin{gronk} XX \item[Synopsis] XX \item void dereference(global,local,proc,ndata,index\_table) XX XX XX \item[Parameter declarations] XX \item XX \begin{description} XX \item[int *global] list of global indices we wish XX to locate in distributed memory XX \item[int *local] local indices obtained from the XX distributed translation table that correspond to XX the global indices passed to dereference XX \item[int *proc] array of distributed XX translation table processor assignments for XX each global index passed to dereference XX \item[int ndata] number of elements to be dereferenced XX \item[TTABLE *index\_table] distributed XX translation table datastructure XX created in build\_translation\_table XX \end{description} XX XX \item[Return value] XX \item None XX XX \item[Example] XX \item XXA one dimensional XXdistributed array is partitioned in some irregular manner XXso we need a distributed translation table to keep XXtrack of where one can find the value of a given XXelement of the distributed array. XX XX XXIn the example below, we initialize a translation table. XXProcessor 0 calls build\_translation\_table and assigns XXindices 0 and 3 to processor 0, processor 1 calls XXbuild\_translation\_table and assigns indices 1 and 2 to processor 1. XXThe translation table is partitioned between processors XXin blocks. XX XX XXProcessor 0 then uses the translation table to dereference global variables XX0 and 1, processor 1 uses the translation table to dereference XXglobal variables 2 and 3. On each processor, dereference carries XXout a translation table lookup. XXThe values of proc and local are returned XXby dereference are shown in Table ~\ref{dereftable}). XXThe user gets to specify the processor to which each global index is XXassigned, note however that build\_translation\_table assigns XXlocal indices. XX XX\begin{table} XX\centering XX\caption{Values obtained by dereference} XX\label{dereftable} XX\begin{tabular}{|c|c|c|c|c|c|} \hline XXProcessor & proc[0] & local[0] & proc[1]& local[1] \\ \hline XX0 & 0 & 0 & 1 & 0 \\ XX1 & 1 & 1 & 0 & 1 \\ XX\hline XX\end{tabular} XX\end{table} XX\begin{verbatim} XX XX#include XX#include "parti.h" XX XXmain() XX{ XX int size, i, *index_array; XX int *deref_array; XX int *local, *proc; XX TTABLE *table; XX XX XX size = 2; XX index_array = (int *) malloc(sizeof(int)*size); XX deref_array = (int *) malloc(sizeof(int)*size); XX local = (int *) malloc(sizeof(int)*size); XX proc = (int *) malloc(sizeof(int)*size); XX XX/*Assign indices 0 and 3 to processor 0 */ XXif(mynode()==0) XX { XX index_array[0] = 0; XX index_array[1] = 3; XX } XX/*Assign indices 1 and 2 to processor 1 */ XXif(mynode()==1) XX { XX index_array[0] = 1; XX index_array[1] = 2; XX } XX XX /* set up a translation table */ XX XX table = build_translation_table(BLOCKED,index_array,size); XX XX XX/* Processor 0 seeks processor and local indices XXfor global array indices 0 and 1 */ XXif(mynode()==0) XX { XX deref_array[0] = 0; XX deref_array[1] = 1; XX } XX/* Processor 1 seeks processor and local indices XXfor global array indices 2 and 3 */ XXif(mynode()==1) XX { XX deref_array[0] = 2; XX deref_array[1] = 3; XX } XX XX /* Dereference a set of global variables */ XX XX dereference(table,deref_array,local,proc,size); XX XX/* local and proc return the processors and local indices where XXglobal array indices are stored. XXIn processor 0, proc[0] = 0, proc[1] = 1, local[0] = 0 , local[1] = 0; XXIn processor 1, proc[0] = 1, proc[1] = 0, local[0] = 1 , local[1] = 1; XX*/ XX} XX XX\end{verbatim} XX XXNow assume that processor 0 needs to know to values of XXdistributed array elements 0,1, and 3 while processor 1 XXneeds to know the value of element 2. XXWe call dereference to find the processors and the local XXindices that correspond to each global index. XXAt this point schedule can be called and XXgathers and scatters carried out. XX XX XX\end{gronk} XX XX\subsection{ localize() } \label{localize} XX When loops access data residing off processor, some pre-processing XXis necessary before these loops can be executed. The pre-processing involves XXsetting a schedule to bring in the off-processor data, and changing all XXthe global references to local ones. XXThe primitive XX{\tt localize} makes calls to {\tt dereference} and {\tt schedule} XXto do all the necessary processing. XXThe schedule pointer returned by {\tt localize} XXis used to gather data and store it at the end of the local array. XXThis schedule pointer is created such that multiple copies of the XXsame data is not brought in during the gather phase. The elemination XXof duplicates is achieved by using a hash table. XX{\tt Localize} returns the local reference string corresponding XXto the global references which are passed as a parameter to it. The XXnumber of off processor data elements are also returned by {\tt localize} XXso that one can allocate enough space at the end of the local array. XX\begin{gronk} XX \item[Synopsis] XX \item void localize(tabptr,lsched,global\_refs, XX local\_refs,ndata,n\_off\_proc,my\_size) XX \item[Parameter Declarations] XX \item XX \begin{description} XX \item[TTABLE *tabptr] pointer to the distributed translation table, XXbuild for the local array being dealt with. XX \item[SCHED **lsched] pointer to the data structure for schedule, which XXstores all the send receive information (returned by {\tt localize}). XX \item[int *global\_refs] pointer to the array which stores all the XXglobal reference string. XX \item[int *local\_refs] pointer to the array which stores the XXlocal reference string corresponding to the global references (returned by XX{\tt localize}). XX \item[int ndata] number of global references. XX \item[int *n\_off\_proc] address of the number of off processor XXdata (returned by {\tt localize}). XX \item[int my\_size] the size of my local array. XX \end{description} XX XX \item[Return Value] XX \item None XX XX \item[Example] XX \item XX Nodes 0 and 1 takes part in a computation which involves a loop XXwhich refers to data residing off processor. The irregularly distributed XXarrays are {\tt x} and {\tt y}. XXBoth the arrays have the same distribution pattern. XXNode 0 contains global indices 0, 1 and 2, while node 1 contains 3, 4, 5, 6 XXand 7. During the actual computation both nodes 0 and 1 needs to access XXcertain elements of the {\tt y} array. The global indices that node 0 has XXto access is 3, 7 and 1, and node 1 has to access 4, 2, 3, 0 and 6. Now we XXwill present the inspector-executor code for the senario described above. XX\vspace{.2in} XX\begin{verbatim} XX XXint i,ndata,indirection; XXint local[5],global_ref[5],local_ref[5]; XXdouble x[5],y[5]; XXTTABLE *tabptr; XXSCHED *schedptr; XX XX XX/* the following is the inspector code */ XX XXif(mynode() == 0){ XX local[0] = 0; XX local[1] = 1; XX local[2] = 2; XX ndata = 3; XX tabptr = build_translation_table(1,local,ndata); XX global_ref[0] = 3; XX global_ref[1] = 7; XX global_ref[2] = 1; XX localize(tabptr,&schedptr,global_ref, XX local_ref,ndata,&n_off_proc,3); XX} else { XX local[0] = 3; XX local[1] = 4; XX local[2] = 5; XX local[3] = 6; XX local[4] = 7; XX ndata = 5; XX tabptr = build_translation_table(1,local,ndata); XX global_ref[0] = 4; XX global_ref[1] = 2; XX global_ref[2] = 3; XX global_ref[3] = 0; XX global_ref[4] = 6; XX localize(tabptr,&schedptr,global_ref, XX local_ref,ndata,&n_off_proc,5); XX} XX XX XX/* end of the inspector. Let us assign values to XX the distributed arrays */ XX XXfor(i=0;i XX#include XX#include XX#include "parti.h" XX#include "main.h" XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX int i, j, count; XX TTABLE *table; XX SCHED *sr; XX double *x, *y, *z; XX XX /* XX * ------------------------------------ XX * Get sparse matrix from host program. XX * ------------------------------------ XX */ XX XX get_sparse_mat(); XX XX /* XX * ------------------------------------------------------- XX * Build translation table by scattering Row to the table. XX * IN: Row[i] OUT: table XX * ------------------------------------------------------- XX */ XX XX table = build_translation_table(BLOCKED,Row,Myrows); XX XX /* XX * ------------------------------------------------------ XX * Look up address of Cols and put them in Local and Proc. XX * IN: Cols[i],table OUT: Local[i],Proc[i] XX * ------------------------------------------------------ XX */ XX XX dereference(table,Cols,Local,Proc,Mynonzeros); XX XX/* XX * ---------------------------------------------------- XX * Loop through all proc/offset pairs and decide which XX * must be fetched from other processors. XX * IN: Local[i],Proc[i] OUT: Fetch_l[i],Fetch_p[i] XX * ---------------------------------------------------- XX */ XX XX gen_fetch_list(); XX XX/* XX * ----------------------------------------------------------- XX * Allocate memory for vectors , and set x[i] = i for local i. XX * ----------------------------------------------------------- XX */ XX XX x = (double *) malloc(sizeof(double)*Myrows); XX y = (double *) malloc(sizeof(double)*Myrows); XX XX for(i=0;i= MAX_ROWS ){ XX fprintf(stderr,"Error on node %d : too many rows!!!\n",mynode()); XX exit(); XX } XX XX if( Mynonzeros >= MAX_NONZEROS ){ XX fprintf(stderr,"Error on node %d : too many nonzeros!!!\n", XX mynode()); XX exit(); XX } XX XX for( j=0; j'gronk' <<'END_OF_FILE' XX\newenvironment{gronk}% XX{\begin{list}{}{\setlength{\leftmargin}{0.2in}} \vspace{0.2in}}% XX{\end{list}\vspace{0.2in}} XEND_OF_FILE Xif test 116 -ne `wc -c <'gronk'`; then X echo shar: \"'gronk'\" unpacked with wrong size! Xfi X# end of 'gronk' Xfi Xif test -f 'makefile' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'makefile'\" Xelse Xecho shar: Extracting \"'makefile'\" \(1035 characters\) Xsed "s/^X//" >'makefile' <<'END_OF_FILE' XX################################################################### XX# # XX# PARTI : Parallel Automated Runtime Tools from ICASE # XX# This is the makefile for the documentation subdirectory. As # XX# text format programs are very much site-dependent, any user # XX# shouldbe very careful about using this makefile. The targets are# XX# usually shipped. # XX# # XX# Version 1.0 25 August 1990 # XX# Version 1.1 1 January 1991 # XX# # XX# - Harry Scott Berryman # XX################################################################### XXall : doc.dvi doc.ps XXdoc.ps : doc.dvi XX dvi2ps doc.dvi > doc.ps XXdoc.dvi : doc.tex doc.bbl XX latex doc.tex XXclean : XX rm -f doc.dvi doc.log doc.ps doc.aux XEND_OF_FILE Xif test 1035 -ne `wc -c <'makefile'`; then X echo shar: \"'makefile'\" unpacked with wrong size! Xfi X# end of 'makefile' Xfi Xecho shar: End of shell archive. Xexit 0 END_OF_FILE if test 72405 -ne `wc -c <'docs.shar'`; then echo shar: \"'docs.shar'\" unpacked with wrong size! fi # end of 'docs.shar' fi if test -f 'free.shar' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'free.shar'\" else echo shar: Extracting \"'free.shar'\" \(40842 characters\) sed "s/^X//" >'free.shar' <<'END_OF_FILE' X#! /bin/sh X# This is a shell archive. Remove anything before this line, then unpack X# it by saving it into a file and typing "sh file". To overwrite existing X# files, type "sh file -c". You can also feed this as standard input via X# unshar, or by typing "sh 'cg.c' <<'END_OF_FILE' XX/**********************************************************/ XX/* PARTI program for cg method over arbitrary sparse mat */ XX/* */ XX/* This program reads in a sparse matrix structure, and */ XX/* solves a linear system of equations for the matrix. */ XX/* This is the node program. The host program (cg_host.c) */ XX/* is required to run this as is a data file in a format */ XX/* descibed in the comments of the ost program. In this */ XX/* program, the sparse matrix is stored in a global data */ XX/* structure. This program: */ XX/* 1) gets the sparse matrix (withsome help from */ XX/* cg_host.c) */ XX/* 2) does lots of memory and addres stuff on it */ XX/* 3) generates a vector x */ XX/* 4) multiplys x by the matrix, getting y */ XX/* 5) solves Az=y using cg */ XX/* */ XX/* -Scott Berryman, ICASE/NASA Langley Research Center */ XX/* 30 Aug 1990 */ XX/**********************************************************/ XX#include XX#include XX#include XX#include "parti.h" XX XX/* define msg types and buffer sizes for reading the sparse mat from file */ XX#define GO_AHEAD 101 XX#define X_MSG 102 XX#define BUFFER_SIZE 1000 XX#define ROW_DATA_MSG 123 XX#define SETUP_MSG 22323 XX XX/* define max size of sparse mat */ XX#define MAX_NONZEROS 163840 XX#define MAX_ROWS 32768 XX XX#define PI 3.141 XX XX /* sparse matrix data structure in its traditional CRS format */ XX int Size,Myrows,Nrows,Mynonzeros; XX int Cols[MAX_NONZEROS],Ncols[MAX_ROWS]; XX float Vals[MAX_NONZEROS]; XX XX /* extra data structures needed for parallel version */ XX /* Row[i] is the global row number of the row stored */ XX /* at location i. */ XX /* Local[j],Proc[j] represent the proc/offset pair */ XX /* for column j. */ XX /* Fetch_p[i],Fetch_l[i] represent the proc/offset */ XX /* of the ith off-processor col. */ XX int Row[MAX_ROWS],Local[MAX_NONZEROS],Proc[MAX_NONZEROS]; XX int *Fetch_p,*Fetch_l,Nfetch; XX XX /* define function types */ XX float gen_check_sum(); XX float *cg(); XX float dot(); XX XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX int i,j,count; XX TTABLE *table; XX SCHED *sr; XX float *x,*y,*z; XX XX /* get sparse matrix from cg_host */ XX get_sparse_mat(); XX XX /* build translation table by scattering Row to the table */ XX /* IN: Row[i] OUT: table */ XX table = build_translation_table(BLOCKED,Row,Myrows); XX XX /* Look up address of Cols and put them in Local and Proc */ XX /* IN: Cols[i],table OUT: Local[i],Proc[i] */ XX dereference(table,Cols,Local,Proc,Mynonzeros); XX XX /* loop through all proc/ogffset pairs and decide which */ XX /* must be fetched from other processors */ XX /* IN: Local[i],Proc[i] OUT: Fetch_l[i],Fetch_p[i] */ XX gen_fetch_list(); XX XX /* allocate memory for vectors , and set x[i] = i for local i */ XX x = (float *) malloc(sizeof(float)*Myrows); XX y = (float *) malloc(sizeof(float)*Myrows); XX for(i=0;i=MAX_ROWS){ XX fprintf(stderr,"Error on node %d : too many rows!!!\n",mynode()); XX exit(); XX } XX if(Mynonzeros>=MAX_NONZEROS){ XX fprintf(stderr,"Error on node %d : too many nonzeros!!!\n",mynode()); XX exit(); XX } XX XX for(j=0;j'cg_host.c' <<'END_OF_FILE' XX#include XX XX#define BUFFER_SIZE 1000 XX#define ROW_DATA_MSG 123 XX#define SETUP_MSG 22323 XX XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX int i,j,buffer_size[128],buffer[128][BUFFER_SIZE]; XX int rows_per_proc,setup_buffer[129]; XX int row_count[128],nonzeros,nrows,*ptr,proc,ncols; XX FILE *fp; XX XX /* find input file name */ XX if((fp=fopen(argv[1],"r"))==NULL){ XX fprintf(stderr,"Error: cannot open %s for input\n",argv[1]); XX exit(1); XX } XX XX XX setpid(1); XX load("cg",-1,0); XX XX /* init buffers */ XX for(i=0;i=numnodes()) | (proc<0)){ XX fprintf(stderr,"Grrrrrrr....."); XX } XX row_count[proc]++; XX XX /* if buffer doesn'ty have enough room, flush it. */ XX if(BUFFER_SIZE<=buffer_size[proc] + ncols+2){ XX csend(ROW_DATA_MSG,buffer[proc],sizeof(int)*buffer_size[proc],proc,0); XX buffer_size[proc] = 0; XX } XX XX /* add ncols and cols to buffer */ XX ptr = &buffer[proc][buffer_size[proc]]; XX buffer_size[proc] += 2+ncols; XX ptr[0] = i; XX ptr[1] = ncols; XX for(j=0;j0){ XX csend(ROW_DATA_MSG,buffer[i],sizeof(int)*buffer_size[i],i,0); XX } XX } XX XX /* Tell each proc how many rows to expect */ XX for(i=0;i'data' <<'END_OF_FILE' XX1024 3968 XX 2 1 32 XX 3 2 33 0 XX 3 3 34 1 XX 3 4 35 2 XX 3 5 36 3 XX 3 6 37 4 XX 3 7 38 5 XX 3 8 39 6 XX 3 9 40 7 XX 3 10 41 8 XX 3 11 42 9 XX 3 12 43 10 XX 3 13 44 11 XX 3 14 45 12 XX 3 15 46 13 XX 3 16 47 14 XX 3 17 48 15 XX 3 18 49 16 XX 3 19 50 17 XX 3 20 51 18 XX 3 21 52 19 XX 3 22 53 20 XX 3 23 54 21 XX 3 24 55 22 XX 3 25 56 23 XX 3 26 57 24 XX 3 27 58 25 XX 3 28 59 26 XX 3 29 60 27 XX 3 30 61 28 XX 3 31 62 29 XX 2 63 30 XX 3 33 64 0 XX 4 34 65 1 32 XX 4 35 66 2 33 XX 4 36 67 3 34 XX 4 37 68 4 35 XX 4 38 69 5 36 XX 4 39 70 6 37 XX 4 40 71 7 38 XX 4 41 72 8 39 XX 4 42 73 9 40 XX 4 43 74 10 41 XX 4 44 75 11 42 XX 4 45 76 12 43 XX 4 46 77 13 44 XX 4 47 78 14 45 XX 4 48 79 15 46 XX 4 49 80 16 47 XX 4 50 81 17 48 XX 4 51 82 18 49 XX 4 52 83 19 50 XX 4 53 84 20 51 XX 4 54 85 21 52 XX 4 55 86 22 53 XX 4 56 87 23 54 XX 4 57 88 24 55 XX 4 58 89 25 56 XX 4 59 90 26 57 XX 4 60 91 27 58 XX 4 61 92 28 59 XX 4 62 93 29 60 XX 4 63 94 30 61 XX 3 95 31 62 XX 3 65 96 32 XX 4 66 97 33 64 XX 4 67 98 34 65 XX 4 68 99 35 66 XX 4 69 100 36 67 XX 4 70 101 37 68 XX 4 71 102 38 69 XX 4 72 103 39 70 XX 4 73 104 40 71 XX 4 74 105 41 72 XX 4 75 106 42 73 XX 4 76 107 43 74 XX 4 77 108 44 75 XX 4 78 109 45 76 XX 4 79 110 46 77 XX 4 80 111 47 78 XX 4 81 112 48 79 XX 4 82 113 49 80 XX 4 83 114 50 81 XX 4 84 115 51 82 XX 4 85 116 52 83 XX 4 86 117 53 84 XX 4 87 118 54 85 XX 4 88 119 55 86 XX 4 89 120 56 87 XX 4 90 121 57 88 XX 4 91 122 58 89 XX 4 92 123 59 90 XX 4 93 124 60 91 XX 4 94 125 61 92 XX 4 95 126 62 93 XX 3 127 63 94 XX 3 97 128 64 XX 4 98 129 65 96 XX 4 99 130 66 97 XX 4 100 131 67 98 XX 4 101 132 68 99 XX 4 102 133 69 100 XX 4 103 134 70 101 XX 4 104 135 71 102 XX 4 105 136 72 103 XX 4 106 137 73 104 XX 4 107 138 74 105 XX 4 108 139 75 106 XX 4 109 140 76 107 XX 4 110 141 77 108 XX 4 111 142 78 109 XX 4 112 143 79 110 XX 4 113 144 80 111 XX 4 114 145 81 112 XX 4 115 146 82 113 XX 4 116 147 83 114 XX 4 117 148 84 115 XX 4 118 149 85 116 XX 4 119 150 86 117 XX 4 120 151 87 118 XX 4 121 152 88 119 XX 4 122 153 89 120 XX 4 123 154 90 121 XX 4 124 155 91 122 XX 4 125 156 92 123 XX 4 126 157 93 124 XX 4 127 158 94 125 XX 3 159 95 126 XX 3 129 160 96 XX 4 130 161 97 128 XX 4 131 162 98 129 XX 4 132 163 99 130 XX 4 133 164 100 131 XX 4 134 165 101 132 XX 4 135 166 102 133 XX 4 136 167 103 134 XX 4 137 168 104 135 XX 4 138 169 105 136 XX 4 139 170 106 137 XX 4 140 171 107 138 XX 4 141 172 108 139 XX 4 142 173 109 140 XX 4 143 174 110 141 XX 4 144 175 111 142 XX 4 145 176 112 143 XX 4 146 177 113 144 XX 4 147 178 114 145 XX 4 148 179 115 146 XX 4 149 180 116 147 XX 4 150 181 117 148 XX 4 151 182 118 149 XX 4 152 183 119 150 XX 4 153 184 120 151 XX 4 154 185 121 152 XX 4 155 186 122 153 XX 4 156 187 123 154 XX 4 157 188 124 155 XX 4 158 189 125 156 XX 4 159 190 126 157 XX 3 191 127 158 XX 3 161 192 128 XX 4 162 193 129 160 XX 4 163 194 130 161 XX 4 164 195 131 162 XX 4 165 196 132 163 XX 4 166 197 133 164 XX 4 167 198 134 165 XX 4 168 199 135 166 XX 4 169 200 136 167 XX 4 170 201 137 168 XX 4 171 202 138 169 XX 4 172 203 139 170 XX 4 173 204 140 171 XX 4 174 205 141 172 XX 4 175 206 142 173 XX 4 176 207 143 174 XX 4 177 208 144 175 XX 4 178 209 145 176 XX 4 179 210 146 177 XX 4 180 211 147 178 XX 4 181 212 148 179 XX 4 182 213 149 180 XX 4 183 214 150 181 XX 4 184 215 151 182 XX 4 185 216 152 183 XX 4 186 217 153 184 XX 4 187 218 154 185 XX 4 188 219 155 186 XX 4 189 220 156 187 XX 4 190 221 157 188 XX 4 191 222 158 189 XX 3 223 159 190 XX 3 193 224 160 XX 4 194 225 161 192 XX 4 195 226 162 193 XX 4 196 227 163 194 XX 4 197 228 164 195 XX 4 198 229 165 196 XX 4 199 230 166 197 XX 4 200 231 167 198 XX 4 201 232 168 199 XX 4 202 233 169 200 XX 4 203 234 170 201 XX 4 204 235 171 202 XX 4 205 236 172 203 XX 4 206 237 173 204 XX 4 207 238 174 205 XX 4 208 239 175 206 XX 4 209 240 176 207 XX 4 210 241 177 208 XX 4 211 242 178 209 XX 4 212 243 179 210 XX 4 213 244 180 211 XX 4 214 245 181 212 XX 4 215 246 182 213 XX 4 216 247 183 214 XX 4 217 248 184 215 XX 4 218 249 185 216 XX 4 219 250 186 217 XX 4 220 251 187 218 XX 4 221 252 188 219 XX 4 222 253 189 220 XX 4 223 254 190 221 XX 3 255 191 222 XX 3 225 256 192 XX 4 226 257 193 224 XX 4 227 258 194 225 XX 4 228 259 195 226 XX 4 229 260 196 227 XX 4 230 261 197 228 XX 4 231 262 198 229 XX 4 232 263 199 230 XX 4 233 264 200 231 XX 4 234 265 201 232 XX 4 235 266 202 233 XX 4 236 267 203 234 XX 4 237 268 204 235 XX 4 238 269 205 236 XX 4 239 270 206 237 XX 4 240 271 207 238 XX 4 241 272 208 239 XX 4 242 273 209 240 XX 4 243 274 210 241 XX 4 244 275 211 242 XX 4 245 276 212 243 XX 4 246 277 213 244 XX 4 247 278 214 245 XX 4 248 279 215 246 XX 4 249 280 216 247 XX 4 250 281 217 248 XX 4 251 282 218 249 XX 4 252 283 219 250 XX 4 253 284 220 251 XX 4 254 285 221 252 XX 4 255 286 222 253 XX 3 287 223 254 XX 3 257 288 224 XX 4 258 289 225 256 XX 4 259 290 226 257 XX 4 260 291 227 258 XX 4 261 292 228 259 XX 4 262 293 229 260 XX 4 263 294 230 261 XX 4 264 295 231 262 XX 4 265 296 232 263 XX 4 266 297 233 264 XX 4 267 298 234 265 XX 4 268 299 235 266 XX 4 269 300 236 267 XX 4 270 301 237 268 XX 4 271 302 238 269 XX 4 272 303 239 270 XX 4 273 304 240 271 XX 4 274 305 241 272 XX 4 275 306 242 273 XX 4 276 307 243 274 XX 4 277 308 244 275 XX 4 278 309 245 276 XX 4 279 310 246 277 XX 4 280 311 247 278 XX 4 281 312 248 279 XX 4 282 313 249 280 XX 4 283 314 250 281 XX 4 284 315 251 282 XX 4 285 316 252 283 XX 4 286 317 253 284 XX 4 287 318 254 285 XX 3 319 255 286 XX 3 289 320 256 XX 4 290 321 257 288 XX 4 291 322 258 289 XX 4 292 323 259 290 XX 4 293 324 260 291 XX 4 294 325 261 292 XX 4 295 326 262 293 XX 4 296 327 263 294 XX 4 297 328 264 295 XX 4 298 329 265 296 XX 4 299 330 266 297 XX 4 300 331 267 298 XX 4 301 332 268 299 XX 4 302 333 269 300 XX 4 303 334 270 301 XX 4 304 335 271 302 XX 4 305 336 272 303 XX 4 306 337 273 304 XX 4 307 338 274 305 XX 4 308 339 275 306 XX 4 309 340 276 307 XX 4 310 341 277 308 XX 4 311 342 278 309 XX 4 312 343 279 310 XX 4 313 344 280 311 XX 4 314 345 281 312 XX 4 315 346 282 313 XX 4 316 347 283 314 XX 4 317 348 284 315 XX 4 318 349 285 316 XX 4 319 350 286 317 XX 3 351 287 318 XX 3 321 352 288 XX 4 322 353 289 320 XX 4 323 354 290 321 XX 4 324 355 291 322 XX 4 325 356 292 323 XX 4 326 357 293 324 XX 4 327 358 294 325 XX 4 328 359 295 326 XX 4 329 360 296 327 XX 4 330 361 297 328 XX 4 331 362 298 329 XX 4 332 363 299 330 XX 4 333 364 300 331 XX 4 334 365 301 332 XX 4 335 366 302 333 XX 4 336 367 303 334 XX 4 337 368 304 335 XX 4 338 369 305 336 XX 4 339 370 306 337 XX 4 340 371 307 338 XX 4 341 372 308 339 XX 4 342 373 309 340 XX 4 343 374 310 341 XX 4 344 375 311 342 XX 4 345 376 312 343 XX 4 346 377 313 344 XX 4 347 378 314 345 XX 4 348 379 315 346 XX 4 349 380 316 347 XX 4 350 381 317 348 XX 4 351 382 318 349 XX 3 383 319 350 XX 3 353 384 320 XX 4 354 385 321 352 XX 4 355 386 322 353 XX 4 356 387 323 354 XX 4 357 388 324 355 XX 4 358 389 325 356 XX 4 359 390 326 357 XX 4 360 391 327 358 XX 4 361 392 328 359 XX 4 362 393 329 360 XX 4 363 394 330 361 XX 4 364 395 331 362 XX 4 365 396 332 363 XX 4 366 397 333 364 XX 4 367 398 334 365 XX 4 368 399 335 366 XX 4 369 400 336 367 XX 4 370 401 337 368 XX 4 371 402 338 369 XX 4 372 403 339 370 XX 4 373 404 340 371 XX 4 374 405 341 372 XX 4 375 406 342 373 XX 4 376 407 343 374 XX 4 377 408 344 375 XX 4 378 409 345 376 XX 4 379 410 346 377 XX 4 380 411 347 378 XX 4 381 412 348 379 XX 4 382 413 349 380 XX 4 383 414 350 381 XX 3 415 351 382 XX 3 385 416 352 XX 4 386 417 353 384 XX 4 387 418 354 385 XX 4 388 419 355 386 XX 4 389 420 356 387 XX 4 390 421 357 388 XX 4 391 422 358 389 XX 4 392 423 359 390 XX 4 393 424 360 391 XX 4 394 425 361 392 XX 4 395 426 362 393 XX 4 396 427 363 394 XX 4 397 428 364 395 XX 4 398 429 365 396 XX 4 399 430 366 397 XX 4 400 431 367 398 XX 4 401 432 368 399 XX 4 402 433 369 400 XX 4 403 434 370 401 XX 4 404 435 371 402 XX 4 405 436 372 403 XX 4 406 437 373 404 XX 4 407 438 374 405 XX 4 408 439 375 406 XX 4 409 440 376 407 XX 4 410 441 377 408 XX 4 411 442 378 409 XX 4 412 443 379 410 XX 4 413 444 380 411 XX 4 414 445 381 412 XX 4 415 446 382 413 XX 3 447 383 414 XX 3 417 448 384 XX 4 418 449 385 416 XX 4 419 450 386 417 XX 4 420 451 387 418 XX 4 421 452 388 419 XX 4 422 453 389 420 XX 4 423 454 390 421 XX 4 424 455 391 422 XX 4 425 456 392 423 XX 4 426 457 393 424 XX 4 427 458 394 425 XX 4 428 459 395 426 XX 4 429 460 396 427 XX 4 430 461 397 428 XX 4 431 462 398 429 XX 4 432 463 399 430 XX 4 433 464 400 431 XX 4 434 465 401 432 XX 4 435 466 402 433 XX 4 436 467 403 434 XX 4 437 468 404 435 XX 4 438 469 405 436 XX 4 439 470 406 437 XX 4 440 471 407 438 XX 4 441 472 408 439 XX 4 442 473 409 440 XX 4 443 474 410 441 XX 4 444 475 411 442 XX 4 445 476 412 443 XX 4 446 477 413 444 XX 4 447 478 414 445 XX 3 479 415 446 XX 3 449 480 416 XX 4 450 481 417 448 XX 4 451 482 418 449 XX 4 452 483 419 450 XX 4 453 484 420 451 XX 4 454 485 421 452 XX 4 455 486 422 453 XX 4 456 487 423 454 XX 4 457 488 424 455 XX 4 458 489 425 456 XX 4 459 490 426 457 XX 4 460 491 427 458 XX 4 461 492 428 459 XX 4 462 493 429 460 XX 4 463 494 430 461 XX 4 464 495 431 462 XX 4 465 496 432 463 XX 4 466 497 433 464 XX 4 467 498 434 465 XX 4 468 499 435 466 XX 4 469 500 436 467 XX 4 470 501 437 468 XX 4 471 502 438 469 XX 4 472 503 439 470 XX 4 473 504 440 471 XX 4 474 505 441 472 XX 4 475 506 442 473 XX 4 476 507 443 474 XX 4 477 508 444 475 XX 4 478 509 445 476 XX 4 479 510 446 477 XX 3 511 447 478 XX 3 481 512 448 XX 4 482 513 449 480 XX 4 483 514 450 481 XX 4 484 515 451 482 XX 4 485 516 452 483 XX 4 486 517 453 484 XX 4 487 518 454 485 XX 4 488 519 455 486 XX 4 489 520 456 487 XX 4 490 521 457 488 XX 4 491 522 458 489 XX 4 492 523 459 490 XX 4 493 524 460 491 XX 4 494 525 461 492 XX 4 495 526 462 493 XX 4 496 527 463 494 XX 4 497 528 464 495 XX 4 498 529 465 496 XX 4 499 530 466 497 XX 4 500 531 467 498 XX 4 501 532 468 499 XX 4 502 533 469 500 XX 4 503 534 470 501 XX 4 504 535 471 502 XX 4 505 536 472 503 XX 4 506 537 473 504 XX 4 507 538 474 505 XX 4 508 539 475 506 XX 4 509 540 476 507 XX 4 510 541 477 508 XX 4 511 542 478 509 XX 3 543 479 510 XX 3 513 544 480 XX 4 514 545 481 512 XX 4 515 546 482 513 XX 4 516 547 483 514 XX 4 517 548 484 515 XX 4 518 549 485 516 XX 4 519 550 486 517 XX 4 520 551 487 518 XX 4 521 552 488 519 XX 4 522 553 489 520 XX 4 523 554 490 521 XX 4 524 555 491 522 XX 4 525 556 492 523 XX 4 526 557 493 524 XX 4 527 558 494 525 XX 4 528 559 495 526 XX 4 529 560 496 527 XX 4 530 561 497 528 XX 4 531 562 498 529 XX 4 532 563 499 530 XX 4 533 564 500 531 XX 4 534 565 501 532 XX 4 535 566 502 533 XX 4 536 567 503 534 XX 4 537 568 504 535 XX 4 538 569 505 536 XX 4 539 570 506 537 XX 4 540 571 507 538 XX 4 541 572 508 539 XX 4 542 573 509 540 XX 4 543 574 510 541 XX 3 575 511 542 XX 3 545 576 512 XX 4 546 577 513 544 XX 4 547 578 514 545 XX 4 548 579 515 546 XX 4 549 580 516 547 XX 4 550 581 517 548 XX 4 551 582 518 549 XX 4 552 583 519 550 XX 4 553 584 520 551 XX 4 554 585 521 552 XX 4 555 586 522 553 XX 4 556 587 523 554 XX 4 557 588 524 555 XX 4 558 589 525 556 XX 4 559 590 526 557 XX 4 560 591 527 558 XX 4 561 592 528 559 XX 4 562 593 529 560 XX 4 563 594 530 561 XX 4 564 595 531 562 XX 4 565 596 532 563 XX 4 566 597 533 564 XX 4 567 598 534 565 XX 4 568 599 535 566 XX 4 569 600 536 567 XX 4 570 601 537 568 XX 4 571 602 538 569 XX 4 572 603 539 570 XX 4 573 604 540 571 XX 4 574 605 541 572 XX 4 575 606 542 573 XX 3 607 543 574 XX 3 577 608 544 XX 4 578 609 545 576 XX 4 579 610 546 577 XX 4 580 611 547 578 XX 4 581 612 548 579 XX 4 582 613 549 580 XX 4 583 614 550 581 XX 4 584 615 551 582 XX 4 585 616 552 583 XX 4 586 617 553 584 XX 4 587 618 554 585 XX 4 588 619 555 586 XX 4 589 620 556 587 XX 4 590 621 557 588 XX 4 591 622 558 589 XX 4 592 623 559 590 XX 4 593 624 560 591 XX 4 594 625 561 592 XX 4 595 626 562 593 XX 4 596 627 563 594 XX 4 597 628 564 595 XX 4 598 629 565 596 XX 4 599 630 566 597 XX 4 600 631 567 598 XX 4 601 632 568 599 XX 4 602 633 569 600 XX 4 603 634 570 601 XX 4 604 635 571 602 XX 4 605 636 572 603 XX 4 606 637 573 604 XX 4 607 638 574 605 XX 3 639 575 606 XX 3 609 640 576 XX 4 610 641 577 608 XX 4 611 642 578 609 XX 4 612 643 579 610 XX 4 613 644 580 611 XX 4 614 645 581 612 XX 4 615 646 582 613 XX 4 616 647 583 614 XX 4 617 648 584 615 XX 4 618 649 585 616 XX 4 619 650 586 617 XX 4 620 651 587 618 XX 4 621 652 588 619 XX 4 622 653 589 620 XX 4 623 654 590 621 XX 4 624 655 591 622 XX 4 625 656 592 623 XX 4 626 657 593 624 XX 4 627 658 594 625 XX 4 628 659 595 626 XX 4 629 660 596 627 XX 4 630 661 597 628 XX 4 631 662 598 629 XX 4 632 663 599 630 XX 4 633 664 600 631 XX 4 634 665 601 632 XX 4 635 666 602 633 XX 4 636 667 603 634 XX 4 637 668 604 635 XX 4 638 669 605 636 XX 4 639 670 606 637 XX 3 671 607 638 XX 3 641 672 608 XX 4 642 673 609 640 XX 4 643 674 610 641 XX 4 644 675 611 642 XX 4 645 676 612 643 XX 4 646 677 613 644 XX 4 647 678 614 645 XX 4 648 679 615 646 XX 4 649 680 616 647 XX 4 650 681 617 648 XX 4 651 682 618 649 XX 4 652 683 619 650 XX 4 653 684 620 651 XX 4 654 685 621 652 XX 4 655 686 622 653 XX 4 656 687 623 654 XX 4 657 688 624 655 XX 4 658 689 625 656 XX 4 659 690 626 657 XX 4 660 691 627 658 XX 4 661 692 628 659 XX 4 662 693 629 660 XX 4 663 694 630 661 XX 4 664 695 631 662 XX 4 665 696 632 663 XX 4 666 697 633 664 XX 4 667 698 634 665 XX 4 668 699 635 666 XX 4 669 700 636 667 XX 4 670 701 637 668 XX 4 671 702 638 669 XX 3 703 639 670 XX 3 673 704 640 XX 4 674 705 641 672 XX 4 675 706 642 673 XX 4 676 707 643 674 XX 4 677 708 644 675 XX 4 678 709 645 676 XX 4 679 710 646 677 XX 4 680 711 647 678 XX 4 681 712 648 679 XX 4 682 713 649 680 XX 4 683 714 650 681 XX 4 684 715 651 682 XX 4 685 716 652 683 XX 4 686 717 653 684 XX 4 687 718 654 685 XX 4 688 719 655 686 XX 4 689 720 656 687 XX 4 690 721 657 688 XX 4 691 722 658 689 XX 4 692 723 659 690 XX 4 693 724 660 691 XX 4 694 725 661 692 XX 4 695 726 662 693 XX 4 696 727 663 694 XX 4 697 728 664 695 XX 4 698 729 665 696 XX 4 699 730 666 697 XX 4 700 731 667 698 XX 4 701 732 668 699 XX 4 702 733 669 700 XX 4 703 734 670 701 XX 3 735 671 702 XX 3 705 736 672 XX 4 706 737 673 704 XX 4 707 738 674 705 XX 4 708 739 675 706 XX 4 709 740 676 707 XX 4 710 741 677 708 XX 4 711 742 678 709 XX 4 712 743 679 710 XX 4 713 744 680 711 XX 4 714 745 681 712 XX 4 715 746 682 713 XX 4 716 747 683 714 XX 4 717 748 684 715 XX 4 718 749 685 716 XX 4 719 750 686 717 XX 4 720 751 687 718 XX 4 721 752 688 719 XX 4 722 753 689 720 XX 4 723 754 690 721 XX 4 724 755 691 722 XX 4 725 756 692 723 XX 4 726 757 693 724 XX 4 727 758 694 725 XX 4 728 759 695 726 XX 4 729 760 696 727 XX 4 730 761 697 728 XX 4 731 762 698 729 XX 4 732 763 699 730 XX 4 733 764 700 731 XX 4 734 765 701 732 XX 4 735 766 702 733 XX 3 767 703 734 XX 3 737 768 704 XX 4 738 769 705 736 XX 4 739 770 706 737 XX 4 740 771 707 738 XX 4 741 772 708 739 XX 4 742 773 709 740 XX 4 743 774 710 741 XX 4 744 775 711 742 XX 4 745 776 712 743 XX 4 746 777 713 744 XX 4 747 778 714 745 XX 4 748 779 715 746 XX 4 749 780 716 747 XX 4 750 781 717 748 XX 4 751 782 718 749 XX 4 752 783 719 750 XX 4 753 784 720 751 XX 4 754 785 721 752 XX 4 755 786 722 753 XX 4 756 787 723 754 XX 4 757 788 724 755 XX 4 758 789 725 756 XX 4 759 790 726 757 XX 4 760 791 727 758 XX 4 761 792 728 759 XX 4 762 793 729 760 XX 4 763 794 730 761 XX 4 764 795 731 762 XX 4 765 796 732 763 XX 4 766 797 733 764 XX 4 767 798 734 765 XX 3 799 735 766 XX 3 769 800 736 XX 4 770 801 737 768 XX 4 771 802 738 769 XX 4 772 803 739 770 XX 4 773 804 740 771 XX 4 774 805 741 772 XX 4 775 806 742 773 XX 4 776 807 743 774 XX 4 777 808 744 775 XX 4 778 809 745 776 XX 4 779 810 746 777 XX 4 780 811 747 778 XX 4 781 812 748 779 XX 4 782 813 749 780 XX 4 783 814 750 781 XX 4 784 815 751 782 XX 4 785 816 752 783 XX 4 786 817 753 784 XX 4 787 818 754 785 XX 4 788 819 755 786 XX 4 789 820 756 787 XX 4 790 821 757 788 XX 4 791 822 758 789 XX 4 792 823 759 790 XX 4 793 824 760 791 XX 4 794 825 761 792 XX 4 795 826 762 793 XX 4 796 827 763 794 XX 4 797 828 764 795 XX 4 798 829 765 796 XX 4 799 830 766 797 XX 3 831 767 798 XX 3 801 832 768 XX 4 802 833 769 800 XX 4 803 834 770 801 XX 4 804 835 771 802 XX 4 805 836 772 803 XX 4 806 837 773 804 XX 4 807 838 774 805 XX 4 808 839 775 806 XX 4 809 840 776 807 XX 4 810 841 777 808 XX 4 811 842 778 809 XX 4 812 843 779 810 XX 4 813 844 780 811 XX 4 814 845 781 812 XX 4 815 846 782 813 XX 4 816 847 783 814 XX 4 817 848 784 815 XX 4 818 849 785 816 XX 4 819 850 786 817 XX 4 820 851 787 818 XX 4 821 852 788 819 XX 4 822 853 789 820 XX 4 823 854 790 821 XX 4 824 855 791 822 XX 4 825 856 792 823 XX 4 826 857 793 824 XX 4 827 858 794 825 XX 4 828 859 795 826 XX 4 829 860 796 827 XX 4 830 861 797 828 XX 4 831 862 798 829 XX 3 863 799 830 XX 3 833 864 800 XX 4 834 865 801 832 XX 4 835 866 802 833 XX 4 836 867 803 834 XX 4 837 868 804 835 XX 4 838 869 805 836 XX 4 839 870 806 837 XX 4 840 871 807 838 XX 4 841 872 808 839 XX 4 842 873 809 840 XX 4 843 874 810 841 XX 4 844 875 811 842 XX 4 845 876 812 843 XX 4 846 877 813 844 XX 4 847 878 814 845 XX 4 848 879 815 846 XX 4 849 880 816 847 XX 4 850 881 817 848 XX 4 851 882 818 849 XX 4 852 883 819 850 XX 4 853 884 820 851 XX 4 854 885 821 852 XX 4 855 886 822 853 XX 4 856 887 823 854 XX 4 857 888 824 855 XX 4 858 889 825 856 XX 4 859 890 826 857 XX 4 860 891 827 858 XX 4 861 892 828 859 XX 4 862 893 829 860 XX 4 863 894 830 861 XX 3 895 831 862 XX 3 865 896 832 XX 4 866 897 833 864 XX 4 867 898 834 865 XX 4 868 899 835 866 XX 4 869 900 836 867 XX 4 870 901 837 868 XX 4 871 902 838 869 XX 4 872 903 839 870 XX 4 873 904 840 871 XX 4 874 905 841 872 XX 4 875 906 842 873 XX 4 876 907 843 874 XX 4 877 908 844 875 XX 4 878 909 845 876 XX 4 879 910 846 877 XX 4 880 911 847 878 XX 4 881 912 848 879 XX 4 882 913 849 880 XX 4 883 914 850 881 XX 4 884 915 851 882 XX 4 885 916 852 883 XX 4 886 917 853 884 XX 4 887 918 854 885 XX 4 888 919 855 886 XX 4 889 920 856 887 XX 4 890 921 857 888 XX 4 891 922 858 889 XX 4 892 923 859 890 XX 4 893 924 860 891 XX 4 894 925 861 892 XX 4 895 926 862 893 XX 3 927 863 894 XX 3 897 928 864 XX 4 898 929 865 896 XX 4 899 930 866 897 XX 4 900 931 867 898 XX 4 901 932 868 899 XX 4 902 933 869 900 XX 4 903 934 870 901 XX 4 904 935 871 902 XX 4 905 936 872 903 XX 4 906 937 873 904 XX 4 907 938 874 905 XX 4 908 939 875 906 XX 4 909 940 876 907 XX 4 910 941 877 908 XX 4 911 942 878 909 XX 4 912 943 879 910 XX 4 913 944 880 911 XX 4 914 945 881 912 XX 4 915 946 882 913 XX 4 916 947 883 914 XX 4 917 948 884 915 XX 4 918 949 885 916 XX 4 919 950 886 917 XX 4 920 951 887 918 XX 4 921 952 888 919 XX 4 922 953 889 920 XX 4 923 954 890 921 XX 4 924 955 891 922 XX 4 925 956 892 923 XX 4 926 957 893 924 XX 4 927 958 894 925 XX 3 959 895 926 XX 3 929 960 896 XX 4 930 961 897 928 XX 4 931 962 898 929 XX 4 932 963 899 930 XX 4 933 964 900 931 XX 4 934 965 901 932 XX 4 935 966 902 933 XX 4 936 967 903 934 XX 4 937 968 904 935 XX 4 938 969 905 936 XX 4 939 970 906 937 XX 4 940 971 907 938 XX 4 941 972 908 939 XX 4 942 973 909 940 XX 4 943 974 910 941 XX 4 944 975 911 942 XX 4 945 976 912 943 XX 4 946 977 913 944 XX 4 947 978 914 945 XX 4 948 979 915 946 XX 4 949 980 916 947 XX 4 950 981 917 948 XX 4 951 982 918 949 XX 4 952 983 919 950 XX 4 953 984 920 951 XX 4 954 985 921 952 XX 4 955 986 922 953 XX 4 956 987 923 954 XX 4 957 988 924 955 XX 4 958 989 925 956 XX 4 959 990 926 957 XX 3 991 927 958 XX 3 961 992 928 XX 4 962 993 929 960 XX 4 963 994 930 961 XX 4 964 995 931 962 XX 4 965 996 932 963 XX 4 966 997 933 964 XX 4 967 998 934 965 XX 4 968 999 935 966 XX 4 969 1000 936 967 XX 4 970 1001 937 968 XX 4 971 1002 938 969 XX 4 972 1003 939 970 XX 4 973 1004 940 971 XX 4 974 1005 941 972 XX 4 975 1006 942 973 XX 4 976 1007 943 974 XX 4 977 1008 944 975 XX 4 978 1009 945 976 XX 4 979 1010 946 977 XX 4 980 1011 947 978 XX 4 981 1012 948 979 XX 4 982 1013 949 980 XX 4 983 1014 950 981 XX 4 984 1015 951 982 XX 4 985 1016 952 983 XX 4 986 1017 953 984 XX 4 987 1018 954 985 XX 4 988 1019 955 986 XX 4 989 1020 956 987 XX 4 990 1021 957 988 XX 4 991 1022 958 989 XX 3 1023 959 990 XX 2 993 960 XX 3 994 961 992 XX 3 995 962 993 XX 3 996 963 994 XX 3 997 964 995 XX 3 998 965 996 XX 3 999 966 997 XX 3 1000 967 998 XX 3 1001 968 999 XX 3 1002 969 1000 XX 3 1003 970 1001 XX 3 1004 971 1002 XX 3 1005 972 1003 XX 3 1006 973 1004 XX 3 1007 974 1005 XX 3 1008 975 1006 XX 3 1009 976 1007 XX 3 1010 977 1008 XX 3 1011 978 1009 XX 3 1012 979 1010 XX 3 1013 980 1011 XX 3 1014 981 1012 XX 3 1015 982 1013 XX 3 1016 983 1014 XX 3 1017 984 1015 XX 3 1018 985 1016 XX 3 1019 986 1017 XX 3 1020 987 1018 XX 3 1021 988 1019 XX 3 1022 989 1020 XX 3 1023 990 1021 XX 2 991 1022 XEND_OF_FILE Xif test 20050 -ne `wc -c <'data'`; then X echo shar: \"'data'\" unpacked with wrong size! Xfi X# end of 'data' Xfi Xif test -f 'makefile' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'makefile'\" Xelse Xecho shar: Extracting \"'makefile'\" \(1320 characters\) Xsed "s/^X//" >'makefile' <<'END_OF_FILE' XX################################################################### XX# # XX# PARTI : Parallel Automated Runtime Tools from ICASE # XX# example makefile # XX# Version 1.0 1 August 1990 # XX# # XX################################################################### XX# XX# XX# NFLAG = to match type of cube user has. XX# -node (for vanilla iPSC/2) XX# -node -sx (for iPSC/2 with wtk) XX# -node -i860 (for iPSC/860) XX# NARC = archiver (ar if iPSC/2, ar860 if iPSC/860) XX# LIB = where library should be intalled XX# INCL = where include files should be installed XX# XXNFLAG = -node -v -sx XXNARC = ar XXLIB = /usr/homes/berryman/parti/lib XXINCL = /usr/homes/berryman/parti/include XX# XX# end of machine dependent stuff XX# XXall: cg cg_host simple_dref XXsimple : simple.c XX $(CC) $(NFLAG) -o simple simple.c -I $(INCL) $(LIB)/parti.a XXsimple_dref : simple_dref.c XX $(CC) $(NFLAG) -o simple_dref simple_dref.c -I $(INCL) $(LIB)/parti.a XXcg: cg.c XX $(CC) $(NFLAG) -o cg cg.c -I $(INCL) $(LIB)/parti.a XXcg_host : cg_host.c XX cc -o cg_host cg_host.c -host XXclean: XX rm -f *.o XX rm -f cg cg_host simple simple_dref XEND_OF_FILE Xif test 1320 -ne `wc -c <'makefile'`; then X echo shar: \"'makefile'\" unpacked with wrong size! Xfi X# end of 'makefile' Xfi Xif test -f 'simple.c' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'simple.c'\" Xelse Xecho shar: Extracting \"'simple.c'\" \(3922 characters\) Xsed "s/^X//" >'simple.c' <<'END_OF_FILE' XX/**********************************************************************/ XX/* PARTI simple example. */ XX/* Harry Scott Berryman (ICASE/YALE U.) */ XX/* 30 Aug. 1990 */ XX/* */ XX/* This simple program serves as an example of the use of the PARTI */ XX/* schedule and PREFIXgather primitives. This program allocates a */ XX/* distributed array called "data" and then each processor fetchs */ XX/* random elements from "data". */ XX/**********************************************************************/ XX#include XX#include XX#include "/hermit/home/icase/berryman/parti/src/parti.h" XX XX/* definition of message types from print_vec() */ XX#define GO_AHEAD_MSG 1 XX#define DATA_MSG 2 XX XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX int myn,i,*data,seed,*l,*p,fetch_n,*buffer; XX SCHED *sr; XX XX if(argc!=4){ XX printf("usage:\nload %s n fetch_n seed\n",argv[0]); XX printf("\tn = # of elements of data on each processor\n"); XX printf("\tfetch_n = # of data to randomly fetch\n"); XX printf("\tseed = seed from random number generator\n"); XX exit() XX } XX XX /* get parameters from command line */ XX myn = atoi(argv[1]); XX fetch_n = atoi(argv[2]); XX seed = atoi(argv[3]); XX XX /* allocate and set distributed vector data */ XX data = (int *) malloc(sizeof(int)*myn); XX for(i=0;i'simple_dref.c' <<'END_OF_FILE' XX#include XX#include "parti.h" XX XXmain() XX{ XX int size,i,*index_array; XX int *deref_array; XX int *local,*proc; XX TTABLE *table; XX XX size = 2; XX index_array = (int *) malloc(sizeof(int)*size); XX deref_array = (int *) malloc(sizeof(int)*size); XX local = (int *) malloc(sizeof(int)*size); XX proc = (int *) malloc(sizeof(int)*size); XX XX /* set up a translation table */ XXif(mynode()==0) XX { XX index_array[0] = 0; XX index_array[1] = 3; XX } XXif(mynode()==1) XX { XX index_array[0] = 1; XX index_array[1] = 2; XX } XX table = build_translation_table(BLOCKED,index_array,size); XX XX XX /* Dereference a set of global variables */ XXif(mynode()==0) XX { XX deref_array[0] = 0; XX deref_array[1] = 1; XX } XXif(mynode()==1) XX { XX deref_array[0] = 2; XX deref_array[1] = 3; XX } XX XX XX dereference(table,deref_array,local,proc,size); XX XX printf(" mynode %d deref_array %d %d %d %d \n",mynode(),local[0],proc[0],local[1],proc[1]); XX} XEND_OF_FILE Xif test 931 -ne `wc -c <'simple_dref.c'`; then X echo shar: \"'simple_dref.c'\" unpacked with wrong size! Xfi X# end of 'simple_dref.c' Xfi Xecho shar: End of shell archive. Xexit 0 END_OF_FILE if test 40842 -ne `wc -c <'free.shar'`; then echo shar: \"'free.shar'\" unpacked with wrong size! fi # end of 'free.shar' fi if test -f 'matmult.shar' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'matmult.shar'\" else echo shar: Extracting \"'matmult.shar'\" \(31958 characters\) sed "s/^X//" >'matmult.shar' <<'END_OF_FILE' X#! /bin/sh X# This is a shell archive. Remove anything before this line, then unpack X# it by saving it into a file and typing "sh file". To overwrite existing X# files, type "sh file -c". You can also feed this as standard input via X# unshar, or by typing "sh 'K.DIAG' <<'END_OF_FILE' XX1.0 XX1.0 XX1.0 XX1.0 XEND_OF_FILE Xif test 16 -ne `wc -c <'K.DIAG'`; then X echo shar: \"'K.DIAG'\" unpacked with wrong size! Xfi X# end of 'K.DIAG' Xfi Xif test -f 'K.INFO' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'K.INFO'\" Xelse Xecho shar: Extracting \"'K.INFO'\" \(19 characters\) Xsed "s/^X//" >'K.INFO' <<'END_OF_FILE' XX 4 1 4 4 4 3 XEND_OF_FILE Xif test 19 -ne `wc -c <'K.INFO'`; then X echo shar: \"'K.INFO'\" unpacked with wrong size! Xfi X# end of 'K.INFO' Xfi Xif test -f 'K.PTRS' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'K.PTRS'\" Xelse Xecho shar: Extracting \"'K.PTRS'\" \(8 characters\) Xsed "s/^X//" >'K.PTRS' <<'END_OF_FILE' XX1 XX1 XX1 XX0 XEND_OF_FILE Xif test 8 -ne `wc -c <'K.PTRS'`; then X echo shar: \"'K.PTRS'\" unpacked with wrong size! Xfi X# end of 'K.PTRS' Xfi Xif test -f 'K11.COEFS' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'K11.COEFS'\" Xelse Xecho shar: Extracting \"'K11.COEFS'\" \(12 characters\) Xsed "s/^X//" >'K11.COEFS' <<'END_OF_FILE' XX2.0 XX2.0 XX2.0 XEND_OF_FILE Xif test 12 -ne `wc -c <'K11.COEFS'`; then X echo shar: \"'K11.COEFS'\" unpacked with wrong size! Xfi X# end of 'K11.COEFS' Xfi Xif test -f 'K11.INDXS' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'K11.INDXS'\" Xelse Xecho shar: Extracting \"'K11.INDXS'\" \(9 characters\) Xsed "s/^X//" >'K11.INDXS' <<'END_OF_FILE' XX2 XX 3 XX 4 XEND_OF_FILE Xif test 9 -ne `wc -c <'K11.INDXS'`; then X echo shar: \"'K11.INDXS'\" unpacked with wrong size! Xfi X# end of 'K11.INDXS' Xfi Xif test -f 'README' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'README'\" Xelse Xecho shar: Extracting \"'README'\" \(396 characters\) Xsed "s/^X//" >'README' <<'END_OF_FILE' XXThis directory contains a symmetric matrix-vector multiplication. To run XXthe example one must make certain changes in the makefile. The changes are XXthe following: XX XX1) Change the path name to the correct path name for the XX parti include and library file. XX2)If Beta compiler not present change pgcc to the correct compiler. XX3)One has to allocate the cubes (any number) before the host is run. XX XEND_OF_FILE Xif test 396 -ne `wc -c <'README'`; then X echo shar: \"'README'\" unpacked with wrong size! Xfi X# end of 'README' Xfi Xif test -f 'elp1.c' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'elp1.c'\" Xelse Xecho shar: Extracting \"'elp1.c'\" \(9786 characters\) Xsed "s/^X//" >'elp1.c' <<'END_OF_FILE' XX#include XX XX#define BUFFER_SIZE 1000 /* Length of the buffer array */ XX#define ROW_COEF_MSG 111 /* I.D. for stiffness coefficients */ XX#define ROW_INDX_MSG 222 /* I.D. for row-location coefficients */ XX#define SETUP_MSG 22323 /* I.D. for */ XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX int i, /* Dummy integer counter */ XX j, /* Dummy integer counter */ XX buffer_size[128], /* Array of buffers sizes for sending data. */ XX /* Max 128, reflects the number of */ XX /* processors available (update to 1024,..) */ XX indx_buffer[128] XX [BUFFER_SIZE]; /* Array of buffers for row-location coefficients */ XX /* distributed over available processors (max=128) */ XX XX int rows_per_proc, /* No. of rows assigned to a processor */ XX setup_buffer[129];/* */ XX XX int nmyrows[128], /* Integer number of rows per processor */ XX nmysends[128], /* */ XX nonzeros, /* */ XX nrows, /* No. of rows */ XX *ptr, /* An integer pointer */ XX proc, /* A processor counter */ XX ncols; /* Number of columns */ XX XX int neqns, /* Number of equations */ XX junk, XX lk11, XX numjnt, /* Number of nodes */ XX dof, /* Degrees of freedom per node */ XX jdof, /* Total number of unconstraint equations */ XX lth, /* Row-length for sparse matrix storage */ XX nproc; /* Number of processors allocated */ XX XX int remainder, /* */ XX curr_max; /* */ XX XX double coef_buffer[128][BUFFER_SIZE], /* Stifness coefficients */ XX /* in lower triangluar */ XX /* form. */ XX *ptr2; /* Pointer to a doubleing */ XX /* point number. */ XX XX FILE *fp, /* Generic file pointer */ XX *ptrs, /* */ XX *indxs, /* Index location file */ XX *coefs, /* Stiffness coefficients file */ XX *diag, /* Diagonal stiffness file */ XX *info; /* Problem Statement file */ XX XX /* -------------------------------------------------- */ XX /* Check if input files are available then open them. */ XX /* -------------------------------------------------- */ XX XX /* XX * ------------------- XX * Problem definition. XX * ------------------- XX */ XX XX if( ( info=fopen("K.INFO","r") ) == NULL ) XX { XX fprintf(stderr,"Error: cannot open %s for input\n","K.INFO"); XX exit(1); XX } XX XX /* XX * XX */ XX XX if( ( ptrs=fopen("K.PTRS","r") ) == NULL ) XX { XX fprintf(stderr,"Error: cannot open %s for input\n","K.PTRS"); XX exit(1); XX } XX XX /* XX * --------------------------------------------------- XX * Columns locations for sparse matrix data-structure. XX * --------------------------------------------------- XX */ XX XX if( ( indxs=fopen("K11.INDXS","r") ) == NULL ) XX { XX fprintf(stderr,"Error: cannot open %s for input\n","K.INDXS"); XX exit(1); XX } XX XX /* XX * ------------------------------------------------------ XX * Stricly lower triagular stiffness matrix coefficients. XX * ------------------------------------------------------ XX */ XX XX if( ( coefs=fopen("K11.COEFS","r") ) == NULL ) XX { XX fprintf(stderr,"Error: cannot open %s for input\n","K.COEFS"); XX exit(1); XX } XX XX /* XX * -------------------------------- XX * Diagonal stiffness coefficients. XX * -------------------------------- XX */ XX XX if( ( diag=fopen("K.DIAG","r") ) == NULL ) XX { XX fprintf(stderr,"Error: cannot open %s for input\n","K.DIAG"); XX exit(1); XX } XX XX /* XX * ----------------------------------------- XX * Set NX/RX process id=1 for host program. XX * ----------------------------------------- XX */ XX XX setpid(1); XX XX /* XX * -------------------------------------------------------------- XX * Load all "-1" nodes with program "elp2" with process id "0". XX * -------------------------------------------------------------- XX */ XX XX load("elp2",-1,0); XX XX /* XX * ---------------------------------------- XX * Get the number of total allocated nodes. XX * ---------------------------------------- XX */ XX XX nproc=numnodes(); XX XX /* XX * ------------------------------------------------------------ XX * Diagnostic message to compare XX * total number allocated nodes with those defined by the user. XX * ------------------------------------------------------------ XX */ XX XX printf("begin host: number of processors is %d\n",nproc); XX XX XX /* XX * ------------------------------------------------------- XX * Initialize buffers equal the number of allocated nodes. XX * Initialize number of messages sent to a given node. XX * ------------------------------------------------------- XX */ XX XX for( i=0; i 0 ) XX curr_max = rows_per_proc; XX else XX curr_max = rows_per_proc - 1; XX XX/* XX * for each row determine which processor then read in that row XX * from data files and place coefficients in the appropriate buffer XX */ XX XX proc=0; XX for( i=0; i curr_max ) XX { XX if( remainder>proc+1 ) XX curr_max = curr_max + rows_per_proc + 1; XX else XX curr_max = curr_max + rows_per_proc; XX proc=proc+1; XX } XX XX if( (proc>=nproc) | (proc<0) ) XX { XX fprintf(stderr,"Grrrrrrr.....nproc=%d, proc= %d\n",nproc,proc); XX } XX XX /* XX * get number of nonzeros in current row XX */ XX XX fscanf(ptrs,"%d",<h); XX XX /* XX * if buffer doesn't have enough room, flush it. XX */ XX XX if( BUFFER_SIZE<=buffer_size[proc] + lth+2 ) XX { XX printf("sending rows off to processor %d \n",proc); XX XX printf(" message: type, proc, length \n %d, %d, %d \n %d 5d %d", XX ROW_COEF_MSG,proc,buffer_size[proc], XX ROW_INDX_MSG,proc,buffer_size[proc]); XX XX csend( ROW_COEF_MSG,coef_buffer[proc], XX sizeof(double)*buffer_size[proc], proc,0); XX XX csend( ROW_INDX_MSG,indx_buffer[proc], XX sizeof(int)*buffer_size[proc],proc,0); XX XX nmysends[proc]++; XX XX buffer_size[proc] = 0; XX } XX XX /* XX * Add current row to buffer for appropriate processor XX * First, add lth (number of coefs in this row) and row number XX * to index_buffer; XX * Second, add the diagonal coefficient for this row to first XX * location in coef_buffer for this row (i.e. ptr2[0]) XX * Finally, add the column index values XX * to index_buffer and actual coefficients to coef_buffer. XX */ XX XX ptr = &indx_buffer[proc][buffer_size[proc]]; XX XX ptr2 = &coef_buffer[proc][buffer_size[proc]]; XX XX buffer_size[proc] += 2+lth; XX XX ptr[0] = i+1; XX XX ptr[1] = lth; XX XX fscanf(diag,"%lf",&ptr2[0]); XX XX for( j=0; j 0 ) XX { XX /* printf("sending messages:type, proc, XX * length\n %d,%d,%d\n %d,%d,%d\n", XX * ROW_COEF_MSG,i,buffer_size[i], XX * ROW_INDX_MSG,i,buffer_size[i]); XX */ XX XX csend( ROW_INDX_MSG,indx_buffer[i], XX sizeof(int)*buffer_size[i],i,0); XX XX csend( ROW_COEF_MSG,coef_buffer[i], XX sizeof(double)*buffer_size[i],i,0); XX XX nmysends[i]++; XX } XX } XX XX /* XX * Tell each processor how many messages to expect XX */ XX XX for( i=0; i'elp2.c' <<'END_OF_FILE' XX/* XX * node program. XX */ XX XX#include XX#include XX#include XX#include "parti.h" XX#include "main.h" XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX int i, XX j, XX count; XX XX TTABLE *table; XX XX SCHED *sr; XX XX double *x, XX *y, XX *z; XX XX me = mynode(); /* Get each node number */ XX XX sprintf(name,"out.%d",me); XX XX myfile=fopen(name,"w"); XX XX XX fprintf(myfile," begin node program processor %d \n",me); XX fflush(myfile); XX XX /* XX * ------------------------------------ XX * Get sparse matrix from host program. XX * ------------------------------------ XX */ XX XX get_sparse_mat(); XX XXprint_my_rows(1,Myrows,"all"); XX XX /* print_my_rows(Myrows-2,Myrows,"all"); */ XX XX /* XX * ------------------------------------------------------- XX * Build translation table by scattering Row to the table. XX * IN: Row[i] OUT: table XX * ------------------------------------------------------- XX */ XX XX XX XX fprintf(myfile,"Myrows = %d\n", Myrows); XX fprintf(myfile,"--------------"); XX fflush(myfile); XX XX for( i=0; i= MAX_ROWS ) XX { XX fprintf(stderr,"Error on node %d : too many rows!!!\n",mynode()); XX exit(); XX } XX XX if( Mynonzeros >= MAX_NONZEROS ) XX { XX fprintf(stderr,"Error on node %d : too many nonzeros!!!\n", XX mynode()); XX exit(); XX } XX XX for( j=0; j Myrows ) XX printf(" me= %d, cannot print rows starting with %d, Myrows=%d\n", XX me,first_row,Myrows); XX else XX { XX ptr1 = &Cols[0]; XX ptr2 = &Vals[0]; XX ptr3 = &Diags[0]; XX XX for( i=0; i Myrows ) XX { XX printf(" me= %d, cannot print rows past %d, Myrows=%d\n", XX me,last_row,Myrows); XX last_row=Myrows; XX } XX XX for( i=first_row; i<=last_row; i++ ) XX { XX lth=Ncols[i-1]; XX fprintf(myfile," Myrow= %d, Row= %d, Diag Coef= %lf, lth= %d\n", XX i-1,Row[i-1],*ptr3,lth); XX fflush(myfile); XX ptr3++; XX XX for( j=0; j Myrows) XX printf(" me= %d, cannot print row %d, Myrows= %d\n", XX me,first_row,Myrows); XX else{ XX ptr1 = &Cols[0]; XX ptr2 = &Vals[0]; XX ptr3 = &Diags[0]; XX for( i=0; i Myrows ) XX printf(" me= %d, cannot print row %d, Myrows= %d\n", XX me,first_row,Myrows); XX else XX { XX ptr1 = &Cols[0]; XX ptr2 = &Vals[0]; XX ptr3 = &Diags[0]; XX for( i=0; i'main.h' <<'END_OF_FILE' XX#define GO_AHEAD 101 XX#define X_MSG 102 XX#define BUFFER_SIZE 1000 XX#define ROW_DATA_MSG 123 XX#define ROW_COEF_MSG 111 XX#define ROW_INDX_MSG 222 XX#define SETUP_MSG 22323 XX XX/* define max size of sparse mat */ XX XX#define MAX_NONZEROS 163840 XX#define MAX_ROWS 32768 XX XX/* sparse matrix data structure in its traditional CRS format */ XX XX int Size, XX Myrows, XX Nrows, XX Mynonzeros; XX XX int Cols[MAX_NONZEROS], XX Ncols[MAX_ROWS]; XX XX double Diags[MAX_ROWS], XX Vals[MAX_NONZEROS]; XX XX /* extra data structures needed for parallel version */ XX /* Row[i] is the global row number of the row stored */ XX /* at location i. */ XX /* Local[j],Proc[j] represent the proc/offset pair */ XX /* for column j. */ XX /* Fetch_p[i],Fetch_l[i] represent the proc/offset */ XX /* of the ith off-processor col. */ XX int Row[MAX_ROWS], XX Local[MAX_NONZEROS], XX Proc[MAX_NONZEROS]; XX XX int *Fetch_p, XX *Fetch_l, XX Nfetch; XX XX int me; XX XX /* define function types */ XX/* XX double gen_check_sum(); XX double *cg(); XX double dot(); XX*/ XX FILE *myfile; XX char name[100]; XEND_OF_FILE Xif test 1152 -ne `wc -c <'main.h'`; then X echo shar: \"'main.h'\" unpacked with wrong size! Xfi X# end of 'main.h' Xfi Xif test -f 'makefile' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'makefile'\" Xelse Xecho shar: Extracting \"'makefile'\" \(387 characters\) Xsed "s/^X//" >'makefile' <<'END_OF_FILE' XXLIB = /fiddler/home/icase/raja/newparti/lib XXINCL = /fiddler/home/icase/raja/newparti/include XX# XX# next line is for sun compilers for hypercube XX# XXCC = pgcc XXNFLAG = -node XX# XX# end of machine dependent stuff XX# XXall: node host XXnode : elp2.c XX $(CC) $(NFLAG) -o elp2 elp2.c -I$(INCL)/parti.h $(LIB)/parti.a XXhost : elp1.c XX cc -o host elp1.c -host XXclean: XX rm -f *.o XX rm -f host elp2 XX rm -f out.* XEND_OF_FILE Xif test 387 -ne `wc -c <'makefile'`; then X echo shar: \"'makefile'\" unpacked with wrong size! Xfi X# end of 'makefile' Xfi Xif test -f 'parti.h' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'parti.h'\" Xelse Xecho shar: Extracting \"'parti.h'\" \(2287 characters\) Xsed "s/^X//" >'parti.h' <<'END_OF_FILE' XX/******************************************************************/ XX/* */ XX/* PARTI : Parallel Automated Runtime Tools from ICASE */ XX/* Version 1.0 8 July 1990 */ XX/* */ XX/* This is the header file for the parti primitives. */ XX/* This only includes stuff that a user might need to see. Message*/ XX/* types and so on are defined in the file parti_more.h */ XX/* - Harry Scott Berryman */ XX/******************************************************************/ XX XX/* compiler communication pattern */ XXstruct com_pattern { XX int n_msgs_to_recv,n_msgs_to_send; XX int *send_n,**send_list; XX int *fetch_n,**fetch_list; XX int buffer_size; XX int nprocs,myproc,pid; XX}; XX XXstruct com_pattern *schedule_gather(); XXvoid execute_gather(),iexecute_gather(),fexecute_gather(); XXvoid dexecute_gather(),cexecute_gather(); XXvoid execute_scatter(),iexecute_scatter(),fexecute_scatter(); XXvoid dexecute_scatter(),cexecute_scatter(); XXvoid iexecute_add(),fexecute_add(); XXvoid dexecute_add(),cexecute_add(); XXvoid iexecute_sub(),fexecute_sub(); XXvoid dexecute_sub(),cexecute_sub(); XXvoid iexecute_mult(),fexecute_mult(); XXvoid dexecute_mult(),cexecute_mult(); XX XX/* user communication pattern (is a compiler pattern + perm vector to unpack) */ XX#define SCHED struct schedule_struct XXstruct schedule_struct { XX struct com_pattern *sr; XX int ndata,*perm; XX}; XX XX/* structure for translation talble */ XX#define BLOCKED 1 XX#define STRIPED 2 XX#define TTABLE struct trans_table XXstruct trans_table { XX int *proc,*offset; XX int type,table_size; XX}; XX XX/* user-level prototypes */ XXSCHED *schedule(),*ischedule(); XXvoid dref(); XXvoid gather(),igather(),fgather(),dgather(),cgather(); XXvoid scatter(),iscatter(),fscatter(),dscatter(),cscatter(); XXvoid iscatter_add(),fscatter_add(),dscatter_add(),cscatter_add(); XXvoid iscatter_sub(),fscatter_sub(),dscatter_sub(),cscatter_sub(); XXvoid iscatter_mult(),fscatter_mult(),dscatter_mult(),cscatter_mult(); XXTTABLE *build_translation_table(); XXvoid new_dref(),free_table(); XX XX/* utils prototypes */ XXvoid check_point(); XXvoid print_com_pattern(); XXvoid bsort(); XXvoid check_sum(); XEND_OF_FILE Xif test 2287 -ne `wc -c <'parti.h'`; then X echo shar: \"'parti.h'\" unpacked with wrong size! Xfi X# end of 'parti.h' Xfi Xecho shar: End of shell archive. Xexit 0 END_OF_FILE if test 31958 -ne `wc -c <'matmult.shar'`; then echo shar: \"'matmult.shar'\" unpacked with wrong size! fi # end of 'matmult.shar' fi if test -f 'papers.shar' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'papers.shar'\" else echo shar: Extracting \"'papers.shar'\" \(443208 characters\) sed "s/^X//" >'papers.shar' <<'END_OF_FILE' X#! /bin/sh X# This is a shell archive. Remove anything before this line, then unpack X# it by saving it into a file and typing "sh file". To overwrite existing X# files, type "sh file -c". You can also feed this as standard input via X# unshar, or by typing "sh 'README' <<'END_OF_FILE' XXWe have included a couple of papers that has been published on the XXPARTI primitives (One can get more references by sending mail to XXraja@icase.edu). The two papers are the following: XX XX1) Distributed Memory Compiler Design for Sparse Problems XX XX This describes the PARTI primitives and the compiler (not in distribution) XXthat was developed to embedd the primitives. XX XX2) Execution Time Support for Adaptive Scientific Algorithms on XX Distributed Memory Machines XX (to appear Concurrency, Practices and Experience 1991) XX XX The PARTI primitives were used to port the kernel of a fluid dynamics code XXto the Intel iPSC/860 machines. This experiment is described and results XXare presented. A figure is missing from the paper included here. To get XXthe figure one must refer to the publication. XX XEND_OF_FILE Xif test 804 -ne `wc -c <'README'`; then X echo shar: \"'README'\" unpacked with wrong size! Xfi X# end of 'README' Xfi Xif test -f 'fanin.tex' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'fanin.tex'\" Xelse Xecho shar: Extracting \"'fanin.tex'\" \(4333 characters\) Xsed "s/^X//" >'fanin.tex' <<'END_OF_FILE' XX\catcode`@=11 XX\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi XX\catcode`@=12 XX\setbox\graph=\vtop{% XX \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt XX \vbox to0pt{\hbox{% XX \special{pn 8}% XX \special{pa 2937 749}% XX \special{pa 3812 749}% XX \special{pa 3812 0}% XX \special{pa 2937 0}% XX \special{pa 2937 749}% XX \special{fp}% XX \special{pa 1937 749}% XX \special{pa 2812 749}% XX \special{pa 2812 0}% XX \special{pa 1937 0}% XX \special{pa 1937 749}% XX \special{fp}% XX \special{pa 937 749}% XX \special{pa 1812 749}% XX \special{pa 1812 0}% XX \special{pa 937 0}% XX \special{pa 937 749}% XX \special{fp}% XX \special{pa 2062 999}% XX \special{pa 1999 999}% XX \special{pa 1999 1249}% XX \special{pa 2062 1249}% XX \special{fp}% XX \special{pa 3687 1999}% XX \special{pa 3749 1999}% XX \special{pa 3749 2249}% XX \special{pa 3687 2249}% XX \special{fp}% XX \special{pa 2687 1999}% XX \special{pa 2749 1999}% XX \special{pa 2749 2249}% XX \special{pa 2687 2249}% XX \special{fp}% XX \special{pa 1687 1999}% XX \special{pa 1749 1999}% XX \special{pa 1749 2249}% XX \special{pa 1687 2249}% XX \special{fp}% XX \special{pa 3062 1999}% XX \special{pa 2999 1999}% XX \special{pa 2999 2249}% XX \special{pa 3062 2249}% XX \special{fp}% XX \special{pa 2062 1999}% XX \special{pa 1999 1999}% XX \special{pa 1999 2249}% XX \special{pa 2062 2249}% XX \special{fp}% XX \special{pa 1062 1999}% XX \special{pa 999 1999}% XX \special{pa 999 2249}% XX \special{pa 1062 2249}% XX \special{fp}% XX \special{pa 3062 999}% XX \special{pa 2999 999}% XX \special{pa 2999 1249}% XX \special{pa 3062 1249}% XX \special{fp}% XX \special{pa 3687 999}% XX \special{pa 3749 999}% XX \special{pa 3749 1249}% XX \special{pa 3687 1249}% XX \special{fp}% XX \special{pa 2687 999}% XX \special{pa 2749 999}% XX \special{pa 2749 1249}% XX \special{pa 2687 1249}% XX \special{fp}% XX \special{pa 1687 999}% XX \special{pa 1749 999}% XX \special{pa 1749 1249}% XX \special{pa 1687 1249}% XX \special{fp}% XX \rlap{\kern 0.000in\lower 2.946in\hbox to0pt{all processors\hss}}% XX \rlap{\kern 0.000in\lower 2.696in\hbox to0pt{distributed to\hss}}% XX \rlap{\kern 2.124in\lower 2.196in\hbox to0pt{2\hss}}% XX \rlap{\kern 3.562in\lower 2.196in\hbox to0pt{0\hss}}% XX \rlap{\kern 3.312in\lower 2.196in\hbox to0pt{1\hss}}% XX \rlap{\kern 3.062in\lower 2.196in\hbox to0pt{2\hss}}% XX \rlap{\kern 2.562in\lower 2.196in\hbox to0pt{0\hss}}% XX \rlap{\kern 2.312in\lower 2.196in\hbox to0pt{1\hss}}% XX \rlap{\kern 1.562in\lower 2.196in\hbox to0pt{0\hss}}% XX \rlap{\kern 1.312in\lower 2.196in\hbox to0pt{1\hss}}% XX \rlap{\kern 1.062in\lower 2.196in\hbox to0pt{2\hss}}% XX \rlap{\kern 3.562in\lower 1.196in\hbox to0pt{0\hss}}% XX \rlap{\kern 3.312in\lower 1.196in\hbox to0pt{0\hss}}% XX \rlap{\kern 3.062in\lower 1.196in\hbox to0pt{1\hss}}% XX \rlap{\kern 2.562in\lower 1.196in\hbox to0pt{0\hss}}% XX \rlap{\kern 2.312in\lower 1.196in\hbox to0pt{0\hss}}% XX \rlap{\kern 2.062in\lower 1.196in\hbox to0pt{1\hss}}% XX \rlap{\kern 1.562in\lower 1.196in\hbox to0pt{0\hss}}% XX \rlap{\kern 1.312in\lower 1.196in\hbox to0pt{1\hss}}% XX \rlap{\kern 1.062in\lower 1.196in\hbox to0pt{0\hss}}% XX \rlap{\kern 0.000in\lower 2.446in\hbox to0pt{sum tree\hss}}% XX \rlap{\kern 0.000in\lower 2.196in\hbox to0pt{Output from \hss}}% XX \rlap{\kern 0.000in\lower 1.446in\hbox to0pt{tree \hss}}% XX \rlap{\kern 0.000in\lower 1.196in\hbox to0pt{Input to sum\hss}}% XX \rlap{\kern 3.062in\lower 0.696in\hbox to0pt{P(1)\hss}}% XX \rlap{\kern 3.062in\lower 0.509in\hbox to0pt{data from\hss}}% XX \rlap{\kern 3.062in\lower 0.259in\hbox to0pt{P(3) needs\hss}}% XX \rlap{\kern 2.062in\lower 0.696in\hbox to0pt{P(1)\hss}}% XX \rlap{\kern 2.062in\lower 0.509in\hbox to0pt{data from \hss}}% XX \rlap{\kern 2.062in\lower 0.259in\hbox to0pt{P(2) needs\hss}}% XX \rlap{\kern 1.062in\lower 0.696in\hbox to0pt{P(2)\hss}}% XX \rlap{\kern 1.062in\lower 0.509in\hbox to0pt{data from\hss}}% XX \rlap{\kern 1.062in\lower 0.259in\hbox to0pt{P(1) needs\hss}}% XX \special{pa 1062 999}% XX \special{pa 999 999}% XX \special{pa 999 1249}% XX \special{pa 1062 1249}% XX \special{fp}% XX \kern 3.813in XX }\vss}% XX \kern 2.907in XX} XEND_OF_FILE Xif test 4333 -ne `wc -c <'fanin.tex'`; then X echo shar: \"'fanin.tex'\" unpacked with wrong size! Xfi X# end of 'fanin.tex' Xfi Xif test -f 'final.tex' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'final.tex'\" Xelse Xecho shar: Extracting \"'final.tex'\" \(2751 characters\) Xsed "s/^X//" >'final.tex' <<'END_OF_FILE' XX\catcode`@=11 XX\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi XX\catcode`@=12 XX\setbox\graph=\vtop{% XX \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt XX \vbox to0pt{\hbox{% XX \special{pn 8}% XX \special{pa 4561 2250}% XX \special{pa 4561 2500}% XX \special{fp}% XX \special{pa 4061 2250}% XX \special{pa 4061 2500}% XX \special{fp}% XX \special{pa 3561 2250}% XX \special{pa 3561 2500}% XX \special{pa 5061 2500}% XX \special{fp}% XX \special{pa 5061 2250}% XX \special{pa 5061 2500}% XX \special{fp}% XX \special{pa 3561 2250}% XX \special{pa 5061 2250}% XX \special{fp}% XX \special{pa 3811 500}% XX \special{pa 4811 1500}% XX \special{fp}% XX \special{pa 4723 1447}% XX \special{pa 4811 1500}% XX \special{pa 4758 1412}% XX \special{fp}% XX \special{pa 3811 500}% XX \special{pa 4311 1500}% XX \special{fp}% XX \special{pa 4244 1422}% XX \special{pa 4311 1500}% XX \special{pa 4289 1400}% XX \special{fp}% XX \special{pa 4311 500}% XX \special{pa 3749 1500}% XX \special{fp}% XX \special{pa 3776 1401}% XX \special{pa 3749 1500}% XX \special{pa 3820 1426}% XX \special{fp}% XX \special{pa 4561 1500}% XX \special{pa 4561 2000}% XX \special{fp}% XX \special{pa 4061 1500}% XX \special{pa 4061 2000}% XX \special{fp}% XX \special{pa 3561 1500}% XX \special{pa 5061 1500}% XX \special{pa 5061 2000}% XX \special{pa 3561 2000}% XX \special{pa 3561 1500}% XX \special{fp}% XX \special{pa 4061 0}% XX \special{pa 4061 500}% XX \special{fp}% XX \special{pa 4561 0}% XX \special{pa 4561 500}% XX \special{fp}% XX \rlap{\kern 0.000in\lower 2.447in\hbox to0pt{Data sent by the processors: local array $a^{`}$\hss}}% XX \rlap{\kern 1.187in\lower 1.010in\hbox to0pt{Messages sent by the processors \hss}}% XX \rlap{\kern 4.811in\lower 2.447in\hbox to0pt{2\hss}}% XX \rlap{\kern 4.311in\lower 2.447in\hbox to0pt{2\hss}}% XX \rlap{\kern 3.811in\lower 2.447in\hbox to0pt{2\hss}}% XX \rlap{\kern 1.375in\lower 0.260in\hbox to0pt{Send\hss}}% XX \rlap{\kern 1.250in\lower 1.760in\hbox to0pt{Receiving Processors\hss}}% XX \rlap{\kern 4.686in\lower 1.822in\hbox to0pt{P(3)\hss}}% XX \rlap{\kern 4.186in\lower 1.822in\hbox to0pt{P(2)\hss}}% XX \rlap{\kern 3.686in\lower 1.822in\hbox to0pt{P(1)\hss}}% XX \rlap{\kern 1.750in\lower 0.260in\hbox to0pt{Processors \hss}}% XX \rlap{\kern 4.686in\lower 0.322in\hbox to0pt{P(3)\hss}}% XX \rlap{\kern 4.249in\lower 0.322in\hbox to0pt{P(2)\hss}}% XX \rlap{\kern 3.749in\lower 0.322in\hbox to0pt{P(1)\hss}}% XX \special{pa 3561 0}% XX \special{pa 5061 0}% XX \special{pa 5061 500}% XX \special{pa 3561 500}% XX \special{pa 3561 0}% XX \special{fp}% XX \kern 5.062in XX }\vss}% XX \kern 2.501in XX} XEND_OF_FILE Xif test 2751 -ne `wc -c <'final.tex'`; then X echo shar: \"'final.tex'\" unpacked with wrong size! Xfi X# end of 'final.tex' Xfi Xif test -f 'irregmap.tex' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'irregmap.tex'\" Xelse Xecho shar: Extracting \"'irregmap.tex'\" \(2944 characters\) Xsed "s/^X//" >'irregmap.tex' <<'END_OF_FILE' XX\catcode`@=11 XX\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi XX\catcode`@=12 XX\setbox\graph=\vtop{% XX \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt XX \vbox to0pt{\hbox{% XX \special{pn 8}% XX \special{pa 3500 1750}% XX \special{pa 3500 2000}% XX \special{fp}% XX \special{pa 3000 1750}% XX \special{pa 3000 2000}% XX \special{fp}% XX \special{pa 2500 1750}% XX \special{pa 2500 2000}% XX \special{fp}% XX \special{pa 2000 1750}% XX \special{pa 4000 1750}% XX \special{pa 4000 2000}% XX \special{pa 2000 2000}% XX \special{pa 2000 1750}% XX \special{fp}% XX \special{pa 2750 0}% XX \special{pa 2750 500}% XX \special{fp}% XX \special{pa 3750 1250}% XX \special{pa 2563 500}% XX \special{fp}% XX \special{pa 2661 533}% XX \special{pa 2563 500}% XX \special{pa 2634 575}% XX \special{fp}% XX \special{pa 3250 1250}% XX \special{pa 2938 500}% XX \special{fp}% XX \special{pa 3000 583}% XX \special{pa 2938 500}% XX \special{pa 2953 602}% XX \special{fp}% XX \special{pa 2750 1250}% XX \special{pa 2938 500}% XX \special{fp}% XX \special{pa 2938 604}% XX \special{pa 2938 500}% XX \special{pa 2889 591}% XX \special{fp}% XX \special{pa 2250 1250}% XX \special{pa 2500 500}% XX \special{fp}% XX \special{pa 2493 603}% XX \special{pa 2500 500}% XX \special{pa 2445 587}% XX \special{fp}% XX \special{pa 3500 1250}% XX \special{pa 3500 1500}% XX \special{fp}% XX \special{pa 3000 1250}% XX \special{pa 3000 1500}% XX \special{fp}% XX \special{pa 2500 1250}% XX \special{pa 2500 1500}% XX \special{fp}% XX \special{pa 2000 1250}% XX \special{pa 2000 1500}% XX \special{pa 4000 1500}% XX \special{pa 4000 1250}% XX \special{fp}% XX \special{pa 2000 1250}% XX \special{pa 4000 1250}% XX \special{fp}% XX \special{pa 3250 0}% XX \special{pa 3250 500}% XX \special{fp}% XX \rlap{\kern 0.000in\lower 1.947in\hbox to0pt{local array $a^{'}$ offsets\hss}}% XX \rlap{\kern 3.750in\lower 1.947in\hbox to0pt{2\hss}}% XX \rlap{\kern 3.188in\lower 1.947in\hbox to0pt{2\hss}}% XX \rlap{\kern 2.750in\lower 1.947in\hbox to0pt{1\hss}}% XX \rlap{\kern 2.250in\lower 1.947in\hbox to0pt{1\hss}}% XX \rlap{\kern 3.750in\lower 1.447in\hbox to0pt{4\hss}}% XX \rlap{\kern 3.250in\lower 1.447in\hbox to0pt{3\hss}}% XX \rlap{\kern 2.750in\lower 1.447in\hbox to0pt{2\hss}}% XX \rlap{\kern 2.250in\lower 1.447in\hbox to0pt{1\hss}}% XX \rlap{\kern 0.250in\lower 1.447in\hbox to0pt{Global array a \hss}}% XX \rlap{\kern 0.438in\lower 0.260in\hbox to0pt{Processors \hss}}% XX \rlap{\kern 3.375in\lower 0.322in\hbox to0pt{P(3)\hss}}% XX \rlap{\kern 2.938in\lower 0.322in\hbox to0pt{P(2)\hss}}% XX \rlap{\kern 2.438in\lower 0.322in\hbox to0pt{P(1)\hss}}% XX \special{pa 2250 0}% XX \special{pa 3750 0}% XX \special{pa 3750 500}% XX \special{pa 2250 500}% XX \special{pa 2250 0}% XX \special{fp}% XX \kern 4.001in XX }\vss}% XX \kern 2.001in XX} XEND_OF_FILE Xif test 2944 -ne `wc -c <'irregmap.tex'`; then X echo shar: \"'irregmap.tex'\" unpacked with wrong size! Xfi X# end of 'irregmap.tex' Xfi Xif test -f 'makefile' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'makefile'\" Xelse Xecho shar: Extracting \"'makefile'\" \(424 characters\) Xsed "s/^X//" >'makefile' <<'END_OF_FILE' XXall : paper1.dvi paper2.dvi paper1.ps paper2.ps XXpaper1.ps : paper1.dvi XX dvi2ps paper1.dvi > paper1.ps XXpaper2.ps : paper2.dvi XX dvi2ps paper2.dvi > paper2.ps XXpaper1.dvi : paper1.tex paper1.bbl XX latex paper1.tex XXpaper2.dvi : paper2.tex paper2.bbl XX latex paper2.tex XXclean : XX rm -f paper1.dvi paper1.log paper1.ps paper1.aux XX rm -f paper2.dvi paper2.log paper2.ps paper2.aux XX rm -f commpatt.aux fanin.aux final.aux irregmap.aux XEND_OF_FILE Xif test 424 -ne `wc -c <'makefile'`; then X echo shar: \"'makefile'\" unpacked with wrong size! Xfi X# end of 'makefile' Xfi Xif test -f 'paper1.bbl' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'paper1.bbl'\" Xelse Xecho shar: Extracting \"'paper1.bbl'\" \(6531 characters\) Xsed "s/^X//" >'paper1.bbl' <<'END_OF_FILE' XX\begin{thebibliography}{10} XX XX\bibitem{Pandore} XX{\sc F.~Andr\'e, J.-L. Pazat, and H.~Thomas}, {\em {PANDORE}: A system to XX manage data distribution}, in International Conference on Supercomputing, XX June 1990, pp.~380--388. XX XX\bibitem{ash90} XX{\sc C.~Ashcraft, S.~C. Eisenstat, and J.~W.~H. Liu}, {\em A fan-in algorithm XX for distributed sparse numerical factorization}, SISSC, 11 (1990), XX pp.~593--599. XX XX\bibitem{bade91} XX{\sc S.~Baden}, {\em Programming abstractions for dynamically partitioning and XX coordinating localized scientific calculations running on multiprocessors}, XX To appear, SIAM J. Sci. and Stat. Computation., (1991). XX XX\bibitem{baxt88} XX{\sc D.~Baxter, J.~Saltz, M.~Schultz, S.~Eisentstat, and K.~Crowley}, {\em An XX experimental study of methods for parallel preconditioned krylov methods}, in XX Proceedings of the 1988 Hypercube Multiprocessor Conference, Pasadena CA, XX January 1988, pp.~1698,1711. XX XX\bibitem{berg85} XX{\sc M.~J. Berger and S.~H. Bokhari}, {\em A partitioning strategy for pdes XX across multiprocessors}, in The Proceedings of the 1985 International XX Conference on Parallel Processing, August 1985. XX XX\bibitem{icase90-13} XX{\sc H.~Berryman and J.~Saltz}, {\em A manual for parti runtime primitives}, XX Interim Report 90-11, ICASE, 1990. XX XX\bibitem{icase90-41} XX{\sc H.~Berryman, J.~Saltz, and J.~Scroggs}, {\em Execution time support for XX adaptive scientific algorithms on distributed memory machines}, Report 90-41, XX ICASE, May 1990. XX XX\bibitem{shahid90} XX{\sc S.~Bokhari}, {\em Communication overhead on the intel ipsc-860 hypercube}, XX Report 90-10, ICASE Interim Report, 1990. XX XX\bibitem{reeves89} XX{\sc A.~Cheung and A.~P. Reeves}, {\em The paragon multicomputer environment: A XX first implementation}, Tech. Rep. EE-CEG-89-9, Cornell University Computer XX Engineering Group, Cornell University School of Electrical Engineering, july XX 1989. XX XX\bibitem{fox88} XX{\sc G.~Fox, M.~Johnson, G.~Lyzenga, S.~Otto, J.~Salmon, and D.~Walker}, {\em XX Solving Problems on Concurrent Computers}, Prentice-Hall, Englewood Cliffs, XX New Jersey, 1988. XX XX\bibitem{gamm} XX{\em Numerical methods for the computation of inviscid transonic flows with XX shock waves - a gamm workshop}, in Notes on Numercial Fluid Mechanics, XX vol.~3. XX XX\bibitem{gerndt-thesis} XX{\sc H.~M. Gerndt}, {\em Automatic parallelization for distributed memory XX multiprocessing systems}, Report ACPC/ TR 90-1, Austrian Center for Parallel XX Computation, 1990. XX XX\bibitem{seema91} XX{\sc S.~Hiranandani, K.~Kennedy, and C.~Tseng}, {\em Compiler support for XX machine-independent parallel programming in fortran d}, in Compilers and XX Runtime Software for Scalable Multiprocessors, J. Saltz and P. Mehrotra XX Editors, Amsterdam, The Netherlands, To appear 1991, Elsevier. XX XX\bibitem{koelbel-on} XX{\sc C.~Koelbel and P.~Mehrotra}, {\em Compiling global name-space programs for XX distributed execution}, Report 90-70, ICASE, 1990. XX XX\bibitem{km-ppopp90} XX{\sc C.~Koelbel, P.~Mehrotra, and J.~V. Rosendale}, {\em Supporting shared data XX structures on distributed memory architectures}, in 2nd {A}{C}{M} XX {S}{I}{G}{P}{L}{A}{N} {S}ymposium on {P}rinciples {P}ractice of {P}arallel XX {P}rogramming, ACM SIGPLAN, Mar. 1990, pp.~177--186. XX XX\bibitem{liu86} XX{\sc J.~W. Liu}, {\em Computational models and task scheduling for parallel XX sparse cholesky factorization}, Parallel Computing, 3 (1986), pp.~327--342. XX XX\bibitem{mavriplis} XX{\sc D.~J. Mavriplis}, {\em Multigrid solution of the two-dimensional {E}uler XX equations on unstructured triangular meshes}, AIAA Journal, 26 (1988), XX pp.~824--831. XX XX\bibitem{mirc88} XX{\sc R.~Mirchandaney, J.~H. Saltz, R.~M. Smith, D.~M. Nicol, and K.~Crowley}, XX {\em Principles of runtime support for parallel processors}, in Proceedings XX of the 1988 ACM International Conference on Supercomputing , St. Malo France, XX July 1988, pp.~140--152. XX XX\bibitem{hyper90seema} XX{\sc S.~Mirchandaney, J.~Saltz, P.~Mehrotra, and H.~Berryman}, {\em A scheme XX for supporting automatic data migration on multicomputers}, in Proceedings of XX the Fifth Distributed Memory Computing Conference, Charleston S.C., 1990. XX XX\bibitem{roge89} XX{\sc A.~Rogers and K.~Pingali}, {\em Process decomposition through locality of XX reference}, in Conference on Programming Language Design and Implementation, XX ACM SIGPLAN, June 1989. XX XX\bibitem{rosi89} XX{\sc M.~Rosing, R.~Schnabel, and R.~Weaver}, {\em Expressing complex parallel XX algorihtms in dino}, in Proceedings of the 4th Conference on Hypercubes, XX Conurrent Computers and Applications, 1989, pp.~553--560. XX XX\bibitem{salt86hc} XX{\sc J.~Saltz and M.~Chen}, {\em Automated problem mapping: the crystal runtime XX system}, in The Proceedings of the Hypercube Microprocessors Conf., XX Knoxville, TN, September 1986. XX XX\bibitem{salt-jpdc90} XX{\sc J.~Saltz, K.~Crowley, R.~Mirchandaney, and H.~Berryman}, {\em Run-time XX scheduling and execution of loops on message passing machines}, Journal of XX Parallel and Distributed Computing, 8 (1990), pp.~303--312. XX XX\bibitem{salt91-12} XX{\sc J.~Saltz, S.~Petiton, H.~Berryman, and A.~Rifkin}, {\em Performance XX effects of irregular communications patterns on massively parallel XX multiprocessors}, Report 91-12, ICASE, 1991. XX XX\bibitem{Tseng89} XX{\sc P.~S. Tseng}, {\em A Parallelizing Compiler for Distributed Memory XX Parallel Computers}, PhD thesis, Carnegie Mellon University, Pittsburgh, PA, XX May 1989. XX XX\bibitem{venk90} XX{\sc P.~Venkatkrishnan, J.~Saltz, and D.~Mavriplis}, {\em Parallel XX preconditioned iterative methods for the compressible navier stokes XX equations}, in 12th Intermational Conference on Numerical Methods in Fluid XX Dynamics, Oxford, England, July 1990. XX XX\bibitem{whitaker89} XX{\sc D.~L. Whitaker and B.~Grossman}, {\em Two-dimensional euler computations XX on a triangular mesh using an upwind, finite-volume scheme}, in Proceedings XX AIAA 27th Aerospace Sciences Meeting, Reno, Nevada, January 1989. XX XX\bibitem{whitaker90} XX{\sc D.~L. Whitaker, D.~C. Slack, and R.~W. Walters}, {\em Solution algorithms XX for the two-dimensional euler equations on unstructured meshes}, in XX Proceedings AIAA 28th Aerospace Sciences Meeting, Reno, Nevada, January 1990. XX XX\bibitem{will89} XX{\sc R.~D. Williams and R.~Glowinski}, {\em Distributed irregular finite XX elements}, Tech. Rep. C3P 715, Caltech Concurrent Computation Program, XX February 1989. XX XX\bibitem{superb} XX{\sc H.~Zima, H.~Bast, and M.~Gerndt}, {\em Superb: A tool for semi-automatic XX {M}{I}{M}{D}/{S}{I}{M}{D} parallelization}, Parallel Computing, 6 (1988), XX pp.~1--18. XX XX\end{thebibliography} XEND_OF_FILE Xif test 6531 -ne `wc -c <'paper1.bbl'`; then X echo shar: \"'paper1.bbl'\" unpacked with wrong size! Xfi X# end of 'paper1.bbl' Xfi Xif test -f 'paper1.tex' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'paper1.tex'\" Xelse Xecho shar: Extracting \"'paper1.tex'\" \(70612 characters\) Xsed "s/^X//" >'paper1.tex' <<'END_OF_FILE' XX\documentstyle[11pt]{article} XX%\pagestyle{empty} % removes page numbers XX\pagestyle{plain} % for writting the paper XX%\topmargin.0in XX%\oddsidemargin.3in XX%\evensidemargin.3in XX%\textheight8.75in XX%\textwidth5.95in XX%\textwidth6.25in XX%\baselineskip=2.5pc XX%\def\tightboxit#1{\vbox{\hrule\hbox{\vrule\vbox{#1}\vrule}\hrule}} XX\def\tightboxit#1{\vbox{\hrule\hbox{\vbox{#1}}\hrule}} XX XX\newenvironment{syntax}{ XX \tt XX \begin{list}{}{ XX \setlength{\topsep}{\baselineskip} XX \setlength{\leftmargin}{0.5in} XX \setlength{\rightmargin}{0.5in} XX } XX \obeylines XX \item[] XX}{\end{list}} XX\begin{document} XX\begin{center} XX%Title goes here XX{\Large {\bf Distributed Memory Compiler Design for Sparse Problems XX\footnotemark[4]}}\\ XX XX\vspace*{3em} XX XX XX%authors go here XX{ XX XX{\bf Janet Wu \footnotemark[1]}\\ XX{\bf Joel Saltz \footnotemark[2] } \\ XX{\bf Harry Berryman \footnotemark[1] \footnotemark[2]}\\ XX{\bf Seema Hiranandani\footnotemark[3]} \\ XX} XX\end{center} XX XX XX XX\footnotetext[1]{ XXComputer Science Department XXYale University XXNew Haven CT 06520 XX} XX XX\footnotetext[2]{ XXICASE, NASA Langley Research Center XXHampton VA 23665} XX XX\footnotetext[3]{Computer Science Department XXRice University XXHouston Tx 77251 } XX XX\footnotetext[4]{ XXResearch supported by the National Aeronautics XXand Space Administration under NASA contract NAS1-18605 XXwhile the authors were in residence at ICASE, Mail Stop 132C, XXNASA Langley Research Center, Hampton, VA 23665, and by NSF grant ASC-8819374.} XX\section{Abstract} XXIn this paper we describe and demonstrate a compiler and runtime XXsupport mechanism. XXThe methods presented here XXare capable of solving a wide range of sparse and unstructured XXproblems in scientific computing. XXThe compiler takes as input a XXFortran 77 program enhanced with XXspecifications for distributing data, XXand the compiler outputs a message passing XXprogram that runs on a distributed memory computer. XXThe runtime support for this compiler is XXa library of primitives designed XXto efficiently support irregular patterns of distributed array XXaccesses and irregular distributed array partitions. XXWe present a variety of Intel iPSC/860 performance results obtained XXthrough the use of this compiler. XX XX\pagebreak XX XX\section{Introduction} XXDuring the past few years, a number of researchers have proposed XXintegrating runtime optimization methods into XXcompilers for distributed memory multiprocessors. XXThese optimizations are essential in XXscientific codes that include sparse matrix solvers, or in programs that XXsolve partial differential XXequations using adaptive and unstructured meshes. XXWe first identified a set of relevant numerical codes that XXrequired runtime optimizations. XXAfter identifying this set, we XXperformed extensive experimental research on these codes. XXThe results of our experiments not only identified the XXmajor performance bottlenecks in these codes but also XXhelped us develop a rich set of optimizations useful XXand essential to generating reasonably efficient code XXfor this class of problems on distributed memory machines. XXOnce we developed a collection of XXrun time optimizations, we built a compiler XXthat identifies irregular computations and performs XXtransformations to enhance the code. XX XXThe compiler takes as input a simplified XXFortran 77 program enhanced with XXspecifications for distributing data, it outputs a message passing XXFortran program for the Intel iPSC/860 parallel computer. XXThe compiler consists of two distinct layers. XXThe bottom layer is a library of XXruntime procedures (Parti - Parallel Automated Runtime XXToolkit at ICASE) designed XXto efficiently support irregular patterns of distributed array XXaccesses. XXThe top layer XXis a compiler that carries out program transformations XXand embeds the Parti procedures. XXThe Parti procedures support a variety of XXoperations that include off processor data fetches , off processor store XXupdates on reduction operations performed XXon global data structures and storage of non-local data. XXParti also supports non-uniform distributed array XXpartitions in which each distributed array element XXcan be assigned to an arbitrary processor. XXA multicomputer program is generated XXin which all distributed memory accesses XXare carried out using embedded procedures. XX XXIt must be emphasized that the goal of this project is not XXto develop a production quality compiler, but to demonstrate XXthat run time optimizations can be automatically XXand efficiently generated by a compiler. XXMost of the complexity of our system is in the XXParti procedures. XXThe Parti procedures have been developed so that XXthat XXtransformations needed to embed XXthe appropriate primitives can be implemented with XXrelative ease in distributed memory compilers. XXIt may be noted XXthat while this system's top layer is experimental and is far from XXbeing production quality code, the lower layer is currently XXbeing distributed ~\cite{icase90-13}. XX XXThe details of the transformations performed by the ARF XXcompiler are described in section ~\ref{distrib1}. Section ~\ref{prim} XXdescribes the Parti run time primitives that have been implemented and XXincorporated in the compiler. In section ~\ref{trans} XXwe describe the ARF language and the XXoverall compiler strategy that demonstrates the interaction between the XXtwo layers of the ARF compiler. We XXdescribe the compiler in the context of XXtwo code examples. XXThese examples are written in ARF and translated to iPSC/860 code XXby our compiler. XXIn Section ~\ref{exp} we report experimental numbers for the codes XXcompiled by the XXARF compiler. XXIn Section~\ref{compare} XXwe describe the relationship between our work XXand other related research projects in the area and we XXconclude in Section~\ref{conclude}. XX XX\section{Distributed Memory Inspectors and Executors\label{distrib1}} XXIn distributed memory machines, large data arrays XXneed to be partitioned between local memories of processors. XXThese partitioned data arrays are called {\it distributed arrays}. XXWe follow the usual practice of assigning long term storage XXof distributed array elements to specific memory locations XXin the machine. Non-local reads require that a XXprocessor fetch a copy of that element from the memory of the XXprocessor in which that array element is stored. XXAlternately, a processor may need to store a value in a XXnon-local distributed array element requiring XXthe processor to write to non-local memory. XXAn issue that arises at this point is where does a processor XXstore copies of off-processor data. Due to the irregular nature of XXthe access pattern, it is not efficient to store the elements XXin temporary arrays or overlap areas proposed by Gerndt XX~\cite{gerndt-thesis}. Both XXthese storage schemes result in large wastage of memory. We XXstore local copies of off-processor distributed array elements XXin hash tables called XX{\it hashed caches}. Hash tables result in XXless wastage of memory and quick access of off-processor data. XXRun time primitives are implemented XXto manage the hashed caches. These primitives initialize the XXhashed caches, store and retrieve data from them XXand flush the hashed caches when appropriate. XXDuring program execution, XXa hash table XXrecords off-processor fetches and stores. XXWe are consequently able to recognize XXwhen more than one reference is being made XXto the same off-processor distributed array element, XXso that only one copy of that element need be fetched or stored. XX XXIn distributed memory MIMD architectures, there is typically XXa non-trivial communications latency or startup cost ~\cite{shahid90}. XXAs an optimization we block messages in order to increase the message XXsize and reduce the number of messages. XXThis optimization can be achieved XXby precomputing what data each processor needs XXto send and receive. The preprocessing needed to perform this XXoptimization results in the generation of an {\it inspector} loop. XXFigure ~\ref{distinspector} describes the form of the inspector XXloop that is generated assuming the original loop is parallel XXand thus blocking messages is legal. XXThe distribution of parallel loop indices to processors XXdetermines where computations are to be performed. XXWe assume that all XXdistributed arrays referenced have been defined and initialized XXand that loop iterations have been partitioned among XXprocessors. XX XX\setbox1=\vbox{ XX\begin{itemize} XX\vspace{.15in} XX\item[] Each processor P: XX\vspace{.15in} XX\begin{itemize} XX\item Preprocesses its own loop iterations XX\item Records off-processor fetches and stores in hashed cache XX\item Finds send/receive calls required for data exchange XX XX\begin{enumerate} XX\item P generates list of all off-processor data to be fetched XX\item P sends messages to other processors requesting copies of required XXdata XX\item Other processors tell P which data to send XX\item Send/Receive pairs generated and stored XX\end{enumerate} XX\end{itemize} XX\end{itemize} XX XX } XX XX \begin{figure} XX \tightboxit{ XX \box1 XX } XX \caption{Inspector For Parallel Loop on Distributed Memory Multiprocessor \label{distinspector}} XX \end{figure} XX XXDuring the inspector phase, we carry out a set of XXinterprocessor communications that allows us to XXanticipate exactly which send and receive communication calls XXeach processor must execute prior to executing the loop. XXBy contrast, individual fetches and stores carried XXout during the actual computation would result in expensive, XXinefficient and awkward code ~\cite{salt-jpdc90}. XXFor example, in such a case XXprocessor {\em A} might obtain the contents of a distributed array XXelement XXwhich is not on {\em A} by sending XXa message to processor {\em B} associated with the array element. Processor XX{\em B} would have to be {\it programmed} XXto anticipate a request XXof this type, to satisfy the XXrequest and to return a responding message containing the XXcontents of the specified array element. XX XXThe inspector loop transformation described above assumes XXcomputing the processor on which the non-local data resides XXis straight forward. For example, if a one dimensional XXarray is distributed in a block manner, simple functions can XXbe used to compute the processor and local XXoffset of a particular array element. XXHowever, XXthere are many situations in which simple, XXeasily specified distributed array partitions XXare inappropriate. XXIn computations that involve XXan unstructured mesh, XXwe attempt to partition the problem so that each processor XXperforms approximately the same amount of work to achieve XXload balancing and to minimize communication overhead. XXTypically, it is not possible to express the XXresulting array partitions in a simple way. XXBy allowing an arbitrary assignment of distributed XXarray elements to processors, we have the additional XXburden of maintaining a data structure that describes XXthe partitioning. The size of this data structure XXmust be the same as the size of the XXthe irregularly distributed array. XXWe call this data structure a {\it distributed translation table}. XXDistributed translation tables are partitioned XXbetween processors in a simple straightforward manner XXdescribed in Section ~\ref{transsec}. XX XXIn order to access an array element, we need to know XXwhere the element is stored in the memory of the distributed XXmachine. This information is obtained from the distributed translation XXtable. XXWhen a distributed translation table is used to describe array XXmappings, inspectors must be modified so that they XXaccess the distributed table. The modifications made XXto an inspector are outlined in Figure~\ref{distirregmap}. XXIn this case, the distributed translation table is used to XXdetermine the processor on which an element resides. XX XX XX\setbox1=\vbox{ XX\begin{itemize} XX\vspace{.15in} XX\item[] Each processor P: XX\vspace{.15in} XX\begin{itemize} XX\item Preprocesses its own loop iterations XX\item Records off-processor fetches and stores in hashed cache XX\item Consults distributed translation table to XX\begin{itemize} XX\item Find location in distributed memory for each off-processor XXfetch or store XX\end{itemize} XX\item Finds send/receive calls required for data exchange XX XX\begin{enumerate} XX\item P generates list of all off-processor data to be fetched XX\item P sends messages to other processors requesting copies of required XXdata XX\item Other processors tell P which data to send XX\item Send/Receive pairs generated and stored XX\end{enumerate} XX\end{itemize} XX\end{itemize} XX XX } XX XX \begin{figure} XX \tightboxit{ XX \box1 XX } XX \caption{Inspector For Parallel Loop Using Irregular Distributed Array Mapping\label{distirregmap}} XX \end{figure} XX XXOnce the preprocessing is completed, every processor XXknows exactly which non-local data elements it needs to send XXto and receive from the other processors. XXwe are therefore in a position to XXcarry out the necessary communication and computation. The loop XXis transformed into an {\em executor} loop. XXFigure ~\ref{distexecutor} outlines the steps involved and they apply XXto irregular and regular array mappings. XXThe initial data exchange phase follows the plan established XXby the inspector. XXWhen a processor obtains copies of non-local XXdistributed array elements, the copies are written into XXthe processor's hashed cache. XXOnce the communication phase is over, each processor carries out XXits computation. Each processor uses XXlocally stored XXportions of distributed arrays along with non-local XXdistributed array elements stored in the hashed cache. XXWhen the computational phase is finished, distributed XXarray elements to be stored off-processor are XXobtained from the hashed cache and sent to the XXappropriate off-processor locations. XXIn the next section we describe the details of the Parti run time XXprimitives that may be invoked during the inspector and executor XXphases. XX\setbox1=\vbox{ XX XX\begin{itemize} XX\vspace{.15in} XX\item Before loop or code segment XX\vspace{.15in} XX\begin{enumerate} XX\item Data to be sent off-processor read from distributed arrays XX\item Send/receive calls transport off-processor data XX\item Data written into hashed cache XX\end{enumerate} XX\vspace{.15in} XX\item Computation carried out XX\vspace{.15in} XX XX\begin{itemize} XX\item off-processor reads/writes go to hashed cache XX\end{itemize} XX\pagebreak XX XX\vspace{.15in} XX\item At end of loop or code segment XX\vspace{.15in} XX\begin{enumerate} XX\item Data to be stored off-processor is read from hashed cache XX\item Send/receive calls transport off-processor data XX\item Data written back into distributed arrays for longer term XXstorage XX\end{enumerate} XX\end{itemize} XX XX XX } XX XX \begin{figure} XX \tightboxit{ XX \box1 XX } XX \caption{Executor For Parallel Loop on Distributed Memory Multiprocessor \label{distexecutor}} XX \end{figure} XX XX\section{Parti primitives\label{prim}} XX XXThe Parti run time primitives can be divided into three categories; XXprimitives that may be invoked during the inspector phase, executor XXphase or both inspector and executor phase. XXThe {\em scheduler} primitive invoked during the inspector phase, XXdetermines the send and receive calls that are needed during the XXexecutor phase. These calls may be to either scatter, gather or XXperform reduction operations during the executor phase. XXThe distributed translation table mentioned earlier is used XXduring the inspector phase. XXThe hashed cache primitives are used during the inspector and XXexecutor phases. XXThe next section describes the details of the scheduler, distributed XXtranslation table, XXscatter, gather, XXreduction and hashed cached primitives. XX XX\subsection{The Scheduler Primitive} XX XX\begin{figure}[hbt] XX{\include{irregmap} \usebox{\graph}} XX\vspace{0.2in} XX\caption{Mapping of a Global Array to Processors \label{gmapping}} XX\vspace{0.2in} XX\end{figure} XX XX XX\begin{figure}[hbt] XX{\include{commpatt} \usebox{\graph}} XX\vspace{0.2in} XX\caption{Irregular Access Pattern \label{exampleinterrupt}} XX\vspace{0.2in} XX\end{figure} XXWe will use a simple example to illustrate XXthe preprocessing XXcarried out by XXthe scheduler. Assume we have a distributed array {\tt a} XXthat is partitioned among three processors in an irregular XXfashion as depicted in Figure ~\ref{gmapping} and there is XXa loop computation such that the access pattern of array {\tt a} XXis as shown in Figure ~\ref{exampleinterrupt}. XXEach processor stores its elements of distributed array XX{\tt a} in a {\em local} array ${\tt a^{'}}$. XXThus XXprocessor $P_1$ needs to fetch array element XX$a(3)$ or element $a^{'}(2)$ of the local array XXfrom processor $P_2$ and processors $P_2$ and $P_3$ XXneeds to fetch $a(4)$ or element $a^{'}(2)$ of the local array from $P_1$. XXRecall that the task of the {\em scheduler} is to anticipate XXexactly which send and receive communications must be XXcarried out by each processor. XXThe scheduler first figures out {\em how many } XXmessages each processor will have XXto send and receive during the XXdata exchange that takes place in the executor phase. XXDefined on each XXprocessor ${\tt P^i}$ is an array ${\tt nmsgs^i}$. Each processor sets XXits value of ${\tt nmsgs^i(j)}$ to $1$ if it needs data from processor $j$ XXor to $0$ if it does not. The scheduler then updates ${\tt nmsgs}$ XXon each processor XXwith the element-by-element sum ${\tt nmsgs^i(j)} \leftarrow \sum_{k} XX{nmsgs^k(j)}$. XXThis operation utilizes a function that XXimposes a fan-in tree to find the sums. XXAt the end of the fan-in, on all processors, the entries of XX${\tt nmsgs}$ are identical. XXThe value ${\tt nmsgs(j)}$ is equal to the XXnumber of messages that processor ${\tt P^j}$ must XXsend during the exchange phase. XXIn our example scenario, we see that at the end of the fan XXin, the value of XX${\tt nmsgs}$ on each processor is [2,1,0] XX(Figure ~\ref{exampleglobalsum}). XXThus $P_1$ is able to determine that it XXneeds to send data to XXtwo other (as yet unspecified) processors, $P_2$ XXneeds to send data to one processor and $P_3$ does not XXneed to send any data. XX XXAt this point, each processor transmits XXto the appropriate processor, XXa list of XXrequired array elements. This list contains the local offsets XXof the global array elements. XXIn our example, $P_1$ sends a message XXto $P_2$ requesting element 2 of the local array $a^{'}$; XX$P_2$ and $P_3$ send a message to $P_1$ XXrequesting element 2 of the local array $a^{'}$. XXEach processor now has the information XXrequired to set up the send and receive messages that XXare needed to carry out the scheduled communications XX(Figure ~\ref{examplesendrecv}). XX XX XX XX\begin{figure}[hbt] XX{\include{fanin} \usebox{\graph}} XX\vspace{0.2in} XX\caption{Computing the number of Send Messages\label{exampleglobalsum}} XX\vspace{0.2in} XX\end{figure} XX XX XX\begin{figure}[hbt] XX{\include{final} \usebox{\graph}} XX\vspace{0.2in} XX\caption{Final Message Pattern \label{examplesendrecv}} XX\vspace{0.2in} XX\end{figure} XX XX\subsection {Data Exchange Primitives \label{dataexchange}} XXData {\em exchangers} can be called by each processor to: XX\begin{itemize} XX\item[] gather data from other processors, XX\item[] scatter data to other processors, or XX\item[] perform global reduction operations XX\end{itemize} XXThese exchangers use state information stored by the {\em scheduler}. XXAs described in the previous section the XX{\em scheduler} determines the send and receive calls needed to XXcarry out data exchanges. XXThe scheduler is not given any information about memory locations -- XXit involves only processors and local indices. XX XXWhen a processor $P$ calls a data exchanger, it passes XXto the {\em exchanger} routine XXthe starting address of the first local array element XXin its memory. We call this address $A_P$. The {\em exchanger} routines XXuse $A_P$ to read or write distributed array elements. XXThe schedule generated by the {\em scheduler} XXcan be reused. A schedule XXcan also be used to carry out identical patterns of data XXexchange on several different identically XXdistributed arrays XXor on several different identically XXdistributed array sections. The same schedule XXcan be reused to repeatedly carry out XXa particular pattern of data exchange on a single distributed XXarray, and any of the data exchange primitives can make use of XXa given schedule. XX XX\subsection{Calling Sequence of Scheduler and Data Exchanger} XX XXIn this section, we give a specific example of the calling XXsequence used to invoke the schedule and data XXexchange primitives. XXWe consider the following two Parti procedure calls: XX\begin{itemize} XX XX\item[] call scheduler(id,n,hashed-cache,local-indices,processors) XX XX\item[] call gather-exchanger(id,hashed-cache,local-array). XX XX\end{itemize} XXIn this example, XXprocessor arranges to obtain XXcopies of specified off-processor data elements, these copies XXare placed in the hash table {\tt hashed-cache}. XX XXEach processor passes to {\em scheduler} XXa list of off-processor local array indices. XXThe scheduler will build a schedule that will make XXit possible for XX$P$ to obtain $n$ data elements. XX$P$ will obtain XXdata element $i$, $1 \le i \le n$ from XXprocessor $processors(i)$, local index XX$local-indices(i)$. XXA previously allocated hash table $hashed-cache$ XXis used to eliminate duplicate off-processor indices. XX{\em scheduler} returns an integer $id$ which XXis be used by a subsequent call XXto {\em gather-exchanger}. XX XXEach processor the calls {\em gather-exchanger}. XX{\em gather-exchanger} XXpasses the address of the memory location $local-array$ XXin which each processor stores its portion of a distributed XXarray. XX{\em gather-exchanger} returns copies of the XXrequested off-processor array elements, XXthese copies are placed in the hash table {\tt hashed-cache}. XX XX XX XX\subsection{The Translation Table \label{transsec}} XXWe are able to allow a user to assign globally XXnumbered distributed array elements to processors in an irregular pattern, XXusing a distributed translation table. XXRecall that the XX{\em scheduler} XXand the data {\em exchangers} deal with indices of arrays XXthat are {\em local} to each processor. XXThe translation primitives, however, XXassume that distributed array elements have been assigned global indices. XX XXThe procedure {\em build-translation-table} XXconstructs the distributed translation table. XXEach processor XXpasses build-translation-table XXa set of globally numbered XXindices for which it will be responsible. XXThe distributed translation table may be striped or blocked XXacross the processors. With a striped XXtranslation table, the translation table XXentry for global index {\tt i} is stored on processor XX$i \; mod \; numprocs $ where numprocs is the number of processors. XXIn a blocked translation table, translation table XXentries are partitioned into a number of equal sized ranges XXof contiguous integers, these ranges XXare placed in consecutively numbered processors. XX XX{\em Dereference} accesses the XXdistributed translation table constructed in \\ XXbuild-translation-table. XXFor a given distributed array, XXdereference is passed a set of global indices XXthat need to be located in distributed memory. XXDereference returns the XXprocessors and memory locations where the XXspecified XXglobal indices are stored. XX XXWe will illustrate the use of these primitives using the same XXmapping as in Figure ~\ref{gmapping} except that the number of XXprocessors equals 2. XXTwo processors call build-translation-table. XXThus $P_1$ claims responsibility for XXindices 1 and 4, while $P_2$ XXclaims responsibility for indices 2 and 3. XXWe assume that the translation table is partitioned between 2 processors XXby blocks. We depict the translation table XXdata structure in Table ~\ref{exampletrans}. XXEach entry of the translation table assigns a processor and XXa local array index to each globally indexed distributed XXarray element. XXIn our example, XXtranslation table information XXabout global indices 1 and 2 is stored in processor 1, while XXinformation about global indices 3 and 4 is stored in processor 2. XX XX XX\begin{table*} XX\centering XX\caption{Translation Table Entries \label{exampletrans}} XX\begin{tabular}{|cc|c|c|} \hline XX XX&global &assigned & local \\ XX&index &processor & index \\ \hline XX&\multicolumn{3}{c|}{\bf Processor 1 } \\ \hline XX XX&1 & 1 & 1 \\ XX&2 & 2 & 1 \\ \hline XX&\multicolumn{3}{c|}{\bf Processor 2 } \\ \hline XX&3 & 2 &2 \\ XX&4 & 1 &2 \\ \hline XX\end{tabular} XX\end{table*} XX XX XXTo continue our example, assume that XXboth processors XXuse the dereference primitive to find assigned processors and XXlocal indices corresponding to particular global distributed XXarray indices. XXIn Table ~\ref{examplederef} we depict the results obtained XXwhen XXprocessor 1 dereferences global indices XX1 and 3, and processor 2 dereferences XXglobal indices 2, 3 and 4. XX\begin{table*} XX\centering XX\caption{Results obtained from Dereference\label{examplederef}} XX\begin{tabular}{|cc|c|c|} \hline XX XX&global &assigned & local \\ XX&index &processor & index \\ \hline XX&\multicolumn{3}{c|}{\bf Processor 1 } \\ \hline XX XX&1 & 1 & 1 \\ XX&3 & 2 & 2 \\ \hline XX&\multicolumn{3}{c|}{\bf Processor 2 } \\ \hline XX&2 & 2 &1 \\ XX&3 & 2 &2 \\ XX&4 & 1 &2 \\ \hline XX\end{tabular} XX\end{table*} XX XX\subsection {The Hashed Cache} XXThe usefulness of the Parti primitives described in Section ~\ref{prim} XXcan be enhanced by coupling these primitives with hash tables. XXThe hash table records the numerical value associated with each distributed XXarray element. The hash table also records the XXprocessor and local index associated with the element. XX XXDereference uses the hash table to reduce the volume of XXinterprocessor communication. XXRecall that dereference returns the processor assignments XXand the memory locations that correspond to XXa given list of distributed array indices. XXEach distributed array index may XXappear several times in lists passed to dereference. XXThe hash table is used to remove these duplicates. XX XXThe scheduler and the data exchange procedures use hash XXtables to store copies of off-processor XXdistributed array elements. XXLists of off-processor distributed array elements passed XXto the scheduler may have duplicates, the scheduler XXuses the hash table to remove these. XXThe gather data {\em exchanger} XX(or {\em gather-exchanger}) fetches copies of off-processor XXdistributed array elements and then {\em places the XXoff-processor distributed array values in a hash table}. XXSimilarly, {\em scatter-exchanger} obtains copies of off-processor XXdistributed array elements {\em from a hash table} XXand writes the values obtained into a specified local XXarray element on a designated processor. XXPrimitives to support accumulations to non-local XXmemory use hash tables in the same way scatter does. XX XXParti supplies a number of other primitives that XXsupport reading from, as well as writing and accumulating XXto, hash tables. XXWhen off-processor accumulations must be performed, XXwe first carry out all possible accumulations to XXcopies of distributed array elements in XXhash table, XXthen we perform an accumulation data exchange. XX XXCurrently, we use a hash XXfunction that, for a hash cache of size $2^{k}$, masks the lower k bits XXof the key. The key is formed by concatenating the processor-local XXindex pair that corresponds to a distributed array reference. XX XX\section{The ARF Language \label{trans}} XXWe have described in earlier sections the 2 distinct layers XXof the compiler. We will now briefly describe the extensions XXthat we have added to Fortran 77 to create the XXARF (ARguably Fortran) language. ARF is XXan interface between the application programs and the XXParti run-time support primitives. The ARF compiler XXgenerates inspector and executor loops with embedded primitives. XX XXDistributed arrays are declared in ARF XXsource. These distributed arrays can either be partitioned XXbetween processors in a regular manner (e.g. equal sized XXblocks of contiguous array elements assigned to each processor), XXor in an XXirregular manner. XXAn ARF user declares a mapping into distributed memory for each XXdistributed array. XXWhen an array is to be partitioned in an irregular fashion, XXmapping information is specified in a regularly distributed XXinteger array. XXElement {\tt i} of the integer array describes the processor XXto which element {\tt i} of the distributed array is to be mapped. XXExamples are shown below, XX\begin{syntax} XXS1 distributed regular using block real k(SIZE) XXS2 distributed regular using block integer map(SIZE) XXS3 distributed irregular using map real y(SIZE). XX\end{syntax} XX XXS1 declares that {\tt k} is a real XXarray, distributed in a regular block XXmanner, XXS2 declares that {\tt map} is an integer array, also XXdistributed in a regular block XXmanner. XXS3 declares a real array {\tt y} whose distribution XXis to be determined by the distributed integer array XX{\tt map}. XXIn the examples we give in this paper, XXall integer arrays used to specify irregular mappings XXwere produced by hand coded partitioning procedures XXand then passed to an ARF routine. XX XXAnother addition to Fortran 77 is the {\em on clause}. The on clause XXhas been originally implemented in Kali ~\cite{koelbel-on}. XXIt is a mechanism by which the user has control over distributing XXthe iteration space or work load among processors. XX{\em Distribute do} is an ARF language extension, this XXimplies that the loop iterations XXin a given do loop should be distributed between XXprocessors. XXIn the next section we use two examples to illustrate the XXtransformations and optimizations performed by the ARF compiler. XXThese message passing Fortran codes were generated by the ARF compiler. XX XX\subsection{Code Generation by the ARF Compiler} XXThe ARF compiler transforms an ARF program into a target program which XXincorporates the primitives needed to efficiently XXcarry out the distributed XXcomputation. XXThe kernels we present here have been coded in ARF, XXcompiled and run on an iPSC/860; in Section ~\ref{exp} XXwe will present performance data obtained from XXboth kernels. XX XX\subsubsection{Sparse Block Matrix Vector Multiply} XXIn Figure~\ref{arfmvm} we present an ARF program that carries out XXa block sparse matrix vector multiply. XXThis kernel was obtained from XXan iterative solver produced for a program designed to calculate fluid flow XXfor geometries defined by an unstructured mesh ~\cite{venk90}. XXThe matrix is assumed to have size $4$ by $4$ blocks of non-zero XXentries. XXStatements {\tt S4} and {\tt S5} are loops that XXsweep over the non-zero entries in each block. XX XXInteger XXarray {\tt partition} is local to each processor XXand enumerates a list of indices assigned to the processor. XXAs mentioned earlier, the current implementation partitions XXonly one dimension, the last dimension of the array. XXThe Parti primitives, however, XXdo support a broader class of array mappings ~\cite{icase90-41}. XXThus {\tt partition} XXdescribes the partitioning of XXthe last dimension of the arrays XXdeclared in statements {\tt S1} and {\tt S2}. XXThe ARF compiler uses the information in XX{\tt partition} to make calls to primitives that initialize XXthe distributed translation tables. These distributed translation tables XXare used to describe the mapping of {\tt x, y , cols, ncols} and {\tt f} XX(statements S1 and S2). XX XXThe partitioning of computational work is specified in XXstatement S3 by an {\em on clause}. XXIn this example, distributed array {\tt partition} is used to specify XXwhich loop iterations are to be carried out on each processor. XXThe reference {\tt x(m,cols(j,i))} in XXS6 may require off-processor references. XXARF must consequently generate an inspector to produce a XXschedule and a hash table to handle accesses to XXthe distributed array {\tt x}. XXA reference to the irregularly distributed array {\tt f} XXoccurs in statement S6. XXNote that distributed array {\tt f} is irregularly distributed using XXarray {\tt partition} and that {\tt partition } XXis also used by the on clause to partition loop iterations in S3. XXIt can therefore be deduced that the reference to {\tt f} in XXstatement S6 is on-processor. XX{\tt partition} specifies how XXdistributed XXarray elements and loop iterations are to be distributed XXbetween processors. A separate partitioning routine XXgenerates {\tt partition}. XXIn this paper, we simply assume XXthat array {\tt partition} is passed to the sparse matrix vector XXmultiply kernel after having been generated elsewhere. XX XXThe ARF compiler generates an inspector and an executor XXto run on each processor. XXThe work of the inspector is carried out on each XXprocessor as follows: XX\begin{enumerate} XX\item[] Call {\em build-translation-table} using the mapping defined by array XX{\tt partition}. Generate distributed translation table $T_{\tt partition}$. XX\item[]Call {\em dereference} to employ translation table XX$T_{\tt partition}$ to find processor assignments, {\tt PA} and local XXindices, {\tt LA} for consecutive references to $x(m,cols(j,i))$. XX\item[] Pass {\tt PA} and {\tt LA} to scheduler,generate schedule {\tt S}. XX\item[] Use {\tt PA} and {\tt LA} to setup hash table {\tt H}. XX\end{enumerate} XX XXThe executor generated by ARF on processor $P$ is depicted in XXFigure ~\ref{mvmexec}. XXIn Figure ~\ref{mvmexec} XXwe use Fortran 90 notation where appropriate to enhance XXreadability. XXOff-prococessor elements of {\tt x} are gathered and placed XXin a hash table {\tt H} (step I Figure~\ref{mvmexec}). XXValues from {\tt x} are obtained XXfrom {\tt H} or from local memory as is appropriate (step IIa, XXFigure~\ref{mvmexec}). XXArrays {\tt PA} and {\tt LA} are used to distinguish XXlocal from off-processor array accesses. XXIn step IIb, XXwe accumulate to {\tt y}. XXNote that the declarations in XXS1 and S3 in Figure~\ref{arfmvm} allow XXthe compiler to determine XXthat accumulations to {\tt y} XXare local. XX XX XX\setbox1=\vbox{ XX\begin{itemize} XX\vspace{.15in} XX\item[S1] distributed irregular using partition real*8 x(4,n), y(4,n),f(4,4,maxcols,n) XX\item[S2] distributed irregular using partition integer cols(9,n), ncols(n) XX\vspace{.15in} XX XX XX\item[] ... initialization of local variables ... XX XX\vspace{.15in} XX XX\item[S3] distributed do i=1,n on partition XX\begin{itemize} XX XX\item[] do j=1,ncols(i) XX XX\begin{itemize} XX XX XX\item[S4] do k=1,4 XX\begin{itemize} XX\item[ ] sum = 0 XX\item[S5] do m = 1,4 XX\item[S6] sum = sum + f(m,k,j,i)*x(m,cols(j,i)) XX\item[] enddo XX\end{itemize} XX\item[] y(k,i) = y(k,i) + sum XX\item[] enddo XX\end{itemize} XX XX\item[] enddo XX\end{itemize} XX XX\item[] enddo XX\end{itemize} XX XX\vspace{.15in} XX XX } XX XX \begin{figure} XX \tightboxit{ XX \box1 XX } XX \caption{ARF Sparse Block Matrix Vector Multiply \label{arfmvm}} XX \end{figure} XX XX XX\setbox1=\vbox{ XX\begin{itemize} XX\item[I.] {\em call gather-exchanger} using XXschedule {\tt S} to obtain off-processor elements of {\tt x} XX\item[] {\em gather-exchanger} places gathered data in hash table {\tt H} XX\item[] count = 1 XX\item[II.] for all rows $i$ assigned to processor $P$ XX\item[] do j=1,ncols(i) XX\begin{itemize} XX\item[] do k= 1,4 XX\begin{itemize} XX\item[] sum = 0 XX\item[IIa.] if PA(count) == $P$ then XX XX\begin{itemize} XX\item[] vx(1:4) = x(1:4,LA(count)) XX\end{itemize} XX\item[] else XX\begin{itemize} XX\item[] Use PA(count), LA(count) to get vx(1:4) from hash table {\tt H} XX\end{itemize} XX XX\item[] endif XX\item[] do m=1,4 XX\begin{itemize} XX\item[] sum = sum + f(m,k,j,i)*vx(m) XX\end{itemize} XX\item[] end do XX\item[IIb.] y(k,i) = y(k,i) + sum XX XX\end{itemize} XX\item[] end do XX\item[] count = count + 1 XX\end{itemize} XX\item[] end do XX\end{itemize} XX} XX \begin{figure} XX\tightboxit{ XX\box1 XX} XX\caption{Executor generated from ARF for Sparse Block Matrix Vector Multiply \label{mvmexec}} XX\end{figure} XX XX XX\subsubsection{The Fluxroe Kernel} XXIn section ~\ref{exp} XXwe will present the ARF compiler output of a more complex XXkernel. This kernel is taken from XXa program that computes convective fluxes using XXa method based on Roe's approximate Riemann solver XX~\cite{whitaker89},~\cite{whitaker90}; we will XXcall this kernel {\em fluxroe}. XXFluxroe computes the flux across each edge of an unstructured mesh. XXFluxroe accesses elements of array {\tt yold}, XXcarries out flux calculations and accumulates results XXto array {\tt y}. XXAs was the case in the sparse block matrix XXvector multiply kernel, four sections of XXeach array are distributed and accessed in XXan identical manner. XXIn Figure \ref{arffluxroe} we depict an outline of the fluxroe kernel. XXWe denote the XXindices of the two vertices that comprise XXedge $i$ by $n1~=~n(i,1)$ and $n2~=~n(i,2)$. XXTo compute the fluxes $f(i,k)$ across the $i$th edge, XXwe need to access $yold(n1,k)$ and $yold(n2,k)$, for $1 \le k \le 4$ XX(part I Figure ~\ref{arffluxroe}). Once the fluxes have been computed, XXwe add the newly computed flux values $f(i,k)$ to XX$y(n1,k)$ and subtract $f(i,k)$ from $y(n2,k)$ XX(part III Figure ~\ref{arffluxroe}). XXNote that arrays {\tt y} and {\tt yold} are irregularly XXdistributed using {\tt y-partition}, and that XXdistributed array {\tt node} is irregularly distributed XXusing {\tt edge-partition}. XXSince the {\em on clause} in the distributed do statement XXalso uses {\tt edge-partition} to specify how XXloop iterations are to be partitioned, XXno off-processor references are made to {\tt node} XXin part I Figure ~\ref{arffluxroe}. XX XXIn the inspector, we need to compute XXa schedule $S_{n1}$ for the off-processor {\em additions } XXto $y(n1,k)$ (part IIIa Figure XX~\ref{arffluxroe}), XXand a different schedule $S_{n2}$ XXfor the off-processor {\em subtractions} from $y(n2,k)$ XX( part IIIb Figure ~\ref{arffluxroe}). XXWhen parallelized, fluxroe reads as well as accumulates to off-processor XXdistributed array locations. XXAs we pointed out in Section ~\ref{dataexchange}, XXany of the data exchange primitives can use the same schedule. XXWe can use schedule $S_{n1}$ to gather off-processor XXreferences from $yold(k,n1)$ (part Ia Figure ~\ref{arffluxroe}), and XXwe can use schedule $S_{n2}$ to gather off-processor references XXfrom $yold(k,n2)$ (part Ib Figure ~\ref{arffluxroe}). XX XXThe work of the inspector is carried out as follows: XX\begin{itemize} XX\item[] Call {\em build-translation-table} using mapping defined XXby array {\tt y-partition}. Generate distributed translation table XX$T_{y-partition}$. XX\item[] Call {\em dereference} to employ translation table $T_{y-partition}$ XXto find: XX\begin{enumerate} XX\item Processor assignments ${\tt PA_{n1}}$ and local indices XX${\tt LA_{n1}}$ for consecutive add accumulations to $y(k,n1)$ XX(the same ${\tt PA_{n1}}$ and ${\tt LA_{n1}}$ can be used XXfor consecutive references to XX$y(k,n1)$). XX\item Processor assignments ${\tt PA_{n2}}$ and local indices XX${\tt LA_{n2}}$ for consecutive substract accumulations to $y(k,n2)$ XX(the same ${\tt PA_{n2}}$ and ${\tt LA_{n2}}$ can be used XXfor consecutive references to $y(k,n2)$). XX\end{enumerate} XX\item[] Pass ${\tt PA_{n1}}$ and ${\tt LA_{n1}}$ to {\em scheduler} XXto obtain schedule ${\tt S_{n1}}$; pass XX${\tt PA_{n2}}$ and ${\tt LA_{n2}}$ to {\em scheduler} XXto obtain schedule ${\tt S_{n2}}$. XX\item[] Setup hash tables ${\tt H_{n1}}$ and ${\tt H_{n2}}$. XX\end{itemize} XX XX\setbox1=\vbox{ XX\begin{itemize} XX\item[] distributed irregular using y-partition real*8 yold(4,Number-nodes), y(4,Number-nodes) XX\item[] distributed irregular using edge-partition integer node(2,Number-edges) XX\item[] XX\item[] ... initialization of local variables ... XX\item[] XX XX\item[] distributed do i = 1,Number-edges on edge-partition XX\item[] XX\begin{itemize} XX\item[I.] n1 = node(1,i) XX\item[] n2 = node(2,i) XX\item[] XX\item[] do k=1,4 XX\begin{itemize} XX\item[Ia.] Va(k) = yold(k,n1) XX\item[Ib.] Vb(k) = yold(k,n2) XX\end{itemize} XX\item[] end do XX\item[] XX\item[II.] Calculate flux using Va(k), Vb(k) XX\item[] XX\item[III.] do k=1,4 XX\begin{itemize} XX\item[IIIa.] y(k,n1) = y(k,n1) + flux(k) XX\item[IIIb.] y(k,n2) = y(k,n2) - flux(k) XX\end{itemize} XX\item[] end do XX\end{itemize} XX\item[] end do XX\end{itemize} XX} XX\begin{figure} XX \tightboxit{ XX \box1 XX } XX \caption{ARF Kernel From Riemann Solver \label{arffluxroe}} XX \end{figure} XX XX XXFigure ~\ref{fluxroeexec} outlines the executor produced by XXARF on processor $P$. XXIn Figure ~\ref{fluxroeexec} XXwe use Fortran 90 notation where appropriate to enhance XXreadability. XXIn step Ia and Ib XXwe gather two sets of off-processor elements of {\tt yold} XXusing schedules $S_{n1}$ and $S_{n2}$. XXIn step II we access the appropriate elements of {\tt yold} XXeither from local memory or from the appropriate hash table, XXand in step III we use {\tt yold} values to calculate XXfluxes. XXIf the newly computed fluxes are to be accumulated to a XXlocal element of distributed array {\tt y}, the appropriate XXaddition or subtraction is carried out at once ( XXsteps IVa and IVc Figure~\ref{fluxroeexec}). XXWhen a flux must be accumulated to a off-processor element XXof {\tt y}, we accumulate the flux to XX{\em a copy of {\tt y} stored in a hash table} XX(steps IVb and IVd Figure~\ref{fluxroeexec}). XXWhen all fluxes have been calculated and all local accumulations XXare completed, we then call the {\em scatter-add} XXand {\em scatter-subtract} exchangers. These exchangers XXcarry out the needed off-processor accumulations. XX XXThe current version of the ARF compiler attempts to minimize the XXnumber of schedules to be computed. XXWe might have XXproduced a {\em single} schedule for all XXoff-processor {\tt yold} data accesses. XXIf the inspector produced a single schedule for all accesses to XX{\tt yold}, it would have been necessary to compute XX{\em three} different schedules in the inspector. XXComputing a single schedule for all references to {\tt yold} XXmight have led to a more efficient executor at the cost of XXa more expensive inspector. XX XX\setbox1=\vbox{ XX XX\begin{itemize} XX\item[Ia.] call {\em gather-exchanger} using schedule $S_{n1}$ XXto obtain first set of off-processor elements of {\tt yold} \\ XX{\em gather-exchanger} places data in hash table ${\tt H_{n1}}$. XX\item[Ib.] call {\em gather-exchanger} using schedule $S_{n2}$, XXto obtain second set of off-processor elements of {\tt yold} \\ XX{\em gather-exchanger} places data in hash table ${\tt H_{n2}}$. XX\item[] count = 1 XX XX\item[II.] for edges $i$ assigned to processor $P$ XX\begin{itemize} XX\item[] if ($ PA_{n1}$(count) .EQ. $P$) then XX\begin{itemize} XX\item[] va(1:4) = yold(1:4,$ LA_{n1}$(count)) else XX\item[] get va(1:4) from hash table ${\tt H_{n1}}$ XX\end{itemize} XX\item[] endif XX XX\item[] if ($ PA_{n2}$(count) .EQ. $P$) then XX\begin{itemize} XX\item[] vb(1:4) = yold(1:4,$ LA_{n2}$(count)) else XX\item[] get vb(1:4) from hash table ${\tt H_{n2}}$ XX\end{itemize} XX\item[] endif XX XX XX XX\item[III.] Calculate fluxes flux(1:4) using va(1:4) and vb(1:4) XX XX\begin{itemize} XX\item[IV.] if $PA_{n1}$(count) .EQ. $P$ then XX\begin{itemize} XX\item[IVa.] yold(1:4,$LA_{n1}$(count)) = yold(1:4,$LA_{n1}$(count)) + flux(1:4) else XX\item[IVb.] Accumulate flux(1:4) to hash table ${\tt H_{n1}}$ XX\end{itemize} XX\item[] endif XX\item[] if $PA_{n2}$(count) .EQ. $P$ then XX\begin{itemize} XX\item[IVc.] yold(1:4,$LA_{n2}$(count)) = yold(1:4,$LA_{n2}$(count)) - flux(1:4) else XX\item[IVd.] Accumulate flux(1:4) to hash table ${\tt H_{n2}}$ XX\end{itemize} XX\item[] endif XX\end{itemize} XX\item[] end do XX\item[] count = count+1 XX XX\end{itemize} XX\item[Va.] Call {\em scatter-add exchanger} using schedule ${\tt S_{n1}}$ and XXhash table ${\tt H_{n1}}$. XX\item[Vb.] Call {\em scatter-subtract exchanger} using schedule ${\tt S_{n2}}$ XXand hash table ${\tt H_{n2}}$. XX\end{itemize} XX XX} XX\begin{figure} XX\tightboxit{ XX\box1 XX} XX\caption{Executor generated from ARF for Fluxroe Kernel \label{fluxroeexec}} XX\end{figure} XX XX\subsection{Memory Utilization} XX XXWe will give an overview of some of the memory requirements XXexacted by the methods described in this section, XXand suggest some ways in which these requirements can be XXreduced. XXMany sparse and unstructured programs use large integer XXarrays to determine reference patterns. XXIn this respect, the kernels depicted here are typical. XXIn Figure ~\ref{arfmvm}, a $9n$ element integer array XX{\tt cols} is used for this purpose; while in XXFigure ~\ref{arffluxroe}, a size XX$2*Number-edges$ array {\tt node} is employed. XXThe executors depicted in Figure ~\ref{mvmexec} and Figure XX~\ref{fluxroeexec} XXreplace {\tt cols} and {\tt node} with XXlocal arrays that store the processor XXassignments and the local indices for references to XXirregularly distributed arrays. XXIn the kernels in Figure ~\ref{arfmvm}, XXthe sum of the number of elements used in all processors to XXstore both processor XXassignments and local indices is no larger than $18n$; XXin Figure~\ref{arffluxroe} the parallelized code uses a total of XX$4*Number-edges$ elements. XX XX XXThe amount of additional storage needed for the parallelized XXcode can be reduced in the following simple manner. XXThe iterations ${\tt I}$ of a loop XXare divided into XXinto two disjoint XXsets. The first set of iterations is ${\tt I_{local}}$, XXwhere XXall memory references are to locally stored XXarray elements. The XXsecond set is XX${\tt I_{off-processor}}$,in this set, each iteration XXcontains some off-processor distributed array XXreference. XXIn this case we need only to list processor assignments for XXloop iterations XX${\tt I_{off-processor}}$. XXSince it is frequently possible to map problems so that most XXmemory references are local to a processor, a substantial XXmemory savings will result. XX XXThe schemes described thus far would use very large XXquantities of extra memory XXwhen attempting to handle a loop in which a small XXnumber of distributed array elements are XXaccessed many times. XXFor instance, consider the following loop where XX{\tt f} is a {\em function} XXdefined so that $ 1 \le f(i) \le 2 $ for any $i$. XX\newpage XX XX\begin{itemize} XX\item[] distributed irregular partition y XX\item[] ...... XX\item[] do i=1, $HUGE-NUMBER$ XX\item[] .... y(f(i)) XX\item[] end do XX\end{itemize} XX XXIn the above loop, XXthe reference pattern of distributed array {\tt y} is determined by {\tt f}. XXIn this example, at most {\em two} distinct elements of XX{\tt y} are referenced in the loop. XXLoops of this sort can be handled by using a hash table XXto store processor and local index assignments for each XX{\em distinct} memory reference. In our example, XXeach processor would have to store XXprocessor and local index assignments for no more than {\em two} XXreferences to distributed array {\tt y}. XXThere is a performance penalty that must be paid for using a hash table to XXfind processor and local index assignments for distributed XXarray elements. After examining a variety of sparse and unstructured XXcodes, we chose not to implement XXthe method described in this section XXin the ARF compiler. In ~\cite{hyper90seema}, we present an analysis of XXthe type of time and space tradeoffs outlined in this section. XX XX XX XX XX XX XX XX\section{Experimental Results \label{exp}} XXIn this section we present a range of performance XXdata that summarizes the effects XXof preprocessing on measures of overall efficiency and XXthat gives some insight into XXthe performance effects of problem irregularity and XXpartitioning. Our computational experiments employed the XXfluxroe kernel and the block sparse matrix vector multiply kernel. XXBoth kernels were coded in ARF; the parallelized benchmark numbers XXwe present were obtained from programs generated by the ARF XXcompiler. It should be noted that the syntax accepted XXby our ARF compiler differs XXin some minor ways from the that presented in the XXprevious sections. XX XXThe experiments described in this paper used either a 32 processor XXiPSC/860 machine located at ICASE, NASA Langley Research Center or XXa 128 processor iPSC/860 machine located at Oak Ridge National Laboratories. XXEach processor had 8 megabytes of memory. XXWe used the Greenhill 1.8.5 Beta version C compiler XXto generate code for the 80860 processors. XX\subsection{Unstructured Mesh Data} XXWe use as input data a variety of unstructured meshes; XXboth actual unstructured meshes obtained from XXaerodynamic simulations and synthetically generated meshes. XX\begin{itemize} XX\item[] {\bf Unstructured Meshes from Aerodynamics :} We use two different XX unstructured meshes generated from aerodynamic simulations. XX\begin{enumerate} XX\item[] {\bf Mesh A}: A 21,672 element mesh generated to carry XXout an aerodynamic simulation involving a multielement XXairfoil in a landing configuration~\cite{mavriplis}. XXThis mesh has 11143 points. XX\item[] {\bf Mesh B}: A 37,741 element mesh generated to simulate XXa 4.2 \% circular arc airfoil XXin a channel ~\cite{gamm}. This mesh has 19155 points. XX\end{enumerate} XX XXEach mesh point is associated with an $(x,y)$ coordinate XXin a physical domain. We use domain information to XXpartition the mesh XXin three different ways; strips, orthogonal XXbinary dissection algorithm (~\cite{berg85},~\cite{fox88}) XXand another mesh partitioning algorithm {\em jagged XXpartitioning}, described in ~\cite{salt91-12}. XX XX XX\item[] {\bf Synthetic Mesh from Templates} XX XX\item[] A finite difference template is used to link {\tt K} XXpoints in a square two dimensional mesh. XXThis connectivity pattern is incrementally distorted. XXRandom edges are introduced subject to the constraint XXthat in the new mesh, each point still requires information from XX{\tt K} other mesh points. XX XXThis mesh generator makes the following assumptions: XX\begin{itemize} XX\item[I.] The problem domain XXconsists of a 2-dimensional square mesh XXof $N$ points, XX\item[II.] Each point is initially connected to {\tt K} neighbors XXdetermined by a finite difference template, XX\item[III.] With probability {\tt q}, each mesh link XXis replaced by a link to a randomly chosen mesh point. XX\end{itemize} XX XXNote that when $q$ is equal to $0.0$, no mesh links are modified XXand no changes are introduced by step III. XXWhen $q$ is equal to $1.0$ we have a completely random graph. XXIn this paper we will make use of two templates. XXOne template connects each point to its four nearest neighbors ($K$=4); XXthe other template XXconnects each point to both its four nearest neighbors XXas well as to each of its four diagonal neighbors ($K$=8). XXWe refer to the $K$ = 4 template as a {\em five point template} XXand we refer to the $K$=8 template as a {\em nine point template}. XXIn the experiments to be described in the rest of this section, XXwe employed a $256$ by $256$ point mesh. XX\end{itemize} XX XX\subsection{Overall Performance\label{overallexp}} XX XXWe first present data to give an overview of the performance XXwe obtained on the iPSC/860 from the ARF compiler output. XXIn the results depicted in this section, we use a blocked XXdistributed translation table. XXIn Table~\ref{overall} we present a) the XXinspector time: time required to carry out the inspector preprocessing XXphase, b) computation time: the time required to perform computations in the XXiterative portion of the program and c) the XXcommunication time: the time required to exchange messages within XXthe iterative portion of the program. XXThe inspector time includes the time required to set up XXthe needed XXdistributed translation table as well as the time XXrequired to access the distributed translation table XXwhen carrying out the preprocessing in the inspector. XXUnstructured Meshes A and B were partitioned using orthogonal XXbinary dissection. XXIn these experiments, the ratio of the time required to XXcarry out the inspector to the computation time XXrequired for a single iteration ranged from a factor XXof 0.7 to a factor of 3.6. Most of the preprocessing XXtime goes to setting up and using the XXdistributed translation table. For instance, XXconsider the block matrix vector multiply on 64 XXprocessors using the 21,672 element mesh. XXThe total preprocessing cost was 122 milliseconds, XXof which 111 milliseconds went to work related to the translation table. XXWe define parallel efficiency for a given number XXof processors {\tt P} as the sequential time divided by the product of XXthe execution time on {\tt P} processors times {\tt P}. XXThe sequential time was measured using a separate sequential XXversion of the each kernel run on a single node of XXthe iPSC/860. XXIn Table~\ref{overall} we depict under the column XX{\em single sweep efficiency}, the parallel efficiencies XXwe would obtain were we required to preprocess the kernel each time XXwe carried out the calculations. In reality, XXpreprocessing time can be amortized over multiple XXmesh sweeps. If we neglect XXthe time required to preprocess the problem XXin computing parallel efficiencies, we XXobtain the second set of parallel efficiency measurements; the XX{\em executor efficiency} XXpresented in Table ~\ref{overall}. XXThe executor efficiencies for 64 processors ranged from 0.48 XXto 0.59, while the single sweep efficiencies ranged from 0.10 to 0.17. XX XXIn the experiments depicted in Table~\ref{overall}, XXthe time spent computing is at least a factor of 2 greater XXthan the communication time. XXThe executor efficiencies are, however, impacted by XXthe fact that the computations in XXthe parallelized codes are carried out less efficiently XXthan those in the sequential program. The parallel XXcode spends time accessing the hashed cache. It also needs to XXperform more indirections than does the sequential program. XX\begin{table}[htbp] XX XX\caption{ Performance on different number of processors \label{overall}} XX XX\begin{tabular}{|c|c|c|c|c|c|} \hline XXnprocs & inspector & comp & comm & single sweep&executor \\ XX & time(ms) & time(ms) & time(ms) & efficiency &efficiency \\ \hline XX\multicolumn{6}{c}{Sparse Block Matrix Vector Multiply - Mesh A}\\ \hline XX32 & 148 & 49 & 9 & 0.15 & 0.55 \\ XX64 & 122 & 25 & 9 & 0.10 & 0.48 \\ \hline XX\multicolumn{6}{c}{Sparse Block Matrix Vector Multiply - Mesh B}\\ \hline XX32 &200 &85 &10 &0.19 &0.59 \\ XX64 &150 &42 &9 &0.14 &0.54 \\ \hline XX\multicolumn{6}{c}{ Fluxroe - Mesh A} \\ \hline XX8 &231 &310 &24 &0.40 &0.69 \\ XX16 &162 &157 &21 &0.34 &0.65 \\ XX32 &135 &80 &22 &0.19 &0.57 \\ XX64 &172 &41 &19 &0.12 &0.48 \\ \hline XX\multicolumn{6}{c}{ Fluxroe - Mesh B} \\ \hline XX8 &393 &534 &23 &0.41 &0.70 \\ XX16 &249 &269 &18 &0.36 &0.68 \\ XX32 &191 &156 &23 &0.28 &0.62 \\ XX64 &203 &69 &14 &0.17 &0.59 \\ \hline XX\end{tabular} XX\end{table} XX XX XXIn Table ~\ref{overall2}, we investigate the performance of the XXfluxroe kernel XXfor meshes with varying degrees of regularity and for varying mesh mappings. XXWe used 32 processors in this experiment. XXIn Table ~\ref{overall2} we depict synthetic XXmeshes derived from $5$ and $9$ point XXstencils with probability of edge move $q$ XXequal to either $0.0$ or $0.4$. XXThese meshes were mapped by 1-D strips or by 2-D blocks. XXAs one might expect, for the XXsynthetic meshes the communications XXcosts increase dramatically for increasing $q$. XXWe see these dramatic increases because both the volume XXof communication required and the number of XXmessages sent per node are much higher XXfor large $q$. XXPreprocessing costs also increased with $q$ but XXwhile the communications costs went up by at least XXa factor of 16, preprocessing costs went up by XXat most a factor of 1.8. XX XX\begin{table}[htbp] XX XX\centering XX\caption{Performance on 32 processors with different meshes \label{overall2}} XX\begin{tabular}{|c|c|c|c|c|c|} \hline XXnprocs & inspector & comp & comm & single sweep&executor \\ XX & time(ms) & time(ms) & time(ms) & efficiency &efficiency \\ \hline XX\multicolumn{6}{c}{5 point template synthetic mesh partioned into XXstrips}\\ \hline XXq=0.0 & 200 & 275 & 22 & 0.49 & 0.82 \\ XXq=0.4 & 310 & 293 & 361 & 0.25 & 0.37 \\ \hline XX\multicolumn{6}{c}{5 point template synthetic mesh partioned into XX2-D block} \\ \hline XXq=0.0 & 398 & 275 & 15 & 0.35 & 0.84 \\ XXq=0.4 & 463 & 291 & 319 & 0.23 & 0.40 \\ \hline XX\multicolumn{6}{c}{9 point template synthetic mesh partioned into XXstrips}\\ \hline XXq=0.0 & 211 & 583 & 21 & 0.58 & 0.80 \\ XXq=0.4 & 385 & 620 & 530 & 0.31 & 0.42 \\ \hline XX\multicolumn{6}{c}{9 point template synthetic mesh partioned into XX2-D block} \\ \hline XXq=0.0 & 447 & 589 & 20 & 0.46 & 0.79 \\ XXq=0.4 & 595 & 624 & 527 & 0.28 & 0.42 \\ \hline XX\multicolumn{6}{c}{Mesh A } \\ \hline XXbinary & 134 & 80 & 22 & 0.24 & 0.57 \\ XXjagged & 135 & 81 & 22 & 0.24 & 0.56\\ XXstrips & 148 & 83 & 26 & 0.22 & 0.53 \\\hline XX\multicolumn{6}{c}{Mesh B} \\ \hline XXbinary &191 &136 &23 &0.28 &0.61 \\ XXjagged &186 &137 &21 &0.28 &0.62 \\ XXstrips &219 &149 &31 &0.24 &0.54 \\\hline XX\end{tabular} XX\end{table} XX XXWe also depict XXin Table ~\ref{overall2} XXresults from XXMeshes A and B. We partitioned the mesh in three different ways; XXstrips, the orthogonal binary dissection algorithm and XXjagged partitioning. XXBoth binary dissection and the jagged partitioning algorithm XXbreak the domain into two dimensional rectangular regions, XXand the two methods produce very similar performance results. XX XX XX\subsection{Breakdown of Inspector Overhead\label{expbreakdown}} XXIn Table ~\ref{breakdown1}, we measure the cost of dereferencing and XXscheduling the fluxroe kernel XXon different numbers of processors. XXWe again use a blocked translation table. XXWe use a five point template and we partition XXthe mesh either into 1-D strips or into 2-D blocks. XXWhen the mesh is partitioned into strips, dereference XXinvolves mostly local data accesses since the domain data and the XXtranslation table are identically partitioned. XXWhen strip partitioning is used, translation table initialization XXdoes not involve any communication. XXThe measurements presented in XXTable ~\ref{breakdown1} are defined in the following XXmanner: XX\begin{itemize} XX\item[] {\em Executor time} is the computation and communication time XXrequired to execute the kernel; it {\em does not include XXtime required for preprocessing}, XX\item[] {\em Table initialization time} is the XXtime needed to initialize the distributed translation table, XX\item[] {\em Dereference time} is the time XXtaken by the {\em dereference} XXParti primitive, and XX\item[]{\em Scheduler time} is the time XXrequired to produce the XXcommunications schedule once the required processor locations XXand local indices have been found by {\em dereference}. XX\end{itemize} XX XXIn Table ~\ref{breakdown1} we note that the majority XXof the costs incurred by the inspector are due to the XXtranslation table initialization and dereference. XXFor instance consider the case XXwhere 64 processors are used to carry out a sweep XXover a 2-D block partitioned mesh with a 5 point template. XXThe translation table initialization and dereference XXtogether require 183 \% of the executor time while XXthe generation of the schedule requires only XX12 \% of the executor time. XX XX XXIn the problems depicted in Table ~\ref{breakdown1}, XXcommunication costs comprise a rather small fraction of the executor XXtime, consequently XXthe method used to partition the domain does not make a significant XXperformance impact on executor time. XXIn Table ~\ref{breakdown1}, XXthe costs of XXtranslation table initialization and of dereference are both XXstrongly dependent on how the domain is partitioned. XX2-D block partitioning leads to higher translation table XXrelated costs, this is almost certainly due to the XXincreased communication requirements needed for XXtranslation table initialization and dereference. XXStrip partitioning {\em per se} does not necessarily XXlead to low translation table related costs. In XXTable ~\ref{overall2} we note that strip partitioning XXactually leads to higher inspector costs for both Mesh A and Mesh B. XXThe translation table is partitioned so that blocks of XXcontiguously numbered indices are assigned to each processor. XXHowever XXin Mesh A and Mesh B, mesh points are not XXnumbered in a regular fashion so the indices XXcorresponding to a domain strip are not contiguously XXnumbered. XX XX XX\begin{table}[htbp] XX\centering XX XX\caption{ Cost of dereferencing and scheduling on different number of processors \label{breakdown1}} XX XX\begin{tabular}{|c|c|c|c|c|} \hline XX XXnprocs & executor &table init& dereference & schedule \\ XX & time (ms) &time (ms) &time (ms) &time (ms) \\ \hline XX\multicolumn{5}{c}{5 point template synthetic mesh partioned into XXstrips}\\ \hline XX8 & 1192 & 131 & 143 & 83 \\ XX16 & 606 & 115 & 109 & 42 \\ XX32 & 297 & 92 & 83 & 27 \\ XX64 & 167 & 63 & 62 & 17 \\ \hline XX\multicolumn{5}{c}{5 point template synthetic mesh partioned into XX2-D blocks}\\ \hline XX8 &1189 &333 & 595 & 83 \\ XX16 &599 &192 & 311 & 42 \\ XX32 &290 &136 &235 & 26 \\ XX64 &158 &77 &212 &19 \\ \hline XX\end{tabular} XX\end{table} XX XX XX XX\subsection{Cost of translation table} XX XXIn Section ~\ref{transsec} we described XXtwo straightforward ways XXto map a distributed translation table onto processors. XXWe consider the question of how to distribute the translation XXtable so as to minimize costs associated with translation XXtable access. XXTable~\ref{table} XXcompares the time required XXto carry out {\em dereference} XXon blocked and striped translation tables by depicting: XX\begin{itemize} XX\item[] the time required to carry out a particular call to XX{\em dereference}, XX\item[] the average number of non-local accesses XXto table entries XXrequired by {\em dereference}, and XX\item[] the average number of non-local processors accessed XXduring the call to {\em dereference}. XX\end{itemize} XX XXWhen we examine the results for unstructured Meshes A and B, XXwe note no consistent performance difference in XXthe cost required to dereference a blocked XXor a striped translation table. Similar numbers of XXoff-processor XXtable entries XXneed to be accessed for either translation table distribution. XXBlocked translation tables do lead to superior performance XXwhen we use the synthetic meshes. XXFor the reasons described in Section ~\ref{expbreakdown}, XXwe obtain particularly good results when we XXuse a striped partition with a blocked translation table. XXIt is of interest to note that the blocked translation table XXalso proved to be superior XXwhen we used synthetic meshes partitioned in 2-D blocks. XX XX XX\begin{table}[htbp] XX XX\centering XX\caption{ Cost of dereference on 32 processors \label{table}} XX XX\begin{tabular}{|c|c|c|c|c|c|c|} \hline XXProblem & \multicolumn{3}{c}{Indirect - Blocked} &\multicolumn{3}{c|}{Indirect - Striped}\\ XX &Time &Nonlocal& Nonlocal&Time&Nonlocal& Nonlocal\\ XX &(ms)&Data & Proc & (ms)& Data & Proc \\ \hline XX\multicolumn{7}{|c|}{Synthetic: 5 point template, strip partition}\\ \hline XXq=0 &109&256 &1&346&2232&31 \\ XXq=0.2 &157&1045&17&365&2862&31\\ XXq=0.4 &218&1825&17&368&3350&31\\ \hline XX\multicolumn{7}{|c|}{Synthetic: 5 point template, 2-D block partition}\\ \hline XXq=0 &235&2143&9&336&2078&31 \\ XXq=0.2 &326&2841&25&355&2782&31 \\ XXq=0.4 &330&3352&25&370&3273&31 \\ \hline XX\multicolumn{7}{|c|}{Mesh A}\\ \hline XXbinary &97 &768 &21 &96 &743 &31 \\ XXjagged &98 &772 &20 &98 &751 &31 \\ XXstrips &109 &860 &29 &102 &843 &31 \\ \hline XX\multicolumn{7}{|c|}{Mesh B}\\ \hline XXbinary &130 &1271 &24 &122 &1230 &31 \\ XXjagged &139 &1293 &24 &130 &1263 &31 \\ XXstrips &159 &1519 &31 &172 &1513 &31 \\ \hline XX \end{tabular} XX \end{table} XX XX\subsection{Scheduler and Data Exchanger Performance\label{expisolated}} XX XXTo quantify the communications costs incurred by the XXParti scheduler and data exchange primitives, XXwe measured the time required to carry out XXthe {\em scheduler}, {\em gather-exchanger} XXand {\em scatter-exchanger} procedure XXcalls and compared them to the hand coded version of iPSC/860 XXsupplied sends and receives; the sends and receives communicated XXthe same amount of data as did the Parti procedures. XXWe performed XXan experiment in which XXtwo processors repeatedly exchanged $W$ XXsingle precision words of information. XXThe exchange was carried out XXusing gather-exchangers, scatter-exchangers and XXthe iPSC/860 supplied send and receive calls. XXIn Table ~\ref{commtime} we depict the results of these XXexperiments. XXWe present the time (in milliseconds) required to carry out the requisite XXdata exchange using send and receive messages. We then XXpresent the ratio between the time taken by XXthe {\em scheduler} and {\em gather-exchanger} XXParti primitive calls and XXthe time taken by the equivalent send and receive calls. XXThe {\em scatter exchanger} XXcalls were also timed, the results of which XXwere virtually identical to that of the corresponding XX{\em gather-exchanger} call. XX XXFrom Table~\ref{commtime} we see that {\em gather-exchanger} XXtook no more than 20\% more time XXthan explicitly coded send/receive pairs XXto move $W$ words of information between two processors. XXThe additional overhead required for {\em scheduler} to XXcarry out the data exchange XXwas a factor of $2.1$ to $1.0$ times the cost XXof using explicitly coded send/receive pairs XXto move $W$ words. XX XX XX XX XX\begin{table} XX\centering XX\caption{Overheads for Parti Scheduler and Gather-Exchanger Primitives XX\label{commtime}} XX\begin{tabular}{|c|c|c|c|} \hline XXNumber of& Send & Gather- & Scheduler \\ XXData & Receive & Exchanger & \\ XXElements & Time(ms)& (ratio) & (ratio) \\ \hline XX100 & 0.5 & 1.0 &2.1 \\ XX400 & 1.0 & 1.1 &1.4 \\ XX900 & 1.8 & 1.1 & 1.3 \\ XX1600 & 2.9 & 1.2 & 1.3 \\ XX2500 & 4.3 & 1.2 & 1.1 \\ XX3600 & 6.0 & 1.2 & 1.0 \\ XX\hline XX\end{tabular} XX\end{table} XX XX XX\section{Relation to Other Work\label{compare}} XXPrograms designed to carry out a range of XXirregular computations including sparse direct and iterative XXmethods require many of the optimizations XXdescribed in this paper. XXSome examples of such programs XXare described in ~\cite{ash90},~\cite{liu86}, XX~\cite{baxt88}, ~\cite{will89} and ~\cite{fox88}. XX XXSeveral researchers have developed programming environments XXthat are targeted towards particular classes of irregular XXor adaptive problems. XXWilliams ~\cite{will89} describes a programming environment (DIME) for XXcalculations with unstructured triangular meshes XXusing distributed memory machines. Baden ~\cite{bade91} XXhas developed a programming environment targeted towards particle XXcomputations, this programming environment provides facilities XXthat support dynamic load balancing. XX XX XXThere are a variety of compiler projects targeted at distributed XXmemory multiprocessors XX~\cite{superb}, ~\cite{reeves89}, XX~\cite{rosi89}, ~\cite{roge89}, XX~\cite{Pandore}, ~\cite{Tseng89}. XXWith the exception of Kali project ~\cite{km-ppopp90}, XXand the Parti work described XXhere and in ~\cite{salt86hc}, XX ~\cite{mirc88}, and ~\cite{salt-jpdc90}; XXthese compilers do not attempt to efficiently deal XXwith loops that arise in sparse or unstructured scientific XXcomputations. XX XXWe have produced and benchmarked a prototype compiler that is able XXto generate code capable of efficiently handling XXkernels from sparse and XXunstructured computations. XXThe procedures that carry out XXruntime optimizations are coupled to a distributed XXmemory compiler via a set of XXcompiler transformations. XXThe compiler described and tested in this paper XXis qualitatively different from the efforts XXcited above in a number of important respects. XXWe have developed and demonstrated mechanisms that allow XXus to support irregularly distributed arrays. XXIrregularly distributed arrays must be supported XXin order to make it possible to XXmap data and computational work in an arbitrary manner. XXBecause we can support irregularly distributed arrays, XXit was possible for us to compare the XXperformance effects of different XXproblem mappings (Section ~\ref{exp}). XXSupport for arbitrary distributions was proposed in XX~\cite{mirc88} and ~\cite{salt-jpdc90} but XXto our knowledge, this is the first implementation of XXa compiler based distributed translation table XXmechanism for irregular scientific problems. XX XXWe find that many unstructured NASA codes must XXcarry out data accumulations to off-processor memory XXlocations. XXWe chose one of our kernels to demonstrate this, XXand designed our primitives and compiler to be able XXto handle this situation. XXTo our knowledge, XXour compiler effort is unique in its ability to efficiently XXcarry out irregular patterns of XXoff-processor data accumulations. XX XX XXWe augment our primitives with a XXhash table designed to eliminate duplicate XXdata accesses. XXIn addition, we use the hash table to XXmanage copies of off-processor XXarray elements. Other researchers XXhave used different data structures for management XXof off-processor data copies ~\cite{km-ppopp90}. XX XX\section{Conclusion\label{conclude}} XX XX XX XXIn this paper we describe and XXexperimentally characterize a compiler and runtime XXsupport procedures which embody methods that are XXcapable of handling a wide range of XXirregular problems in scientific computing. XXAfter examining a number of complete NASA codes, XXwe chose to demonstrate our methods XXusing two kernels extracted from those codes. XXBoth of these kernels involved computations XXover unstructured meshes. XXWe coded XXboth kernels in ARF, our dialect of Fortran, and XXgenerated code to ran on the nodes of the iPSC/860. XXDetailed timings were carried out XXon both kernels XXusing unstructured XXmeshes from aerodynamics, along with XXmeshes that were generated by XXusing random numbers to XXincrementally distort matrices XXobtained from a fixed finite difference template. XXThis benchmarking suite XXstressed the communications capabilities of XXthe iPSC/860 and the Parti primitives in XXa variety of ways. XX XXIn the experiments we reported in Section~\ref{overallexp}, we saw that XXthat the ratio of the time required to carry out all XXpreprocessing to the time required for a single iteration XXof either kernel XXranged from a factor of 0.7 to a factor of 3.6. XXWe then saw in Section~\ref{expbreakdown} that XXthe majority of the preprocessing XXcosts arose from the need to support XXirregularly distributed arrays. XXIn Section~\ref{expisolated} XXthe performance of the {\em scheduler} XXand {\em data exchanger} Parti primitives were XXquantified. XXThe {\em data-exchangers} turned out to be at most XX20\% more time consuming than the analogous send and receive XXcalls provided by Intel. XX XXWe believe that one of the virtues of our layered approach XXto distributed compiler design is that we have managed XXto capture a set of critical optimizations in XXour runtime support primitives. XXOur primitives, and hence our optimizations, can be migrated XXto a variety of compilers targeted towards distributed XXmemory multiprocessors. XXWe intend to implement XXthese primitives in the ParaScope parallel programming XXenvironment ~\cite{seema91}. XXIn addition, Parti primitives can and are being used directly by programmers XXin applications codes ~\cite{icase90-41}. XX XX XXMost of the complexity of our system is in the XXParti procedures. XXThe Parti procedures have been developed so that XXthat XXtransformations needed to embed XXthe appropriate primitives can be implemented with XXrelative ease in distributed memory compilers. XXThe primitives used to implement the XXruntime support include communications procedures designed XXto support irregular patterns of distributed XXarray access, and XXprocedures XXto find the location of irregularly mapped distributed array data using XXdistributed translation tables. XXPrimitives also support the maintenance of hash tables used XXto store copies of off-processor data. XX XX XX XX XX\section{Acknowledgements} XX XXWe would like to thank Harry Jordan and Bob XXVoigt for their careful editing XXof this manuscript. We would also like to thank XXthe Advanced Computing Laboratory at Oak Ridge National Laboratories XXand NAS at NASA Ames for providing us access to their XX128 node Intel iPSC/860 hypercubes. XX XXWe wish to thank Dimitri Mavriplis and David Whitaker XXfor supplying us with unstructured meshes, and XXto David Whitaker and P Venkatkrishnan XXfor access to their codes. XX XX\bibliography{paper11,paper12} XX\bibliographystyle{siam} XX\end{document} XX XX XX XEND_OF_FILE Xif test 70612 -ne `wc -c <'paper1.tex'`; then X echo shar: \"'paper1.tex'\" unpacked with wrong size! Xfi X# end of 'paper1.tex' Xfi Xif test -f 'paper11.bib' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'paper11.bib'\" Xelse Xecho shar: Extracting \"'paper11.bib'\" \(92686 characters\) Xsed "s/^X//" >'paper11.bib' <<'END_OF_FILE' XX@article(gele86 XX ,key="Gelerter" XX ,author="S. Ahuja and N. Carriero and D. Gelernter" XX ,title="Linda and Friends" XX ,journal="IEEE Computer" XX ,year="1986" XX ,month="August" XX ,pages="26-34" XX) XX XX@article(mavriplis, XX key="Mavriplis", XX author="D. J. Mavriplis", XX title="Multigrid Solution of the Two-Dimensional {E}uler Equations on Unstructured Triangular Meshes", XX journal="AIAA Journal", XX year="1988", XX volume = 26, XX number = 7, XX month="July", XX pages="824-831" XX) XX@article(venkat91, XX key="P Venkatakrishnan", XX author="P Venkatakrishnan", XX title="Preoonditioned Conjugate Gradient Methods XX for the Compressible Navier Stokes Equations", XX journal="to appear - AIAA Journal", XX year="1991", XX month="June", XX) XX@Techreport(delaunay, XX key="Weatherill", XX author="N. P. Weatherill", XX title="The Generation of Unstructured Grids Using Dirichlet Tessalations", XXINSTITUTION ="Princeton", XXNUMBER ="MAE 1715", XXTYPE ="Report", XX year="1985", XX month="July", XX) XX@Techreport(gerndt-thesis, XX key="gerndt", XX author="H. M. Gerndt", XX title="Automatic Parallelization for Distributed Memory Multiprocessing XX Systems", XXINSTITUTION ="Austrian Center for Parallel Computation", XXNUMBER ="ACPC/ TR 90-1", XXTYPE ="Report", XX year="1990", XX) XX@article ( Padua1, XXkey = "Padua1" , XXauthor = "D. A. Padua and M. J. Wolfe", XXtitle = "Advanced Compiler Optimizations for Supercomputers", XXjournal = "CACM", XXmonth = "Dec", XXyear = "1986" ) XX XX@article ( gerndt90, XXkey = "gerndt90" , XXauthor = "M. Gerndt", XXtitle = "Updating distributed variables in local computations", XXjournal = "Concurrency: Practice and Experience", XXvolume = "2", XXnumber = "3", XXpages = " 171-193", XXmonth = "September", XXyear = "1990" ) XX XX@article ( quinn90, XXkey = "quinn90" , XXauthor = "M. J. Quinn and P. J. Hatcher", XXtitle = "Data-Parallel Programming on Multicomputers", XXjournal = "IEEE Software", XXpages = " 69-76", XXmonth = "September", XXyear = "1990" ) XX XX@Techreport(Koel88, XXKEY ="Koel88", XXAUTHOR ="C. Koelbel and P. Mehrotra and J. VanRosendale", XXTITLE ="Semi-automatic problem partitioning for parallel computations", XXINSTITUTION ="ICASE", XXYEAR ="1988", XXNUMBER ="88-16", XXTYPE ="Report" XX) XX@Techreport(wuicase91-13, XXKEY ="wu91-13", XXAUTHOR ="J. Wu and J. Saltz and H. Berryman and S. Hiranandani", XXTITLE ="Distributed Memory Compiler Design for Sparse Problems", XXINSTITUTION ="ICASE", XXYEAR ="1991", XXNUMBER ="91-13", XXTYPE ="Report" XX) XX XX XX@Techreport(salt91-12, XXKEY ="salt91-12", XXAUTHOR ="J. Saltz and S. Petiton and H. Berryman and A. Rifkin", XXTITLE =" Performance Effects of Irregular Communications Patterns on Massively Parallel Multiprocessors", XXINSTITUTION ="ICASE", XXYEAR ="1991", XXNUMBER ="91-12", XXTYPE ="Report" XX) XX XX@Techreport(Kuma:88, XXKEY ="Kuma:88", XXAUTHOR ="M. Misra and P. Kumar", XXTITLE ="Efficient VLSI implementation of iterative solutions to sparse linear systems", XXINSTITUTION ="Institute for Robotics and Intelligent Systems, University of Southern California", XXYEAR ="1988", XXTYPE ="Report", XXNUMBER ="246" XX) XX XX@Techreport(Pozo:89, XXKEY ="Pozo:89", XXAUTHOR ="R. Pozo and A. MacDonald", XXTITLE ="Performance characteristics of scientific computation on the XXconnection machine", XXINSTITUTION ="Computer Science Dept, University Colorado at Boulder", XXYEAR ="1989", XXNUMBER ="440", XXTYPE ="Report" XX) XX@Techreport(Saad:90, XXKEY ="Saad:90", XXAUTHOR ="Y. Saad", XXTITLE ="SPARSEKIT: a basic tool kit for sparse matrix computations", XXINSTITUTION ="RIACS", XXYEAR ="1990", XXNUMBER ="90-20", XXTYPE ="Report" XX) XX@Techreport(icase90-11, XXKEY ="predosalt", XXAUTHOR ="J. Saltz and R. Mirchandaney", XXTITLE ="The Preprocessed Doacross Loop", XXINSTITUTION ="ICASE Interim Report", XXYEAR ="1990", XXNUMBER ="90-11", XXTYPE ="Report" XX) XX@Techreport(icase90-13, XXKEY ="manual", XXAUTHOR ="H. Berryman and J. Saltz", XXTITLE ="A Manual for PARTI Runtime Primitives", XXINSTITUTION ="ICASE ", XXTYPE ="Interim Report", XXYEAR ="1990", XXNUMBER ="90-13" XX) XX@Techreport(koelbel-on, XXKEY ="koelbel", XXAUTHOR ="C. Koelbel and P. Mehrotra", XXTITLE ="Compiling Global Name-Space Programs for Distributed XXExecution", XXINSTITUTION ="ICASE ", XXTYPE ="Report", XXYEAR ="1990", XXNUMBER ="90-70" XX) XX@Techreport(icase90-59, XXKEY ="icase90-59", XXAUTHOR ="J. Saltz and H. Berryman and J. Wu", XXTITLE ="Runtime Compilation for Multiprocessors, XXTo Appear: {C}oncurrency, {P}ractice and {E}xperience, 1991", XXINSTITUTION ="ICASE ", XXTYPE ="Report", XXYEAR ="1990", XXNUMBER ="90-59" XX) XX@Techreport(paris, XXKEY ="paris", XXTITLE ="Using the Connection Machine System (Paris), Volume 3", XXINSTITUTION ="Argonne National Laboratory", XXTYPE ="Report", XXMONTH ="June", XXYEAR ="1989", XXNUMBER ="ANL/MCS-TM-118", XX) XX@Techreport(shahid90, XXKEY ="shahid", XXAUTHOR ="S. Bokhari", XXTITLE ="Communication Overhead on the Intel iPSC-860 Hypercube", XXINSTITUTION ="ICASE Interim Report", XXYEAR ="1990", XXNUMBER ="90-10", XXTYPE ="Report" XX) XX XX@Techreport(carr86, XXKEY ="J. Carrier", XXAUTHOR ="J. Carrier", XXTITLE ="A Fast Adaptive Multipole Algorithm for Particle Simulations", XXINSTITUTION ="Yale", XXYEAR ="1986", XXMONTH ="September", XXNUMBER ="YALEU/DCS/RR-496", XXTYPE ="Report" XX) XX XX@Techreport(fox86, XXKEY ="Fox", XXAUTHOR ="G. C. Fox and S. W. Otto", XXTITLE ="Concurrent Computation and the Theory of Complex Systems", XXINSTITUTION ="Caltech", XXYEAR ="1986", XXNUMBER ="CALT-68-1343", XXTYPE ="Report" XX) XX XX@Techreport(gree86, XXKEY ="A. Greenbaum", XXAUTHOR ="A. Greenbaum", XXTITLE ="Solving Sparse Triangular Linear Systems Using Fortran with Paralllel Extensions on the NYU Ultracomputer Prototype", XXINSTITUTION ="NYU Ultracomputer Note", XXYEAR ="1986", XXMONTH ="April", XXNUMBER ="99", XXTYPE ="Report" XX) XX XX@Techreport(eage86b, XXKEY ="D. L. Eager", XXAUTHOR ="D. L. Eager and J. Zahorjan and E. D. Lazowska", XXTITLE ="Speedup Versus Efficiency in Parallel Systems", XXINSTITUTION ="Univ. Wash.", XXYEAR ="1986", XXMONTH ="August", XXTYPE ="Department of Computer Science", XXNUMBER ="86-08-01" XX) XX XX@Techreport(hammond90, XXKEY = "Hammond", XXAUTHOR ="S. Hammond and R. Schreiber", XXTITLE ="Mapping Unstructured Grid Problems to the Connection Machine", XXINSTITUTION ="RIACS", XXYEAR ="1990", XXMONTH ="October", XXTYPE ="Report", XXNUMBER ="90.22" XX) XX XX@Inproceedings(phillippe89, XX key="phillippe", XX author="B. Phillippe and Y. Saad", XX title="Solving large sparse eiginvalue problems on supercomputers", XX booktitle="Parallel and Distributed Algorithms", XX editor = "M. Cosnard et. al.", XX publisher="North Holland", XX year="1989" XX ) XX XX@Inproceedings(berrystclara, XX key="Berryman", XX author="H. Berryman and W. Gropp and J. Saltz", XX title="Krylov Methods and the CM-2", XX booktitle="Proceedings of the 4th International Supercomputing XXConf., St. Clara, CA", XX month="April", XX year="1989" XX ) XX@Inproceedings(venk90, XX key="Venkat", XX author="P. Venkatkrishnan and J. Saltz and D. Mavriplis", XX title="Parallel Preconditioned Iterative Methods for the Compressible Navier Stokes Equations", XX booktitle="12th Intermational Conference on Numerical Methods in XX Fluid Dynamics, Oxford, England", XX month="July", XX year="1990" XX ) XX@Inproceedings(gamm, XX key="gamm", XX title="Numerical Methods for the Computation of Inviscid Transonic XX Flows with Shock Waves - A GAMM Workshop", XX booktitle="Notes on Numercial Fluid Mechanics", XX volume = "3" XX ) XX@Inproceedings(whitaker89, XX key="whitaker", XX author="D. L. Whitaker and B. Grossman", XX title="Two-Dimensional Euler Computations on a Triangular Mesh XX Using an Upwind, Finite-Volume Scheme", XX booktitle="Proceedings AIAA 27th Aerospace Sciences Meeting, XXReno, Nevada", XX month="January", XX year="1989" XX ) XX@Inproceedings(whitaker90, XX key="whitaker", XX author="D. L. Whitaker and D. C. Slack and R. W. Walters", XX title="Solution Algorithms for the Two-Dimensional Euler XX Equations on Unstructured Meshes", XX booktitle="Proceedings AIAA 28th Aerospace Sciences Meeting, XXReno, Nevada", XX month="January", XX year="1990" XX ) XX@Inproceedings(salt86hc, XX key="ChenSaltz", XX author="Saltz, Joel and Chen, M.C.", XX title="Automated Problem Mapping: the Crystal Runtime System", XX booktitle="The Proceedings of the Hypercube Microprocessors XXConf., Knoxville, TN", XX month="September", XX year="1986" XX ) XX@Inproceedings(scott86, XX key="Scott", XX author="L.R. Scott and J. M. Boyle and B. Bagheri", XX title="Distributed Data Structures for Scientific Computation", XX booktitle="The Proceedings of the Hypercube Microprocessors XXConf., Knoxville, TN", XX month="September", XX year="1986" XX ) XX XX@Inproceedings(mirc88, XX key="R. Mirchandaney", XX author="R. Mirchandaney and J. H. Saltz and R. M. Smith and XXD. M. Nicol and Kay Crowley", XX title="Principles of Runtime Support for Parallel Processors", XX booktitle="Proceedings of the 1988 ACM International Conference on XXSupercomputing , St. Malo France" , XX month="July", XX pages="140-152", XX year="1988" XX ) XX XX@Inproceedings(crete89, XX key="J. Saltz", XX author="J. Saltz and R. Mirchandaney and K. Crowley", XX title="The DoConsider Loop", XX booktitle="Proceedings of the 1989 ACM International Conference on XXSupercomputing , Crete, Greece", XX pages = "29-40", XX month="June", XX year="1989" XX ) XX@Inproceedings(salt87siamcon, XX key="J. Saltz", XX author="J. Saltz and R. Mirchandaney and R. Smith and D. Nicol and XXKay Crowley", XX title="The Party Parallel Runtime System", XX booktitle=" Proceedings of the SIAM Conference on Parallel XXProcessing for Scientific Computing, Los Angeles CA.", XX month="December", XX year="1987" XX ) XX@Inproceedings(chan77, XX key="R. Chandra", XX author="R. Chandra and S. C. Eisendstat and M. H. Schultz", XX title="The conjugate gradient method for nonpositive definite symmetric linear systems", XX booktitle="Proceedings of the Second IMACS International Symposium on Computer Methods for Partial Differential Equations ", XX XX month="June", XX pages="93-99", XX year="1977" XX ) XX XX@Inproceedings(berg85, XX key="Berger", XX author="M. J. Berger and S. H. Bokhari ", XX title="A Partitioning Strategy for PDEs across Multiprocessors", XX booktitle="The Proceedings of the 1985 International Conference on Parallel Processing", XX month="August", XX year="1985" XX ) XX XX@Inproceedings(geis86, XX key="G. A. Geist", XX author="G. A. Geist and M. T. Heath", XX title="Matrix Factorization on a Hypercube Multiprocessor", XX booktitle="The Proceedings of the Hypercube Microprocessors XXConf., Knoxville, TN", XX month="September", XX pages ="161-180", XX year="1986" XX ) XX@Techreport(jordan86, XXKEY ="J. F. Jordan", XXAUTHOR ="J. F. Jordan and M. S. Benten and N. S. Arenstorf", XXTITLE ="Force User's Manual", XXINSTITUTION ="University of Colorado", XXYEAR ="1986", XXMONTH ="October", XXTYPE ="Department of Electrical and Computer Engineering", XXNUMBER ="80309-0425" XX) XX XX@Techreport(saad85pcg, XXKEY ="Y. Saad", XXAUTHOR ="Y. Saad, M. Schultz", XXTITLE ="Parallel Implementations of Preconditioned Conjugate XX Gradient Methods", XXINSTITUTION="Yale University", XXYEAR ="1985", XXMONTH ="October", XXTYPE ="Department of Computer Science", XXNUMBER ="YALEU/DCS/TR-425" XX) XX XX@Techreport(geo87, XXKEY ="A. George", XXAUTHOR ="A. George and M.T. Heath and J. Liu and E. Ng", XXTITLE ="Solution of Sparse Positive Definite Systems on a Shared-Memory Multiprocessor", XXINSTITUTION="Oak Ridge National Laboratory", XXYEAR ="1987", XXMONTH ="January", XXNUMBER ="ORNL/TM-10260" XX) XX XX@Techreport(encore, XXKEY ="Encore Multimax", XXTITLE ="Multimax Technical Survey", XXINSTITUTION="Encore Computer Corporation", XXYEAR ="1986", XXNUMBER ="726-01759 Rev A" XX) XX XX@Techreport(ELMA82, XXKEY ="H. Elman", XXAUTHOR ="H. Elman", XXTITLE ="Iterative Methods for Large Sparse Nonsmmetric Systems of Linear XX Equations", XXINSTITUTION ="Yale University", XXYEAR ="1982", XXMONTH ="April", XXTYPE ="Department of Computer Science", XXNUMBER ="YALEU/DCS/TR-229" XX) XX@Techreport(fortrand, XXKEY ="fox", XXAUTHOR ="G. Fox and S. Hiranandani and K. Kennedy and C. Koelbel and U. Kremer and C. Tseng and M. Wu", XXTITLE ="{F}ortran {D} Language Specification", XXINSTITUTION ="Rice University", XXYEAR ="1990", XXMONTH ="December", XXTYPE ="Department of Computer Science", XXNUMBER ="Rice COMP TR90-141", XX) XX XX@Techreport(GROP86, XXKEY ="W. Gropp", XXAUTHOR ="W. Gropp", XXTITLE ="Dynamic Grid Manipulation for PDEs on Hypercube Parallel XX Processors", XXINSTITUTION ="Yale University", XXYEAR ="1986", XXMONTH ="March", XXTYPE ="Department of Computer Science", XXNUMBER ="YALEU/DCS/TR-458" XX) XX XX@Article(seema-jpdc91, XXKey ="Seema", XXAUTHOR ="S. Hiranandani and J. Saltz and P. Mehrotra and XXH. Berryman", XXTITLE =" XX Performance of Hashed Cache Data Migration XX Schemes on Multicomputers", XXJOURNAL ="Journal of Parallel and Distributed Computing, to appear", XXVOLUME = "12", XXMONTH = "August", XXYEAR ="1991" XX) XX@Article(gott83, XXKey ="A. Gottlieb", XXAUTHOR ="A. Gottlieb and B.D. Lubachevsky and L. Rudolph", XXTITLE ="Basic Techniques for the Efficient Coordination of XXVery Large Numbers of Cooperating Sequential Processors", XXJOURNAL ="ACM Toplas", XXVOLUME ="5", XXPAGES ="164-189", XXYEAR ="1983" XX) XX XX@Article(eise81, XXKey ="S. C. Eisenstat", XXAUTHOR ="S. C. Eisenstat", XXTITLE ="Efficient implementation of a class of conjugate gradient methods", XXJOURNAL ="SISSC", XXVOLUME ="2", XXYEAR ="1981", XXPAGES ="1-4" XX) XX XX@Article(duff86, XXKey ="I. S. Duff", XXAUTHOR ="I. S. Duff", XXTITLE ="Parallel implementation of multifrontal schemes", XXJOURNAL ="Parallel Computing", XXVOLUME ="3", XXYEAR ="1986", XXPAGES ="193-204" XX) XX@Article(alag89, XXKey ="G. Alaghband", XXAUTHOR ="G. Alaghband", XXTITLE ="Parallel pivoting combined with parallel reduction", XXJOURNAL ="Parallel Computing Journal", XXYEAR ="1989", XXPAGES ="201-221" XX) XX@Article(ash90, XXKey ="C. Ashcraft", XXAUTHOR ="C. Ashcraft and S. C. Eisenstat and J. W. H. Liu", XXTITLE ="A fan-in algorithm for distributed sparse numerical factorization", XXJOURNAL ="SISSC", XXVOLUME ="11", XXNUMBER = "3", XXYEAR ="1990", XXPAGES ="593-599" XX) XX XX@Inproceedings(eise79, XXKey ="S. C. Eisenstat", XXAUTHOR ="S. C. Eisenstat and H. Elman and M. H. Schultz and A. H. Sherman", XXTITLE ="Solving approximations to the convection diffusion equation", XXBOOKTITLE = "Proceedings of the Fifth Symposium on Reservoir Simulation, 1979", XXYEAR = "1979", XXPAGES = "409-417" XX) XX XX@Article(eise83, XXKey ="S. C. Eisenstat", XXAUTHOR ="S. C. Eisenstat and H. C. Elman and M. H. Schultz", XXTITLE ="Variational Iterative Methods for Nonsymmetric XXsystems of linear equations", XXJOURNAL ="Siam Journal on Numerical Analysis", XXVOLUME ="1983", XXPAGES ="345-357", XXYEAR ="1983" XX) XX@Article(ipse86, XXKey ="I. Ipsen", XXAUTHOR ="I. Ipsen and Y. Saad and M.H. Schultz", XXTITLE ="Complexity of Dense Linear System Solution on a Multiprocessor XXRing", XXJOURNAL ="Lin. Algebra Appl.", XXVOLUME ="77", XXPAGES ="205-239", XXYEAR ="1986" XX) XX XX@Article(SAAD83A, XXAuthor = "Youcef Saad and Martin H. Schultz", XXTitle = "GMRES: A Generalized Minimal Residual Algorithm for XXSolving Nonsymmetric Linear Systems", XXJournal ="SIAM Journal on Scientific and Statistical Computing", XXVolume ="7", XXPages ="856-869", XXYear ="1986", XXKey = "Saad-Schultz !Gmres") XX XX@Article(SAAD81, XXAuthor = "Y. Saad", XXTitle = "Krylov subspace methods for solving large unsymmetric XXlinear systems", XXJournal = "Mathematics of Computation", XXVolume = "37", XXPages = "105-126", XXYear = "1981", XXKey = "Saad !Krylov") XX XX@Book(H&Y, XXAuthor = "Louis A. Hageman and David M. Young", XXTitle = "Applied Iterative Methods", XXPublisher = "Academic Press", XXAddress = "New York", XXYear = "1981", XXKey = "Hageman-Young !Applied") XX@Book(wolfe89, XXAuthor = "Michael Wolfe", XXTitle = "Optimizing Supercompilers for Supercomputers", XXPublisher = "The MIT Press", XXAddress = "Cambridge Mass", XXYear = "1989", XXKey = "wolfe") XX XX@Book(duff86book, XXAuthor = "I. S. Duff and J. K. Reid", XXTitle = "Direct Methods for Sparse Matrices", XXPublisher = "Oxford Science Publications", XXAddress = "Oxford University Press, New York", XXYear = "1986", XXKey = "duff86book") XX XX@Book(ullm82, XXAuthor = "Jeffery D. Ullman", XXTitle = "Principals of Database Systems", XXPublisher = "Computer Science Press", XXAddress = "Rockville Maryland", XXYear = "1982", XXKey = "ullm82") XX@Book(horo76, XXAuthor = "Ellis Horowitz and Sartaj Sahni", XXTitle = "Fundamentals of Data Structures", XXPublisher = "Computer Science Press", XXAddress = "Rockville Maryland", XXYear = "1976", XXKey = "horo76") XX@Article(CONCUS73, XXAuthor ="Paul Concus and Gene H. Golub", XXTitle ="Use of fast direct methods for the efficient numerical XXsolution of nonseparable elliptic equations", XXJournal = "SIAM Journal on Numerical Analysis", XXVolume = "10", XXPages = "1103-1120", XXYear = "1973", XXKey = "Concus-Golub !Use") XX XX XX XX@Article(ande89, XXKey ="E. Anderson", XXAUTHOR ="E. Anderson and Y. Saad", XXTITLE ="Solving Sparse Triangular Linear Systems on Parallel Computers", XXJOURNAL ="International Journal of High Speed Computing", XXVOLUME ="1", XXNUMBER = "1", XXPAGES ="73-95", XXYEAR ="1989" XX) XX XX@Article(saad86, XXKey ="Y. Saad", XXAUTHOR ="Y. Saad", XXTITLE ="Communication Complexity of the Gaussian Elimination Algorithm XXon Multiprocessors", XXJOURNAL ="Lin. Algebra Appl.", XXVOLUME ="77", XXPAGES ="315 -340", XXYEAR ="1986" XX) XX XX@Article(salt87siam, XXKEY ="J.H. Saltz", XXAUTHOR ="J.H. Saltz and V. K. Naik and D.M. Nicol", XXTITLE ="Reduction of the Effects of the Communication Delays in XXScientific Algorithms on Message Passing MIMD Architectures", XXJOURNAL ="SIAM J. Sci. Stat. Comput", XXVOLUME ="8", XXNUMBER ="1", XXPAGES ="s118", XXYEAR ="1987" XX) XX XX XX XX@Article(grah69, XXKEY ="R. Graham", XXAUTHOR ="R. Graham", XXTITLE ="Bounds on Multiprocessor Timing Anomalies", XXJOURNAL ="SIAM Jr. on Appl. Math", XXVOLUME ="17", XXNUMBER ="2", XXPAGES ="416-429", XXYEAR ="1969" XX) XX XX@Article(coff78, XXKEY ="E. Coffman", XXAUTHOR ="E. Coffman and M. Garey and D. Johnson", XXTITLE ="An Application of Bin Packing to Multiprocessor Scheduling", XXJOURNAL ="SIAM Computing", XXVOLUME ="7", XXNUMBER ="1", XXPAGES ="1-17", XXYEAR ="1978" XX) XX XX@Article(BERG85aaia, XXKey ="M. J. Berger", XXAUTHOR ="M. J. Berger and A. Jameson", XXTITLE ="Automatic Adaptive Grid Refinement for the Euler Equations", XXJOURNAL ="AAIA Journal", XXVOLUME ="23", XXPAGES ="561-568", XXYEAR ="1985" XX) XX@Article(chen86jpdc, XXKey ="M. C. Chen", XXAUTHOR ="M. C. Chen", XXTITLE ="A Design Methodology for Synthesizing Parallel Algorithms and Architectures", XXJOURNAL ="Journal of Parallel and Distributed Computing", XXPAGES ="116-121", XXYEAR ="1986" XX) XX XX@Article(BERG84, XXKey ="M. J. Berger", XXAUTHOR ="M. J. Berger and J. Oliger", XXTITLE ="Adaptive Mesh Refinement for Hyperbolic Partial Differential XX Equations", XXJOURNAL ="J. Comp. Phys.", XXVOLUME ="53", XXPAGES ="484-512", XXYEAR ="1984" XX) XX XX@Techreport(BOKH85, XXKEY ="S. Bokhari", XXAUTHOR ="S. Bokhari", XXTITLE ="Partitioning Problems in Parallel, Pipelined, and Distributed XX Computing", XXINSTITUTION ="ICASE", XXYEAR ="1985", XXMONTH ="November", XXTYPE ="Report", XXNUMBER ="85-54" XX) XX@Techreport(icase90-34, XXKEY ="J. Saltz", XXAUTHOR ="J. Saltz and R. Mirchandaney and K. Crowley", XXTITLE ="Run-Time Parallelization and Scheduling of Loops, XXto appear in {I}{E}{E}{E} {T}ransations on {C}computers, 1991", XXINSTITUTION ="ICASE", XXYEAR ="1990", XXMONTH ="May", XXTYPE ="Report", XXNUMBER ="90-34" XX) XX XX@Article(CHU80, XXKey ="W. W. Chu", XXAUTHOR ="W. W. Chu and L. J. Holloway and M. Lam, K. Efe", XXTITLE ="Task Allocation in Distributed data Processing", XXJOURNAL ="Computer", XXVOLUME ="13", XXNUMBER ="11", XXPAGES ="57-69", XXYEAR ="1980", XXMONTH ="November" XX) XX XX@INBOOK(FOSC77, XXKEY ="G. J. Foschini", XXAUTHOR ="G. J. Foschini", XXTITLE ="On Heavy Traffic Diffusion Analysis and Dynamic Routing in XX Switched Networks", XXBOOKTITLE ="Computer Performance", XXPUBLISHER ="North-Holland", XXEDITOR ="K. M. Chandy and M. Reiser", XXADDRESS ="New York", XXYEAR ="1977" XX) XX XX@Article(EAGE86, XXKey ="D. L. Eager", XXAUTHOR ="D. L. Eager and E. D. Lazowska and J. Zahorjan", XXTITLE ="Adaptive Load Sharing in Homogeneous Distributed Systems", XXJOURNAL ="IEEE Trans. on Software Eng.", XXVOLUME ="SE-12", XXPAGES ="662-675", XXYEAR ="1986", XXMONTH ="May" XX) XX XX@Article(zhu87, XXKey ="Zhu", XXAUTHOR ="C.Q. Zhu and P.C. Yew", XXTITLE ="A Scheme to Enforce Data Dependency on Large Multiprocessor XXSystems", XXJOURNAL ="IEEE Trans. on Software Eng.", XXVOLUME ="SE-13(6)", XXPAGES ="726-739", XXYEAR ="1987", XXMONTH ="May" XX) XX@Techreport(GROP84, XXKEY ="W. Gropp", XXAUTHOR ="W. Gropp", XXTITLE ="Local Uniform Mesh Refinement with Moving Grids", XXINSTITUTION ="Yale University", XXYEAR ="1984", XXMONTH ="April", XXTYPE ="Department of Computer Science", XXNUMBER ="YALEU/DCS/TR-313" XX) XX XX@Techreport(GROPDEC84, XXKEY ="W. Gropp", XXAUTHOR ="W. Gropp", XXTITLE ="Local Uniform Mesh Refinement on Loosely-coupled Parallel XXProcessors", XXINSTITUTION ="Yale University", XXYEAR ="1984", XXMONTH ="December", XXTYPE ="Department of Computer Science", XXNUMBER ="YALEU/DCS/TR-352" XX) XX XX@Techreport(GROPMAR86, XXKEY ="W. Gropp", XXAUTHOR ="W. Gropp", XXTITLE ="Dynamic Grid Manipulation for PDEs on Hypercube Parallel XXProcessors", XXINSTITUTION ="Yale University", XXYEAR ="1986", XXMONTH ="March", XXTYPE ="Department of Computer Science", XXNUMBER ="YALEU/DCS/TR-458" XX) XX XX XX@Book(HORO, XXKEY ="E. Horowitz", XXAUTHOR ="E. Horowitz and S. Sahni", XXTITLE ="Fundamentals of Data Structures", XXPUBLISHER ="Computer Science Press", XXADDRESS ="Rockville Maryland", XXYEAR ="1983" XX) XX XX@Book(leadbetter, XXKEY =" Leadbetter", XXAUTHOR = "M.R. Leadbetter and G. Lindgren and H. Rootzen", XXTITLE = "Extremes and Related Properties of Random Sequences and Processes", XXPUBLISHER ="Springer-Verlag", XXADDRESS ="New York", XXYEAR ="1983" XX) XX XX@Book(engineering_probability, XXKEY ="Larson ", XXAUTHOR ="H. J. Larson and B. O. Shubert", XXTITLE ="Probabilistic Models in Engineering Sciences, Volume 1", XXPUBLISHER ="Wiley ", XXADDRESS ="New York", XXYEAR ="1979" XX) XX XX@Book(golu83, XXKEY ="G. Golub", XXAUTHOR ="G. Golub and C. F. Van Loan", XXTITLE ="Matrix Computations", XXPUBLISHER ="Johns Hopkins University Press", XXADDRESS ="Baltimore Maryland", XXYEAR ="1985" XX) XX XX@Book(horo78, XXKEY ="E. Horowitz", XXAUTHOR ="E. Horowitz and S. Sahni", XXTITLE ="Fundamentals of Computer Algorithms", XXPUBLISHER ="Computer Science Press", XXADDRESS ="Rockville Maryland", XXYEAR ="1978" XX) XX XX@Article(NI85, XXKey ="L. M. Ni", XXAUTHOR ="L. M. Ni and C. Xu and T. B. Gendreau", XXTITLE ="A Distributed Drafting Algorithm for Load Balancing", XXJOURNAL ="IEEE Trans. on Software Eng.", XXVOLUME ="SE-11", XXPAGES ="1153-1161", XXYEAR ="1985", XXMONTH ="October" XX) XX XX@Techreport(NICO86a, XXKEY ="D. M. Nicol", XXAUTHOR ="D. M. Nicol and P. F. Reynolds, Jr.", XXTITLE ="An Optimal Repartitioning Decision Policy", XXINSTITUTION ="ICASE", XXYEAR ="1986", XXMONTH ="February", XXTYPE ="Report", XXNUMBER ="86-7" XX) XX XX@Techreport(SALT86, XXKEY ="J. H. Saltz", XXAUTHOR ="J. H. Saltz and D. M. Nicol", XXTITLE ="Statistical Methodologies for the Control of Dynamic Remapping", XXINSTITUTION ="ICASE", XXYEAR ="1986", XXMONTH ="July", XXTYPE ="Report", XXNUMBER ="86-46", XXNOTE ="to appear in the Proceedings of the Army Research Workshop on XXParallel Processing and Medium Scale Multiprocessors, Palo Alto, XXCalifornia, January 1986." XX) XX XX@Inproceedings(SALT87a, XXKEY ="J. Saltz", XXAUTHOR ="J. Saltz", XXTITLE ="Methods for Automated Problem Mapping", XXBOOKTITLE ="The IMA Volumes in Mathematics and its Applications. XXVolume 13: Numerical Algorithms for Modern Parallel Computer Architectures XXMartin Schultz Editor", XXYEAR ="1988", XXPUBLISHER = "Springer-Verlag" XX) XX XX@Inproceedings(fox88a, XXKEY ="G. Fox", XXAUTHOR ="G. Fox", XXTITLE ="A graphical Approach to Load Balancing and Sparse Matrix Vector XXMultiplication on the Hypercube", XXBOOKTITLE ="The IMA Volumes in Mathematics and its Applications. XXVolume 13: Numerical Algorithms for Modern Parallel Computer Architectures XXMartin Schultz Editor", XXYEAR ="1988", XXPUBLISHER = "Springer-Verlag" XX) XX@Inproceedings(fox88b, XXKEY ="G. Fox", XXAUTHOR ="G. Fox", XXTITLE ="A review of automatic load balancing and decomposition methods XXfor the hypercube", XXBOOKTITLE ="The IMA Volumes in Mathematics and its Applications. XXVolume 13: Numerical Algorithms for Modern Parallel Computer Architectures XXMartin Schultz Editor", XXYEAR ="1988", XXPUBLISHER = "Springer-Verlag" XX) XX@Inproceedings(Smit84, XXKEY ="R. Smith", XXAUTHOR ="R. Smith and J. Saltz", XXTITLE ="Performance Analysis of Strategies for Moving Mesh Control", XXBOOKTITLE ="Proceedings of the CMG XV International Conference on the XX Management and Performace Evaluation of Computer Systems", XXYEAR ="1984", XXPAGES ="301-308" XX) XX XX@Article(STAN85, XXKey ="J. A. Stankovic", XXAUTHOR ="J. A. Stankovic", XXTITLE ="An Application of Bayesian Decision Theory to Decentralized XXControl of Job Scheduling", XXJOURNAL ="IEEE Trans. on Computers", XXVOLUME ="C-34", XXNUMBER ="2", XXPAGES ="117-130", XXYEAR ="1985", XXMONTH ="February" XX) XX XX@Article(TOWS80, XXKey ="D. Towsley", XXAUTHOR ="D. Towsley", XXTITLE ="Queueing Network Models with State-Department Routing", XXJOURNAL ="Journal of the ACM", XXVOLUME ="27", XXNUMBER ="2", XXPAGES ="323-327", XXYEAR ="1980", XXMONTH ="April" XX) XX XX@Article(TANT85, XXKey ="A. N. Tantawi", XXAUTHOR ="A. N. Tantawi and D. Towsley", XXTITLE ="Optimal Static Load Balancing", XXJOURNAL ="Journal of the ACM", XXVOLUME ="32", XXNUMBER ="2", XXPAGES ="445-465", XXYEAR ="1985", XXMONTH ="April" XX) XX XX@Techreport(NICO86b, XXKEY ="D. Nicol", XXAUTHOR ="D. Nicol and J. Saltz", XXTITLE ="Dynamic Remapping of Parallel Computations with Varying Resource XXDemands", XXINSTITUTION ="ICASE", XXYEAR ="1986", XXMONTH ="July", XXTYPE ="Report", XXNUMBER ="86-45", XXNOTE ="submitted to Transactions on Computers." XX) XX XX@Techreport(tchen86, XXKEY ="T. Chen", XXAUTHOR ="T. F. Chen", XXTITLE =" On Gray Code Mappings for Mesh-FFTs on Binary N-Cubes", XXINSTITUTION ="RIACS", XXYEAR ="1986", XXMONTH ="September", XXTYPE ="Report", XXNUMBER ="86.17" XX) XX@Techreport(heat87tri, XXKEY ="M. T. Heath", XXAUTHOR ="M. T. Heath and C. H. Romine", XXTITLE ="Parallel Solution of Triangular Systems on Distributed Memory Multiprocessors", XXINSTITUTION="Oak Ridge National Laboratory", XXYEAR ="1987", XXMONTH ="March", XXNUMBER ="ORNL/TM-10384" XX) XX XX XX XX XX@Article(indu86, XXKey ="B. I. Indurkhya", XXAUTHOR ="B. Indurkhya and H. S. Stone and L. Xi-Cheng", XXTITLE ="Optimal Partitioning of Randomly Generated Distributed Programs", XXJOURNAL ="IEEE Trans. Sortware Eng.", XXVOLUME ="SE-12, NO. 3", XXPAGES ="483-495", XXYEAR ="1986" XX) XX XX@Article(liu86, XXKey ="J. W. Liu", XXAUTHOR ="J. W. Liu", XXTITLE ="Computational Models and Task Scheduling for Parallel Sparse XXCholesky Factorization", XXJOURNAL ="Parallel Computing", XXVOLUME ="3", XXPAGES ="327-342", XXYEAR ="1986" XX) XX XX@Article(geor88, XXKey ="A. George", XXAUTHOR ="A. George and M. T. Heath and J. Liu and E. Ng", XXTITLE ="Sparse Cholesky Factorization on a Local Memory Multiprocessor", XXJOURNAL ="SISSC", XXVOLUME ="327-340", XXYEAR ="1988" XX) XX XX@Techreport(ston84, XXKEY ="H. S. Stone", XXAUTHOR ="H. S. Stone and B. Indurkhaya and L. Xi=Cheng", XXTITLE ="A Model for Predicting Performance of Distributed Programs", XXINSTITUTION="IBM", XXYEAR ="1984", XXMONTH ="August", XXNUMBER ="Unknown" XX) XX XX@Article(heid82, XXKey ="P. Heidelberger", XXAUTHOR ="P. Heidelberger and K. S. Trivedi", XXTITLE ="Queueing Network Models for Parallel Processing with Asynchronous Tasks", XXJOURNAL ="IEEE Trans. Comp.", XXVOLUME ="C-31 No 11", XXPAGES ="1099-1109", XXYEAR ="1982" XX) XX XX@Techreport(eage86b, XXKEY ="D. L. Eager", XXAUTHOR ="D. L. Eager and J. Zahorjan . and E. D. Lazowska", XXTITLE ="Speedup Versus Efficiency in Parallel Systems", XXINSTITUTION ="Univ. Wash.", XXYEAR ="1986", XXMONTH ="August", XXTYPE ="Department of Computer Science", XXNUMBER ="86-08-01" XX) XX XX XX@Article(reed83, XXKey ="D. A. Reed", XXAUTHOR ="D. A. Reed and H. D. Schwetman", XXTITLE ="Cost-Performance Bounds for Multimicrocomputer Networks", XXJOURNAL ="IEEE Trans. Comp.", XXVOLUME ="C-32 No 1", XXPAGES ="83-95", XXYEAR ="1983" XX) XX XX@Article(witt81, XXKey ="L. D. Wittie", XXAUTHOR ="L. D. Wittie", XXTITLE ="Communication Structures for Large Multimicrocomputer Systems", XXJOURNAL ="IEEE Trans. Comp.", XXVOLUME ="C-30 No 4", XXPAGES ="264-273", XXYEAR ="1981" XX) XX XX@Article(pate81, XXKey ="J. H. Patel", XXAUTHOR ="J. H. Patel", XXTITLE ="Performance of Processor-Memory Interconnections for Multiprocessors", XXJOURNAL ="IEEE Trans. Comp.", XXVOLUME ="C-30 No 10", XXPAGES ="771-780", XXYEAR ="1981" XX) XX XX@Article(krus83, XXKEY ="C. P. Kruskal", XXAUTHOR ="C. P. Kruskal and M. Snir", XXTITLE ="The Performance of Multistage Interconnection Networks for Multiprocessors", XXJOURNAL ="IEEE Trans. Comp.", XXVOLUME ="C-32 No 12", XXPAGES ="1081-1098", XXYEAR ="1983" XX) XX XX@Article(dubo82, XXKEY ="M. Dubois", XXAUTHOR ="M. Dubois and F. A. Briggs", XXTITLE ="Effects of Cache Coherency in Multiprocessors", XXJOURNAL ="IEEE Trans. Comp.", XXVOLUME ="C-31 No 11", XXPAGES ="1083-1099", XXYEAR ="1982" XX) XX XX@Inproceedings(ston86, XXKEY ="H. S. Stone", XXAUTHOR ="H. S. Stone", XXTITLE ="Footprints in the Cache", XXBOOKTITLE ="Proceedings of Performance 86 and ACM SIGMETRICS 86", XXYEAR ="1986", XXPAGES ="4-8" XX) XX XX@Article(vali82, XXKEY ="L. G. Valiant", XXAUTHOR ="L. G. Valiant", XXTITLE ="A Scheme for Fast Parallel Communications", XXJOURNAL ="SIAM J. Computation", XXVOLUME ="11", XXPAGES ="350-361", XXYEAR ="1982" XX) XX XX@Techreport(reed86, XXKEY ="D. A. Reed", XXAUTHOR ="D. A. Reed and L. M. Adams and M. L. Patrick", XXTITLE ="Stencils and Problem Partitionings: Their Influence on the Performance of Multiple Processor Systems", XXINSTITUTION ="ICASE", XXYEAR ="1986", XXMONTH ="May", XXNUMBER ="86-24" XX) XX XX@Techreport(saad85, XXKEY ="Y. Saad", XXAUTHOR ="Y. Saad and M. H. Schultz", XXTITLE ="Topological Properties of Hypercubes", XXINSTITUTION ="Yale", XXYEAR ="1986", XXMONTH ="June", XXNUMBER ="YALEU/DCS/RR-389" XX) XX XX@Article(ston77, XXKey ="H. S. Stone", XXAUTHOR ="H. S. Stone", XXTITLE ="Multiprocessor Scheduling with the Aid of Network Flow XXAlgorithms", XXJOURNAL ="IEEE Trans. Sortware Eng.", XXVOLUME ="SE-3, NO. 1", XXPAGES ="85-93", XXYEAR ="1977" XX) XX XX@Article(ston78, XXKey ="H. S. Stone", XXAUTHOR ="H. S. Stone and S. H. Bokhari", XXTITLE ="Control of Distributed Processes", XXJOURNAL ="IEEE Computer", XXPAGES ="97-106", XXYEAR ="1978" XX) XX XX@Techreport(salt86a, XXKEY ="J. H. Saltz", XXAUTHOR ="J. H. Saltz and D. M. Nicol", XXTITLE ="Statistical Methodologies for the Control of Dynamic Remapping", XXINSTITUTION ="ICASE", XXYEAR ="1986", XXMONTH ="July", XXTYPE ="Report", XXNUMBER ="86-46", XXNOTE ="to appear in the Proceedings of the Army Research Workshop on XXParallel Processing and Medium Scale Multiprocessors, Palo Alto, XXCalifornia, January 1986." XX) XX XX XX XX@Techreport(fox85, XXKEY ="G. Fox", XXAUTHOR ="G. Fox", XXTITLE ="Concurrent Processor Load Balancing as a Statistical Physics Problem", XXINSTITUTION ="Cal Tech", XXYEAR ="1985", XXMONTH ="June", XXTYPE ="Report", XXNUMBER ="Hm 172" XX) XX XX@Techreport(flow86, XXKEY ="J. W. Flower", XXAUTHOR ="J. W. Flower and S. W. Otto and M. C. Salama", XXTITLE ="A Preprocessor for Irregular Finite Element Problems", XXINSTITUTION ="Cal Tech", XXYEAR ="1986", XXMONTH ="June", XXTYPE ="Report", XXNUMBER ="C3P292" XX) XX@Techreport(fox86smvp, XXKEY ="G.C. Fox", XXAUTHOR ="G.C. Fox", XXTITLE ="Load Balancing and Sparse Matrix Vector Multiplication on the Hypercube", XXINSTITUTION ="Cal Tech", XXYEAR ="1986", XXMONTH ="June", XXTYPE ="Report", XXNUMBER ="C3P327" XX) XX XX@Article(bokh81, XXKey ="S. H. Bokhari", XXAUTHOR ="S. H. Bokhari", XXTITLE ="A Shortest Tree Algorithm for Optimal Assignments Across Space and Time in a Distributed Processor System", XXJOURNAL ="IEEE Trans. Sortware Eng.", XXVOLUME ="SE-7", XXPAGES ="583-589", XXYEAR ="1981" XX) XX XX@Article(eage86a, XXKey ="D. L. Eager", XXAUTHOR ="D. L. Eager and E. D. Lazowska and J. Zahorjan", XXTITLE ="Adaptive Load Sharing in Homogeneous Distributed Systems", XXJOURNAL ="IEEE Trans. on Software Eng.", XXVOLUME ="SE-12", XXPAGES ="662-675", XXYEAR ="1986", XXMONTH ="May" XX) XX XX@Article(tant85, XXKey ="A. N. Tantawi", XXAUTHOR ="A. N. Tantawi and D. Towsley", XXTITLE ="Optimal Static Load Balancing", XXJOURNAL ="Journal of the ACM", XXVOLUME ="32", XXNUMBER ="2", XXPAGES ="445-465", XXYEAR ="1985", XXMONTH ="April" XX) XX XX XX@Article(lund85, XXKey ="S.F. Lundstrom", XXAUTHOR ="S. F. Lundstrom and E. E. Swartzlander", XXTITLE ="Forword Advances in Distributed Computing Systems", XXJOURNAL ="IEEE Trans. Sortware Eng.", XXVOLUME ="SE-11", XXPAGES ="1092-1095", XXYEAR ="1985" XX) XX XX@Article(stan85, XXKEY ="J. A. Stankovic", XXAUTHOR ="J. A. Stankovic", XXTITLE ="Stability and Distributed Scheduling Algorithms", XXJOURNAL ="IEEE Trans. Sortware Eng.", XXVOLUME ="SE-11", XXPAGES ="1141-1152", XXYEAR ="1985" XX) XX XX@Article(wah85, XXKEY ="B. W. Wah", XXAUTHOR ="B. W. Wah and Jie-Yong Juang", XXTITLE ="Resource Scheduling for Local Computer Systems with a Multiaccess Network", XXJOURNAL ="IEEE Trans. Computers", XXVOLUME ="C-34", XXPAGES ="1144-1157", XXYEAR ="1985" XX) XX XX@Article(reed84, XXKEY ="D. A. Reed", XXAUTHOR ="D. A. Reed", XXTITLE ="The Performance of Multimicrocomputer Networks Supporting Dynamic Workloads", XXJOURNAL ="IEEE Trans. Computers", XXVOLUME ="C-33", XXPAGES ="1045-1048", XXYEAR ="1984" XX) XX XX XX@Inproceedings(lela86, XXKEY ="W. E. Leland", XXAUTHOR ="W. E. Leland", XXTITLE ="Load-balancing Heuristics and Process Behavior", XXBOOKTITLE ="Proceedings of Performance 86 and ACM SIGMETRICS 86", XXYEAR ="1986", XXPAGES ="54-69" XX) XX XX@Inproceedings(thom86, XXKEY ="R. H. Thomas", XXAUTHOR ="R. H. Thomas", XXTITLE ="Behavior of the Butterfly Parallel Processor in the Presence of Memory Hot Spots", XXBOOKTITLE ="Proceedings of the 1986 International Conference on Parallel XXProcessing", XXYEAR ="1986" XX) XX@Inproceedings(wuicpp91, XXKEY ="J. Wu and J. Saltz and S. Hiranandani and H. Berryman", XXAUTHOR ="Wu", XXTITLE ="Runtime Compilation Methods for XXMulticomputers, to appear", XXBOOKTITLE ="Proceedings of the 1991 International Conference on Parallel XXProcessing", XXYEAR ="1991" XX) XX XX@Inproceedings(yew86, XXKEY ="P. Yew", XXAUTHOR ="P. Yew and N. Tzeng and D. Lawrie", XXTITLE ="Distributing Hot-Spot Addressing in Large-Scale Multiprocessors", XXBOOKTITLE ="Proceedings of the 1986 International Conference on Parallel XXProcessing", XXYEAR ="1986" XX) XX XX@Article(pfis85b, XXKEY ="G. F. Pfister", XXAUTHOR ="G. F. Pfister and V. A. Norton", XXTITLE ="Hot Spot Contention and Combining in Multistage Communication Networks", XXJOURNAL ="IEEE Trans. Computers", XXVOLUME ="C-34 NO 10", XXPAGES ="943-948", XXYEAR ="1985" XX) XX XX XX@Article(lube85, XXKEY ="O. Lubeck", XXAUTHOR ="O. Lubeck and James Moore", XXTITLE ="A Benchmark Comparison of Three Supercomputers: Fujitsu VP-200, XXHitachi S810/20, and Cray X-MP/2", XXJOURNAL ="IEEE Computer", XXVOLUME ="December", XXPAGES ="10-23", XXYEAR ="1985" XX) XX XX@Article(kuck86, XXKEY ="D. J. Kuck", XXAUTHOR ="D. J. Kuck and E. S. Davidson and D. H. Lawrie and A. H. Samah", XXTITLE ="Parallel Supercomputing Today and the Cedar Approach", XXJOURNAL ="Science", XXVOLUME ="231", XXPAGES ="967-974", XXYEAR ="1986" XX) XX XX@Inproceedings(elde85, XXKEY ="J. Edler", XXAUTHOR ="J. Edler and A. Gottlieb and C. P. Kruskal and K. P. McAuliffe andet. al.", XXBOOKTITLE ="IEEE Proceedings of the 12th annual symposium on computer architecture", XXTITLE ="Issues Related to MIMD Shared-Memory Computers: The NYU Ultracomputer Approach", XXPAGES ="126-135", XXYEAR ="1985" XX) XX XX@Article(schw80, XXKEY ="T. Schwartz", XXAUTHOR ="T. Schwartz", XXTITLE ="Ultracomputers", XXJOURNAL ="ACM TOPLAS", XXVOLUME ="2", XXPAGES ="484-521", XXYEAR ="1980" XX) XX XX@Inproceedings(lebl86, XXKEY ="T. J. LeBlanc", XXAUTHOR ="T. J. LeBlanc", XXTITLE ="Shared Memory Versus Message-Passing in a Tightly Coupled Multiprocessor: A Case Study", XXBOOKTITLE ="Proceedings of the 1986 International Conference on Parallel XXProcessing", XXYEAR ="1986" XX) XX XX@Techreport(bokh86, XXKEY ="S. H. Bokhari", XXAUTHOR ="S. H. Bokhari", XXTITLE ="Multiprocessing the Sieve of Eratosthenes", XXINSTITUTION="ICASE", XXYEAR ="1986", XXMONTH ="June", XXNUMBER ="86-41" XX) XX XX@Techreport(pfis85a, XXKEY ="G. F. Pfister", XXAUTHOR ="G. F. Pfister and W. C. Brantley and D. A. George and S. L. Harvey and et. al. ", XXTITLE ="The IBM Research Parallel Processor Prototype (RP3): Introdution XXand Architecture", XXINSTITUTION="IBM", XXYEAR ="1985", XXNUMBER ="RC11060" XX) XX XX@Article(seit85, XXKey ="C. L. Seitz", XXAUTHOR ="C. L. Seitz", XXTITLE ="The Cosmic Cube", XXJOURNAL ="Communications of the ACM", XXVOLUME ="28 NO 1", XXPAGES ="22-33", XXYEAR ="1985" XX) XX XX@Techreport(grun86, XXKEY ="D. C. Grunwald", XXAUTHOR ="D. C. Grunwald and D. A. Reed", XXTITLE ="Benchmarking Hypercube Hardware and Software", XXINSTITUTION="Illinois", XXYEAR ="1986", XXNUMBER ="UILU-ENG-86-1768" XX) XX XX@Article(thom86a, XXKEY ="A Thomasian", XXAUTHOR ="A. Thomasian and P. F. Bay", XXTITLE ="Analytic Queueing Network Models for Parallel Processing of XXTask Systems", XXJOURNAL ="IEEE Trans. Computers", XXVOLUME ="C-35", XXPAGES ="1045-1054", XXYEAR ="1986" XX) XX XX@Article(nico86wn, XXKEY ="D. Nicol", XXAUTHOR ="D. Nicol and J. Saltz", XXTITLE ="Dynamic Remapping of Parallel Computations with Varying Resource Demands", XXJOURNAL ="ICASE Report 86-45 to appear in IEEE Trans. Computers", XXYEAR ="1988" XX) XX XX@Techreport(nico87sig, XXKEY ="D. Nicol", XXAUTHOR ="D. Nicol and J. Saltz", XXTITLE ="Optimal Pre-Scheduling of Problem Remappings", XXINSTITUTION="ICASE", XXYEAR ="1987", XXNUMBER ="87-52" XX) XX XX@Article(Poly87, XXKEY ="Poly87", XXAUTHOR ="C. Polychronopoulos and D. Kuck", XXTITLE ="Guided self-scheduling: A practical scheduling scheme for parallel supercomputers", XXJOURNAL ="IEEE Transactions on Computers", XXYEAR ="1987" XX) XX XX@Article(Ferr87, XXKEY ="Ferr87", XXAUTHOR ="J. Ferrante and K. Ottenstein and J. Warren", XXTITLE ="The program dependence graph and its use in optimization", XXJOURNAL ="ACM TOPLAS", XXYEAR ="1987" XX) XX XX XX@Techreport(geo86, XXKEY ="A. George", XXAUTHOR ="A. George and M. Heath and J. Liu and E. Ng", XXTITLE ="Sparse Cholesky Factorization on a Local Memory Multiprocessor", XXINSTITUTION="Oak Ridge National Lab", XXYEAR ="1986", XXNUMBER ="ORNL/TM-9962" XX) XX XX@Techreport(alle87, XXKEY ="T. Allen", XXAUTHOR ="T. Allen and G. Cybenko", XXTITLE ="Recursive Binary Partitions", XXINSTITUTION="Tufts University Dept Computer Science", XXYEAR ="1987", XXMONTH ="October" XX) XX XX@Inproceedings(fox87, XX key="G. Fox", XX author="G. Fox and A. Kowala and R. Williams", XX title="The Implementation of a Dynamic Load Balancer", XX booktitle="The Proceedings of the Hypercube Microprocessors XXConf., Knoxville, TN", XX PAGES ="114-121", XX year="1987" XX ) XX@Inproceedings(hyper90seema, XX key="S. Mirchandaney", XX author="S. Mirchandaney and J. Saltz and P. Mehrotra and XX H. Berryman", XX title="A Scheme for Supporting Automatic Data Migration on XX Multicomputers", XX booktitle="Proceedings of the Fifth Distributed Memory Computing XX Conference, Charleston S.C.", XX year="1990" XX ) XX@Inproceedings(dahl90, XX key="E. D. Dahl", XX author="E. D. Dahl", XX title="Mapping and Compiled Communication on the Connection Machine XX System", XX booktitle="Proceedings of the Fifth Distributed Memory Computing XX Conference, Charleston S.C.", XX year="1990" XX ) XX@Techreport(will89, XX key="Williams", XX author="R. D. Williams and R. Glowinski", XX title="Distributed Irregular Finite Elements", XX institution="Caltech Concurrent Computation Program", XX number="C3P 715", XX month = " February", XX year="1989" XX ) XX XX XX@Inproceedings(Tang86, XX key="Tang86", XX author="P. Tang and P. Yew", XX title="Processor self-scheduling for multiple nested parallel loops", XX booktitle="The Proceedings of the ICPP, 1986", XX PAGES ="528-535", XX year="1986" XX ) XX XX@Inproceedings(Cytr86, XX key="Cytr86", XX author="R. Cytron", XX title="Doacross: Beyond vectorization for multiprocessors", XX booktitle="The Proceedings of the ICPP, 1986", XX PAGES ="836-844", XX year="1986" XX ) XX XX@Inproceedings(Midk86, XX key="Midk86", XX author="S. Midkiff and D. Padua", XX title="Compiler generated synchronization for Do loops", XX booktitle="The Proceedings of the ICPP, 1986", XX PAGES ="544-551", XX year="1986" XX ) XX XX XX@Inproceedings(Krot88, XX key="Krot88", XX author="V. Krothapalli and P. Sadayappan", XX title="An approach to synchronization for parallel computing", XX booktitle="The Proceedings of the 1988 conference on supercomputing, St. Malo, 1988", XX PAGES ="573-581", XX year="1988" XX ) XX XX@Inproceedings(Ptran87, XX key="Alle87", XX author="F. Allen and M. Burke and P. Charles and R. Cytron and J. Ferrante", XX title="An overview of the PTRAN analysis system for multiprocessing", XX booktitle="The Proceedings of the 1987 conference on supercomputing, Athens, 1987", XX year="1987" XX ) XX XX XX@Techreport(mirc88a, XXKEY ="mirc88a", XXAUTHOR ="R. Mirchandaney and J. H. Saltz", XXTITLE ="Dodynamic: A construct for on-the-fly parallelization of loops", XXINSTITUTION="Yale University", XXYEAR ="1988", XXNUMBER ="650", XXnote ="in preparation" XX) XX XX XX@Techreport(mirc88b, XXKEY ="mirc88a", XXAUTHOR ="J. H. Saltz and R. Mirchandaney", XXTITLE ="How to schedule complex loops in parallel", XXINSTITUTION="Yale University", XXYEAR ="1988", XXNUMBER ="657" XX) XX XX XX@Techreport(Call88, XXKEY ="Call88", XXAUTHOR ="D. Callahan and K. Kennedy", XXTITLE ="Compiling programs for distributed-memory multiprocessors", XXINSTITUTION="Rice University", XXYEAR ="1988", XXNUMBER ="TR88-74" XX) XX XX@Techreport(Dino88, XXKEY ="Dino88", XXAUTHOR ="M. Rosing and R. Schnabel", XXTITLE ="An overview of {D}ino - A new language for Numerical Computation on Distributed Memory Multiprocessors", XXINSTITUTION="University of Colorado, Boulder", XXYEAR ="1988", XXNUMBER ="CU-CS-385-88" XX) XX XX XX@Techreport(Kayspaper, XXKEY ="Kayspaper", XXAUTHOR ="K. Crowley and J. Saltz and R. Mirchandaney", XXTITLE ="An automatic method to generate efficient transformations for distributed memory multiprocessors", XXINSTITUTION="Yale University", XXYEAR ="1988", XXNUMBER ="658" XX) XX XX XX@Techreport(Saltznewrep, XXKEY ="Saltznewrep", XXAUTHOR ="D. Baxter and J. Saltz and M. Schultz and S. Eisenstat", XXTITLE ="Preconditioned Krylov solvers and methods for runtime loop paralleization", XXINSTITUTION="Yale University", XXYEAR ="1988", XXNUMBER ="655" XX) XX XX XX@Techreport(Pcf1, XXKEY ="Pcf1", XXTITLE ="PCF Fortran Language Definition", XXINSTITUTION="The Parallel Computing Forum", XXYEAR ="1988", XXNUMBER ="Version 1" XX) XX XX XX XX@techreport{me:oldphases, XX author="D.M. Nicol and Reynolds, Jr., P.F.", XX title="Dynamic Remapping Decisions in Multi-Phase Parallel XX Computations", XX institution="ICASE", XX number="86-48", XX month="August", XX year=1986 XX } XX XX@techreport{me:phases, XX author="D.M. Nicol and Reynolds, Jr., P.F", XX title="Optimal Dynamic Remapping of Parallel XX Computations", XX institution="ICASE", XX number="87-49", XX year=1987, XX month="July", XX note = "Submitted to {\em IEEE Trans. on Computers}." XX } XX XX XX XX XX@article{Padua80, XX author="D. A. Padua and D. J. Kuck and D. H. Lawrie", XX title ="High-speed multiprocessors and compilation techniques", XX year = "1980", XX journal = "IEEE Trans. on Computers", XX volume = 29, XX number = 9, XX month = "September", XX pages = "763-776" XX } XX XX XX@techreport{nico87sept, XX author="D.M. Nicol and J.H. Saltz", XX title ="Principles for Problem Aggregation and Assignment in XX Medium Scale Multiprocessors", XX institution="ICASE", XX number="87-39", XX year=1987, XX month="July", XX note = "Submitted to {\em IEEE Trans. on Computers}." XX } XX XX XX XX XX@conference{me:wsc87, XX author="D.M. Nicol", XX title= "Performance Issues for Distributed Battlefield Simulations", XX year=1987, XX month="December", XX booktitle="Proceedings of the 1987 Winter Simulation XX Conference", XX note="624-628", XX address="Atlanta" XX } XX XX XX XX XX XX XX XX @techreport{BDMstats, XX author="J.B. Gilmer", XX title="Statistical Measurements of the CORBAN Simulation to XX Support Parallel Processing", XX institution="BDM Corporation", XX year=1986, XX number= "BDM/ROS-86-0326" XX } XX XX @conference{BDMssrep, XX author = "J.B. Gilmer and J.P. Hong", XX title = "Replicated State-Space XX Approach for Parallel Simulation", XX year=1986, XX booktitle="Proceedings of the 1986 Winter Simulation Conference", XX address="Washington, D.C." XX } XX XX @techreport{BDMzipdoc, XX author="J.B. Gilmer", XX title = "Documentation, State-Space Reconciliation Version XX of the Zipscreen Prototype Simulation", XX institution="BDM Corporation", XX year=1986 XX } XX XX @techreport{me:oldphases, XX author="D.M. Nicol and Reynolds, Jr., P.F.", XX title="Dynamic Remapping Decisions in Multi-Phase Parallel XX Computations", XX institution="ICASE", XX number="86-48", XX month="August", XX year=1986 XX } XX XX @techreport{me:phases, XX author="D.M. Nicol and Reynolds, Jr., P.F", XX title="Optimal Dynamic Remapping of Parallel XX Computations", XX institution="ICASE", XX number="87-49", XX year=1987, XX month="July", XX note = "Submitted to {\em IEEE Trans. on Computers}." XX } XX XX XX @article{me:w(n), XX author="D.M. Nicol and J.H. Saltz", XX title ="Dynamic Remapping of XX Parallel Computations with Varying Resource Demands", XX year = "1988", XX journal = "IEEE Trans. on Computers", XX volume = 37, XX number = 9, XX month = "September", XX pages = "1073-1087" XX } XX XX XX @techreport{me:principles, XX author="D.M. Nicol and J.H. Saltz", XX title ="Principles for Problem Aggregation and Assignment in XX Medium Scale Multiprocessors", XX institution="ICASE", XX number="87-39", XX year=1987, XX month="July", XX note = "Submitted to {\em IEEE Trans. on Computers}." XX } XX XX XX XX @techreport{me:pamp, XX author="D.M. Nicol", XX title ="Parallel Algorithms for Mapping Pipelined and Parallel Computations", XX institution="ICASE", XX number="88-2", XX year=1988, XX month="January" XX } XX XX XX @conference{me:wsc87, XX author="D.M. Nicol", XX title= "Performance Issues for Distributed Battlefield Simulations", XX year=1987, XX month="December", XX booktitle="Proceedings of the 1987 Winter Simulation XX Conference", XX note="624-628", XX address="Atlanta" XX } XX XX @conference{me:scs88, XX author="D.M. Nicol", XX title= "Mapping a Battlefield Simulation onto Parallel Message-Passing XX Architectures", XX year=1988, XX month="February", XX booktitle="Proceedings of the 1988 SCS Conference on Distributed XX Simulation", XX pages ="141-146" XX } XX XX @conference{joel:aro, XX author="J.H. Saltz and D.M. Nicol", XX title="Statistical Methodologies XX for the Control of Dynamic Remapping", XX year=1986, XX booktitle="Proceedings of the ARO Conference on XX Medium Scale Multiprocessing", XX address="Stanford University" XX } XX XX @book{ross:stochastic_processes, XX author="H.S. Ross", XX title="Stochastic Processes", XX publisher="Wiley", XX address="New York", XX year="1983" XX } XX XX XX @conference{flex, XX author="N. Matelan", XX title="The {Flex}/32 MultiComputer", XX year="1985", XX month="June", XX booktitle="Proceedings of the 12th International Symposium on XX Computer Architecture", XX publisher="Computer Society Press", XX pages="209-213" XX } XX XX @book{book, XX editor="D. L. Book", XX title="Finite-Difference Techniques for Vectorized Fluids Dynamics XX Calculations", XX publisher="Springer-Verlag", XX year="1981", XX address="New York" XX } XX XX @article{berger, XX author="M. J. Berger and J. Oliger", XX title="Adaptive Mesh Refinement for Hyperbolic Partial Differential XX Equations", XX journal="Journal of Computational Physics", XX volume=53, XX year=1984, XX pages="484-512" XX } XX XX @article{time_warp, XX author="D. R. Jefferson", XX title="Virtual Time", XX journal="ACM Trans. on Programming Languages and Systems", XX volume=7, XX number=3, XX year=1985, XX pages="404-425" XX } XX XX @conference{SRADS, XX author="Reynolds, Jr., P.F.", XX title="A Shared Resource Algorithm for Distributed Simulation", XX year=1982, XX month="April", XX booktitle="Proceedings of the Ninth Annual International Computer XX Computer Architecture Conference", XX address="Austin, Texas", XX pages="259-266" XX } XX XX XX XX @mastersthesis{me:MS, XX author="D. M. Nicol", XX title="The Performance of Synchronizing Networks", XX school="Department of Computer Science, University of Virginia", XX year=1984, XX month="January" XX } XX XX @article{Chandy_Misra_79, XX author="K. M. Chandy and J. Misra", XX title="Distributed Simulation: A Case Study in Design and XX Verification of Distributed Programs", XX journal="IEEE Trans. on Software Engineering", XX year=1979, XX volume=5, XX number=5, XX month="September", XX pages="440-452" XX } XX XX @article{Peacock, XX author="J. K. Peacock and E. Manning and J. W. Wong", XX title="Synchronization of Distributed Simulation Using Broadcast XX Algorithms", XX journal="Computer Networks", XX volume=4, XX publisher="North Holland Publishing Co.", XX year=1980, XX pages="3-10" XX } XX XX @article{RAP, XX author="D. A. Reed and L. M. Adams and M. L. Patrick", XX title="Stencils and Problem Partitionings: Their XX Influence on the Performance of Multiple Processor Systems", XX journal="IEEE Trans. on Computers", XX volume="C-36", XX number=7, XX month="July", XX year=1987, XX pages="845-858" XX } XX XX @conference{me:ICPP87, XX author="D. M. Nicol and F. H. Willard", XX title="Problem Size, Parallel Architecture, and Optimal Speedup", XX year=1987, XX booktitle="Proceedings of the 1987 International Conference on XX Parallel Processing", XX address="St. Charles, Illinois", XX pages="347-354" XX } XX XX @article{me:JPDC88, XX author="D. M. Nicol and F. H. Willard", XX title="Problem Size, Parallel Architecture, and Optimal Speedup", XX journal="Journal of Parallel and Distributed Computing", XX volume = 5, XX month = "August", XX pages = "404-420", XX year = 1988 XX } XX XX @book{time_series, XX author="R. S. Pindyck and D. L. Rubinfeld", XX title="Econometric Models and Economic Forecasts", XX publisher="McGraw-Hill", XX address="New York", XX year=1976 XX } XX XX @techreport{fox86, XX author="G.C. Fox and S. W. Otto", XX title= "Concurrent Computation and the Theory of Complex XX Systems", XX year=1986, XX institution="Caltech Concurrent Computation Program", XX number="CALT-68-1343" XX } XX XX @techreport{Johnsson86, XX author = "S.L. Johnsson and C. Ho", XX title = "Spanning Graphs for Optimum Broadcasting and XX Personalized Communication in Hypercubes", XX year=1986, XX institution="Yale University Department of Computer Science", XX number="TR-500" XX } XX XX @techreport{Johnsson85, XX author = "S.L. Johnsson", XX title = "Data Permutations and Basic Linear Algebra Computations XX on Ensemble Architectures", XX year=1985, XX month="February", XX institution="Yale University Department of Computer Science", XX number="TR-367" XX } XX XX @conference{Ho:ICPP87, XX author = "C. Ho and S.L. Johnsson", XX title = "Algorithms for Matrix Transposition on Boolean n-cube XX configured Ensemble Architectures", XX year=1987, XX month="August", XX booktitle="Proceedings of the 1987 International Conference on XX Parallel Processing", XX address="St. Charles, Illinois", XX pages="621-629" XX } XX XX XX @conference{Reed87, XX author = "D. A. Reed and A.D. Maloney and B.D. McCredie", XX title = "Parallel Discrete Event Simulation: A Shared Memory XX Approach (Extended Abstact)", XX year=1987, XX month="May", XX booktitle="Proceedings of the 1987 SIGMETRICS Conference", XX address="Banff, Alberta, Canada", XX pages="36-39", XX note="To appear in {\em IEEE Trans. on Soft. Eng.}" XX } XX XX @conference{Won:LAP, XX author = "Y. Won and S. Sahni", XX title="Maze Routing on a Hypercube Multiprocessor Computer", XX year=1987, XX month="August", XX booktitle="Proceedings of the 1987 International Conference on XX Parallel Processing", XX address="St. Charles, Illinois", XX pages="630-637" XX } XX XX XX @article{Berger87, XX author="M.J. Berger and S. H. Bokhari", XX title="A Partitioning Strategy for Nonuniform Problems on Multiprocessors", XX journal="IEEE Trans. on Computers", XX volume="C-36", XX number=5, XX month="May", XX year=1987, XX pages="570-580" XX } XX XX @book{numerical_recipes, XX author="W.H. Press and B.P. Flannery and S.A. Teukolsky and W.T. Vettering", XX title="Numerical Recipes", XX publisher="Cambridge University Press", XX address="New York", XX year=1986 XX } XX XX @conference{multigrid, XX author="A. Brandt", XX title="Multigrid Technique: 1984 Guide", XX year=1984, XX booktitle="GMD Studien 85, Gesellschaft fur Mathematik und Datenverabeitung", XX address="St. Augustin" XX } XX XX @conference{iPSC, XX author="J. Rattner", XX title="Concurrent Processing: a new direction in scientific computing", XX booktitle="AFIPS Conference Proceedings, National Computer Conference", XX year=1985, XX volume=54, XX pages="157-166" XX } XX XX @techreport{Morrison85, XX author = "R. Morrison and S. Otto", XX title = "The Scattered Decomposition for Finite Elements", XX year=1985, XX month="May", XX institution="Caltech Concurrent Computing Project", XX number="286" XX } XX XX @article{Bokhari88, XX author = "S. H. Bokhari", XX title = "Partitioning Problems in Parallel, Pipelined, XX and Distributed Computing", XX journal="IEEE Trans. on Computers", XX volume=37, XX number=1, XX year = 1988, XX month = "January", XX pages="48-57" XX } XX XX @techreport{me:estimate, XX author = "D. M. Nicol and J. H. Saltz and J. Townsend", XX title = "Estimating run-time costs in parallel computations for the XX purposes of resource allocation", XX note ="ICASE report in preparation." XX } XX XX @techreport{newlatestandgreatestpaper, XX author = "J. H. Saltz and D. M. Nicol", XX title = "Performance Studies on Mapping Methods XX for Irregular Parallel Computations", XX note = "ICASE report in preparation." XX } XX XX @article{Kruscal85, XX author="C. P. Kruscal and A. Weiss", XX title="Allocating Independent Subtasks on Parallel Processors", XX journal="IEEE Trans. on Soft. Eng.", XX volume="SE-11", XX number=10, XX month="October", XX year=1985, XX pages="1001-1015" XX } XX XX @book{Fishman, XX author="G. S. Fishman", XX title="Principles of Discrete Event Simulation", XX publisher="John Wiley and Sons", XX address="New York", XX year=1978 XX } XX XX @article{Jones, XX author="D.W. Jones", XX title="An Empirical Comparison of Priority-Queue and Event-Set XX Implementations", XX journal="CACM", XX volume=29, XX number=4, XX month="April", XX year=1986, XX pages="300-311" XX } XX XX @article{Two_lists, XX author="J.H. Blackstone and G.L. Hogg and D.T. Phillips", XX title="A Two-List Synchronization Procedure for Discrete-Event XX Simulation", XX journal="CACM", XX volume=24, XX number=12, XX month="December", XX year=1981, XX pages="825-829" XX } XX XX @article{Warp, XX author="M. Annaratone and E. Arnould and T. Gross and H.T. Kung and XX M. Lam and O. Menzilcioglu and J.A. Webb", XX title="The Warp Computer: Architecture, Implementation, XX and Performance", XX journal="IEEE Trans. on Computers", XX volume="C-36", XX number=12, XX month="December", XX year=1987, XX pages="1523-1538" XX } XX XX XX @article{Kernighan, XX author="G. Kernighan", XX title="Optimal Sequential Partitions of Graphs", XX journal="Journal of the ACM", XX volume=18, XX number=1, XX month="January", XX year=1971, XX pages="34-40" XX } XX XX @article{nearest_neighbor_finite_elements, XX author="P. Sadayappan and F. Ercal", XX title="Nearest-Neighbor Mappings of Finite Element Graphs onto XX Processor Meshes", XX journal="IEEE Trans. on Computers", XX volume="C-36", XX number=12, XX month="December", XX year=1987, XX pages="1408-1424" XX } XX XX XX XX @article{Cventanovic, XX author="Z. Cventanovic", XX title="The Effects of Problem Partitioning, Allocation, and XX Granularity on the Performance of Multiple-Processor XX Systems", XX journal="IEEE Trans. on Computers", XX volume="C-36", XX number=4, XX month="April", XX year=1987, XX pages="421-432" XX } XX XX @article{Stone:network_flow, XX author="H.S. Stone", XX title="Multiprocessor scheduling with the aid of XX Network Flow Algorithms", XX journal="IEEE Trans. on Soft. Eng.", XX volume="SE-3", XX number=1, XX month="January", XX year=1977, XX pages="85-93" XX } XX XX @article{Stone:critical_load_factors, XX author="H.S. Stone", XX title="Critical load factors in distributed computer systems", XX journal="IEEE Trans. on Soft. Eng.", XX volume="SE-4", XX number=3, XX month="May", XX year=1978, XX pages="254-258" XX } XX XX @article{towsley:tose_oct86, XX author="D. Towsley", XX title="Allocating Programs Containing Branches and Loops Within a XX Multiple Processor System", XX journal="IEEE Trans. on Soft. Eng.", XX volume="SE-12", XX number=10, XX month="October", XX year=1986, XX pages="1018-1024" XX } XX XX @article{Bokhari:shortest_tree, XX author = "S. H. Bokhari", XX title = "A Shortest Tree Algorithm for Optimal Assignments Across XX Space and Time in a Distributed Processor System", XX journal="IEEE Trans. on Soft. Eng.", XX volume="SE-7", XX number=6, XX year = 1981, XX month = "November", XX pages="583-589" XX } XX XX @techreport{Iqbal, XX author = "M.A. Iqbal", XX title = "Approximate Algorithms for Partitioning and Assignment XX Problems", XX year=1986, XX month="June", XX institution="ICASE", XX number="86-40" XX } XX XX @book{Knuth, XX author="D.E. Knuth", XX title="The Art of Computer Programming, vol. 1", XX publisher="Addison-Wesley", XX address="New York", XX year="1968" XX } XX XX @article{splay_trees, XX author = "D.D. Sleator and R.E. Tarjan", XX title = "Self-Adjusting Binary Search Trees", XX journal="Journal of the ACM", XX volume=32, XX number=3, XX year = 1985, XX month = "July", XX pages="652-686" XX } XX XX XX @article{Noga, XX author = "M.T. Noga", XX title = "Sorting in parallel by double distributed partitioning", XX journal="BIT", XX volume=27, XX number=3, XX year = 1987, XX pages="340-348" XX } XX XX @article{parallel_sort, XX author = "M.C.K. Yang and J.S. Huang and Y. Chow", XX title = "Optimal Parallel Sorting Scheme by Order Statistics", XX journal="SIAM Journal on Computing", XX volume=16, XX number=6, XX month="December", XX year = 1987, XX pages="990-1003" XX } XX XX @article{me:backtracking88, XX author = "D.M. Nicol", XX title = "Expected Performance of $m$-solution Backtracking", XX journal="SIAM Journal on Computing", XX volume=17, XX number=1, XX month="February", XX year = 1988, XX pages="124-132" XX } XX XX @techreport{me:parallel_mapping, XX author = "D.M. Nicol", XX title = "Parallel Algorithms for Mapping Parallel and Pipelined Computations", XX year=1988, XX month="January", XX institution="ICASE", XX number="88-2", XX note="Submitted to {\em IEEE Trans. on Computers}." XX } XX XX @techreport{me:MLAA, XX author = "D.M. Nicol and D. Shier and R. Kincaid and D. Richards", XX title = "A Multistage Linear Array Assignment Problem", XX year = 1988, XX month = "October", XX institution = "ICASE", XX number = "88-57", XX note = "Submitted to {\em Operations Research}" XX } XX XX @conference{droh:CD, XX author = "D.R. O'Hallaron", XX title = "Computing the Cholesky Decomposition on the Warp XX Computer", XX booktitle = "Proceedings of the 3rd Int'l Conference on XX Supercomputing", XX year = 1988, XX pages = "396-401" XX } XX XX @article{me:random_programs, XX author = "D.M. Nicol", XX title = "Optimal Partitioning of Random Programs Across Two Processors", XX year=1989, XX journal = "IEEE Trans. on Software Engineering", XX month="February", XX note = "To appear." XX } XX XX XX @conference{me:queues, XX author="D.M. Nicol", XX title="Parallel Discrete-Event Simulation of FCFS XX Stochastic Queueing Networks", XX year=1988, XX month = "July", XX booktitle = "Proceedings of the 1988 SIGPLAN PPEALS Conference", XX pages = "124-137" XX } XX XX @conference{me:scs85, XX author="D.M. Nicol and Reynolds, Jr., P.F.", XX title="A Statistical Approach to Dynamic Partitioning", XX booktitle="Distributed Simulation 85", XX publisher="SCS Simulation Series", XX year=1985, XX volume=15, XX number=2, XX pages="53-56" XX } XX XX @phdthesis{me:phd, XX author = "D.M. Nicol", XX title = "The Automated Partitioning of Simulations for Parallel Execution", XX school = "University of Virginia", XX year=1985, XX month="August" XX } XX XX @techreport{baden, XX author = "S. Baden", XX title = "Dynamic load balancing of a vortex calculation running on XX multiprocessors", XX year=1986, XX institution="University of California at Berkley, Dept. of Computer Science" XX } XX XX @article{gusfield, XX author="D. Gusfield", XX title = "Parametric Combinatorial Computing and a problem of program XX module distribution", XX journal = "Journal of the ACM", XX volume = 30, XX number = 3, XX month = "July", XX year = 1983, XX pages = "551-563" XX } XX XX @article{Chow79, XX author="Y. Chow and W. Kowhler", XX title = "Models for Dynamic Load Balancing in a Heterogeneous Multiple XX Processor System", XX journal = "IEEE Trans. on Computers", XX volume = "C-28", XX number = 5, XX month = "May", XX year = 1979, XX pages = "354-361" XX } XX XX @article{Chou82, XX author = "T.C. Chou and J.A. Abraham", XX title = "Load Balancing in Distributed Systems", XX journal = "IEEE Trans. on Software Engineering", XX volume = "SE-12", XX number = 5, XX month = "July", XX year = 1982 XX } XX XX @article{thom86, XX author = "A. Thomasian and P.F. Bay", XX title = "Analytic Queueing Network Models for Parallel XX Processing of Task Systems", XX journal = "IEEE Trans. on Computers", XX volume = "C-35", XX number = 12, XX month = "December", XX year = 1986, XX pages = "1045-1054" XX } XX XX @article{mcdo86, XX author = "C.E. McDowell and W.F. Appelbe", XX title = "Processor Scheduling for Linearly Connected Parallel Processors", XX journal = "IEEE Trans. on Computers", XX volume = "C-35", XX number = 7, XX month = "July", XX year = 1986 XX } XX XX @article{dutt82, XX author = "A. Dutta and G. Kowhler and A. Whinston", XX title = "On Optimal Allocation in a distributed processing environment", XX journal = "Management Science", XX volume = 28, XX number = 8, XX month = "August", XX year = 1982, XX pages = "839-853" XX } XX XX @book{gehr87, XX author = "E.F. Gehringer and D.P. Siewiorek and Z. Segall", XX title = "Parallel Processing: The {Cm*} Experience", XX publisher = "Digital Press", XX year = 1987, XX address = "Beford, Mass." XX } XX XX @conference{EAGE88, XX author = "D.L. Eager and E.D. Lazowska and J. Zahorjan", XX title = "The Limited Performance Benefits of Migrating Active PRocesses for XX Load Sharing", XX booktitle = "Proceedings of the 1988 SIGMETRICS Conference", XX year = 1988, XX month = "May", XX pages = "63-72" XX } XX XX @article{stan_dec_85, XX author = "J.A. Stankovic and K. Ramamritham and S. Cheng", XX title = "Evaluation of a flexible task scheduling XX algorithm for distributed hard real-time systems", XX journal = "IEEE Trans. on Computers", XX volume = "C-34", XX number = 12, XX month = "December", XX year = 1985, XX pages = "1130-1143" XX } XX XX XX @book{fox88, XX author = "G. Fox and M. Johnson and G. Lyzenga and S. Otto and XX J. Salmon and D. Walker", XX title = "Solving Problems on Concurrent Computers", XX publisher = "Prentice-Hall", XX address = "Englewood Cliffs, New Jersey", XX year = 1988 XX } XX XX @techreport{Baden87, XX author = "S. B. Baden", XX title = "Run-Time Partitioning of Scientific Continuum XX Calculations Running on Multiprocessors", XX institution = "Lawerence Berkley Laboratory", XX number = "LBL-23635", XX month = "June", XX year = 1987 XX } XX XX @conference{Cybenko87, XX author = "G. Cybenko and T.G. Allen", XX title = "Parallel Algorithms for Classification and Clustering", XX booktitle = "Proceedings of the 31st Annual Int'l Tech. Symposium XX on Optical and Optoelectronic Applied Science and XX Engineering", XX month = "August", XX year = "1987", XX address = "San Diego, CA" XX } XX XX XX XX @Article(STAN85, XX Key ="J. A. Stankovic", XX AUTHOR ="J. A. Stankovic", XX TITLE ="An Application of Bayesian Decision Theory to Decentralized XX Control of Job Scheduling", XX JOURNAL ="IEEE Trans. on Computers", XX VOLUME ="C-34", XX NUMBER ="2", XX PAGES ="117-130", XX YEAR ="1985", XX MONTH ="February" XX ) XX XX @Article(TOWS80, XX Key ="D. Towsley", XX AUTHOR ="D. Towsley", XX TITLE ="Queueing Network Models with State-Department Routing", XX JOURNAL ="Journal of the ACM", XX VOLUME ="27", XX NUMBER ="2", XX PAGES ="323-327", XX YEAR ="1980", XX MONTH ="April" XX ) XX XX @Article(TANT85, XX Key ="A. N. Tantawi", XX AUTHOR ="A. N. Tantawi and D. Towsley", XX TITLE ="Optimal Static Load Balancing", XX JOURNAL ="Journal of the ACM", XX VOLUME ="32", XX NUMBER ="2", XX PAGES ="445-465", XX YEAR ="1985", XX MONTH ="April" XX ) XX XX XX XX @Techreport(GROPMAR86, XX KEY ="W. Gropp", XX AUTHOR ="W. Gropp", XX TITLE ="Dynamic Grid Manipulation for PDEs on Hypercube Parallel XX Processors", XX INSTITUTION ="Yale University", XX YEAR ="1986", XX MONTH ="March", XX TYPE ="Department of Computer Science", XX NUMBER ="YALEU/DCS/TR-458" XX ) XX XX @Inproceedings(nicol:scs88, XX KEY ="D. M. Nicol", XX AUTHOR ="D. M. Nicol", XX TITLE ="Mapping a battlefield simulation onto parallel message-passing architectures", XX BOOKTITLE =" Proceedings of the 1988 SCS Conference on Distributed XX Simulation", XX pages = "141-146", XX YEAR ="1988" XX ) XX XX @Inproceedings(saltsiam87, XX KEY ="J. H. Saltz", XX AUTHOR ="J. Saltz and R. Mirchandaney and R. Smith and XX K. Crowley and D. Nicol", XX TITLE ="The PARTY Parallel Runtime System", XX BOOKTITLE =" Parallel Processing for Scientific Computation, XX Ed. Gary Rodrigue; Proceedings of the Third SIAM XX Conference on Parallel Processing for Scientific XX Computing, Los Angeles, California, December 1-4, XX 1987", XX pages = "335-345", XX YEAR ="1989" XX ) XX XX @Inproceedings(lusk87, XX KEY ="E. L. Lusk", XX AUTHOR ="Ewing L. Lusk and Ross A. Overbeek", XX TITLE ="A Minimalist Approach to Portable, Parallel Programming", XX BOOKTITLE =" The Characteristics of Parallel Algorithms, Leah Jamieson, Dennis Gannon, and Robert Douglass, Editors", XX pages = "351-362", XX Publisher = "MIT Press", XX Address = "Cambridge Mass", XX Year = "1987" XX ) XX @Inproceedings(Iqba86, XX KEY ="M. A. Iqbal", XX AUTHOR ="M. A. Iqbal and J. H. Saltz and S. H. Bokhari", XX TITLE ="Performance Tradeoffs in Static and Dynamic Load XX Balancing Strategies", XX BOOKTITLE ="Proceedings of the 1986 International Conference on Parallel XX Processing", XX pages = "1040-1045", XX YEAR ="1986" XX ) XX XX @Article(CHU80, XX Key ="W. W. Chu", XX AUTHOR ="W. W. Chu and L. J. Holloway and M. Lam, K. Efe", XX TITLE ="Task Allocation in Distributed data Processing", XX JOURNAL ="Computer", XX VOLUME ="13", XX NUMBER ="11", XX PAGES ="57-69", XX YEAR ="1980", XX MONTH ="November" XX ) XX XX @Inproceedings(allen87, XX KEY ="J.R. Allen", XX AUTHOR ="J. R. Allen and D. Callahan and K. Kennedy", XX TITLE ="Automatic Decomposition of scientific programs XXfor parallel execution", XX BOOKTITLE ="Conf. Record, 14th POPL", XX MONTH ="January", XX YEAR ="1987" XX ) XX@Inproceedings(gann88, XX key="Gallivan", XX author="K. Gallivan and W. Jalby and D. Gannon", XX title="On the Problem of Optimizing Data Transfers for Complex XXMemory Systems", XX booktitle="Proceedings of the 1988 ACM International Conference on XXSupercomputing , St. Malo France" , XX month="July", XX pages="238,253", XX year="1988" XX ) XX XX@Inproceedings(baxt88, XX key="D. Baxter", XX author="D. Baxter and J. Saltz and M. Schultz and S. Eisentstat and XXK. Crowley", XX title=" An Experimental Study of Methods for Parallel Preconditioned XXKrylov Methods", XX booktitle="Proceedings of the 1988 Hypercube Multiprocessor XXConference, Pasadena CA", XX month="January", XX pages = "1698,1711", XX year="1988" XX ) XX XX@Article(bade91, XXKey ="S. Baden", XXAUTHOR ="S. Baden", XXTITLE ="Programming Abstractions for Dynamically Partitioning and XXCoordinating Localized Scientific Calculations Running on Multiprocessors", XXJOURNAL ="To appear, SIAM J. Sci. and Stat. Computation.", XXYEAR ="1991", XX) XX XX@Article(salt90sissc, XXKey ="J. Saltz", XXAUTHOR ="J. Saltz", XXTITLE ="Aggregation Methods for Solving Sparse Triangular Systems XXon Multiprocessors", XXJOURNAL ="SIAM J. Sci. and Stat. Computation.", XXVOLUME ="11", XXNUMBER = "1", XXYEAR ="1990", XXPAGES = "123-144" XX) XX@Techreport(anderson, XXKEY ="E. Anderson and Y. Saad", XXAUTHOR ="E. Anderson", XXTITLE ="Solving Sparse Triangular Linear Systems on Parallel Computers", XXINSTITUTION ="UIUC", XXYEAR ="1988", XXMONTH ="June", XXNUMBER ="794", XXTYPE ="Report" XX) XX@Techreport(salt88icase, XXKEY ="Saltz", XXAUTHOR ="J. Saltz and R. Mirchandaney and D. Baxter", XXTITLE ="Run-time Parallelization and Scheduling of Loops", XXINSTITUTION ="ICASE", XXYEAR ="1988", XXMONTH ="December", XXNUMBER ="88-70", XXTYPE ="Report" XX) XX@article ( karp67, XXkey = "Karp" , XXauthor = "R. M. Karp and R. E. Miller and S. Winograd", XXtitle = "The Organization of Computations for Uniform Recurrence Equations", XXjournal = "JACM", XXmonth = "July", XXpage = "563-590", XXyear = "1967" ) XX XX@article (nicolijpp89 , XXkey = "ijpp89" , XXauthor = "D. M. Nicol and J. H. Saltz", XXtitle = "Delay Point Schedules for Irregular Parallel Computations", XXjournal = "International Journal of Parallel Programming", XXmonth = "Feb", XXvolume = "18", XXnumber = "1", XXpage = "69-90", XXyear = "1989" ) XX XX@article ( lamport74, XXkey = "Lamport" , XXauthor = "L. Lamport", XXtitle = "The Parallel Execution of Do Loops", XXjournal = "CACM", XXvolume = "17", XXpage = "83-93", XXyear = "1974" ) XX XX@article ( kung77, XXkey = "kung" , XXauthor = "L. Hyafil and H.T. Kung", XXtitle = "The Complexity of Parallel Evaluation of Linear Recurrences", XXjournal = "JACM", XXvolume = "24", XXpage = "513-521", XXyear = "1977" ) XX XX@Inproceedings(kung84alg, XXKEY ="kung", XXAUTHOR ="H. T. Kung", XXBOOKTITLE ="Systolic Algorithms", XXEDITOR = "Parter", XXpage = "127-140", XXYEAR ="1984" ) XX XX XX@Techreport(crow89, XXKEY ="K. Crowley", XXAUTHOR ="K. Crowley and J. Saltz and R. Mirchandaney and H. Berryman", XXTITLE ="Run-time Scheduling and Execution of Loops on Message Passing Machines, submitted to Software Practice and Experience", XXINSTITUTION ="ICASE", XXYEAR ="1989", XXMONTH ="January", XXNUMBER ="89-7", XXTYPE ="Report" XX) XX@Techreport(icase90-41, XXKEY ="H. Berryman", XXAUTHOR ="H. Berryman and J. Saltz and J. Scroggs", XXTITLE ="Execution Time Support for Adaptive Scientific XXAlgorithms on Distributed Memory Machines, to appear in XXConcurrency: Practice and Experience 1991", XXINSTITUTION ="ICASE", XXYEAR ="1990", XXMONTH ="May", XXNUMBER ="90-41", XXTYPE ="Report" XX) XX XX @conference{crow89hyper, XX KEY ="K. Crowley", XX author="Kay Crowley and J. Saltz and R. Mirchandaney and H. Berryman", XX title= "Runtime Loop Parallelization for Message Passing Machines", XX year=1989, XX month="March", XX booktitle=" To appear: The Proceedings of the 1989 Hypercube Microprocessors XXConf., Monterey, CA" XX } XX XX XX @conference{spaa89, XX KEY ="spaa89", XX author=" J. Saltz and R. Mirchandaney and D. Baxter", XX title= "Runtime Parallelization and Scheduling of Loops", XX year=1989, XX month="June", XX booktitle=" The Proceedings of the 1st ACM Symposium on Parallel XXAlgorithms and Architectures, Santa Fe, NM", XX PAGES = "303-312" XX } XX@Techreport(chan88, XXKEY ="T. Chan", XXAUTHOR ="T. F. Chan and C. C. Kuo and C. Tong", XXTITLE ="Parallel Elliptic Preconditioners: Fourier Analysis XXand Performance on the Connection Machine", XXINSTITUTION ="UCLA", XXYEAR ="1988", XXMONTH ="August", XXNUMBER ="CAM 88-22", XXTYPE ="Report" XX) XX@Techreport(ellcom, XXKEY ="H. Elman", XXAUTHOR ="H. Elman", XXTITLE ="Personal Communication" XX) XX@Techreport(ratner, XXKEY ="Justin Ratner", XXAUTHOR ="Justin Ratner", XXTITLE ="Personal Communication" XX) XX XX XX@Techreport(ashcraft, XXKEY ="ashcraft", XXAUTHOR ="C. Ashcraft and Roger G. Grimes", XXTITLE ="On Vectorizing Incomplete Factorization and SSOR Preconditioners", XXINSTITUTION="Boeing Computer Services ", XXMONTH = "December", XXYEAR ="1986", XXNUMBER ="ETA-TR-41" XX) XX XX@Inproceedings(stclarabaxt, XX key="Baxter", XX author="D. Baxter and J. Saltz and M. Schultz and S. Eisenstat", XX title="Preconditioned Krylov Solvers and Methods for Runtime XXLoop Parallelization", XX booktitle="Proceedings of the 4th International Supercomputing XXConf., St. Clara, CA", XX month="April", XX year="1989" XX ) XX@Inproceedings(bennett90, XX key="bennet90", XX author="J. K. Bennett and J. B. Carter and W. Zwaenepoel", XX title="Munin: Distributed Shared Memory Based on Type-Specific Memory Coherence", XX booktitle="Proceedings 2nd ACM SIGPLAN Symposium on Principles XX and Practice of Parallel Programming", XX pages = "168-175", XX year="1990" XX ) XX@Inproceedings(das88, XX key="das88", XX author="P. Dasgupta, R. Leblanc, W. Appelbe", XX title="The {C}louds Distributed Operating System: Functional XX Description, Implementation Details and Related Work", XX booktitle="IEEE International Conference on Distributed Computing Systems", XX year="1988" XX ) XX XX@article ( berryjpdc, XXkey = "berry" , XXauthor = "H. Berryman and J. Saltz and W. Gropp", XXtitle = "Krylov Methods with Incomplete Factorization Preconditioners XXon the CM-2 ", XXjournal = "Journal of Parallel and Distributed Computing", XXmonth = "Feb", XXvolume = "8", XXpages = "186-190", XXyear = "1990" ) XX XX XX@Article(DUPONT68, XX Author = "Todd Dupont, Richard P. Kendall and H. H. Rachford Jr.", XX Title = "An approximate factorization procedure for solving XX self-adjoint elliptic difference equations", XX Journal = "SIAM Journal on Numerical Analysis", XX Volume = "5", XX Pages = "559-573", XX Year = "1968", XX Key = "Dupont-Kendall-Rachford !Approximate" XX) XX XX XX@Article(MEIJERINK77, XX Author = "J. A. Meijerink and H. A. van der Vorst", XX Title = "An iterative solution method for linear systems of which XX the coefficient matrix is a symmetric M-matrix", XX Journal= "Mathematics of Computation", XX Volume = "31", XX Pages = "148-162", XX Year = "1977", XX Key = "Meijerink-van der Vorst !Iterative") XX XX XX@Article(MEIJERINK80, XX Author = "J. A. Meijerink and H. A. van der Vorst", XX Title = "Guidelines for the usage of incomplete decompositions in XX solving sets of linear equations as occur in practical XX problems", XX Journal= "Journal of Computational Physics", XX Volume = "44", XX Year = "1981", XX Pages = "134-155", XX Key = "Meijerink-van der Vorst !Guide", XX Annote = "1980 was year of TechReport.") XX XX XX@Article(STONE68, XX Author = "Herbert L. Stone", XX Title = "Iterative solution of implicit approximations of XX multidimensional partial differential equatins", XX Journal= "SIAM Journal on Numerical Analysis", XX Volume = "5", XX Pages = "530-558", XX Year = "1968", XX Key = "Stone !Iterative") XX XX XX@TechReport(bif-manual, XX Author="C. Koelbel", XX Title="The {BIF} Data Structures User's Manual", XX Type="in preparation", XX Institution="Purdue University", XX Address="West Lafayette, IN", XX Year=1987 XX ) XX XX XX@InProceedings{siam87, XX author="P. Mehrotra", XX title="Programming Parallel Architectures: The {BLAZE} Family of Languages", XX booktitle="Proceedings of the Third SIAM Conference on Parallel Processing for Scientific Computing", XX city="Los Angeles, CA", XX pages="289-299", XX month ="December", XX year="1988" XX} XX@InProceedings{roge89, XX author="A. Rogers and K. Pingali", XX title="Process decomposition through locality of reference", XX booktitle="Conference on Programming Language Design and XX Implementation", XX publisher = "ACM SIGPLAN", XX month="June", XX year="1989" XX} XX@InProceedings{ceru91, XX author="J. Cerutti and H. Trease", XX title="Free Lagrange Methods on the Connection Machine", XX booktitle="To appear: Proceedings of the 2nd International XX Conference on Free Lagrange Methods", XX PUBLISHER ="Springer-Verlag", XX year="1991" XX} XX@InProceedings{dorb88, XX author="J. Dorband", XX title="Sort Computation", XX booktitle="Proceedings of the 2nd Symposium on the Frontiers of XX Massively Parallel Computation", XX city="Fairfax VA", XX pages="137-141", XX month ="October", XX year="1988" XX} XX XX@InProceedings{seema91, XX author="S. Hiranandani and K. Kennedy and C. Tseng", XX title="Compiler Support for Machine-Independent Parallel XXProgramming in {F}ortran {D}", XX booktitle="Compilers and Runtime Software for Scalable Multiprocessors, XXJ. Saltz and P. Mehrotra Editors", XX Publisher = "Elsevier ", XX address="Amsterdam, The Netherlands", XX year="To appear 1991" XX} XX@InProceedings{reeves91, XX author="A. P. Reeves and C. M. Chase", XX title="The {P}aragon Programming Paradigm and Distributed Memory XX Multicomputers", XX booktitle="Compilers and Runtime Software for Scalable Multiprocessors, XXJ. Saltz and P. Mehrotra Editors", XX Publisher = "Elsevier ", XX address="Amsterdam, The Netherlands", XX year="To appear 1991" XX} XX XX @InProceedings{siamberry90, XX author="H. Berryman and J. Saltz and J. Scroggs", XX title="Execution Time Support for Scientific Programs XX on Distributed Memory Machines", XX booktitle="Proceedings of the Fourth SIAM Conference on Parallel Processing for Scientific Computing", XX city="Chicago , IL", XX month ="December", XX year="1989" XX } XX XX @InProceedings{serge90, XX author="S. Petiton", XX title="Parallel QR algorithms for iterative subspace methods on XXthe Connection Machine", XX booktitle="Proceedings of the Fourth SIAM Conference on Parallel Processing for Scientific Computing", XX city="Chicago , IL", XX month ="December", XX year="1989" XX } XX XX@InProceedings{hep, XX author="M. C. Gilliland and Burton J. Smith", XX title="HEP: a semaphore-synchronized multiprocessor with XX central control", XX booktitle="Proc. 1976 Summer Computer Simulation Conf.", XX city="Washington D.C", XX pages="57-62", XX month ="July", XX year="1976" XX } XX@InProceedings(iwarp88, XXKey ="iwarp88", XXAUTHOR ="S. Borkar and R. Cohn and G. Cox and et. al.", XXTITLE ="iWARP: An Integrated Solution to High-Speed XXParallel Computing", XX booktitle="Proc. of the Supercomputing Conference", XX city="Orlando, FL.", XX month ="November", XX year="1988", XX pages="330-339" XX) XX@InProceedings{jordanhep, XX author="Harry F. Jordan", XX title="Performance Measurements on HEP, A Pipelined MIMD XX Computer", XX booktitle="Proceedings of the 10th Annual International Symposium XX on Computer Architecture, SIGARCH Newsletter", XX pages="207-212", XX volume = "11", XX number = "3", XX year="1983" XX } XX XX@InProceedings{hcca4, XX author="P. Mehrotra and J. {Van Rosendale}", XX title="Compiling High Level Constructs to Distributed Memory Architectures", XX booktitle="To appear in: Proceedings of the Fourth Conference on Hypercube Concurrent Computers and Applications", XX month ="March", XX year="1989" XX } XX XX@InProceedings{rosi89, XX author="M. Rosing and R.W. Schnabel and R.P. Weaver", XX title="Expressing complex parallel algorithms in {D}INO", XX booktitle="Proceedings of the 4th Conference on Hypercubes, Conurrent Computers and Applications", XX pages="553-560", XX year="1989" XX } XX XX@InProceedings{piyush90insp, XX author="Koelbel C. and Mehrotra P. and Van Rosendale J.", XX title="Supporting shared data structures in distributed memory XX architectures", XX booktitle="To appear in PPoPP", XX month ="March", XX year="1990" XX } XX XX@InProceedings{sc89, XX author="P. Mehrotra and J. {Van Rosendale}", XX title="Parallel Language Constructs for Tensor Product Computations on Loosely Coupled Architectures", XX booktitle="Proceedings Supercomputing '89", XX month ="November", XX year="1989", XX pages="616-626" XX } XX XX@Article{blaze-def, XX author = "P. Mehrotra and J. V. Rosendale", XX title = "The {BLAZE} Language: A Parallel Language for XX Scientific Programming", XX journal = "Parallel Computing", XX year = "1987", XX volume = "5", XX pages = "339--361" XX} XX@Article{tam90, XX author = "M. Tam and J. M. Smith and D. J. Farber", XX title = "A Taxonomy-Based Comparison of Several Distributed XX Shared Memory Systems", XX journal = "Operating Systems Review", XX month = "July", XX year = "1990", XX volume = "24", XX number = "3", XX pages = "40-67" XX} XX XX XX@InProceedings{blaze-ics89, XX author = "C. Koelbel and P. Mehrotra", XX title = "Compiler Transformations for Non-shared Memory Machines", XX booktitle = "Proceedings of the 4th International Conference on XX Supercomputing", XX year = "1989", XX volume = "1", XX pages = "390-397", XX month = may XX} XX XX@Article{Kennedy88, XX author = "D. Callahan and K. Kennedy", XX title = "Compiling Programs for Distributed-Memory Multiprocessors", XX journal = "Journal of Supercomputing", XX year = "1988", XX volume = "2", XX pages = "151-169" XX} XX XX@InProceedings{Rogers89, XX author = "A. Rogers and K. Pingali", XX title = "Process Decomposition Through Locality of Reference", XX booktitle = "Conference on Programming Language XX Design and Implementation", XX year = "1989", XX pages = "69-80", XX organization = "ACM SIGPLAN", XX month = jun XX} XX XX@TechReport{Saltz89, XX author = "K. Crowley and J. Saltz and R. Mirchandaney and H. Berryman", XX title = "Run-time Scheduling and Execution of Loops on Message XX Passing Machines", XX institution = "Institute for Computer Applications in Science and XXEngineering", XX year = "1989", XX type = "ICASE Report", XX number = "89-7", XX address = "Hampton, VA", XX month = jan XX} XX XX@TechReport{reeves89, XX author = "A. Cheung and A. P. Reeves", XX title = "The Paragon Multicomputer Environment: A First XX Implementation", XX institution = "Cornell University Computer Engineering Group", XX year = "1989", XX number = "EE-CEG-89-9", XX address = "Cornell University School of Electrical Engineering", XX month = "july" XX} XX XX XX@InProceedings{Pandore, XX author = "F. Andr\'e and J.-L. Pazat and H. Thomas", XX title = "{PANDORE}: A System to Manage Data Distribution", XX booktitle = "International Conference on Supercomputing", XX year = "1990", XX pages = "380-388", XX month = jun XX} XX XX@PhdThesis{Tseng89, XX author = "P. S. Tseng", XX title = "A Parallelizing Compiler for Distributed Memory XX Parallel Computers", XX school = "Carnegie Mellon University", XX year = "1989", XX address = "Pittsburgh, PA", XX month = "May" XX} XX XX XX XX XX XX@Techreport(holl-88, XXKEY ="Mark Holliday", XXAUTHOR ="Mark Holliday", XXTITLE ="Page Table Management in Local/Remote Architectures", XXINSTITUTION ="Duke", XXYEAR ="1988", XXNUMBER ="CS-1988-2", XXTYPE ="Report" XX) XX@Inproceedings(li86, XX key="Li", XX author="Kai Li and Paul Hudak", XX title="Memory Coherence in Shared Virtual Memory Systems", XX booktitle="Proceedings of the Fifth Annual ACM Symposium on XXDistributed Computing, Calgary Alberta Canada", XX month="August", XX year="1986" XX ) XX XX@Inproceedings(li88, XX key="Li", XX author="Kai Li", XX title="A Shared Virtual Memory System for Parallel Computing", XX booktitle="Proceedings of the 1988 International Conference on Parallel Processing, Penn State, XXUniversity Park, Penn", XX month="August", XX year="1988" XX ) XX@Inproceedings(li89, XX key="Li", XX author="Kai Li", XX title="A Hypercube Shared Virtual Memory System", XX booktitle="Proceedings of the 1988 International Conference on Parallel Processing, Penn State, XXUniversity Park, Penn", XX volume = "1", XX month="August", XX pages = "125-132", XX year="1989" XX ) XX XX XX@Techreport(holl-88, XXKEY ="Mark Holliday", XXAUTHOR ="Mark Holliday", XXTITLE ="Page Table Management in Local/Remote Architectures", XXINSTITUTION ="Duke", XXYEAR ="1988", XXNUMBER ="CS-1988-2", XXTYPE ="Report" XX) XX XX@Article(patel, XX author = "Janak H. Patel", XX title = "Analysis of Multiprocessors with Private Cache Memories", XX journal = "IEEE Transactions on Computers", XX year = "1982", XX volume = "31-4", XX pages = "296-304" XX) XX XX@InProceedings{KMSB-DMCC5, XX author = "C. Koelbel and P. Mehrotra and J. Saltz and H. Berryman", XX title = "Parallel Loops on Distributed Machines", XX booktitle = "Proceedings of the 5th Distributed XX Memory Computing Conference", XX year = "1990", XX pages = "1097-1104", XX address = "Charlseton, SC", XX month = "April 8-12" XX} XX XX@Techreport(KM-TPDS91, XXKEY ="koelbel", XXAUTHOR ="C. Koelbel and P. Mehrotra", XXTITLE ="Compiling Global Name-Space Loops for Distributed XXExecution (to appear: {I}{E}{E}{E} {T}rans. on {P}arallel and {D}istributed {S}ystems, XXJuly 1991)", XXINSTITUTION ="ICASE ", XXTYPE ="Report", XXYEAR ="1990", XXNUMBER ="90-70" XX) XX XX XX@Article(salt-jpdc90, XXKey ="J. Saltz", XXAUTHOR ="J. Saltz and K. Crowley and R. Mirchandaney and XXHarry Berryman", XXTITLE ="Run-time Scheduling and Execution of XXLoops on Message Passing Machines", XXJOURNAL ="Journal of Parallel and Distributed Computing", XXVOLUME ="8", XXPAGES ="303-312", XXYEAR ="1990" XX) XX XX XX@InProceedings{km-ppopp90, XX author = "C. Koelbel and P. Mehrotra and J. Van Rosendale", XX title = "Supporting Shared Data Structures on Distributed XX Memory Architectures", XX booktitle= "2nd {A}{C}{M} XX {S}{I}{G}{P}{L}{A}{N} {S}ymposium on {P}rinciples XX {P}ractice of {P}arallel {P}rogramming", XX organization = "ACM SIGPLAN", XX pages = "177-186", XX month = mar, XXYEAR = "1990" XX} XX@Article{superb, XX author = "H. Zima and H. Bast and M. Gerndt", XX title = "Superb: A tool for semi-automatic {M}{I}{M}{D}/{S}{I}{M}{D} XX parallelization", XX journal = "Parallel Computing", XX year = "1988", XX volume = "6", XX pages = "1-18" XX} XX XEND_OF_FILE Xif test 92686 -ne `wc -c <'paper11.bib'`; then X echo shar: \"'paper11.bib'\" unpacked with wrong size! Xfi X# end of 'paper11.bib' Xfi Xif test -f 'paper12.bib' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'paper12.bib'\" Xelse Xecho shar: Extracting \"'paper12.bib'\" \(23872 characters\) Xsed "s/^X//" >'paper12.bib' <<'END_OF_FILE' XX XX XX@Comment(BIBTEMPLATE .) XX@Comment(BIBREFERENCES stdalphabetic) XX@Comment{BIBSEPARATORS ",;&"} XX XX XX@book ( ABRAM, XXauthor = "N. Abramson" , XXkey = "Abramson" , XXtitle = "Information Theory and Coding" , XXpublisher= "Mcgraw-Hill" , XXyear = "1963" ) XX XX@article ( Agra1, XXkey = "Agra1" , XXauthor = "A. K. Agrawala and S. K. Tripathi and G. Ricart" , XXtitle = "Adaptive Routing Using a Virtual Waiting Time Technique" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-8" , XXpages = "76-81" , XXyear = "1982" ) XX XX@article ( Ayac1, XXkey = "Ayac1" , XXauthor = "J. M. Ayache and J. P. Courtiat and M. Diaz" , XXtitle = "REBUS, a Fault-Tolerant Distributed System for Industrial XXReal-Time Control" , XXjournal = "IEEE Trans. Computers" , XXvolume = "C-31" , XXpages = "637-647" , XXyear = "1982" ) XX XX@phdthesis ( Baden1, XXkey = "Baden" , XXauthor = "S. B. Baden", XXtitle = "Run-Time Partitioning of Scientific Continuum Calculations XX Running on Mutiprocessors", XXschool = "Mathematics Dept., University of California, Berkeley", XXmonth = "June", XXyear = "1987" ) XX XX XX@article ( Bann1, XXkey = "Bann1" , XXauthor = "J. A. Bannister and K. S. Trivedi" , XXtitle = "Task Allocation in Fault-Tolerant Distributed Systems" , XXjournal = "Acta Informatica" , XXvolume = "20" , XXpages = "261-281" , XXyear = "1983" ) XX XX@article ( Barak, XXkey = "Barak" , XXauthor = "A. Barak and A. Shiloh" , XXtitle = "A Distributed Load-Balancing Policy for a Multicomputer" , XXjournal = "Software-Practice and Experience" , XXvolume = "15" , XXpages = "901-913" , XXyear = "1985" ) XX XX@book ( Box1, XXkey = "Box" , XXauthor = "G. Box and G. M. Jenkins" , XXtitle = "TIME SERIES ANALYSIS forecasting and control" , XXpublisher= "Holden-Day" , XXseries = "Holden-Day series in Time Series Analysis and XXDigital Processing" , XXyear = "1976" ) XX XX@book ( Bozi, XXkey = "Bozi" , XXauthor = "S. M. Bozic" , XXtitle = "Digital and Kalman Filtering" , XXpublisher= "Edward Arnold" , XXyear = "1979" ) XX XX@article ( Ezzat, XXkey = "Ezzat" , XXauthor = "R. Agrawal and A. Ezzat", XXtitle = "Processor Sharing in NEST: A Network of Computer Workstations", XXjournal = "Proc. 1st Int'l Conf. on Computer Workstations", XXmonth = "Nov." , XXyear = "1985" ) XX XX XX@book ( ALLEN, XXauthor = "A. O. Allen" , XXkey = "Allen" , XXtitle = "Probability, Statistics and Queueing Theory" , XXpublisher= "Academic Press" , XXyear = "1978" ) XX XX XX@article ( Bann, XXkey = "Bann" , XXauthor = "J. A. Bannister and K. S. Trivedi" , XXtitle = "Task Allocation in Fault-Tolerant Distributed Systems" , XXjournal = "Acta Informatica" , XXvolume = "20" , XXpages = "261-281", XXyear = "1983" ) XX XX@article ( BOKH1, XXkey = "Bokh" , XXauthor = "S. H. Bokhari" , XXtitle = "Dual Processor Scheduling With Dynamic XXReassignment" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-5" , XXnumber = "4" , XXmonth = "July" , XXyear = "1979" ) XX XX XX@book ( BROWN, XXauthor = "R. G. Brown" , XXkey = "Brown" , XXtitle = "Smoothing, Forecasting and Prediction of Discrete XXTime Series" , XXpublisher= "Prentice-Hall International" , XXyear = "1963" ) XX XX XX@inbook ( Buze, XXkey = "Buze" , XXtitle = "Information Processing 74" , XXauthor = "J. P. Buzen and P. S. Chen" , XXchapter = "Optimal Load Balancing in Memory Hierarchies" , XXpages = "271-275" , XXpublisher = "North-Holland, New York" , XXyear = "1974" ) XX XX@article ( Butte1, XXkey = "Butt1" , XXauthor = "D. Butterfield and G. Popek" , XXtitle = "Network Tasking in the LOCUS Distributed UNIX System" , XXjournal = "Proc. Summer USENIX Conf." , XXmonth = "June" , XXyear = "1984" , XXpages = "62-71" ) XX XX@article ( CHENG, XXkey = "Stankovic" , XXauthor = "J. A. Stankovic and K. Ramamritham and S. Cheng" , XXtitle = "Evaluation of a Flexible Task Scheduling Algorithm XXfor Distributed Hard Real-Time Systems" , XXjournal = "IEEE Trans. Computers" , XXmonth = "Dec" , XXyear = "1985" , XXvolume = "c-34" , XXnumber = "12" ) XX XX@phdthesis ( Cheng2, XXkey = "Cheng2" , XXauthor = "S. Cheng", XXtitle = "Dynamic Task Scheduling in a Hard Real-Time Environment" , XXschool = "ECE Dept., University of Massachusetts", XXmonth = "April", XXyear = "1987" ) XX XX XX@book ( CHRIS1, XXauthor = "R. Christensen" , XXkey = "Chris" , XXtitle = "General Description" , XXseries = "Entropy Minimax Sourcebook" , XXvolume = "I" , XXpublisher= "Entropy Limited" , XXyear = "1981" ) XX XX@article ( CHRIS2, XXkey = "Chris" , XXauthor = "R. Christensen" , XXtitle = "Entropy Minimax Multivariate Statistical XXModeling-I: Theory" , XXjournal = "Int. J. General Systems" , XXvolume = "11" , XXyear = "1985" , XXpages = "231-277" ) XX XX XX@article ( Chow1, XXkey = "Chow1" , XXauthor = "Y. C. Chow and W. H. Kohler" , XXtitle = "Models for Dynamic Load Balancing in a Heterogeneous Multiple XXProcessor System" , XXjournal = "IEEE Trans. Computers" , XXvolume = "C-28" , XXmonth = "May" , XXpages = "354-361", XXyear = "1979" ) XX XX@inbook ( Chow2, XXkey = "Chow2" , XXauthor = "Y. C. Chow and W. H. Kohler" , XXtitle = "Computer Performance" , XXchapter = "Dynamic Load Balancing in Homogeneous Two-Processor XXSystems" , XXeditor = "K. M. Chandy and M. Reiser" , XXpublisher = "North-Holland" , XXyear = "1977" ) XX XX@article ( Chu1, XXkey = "Chu1" , XXauthor = "W. W. Chu and L. H. Holloway and M. Lan and K. Efe" , XXtitle = "Task Allocation in Distributed Data Processing" , XXjournal = "Computer" , XXvolume = "13" , XXmonth = "Nov" , XXpages = "57-69", XXyear = "1980" ) XX XX@article ( Dutt, XXkey = "Dutt" , XXauthor = "A. Dutta and G. Koehler and A. Whinston" , XXtitle = "On Optimal Allocation in a Distributed Processing XXEnvironment" , XXjournal = "Management Science" , XXvolume = "28" , XXpages = "839-853", XXyear = "1982" ) XX XX@article ( Efe1, XXkey = "Efe1" , XXauthor = "K. Efe" , XXtitle = "Heuristic Models of Task Assignment Scheduling in Distributed XXSystems" , XXjournal = "Computer" , XXvolume = "15" , XXmonth = "June" , XXpages = "50-56", XXyear = "1982" ) XX XX@book ( Fish, XXkey = "Fish" , XXauthor = "G. Fishman" , XXtitle = "Principles of Discrete Event Simulation" , XXpublisher= "John Wiley and Sons" , XXseries = "Wiley-Interscience" , XXyear = "1978" ) XX XX@book ( COFF, XXauthor = "E. G. Coffman" , XXkey = "Coff" , XXtitle = "Computer and Job-Shop Scheduling Theory" , XXpublisher= "John Wiley and Sons" , XXyear = "1976" ) XX XX XX@article ( EAGER1, XXkey = "Eager" , XXauthor = " D. L. Eager and E. D. Lazowska and J. Zahorjan" , XXtitle = "Adaptive Load Sharing in Homogeneous Distributed XXSystems" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-12" , XXnumber = "5" , XXmonth = "May" , XXyear = "1986" , XXpages = "662-675" ) XX XX@article ( EAGER2, XXkey = "Eager2" , XXauthor = " D. L. Eager and E. D. Lazowska and J. Zahorjan" , XXtitle = "A Comparison of Receiver-Initiated and Sender-Initiated XXAdaptive Load Sharing" , XXjournal = "Performance Evaluation" , XXvolume = "6" , XXmonth = "March" , XXyear = "1986" , XXpages = "53-68" ) XX XX XX@article ( EVANS, XXkey = "Evans" , XXauthor = "R. Evans" , XXtitle = "Geometric Distribution in some Two-Dimensional XXQueuing Systems" , XXjournal = "Operations Research" , XXvolume = "15" , XXyear = "1967" , XXpages = "830-46" ) XX XX XX@article ( FINK, XXkey = "Bryant" , XXauthor = "R. Bryant and R. A. Finkel" , XXtitle = "A Stable distributed scheduling algorithm" , XXjournal = "Proc 2nd Intl. Conf. Dist. Comp. Syst." , XXmonth = "April" , XXyear = "1981" ) XX XX XX@book ( Gall1, XXkey = "Gall1" , XXauthor = "R. G. Gallager" , XXtitle = "Information Theory and Reliable Communication" , XXpublisher= "John Wiley and Sons, Inc." , XXyear = "1968" ) XX XX@article ( Gall2, XXkey = "Gall2" , XXauthor = "R. G. Gallager" , XXtitle = "A Minimum Delay Routing Algorithm Using Distributed XXComputation" , XXjournal = "IEEE Trans. Comm." , XXvolume = "COM-25" , XXmonth = "Jan." , XXpages = "73-85", XXyear = "1977" ) XX XX XX@book ( GOLDMAN, XXkey = "Gold" , XXauthor = "S. Goldman" , XXtitle = "Information Theory" , XXpublisher= "Prentice-Hall, Inc" , XXaddress = "New York" , XXyear = "1953" , XXkeywords= "Info" ) XX XX@article ( Hudak86, XXkey = "Hudak86" , XXauthor = "P. Hudak", XXtitle = "Para-Functional Programming", XXjournal = "Computer", XXmonth = "Aug", XXyear = "1986" ) XX XX XX@book ( HWANG, XXauthor = "K. Hwang and F. Briggs" , XXkey = "Hwang" , XXtitle = "Computer Architecture and Parallel Processing" , XXpublisher= "Mcgraw-Hill" , XXyear = "1984" ) XX XX@article ( Indu1, XXkey = "Indu1" , XXauthor = "B. Indurkhya and H. Stone and L. Xi-Cheng" , XXtitle = "Optimal Partitioning of Randomly Generated Distributed XXPrograms" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-12" , XXpages = "483-495" , XXyear = "1986" ) XX XX XX@article ( Kasahara1, XXkey = "Kasahara1" , XXauthor = "H. Kasahara and S. Narita" , XXtitle = "Practical Multiprocessor Scheduling Algorithms for Efficient XXParallel Processing" , XXjournal = "IEEE Trans. Computers" , XXvolume = "C-33" , XXmonth = "Nov" , XXpages = "1023-1029", XXyear = "1984" ) XX XX@article ( Kirr1, XXkey = "Kirr1" , XXauthor = "H. Kirrman and F. Kaufmann" , XXtitle = "Poolpo: A Pool of Processors for Process Control XXApplications" , XXjournal = "IEEE Trans. Computers" , XXvolume = "C-33" , XXpages = "869-878" , XXmonth = "Oct." , XXyear = "1984" ) XX XX@book ( KLEIN1, XXauthor = "L. Kleinrock" , XXkey = "Klein" , XXtitle = "Theory" , XXseries = "Queueing Systems" , XXvolume = "I" , XXpublisher= "John Wiley and Sons" , XXyear = "1976" ) XX XX@book ( KLEIN2, XXauthor = "L. Kleinrock" , XXkey = "Klein" , XXtitle = "Computer Application" , XXseries = "Queueing Systems" , XXvolume = "II" , XXpublisher= "John Wiley and Sons" , XXyear = "1976" ) XX XX@article ( Klein3, XXkey = "Klein2" , XXauthor = "L. Kleinrock and A. Nilsson" , XXtitle = "On Optimal Scheduling Algorithms for Time-Shared Systems" , XXjournal = "JACM" , XXvolume = "28" , XXmonth = "July" , XXpages = "477-486", XXyear = "1981" ) XX XX@article ( Krat1, XXkey = "Krat1" , XXauthor = "A. Kratzer and D. Hammerstrom" , XXtitle = "A Study of Load Levelling" , XXjournal = "IEEE COMPCON Fall 80" , XXmonth = "Sept." , XXpages = "647-654" , XXyear = "1980" ) XX XX XX@book ( KOBA, XXauthor = "H. Kobayashi" , XXkey = "Koba" , XXtitle = "Modeling and Analysis" , XXpublisher= "Addison-Wesley" , XXyear = "1978" ) XX XX XX@article ( Kuro1, XXkey = "Kuro1" , XXauthor = "J. F. Kurose and S. Singh" , XXtitle = "A Distributed Algorithm for Optimal Static Load Balancing XXin Distributed Computer Systems" , XXjournal = "Proc. IEEE COMPCON '86" , XXyear = "1986" ) XX XX@article ( Kuro2, XXkey = "Kuro2" , XXauthor = "J. F. Kurose and S. Singh and R. Chipalkatti" , XXtitle = "A Study of Quasi-Dynamic Load Sharing in Soft Real-Time XXDistributed Computer Systems" , XXjournal = "Proc. Real-Time Syst. Symp" , XXmonth = "Dec." , XXyear = "1986" ) XX XX XX@article ( LAMPORT, XXkey = "Lamp" , XXauthor = "L. Lamport and R. Shostak and M. Pease" , XXtitle = "The Byzantine Generals Problem" , XXjournal = "ACM Trans. Prog. Lang. Systems" , XXvolume = "4" , XXmonth = "July" , XXyear = "1982" ) XX XX@article ( Lantz, XXkey = "Lantz" , XXauthor = "K. A. Lantz and W. I. Nowicki and M. M. Theimer" , XXtitle = "An Empirical Study of Distributed Application Performance" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-11" , XXmonth = "October" , XXyear = "1985" ) XX XX@article ( Latouche, XXkey = "Lat1" , XXauthor = "G. Latouche", XXtitle = "Algorithmic Analysis of a Multiprogramming-Multiprocessor XX Computer System", XXjournal = "J. ACM", XXvolume = "28" , XXmonth = "October" , XXyear = "1981" ) XX XX@phdthesis ( KJLee1, XXkey = "Lee1" , XXauthor = "K. J. Lee", XXtitle = "Load Balancing in Distributed Computer Systems", XXschool = "ECE Dept., University of Massachusetts", XXmonth = "February", XXyear = "1987" ) XX XX XX@book ( LAVEN, XXauthor = "S. Lavenberg" , XXkey = "Laven" , XXtitle = "Computer Performance Modeling Handbook" , XXpublisher= "Academic Press" , XXyear = "1983" ) XX XX XX@article ( LEIN, XXkey = "Lein" , XXauthor = "D. W. Leinbaugh" , XXtitle = "Guaranteed response times in a distributed XXhard-real-time environment" , XXjournal = "IEEE Trans. Soft. Engg." , XXmonth = "Jan." , XXyear = "1980" , XXvolume = "SE-6" ) XX XX XX@article ( LEIN2, XXkey = "Lein" , XXauthor = "D. W. Leinbaugh and M. Yamini" , XXtitle = "Guaranteed response times in a distributed XXhard-real-time environment" , XXjournal = "Proc. Real-Time Syst. Symp." , XXmonth = "Dec." , XXyear = "1982" ) XX XX XX@article ( LIU, XXkey = "Liu" , XXauthor = "C. Liu and J. Layland" , XXtitle = "Scheduling algorithms for multiprogramming in a XXhard-real-time environment" , XXjournal = "J. ACM" , XXvolume = "20" , XXnumber = "1" , XXmonth = "Jan" , XXyear = "1973" ) XX XX XX@article ( LIVNY, XXkey = "Livny" , XXauthor = "M. Livny and M. Melman" , XXtitle = "Load Balancing in Homogeneous Broadcast XXDistributed Systems" , XXjournal = "Performance Evaluation Review" , XXvolume = "11" , XXnumber = "1" , XXyear = "1982" , XXpages = "47-55" ) XX XX XX@article ( MIRCH1, XXkey = "Mirch" , XXauthor = "R. Mirchandaney and J. A. Stankovic" , XXtitle = "Using Stochastic Learning Automata for Job XXScheduling in Distributed Systems" , XXjournal = "International Journal of Parallel and Distributed Computing" , XXmonth = "Dec", XXyear = "1986" ) XX XX@book ( Need1, XXauthor = "R. Needham and A. Herbert" , XXkey = "Need1" , XXtitle = "The Cambridge Distributed Computing System" , XXpublisher= "Addison-Wesley" , XXyear = "1982" ) XX XX XX@article ( Padu80, XXkey = "Padu80" , XXauthor = "D. A. Padua and D. J. Kuck and D. H. Lawrie" , XXtitle = "High Speed Multiprocessors and Compilation Techniques" , XXjournal = "IEEE Transactions on Computers", XXmonth = "Sept", XXyear = "1980" ) XX XX XX@article ( paper1, XXkey = "paper1" , XXauthor = "R. Mirchandaney and L. Sha and J. A. Stankovic" , XXtitle = "Load Sharing in the Presence of Non-Negligible Delays", XXnote = "in preparation" , XXyear = "1987" ) XX XX@article ( paper2, XXkey = "paper2" , XXauthor = "R. Mirchandaney and D. Towsley and J. A. Stankovic" , XXtitle = "Analysis of the Effects of Delays on Load Sharing", XXjournal = "IEEE Trans. Computers" , XXnote = "To Appear", XXyear = "1987" ) XX XX@article ( paper3, XXkey = "paper3" , XXauthor = "R. Mirchandaney and D. Towsley and J. A. Stankovic" , XXtitle = "Effects of Delays on Receiver-Initiated Load Sharing XX Policies", XXjournal = "Journal of Parallel and Distributed Computing", XXnote = "submitted for review", XXyear = "1987" ) XX XX@phdthesis ( Mythesis, XXkey = "Mythesis" , XXauthor = "R. Mirchandaney", XXtitle = "Adaptive Load Sharing in the Presence of Delays", XXschool = "ECE Dept., University of Massachusetts", XXmonth = "August", XXyear = "1987" ) XX XX XX XX@article ( MOK1, XXkey = "Mok" , XXauthor = "A. Mok and M. Dertouzos" , XXtitle = "Multiprocessor Scheduling in a hard real-time XXenvironment" , XXjournal = "Proceedings Seventh Texas Conf. Comput. Systems" , XXyear = "1978" , XXmonth = "Nov" ) XX XX XX@article ( MUNTZ, XXkey = "Muntz" , XXauthor = "R. R. Muntz and E. G. Coffman" , XXtitle = "Preemtive scheduling of real-time tasks on XXmultiprocessor systems" , XXjournal = "J. ACM" , XXvolume = "17" , XXnumber = "2" , XXmonth = "Apr" , XXyear = "1970" ) XX XX XX@article ( NELSON, XXkey = "Nelson" , XXauthor = "R. Nelson and B. R. Iyer" , XXtitle = "Analysis of a Replicated Data Base" , XXjournal = "Performance Evaluation" , XXvolume = "5" , XXyear = "1985" , XXpages = "133-48" ) XX XX XX@book ( NEUTS, XXkey = "Neuts" , XXauthor = "M. F. Neuts" , XXtitle = "Matrix-Geometric solutions in Stochastic Models: XXAn Algorithmic Approach" , XXpublisher= "Johns Hopkins University Press" , XXseries = "Mathematical Sciences" , XXyear = "1981" ) XX XX@article ( Neuts2, XXkey = "Neuts2" , XXauthor = " M. F. Neuts" , XXtitle = "Markov Chains With Applications in Queueing Theory, Which Have XXa Matrix-Geometric Invariant Probability Vector" , XXjournal = "Adv. Appl. Prob." , XXvolume = "10" , XXyear = "1978" , XXpages = "185-212" ) XX XX@article ( Ni1, XXkey = "Ni1" , XXauthor = " L. M. Ni and K. Hwang" , XXtitle = "Optimal Load Balancing in a Multiple Processor System with Many XXJob Classes" , XXjournal = "IEEE Trans. Soft. Engg.", XXvolume = "SE-11" , XXyear = "1985" , XXpages = "491-496" ) XX XX@article ( Ni2, XXkey = "Ni2" , XXauthor = " L. M. Ni and K. Hwang" , XXtitle = "Correction To XXOptimal Load Balancing in a Multiple Processor System with Many XXJob Classes", XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-12" , XXyear = "1986" , XXpages = "500" ) XX XX@article ( Ni3, XXkey = "Ni3" , XXauthor = " L. M. Ni and C. Xu and T. Gendreau" , XXtitle = "A Distributed Drafting Algorithm for Load Balancing" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-11" , XXyear = "1985" , XXpages = "1153-1161" ) XX XX@manual ( Pcg1, XXkey = "Pcg1" , XXtitle = "PCGPAK User's Guide", XXpublisher = "Scientific Computing Associates, Inc. " , XXyear = "1984" ) XX XX@techreport ( Pcg2, XXkey = "Pcg2" , XXauthor = "M. Schultz and D. Baxter and S. Eisenstat and J. Saltz ", XXtitle = "Building Software Packages for Large Sparse Linear Systems XX of Equations on Shared Memory Multiprocessors ", XXnumber = "SCA-115" , XXinstitution= "Scientific Computing Associates ", XXyear = "1987" ) XX XX XX XX XX@article ( Powe1, XXkey = "Powe1" , XXauthor = "M. Powell and B. Miller" , XXtitle = "Process Migration in DEMOS/MP" , XXjournal = "Proc. 9th Symp. on Oper. Sys. Prin., ACM" , XXyear = "1983" , XXpages = "110-119" ) XX XX XX@techreport ( party1, XXkey = "party1" , XXauthor = "J. H. Saltz and R. Mirchandaney and R. Smith and D. Nicol" , XXtitle = "The Automated Crystal Runtime System: A Framework" , XXnumber = "588" , XXinstitution= "Department of Computer Science, Yale University" , XXyear = "1987" , XXmonth = "Nov." ) XX XX XX@book ( SAUER, XXauthor = "C.H. Sauer and K. Mani Chandy" , XXtitle = "Computer Systems and Performance Modeling" , XXpublisher= "Prentice-Hall" , XXyear = "1981" ) XX XX XX@article ( SCHNEIDER, XXkey = "Schn" , XXauthor = "F. Schneider" , XXtitle = "Byzantine Generals in Action: Implementing XXFail-Stop Processors" , XXjournal = "ACM Trans. Computer Systems" , XXvolume = "" , XXmonth = "May" , XXyear = "1984" ) XX XX XX@book ( SIEW, XXauthor = "D. P. Siewiorek and R. S. Swarz" , XXkey = "Siew" , XXtitle = "The Theory and Practice of Reliable System Design" , XXpublisher= "Digital Press" , XXyear = "1982" ) XX XX@article ( Silva, XXkey = "Silva" , XXauthor = "E. de Souza e Silva and M. Gerla", XXtitle = "Load Balancing in Distributed Systems With Multiple Classes XX and Site Constraints", XXjournal = "Performance '84" , XXyear = "1984" , XXpages = "17-33" ) XX XX XX@article ( SMITH1, XXkey = "Smith" , XXauthor = "R. Smith" , XXtitle = "The contract net protocol: High-level XXcommunication and control in a distributed problem solver" , XXjournal = "IEEE Trans. Comput." , XXvolume = "C-29" , XXmonth = "Dec." , XXyear = "1980" ) XX XX XX@article ( STAN1, XXkey = "Stan" , XXauthor = "J. A. Stankovic" , XXtitle = "Bayesian Decision Theory and Its Application to XXDecentralized Control of Task Scheduling" , XXjournal = "IEEE Trans. Computers" , XXvolume = "C-34" , XXnumber = "2" , XXmonth = "February" , XXyear = "1985" , XXpages = "117-130" ) XX XX XX@article ( STAN2, XXkey = "Stan" , XXauthor = "J. A. Stankovic" , XXtitle = "Simulations of Three Adaptive Decentralized XXControlled, Job Scheduling Algorithms" , XXjournal = "Computer Networks" , XXvolume = "8" , XXnumber = "3" , XXmonth = "June" , XXyear = "1984" , XXpages = "199-217" ) XX XX XX@article ( STAN3, XXkey = "Stan" , XXauthor = "J. A. Stankovic" , XXtitle = "Stability and Distributed Scheduling Algorithms" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-11" , XXnumber = "10" , XXmonth = "October" , XXyear = "1985" , XXpages = "1141-1152" ) XX XX XX@book ( STONE1, XXauthor = "H. Stone" , XXkey = "Stone" , XXtitle = "Introduction to Computer Architecture" , XXpublisher= "S R A" , XXyear = "1980" ) XX XX XX@article ( STONE2, XXkey = "Stone" , XXauthor = "H. Stone" , XXtitle = "Multiprocessor Scheduling with the Aid of Network XXFlow algorithms" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-3" , XXnumber = "1" , XXmonth = "May" , XXyear = "1978" ) XX XX XX@article ( STONE3, XXkey = "Stone" , XXauthor = "H. Stone" , XXtitle = "Critical Load Factors in Two Processor Distributed XXSystems" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-4" , XXnumber = "3" , XXmonth = "May" , XXyear = "1978" ) XX XX XX@book ( TANEN, XXauthor = "A. Tanenbaum" , XXkey = "Tanen" , XXtitle = "Computer Networks" , XXpublisher= "Prentice-Hall" , XXyear = "1981" ) XX XX XX@article ( Tant1, XXkey = "Tant1" , XXauthor = "A. Tantawi and D. Towsley" , XXtitle = "A General Model for Optimal Load Balancing in Star Network XXConfiguration" , XXjournal = "Proc. of Performance '84" , XXyear = "1984" , XXpages = "277-291" ) XX XX XX@article ( TOWSLEY, XXkey = "Tant" , XXauthor = "A. Tantawi and D. Towsley" , XXtitle = "Optimal Static Load Balancing in Distributed XXComputer Systems" , XXjournal = "J. ACM" , XXvolume = "32" , XXmonth = "Apr." , XXyear = "1985" , XXpages = "445-465" ) XX XX@article ( TOWSLEY2, XXkey = "Tows2" , XXauthor = "D. Towsley" , XXtitle = "The Allocation of Programs Containing Loops and Branches on a XXMultiple Processor System" , XXjournal = "IEEE Trans. Soft. Engg." , XXvolume = "SE-12" , XXmonth = "October" , XXyear = "1986" , XXpages = "1018-1024" ) XX XX@article ( TOWSLEY3, XXkey = "Tows3" , XXauthor = "D. Towsley and R. Mirchandaney" , XXtitle = "The Effects of Communication Delays on the Performance of XXLoad Balancing Policies in Distributed Systems" , XXjournal = "Proc. 2nd. Intl. Workshop on Appl. Math. and Perf./Rel. Models XXin Computer/Communications" , XXmonth = "May" , XXyear = "1987" ) XX XX@article ( Tilb1, XXkey = "Tilb1" , XXauthor = "A. M. VanTilborg and L Wittie" , XXtitle = "Wave Scheduling - Decentralized Scheduling of Task Forces in XXMulticomputers" , XXjournal = "IEEE Trans. Computers" , XXvolume = "C-33" , XXyear = "1984" , XXmonth = "Sept." , XXpages = "835-844" ) XX XX@manual ( Vax1, XXkey = "Vax1" , XXtitle = "VAX Architecture Handbook" , XXpublisher = "Digital Press" , XXyear = "1985" ) XX XX XX@article ( VSYS1, XXkey = "VSYS1" , XXauthor = "M. Theimer and K. Lantz and D. Cheriton " , XXtitle = "Preemptable Remote Execution Facilities for the V-System", XXjournal = "Proceedings of the 10th Symposium on Operating System XXPrinciples" , XXmonth = "December" , XXyear = "1985" ) XX XX XX@article ( YTWang, XXkey = "YTwang1" , XXauthor = "Y-T Wang and R. Morris" , XXtitle = "Load Sharing in Distributed Systems", XXjournal = "IEEE Trans. Computers", XXvolume = "C-34" , XXyear = "1985", XXmonth = "March" ) XX XX@techreport ( ZAHOR1, XXkey = "Eager" , XXauthor = "D. L. Eager and E. D. Lazowska and J. Zahorjan" , XXtitle = "Dynamic Load Sharing in Homogeneous distributed XXsystems" , XXnumber = "84-10-01" , XXinstitution= "Department of Computer Science, University of XXWashington" , XXyear = "1984" , XXmonth = "Oct." ) XX XX XX@article ( ZHAO1, XXkey = "Zhao" , XXauthor = "W. Zhao and K. Ramamritham and J. A. Stankovic" , XXtitle = "Scheduling Tasks with Resource Requirements in XXHard Real-Time systems" , XXjournal = "IEEE Trans. Soft. Engg." , XXyear = "1986" ) XX XX XX@article ( ZHAO2, XXkey = "Zhao" , XXauthor = " W. Zhao and K. Ramamritham" , XXtitle = "Distributed Scheduling Using Bidding and Focussed XXAddressing" , XXjournal = "Proceedings of the Symposium on Real-Time Systems" , XXmonth = "December" , XXyear = "1985" ) XX XX@phdthesis ( Zhao3, XXkey = "Zhao3" , XXauthor = "W. Zhao", XXtitle = "Dynamic Scheduling in Hard-Real-Time Systems" , XXschool = "COINS Dept., University of Massachusetts", XXmonth = "February", XXyear = "1986" ) XX XX XX XX@phdthesis ( Wolfe1, XXkey = "Wolfe1" , XXauthor = "M. J. Wolfe" , XXtitle = "Optimizing Supercompilers for Supercomputers" , XXschool = "University of Illinois, Urbana-Champaign" , XXyear = "1982" ) XX XX XX@article ( Padua2, XXkey = "Padua2" , XXauthor = "D. Padua and D. Kuck and D. Lawrie" , XXtitle = "High speed multiprocessors and compilation techniques" , XXjournal = "IEEE Trans. Computers" , XXyear = "1980" ) XX XX XX@article ( Kuck1, XXkey = "Kuck1" , XXauthor = " D. J. Kuck and R. Kuhn and D. Padua and B. Leasure and XX M. Wolfe" , XXtitle = "Dependence graphs and compiler optimizations" , XXjournal = "Proceedings of the 8th ACM Symposium on XXPrinciples of Programming Languages" , XXyear = "1981" ) XX XX@article ( Hudak83, XXkey = "Hudak83" , XXauthor = "P. Hudak" , XXtitle = "Denotational semantics of a para-functional programming XX language" , XXjournal = "Proceedings XXof Symposium on Principles of Distributed Systems" , XXyear = "1981" ) XX XX XX XX@Comment (BIBSETS) XX XX XEND_OF_FILE Xif test 23872 -ne `wc -c <'paper12.bib'`; then X echo shar: \"'paper12.bib'\" unpacked with wrong size! Xfi X# end of 'paper12.bib' Xfi Xif test -f 'paper2.bbl' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'paper2.bbl'\" Xelse Xecho shar: Extracting \"'paper2.bbl'\" \(3432 characters\) Xsed "s/^X//" >'paper2.bbl' <<'END_OF_FILE' XX\begin{thebibliography}{10} XX XX\bibitem{gele86} XX{\sc S.~Ahuja, N.~Carriero, and D.~Gelernter}, {\em Linda and friends}, IEEE XX Computer, (1986), pp.~26--34. XX XX\bibitem{shahid90} XX{\sc S.~Bokhari}, {\em Communication overhead on the intel ipsc-860 hypercube}, XX Report 90-10, ICASE Interim Report, 1990. XX XX\bibitem{Kennedy88} XX{\sc D.~Callahan and K.~Kennedy}, {\em Compiling programs for XX distributed-memory multiprocessors}, Journal of Supercomputing, 2 (1988), XX pp.~151--169. XX XX\bibitem{Scro91} XX{\sc {J. S. Scroggs}}, {\em A physically motivated domain decomposition for XX singularly perturbed equations}, SIAM Journal on Numerical Analysis, 28 XX (1991), p.~to appear. XX XX\bibitem{mavriplis} XX{\sc D.~J. Mavriplis}, {\em Multigrid solution of the two-dimensional {E}uler XX equations on unstructured triangular meshes}, AIAA Journal, 26 (1988), XX pp.~824--831. XX XX\bibitem{hcca4} XX{\sc P.~Mehrotra and J.~{Van Rosendale}}, {\em Compiling high level constructs XX to distributed memory architectures}, in To appear in: Proceedings of the XX Fourth Conference on Hypercube Concurrent Computers and Applications, March XX 1989. XX XX\bibitem{sc89} XX\leavevmode\vrule height 2pt depth -1.6pt width 23pt, {\em Parallel language XX constructs for tensor product computations on loosely coupled architectures}, XX in Proceedings Supercomputing '89, November 1989, pp.~616--626. XX XX\bibitem{mirc88} XX{\sc R.~Mirchandaney, J.~H. Saltz, R.~M. Smith, D.~M. Nicol, and K.~Crowley}, XX {\em Principles of runtime support for parallel processors}, in Proceedings XX of the 1988 ACM International Conference on Supercomputing , St. Malo France, XX July 1988, pp.~140--152. XX XX\bibitem{hyper90seema} XX{\sc S.~Mirchandaney, J.~Saltz, P.~Mehrotra, and H.~Berryman}, {\em A scheme XX for supporting automatic data migration on multicomputers}, in Proceedings of XX the Fifth Distributed Memory Computing Conference, Charleston S.C., 1990. XX XX\bibitem{Rogers89} XX{\sc A.~Rogers and K.~Pingali}, {\em Process decomposition through locality of XX reference}, in Conference on Programming Language Design and Implementation, XX ACM SIGPLAN, June 1989, pp.~69--80. XX XX\bibitem{Dino88} XX{\sc M.~Rosing and R.~Schnabel}, {\em An overview of {D}ino - a new language XX for numerical computation on distributed memory multiprocessors}, Tech. Rep. XX CU-CS-385-88, University of Colorado, Boulder, 1988. XX XX\bibitem{salt-jpdc90} XX{\sc J.~Saltz, K.~Crowley, R.~Mirchandaney, and H.~Berryman}, {\em Run-time XX scheduling and execution of loops on message passing machines}, Journal of XX Parallel and Distributed Computing, 8 (1990), pp.~303--312. XX XX\bibitem{delaunay} XX{\sc N.~P. Weatherill}, {\em The generation of unstructured grids using XX dirichlet tessalations}, Report MAE 1715, Princeton, July 1985. XX XX\bibitem{whitaker89} XX{\sc D.~L. Whitaker and B.~Grossman}, {\em Two-dimensional euler computations XX on a triangular mesh using an upwind, finite-volume scheme}, in Proceedings XX AIAA 27th Aerospace Sciences Meeting, Reno, Nevada, January 1989. XX XX\bibitem{whitaker90} XX{\sc D.~L. Whitaker, D.~C. Slack, and R.~W. Walters}, {\em Solution algorithms XX for the two-dimensional euler equations on unstructured meshes}, in XX Proceedings AIAA 28th Aerospace Sciences Meeting, Reno, Nevada, January 1990. XX XX\bibitem{will89} XX{\sc R.~D. Williams and R.~Glowinski}, {\em Distributed irregular finite XX elements}, Tech. Rep. C3P 715, Caltech Concurrent Computation Program, XX February 1989. XX XX\end{thebibliography} XEND_OF_FILE Xif test 3432 -ne `wc -c <'paper2.bbl'`; then X echo shar: \"'paper2.bbl'\" unpacked with wrong size! Xfi X# end of 'paper2.bbl' Xfi Xif test -f 'paper2.tex' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'paper2.tex'\" Xelse Xecho shar: Extracting \"'paper2.tex'\" \(59519 characters\) Xsed "s/^X//" >'paper2.tex' <<'END_OF_FILE' XX\documentstyle[12pt]{article} XX% \pagestyle{empty} % removes page numbers XX\pagestyle{plain} % for writing the paper XX\topmargin.0in XX\oddsidemargin.3in XX\evensidemargin.3in XX% \textheight9.25in XX\textwidth5.95in XX\baselineskip=2.5pc XX XX\baselineskip 15pt XX%\def\tightboxit#1{\vbox{\hrule\hbox{\vrule\vbox{#1}\vrule}\hrule}} XX\def\tightboxit#1{\vbox{\hrule\hbox{\vbox{#1}}\hrule}} XX XX% \title{ } % use this one for the submitted paper XX\title{Execution Time Support for Adaptive Scientific Algorithms on XXDistributed Memory Machines\thanks{This work is supported XXunder NASA contract NAS1-18605, and XXby the U.S. Office of Naval Research under Grant N00014-86-K-0310, XXand NSF grant ASC-8819374 }} XX XX\author{{Harry Berryman} and {Joel Saltz} and {Jeffrey Scroggs}} XX XX\begin{document} XX XX% \thispagestyle{empty} % removes page numbers XX XX\maketitle XX XX\begin{center} XXInstitute for Computer Applications in Science and Engineering, \\ XXNASA Langley Research Center, \\ XXHampton VA 23065 \\ XX\today \\ XX\end{center} XX XX\begin{abstract} XX XXWe consider optimizations that are required for efficient execution of XXcode segments that consist of loops over distributed data structures. XXThe PARTI execution time primitives are designed to perform these XXoptimizations and can be used to implement a wide range of scientific XXalgorithms on distributed memory machines. XX XXThese primitives allow the user to control array mappings in a way that XXgives an appearance of shared memory. Computations can be based on a XXglobal index set. Primitives are used to perform gather and scatter XXoperations on distributed arrays. Communications patterns are derived XXat runtime, and the appropriate send and receive messages are XXautomatically generated. XX XX\vfill XX\end{abstract} XX XX\pagebreak XX\section{Introduction} XX XXEfficient implementation of scientific codes on distributed memory XXarchitectures requires special techniques both at run-time and at XXcompile-time. The PARTI (Parallel Automated Runtime Toolkit at ICASE) XXsystem is a set of primitives that can be used to implement a wide range XXof scientific algorithms on distributed memory machines. These XXprimitives support various run-time operations required by programs that XXmake use of a shared name space embedded in a distributed memory XXmachine. The user can gather and scatter data to and from distributed XXarrays using a global index set. Communications patterns are derived at XXruntime, and the appropriate send and receive messages are automatically XXgenerated. XX XXInitialization of a data array using the PARTI primitives consists of XXspecifying a mapping into distributed memory for each globally defined XXmultidimensional array. The primitives include procedures that allow XXone to scatter and gather array elements in the distributed memory. The XXPARTI tools are organized into two levels. The lower level supports XXmemory operations such as scatters and gathers across processors. The XXhigher level procedures are used to bind mapping information to XXdistributed arrays and allows the use of this information to call the XXlower level primitives. Information about memory access patterns can be XXsaved so that memory operations with the same address calculations need XXnot repeat these calculations. Send/receive schedules are generated for XXmemory operations. The schedules may be stored and reused as well. XXThis is particularly important for the implementation of iterative XXalgorithms. XX XXThe ideas incorporated in PARTI are specifically aimed at computations XXon distributed memory machines in which the structure of the computation XXdepends on the input data. Run-time support must be incorporated as XXpart of the distributed implementation of such computations. Directly XXincorporating the primitives into applications programs allow XXinvestigation of the usefulness and relevance of various optimizations. XXIn this paper we demonstrate and benchmark these primitives using two XXdifferent programs. The first is an adaptive method for solving partial XXdifferential equations, the second is a kernel from an unstructured mesh XXcode. XX XX\subsection{Related Research} XX XXWilliams ~\cite{will89} describes a programming environment for XXcalculations with unstructured triangular meshes using distributed XXmemory machines. Collections of distributed array accesses are XXtranslated into an efficient set of inter-node messages. Similar XXmechanisms for translating an irregular pattern of array accesses into XXinter-node messages have been proposed in order to make it possible to XXefficiently distribute loops where some array references are made XXthrough a level of indirection. Work on this topic was presented by the XXpresent authors in \cite{salt-jpdc90},\cite{mirc88}, \cite{hyper90seema} XXas well as by Mehrotra and Van Rosendale~\cite{sc89,hcca4}. XX XXCallahan and Kennedy ~\cite{Kennedy88}, Rogers and XXPingali~\cite{Rogers89}, and Rosing and Schnabel~\cite{Dino88} suggest XXexecution time resolution of communications on distributed machines. XXNone of these utilize information on repeated patterns of XXcommunications. The Linda system\cite{gele86} provides an associative XXaddressing scheme by which a reference to variables can be resolved at XXexecution time. This in essence provides a shared name space for XXdistributed memory machines; however, the shared name space does not XXallow users to determine how data is to be partitioned between XXprocessors. The costs associated with this lack of data locality can be XXextremely high in some cases~\cite{salt-jpdc90}. These difficulties XXare overcome in PARTI by allowing the user direct control of these XXissues. XX XX\section{PARTI Primitives} \label{primitives} XX XXThe PARTI primitives currently consist of two levels. The most XXfundamental of the primitives are the Level 0 Primitives. They consist XXof routines to {\em gather} and/or {\em scatter} (read and write) values XXto elements of one dimensional arrays ${\tt aloc}$ defined on each XXprocessor ${\tt j}$. Note that ${\tt aloc}$ is local to each XXprocessor ${\tt j}$; it is XXnot viewed as a distributed array by the Level 0 Primitives. XX XX\subsection{Level 0 Gather and Scatter} XX XXLevel 0 gathers and scatters are accomplished by using three routines: XX{\em Scheduler}, {\em Gather Exchanger}, and {\em Scatter Exchanger}. XX XXScheduler on each processor is passed a list of indices ${\tt K_j}$ into XX${\tt aloc}$ on each processor ${\tt j}$. Scheduler XXproduces a schedule {\tt S } that controls the data that are to be XXfetched off-processor by {\em Gather Exchanger} or XXscattered off-processor by {\em Scatter Exchanger}. XX XXOn each processor, Gather Exchanger inputs XX\begin{enumerate} XX\item a buffer into which the fetched elements are to be placed XX\item a pointer to local array ${\tt aloc}$ XX\item the schedule ${\tt S }$ produced by Scheduler XX\end{enumerate} XXIn Fig.~\ref{scheduler-example} we introduce XXa running example to illustrate the {\em Scheduler}, {\em Gather Exchanger} XXand {\em Scatter Exchanger}. In this example we have three processors, XXeach processor is passed a set of off-processor indices. XX XXGather Exchanger executes sends and receives that fetch from XXprocessor {\tt j} the appropriate elements from the array XX${\tt aloc}$ on processor XX${\tt j}$. Then it places these elements into the user-supplied buffer. XXFig.~\ref{gather-example} continues the running example begun in XXFig.~\ref{scheduler-example}. On processor ${\tt j}$ the array XX{\tt aloc} is initialized XXas ${\tt aloc(i)~=~ j*100 + i}$ for ${\tt 1 \leq i}$. XXWe depict the contents of {\tt buffer} on each processor XXafter Gather Exchanger is executed. XX XXScatter Exchanger is passed XX\begin{enumerate} XX\item a buffer from which each scattered datum is to be obtained XX\item a pointer to local array ${\tt aloc}$ XX\item the schedule ${\tt S }$ produced by Scheduler XX\end{enumerate} XXScatter Exchanger executes sends and receives that put on processor XX{\tt j} the appropriate elements from the buffer. Then Scatter XXExchanger places these elements into the appropriate elements of array XX${\tt aloc}$ on processor ${\tt j}$. XXFig.~\ref{scatter-example} continues the running example. XXWe assume that on processor ${\tt j}$, we initialize XX{\tt buffer} as ${\tt buffer(i)~=~ j*100 + i}$ for ${\tt 1 \leq i }$, XXwe initialize {\tt aloc} so that ${\tt aloc(i)~=~0}$. XXAfter Scatter Exchanger executes, we XXdepict, on each processor ${\tt j}$ the contents of {\tt aloc}. XX XX\begin{figure} XX\caption{Scheduler Example \label{scheduler-example}} XX\begin{itemize} XX\item[] Scheduler: XX\begin{itemize} XX\item[] inputs list of indices on each processor XX\item[] outputs a schedule {\tt S} XX\end{itemize} XX\item[] E.g. XX\begin{itemize} XX\item[] processor 1: (processor 2, index 5), (processor 3, index 7) XX\item[] processor 2: (processor 1, indices 4, 5, 6), (processor 3 index 2) XX\item[] processor 3: (processor 1, index 1),(processor 2 indices 1, 3, 4) XX\end{itemize} XX\end{itemize} XX\end{figure} XX\begin{figure} XX\caption{Gather Example \label{gather-example}} XX\begin{itemize} XX\item[] Gather exchange: XX\begin{itemize} XX\item[] {\em inputs} schedule {\tt S} produces by {\em Scheduler} XX\item[] {\em inputs} pointer to local array {\tt aloc} from which gathered elements XXare to be fetched XX\item[] {\em outputs} fetched elements placed in local array {\tt buffer} XX\end{itemize} XX\item[] E.g. assume XX\begin{itemize} XX\item[] processor 1: ${\tt aloc(i) = 100 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt aloc(i) = 200 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt aloc(i) = 300 + i}$ , ${\tt 1 \leq i }$ XX\end{itemize} XX\item[] Gather exchanger returns: XX\item[] XX\centering XX\begin{tabular}{|c|c|c|c|} \hline XXbuffer & Processor & Processor & Processor \\ XX & 1 & 2 & 3 \\ \hline XX1 & 205 & 104 &101 \\ XX2 & 307 & 105 &201 \\ XX3 & - & 106 &203 \\ XX4 & - & 302 &204 \\ XX\hline XX\end{tabular} XX\end{itemize} XX\end{figure} XX\begin{figure} XX\caption{Scatter Example \label{scatter-example}} XX\begin{itemize} XX\item[] Scatter exchange: XX\begin{itemize} XX\item[] {\em inputs} schedule {\tt S} produces by {\em Scheduler} XX\item[] {\em inputs} elements to be scattered, these are placed in local array {\tt buffer} XX\item[] {\em outputs} scattered elements, these are placed in local array {\tt aloc} XX\end{itemize} XX\item[] E.g. assume XX\begin{itemize} XX\item[] processor 1: ${\tt buffer(i) = 100 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt buffer(i) = 200 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt buffer(i) = 300 + i}$ , ${\tt 1 \leq i }$ XX\end{itemize} XX\begin{itemize} XX\item[] processor 1: ${\tt aloc(i) = 0}$, ${\tt 1 \leq i}$ XX\item[] processor 1: ${\tt aloc(i) = 0}$, ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt aloc(i) = 0}$, ${\tt 1 \leq i }$ XX\end{itemize} XX\item[] After Scatter exchanger is called: XX\item[] XX\centering XX\begin{tabular}{|c|c|c|c|} \hline XXaloc & Processor & Processor & Processor \\ XX & 1 & 2 & 3 \\ \hline XX1 & 301 & 302 & 0 \\ XX2 & 0 & 0 & 204 \\ XX3 & 0 & 303 & 0 \\ XX4 & 201 & 304 & 0 \\ XX5 & 202 & 101 & 0 \\ XX6 & 203 & 0 & 0 \\ XX7 & 0 & 0 & 102 \\ XX\hline XX\end{tabular} XX\end{itemize} XX\end{figure} XX XX\subsubsection{Functioning of the Scheduler and Exchangers\label{howto}} XX XXExchange procedures for both the scatter and the gather XXhave three stages. They permute data into buffers to be sent. They XXperform the needed communication, then they perform another XXpermutation. XX XXThe scheduler first determines how many messages each processor must XXsend and receive during the data exchange phase. Defined on processor XX${\tt j}$ is an array ${\tt nmsgs^j}$. Processor {\tt j} sets the value XXof ${\tt nmsgs^j(i)}$ to $1$ if it needs data from processor ${\tt i}$ or to XX${\tt 0}$ if it does not. The scheduler then replaces ${\tt nmsgs^j}$ with XXthe element-by-element sum ${\tt nmsgs^j(i)} \leftarrow \sum_{k} XX{\tt nmsgs^k(i)}$. This operation utilizes a function that imposes a fan-in XXtree to find the sums. Since the resulting sum is kept in ${\tt XXnmsgs^j}$, at the end of the fan-in on every processor, ${\tt XXnmsgs^j(i)}$ is the number of messages that processor must XXsend during the exchange phase. Next, each processor sends a {\em XXrequest list} to every other processor. The request list sent from XXprocessor ${\tt p}$ to processor ${\tt q}$ contains the indices of XXdata needed by processor ${\tt p}$ that are stored on processor ${\tt q}$. XX XXThe number of non-empty request lists each processor will receive is XXequal to the number of messages that the processor will send in the XXexchange phase. Each request list is placed in an array indexed by the XXprocessor from which the list came. When the scheduler is finished, XXeach processor has an array of request lists obtained from other XXprocessors. The ${\tt j^{th}}$ element of this array contains the request XXlist obtained from processor ${\tt j}$. At this point in the execution, XXeach processor ${\tt i}$ knows which elements of ${\tt aloc}$ local to XXprocessor ${\tt i}$ that must be XXsent to other processors. This information is used to generate the XXschedule {\tt S} of pairs of send and receive statements. These XXsend/receive pairs will exchange the requested data for either a gather XXor a scatter. Thus, both the gather and the scatter call the {\em XXexchanger} routine. The exchanger is passed the schedule {\tt S} with the XXrequired buffer space. It then carries out the required communication. XX XX\subsubsection{Additional Exchangers} XX XXIn addition to the Level 0 exchanger, we have found it useful to develop XXhybrids of the gather and scatter that perform remote operations on XXdistributed array data. For example, the Scatter\_add XX{\em accumulates} data to off-processor locations in distributed XXmemory. XXTo illustrate, consider Fig.~\ref{accum-example} XXas usual, we reuse the schedule {\tt S} defined in XXFig. ~\ref{scheduler-example}. XXWe assume that on processor ${\tt j}$, we initialize XX{\tt buffer} as $buffer(i)~=~ j*100 + i$ for ${\tt 1 \leq i }$, XXand we initialize {\tt aloc} so that ${\tt aloc(i)~=~100}$ for ${\tt 1 }$. XXAfter Scatter\_add Exchanger executes, we XXdepict, on each processor ${\tt j}$ the contents of {\tt aloc}. XXSimilar exchangers XXperform distributed subtractions, multiplications and divisions. XX XX\begin{figure} XX\caption{Scatter\_add Example \label{accum-example}} XX\begin{itemize} XX\item[] Scatter\_add exchange: XX\begin{itemize} XX\item[] {\em inputs} schedule {\tt S} produces by {\em Scheduler} XX\item[] {\em inputs} elements to be scattered and added, these are placed in local array {\tt buffer} XX\item[] {\em outputs} elements scattered and added to previous contents of local array {\tt aloc} XX\end{itemize} XX\item[] E.g. assume XX\begin{itemize} XX\item[] processor 1: ${\tt buffer(i) = 100 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt buffer(i) = 200 + i}$ , ${\tt 1 \leq i }$ XX\item[] processor 1: ${\tt buffer(i) = 300 + i}$ , ${\tt 1 \leq i }$ XX\end{itemize} XX\begin{itemize} XX\item[] processor 1: ${\tt aloc(i) = 100}$, XX\item[] processor 1: ${\tt aloc(i) = 100}$, and XX\item[] processor 1: ${\tt aloc(i) = 100}$. XX\end{itemize} XX\item[] After Scatter\_add exchanger is called: XX\item[] XX\centering XX\begin{tabular}{|c|c|c|c|} \hline XXaloc & Processor & Processor & Processor \\ XX & 1 & 2 & 3 \\ \hline XX1 & 401 & 402 &100 \\ XX2 & 100 & 100 &304 \\ XX3 & 100 & 403 &100 \\ XX4 & 301 & 404 &100 \\ XX5 & 302 & 201 &100 \\ XX6 & 303 & 100 &100 \\ XX7 & 100 & 100 &202 \\ XX\hline XX\end{tabular} XX\end{itemize} XX\end{figure} XX\subsection{Level 1 Primitives} XX\label{introgs} XX XXThe Level 1 Primitives are the user interface between an application XXcode and the Level 0 Primitives. Use of Level 1 Primitives allows the XXdynamic allocation of distributed multi-dimensional arrays and supports XXdata transfer between these arrays. The Level 1 Primitives consist of XXdeclaration procedures and of communication procedures. The XXintermediate level PARTI declaration procedures allow the user to XXdeclare a dynamically allocated distributed array in a way that allows XXspecification of how the array is to be partitioned between processors. XXCoupled to these distributed array declarations are the intermediate XXlevel {\tt gather} and {\tt scatter} procedures. These procedures are XXdesigned to allow users to fetch or store array elements from the XXdistributed memory in a way that does not require the user to keep track XXof where array elements are stored. This makes it relatively XXstraightforward to write codes that allow data structures to be XXrepartitioned during program execution. All memory is allocated or XXdeclared in the programs that call PARTI procedures; memory locations XXare passed to the procedures that perform array initializations. Users XXwrite programs that contain a combination of XX\begin{enumerate} XX\item code written to execute on individual processors XX\item communications calls that consist of gathers or scatters XXto distributed arrays XX\item communication calls that consist of zero-level gathers XXor scatters XX\item send and receive message passing calls XX\end{enumerate} XX XX\subsubsection{Level 1 Declaration Procedures} XX XXThe declaration procedures in the PARTI primitives allow the user to XXspecify the mapping of the data to a virtual processor array, then XXdescribe the relationship between the virtual processor array and the XXoriginal processor array. XX XXSpecified in an array initialization is the physical processor array XXarbitrary dimension and size. This processor grid is automatically gray XXcoded in the current implementation. Embedded in the physical processor XXarray is a subarray of virtual processors. The embedding is specified XXby the user. This two-stage specification of processor sets makes it XXpossible to embed different distributed arrays into different subarrays. XXNote also that different distributed arrays can be initialized with XXdifferent processor arrays {\tt G} or with the same physical processor XXarray but with different virtual processor subarrays. XX XXData arrays are mapped onto virtual processor subarrays in any one of a XXnumber of ways. We support tensor product mappings in which each array XXdimension is partitioned independently or is left undistributed. Each XXpartitioned array dimension is associated with a dimension of the XXvirtual processor subarray. The number of dimensions of an array {\em XXto be distributed} must match the dimensionality of the virtual XXprocessor array. When an $n$ dimensional distributed array is to be XXmapped onto an $m$ dimensional virtual processor array and $n > m$, $n - XXm$ dimensions of the distributed array are left undistributed. We refer XXto such partitioned distributed array dimensions as being {\em XXcompressed}. XX XXFollowing ~\cite{sc89}, we support {\em blocked} partitionings where XXeach processor receives an equal number of contiguous array elements XXalong a given dimension, and {\em cyclic} distributions in which XXelements are distributed stripped fashion across the processors. XXWe can XXalso distribute in an {\em enumerated} manner. When we distribute XXdimension $d_d$ of the data into dimension $d_v$ of the virtual XXprocessor array, there is a table that specifies an index in dimension XX$d_v$ for each value of the index in dimension $d_d$. In the remainder XXof this paper, tensor product multidimensional distributed array XXmappings will be specified by listing how each consecutive array XXdimension that is partitioned. For example, a three dimensional domain XXis partitioned by blocks in the first two dimensions and has a XXcompressed third dimension, will be referred to as a XX(block,block,compressed) partitioning. XX XX\subsubsection{Level 1 Communication Procedures} XX XXThe Level 1 {\tt Gather exchanger} and {\tt Scatter exchanger } routines XXallow communication of user data based on the global index set. The XXLevel 1 Scatter Exchanger inputs lists of distributed array indices and XXvalues. It places the values in the distributed memory locations XXspecified by the indices (and the initially supplied array mapping). XXThe intermediate level Gather Exchanger inputs lists of distributed XXarray indices along with a pointer to a memory buffer in the calling XXprocessor. Data values from the appropriate distributed memory XXlocations are obtained and placed in the calling processor's buffer. An XXinitialization or Scheduler procedure call is required for Gather XXexchanger or Scatter exchanger. The initialization procedure XXprecomputes the locations of the data that will to be sent and received XXby each processor. This initialization is needed only once--it may be XXreused any number of times. The initialization will be described first. XX XXThe initialization combines the mapping information provided by the XXdeclaration routines with a specific list of global indices. The result XXis a set of communication calls coupled with some pre- or post-movement XXof the data (for the gather and scatter, respectively). The XXcommunication plus movement is executed when the gather or scatter is XXcalled. XX XXEach array distributed with the Level 1 Primitives is treated by XXthe Level 0 routines as a set of {\tt aloc} arrays defined on each XXprocessor. Elements of the distributed array are gathered by calculating XXcorresponding indices of {\tt aloc} arrays and then executing a Level XX0 gather. XX XXThe index of a {\tt D}-dimensional array is translated to a physical XXprocessor {\tt p} and an index {\tt i} to {\tt aloc}. Index {\tt i} XXis generated from the user-specified index by using the mapping from the XXdata to the virtual processor array. The physical processor {\tt P} is XXdetermined by locating the virtual processor in {\tt V}, then using the XXembedding information to obtain the position in {\tt G}. The physical XXprocessor corresponding to the calculated position in {\tt G} can be XXobtained from the gray code. Notice that the physical memory locations XXof the various {\tt aloc }s are not used directly in the calculations. XXRather, the index {\tt i} is passed to processor {\tt p}. This has the XXadvantage of allowing each processor to store its data in different XXphysical memory locations. XX XXThe steps involved in performing a gather on an index list {\tt L} into XX{\tt A} are outlined here. Translations described above produce a list XXof indices ${\tt L_i}$ and a list of processors ${\tt L_p}$ that XXcorrespond to {\tt L}. These lists are used to determine the scheduling XXof a low level gather and are sorted by processor. The sort results in XXa permutation array ${\tt L_{PERM}}$ that reorders the elements of {\tt XXL}. Since moving and/or copying of data is avoided, the efficiency of XXthe gather is increased. A Level 1 gather is performed from executing XXthe scheduled zero-level gather and then using ${\tt L_{PERM}}$ to XXreorder the values obtained by each processor. In many scientific XXprograms it is also useful to execute isomorphic gathers on different XXarrays. Recall that actual memory addresses are only bound to the XXintermediate and the zero-level primitives after all of the XXoptimizations are carried out. Consequently, the same zero-level gather XXschedule and the same permutation array ${\tt L_{PERM}}$ can be XXassociated with a number of different distributed arrays. Setup costs XXare amortized when the same pattern of communication is carried out many XXtimes. XX XXThe Level 1 {\tt Gather Exchanger} and {\tt Scatter Exchanger} XXprocedures are designed to allow users to fetch or store array XXelements from the distributed memory in a way that does not require the user to XXkeep track of where array elements are stored. It is relatively XXstraightforward to write codes that allow data structures to be XXrepartitioned during program execution. Declaration procedures can be XXcalled to repartition the distributed data, and the application can be XXwritten in a partitioning-independent manner. XX XX\subsubsection{Dynamically Allocated Distributed Arrays} XX XXIt is reasonable to attempt to assign work and data to processors so XXthat load is well balanced and so that communications costs are XXminimized. In adaptive algorithms, patterns of computation and of data XXaccess frequently change as the computation proceeds. PARTI supports XXthe dynamic assignment of distributed array elements. New distributed XXarray elements can be allocated and assigned to processors along {\em XXenumerated} array dimensions. If we want to be able to dynamically XXassign a distributed array dimension to processors, we must declare the XXdistribution of the dimension as {\em dynamic enumerate}. XX XXIn Section~\ref{adaptive}, we describe an adaptive mesh partial XXdifferential equation solver. During the course of this computation, XXdistributed array elements representing refined mesh regions are XXdynamically allocated and assigned to processors. XX XX XX XX\section{The Use of PARTI Primitives in Adaptive and Unstructured XXApplications\label{sec-parti-appl}} XX XXWe present one complete code and one computational kernel XXto motivate the discussion of our execution time optimizations and XXthe PARTI (Parallel Automated Runtime Toolkit at ICASE) primitives. XX XX\subsection{Adaptive Mesh Partial Differential Equation Solver\label{adaptive}} XX XXThe first example is a technique for adaptive refinement. XXThe method will be described in the context of the solution to XX \begin{displaymath} XX u_t + f(u)_x +g(u)_y - \epsilon \Delta u = 0 XX \end{displaymath} XXin the presence of a shock where the profile XX(detailed shape) of the shock is desired. For the method discussed XXhere, resolution of the profile implies that a highly refined grid must XXbe used in a neighborhood of the shock. The theory behind the algorithm XXhas been described \cite{Scro91} so only an algorithmic description of XXthe method will be presented here. In this algorithm, the structure of XXthe computations changes with time and a non-uniform communication XXpattern arises due to the sharing of data between grids. XX XXThe method initially computes the solution on a coarse mesh. An error XXestimator is then applied to determine the regions that will be covered XXby a refined mesh. An example mesh from this two-level refinement is XXshown in Fig. \ref{two-mesh}. XX XX\begin{figure} XX\label{two-mesh} XX\vspace{2.6in} XX\caption{Two-mesh refinement.} XX\end{figure} XX XXThe solution is time-dependent. Time-marching on the refined mesh is XXperformed by taking many (e.g. 100) time steps on the refined mesh for XXa single coarse-grid time step. Let $U$ represent the solution, $k$ be XXthe temporal step-counter, and $(i,j)$ represent the discrete location XXon a spatial grid. The subscripts $c$ and $r$ will be used to refer to the XXcoarse and refined meshes, respectively. The data structure used for XXthe coarse mesh is a two-dimensional array. The solution on the refined XXmesh is represented by a three-dimensional data structure in which the XXthird index represents a block of the refined mesh (each block XXcorresponds to a single coarse grid square), and first two indices XXrepresent the spatial location within the block. In general, a shock XXmoves and changes shape. Thus, the refined mesh will be dynamic -- its XXlocation, shape, and size all change. This means that relationship of XXthe two meshes will change during the execution of the program. The XXgeneral structure of the kernel is outlined in Algorithm 1. XX\begin{figure}[htbp] XX\begin{tabbing} XXllllllllllllll \= lll \= lll \= lll \= lll \= llllll \= lll \kill XX\> For $k_c = 1$ to $K$ \\ XX\> \> I. Sweep over the coarse mesh \\ XX\> \> \> A. Compute $U$ on the coarse mesh. \\ XX\> \> \> B. Flag region that should be refined. \\ XX\> \> II. If flagged region is not empty. \\ XX\> \> \> A. Modify shape of refined region \\ XX\> \> \> B. Interpolate boundary values for the refined XX mesh from the coarse mesh. \\ XX\> \> \> C. For $k_r = 1$ to $K_r$ \\ XX\> \> \> \> 1. Sweep over the refined mesh \\ XX\> \> \> D. Inject values of refined region into coarse grid \\ XX\end{tabbing} XX\noindent XX\centering XX{Algorithm 1. Two Mesh Adaptive Algorithm } XX\end{figure} XX XX\begin{figure}[htbp] XX\begin{itemize} XX\item[I.] Call PARTI array and processor declaration procedures: XX\begin{enumerate} XX\item declare $p_1$ by $p_2$ grid {\tt G} of processors XX\item declare two dimensional coarse mesh array ${\tt A_c}$, XXembed ${\tt A_c}$ into {\tt G} using (block,block) distribution XX\item declare three dimensional refined mesh array ${\tt A_r}$, XXembed ${\tt A_r}$ into {\tt G} using (compress,compress,dynamic enumerate) XXdistribution XX\end{enumerate} XX\item[II.] Call scheduler to determine communication schedule ${S_{c->c}}$ XXfor sweep over coarse mesh. XX\item[III.] For $k_c$ = 1 to K XX\begin{enumerate} XX\item Sweep over coarse mesh XX\begin{enumerate} XX\item Call gather exchanger using XXschedule ${S_{c->c}}$ to share data in ${\tt A_c}$ XX\item Perform computations to update ${\tt A_c}$ XX\item Each processor flags regions to be refined, sends information XXto processor 0 XX\end{enumerate} XX\item If processor 0 collects any flags regions (or if a region XXis already flagged) XX\begin{enumerate} XX\item Processor 0 determines the new shape XXof the refined region and calculates the processors on XXwhich new elements of ${\tt A_r}$ are to be placed. XX\item Call modify declaration to allocate and assign XXnew elements {\tt i} of ${\tt A_r(:,:,i)}$ XX\item Call scheduler to generate the following schedules: XX\begin{enumerate} XX\item $S_{c->r}$ : interpolation of values from ${\tt A_c}$ to XX${\tt A_r}$ XX\item $S_{r->c}$ : injection of values from ${\tt A_r}$ to XX${\tt A_c}$ XX\item $S_{r->r}$ : communication needed for sweep over ${\tt A_r}$ XX\end{enumerate} XX\item Call gather exchanger using $S_{c->r}$, XXinterpolate boundary values from ${\tt A_c}$ to ${\tt A_r}$. XX\item for $k_r$ = 1 to $K_r$ XX\begin{enumerate} XX\item call gather exchanger using $S_{r->r}$ to share boundary XXinformation XX\item Perform computations to update ${\tt A_r}$ XX\end{enumerate} XX\item call gather exchanger using $S_{r->c}$ to inject XX${\tt A_r}$ into ${\tt A_c}$ XX\end{enumerate} XX\end{enumerate} XX\end{itemize} XX\caption{ Parallelized Two-Mesh Adaptive PDE Solver \label{two-mesh-parti}} XX\end{figure} XX XX\subsection{PARTI Implementation of Adaptive PDE Solver} XX XXClasses of inter-processor communication needed to implement XXAlgorithm 1 in a distributed computing environment are; XX\begin{enumerate} XX\item communication involved in coarse mesh sweeps (Step I.A., Algorithm 1), XX\item communication involved in fine mesh sweeps (Step II.C.2., Algorithm 1), XX\item sharing of values between the coarse and fine meshes XX(Steps II.B. and II.D., Algorithm 1) and XX\item communication required to modify the shape of the refined XXregion (Step II.A. Algorithm 1). XX\end{enumerate} XX XXIn our implementation of Algorithm 1, the PARTI primitives are used in XXall but the last set of communications. Because the refined mesh is XXdynamic, the communication pattern required for fine mesh sweeps and for XXsharing of values between the coarse and fine meshes will both change as XXthe problem evolves. Fig. ~\ref{two-mesh-parti} depicts our parallel XXimplementation of Algorithm 1. The PARTI declaration procedures are XXfirst called to declare a $p_1$ by $p_2$ grid of processors. Two XXdistributed arrays are declared. Distributed array $A_c$ is used to XXrepresent the coarse mesh values, distributed array $A_r$ is used to XXrepresent the refined mesh values. Coarse mesh array $A_c$ is embedded XXinto the physical processor array {\tt G} using a (block,block) XXdistribution. Recall that the location, shape, and size of the refined XXmesh all change as the computation progresses. Recall from XXSection~\ref{sec-parti-appl} that the third index of $A_r$ represents a block XXof the refined mesh. In this implementation we do not remap the XXcomputation, instead we dynamically allocate newly refined portions of XXthe refined mesh. We therefore define the refined mesh array $A_r$ as a XXthree dimensional distributed array. The distribution of $A_r$ onto XX{\tt G} is (compress,compress,dynamic enumerate). XX XXWe only need to generate the schedule $S_{c->c}$ XXfor coarse grid computation once because the coarse grid XXremains fixed during the computation. Each time the fine mesh XXis refined, we need to revise the following schedules (II. in Algorithm 1): XX\begin{itemize} XX\item[] $S_{c->r}$ : interpolation of values from ${\tt A_c}$ to XX${\tt A_r}$ XX\item[] $S_{r->c}$ : injection of values from ${\tt A_r}$ to XX${\tt A_c}$ XX\item[] $S_{r->r}$ : communication needed for sweep over ${\tt A_r}$. XX\end{itemize} XXIn the current implementation, these schedules must be recomputed from XXscratch each time any modification is made to the structure of the fine mesh. XX XX\subsection{Unstructured Mesh Kernel\label{unstruct}} XX XX\setbox1=\vbox{ XX\begin{itemize} XX\begin{itemize} XX\item[] For i=1 to Number-Edges XX\begin{itemize} XX\item[I.] ${\tt v_A}$ = yold(node(i,1)) XX\item[] ${\tt v_B}$ = yold(node(i,2)) XX\item[] XX\item[II.] Calculate flux using ${\tt v_A}$, ${\tt v_B}$. XX\item[] This calculation also uses XX edgedata(i,1),.., edgedata(i,SMALL) XX\item[] XX\item[III.] y(node(i,1)) = y(node(i,1)) + flux XX\item[] y(node(i,2)) = y(node(i,2)) - flux XX\end{itemize} XX\end{itemize} XX\end{itemize} XX } XX XX\begin{figure} XX\tightboxit{ XX\box1 XX} XX\caption{Outline of Computational Fluid Dynamics Unstructured Mesh Kernel \label{balance}} XX\end{figure} XX XXFig.~\ref{balance} depicts a schematic outline of a kernel from a fluid XXdynamics simulation. In Section~\ref{expfluxroe} we will present XXexperimental results obtained from a similar but slightly more complex XXkernel. The kernel is based on an algorithm which fills a computational XXdomain with irregular polygons. Heuristics designed to ensure that the XXgoverning partial differential equation is solved with an approximately XXequal accuracy throughout the computational domain determine the area XXand shape of the polygons. The data structures used in solving the XXproblem represent a bidirectional graph where vertices represent XXpolygons and edges represent adjacency of the polygons. Sweeps over the XXpolygons are accomplished by traversing the edges of this graph. In XXthese codes we solve for equation values at graph vertices. XX XXThe kernel outlined in Fig.~\ref{balance} computes the flux across each XXgraph edge. The indices of the two vertices connected by the {\tt j}th XXgraph edge are denoted by {\tt node(i,1) } and {\tt node(i,2)} in XXFig.~\ref{balance}. The computation of the flux terms requires {\tt XXyold(node(i,1))} and {\tt yold(node(i,2))} (Step I in XXFig.~\ref{balance}). The computation also requires other information XXconcerning graph edge {\tt i} (Step II in Fig.~\ref{balance}). In this XXexample, we assume that data pertaining to edge {\tt i} is placed in row XX{\tt i} of {\tt edgedata}. In Step III, flux is added to {\tt XXy(node(i,1))} and flux is subtracted from {\tt y(node(i,2))} XX XXIt is necessary to decide how the parallel loop iterations for index XX{\tt i} are to be partitioned between processors. We must also specify XXhow the data in arrays {\tt y} and {\tt yold} should be partitioned. No XXmatter how we partition loop iterations and data, the structure of the XXproblem requires that we access off-processor elements of {\tt y} and XX{\tt yold}. On the other hand, {\tt edgedata(i,j)} and {\tt node(i,j)} XX({\tt j = 1,2}) are used only in the {\tt i}th parallel loop iteration XXso these arrays can be partitioned so that only local array accesses are XXneeded. XX XXIn this kernel, the dependencies between elements of arrays {\tt y} and XX{\tt yold} are determined by integer array {\tt node}. We therefore XXcannot accurately predict what data must be prefetched until the program XXexecutes. On distributed machines, it is typically very inefficient to XXfetch individual off-processor data as a need for these elements is XXencountered because of high communications latencies. We will use the XXlevel 0 primitives to allow us to preschedule the communications needed XXto efficiently prefetch off-processor data. XX XX\subsection{The Preprocessing Phase} XX XX\setbox1=\vbox{ XX\begin{itemize} XX\item[I.] For all edges i assigned to processor P XX XX\begin{itemize} XX\item[] if Processor(node(i,1)) $\ne$ P XX XX\begin{itemize} XX\item[] concatenate Processor(node(i,1)) to {\tt $Proc_A$} XX\item[] concatenate Local(node(i,1)) to {\tt $Local_A$} XX\end{itemize} XX\end{itemize} XX XX\begin{itemize} XX\item[] if Processor(node(i,2)) $\ne$ P XX XX\begin{itemize} XX\item[] concatenate Processor(node(i,1)) to {\tt $Proc_B$} XX\item[] concatenate Local(node(i,1)) to {\tt $Local_B$} XX\end{itemize} XX\end{itemize} XX XX\item[II.] Call Level 0 Scheduler with {\tt $Local_A$} and XX{\tt $Proc_A$} (schedule $S_A$) XX\item[] Call Level 0 Scheduler with {\tt $Local_B$} and XX{\tt $Proc_B$} (schedule $S_B$) XX XX\end{itemize} XX XX} XX XX\begin{figure} XX\tightboxit{ XX\box1 XX} XX\caption{Preprocessing Unstructured CFD Kernel\label{inspector}} XX\end{figure} XX XXIn Fig.~\ref{inspector}, we outline the preprocessing needed to XXdistribute the computation depicted in Fig.~\ref{balance}. In this XXexample, assume that {\tt y} and {\tt yold} are mapped in an identical XXmanner. We also assume that {\em Local(x)} and {\em Processor(x)} are XXfunctions that return the processor and local index associated with the XXdistributed array element {\tt x}. In this example, we use only the XXlevel 0 primitives. XX XX XXIn the first step (Step I in the figure) we sweep through the edges XXassigned to processor {\tt P} and generate lists of off-processor XXreferences into distributed arrays {\tt y} and {\tt yold}. On processor XX{\tt P}, the arrays {\tt$Proc_{A}$} and {\tt $Local_{A}$} are used to XXstore the processor and local array index that corresponds to each XXoff-processor reference made by {\tt P} to {\tt y(node(i,1))} and {\tt XXyold(node(i,1))}. Arrays {\tt$Proc_{B}$} and {\tt $Local_{B}$} are used XXto store off-processor references made by {\tt P} to {\tt y(node(i,2))} XXand {\tt yold(node(i,2))}. In Step II of Fig.~\ref{inspector}, the XXlevel 0 scheduler is called with the lists of processors and local XXindices associated with the first vertex ({\tt$Proc_{A}$} and {\tt XX$Local_{A}$}). The level 0 scheduler is called again with the analogous XXlists associated with the second vertex. The two level 0 scheduler XXcalls produce schedules {\tt $S_A$} and {\tt $S_B$} respectively. XX XXOnce the schedules {\tt $S_A$} and {\tt $S_B$} have been obtained, we XXcan begin the sweep over the graph edges. The schedules obtained above XXcan be reused as long as the assignment of edges to processors is not XXaltered and values assigned to the integer array {\tt node} are not XXchanged. In Step I in Fig.~\ref{executor}, copies of data from XXoff-processor elements of array {\tt yold} are obtained and put into XXarrays ${\tt read-buffer_{A}}$ and ${\tt read-buffer_{B}}$. In Step II XXin this figure, we loop over all edges assigned to processor {\tt P}. XXIn Step IIA, when yold(node(i,1)) is assigned to {\tt P}, we can assign XXyold(Local(node(i,1))) to ${\tt v_A}$. When yold(node(i,1)) is stored XXoff-processor, ${\tt v_A}$ must be obtained from the buffer $ {\tt XXread-buffer_{A}}$. The analogous conditional assignment is carried out XXfor ${\tt v_B}$ in Step IIB. In Step IIC the flux term is computed XXusing ${\tt v_A}$ and ${\tt v_B}$ and {\tt XXedgedata(i,1),...,edgedata(i,SMALL)}. In Step IID operations on XXelements of {\tt y} local to processor {\tt P} are performed. XXOperations on non-local elements of {\tt y} are deferred. For non-local XXelements of {\tt y} assignments are made to buffers ${\tt XXwrite-buffer_{A}}$ and to ${\tt write-buffer_{B}}$. Finally in Step XXIII, the calculated flux elements are added and subtracted from the XXappropriate off-processor array elements through the use of the XXscatter\_add and scatter\_subtract exchangers. Note that we can again XXuse schedules $S_A$ and $S_B$. XX XX\setbox1=\vbox{ XX\begin{itemize} XX\item[I.] Call Level 0 Gather Exchanger using XX(schedule $S_A$), \\ XXplace data in ${\tt read-buffer_A}$ XX\item[II.] Call Level 0 Gather Exchanger using (schedule $S_B$), \\ XXplace data in ${\tt read-buffer_B}$ XX XX\item[III.] For all edges i assigned to processor P XX\begin{enumerate} XX\item if Processor(node(i,1)) $=$ P XX\begin{itemize} XX\item[] ${\tt v_A}$ = yold(Local(node(i,1)) XX\item[] otherwise XX\item[] ${\tt v_A}$ = ${\tt read-buffer_{A}(Acount)}$ XX\item[] Acount = Acount + 1 XX\end{itemize} XX XX\item if Processor(node(i,2)) $=$ P XX\begin{itemize} XX\item[] ${\tt v_B}$ = yold(Local(node(i,2)) XX\item[] otherwise XX\item[] ${\tt v_B}$ = ${\tt read-buffer_{B}(Bcount)}$ XX\item[] Bcount = Bcount + 1 XX\end{itemize} XX XX XX\item Calculate flux using ${\tt v_A}$, ${\tt v_B}$. \\ XX This calculation also uses XX edgedata(i,1),.., edgedata(i,SMALL) XX XX\item if Processor(node(i,1)) $=$ P XX XX\begin{itemize} XX\item[] y(Local(node(i,1)) = y(Local(node(i,1)) + flux XX\item[] otherwise XX\item[] ${\tt write-buffer_{A}(Lcount)}$ = flux XX\end{itemize} XX XX\item[] if Processor(node(i,2)) $=$ P XX XX\begin{itemize} XX\item[] y(Local(node(i,2)) = y(Local(node(i,2)) + flux XX\item[] otherwise XX\item[] ${\tt write-buffer_{B}(Bcount)}$ = flux XX\end{itemize} XX\end{enumerate} XX XX\item[IV.] scatter\_add exchanger called using schedule $S_A$ and ${\tt write-buffer_A}$ XX\item[] scatter\_subtract exchanger called using schedule XX$S_B$ and ${\tt write-buffer_B}$ XX\end{itemize} XX} XX XX\begin{figure} XX\tightboxit{ XX\box1 XX} XX\caption{Unstructured Mesh CFD Kernel \label{executor}} XX\end{figure} XX XX\section{Experiments} XX XXThe experiments described in this paper used either a 32 processor XXiPSC/860 machine located at ICASE at NASA Langley research center or a XX128 processor iPSC/860 machine located at Oak Ridge National XXLaboratories. Each processor had 8 megabytes of memory. We used the XXGreenhill 1.8.5 Beta version C compiler and the Greenhill 1.8.5 Beta XXversion 4.1 Fortran compiler to generate code for the 80860 processors. XX XX\subsection{Primitives Benchmark Timings} XX XXWe first measure the time required to perform level 0 and level XX1 Scheduler, Gather Exchanger and Scatter Exchanger procedure XXcalls. We use the level 1 initialization primitive to declare XXa 128 by 128 element distributed array of single XXprecision numbers. We allocate four processors configured in a XX2 by 2 grid {\tt G} and allocate an array block to each processor. XX XXWe use the level 1 primitives to repeatedly exchange information between XXtwo processors in the grid. We first scatter and then gather lists of XXarray elements. In this experiment, we chose array elements in {\tt n} XXby {\tt n} sub-blocks between the upper left hand corner and the lower XXleft hand corner of {\tt G}. In performing this experiment, we measure XXthe time required to perform the following procedure calls: XX\begin{enumerate} XX\item Level 0 Scheduler XX\item Level 0 Scatter XX\item Level 0 Gather XX\item Level 1 Scheduler XX\item Level 1 Scatter XX\item Level 1 Gather XX\item iPSC/860 supplied send and receive pairs that exchange XX$4n^2$ bytes of data XX\end{enumerate} XX XXIn Table ~\ref{commtime} we depict the results of these experiments. We XXpresent the time (in milliseconds) required to perform the requisite XXdata exchange using send and receive messages. We then present the XXratio between the time taken by PARTI primitive calls and the time taken XXby the equivalent send and receive calls. Table ~\ref{commtime} only XXpresents Gather Exchange and Scheduler calls. The Level 0 and Level 1 XXScatter Exchange calls were also timed, the results for each Scatter XXExchange call were virtually identical to that of the corresponding XXGather Exchange call. XX XX\begin{table} XX\centering XX\caption{Overheads for Level 0 and Level 1 Primitives XX\label{commtime}} XX\begin{tabular}{|c|c|c|c|c|c|} \hline XXNumber of& Send & Level 0 & Level 1& Level 0& Level 1 \\ XXData & Receive & Gather & Gather& Scheduler& Scheduler \\ XXElements & Time(ms)& (ratio) & (ratio)& (ratio) & ratio \\ \hline XX100 & 0.5 & 1.0 & 1.2 &2.1& 7.0 \\ XX400 & 1.0 & 1.1 & 1.3 &1.4& 9.2 \\ XX900 & 1.8 & 1.1 & 1.5 & 1.3& 10.7 \\ XX1600 & 2.9 & 1.2 & 1.6 & 1.3 & 11.2 \\ XX2500 & 4.3 & 1.2 & 1.6 & 1.1 &11.1 \\ XX3600 & 6.0 & 1.2 & 1.6 & 1.0 &11.2 \\ XX\hline XX\end{tabular} XX\end{table} XX XXWe first note that for relatively large amounts of data, a Level 0 XXGather Exchange takes a factor of 1.2 more time than the corresponding XXsend/receive pair. A Level 1 Gather Exchange takes a factor of 1.6 more XXtime than the corresponding send/receive pair. Again, for relatively XXlarge amounts of data, it costs about as much to schedule a message XXusing the Level 0 primitives as it takes to send the message using send XXand receive messages. In contrast, the Level 1 Scheduler is an order of XXmagnitude more expensive than the corresponding send/receive pairs. XXThis relatively high cost is caused by the integer operations needed to XXidentify each reference to a distributed two dimensional array with a XXprocessor and local storage location. XX XX\subsection{Kernel from Unstructured Mesh Code\label{expfluxroe}} XX XXWe used an unstructured mesh that was generated to perform an XXaerodynamic simulation involving a multielement airfoil in a landing XXconfiguration~\cite{mavriplis}. The unstructured mesh consists of a XXhighly non-uniform scattering of mesh points joined together by line XXsegments to form a set of triangular elements. The algorithm used is XXthe Delaunay Triangulation algorithm~\cite{delaunay}. Details of this XXmesh generation process can be found in~\cite{mavriplis}. The mesh used XXin this problem had 11143 vertices, and is shown in Fig.~\ref{mesh}. XXThe computational algorithm we study computes convective fluxes using a XXmethod based on Roe's approximate Riemann XXsolver~\cite{whitaker89},~\cite{whitaker90}. XX XX\begin{figure*} XX\hrule XX\vspace*{6in} XX\caption{Unstructured Mesh for Multielement Airfoil\label{mesh}} XX\hrule XX\end{figure*} XX XXThe computational kernel used in this experiment is very closely related XXto the kernel described in Fig.~\ref{balance}. In place of each of the XXarrays {\tt y} and {\tt yold} found in the kernel described in XXSection~\ref{unstruct}, we have four different arrays ${\tt XXy_{\rho},y_u,y_v,y_p}$ and ${\tt yold_{\rho},yold_u,yold _v,yold_p}$, XXrespectively. These represent the density, pressure, and velocity XXcomponents of the solution. Each call to an exchanger in XXFig.~\ref{executor} is consequently replaced by four exchanger calls. XXSince the data access patterns for each of these four arrays are XXidentical, we still need only call the scheduler twice, once with {\tt XX$Proc_A$} and {\tt $Local_A$} and once with {\tt $Proc_B$} and {\tt XX$Local_B$}. XX XXThe original program was written in Fortran. We initially extracted the XXcomputational kernel and produced a sequential C version of the kernel. XXThe multiprocessor codes developed were also written in C. When XXpartitioning this kernel, we made only modest efforts to reduce volume XXof needed communication and to balance load. When we employ {\tt P} XXprocessors, we partition the problem domain into {\tt P} strips. All XXthe vertices ${\tt V_S}$ in the ${\tt S}$th strip are assigned to a XXsingle processor. The strips are chosen to evenly partition the sum of XXthe number of edges associated with each ${\tt V_S}$. In order to allow XXus to use the Level 0 primitives, we renumbered the mesh points so that XXcontiguously numbered mesh points are assigned to a processor. If both XXvertices comprising an edge were assigned to a processor the edge was XXassigned to the same processor. If the vertices $v_1$ and $v_2$ XXcomprising an edge were assigned to two different processors {\tt p} and XX{\tt q} respectively, we assigned the edge to processor {\tt q}. XX XXWe measured the time required for an iPSC/860 multiprocessor to compute XXthe parallelized computational kernel as well as the time needed to XXperform the preprocessing and communications steps outline in XXSection~\ref{unstruct}. XX XXIn Table~\ref{fluxdata} we first report the computational rate in Mflops XXfor the parallelized code on 2 through 64 processors, along with a XXseparate sequential version of the kernel timed on a single iPSC/860 XXnode. The computational speed ranged from 3.2 Mflops for a single node XXto 87.3 Mflops on 64 nodes. We next depict the {\em total} time XXrequired to generate lists of off-processor references and to perform XXthe Level 0 scheduler calls (Steps I and II, Fig.~\ref{inspector}). The XXcost of finding the processor number and the local index number XXassociated with the vertices in each edge took a substantial portion of XXthis preprocessing time. For two processors the total preprocessing was XX198 milliseconds. Of this total preprocessing time, 181 milliseconds XXwas required for translating vertices to processors and local indices, XXand only 17 milliseconds was needed both to form lists of off-processor XXreferences and to call Level 0 schedulers (refer to XXTable~\ref{fluxdata}). When 64 processors were used, total XXpreprocessing required 23 milliseconds, of which 16 milliseconds was XXrequired for forming the lists of off-processor references and for XXcalling the Level 0 schedulers. XX XXAs we mentioned in Section~\ref{unstruct}, the preprocessing only needs XXto be carried out once and can be amortized over many unstructured mesh XXflux calculations. The time required to perform the flux calculations XX(Fig. ~\ref{executor}), is given as {\em total kernel time} in XXTable~\ref{fluxdata}. Note that total kernel time {\em does not include XXthe preprocessing cost}. The time required for preprocessing XXranges from 21 \% of the time needed to compute the computational kernel when 2 XXprocessors were used to 35 \% of the cost when we used 64 processors. XXFinally, we report the amount of time taken by the Level 0 exchangers XX(Steps I and III in Fig.~\ref{executor}. Communication costs XXranged from 2\% to 61\% of the total cost needed for the kernel computation for XX2 and 64 processors respectively. The time needed for communication in XXthe kernel increases with the number of processors, the communication XXtime reaches a plateau of approximately 40 milliseconds for 32 and 64 XXprocessors. This communication time could probably be significantly XXreduced were we to partition the domain in a way that required a smaller XXvolume of communication. While the Level 1 primitives embed data arrays XXinto processor arrays using a gray code, the Level 0 primitives do not XXprovide support for such an embedding. The increase in communication XXtime from 2 to 32 processors is largely due to the non-local XXcommunication pattern ~\cite{shahid90}; we would expect that gray coding XXwould improve performance. XX XXWe can define parallel efficiency for a given number of processors {\tt XXP} as the sequential time divided by the product of the execution time XXon {\tt P} processors times {\tt P}. In Table~\ref{fluxeff} we depict XXunder the heading of {\em single sweep efficiency}, the parallel XXefficiencies we would obtain were we required to preprocess the kernel XXeach time we carried out calculations. In reality, preprocessing time XXcan be amortized over multiple mesh sweeps. If we neglect the time XXrequired to preprocess the problem in computing parallel efficiencies, XXwe obtain the second set of parallel efficiency measurements presented XXin Table ~\ref{fluxeff}. The amortized parallel efficiencies we obtain XXrange from 99.7 for 2 processors to 44.4 for 64 processors. XX XXThe processor architecture of the Intel-2/860 includes a 8K byte data XXcache. We can anticipate that for a fixed sized problem, the rate of XXcomputation on each node will tend to increase with concurrency. We XXquantified the performance effects of the data cache by employing the XX{\em sequential program} to sweep over the edges that we assigned to XXprocessor 0 when we partitioned the problem between various numbers of XXprocessors. In Table ~\ref{fluxeff}, we depict the results we obtained. XXThe rate of computation was 3.08 Mflops when we calculated the flux for XXthe entire problem. The computational rate increased monotonically as XXthe size of the sub-problem assigned to processor 0 decreased, reaching XX3.24 Mflops in the 64 processor case. XX XX\begin{table} XX\centering XX\caption{Timings for Roe's Approximate Riemann Solver of Unstructured Mesh XX(in microsecs)\label{fluxdata}} XX\begin{tabular}{|c|c|c|c|c|c|} \hline XXNumber of & Mflops &Total & Form off-processor & Total Kernel & Communication \\ XXProcessors & &Preprocessing &Lists, Schedule & Time & in Kernel \\ \hline XX & Time(ms) & &Time (ms) & Time(ms) & Time(ms) \\ \hline XX1 & 3.1 & - &- & 1845& - \\ XX2 & 6.1 & 198 & 17 & 925 & 17 \\ XX4 & 11.8& 105 & 13 & 482 & 27 \\ XX8 & 22.0& 56 & 9 & 258 & 31 \\ XX16 &38.9& 32 & 8 & 146 & 36 \\ XX32 & 63.1&25 & 12 & 90 & 41 \\ XX64 & 87.3& 23 & 16 & 65 & 40 \\ XX\hline XX\end{tabular} XX\end{table} XX XX\begin{table} XX\centering XX\caption{Parallel Efficiencies for Roe's Approximate Riemann Solver of Unstructured Mesh XX\label{fluxeff}} XX\begin{tabular}{|c|c|c|c|} \hline XXNumber of & Single Sweep & Amortized & Single Processor \\ \hline XXProcessors &Efficiency & Efficiency & Speed (Mflops)\\ \hline XX1 & 100.0 & 100.0 & 3.08 \\ XX2 & 82.1 & 99.7 & 3.17\\ XX4 & 78.6 & 95.6 & 3.17 \\ XX8 & 73.4 & 89.3 & 3.18 \\ XX16 & 64.8 & 80.0 & 3.20\\ XX32 & 50.1 & 64.1 & 3.23 \\ XX64 & 32.8 &44.4 & 3.24 \\ XX\hline XX\end{tabular} XX\end{table} XX XX\label{sec:exp} XX XX\subsection{Computational Results for Domain Decomposition Algorithm} XX XXWe present computational results for the parallelized domain XXdecomposition algorithm. This domain decomposition algorithm decides XXwhen to refine the coarse mesh using an error estimator based on the XXfirst and second derivatives of the solution ~\cite{Scro91}. This XXprogram was written in Fortran. XX XXTable ~\ref{manyproc} depicts the total computation time in seconds XXrequired to run the example problem with the tolerance ({\em TOL}) for XXthe second derivative set to $21$. The computations were carried out XXfor a total of 440 coarse-grid time steps. Due to memory constraints, XXwe we unable to run this problem on fewer than eight processors. An XXconservative lower bound estimate of the sequential time that would be XXrequired to solve this problem was obtained by generating {\tt S}, the XXsum of the time all processors spent in sweeps over the fine mesh. {\tt XXS} includes no communication or primitive calls and the code executed XXhas the same number of operations as would a sequential sweep over a XXfine mesh. The 8 processor timing took 3.2 times as long as the 4 XXprocessor timing; the ratio between the 32 processor timing and {\tt S} XXwas 22.7. XX XX\begin{table} XX XX\centering XX\caption{Adaptive Mesh Solver- Timings (seconds) XX\label{manyproc}} XX XX\begin{tabular}{|c|c|c|c|c|} \hline XXNumber of & Total & Total Scheduling & Gather/Scatter \\ XXProcessors & Time & Time & Time \\ \hline XX & Time(ms) & (seconds) & seconds \\ \hline XX 1 & 5632* & & \\ XX 8 & 794 & 4 & 65 \\ XX 16 & 417 & 6 & 40 \\ XX 32 & 248 & 10 & 27 \\ XX \hline XX \end{tabular} XX \end{table} XX XXWe also measure the total time required by all Level 1 schedule XXprocedure calls. The scheduling took very little time; the overhead for XXscheduling ranged from 0.5 \% of the total time (on 8 processors ) to XX4.0 \% of the total time (on 32 processors). This increase in the cost XXof the Scheduler with increasing numbers of processors can be explained XXby the Scheduler's global communications phase discussed in XXSection~\ref{howto}. Finally we measured the time required for XXgather/scatter procedure calls. The time required for the XXgather/scatter procedure calls ranged from 8 \% to 11 \% of the XXexecution time. XX XXIn Table~\ref{tabtol} we depict the results obtained from running the XXexample problem on $32$ processors with a range of second derivative XXtolerance ({\tt TOL}) values; the amount of refinement increases as {\tt XXTOL} decreased. These problems were all continued for a total of 440 XXcoarse-grid time steps. In Table~\ref{tabtol} we see that for problems XXin which there was less refinement, the Level 1 scheduler required a XXlarger proportion of the total time. The ratio of computation to XXcommunication time did not change significantly with the amount of XXrefinement. XX XXThe refined mesh blocks were distributed among processors in a round XXrobin fashion. We consequently expect the ratio of computations to data XXelements communicated to remain roughly constant. As the number of XXrefined blocks increases, we expect that each processor will have to XXcommunicate with increasing numbers of other processors. A more XXsophisticated strategy for assigning refined blocks to processors would XXbe likely to result in lower communication times both by reducing the XXvolume and increasing the locality of communications. XX XXThe Level 1 Scheduler required only 4 \% of the total time when {\tt XXTOL} was equal to $21$ but the Level 1 scheduler required 10 \% of the XXtotal time when {\tt TOL} was equal to $27$. As stated above, the XXscheduler has a global communications phase whose cost does not depend XXon the amount of data to be communicated by each processor. The XXEstimated Optimal Computation time depicted in Table~\ref{tabtol} is XX{\tt S} divided by the number of processors. This gives a rough XXestimate of the time that would be required to solve this problem were XXwe to have attained linear speedup. XX XX\begin{table} XX\centering XX\caption{ Adaptive Solver- Varying Tolerance (32 processors)\label{tabtol}} XX XX\begin{tabular}{|c|c|c|c|c|} \hline XXTolerence & Total & Est. Optimal& Scheduling& Communication \\ XX & Time & Comp Time & Time & Time \\ XX & & (seconds) & (seconds) & (seconds)\\ \hline XX 21 &248 &176 & 10 & 27 \\ XX 23 &186 & 130 & 9 & 19 \\ XX 25 &130 & 91 & 7 & 15 \\ XX 27 &92 & 57 & 6 & 9 \\ XX \hline XX \end{tabular} XX \end{table} XX XX\section{Conclusion} XXThe ideas incorporated in PARTI are specifically aimed at computations XXon distributed memory machines in which the structure of the computation XXdepends on the input data. Run-time support must be incorporated as XXpart of the distributed implementation of such computations. XX XXThe PARTI primitives allow the user to describe how a data array is XXmapped into the distributed memory of the machine. This is accomplished XXby specifying the mapping of the data to a virtual processor array, then XXdescribing the relationship between the virtual processor array and the XXoriginal processor array. These primitives perform scheduling XXoperations that make it possible to efficiently perform gather and XXscatter operations on distributed arrays using global indices. To XXillustrate the performance tradeoffs encountered in these optimizations, XXwe presented benchmark results from an unstructured mesh kernel, and an XXadaptive partial differential equation solver. Our results suggest that XXthese primitives optimize at a relatively low cost. XX XX\section{Acknowledgments} XX XXWe would like to thank Tom Zang and David Whitaker for providing us with XXthe computational kernel from their approximate Riemann \ XXsolver ~\cite{whitaker89},~\cite{whitaker90} and to Oak Ridge National XXLaboratory for giving us access to their iPSC/860 hypercube. XX XX\bibliography{/croaker/home/jhs/chat/debbiebib,/croaker/home/jhs/chat/thesis,/croaker/home/scroggs/library/my} XX%\bibliography{/croaker/home/jhs/chat/debbiebib,/croaker/home/jhs/chat/thesis} XX%\bibliography{debbiebib,thesis,/usr/users/scroggs/library/my} XX XX\bibliographystyle{siam} XX XX\end{document} XEND_OF_FILE Xif test 59519 -ne `wc -c <'paper2.tex'`; then X echo shar: \"'paper2.tex'\" unpacked with wrong size! Xfi X# end of 'paper2.tex' Xfi Xif test -f 'paper21.bib' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'paper21.bib'\" Xelse Xecho shar: Extracting \"'paper21.bib'\" \(157003 characters\) Xsed "s/^X//" >'paper21.bib' <<'END_OF_FILE' XX XX@techreport{AdVo83, XX author="{L. M. Adams} and {R. G. Voigt}", XX title={Design, Development and Use of the Finite Element Machine}, XX number={NASA 172250}, XX institution={ICASE, Langley Research Center}, XX address={Langley, Virginia}, XX year={1985}, XX abstract={FEM parallel architecture} XX} XX XX@inproceedings{AnDr85, XX author="{J. R. Anderson} and {K. K. Droegemeier} and {R. B. Wilhelmson}", XX title={Simulation of the Thunderstorm Subcloud Environment}, XX booktitle={14th Conference on Severe Local Storms}, XX institution={Amer. Meteor. Soc.}, XX year={1985}, XX abstract={weather partial} XX} XX XX@techreport{Ashb85, XX author={Steven F. Ashby}, XX title={CHEBYCODE: A FORTRAN Implementation of Manteuffel's Adaptive Chebyshev Algorithm}, XX number={UILU-ENG-85-1708}, XX institution={Dept. Comp. Sci., University of Illinois}, XX address={Urbana-Champaign}, XX year={1985}, XX abstract={iterative Tchebyschev} XX} XX XX@techreport{AMS89, XX Author = "{S. F. Ashby} and {T. A. Manteuffel} and {P. E. Saylor}", XX Title = {Adaptive Polynomial Preconditioning for Hermitian Indefinite Linear Systems}, XX Institution = {LLNL}, XX Year = {1989}, XX Type = {UCLR Preprint}, XX Number = {UCLR-100970}, XX Address = {Livermore, CA}, XX Month = {April}, XX Abstract = {look for this in BIT} XX } XX XX@techreport{Ashc85, XX author={C. Cleveland Ashcraft}, XX title={Parallel Reduction Methods for the Solution of Banded Systems of Equations}, XX number={GMR-5094}, XX institution={General Motors Research Laboratories}, XX address={Warren, Michigan}, XX year={1985}, XX abstract={parallel linear banded direct} XX} XX XX@techreport{AsSh86, XX author="{C. Cleveland Ashcraft} and {G. Michael Shook} and {J. D. Jones}", XX title={A Computational Survey of the Conjugate Gradient Preconditions on the XXCray 1-S}, XX number={GMR-5299}, XX institution={General Motors Research Laboratory}, XX address={Warren, Michigan}, XX year={1986}, XX abstract={precondition conjugate} XX} XX XX@techreport{BaCr??, XX author="{Randolph E. Bank} and {Craig C. Douglas}", XX title={An Efficient Implementation for SSOR and Incomplete Factorization Preconditionings}, XX number={YALEU/DCS/RR-323}, XX institution={Dept. Comp. Sci., Yale University}, XX year={198?}, XX abstract={SOR ILU precondition} XX} XX XX@incollection{BaBe85, XX author="{I. M. Barbour} and {N. E. Behilil} and {P. E. Gibbs} and {G. Schierholz} and {M. Teper}", XX title={The Lanczos Method in Lattice Gauge Theories}, XX booktitle={The Recursion Method and its Applications}, XX publisher={Springer-Verlag}, XX address={Berlin}, XX year={1985}, XX abstract={Lanczos lattice gauge iterative tridiagonal} XX} XX XX@techreport{BaMo82, XX author="{D. Barkai} and {K. J. M. Moriarty}", XX title={Can the Monte Carlo Method for Lattice Gauge Theory Calculations be Effectively Vectorized?}, XX year={1982}, XX abstract={lattice gauge vectorize} XX} XX XX@techreport{BaFr83, XX author="{J. R. Baumgardner} and {P. O. Frederickson}", XX title={Icosahedral Discretization of the Two-Sphere}, XX number={LA-UR-83-3592}, XX institution={Los Alamos National Laboratory}, XX address={New Mexico}, XX year={1983}, XX abstract={FDM parallel} XX} XX XX@article{BCG88, XX Author = "{J. B. Bell}, {P. Colella} and {H. M. Glaz}", XX Title = "USE BCG90 INSTEAD", XX Year = "1988" XX } XX XX@article{BCG89, XX Author = "{J. B. Bell}, {P. Colella} and {H. M. Glaz}", XX Title = "A Second-Order Projection Method for the Incompressible Navier-Stoke XXs Equations", XX Year = "1989", XX volume = "85", XX number = "2", XX pages = "257-283", XX journal = "Journal of Computational Physics", XX Abstract = "Godunov CFD navier-stokes read-soon, UCRL-98225" XX } XX XX@book{BeOr78, XX author="{C. M. Bender} and {S. A. Orszag}", XX title={Advanced Mathematical Methods for Scientists and Engineers}, XX publisher={McGraw-Hill}, XX address={New York}, XX year={1978}, XX abstract={perturbation multiple-scales} XX} XX XX@article{BeFr, XX author="{Maurice W. Benson} and {P. O. Frederickson}", XX title={Iterative Solution of Large Sparse Linear Systems Arising in Certain Multidimensional Approximation Problems}, XX journal={Utilitas Mathematica}, XX volume={22}, XX year={1982}, XX pages={127-140}, XX abstract={iterative sparse ILU} XX} XX XX@article{BeSo80, XX title={Generalized OCI Schemes for Boundary Layer Problems}, XX author="{A. E. Berger} and {J. M. Solomon} and {M. Ciment} and {S. H. Leventhal} and {B. C. Weinberg}", XX year={1980}, XX journal={Math. Comp.}, XX volume={35}, XX number={151}, XX abstract={partial boundary_layer} XX} XX XX@article{BeBr83, XX author="{P. A. Bernhardt} and {J. U. Brackbill}", XX title={Solution of Elliptic Equations Using Fast Poisson Solvers}, XX journal={J. Comp. Phy.}, XX volume={53}, XX pages={382-394}, XX publisher={Academic Press, Inc.}, XX year={1983}, XX abstract={poisson elliptic partial} XX} XX XX@techreport{BCGM89, XX Author = "{M. Berry} and {H. C. Chen} and {E. Gallopoulos} and {U. Meier} and {A. Tuchman} and {H. Wijshoff} and {G. C. Yang}", XX Title = {Algorithmic Design on the Cedar Multiprocessor}, XX Institution = {CSRD, University of Illinois}, XX Year = {1989}, XX Number = {851}, XX Address = {Urbana-Champaign, Illinois}, XX Month = {February}, XX Abstract = {cedar, parallel processing} XX } XX XX@phdthesis{Bram89, XX Author = "{R. B. Bramley}", XX Title = {Row Projection Methods for Linear Systems}, XX School = {University of Illinois}, XX Year = {1989}, XX Month = {May}, XX Abstract = {cedar, parallel processing} XX } XX XX@article{Bran77, XX title={Multi-Level Adaptive Solutions to Boundary-Value Problems}, XX author={Achi Brandt}, XX year={1977}, XX journal={Math. Comp.}, XX volume={31}, XX number={138}, XX pages={333-390}, XX abstract={elliptic partial nonlinear} XX} XX XX@article{BGP87, XX title={Numerical Methods for the Navier-Stokes Equations Applications to the Simulation of Compressible and Incompressible Viscous Flows}, XX author="{M. O. Bristeau} and {R. Glowinski} and {J. Periaux}", XX year={1988}, XX journal={To appear in Computer Physics Report}, XX abstract={partial CFD} XX} XX XX@book{Cann84, XX title={The One-Dimensional Heat Equation}, XX author={J. Rozier Cannon}, XX year={1984}, XX address={Reading, Massachusetts}, XX publisher={Addison-Wesley Publishing Company}, XX volume={23}, XX abstract={analytic parabolic maximum } XX} XX XX@techreport{VeSl??, XX Author = "{G. K. Verboom} and {A. Slob}", XX Title = {Weakly-Reflective boundary conditions for two-dimensional shallow water flow problems}, XX Abstract = {external boundary conditions} XX } XX XX@book{ChHo84, XX author="{K. W. Chang} and {F. A. Howes}", XX title={Nonlinear Singular Perturbation Phenomena: Theory and Applications}, XX publisher={Springer-Verlag}, XX year={1984}, XX address={New York}, XX abstract={perturbation multiple-scales} XX} XX XX@techreport{ChHo86, XX author="{Mei-Oin Chen} and {Scott Hodel} and {J. S. Scroggs}", XX title={Solution of the One-Dimensional Heat Equation on the Cray X-MP}, XX number={for CS497}, XX year={1986}, XX abstract={parallel partial heat parabolic} XX} XX XX@techreport{CHMH85, XX author={I. B. Dumb}, XX title={{Use The 1986 paper instead}}, XX institution={Lawrence Livermore National Lab}, XX number={UCLR-92007} XX} XX XX XX@book{Dyke75, XX author={M. van Dyke}, XX title={Perturbation Methods in Fluid Mechanics}, XX publisher={Parabolic Press, Stanford}, XX year={1975}, XX abstract={perturbation multiple-scales} XX} XX XX@book{Eckh79, XX author={W. Eckhaus}, XX title={Asymptotic Analysis of Singular Perturbations}, XX publisher={North-Holland}, XX address={Amsterdam}, XX year={1979}, XX abstract={perturbation multiple-scales} XX} XX XX@phdthesis{Elma82, XX author={H. C. Elman}, XX title={Iterative Methods for Large, Sparse Nonsymmetric Systems of Linear Equations}, XX institution={Yale University, Computer Science Dept.}, XX year={1982}, XX abstract={linear iterative nonsymmetric conjugate Tchebyschev} XX} XX XX@techreport{Elma82, XX title={Iterative Methods for Large, Sparse, Nonsymmetric Systems of Linear Equations}, XX author={H. C. Elman}, XX year={1982}, XX number={PhD Thesis}, XX institution={Yale University}, XX abstract={iterative linear sparse nonsymmetric} XX} XX XX@techreport{ElGo89, XX Author = "{H. C. Elman} and {G. H. Golub}", XX Title = "USE ElGo90 INSTEAD" XX } XX XX@article{ElGo90, XX Author = "{H. C. Elman} and {G. H. Golub}", XX Title = "Iterative Methods for Cyclically Reduced Non-Self-Adjoint Linear Sys XXterms", XX Journal = "Mathematics of Computation", XX Year = "1990", XX Volume = "54", XX number = "190", XX Pages = "671-699", XX Abstract = "convection-diffusion, reference" XX } XX XX@article{FaMa84, XX author="{V. Faber} and {T. Manteuffel}", XX title={Necessary and Sufficient Conditions for the Existence of a Conjugate Gradient Method}, XX journal={SIAM J. Numer. Anal.}, XX volume={21:2}, XX pages={352-362}, XX year={April 1984}, XX abstract={linear conjugate} XX} XX XX@article{FaMa87, XX author="{Vance Faber} and {T. Manteuffel}", XX title={Orthogonal Error Methods}, XX journal={SIAM J. Numer. Anal.}, XX year={1987}, XX abstract={linear orthogonal conjugate } XX} XX XX@article{From68, XX title={A Method for Reducting Dispersion in Convective Difference Schemes}, XX author={Jacob E. Fromm}, XX year={1968}, XX journal={J. Comp. Phy.}, XX volume={3}, XX pages={176-189}, XX abstract={partial convection dispersion } XX} XX XX@misc{Garb90, XX Author = "{M. Garbey}", XX Title ="Asymptotic analysis of system of conservation laws (in preparation)", XX Year = "1990", XX Abstract = "asymptotics, submitted to SIAM appl math" XX } XX XX@misc{Gar89c, XX Author = "{M. Garbey}", XX Title = "Private Communications", XX year = {1989} XX } XX XX@book{GoVa83, XX author="{G. H. Golub} and {C. F. van Loan}", XX title={Matrix Computations}, XX publisher={The Johns Hopkins University Press}, XX address={Baltimore, MD}, XX year={1983}, XX abstract={linear bible} XX} XX XX@techreport{Hart87, XX Author = "A. Harten", XX Title = "{ENO} schemes with subcell resolution", XX Institution = "ICASE", XX Year = "1987", XX Type = "ICASE Report", XX Number = "87-56", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "August" XX } XX XX@techreport{MoGo89, XX Author = "{B. L. R. DeMoor} and {G. H. Golub}", XX Title = {The Restricted Singular Value Decomposition: Properties and Applications}, XX Institution = {Stanford University}, XX Year = {1989}, XX Type = {Numerical Analysis Project Manuscript}, XX Number = {NA-89-03}, XX Address = {Stanford, CA}, XX Month = {April} XX } XX XX@article{Hara88, XX Author = {E. Harabetian}, XX Title = {rarefactions and large time behavior for parabolic equations and monotone schemes}, XX Journal = {Commun. Math. Phys.}, XX Year = {1988}, XX Volume = {114}, XX Pages = {527-536}, XX Abstract = {asymptotics, corner layers, read} XX } XX XX@incollection{Heds72, XX title = {some numerical experiments with Davermos's method for nonlinear hyperbolic equations}, XX author = "{G. W. Hedstrom}", XX booktitle = {Numerische Losung nichtlinearer partieller differential und integroduifferentialgleichungen}, XX editor = "{H. A. Dold} and {Z. B. Eckmann}", XX year = {1972}, XX address = {New York}, XX publisher = {Springer-Verlag}, XX pages = {117-138}, XX abstract = {Nishida, Riemann solver} XX} XX XX@book{Hous64, XX author={A. S. Householder}, XX title={The Theory of Matrices in Numerical Analysis}, XX publisher={Blaisdell}, XX address={New York}, XX year={1964}, XX abstract={linear bible} XX} XX XX@inproceedings{KaKw89, XX Author = "{H. G. Kaper} and {M. K. Kwong}", XX Title = "Comparison theorems and their use in the analysis of some nonlinear diffusion problems", XX year={1989}, XX address={New York}, XX publisher={Marcel Dekker, Inc}, XX editor="{V. Faber} and { T. A. Manteuffel} and { D. L. Seth} and {A. B. White, Jr.}", XX booktitle={Transport theory, invariant embedding, and integral equations}, XX pages={165-177}, XX abstract={maximum principle, asymptotics} XX } XX XX@article{GrSa86, XX title={On the scope of the method of modified equations}, XX author = "{D. F. Griffiths} and {J. M. Sanz-Serna}", XX year={1986}, XX journal={SIAM J. Sci. Stat. Comput.}, XX volume={7}, XX number={3}, XX pages = {994-1008}, XX abstract={diffusion convection asymptotic partial read} XX} XX XX@article{Howe79, XX title={Robin and Neumann Problems for a Class of Singularly Perturbed Semilinear Elliptic Equations}, XX author={F. A. Howes}, XX year={1979}, XX journal={J. Diff. Eq.}, XX volume={34}, XX number={1}, XX abstract={diffusion convection asymptotic partial read} XX} XX XX@article{Howe81, XX title={Perturbed Boundary Value Problems Whose Reduced Solutions are Nonsmooth}, XX author={F. A. Howes}, XX year={1981}, XX journal={Indiana Univ. Math. J.}, XX volume={30}, XX pages={267-280}, XX number={2}, XX abstract={convection diffusion asymptotic partial read} XX} XX XX@inproceedings{Howe84, XX title={Multi-Dimensional Reaction-Convection-Diffusion Equations}, XX author={F. A. Howes}, XX year={1984}, XX address={New York}, XX publisher={Springer-Verlag}, XX editor="{B. D. Sleeman} and {R. J. Jarvis}", XX booktitle={Ordinary and Partial Differential Equations, Proceedings of the Eighth Conference, Dundee, Scotland}, XX volume={1151}, XX pages={217-223}, XX abstract={reaction convection diffusion partial asymptotics read} XX} XX XX@article{Howe86, XX Author = "F. A. Howes", XX Title = "Nonlinear Initial-boundary Value Problems in Rn", XX Journal = "Lectures in Applied Mathematics", XX Year = "1986", XX Volume = "23", XX Pages = "259-273", XX Abstract = "bounding functions, asymptotics" XX } XX XX@article{How86a, XX title={Multi-Dimensional Initial-Boundary Value Problems with Strong Nonlinearities}, XX author={F. A. Howes}, XX year={1986}, XX journal={Arch. for Rat. Mech. Anal.}, XX volume={91}, XX pages={153-168}, XX abstract={partial nonlinear read} XX} XX XX@article{How86b, XX title={Some Stability Results for Advection-Diffusion Equations. {II}}, XX author={F. A. Howes}, XX year={1986}, XX journal={Studies in Applied Mathematics}, XX volume={75}, XX pages={153-162}, XX abstract={convection diffusion partial perturbation read} XX} XX XX@inproceedings{Howe87, XX title={Asymptotic Stability of Viscous Shock Waves}, XX author={F. A. Howes}, XX year={1987}, XX booktitle={Transactions of the Fourth Army Conference on Applied Mathematics and Computing}, XX institution={ARO}, XX number={ARO Report 87-1}, XX abstract={stability Burgers asymptotics read} XX} XX XX@misc{Howe88, XX Author = "{F. A. Howes}", XX Title = "Some Models of Shock-Boundary Layer Interactions", XX Year = "1988", XX Abstract = "at Lawrence Livermore National Laboratory", XX Abstract = "shock boundary-layers" XX } XX XX@misc{How89b, XX Author = "{F. A. Howes}", XX Title = "Two-dimensional Advection-diffusion Equations with Constant Limiting Solutions", XX Year = "1989", XX Abstract = "informal manuscript (to be published)" XX } XX XX@article{How89a, XX Author = "F. A. Howes", XX Title = "Two-Dimensional Advection-Diffusion Equations with Constant Limiting Solutions", XX Journal = "submitted to Stud in Appl. Math.", XX Year = "1989", XX Abstract = "vorticity, read, asymptotics" XX } XX XX@article{How89c, XX Author = "F. A. Howes", XX Title = "Some Models of Shock-Boundary Layer Interactions", XX Journal = "J of Mathematical Analysis and Applications", XX Year = "1989", XX Volume = "138", XX Number = "1", XX Pages = "199-208", XX Abstract = "read, asymptotics" XX } XX XX@book{KeCo81, XX author="{J. Kevorkian} and {J. D. Cole}", XX title={Perturbation Methods in Applied Mathematics}, XX publisher={Springer-Verlag}, XX year={1981}, XX address={New York}, XX abstract={perturbation multiple-scales} XX} XX XX@article{LaWe60, XX title={Systems of Conservation Laws}, XX author="{P. D. Lax} and {B. Wendroff}", XX year={1960}, XX journal={Comm. Pure Appl. Math.}, XX volume={13}, XX pages={217-237}, XX abstract={don't have a copy of this one} XX} XX XX@book{Lax73, XX title={Hyperbolic Systems of Conservation Laws and the XX Mathematical Theory of Shock Waves}, XX author={P. D. Lax}, XX year={1973}, XX publisher={SIAM}, XX address={Philadelphia}, XX abstract={conservation laws hyperbolic read in Regional Conference Series in XXApplied Mathematics} XX} XX XX@incollection{Lax74, XX title={Invariant Functionals of Nonlinear Equations of Evolution}, XX author={P. D. Lax}, XX editor="{Sidney Leibovich} and {A. R. Seebass}", XX year={1974}, XX address={Ithaca, NY}, XX publisher={Cornell University Press} XX} XX XX@article{Leer84, XX title={On the Relation Between the Upwind-Differencing Schemes XX of {G}odunov, {E}ngquist-{O}sher and {R}oe}, XX author={B. van Leer}, XX year={1984}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={5}, XX number={1}, XX pages={1-20}, XX abstract={upwind hyperbolic partial read} XX} XX XX@article{MeVo77, XX author="{J. A. Meijerink} and {H. A. van_der_Vorst}", XX title={An Iterative Solution Method for Linear Systems of which the Coefficient Matrix is a Symmetric M-matrix}, XX journal={Math. Comp.}, XX volume={31:137}, XX pages={148-162}, XX year={1977}, XX abstract={linear iterative symmetric conjugate} XX} XX XX@book{Nayf73, XX title={Perturbation Methods}, XX author={A. H. Nayfeh}, XX publisher={Wiley-Interscience}, XX year={1973}, XX address={New York}, XX abstract={perturbation multiple-scales} XX} XX XX@inproceedings{Nixo77, XX Author = "{D. Nixon}", XX Title = {Perturbation of a Discontinuous Transonic Flow}, XX Booktitle = {AIAA 15th Aerospace Sciences Meeting}, XX Year = {1977}, XX Organization = {AIAA}, XX Address = {New York}, XX Abstract = {asymptotics} XX } XX XX@article{Nord90, XX Author = "{J. Nordstrom}", XX Title = {The influence of open boundary conditions on the convergence to steady state for the {N}avier-{S}tokes equations}, XX Journal = {JCP}, XX Year = {1989}, XX Volume = {85}, XX Pages = {210-244}, XX Abstract = {boundary conditions, cfd} XX } XX XX@techreport{Pete89, XX Author = "{P. M. Peterson}", XX Title = {PDE Tutor: a System for the Automatic Solution of Partial Differential Equations}, XX Institution = {CSRD, University of Illinois}, XX Year = {1989}, XX Number = {891}, XX Address = {Urbana-Champaign, Illinois}, XX Month = {August}, XX Abstract = {PDEs parallel processing} XX } XX XX@article{SaAb86, XX title={Multiple Steady States for Characteristic Initial Value Problems}, XX author="{M. D. Salas} and {S. Abarbanel} and {D. Gottlieb}", XX year={1986}, XX journal={Applied Numerical Mathematics}, XX volume={2}, XX number={3-5}, XX pages={193-210}, XX abstract={duct fluid partial. This is in the section called XX Advances in Numerical and Applied Mathematics, ed by {J.C. South, Jr.} XX and {M. Y. Hussaini}. ICASE 86-18, NASA 178076} XX} XX XX@techreport{Scro86, XX title={Solution of the One-Dimensional Heat Equation on a Parallel Computer}, XX author={J. S. Scroggs}, XX year={1986}, XX number={for A.H. Sameh}, XX abstract={partial parabolic parallel} XX} XX XX@techreport{Scr90a, XX title={Shock-layer bounds for a singularly perturbed equation }, XX author={J. S. Scroggs}, XX year={1990}, XX Institution = {ICASE}, XX Type = {ICASE Report}, XX Number = {90-52}, XX Address = {NASA Langley Research Center, Hampton, Virginia 23665-5225}, XX Month = {August} XX} XX XX@incollection{ScSo89, XX title={An Asymptotic Induced Numerical Method for the Convection-Diffusion-Reaction Equation}, XX author="{J. S. Scroggs} and {D. C. Sorensen}", XX booktitle={Mathematics for Large Scale Computing}, XX editor={Julio Diaz}, XX year={1989}, XX publisher={Marcel Decker}, XX pages={81-114} XX} XX XX@article{Scr88b, XX author = "{J. S. Scroggs}", XX title = "USE Scro90 Instead", XX journal = {}, XX year = {}, XX volume = {}, XX number = {}, XX pages = {} XX } XX XX@misc{SSB90, XX title = "Use {S}c{S}a90 instead ", XX Author = " {U. B. Silly}", XX } XX XX@techreport{Scro89, XX title = {USE Scr89b}, XX author = "{J. S. Scroggs}", XX year = {1989}, XX Institution = {ICASE}, XX Type = {ICASE Report}, XX Number = {89-62}, XX Address = {NASA Langley Research Center, Hampton, Virginia 23665-5225}, XX abstract = {submitted to Applied Numerical Mathematics} XX } XX XX@article{Scr89b, XX title = {An Iterative Method for Systems of Nonlinear Hyperbolic Equations}, XX author = "{J. S. Scroggs}", XX Journal = {Computers and Mathematics with Applications}, XX year = {1989}, XX Volume = {21}, XX Number = {5}, XX Pages = {137-144} XX } XX XX@article{Sod78, XX Author = "{G. A. Sod}", XX Title = {A Survey of Several Finite Difference Methods for Systems of Nonlinear Hyperbolic Conservation Laws}, XX Journal = {JCP}, XX Year = {1978}, XX Volume = {27}, XX Pages = {1-31}, XX Abstract = {shock-tube, CFD example} XX } XX XX@article{UrDu89, XX title = {Sufficient conditions for the convergence of asynchronous iterations}, XX author = "{A. Uresin} and {M. Dubois}", XX Journal = {Parallel Computing}, XX year = {1989}, XX Volume = {10}, XX Pages = {83-92}, XX Abstract = {parallelism, waveform} XX } XX XX@article{Baud78, XX title = {Asynchronous iterative methods for multiprocessors}, XX author = "{G. M. Baudet}", XX Journal = {J of the ACM}, XX year = {1978}, XX Volume = {25}, XX Number = {2}, XX Pages = {226-244}, XX Abstract = {parallelism, waveform} XX } XX XX@inproceedings{ThSa85, XX Author = "{J. L. Thomas} and {M. D. Salas}", XX Title = "Far-field Boundary Conditions for Transonic Lifting Solutions to the Euler Equations", XX Organization = "AIAA", XX Booktitle = "AIAA 32rd Aerospace Sciences Meeting", XX Year = "1985", XX Address = "New York", XX Month = "January", XX Abstract = "boundary conditions, interface, Riemann invariants" XX } XX XX@article{Wagn89, XX title = {The existence and behavior of viscous structure for plane detonation waves}, XX author = {D. H. Wagner}, XX year = {1989}, XX journal = {SIAM J. Math. Anal.}, XX volume= {20}, XX pages = {1035-1055}, XX abstract = {asymptotics, combustion} XX} XX XX@book{Walt70, XX title={Differential and Integral Inequalities}, XX author={Wolfgang Walter}, XX year={1970}, XX address={New York, NY}, XX publisher={Springer-Verlag}, XX abstract={Nagumo-Westfal maximum principle parabolic } XX} XX XX@book{Whit74, XX author={G. B. Whitham}, XX title={Linear and Nonlinear Waves}, XX publisher={John Wiley and Sons}, XX address={New York}, XX year={1974}, XX abstract={Burgers shocks} XX} XX XX@book{abcs, XX title={this is the end of alphabetized section} XX} XX XX@book{Olve74, XX author={F. W. J. Olver}, XX title={Asymptotics and Special Functions}, XX publisher={Academic Press}, XX address={New York}, XX year={1974}, XX abstract={perturbation multiple-scales} XX} XX XX@book{LiSe74, XX author="{C. C. Lin} and {L. A. Segel}", XX title={Mathematics Applied to Deterministic Problems in the Natural Sciences}, XX publisher={Macmillan}, XX year={1974}, XX address={New York}, XX abstract={perturbations multiple-scales} XX} XX XX@book{MePa80, XX author="{R. E. Meyer} and {S. V. Parter}", XX title={Singular Perturbations and Asymptotics}, XX publisher={Academic Press}, XX address={New York}, XX year={1980}, XX abstract={perturbation multiple-scales Meyer and Parter are actually the editors} XX} XX XX@article{Blum83, XX author={George W. Bluman}, XX title={On Mapping Linear Partial Differential Equations to Constant Coefficient Equations}, XX journal={SIAM J. Appl. Math.}, XX volume={43}, XX number={6}, XX year={1983}, XX abstract={partial} XX} XX XX@article{Buzb73, XX author={Billy L. Buzbee}, XX title={A Fast Poisson Solver Amenable to Parallel Computation}, XX journal={IEEE Trans. Comp.}, XX volume={C-22}, XX number={8}, XX year={1973}, XX abstract={poisson parallel} XX} XX XX@article{Cepe82, XX author={D. Ceperley}, XX title={The Simulation of Quantum Systems with Random Walks: A New Algorithm for Charged systems}, XX journal={J. Comp. Phy.}, XX volume={51}, XX number={3}, XX year={1982}, XX abstract={monte quantum} XX} XX XX@article{AdOr82, XX author="{L. Adams} and {J. Ortega}", XX title={A Multi-Color Method for Parallel Computation}, XX journal={IEEE}, XX year={1982}, XX abstract={linear SOR parallel} XX} XX XX@article{ChKu78, XX author="{S. C. Chen} and {D. J. Kuck} and {A. H. Sameh}", XX title={Practical Parallel Band Triangular System Solvers}, XX journal={ACM ToMS}, XX volume={4}, XX number={3}, XX year={1978}, XX abstract={parallel banded triangular linear} XX} XX XX XX@article{ChNe84, XX author="{S. A. Chin} and {J. W. Negele} and {S. E. Koonin}", XX title={Guided Random Walks for Solving Hamiltonian Lattice Gauge Theories}, XX journal={Annals. Phy.}, XX volume={157}, XX pages={140-165}, XX year={1984}, XX abstract={monte gauge} XX} XX XX@article{ChRo85, XX author="{S. A. Chin} and {O. S. van Roosmalen} and {E. A. Umland} and {S. E. Koonin }", XX title={Exact Ground-state Properties of the SU(2) Hamiltonian Lattice Gauge Theory}, XX journal={Phys. Rev. D}, XX volume={31}, XX number={12}, XX year={1985}, XX abstract={lattice gauge monte} XX} XX XX@techreport{ChHe86, XX author="{R. C. Y. Chin} and {G. W. Hedstrom} and {C. E. Siewert}", XX title={On the use of the Fn Method with Splines for Radiative Transfer Problems}, XX number={UCRL-94464}, XX institution={Lawence Livermore National Lab}, XX year={1986}, XX abstract={radiative spline} XX} XX XX@techreport{DoS86a, XX title={A Fully Parallel Algorithm for the Symmetric Eigenvalue Problem}, XX author="{J. J. Dongarra} and {D. C. Sorensen}", XX year={1986}, XX institution={Argonne National Lab, University of Chicago}, XX number={ANL/Mathematics of Computations-TM-62}, XX abstract={eigenvalue parallel } XX} XX XX@techreport{DoLo86, XX title={Performance of Alliant FX/8 Multiprocessor in Some CFD Applications}, XX author="{Dan Dorney} and {Jim Loellbach} and {Tedd Pierce}", XX year={1986}, XX institution={Dept. Aero. and Astro. Eng., University of Illinois}, XX abstract={fluid parallel Alliant} XX} XX XX@article{DuGr77, XX title={Approximating the Inverse of a Matrix for Use in Iterative Algorithms on Vector Processors}, XX author="{P. F. Dubois} and {A. Greenbaum} and {G. H. Rodrigue}", XX year={1977}, XX journal={Computing}, XX volume={22}, XX pages={257-268}, XX abstract={vector linear iterative ILU} XX} XX XX@article{Duko84, XX title={A Simplified Adaptive Mesh Technique Derived from the Moving Finite Element Method}, XX author={J. K. Dukowicz}, XX year={1984}, XX journal={J. Comp. Phy.}, XX volume={56}, XX pages={324-342}, XX abstract={adaptive FEM partial} XX} XX XX@article{Eise81, XX title={Efficient Implementation of a Class of Preconditioned Conjugate Gradient Methods}, XX author={Stanley C. Eisenstat}, XX year={1981}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={2}, XX number={1}, XX pages={1-4}, XX abstract={linear conjugate precondition ILU} XX} XX XX XX@techreport{EvHa57, XX title={The Particle-in-cell Method for Hydrodynamic Calculations}, XX author="{Martha W. Evans} and {Francis H. Harlow} and {Eleazer Bromberg}", XX year={1957}, XX institution={Los Alamos National Lab}, XX number={LA-2139 (TID-4500)}, XX abstract={particle fluid} XX} XX XX@article{FaMa84, XX title={Necessary and Sufficient Conditions for the Existence of a Conjugate Gradient Method}, XX author="{Vance Faber} and {T. Manteuffel}", XX year={1984}, XX journal={SIAM M. Numer. Anal.}, XX volume={21}, XX number={2}, XX pages={352-362}, XX abstract={linear conjugate} XX} XX XX@article{FaMi67, XX title={A New Computational Procedure for {A}.{D}.{I}. Methods}, XX author="{G. Fairweather} and {A. R. Mitchell}", XX year={1967}, XX journal={SIAM J. Numer. Anal.}, XX volume={4}, XX number={2}, XX pages={163-170}, XX abstract={ADI linear partial FDM} XX} XX XX@article{Fle82a, XX title={Comparison of Finite Element and Finite Difference Solutions of the One- and Two-Dimensional {B}urgers' Equation}, XX author={Clive A. J. Fletcher}, XX year={1982}, XX journal={J. Comp. Phy.}, XX volume={51}, XX pages={159-188}, XX abstract={FEM FDM Burgers parabolic partial} XX} XX XX@techreport{FoJe??, XX title={Formal Conventions of the SLATEC Library}, XX author="{K. W. Fong} and {T. H. Jefferson} and {T. Suyehiro}", XX abstract={standards Slatex} XX} XX XX@techreport{Fred75, XX title={Fast Approximate Inversion of Large Sparse Linear Systems}, XX author={P. O. Frederickson}, XX year={1975?}, XX institution={Dept. Math. Sci., Lakehead Univ.}, XX number={Mathematics Report #7-75}, XX abstract={linear sparse ILU} XX} XX XX@article{Fisc77, XX title={Numerical Solution of General Hartree-Fock Equations for Atoms}, XX author={Charlotte Forese Fischer}, XX year={1977}, XX journal={J. Comp. Phy.}, XX volume={27}, XX pages={221-240}, XX abstract={partial} XX} XX XX@techreport{FrHi84, XX title={Pseudo-Random Trees in Monte Carlo}, XX author="{P. Frederickson} and {R. Hiromoto} and {T. L Jordan} and {Buron Smith} and {Tony Warnock}", XX year={1984}, XX institution={Los Alamos National Lab}, XX number={LA-UR-84-7}, XX abstract={monte random} XX} XX XX@article{GaSa82, XX title={Iterative Algorithms for Tridiagonal Matrices on a WSI-Multiprocessor}, XX author="{D. D. Gajski} and {A. H. Sameh} and {J. A. Wisniewski}", XX year={1982}, XX journal={IEEE ?}, XX abstract={parallel iterative tridiagonal linear} XX} XX XX@article{GoKa65, XX title={Calculating the Singular Values and Pseudo-Inverse of a Matrix}, XX author="{G. Golub} and {W. Kahan}", XX year={1965}, XX journal={SIAM J. Numer. Anal., Ser. B.}, XX volume={2}, XX number={2}, XX abstract={linear ILU SVD} XX} XX XX@techreport{Gree85, XX title={A Multigrid Method for Multiprocessors}, XX author={A. Greenbaum}, XX year={1985}, XX institution={Lawrence Livermore Natl. Lab.}, XX number={UCRL-92211}, XX abstract={multigrid partial linear parallel} XX} XX XX@article{Gust78, XX title={A Class of First Order Factorization Methods}, XX author={Ivar Gustafsson}, XX year={1978}, XX journal={BIT}, XX volume={18}, XX pages={142-156}, XX abstract={ILU linear} XX} XX XX@article{Halp86, XX title={Artificial Boundary Conditions for the Linear Advection Diffusion Equation}, XX author={Laurence Halpern}, XX year={1986}, XX journal={Math. Comp.}, XX volume={46}, XX number={174}, XX pages={425-438}, XX abstract={convection diffusion partial} XX} XX XX@article{HaSm84, XX title={A Numerical Study of Nonspherical Black Hole Accretion. {II}. Finite Differencing and Code Calibration}, XX author="{J. F. Hawley} and {Larry L. Smarr} and {J. R. Wilson}", XX year={1984}, XX journal={Astro. J. Supplement Ser.}, XX volume={55}, XX pages={211-246}, XX abstract={FDM partial} XX} XX XX@article{Hock82, XX title={Optimizing the FACR(l) Poisson-Solver on Parallel Computers}, XX author={R. W. Hockney}, XX year={1982}, XX journal={IEEE}, XX abstract={poisson elliptic partial} XX} XX XX@techreport{Hyma81, XX title={Vectorizable Factorization of Sparse Matrices}, XX author={J. M. Hyman}, XX year={1981}, XX institution={Los Alamos National Lab}, XX abstract={ILU sparse direct linear} XX} XX XX@techreport{HyMa80, XX title={High-Order Incomplete LU Factorizations of Sparse Matrices}, XX author={J. M. Hyman}, XX year={1980}, XX institution={Los Alamos National Lab}, XX number={LA-UR-80-3701}, XX abstract={ILU sparse linear direct} XX} XX XX@article{JoMi83, XX title={Polynomial Preconditioners for Conjugate Gradient Calculations}, XX author="{Olin G. Johnson} and {Charles A. Micchelli} and {George Paul}", XX year={1983}, XX journal={SIAM J. Numer. Anal.}, XX volume={20}, XX number={2}, XX abstract={precondition linear conjugate} XX} XX XX@techreport{Jord83, XX title={Conjugate Gradient Preconditioners for Vector and Parallel Processors}, XX author={T. L. Jordan}, XX year={1983}, XX institution={Los Alamos Natl. Lab.}, XX number={LA-UR-83-272}, XX abstract={conjugate linear precondition parallel vector} XX XX} XX XX@techreport{KaSa84, XX title={The Preconditioned Conjugate Gradient Algorithm on a Multiprocessor}, XX author="{C. Kamath} and {A. Sameh}", XX year={1984}, XX institution={Argonne Natl. Lab.}, XX number={ANL/Mathematics of Computations-TM-28}, XX abstract={conjugate parallel linear} XX} XX XX@book{AnTa84, XX title={Computation Fluid Mechanics and Heat Transfer}, XX author="{D. A. Anderson} and {J. C. Tannehill} XX and {R. H. Pletcher}", XX year={1984}, XX address={New York}, XX publisher={Hemisphere Publishing Corp., McGraw-Hill}, XX abstract={fluid partial } XX} XX XX@techreport{Karm84, XX title={A New Polynomial-Time Algorithm for Linear Programming}, XX author={N. Karmarkar}, XX year={1984}, XX address={Murray Hill, New Jersey}, XX institution={AT and T Bell Labs}, XX abstract={linear_programming} XX} XX XX@article{KoKu82, XX title={An Efficient Parallel Block Conjugate Gradient Method for Linear Programming}, XX author="{J. S. Kowalik} and {S. P. Kumar}", XX year={1982}, XX journal={IEEE}, XX abstract={parallel linear block conjugate linear_programming} XX} XX XX@article{KuDa86, XX title={Parallel Supercomputing Today and the Cedar Approach}, XX author="{D. J. Kuck} and {Edward S. Davidson} and {Duncan H. Lawrie} and {A. H. Sameh}", XX year={1986}, XX journal={Science}, XX volume={231}, XX abstract={parallel architecture} XX} XX XX@article{Laut85, XX title={Monte Carlo Methods in Theoretical High-Energy Physics}, XX author={B. Latrup}, XX year={1985}, XX journal={Comm. ACM}, XX volume={28}, XX number={4}, XX abstract={monte physics} XX} XX XX@article{Lini84, XX title={On Factored Discretizations of the Laplacian for the Fast Solution of Poisson's Equation on General Regions}, XX author={Werner Liniger}, XX year={1984}, XX journal={to appear in BIT}, XX abstract={ILU partial fast_poisson} XX} XX XX@article{LuMi84, XX title={Chaotic Parallel Computations of Fixed Points of Nonnegative Matrices of Unit Spectral Radius}, XX author="{Boris Lubachevsky} and {Debasis Mitra}", XX year={1984}, XX journal={IEEE}, XX abstract={parallel linear chaotic eigenvalue} XX} XX XX@techreport{Mads83, XX title={MOLAG: A Method of Lines Adaptive Grid Interface for Nonlinear Partial Differential Equations}, XX author={Niel K. Madsen}, XX year={1983}, XX institution={Lawrence Livermore Natl. Lab.}, XX number={UCRL-89636}, XX abstract={method_of_lines partial} XX} XX XX@article{MaRo76, XX title={Matrix Multiplication by Diagonals on a Vector/Parallel Processor}, XX author="{Niel K. Madsen} and {G. H. Rodrigue} and {J. I. Karush}", XX year={1976}, XX volume={5}, XX number={2}, XX journal={Information Processing Letters}, XX abstract={parallel vector linear} XX} XX XX@article{Mant78, XX title={Adaptive Procedure for Estimating Parameters for the Nonsymmetric Tchebychev Iteration}, XX author={T. A. Manteuffel}, XX year={1978}, XX journal={Numer. Math.}, XX volume={31}, XX pages={183-208}, XX abstract={linear Tchebyschev} XX} XX XX@article{Mant77, XX title={The Tchebychev Iteration for Nonsymmetric Linear Systems}, XX author={T. A. Manteuffel}, XX year={1977}, XX journal={Numer. Math.}, XX volume={28}, XX pages={307-327}, XX abstract={linear Tchebyschev} XX} XX XX@article{MeVo77, XX title={An Iterative Solution Method for Linear Systems of Which the Coefficient Matrix is a Symmetric M-Matrix}, XX author="{J. A. Meijerink} and {H. A. van_der_Vorst}", XX year={1977}, XX journal={Math. Comp.}, XX volume={31}, XX number={137}, XX pages={148-162}, XX abstract={iterative linear} XX} XX XX@article{MeRo53, XX title={Equation of State Calculations by Fast Computing Machines}, XX author="{Nicholas Metropolis} and {Arianna W. Rowenbluth} and {Marshall N. Rosenbluth} and {Augusta H. Teller} and {Edward Teller}", XX year={1953}, XX journal={J. Chem. Phy.}, XX volume={21}, XX number={6}, XX abstract={monte} XX} XX XX@article{OLWh85, XX title={Multi-Splitting of Matrices and Parallel Solution of Linear Systems}, XX author="{Dianne P. O'Leary} and {R. E. White}", XX year={1985}, XX journal={SIAM J. Alg. Disc. Meth.}, XX volume={6}, XX number={4}, XX abstract={linear parallel} XX} XX XX@article{PaSa75, XX title={Solution of Sparse Indefinite Systems of Linear Equations}, XX author="{C. C. Page} and {M. A. Saunders}", XX year={1975}, XX journal={SIAM J. Numer. Anal.}, XX volume={12}, XX number={4}, XX abstract={linear sparse conjugate Lanczos} XX} XX XX@article{PaSa82, XX title={LSQR: An Algorithm for Sparse Linear Equations and Sparse Least Squares}, XX author="{Christopher C. Page} and {Michael A. Saunders}", XX year={1982}, XX journal={ACM Trans. Math. Soft.}, XX volume={8}, XX number={1}, XX pages={43-71}, XX abstract={linear sparse orthogonal Lanczos} XX} XX XX@article{Parl80, XX title={A New Look at the Lanczos Algorithms for Solving Symmetric Systems of Linear Equations}, XX author={Parlett}, XX year={1980}, XX journal={Lin. Alg. App.}, XX volume={29}, XX pages={323-346}, XX abstract={Lanczos linear} XX} XX XX@article{Peas68, XX title={An Adaptation of the Fast Fourier Transform for Parallel Processing}, XX author={Marshall C. Pease}, XX year={1968}, XX journal={J. ACM}, XX volume={15}, XX number={2}, XX pages={252-264}, XX abstract={FFT parallel} XX} XX XX@techreport{Phil85, XX title={Approximating the Square Root of the Inverse of a Matrix}, XX author={Bernard Philippe}, XX year={1985}, XX address={Urbana-Champaign}, XX institution={Center for Supercomputing R. and D.}, XX number={No. 508}, XX abstract={linear iterative} XX} XX XX@techreport{RePa84, XX title={A Model of Asynchronous Iterative Algorithms for Solving Large, Sparse, Linear Systems}, XX author="{Daniel A. Reed} and {Merrell L. Patrick}", XX year={1984}, XX address={Hampton, Virginia}, XX institution={NASA, Langley Res. Cent.}, XX number={NASA No. 172418, ICASE No. 84-34}, XX abstract={asynchronous iterative linear sparse} XX} XX XX@techreport{RoSa85, XX title={Inner/Outer Iterative Methods and Numerical {S}chwarz Algorithms - {II}}, XX author="{G. Rodrigue} and {P. Saylor}", XX year={1985}, XX address={Livermore, California}, XX institution={Lawrence Livermore Natl. Lab.}, XX number={UCRL-92077-II}, XX abstract={linear schwarz iterative elliptic} XX} XX XX@techreport{RoSi83, XX title={use RoSi84} XX} XX XX@techreport{Saad83, XX title={Practical Use of Polynomial Preconditionings for the Conjugate Gradient Method}, XX author={Youcef Saad}, XX year={1983}, XX institution={Yale}, XX number={YALEU/DCS/RR-282}, XX abstract={precondition conjugate linear} XX} XX XX@techreport{SaSa81, XX title={Solving Elliptic Difference Equations on a Linear Array of Processors}, XX author="{Y. Saad} and {A. Sameh} and {P. Saylor}", XX year={1981?}, XX abstract={partial elliptic FDM parallel} XX} XX XX@article{Saad82, XX title={The Lanczos Biorthogonalization Algorithm and Other Oblique Projection Methods for Solving Large Unsymmetric Systems}, XX author={Y. Saad}, XX year={1982}, XX journal={SIAM J. Numer. Anal.}, XX volume={19}, XX number={3}, XX abstract={Lanczos unsymmetric linear} XX} XX XX@techreport{SaBr75, XX title={Solving Triangular Systems on a Parallel Computer}, XX author="{A. H. Sameh} and {R. P. Brent}", XX year={1975}, XX address={Urbana-Champaign}, XX institution={Dept. Comp. Sci., Univ. of Illinois}, XX number={UIUCDCS-R-75-766}, XX abstract={triangular linear parallel} XX} XX XX@article{SaCh76, XX title={Parallel Poisson and Biharmonic Solvers}, XX author="{A. H. Sameh} and {S. C. Chen} and {D. J. Kuck}", XX year={1975}, XX abstract={parallel poisson elliptic partial} XX} XX XX@techreport{Same??, XX title={A Fast Poisson Solver for Multiprocessors}, XX author={A. H. Sameh}, XX abstract={parallel poisson elliptic partial} XX} XX XX@techreport{Sayl??, XX title={Preconditioning Symmetric Indefinite Matrices}, XX author={P. E. Saylor}, XX abstract={symmetric precondition linear} XX} XX XX@article{Ston71, XX title={Parallel Processing with the Prefect Shuffle}, XX author={Harold S. Stone}, XX year={1971}, XX journal={IEEE Trans. on Comp}, XX volume={C-20}, XX number={2}, XX abstract={parallel shuffle} XX} XX XX@techreport{Vors??, XX title={Preconditioning by Incomplete Decompositions}, XX author={H. A. van_der_Vorst}, XX abstract={ILU linear iterative} XX} XX XX@article{White, XX title={many parallel linear algebra articles}, XX author={R. E. White}, XX abstract={linear parallel} XX} XX XX@techreport{Wolf86, XX title={Cellular Automation Fluids 1: Basic Theory}, XX author={Stephen Wolfram}, XX year={1986}, XX address={Princeton, NJ}, XX institution={Institute Advanced Study}, XX abstract={automata fluid} XX} XX XX@article{ArDa84, XX title={Abstract on Finite Difference Approximation to {B}urgers' Equation}, XX author="{H. Aref} and {P. K. Daripa}", XX year={1984}, XX journal={SIAM J. Sci. Stat. Comp.}, XX abstract={Burgers FDM partial parabolic stability} XX} XX XX@techreport{Asla85, XX title={The Moving Finite Element Method for Solving Partial Differential Equations}, XX author={Sohail Aslam}, XX year={1985}, XX institution={Dept Comp. Sci., Univ. of Col.}, XX number={Master's Thesis}, XX abstract={Ames Research Center, Moffett Field, CA 94035E partial} XX} XX XX@techreport{BaMa85, XX title={Fronts, Relaxation Oscillations and Period Doubling in Solid Fuel Combustion}, XX author="{A. Bayliss} and {B. J. Matkowsky}", XX year={1985?}, XX abstract={partial bifurcation read} XX} XX XX@article{BeFa86, XX title={An Upwind Second-Order Scheme for Compressible Duct Flows}, XX author="{Matania Ben-Artzi} and {Joseph Falcovitz}", XX year={1986}, XX journal={SIAM J. Sci. Stat. Comp.}, XX abstract={partial duct 1-dimensional Riemann} XX} XX XX@article{BePl72, XX title={A Table of Solutions of the One-Dimensional {B}urgers Equation}, XX author="{Edward R. Benton} and {George W. Platzman}", XX year={July, 1972}, XX journal={Quart. App. Math.}, XX abstract={Burgers partial analytical} XX} XX XX@article{BePi83, XX title={Finite Elements and Characteristics for some Parabolic-Hyperbolic Problems}, XX author="{M. Bercovier} and {O. Pironneau} and {V. Sastri}", XX year={1983}, XX journal={Appl. Math. Modeling}, XX volume={7}, XX abstract={partial FEM parabolic hyperbolic} XX} XX XX@article{Birk83, XX title={Numerical Fluid Dynamics}, XX author={Garrett Birkhoff}, XX year={1983}, XX journal={SIAM Review}, XX volume={25}, XX number={1}, XX abstract={overview fluid partial} XX} XX XX@article{BoVe81, XX title={On Local Relaxation Methods and Their Application to Convection-Diffusion Equations}, XX author="{Eugen F. F. Botta} and {Arthur E. P. Veldman}", XX year={1981}, XX journal={J. Comp. Phy.}, XX abstract={convection diffusion partial parabolic} XX} XX XX@article{BrNe82, XX title={Focusing: A Mechanism for Instability of Nonlinear Finite Difference Equations}, XX author="{W. L. Briggs} and {Alan C. Newell} and {Talib Sarie}", XX year={1983}, XX journal={J. Comp. Phy}, XX volume={51}, XX pages={83-106}, XX abstract={nonlinear FDM partial Burgers } XX} XX XX@article{Chan84, XX title={Stability Analysis of Finite Difference Schemes for the Advection-Diffusion Equation}, XX author={Tony F. Chan}, XX year={1984}, XX journal={SIAM J. Numer. Anal.}, XX volume={21}, XX number={2}, XX abstract={stability convection diffusion partial FDM} XX} XX XX@article{Chee83, XX title={Numerical Study of Incompressible Slightly Viscous Flow Past Blunt Bodies and Airfoils}, XX author={A. Y. Cheer}, XX year={1983}, XX journal={SIAM J. Sci. Stat. Comp.}, XX abstract={fluid monte} XX} XX XX@article{ChMa84, XX title={ADI as a Preconditioning for Solving the Convection-Diffusion Equation}, XX author="{R. C. Y. Chin} and {T. A. Manteuffel} and {J. de Phillis}", XX year={1984}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={5}, XX number={2}, XX abstract={convection diffusion partial parabolic ADI } XX} XX XX@article{ChHe78, XX title={A Disperson Analysis for Difference Schemes: Table of Generalized Airy Functions}, XX author="{R. C. Y. Chin} and {G. W. Hedstrom}", XX year={1978}, XX journal={Math. Comp.}, XX volume={32}, XX number={144}, XX pages={1163-1170}, XX abstract={dispersion FDM partial stability} XX} XX XX@techreport{CHMa85, XX title={On the Free Vibrations of Some Viscoelastic Solids}, XX author="{R. C. Y. Chin} and {G. W. Hedstrom} and {G. Majda}", XX year={1985}, XX address={Livermore, CA}, XX institution={Lawrence Livermore Natl. Lab.}, XX number={UCRL-92305}, XX abstract={partial} XX} XX XX@article{Chi81, XX title={On the Matched Asymptotic Solution of the Troesch Problem}, XX author={R. C. Y. Chin}, XX year={1981}, XX journal={J. Comp. Appl. Math.}, XX abstract={asymptotic partial}, XX volume={7}, XX number={3}, XX abstract={} XX} XX XX@article{Chri85, XX title={Upwind Compact Finite Difference Schemes}, XX author={I. Christie}, XX year={1985}, XX journal={J. Comp. Phy.}, XX volume={59}, XX pages={353-368}, XX abstract={FDM upwind partial convection} XX} XX XX@article{Cime71, XX title={Stable Difference Schemes with Uneven Mesh Spacings}, XX author={Melvyn Ciment}, XX year={1971}, XX journal={Math. Comp.}, XX volume={25}, XX number={114}, XX abstract={stability partial hyperbolic} XX} XX XX@article{CoLe67, XX title={A Ray Method for the Asymptotic Solution of the Diffusion Equation}, XX author="{J. K. Cohen} and {R. M. Lewis}", XX year={1967}, XX journal={J. Inst. Maths. Applics.}, XX volume={3}, XX pages={266-290}, XX abstract={partial diffusion asymptotic read} XX} XX XX@article{Cole51, XX title={On a Quasi-linear Parabolic Equation Occurring in Aerodynamics}, XX author={Julian D. Cole}, XX year={1951}, XX journal={Quar. Appl. Math.}, XX volume={9}, XX number={3}, XX abstract={parabolic Burgers partial} XX} XX XX@article{CoMa86, XX title={Theoretical and Numerical Structure for Reacting Shock Waves}, XX author="{P. Colella} and {Andrew Majda} and {Victor Roytburd}", XX year={1986}, XX journal={to appear in SIAM J. Sci. Stat. Comp.}, XX abstract={partial shock reaction read} XX} XX XX@article{CoWo84, XX title={The Piecewise Parabolic Method (PPM) for Gas-Dynamical Simulations}, XX author="{P. Colella} and {P. R. Woodward}", XX year={1984}, XX journal={J. Comp. Phy.}, XX volume={54}, XX pages={174-201}, XX abstract={PPM partial fluid FEM FDM } XX} XX XX@article{Crow67, XX title={Second-Order Numerical Advection}, XX author={W. P. Crowley}, XX year={1967}, XX journal={J. Comp. Phy.}, XX volume={1}, XX pages={471-484}, XX abstract={partial advection DFM } XX} XX XX@article{Cull83, XX title={Experiments with Some Low-Order Finite Element Schemes XX for the Navier-Stokes Equations}, XX author={M. J. P. Cullen}, XX year={1983}, XX journal={J. Comp. Phy.}, XX volume={51}, XX pages={291-312}, XX abstract={navier fluid partial FEM } XX} XX XX@article{Cush84, XX title={Analytical, Linear Stability Criteria for the Leap-Frog, Dufort-Frankel Method}, XX author={Benoit Cushman-Roisin}, XX year={1984}, XX journal={J. Comp. Phy.}, XX volume={53}, XX pages={227-239}, XX abstract={stability FDM partial convection diffusion read} XX} XX XX@article{Vrie84, XX title={A Comparative Study of ADI Splitting Methods for Parabolic Equations in Two Space Dimensions}, XX author={H. B. de Vries}, XX year={1984}, XX journal={J. Comp. Appl. Math.}, XX volume={10}, XX pages={179-193}, XX abstract={partial ADI parabolic read} XX} XX XX@article{ZeAs85, XX title={The Convergence Rate of Multi-level Algorithms Applied to the Convection-Diffusion Equation}, XX author="{P. M. de Zeeuw} and {E. J. van Asselt}", XX year={1985}, XX journal={SIAM J. Sci. Stat. Comp.}, XX abstract={convergence convection diffusion partial } XX} XX XX@inproceedings{DaBa84, XX title={Adaptive Procedure for Steady State Solution of Hyperbolic Equations}, XX author="{J. F. Dannenhoffer_III} and {J. R. Baron}", XX year={1984}, XX address={New York}, XX booktitle={Proc. AIAA 22nd Aerospace Sciences Meeting}, XX institution={AIAA}, XX number={AIAA-84-0005}, XX abstract={adaptive hyperbolic partial read} XX} XX XX@article{Dick85, XX title={A Multigrid Method for the Cauchy-Riemann Equations Based on Flux-Difference Splitting and its Extension to the Steady Euler Equations}, XX author={E. Dick}, XX year={1985}, XX journal={J. Comp. and Appl. Math.}, XX volume={12 and 13}, XX pages={247-263}, XX abstract={Euler fluid FDM partial multigrid } XX} XX XX@article{DoRu82, XX title={Numerical Methods for Convection-Dominated Diffusion Problems Based on Combining the Method of Characteristics with Finite Element or Finite Difference Procedures}, XX author="{Jim Douglas, Jr.} and {T. F. Russell}", XX year={1982}, XX journal={SIAM J. Numer. Anal.}, XX volume={19}, XX number={5}, XX abstract={partial characteristics convection diffusion FEM FDM read} XX} XX XX@article{Dupo80, XX title={Mesh Modification for Evolution Equations}, XX author={Todd Dupont}, XX year={1980}, XX journal={Math. Comp.}, XX volume={39}, XX number={159}, XX pages={85-107}, XX abstract={partial adaptive FEM } XX} XX XX@article{EmGo84, XX title={Multiple Steady States for 1-D Transonic Flow}, XX author="{Pedro Embid} and {Jonathan Goodman} and {Andrew Majda}", XX year={1984}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={4}, XX number={1}, XX abstract={partial fluid} XX} XX XX@article{EvAb83, XX title={The Group Explicit Method for the Solution of {B}urger's (sic) Equation }, XX author="{D. J. Evans} and {A. R. Abdullah}", XX year={1984}, XX journal={Computing}, XX volume={32 }, XX pages={239-253}, XX abstract={partial Burgers parabolic FDM read} XX} XX XX@article{EvAb85, XX title={A New Explicit Method for the Diffusion-Convection Equation}, XX author="{D. J. Evans} and {A. R. Abdullah}", XX year={1985}, XX journal={Comp and Maths. with Appls.}, XX volume={11}, XX number={1-3}, XX pages={145-154}, XX abstract={convection diffusion parabolic partial FDM read} XX} XX XX@article{EvDa82, XX title={A New Group Hopscotch Method for the Numerical Solution of Partial Differential Equations}, XX author="{D. J. Evans} and {A. Danaee}", XX year={1982}, XX journal={SIAM J. Numer. Anal.}, XX volume={19}, XX number={3}, XX abstract={partial hopscotch } XX} XX XX@article{Cull83, XX title={Analysis of Some Low-Order Finite Element Schemes for the XX Navier-Stokes Equations}, XX author={M. J. P. Cullen}, XX year={1983}, XX journal={J. Comp. Phy.}, XX volume={51}, XX pages={273-290}, XX abstract={navier fluid FEM } XX} XX XX@article{Farm85, XX title={A Moving Point Method for Arbitrary Peclet Number Multi-Dimensional Convection-Diffusion Equations}, XX author={C. L. Farmer}, XX year={1985}, XX journal={IMA J. Numer. Anal.}, XX volume={5}, XX pages={465-480}, XX abstract={adaptive partial convection diffusion SIAM} XX} XX XX@incollection{Fle82b, XX title={{B}urgers' Equation: a Model for all Reasons}, XX author={Clive A. J. Fletcher}, XX year={1982}, XX booktitle={Numerical Solutions of Partial Differential Equations, Australian Mathematical Society}, XX address={New York}, XX publisher={North-Holland Publishing Comp.}, XX abstract={Burgers partial } XX} XX XX@incollection{From64, XX title={The Time Dependent Flow of an Incompressible Viscous Fluid}, XX booktitle={Methods in Computational Physics}, XX author={Jacob Fromm}, XX year={1964}, XX editor="{Berni Alder, Sidney Frenbach, Manuel Rotenberg}", XX volume={3, Fundamental Methods in Hydrodynamics}, XX publisher={Academic Press}, XX address={New York}, XX abstract={fluid partial navier } XX} XX XX@techreport{Gann80, XX title={Self Adaptive Methods for Parabolic Partial Differential Equations}, XX author={D. B. Gannon}, XX year={1980}, XX address={Urbana-Champaign}, XX institution={University of Illinois}, XX number={PhD. Thesis}, XX abstract={adaptive partial parabolic } XX} XX XX@article{GhGh83, XX title={Adaptive Grid Generation for Flows with Local High Gradient Regions}, XX author="{K. N. Ghia} and {U. Ghia} and {C. T. Shin}", XX abstract={adaptive partial fluid } XX} XX XX@article{GiTh85, XX title={Propagation and Stability of Wavelike Solutions of Finite Difference Equations with Variable Coefficients}, XX author="{M. B. Giles} and {W. T. Thompkins, Jr.}", XX year={1985}, XX journal={J. Comp. Phy.}, XX volume={58}, XX pages={349-360}, XX abstract={partial FDM stability } XX} XX XX@incollection{Gour77, XX title={Recent Developments of the Hopscotch Method}, XX author={A. R. Gourlay}, XX booktitle={Advances in Computer Methods for Partial Differential Equations - {II}}, XX editor="{R. Vichnevetsky}", XX year={1977}, XX publisher={IMACS (AICA)}, XX abstract={hopscotch partial } XX} XX XX@article{GoMc71, XX title={General Hopscotch Algorithm for the Numerical Solution of Partial Differential Equations}, XX author="{A. R. Gourlay} and {G. R. McGuire}", XX year={1971}, XX journal={J. Inst. Maths. Applics.}, XX volume={7}, XX pages={216-227}, XX abstract={hopscotch partial } XX} XX XX@article{Gour70, XX title={Hopscotch: a Fast Second-order Partial Differential Equation Solver}, XX author={A. R. Gourlay}, XX year={1970}, XX journal={J. Inst. Maths Applics}, XX volume={6}, XX pages={375-390}, XX abstract={partial hopscotch } XX} XX XX@incollection{Groe74, XX title={Elliptic Singular Perturbations of First-order Operators with Critical Points}, XX booktitle={Proc Royal Society of Edinburgh}, XX volume={74A}, XX number={7}, XX author={P. P. N. de_Groen}, XX year={1974}, XX abstract={partial parabolic asymptotic read} XX} XX XX@article{HaLa83, XX title={On Upstream Differencing and {G}odunov-type Schemes for Hyperbolic Conservation Laws}, XX author="{A. Harten} and {P. D. Lax} and {B. van Leer}", XX year={1983}, XX journal={SIAM Review}, XX volume={25}, XX number={1}, XX pages={35-61}, XX abstract={upstream Godunov hyperbolic partial FDM } XX} XX XX@incollection{HeRo82, XX title={Adaptive-grid Methods for Time-Dependent Partial Differential Equations}, XX author="{G. W. Hedstrom} and {G. H. Rodrigue}", XX year={1982}, XX address={Berlin}, XX publisher={Springer-Verlag}, XX booktitle={Multigrid Methods}, XX editor="{A. Dold} and {B. Eckmann}", XX abstract={adaptive partial } XX} XX XX@incollection{Hemk82, XX title={Mixed Defect Correction Iteration for the Accurate Solution of the Convection Diffusion Equation}, XX author={P. W. Hemker}, XX year={1982}, XX address={Berlin}, XX publisher={Springer-Verlag}, XX booktitle={Multigrid Methods}, XX editor="{A. Dold, B. Eckmann}", XX abstract={partial convection diffusion read} XX} XX XX@incollection{HeSc82, XX title={Parabolic Equations with Dominating Convection Terms}, XX author="{B. M. Herbst} and {S. W. Schoombie}", XX year={1982}, XX booktitle={Numerical Solution of Partial Differential Equations: Theory, Tools and Case Studies}, XX address={Boston}, XX publisher={Birkhauser Verlag}, XX editor="{D. P. Laurie}", XX abstract={parabolic convection read} XX} XX XX@article{HiGr84, XX title={The Stability of Explicit Euler Time-Integration for Certain Finite Difference Approximations of the Multi-Dimensional Advection-Diffusion Equation}, XX author="{A. C. Hindmarsh} and {P. M. Gresho}", XX year={1984}, XX journal={Int. J. Numer. Meth. Fluids.}, XX volume={4}, XX pages={853-897}, XX abstract={partial FDM convection diffusion } XX} XX XX@article{HoSm85, XX title={Error Bounds for Finite-Difference Approximations for a Class of Nonlinear Parabolic Systems}, XX author="{D. Hoff} and {Joel Smoller}", XX year={1985}, XX volume={45}, XX number={171}, XX pages={35-49}, XX journal={Math. Comp.}, XX abstract={partial FDM error parabolic nonlinear read} XX} XX XX@inproceedings{CoSm73, XX title = {Topological methods in the theory of shock waves}, XX author = "{C. Conley} and {J. Smoller}", XX year = {1973}, XX address = {Providence}, XX booktitle = {Proc. Symposium on Pure Mathematics}, XX institution = {American Mathematics Society}, XX pages = {233-302}, XX vol = {23}, XX abstract={don't have this one} XX } XX XX@article{SmCo72, XX Author = "{J. Smoller} and {C. Conley}", XX Title = {Shock waves as limits of progressive wave solutions of higher order equations. {II}}, XX Journal = {Communications on pure and applied mathematics}, XX Year = {1972}, XX Volume = {25}, XX Pages = {133-146}, XX Abstract = {suitable viscosity matrix} XX } XX XX@article{CoSm71, XX Author = " {C. Conley} and {J. Smoller} ", XX Title = {Shock waves as limits of progressive wave solutions of higher order equations}, XX Journal = {Communications on pure and applied mathematics}, XX Year = {1971}, XX Volume = {24}, XX Pages = {459-472}, XX Abstract = {suitable viscosity matrix} XX } XX XX@book{CoFr76, XX author="{R. Courant} and {K. O. Friedrichs}", XX title={Supersonic Flow and Shock Waves}, XX publisher={Springer-Verlag}, XX address={New York}, XX year={1976} XX} XX XX@book{CH62a, XX author="{R. Courant} and {D. Hilbert}", XX title={Methods of Mathematical Physics, Volumes {I} and {II}}, XX publisher={Interscience}, XX address={New York}, XX year={1962} XX} XX XX@book{CH62b, XX author="{R. Courant} and {D. Hilbert}", XX title={Methods of Mathematical Physics, Volume {I}}, XX publisher={Interscience}, XX address={New York}, XX year={1962} XX} XX XX@book{CH62c, XX author="{R. Courant} and {D. Hilbert}", XX title={Methods of Mathematical Physics, Volume {II}}, XX publisher={Interscience}, XX address={New York}, XX year={1962} XX} XX XX@inproceedings{Fife88, XX title = {dynamics of internal layers and diffusion interfaces}, XX author = "{P. C. Fife}", XX year = {1988}, XX booktitle = {SIAM Regional Conference, Series in Applied Mathematics}, XX institution = {SIAM}, XX abstract={don't have this one} XX } XX XX@book{HuMa76, XX title={A Short Course in Fluid Mechanics}, XX author="{T. J. R. Hughes} and {Jerrold E. Marsden}", XX year={1976}, XX address={Boston, Mass}, XX publisher={Publish or Perish, Inc.}, XX abstract={fluid navier bible} XX} XX XX@article{JaSl81, XX title={On Extrapolation Boundary Conditions for the Numerical Solution of XX Hyperbolic Difference Schemes}, XX author="{S. M. Jamieson} and {D. M. Sloan}", XX year={1983}, XX journal={Int. J. Num. Meth. Eng.}, XX volume={19}, XX pages={1253-1264}, XX abstract={hyperbolic partial } XX} XX XX@techreport{JoBu86, XX title={The Competition Between Curvilinear Geometry and Chemistry in XX Reactive Fluid Flow}, XX author="{J. Jones} and {B. Bukiet}", XX year={1986?}, XX abstract={fluid chemistry partial asymptotic combustion read} XX} XX XX@inproceedings{JaJo83, XX title={Pseudospectral Calculations of Two-Dimensional Transonic Flow}, XX author="{Wen-Huei Jou} and {Antony Jameson} and {Ralph Metcalfe}", XX year={1983}, XX address={Braunschweig}, XX booktitle={Proceedings of the Fifth GAMM-Conference on Numerical Methods XX in Fluid Mechanics}, XX institution={Friedr. Vieweg and Sohn}, XX editor="{Maurizio Pandolfi} and {Renzo Piva}", XX abstract={partial fluid Euler FDMread} XX} XX XX@article{KiMo85, XX title={Application of a Fractional-step Method to Incompressible XX Navier-Stokes Equations}, XX author="{J. Kim} and {P. Moin}", XX year={1985}, XX journal={J. Comp. Phy.}, XX volume={59}, XX pages={308-323}, XX abstract={navier fluid partial } XX} XX XX@article{Krei83, XX title={Construction of a Curvilinear Grid}, XX author={Barbro Kreiss}, XX year={1985}, XX journal={SIAM J. Sci. Stat. Comp.}, XX abstract={adaptive partial hyperbolic } XX} XX XX@techreport{KrKr85, XX title={Convergence to Steady State of Solutions of {B}urgers' Equation}, XX author="{Gunilla Kreiss} and {Heinz-Otto Kreiss}", XX year={1985}, XX address={Hampton, Virginia}, XX institution={ICASE, NASA Langley Research Center}, XX number={NASA 178017, ICASE 85-50}, XX abstract={burgers partial asymptotic read} XX} XX XX@article{Lin85, XX title={The Parameterized Strongly Implicit Method for Solving Difference Equations}, XX author={Avi Lin}, XX year={1985}, XX journal={Int. J. Numer. Meth. Fluids.}, XX volume={5}, XX pages={381-391}, XX abstract={FDM elliptic } XX} XX XX@inproceedings{LiTh83, XX title={Application of a Nearly Orthogonal Coordinate Transformation XX for Predicting Viscous Flows with Separation}, XX author="{A. Lippke} and {D. Wacker} and {F. Thiele}", XX year={1983}, XX address={Braunschweig}, XX booktitle={Proceedings of the Fifth GAMM-Conference on Numerical XX Methods in Fluid Mechanics}, XX institution={Friedr. Vieweg and Sohn}, XX editor="{Maurizio Pandolfi} and {Renzo Piva}", XX abstract={adaptive fluid partial } XX} XX XX@article{Krei85, XX title={Construction of a Curvilinear Grid}, XX author={Barbro Kreiss}, XX year={1985}, XX journal={SIAM J. Sci. Stat. Comp.}, XX abstract={adaptive partial hyperbolic } XX} XX XX@article{Majd81, XX Author = "{A. Majda}", XX Title = {A Qualitative Model for Dynamic Combustion}, XX Journal = {SIAM J. Appl. Math.}, XX Year = {1981}, XX Volume = {41}, XX Number = {1}, XX Pages = {70-93}, XX Abstract = {asymptotics shocks combustion} XX } XX XX@article{RoMa83, XX Author = "{R. R. Rosales} and {A. Majda}", XX Title = {Weakly Nonlinear Detonation Waves}, XX Journal = {SIAM J. Appl. Math.}, XX Year = {1983}, XX Volume = {43}, XX Number = {5}, XX Pages = {1086-1118}, XX Abstract = {asymptotics shocks combustion} XX } XX XX@article{MaOs77, XX title={Propagation of Error into Regions of Smoothness for Accurate Difference Approximations to Hyperbolic Equations}, XX author="{Andrew Majda} and {Stanley Osher}", XX year={1977}, XX journal={Comm. Pure. Appl. Math.}, XX volume={30}, XX pages={671-705}, XX abstract={hyperbolic partial read} XX} XX XX@article{MaCh85, XX title={A Perturbation Theory for Love Waves in Anelastic Media}, XX author="{G. Majda} and {R. C. Y. Chin} and {F. E. Followill}", XX year={1985}, XX journal={Geophys. J. R. astr. Soc.}, XX volume={80}, XX pages={1-34}, XX abstract={partial waves } XX} XX XX@article{MaPa83, XX title={Shocks in Gas Pipelines}, XX author="{D. Marchesin} and {P.J. Pages-Leme}", XX year={1983}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={4}, XX number={1}, XX abstract={shocks partial fluid read} XX} XX XX@article{MiMi81, XX title={Moving Finite Elements. I}, XX author="{Keith Miller} and {R. N. Miller}", XX year={1981}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={18}, XX number={6}, XX abstract={Ames Research Center, Moffett Field, CA 94035E FEM burgers } XX} XX XX@article{Mill81, XX title={Moving Finite Elements. I}, XX author={Keith Miller}, XX year={1981}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={18}, XX number={6}, XX abstract={Ames Research Center, Moffett Field, CA 94035E FEM burgers } XX} XX XX@article{MiGr82, XX title={The Stability of {P}etrov-{G}alerkin Method for Solving Periodic Problem of Convection-Diffusion Equation}, XX author="{A.R. Mitchell} and {D.F. Griffiths} and {Guo Ben-yu}", XX year={1982}, XX journal={Comp. Math. (Chinease)}, XX volume={5}, XX abstract={FEM stability } XX} XX XX@article{MoMo83, XX title={A Spectral Numerical Method for the Navier-Stokes Equations XX with Applications to Taylor-Couette Flow}, XX author="{R.D. Moser} and {P. Moin} and {A. Leonard}", XX year={1983}, XX journal={J. Comp. Phy.}, XX volume={52}, XX pages={524-544}, XX abstract={partial navier fluid spectral read} XX} XX XX@article{NoWi85, XX title={Supersonic Jets}, XX author="{Michael L. Norman} and {Karl-Heinz A. Winkler}", XX year={1982}, XX institution={Los Alamos Natl. Lab.}, XX journal={Los Alamos Science}, XX number={12}, XX abstract={partial fluid } XX} XX XX@article{OLea84, XX title={Ordering Schemes for Parallel Processing of Certain Mesh Problems}, XX author={Dianne P. O'Leary}, XX year={1984}, XX journal={SIAM J. Sci. Stat. Comp.}, XX abstract={parallel FDM FEM ordering } XX} XX XX@article{Orsz71, XX title={Numerical Simulation of Incompressible Flows Within Simple Boundaries. {I}. {G}alerkin (Spectral) Representations}, XX author={Steven A Orszag}, XX year={1971}, XX journal={Stud. Appl. Math.}, XX volume={L}, XX number={4}, XX abstract={spectral FEM partial } XX} XX XX@article{Pate84, XX title={A Spectral Element Method for Fluid Dynamics: Laminar Flow in a Channel Expansion}, XX author={Anthony T. Patera}, XX year={1984}, XX journal={J. Comp. Phy.}, XX volume={54}, XX pages={468-488}, XX abstract={spectral fluid partial FEM hyperbolic } XX} XX XX@article{Raus85, XX title={Quasisolenoidal Velocity-Pressure Finite Element Methods for the Three-Dimensional Stokes Problem}, XX author={Vitoriano Raus}, XX year={1985}, XX journal={Numer. Math.}, XX volume={46}, XX pages={237-253}, XX abstract={partial fluid FEM stokes } XX} XX XX@article{Rein85, XX title={A-Posteriori Error Estimation for Finite Element Modifications of Line Methods Applied to Singularly Perturbed Partial Differential Equations}, XX author={Hans-Jurgen Reinhardt}, XX year={1985}, XX journal={Appl. Numer. Math.}, XX volume={1}, XX pages={145-176}, XX abstract={FEM partial perturbation } XX} XX XX@techreport{Rolof86, XX title={CFD at Lockheed}, XX author={R. Roloff}, XX year={1986}, XX number={lecture abstracts}, XX abstract={fluid navier partial } XX} XX XX@article{RoGh86, XX title={Editorial Policy Statement on the Control of Numerical Accuracy}, XX author="{Partick J. Roache} and {Kirti N. Ghia} and {Frank M. White} and {JFE Editorial Board}", XX year={1986}, XX journal={Trans ASME}, XX volume={108}, XX abstract={error editorial } XX} XX XX@techreport{SaNa85, XX title={Towards Developing Robust Algorithms for Solving Partial Differential Equations on MIMD Machines}, XX author="{Joel H. Saltz} and {Vijay K. Naik}", XX year={1985}, XX address={Langley, Virginia}, XX institution={ICASE, NASA}, XX number={ICASE 85-39, NASA 177979}, XX abstract={partial parallel iterative read} XX} XX XX@inproceedings{Sato83, XX title={Unconditionally Stable Explicit Method for the Numerical XX Solutions of the Compressible Navier-Stokes Equations}, XX author={Nobuyuki Satofuka}, XX year={1983}, XX address={Braunschweig}, XX booktitle={Proceedings of the Fifth GAMM-Conference on Numerical Methods XX in Fluid Mechanics}, XX institution={Friedr. Vieweg and Sohn}, XX editor="{Maurizio Pandolfi} and {Renzo Piva}", XX abstract={fluid navier FDM read} XX} XX XX@article{SaCa84, XX title={A Variational-Iterative Scheme Applied to {B}urgers' Equation}, XX author="{R. Saunders} and {J. Caldwell} and {P. Wanless}", XX year={1984}, XX journal={IMA J. Numer. Anal.}, XX volume={4}, XX pages={349-362}, XX abstract={burgers partial read} XX} XX XX@article{Schu??, XX title={Elliptic Spline Functions and the {R}ayleigh-{R}itz-{G}alerkin Method}, XX author={Martin H. Schultz}, XX abstract={FEM partial } XX} XX XX@inproceedings{Schw83, XX title={Boundary Layers on Wings}, XX author={D. Schwamborn}, XX year={1983}, XX address={Braunschweig}, XX booktitle={Proceedings of the Fifth GAMM-Conference on Numerical Methods XX in Fluid Mechanics}, XX publisher={Friedr. Vieweg and Sohn}, XX editor="{Maurizio Pandolfi} and {Renzo Piva}", XX abstract={layer partial fluid read} XX} XX XX@inproceedings{ShFe83, XX title={On the Investigation of the Completely Conservative Property of Difference Schemes by the Method of Differential Approximation}, XX author="{Yu. I. Shokin} and {Z. I. Fedotova}", XX year={1983}, XX address={Braunschweig}, XX booktitle={Proceedings of the Fifth GAMM-Conference on Numerical Methods in Fluid Mechanics}, XX publisher={Friedr. Vieweg and Sohn}, XX editor="{Maurizio Pandolfi} and {Renzo Piva}", XX abstract={} XX} XX XX@article{Shyy85, XX title={A Study of Finite Difference Approximations to Steady-State, Convection-Dominated Flow Problems}, XX author={Wei Shyy}, XX year={1985}, XX journal={J. Comp. Phy.}, XX volume={57}, XX pages={415-438}, XX abstract={convection fluid partial read} XX} XX XX@article{SiGl78, XX title={Analysis of Explicit Difference Methods for a Diffusion-Convection Equation}, XX author="{J.L. Siemieniuch} and {I. Gladwell}", XX year={1978}, XX journal={Int. J. Numer. Meth. Eng.}, XX volume={12}, XX pages={899-916}, XX abstract={convection diffusion partial FDM read} XX} XX XX@article{SzBa84, XX title={Adaptivity and Error Estimation for the Finite Element Method Applied to Convection Diffusion Problems}, XX author="{W.G. Szymczak} and {I. Babuska}", XX year={1985}, XX journal={SIAM J. Numer. Anal.}, XX volume={21}, XX number={5}, XX abstract={partial convection diffusion FEM read} XX} XX XX@article{Stoy83, XX title={A Monotonic Mesh Approximation for a Partial Differential Equation with one Space Variable}, XX author={G. Stoyan}, XX year={1983}, XX abstract={partial adaptive convection diffusion read} XX} XX XX@inproceedings{TaCo85, XX title={Numerical Computation of Hypersonic Laminar Near-Wake Flow via Navier-Stokes Solver}, XX author="{Yehuda Tassa} and {Raul J. Conti}", XX year={1985}, XX institution={AIAA}, XX booktitle={AIAA 18th Fluid Dynamics and Plasmadynamics and Lasers Conference, 1985}, XX abstract={navier partial laminar } XX} XX XX@inproceedings{ThRe84, XX title={Numerical Simulation of Axisymmetric Base Flow on Tactical Missiles with Propulsive Jet}, XX author="{P.D. Thomas} and {R.P. Reklis} and {R.R. Roloff} and {R.J. Conti}", XX year={1984}, XX institution={AIAA}, XX booktitle={AIAA 17th Fluid Dynamics, Plasma Dynamics, and Lasers Conference, 1984}, XX abstract={fluid partial } XX} XX XX@article{Thom85, XX title={A Survey of Dynamically-Adaptive Grids in the Numerical Solution XX of Partial Differential Equations}, XX author={Joe F. Thompson}, XX year={1985}, XX journal={Appl. Numer. Math.}, XX volume={1}, XX pages={3-27}, XX abstract={adaptive partial read} XX} XX XX@techreport{Voig85, XX title={Where are the Parallel Algorithms?}, XX author={R. G. Voigt}, XX year={1985}, XX address={Hampton, Virginia}, XX institution={Langley Research Center}, XX number={ICASE 85-2, NASA 172516}, XX abstract={parallel } XX} XX XX@article{Wang83, XX title={On the Numerical Methods for the Singular Parabolic Equations in Fluid Dynamics}, XX author={J.C.T. Wang}, XX year={1983}, XX journal={J. Comp. Phy.}, XX volume={52}, XX pages={464-479}, XX abstract={perturbation layer partial read} XX} XX XX@article{WaBe78, XX title={On the Construction and Application of Implicit Factored Schemes for Conservation Laws}, XX author="{R.R. Warming} and {R. M. Beam}", XX year={1978}, XX journal={SIAM-AMS Proceedings}, XX volume={11}, XX abstract={partial } XX} XX XX@article{WoCo83, XX title={The Numerical Simulation of Two-Dimensional Fluid Flow with Strong Shocks}, XX author="{P. Woodward} and {P. Colella}", XX year={1984}, XX journal={J. Comp. Phy.}, XX volume={54}, XX pages={115-173}, XX abstract={shocks fluid partial } XX} XX XX@article{YeWa85, XX title={Implicit Total Variation Diminishing ({TVD}) Schemes for Steady-State Calculations}, XX author="{H. C. Yee} and {R. F. Warming} and {A. Harten}", XX year={1985}, XX journal={J. Comp. Phy.}, XX volume={57}, XX pages={327-360}, XX abstract={partial read} XX} XX XX@article{GuKa83, XX title={Propagation of Chaos and the {B}urgers' Equation}, XX author="{E. Gutkin} and {M. Kac}", XX year={1983}, XX journal={SIAM J. Appl. Math.}, XX volume={43}, XX number={4}, XX abstract={burgers partial } XX} XX XX@inproceedings{Leon79, XX title={A Survey of Finite Differences of Opinion on Numerical Muddling of the Incomprehensible Defective Confusion Equation}, XX author={B.P. Leonard}, XX year={1979}, XX address={New York}, XX institution={Amer. Soc Mech Eng}, XX editor="{T.J.R. Hughes}", XX abstract={FEM convection diffusion partial } XX} XX XX@incollection{Buzb80, XX title={The Slatec Common Math Library}, XX author={B.L. Buzbee}, XX year={1980}, XX publisher={Prentice-Hall}, XX booktitle={to appear in Sources and Development of Mathematical Software}, XX editor="{W. Cowell}", XX abstract={standards software } XX} XX XX@incollection{Doug84, XX title={Approximation of Convection-Dominated Diffusion Problems}, XX author={J. Douglas, Jr.}, XX year={1984}, XX booktitle={Partial Differential Equations and Dynamical Systems}, XX editor="{W.E. Fitzgibbon III}", XX address={Boston}, XX publisher={Pitman Publishing Limited}, XX abstract={convection diffusion partial } XX} XX XX@article{Bobi68, XX title={Second-Order Linear Parabolic Equations with a Small Parameter}, XX author={Larry Bobisud}, XX year={1968}, XX journal={Arch. Rational Mech Anal}, XX volume={27}, XX abstract={perturbation convection diffusion partial asymptotic read} XX} XX XX@incollection{Nass76, XX title={On the Discretization of the Time Variable in Parabolic Partial Differential Equations}, XX author={Nabil R. Nassif}, XX year={1976}, XX booktitle={The Mathematics of Finite Elements and Applications {II}}, XX editor="{J.R. Whiteman}", XX address={New York}, XX publisher={Academic Press}, XX abstract={partial parabolic FEM FDM } XX} XX XX@article{Liro84, XX title={Calculating the Fundamental Solution to Linear Convection-Diffusion Problems}, XX author="{Nadav Liron} and {Jacob Rubinstein}", XX year={1984}, XX journal={SIAM J. Appl. Math.}, XX volume={44}, XX number={3}, XX abstract={partial convection diffusion read} XX} XX XX@article{ChKr83, XX title={A Hybrid Asymptotic-Finite Element Method for Stiff XX Two-Point Boundary Value Problems}, XX author="{R. C. Y. Chin} and {R. Krasny}", XX year={1983}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={4}, XX number={2}, XX pages={229-243}, XX abstract={ode stiff asymptotic perturbation } XX} XX XX@techreport{CHH84, XX title={Use CHH 85 instead}, XX year={1984}, XX address={Livermore, California}, XX institution={Lawrence Livermore Natl. Lab.}, XX number={UCRL-90791}, XX abstract={scales asymptotics perturbation } XX} XX XX@article{Roe86, XX title={Characteristic-Based Schemes for the Euler Equations}, XX author={P.L. Roe}, XX year={1986}, XX journal={Ann Rev Fluid Mech}, XX volume={18}, XX pages={337-365}, XX abstract={partial Euler fluid read} XX} XX XX@article{Russ85, XX title={Time Stepping Along Characteristics with Incomplete Iteration for a {G}alerkin Approximation of Miscible Displacement in Porous Media}, XX author={T. F. Russell}, XX year={1985}, XX journal={SIAM J. Numer. Anal.}, XX volume={22}, XX number={5}, XX pages={970-1013}, XX abstract={partial characteristics FEM CFD parabolic read} XX} XX XX@article{OgIs86, XX title={A Method for Computing Flow Fields around Moving Bodies}, XX author="{Satoru Ogawa} and {Tomiko Ishiguro}", XX year={1986}, XX journal={to appear in J. Comp. Phy.}, XX abstract={fluid partial } XX} XX XX@inproceedings{BeDe85, XX title={The GF11 Supercomputer}, XX author="{J. Geetem} and {Monty Denneau} and {Don Weingarten}", XX year={1985}, XX address={Boston, Mass.}, XX institution={IEEE}, XX booktitle={IEEE Proceedings of the 12th Annual International Symposium on computer Architecture}, XX abstract={architecture IBM} XX} XX XX@book{DiTe76, XX title={Nonlinear Diffusion Problems}, XX editor="{O. Diekmann} and {N.M. Temme}", XX year={1976}, XX address={Amsterdam}, XX abstract={partial heat nonlinear} XX} XX XX@article{ChGl86, XX title={Front Tracking for Gas Dynamics}, XX author="{I-L. Chern} and {J. Glimm} and {O. McBryan} and {B. Plohr} and {S. Yaniv}", XX year={1986}, XX journal={J. Comp. Phy.}, XX volume={62}, XX pages={83-110}, XX abstract={fluid partial read} XX} XX XX@techreport{PfBr86, XX title={An Introduction to the IBM Research Parallel Processor Prototype (RP3)}, XX author="{G.F. Pfister} and {W.C. Brantley} and {D.A. George} and {S.L. Harvey} and {W.J. Kleinfelder} and {K.P. McAuliffe} and {E.A. Melton} and {V.A. Jorton} and {J. Weiss}", XX year={1986}, XX address={Yorktown Heights, NY}, XX institution={IBM T.J. Watson Research Center}, XX number={RC 11948 (#53834)}, XX abstract={architecture IBM} XX} XX XX@article{HrMR85, XX title={An Implementation of a Moving Finite Element Method}, XX author="{Andrew N. Hrymak} and {Gregory J. McRae} XX and {Arthur W. Westerberg}", XX year={1986}, XX journal={J. Comp. Phy.}, XX volume={63}, XX pages={168-190}, XX abstract={Ames Research Center, Moffett Field, CA 94035E partial burgers} XX} XX XX@article{Rose86, XX title={An Explicit Finite Difference Solution to the Convection-Dispersion Equation}, XX author={D.U. von Rosenberg}, XX year={1986}, XX journal={Numerical Methods for Partial Differential Equations}, XX abstract={partial convection diffusion explicit FDM } XX} XX XX@article{JoSa86, XX title={Streamline Diffusion Methods for the Incompressible Euler and Navier-Stokes Equations}, XX author="{Claes Johnson} and {Jukka Saranen}", XX year={1986}, XX journal={Math. Comp.}, XX volume={47}, XX number={175}, XX pages={1-18}, XX abstract={diffusion fluid navier Euler theoretical references} XX} XX XX@article{CoFl86, XX title={On the Stability of Mesh Equidistribution Strategies for Time-Dependent Partial Differential equations}, XX author="{J. Michael Coyle} and {Joseph E. Flaherty} and {Raymond Ludwig}", XX year={1986}, XX journal={J. Comp. Phy.}, XX volume={62}, XX pages={26-39}, XX abstract={partial error adaptive read} XX} XX XX@article{HuGo85, XX title={A Method for Reduction of Numerical Diffusion in the Donor Cell Treatment of Convection}, XX author="{Kang Y. Huh} and {Michael W. Golay} and {Vincent P. Manno}", XX year={1985}, XX journal={J. Comp. Phys.}, XX volume={63}, XX pages={201-221}, XX abstract={partial convection read} XX} XX XX@techreport{DaPf86, XX title={Memory Access Patterns of Parallel Scientific Programs}, XX author="{F. Darema-Rogers} and {G.F. Pfister} and {K. So}", XX year={1986}, XX address={Yorktown Heights, NY}, XX institution={IBM T.J. Watson Research Center}, XX number={RC 12086 (#54146)}, XX abstract={memory parallel IBM} XX} XX XX@techreport{DoSo86, XX author="{J. J. Dongarra} and {D. C. Sorensen}", XX title={SCHEDULE: Tools for Developing and Analyzing Parallel {F}ortran Programs}, XX number={ANL/Mathematics of Computations-TM-86}, XX institution={Argonne National Lab}, XX year={1986}, XX abstract={parallel} XX} XX XX@article{CGLW86, XX title={Weakly Nonlinear Acoustic Instabilities}, XX author="{R. C. Y. Chin} and {J. C. Garrison} and {C. D. Levermore} and {J. Wong}", XX year={1986}, XX journal={Wave Motion}, XX volume={8}, XX pages={537-559}, XX abstract={burgers asymptotics perturbation read } XX} XX XX@article{YeHa87, XX title={Implicit {TVD} Schemes for Hyperbolic Conservation Laws XX in Curvilinear Coordinates}, XX author="{H. C. Yee} and {A. Harten}", XX year={1987}, XX journal={AIAA Journal}, XX volume={25}, XX number={2}, XX pages={266-274}, XX abstract={hyperbolic partial {TVD} read} XX} XX XX@article{Davi87, XX title={A Simplified {TVD} Finite Difference Scheme via Artificial Viscosity}, XX author={Stephen F. Davis}, XX year={1987}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={8}, XX number={1}, XX pages={1-18}, XX abstract={partial {TVD} hyperbolic read artificial-viscosity} XX} XX XX@article{CMR86, XX title={Theoretical and Numerical Structure for Reacting Shock Waves}, XX author="{P. Colella} and {Andrew Majda} and {Victor Roytburd}", XX year={1986}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={7}, XX number={4}, XX pages={1059-1080}, XX abstract={shock partial non-physical read} XX} XX XX@article{ClLe86, XX title={A Comparison of Finite-Element Methods for XX Solving Flow Past a Sphere}, XX author="{C. A. Cliffe} and {D. A. Lever}", XX year={1986}, XX journal={J. Comp. Phy.}, XX volume={62}, XX pages={321-330}, XX abstract={partial FEM CFD fluid} XX} XX XX@article{AnOl87, XX title={Singularly Perturbed Volterra Integral Equations}, XX author="{J. S. Angell} and {W. E. Olmstead}", XX year={1987}, XX journal={SIAM J. Appl. Math.}, XX volume={47}, XX number={1}, XX pages={1-14}, XX abstract={Volterra perturbation asymptotics} XX} XX XX@article{VaSa86, XX title={Studies in Numerical Nonlinear Instability. {II}. A New Look at $u sub t + u u sub x = 0 $}, XX author="{F. Vadillo} and {J. M. Sanz-Serna}", XX year={1986}, XX journal={J. Comp. Phy.}, XX volume={66}, XX pages={225-238}, XX abstract={numerical instability burgers partial} XX} XX XX@techreport{LuOv85, XX title={Parallel Adaptive Numerical Schemes for Hyperbolic Systems on Conservation Laws}, XX author="{Bradley J. Lucier} and {Ross Overbeek}", XX year={1985}, XX address={Argonne, Illinois}, XX institution={Argonne National Laboratory}, XX number={Technical Report #3}, XX abstract={adaptive hyperbolic partial} XX} XX XX@article{BeTo87, XX title={Singular Perturbations for Nonlinear Hyperbolic-Parabolic Problems}, XX author="{A. Benaouda} and {Monique Madaune Tort}", XX year={1987}, XX journal={SIAM J. Math. Anal.}, XX abstract={hyperbolic partial perturbation asymptotics read} XX} XX XX@article{FoSi85, XX title={Supersonic Inviscid Flow--A Three-Dimensional Characteristics Approach}, XX author="{J. Fong} and {Lawrence Sirovich}", XX year={1987}, XX journal={J. Comp. Phy.}, XX volume={68}, XX pages={378-392}, XX abstract={CFD characteristics partial read } XX} XX XX@book{AbSt65, XX title={Handbook of Mathematical Functions}, XX author="{Milton Abramowitz} and {Irene A. Stegun}", XX year={1965}, XX address={New York}, XX publisher={Dover Publications, Inc.} XX} XX XX@article{HeOs80, XX title={The Effect of Cell Reynolds Number on the Computation of a Boundary Layer}, XX author="{G. W. Hedstrom} and {Albert Osterheld}", XX journal={J. Comp. Phy.}, XX volume={37}, XX pages={339-421}, XX year={1980}, XX abstract={read, thesis, artificial boundary condition} XX} XX XX@techreport{ShWa79, XX title={DEPAC - Design of a User Oriented Package of ODE Solvers}, XX author="{L. F. Shampine} and {H. A. Watts}", XX year={1979}, XX institution={Sandia Laboratories}, XX address={Albuquerque, New Mexico}, XX number={SAND79-2374}, XX abstract={don't have a copy of this one} XX} XX XX@article{ErLa87, XX title={On the Approximation of Derivatives of Singularly Perturbed Boundary Value Problems}, XX author="{V. Ervin} and {W. Layton}", XX year={1987}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={8}, XX number={3}, XX pages={265-277}, XX abstract={asymptotics boundary-value read } XX} XX XX@article{EcJa66, XX title={Asymptotic Solutions of Singular Perturbation Problems for Linear Differential Equations of Elliptic Type}, XX author="{W. Eckhaus} and {E. M. de Jager}", XX year={1966-1967}, XX journal={Arch. for Rat. Mech. Anal.}, XX volume={23}, XX pages={26-88}, XX abstract={asymptotic} XX} XX XX@book{Aman78, XX title={Periodic Solutions of Semilinear Parabolic Equations}, XX author={Herbert Amann}, XX booktitle={Nonlinear Analysis}, XX editor="{L. Cesari et. al.}", XX year={1978}, XX address={New York}, XX publisher={Academic Press}, XX pages={1-29}, XX abstract={asymptotics} XX} XX XX@article{Aman76, XX title={Existence and Multiplicity Theorems for Semi-linear Elliptic XX Boundary Value Problems}, XX author={Herbert Amann}, XX year={1976}, XX journal={Math. Z}, XX volume={150}, XX pages={281-295} XX} XX XX@article{Good86, XX title={Nonlinear Asymptotic Stability of Viscous Shock Profiles for XX Conservation Laws}, XX author={Jonathan Goodman}, XX abstract={asymptotic read} XX} XX XX@article{Luci85, XX title={A Stable Adaptive Numerical Scheme for Hyperbolic Conservation Laws}, XX author={Bradley J. Lucier}, XX year={1985}, XX journal={SIAM J. Numer. Anal.}, XX volume={22}, XX number={1}, XX pages={180-203}, XX abstract={hyperbolic adaptive nonlinear read } XX} XX XX@article{Luci86, XX title={A Moving Mesh Numerical Method for Hyperbolic Conservation Laws}, XX author={Bradley J. Lucier}, XX year={1986}, XX journal={Math. Comp.}, XX volume={46}, XX number={173}, XX pages={59-69}, XX abstract={hyperbolic adaptive nonlinear read } XX} XX XX@techreport{Luci??, XX title={Regularity Through Approximation for Scalar Conservation Laws}, XX author={Bradley J. Lucier}, XX abstract={hyperbolic nonlinear} XX} XX XX@book{RiMo67, XX title={Difference Methods for Initial-Value Problems}, XX author="{R. D. Richtmyer} and {K. W. Morton}", XX year={1967}, XX address={New York, NY}, XX publisher={Interscience Publisher, John Wiley and Sons}, XX abstract={partial excerpt} XX} XX XX@article{GaRo86, XX title={On the Structure of Parallelism in a Highly Concurrent PDE Solver}, XX author="{D. Gannon} and {J. van Rosendale}", XX year={1986}, XX journal={J. Par. Dis. Comp.}, XX volume={3}, XX pages={106-135}, XX abstract={parallel partial adaptive multigrid} XX} XX XX@techreport{OsSe87, XX title={Fronts Propagating with Curvature Dependent Speed: Algorithms Based on Hamilton-Jacobi Formulations }, XX author="{Stanley Osher} and {J. A. Sethian}", XX year={1987}, XX institution={Center for Pure and Applied Mathematics, Univ. of Calif., Berkeley}, XX number={PAM-380}, XX abstract={shock adaptive hyperbolic} XX} XX XX@techreport{Salt87, XX title={Monotonic Difference Schemes for the Linear Advection Equation in Two and Three Dimensions}, XX author={J. Saltzman}, XX year={1987}, XX address={Los Alamos, New Mexico}, XX institution={Los Alamos National Laboratory}, XX number={LA-UR-87-2479}, XX abstract={partial monotonic convection} XX} XX XX@incollection{RuWh83, XX title={Finite Element and Finite Difference Methods for Continuous Flows in Porous Media}, XX author="{T. F. Russell} and {Mary Fanett Wheeler}", XX booktitle={The Mathematics of Reservoir Simulation}, XX editor="{R. E. Ewing}", XX year={1983}, XX address={Philadelphia}, XX publisher={SIAM}, XX pages={35-106}, XX abstract={adaptive FEM FDM fluid flow} XX} XX XX@incollection{RWC86, XX title={Large-Scale Simulation of Miscible Displacement by Mised and Characteristic Finite Element Methods}, XX author="{T. F. Russell} and {Mary Fanett Wheeler} and {Chen Chiang}", XX booktitle={Mathematical and Computational Methods in Seismic Exploration and Reservoir Modeling}, XX editor="{W. E. Fitzgibbon}", XX year={1986}, XX address={Philadelphia}, XX publisher={SIAM}, XX pages={85-107}, XX abstract={adaptive FEM fluid flow characteristics} XX} XX XX@incollection{EwRu81, XX title={Multistep {G}alerkin Methods Along Characteristics for Convection-Diffusion Problems}, XX author="{R. E. Ewing} and {T. F. Russell}", XX booktitle={Advances in Computer Methods for Partial Differential Equations-IV}, XX editor="{R. Vichnevetsky} and {R. S. Stepleman}", XX year={1981}, XX pages={28-36}, XX address={New Brunswick, N.J.}, XX publisher={IMACS, Rutgers University}, XX abstract={FEM characteristics partial convection diffusion parabolic} XX} XX XX@book{ERW83, XX title={Simulation of Miscible Displacement Using Mixed Methods and a Modified Method of Characteristics}, XX author="{R.E. Ewing} and {T.F. Russell} and {M.F. Wheeler}", XX year={1983}, XX address={Dallas, TX}, XX publisher={SPE}, XX pages={71-81}, XX abstract={burgers PDE FEM characteristics} XX} XX XX@incollection{Russ83, XX title={{G}alerkin Time Stepping Along Characteristics for {B}urgers' Equation}, XX author={T. F. Russell}, XX editor="{R. Stepleman et. al.}", XX year={1983}, XX institution={IMACS}, XX publisher={North-Holland Publishing Company}, XX booktitle={Scientific Computing}, XX pages={183-192}, XX abstract={partial characteristics FEM CFD parabolic } XX} XX XX@article{ERW84, XX title={Convergence Analysis of an Approximation of Miscible Displacement in Porous Media by Mixed Finite Elements and a Modified Method of Characteristics}, XX author="{R. E. Ewing} and {T. F. Russell} and {Mary Fanett Wheeler}", XX year={1984}, XX publisher={North-Holland}, XX journal={Computer Methods in Applied Mechanics and Engineering}, XX volume={47}, XX pages={73-92}, XX abstract={partial characteristics FEM CFD parabolic } XX} XX XX@book{Russ82, XX title={Finite Elements with Characteristics for Two-Component Incompressible Miscible Displacement}, XX author={T. Fletcher Russell}, XX booktitle={Proceedings, Sixth SPE Symposium on Reservoir Simulation of the Society of Petroleum Engineers of AIME}, XX year={1982}, XX address={Dallas, TX}, XX institution={SPE}, XX pages={123-135}, XX abstract={burgers PDE FEM characteristics} XX} XX XX@incollection{Tsie58, XX title={The Equations of Gas Dynamics}, XX booktitle={Fundamentals of Gas Dynamics}, XX author={H. S. Tsien}, XX editor="{H. W. Emmons}", XX volume={3}, XX year={1958}, XX address={Princeton, New Jersey}, XX publisher={Princeton University Press}, XX pages={3-63}, XX abstract={Navier Stokes NS reference bible} XX} XX XX@book{Rudi69, XX title={Nonsteady Duct Flow}, XX author={George Rudinger}, XX year={1969}, XX address={New York}, XX publisher={Dover Publications, Inc.}, XX abstract={Navier Stokes NS reference bible} XX} XX XX@article{Hopf50, XX title={The Partial Differential Equation $ u sub t + u u sub x = mu u sub xx $}, XX author={E. Hopf}, XX year={1950}, XX journal={Comm. Pure and Appl. Math.}, XX volume={3}, XX pages={201-230}, XX abstract={partial get burgers, dont have this one } XX} XX XX@article{Burg39, XX title={Mathematical Model Illustrating the Theory of Turbulence}, XX author={J. M. Burgers}, XX year={1939}, XX journal={Trans. Roy. Neth. Acad. Sci.}, XX address={Amsterdam}, XX volume={17}, XX pages={1-53}, XX abstract={partial get burgers, dont have this one } XX} XX XX@book{Nayf81, XX title={Introduction to Perturbation Techniques}, XX author={Ali Hasan Nayfeh}, XX year={1981}, XX address={New York}, XX publisher={John Wiley and Sons}, XX abstract={asymptotics PDE reference bible dont have this one } XX} XX XX@book{PrWe84, XX title={Maximum Principles in Differential Equations}, XX author="{Murray H. Protter} and {Hans F. Weinberger}", XX year={1984}, XX address={New York}, XX publisher={Springer-Verlag}, XX abstract={maximum parabolic} XX} XX XX@article{ShKe87, XX title={Asymptotic Analysis of a Singular Perturbation Problem}, XX author="{Shagi-di Shih} and {R. Bruce Kellogg}", XX year={1987}, XX journal={SIAM J. Math. Anal.}, XX volume={18}, XX number={5}, XX abstract={asymptotics convection diffusion maximum principle boundary layer} XX} XX@book{LiRo57, XX title={Elements of Gasdynamics}, XX author="{H.W. Liepmann} and {A. Roshko}", XX year={1957}, XX address={New York}, XX publisher={John Wiley and Sons, Inc.}, XX abstract={analytic introduction fluid flow} XX} XX XX@incollection{DoSo87, XX title={SCHEDULE: Tools for Developing and Analyzing Parallel {F}ortran Programs}, XX author="{D. C. Sorensen} and {J. J. Dongarra}", XX editor="{L. H. Jamieson} and {D. B. Gannon} and {R. J. Douglass}", XX year={1987}, XX address={Cambridge, Mass.}, XX publisher={The MIT Press}, XX abstract={environment} XX} XX XX@book{John82, XX author={Fritz John}, XX title={Partial Differential Equations}, XX publisher={Springer-Verlag}, XX address={New York}, XX year={1982} XX} XX XX@book{DBMS79, XX author="{J. J. Dongarra} and {J. R. Bunch} and {C. B. Moler} and {G. W. Stewart}", XX title={LINPACK Users' Guide}, XX year={1979}, XX publisher={SIAM}, XX address={Philadelphia} XX} XX XX@misc{Chin87, XX title={Private meeting}, XX author={R. C. Y. Chin} XX} XX XX@article{MaRa87, XX title={A Particle Method for First-order Symmetric Systems}, XX author="{S. Mas-Gallic} and {P. A. Raviart}", XX year={1987}, XX journal={Numerische Mathematik}, XX publisher={Springer-Verlag}, XX volume={51}, XX pages={323-352}, XX abstract={characteristics navier read} XX} XX XX@inproceedings{SwTu87, XX author="{R. C. Swanson} and {Eli Turkel}", XX title={Artificial Dissipation and Central Difference Schemes for the XX Euler and Navier-Stokes Equations}, XX booktitle={AIAA 8th Computational Fluid Dynamics Conference}, XX institution={AIAA}, XX year={1987}, XX abstract={artificial viscosity hyperbolic partial} XX} XX XX@article{JoSz87, XX author="{Claes Johnson} and {Anders Szepessy}", XX title={On the Convergence of a Finite Element Method for a Nonlinear XX Hyperbolic Conservation Law}, XX year={1987}, XX journal={Mathematics of Computation}, XX publisher={American Mathematical Society}, XX volume={49}, XX number={180}, XX pages={427-444}, XX abstract={characteristics burgers hyperbolic FEM partial} XX} XX XX@inproceedings{Pull85, XX author="{T. H. Pulliam}", XX title={Artificial Dissipation Models for the Euler Equations}, XX booktitle={AIAA 23rd Aerospace Sciences Meeting}, XX institution={AIAA}, XX year={1985}, XX abstract={artificial viscosity hyperbolic partial} XX} XX XX@incollection{Lam85, XX title={Singular Perturbation for Stiff Equations Using Numerical Methods}, XX author={S. H. Lam}, XX editor={Corrado Casei}, XX year={1985}, XX publisher={Plenum Publishing Corporation}, XX pages={3-19}, XX abstract={perturbation automatic} XX} XX XX XX@techreport{Jord87, XX title={The Force}, XX author={Harry F. Jordan}, XX year={1987}, XX number={ECE Technical Rept. 87-1-1}, XX institution={University of Colorado, Boulder}, XX abstract={parallel programming language} XX} XX XX@techreport{DKT87, XX title={Applications Survey Reports - I}, XX author="{F. Darema} and {A. Karp} and {P. Teller}", XX editor={F. Darema}, XX year={1987}, XX number={RC 12743 (#57356)}, XX institution={IBM T. J. Watson Research Center}, XX address={Yorktown Heights, NY}, XX abstract={parallel RPI EPEX} XX} XX XX@techreport{Dare87, XX title={Applications Environment for the IBM Research Parallel Processor XX Prototype (RP3)}, XX author="{F. Darema}", XX year={1987}, XX number={RC 12627 (#56804)}, XX institution={IBM T. J. Watson Research Center}, XX address={Yorktown Heights, NY}, XX abstract={parallel RPI EPEX} XX} XX XX@inproceedings{LaGo88, XX author="{S. H. Lam} and {D. A. Goussis}", XX title={Basic Theory and Demonstration of the Computational XX Singular Perturbation for Stiff Equations}, XX booktitle={12th IMACS World Congress on Scientific Computation}, XX institution={IMACS}, XX year={1988}, XX abstract={perturbation automatic} XX} XX XX@misc{Pull86, XX author={T. H. Pulliam}, XX title={Solution Methods in Computational Fluid Dynamics}, XX year={1986}, XX abstract={NASA Ames Research Center3D CFD} XX} XX XX@techreport{YKM88, XX Author = "{H. C. Yee} and {G. H. Klopfer} and { J.-L. Montagne}", XX Title = "High-Resolution Shock-Capturing Schemes for Inviscid and Viscous Hypersonic Flows", XX Institution = "NASA Ames Research Center", XX Year = "1988", XX Type = "NASA Technical Memorandum", XX Number = "100097", XX Address = "Moffett Field, CA 94035", XX Month = "April", XX abstract = "rec-yee, shocks, hypersonic, CFD" XX } XX XX@techreport{LeYe88, XX Author = "{R. J. LeVeque} and { H. C. Yee}", XX Title = "A Study of Numerical Methods for Hyperbolic Conservation Laws with Stiff Source Terms", XX Institution = "NASA Ames Research Center", XX Year = "1988", XX Type = "NASA Technical Memorandum", XX Number = "100075", XX Address = "Moffett Field, CA 94035", XX Month = "March", XX Abstract = "rec-yee CFD hyperbolic" XX } XX XX@techreport{MYV87, XX Author = "{J.-L. Montagne}, { H. C. Yee} and {M. Vinkur}", XX Title = "Comparative Study of High-Resolution Shock-Capturing Schemes for a Real Gas", XX Institution = "NASA Ames Research Center", XX Year = "1988", XX Type = "NASA Technical Memorandum", XX Number = "100004", XX Address = "Moffett Field, CA 94035", XX Month = "July", XX Abstract = "shock overview rec-yee comparison" XX } XX XX@article{Yee87a, XX Author = "H. C. Yee", XX Title = "Construction of Explicit and Implicit Symmetric TVD Schemes and Their Applications", XX Journal = "Journal of Computational Physics", XX Year = "1987", XX Volume = "68", XX Number = "1", XX Pages = "151-179", XX Month = "January", XX Abstract = "TVD rec-yee hyperbolic " XX } XX XX@article{EnOs81, XX Author = "{B. Engquist} and {S. Osher}", XX Title = "One-Sided Difference Approximations for Nonlinear Conservation Laws", XX Journal = "Mathematics of Computation", XX Year = "1981", XX Volume = "36", XX Number = "154", XX Pages = "321-351", XX Abstract = "nonlinear conservation-laws hyperbolic" XX } XX@article{Hart83, XX Author = "Ami Harten", XX Title = "High Resolution Schemes for Hyperbolic Conservation Laws", XX Journal = "Journal of Computational Physics", XX Year = "1983", XX Volume = "49", XX Pages = "357-393", XX Abstract = "nonoscillatory hyperbolic rec-yee CFD" XX } XX XX@article{Hart84, XX Author = "Ami Harten", XX Title = "On a Class of High Resolution Total-variation-stable Finite-Difference Schemes", XX Journal = "SIAM Journal of Numerical Analysis", XX Year = "1984", XX Volume = "21", XX Number = "1", XX Pages = "1-23", XX Month = "February", XX Abstract = "TVD hyperbolic yee-rec CFD" XX } XX XX@article{Rasc00, XX Author = "{M. Rascle}", XX Title = {Quelques Indications sur les Systems Hyperboliques non Lineaires}, XX Journal = {J. Analyse Numerique}, XX Abstract = {Nishida model} XX } XX XX@techreport{Yee89, XX Author = "H. C. Yee", XX Title = "A Class of High-Resolution Explicit and Implicit Shock-Capturing Methods", XX Institution = "NASA Ames Research Center", XX Year = "1989", XX Type = "NASA Technical Memorandum", XX Number = "101088", XX Address = "Ames Research Center, Moffett Field, CA 94035", XX Month = "February", XX Abstract = "upwind hyperbolic shock limiting" XX } XX XX@techreport{Yee87b, XX Author = "H. C. Yee", XX Title = "Upwind and Symmetric Shock-Capturing Schemes", XX Institution = "NASA Ames Research Center", XX Year = "1987", XX Type = "NASA Technical Memorandum", XX Number = "89464", XX Address = "Ames Research Center, Moffett Field, CA 94035", XX Month = "May", XX Abstract = "upwind hyperbolic rec-yee shock" XX } XX XX@techreport{Cole84, XX Author = "P. Colella", XX Title = "Multidimensional Upwind Methods for Hyperbolic Conservation Laws", XX Institution = "Lawrence Berkeley Laboratory", XX Year = "1984", XX Number = "LBL-17023", XX Address = "Lawrence Berkeley Laboratory, Berkeley, CA 94720", XX Month = "May", XX Abstract = "Godunov hyperbolic" XX } XX XX@techreport{Turk88, XX Author = "Eli Turkel", XX Title = "Improving the Accuracy of Central Difference Schemes", XX Institution = "ICASE", XX Year = "1988", XX Type = "ICASE Report", XX Number = "88-53", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "September", XX Abstract = "CFD artificial-viscosity" XX } XX XX@techreport{Sayl87, XX Author = "P. E. Saylor", XX Title = "Leapfrog Variants of Iterative Methods for Linear Algebraic Equations", XX Institution = "Department of Computer Science", XX Year = "1987", XX Type = "Report", XX Number = "UIUCDCS-R-87-1373, UILU-ENG-87-1761", XX Address = "1304 W. Springfield Avenue, University of Illinois at Urbana-Champaign, Urbana, IL 61801", XX Month = "December", XX Abstract = "matrix leapfrog" XX } XX XX@techreport{GoBo87, XX Author = "{E. D. de Goede} and { J. H. M. ten Thije Boonkkamp}", XX Title = "Vectorization of the odd-even hopscotch scheme and the", XX Institution = "al", XX Year = "aa" XX } XX XX@techreport{GoBo87, XX Author = "{E. D. de Goede} and { J. H. M. ten Thije Boonkkamp}", XX Title = "Vectorization of the odd-even hopscotch scheme and the alternating direction implicit scheme of the two-dimensional {B}urgers' equations", XX Institution = "Centre for Mathematics and Computer Science", XX Year = "1987", XX Type = "Report", XX Number = "NM-R8720", XX Address = "P. O. Box 4079, 1009 AB Amsterdam, The Netherlands", XX Month = "November", XX Abstract = "Burgers hopscotch 2-dimensional" XX } XX XX@techreport{Neum43, XX Author = "J. von_Neumann", XX Title = "Oblique Reflection of Shocks", XX Institution = "U. S. Navy", XX Year = "1943", XX Type = "Explosives Research Report", XX Number = "12", XX Address = "Navy Dept., Bureau of Ordnance, Washington, D.C.", XX Month = "October", XX Abstract = "also appears in John von Neumann Collected Works, A.H. Taub, ed, 1963", XX Abstract = "fluid dynamics shocks" XX } XX XX@inproceedings{ReSt84, XX Author = "T. J. Coakley", XX Title = "A Compressible Navier-Stokes Code for Turbulent-flow Modeling", XX Booktitle = "Computation Fluid Dynamics", XX Year = "1984", XX Editor = "{K. C. Reddy} and { J. S. Steinhoff}", XX Pages = "12.1-12.30", XX Organization = "The University of Tennessee Space Institute", XX Address = "Tullahoma, Tennessee 37388", XX Month = "March", XX Abstract = "Workshop", XX Abstract = "CFD boundary-conditions turbulence" XX } XX XX@inproceedings{Wagg84, XX Author = "E. G. Waggoner", XX Title = "Transonic Flow Analysis abou wing/body combinations with pods, pylons and winglets using the {WBPPW} code", XX Booktitle = "Computation Fluid Dynamics", XX Year = "1984", XX Editor = "{K. C. Reddy} and { J. S. Steinhoff}", XX Pages = "13.1-13.48", XX Organization = "The University of Tennessee Space Institute", XX Address = "Tullahoma, Tennessee 37388", XX Month = "March", XX Abstract = "Workshop", XX Abstract = "CFD boundary-conditions transonic" XX } XX XX@techreport{DeMa88, XX Author = "{P. Degond} and {S. Mas-Gallic}", XX Title = "The weighted particle method for convection-diffusion equations", XX Institution = "Centre de Mathematiques Appliquees", XX Year = "1988", XX Number = "180", XX Address = "Unite de Recherche Associee au CNRS-756, 91128 Palaiseau Cedex, France", XX Month = "June", XX Abstract = "characteristics parallel" XX } XX XX@techreport{CoMa87, XX Author = "{G. H. Cottet} and {S. Mas-Gallic}", XX Title = "A particle method to solve transport-diffusion equations. Part {II}", XX Institution = "Centre de Mathematiques Appliquees", XX Year = "1987", XX Number = "R.I. 158", XX Address = "Unite de Recherche Associee au CNRS-756, 91128 Palaiseau Cedex, France", XX Month = "Month: June", XX Abstract = "characteristics parallel Navier-stokes" XX } XX XX@techreport{MaPo87, XX Author = "{S. Mas-Gallic} and {F. Poupaud}", XX Title = "Approximation of the transport equation by a weighted particle method", XX Institution = "Centre de Mathematiques Appliquees", XX Year = " 1987", XX Number = "165", XX Address = "Unite de Recherche Associee au CNRS-756, 91128 Palaiseau Cedex, France", XX Month = "September", XX Abstract = "characteristics " XX } XX XX@techreport{MaRa86, XX Author = "{S. Mas-Gallic} and {P. A. Raviart}", XX Title = "Particle approximation of convection-diffusion problems", XX Institution = "Laboratoire {D'A}nalyse Numerique", XX Year = "1986", XX Number = "R86013", XX Address = "Universite Pierre et Marie Curie, Laboratoire {d'A}nalyse Numerique (U.A. 189), Tour 55-65 - 5eme etage, 4, place Jussieu, 75252 Paris Cedex 05", XX Abstract = "characteristics" XX } XX XX@techreport{NeTa88, XX Author = "{Haim Nessyahu} and {Eitan Tadmor}", XX Title = "Non-oscillatory central difference for hyperbolic conservation laws", XX Institution = "ICASE", XX Year = "1988", XX Type = "ICASE Report", XX Number = "88-51", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "September", XX Abstract = "hyperbolic conservation" XX } XX XX@article{MacK87, XX Author = "Sharon MacKerrell", XX Title = "A nonlinear, asymptotic investigation of the stationary modes of instability of the three-dimensional boundary layer on a rotation disc", XX Journal = "Proceedings of the Royal Society of London, A", XX Year = "1987", XX Volume = "413", XX Pages = "497-513", XX Abstract = "asymptotics boundary layers" XX } XX XX@techreport{Hall85, XX Author = "P. Hall", XX Title = "An Asymptotic Investigation of the Stationary Modes of Instability of the Boundary Layer on a Rotating Disc", XX Institution = "ICASE", XX Year = "1985", XX Type = "ICASE Report", XX Number = "85-40", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "September", XX Abstract = "asymptotics boundary layers" XX } XX XX@techreport{GaQu88, XX Author = "{Fabio Gastaldi} and {Alfio Quateroni}", XX Title = "On the Coupling of Hyperbolic and Parabolic Systems: Analytic and Numerical Approach", XX Institution = "ICASE", XX Year = "1988", XX Type = "ICASE Report", XX Number = "88-55", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "October", XX Abstract = "asymptotics, coupling, boundary conditions, interface" XX } XX XX@techreport{HKR88, XX Author = "{W. D. Henshaw} and {H. O. Kreiss} and {L. G. Reyna}", XX Title = "On the Smallest Scale for the Incompressible Navier-Stokes Equations", XX Institution = "ICASE", XX Year = "1988", XX Type = "ICASE Report", XX Number = "88-8", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "January", XX Abstract = "asymptotics, NS" XX } XX XX@techreport{CGS88, XX Author = "{Wei Cai} and {D. Gottlieb} and {Chi-Wang Shu}", XX Title = "Non-oscillatory Spectral Fourier Methods for Shock Wave Calculations", XX Institution = "ICASE", XX Year = "1988", XX Type = "ICASE Report", XX Number = "88-37", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "June" XX } XX XX@techreport{BGMM87, XX Author = "{A. Bayliss} and {D. Gottlieb} and {B. J. Matkowsky} and {M. Minkoff}", XX Title = "An Adaptive Pseudo-Spectral Method for Reaction Diffusion Problems", XX Institution = "ICASE", XX Year = "1987", XX Type = "ICASE Report", XX Number = "87-67", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "October", XX Abstract = " " XX } XX XX@techreport{Ulri88, XX Author = "{Clement W. Ulrich}", XX Title = "Solving Narrow Banded Linear Systems on Multiprocessor Architectures", XX Institution = "CSRD", XX Year = "1988", XX Type = "Masters Thesis", XX Address = "1304 W. Springfield Avenue, University of Illinois at Urbana-Champaign, Urbana, IL 61801" XX } XX XX@article{Frae67, XX Author = "L. E. Fraenkel", XX Title = "On the method of matched asymptotic expansions", XX Journal = "Proc. Camb. Phil. Soc.", XX Year = "1967", XX Volume = "65", XX Pages = "209-284", XX Abstract = "interface" XX } XX XX XX@article{VaMi85, XX Author = "{D. Vandromme} and {H. Ha Minh}", XX Title = "About the Coupling of Turbulence Closure Models with Averaged Navier-Stokes Equations", XX Journal = "Journal of Computational Physics", XX Year = "1985", XX Volume = "65", XX Pages = "386-409", XX Abstract = "overview" XX } XX XX@inproceedings{Hols6?, XX Author = "Terry L. Holst", XX Title = "The Relative Merits of Several Numerical Techniques for Solving the Compressible Navier-Stokes Equations", XX Booktitle = "AIAA", XX Year = "196?", XX Pages = "1467-1481", XX Organization = "AIAA", XX Address = "NASA Langley Research Center", XX Abstract = "CFD, Hopscotch, Brailovskaya, Du Fort-Frankel, MacCormack" XX } XX XX@article{AbGo80, XX Author = "{Saul Abarbanel} and {D. Gottlieb}", XX Title = "Optimal Time Splitting for Two- and Three-Dimensional Navier-Stokes Equations with Mixed Derivatives", XX Journal = "Journal of Computational Physics", XX Year = "1980", XX Volume = "41", XX Number = "1", XX Pages = "1-33", XX Abstract = "diagonalization NS" XX} XX XX@phdthesis{Dahl88, XX Author = "Helge K. Dahle", XX Title = "Adaptive Characteristic Operator Splitting Techniques for Convection-Dominated Diffusion Problems in One and Two Space Dimensions", XX School = "Univ. of Bergen", XX Address = "Bergen, Norway", XX Year = "1988", XX Month = "December", XX Abstract = "may have incorrect constant" XX } XX XX@techreport{Hoff88, XX Author = "{D. Hoff}", XX Title = "Discontinuous Solutions of the Navier-Stokes Equations for Compressible Flow", XX Institution = "The Institute for Applied Mathematics and Scientific Computing", XX Year = "1988", XX Number = "No. 8901", XX Address = "Bloomington, Indiana", XX Abstract = "techniques norms methods read" XX } XX XX@techreport{Tadm90, XX Author = "{E. Tadmor}", XX Title = "Local Error Estimates for Discontinuous Solutions of Nonlinear Hyperbolic Equations", XX Institution = "ICASE", XX Year = "1990", XX Type = "ICASE Report", XX Number = "90-??", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "??", XX Abstract = "read, uniform error bounds" XX } XX XX@techreport{Tadm82, XX Author = "{Eitan Tadmor}", XX Title = "The Unconditional Instability of Inflow-dependent Boundary Conditions in Difference Approximations to Hyperbolic Systems", XX Institution = "ICASE", XX Year = "1982", XX Type = "ICASE Report", XX Number = "82-33", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "November", XX Abstract = "read" XX } XX XX@techreport{Tadm83, XX Author = "{Eitan Tadmor}", XX Title = "Numerical Viscosity and the Entropy Condition for Conservative Difference Schemes", XX Institution = "ICASE", XX Year = "1983", XX Type = "NASA Contractor Report", XX Number = "172141", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "June" XX } XX XX@techreport{Tadm88, XX Author = "{Eitan Tadmor}", XX Title = "Semi-discrete Approximations to Nonlinear Systems of Conservation Laws; Consistence and L-inf Stability Imply Convergence", XX Institution = "ICASE", XX Year = "1988", XX Type = "ICASE Report", XX Number = "88-41", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "July", XX Abstract = "read" XX } XX XX@article{Sech85, XX Author = "A. Yu. Sechin", XX Title = "On the approximate solution of two-dimensional singularly perturbed convection-diffusion equations", XX Journal = "Sov. J. Numer. Anal. Math. Modeling", XX Year = "1985", XX Volume = "1", XX Number = "2", XX Pages = "101-119", XX Abstract = "read interface outer-expansions" XX } XX XX@techreport{Ferm87, XX Author = "{Lars Ferm}", XX Title = "Open boundary conditions for external flow problems", XX Institution = "Dept of Scientific Computing, Uppsala Univ.", XX Year = "1987", XX Type = "Report", XX Number = "108", XX Month = "February", XX Abstract = "boundary conditions, Riemann invariants, interface" XX } XX XX@techreport{FeGu8?, XX Author = "{Lars Ferm} and {Bertil Gustafsson}", XX Title = "Far Field Boundary Conditions for Steady State Solutions to Hyperbolic Systems", XX Institution = "Uppsala University", XX Year = "??", XX Abstract = "Riemann invariants, interface" XX } XX XX@techreport{Gust87, XX Author = "{Bergil Gustafsson}", XX Title = "Far Field Boundary Conditions for Time-dependent Hyperbolic Systems", XX Institution = "Center for Large Scale Scientific Computation", XX Year = "1987", XX Type = "Manuscript ", XX Number = "CLaSSiC-87-16", XX Address = "Stanford University", XX Month = "February", XX Abstract = "Riemann invariants, interface" XX } XX XX@article{CaLi48, XX Author = "{G. F. Carrier} and {C. C. Lin}", XX Title = "On the Nature of the Boundary Layer Near the Leading Edge of a Flat Plate", XX Journal = "Quarterly of Applied Mathematics", XX Year = "1948", XX Volume = "6", XX Pages = "63-68", XX Abstract = "read, asymptotics, matched expansion, vorticity" XX } XX XX@book{Schl55, XX author= "{Hermann Schlichting}", XX title= "Boundary Layer Theory", XX year= "1955", XX publisher= "McGraw-Hill", XX address= "New York", XX abstract = "portion of book" XX} XX XX@inproceedings{PoLe89, XX Author = "{Kenneth G. Powell} and {B. van Leer}", XX Title = "A Genuinely Multi-Dimensional Upwind Cell-vertex Scheme for the Euler Equations", XX Booktitle = "AIAA 27th Aerospace Sciences Meeting", XX Year = "1989", XX Organization = "AIAA", XX Month = "January", XX Abstract = "CFD, upwind" XX } XX XX@article{Kuo89, XX Author = "Hung-ju Kuo", XX Title = "The Error in Spatial Truncation for Systems of Parabolic Conservation Laws", XX Journal = "Trans. of the AMS", XX Year = "1989", XX Volume = "311", XX Number = "2", XX Pages = "433-465", XX Abstract = "existence, 1-D, fluid dynamics" XX } XX XX@article{CCS77, XX Author = "{K. N. Chueh} and {C. C. Conley} and {J. A. Smoller}", XX Title = "Positively Invariant Regions for Systems of Nonlinear Diffusion Equations", XX Journal = "Indiana University Mathematics Journal", XX Year = "1977", XX Volume = "26", XX Number = "2", XX Pages = "373-392", XX abstract = "bounding systems" XX } XX XX@techreport{LLP89, XX Author = "{B. van Leer} and { Wen-Tzong Lee} and {Kenneth G. Powell}", XX Title = "Sonic-Point Capturing", XX Institution = "Dept of Aerospace Engineering, University of Michigan", XX Year = "1989", XX Type = "presented at AIAA 9th CFD Conf", XX Number = "AIAA-89-1945-CP", XX Abstract = "flux difference" XX } XX XX@article{ChPa87, XX Author = "{H. C. Chen} and { V. C. Patel}", XX Title = "Laminar Flow at the Trailing Edge of a Flat Plate", XX Journal = "AIAA Journal", XX Year = "1987", XX Volume = "25", XX Number = "8", XX Pages = "920-928", XX Abstract = "boundary layer, boundary conditions" XX } XX XX@article{MaHo87, XX Author = "{D. L. Marcum} and {Joe D. Hoffman}", XX Title = "Numerical Boundary Condition Procedures for Euler Solvers", XX Journal = "AIAA Journal", XX Year = "1987", XX Volume = "25", XX Number = "8", XX Pages = "1054-1061", XX Abstract = "boundary conditions" XX } XX XX@article{SGH87, XX Author = "{Stanley A. Skebe} and {Isaac Greber} and {Warren R. Hingst}", XX Title = "Investigation of Two-Dimensional Shock-Wave/Boundary-Layer Interactions", XX Journal = "AIAA Journal", XX Year = "1987", XX Volume = "25", XX Number = "6", XX Pages = "777-783", XX Abstract = "read" XX } XX XX@inproceedings{Pull84, XX Author = "T. H. Pulliam", XX Title = "Euler and Thin Layer Navier-Stokes Codes: NASA Ames Research Center2D, NASA Ames Research Center3D", XX Booktitle = "Computation Fluid Dynamics", XX Year = "1984", XX Editor = "{K. C. Reddy} and {J. S. Steinhoff}", XX Pages = "15.4-15.85", XX Organization = "Workshop at Univ. of Tenn. Space Institute", XX Address = "Tullahoma, Tenn", XX Month = "March", XX Abstract = "CFD code" XX } XX XX@article{Ande89, XX Author = "Christopher R. Anderson", XX Title = "Vorticity Boundary Conditions and Boundary Vorticity Generation for Two-Dimensional Viscous Incompressible Flows", XX Journal = "Journal of Computational Physics", XX Year = "1989", XX Volume = "80", XX Pages = "72-97", XX Abstract = "CFD, read" XX } XX XX XX@book{Ames72, XX author= "{W. F. Ames}", XX title= "Nonlinear Partial Differential Equations in Engineering, Volume {II}", XX year= "1972", XX publisher= "Academic Press", XX address= "New York" XX} XX XX@book{Bern50, XX author={D. L. Bernstein}, XX title={Existence Theorems in Partial Differential Equations}, XX publisher={Princeton University Press}, XX address= "Princeton, New Jersey", XX year={1950} XX} XX XX@article{SPE84, XX Author = "{F. T. Smith} and {D. Papageorgiou} and {J. W. Elliott}", XX Title = "An alternative approach to linear and nonlinear stability calculations at finite {R}eynolds numbers", XX Journal = "J. Fluid Mech", XX Year = "1984", XX Volume = "146", XX Pages = "313-330", XX Abstract = "numerical asymptotics triple-deck read" XX } XX XX@article{Smit89, XX Author = {Frank T. Smith}, XX Title = {Interactions in boundary-layer transition}, XX Journal = {Theoretical and Applied Mechanics}, XX Year = {1989}, XX Volume = {}, XX Number = {}, XX Pages = {267-281}, XX Abstract = {triple-deck, asymptotics, this may be from a book} XX } XX XX@article{Habe86, XX Author = "{R. Haberman}", XX Title = {Note on the initial formation of shocks}, XX Journal = {SIAM J. Applied Math}, XX Year = {1986}, XX Volume = {46}, XX Number = {1}, XX Pages = {16-19}, XX Abstract = {asymptotics, conservation-law, shock-birth} XX } XX XX@book{LLV85, XX author = "{G. S. Ladde} and {V. Lakshmikantham} and {A. S. Vatsala}", XX title = {Monotone Iterative Techniques for Nonlinear Differential Equations}, XX publisher = {Pitman Publishing, Inc.}, XX year = {1985}, XX address = {Marshfield, Massachusetts}, XX abstract = {monotone iterative, maximum principle} XX } XX XX@article{Nish68, XX Author = "{T. Nishida}", XX Title = {Global solution for initial boundary value problem of a quasi linear hyperbolic system}, XX Journal = {Proc. Jap. Ac.}, XX Year = {1968}, XX Volume = {44}, XX Pages = {642-646}, XX abstract = {don't have this one, ref in Rascle} XX } XX XX@techreport{Nish77, XX Author = "{T. Nishida}", XX Title = {Non linear hyperbolic equations and related topics in fluid dynamics}, XX Institution = {Cours de 3eme cycle}, XX Year = {1977}, XX Number = {}, XX Address = {Univeriste d'Orsay}, XX Month = {}, XX abstract = {don't have this one, ref in Rascle} XX } XX XX@article{Liu76, XX Author = "{T. P. Liu}", XX Title = {The entropy condition and the admissibility of shocks}, XX Journal = {Math. Anal. Applied}, XX Year = {1976}, XX Volume = {53}, XX Pages = {78-88}, XX abstract = {don't have this one} XX } XX XX@article{Olei57, XX Author = "{O. Oleinik}", XX Title = {Discontinuous solutions of nonlinear differential equations}, XX Journal = {American Mathematics Society Translations}, XX Year = {1976}, XX Series = {2}, XX Number = {26}, XX Pages = {95-172}, XX abstract = {don't have this one} XX } XX XX@article{Cher89, XX Author = "{I-Liang Chern}", XX Title = {Stability Theorem and Truncation Error Analysis for the Glimm Scheme and for a Front Tracking Method for flows with strong discontinuities}, XX Journal = {Comm. Pure and Appl Math}, XX Year = {1989}, XX Volume = {17}, XX Pages = {815-144} XX } XX XX@article{Thom87, XX Author = "{Kevin W. Thompson}", XX Title = {Time dependent boundary conditions for hyperbolic systems}, XX Journal = {J. Comp. Phy.}, XX Year = {1987}, XX Volume = {68}, XX Pages = {1-24} XX } XX XX@techreport{GGH89, XX Author = {{John W. Goodrich} and {Karl Gustafson} and {Kadosa Halasi}}, XX Title = {Hopf bifurcation na the driven cavity}, XX Institution = {ICOMP}, XX Year = {1989}, XX Type = {technical memorandum 102334}, XX Number = {ICOMP-89-21}, XX Address = {NASA Lewis Space Center}, XX Month = {October} XX } XX XX@article{MoSm??, XX Author = "{Cleve Moler} and {Joel Smoller}", XX Title = {Elementary Interactions in quasi-linear hyperbolic systems }, XX Journal = {??}, XX Year = {??}, XX Volume = {??}, XX Number = {??}, XX Pages = {309-322}, XX abstract = {nishida} XX } XX XX@techreport{Hags90, XX Author = "{Thomas Hagstrom}", XX Title = {asymptotic boundary conditions for dissipative waves: general theory}, XX Institution = {ICOMP}, XX Year = {1990}, XX Type = {NASA Tech. Memorandum 102497}, XX Number = {ICOMP-90-02}, XX Address = {NASA Lewis}, XX Month = {January} XX } XX XX@misc{Hags??, XX Author = "{Thomas Hagstrom}", XX Title = {conditions at the downstream boundary for simulations of viscous, incompressible flow}, XX Year = {1990?} XX } XX XX@techreport{Gole88, XX Author = "{Machael Giles}", XX Title = {non-reflecting boundary conditions for the {E}uler equations}, XX Institution = {Comp. Fluid Dyn. Lab.}, XX Year = {1988}, XX Type = {tech. rep.}, XX Number = {CFDL-TR-11-8}, XX Address = {Dept. of Aero. and Astro., MIT}, XX Month = {February} XX } XX XX@article{Heds79, XX Author = "{G. W. Hedstrom}", XX Title = {nonreflecting boundary conditions for nonlinear hyperbolic systems}, XX Journal = {J Comp. Phy}, XX Year = {1979}, XX Volume = {30}, XX Pages = {222-237} XX } XX XX@techreport{Krei90, XX Author = "{Gunilla Kreiss}", XX Title = {convergence to steady state of solutions of viscous conservation laws}, XX Institution = {Royal Institute of Technology}, XX Year = {1990}, XX Type = {misc}, XX Number = {??}, XX Address = {Dept of Numerical Analysis and Computer Science, S-100 44 Stockholm, Sweeden} XX } XX XX@article{TeLi90, XX Author = "{T. E. Tezduyar} and {J. Liou}", XX Title = {adaptive implicit-explicit finite element algorithms for fluid mechanics problems}, XX Journal = {comp. Meth. Appl. Mech. Eng.}, XX Year = {1990}, XX Volume = {78}, XX Pages = {165-179} XX } XX XX@article{MoLi49, XX Author = "{Morris Morduchow} and {Paul A Libby}", XX Title = {on a complete solution of the one-dimensional flow equations fo a viscous, heat-conducting, compressible gas}, XX Journal = {J of Aero. Sci.}, XX Year = {1949}, XX Pages = {674-705}, XX Abstract = {exact soln} XX } XX XX@inproceedings{Auge90, XX Author = "{Jeffrey M. Augenbaum}", XX Title = {the pseudospectral method for limited-area elastic wave calculations}, XX Booktitle = {Proc. SIAM Conf on Geophysics}, XX Year = {1990}, XX Editor = "{who knows?}", XX Pages = {??}, XX Organization = {SIAM}, XX Address = {the moon}, XX Month = {actubre} XX } XX XX@article{Auge89, XX Author = "{J. M. Augenbaum}", XX Title = {an adaptive pseudospectral method for discontinuous problems}, XX Journal = {Appl Numer. Math.}, XX Year = {1989}, XX Volume = {5}, XX Pages = {459-480} XX } XX XX@techreport{Tadm83, XX Author = "{Eitan Tadmor}", XX Title = {Numerical viscosity and the entropy condition for conservative difference schemes}, XX Institution = {ICASE}, XX Year = {1983}, XX Type = {NASA Contractor Report}, XX Number = {172141}, XX Address = {NASA Langley Research Center}, XX Month = {June} XX } XX XX@techreport{CoGa, XX Author = "{G. H. Cottet} and {S. Gallic}", XX Title = {a particle method to solve transport-diffusion equations. Part {I}: the linear case}, XX Institution = {Centre de Mathematiques Appliquees, Ecole Polytechnique}, XX Year = {1986?}, XX Number = {115}, XX Address = {91128 Palaisequ Cedex, FRANCE} XX } XX XX@techreport{DeMu87, XX Author = "{P. Degond} and { F.J. Mustieles}", XX Title = {approximation of diffusion equations by deterministic convections of particles}, XX Institution = {Centre de Mathematiques Appliquees, Ecole Polytechnique}, XX Year = {1987}, XX Number = {167}, XX Address = {91128 Palaisequ Cedex, FRANCE} XX } XX XX@techreport{CoGa, XX Author = "{B. Noclot} and {P. degond} and {F. Poupaud}", XX Title = {deterministic particle simulations of the {B}oltzmann transport equations of semiconductors}, XX Institution = {Centre de Mathematiques Appliquees, Ecole Polytechnique}, XX Year = {1987}, XX Number = {157}, XX Address = {Equipe de recherche associee du C.N.R.S. No 474} XX } XX XX@article{Lave88, XX Author = "{John E. Lavery}", XX Title = {nonoscillatory solution of the steady-state inviscid {B}urgers' equation by mathematical programming}, XX Journal = {J. Comp. Phy.}, XX Year = {1988}, XX Volume = {79}, XX Number = {2}, XX Pages = {436-448} XX } XX XX@article{Lave91, XX Author = "{John E. Lavery}", XX Title = {solution of steady-state two-dimensional conservation laws by mathematical programming}, XX Journal = {SIAM JNA}, XX Year = {1991} XX } XX XX@techreport{ReEs89, XX Author = "{E. Renard} and {J.A. Essers}", XX Title = {an analysis of severe grid distortion effects on the accuracy of some discretization schemes for convection-diffusion equations}, XX Institution = {Supercomputer Computations Research Institute., Florida State University}, XX Year = {1989}, XX Number = {FSU-SCRI-89-31}, XX Address = {Tallahassee, FL}, XX Month = {March} XX } XX XX@misc{Hara90, XX Author = "{Eduard Harabetian}", XX Title = {a subcell resolution method for viscous systems and computations of combustion waves}, XX Year = {1990}, XX Abstract = {sub to JCP} XX } XX XX@article{Hara90, XX Author = "{Eduard Harabetian}", XX Title = {a numerical method for viscous perturbations of hyperbolic conservation laws}, XX Journal = {SIAM J. Num. An.}, XX Year = {1990}, XX Volume = {27}, XX Number = {4}, XX Pages = {870-884} XX } XX XX@article{HoTr88, XX Author = "{Louis H. Howell} and {Lloyd N. Trefethen}", XX Title = {Ill-posedness of absorbing boundary conditions for migration}, XX Journal = {Geophysics}, XX Year = {1988}, XX Volume = {53}, XX Number = {5}, XX Pages = {593-603}, XX Abstract = {non-reflecting boundary conditions} XX } XX XX@article{Tran90, XX Author = "{John A Trangenstein}", XX Title = {a second-order algorithm for the dynamic response of soils}, XX Journal = {Impact of Comp. in Sci. and Eng.}, XX Year = {1990}, XX Volume = {2}, XX Pages = {1-39} XX } XX XX@article{BCT89, XX Author = "{John B. Bell} and {Phillip Colella} and {John A. Trangenstein}", XX Title = {higher order {G}odunov methods for general systems of hyperbolic conservation laws}, XX Journal = {J Comp. Phy.}, XX Year = {1989}, XX Volume = {82}, XX Number = {2}, XX Pages = {362-397} XX } XX XX@article{ShSc89, XX Author = "{Michael Shearer} and {David G. Schaeffer}", XX Title = {the quasidynamic approximation in critical state plasticity}, XX Journal = {arch. Rat. Mech. Anal.}, XX Year = {1989}, XX Volume = {108}, XX Number = {3}, XX Pages = {267-280}, XX Abstract = {granular flow} XX } XX XX@techreport{ScSh90, XX Author = "{David G. Schaeffer} and {Michael Shearer}", XX Title = {loss of hyperbolicity in yield vertex plasticity models under nonproportional loading}, XX Institution = {Inst. for Math. and its Appl.}, XX Year = {1990}, XX Type = {IMA preprint series}, XX Number = {601}, XX Address = {University of Minn.}, XX Month = {February}, XX Abstract = {granular flow} XX } XX XXtechreport{GrPe90, XX Author = "{John A. Trangenstein} and {Richard B. Pember}", XX Title = {numerical algorithms for strong discontinuities in elastic-plastic solids}, XX Institution = {Lawrence Livermore Natl Lab}, XX Year = {1990}, XX Type = {Preprint}, XX Number = {UCLR-JC-105023}, XX Address = {Livermore, CA}, XX Month = {September}, XX Abstract = {godunov} XX } XX XX@techreport{Tran90, XX Author = "{John A. Trangenstein}", XX Title = {a comparison of two numerical methods for shocks in one-dimensional elastic-plastic solids}, XX Institution = {Lawrence Livermore Natl Lab}, XX Year = {1990}, XX Type = {Preprint}, XX Number = {UCLR-JC-105024}, XX Address = {Livermore, CA}, XX Month = {September}, XX Abstract = {godunov watch workshop on viscous and numerical approximation of shock waves} XX } XX XX@misc{DrHa, XX Author = "{A. Drescher} and {C. Han}", XX Title = {incremental response of sand in DSC}, XX Year = {1989}, XX Note = {Dept. of Civil and Mineral Eng., University of Minn.}, XX Abstract = {granular flow} XX } XX XX@techreport{AGT85, XX Author = {{S. Abarbanel} and {D. Gottlieb} and {E. Tadmor}}, XX Title = {Spectram methods for discontinuous problems}, XX institution = {ICASE}, XX Year = {1985}, XX month = {August}, XX type = {ICASE Report}, XX Number = {85-38}, XX address = {NASA Langley Research Center, Hampton, VA}, XX Abstract = {hyperbolic} XX } XX XX@techreport{AbGo80, XX Author = {{S. Abarbanel} and {D. Gottlieb}}, XX Title = {In improving the 2-4 two dimensional leap-frog scheme}, XX institution = {ICASE}, XX Year = {1980}, XX month = {September}, XX type = {ICASE Report}, XX Number = {80-24}, XX address = {NASA Langley Research Center, Hampton, VA}, XX Abstract = {} XX } XX XX@techreport{AbGo75, XX Author = {{S. Abarbanel} and {D. Gottlieb}}, XX Title = {A note on the leap-frog scheme in two and three dimensions}, XX institution = {ICASE}, XX Year = {1975}, XX month = {October}, XX type = {ICASE Report}, XX Number = {75-21}, XX address = {NASA Langley Research Center, Hampton, VA}, XX Abstract = {} XX } XX XX@techreport{AbGo90, XX Author = {{ S. Abarbanel} and {D. Gottlieb}}, XX Title = {Spurious frequencies as a result of numerical boundary treatments}, XX institution = { ICASE}, XX Year = {1990}, XX month = {october}, XX type = {ICASE Report}, XX Number = {90-73}, XX address = {NASA Langley Research Center, Hampton, VA}, XX Abstract = {} XX } XX XX@techreport{AbMu81, XX Author = {{S. Abarbanel} and {E. Murman}}, XX Title = {stability of two-dimensional hypberbolic boundary value problems for explicit and implicit schemes}, XX institution = {ICASE}, XX Year = {1981}, XX month = {august}, XX type = {ICASE Report}, XX Number = {81-29}, XX address = {NASA Langley Research Center, Hampton, VA}, XX Abstract = {} XX } XX XX@techreport{ABL86, XX Author = {{S. Abarbanel} and {A. Bayliss} and {L. Lustman}}, XX Title = {non-reflecting boundary conditions for the {N}avier-{S}tokes equations}, XX institution = {ICASE}, XX Year = {1986}, XX month = {March}, XX type = {ICASE Report}, XX Number = {86-9}, XX address = {NASA Langley Research Center, Hampton, VA}, XX Abstract = {} XX } XX XX@techreport{KrKr85, XX Author = {{G. Kreiss} and {H. Kreiss}}, XX Title = {Convergence to steady state of solutions of {B}urgers' equation}, XX institution = {ICASE}, XX Year = {1985}, XX month = {December}, XX type = {ICASE Report}, XX Number = {85-50}, XX address = {NASA Langley Research Center, Hampton, VA}, XX Abstract = {} XX } XX XX@inproceedings{BMM88, XX Author = {{A. Bayliss} and {B.J. Matkowsky} and {M. Minkoff}}, XX Title = {bifurcation and pattern formation in combustion}, XX booktitle = {Ordinary and partial differential equations, Volume II}, XX Year = {1988}, XX Title = {}, XX Pages = {1-51}, XX organization = {}, XX address = {Dundee}, XX month = {}, XX Abstract = {} XX } XX XX@inproceedings{BMM88, XX Author = {{A. Bayliss} and {B.J. Matkowsky} and {M. Minkoff}}, XX Title = {bifurcation and pattern formation in combustion}, XX booktitle = {ordinary and partial differential equations, {V}olume {II}}, XX Year = {1988}, XX Pages = {1-51}, XX organization = {}, XX address = {Dundee}, XX month = {}, XX Abstract = {} XX } XX XX@inproceedings{More89, XX Author = {Jorge J. More}, XX Title = {a collection of nonlinear model problems}, XX booktitle = {AMS-SIAM summer seminar on the computational solution of nonlinear systems of equations}, XX Year = {1988}, XX Pages = {??}, XX organization = {}, XX address = {Colorado State University}, XX month = {July}, XX Abstract = {} XX } XX XX@article{GKLM, XX Author = {{Marc Garbey} and {Hans G. Kaper} and {Gary K. Leaf} and {B. J. Matkowsky}}, XX Title = {nonlinear analysis of condensed-phase surface comubsion}, XX Journal = {Euro Jnl of Applied mathematics}, XX Year = {1990}, XX Volume = {1}, XX Pages = {73-89}, XX Abstract = {} XX } XX XX } XX XX@techreport{Garb89, XX Author = {M. Garbey}, XX Title = {asymptotic analysis of singular perturbation problems governed by a conservation law}, XX institution = {Mathematics and Computer Science Division}, XX address = {Argonne National Laboratory, Argonne, IL}, XX type = {Preprint}, XX month = {October 1989}, XX Year = {1989}, XX Number = {MCS-P107-1089}, XX Abstract = {} XX } XX XX@techreport{GKLM, XX Author = {{Marc} and {a} and {a} and {a}}, XX Title = {a}, XX institution = {a}, XX address = {a}, XX type = {a}, XX month = {a}, XX Year = {a}, XX Number = {a}, XX Abstract = {a} XX } XX XX@techreport{GKLM89, XX Author = {{M. Garbey} and {H. G. Kaper} and {Gary K. Leaf} and {B. J. Matkowsky}}, XX Title = {Using {MAPLE} for the analysis fo bifurcation phenomena in condensed-phase surface combustion}, XX institution = {Mathematics and Computer Science Division}, XX address = {ion}, XX type = {address:Preprint}, XX month = {November}, XX Year = {1989}, XX Number = {MCS-P114-1189}, XX Abstract = {} XX } XX XX@techreport{Cher90, XX Author = {I-Liang Chern}, XX Title = {multiple-mode diffusion waves fo viscous nonstricly hyperbolic conservation laws}, XX institution = { Mathematics and Computer Science Division}, XX address = {Argonne National Laboratory, Argonne, IL}, XX type = {Preprint}, XX month = {February}, XX Year = {1990}, XX Number = {MCS-P134-0290}, XX Abstract = {} XX } XX XX@techreport{Che90a, XX Author = {I-Liang Chern}, XX Title = {large-time behavior of solutions of {L}ax]{Friedrichs} finite difference equations for hyperbolic systems of conservation laws}, XX institution = {Mathematics and Computer Science Division}, XX address = {Argonne National Laboratory, Argonne, IL}, XX type = {Preprint}, XX month = {February}, XX Year = { 1990}, XX Number = {MCS-P138-0290}, XX Abstract = {} XX } XX XX@techreport{Qian90, XX Author = {Chen Gui-Qiang}, XX Title = {limit behavior of approximate solutions to conservation laws}, XX institution = {Mathematics and Computer Science Division}, XX address = {Argonne National Laboratory, Argonne, IL}, XX type = {Preprint}, XX month = {March}, XX Year = {1990}, XX Number = {MCS-P141-0390}, XX Abstract = {} XX } XX XX@techreport{GrKe90, XX Author = {{W. D. Gropp} and {D. E. Keyes}}, XX Title = {parallel performatnce of domain-decomposed preconditioned krylov methods for PDEs with adaptive refinement}, XX institution = {Mathematics and Computer Science Division}, XX address = {Argonne National Laboratory, Argonne, IL}, XX type = {Preprint}, XX month = {May}, XX Year = {1990}, XX Number = {MCS-P147-0490}, XX Abstract = {} XX } XX XX@techreport{Chen90, XX Author = {Gui-Qiang Chen}, XX Title = {the theory of compensated compactness and teh system of isentropic gas dynamics}, XX institution = {Mathematics and Computer Science Division}, XX address = {Argonne National Laboratory, Argonne, IL}, XX type = {Preprint}, XX month = {May}, XX Year = {1990}, XX Number = {MCS-P154-0590}, XX Abstract = {} XX } XX XX@article{AMS90, XX Author = {{S. F. Ashby} and {T. A. Manteuffel} and {P. E. Saylor}}, XX Title = {a taxonomy for conjugate gradient methods}, XX Journal = {SIAM J. Numer. Anal.}, XX Year = {1990}, XX Volume = {27}, XX Pages = {1542-1568}, XX Abstract = {} XX } XX XX@techreport{CGK90, XX Author = {{Xiao-Chuan Cai} and {WIlliam D. Gropp} and {David E. Keyes}}, XX Title = {convergence rate estimate for a domain decomposition method}, XX institution = {Department of Computer Science}, XX address = {Yale University}, XX type = {Research Report}, XX month = {October}, XX Year = {1990}, XX Number = {YALEU/DCS/RR-827}, XX Abstract = {} XX } XX XX@techreport{TLB90, XX Author = {{T.E. Tezduyar} and {J.Liou} and {M. Behr}}, XX Title = {a new strategy for finite element computations involving moving boundaries and interfaces -- the DSD/ST procedure: I. The concept and the preliminary numerical tests}, XX institution = {Univeristy of Minnesota supercomputer institute }, XX address = {Minneapolis, Minn}, XX type = {Research Report}, XX month = {September}, XX Year = {1990}, XX Number = {UMSI 90/169}, XX Abstract = {} XX } XX XX XX@article{Berg86, XX Author = "M. J. Berger", XX Title = "Data Structures for Adaptive Grid Generation", XX Journal = "SIAM J. Sci. Stat. Comp.", XX Year = "1986", XX Volume = "7", XX Pages = "904-916", XX Abstract = "don't have this one, homogeneous" XX } XX XX@article{BeCo88, XX title={Local Adaptive Mesh Refinement for Shock Hydrodynamics}, XX author="{Marsha J. Berger} and {Phil Colella}", XX Journal = "Journal of Computational Physics", XX year={1989}, XX volume = {82}, XX pages = {64-84}, XX abstract={adaptive berger shock homogeneous} XX} XX XX@article{BeOl84, XX title={Adaptive Mesh Refinement for Hyperbolic Partial Differential Equations}, XX author="{M. J. Berger} and {J. Oliger}", XX year={1984}, XX journal={J. Comp. Phy.}, XX volume={53}, XX pages={484-512}, XX abstract={partial adaptive hyperbolic homogeneous} XX} XX XX@techreport{ChSa89, XX Author = "{H. C. Chen} and {A. Sameh}", XX Title = {A Domain Decomposition Method for 3D Elasticity Problems}, XX Institution = {CSRD, University of Illinois}, XX Year = {1989}, XX Number = {890}, XX Address = {Urbana-Champaign, Illinois}, XX Month = {September}, XX Abstract = {domain decomposition, cedar, parallel processing, homogeneous} XX } XX XX@techreport{CHL89, XX title={Geometry-Independent Convergence Results for Domain Decomposition Algorithms}, XX author = "{T. F. Chan} and {T. Y. Hou} and {P. L. Lions}", XX year={1989}, XX address={Los Angeles, CA}, XX institution = {Department of Mathematics, UCLA}, XX number = {CAM Report 89-11}, XX abstract = {domain decomposition, convergence, Schwarz, Schur, homogeneous} XX} XX XX@article{Gro87a, XX Author = "{W. D. Gropp}", XX Title = {Solving {PDE}s on Loosely-coupled parallel processors}, XX Journal = {Parallel Computing}, XX Year = {1987}, XX Volume = {5}, XX Pages = {165-173}, XX Abstract = {homogeneous DD} XX } XX XX XX@techreport{GrK89a, XX Author = "{W. D. Gropp} and {D. E. Keyes}", XX Title = {Domain decomposition on parallel computers}, XX Institution = {Yale University}, XX Year = {1989}, XX Type = {Research Report}, XX Number = {YALEU/DCS/RR-723}, XX Month = {August}, XX Abstract = {homogeneous DD} XX } XX XX@techreport{GrK89b, XX Author = "{W. D. Gropp} and {D. E. Keyes}", XX Title = {domain decomposition with local mesh refinement}, XX Institution = {Yale University}, XX Year = {1989}, XX Type = {Research Report}, XX Number = {YALEU/DCS/RR-726}, XX Month = {August}, XX Abstract = {homogeneous DD} XX } XX XX@techreport{GrSm87, XX Author = "{W. D. Gropp} and {E. B. Smith}", XX Title = {Computational Fluid Dynamics on Parallel Processors}, XX Institution = {Yale University}, XX Year = {1987}, XX Type = {Research Report}, XX Number = {YALEU/DCS/RR-570}, XX Month = {December}, XX Abstract = {homogeneous DD} XX } XX XX@techreport{Grop84, XX title={Local Uniform Mesh Refinement on Loosely-Coupled Parallel Processors}, author={W. D. Gropp}, XX year={1984}, XX institution={Yale University}, XX number={YALEU/DCS/RR-352}, XX abstract={partial berger convection homogeneous DD} XX} XX XX XX@article{Gro87b, XX title={Local Uniform Mesh Refinement with Moving Grids}, XX author={W. D. Gropp}, XX year={1987}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={8}, XX number={3}, XX pages={292-304}, XX abstract={partial adaptive homogeneous DD} XX} XX XX XX@techreport{HMPR89, XX Author = "{Lee-Wing Ho} and {Y. Maday} and {A. T. Patera} and {E. M. Ronquist}", XX Title = {A High-order Lagrangian-Decoupling Method for the Incompressible Navier-Stokes Equations}, XX Institution = {Princeton}, XX Year = {1989?}, XX Abstract = {spectral elements homogeneous DD} XX } XX XX XX@techreport{Rodr85, XX title={Inner/Outer Iterative Methods and Numerical {S}chwarz Algorithms}, XX author={G. Rodrigue}, XX address={Livermore, California}, XX institution={Lawrence Livermore Natl. Lab.}, XX number={UCRL-92077}, XX year={1985}, XX abstract={linear schwarz iterative elliptic homogeneous DD} XX} XX XX@incollection{RoSi84, XX title={A Generalization of the Numerical {S}chwarz Algorithm}, XX author="{G. Rodrigue} and {J. Simon}", XX editor="{R. Glowinski} and {J. Lions}", XX publisher = "North-Holland", XX pages = "273-283", XX book={Computing Methods in Applied Sciences and Engineering VI}, XX year={1984}, XX abstract={linear schwarz iterative elliptic homogeneous DD} XX} XX XX@techreport{Simo84, XX title={Domain Decomposition Techniques for Solving Elliptic Partial Differential Equations on Multiprocessors}, XX author={J. Herbert Simon}, XX year={1984}, XX address={Livermore, California}, XX institution={Lawrence Livermore Natl. Lab.}, XX number={UCRL-53578}, XX abstract={domain_decomposition elliptic partial homogeneous DD} XX} XX XX@article{LoMo84, XX title={The Use of Domain Splitting with an Explicit Hyperbolic Solver}, XX author="{R. Lohner} and {K. Morgan} and {O.C. Zienkewicz}", XX year={1984}, XX journal={Comp. Meth. Appl. Mech. Eng.}, XX abstract={hyperbolic domain_decomp partial homogeneous DD} XX} XX XX@article{MiTa84, XX title={A Domain Decomposing and Overlapping Method for the Generation of Three-Dimensional Boundary Fitted Coordinate Systems}, XX author="{Kazuyoshi Miki} and {Toshiyuki Takagi}", XX year={1984}, XX journal={J. Comp. Phy.}, XX volume={53}, XX pages={319-330}, XX abstract={adaptive partial hyperbolic homogeneous DD} XX} XX XX@article{OsSa83, XX title={Numerical Approximations to Nonlinear Conservation Laws With Locally Varying Time and Space Grids}, XX author="{Stanley Osher} and {R. Sanders}", XX year={1983}, XX journal={Math. Comp.}, XX volume={41}, XX number={164}, XX pages={321-336}, XX abstract={adaptive partial FDM homogeneous DD} XX} XX XX@incollection{Rice86, XX title={Parallel Methods for PDES}, XX author={J. R. Rice}, XX year={1987}, XX booktitle={Taxonomy of Parallel Algorithms}, XX editor="{Gannon} and {Jamieson}", XX publisher={MIT press}, XX abstract={parallel partial homogeneous DD} XX} XX XX XX@techreport{Kuo85, XX title={Parallel Algorithms and Architectures for Solving Elliptic Partial Differential Equations}, XX author={Chung-Chieh Kuo}, XX year={1985}, XX address={Cambridge, Mass}, XX institution={M. I. T.}, XX number={LIDS-TH-1432}, XX abstract={partial parallel read homogeneous DD} XX} XX XX XX@techreport{Chan85, XX title={Analysis of Preconditioners for Domain Decomposition}, XX author={Tony F. Chan}, XX year={1985}, XX number={YALEU/DCS/RR-408}, XX institution={Yale University}, XX abstract={domain decomposition Schwarz preconditioners partial homogeneous} XX} XX XX@inproceedings{KeSm87, XX author="{D. E. Keyes} and {Mitchell D. Smooke}", XX editor={A. K. Noor}, XX title={A Parallelized Elliptic Solver for Reacting Flows}, XX booktitle={Parallel Computations and Their Impact on Mechanics}, XX institution={The American Society of Mechanical Engineers}, XX year={1987}, XX abstract={parallel elliptic reaction CFD homogeneous DD} XX} XX XX@article{KeSm86, XX author="{D. E. Keyes} and {Mitchell D. Smooke}", XX title={Flame Sheet Starting Estimates for Counterflow XX Diffusion Flame Problems}, XX year={1986}, XX journal={J. of Computational Physics}, XX publisher={Academic Press}, XX volume={73}, XX number={2}, XX pages={267-288}, XX abstract={flame combustion stagnation homogeneous DD} XX} XX XX@inbook{MaSt88, XX Author = "{Michele G. Macaraeg} and {Craig L. Streett}", XX Title = "An Analysis of Artificial Viscosity Effects on Reacting Flows Using XXa Spectral Multi-Domain Technique", XX Chapter = "unknown", XX Publisher = "Elsevier Science Publishers B.V. (North-Holland)", XX Year = "1988", XX Abstract = "G. de Vahl Davis and C. Fletcher, eds. homogeneous DD" XX } XX XX@inproceedings{Lion88, XX Author = "P. L. Lions", XX Title = "On the {S}chwarz Alternating Method. {II}. Stochastic Interpretation and Order Properties", XX Booktitle = "Proceedings of the First International Symposium on Domain Decomposition for Partial Differential Equations", XX Year = "1988", XX Editor = "R. Glowinski", XX Organization = "SIAM", XX Abstract = "max princ., homogeneous DD" XX } XX XX@techreport{Lion89, XX Author = "{P. L. Lions}", XX Title = {On the {S}chwarz Alternating Method. {III}. A Variant for Nonoverlapping Subdomains}, XX Institution = {Ceremade, Universite Paris Dauphine.}, XX Year = {1989??}, XX Number = {8913}, XX Abstract = "homogeneous DD" XX } XX XX@techreport{Quar89, XX Author = "{Alfio Quateroni}", XX Title = "Domain Decomposition Methods for Systems of Conservation Laws: Spectral Collocation Approximations", XX Institution = "ICASE", XX Year = "1989", XX Type = "ICASE Report", XX Number = "89-5", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "January", XX Abstract = "homogeneous DD" XX } XX XX@techreport{Tang89, XX Author = "{W.-P. Tang}", XX Title = "Relief from the Pain of Overlap--Generalized {S}chwarz Splittings", XX Institution = "Dept. of Math., University of Waterloo", XX Year = "1989", XX Type = "Research Report", XX Number = "CS-89-4", XX Address = "Waterloo, Ontario, Canada", XX Month = "January", XX Abstract = "homogeneous DD" XX } XX XX@article{Kuzn75, XX Author = "N. N. Kuznetsov", XX Title = "Accuracy of some approximate methods for computing the weak solutions of a first-order quasi-linear equation", XX Journal = "USSR Comp. Math. and Math. Phys.", XX Year = "1976", XX Volume = "16", XX Number = "6", XX Pages = "105-119", XX Abstract = "artificial viscosity, read", XX Abstract = "homogeneous DD" XX } XX XX@article{ChGo88, XX Author = "{Tony F. Chan} and {Danny Goovaerts}", XX Title = {{S}chwarz={S}chur: Overlapping Versus Nonoverlapping Domain Decomposition}, XX Journal = {SIAM J. Mathematical Analysis}, XX Year = {1989}, XX Volume = {to appear}, XX Number = {}, XX Pages = {}, XX Note = {}, XX Abstract = {schwarz, schur, homogeneous domain decomposition} XX } XX XX@techreport{ChRe88, XX Author = "{Tony F. Chan} and {Diana C. Resasco}", XX Title = {Analysis of domain decomposition preconditioners on {L}-shaped and {C}-shaped regions}, XX Institution = {UCLA Computational and Applied Mathematics}, XX Year = {1988}, XX Type = {CAM Report}, XX Number = {88-29}, XX Address = {Department of Mathematics, UCLA}, XX Month = {August}, XX Abstract = {homogeneous DD} XX } XX XX XX@article{Elma89, XX Author = "{H. C. Elman}", XX Title = "Approximate {S}chur Complement Preconditioners on Serial and Parallel Computers", XX Journal = "SIAM J. Sci. Stat. Comput.", XX Year = "1989", XX Volume = "10", XX number = "3", XX Pages = "581-605", XX Abstract = "parallelism schur domain decomposition homogeneous DD" XX } XX XX@book{GGMP88, XX author="{R. Glowinski} and {G. H. Golub} and {G. A. Meurant} and {J. Periaux}", XX title={Proceedings of the First International Symposium on Domain Decomposition Methods for Partial Differential Equations}, XX publisher={SIAM}, XX Address = "Philadelphia, PA", XX Year = "1988", XX Abstract = "domain decomposition don't have a copy" XX } XX XX@book{CGPW89, XX year={1989}, XX address={Philadelphia}, XX publisher={SIAM}, XX editor="{T. F. Chan} and {R. Glowinski} and {J. Periaux} and {O. B. Widlund}", XX title={Proceedings for the Third International Symposium on Domain Decomposition for Partial Differential Equations} XX } XX XX@book{CGP89, XX title = "Proceedings for the Second International Symposium on Domain Decomposition for Partial Differential Equations", XX editor = {{Tony F. Chan} and {Rowland Glowinski} and {Jacques Periaux}}, XX address={Philadelphia}, XX publisher={SIAM}, XX Organization = "SIAM", XX Year = "1989" XX } XX XX@techreport{RoS84b, XX title={Jacobi Splittings and the Method of Overlapping Domains for Solving Elliptic P.D.E.'s}, XX author="{G. Rodrigue} and {J. Simon}", XX year={1984}, XX address={Livermore, California}, XX institution={Lawrence Livermore Natl. Lab.}, XX number={UCRL-90656}, XX abstract={linear partial elliptic domain_decomposition} XX} XX XX@techreport{GrIp88, XX Author = "{W.D. Gropp} and {I.C.F. Ipsen}", XX Title = {Recursive mesh refinement on hypercubes}, XX Institution = {Computer Science and Systems Division, Harwell Lab.}, XX Year = {1988}, XX Type = {tech}, XX Number = {CSS 232}, XX Address = {Oxon OX11 ORA}, XX Month = {December}, XX Abstract = {homogeneous DD} XX } XX XX@article{Auge90, XX Author = "{Jeffrey M. Augenbaum}", XX Title = {multidomain adaptive pseudospectral methods for acoustic wave propagation in discontinuous media}, XX Journal = {Comp Acoustics}, XX Year = {1990}, XX Volume = {3}, XX Pages = {19-40}, XX abstract={homogeneous DD} XX } XX XX@article{Berg87, XX Author = "{Marsha J. Berger}", XX Title = {On conservation at grid interfaces}, XX Journal = {SIAM J. Num. An.}, XX Year = {1987}, XX Volume = {24}, XX Pages = {967-984}, XX Abstract = {homogeneous DD} XX } XX XX@techreport{DDD89, XX Author = "{Clint Dawson} and {Qiang Du} and {Todd F. Dupont}", XX Title = {A finite difference domain decomposition algorithm for numerical solution of the heat equation}, XX Institution = {Dept. of Comp. Sci, Univ. of Chicago}, XX Year = {1989}, XX Type = {Tech rept.}, XX Number = {89-09}, XX Address = {Chicago, IL}, XX Month = {November 22}, XX Abstract = {interface condition and homogeneous DD} XX } XX XX XX@techreport{BoGa89, XX title = {Computation of viscous (or nonviscous) conservation law by domain decomposition based on asymptotic analysis}, XX author = "{A. Bourgeat} and {M. Garbey}", XX year = {1989}, XX number = {86}, XX Type = {Preprint}, XX month = {September}, XX institution = {equipe d' analysie numerique}, XX address = {LYON-St Etienne}, XX abstract = {heterogeneous} XX } XX XX@inproceedings{BCHM91, XX Author = "{D. L. Brown} and {R.C.Y. Chin} and {G. W. Hedstrom} and {T. A. Manteuffel}", XX Title = "Layer tracking, asymptotics, and domain decomposition", XX year={1991}, XX address={NASA Langley Research Center}, XX publisher={ICASE}, XX editor = "{A. L. Perkins} and {J. S. Scroggs}", XX booktitle={Proceedings of the ICASE Workshop on Heterogeneous Domain Decomposition}, XX pages = {??}, XX abstract = {shock, asymptotics CFD tanh heterogeneous DD} XX } XX XX@article{BrRe85, XX title={A Two-Dimensional Mesh Refinement Method for Problems XX with One-Dimensional Singularities}, XX author="{D. L. Brown} and {L. G. M. Reyna} and {L. Guillermo}", XX year={1985}, XX journal={SIAM J. Sci. Stat. Comp.}, XX volume={6}, XX number={3}, XX pages={515-531}, XX abstract={shock partial refinement adaptive perturbation read heterogeneous} XX} XX XX XX@incollection{CHH85b, XX title= {Considerations on Solving Problems with Multiple Scales}, XX author= "{R. C. Y. Chin} and {G. W. Hedstrom} and {F. A. Howes}", XX booktitle= {Multiple Time Scales}, XX editor="{J. U. Brackbill} and {B. I. Cohen}", XX year={1985}, XX address={Orlando, Florida}, XX publisher={Academic Press}, XX pages={1-27}, XX abstract={scales asymptotics perturbation heterogeneous} XX} XX XX XX@incollection{CHMH86, XX title={Parallel Computation of Multiple-Scale Problems}, XX author="{R. C. Y. Chin} and {G. W. Hedstrom} and XX {J. R. McGraw} and {F. A. Howes}", XX pages={136-153}, XX booktitle={New Computing Environments: Parallel, Vector, and Systolic}, XX editor = {A. Wouk}, XX publisher={SIAM}, XX address={Philadelphia}, XX year={1986}, XX abstract={multiple parallel 1986 heterogeneous } XX} XX XX XX@inproceedings{CHSS87, XX title={Parallel Computation of a Domain Decomposition Method}, XX author="{R. C. Y. Chin} and {G. W. Hedstrom} XX and {J. S. Scroggs} and {D. C. Sorensen}", XX year={1987}, XX booktitle = {Advances in Computational Methods for Partial Differential Equations 6}, XX pages = {375-381}, XX note={IMACS 6th International Symposium on Computer Methods XX for Partial Differential Equations}, XX abstract={heterogeneous} XX} XX XX@article{Gar89b, XX title = {Quasilinear Hyperbolic-Hyperbolic Singular Perturbation Problem: Study of a Shock Layer}, XX author = {M. Garbey}, XX year = {1989}, XX journal = {Mathematical Methods in the Applied Sciences}, XX volume = {11}, XX pages = {237-252}, XX abstract = {asymptotics shocks CFD heterogeneous} XX } XX XX XX@techreport{Gar89a, XX Author = "{M. Garbey}", XX Title = "Asymptotic analysis of singular perturbation problems governed by a XXconservation law", XX Institution = "MCS, Argonne National Lab", XX Year = "1989", XX Type = "Preprint", XX Number = "MCS-P107-1089", XX Month = "October", XX Abstract = "asymptotics, submitted to SIAM appl math heterogeneous" XX } XX XX@inproceedings{GaSc90, XX Author = "{Marc Garbey} and {Jeffrey S. Scroggs}", XX Title = {Asymptotic-induced method for conservation laws}, XX Year = {1990}, XX address = {??}, XX publisher = {??}, XX editor = "{H. Kaper} and {M. Garbey}", XX booktitle = {Proceedings for the Workshop on Asymptotic Analysis XX and Numerical Solution of Partial Differential Equations}, XX pages = {??}, XX abstract = {asymptotics heterogeneous} XX } XX XX@techreport{GaLe89, XX Author = "{M. Garbey} and {D. Levine}", XX Title = {Massively Parallel Computation of Conservation Laws}, XX Institution = "MCS, Argonne National Lab", XX Year = "1989", XX Type = "Preprint", XX Number = "MCS-P85-0689", XX Month = "June", XX Abstract = "DD heterogeneous" XX } XX XX XX@inproceedings{HeHo89, XX Author = "{G. W. Hedstrom} and {F. A. Howes}", XX Title = "A Domain Decomposition Method for a Convection Diffusion Equation with Turning Points", XX year={1989}, XX address={Philadelphia}, XX publisher={SIAM}, XX editor="{T. F. Chan} and {R. Glowinski} and {J. Periaux} and {O. B. Widlund}", XX booktitle={Proceedings of the Third International Symposium on Domain Decomposition Methods for Partial Differential Equations}, XX pages={38-46}, XX abstract={shock, asymptotics CFD tanh heterogeneous DD} XX } XX XX XX@misc{RuPe89, XX Author = "{M. F. Russo} and {R. L. Peskin}", XX Title = "Automatically identifying the asymptotic behavior of nonlinear singularly perturbed boundary value problems", XX Year = "1989", XX Abstract = "asymptotics heterogeneous DD" XX } XX XX@phdthesis{Scro88, XX title={The Solution of a Parabolic Partial Differential Equation via Domain Decomposition: The Synthesis of Asymptotic and Numerical Analysis}, XX author={J. S. Scroggs}, XX year={1988}, XX number={CSRD Rpt. No. 791}, XX school={University of Illinois at U-C}, XX abstract ={heterogeneous DD} XX} XX XX@techreport{SS88b, XX Author = "{J. S. Scroggs} and {D. C. Sorensen}", XX Title = "USE ScSo89 INSTEAD", XX Institution = "ICASE", XX Year = "1988", XX Type = "ICASE Report", XX Number = "88-60", XX Address = "NASA Langley Research Center, Hampton, Virginia 23665-5225", XX Month = "October", XX abstract = {heterogeneous DD} XX } XX XX XX@inproceedings{Scr89a, XX title = "A Parallel Algorithm for Nonlinear Convection-Diffusion Equations", XX Author = " J. S. Scroggs.", XX Organization = "SIAM", XX Booktitle = "Proceedings for the Third International Symposium on Domain Decomposition for Partial Differential Equations", XX editor = {{Tony F. Chan} and {Rowland Glowinski} and {Jacques Periaux}}, XX Year = "1989", XX pages = {373-384}, XX abstract = {heterogeneous DD} XX } XX XX@inproceedings{ScSa90, XX title = "Distributed-memory Computing of a Physically-motivated Domain Decomposition Method", XX Author = " {J. S. Scroggs} and {J. Saltz}", XX Organization = "SIAM", XX Booktitle = "Proceedings for SIAM Conference on Domain Decomposition", XX Year = "1990", XX abstract = {heterogeneous DD} XX } XX XX XX@techreport{BSS90, XX title = {execution time support for adaptive scientific algorithms on distributed memory machines}, XX author = "{H. S. Berryman} and {J. Saltz} and {J. S. Scroggs}", XX year = {1990}, XX Institution = {ICASE}, XX Type = {ICASE Report}, XX Number = {90-41}, XX Address = {NASA Langley Research Center, Hampton, Virginia 23665-5225}, XX abstract = {submitted to Concurrency Practice and Experience}, XX abstract = {heterogeneous DD} XX } XX XX@phdthesis{Perk89, XX author = {A. L. Perkins}, XX title = {Parallel Heterogeneous Mesh Refinement For Multidimensional Convection-Diffusion Equations Using An Euler-Lagrange Method}, XX school = {University of California, Davis}, XX year = {1989}, XX abstract = {parallel CFD asymptotics heterogeneous DD} XX} XX XX XX@techreport{QLV89, XX Author = "{A. Quateroni} and {G. S. Landriani} and {A. Valli}", XX Title = "Coupling of viscous and inviscid stokes equations via a domain decomposition method for finite elements", XX Institution = "Dipartimento di Mathematica, Universita delgi Studi di Trento", XX Year = "1989", XX Type = "Tech. Report", XX Number = "UTM 287", XX Address = "Provo, Italy", XX Month = "October", XX Abstract = "asymptotics, interface, heterogeneous DD" XX } XX XX@techreport{QuVa88, XX Author = "{A. Quateroni} and {A. Valli}", XX Title = "Domain decomposition for a generalized {S}tokes problem", XX Institution = "Dipartimento di Mathematica, Universita delgi Studi di Trento", XX Year = "1988", XX Type = "Tech. Report", XX Number = "UTM 259", XX Address = "Provo, Italy", XX Month = "November", XX Abstract = "asymptotics, interface, heterogeneous DD" XX } XX XX@techreport{GQL89a, XX Author = "{F. Gastaldi} and {A. Quateroni} and {G. Sacchi Landriani}", XX Title = "On the coupling of two dimensional hyperbolic and elliptic equations: analytical and numerical approach", XX Institution = "Dipartimento di Mathematica, Universita' Cattolica del Sacro Cuore", XX Year = "1989", XX Type = "Tech. Report", XX Number = "Quaderno n. 10/89", XX Address = "Brescia, Italy", XX Month = "March", XX Abstract = "asymptotics, interface, heterogeneous DD" XX } XX XX@techreport{QuLa88, XX Author = " {G. Sacchi Landriani} and {A. Quateroni} ", XX Title = "Iteration by subdomains in numerical fluid dynamics", XX Institution = "Dipartimento di Mathematica, Universita' Cattolica del Sacro Cuore", XX Year = "1989", XX Type = "Tech. Report", XX Number = "Quaderno n. 9/89", XX Address = "Brescia, Italy", XX Month = "March", XX Abstract = "3rd German-Italian symposium on Applications of Mathematics Technology heterogeneous DD" XX } XX XX@inproceedings{DGPT88, XX Author = {{Q. V. Dinh} and {R. Glowinski} and {J. Periaux} and {G. Terrason}}, XX Title = {On the coupling of viscous and inviscid models for incompressible fluid flows via domain decomposition}, XX Booktitle = {First International Symposium on Domain Decomposition Methods for Partial Differential Equations}, XX Year = {1988}, XX Editor = "{R. Glowinski} and {G. H. Golub} and {G. A. Meurant} and {J. Periaux}", XX Pages = {350-369}, XX Organization = {SIAM}, XX Address = {Philadelphia}, XX Abstract = {interface conditions, mixed models, heterogeneous DD} XX } XX XX XX@inproceedings{GQL89b, XX Author = "{F. Gastaldi} and {A. Quateroni} and {G. S. Landriani}", XX Title = {Effective Methods for the Treatment of Interfaces Separating Equations of Different Character}, XX Booktitle = {CMEM meeting, Capri, May 23-26, 1989}, XX Year = {1989}, XX Editor = "???", XX Pages = {???}, XX Organization = {CMEM}, XX Address = {Italy???}, XX Abstract = {asymptotics, interface conditions, heterogeneous DD} XX } XX XX XX@misc{Scro90, XX author={Scroggs}, XX title="use scro91 instead" XX } XX XX@article{Scro91, XX author = "{J. S. Scroggs}", XX title = "A Physically Motivated Domain Decomposition for Singularly Perturbed Equations", XX journal = {SIAM Journal on Numerical Analysis}, XX year = "1991", XX volume = {28}, XX number = {1}, XX pages = {to appear}, XX abstract = {Also ICASE Report 88-62} XX } XX XX@article{PeRo90, XX Author = "{A. Louise Perkins} and { Garry Rodrigue}", XX Title = {a domain decomposition method for solving a two-dimensional viscous XX{B}urgers' equation}, XX Journal = {App. Numer. Math.}, XX Year = {1190}, XX Volume = {6}, XX Pages = {329-340}, XX Abstract = {heterogeneous DD} XX } XX XX@misc{Cott89, XX Author = "{Georges-Henri Cottet}", XX Title = {a particle-grid superposition method for the {N}avier-{S}tokes equations}, XX Institution = {Dept of Math, UCLA}, XX Year = {1989}, XX Abstract = {heterogeneous DD} XX } XX XX@techreport{QuVa90, XX Author = "{A. Quateroni} and {Alberto Valli}", XX Title = "theory and application of {S}teklov-{P}oincare operators for boundary value problems: the heterogeneous operators case", XX Institution = "Univeristy of Minnesota", XX Year = "1990", XX Type = "Tech. Report", XX Number = "UMSI 90/232", XX Address = "Minneapolis, Minnesota", XX Month = "November", XX Abstract = "heterogenous DD" XX } XX XX@techreport{Quat90, XX Author = " {A. Quateroni} ", XX Title = "domain decomposition method for the numerical solution of partial differential equations", XX Institution = "Univeristy of Minnesota", XX Year = "1990", XX Type = "Tech. Report", XX Number = "UMSI 90/264", XX Address = "Minneapolis, Minnesota", XX Month = "December", XX Abstract = "heterogenous DD" XX } XX XX@techreport{FPQ90, XX Author = " {A. Frati} and {F. Pasquarelli} and {A. Quateroni} ", XX Title = "spectral approximation to advection-diffusion problems by the fictitous interface method", XX Institution = "Univeristy of Minnesota", XX Year = "1990", XX Type = "Tech. Report", XX Number = "UMSI 90/213", XX Address = "Minneapolis, Minnesota", XX Month = "October", XX Abstract = "heterogenous DD" XX } XX XX XX@techreport{GrKe89, XX Author = {{W. D. Gropp} and {D.E. Keyes}}, XX Title = {Domain decomposition with local mesh refinement}, XX institution = {Department of Computer Science}, XX Year = {1989}, XX month = {August}, XX type = {Research Report}, XX Number = {YALEU/DCS/RR-79}, XX address = {Yale University}, XX Abstract = {} XX } XX XX@inproceedings{ChHe90, XX Author = {{R.C.Y. Chin} and {G.W. Hedstrom}}, XX Title = {domain decomposition: an instrument of asymptotic-numerical methods}, XX booktitle = {Workshop on Asymptotics and Numerics}, XX Year = {1990}, XX Pages = {??}, XX organization = {Argonne}, XX address = {IL}, XX month = {August}, XX Abstract = {} XX } XX XEND_OF_FILE Xif test 157003 -ne `wc -c <'paper21.bib'`; then X echo shar: \"'paper21.bib'\" unpacked with wrong size! Xfi X# end of 'paper21.bib' Xfi Xecho shar: End of shell archive. Xexit 0 END_OF_FILE if test 443208 -ne `wc -c <'papers.shar'`; then echo shar: \"'papers.shar'\" unpacked with wrong size! fi # end of 'papers.shar' fi if test -f 'src.shar' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src.shar'\" else echo shar: Extracting \"'src.shar'\" \(55813 characters\) sed "s/^X//" >'src.shar' <<'END_OF_FILE' X#! /bin/sh X# This is a shell archive. Remove anything before this line, then unpack X# it by saving it into a file and typing "sh file". To overwrite existing X# files, type "sh file -c". You can also feed this as standard input via X# unshar, or by typing "sh 'comp.c' <<'END_OF_FILE' XX#include XX#include "parti.h" XX#include "parti_more.h" XX XXvoid execute_gather(pattern,buf_list,data,size) XXstruct com_pattern *pattern; XXchar **buf_list,*data; XXint size; XX{ XX static int call_count = 0; XX int i,j; XX int *l; XX char *buffer; XX int node; XX XX#ifdef DEBUG XX trace_enter("execute_gather"); XX#endif XX XX /* send data */ XX buffer = (char *) malloc(pattern->buffer_size*size); XX for(i=0;inprocs;i++){ XX if(pattern->send_n[i]>0){ XX l = pattern->send_list[i]; XX for(j=0;jsend_n[i];j++){ XX bytecopy(&buffer[j*size],&data[l[j]*size],size); XX } XX csend(call_count+GATHER_EXECUTOR_MSG,buffer, XX size*pattern->send_n[i],i,pattern->pid); XX } XX } XX free(buffer); XX XX /* recv data */ XX for(i=0;in_msgs_to_recv;i++){ XX cprobe(call_count+GATHER_EXECUTOR_MSG); XX node = infonode(); XX if(buf_list[node]==NULL) { XX fprintf(stderr,"%d : Error in execute gather: buffer list has\n", XX mynode()); XX fprintf(stderr,"%d : NULL in needed buffer slot\n",mynode()); XX exit(); XX } XX crecv(call_count+GATHER_EXECUTOR_MSG, XX buf_list[node],pattern->fetch_n[node]*size); XX } XX call_count++; XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XXvoid execute_scatter(pattern,buf_list,data,size) XXstruct com_pattern *pattern; XXchar **buf_list,*data; XXint size; XX{ XX static int call_count = 0; XX int node,i,j; XX int *l; XX char *buffer; XX XX#ifdef DEBUG XX trace_enter("execute_scatter"); XX#endif XX XX /* send data */ XX for(i=0;inprocs;i++){ XX if(pattern->fetch_n[i]>0){ XX csend(call_count+SCATTER_EXECUTOR_MSG,buf_list[i], XX size*pattern->fetch_n[i],i,pattern->pid); XX } XX } XX XX /* recv data */ XX buffer = (char *) malloc(pattern->buffer_size*size); XX for(i=0;in_msgs_to_send;i++){ XX cprobe(call_count+SCATTER_EXECUTOR_MSG); XX node = infonode(); XX crecv(call_count+SCATTER_EXECUTOR_MSG,buffer,pattern->buffer_size*size); XX l = pattern->send_list[node]; XX for(j=0;jsend_n[node];j++){ XX bytecopy(&data[l[j]*size],&buffer[j*size],size); XX } XX } XX free(buffer); XX call_count++; XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XXstruct com_pattern *schedule_gather(n,local_list) XXint *n,**local_list; XX{ XX int i,j; XX XX int *a,*wrk,n_msgs_to_send; /* used in 1st part */ XX int *l,msg_size,node,*send_n,**send_list; /* used in second part */ XX struct com_pattern *out_struct; XX int n_msgs_to_recv; XX XX#ifdef DEBUG XX trace_enter("schedule_gather"); XX#endif XX /* find how many messages to be sent in exec phase */ XX wrk = (int *) malloc(sizeof(int)*numnodes()); XX a = (int *) malloc(sizeof(int)*numnodes()); XX for(i=0;i0); XX } XX gisum(a,numnodes(),wrk); XX n_msgs_to_send = a[mynode()]; XX free(a); XX free(wrk); XX XX /* send messages to those who must send messages in exec phase */ XX n_msgs_to_recv = 0; XX for(i=0;i0){ XX csend(TRANS_DATA_MSG,local_list[i],sizeof(int)*n[i],i,mypid()); XX n_msgs_to_recv++; XX } XX } XX XX /* recv messages sent above */ XX send_n = (int *) malloc(sizeof(int)*numnodes()); XX send_list = (int **) malloc(sizeof(int *)*numnodes()); XX for(i=0;ibuffer_size = 0; XX for(i=0;ibuffer_sizebuffer_size = send_n[i]; XX } XX } XX XX out_struct->n_msgs_to_recv = n_msgs_to_recv; XX out_struct->n_msgs_to_send = n_msgs_to_send; XX out_struct->send_n = send_n; XX out_struct->send_list = send_list; XX out_struct->fetch_n = n; XX out_struct->fetch_list = local_list; XX XX#ifdef DEBUG XX trace_exit(); XX#endif XX XX return(out_struct); XX} XEND_OF_FILE Xif test 4033 -ne `wc -c <'comp.c'`; then X echo shar: \"'comp.c'\" unpacked with wrong size! Xfi X# end of 'comp.c' Xfi Xif test -f 'debug.c' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'debug.c'\" Xelse Xecho shar: Extracting \"'debug.c'\" \(1191 characters\) Xsed "s/^X//" >'debug.c' <<'END_OF_FILE' XX#include XX#include "parti.h" XX#include "parti_more.h" XX XXtrace_enter(s) XXchar *s; XX{ XX trace_cntrl(1,s,1,1); XX} XX XXtrace_exit() XX{ XX trace_cntrl(2,NULL,1,1); XX} XX XXtrace_cntrl(cmd,s,print_flag,sync_flag) XXint cmd,print_flag,sync_flag; XXchar *s; XX{ XX static int level = 0; XX static int place[100]; XX static char names[1000]; XX int i; XX XX if(sync_flag) gsync(); XX place[0] = 0; XX switch(cmd) { XX case 1 : XX strcpy(&names[place[level]],s); XX place[level+1] = place[level] + strlen(s)+1; XX if(print_flag & (mynode()==0)) { XX for(i=0;i'grunt.lex' <<'END_OF_FILE' XX char *Type,*Prefix; XX%% XXTYPE printf("%s",Type); XXPREFIX printf("%s",Prefix); XX%% XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX XX /* check for correct number of arguments */ XX if(argc!=3){ XX fprintf(stderr,"usage:\n%s \n",argv[0]); XX exit(1); XX } XX XX /* copy args to Type and Prefix */ XX Type = (char *) malloc(strlen(argv[1])+1); XX Prefix = (char *) malloc(strlen(argv[2])+1); XX strcpy(Type,argv[1]); XX strcpy(Prefix,argv[2]); XX XX yylex(); XX} XEND_OF_FILE Xif test 473 -ne `wc -c <'grunt.lex'`; then X echo shar: \"'grunt.lex'\" unpacked with wrong size! Xfi X# end of 'grunt.lex' Xfi Xif test -f 'lex.yy.c' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'lex.yy.c'\" Xelse Xecho shar: Extracting \"'lex.yy.c'\" \(7383 characters\) Xsed "s/^X//" >'lex.yy.c' <<'END_OF_FILE' XX# include "stdio.h" XX# define U(x) x XX# define NLSTATE yyprevious=YYNEWLINE XX# define BEGIN yybgin = yysvec + 1 + XX# define INITIAL 0 XX# define YYLERR yysvec XX# define YYSTATE (yyestate-yysvec-1) XX# define YYOPTIM 1 XX# define YYLMAX BUFSIZ XX# define output(c) putc(c,yyout) XX# define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) XX# define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;} XX# define yymore() (yymorfg=1) XX# define ECHO fprintf(yyout, "%s",yytext) XX# define REJECT { nstr = yyreject(); goto yyfussy;} XXint yyleng; extern char yytext[]; XXint yymorfg; XXextern char *yysptr, yysbuf[]; XXint yytchar; XXFILE *yyin = {stdin}, *yyout = {stdout}; XXextern int yylineno; XXstruct yysvf { XX struct yywork *yystoff; XX struct yysvf *yyother; XX int *yystops;}; XXstruct yysvf *yyestate; XXextern struct yysvf yysvec[], *yybgin; XX char *Type,*Prefix; XX# define YYNEWLINE 10 XXyylex(){ XXint nstr; extern int yyprevious; XXwhile((nstr = yylook()) >= 0) XXyyfussy: switch(nstr){ XXcase 0: XXif(yywrap()) return(0); break; XXcase 1: XX printf("%s",Type); XXbreak; XXcase 2: XX printf("%s",Prefix); XXbreak; XXcase -1: XXbreak; XXdefault: XXfprintf(yyout,"bad switch yylook %d",nstr); XX} return(0); } XX/* end of yylex */ XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX XX /* check for correct number of arguments */ XX if(argc!=3){ XX fprintf(stderr,"usage:\n%s \n",argv[0]); XX exit(1); XX } XX XX /* copy args to Type and Prefix */ XX Type = (char *) malloc(strlen(argv[1])+1); XX Prefix = (char *) malloc(strlen(argv[2])+1); XX strcpy(Type,argv[1]); XX strcpy(Prefix,argv[2]); XX XX yylex(); XX} XXint yyvstop[] = { XX0, XX XX1, XX0, XX XX2, XX0, XX0}; XX# define YYTYPE char XXstruct yywork { YYTYPE verify, advance; } yycrank[] = { XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 0,0, 5,7, 7,9, XX8,10, 0,0, 9,11, 0,0, XX0,0, 0,0, 0,0, 0,0, XX0,0, 1,3, 6,8, 3,5, XX0,0, 1,4, 0,0, 0,0, XX0,0, 11,12, 4,6, 0,0, XX0,0}; XXstruct yysvf yysvec[] = { XX0, 0, 0, XXyycrank+1, 0, 0, XXyycrank+0, yysvec+1, 0, XXyycrank+1, 0, 0, XXyycrank+1, 0, 0, XXyycrank+1, 0, 0, XXyycrank+2, 0, 0, XXyycrank+1, 0, 0, XXyycrank+3, 0, 0, XXyycrank+1, 0, 0, XXyycrank+0, 0, yyvstop+1, XXyycrank+1, 0, 0, XXyycrank+0, 0, yyvstop+3, XX0, 0, 0}; XXstruct yywork *yytop = yycrank+90; XXstruct yysvf *yybgin = yysvec+1; XXchar yymatch[] = { XX00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , XX0}; XXchar yyextra[] = { XX0,0,0,0,0,0,0,0, XX0}; XX#ifndef lint XXstatic char ncform_sccsid[] = "@(#)ncform 1.6 88/02/08 SMI"; /* from S5R2 1.2 */ XX#endif XX XXint yylineno =1; XX# define YYU(x) x XX# define NLSTATE yyprevious=YYNEWLINE XXchar yytext[YYLMAX]; XXstruct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp; XXchar yysbuf[YYLMAX]; XXchar *yysptr = yysbuf; XXint *yyfnd; XXextern struct yysvf *yyestate; XXint yyprevious = YYNEWLINE; XXyylook(){ XX register struct yysvf *yystate, **lsp; XX register struct yywork *yyt; XX struct yysvf *yyz; XX int yych, yyfirst; XX struct yywork *yyr; XX# ifdef LEXDEBUG XX int debug; XX# endif XX char *yylastch; XX /* start off machines */ XX# ifdef LEXDEBUG XX debug = 0; XX# endif XX yyfirst=1; XX if (!yymorfg) XX yylastch = yytext; XX else { XX yymorfg=0; XX yylastch = yytext+yyleng; XX } XX for(;;){ XX lsp = yylstate; XX yyestate = yystate = yybgin; XX if (yyprevious==YYNEWLINE) yystate++; XX for (;;){ XX# ifdef LEXDEBUG XX if(debug)fprintf(yyout,"state %d\n",yystate-yysvec-1); XX# endif XX yyt = yystate->yystoff; XX if(yyt == yycrank && !yyfirst){ /* may not be any transitions */ XX yyz = yystate->yyother; XX if(yyz == 0)break; XX if(yyz->yystoff == yycrank)break; XX } XX *yylastch++ = yych = input(); XX yyfirst=0; XX tryagain: XX# ifdef LEXDEBUG XX if(debug){ XX fprintf(yyout,"char "); XX allprint(yych); XX putchar('\n'); XX } XX# endif XX yyr = yyt; XX if ( (int)yyt > (int)yycrank){ XX yyt = yyr + yych; XX if (yyt <= yytop && yyt->verify+yysvec == yystate){ XX if(yyt->advance+yysvec == YYLERR) /* error transitions */ XX {unput(*--yylastch);break;} XX *lsp++ = yystate = yyt->advance+yysvec; XX goto contin; XX } XX } XX# ifdef YYOPTIM XX else if((int)yyt < (int)yycrank) { /* r < yycrank */ XX yyt = yyr = yycrank+(yycrank-yyt); XX# ifdef LEXDEBUG XX if(debug)fprintf(yyout,"compressed state\n"); XX# endif XX yyt = yyt + yych; XX if(yyt <= yytop && yyt->verify+yysvec == yystate){ XX if(yyt->advance+yysvec == YYLERR) /* error transitions */ XX {unput(*--yylastch);break;} XX *lsp++ = yystate = yyt->advance+yysvec; XX goto contin; XX } XX yyt = yyr + YYU(yymatch[yych]); XX# ifdef LEXDEBUG XX if(debug){ XX fprintf(yyout,"try fall back character "); XX allprint(YYU(yymatch[yych])); XX putchar('\n'); XX } XX# endif XX if(yyt <= yytop && yyt->verify+yysvec == yystate){ XX if(yyt->advance+yysvec == YYLERR) /* error transition */ XX {unput(*--yylastch);break;} XX *lsp++ = yystate = yyt->advance+yysvec; XX goto contin; XX } XX } XX if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank){ XX# ifdef LEXDEBUG XX if(debug)fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1); XX# endif XX goto tryagain; XX } XX# endif XX else XX {unput(*--yylastch);break;} XX contin: XX# ifdef LEXDEBUG XX if(debug){ XX fprintf(yyout,"state %d char ",yystate-yysvec-1); XX allprint(yych); XX putchar('\n'); XX } XX# endif XX ; XX } XX# ifdef LEXDEBUG XX if(debug){ XX fprintf(yyout,"stopped at %d with ",*(lsp-1)-yysvec-1); XX allprint(yych); XX putchar('\n'); XX } XX# endif XX while (lsp-- > yylstate){ XX *yylastch-- = 0; XX if (*lsp != 0 && (yyfnd= (*lsp)->yystops) && *yyfnd > 0){ XX yyolsp = lsp; XX if(yyextra[*yyfnd]){ /* must backup */ XX while(yyback((*lsp)->yystops,-*yyfnd) != 1 && lsp > yylstate){ XX lsp--; XX unput(*yylastch--); XX } XX } XX yyprevious = YYU(*yylastch); XX yylsp = lsp; XX yyleng = yylastch-yytext+1; XX yytext[yyleng] = 0; XX# ifdef LEXDEBUG XX if(debug){ XX fprintf(yyout,"\nmatch "); XX sprint(yytext); XX fprintf(yyout," action %d\n",*yyfnd); XX } XX# endif XX return(*yyfnd++); XX } XX unput(*yylastch); XX } XX if (yytext[0] == 0 /* && feof(yyin) */) XX { XX yysptr=yysbuf; XX return(0); XX } XX yyprevious = yytext[0] = input(); XX if (yyprevious>0) XX output(yyprevious); XX yylastch=yytext; XX# ifdef LEXDEBUG XX if(debug)putchar('\n'); XX# endif XX } XX } XXyyback(p, m) XX int *p; XX{ XXif (p==0) return(0); XXwhile (*p) XX { XX if (*p++ == m) XX return(1); XX } XXreturn(0); XX} XX /* the following are only used in the lex library */ XXyyinput(){ XX return(input()); XX } XXyyoutput(c) XX int c; { XX output(c); XX } XXyyunput(c) XX int c; { XX unput(c); XX } XEND_OF_FILE Xif test 7383 -ne `wc -c <'lex.yy.c'`; then X echo shar: \"'lex.yy.c'\" unpacked with wrong size! Xfi X# end of 'lex.yy.c' Xfi Xif test -f 'makefile' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'makefile'\" Xelse Xecho shar: Extracting \"'makefile'\" \(2637 characters\) Xsed "s/^X//" >'makefile' <<'END_OF_FILE' XX################################################################### XX# # XX# PARTI : Parallel Automated Runtime Tools from ICASE # XX# Installation makefile # XX# Version 1.0 8 July 1990 # XX# # XX# This make file makes and installs the parti library and include # XX# files. The following macros are to be played with by the # XX# poor sod who has to install the system. # XX# # XX# - Harry Scott Berryman # XX################################################################### XXSRC = comp.c tcomp.c user.c tuser.c grunt.lex utils.c debug.c parti.h parti_more.h makefile XXOBJS = comp.o icomp.o ccomp.o dcomp.o fcomp.o user.o iuser.o cuser.o duser.o fuser.o utils.o debug.o XXall : grunt parti.a XXgrunt : grunt.lex XX lex grunt.lex XX $(CC) -o grunt lex.yy.c -ll XX rm lex.yy.c XXparti.a : $(OBJS) XX rm -f parti.a XX $(NARC) r parti.a $(OBJS) XXcomp.o : comp.c parti.h parti_more.h XX $(NODECC) $(NFLAG) -c comp.c XXuser.o : user.c parti.h parti_more.h XX $(NODECC) $(NFLAG) -c user.c XXutils.o : utils.c XX $(NODECC) $(NFLAG) -c utils.c XX# XX# this is for the type-specific compiler gathers and scatters XX# XXfcomp.o : tcomp.c parti.h parti_more.h XX grunt float f < tcomp.c > fcomp.c XX $(NODECC) $(NFLAG) -c fcomp.c XXdcomp.o : tcomp.c parti.h parti_more.h XX grunt double d < tcomp.c > dcomp.c XX $(NODECC) $(NFLAG) -c dcomp.c XXicomp.o : tcomp.c parti.h parti_more.h XX grunt int i < tcomp.c > icomp.c XX $(NODECC) $(NFLAG) -c icomp.c XXccomp.o : tcomp.c parti.h parti_more.h XX grunt char c < tcomp.c > ccomp.c XX $(NODECC) $(NFLAG) -c ccomp.c XX# XX# This is for type specific user gathers and scatters XX# XXfuser.o : tuser.c parti.h parti_more.h XX grunt float f < tuser.c > fuser.c XX $(NODECC) $(NFLAG) -c fuser.c XXduser.o : tuser.c parti.h parti_more.h XX grunt double d < tuser.c > duser.c XX $(NODECC) $(NFLAG) -c duser.c XXiuser.o : tuser.c parti.h parti_more.h XX grunt int i < tuser.c > iuser.c XX $(NODECC) $(NFLAG) -c iuser.c XXcuser.o : tuser.c parti.h parti_more.h XX grunt char c < tuser.c > cuser.c XX $(NODECC) $(NFLAG) -c cuser.c XX# XX# and of course, debug XX# XXdebug.o : debug.c XX $(NODECC) $(NFLAG) -c debug.c XX# XX# rm unwanted crap XX# XXclean : XX rm -f *.o XX rm -f fuser.c duser.c iuser.c cuser.c XX rm -f fcomp.c dcomp.c icomp.c ccomp.c XX rm -f grunt parti.a XX# XX# mv .h files and parti.a to appropriate location XX# XXinstall : XX cp parti.a $(LIB)/parti.a XX cp *.h $(INCL) XEND_OF_FILE Xif test 2637 -ne `wc -c <'makefile'`; then X echo shar: \"'makefile'\" unpacked with wrong size! Xfi X# end of 'makefile' Xfi Xif test -f 'parti.h' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'parti.h'\" Xelse Xecho shar: Extracting \"'parti.h'\" \(2287 characters\) Xsed "s/^X//" >'parti.h' <<'END_OF_FILE' XX/******************************************************************/ XX/* */ XX/* PARTI : Parallel Automated Runtime Tools from ICASE */ XX/* Version 1.0 8 July 1990 */ XX/* */ XX/* This is the header file for the parti primitives. */ XX/* This only includes stuff that a user might need to see. Message*/ XX/* types and so on are defined in the file parti_more.h */ XX/* - Harry Scott Berryman */ XX/******************************************************************/ XX XX/* compiler communication pattern */ XXstruct com_pattern { XX int n_msgs_to_recv,n_msgs_to_send; XX int *send_n,**send_list; XX int *fetch_n,**fetch_list; XX int buffer_size; XX int nprocs,myproc,pid; XX}; XX XXstruct com_pattern *schedule_gather(); XXvoid execute_gather(),iexecute_gather(),fexecute_gather(); XXvoid dexecute_gather(),cexecute_gather(); XXvoid execute_scatter(),iexecute_scatter(),fexecute_scatter(); XXvoid dexecute_scatter(),cexecute_scatter(); XXvoid iexecute_add(),fexecute_add(); XXvoid dexecute_add(),cexecute_add(); XXvoid iexecute_sub(),fexecute_sub(); XXvoid dexecute_sub(),cexecute_sub(); XXvoid iexecute_mult(),fexecute_mult(); XXvoid dexecute_mult(),cexecute_mult(); XX XX/* user communication pattern (is a compiler pattern + perm vector to unpack) */ XX#define SCHED struct schedule_struct XXstruct schedule_struct { XX struct com_pattern *sr; XX int ndata,*perm; XX}; XX XX/* structure for translation talble */ XX#define BLOCKED 1 XX#define STRIPED 2 XX#define TTABLE struct trans_table XXstruct trans_table { XX int *proc,*offset; XX int type,table_size; XX}; XX XX/* user-level prototypes */ XXSCHED *schedule(),*ischedule(); XXvoid dref(); XXvoid gather(),igather(),fgather(),dgather(),cgather(); XXvoid scatter(),iscatter(),fscatter(),dscatter(),cscatter(); XXvoid iscatter_add(),fscatter_add(),dscatter_add(),cscatter_add(); XXvoid iscatter_sub(),fscatter_sub(),dscatter_sub(),cscatter_sub(); XXvoid iscatter_mult(),fscatter_mult(),dscatter_mult(),cscatter_mult(); XXTTABLE *build_translation_table(); XXvoid new_dref(),free_table(); XX XX/* utils prototypes */ XXvoid check_point(); XXvoid print_com_pattern(); XXvoid bsort(); XXvoid check_sum(); XEND_OF_FILE Xif test 2287 -ne `wc -c <'parti.h'`; then X echo shar: \"'parti.h'\" unpacked with wrong size! Xfi X# end of 'parti.h' Xfi Xif test -f 'parti_more.h' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'parti_more.h'\" Xelse Xecho shar: Extracting \"'parti_more.h'\" \(769 characters\) Xsed "s/^X//" >'parti_more.h' <<'END_OF_FILE' XX XX/* for debug version */ XX#define malloc(n) debug_malloc(n) XX XX XX/* message types */ XX#define CONFIG_MSG 13000 XX#define VERT_MSG 13001 XX#define TRANS_DATA_MSG 13002 XX#define GATHER_EXECUTOR_MSG 14000 XX#define SCATTER_EXECUTOR_MSG 15000 XX#define ADD_EXECUTOR_MSG 16000 XX#define SUB_EXECUTOR_MSG 17000 XX#define MULT_EXECUTOR_MSG 18000 XX XX/****** data types and externs for FTN wrappers **********/ XX/* structure to keep track type of pointer */ XXstruct cell{ XX char *ptr; XX int ptrtype; XX}; XX XX/* structure which is array of the previously defined structures */ XX#define ARRSIZE 500 XX#define SCHD 0 XX#define TABL 1 XX XXtypedef struct arr *ARRPTR; XXstruct arr{ XX struct cell ptrarray[ARRSIZE]; XX ARRPTR next; XX}; XX XX/* externs */ XX extern int gindex; XX extern ARRPTR gptr,gcptr; XEND_OF_FILE Xif test 769 -ne `wc -c <'parti_more.h'`; then X echo shar: \"'parti_more.h'\" unpacked with wrong size! Xfi X# end of 'parti_more.h' Xfi Xif test -f 'tcomp.c' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'tcomp.c'\" Xelse Xecho shar: Extracting \"'tcomp.c'\" \(5498 characters\) Xsed "s/^X//" >'tcomp.c' <<'END_OF_FILE' XX#include XX#include "parti.h" XX#include "parti_more.h" XX XX/* This file contains the code for the type specific gather and */ XX/* scatter executors. The macro PREFIX is d,i,l, or f. */ XX/* The macro TYPE is double, int, long or float to match PREFIX */ XX/* Once again, what was once a quick fix is now an established */ XX/* policy. */ XX XXvoid PREFIXexecute_gather(pattern,buf_list,data) XXstruct com_pattern *pattern; XXTYPE **buf_list,*data; XX{ XX static int call_count; XX int i,j; XX int *l; XX TYPE *buffer; XX int nprocs,node,pid; XX XX#ifdef DEBUG XX trace_enter("PREFIXexecute_gather"); XX#endif XX pid = mypid(); XX nprocs = numnodes(); XX /* send data */ XX buffer = (TYPE *) malloc(pattern->buffer_size*sizeof(TYPE)); XX for(i=0;isend_n[i]>0){ XX l = pattern->send_list[i]; XX for(j=0;jsend_n[i];j++){ XX buffer[j] = data[l[j]]; XX } XX csend(GATHER_EXECUTOR_MSG+call_count,buffer, XX sizeof(TYPE)*pattern->send_n[i],i,pid); XX } XX } XX free(buffer); XX XX /* recv data */ XX for(i=0;in_msgs_to_recv;i++){ XX cprobe(GATHER_EXECUTOR_MSG+call_count); XX node = infonode(); XX if(buf_list[node]==NULL) { XX fprintf(stderr,"%d : Error in execute gather: buffer list has\n", XX mynode()); XX fprintf(stderr,"%d : NULL in needed buffer slot %d : \n",mynode(),node); XX exit(); XX } XX crecv(GATHER_EXECUTOR_MSG+call_count, XX buf_list[node],pattern->fetch_n[node]*sizeof(TYPE)); XX } XX XX call_count++; XX#ifdef DEBUG XX trace_exit(); XX#endif XX XX} XX XXvoid PREFIXexecute_scatter(pattern,buf_list,data) XXstruct com_pattern *pattern; XXTYPE **buf_list,*data; XX{ XX static int call_count=0; XX int i,j; XX int *l; XX int pid,nprocs,node; XX TYPE *buffer; XX XX#ifdef DEBUG XX trace_enter("PREFIXexecute_scatter"); XX#endif XX XX nprocs = numnodes(); XX pid = mypid(); XX /* send data */ XX for(i=0;ifetch_n[i]>0){ XX csend(SCATTER_EXECUTOR_MSG+call_count,buf_list[i], XX sizeof(TYPE)*pattern->fetch_n[i],i,pid); XX } XX } XX XX /* recv data */ XX buffer = (TYPE *) malloc(pattern->buffer_size*sizeof(TYPE)); XX for(i=0;in_msgs_to_send;i++){ XX cprobe(SCATTER_EXECUTOR_MSG+call_count); XX node = infonode(); XX crecv(SCATTER_EXECUTOR_MSG+call_count,buffer, XX pattern->buffer_size*sizeof(TYPE)); XX l = pattern->send_list[node]; XX for(j=0;jsend_n[node];j++){ XX data[l[j]] = buffer[j]; XX } XX } XX free(buffer); XX call_count++; XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XXvoid PREFIXexecute_add(pattern,buf_list,data) XXstruct com_pattern *pattern; XXTYPE **buf_list,*data; XX{ XX static int call_count=0; XX int i,j; XX int *l; XX int nprocs,pid,node; XX TYPE *buffer; XX XX#ifdef DEBUG XX trace_enter("PREFIXexecute_add"); XX#endif XX XX nprocs = numnodes(); XX pid = mypid(); XX /* send data */ XX for(i=0;ifetch_n[i]>0){ XX csend(ADD_EXECUTOR_MSG+call_count,buf_list[i], XX sizeof(TYPE)*pattern->fetch_n[i],i,pid); XX } XX } XX XX /* recv data */ XX buffer = (TYPE *) malloc(pattern->buffer_size*sizeof(TYPE)); XX for(i=0;in_msgs_to_send;i++){ XX cprobe(ADD_EXECUTOR_MSG+call_count); XX node = infonode(); XX crecv(ADD_EXECUTOR_MSG+call_count,buffer, XX pattern->buffer_size*sizeof(TYPE)); XX l = pattern->send_list[node]; XX for(j=0;jsend_n[node];j++){ XX data[l[j]] += buffer[j]; XX } XX } XX free(buffer); XX call_count++; XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XXvoid PREFIXexecute_sub(pattern,buf_list,data) XXstruct com_pattern *pattern; XXTYPE **buf_list,*data; XX{ XX static int call_count=0; XX int i,j; XX int *l; XX int pid,nprocs,node; XX TYPE *buffer; XX XX#ifdef DEBUG XX trace_enter("PREFIXexecute_sub"); XX#endif XX XX nprocs = numnodes(); XX pid = mypid(); XX /* send data */ XX for(i=0;ifetch_n[i]>0){ XX csend(SUB_EXECUTOR_MSG+call_count, XX buf_list[i], XX sizeof(TYPE)*pattern->fetch_n[i], XX i, XX pattern->pid); XX } XX } XX XX /* recv data */ XX buffer = (TYPE *) malloc(pattern->buffer_size*sizeof(TYPE)); XX for(i=0;in_msgs_to_send;i++){ XX cprobe(SUB_EXECUTOR_MSG+call_count); XX node = infonode(); XX crecv(SUB_EXECUTOR_MSG+call_count, XX buffer, XX pattern->buffer_size*sizeof(TYPE)); XX l = pattern->send_list[node]; XX for(j=0;jsend_n[node];j++){ XX data[l[j]] -= buffer[j]; XX } XX } XX free(buffer); XX call_count++; XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XXvoid PREFIXexecute_mult(pattern,buf_list,data) XXstruct com_pattern *pattern; XXTYPE **buf_list,*data; XX{ XX static int call_count=0; XX int i,j; XX int *l; XX int nprocs,pid,node; XX TYPE *buffer; XX XX#ifdef DEBUG XX trace_enter("PREFIXexecute_mult"); XX#endif XX XX nprocs = numnodes(); XX pid = mypid(); XX /* send data */ XX for(i=0;ifetch_n[i]>0){ XX csend(MULT_EXECUTOR_MSG+call_count,buf_list[i], XX sizeof(TYPE)*pattern->fetch_n[i],i,pid); XX } XX } XX XX /* recv data */ XX buffer = (TYPE *) malloc(pattern->buffer_size*sizeof(TYPE)); XX for(i=0;in_msgs_to_send;i++){ XX cprobe(MULT_EXECUTOR_MSG+call_count); XX node = infonode(); XX crecv(MULT_EXECUTOR_MSG+call_count,buffer, XX pattern->buffer_size*sizeof(TYPE)); XX l = pattern->send_list[node]; XX for(j=0;jsend_n[node];j++){ XX data[l[j]] *= buffer[j]; XX } XX } XX free(buffer); XX call_count++; XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XEND_OF_FILE Xif test 5498 -ne `wc -c <'tcomp.c'`; then X echo shar: \"'tcomp.c'\" unpacked with wrong size! Xfi X# end of 'tcomp.c' Xfi Xif test -f 'tuser.c' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'tuser.c'\" Xelse Xecho shar: Extracting \"'tuser.c'\" \(9013 characters\) Xsed "s/^X//" >'tuser.c' <<'END_OF_FILE' XX#include XX#include XX#include "parti.h" XX#include "parti_more.h" XX XX#ifdef PTIMES XX extern double Ptimes[]; XX#endif XX XXvoid PREFIXgather(sched,data,target) XXSCHED *sched; XXTYPE *data,*target; XX{ XX int count,np,i; XX TYPE **blist,*buffer; XX double t0,t1,t2,t3,t4,t5; XX XX#ifdef PTIMES XX t0 = dclock(); XX#endif XX XX#ifdef DEBUG XX trace_enter("PREFIXgather"); XX#endif XX np = numnodes(); XX blist = (TYPE **) malloc(sizeof(TYPE *)*np); XX buffer = (TYPE *) malloc(sizeof(TYPE)*sched->ndata); XX XX#ifdef PTIMES XX t1 = dclock(); XX#endif XX XX count = 0; XX for(i=0;isr->fetch_n[i]; XX } XX XX#ifdef PTIMES XX t2 = dclock(); XX#endif XX XX PREFIXexecute_gather(sched->sr,blist,target); XX XX#ifdef PTIMES XX t3 = dclock(); XX#endif XX XX for(i=0;indata;i++){ XX data[sched->perm[i]] = buffer[i]; XX } XX XX#ifdef PTIMES XX t4 = dclock(); XX#endif XX XX free(blist); XX free(buffer); XX XX#ifdef DEBUG XX trace_exit(); XX#endif XX XX#ifdef PTIMES XX t5 = dclock(); XX Ptimes[0] += t1-t0; XX Ptimes[1] += t2-t1; XX Ptimes[2] += t3-t2; XX Ptimes[3] += t4-t3; XX Ptimes[4] += t5-t4; XX Ptimes[5] += t5-t0; XX#endif XX} XX XXvoid PREFIXscatter(sched,data,target) XXSCHED *sched; XXTYPE *data,*target; XX{ XX int count,np,i; XX TYPE **blist,*buffer; XX XX#ifdef DEBUG XX trace_enter("PREFIXscatter"); XX#endif XX XX np = numnodes(); XX blist = (TYPE **) malloc(sizeof(TYPE *)*np); XX buffer = (TYPE *) malloc(sizeof(TYPE)*sched->ndata); XX count = 0; XX for(i=0;isr->fetch_n[i]; XX } XX XX for(i=0;indata;i++){ XX buffer[i] = data[sched->perm[i]]; XX } XX XX PREFIXexecute_scatter(sched->sr,blist,target); XX XX free(blist); XX free(buffer); XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XXvoid PREFIXscatter_add(sched,data,target) XXSCHED *sched; XXTYPE *data,*target; XX{ XX int count,np,i; XX TYPE **blist,*buffer; XX XX#ifdef DEBUG XX trace_enter("PREFIXscatter_add"); XX#endif XX np = numnodes(); XX blist = (TYPE **) malloc(sizeof(TYPE *)*np); XX buffer = (TYPE *) malloc(sizeof(TYPE)*sched->ndata); XX count = 0; XX for(i=0;isr->fetch_n[i]; XX } XX XX for(i=0;indata;i++){ XX buffer[i] = data[sched->perm[i]]; XX } XX XX PREFIXexecute_add(sched->sr,blist,target); XX XX free(blist); XX free(buffer); XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XXvoid PREFIXscatter_sub(sched,data,target) XXSCHED *sched; XXTYPE *data,*target; XX{ XX int count,np,i; XX TYPE **blist,*buffer; XX XX#ifdef DEBUG XX trace_enter("PREFIXcatter_sub"); XX#endif XX np = numnodes(); XX blist = (TYPE **) malloc(sizeof(TYPE *)*np); XX buffer = (TYPE *) malloc(sizeof(TYPE)*sched->ndata); XX count = 0; XX for(i=0;isr->fetch_n[i]; XX } XX XX for(i=0;indata;i++){ XX buffer[i] = data[sched->perm[i]]; XX } XX XX PREFIXexecute_sub(sched->sr,blist,target); XX XX free(blist); XX free(buffer); XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XXvoid PREFIXscatter_mult(sched,data,target) XXSCHED *sched; XXTYPE *data,*target; XX{ XX int count,np,i; XX TYPE **blist,*buffer; XX XX#ifdef DEBUG XX trace_enter("PREFIXscatter_mult"); XX#endif XX XX np = numnodes(); XX blist = (TYPE **) malloc(sizeof(TYPE *)*np); XX buffer = (TYPE *) malloc(sizeof(TYPE)*sched->ndata); XX count = 0; XX for(i=0;isr->fetch_n[i]; XX } XX XX for(i=0;indata;i++){ XX buffer[i] = data[sched->perm[i]]; XX } XX XX PREFIXexecute_mult(sched->sr,blist,target); XX XX free(blist); XX free(buffer); XX#ifdef DEBUG XX trace_exit(); XX#endif XX} XX XX/************* FTN wrappers start here ************************************/ XX XX/* XX wrapper for the gather function. This function is called with the same XX parameters as regular gather except here instead of the pointer to XX schedule the index is sent. XX*/ XX XXvoid PREFIXfgather_(schedindex,data,target) XXint *schedindex; XXTYPE *data, *target; XX{ XX int hops,found,ii; XX int kk=0; XX ARRPTR temptr; XX XX hops = *schedindex / ARRSIZE; XX if (hops == 0) XX PREFIXgather((SCHED *)gptr->ptrarray[*schedindex].ptr,data,target); XX else{ XX temptr = gptr; XX found = 0; XX while((temptr != NULL)&&(!found)){ XX if(hops == 0) XX found = 1; XX else{ XX temptr = temptr->next; XX hops--; XX } XX } XX if (!found){ XX printf("Garbage index .......\n"); XX exit(); XX } XX PREFIXgather((SCHED *)temptr->ptrarray[*schedindex%ARRSIZE].ptr,data,target); XX } XX} XX XX/* XX wrapper for the scatter function. This function is called with the same XX parameters as regular scatter except here instead of the pointer to XX schedule the index is sent. XX*/ XX XXvoid PREFIXfscatter_(schedindex,data,target) XXint *schedindex; XXTYPE *data, *target; XX{ XX int hops,found; XX ARRPTR temptr; XX XX hops = *schedindex / ARRSIZE; XX if (hops == 0) XX PREFIXscatter((SCHED *)gptr->ptrarray[*schedindex].ptr,data, XX target); XX else{ XX temptr = gptr; XX found = 0; XX while((temptr != NULL)&&(!found)){ XX if(hops == 0) XX found = 1; XX else{ XX temptr = temptr->next; XX hops--; XX } XX } XX if (!found){ XX printf("Garbage index .......\n"); XX exit(); XX } XX PREFIXscatter((SCHED *)temptr->ptrarray[*schedindex%ARRSIZE].ptr, XX data,target); XX } XX} XX XX/* XX wrapper for the scatter_add function. This function is called with the same XX parameters as regular scatter_add except here instead of the pointer to XX schedule the index is sent. XX*/ XX XXvoid PREFIXfscatter_add_(schedindex,data,target) XXint *schedindex; XXTYPE *data, *target; XX{ XX int hops,found; XX ARRPTR temptr; XX XX hops = *schedindex / ARRSIZE; XX if (hops == 0) XX PREFIXscatter_add((SCHED *)gptr->ptrarray[*schedindex].ptr, XX data,target); XX else{ XX temptr = gptr; XX found = 0; XX while((temptr != NULL)&&(!found)){ XX if(hops == 0) XX found = 1; XX else{ XX temptr = temptr->next; XX hops--; XX } XX } XX if (!found){ XX printf("Garbage index .......\n"); XX exit(); XX } XX PREFIXscatter_add((SCHED *)temptr->ptrarray XX [*schedindex%ARRSIZE].ptr,data,target); XX } XX} XX XX/* XX wrapper for the scatter_sub function. This function is called with the same XX parameters as regular scatter_sub except here instead of the pointer to XX schedule the index is sent. XX*/ XX XXvoid PREFIXfscatter_sub_(schedindex,data,target) XXint *schedindex; XXTYPE *data, *target; XX{ XX int hops,found; XX ARRPTR temptr; XX XX hops = *schedindex / ARRSIZE; XX if (hops == 0) XX PREFIXscatter_sub((SCHED *)gptr->ptrarray[*schedindex].ptr, XX data,target); XX else{ XX temptr = gptr; XX found = 0; XX while((temptr != NULL)&&(!found)){ XX if(hops == 0) XX found = 1; XX else{ XX temptr = temptr->next; XX hops--; XX } XX } XX if (!found){ XX printf("Garbage index .......\n"); XX exit(); XX } XX PREFIXscatter_sub((SCHED *)temptr->ptrarray XX [*schedindex%ARRSIZE].ptr,data,target); XX } XX} XX XX/* XX wrapper for the scatter_mult function. This function is called with the same XX parameters as regular scatter_mult except here instead of the pointer to XX schedule the index is sent. XX*/ XX XXvoid PREFIXfscatter_mult_(schedindex,data,target) XXint *schedindex; XXTYPE *data, *target; XX{ XX int hops,found; XX ARRPTR temptr; XX XX hops = *schedindex / ARRSIZE; XX if (hops == 0) XX PREFIXscatter_mult((SCHED *)gptr->ptrarray[*schedindex].ptr, XX data,target); XX else{ XX temptr = gptr; XX found = 0; XX while((temptr != NULL)&&(!found)){ XX if(hops == 0) XX found = 1; XX else{ XX temptr = temptr->next; XX hops--; XX } XX } XX if (!found){ XX printf("Garbage index .......\n"); XX exit(); XX } XX PREFIXscatter_mult((SCHED *)temptr->ptrarray XX [*schedindex%ARRSIZE].ptr,data,target); XX } XX} XX XEND_OF_FILE Xif test 9013 -ne `wc -c <'tuser.c'`; then X echo shar: \"'tuser.c'\" unpacked with wrong size! Xfi X# end of 'tuser.c' Xfi Xif test -f 'user.c' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'user.c'\" Xelse Xecho shar: Extracting \"'user.c'\" \(13125 characters\) Xsed "s/^X//" >'user.c' <<'END_OF_FILE' XX#include XX#include XX#include "parti.h" XX#include "parti_more.h" XX XX /* Global Data decls for FTN wrappers */ XX int gindex=0; XX ARRPTR gptr,gcptr; XX XXSCHED *schedule(local,proc,ndata) XXint *local,*proc,ndata; XX{ XX int *bl,nprocs,*pl,**perms,**buckets,*bsize; XX struct com_pattern *sr; XX SCHED *sched; XX XX#ifdef DEBUG XX trace_enter("schedule"); XX#endif XX sched = (SCHED *) malloc(sizeof(SCHED)); XX nprocs = numnodes(); XX bl = (int *) malloc(sizeof(int)*ndata); XX pl = (int *) malloc(sizeof(int)*ndata); XX perms = (int **) malloc(sizeof(int *)*nprocs); XX buckets = (int **) malloc(sizeof(int *)*nprocs); XX bsize = (int *) malloc(sizeof(int)*nprocs); XX XX bsort(nprocs,ndata,proc,local,bsize,buckets,perms,bl,pl); XX sr = schedule_gather(bsize,buckets); XX XX sched->sr = sr; XX sched->perm = pl; XX sched->ndata = ndata; XX XX free(perms); XX#ifdef DEBUG XX trace_exit(); XX#endif XX return(sched); XX} XX XXvoid dref(local,proc,ndata,offset_table,proc_table) XXint *local,*proc,ndata,*offset_table,*proc_table; XX{ XX SCHED *sr; XX int i,*local_deref,*proc_deref; XX XX#ifdef DEBUG XX trace_enter("dref"); XX#endif XX local_deref = (int *) malloc(sizeof(int)*ndata); XX proc_deref = (int *) malloc(sizeof(int)*ndata); XX XX sr = schedule(local,proc,ndata); XX igather(sr,local_deref,offset_table); XX igather(sr,proc_deref,proc_table); XX XX for(i=0;imax_index) ? index_array[i] : max_index; XX } XX gihigh(&max_index,1,&i); XX max_index++; XX table_size = max_index/nprocs+(max_index%nprocs!=0); XX table->offset = (int *) malloc(sizeof(int)*table_size); XX table->proc = (int *) malloc(sizeof(int)*table_size); XX XX table->table_size = table_size; XX table->type = type; XX for(i=0;ioffset); XX XX for(i=0;iproc); XX XX free(offset); XX free(local); XX free(proc); XX XX return(table); XX} XX XXvoid free_table(table) XXTTABLE *table; XX{ XX free(table->offset); XX free(table->proc); XX} XX XXvoid dereference(table,index_array,local,proc,ndata) XXint *index_array,ndata; XXint *local,*proc; XXTTABLE *table; XX{ XX SCHED *sr; XX int i,nprocs; XX XX#ifdef DEBUG XX trace_enter("dreference"); XX#endif XX nprocs = numnodes(); XX for(i=0;itype == BLOCKED) XX ? (index_array[i] / table->table_size) XX : (index_array[i] % nprocs); XX local[i] = (table->type == BLOCKED) XX ? (index_array[i] % table->table_size) XX : (index_array[i] / nprocs); XX } XX XX sr = schedule(local,proc,ndata); XX igather(sr,local,table->offset); XX igather(sr,proc,table->proc); XX XX} XX XX XX#define UNUSED -1 XX#define SIZE 100 XX#define TRUE 1 XX#define FALSE 0 XX XX/* XX This primitive is created so that we can take off processor elements XX and put them into end of the the local array. For each type of array XX it has to be done once. It will return the schedule and then we can XX call a gather-localize or scatter-localize to insert the off-processor XX elements in the local array. XX*/ XX XX/* These structs and stuff are really local to localize() */ XX XXtypedef struct integer_cell INTEGER_CELLPTR; XX XXstruct integer_cell{ XX INTEGER_CELLPTR *nextcell; XX int index; XX}; XX XXtypedef struct hashcell HASHPTR; XX XXstruct hashcell{ XX int node_num; XX int tag; XX HASHPTR *next; XX INTEGER_CELLPTR *slot_num; XX}; XX XXvoid localize(tabptr,lsched,global_refs,local_refs,ndata,n_off_proc,my_size) XXTTABLE *tabptr; XXSCHED **lsched; XXint *global_refs; XXint *local_refs; XXint ndata; XXint *n_off_proc; XXint my_size; XX{ XX int count,k,jj,i,found; XX int *Fetch_p,*Fetch_l; XX int *procl,*indexl,*proc,*nglobal_ref; XX int noadata; XX SCHED *lsch; XX HASHPTR *ptr_hash_st,*temptr,*temmptr; XX INTEGER_CELLPTR *ttemptr; XX XX proc = (int *)malloc(sizeof(int)*ndata); XX ptr_hash_st = (HASHPTR *)malloc(sizeof(struct hashcell)*SIZE); XX for(i=0;iindex = i; XX ptr_hash_st[k].slot_num->nextcell = NULL; XX } XX else{ XX temptr = &ptr_hash_st[k]; XX found = FALSE; XX do{ XX if(temptr->node_num == global_refs[i]){ XX ttemptr = temptr->slot_num; XX while(ttemptr->nextcell != NULL) ttemptr =ttemptr->nextcell; XX ttemptr->nextcell = (INTEGER_CELLPTR *)malloc(sizeof(struct integer_cell)); XX ttemptr = ttemptr->nextcell; XX ttemptr->index = i; XX ttemptr->nextcell = NULL; XX found = TRUE; XX } XX else XX temmptr = temptr; XX temptr = temptr->next; XX } XX while((temptr != NULL)&&(!found)); XX if(!found){ XX temmptr->next = (HASHPTR *)malloc(sizeof(struct hashcell)); XX temmptr = temmptr->next; XX temmptr->tag = 1; XX temmptr->node_num = global_refs[i]; XX temmptr->next = NULL; XX temmptr->slot_num = (INTEGER_CELLPTR *)malloc(sizeof(struct integer_cell)); XX temmptr->slot_num->index = i; XX temmptr->slot_num->nextcell = NULL; XX } XX } XX } XX nglobal_ref = (int *)malloc(sizeof(int)*ndata); XX noadata = 0; XX for(i=0;itag != UNUSED) XX nglobal_ref[noadata++] = temptr->node_num; XX temptr = temptr->next; XX } XX } XX procl = (int *)malloc(sizeof(int)*noadata); XX indexl = (int *)malloc(sizeof(int)*noadata); XX dereference(tabptr,global_refs,local_refs,proc,ndata); XX dereference(tabptr,nglobal_ref,indexl,procl,noadata); XX XX Fetch_p = (int *)malloc(sizeof(int)*noadata); XX Fetch_l = (int *)malloc(sizeof(int)*noadata); XX count = 0; XX jj = my_size; XX for(i=0;inode_num == nglobal_ref[i]) XX found = TRUE; XX else XX temptr = temptr->next; XX } XX ttemptr = temptr->slot_num; XX while(ttemptr != NULL){ XX local_refs[ttemptr->index] = jj; XX ttemptr = ttemptr->nextcell; XX } XX jj++; XX Fetch_p[count] = procl[i]; XX Fetch_l[count++] = indexl[i]; XX } XX } XX lsch = schedule(Fetch_l,Fetch_p,count); XX *n_off_proc = count; XX *lsched = lsch; XX free(Fetch_p); XX free(Fetch_l); XX free(procl); XX free(indexl); XX free(nglobal_ref); XX free(ptr_hash_st); XX} XX XX/********************* ftn wrappers *************************************/ XX XX/* XX wrapper for the schedule primitive and it returns the index of this XX particular schedule call XX*/ XX XXint XXifschedule_(local,proc,ndata) XXint *local, *proc, *ndata; XX{ XX int index; XX int i; XX int kk=0; XX XX for(i=0;i<*ndata;i++) XX local[i]--; XX if ((index = gindex%ARRSIZE)==0){ XX if(gindex == 0){ XX gptr = (ARRPTR)malloc(sizeof(struct arr)); XX gcptr = gptr; XX gcptr->next = NULL; XX }else{ XX gcptr->next = (ARRPTR)malloc(sizeof(struct arr)); XX XX gcptr = gcptr->next; XX gcptr->next = NULL; XX } XX } XX index = gindex%ARRSIZE; XX gcptr->ptrarray[index].ptr = (char *)schedule(local,proc,*ndata); XX for(i=0;i<*ndata;i++) XX local[i]++; XX XX gcptr->ptrarray[index].ptrtype = SCHD; XX index = gindex++; XX return(index); XX} XX XX/* XX wrapper for the build_translation_table primitive and it returns the XX index of this particular call to build the table XX*/ XX XXint XXifbuild_translation_table_(type,index_array,ndata) XXint *type, *index_array, *ndata; XX{ XX int index,i; XX XX for(i=0;i<*ndata;i++) XX index_array[i]--; XX if ((index = gindex%ARRSIZE)==0){ XX if(gindex == 0){ XX gptr = (ARRPTR)malloc(sizeof(struct arr)); XX gcptr = gptr; XX gcptr->next = NULL; XX }else{ XX gcptr->next = (ARRPTR)malloc(sizeof(struct arr)); XX gcptr = gcptr->next; XX gcptr->next = NULL; XX } XX } XX index = gindex%ARRSIZE; XX gcptr->ptrarray[index].ptr = (char *)build_translation_table(*type,index_array,*ndata); XX gcptr->ptrarray[index].ptrtype = TABL; XX index = gindex++; XX for(i=0;i<*ndata;i++) XX index_array[i]++; XX return(index); XX} XX XX XX/* XX wrapper around the dereference function XX*/ XX XXvoid fdereference_(tabindex,index_array,local,proc,ndata) XXint *tabindex, *ndata; XXint *index_array, *local, *proc; XX{ XX int hops,found; XX int i; XX ARRPTR temptr; XX XX for(i=0;i<*ndata;i++) XX index_array[i]--; XX hops = *tabindex / ARRSIZE; XX if (hops == 0) XX dereference((TTABLE *)gptr->ptrarray[*tabindex].ptr, XX index_array,local,proc,*ndata); XX else{ XX temptr = gptr; XX found = 0; XX while((temptr != NULL)&&(!found)){ XX if (hops == 0) XX found = 1; XX else{ XX temptr = temptr->next; XX hops--; XX } XX } XX if (!found){ XX printf("Garbage index .........\n"); XX exit(); XX } XX dereference((TTABLE *)temptr->ptrarray[*tabindex%ARRSIZE].ptr, XX index_array,local,proc,*ndata); XX XX } XX for(i=0;i<*ndata;i++){ XX index_array[i]++; XX local[i]++; XX } XX} XX XX/* XX This wrapper has been written for the primitive localize. XX*/ XX XXvoid flocalize_(tabindex,schedindex,global_refs,local_refs,ndata,n_off_proc, XX my_size) XXint *tabindex,*schedindex; XXint *ndata,*n_off_proc,*my_size; XXint *global_refs,*local_refs; XX{ XX SCHED *schptr; XX ARRPTR temptr; XX int hops,found; XX int index,off_proc,i; XX XX XX for(i=0;i<*ndata;i++) XX global_refs[i]--; XX hops = *tabindex/ARRSIZE; XX if (hops == 0) XX localize((TTABLE *)gptr->ptrarray[*tabindex].ptr,&schptr, XX global_refs,local_refs,*ndata,&off_proc,*my_size); XX else{ XX temptr = gptr; XX found = 0; XX while((temptr != NULL)&&(!found)){ XX if(hops == 0) XX found = 1; XX else{ XX temptr = temptr->next; XX hops--; XX } XX } XX if (!found){ XX printf("Garbage index .....\n"); XX exit(); XX } XX localize((TTABLE *)temptr->ptrarray[*tabindex%ARRSIZE].ptr, XX &schptr,global_refs,local_refs,*ndata, XX &off_proc,*my_size); XX } XX if ((index = gindex%ARRSIZE)==0){ XX if(gindex == 0){ XX gptr = (ARRPTR)malloc(sizeof(struct arr)); XX gcptr = gptr; XX gcptr->next = NULL; XX }else{ XX gcptr->next = (ARRPTR)malloc(sizeof(struct arr)); XX XX gcptr = gcptr->next; XX gcptr->next = NULL; XX } XX } XX index = gindex%ARRSIZE; XX gcptr->ptrarray[index].ptr = (char *)schptr; XX gcptr->ptrarray[index].ptrtype = SCHD; XX index = gindex++; XX *schedindex = index; XX *n_off_proc = off_proc; XX for(i=0;i<*ndata;i++){ XX local_refs[i]++; XX global_refs[i]++; XX } XX} XX XEND_OF_FILE Xif test 13125 -ne `wc -c <'user.c'`; then X echo shar: \"'user.c'\" unpacked with wrong size! Xfi X# end of 'user.c' Xfi Xif test -f 'utils.c' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'utils.c'\" Xelse Xecho shar: Extracting \"'utils.c'\" \(2966 characters\) Xsed "s/^X//" >'utils.c' <<'END_OF_FILE' XX#include XX#include "parti.h" XX#include "parti_more.h" XX XX#ifdef PTIMES XX double Ptimes[]= {0,0,0,0,0,0,0,0,0,0}; XX#endif XX XXbytecopy(a,b,n) XXchar *a,*b; XXlong n; XX{ XX long i; XX XX for(i=0;i=nbuckets){ XX if(mynode()==0) fprintf(stderr,"Error in bsort: not enough buckets\n"); XX exit(); XX } XX bsize[key[i]]++; XX } XX XX /* allocate memory for buckets */ XX count = 0; XX for(i=0;ifetch_n[i]!=0){ XX printf("node %2d fetchs ",mynode()); XX for(j=0;jfetch_n[i];j++){ XX printf("%d ",p->fetch_list[i][j]); XX } XX printf(" from %d\n",i); XX } XX } XX XX for(i=0;isend_n[i]!=0){ XX printf("node %2d sends ",mynode()); XX for(j=0;jsend_n[i];j++){ XX printf("%d ",p->send_list[i][j]); XX } XX printf(" to %d\n",i); XX } XX } XX} XX XXvoid check_point(s) XXchar *s; XX{ XX gsync(); XX if(mynode()==0){ XX printf("%s\n",s); XX } XX} XX XXvoid check_sum(x,n) XXdouble *x; XXint n; XX{ XX int i; XX double sum[3],wrk[3]; XX XX sum[0] = 0; XX sum[1] = 0; XX sum[2] = 0; XX for(i=0;i'tests.shar' <<'END_OF_FILE' X#! /bin/sh X# This is a shell archive. Remove anything before this line, then unpack X# it by saving it into a file and typing "sh file". To overwrite existing X# files, type "sh file -c". You can also feed this as standard input via X# unshar, or by typing "sh 'dref.c' <<'END_OF_FILE' XX#include XX#include "parti.h" XX XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX int size,wrk[4],sum[4],i,*index_array; XX int *local,*proc; XX TTABLE *table; XX XX size = atoi(argv[1]); XX index_array = (int *) malloc(sizeof(int)*size); XX local = (int *) malloc(sizeof(int)*size); XX proc = (int *) malloc(sizeof(int)*size); XX XX /* set up a translation table */ XX for(i=0;ioffset[i]; XX sum[1] += table->proc[i]; XX } XX XX /* do a dref */ XX dereference(table,index_array,local,proc,size); XX sum[2] = sum[3] = 0; XX for(i=0;i'fsmvm.f' <<'END_OF_FILE' XXc ----------------------------------------------------------------------------- XXc XX program smvm XXc XXc ----------------------------------------------------------------------------- XXc XX integer Isize, Myrows, Nrows, Mynonzeros XX integer Icols(256), Ilocal(256), Iproc(256) XX integer Ncols(256), Irandomcount XX integer Ietchp(256), Ietchl(256), Nfetch XX integer Iq, ixdel(4), iydel(4) XX integer isr, i, iseed XX real*8 sum, x(256), y(256), wrk, correctsum, val XX logical ifschedule XX External dfgather XXc XX Isize = 16 XX iseed = 123 XX Iq = 0 XXc XX val = ran(iseed) XXc XX ixdel(1) = 0 XX ixdel(2) = 1 XX ixdel(3) = 0 XX ixdel(4) = -1 XX iydel(1) = 1 XX iydel(2) = 0 XX iydel(3) = -1 XX iydel(4) = 0 XX m = mynode() XXc XX call sparsemat(Ncols,Icols,Nrows,Myrows,Mynonzeros,m,iseed, XX . Irandomcount,Isize,ixdel,iydel) XXc XX do 10 i = 1,Myrows XX x(i) = i + m*Myrows XX 10 continue XXc XX call indextrans(Ilocal,Icols,Iproc,Mynonzeros,Myrows) XXc XX correctsum = genchecksum(Ncols,Icols,Myrows) XX call genfetchlist(Iproc,Ietchp,Ietchl,Ilocal,Nfetch,m,Mynonzeros) XX isr = ifschedule(Ietchl,Ietchp,Nfetch) XX call smvm1(isr, x, y,Ncols,Iproc,Ilocal,m,Myrows) XXc XX sum = 0.0 XX do 20 i = 1,Myrows XX sum = sum + y(i) XX 20 continue XX call gdsum(sum,1,wrk) XX if (m .eq. 0) then XX if (sum .eq. correctsum) then XX write(*,*)sum XX write(*,*)correctsum XX write(*,*)('This is correct') XX else XX write(*,*)sum XX write(*,*)correctsum XX write(*,*)('This is incorrect') XX endif XX endif XX end XX XX real function genchecksum(Ncols,Icols,Myrows) XX integer Ncols(256),Icols(256),Myrows XXc XX integer j, i,icount, ii, Ncc XX real*8 sum,wrk XXc XX sum = 0.0 XX icount = 1 XX do 30 i = 1,Myrows XX Ncc = Ncols(i) XX do 40 j = 1,Ncc XX ii = mod(Icols(icount),100) XX sum = sum + ii XX icount = icount + 1 XX 40 continue XX 30 continue XX call gdsum(sum,1,wrk) XX genchecksum = sum XX return XX end XXc XXc XX subroutine smvm1(isr, x, y,Ncols,Iproc,Ilocal,m,Myrows) XX integer Ncols(256),Iproc(256),Ilocal(256) XX integer isr,m,Myrows XX real*8 x(256), y(256) XXc XX integer itmp, ibuffcount, icount, i, j,ii, Ncc XX real*8 tmp, buffer(256) XXc XX call dfgather(isr,buffer,x) XXc XX icount = 1 XX ibuffcount = 1 XX do 100 i = 1,Myrows XX y(i) = 0.0 XX Ncc = Ncols(i) XX do 110 j = 1,Ncc XX if(Iproc(icount) .eq. m) then XX ii = Ilocal(icount) XX tmp = x(ii) XX else XX tmp = buffer(ibuffcount) XX ibuffcount = ibuffcount + 1 XX endif XX icount = icount + 1 XX itmp = Int(tmp + 0.00000001) XX ii = mod(itmp, 100) XX y(i) = y(i) + ii XX 110 continue XX 100 continue XX return XX end XXc XXc XX subroutine genfetchlist(Iproc,Ietchp,Ietchl,Ilocal,Nfetch,m,Mynonzeros) XX integer Iproc(256),Ietchp(256),Ietchl(256),Ilocal(256) XX integer Nfetch,m,Mynonzeros XXc XX integer i, icount XXc XX Nfetch = 0 XX do 200 i = 1,Mynonzeros XX if (Iproc(i) .ne. m) then XX Nfetch = Nfetch + 1 XX endif XX 200 continue XX icount = 1 XX do 210 i = 1,Mynonzeros XX if (Iproc(i) .ne. m) then XX Ietchp(icount) = Iproc(i) XX Ietchl(icount) = Ilocal(i) XX icount = icount + 1 XX endif XX 210 continue XX return XX end XXc XXc XX subroutine indextrans(Ilocal,Icols,Iproc,Mynonzeros,Myrows) XX integer Ilocal(256),Icols(256),Iproc(256),Mynonzeros,Myrows XXc XX integer i XX real*8 val XXc XX do 300 i = 1,Mynonzeros XX Ilocal(i) = mod(Icols(i),Myrows) XX val = Icols(i) / Myrows XX Iproc(i) = Int(val + 0.000000001) XX 300 continue XX return XX end XXc XXc XX subroutine sparsemat(Ncols,Icols,Nrows,Myrows,Mynonzeros,m,iseed, XX . Irandomcount,Isize,ixdel,iydel) XX integer Ncols(256),Icols(256),Nrows,Myrows,m,iseed,Irandomcount XX integer Mynonzeros XX integer ixdel(4),iydel(4),Isize XXc XX integer icount, i, j, ix, iy, igl, ixpr, iypr, iglpr XX integer irand,irr,iqq XX real*8 val XXc XX Nrows = Isize * Isize XX num = numnodes() XX Myrows = Int(Nrows/num) XXc XX Irandomcount = 0 XX icount = 1 XX Iq = 0 XX do 400 i = 1,Myrows XX Ncols(i) = 0 XX igl = i + Myrows*m XX val = igl/Isize XX ix = Int(val + 0.0001) XX iy = mod(igl,Isize) XX if(iy.eq.0) then XX iy = 1 XX endif XX do 410 j = 1,4 XX ixpr = ix + ixdel(j) XX iypr = iy + iydel(j) XX iglpr = ixpr*Isize + iypr XX if((ixpr.lt.Isize).and.(ixpr.ge.0)) then XX if((iypr.lt.Isize).and.(iypr .ge. 0)) then XX val = ran(iseed) XX val = val * 100000 XX irand = Int(val) XX irr = mod(irand,1000) XX if(irr.eq.0) then XX irr = 1 XX endif XX iqq = Iq*10 XX if(irr .lt. Iq) then XX val = ran(iseed) XX val = val*10000 XX irand = Int(val) XX Icols(icount) = mod(irand,Nrows) XXc XXc Patch to take care of FORTRAN's strange indexing XXc XX itk = mod(Icols(icount),Myrows) XX if(Icols(icount).eq.0) then XX Icols(icount)=1 XX endif XX if(itk.eq.0) then XX Icols(icount)=Icols(icount)-1 XX endif XX icount = icount + 1 XX Irandomcount = Irandomcount + 1 XX else XX Icols(icount) = iglpr XX itk = mod(Icols(icount),Myrows) XX if(Icols(icount).eq.0) then XX Icols(icount)=1 XX endif XX if(itk.eq.0) then XX Icols(icount)=Icols(icount)-1 XX endif XX icount = icount + 1 XX endif XX Ncols(i) = Ncols(i) + 1 XX endif XX endif XX 410 continue XX 400 continue XX Mynonzeros = icount - 1 XX return XX end XX XEND_OF_FILE Xif test 5035 -ne `wc -c <'fsmvm.f'`; then X echo shar: \"'fsmvm.f'\" unpacked with wrong size! Xfi X# end of 'fsmvm.f' Xfi Xif test -f 'ftwo_node.f' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'ftwo_node.f'\" Xelse Xecho shar: Extracting \"'ftwo_node.f'\" \(2935 characters\) Xsed "s/^X//" >'ftwo_node.f' <<'END_OF_FILE' XX XXc ----------------------------------------------------------------------------- XXc XX program twonodes XXc XXc ----------------------------------------------------------------------------- XXc XX integer n, i, isize, local(255), iproc(255) XX real*8 x(255), data(255), sum, ssum XX integer isr XX logical ifschedule XX External dfgather, dfscatter, dfscatter_add XX External dfscatter_sub, dfscatter_mult XXc XX isize = 32 XXc XX do 10 i = 1,isize XX data(i) = 0.0D0 XX x(i) = 0.0D0 XX 10 continue XXc XX if(mynode() .eq. 1) then XX do 20 i = 1,isize XX data(i) = i XX 20 continue XX endif XXc XX if(mynode() .eq. 0) then XX do 30 i = 1,isize XX iproc(i) = 1 XX local(i) = i XX 30 continue XX n = isize XX else XX n = 0 XX endif XXc XX isr = ifschedule(local,iproc,n) XXc XX call dfgather(isr,x,data) XX if(mynode() .eq. 0) then XX sum = 0.0D0 XX do 40 i = 1,isize XX sum = sum + x(i) XX 40 continue XX ssum = ((isize * isize)+isize)/2.0 XX if(sum.eq.ssum)then XX write(*,*) sum,' <- This is correct.' XX else XX write(*,*) sum,' <- This is an ERROR!' XX endif XX endif XXc XX if(mynode() .eq. 1) then XX do 50 i = 1,isize XX 50 data(i) = 0.0 XX endif XXc XX call dfscatter(isr,x,data) XX if(mynode() .eq. 1) then XX sum = 0.0 XX do 60 i = 1,isize XX 60 sum = sum + data(i) XX ssum = ((isize * isize)+isize)/2.0 XX if(sum.eq.ssum)then XX write(*,*) sum,' <- This is correct.' XX else XX write(*,*) sum,' <- This is an ERROR!' XX endif XX endif XXc XX call dfscatter_add(isr,x,data) XX if(mynode() .eq. 1) then XX sum = 0.0 XX do 70 i = 1,isize XX 70 sum = sum + data(i) XX ssum = ((isize * isize)+isize) XX if(sum.eq.ssum)then XX write(*,*) sum,' <- This is correct.' XX else XX write(*,*) sum,' <- This is an ERROR!' XX endif XX endif XXc XX call dfscatter_sub(isr,x,data) XX if(mynode() .eq. 1) then XX sum = 0.0 XX do 80 i = 1,isize XX 80 sum = sum + data(i) XX ssum = ((isize * isize)+isize)/2.0 XX if(sum.eq.ssum)then XX write(*,*) sum,' <- This is correct.' XX else XX write(*,*) sum,' <- This is an ERROR!' XX endif XX endif XXc XX call dfscatter_mult(isr,x,data) XX if(mynode() .eq. 1) then XX sum = 0.0 XX do 90 i = 1,isize XX 90 sum = sum + data(i) XX ssum = (isize * (isize+1)* (2*isize+1))/6.0 XX if(sum.eq.ssum)then XX write(*,*) sum,' <- This is correct.' XX else XX write(*,*) sum,' <- This is an ERROR!' XX endif XX endif XX end XX XEND_OF_FILE Xif test 2935 -ne `wc -c <'ftwo_node.f'`; then X echo shar: \"'ftwo_node.f'\" unpacked with wrong size! Xfi X# end of 'ftwo_node.f' Xfi Xif test -f 'makefile' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'makefile'\" Xelse Xecho shar: Extracting \"'makefile'\" \(1600 characters\) Xsed "s/^X//" >'makefile' <<'END_OF_FILE' XX################################################################### XX# # XX# PARTI : Parallel Automated Runtime Tools from ICASE # XX# Test makefile # XX# Version 1.0 1 August 1990 # XX# Revision 1 1 March 1991 # XX# # XX# This makefile runs a few test programs to catch any of the more # XX# glaring problems which might show up in a PARTI instalation. # XX# Just set the macros below to the right values and type "make", # XX# then sit back and watch it crash. Or run, if you're lucky. # XX# # XX# - Harry Scott Berryman # XX################################################################### XXPROB_SIZE = 256 XX# XX#test : run_two_nodes run_smvm run_dref run_ftests XXall : run_ftests XX.c : XX $(NODECC) $(NFLAG) -o $* $*.c -lm -node -I$(INCL) $(LIB)/parti.a XX.f : XX $(NODEF77) $(NFLAG) -o $* $*.f -node -I$(INCL) $(LIB)/parti.a XXrun_two_nodes : two_nodes XX getcube -t2 XX load two_nodes 500 XX waitcube XX relcube XXrun_smvm : smvm XX getcube -t$(NPROCS) XX load smvm $(PROB_SIZE) 123 0 XX waitcube XX relcube XXrun_dref: dref XX getcube -t$(NPROCS) XX load dref 100 XX waitcube XX relcube XXrun_ftests: ftwo_node fsmvm XX getcube -t2 XX load ftwo_node XX waitcube XX relcube XX getcube -t$(NPROCS) XX load fsmvm XX waitcube XX relcube XXclean : XX rm -f two_nodes smvm dref ftwo_node fsmvm core XEND_OF_FILE Xif test 1600 -ne `wc -c <'makefile'`; then X echo shar: \"'makefile'\" unpacked with wrong size! Xfi X# end of 'makefile' Xfi Xif test -f 'smvm.c' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'smvm.c'\" Xelse Xecho shar: Extracting \"'smvm.c'\" \(3749 characters\) Xsed "s/^X//" >'smvm.c' <<'END_OF_FILE' XX#include XX#include XX#include "parti.h" XX XX int Size,Myrows,Nrows,Mynonzeros; XX int *Cols,*Local,*Proc; XX int *Ncols,Random_count; XX int *Fetch_p,*Fetch_l,Nfetch; XX int Q; XX long my_malloc(); XX double gen_check_sum(); XX XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX SCHED *sr; XX double *x,*y,sum,wrk,correct_sum; XX int i,seed; XX XX if(argc!=4){ XX if(mynode()==0){ XX printf("Usage:\nload %s \n",argv[0]); XX } XX exit(); XX } XX Size = atoi(argv[1]); XX seed = atoi(argv[2]); XX Q = atoi(argv[3]); XX XX srand(seed); XX XX gen_sparse_mat(); XX XX x = (double *) malloc(sizeof(double)*Myrows); XX y = (double *) malloc(sizeof(double)*Myrows); XX for(i=0;i=0 & y_prime=0){ XX if(rand()%1000'two_nodes.c' <<'END_OF_FILE' XX/***********************************************************************/ XX/* Test Program for user version of schedule,dscatter, and dgather */ XX/* PARTI Version 1.0 9 July 1990 */ XX/* Programmers = Janet (Jan Jan) Wu & Harry Scott Berryman */ XX/* */ XX/* This program tests the user oriented gather and scatter by */ XX/* running on two processors. */ XX/***********************************************************************/ XX XX#include XX#include XX#include "parti.h" XX XXmain(argc,argv) XXint argc; XXchar *argv[]; XX{ XX int n,i,size,*local,*proc; XX double *x,*data, sum; XX SCHED *sr; XX XX size = atoi(argv[1]); XX x = (double *) malloc(sizeof(double)*size); XX proc = (int *) malloc(sizeof(int)*size); XX local = (int *) malloc(sizeof(int)*size); XX data = (double *) malloc(sizeof(double)*size); XX XX /* set data[i]=x[i]=0 */ XX for(i=0;i'unst.shar' <<'END_OF_FILE' X#! /bin/sh X# This is a shell archive. Remove anything before this line, then unpack X# it by saving it into a file and typing "sh file". To overwrite existing X# files, type "sh file -c". You can also feed this as standard input via X# unshar, or by typing "sh 'README' <<'END_OF_FILE' XXThis directory contains the example program which does a sweep over XXan unstructured mesh. The program runs and output the average time to XXexecute the loop in the file node*.out. To run this program one must XXdo the following: XX XX1) In the file doread.f one must give the correct path name for the XX files fort.30 -- fort.33. XX2) In the file driver.f one must put the correct path of the output files XX node00.out -- node03.out. XX3) Allocate 4 nodes for the program and load the executable driver4 into XX the nodes. XX4) In the makefile one must put the correct path name for the parti library. XEND_OF_FILE Xif test 596 -ne `wc -c <'README'`; then X echo shar: \"'README'\" unpacked with wrong size! Xfi X# end of 'README' Xfi Xif test -f 'common1.F' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'common1.F'\" Xelse Xecho shar: Extracting \"'common1.F'\" \(345 characters\) Xsed "s/^X//" >'common1.F' <<'END_OF_FILE' XX parameter(mnode = 550) XX parameter(medge = 5000) XX parameter(mbface= 800) XX parameter(mbnode= 500) XX parameter(mgroup= 17,mpatch= 4) XX parameter(mcomp = 2,mfrpts= 1) XX parameter(mbctyp=10) XX parameter(mstage=6) XX parameter(mres=100) XX parameter(nge=16000,ngf=6000) XEND_OF_FILE Xif test 345 -ne `wc -c <'common1.F'`; then X echo shar: \"'common1.F'\" unpacked with wrong size! Xfi X# end of 'common1.F' Xfi Xif test -f 'doread.f' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'doread.f'\" Xelse Xecho shar: Extracting \"'doread.f'\" \(2997 characters\) Xsed "s/^X//" >'doread.f' <<'END_OF_FILE' XXc ----------------------------------------------------------------------------- XXc XX subroutine doread(nprocs,lnode,ledge,nde,gnorm,w,p,dtl,myvals) XXc ----------------------------------- XX#include "common1.F" XXc ----------------------------------- XXc XX real*8 c(mstage),rfilm(mstage) XX real*8 cfl,bc,vis0,vis1,vis2,hm,smoop XX real*8 rm,al,yaw,gamma,rho0,p0,ei0,h0,c0,u0,v0,w0 XXc XX common/node/ ntotnodes,nonode,noedge XX common /bcs/ iobc1,iobc2,iobc3,itbc,insbc XX common /prm/ ncyc,nprnt,iplot,istart,icyc XX common /tsp/ cfl,bc,vis0,vis1,vis2,hm,smoop,ncycsm XX common /rk1/ c,rfilm,kstage XX common /flw/ rm,al,yaw,gamma,rho0,p0,ei0,h0,c0,u0,v0,w0 XXc XXc XX integer nde(ledge,2) XX integer myvals(lnode) XX real*8 gnorm(ledge,5) XX real*8 w(lnode,5),p(lnode) XX real*8 dtl(lnode) XXc XXc-- Local Variables XXc XX character *80 filen XX character *1 a,b XXc XXc Set the file pointers XXc XX do 35 i = 1,nprocs XX i2 = i-1 XX i1 = i2+30 XX ii = mod(i1,10) + 48 XX iii = (i1/10) + 48 XX a = char(ii) XX b = char(iii) XX filen = '/fiddler/home/icase/raja/newparti/examples/unst/fort.'//b//a XX if(i2.eq.mynode()) then XX open(unit=10,file=filen,status='old',form='formatted') XX endif XX 35 continue XXc----------------------------- Formatted Input -------------------------------- XXc XX infile = 10 XXc XX read(infile,205) ntotnodes XX read(infile,520) nonode,noedge,nobface XX do 170 i = 1,nonode XX read(infile,500) myvals(i) XX 170 continue XX read(infile,201)iobc1,iobc2,iobc3,itbc,insbc XX read(infile,201)ncyc,nprnt,iplot,istart,icyc XX read(infile,202)cfl,bc,vis0,vis1,vis2 XX read(infile,203)hm,smoop,ncycsm XX read(infile,202)rm,al,yaw,gamma,rho0 XX read(infile,204)p0 XX read(infile,202)ei0,h0,c0,u0,v0 XX read(infile,204)w0 XX read(infile,202)c(1),c(2),c(3),c(4),c(5) XX read(infile,204)c(6) XX read(infile,205)kstage XX read(infile,271)rfilm(1),rfilm(2),rfilm(3) XX read(infile,272)rfilm(4),rfilm(5) XX read(infile,204)rfilm(6) XXc XX 520 Format(3i7) XX 201 Format(5i7) XX 202 Format(5e19.10) XX 203 Format(2e19.10,i7) XX 204 Format(e19.10) XX 205 Format(i7) XX 271 Format(3e19.10) XX 272 Format(2e19.10) XXc XX do 10 i = 1,noedge XX read(infile,510) nde(i,1),nde(i,2) XX 10 continue XX do 60 i = 1,noedge XX read(infile,550) gnorm(i,1),gnorm(i,2),gnorm(i,3),gnorm(i,4), XX . gnorm(i,5) XX 60 continue XX do 70 i = 1,nonode XX read(infile,560) w(i,1),w(i,2),w(i,3),w(i,4),w(i,5) XX 70 continue XX do 80 i = 1,nonode XX read(infile,570) p(i) XX 80 continue XX do 120 i = 1,nonode XX read(infile,570) dtl(i) XX 120 continue XX 500 Format(i7) XX 510 Format(2i7) XX 530 Format(4i7) XX 540 Format(3e19.10) XX 550 Format(5e19.10) XX 560 Format(5e19.10) XX 570 Format(e19.10) XXc XX return XX end XEND_OF_FILE Xif test 2997 -ne `wc -c <'doread.f'`; then X echo shar: \"'doread.f'\" unpacked with wrong size! Xfi X# end of 'doread.f' Xfi Xif test -f 'driver.f' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'driver.f'\" Xelse Xecho shar: Extracting \"'driver.f'\" \(1629 characters\) Xsed "s/^X//" >'driver.f' <<'END_OF_FILE' XXc XX program Driver XXc XXc------------------------------- XX#include "common1.F" XXc------------------------------- XXc XX common/node/ ntotnodes,nonode,noedge XX common/sched/ lesched XXc XX integer nde(medge,2) XX integer myvals(mnode) XX real*8 gnorm(medge,5) XX real*8 w(mnode,5),p(mnode) XX real*8 dtl(mnode) XX DOUBLE PRECISION tperiter,ttime,stime1,stime2 XX DOUBLE PRECISION tmflop,atmflop,atmflops XX DOUBLE PRECISION dclock XXc XXc XX character *1 a,b XX character *80 filen XXc XXc XXc--Open the output files for each of the processors XXc XXc XX nprocs = 4 XX do 35 i = 1,nprocs XX i1 = i-1 XX ii = mod(i1,10) + 48 XX iii = (i1/10) + 48 XX a = char(ii) XX b = char(iii) XX filen = '/flounder/home/raja/example/node'//b//a//'.out' XX if(i1.eq.mynode()) then XX open(unit=30,file=filen,form='formatted') XX rewind(30) XX endif XX 35 continue XXc XXc---- Read all the input data XXc XX call doread(nprocs,lnode,ledge,nde,gnorm,w,p,dtl,myvals) XXc XXc---- Call the inspector XXc XX call inspector(medge,myvals,nde) XXc XX iflop = 0 XX ncyc = 10 XX stime1 = dclock() XXc XXc---- Call the executor XXc XX do 100 icyc=1,ncyc XX call executor(medge,mnode,nde,gnorm,w,p,dtl,iflop) XX 100 continue XX stime2 = dclock() XXc XXc--Print time and mflops XXc XX ttime = stime2-stime1 XX tperiter = ttime / dfloat(ncyc) XX tmflop = iflop / 1000000.0D0 XX atmflop = tmflop / dfloat(ncyc) XX atmflops = atmflop / tperiter XX mm = mynode() XX write(30,*)mm,atmflops,tperiter XX close(30) XX stop XX end XEND_OF_FILE Xif test 1629 -ne `wc -c <'driver.f'`; then X echo shar: \"'driver.f'\" unpacked with wrong size! Xfi X# end of 'driver.f' Xfi Xif test -f 'executor.f' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'executor.f'\" Xelse Xecho shar: Extracting \"'executor.f'\" \(1936 characters\) Xsed "s/^X//" >'executor.f' <<'END_OF_FILE' XXc XXc------------------------------------------------------------------------------- XXc XX subroutine executor(ledge,lnode,nde,gnorm,w,p,dtl,iflop) XXc XXc------------------------------------------------------------------------------- XXc XX real*8 rm,al,yaw,gamma,rho0,p0,ei0,h0,c0,u0,v0,w0 XX real*8 cfl,bc,vis0,vis1,vis2,hm,smoop XXc XX common/node/ ntotnodes,nonode,noedge XX common/sched/ lesched XX common/offproc/ ne_off_proc XX common/tsp/ cfl,bc,vis0,vis1,vis2,hm,smoop,ncycsm XX common/flw/ rm,al,yaw,gamma,rho0,p0,ei0,h0,c0,u0,v0,w0 XXc XX integer nde(ledge,2) XX real*8 gnorm(ledge,5) XX real*8 dtl(lnode) XX real*8 w(lnode,5),p(lnode) XXc XXc--Local variables XXc XX real*8 cc1,cc2,cs1,cs2,a1,a2,qs,flux1,flux2 XX XXc XXc--Initialize Time Step XXc XX do 50 i=1,nonode XX dtl(i) = 0.0D0 XX 50 continue XXc XXc-- Do all the Gathers XXc XX do 60 kk = 1,4 XX call dfgather(lesched,w(nonode+1,kk),w(1,kk)) XX 60 continue XX call dfgather(lesched,p(nonode+1),p(1)) XX do 63 i = 1,ne_off_proc XX dtl(nonode+i) = 0.0D0 XX 63 continue XXc XXc--Compute Field Time-Steps Using Edge Format XXc XX do 500 i=1,noedge XX n1 = nde(i,1) XX n2 = nde(i,2) XX cc1 = dsqrt(gamma*p(n1)/w(n1,1)) XX cc2 = dsqrt(gamma*p(n2)/w(n2,1)) XX cs1 = cc1*gnorm(i,4) XX cs2 = cc2*gnorm(i,5) XX a1 = (gnorm(i,1)*w(n1,2) + gnorm(i,2)*w(n1,3) XX . + gnorm(i,3)*w(n1,4)) / w(n1,1) XX a2 = (gnorm(i,1)*w(n2,2) + gnorm(i,2)*w(n2,3) XX . + gnorm(i,3)*w(n2,4)) / w(n2,1) XX qs = (a1 + a2) / 2.0D0 XX flux1 = dabs(qs) + cs1 XX flux2 = dabs(qs) + cs2 XX dtl(n1) = dtl(n1) + flux2 XX dtl(n2) = dtl(n2) + flux1 XX 500 continue XX iflop = iflop + (noedge * 28) XXc XXc-- Do all the Scatters XXc XX call dfscatter_add(lesched,dtl(nonode+1),dtl(1)) XXc XX return XX end XEND_OF_FILE Xif test 1936 -ne `wc -c <'executor.f'`; then X echo shar: \"'executor.f'\" unpacked with wrong size! Xfi X# end of 'executor.f' Xfi Xif test -f 'fort.30' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'fort.30'\" Xelse Xecho shar: Extracting \"'fort.30'\" \(108109 characters\) Xsed "s/^X//" >'fort.30' <<'END_OF_FILE' XX 545 XX 141 784 173 XX 6 XX 7 XX 8 XX 9 XX 10 XX 11 XX 12 XX 13 XX 26 XX 27 XX 28 XX 29 XX 30 XX 31 XX 32 XX 51 XX 52 XX 53 XX 54 XX 55 XX 56 XX 57 XX 76 XX 77 XX 78 XX 79 XX 80 XX 81 XX 82 XX 100 XX 101 XX 102 XX 103 XX 104 XX 105 XX 106 XX 107 XX 108 XX 127 XX 128 XX 129 XX 130 XX 131 XX 132 XX 133 XX 147 XX 148 XX 149 XX 150 XX 151 XX 152 XX 172 XX 173 XX 174 XX 175 XX 176 XX 177 XX 196 XX 197 XX 198 XX 199 XX 200 XX 201 XX 202 XX 221 XX 222 XX 223 XX 224 XX 225 XX 226 XX 227 XX 228 XX 248 XX 249 XX 250 XX 251 XX 252 XX 268 XX 269 XX 270 XX 271 XX 272 XX 293 XX 294 XX 295 XX 296 XX 297 XX 317 XX 318 XX 319 XX 320 XX 321 XX 322 XX 341 XX 342 XX 343 XX 344 XX 345 XX 346 XX 347 XX 348 XX 369 XX 370 XX 371 XX 372 XX 373 XX 389 XX 390 XX 391 XX 392 XX 414 XX 415 XX 416 XX 417 XX 438 XX 439 XX 440 XX 441 XX 442 XX 461 XX 462 XX 463 XX 464 XX 465 XX 466 XX 467 XX 468 XX 492 XX 493 XX 518 XX 527 XX 529 XX 530 XX 531 XX 532 XX 540 XX 541 XX 542 XX 543 XX 544 XX 545 XX 6 6 6 3 3 XX 100 500 0 0 0 XX 0.1000000000E+01 0.1000000000E+01 0.0000000000E+00 0.0000000000E+00 0.2000000000E+00 XX 0.2500000000E+00 0.5000000000E+00 2 XX 0.3000000000E+00 0.0000000000E+00 0.0000000000E+00 0.1400000000E+01 0.1000000000E+01 XX 0.1000000000E+01 XX 0.2500000000E+01 0.3563000000E+01 0.1183215957E+01 0.3549647870E+00 0.0000000000E+00 XX 0.0000000000E+00 XX 0.2500000000E+00 0.1666666700E+00 0.3750000000E+00 0.5000000000E+00 0.1000000000E+01 XX 0.0000000000E+00 XX 5 XX 0.1000000000E+01 0.0000000000E+00 0.5600000000E+00 XX 0.0000000000E+00 0.4400000000E+00 XX 0.0000000000E+00 XX 26 26 XX 7 7 XX 147 147 XX 8 8 XX 148 148 XX 9 9 XX 149 149 XX 10 10 XX 150 150 XX 11 11 XX 151 151 XX 12 12 XX 152 152 XX 13 13 XX 172 172 XX 173 173 XX 174 174 XX 175 175 XX 176 176 XX 177 177 XX 196 196 XX 197 197 XX 198 198 XX 199 199 XX 200 200 XX 201 201 XX 202 202 XX 220 220 XX 221 221 XX 222 222 XX 223 223 XX 224 224 XX 225 225 XX 226 226 XX 227 227 XX 228 228 XX 268 268 XX 269 269 XX 270 270 XX 271 271 XX 272 272 XX 294 294 XX 296 296 XX 317 317 XX 319 319 XX 321 321 XX 342 342 XX 344 344 XX 346 346 XX 389 389 XX 390 390 XX 391 391 XX 392 392 XX 414 414 XX 416 416 XX 439 439 XX 441 441 XX 462 462 XX 464 464 XX 466 466 XX 468 468 XX 530 530 XX 532 532 XX 541 541 XX 543 543 XX 27 27 XX 128 128 XX 28 28 XX 147 147 XX 29 29 XX 130 130 XX 30 30 XX 149 149 XX 31 31 XX 132 132 XX 32 32 XX 151 151 XX 13 13 XX 52 52 XX 172 172 XX 54 54 XX 174 174 XX 56 56 XX 176 176 XX 77 77 XX 197 197 XX 79 79 XX 199 199 XX 81 81 XX 201 201 XX 100 100 XX 102 102 XX 222 222 XX 104 104 XX 224 224 XX 106 106 XX 226 226 XX 108 108 XX 228 228 XX 248 248 XX 250 250 XX 269 269 XX 252 252 XX 271 271 XX 293 293 XX 295 295 XX 297 297 XX 318 318 XX 320 320 XX 322 322 XX 341 341 XX 343 343 XX 345 345 XX 347 347 XX 370 370 XX 389 389 XX 372 372 XX 391 391 XX 415 415 XX 417 417 XX 438 438 XX 440 440 XX 442 442 XX 461 461 XX 463 463 XX 465 465 XX 467 467 XX 492 492 XX 527 527 XX 529 529 XX 531 531 XX 540 540 XX 542 542 XX 545 545 XX 6 6 XX 27 27 XX 147 147 XX 28 28 XX 129 129 XX 29 29 XX 148 148 XX 30 30 XX 131 131 XX 31 31 XX 150 150 XX 32 32 XX 133 133 XX 152 152 XX 173 173 XX 53 53 XX 55 55 XX 175 175 XX 57 57 XX 177 177 XX 77 77 XX 196 196 XX 79 79 XX 199 199 XX 80 80 XX 200 200 XX 82 82 XX 202 202 XX 219 219 XX 221 221 XX 103 103 XX 223 223 XX 225 225 XX 105 105 XX 107 107 XX 227 227 XX 268 268 XX 249 249 XX 251 251 XX 270 270 XX 272 272 XX 294 294 XX 317 317 XX 318 318 XX 320 320 XX 321 321 XX 322 322 XX 224 224 XX 346 346 XX 369 369 XX 371 371 XX 390 390 XX 373 373 XX 392 392 XX 438 438 XX 439 439 XX 440 440 XX 441 441 XX 442 442 XX 462 462 XX 463 463 XX 464 464 XX 465 465 XX 467 467 XX 468 468 XX 493 493 XX 518 518 XX 527 527 XX 529 529 XX 530 530 XX 531 531 XX 543 543 XX 544 544 XX 7 7 XX 27 27 XX 148 148 XX 28 28 XX 9 9 XX 29 29 XX 30 30 XX 11 11 XX 31 31 XX 32 32 XX 52 52 XX 172 172 XX 54 54 XX 174 174 XX 55 55 XX 56 56 XX 57 57 XX 78 78 XX 198 198 XX 80 80 XX 200 200 XX 81 81 XX 82 82 XX 196 196 XX 102 102 XX 104 104 XX 224 224 XX 106 106 XX 226 226 XX 107 107 XX 228 228 XX 269 269 XX 270 270 XX 271 271 XX 272 272 XX 293 293 XX 319 319 XX 321 321 XX 322 322 XX 340 340 XX 222 222 XX 223 223 XX 225 225 XX 347 347 XX 389 389 XX 390 390 XX 391 391 XX 392 392 XX 440 440 XX 441 441 XX 442 442 XX 461 461 XX 343 343 XX 344 344 XX 466 466 XX 468 468 XX 529 529 XX 530 530 XX 531 531 XX 532 532 XX 462 462 XX 463 463 XX 541 541 XX 542 542 XX 544 544 XX 127 127 XX 147 147 XX 28 28 XX 148 148 XX 8 8 XX 149 149 XX 29 29 XX 150 150 XX 10 10 XX 151 151 XX 31 31 XX 152 152 XX 12 12 XX 52 52 XX 173 173 XX 175 175 XX 176 176 XX 177 177 XX 76 76 XX 78 78 XX 198 198 XX 201 201 XX 202 202 XX 196 196 XX 102 102 XX 101 101 XX 104 104 XX 223 223 XX 105 105 XX 225 225 XX 227 227 XX 228 228 XX 268 268 XX 293 293 XX 295 295 XX 296 296 XX 297 297 XX 318 318 XX 320 320 XX 341 341 XX 342 342 XX 343 343 XX 344 344 XX 346 346 XX 347 347 XX 348 348 XX 248 248 XX 249 249 XX 250 250 XX 251 251 XX 252 252 XX 414 414 XX 415 415 XX 416 416 XX 417 417 XX 438 438 XX 439 439 XX 345 345 XX 466 466 XX 467 467 XX 373 373 XX 518 518 XX 540 540 XX 465 465 XX 543 543 XX 544 544 XX 541 541 XX 26 26 XX 27 27 XX 29 29 XX 129 129 XX 30 30 XX 31 31 XX 131 131 XX 32 32 XX 133 133 XX 51 51 XX 53 53 XX 174 174 XX 54 54 XX 55 55 XX 56 56 XX 76 76 XX 77 77 XX 78 78 XX 200 200 XX 80 80 XX 82 82 XX 81 81 XX 196 196 XX 101 101 XX 222 222 XX 223 223 XX 103 103 XX 105 105 XX 106 106 XX 204 204 XX 294 294 XX 295 295 XX 296 296 XX 297 297 XX 317 317 XX 319 319 XX 343 343 XX 344 344 XX 345 345 XX 226 226 XX 346 346 XX 227 227 XX 369 369 XX 370 370 XX 371 371 XX 372 372 XX 392 392 XX 373 373 XX 414 414 XX 415 415 XX 416 416 XX 417 417 XX 462 462 XX 342 342 XX 464 464 XX 465 465 XX 347 347 XX 467 467 XX 444 444 XX 518 518 XX 527 527 XX 463 463 XX 542 542 XX 466 466 XX 545 545 XX 540 540 XX 6 6 XX 127 127 XX 148 148 XX 28 28 XX 149 149 XX 130 130 XX 30 30 XX 132 132 XX 32 32 XX 172 172 XX 175 175 XX 176 176 XX 177 177 XX 77 77 XX 197 197 XX 198 198 XX 79 79 XX 78 78 XX 80 80 XX 81 81 XX 82 82 XX 222 222 XX 103 103 XX 224 224 XX 225 225 XX 226 226 XX 227 227 XX 108 108 XX 343 343 XX 344 344 XX 345 345 XX 346 346 XX 347 347 XX 348 348 XX 268 268 XX 269 269 XX 270 270 XX 271 271 XX 293 293 XX 294 294 XX 295 295 XX 296 296 XX 297 297 XX 317 317 XX 322 322 XX 463 463 XX 465 465 XX 466 466 XX 468 468 XX 372 372 XX 414 414 XX 415 415 XX 416 416 XX 530 530 XX 518 518 XX 529 529 XX 539 539 XX 540 540 XX 542 542 XX 467 467 XX 543 543 XX 27 27 XX 147 147 XX 128 128 XX 149 149 XX 150 150 XX 151 151 XX 152 152 XX 133 133 XX 172 172 XX 52 52 XX 76 76 XX 197 197 XX 79 79 XX 199 199 XX 80 80 XX 81 81 XX 201 201 XX 202 202 XX 82 82 XX 222 222 XX 103 103 XX 102 102 XX 104 104 XX 108 108 XX 107 107 XX 129 129 XX 130 130 XX 131 131 XX 132 132 XX 173 173 XX 175 175 XX 343 343 XX 223 223 XX 224 224 XX 345 345 XX 226 226 XX 228 228 XX 348 348 XX 389 389 XX 391 391 XX 272 272 XX 414 414 XX 415 415 XX 416 416 XX 417 417 XX 438 438 XX 441 441 XX 463 463 XX 344 344 XX 346 346 XX 492 492 XX 439 439 XX 531 531 XX 462 462 XX 464 464 XX 465 465 XX 544 544 XX 468 468 XX 545 545 XX 543 543 XX 542 542 XX 26 26 XX 150 150 XX 151 151 XX 152 152 XX 51 51 XX 53 53 XX 173 173 XX 54 54 XX 55 55 XX 175 175 XX 56 56 XX 57 57 XX 197 197 XX 78 78 XX 200 200 XX 202 202 XX 100 100 XX 101 101 XX 103 103 XX 224 224 XX 105 105 XX 225 225 XX 106 106 XX 107 107 XX 227 227 XX 108 108 XX 127 127 XX 128 128 XX 177 177 XX 221 221 XX 342 342 XX 344 344 XX 347 347 XX 348 348 XX 269 269 XX 390 390 XX 271 271 XX 373 373 XX 293 293 XX 415 415 XX 295 295 XX 296 296 XX 319 319 XX 439 439 XX 440 440 XX 321 321 XX 341 341 XX 464 464 XX 346 346 XX 466 466 XX 369 369 XX 371 371 XX 492 492 XX 417 417 XX 438 438 XX 442 442 XX 461 461 XX 540 540 XX 541 541 XX 542 542 XX 543 543 XX 544 544 XX 467 467 XX 545 545 XX 531 531 XX 51 51 XX 53 53 XX 173 173 XX 54 54 XX 174 174 XX 55 55 XX 56 56 XX 176 176 XX 57 57 XX 177 177 XX 198 198 XX 79 79 XX 223 223 XX 104 104 XX 105 105 XX 106 106 XX 226 226 XX 107 107 XX 228 228 XX 108 108 XX 248 248 XX 249 249 XX 269 269 XX 250 250 XX 251 251 XX 252 252 XX 272 272 XX 199 199 XX 201 201 XX 202 202 XX 342 342 XX 222 222 XX 345 345 XX 225 225 XX 227 227 XX 268 268 XX 270 270 XX 392 392 XX 414 414 XX 416 416 XX 439 439 XX 320 320 XX 442 442 XX 462 462 XX 464 464 XX 465 465 XX 467 467 XX 468 468 XX 389 389 XX 370 370 XX 391 391 XX 493 493 XX 518 518 XX 529 529 XX 441 441 XX 532 532 XX 541 541 XX 466 466 XX 545 545 XX 530 530 XX 542 542 XX 52 52 XX 53 53 XX 57 57 XX 199 199 XX 201 201 XX 100 100 XX 228 228 XX 147 147 XX 148 148 XX 150 150 XX 151 151 XX 133 133 XX 172 172 XX 174 174 XX 176 176 XX 198 198 XX 200 200 XX 389 389 XX 391 391 XX 272 272 XX 294 294 XX 417 417 XX 297 297 XX 318 318 XX 438 438 XX 319 319 XX 320 320 XX 442 442 XX 322 322 XX 343 343 XX 345 345 XX 348 348 XX 392 392 XX 493 493 XX 518 518 XX 440 440 XX 527 527 XX 540 540 XX 543 543 XX 544 544 XX 77 77 XX 102 102 XX 268 268 XX 149 149 XX 270 270 XX 271 271 XX 152 152 XX 293 293 XX 294 294 XX 295 295 XX 296 296 XX 297 297 XX 317 317 XX 318 318 XX 319 319 XX 320 320 XX 321 321 XX 322 322 XX 390 390 XX 492 492 XX 417 417 XX 518 518 XX 527 527 XX 530 530 XX 531 531 XX 532 532 XX 529 529 XX 147 147 XX 148 148 XX 149 149 XX 150 150 XX 151 151 XX 172 172 XX 173 173 XX 174 174 XX 175 175 XX 176 176 XX 197 197 XX 198 198 XX 199 199 XX 200 200 XX 201 201 XX 317 317 XX 318 318 XX 440 440 XX 441 441 XX 321 321 XX 390 390 XX 391 391 XX 518 518 XX 439 439 XX 442 442 XX 531 531 XX 530 530 XX 527 527 XX 268 268 XX 269 269 XX 270 270 XX 271 271 XX 272 272 XX 152 152 XX 293 293 XX 294 294 XX 295 295 XX 296 296 XX 297 297 XX 317 317 XX 318 318 XX 319 319 XX 320 320 XX 321 321 XX 322 322 XX 389 389 XX 390 390 XX 392 392 XX 492 492 XX 414 414 XX 415 415 XX 438 438 XX 529 529 XX 440 440 XX 441 441 XX 532 532 XX 530 530 XX 527 527 XX 416 416 XX 527 527 XX 531 531 XX 518 518 XX 177 177 XX 202 202 XX 0.7822887954E-01 0.7822887954E-01 0.7822887954E-01 0.7822887954E-01 0.7822887954E-01 XX 0.5158046501E-01 0.5158046501E-01 0.5158046501E-01 0.5158046501E-01 0.5158046501E-01 XX 0.9047899477E-01 0.9047899477E-01 0.9047899477E-01 0.9047899477E-01 0.9047899477E-01 XX 0.5162126621E-01 0.5162126621E-01 0.5162126621E-01 0.5162126621E-01 0.5162126621E-01 XX 0.9190817007E-01 0.9190817007E-01 0.9190817007E-01 0.9190817007E-01 0.9190817007E-01 XX 0.4804843893E-01 0.4804843893E-01 0.4804843893E-01 0.4804843893E-01 0.4804843893E-01 XX 0.8955197555E-01 0.8955197555E-01 0.8955197555E-01 0.8955197555E-01 0.8955197555E-01 XX 0.4080690792E-01 0.4080690792E-01 0.4080690792E-01 0.4080690792E-01 0.4080690792E-01 XX 0.8384306764E-01 0.8384306764E-01 0.8384306764E-01 0.8384306764E-01 0.8384306764E-01 XX 0.3128887855E-01 0.3128887855E-01 0.3128887855E-01 0.3128887855E-01 0.3128887855E-01 XX 0.7969478790E-01 0.7969478790E-01 0.7969478790E-01 0.7969478790E-01 0.7969478790E-01 XX 0.2234089393E-01 0.2234089393E-01 0.2234089393E-01 0.2234089393E-01 0.2234089393E-01 XX 0.8562509917E-01 0.8562509917E-01 0.8562509917E-01 0.8562509917E-01 0.8562509917E-01 XX 0.8015929873E-02 0.8015929873E-02 0.8015929873E-02 0.8015929873E-02 0.8015929873E-02 XX 0.3999122581E+00 0.3999122581E+00 0.3999122581E+00 0.3999122581E+00 0.3999122581E+00 XX 0.4115748132E+00 0.4115748132E+00 0.4115748132E+00 0.4115748132E+00 0.4115748132E+00 XX 0.4102705677E+00 0.4102705677E+00 0.4102705677E+00 0.4102705677E+00 0.4102705677E+00 XX 0.3979088467E+00 0.3979088467E+00 0.3979088467E+00 0.3979088467E+00 0.3979088467E+00 XX 0.4038550671E+00 0.4038550671E+00 0.4038550671E+00 0.4038550671E+00 0.4038550671E+00 XX 0.4802721301E+00 0.4802721301E+00 0.4802721301E+00 0.4802721301E+00 0.4802721301E+00 XX 0.1019001131E+01 0.1019001131E+01 0.1019001131E+01 0.1019001131E+01 0.1019001131E+01 XX 0.3367275251E+01 0.3367275251E+01 0.3367275251E+01 0.3367275251E+01 0.3367275251E+01 XX 0.3665312120E+01 0.3665312120E+01 0.3665312120E+01 0.3665312120E+01 0.3665312120E+01 XX 0.3912954125E+01 0.3912954125E+01 0.3912954125E+01 0.3912954125E+01 0.3912954125E+01 XX 0.4069528561E+01 0.4069528561E+01 0.4069528561E+01 0.4069528561E+01 0.4069528561E+01 XX 0.4245562595E+01 0.4245562595E+01 0.4245562595E+01 0.4245562595E+01 0.4245562595E+01 XX 0.4684971171E+01 0.4684971171E+01 0.4684971171E+01 0.4684971171E+01 0.4684971171E+01 XX 0.8676625025E+01 0.8676625025E+01 0.8676625025E+01 0.8676625025E+01 0.8676625025E+01 XX 0.3254074961E+01 0.3254074961E+01 0.3254074961E+01 0.3254074961E+01 0.3254074961E+01 XX 0.1108826492E+02 0.1108826492E+02 0.1108826492E+02 0.1108826492E+02 0.1108826492E+02 XX 0.1315145629E+02 0.1315145629E+02 0.1315145629E+02 0.1315145629E+02 0.1315145629E+02 XX 0.1517913395E+02 0.1517913395E+02 0.1517913395E+02 0.1517913395E+02 0.1517913395E+02 XX 0.1672614432E+02 0.1672614432E+02 0.1672614432E+02 0.1672614432E+02 0.1672614432E+02 XX 0.1749393020E+02 0.1749393020E+02 0.1749393020E+02 0.1749393020E+02 0.1749393020E+02 XX 0.1729645625E+02 0.1729645625E+02 0.1729645625E+02 0.1729645625E+02 0.1729645625E+02 XX 0.1899168654E+02 0.1899168654E+02 0.1899168654E+02 0.1899168654E+02 0.1899168654E+02 XX 0.7162984498E-01 0.7162984498E-01 0.7162984498E-01 0.7162984498E-01 0.7162984498E-01 XX 0.6637016897E-01 0.6637016897E-01 0.6637016897E-01 0.6637016897E-01 0.6637016897E-01 XX 0.5566387818E-01 0.5566387818E-01 0.5566387818E-01 0.5566387818E-01 0.5566387818E-01 XX 0.4518742296E-01 0.4518742296E-01 0.4518742296E-01 0.4518742296E-01 0.4518742296E-01 XX 0.4350235189E-01 0.4350235189E-01 0.4350235189E-01 0.4350235189E-01 0.4350235189E-01 XX 0.7908301953E+00 0.7908301953E+00 0.7908301953E+00 0.7908301953E+00 0.7908301953E+00 XX 0.8416194391E+00 0.8416194391E+00 0.8416194391E+00 0.8416194391E+00 0.8416194391E+00 XX 0.1085174561E+02 0.1085174561E+02 0.1085174561E+02 0.1085174561E+02 0.1085174561E+02 XX 0.1108599457E+02 0.1108599457E+02 0.1108599457E+02 0.1108599457E+02 0.1108599457E+02 XX 0.1051406733E+02 0.1051406733E+02 0.1051406733E+02 0.1051406733E+02 0.1051406733E+02 XX 0.1698737787E+02 0.1698737787E+02 0.1698737787E+02 0.1698737787E+02 0.1698737787E+02 XX 0.1736946322E+02 0.1736946322E+02 0.1736946322E+02 0.1736946322E+02 0.1736946322E+02 XX 0.1427342320E+02 0.1427342320E+02 0.1427342320E+02 0.1427342320E+02 0.1427342320E+02 XX 0.4353184022E-01 0.4353184022E-01 0.4353184022E-01 0.4353184022E-01 0.4353184022E-01 XX 0.3653739544E-01 0.3653739544E-01 0.3653739544E-01 0.3653739544E-01 0.3653739544E-01 XX 0.2967068980E-01 0.2967068980E-01 0.2967068980E-01 0.2967068980E-01 0.2967068980E-01 XX 0.2813005238E-01 0.2813005238E-01 0.2813005238E-01 0.2813005238E-01 0.2813005238E-01 XX 0.6125817076E+00 0.6125817076E+00 0.6125817076E+00 0.6125817076E+00 0.6125817076E+00 XX 0.6330558233E+00 0.6330558233E+00 0.6330558233E+00 0.6330558233E+00 0.6330558233E+00 XX 0.9932048580E+01 0.9932048580E+01 0.9932048580E+01 0.9932048580E+01 0.9932048580E+01 XX 0.8283676701E+01 0.8283676701E+01 0.8283676701E+01 0.8283676701E+01 0.8283676701E+01 XX 0.1652125460E+02 0.1652125460E+02 0.1652125460E+02 0.1652125460E+02 0.1652125460E+02 XX 0.1595456016E+02 0.1595456016E+02 0.1595456016E+02 0.1595456016E+02 0.1595456016E+02 XX 0.1106544541E+02 0.1106544541E+02 0.1106544541E+02 0.1106544541E+02 0.1106544541E+02 XX 0.8079404641E+01 0.8079404641E+01 0.8079404641E+01 0.8079404641E+01 0.8079404641E+01 XX 0.1056163758E+02 0.1056163758E+02 0.1056163758E+02 0.1056163758E+02 0.1056163758E+02 XX 0.4067397388E+00 0.4067397388E+00 0.4067397388E+00 0.4067397388E+00 0.4067397388E+00 XX 0.1401225196E+02 0.1401225196E+02 0.1401225196E+02 0.1401225196E+02 0.1401225196E+02 XX 0.9887307972E+01 0.9887307972E+01 0.9887307972E+01 0.9887307972E+01 0.9887307972E+01 XX 0.6646822348E-01 0.6646822348E-01 0.6646822348E-01 0.6646822348E-01 0.6646822348E-01 XX 0.8775189441E-01 0.8775189441E-01 0.8775189441E-01 0.8775189441E-01 0.8775189441E-01 XX 0.6874680548E-01 0.6874680548E-01 0.6874680548E-01 0.6874680548E-01 0.6874680548E-01 XX 0.1745629974E+00 0.1745629974E+00 0.1745629974E+00 0.1745629974E+00 0.1745629974E+00 XX 0.6402660960E-01 0.6402660960E-01 0.6402660960E-01 0.6402660960E-01 0.6402660960E-01 XX 0.7416493565E-01 0.7416493565E-01 0.7416493565E-01 0.7416493565E-01 0.7416493565E-01 XX 0.5069284819E-01 0.5069284819E-01 0.5069284819E-01 0.5069284819E-01 0.5069284819E-01 XX 0.1800972461E+00 0.1800972461E+00 0.1800972461E+00 0.1800972461E+00 0.1800972461E+00 XX 0.4988829272E-01 0.4988829272E-01 0.4988829272E-01 0.4988829272E-01 0.4988829272E-01 XX 0.4221364351E-01 0.4221364351E-01 0.4221364351E-01 0.4221364351E-01 0.4221364351E-01 XX 0.3656523536E-01 0.3656523536E-01 0.3656523536E-01 0.3656523536E-01 0.3656523536E-01 XX 0.1826486531E+00 0.1826486531E+00 0.1826486531E+00 0.1826486531E+00 0.1826486531E+00 XX 0.1497605980E-01 0.1497605980E-01 0.1497605980E-01 0.1497605980E-01 0.1497605980E-01 XX 0.4609245431E+00 0.4609245431E+00 0.4609245431E+00 0.4609245431E+00 0.4609245431E+00 XX 0.1029533025E+01 0.1029533025E+01 0.1029533025E+01 0.1029533025E+01 0.1029533025E+01 XX 0.4603939544E+00 0.4603939544E+00 0.4603939544E+00 0.4603939544E+00 0.4603939544E+00 XX 0.1074609874E+01 0.1074609874E+01 0.1074609874E+01 0.1074609874E+01 0.1074609874E+01 XX 0.4713185382E+00 0.4713185382E+00 0.4713185382E+00 0.4713185382E+00 0.4713185382E+00 XX 0.1125152612E+01 0.1125152612E+01 0.1125152612E+01 0.1125152612E+01 0.1125152612E+01 XX 0.3687688941E+01 0.3687688941E+01 0.3687688941E+01 0.3687688941E+01 0.3687688941E+01 XX 0.1200998635E+02 0.1200998635E+02 0.1200998635E+02 0.1200998635E+02 0.1200998635E+02 XX 0.4286287992E+01 0.4286287992E+01 0.4286287992E+01 0.4286287992E+01 0.4286287992E+01 XX 0.1298612500E+02 0.1298612500E+02 0.1298612500E+02 0.1298612500E+02 0.1298612500E+02 XX 0.4775586802E+01 0.4775586802E+01 0.4775586802E+01 0.4775586802E+01 0.4775586802E+01 XX 0.1307213203E+02 0.1307213203E+02 0.1307213203E+02 0.1307213203E+02 0.1307213203E+02 XX 0.1036697944E+02 0.1036697944E+02 0.1036697944E+02 0.1036697944E+02 0.1036697944E+02 XX 0.1258070116E+02 0.1258070116E+02 0.1258070116E+02 0.1258070116E+02 0.1258070116E+02 XX 0.1786005020E+02 0.1786005020E+02 0.1786005020E+02 0.1786005020E+02 0.1786005020E+02 XX 0.1644624015E+02 0.1644624015E+02 0.1644624015E+02 0.1644624015E+02 0.1644624015E+02 XX 0.1936052778E+02 0.1936052778E+02 0.1936052778E+02 0.1936052778E+02 0.1936052778E+02 XX 0.1830092418E+02 0.1830092418E+02 0.1830092418E+02 0.1830092418E+02 0.1830092418E+02 XX 0.1788633985E+02 0.1788633985E+02 0.1788633985E+02 0.1788633985E+02 0.1788633985E+02 XX 0.1495376337E+02 0.1495376337E+02 0.1495376337E+02 0.1495376337E+02 0.1495376337E+02 XX 0.1666480948E+02 0.1666480948E+02 0.1666480948E+02 0.1666480948E+02 0.1666480948E+02 XX 0.4247000364E-01 0.4247000364E-01 0.4247000364E-01 0.4247000364E-01 0.4247000364E-01 XX 0.3851000731E-01 0.3851000731E-01 0.3851000731E-01 0.3851000731E-01 0.3851000731E-01 XX 0.1248879637E+00 0.1248879637E+00 0.1248879637E+00 0.1248879637E+00 0.1248879637E+00 XX 0.2949496849E-01 0.2949496849E-01 0.2949496849E-01 0.2949496849E-01 0.2949496849E-01 XX 0.1327771452E+00 0.1327771452E+00 0.1327771452E+00 0.1327771452E+00 0.1327771452E+00 XX 0.7742397576E+00 0.7742397576E+00 0.7742397576E+00 0.7742397576E+00 0.7742397576E+00 XX 0.8068719238E+00 0.8068719238E+00 0.8068719238E+00 0.8068719238E+00 0.8068719238E+00 XX 0.8967598375E+00 0.8967598375E+00 0.8967598375E+00 0.8967598375E+00 0.8967598375E+00 XX 0.1097631588E+02 0.1097631588E+02 0.1097631588E+02 0.1097631588E+02 0.1097631588E+02 XX 0.1098105187E+02 0.1098105187E+02 0.1098105187E+02 0.1098105187E+02 0.1098105187E+02 XX 0.9585038459E+01 0.9585038459E+01 0.9585038459E+01 0.9585038459E+01 0.9585038459E+01 XX 0.1634382800E+02 0.1634382800E+02 0.1634382800E+02 0.1634382800E+02 0.1634382800E+02 XX 0.1751632618E+02 0.1751632618E+02 0.1751632618E+02 0.1751632618E+02 0.1751632618E+02 XX 0.1626428366E+02 0.1626428366E+02 0.1626428366E+02 0.1626428366E+02 0.1626428366E+02 XX 0.1172351700E+02 0.1172351700E+02 0.1172351700E+02 0.1172351700E+02 0.1172351700E+02 XX 0.2483631102E-01 0.2483631102E-01 0.2483631102E-01 0.2483631102E-01 0.2483631102E-01 XX 0.8189495308E-01 0.8189495308E-01 0.8189495308E-01 0.8189495308E-01 0.8189495308E-01 XX 0.1950959634E-01 0.1950959634E-01 0.1950959634E-01 0.1950959634E-01 0.1950959634E-01 XX 0.9252738464E-01 0.9252738464E-01 0.9252738464E-01 0.9252738464E-01 0.9252738464E-01 XX 0.6218927393E+00 0.6218927393E+00 0.6218927393E+00 0.6218927393E+00 0.6218927393E+00 XX 0.6264023605E+00 0.6264023605E+00 0.6264023605E+00 0.6264023605E+00 0.6264023605E+00 XX 0.1023387628E+02 0.1023387628E+02 0.1023387628E+02 0.1023387628E+02 0.1023387628E+02 XX 0.9336240869E+01 0.9336240869E+01 0.9336240869E+01 0.9336240869E+01 0.9336240869E+01 XX 0.6511518604E+01 0.6511518604E+01 0.6511518604E+01 0.6511518604E+01 0.6511518604E+01 XX 0.1598170438E+02 0.1598170438E+02 0.1598170438E+02 0.1598170438E+02 0.1598170438E+02 XX 0.1671954871E+02 0.1671954871E+02 0.1671954871E+02 0.1671954871E+02 0.1671954871E+02 XX 0.1400901157E+02 0.1400901157E+02 0.1400901157E+02 0.1400901157E+02 0.1400901157E+02 XX 0.7468235630E+01 0.7468235630E+01 0.7468235630E+01 0.7468235630E+01 0.7468235630E+01 XX 0.1687987347E-01 0.1687987347E-01 0.1687987347E-01 0.1687987347E-01 0.1687987347E-01 XX 0.1612780017E+02 0.1612780017E+02 0.1612780017E+02 0.1612780017E+02 0.1612780017E+02 XX 0.1330101573E+02 0.1330101573E+02 0.1330101573E+02 0.1330101573E+02 0.1330101573E+02 XX 0.6306918402E+00 0.6306918402E+00 0.6306918402E+00 0.6306918402E+00 0.6306918402E+00 XX 0.1460849308E+02 0.1460849308E+02 0.1460849308E+02 0.1460849308E+02 0.1460849308E+02 XX 0.1241672286E+02 0.1241672286E+02 0.1241672286E+02 0.1241672286E+02 0.1241672286E+02 XX 0.4410276882E+01 0.4410276882E+01 0.4410276882E+01 0.4410276882E+01 0.4410276882E+01 XX 0.5259475926E-01 0.5259475926E-01 0.5259475926E-01 0.5259475926E-01 0.5259475926E-01 XX 0.6931007640E-01 0.6931007640E-01 0.6931007640E-01 0.6931007640E-01 0.6931007640E-01 XX 0.1020554794E+00 0.1020554794E+00 0.1020554794E+00 0.1020554794E+00 0.1020554794E+00 XX 0.6734980826E-01 0.6734980826E-01 0.6734980826E-01 0.6734980826E-01 0.6734980826E-01 XX 0.8476351284E-01 0.8476351284E-01 0.8476351284E-01 0.8476351284E-01 0.8476351284E-01 XX 0.6215574940E-01 0.6215574940E-01 0.6215574940E-01 0.6215574940E-01 0.6215574940E-01 XX 0.1787093940E+00 0.1787093940E+00 0.1787093940E+00 0.1787093940E+00 0.1787093940E+00 XX 0.5666356251E-01 0.5666356251E-01 0.5666356251E-01 0.5666356251E-01 0.5666356251E-01 XX 0.5786015176E-01 0.5786015176E-01 0.5786015176E-01 0.5786015176E-01 0.5786015176E-01 XX 0.3988111103E-01 0.3988111103E-01 0.3988111103E-01 0.3988111103E-01 0.3988111103E-01 XX 0.1780211398E+00 0.1780211398E+00 0.1780211398E+00 0.1780211398E+00 0.1780211398E+00 XX 0.4982895436E-01 0.4982895436E-01 0.4982895436E-01 0.4982895436E-01 0.4982895436E-01 XX 0.3514418945E-01 0.3514418945E-01 0.3514418945E-01 0.3514418945E-01 0.3514418945E-01 XX 0.1972509610E+00 0.1972509610E+00 0.1972509610E+00 0.1972509610E+00 0.1972509610E+00 XX 0.6081593990E+00 0.6081593990E+00 0.6081593990E+00 0.6081593990E+00 0.6081593990E+00 XX 0.4684397170E+00 0.4684397170E+00 0.4684397170E+00 0.4684397170E+00 0.4684397170E+00 XX 0.4451372170E+00 0.4451372170E+00 0.4451372170E+00 0.4451372170E+00 0.4451372170E+00 XX 0.1085457747E+01 0.1085457747E+01 0.1085457747E+01 0.1085457747E+01 0.1085457747E+01 XX 0.5721731952E+00 0.5721731952E+00 0.5721731952E+00 0.5721731952E+00 0.5721731952E+00 XX 0.1214161724E+01 0.1214161724E+01 0.1214161724E+01 0.1214161724E+01 0.1214161724E+01 XX 0.1085909223E+01 0.1085909223E+01 0.1085909223E+01 0.1085909223E+01 0.1085909223E+01 XX 0.1179440343E+02 0.1179440343E+02 0.1179440343E+02 0.1179440343E+02 0.1179440343E+02 XX 0.1320998039E+01 0.1320998039E+01 0.1320998039E+01 0.1320998039E+01 0.1320998039E+01 XX 0.7076566099E+01 0.7076566099E+01 0.7076566099E+01 0.7076566099E+01 0.7076566099E+01 XX 0.4474983392E+01 0.4474983392E+01 0.4474983392E+01 0.4474983392E+01 0.4474983392E+01 XX 0.1324590030E+02 0.1324590030E+02 0.1324590030E+02 0.1324590030E+02 0.1324590030E+02 XX 0.5377400917E+01 0.5377400917E+01 0.5377400917E+01 0.5377400917E+01 0.5377400917E+01 XX 0.1241648575E+02 0.1241648575E+02 0.1241648575E+02 0.1241648575E+02 0.1241648575E+02 XX 0.9092286755E+01 0.9092286755E+01 0.9092286755E+01 0.9092286755E+01 0.9092286755E+01 XX 0.1699474058E+02 0.1699474058E+02 0.1699474058E+02 0.1699474058E+02 0.1699474058E+02 XX 0.1549052411E+02 0.1549052411E+02 0.1549052411E+02 0.1549052411E+02 0.1549052411E+02 XX 0.1197740099E+02 0.1197740099E+02 0.1197740099E+02 0.1197740099E+02 0.1197740099E+02 XX 0.1516119990E+02 0.1516119990E+02 0.1516119990E+02 0.1516119990E+02 0.1516119990E+02 XX 0.1778390853E+02 0.1778390853E+02 0.1778390853E+02 0.1778390853E+02 0.1778390853E+02 XX 0.1788201852E+02 0.1788201852E+02 0.1788201852E+02 0.1788201852E+02 0.1788201852E+02 XX 0.1595071859E+02 0.1595071859E+02 0.1595071859E+02 0.1595071859E+02 0.1595071859E+02 XX 0.3516068048E-01 0.3516068048E-01 0.3516068048E-01 0.3516068048E-01 0.3516068048E-01 XX 0.4153291752E-01 0.4153291752E-01 0.4153291752E-01 0.4153291752E-01 0.4153291752E-01 XX 0.3388545159E-01 0.3388545159E-01 0.3388545159E-01 0.3388545159E-01 0.3388545159E-01 XX 0.1263499424E+00 0.1263499424E+00 0.1263499424E+00 0.1263499424E+00 0.1263499424E+00 XX 0.1436966022E+00 0.1436966022E+00 0.1436966022E+00 0.1436966022E+00 0.1436966022E+00 XX 0.1297278062E+00 0.1297278062E+00 0.1297278062E+00 0.1297278062E+00 0.1297278062E+00 XX 0.8019152178E+00 0.8019152178E+00 0.8019152178E+00 0.8019152178E+00 0.8019152178E+00 XX 0.8834737107E+00 0.8834737107E+00 0.8834737107E+00 0.8834737107E+00 0.8834737107E+00 XX 0.9545792677E+00 0.9545792677E+00 0.9545792677E+00 0.9545792677E+00 0.9545792677E+00 XX 0.9731590790E+00 0.9731590790E+00 0.9731590790E+00 0.9731590790E+00 0.9731590790E+00 XX 0.1107408767E+01 0.1107408767E+01 0.1107408767E+01 0.1107408767E+01 0.1107408767E+01 XX 0.1625200666E+02 0.1625200666E+02 0.1625200666E+02 0.1625200666E+02 0.1625200666E+02 XX 0.1442906307E+02 0.1442906307E+02 0.1442906307E+02 0.1442906307E+02 0.1442906307E+02 XX 0.2670934023E-01 0.2670934023E-01 0.2670934023E-01 0.2670934023E-01 0.2670934023E-01 XX 0.2203202286E-01 0.2203202286E-01 0.2203202286E-01 0.2203202286E-01 0.2203202286E-01 XX 0.8562070087E-01 0.8562070087E-01 0.8562070087E-01 0.8562070087E-01 0.8562070087E-01 XX 0.1834632535E-01 0.1834632535E-01 0.1834632535E-01 0.1834632535E-01 0.1834632535E-01 XX 0.9999525260E-01 0.9999525260E-01 0.9999525260E-01 0.9999525260E-01 0.9999525260E-01 XX 0.7349148652E+00 0.7349148652E+00 0.7349148652E+00 0.7349148652E+00 0.7349148652E+00 XX 0.7607428833E+00 0.7607428833E+00 0.7607428833E+00 0.7607428833E+00 0.7607428833E+00 XX 0.7425164623E+00 0.7425164623E+00 0.7425164623E+00 0.7425164623E+00 0.7425164623E+00 XX 0.7133131693E+00 0.7133131693E+00 0.7133131693E+00 0.7133131693E+00 0.7133131693E+00 XX 0.7510644381E+00 0.7510644381E+00 0.7510644381E+00 0.7510644381E+00 0.7510644381E+00 XX 0.1076625371E+02 0.1076625371E+02 0.1076625371E+02 0.1076625371E+02 0.1076625371E+02 XX 0.1230543413E+02 0.1230543413E+02 0.1230543413E+02 0.1230543413E+02 0.1230543413E+02 XX 0.1312805983E+02 0.1312805983E+02 0.1312805983E+02 0.1312805983E+02 0.1312805983E+02 XX 0.1281389798E+02 0.1281389798E+02 0.1281389798E+02 0.1281389798E+02 0.1281389798E+02 XX 0.9561989209E+01 0.9561989209E+01 0.9561989209E+01 0.9561989209E+01 0.9561989209E+01 XX 0.9228610152E+01 0.9228610152E+01 0.9228610152E+01 0.9228610152E+01 0.9228610152E+01 XX 0.1641405126E-01 0.1641405126E-01 0.1641405126E-01 0.1641405126E-01 0.1641405126E-01 XX 0.6799161387E+00 0.6799161387E+00 0.6799161387E+00 0.6799161387E+00 0.6799161387E+00 XX 0.9285085023E+00 0.9285085023E+00 0.9285085023E+00 0.9285085023E+00 0.9285085023E+00 XX 0.8767874044E+00 0.8767874044E+00 0.8767874044E+00 0.8767874044E+00 0.8767874044E+00 XX 0.7643870985E+00 0.7643870985E+00 0.7643870985E+00 0.7643870985E+00 0.7643870985E+00 XX 0.6847701577E+01 0.6847701577E+01 0.6847701577E+01 0.6847701577E+01 0.6847701577E+01 XX 0.9359211515E+01 0.9359211515E+01 0.9359211515E+01 0.9359211515E+01 0.9359211515E+01 XX 0.6925973196E+01 0.6925973196E+01 0.6925973196E+01 0.6925973196E+01 0.6925973196E+01 XX 0.4790728678E-01 0.4790728678E-01 0.4790728678E-01 0.4790728678E-01 0.4790728678E-01 XX 0.5760732197E-01 0.5760732197E-01 0.5760732197E-01 0.5760732197E-01 0.5760732197E-01 XX 0.5136670280E-01 0.5136670280E-01 0.5136670280E-01 0.5136670280E-01 0.5136670280E-01 XX 0.5669202106E-01 0.5669202106E-01 0.5669202106E-01 0.5669202106E-01 0.5669202106E-01 XX 0.4030187299E-01 0.4030187299E-01 0.4030187299E-01 0.4030187299E-01 0.4030187299E-01 XX 0.5173927545E-01 0.5173927545E-01 0.5173927545E-01 0.5173927545E-01 0.5173927545E-01 XX 0.4420938673E-01 0.4420938673E-01 0.4420938673E-01 0.4420938673E-01 0.4420938673E-01 XX 0.2368321168E-01 0.2368321168E-01 0.2368321168E-01 0.2368321168E-01 0.2368321168E-01 XX 0.4001455513E-01 0.4001455513E-01 0.4001455513E-01 0.4001455513E-01 0.4001455513E-01 XX 0.4159160910E-01 0.4159160910E-01 0.4159160910E-01 0.4159160910E-01 0.4159160910E-01 XX 0.1853260165E+00 0.1853260165E+00 0.1853260165E+00 0.1853260165E+00 0.1853260165E+00 XX 0.5394834204E+00 0.5394834204E+00 0.5394834204E+00 0.5394834204E+00 0.5394834204E+00 XX 0.1951502330E+00 0.1951502330E+00 0.1951502330E+00 0.1951502330E+00 0.1951502330E+00 XX 0.6700661781E+00 0.6700661781E+00 0.6700661781E+00 0.6700661781E+00 0.6700661781E+00 XX 0.1872712020E+00 0.1872712020E+00 0.1872712020E+00 0.1872712020E+00 0.1872712020E+00 XX 0.1858030634E+00 0.1858030634E+00 0.1858030634E+00 0.1858030634E+00 0.1858030634E+00 XX 0.2154323122E+00 0.2154323122E+00 0.2154323122E+00 0.2154323122E+00 0.2154323122E+00 XX 0.1212894828E+01 0.1212894828E+01 0.1212894828E+01 0.1212894828E+01 0.1212894828E+01 XX 0.5758291059E+01 0.5758291059E+01 0.5758291059E+01 0.5758291059E+01 0.5758291059E+01 XX 0.1384339887E+01 0.1384339887E+01 0.1384339887E+01 0.1384339887E+01 0.1384339887E+01 XX 0.8240109056E+01 0.8240109056E+01 0.8240109056E+01 0.8240109056E+01 0.8240109056E+01 XX 0.1449272823E+01 0.1449272823E+01 0.1449272823E+01 0.1449272823E+01 0.1449272823E+01 XX 0.1617398190E+01 0.1617398190E+01 0.1617398190E+01 0.1617398190E+01 0.1617398190E+01 XX 0.2942517487E+01 0.2942517487E+01 0.2942517487E+01 0.2942517487E+01 0.2942517487E+01 XX 0.1298804197E+02 0.1298804197E+02 0.1298804197E+02 0.1298804197E+02 0.1298804197E+02 XX 0.1809442992E+02 0.1809442992E+02 0.1809442992E+02 0.1809442992E+02 0.1809442992E+02 XX 0.1387165839E+02 0.1387165839E+02 0.1387165839E+02 0.1387165839E+02 0.1387165839E+02 XX 0.2099452394E+02 0.2099452394E+02 0.2099452394E+02 0.2099452394E+02 0.2099452394E+02 XX 0.1555702819E+02 0.1555702819E+02 0.1555702819E+02 0.1555702819E+02 0.1555702819E+02 XX 0.2093324065E+02 0.2093324065E+02 0.2093324065E+02 0.2093324065E+02 0.2093324065E+02 XX 0.1470698099E+02 0.1470698099E+02 0.1470698099E+02 0.1470698099E+02 0.1470698099E+02 XX 0.3455460048E-01 0.3455460048E-01 0.3455460048E-01 0.3455460048E-01 0.3455460048E-01 XX 0.3154908538E-01 0.3154908538E-01 0.3154908538E-01 0.3154908538E-01 0.3154908538E-01 XX 0.2712849501E-01 0.2712849501E-01 0.2712849501E-01 0.2712849501E-01 0.2712849501E-01 XX 0.2588291429E-01 0.2588291429E-01 0.2588291429E-01 0.2588291429E-01 0.2588291429E-01 XX 0.1286104721E+00 0.1286104721E+00 0.1286104721E+00 0.1286104721E+00 0.1286104721E+00 XX 0.9377158772E+00 0.9377158772E+00 0.9377158772E+00 0.9377158772E+00 0.9377158772E+00 XX 0.7926287512E+00 0.7926287512E+00 0.7926287512E+00 0.7926287512E+00 0.7926287512E+00 XX 0.8176360962E+00 0.8176360962E+00 0.8176360962E+00 0.8176360962E+00 0.8176360962E+00 XX 0.8729780562E+01 0.8729780562E+01 0.8729780562E+01 0.8729780562E+01 0.8729780562E+01 XX 0.1232874564E+02 0.1232874564E+02 0.1232874564E+02 0.1232874564E+02 0.1232874564E+02 XX 0.1440285711E+02 0.1440285711E+02 0.1440285711E+02 0.1440285711E+02 0.1440285711E+02 XX 0.1726804209E+02 0.1726804209E+02 0.1726804209E+02 0.1726804209E+02 0.1726804209E+02 XX 0.1348651315E+02 0.1348651315E+02 0.1348651315E+02 0.1348651315E+02 0.1348651315E+02 XX 0.2238012288E-01 0.2238012288E-01 0.2238012288E-01 0.2238012288E-01 0.2238012288E-01 XX 0.2048920779E-01 0.2048920779E-01 0.2048920779E-01 0.2048920779E-01 0.2048920779E-01 XX 0.1773865090E-01 0.1773865090E-01 0.1773865090E-01 0.1773865090E-01 0.1773865090E-01 XX 0.1717659100E-01 0.1717659100E-01 0.1717659100E-01 0.1717659100E-01 0.1717659100E-01 XX 0.6340080901E+00 0.6340080901E+00 0.6340080901E+00 0.6340080901E+00 0.6340080901E+00 XX 0.6162353323E+00 0.6162353323E+00 0.6162353323E+00 0.6162353323E+00 0.6162353323E+00 XX 0.5938689120E+00 0.5938689120E+00 0.5938689120E+00 0.5938689120E+00 0.5938689120E+00 XX 0.2970839428E+01 0.2970839428E+01 0.2970839428E+01 0.2970839428E+01 0.2970839428E+01 XX 0.1336971130E+02 0.1336971130E+02 0.1336971130E+02 0.1336971130E+02 0.1336971130E+02 XX 0.1453340513E+02 0.1453340513E+02 0.1453340513E+02 0.1453340513E+02 0.1453340513E+02 XX 0.1146175088E+02 0.1146175088E+02 0.1146175088E+02 0.1146175088E+02 0.1146175088E+02 XX 0.7963112061E+01 0.7963112061E+01 0.7963112061E+01 0.7963112061E+01 0.7963112061E+01 XX 0.7096021224E+00 0.7096021224E+00 0.7096021224E+00 0.7096021224E+00 0.7096021224E+00 XX 0.6329327297E+00 0.6329327297E+00 0.6329327297E+00 0.6329327297E+00 0.6329327297E+00 XX 0.5354204443E+00 0.5354204443E+00 0.5354204443E+00 0.5354204443E+00 0.5354204443E+00 XX 0.3756755572E+00 0.3756755572E+00 0.3756755572E+00 0.3756755572E+00 0.3756755572E+00 XX 0.1141559140E+02 0.1141559140E+02 0.1141559140E+02 0.1141559140E+02 0.1141559140E+02 XX 0.1302813877E+02 0.1302813877E+02 0.1302813877E+02 0.1302813877E+02 0.1302813877E+02 XX 0.1246356744E+02 0.1246356744E+02 0.1246356744E+02 0.1246356744E+02 0.1246356744E+02 XX 0.1151517674E+02 0.1151517674E+02 0.1151517674E+02 0.1151517674E+02 0.1151517674E+02 XX 0.6745877442E+01 0.6745877442E+01 0.6745877442E+01 0.6745877442E+01 0.6745877442E+01 XX 0.8465632113E-01 0.8465632113E-01 0.8465632113E-01 0.8465632113E-01 0.8465632113E-01 XX 0.4959161787E-01 0.4959161787E-01 0.4959161787E-01 0.4959161787E-01 0.4959161787E-01 XX 0.4126940663E-01 0.4126940663E-01 0.4126940663E-01 0.4126940663E-01 0.4126940663E-01 XX 0.1030427179E+00 0.1030427179E+00 0.1030427179E+00 0.1030427179E+00 0.1030427179E+00 XX 0.4606227891E-01 0.4606227891E-01 0.4606227891E-01 0.4606227891E-01 0.4606227891E-01 XX 0.9545743551E-01 0.9545743551E-01 0.9545743551E-01 0.9545743551E-01 0.9545743551E-01 XX 0.9460622541E-01 0.9460622541E-01 0.9460622541E-01 0.9460622541E-01 0.9460622541E-01 XX 0.8011924987E-01 0.8011924987E-01 0.8011924987E-01 0.8011924987E-01 0.8011924987E-01 XX 0.3181703509E-01 0.3181703509E-01 0.3181703509E-01 0.3181703509E-01 0.3181703509E-01 XX 0.6517790533E-01 0.6517790533E-01 0.6517790533E-01 0.6517790533E-01 0.6517790533E-01 XX 0.8622163403E-01 0.8622163403E-01 0.8622163403E-01 0.8622163403E-01 0.8622163403E-01 XX 0.6273813926E-01 0.6273813926E-01 0.6273813926E-01 0.6273813926E-01 0.6273813926E-01 XX 0.1741656429E-01 0.1741656429E-01 0.1741656429E-01 0.1741656429E-01 0.1741656429E-01 XX 0.1487194467E+00 0.1487194467E+00 0.1487194467E+00 0.1487194467E+00 0.1487194467E+00 XX 0.1053739289E+01 0.1053739289E+01 0.1053739289E+01 0.1053739289E+01 0.1053739289E+01 XX 0.7056930704E+00 0.7056930704E+00 0.7056930704E+00 0.7056930704E+00 0.7056930704E+00 XX 0.7226894399E+00 0.7226894399E+00 0.7226894399E+00 0.7226894399E+00 0.7226894399E+00 XX 0.7933308716E+00 0.7933308716E+00 0.7933308716E+00 0.7933308716E+00 0.7933308716E+00 XX 0.5694761793E+00 0.5694761793E+00 0.5694761793E+00 0.5694761793E+00 0.5694761793E+00 XX 0.8901068782E+00 0.8901068782E+00 0.8901068782E+00 0.8901068782E+00 0.8901068782E+00 XX 0.1247493101E+02 0.1247493101E+02 0.1247493101E+02 0.1247493101E+02 0.1247493101E+02 XX 0.9117404280E+01 0.9117404280E+01 0.9117404280E+01 0.9117404280E+01 0.9117404280E+01 XX 0.9820619785E+01 0.9820619785E+01 0.9820619785E+01 0.9820619785E+01 0.9820619785E+01 XX 0.9198756035E+01 0.9198756035E+01 0.9198756035E+01 0.9198756035E+01 0.9198756035E+01 XX 0.7890169680E+01 0.7890169680E+01 0.7890169680E+01 0.7890169680E+01 0.7890169680E+01 XX 0.1103299556E+02 0.1103299556E+02 0.1103299556E+02 0.1103299556E+02 0.1103299556E+02 XX 0.1305671020E+02 0.1305671020E+02 0.1305671020E+02 0.1305671020E+02 0.1305671020E+02 XX 0.1882651484E+02 0.1882651484E+02 0.1882651484E+02 0.1882651484E+02 0.1882651484E+02 XX 0.2006191469E+02 0.2006191469E+02 0.2006191469E+02 0.2006191469E+02 0.2006191469E+02 XX 0.1907436643E+02 0.1907436643E+02 0.1907436643E+02 0.1907436643E+02 0.1907436643E+02 XX 0.1522641550E+02 0.1522641550E+02 0.1522641550E+02 0.1522641550E+02 0.1522641550E+02 XX 0.1470698099E+02 0.1470698099E+02 0.1470698099E+02 0.1470698099E+02 0.1470698099E+02 XX 0.1219793267E+00 0.1219793267E+00 0.1219793267E+00 0.1219793267E+00 0.1219793267E+00 XX 0.8738229502E-01 0.8738229502E-01 0.8738229502E-01 0.8738229502E-01 0.8738229502E-01 XX 0.1248323698E+00 0.1248323698E+00 0.1248323698E+00 0.1248323698E+00 0.1248323698E+00 XX 0.1268049351E+00 0.1268049351E+00 0.1268049351E+00 0.1268049351E+00 0.1268049351E+00 XX 0.1585252027E+00 0.1585252027E+00 0.1585252027E+00 0.1585252027E+00 0.1585252027E+00 XX 0.6903746160E+00 0.6903746160E+00 0.6903746160E+00 0.6903746160E+00 0.6903746160E+00 XX 0.7824419514E+00 0.7824419514E+00 0.7824419514E+00 0.7824419514E+00 0.7824419514E+00 XX 0.3173158183E+01 0.3173158183E+01 0.3173158183E+01 0.3173158183E+01 0.3173158183E+01 XX 0.1299048391E+02 0.1299048391E+02 0.1299048391E+02 0.1299048391E+02 0.1299048391E+02 XX 0.1166016389E+02 0.1166016389E+02 0.1166016389E+02 0.1166016389E+02 0.1166016389E+02 XX 0.1635351822E+02 0.1635351822E+02 0.1635351822E+02 0.1635351822E+02 0.1635351822E+02 XX 0.1661469634E+02 0.1661469634E+02 0.1661469634E+02 0.1661469634E+02 0.1661469634E+02 XX 0.1578682809E+02 0.1578682809E+02 0.1578682809E+02 0.1578682809E+02 0.1578682809E+02 XX 0.1735915260E+02 0.1735915260E+02 0.1735915260E+02 0.1735915260E+02 0.1735915260E+02 XX 0.2460080049E-01 0.2460080049E-01 0.2460080049E-01 0.2460080049E-01 0.2460080049E-01 XX 0.2285931009E-01 0.2285931009E-01 0.2285931009E-01 0.2285931009E-01 0.2285931009E-01 XX 0.1945944386E-01 0.1945944386E-01 0.1945944386E-01 0.1945944386E-01 0.1945944386E-01 XX 0.1504890840E-01 0.1504890840E-01 0.1504890840E-01 0.1504890840E-01 0.1504890840E-01 XX 0.1118215286E-01 0.1118215286E-01 0.1118215286E-01 0.1118215286E-01 0.1118215286E-01 XX 0.8729783815E-01 0.8729783815E-01 0.8729783815E-01 0.8729783815E-01 0.8729783815E-01 XX 0.8361857097E-01 0.8361857097E-01 0.8361857097E-01 0.8361857097E-01 0.8361857097E-01 XX 0.8378447930E-01 0.8378447930E-01 0.8378447930E-01 0.8378447930E-01 0.8378447930E-01 XX 0.1020210530E+00 0.1020210530E+00 0.1020210530E+00 0.1020210530E+00 0.1020210530E+00 XX 0.5800600818E+00 0.5800600818E+00 0.5800600818E+00 0.5800600818E+00 0.5800600818E+00 XX 0.6215662267E+00 0.6215662267E+00 0.6215662267E+00 0.6215662267E+00 0.6215662267E+00 XX 0.1456437024E+02 0.1456437024E+02 0.1456437024E+02 0.1456437024E+02 0.1456437024E+02 XX 0.1346980720E+02 0.1346980720E+02 0.1346980720E+02 0.1346980720E+02 0.1346980720E+02 XX 0.1145123457E+02 0.1145123457E+02 0.1145123457E+02 0.1145123457E+02 0.1145123457E+02 XX 0.3089221685E-02 0.3089221685E-02 0.3089221685E-02 0.3089221685E-02 0.3089221685E-02 XX 0.8741014475E-01 0.8741014475E-01 0.8741014475E-01 0.8741014475E-01 0.8741014475E-01 XX 0.1199276805E+02 0.1199276805E+02 0.1199276805E+02 0.1199276805E+02 0.1199276805E+02 XX 0.1286216996E+02 0.1286216996E+02 0.1286216996E+02 0.1286216996E+02 0.1286216996E+02 XX 0.1304744878E+02 0.1304744878E+02 0.1304744878E+02 0.1304744878E+02 0.1304744878E+02 XX 0.8896274911E+01 0.8896274911E+01 0.8896274911E+01 0.8896274911E+01 0.8896274911E+01 XX 0.1231248177E+02 0.1231248177E+02 0.1231248177E+02 0.1231248177E+02 0.1231248177E+02 XX 0.5530810290E-01 0.5530810290E-01 0.5530810290E-01 0.5530810290E-01 0.5530810290E-01 XX 0.9854617255E-01 0.9854617255E-01 0.9854617255E-01 0.9854617255E-01 0.9854617255E-01 XX 0.4035720139E-01 0.4035720139E-01 0.4035720139E-01 0.4035720139E-01 0.4035720139E-01 XX 0.5998577214E-01 0.5998577214E-01 0.5998577214E-01 0.5998577214E-01 0.5998577214E-01 XX 0.3634981200E-01 0.3634981200E-01 0.3634981200E-01 0.3634981200E-01 0.3634981200E-01 XX 0.3030987690E-01 0.3030987690E-01 0.3030987690E-01 0.3030987690E-01 0.3030987690E-01 XX 0.4860133136E-01 0.4860133136E-01 0.4860133136E-01 0.4860133136E-01 0.4860133136E-01 XX 0.2634670804E-01 0.2634670804E-01 0.2634670804E-01 0.2634670804E-01 0.2634670804E-01 XX 0.3760773985E-01 0.3760773985E-01 0.3760773985E-01 0.3760773985E-01 0.3760773985E-01 XX 0.4442187624E+00 0.4442187624E+00 0.4442187624E+00 0.4442187624E+00 0.4442187624E+00 XX 0.1941705783E+00 0.1941705783E+00 0.1941705783E+00 0.1941705783E+00 0.1941705783E+00 XX 0.1946643277E+00 0.1946643277E+00 0.1946643277E+00 0.1946643277E+00 0.1946643277E+00 XX 0.1642341865E+00 0.1642341865E+00 0.1642341865E+00 0.1642341865E+00 0.1642341865E+00 XX 0.1579939425E+00 0.1579939425E+00 0.1579939425E+00 0.1579939425E+00 0.1579939425E+00 XX 0.1667976320E+00 0.1667976320E+00 0.1667976320E+00 0.1667976320E+00 0.1667976320E+00 XX 0.9103491316E+00 0.9103491316E+00 0.9103491316E+00 0.9103491316E+00 0.9103491316E+00 XX 0.1002392209E+01 0.1002392209E+01 0.1002392209E+01 0.1002392209E+01 0.1002392209E+01 XX 0.4017903947E+01 0.4017903947E+01 0.4017903947E+01 0.4017903947E+01 0.4017903947E+01 XX 0.1302371796E+01 0.1302371796E+01 0.1302371796E+01 0.1302371796E+01 0.1302371796E+01 XX 0.1222082196E+01 0.1222082196E+01 0.1222082196E+01 0.1222082196E+01 0.1222082196E+01 XX 0.1369090661E+01 0.1369090661E+01 0.1369090661E+01 0.1369090661E+01 0.1369090661E+01 XX 0.1306573681E+01 0.1306573681E+01 0.1306573681E+01 0.1306573681E+01 0.1306573681E+01 XX 0.1789654625E+02 0.1789654625E+02 0.1789654625E+02 0.1789654625E+02 0.1789654625E+02 XX 0.1101573003E+02 0.1101573003E+02 0.1101573003E+02 0.1101573003E+02 0.1101573003E+02 XX 0.1357689484E+02 0.1357689484E+02 0.1357689484E+02 0.1357689484E+02 0.1357689484E+02 XX 0.1587990022E+02 0.1587990022E+02 0.1587990022E+02 0.1587990022E+02 0.1587990022E+02 XX 0.1460625283E+02 0.1460625283E+02 0.1460625283E+02 0.1460625283E+02 0.1460625283E+02 XX 0.1777188816E+02 0.1777188816E+02 0.1777188816E+02 0.1777188816E+02 0.1777188816E+02 XX 0.1814044069E+02 0.1814044069E+02 0.1814044069E+02 0.1814044069E+02 0.1814044069E+02 XX 0.8545031976E+01 0.8545031976E+01 0.8545031976E+01 0.8545031976E+01 0.8545031976E+01 XX 0.9097430267E-01 0.9097430267E-01 0.9097430267E-01 0.9097430267E-01 0.9097430267E-01 XX 0.9109887737E-01 0.9109887737E-01 0.9109887737E-01 0.9109887737E-01 0.9109887737E-01 XX 0.8947870740E-01 0.8947870740E-01 0.8947870740E-01 0.8947870740E-01 0.8947870740E-01 XX 0.9958215806E-01 0.9958215806E-01 0.9958215806E-01 0.9958215806E-01 0.9958215806E-01 XX 0.6310147230E+00 0.6310147230E+00 0.6310147230E+00 0.6310147230E+00 0.6310147230E+00 XX 0.7478969796E+00 0.7478969796E+00 0.7478969796E+00 0.7478969796E+00 0.7478969796E+00 XX 0.1488959040E+02 0.1488959040E+02 0.1488959040E+02 0.1488959040E+02 0.1488959040E+02 XX 0.1407459352E+02 0.1407459352E+02 0.1407459352E+02 0.1407459352E+02 0.1407459352E+02 XX 0.1693986943E+02 0.1693986943E+02 0.1693986943E+02 0.1693986943E+02 0.1693986943E+02 XX 0.1728306174E+02 0.1728306174E+02 0.1728306174E+02 0.1728306174E+02 0.1728306174E+02 XX 0.1372323195E+02 0.1372323195E+02 0.1372323195E+02 0.1372323195E+02 0.1372323195E+02 XX 0.1653468945E+02 0.1653468945E+02 0.1653468945E+02 0.1653468945E+02 0.1653468945E+02 XX 0.3996868428E-01 0.3996868428E-01 0.3996868428E-01 0.3996868428E-01 0.3996868428E-01 XX 0.3498339520E-01 0.3498339520E-01 0.3498339520E-01 0.3498339520E-01 0.3498339520E-01 XX 0.2734744541E-01 0.2734744541E-01 0.2734744541E-01 0.2734744541E-01 0.2734744541E-01 XX 0.2043686532E-01 0.2043686532E-01 0.2043686532E-01 0.2043686532E-01 0.2043686532E-01 XX 0.4471543288E-01 0.4471543288E-01 0.4471543288E-01 0.4471543288E-01 0.4471543288E-01 XX 0.1774217902E-01 0.1774217902E-01 0.1774217902E-01 0.1774217902E-01 0.1774217902E-01 XX 0.6102381874E-01 0.6102381874E-01 0.6102381874E-01 0.6102381874E-01 0.6102381874E-01 XX 0.6179530863E-01 0.6179530863E-01 0.6179530863E-01 0.6179530863E-01 0.6179530863E-01 XX 0.6134527375E-01 0.6134527375E-01 0.6134527375E-01 0.6134527375E-01 0.6134527375E-01 XX 0.6832358941E-01 0.6832358941E-01 0.6832358941E-01 0.6832358941E-01 0.6832358941E-01 XX 0.1025405935E+02 0.1025405935E+02 0.1025405935E+02 0.1025405935E+02 0.1025405935E+02 XX 0.1137784852E+02 0.1137784852E+02 0.1137784852E+02 0.1137784852E+02 0.1137784852E+02 XX 0.1536504181E+02 0.1536504181E+02 0.1536504181E+02 0.1536504181E+02 0.1536504181E+02 XX 0.1496637085E+02 0.1496637085E+02 0.1496637085E+02 0.1496637085E+02 0.1496637085E+02 XX 0.1171398470E+02 0.1171398470E+02 0.1171398470E+02 0.1171398470E+02 0.1171398470E+02 XX 0.1050770315E+02 0.1050770315E+02 0.1050770315E+02 0.1050770315E+02 0.1050770315E+02 XX 0.5453347582E+01 0.5453347582E+01 0.5453347582E+01 0.5453347582E+01 0.5453347582E+01 XX 0.6278420329E-01 0.6278420329E-01 0.6278420329E-01 0.6278420329E-01 0.6278420329E-01 XX 0.4853888019E+01 0.4853888019E+01 0.4853888019E+01 0.4853888019E+01 0.4853888019E+01 XX 0.1223517502E+02 0.1223517502E+02 0.1223517502E+02 0.1223517502E+02 0.1223517502E+02 XX 0.1626226933E+02 0.1626226933E+02 0.1626226933E+02 0.1626226933E+02 0.1626226933E+02 XX 0.1063019021E+02 0.1063019021E+02 0.1063019021E+02 0.1063019021E+02 0.1063019021E+02 XX 0.4373669289E+01 0.4373669289E+01 0.4373669289E+01 0.4373669289E+01 0.4373669289E+01 XX 0.1104762257E+02 0.1104762257E+02 0.1104762257E+02 0.1104762257E+02 0.1104762257E+02 XX 0.4629659531E-01 0.4629659531E-01 0.4629659531E-01 0.4629659531E-01 0.4629659531E-01 XX 0.5991126208E-01 0.5991126208E-01 0.5991126208E-01 0.5991126208E-01 0.5991126208E-01 XX 0.1252327685E+00 0.1252327685E+00 0.1252327685E+00 0.1252327685E+00 0.1252327685E+00 XX 0.9848170105E-01 0.9848170105E-01 0.9848170105E-01 0.9848170105E-01 0.9848170105E-01 XX 0.5054234461E-01 0.5054234461E-01 0.5054234461E-01 0.5054234461E-01 0.5054234461E-01 XX 0.5555251670E-01 0.5555251670E-01 0.5555251670E-01 0.5555251670E-01 0.5555251670E-01 XX 0.8798652467E-01 0.8798652467E-01 0.8798652467E-01 0.8798652467E-01 0.8798652467E-01 XX 0.4169593799E-01 0.4169593799E-01 0.4169593799E-01 0.4169593799E-01 0.4169593799E-01 XX 0.9300937057E-01 0.9300937057E-01 0.9300937057E-01 0.9300937057E-01 0.9300937057E-01 XX 0.1838053939E+00 0.1838053939E+00 0.1838053939E+00 0.1838053939E+00 0.1838053939E+00 XX 0.1868517309E+00 0.1868517309E+00 0.1868517309E+00 0.1868517309E+00 0.1868517309E+00 XX 0.1892919361E+00 0.1892919361E+00 0.1892919361E+00 0.1892919361E+00 0.1892919361E+00 XX 0.2352809408E+00 0.2352809408E+00 0.2352809408E+00 0.2352809408E+00 0.2352809408E+00 XX 0.7672483971E+00 0.7672483971E+00 0.7672483971E+00 0.7672483971E+00 0.7672483971E+00 XX 0.4563132681E+01 0.4563132681E+01 0.4563132681E+01 0.4563132681E+01 0.4563132681E+01 XX 0.1150291951E+01 0.1150291951E+01 0.1150291951E+01 0.1150291951E+01 0.1150291951E+01 XX 0.8044323242E+00 0.8044323242E+00 0.8044323242E+00 0.8044323242E+00 0.8044323242E+00 XX 0.1101287304E+01 0.1101287304E+01 0.1101287304E+01 0.1101287304E+01 0.1101287304E+01 XX 0.8787639956E+00 0.8787639956E+00 0.8787639956E+00 0.8787639956E+00 0.8787639956E+00 XX 0.9291679119E+00 0.9291679119E+00 0.9291679119E+00 0.9291679119E+00 0.9291679119E+00 XX 0.1036932638E+01 0.1036932638E+01 0.1036932638E+01 0.1036932638E+01 0.1036932638E+01 XX 0.1007322993E+02 0.1007322993E+02 0.1007322993E+02 0.1007322993E+02 0.1007322993E+02 XX 0.1455261564E+02 0.1455261564E+02 0.1455261564E+02 0.1455261564E+02 0.1455261564E+02 XX 0.1810425017E+02 0.1810425017E+02 0.1810425017E+02 0.1810425017E+02 0.1810425017E+02 XX 0.1975122332E+02 0.1975122332E+02 0.1975122332E+02 0.1975122332E+02 0.1975122332E+02 XX 0.2056017519E+02 0.2056017519E+02 0.2056017519E+02 0.2056017519E+02 0.2056017519E+02 XX 0.2063586109E+02 0.2063586109E+02 0.2063586109E+02 0.2063586109E+02 0.2063586109E+02 XX 0.1942878513E+02 0.1942878513E+02 0.1942878513E+02 0.1942878513E+02 0.1942878513E+02 XX 0.1269495956E+02 0.1269495956E+02 0.1269495956E+02 0.1269495956E+02 0.1269495956E+02 XX 0.1303864060E+02 0.1303864060E+02 0.1303864060E+02 0.1303864060E+02 0.1303864060E+02 XX 0.1396079588E+02 0.1396079588E+02 0.1396079588E+02 0.1396079588E+02 0.1396079588E+02 XX 0.1412890205E+02 0.1412890205E+02 0.1412890205E+02 0.1412890205E+02 0.1412890205E+02 XX 0.1346483999E+02 0.1346483999E+02 0.1346483999E+02 0.1346483999E+02 0.1346483999E+02 XX 0.1446280921E+02 0.1446280921E+02 0.1446280921E+02 0.1446280921E+02 0.1446280921E+02 XX 0.3202733825E-01 0.3202733825E-01 0.3202733825E-01 0.3202733825E-01 0.3202733825E-01 XX 0.3037575588E-01 0.3037575588E-01 0.3037575588E-01 0.3037575588E-01 0.3037575588E-01 XX 0.2690761626E-01 0.2690761626E-01 0.2690761626E-01 0.2690761626E-01 0.2690761626E-01 XX 0.2387682854E-01 0.2387682854E-01 0.2387682854E-01 0.2387682854E-01 0.2387682854E-01 XX 0.8920110326E-01 0.8920110326E-01 0.8920110326E-01 0.8920110326E-01 0.8920110326E-01 XX 0.9075219400E-01 0.9075219400E-01 0.9075219400E-01 0.9075219400E-01 0.9075219400E-01 XX 0.8847041166E-01 0.8847041166E-01 0.8847041166E-01 0.8847041166E-01 0.8847041166E-01 XX 0.8894504023E-01 0.8894504023E-01 0.8894504023E-01 0.8894504023E-01 0.8894504023E-01 XX 0.1022668468E+00 0.1022668468E+00 0.1022668468E+00 0.1022668468E+00 0.1022668468E+00 XX 0.6549716539E+00 0.6549716539E+00 0.6549716539E+00 0.6549716539E+00 0.6549716539E+00 XX 0.7885952878E+00 0.7885952878E+00 0.7885952878E+00 0.7885952878E+00 0.7885952878E+00 XX 0.1453795047E+02 0.1453795047E+02 0.1453795047E+02 0.1453795047E+02 0.1453795047E+02 XX 0.1288837380E+02 0.1288837380E+02 0.1288837380E+02 0.1288837380E+02 0.1288837380E+02 XX 0.1219060293E+02 0.1219060293E+02 0.1219060293E+02 0.1219060293E+02 0.1219060293E+02 XX 0.8204968122E+01 0.8204968122E+01 0.8204968122E+01 0.8204968122E+01 0.8204968122E+01 XX 0.7167785973E-02 0.7167785973E-02 0.7167785973E-02 0.7167785973E-02 0.7167785973E-02 XX 0.7885958489E-01 0.7885958489E-01 0.7885958489E-01 0.7885958489E-01 0.7885958489E-01 XX 0.7683143589E-01 0.7683143589E-01 0.7683143589E-01 0.7683143589E-01 0.7683143589E-01 XX 0.7302691419E-01 0.7302691419E-01 0.7302691419E-01 0.7302691419E-01 0.7302691419E-01 XX 0.2351493380E+01 0.2351493380E+01 0.2351493380E+01 0.2351493380E+01 0.2351493380E+01 XX 0.4308393150E+00 0.4308393150E+00 0.4308393150E+00 0.4308393150E+00 0.4308393150E+00 XX 0.2573228649E+01 0.2573228649E+01 0.2573228649E+01 0.2573228649E+01 0.2573228649E+01 XX 0.1053199833E+02 0.1053199833E+02 0.1053199833E+02 0.1053199833E+02 0.1053199833E+02 XX 0.1754828305E+02 0.1754828305E+02 0.1754828305E+02 0.1754828305E+02 0.1754828305E+02 XX 0.1220171517E+02 0.1220171517E+02 0.1220171517E+02 0.1220171517E+02 0.1220171517E+02 XX 0.7491562790E+01 0.7491562790E+01 0.7491562790E+01 0.7491562790E+01 0.7491562790E+01 XX 0.1055701477E+02 0.1055701477E+02 0.1055701477E+02 0.1055701477E+02 0.1055701477E+02 XX 0.3975434020E-01 0.3975434020E-01 0.3975434020E-01 0.3975434020E-01 0.3975434020E-01 XX 0.1184731701E+00 0.1184731701E+00 0.1184731701E+00 0.1184731701E+00 0.1184731701E+00 XX 0.6124451293E-01 0.6124451293E-01 0.6124451293E-01 0.6124451293E-01 0.6124451293E-01 XX 0.1274999083E+00 0.1274999083E+00 0.1274999083E+00 0.1274999083E+00 0.1274999083E+00 XX 0.1222523342E+00 0.1222523342E+00 0.1222523342E+00 0.1222523342E+00 0.1222523342E+00 XX 0.1122589866E+00 0.1122589866E+00 0.1122589866E+00 0.1122589866E+00 0.1122589866E+00 XX 0.1150547024E+00 0.1150547024E+00 0.1150547024E+00 0.1150547024E+00 0.1150547024E+00 XX 0.2855631254E-01 0.2855631254E-01 0.2855631254E-01 0.2855631254E-01 0.2855631254E-01 XX 0.1268142997E+00 0.1268142997E+00 0.1268142997E+00 0.1268142997E+00 0.1268142997E+00 XX 0.1599658051E+00 0.1599658051E+00 0.1599658051E+00 0.1599658051E+00 0.1599658051E+00 XX 0.3388874614E+01 0.3388874614E+01 0.3388874614E+01 0.3388874614E+01 0.3388874614E+01 XX 0.8177923890E+00 0.8177923890E+00 0.8177923890E+00 0.8177923890E+00 0.8177923890E+00 XX 0.9783646412E+00 0.9783646412E+00 0.9783646412E+00 0.9783646412E+00 0.9783646412E+00 XX 0.1244092353E+01 0.1244092353E+01 0.1244092353E+01 0.1244092353E+01 0.1244092353E+01 XX 0.1030397454E+01 0.1030397454E+01 0.1030397454E+01 0.1030397454E+01 0.1030397454E+01 XX 0.1125431572E+01 0.1125431572E+01 0.1125431572E+01 0.1125431572E+01 0.1125431572E+01 XX 0.1374085963E+01 0.1374085963E+01 0.1374085963E+01 0.1374085963E+01 0.1374085963E+01 XX 0.1597967611E+01 0.1597967611E+01 0.1597967611E+01 0.1597967611E+01 0.1597967611E+01 XX 0.1471085831E+01 0.1471085831E+01 0.1471085831E+01 0.1471085831E+01 0.1471085831E+01 XX 0.1084674648E+02 0.1084674648E+02 0.1084674648E+02 0.1084674648E+02 0.1084674648E+02 XX 0.1051884669E+02 0.1051884669E+02 0.1051884669E+02 0.1051884669E+02 0.1051884669E+02 XX 0.1261698027E+02 0.1261698027E+02 0.1261698027E+02 0.1261698027E+02 0.1261698027E+02 XX 0.1649406717E+02 0.1649406717E+02 0.1649406717E+02 0.1649406717E+02 0.1649406717E+02 XX 0.8329197290E+01 0.8329197290E+01 0.8329197290E+01 0.8329197290E+01 0.8329197290E+01 XX 0.1748918141E+02 0.1748918141E+02 0.1748918141E+02 0.1748918141E+02 0.1748918141E+02 XX 0.3480009602E-01 0.3480009602E-01 0.3480009602E-01 0.3480009602E-01 0.3480009602E-01 XX 0.2960407291E-01 0.2960407291E-01 0.2960407291E-01 0.2960407291E-01 0.2960407291E-01 XX 0.2282098153E-01 0.2282098153E-01 0.2282098153E-01 0.2282098153E-01 0.2282098153E-01 XX 0.1680295955E-01 0.1680295955E-01 0.1680295955E-01 0.1680295955E-01 0.1680295955E-01 XX 0.1380232445E+00 0.1380232445E+00 0.1380232445E+00 0.1380232445E+00 0.1380232445E+00 XX 0.1339302251E+00 0.1339302251E+00 0.1339302251E+00 0.1339302251E+00 0.1339302251E+00 XX 0.1166499160E+02 0.1166499160E+02 0.1166499160E+02 0.1166499160E+02 0.1166499160E+02 XX 0.1347450136E+02 0.1347450136E+02 0.1347450136E+02 0.1347450136E+02 0.1347450136E+02 XX 0.1463794422E+02 0.1463794422E+02 0.1463794422E+02 0.1463794422E+02 0.1463794422E+02 XX 0.1467093014E+02 0.1467093014E+02 0.1467093014E+02 0.1467093014E+02 0.1467093014E+02 XX 0.1496826040E+02 0.1496826040E+02 0.1496826040E+02 0.1496826040E+02 0.1496826040E+02 XX 0.1572597041E+02 0.1572597041E+02 0.1572597041E+02 0.1572597041E+02 0.1572597041E+02 XX 0.1143644554E+02 0.1143644554E+02 0.1143644554E+02 0.1143644554E+02 0.1143644554E+02 XX 0.3903888450E-01 0.3903888450E-01 0.3903888450E-01 0.3903888450E-01 0.3903888450E-01 XX 0.3875646747E-01 0.3875646747E-01 0.3875646747E-01 0.3875646747E-01 0.3875646747E-01 XX 0.2411084941E-01 0.2411084941E-01 0.2411084941E-01 0.2411084941E-01 0.2411084941E-01 XX 0.1983101365E+00 0.1983101365E+00 0.1983101365E+00 0.1983101365E+00 0.1983101365E+00 XX 0.1977146530E+00 0.1977146530E+00 0.1977146530E+00 0.1977146530E+00 0.1977146530E+00 XX 0.2070613339E+00 0.2070613339E+00 0.2070613339E+00 0.2070613339E+00 0.2070613339E+00 XX 0.2599467100E+00 0.2599467100E+00 0.2599467100E+00 0.2599467100E+00 0.2599467100E+00 XX 0.2606373600E+01 0.2606373600E+01 0.2606373600E+01 0.2606373600E+01 0.2606373600E+01 XX 0.2446163281E+01 0.2446163281E+01 0.2446163281E+01 0.2446163281E+01 0.2446163281E+01 XX 0.1129319031E+02 0.1129319031E+02 0.1129319031E+02 0.1129319031E+02 0.1129319031E+02 XX 0.1294618180E+02 0.1294618180E+02 0.1294618180E+02 0.1294618180E+02 0.1294618180E+02 XX 0.1148999727E+02 0.1148999727E+02 0.1148999727E+02 0.1148999727E+02 0.1148999727E+02 XX 0.1339516027E-01 0.1339516027E-01 0.1339516027E-01 0.1339516027E-01 0.1339516027E-01 XX 0.7575670051E+00 0.7575670051E+00 0.7575670051E+00 0.7575670051E+00 0.7575670051E+00 XX 0.5397223604E+01 0.5397223604E+01 0.5397223604E+01 0.5397223604E+01 0.5397223604E+01 XX 0.1134795951E+02 0.1134795951E+02 0.1134795951E+02 0.1134795951E+02 0.1134795951E+02 XX 0.1216489980E+02 0.1216489980E+02 0.1216489980E+02 0.1216489980E+02 0.1216489980E+02 XX 0.1094745204E+02 0.1094745204E+02 0.1094745204E+02 0.1094745204E+02 0.1094745204E+02 XX 0.7987085581E+01 0.7987085581E+01 0.7987085581E+01 0.7987085581E+01 0.7987085581E+01 XX 0.7716329120E+01 0.7716329120E+01 0.7716329120E+01 0.7716329120E+01 0.7716329120E+01 XX 0.5891345429E+01 0.5891345429E+01 0.5891345429E+01 0.5891345429E+01 0.5891345429E+01 XX 0.9359211515E+01 0.9359211515E+01 0.9359211515E+01 0.9359211515E+01 0.9359211515E+01 XX 0.1151517674E+02 0.1151517674E+02 0.1151517674E+02 0.1151517674E+02 0.1151517674E+02 XX 0.9579308521E-01 0.9579308521E-01 0.9579308521E-01 0.9579308521E-01 0.9579308521E-01 XX 0.4618370268E-01 0.4618370268E-01 0.4618370268E-01 0.4618370268E-01 0.4618370268E-01 XX 0.3963565950E-01 0.3963565950E-01 0.3963565950E-01 0.3963565950E-01 0.3963565950E-01 XX 0.3741014208E-01 0.3741014208E-01 0.3741014208E-01 0.3741014208E-01 0.3741014208E-01 XX 0.1508229838E+00 0.1508229838E+00 0.1508229838E+00 0.1508229838E+00 0.1508229838E+00 XX 0.1542289294E+00 0.1542289294E+00 0.1542289294E+00 0.1542289294E+00 0.1542289294E+00 XX 0.1938415080E+00 0.1938415080E+00 0.1938415080E+00 0.1938415080E+00 0.1938415080E+00 XX 0.1497402940E+00 0.1497402940E+00 0.1497402940E+00 0.1497402940E+00 0.1497402940E+00 XX 0.1378372735E+00 0.1378372735E+00 0.1378372735E+00 0.1378372735E+00 0.1378372735E+00 XX 0.1365558482E+00 0.1365558482E+00 0.1365558482E+00 0.1365558482E+00 0.1365558482E+00 XX 0.1377699358E+00 0.1377699358E+00 0.1377699358E+00 0.1377699358E+00 0.1377699358E+00 XX 0.1710873313E+00 0.1710873313E+00 0.1710873313E+00 0.1710873313E+00 0.1710873313E+00 XX 0.1035021292E+01 0.1035021292E+01 0.1035021292E+01 0.1035021292E+01 0.1035021292E+01 XX 0.6985144771E+00 0.6985144771E+00 0.6985144771E+00 0.6985144771E+00 0.6985144771E+00 XX 0.1035798342E+01 0.1035798342E+01 0.1035798342E+01 0.1035798342E+01 0.1035798342E+01 XX 0.1136452245E+01 0.1136452245E+01 0.1136452245E+01 0.1136452245E+01 0.1136452245E+01 XX 0.4463473738E+01 0.4463473738E+01 0.4463473738E+01 0.4463473738E+01 0.4463473738E+01 XX 0.5191985063E+01 0.5191985063E+01 0.5191985063E+01 0.5191985063E+01 0.5191985063E+01 XX 0.7319289311E+01 0.7319289311E+01 0.7319289311E+01 0.7319289311E+01 0.7319289311E+01 XX 0.1417914834E+02 0.1417914834E+02 0.1417914834E+02 0.1417914834E+02 0.1417914834E+02 XX 0.1185521560E+02 0.1185521560E+02 0.1185521560E+02 0.1185521560E+02 0.1185521560E+02 XX 0.1577765779E+02 0.1577765779E+02 0.1577765779E+02 0.1577765779E+02 0.1577765779E+02 XX 0.1367347988E+02 0.1367347988E+02 0.1367347988E+02 0.1367347988E+02 0.1367347988E+02 XX 0.1503142817E+02 0.1503142817E+02 0.1503142817E+02 0.1503142817E+02 0.1503142817E+02 XX 0.1682559821E+02 0.1682559821E+02 0.1682559821E+02 0.1682559821E+02 0.1682559821E+02 XX 0.1588542966E+02 0.1588542966E+02 0.1588542966E+02 0.1588542966E+02 0.1588542966E+02 XX 0.3746759249E-01 0.3746759249E-01 0.3746759249E-01 0.3746759249E-01 0.3746759249E-01 XX 0.3740894591E-01 0.3740894591E-01 0.3740894591E-01 0.3740894591E-01 0.3740894591E-01 XX 0.1524425130E+00 0.1524425130E+00 0.1524425130E+00 0.1524425130E+00 0.1524425130E+00 XX 0.1063530150E+02 0.1063530150E+02 0.1063530150E+02 0.1063530150E+02 0.1063530150E+02 XX 0.1093595668E+02 0.1093595668E+02 0.1093595668E+02 0.1093595668E+02 0.1093595668E+02 XX 0.1331654755E+02 0.1331654755E+02 0.1331654755E+02 0.1331654755E+02 0.1331654755E+02 XX 0.1255010276E+02 0.1255010276E+02 0.1255010276E+02 0.1255010276E+02 0.1255010276E+02 XX 0.1217425049E+02 0.1217425049E+02 0.1217425049E+02 0.1217425049E+02 0.1217425049E+02 XX 0.2471771315E-01 0.2471771315E-01 0.2471771315E-01 0.2471771315E-01 0.2471771315E-01 XX 0.3842924354E-01 0.3842924354E-01 0.3842924354E-01 0.3842924354E-01 0.3842924354E-01 XX 0.1932899231E-01 0.1932899231E-01 0.1932899231E-01 0.1932899231E-01 0.1932899231E-01 XX 0.1489443534E-01 0.1489443534E-01 0.1489443534E-01 0.1489443534E-01 0.1489443534E-01 XX 0.7643557019E-01 0.7643557019E-01 0.7643557019E-01 0.7643557019E-01 0.7643557019E-01 XX 0.3861885823E+00 0.3861885823E+00 0.3861885823E+00 0.3861885823E+00 0.3861885823E+00 XX 0.7523107926E-01 0.7523107926E-01 0.7523107926E-01 0.7523107926E-01 0.7523107926E-01 XX 0.8077091210E-01 0.8077091210E-01 0.8077091210E-01 0.8077091210E-01 0.8077091210E-01 XX 0.7672581310E+00 0.7672581310E+00 0.7672581310E+00 0.7672581310E+00 0.7672581310E+00 XX 0.5590903455E+01 0.5590903455E+01 0.5590903455E+01 0.5590903455E+01 0.5590903455E+01 XX 0.2564329715E+01 0.2564329715E+01 0.2564329715E+01 0.2564329715E+01 0.2564329715E+01 XX 0.7522806824E+00 0.7522806824E+00 0.7522806824E+00 0.7522806824E+00 0.7522806824E+00 XX 0.1017241283E+02 0.1017241283E+02 0.1017241283E+02 0.1017241283E+02 0.1017241283E+02 XX 0.1272497339E+02 0.1272497339E+02 0.1272497339E+02 0.1272497339E+02 0.1272497339E+02 XX 0.1346234095E+02 0.1346234095E+02 0.1346234095E+02 0.1346234095E+02 0.1346234095E+02 XX 0.1185641887E+02 0.1185641887E+02 0.1185641887E+02 0.1185641887E+02 0.1185641887E+02 XX 0.1481160689E-01 0.1481160689E-01 0.1481160689E-01 0.1481160689E-01 0.1481160689E-01 XX 0.9899577912E-02 0.9899577912E-02 0.9899577912E-02 0.9899577912E-02 0.9899577912E-02 XX 0.8491123819E-02 0.8491123819E-02 0.8491123819E-02 0.8491123819E-02 0.8491123819E-02 XX 0.6785852192E-01 0.6785852192E-01 0.6785852192E-01 0.6785852192E-01 0.6785852192E-01 XX 0.7306570628E+00 0.7306570628E+00 0.7306570628E+00 0.7306570628E+00 0.7306570628E+00 XX 0.5274395459E+00 0.5274395459E+00 0.5274395459E+00 0.5274395459E+00 0.5274395459E+00 XX 0.1011226831E+02 0.1011226831E+02 0.1011226831E+02 0.1011226831E+02 0.1011226831E+02 XX 0.1104762257E+02 0.1104762257E+02 0.1104762257E+02 0.1104762257E+02 0.1104762257E+02 XX 0.1231248177E+02 0.1231248177E+02 0.1231248177E+02 0.1231248177E+02 0.1231248177E+02 XX 0.1405265795E+02 0.1405265795E+02 0.1405265795E+02 0.1405265795E+02 0.1405265795E+02 XX 0.1055701477E+02 0.1055701477E+02 0.1055701477E+02 0.1055701477E+02 0.1055701477E+02 XX 0.8329915752E+01 0.8329915752E+01 0.8329915752E+01 0.8329915752E+01 0.8329915752E+01 XX 0.6258687617E+01 0.6258687617E+01 0.6258687617E+01 0.6258687617E+01 0.6258687617E+01 XX 0.4373702958E+01 0.4373702958E+01 0.4373702958E+01 0.4373702958E+01 0.4373702958E+01 XX 0.7678830842E+01 0.7678830842E+01 0.7678830842E+01 0.7678830842E+01 0.7678830842E+01 XX 0.1299384835E+00 0.1299384835E+00 0.1299384835E+00 0.1299384835E+00 0.1299384835E+00 XX 0.1237402701E+00 0.1237402701E+00 0.1237402701E+00 0.1237402701E+00 0.1237402701E+00 XX 0.1336464706E+00 0.1336464706E+00 0.1336464706E+00 0.1336464706E+00 0.1336464706E+00 XX 0.1266543076E+00 0.1266543076E+00 0.1266543076E+00 0.1266543076E+00 0.1266543076E+00 XX 0.1379570011E+00 0.1379570011E+00 0.1379570011E+00 0.1379570011E+00 0.1379570011E+00 XX 0.1212936523E+00 0.1212936523E+00 0.1212936523E+00 0.1212936523E+00 0.1212936523E+00 XX 0.1112622628E+00 0.1112622628E+00 0.1112622628E+00 0.1112622628E+00 0.1112622628E+00 XX 0.1320070302E+00 0.1320070302E+00 0.1320070302E+00 0.1320070302E+00 0.1320070302E+00 XX 0.1159752337E+00 0.1159752337E+00 0.1159752337E+00 0.1159752337E+00 0.1159752337E+00 XX 0.1445397702E+00 0.1445397702E+00 0.1445397702E+00 0.1445397702E+00 0.1445397702E+00 XX 0.8946606103E+00 0.8946606103E+00 0.8946606103E+00 0.8946606103E+00 0.8946606103E+00 XX 0.1176788178E+01 0.1176788178E+01 0.1176788178E+01 0.1176788178E+01 0.1176788178E+01 XX 0.1237953365E+02 0.1237953365E+02 0.1237953365E+02 0.1237953365E+02 0.1237953365E+02 XX 0.9647968781E+01 0.9647968781E+01 0.9647968781E+01 0.9647968781E+01 0.9647968781E+01 XX 0.1513419252E+02 0.1513419252E+02 0.1513419252E+02 0.1513419252E+02 0.1513419252E+02 XX 0.1664224962E+02 0.1664224962E+02 0.1664224962E+02 0.1664224962E+02 0.1664224962E+02 XX 0.1675499758E+02 0.1675499758E+02 0.1675499758E+02 0.1675499758E+02 0.1675499758E+02 XX 0.1772790333E+02 0.1772790333E+02 0.1772790333E+02 0.1772790333E+02 0.1772790333E+02 XX 0.2316355051E+02 0.2316355051E+02 0.2316355051E+02 0.2316355051E+02 0.2316355051E+02 XX 0.1588542966E+02 0.1588542966E+02 0.1588542966E+02 0.1588542966E+02 0.1588542966E+02 XX 0.6341975284E-01 0.6341975284E-01 0.6341975284E-01 0.6341975284E-01 0.6341975284E-01 XX 0.6121211272E-01 0.6121211272E-01 0.6121211272E-01 0.6121211272E-01 0.6121211272E-01 XX 0.6298161676E-01 0.6298161676E-01 0.6298161676E-01 0.6298161676E-01 0.6298161676E-01 XX 0.5352972553E-01 0.5352972553E-01 0.5352972553E-01 0.5352972553E-01 0.5352972553E-01 XX 0.4175880024E-01 0.4175880024E-01 0.4175880024E-01 0.4175880024E-01 0.4175880024E-01 XX 0.3100485156E-01 0.3100485156E-01 0.3100485156E-01 0.3100485156E-01 0.3100485156E-01 XX 0.6495780688E-01 0.6495780688E-01 0.6495780688E-01 0.6495780688E-01 0.6495780688E-01 XX 0.1025130867E+01 0.1025130867E+01 0.1025130867E+01 0.1025130867E+01 0.1025130867E+01 XX 0.1076410321E+01 0.1076410321E+01 0.1076410321E+01 0.1076410321E+01 0.1076410321E+01 XX 0.1164427337E+01 0.1164427337E+01 0.1164427337E+01 0.1164427337E+01 0.1164427337E+01 XX 0.9789829372E+01 0.9789829372E+01 0.9789829372E+01 0.9789829372E+01 0.9789829372E+01 XX 0.1198222442E+02 0.1198222442E+02 0.1198222442E+02 0.1198222442E+02 0.1198222442E+02 XX 0.1409185697E+02 0.1409185697E+02 0.1409185697E+02 0.1409185697E+02 0.1409185697E+02 XX 0.1516650485E+02 0.1516650485E+02 0.1516650485E+02 0.1516650485E+02 0.1516650485E+02 XX 0.1395083198E+02 0.1395083198E+02 0.1395083198E+02 0.1395083198E+02 0.1395083198E+02 XX 0.2708050462E-01 0.2708050462E-01 0.2708050462E-01 0.2708050462E-01 0.2708050462E-01 XX 0.2111014290E-01 0.2111014290E-01 0.2111014290E-01 0.2111014290E-01 0.2111014290E-01 XX 0.5402218313E-01 0.5402218313E-01 0.5402218313E-01 0.5402218313E-01 0.5402218313E-01 XX 0.3637083457E+00 0.3637083457E+00 0.3637083457E+00 0.3637083457E+00 0.3637083457E+00 XX 0.3924069328E+00 0.3924069328E+00 0.3924069328E+00 0.3924069328E+00 0.3924069328E+00 XX 0.2643902944E+01 0.2643902944E+01 0.2643902944E+01 0.2643902944E+01 0.2643902944E+01 XX 0.7670861452E+00 0.7670861452E+00 0.7670861452E+00 0.7670861452E+00 0.7670861452E+00 XX 0.2544780170E+01 0.2544780170E+01 0.2544780170E+01 0.2544780170E+01 0.2544780170E+01 XX 0.9426527296E+01 0.9426527296E+01 0.9426527296E+01 0.9426527296E+01 0.9426527296E+01 XX 0.1258032701E+02 0.1258032701E+02 0.1258032701E+02 0.1258032701E+02 0.1258032701E+02 XX 0.1299708337E+02 0.1299708337E+02 0.1299708337E+02 0.1299708337E+02 0.1299708337E+02 XX 0.9764869089E+01 0.9764869089E+01 0.9764869089E+01 0.9764869089E+01 0.9764869089E+01 XX 0.7963112061E+01 0.7963112061E+01 0.7963112061E+01 0.7963112061E+01 0.7963112061E+01 XX 0.2079112966E-01 0.2079112966E-01 0.2079112966E-01 0.2079112966E-01 0.2079112966E-01 XX 0.1268118827E-01 0.1268118827E-01 0.1268118827E-01 0.1268118827E-01 0.1268118827E-01 XX 0.1634379956E-01 0.1634379956E-01 0.1634379956E-01 0.1634379956E-01 0.1634379956E-01 XX 0.1093562855E-01 0.1093562855E-01 0.1093562855E-01 0.1093562855E-01 0.1093562855E-01 XX 0.2166601406E+00 0.2166601406E+00 0.2166601406E+00 0.2166601406E+00 0.2166601406E+00 XX 0.2573228649E+01 0.2573228649E+01 0.2573228649E+01 0.2573228649E+01 0.2573228649E+01 XX 0.6545093658E+00 0.6545093658E+00 0.6545093658E+00 0.6545093658E+00 0.6545093658E+00 XX 0.4602236145E+01 0.4602236145E+01 0.4602236145E+01 0.4602236145E+01 0.4602236145E+01 XX 0.1497409674E+02 0.1497409674E+02 0.1497409674E+02 0.1497409674E+02 0.1497409674E+02 XX 0.8831941943E+01 0.8831941943E+01 0.8831941943E+01 0.8831941943E+01 0.8831941943E+01 XX 0.5891345429E+01 0.5891345429E+01 0.5891345429E+01 0.5891345429E+01 0.5891345429E+01 XX 0.9683303640E+01 0.9683303640E+01 0.9683303640E+01 0.9683303640E+01 0.9683303640E+01 XX 0.1220171517E+02 0.1220171517E+02 0.1220171517E+02 0.1220171517E+02 0.1220171517E+02 XX 0.1156665116E+00 0.1156665116E+00 0.1156665116E+00 0.1156665116E+00 0.1156665116E+00 XX 0.1655951693E+00 0.1655951693E+00 0.1655951693E+00 0.1655951693E+00 0.1655951693E+00 XX 0.2021315840E+00 0.2021315840E+00 0.2021315840E+00 0.2021315840E+00 0.2021315840E+00 XX 0.9756830847E+00 0.9756830847E+00 0.9756830847E+00 0.9756830847E+00 0.9756830847E+00 XX 0.1071764904E+01 0.1071764904E+01 0.1071764904E+01 0.1071764904E+01 0.1071764904E+01 XX 0.4026477006E+01 0.4026477006E+01 0.4026477006E+01 0.4026477006E+01 0.4026477006E+01 XX 0.1603507031E+02 0.1603507031E+02 0.1603507031E+02 0.1603507031E+02 0.1603507031E+02 XX 0.4814323419E-01 0.4814323419E-01 0.4814323419E-01 0.4814323419E-01 0.4814323419E-01 XX 0.4859993403E-01 0.4859993403E-01 0.4859993403E-01 0.4859993403E-01 0.4859993403E-01 XX 0.4078776785E-01 0.4078776785E-01 0.4078776785E-01 0.4078776785E-01 0.4078776785E-01 XX 0.3598796695E-01 0.3598796695E-01 0.3598796695E-01 0.3598796695E-01 0.3598796695E-01 XX 0.6013774989E-02 0.6013774989E-02 0.6013774989E-02 0.6013774989E-02 0.6013774989E-02 XX 0.1321065616E+00 0.1321065616E+00 0.1321065616E+00 0.1321065616E+00 0.1321065616E+00 XX 0.1389361331E+00 0.1389361331E+00 0.1389361331E+00 0.1389361331E+00 0.1389361331E+00 XX 0.1333166548E+00 0.1333166548E+00 0.1333166548E+00 0.1333166548E+00 0.1333166548E+00 XX 0.9551164971E+00 0.9551164971E+00 0.9551164971E+00 0.9551164971E+00 0.9551164971E+00 XX 0.1053976864E+01 0.1053976864E+01 0.1053976864E+01 0.1053976864E+01 0.1053976864E+01 XX 0.5270887576E-01 0.5270887576E-01 0.5270887576E-01 0.5270887576E-01 0.5270887576E-01 XX 0.5019595518E-01 0.5019595518E-01 0.5019595518E-01 0.5019595518E-01 0.5019595518E-01 XX 0.2053169109E-01 0.2053169109E-01 0.2053169109E-01 0.2053169109E-01 0.2053169109E-01 XX 0.7692448706E-01 0.7692448706E-01 0.7692448706E-01 0.7692448706E-01 0.7692448706E-01 XX 0.4112540626E+00 0.4112540626E+00 0.4112540626E+00 0.4112540626E+00 0.4112540626E+00 XX 0.9994108800E-01 0.9994108800E-01 0.9994108800E-01 0.9994108800E-01 0.9994108800E-01 XX 0.7249242815E+00 0.7249242815E+00 0.7249242815E+00 0.7249242815E+00 0.7249242815E+00 XX 0.4648345783E+01 0.4648345783E+01 0.4648345783E+01 0.4648345783E+01 0.4648345783E+01 XX 0.6772986221E+00 0.6772986221E+00 0.6772986221E+00 0.6772986221E+00 0.6772986221E+00 XX 0.6692696313E+00 0.6692696313E+00 0.6692696313E+00 0.6692696313E+00 0.6692696313E+00 XX 0.6272839511E+01 0.6272839511E+01 0.6272839511E+01 0.6272839511E+01 0.6272839511E+01 XX 0.7454366916E+00 0.7454366916E+00 0.7454366916E+00 0.7454366916E+00 0.7454366916E+00 XX 0.1247309971E+02 0.1247309971E+02 0.1247309971E+02 0.1247309971E+02 0.1247309971E+02 XX 0.1258406670E+02 0.1258406670E+02 0.1258406670E+02 0.1258406670E+02 0.1258406670E+02 XX 0.1146740814E+02 0.1146740814E+02 0.1146740814E+02 0.1146740814E+02 0.1146740814E+02 XX 0.1455177427E-01 0.1455177427E-01 0.1455177427E-01 0.1455177427E-01 0.1455177427E-01 XX 0.9848237207E-02 0.9848237207E-02 0.9848237207E-02 0.9848237207E-02 0.9848237207E-02 XX 0.3420612971E+00 0.3420612971E+00 0.3420612971E+00 0.3420612971E+00 0.3420612971E+00 XX 0.7297360526E+00 0.7297360526E+00 0.7297360526E+00 0.7297360526E+00 0.7297360526E+00 XX 0.2755183842E+01 0.2755183842E+01 0.2755183842E+01 0.2755183842E+01 0.2755183842E+01 XX 0.1473237276E+02 0.1473237276E+02 0.1473237276E+02 0.1473237276E+02 0.1473237276E+02 XX 0.1174236632E+02 0.1174236632E+02 0.1174236632E+02 0.1174236632E+02 0.1174236632E+02 XX 0.6745877442E+01 0.6745877442E+01 0.6745877442E+01 0.6745877442E+01 0.6745877442E+01 XX 0.5876274439E+00 0.5876274439E+00 0.5876274439E+00 0.5876274439E+00 0.5876274439E+00 XX 0.5287084024E+01 0.5287084024E+01 0.5287084024E+01 0.5287084024E+01 0.5287084024E+01 XX 0.6391508746E-01 0.6391508746E-01 0.6391508746E-01 0.6391508746E-01 0.6391508746E-01 XX 0.4611766492E-01 0.4611766492E-01 0.4611766492E-01 0.4611766492E-01 0.4611766492E-01 XX 0.6016537102E-01 0.6016537102E-01 0.6016537102E-01 0.6016537102E-01 0.6016537102E-01 XX 0.5862170348E-01 0.5862170348E-01 0.5862170348E-01 0.5862170348E-01 0.5862170348E-01 XX 0.3622676015E-01 0.3622676015E-01 0.3622676015E-01 0.3622676015E-01 0.3622676015E-01 XX 0.2986633787E+00 0.2986633787E+00 0.2986633787E+00 0.2986633787E+00 0.2986633787E+00 XX 0.2977311056E+00 0.2977311056E+00 0.2977311056E+00 0.2977311056E+00 0.2977311056E+00 XX 0.2923584965E+00 0.2923584965E+00 0.2923584965E+00 0.2923584965E+00 0.2923584965E+00 XX 0.3018578049E+00 0.3018578049E+00 0.3018578049E+00 0.3018578049E+00 0.3018578049E+00 XX 0.3674007821E+00 0.3674007821E+00 0.3674007821E+00 0.3674007821E+00 0.3674007821E+00 XX 0.2899285687E+01 0.2899285687E+01 0.2899285687E+01 0.2899285687E+01 0.2899285687E+01 XX 0.3090646461E+01 0.3090646461E+01 0.3090646461E+01 0.3090646461E+01 0.3090646461E+01 XX 0.3215889767E+01 0.3215889767E+01 0.3215889767E+01 0.3215889767E+01 0.3215889767E+01 XX 0.3252927566E+01 0.3252927566E+01 0.3252927566E+01 0.3252927566E+01 0.3252927566E+01 XX 0.3302221278E+01 0.3302221278E+01 0.3302221278E+01 0.3302221278E+01 0.3302221278E+01 XX 0.3614328872E+01 0.3614328872E+01 0.3614328872E+01 0.3614328872E+01 0.3614328872E+01 XX 0.5232794919E-01 0.5232794919E-01 0.5232794919E-01 0.5232794919E-01 0.5232794919E-01 XX 0.1025251669E-01 0.1025251669E-01 0.1025251669E-01 0.1025251669E-01 0.1025251669E-01 XX 0.6972309873E-01 0.6972309873E-01 0.6972309873E-01 0.6972309873E-01 0.6972309873E-01 XX 0.2166601406E+00 0.2166601406E+00 0.2166601406E+00 0.2166601406E+00 0.2166601406E+00 XX 0.2755183842E+01 0.2755183842E+01 0.2755183842E+01 0.2755183842E+01 0.2755183842E+01 XX 0.6029712132E+01 0.6029712132E+01 0.6029712132E+01 0.6029712132E+01 0.6029712132E+01 XX 0.2158133677E+01 0.2158133677E+01 0.2158133677E+01 0.2158133677E+01 0.2158133677E+01 XX 0.1978365410E+01 0.1978365410E+01 0.1978365410E+01 0.1978365410E+01 0.1978365410E+01 XX 0.6182071950E+01 0.6182071950E+01 0.6182071950E+01 0.6182071950E+01 0.6182071950E+01 XX 0.4177915254E-01 0.4177915254E-01 0.4177915254E-01 0.4177915254E-01 0.4177915254E-01 XX 0.4108470496E-01 0.4108470496E-01 0.4108470496E-01 0.4108470496E-01 0.4108470496E-01 XX 0.3743882880E-01 0.3743882880E-01 0.3743882880E-01 0.3743882880E-01 0.3743882880E-01 XX 0.3190685034E-01 0.3190685034E-01 0.3190685034E-01 0.3190685034E-01 0.3190685034E-01 XX 0.2904188599E-01 0.2904188599E-01 0.2904188599E-01 0.2904188599E-01 0.2904188599E-01 XX 0.1142311862E+00 0.1142311862E+00 0.1142311862E+00 0.1142311862E+00 0.1142311862E+00 XX 0.1183534353E+00 0.1183534353E+00 0.1183534353E+00 0.1183534353E+00 0.1183534353E+00 XX 0.1176041513E+00 0.1176041513E+00 0.1176041513E+00 0.1176041513E+00 0.1176041513E+00 XX 0.1135486991E+00 0.1135486991E+00 0.1135486991E+00 0.1135486991E+00 0.1135486991E+00 XX 0.1202402664E+00 0.1202402664E+00 0.1202402664E+00 0.1202402664E+00 0.1202402664E+00 XX 0.7996769066E+00 0.7996769066E+00 0.7996769066E+00 0.7996769066E+00 0.7996769066E+00 XX 0.8667946783E+00 0.8667946783E+00 0.8667946783E+00 0.8667946783E+00 0.8667946783E+00 XX 0.9096058147E+00 0.9096058147E+00 0.9096058147E+00 0.9096058147E+00 0.9096058147E+00 XX 0.9271449364E+00 0.9271449364E+00 0.9271449364E+00 0.9271449364E+00 0.9271449364E+00 XX 0.9699707228E+00 0.9699707228E+00 0.9699707228E+00 0.9699707228E+00 0.9699707228E+00 XX 0.6109589414E+00 0.6109589414E+00 0.6109589414E+00 0.6109589414E+00 0.6109589414E+00 XX 0.6581421194E+00 0.6581421194E+00 0.6581421194E+00 0.6581421194E+00 0.6581421194E+00 XX 0.6180982393E+01 0.6180982393E+01 0.6180982393E+01 0.6180982393E+01 0.6180982393E+01 XX 0.6360243428E+01 0.6360243428E+01 0.6360243428E+01 0.6360243428E+01 0.6360243428E+01 XX 0.6750115614E+00 0.6750115614E+00 0.6750115614E+00 0.6750115614E+00 0.6750115614E+00 XX 0.1862297732E-01 0.1862297732E-01 0.1862297732E-01 0.1862297732E-01 0.1862297732E-01 XX 0.1390103205E-01 0.1390103205E-01 0.1390103205E-01 0.1390103205E-01 0.1390103205E-01 XX 0.3420612971E+00 0.3420612971E+00 0.3420612971E+00 0.3420612971E+00 0.3420612971E+00 XX 0.6620880501E+00 0.6620880501E+00 0.6620880501E+00 0.6620880501E+00 0.6620880501E+00 XX 0.5120599573E+00 0.5120599573E+00 0.5120599573E+00 0.5120599573E+00 0.5120599573E+00 XX 0.2158133677E+01 0.2158133677E+01 0.2158133677E+01 0.2158133677E+01 0.2158133677E+01 XX 0.2351493380E+01 0.2351493380E+01 0.2351493380E+01 0.2351493380E+01 0.2351493380E+01 XX 0.1207814565E+02 0.1207814565E+02 0.1207814565E+02 0.1207814565E+02 0.1207814565E+02 XX 0.8477648916E-01 0.8477648916E-01 0.8477648916E-01 0.8477648916E-01 0.8477648916E-01 XX 0.8679137729E-01 0.8679137729E-01 0.8679137729E-01 0.8679137729E-01 0.8679137729E-01 XX 0.8417523490E-01 0.8417523490E-01 0.8417523490E-01 0.8417523490E-01 0.8417523490E-01 XX 0.7854099183E-01 0.7854099183E-01 0.7854099183E-01 0.7854099183E-01 0.7854099183E-01 XX 0.8209825110E-01 0.8209825110E-01 0.8209825110E-01 0.8209825110E-01 0.8209825110E-01 XX 0.3063992103E-01 0.3063992103E-01 0.3063992103E-01 0.3063992103E-01 0.3063992103E-01 XX 0.4526364339E+00 0.4526364339E+00 0.4526364339E+00 0.4526364339E+00 0.4526364339E+00 XX 0.4988408218E+00 0.4988408218E+00 0.4988408218E+00 0.4988408218E+00 0.4988408218E+00 XX 0.5258463815E+00 0.5258463815E+00 0.5258463815E+00 0.5258463815E+00 0.5258463815E+00 XX 0.5377916025E+00 0.5377916025E+00 0.5377916025E+00 0.5377916025E+00 0.5377916025E+00 XX 0.5781402573E+00 0.5781402573E+00 0.5781402573E+00 0.5781402573E+00 0.5781402573E+00 XX 0.4082138517E+01 0.4082138517E+01 0.4082138517E+01 0.4082138517E+01 0.4082138517E+01 XX 0.5152913077E+01 0.5152913077E+01 0.5152913077E+01 0.5152913077E+01 0.5152913077E+01 XX 0.6225233660E+01 0.6225233660E+01 0.6225233660E+01 0.6225233660E+01 0.6225233660E+01 XX 0.7063859130E+01 0.7063859130E+01 0.7063859130E+01 0.7063859130E+01 0.7063859130E+01 XX 0.7612668544E+01 0.7612668544E+01 0.7612668544E+01 0.7612668544E+01 0.7612668544E+01 XX 0.7976739255E+01 0.7976739255E+01 0.7976739255E+01 0.7976739255E+01 0.7976739255E+01 XX 0.1793436286E-01 0.1793436286E-01 0.1793436286E-01 0.1793436286E-01 0.1793436286E-01 XX 0.1546711914E-01 0.1546711914E-01 0.1546711914E-01 0.1546711914E-01 0.1546711914E-01 XX 0.1384478879E-01 0.1384478879E-01 0.1384478879E-01 0.1384478879E-01 0.1384478879E-01 XX 0.1130322840E-01 0.1130322840E-01 0.1130322840E-01 0.1130322840E-01 0.1130322840E-01 XX 0.6662914369E-01 0.6662914369E-01 0.6662914369E-01 0.6662914369E-01 0.6662914369E-01 XX 0.6520930958E-01 0.6520930958E-01 0.6520930958E-01 0.6520930958E-01 0.6520930958E-01 XX 0.6597842638E+00 0.6597842638E+00 0.6597842638E+00 0.6597842638E+00 0.6597842638E+00 XX 0.6182071950E+01 0.6182071950E+01 0.6182071950E+01 0.6182071950E+01 0.6182071950E+01 XX 0.6269889716E+00 0.6269889716E+00 0.6269889716E+00 0.6269889716E+00 0.6269889716E+00 XX 0.5761646162E+00 0.5761646162E+00 0.5761646162E+00 0.5761646162E+00 0.5761646162E+00 XX 0.4602236145E+01 0.4602236145E+01 0.4602236145E+01 0.4602236145E+01 0.4602236145E+01 XX 0.6029712132E+01 0.6029712132E+01 0.6029712132E+01 0.6029712132E+01 0.6029712132E+01 XX 0.8218418881E+01 0.8218418881E+01 0.8218418881E+01 0.8218418881E+01 0.8218418881E+01 XX 0.6632643222E-01 0.6632643222E-01 0.6632643222E-01 0.6632643222E-01 0.6632643222E-01 XX 0.4853888019E+01 0.4853888019E+01 0.4853888019E+01 0.4853888019E+01 0.4853888019E+01 XX 0.5397223604E+01 0.5397223604E+01 0.5397223604E+01 0.5397223604E+01 0.5397223604E+01 XX 0.5312465722E+00 0.5312465722E+00 0.5312465722E+00 0.5312465722E+00 0.5312465722E+00 XX 0.1462522107E+00 0.1462522107E+00 0.1462522107E+00 0.1462522107E+00 0.1462522107E+00 XX 0.1083608101E+01 0.1083608101E+01 0.1083608101E+01 0.1083608101E+01 0.1083608101E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0 0.3082968536929063 7.1204099999886238E-002 XEND_OF_FILE Xif test 108109 -ne `wc -c <'fort.30'`; then X echo shar: \"'fort.30'\" unpacked with wrong size! Xfi X# end of 'fort.30' Xfi Xif test -f 'fort.31' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'fort.31'\" Xelse Xecho shar: Extracting \"'fort.31'\" \(108364 characters\) Xsed "s/^X//" >'fort.31' <<'END_OF_FILE' XX 545 XX 142 785 157 XX 14 XX 15 XX 16 XX 17 XX 18 XX 19 XX 20 XX 33 XX 34 XX 35 XX 36 XX 37 XX 38 XX 39 XX 40 XX 58 XX 59 XX 60 XX 61 XX 62 XX 63 XX 64 XX 65 XX 83 XX 84 XX 85 XX 86 XX 87 XX 88 XX 89 XX 90 XX 109 XX 110 XX 111 XX 112 XX 113 XX 114 XX 115 XX 116 XX 134 XX 135 XX 136 XX 137 XX 138 XX 139 XX 153 XX 154 XX 155 XX 156 XX 157 XX 158 XX 159 XX 178 XX 179 XX 180 XX 181 XX 182 XX 183 XX 184 XX 203 XX 204 XX 205 XX 206 XX 207 XX 208 XX 209 XX 210 XX 229 XX 230 XX 231 XX 232 XX 233 XX 234 XX 235 XX 253 XX 254 XX 255 XX 256 XX 257 XX 258 XX 273 XX 274 XX 275 XX 276 XX 277 XX 278 XX 298 XX 299 XX 300 XX 301 XX 302 XX 303 XX 323 XX 324 XX 325 XX 326 XX 327 XX 328 XX 329 XX 349 XX 350 XX 351 XX 352 XX 353 XX 354 XX 355 XX 374 XX 375 XX 376 XX 377 XX 393 XX 394 XX 395 XX 396 XX 397 XX 418 XX 419 XX 420 XX 421 XX 422 XX 443 XX 444 XX 445 XX 446 XX 447 XX 448 XX 469 XX 470 XX 471 XX 472 XX 473 XX 474 XX 475 XX 491 XX 504 XX 505 XX 506 XX 516 XX 517 XX 519 XX 528 XX 539 XX 6 6 6 3 3 XX 100 500 0 0 0 XX 0.1000000000E+01 0.1000000000E+01 0.0000000000E+00 0.0000000000E+00 0.2000000000E+00 XX 0.2500000000E+00 0.5000000000E+00 2 XX 0.3000000000E+00 0.0000000000E+00 0.0000000000E+00 0.1400000000E+01 0.1000000000E+01 XX 0.1000000000E+01 XX 0.2500000000E+01 0.3563000000E+01 0.1183215957E+01 0.3549647870E+00 0.0000000000E+00 XX 0.0000000000E+00 XX 0.2500000000E+00 0.1666666700E+00 0.3750000000E+00 0.5000000000E+00 0.1000000000E+01 XX 0.0000000000E+00 XX 5 XX 0.1000000000E+01 0.0000000000E+00 0.5600000000E+00 XX 0.0000000000E+00 0.4400000000E+00 XX 0.0000000000E+00 XX 153 153 XX 34 34 XX 134 134 XX 35 35 XX 135 135 XX 36 36 XX 136 136 XX 37 37 XX 137 137 XX 38 38 XX 138 138 XX 39 39 XX 139 139 XX 40 40 XX 178 178 XX 179 179 XX 180 180 XX 181 181 XX 182 182 XX 183 183 XX 184 184 XX 203 203 XX 204 204 XX 205 205 XX 206 206 XX 207 207 XX 208 208 XX 209 209 XX 210 210 XX 229 229 XX 230 230 XX 231 231 XX 232 232 XX 233 233 XX 234 234 XX 235 235 XX 273 273 XX 254 254 XX 255 255 XX 256 256 XX 257 257 XX 258 258 XX 298 298 XX 300 300 XX 302 302 XX 323 323 XX 325 325 XX 327 327 XX 329 329 XX 348 348 XX 350 350 XX 352 352 XX 354 354 XX 393 393 XX 374 374 XX 375 375 XX 376 376 XX 377 377 XX 418 418 XX 420 420 XX 422 422 XX 443 443 XX 445 445 XX 447 447 XX 470 470 XX 472 472 XX 474 474 XX 504 504 XX 505 505 XX 506 506 XX 517 517 XX 528 528 XX 539 539 XX 33 33 XX 153 153 XX 15 15 XX 154 154 XX 16 16 XX 155 155 XX 17 17 XX 156 156 XX 18 18 XX 157 157 XX 19 19 XX 158 158 XX 20 20 XX 159 159 XX 58 58 XX 178 178 XX 60 60 XX 180 180 XX 62 62 XX 182 182 XX 64 64 XX 184 184 XX 83 83 XX 203 203 XX 85 85 XX 205 205 XX 87 87 XX 207 207 XX 89 89 XX 209 209 XX 110 110 XX 230 230 XX 112 112 XX 232 232 XX 114 114 XX 234 234 XX 116 116 XX 273 273 XX 254 254 XX 275 275 XX 256 256 XX 277 277 XX 258 258 XX 299 299 XX 301 301 XX 303 303 XX 324 324 XX 326 326 XX 328 328 XX 349 349 XX 351 351 XX 353 353 XX 393 393 XX 374 374 XX 395 395 XX 376 376 XX 397 397 XX 419 419 XX 421 421 XX 444 444 XX 446 446 XX 448 448 XX 469 469 XX 471 471 XX 473 473 XX 475 475 XX 504 504 XX 516 516 XX 519 519 XX 33 33 XX 154 154 XX 134 134 XX 155 155 XX 135 135 XX 156 156 XX 136 136 XX 157 157 XX 137 137 XX 158 158 XX 138 138 XX 159 159 XX 139 139 XX 59 59 XX 179 179 XX 61 61 XX 181 181 XX 63 63 XX 183 183 XX 84 84 XX 204 204 XX 86 86 XX 206 206 XX 88 88 XX 208 208 XX 210 210 XX 109 109 XX 229 229 XX 111 111 XX 231 231 XX 113 113 XX 233 233 XX 115 115 XX 235 235 XX 253 253 XX 274 274 XX 255 255 XX 276 276 XX 257 257 XX 278 278 XX 323 323 XX 299 299 XX 300 300 XX 301 301 XX 302 302 XX 303 303 XX 329 329 XX 355 355 XX 394 394 XX 375 375 XX 396 396 XX 377 377 XX 443 443 XX 419 419 XX 420 420 XX 421 421 XX 422 422 XX 469 469 XX 470 470 XX 471 471 XX 472 472 XX 473 473 XX 475 475 XX 491 491 XX 505 505 XX 528 528 XX 33 33 XX 153 153 XX 134 134 XX 135 135 XX 15 15 XX 155 155 XX 136 136 XX 137 137 XX 17 17 XX 157 157 XX 138 138 XX 139 139 XX 19 19 XX 159 159 XX 178 178 XX 179 179 XX 180 180 XX 181 181 XX 182 182 XX 183 183 XX 184 184 XX 83 83 XX 203 203 XX 204 204 XX 205 205 XX 206 206 XX 207 207 XX 208 208 XX 209 209 XX 229 229 XX 230 230 XX 231 231 XX 232 232 XX 233 233 XX 234 234 XX 210 210 XX 116 116 XX 273 273 XX 255 255 XX 256 256 XX 257 257 XX 258 258 XX 323 323 XX 300 300 XX 301 301 XX 302 302 XX 303 303 XX 330 330 XX 253 253 XX 393 393 XX 374 374 XX 375 375 XX 376 376 XX 377 377 XX 418 418 XX 419 419 XX 443 443 XX 420 420 XX 421 421 XX 422 422 XX 469 469 XX 470 470 XX 471 471 XX 472 472 XX 474 474 XX 504 504 XX 505 505 XX 506 506 XX 528 528 XX 540 540 XX 153 153 XX 33 33 XX 14 14 XX 134 134 XX 154 154 XX 135 135 XX 16 16 XX 136 136 XX 156 156 XX 137 137 XX 18 18 XX 138 138 XX 158 158 XX 139 139 XX 20 20 XX 178 178 XX 65 65 XX 203 203 XX 83 83 XX 179 179 XX 85 85 XX 180 180 XX 86 86 XX 181 181 XX 87 87 XX 182 182 XX 88 88 XX 183 183 XX 89 89 XX 184 184 XX 210 210 XX 237 237 XX 254 254 XX 274 274 XX 275 275 XX 276 276 XX 277 277 XX 278 278 XX 349 349 XX 324 324 XX 325 325 XX 351 351 XX 326 326 XX 327 327 XX 353 353 XX 354 354 XX 330 330 XX 374 374 XX 375 375 XX 376 376 XX 377 377 XX 394 394 XX 395 395 XX 396 396 XX 397 397 XX 447 447 XX 468 468 XX 444 444 XX 445 445 XX 446 446 XX 448 448 XX 450 450 XX 516 516 XX 517 517 XX 539 539 XX 464 464 XX 33 33 XX 134 134 XX 34 34 XX 135 135 XX 35 35 XX 136 136 XX 36 36 XX 137 137 XX 37 37 XX 138 138 XX 38 38 XX 139 139 XX 39 39 XX 40 40 XX 65 65 XX 83 83 XX 84 84 XX 179 179 XX 180 180 XX 181 181 XX 182 182 XX 183 183 XX 90 90 XX 205 205 XX 206 206 XX 207 207 XX 208 208 XX 113 113 XX 209 209 XX 116 116 XX 115 115 XX 298 298 XX 274 274 XX 275 275 XX 276 276 XX 277 277 XX 278 278 XX 324 324 XX 325 325 XX 326 326 XX 327 327 XX 328 328 XX 353 353 XX 329 329 XX 355 355 XX 255 255 XX 256 256 XX 257 257 XX 258 258 XX 418 418 XX 394 394 XX 395 395 XX 396 396 XX 397 397 XX 443 443 XX 445 445 XX 446 446 XX 447 447 XX 448 448 XX 516 516 XX 517 517 XX 519 519 XX 541 541 XX 14 14 XX 34 34 XX 135 135 XX 36 36 XX 137 137 XX 38 38 XX 139 139 XX 58 58 XX 154 154 XX 155 155 XX 156 156 XX 157 157 XX 158 158 XX 159 159 XX 83 83 XX 84 84 XX 85 85 XX 86 86 XX 87 87 XX 88 88 XX 184 184 XX 90 90 XX 204 204 XX 205 205 XX 206 206 XX 207 207 XX 208 208 XX 209 209 XX 210 210 XX 116 116 XX 298 298 XX 299 299 XX 324 324 XX 349 349 XX 325 325 XX 326 326 XX 352 352 XX 327 327 XX 328 328 XX 354 354 XX 329 329 XX 273 273 XX 393 393 XX 374 374 XX 375 375 XX 376 376 XX 377 377 XX 394 394 XX 395 395 XX 396 396 XX 397 397 XX 419 419 XX 444 444 XX 447 447 XX 418 418 XX 505 505 XX 517 517 XX 516 516 XX 528 528 XX 532 532 XX 544 544 XX 538 538 XX 153 153 XX 35 35 XX 136 136 XX 37 37 XX 138 138 XX 39 39 XX 58 58 XX 154 154 XX 155 155 XX 156 156 XX 157 157 XX 158 158 XX 159 159 XX 179 179 XX 180 180 XX 181 181 XX 182 182 XX 183 183 XX 184 184 XX 89 89 XX 109 109 XX 110 110 XX 111 111 XX 112 112 XX 113 113 XX 114 114 XX 134 134 XX 304 304 XX 324 324 XX 350 350 XX 326 326 XX 351 351 XX 352 352 XX 328 328 XX 393 393 XX 254 254 XX 394 394 XX 395 395 XX 396 396 XX 397 397 XX 418 418 XX 419 419 XX 420 420 XX 421 421 XX 422 422 XX 444 444 XX 446 446 XX 347 347 XX 447 447 XX 448 448 XX 449 449 XX 491 491 XX 374 374 XX 541 541 XX 539 539 XX 153 153 XX 134 134 XX 58 58 XX 154 154 XX 59 59 XX 155 155 XX 60 60 XX 156 156 XX 61 61 XX 157 157 XX 62 62 XX 158 158 XX 63 63 XX 159 159 XX 64 64 XX 203 203 XX 90 90 XX 204 204 XX 109 109 XX 205 205 XX 110 110 XX 206 206 XX 111 111 XX 207 207 XX 112 112 XX 208 208 XX 114 114 XX 209 209 XX 135 135 XX 136 136 XX 137 137 XX 138 138 XX 139 139 XX 235 235 XX 394 394 XX 395 395 XX 396 396 XX 397 397 XX 298 298 XX 418 418 XX 420 420 XX 421 421 XX 422 422 XX 443 443 XX 419 419 XX 445 445 XX 447 447 XX 448 448 XX 444 444 XX 446 446 XX 473 473 XX 474 474 XX 476 476 XX 529 529 XX 539 539 XX 58 58 XX 178 178 XX 59 59 XX 60 60 XX 61 61 XX 62 62 XX 63 63 XX 64 64 XX 65 65 XX 179 179 XX 180 180 XX 181 181 XX 182 182 XX 183 183 XX 184 184 XX 204 204 XX 205 205 XX 206 206 XX 207 207 XX 208 208 XX 209 209 XX 253 253 XX 273 273 XX 254 254 XX 274 274 XX 255 255 XX 275 275 XX 256 256 XX 276 276 XX 257 257 XX 277 277 XX 258 258 XX 278 278 XX 329 329 XX 348 348 XX 325 325 XX 350 350 XX 327 327 XX 328 328 XX 393 393 XX 395 395 XX 396 396 XX 397 397 XX 418 418 XX 420 420 XX 443 443 XX 445 445 XX 446 446 XX 448 448 XX 504 504 XX 506 506 XX 375 375 XX 519 519 XX 516 516 XX 528 528 XX 539 539 XX 40 40 XX 178 178 XX 154 154 XX 155 155 XX 156 156 XX 157 157 XX 158 158 XX 159 159 XX 203 203 XX 115 115 XX 273 273 XX 274 274 XX 275 275 XX 276 276 XX 277 277 XX 278 278 XX 298 298 XX 299 299 XX 300 300 XX 301 301 XX 302 302 XX 303 303 XX 323 323 XX 329 329 XX 444 444 XX 445 445 XX 446 446 XX 421 421 XX 422 422 XX 447 447 XX 505 505 XX 491 491 XX 504 504 XX 377 377 XX 506 506 XX 531 531 XX 530 530 XX 528 528 XX 153 153 XX 178 178 XX 203 203 XX 116 116 XX 253 253 XX 254 254 XX 255 255 XX 256 256 XX 257 257 XX 258 258 XX 298 298 XX 299 299 XX 300 300 XX 301 301 XX 302 302 XX 303 303 XX 323 323 XX 324 324 XX 325 325 XX 326 326 XX 327 327 XX 328 328 XX 393 393 XX 374 374 XX 375 375 XX 376 376 XX 377 377 XX 448 448 XX 445 445 XX 504 504 XX 505 505 XX 491 491 XX 516 516 XX 517 517 XX 519 519 XX 528 528 XX 525 525 XX 153 153 XX 273 273 XX 274 274 XX 275 275 XX 276 276 XX 277 277 XX 278 278 XX 298 298 XX 299 299 XX 300 300 XX 301 301 XX 302 302 XX 303 303 XX 323 323 XX 324 324 XX 325 325 XX 326 326 XX 327 327 XX 328 328 XX 329 329 XX 443 443 XX 393 393 XX 506 506 XX 505 505 XX 504 504 XX 376 376 XX 517 517 XX 528 528 XX 529 529 XX 273 273 XX 254 254 XX 255 255 XX 256 256 XX 257 257 XX 258 258 XX 298 298 XX 274 274 XX 275 275 XX 276 276 XX 277 277 XX 278 278 XX 323 323 XX 299 299 XX 300 300 XX 301 301 XX 302 302 XX 303 303 XX 210 210 XX 419 419 XX 420 420 XX 421 421 XX 422 422 XX 505 505 XX 506 506 XX 519 519 XX 516 516 XX 528 528 XX 526 526 XX 178 178 XX 203 203 XX 418 418 XX 491 491 XX 516 516 XX 517 517 XX 504 504 XX 443 443 XX 475 475 XX 394 394 XX 323 323 XX 505 505 XX 504 504 XX 519 519 XX 517 517 XX 516 516 XX 517 517 XX 0.1415020414E+00 0.1415020414E+00 0.1415020414E+00 0.1415020414E+00 0.1415020414E+00 XX 0.3656523536E-01 0.3656523536E-01 0.3656523536E-01 0.3656523536E-01 0.3656523536E-01 XX 0.4956697467E-01 0.4956697467E-01 0.4956697467E-01 0.4956697467E-01 0.4956697467E-01 XX 0.3988111103E-01 0.3988111103E-01 0.3988111103E-01 0.3988111103E-01 0.3988111103E-01 XX 0.6318157361E-01 0.6318157361E-01 0.6318157361E-01 0.6318157361E-01 0.6318157361E-01 XX 0.5069284819E-01 0.5069284819E-01 0.5069284819E-01 0.5069284819E-01 0.5069284819E-01 XX 0.8006461575E-01 0.8006461575E-01 0.8006461575E-01 0.8006461575E-01 0.8006461575E-01 XX 0.6215574940E-01 0.6215574940E-01 0.6215574940E-01 0.6215574940E-01 0.6215574940E-01 XX 0.9502988304E-01 0.9502988304E-01 0.9502988304E-01 0.9502988304E-01 0.9502988304E-01 XX 0.6874680548E-01 0.6874680548E-01 0.6874680548E-01 0.6874680548E-01 0.6874680548E-01 XX 0.1022141761E+00 0.1022141761E+00 0.1022141761E+00 0.1022141761E+00 0.1022141761E+00 XX 0.6931007640E-01 0.6931007640E-01 0.6931007640E-01 0.6931007640E-01 0.6931007640E-01 XX 0.1014330658E+00 0.1014330658E+00 0.1014330658E+00 0.1014330658E+00 0.1014330658E+00 XX 0.7822887954E-01 0.7822887954E-01 0.7822887954E-01 0.7822887954E-01 0.7822887954E-01 XX 0.7485448365E+00 0.7485448365E+00 0.7485448365E+00 0.7485448365E+00 0.7485448365E+00 XX 0.4802721301E+00 0.4802721301E+00 0.4802721301E+00 0.4802721301E+00 0.4802721301E+00 XX 0.4038550671E+00 0.4038550671E+00 0.4038550671E+00 0.4038550671E+00 0.4038550671E+00 XX 0.3979088467E+00 0.3979088467E+00 0.3979088467E+00 0.3979088467E+00 0.3979088467E+00 XX 0.4102705677E+00 0.4102705677E+00 0.4102705677E+00 0.4102705677E+00 0.4102705677E+00 XX 0.4115748132E+00 0.4115748132E+00 0.4115748132E+00 0.4115748132E+00 0.4115748132E+00 XX 0.3999122581E+00 0.3999122581E+00 0.3999122581E+00 0.3999122581E+00 0.3999122581E+00 XX 0.6096030782E+01 0.6096030782E+01 0.6096030782E+01 0.6096030782E+01 0.6096030782E+01 XX 0.4684971171E+01 0.4684971171E+01 0.4684971171E+01 0.4684971171E+01 0.4684971171E+01 XX 0.4245562595E+01 0.4245562595E+01 0.4245562595E+01 0.4245562595E+01 0.4245562595E+01 XX 0.4069528561E+01 0.4069528561E+01 0.4069528561E+01 0.4069528561E+01 0.4069528561E+01 XX 0.3912954125E+01 0.3912954125E+01 0.3912954125E+01 0.3912954125E+01 0.3912954125E+01 XX 0.3665312120E+01 0.3665312120E+01 0.3665312120E+01 0.3665312120E+01 0.3665312120E+01 XX 0.3367275251E+01 0.3367275251E+01 0.3367275251E+01 0.3367275251E+01 0.3367275251E+01 XX 0.1019001131E+01 0.1019001131E+01 0.1019001131E+01 0.1019001131E+01 0.1019001131E+01 XX 0.1729645625E+02 0.1729645625E+02 0.1729645625E+02 0.1729645625E+02 0.1729645625E+02 XX 0.1749393020E+02 0.1749393020E+02 0.1749393020E+02 0.1749393020E+02 0.1749393020E+02 XX 0.1672614432E+02 0.1672614432E+02 0.1672614432E+02 0.1672614432E+02 0.1672614432E+02 XX 0.1517913395E+02 0.1517913395E+02 0.1517913395E+02 0.1517913395E+02 0.1517913395E+02 XX 0.1315145629E+02 0.1315145629E+02 0.1315145629E+02 0.1315145629E+02 0.1315145629E+02 XX 0.1108826492E+02 0.1108826492E+02 0.1108826492E+02 0.1108826492E+02 0.1108826492E+02 XX 0.3254074961E+01 0.3254074961E+01 0.3254074961E+01 0.3254074961E+01 0.3254074961E+01 XX 0.5449402172E-01 0.5449402172E-01 0.5449402172E-01 0.5449402172E-01 0.5449402172E-01 XX 0.3455737043E-01 0.3455737043E-01 0.3455737043E-01 0.3455737043E-01 0.3455737043E-01 XX 0.4392889660E-01 0.4392889660E-01 0.4392889660E-01 0.4392889660E-01 0.4392889660E-01 XX 0.5562799682E-01 0.5562799682E-01 0.5562799682E-01 0.5562799682E-01 0.5562799682E-01 XX 0.6603098048E-01 0.6603098048E-01 0.6603098048E-01 0.6603098048E-01 0.6603098048E-01 XX 0.7100193840E-01 0.7100193840E-01 0.7100193840E-01 0.7100193840E-01 0.7100193840E-01 XX 0.8840560161E+00 0.8840560161E+00 0.8840560161E+00 0.8840560161E+00 0.8840560161E+00 XX 0.7975613154E+00 0.7975613154E+00 0.7975613154E+00 0.7975613154E+00 0.7975613154E+00 XX 0.7735325652E+00 0.7735325652E+00 0.7735325652E+00 0.7735325652E+00 0.7735325652E+00 XX 0.9626335418E+01 0.9626335418E+01 0.9626335418E+01 0.9626335418E+01 0.9626335418E+01 XX 0.1089411803E+02 0.1089411803E+02 0.1089411803E+02 0.1089411803E+02 0.1089411803E+02 XX 0.1090170065E+02 0.1090170065E+02 0.1090170065E+02 0.1090170065E+02 0.1090170065E+02 XX 0.1086366518E+02 0.1086366518E+02 0.1086366518E+02 0.1086366518E+02 0.1086366518E+02 XX 0.1230045447E+02 0.1230045447E+02 0.1230045447E+02 0.1230045447E+02 0.1230045447E+02 XX 0.1658431555E+02 0.1658431555E+02 0.1658431555E+02 0.1658431555E+02 0.1658431555E+02 XX 0.1752245833E+02 0.1752245833E+02 0.1752245833E+02 0.1752245833E+02 0.1752245833E+02 XX 0.1603294227E+02 0.1603294227E+02 0.1603294227E+02 0.1603294227E+02 0.1603294227E+02 XX 0.3635190878E-01 0.3635190878E-01 0.3635190878E-01 0.3635190878E-01 0.3635190878E-01 XX 0.2259600662E-01 0.2259600662E-01 0.2259600662E-01 0.2259600662E-01 0.2259600662E-01 XX 0.2894053683E-01 0.2894053683E-01 0.2894053683E-01 0.2894053683E-01 0.2894053683E-01 XX 0.3640200590E-01 0.3640200590E-01 0.3640200590E-01 0.3640200590E-01 0.3640200590E-01 XX 0.4304437753E-01 0.4304437753E-01 0.4304437753E-01 0.4304437753E-01 0.4304437753E-01 XX 0.6250563349E+00 0.6250563349E+00 0.6250563349E+00 0.6250563349E+00 0.6250563349E+00 XX 0.6116817964E+00 0.6116817964E+00 0.6116817964E+00 0.6116817964E+00 0.6116817964E+00 XX 0.5999868321E+00 0.5999868321E+00 0.5999868321E+00 0.5999868321E+00 0.5999868321E+00 XX 0.6635132564E+01 0.6635132564E+01 0.6635132564E+01 0.6635132564E+01 0.6635132564E+01 XX 0.9285413032E+01 0.9285413032E+01 0.9285413032E+01 0.9285413032E+01 0.9285413032E+01 XX 0.1020954588E+02 0.1020954588E+02 0.1020954588E+02 0.1020954588E+02 0.1020954588E+02 XX 0.1405017693E+02 0.1405017693E+02 0.1405017693E+02 0.1405017693E+02 0.1405017693E+02 XX 0.1657786052E+02 0.1657786052E+02 0.1657786052E+02 0.1657786052E+02 0.1657786052E+02 XX 0.1575813779E+02 0.1575813779E+02 0.1575813779E+02 0.1575813779E+02 0.1575813779E+02 XX 0.2773054871E-01 0.2773054871E-01 0.2773054871E-01 0.2773054871E-01 0.2773054871E-01 XX 0.2174652676E-01 0.2174652676E-01 0.2174652676E-01 0.2174652676E-01 0.2174652676E-01 XX 0.1766975018E-01 0.1766975018E-01 0.1766975018E-01 0.1766975018E-01 0.1766975018E-01 XX 0.8185164686E+00 0.8185164686E+00 0.8185164686E+00 0.8185164686E+00 0.8185164686E+00 XX 0.1512318596E+02 0.1512318596E+02 0.1512318596E+02 0.1512318596E+02 0.1512318596E+02 XX 0.1444706044E+02 0.1444706044E+02 0.1444706044E+02 0.1444706044E+02 0.1444706044E+02 XX 0.3365416060E-01 0.3365416060E-01 0.3365416060E-01 0.3365416060E-01 0.3365416060E-01 XX 0.1431856164E+00 0.1431856164E+00 0.1431856164E+00 0.1431856164E+00 0.1431856164E+00 XX 0.2804118897E-01 0.2804118897E-01 0.2804118897E-01 0.2804118897E-01 0.2804118897E-01 XX 0.1150547024E+00 0.1150547024E+00 0.1150547024E+00 0.1150547024E+00 0.1150547024E+00 XX 0.3880031137E-01 0.3880031137E-01 0.3880031137E-01 0.3880031137E-01 0.3880031137E-01 XX 0.1122589866E+00 0.1122589866E+00 0.1122589866E+00 0.1122589866E+00 0.1122589866E+00 XX 0.4878259877E-01 0.4878259877E-01 0.4878259877E-01 0.4878259877E-01 0.4878259877E-01 XX 0.1222523342E+00 0.1222523342E+00 0.1222523342E+00 0.1222523342E+00 0.1222523342E+00 XX 0.5517198441E-01 0.5517198441E-01 0.5517198441E-01 0.5517198441E-01 0.5517198441E-01 XX 0.1274999083E+00 0.1274999083E+00 0.1274999083E+00 0.1274999083E+00 0.1274999083E+00 XX 0.5704769458E-01 0.5704769458E-01 0.5704769458E-01 0.5704769458E-01 0.5704769458E-01 XX 0.1252327685E+00 0.1252327685E+00 0.1252327685E+00 0.1252327685E+00 0.1252327685E+00 XX 0.5529794954E-01 0.5529794954E-01 0.5529794954E-01 0.5529794954E-01 0.5529794954E-01 XX 0.1184731701E+00 0.1184731701E+00 0.1184731701E+00 0.1184731701E+00 0.1184731701E+00 XX 0.5244732616E+00 0.5244732616E+00 0.5244732616E+00 0.5244732616E+00 0.5244732616E+00 XX 0.1179902600E+01 0.1179902600E+01 0.1179902600E+01 0.1179902600E+01 0.1179902600E+01 XX 0.4450856605E+00 0.4450856605E+00 0.4450856605E+00 0.4450856605E+00 0.4450856605E+00 XX 0.1062256184E+01 0.1062256184E+01 0.1062256184E+01 0.1062256184E+01 0.1062256184E+01 XX 0.4810036354E+00 0.4810036354E+00 0.4810036354E+00 0.4810036354E+00 0.4810036354E+00 XX 0.1043369819E+01 0.1043369819E+01 0.1043369819E+01 0.1043369819E+01 0.1043369819E+01 XX 0.4576411600E+00 0.4576411600E+00 0.4576411600E+00 0.4576411600E+00 0.4576411600E+00 XX 0.1014490354E+01 0.1014490354E+01 0.1014490354E+01 0.1014490354E+01 0.1014490354E+01 XX 0.4496625353E+01 0.4496625353E+01 0.4496625353E+01 0.4496625353E+01 0.4496625353E+01 XX 0.1235272668E+02 0.1235272668E+02 0.1235272668E+02 0.1235272668E+02 0.1235272668E+02 XX 0.3934779063E+01 0.3934779063E+01 0.3934779063E+01 0.3934779063E+01 0.3934779063E+01 XX 0.1308137965E+02 0.1308137965E+02 0.1308137965E+02 0.1308137965E+02 0.1308137965E+02 XX 0.3789866284E+01 0.3789866284E+01 0.3789866284E+01 0.3789866284E+01 0.3789866284E+01 XX 0.1235754410E+02 0.1235754410E+02 0.1235754410E+02 0.1235754410E+02 0.1235754410E+02 XX 0.3368977182E+01 0.3368977182E+01 0.3368977182E+01 0.3368977182E+01 0.3368977182E+01 XX 0.1178126897E+02 0.1178126897E+02 0.1178126897E+02 0.1178126897E+02 0.1178126897E+02 XX 0.1538669074E+02 0.1538669074E+02 0.1538669074E+02 0.1538669074E+02 0.1538669074E+02 XX 0.1977206683E+02 0.1977206683E+02 0.1977206683E+02 0.1977206683E+02 0.1977206683E+02 XX 0.1370682075E+02 0.1370682075E+02 0.1370682075E+02 0.1370682075E+02 0.1370682075E+02 XX 0.1911559547E+02 0.1911559547E+02 0.1911559547E+02 0.1911559547E+02 0.1911559547E+02 XX 0.1093656137E+02 0.1093656137E+02 0.1093656137E+02 0.1093656137E+02 0.1093656137E+02 XX 0.1682169230E+02 0.1682169230E+02 0.1682169230E+02 0.1682169230E+02 0.1682169230E+02 XX 0.1054568909E+02 0.1054568909E+02 0.1054568909E+02 0.1054568909E+02 0.1054568909E+02 XX 0.1375043813E+00 0.1375043813E+00 0.1375043813E+00 0.1375043813E+00 0.1375043813E+00 XX 0.3000530314E-01 0.3000530314E-01 0.3000530314E-01 0.3000530314E-01 0.3000530314E-01 XX 0.1228800480E+00 0.1228800480E+00 0.1228800480E+00 0.1228800480E+00 0.1228800480E+00 XX 0.4208205967E-01 0.4208205967E-01 0.4208205967E-01 0.4208205967E-01 0.4208205967E-01 XX 0.1228584075E+00 0.1228584075E+00 0.1228584075E+00 0.1228584075E+00 0.1228584075E+00 XX 0.5558438935E-01 0.5558438935E-01 0.5558438935E-01 0.5558438935E-01 0.5558438935E-01 XX 0.8303421468E+00 0.8303421468E+00 0.8303421468E+00 0.8303421468E+00 0.8303421468E+00 XX 0.7851900714E+00 0.7851900714E+00 0.7851900714E+00 0.7851900714E+00 0.7851900714E+00 XX 0.7642642700E+00 0.7642642700E+00 0.7642642700E+00 0.7642642700E+00 0.7642642700E+00 XX 0.1046917146E+02 0.1046917146E+02 0.1046917146E+02 0.1046917146E+02 0.1046917146E+02 XX 0.1098920795E+02 0.1098920795E+02 0.1098920795E+02 0.1098920795E+02 0.1098920795E+02 XX 0.1081338036E+02 0.1081338036E+02 0.1081338036E+02 0.1081338036E+02 0.1081338036E+02 XX 0.1460924805E+02 0.1460924805E+02 0.1460924805E+02 0.1460924805E+02 0.1460924805E+02 XX 0.1758835622E+02 0.1758835622E+02 0.1758835622E+02 0.1758835622E+02 0.1758835622E+02 XX 0.1680140564E+02 0.1680140564E+02 0.1680140564E+02 0.1680140564E+02 0.1680140564E+02 XX 0.9673421988E-01 0.9673421988E-01 0.9673421988E-01 0.9673421988E-01 0.9673421988E-01 XX 0.2025983546E-01 0.2025983546E-01 0.2025983546E-01 0.2025983546E-01 0.2025983546E-01 XX 0.8288118080E-01 0.8288118080E-01 0.8288118080E-01 0.8288118080E-01 0.8288118080E-01 XX 0.2769981305E-01 0.2769981305E-01 0.2769981305E-01 0.2769981305E-01 0.2769981305E-01 XX 0.7772163254E-01 0.7772163254E-01 0.7772163254E-01 0.7772163254E-01 0.7772163254E-01 XX 0.6215681143E+00 0.6215681143E+00 0.6215681143E+00 0.6215681143E+00 0.6215681143E+00 XX 0.6055198752E+00 0.6055198752E+00 0.6055198752E+00 0.6055198752E+00 0.6055198752E+00 XX 0.8232303210E+01 0.8232303210E+01 0.8232303210E+01 0.8232303210E+01 0.8232303210E+01 XX 0.9894814978E+01 0.9894814978E+01 0.9894814978E+01 0.9894814978E+01 0.9894814978E+01 XX 0.1037251418E+02 0.1037251418E+02 0.1037251418E+02 0.1037251418E+02 0.1037251418E+02 XX 0.1120072586E+02 0.1120072586E+02 0.1120072586E+02 0.1120072586E+02 0.1120072586E+02 XX 0.1591577804E+02 0.1591577804E+02 0.1591577804E+02 0.1591577804E+02 0.1591577804E+02 XX 0.1632506252E+02 0.1632506252E+02 0.1632506252E+02 0.1632506252E+02 0.1632506252E+02 XX 0.2970839428E+01 0.2970839428E+01 0.2970839428E+01 0.2970839428E+01 0.2970839428E+01 XX 0.1018606876E+00 0.1018606876E+00 0.1018606876E+00 0.1018606876E+00 0.1018606876E+00 XX 0.8646258292E+00 0.8646258292E+00 0.8646258292E+00 0.8646258292E+00 0.8646258292E+00 XX 0.7091973102E-01 0.7091973102E-01 0.7091973102E-01 0.7091973102E-01 0.7091973102E-01 XX 0.2780654964E-01 0.2780654964E-01 0.2780654964E-01 0.2780654964E-01 0.2780654964E-01 XX 0.8562509917E-01 0.8562509917E-01 0.8562509917E-01 0.8562509917E-01 0.8562509917E-01 XX 0.2892773286E-01 0.2892773286E-01 0.2892773286E-01 0.2892773286E-01 0.2892773286E-01 XX 0.7969478790E-01 0.7969478790E-01 0.7969478790E-01 0.7969478790E-01 0.7969478790E-01 XX 0.4180645968E-01 0.4180645968E-01 0.4180645968E-01 0.4180645968E-01 0.4180645968E-01 XX 0.8384306764E-01 0.8384306764E-01 0.8384306764E-01 0.8384306764E-01 0.8384306764E-01 XX 0.5770438245E-01 0.5770438245E-01 0.5770438245E-01 0.5770438245E-01 0.5770438245E-01 XX 0.8955197555E-01 0.8955197555E-01 0.8955197555E-01 0.8955197555E-01 0.8955197555E-01 XX 0.7041114426E-01 0.7041114426E-01 0.7041114426E-01 0.7041114426E-01 0.7041114426E-01 XX 0.9190817007E-01 0.9190817007E-01 0.9190817007E-01 0.9190817007E-01 0.9190817007E-01 XX 0.7687688291E-01 0.7687688291E-01 0.7687688291E-01 0.7687688291E-01 0.7687688291E-01 XX 0.9047899477E-01 0.9047899477E-01 0.9047899477E-01 0.9047899477E-01 0.9047899477E-01 XX 0.7682179562E-01 0.7682179562E-01 0.7682179562E-01 0.7682179562E-01 0.7682179562E-01 XX 0.4580941858E+00 0.4580941858E+00 0.4580941858E+00 0.4580941858E+00 0.4580941858E+00 XX 0.1098097320E+01 0.1098097320E+01 0.1098097320E+01 0.1098097320E+01 0.1098097320E+01 XX 0.4680400241E+00 0.4680400241E+00 0.4680400241E+00 0.4680400241E+00 0.4680400241E+00 XX 0.1056412556E+01 0.1056412556E+01 0.1056412556E+01 0.1056412556E+01 0.1056412556E+01 XX 0.4752723550E+00 0.4752723550E+00 0.4752723550E+00 0.4752723550E+00 0.4752723550E+00 XX 0.1026408191E+01 0.1026408191E+01 0.1026408191E+01 0.1026408191E+01 0.1026408191E+01 XX 0.4104021104E+01 0.4104021104E+01 0.4104021104E+01 0.4104021104E+01 0.4104021104E+01 XX 0.1294873770E+02 0.1294873770E+02 0.1294873770E+02 0.1294873770E+02 0.1294873770E+02 XX 0.3895017540E+01 0.3895017540E+01 0.3895017540E+01 0.3895017540E+01 0.3895017540E+01 XX 0.1282202836E+02 0.1282202836E+02 0.1282202836E+02 0.1282202836E+02 0.1282202836E+02 XX 0.3593852852E+01 0.3593852852E+01 0.3593852852E+01 0.3593852852E+01 0.3593852852E+01 XX 0.1195509130E+02 0.1195509130E+02 0.1195509130E+02 0.1195509130E+02 0.1195509130E+02 XX 0.1213100905E+02 0.1213100905E+02 0.1213100905E+02 0.1213100905E+02 0.1213100905E+02 XX 0.1534538496E+02 0.1534538496E+02 0.1534538496E+02 0.1534538496E+02 0.1534538496E+02 XX 0.1855316451E+02 0.1855316451E+02 0.1855316451E+02 0.1855316451E+02 0.1855316451E+02 XX 0.1484887450E+02 0.1484887450E+02 0.1484887450E+02 0.1484887450E+02 0.1484887450E+02 XX 0.1993059502E+02 0.1993059502E+02 0.1993059502E+02 0.1993059502E+02 0.1993059502E+02 XX 0.1225812881E+02 0.1225812881E+02 0.1225812881E+02 0.1225812881E+02 0.1225812881E+02 XX 0.1787672183E+02 0.1787672183E+02 0.1787672183E+02 0.1787672183E+02 0.1787672183E+02 XX 0.1040333464E+02 0.1040333464E+02 0.1040333464E+02 0.1040333464E+02 0.1040333464E+02 XX 0.1653386541E+02 0.1653386541E+02 0.1653386541E+02 0.1653386541E+02 0.1653386541E+02 XX 0.2720254850E-01 0.2720254850E-01 0.2720254850E-01 0.2720254850E-01 0.2720254850E-01 XX 0.1281443236E+00 0.1281443236E+00 0.1281443236E+00 0.1281443236E+00 0.1281443236E+00 XX 0.3480388179E-01 0.3480388179E-01 0.3480388179E-01 0.3480388179E-01 0.3480388179E-01 XX 0.1231536502E+00 0.1231536502E+00 0.1231536502E+00 0.1231536502E+00 0.1231536502E+00 XX 0.5028633625E-01 0.5028633625E-01 0.5028633625E-01 0.5028633625E-01 0.5028633625E-01 XX 0.1215362885E+00 0.1215362885E+00 0.1215362885E+00 0.1215362885E+00 0.1215362885E+00 XX 0.1482956187E+01 0.1482956187E+01 0.1482956187E+01 0.1482956187E+01 0.1482956187E+01 XX 0.9463843710E+00 0.9463843710E+00 0.9463843710E+00 0.9463843710E+00 0.9463843710E+00 XX 0.8550518416E+00 0.8550518416E+00 0.8550518416E+00 0.8550518416E+00 0.8550518416E+00 XX 0.8138278964E+00 0.8138278964E+00 0.8138278964E+00 0.8138278964E+00 0.8138278964E+00 XX 0.7818678409E+00 0.7818678409E+00 0.7818678409E+00 0.7818678409E+00 0.7818678409E+00 XX 0.7294962084E+00 0.7294962084E+00 0.7294962084E+00 0.7294962084E+00 0.7294962084E+00 XX 0.8764297149E+01 0.8764297149E+01 0.8764297149E+01 0.8764297149E+01 0.8764297149E+01 XX 0.1570302166E+02 0.1570302166E+02 0.1570302166E+02 0.1570302166E+02 0.1570302166E+02 XX 0.8938188561E-01 0.8938188561E-01 0.8938188561E-01 0.8938188561E-01 0.8938188561E-01 XX 0.2315838593E-01 0.2315838593E-01 0.2315838593E-01 0.2315838593E-01 0.2315838593E-01 XX 0.8006915777E-01 0.8006915777E-01 0.8006915777E-01 0.8006915777E-01 0.8006915777E-01 XX 0.3289059306E-01 0.3289059306E-01 0.3289059306E-01 0.3289059306E-01 0.3289059306E-01 XX 0.9622162848E+00 0.9622162848E+00 0.9622162848E+00 0.9622162848E+00 0.9622162848E+00 XX 0.6320598383E+00 0.6320598383E+00 0.6320598383E+00 0.6320598383E+00 0.6320598383E+00 XX 0.6312069108E+00 0.6312069108E+00 0.6312069108E+00 0.6312069108E+00 0.6312069108E+00 XX 0.6329899488E+00 0.6329899488E+00 0.6329899488E+00 0.6329899488E+00 0.6329899488E+00 XX 0.6259365588E+00 0.6259365588E+00 0.6259365588E+00 0.6259365588E+00 0.6259365588E+00 XX 0.9561989209E+01 0.9561989209E+01 0.9561989209E+01 0.9561989209E+01 0.9561989209E+01 XX 0.1146175088E+02 0.1146175088E+02 0.1146175088E+02 0.1146175088E+02 0.1146175088E+02 XX 0.1281389798E+02 0.1281389798E+02 0.1281389798E+02 0.1281389798E+02 0.1281389798E+02 XX 0.1312805983E+02 0.1312805983E+02 0.1312805983E+02 0.1312805983E+02 0.1312805983E+02 XX 0.1129319031E+02 0.1129319031E+02 0.1129319031E+02 0.1129319031E+02 0.1129319031E+02 XX 0.1534993850E+02 0.1534993850E+02 0.1534993850E+02 0.1534993850E+02 0.1534993850E+02 XX 0.1741372243E-01 0.1741372243E-01 0.1741372243E-01 0.1741372243E-01 0.1741372243E-01 XX 0.9854660221E-01 0.9854660221E-01 0.9854660221E-01 0.9854660221E-01 0.9854660221E-01 XX 0.9414703903E+00 0.9414703903E+00 0.9414703903E+00 0.9414703903E+00 0.9414703903E+00 XX 0.2794381908E-01 0.2794381908E-01 0.2794381908E-01 0.2794381908E-01 0.2794381908E-01 XX 0.1860612246E+00 0.1860612246E+00 0.1860612246E+00 0.1860612246E+00 0.1860612246E+00 XX 0.3376379597E-01 0.3376379597E-01 0.3376379597E-01 0.3376379597E-01 0.3376379597E-01 XX 0.4121687930E-01 0.4121687930E-01 0.4121687930E-01 0.4121687930E-01 0.4121687930E-01 XX 0.2587109499E-01 0.2587109499E-01 0.2587109499E-01 0.2587109499E-01 0.2587109499E-01 XX 0.1730353003E+00 0.1730353003E+00 0.1730353003E+00 0.1730353003E+00 0.1730353003E+00 XX 0.5069680898E-01 0.5069680898E-01 0.5069680898E-01 0.5069680898E-01 0.5069680898E-01 XX 0.5849411123E-01 0.5849411123E-01 0.5849411123E-01 0.5849411123E-01 0.5849411123E-01 XX 0.3513356522E-01 0.3513356522E-01 0.3513356522E-01 0.3513356522E-01 0.3513356522E-01 XX 0.1807459135E+00 0.1807459135E+00 0.1807459135E+00 0.1807459135E+00 0.1807459135E+00 XX 0.6261579736E-01 0.6261579736E-01 0.6261579736E-01 0.6261579736E-01 0.6261579736E-01 XX 0.6284892211E-01 0.6284892211E-01 0.6284892211E-01 0.6284892211E-01 0.6284892211E-01 XX 0.3521955328E-01 0.3521955328E-01 0.3521955328E-01 0.3521955328E-01 0.3521955328E-01 XX 0.1768980956E+00 0.1768980956E+00 0.1768980956E+00 0.1768980956E+00 0.1768980956E+00 XX 0.9654727256E+00 0.9654727256E+00 0.9654727256E+00 0.9654727256E+00 0.9654727256E+00 XX 0.7933308716E+00 0.7933308716E+00 0.7933308716E+00 0.7933308716E+00 0.7933308716E+00 XX 0.7226894399E+00 0.7226894399E+00 0.7226894399E+00 0.7226894399E+00 0.7226894399E+00 XX 0.7056930704E+00 0.7056930704E+00 0.7056930704E+00 0.7056930704E+00 0.7056930704E+00 XX 0.6700661781E+00 0.6700661781E+00 0.6700661781E+00 0.6700661781E+00 0.6700661781E+00 XX 0.6081593990E+00 0.6081593990E+00 0.6081593990E+00 0.6081593990E+00 0.6081593990E+00 XX 0.5394834204E+00 0.5394834204E+00 0.5394834204E+00 0.5394834204E+00 0.5394834204E+00 XX 0.8626370019E+00 0.8626370019E+00 0.8626370019E+00 0.8626370019E+00 0.8626370019E+00 XX 0.1045315129E+02 0.1045315129E+02 0.1045315129E+02 0.1045315129E+02 0.1045315129E+02 XX 0.9820619785E+01 0.9820619785E+01 0.9820619785E+01 0.9820619785E+01 0.9820619785E+01 XX 0.9117404280E+01 0.9117404280E+01 0.9117404280E+01 0.9117404280E+01 0.9117404280E+01 XX 0.8240109056E+01 0.8240109056E+01 0.8240109056E+01 0.8240109056E+01 0.8240109056E+01 XX 0.7076566099E+01 0.7076566099E+01 0.7076566099E+01 0.7076566099E+01 0.7076566099E+01 XX 0.5758291059E+01 0.5758291059E+01 0.5758291059E+01 0.5758291059E+01 0.5758291059E+01 XX 0.4563132681E+01 0.4563132681E+01 0.4563132681E+01 0.4563132681E+01 0.4563132681E+01 XX 0.1522641550E+02 0.1522641550E+02 0.1522641550E+02 0.1522641550E+02 0.1522641550E+02 XX 0.1555702819E+02 0.1555702819E+02 0.1555702819E+02 0.1555702819E+02 0.1555702819E+02 XX 0.1516119990E+02 0.1516119990E+02 0.1516119990E+02 0.1516119990E+02 0.1516119990E+02 XX 0.1387165839E+02 0.1387165839E+02 0.1387165839E+02 0.1387165839E+02 0.1387165839E+02 XX 0.1197740099E+02 0.1197740099E+02 0.1197740099E+02 0.1197740099E+02 0.1197740099E+02 XX 0.1007322993E+02 0.1007322993E+02 0.1007322993E+02 0.1007322993E+02 0.1007322993E+02 XX 0.1789654625E+02 0.1789654625E+02 0.1789654625E+02 0.1789654625E+02 0.1789654625E+02 XX 0.1133929218E+02 0.1133929218E+02 0.1133929218E+02 0.1133929218E+02 0.1133929218E+02 XX 0.2988230521E-01 0.2988230521E-01 0.2988230521E-01 0.2988230521E-01 0.2988230521E-01 XX 0.2059380640E-01 0.2059380640E-01 0.2059380640E-01 0.2059380640E-01 0.2059380640E-01 XX 0.2576583492E-01 0.2576583492E-01 0.2576583492E-01 0.2576583492E-01 0.2576583492E-01 XX 0.3044709271E-01 0.3044709271E-01 0.3044709271E-01 0.3044709271E-01 0.3044709271E-01 XX 0.3345122917E-01 0.3345122917E-01 0.3345122917E-01 0.3345122917E-01 0.3345122917E-01 XX 0.9179642216E+00 0.9179642216E+00 0.9179642216E+00 0.9179642216E+00 0.9179642216E+00 XX 0.5482896430E+00 0.5482896430E+00 0.5482896430E+00 0.5482896430E+00 0.5482896430E+00 XX 0.5413854810E+00 0.5413854810E+00 0.5413854810E+00 0.5413854810E+00 0.5413854810E+00 XX 0.5495368538E+00 0.5495368538E+00 0.5495368538E+00 0.5495368538E+00 0.5495368538E+00 XX 0.5557818326E+00 0.5557818326E+00 0.5557818326E+00 0.5557818326E+00 0.5557818326E+00 XX 0.8766742468E+01 0.8766742468E+01 0.8766742468E+01 0.8766742468E+01 0.8766742468E+01 XX 0.4212233172E-02 0.4212233172E-02 0.4212233172E-02 0.4212233172E-02 0.4212233172E-02 XX 0.1996561082E-01 0.1996561082E-01 0.1996561082E-01 0.1996561082E-01 0.1996561082E-01 XX 0.1429085026E-01 0.1429085026E-01 0.1429085026E-01 0.1429085026E-01 0.1429085026E-01 XX 0.1353323337E-01 0.1353323337E-01 0.1353323337E-01 0.1353323337E-01 0.1353323337E-01 XX 0.1670804965E-01 0.1670804965E-01 0.1670804965E-01 0.1670804965E-01 0.1670804965E-01 XX 0.1960314182E-01 0.1960314182E-01 0.1960314182E-01 0.1960314182E-01 0.1960314182E-01 XX 0.4083091907E+00 0.4083091907E+00 0.4083091907E+00 0.4083091907E+00 0.4083091907E+00 XX 0.2599467100E+00 0.2599467100E+00 0.2599467100E+00 0.2599467100E+00 0.2599467100E+00 XX 0.6112734162E+00 0.6112734162E+00 0.6112734162E+00 0.6112734162E+00 0.6112734162E+00 XX 0.4437026060E+00 0.4437026060E+00 0.4437026060E+00 0.4437026060E+00 0.4437026060E+00 XX 0.4526354483E+00 0.4526354483E+00 0.4526354483E+00 0.4526354483E+00 0.4526354483E+00 XX 0.4601454780E+00 0.4601454780E+00 0.4601454780E+00 0.4601454780E+00 0.4601454780E+00 XX 0.9764869089E+01 0.9764869089E+01 0.9764869089E+01 0.9764869089E+01 0.9764869089E+01 XX 0.1185641887E+02 0.1185641887E+02 0.1185641887E+02 0.1185641887E+02 0.1185641887E+02 XX 0.1299708337E+02 0.1299708337E+02 0.1299708337E+02 0.1299708337E+02 0.1299708337E+02 XX 0.1272497339E+02 0.1272497339E+02 0.1272497339E+02 0.1272497339E+02 0.1272497339E+02 XX 0.9426527296E+01 0.9426527296E+01 0.9426527296E+01 0.9426527296E+01 0.9426527296E+01 XX 0.1291669176E-01 0.1291669176E-01 0.1291669176E-01 0.1291669176E-01 0.1291669176E-01 XX 0.1223656365E-01 0.1223656365E-01 0.1223656365E-01 0.1223656365E-01 0.1223656365E-01 XX 0.1063193659E-01 0.1063193659E-01 0.1063193659E-01 0.1063193659E-01 0.1063193659E-01 XX 0.7467520432E+00 0.7467520432E+00 0.7467520432E+00 0.7467520432E+00 0.7467520432E+00 XX 0.1199276805E+02 0.1199276805E+02 0.1199276805E+02 0.1199276805E+02 0.1199276805E+02 XX 0.7733637445E-01 0.7733637445E-01 0.7733637445E-01 0.7733637445E-01 0.7733637445E-01 XX 0.8607238592E-01 0.8607238592E-01 0.8607238592E-01 0.8607238592E-01 0.8607238592E-01 XX 0.1962430333E-01 0.1962430333E-01 0.1962430333E-01 0.1962430333E-01 0.1962430333E-01 XX 0.3342092559E-01 0.3342092559E-01 0.3342092559E-01 0.3342092559E-01 0.3342092559E-01 XX 0.1752161424E+00 0.1752161424E+00 0.1752161424E+00 0.1752161424E+00 0.1752161424E+00 XX 0.4005742427E-01 0.4005742427E-01 0.4005742427E-01 0.4005742427E-01 0.4005742427E-01 XX 0.3152290883E-01 0.3152290883E-01 0.3152290883E-01 0.3152290883E-01 0.3152290883E-01 XX 0.4766144908E-01 0.4766144908E-01 0.4766144908E-01 0.4766144908E-01 0.4766144908E-01 XX 0.1781983828E+00 0.1781983828E+00 0.1781983828E+00 0.1781983828E+00 0.1781983828E+00 XX 0.5269544475E-01 0.5269544475E-01 0.5269544475E-01 0.5269544475E-01 0.5269544475E-01 XX 0.3621237965E-01 0.3621237965E-01 0.3621237965E-01 0.3621237965E-01 0.3621237965E-01 XX 0.5406519547E-01 0.5406519547E-01 0.5406519547E-01 0.5406519547E-01 0.5406519547E-01 XX 0.1799214109E+00 0.1799214109E+00 0.1799214109E+00 0.1799214109E+00 0.1799214109E+00 XX 0.5233451732E-01 0.5233451732E-01 0.5233451732E-01 0.5233451732E-01 0.5233451732E-01 XX 0.4300785236E-01 0.4300785236E-01 0.4300785236E-01 0.4300785236E-01 0.4300785236E-01 XX 0.9654727256E+00 0.9654727256E+00 0.9654727256E+00 0.9654727256E+00 0.9654727256E+00 XX 0.4635211689E+00 0.4635211689E+00 0.4635211689E+00 0.4635211689E+00 0.4635211689E+00 XX 0.1045315129E+02 0.1045315129E+02 0.1045315129E+02 0.1045315129E+02 0.1045315129E+02 XX 0.1260868418E+01 0.1260868418E+01 0.1260868418E+01 0.1260868418E+01 0.1260868418E+01 XX 0.1235490302E+01 0.1235490302E+01 0.1235490302E+01 0.1235490302E+01 0.1235490302E+01 XX 0.1125431572E+01 0.1125431572E+01 0.1125431572E+01 0.1125431572E+01 0.1125431572E+01 XX 0.7190364119E+00 0.7190364119E+00 0.7190364119E+00 0.7190364119E+00 0.7190364119E+00 XX 0.1030397454E+01 0.1030397454E+01 0.1030397454E+01 0.1030397454E+01 0.1030397454E+01 XX 0.7123842457E+00 0.7123842457E+00 0.7123842457E+00 0.7123842457E+00 0.7123842457E+00 XX 0.9783646412E+00 0.9783646412E+00 0.9783646412E+00 0.9783646412E+00 0.9783646412E+00 XX 0.7324283873E+00 0.7324283873E+00 0.7324283873E+00 0.7324283873E+00 0.7324283873E+00 XX 0.8901068782E+00 0.8901068782E+00 0.8901068782E+00 0.8901068782E+00 0.8901068782E+00 XX 0.7439295747E+00 0.7439295747E+00 0.7439295747E+00 0.7439295747E+00 0.7439295747E+00 XX 0.7672483971E+00 0.7672483971E+00 0.7672483971E+00 0.7672483971E+00 0.7672483971E+00 XX 0.7419604096E+00 0.7419604096E+00 0.7419604096E+00 0.7419604096E+00 0.7419604096E+00 XX 0.9327856236E+01 0.9327856236E+01 0.9327856236E+01 0.9327856236E+01 0.9327856236E+01 XX 0.9092286755E+01 0.9092286755E+01 0.9092286755E+01 0.9092286755E+01 0.9092286755E+01 XX 0.1762607815E-01 0.1762607815E-01 0.1762607815E-01 0.1762607815E-01 0.1762607815E-01 XX 0.8649564200E-01 0.8649564200E-01 0.8649564200E-01 0.8649564200E-01 0.8649564200E-01 XX 0.7730143320E-01 0.7730143320E-01 0.7730143320E-01 0.7730143320E-01 0.7730143320E-01 XX 0.7685101817E-01 0.7685101817E-01 0.7685101817E-01 0.7685101817E-01 0.7685101817E-01 XX 0.7922437428E-01 0.7922437428E-01 0.7922437428E-01 0.7922437428E-01 0.7922437428E-01 XX 0.8057971388E-01 0.8057971388E-01 0.8057971388E-01 0.8057971388E-01 0.8057971388E-01 XX 0.1348651315E+02 0.1348651315E+02 0.1348651315E+02 0.1348651315E+02 0.1348651315E+02 XX 0.7386621920E+01 0.7386621920E+01 0.7386621920E+01 0.7386621920E+01 0.7386621920E+01 XX 0.1378395487E+02 0.1378395487E+02 0.1378395487E+02 0.1378395487E+02 0.1378395487E+02 XX 0.1467093014E+02 0.1467093014E+02 0.1467093014E+02 0.1467093014E+02 0.1467093014E+02 XX 0.8650048787E+01 0.8650048787E+01 0.8650048787E+01 0.8650048787E+01 0.8650048787E+01 XX 0.1271668886E+02 0.1271668886E+02 0.1271668886E+02 0.1271668886E+02 0.1271668886E+02 XX 0.1269495956E+02 0.1269495956E+02 0.1269495956E+02 0.1269495956E+02 0.1269495956E+02 XX 0.9789829372E+01 0.9789829372E+01 0.9789829372E+01 0.9789829372E+01 0.9789829372E+01 XX 0.1684630873E+02 0.1684630873E+02 0.1684630873E+02 0.1684630873E+02 0.1684630873E+02 XX 0.1192668725E-01 0.1192668725E-01 0.1192668725E-01 0.1192668725E-01 0.1192668725E-01 XX 0.2014067854E-01 0.2014067854E-01 0.2014067854E-01 0.2014067854E-01 0.2014067854E-01 XX 0.2768495678E-01 0.2768495678E-01 0.2768495678E-01 0.2768495678E-01 0.2768495678E-01 XX 0.3367647826E-01 0.3367647826E-01 0.3367647826E-01 0.3367647826E-01 0.3367647826E-01 XX 0.6065472106E-01 0.6065472106E-01 0.6065472106E-01 0.6065472106E-01 0.6065472106E-01 XX 0.5469783554E-01 0.5469783554E-01 0.5469783554E-01 0.5469783554E-01 0.5469783554E-01 XX 0.5327052841E-01 0.5327052841E-01 0.5327052841E-01 0.5327052841E-01 0.5327052841E-01 XX 0.5324574909E-01 0.5324574909E-01 0.5324574909E-01 0.5324574909E-01 0.5324574909E-01 XX 0.5590903455E+01 0.5590903455E+01 0.5590903455E+01 0.5590903455E+01 0.5590903455E+01 XX 0.1099197457E+02 0.1099197457E+02 0.1099197457E+02 0.1099197457E+02 0.1099197457E+02 XX 0.9492900973E+01 0.9492900973E+01 0.9492900973E+01 0.9492900973E+01 0.9492900973E+01 XX 0.1103034294E+02 0.1103034294E+02 0.1103034294E+02 0.1103034294E+02 0.1103034294E+02 XX 0.1172860949E+02 0.1172860949E+02 0.1172860949E+02 0.1172860949E+02 0.1172860949E+02 XX 0.8467057731E+01 0.8467057731E+01 0.8467057731E+01 0.8467057731E+01 0.8467057731E+01 XX 0.8675291410E+01 0.8675291410E+01 0.8675291410E+01 0.8675291410E+01 0.8675291410E+01 XX 0.9850106020E-01 0.9850106020E-01 0.9850106020E-01 0.9850106020E-01 0.9850106020E-01 XX 0.9202722433E-01 0.9202722433E-01 0.9202722433E-01 0.9202722433E-01 0.9202722433E-01 XX 0.1628854978E+02 0.1628854978E+02 0.1628854978E+02 0.1628854978E+02 0.1628854978E+02 XX 0.1368791457E+02 0.1368791457E+02 0.1368791457E+02 0.1368791457E+02 0.1368791457E+02 XX 0.2794381908E-01 0.2794381908E-01 0.2794381908E-01 0.2794381908E-01 0.2794381908E-01 XX 0.2548437283E-01 0.2548437283E-01 0.2548437283E-01 0.2548437283E-01 0.2548437283E-01 XX 0.2634670804E-01 0.2634670804E-01 0.2634670804E-01 0.2634670804E-01 0.2634670804E-01 XX 0.3004510916E-01 0.3004510916E-01 0.3004510916E-01 0.3004510916E-01 0.3004510916E-01 XX 0.3030987690E-01 0.3030987690E-01 0.3030987690E-01 0.3030987690E-01 0.3030987690E-01 XX 0.3776049900E-01 0.3776049900E-01 0.3776049900E-01 0.3776049900E-01 0.3776049900E-01 XX 0.3634981200E-01 0.3634981200E-01 0.3634981200E-01 0.3634981200E-01 0.3634981200E-01 XX 0.4467336868E-01 0.4467336868E-01 0.4467336868E-01 0.4467336868E-01 0.4467336868E-01 XX 0.4035720139E-01 0.4035720139E-01 0.4035720139E-01 0.4035720139E-01 0.4035720139E-01 XX 0.4902331061E-01 0.4902331061E-01 0.4902331061E-01 0.4902331061E-01 0.4902331061E-01 XX 0.4126940663E-01 0.4126940663E-01 0.4126940663E-01 0.4126940663E-01 0.4126940663E-01 XX 0.5025852044E-01 0.5025852044E-01 0.5025852044E-01 0.5025852044E-01 0.5025852044E-01 XX 0.3975434020E-01 0.3975434020E-01 0.3975434020E-01 0.3975434020E-01 0.3975434020E-01 XX 0.9917154423E-01 0.9917154423E-01 0.9917154423E-01 0.9917154423E-01 0.9917154423E-01 XX 0.1434899348E+00 0.1434899348E+00 0.1434899348E+00 0.1434899348E+00 0.1434899348E+00 XX 0.1516750807E+01 0.1516750807E+01 0.1516750807E+01 0.1516750807E+01 0.1516750807E+01 XX 0.1369090661E+01 0.1369090661E+01 0.1369090661E+01 0.1369090661E+01 0.1369090661E+01 XX 0.7952762781E+00 0.7952762781E+00 0.7952762781E+00 0.7952762781E+00 0.7952762781E+00 XX 0.1077935791E+01 0.1077935791E+01 0.1077935791E+01 0.1077935791E+01 0.1077935791E+01 XX 0.1041414421E+01 0.1041414421E+01 0.1041414421E+01 0.1041414421E+01 0.1041414421E+01 XX 0.1029563791E+01 0.1029563791E+01 0.1029563791E+01 0.1029563791E+01 0.1029563791E+01 XX 0.9986195442E+00 0.9986195442E+00 0.9986195442E+00 0.9986195442E+00 0.9986195442E+00 XX 0.8656485355E+00 0.8656485355E+00 0.8656485355E+00 0.8656485355E+00 0.8656485355E+00 XX 0.8843885512E+01 0.8843885512E+01 0.8843885512E+01 0.8843885512E+01 0.8843885512E+01 XX 0.9208739818E+01 0.9208739818E+01 0.9208739818E+01 0.9208739818E+01 0.9208739818E+01 XX 0.9489144032E+01 0.9489144032E+01 0.9489144032E+01 0.9489144032E+01 0.9489144032E+01 XX 0.9549859755E+01 0.9549859755E+01 0.9549859755E+01 0.9549859755E+01 0.9549859755E+01 XX 0.7319289311E+01 0.7319289311E+01 0.7319289311E+01 0.7319289311E+01 0.7319289311E+01 XX 0.9446487046E+01 0.9446487046E+01 0.9446487046E+01 0.9446487046E+01 0.9446487046E+01 XX 0.4463473738E+01 0.4463473738E+01 0.4463473738E+01 0.4463473738E+01 0.4463473738E+01 XX 0.1034751946E+02 0.1034751946E+02 0.1034751946E+02 0.1034751946E+02 0.1034751946E+02 XX 0.2359763616E+00 0.2359763616E+00 0.2359763616E+00 0.2359763616E+00 0.2359763616E+00 XX 0.1293145017E+00 0.1293145017E+00 0.1293145017E+00 0.1293145017E+00 0.1293145017E+00 XX 0.1176587432E+00 0.1176587432E+00 0.1176587432E+00 0.1176587432E+00 0.1176587432E+00 XX 0.1190185179E+00 0.1190185179E+00 0.1190185179E+00 0.1190185179E+00 0.1190185179E+00 XX 0.1239784315E+00 0.1239784315E+00 0.1239784315E+00 0.1239784315E+00 0.1239784315E+00 XX 0.1224726971E+00 0.1224726971E+00 0.1224726971E+00 0.1224726971E+00 0.1224726971E+00 XX 0.7096332478E+01 0.7096332478E+01 0.7096332478E+01 0.7096332478E+01 0.7096332478E+01 XX 0.7581610046E+01 0.7581610046E+01 0.7581610046E+01 0.7581610046E+01 0.7581610046E+01 XX 0.8129530156E+01 0.8129530156E+01 0.8129530156E+01 0.8129530156E+01 0.8129530156E+01 XX 0.8537084541E+01 0.8537084541E+01 0.8537084541E+01 0.8537084541E+01 0.8537084541E+01 XX 0.8730359515E+01 0.8730359515E+01 0.8730359515E+01 0.8730359515E+01 0.8730359515E+01 XX 0.1166016389E+02 0.1166016389E+02 0.1166016389E+02 0.1166016389E+02 0.1166016389E+02 XX 0.1018444139E+02 0.1018444139E+02 0.1018444139E+02 0.1018444139E+02 0.1018444139E+02 XX 0.3173158183E+01 0.3173158183E+01 0.3173158183E+01 0.3173158183E+01 0.3173158183E+01 XX 0.1373323533E-01 0.1373323533E-01 0.1373323533E-01 0.1373323533E-01 0.1373323533E-01 XX 0.1874220464E-01 0.1874220464E-01 0.1874220464E-01 0.1874220464E-01 0.1874220464E-01 XX 0.2343971874E-01 0.2343971874E-01 0.2343971874E-01 0.2343971874E-01 0.2343971874E-01 XX 0.2642883381E-01 0.2642883381E-01 0.2642883381E-01 0.2642883381E-01 0.2642883381E-01 XX 0.1569713203E+00 0.1569713203E+00 0.1569713203E+00 0.1569713203E+00 0.1569713203E+00 XX 0.8306070632E-01 0.8306070632E-01 0.8306070632E-01 0.8306070632E-01 0.8306070632E-01 XX 0.7900997854E-01 0.7900997854E-01 0.7900997854E-01 0.7900997854E-01 0.7900997854E-01 XX 0.7956612182E-01 0.7956612182E-01 0.7956612182E-01 0.7956612182E-01 0.7956612182E-01 XX 0.8180145466E-01 0.8180145466E-01 0.8180145466E-01 0.8180145466E-01 0.8180145466E-01 XX 0.3245842161E+01 0.3245842161E+01 0.3245842161E+01 0.3245842161E+01 0.3245842161E+01 XX 0.6618051169E+01 0.6618051169E+01 0.6618051169E+01 0.6618051169E+01 0.6618051169E+01 XX 0.7529274922E+01 0.7529274922E+01 0.7529274922E+01 0.7529274922E+01 0.7529274922E+01 XX 0.8132995299E+01 0.8132995299E+01 0.8132995299E+01 0.8132995299E+01 0.8132995299E+01 XX 0.1093613206E+02 0.1093613206E+02 0.1093613206E+02 0.1093613206E+02 0.1093613206E+02 XX 0.6371063711E-01 0.6371063711E-01 0.6371063711E-01 0.6371063711E-01 0.6371063711E-01 XX 0.6248347659E-01 0.6248347659E-01 0.6248347659E-01 0.6248347659E-01 0.6248347659E-01 XX 0.5419057617E-01 0.5419057617E-01 0.5419057617E-01 0.5419057617E-01 0.5419057617E-01 XX 0.1246356744E+02 0.1246356744E+02 0.1246356744E+02 0.1246356744E+02 0.1246356744E+02 XX 0.2080513146E-01 0.2080513146E-01 0.2080513146E-01 0.2080513146E-01 0.2080513146E-01 XX 0.8435858471E-01 0.8435858471E-01 0.8435858471E-01 0.8435858471E-01 0.8435858471E-01 XX 0.4918870962E-01 0.4918870962E-01 0.4918870962E-01 0.4918870962E-01 0.4918870962E-01 XX 0.1000559714E+00 0.1000559714E+00 0.1000559714E+00 0.1000559714E+00 0.1000559714E+00 XX 0.7195095898E-01 0.7195095898E-01 0.7195095898E-01 0.7195095898E-01 0.7195095898E-01 XX 0.1079121189E+00 0.1079121189E+00 0.1079121189E+00 0.1079121189E+00 0.1079121189E+00 XX 0.8164029370E-01 0.8164029370E-01 0.8164029370E-01 0.8164029370E-01 0.8164029370E-01 XX 0.1781260687E+00 0.1781260687E+00 0.1781260687E+00 0.1781260687E+00 0.1781260687E+00 XX 0.1220228133E+00 0.1220228133E+00 0.1220228133E+00 0.1220228133E+00 0.1220228133E+00 XX 0.1100969423E+00 0.1100969423E+00 0.1100969423E+00 0.1100969423E+00 0.1100969423E+00 XX 0.1129264884E+00 0.1129264884E+00 0.1129264884E+00 0.1129264884E+00 0.1129264884E+00 XX 0.1198567091E+00 0.1198567091E+00 0.1198567091E+00 0.1198567091E+00 0.1198567091E+00 XX 0.1239415507E+00 0.1239415507E+00 0.1239415507E+00 0.1239415507E+00 0.1239415507E+00 XX 0.1242113102E+00 0.1242113102E+00 0.1242113102E+00 0.1242113102E+00 0.1242113102E+00 XX 0.1260868418E+01 0.1260868418E+01 0.1260868418E+01 0.1260868418E+01 0.1260868418E+01 XX 0.1036932638E+01 0.1036932638E+01 0.1036932638E+01 0.1036932638E+01 0.1036932638E+01 XX 0.9291679119E+00 0.9291679119E+00 0.9291679119E+00 0.9291679119E+00 0.9291679119E+00 XX 0.8787639956E+00 0.8787639956E+00 0.8787639956E+00 0.8787639956E+00 0.8787639956E+00 XX 0.8044323242E+00 0.8044323242E+00 0.8044323242E+00 0.8044323242E+00 0.8044323242E+00 XX 0.6985144771E+00 0.6985144771E+00 0.6985144771E+00 0.6985144771E+00 0.6985144771E+00 XX 0.9491997914E+00 0.9491997914E+00 0.9491997914E+00 0.9491997914E+00 0.9491997914E+00 XX 0.3317759969E+01 0.3317759969E+01 0.3317759969E+01 0.3317759969E+01 0.3317759969E+01 XX 0.1730036120E+02 0.1730036120E+02 0.1730036120E+02 0.1730036120E+02 0.1730036120E+02 XX 0.1674675393E+02 0.1674675393E+02 0.1674675393E+02 0.1674675393E+02 0.1674675393E+02 XX 0.1584484679E+02 0.1584484679E+02 0.1584484679E+02 0.1584484679E+02 0.1584484679E+02 XX 0.1463642184E+02 0.1463642184E+02 0.1463642184E+02 0.1463642184E+02 0.1463642184E+02 XX 0.1327285387E+02 0.1327285387E+02 0.1327285387E+02 0.1327285387E+02 0.1327285387E+02 XX 0.1195573975E+02 0.1195573975E+02 0.1195573975E+02 0.1195573975E+02 0.1195573975E+02 XX 0.2942517487E+01 0.2942517487E+01 0.2942517487E+01 0.2942517487E+01 0.2942517487E+01 XX 0.1050234599E+02 0.1050234599E+02 0.1050234599E+02 0.1050234599E+02 0.1050234599E+02 XX 0.1284318449E+00 0.1284318449E+00 0.1284318449E+00 0.1284318449E+00 0.1284318449E+00 XX 0.5980314273E+00 0.5980314273E+00 0.5980314273E+00 0.5980314273E+00 0.5980314273E+00 XX 0.1371008886E+02 0.1371008886E+02 0.1371008886E+02 0.1371008886E+02 0.1371008886E+02 XX 0.1255010276E+02 0.1255010276E+02 0.1255010276E+02 0.1255010276E+02 0.1255010276E+02 XX 0.8107679830E+01 0.8107679830E+01 0.8107679830E+01 0.8107679830E+01 0.8107679830E+01 XX 0.1355395771E+02 0.1355395771E+02 0.1355395771E+02 0.1355395771E+02 0.1355395771E+02 XX 0.1407459352E+02 0.1407459352E+02 0.1407459352E+02 0.1407459352E+02 0.1407459352E+02 XX 0.8878940533E+01 0.8878940533E+01 0.8878940533E+01 0.8878940533E+01 0.8878940533E+01 XX 0.1145418885E+02 0.1145418885E+02 0.1145418885E+02 0.1145418885E+02 0.1145418885E+02 XX 0.1093595668E+02 0.1093595668E+02 0.1093595668E+02 0.1093595668E+02 0.1093595668E+02 XX 0.8840239337E+01 0.8840239337E+01 0.8840239337E+01 0.8840239337E+01 0.8840239337E+01 XX 0.1645789939E-01 0.1645789939E-01 0.1645789939E-01 0.1645789939E-01 0.1645789939E-01 XX 0.7041707183E-01 0.7041707183E-01 0.7041707183E-01 0.7041707183E-01 0.7041707183E-01 XX 0.1668553627E-01 0.1668553627E-01 0.1668553627E-01 0.1668553627E-01 0.1668553627E-01 XX 0.1948608712E-01 0.1948608712E-01 0.1948608712E-01 0.1948608712E-01 0.1948608712E-01 XX 0.2296080712E-01 0.2296080712E-01 0.2296080712E-01 0.2296080712E-01 0.2296080712E-01 XX 0.2518904500E-01 0.2518904500E-01 0.2518904500E-01 0.2518904500E-01 0.2518904500E-01 XX 0.6802992157E-01 0.6802992157E-01 0.6802992157E-01 0.6802992157E-01 0.6802992157E-01 XX 0.6519078581E-01 0.6519078581E-01 0.6519078581E-01 0.6519078581E-01 0.6519078581E-01 XX 0.6631660562E-01 0.6631660562E-01 0.6631660562E-01 0.6631660562E-01 0.6631660562E-01 XX 0.6560001268E-01 0.6560001268E-01 0.6560001268E-01 0.6560001268E-01 0.6560001268E-01 XX 0.4394899051E+00 0.4394899051E+00 0.4394899051E+00 0.4394899051E+00 0.4394899051E+00 XX 0.5860391687E+01 0.5860391687E+01 0.5860391687E+01 0.5860391687E+01 0.5860391687E+01 XX 0.1164569114E+02 0.1164569114E+02 0.1164569114E+02 0.1164569114E+02 0.1164569114E+02 XX 0.5770800089E-01 0.5770800089E-01 0.5770800089E-01 0.5770800089E-01 0.5770800089E-01 XX 0.5701296727E-01 0.5701296727E-01 0.5701296727E-01 0.5701296727E-01 0.5701296727E-01 XX 0.3538634567E+00 0.3538634567E+00 0.3538634567E+00 0.3538634567E+00 0.3538634567E+00 XX 0.3580235063E+00 0.3580235063E+00 0.3580235063E+00 0.3580235063E+00 0.3580235063E+00 XX 0.5759184149E+01 0.5759184149E+01 0.5759184149E+01 0.5759184149E+01 0.5759184149E+01 XX 0.3836756058E+01 0.3836756058E+01 0.3836756058E+01 0.3836756058E+01 0.3836756058E+01 XX 0.7987085581E+01 0.7987085581E+01 0.7987085581E+01 0.7987085581E+01 0.7987085581E+01 XX 0.2711473894E+01 0.2711473894E+01 0.2711473894E+01 0.2711473894E+01 0.2711473894E+01 XX 0.1431856164E+00 0.1431856164E+00 0.1431856164E+00 0.1431856164E+00 0.1431856164E+00 XX 0.8976084621E-01 0.8976084621E-01 0.8976084621E-01 0.8976084621E-01 0.8976084621E-01 XX 0.5998314389E-01 0.5998314389E-01 0.5998314389E-01 0.5998314389E-01 0.5998314389E-01 XX 0.1067016607E+00 0.1067016607E+00 0.1067016607E+00 0.1067016607E+00 0.1067016607E+00 XX 0.7967481374E-01 0.7967481374E-01 0.7967481374E-01 0.7967481374E-01 0.7967481374E-01 XX 0.1049923192E+00 0.1049923192E+00 0.1049923192E+00 0.1049923192E+00 0.1049923192E+00 XX 0.1363305493E+00 0.1363305493E+00 0.1363305493E+00 0.1363305493E+00 0.1363305493E+00 XX 0.1548215296E+00 0.1548215296E+00 0.1548215296E+00 0.1548215296E+00 0.1548215296E+00 XX 0.1405822304E+00 0.1405822304E+00 0.1405822304E+00 0.1405822304E+00 0.1405822304E+00 XX 0.1469358478E+00 0.1469358478E+00 0.1469358478E+00 0.1469358478E+00 0.1469358478E+00 XX 0.1575844552E+00 0.1575844552E+00 0.1575844552E+00 0.1575844552E+00 0.1575844552E+00 XX 0.1629404629E+00 0.1629404629E+00 0.1629404629E+00 0.1629404629E+00 0.1629404629E+00 XX 0.1618719790E+00 0.1618719790E+00 0.1618719790E+00 0.1618719790E+00 0.1618719790E+00 XX 0.1347087786E+01 0.1347087786E+01 0.1347087786E+01 0.1347087786E+01 0.1347087786E+01 XX 0.1195711547E+01 0.1195711547E+01 0.1195711547E+01 0.1195711547E+01 0.1195711547E+01 XX 0.1123246090E+01 0.1123246090E+01 0.1123246090E+01 0.1123246090E+01 0.1123246090E+01 XX 0.1069728311E+01 0.1069728311E+01 0.1069728311E+01 0.1069728311E+01 0.1069728311E+01 XX 0.9896091254E+00 0.9896091254E+00 0.9896091254E+00 0.9896091254E+00 0.9896091254E+00 XX 0.9035002392E+00 0.9035002392E+00 0.9035002392E+00 0.9035002392E+00 0.9035002392E+00 XX 0.5876274439E+00 0.5876274439E+00 0.5876274439E+00 0.5876274439E+00 0.5876274439E+00 XX 0.1772790333E+02 0.1772790333E+02 0.1772790333E+02 0.1772790333E+02 0.1772790333E+02 XX 0.1664224962E+02 0.1664224962E+02 0.1664224962E+02 0.1664224962E+02 0.1664224962E+02 XX 0.1513419252E+02 0.1513419252E+02 0.1513419252E+02 0.1513419252E+02 0.1513419252E+02 XX 0.1305671020E+02 0.1305671020E+02 0.1305671020E+02 0.1305671020E+02 0.1305671020E+02 XX 0.1051884669E+02 0.1051884669E+02 0.1051884669E+02 0.1051884669E+02 0.1051884669E+02 XX 0.5287084024E+01 0.5287084024E+01 0.5287084024E+01 0.5287084024E+01 0.5287084024E+01 XX 0.1584941177E-01 0.1584941177E-01 0.1584941177E-01 0.1584941177E-01 0.1584941177E-01 XX 0.6172010206E+00 0.6172010206E+00 0.6172010206E+00 0.6172010206E+00 0.6172010206E+00 XX 0.1341782005E+02 0.1341782005E+02 0.1341782005E+02 0.1341782005E+02 0.1341782005E+02 XX 0.1442906307E+02 0.1442906307E+02 0.1442906307E+02 0.1442906307E+02 0.1442906307E+02 XX 0.1371604307E+02 0.1371604307E+02 0.1371604307E+02 0.1371604307E+02 0.1371604307E+02 XX 0.1409185697E+02 0.1409185697E+02 0.1409185697E+02 0.1409185697E+02 0.1409185697E+02 XX 0.1331654755E+02 0.1331654755E+02 0.1331654755E+02 0.1331654755E+02 0.1331654755E+02 XX 0.8889864698E+01 0.8889864698E+01 0.8889864698E+01 0.8889864698E+01 0.8889864698E+01 XX 0.7773337625E-01 0.7773337625E-01 0.7773337625E-01 0.7773337625E-01 0.7773337625E-01 XX 0.1085766464E-01 0.1085766464E-01 0.1085766464E-01 0.1085766464E-01 0.1085766464E-01 XX 0.4471543288E-01 0.4471543288E-01 0.4471543288E-01 0.4471543288E-01 0.4471543288E-01 XX 0.3875646747E-01 0.3875646747E-01 0.3875646747E-01 0.3875646747E-01 0.3875646747E-01 XX 0.3842924354E-01 0.3842924354E-01 0.3842924354E-01 0.3842924354E-01 0.3842924354E-01 XX 0.3903888450E-01 0.3903888450E-01 0.3903888450E-01 0.3903888450E-01 0.3903888450E-01 XX 0.8591997012E-01 0.8591997012E-01 0.8591997012E-01 0.8591997012E-01 0.8591997012E-01 XX 0.4112540626E+00 0.4112540626E+00 0.4112540626E+00 0.4112540626E+00 0.4112540626E+00 XX 0.3924069328E+00 0.3924069328E+00 0.3924069328E+00 0.3924069328E+00 0.3924069328E+00 XX 0.3861885823E+00 0.3861885823E+00 0.3861885823E+00 0.3861885823E+00 0.3861885823E+00 XX 0.3637083457E+00 0.3637083457E+00 0.3637083457E+00 0.3637083457E+00 0.3637083457E+00 XX 0.6272839511E+01 0.6272839511E+01 0.6272839511E+01 0.6272839511E+01 0.6272839511E+01 XX 0.6180982393E+01 0.6180982393E+01 0.6180982393E+01 0.6180982393E+01 0.6180982393E+01 XX 0.9818667745E+01 0.9818667745E+01 0.9818667745E+01 0.9818667745E+01 0.9818667745E+01 XX 0.8112176570E+01 0.8112176570E+01 0.8112176570E+01 0.8112176570E+01 0.8112176570E+01 XX 0.8235184765E+01 0.8235184765E+01 0.8235184765E+01 0.8235184765E+01 0.8235184765E+01 XX 0.8604231672E+01 0.8604231672E+01 0.8604231672E+01 0.8604231672E+01 0.8604231672E+01 XX 0.1780982189E-01 0.1780982189E-01 0.1780982189E-01 0.1780982189E-01 0.1780982189E-01 XX 0.7150232079E-02 0.7150232079E-02 0.7150232079E-02 0.7150232079E-02 0.7150232079E-02 XX 0.1779301208E+02 0.1779301208E+02 0.1779301208E+02 0.1779301208E+02 0.1779301208E+02 XX 0.1053199833E+02 0.1053199833E+02 0.1053199833E+02 0.1053199833E+02 0.1053199833E+02 XX 0.4329252897E-01 0.4329252897E-01 0.4329252897E-01 0.4329252897E-01 0.4329252897E-01 XX 0.4169842777E-01 0.4169842777E-01 0.4169842777E-01 0.4169842777E-01 0.4169842777E-01 XX 0.1495705462E+00 0.1495705462E+00 0.1495705462E+00 0.1495705462E+00 0.1495705462E+00 XX 0.1899888309E+00 0.1899888309E+00 0.1899888309E+00 0.1899888309E+00 0.1899888309E+00 XX 0.1159752337E+00 0.1159752337E+00 0.1159752337E+00 0.1159752337E+00 0.1159752337E+00 XX 0.1717963009E+00 0.1717963009E+00 0.1717963009E+00 0.1717963009E+00 0.1717963009E+00 XX 0.1112622628E+00 0.1112622628E+00 0.1112622628E+00 0.1112622628E+00 0.1112622628E+00 XX 0.1761823811E+00 0.1761823811E+00 0.1761823811E+00 0.1761823811E+00 0.1761823811E+00 XX 0.1212936523E+00 0.1212936523E+00 0.1212936523E+00 0.1212936523E+00 0.1212936523E+00 XX 0.1858578384E+00 0.1858578384E+00 0.1858578384E+00 0.1858578384E+00 0.1858578384E+00 XX 0.1266543076E+00 0.1266543076E+00 0.1266543076E+00 0.1266543076E+00 0.1266543076E+00 XX 0.1855164930E+00 0.1855164930E+00 0.1855164930E+00 0.1855164930E+00 0.1855164930E+00 XX 0.1237402701E+00 0.1237402701E+00 0.1237402701E+00 0.1237402701E+00 0.1237402701E+00 XX 0.1771940108E+00 0.1771940108E+00 0.1771940108E+00 0.1771940108E+00 0.1771940108E+00 XX 0.1156665116E+00 0.1156665116E+00 0.1156665116E+00 0.1156665116E+00 0.1156665116E+00 XX 0.2130570734E+01 0.2130570734E+01 0.2130570734E+01 0.2130570734E+01 0.2130570734E+01 XX 0.5694761793E+00 0.5694761793E+00 0.5694761793E+00 0.5694761793E+00 0.5694761793E+00 XX 0.1724387913E+02 0.1724387913E+02 0.1724387913E+02 0.1724387913E+02 0.1724387913E+02 XX 0.1503142817E+02 0.1503142817E+02 0.1503142817E+02 0.1503142817E+02 0.1503142817E+02 XX 0.1715548928E+02 0.1715548928E+02 0.1715548928E+02 0.1715548928E+02 0.1715548928E+02 XX 0.1367347988E+02 0.1367347988E+02 0.1367347988E+02 0.1367347988E+02 0.1367347988E+02 XX 0.1627027084E+02 0.1627027084E+02 0.1627027084E+02 0.1627027084E+02 0.1627027084E+02 XX 0.1185521560E+02 0.1185521560E+02 0.1185521560E+02 0.1185521560E+02 0.1185521560E+02 XX 0.1468919717E+02 0.1468919717E+02 0.1468919717E+02 0.1468919717E+02 0.1468919717E+02 XX 0.9647968781E+01 0.9647968781E+01 0.9647968781E+01 0.9647968781E+01 0.9647968781E+01 XX 0.1276679671E+02 0.1276679671E+02 0.1276679671E+02 0.1276679671E+02 0.1276679671E+02 XX 0.7890169680E+01 0.7890169680E+01 0.7890169680E+01 0.7890169680E+01 0.7890169680E+01 XX 0.1106166788E+02 0.1106166788E+02 0.1106166788E+02 0.1106166788E+02 0.1106166788E+02 XX 0.2053316325E-01 0.2053316325E-01 0.2053316325E-01 0.2053316325E-01 0.2053316325E-01 XX 0.2820771035E-01 0.2820771035E-01 0.2820771035E-01 0.2820771035E-01 0.2820771035E-01 XX 0.3536833603E-01 0.3536833603E-01 0.3536833603E-01 0.3536833603E-01 0.3536833603E-01 XX 0.3994620370E-01 0.3994620370E-01 0.3994620370E-01 0.3994620370E-01 0.3994620370E-01 XX 0.4131109041E-01 0.4131109041E-01 0.4131109041E-01 0.4131109041E-01 0.4131109041E-01 XX 0.9874725426E+01 0.9874725426E+01 0.9874725426E+01 0.9874725426E+01 0.9874725426E+01 XX 0.5402218313E-01 0.5402218313E-01 0.5402218313E-01 0.5402218313E-01 0.5402218313E-01 XX 0.5019595518E-01 0.5019595518E-01 0.5019595518E-01 0.5019595518E-01 0.5019595518E-01 XX 0.5232794919E-01 0.5232794919E-01 0.5232794919E-01 0.5232794919E-01 0.5232794919E-01 XX 0.5270887576E-01 0.5270887576E-01 0.5270887576E-01 0.5270887576E-01 0.5270887576E-01 XX 0.8384376468E-01 0.8384376468E-01 0.8384376468E-01 0.8384376468E-01 0.8384376468E-01 XX 0.5097700105E+00 0.5097700105E+00 0.5097700105E+00 0.5097700105E+00 0.5097700105E+00 XX 0.2070613339E+00 0.2070613339E+00 0.2070613339E+00 0.2070613339E+00 0.2070613339E+00 XX 0.1977146530E+00 0.1977146530E+00 0.1977146530E+00 0.1977146530E+00 0.1977146530E+00 XX 0.1983101365E+00 0.1983101365E+00 0.1983101365E+00 0.1983101365E+00 0.1983101365E+00 XX 0.6295007445E+01 0.6295007445E+01 0.6295007445E+01 0.6295007445E+01 0.6295007445E+01 XX 0.4472101759E+00 0.4472101759E+00 0.4472101759E+00 0.4472101759E+00 0.4472101759E+00 XX 0.6360243428E+01 0.6360243428E+01 0.6360243428E+01 0.6360243428E+01 0.6360243428E+01 XX 0.2643902944E+01 0.2643902944E+01 0.2643902944E+01 0.2643902944E+01 0.2643902944E+01 XX 0.2606373600E+01 0.2606373600E+01 0.2606373600E+01 0.2606373600E+01 0.2606373600E+01 XX 0.1002170530E+02 0.1002170530E+02 0.1002170530E+02 0.1002170530E+02 0.1002170530E+02 XX 0.1202521415E+02 0.1202521415E+02 0.1202521415E+02 0.1202521415E+02 0.1202521415E+02 XX 0.1230543413E+02 0.1230543413E+02 0.1230543413E+02 0.1230543413E+02 0.1230543413E+02 XX 0.1076625371E+02 0.1076625371E+02 0.1076625371E+02 0.1076625371E+02 0.1076625371E+02 XX 0.8352776354E+01 0.8352776354E+01 0.8352776354E+01 0.8352776354E+01 0.8352776354E+01 XX 0.1135401985E+02 0.1135401985E+02 0.1135401985E+02 0.1135401985E+02 0.1135401985E+02 XX 0.9128121317E+01 0.9128121317E+01 0.9128121317E+01 0.9128121317E+01 0.9128121317E+01 XX 0.1495705462E+00 0.1495705462E+00 0.1495705462E+00 0.1495705462E+00 0.1495705462E+00 XX 0.3427430476E+00 0.3427430476E+00 0.3427430476E+00 0.3427430476E+00 0.3427430476E+00 XX 0.1710873313E+00 0.1710873313E+00 0.1710873313E+00 0.1710873313E+00 0.1710873313E+00 XX 0.1377699358E+00 0.1377699358E+00 0.1377699358E+00 0.1377699358E+00 0.1377699358E+00 XX 0.1378372735E+00 0.1378372735E+00 0.1378372735E+00 0.1378372735E+00 0.1378372735E+00 XX 0.1497402940E+00 0.1497402940E+00 0.1497402940E+00 0.1497402940E+00 0.1497402940E+00 XX 0.1542289294E+00 0.1542289294E+00 0.1542289294E+00 0.1542289294E+00 0.1542289294E+00 XX 0.1487194467E+00 0.1487194467E+00 0.1487194467E+00 0.1487194467E+00 0.1487194467E+00 XX 0.1299384835E+00 0.1299384835E+00 0.1299384835E+00 0.1299384835E+00 0.1299384835E+00 XX 0.7695604530E+00 0.7695604530E+00 0.7695604530E+00 0.7695604530E+00 0.7695604530E+00 XX 0.7479993005E+00 0.7479993005E+00 0.7479993005E+00 0.7479993005E+00 0.7479993005E+00 XX 0.7763652053E+00 0.7763652053E+00 0.7763652053E+00 0.7763652053E+00 0.7763652053E+00 XX 0.7943590992E+00 0.7943590992E+00 0.7943590992E+00 0.7943590992E+00 0.7943590992E+00 XX 0.7933893797E+00 0.7933893797E+00 0.7933893797E+00 0.7933893797E+00 0.7933893797E+00 XX 0.7821012332E+00 0.7821012332E+00 0.7821012332E+00 0.7821012332E+00 0.7821012332E+00 XX 0.8655142942E+01 0.8655142942E+01 0.8655142942E+01 0.8655142942E+01 0.8655142942E+01 XX 0.9151693922E+01 0.9151693922E+01 0.9151693922E+01 0.9151693922E+01 0.9151693922E+01 XX 0.9545857370E+01 0.9545857370E+01 0.9545857370E+01 0.9545857370E+01 0.9545857370E+01 XX 0.9664185760E+01 0.9664185760E+01 0.9664185760E+01 0.9664185760E+01 0.9664185760E+01 XX 0.9570976632E+01 0.9570976632E+01 0.9570976632E+01 0.9570976632E+01 0.9570976632E+01 XX 0.9415324514E+01 0.9415324514E+01 0.9415324514E+01 0.9415324514E+01 0.9415324514E+01 XX 0.2667881030E-01 0.2667881030E-01 0.2667881030E-01 0.2667881030E-01 0.2667881030E-01 XX 0.1039802022E+00 0.1039802022E+00 0.1039802022E+00 0.1039802022E+00 0.1039802022E+00 XX 0.2149966410E-01 0.2149966410E-01 0.2149966410E-01 0.2149966410E-01 0.2149966410E-01 XX 0.8209825110E-01 0.8209825110E-01 0.8209825110E-01 0.8209825110E-01 0.8209825110E-01 XX 0.3054537383E-01 0.3054537383E-01 0.3054537383E-01 0.3054537383E-01 0.3054537383E-01 XX 0.7854099183E-01 0.7854099183E-01 0.7854099183E-01 0.7854099183E-01 0.7854099183E-01 XX 0.4205053689E-01 0.4205053689E-01 0.4205053689E-01 0.4205053689E-01 0.4205053689E-01 XX 0.8417523490E-01 0.8417523490E-01 0.8417523490E-01 0.8417523490E-01 0.8417523490E-01 XX 0.5119844238E-01 0.5119844238E-01 0.5119844238E-01 0.5119844238E-01 0.5119844238E-01 XX 0.8679137729E-01 0.8679137729E-01 0.8679137729E-01 0.8679137729E-01 0.8679137729E-01 XX 0.5585452915E-01 0.5585452915E-01 0.5585452915E-01 0.5585452915E-01 0.5585452915E-01 XX 0.8477648916E-01 0.8477648916E-01 0.8477648916E-01 0.8477648916E-01 0.8477648916E-01 XX 0.4082138517E+01 0.4082138517E+01 0.4082138517E+01 0.4082138517E+01 0.4082138517E+01 XX 0.1143644554E+02 0.1143644554E+02 0.1143644554E+02 0.1143644554E+02 0.1143644554E+02 XX 0.1380104935E+02 0.1380104935E+02 0.1380104935E+02 0.1380104935E+02 0.1380104935E+02 XX 0.1372323195E+02 0.1372323195E+02 0.1372323195E+02 0.1372323195E+02 0.1372323195E+02 XX 0.1328342952E+02 0.1328342952E+02 0.1328342952E+02 0.1328342952E+02 0.1328342952E+02 XX 0.1248660592E+02 0.1248660592E+02 0.1248660592E+02 0.1248660592E+02 0.1248660592E+02 XX 0.7458551221E-01 0.7458551221E-01 0.7458551221E-01 0.7458551221E-01 0.7458551221E-01 XX 0.6738212276E-01 0.6738212276E-01 0.6738212276E-01 0.6738212276E-01 0.6738212276E-01 XX 0.6780941400E-01 0.6780941400E-01 0.6780941400E-01 0.6780941400E-01 0.6780941400E-01 XX 0.7163992083E-01 0.7163992083E-01 0.7163992083E-01 0.7163992083E-01 0.7163992083E-01 XX 0.4753782658E+00 0.4753782658E+00 0.4753782658E+00 0.4753782658E+00 0.4753782658E+00 XX 0.4534519109E+00 0.4534519109E+00 0.4534519109E+00 0.4534519109E+00 0.4534519109E+00 XX 0.5202948968E+01 0.5202948968E+01 0.5202948968E+01 0.5202948968E+01 0.5202948968E+01 XX 0.6920151062E+01 0.6920151062E+01 0.6920151062E+01 0.6920151062E+01 0.6920151062E+01 XX 0.7714202770E+01 0.7714202770E+01 0.7714202770E+01 0.7714202770E+01 0.7714202770E+01 XX 0.1196039220E+02 0.1196039220E+02 0.1196039220E+02 0.1196039220E+02 0.1196039220E+02 XX 0.3648068660E-01 0.3648068660E-01 0.3648068660E-01 0.3648068660E-01 0.3648068660E-01 XX 0.4521617081E-01 0.4521617081E-01 0.4521617081E-01 0.4521617081E-01 0.4521617081E-01 XX 0.9196956666E-02 0.9196956666E-02 0.9196956666E-02 0.9196956666E-02 0.9196956666E-02 XX 0.3519641273E+00 0.3519641273E+00 0.3519641273E+00 0.3519641273E+00 0.3519641273E+00 XX 0.1937558338E+00 0.1937558338E+00 0.1937558338E+00 0.1937558338E+00 0.1937558338E+00 XX 0.2734704383E+01 0.2734704383E+01 0.2734704383E+01 0.2734704383E+01 0.2734704383E+01 XX 0.9128121317E+01 0.9128121317E+01 0.9128121317E+01 0.9128121317E+01 0.9128121317E+01 XX 0.5158716919E-01 0.5158716919E-01 0.5158716919E-01 0.5158716919E-01 0.5158716919E-01 XX 0.1878649899E+00 0.1878649899E+00 0.1878649899E+00 0.1878649899E+00 0.1878649899E+00 XX 0.1260259532E+00 0.1260259532E+00 0.1260259532E+00 0.1260259532E+00 0.1260259532E+00 XX 0.1250716790E+00 0.1250716790E+00 0.1250716790E+00 0.1250716790E+00 0.1250716790E+00 XX 0.1336969670E+00 0.1336969670E+00 0.1336969670E+00 0.1336969670E+00 0.1336969670E+00 XX 0.1385761351E+00 0.1385761351E+00 0.1385761351E+00 0.1385761351E+00 0.1385761351E+00 XX 0.1382286869E+00 0.1382286869E+00 0.1382286869E+00 0.1382286869E+00 0.1382286869E+00 XX 0.1345055225E+00 0.1345055225E+00 0.1345055225E+00 0.1345055225E+00 0.1345055225E+00 XX 0.1302737362E+01 0.1302737362E+01 0.1302737362E+01 0.1302737362E+01 0.1302737362E+01 XX 0.5191985063E+01 0.5191985063E+01 0.5191985063E+01 0.5191985063E+01 0.5191985063E+01 XX 0.1053729624E+00 0.1053729624E+00 0.1053729624E+00 0.1053729624E+00 0.1053729624E+00 XX 0.9590508103E-01 0.9590508103E-01 0.9590508103E-01 0.9590508103E-01 0.9590508103E-01 XX 0.9410757076E-01 0.9410757076E-01 0.9410757076E-01 0.9410757076E-01 0.9410757076E-01 XX 0.9840698151E-01 0.9840698151E-01 0.9840698151E-01 0.9840698151E-01 0.9840698151E-01 XX 0.1000879616E+00 0.1000879616E+00 0.1000879616E+00 0.1000879616E+00 0.1000879616E+00 XX 0.9863944487E-01 0.9863944487E-01 0.9863944487E-01 0.9863944487E-01 0.9863944487E-01 XX 0.6547899049E+00 0.6547899049E+00 0.6547899049E+00 0.6547899049E+00 0.6547899049E+00 XX 0.6021212945E+00 0.6021212945E+00 0.6021212945E+00 0.6021212945E+00 0.6021212945E+00 XX 0.6004293375E+00 0.6004293375E+00 0.6004293375E+00 0.6004293375E+00 0.6004293375E+00 XX 0.6181704576E+00 0.6181704576E+00 0.6181704576E+00 0.6181704576E+00 0.6181704576E+00 XX 0.6260957088E+00 0.6260957088E+00 0.6260957088E+00 0.6260957088E+00 0.6260957088E+00 XX 0.6232977515E+00 0.6232977515E+00 0.6232977515E+00 0.6232977515E+00 0.6232977515E+00 XX 0.7001926146E+01 0.7001926146E+01 0.7001926146E+01 0.7001926146E+01 0.7001926146E+01 XX 0.1149024691E+02 0.1149024691E+02 0.1149024691E+02 0.1149024691E+02 0.1149024691E+02 XX 0.2544780170E+01 0.2544780170E+01 0.2544780170E+01 0.2544780170E+01 0.2544780170E+01 XX 0.2446163281E+01 0.2446163281E+01 0.2446163281E+01 0.2446163281E+01 0.2446163281E+01 XX 0.2564329715E+01 0.2564329715E+01 0.2564329715E+01 0.2564329715E+01 0.2564329715E+01 XX 0.4665586107E+00 0.4665586107E+00 0.4665586107E+00 0.4665586107E+00 0.4665586107E+00 XX 0.4688562540E+00 0.4688562540E+00 0.4688562540E+00 0.4688562540E+00 0.4688562540E+00 XX 0.1233731093E+02 0.1233731093E+02 0.1233731093E+02 0.1233731093E+02 0.1233731093E+02 XX 0.3811895250E-01 0.3811895250E-01 0.3811895250E-01 0.3811895250E-01 0.3811895250E-01 XX 0.1304631117E-01 0.1304631117E-01 0.1304631117E-01 0.1304631117E-01 0.1304631117E-01 XX 0.3648068660E-01 0.3648068660E-01 0.3648068660E-01 0.3648068660E-01 0.3648068660E-01 XX 0.1541228926E-01 0.1541228926E-01 0.1541228926E-01 0.1541228926E-01 0.1541228926E-01 XX 0.5099494829E-01 0.5099494829E-01 0.5099494829E-01 0.5099494829E-01 0.5099494829E-01 XX 0.5035858783E+01 0.5035858783E+01 0.5035858783E+01 0.5035858783E+01 0.5035858783E+01 XX 0.6406861029E+01 0.6406861029E+01 0.6406861029E+01 0.6406861029E+01 0.6406861029E+01 XX 0.1220900900E+02 0.1220900900E+02 0.1220900900E+02 0.1220900900E+02 0.1220900900E+02 XX 0.1395219009E+00 0.1395219009E+00 0.1395219009E+00 0.1395219009E+00 0.1395219009E+00 XX 0.8674009648E+00 0.8674009648E+00 0.8674009648E+00 0.8674009648E+00 0.8674009648E+00 XX 0.8497048000E+01 0.8497048000E+01 0.8497048000E+01 0.8497048000E+01 0.8497048000E+01 XX 0.4026477006E+01 0.4026477006E+01 0.4026477006E+01 0.4026477006E+01 0.4026477006E+01 XX 0.2190279852E-01 0.2190279852E-01 0.2190279852E-01 0.2190279852E-01 0.2190279852E-01 XX 0.2476732254E-01 0.2476732254E-01 0.2476732254E-01 0.2476732254E-01 0.2476732254E-01 XX 0.2926487599E-01 0.2926487599E-01 0.2926487599E-01 0.2926487599E-01 0.2926487599E-01 XX 0.3468383331E-01 0.3468383331E-01 0.3468383331E-01 0.3468383331E-01 0.3468383331E-01 XX 0.3820620682E-01 0.3820620682E-01 0.3820620682E-01 0.3820620682E-01 0.3820620682E-01 XX 0.3911550511E-01 0.3911550511E-01 0.3911550511E-01 0.3911550511E-01 0.3911550511E-01 XX 0.7145612346E+00 0.7145612346E+00 0.7145612346E+00 0.7145612346E+00 0.7145612346E+00 XX 0.5781402573E+00 0.5781402573E+00 0.5781402573E+00 0.5781402573E+00 0.5781402573E+00 XX 0.5377916025E+00 0.5377916025E+00 0.5377916025E+00 0.5377916025E+00 0.5377916025E+00 XX 0.5258463815E+00 0.5258463815E+00 0.5258463815E+00 0.5258463815E+00 0.5258463815E+00 XX 0.4988408218E+00 0.4988408218E+00 0.4988408218E+00 0.4988408218E+00 0.4988408218E+00 XX 0.4526364339E+00 0.4526364339E+00 0.4526364339E+00 0.4526364339E+00 0.4526364339E+00 XX 0.8405906764E+01 0.8405906764E+01 0.8405906764E+01 0.8405906764E+01 0.8405906764E+01 XX 0.7976739255E+01 0.7976739255E+01 0.7976739255E+01 0.7976739255E+01 0.7976739255E+01 XX 0.7612668544E+01 0.7612668544E+01 0.7612668544E+01 0.7612668544E+01 0.7612668544E+01 XX 0.7063859130E+01 0.7063859130E+01 0.7063859130E+01 0.7063859130E+01 0.7063859130E+01 XX 0.6225233660E+01 0.6225233660E+01 0.6225233660E+01 0.6225233660E+01 0.6225233660E+01 XX 0.5152913077E+01 0.5152913077E+01 0.5152913077E+01 0.5152913077E+01 0.5152913077E+01 XX 0.7041707183E-01 0.7041707183E-01 0.7041707183E-01 0.7041707183E-01 0.7041707183E-01 XX 0.1652080013E-01 0.1652080013E-01 0.1652080013E-01 0.1652080013E-01 0.1652080013E-01 XX 0.1961216328E-01 0.1961216328E-01 0.1961216328E-01 0.1961216328E-01 0.1961216328E-01 XX 0.2397717174E-01 0.2397717174E-01 0.2397717174E-01 0.2397717174E-01 0.2397717174E-01 XX 0.2770452456E-01 0.2770452456E-01 0.2770452456E-01 0.2770452456E-01 0.2770452456E-01 XX 0.4648345783E+01 0.4648345783E+01 0.4648345783E+01 0.4648345783E+01 0.4648345783E+01 XX 0.1111018001E+02 0.1111018001E+02 0.1111018001E+02 0.1111018001E+02 0.1111018001E+02 XX 0.2719953089E-01 0.2719953089E-01 0.2719953089E-01 0.2719953089E-01 0.2719953089E-01 XX 0.2970978197E-01 0.2970978197E-01 0.2970978197E-01 0.2970978197E-01 0.2970978197E-01 XX 0.1220829460E-01 0.1220829460E-01 0.1220829460E-01 0.1220829460E-01 0.1220829460E-01 XX 0.1937558338E+00 0.1937558338E+00 0.1937558338E+00 0.1937558338E+00 0.1937558338E+00 XX 0.1991860921E+00 0.1991860921E+00 0.1991860921E+00 0.1991860921E+00 0.1991860921E+00 XX 0.2864656809E+00 0.2864656809E+00 0.2864656809E+00 0.2864656809E+00 0.2864656809E+00 XX 0.2734704383E+01 0.2734704383E+01 0.2734704383E+01 0.2734704383E+01 0.2734704383E+01 XX 0.2558410632E+01 0.2558410632E+01 0.2558410632E+01 0.2558410632E+01 0.2558410632E+01 XX 0.2442773523E-01 0.2442773523E-01 0.2442773523E-01 0.2442773523E-01 0.2442773523E-01 XX 0.1039802022E+00 0.1039802022E+00 0.1039802022E+00 0.1039802022E+00 0.1039802022E+00 XX 0.6495780688E-01 0.6495780688E-01 0.6495780688E-01 0.6495780688E-01 0.6495780688E-01 XX 0.5862170348E-01 0.5862170348E-01 0.5862170348E-01 0.5862170348E-01 0.5862170348E-01 XX 0.6016537102E-01 0.6016537102E-01 0.6016537102E-01 0.6016537102E-01 0.6016537102E-01 XX 0.6298161676E-01 0.6298161676E-01 0.6298161676E-01 0.6298161676E-01 0.6298161676E-01 XX 0.6391508746E-01 0.6391508746E-01 0.6391508746E-01 0.6391508746E-01 0.6391508746E-01 XX 0.5737810171E+00 0.5737810171E+00 0.5737810171E+00 0.5737810171E+00 0.5737810171E+00 XX 0.3674007821E+00 0.3674007821E+00 0.3674007821E+00 0.3674007821E+00 0.3674007821E+00 XX 0.3018578049E+00 0.3018578049E+00 0.3018578049E+00 0.3018578049E+00 0.3018578049E+00 XX 0.2923584965E+00 0.2923584965E+00 0.2923584965E+00 0.2923584965E+00 0.2923584965E+00 XX 0.2977311056E+00 0.2977311056E+00 0.2977311056E+00 0.2977311056E+00 0.2977311056E+00 XX 0.2986633787E+00 0.2986633787E+00 0.2986633787E+00 0.2986633787E+00 0.2986633787E+00 XX 0.4695777999E+01 0.4695777999E+01 0.4695777999E+01 0.4695777999E+01 0.4695777999E+01 XX 0.3614328872E+01 0.3614328872E+01 0.3614328872E+01 0.3614328872E+01 0.3614328872E+01 XX 0.3302221278E+01 0.3302221278E+01 0.3302221278E+01 0.3302221278E+01 0.3302221278E+01 XX 0.3252927566E+01 0.3252927566E+01 0.3252927566E+01 0.3252927566E+01 0.3252927566E+01 XX 0.3215889767E+01 0.3215889767E+01 0.3215889767E+01 0.3215889767E+01 0.3215889767E+01 XX 0.3090646461E+01 0.3090646461E+01 0.3090646461E+01 0.3090646461E+01 0.3090646461E+01 XX 0.2899285687E+01 0.2899285687E+01 0.2899285687E+01 0.2899285687E+01 0.2899285687E+01 XX 0.6295007445E+01 0.6295007445E+01 0.6295007445E+01 0.6295007445E+01 0.6295007445E+01 XX 0.1143101561E-01 0.1143101561E-01 0.1143101561E-01 0.1143101561E-01 0.1143101561E-01 XX 0.4521617081E-01 0.4521617081E-01 0.4521617081E-01 0.4521617081E-01 0.4521617081E-01 XX 0.2970978197E-01 0.2970978197E-01 0.2970978197E-01 0.2970978197E-01 0.2970978197E-01 XX 0.2719953089E-01 0.2719953089E-01 0.2719953089E-01 0.2719953089E-01 0.2719953089E-01 XX 0.1241290381E-01 0.1241290381E-01 0.1241290381E-01 0.1241290381E-01 0.1241290381E-01 XX 0.3538634567E+00 0.3538634567E+00 0.3538634567E+00 0.3538634567E+00 0.3538634567E+00 XX 0.5759184149E+01 0.5759184149E+01 0.5759184149E+01 0.5759184149E+01 0.5759184149E+01 XX 0.7434220256E+01 0.7434220256E+01 0.7434220256E+01 0.7434220256E+01 0.7434220256E+01 XX 0.1115394406E+00 0.1115394406E+00 0.1115394406E+00 0.1115394406E+00 0.1115394406E+00 XX 0.2473885226E-01 0.2473885226E-01 0.2473885226E-01 0.2473885226E-01 0.2473885226E-01 XX 0.2983846250E-01 0.2983846250E-01 0.2983846250E-01 0.2983846250E-01 0.2983846250E-01 XX 0.3657967124E-01 0.3657967124E-01 0.3657967124E-01 0.3657967124E-01 0.3657967124E-01 XX 0.4220147995E-01 0.4220147995E-01 0.4220147995E-01 0.4220147995E-01 0.4220147995E-01 XX 0.4523565203E-01 0.4523565203E-01 0.4523565203E-01 0.4523565203E-01 0.4523565203E-01 XX 0.7145612346E+00 0.7145612346E+00 0.7145612346E+00 0.7145612346E+00 0.7145612346E+00 XX 0.1150674509E+00 0.1150674509E+00 0.1150674509E+00 0.1150674509E+00 0.1150674509E+00 XX 0.1016361517E+00 0.1016361517E+00 0.1016361517E+00 0.1016361517E+00 0.1016361517E+00 XX 0.1045798389E+00 0.1045798389E+00 0.1045798389E+00 0.1045798389E+00 0.1045798389E+00 XX 0.1115621106E+00 0.1115621106E+00 0.1115621106E+00 0.1115621106E+00 0.1115621106E+00 XX 0.1156105576E+00 0.1156105576E+00 0.1156105576E+00 0.1156105576E+00 0.1156105576E+00 XX 0.8405906764E+01 0.8405906764E+01 0.8405906764E+01 0.8405906764E+01 0.8405906764E+01 XX 0.9238094358E+00 0.9238094358E+00 0.9238094358E+00 0.9238094358E+00 0.9238094358E+00 XX 0.8069438277E+00 0.8069438277E+00 0.8069438277E+00 0.8069438277E+00 0.8069438277E+00 XX 0.7949918024E+00 0.7949918024E+00 0.7949918024E+00 0.7949918024E+00 0.7949918024E+00 XX 0.8029327052E+00 0.8029327052E+00 0.8029327052E+00 0.8029327052E+00 0.8029327052E+00 XX 0.7931651650E+00 0.7931651650E+00 0.7931651650E+00 0.7931651650E+00 0.7931651650E+00 XX 0.6910268308E+00 0.6910268308E+00 0.6910268308E+00 0.6910268308E+00 0.6910268308E+00 XX 0.6386319672E+00 0.6386319672E+00 0.6386319672E+00 0.6386319672E+00 0.6386319672E+00 XX 0.5737150027E+00 0.5737150027E+00 0.5737150027E+00 0.5737150027E+00 0.5737150027E+00 XX 0.5896654581E+00 0.5896654581E+00 0.5896654581E+00 0.5896654581E+00 0.5896654581E+00 XX 0.6137080579E+00 0.6137080579E+00 0.6137080579E+00 0.6137080579E+00 0.6137080579E+00 XX 0.3811895250E-01 0.3811895250E-01 0.3811895250E-01 0.3811895250E-01 0.3811895250E-01 XX 0.5443032713E-01 0.5443032713E-01 0.5443032713E-01 0.5443032713E-01 0.5443032713E-01 XX 0.3519641273E+00 0.3519641273E+00 0.3519641273E+00 0.3519641273E+00 0.3519641273E+00 XX 0.4885809160E+00 0.4885809160E+00 0.4885809160E+00 0.4885809160E+00 0.4885809160E+00 XX 0.8002639059E+01 0.8002639059E+01 0.8002639059E+01 0.8002639059E+01 0.8002639059E+01 XX 0.8270948988E+01 0.8270948988E+01 0.8270948988E+01 0.8270948988E+01 0.8270948988E+01 XX 0.1239370397E+00 0.1239370397E+00 0.1239370397E+00 0.1239370397E+00 0.1239370397E+00 XX 0.1113443951E+01 0.1113443951E+01 0.1113443951E+01 0.1113443951E+01 0.1113443951E+01 XX 0.5097700105E+00 0.5097700105E+00 0.5097700105E+00 0.5097700105E+00 0.5097700105E+00 XX 0.1274619065E-01 0.1274619065E-01 0.1274619065E-01 0.1274619065E-01 0.1274619065E-01 XX 0.3580235063E+00 0.3580235063E+00 0.3580235063E+00 0.3580235063E+00 0.3580235063E+00 XX 0.1991860921E+00 0.1991860921E+00 0.1991860921E+00 0.1991860921E+00 0.1991860921E+00 XX 0.5701778961E-01 0.5701778961E-01 0.5701778961E-01 0.5701778961E-01 0.5701778961E-01 XX 0.5175281000E+00 0.5175281000E+00 0.5175281000E+00 0.5175281000E+00 0.5175281000E+00 XX 0.9060099159E+01 0.9060099159E+01 0.9060099159E+01 0.9060099159E+01 0.9060099159E+01 XX 0.7910516292E-01 0.7910516292E-01 0.7910516292E-01 0.7910516292E-01 0.7910516292E-01 XX 0.7744656131E+00 0.7744656131E+00 0.7744656131E+00 0.7744656131E+00 0.7744656131E+00 XX 0.5919553133E-01 0.5919553133E-01 0.5919553133E-01 0.5919553133E-01 0.5919553133E-01 XX 0.5651063290E-01 0.5651063290E-01 0.5651063290E-01 0.5651063290E-01 0.5651063290E-01 XX 0.3419393261E+00 0.3419393261E+00 0.3419393261E+00 0.3419393261E+00 0.3419393261E+00 XX 0.5502812260E+00 0.5502812260E+00 0.5502812260E+00 0.5502812260E+00 0.5502812260E+00 XX 0.5883100905E+00 0.5883100905E+00 0.5883100905E+00 0.5883100905E+00 0.5883100905E+00 XX 0.4693841465E+00 0.4693841465E+00 0.4693841465E+00 0.4693841465E+00 0.4693841465E+00 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 1 0.3087409073861814 7.1192379999411050E-002 XEND_OF_FILE Xif test 108364 -ne `wc -c <'fort.31'`; then X echo shar: \"'fort.31'\" unpacked with wrong size! Xfi X# end of 'fort.31' Xfi Xif test -f 'fort.32' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'fort.32'\" Xelse Xecho shar: Extracting \"'fort.32'\" \(106402 characters\) Xsed "s/^X//" >'fort.32' <<'END_OF_FILE' XX 545 XX 133 779 125 XX 1 XX 4 XX 5 XX 21 XX 22 XX 23 XX 24 XX 25 XX 46 XX 47 XX 48 XX 49 XX 50 XX 71 XX 72 XX 73 XX 74 XX 75 XX 96 XX 97 XX 98 XX 99 XX 124 XX 125 XX 126 XX 141 XX 142 XX 143 XX 144 XX 145 XX 146 XX 166 XX 167 XX 168 XX 169 XX 170 XX 171 XX 191 XX 192 XX 193 XX 194 XX 195 XX 216 XX 217 XX 218 XX 219 XX 220 XX 243 XX 244 XX 245 XX 246 XX 247 XX 261 XX 262 XX 263 XX 264 XX 265 XX 266 XX 267 XX 286 XX 287 XX 288 XX 289 XX 290 XX 291 XX 292 XX 311 XX 312 XX 313 XX 314 XX 315 XX 316 XX 336 XX 337 XX 338 XX 339 XX 340 XX 364 XX 365 XX 366 XX 367 XX 368 XX 381 XX 382 XX 383 XX 384 XX 385 XX 386 XX 387 XX 388 XX 406 XX 407 XX 408 XX 409 XX 410 XX 411 XX 412 XX 413 XX 431 XX 432 XX 433 XX 434 XX 435 XX 436 XX 437 XX 456 XX 457 XX 458 XX 459 XX 460 XX 484 XX 485 XX 486 XX 487 XX 488 XX 489 XX 490 XX 498 XX 499 XX 500 XX 501 XX 502 XX 503 XX 511 XX 512 XX 513 XX 514 XX 515 XX 524 XX 525 XX 526 XX 537 XX 538 XX 6 6 6 3 3 XX 100 500 0 0 0 XX 0.1000000000E+01 0.1000000000E+01 0.0000000000E+00 0.0000000000E+00 0.2000000000E+00 XX 0.2500000000E+00 0.5000000000E+00 2 XX 0.3000000000E+00 0.0000000000E+00 0.0000000000E+00 0.1400000000E+01 0.1000000000E+01 XX 0.1000000000E+01 XX 0.2500000000E+01 0.3563000000E+01 0.1183215957E+01 0.3549647870E+00 0.0000000000E+00 XX 0.0000000000E+00 XX 0.2500000000E+00 0.1666666700E+00 0.3750000000E+00 0.5000000000E+00 0.1000000000E+01 XX 0.0000000000E+00 XX 5 XX 0.1000000000E+01 0.0000000000E+00 0.5600000000E+00 XX 0.0000000000E+00 0.4400000000E+00 XX 0.0000000000E+00 XX 141 141 XX 23 23 XX 24 24 XX 124 124 XX 25 25 XX 125 125 XX 126 126 XX 46 46 XX 166 166 XX 168 168 XX 169 169 XX 170 170 XX 171 171 XX 71 71 XX 191 191 XX 193 193 XX 194 194 XX 195 195 XX 96 96 XX 216 216 XX 218 218 XX 219 219 XX 261 261 XX 243 243 XX 244 244 XX 245 245 XX 246 246 XX 267 267 XX 286 286 XX 288 288 XX 290 290 XX 292 292 XX 311 311 XX 313 313 XX 315 315 XX 336 336 XX 338 338 XX 340 340 XX 381 381 XX 364 364 XX 365 365 XX 366 366 XX 387 387 XX 388 388 XX 406 406 XX 408 408 XX 410 410 XX 412 412 XX 431 431 XX 433 433 XX 435 435 XX 437 437 XX 456 456 XX 458 458 XX 460 460 XX 484 484 XX 485 485 XX 486 486 XX 500 500 XX 501 501 XX 502 502 XX 503 503 XX 511 511 XX 513 513 XX 515 515 XX 524 524 XX 526 526 XX 537 537 XX 21 21 XX 142 142 XX 143 143 XX 144 144 XX 124 124 XX 145 145 XX 125 125 XX 146 146 XX 126 126 XX 166 166 XX 167 167 XX 48 48 XX 168 168 XX 50 50 XX 170 170 XX 191 191 XX 192 192 XX 73 73 XX 193 193 XX 75 75 XX 195 195 XX 216 216 XX 217 217 XX 98 98 XX 218 218 XX 220 220 XX 261 261 XX 263 263 XX 244 244 XX 265 265 XX 246 246 XX 267 267 XX 287 287 XX 289 289 XX 291 291 XX 311 311 XX 312 312 XX 314 314 XX 316 316 XX 337 337 XX 339 339 XX 381 381 XX 383 383 XX 364 364 XX 385 385 XX 366 366 XX 368 368 XX 387 387 XX 407 407 XX 409 409 XX 411 411 XX 413 413 XX 431 431 XX 432 432 XX 434 434 XX 436 436 XX 456 456 XX 457 457 XX 459 459 XX 484 484 XX 498 498 XX 486 486 XX 488 488 XX 500 500 XX 490 490 XX 502 502 XX 512 512 XX 514 514 XX 525 525 XX 538 538 XX 1 1 XX 21 21 XX 141 141 XX 143 143 XX 5 5 XX 144 144 XX 145 145 XX 166 166 XX 167 167 XX 168 168 XX 169 169 XX 170 170 XX 146 146 XX 71 71 XX 191 191 XX 192 192 XX 193 193 XX 194 194 XX 195 195 XX 216 216 XX 217 217 XX 218 218 XX 220 220 XX 262 262 XX 264 264 XX 245 245 XX 246 246 XX 266 266 XX 287 287 XX 288 288 XX 289 289 XX 290 290 XX 291 291 XX 316 316 XX 382 382 XX 384 384 XX 365 365 XX 367 367 XX 386 386 XX 388 388 XX 406 406 XX 407 407 XX 408 408 XX 409 409 XX 410 410 XX 411 411 XX 437 437 XX 456 456 XX 457 457 XX 458 458 XX 460 460 XX 436 436 XX 485 485 XX 487 487 XX 499 499 XX 489 489 XX 501 501 XX 503 503 XX 511 511 XX 512 512 XX 526 526 XX 525 525 XX 22 22 XX 141 141 XX 142 142 XX 4 4 XX 143 143 XX 124 124 XX 125 125 XX 5 5 XX 145 145 XX 126 126 XX 47 47 XX 167 167 XX 49 49 XX 169 169 XX 71 71 XX 72 72 XX 192 192 XX 74 74 XX 194 194 XX 171 171 XX 96 96 XX 97 97 XX 217 217 XX 99 99 XX 219 219 XX 243 243 XX 244 244 XX 245 245 XX 246 246 XX 286 286 XX 266 266 XX 292 292 XX 287 287 XX 288 288 XX 289 289 XX 291 291 XX 216 216 XX 315 315 XX 364 364 XX 365 365 XX 366 366 XX 247 247 XX 406 406 XX 386 386 XX 412 412 XX 413 413 XX 407 407 XX 408 408 XX 409 409 XX 411 411 XX 336 336 XX 457 457 XX 458 458 XX 435 435 XX 342 342 XX 484 484 XX 485 485 XX 486 486 XX 501 501 XX 502 502 XX 503 503 XX 499 499 XX 513 513 XX 512 512 XX 456 456 XX 524 524 XX 21 21 XX 141 141 XX 142 142 XX 23 23 XX 124 124 XX 144 144 XX 125 125 XX 146 146 XX 171 171 XX 71 71 XX 166 166 XX 167 167 XX 73 73 XX 168 168 XX 74 74 XX 169 169 XX 75 75 XX 194 194 XX 195 195 XX 243 243 XX 247 247 XX 262 262 XX 263 263 XX 264 264 XX 265 265 XX 266 266 XX 290 290 XX 311 311 XX 336 336 XX 312 312 XX 313 313 XX 314 314 XX 261 261 XX 387 387 XX 388 388 XX 382 382 XX 383 383 XX 384 384 XX 385 385 XX 386 386 XX 410 410 XX 436 436 XX 456 456 XX 432 432 XX 433 433 XX 434 434 XX 460 460 XX 462 462 XX 381 381 XX 500 500 XX 498 498 XX 499 499 XX 514 514 XX 515 515 XX 511 511 XX 527 527 XX 537 537 XX 525 525 XX 23 23 XX 124 124 XX 4 4 XX 125 125 XX 25 25 XX 126 126 XX 146 146 XX 46 46 XX 141 141 XX 191 191 XX 167 167 XX 168 168 XX 169 169 XX 170 170 XX 171 171 XX 96 96 XX 192 192 XX 193 193 XX 99 99 XX 267 267 XX 245 245 XX 284 284 XX 262 262 XX 263 263 XX 264 264 XX 265 265 XX 292 292 XX 336 336 XX 312 312 XX 313 313 XX 338 338 XX 314 314 XX 315 315 XX 316 316 XX 381 381 XX 368 368 XX 365 365 XX 382 382 XX 383 383 XX 384 384 XX 385 385 XX 412 412 XX 413 413 XX 437 437 XX 432 432 XX 433 433 XX 459 459 XX 434 434 XX 435 435 XX 366 366 XX 367 367 XX 406 406 XX 498 498 XX 513 513 XX 514 514 XX 515 515 XX 526 526 XX 524 524 XX 538 538 XX 539 539 XX 537 537 XX 22 22 XX 24 24 XX 125 125 XX 25 25 XX 46 46 XX 142 142 XX 143 143 XX 144 144 XX 145 145 XX 146 146 XX 72 72 XX 73 73 XX 74 74 XX 170 170 XX 171 171 XX 191 191 XX 192 192 XX 193 193 XX 194 194 XX 195 195 XX 312 312 XX 337 337 XX 313 313 XX 314 314 XX 339 339 XX 315 315 XX 342 342 XX 381 381 XX 243 243 XX 382 382 XX 244 244 XX 383 383 XX 364 364 XX 246 246 XX 385 385 XX 267 267 XX 406 406 XX 407 407 XX 408 408 XX 384 384 XX 410 410 XX 292 292 XX 431 431 XX 434 434 XX 435 435 XX 436 436 XX 485 485 XX 486 486 XX 487 487 XX 498 498 XX 413 413 XX 515 515 XX 500 500 XX 437 437 XX 524 524 XX 526 526 XX 22 22 XX 122 122 XX 124 124 XX 24 24 XX 126 126 XX 166 166 XX 142 142 XX 143 143 XX 144 144 XX 145 145 XX 167 167 XX 168 168 XX 169 169 XX 170 170 XX 75 75 XX 96 96 XX 216 216 XX 97 97 XX 98 98 XX 336 336 XX 338 338 XX 339 339 XX 340 340 XX 316 316 XX 383 383 XX 384 384 XX 364 364 XX 385 385 XX 365 365 XX 386 386 XX 366 366 XX 387 387 XX 286 286 XX 407 407 XX 382 382 XX 409 409 XX 410 410 XX 411 411 XX 412 412 XX 413 413 XX 311 311 XX 431 431 XX 432 432 XX 408 408 XX 434 434 XX 436 436 XX 488 488 XX 501 501 XX 489 489 XX 490 490 XX 503 503 XX 500 500 XX 514 514 XX 521 521 XX 526 526 XX 513 513 XX 534 534 XX 525 525 XX 476 476 XX 125 125 XX 46 46 XX 142 142 XX 47 47 XX 143 143 XX 48 48 XX 144 144 XX 49 49 XX 145 145 XX 97 97 XX 98 98 XX 193 193 XX 99 99 XX 194 194 XX 195 195 XX 141 141 XX 126 126 XX 265 265 XX 166 166 XX 290 290 XX 191 191 XX 311 311 XX 315 315 XX 337 337 XX 382 382 XX 365 365 XX 367 367 XX 267 267 XX 388 388 XX 381 381 XX 408 408 XX 383 383 XX 385 385 XX 413 413 XX 406 406 XX 407 407 XX 433 433 XX 410 410 XX 432 432 XX 434 434 XX 459 459 XX 498 498 XX 487 487 XX 500 500 XX 490 490 XX 502 502 XX 488 488 XX 486 486 XX 511 511 XX 513 513 XX 512 512 XX 431 431 XX 524 524 XX 533 533 XX 537 537 XX 47 47 XX 48 48 XX 49 49 XX 50 50 XX 167 167 XX 168 168 XX 169 169 XX 170 170 XX 192 192 XX 193 193 XX 194 194 XX 195 195 XX 261 261 XX 262 262 XX 243 243 XX 244 244 XX 245 245 XX 247 247 XX 286 286 XX 265 265 XX 311 311 XX 290 290 XX 312 312 XX 313 313 XX 314 314 XX 315 315 XX 364 364 XX 366 366 XX 388 388 XX 365 365 XX 382 382 XX 383 383 XX 384 384 XX 386 386 XX 435 435 XX 437 437 XX 431 431 XX 433 433 XX 484 484 XX 387 387 XX 368 368 XX 501 501 XX 498 498 XX 495 495 XX 511 511 XX 512 512 XX 412 412 XX 514 514 XX 503 503 XX 502 502 XX 513 513 XX 525 525 XX 526 526 XX 524 524 XX 142 142 XX 143 143 XX 144 144 XX 145 145 XX 192 192 XX 266 266 XX 245 245 XX 261 261 XX 262 262 XX 263 263 XX 264 264 XX 291 291 XX 287 287 XX 288 288 XX 289 289 XX 316 316 XX 197 197 XX 384 384 XX 409 409 XX 432 432 XX 433 433 XX 434 434 XX 435 435 XX 463 463 XX 364 364 XX 499 499 XX 388 388 XX 501 501 XX 503 503 XX 500 500 XX 487 487 XX 486 486 XX 485 485 XX 507 507 XX 513 513 XX 514 514 XX 515 515 XX 511 511 XX 512 512 XX 525 525 XX 524 524 XX 50 50 XX 72 72 XX 262 262 XX 263 263 XX 264 264 XX 246 246 XX 267 267 XX 286 286 XX 287 287 XX 288 288 XX 289 289 XX 266 266 XX 292 292 XX 312 312 XX 313 313 XX 314 314 XX 315 315 XX 291 291 XX 245 245 XX 365 365 XX 385 385 XX 411 411 XX 432 432 XX 433 433 XX 435 435 XX 481 481 XX 486 486 XX 387 387 XX 388 388 XX 502 502 XX 503 503 XX 490 490 XX 501 501 XX 499 499 XX 498 498 XX 515 515 XX 514 514 XX 513 513 XX 511 511 XX 526 526 XX 512 512 XX 125 125 XX 261 261 XX 263 263 XX 124 124 XX 264 264 XX 265 265 XX 146 146 XX 287 287 XX 288 288 XX 289 289 XX 290 290 XX 171 171 XX 286 286 XX 312 312 XX 313 313 XX 314 314 XX 196 196 XX 266 266 XX 291 291 XX 409 409 XX 316 316 XX 484 484 XX 498 498 XX 386 386 XX 502 502 XX 503 503 XX 489 489 XX 488 488 XX 499 499 XX 515 515 XX 501 501 XX 500 500 XX 524 524 XX 511 511 XX 437 437 XX 526 526 XX 243 243 XX 244 244 XX 245 245 XX 267 267 XX 262 262 XX 263 263 XX 264 264 XX 265 265 XX 292 292 XX 287 287 XX 288 288 XX 289 289 XX 290 290 XX 387 387 XX 412 412 XX 407 407 XX 408 408 XX 409 409 XX 410 410 XX 437 437 XX 484 484 XX 485 485 XX 500 500 XX 502 502 XX 489 489 XX 488 488 XX 498 498 XX 499 499 XX 511 511 XX 436 436 XX 514 514 XX 524 524 XX 243 243 XX 244 244 XX 245 245 XX 292 292 XX 489 489 XX 487 487 XX 411 411 XX 412 412 XX 413 413 XX 515 515 XX 514 514 XX 125 125 XX 365 365 XX 490 490 XX 503 503 XX 502 502 XX 501 501 XX 515 515 XX 513 513 XX 485 485 XX 0.2459667044E+01 0.2459667044E+01 0.2459667044E+01 0.2459667044E+01 0.2459667044E+01 XX 0.6082799352E+00 0.6082799352E+00 0.6082799352E+00 0.6082799352E+00 0.6082799352E+00 XX 0.1592296971E+00 0.1592296971E+00 0.1592296971E+00 0.1592296971E+00 0.1592296971E+00 XX 0.2086932117E+00 0.2086932117E+00 0.2086932117E+00 0.2086932117E+00 0.2086932117E+00 XX 0.6740405376E-01 0.6740405376E-01 0.6740405376E-01 0.6740405376E-01 0.6740405376E-01 XX 0.9887976848E-01 0.9887976848E-01 0.9887976848E-01 0.9887976848E-01 0.9887976848E-01 XX 0.9333776225E-01 0.9333776225E-01 0.9333776225E-01 0.9333776225E-01 0.9333776225E-01 XX 0.4952987668E+01 0.4952987668E+01 0.4952987668E+01 0.4952987668E+01 0.4952987668E+01 XX 0.7836437982E+01 0.7836437982E+01 0.7836437982E+01 0.7836437982E+01 0.7836437982E+01 XX 0.1591481844E+01 0.1591481844E+01 0.1591481844E+01 0.1591481844E+01 0.1591481844E+01 XX 0.6093801967E+00 0.6093801967E+00 0.6093801967E+00 0.6093801967E+00 0.6093801967E+00 XX 0.4096877846E+00 0.4096877846E+00 0.4096877846E+00 0.4096877846E+00 0.4096877846E+00 XX 0.1616523138E+00 0.1616523138E+00 0.1616523138E+00 0.1616523138E+00 0.1616523138E+00 XX 0.2074154715E+02 0.2074154715E+02 0.2074154715E+02 0.2074154715E+02 0.2074154715E+02 XX 0.3434603363E+02 0.3434603363E+02 0.3434603363E+02 0.3434603363E+02 0.3434603363E+02 XX 0.7877031086E+01 0.7877031086E+01 0.7877031086E+01 0.7877031086E+01 0.7877031086E+01 XX 0.3947657792E+01 0.3947657792E+01 0.3947657792E+01 0.3947657792E+01 0.3947657792E+01 XX 0.3034818743E+01 0.3034818743E+01 0.3034818743E+01 0.3034818743E+01 0.3034818743E+01 XX 0.3695375947E+02 0.3695375947E+02 0.3695375947E+02 0.3695375947E+02 0.3695375947E+02 XX 0.4635447473E+02 0.4635447473E+02 0.4635447473E+02 0.4635447473E+02 0.4635447473E+02 XX 0.1508423367E+02 0.1508423367E+02 0.1508423367E+02 0.1508423367E+02 0.1508423367E+02 XX 0.1014154040E+02 0.1014154040E+02 0.1014154040E+02 0.1014154040E+02 0.1014154040E+02 XX 0.1836438845E+01 0.1836438845E+01 0.1836438845E+01 0.1836438845E+01 0.1836438845E+01 XX 0.6309710990E+00 0.6309710990E+00 0.6309710990E+00 0.6309710990E+00 0.6309710990E+00 XX 0.1555570397E+00 0.1555570397E+00 0.1555570397E+00 0.1555570397E+00 0.1555570397E+00 XX 0.6872412172E-01 0.6872412172E-01 0.6872412172E-01 0.6872412172E-01 0.6872412172E-01 XX 0.6340452886E-01 0.6340452886E-01 0.6340452886E-01 0.6340452886E-01 0.6340452886E-01 XX 0.7094905838E-01 0.7094905838E-01 0.7094905838E-01 0.7094905838E-01 0.7094905838E-01 XX 0.6991723106E+01 0.6991723106E+01 0.6991723106E+01 0.6991723106E+01 0.6991723106E+01 XX 0.1019495547E+01 0.1019495547E+01 0.1019495547E+01 0.1019495547E+01 0.1019495547E+01 XX 0.8050261103E+00 0.8050261103E+00 0.8050261103E+00 0.8050261103E+00 0.8050261103E+00 XX 0.7618625191E+00 0.7618625191E+00 0.7618625191E+00 0.7618625191E+00 0.7618625191E+00 XX 0.3396459216E+02 0.3396459216E+02 0.3396459216E+02 0.3396459216E+02 0.3396459216E+02 XX 0.1229251217E+02 0.1229251217E+02 0.1229251217E+02 0.1229251217E+02 0.1229251217E+02 XX 0.1116256843E+02 0.1116256843E+02 0.1116256843E+02 0.1116256843E+02 0.1116256843E+02 XX 0.4660953539E+02 0.4660953539E+02 0.4660953539E+02 0.4660953539E+02 0.4660953539E+02 XX 0.1843240505E+02 0.1843240505E+02 0.1843240505E+02 0.1843240505E+02 0.1843240505E+02 XX 0.1610672485E+02 0.1610672485E+02 0.1610672485E+02 0.1610672485E+02 0.1610672485E+02 XX 0.1368392324E+01 0.1368392324E+01 0.1368392324E+01 0.1368392324E+01 0.1368392324E+01 XX 0.1133665902E+00 0.1133665902E+00 0.1133665902E+00 0.1133665902E+00 0.1133665902E+00 XX 0.4576465980E-01 0.4576465980E-01 0.4576465980E-01 0.4576465980E-01 0.4576465980E-01 XX 0.4133396264E-01 0.4133396264E-01 0.4133396264E-01 0.4133396264E-01 0.4133396264E-01 XX 0.4656218169E-01 0.4656218169E-01 0.4656218169E-01 0.4656218169E-01 0.4656218169E-01 XX 0.4697067464E-01 0.4697067464E-01 0.4697067464E-01 0.4697067464E-01 0.4697067464E-01 XX 0.6232088445E+01 0.6232088445E+01 0.6232088445E+01 0.6232088445E+01 0.6232088445E+01 XX 0.8353597134E+00 0.8353597134E+00 0.8353597134E+00 0.8353597134E+00 0.8353597134E+00 XX 0.6254939786E+00 0.6254939786E+00 0.6254939786E+00 0.6254939786E+00 0.6254939786E+00 XX 0.5957649932E+00 0.5957649932E+00 0.5957649932E+00 0.5957649932E+00 0.5957649932E+00 XX 0.3347970684E+02 0.3347970684E+02 0.3347970684E+02 0.3347970684E+02 0.3347970684E+02 XX 0.1193456206E+02 0.1193456206E+02 0.1193456206E+02 0.1193456206E+02 0.1193456206E+02 XX 0.1066504075E+02 0.1066504075E+02 0.1066504075E+02 0.1066504075E+02 0.1066504075E+02 XX 0.1038775638E+02 0.1038775638E+02 0.1038775638E+02 0.1038775638E+02 0.1038775638E+02 XX 0.4638683470E+02 0.4638683470E+02 0.4638683470E+02 0.4638683470E+02 0.4638683470E+02 XX 0.1804159394E+02 0.1804159394E+02 0.1804159394E+02 0.1804159394E+02 0.1804159394E+02 XX 0.1562111223E+02 0.1562111223E+02 0.1562111223E+02 0.1562111223E+02 0.1562111223E+02 XX 0.7624931859E-01 0.7624931859E-01 0.7624931859E-01 0.7624931859E-01 0.7624931859E-01 XX 0.3269689672E-01 0.3269689672E-01 0.3269689672E-01 0.3269689672E-01 0.3269689672E-01 XX 0.2136362793E-01 0.2136362793E-01 0.2136362793E-01 0.2136362793E-01 0.2136362793E-01 XX 0.4122533807E-01 0.4122533807E-01 0.4122533807E-01 0.4122533807E-01 0.4122533807E-01 XX 0.4239952574E-01 0.4239952574E-01 0.4239952574E-01 0.4239952574E-01 0.4239952574E-01 XX 0.4034998791E-01 0.4034998791E-01 0.4034998791E-01 0.4034998791E-01 0.4034998791E-01 XX 0.3475920388E-01 0.3475920388E-01 0.3475920388E-01 0.3475920388E-01 0.3475920388E-01 XX 0.9319675052E+00 0.9319675052E+00 0.9319675052E+00 0.9319675052E+00 0.9319675052E+00 XX 0.8971149984E+00 0.8971149984E+00 0.8971149984E+00 0.8971149984E+00 0.8971149984E+00 XX 0.8869964220E+00 0.8869964220E+00 0.8869964220E+00 0.8869964220E+00 0.8869964220E+00 XX 0.1697058134E+02 0.1697058134E+02 0.1697058134E+02 0.1697058134E+02 0.1697058134E+02 XX 0.1656916848E+02 0.1656916848E+02 0.1656916848E+02 0.1656916848E+02 0.1656916848E+02 XX 0.1327279113E+02 0.1327279113E+02 0.1327279113E+02 0.1327279113E+02 0.1327279113E+02 XX 0.9748359053E+00 0.9748359053E+00 0.9748359053E+00 0.9748359053E+00 0.9748359053E+00 XX 0.1566688528E+01 0.1566688528E+01 0.1566688528E+01 0.1566688528E+01 0.1566688528E+01 XX 0.4761317962E+00 0.4761317962E+00 0.4761317962E+00 0.4761317962E+00 0.4761317962E+00 XX 0.1571443639E+00 0.1571443639E+00 0.1571443639E+00 0.1571443639E+00 0.1571443639E+00 XX 0.1640420865E+00 0.1640420865E+00 0.1640420865E+00 0.1640420865E+00 0.1640420865E+00 XX 0.9400550086E-01 0.9400550086E-01 0.9400550086E-01 0.9400550086E-01 0.9400550086E-01 XX 0.1152231939E+00 0.1152231939E+00 0.1152231939E+00 0.1152231939E+00 0.1152231939E+00 XX 0.4769792374E-01 0.4769792374E-01 0.4769792374E-01 0.4769792374E-01 0.4769792374E-01 XX 0.6466127323E-01 0.6466127323E-01 0.6466127323E-01 0.6466127323E-01 0.6466127323E-01 XX 0.4108733449E+01 0.4108733449E+01 0.4108733449E+01 0.4108733449E+01 0.4108733449E+01 XX 0.4959526367E+01 0.4959526367E+01 0.4959526367E+01 0.4959526367E+01 0.4959526367E+01 XX 0.6763446094E+00 0.6763446094E+00 0.6763446094E+00 0.6763446094E+00 0.6763446094E+00 XX 0.1297632089E+01 0.1297632089E+01 0.1297632089E+01 0.1297632089E+01 0.1297632089E+01 XX 0.4377220411E+00 0.4377220411E+00 0.4377220411E+00 0.4377220411E+00 0.4377220411E+00 XX 0.1067408477E+01 0.1067408477E+01 0.1067408477E+01 0.1067408477E+01 0.1067408477E+01 XX 0.1825951280E+02 0.1825951280E+02 0.1825951280E+02 0.1825951280E+02 0.1825951280E+02 XX 0.2092150534E+02 0.2092150534E+02 0.2092150534E+02 0.2092150534E+02 0.2092150534E+02 XX 0.4287972271E+01 0.4287972271E+01 0.4287972271E+01 0.4287972271E+01 0.4287972271E+01 XX 0.1306580850E+02 0.1306580850E+02 0.1306580850E+02 0.1306580850E+02 0.1306580850E+02 XX 0.3237180547E+01 0.3237180547E+01 0.3237180547E+01 0.3237180547E+01 0.3237180547E+01 XX 0.1213237665E+02 0.1213237665E+02 0.1213237665E+02 0.1213237665E+02 0.1213237665E+02 XX 0.2705363719E+02 0.2705363719E+02 0.2705363719E+02 0.2705363719E+02 0.2705363719E+02 XX 0.2804267645E+02 0.2804267645E+02 0.2804267645E+02 0.2804267645E+02 0.2804267645E+02 XX 0.1231421745E+02 0.1231421745E+02 0.1231421745E+02 0.1231421745E+02 0.1231421745E+02 XX 0.1893106410E+02 0.1893106410E+02 0.1893106410E+02 0.1893106410E+02 0.1893106410E+02 XX 0.1684341657E+02 0.1684341657E+02 0.1684341657E+02 0.1684341657E+02 0.1684341657E+02 XX 0.2340062274E+01 0.2340062274E+01 0.2340062274E+01 0.2340062274E+01 0.2340062274E+01 XX 0.2251408171E+00 0.2251408171E+00 0.2251408171E+00 0.2251408171E+00 0.2251408171E+00 XX 0.1813838919E+00 0.1813838919E+00 0.1813838919E+00 0.1813838919E+00 0.1813838919E+00 XX 0.1266080880E+00 0.1266080880E+00 0.1266080880E+00 0.1266080880E+00 0.1266080880E+00 XX 0.5099661057E-01 0.5099661057E-01 0.5099661057E-01 0.5099661057E-01 0.5099661057E-01 XX 0.1181975865E+00 0.1181975865E+00 0.1181975865E+00 0.1181975865E+00 0.1181975865E+00 XX 0.2363496795E+01 0.2363496795E+01 0.2363496795E+01 0.2363496795E+01 0.2363496795E+01 XX 0.8171466441E+00 0.8171466441E+00 0.8171466441E+00 0.8171466441E+00 0.8171466441E+00 XX 0.7588252356E+00 0.7588252356E+00 0.7588252356E+00 0.7588252356E+00 0.7588252356E+00 XX 0.7698587417E+01 0.7698587417E+01 0.7698587417E+01 0.7698587417E+01 0.7698587417E+01 XX 0.1680917257E+02 0.1680917257E+02 0.1680917257E+02 0.1680917257E+02 0.1680917257E+02 XX 0.1144404001E+02 0.1144404001E+02 0.1144404001E+02 0.1144404001E+02 0.1144404001E+02 XX 0.1087442389E+02 0.1087442389E+02 0.1087442389E+02 0.1087442389E+02 0.1087442389E+02 XX 0.2535258399E+02 0.2535258399E+02 0.2535258399E+02 0.2535258399E+02 0.2535258399E+02 XX 0.1657424587E+02 0.1657424587E+02 0.1657424587E+02 0.1657424587E+02 0.1657424587E+02 XX 0.1896524237E+01 0.1896524237E+01 0.1896524237E+01 0.1896524237E+01 0.1896524237E+01 XX 0.1632038403E+00 0.1632038403E+00 0.1632038403E+00 0.1632038403E+00 0.1632038403E+00 XX 0.1314120696E+00 0.1314120696E+00 0.1314120696E+00 0.1314120696E+00 0.1314120696E+00 XX 0.7876364647E-01 0.7876364647E-01 0.7876364647E-01 0.7876364647E-01 0.7876364647E-01 XX 0.3325516157E-01 0.3325516157E-01 0.3325516157E-01 0.3325516157E-01 0.3325516157E-01 XX 0.2734963674E-01 0.2734963674E-01 0.2734963674E-01 0.2734963674E-01 0.2734963674E-01 XX 0.7375349953E-01 0.7375349953E-01 0.7375349953E-01 0.7375349953E-01 0.7375349953E-01 XX 0.2082137112E+01 0.2082137112E+01 0.2082137112E+01 0.2082137112E+01 0.2082137112E+01 XX 0.6380677694E+00 0.6380677694E+00 0.6380677694E+00 0.6380677694E+00 0.6380677694E+00 XX 0.5954817214E+00 0.5954817214E+00 0.5954817214E+00 0.5954817214E+00 0.5954817214E+00 XX 0.6023770975E+00 0.6023770975E+00 0.6023770975E+00 0.6023770975E+00 0.6023770975E+00 XX 0.6877976676E+01 0.6877976676E+01 0.6877976676E+01 0.6877976676E+01 0.6877976676E+01 XX 0.1655889736E+02 0.1655889736E+02 0.1655889736E+02 0.1655889736E+02 0.1655889736E+02 XX 0.1101408354E+02 0.1101408354E+02 0.1101408354E+02 0.1101408354E+02 0.1101408354E+02 XX 0.1056125367E+02 0.1056125367E+02 0.1056125367E+02 0.1056125367E+02 0.1056125367E+02 XX 0.2747907122E+02 0.2747907122E+02 0.2747907122E+02 0.2747907122E+02 0.2747907122E+02 XX 0.2492702902E+02 0.2492702902E+02 0.2492702902E+02 0.2492702902E+02 0.2492702902E+02 XX 0.1614166813E+02 0.1614166813E+02 0.1614166813E+02 0.1614166813E+02 0.1614166813E+02 XX 0.5695037016E-01 0.5695037016E-01 0.5695037016E-01 0.5695037016E-01 0.5695037016E-01 XX 0.8430126695E-01 0.8430126695E-01 0.8430126695E-01 0.8430126695E-01 0.8430126695E-01 XX 0.2576888118E-01 0.2576888118E-01 0.2576888118E-01 0.2576888118E-01 0.2576888118E-01 XX 0.1952626184E-01 0.1952626184E-01 0.1952626184E-01 0.1952626184E-01 0.1952626184E-01 XX 0.7748578525E-01 0.7748578525E-01 0.7748578525E-01 0.7748578525E-01 0.7748578525E-01 XX 0.1849286935E-01 0.1849286935E-01 0.1849286935E-01 0.1849286935E-01 0.1849286935E-01 XX 0.9173158364E-01 0.9173158364E-01 0.9173158364E-01 0.9173158364E-01 0.9173158364E-01 XX 0.8968895780E+00 0.8968895780E+00 0.8968895780E+00 0.8968895780E+00 0.8968895780E+00 XX 0.8965232453E+00 0.8965232453E+00 0.8965232453E+00 0.8965232453E+00 0.8965232453E+00 XX 0.1688444405E+02 0.1688444405E+02 0.1688444405E+02 0.1688444405E+02 0.1688444405E+02 XX 0.1396660256E+02 0.1396660256E+02 0.1396660256E+02 0.1396660256E+02 0.1396660256E+02 XX 0.3395624367E+00 0.3395624367E+00 0.3395624367E+00 0.3395624367E+00 0.3395624367E+00 XX 0.1158862267E+01 0.1158862267E+01 0.1158862267E+01 0.1158862267E+01 0.1158862267E+01 XX 0.2798723915E+01 0.2798723915E+01 0.2798723915E+01 0.2798723915E+01 0.2798723915E+01 XX 0.2372643495E+00 0.2372643495E+00 0.2372643495E+00 0.2372643495E+00 0.2372643495E+00 XX 0.3901909452E-01 0.3901909452E-01 0.3901909452E-01 0.3901909452E-01 0.3901909452E-01 XX 0.1147684503E+00 0.1147684503E+00 0.1147684503E+00 0.1147684503E+00 0.1147684503E+00 XX 0.1086165616E+00 0.1086165616E+00 0.1086165616E+00 0.1086165616E+00 0.1086165616E+00 XX 0.7753229734E+01 0.7753229734E+01 0.7753229734E+01 0.7753229734E+01 0.7753229734E+01 XX 0.2622405598E+01 0.2622405598E+01 0.2622405598E+01 0.2622405598E+01 0.2622405598E+01 XX 0.8998830379E+00 0.8998830379E+00 0.8998830379E+00 0.8998830379E+00 0.8998830379E+00 XX 0.4938398333E+00 0.4938398333E+00 0.4938398333E+00 0.4938398333E+00 0.4938398333E+00 XX 0.4763189876E+00 0.4763189876E+00 0.4763189876E+00 0.4763189876E+00 0.4763189876E+00 XX 0.2129784234E+00 0.2129784234E+00 0.2129784234E+00 0.2129784234E+00 0.2129784234E+00 XX 0.6307479640E+01 0.6307479640E+01 0.6307479640E+01 0.6307479640E+01 0.6307479640E+01 XX 0.3194789584E+02 0.3194789584E+02 0.3194789584E+02 0.3194789584E+02 0.3194789584E+02 XX 0.1284099404E+02 0.1284099404E+02 0.1284099404E+02 0.1284099404E+02 0.1284099404E+02 XX 0.5834395830E+01 0.5834395830E+01 0.5834395830E+01 0.5834395830E+01 0.5834395830E+01 XX 0.3864815567E+01 0.3864815567E+01 0.3864815567E+01 0.3864815567E+01 0.3864815567E+01 XX 0.3801161173E+01 0.3801161173E+01 0.3801161173E+01 0.3801161173E+01 0.3801161173E+01 XX 0.4321157427E+02 0.4321157427E+02 0.4321157427E+02 0.4321157427E+02 0.4321157427E+02 XX 0.2050357092E+02 0.2050357092E+02 0.2050357092E+02 0.2050357092E+02 0.2050357092E+02 XX 0.1176699990E+02 0.1176699990E+02 0.1176699990E+02 0.1176699990E+02 0.1176699990E+02 XX 0.8954765405E+01 0.8954765405E+01 0.8954765405E+01 0.8954765405E+01 0.8954765405E+01 XX 0.7356938302E+00 0.7356938302E+00 0.7356938302E+00 0.7356938302E+00 0.7356938302E+00 XX 0.1307953998E+00 0.1307953998E+00 0.1307953998E+00 0.1307953998E+00 0.1307953998E+00 XX 0.6928338293E-01 0.6928338293E-01 0.6928338293E-01 0.6928338293E-01 0.6928338293E-01 XX 0.4688804010E-01 0.4688804010E-01 0.4688804010E-01 0.4688804010E-01 0.4688804010E-01 XX 0.1147057896E+00 0.1147057896E+00 0.1147057896E+00 0.1147057896E+00 0.1147057896E+00 XX 0.6466659189E+01 0.6466659189E+01 0.6466659189E+01 0.6466659189E+01 0.6466659189E+01 XX 0.2211478283E+01 0.2211478283E+01 0.2211478283E+01 0.2211478283E+01 0.2211478283E+01 XX 0.8600570884E+00 0.8600570884E+00 0.8600570884E+00 0.8600570884E+00 0.8600570884E+00 XX 0.5835191096E+00 0.5835191096E+00 0.5835191096E+00 0.5835191096E+00 0.5835191096E+00 XX 0.5637038495E+00 0.5637038495E+00 0.5637038495E+00 0.5637038495E+00 0.5637038495E+00 XX 0.8628306342E+01 0.8628306342E+01 0.8628306342E+01 0.8628306342E+01 0.8628306342E+01 XX 0.5851293705E+00 0.5851293705E+00 0.5851293705E+00 0.5851293705E+00 0.5851293705E+00 XX 0.8242963434E-01 0.8242963434E-01 0.8242963434E-01 0.8242963434E-01 0.8242963434E-01 XX 0.4543888419E-01 0.4543888419E-01 0.4543888419E-01 0.4543888419E-01 0.4543888419E-01 XX 0.2693595012E-01 0.2693595012E-01 0.2693595012E-01 0.2693595012E-01 0.2693595012E-01 XX 0.7065076086E-01 0.7065076086E-01 0.7065076086E-01 0.7065076086E-01 0.7065076086E-01 XX 0.7772413330E-01 0.7772413330E-01 0.7772413330E-01 0.7772413330E-01 0.7772413330E-01 XX 0.3236735731E+01 0.3236735731E+01 0.3236735731E+01 0.3236735731E+01 0.3236735731E+01 XX 0.5860956223E+01 0.5860956223E+01 0.5860956223E+01 0.5860956223E+01 0.5860956223E+01 XX 0.2013393815E+01 0.2013393815E+01 0.2013393815E+01 0.2013393815E+01 0.2013393815E+01 XX 0.7470315726E+00 0.7470315726E+00 0.7470315726E+00 0.7470315726E+00 0.7470315726E+00 XX 0.4906662805E+00 0.4906662805E+00 0.4906662805E+00 0.4906662805E+00 0.4906662805E+00 XX 0.4688780201E+00 0.4688780201E+00 0.4688780201E+00 0.4688780201E+00 0.4688780201E+00 XX 0.6727628815E+00 0.6727628815E+00 0.6727628815E+00 0.6727628815E+00 0.6727628815E+00 XX 0.4389617862E+02 0.4389617862E+02 0.4389617862E+02 0.4389617862E+02 0.4389617862E+02 XX 0.2051511264E+02 0.2051511264E+02 0.2051511264E+02 0.2051511264E+02 0.2051511264E+02 XX 0.1139532532E+02 0.1139532532E+02 0.1139532532E+02 0.1139532532E+02 0.1139532532E+02 XX 0.8352776354E+01 0.8352776354E+01 0.8352776354E+01 0.8352776354E+01 0.8352776354E+01 XX 0.1671616328E+02 0.1671616328E+02 0.1671616328E+02 0.1671616328E+02 0.1671616328E+02 XX 0.1831420377E-01 0.1831420377E-01 0.1831420377E-01 0.1831420377E-01 0.1831420377E-01 XX 0.1924512119E-01 0.1924512119E-01 0.1924512119E-01 0.1924512119E-01 0.1924512119E-01 XX 0.7168182167E-01 0.7168182167E-01 0.7168182167E-01 0.7168182167E-01 0.7168182167E-01 XX 0.1928033177E-01 0.1928033177E-01 0.1928033177E-01 0.1928033177E-01 0.1928033177E-01 XX 0.8462023405E-01 0.8462023405E-01 0.8462023405E-01 0.8462023405E-01 0.8462023405E-01 XX 0.9756678906E-01 0.9756678906E-01 0.9756678906E-01 0.9756678906E-01 0.9756678906E-01 XX 0.6828445202E+00 0.6828445202E+00 0.6828445202E+00 0.6828445202E+00 0.6828445202E+00 XX 0.6599334837E+00 0.6599334837E+00 0.6599334837E+00 0.6599334837E+00 0.6599334837E+00 XX 0.8574168175E+00 0.8574168175E+00 0.8574168175E+00 0.8574168175E+00 0.8574168175E+00 XX 0.1316564626E+02 0.1316564626E+02 0.1316564626E+02 0.1316564626E+02 0.1316564626E+02 XX 0.2049647960E+01 0.2049647960E+01 0.2049647960E+01 0.2049647960E+01 0.2049647960E+01 XX 0.1278172978E+01 0.1278172978E+01 0.1278172978E+01 0.1278172978E+01 0.1278172978E+01 XX 0.7860884168E+00 0.7860884168E+00 0.7860884168E+00 0.7860884168E+00 0.7860884168E+00 XX 0.7096988948E-01 0.7096988948E-01 0.7096988948E-01 0.7096988948E-01 0.7096988948E-01 XX 0.3013473641E+00 0.3013473641E+00 0.3013473641E+00 0.3013473641E+00 0.3013473641E+00 XX 0.1206068300E+00 0.1206068300E+00 0.1206068300E+00 0.1206068300E+00 0.1206068300E+00 XX 0.6584136276E-01 0.6584136276E-01 0.6584136276E-01 0.6584136276E-01 0.6584136276E-01 XX 0.3310283557E-01 0.3310283557E-01 0.3310283557E-01 0.3310283557E-01 0.3310283557E-01 XX 0.1865812453E+00 0.1865812453E+00 0.1865812453E+00 0.1865812453E+00 0.1865812453E+00 XX 0.4278258076E-01 0.4278258076E-01 0.4278258076E-01 0.4278258076E-01 0.4278258076E-01 XX 0.1734155930E+01 0.1734155930E+01 0.1734155930E+01 0.1734155930E+01 0.1734155930E+01 XX 0.2771237571E+01 0.2771237571E+01 0.2771237571E+01 0.2771237571E+01 0.2771237571E+01 XX 0.4479866105E+00 0.4479866105E+00 0.4479866105E+00 0.4479866105E+00 0.4479866105E+00 XX 0.1078566511E+01 0.1078566511E+01 0.1078566511E+01 0.1078566511E+01 0.1078566511E+01 XX 0.8481716302E+01 0.8481716302E+01 0.8481716302E+01 0.8481716302E+01 0.8481716302E+01 XX 0.8451381477E+01 0.8451381477E+01 0.8451381477E+01 0.8451381477E+01 0.8451381477E+01 XX 0.1746750566E+02 0.1746750566E+02 0.1746750566E+02 0.1746750566E+02 0.1746750566E+02 XX 0.3294991302E+01 0.3294991302E+01 0.3294991302E+01 0.3294991302E+01 0.3294991302E+01 XX 0.1232411987E+02 0.1232411987E+02 0.1232411987E+02 0.1232411987E+02 0.1232411987E+02 XX 0.3226834603E+00 0.3226834603E+00 0.3226834603E+00 0.3226834603E+00 0.3226834603E+00 XX 0.3849700039E+02 0.3849700039E+02 0.3849700039E+02 0.3849700039E+02 0.3849700039E+02 XX 0.1881459057E+02 0.1881459057E+02 0.1881459057E+02 0.1881459057E+02 0.1881459057E+02 XX 0.2561766153E+02 0.2561766153E+02 0.2561766153E+02 0.2561766153E+02 0.2561766153E+02 XX 0.1051813985E+02 0.1051813985E+02 0.1051813985E+02 0.1051813985E+02 0.1051813985E+02 XX 0.1719414328E+02 0.1719414328E+02 0.1719414328E+02 0.1719414328E+02 0.1719414328E+02 XX 0.3935413675E+00 0.3935413675E+00 0.3935413675E+00 0.3935413675E+00 0.3935413675E+00 XX 0.9911384508E-01 0.9911384508E-01 0.9911384508E-01 0.9911384508E-01 0.9911384508E-01 XX 0.3650896706E-01 0.3650896706E-01 0.3650896706E-01 0.3650896706E-01 0.3650896706E-01 XX 0.3297117480E-01 0.3297117480E-01 0.3297117480E-01 0.3297117480E-01 0.3297117480E-01 XX 0.2228814265E+01 0.2228814265E+01 0.2228814265E+01 0.2228814265E+01 0.2228814265E+01 XX 0.8091966839E-01 0.8091966839E-01 0.8091966839E-01 0.8091966839E-01 0.8091966839E-01 XX 0.1213664730E+00 0.1213664730E+00 0.1213664730E+00 0.1213664730E+00 0.1213664730E+00 XX 0.7794806616E+01 0.7794806616E+01 0.7794806616E+01 0.7794806616E+01 0.7794806616E+01 XX 0.2375345811E+01 0.2375345811E+01 0.2375345811E+01 0.2375345811E+01 0.2375345811E+01 XX 0.8726584691E+00 0.8726584691E+00 0.8726584691E+00 0.8726584691E+00 0.8726584691E+00 XX 0.1036424482E+01 0.1036424482E+01 0.1036424482E+01 0.1036424482E+01 0.1036424482E+01 XX 0.3955827652E+02 0.3955827652E+02 0.3955827652E+02 0.3955827652E+02 0.3955827652E+02 XX 0.8889741481E+01 0.8889741481E+01 0.8889741481E+01 0.8889741481E+01 0.8889741481E+01 XX 0.7327449208E-01 0.7327449208E-01 0.7327449208E-01 0.7327449208E-01 0.7327449208E-01 XX 0.2450404363E-01 0.2450404363E-01 0.2450404363E-01 0.2450404363E-01 0.2450404363E-01 XX 0.2152514608E-01 0.2152514608E-01 0.2152514608E-01 0.2152514608E-01 0.2152514608E-01 XX 0.2470237997E-01 0.2470237997E-01 0.2470237997E-01 0.2470237997E-01 0.2470237997E-01 XX 0.1563943919E+01 0.1563943919E+01 0.1563943919E+01 0.1563943919E+01 0.1563943919E+01 XX 0.5234807998E-01 0.5234807998E-01 0.5234807998E-01 0.5234807998E-01 0.5234807998E-01 XX 0.8090872492E-01 0.8090872492E-01 0.8090872492E-01 0.8090872492E-01 0.8090872492E-01 XX 0.8647266595E-01 0.8647266595E-01 0.8647266595E-01 0.8647266595E-01 0.8647266595E-01 XX 0.7203895448E+01 0.7203895448E+01 0.7203895448E+01 0.7203895448E+01 0.7203895448E+01 XX 0.2125793833E+01 0.2125793833E+01 0.2125793833E+01 0.2125793833E+01 0.2125793833E+01 XX 0.7383258331E+00 0.7383258331E+00 0.7383258331E+00 0.7383258331E+00 0.7383258331E+00 XX 0.8727647000E+00 0.8727647000E+00 0.8727647000E+00 0.8727647000E+00 0.8727647000E+00 XX 0.3983663113E+02 0.3983663113E+02 0.3983663113E+02 0.3983663113E+02 0.3983663113E+02 XX 0.2824821591E+02 0.2824821591E+02 0.2824821591E+02 0.2824821591E+02 0.2824821591E+02 XX 0.1467363263E+02 0.1467363263E+02 0.1467363263E+02 0.1467363263E+02 0.1467363263E+02 XX 0.8860393540E+01 0.8860393540E+01 0.8860393540E+01 0.8860393540E+01 0.8860393540E+01 XX 0.1162098814E+02 0.1162098814E+02 0.1162098814E+02 0.1162098814E+02 0.1162098814E+02 XX 0.5247000536E-01 0.5247000536E-01 0.5247000536E-01 0.5247000536E-01 0.5247000536E-01 XX 0.1424489795E-01 0.1424489795E-01 0.1424489795E-01 0.1424489795E-01 0.1424489795E-01 XX 0.1242955724E-01 0.1242955724E-01 0.1242955724E-01 0.1242955724E-01 0.1242955724E-01 XX 0.1590987785E-01 0.1590987785E-01 0.1590987785E-01 0.1590987785E-01 0.1590987785E-01 XX 0.1584316506E-01 0.1584316506E-01 0.1584316506E-01 0.1584316506E-01 0.1584316506E-01 XX 0.1467009436E-01 0.1467009436E-01 0.1467009436E-01 0.1467009436E-01 0.1467009436E-01 XX 0.4490049433E-01 0.4490049433E-01 0.4490049433E-01 0.4490049433E-01 0.4490049433E-01 XX 0.9161360503E-01 0.9161360503E-01 0.9161360503E-01 0.9161360503E-01 0.9161360503E-01 XX 0.1215073498E+01 0.1215073498E+01 0.1215073498E+01 0.1215073498E+01 0.1215073498E+01 XX 0.3970242317E+02 0.3970242317E+02 0.3970242317E+02 0.3970242317E+02 0.3970242317E+02 XX 0.1491518935E+02 0.1491518935E+02 0.1491518935E+02 0.1491518935E+02 0.1491518935E+02 XX 0.1700325984E+01 0.1700325984E+01 0.1700325984E+01 0.1700325984E+01 0.1700325984E+01 XX 0.2283321380E+01 0.2283321380E+01 0.2283321380E+01 0.2283321380E+01 0.2283321380E+01 XX 0.9036950196E+00 0.9036950196E+00 0.9036950196E+00 0.9036950196E+00 0.9036950196E+00 XX 0.9626762416E-01 0.9626762416E-01 0.9626762416E-01 0.9626762416E-01 0.9626762416E-01 XX 0.5458636301E-01 0.5458636301E-01 0.5458636301E-01 0.5458636301E-01 0.5458636301E-01 XX 0.1910065371E+00 0.1910065371E+00 0.1910065371E+00 0.1910065371E+00 0.1910065371E+00 XX 0.4933564467E-01 0.4933564467E-01 0.4933564467E-01 0.4933564467E-01 0.4933564467E-01 XX 0.1233558872E+00 0.1233558872E+00 0.1233558872E+00 0.1233558872E+00 0.1233558872E+00 XX 0.1013483878E+01 0.1013483878E+01 0.1013483878E+01 0.1013483878E+01 0.1013483878E+01 XX 0.9044773339E+01 0.9044773339E+01 0.9044773339E+01 0.9044773339E+01 0.9044773339E+01 XX 0.7465111129E+01 0.7465111129E+01 0.7465111129E+01 0.7465111129E+01 0.7465111129E+01 XX 0.7248296311E+01 0.7248296311E+01 0.7248296311E+01 0.7248296311E+01 0.7248296311E+01 XX 0.3469492622E+01 0.3469492622E+01 0.3469492622E+01 0.3469492622E+01 0.3469492622E+01 XX 0.2554195701E+01 0.2554195701E+01 0.2554195701E+01 0.2554195701E+01 0.2554195701E+01 XX 0.1117004731E+01 0.1117004731E+01 0.1117004731E+01 0.1117004731E+01 0.1117004731E+01 XX 0.1060081207E+01 0.1060081207E+01 0.1060081207E+01 0.1060081207E+01 0.1060081207E+01 XX 0.5985632732E+00 0.5985632732E+00 0.5985632732E+00 0.5985632732E+00 0.5985632732E+00 XX 0.1062108302E+02 0.1062108302E+02 0.1062108302E+02 0.1062108302E+02 0.1062108302E+02 XX 0.9379426207E+01 0.9379426207E+01 0.9379426207E+01 0.9379426207E+01 0.9379426207E+01 XX 0.7142923946E+00 0.7142923946E+00 0.7142923946E+00 0.7142923946E+00 0.7142923946E+00 XX 0.4164498330E-01 0.4164498330E-01 0.4164498330E-01 0.4164498330E-01 0.4164498330E-01 XX 0.1894777233E+01 0.1894777233E+01 0.1894777233E+01 0.1894777233E+01 0.1894777233E+01 XX 0.5899153117E+00 0.5899153117E+00 0.5899153117E+00 0.5899153117E+00 0.5899153117E+00 XX 0.1719045951E+00 0.1719045951E+00 0.1719045951E+00 0.1719045951E+00 0.1719045951E+00 XX 0.8543151065E-01 0.8543151065E-01 0.8543151065E-01 0.8543151065E-01 0.8543151065E-01 XX 0.1383289143E+00 0.1383289143E+00 0.1383289143E+00 0.1383289143E+00 0.1383289143E+00 XX 0.6706249735E+00 0.6706249735E+00 0.6706249735E+00 0.6706249735E+00 0.6706249735E+00 XX 0.3524763816E+02 0.3524763816E+02 0.3524763816E+02 0.3524763816E+02 0.3524763816E+02 XX 0.2752903065E+02 0.2752903065E+02 0.2752903065E+02 0.2752903065E+02 0.2752903065E+02 XX 0.3729243075E+02 0.3729243075E+02 0.3729243075E+02 0.3729243075E+02 0.3729243075E+02 XX 0.1637329037E+02 0.1637329037E+02 0.1637329037E+02 0.1637329037E+02 0.1637329037E+02 XX 0.1062927854E+02 0.1062927854E+02 0.1062927854E+02 0.1062927854E+02 0.1062927854E+02 XX 0.7756394885E+00 0.7756394885E+00 0.7756394885E+00 0.7756394885E+00 0.7756394885E+00 XX 0.2202210914E-01 0.2202210914E-01 0.2202210914E-01 0.2202210914E-01 0.2202210914E-01 XX 0.2275693793E-01 0.2275693793E-01 0.2275693793E-01 0.2275693793E-01 0.2275693793E-01 XX 0.1434980979E+01 0.1434980979E+01 0.1434980979E+01 0.1434980979E+01 0.1434980979E+01 XX 0.4573357399E+00 0.4573357399E+00 0.4573357399E+00 0.4573357399E+00 0.4573357399E+00 XX 0.1252135904E+00 0.1252135904E+00 0.1252135904E+00 0.1252135904E+00 0.1252135904E+00 XX 0.5623722838E-01 0.5623722838E-01 0.5623722838E-01 0.5623722838E-01 0.5623722838E-01 XX 0.9041858729E-01 0.9041858729E-01 0.9041858729E-01 0.9041858729E-01 0.9041858729E-01 XX 0.5515610051E+00 0.5515610051E+00 0.5515610051E+00 0.5515610051E+00 0.5515610051E+00 XX 0.7228515255E+00 0.7228515255E+00 0.7228515255E+00 0.7228515255E+00 0.7228515255E+00 XX 0.4240155401E+02 0.4240155401E+02 0.4240155401E+02 0.4240155401E+02 0.4240155401E+02 XX 0.3731879814E+02 0.3731879814E+02 0.3731879814E+02 0.3731879814E+02 0.3731879814E+02 XX 0.1615465413E+02 0.1615465413E+02 0.1615465413E+02 0.1615465413E+02 0.1615465413E+02 XX 0.1042074474E+02 0.1042074474E+02 0.1042074474E+02 0.1042074474E+02 0.1042074474E+02 XX 0.7845909133E+01 0.7845909133E+01 0.7845909133E+01 0.7845909133E+01 0.7845909133E+01 XX 0.1291974903E+02 0.1291974903E+02 0.1291974903E+02 0.1291974903E+02 0.1291974903E+02 XX 0.6298324816E+00 0.6298324816E+00 0.6298324816E+00 0.6298324816E+00 0.6298324816E+00 XX 0.1523569154E-01 0.1523569154E-01 0.1523569154E-01 0.1523569154E-01 0.1523569154E-01 XX 0.4534003581E-01 0.4534003581E-01 0.4534003581E-01 0.4534003581E-01 0.4534003581E-01 XX 0.7289453598E-01 0.7289453598E-01 0.7289453598E-01 0.7289453598E-01 0.7289453598E-01 XX 0.1006109675E+00 0.1006109675E+00 0.1006109675E+00 0.1006109675E+00 0.1006109675E+00 XX 0.1033119926E+00 0.1033119926E+00 0.1033119926E+00 0.1033119926E+00 0.1033119926E+00 XX 0.7602861843E+00 0.7602861843E+00 0.7602861843E+00 0.7602861843E+00 0.7602861843E+00 XX 0.7355771859E+00 0.7355771859E+00 0.7355771859E+00 0.7355771859E+00 0.7355771859E+00 XX 0.7920642101E+01 0.7920642101E+01 0.7920642101E+01 0.7920642101E+01 0.7920642101E+01 XX 0.2561433073E+02 0.2561433073E+02 0.2561433073E+02 0.2561433073E+02 0.2561433073E+02 XX 0.1839431406E+00 0.1839431406E+00 0.1839431406E+00 0.1839431406E+00 0.1839431406E+00 XX 0.1299503182E+00 0.1299503182E+00 0.1299503182E+00 0.1299503182E+00 0.1299503182E+00 XX 0.3052042932E-01 0.3052042932E-01 0.3052042932E-01 0.3052042932E-01 0.3052042932E-01 XX 0.5231201400E-01 0.5231201400E-01 0.5231201400E-01 0.5231201400E-01 0.5231201400E-01 XX 0.3668641883E-01 0.3668641883E-01 0.3668641883E-01 0.3668641883E-01 0.3668641883E-01 XX 0.4815796572E-01 0.4815796572E-01 0.4815796572E-01 0.4815796572E-01 0.4815796572E-01 XX 0.1696629801E+00 0.1696629801E+00 0.1696629801E+00 0.1696629801E+00 0.1696629801E+00 XX 0.1806822723E+01 0.1806822723E+01 0.1806822723E+01 0.1806822723E+01 0.1806822723E+01 XX 0.2550619833E+01 0.2550619833E+01 0.2550619833E+01 0.2550619833E+01 0.2550619833E+01 XX 0.8692512468E+01 0.8692512468E+01 0.8692512468E+01 0.8692512468E+01 0.8692512468E+01 XX 0.8770950376E+01 0.8770950376E+01 0.8770950376E+01 0.8770950376E+01 0.8770950376E+01 XX 0.2973313480E+01 0.2973313480E+01 0.2973313480E+01 0.2973313480E+01 0.2973313480E+01 XX 0.1278633656E+01 0.1278633656E+01 0.1278633656E+01 0.1278633656E+01 0.1278633656E+01 XX 0.7569244769E+00 0.7569244769E+00 0.7569244769E+00 0.7569244769E+00 0.7569244769E+00 XX 0.7379563396E+00 0.7379563396E+00 0.7379563396E+00 0.7379563396E+00 0.7379563396E+00 XX 0.2695701998E+02 0.2695701998E+02 0.2695701998E+02 0.2695701998E+02 0.2695701998E+02 XX 0.3431432005E+02 0.3431432005E+02 0.3431432005E+02 0.3431432005E+02 0.3431432005E+02 XX 0.1628094735E+02 0.1628094735E+02 0.1628094735E+02 0.1628094735E+02 0.1628094735E+02 XX 0.4076507250E+01 0.4076507250E+01 0.4076507250E+01 0.4076507250E+01 0.4076507250E+01 XX 0.3397956421E-01 0.3397956421E-01 0.3397956421E-01 0.3397956421E-01 0.3397956421E-01 XX 0.4225638228E-01 0.4225638228E-01 0.4225638228E-01 0.4225638228E-01 0.4225638228E-01 XX 0.3925916452E+00 0.3925916452E+00 0.3925916452E+00 0.3925916452E+00 0.3925916452E+00 XX 0.2456191634E+01 0.2456191634E+01 0.2456191634E+01 0.2456191634E+01 0.2456191634E+01 XX 0.7082788463E+00 0.7082788463E+00 0.7082788463E+00 0.7082788463E+00 0.7082788463E+00 XX 0.1909240239E+00 0.1909240239E+00 0.1909240239E+00 0.1909240239E+00 0.1909240239E+00 XX 0.1096491449E+00 0.1096491449E+00 0.1096491449E+00 0.1096491449E+00 0.1096491449E+00 XX 0.8248986982E-01 0.8248986982E-01 0.8248986982E-01 0.8248986982E-01 0.8248986982E-01 XX 0.4248827494E+02 0.4248827494E+02 0.4248827494E+02 0.4248827494E+02 0.4248827494E+02 XX 0.1666385301E+02 0.1666385301E+02 0.1666385301E+02 0.1666385301E+02 0.1666385301E+02 XX 0.1600896362E+02 0.1600896362E+02 0.1600896362E+02 0.1600896362E+02 0.1600896362E+02 XX 0.1166607975E+02 0.1166607975E+02 0.1166607975E+02 0.1166607975E+02 0.1166607975E+02 XX 0.9426056390E+01 0.9426056390E+01 0.9426056390E+01 0.9426056390E+01 0.9426056390E+01 XX 0.9840383758E+01 0.9840383758E+01 0.9840383758E+01 0.9840383758E+01 0.9840383758E+01 XX 0.1684630873E+02 0.1684630873E+02 0.1684630873E+02 0.1684630873E+02 0.1684630873E+02 XX 0.6482796169E+00 0.6482796169E+00 0.6482796169E+00 0.6482796169E+00 0.6482796169E+00 XX 0.4140848262E-01 0.4140848262E-01 0.4140848262E-01 0.4140848262E-01 0.4140848262E-01 XX 0.2755666762E-01 0.2755666762E-01 0.2755666762E-01 0.2755666762E-01 0.2755666762E-01 XX 0.1792520457E+01 0.1792520457E+01 0.1792520457E+01 0.1792520457E+01 0.1792520457E+01 XX 0.5230073422E+00 0.5230073422E+00 0.5230073422E+00 0.5230073422E+00 0.5230073422E+00 XX 0.1324974603E+00 0.1324974603E+00 0.1324974603E+00 0.1324974603E+00 0.1324974603E+00 XX 0.6962194131E-01 0.6962194131E-01 0.6962194131E-01 0.6962194131E-01 0.6962194131E-01 XX 0.5381131870E-01 0.5381131870E-01 0.5381131870E-01 0.5381131870E-01 0.5381131870E-01 XX 0.5786971091E-01 0.5786971091E-01 0.5786971091E-01 0.5786971091E-01 0.5786971091E-01 XX 0.5292657037E+00 0.5292657037E+00 0.5292657037E+00 0.5292657037E+00 0.5292657037E+00 XX 0.3450849218E+02 0.3450849218E+02 0.3450849218E+02 0.3450849218E+02 0.3450849218E+02 XX 0.1607269688E+02 0.1607269688E+02 0.1607269688E+02 0.1607269688E+02 0.1607269688E+02 XX 0.9452541405E+01 0.9452541405E+01 0.9452541405E+01 0.9452541405E+01 0.9452541405E+01 XX 0.1021962610E+02 0.1021962610E+02 0.1021962610E+02 0.1021962610E+02 0.1021962610E+02 XX 0.9610592135E+01 0.9610592135E+01 0.9610592135E+01 0.9610592135E+01 0.9610592135E+01 XX 0.1692106143E-01 0.1692106143E-01 0.1692106143E-01 0.1692106143E-01 0.1692106143E-01 XX 0.1614772047E-01 0.1614772047E-01 0.1614772047E-01 0.1614772047E-01 0.1614772047E-01 XX 0.1588122625E+01 0.1588122625E+01 0.1588122625E+01 0.1588122625E+01 0.1588122625E+01 XX 0.5476550201E-01 0.5476550201E-01 0.5476550201E-01 0.5476550201E-01 0.5476550201E-01 XX 0.5612828466E-01 0.5612828466E-01 0.5612828466E-01 0.5612828466E-01 0.5612828466E-01 XX 0.6074630647E-01 0.6074630647E-01 0.6074630647E-01 0.6074630647E-01 0.6074630647E-01 XX 0.6363162621E-01 0.6363162621E-01 0.6363162621E-01 0.6363162621E-01 0.6363162621E-01 XX 0.6977618658E+00 0.6977618658E+00 0.6977618658E+00 0.6977618658E+00 0.6977618658E+00 XX 0.1371022383E+02 0.1371022383E+02 0.1371022383E+02 0.1371022383E+02 0.1371022383E+02 XX 0.2711473894E+01 0.2711473894E+01 0.2711473894E+01 0.2711473894E+01 0.2711473894E+01 XX 0.1404126974E+02 0.1404126974E+02 0.1404126974E+02 0.1404126974E+02 0.1404126974E+02 XX 0.7920642101E+01 0.7920642101E+01 0.7920642101E+01 0.7920642101E+01 0.7920642101E+01 XX 0.5596460950E+00 0.5596460950E+00 0.5596460950E+00 0.5596460950E+00 0.5596460950E+00 XX 0.3951789858E-01 0.3951789858E-01 0.3951789858E-01 0.3951789858E-01 0.3951789858E-01 XX 0.9933818482E-01 0.9933818482E-01 0.9933818482E-01 0.9933818482E-01 0.9933818482E-01 XX 0.9913489828E-01 0.9913489828E-01 0.9913489828E-01 0.9913489828E-01 0.9913489828E-01 XX 0.2477403144E+01 0.2477403144E+01 0.2477403144E+01 0.2477403144E+01 0.2477403144E+01 XX 0.2409651885E+01 0.2409651885E+01 0.2409651885E+01 0.2409651885E+01 0.2409651885E+01 XX 0.7654108033E+00 0.7654108033E+00 0.7654108033E+00 0.7654108033E+00 0.7654108033E+00 XX 0.2376830056E+00 0.2376830056E+00 0.2376830056E+00 0.2376830056E+00 0.2376830056E+00 XX 0.1287726846E+00 0.1287726846E+00 0.1287726846E+00 0.1287726846E+00 0.1287726846E+00 XX 0.8045527033E-01 0.8045527033E-01 0.8045527033E-01 0.8045527033E-01 0.8045527033E-01 XX 0.1094593764E+02 0.1094593764E+02 0.1094593764E+02 0.1094593764E+02 0.1094593764E+02 XX 0.1005780962E+01 0.1005780962E+01 0.1005780962E+01 0.1005780962E+01 0.1005780962E+01 XX 0.5114524560E+00 0.5114524560E+00 0.5114524560E+00 0.5114524560E+00 0.5114524560E+00 XX 0.9215743401E+00 0.9215743401E+00 0.9215743401E+00 0.9215743401E+00 0.9215743401E+00 XX 0.1356776080E+01 0.1356776080E+01 0.1356776080E+01 0.1356776080E+01 0.1356776080E+01 XX 0.3473718739E+02 0.3473718739E+02 0.3473718739E+02 0.3473718739E+02 0.3473718739E+02 XX 0.3750047751E+02 0.3750047751E+02 0.3750047751E+02 0.3750047751E+02 0.3750047751E+02 XX 0.1896427637E+02 0.1896427637E+02 0.1896427637E+02 0.1896427637E+02 0.1896427637E+02 XX 0.1222512603E+02 0.1222512603E+02 0.1222512603E+02 0.1222512603E+02 0.1222512603E+02 XX 0.1038129270E+02 0.1038129270E+02 0.1038129270E+02 0.1038129270E+02 0.1038129270E+02 XX 0.3442296371E+02 0.3442296371E+02 0.3442296371E+02 0.3442296371E+02 0.3442296371E+02 XX 0.2063430583E+02 0.2063430583E+02 0.2063430583E+02 0.2063430583E+02 0.2063430583E+02 XX 0.1076691363E+02 0.1076691363E+02 0.1076691363E+02 0.1076691363E+02 0.1076691363E+02 XX 0.1020098496E+02 0.1020098496E+02 0.1020098496E+02 0.1020098496E+02 0.1020098496E+02 XX 0.8919018985E+01 0.8919018985E+01 0.8919018985E+01 0.8919018985E+01 0.8919018985E+01 XX 0.9163548175E+01 0.9163548175E+01 0.9163548175E+01 0.9163548175E+01 0.9163548175E+01 XX 0.1031732044E+02 0.1031732044E+02 0.1031732044E+02 0.1031732044E+02 0.1031732044E+02 XX 0.1260725570E+01 0.1260725570E+01 0.1260725570E+01 0.1260725570E+01 0.1260725570E+01 XX 0.1470422590E+00 0.1470422590E+00 0.1470422590E+00 0.1470422590E+00 0.1470422590E+00 XX 0.3947855616E+00 0.3947855616E+00 0.3947855616E+00 0.3947855616E+00 0.3947855616E+00 XX 0.4201355419E-01 0.4201355419E-01 0.4201355419E-01 0.4201355419E-01 0.4201355419E-01 XX 0.1101008432E+00 0.1101008432E+00 0.1101008432E+00 0.1101008432E+00 0.1101008432E+00 XX 0.2641054838E-01 0.2641054838E-01 0.2641054838E-01 0.2641054838E-01 0.2641054838E-01 XX 0.2531112955E-01 0.2531112955E-01 0.2531112955E-01 0.2531112955E-01 0.2531112955E-01 XX 0.4374207931E-01 0.4374207931E-01 0.4374207931E-01 0.4374207931E-01 0.4374207931E-01 XX 0.3177826771E-01 0.3177826771E-01 0.3177826771E-01 0.3177826771E-01 0.3177826771E-01 XX 0.6091030019E+01 0.6091030019E+01 0.6091030019E+01 0.6091030019E+01 0.6091030019E+01 XX 0.1915435529E+01 0.1915435529E+01 0.1915435529E+01 0.1915435529E+01 0.1915435529E+01 XX 0.5696734334E+00 0.5696734334E+00 0.5696734334E+00 0.5696734334E+00 0.5696734334E+00 XX 0.6219600752E-01 0.6219600752E-01 0.6219600752E-01 0.6219600752E-01 0.6219600752E-01 XX 0.2434795777E+00 0.2434795777E+00 0.2434795777E+00 0.2434795777E+00 0.2434795777E+00 XX 0.8462646859E-01 0.8462646859E-01 0.8462646859E-01 0.8462646859E-01 0.8462646859E-01 XX 0.1792361669E+02 0.1792361669E+02 0.1792361669E+02 0.1792361669E+02 0.1792361669E+02 XX 0.8996501202E+01 0.8996501202E+01 0.8996501202E+01 0.8996501202E+01 0.8996501202E+01 XX 0.8674629015E+01 0.8674629015E+01 0.8674629015E+01 0.8674629015E+01 0.8674629015E+01 XX 0.8532410436E+01 0.8532410436E+01 0.8532410436E+01 0.8532410436E+01 0.8532410436E+01 XX 0.1340391058E-01 0.1340391058E-01 0.1340391058E-01 0.1340391058E-01 0.1340391058E-01 XX 0.2068949322E-01 0.2068949322E-01 0.2068949322E-01 0.2068949322E-01 0.2068949322E-01 XX 0.1528313572E-01 0.1528313572E-01 0.1528313572E-01 0.1528313572E-01 0.1528313572E-01 XX 0.4471922613E-01 0.4471922613E-01 0.4471922613E-01 0.4471922613E-01 0.4471922613E-01 XX 0.7705448626E-01 0.7705448626E-01 0.7705448626E-01 0.7705448626E-01 0.7705448626E-01 XX 0.3413745331E+00 0.3413745331E+00 0.3413745331E+00 0.3413745331E+00 0.3413745331E+00 XX 0.4915304568E-01 0.4915304568E-01 0.4915304568E-01 0.4915304568E-01 0.4915304568E-01 XX 0.6629884323E+00 0.6629884323E+00 0.6629884323E+00 0.6629884323E+00 0.6629884323E+00 XX 0.8686144841E+01 0.8686144841E+01 0.8686144841E+01 0.8686144841E+01 0.8686144841E+01 XX 0.1123221209E+02 0.1123221209E+02 0.1123221209E+02 0.1123221209E+02 0.1123221209E+02 XX 0.3533036458E+00 0.3533036458E+00 0.3533036458E+00 0.3533036458E+00 0.3533036458E+00 XX 0.5317771070E+00 0.5317771070E+00 0.5317771070E+00 0.5317771070E+00 0.5317771070E+00 XX 0.2396176004E+00 0.2396176004E+00 0.2396176004E+00 0.2396176004E+00 0.2396176004E+00 XX 0.1032635213E+00 0.1032635213E+00 0.1032635213E+00 0.1032635213E+00 0.1032635213E+00 XX 0.7389831226E-01 0.7389831226E-01 0.7389831226E-01 0.7389831226E-01 0.7389831226E-01 XX 0.2962980773E+01 0.2962980773E+01 0.2962980773E+01 0.2962980773E+01 0.2962980773E+01 XX 0.2686774240E+01 0.2686774240E+01 0.2686774240E+01 0.2686774240E+01 0.2686774240E+01 XX 0.8205745020E+00 0.8205745020E+00 0.8205745020E+00 0.8205745020E+00 0.8205745020E+00 XX 0.2773061131E+00 0.2773061131E+00 0.2773061131E+00 0.2773061131E+00 0.2773061131E+00 XX 0.1726642036E+00 0.1726642036E+00 0.1726642036E+00 0.1726642036E+00 0.1726642036E+00 XX 0.8967713655E+01 0.8967713655E+01 0.8967713655E+01 0.8967713655E+01 0.8967713655E+01 XX 0.2828276409E+01 0.2828276409E+01 0.2828276409E+01 0.2828276409E+01 0.2828276409E+01 XX 0.1107233228E+01 0.1107233228E+01 0.1107233228E+01 0.1107233228E+01 0.1107233228E+01 XX 0.8824399079E+00 0.8824399079E+00 0.8824399079E+00 0.8824399079E+00 0.8824399079E+00 XX 0.4935888922E+00 0.4935888922E+00 0.4935888922E+00 0.4935888922E+00 0.4935888922E+00 XX 0.3617225449E+02 0.3617225449E+02 0.3617225449E+02 0.3617225449E+02 0.3617225449E+02 XX 0.4230202485E+02 0.4230202485E+02 0.4230202485E+02 0.4230202485E+02 0.4230202485E+02 XX 0.1484789995E+02 0.1484789995E+02 0.1484789995E+02 0.1484789995E+02 0.1484789995E+02 XX 0.6586278490E+01 0.6586278490E+01 0.6586278490E+01 0.6586278490E+01 0.6586278490E+01 XX 0.4388402060E+02 0.4388402060E+02 0.4388402060E+02 0.4388402060E+02 0.4388402060E+02 XX 0.1497767572E+02 0.1497767572E+02 0.1497767572E+02 0.1497767572E+02 0.1497767572E+02 XX 0.9877936376E+01 0.9877936376E+01 0.9877936376E+01 0.9877936376E+01 0.9877936376E+01 XX 0.8351670932E+01 0.8351670932E+01 0.8351670932E+01 0.8351670932E+01 0.8351670932E+01 XX 0.2766817633E+01 0.2766817633E+01 0.2766817633E+01 0.2766817633E+01 0.2766817633E+01 XX 0.2348226596E+00 0.2348226596E+00 0.2348226596E+00 0.2348226596E+00 0.2348226596E+00 XX 0.7022492377E-01 0.7022492377E-01 0.7022492377E-01 0.7022492377E-01 0.7022492377E-01 XX 0.9022314169E-01 0.9022314169E-01 0.9022314169E-01 0.9022314169E-01 0.9022314169E-01 XX 0.3825490745E-01 0.3825490745E-01 0.3825490745E-01 0.3825490745E-01 0.3825490745E-01 XX 0.5471417506E-01 0.5471417506E-01 0.5471417506E-01 0.5471417506E-01 0.5471417506E-01 XX 0.1752655935E-01 0.1752655935E-01 0.1752655935E-01 0.1752655935E-01 0.1752655935E-01 XX 0.3109654090E-01 0.3109654090E-01 0.3109654090E-01 0.3109654090E-01 0.3109654090E-01 XX 0.3759249010E-01 0.3759249010E-01 0.3759249010E-01 0.3759249010E-01 0.3759249010E-01 XX 0.1813096396E+01 0.1813096396E+01 0.1813096396E+01 0.1813096396E+01 0.1813096396E+01 XX 0.3818467512E+01 0.3818467512E+01 0.3818467512E+01 0.3818467512E+01 0.3818467512E+01 XX 0.4760012234E+00 0.4760012234E+00 0.4760012234E+00 0.4760012234E+00 0.4760012234E+00 XX 0.3606336879E+00 0.3606336879E+00 0.3606336879E+00 0.3606336879E+00 0.3606336879E+00 XX 0.2124321690E+00 0.2124321690E+00 0.2124321690E+00 0.2124321690E+00 0.2124321690E+00 XX 0.8325748723E-01 0.8325748723E-01 0.8325748723E-01 0.8325748723E-01 0.8325748723E-01 XX 0.1937999100E+00 0.1937999100E+00 0.1937999100E+00 0.1937999100E+00 0.1937999100E+00 XX 0.1976866603E+00 0.1976866603E+00 0.1976866603E+00 0.1976866603E+00 0.1976866603E+00 XX 0.7414853974E+01 0.7414853974E+01 0.7414853974E+01 0.7414853974E+01 0.7414853974E+01 XX 0.3165991456E+02 0.3165991456E+02 0.3165991456E+02 0.3165991456E+02 0.3165991456E+02 XX 0.1197968580E+02 0.1197968580E+02 0.1197968580E+02 0.1197968580E+02 0.1197968580E+02 XX 0.7620363866E+00 0.7620363866E+00 0.7620363866E+00 0.7620363866E+00 0.7620363866E+00 XX 0.2964875222E+01 0.2964875222E+01 0.2964875222E+01 0.2964875222E+01 0.2964875222E+01 XX 0.2637734117E+01 0.2637734117E+01 0.2637734117E+01 0.2637734117E+01 0.2637734117E+01 XX 0.2676811604E-01 0.2676811604E-01 0.2676811604E-01 0.2676811604E-01 0.2676811604E-01 XX 0.2657569386E-01 0.2657569386E-01 0.2657569386E-01 0.2657569386E-01 0.2657569386E-01 XX 0.2580292000E-01 0.2580292000E-01 0.2580292000E-01 0.2580292000E-01 0.2580292000E-01 XX 0.2265327908E-01 0.2265327908E-01 0.2265327908E-01 0.2265327908E-01 0.2265327908E-01 XX 0.2711250487E-01 0.2711250487E-01 0.2711250487E-01 0.2711250487E-01 0.2711250487E-01 XX 0.3249522432E-01 0.3249522432E-01 0.3249522432E-01 0.3249522432E-01 0.3249522432E-01 XX 0.3051358478E+00 0.3051358478E+00 0.3051358478E+00 0.3051358478E+00 0.3051358478E+00 XX 0.1201225495E+02 0.1201225495E+02 0.1201225495E+02 0.1201225495E+02 0.1201225495E+02 XX 0.2643870168E+01 0.2643870168E+01 0.2643870168E+01 0.2643870168E+01 0.2643870168E+01 XX 0.4762472393E+00 0.4762472393E+00 0.4762472393E+00 0.4762472393E+00 0.4762472393E+00 XX 0.2002718709E+02 0.2002718709E+02 0.2002718709E+02 0.2002718709E+02 0.2002718709E+02 XX 0.2558410632E+01 0.2558410632E+01 0.2558410632E+01 0.2558410632E+01 0.2558410632E+01 XX 0.9845229014E+01 0.9845229014E+01 0.9845229014E+01 0.9845229014E+01 0.9845229014E+01 XX 0.7907501269E-01 0.7907501269E-01 0.7907501269E-01 0.7907501269E-01 0.7907501269E-01 XX 0.2476744458E+01 0.2476744458E+01 0.2476744458E+01 0.2476744458E+01 0.2476744458E+01 XX 0.3370885175E+01 0.3370885175E+01 0.3370885175E+01 0.3370885175E+01 0.3370885175E+01 XX 0.7916075152E+00 0.7916075152E+00 0.7916075152E+00 0.7916075152E+00 0.7916075152E+00 XX 0.9877976800E+00 0.9877976800E+00 0.9877976800E+00 0.9877976800E+00 0.9877976800E+00 XX 0.2356477817E+00 0.2356477817E+00 0.2356477817E+00 0.2356477817E+00 0.2356477817E+00 XX 0.2820730592E+00 0.2820730592E+00 0.2820730592E+00 0.2820730592E+00 0.2820730592E+00 XX 0.1101192941E+00 0.1101192941E+00 0.1101192941E+00 0.1101192941E+00 0.1101192941E+00 XX 0.1707184324E+00 0.1707184324E+00 0.1707184324E+00 0.1707184324E+00 0.1707184324E+00 XX 0.4301257906E+02 0.4301257906E+02 0.4301257906E+02 0.4301257906E+02 0.4301257906E+02 XX 0.1639073745E+02 0.1639073745E+02 0.1639073745E+02 0.1639073745E+02 0.1639073745E+02 XX 0.1685050636E+02 0.1685050636E+02 0.1685050636E+02 0.1685050636E+02 0.1685050636E+02 XX 0.7030383764E+01 0.7030383764E+01 0.7030383764E+01 0.7030383764E+01 0.7030383764E+01 XX 0.1118009405E+02 0.1118009405E+02 0.1118009405E+02 0.1118009405E+02 0.1118009405E+02 XX 0.1046118261E+02 0.1046118261E+02 0.1046118261E+02 0.1046118261E+02 0.1046118261E+02 XX 0.9835745400E+00 0.9835745400E+00 0.9835745400E+00 0.9835745400E+00 0.9835745400E+00 XX 0.3821344706E-01 0.3821344706E-01 0.3821344706E-01 0.3821344706E-01 0.3821344706E-01 XX 0.7421621974E-01 0.7421621974E-01 0.7421621974E-01 0.7421621974E-01 0.7421621974E-01 XX 0.2170707291E+01 0.2170707291E+01 0.2170707291E+01 0.2170707291E+01 0.2170707291E+01 XX 0.3569163223E+00 0.3569163223E+00 0.3569163223E+00 0.3569163223E+00 0.3569163223E+00 XX 0.8019452708E+01 0.8019452708E+01 0.8019452708E+01 0.8019452708E+01 0.8019452708E+01 XX 0.3201846389E+02 0.3201846389E+02 0.3201846389E+02 0.3201846389E+02 0.3201846389E+02 XX 0.3379154667E+01 0.3379154667E+01 0.3379154667E+01 0.3379154667E+01 0.3379154667E+01 XX 0.2833113217E+02 0.2833113217E+02 0.2833113217E+02 0.2833113217E+02 0.2833113217E+02 XX 0.8057661673E+00 0.8057661673E+00 0.8057661673E+00 0.8057661673E+00 0.8057661673E+00 XX 0.2289433610E-01 0.2289433610E-01 0.2289433610E-01 0.2289433610E-01 0.2289433610E-01 XX 0.4004831288E-01 0.4004831288E-01 0.4004831288E-01 0.4004831288E-01 0.4004831288E-01 XX 0.2748984229E-01 0.2748984229E-01 0.2748984229E-01 0.2748984229E-01 0.2748984229E-01 XX 0.3875787100E-01 0.3875787100E-01 0.3875787100E-01 0.3875787100E-01 0.3875787100E-01 XX 0.1571817376E+01 0.1571817376E+01 0.1571817376E+01 0.1571817376E+01 0.1571817376E+01 XX 0.1127750591E+01 0.1127750591E+01 0.1127750591E+01 0.1127750591E+01 0.1127750591E+01 XX 0.1315833740E+00 0.1315833740E+00 0.1315833740E+00 0.1315833740E+00 0.1315833740E+00 XX 0.5756250200E-01 0.5756250200E-01 0.5756250200E-01 0.5756250200E-01 0.5756250200E-01 XX 0.3242539305E+00 0.3242539305E+00 0.3242539305E+00 0.3242539305E+00 0.3242539305E+00 XX 0.6113633088E+01 0.6113633088E+01 0.6113633088E+01 0.6113633088E+01 0.6113633088E+01 XX 0.2038528839E+01 0.2038528839E+01 0.2038528839E+01 0.2038528839E+01 0.2038528839E+01 XX 0.4917252308E+01 0.4917252308E+01 0.4917252308E+01 0.4917252308E+01 0.4917252308E+01 XX 0.4826370129E+00 0.4826370129E+00 0.4826370129E+00 0.4826370129E+00 0.4826370129E+00 XX 0.1642005245E+02 0.1642005245E+02 0.1642005245E+02 0.1642005245E+02 0.1642005245E+02 XX 0.1104179078E+02 0.1104179078E+02 0.1104179078E+02 0.1104179078E+02 0.1104179078E+02 XX 0.8569724431E+01 0.8569724431E+01 0.8569724431E+01 0.8569724431E+01 0.8569724431E+01 XX 0.2877569695E-01 0.2877569695E-01 0.2877569695E-01 0.2877569695E-01 0.2877569695E-01 XX 0.2608571044E-01 0.2608571044E-01 0.2608571044E-01 0.2608571044E-01 0.2608571044E-01 XX 0.2537416388E-01 0.2537416388E-01 0.2537416388E-01 0.2537416388E-01 0.2537416388E-01 XX 0.1791947148E-01 0.1791947148E-01 0.1791947148E-01 0.1791947148E-01 0.1791947148E-01 XX 0.3779057323E-01 0.3779057323E-01 0.3779057323E-01 0.3779057323E-01 0.3779057323E-01 XX 0.2377077134E-01 0.2377077134E-01 0.2377077134E-01 0.2377077134E-01 0.2377077134E-01 XX 0.2068949322E-01 0.2068949322E-01 0.2068949322E-01 0.2068949322E-01 0.2068949322E-01 XX 0.2274002560E+00 0.2274002560E+00 0.2274002560E+00 0.2274002560E+00 0.2274002560E+00 XX 0.1890644006E+00 0.1890644006E+00 0.1890644006E+00 0.1890644006E+00 0.1890644006E+00 XX 0.7683261830E-01 0.7683261830E-01 0.7683261830E-01 0.7683261830E-01 0.7683261830E-01 XX 0.7055218891E+01 0.7055218891E+01 0.7055218891E+01 0.7055218891E+01 0.7055218891E+01 XX 0.2987143247E+01 0.2987143247E+01 0.2987143247E+01 0.2987143247E+01 0.2987143247E+01 XX 0.4328108324E+02 0.4328108324E+02 0.4328108324E+02 0.4328108324E+02 0.4328108324E+02 XX 0.7396918385E+01 0.7396918385E+01 0.7396918385E+01 0.7396918385E+01 0.7396918385E+01 XX 0.3344575135E+01 0.3344575135E+01 0.3344575135E+01 0.3344575135E+01 0.3344575135E+01 XX 0.1007326884E+01 0.1007326884E+01 0.1007326884E+01 0.1007326884E+01 0.1007326884E+01 XX 0.2893571006E+00 0.2893571006E+00 0.2893571006E+00 0.2893571006E+00 0.2893571006E+00 XX 0.1397918236E+00 0.1397918236E+00 0.1397918236E+00 0.1397918236E+00 0.1397918236E+00 XX 0.2655750948E+01 0.2655750948E+01 0.2655750948E+01 0.2655750948E+01 0.2655750948E+01 XX 0.1124730526E+01 0.1124730526E+01 0.1124730526E+01 0.1124730526E+01 0.1124730526E+01 XX 0.8205355905E+00 0.8205355905E+00 0.8205355905E+00 0.8205355905E+00 0.8205355905E+00 XX 0.7998771555E+00 0.7998771555E+00 0.7998771555E+00 0.7998771555E+00 0.7998771555E+00 XX 0.3933014477E+02 0.3933014477E+02 0.3933014477E+02 0.3933014477E+02 0.3933014477E+02 XX 0.1095878746E+02 0.1095878746E+02 0.1095878746E+02 0.1095878746E+02 0.1095878746E+02 XX 0.9698411069E+01 0.9698411069E+01 0.9698411069E+01 0.9698411069E+01 0.9698411069E+01 XX 0.9527006553E+01 0.9527006553E+01 0.9527006553E+01 0.9527006553E+01 0.9527006553E+01 XX 0.9604940695E+00 0.9604940695E+00 0.9604940695E+00 0.9604940695E+00 0.9604940695E+00 XX 0.1186508893E+01 0.1186508893E+01 0.1186508893E+01 0.1186508893E+01 0.1186508893E+01 XX 0.1106264283E+00 0.1106264283E+00 0.1106264283E+00 0.1106264283E+00 0.1106264283E+00 XX 0.3984744460E-01 0.3984744460E-01 0.3984744460E-01 0.3984744460E-01 0.3984744460E-01 XX 0.3532104811E-01 0.3532104811E-01 0.3532104811E-01 0.3532104811E-01 0.3532104811E-01 XX 0.6129759164E-01 0.6129759164E-01 0.6129759164E-01 0.6129759164E-01 0.6129759164E-01 XX 0.3655233664E+01 0.3655233664E+01 0.3655233664E+01 0.3655233664E+01 0.3655233664E+01 XX 0.9384317717E-01 0.9384317717E-01 0.9384317717E-01 0.9384317717E-01 0.9384317717E-01 XX 0.1830065845E+02 0.1830065845E+02 0.1830065845E+02 0.1830065845E+02 0.1830065845E+02 XX 0.6421696173E+00 0.6421696173E+00 0.6421696173E+00 0.6421696173E+00 0.6421696173E+00 XX 0.3947270108E+02 0.3947270108E+02 0.3947270108E+02 0.3947270108E+02 0.3947270108E+02 XX 0.1862701486E+02 0.1862701486E+02 0.1862701486E+02 0.1862701486E+02 0.1862701486E+02 XX 0.1169823689E+02 0.1169823689E+02 0.1169823689E+02 0.1169823689E+02 0.1169823689E+02 XX 0.9771140916E+01 0.9771140916E+01 0.9771140916E+01 0.9771140916E+01 0.9771140916E+01 XX 0.6818232483E-01 0.6818232483E-01 0.6818232483E-01 0.6818232483E-01 0.6818232483E-01 XX 0.2105038485E-01 0.2105038485E-01 0.2105038485E-01 0.2105038485E-01 0.2105038485E-01 XX 0.5058009311E-01 0.5058009311E-01 0.5058009311E-01 0.5058009311E-01 0.5058009311E-01 XX 0.3750239581E-01 0.3750239581E-01 0.3750239581E-01 0.3750239581E-01 0.3750239581E-01 XX 0.1956983464E+01 0.1956983464E+01 0.1956983464E+01 0.1956983464E+01 0.1956983464E+01 XX 0.5533427586E+00 0.5533427586E+00 0.5533427586E+00 0.5533427586E+00 0.5533427586E+00 XX 0.1564760167E+00 0.1564760167E+00 0.1564760167E+00 0.1564760167E+00 0.1564760167E+00 XX 0.4250669407E-01 0.4250669407E-01 0.4250669407E-01 0.4250669407E-01 0.4250669407E-01 XX 0.2887320027E+01 0.2887320027E+01 0.2887320027E+01 0.2887320027E+01 0.2887320027E+01 XX 0.2473334543E+01 0.2473334543E+01 0.2473334543E+01 0.2473334543E+01 0.2473334543E+01 XX 0.3499981339E+02 0.3499981339E+02 0.3499981339E+02 0.3499981339E+02 0.3499981339E+02 XX 0.1807397551E+02 0.1807397551E+02 0.1807397551E+02 0.1807397551E+02 0.1807397551E+02 XX 0.1639637014E-01 0.1639637014E-01 0.1639637014E-01 0.1639637014E-01 0.1639637014E-01 XX 0.2141923177E-01 0.2141923177E-01 0.2141923177E-01 0.2141923177E-01 0.2141923177E-01 XX 0.1594782418E-01 0.1594782418E-01 0.1594782418E-01 0.1594782418E-01 0.1594782418E-01 XX 0.3559048832E-01 0.3559048832E-01 0.3559048832E-01 0.3559048832E-01 0.3559048832E-01 XX 0.2526839964E-01 0.2526839964E-01 0.2526839964E-01 0.2526839964E-01 0.2526839964E-01 XX 0.4226158895E+00 0.4226158895E+00 0.4226158895E+00 0.4226158895E+00 0.4226158895E+00 XX 0.2017748401E+00 0.2017748401E+00 0.2017748401E+00 0.2017748401E+00 0.2017748401E+00 XX 0.7683261830E-01 0.7683261830E-01 0.7683261830E-01 0.7683261830E-01 0.7683261830E-01 XX 0.7223787115E-01 0.7223787115E-01 0.7223787115E-01 0.7223787115E-01 0.7223787115E-01 XX 0.1938605164E+00 0.1938605164E+00 0.1938605164E+00 0.1938605164E+00 0.1938605164E+00 XX 0.5739546577E-01 0.5739546577E-01 0.5739546577E-01 0.5739546577E-01 0.5739546577E-01 XX 0.5595661999E-01 0.5595661999E-01 0.5595661999E-01 0.5595661999E-01 0.5595661999E-01 XX 0.2623557005E+00 0.2623557005E+00 0.2623557005E+00 0.2623557005E+00 0.2623557005E+00 XX 0.7072420503E+00 0.7072420503E+00 0.7072420503E+00 0.7072420503E+00 0.7072420503E+00 XX 0.3750338014E+01 0.3750338014E+01 0.3750338014E+01 0.3750338014E+01 0.3750338014E+01 XX 0.8954196736E+01 0.8954196736E+01 0.8954196736E+01 0.8954196736E+01 0.8954196736E+01 XX 0.8113566126E+00 0.8113566126E+00 0.8113566126E+00 0.8113566126E+00 0.8113566126E+00 XX 0.2532330614E+00 0.2532330614E+00 0.2532330614E+00 0.2532330614E+00 0.2532330614E+00 XX 0.1407489575E+00 0.1407489575E+00 0.1407489575E+00 0.1407489575E+00 0.1407489575E+00 XX 0.1337872248E+00 0.1337872248E+00 0.1337872248E+00 0.1337872248E+00 0.1337872248E+00 XX 0.1669199304E+02 0.1669199304E+02 0.1669199304E+02 0.1669199304E+02 0.1669199304E+02 XX 0.3044202659E-01 0.3044202659E-01 0.3044202659E-01 0.3044202659E-01 0.3044202659E-01 XX 0.5731308694E-01 0.5731308694E-01 0.5731308694E-01 0.5731308694E-01 0.5731308694E-01 XX 0.2073423297E+01 0.2073423297E+01 0.2073423297E+01 0.2073423297E+01 0.2073423297E+01 XX 0.6470629382E+00 0.6470629382E+00 0.6470629382E+00 0.6470629382E+00 0.6470629382E+00 XX 0.1913217127E+00 0.1913217127E+00 0.1913217127E+00 0.1913217127E+00 0.1913217127E+00 XX 0.1000163465E+00 0.1000163465E+00 0.1000163465E+00 0.1000163465E+00 0.1000163465E+00 XX 0.1131335206E+00 0.1131335206E+00 0.1131335206E+00 0.1131335206E+00 0.1131335206E+00 XX 0.2343306397E+01 0.2343306397E+01 0.2343306397E+01 0.2343306397E+01 0.2343306397E+01 XX 0.9428900948E+00 0.9428900948E+00 0.9428900948E+00 0.9428900948E+00 0.9428900948E+00 XX 0.6647067421E+00 0.6647067421E+00 0.6647067421E+00 0.6647067421E+00 0.6647067421E+00 XX 0.8389787726E+00 0.8389787726E+00 0.8389787726E+00 0.8389787726E+00 0.8389787726E+00 XX 0.8632301988E+00 0.8632301988E+00 0.8632301988E+00 0.8632301988E+00 0.8632301988E+00 XX 0.4774289401E-01 0.4774289401E-01 0.4774289401E-01 0.4774289401E-01 0.4774289401E-01 XX 0.2616838887E+00 0.2616838887E+00 0.2616838887E+00 0.2616838887E+00 0.2616838887E+00 XX 0.2037080400E+02 0.2037080400E+02 0.2037080400E+02 0.2037080400E+02 0.2037080400E+02 XX 0.7030572125E+01 0.7030572125E+01 0.7030572125E+01 0.7030572125E+01 0.7030572125E+01 XX 0.3130777395E+01 0.3130777395E+01 0.3130777395E+01 0.3130777395E+01 0.3130777395E+01 XX 0.2250319448E+01 0.2250319448E+01 0.2250319448E+01 0.2250319448E+01 0.2250319448E+01 XX 0.1152598715E+02 0.1152598715E+02 0.1152598715E+02 0.1152598715E+02 0.1152598715E+02 XX 0.3192966118E-01 0.3192966118E-01 0.3192966118E-01 0.3192966118E-01 0.3192966118E-01 XX 0.1311167969E-01 0.1311167969E-01 0.1311167969E-01 0.1311167969E-01 0.1311167969E-01 XX 0.2171117547E-01 0.2171117547E-01 0.2171117547E-01 0.2171117547E-01 0.2171117547E-01 XX 0.3559048832E-01 0.3559048832E-01 0.3559048832E-01 0.3559048832E-01 0.3559048832E-01 XX 0.3787681384E-01 0.3787681384E-01 0.3787681384E-01 0.3787681384E-01 0.3787681384E-01 XX 0.2537416388E-01 0.2537416388E-01 0.2537416388E-01 0.2537416388E-01 0.2537416388E-01 XX 0.2396493840E-01 0.2396493840E-01 0.2396493840E-01 0.2396493840E-01 0.2396493840E-01 XX 0.1558713111E-01 0.1558713111E-01 0.1558713111E-01 0.1558713111E-01 0.1558713111E-01 XX 0.2478352876E-01 0.2478352876E-01 0.2478352876E-01 0.2478352876E-01 0.2478352876E-01 XX 0.5652677507E+01 0.5652677507E+01 0.5652677507E+01 0.5652677507E+01 0.5652677507E+01 XX 0.2623557005E+00 0.2623557005E+00 0.2623557005E+00 0.2623557005E+00 0.2623557005E+00 XX 0.3051358478E+00 0.3051358478E+00 0.3051358478E+00 0.3051358478E+00 0.3051358478E+00 XX 0.1944587622E+00 0.1944587622E+00 0.1944587622E+00 0.1944587622E+00 0.1944587622E+00 XX 0.2274002560E+00 0.2274002560E+00 0.2274002560E+00 0.2274002560E+00 0.2274002560E+00 XX 0.2213129507E+00 0.2213129507E+00 0.2213129507E+00 0.2213129507E+00 0.2213129507E+00 XX 0.7072420503E+00 0.7072420503E+00 0.7072420503E+00 0.7072420503E+00 0.7072420503E+00 XX 0.2407578936E+01 0.2407578936E+01 0.2407578936E+01 0.2407578936E+01 0.2407578936E+01 XX 0.1043342966E+00 0.1043342966E+00 0.1043342966E+00 0.1043342966E+00 0.1043342966E+00 XX 0.3048487488E+01 0.3048487488E+01 0.3048487488E+01 0.3048487488E+01 0.3048487488E+01 XX 0.5898478647E+00 0.5898478647E+00 0.5898478647E+00 0.5898478647E+00 0.5898478647E+00 XX 0.1722167020E+00 0.1722167020E+00 0.1722167020E+00 0.1722167020E+00 0.1722167020E+00 XX 0.7962349492E-01 0.7962349492E-01 0.7962349492E-01 0.7962349492E-01 0.7962349492E-01 XX 0.3093869896E-01 0.3093869896E-01 0.3093869896E-01 0.3093869896E-01 0.3093869896E-01 XX 0.6277516487E-01 0.6277516487E-01 0.6277516487E-01 0.6277516487E-01 0.6277516487E-01 XX 0.6870874378E+01 0.6870874378E+01 0.6870874378E+01 0.6870874378E+01 0.6870874378E+01 XX 0.2247477630E+01 0.2247477630E+01 0.2247477630E+01 0.2247477630E+01 0.2247477630E+01 XX 0.7288732087E+00 0.7288732087E+00 0.7288732087E+00 0.7288732087E+00 0.7288732087E+00 XX 0.3762318353E+00 0.3762318353E+00 0.3762318353E+00 0.3762318353E+00 0.3762318353E+00 XX 0.5866619974E-01 0.5866619974E-01 0.5866619974E-01 0.5866619974E-01 0.5866619974E-01 XX 0.2928918368E+00 0.2928918368E+00 0.2928918368E+00 0.2928918368E+00 0.2928918368E+00 XX 0.2068468349E+02 0.2068468349E+02 0.2068468349E+02 0.2068468349E+02 0.2068468349E+02 XX 0.7471300347E+01 0.7471300347E+01 0.7471300347E+01 0.7471300347E+01 0.7471300347E+01 XX 0.3575417002E+01 0.3575417002E+01 0.3575417002E+01 0.3575417002E+01 0.3575417002E+01 XX 0.2683661856E+01 0.2683661856E+01 0.2683661856E+01 0.2683661856E+01 0.2683661856E+01 XX 0.2598690261E+00 0.2598690261E+00 0.2598690261E+00 0.2598690261E+00 0.2598690261E+00 XX 0.1923285522E-01 0.1923285522E-01 0.1923285522E-01 0.1923285522E-01 0.1923285522E-01 XX 0.3185533030E-01 0.3185533030E-01 0.3185533030E-01 0.3185533030E-01 0.3185533030E-01 XX 0.8175075591E-01 0.8175075591E-01 0.8175075591E-01 0.8175075591E-01 0.8175075591E-01 XX 0.2177359975E+00 0.2177359975E+00 0.2177359975E+00 0.2177359975E+00 0.2177359975E+00 XX 0.3894939020E+02 0.3894939020E+02 0.3894939020E+02 0.3894939020E+02 0.3894939020E+02 XX 0.1040194068E+02 0.1040194068E+02 0.1040194068E+02 0.1040194068E+02 0.1040194068E+02 XX 0.9043440917E+01 0.9043440917E+01 0.9043440917E+01 0.9043440917E+01 0.9043440917E+01 XX 0.8316844537E+00 0.8316844537E+00 0.8316844537E+00 0.8316844537E+00 0.8316844537E+00 XX 0.1558713111E-01 0.1558713111E-01 0.1558713111E-01 0.1558713111E-01 0.1558713111E-01 XX 0.1938625710E-01 0.1938625710E-01 0.1938625710E-01 0.1938625710E-01 0.1938625710E-01 XX 0.1937492907E-01 0.1937492907E-01 0.1937492907E-01 0.1937492907E-01 0.1937492907E-01 XX 0.2712409374E-01 0.2712409374E-01 0.2712409374E-01 0.2712409374E-01 0.2712409374E-01 XX 0.2711250487E-01 0.2711250487E-01 0.2711250487E-01 0.2711250487E-01 0.2711250487E-01 XX 0.1474752494E-01 0.1474752494E-01 0.1474752494E-01 0.1474752494E-01 0.1474752494E-01 XX 0.2657569386E-01 0.2657569386E-01 0.2657569386E-01 0.2657569386E-01 0.2657569386E-01 XX 0.1311167969E-01 0.1311167969E-01 0.1311167969E-01 0.1311167969E-01 0.1311167969E-01 XX 0.6866878263E-01 0.6866878263E-01 0.6866878263E-01 0.6866878263E-01 0.6866878263E-01 XX 0.3413745331E+00 0.3413745331E+00 0.3413745331E+00 0.3413745331E+00 0.3413745331E+00 XX 0.1938605164E+00 0.1938605164E+00 0.1938605164E+00 0.1938605164E+00 0.1938605164E+00 XX 0.1890644006E+00 0.1890644006E+00 0.1890644006E+00 0.1890644006E+00 0.1890644006E+00 XX 0.2017748401E+00 0.2017748401E+00 0.2017748401E+00 0.2017748401E+00 0.2017748401E+00 XX 0.3750338014E+01 0.3750338014E+01 0.3750338014E+01 0.3750338014E+01 0.3750338014E+01 XX 0.2213129507E+00 0.2213129507E+00 0.2213129507E+00 0.2213129507E+00 0.2213129507E+00 XX 0.6095218392E-01 0.6095218392E-01 0.6095218392E-01 0.6095218392E-01 0.6095218392E-01 XX 0.1858688017E+01 0.1858688017E+01 0.1858688017E+01 0.1858688017E+01 0.1858688017E+01 XX 0.3534788916E+00 0.3534788916E+00 0.3534788916E+00 0.3534788916E+00 0.3534788916E+00 XX 0.5590937812E-01 0.5590937812E-01 0.5590937812E-01 0.5590937812E-01 0.5590937812E-01 XX 0.1119895417E+00 0.1119895417E+00 0.1119895417E+00 0.1119895417E+00 0.1119895417E+00 XX 0.6441713833E-01 0.6441713833E-01 0.6441713833E-01 0.6441713833E-01 0.6441713833E-01 XX 0.4018766595E-01 0.4018766595E-01 0.4018766595E-01 0.4018766595E-01 0.4018766595E-01 XX 0.4341933517E+01 0.4341933517E+01 0.4341933517E+01 0.4341933517E+01 0.4341933517E+01 XX 0.1340148079E+01 0.1340148079E+01 0.1340148079E+01 0.1340148079E+01 0.1340148079E+01 XX 0.4813424569E+00 0.4813424569E+00 0.4813424569E+00 0.4813424569E+00 0.4813424569E+00 XX 0.3102193177E+00 0.3102193177E+00 0.3102193177E+00 0.3102193177E+00 0.3102193177E+00 XX 0.1079124618E+00 0.1079124618E+00 0.1079124618E+00 0.1079124618E+00 0.1079124618E+00 XX 0.6799271039E+01 0.6799271039E+01 0.6799271039E+01 0.6799271039E+01 0.6799271039E+01 XX 0.1245714361E+02 0.1245714361E+02 0.1245714361E+02 0.1245714361E+02 0.1245714361E+02 XX 0.5413480141E+01 0.5413480141E+01 0.5413480141E+01 0.5413480141E+01 0.5413480141E+01 XX 0.3456976141E+01 0.3456976141E+01 0.3456976141E+01 0.3456976141E+01 0.3456976141E+01 XX 0.7322189351E+00 0.7322189351E+00 0.7322189351E+00 0.7322189351E+00 0.7322189351E+00 XX 0.2640193723E-01 0.2640193723E-01 0.2640193723E-01 0.2640193723E-01 0.2640193723E-01 XX 0.6793808706E-01 0.6793808706E-01 0.6793808706E-01 0.6793808706E-01 0.6793808706E-01 XX 0.5037403083E+00 0.5037403083E+00 0.5037403083E+00 0.5037403083E+00 0.5037403083E+00 XX 0.5565139465E+00 0.5565139465E+00 0.5565139465E+00 0.5565139465E+00 0.5565139465E+00 XX 0.6596639758E-01 0.6596639758E-01 0.6596639758E-01 0.6596639758E-01 0.6596639758E-01 XX 0.2526839964E-01 0.2526839964E-01 0.2526839964E-01 0.2526839964E-01 0.2526839964E-01 XX 0.1843422038E-01 0.1843422038E-01 0.1843422038E-01 0.1843422038E-01 0.1843422038E-01 XX 0.3779057323E-01 0.3779057323E-01 0.3779057323E-01 0.3779057323E-01 0.3779057323E-01 XX 0.3787681384E-01 0.3787681384E-01 0.3787681384E-01 0.3787681384E-01 0.3787681384E-01 XX 0.1698427275E-01 0.1698427275E-01 0.1698427275E-01 0.1698427275E-01 0.1698427275E-01 XX 0.1827908117E-01 0.1827908117E-01 0.1827908117E-01 0.1827908117E-01 0.1827908117E-01 XX 0.4094974817E-01 0.4094974817E-01 0.4094974817E-01 0.4094974817E-01 0.4094974817E-01 XX 0.1944587622E+00 0.1944587622E+00 0.1944587622E+00 0.1944587622E+00 0.1944587622E+00 XX 0.6227800287E-01 0.6227800287E-01 0.6227800287E-01 0.6227800287E-01 0.6227800287E-01 XX 0.6148828145E-01 0.6148828145E-01 0.6148828145E-01 0.6148828145E-01 0.6148828145E-01 XX 0.2407578936E+01 0.2407578936E+01 0.2407578936E+01 0.2407578936E+01 0.2407578936E+01 XX 0.4902593960E+00 0.4902593960E+00 0.4902593960E+00 0.4902593960E+00 0.4902593960E+00 XX 0.6186590474E+00 0.6186590474E+00 0.6186590474E+00 0.6186590474E+00 0.6186590474E+00 XX 0.2643870168E+01 0.2643870168E+01 0.2643870168E+01 0.2643870168E+01 0.2643870168E+01 XX 0.3404654274E+00 0.3404654274E+00 0.3404654274E+00 0.3404654274E+00 0.3404654274E+00 XX 0.9433090354E-01 0.9433090354E-01 0.9433090354E-01 0.9433090354E-01 0.9433090354E-01 XX 0.4791465638E-01 0.4791465638E-01 0.4791465638E-01 0.4791465638E-01 0.4791465638E-01 XX 0.8038134683E-01 0.8038134683E-01 0.8038134683E-01 0.8038134683E-01 0.8038134683E-01 XX 0.2337921080E+01 0.2337921080E+01 0.2337921080E+01 0.2337921080E+01 0.2337921080E+01 XX 0.6883704293E+00 0.6883704293E+00 0.6883704293E+00 0.6883704293E+00 0.6883704293E+00 XX 0.2150316579E+00 0.2150316579E+00 0.2150316579E+00 0.2150316579E+00 0.2150316579E+00 XX 0.1247668106E+00 0.1247668106E+00 0.1247668106E+00 0.1247668106E+00 0.1247668106E+00 XX 0.4019472245E+00 0.4019472245E+00 0.4019472245E+00 0.4019472245E+00 0.4019472245E+00 XX 0.8183796194E+01 0.8183796194E+01 0.8183796194E+01 0.8183796194E+01 0.8183796194E+01 XX 0.2667484087E+01 0.2667484087E+01 0.2667484087E+01 0.2667484087E+01 0.2667484087E+01 XX 0.1069814444E+01 0.1069814444E+01 0.1069814444E+01 0.1069814444E+01 0.1069814444E+01 XX 0.7371233400E+00 0.7371233400E+00 0.7371233400E+00 0.7371233400E+00 0.7371233400E+00 XX 0.4749436944E-01 0.4749436944E-01 0.4749436944E-01 0.4749436944E-01 0.4749436944E-01 XX 0.2809659681E+00 0.2809659681E+00 0.2809659681E+00 0.2809659681E+00 0.2809659681E+00 XX 0.7522531667E+01 0.7522531667E+01 0.7522531667E+01 0.7522531667E+01 0.7522531667E+01 XX 0.2361564908E+01 0.2361564908E+01 0.2361564908E+01 0.2361564908E+01 0.2361564908E+01 XX 0.8652230134E+00 0.8652230134E+00 0.8652230134E+00 0.8652230134E+00 0.8652230134E+00 XX 0.5568833956E+00 0.5568833956E+00 0.5568833956E+00 0.5568833956E+00 0.5568833956E+00 XX 0.3603598589E+01 0.3603598589E+01 0.3603598589E+01 0.3603598589E+01 0.3603598589E+01 XX 0.5242123511E-01 0.5242123511E-01 0.5242123511E-01 0.5242123511E-01 0.5242123511E-01 XX 0.2125267024E-01 0.2125267024E-01 0.2125267024E-01 0.2125267024E-01 0.2125267024E-01 XX 0.3249522432E-01 0.3249522432E-01 0.3249522432E-01 0.3249522432E-01 0.3249522432E-01 XX 0.2712409374E-01 0.2712409374E-01 0.2712409374E-01 0.2712409374E-01 0.2712409374E-01 XX 0.2174913422E-01 0.2174913422E-01 0.2174913422E-01 0.2174913422E-01 0.2174913422E-01 XX 0.1604045278E-01 0.1604045278E-01 0.1604045278E-01 0.1604045278E-01 0.1604045278E-01 XX 0.2877569695E-01 0.2877569695E-01 0.2877569695E-01 0.2877569695E-01 0.2877569695E-01 XX 0.4094974817E-01 0.4094974817E-01 0.4094974817E-01 0.4094974817E-01 0.4094974817E-01 XX 0.5646194732E+00 0.5646194732E+00 0.5646194732E+00 0.5646194732E+00 0.5646194732E+00 XX 0.5608795917E+00 0.5608795917E+00 0.5608795917E+00 0.5608795917E+00 0.5608795917E+00 XX 0.6375140595E+00 0.6375140595E+00 0.6375140595E+00 0.6375140595E+00 0.6375140595E+00 XX 0.2987143247E+01 0.2987143247E+01 0.2987143247E+01 0.2987143247E+01 0.2987143247E+01 XX 0.4959367985E+00 0.4959367985E+00 0.4959367985E+00 0.4959367985E+00 0.4959367985E+00 XX 0.1277381555E+00 0.1277381555E+00 0.1277381555E+00 0.1277381555E+00 0.1277381555E+00 XX 0.8362596115E-01 0.8362596115E-01 0.8362596115E-01 0.8362596115E-01 0.8362596115E-01 XX 0.7280723509E-01 0.7280723509E-01 0.7280723509E-01 0.7280723509E-01 0.7280723509E-01 XX 0.1594757549E-01 0.1594757549E-01 0.1594757549E-01 0.1594757549E-01 0.1594757549E-01 XX 0.1850337643E-01 0.1850337643E-01 0.1850337643E-01 0.1850337643E-01 0.1850337643E-01 XX 0.5527522001E-01 0.5527522001E-01 0.5527522001E-01 0.5527522001E-01 0.5527522001E-01 XX 0.6095482068E-01 0.6095482068E-01 0.6095482068E-01 0.6095482068E-01 0.6095482068E-01 XX 0.6541911185E-01 0.6541911185E-01 0.6541911185E-01 0.6541911185E-01 0.6541911185E-01 XX 0.6281626788E+00 0.6281626788E+00 0.6281626788E+00 0.6281626788E+00 0.6281626788E+00 XX 0.4857903858E+00 0.4857903858E+00 0.4857903858E+00 0.4857903858E+00 0.4857903858E+00 XX 0.2854543590E-01 0.2854543590E-01 0.2854543590E-01 0.2854543590E-01 0.2854543590E-01 XX 0.1302240869E-01 0.1302240869E-01 0.1302240869E-01 0.1302240869E-01 0.1302240869E-01 XX 0.1475134768E-01 0.1475134768E-01 0.1475134768E-01 0.1475134768E-01 0.1475134768E-01 XX 0.5717101899E-01 0.5717101899E-01 0.5717101899E-01 0.5717101899E-01 0.5717101899E-01 XX 0.6028415331E-01 0.6028415331E-01 0.6028415331E-01 0.6028415331E-01 0.6028415331E-01 XX 0.5279650071E-01 0.5279650071E-01 0.5279650071E-01 0.5279650071E-01 0.5279650071E-01 XX 0.4924905085E+00 0.4924905085E+00 0.4924905085E+00 0.4924905085E+00 0.4924905085E+00 XX 0.6114031718E+00 0.6114031718E+00 0.6114031718E+00 0.6114031718E+00 0.6114031718E+00 XX 0.3645449566E-01 0.3645449566E-01 0.3645449566E-01 0.3645449566E-01 0.3645449566E-01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 2 0.3064609562248752 7.1173830000043372E-002 XEND_OF_FILE Xif test 106402 -ne `wc -c <'fort.32'`; then X echo shar: \"'fort.32'\" unpacked with wrong size! Xfi X# end of 'fort.32' Xfi Xif test -f 'fort.33' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'fort.33'\" Xelse Xecho shar: Extracting \"'fort.33'\" \(106825 characters\) Xsed "s/^X//" >'fort.33' <<'END_OF_FILE' XX 545 XX 129 788 121 XX 2 XX 3 XX 41 XX 42 XX 43 XX 44 XX 45 XX 66 XX 67 XX 68 XX 69 XX 70 XX 91 XX 92 XX 93 XX 94 XX 95 XX 117 XX 118 XX 119 XX 120 XX 121 XX 122 XX 123 XX 140 XX 160 XX 161 XX 162 XX 163 XX 164 XX 165 XX 185 XX 186 XX 187 XX 188 XX 189 XX 190 XX 211 XX 212 XX 213 XX 214 XX 215 XX 236 XX 237 XX 238 XX 239 XX 240 XX 241 XX 242 XX 259 XX 260 XX 279 XX 280 XX 281 XX 282 XX 283 XX 284 XX 285 XX 304 XX 305 XX 306 XX 307 XX 308 XX 309 XX 310 XX 330 XX 331 XX 332 XX 333 XX 334 XX 335 XX 356 XX 357 XX 358 XX 359 XX 360 XX 361 XX 362 XX 363 XX 378 XX 379 XX 380 XX 398 XX 399 XX 400 XX 401 XX 402 XX 403 XX 404 XX 405 XX 423 XX 424 XX 425 XX 426 XX 427 XX 428 XX 429 XX 430 XX 449 XX 450 XX 451 XX 452 XX 453 XX 454 XX 455 XX 476 XX 477 XX 478 XX 479 XX 480 XX 481 XX 482 XX 483 XX 494 XX 495 XX 496 XX 497 XX 507 XX 508 XX 509 XX 510 XX 520 XX 521 XX 522 XX 523 XX 533 XX 534 XX 535 XX 536 XX 6 6 6 3 3 XX 100 500 0 0 0 XX 0.1000000000E+01 0.1000000000E+01 0.0000000000E+00 0.0000000000E+00 0.2000000000E+00 XX 0.2500000000E+00 0.5000000000E+00 2 XX 0.3000000000E+00 0.0000000000E+00 0.0000000000E+00 0.1400000000E+01 0.1000000000E+01 XX 0.1000000000E+01 XX 0.2500000000E+01 0.3563000000E+01 0.1183215957E+01 0.3549647870E+00 0.0000000000E+00 XX 0.0000000000E+00 XX 0.2500000000E+00 0.1666666700E+00 0.3750000000E+00 0.5000000000E+00 0.1000000000E+01 XX 0.0000000000E+00 XX 5 XX 0.1000000000E+01 0.0000000000E+00 0.5600000000E+00 XX 0.0000000000E+00 0.4400000000E+00 XX 0.0000000000E+00 XX 121 121 XX 21 21 XX 122 122 XX 123 123 XX 140 140 XX 161 161 XX 162 162 XX 163 163 XX 164 164 XX 165 165 XX 185 185 XX 186 186 XX 187 187 XX 188 188 XX 189 189 XX 190 190 XX 211 211 XX 212 212 XX 213 213 XX 214 214 XX 215 215 XX 236 236 XX 237 237 XX 238 238 XX 239 239 XX 240 240 XX 242 242 XX 259 259 XX 260 260 XX 281 281 XX 283 283 XX 304 304 XX 306 306 XX 308 308 XX 310 310 XX 331 331 XX 333 333 XX 356 356 XX 358 358 XX 360 360 XX 362 362 XX 363 363 XX 378 378 XX 379 379 XX 380 380 XX 401 401 XX 403 403 XX 424 424 XX 426 426 XX 428 428 XX 430 430 XX 449 449 XX 451 451 XX 453 453 XX 476 476 XX 478 478 XX 480 480 XX 494 494 XX 482 482 XX 483 483 XX 507 507 XX 509 509 XX 520 520 XX 522 522 XX 533 533 XX 535 535 XX 2 2 XX 122 122 XX 123 123 XX 161 161 XX 41 41 XX 162 162 XX 43 43 XX 164 164 XX 186 186 XX 66 66 XX 187 187 XX 68 68 XX 70 70 XX 189 189 XX 91 91 XX 211 211 XX 93 93 XX 213 213 XX 236 236 XX 118 118 XX 238 238 XX 120 120 XX 242 242 XX 279 279 XX 260 260 XX 282 282 XX 284 284 XX 306 306 XX 307 307 XX 309 309 XX 305 305 XX 332 332 XX 334 334 XX 356 356 XX 357 357 XX 360 360 XX 362 362 XX 378 378 XX 399 399 XX 380 380 XX 402 402 XX 404 404 XX 423 423 XX 426 426 XX 427 427 XX 429 429 XX 425 425 XX 452 452 XX 454 454 XX 476 476 XX 477 477 XX 479 479 XX 494 494 XX 482 482 XX 496 496 XX 508 508 XX 510 510 XX 520 520 XX 521 521 XX 523 523 XX 534 534 XX 536 536 XX 533 533 XX 122 122 XX 123 123 XX 3 3 XX 160 160 XX 140 140 XX 162 162 XX 42 42 XX 163 163 XX 44 44 XX 66 66 XX 186 186 XX 67 67 XX 188 188 XX 70 70 XX 190 190 XX 185 185 XX 92 92 XX 212 212 XX 214 214 XX 94 94 XX 118 118 XX 238 238 XX 119 119 XX 239 239 XX 242 242 XX 259 259 XX 281 281 XX 283 283 XX 285 285 XX 280 280 XX 305 305 XX 307 307 XX 309 309 XX 330 330 XX 333 333 XX 335 335 XX 237 237 XX 359 359 XX 362 362 XX 398 398 XX 379 379 XX 401 401 XX 403 403 XX 405 405 XX 400 400 XX 425 425 XX 427 427 XX 429 429 XX 423 423 XX 450 450 XX 453 453 XX 455 455 XX 449 449 XX 357 357 XX 478 478 XX 479 479 XX 480 480 XX 482 482 XX 495 495 XX 497 497 XX 508 508 XX 509 509 XX 510 510 XX 535 535 XX 536 536 XX 122 122 XX 140 140 XX 161 161 XX 43 43 XX 163 163 XX 45 45 XX 165 165 XX 66 66 XX 185 185 XX 188 188 XX 69 69 XX 189 189 XX 91 91 XX 92 92 XX 212 212 XX 95 95 XX 215 215 XX 117 117 XX 237 237 XX 119 119 XX 259 259 XX 260 260 XX 280 280 XX 284 284 XX 308 308 XX 304 304 XX 305 305 XX 331 331 XX 332 332 XX 334 334 XX 356 356 XX 358 358 XX 359 359 XX 240 240 XX 361 361 XX 363 363 XX 378 378 XX 379 379 XX 380 380 XX 400 400 XX 402 402 XX 404 404 XX 405 405 XX 428 428 XX 430 430 XX 423 423 XX 424 424 XX 425 425 XX 451 451 XX 452 452 XX 454 454 XX 450 450 XX 477 477 XX 478 478 XX 360 360 XX 479 479 XX 483 483 XX 507 507 XX 508 508 XX 509 509 XX 510 510 XX 536 536 XX 122 122 XX 123 123 XX 160 160 XX 44 44 XX 164 164 XX 67 67 XX 187 187 XX 68 68 XX 188 188 XX 69 69 XX 185 185 XX 91 91 XX 211 211 XX 213 213 XX 94 94 XX 95 95 XX 215 215 XX 236 236 XX 117 117 XX 118 118 XX 239 239 XX 119 119 XX 140 140 XX 281 281 XX 282 282 XX 279 279 XX 280 280 XX 309 309 XX 310 310 XX 304 304 XX 332 332 XX 333 333 XX 334 334 XX 357 357 XX 358 358 XX 359 359 XX 363 363 XX 378 378 XX 260 260 XX 401 401 XX 402 402 XX 398 398 XX 399 399 XX 400 400 XX 429 429 XX 430 430 XX 424 424 XX 452 452 XX 453 453 XX 454 454 XX 455 455 XX 356 356 XX 483 483 XX 380 380 XX 494 494 XX 495 495 XX 496 496 XX 497 497 XX 533 533 XX 521 521 XX 522 522 XX 523 523 XX 121 121 XX 3 3 XX 123 123 XX 140 140 XX 44 44 XX 160 160 XX 67 67 XX 187 187 XX 68 68 XX 69 69 XX 189 189 XX 190 190 XX 185 185 XX 93 93 XX 214 214 XX 117 117 XX 237 237 XX 238 238 XX 119 119 XX 239 239 XX 120 120 XX 283 283 XX 285 285 XX 279 279 XX 306 306 XX 307 307 XX 308 308 XX 331 331 XX 335 335 XX 356 356 XX 236 236 XX 359 359 XX 360 360 XX 259 259 XX 403 403 XX 404 404 XX 405 405 XX 398 398 XX 399 399 XX 426 426 XX 427 427 XX 428 428 XX 451 451 XX 455 455 XX 476 476 XX 477 477 XX 358 358 XX 478 478 XX 480 480 XX 481 481 XX 379 379 XX 495 495 XX 496 496 XX 497 497 XX 507 507 XX 520 520 XX 521 521 XX 522 522 XX 523 523 XX 2 2 XX 123 123 XX 41 41 XX 161 161 XX 42 42 XX 45 45 XX 160 160 XX 66 66 XX 186 186 XX 68 68 XX 67 67 XX 69 69 XX 190 190 XX 211 211 XX 92 92 XX 93 93 XX 117 117 XX 118 118 XX 120 120 XX 240 240 XX 260 260 XX 282 282 XX 165 165 XX 236 236 XX 357 357 XX 238 238 XX 358 358 XX 239 239 XX 242 242 XX 378 378 XX 379 379 XX 399 399 XX 401 401 XX 403 403 XX 404 404 XX 398 398 XX 424 424 XX 426 426 XX 307 307 XX 428 428 XX 429 429 XX 310 310 XX 449 449 XX 335 335 XX 450 450 XX 476 476 XX 477 477 XX 478 478 XX 359 359 XX 479 479 XX 496 496 XX 427 427 XX 507 507 XX 508 508 XX 520 520 XX 533 533 XX 534 534 XX 521 521 XX 522 522 XX 140 140 XX 41 41 XX 43 43 XX 45 45 XX 44 44 XX 160 160 XX 186 186 XX 67 67 XX 188 188 XX 68 68 XX 189 189 XX 69 69 XX 91 91 XX 212 212 XX 94 94 XX 236 236 XX 118 118 XX 119 119 XX 239 239 XX 240 240 XX 285 285 XX 215 215 XX 330 330 XX 357 357 XX 358 358 XX 238 238 XX 361 361 XX 362 362 XX 363 363 XX 398 398 XX 399 399 XX 379 379 XX 380 380 XX 402 402 XX 403 403 XX 404 404 XX 405 405 XX 425 425 XX 306 306 XX 427 427 XX 429 429 XX 430 430 XX 423 423 XX 331 331 XX 333 333 XX 355 355 XX 356 356 XX 359 359 XX 510 510 XX 453 453 XX 454 454 XX 520 520 XX 536 536 XX 523 523 XX 478 478 XX 535 535 XX 533 533 XX 42 42 XX 41 41 XX 43 43 XX 44 44 XX 165 165 XX 187 187 XX 211 211 XX 92 92 XX 93 93 XX 213 213 XX 94 94 XX 214 214 XX 95 95 XX 236 236 XX 117 117 XX 238 238 XX 240 240 XX 259 259 XX 162 162 XX 163 163 XX 164 164 XX 279 279 XX 190 190 XX 335 335 XX 237 237 XX 360 360 XX 362 362 XX 363 363 XX 400 400 XX 282 282 XX 284 284 XX 423 423 XX 424 424 XX 399 399 XX 306 306 XX 308 308 XX 428 428 XX 309 309 XX 449 449 XX 450 450 XX 332 332 XX 334 334 XX 477 477 XX 357 357 XX 358 358 XX 480 480 XX 483 483 XX 401 401 XX 405 405 XX 509 509 XX 426 426 XX 430 430 XX 523 523 XX 452 452 XX 535 535 XX 479 479 XX 534 534 XX 41 41 XX 42 42 XX 163 163 XX 43 43 XX 70 70 XX 92 92 XX 212 212 XX 93 93 XX 213 213 XX 94 94 XX 214 214 XX 215 215 XX 237 237 XX 241 241 XX 242 242 XX 259 259 XX 279 279 XX 281 281 XX 282 282 XX 284 284 XX 304 304 XX 310 310 XX 356 356 XX 357 357 XX 359 359 XX 239 239 XX 363 363 XX 380 380 XX 283 283 XX 285 285 XX 398 398 XX 400 400 XX 427 427 XX 307 307 XX 308 308 XX 309 309 XX 424 424 XX 451 451 XX 452 452 XX 453 453 XX 454 454 XX 449 449 XX 479 479 XX 494 494 XX 497 497 XX 507 507 XX 508 508 XX 510 510 XX 428 428 XX 520 520 XX 509 509 XX 521 521 XX 522 522 XX 523 523 XX 537 537 XX 535 535 XX 162 162 XX 42 42 XX 164 164 XX 280 280 XX 161 161 XX 283 283 XX 305 305 XX 186 186 XX 187 187 XX 308 308 XX 189 189 XX 330 330 XX 211 211 XX 212 212 XX 333 333 XX 214 214 XX 398 398 XX 402 402 XX 423 423 XX 331 331 XX 332 332 XX 334 334 XX 449 449 XX 362 362 XX 494 494 XX 363 363 XX 495 495 XX 497 497 XX 378 378 XX 401 401 XX 496 496 XX 508 508 XX 510 510 XX 426 426 XX 523 523 XX 522 522 XX 521 521 XX 536 536 XX 534 534 XX 480 480 XX 161 161 XX 163 163 XX 164 164 XX 165 165 XX 66 66 XX 91 91 XX 241 241 XX 260 260 XX 162 162 XX 280 280 XX 306 306 XX 307 307 XX 188 188 XX 309 309 XX 305 305 XX 331 331 XX 332 332 XX 213 213 XX 334 334 XX 378 378 XX 379 379 XX 282 282 XX 284 284 XX 399 399 XX 425 425 XX 333 333 XX 482 482 XX 496 496 XX 402 402 XX 497 497 XX 403 403 XX 495 495 XX 494 494 XX 509 509 XX 510 510 XX 508 508 XX 522 522 XX 523 523 XX 521 521 XX 455 455 XX 520 520 XX 122 122 XX 123 123 XX 279 279 XX 161 161 XX 281 281 XX 283 283 XX 284 284 XX 285 285 XX 304 304 XX 306 306 XX 186 186 XX 308 308 XX 309 309 XX 310 310 XX 331 331 XX 211 211 XX 333 333 XX 334 334 XX 335 335 XX 362 362 XX 280 280 XX 305 305 XX 330 330 XX 453 453 XX 495 495 XX 496 496 XX 483 483 XX 497 497 XX 400 400 XX 404 404 XX 509 509 XX 508 508 XX 521 521 XX 522 522 XX 523 523 XX 451 451 XX 454 454 XX 479 479 XX 162 162 XX 242 242 XX 259 259 XX 282 282 XX 164 164 XX 279 279 XX 185 185 XX 307 307 XX 187 187 XX 188 188 XX 189 189 XX 304 304 XX 332 332 XX 212 212 XX 213 213 XX 214 214 XX 401 401 XX 426 426 XX 423 423 XX 424 424 XX 451 451 XX 452 452 XX 454 454 XX 455 455 XX 482 482 XX 483 483 XX 496 496 XX 495 495 XX 404 404 XX 509 509 XX 429 429 XX 508 508 XX 510 510 XX 477 477 XX 478 478 XX 242 242 XX 281 281 XX 283 283 XX 482 482 XX 402 402 XX 494 494 XX 495 495 XX 496 496 XX 497 497 XX 425 425 XX 510 510 XX 507 507 XX 509 509 XX 451 451 XX 522 522 XX 453 453 XX 476 476 XX 160 160 XX 163 163 XX 281 281 XX 403 403 XX 497 497 XX 427 427 XX 429 429 XX 450 450 XX 452 452 XX 477 477 XX 428 428 XX 0.1632045564E+01 0.1632045564E+01 0.1632045564E+01 0.1632045564E+01 0.1632045564E+01 XX 0.1133256440E+01 0.1133256440E+01 0.1133256440E+01 0.1133256440E+01 0.1133256440E+01 XX 0.2791146191E+01 0.2791146191E+01 0.2791146191E+01 0.2791146191E+01 0.2791146191E+01 XX 0.8086443884E+00 0.8086443884E+00 0.8086443884E+00 0.8086443884E+00 0.8086443884E+00 XX 0.9333776225E-01 0.9333776225E-01 0.9333776225E-01 0.9333776225E-01 0.9333776225E-01 XX 0.9400550086E-01 0.9400550086E-01 0.9400550086E-01 0.9400550086E-01 0.9400550086E-01 XX 0.1571443639E+00 0.1571443639E+00 0.1571443639E+00 0.1571443639E+00 0.1571443639E+00 XX 0.4761317962E+00 0.4761317962E+00 0.4761317962E+00 0.4761317962E+00 0.4761317962E+00 XX 0.1566688528E+01 0.1566688528E+01 0.1566688528E+01 0.1566688528E+01 0.1566688528E+01 XX 0.1278172978E+01 0.1278172978E+01 0.1278172978E+01 0.1278172978E+01 0.1278172978E+01 XX 0.1616523138E+00 0.1616523138E+00 0.1616523138E+00 0.1616523138E+00 0.1616523138E+00 XX 0.4096877846E+00 0.4096877846E+00 0.4096877846E+00 0.4096877846E+00 0.4096877846E+00 XX 0.6093801967E+00 0.6093801967E+00 0.6093801967E+00 0.6093801967E+00 0.6093801967E+00 XX 0.1591481844E+01 0.1591481844E+01 0.1591481844E+01 0.1591481844E+01 0.1591481844E+01 XX 0.4959526367E+01 0.4959526367E+01 0.4959526367E+01 0.4959526367E+01 0.4959526367E+01 XX 0.4108733449E+01 0.4108733449E+01 0.4108733449E+01 0.4108733449E+01 0.4108733449E+01 XX 0.3034818743E+01 0.3034818743E+01 0.3034818743E+01 0.3034818743E+01 0.3034818743E+01 XX 0.3947657792E+01 0.3947657792E+01 0.3947657792E+01 0.3947657792E+01 0.3947657792E+01 XX 0.7877031086E+01 0.7877031086E+01 0.7877031086E+01 0.7877031086E+01 0.7877031086E+01 XX 0.2092150534E+02 0.2092150534E+02 0.2092150534E+02 0.2092150534E+02 0.2092150534E+02 XX 0.1825951280E+02 0.1825951280E+02 0.1825951280E+02 0.1825951280E+02 0.1825951280E+02 XX 0.8676625025E+01 0.8676625025E+01 0.8676625025E+01 0.8676625025E+01 0.8676625025E+01 XX 0.1014154040E+02 0.1014154040E+02 0.1014154040E+02 0.1014154040E+02 0.1014154040E+02 XX 0.1508423367E+02 0.1508423367E+02 0.1508423367E+02 0.1508423367E+02 0.1508423367E+02 XX 0.2804267645E+02 0.2804267645E+02 0.2804267645E+02 0.2804267645E+02 0.2804267645E+02 XX 0.2705363719E+02 0.2705363719E+02 0.2705363719E+02 0.2705363719E+02 0.2705363719E+02 XX 0.2190068110E+01 0.2190068110E+01 0.2190068110E+01 0.2190068110E+01 0.2190068110E+01 XX 0.7047424761E-01 0.7047424761E-01 0.7047424761E-01 0.7047424761E-01 0.7047424761E-01 XX 0.6340452886E-01 0.6340452886E-01 0.6340452886E-01 0.6340452886E-01 0.6340452886E-01 XX 0.1171823446E+00 0.1171823446E+00 0.1171823446E+00 0.1171823446E+00 0.1171823446E+00 XX 0.5106044653E+00 0.5106044653E+00 0.5106044653E+00 0.5106044653E+00 0.5106044653E+00 XX 0.7619485666E+00 0.7619485666E+00 0.7619485666E+00 0.7619485666E+00 0.7619485666E+00 XX 0.8152745851E+00 0.8152745851E+00 0.8152745851E+00 0.8152745851E+00 0.8152745851E+00 XX 0.2261235080E+01 0.2261235080E+01 0.2261235080E+01 0.2261235080E+01 0.2261235080E+01 XX 0.2228814265E+01 0.2228814265E+01 0.2228814265E+01 0.2228814265E+01 0.2228814265E+01 XX 0.1144384367E+02 0.1144384367E+02 0.1144384367E+02 0.1144384367E+02 0.1144384367E+02 XX 0.1712143125E+02 0.1712143125E+02 0.1712143125E+02 0.1712143125E+02 0.1712143125E+02 XX 0.1614677421E+02 0.1614677421E+02 0.1614677421E+02 0.1614677421E+02 0.1614677421E+02 XX 0.2476203505E+02 0.2476203505E+02 0.2476203505E+02 0.2476203505E+02 0.2476203505E+02 XX 0.4248827494E+02 0.4248827494E+02 0.4248827494E+02 0.4248827494E+02 0.4248827494E+02 XX 0.1648906001E+01 0.1648906001E+01 0.1648906001E+01 0.1648906001E+01 0.1648906001E+01 XX 0.4795993974E+00 0.4795993974E+00 0.4795993974E+00 0.4795993974E+00 0.4795993974E+00 XX 0.4622163151E-01 0.4622163151E-01 0.4622163151E-01 0.4622163151E-01 0.4622163151E-01 XX 0.4596265579E-01 0.4596265579E-01 0.4596265579E-01 0.4596265579E-01 0.4596265579E-01 XX 0.4133396264E-01 0.4133396264E-01 0.4133396264E-01 0.4133396264E-01 0.4133396264E-01 XX 0.7105834650E-01 0.7105834650E-01 0.7105834650E-01 0.7105834650E-01 0.7105834650E-01 XX 0.3592514211E+00 0.3592514211E+00 0.3592514211E+00 0.3592514211E+00 0.3592514211E+00 XX 0.5961913895E+00 0.5961913895E+00 0.5961913895E+00 0.5961913895E+00 0.5961913895E+00 XX 0.6347231486E+00 0.6347231486E+00 0.6347231486E+00 0.6347231486E+00 0.6347231486E+00 XX 0.1954833434E+01 0.1954833434E+01 0.1954833434E+01 0.1954833434E+01 0.1954833434E+01 XX 0.1563943919E+01 0.1563943919E+01 0.1563943919E+01 0.1563943919E+01 0.1563943919E+01 XX 0.1055349579E+02 0.1055349579E+02 0.1055349579E+02 0.1055349579E+02 0.1055349579E+02 XX 0.1101198894E+02 0.1101198894E+02 0.1101198894E+02 0.1101198894E+02 0.1101198894E+02 XX 0.1663563879E+02 0.1663563879E+02 0.1663563879E+02 0.1663563879E+02 0.1663563879E+02 XX 0.1585506466E+02 0.1585506466E+02 0.1585506466E+02 0.1585506466E+02 0.1585506466E+02 XX 0.2453029341E+02 0.2453029341E+02 0.2453029341E+02 0.2453029341E+02 0.2453029341E+02 XX 0.4240155401E+02 0.4240155401E+02 0.4240155401E+02 0.4240155401E+02 0.4240155401E+02 XX 0.1618046910E+01 0.1618046910E+01 0.1618046910E+01 0.1618046910E+01 0.1618046910E+01 XX 0.1218918798E+01 0.1218918798E+01 0.1218918798E+01 0.1218918798E+01 0.1218918798E+01 XX 0.3318556881E+00 0.3318556881E+00 0.3318556881E+00 0.3318556881E+00 0.3318556881E+00 XX 0.1074484443E+02 0.1074484443E+02 0.1074484443E+02 0.1074484443E+02 0.1074484443E+02 XX 0.1276471873E+01 0.1276471873E+01 0.1276471873E+01 0.1276471873E+01 0.1276471873E+01 XX 0.5709573220E+02 0.5709573220E+02 0.5709573220E+02 0.5709573220E+02 0.5709573220E+02 XX 0.1905676711E+02 0.1905676711E+02 0.1905676711E+02 0.1905676711E+02 0.1905676711E+02 XX 0.3923667620E+02 0.3923667620E+02 0.3923667620E+02 0.3923667620E+02 0.3923667620E+02 XX 0.1544251266E+02 0.1544251266E+02 0.1544251266E+02 0.1544251266E+02 0.1544251266E+02 XX 0.6570035057E+00 0.6570035057E+00 0.6570035057E+00 0.6570035057E+00 0.6570035057E+00 XX 0.1607998408E+01 0.1607998408E+01 0.1607998408E+01 0.1607998408E+01 0.1607998408E+01 XX 0.6049671065E+00 0.6049671065E+00 0.6049671065E+00 0.6049671065E+00 0.6049671065E+00 XX 0.4779036536E-01 0.4779036536E-01 0.4779036536E-01 0.4779036536E-01 0.4779036536E-01 XX 0.1039556093E+00 0.1039556093E+00 0.1039556093E+00 0.1039556093E+00 0.1039556093E+00 XX 0.2526358409E+00 0.2526358409E+00 0.2526358409E+00 0.2526358409E+00 0.2526358409E+00 XX 0.6865165300E+00 0.6865165300E+00 0.6865165300E+00 0.6865165300E+00 0.6865165300E+00 XX 0.2164527888E+01 0.2164527888E+01 0.2164527888E+01 0.2164527888E+01 0.2164527888E+01 XX 0.1254231009E+00 0.1254231009E+00 0.1254231009E+00 0.1254231009E+00 0.1254231009E+00 XX 0.4751350912E+00 0.4751350912E+00 0.4751350912E+00 0.4751350912E+00 0.4751350912E+00 XX 0.1275451283E+01 0.1275451283E+01 0.1275451283E+01 0.1275451283E+01 0.1275451283E+01 XX 0.2549196717E+01 0.2549196717E+01 0.2549196717E+01 0.2549196717E+01 0.2549196717E+01 XX 0.1806822723E+01 0.1806822723E+01 0.1806822723E+01 0.1806822723E+01 0.1806822723E+01 XX 0.7438450644E+01 0.7438450644E+01 0.7438450644E+01 0.7438450644E+01 0.7438450644E+01 XX 0.3376313319E+01 0.3376313319E+01 0.3376313319E+01 0.3376313319E+01 0.3376313319E+01 XX 0.1232522059E+02 0.1232522059E+02 0.1232522059E+02 0.1232522059E+02 0.1232522059E+02 XX 0.1146131783E+02 0.1146131783E+02 0.1146131783E+02 0.1146131783E+02 0.1146131783E+02 XX 0.1769261956E+02 0.1769261956E+02 0.1769261956E+02 0.1769261956E+02 0.1769261956E+02 XX 0.1685739411E+02 0.1685739411E+02 0.1685739411E+02 0.1685739411E+02 0.1685739411E+02 XX 0.1974412052E+02 0.1974412052E+02 0.1974412052E+02 0.1974412052E+02 0.1974412052E+02 XX 0.2502396360E+02 0.2502396360E+02 0.2502396360E+02 0.2502396360E+02 0.2502396360E+02 XX 0.3849700039E+02 0.3849700039E+02 0.3849700039E+02 0.3849700039E+02 0.3849700039E+02 XX 0.2276961685E+01 0.2276961685E+01 0.2276961685E+01 0.2276961685E+01 0.2276961685E+01 XX 0.1195837617E+00 0.1195837617E+00 0.1195837617E+00 0.1195837617E+00 0.1195837617E+00 XX 0.5499852009E-01 0.5499852009E-01 0.5499852009E-01 0.5499852009E-01 0.5499852009E-01 XX 0.1735014479E+00 0.1735014479E+00 0.1735014479E+00 0.1735014479E+00 0.1735014479E+00 XX 0.1568663671E+01 0.1568663671E+01 0.1568663671E+01 0.1568663671E+01 0.1568663671E+01 XX 0.1109729568E+00 0.1109729568E+00 0.1109729568E+00 0.1109729568E+00 0.1109729568E+00 XX 0.1007615648E+01 0.1007615648E+01 0.1007615648E+01 0.1007615648E+01 0.1007615648E+01 XX 0.6590586715E+01 0.6590586715E+01 0.6590586715E+01 0.6590586715E+01 0.6590586715E+01 XX 0.1036424482E+01 0.1036424482E+01 0.1036424482E+01 0.1036424482E+01 0.1036424482E+01 XX 0.1233451064E+02 0.1233451064E+02 0.1233451064E+02 0.1233451064E+02 0.1233451064E+02 XX 0.3454254754E+02 0.3454254754E+02 0.3454254754E+02 0.3454254754E+02 0.3454254754E+02 XX 0.1027554632E+02 0.1027554632E+02 0.1027554632E+02 0.1027554632E+02 0.1027554632E+02 XX 0.1796765143E+02 0.1796765143E+02 0.1796765143E+02 0.1796765143E+02 0.1796765143E+02 XX 0.2752903065E+02 0.2752903065E+02 0.2752903065E+02 0.2752903065E+02 0.2752903065E+02 XX 0.1666731118E+01 0.1666731118E+01 0.1666731118E+01 0.1666731118E+01 0.1666731118E+01 XX 0.3620069552E-01 0.3620069552E-01 0.3620069552E-01 0.3620069552E-01 0.3620069552E-01 XX 0.7379326184E-01 0.7379326184E-01 0.7379326184E-01 0.7379326184E-01 0.7379326184E-01 XX 0.3585759575E-01 0.3585759575E-01 0.3585759575E-01 0.3585759575E-01 0.3585759575E-01 XX 0.1134512767E+00 0.1134512767E+00 0.1134512767E+00 0.1134512767E+00 0.1134512767E+00 XX 0.1079896842E+01 0.1079896842E+01 0.1079896842E+01 0.1079896842E+01 0.1079896842E+01 XX 0.5960845410E+00 0.5960845410E+00 0.5960845410E+00 0.5960845410E+00 0.5960845410E+00 XX 0.7096740855E-01 0.7096740855E-01 0.7096740855E-01 0.7096740855E-01 0.7096740855E-01 XX 0.8109672396E+00 0.8109672396E+00 0.8109672396E+00 0.8109672396E+00 0.8109672396E+00 XX 0.5931605596E+01 0.5931605596E+01 0.5931605596E+01 0.5931605596E+01 0.5931605596E+01 XX 0.8727647000E+00 0.8727647000E+00 0.8727647000E+00 0.8727647000E+00 0.8727647000E+00 XX 0.1193528771E+02 0.1193528771E+02 0.1193528771E+02 0.1193528771E+02 0.1193528771E+02 XX 0.3391206273E+02 0.3391206273E+02 0.3391206273E+02 0.3391206273E+02 0.3391206273E+02 XX 0.9889939459E+01 0.9889939459E+01 0.9889939459E+01 0.9889939459E+01 0.9889939459E+01 XX 0.1773354979E+02 0.1773354979E+02 0.1773354979E+02 0.1773354979E+02 0.1773354979E+02 XX 0.2824821591E+02 0.2824821591E+02 0.2824821591E+02 0.2824821591E+02 0.2824821591E+02 XX 0.2671518239E+01 0.2671518239E+01 0.2671518239E+01 0.2671518239E+01 0.2671518239E+01 XX 0.7674367103E+00 0.7674367103E+00 0.7674367103E+00 0.7674367103E+00 0.7674367103E+00 XX 0.2036416272E+00 0.2036416272E+00 0.2036416272E+00 0.2036416272E+00 0.2036416272E+00 XX 0.3438379216E+01 0.3438379216E+01 0.3438379216E+01 0.3438379216E+01 0.3438379216E+01 XX 0.9496723756E+00 0.9496723756E+00 0.9496723756E+00 0.9496723756E+00 0.9496723756E+00 XX 0.8173803632E+01 0.8173803632E+01 0.8173803632E+01 0.8173803632E+01 0.8173803632E+01 XX 0.2694169464E+02 0.2694169464E+02 0.2694169464E+02 0.2694169464E+02 0.2694169464E+02 XX 0.1755324618E+02 0.1755324618E+02 0.1755324618E+02 0.1755324618E+02 0.1755324618E+02 XX 0.2108669958E+02 0.2108669958E+02 0.2108669958E+02 0.2108669958E+02 0.2108669958E+02 XX 0.1370656953E+02 0.1370656953E+02 0.1370656953E+02 0.1370656953E+02 0.1370656953E+02 XX 0.2715978952E+02 0.2715978952E+02 0.2715978952E+02 0.2715978952E+02 0.2715978952E+02 XX 0.1385615634E+01 0.1385615634E+01 0.1385615634E+01 0.1385615634E+01 0.1385615634E+01 XX 0.4106929851E+00 0.4106929851E+00 0.4106929851E+00 0.4106929851E+00 0.4106929851E+00 XX 0.4632124260E-01 0.4632124260E-01 0.4632124260E-01 0.4632124260E-01 0.4632124260E-01 XX 0.4769792374E-01 0.4769792374E-01 0.4769792374E-01 0.4769792374E-01 0.4769792374E-01 XX 0.6466127323E-01 0.6466127323E-01 0.6466127323E-01 0.6466127323E-01 0.6466127323E-01 XX 0.1147684503E+00 0.1147684503E+00 0.1147684503E+00 0.1147684503E+00 0.1147684503E+00 XX 0.1972940775E+00 0.1972940775E+00 0.1972940775E+00 0.1972940775E+00 0.1972940775E+00 XX 0.7136504111E+00 0.7136504111E+00 0.7136504111E+00 0.7136504111E+00 0.7136504111E+00 XX 0.2215627087E+01 0.2215627087E+01 0.2215627087E+01 0.2215627087E+01 0.2215627087E+01 XX 0.1850455516E+00 0.1850455516E+00 0.1850455516E+00 0.1850455516E+00 0.1850455516E+00 XX 0.4763189876E+00 0.4763189876E+00 0.4763189876E+00 0.4763189876E+00 0.4763189876E+00 XX 0.8045658031E+00 0.8045658031E+00 0.8045658031E+00 0.8045658031E+00 0.8045658031E+00 XX 0.2666554984E+01 0.2666554984E+01 0.2666554984E+01 0.2666554984E+01 0.2666554984E+01 XX 0.2477403144E+01 0.2477403144E+01 0.2477403144E+01 0.2477403144E+01 0.2477403144E+01 XX 0.7753229734E+01 0.7753229734E+01 0.7753229734E+01 0.7753229734E+01 0.7753229734E+01 XX 0.3226834603E+00 0.3226834603E+00 0.3226834603E+00 0.3226834603E+00 0.3226834603E+00 XX 0.1289839492E+01 0.1289839492E+01 0.1289839492E+01 0.1289839492E+01 0.1289839492E+01 XX 0.3864815567E+01 0.3864815567E+01 0.3864815567E+01 0.3864815567E+01 0.3864815567E+01 XX 0.1284099404E+02 0.1284099404E+02 0.1284099404E+02 0.1284099404E+02 0.1284099404E+02 XX 0.3329645679E+02 0.3329645679E+02 0.3329645679E+02 0.3329645679E+02 0.3329645679E+02 XX 0.1907418362E+02 0.1907418362E+02 0.1907418362E+02 0.1907418362E+02 0.1907418362E+02 XX 0.1176699990E+02 0.1176699990E+02 0.1176699990E+02 0.1176699990E+02 0.1176699990E+02 XX 0.3252478725E+02 0.3252478725E+02 0.3252478725E+02 0.3252478725E+02 0.3252478725E+02 XX 0.4581687019E+02 0.4581687019E+02 0.4581687019E+02 0.4581687019E+02 0.4581687019E+02 XX 0.1293864237E+01 0.1293864237E+01 0.1293864237E+01 0.1293864237E+01 0.1293864237E+01 XX 0.5693029334E-01 0.5693029334E-01 0.5693029334E-01 0.5693029334E-01 0.5693029334E-01 XX 0.3271357888E-01 0.3271357888E-01 0.3271357888E-01 0.3271357888E-01 0.3271357888E-01 XX 0.6313588977E+00 0.6313588977E+00 0.6313588977E+00 0.6313588977E+00 0.6313588977E+00 XX 0.1836438845E+01 0.1836438845E+01 0.1836438845E+01 0.1836438845E+01 0.1836438845E+01 XX 0.7915829745E-01 0.7915829745E-01 0.7915829745E-01 0.7915829745E-01 0.7915829745E-01 XX 0.8026387595E+00 0.8026387595E+00 0.8026387595E+00 0.8026387595E+00 0.8026387595E+00 XX 0.2116922915E+00 0.2116922915E+00 0.2116922915E+00 0.2116922915E+00 0.2116922915E+00 XX 0.2495799075E+01 0.2495799075E+01 0.2495799075E+01 0.2495799075E+01 0.2495799075E+01 XX 0.1116012476E+02 0.1116012476E+02 0.1116012476E+02 0.1116012476E+02 0.1116012476E+02 XX 0.2869492833E+01 0.2869492833E+01 0.2869492833E+01 0.2869492833E+01 0.2869492833E+01 XX 0.7698587417E+01 0.7698587417E+01 0.7698587417E+01 0.7698587417E+01 0.7698587417E+01 XX 0.1194802304E+02 0.1194802304E+02 0.1194802304E+02 0.1194802304E+02 0.1194802304E+02 XX 0.4582744385E+02 0.4582744385E+02 0.4582744385E+02 0.4582744385E+02 0.4582744385E+02 XX 0.9923640452E+00 0.9923640452E+00 0.9923640452E+00 0.9923640452E+00 0.9923640452E+00 XX 0.7566330308E-01 0.7566330308E-01 0.7566330308E-01 0.7566330308E-01 0.7566330308E-01 XX 0.3702638771E-01 0.3702638771E-01 0.3702638771E-01 0.3702638771E-01 0.3702638771E-01 XX 0.2134355990E-01 0.2134355990E-01 0.2134355990E-01 0.2134355990E-01 0.2134355990E-01 XX 0.4793759078E+00 0.4793759078E+00 0.4793759078E+00 0.4793759078E+00 0.4793759078E+00 XX 0.1368392324E+01 0.1368392324E+01 0.1368392324E+01 0.1368392324E+01 0.1368392324E+01 XX 0.5084165650E-01 0.5084165650E-01 0.5084165650E-01 0.5084165650E-01 0.5084165650E-01 XX 0.6212298800E+00 0.6212298800E+00 0.6212298800E+00 0.6212298800E+00 0.6212298800E+00 XX 0.1462157212E+00 0.1462157212E+00 0.1462157212E+00 0.1462157212E+00 0.1462157212E+00 XX 0.1808349345E+01 0.1808349345E+01 0.1808349345E+01 0.1808349345E+01 0.1808349345E+01 XX 0.5963954037E+00 0.5963954037E+00 0.5963954037E+00 0.5963954037E+00 0.5963954037E+00 XX 0.1065471905E+02 0.1065471905E+02 0.1065471905E+02 0.1065471905E+02 0.1065471905E+02 XX 0.2504389781E+01 0.2504389781E+01 0.2504389781E+01 0.2504389781E+01 0.2504389781E+01 XX 0.6877976676E+01 0.6877976676E+01 0.6877976676E+01 0.6877976676E+01 0.6877976676E+01 XX 0.9964246986E+01 0.9964246986E+01 0.9964246986E+01 0.9964246986E+01 0.9964246986E+01 XX 0.1126688954E+02 0.1126688954E+02 0.1126688954E+02 0.1126688954E+02 0.1126688954E+02 XX 0.1467363263E+02 0.1467363263E+02 0.1467363263E+02 0.1467363263E+02 0.1467363263E+02 XX 0.4544793247E+02 0.4544793247E+02 0.4544793247E+02 0.4544793247E+02 0.4544793247E+02 XX 0.2747907122E+02 0.2747907122E+02 0.2747907122E+02 0.2747907122E+02 0.2747907122E+02 XX 0.7631555756E+00 0.7631555756E+00 0.7631555756E+00 0.7631555756E+00 0.7631555756E+00 XX 0.8042668883E+00 0.8042668883E+00 0.8042668883E+00 0.8042668883E+00 0.8042668883E+00 XX 0.8845949009E-01 0.8845949009E-01 0.8845949009E-01 0.8845949009E-01 0.8845949009E-01 XX 0.5088735770E+01 0.5088735770E+01 0.5088735770E+01 0.5088735770E+01 0.5088735770E+01 XX 0.1941258165E+01 0.1941258165E+01 0.1941258165E+01 0.1941258165E+01 0.1941258165E+01 XX 0.9145779174E+00 0.9145779174E+00 0.9145779174E+00 0.9145779174E+00 0.9145779174E+00 XX 0.1093637422E+02 0.1093637422E+02 0.1093637422E+02 0.1093637422E+02 0.1093637422E+02 XX 0.9057379779E+01 0.9057379779E+01 0.9057379779E+01 0.9057379779E+01 0.9057379779E+01 XX 0.2911830094E+01 0.2911830094E+01 0.2911830094E+01 0.2911830094E+01 0.2911830094E+01 XX 0.4278258076E-01 0.4278258076E-01 0.4278258076E-01 0.4278258076E-01 0.4278258076E-01 XX 0.1757399501E+00 0.1757399501E+00 0.1757399501E+00 0.1757399501E+00 0.1757399501E+00 XX 0.6082799352E+00 0.6082799352E+00 0.6082799352E+00 0.6082799352E+00 0.6082799352E+00 XX 0.2372643495E+00 0.2372643495E+00 0.2372643495E+00 0.2372643495E+00 0.2372643495E+00 XX 0.9748359053E+00 0.9748359053E+00 0.9748359053E+00 0.9748359053E+00 0.9748359053E+00 XX 0.2459667044E+01 0.2459667044E+01 0.2459667044E+01 0.2459667044E+01 0.2459667044E+01 XX 0.1397918236E+00 0.1397918236E+00 0.1397918236E+00 0.1397918236E+00 0.1397918236E+00 XX 0.1061572754E+01 0.1061572754E+01 0.1061572754E+01 0.1061572754E+01 0.1061572754E+01 XX 0.8998830379E+00 0.8998830379E+00 0.8998830379E+00 0.8998830379E+00 0.8998830379E+00 XX 0.2984826025E+01 0.2984826025E+01 0.2984826025E+01 0.2984826025E+01 0.2984826025E+01 XX 0.2622405598E+01 0.2622405598E+01 0.2622405598E+01 0.2622405598E+01 0.2622405598E+01 XX 0.8834141508E+00 0.8834141508E+00 0.8834141508E+00 0.8834141508E+00 0.8834141508E+00 XX 0.4696375396E+01 0.4696375396E+01 0.4696375396E+01 0.4696375396E+01 0.4696375396E+01 XX 0.1309484963E+02 0.1309484963E+02 0.1309484963E+02 0.1309484963E+02 0.1309484963E+02 XX 0.8481716302E+01 0.8481716302E+01 0.8481716302E+01 0.8481716302E+01 0.8481716302E+01 XX 0.3194789584E+02 0.3194789584E+02 0.3194789584E+02 0.3194789584E+02 0.3194789584E+02 XX 0.1242505738E+02 0.1242505738E+02 0.1242505738E+02 0.1242505738E+02 0.1242505738E+02 XX 0.1853822332E+02 0.1853822332E+02 0.1853822332E+02 0.1853822332E+02 0.1853822332E+02 XX 0.4241504024E+02 0.4241504024E+02 0.4241504024E+02 0.4241504024E+02 0.4241504024E+02 XX 0.3437296468E-01 0.3437296468E-01 0.3437296468E-01 0.3437296468E-01 0.3437296468E-01 XX 0.3357033164E-01 0.3357033164E-01 0.3357033164E-01 0.3357033164E-01 0.3357033164E-01 XX 0.1138426146E+00 0.1138426146E+00 0.1138426146E+00 0.1138426146E+00 0.1138426146E+00 XX 0.2189188707E+01 0.2189188707E+01 0.2189188707E+01 0.2189188707E+01 0.2189188707E+01 XX 0.7300579752E+00 0.7300579752E+00 0.7300579752E+00 0.7300579752E+00 0.7300579752E+00 XX 0.5571120192E+00 0.5571120192E+00 0.5571120192E+00 0.5571120192E+00 0.5571120192E+00 XX 0.5567736562E+00 0.5567736562E+00 0.5567736562E+00 0.5567736562E+00 0.5567736562E+00 XX 0.7110623033E+00 0.7110623033E+00 0.7110623033E+00 0.7110623033E+00 0.7110623033E+00 XX 0.1084014092E+01 0.1084014092E+01 0.1084014092E+01 0.1084014092E+01 0.1084014092E+01 XX 0.8952360652E+01 0.8952360652E+01 0.8952360652E+01 0.8952360652E+01 0.8952360652E+01 XX 0.8351670932E+01 0.8351670932E+01 0.8351670932E+01 0.8351670932E+01 0.8351670932E+01 XX 0.2103442536E+02 0.2103442536E+02 0.2103442536E+02 0.2103442536E+02 0.2103442536E+02 XX 0.2833113217E+02 0.2833113217E+02 0.2833113217E+02 0.2833113217E+02 0.2833113217E+02 XX 0.3955827652E+02 0.3955827652E+02 0.3955827652E+02 0.3955827652E+02 0.3955827652E+02 XX 0.9514162589E+00 0.9514162589E+00 0.9514162589E+00 0.9514162589E+00 0.9514162589E+00 XX 0.3017031424E+00 0.3017031424E+00 0.3017031424E+00 0.3017031424E+00 0.3017031424E+00 XX 0.2145678507E-01 0.2145678507E-01 0.2145678507E-01 0.2145678507E-01 0.2145678507E-01 XX 0.2204739457E-01 0.2204739457E-01 0.2204739457E-01 0.2204739457E-01 0.2204739457E-01 XX 0.2161592961E-01 0.2161592961E-01 0.2161592961E-01 0.2161592961E-01 0.2161592961E-01 XX 0.6864432011E-01 0.6864432011E-01 0.6864432011E-01 0.6864432011E-01 0.6864432011E-01 XX 0.7022492377E-01 0.7022492377E-01 0.7022492377E-01 0.7022492377E-01 0.7022492377E-01 XX 0.1646911773E+01 0.1646911773E+01 0.1646911773E+01 0.1646911773E+01 0.1646911773E+01 XX 0.6482796169E+00 0.6482796169E+00 0.6482796169E+00 0.6482796169E+00 0.6482796169E+00 XX 0.5343192120E+00 0.5343192120E+00 0.5343192120E+00 0.5343192120E+00 0.5343192120E+00 XX 0.3236735731E+01 0.3236735731E+01 0.3236735731E+01 0.3236735731E+01 0.3236735731E+01 XX 0.4649821494E+00 0.4649821494E+00 0.4649821494E+00 0.4649821494E+00 0.4649821494E+00 XX 0.4665205840E+00 0.4665205840E+00 0.4665205840E+00 0.4665205840E+00 0.4665205840E+00 XX 0.4666910493E+00 0.4666910493E+00 0.4666910493E+00 0.4666910493E+00 0.4666910493E+00 XX 0.5804753183E+00 0.5804753183E+00 0.5804753183E+00 0.5804753183E+00 0.5804753183E+00 XX 0.9105578836E+00 0.9105578836E+00 0.9105578836E+00 0.9105578836E+00 0.9105578836E+00 XX 0.8030244014E+01 0.8030244014E+01 0.8030244014E+01 0.8030244014E+01 0.8030244014E+01 XX 0.1671616328E+02 0.1671616328E+02 0.1671616328E+02 0.1671616328E+02 0.1671616328E+02 XX 0.9452541405E+01 0.9452541405E+01 0.9452541405E+01 0.9452541405E+01 0.9452541405E+01 XX 0.2071037218E+02 0.2071037218E+02 0.2071037218E+02 0.2071037218E+02 0.2071037218E+02 XX 0.3983663113E+02 0.3983663113E+02 0.3983663113E+02 0.3983663113E+02 0.3983663113E+02 XX 0.4583750356E+02 0.4583750356E+02 0.4583750356E+02 0.4583750356E+02 0.4583750356E+02 XX 0.2304068083E+00 0.2304068083E+00 0.2304068083E+00 0.2304068083E+00 0.2304068083E+00 XX 0.1961603641E+01 0.1961603641E+01 0.1961603641E+01 0.1961603641E+01 0.1961603641E+01 XX 0.7100330410E+01 0.7100330410E+01 0.7100330410E+01 0.7100330410E+01 0.7100330410E+01 XX 0.2133431933E+01 0.2133431933E+01 0.2133431933E+01 0.2133431933E+01 0.2133431933E+01 XX 0.8876346139E+00 0.8876346139E+00 0.8876346139E+00 0.8876346139E+00 0.8876346139E+00 XX 0.8096474237E+01 0.8096474237E+01 0.8096474237E+01 0.8096474237E+01 0.8096474237E+01 XX 0.2074871621E+01 0.2074871621E+01 0.2074871621E+01 0.2074871621E+01 0.2074871621E+01 XX 0.1388261657E+00 0.1388261657E+00 0.1388261657E+00 0.1388261657E+00 0.1388261657E+00 XX 0.1715819279E+00 0.1715819279E+00 0.1715819279E+00 0.1715819279E+00 0.1715819279E+00 XX 0.3533036458E+00 0.3533036458E+00 0.3533036458E+00 0.3533036458E+00 0.3533036458E+00 XX 0.7860884168E+00 0.7860884168E+00 0.7860884168E+00 0.7860884168E+00 0.7860884168E+00 XX 0.1101192941E+00 0.1101192941E+00 0.1101192941E+00 0.1101192941E+00 0.1101192941E+00 XX 0.3105457109E+00 0.3105457109E+00 0.3105457109E+00 0.3105457109E+00 0.3105457109E+00 XX 0.2356477817E+00 0.2356477817E+00 0.2356477817E+00 0.2356477817E+00 0.2356477817E+00 XX 0.1016000485E+01 0.1016000485E+01 0.1016000485E+01 0.1016000485E+01 0.1016000485E+01 XX 0.2797303047E+01 0.2797303047E+01 0.2797303047E+01 0.2797303047E+01 0.2797303047E+01 XX 0.7344632015E+00 0.7344632015E+00 0.7344632015E+00 0.7344632015E+00 0.7344632015E+00 XX 0.1014362043E+01 0.1014362043E+01 0.1014362043E+01 0.1014362043E+01 0.1014362043E+01 XX 0.3801161173E+01 0.3801161173E+01 0.3801161173E+01 0.3801161173E+01 0.3801161173E+01 XX 0.5834395830E+01 0.5834395830E+01 0.5834395830E+01 0.5834395830E+01 0.5834395830E+01 XX 0.1009138495E+02 0.1009138495E+02 0.1009138495E+02 0.1009138495E+02 0.1009138495E+02 XX 0.6307479640E+01 0.6307479640E+01 0.6307479640E+01 0.6307479640E+01 0.6307479640E+01 XX 0.8692512468E+01 0.8692512468E+01 0.8692512468E+01 0.8692512468E+01 0.8692512468E+01 XX 0.8954765405E+01 0.8954765405E+01 0.8954765405E+01 0.8954765405E+01 0.8954765405E+01 XX 0.1235974834E+02 0.1235974834E+02 0.1235974834E+02 0.1235974834E+02 0.1235974834E+02 XX 0.1639073745E+02 0.1639073745E+02 0.1639073745E+02 0.1639073745E+02 0.1639073745E+02 XX 0.4581783592E+02 0.4581783592E+02 0.4581783592E+02 0.4581783592E+02 0.4581783592E+02 XX 0.4256891537E+02 0.4256891537E+02 0.4256891537E+02 0.4256891537E+02 0.4256891537E+02 XX 0.4012050107E-01 0.4012050107E-01 0.4012050107E-01 0.4012050107E-01 0.4012050107E-01 XX 0.6782525706E-01 0.6782525706E-01 0.6782525706E-01 0.6782525706E-01 0.6782525706E-01 XX 0.1574556850E+00 0.1574556850E+00 0.1574556850E+00 0.1574556850E+00 0.1574556850E+00 XX 0.8039910031E-01 0.8039910031E-01 0.8039910031E-01 0.8039910031E-01 0.8039910031E-01 XX 0.1383289143E+00 0.1383289143E+00 0.1383289143E+00 0.1383289143E+00 0.1383289143E+00 XX 0.5948725314E+00 0.5948725314E+00 0.5948725314E+00 0.5948725314E+00 0.5948725314E+00 XX 0.1915867956E+01 0.1915867956E+01 0.1915867956E+01 0.1915867956E+01 0.1915867956E+01 XX 0.6720376556E+00 0.6720376556E+00 0.6720376556E+00 0.6720376556E+00 0.6720376556E+00 XX 0.6232812088E+00 0.6232812088E+00 0.6232812088E+00 0.6232812088E+00 0.6232812088E+00 XX 0.9238376075E+00 0.9238376075E+00 0.9238376075E+00 0.9238376075E+00 0.9238376075E+00 XX 0.2374770489E+01 0.2374770489E+01 0.2374770489E+01 0.2374770489E+01 0.2374770489E+01 XX 0.9748158305E+01 0.9748158305E+01 0.9748158305E+01 0.9748158305E+01 0.9748158305E+01 XX 0.1497767572E+02 0.1497767572E+02 0.1497767572E+02 0.1497767572E+02 0.1497767572E+02 XX 0.4602516129E+02 0.4602516129E+02 0.4602516129E+02 0.4602516129E+02 0.4602516129E+02 XX 0.5361798315E+00 0.5361798315E+00 0.5361798315E+00 0.5361798315E+00 0.5361798315E+00 XX 0.3672711671E-01 0.3672711671E-01 0.3672711671E-01 0.3672711671E-01 0.3672711671E-01 XX 0.2654895837E-01 0.2654895837E-01 0.2654895837E-01 0.2654895837E-01 0.2654895837E-01 XX 0.4517192333E-01 0.4517192333E-01 0.4517192333E-01 0.4517192333E-01 0.4517192333E-01 XX 0.1144053844E+00 0.1144053844E+00 0.1144053844E+00 0.1144053844E+00 0.1144053844E+00 XX 0.5286158415E-01 0.5286158415E-01 0.5286158415E-01 0.5286158415E-01 0.5286158415E-01 XX 0.5200650170E-01 0.5200650170E-01 0.5200650170E-01 0.5200650170E-01 0.5200650170E-01 XX 0.9041858729E-01 0.9041858729E-01 0.9041858729E-01 0.9041858729E-01 0.9041858729E-01 XX 0.4613814254E+00 0.4613814254E+00 0.4613814254E+00 0.4613814254E+00 0.4613814254E+00 XX 0.1488760353E+01 0.1488760353E+01 0.1488760353E+01 0.1488760353E+01 0.1488760353E+01 XX 0.5565680610E+00 0.5565680610E+00 0.5565680610E+00 0.5565680610E+00 0.5565680610E+00 XX 0.5151009455E+00 0.5151009455E+00 0.5151009455E+00 0.5151009455E+00 0.5151009455E+00 XX 0.7907696356E+00 0.7907696356E+00 0.7907696356E+00 0.7907696356E+00 0.7907696356E+00 XX 0.2133843686E+01 0.2133843686E+01 0.2133843686E+01 0.2133843686E+01 0.2133843686E+01 XX 0.1792361669E+02 0.1792361669E+02 0.1792361669E+02 0.1792361669E+02 0.1792361669E+02 XX 0.1009035767E+02 0.1009035767E+02 0.1009035767E+02 0.1009035767E+02 0.1009035767E+02 XX 0.2350672422E+00 0.2350672422E+00 0.2350672422E+00 0.2350672422E+00 0.2350672422E+00 XX 0.1754253383E-01 0.1754253383E-01 0.1754253383E-01 0.1754253383E-01 0.1754253383E-01 XX 0.4520283591E+00 0.4520283591E+00 0.4520283591E+00 0.4520283591E+00 0.4520283591E+00 XX 0.8063519687E+00 0.8063519687E+00 0.8063519687E+00 0.8063519687E+00 0.8063519687E+00 XX 0.2618006159E+00 0.2618006159E+00 0.2618006159E+00 0.2618006159E+00 0.2618006159E+00 XX 0.8350929813E-01 0.8350929813E-01 0.8350929813E-01 0.8350929813E-01 0.8350929813E-01 XX 0.5476112558E+02 0.5476112558E+02 0.5476112558E+02 0.5476112558E+02 0.5476112558E+02 XX 0.4394781342E+02 0.4394781342E+02 0.4394781342E+02 0.4394781342E+02 0.4394781342E+02 XX 0.2152729451E+02 0.2152729451E+02 0.2152729451E+02 0.2152729451E+02 0.2152729451E+02 XX 0.1566958653E+02 0.1566958653E+02 0.1566958653E+02 0.1566958653E+02 0.1566958653E+02 XX 0.1729164606E+01 0.1729164606E+01 0.1729164606E+01 0.1729164606E+01 0.1729164606E+01 XX 0.2169873963E+00 0.2169873963E+00 0.2169873963E+00 0.2169873963E+00 0.2169873963E+00 XX 0.4942263865E+00 0.4942263865E+00 0.4942263865E+00 0.4942263865E+00 0.4942263865E+00 XX 0.4898176142E-01 0.4898176142E-01 0.4898176142E-01 0.4898176142E-01 0.4898176142E-01 XX 0.2049647960E+01 0.2049647960E+01 0.2049647960E+01 0.2049647960E+01 0.2049647960E+01 XX 0.1220033744E+00 0.1220033744E+00 0.1220033744E+00 0.1220033744E+00 0.1220033744E+00 XX 0.2816283163E+00 0.2816283163E+00 0.2816283163E+00 0.2816283163E+00 0.2816283163E+00 XX 0.4938398333E+00 0.4938398333E+00 0.4938398333E+00 0.4938398333E+00 0.4938398333E+00 XX 0.8911354082E+00 0.8911354082E+00 0.8911354082E+00 0.8911354082E+00 0.8911354082E+00 XX 0.7916075152E+00 0.7916075152E+00 0.7916075152E+00 0.7916075152E+00 0.7916075152E+00 XX 0.3416538909E+01 0.3416538909E+01 0.3416538909E+01 0.3416538909E+01 0.3416538909E+01 XX 0.2962980773E+01 0.2962980773E+01 0.2962980773E+01 0.2962980773E+01 0.2962980773E+01 XX 0.1356776080E+01 0.1356776080E+01 0.1356776080E+01 0.1356776080E+01 0.1356776080E+01 XX 0.3227886715E+01 0.3227886715E+01 0.3227886715E+01 0.3227886715E+01 0.3227886715E+01 XX 0.3479731753E+02 0.3479731753E+02 0.3479731753E+02 0.3479731753E+02 0.3479731753E+02 XX 0.7030383764E+01 0.7030383764E+01 0.7030383764E+01 0.7030383764E+01 0.7030383764E+01 XX 0.1320864355E+02 0.1320864355E+02 0.1320864355E+02 0.1320864355E+02 0.1320864355E+02 XX 0.2151149866E+02 0.2151149866E+02 0.2151149866E+02 0.2151149866E+02 0.2151149866E+02 XX 0.4301257906E+02 0.4301257906E+02 0.4301257906E+02 0.4301257906E+02 0.4301257906E+02 XX 0.2050357092E+02 0.2050357092E+02 0.2050357092E+02 0.2050357092E+02 0.2050357092E+02 XX 0.2695701998E+02 0.2695701998E+02 0.2695701998E+02 0.2695701998E+02 0.2695701998E+02 XX 0.9893939080E-01 0.9893939080E-01 0.9893939080E-01 0.9893939080E-01 0.9893939080E-01 XX 0.1265135091E+01 0.1265135091E+01 0.1265135091E+01 0.1265135091E+01 0.1265135091E+01 XX 0.1161770210E+00 0.1161770210E+00 0.1161770210E+00 0.1161770210E+00 0.1161770210E+00 XX 0.8242690032E-01 0.8242690032E-01 0.8242690032E-01 0.8242690032E-01 0.8242690032E-01 XX 0.8639187726E-01 0.8639187726E-01 0.8639187726E-01 0.8639187726E-01 0.8639187726E-01 XX 0.1730652809E+00 0.1730652809E+00 0.1730652809E+00 0.1730652809E+00 0.1730652809E+00 XX 0.6070435619E+00 0.6070435619E+00 0.6070435619E+00 0.6070435619E+00 0.6070435619E+00 XX 0.7104169645E+01 0.7104169645E+01 0.7104169645E+01 0.7104169645E+01 0.7104169645E+01 XX 0.9551713703E+01 0.9551713703E+01 0.9551713703E+01 0.9551713703E+01 0.9551713703E+01 XX 0.1009442480E+02 0.1009442480E+02 0.1009442480E+02 0.1009442480E+02 0.1009442480E+02 XX 0.1717874173E+02 0.1717874173E+02 0.1717874173E+02 0.1717874173E+02 0.1717874173E+02 XX 0.3343670582E+02 0.3343670582E+02 0.3343670582E+02 0.3343670582E+02 0.3343670582E+02 XX 0.2731497935E-01 0.2731497935E-01 0.2731497935E-01 0.2731497935E-01 0.2731497935E-01 XX 0.7304977983E-01 0.7304977983E-01 0.7304977983E-01 0.7304977983E-01 0.7304977983E-01 XX 0.3006152234E+00 0.3006152234E+00 0.3006152234E+00 0.3006152234E+00 0.3006152234E+00 XX 0.9549419752E+00 0.9549419752E+00 0.9549419752E+00 0.9549419752E+00 0.9549419752E+00 XX 0.8000778950E-01 0.8000778950E-01 0.8000778950E-01 0.8000778950E-01 0.8000778950E-01 XX 0.7540477924E-01 0.7540477924E-01 0.7540477924E-01 0.7540477924E-01 0.7540477924E-01 XX 0.5344547670E-01 0.5344547670E-01 0.5344547670E-01 0.5344547670E-01 0.5344547670E-01 XX 0.5675573857E-01 0.5675573857E-01 0.5675573857E-01 0.5675573857E-01 0.5675573857E-01 XX 0.1261653890E+00 0.1261653890E+00 0.1261653890E+00 0.1261653890E+00 0.1261653890E+00 XX 0.4986845407E+00 0.4986845407E+00 0.4986845407E+00 0.4986845407E+00 0.4986845407E+00 XX 0.6535762407E+01 0.6535762407E+01 0.6535762407E+01 0.6535762407E+01 0.6535762407E+01 XX 0.9253190544E+01 0.9253190544E+01 0.9253190544E+01 0.9253190544E+01 0.9253190544E+01 XX 0.1222608518E+02 0.1222608518E+02 0.1222608518E+02 0.1222608518E+02 0.1222608518E+02 XX 0.1844737522E+02 0.1844737522E+02 0.1844737522E+02 0.1844737522E+02 0.1844737522E+02 XX 0.1139532532E+02 0.1139532532E+02 0.1139532532E+02 0.1139532532E+02 0.1139532532E+02 XX 0.3319814466E+02 0.3319814466E+02 0.3319814466E+02 0.3319814466E+02 0.3319814466E+02 XX 0.6717089247E+00 0.6717089247E+00 0.6717089247E+00 0.6717089247E+00 0.6717089247E+00 XX 0.1790160017E-01 0.1790160017E-01 0.1790160017E-01 0.1790160017E-01 0.1790160017E-01 XX 0.1235546587E+01 0.1235546587E+01 0.1235546587E+01 0.1235546587E+01 0.1235546587E+01 XX 0.3361646285E+00 0.3361646285E+00 0.3361646285E+00 0.3361646285E+00 0.3361646285E+00 XX 0.8565888904E-01 0.8565888904E-01 0.8565888904E-01 0.8565888904E-01 0.8565888904E-01 XX 0.3001816315E+01 0.3001816315E+01 0.3001816315E+01 0.3001816315E+01 0.3001816315E+01 XX 0.1762193956E+02 0.1762193956E+02 0.1762193956E+02 0.1762193956E+02 0.1762193956E+02 XX 0.3978180333E+02 0.3978180333E+02 0.3978180333E+02 0.3978180333E+02 0.3978180333E+02 XX 0.2188058266E+02 0.2188058266E+02 0.2188058266E+02 0.2188058266E+02 0.2188058266E+02 XX 0.1554293145E+02 0.1554293145E+02 0.1554293145E+02 0.1554293145E+02 0.1554293145E+02 XX 0.1193296483E+00 0.1193296483E+00 0.1193296483E+00 0.1193296483E+00 0.1193296483E+00 XX 0.9078850388E+00 0.9078850388E+00 0.9078850388E+00 0.9078850388E+00 0.9078850388E+00 XX 0.3668641883E-01 0.3668641883E-01 0.3668641883E-01 0.3668641883E-01 0.3668641883E-01 XX 0.1086165616E+00 0.1086165616E+00 0.1086165616E+00 0.1086165616E+00 0.1086165616E+00 XX 0.1592296971E+00 0.1592296971E+00 0.1592296971E+00 0.1592296971E+00 0.1592296971E+00 XX 0.1158862267E+01 0.1158862267E+01 0.1158862267E+01 0.1158862267E+01 0.1158862267E+01 XX 0.8045527033E-01 0.8045527033E-01 0.8045527033E-01 0.8045527033E-01 0.8045527033E-01 XX 0.1497999935E+00 0.1497999935E+00 0.1497999935E+00 0.1497999935E+00 0.1497999935E+00 XX 0.1073221513E+01 0.1073221513E+01 0.1073221513E+01 0.1073221513E+01 0.1073221513E+01 XX 0.1007326884E+01 0.1007326884E+01 0.1007326884E+01 0.1007326884E+01 0.1007326884E+01 XX 0.2747022899E+00 0.2747022899E+00 0.2747022899E+00 0.2747022899E+00 0.2747022899E+00 XX 0.3344575135E+01 0.3344575135E+01 0.3344575135E+01 0.3344575135E+01 0.3344575135E+01 XX 0.2418649509E+01 0.2418649509E+01 0.2418649509E+01 0.2418649509E+01 0.2418649509E+01 XX 0.7886734054E+00 0.7886734054E+00 0.7886734054E+00 0.7886734054E+00 0.7886734054E+00 XX 0.1233958207E+01 0.1233958207E+01 0.1233958207E+01 0.1233958207E+01 0.1233958207E+01 XX 0.2907672630E+01 0.2907672630E+01 0.2907672630E+01 0.2907672630E+01 0.2907672630E+01 XX 0.1215412884E+02 0.1215412884E+02 0.1215412884E+02 0.1215412884E+02 0.1215412884E+02 XX 0.1752950282E+02 0.1752950282E+02 0.1752950282E+02 0.1752950282E+02 0.1752950282E+02 XX 0.3617225449E+02 0.3617225449E+02 0.3617225449E+02 0.3617225449E+02 0.3617225449E+02 XX 0.4230202485E+02 0.4230202485E+02 0.4230202485E+02 0.4230202485E+02 0.4230202485E+02 XX 0.4688804010E-01 0.4688804010E-01 0.4688804010E-01 0.4688804010E-01 0.4688804010E-01 XX 0.3602894546E-01 0.3602894546E-01 0.3602894546E-01 0.3602894546E-01 0.3602894546E-01 XX 0.9835745400E+00 0.9835745400E+00 0.9835745400E+00 0.9835745400E+00 0.9835745400E+00 XX 0.1084711017E+02 0.1084711017E+02 0.1084711017E+02 0.1084711017E+02 0.1084711017E+02 XX 0.1257754042E+02 0.1257754042E+02 0.1257754042E+02 0.1257754042E+02 0.1257754042E+02 XX 0.1890141271E+02 0.1890141271E+02 0.1890141271E+02 0.1890141271E+02 0.1890141271E+02 XX 0.1166607975E+02 0.1166607975E+02 0.1166607975E+02 0.1166607975E+02 0.1166607975E+02 XX 0.4310449084E+02 0.4310449084E+02 0.4310449084E+02 0.4310449084E+02 0.4310449084E+02 XX 0.4767746406E+00 0.4767746406E+00 0.4767746406E+00 0.4767746406E+00 0.4767746406E+00 XX 0.2571139033E-01 0.2571139033E-01 0.2571139033E-01 0.2571139033E-01 0.2571139033E-01 XX 0.3672290966E-01 0.3672290966E-01 0.3672290966E-01 0.3672290966E-01 0.3672290966E-01 XX 0.4749436944E-01 0.4749436944E-01 0.4749436944E-01 0.4749436944E-01 0.4749436944E-01 XX 0.3825490745E-01 0.3825490745E-01 0.3825490745E-01 0.3825490745E-01 0.3825490745E-01 XX 0.2348226596E+00 0.2348226596E+00 0.2348226596E+00 0.2348226596E+00 0.2348226596E+00 XX 0.8057661673E+00 0.8057661673E+00 0.8057661673E+00 0.8057661673E+00 0.8057661673E+00 XX 0.6299542505E-01 0.6299542505E-01 0.6299542505E-01 0.6299542505E-01 0.6299542505E-01 XX 0.2809659681E+00 0.2809659681E+00 0.2809659681E+00 0.2809659681E+00 0.2809659681E+00 XX 0.2124321690E+00 0.2124321690E+00 0.2124321690E+00 0.2124321690E+00 0.2124321690E+00 XX 0.1614133847E+00 0.1614133847E+00 0.1614133847E+00 0.1614133847E+00 0.1614133847E+00 XX 0.1127750591E+01 0.1127750591E+01 0.1127750591E+01 0.1127750591E+01 0.1127750591E+01 XX 0.3818467512E+01 0.3818467512E+01 0.3818467512E+01 0.3818467512E+01 0.3818467512E+01 XX 0.1813096396E+01 0.1813096396E+01 0.1813096396E+01 0.1813096396E+01 0.1813096396E+01 XX 0.3603598589E+01 0.3603598589E+01 0.3603598589E+01 0.3603598589E+01 0.3603598589E+01 XX 0.7414853974E+01 0.7414853974E+01 0.7414853974E+01 0.7414853974E+01 0.7414853974E+01 XX 0.2637734117E+01 0.2637734117E+01 0.2637734117E+01 0.2637734117E+01 0.2637734117E+01 XX 0.7845909133E+01 0.7845909133E+01 0.7845909133E+01 0.7845909133E+01 0.7845909133E+01 XX 0.9492608312E+01 0.9492608312E+01 0.9492608312E+01 0.9492608312E+01 0.9492608312E+01 XX 0.1133386936E+02 0.1133386936E+02 0.1133386936E+02 0.1133386936E+02 0.1133386936E+02 XX 0.4312531139E+02 0.4312531139E+02 0.4312531139E+02 0.4312531139E+02 0.4312531139E+02 XX 0.1709105010E+02 0.1709105010E+02 0.1709105010E+02 0.1709105010E+02 0.1709105010E+02 XX 0.1118956348E+00 0.1118956348E+00 0.1118956348E+00 0.1118956348E+00 0.1118956348E+00 XX 0.1510927007E+00 0.1510927007E+00 0.1510927007E+00 0.1510927007E+00 0.1510927007E+00 XX 0.5877030044E+01 0.5877030044E+01 0.5877030044E+01 0.5877030044E+01 0.5877030044E+01 XX 0.1979029233E+01 0.1979029233E+01 0.1979029233E+01 0.1979029233E+01 0.1979029233E+01 XX 0.1762193956E+02 0.1762193956E+02 0.1762193956E+02 0.1762193956E+02 0.1762193956E+02 XX 0.2715978952E+02 0.2715978952E+02 0.2715978952E+02 0.2715978952E+02 0.2715978952E+02 XX 0.2782356352E+02 0.2782356352E+02 0.2782356352E+02 0.2782356352E+02 0.2782356352E+02 XX 0.1622376298E+02 0.1622376298E+02 0.1622376298E+02 0.1622376298E+02 0.1622376298E+02 XX 0.1035275528E+02 0.1035275528E+02 0.1035275528E+02 0.1035275528E+02 0.1035275528E+02 XX 0.7882475209E-01 0.7882475209E-01 0.7882475209E-01 0.7882475209E-01 0.7882475209E-01 XX 0.6740405376E-01 0.6740405376E-01 0.6740405376E-01 0.6740405376E-01 0.6740405376E-01 XX 0.9626762416E-01 0.9626762416E-01 0.9626762416E-01 0.9626762416E-01 0.9626762416E-01 XX 0.1133256440E+01 0.1133256440E+01 0.1133256440E+01 0.1133256440E+01 0.1133256440E+01 XX 0.1782151202E+01 0.1782151202E+01 0.1782151202E+01 0.1782151202E+01 0.1782151202E+01 XX 0.2129784234E+00 0.2129784234E+00 0.2129784234E+00 0.2129784234E+00 0.2129784234E+00 XX 0.1712577846E+00 0.1712577846E+00 0.1712577846E+00 0.1712577846E+00 0.1712577846E+00 XX 0.2893571006E+00 0.2893571006E+00 0.2893571006E+00 0.2893571006E+00 0.2893571006E+00 XX 0.2405126032E+00 0.2405126032E+00 0.2405126032E+00 0.2405126032E+00 0.2405126032E+00 XX 0.8853725222E+00 0.8853725222E+00 0.8853725222E+00 0.8853725222E+00 0.8853725222E+00 XX 0.7706401772E+00 0.7706401772E+00 0.7706401772E+00 0.7706401772E+00 0.7706401772E+00 XX 0.8034318982E+01 0.8034318982E+01 0.8034318982E+01 0.8034318982E+01 0.8034318982E+01 XX 0.5985632732E+00 0.5985632732E+00 0.5985632732E+00 0.5985632732E+00 0.5985632732E+00 XX 0.1346551979E+01 0.1346551979E+01 0.1346551979E+01 0.1346551979E+01 0.1346551979E+01 XX 0.8205944693E+01 0.8205944693E+01 0.8205944693E+01 0.8205944693E+01 0.8205944693E+01 XX 0.1095570981E+02 0.1095570981E+02 0.1095570981E+02 0.1095570981E+02 0.1095570981E+02 XX 0.6586278490E+01 0.6586278490E+01 0.6586278490E+01 0.6586278490E+01 0.6586278490E+01 XX 0.1484789995E+02 0.1484789995E+02 0.1484789995E+02 0.1484789995E+02 0.1484789995E+02 XX 0.1743514309E+02 0.1743514309E+02 0.1743514309E+02 0.1743514309E+02 0.1743514309E+02 XX 0.3322452077E+02 0.3322452077E+02 0.3322452077E+02 0.3322452077E+02 0.3322452077E+02 XX 0.9604940695E+00 0.9604940695E+00 0.9604940695E+00 0.9604940695E+00 0.9604940695E+00 XX 0.8019452708E+01 0.8019452708E+01 0.8019452708E+01 0.8019452708E+01 0.8019452708E+01 XX 0.2766817633E+01 0.2766817633E+01 0.2766817633E+01 0.2766817633E+01 0.2766817633E+01 XX 0.9877936376E+01 0.9877936376E+01 0.9877936376E+01 0.9877936376E+01 0.9877936376E+01 XX 0.1151454396E+02 0.1151454396E+02 0.1151454396E+02 0.1151454396E+02 0.1151454396E+02 XX 0.1738041031E+02 0.1738041031E+02 0.1738041031E+02 0.1738041031E+02 0.1738041031E+02 XX 0.1084955794E+01 0.1084955794E+01 0.1084955794E+01 0.1084955794E+01 0.1084955794E+01 XX 0.1291220706E+01 0.1291220706E+01 0.1291220706E+01 0.1291220706E+01 0.1291220706E+01 XX 0.3673289168E+00 0.3673289168E+00 0.3673289168E+00 0.3673289168E+00 0.3673289168E+00 XX 0.3875787100E-01 0.3875787100E-01 0.3875787100E-01 0.3875787100E-01 0.3875787100E-01 XX 0.3759249010E-01 0.3759249010E-01 0.3759249010E-01 0.3759249010E-01 0.3759249010E-01 XX 0.2484229627E-01 0.2484229627E-01 0.2484229627E-01 0.2484229627E-01 0.2484229627E-01 XX 0.3109654090E-01 0.3109654090E-01 0.3109654090E-01 0.3109654090E-01 0.3109654090E-01 XX 0.4774289401E-01 0.4774289401E-01 0.4774289401E-01 0.4774289401E-01 0.4774289401E-01 XX 0.1101008432E+00 0.1101008432E+00 0.1101008432E+00 0.1101008432E+00 0.1101008432E+00 XX 0.3947855616E+00 0.3947855616E+00 0.3947855616E+00 0.3947855616E+00 0.3947855616E+00 XX 0.1260725570E+01 0.1260725570E+01 0.1260725570E+01 0.1260725570E+01 0.1260725570E+01 XX 0.8325748723E-01 0.8325748723E-01 0.8325748723E-01 0.8325748723E-01 0.8325748723E-01 XX 0.8651576343E-01 0.8651576343E-01 0.8651576343E-01 0.8651576343E-01 0.8651576343E-01 XX 0.3606336879E+00 0.3606336879E+00 0.3606336879E+00 0.3606336879E+00 0.3606336879E+00 XX 0.1915435529E+01 0.1915435529E+01 0.1915435529E+01 0.1915435529E+01 0.1915435529E+01 XX 0.6091030019E+01 0.6091030019E+01 0.6091030019E+01 0.6091030019E+01 0.6091030019E+01 XX 0.4632982333E+00 0.4632982333E+00 0.4632982333E+00 0.4632982333E+00 0.4632982333E+00 XX 0.6111459634E+00 0.6111459634E+00 0.6111459634E+00 0.6111459634E+00 0.6111459634E+00 XX 0.2630975481E+01 0.2630975481E+01 0.2630975481E+01 0.2630975481E+01 0.2630975481E+01 XX 0.9200325238E+01 0.9200325238E+01 0.9200325238E+01 0.9200325238E+01 0.9200325238E+01 XX 0.9460290342E+01 0.9460290342E+01 0.9460290342E+01 0.9460290342E+01 0.9460290342E+01 XX 0.3304316986E+02 0.3304316986E+02 0.3304316986E+02 0.3304316986E+02 0.3304316986E+02 XX 0.5118607800E+00 0.5118607800E+00 0.5118607800E+00 0.5118607800E+00 0.5118607800E+00 XX 0.2594180619E+01 0.2594180619E+01 0.2594180619E+01 0.2594180619E+01 0.2594180619E+01 XX 0.8656913078E+01 0.8656913078E+01 0.8656913078E+01 0.8656913078E+01 0.8656913078E+01 XX 0.3460923207E+02 0.3460923207E+02 0.3460923207E+02 0.3460923207E+02 0.3460923207E+02 XX 0.9057379779E+01 0.9057379779E+01 0.9057379779E+01 0.9057379779E+01 0.9057379779E+01 XX 0.9012756129E+01 0.9012756129E+01 0.9012756129E+01 0.9012756129E+01 0.9012756129E+01 XX 0.1813548705E+02 0.1813548705E+02 0.1813548705E+02 0.1813548705E+02 0.1813548705E+02 XX 0.1093637422E+02 0.1093637422E+02 0.1093637422E+02 0.1093637422E+02 0.1093637422E+02 XX 0.4328108324E+02 0.4328108324E+02 0.4328108324E+02 0.4328108324E+02 0.4328108324E+02 XX 0.3951789858E-01 0.3951789858E-01 0.3951789858E-01 0.3951789858E-01 0.3951789858E-01 XX 0.5650707183E-01 0.5650707183E-01 0.5650707183E-01 0.5650707183E-01 0.5650707183E-01 XX 0.4196082079E+00 0.4196082079E+00 0.4196082079E+00 0.4196082079E+00 0.4196082079E+00 XX 0.1430189830E+01 0.1430189830E+01 0.1430189830E+01 0.1430189830E+01 0.1430189830E+01 XX 0.2283321380E+01 0.2283321380E+01 0.2283321380E+01 0.2283321380E+01 0.2283321380E+01 XX 0.1301191675E+00 0.1301191675E+00 0.1301191675E+00 0.1301191675E+00 0.1301191675E+00 XX 0.9218917919E+00 0.9218917919E+00 0.9218917919E+00 0.9218917919E+00 0.9218917919E+00 XX 0.5114524560E+00 0.5114524560E+00 0.5114524560E+00 0.5114524560E+00 0.5114524560E+00 XX 0.1005780962E+01 0.1005780962E+01 0.1005780962E+01 0.1005780962E+01 0.1005780962E+01 XX 0.3339763283E+01 0.3339763283E+01 0.3339763283E+01 0.3339763283E+01 0.3339763283E+01 XX 0.3048487488E+01 0.3048487488E+01 0.3048487488E+01 0.3048487488E+01 0.3048487488E+01 XX 0.1007573214E+02 0.1007573214E+02 0.1007573214E+02 0.1007573214E+02 0.1007573214E+02 XX 0.9044773339E+01 0.9044773339E+01 0.9044773339E+01 0.9044773339E+01 0.9044773339E+01 XX 0.1016369306E+02 0.1016369306E+02 0.1016369306E+02 0.1016369306E+02 0.1016369306E+02 XX 0.4076507250E+01 0.4076507250E+01 0.4076507250E+01 0.4076507250E+01 0.4076507250E+01 XX 0.1197413898E+02 0.1197413898E+02 0.1197413898E+02 0.1197413898E+02 0.1197413898E+02 XX 0.4321157427E+02 0.4321157427E+02 0.4321157427E+02 0.4321157427E+02 0.4321157427E+02 XX 0.3785829652E-01 0.3785829652E-01 0.3785829652E-01 0.3785829652E-01 0.3785829652E-01 XX 0.9354634764E-01 0.9354634764E-01 0.9354634764E-01 0.9354634764E-01 0.9354634764E-01 XX 0.3492019993E+00 0.3492019993E+00 0.3492019993E+00 0.3492019993E+00 0.3492019993E+00 XX 0.1213647292E+01 0.1213647292E+01 0.1213647292E+01 0.1213647292E+01 0.1213647292E+01 XX 0.9562464979E-01 0.9562464979E-01 0.9562464979E-01 0.9562464979E-01 0.9562464979E-01 XX 0.2170707291E+01 0.2170707291E+01 0.2170707291E+01 0.2170707291E+01 0.2170707291E+01 XX 0.1830065845E+02 0.1830065845E+02 0.1830065845E+02 0.1830065845E+02 0.1830065845E+02 XX 0.1183247729E+02 0.1183247729E+02 0.1183247729E+02 0.1183247729E+02 0.1183247729E+02 XX 0.4388402060E+02 0.4388402060E+02 0.4388402060E+02 0.4388402060E+02 0.4388402060E+02 XX 0.3337967607E+00 0.3337967607E+00 0.3337967607E+00 0.3337967607E+00 0.3337967607E+00 XX 0.8049991254E-01 0.8049991254E-01 0.8049991254E-01 0.8049991254E-01 0.8049991254E-01 XX 0.1752655935E-01 0.1752655935E-01 0.1752655935E-01 0.1752655935E-01 0.1752655935E-01 XX 0.6810740422E-01 0.6810740422E-01 0.6810740422E-01 0.6810740422E-01 0.6810740422E-01 XX 0.1147685952E+01 0.1147685952E+01 0.1147685952E+01 0.1147685952E+01 0.1147685952E+01 XX 0.1976866603E+00 0.1976866603E+00 0.1976866603E+00 0.1976866603E+00 0.1976866603E+00 XX 0.1937999100E+00 0.1937999100E+00 0.1937999100E+00 0.1937999100E+00 0.1937999100E+00 XX 0.5994900157E-01 0.5994900157E-01 0.5994900157E-01 0.5994900157E-01 0.5994900157E-01 XX 0.6609088135E-01 0.6609088135E-01 0.6609088135E-01 0.6609088135E-01 0.6609088135E-01 XX 0.6097151512E+00 0.6097151512E+00 0.6097151512E+00 0.6097151512E+00 0.6097151512E+00 XX 0.5696734334E+00 0.5696734334E+00 0.5696734334E+00 0.5696734334E+00 0.5696734334E+00 XX 0.2180442492E+01 0.2180442492E+01 0.2180442492E+01 0.2180442492E+01 0.2180442492E+01 XX 0.2473334543E+01 0.2473334543E+01 0.2473334543E+01 0.2473334543E+01 0.2473334543E+01 XX 0.7228515255E+00 0.7228515255E+00 0.7228515255E+00 0.7228515255E+00 0.7228515255E+00 XX 0.8736354887E+00 0.8736354887E+00 0.8736354887E+00 0.8736354887E+00 0.8736354887E+00 XX 0.8815666720E+01 0.8815666720E+01 0.8815666720E+01 0.8815666720E+01 0.8815666720E+01 XX 0.8569724431E+01 0.8569724431E+01 0.8569724431E+01 0.8569724431E+01 0.8569724431E+01 XX 0.1126249340E+02 0.1126249340E+02 0.1126249340E+02 0.1126249340E+02 0.1126249340E+02 XX 0.1696203771E+02 0.1696203771E+02 0.1696203771E+02 0.1696203771E+02 0.1696203771E+02 XX 0.4389617862E+02 0.4389617862E+02 0.4389617862E+02 0.4389617862E+02 0.4389617862E+02 XX 0.6020927648E-01 0.6020927648E-01 0.6020927648E-01 0.6020927648E-01 0.6020927648E-01 XX 0.2320363068E-01 0.2320363068E-01 0.2320363068E-01 0.2320363068E-01 0.2320363068E-01 XX 0.6298324816E+00 0.6298324816E+00 0.6298324816E+00 0.6298324816E+00 0.6298324816E+00 XX 0.5256130658E+00 0.5256130658E+00 0.5256130658E+00 0.5256130658E+00 0.5256130658E+00 XX 0.5159078250E-01 0.5159078250E-01 0.5159078250E-01 0.5159078250E-01 0.5159078250E-01 XX 0.1588122625E+01 0.1588122625E+01 0.1588122625E+01 0.1588122625E+01 0.1588122625E+01 XX 0.3051737801E+01 0.3051737801E+01 0.3051737801E+01 0.3051737801E+01 0.3051737801E+01 XX 0.8553745226E+00 0.8553745226E+00 0.8553745226E+00 0.8553745226E+00 0.8553745226E+00 XX 0.1430686808E+02 0.1430686808E+02 0.1430686808E+02 0.1430686808E+02 0.1430686808E+02 XX 0.4282732537E+02 0.4282732537E+02 0.4282732537E+02 0.4282732537E+02 0.4282732537E+02 XX 0.2002718709E+02 0.2002718709E+02 0.2002718709E+02 0.2002718709E+02 0.2002718709E+02 XX 0.6672332540E-01 0.6672332540E-01 0.6672332540E-01 0.6672332540E-01 0.6672332540E-01 XX 0.1193524620E+00 0.1193524620E+00 0.1193524620E+00 0.1193524620E+00 0.1193524620E+00 XX 0.8092087770E+00 0.8092087770E+00 0.8092087770E+00 0.8092087770E+00 0.8092087770E+00 XX 0.5446899366E+00 0.5446899366E+00 0.5446899366E+00 0.5446899366E+00 0.5446899366E+00 XX 0.2476744458E+01 0.2476744458E+01 0.2476744458E+01 0.2476744458E+01 0.2476744458E+01 XX 0.1117004731E+01 0.1117004731E+01 0.1117004731E+01 0.1117004731E+01 0.1117004731E+01 XX 0.8044588312E+00 0.8044588312E+00 0.8044588312E+00 0.8044588312E+00 0.8044588312E+00 XX 0.3469492622E+01 0.3469492622E+01 0.3469492622E+01 0.3469492622E+01 0.3469492622E+01 XX 0.1134142265E+01 0.1134142265E+01 0.1134142265E+01 0.1134142265E+01 0.1134142265E+01 XX 0.1094593764E+02 0.1094593764E+02 0.1094593764E+02 0.1094593764E+02 0.1094593764E+02 XX 0.2695212668E+01 0.2695212668E+01 0.2695212668E+01 0.2695212668E+01 0.2695212668E+01 XX 0.7739489116E+01 0.7739489116E+01 0.7739489116E+01 0.7739489116E+01 0.7739489116E+01 XX 0.1029847424E+02 0.1029847424E+02 0.1029847424E+02 0.1029847424E+02 0.1029847424E+02 XX 0.1322105550E+01 0.1322105550E+01 0.1322105550E+01 0.1322105550E+01 0.1322105550E+01 XX 0.4416632652E+00 0.4416632652E+00 0.4416632652E+00 0.4416632652E+00 0.4416632652E+00 XX 0.5583695018E-01 0.5583695018E-01 0.5583695018E-01 0.5583695018E-01 0.5583695018E-01 XX 0.8038134683E-01 0.8038134683E-01 0.8038134683E-01 0.8038134683E-01 0.8038134683E-01 XX 0.6441713833E-01 0.6441713833E-01 0.6441713833E-01 0.6441713833E-01 0.6441713833E-01 XX 0.1119895417E+00 0.1119895417E+00 0.1119895417E+00 0.1119895417E+00 0.1119895417E+00 XX 0.1186508893E+01 0.1186508893E+01 0.1186508893E+01 0.1186508893E+01 0.1186508893E+01 XX 0.4019472245E+00 0.4019472245E+00 0.4019472245E+00 0.4019472245E+00 0.4019472245E+00 XX 0.3655233664E+01 0.3655233664E+01 0.3655233664E+01 0.3655233664E+01 0.3655233664E+01 XX 0.8729780562E+01 0.8729780562E+01 0.8729780562E+01 0.8729780562E+01 0.8729780562E+01 XX 0.8919018985E+01 0.8919018985E+01 0.8919018985E+01 0.8919018985E+01 0.8919018985E+01 XX 0.2063430583E+02 0.2063430583E+02 0.2063430583E+02 0.2063430583E+02 0.2063430583E+02 XX 0.3297429492E+02 0.3297429492E+02 0.3297429492E+02 0.3297429492E+02 0.3297429492E+02 XX 0.2613720486E+00 0.2613720486E+00 0.2613720486E+00 0.2613720486E+00 0.2613720486E+00 XX 0.2105038485E-01 0.2105038485E-01 0.2105038485E-01 0.2105038485E-01 0.2105038485E-01 XX 0.3434392009E+00 0.3434392009E+00 0.3434392009E+00 0.3434392009E+00 0.3434392009E+00 XX 0.7756394885E+00 0.7756394885E+00 0.7756394885E+00 0.7756394885E+00 0.7756394885E+00 XX 0.7408173889E-01 0.7408173889E-01 0.7408173889E-01 0.7408173889E-01 0.7408173889E-01 XX 0.4250669407E-01 0.4250669407E-01 0.4250669407E-01 0.4250669407E-01 0.4250669407E-01 XX 0.2616838887E+00 0.2616838887E+00 0.2616838887E+00 0.2616838887E+00 0.2616838887E+00 XX 0.1448243988E+00 0.1448243988E+00 0.1448243988E+00 0.1448243988E+00 0.1448243988E+00 XX 0.5265278530E+00 0.5265278530E+00 0.5265278530E+00 0.5265278530E+00 0.5265278530E+00 XX 0.1741501804E+01 0.1741501804E+01 0.1741501804E+01 0.1741501804E+01 0.1741501804E+01 XX 0.4576357971E+00 0.4576357971E+00 0.4576357971E+00 0.4576357971E+00 0.4576357971E+00 XX 0.2250319448E+01 0.2250319448E+01 0.2250319448E+01 0.2250319448E+01 0.2250319448E+01 XX 0.3130777395E+01 0.3130777395E+01 0.3130777395E+01 0.3130777395E+01 0.3130777395E+01 XX 0.7030572125E+01 0.7030572125E+01 0.7030572125E+01 0.7030572125E+01 0.7030572125E+01 XX 0.2037080400E+02 0.2037080400E+02 0.2037080400E+02 0.2037080400E+02 0.2037080400E+02 XX 0.1111864828E+02 0.1111864828E+02 0.1111864828E+02 0.1111864828E+02 0.1111864828E+02 XX 0.2051511264E+02 0.2051511264E+02 0.2051511264E+02 0.2051511264E+02 0.2051511264E+02 XX 0.4520283591E+00 0.4520283591E+00 0.4520283591E+00 0.4520283591E+00 0.4520283591E+00 XX 0.5015148258E-01 0.5015148258E-01 0.5015148258E-01 0.5015148258E-01 0.5015148258E-01 XX 0.3001816315E+01 0.3001816315E+01 0.3001816315E+01 0.3001816315E+01 0.3001816315E+01 XX 0.3540397605E+01 0.3540397605E+01 0.3540397605E+01 0.3540397605E+01 0.3540397605E+01 XX 0.3370744321E+00 0.3370744321E+00 0.3370744321E+00 0.3370744321E+00 0.3370744321E+00 XX 0.6075318581E+00 0.6075318581E+00 0.6075318581E+00 0.6075318581E+00 0.6075318581E+00 XX 0.3125681872E+02 0.3125681872E+02 0.3125681872E+02 0.3125681872E+02 0.3125681872E+02 XX 0.7532510539E+00 0.7532510539E+00 0.7532510539E+00 0.7532510539E+00 0.7532510539E+00 XX 0.3864828057E+02 0.3864828057E+02 0.3864828057E+02 0.3864828057E+02 0.3864828057E+02 XX 0.1799077764E+02 0.1799077764E+02 0.1799077764E+02 0.1799077764E+02 0.1799077764E+02 XX 0.1096915633E+02 0.1096915633E+02 0.1096915633E+02 0.1096915633E+02 0.1096915633E+02 XX 0.7396918385E+01 0.7396918385E+01 0.7396918385E+01 0.7396918385E+01 0.7396918385E+01 XX 0.1430686808E+02 0.1430686808E+02 0.1430686808E+02 0.1430686808E+02 0.1430686808E+02 XX 0.2115160957E+00 0.2115160957E+00 0.2115160957E+00 0.2115160957E+00 0.2115160957E+00 XX 0.1432649052E+00 0.1432649052E+00 0.1432649052E+00 0.1432649052E+00 0.1432649052E+00 XX 0.2789504595E+01 0.2789504595E+01 0.2789504595E+01 0.2789504595E+01 0.2789504595E+01 XX 0.3044202659E-01 0.3044202659E-01 0.3044202659E-01 0.3044202659E-01 0.3044202659E-01 XX 0.4134000533E-01 0.4134000533E-01 0.4134000533E-01 0.4134000533E-01 0.4134000533E-01 XX 0.3534788916E+00 0.3534788916E+00 0.3534788916E+00 0.3534788916E+00 0.3534788916E+00 XX 0.1131335206E+00 0.1131335206E+00 0.1131335206E+00 0.1131335206E+00 0.1131335206E+00 XX 0.1331593998E+00 0.1331593998E+00 0.1331593998E+00 0.1331593998E+00 0.1331593998E+00 XX 0.2192599664E+00 0.2192599664E+00 0.2192599664E+00 0.2192599664E+00 0.2192599664E+00 XX 0.1340148079E+01 0.1340148079E+01 0.1340148079E+01 0.1340148079E+01 0.1340148079E+01 XX 0.2608984284E+01 0.2608984284E+01 0.2608984284E+01 0.2608984284E+01 0.2608984284E+01 XX 0.8389787726E+00 0.8389787726E+00 0.8389787726E+00 0.8389787726E+00 0.8389787726E+00 XX 0.8120614599E+00 0.8120614599E+00 0.8120614599E+00 0.8120614599E+00 0.8120614599E+00 XX 0.1079595128E+01 0.1079595128E+01 0.1079595128E+01 0.1079595128E+01 0.1079595128E+01 XX 0.7471300347E+01 0.7471300347E+01 0.7471300347E+01 0.7471300347E+01 0.7471300347E+01 XX 0.9512695533E+01 0.9512695533E+01 0.9512695533E+01 0.9512695533E+01 0.9512695533E+01 XX 0.5058009311E-01 0.5058009311E-01 0.5058009311E-01 0.5058009311E-01 0.5058009311E-01 XX 0.2416134845E-01 0.2416134845E-01 0.2416134845E-01 0.2416134845E-01 0.2416134845E-01 XX 0.3242539305E+00 0.3242539305E+00 0.3242539305E+00 0.3242539305E+00 0.3242539305E+00 XX 0.5310603215E+00 0.5310603215E+00 0.5310603215E+00 0.5310603215E+00 0.5310603215E+00 XX 0.8247173907E+00 0.8247173907E+00 0.8247173907E+00 0.8247173907E+00 0.8247173907E+00 XX 0.6758673377E+01 0.6758673377E+01 0.6758673377E+01 0.6758673377E+01 0.6758673377E+01 XX 0.8263115865E+01 0.8263115865E+01 0.8263115865E+01 0.8263115865E+01 0.8263115865E+01 XX 0.4037049646E+00 0.4037049646E+00 0.4037049646E+00 0.4037049646E+00 0.4037049646E+00 XX 0.9323321393E+00 0.9323321393E+00 0.9323321393E+00 0.9323321393E+00 0.9323321393E+00 XX 0.1188724259E+00 0.1188724259E+00 0.1188724259E+00 0.1188724259E+00 0.1188724259E+00 XX 0.3038940294E+00 0.3038940294E+00 0.3038940294E+00 0.3038940294E+00 0.3038940294E+00 XX 0.3184669392E-01 0.3184669392E-01 0.3184669392E-01 0.3184669392E-01 0.3184669392E-01 XX 0.1730273340E-01 0.1730273340E-01 0.1730273340E-01 0.1730273340E-01 0.1730273340E-01 XX 0.1912498524E-01 0.1912498524E-01 0.1912498524E-01 0.1912498524E-01 0.1912498524E-01 XX 0.1808215956E+00 0.1808215956E+00 0.1808215956E+00 0.1808215956E+00 0.1808215956E+00 XX 0.1776498070E+01 0.1776498070E+01 0.1776498070E+01 0.1776498070E+01 0.1776498070E+01 XX 0.2446804409E+00 0.2446804409E+00 0.2446804409E+00 0.2446804409E+00 0.2446804409E+00 XX 0.7297403055E-01 0.7297403055E-01 0.7297403055E-01 0.7297403055E-01 0.7297403055E-01 XX 0.3256913344E+01 0.3256913344E+01 0.3256913344E+01 0.3256913344E+01 0.3256913344E+01 XX 0.7118597227E+01 0.7118597227E+01 0.7118597227E+01 0.7118597227E+01 0.7118597227E+01 XX 0.2023767716E+02 0.2023767716E+02 0.2023767716E+02 0.2023767716E+02 0.2023767716E+02 XX 0.8096474237E+01 0.8096474237E+01 0.8096474237E+01 0.8096474237E+01 0.8096474237E+01 XX 0.2782356352E+02 0.2782356352E+02 0.2782356352E+02 0.2782356352E+02 0.2782356352E+02 XX 0.3970242317E+02 0.3970242317E+02 0.3970242317E+02 0.3970242317E+02 0.3970242317E+02 XX 0.9749406007E-01 0.9749406007E-01 0.9749406007E-01 0.9749406007E-01 0.9749406007E-01 XX 0.1299550775E+00 0.1299550775E+00 0.1299550775E+00 0.1299550775E+00 0.1299550775E+00 XX 0.4934724531E+00 0.4934724531E+00 0.4934724531E+00 0.4934724531E+00 0.4934724531E+00 XX 0.1590043556E+01 0.1590043556E+01 0.1590043556E+01 0.1590043556E+01 0.1590043556E+01 XX 0.1043342966E+00 0.1043342966E+00 0.1043342966E+00 0.1043342966E+00 0.1043342966E+00 XX 0.4935888922E+00 0.4935888922E+00 0.4935888922E+00 0.4935888922E+00 0.4935888922E+00 XX 0.1438659285E+01 0.1438659285E+01 0.1438659285E+01 0.1438659285E+01 0.1438659285E+01 XX 0.3093869896E-01 0.3093869896E-01 0.3093869896E-01 0.3093869896E-01 0.3093869896E-01 XX 0.1143931801E+00 0.1143931801E+00 0.1143931801E+00 0.1143931801E+00 0.1143931801E+00 XX 0.5866619974E-01 0.5866619974E-01 0.5866619974E-01 0.5866619974E-01 0.5866619974E-01 XX 0.3102193177E+00 0.3102193177E+00 0.3102193177E+00 0.3102193177E+00 0.3102193177E+00 XX 0.4813424569E+00 0.4813424569E+00 0.4813424569E+00 0.4813424569E+00 0.4813424569E+00 XX 0.7540330612E+00 0.7540330612E+00 0.7540330612E+00 0.7540330612E+00 0.7540330612E+00 XX 0.4341933517E+01 0.4341933517E+01 0.4341933517E+01 0.4341933517E+01 0.4341933517E+01 XX 0.2598690261E+00 0.2598690261E+00 0.2598690261E+00 0.2598690261E+00 0.2598690261E+00 XX 0.2683661856E+01 0.2683661856E+01 0.2683661856E+01 0.2683661856E+01 0.2683661856E+01 XX 0.3575417002E+01 0.3575417002E+01 0.3575417002E+01 0.3575417002E+01 0.3575417002E+01 XX 0.2932072281E+01 0.2932072281E+01 0.2932072281E+01 0.2932072281E+01 0.2932072281E+01 XX 0.2068468349E+02 0.2068468349E+02 0.2068468349E+02 0.2068468349E+02 0.2068468349E+02 XX 0.2976614849E-01 0.2976614849E-01 0.2976614849E-01 0.2976614849E-01 0.2976614849E-01 XX 0.2996434975E-01 0.2996434975E-01 0.2996434975E-01 0.2996434975E-01 0.2996434975E-01 XX 0.8344942660E-01 0.8344942660E-01 0.8344942660E-01 0.8344942660E-01 0.8344942660E-01 XX 0.9574485726E+00 0.9574485726E+00 0.9574485726E+00 0.9574485726E+00 0.9574485726E+00 XX 0.7382088508E-01 0.7382088508E-01 0.7382088508E-01 0.7382088508E-01 0.7382088508E-01 XX 0.2177359975E+00 0.2177359975E+00 0.2177359975E+00 0.2177359975E+00 0.2177359975E+00 XX 0.2231542873E+01 0.2231542873E+01 0.2231542873E+01 0.2231542873E+01 0.2231542873E+01 XX 0.2641106778E+00 0.2641106778E+00 0.2641106778E+00 0.2641106778E+00 0.2641106778E+00 XX 0.8039700860E-01 0.8039700860E-01 0.8039700860E-01 0.8039700860E-01 0.8039700860E-01 XX 0.5737631496E-01 0.5737631496E-01 0.5737631496E-01 0.5737631496E-01 0.5737631496E-01 XX 0.3184669392E-01 0.3184669392E-01 0.3184669392E-01 0.3184669392E-01 0.3184669392E-01 XX 0.2444237283E+00 0.2444237283E+00 0.2444237283E+00 0.2444237283E+00 0.2444237283E+00 XX 0.6294489091E+00 0.6294489091E+00 0.6294489091E+00 0.6294489091E+00 0.6294489091E+00 XX 0.1319948036E+01 0.1319948036E+01 0.1319948036E+01 0.1319948036E+01 0.1319948036E+01 XX 0.1048022900E+01 0.1048022900E+01 0.1048022900E+01 0.1048022900E+01 0.1048022900E+01 XX 0.3370744321E+00 0.3370744321E+00 0.3370744321E+00 0.3370744321E+00 0.3370744321E+00 XX 0.1776498070E+01 0.1776498070E+01 0.1776498070E+01 0.1776498070E+01 0.1776498070E+01 XX 0.4966043575E+01 0.4966043575E+01 0.4966043575E+01 0.4966043575E+01 0.4966043575E+01 XX 0.3051737801E+01 0.3051737801E+01 0.3051737801E+01 0.3051737801E+01 0.3051737801E+01 XX 0.1201225495E+02 0.1201225495E+02 0.1201225495E+02 0.1201225495E+02 0.1201225495E+02 XX 0.7055218891E+01 0.7055218891E+01 0.7055218891E+01 0.7055218891E+01 0.7055218891E+01 XX 0.3125681872E+02 0.3125681872E+02 0.3125681872E+02 0.3125681872E+02 0.3125681872E+02 XX 0.5650058553E+00 0.5650058553E+00 0.5650058553E+00 0.5650058553E+00 0.5650058553E+00 XX 0.1814417427E+00 0.1814417427E+00 0.1814417427E+00 0.1814417427E+00 0.1814417427E+00 XX 0.6277516487E-01 0.6277516487E-01 0.6277516487E-01 0.6277516487E-01 0.6277516487E-01 XX 0.4854195725E-01 0.4854195725E-01 0.4854195725E-01 0.4854195725E-01 0.4854195725E-01 XX 0.7421621974E-01 0.7421621974E-01 0.7421621974E-01 0.7421621974E-01 0.7421621974E-01 XX 0.1722167020E+00 0.1722167020E+00 0.1722167020E+00 0.1722167020E+00 0.1722167020E+00 XX 0.5898478647E+00 0.5898478647E+00 0.5898478647E+00 0.5898478647E+00 0.5898478647E+00 XX 0.1858688017E+01 0.1858688017E+01 0.1858688017E+01 0.1858688017E+01 0.1858688017E+01 XX 0.2928918368E+00 0.2928918368E+00 0.2928918368E+00 0.2928918368E+00 0.2928918368E+00 XX 0.3569163223E+00 0.3569163223E+00 0.3569163223E+00 0.3569163223E+00 0.3569163223E+00 XX 0.1063343165E+00 0.1063343165E+00 0.1063343165E+00 0.1063343165E+00 0.1063343165E+00 XX 0.7288732087E+00 0.7288732087E+00 0.7288732087E+00 0.7288732087E+00 0.7288732087E+00 XX 0.2247477630E+01 0.2247477630E+01 0.2247477630E+01 0.2247477630E+01 0.2247477630E+01 XX 0.6870874378E+01 0.6870874378E+01 0.6870874378E+01 0.6870874378E+01 0.6870874378E+01 XX 0.3379154667E+01 0.3379154667E+01 0.3379154667E+01 0.3379154667E+01 0.3379154667E+01 XX 0.7105877525E+00 0.7105877525E+00 0.7105877525E+00 0.7105877525E+00 0.7105877525E+00 XX 0.5413480141E+01 0.5413480141E+01 0.5413480141E+01 0.5413480141E+01 0.5413480141E+01 XX 0.1245714361E+02 0.1245714361E+02 0.1245714361E+02 0.1245714361E+02 0.1245714361E+02 XX 0.3201846389E+02 0.3201846389E+02 0.3201846389E+02 0.3201846389E+02 0.3201846389E+02 XX 0.9219173805E+00 0.9219173805E+00 0.9219173805E+00 0.9219173805E+00 0.9219173805E+00 XX 0.2401207211E-01 0.2401207211E-01 0.2401207211E-01 0.2401207211E-01 0.2401207211E-01 XX 0.6159863687E-01 0.6159863687E-01 0.6159863687E-01 0.6159863687E-01 0.6159863687E-01 XX 0.5132213756E+00 0.5132213756E+00 0.5132213756E+00 0.5132213756E+00 0.5132213756E+00 XX 0.4917252308E+01 0.4917252308E+01 0.4917252308E+01 0.4917252308E+01 0.4917252308E+01 XX 0.6294489091E+00 0.6294489091E+00 0.6294489091E+00 0.6294489091E+00 0.6294489091E+00 XX 0.1808215956E+00 0.1808215956E+00 0.1808215956E+00 0.1808215956E+00 0.1808215956E+00 XX 0.2817514363E+00 0.2817514363E+00 0.2817514363E+00 0.2817514363E+00 0.2817514363E+00 XX 0.5015148258E-01 0.5015148258E-01 0.5015148258E-01 0.5015148258E-01 0.5015148258E-01 XX 0.1587792265E-01 0.1587792265E-01 0.1587792265E-01 0.1587792265E-01 0.1587792265E-01 XX 0.8633909771E+00 0.8633909771E+00 0.8633909771E+00 0.8633909771E+00 0.8633909771E+00 XX 0.1048022900E+01 0.1048022900E+01 0.1048022900E+01 0.1048022900E+01 0.1048022900E+01 XX 0.3540397605E+01 0.3540397605E+01 0.3540397605E+01 0.3540397605E+01 0.3540397605E+01 XX 0.2023767716E+02 0.2023767716E+02 0.2023767716E+02 0.2023767716E+02 0.2023767716E+02 XX 0.7118597227E+01 0.7118597227E+01 0.7118597227E+01 0.7118597227E+01 0.7118597227E+01 XX 0.3256913344E+01 0.3256913344E+01 0.3256913344E+01 0.3256913344E+01 0.3256913344E+01 XX 0.5244817814E+00 0.5244817814E+00 0.5244817814E+00 0.5244817814E+00 0.5244817814E+00 XX 0.6362670447E+01 0.6362670447E+01 0.6362670447E+01 0.6362670447E+01 0.6362670447E+01 XX 0.3324302730E+02 0.3324302730E+02 0.3324302730E+02 0.3324302730E+02 0.3324302730E+02 XX 0.5163095450E-01 0.5163095450E-01 0.5163095450E-01 0.5163095450E-01 0.5163095450E-01 XX 0.1173412952E+01 0.1173412952E+01 0.1173412952E+01 0.1173412952E+01 0.1173412952E+01 XX 0.4547111280E-01 0.4547111280E-01 0.4547111280E-01 0.4547111280E-01 0.4547111280E-01 XX 0.7962349492E-01 0.7962349492E-01 0.7962349492E-01 0.7962349492E-01 0.7962349492E-01 XX 0.1498264110E+01 0.1498264110E+01 0.1498264110E+01 0.1498264110E+01 0.1498264110E+01 XX 0.1154385477E+00 0.1154385477E+00 0.1154385477E+00 0.1154385477E+00 0.1154385477E+00 XX 0.1005035894E+00 0.1005035894E+00 0.1005035894E+00 0.1005035894E+00 0.1005035894E+00 XX 0.3762318353E+00 0.3762318353E+00 0.3762318353E+00 0.3762318353E+00 0.3762318353E+00 XX 0.2091824237E+00 0.2091824237E+00 0.2091824237E+00 0.2091824237E+00 0.2091824237E+00 XX 0.7111738021E+00 0.7111738021E+00 0.7111738021E+00 0.7111738021E+00 0.7111738021E+00 XX 0.2294677849E+01 0.2294677849E+01 0.2294677849E+01 0.2294677849E+01 0.2294677849E+01 XX 0.7629582486E+00 0.7629582486E+00 0.7629582486E+00 0.7629582486E+00 0.7629582486E+00 XX 0.3456976141E+01 0.3456976141E+01 0.3456976141E+01 0.3456976141E+01 0.3456976141E+01 XX 0.1032806649E+01 0.1032806649E+01 0.1032806649E+01 0.1032806649E+01 0.1032806649E+01 XX 0.2568229585E+01 0.2568229585E+01 0.2568229585E+01 0.2568229585E+01 0.2568229585E+01 XX 0.7492322215E+01 0.7492322215E+01 0.7492322215E+01 0.7492322215E+01 0.7492322215E+01 XX 0.4374207931E-01 0.4374207931E-01 0.4374207931E-01 0.4374207931E-01 0.4374207931E-01 XX 0.2434795777E+00 0.2434795777E+00 0.2434795777E+00 0.2434795777E+00 0.2434795777E+00 XX 0.6151258003E+00 0.6151258003E+00 0.6151258003E+00 0.6151258003E+00 0.6151258003E+00 XX 0.5914243555E+00 0.5914243555E+00 0.5914243555E+00 0.5914243555E+00 0.5914243555E+00 XX 0.2887320027E+01 0.2887320027E+01 0.2887320027E+01 0.2887320027E+01 0.2887320027E+01 XX 0.2964875222E+01 0.2964875222E+01 0.2964875222E+01 0.2964875222E+01 0.2964875222E+01 XX 0.1197968580E+02 0.1197968580E+02 0.1197968580E+02 0.1197968580E+02 0.1197968580E+02 XX 0.3165991456E+02 0.3165991456E+02 0.3165991456E+02 0.3165991456E+02 0.3165991456E+02 XX 0.7712642332E+00 0.7712642332E+00 0.7712642332E+00 0.7712642332E+00 0.7712642332E+00 XX 0.2187205962E+00 0.2187205962E+00 0.2187205962E+00 0.2187205962E+00 0.2187205962E+00 XX 0.8039700860E-01 0.8039700860E-01 0.8039700860E-01 0.8039700860E-01 0.8039700860E-01 XX 0.3038940294E+00 0.3038940294E+00 0.3038940294E+00 0.3038940294E+00 0.3038940294E+00 XX 0.9057020725E+00 0.9057020725E+00 0.9057020725E+00 0.9057020725E+00 0.9057020725E+00 XX 0.5256130658E+00 0.5256130658E+00 0.5256130658E+00 0.5256130658E+00 0.5256130658E+00 XX 0.1444463410E+01 0.1444463410E+01 0.1444463410E+01 0.1444463410E+01 0.1444463410E+01 XX 0.7417544131E+01 0.7417544131E+01 0.7417544131E+01 0.7417544131E+01 0.7417544131E+01 XX 0.8666959014E+00 0.8666959014E+00 0.8666959014E+00 0.8666959014E+00 0.8666959014E+00 XX 0.1099407260E+02 0.1099407260E+02 0.1099407260E+02 0.1099407260E+02 0.1099407260E+02 XX 0.1692410717E+02 0.1692410717E+02 0.1692410717E+02 0.1692410717E+02 0.1692410717E+02 XX 0.1724184343E+01 0.1724184343E+01 0.1724184343E+01 0.1724184343E+01 0.1724184343E+01 XX 0.3228541219E-01 0.3228541219E-01 0.3228541219E-01 0.3228541219E-01 0.3228541219E-01 XX 0.2698476935E+00 0.2698476935E+00 0.2698476935E+00 0.2698476935E+00 0.2698476935E+00 XX 0.9909217909E+00 0.9909217909E+00 0.9909217909E+00 0.9909217909E+00 0.9909217909E+00 XX 0.6741290973E-01 0.6741290973E-01 0.6741290973E-01 0.6741290973E-01 0.6741290973E-01 XX 0.9323321393E+00 0.9323321393E+00 0.9323321393E+00 0.9323321393E+00 0.9323321393E+00 XX 0.1878427336E+01 0.1878427336E+01 0.1878427336E+01 0.1878427336E+01 0.1878427336E+01 XX 0.5411456211E+00 0.5411456211E+00 0.5411456211E+00 0.5411456211E+00 0.5411456211E+00 XX 0.1429913207E+00 0.1429913207E+00 0.1429913207E+00 0.1429913207E+00 0.1429913207E+00 XX 0.4861593397E-01 0.4861593397E-01 0.4861593397E-01 0.4861593397E-01 0.4861593397E-01 XX 0.2446804409E+00 0.2446804409E+00 0.2446804409E+00 0.2446804409E+00 0.2446804409E+00 XX 0.5652677507E+01 0.5652677507E+01 0.5652677507E+01 0.5652677507E+01 0.5652677507E+01 XX 0.2363020486E+01 0.2363020486E+01 0.2363020486E+01 0.2363020486E+01 0.2363020486E+01 XX 0.6017975262E+00 0.6017975262E+00 0.6017975262E+00 0.6017975262E+00 0.6017975262E+00 XX 0.4966043575E+01 0.4966043575E+01 0.4966043575E+01 0.4966043575E+01 0.4966043575E+01 XX 0.2169734614E+01 0.2169734614E+01 0.2169734614E+01 0.2169734614E+01 0.2169734614E+01 XX 0.9294270812E+01 0.9294270812E+01 0.9294270812E+01 0.9294270812E+01 0.9294270812E+01 XX 0.3698800567E-01 0.3698800567E-01 0.3698800567E-01 0.3698800567E-01 0.3698800567E-01 XX 0.4529995261E+00 0.4529995261E+00 0.4529995261E+00 0.4529995261E+00 0.4529995261E+00 XX 0.2746674396E-01 0.2746674396E-01 0.2746674396E-01 0.2746674396E-01 0.2746674396E-01 XX 0.2881733072E+00 0.2881733072E+00 0.2881733072E+00 0.2881733072E+00 0.2881733072E+00 XX 0.4904879423E-01 0.4904879423E-01 0.4904879423E-01 0.4904879423E-01 0.4904879423E-01 XX 0.1250997248E+00 0.1250997248E+00 0.1250997248E+00 0.1250997248E+00 0.1250997248E+00 XX 0.2135260084E+01 0.2135260084E+01 0.2135260084E+01 0.2135260084E+01 0.2135260084E+01 XX 0.5099219509E+00 0.5099219509E+00 0.5099219509E+00 0.5099219509E+00 0.5099219509E+00 XX 0.8122537873E+00 0.8122537873E+00 0.8122537873E+00 0.8122537873E+00 0.8122537873E+00 XX 0.1113568350E+02 0.1113568350E+02 0.1113568350E+02 0.1113568350E+02 0.1113568350E+02 XX 0.4790227293E+00 0.4790227293E+00 0.4790227293E+00 0.4790227293E+00 0.4790227293E+00 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 0.2563000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.1000000000E+01 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 0.0000000000E+00 XX 3 0.3098693616391275 7.1204199999920083E-002 XEND_OF_FILE Xif test 106825 -ne `wc -c <'fort.33'`; then X echo shar: \"'fort.33'\" unpacked with wrong size! Xfi X# end of 'fort.33' Xfi Xif test -f 'inspector.f' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'inspector.f'\" Xelse Xecho shar: Extracting \"'inspector.f'\" \(1185 characters\) Xsed "s/^X//" >'inspector.f' <<'END_OF_FILE' XXc------------------------------------------------------------------------------- XX subroutine inspector(ledge,myvals,nde) XXc------------------------------------------------------------------------------- XXc XXc----------------------------------------- XX#include "common1.F" XXc----------------------------------------- XX common/node/ ntotnodes,nonode,noedge XX common/sched/ lesched XX common/offproc/ ne_off_proc XXc XX integer nde(ledge,2) XX integer myvals(nonode) XXc XXc------ Local Variables XXc XX integer ig_ref_e(nge) XX integer locale(nge) XX logical ifbuild_translation_table XXc XXc------ Build the translation table XXc XX itabptr = ifbuild_translation_table(1,myvals,nonode) XXc XXc------ Setup global references for edge loop XXc XX do 20 i = 1,noedge XX ig_ref_e(i) = nde(i,1) XX ig_ref_e(noedge+i) = nde(i,2) XX 20 continue XX iecount = 2 * noedge XXc XXc------ Setup schedule and change global ref. to local ref. XXc XX call flocalize(itabptr,lesched,ig_ref_e,locale,iecount,ne_off_proc,nonode) XXc XX do 40 i = 1,noedge XX nde(i,1) = locale(i) XX nde(i,2) = locale(noedge+i) XX 40 continue XXc XX return XX end XEND_OF_FILE Xif test 1185 -ne `wc -c <'inspector.f'`; then X echo shar: \"'inspector.f'\" unpacked with wrong size! Xfi X# end of 'inspector.f' Xfi Xif test -f 'makefile' -a "${1}" != "-c" ; then X echo shar: Will not clobber existing file \"'makefile'\" Xelse Xecho shar: Extracting \"'makefile'\" \(645 characters\) Xsed "s/^X//" >'makefile' <<'END_OF_FILE' XXSRC= .src XXCNTRL= .cntrl XXFFLAGS= -node -W0,-extend -c XX XXOBJECT= doread.o inspector.o executor.o driver.o XX XXdriver4 : $(CNTRL) $(OBJECT) XX pgf77 -node -i860 -o driver4 -v $(OBJECT) /fiddler/home/icase/raja/newparti/lib/parti.a XX touch $(SRC)/empty XX XX$(CNTRL): common1.F XX @echo "--------------------------------------------------------" XX @echo "------- DIMENSIONS/COMMON BLOCKS HAVE BEEN MODIFIED ----" XX @echo "---------- RECOMPILING APPROPRIATE SUBROUTINES ---------" XX @echo "--------------------------------------------------------" XX @touch $(CNTRL) XX XX.f.o: XX /lib/cpp -P $*.f > $(SRC)/$*.f XX pgf77 $(FFLAGS) $(SRC)/$*.f XXclean: XX rm -f *.o XX rm -f driver4 XEND_OF_FILE Xif test 645 -ne `wc -c <'makefile'`; then X echo shar: \"'makefile'\" unpacked with wrong size! Xfi X# end of 'makefile' Xfi Xecho shar: End of shell archive. Xexit 0 END_OF_FILE if test 452345 -ne `wc -c <'unst.shar'`; then echo shar: \"'unst.shar'\" unpacked with wrong size! fi # end of 'unst.shar' fi echo shar: End of shell archive. exit 0 .