  \magnification=\magstep1
  \hsize=16.0true cm
  \hoffset=.0true cm
  \vsize=22.true cm
  \voffset=.4true cm
  \baselineskip=15pt
\hfuzz=2pt
\parindent=0truept
\parskip=0pt
\def\Bigskip{\vskip4em}
\def\lemma#1{\underbar{\bf{Lemma.}}\ {#1}\vskip 3em}
\def\reals#1{{\bf R}^{#1}}
\def\norm#1{|\!|{#1}|\!|}
\def\lnorm#1{\left|\!\left|{#1}\right|\!\right|}
\def\parv{\par\vskip 1em}
\def\lapl{\Delta}
\def\repulsion{\oh\sum_{i\ne j}{1\over {|x_i-x_j|}}}
\def\dzdr{\>{{dz\,dR}\over {R^5}}}
\def\dr{{{dR}\over {R^5}}}
\def\2int{\int\!\!\!\int}
\font\BBigrm=cmr10 scaled \magstep4
\font\Bbigrm=cmr10 scaled \magstep3
\font\Bigrm=cmr10 scaled \magstep2
\def\sss{\scriptscriptstyle}
\def\scapro#1,#2{\left<#1,#2\right>}
\def\littlescapro#1,#2{\left<\right. #1,#2\left. \right>}
\def\smallc{\scriptstyle c}
\def\frac#1,#2{{}^{#1}\!\!\kern1pt
  \lower-1.0pt\hbox{$\scriptscriptstyle /$}
  \!{}_{#2}}
\def\fra#1,#2{\hbox{$ #1\over #2$}}
\def\ffra#1,#2{\hbox{$ \scriptscriptstyle{{
   {\lower-0.5pt\hbox{$\scriptscriptstyle #1$}}\over #2}}$}}
\def\BBracket#1{\Biggl(#1\Biggr)}
\def\Bracket#1{\Bigl(#1\Bigr)}
\def\bracket#1{\bigl(#1\bigr)}
\def\bbracket#1{\biggl(#1\biggr)}
\def\bra#1{\left(#1\right)}
\def\braces#1{\left\{#1\right\}}
\def\vs#1,#2{#1_1,\ldots,#1_{#2}}
\def\vsz#1,#2{#1_0,\ldots,#1_{#2}}
\def\abs#1{\left|#1\right|}
\def\muchbigger{>\!\!\!>}
\def\muchsmaller{<\!\!\!<}
\def\bover#1,#2{{\displaystyle{#1}\over{\displaystyle{#2}}}}
\def\today{\ifcase\month\or
   January\or February\or March\or April\or May\or June\or
   July\or August\or September\or October\or November\or December\fi
   \space\number\day, \number\year}
\def\Vol#1{{\rm\ Vol\,}\bra{#1}}
\def\sign{{\rm sign\ }}
\def\for{\qquad{\rm\ for\ }\quad}
\def\and{\qquad{\rm\ and\ }\qquad}
\def\bigo#1{{\it O}\!\bra{#1}}
\def\littleo#1{{\it o}\!\bra{#1}}
\def\eqbydef{\quad{\buildrel {\rm def} \over \equiv}\quad}
\def\oh{\hbox{$ 1\over 2$}}
\def\dxz{\,dx_1\,\cdots\,dx_Z}
\def\brac#1{\left\{{#1}\right\}}
\def\dist{{\rm dist}\,}
\def\restr{\>\lceil\>}
\def\domain{{\cal D}}
\def\lipnorm#1{\lnorm{#1}_{\rm Lip}}
\def\feffsec#1{
    \centerline{\Bigrmb #1}
    \vskip3em
    \centerline{\bigrmb Charles L. Fefferman\footnote{*}
    {\rm Partially supported by a NSF grant at Princeton University}}
    \vskip1em
    \centerline{\it Department of Mathematics, Princeton University}
    \vskip2em
    \centerline{\bigrmb Luis A. Seco}
    \vskip1em
    \centerline{\it Department of Mathematics, California Institute of Technology}
    \vskip10em
}
\def\feffsectwo#1#2{
    \centerline{\Bigrmb #1}
    \vskip1em
    \centerline{\Bigrmb #2}
    \vskip3em
    \centerline{\bigrmb Charles L. Fefferman\footnote{$ ^\ast $}
    {\medtype\rm Partially supported by an NSF grant at Princeton University}}
    \vskip1em
    \centerline{\it Department of Mathematics, Princeton University}
    \vskip2em
    \centerline{\bigrmb Luis A. Seco}
    \vskip1em
    \centerline{\it Department of Mathematics, California Institute of Technology}
    \vskip5em
}
\def\myaddress{\bigskip
  \centerline{Luis A. Seco}
  \centerline{      Department of Mathematics}
           \centerline{ Princeton University}
          \centerline{  Princeton NJ 08544}
          \centerline{  U.S.A}
          \bigskip}

\def\mycopenhagenaddress{\bigskip
  \centerline{Luis A. Seco}
  \centerline{Matematisk Institut}
           \centerline{K\o benhavns Universitet}
           \centerline{ Universitetsparken 5}
          \centerline{DK--2100 K\o benhavn \O}
          \centerline{Denmark}
          \centerline{Tel. (Gerd Grubb) 45--3135 3133 Ext. 443}
          \centerline{Fax. 45--3135 4254}
          \centerline{e--mail (P. Solovej): philip@math.ku.dk}
          \bigskip}

\def\myaarhusaddress{\bigskip
  \centerline{Luis A. Seco}
  \centerline{c/o E. Balslev}
  \centerline{Matematisk Institut}
           \centerline{ Ny Munkegade}
           \centerline{ Universitetsparken, 8000 \AA rhus}
          \centerline{Denmark}
          \centerline{Fax. 45--86--131769}
          \centerline{e-mail (E. Balslev): balslev@mi.aau.dk}
          \bigskip}

\def\mymadridaddress{\bigskip
  \centerline{Luis A. Seco}
  \centerline{c/o Antonio C\'ordoba}
  \centerline{  Division de Matem\'aticas C--XVI}
           \centerline{ Facultad de Ciencias}
           \centerline{ Universidad Aut\'onoma de Madrid}
           \centerline{ Cantoblanco,  28049 Madrid}
          \centerline{  Spain}
          \centerline{Tel. (A. C\'ordoba): 34--1--3974986}
          \centerline{Fax. 34--1--3974889}
          \centerline{e-mail (A. Sanchez--Calle): sanca@emduam11.bitnet}
          \bigskip}

\def\ourspainaddress{\bigskip
  \centerline{Luis A. Seco}
  \centerline{Maria T. Quintanilla}
  \centerline{  Chacoli Ategorri 4-6A}
           \centerline{ 48004 Bilbao}
          \centerline{  Spain}
          \centerline{Tel. 34--4--4117088}
          \bigskip}

\def\luiswoodlawn{\bigskip
  \centerline{Luis A. Seco}
  \centerline{37 Woodlawn Av. West}
           \centerline{ Toronto, ONTARIO M4V 1G6}
          \centerline{ Canada}
          \centerline{Tel. 416--978 2033}
          \bigskip}

\def\maitewoodlawn{\bigskip
  \centerline{Maria T. Quintanilla}
  \centerline{37 Woodlawn Av. West}
           \centerline{ Toronto, ONTARIO M4V 1G6}
          \centerline{ Canada}
          \centerline{Tel. 416--978 2033}
          \bigskip}

\def\myspainaddress{\bigskip
  \centerline{Luis A. Seco}
  \centerline{  Chacoli Ategorri 4-6A}
           \centerline{ 48004 Bilbao}
          \centerline{  Spain}
          \centerline{Tel. 34--4--4117088}
          \bigskip}

\def\mycaladdress{\bigskip
  \centerline{Luis A. Seco}
  \centerline{253--37 Caltech}
          \centerline{ Pasadena CA 91125}
          \bigskip}
\def\supp{{\rm supp\ }}
\font\BBigrm=cmr10 scaled \magstep4
\font\Bbigrm=cmr10 scaled \magstep3
\font\Bigrm=cmr10 scaled \magstep2
\font\bigrm=cmr10 scaled \magstep1
\font\smarm=cmr10 scaled \magstep0
\font\smfpt=cmr5 scaled \magstep0
\font\bfpt=cmr5 scaled \magstep1
\font\Bfpt=cmr5 scaled \magstep2
\font\bbfpt=cmr5 scaled \magstep3
\font\smept=cmr8 scaled \magstep0
\font\bept=cmr8 scaled \magstep1
\font\Bept=cmr8 scaled \magstep2
\font\bbept=cmr8 scaled \magstep3
\font\BBigrmb=cmbx10 scaled \magstep4
\font\Bbigrmb=cmbx10 scaled \magstep3
\font\Bigrmb=cmbx10 scaled \magstep2
\font\bigrmb=cmbx10 scaled \magstep1
\font\sigrmb=cmbx10 scaled \magstep0
\font\eightit=cmti8
\font\eightrm=cmr8
\font\eightbf=cmbx8
\font\eightsl=cmsl8
\font\eighttt=cmtt8
\def\thmstyleb{\vskip2em\goodbreak\noindent\bf }
\def\thmstylea{\it}
\def\intsend{\hskip1pt}
\def\intsmid{\hskip1pt{,}\hskip1pt}
\def\theorem#1{{\thmstyleb Theorem #1:} \thmstylea}
\def\algorithm#1{{\thmstyleb Algorithm #1:} \thmstylea}
\def\endt{\vskip2em\goodbreak\rm}
\def\proof{\endt{\bf{Proof:  }}}
\def\cproof{\endt{\bf{Proof (Computer--Assisted):  }}}
\def\description{\endt{\bf{Description:  }}}
\def\corol#1{{\thmstyleb Corollary #1:} \thmstylea}
\def\lem#1{{\thmstyleb Lemma #1:} \thmstylea}
\def\propo#1{{\thmstyleb Proposition #1:} \thmstylea}
\def\definition{\thmstyleb{\bf Definition: }\sl}
\def\itemize{\parindent=40pt\parskip=8pt}
\def\smallitemize{\parindent=15pt\parskip=8pt}
\def\ttitle#1{\goodbreak\vskip4em\centerline{\BBigrmb{#1}}\vskip4em}
\def\Title#1{\goodbreak\vskip4em{\Bigrmb{#1}}\vskip2em}
\def\title#1{\goodbreak\vskip8pt\noindent{\bf{#1}}\enspace }
\def\chapter#1{\vfill\eject\hbox{\ }\vskip60pt{\BBigrmb #1}\vskip6em}
\def\senia#1{\hskip200pt\vtop{\hfuzz=5pt\baselineskip=4pt\hsize1.9in\raggedright
   \smept{#1}}}
\def\mathendpf{\hbox{ \it
   Q\kern-2.5pt\lower2.5pt\hbox{\rm E}\lower-2pt\hbox{\kern-4.5pt D}}
   }
\def\endpf{\hfill{ \it
   Q\kern-2.5pt\lower2.5pt\hbox{\rm E}\lower-2pt\hbox{\kern-4.5pt D}}
   \goodbreak
   \vskip2em}
\def\coint#1,#2{[\intsend #1\intsmid #2\intsend)}
\def\ocint#1,#2{(\intsend #1\intsmid #2\intsend]}
\def\ooint#1,#2{(\intsend #1\intsmid #2\intsend)}
\def\ccint#1,#2{[\intsend #1\intsmid #2\intsend]}
\def\bibliography{ \vskip3em \Title{References}\vskip1em\parindent13pt}
\def\medtype{\let\rm=\eightrm \let\bf=\eightbf
   \let \mus=\eightmus \let\tt=\eighttt
   \let\it=\eightit \let\sl\eightsl \baselineskip=3pt minus .75pt\rm}
\def\Calogero{[Ca]}
\def\BBcalogeroBB{\item{\calogero} Calogero, F. ``{\sl Variable Phase Approach to the
Potential Scattering\/}''
Academic Press, NY 1967.\vskip1em}


\def\Hughes{[Hu]}
\def\BBHughesBB{
\item{\Hughes} Hughes, W.  To appear in {\it Advances in Mathematics}.
\vskip1em}

\def\BBLiebtfBB{
\item{\Liebtf}Lieb, E. (1981) ``{\sl Thomas--Fermi and Related Theories of
Atoms and Mol\-ecules}'' Reviews of Modern Physics Vol 53 no. 4.
\vskip1em}

\def\BBLiebSimonBB{
\item{\LiebSimon}Lieb, E. and Simon, B. (1977) ``{\sl Thomas--Fermi Theory of
Atoms, Molecules and Solids}'' Adv. Math. 23, pp 22---116.
\vskip1em}

\def\SiedentopWeikard{[SW1]}
\def\BBSiedentopWeikardBB{
\item{\SiedentopWeikard} Siedentop, H., Weikard, R. (1987) ``{\sl
On the Leading Energy
Correction for the Statistical Model of the Atom: Interacting Case}''
Communications in Mathematical Physics {\bf 112} 471-490
\vskip1em}


\def\SiedentopWeikardLBII{[SW3]}
\def\BBSiedentopWeikardLBIIBB{
\item{\SiedentopWeikardLBII} Siedentop, H., Weikard, R. (1990) ``{\sl
A Lower Bound of Scott Type by a New Microlocalization Technique
}''
To appear.
\vskip1em}


\def\SiedentopWeikardLB{[SW2]}
\def\BBSiedentopWeikardLBBB{
\item{\SiedentopWeikardLB} Siedentop, H., Weikard, R. ``{\sl
On the Leading
Correction of the Thomas--Fermi Model: Lower Bound}''
and an appendix by A.M.K. M\"uller.
Inv. Math., Vol., 97, pp 159---193, 1989.
\vskip1em}

\def\Schwinger{[Sc]}
\def\BBSchwingerBB{
\item{\Schwinger} Schwinger, J. (1981) ``{\sl
Thomas--Fermi Model: The Second Correction}''
Physical Review A24, {\bf 5}, 2353---2361.
\goodbreak\vskip1em}

\def\Dirac{[Di]}
\def\BBDiracBB{
\item{\Dirac} Dirac, P. (1930) ``{\sl
Note on Exchange Fenomena in the Thomas--Fermi Atom}''
Proc. Cambridge Philos. Soc. {\bf 26}, 376---385.
\vskip1em}

\def\Thomas{[Th]}
\def\BBThomasBB{
\item{\Thomas} Thomas, L. H. (1927) ``{\sl
The Calculation of Atomic Fields}''
Proc. Cambridge Philos. Soc. {\bf 23} 542---548.
\vskip1em}

\def\BBFermiBB{
\item{\Fermi} Fermi, E. (1927) ``{\sl
Un Metodo Statistico per la Determinazione di alcune Priorieta dell'Atome}''
Rend. Accad. Naz. Lincei {\bf 6}, 602---607.
\vskip1em}

\def\Scott{[Sc]}
\def\BBScottBB{
\item{\Scott} Scott, J. M. C. (1952)
``{\sl
The Binding Energy of the Thomas--Fermi Atom
}''
Phil. Mag. {\bf 43} 859---867.
\vskip1em}

\def\BBLiebBB{
\item{\Lieb} Lieb, E. H. (1979)
``{\sl
A Lower Bound for Coulomb Energies
}''
Phys. Lett. {\bf 70A} 444---446.
\vskip1em}

\def\GilbarTrudinger{[GT]}
\def\BBGilbarTrudingerBB{
\item{\GilbarTrudinger} Gilbar, and Trudinger, (1979)
``{\sl
Elliptic Partial Differential Equations
}''
Springer-Verlag
\vskip1em}


\def\thesis{[Se1]}
\def\BBthesisBB{
\item{\thesis}Seco, L.
``{\sl
Lower Bounds for the Ground State Energy of Atoms
}''
Thesis, Princeton University, 1989.
\vskip1em}


\def\BBFeffermanSeconIBB{
\item{\FeffermanSeconI} Fefferman, C., Seco, L. (1989) ``{\sl
An Upper Bound for the
Number of Electrons in a Large Ion}''
Proceedings of the Nat. Acad. Sci., USA Vol. {\bf 86}, no. 10, May 1989,
pp 3464--3465.\vskip1em}

\def\BBFeffermanSeconIIBB{
\item{\FeffermanSeconII} Fefferman, C., Seco, L. (1990) ``{\sl
Asymptotic Neutrality of Large Ions
}''
Comm. Math. Phys. Vol. 128, pp 109---130.
\vskip1em}


\def\BBSecoSigalSolovejBB{
\item{\SecoSigalSolovej} Seco, L., Sigal, I. M., Solovej, J. P., ``{\sl
Bound on the Ionization Energy of Large Atoms
}'' To appear in {\it
Comm. Math. Phys.}
\vskip1em}

\def\Hille{[Hi]}
\def\BBHilleBB{
\item{\Hille} Hille, E.,
``{\sl
On the Thomas--Fermi Equation
}''
Proc. Nat. Acad. Sci, USA, 62, 7---10.
\vskip1em}


\def\FeffSeca{[FS1]}
\def\BBFeffSecaBB{
\item{\FeffSeca} Fefferman, C. and Seco, L.
``{\sl
The Ground--State Energy of a Large Atom
}''
Bull. A.M.S., Vol {\bf 23} no. 2, 525---530, 1990
\vskip1em}

\def\FeffSecb{[FS2]}
\def\BBFeffSecbBB{
\item{\FeffSecb} Fefferman, C. and Seco, L.
``{\sl
Eigenvalues and Eigenfunctions of Ordinary Differential Operators
}''
To appear in {\sl Adv. Math.}
\vskip1em}

\def\FeffSecc{[FS3]}
\def\BBFeffSeccBB{
\item{\FeffSecc} Fefferman, C. and Seco, L.
``{\sl
The Eigenvalue Sum for a One--Dimensional Potential
}''
To appear in {\sl Adv. Math.}
\vskip1em}

\def\FeffSecd{[FS4]}
\def\BBFeffSecdBB{
\item{\FeffSecd} Fefferman, C. and Seco, L.
``{\sl
The Density in a One-Dimensional Potential
}''
To appear in {\sl Adv. Math.}
\vskip1em}

\def\FeffSece{[FS5]}
\def\BBFeffSeceBB{
\item{\FeffSece} Fefferman, C. and Seco, L.
``{\sl
The Eigenvalue Sum for a Three--Dimensional Radial Potential
}''
To appear in {\sl Adv. Math.}
\vskip1em}

\def\FeffSecf{[FS6]}
\def\BBFeffSecfBB{
\item{\FeffSecf} Fefferman, C. and Seco, L.
``{\sl
The Density in a Three--Dimensional Radial Potential
}''
To appear in {\sl Adv. Math.}
\vskip1em}

\def\FeffSecg{[FS7]}
\def\BBFeffSecgBB{
\item{\FeffSecg} Fefferman, C. and Seco, L.
``{\sl
On the Dirac and Schwinger Corrections to the Ground--State Energy
of an Atom
}''
To appear in {\sl Adv. Math.}
\vskip1em}



\def\Arnold{[Ar]}
\def\BBArnoldBB{
\item{\Arnold} Arnold, V.
``{\sl
Mathematical Methods of Classical Mechanics
}''
Springer.
\vskip1em}


\def\EKW{[EKW]}
\def\BBEKWBB{
 \item{\EKW}
Eckmann, J. P., Koch, H. and Wittwer, P.
``{\sl A computer Assisted Proof of Universality in Area Preserving
Maps}''
Memoirs, A.M.S., Vol 289 (1984).
\vskip1em}


\def\EckmannWittwer{[EW]}
\def\BBEckmannWittwerBB{
\item{\EckmannWittwer} Eckmann, J. P. and Wittwer, P.
``{\sl Computer Methods and Borel Summability Applied to Feigenbaum's
equation}''
Lecture Notes in Mathematics {\bf 227}, Springer Verlag (1985).
\vskip1em}

\def\FeffermanLlave{[FL]}
\def\BBFeffermanLlaveBB{
\item{\FeffermanLlave}
 Fefferman, C. and Llave, R., ``{\sl Relativistic Stability
of Matter, I\/}'', {Revista Mate{\-}m\'atica Ibero{\-}ameri\-cana} Vol {2}
no.1\&2, pp. 119-213 (1986)
\vskip1em}

\def\KaucherMiranker{[KM]}
\def\BBKaucherMirankerBB{
\item{\KaucherMiranker} Kaucher, E. W. and Miranker, W. L.,
``{\sl Self-validating Numerics for Function Space Problems\/}'',
{ Academic Press, New York (1984)}.
\vskip1em}

\def\LanfordLlave{[LL]}
\def\BBLanfordLlaveBB{
\item{\LanfordLlave}Lanford, O. and Llave, R. ``{\sl Solution of the Functional
Equation for Critical Circle Mappings with Golden Rotation Number}''
{\it In preparation}.
\vskip1em}

\def\Llave{[Ll]}
\def\BBLlaveBB{
\item{\Llave} Llave, R. ``{\sl Computer Assisted Bounds in Stability
of Matter}''
Computer Aided Proofs in
Analysis, IMA Series in Math. and Appl. Vol {\bf 28}. Cincinnati (1989).
Springer.
\vskip1em}


\def\Moore{[Mo]}
\def\BBMooreBB{
\item{\Moore} Moore, R. E., ``{\sl Methods and Applications
of Interval Analysis\/}'', \break
 S.I.A.M., Philadelphia (1979).
\vskip1em}

\def\Rana{[Ra]}
\def\BBRanaBB{
\item{\Rana} Rana , D., ``{\sl Proof of Accurate Upper and Lower
Bounds for Stability Domains in
Denominator Problems\/}'', Thesis, Princeton University (1987)
\vskip1em}

\def\Seco{[Se2]}
\def\BBSecoBB{
\item{\Seco} Seco, L., ``{\sl Computer Assisted Lower Bounds for
Atomic Energies\/}''
Computer Aided Proofs in
Analysis, IMA Series in Math. and Appl. Vol {\bf 28}, 241---251.
 Cincinnati (1989).
Springer.
\vskip1em}

\def\Lohner{[Lo]}
\def\BBLohnerBB{
\item{\Lohner} Lohner, R., ``{\sl Einschlie\ss ung der
L\"osung gew\"ohnlicher Anfangs-- und Rand\-wert\-auf\-gaben und
Anwendungen
\/}''
Dissertation, Universit\"at Karlsruhe (TH), 1988.
\vskip1em}

\def\BBIvriiBB{\refno{\Ivrii} Ivrii, V. ``{\sl Weyl's Asymptotics for the
Laplace--Beltrami Operator in Riemann Polyhedra}''
Dokl. A. N. SSSR {\bf 38}, 35 -- 38.
\vskip1em}

\def\BBSigalnBB{
\refno{\Sigaln .} Sigal, I. M. (1982) ``{\sl
Geometric Methods in the Quantum Many--Body Problem. Nonexistence of Very
Negative Ions
\/}''
Comm. Math. Phys. 85, 309--324.
\vskip1em}

\def\BBRuskaiBB{
\refno{\Ruskai .} Ruskai, M.B. (1982) ``{\sl
Absence of Discrete Spectrum in Highly Negative Ions\/}'' {\bf I \& II}
Comm. Math. Phys. 82, 457---469 and 85, 325---327.
\vskip1em}

\def\BBSolovejhfBB{
\refno{\Solovejhf .} Solovej, J.P. (1991) ``{\sl
Proof of the Ionization Conjecture in a Reduced Hartree--Fock Model\/}''
Inv. Math. 104, 291--311.
\vskip1em}

\def\HKSW{[HKSW]}
\def\BBHKSWBB{
\item{\HKSW} Helffer, B., Knauf, A.,  Siedentop, H., Weikard, R.
``{\sl
On the Absence  of a First--Order Correction for the Number of
Bound States of a Schr\" odinger Operator with Coulomb Singularity
\/}''
To appear in ``{\it Comm. P.D.E.}''
\vskip1em}

\def\secder{1}
\def\fa{2}
\def\tf{3}
\def\sdzero{4}
\def\sdtero{4}
\def\inv{5}
\def\sdone{4}

\def\sdlema{\secder.2}
\def\sdcorola{\secder.3}
\def\sdtha{6.1}
\def\sda{(\secder.3)}
\def\sdb{(\secder.5)}
\def\sdc{(\secder.2)}
\def\sdd{(\secder.4)}
\def\sde{(\secder.6)}
\def\sdf{(\secder.7)}
\def\sdg{(\secder.8)}

\def\faa{(\fa.1)}
\def\fab{(\fa.2)}
\def\fac{(\fa.3)}

\def\faaa{\fa.2}
\def\faala{\fa.3}
\def\falema{\fa.1}
\def\tfeq{(\tf.3)}
\def\tfa{(\tf.6)}
\def\tfb{(\tf.7)}
\def\tfc{(\tf.8)}
\def\tfd{(\tf.4)}
\def\tfe{(\tf.5)}
\def\tff{(\tf.2)}
\def\tfeqy{(\secder.1)}
\def\tfeqzero{(\tf.10)}
\def\tfg{(\tf.12)}
\def\tfh{(\tf.13)}
\def\tfj{(\tf.9)}
\def\tfala{\tf.1}
\def\tfalb{\tf.2}
\def\tfald{\tf.5}
\def\tfalc{\tf.3}
\def\tfale{\tf.6}
\def\tfalf{\tf.7}
\def\tfalg{\tf.8}
\def\tfalh{\tf.10}
\def\tfalj{\tf.11}
\def\tfalgi{\tf.12}
\def\tfalk{\tf.13}
\def\tfall{\tf.19}
\def\tfalm{\tf.16}
\def\tflema{\tf.14}
\def\tflemb{\tf.21}
\def\tflemxa{\tf.4}
\def\tflemxb{\tf.9}
\def\tflemxc{\tf.17}
\def\tfdefw{(\tf.1)}
\def\tfaldd{\tf.15}
\def\tfxa{(\tf.11)}
\def\tfxb{(\tf.15)}
\def\tfeqinf{(\tf.14)}
\def\sdonea{(\sdone.2)}
\def\sdxxa{(\sdone.1a)}
\def\sdxxb{(\sdone.1b)}
\def\sdxxc{(\sdone.1c)}
\def\invlema{\inv.1}
\def\invlemb{\inv.2}
\def\invalga{\inv.3}
\def\inva{(\inv.1)}
\def\invca{(\inv.2a)}
\def\invcb{(\inv.2b)}
\def\invcc{(\inv.2c)}
\def\invcd{(\inv.2d)}
\def\invce{(\inv.2e)}
\def\invxa{(\inv.5)}
\def\invxb{(\inv.4)}
\def\invxc{(\inv.3)}
\def\sdrt{\sdzero.6}
\def\sdeqa{(\sdzero.16)}
\def\sdeqb{(\sdzero.17)}
\def\sdzdefba{(\sdzero.13a)}
\def\sdzdefb{(\sdzero.13b)}
\def\sdza{(\sdzero.15)}
\def\sdzb{(\sdzero.19)}
\def\sdzc{(\sdzero.18)}
\def\sdzup{(\sdzero.14a)}
\def\sdzupp{(\sdzero.14b)}
\def\sdzfa{(\sdzero.21a)}
\def\sdzfb{(\sdzero.21b)}
\def\sdzg{(\sdzero.20)}
\def\sdzh{(\sdzero.23)}
\def\sdzalb{\sdzero.5}
\def\sdzlema{\sdzero.4}
\def\sdzconda{(\sdzero.22)}
\def\sdtrt{\sdtero.2}
\def\sdtdefb{(\sdtero.3)}
\def\sdta{(\sdtero.5)}
\def\sdtb{(\sdtero.10)}
\def\sdtc{(\sdtero.9)}
\def\sdtalb{\sdtero.3}
\def\sdtalc{\sdtero.1}
\def\sdteqa{(\sdtero.7)}
\def\sdteqb{(\sdtero.8)}
\def\sdtup{(\sdtero.4a)}
\def\sdtupp{(\sdtero.4b)}
\def\sdtconda{(\sdtero.11c)}
\def\sdtxxa{(\sdtero.12)}

\feffsectwo{Aperiodicity of the Hamiltonian Flow}{in the
Thomas--Fermi Potential}
\hfill \vtop{\hsize 200pt
    \obeylines
\medtype \it
\hfill``...que para sacar una verdad en limpio
\hfill menester son muchas pruebas y repruebas.''
\vskip10pt
\hfill\sl ``Don Quijote de la Mancha'', \bf M. de Cervantes.}
\vskip3em
In \FeffSeca\ we announced a precise asymptotic formula for the
ground--state  energy of a non--relativistic atom. The purpose of
this paper is to establish an elementary inequality that plays a crucial
role in our proof of that formula.
The inequality concerns the Thomas--Fermi potential
$V_{TF}(r)= -y(a r)/r$, 
%$a=(3\pi/2)^{\ffra 2,3}$ 
$a>0$,
where
$y(r)$ is defined as the solution of


$$\left.\eqalign{y''(x)&=x^{-\frac 1,2}y^{\frac 3,2}(x)\cr
y(0)&=1\cr
y(\infty)&=0\cr}\right\}\eqno\tfeqy$$
(Without loss of generality, in what follows we will take $a=1$.)

Define
$$F(\Omega)=F_y(\Omega)
=\int\bra{{y(x)\over x}-{\Omega^2\over x^2}}_+^{\frac 1,2}\,dx\qquad
\Omega\in \ooint 0,{\Omega_c}$$
where
$$\Omega_c^2=\sup_{r>0}u(r)=u(r_c)\qquad u(r)=ry(r)$$
The subscript for $F$ will be used whenever we want to emphasize the
dependence of $F$ on $y$.

\vskip1em
Then, $F(\Omega)$ depends smoothly on
$\Omega$ (\SiedentopWeikardLB), and our main result here is as follows:
\theorem{1.1}
$$F''(\Omega)\le c<0\qquad
\hbox{for all\ }
\Omega\in \ooint 0,{\Omega_c}\eqno\sdc$$
\endt

This is a quantitative form of the non--periodicity of almost all
zero--energy orbits for the Hamiltonian
$$H=|\xi|^2+V_{TF}(|x|)$$
on
$$\reals 6=\{(x,\xi)\mid x\in \reals 3\quad \xi\in \reals 3\}$$
In fact, an easy computation shows that a zero--energy orbit with angular
momentum $\Omega$ is periodic if and only if the derivative
$F'(\Omega)$ is a rational multiple of $\pi$ (see \Arnold.) Hence, Theorem~1.1
shows that closed zero--energy orbits arise for only countably many
$\Omega$.

\vskip1em
Theorem~1.1 will be used in our later papers (\FeffSece\ and \FeffSecf)
to control the density and eigenvalue sum arising from the
three dimensional Schr\"odinger operator
$$H_Z=-\lapl+Z^{\frac 4,3}V_{TF}\Bracket{Z^{\frac 1,3}|x|}$$
for large $Z$.

Aperiodicity of zero--energy Hamiltonian paths is well-known to play a crucial
role in the study of eigenvalues and eigenfunctions. In our setting,
Theorem~1.1 enters because our formulas for the eigenvalue sum and density
involve expressions of the form
$$S=\sum_{1\le l<Z^{\frac 1,3}\Omega_c}
\beta\bbracket{{Z^{\frac 1,3}\over\pi}F(Z^{-\frac 1,3}l)}$$
for elementary functions such as $\beta(t)= t-[t]-\oh$.
(Here $[t]$ is the greatest integer in $t$.) Since $\beta$ is
bounded, we obtain trivially the estimate $S=\bigo{Z^{\frac 1,3}}$.
If $F(\Omega)=\pi\mu\Omega+\nu$ with $\mu$ rational,
then the trivial estimate for $S$ is easily seen to be the best possible.
On the other hand, if $d^2F/d\Omega^2<c<0$, then one can prove that
the numbers
$$\phi_l=Z^{\frac 1,3}F(Z^{-\frac 1,3 }l)$$
are equidistributed modulo $\pi$. (The argument is close to
Hardy's estimates on the number of lattice points in a disc.)
Since $\beta(t)$ is periodic and has average zero, it follows that
$S=\bigo{Z^\gamma}$ with $\gamma<\fra 1,3$.

Thus, Theorem~1.1 allows us to improve on the trivial estimate for the sum $S$,
which appears in the eigenvalue sum and density for $H_Z$.
The complete proof of our results on atoms is contained in this
paper together with \FeffSecb,
\FeffSecc,
\FeffSecd,
\FeffSece,
\FeffSecf\ and
\FeffSecg.
\vskip1em

The proof of Theorem 1.1 is necessarily rather delicate.
For small perturbations of $V_{TF}$ in a natural topology, the
analog of Theorem~1.1 fails. Therefore, we have to make strong use of
the differential equation defining $y(r)$. Our proof uses
computer--assisted methods to solve that equation and to obtain
bounds for
$F''$. We remark, however, that without a computer it can also
be seen that  $F''$ vanishes at most finitely many times (Proposition~4.8
below; see also the recent independent proof in \HKSW), which
also implies that zero--energy periodic orbits have measure zero,
which in turn also implies the same results stated above for
sums $S$, and therefore our result for
atomic energies. Theorem~1.1, however,
is better because it implies better error terms for all those formulas.
Moreover, if one wants to understand ground--state energies to
a greater accuracy, then Theorem~1.1, with all its strength,
 is unavoidable.
\vskip1em
In what follows, our proofs will {\it not}
be computer--assisted unless
stated otherwise.
\vskip1em
It would be interesting to prove the aperiodicity of almost all
zero--energy Hamiltonian paths in the Thomas--Fermi potential for a
molecule.

\vskip1em

 The complete programs  used in our proof are
 publicly available by anonymous {\tt ftp }
 from the machine {\tt math.utexas.edu}
 (Internet number 128.83.133.215)
 This machine  also supports other  standard 
 methods of such as {\tt gopher} 
 and {\tt wais}. The interested parties should contact 
 their administrators about availability and usage of these 
 programs on their machine.
 The machine {\tt math.utexas.edu} has 
 a user called {\tt anonymous} whose password is the 
 e-mail address of the actual user. Our programs
 are stored in the directory {\tt /pub/papers/feffsec}.
 We refer the reader to the file {\tt README} there
 for instructions on how to download the programs.
 Each one of them has instructions on how to use them.
  
 More information  about how to interact with
 {\tt math.utexas.edu} is available from the 
 Mathematical Physics Preprint Archive. In particular,
 the user can obtain detailed instructions on 
 how to install the public domain programs 
 {\tt gopher} and {\tt wais}. Send e-mail to
 {\tt mp\_arc@math.utexas.edu} for details.
 
 We also remark that the American Mathematical
 Society maintains the {\tt e-math} account 
 in the machine {\tt e-math.ams.com}
 (Internet number 130.44.1.100). This account 
 includes a menu, one of whose entries is gopher.
 At the moment, the mp\_arc gopher connection is
 in the main menu.  Going through different 
 submenus, one can also reach the U.T. Math.
 gopher server. The user may find out other
 machines that provide public access to 
 Internet services.
  
\Title{1. Preliminaries.}

In this section we consider a smooth function $y$ that looks like the
Thomas--Fermi function. More precisely, let $u(x)=xy(x)$; then,
we assume the following holds;
{\itemize
\item{a.} $y>0$, $y(0)=1$ and $\lim_{x\to\infty}y(x)=0$.
\item{b.} There exists a point $r_c$ s.t. $u(x)<u(r_c)$ for
$x\ne r_c$, $u'(x)>0 $ for $0\le x\le r_c$, and
$u'(x)<0 $ for $r_c\le x$. Also, $u''(r_c)<0$.


}
\vskip1em

We will denote the two solutions of $u(r)=\Omega^2$ by $r_1(\Omega)<
r_2(\Omega)$. We start by giving convenient formulas for the
derivatives of $F$. We point out that similar formulas were given
in \SiedentopWeikardLB. One of the reasons we need formulas of
the kind stated below is to obtain expressions such as
\sdf\ and \sdg\ below. Also, we will see that in the case of
an analytic $y$,  not only is $F$ analytic on $\ooint 0,{\Omega_c}$,
but it admits an analytic extension beyond $\Omega_c$. However,
0 will be in general an essential singularity.
\lem{\sdlema}
Let $y$ be as above.
The following formulas hold:
$$\eqalignno{
F(\Omega)&=\int\bra{u(x)-\Omega^2}_+^{\frac 1,2}\,{dx\over x}\cr
F'(\Omega)&=-\Omega\int\bra{u(x)-\Omega^2}_+^{-\frac 1,2}\,{dx\over x}\cr
F''(\Omega)&= -\lim_{\delta\to 0}
\bra{\int_
{r_1(\Omega)+\delta}
^{r_2(\Omega)-\delta}
\bra{u(x)-\Omega^2}^{-\frac 3,2}y(x)\,dx
+c(\Omega)\delta^{-\frac 1,2}}\cr}$$
where $c(\Omega)$ is uniquely specified
by requiring the finiteness of the limit.

Moreover, if $b$ is any number less than $r_2(\Omega)$, then
$${d^2\over d\Omega^2}
\int_{r_1(\Omega)}^b\bra{u(x)-\Omega^2}_+^{\frac 1,2}\,{dx\over x}
$$ equals
$$
 -\lim_{\delta\to 0}
\bra{\int_
{r_1(\Omega)+\delta}
^{b}
\bra{u(x)-\Omega^2}^{-\frac 3,2}y(x)\,dx
+c_1(\Omega)\delta^{-\frac 1,2}}$$
again, for a constant $c_1$ that makes the limit finite.
The corresponding symmetric case also holds.
\proof
The first two formulas are trivial.
For the third, let
$$H(\delta,\Omega)=\Omega\int_{r_1(\Omega)+\delta}
^{r_2(\Omega)-\delta}\bra{u(r)-\Omega^2}^{-\frac 1,2}\>{dr\over r}$$

Note that the formula for $F''$ amounts to showing that
$${d\over d\Omega}\lim_{\delta\to 0}H(\delta,\Omega)=\lim_{\delta\to 0}
{d\over d\Omega}H(\delta,\Omega)\eqno\sda$$
Indeed, the left hand side equals $-F''$, whereas the right hand side
equals
$$\displaylines{
\quad\lim_{\delta\to 0}\Biggl\{
\Omega^2\int_{r_1(\Omega)+\delta}
^{r_2(\Omega)-\delta}\bra{u(r)-\Omega^2}^{-\frac 3,2}\>{dr\over r}
+\int_{r_1(\Omega)+\delta}
^{r_2(\Omega)-\delta}\bra{u(r)-\Omega^2}^{-\frac 1,2}\>{dr\over r}
\hfill\cr
\hfill +\Omega\Bracket{{\bra{u\bra{r_2-\delta}-u(r_2)}^{-\frac 1,2}\over
r_2-\delta}\>r'_2(\Omega)
-{\bra{u\bra{r_1+\delta}-u(r_1)}^{-\frac 1,2}\over
r_1+\delta}\>r_1'(\Omega)}\Biggr\}\quad\cr
\qquad\qquad=\lim_{\delta\to 0}\Biggl\{
\int_{r_1(\Omega)+\delta}
^{r_2(\Omega)-\delta}\bra{u(r)-\Omega^2}^{-\frac 3,2}u(r)\>{dr\over r}
\hfill
\cr\hfill -\Omega\sum_{i=1,2}{|u'(r_i)|^{-\frac 1,2}
|r'_i(\Omega)|\delta^{-\frac 1,2}(1+\bigo\delta)\over
r_i(\Omega)}\Biggr\}\qquad\cr}$$

which agrees with the formula asserted for $-F''$, provided that this
previous
expression for $c(\Omega)$
$$
c(\Omega)=-\Omega\sum_{i=1,2}{|u'(r_i)|^{-\frac 1,2}
|r'_i(\Omega)|\over
r_i(\Omega)}$$
actually makes the limit above finite.
\vskip1em
Therefore, the lemma will follow if we show that both
$H(\delta,\Omega)$ and ${\partial\over \partial\Omega}H(\delta,
\Omega)$ converge uniformly on compact subsets of $\ooint 0,{\Omega_c}$ to
$C^1$ functions.  This will imply, first, that we can interchange limits
in  \sda, and, second, that the expression for $c(\Omega)$ above is the
right one.
\vskip1em

In order to see this, consider the change of variables
given by
$$t(r)=\cases{\bra{\Omega_c^2-u(r)}^{\frac 1,2}&if $r\ge r_c$\cr
-\bra{\Omega_c^2-u(r)}^{\frac 1,2}&if $r\le r_c$\cr}\eqno\sdd$$
Note that $t$ is smooth and strictly increasing in the range $\ooint 0,\infty$.
We can therefore consider its inverse, $r(t)$, and use it to rewrite
$$H(\delta,\Omega)=\Omega\int_{t_1(\delta,\Omega)}^{t_2(\delta,\Omega)}\bra{D^2
-t^2}^{-\frac 1,2}w(t)
\,dt$$
where
$$t_1=t(r_1+\delta)\qquad
t_2=t(r_2-\delta)
 \qquad D^2=\Omega_c^2-\Omega^2\qquad w(t)={r'(t)
\over r(t)}$$
Note that $w$ is smooth on $\ooint 0,{\Omega_c}$, and that
$$t_1=-D\bra{1+\tau_1(\delta)}
\qquad t_2=D\bra{1+\tau_2\bra{\delta}}
\qquad c\delta\le|\tau_i|\le C\delta\quad{\rm\ for\ }i=1,2
\eqno\sdb$$
uniformly on compact subsets of $\ooint 0,{\Omega_c}$, which implies
that
$$H(\delta,\Omega)=\Omega\int_{D^{-1}t_1}^{D^{-1}t_2}\bra{1-t^2}^{-\frac 1,2}
w(tD)
\,dt$$
converges uniformly to the $C^1$ function
$$H(0,\Omega)=\Omega\int_{-1}^{1}\bra{1-t^2}^{-\frac 1,2}
 w(tD)
\,dt=-F'(\Omega).\eqno\sde$$

As for ${d\over d\Omega}H(\delta,\Omega)$,
$${d\over d\Omega}H(\delta,\Omega)=\int_{D^{-1}t_1}^{D^{-1}t_2}
(1-t^2)^{-\frac 1,2}
{\partial\over \partial\Omega}\bbracket{\Omega w(tD)}
\,dt+\Omega \sum_{i=1,2}G_i(\delta,\Omega)$$
with
$$
G_i(\delta,\Omega)=\pm\bra{1-D^{-2}t_i^2}^{-\frac 1,2}w(t_i){\partial
\over \partial\Omega}\bra{D^{-1}t_i}$$
The first term above converges with $\delta$ to the smooth function
$$
\int_{-1}^{1}
(1-t^2)^{-\frac 1,2}
{\partial\over \partial\Omega}\bbracket{\Omega w(tD)}
\,dt$$
uniformly on compact subsets of $\ooint 0,{\Omega_c}$.
Thus, the lemma will follow if we prove that
$G_i$ goes to zero with $\delta$ uniformly in $\Omega$.
By \sdb, this will in turn follow if we prove that
$${\partial
\over \partial\Omega}\bra{D^{-1}t_i}=\bigo\delta$$
By \sdb\ again, it is enough to prove that
$${\partial
\over \partial\Omega}\bra{D^{-1}t_i}^2=\bigo\delta$$
But, for $i=1$,
$$\eqalignno{
{\partial
\over \partial\Omega}\bra{D^{-1}t_1}^2&=
{\partial
\over \partial\Omega}\bra{{u(r_1+\delta)-\Omega_c^2\over
u(r_1)-\Omega_c^2}}\cr
&=
{\bra{u(r_1)-\Omega_c^2}u'(r_1+\delta)r_1'(\Omega)-
\bra{u(r_1+\delta)-\Omega_c^2}u'(r_1)r_1'(\Omega)
\over\bra{ u(r_1)-\Omega_c^2}^2}\cr
&=
{r_1'(\Omega)\over\bra{ u(r_1)-\Omega_c^2}^2}\cdot\cr
&\qquad\cdot
\Bracket{\bra{u(r_1)u'(r_1+\delta)-
u(r_1+\delta)u'(r_1)}-\Omega_c^2
\bra{u'(r_1+\delta)-
u'(r_1)}}\cr}$$
The first factor above is trivial. The other is clearly bounded by $C\delta$,
and, doing the same for $i=2$,  the lemma follows.
\vskip1em
The last remark in the statement of the lemma follows
in exactly the same way, with the only modification that one of the $G_i$
is in fact constant in $\delta$, which of course does not affect
the uniform approach to a $C^1$ function.
\endpf


A closer look at \sde\ yields the following remark:

\corol{\sdcorola}
Define $w(t)$ as in the proof of the previous lemma.
Then
$$
-F''(\Omega)
= \int_{-1}^{1}
(1-t^2)^{-\frac 1,2}
{\partial\over \partial\Omega}\bbracket{\Omega w(tD)}
\,dt$$
In particular, if $y\in C^{k}\ooint 0,\infty$, then
 $F_y\in C^{k-1}\ooint 0,{\Omega_c}$, $k\ge 2$.
Also, if $y$ is analytic
$F(\Omega)$ admits an analytic extension to a complex neighborhood of
$\ocint 0,{\Omega_c}$.
\proof
If $y\in C^k$, the same is true for $u$. Therefore,
$t\in C^{k-1}$, thus $r\in C^{k-1}\ooint -\Omega_c,{\Omega_c}$ and
$r(t)\ne 0$, which implies
$w\in C^{k-2}\ooint -\Omega_c,{\Omega_c}$, and, by (1.6), $F'\in C^{k-2}$.
\vskip1em
In the case of an analytic $y$,
since $w$ is analytic in some neighborhood around 0, it admits
a convergent power series expansion
$$w(t)=\sum_{n=0}^\infty w_nt^n\qquad t<t_0\eqno\sdf$$
This implies
$$-F'(\Omega)=\Omega\sum_{n=0}^\infty w_{2n}D^{2n}
\int_{-1}^1(1-t^2)^{-\frac 1,2}t^{2n}\,dt\eqno\sdg$$
since the odd terms clearly yield an integral 0, and thus drop out
of the sum. This, in particular shows that $F$ can be defined as an
analytic function
around $\Omega_c$.  Since, by \sde, $F$ is analytic also in
$\ooint 0,{\Omega_c}$, the corollary follows.
\endpf


We will see later (Proposition~4.8) that
the limit
$$\lim_{\Omega\to 0} F''(\Omega)\Omega^{\gamma}
\qquad \gamma = {9-\sqrt{73}\over 2}>0$$
exists, is finite and not zero.
This shows, in particular, that
$F$ has an essential
singularity at $0$ and that $F$ is not a linear
function.
\vskip2em
The proof of \sdc\ will now go as follows:

We make an initial division of $\ooint 0,{\Omega_c}$ into
two intervals $\ooint 0,{\bar\Omega}$ and $\ccint \bar\Omega,
{\Omega_c}$, that we will refer to as Zone I and Zone II,
respectively.
In Zone I, we will use the formula in Lemma \sdlema\
to prove \sdc\
uniformly on very little subintervals of
$\ooint 0,{\bar\Omega}$. We will deal with this in Section~\sdone.

Then, formula \sdg\ will allow us to show \sdc\ uniformly on
Zone II, as explained in Section \inv.
\vskip1em
Our proof will rely on a very precise knowledge of the
solution to the Thomas--Fermi equation. For this, we will
use computer assisted techniques. The next section
deals with a
description of how the computer will be used to yield
theorems.




\title{Acknowledgments} We wish to express our deepest gratitude
 to R. de la Llave: in addition to stimulating conversations,
he taught us
everything we know  about computer--assisted
proofs, gave us useful advice concerning the presentation
of the paper, and went through the excruciating pain
of checking our computer programs.
We are also grateful to D. Rana
for providing us with his interval arithmetic package.
Finally, we thank the Department of Mathematics of the University of
Texas at Austin for their help with the electronic distribution
of the computer programs.

\Title{\fa. Computer--Assisted Analysis}


\vskip1em
Let ${\cal R}$ be the set of ``representable numbers'' in a computer,
that is those numbers that the computer can represent exactly.
Depending on the specific machine, they are usually real numbers with
some finite binary expansion.
\vskip1em

It is well known that computers can only perform arithmetic in an
approximate way: the addition ---for example--- of two representable
numbers is another representable number that will probably be close to
the true sum, but is not exactly the true sum.
\vskip1em
The idea to perform rigorous arithmetic is to instruct the computer
on how to produce upper and lower bounds to the true results of
arithmetic operations between representable numbers; in other words,
we work with intervals with endpoints in ${\cal R}$, and we implement
arithmetic operations on intervals in such a way that given two
intervals, the computer will produce a third that is guaranteed to
contain the result of all arithmetic operations between points in the
initial intervals. This is usually called ``interval arithmetic''.

We denote the set of all these intervals by ${\cal I}$.
Also, given a real function $f(x)$, we denote
$$f(I)=\{f(x)\mid x\in I\}\qquad I\in{\cal I}$$
Binary functions of intervals are defined accordingly. In particular,
a statement like $I_1>I_2$ means that $x>y$ for all pairs
$(x,y)$, $x\in I_1$,
$y\in I_2$. Also, given $I=\ccint a,b$
and $\epsilon\ge 0$,
we introduce the shorthand notation $I\pm \epsilon$
to denote an interval containing $\ccint a-\epsilon,{b+\epsilon}$.
We also point out, although it really is redundant,
that in what follows,  finite decimal
expressions for numbers represent the rational numbers
with exactly those decimal expansions.
\vskip1em

The next step is to perform a similar kind of arithmetic, but
where objects are functions in some Banach space, not numbers.
A convenient Banach space to use  in this theory is the space of piecewise
analytic functions, with a lower bound on the size of the domains of
analyticity.
\vskip1em
Occasionally, it will be convenient to switch to genuine
real variable theory, for which we will do our work on $C^0\ccint -1,1$.
The reason for this is that inversion of functions in $\reals 1$
is a little easier
than the complex counterpart, mainly because the domain of definition
problem is trivial in the real case. We remark though, that the
use of $C^0$ is not essential, and the same analysis could
be carried over to $H^1$ with a little more work.

\vskip2em
More precisely, consider the Banach Algebras
$$H^1=\left\{f(z)\>\mid\> f(z)=\sum_{n=0}^\infty a_n\,z^n,\quad \sum_{n=0}^\infty
|a_n|<\infty\right\}$$
and
$$C^0=\left\{f(x)\>\mid\> f{\rm\ is\ continuous\ on\ }\ccint -1,1\right\}$$
with norms
$$\lnorm{f}_1=\sum_{n=0}^\infty \abs{a_n}\qquad \lnorm f_\infty=\sup|f(x)|$$
respectively.


$H^1$ is a subspace of the set of analytic functions in the unit
disk.

Then, our substitute for intervals are
 sets
${\cal U}^1(\vsz I,N;C_h,C_g;k)$
of the form

$$
\biggl\{f(z)=\sum_{n=0}^\infty a_n\,z^n+z^kg(z)\>\biggl| \>
a_n\in I_n,\quad  0\le n\le N,
\sum_{n=N+1}^\infty \abs{a_n}\le C_h
\>,\>\lnorm g_1\le C_g\biggr\}\eqno\faa$$

where $C_h$ and $C_g$ are  positive real numbers and $I_n$ are intervals
in the real line. The parameter $k$ will generally be problem--dependent
and fixed. For the computer implementation, $C_h$ and $C_g$ will run over
the set of computer--representable numbers, and the intervals
will be those with representable endpoints.
We refer to $C_h$ and $C_g$ as high and general order error terms
respectively,
for obvious reasons.
If intervals have nonempty interior and $C_h>0$, or if $k=0$ and
$C_g>0$, then
these sets are in fact a neighborhood basis for the topology
induced by $\lnorm{\ }_1$. For this reason, we will refer to
these ${\cal U}$ as ``neighborhoods'', even if in general they
will not be. We will refer to them as neighborhoods of {\bf type} $k$
whenever we want to emphasize the integer $k$ in definition
\faa. If $C_g=0$, we refer to them as type $\infty$.
In general, ${\cal U}(k)$ means that ${\cal U}$ is a neighborhood of type $k$.
Also, we will refer to them as being of {\bf order} $N$ to
indicate that they consist of $N+1$ intervals.
In our implementation, $N$ will not be fixed, but
chosen adaptatively during
the execution of the programs.

\vskip1em

The reason why this is a convenient space to work in
is because elementary operations, such as addition, product,
integration, differentiation (composed with a slightly contracting
dilation), evaluation at a point and integration of initial value
problems in ordinary differential equations
can be conveniently bounded by elementary formulas in terms
of this set of neighborhoods.

By trivial scaling, we will be able to do analysis on
$$H^1(|z-z_0|\le r)=
\left\{f(z)\>\mid\> f(z)=\sum_{n=0}^\infty a_n\,\bra{z-z_0\over r}^n,\quad \sum_{n=0}^\infty
|a_n|<\infty\right\}$$
a subspace of the set of analytic functions  on the disk of center $z_0$ and radius $r$.
\vskip2em
As for $C^0$, we will
use sets (that we will also refer to as ``neighborhoods'') of the type:
$$\displaylines{\quad
{\cal U}^0(\vsz I,N;C_h,C_g;k;S) = \biggl\{f(z)=\sum_{n=0}^N a_n\,z^n + z^{N+1}h(z) + z^kg(z)
\>\biggl| \>
\hfill\cr \hfill
a_n\in I_n,\quad  0\le n\le N,
\qquad\sup_{z\in S}\abs{h(z)}\le C_h\>,\> \sup_{z\in S}
\abs{g(z)}\le C_g
\biggr\}\qquad\qquad\llap\fab}$$
where $S$ is a subset of $\ccint -1,1$, and $h$ and $g$ are continuous functions on $S$.

We will use the superscript 0 or 1 whenever we want to emphasize
in which topology we are taking these ``neighborhoods''.

Note the natural inclusion
$${\cal U}^1(\vsz I,N;C_h,C_g;k)\subset
{\cal U}^0(\vsz I,N;C_h,C_g;k;S)$$
for any $S\subset\ccint -1,1$.

These sets of neighborhoods ${\cal U}^0(k)$ will not allow us to perform as many operations
as their smaller brothers the ${\cal U}^1(k)$, but we can still
add, multiply,  raise to fractional powers
and integrate (among others) in terms of them; furthermore,
the formulas for these neighborhood operations are exactly the same as those
for the ${\cal U}^1(k)$.
\vskip1em
We illustrate this neighborhood analysis
 describing how we can raise neighborhoods to
real powers. At this point, we make the following remark concerning
our use and description of algorithms:

Algorithms describe a procedure that, if successful,
will allow us to construct (usually upper and lower bounds for)
certain numbers. When we describe these algorithms, we will
state under which conditions they {\it fail}; a failure means
that the procedure is stopped, an error reported, and
no theorem proved. Obviously, if during the description of an algorithm,
we use another algorithm, a failure in the execution of the latter
implies also a failure of the former algorithm.

\lem{\falema}
Let $0<r<1$. Then
$$\sup_{n\ge N}\bra{n r^n}\le\cases{Nr^{N} & if $N\ge {1\over \abs{\log r}}$\cr
{1\over e\abs{\log r}} & otherwise\cr}$$
\proof
The function $xr^x$ attains its maximum when $x=\abs{\log r}^{-1}$.
\endpf
\lem{\faaa}
Consider, in any commutative
Banach Algebra,  the operators
$$T^\alpha(y)=(1+y)^\alpha$$
acting on $\lnorm y\le r<1$. Then, we have
$$\eqalign{
\lnorm{T^\alpha(y)}&\le
K_{\faaa}(\alpha,\lnorm{y})
\cr
\lipnorm{T^\alpha}&\le
C_{\faaa}(\alpha,r) \cr }$$
where
$$\eqalign{
K_{\faaa}(\alpha,\lnorm{y})&\eqbydef
\cases{
\displaystyle
\min\bra{(1-\lnorm y)^{-|\alpha|}\> , \>
1+|\alpha|{\lnorm y\over 1-\lnorm{y}}}
&  $-1\le\alpha\le 2$\cr
{\vbox{\vskip1em}}
\cr
\displaystyle
(1-\lnorm y)^{-|\alpha|}
& otherwise\cr}
\cr
\vbox{\vskip2em}
\cr
C_{\faaa}(\alpha,r)
&\eqbydef
\cases{
\displaystyle
\min\bra{
|\alpha|+r{|\alpha|\,|\alpha-1|\over
(1-r)^2}\> , \>
|\alpha|(1-r)^{-|\alpha-1|}}
&  $-1\le\alpha\le 2$\cr
\vbox{\vskip1em}
\cr
\displaystyle
|\alpha|(1-r)^{-|\alpha-1|}
& otherwise\cr}
\cr
}$$


\proof
First, if $-1\le\alpha\le 2$ and $\norm {y_1}$, $\norm {y_2}\le r$,
$$(1+y_1)^\alpha-(1+y_2)^\alpha=\sum_{n=1}^\infty{\alpha\choose n}
\bra{y_1^n-y_2^n}$$
Now,
$$
y_1^n-y_2^n = (y_1-y_2)\sum_{k=0}^{n-1}y_1^ky_2^{n-1-k}$$
and
$$\lnorm{\sum_{k=0}^{n-1}y_1^ky_2^{n-1-k}}\le nr^{n-1}$$

Since $2\ge\alpha\ge -1$,
$\abs{\alpha\choose n}$ is a decreasing sequence in $n$, for
$n\ge 1$. Therefore,
$$\eqalignno{
{\lnorm{T(y_1)-T(y_2)}\over\lnorm{y_1-y_2}}&\le
\sum_{n=1}^\infty\abs{\alpha\choose n}nr^{n-1}\cr
&\le |\alpha|+
r{|\alpha|\,|\alpha-1|\over
(1-r)^2}\cr}$$
\vskip1em
On the other hand, for $\alpha$ in the same range,
$$\eqalignno{\lnorm{T(y)}&\le\sum_{n=0}^\infty \abs{{\alpha\choose n}}
\lnorm y^n\cr
&\le
1+\abs{\alpha}{\lnorm y\over 1-\lnorm y}
\cr}$$

\vskip1em
Now, for general $\alpha$, and $\norm {y_1}$, $\norm{y_2}\le r$, note
 that
$$\lnorm{e^y}\le e^{\lnorm{y}}$$
and
$$\lnorm{\log (1+y)}\le -\log (1-\lnorm{y})$$
Therefore,
$$\lnorm{T^\alpha(y)}=\lnorm{e^{\alpha \log(1+y)}}
\le (1-\lnorm{y})^{-|\alpha|}$$
and
$$\eqalignno{
\lnorm{T^\alpha(y_1)-T^\alpha(y_2)}&=
\abs{\alpha}\lnorm{(y_1-y_2)\int_0^1T^{\alpha-1}\bracket{
ty_1+(1-t)y_2}\,dt}\cr
&\le \abs{\alpha}\lnorm{y_1-y_2}
(1-r)^{-|\alpha-1|}
&\mathendpf
\cr}$$

\algorithm{\faala}
Given a neighborhood ${\cal U}(\vsz I,N;C_h,C_g;k)$
satisfying

{\itemize

\item{1.} $I_0>0$.
\item{2.} $|I_0|> \sum_{n>0}|I_n|+C_h+C_g$.
\item{3.} if $\alpha>2$, then $2N>\alpha-1$.


}
\vskip1em
we construct another, $\tilde{\cal U}(k)$, such that, if $f\in{\cal U}$
then $f^\alpha\in\tilde{\cal U}(k)$.

The algorithm is independent of $k$, and of whether the neighborhoods
are in $H^1$ or $C^0$.

If $C_g=0$ for ${\cal U}$, then the same is true for
$\tilde {\cal U}$.

\description
Assume first that $\alpha \ge -1$.

Let $f\in{\cal U}$. Put $\tilde f=\bracket{f(0)}^{-1}\cdot f$,
so $\tilde f=1+y(z)+z^kg(z)$, where
$y(z)=z\tilde y(z)$,
$$1+y(z)\in{\cal U}(\vsz {I'},N;C'_h,0;0)\eqno\fac$$
for $I'_i=f(0)^{-1}\cdot I_i$, $C'_h=f(0)^{-1}\cdot C_h$,
and $\lnorm g\le C_g/f(0)$. Bounds for all this can be computed easily since
we know that $f(0)\in I_0$.

Now,
$$\bracket{1+y(z)}^\alpha=\sum_{n=0}^N{\alpha\choose n}y(z)^n+h(z)$$
where $h(z)=z^{N+1}\tilde h(z)$. In the $H^1$ topology, $\norm h_1
 =\norm {\tilde h}_1$, and
$$\eqalignno{
\norm{\tilde h}_1&\le\sum_{n>N}\abs{{\alpha \choose
 n}}\lnorm{y}_1^n\cr
&
\le\abs{{\alpha\choose N+1}}{r^{N+1}\over 1-r}\cr}$$
 for
 $$r=\sum_{i=1}^N\abs{I'_i}+C'_h$$
where we have used condition 3. in the statement of the
algorithm. In the $C^0$ topology,
$$\eqalignno{
\abs{\tilde h(z)}&\le\sum_{n>N}\abs{{\alpha \choose
 n}}\abs{{y(z)\over z}}^n\cr
 &\le
\abs{{\alpha\choose N+1}}{r^{N+1}\over 1-r}\cr}$$
 for
 $$r=\sum_{i=1}^N\abs{I'_i}+C'_h.$$
 As a result of this, the computation of $\norm{\tilde h}$ is done in
 exactly the same way whether we are in the $C^0$ or $H^1$ topologies.

Concerning the computation of the factor ${1\over 1-r}$, it is done as follows:
we first check that $r\in\ooint 0,1$ the check for $r>0$
being unnecessary, harmless but convenient; then, we compute an upper bound for
${1\over 1-r}$ with our interval
arithmetic package, 
knowing that an overflow will be reported and the program terminated 
if we cannot find such
upper bound with machine--numbers.

Also,
$$(1+y(z))^\alpha-\bra{\tilde f(z)}^\alpha=\bigo{ z^k}$$
which implies that general errors are of type $k$. In the
case that we are in $H^1$, since
multiplication by $z$ is an isomorphism,
by Lemma~\faaa, we see that general errors are bounded by
$$\lnorm{(1+y(z))^\alpha-{\tilde f(z)}^{\alpha}}\le \lnorm{g}
C_{\faaa}(\alpha,\lnorm{y}+\lnorm{g})$$

If, however, we are in $C^0$,
apply Lemma 2.2 to
$(\reals 1$,$+$,$\cdot)$, to get
$$\eqalignno{
\abs{\bra{1+y(z)}^\alpha-{\tilde f(z)}^\alpha}
&\le
\abs{1+y(z)-\tilde f(z)}\cdot C_{2.2}\bra{\alpha,
\lnorm g_\infty+\lnorm y_\infty}
\cr
&\le
|z^k|\cdot\lnorm{g}_\infty
\cdot C_{2.2}\bra{\alpha,\lnorm g_\infty+\lnorm y_\infty}
\cr}$$
since $\abs{y(z)}$, $|\tilde f(z)-1|\le \lnorm{g}_\infty+\lnorm y_\infty$
and $C_{2.2}(\alpha,t)$ is increasing in $t$.
\vskip1em

Therefore, say that
$$\sum_{n=0}^N{\alpha \choose n}y(z)^n\in{\cal U}_1(\vsz \tilde I,N;
{\tilde C_h},0;\infty)$$
by \fac.
Then,
$$\bra{\tilde f}^{\alpha}\in{\cal U}(\vsz \tilde I,N;
\tilde{\tilde C_h},\tilde{\tilde C_g};k)$$
with
$$\tilde{\tilde C_h}=\tilde C_h+
\abs{{\alpha\choose N+1}}{r^{N+1}\over 1-r}$$
and
$$\tilde{\tilde C_g}=
f(0)^{-1}C_g\cdot C_{\faaa}\bra{\alpha,\lnorm{y}+C_gf(0)^{-1}}$$

and
$$f^\alpha\in f(0)^\alpha\cdot {\cal U}(\vsz \tilde I,N; \tilde{\tilde C_h}
,\tilde{\tilde C_g}; k)$$


\vskip1em
In the case $\alpha< -1$, we can find
an integer $k$ such that
$2^{-k}\alpha\ge -1$. Then, we can
find a neighborhood containing $f^{2^{-k}\alpha}$. By ordinary multiplication
we can thus construct a neighborhood containing
$f^{\alpha}=\bra{f^{2^{-k}\alpha}}^{2^{k}}$.
\endpf

Although computer--assisted analysis has become fairly
standard, we refer the reader to \Moore\ and
\KaucherMiranker \ for a description of the basic ideas.
The technique for solving ODE's is adapted from \Seco\ and
\thesis, and is tailored to handle our particular ODE.
See \Lohner\ for a thorough
discussion on ODE solving techniques, with very good general
algorithms.
Also, we refer the reader to \EKW, \EckmannWittwer, \FeffermanLlave,
\LanfordLlave, \Llave\ and \Rana\ for a sample
of computer--assisted proofs of a wide variety of problems. Main
ideas in our approach go back to those proofs.
\vskip1em
Our interval arithmetic package is an adaptation of the one
used in \thesis\ and \Seco, which in turn is an adaptation of the
one developed by D. Rana. See \Rana\ and \thesis\ for details
on the software.






\Title{\tf. The Thomas--Fermi Equation}
In this section we will be concerned with the problem of
getting good bounds for the solution of the Thomas--Fermi
equation \tfeqy.

It is well known (\Hille) that
$$-w_0=\lim_{r\to 0}y'(r)<0\eqno\tfdefw$$
exists, and that $y$
admits a power series expansion
$$y(r)=144 r^{-3}\Bracket{\sum_{n=0}^\infty b_nr^{-n\alpha}}\eqno\tff$$
convergent for $r$ large enough, with $b_0=1$, $b_1<0$
 and $\alpha=\oh(\sqrt{73}-7)$.
\vskip1em
Also, $y$ is always positive, decreasing, and it is the only such
solution of the ODE satisfying \tfdefw\ and \tff.

\title{The Initial Value Problem away from the Singularities.}

In this section we will be concerned with the solution to the
Initial Value Problem

$$\left.\eqalign{u''(x)&=x^{-\frac 1,2}u^{\frac 3,2}(x)\cr
u(x_0)&=u_0\cr
u'(x_0)&=u_1\cr}\right\}\eqno\tfeq$$
for $x_0, u_0>0$

The solution to this problem will be in terms of a function
$f\in H^1$ satisfying
$$u(x)=u_0+u_1\cdot r\cdot z+z^2f(z)$$
where $z=(x-x_0)/r$ and $r$ is a small positive representable number (in particular,
$r<x_0$).

Note that the solution of \tfeq\ can be viewed as the fixed
point of
$$T(u)=u_0+\int_{x_0}^x\bra{u_1+\int_{x_0}^t{u^{\frac 3,2}(s)
\over s^{\frac 1,2}}\>ds}\>dt$$
and that $T$ induces in a trivial way
an operator $\tilde T$ of which $f$ is its
fixed point.
\vskip1em
Throughout this section, we will do our work on $H^1$, and
$\lnorm\,$ will always denote $\lnorm\,_1$.


\algorithm{\tfala}
We deduce conditions on $u_0$, $u_1$, $x_0$, $r$ and $\alpha$
under which
$\tilde T$ is a well--defined contraction in $B(0,\alpha)\subset
H^1$, and we compute
an upper bound for $\lipnorm {\tilde T}$.

\description
Let $g=\sum a_nz^n$.
Consider the operators
$$\eqalign{
T_1(f)&=r\,u_1\,z+z^2f(z)\cr
T_2(g)&=\bra{u_0+g(z)}^{\frac 3,2}\cr
T_3(g)&=(rz+x_0)^{-\frac 1,2}\cdot g\cr
T_4(g)&=r^2\sum_{n\ge 0}{a_nz^{n}\over (n+1)(n+2)}\cr}\eqno
\tfd$$

It is clear that
$$T(u)=u_0+ru_1z+z^2\,(T_4\circ T_3\circ T_2\circ T_1)(f)\eqno\tfe$$
and thus, $\tilde T=
T_4\circ T_3\circ T_2\circ T_1$.

Now, $T_1$ is affine with an isometry as the linear part, and
$$\lipnorm{T_4}\le \oh r^2\eqno\tfa$$

Using Lemma \faaa, and putting $\beta=r/x_0$, we can see that
$$\eqalignno{
\lipnorm{T_3}&\le \lnorm{(rz+x_0)^{-\frac 1,2}}_1\cr
&\le
x_0^{-\frac 1,2}K_{\faaa}(-\oh,\beta)
&\tfb\cr}$$

Here we assume $\beta<1$, otherwise we say the algorithm fails.

For $T_2$, we have
$$\lipnorm{T_2}\le
u_0^{\frac 1,2}
C_{\faaa}(\fra 3,2,\gamma)\eqno\tfc$$
whenever
$$\gamma\ge u_0^{-1}\sup_{\lnorm f\le \alpha}\lnorm{T_1(f)}
$$
Since
$$ u_0^{-1}\sup_{\lnorm f\le \alpha}\lnorm{T_1(f)}
\le{r|u_1|+\alpha\over u_0}
\eqbydef \gamma_0$$

we have
$$\lipnorm{\tilde T}\le \oh r^2
x_0^{-\frac 1,2}
u_0^{\frac 1,2}
K_{\faaa}(-\oh,\beta)
C_{\faaa}(\fra 3,2,\gamma_0)\eqno\tfj$$

Also, here we assume $\gamma_0<1$, or else the algorithm fails.

\vskip1em
Next, we need to show that $\tilde T$ maps $B(0,\alpha)$ into itself.
In order to do this, note that
$\lnorm{T_4(g)}\le\oh r^2\lnorm{g}$, which implies
$$\eqalignno{
\lnorm{\tilde T(0)}&\le
\oh r^2\lnorm{(rz+x_0)^{-\frac 1,2}}\cdot\lnorm{(u_0+ru_1z)^{\frac 3,2}}
\cr
&\le \oh r^2
x_0^{-\frac 1,2}
u_0^{\frac 3,2}
K_{\faaa}(-\oh,\beta)
K_{\faaa}\bra{\fra 3,2,{r|u_1|\over u_0}}\cr}$$

Note that our assumption on $\gamma_0$ guarantees that
the last term above is well--defined.

Then, since
$$\lnorm{\tilde T(f)}\le \lnorm{\tilde T(0)}+\alpha\lipnorm{\tilde T}$$
we see that $\tilde T$ maps $B(0,\alpha)$ into itself provided
$$\oh r^2
x_0^{-\frac 1,2}
u_0^{\frac 3,2}
K_{\faaa}(-\oh,\beta)
K_{\faaa}\bra{\fra 3,2,{r|u_1|\over u_0}}
\le \alpha\bra{1-L}$$
whenever $L$ is an upper bound for $\lipnorm{\tilde T}$.
The algorithm also reports a failure if
the upper bound $L$ obtained using (3.9) is not strictly less than 1.
\endpf

Note that if the previous conditions are satisfied, we also know that
the solution $u$ is strictly positive on $\ccint x_0-r,{x_0+r}$.
Also, we know that it is defined as an analytic function on
$|z-x_0|<r$.


\algorithm{\tfalb} Given intervals $x^\ast$, $u_0^\ast$ and
$u_1^\ast$, and representable
$r$, we construct a neighborhood
${\cal U}(\vsz I,N;0,C_g;0)$ such that for any $x_0\in x^\ast$,
$u_0\in u_0^\ast$,
and $u_1\in u_1^\ast$,
and any solution $u$ of \tfeq\ with any of these initial
conditions, we have
$$u(x)=u_0+u_1\cdot(x-x_0) + z^2f(z)\qquad z={x-x_0\over r}$$
for some $f\in{\cal U}$.

We can also make that neighborhood to have the form
${\cal U}(\vsz I,N;C_h, 0;\infty)$.
\description
First, we construct, in a heuristic way, a polynomial
$$p(z)=
\sum_0^Np_iz^i$$
which approximately solves $\tilde Tp=p$,
and we set $\alpha$ such that $\lnorm p\le\alpha$. Next, we look
for $\alpha_0\ge\alpha$ such that
the conditions on $x_0$, $u_0$, $u_1$, $r$ and $\alpha_0$ given
by Algorithm~\tfala\ hold uniformly for all
$x_0\in x^\ast$,
$u_0\in u_0^\ast$
and $u_1\in u_1^\ast$.


Next, since $f$ is the fixed point of $\tilde T$,
we have
$$\lnorm{p-f}\le{\lnorm{p-\tilde Tp}\over 1-\lipnorm{\tilde T}}
$$
Now, formulas \tfd\ and \tfe\ allow us to compute an upper bound for
the numerator, Algorithm \tfala\ allows us to compute a lower
bound
for the denominator, and we set $C_g$ to be the resulting upper bound
for the ratio. This immediately yields the required ${\cal U}$,
by putting $I_i=\ccint p_i,{p_i}$ for $i=0,\ldots,N$.

\vskip1em
In order to obtain neighborhoods of type $\infty$, note that
by power matching, for a given $i$,
 we can produce an interval  $I_i$ that contains any
of the $i$'th Taylor coefficient for any of the solutions
to the ODE for all
$x_0\in x^\ast$,
$u_0\in u_0^\ast$
and $u_1\in u_1^\ast$.
Next, we pick any polynomial
$p(z)=\sum_0^Np_iz^i$, with $p_i\in I_i$, and carry out the previous procedure,
to obtain an upper bound $C$ for $\lnorm{p-f}$. It is clear then
that $f\in{\cal U}(\vsz I,N;C,0;0)$, since, if $f=\sum a_nz^n$, then
$$\sum_{n>N}\abs{a_n}\le \lnorm{f-p}\le C
\eqno\mathendpf$$
\vskip1em

\title{Remark:} Note that the previous algorithm enables us to construct
a neighborhood of type 2 that contains $u$ as a function of $z$.

\algorithm\tfalc
Given disjoint intervals $x_0^\ast$ and $x_1^\ast$, and representable
$u_0$ and $u_1$, we construct intervals $y_0^\ast$ and $y_1^\ast$
such that the solutions $u$ to \tfeq\ with initial values
$u_0$ and $u_1$ for $x\in x_0^\ast$ satisfy
$$u(x')\in y^\ast_0\qquad
u'(x')\in y^\ast_1$$
for any $x'\in x_1^\ast$.

\description
Choose a representable $r$ such that $r\ge |x_0^\ast-x_1^\ast|$,
(if we can't, we report a failure)
and run the
previous algorithm for this $r$. Then, $y_0^\ast$ can
 be readily obtained by simply
evaluating the neighborhood ${\cal U}$ produced by the algorithm at the
interval $x_1^\ast$. In order to obtain
$y_1^\ast$, we note that
$$u'(x')=u_1+\int_x^{x'}u^{\frac 3,2}(s)s^{-\frac 1,2}\,ds$$
and this can be also easily computed.
For a sharp bound, note that by the previous remark, we have
$u(s) [\hbox{as a function of\ }{z={s-x\over r}}]
\in{\cal U}(\vsz I,N;0,C;2)$, and thus, we also have
$$u(s)^{\frac 3,2}s^{-\frac 1,2}
[\hbox{as a function of\ }z]\in{\cal U}(\vsz I,N;C_h,C_g;2)$$

After integration,
this reduces general error terms by a factor 3 compared to the
ones that would follow from the weaker
statement
$$u(s)^{\frac 3,2}s^{-\frac 1,2}
[\hbox{as a function of\ }z]
\in{\cal U}(\vsz I,N;C_h,C_g;0)
\eqno\mathendpf
$$

The following lemma has a trivial proof.
\lem{\tflemxa}
Say $y_1$ and $y_2$ are positive
solutions of $y''=x^{-\frac 1,2}y^{\frac 3,2}$
on the interval $\ccint x_1,{x_2}$, with $x_1>0$.

{\itemize
\item{1.} If $y_1(x_1)\ge y_2(x_1)$ and $y_1'(x_1)\ge
y_2'(x_1)$ for all $x\in\ccint x_1,{x_2}$, then
we have that
$y_1(x)\ge y_2(x)$ and $y_1'(x)\ge y_2'(x)$
for all $x\in\ccint x_1,{x_2}$.
\item{2.} If $y_1(x_2)\ge y_2(x_2)$ and $y_1'(x_2)\le
y_2'(x_2)$ for all $x\in\ccint x_1,{x_2}$, then
we have that
$y_1(x)\ge y_2(x)$ and $y_1'(x)\le y_2'(x)$
for all $x\in\ccint x_1,{x_2}$.

}

\endt
\definition  Let $x_i^\ast=\ccint x_i^{\rm dn},{x_i^{\rm up}}$
for $i=1,2$ be two intervals. Then, we define
$$x_1^\ast\cup_I x_2^\ast=\ccint
\min_{i=1,2} x_i^{\rm dn},{\max_{i=1,2}x_i^{\rm up}}$$

\algorithm\tfald
Given disjoint intervals $x_0^\ast$ and $x_1^\ast$, and intervals
$u_0^\ast$ and $u_1^\ast$, we construct intervals $y_0^\ast$ and $y_1^\ast$
such that all solutions $u$ to \tfeq\ with initial values
equal to any
$u_0\in u_0^\ast$ and any $u_1\in u_1^\ast$, for any $x\in x_0^\ast$ are
guaranteed to exist as positive solutions
on $\ccint x,{x'}$, and furthermore
satisfy
$$u(x')\in y^\ast_0\qquad
u'(x')\in y^\ast_1$$
for all $x'\in x_1^\ast$.

\description
Assume first that $x_0^\ast<x_1^\ast$. Say
$u_0^\ast=\ccint u_0^{\rm dn},{u_0^{\rm up}}$,
and
$u_1^\ast=\ccint u_1^{\rm dn},{u_1^{\rm up}}$.
Next, run the previous algorithm: first,  for $u_0=u_0^{\rm dn}$ and
$u_1=u_1^{\rm dn}$, to obtain intervals $w^\ast_0$ and $w_1^\ast$,
and, second, for
$u_0=u_0^{\rm up}$ and
$u_1=u_1^{\rm up}$, two obtain intervals $z^\ast_0$ and $z_1^\ast$.
Note that if the first algorithm is successful, this implies that
all solutions with initial values
$u_i^{\rm up}$ and $u_i^{\rm dn}$ for any
$x\in x^\ast$ are well--defined as strictly positive
functions all the way up to $x'$, and, by the previous lemma,
all other solutions involved will be bounded above and
away from zero: this implies that they can all be well-defined
as positive functions all the way up to $x'$.
We can then apply the previous lemma again to conclude that
we can put
$$
y^\ast_0
=
w^\ast_0\cup_I
z^\ast_0
\qquad
y^\ast_1
=
w^\ast_1\cup_I
z^\ast_1
$$
\vskip1em
If $x_0^\ast>x_1^\ast$, then
we run the previous algorithm, first,  for $u_0=u_0^{\rm dn}$ and
$u_1=u_1^{\rm up}$, to obtain intervals $w^\ast_0$ and $w_1^\ast$,
and, second, for
$u_0=u_0^{\rm up}$ and
$u_1=u_1^{\rm dn}$, two obtain intervals $z^\ast_0$ and $z_1^\ast$.
It is then clear as before, that
we can
put
$$
y^\ast_0
=
w^\ast_0\cup_I
z^\ast_0
\qquad
y^\ast_1
=
w^\ast_1\cup_I
z^\ast_1
\eqno\mathendpf
$$


\title{The Initial Value Problem at 0.}

Here we will be concerned with the solution to the
Initial Value Problem

$$\left.\eqalign{u''(x)&=x^{-\frac 1,2}u^{\frac 3,2}(x)\cr
u(0)&=1\cr
u'(0)&=-w\cr}\right\}\eqno\tfeqzero$$
for $w>0$.

In this case, the solution to this problem will be in terms of a function
$f\in H^1$ satisfying
$$u(x)=1-w\cdot r\cdot z^2+z^3f(z)\eqno\tfxa$$
where $z=(x/r)^{\frac 1,2}$
and $r$ is a small positive representable number.

The solution of (3.10) can be viewed as the fixed
point of
$$T(u)=1+\int_{0}^x\bra{-w+\int_{0}^t{u^{\frac 3,2}(s)
\over s^{\frac 1,2}}\>ds}\>dt$$
and again $T$ induces in a trivial way
an operator $\tilde T$ of which $f$ is its
fixed point.


\algorithm{\tfale}
We deduce conditions on $w$, $r$ and $\alpha$
under which
$\tilde T$ is a contraction in $B(0,\alpha)$, and we compute
an upper bound for $\lipnorm {\tilde T}$.

\description
Let $g=\sum a_nz^n$.
Consider the operators
$$\eqalign{
T_1(f)&=-r\,w\,z^2+z^3f(z)\cr
T_2(g)&=\bra{1+g(z)}^{\frac 3,2}\cr
T_3(g)&=4r^{\frac 3,2}\sum_{n\ge 0}{a_nz^{n}\over (n+1)(n+3)}\cr}\eqno
\tfg$$

It is clear that
$$T(u)=1-wx+z^3(T_3\circ T_2\circ T_1)(f)\eqno\tfh$$
and thus, $\tilde T=
T_3\circ T_2\circ T_1$.

Just as in Algorithm \tfala, $T_1$ is affine with
an isometryt  as the linear part,
$\lipnorm{T_3}\le \fra 4,3 r^{\frac 3,2}$
and, for $T_2$, we have
$$\lipnorm{T_2}\le
C_{\faaa}(\fra 3,2,\gamma_0)
$$
where, in this case
$$\sup_{\lnorm f\le \alpha}\lnorm{T_1(f)}
\le{rw+\alpha}
\eqbydef \gamma_0$$
We check that $\gamma_0<1$;
otherwise, the algorithm fails.

Therefore,
$$\lipnorm{\tilde T}\le \fra 4,3 r^{\frac 3,2}
C_{\faaa}(\fra 3,2,\gamma_0)
$$
Then we check that the upper bound for $\norm{\tilde T}_{\rm Lip}$
thus obtained
is strictly less than 1; otherwise, the algorithm fails.

\vskip1em
Next,
 note that
$\lnorm{T_3(g)}\le\fra 4,3 r^{\frac 3,2}\lnorm{g}$, which implies
$$\eqalignno{
\lnorm{\tilde T(0)}&\le
 \fra 4,3 r^{\frac 3,2} \lnorm{(1-wrz^2)^{\frac 3,2}}\cr
&\le
  \fra 4,3 r^{\frac 3,2}K_{\faaa}(\fra 3,2,wr)\cr
}$$

Then
we see that $\tilde T$ maps $B(0,\alpha)$ into itself provided
 $$\fra 4,3 r^{\frac 3,2} K_{\faaa}(\fra 3,2,wr)\le
 \alpha\bra{1-\lipnorm{\tilde T}}
\eqno\mathendpf$$

\algorithm\tfalf
Given representable $w$ and $r$ we construct a neighborhood
$${\cal U}(\vsz I,N;0,C_g,0)$$
 such that the solution of
\tfeqzero\ is well--defined on $\ccint 0,r$ and satisfies
$$u(x)=1-wx+z^3f(z)\qquad z=\bra{{x\over r}}^{\frac 1,2}$$
for $f\in{\cal U}$.

\description
Similar to Algorithm \tfalb.




\algorithm\tfalg
Given representable $w$ and $r$,
we construct intervals
$y_0^\ast$ and
$y_1^\ast$ such that the solution $u$ of \tfeqzero\
satisfies
$$u(r)\in y_0^\ast
\qquad u'(r)\in y_1^\ast$$
\description

$y_0^\ast$ can be obtained with a trivial variant of Algorithm~\tfalc,
via Algorithm~3.7.

For $y^\ast_1$, note that, if we put
$$u^{\frac 3,2}(x)=(T_2\circ T_1)f(z)=\sum_{n\ge 0}a_nz^n$$
then
$$\eqalignno{
u'(r)&=-w+\int_0^r{u^{\frac 3,2}(x)\over x^{\frac 1,2}}\>dx\cr
&=-w+r^{\frac 1,2}\sum_{n=0}^\infty{2a_n\over n+1}\cr}$$

Note now that in our representation $z=(x/r)^{\frac 1,2}$,
we have a neighborhood of type 3 containing $u(x)$ as a function of $z$. 
We can
thus construct another neighborhood of type 3 such that
$$\sum_{n=0}^\infty a_nz^n\in{\cal U}(\vsz I,N;C_h, C_g; 3)$$

Thus,
$$u'(r)\in -w+r^{\frac 1,2}\bra{\sum_{n=0}^N {2I_n\over n+1}\pm\epsilon}$$
whenever
$$\abs{\epsilon}\ge {2C_h\over N+2}+\oh C_g
\eqno\mathendpf
$$



\lem{\tflemxb}
Let
$u_1$ and $u_2$ be the solutions of \tfeqzero, with values $w_1$
and $w_2$, $w_1<w_2$. Then,
assuming that $u_{1,2}(x)$ are well--defined and strictly positive
for $x\in\ccint 0,R$,
we have that
$u_1(x)>u_2(x)$ and
$u_1'(x)>u'_2(x)$ for $x\in\ccint 0,R$.
\proof
Let $f_1$ and $f_2$ be associated with $u_1$ and $u_2$ as in
\tfxa. Since
$$u_1(x)\ge 1-w_1x-z^3\lnorm{f_1}$$
and
$$u_2(x)\le 1-w_2x+z^3\lnorm{f_2}$$
for all $x$ small enough, we have that $u_1(x)>u_2(x)$ and thus
$u_1''(x)>u_2''(x)$. Since the $u''_i$ are integrable
at the origin, we conclude that
$$
u_1'(x)=\int_0^xu''_1(t)\,dt-w_1 > \int_0^xu''_2(t)\,dt-w_2
= u_2'(x)$$

for all $x$ small enough. The lemma now follows from Lemma \tflemxa.
\endpf



\algorithm\tfalh
Given representable $r$ and $t$,
and an interval $ w^\ast$,
we construct intervals
$y_0^\ast$ and
$y_1^\ast$ such that any solution $u$ of \tfeqzero\
for any $w\in w^\ast$
can be continued to $\ccint 0,t$ and
satisfies
$$u(t)\in y_0^\ast
\qquad u'(t)\in y_1^\ast.$$

\description
Run Algorithm 3.8 twice, once for each endpoint of $w^\ast$, to obtain
two pairs of intervals $w_0^\ast$, $w_1^\ast$ and $z_0^\ast$, $z_1^\ast$.
Lemma 3.9 then shows that all solutions of (3.10) with
$w\in w^\ast$ are bounded above and away from 0, and can thus be extended
as well--defined positive functions over $\ccint 0,t$.
Then, Lemma~3.9 again allows us to put
$$y_0^\ast=w_0^\ast\cup_I z_0^\ast
\qquad
y_1^\ast=w_1^\ast\cup_I z_1^\ast
\eqno\mathendpf
$$
\vskip2em


\title{The Initial Value Problem at Infinity.}

Here we will be concerned with the solution to the
Initial Value Problem

$$\left.\eqalign{u''(x)&=x^{-\frac 1,2}u^{\frac 3,2}(x)\cr
u(\infty)&=0\cr
b_1&=b\cr}\right\}\eqno\tfeqinf$$
where the last condition is interpreted in the sense of  \tff.

The solution to this problem in this case will be expressed
as
$$u(x) = {144\over x^3}\bra{1+bx^{-\alpha}+z^2f(z)}\eqno\tfxb$$
where $f\in H^1$, $z=R^\alpha x^{-\alpha}$, for some $R$ large.
In this case, the operators involved are not so obvious.
Define
$$\eqalignno{
T_1(f)&= bR^{-\alpha}z+z^2f(z)\cr
T_2(g) &= (1+g)^{\frac 3,2}\cr
T_3(g) &= 12\sum_{n=2}^\infty{a_n z^{n-2}\over (n\alpha+3)(n\alpha+4)}
\cr}$$
where, in the last formula, $g(z)=\sum_{n\ge 0}a_nz^n$.
Then, put
$$\tilde T=T_3\circ T_2\circ T_1$$
We now check that if $f$ is a fixed point of $\tilde T$ in $H^1$, then
$u$ defined as in (3.15) solves (3.14). Note first that
$$\eqalignno{
{u^{\frac 3,2}(x)\over x^{\frac 1,2}}&=
{12\cdot 144\over x^5}\bra{T_2\circ T_1}(f)\cr}$$
where
$$\bra{T_2\circ T_1}(f)
=
\sum_{n=0}^\infty {a_n}z^n\qquad a_0=1\quad a_1=
\fra 3,2bR^{-\alpha}$$
Therefore, since $u$ and its derivatives vanish at $\infty$,
$$\eqalignno{
u(x)&=\int_x^\infty\int_r^\infty {u^{\frac 3,2}(t)\over t^{\frac 1,2}}\,dt\,
dr
\cr
&={144\over x^3}\bra{1+{12\,a_1\over (3+\alpha)(4+\alpha)}z+z^2{\tilde T}(f)}
\cr}
$$
Since $\alpha=\oh(\sqrt{73}-7)$
satisfies the equation $(\alpha+3)(\alpha+4)=18$,
$u$ satisfies (3.14).
\vskip1em

The problem here is considerably more subtle than in the previous cases,
due to the fact that $T_3$ does not scale with $R$. As a consequence,
contraction properties of $\tilde T$ either hold or don't,
and taking large $R$ won't help much. We are lucky, however, that
the norm of $T_2$ is essentially $\fra 3,2$, and that the norm of
$T_3$ is essentially
$${12\over (2\alpha+3)(2\alpha+4)}<\oh$$
which says that the Lipschitz norm of $\tilde T$ will approximately
be $\fra 3,4$. We make this precise now.

\lem{\tfalj}
Put $\beta=0.3$. Assume that $\abs{\bar b }= R^{-\alpha}|b|\le 0.23$.
Then
$\tilde T$ is a contraction in $B(0,\beta)$,
and $\lipnorm {\tilde T}\le 0.8652$.

\endt
\title{Proof: (Calculator--Assisted)}
Let $f_1$, $f_2\in B(0,\beta)$, and put $\bar f=f_1-f_2$.
$$(T_2\circ T_1)(f)=1+\fra 3,2\bra{\bar bz+z^2f}+\fra 3,8
\bra{\bar b^2 z^2+2\bar bz^3f+z^4f^2}+\sum_{n\ge 3}{\fra 3,2\choose n}
\bra{\bar b z+z^2f}^n$$
So,
$$\displaylines{
\quad(T_2\circ T_1)(f_2)-(T_2\circ T_1)(f_2)=\fra 3,2z^2
\bar f+\fra 3,4\bar bz^3\bar f+\fra 3,8
\bra{z^4(f_1^2-f_2^2)}\hfill\cr
\cr\hfill+\sum_{n\ge 3}{\fra 3,2\choose n}
\bra{\bra{\bar b z+z^2f_1}^n
-\bra{\bar b z+z^2f_2}^n}\cr}$$

Now, since $T_3$ is linear, bounded, and the sum converges absolutely,
we have
$$\displaylines{
\quad\tilde T(f_1)-\tilde T(f_2)=
\fra 3,2
T_3(z^2\bar f)+\fra 3,4\bar bT_3(z^3\bar f)+\fra 3,8
T_3\bra{z^4(f_1^2-f_2^2)}\hfill\cr
\hfill+\sum_{n\ge 3}{\fra 3,2\choose n}
T_3\bra{\bra{\bar b z+z^2f_1}^n
-\bra{\bar b z+z^2f_2}^n}\cr}$$
Note now that, for any $f\in H^1$, we have
$$\lnorm{T_3(z^kf)}\le {12\over (k\alpha+3)(k\alpha+4)}\lnorm{z^kf}$$
and that
$$\eqalignno{
\bra{\bar b z+z^2f_1}^n
-\bra{\bar b z+z^2f_2}^n&=z^{n+1}h(z)\cr
\lnorm{\bra{\bar b z+z^2f_1}^n
-\bra{\bar b z+z^2f_2}^n}&\le n\lnorm{f_1-f_2}(|\bar b|+\beta)^{n-1}\cr}$$

Thus,
$$\eqalignno{
\lipnorm{\tilde T}&\le
{3\over 2}{12\over (2\alpha+3)(2\alpha+4)}+
{3|\bar b|\over 4}{12\over (3\alpha+3)(3\alpha+4)}+
{3\over 8}{12\cdot 2\cdot\beta\over (4\alpha+3)(4\alpha+4)}\cr
&\qquad+
\sum_{n\ge 3}\abs{\fra 3,2\choose n}
{12n
\over \bracket{(n+1)\alpha+3}\bracket{(n+1)\alpha+4}}
(|\bar b| +\beta)^{(n-1)}\cr
&\le 0.72+.27|\bar b|+0.21\beta+
X+
Y{(|\bar b|+\beta)^{20}\over 1-|\bar b|-\beta}
\cr&\le 0.8652\cr
}$$
where we have set
$$X=\sum_{n=3}^{20}
\abs{\fra 3,2\choose n}
{12n
\over \bracket{(n+1)\alpha+3}\bracket{(n+1)\alpha+4}}
(|\bar b| +\beta)^{(n-1)}$$
and
$$
Y\eqbydef \abs{\fra 3,2\choose 21}
{12\cdot 21
\over \bracket{22\alpha+3}\bracket{22\alpha+4}}
\ge\abs{\fra 3,2\choose n}
{12n
\over \bracket{(n+1)\alpha+3}\bracket{(n+1)\alpha+4}}
$$
for $n\ge 21$, and we have used
$$X\le 0.019\qquad
Y{(|\bar b|+\beta)^{20}\over 1-|\bar b|-\beta}
\le 9\cdot 10^{-10}$$

\vskip1em
On the other hand,
$${(T_2\circ T_1)(0)}=\sum_{n\ge 0}{\fra 3,2 \choose n}{|\bar b|}^nz^n$$
Thus,
$$\eqalignno{
\lnorm{\tilde T(0)}&\le\sum_{n\ge 2}\abs{\fra 3,2 \choose n}
{12{|\bar b|}^n\over (n\alpha+3)(n\alpha+4)}\cr
&\le \fra 3,{16}{|\bar b|}^2+
0.0225{|\bar b|}^3
+0.0066{{|\bar b|}^4\over 1-{|\bar b|}}\cr
&\le 0.01022\cr}$$
Therefore,
$$\lnorm{\tilde T(f)}\le 0.01022+0.8652\beta \le \beta$$
and $\tilde T$ maps $B(0,\beta)$ into itself.
\endpf

\algorithm{\tfalgi}Given $b^\ast$ (interval)
and $R$ (representable), we produce  ${\cal U}_1$ such that,
for any $b\in b^\ast$,
the solution $u$ of \tfh\ is given by
$$y(x)={144\over x^3}\bra{1+bx^{-\alpha}+z^2f(z)}\qquad z=R^\alpha x^{-\alpha}$$
with $f\in{\cal U}_1$. Here, ${\cal U}_1$ depends only on $b^\ast$, i.e.,
it is independent of which particular $b$ in $b^\ast$ we are considering.
\description
We first check that we are in the hypothesis of Lemma \tfalj. In this
case, $\tilde T$ has a fixed point $f$, and, as we saw before,
$y$ defined as above satisfies the ODE.
\vskip1em
 In order to obtain bounds for $f$, we first look
for a heuristic guess $p$: for example, we iterate $\tilde T$ (and truncate)
a few times, starting
with the function 0.
Then, since computing rigorously $\tilde Tp$
for all $b\in b^\ast$ poses no difficulty in
view of Algorithm~\faala, we conclude
that
$$\lnorm{f-p}\le {\lnorm{\tilde Tp-p}\over 1-0.8652}
\le 7.5\lnorm{\tilde Tp-p}\qquad{\rm all\ }b\in b^\ast $$
Note that $p$ is the same for all $b\in b^\ast$, but $\tilde Tp$
still depends on $b$. However, the computation of
$$\sup_{b\in b^\ast}\lnorm{\tilde Tp-p}$$
poses no problem, since it is less than or equal to
$\lnorm{\tilde Tp-p}$ in the interval arithmetic sense.

The algorithm fails if the hypothesis of Lemma~3.11 are not met, or
if $\lnorm p > 0.3$.
\endpf

\algorithm{\tfalk}Given $b$ and $R$, we produce two intervals
$u_0^\ast$ and
$u_1^\ast$ such that, if $u$ is the solution to $\tfh$, we have
$$u(R)\in u_0^\ast
\qquad
u'(R)\in u_1^\ast$$
\description
First, run Algorithm~3.12 for these values of $b$ and $R$.

Again, it is easy to obtain $u_0^\ast$.

Let $f$ be related to $u$ as in \tfxb. Then, say
$$\bra{1+bx^{-\alpha}+z^2f(z)}^{\frac 3,2}
=\sum_{n\ge 0} a_nz^n
\in {\cal U}(\vsz I,N;C_h,C_g;2)$$

Then,
$$\eqalignno{
u'(R)&=-\int_{R}^\infty{144\cdot 12\over x^5}\sum a_nz^n\>dx\cr
&=
{-144\cdot 12\over R^4}\sum {a_n\over n\alpha+4}\cr
&\in
{-144\cdot 12\over R^4}\bra{\sum_{n=0}^N {I_n\over 4+n\alpha}
\pm\epsilon}\cr}$$
with
$$\abs{\epsilon}\le {C_h\over 4+(N+1)\alpha}+{C_g\over 4+2\alpha}
\eqno\mathendpf
$$
\vskip2em
\title{Remark:} Note that it is enough to run this algorithm
for representable values of $b$, due to the monotonicity
of the T--F equation (Lemma 3.4). We omit the trivial details,
which are similar to those in Algorithm~3.5



\vskip1em
\title{The Boundary Value Problem}

Next we discuss
how to solve the Boundary Value Problem
$$\left.\eqalign{u''(x)&=x^{-\frac 1,2}u^{\frac 3,2}(x)\cr
u(0)&=1\cr
u(\infty)&=0\cr}\right\}$$

\vskip1em
We first describe how to obtain bounds for $w_0$.







\lem{\tflema}
Let $u$ be the solution
of \tfeq, with $u_1<0$. If
$${2u_0^{\frac 5,2}\over x_0^{\frac 1,2}}\le u_1^2$$
then, there exists a point $t> x_0$ such that $u$ can be extended
as a well--defined positive
solution of the ODE to $\coint x_0,t$ and, furthermore,
$\inf_{x\in\ooint x_0,t} u(x)=0$.
\proof
Assume the lemma is false.
It follows from general ODE considerations that, either
$u$ can be extended as a positive well--defined solution of the
ODE, or else there exists a $T$ such that $\sup_{x\in\ooint x_0,T}
u(x)=\infty$.

Let
$$d={|u_1|x_0^{\frac 1,2}\over u_0^{\frac 3,2}}$$
and note that in both of the two cases
above $u$ extends to a well--defined positive solution of the ODE to
$\ooint x_0,{x_0+d}$ and furthermore,
$u\le u_0$ on
$\ccint x_0,{x_0+d}$. Indeed, consider two cases:
{\itemize
\item{a.}$u$ can be extended as a positive solution of the ODE
all the way up to $\infty$.
Then, if $u'(x)<0$
it is trivial. Otherwise,
let $x_1>x_0$ be the first (and only) zero of $u'$; this means
in particular that $u\le u_0$ on $\ccint x_0,{x_1}$.
Then, our claim
follows by noting that
$$
|u_1|\le \sup_{\ooint x_0,{x_1}}u''\cdot|x_0-x_1|\le {u_0^{\frac 3,2}
x_0^{-\frac 1,2}}\abs{x_0-x_1}$$
which implies $\ccint x_0,{x_0+d}\subset\ccint x_0,{x_1}$.
\item{b.}$u$ can be extended as a positive solution of the ODE
all the way up to $T$, where it blows up.
Since $u'(x_0)<0$, there exists
$x_1$, such that $x_0<x_1<T$ and $u'(x_1)=0$.
As before, $x_1$ is the first (and only) zero of $u'$, $u\le u_0$ on
 $\ccint x_0,{x_1}$, and $x_0+d\le x_1$.

}


 \vskip1em

Then, again, since $u''\le x_0^{-\frac 1,2}
u_0^{\frac 3,2}$ on $\ccint x_0,{x_0+d}$, we conclude that
$$u(x)\le u_0+u_1(x-x_0)+{u_0^{\frac 3,2}\over 2x_0^{\frac 1,2}}
(x-x_0)^2\qquad x\in\ccint x_0,{x_0+d}$$

The lemma then follows by noting that
this parabolic bound attains its minimum at exactly $x_0+d$, and that this
minimum is non--positive if the hypothesis in the statement of the lemma
is satisfied.
\endpf


\algorithm\tfaldd
Given a representable $w$, we construct an algorithm that, if successful,
will indicate whether $w<w_0$ or $w>w_0$.
\description
By repeated applications of the previous algorithms, we can determine points
$x_i$ and intervals $I_i$, $I'_i$, for $i=0,\ldots,n$, for $n$ large,
such that
the solution to the TF equation with initial values
$u(0)=1$, $u'(0)=-w$ satisfies $u(x_i)\in I_i$ and
$u'(x_i)\in I'_i$. These algorithms also
guarantee us that $u$ does not vanish on $\ccint 0,{x_n}$.

\vskip1em
If, for some $i$, we have $I_i<I_{i+1}$, or $I'_i>0$, this implies that
for some $r_0<x_n$, $u$ is increasing and convex on $\coint r_0,{r_0+\epsilon}
$,
and $u$ will either not vanish at $\infty$, or blow up
and cease to exist at a finite $R_0$. It is then clear
by Lemma \tflemxb\
that $w_0>w$.
\vskip1em
On the other hand, we know that if $u$ becomes arbitrary small
on $\ooint 0,t$ for some $t$, then
$w_0<w$. Using the previous lemma, we then know that, if for
 some
 $i$, we have
$${2I_i^{\frac 5,2}\over x_i^{\frac 1,2}}\le \abs{I'_i}^2$$
then we have
that $w_0<w$.

If neither of the above happens, then we quit the algorithm without
making any claims for bounds for $w_0$.
\endpf



\algorithm{\tfalm}
Assuming bounds for $w_0$,
and given $x_i\in {\cal R}$, we can produce $y^\ast_i$ and
${y'}^\ast_i\in {\cal I}$, $i=0,\ldots,m$, such that
$$y(x_i)\in y^\ast_i
\qquad y'(x_i)\in  {y'}^\ast_i\qquad i=0,\ldots,m$$
\description
Apply Algorithm 3.10 for $r=x_0$, and then iterate Algorithm~3.5
for the $x_i$. This algorithm will fail if either Algorithm~3.10
or any of the runs of Algorithm~3.5 fails.
\endpf
In order to ensure success for all algorithms, the choice of the $x_i$
 will in practice
be rather delicate, as will be explained in Section~7.





\lem{\tflemxc}
Let $u_1$ and $u_2$ be the solutions of \tfeqinf\ with $b_1=a_1$
and $b_1=a_2$ respectively; then, if $a_1\le a_2$ and
$u_1>0$ on $\coint M,\infty$, then we have that
$u_1(x)\le u_2(x)$ and
$u_1'(x)\ge u_2'(x)$  for all $x\in\coint M,\infty$.
\proof
Obviously it is enough to assume $a_1<a_2$. Let $f_1$ and $f_2$
be the functions associated with the $u_i$ as in
\tfxb, with $R$ common for the two of them, and large (perhaps a lot larger than
$M$).
Then,
$$u_1(x)\le {144\over x^3}\bbracket{1+z(a_1R^{-\alpha}+z\lnorm{f_1})}$$
and
$$u_2(x)\ge {144\over x^3}\bbracket{1+z(a_2R^{-\alpha}-z\lnorm{f_2})}$$
Now, take $R$ large so
$$a_1R^{-\alpha}+\lnorm{f_1}
< a_2R^{-\alpha}-\lnorm{f_2}$$
$$a_1R^{-\alpha}+\lnorm{f_1}<1$$

This ensures that $0<u_1(x)<u_2(x)$ for $x>R$ and thus
$u''_1(x)<u_2''(x)$ for all $x>R$. 
Now, note that
$$u_i'(x)=-\int_x^\infty u''_i(t)\,dt\qquad{\rm for\ }i=1,2$$
which implies that, not only do we have
$0<u_1(x)<u_2(x)$ for $x>R$, but also
$0>u'_1(x)>u'_2(x)$ for all $x>R$. Finally, if $R$ is larger
than $M$, 
we apply Lemma~{\tflemxa} to guarantee that
$0<u_1(x)\le u_2(x)$
and $u'_1(x)\ge u'_2(x)$ for $x\in\ccint M,R$ and thus
for all $x\ge M$.
\endpf

\algorithm{3.18}
Assuming bounds for $b_1$,
we can produce $x_i\in {\cal R}$, and $y^\ast_i$,
${y'}^\ast_i\in {\cal I}$, $i=1,\ldots,m$, such that
$$y(x_i)\in y^\ast_i
\qquad y'(x_i)\in  {y'}^\ast_i\qquad i=1,\ldots,m$$
\description
We choose the $x_i$ in increasing order in $i$.
We apply Algorithm 3.13 and Lemma~3.17
for $R=x_m$, and then iterate ---going backwards---
Algorithm~3.5
for the $x_i$. This algorithm will fail if either Algorithm~3.13
or any of the runs of Algorithm~3.5 fails.
\endpf
\title{Remark:} Strictly speaking, the choice of the $x_i$ above is
purely heuristic, and any choice yields a rigorous answer. In practice,
most choices of $x_i$ will yield as an answer "{\tt failure}'', which,
although completely rigorous (after all, no theorem is claimed), is not
very useful. As a result, it is important to make a good choice of the $x_i$.
In practice, these $x_i$ will be the same as the one used in Algorithm~3.16,
whose choice is explained in Section~7.

\algorithm\tfall
Given a representable $b$, and assuming bounds
for $w_0$, we construct an algorithm that, if successful,
will indicate whether $b<b_1$ or $b>b_1$.

Also, assuming bounds for $b_1$, and given $w$, we indicate whether
$w<w_0$ or $w>w_0$.
\description
Let $y$ be the Thomas--Fermi function,
and $u$ be the solution of \tfh.

Assuming bounds for $w_0$,
Algorithm~3.16 allows
us to produce representable $x_i$ and intervals
$I_i$ and $I'_i$, such that
$y(x_i)\in I_i$ and
$y'(x_i)\in I'_i$. For these $x_i$, using
Algorithm~3.13 and repeated applications
of Algorithm~3.5 (going backwards), we can produce intervals
$J_i$ and $J'_i$ such that
$u(x_i)\in J_i$ and
$u'(x_i)\in J'_i$.
In this situation
we can again guarantee that $u>0$.


Then, if for some $i$
$$ I_i>J_i \qquad\hbox{or}\qquad I'_i<J_i'$$
then we have $b<b_1$. If, however, we have
$$ I_i<J_i \qquad\hbox{or}\qquad I'_i>J_i'$$
then we have $b>b_1$.

We report a failure if
$$I_i\cap J_i\ne \emptyset
\qquad I_i'\cap J_i'\ne \emptyset
$$
for all $i$, in which case no relation is claimed between
$b$ and $b_1$.
\vskip1em
The rest of the algorithm follows along the same lines.
\endpf





Note that the last part of the previous
algorithm constitutes a refinement
of Algorithm~3.16, but it requires bounds for $b_1$.
Also, Algorithm~3.15 allows us to obtain an initial, probably wasteful,
bound for $w_0$. This initial bound allows us to obtain a bound
for $b_1$, which in turn will allow us to improve our initial
bound for $w_0$.
Iterating this last algorithm
in this way
allows us to obtain improved bounds for both $w_0$ and $b_1$.
The intersection
of the bounds produced by Algorithms~3.16 and 3.18 are improved
bounds for the
Thomas--Fermi function and its derivative at points $x_i$.
These translate immediately to better bounds for the solution
of the Thomas--Fermi equation, and related constants.


\algorithm{3.20}
We can produce $x_i$, $r_i\in {\cal R}$, and
$${\cal U}_i(\vsz {I^i},N;C_{h,i},C_{g,i},2)\qquad i=1,\ldots,m$$
 such that
$$y(x_i+z\cdot r_i)\in
{\cal U}_i(\vsz {I^i},N;C_{h,i},C_{g,i},2)
\qquad i=1,\ldots,m$$
and
$$\cup_{i=1}^m \ooint {x_i-r_i},{x_i+r_i}=
\ooint {x_1-r_1},{x_m+r_m}\subset\ooint 0,\infty$$
\description
Our previous remark gives us the $x_i$, $r_i$, $I^i_0$ and $I^i_1$.
The rest follows by applying Algorithm~3.2 for every $i$.

\lem\tflemb
The following inequalities hold:
$$\eqalignno{
1.588071022611278
&\le w_0\le
1.588071022611471
\cr
-13.270973847925352
&\ge b_1\ge
-13.270973848125353
\cr
0.486348538043594
&\le\Omega_c^2\le
0.486348538046869
\cr
2.104025280219502
&\le r_c\le
2.104025280273837
\cr}$$
Needless to say, the decimal numbers quoted above stand for the
exact rational numbers they represent.
\endt

\cproof
The inequalities for $w_0$ and $b_1$ follow by carrying out previous
algorithms.

The inequality for $r_c$ follows by checking that
$$u'(
2.104025280219502
)\ge 0\ge u'(
2.104025280273837
)$$

The bounds for $\Omega_c$ are then trivial.
\endpf



\Title{\sdone. Zone I.}
The purpose of this section is to prove (1.2) for all $\Omega$
in Zone I, as defined at the end of Section
\secder. We will do this as follows:

\vskip1em
First, we partition Zone I  into ``fat'' intervals $\{W_i\}_{i=1}^n$.
Note that the first such interval will have the form $\ocint 0,{\Omega_{\epsilon}}$,  for an
$\Omega_{\epsilon}$ to be picked (much) later in our proof. In fact, the role of the $W_i$ will
change as they approach zero: the larger ones (most of them, by the way) will receive identical
treatment. Then, there will be a family of them, rather close to zero, which will receive
a sort of special treatment, and then the single
$W_1=\ocint 0,{\Omega_{\epsilon}}$ which will be on its own.

Second, each fat interval $W$ is divided into a finite
partition of  (lots
of) suitably
small subintervals $\Omega^\ast$ (except $W_1$ which will be both a ``fat'' and ``thin'' interval at the same
time.)
Our aim is to produce uniform bounds for
$-F''(\Omega)$ for all $\Omega\in\Omega^\ast$: for $W_1$ we will be able to produce only lower bounds, since
$-F''$ is unbounded there; for the others, we will be able to produce both upper and lower bounds.

\vskip1em
Say $\Omega^\ast=\ccint z_1,{z_2}$
is contained in the fat interval $W=\ccint w_1,
{w_2}$.

We construct two functions $a(\Omega^\ast)$ and $b(\Omega^\ast)$,
constant on each subinterval $\Omega^\ast$,
 such that
$$r_1(\Omega)< a< b<r_2(\Omega)\qquad \Omega\in\Omega^\ast$$
In practice, $a$ and $b$ will be very close to $r_1$ and
$r_2$ respectively.

Now, we recall Lemma~\sdlema; our job is then to compute
each of the following

$$\eqalignno{
I_1&=\int_a^b\bra{u(r)-\Omega^2}^{-\frac 3,2}y(r)\,dr&\sdxxa\cr
I_2&=\lim_{\delta\to 0}\bra{\int_{r_1(\Omega)+\delta}^a
     \bra{u(r)-\Omega^2}^{-\frac 3,2}y(r)\,dr-G_1(\Omega)\delta^{-\frac 1,2}}
&\sdxxb\cr
I_3&=\lim_{\delta\to 0}\bra{\int^{r_2(\Omega)-\delta}_b
     \bra{u(r)-\Omega^2}^{-\frac 3,2}y(r)\,dr-G_2(\Omega)\delta^{-\frac 1,2}}
&\sdxxc\cr
}$$
with $G_i$ such that the limit is finite.

\vskip1em
The computation of $I_1$ is done as follows:

Break up
$$I_1=\sum_{i=1}^n\int_{t_i}^{t_{i+1}}\bra{u(r)-\Omega^2}^{-\frac 3,2}y(r)
\,dr=\sum_{i=1}^nJ_i(\Omega)$$
where $t_1=a$ and $t_{n+1}=b$.

Note that each
$J_i$ can be computed directly, since it involves only
elementary operations.
However, computing {\it all} $J_i$ like that
 will take a very long time. To
remedy this, we do as follows:


First, we take two numbers $\tilde a(\Omega^\ast)$ and $\tilde b(\Omega^\ast)$,
constant on each subinterval $\Omega^\ast$,
 such that
$$\tilde a = t_{i_0}\qquad \tilde b = t_{i_1}$$
with $1\le i_0$ and $ i_1\le n$. Normally, we will have that $i_0\le i_1$. It could happen,
however, that $i_0>i_1$ meaning that the computation of the $J_i$
is always done directly, without using the faster method below.

Then, we take $t_i$ for $i=i_0,\ldots,i_1$
to be the same for all $\Omega^\ast=\ccint z_1,{z_2}\subset W=\ccint
w_1,{w_2}$, and we compute once and for all the following
numbers:
$$ a_{k,i}=\int_{t_i}^{t_{i+1}} \bra{u(r)-w_k^2}^{-\frac 3,2}y(r)\,dr
\qquad
b_{k,i}=3w_k\int_{t_i}^{t_{i+1}} \bra{u(r)-w_k^2}^{-\frac 5,2}y(r)\,dr
$$
for $k=1,2$, and $i=i_0,\ldots,i_1$.

 Next, note that the functions
$$f_i(w)=\int_{t_i}^{t_{i+1}} \bra{u(r)-w^2}^{-\frac 3,2}y(r)\,dr$$
are increasing and convex on $W$. Therefore,
if $w\in\ccint w_1,{w_2}$,
$$\max_{k=1,2}\bra{f_i'(w_k)\bra{w-w_k}+f_i(w_k)}
\le f_i(w)\le
{f_i(w_1)-f_i(w_2)\over w_1-w_2}\bra{w-w_1}+f_i(w_1)$$
Thus,
$$\max_{k=1,2}\bra{b_{k,i}\bra{\Omega-w_k}+a_{k,i}}
\le J_i(\Omega)\le
{a_1-a_2\over w_1-w_2}\bra{\Omega-w_1}+a_1\qquad
\Omega\in W$$
This gives us intervals $\tilde J_i(\Omega^\ast)$, such that
$$J_i(\Omega)\subset \tilde J_i(\Omega^\ast)
\qquad i_0\le i\le i_1\qquad \Omega\in\Omega^\ast\eqno\sdonea$$
\vskip1em

In practice, $\tilde a$ and $\tilde b$ will be far from
$r_1$ and $r_2$. They will enclose a region which
is safely away from the singularities of the integrand
in our formula  for $F''$, for which we can expect \sdonea\
to be sharp.
\vskip1em

For $i$ outside of the range $\ccint i_0,{i_1}$,
we compute $f_i(z_1)$ and $f_i(z_2)$ directly, and, by our previous remark,
$$J_i(\Omega)\in \tilde J_i(\Omega^\ast)\eqbydef
\ccint {f_i(z_1)},{f_i(z_2)}$$

 Thus, we have defined $\tilde J(\Omega^\ast)$ for all
$i=1,\ldots,n$, and we conclude that
$$I_1(\Omega)\in
\sum_{i=1}^n\tilde J_i(\Omega^\ast)\qquad \Omega\in\Omega^\ast
$$
\vskip1em


\vskip1em
\title{Computation of $\bf I_2$.}
Consider a small number $\bar \Omega_2\muchsmaller\Omega_c$,
 that we can make coincide with one of the
endpoints of the fat intervals $W_i$.

We distinguish two cases:
$\Omega>\bar\Omega_2$ and
$\Omega\le\bar\Omega_2$.

\vskip1em
If $\Omega>\bar\Omega_2$,
we use Algorithm \tfalb\ to compute ${\cal U}_1$ such that
$$u(x)=\Omega^2+zf(z)\qquad z={x-r_1(\Omega)\over r}\qquad f\in{\cal U}_1$$
where
$r\ge\abs{a-r_1(\Omega)}$ and
${\cal U}_1$ is uniform for all $\Omega\in\Omega^\ast$.
 Note that $f(0)>0$. Also, in order to apply Algorithm~3.2, we need
to obtain bounds for $r_1(\Omega)$ and for
$u'(r_1)$; the first can be done by obtaining
heuristic bounds $r_{\rm dn}$ and $r_{\rm up}$, and checking
that $u(r_{\rm dn})\le\Omega^2$ and
 $u(r_{\rm up})\ge\Omega^2$, which can be easily checked using the
information given by Algorithm~3.20. Bounds for $u'(r_1)$ can be
obtained using the bounds for $r_1$ and the information on
$y_{\rm TF}$ (hence on $u$) given by Algorithm~3.20. See the
section on implementation for more details.

Therefore,
$$\eqalignno{
\int_{r_1(\Omega)+\delta}^a
     \bra{u(x)-\Omega^2}^{-\frac 3,2}y(x)\,dx
&= \int_{r_1(\Omega)+\delta}^a
     z^{-\frac 3,2}f^{-\frac 3,2}(z)y(x)\,dx\cr
&= \int_{r_1(\Omega)+\delta}^a
     z^{-\frac 3,2}\tilde f(z)\,dx\cr}$$
for a new function $\tilde f(z)=y(x)f^{-\frac 3,2}(z)$, that can also
be enclosed in a computable ${\cal U}_2$. Note that $\tilde f(0)>0$
also. Thus, if
$$\tilde  f(z)=\sum_{n\ge 0}a_nz^n\in{\cal U}(\vsz J,N;C_h,C_g;1)$$

we see that
$$\eqalignno{
\int_{r_1(\Omega)+\delta}^a
     \bra{u(x)-\Omega^2}^{-\frac 3,2}y(x)\,dx
&=
\int_{r_1(\Omega)+\delta}^a
     \sum_{n\ge 0}a_nz^{n-\ffra 3,2}\,dx\cr
&=
r \left.\sum_{n\ge 0}{a_n\over n-\fra 1,2}z^{n-\ffra 1,2}\right|
_{z={\delta\over r}}^{z={a-r_1(\Omega)\over r}}\cr}$$
This implies that
$$\eqalignno{I_2&=
r \sum_{n\ge 0}{a_n\over n-\fra 1,2}\bra{{a-r_1(\Omega)\over r}}^{n-\ffra 1,2}
\cr
&\in
r \sum_{n= 0}^N{J_n\over n-\fra 1,2}\bra{{a-r_1(\Omega)\over r}}^{n-\ffra 1,2}
\pm\epsilon\cr}$$
with
$$\abs{\epsilon}\le r\bra{{C_h\over N+\oh}+2C_g}$$
\vskip1em
\vskip1em

\vskip1em
When $\Omega\le\bar\Omega_2$, we proceed as follows:


\vskip1em

Consider the change of variables given by $r(t)$, the inverse of
$u$.
Then, by the last remark in Lemma \sdlema,
$$I_2={d\over d\Omega}\bra{\Omega\int_{r_1(\Omega)}^a
\bra{u(r)-\Omega^2}^{-\frac 1,2}\>{dr\over r}}
={d\over d\Omega}\bra{\Omega\int_{\Omega^2}^{u(a)}
\bra{t-\Omega^2}^{-\frac 1,2}w(t)\,dt}$$
for
$$ w(t)={r'(t)\over r(t)}$$
\vskip1em
In order to compute $w$, we consider the following:
\vskip1em

Let $x_0$ and $\epsilon'$ be  small 
numbers satisfying
{\itemize
\item{a.} $u'(x)>1-\epsilon'$ for $x\in\ccint 0,{x_0}$.
\item{b.} For a sequence $\{\bar b_n\}\in l^1$, we have
$$u(x)=x\bra{1+\sum_{n=2}^\infty\bar b_n\bar x^{\frac n,2}}
\quad x\le x_0$$
Furthermore, we know that
$$
1+\sum_{n=2}^\infty\bar b_n z^{n}\in{\cal U}(\vsz I,m;0,C_g;2)
\eqno\sdtdefb$$
with $ I_0=\ccint 1,1$ and  $ I_1=\ccint 0,0$.
Here, $\bar x$ denotes $x/x_0$, and
$\bar b_n=b_n\cdot x_0^{\frac n,2}$.

}


\vskip1em
Define
$$\bar t = \bra{{t\over x_0}}^{\frac 1,2}$$



We also consider a small number $\eta\le u(x_0)$. It will be chosen so
that \sdtb\ below holds.
We start by obtaining expressions for $u'(r)$ and $u''(r)$ similar
to the one for $u$ in \sdtdefb. Note first that \sdtdefb\ is
equivalent to an expression for $y(x)$. Then, by the Thomas--Fermi
equation, and by integration, we have

$$\eqalignno{
y''(x)&=x^{-\frac 1,2}\bra{\sum_{n=0}^\infty \bar b_n\bar x\>^{\frac n,2}}
^{\frac 3,2}
=x^{-\frac 1,2}\sum_{n=0}^\infty y''_n\bar x\>^{\frac n,2}
=x^{-\frac 1,2}y_{pp}(\bar x^{\frac 1,2})
\qquad y''_0=1\cr
y'(x)&=\sum_{n=0}^\infty y'_n\bar x\>^{\frac n,2}
=y_{p}(\bar x^{\frac 1,2})
\qquad y'_n=\cases{
-w_0 & $n=0$\cr
\vbox{\vskip1em}
\fra 2,nx_0^{\frac 1,2}y''_{n-1} &$n>0$\cr}\cr}$$
from which we obtain
$$\eqalignno{
u'(x)&=xy'(x)+y(x) = \sum_{n=0}^\infty u'_n\bar x\>^{\frac n,2}
=u_{p}(\bar x^{\frac 1,2})
&\sdtup\cr
&\qquad u'_n=\cases{
1 & $n=0$\cr
0 & $n=1$\cr
\bar b_n+y'_{n-2}\cdot x_0 &$n\ge 2$\cr}\cr
u''(x)&= xy''(x)+2y'(x)
=u_{pp}(\bar x^{\frac 1,2})
=
\sum_{n=0}^\infty u''_n\bar x\>^{\frac n,2}
&\sdtupp\cr
&\qquad u''_n=\cases{
-2w_0&$n=0$\cr
2y_n'+x_0^{\frac 1,2}y''_{n-1}&$n>0$\cr}
\cr}$$
Note that since we know a neighborhood of type 2 that contain
$y$, we can enclose $y_{pp}$ and $u_{p}$ also in neighborhoods
of type 2, and $y_{p}$ and $u_{pp}$ in neighborhoods of type 3.

\vskip1em
We start our analysis
understanding $r(t)$.

First, a technical algorithm.


\algorithm{\sdtalc}
Given a function $r(t)=t\cdot R(\bar t)$
with
$$R(z)\in{\cal U}^0(\vsz {a^\ast},N; C_N,0;\infty;S)\qquad a^\ast_0=\ccint 1,1$$
valid for $\bar t\in S\subset\ccint 0,1$,
and given a neighborhood ${\cal U}^1$ in $H^1$,
we can compute
another neighborhood ${\cal U}^0_2$, also of type $\infty$ in $C^0$,
also valid on $\bar t\in S$,
such that if
$$f(t)
 = \sum_{n=0}^\infty \bar c_n \bar t\>^{n}\in {\cal U}^1(\vsz I,N;C_h,C_g,m)$$
then $G(\bar t)\in {\cal U}^0_2$ for
$$G(\bar t)=
f\bracket{r(t)}=\sum_{n=0}^\infty \bar c_n \bra{{r(t)\over x_0}}^{\frac n,2}$$

We assume that
$0<r(t)\le x_0$ for $\bar t\in S$.

\description
Consider any $a_i\in a^\ast_i$.
Put
$$\bra{\sum_{n=0}^N a_n \bar t\>^n+\bar t^{N+1}h(\bar t)}^\gamma
=
\sum_{n=0}^{n_0} a_{n,\gamma} \bar t\>^n+\bar t\>^{n_0+1} h(\bar t;
\gamma,n_0+1)
 $$
with $a_{n,\gamma}\in a^\ast_{n,\gamma}$, the $a^\ast_{n,\gamma}$
easily determined intervals, 
$$\lnorm{h(\bar t;\gamma,n_0)}_{C^0}\le \epsilon_{\gamma,n_0}.$$
We can see, on one hand, that
 $$\eqalignno{
 \sum_{n=0}^N \bar c_n \bra{{r(t)\over x_0}}^{\frac n,2}
&=
\sum_{n=0}^N \bar c_n\bar t\>^n \bbracket{\sum_{k=0}^{N-n}
a_{k,\frac n,2}\bar t\>^k+\bar t\>^{N+1-n} h(\bar t; \fra k,2, N-n)}
\cr
&=\sum_{n=0}^Nd_n\bar t\>^n+\bar t\>^{N+1}h(t)
\cr}$$
with
$$\eqalignno{
\abs{h(t)}&\le \sum_{n=0}^N\abs{\bar c_n}\epsilon_{\ffra n,2,N-n+1}
\cr
&\le \sum_{n=0}^N\abs{I_n}\epsilon_{\ffra n,2,N-n+1}
+C_g\max_{n=m,\ldots,N}\epsilon_{\ffra n,2,N-n+1}\cr}$$
and
$$\eqalignno{
d_n&=\sum_{i+j=n}\bar c_i\cdot a_{j,\ffra i,2}\cr
&\in\sum_{i+j=n}I_i\cdot a^\ast_{j,\ffra i,2}\pm\epsilon_n\eqbydef d_n^\ast
\cr}$$
where

$$\epsilon_n\le\cases{C_g\sup_{m\le i\le n}\abs{a_{n-i, \ffra i,2}}
&if $n\ge m$\cr
\vbox{\vskip1em}\cr
\hfil 0 \hfil & otherwise\cr}$$
On the other hand, since

 $$\eqalignno{
 \sum_{n=N+1}^\infty \abs{\bar c_n} \bra{{r(t)\over x_0}}^{\frac n,2}
&\le \bra{C_g+C_h}\bra{r(t)\over x_0}^{\fra (N+1),2}\cr
&\le \bra{C_g+C_h}\bar t\>^{N+1}\bra{1+\sum_{n=1}^N\abs{a_n}+C_N}^{
\fra (N+1),2}
\cr}$$
we conclude that
$$f(r(t))=G(\bar t)\in {\cal U}^0(\vsz {d^\ast},N;\tilde
 C_h,0;\infty)$$
with
$$\displaylines{
\quad\tilde C_h=\bra{C_g+C_h}
\bra{1+\sum_{n=1}^N\abs{a_n}+C_N}^{\fra (N+1),2}+
\sum_{n=0}^N\abs{I_n}\epsilon_{\frac n,2,N-n+1}
\hfill\cr
\hfill
+C_g\max_{n=m,\ldots,N}\epsilon_{\frac n,2,N-n+1}
\qquad\qquad\llap{\mathendpf}\cr}$$






\algorithm{\sdtrt}
Given $N\ge 0$, we produce intervals $a_2^\ast,\ldots,a_N^\ast$, and a constant
$C_N$, such that
$$\abs{r(t)-t\Bracket{1+\sum_{n=2}^Na_n\bar t\>^{n}
}}\le C_N\,t\cdot\bar t\>^{ N+1}$$
for constants $a_i\in a^\ast_i$, $i=2,\ldots,N$, and
for $t\le \eta$.


\description
First, we will construct an inductive procedure to define
numbers $a_n$ such that
$$u\bra{r_N(t)}=t\bra{1+\bigo{\bar t\>^{N+1}}}\qquad t\to 0\eqno\sdta$$
where
$$r_N(t)=t\bra{1+\sum_{n=2}^Na_n\bar t\>^n}$$



By induction. For $N=1$, let $r_0(t) = t$.
Note that $r(t)\ge r_0(t)$,
that $r_0(t)\le x_0$ for $\bar t\le 1$, and that,
if $t\le \eta\le u(x_0)$
then $\bar t\le 1$.

Therefore, we have
$$u(r_0(t)) = t \bra{1+\sum_{n\ge 2} b_n t^{\frac n,2}}$$

Thus,
$$\abs{r_0(t)-r(t)}\le t\>{\abs{\sum_{n\ge 2}b_n t^{\frac n,2}}
\over \inf_{r\in \ccint r_0(t),{r(t)}}|u'(r)|}\eqno(4.6)$$

Since, for $t$ small enough, $r(t)\le x_0$, the denominator is
bounded below by $(1-\epsilon')$, and we conclude
$$r_0(t)-r(t) = \bigo{t^2}$$


\vskip1em
For general $N$, we set
$$r_N(t)=t\bra{1+\sum_{n=2}^Na_n\bar t\>^n}$$
where $a_2,\ldots,a_{N-1}$ satisfy the induction hypothesis.

Note that we have
$${\sum_{n=1}^\infty b_n r_N(t)^{\frac n,2}-
\sum_{n=1}^\infty b_n r_{N-1}(t)^{\frac n,2}}=
\bigo{\bar t\>^{N+1}}\eqno\sdteqa$$

Thus, if for any real number $\gamma$ we put
$$\bra{1+\sum_{n=2}^{N-1} a_n \bar t\>^n}^\gamma
= \sum_{n=0}^{N} a_{n,\gamma}\bar t\>^{n}+
\bigo{\bar t\>^{N+1}}
\eqno\sdteqb$$
 we see that
$$\eqalignno{
u(r_{N-1}(t)) &= t\bra{1+\sum_{n=2}^{N-1} a_{n}\bar t\>^n}
\cr
&\qquad\cdot\bra{\sum_{n=0}^N
 \bar b_n \bar t\>^n\Bracket{\sum _{i=0}^{N}a_{i,\frac n,2}\bar t\>^{i}
+\bigo{\bar t\>^{N+1}}}+\bigo{\bar t\>^{N+1}}}\cr
&=
t\bra{1+\sum_{n=2}^{N-1} a_{n}\bar t\>^n}
\cdot\bra{\sum_{n=0}^N c_n\bar t\>^{n}+
\bigo{\bar t\>^{N+1}}}&\sdtc
\cr}$$
where
$$c_k = \sum_{n=0}^k\bar b_n\cdot a_{k-n,\frac n,2}\qquad c_0=1.$$


By the induction hypothesis, \sdtc\
 is equal to $t(1+\bigo{\bar t\>^N})$. Thus,
using \sdteqa, we  can see that
$$\eqalignno{
u(r_{N}(t)) &=
t\bra{1+\sum_{n=2}^{N-1} a_{n}\bar t\>^n + a_N\bar t\>^N}
\cdot\bra{\sum_{n=0}^N c_n\bar t\>^{n}+
\bigo{\bar t\>^{N+1}}}\cr}$$
where the $c_n$ here are the same as those in (4.9).

Therefore, by putting
$$a_N=-\sum_{k=1}^{N-2}a_{N-k}c_k-c_N$$
we get rid of all $\bar t\>^N$ terms, thus obtaining \sdta.

So far, we have proved the existence of numbers $a_n$ such that
\sdta\ is satisfied.

This procedure also gives us an algorithm to compute the $a_n^\ast$.
Indeed, bounds $a^\ast_{n,\gamma}$ for
the $a_{n,\gamma}$ can be computed explicitly, since by
the induction hypothesis we already know $a^\ast_i$, for
$i=1,\ldots,N-1$. As for the $c_k$, recalling \sdtdefb,
$$ c_k=\sum_{n=0}^k \bar b_n\cdot a_{k-n,\frac n,2}
\in \sum_{n=0}^k I_n\cdot a^\ast_{k-n,\frac n,2}\pm\epsilon_k$$
with $$|\epsilon_k |\le\cases{
 \sup_{k\ge n\ge 2}\abs{a_{k-n,\frac n,2}}\cdot C_g & if $k\ge 2$\cr
0 & if $k\le 1$\cr}$$
In particular, it follows immediately that $a_2=-\bar
 b_2=x_0\cdot w_0\in
 -I_2$.

\vskip2em
 To obtain
a good value for the constant  $C_N$, we proceed as follows:

First, check that
$$\eta\cdot
\bra{1+\sum_{n=2}^N\abs{a_n}}\le x_0\eqno(4.9a)$$
(See also
\sdtb\ below.)
This allows us to invoke Algorithm~\sdtalc, with
$S=\ccint 0,{\sqrt{{ \eta/x_0}}}$,
to obtain
$$y(r_N(t))=f(\bar t)\in
{\cal U}^0_1(\cdots; \cdots ;\infty)$$
and thus we can write
$$u\bra{r_N(t)}=r_N(t)\cdot f(\bar t)\equiv t\cdot g(\bar t)$$
with $g$ belonging to ${\cal U}^0(\vsz I,N;
\tilde{\tilde C}_h,0;\infty;t\le\eta)$, the product neighborhood
of
$${\cal U}_2(\vsz a^\ast,N; 0,0;\infty;t\le\eta)$$
and ${\cal U}^0_1$.
Now, since
\sdta\ implies that $g(\bar t)=1+\bigo{\bar t\>^{N+1}}$,
we can take $I_0=\ccint 1,1$ and $I_i=\ccint 0,0$,
for $i=1,\ldots,N$. Note that this is
relied crucially on the fact that
${\cal U}^0$ is of type $\infty$; in fact, since
$$g(\bar t)\in
{\cal U}^0(\vsz I,N;
\tilde{\tilde C}_h,0;\infty;t\le\eta)$$
we can find constants $p_i\in I_i$ such that
$$\abs{g(\bar t)-\sum_{k=0}^Np_i\bar t\>^k}\le \tilde{\tilde C_h}\bar t\>^{N+1}$$
On the other hand, since 
$g(\bar t)=1+\bigo{\bar t\>^{N+1}}$, we must have $p_0=1$ and $p_i=0$ for $i=1,\ldots,N$, thus
$$\abs{g(\bar t)-1}\le \tilde{\tilde C_h}\bar t\>^{N+1}.$$
If Algorithm~4.1 had produced
a neighborhood of any other type, it would have been harder to conclude this
without changing $\tilde{\tilde C_h}$.
More precisely, if we have $\phi(t)$ defined on $t\in\ccint -1,1$ such
 that
$$\abs{\phi(t)-\sum_{n=0}^Na_nt^n}\le C t^k
\quad{\rm and}\quad \phi(t)-\sum_{n=0}^Na_nt^n=\bigo{t^{N+1}}$$
for $t\in\ccint -1,1$, we cannot conclude
$$\abs{\phi(t)-\sum_{n=0}^Na_nt^n}\le C t^{N+1}$$
with the same constant $C$ unless $k>
N$. Counterexamples with $k\le N$ are
readily available (simply take $N=k=0$, $\phi(t)=t^3-t$, $a_0=0$; then,
$|\phi|\le 2^{-\frac 1,2}$ but $\phi(t)$ is not bounded by
$2^{-\frac 1,2}|t|$.)
\vskip1em
So, we have that
$$\abs{u\bracket{r_N(t)}-t}\le \tilde{\tilde C}_h\cdot
 t\cdot\bar t\>^{N+1}\qquad t\le\eta$$
Next, note that
$$\abs{r_N(t)-r(t)}\le{\abs{u(r_N(t))-t}\over
\inf_{0\le r\le \max( r(t),r_N(t))}\abs{u'(r)}}$$
Then, the fact that $\eta\le u(x_0)$ and (4.9a) imply that
$$\abs{u'(r)}\ge
(1-\epsilon')\qquad 0\le r\le \max\bra{r(t),r_N(t)}
\quad t\le\eta
$$

from which the lemma follows by taking
$$C_N={\tilde{\tilde C_h}\over (1-\epsilon')}
\eqno\mathendpf
$$

\algorithm{\sdtalb}
We produce a neighborhood ${\cal U}^0(\vsz I,N; C_h,0;\infty)$
such that
$$h(t) \eqbydef tw'(t)+w(t) =  f(\bar t)\qquad f\in{\cal U}$$
for $t\le \eta$.
\description

We note that
$$r'(t)={1\over u'\bracket{r(t)}}\qquad
r''(t)=-\bra{r'(t)}^3u''\bracket{r(t)}$$
Therefore, we check that
$$\eta\cdot\bra{1+\sum_{n=1}^N\abs{a_n}+C_N}\le x_0\eqno\sdtb$$
and as a result of this, we can apply
Algorithm \sdtalc\ and
obtain neighborhoods of type $\infty$ in $C^0$ containing
functions $f$, $f_p$ and $f_{pp}$ s.t.
$$r(t)=tf(\bar t)
\qquad r'(t)=f_p(\bar t)\qquad
r''(t)=f_{pp}(\bar t)$$
which are valid for $t\le \eta$. These functions are obtained
by putting
$$f_p(\bar t)={1\over u_p\bra{\bracket{r( t)/x_0}^{\frac 1,2}}}
\qquad
f_{pp}(\bar t)=-f_p^3\cdot u_{pp}\bra{\bracket{r(t)/x_0}^{\frac 1,2}}$$

Note that with this definition, $f$ and $f_p$ are normalized to
be 1 at 0, and $f_{pp}(0)=2w_0$.




Thus,
$$
\eqalignno{
w(t)&={r'(t)\over r(t)}={1\over t}\bra{{f_p(\bar t)\over f(\bar t)}}
\cr
w'(t)&=
{r''(t)\over r(t)}
-\bra{r'(t)\over r(t)}^2
=
{1\over t}\bra{{f_{pp}(\bar t)\over f(\bar t)}}
-{1\over t^2}\bra{{f_p(\bar t)\over f(\bar t)}}^2
\cr}$$
and
$$\eqalignno{h(t) = tw'(t)+w(t)&=t^{-1}\bra{
{f_p(\bar t)\over f(\bar t)}
-\bra{{f_p(\bar t)\over f(\bar t)}}^2}
+\bra{f_{pp}(\bar t)\over f(\bar t)}\cr
&= f_h(\bar t)\cr}$$
for a function $f_h$ belonging to an easily computable
neighborhood of type $\infty$ in $C^0$.

Note that by our normalization, the $t^{-1}$ terms drop out.
Furthermore, there are no $t^{-1}\bar t$ terms since
neither $f$ nor $f_p$ have $\bar t$ terms, and
in fact $f_h(0)=w_0$, which we can easily see as follows:
first, $f(\bar t)=1+w_0t+\bigo{\bar t\>^3}$,
$f_p(\bar t)=1+2w_0t^2+\bigo{\bar t\>^3}$ and 
$f_{pp}(\bar t)=2w_0+\bigo{\bar t}$, therefore
$$t^{-1}\bra{
{f_p(\bar t)\over f(\bar t)}
-\bra{{f_p(\bar t)\over f(\bar t)}}^2}=-w_0+\bigo{t^{-1}\bar t\>^3}=-
w_0+\bigo{\bar t}$$
and
$${f_{pp}(\bar t)\over f(\bar t)}=2w_0+\bigo{\bar t}$$
thus $f_h(0)=w_0$.

 
Moreover, if we set
$${f_p(\bar t)\over f(\bar t)}
-\bra{{f_p(\bar t)\over f(\bar t)}}^2
+t\cdot\bra{f_{pp}(\bar t)\over f(\bar t)}
\in {\cal U}^0(\vsz I,{N+2};\epsilon_h,0;\infty)$$
then
$$f_h\in {\cal U}^0(x_0^{-1}\cdot I_2,\ldots,x_0^{-1}I_{N+2};
x_0^{-1}\epsilon_h,0;\infty;t\le\eta)$$
valid for $t\le\eta$.

\vskip1em
Now, let
$$f_h(\bar t) = \sum_{n=0}^Na_n\bar t\>^n+H(\bar t)$$
with
$$\abs{H(\bar t)}\le \epsilon_h\abs{\bar t}^{N+1}
\qquad
t\le \eta$$
\vskip2em

Finally, then, let $\delta$ be a small number such that $u(\delta)\le\eta$,
set $\bar\Omega_2\le \sqrt{u(\delta)}$,
and consider $\Omega\le\bar\Omega_2$ for which we set
 $a(\Omega)\equiv
 \delta$:

$$\displaylines{
{d\over d\Omega}\bra{
\Omega\int^{\delta}_{r_1(\Omega)}\bra{u(r)-\Omega^2}^
{-\frac 1,2}{dr\over r}}=
{d\over d\Omega}\bra{\Omega^2\int_{1}^{\Omega^{-2}u(\delta)}\bra{t-1}^
{-\frac 1,2}w(t\Omega^2)\,dt}\cr
\hfill\eqalign{&= 2\Omega\int_{1}^{\Omega^{-2}u(\delta)}\bra{t-1}^
{-\frac 1,2}h(t\Omega^2)\,dt\cr
&\qquad -2\bra{u(\delta)-\Omega^2}^{-\frac 1,2}w(u(\delta))u(\delta)\cr
&= 2\Omega\sum_{n=0}^N{a_n x_0^{-\frac n,2}}\Omega^{n}
\int_{1}^{\Omega^{-2}u(\delta)}\bra{t-1}^{-\frac 1,2}t^{\ffra n,2}\,dt
\cr
&\qquad+\tilde h(\Omega)
-\bra{u(\delta)-\Omega^2}^{-\frac 1,2}{2u(\delta)\over \delta u'(\delta)}\cr
}\qquad\qquad\llap{(4.11a)}\cr}$$

with
$$\abs{\tilde h(\Omega)}\le
 2\Omega^{N+2}\epsilon_h
{x_0}^{-\fra (N+1),2}
\int_{1}^{\Omega^{-2}u(\delta)}
          \bra{t-1}^{-\frac 1,2}t^{\fra (N+1),2}\,dt
\eqno{(4.11b)}
$$

At this point, we introduce another small number,
$\Omega_\epsilon$, on which we impose,
first, the condition
$$u(\delta)\ge 2\Omega_\epsilon^2\eqno\sdtconda$$
Expression (4.11a) above can be computed easily for all
$\Omega\ge \Omega_\epsilon$.
The evaluation of integrals of the type $\int (t-1)^{-\frac 1,2}
t^\gamma\,dt$ can be done by enclosing the integrand locally
in neighborhoods in $H^1$. We omit the trivial details.

\vskip1em
When $\Omega\le\Omega_\epsilon$, consider first the following trivial Lemma.

\lem{\sdzlema}
If $R\ge 2$, then
{\itemize
\item{1.}
$\displaystyle\int_1^R(t-1)^{-\ffra 1,2}t^\gamma\,dt\>
\le 2\,R^{\gamma+\ffra 1,2}$ when $\gamma\ge 0$.
\item{2.}
$\displaystyle\int_1^R(t-1)^{-\frac 1,2}t^\gamma\,dt\>
\ge 1 $ when $-1\le \gamma$.
\item{3.}
$\displaystyle\int_1^R(t-1)^{-\ffra 1,2}t^\gamma\,dt\>
=\bigo{ R^{\gamma+\ffra 1,2}}$ when $\gamma> -\fra 1,2$.

}
\endt

Then, by \sdtconda, a., b., c. and Lemma~4.4,
$$
{d\over d\Omega}\bra{\Omega\int^{\delta}_{r_1(\Omega)}\bra{u(r)-\Omega^2}^
{-\frac 1,2}{dr\over r}}$$
is bounded below by
 $$T_1(\Omega)\eqbydef
4\sqrt{u(\delta)}\sum_{a_n<0}a_n\bra{u(\delta)\over x_0}^{\ffra n,2}
-\bra{u(\delta)-\Omega^2}^{-\frac 1,2}{2u(\delta)\over \delta u'(\delta)}
\eqno\sdtxxa
$$

where we have set $a_{N+1}=-\epsilon_h$.

\title{Computation of $I_3$}
Here, we also consider two cases: $\Omega\ge{\bar \Omega_3}$ and
$\Omega<{\bar \Omega_3}$. The first case is dealt with in a
similar manner to $I_2$. We omit the trivial modifications.
The second case is also treated in much the same way, with
a few differences coming mainly from the different powers in
the asymptotic expansion of $u$ at 0 and at $\infty$.
We include the details, although many of the
differences are basically
typographical considerations, because conclusions
are somewhat different. In particular, as will be noted below,
$I_3$ is mainly responsible for the singularity
of $F''$ at $\Omega=0$.






\vskip1em
Let $M$ be a large
number satisfying
{\itemize
\item{a.} $u'(M)<0$ and $u''(x)\ge 0$ on $\coint M,\infty$.
\item{b.} For a sequence $\{\bar b_n\}\in l^1$, we have
$$u(x)=
{144\over x^2}u_0(x)=
{144\over x^2}\bra{1+\sum_{n=1}^\infty\bar b_n\bar x^{-n\alpha}}
\quad x\ge M\eqno\sdzdefba$$
Furthermore, we know that
$$
1+\sum_{n=1}^\infty\bar b_n z^{n}\in{\cal U}(\vsz I,m;0,C_g;2)
\qquad I_0=\ccint 1,1\eqno\sdzdefb$$
Here, $\bar x$ denotes $x/M$, and, as a rule, we set
$\bar b_n=b_n/M^{n\alpha}$.
\item{c.} $\abs{u'(x)}\ge 2\cdot 144\,x^{-3}(1-\epsilon')$ for $x\ge M $.

}


\vskip1em
Define
$$\bar t = \bra{{M\,t^{\frac 1,2}\over 12}}^\alpha$$



We also consider a small number $\eta\le u(M)$. It will be chosen so
that \sdzb\ below holds.


We start by obtaining expressions for $u'(r)$ and $u''(r)$ similar
to the one for $u$ in \sdzdefb. Note first that \sdzdefb\ is
equivalent to an expression for $y(x)$. Then, by the Thomas--Fermi
equation, and by integration, we have

$$\eqalignno{
y''(x)&={12\cdot 144\over x^{5}}\bra{\sum_{n=0}^\infty \bar b_n\bar x\>^{
-n\alpha}}^{\frac 3,2}=
{12\cdot 144\over x^{5}}\sum_{n=0}^\infty y''_n\bar x\>^{
-n\alpha}
\qquad y''_0=1\cr
y'(x)&={-3\cdot 144\over x^4}\sum_{n=0}^\infty \bra{{4\over 4+n\alpha}}
y''_n\bar x\>^
{-n\alpha}
={-3\cdot 144\over x^4}\sum_{n=0}^\infty y'_n\bar x\>^
{-n\alpha}
\qquad y'_0=1\cr}$$
from which we obtain
$$\eqalignno{
u'(x)&=xy'(x)+y(x) =
-{2\cdot 144\over x^3}\sum_{n=0}^\infty\bra{{3y'_n-\bar b_n\over 2}}
\bar x\>^{-n\alpha}\cr
&=
-{2\cdot 144\over x^3}u_{p}(\bar x\>^{-\alpha})
&\sdzup\cr
u''(x)&= xy''(x)+2y'(x) ={6\cdot 144\over x^4}
\sum_{n=0}^\infty \bra{2y''_n-y'_n}\bar x\>^{-n\alpha}
\cr&=
{6\cdot 144\over x^4}
u_{pp}(\bar x\>^{-\alpha})
&\sdzupp\cr}$$
for $u_p$ and $u_{pp}$ in $H^1$, normalized so $u_p(0)=u_{pp}(0)=1$.

The strategy will be, as in the case for $I_2$, to change
variables to the inverse function of $u$, $r(t)$.
\vskip1em
\algorithm{\sdzalb}
Given a function
$$r(t)=12 t^{-\frac 1,2}\cdot R(\bar t)
$$
with
$$R(z)\in{\cal U}^0(\vsz {a^\ast},N;C_N,0;\infty;S)\qquad a^\ast_0=\ccint 1,1$$
satisfying the hypothesis
$$r(t)\ge M\qquad {\rm whenever\ }\bar t\in S\subset\ccint -1,1$$
and  given
$$
  g(x) = \sum_{n=0}^\infty \bar c_n z^{n}
\in {\cal U}^1(\vsz I,N;C_h,C_g,m)\qquad z = (x/M)^{-\alpha}$$

we compute another neighborhood of type $\infty$
in $C^0$, such that, if we set
$$G(\bar t)                   =
g\bra{r(t)}=
\sum_{n=0}^\infty \bar c_n \bra{{r(t)\over M}}^{-n\alpha}
$$ then $$G(\bar t)
\in {\cal U}^0(\vsz d^\ast,N; C,0;\infty;S)$$
valid for $\bar t\in S$.

\description
Consider $a_j\in a^\ast_j$, for $j=0,\ldots,N$.
Put
$$\bra{\sum_{n=0}^N a_n \bar t\>^n+\bar t^{N+1}h(\bar t)}^\gamma
=
\sum_{n=0}^{n_0} a_{n,\gamma} \bar t\>^n+\bar t\>^{n_0+1} h(\bar t;
\gamma,n_0+1)
 $$
with $a_{n,\gamma}\in a^\ast_{n,\gamma}$, and
$$\lnorm{h(\bar t;\gamma,n_0)}_0\le \epsilon_{\gamma,n_0}$$

We can see, on one hand, that
 $$\eqalignno{
 \sum_{n=0}^N \bar c_n \bra{{r(t)\over M}}^{-n\alpha}
&=
\sum_{n=0}^N \bar c_n\bar t\>^n \bbracket{\sum_{k=0}^{N-n}
a_{k,-n\alpha}\bar t\>^k+\bar t\>^{N+1-n} h(\bar t; -n\alpha, N-n+1)}
\cr
&=\sum_{n=0}^Nd_n\bar t\>^n+\bar t\>^{N+1}h(t)
\cr}$$
with
$$\eqalignno{
\abs{h(t)}&\le \sum_{n=0}^N\abs{\bar c_n}\epsilon_{-n\alpha,N-n+1}
\cr
&\le \sum_{n=0}^N\abs{I_n}\epsilon_{-n\alpha,N-n+1}
+C_g\max_{n=m,\ldots,N}\epsilon_{-n\alpha,N-n+1}\cr}$$
and
$$\eqalignno{
d_n&=\sum_{i+j=n}\bar c_i\cdot a_{j,-i\alpha}\cr
&\in\sum_{i+j=n}I_i\cdot a^\ast_{j,-i\alpha}\pm\epsilon_n\eqbydef d_n^\ast
\cr}$$
where

$$\epsilon_n\le\cases{C_g\sup_{i=m,\ldots,n}\abs{a_{n-i,-i\alpha}}
&if $n\ge m$\cr
\vbox{\vskip1em}\cr
\hfil 0 \hfil & otherwise\cr}$$
On the other hand, since

 $$\eqalignno{
 \abs{\sum_{n=N+1}^\infty \bar c_n \bra{{r(t)\over M}}^{-n\alpha}}
&\le \bra{C_g+C_h}\bra{r(t)\over M}^{-(N+1)\alpha}\cr
&\le \bra{C_g+C_h}\bar t\>^{N+1}\bra{1-\sum_{n=1}^N\abs{a_n}-C_N}^{-(N+1)\alpha}
\cr}$$
we conclude that
$$g(r(t))=G(\bar t)\in {\cal U}^0(\vsz {d^\ast},N;\tilde C_h,0;\infty)$$
with
$$\displaylines{
\quad\tilde C_h=\bra{C_g+C_h}
\bra{1-\sum_{n=1}^N\abs{a_n}-C_N}^{-(N+1)\alpha}+
\sum_{n=0}^N\abs{I_n}\epsilon_{-n\alpha,N-n+1}
\hfill\cr
\hfill
+C_g\max_{n=m,\ldots,N}\epsilon_{-n\alpha,N-n+1}
\quad\cr}$$
If  we cannot check that
$$\bra{1-\sum_{n=1}^N\abs{a_n}-C_N}> 0$$
the algorithm fails.
\endpf

Now, we analyze $r(t)$.

\algorithm{\sdrt}
Given $N\ge 0$, we produce intervals $a_1^\ast,\ldots,a_N^\ast$, and a constant
$C_N$, such that
$$\abs{r(t)-12\,t^{-\frac 1,2}\Bracket{1+\sum_{n=1}^Na_n\bar t\>^{n}
}}\le C_N\,t^{-\frac 1,2}\bar t\>^{ N+1}$$
for constants $a_i\in a^\ast_i$, $i=1,\ldots,N$, and
for $t\le \eta$.


\description
First, we will construct an inductive procedure to define
numbers $a_n$ such that
$$r_N(t)=12t^{-\frac 1,2}\bra{1+\sum_{n=1}^Na_n\bar t\>^n}$$
satisfies
$$u\bra{r_N(t)}=t\bra{1+\bigo{\bar t\>^{N+1}}}\qquad t\to 0\eqno\sdza$$


By induction. For $N=0$, let $r_0(t) = 12 t^{-\frac 1,2}$.
Note that, since $u(x)<144 x^{-2}$, then $r(t)<r_0(t)$.
Also, $r_0(t)\ge M$ for $\bar t\le 1$, and if $t\le \eta\le u(M)$
then $\bar t\le 1$. Furthermore, $t\le\eta\le u(M)$ implies
$r(t)\ge M$, which we will need below.

Therefore, we have
$$u(r_0(t)) = t \bra{1+\sum_{n\ge 1} b_n 12^{-n\alpha}t^{n\ffra\alpha,2}}$$

Since $u(r(t))=t$,
$$\abs{r_0(t)-r(t)}\le t\>{\abs{\sum_{n\ge 1}b_n
 12^{-n\alpha}t^{n\ffra
 \alpha,2}                      }
\over \inf_{r\in \ccint r(t),{r_0(t)}}|u'(r)|}$$

Note that hypotheses a. and c. imply
$$\abs{u'(r)}\ge \abs{u'(r_0(t))}\ge {t^{\ffra 3,2}\over 6}(1-\epsilon')
\qquad{\rm provided\ } r\in \ccint r(t),{r_0(t)}\cap\coint M,\infty$$

Our previous remarks, and our assumption on $\eta $ then imply
$$\abs{r_0(t)-r(t)}\le C\,t^{\ffra \alpha-1,2}\qquad  t \le \eta.$$
Here we have used the fact that $r(t)\ge M$ for $t<\eta$.


\vskip1em
For general $N$, we set
$$r_N(t)=12\,t^{-\frac 1,2}\bra{\sum_{n=0}^Na_n\bar t\>^n}\qquad a_0=1$$
where $\vs a,{N-1}$ satisfy the induction hypothesis.

Note that we have
$${\sum_{n=1}^\infty b_n r_N(t)^{-n\alpha}-
\sum_{n=1}^\infty b_n r_{N-1}(t)^{-n\alpha}}=
\bigo{\bar t\>^{N+1}}\eqno\sdeqa$$

Thus, if for any real number $\gamma$ we put
$$\bra{\sum_{n=0}^{N-1} a_n \bar t\>^n}^\gamma
= \sum_{n=0}^{N} a_{n,\gamma}\bar t\>^{n}+
\bigo{\bar t\>^{N+1}}
\eqno\sdeqb$$
 we see that


$$\eqalignno{
u(r_{N-1}(t)) &= t\bra{\sum_{n=0}^N a_{n,-2}\bar t\>^n+\bigo{\bar t\>^{N+1}}}
\cr
&\qquad\cdot\bra{\sum_{n=0}^N \bar b_n \bar t\>^n\Bracket{\sum _{i=0}^{N}a_{i,-n\alpha}\bar t\>^{i}
+\bigo{\bar t\>^{N+1}}}+\bigo{\bar t\>^{N+1}}}\cr
&=
t\bra{\sum_{n=0}^N a_{n,-2}\bar t\>^n+\bigo{\bar t\>^{N+1}}}
\cdot\bra{\sum_{n=0}^N c_n\bar t\>^{n}+
\bigo{\bar t\>^{N+1}}}\qquad\qquad &\sdzc
\cr}$$
where
$$c_k = \sum_{n=0}^k\bar b_n\cdot a_{k-n,-n\alpha}\qquad c_0=1$$


By the induction hypothesis, \sdzc\
 is equal to $t(1+\bigo{\bar t\>^N})$. Thus,
using \sdeqa, we  can see that
$$\eqalignno{
u(r_{N}(t)) &=
t\bra{\sum_{n=0}^N a_{n,-2}\bar t\>^n - 2a_N\bar t\>^N+\bigo{\bar t\>^{N+1}}}
\cdot\bra{\sum_{n=0}^N c_n\bar t\>^{n}+
\bigo{\bar t\>^{N+1}}}\cr}$$
for exactly the same $c_n$ as in \sdzc.

Therefore, by putting
$$a_N=\oh\sum_{m+n=N}a_{n,-2}c_m$$
we get rid of all $\bar t\>^N$ terms, thus obtaining \sdza.

So far, we have proved the existence of numbers $a_n$ such that
\sdza\ is satisfied.

This procedure also gives us an algorithm to compute the $a_n^\ast$.
Indeed, bounds $a^\ast_{n,\gamma}$ for
the $a_{n,\gamma}$ can be computed explicitly, since by
the induction hypothesis we already know $a^\ast_i$, for
$i=1,\ldots,N-1$. As for the $c_k$, recalling \sdzdefb,
$$ c_k=\sum_{n=0}^k \bar b_n\cdot a_{k-n,-n\alpha}
\in \sum_{n=0}^k I_n\cdot a^\ast_{k-n,-n\alpha}\pm\epsilon_k$$
with $$|\epsilon_k |\le\cases{
 \sup_{2\le n\le k}\abs{a_{k-n,-n\alpha}}\cdot C_g & if $k\ge 2$\cr
0 & if $k\le 1$\cr}$$
In particular, it is easy to see that $a_1=\bar
b_1/2\in \oh I_1$ (recall (4.13)).

\vskip2em
 To obtain
a good value for the constant  $C_N$, we proceed as follows:

By Algorithm \sdzalb,
 we can construct a neighborhood ${\cal U}_1^0$
such that
$$f(\bar t)=u_0\bra{r_N(t)}\in
 {\cal U}^0_1(\vsz I,N;
\tilde{\tilde C}_h,0;\infty;t\le\eta)
$$
(see (4.13a))
provided $r_N(t)\ge M$ for $t\le \eta$. At this point then we check
 that
$$12\eta^{-\fra 1,2}\bra{1-\sum_{n=1}^N\abs{a_n}}\ge M$$
See also
\sdzb\ below.

If we put
$$ g(\bar t)=\bra{\sum_{n=0}^N a_n \bar t\>^n}^{-2}\in{\cal U}_2(\infty)$$
then,
$$u\bra{r_N(t)}=t\cdot g(\bar t)\cdot f(\bar t)$$
with
$$F(\bar t)=g(\bar t)\cdot f(\bar t)\in {\cal U}^0(\vsz \hat I,N;\hat C_h,0;\infty)$$
and ${\cal U}^0 $ is the product neighborhood of ${\cal U}^0_1$ and
${\cal U}_2$.
Note that
\sdza\ implies that $F(\bar t)=1+\bigo{\bar t\>^{N+1}}$,
therefore, we can take $\hat I_1=\ccint 1,1$ and $\hat I_i=\ccint 0,0$,
for $i=1,\ldots,N$. This implies that
$$\abs{u\bracket{r_N(t)}-t}\le \hat C_h\cdot
 t\cdot\bar t\>^{N+1}\qquad t\le\eta$$

Now, note that
$$\abs{r_N(t)-r(t)}\le{\abs{u(r_N(t))-t}\over
\inf_{M\le r\le \max( r(t),r_N(t))}\abs{u'(r)}}$$
At this point, we check that
$a_i<0$ for all $i=1,\ldots,N$,
which implies that
$r_N(t)\le r_0(t)$.
We then conclude, by hypothesis c., that
$$\abs{u'(r)}\ge \abs{u'\bracket{r_0(t)}}\ge
\fra 1,6 t^{\frac 3,2}(1-\epsilon')\qquad M\le r\le \max\bra{r(t),r_N(t)}
$$

from which the algorithm follows by taking
$$C_N={6\hat C_h\over (1-\epsilon')}
\eqno\mathendpf
$$

Now we compute bounds for the derivatives of $r'(t)$, also in the
$C^0$ topology; this will allow us to compute bounds
for $w(t)=-{r'(t)\over r(t)}$. We check first that
$$12\eta^{-\frac 1,2}\bra{1-\sum_{n=1}^N\abs{a_n}-\tilde C_N}\ge M
\qquad \tilde C_N=\fra 1,{12}C_N
\eqno\sdzb$$

\algorithm{4.7}
We produce a neighborhood ${\cal U}^0(\vsz I,N; C_h,0;\infty;t\le\eta)$
such that
$$h(t) \eqbydef tw'(t)+w(t) = t^{-1}\cdot f(\bar t)\qquad f\in{\cal U}$$
for $t\le \eta$, where we define $w(t)=-r'(t)/r(t)$.
\description



We note that
$$r'(t)={1\over u'\bracket{r(t)}}\qquad
r''(t)=-\bra{r'(t)}^3u''\bracket{r(t)}$$
As a result of this, in view of \sdzup\ and \sdzupp\ and
Algorithm \sdzalb,
we obtain neighborhoods containing
functions $f$, $f_p$ and $f_{pp}$ s.t.
$$r(t)=12t^{-\frac 1,2}f(\bar t)
\qquad r'(t)=-6t^{-\ffra 3,2}f_p(\bar t)\qquad
r''(t)=9t^{-\ffra 5,2}f_{pp}(\bar t)$$
which are valid for $t\le \eta$, and where
$$f_p(\bar t)=f^3(\bar t)\cdot\bra{u_p\Bracket{\bracket{{r(t)\over M}}
^{-\alpha}}}^{-1}
\qquad
f_{pp}(\bar t)=f_p^3(\bar t)\cdot f^{-4}(\bar t)
\cdot u_{pp}\bra{\bracket{{r(t)\over M}}^{-\alpha}}$$



Thus,
$$
\eqalignno{
w(t)&={-r'(t)\over r(t)}={1\over 2t}\bra{{f_p(\bar t)\over f(\bar t)}}
\cr
w'(t)&=\bra{r'(t)\over r(t)}^2
-{r''(t)\over r(t)}={1\over 4t^2}\bra{{f_p(\bar t)\over f(\bar t)}}^2
-{3\over 4t^2}\bra{{f_{pp}(\bar t)\over f(\bar t)}}
\cr}$$
and
$$\eqalignno{h(t) = tw'(t)+w(t)&=t^{-1}\bra{
\oh{f_p(\bar t)\over f(\bar t)}+\fra 1,4\bra{f_p(\bar t)\over f(\bar t)}^2
-\fra 3,4{f_{pp}(\bar t)\over f(\bar t)}}\cr
&= {1\over 4t}f_h(\bar t)\cr}$$
for a function $f_h$ belonging to an easily computable
neighborhood in $C^0$.
\endpf

\vskip1em
Note now that our choice of functions
was normalized so that $f(0)=f_p(0)=f_{pp}(0)=1$, which implies that
$f_h(0)=0$. This is important: it says that if the Thomas--Fermi potential
were {\it equal} to $cx^{-3}$, then $F'(\Omega)$ (which still
makes sense) would be constant
(recall Section~1), and would make Theorem~1.1 completely wrong.
But it is not, and one can easily see that
$$f_h(\bar t) = -{\alpha^2b_1\over 2\cdot 12^\alpha}t^
{\frac\alpha,2}
+\bigo
{t^
{\alpha}
}\eqno\sdzg$$
 as follows:
recall that
$$r(t)=12t^{-\frac 1,2}\bra{1+\fra \bar b_1,2\bar t+
 \bigo{\bar t\>^{2}}}$$
 Note that
 $$\eqalignno{r'(t)&=-6t^{-\frac 3,2}\bra{1-\fra (\alpha-1)b_1,{2\cdot
 12^\alpha}\>t^{\frac\alpha,2}+\bigo{t^{\alpha}}}\cr
 r''(t)&=9t^{-\frac 5,2}\bra{1+\fra (\alpha-1)(\alpha-3)b_1,{6\cdot
 12^{\alpha}}t^{\frac\alpha,2}+\bigo{t^{\alpha}}}\cr}$$
 which are easily guessed by termwise differentiation of the
 expression for $r(t)$, and ---not so easily--- checked using the
 formulas for $r'(t)$ and $r''(t)$ above.
 This yields
 $$\displaylines{\quad
 h(t)={1\over 4t}\biggl(2\bracket{1-\fra (\alpha-1)b_1,{2\cdot
 12^{\alpha}}t^{\frac\alpha,2}}\bracket{1-\fra b_1,{2\cdot
 12^\alpha}t^{\frac\alpha,2}}+
\bracket{1-\fra(\alpha-1)b_1,{12^{\alpha}}t^{\frac\alpha,2}}
 \bracket{1-\fra b_1,{12^\alpha}t^{\frac\alpha,2}}
 \hfill\cr\hfill -
 3\bracket{1+\fra(\alpha-1)(\alpha-3)b_1,{6\cdot
 12^{\alpha}}t^{\frac\alpha,2}}
 \bracket{1-\fra b_1,{2\cdot 12^\alpha}t^{\frac\alpha,2}}
 +\bigo{t^{\alpha}}\biggr)\quad\cr}$$
 which immediately implies (4.20).
 \vskip1em
Now, let
$$f_h(\bar t) = \sum_{n=1}^Na_n\bar t\>^n+H(\bar t)$$
with
$$\abs{H(\bar t)}\le \epsilon_h\abs{\bar t}^{N+1}
\qquad
t\le \eta$$
Finally, then, let $L$ be a large number such that $u(L)\le\eta$:
we set $\bar\Omega_3\le \sqrt{u(L)}$,
$b(\Omega)=L$ for all $\Omega\le\bar\Omega_3$,
and, arguing as before, we have
$$\eqalignno{
I_3&=
{d\over d\Omega}\bra{\Omega\int_{L}^{r_2(\Omega)}\bra{u(r)-\Omega^2}^
{-\frac 1,2}{dr\over r}}\cr
&=
{d\over d\Omega}\bra{\Omega\int_{\Omega^2}^{u(L)}\bra{t-\Omega^2}^
{-\frac 1,2}w(t)\,dt}\cr
&=
{d\over d\Omega}\bra{\Omega^2\int_{1}^{\Omega^{-2}u(L)}\bra{t-1}^
{-\frac 1,2}w(t\Omega^2)\,dt}\cr
&= 2\Omega\int_{1}^{\Omega^{-2}u(L)}\bra{t-1}^
{-\frac 1,2}h(t\Omega^2)\,dt\cr
&\qquad -2\bra{u(L)-\Omega^2}^{-\frac 1,2}w(u(L))u(L)\cr
&= \oh\Omega^{-1}\sum_{n=1}^N{a_nM^{n\alpha}\over 12^{n\alpha}}\Omega^{n\alpha}
\int_{1}^{\Omega^{-2}u(L)}\bra{t-1}^{-\frac 1,2}t^{\ffra \alpha,2n-1}\,dt
\cr
&\qquad+\tilde h(\Omega)
+\bra{u(L)-\Omega^2}^{-\frac 1,2}{2u(L)\over Lu'(L)}
&\sdzfa\cr}$$

with
$$\abs{\tilde h(\Omega)}\le
 \oh\Omega^{-1+\alpha(N+1)}\epsilon_h
\bra{M\over 12}^{(N+1)\alpha}
\int_{1}^{\Omega^{-2}u(L)}\bra{t-1}^{-\frac 1,2}t^{\ffra \alpha,2(N+1)-1}\,dt
\eqno\sdzfb
$$
Now, we recall $\Omega_\epsilon$, on which we impose now the extra
condition
$$u(L)\ge 2\Omega_\epsilon^2\eqno\sdzconda$$

Both \sdzfa\ and \sdzfb\ can be computed easily for all
$\Omega\ge \Omega_\epsilon$.
The evaluation of integrals of the type $\int (t-1)^{-\frac 1,2}
t^\gamma\,dt$ can be done by the same method as in the previous
 section.

\vskip1em
When $\Omega\le\Omega_\epsilon$, note that the first
term in (4.21a) goes to infinity as $\Omega\to 0$,
 while all the others remain bounded. We use this
to obtain a uniform lower bound for the absolute value of this
derivative.


By \sdzg\ we know that $a_1>0$; thus,
we have

$$\displaylines{
{d\over d\Omega}\bra{\Omega
\int_{L}^{r_2(\Omega)}\bra{u(r)-\Omega^2}^
{-\frac 1,2}{dr\over r}}\ge
\hfill\cr
\hfill\eqalign{
&\ge \oh\Omega^{-1+\alpha}a_1\bra{M\over 12}^\alpha
+{u(L)}^{-\frac 1,2}
\sum_{{a_n<0}\atop{n\ge 3}}{a_n\bra{u(L)M^2\over 144}^{n\fra \alpha,2}}
\cr
&\qquad
+\bra{u(L)-\Omega^2}^{-\frac 1,2}{2u(L)\over Lu'(L)}\cr
}\qquad\llap\sdzh\cr}$$

where we have put $a_{N+1}=-\epsilon_h$.

Note that, since the exponent
$\gamma=\alpha-1$ does not fall under the cases considered in
Lemma~4.4, \sdzh\ is only
correct provided $a_2>0$. Of course,
one can try to modify Lemma~4.4 to include the case $n=2$, but since
it so happens that $a_2>0$
there is no need.
By this we mean that we check $a_2>0$: if the check fails,
our proof of Theorem~1.1 fails, and we claim no theorem.

\vskip1em
Putting together now \sdxxa---\sdxxc, \sdtxxa, \sdtconda, \sdzconda\
and \sdzh, we conclude that, if
$$\Omega^2\le \oh\min\bracket{u(L),u(\delta)}$$
then
$$-F''(\Omega)\ge \oh a_1\bra{M\over 12}^\alpha\Omega^{-1+\alpha}
+T_1(\Omega)+T_2(\Omega)+T_3\eqno{(4.24)}$$
for
$$\eqalignno{
T_2(\Omega) &=
{u(L)}^{-\frac 1,2}
\sum_{a_n<0}{a_n\bra{u(L)M^2\over 144}^{n\fra \alpha,2}}
+\bra{u(L)-\Omega^2}^{-\frac 1,2}{2u(L)\over Lu'(L)}
<0
\cr
T_3&=\int_\delta^L\bracket{y(r)}^{-\frac 1,2}\>{dr\over r^{\frac 3,2}}>0
\cr}$$


\vskip1em
The following is a consequence of formulas (4.21a,b), (4.11a,b) and
Lemma~4.4.
\propo{4.8}
We have
$$F''(\Omega)=-c_0\Omega^{-1+\alpha}+\bigo{1}\qquad c_0>0$$
as $\Omega\to 0$.
\endt
 \vskip1em
 We now organize the main results in this section in the following
 algorithm.
 \algorithm{4.9}Given representable $\delta$ (small) and
 $L$ (large), and given neighborhoods in $C^0$ containing the
 functions $h(t)$ in Algorithm 4.3 and 4.7, valid for
 $0<t\le u(\delta)$ and $0<t\le u(L)$ respectively, we compute
 strictly positive lower
 bounds for $-F''(\Omega^\ast)$ for all thin subintervals
 $\Omega^\ast$ of Zone I.
 \description
 Note that our hypotheses imply that the requirements for the
 smallness of $\eta$ and largeness of $L$ have already been checked.

 Break up $-F''$ into the three terms in (4.1). $I_1$ can be
 computed as described earlier all the way down to $\Omega=0$.


 If $\Omega^\ast\ge\bar\Omega_2$ (similarly for $\bar\Omega_3$), $I_2$
 can also be computed as described above.
 Thus we are left only with the computation of $I_2$ for
 $\Omega^\ast\le\bar\Omega_2$ (similarly for $I_3$).
 Note that the dicotomy $\Omega_2^\ast\ge\bar\Omega_2$ or
    $\Omega_2^\ast\le\bar\Omega_2$ can be trivially achieved
 by choosing $\bar\Omega_2$
 to be one of the endpoints of the $\Omega^\ast$.

 We assume first that
 $\Omega^\ast\ge\Omega_\epsilon$.  We begin by computing bounds for
 ${\Omega^\ast}^{-2}u(\delta)$: if we cannot check that these bounds
 are
 greater than or equal to 1, we report a failure and quit. Otherwise,
 we compute bounds for $I_2$ using (4.11a) with the error bound for
 $\tilde h$ given by (4.11b). Note that this procedure will
 prove, in particular, that $\bar\Omega_2$ satisfies the smallness
 requirement above. This is of mild importance since the choice
 of $\bar\Omega_2$ will not be explicit in our computer
 implementation.

 When $\Omega\le\Omega_\epsilon$, we simply check that the right hand
 side of (4.24) is strictly positive for $\Omega=\Omega_\epsilon$.
 Trivial monotonicity properties will then imply the positivity for
 $0<\Omega\le\Omega_\epsilon$. We also check that requirements
 (4.11c) and (4.22)
 for $\Omega_\epsilon$ are satisfied.\endpf
\Title{\inv. Zone II.}
The purpose of this section is to prove \tfeqy\ for all $\Omega$ close
to $\Omega_c$.

\lem{\invlema}
Let $f(z)$ be analytic in $\abs{z-z_0}<  R$, continuous
up to the boundary, with
{\itemize
\item{1.}$f'(z_0)\ne 0$.
\item{2.}$f(z)=w_0$ if and only if
$z=z_0$.
\item{3.}If $|z-z_0|=R$, then $\abs{f(z)-w_0}\ge T$.

}

\vskip1em
Then, there exists $F(w)$ analytic,
$$F:\quad B(w_0,T)\rightarrow B(z_0,R)$$
such that $f(F(w))=w$ for $w\in B(z_0,R)$.
\proof
Consider the curves
$$\Gamma_s(t)=f\bracket{\gamma_s(t)}\qquad |\gamma_s(t)-z_0|=s\quad 0<s<R$$
with $\gamma_s$ positively oriented.

Condition 2 implies that
$$n(\Gamma_s,w_0)={1\over 2\pi i}\int_{\gamma_s} {f'(z)\over f(z)-w_0}\,dz$$
is continuous in $0<s<R$, and it is therefore constant.

Condition 1 says
that $n(\Gamma_s,w_0)=1$ for all $s$ small enough.
Thus,
$$n(\Gamma_s,w_0)=1\qquad 0<s<R\eqno\inva$$

Finally, let $\epsilon>0$ be given. Condition 3
implies that
$B(w_0,T-\epsilon)$ does not intersect $\Gamma_s$ for $R-\epsilon'< s<R$,
for some other $\epsilon'$:
indeed, assume not: then, there exists $z_n$, such that
$|z_n-z_0|\to R$ such that $|f(z_n)-w_0|<T-\epsilon$. Passing to a subsequence,
$z\to z_\infty$ with $|z_\infty-z_0|=R$ and $|f(z_\infty)-w_0|\le
T-\epsilon$, which contradicts 3.


Therefore, $B(w_0,T-\epsilon)$
is  contained in one of the connected components of the complement
of $\Gamma_s$
for $R-\epsilon'< s<R$. This implies that the index is constant in $w$, i.e.
$$n(\Gamma_s,w)=n(\Gamma_s,w_0)=1
\qquad R-\epsilon'<s<R\qquad w\in B(w_0,T-\epsilon)$$

Thus, if $\alpha_i(w)$ are the solutions of $f(z)=w$ inside $B(z_0,R)$,
$$\sum n(\alpha_i,\gamma_s)=
{1\over 2\pi i}\int_{\gamma_s}{f'(z)\over f(z)-w}\,dz
=n(w,\Gamma_s)=1$$
for
$$
\qquad R-\epsilon'<s<R\qquad w\in B(w_0,T-\epsilon)$$
from which, taking $\epsilon\to 0$,
 we deduce that there is only one $\alpha_i$ and $f'(\alpha_i)\ne
0$.
This implies that $f^{-1}$ exists and is analytic.
\endpf
\lem{\invlemb}
Let $u\in H^1(|z-r_c|\le R)$, smooth on the boundary of $B(r_c,R)$, of the form
$$u(x)=\Omega_c^2-u_2R^2\,z^2+z^3f(z)\qquad {z={x-r_c\over R}}
\qquad f(0)=u_3R^3$$
satisfying
{
\itemize
\item{1.}
 $\lnorm f\le h$, $u_2>0$ and
$u_2R^2>h$.
\item{2.}For a constant $M$ we have
$$\abs{{d^4\over dx^4}u(x)}\le M\qquad |z|\le 1$$

}
\vskip1em
Then, $t(x)$ as in \sdd\ can be extended analytically to $B(r_c,R)$,
and
there is an inverse $r(w)$ of $t(x)$, analytic in
$\abs{w}< T$ where
$$T\le \sqrt{u_2R^2-h}$$
and

$$\eqalignno{
\sup_{|w|\le T}\abs{r'(w)}&\le
{2\sqrt{u_2+hR^{-2}}\over
2u_2-3\abs{u_3}R -\fra 1,6MR^2
} \cr
\abs{{d^{n+1}r\over dw^{n+1}}(0)}&\le n!\>T^{-n}\>
{2\sqrt{u_2+hR^{-2}}\over
2u_2-3\abs{u_3}R -\fra 1,6MR^2}
\qquad n\ge 0\cr
}$$
\proof
First, note that 1. implies that
$$t(x)=z\sqrt{u_2R^2-zf(z)}$$
exists as an analytic function in $x\in B(r_c,R)$ (i.e., $|z|\le 1$), since
the radicand never vanishes and a ball is simply connected, and note
also that this definition agrees with \sdd\ if $x$ is real.

Also, note that $t(x)$ satisfies the hypothesis of the previous lemma
in the circle $x\in B(r_c,R)$. Indeed, $t(x)\ne 0$ unless $x=r_c$
(by 1), and if $|x-r_c|=R$, then $|z|=1$ and
$$|t(x)|\ge \sqrt{u_2R^2-|f(z)|}\ge T$$
Therefore,
by the previous lemma, $r(w)$ exists for all $|w|<T$, and we also have
$|r(w)-r_c|\le R$.
\vskip1em
Now, note that
$$\sup_{|w|<T}\abs{r'(w)}\le \sup_{|z|<1}{1\over \abs{t'(x)}}\le 2\bra{
\sup_{|z|\le 1}
{\abs{u(x)-u(r_c)}\over \abs{u'(x)}^2}}^{\frac 1,2}$$

Since
$$
\abs{u(x)-u(r_c)}\le u_2\abs{x-r_c}^2+ {h\abs{x-r_c}^3\over R^3}$$
and
$$\eqalignno{
\abs{u'(x)}&\ge 2u_2|x-r_c|-3\abs{u_3}\abs{x-r_c}^2 - \fra 1,6 M\abs{x-r_c}^3\cr
             &\ge \abs{x-r_c}\bra{2u_2-
3\abs{u_3 }R - \fra 1,6 MR^2}\cr
}$$
we deduce that
$$\eqalignno{
{\abs{u(x)-u(r_c)}\over \abs{u'(x)}^2}&\le
{u_2+hR^{-2}
\over
             \bra{2u_2-
3\abs{u_3 }R - \fra 1,6 MR^2}^2}
\cr}$$


The other conclusion follows from Cauchy's inequalities applied to
$r'(w)$ on $\abs{w}<T$.
\endpf

We now switch to the notation of Lemma \sdlema.
\algorithm{\invalga}
Given ${\cal U}_0(\vsz I,{2N+1};C_h,0;\infty)$ and  bounds $A^0<A_0$, we
construct
a representable $T$ and ${\cal U}_1$,
such that if
$$u(x)=\Omega_c^2-z^2f(z)\qquad z={x-r_c\over R}$$
and
$$
A^0\le |y(x)|\le A_0\qquad \abs{x-r_c}\le R
$$
with $f\in {\cal U}_0$, then
$w(t)=g(t/T)$, with
$g\in {\cal U}_1$
\description
Note that, since $y$ satisfies \tfeq\ on $B(r_c,R)$, we have
the identities
$$\eqalignno{
y'''(x)&=\fra 3,2{y^{\frac 1,2}y'\over x^{\frac 1,2}}-\oh
{y^{\frac 3,2}\over x^{\frac 3,2}}\cr
y''''(x) &= \fra 3,4\bra{{y^{-\frac 1,2}\bra{y'}^2\over x^{\frac 1,2}}
+{2y^2\over x}-{2y^{\frac 1,2}y'\over x^{\frac 3,2}}+
{y^{\frac 3,2}\over x^{\frac 5,2}}}
\cr
u''''(x)&=4y'''(x)+x\cdot y''''(x)\cr}$$
which imply
$$\eqalignno{
|y''(x)|&\le A_2\eqbydef A_0^{\frac 3,2}/(r_c-R)^{\frac 1,2}&\invca\cr
|y'(x)|&\le A_1\eqbydef {\Omega_c^2\over r_c^2}+ A_2 R&\invcb\cr
|y'''(x)|& \le  A_3\eqbydef {3 A_0^{\frac 1,2}
\over 2(r_c-R)^{\frac 1,2}}A_1+{A_0^{\frac 3,2}\over 2(r_c-R)^{\frac
3,2}}&\invcc\cr
|y''''(x)| &\le A_4\eqbydef
 \fra 3,4\bra{{{A^0}^{-\frac 1,2}A_1^2\over \bra{r_c-R}^{\frac 1,2}}
+{2A_0^2\over r_c-R}+{2A_0^{\frac 1,2}A_1\over \bra{r_c-R}^{\frac 3,2}}+
{A_0^{\frac 3,2}\over \bra{r_c-R}^{\frac 5,2}}}
\qquad&\invcd\cr
|u''''(x)|&\le M\eqbydef 4A_3+A_4(r_c+R)&\invce\cr}$$

Choose representable $T$ and $\tilde T$ such that
$$T<\tilde T\le \sqrt{I_0-h}\qquad h=\sum_{n=1}^{2N+1}|I_n|+C_h$$
and put $\beta=T/\tilde T$. Here we assume that $I_0>h$ and
$\beta < 1$. Otherwise, the algorithm fails.

By the previous lemma, $r'(t)$ can be written as
$r'(t)=\sum_{n\ge 0}r'_n(t/T)^n$, where $r'_n$ can be
computed by power--matching, for $n=1,\ldots,{2N+1}$, because
we have $C_g=0$, and
$$\sum_{n>{2N+1}}\abs{r'_n}\le
{2R^{-1}\sqrt{I_0+h}\over R^{-2}\bra{2\abs{I_0}-3\abs{I_1}}-\fra 1,6MR^2}
\cdot {\beta^{2N+2}\over 1-\beta}\eqno\invxb$$

A neighborhood of type $\infty$ and order $2N+2$
containing  $r(t)$ can be obtained by integration.


This allows us to construct a neighborhood ${\cal U}_1$ of
type $\infty$ and order $2N+1$ containing
the function $g$ in the statement of the algorithm, by simply dividing
the neighborhood for $r'$ by the neighborhood for $r$.
\endpf


\algorithm{5.4}
We compute a bound for $F''$ in Zone II.
\description

Note that
$$\eqalignno{
\alpha_n &= {1\over \pi}\int_{-1}^1(1-t^2)^{-\frac 1,2}t^{2n}\,dt\cr
&={1\over 2^{2n+1}i^{2n}\pi}\int_0^{2\pi}\bra{
e^{i\theta}-e^{-i\theta}}^{2n}\,d\theta\cr
&={2n \choose  n}2^{-2n}
&\invxa
\cr}$$
so their computation poses no difficulty.  Note also that $\alpha_n>\alpha_{n+1}$ for all $n\ge 0$.

Therefore, by (1.8), if we set
$$ \bar w_n=T^n\cdot w_n$$
we can see that
$$\eqalignno{
-\fra 1,\pi
 F'(\Omega)&=\Omega\sum_{n=0}^\infty \bar w_{2n}\bra{D\over T}^{2n}\alpha_n\cr
&=\Omega\sum_{n=0}^{N} \bar w_{2n}\bra{D\over T}^{2n}\alpha_n
+\Omega\sum_{n>{N}} \bar w_{2n}\bra{D\over T}^{2n}\alpha_n
\cr}$$
The first term is a polynomial in $\Omega$, so we can easily
compute its
derivative anywhere.
In fact, its derivative equals
$$\sum_{n=0}^{N}\bar w_{2n}\alpha_n\gamma^n+
\Omega\sum_{n=1}^{N}\bar w_{2n}n\alpha_n\gamma^{n-1}\bra{{
-2\Omega\over T^2}}$$
with
$$\gamma=\bra{D\over T}^2$$
Here we check that Zone II is included in the set of $\Omega$ that
make $\gamma<1$. Otherwise, we report a failure and we quit the proof.

 As for the other term, using Lemma~\falema,
and taking
$$C_h\ge \sum_{n>N}\abs{\bar w_{2n}}$$
we have
$$\displaylines{
\quad\abs{{d\over d\Omega}\bra{\Omega\sum_{n>{N}}{ \bar w_{2n}}
\bra{D\over T}^{2n}\alpha_n}}\hfill\cr
\hfill\eqalign{
&\le
C_h\alpha_{N+1}\gamma^{N+1}
+2\Omega_c^2\sum_{n> {N}}{\alpha_n \abs{\bar w_{2n}}n\gamma^{n-1}\over
 T^2}\cr
&\le C_h\alpha_{N+1}\bra{\gamma^{N+1}
+{2\Omega_c^2\over T^2}\sup_{n> N}{n\gamma^{n-1}}}\cr
&\le \cases{
{\displaystyle C_h\alpha_{N+1}\gamma^{N}\bra{\gamma
+{2(N+1)\Omega_c^2\over T^2}}}&  if $N+1\ge {1\over |\log \gamma|}$\cr
\noalign{\vskip1em}\cr
{\displaystyle C_h\alpha_{N+1}\bra{\gamma^{N+1}+
{2\Omega_c^2\over eT^2\gamma|\log\gamma|}}}&  in any case\cr}\cr}
\cr}$$

All previous expressions can be easily
computed using \invxa. Also, note the
slight improvement in the result as a consequence
of taking the neighborhoods in the previous algorithm
to be of odd order.
\endpf

\vskip2em
This concludes the description of all algorithms needed
for the proof of Theorem~1.1. We summarize its computer--assisted
proof in the following algorithm.
\algorithm{5.5\quad(Proof of Theorem 1.1)}
We produce a constant $c$ such that Theorem~1.1 holds.
\description
Run Algorithm~3.20 (and algorithms thereof) to obtain all
necessary knowledge of the Thomas--Fermi function.

\vskip1em
Take $\bar\Omega$ as explained at the end of Section~1. to define
Zone I and Zone II. As stated earlier in this
section,  we check that $\gamma(\bar\Omega)<1$.
Then, we compute an upper bound for $F''$ in Zone II, and check that
it is strictly negative.

\vskip1em
Choose $\Omega_\epsilon$, $\bar \Omega_2$
and  $\bar \Omega_3$ as in Section~4, and a partition
consisting of fat subintervals of
$\ccint {\Omega_\epsilon},{\bar\Omega}$ whose endpoints contain
both $\bar\Omega_2$ and $\bar \Omega_3$ and a
subpartition of thin intervals $\Omega_i^\ast$.
We compute the numbers $a_{k,i}$ and $b_{k,i}$.
Next, we check that
$F''$ is bounded above by a strictly negative number on the
interval $\ocint 0,{\Omega_\epsilon}$ and on $\ccint
 \Omega_\epsilon,{\bar\Omega}$ as described in Algorithm 4.9.
 \vskip1em
Theorem~1.1 then follows by taking the maximum of all these ---finitely
many--- strictly negative constants.
\endpf

\Title{6. Some Extensions.}
The purpose of this Section is to extend Theorem~1.1 to
a neighborhood of the Thomas--Fermi potential, in an
appropriate topology.
As pointed out earlier, the fact that Theorem~1.1 holds
is a rather delicate one. The following theorem shows this precisely.



\theorem{\sdtha}
Given any two large numbers $N$ and $R$, and given $\epsilon$
small, there exists a smooth function $f(x)$ such that
{
\itemize
\item{a.} $f(x)=y(x)$ for $0\le x\le R$.
\item{b.} For all $x\ge R$, and all $n\ge 0$, we have that
$$\abs{{d^n\over dx^n}f(x)-
{d^n\over dx^n}y(x)}\le\epsilon C_n x^{-3-n}$$

}
\vskip1em
\vskip1em
and, however, we also have that $F_f(\Omega)$ vanishes
at least $N$ times in $\ooint 0,{\Omega_c}$.
(Note that, if $R$ is large enough, $\Omega_c$ is
independent of $f$.)

The $C_n$ are universal constants. In particular, they are independent of
$\epsilon$, $R$  and $f$.

\proof
Note that we can assume $R$ to be as large as we need.
\vskip1em

By Corollary~1.3, $F''_{f}(\Omega)$ is bounded in the range
$\Omega_\epsilon\le\Omega<\Omega_c$.
Also, $F_f''(\Omega)=F_y''(\Omega)<0$ in the same range.

>From a trivial adaptation
of Section~\sdone, it follows that if
$$f(x)={144\over x^3}\bra{1+bx^{-\alpha}}\qquad x\ge R$$
then
$$F_f''(\Omega)= c_1b\Omega^{-1+\alpha}+\bigo{1}\qquad \alpha=\oh(\sqrt{73}-7)
<1$$
for $c_1>0$, uniformly in $\Omega$.
Therefore, taking
$b=\epsilon$,
there is $\Omega_1\muchsmaller\Omega_\epsilon$ such that
$F_f''(\Omega_1)>0$. This gives a function $f$ such that
$F_f''$ has at least one zero. To get more zeros,
take $R_1$ large depending on $\Omega_1$ so that
$F_f(\Omega)$, $\Omega\in\coint\Omega_1,{\Omega_c}$,
is independent of $f(x)$ outside of
$x\in \ooint 0,{R_1}$. Then, define
$$f(x)={144\over x^3}\bra{1-\epsilon x^{-\alpha}}\qquad
x\ge 2R_1$$
and smooth.
Then, for $\Omega_2$ small enough $F_f''(\Omega_2)<0$. This gives us
two zeros for $F''_f$. And so on.
\endpf

>From this theorem it is then clear that if we want Theorem~1.1
to hold, we need a stronger grip of the behavior of the function
$f$ at infinity.
\vskip1em
The following theorem is just a consequence of the rest of this
article. Its proof is computer assisted.

\theorem{6.2}
There exist $N$ large integer, $C$ and $x_1$ large constants,
 and $\epsilon>0$ and $x_0>0$ small, such that if $f(x)$ satisfies
{\itemize
\item{1.} $\lnorm{f-y}_{C^N\ccint x_0,{x_1}}\le\epsilon$.
\item{2.} $f(x)=1-w\cdot x+x^{\frac 3,2}g\bra{(x/x_0)^{\frac 1,2}}$
with $\abs{w-w_0}\le\epsilon$, $g$ analytic and $\lnorm{g-g_{0}}_1\le\epsilon$,
where $y_{TF}(x)=1-w_0\cdot x+x^{\frac 3,2}g_{0}\bra{x(x/x_0){\frac 1,2}}$.
\item{3.} Recall formula {\rm \sdzdefba}. Then,

$$f(x)={144\over x^3}\bra{1+\sum_{n=1}^\infty \bar a_n
\bar x\>^{-n\alpha}}\qquad x\ge R$$
with
$$\sum_{n=1}^\infty\abs{\bar b_n-\bar a_n}\le\epsilon$$

}
\vskip2em
Here, $\epsilon$ is assumed to be small enough so that our assumptions
on $f$ stated at the beginning of Section~\secder\ are satisfied.
\vskip1em
Then,
$$F_f(\Omega)\le c< 0\qquad \Omega\in\ooint 0,{\max\abs{rf(r)}}$$


\cproof
Take $\eta$ any small number.
If  $\epsilon$ is small enough,  hypothesis 2. and 3.
imply that formulas (4.11ab) and
(4.21ab) remain valid for $f(x)$ by perturbing the $a_n$ and
$\epsilon_h$ by at most $\eta$ percent. Also,
for $\epsilon$ small enough, hypothesis 1.
implies that the value of integral
$I_1$ in (4.1a) remains valid for $f$ also with an error at most
$\eta$ percent.
As a consequence, $T_1$, $T_2$ and $T_3$ will change by at most
$C\eta$ percent. Therefore,
$$-F''_f(\Omega)\ge \oh \tilde a_1\bra{\tilde
M\over 12}^\alpha\Omega^{-1+\alpha}
-C$$
where $\tilde a_1$ and $\tilde M$ differ from the ones in (4.20) by
at most $\eta$ percent. In fact, we only need $\tilde a_1>\oh a_1>0$.

Therefore,
taking $\Omega_0\muchsmaller\Omega_\epsilon$,
we see that $F''(\Omega)<c<0$ for $\Omega\in\ooint 0,{\Omega_0}$.

\vskip1em
Now, set
$$\delta=\inf_{
\Omega\in\ooint 0,{\Omega_c}}
\abs{F''_y(\Omega)}
>0$$
(This is the only point where we use a computer--assisted result.)
>From formula (1.6), it follows that hypothesis 1., for
$\epsilon$ small enough, implies that
$$\abs{F_f''(\Omega)-F_y''(\Omega)}\le \fra 1,{10}\delta
\qquad\Omega\in\coint \Omega_0,{\Omega_c}$$
which concludes the proof of the theorem.
\endpf

\Title{7. The Implementation}

The aim of this section is to provide details about the way
algorithms were implemented. The section will be organized as
follows:
{\smallitemize
\item{1.} General remarks; in particular,
the choice of several heuristic parameters
is of special importance for
a successful run of the computer proof:
we list the approximate values.
\item{2.} The second deals with
the computer programs, which
can divided into two groups.
\itemitem{a.} One is a general package that performs general
arithmetic and functional operations on certain general objects.
This basic interval arithmetic
package is a variation on the one used in \thesis\ and \Seco, which in
turn is an adaptation of the one developed by D. Rana in \Rana.
It is too long to present here,
but we will give enough information about it so that a similar
package can be built with little thought.
In particular,  we
will list all function names with a very brief description of each.

\itemitem{} Such packages are  quite common already, and probably they will
soon be standard.
\itemitem{b.} The other is a package which takes care of
the specific functions needed to prove our theorem. It follows very
closely the algorithmic presentation in the present paper.
We will list all these programs, preceded by a short
explanation for each function, which will relate each of them
to the corresponding algorithm in the text above.

}
\vskip1em
\title{7.1 General Remarks.}
According to the general package, (see below)
we can store functions locally
using the neighborhoods
in function space ${\cal U}(\vsz I,N; C_h,C_g;k)$
introduced in
Section~2 as follows: say
$f(t)=\tilde f(\fra t-x,r)$, where $\tilde f\in{\cal U}$.
Then, our knowledge of $f$ can be stored as a structure variable,
consisting of
{
\itemize \item{1.}
A pointer
to an array of intervals: it is used to store the $I_j$.
\item{2.} Two integers: one has value $N$, the order of the
Taylor approximation. The other has value $k$, the type of the
neighborhood.
\item{3.} Two doubles, to store $C_h$ and $C_g$.
\item{4.} Two doubles, to store $x$ and $r$.
\medskip}

By considering arrays of the structures above, we can store
our {\it global} knowledge of functions as a single structure
variable, consisting of a pointer to an array of the structure
variables above. As a consequence, objects like the Thomas--Fermi
function $y(x)$, are represented as a single variable. This
gives a special computational
meaning to Algorithm~3.20, the main result of
Section~3.

We divide our remarks according to the section they are related to.

\vskip1em
\title{Section 3.}
In Algorithm~3.20, note that the choice of the $x_i$ and $r_i$
is in principle arbitrary, but in practice, it is very
important that they are chosen carefully. Main points to
take into account are:
{\itemize\item{1.}
All runs of parent algorithms
should be successful
\item{2.}
Error bounds $C_{h,i}$ and $C_{g,i}$
obtained when we run
the algorithm are sensitive to our choice
of $x_i$ and $r_i$. The proof Theorem~1.1 is in turn
sensitive to these error bounds. In principle, the smaller
the $r_i$ the better.
It is important that these error bounds
are small enough so that we can prove our theorem.
\item{3.} The number $m$ is important also: a large $m$
is a consequence of small
$r_i$ which
will give small error terms for the $C_{{h\atop g},i}$, but
will make  the computation of $I_1$ in Section~4 very slow, maybe
too slow to prove our theorem in a finite time.
On the other hand, a small $m$ will speed up the computation of $I_1$,
but will yield bad bounds for the $C_{{h\atop g}},i$.
Similar considerations hold for the choice of $N$.

\medskip}
The choice of $N$ is fixed on a trial and error basis. $N\sim 10$ works.
About the $x_i$ and $r_i$ note that
their choice was made in Algorithms~3.16 and 3.18.
They were picked adaptatively inside the
program, in the sense that if during the execution of
Algorithm~3.2 (a parent algorithm), one of
the error bounds grows outside a pre--specified
range, then we make the next $r_i$ a little smaller.
And viceversa, if that error goes below a certain range,
then we make the next $r_i$
a little bigger. The error we look at in deciding this is
$\norm{p-\tilde Tp}/\norm p$ in Algorithm~3.2, and we wanted it to be
within the bounds
$\ccint {\sim 10^{-17}},{\sim 10^{-15}}$.
We chose $x_0\sim 0.008$ and $r_0\sim 0.0008$.
The radii grow as we leave the origin.
In carrying out this procedure
we made $x_{i+1}\sim x_i+r_i$. This gave enough overlap
between intervals to capture the behavior of our functions
all over $\ooint x_0-r_0,{x_m+r_m}$. As a result of this method,
we obtained $m\sim 800$ and $x_m\sim 300$.
The following remark is of mild interest:
when choosing the $x_i$, we instructed the computer to include
the point $\sim$2.10 with the idea in mind that $r_c$ is close
to this number. Since the information given by Algorithm~3.20
is the only one we would like to use
when computing $F''$, the
neighborhoods for $y_{\rm TF}(x)$ around $r_c$ which would have to be
computed
in Section~5 turn out a little better.

\vskip1em
\title{Section~4.}
The actual value for $\bar\Omega$ is about $0.6956$, only
$\sim 10^{-3}$ from $\Omega_c$. Thus, Zone II will turn out to
be very small. This is unavoidable using our complex--variable
methods for Zone II, since with radii larger than that, we cannot
exclude the existence of other zeros of $u(z)-\Omega_c^2$ in the
vicinity of $r_c$ in the complex plane.

\vskip1em
The first heuristic choice we have to make is the numbers $a$ and $b$ as
a function of $\Omega$. We describe the choice
of $a$. The choice of $b$ is similar.
In the notation
of Algorithm~3.20, choose the $x_i$ closest to $r_1$
such that
$$\sum_{k=1}^N\abs{I^i_k}\le \delta\cdot\abs{I^i_0-\Omega^2}\qquad\delta<1$$
This is
a trivial
prerequisite if we want to understand $\bra{u(r)-\Omega^2}^{-\frac 3,2}$
in $H^1$. The choice of $\delta$ is delicate, though: if it is very close to
1, then the fractional power operation will yield
bad error bounds. If it is very small, we will be forced to take
$x_i$ far away from $r_1$. This will hurt the error terms
when we compute $I_2$, and it could even make the computation
of $I_2$ not possible
with our method. The problem is that
we will be forced to solve O.D.E.'s at
rather large distances (this is already dangerous),
and, even worse, we will have to take fractional powers
of Taylor expansions with large radii: this may be impossible
if, for instance, the solution of the O.D.E. has zeros
within our large radius in the complex plane.
A value of about 0.3 for $\delta$ works most of the time, but
it needs fixing for some values of $\Omega$.
 We refer the reader to functions {\tt alim()} and {\tt blim()} in the
 program listings for the specific choice of $\delta$ as a function of
 $\Omega$.

\vskip1em


We continue now with the computation of $I_1$, the most
time--consuming procedure.
The division into fat intervals
is done with intervals of length $\sim 10^{-3}$. This is
large enough so we can cover the all
of Zone I = $\ccint 0,{\bar\Omega}$
with not so many of those fat intervals, around 1000 of them,
and it is also small enough so that the approximation
given by (4.2) in terms of the $a_{k,i}$ and $b_{k,i}$ is
good enough. As we approach
$\bar\Omega$, we made the length of these fat intervals smaller,
about $10^{-4}$. Note that a reduction in the size of the $W_i$
results in having to compute the $a_i$ and $b_i$ more often,
but if we are
close to $\Omega_c$, the interval $\ccint r_1(\Omega),{r_2(\Omega)}$
is very small anyway which require few $i$,
and thin $W_i$ won't hurt.

Next, we have to
choose $\tilde a$ and $\tilde b$, or, which is equivalent,
we have to choose $i_0$ and $i_1$. We chose them to be
$i_0=10$, $i_1=n-10$. This works. The choice of the $\Omega^\ast$
is the most delicate. What we did, is give the computer
an initial interval
of length $l$ and let it compute
bounds for $I_1$ as well as $I_2$ and $I_3$:
if these bounds are good enough so that we can show that
$-F''>0$ on $\Omega^\ast$, we tell the computer happily to
take another $\Omega^\ast$ inside $W_i$, and do the same, until
all of $W_i$ is covered with tests. If for some interval we cannot
produce the bound $-F''>0$, then we tell the computer to subdivide
that interval into two halves, and try each half recursively until
(hopefully) we finish. The process finished, so we
conclude $-F''>0$ all over
$W_i$. The length of the $\Omega^\ast$ that
work is about $5\cdot 10^{-5}$, degenerating until about
$10^{-7}$ near $\bar\Omega$: note that this will generate {\it
a lot}
of computations.

 In principle, we could have given the computer as a first try all of
 the interval $W_i$, even without hope, but let the computer figure
 out how much finer to go before getting the desired bounds.  This is
 fine from the rigorous point of view, but we would be wasting a lot
 of precious time asking the computer to make checks that we are
 confident are going to fail.  It is thus important to grind $W_i$
 into finer intervals before feeding the computer with this recursive
 procedure.  \vskip1em Concerning the computation of $I_2$ and $I_3$,
 they are analogous, and the only thing worth mentioning is our choice
 of the following heuristic parameters:  $M\sim 291$, $L\sim 295$,
 $x_0\sim 0.012$ and $\delta\sim 0.0099$.  The degrees of Taylor
 expansions we chose are 10 for $I_3$ and 20 for $I_2$.  Also,
 $\Omega_\epsilon\sim 10^{-2}$, $\bar\Omega_2\sim 0{.}0932$ and
 $\bar\Omega_3\sim 0{.}03469$. See the implementation comments for
 functions
 {\tt secder0()} and {\tt secder1()} for more about the
 $\bar\Omega_{2,3}$.
 \vskip1em

\title{Section 5.}
We finally discuss the peculiarities of Zone II. Recall that
the diameter of Zone II is about $10^{-3}$. Also, it follows
from Section~5 that it is rather easy to obtain good bounds
for the value for $-F''(\Omega_c)$. The analysis for Zone~II
therefore looks unnecessarily complicated,
since it would follow from the apparently easy, but
in practice deep  statement that
$\abs{F''(x)}$ is bounded by about $1000$. Since it is
numerically evident that
$\abs{F''(x)}$ is bounded by a number much smaller than
$1000$, maybe one can obtain a good bound for $F'''$
which would make
the analysis of Zone II trivial.

The only parameter of real
importance is $R$. Too large $R$ are bad because, as mentioned
before, it forces us to carry our fractional power analysis
to large distances. Too small $R$ will force us
to take small $\tilde T$ and therefore small $T$, and will
result of restricting our knowledge of $w(t)=g(t/T)$ to a
too small neighborhood of $\Omega_c$, thus being unable to cover all of
Zone II. Our choice was $R\sim 0.462$. Once $R$ is chosen, we
take
$\tilde T$  as large as we can, still satisfying
\invxc, and we are left with the choice of $T$ only.
Of course, we would like to take $T$ as large as possible, but
note that
the closer we take $T$ to $\tilde T$, the closer $\beta$ will
get to 1, which will give us a bad error estimate
in \invxb. This negative effect can
be neutralized by taking
$N$, which until now was arbitrary, to be big,
so that the power $\beta^{2N+2}$
makes the right hand side of \invxb\ very small.
We took
$T\sim 0.0605$ and $N\sim 26$, but larger $N$ will be even better.
The only problem with large $N$ is that it will force
us to invert a polynomial of large degree. Even with
our sloppy  implementation of the inversion procedure,
errors and speed are of negligible importance.

It follows from these remarks that the analysis of Section~5
will work on an interval around $\Omega_c$ whose length
depends basically on how large we can take $R$.
Without a more refined
analysis, our choice of $R$ is imposed
on us by the apparent complex solutions of $u(z)=\Omega_c^2$
around $r_c$, and thus is not subject
to improvement. In other words, there is a good reason for taking
$\bar\Omega\sim 0.6956$ and not smaller:
Zone II is given to us by the problem, not by the computer's
ability to compute fast or accurately. As a result, with a slower or less
accurate computer, which would not be able to compute $-F''$
in Zone I all the
way up to $\bar\Omega$, we wouldn't be able to prove
our theorem in this way. One would need
to perform a real variable analysis to a larger Zone II,
in a similar way to the analysis of $I_2$ and $I_3$
for $\Omega < \Omega_2 , \Omega_3$.

\vskip1em
Finally, all programs are written in {\bf C}, and were run on
several IBM RS600 simultaneously.
As explained later, our problem can be naturally split into
several independent processes, making it a very appropriate
problem to run on different machines at the same time.
Execution took about two days for the programs related to the
Thomas--Fermi equation, and about 6 hours for the ones
involving the actual computation of $F''$.
Executable files averaged 4Mb each.

\vskip1em
\parskip=10truept
\title{7.2 General Purpose Package.}

The basic variable types in this package are the following:
\vskip1em

\halign{\tt # & \qquad\tt# &\qquad \tt #\cr
typedef struct $\{$   &double dn;\cr
                    &double up;$\}$ &INTERVL;\cr
typedef struct $\{$&double b;$\}$ &BND;\cr
typedef struct $\{$ &int deg;\cr
&INTERVL *p;
$\}$&POLY;\cr
typedef struct $\{$&POLY p;\cr
&BND center;\cr
&BND r;\cr
&BND g;\cr
&int k;\cr
&BND h;$\}$     &RSERIES;\cr
typedef struct $\{$&int n;\cr
&RSERIES *f;$\}$        &GRS;\cr
union convert$\{$
&reps r;\cr
&unsigned long int i[2];\cr
 &$\}$;\cr
}

\vskip1em

{\medtype\parskip=0pt\obeylines\tt
double mtwo = (double) -2;
double mone = (double) -1;
double zero = (double) 0;
double half = (double) 0.5;
double one = (double) 1;
double two = (double) 2;
double eight = (double) 8;
BND bmone = $\{$(double) -1.$\}$;
BND b0ero = $\{$(double) 0$\}$;
BND bquarter = $\{$(double) .25$\}$;
BND bhalf = $\{$(double) .5$\}$;
BND bone = $\{$(double) 1$\}$;
BND btwo = $\{$(double) 2$\}$;
BND bthree = $\{$(double) 3$\}$;
BND bfour = $\{$(double) 4$\}$;
INTERVL imfour = $\{$(double) -4,(double) -4$\}$;
INTERVL imthree = $\{$(double) -3,(double) -3$\}$;
INTERVL imtwo = $\{$(double) -2,(double) -2$\}$;
INTERVL imone = $\{$(double) -1,(double) -1$\}$;
INTERVL izero = $\{$(double) 0,(double) 0$\}$;
INTERVL ihalf = $\{$(double) 0.5,(double) 0.5$\}$;
INTERVL imhalf = $\{$(double) -0.5,(double) -0.5$\}$;
INTERVL ione = $\{$(double) 1,(double) 1$\}$;
INTERVL itwo = $\{$(double) 2,(double) 2$\}$;
INTERVL ithree = $\{$(double) 3,(double) 3$\}$;
INTERVL ifour = $\{$(double) 4,(double) 4$\}$;
INTERVL ifive = $\{$(double) 5,(double) 5$\}$;
INTERVL isixteen = $\{$(double) 16,(double) 16$\}$;
INTERVL imsix = $\{$(double) -6,(double) -6$\}$;
INTERVL ieight = $\{$(double) 8,(double) 8$\}$;
INTERVL ifortyeight = $\{$(double) 48,(double) 48$\}$;
int n;
double ln2;
INTERVL iln2 = $\{$0.69314718055994484, 0.69314718055994584$\}$;

}
\vskip1em

The following are the function descriptions.

{\tt up(r)}. {Returns a representable strictly larger than {\tt r}.
}

{\tt dn(r)}. {Returns a representable strictly smaller than {\tt r}.
}

\vskip1em
The functions to follow return variable of type {\tt BND}. Variables
{\tt a} and {\tt b} are of type {\tt BND}, {\tt x}
is of type {\tt INTERVL} and {\tt m} is of type {\tt int}.

{\tt ucvtib(x)}. {Returns an upper bound for {\tt x}.
}

{\tt lcvtib(x)}. {Returns a lower bound for {\tt x}.
}

{\tt cvtdb(d)}. {Converts  {\tt d} (a {\tt double}) into {\tt BND}.
}

{\tt cvtintb(m)}. {Converts  {\tt m} into {\tt BND}.
}

{\tt uplusb(a,b)}. {Returns an upper bound for the sum of {\tt a}
and {\tt b}.
}

{\tt lplusb(a,b)}. {Returns a lower bound for the sum of {\tt a}
and {\tt b}.
}

{\tt neg(a)}. {Returns $-${\tt a}.
}

{\tt absb(a)}. {Returns $|{\tt a}|$.
}

{\tt minb(a,b)}. {Returns the minimum of {\tt a} and {\tt b}.
}

{\tt maxb(a,b)}. {Returns the maximum of {\tt a} and {\tt b}.
}

{\tt umultb(a,b)}. {Returns an upper bound for
the product of {\tt a} and {\tt b}.
}

{\tt lmultb(a,b)}. {Returns a lower bound for
the product of {\tt a} and {\tt b}.
}

{\tt uinvb(a)}. {Returns an upper bound for
the inverse of {\tt a}.
}

{\tt linvb(a)}. {Returns a lower bound for
the inverse of {\tt a}.
}

{\tt udivb(a,b)}. {Returns an upper bound for
{\tt a}/{\tt b}.
}

{\tt ldivb(a,b)}. {Returns a lower bound for
{\tt a}/{\tt b}.
}

{\tt usquareb(b)}. {Returns an upper bound for
{\tt b}$^2$.
}

{\tt lsquareb(b)}. {Returns a lower bound for
{\tt b}$^2$.
}

{\tt upowerb(b,m)}. {Returns an upper bound for
{\tt b}$^{m}$.
}

{\tt lpowerb(b,m)}. {Returns a lower bound for
{\tt b}$^{m}$.
}

The functions to follow return a variable of type {\tt int}.

{\tt eqb(a,b)}. {Returns 1 if
{\tt a}={\tt b}, 0 otherwise.
}

{\tt neqb(a,b)}. {Returns 0 if
{\tt a}={\tt b}, 1 otherwise.
}

{\tt lsb(a,b)}. {Returns 1 if
${\tt a}<{\tt b}$, 0 otherwise.
}

{\tt lseqb(a,b)}. {Returns 1 if
${\tt a}\le{\tt b}$, 0 otherwise.
}

{\tt grtb(a,b)}. {Returns 1 if
${\tt a}>{\tt b}$, 0 otherwise.
}

{\tt grteqb(a,b)}. {Returns 1 if
${\tt a}\ge {\tt b}$, 0 otherwise.
}

\vskip1em
The functions to follow return \ variable of type {\tt INTERVL},
unless stated otherwise. Variables {\tt x} and {\tt y} are
of type {\tt INTERVL}, {\tt d} is
{\tt double}, {\tt m}, {\tt i} and {\tt j} are
of type {\tt int} and {\tt b} is of type {\tt BND}.

{\tt cvtbi(b)}. Converts {\tt b} into {\tt INTERVL}.

{\tt cvtdi(d)}. Converts {\tt d} into {\tt INTERVL}.

{\tt cvtinti(m)}. Converts {\tt m} into {\tt INTERVL}.

{\tt plus(x,y)}. Returns an interval containing the true set--theoretic
sum
of {\tt x} and {\tt y}.

{\tt neg(x)}. Returns $-${\tt x}.

{\tt iabs(x)}. Returns $|{\tt x}|$.

{\tt uabs(x)}. Returns an upper bound to $|{\tt x}|$. The function
returns a variable of type {\tt BND}.

{\tt labsi(x)}. Returns a lower bound to $|{\tt x}|$.
Returns a variable of type {\tt BND}.

{\tt iequ(x,y)}. Returns 1 if the arguments are exactly the same,
0 otherwise.

{\tt ienlarge(x,b)}. Returns an interval containing all points
at distance at most {\tt b} from {\tt x}.

{\tt mult(x,y)}.
Returns an interval containing the true set--theoretic
product
of {\tt x} and {\tt y}.

{\tt divi(x,y)}.
Returns an interval containing the true set--theoretic
division
of {\tt x} by {\tt y}. If $0\in{\tt y}$, then we abort the
program.

{\tt inv(x)}.
Returns an interval containing the true set--theoretic
inverse
of {\tt y}. If $0\in{\tt y}$, then we abort the program.

{\tt square(x)}.
Returns an interval containing the true set--theoretic
square
of {\tt x}.

{\tt power(x,m)}.
Returns an interval containing the true set--theoretic
power
{\tt x}$^m$.

{\tt intersect(x,y)}.
Returns ${\tt x}\cap{\tt y}$, which also belongs to ${\cal I}$.

{\tt iunion(x,y)}.
Returns ${\tt x}\cup_I{\tt y}\in{\cal I}$, the smallest interval containing
the union of both arguments.

{\tt ration(i,j)}.
Returns an interval containing ${\tt i}/{\tt j}$.

{\tt iexp(x)}. Returns an interval containing $e^x$. This can be easily
constructed using the Taylor expansion for the exponential.

{\tt ilog(x)}. Returns an interval containing $\log({\tt x})$.
This can be easily
constructed using the Taylor expansion for the exponential, in the
case ${\tt x}\in\coint \oh,1$, and the general case
follows trivially
after we obtain upper and lower bounds for $\log 2$. These
bounds can be obtained heuristically, and then
checked using the function {\tt iexp()}. Alternatively, bounds
for $\log 2$ are available in the literature, which are better
than the ones we could check with {\tt iexp()};
we preferred our way
since we simply don't know whether those bounds
in the literature are rigorous. This is somewhat
wasteful, since {\tt iexp()} is rather conservative (not much).
But it did not affect our proof in any noticeable  way.

The functions to follow return variables of type {\tt POLY}, unless
said otherwise. Arguments starting with {\tt p} are also
of type {\tt POLY}, {\tt m} is of type
{\tt int}, {\tt x}, {\tt y} and {\tt a} are of type {\tt INTERVL}, and
variables starting with {\tt b} are {\tt BND}.

{\tt make\_poly(m)}. Returns a {\tt POLY} of degree {\tt m} with
zero coefficients.

{\tt polycopy(p)}. Returns a {\tt POLY} identical to {\tt p}.

{\tt coeff(p,m)}. Returns {\tt p.p[m]}, an {\tt INTERVL}.

{\tt coeffmult(p1,p2,m)}. Returns the {\tt m}'th coefficient
in the algebraic product (in the
interval arithmetic sense) of {\tt p1 \rm and \tt p2}.

{\tt polysca(p,a)}. Returns bounds for {\tt a}$\cdot${\tt p}.

{\tt evalpoly(p,a)}. Returns an {\tt INTERVL} containing
the algebraic evaluation of {\tt p} at {\tt a}.

{\tt polynorm(p)}. Returns a {\tt BND}, which is an upper bound for
the sum of the absolute value of the coefficients of {\tt p}.

{\tt polyplus(p1,p2)}. Returns bounds for the algebraic sum of
the arguments.

{\tt polymult(p1,p2)}. Returns bounds for the algebraic product of
the arguments.

{\tt polyscale(p,a)}. Returns bounds for the polynomial in $x$
given by ${\tt p}({\tt a}\cdot x)$.

{\tt polyder(p)}. Returns bounds for the algebraic derivative of
{\tt p}.

{\tt polyinteg(p)}. Returns bounds for the algebraic integral of
{\tt p}.

{\tt polycomp(p1,p2)}. Returns bounds for the algebraic composition
{\tt p1}({\tt p2}).

{\tt coeffcomp(p1,p2,m)}. Returns bounds for {\tt m}'th
coefficient in the algebraic composition
{\tt p1}({\tt p2}).

{\tt polyinv(p)}. Returns bounds for the first {\tt p.deg}+1
Taylor coefficients of the functional inverse $p^{-1}$ such that
{\tt p}$\circ (p^{-1})={\rm Id}$.

The following functions return variables of type {\tt RSERIES},
with same radius, center, order and type as the arguments,
unless stated otherwise. Variable names continue with the same type,
except that those starting with {\tt s} and {\tt r}
are now of type {\tt RSERIES}.

{\tt rs(x,r,i)}. Returns a {\tt RSERIES}, with {\tt .center}={\tt x},
{\tt .r}={\tt r} and {\tt .p.deg} = {\tt i}. Polynomial coefficients
are zero.

{\tt rscopy(r)}. Returns a {\tt RSERIES} identical to {\tt r}.

{\tt ichcoo(a,r)}. Returns bounds for $({\tt r.center}-{\tt a})/
{\tt r.r}$.

{\tt geomrs(x,y,b1,m,b2)}. Returns a neighborhood for $1/({\tt x}t+
{\tt y})$ with center at {\tt b1}, radius {\tt b2} and
degree {\tt m}.

{\tt rstrunc(s,m)}. Returns a {\tt RSERIES} of degree {\tt m}
which contains {\tt s}. It aborts if ${\tt m}>{\tt s.p.deg}$.

{\tt rsplusc(r,a)}. Returns bounds for {\tt r}+{\tt a}.

{\tt rsca(r,a)}. Returns bounds for {\tt a}$\cdot${\tt r}.

{\tt rsplus(r,s)}. Returns bounds for the sum of the arguments.
The order and type are the smaller of those of the arguments.
It is assumed without check that the center of the arguments are
identical.

{\tt rsminus(r,s)}. Returns bounds for {\tt r}$-${\tt s}.
The order and type are the smaller of those of the arguments.
It is assumed without check that the center of the arguments are
identical.

{\tt rsmult(r,s)}. Returns bounds for the product of the arguments.
The order and type are the smaller of those of the arguments.
It is assumed without check that the center of the arguments are
identical.

{\tt rseval(r,a)}. Returns an {\tt INTERVL}
with bounds for {\tt r}({\tt a}).

{\tt rsinteg(r)}. Returns a neighborhood for the functions
$\int_{{\rm r.center}}^x f(t)\,dt$ where $f\in{\tt r}$, and
$|x-{\tt r.center}|<{\tt r.r}$. The polynomial order and type of the output is one more
than those of the argument.

{\tt rsdint(r,a,b)}. Returns a {\tt INTERVL}
with bounds for
$\int_b^a f(t)\,dt$ where $f\in{\tt r}$.

{\tt rsoverx(s)}. Returns bounds for ${\tt s}(x)/(x-{\tt s.center})$.
It is assumed here without check that {\tt s}({\tt s.center})=0 exactly
and the type of {\tt s} is at least 1.

{\tt rslog(x,y,b1,m,b2)}. Returns a neighborhood for $\log({\tt x}t+
{\tt y})$ with center at {\tt b1}, radius {\tt b2} and
degree {\tt m}.

{\tt ievders(s,x)}. Returns an {\tt INTERVL} containing bounds
for the derivative of {\tt s} at {\tt x}.

{\tt ievnders(s,x,m)}. Returns an {\tt INTERVL} containing bounds
for the {\tt m}'th
derivative of {\tt s} at {\tt x}.

{\tt bl1nrs(s)}. Returns a {\tt BND} which contains an upper bound for
$\lnorm s_1$.

{\tt rstimesx(s)}. Returns bounds for the functions $x\cdot{\tt s}(x)$.

{\tt frac22(x,b)}. Returns a {\tt BND} with
an upper bound for $C_{2.2}(x,b)$, as in Section~2.

{\tt frak22(x,b)}. Returns a {\tt BND} with
an upper bound for $K_{2.2}(x,b)$.

{\tt rsmatpower(s,*r)}. Returns the argument {\tt *r}, a pointer
to an array of {\tt RSERIES}, containing bounds for
all powers of
{\tt s}, from 0 to {\tt s.p.deg}.

{\tt rspower(r,x)}. Returns bounds for {\tt r}$^x$.

{\tt polypower(p,x)}. Returns a {\tt POLY}
containing bounds for the Taylor approximation of degree
{\tt p.deg} of {\tt p}$^x$.

The functions to follow perform operations on variables
of type {\tt GRS}, represented by arguments starting
with {\tt gs}.

Functions

{\obeylines\parskip=0pt\parindent=30pt
{\tt grscopy(gs)}
{\tt grsmult(gs1,gs2)}
{\tt grseval(gs,x)}
{\tt grsdereval(gs,x)}
{\tt grstimesx(gs)}
{\tt grspower(grs,x)}

}

perform the corresponding operations as their {\tt RSERIES}
counterparts on each {\tt RSERIES} member of their structures.

{\tt grsdint(gs,x,y)}. Returns bounds for the integral from
{\tt x} to {\tt y} of all global functions in {\tt gs}.
Note here that the role
the of {\tt x} and {\tt y} is reversed with respect to
{\tt rsdint()}.

{\tt grs(n)}. This function simply returns a {\tt GRS} with
{\tt .n} member equal to {\tt n}, and with space allocated
for {\tt n}$+1$ variables of type {\tt RSERIES}. Note that
the further allocation needed {\it in} the
{\tt POLY} member of {\tt RSERIES}
is not done here. This should be done using either {\tt rs()}
or {\tt make\_poly()} above.

{\tt grsintpt(gs,i)}. Returns a {\tt double}, a heuristic choice
for the ``middle'' point between the centers of the
{\tt i}'th and {\tt i}+1'th members of {\tt gs}. If we denote
the centers by $x_1$ and $x_2$, and corresponding radii by
$r_1$ and $r_2$, this function returns approximately the
number $\displaystyle{r_1\cdot x_2+r_2\cdot x_1}\over
\displaystyle {r_1+r_2}$.

{\tt grsloc(gs,x)}. Another heuristic function.
Returns an integer representing the
member of the structure {\tt gs} which best captures
the behavior of {\tt gs} near {\tt x}, i.e., the
one that minimizes (in a heuristic way), the output
of {\tt ichcoo(x,\dots)} above.

The functions with names equal to the above followed by an {\tt f}
perform the same operations, plus: they destroy the arguments
containing pointers
by freeing the memory they have allocated.


In addition to these functions, we also have the following,
which are of an entirely heuristic nature. They are
designed to make the heuristic guesses of $p$ in
Algorithms~3.2 and similar. They manipulate
polynomials, this time defined simply as arrays of
{\tt SIZE}$+1$  variables of type {\tt double} (we took {\tt SIZE}=50
in our programs); we will denote such variables here
with names starting with {\tt po}.
They also use the additional
{\tt extern} variable
{\tt DEGREE}, smaller than {\tt SIZE} at all times,
intended to  allow us  to vary the effective degree of these
polynomials inside the programs.
They do not return any variables a values, only as arguments.
All operations they perform are floating--point.

{\tt pzer(po)}. Initializes {\tt po} to 0.

{\tt pcopy(po1,po2)}. Copies {\tt po1} into {\tt po2}.

{\tt pnorm(po1)}. Returns a {\tt double} with a floating--point
approximation to $\lnorm{{\tt po1}}_1$.

{\tt psub(po1,po2,po3)}. Puts in {\tt po3} the algebraic
difference  of {\tt po1} and {\tt po2}.

{\tt pprod(po1,po2,po3)}. Puts in {\tt po3} the algebraic
product of {\tt po1} and {\tt po2} truncated to {\tt DEGREE}.

{\tt pinte(p01,po2)}. Puts in {\tt po2} the algebraic
integral of {\tt po1}, truncated to {\tt DEGREE}.

{\tt psca(po1,x,po2)}. Puts in {\tt po2} the product of
{\tt po1} by the {\tt double x}.

{\tt pscale(po1,x,po2)}. Puts in {\tt po2} the scaled polynomial
{\tt po1$({\tt x}\cdot t)$}.

{\tt myprpower(po1,x,po2)}. Takes
{\tt po1} to the power {\tt x} and puts the result in {\tt po2}.

Last, but not least, we also need functions that give
the {\it decimal} expansion of rationals bounds for
representable numbers. This is required, for instance,
to be able to state Lemma~3.21 in the form we did, rather
than in a form where the bounds claimed are given in
the harder to visualize hexadecimal form. The construction of such functions,
while not trivial, is not too hard and we omit the
details.

\vskip3em
\title{7.3 Aperiodicity Programs.}
\parskip=10truept
The following is a brief itemized explanation of the
computer programs included at the end of this paper.
\vskip1em
Throughout the programs, we will use the external variables

\
{\medtype\tt\obeylines\parskip0pt
extern GRS Y, YRS, U;
extern INTERVL Le, UL, De, UD,  C1, W, RC, BC, ALPHA;
extern RSERIES HINF, H0;
}

The variable {\tt ALPHA} will contain consist of
bounds for $\oh(\sqrt{73}-7)$ computed once and for all at the
 beginning of each program. The variables
 {\tt De}
and {\tt UD} correspond to $\delta$ and $u(\delta)$ of Section~4,
and ${\tt Le}$ and ${\tt UL}$ correspond to variables $L$ and $u(L)$
also in Section~4, and they are introduced in functions {\tt
 h\_at\_0()}
 and {\tt hinf()} respectively. The rest will be explained below.


{\tt lipreg()}. Implements Algorithm 3.1, returning the Lipschitz
norm if we can show that it is less than 1, and returning 1 otherwise.

{\tt vtffx()}.
Implements Algorithm 3.3. Algorithm 3.2, which is needed
for the execution of the former,
is implemented explicitly inside the function.

{\tt supervtffx()}. Implements Algorithm 3.5. Note that in this function,
as well as in {\tt vtffx()}, the values and derivatives of the solution
of the ODE are returned as arguments, while the {\tt double} that
the function returns as value is an approximation to $\norm{
p-\tilde Tp}$, which, as pointed out before, will be used in deciding
how much to increase or decrease the next choice of $r_i$.

{\tt vtffxi()}. Implements Algorithm 3.2. Gives neighborhoods
of type 2. This function (and {\tt vtffxi2()} below)
returns a neighborhood valid for all centers in the interval
{\tt xin}. As a consequence, no {\tt .center} of type
{\tt BND} can be naturally
specified in the {\tt RSERIES} it returns; we assigned the
value 0 (a better choice would be {\tt NaN}). This means
that we cannot manipulate the outcome of this particular function
with any general--purpose function which would attempt to
make use of the structure member {\tt .center}. All such
manipulations should be done explicitly taking into account
that the centers are contained in {\tt xin}.\footnote{$^1$}{
\medtype One
could attempt to define a new variable type in which
centers are of type {\tt INTERVL}. Since this is the
only place in which we use this special choice, we
decided not to do it in this particular situation.
 \par
 }

{\tt tfypoly()}. See below.

{\tt vtffxi2()}. Implements Algorithm 3.2. Gives neighborhoods
of type $\infty$. The power matching scheme is done in {\tt tfypoly()}


{\tt lip0()}. Implements Algorithm 3.6, returning the Lipschitz
norm if we can show that it is less than 1, and returning 1 otherwise.

{\tt vtff0()}. Implements Algorithm 3.8. Again, Algorithm 3.7 is
built in.

{\tt y\_at\_0()}. Implements Algorithm 3.7.

{\tt tfw()}. Implements Algorithm 3.15. In our
description of this Algorithm above, the $x_i$
and $r_i$ are given. From the logical point of view, this is true,
but from the computational point of view, the $x_i$ and $r_i$ are
produced within {\tt tfw()}.

The successive rigorous bounds we find for $w_0$ are printed
in hexadecimal form as they are obtained. The reason for this
is that it takes a long time to run each iteration. In this way,
one has rigorous bounds for $w_0$ even if the function does
not finish (due to computer shut down, or impatience on our part).

{\tt tff(w)}. This function implements Algorithm~3.16, where
the {\tt INTERVL w} has as endpoints a rigorous upper and
lower bound for $w_0$. As in {\tt tfw()}, the choice of the
$x_i$ and $r_i$ is done inside the function. The values
$y_i$ and $y_i'$ are returned as a single variable of
type {\tt GRS}.

{\tt tfrs(y)}. Implements Algorithm~3.20. The argument ${\tt y}$,
which is of type {\tt GRS}, is the output of {\tt tff(w)}.

{\tt Omega(u)}. The argument {\tt u}, a {\tt GRS} variable,
contains bounds
for $u_{\rm TF}(x)=x\cdot y_{\rm TF}(x)$. The function then
returns an interval $\ccint r^{\rm dn},{r^{\rm dn}}$
which is guaranteed to contain $r_c$. Recall that $r_c$
is uniquely defined by the identity $u'(r_c)=0$.  Thus, we first
look in a heuristic manner for $r^{\rm dn}$ and $r^{\rm up}$, and
conclude that they are valid bounds after checking that
$u'(r^{\rm dn})\ge 0$ and $u'(r^{\rm up})\le 0$, which we can easily
do using the general purpose interval arithmetic package, namely,
function {\tt grsdereval()}.

The heuristic construction of the interval is done via
a bisection method, slightly modified so that the interval
produced is optimal, in the sense that any
representable $r>r^{\rm dn}$, the bounds we obtain for
$u'(r)$ would not be strictly positive (similarly for $r^{\rm up}$).

{\tt tfprint()}. This is a bookeeping function. It prints the
output of {\tt tfw()}, bounds for $w_0$ and $-b_1$, the
output of {\tt tff()} (Algorithm~3.16), {\tt tfrs()} (Algorithm~3.18),
together with a {\tt GRS} variable containing $u_{\rm TF}$,
the bounds for $r_c$ produced in {\tt Omega()}, and bounds
for $\Omega_c^2$.
The bounds for $u_{\rm TF}$, and $\Omega_c^2$ are easily obtained
via the general purpose functions {\tt grstimesx()} and
{\tt grseval()}.

The print out is done in hexadecimal form, so that it can be printed
on a file and read rigorously for later use.

{\tt tfread()}. This function simply reads the output of
{\tt tfprint()}.

{\tt r0(w)}. Given an {\tt INTERVL w}, this function produces
an interval $\ccint a,b$
containing all solutions $r\le r_c$ to the equation
$u(r)=w^2$, for all values $w$ contained in {\tt w}. The bounds
are, first, obtained heuristically using bisection (as in
{\tt Omega()}), and seen to be correct by
checking that an interval containing $u(b)$
is entirely to the right of (i.e. larger than or equal to)
{\tt w}$^2$, and
an interval containing $u(a)$
is entirely to the left of {\tt w}$^2$.


{\tt r1(w)}. Same as before, except that the solutions we are looking
for are $u(r)=w^2$ for $r\ge r_c$. Both functions produce optimal
intervals, in the sense described in {\tt Omega()}.
This function only returns a true bound when {\tt w}$\ge10^{-20}$.
This is perfectly fine, since it is only invoked for {\tt w}$\ge
\Omega_\epsilon$, and we check that $\Omega_\epsilon>10^{-20}$
(if fact, $\Omega_\epsilon\sim 0.01$).

{\tt vtfinf()}. Implements Algorithm~3.13, for representable values
of $b$={\tt -a0} and $R$={\tt t}. As usual, Algorithm~3.12 is
implemented inside.

{\tt tfc1()}. We use our bounds for
$w_0$, which {\tt tff()} transforms for bounds for $y_{\rm TF}$, and,
for a representable {\tt ctest} we return 1 if we can guarantee
that $b_1\le -${\tt ctest}, $-1$ if
$b_1\ge -${\tt ctest} and 0 if we cannot guarantee any inequality.

{\tt getc1()}. Organizes {\tt tfc1()} to implement Algorithm~3.19.
The bounds for $-b_1$ are stored in the external variable {\tt C1}.
As in {\tt tfw()}, instead of returning an interval value for
our bounds at the end, this function prints the successive
rigorous bounds it obtains in hexadecimal form.

{\tt refiney()}.
This function implements Algorithm~3.18, with the extra obvious feature
that
instead of obtaining $y_i^\ast$ and ${y'}_i^\ast$ alone, it takes care
of comparing them with the old bounds we had, given by
function {\tt tff()} and stored in {\tt Y},
and takes the intersection of them.
This requires the $x_i$ to be the same as before, which poses
no problem, of course.

{\tt refine\_numbers()}. Similar to {\tt tfprint()}, except that,
once bounds for $b_1$ are computed,
it takes care of using them to improve the bounds for $y_{\rm TF}$
before printing them out.

{\tt tfw2(w)}. According to Algorithm~3.19, once new bounds
for $b_1$ are obtained, and the corresponding bounds for
$y_{\rm TF}$ are obtained, one can attempt to improve the bounds
for $w_0$. This function takes care of this, by returning
1 if, using the scheme in Algorithm~3.19, we can show that
$w_0\ge{\tt w}$,
$-1$ if
$w_0\le{\tt w}$, and 0 if we cannot claim any inequality.

{\tt mygetw()}. This function simply organizes the previous one.

{\tt refineY()}. This function implements Algorithm~3.16
again. The difference with {\tt tff()} is  only
a programming one, since the bounds this function computes
are assumed to be refinements of previous ones. Thus, the
$x_i$ need not be recomputed.

{\tt rstfu2(x,r,y)}.  This function implements a trivial variant of
Algorithm~3.2, in the type $\infty$ case,
except that instead of returning bounds for
$y_{\rm TF}$ alone (which are returned in the pointer variable
{\tt y}), it returns $r\cdot y_{\rm TF}(r)$ also. As pointed out before,
multiplication by $r$, which is implemented as a general purpose
routine {\tt rstimesx()}, is not available here, since {\tt vtffxi2()}
returns a {\tt RSERIES} without a meaningful {\tt .center}
structure member, needed in {\tt rstimesx()}.

{\tt yinf(t,m)}. This function implements Algorithm~3.12.
The {\tt int} variable {\tt m} represents the order of the
expansion we want.

{\tt expandY()}. Given  the variable {\tt Y}
of type {\tt RSERIES} containing
bounds for $y_{\rm TF}$ and $y'_{\rm TF}$
at certains points $x_i$, this function
returns another {\tt RSERIES} with the same bounds at
the same $x_i$, plus the trivial bounds
$y_{\rm TF}\in\ccint 0,1$, $y'_{\rm TF}\in \ccint -2,0$
at other points $x_i$, chosen heuristically inside it.
 This is justified since if at the stage we use this function we
 already know that $w_0\le 2$, which we do because by the time we use this
function we would have already run {\tt mygetw()}. Obviously, this bound can
 be replaced by any other we know to be true by the time we run
this function, and it will probably have no effect on the final
answer, since the information {\tt expandY()} produces will most
 probably never be used until {\tt refineY()} has already improved it to a quite
 sharp bound.
After doing this,
it also destroys {\tt Y} by freeing the memory allocated
to it.       Note that this function has a purely administrative role.

\vskip1em
The functions below refer to the algorithms presented in
Section~4. In the explanation to follow,
we use the notation introduced there.

{\tt secder0(w,a)}. Computes $I_2$ in Section~4, for the thin
interval {\tt w} and $a={\tt a}$. If ${\tt w}\le \bar\Omega_2$,
it simply invokes {\tt secder0\_sp()} below. Note that
$\bar\Omega_2$ is implicitly defined by the first
{\tt if} statement in this function.

{\tt secder1(w,a)}. Same as before,  but for $I_3$ this time.

{\tt dermatrix()}. Computes the numbers $a_{k,i}$ and $b_{k,i}$
involved in the computation of $I_1$ in Section~4. They are stored
in the polynomial part of
{\tt RSERIES} variables.

{\tt secdermat(w,a1,a2,der1,der2,i)}. Uses the
numbers $a_{k,i}$ and $b_{k,i}$ (given in {\tt a1}, {\tt a2}, {\tt der1}
and {\tt der2} respectively)
to compute $\tilde J_{i}({\tt w})$.
 The choice of the $t_i$ is made using {\tt grsintpt()}.

{\tt secderdir()}. This function computes $J_i$ directly,
i.e. computes bounds for the functions $f_i$ in
Section~4 involved in the computation of
$I_1$, without
use of the
numbers $a_{k,i}$ and $b_{k,i}$. This function is intended to
compute these $f_i$ for representable arguments.

{\tt super\_secderdir()}.  This function does the
same as the previous, but for interval values
of the argument. In other words, for the thin
interval under consideration $\ccint z_1,{z_2}$,
this function uses  the previous one
to compute the $f_i(z_1)$ and $f_i(z_2)$,
and then sets $J_i=f_i(z_1)\cup_I f_i(z_2)$. Recall that this is
justified due to the monotonicity of the $f_i$.

{\tt secder\_help()}. This function uses the previous one
to compute bounds for $I_1$. It selects the $i_0$ and $i_1$,
computes the $\tilde J_i$ either directly or using the
$a_{k,i}$ and $b_{k,i}$, and adds them up together.

{\tt alim()}. This function selects heuristically
the number $a$ (as a function of $\Omega$) involved in
the break up of $I$ into the $I_i$ ($i=1,2,3$) in
(4.1).

{\tt blim()}. Same as before, but for $b$.

{\tt secder2()}. This function organizes the previous ones
to produce bounds for $-F''$ in a thin interval $\Omega$.

{\tt supersecder2()}. Given an interval $\Omega$, it runs
the previous function to check whether $-F''$ is strictly
positive. If we can check that it is, it reports a success and
returns the bounds. If it is not, it subdivides the interval
and tries each half recursively. Note that the fact that
this function eventually finishes implies that $-F''$
is strictly positive on the original interval.

{\tt supersupersecderdn(w,vup,dup)}. (At this stage, the reader will
probably notice our lack of imagination in picking names
for all the functions involved in this proof.)
Given a fat interval {\tt w}, and numbers $a_{2,i}$ (stored in
{\tt vup}), and $b_{2,i}$ (stored in {\tt dup}), corresponding
to the upper endpoint of {\tt w}, this function computes
the missing $a_{1,i}$ and $b_{1,i}$ corresponding to
the lower endpoint of {\tt w}; then, it breaks
{\tt w}   into thin subintervals  using the heuristic
variable {\tt step}, and then invokes the previous function
to check that $-F''$ is strictly positive in
each thin subinterval. Once this is done, we know that
$-F''$ is strictly positive all over {\tt w}. Before
returning, this function replaces the arguments {\tt vup}
and {\tt dup} by the values of the $a_{1,i}$ and
$b_{1,i}$ corresponding to the lower end of {\tt w}.
The reason for this will be explained in the next function.

{\tt secderdn(r,step)}. Given  representable {\tt r}
and {\tt step}, this function computes the $a_i$ and $b_i$
corresponding to $r$, constructs the fat interval
$w_1=\ccint {\tt r}-{\tt step},{\tt r}$, and gives them to the previous
function (note that these are exactly the arguments
it needs) to do its job. When {\tt supersupersecderdn()}
is finished, it returns to us the $a_i$ and $b_i$
corresponding to the lower end of $w_1$; then, we construct
the new fat interval $w_2=\ccint {\tt r}-2
\cdot{\tt step},{{\tt r}-{\tt step}}$,
and we give it to {\tt supersupersecderdn()} again.
Note that the $a_i$ and $b_i$ that we need now are
exactly the ones returned to us by {\tt
supersupersecderdn()}. And so on.
Note that in the construction of the $w_i$
we used expressions of the type ${\tt r}-i\cdot{\tt step}$; there
is no need to make these computations rigorous, as long we make
sure that the lower endpoint of each interval is
exactly the upper endpoint of the next, which is trivial to
arrange.

We do not include any
stopping criterion for this function, rather,
we instruct it to print in exact hexadecimal form
each fat interval on which we can guarantee that
$-F''$ is strictly positive. The reason for this is that
it takes a very long time to do each fat
interval; thus, we prefer to let several computers run (say six
of them) on complementary ranges,
and stop them as they redundantly
start to get into each other's territory.

{\tt supersupersecderup()}. Same as {\tt supersupersecderdn()},
but designed to go up, rather than down.

{\tt secderup()}. ``Up'' version of {\tt secderdn()}.

{\tt hinf()}. Implements Algorithm~4.7. All sub--algorithms
are explicitly implemented inside as needed. ${\tt Le}$ is chosen here.

{\tt h\_at\_0()}. Implements Algorithm~4.3. Also, sub--algorithms
are implemented inside. ${\tt De}$ is chosen inside also.

{\tt printh()}. Runs the two previous functions, and types the
output in hexadecimal form for later use.

{\tt tfint1(alpha,x)}. This function computes bounds for
$$\int_1^{1+x}(t-1)^{-\frac 1,2}t^{\alpha}\,dt$$
for $x<1$. It does it by Taylor--expanding the integrand
around 1.

{\tt tfint2(alpha,a,b)}. Computes rough bounds for
$$\int_a^b(t-1)^{-\frac 1,2}t^{\alpha}\,dt$$
by bounding $t^{\alpha}$ and integrating $(t-1)^{-\frac 1,2}$.

{\tt tfint3(alpha,a,b)}. Computes rough bounds for
$$\int_a^b(t-1)^{-\frac 1,2}t^{\alpha}\,dt$$
by bounding
$(t-1)^{-\frac 1,2}$
and integrating
$t^{\alpha}$.

{\tt tfint4(alpha,a,b)}. Computes precise bounds for
$$\int_a^b(t-1)^{-\frac 1,2}t^{\alpha}\,dt$$
by Taylor--expanding the integrand.
This function is to be used when we require precision and are
willing to give up speed. The two previous ones are intended
for a fast, rather inaccurate answer.

{\tt tfintf1(alpha,x)}. This function computes rough bounds for
$$\int_1^{1+x}(t-1)^{-\frac 1,2}t^{\alpha}\,dt$$
for all {\tt x}. It does it by using {\tt tfint1()} around 1,
and using {\tt tfint2()}  (or {\tt tfint3()}) in several other
small intervals away from 0.

{\tt tfintf2(alpha,x)}. As the previous function,
but using {\tt tfint4()} instead for precise, slow bounds.

{\tt secder0\_sp(w)}. Computes $I_2$ when $\Omega_\epsilon
\le{\tt w}\le\bar\Omega_2$,
as explained in Section~4.
It checks that ${\tt w}^2\le u(\delta)$: otherwise, it aborts the
 program. Thus, if the program eventually ends without abortions, we
 are guaranteed that
 $\bar\Omega_2^2\le u(\delta)$.

{\tt secder1\_sp()}. Computes $I_3$ when $\Omega_\epsilon
\le\Omega\le\bar\Omega_3$. The same comments as {\tt secder0\_sp()}
 apply.

{\tt secder0\_speps()}. Computes $T_1(\Omega)$, as in Section~4.

{\tt secder1\_speps()}. Computes $T_2(\Omega)$, as in Section~4.
 As before, it also checks that ${\tt w}^2\le u(L)$: otherwise,
 it aborts the
 program. Thus, if the program eventually ends without abortions, we
 are guaranteed that
 $\bar\Omega_3^2\le u(L)$.

{\tt secder\_eps()}. Computes $T_3$.

\vskip1em
The next functions are related to Section~5. We also use
the same notation used there.

{\tt rtpoly()}. See below.

{\tt tfwz(t,x)}. Implements Algorithm~5.3. The neighborhood
${\cal U}_0$ is computed using {\tt vtffxi2()}, where $R={\tt x}$.
The value {\tt t} is $T$ in the statement of the algorithm,
which we check it is less than or equal to $\tilde T$.
The power--matching scheme is done in
{\tt rtpoly()}.

{\tt sdinv(w0,w)}. As in Algorithm~5.4, computes
bounds for $-F''$ in the interval
${\tt w0}$, using {\tt w}, the output of {\tt tfwz()}.

{\tt super\_sdinv(a,ww)}. Given an interval {\tt a} (which will
be all of Zone II), and {\tt ww}, the output of {\tt tfwz()},
this function subdivides {\tt a} recursively until it checks,
using the previous function, that $-F''$ is strictly positive
in each subinterval of {\tt a}.
When this function exits, we know that $-F''$ is strictly positive
all over {\tt a}.


\vskip2em
In order to display how
the previous functions can be
used to prove Theorem~1.1,
we conclude the present discussion with a list of
the final programs used in proving our theorem. In doing this,
we omit the trivial, but lengthy, statements
such as those dealing with  variable declarations.

The following obtains ---from scratch--- bounds for $w_0$, which
are printed in exact hexadecimal form.

\
{\medtype\tt\obeylines
\parindent=1truecm
\parskip=0pt
W.dn = (double) 1;
W.up = (double) 2;

tfw(W,0.0);
}

Note that it looks as if in the previous program we are assuming
the apparently
trivial  bounds $\ccint 1,2$
for $w_0$ before we start. In fact, we are not, since these
initial bounds are used only to make heuristic choices
where to look. The only thing to bear in mind, is that
the choices we will be using will be in $\ccint 1,2$.
Therefore, once we exit the program, we only have to check that
there is at least one of those choices for which we
were able to conclude that it bounds $w_0$ from above,
and that there is one of those choices that bounds
$w_0$ from below. Once we know this, the final bounds obtained
will be true bounds for $w_0$.


Using the bounds for $w_0$ obtained before,  we can now obtain
bounds for $y_{\rm TF}$ and use these to obtain bounds for $b_1$.

\
{\medtype\tt\obeylines
\parindent=1truecm
\parskip=0pt
W=readivalio();
printivalio(W);

Y=tff(W);
Y=expandY();
printgrsio(Y);
fflush(stdout);

C1.up = (double) 14;
C1.dn = (double) 13;
getc1();}


In the previous program, note that without the statement
{\tt expandY()}, the points at which we have bounds for
{\tt Y} may not be very many, and when trying to solve
the ODE backwards, starting at the largest $x_i$
stored inside {\tt Y}, we may run into trouble,
since, as pointed out in Section~3,  we need
large $x_i$ to be able to solve the ODE around
$\infty$. Note also that the bounds stored in
{\tt Y} are printed out in exact hexadecimal
form, since we will
be using them in all programs to follow.


Next, we organize the output of the previous program
so that it contains, first, the bounds for $w_0$,
next, the bounds for $-b_1$, and then the bounds
for $y_{\rm TF}$ contained in {\tt Y},
all in exact hexadecimal form. Then, this output can be used as input for
the following program, which will use the new bounds for $-b_1$
to obtain improved bounds for $y_{\rm TF}$, stored in {\tt Y}.
It will also compute the corresponding
{\tt YRS} and {\tt U}.

\
{\medtype\tt\obeylines
\parindent=1truecm
\parskip=0pt
W=readivalio();
C1 = readivalio();
Y=readgrsio();

refine\_numbers();}


The next program refines our bounds for $w_0$, $b_1$
and $y_{\rm TF}$, as described in Algorithm~3.19.
The output is printed out with same format as usual
in exact hexadecimal form.

\
{\medtype\tt\obeylines
\parindent=1truecm
\parskip=0pt
tfread();
mygetw();
refineY();
getc1();
refine\_numbers();}

A comment concerning the previous program. Since the bounds
that the previous procedures yield are quite sharp, the computer
may have to solve ODE's with initial values close
to the critical ones that cause the solutions to
vanish, but only very slowly. As a result, when trying to
check bounds for $w_0$ with {\tt mygetw()}, some choices of
{\tt wtest} may yield a failure of some of the
ODE--solving algorithms, which will cause
the previous program to
be aborted. The thing to do in this case
is to take whatever bounds were successfully
obtained by {\tt mygetw()},  use them to replace the old bounds
for $w_0$ written in some file, and restart the previous
program without using {\tt mygetw()}. To achieve
even greater accuracy, one may also
rerun the previous program (after replacing the bounds
for $w_0$ with the new ones) with a different choice of
the heuristic parameter {\tt t} in {\tt mygetw()}.
These comments extend also to $b_1$ and {\tt getc1()}, although those
 occurrences are very unlikely in this case.

Once we are happy with all the bounds for the Thomas--Fermi
data, we run the following program, which will
write in exact hexadecimal form the neighborhoods
for $h(t)$ in Algorithm~4.7, for $h(t)$ in Algorithm~4.3,
and bounds for $L$, $u(L)$, $\delta$ and $u(\delta)$.

\
{\medtype\tt\obeylines
\parindent=1truecm
\parskip=0pt
tfread();
printh();}

\vskip1em
The program to follow will check that $-F''$ is strictly
positive for $\Omega_\epsilon\le\Omega\le\Omega_c$.


\
{\medtype\tt\obeylines
\parindent=1truecm
\parskip=0pt
tfread();
readh();

i1 = ratpower(BC,1,2);
i1.dn = 0.6956;       /*{\it This amounts to setting {\rm Zone II}$=\ccint 0{.}6956,{\Omega_c}$}*/

res = tfwz(0.0605,0.462);
super\_sdinv(i1,res);

/*{\it At this point we know that $-F''>0$ on \rm Zone II}*/

secderdn(i1.dn,1.e-4);
}

This program can be complemented with programs of the type

\
{\medtype\tt\obeylines
\parindent=1truecm
\parskip=0pt
tfread();
readh();
secderup(x,t);
}

or

\
{\medtype\tt\obeylines
\parindent=1truecm
\parskip=0pt
tfread();
readh();
secderdn(x,t);
}

for {\tt double} values of {\tt x} and {\tt t}, which can run on
separate computers.

Note that these three last programs will tell us in exact hexadecimal
form which fat intervals $W$ are guaranteed to satisfy
$-F''>0$ on $W$, but will never stop trying to get $W$
closer and
closer to  0. The thing to do is, as long as we see that
we have checked all intervals inside $\ccint \sim 10^{-2},
{\Omega_c}$, halt the program, set $\Omega_\epsilon$ equal
to the lower end of the last interval checked, and
run the following last program:

\
{\medtype\tt\obeylines
\parindent=1truecm
\parskip=0pt
tfread();
readh();

i1 = readivalio();

b1 = minb(uabs(UL),uabs(UD));
b1 = ldivb(b1,btwo);
printbd(b1);
if(lsb(b1,ucvtib(square(i1))))$\{$
        printf("error");
        abort();
$\}$

i3 = secder1\_speps(i1);
i4 = secder0\_speps(i1);
i2 = secder\_eps();
i2 = plus(i2,neg(plus(i3,i4)));
i3 = poweri(i1,plus(imone,ALPHA));
i3 = mult(i3,divi(HINF.p.p[1],itwo));
i3 = mult(i3, poweri(divi(cvtbi(HINF.center),cvtinti(12)),ALPHA));
i2 = plus(i2,i3);
if(lseqb(lcvtib(i2),b0ero))$\{$
        printf("error");
        abort();
$\}$
else printf("PROVED");
}

This program checks that $T_1(\Omega)+T_2(\Omega)+T_3>0$ for
all $\Omega\in{\tt i1}$, after checking that $\Omega_\epsilon={\tt
i1.up}$
satisfies  (4.11c) and (4.22).
 As a result, any $\Omega_\epsilon\in{\tt i1}$ would finish the proof.
 In our case, {\tt i1.dn}$=${\tt i1.up}$=$lower end of the last thin
 interval for which we successfully run {\tt supersupersecderdn()}.

\bibliography
\medtype
\BBArnoldBB
\BBEKWBB
\BBEckmannWittwerBB
\BBFeffermanLlaveBB
\BBFeffSecaBB
\BBFeffSecbBB
\BBFeffSeccBB
\BBFeffSecdBB
\BBFeffSeceBB
\BBFeffSecfBB
\BBFeffSecgBB
\BBKaucherMirankerBB
\BBHKSWBB
\BBHilleBB
\BBLanfordLlaveBB
\BBLlaveBB
\BBLohnerBB
\BBMooreBB
\BBRanaBB
\BBthesisBB
\BBSecoBB
\BBSiedentopWeikardLBBB
% @(#)tgrindmac.tex	1.4 (LBL) 3/30/85
% Macros for TeX "tgrind" (a TeX equivalent of 4bsd "vgrind").
%
%  Copyright (C) 1985 by Van Jacobson, Lawrence Berkeley Laboratory.
%  This program may be freely used and copied but may not be sold
%  without the author's written permission.  This notice must remain
%  in any copy or derivative.
%
%  Please send improvements, bug fixes, comments, etc., to 
%    van@lbl-rtsg.arpa
%    ...ucbvax!lbl-csam!van
%
%  Modifications.
%  --------------
%  10Feb85, vj	Written.
%  23Mar85, rf  Substitute ambx10 for amb10
%  29Mar85, Chris Torek: Use tt font for all characters in strings.
%		Print decent quotes in comments rather than use tt
%		font quotes.  Show filename (to terminal & log file)
%		at start of each new file.
%  30Mar85, vj	Fixed bug in tabbing.

\font\sevenrm=cmr7			% font for right margin line numbers
\font\twelvebf=cmbx10 scaled \magstep1	% font for page headers
\font\forteenrm=cmr10 scaled \magstep2	% font for right margin proc names

% tfontedpr outputs a "\Head{Hdr text}" if you give it the "-h" flag.
% We remember the text in "\Header" so it can be included in the 
% head line.
\def\Head#1{\def\Header{#1}}
\def\Header{\null}

% We get a "\File{Filename},{Last Mod Time},{Last Mod Date}" at the start of
% each new file.  We remember this stuff for inclusion in the page head & foot.
% We reset the page number & current line number to 0 and output a null
% mark to let the output routine know we're starting a new file.
% We set up the \headline & \footline token lists inside the File macro to
% save remembering the filename & mod time with yet other macros.
\def\File#1,#2,#3{\vfill\eject\mark{\empty}
\global\linecount=0\linenext=9\pageno=1\message{#1}
\headline={\twelvebf\Header\hfil
\edef\a{\topmark}\edef\b{\botmark}\edef\c{\firstmark}
\ifx\c\empty\botmark\else
\ifx\a\empty\botmark\else
\ifx\b\empty\topmark\else
\ifx\a\b\topmark\else\topmark--\botmark\fi
\fi\fi\fi(#1)}
\footline={\it{}#2 #3\hfil{}Page \folio{} of #1}}

% There's a "\Proc{Proc Name}" at the start of each procedure.  If
% the language definition allows nested procedures (e.g., pascal), there
% will be a "\ProcCont{Proc Name}" at the end of each inner procedure.
% (In this case, "proc name" is the name of the outer procedure.  I.e.,
% ProcCont marks the continuation of "proc name").
\def\Proc#1{\global\def\Procname{#1}\global\setbox\procbox=\hbox{\forteenrm #1}}
\def\ProcCont#1{\global\def\Procname{#1}
\global\setbox\procbox=\hbox{\forteenrm$\ldots$#1}}
\newbox\procbox
\def\Procname{\null}

% Each formfeed in the input is replaced by a "\NewPage" macro.  If
% you really want a page break here, define this as "\vfill\eject".
\def\NewPage{\filbreak\bigskip}

% Each line of the program text is enclosed by a "\L{...}".  We turn
% each line into an hbox of size hsize.  If we saw a procedure name somewhere
% in the line (i.e., "procbox" is not null), we right justify "procbox"
% on the line.  Every 10 lines we output a small, right justified line number.
\def\L#1{\filbreak\hbox to \hsize{\CF\strut\global\advance\linecount by1
#1\hss\ifvoid\procbox\linebox\else\box\procbox\mark{\Procname}\fi}}

\newcount\linecount \linecount=0
\newcount\linenext \linenext=9
\def\linebox{\ifnum\linecount>\linenext\global\advance\linenext by10
\hbox{\sevenrm\the\linecount}\fi}


% The following weirdness is to deal with tabs.  "Pieces" of a line
% between tabs are output as "\LB{...}".  E.g., a line with a tab at
% column 16 would be output as "\LB{xxx}\Tab{16}\LB{yyy}".  (Actually, to
% reduce the number of characters in the .tex file the \Tab macro
% supplies the 2nd & subsequent \LB's.) We accumulate the LB stuff in an
% hbox.  When we see a Tab, we grab this hbox (using "\lastbox") and turn
% it into a box that extends to the tab position.  We stash this box in
% "\linesofar" & use "\everyhbox" to get \linesofar concatenated onto the
% front of the next piece of the line.  (There must be a better way of
% doing tabs [cf., the Plain.tex tab macros] but I'm not not enough of a
% TeX wizard to come up with it.  Suggestions would be appreciated.)

\def\LB{\CF\hbox}
\newbox\linesofar\setbox\linesofar=\null
\everyhbox={\box\linesofar}
\newdimen\TBwid
\def\Tab#1{\setbox\tbox=\lastbox\TBwid=1\wd\tbox\advance\TBwid by 1\ts
\ifdim\TBwid>#1\ts
\setbox\linesofar=\hbox{\box\tbox\space}\else
\setbox\linesofar=\hbox to #1\ts{\box\tbox\hfil}\fi\LB}

% A normal space is too thin for code listings.  We make spaces & tabs
% be in "\ts" units (which are the width of a "0" in the current font).
\newdimen\ts
\newbox\tbox
\setbox\tbox=\hbox{0} \ts=1\wd\tbox \setbox\tbox=\hbox{\hskip 1\ts}
\def\space{\hskip 1\ts\relax}

% Font changing stuff for keywords, comments & strings.  We put keywords
% in boldface, comments in text-italic & strings in typewriter.  Since
% we're usually changing the font inside of a \LB macro, we remember the
% current font in \CF & stick a \CF at the start of each new box.
% Also, the characters " and ' behave differently in comments than in
% code, and others behave differently in strings than in code.
\newif\ifcomment\newif\ifstring
\let\CF=\rm
\def\K#1{{\bf #1}}	% Keyword
\def\C{\it\global\let\CF=\it\global\commenttrue\relax}	% Comment Start
\def\CE{\rm\global\let\CF=\rm\global\commentfalse\relax}% Comment End
\def\S{\tt\global\let\CF=\tt\global\stringtrue\relax}	% String Start
\def\SE{\rm\global\let\CF=\rm\global\stringfalse\relax}	% String End

% Special characters.
\def\{{\ifmmode\lbrace\else\ifstring{\char'173}\else$\lbrace$\fi\fi}
\def\}{\ifmmode\rbrace\else\ifstring{\char'175}\else$\rbrace$\fi\fi}
\def\!{\ifmmode\backslash\else\ifstring{\char'134}\else$\backslash$\fi\fi}
\def\|{\ifmmode|\else\ifstring{\char'174}\else$|$\fi\fi}
\def\<{\ifmmode<\else\ifstring<\else$<$\fi\fi}
\def\>{\ifmmode>\else\ifstring>\else$>$\fi\fi}
\def\/{\ifmmode/\else\ifstring/\else$/$\fi\fi}
\def\-{\ifmmode-\else\ifstring-\else$-$\fi\fi}
\def\_{\ifstring{\char'137}\else\underbar{\ }\fi}
\def\&{{\char'046}}
\def\#{{\char'043}}
\def\%{{\char'045}}
\def\~{{\char'176}}
\def\"{\ifcomment''\else{\tt\char'042}\fi}
\def\'{\ifcomment'\else{\tt\char'047}\fi}
\def\^{{\char'136}}
\def\${{\rm\char'044}}

\raggedright\obeyspaces\let =\space%

\File{},{18:34},{Apr 17 1993}
\L{\LB{\K{\#include} \<math.h\>}}
\L{\LB{\K{\#include} \<stdio.h\>}}
\L{\LB{\K{\#include} \S{}\"extern.inc\"\SE{}}}
\L{\LB{INTERVL r0(), r1();}}
\L{\LB{RSERIES yinf(), y\_at\_0(), vtffxi();}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secder0}secder0(w,a)}}
\L{\LB{INTERVL w, a;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL yw0, yw1, x, ith;}}
\L{\LB{}\Tab{8}{INTERVL secder0\_sp(), coo, coo12, sol;}}
\L{\LB{}\Tab{8}{BND b;}}
\L{\LB{}\Tab{8}{RSERIES y, u, y2;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{coo = U.f[1].p.p[0];}}
\L{\LB{}\Tab{8}{\K{if}(lsb(ucvtib(square(w)),lcvtib(coo)))\K{return}(secder0\_sp(w));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ith = divi(cvtinti(\-3),cvtinti(2));}}
\L{\LB{}\Tab{8}{x = r0(w);}}
\L{\LB{}\Tab{8}{yw0 = grseval(YRS,x);}}
\L{\LB{}\Tab{8}{yw1 = grsdereval(YRS,x);}}
\L{\LB{}\Tab{8}{y = vtffxi( x, a, yw0, yw1);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{u = rscopy(y);}}
\L{\LB{}\Tab{8}{\K{for}(i = y.p.deg; i\>=1; \-\-i)}}
\L{\LB{}\Tab{16}{u.p.p[i] = plus(mult(y.p.p[i],x),mult(y.p.p[i\-1], cvtbi(y.r)));}}
\L{\LB{}\Tab{8}{u.p.p[0] = mult(y.p.p[0] ,x);}}
\L{\LB{}\Tab{8}{u.g = umultb(y.g,uplusb(ucvtib(x),y.r));}}
\L{\LB{}\Tab{8}{u.h = umultb(y.h,uplusb(ucvtib(x),y.r));}}
\L{\LB{}\Tab{8}{u.h = uplusb(u.h,umultb(uabs(y.p.p[y.p.deg]),y.r));}}
\L{\LB{}\Tab{8}{u.p.p[1] = intersect(u.p.p[1],mult(grsdereval(U,x),cvtbi(u.r)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y2 = rs(y.p.deg\-1,y.center,y.r);}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= y2.p.deg; ++i) y2.p.p[i] = u.p.p[i+1];}}
\L{\LB{}\Tab{8}{y2.g = u.g, y2.h = u.h;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y2 = rspowerf(y2,divi(ith,itwo));}}
\L{\LB{}\Tab{8}{y2 = rsmultf(y2,y2);}}
\L{\LB{}\Tab{8}{y2 = rsmultf(y2,y);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = izero;}}
\L{\LB{}\Tab{8}{coo = divi(iabs(plus(a,neg(x))),cvtdi(y.r.b));}}
\L{\LB{}\Tab{8}{\K{if}(coo.up \> 1) coo.up = (\K{double}) 1;}}
\L{\LB{}\Tab{8}{coo12 = iexp(divi(ilog(coo),imtwo));}}
\L{\LB{}\Tab{8}{\K{if}(coo12.dn \< 1) coo12.dn = (\K{double}) 1;}}
\L{\LB{}\Tab{8}{\K{for}(i = y2.p.deg; i \>= 0; i\-\- )\{}}
\L{\LB{}\Tab{16}{sol = mult(sol,coo);}}
\L{\LB{}\Tab{16}{sol = plus(sol,divi(y2.p.p[i],plus(cvtinti(i),neg(ihalf))));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = mult(sol, coo12);}}
\L{\LB{}\Tab{8}{b =  uplusb(umultb(y2.g,btwo),udivb(y2.h,}}
\L{\LB{}\Tab{8}{    lplusb(cvtintb(y2.p.deg+1),negb(bhalf))));}}
\L{\LB{}\Tab{8}{sol = mult(ienlarge(sol,b), cvtdi(y2.r.b));}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{freep(u.p), freep(y2.p);}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secder1}secder1(w,a)}}
\L{\LB{INTERVL w, a;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL yw0, yw1, x, ith;}}
\L{\LB{}\Tab{8}{INTERVL secder1\_sp(), coo, coo12, sol;}}
\L{\LB{}\Tab{8}{BND b;}}
\L{\LB{}\Tab{8}{RSERIES y, u, y2;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{coo = U.f[U.n\-1].p.p[0];}}
\L{\LB{}\Tab{8}{\K{if}(lsb(ucvtib(square(w)),lcvtib(coo)))\K{return}(secder1\_sp(w));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ith = divi(cvtinti(\-3),cvtinti(2));}}
\L{\LB{}\Tab{8}{x = r1(w);}}
\L{\LB{}\Tab{8}{yw0 = grseval(YRS,x);}}
\L{\LB{}\Tab{8}{yw1 = grsdereval(YRS,x);}}
\L{\LB{}\Tab{8}{y = vtffxi( x, a, yw0, yw1);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{u = rscopy(y);}}
\L{\LB{}\Tab{8}{\K{for}(i = y.p.deg; i\>=1; \-\-i)}}
\L{\LB{}\Tab{16}{u.p.p[i] = plus(mult(y.p.p[i],x),mult(y.p.p[i\-1], cvtbi(y.r)));}}
\L{\LB{}\Tab{8}{u.p.p[0] = mult(y.p.p[0] ,x);}}
\L{\LB{}\Tab{8}{u.g = umultb(y.g,uplusb(ucvtib(x),y.r));}}
\L{\LB{}\Tab{8}{u.h = umultb(y.h,uplusb(ucvtib(x),y.r));}}
\L{\LB{}\Tab{8}{u.h = uplusb(u.h,umultb(uabs(y.p.p[y.p.deg]),y.r));}}
\L{\LB{}\Tab{8}{u.p.p[1] = intersect(u.p.p[1],mult(grsdereval(U,x),cvtbi(u.r)));}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y2 = rs(y.p.deg\-1,y.center,y.r);}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= y2.p.deg; ++i) y2.p.p[i] = neg(u.p.p[i+1]);}}
\L{\LB{}\Tab{8}{y2.g = u.g, y2.h = u.h;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y2 = rspowerf(y2,divi(ith, itwo));}}
\L{\LB{}\Tab{8}{y2 = rsmultf(y2, y2);}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y2 = rsmultf(y2,y);}}
\L{\LB{}\Tab{8}{sol = izero;}}
\L{\LB{}\Tab{8}{coo = divi(iabs(plus(a,neg(x))),cvtdi(y.r.b));}}
\L{\LB{}\Tab{8}{\K{if}(coo.up \> 1) coo.up = (\K{double}) 1;}}
\L{\LB{}\Tab{8}{coo12 = iexp(divi(ilog(coo),imtwo));}}
\L{\LB{}\Tab{8}{\K{if}(coo12.dn \< 1) coo12.dn = (\K{double}) 1;}}
\L{\LB{}\Tab{8}{\K{for}(i = y2.p.deg; i \>= 0; i\-\- )\{}}
\L{\LB{}\Tab{16}{sol = mult(sol,coo);}}
\L{\LB{}\Tab{16}{\K{if}(i \% 2 )}}
\L{\LB{}\Tab{24}{sol = plus(sol,divi(y2.p.p[i],plus(cvtinti(\-i),ihalf)));}}
\L{\LB{}\Tab{16}{\K{else}}}
\L{\LB{}\Tab{24}{sol = plus(sol,divi(y2.p.p[i],plus(cvtinti(i),neg(ihalf))));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = mult(sol, coo12);}}
\L{\LB{}\Tab{8}{b =  uplusb(umultb(y2.g,btwo),udivb(y2.h,}}
\L{\LB{}\Tab{8}{    lplusb(cvtintb(y2.p.deg+1),negb(bhalf))));}}
\L{\LB{}\Tab{8}{sol = mult(ienlarge(sol,b), cvtdi(y2.r.b));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{freep(u.p), freep(y2.p);}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\Proc{dermatrix}dermatrix(w, sec, thi)}}
\L{\LB{INTERVL w;}}
\L{\LB{RSERIES *sec, *thi;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL mw2, ifh;}}
\L{\LB{}\Tab{8}{INTERVL  t1, t2;}}
\L{\LB{}\Tab{8}{RSERIES rsw1, rsw;}}
\L{\LB{}\Tab{8}{\K{int} i, i0, i1;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ifh = divi(cvtinti(\-5),cvtinti(2));}}
\L{\LB{}\Tab{8}{mw2 = neg(square(w));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i0 = grsloc(U,r0(w));}}
\L{\LB{}\Tab{8}{i1 = grsloc(U,r1(w));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i = i0+5;}}
\L{\LB{}\Tab{8}{t1 = cvtdi(grsintpt(U,i));}}
\L{\LB{}\Tab{8}{\K{while}(i \<= i1\-5)\{}}
\L{\LB{}\Tab{16}{++i;}}
\L{\LB{}\Tab{16}{\K{if}(i== 60 *(i\/60 ))}}
\L{\LB{}\Tab{24}{printf(\S{}\"\%d points done\!n\"\SE{}, i);}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{rsw = rscopy(U.f[i]);}}
\L{\LB{}\Tab{16}{rsw.p.p[0] = plus(rsw.p.p[0],mw2);}}
\L{\LB{}\Tab{16}{t2 = cvtdi(grsintpt(U,i));}}
\L{\LB{}\Tab{16}{rsw1 = rspower(rsw,divi(ifh,ifour));}}
\L{\LB{}\Tab{16}{rsw1 = rsmultf(rsw1,rsw1);}}
\L{\LB{}\Tab{16}{rsw1 = rsmultf(rsmult(rsw1,YRS.f[i]),rsw1);}}
\L{\LB{}\Tab{16}{thi\-\>p.p[i] = mult(mult(ithree,w),rsdint(rsw1,t2,t1));}}
\L{\LB{}\Tab{16}{rsw1 = rsmultf(rsw1,rsw);}}
\L{\LB{}\Tab{16}{sec\-\>p.p[i] = rsdintf(rsw1,t2,t1);}}
\L{\LB{}\Tab{16}{t1 = t2;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secdermat}secdermat(w, a1, a2, der1, der2, i)}}
\L{\LB{INTERVL w;}}
\L{\LB{RSERIES a1, a2;}}
\L{\LB{RSERIES der1, der2;}}
\L{\LB{\K{int} i;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL i1, v1, v2, de1, de2, sol;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{v1 = a1.p.p[i];}}
\L{\LB{}\Tab{8}{v2 = a2.p.p[i];}}
\L{\LB{}\Tab{8}{de1 = der1.p.p[i];}}
\L{\LB{}\Tab{8}{de2 = der2.p.p[i];}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i1 = plus(v1,neg(v2));}}
\L{\LB{}\Tab{8}{i1 = divi(i1,plus(cvtbi(a1.center),neg(cvtbi(a2.center))));}}
\L{\LB{}\Tab{8}{i1 = mult(i1,plus(w,neg(cvtbi(a1.center))));}}
\L{\LB{}\Tab{8}{i1 = plus(i1,v1);}}
\L{\LB{}\Tab{8}{sol.up = i1.up;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i1 = mult(de1,plus(w,neg(cvtbi(a1.center))));}}
\L{\LB{}\Tab{8}{i1 = plus(i1,v1);}}
\L{\LB{}\Tab{8}{sol.dn = i1.dn;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i1 = mult(de2,plus(w,neg(cvtbi(a2.center))));}}
\L{\LB{}\Tab{8}{i1 = plus(i1,v2);}}
\L{\LB{}\Tab{8}{sol.dn = maxm(sol.dn,i1.dn);}}
\L{\LB{}\Tab{8}{\K{if}(sol.up \< sol.dn)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"SECDERMAT: negative interval !!!\!n\"\SE{});}}
\L{\LB{}\Tab{16}{printival(sol);}}
\L{\LB{}\Tab{16}{printf(\S{}\"w:\"\SE{});}}
\L{\LB{}\Tab{16}{printival(w);}}
\L{\LB{}\Tab{16}{printf(\S{}\"\!ncenter1:\"\SE{});}}
\L{\LB{}\Tab{16}{printbd(a1.center);}}
\L{\LB{}\Tab{16}{printf(\S{}\"v1:\"\SE{});}}
\L{\LB{}\Tab{16}{printival(v1);}}
\L{\LB{}\Tab{16}{printf(\S{}\"d1:\"\SE{});}}
\L{\LB{}\Tab{16}{printival(de1);}}
\L{\LB{}\Tab{16}{printf(\S{}\"\!ncenter2:\"\SE{});}}
\L{\LB{}\Tab{16}{printbd(a2.center);}}
\L{\LB{}\Tab{16}{printf(\S{}\"v2:\"\SE{});}}
\L{\LB{}\Tab{16}{printival(v2);}}
\L{\LB{}\Tab{16}{printf(\S{}\"d2:\"\SE{});}}
\L{\LB{}\Tab{16}{printival(de2);}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secderdir}secderdir(mw2, t1, t2, i)}}
\L{\LB{INTERVL  mw2, t1, t2;}}
\L{\LB{\K{int} i;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES rsw;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rsw = rscopy(U.f[i]);}}
\L{\LB{}\Tab{8}{rsw.p.p[0] = plus(rsw.p.p[0],mw2);}}
\L{\LB{}\Tab{8}{rsw = rspowerf(rsw,ration(\-3,4));}}
\L{\LB{}\Tab{8}{rsw = rsmultf(rsw,rsw);}}
\L{\LB{}\Tab{8}{rsw = rsmultf(rsw,rscopy(YRS.f[i]));}}
\L{\LB{}\Tab{8}{\K{return}(rsdintf(rsw,t2,t1));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{super\_secderdir}super\_secderdir(mw2, t1,t2,i)}}
\L{\LB{INTERVL t1, t2;}}
\L{\LB{INTERVL  mw2;}}
\L{\LB{\K{int} i;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{return}(iunion(secderdir(cvtdi(mw2.up),t1,t2,i),}}
\L{\LB{}\Tab{8}{    secderdir(cvtdi(mw2.dn),t1,t2,i)));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secder\_help}secder\_help(w, a, b, v1, v2, de1, de2)}}
\L{\LB{RSERIES v1, v2, de1, de2;}}
\L{\LB{INTERVL w, a, b;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL mw2;}}
\L{\LB{}\Tab{8}{INTERVL sol, t1, t2;}}
\L{\LB{}\Tab{8}{\K{int} i, i0, i1;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{mw2 = neg(square(w));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = izero;}}
\L{\LB{}\Tab{8}{i0 = grsloc(U,a);}}
\L{\LB{}\Tab{8}{\K{if}(U.f[i0].center.b \< a.dn)++i0;}}
\L{\LB{}\Tab{8}{i1 = grsloc(U,b);}}
\L{\LB{}\Tab{8}{\K{if}(U.f[i1].center.b \> b.up)\-\-i1;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{t1 = a;}}
\L{\LB{}\Tab{8}{\K{for}(i= i0; i \<= i1\-1; ++i)\{}}
\L{\LB{}\Tab{16}{t2 = cvtdi(grsintpt(U,i));}}
\L{\LB{}\Tab{16}{\K{if}(}}
\L{\LB{}\Tab{24}{i == i0 \|\| }}
\L{\LB{}\Tab{16}{    v1.p.p[i].up == (\K{double}) 0 \|\| }}
\L{\LB{}\Tab{16}{    v2.p.p[i].up == (\K{double}) 0}}
\L{\LB{}\Tab{16}{    )\{}}
\L{\LB{}\Tab{24}{sol = plus(sol, super\_secderdir(mw2,t1, t2,i));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{\K{else} sol = plus(sol,secdermat(w,v1, v2, de1, de2,i));}}
\L{\LB{}\Tab{16}{t1 = t2;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{sol = plus(sol, super\_secderdir(mw2,t1, b,i));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\K{double}}}
\L{\LB{\Proc{alim}alim(w)}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{int} j, i;}}
\L{\LB{}\Tab{8}{\K{double} rat, diff;}}
\L{\LB{}\Tab{8}{RSERIES rsw;}}
\L{\LB{}\Tab{8}{INTERVL x, w2;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rat = 3.0;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.136 \&\& w.up \< .140) rat = 2.0;}}
\L{\LB{}\Tab{8}{x = U.f[1].p.p[0];}}
\L{\LB{}\Tab{8}{\K{if}(lsb(ucvtib(square(w)),lcvtib(x)))\{}}
\L{\LB{}\Tab{16}{\K{if}(De.up == De.dn) \K{return}(De.up);}}
\L{\LB{}\Tab{16}{\K{else} printf(\S{}\"De error\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{w2 = square(w);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i = 0;}}
\L{\LB{}\Tab{8}{\K{while}(U.f[i].p.p[0].dn \< w2.up)\{}}
\L{\LB{}\Tab{16}{++i;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{diff = 1.0;}}
\L{\LB{}\Tab{8}{\-\-i;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{while}(diff \> 0.0)\{}}
\L{\LB{}\Tab{16}{++i;}}
\L{\LB{}\Tab{16}{rsw = U.f[i];}}
\L{\LB{}\Tab{16}{diff = (w2.dn \- rsw.p.p[0].dn)\/rat;}}
\L{\LB{}\Tab{16}{\K{for}(j=1; j \<= rsw.p.deg; ++j)}}
\L{\LB{}\Tab{24}{diff += fabs(rsw.p.p[j].up);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\-\-i;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(grsintpt(U,i));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\K{double}}}
\L{\LB{\Proc{blim}blim(w)}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{int} j, i;}}
\L{\LB{}\Tab{8}{\K{double} rat, diff;}}
\L{\LB{}\Tab{8}{RSERIES rsw;}}
\L{\LB{}\Tab{8}{INTERVL w2;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{w2 = U.f[U.n\-1].p.p[0];}}
\L{\LB{}\Tab{8}{\K{if}(lsb(ucvtib(square(w)),lcvtib(w2)))\{}}
\L{\LB{}\Tab{16}{\K{if}(Le.up == Le.dn) \K{return}(Le.up);}}
\L{\LB{}\Tab{16}{\K{else} printf(\S{}\"Le error\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(w.up \< .09)\{}}
\L{\LB{}\Tab{16}{w2 = r1(w);}}
\L{\LB{}\Tab{16}{\K{return}(w2.dn\-16.0);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{w2 = square(w);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i = U.n;}}
\L{\LB{}\Tab{8}{\K{while}(U.f[i].p.p[0].dn \< w2.up)\-\-i;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{diff = 1.0;}}
\L{\LB{}\Tab{8}{++i;}}
\L{\LB{}\Tab{8}{rat = 2.1;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.695) rat = 1.5;}}
\L{\LB{}\Tab{8}{\K{if}(w.up \< 0.2388 \&\& w.dn \> .1) rat = 1.8;}}
\L{\LB{}\Tab{8}{\K{if}(w.up \< 0.1668 \&\& w.dn \> .1) rat = 1.6;}}
\L{\LB{}\Tab{8}{\C{}\/*else if(w.dn \> 0.136 \&\& w.up \< .140) rat = 1.8;*\/\CE{}}}
\L{\LB{}\Tab{8}{\K{while}(diff \> 0.0)\{}}
\L{\LB{}\Tab{16}{\-\-i;}}
\L{\LB{}\Tab{16}{rsw = U.f[i];}}
\L{\LB{}\Tab{16}{diff = (w2.dn \- rsw.p.p[0].dn)\/rat;}}
\L{\LB{}\Tab{16}{\K{for}(j=1; j \<= rsw.p.deg; ++j)}}
\L{\LB{}\Tab{24}{diff += fabs(rsw.p.p[j].up);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(grsintpt(U,i));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secder2}secder2(w, v1, v2, de1, de2)}}
\L{\LB{RSERIES v1, v2, de1, de2;}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{INTERVL sol3, sol1, sol2;}}
\L{\LB{}\Tab{8}{\K{double} i1, i2;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i1 = alim(w);}}
\L{\LB{}\Tab{8}{i2 = blim(w);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol1 = secder1(w,cvtdi(i2));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol2 = secder\_help(w,cvtdi(i1),cvtdi(i2), v1, v2, de1, de2);}}
\L{\LB{}\Tab{8}{sol3 = secder0(w,cvtdi(i1));}}
\L{\LB{}\Tab{8}{\K{return}(plus(plus(sol1,sol2),sol3));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{supersecder2}supersecder2(w, v1, v2, de1, de2)}}
\L{\LB{RSERIES v1, v2, de1, de2;}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL sol, w1, w2;}}
\L{\LB{}\Tab{8}{sol = secder2(w, v1, v2, de1, de2);}}
\L{\LB{}\Tab{8}{\K{if}(sol.dn \<= (\K{double}) 0)\{}}
\L{\LB{}\Tab{16}{w1.up = w.up;}}
\L{\LB{}\Tab{16}{w1.dn = 0.5*(w.up+w.dn);}}
\L{\LB{}\Tab{16}{w2.up = w1.dn;}}
\L{\LB{}\Tab{16}{w2.dn = w.dn;}}
\L{\LB{}\Tab{16}{\K{return}(iunion(supersecder2(w1, v1, v2, de1, de2),}}
\L{\LB{}\Tab{16}{    supersecder2(w2, v1, v2, de1, de2)));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{supersupersecderdn}supersupersecderdn(w, vup, dup)}}
\L{\LB{INTERVL w;}}
\L{\LB{RSERIES *vup, *dup;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL w1, sol;}}
\L{\LB{}\Tab{8}{RSERIES v2, de2;}}
\L{\LB{}\Tab{8}{\K{double} step = 5.e\-5;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.672)step = 8.e\-6;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.688)step = 3.e\-6;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.693)step = 1.5e\-6;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.694)step = 4.e\-7;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.6956)step = 2.e\-7;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{v2 = rs(U.n,cvtdb(w.dn),b0ero);}}
\L{\LB{}\Tab{8}{de2 = rs(U.n,cvtdb(w.dn),b0ero);}}
\L{\LB{}\Tab{8}{dermatrix(cvtdi(w.dn),\&v2, \&de2);}}
\L{\LB{}\Tab{8}{w1.up = w.up;}}
\L{\LB{}\Tab{8}{w1.dn = w1.up \- step;}}
\L{\LB{}\Tab{8}{sol = supersecder2(w1, *vup, v2, *dup, de2);}}
\L{\LB{}\Tab{8}{w1.up = w1.dn;}}
\L{\LB{}\Tab{8}{w1.dn \-= step;}}
\L{\LB{}\Tab{8}{\K{while}(w1.dn \> w.dn + step\/5.0)\{}}
\L{\LB{}\Tab{16}{sol = iunion(sol,supersecder2(w1, *vup, v2, *dup, de2));}}
\L{\LB{}\Tab{16}{w1.up = w1.dn;}}
\L{\LB{}\Tab{16}{w1.dn \-= step;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{w1.dn = w.dn;}}
\L{\LB{}\Tab{8}{sol = iunion(sol, supersecder2(w1, *vup, v2, *dup, de2));}}
\L{\LB{}\Tab{8}{freep(vup\-\>p), freep(dup\-\>p);}}
\L{\LB{}\Tab{8}{*vup = v2;}}
\L{\LB{}\Tab{8}{*dup = de2;}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\Proc{secderdn}secderdn(r, step)}}
\L{\LB{\K{double} r, step;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES v, de;}}
\L{\LB{}\Tab{8}{INTERVL w;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{v = rs(U.n,cvtdb(r),b0ero);}}
\L{\LB{}\Tab{8}{de = rs(U.n,cvtdb(r),b0ero);}}
\L{\LB{}\Tab{8}{dermatrix(cvtdi(r),\&v, \&de);}}
\L{\LB{}\Tab{8}{w.dn = r;}}
\L{\LB{}\Tab{8}{\K{while}(w.dn \> 0)\{}}
\L{\LB{}\Tab{16}{w.up = w.dn;}}
\L{\LB{}\Tab{16}{w.dn \-= step;}}
\L{\LB{}\Tab{16}{printival(supersupersecderdn(w, \&v, \&de));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{supersupersecderup}supersupersecderup(w, vup, dup)}}
\L{\LB{INTERVL w;}}
\L{\LB{RSERIES *vup, *dup;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL w1, sol;}}
\L{\LB{}\Tab{8}{RSERIES v2, de2;}}
\L{\LB{}\Tab{8}{\K{double} step = 0.00005;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.672)step = 8.e\-6;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.688)step = 3.e\-6;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.693)step = 1.5e\-6;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.694)step = 4.e\-7;}}
\L{\LB{}\Tab{8}{\K{if}(w.dn \> 0.6956)step = 2.e\-7;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{v2 = rs(U.n,cvtdb(w.up),b0ero);}}
\L{\LB{}\Tab{8}{de2 = rs(U.n,cvtdb(w.up),b0ero);}}
\L{\LB{}\Tab{8}{dermatrix(cvtdi(w.up),\&v2, \&de2);}}
\L{\LB{}\Tab{8}{w1.dn = w.dn;}}
\L{\LB{}\Tab{8}{w1.up = w1.dn + step;}}
\L{\LB{}\Tab{8}{sol = supersecder2(w1, *vup, v2, *dup, de2);}}
\L{\LB{}\Tab{8}{w1.dn = w1.up;}}
\L{\LB{}\Tab{8}{w1.up += step;}}
\L{\LB{}\Tab{8}{\K{while}(w1.up \< w.up \- step\/5.0)\{}}
\L{\LB{}\Tab{16}{sol = iunion(sol,supersecder2(w1, *vup, v2, *dup, de2));}}
\L{\LB{}\Tab{16}{w1.dn = w1.up;}}
\L{\LB{}\Tab{16}{w1.up += step;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{w1.up = w.up;}}
\L{\LB{}\Tab{8}{sol = iunion(sol, supersecder2(w1, *vup, v2, *dup, de2));}}
\L{\LB{}\Tab{8}{freep(vup\-\>p), freep(dup\-\>p);}}
\L{\LB{}\Tab{8}{*vup = v2;}}
\L{\LB{}\Tab{8}{*dup = de2;}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\Proc{secderup}secderup(r, step)}}
\L{\LB{\K{double} r, step;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES v, de;}}
\L{\LB{}\Tab{8}{INTERVL w;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{v = rs(U.n,cvtdb(r),b0ero);}}
\L{\LB{}\Tab{8}{de = rs(U.n,cvtdb(r),b0ero);}}
\L{\LB{}\Tab{8}{dermatrix(cvtdi(r),\&v, \&de);}}
\L{\LB{}\Tab{8}{w.up = r;}}
\L{\LB{}\Tab{8}{\K{while}(w.up \> 0)\{}}
\L{\LB{}\Tab{16}{w.dn = w.up;}}
\L{\LB{}\Tab{16}{w.up += step;}}
\L{\LB{}\Tab{16}{printival(supersupersecderup(w, \&v, \&de));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{POLY}}
\L{\LB{\Proc{rtpoly}rtpoly(u)}}
\L{\LB{POLY u;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{POLY res, res2;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{res = make\_poly(u.deg\-2);}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= res.deg; ++i) res.p[i] = neg(u.p[i+2]);}}
\L{\LB{}\Tab{8}{res = polypowerf(res,ihalf);}}
\L{\LB{}\Tab{8}{res2 = make\_poly(res.deg+1);}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= res.deg; ++i) res2.p[i+1] = res.p[i];}}
\L{\LB{}\Tab{8}{freep(res);}}
\L{\LB{}\Tab{8}{\K{return}(polyinv(res2));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{RSERIES}}
\L{\LB{\Proc{tfwz}tfwz(t, x)}}
\L{\LB{\K{double} t, x;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL i2, a0l, a4, i1, rmr, a0, a1, a2, a3;}}
\L{\LB{}\Tab{8}{BND m, tt, h;}}
\L{\LB{}\Tab{8}{RSERIES u, y, rstfu2(), r, rp;}}
\L{\LB{}\Tab{8}{\K{int} oldeg;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\C{}\/**** t = 0.0605, and x = 0.462 will do the job for w=0.6956 ****\/\CE{}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{oldeg = DEGREE;}}
\L{\LB{}\Tab{8}{DEGREE = SIZE \-1;}}
\L{\LB{}\Tab{8}{r.k = rp.k = 0;}}
\L{\LB{}\Tab{8}{r.h = b0ero;}}
\L{\LB{}\Tab{8}{r.g = b0ero;}}
\L{\LB{}\Tab{8}{rp.h = b0ero;}}
\L{\LB{}\Tab{8}{rp.g = b0ero;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{u = rstfu2(RC,x, \&y);}}
\L{\LB{}\Tab{8}{rmr = plus(RC,cvtbi(negb(u.r)));}}
\L{\LB{}\Tab{8}{a0l = ienlarge(y.p.p[0],bl1nrsf(rsplusc(y,neg(y.p.p[0]))));}}
\L{\LB{}\Tab{8}{a0 = cvtbi(bl1nrs(y));}}
\L{\LB{}\Tab{8}{a2 = divi(ratpower(a0,3,2),ratpower(rmr,1,2));}}
\L{\LB{}\Tab{8}{a1 = plus(divi(BC,square(RC)),mult(a2,cvtbi(u.r)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{a3 = mult(a1,mult(ration(3,2),ratpower(a0,1,2)));}}
\L{\LB{}\Tab{8}{a3 = plus(a3,divi(ratpower(a0,3,2),mult(itwo,rmr)));}}
\L{\LB{}\Tab{8}{a3 = divi(a3,ratpower(rmr,1,2));}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{a4 = divi(ratpower(a0,3,2),rmr);}}
\L{\LB{}\Tab{8}{a4 = plus(a4, mult(mult(itwo,a1),poweri(a0,ihalf)));}}
\L{\LB{}\Tab{8}{a4 = divi(a4,rmr);}}
\L{\LB{}\Tab{8}{a4 = plus(a4,divi(square(a1),poweri(a0l,ihalf)));}}
\L{\LB{}\Tab{8}{a4 = divi(a4,poweri(rmr,ihalf));}}
\L{\LB{}\Tab{8}{a4 = plus(a4, mult(itwo,divi(square(a0),rmr)));}}
\L{\LB{}\Tab{8}{a4 = mult(a4, ration(3,4));}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{m = uabs(plus(mult(ifour,a3),mult(a4,plus(RC,cvtbi(u.r)))));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r.p = rtpoly(polyscale(u.p,inv(cvtbi(u.r))));}}
\L{\LB{}\Tab{8}{r.r = cvtdb(t);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{tt = labsi(u.p.p[2]);}}
\L{\LB{}\Tab{8}{i1 = neg(divi(u.p.p[2],square(cvtbi(u.r))));}}
\L{\LB{}\Tab{8}{i2 = u.p.p[2];}}
\L{\LB{}\Tab{8}{u.p.p[0] = u.p.p[1] = u.p.p[2] = izero;}}
\L{\LB{}\Tab{8}{h = bl1nrs(u);}}
\L{\LB{}\Tab{8}{tt = lplusb(tt,negb(h));}}
\L{\LB{}\Tab{8}{\K{if}(lseqb(tt,b0ero))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"TFWZ: BAD !!!\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{tt =  lcvtib(ratpower(cvtbi(tt),1,2));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{h = udivb(h,lmultb(u.r,u.r));}}
\L{\LB{}\Tab{8}{rp.h = ucvtib(poweri(cvtbi(uplusb(uabs(i1),h)),ihalf));}}
\L{\LB{}\Tab{8}{i2 = plus(iabs(mult(i2,itwo)),neg(iabs(mult(ithree,u.p.p[3]))));}}
\L{\LB{}\Tab{8}{i2 = divi(i2,square(cvtbi(u.r)));}}
\L{\LB{}\Tab{8}{i2 = ienlarge(i2,umultb(udivb(m,cvtintb(6)),upowerb(u.r,2)));}}
\L{\LB{}\Tab{8}{rp.h = umultb(btwo,udivb(rp.h,lcvtib(i2)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(lseqb(rp.h,b0ero))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"TFWZ: radius in the expansion for U is too large !!!\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r.h = udivb(cvtdb(t),tt);}}
\L{\LB{}\Tab{8}{\K{if}(lseqb(bone,r.h))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"TFWZ: too large t !!!\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{r.h = udivb(upowerb(r.h,r.p.deg),lplusb(bone,negb(r.h)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rp.h = umultb(rp.h,r.h);}}
\L{\LB{}\Tab{8}{r.h = udivb(rp.h,cvtintb(r.p.deg+1));}}
\L{\LB{}\Tab{8}{r.h = umultb(r.h, cvtdb(t));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rp.p = polyder(r.p);}}
\L{\LB{}\Tab{8}{rp.p = polyscalef(rp.p,cvtbi(r.r));}}
\L{\LB{}\Tab{8}{r.p = polyscalef(r.p,cvtbi(r.r));}}
\L{\LB{}\Tab{8}{r.p.p[0] = RC;}}
\L{\LB{}\Tab{8}{rp.r = r.r;}}
\L{\LB{}\Tab{8}{r.center = b0ero;}}
\L{\LB{}\Tab{8}{rp.center = b0ero;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r = rsmultf(rp,rspowerf(r,imone));}}
\L{\LB{}\Tab{8}{DEGREE = oldeg;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(r);}\Tab{24}{}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL }}
\L{\LB{\Proc{sdinv}sdinv(w0, w)}}
\L{\LB{INTERVL w0;}}
\L{\LB{RSERIES w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}\Tab{8}{INTERVL  a[30], sol2, sol, g;}}
\L{\LB{}\Tab{8}{BND b;}}
\L{\LB{}\Tab{8}{\K{double} t;}}
\L{\LB{}\Tab{8}{\K{int} m;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{t = w.r.b;}}
\L{\LB{}\Tab{8}{a[0] = ione;}}
\L{\LB{}\Tab{8}{a[1] = ihalf;}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= 29; ++i)}}
\L{\LB{}\Tab{16}{a[i] = divi(ichoose(cvtinti(2*i),i),power(cvtinti(2),2*i));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{g = plus(BC,neg(square(w0)));}}
\L{\LB{}\Tab{8}{g = divi(g,square(cvtdi(t)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(grteqb(ucvtib(g),bone))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"SDINV: Omega value tries to escape domain of convergence !!!. \!n\"\SE{});}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(w.p.deg \% 2) m = (w.p.deg\-1)\/2;}}
\L{\LB{}\Tab{8}{\K{else} m = (w.p.deg)\/2;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol  = mult(w.p.p[2*m],a[m]);}}
\L{\LB{}\Tab{8}{\K{for}(i=m\-1; i \>= 0; \-\-i)}}
\L{\LB{}\Tab{16}{sol = plus(mult(sol,g),mult(w.p.p[2*i],}}
\L{\LB{}\Tab{16}{    a[i]));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol2 = mult(mult(cvtinti(m),w.p.p[2*m]),a[m]);}}
\L{\LB{}\Tab{8}{\K{for}(i=m\-1; i \>= 1; \-\-i)}}
\L{\LB{}\Tab{16}{sol2 = plus(mult(sol2,g),}}
\L{\LB{}\Tab{16}{    mult(mult(cvtinti(i),w.p.p[2*i]),a[i]));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = plus(sol,mult(sol2,neg(mult(itwo,square(divi(w0,cvtbi(w.r)))))));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{b = uabs(inv(ilog(g)));}}
\L{\LB{}\Tab{8}{\K{if}(grteqb(cvtintb(m+1),b))\{}}
\L{\LB{}\Tab{16}{b = umultb(cvtintb(2*(m+1)),ucvtib(divi(BC,square(cvtbi(w.r)))));}}
\L{\LB{}\Tab{16}{b = umultb(uplusb(uabs(g),b),}}
\L{\LB{}\Tab{16}{    upowerb(uabs(g),m));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{else}\{}}
\L{\LB{}\Tab{16}{b = umultb(btwo,ucvtib(divi(BC,square(cvtbi(w.r)))));}}
\L{\LB{}\Tab{16}{b = udivb(b,labsi(mult(mult(iexp(ione),g),ilog(g))));}}
\L{\LB{}\Tab{16}{b = uplusb(upowerb(uabs(g),m+1),b);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{b = umultb(w.h, umultb(uabs(a[m+1]), b));}}
\L{\LB{}\Tab{8}{\K{return}(ienlarge(sol,b));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\Proc{super\_sdinv}super\_sdinv(a, ww)}}
\L{\LB{INTERVL a;}}
\L{\LB{RSERIES ww;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL sol;}}
\L{\LB{}\Tab{8}{RSERIES  w;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{w = rstrunc(ww,53);}}
\L{\LB{}\Tab{8}{sol = sdinv(a, w);}}
\L{\LB{}\Tab{8}{\K{if}(sol.dn \> (\K{double}) 0)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"SUCCESS for \"\SE{});}}
\L{\LB{}\Tab{16}{printival(a);}}
\L{\LB{}\Tab{16}{printivalio(a);}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{else} \{}}
\L{\LB{}\Tab{16}{printf(\S{}\"trying...\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{sol.up = a.up;}}
\L{\LB{}\Tab{16}{sol.dn = .5*(a.dn+a.up);}}
\L{\LB{}\Tab{16}{super\_sdinv(sol,w);}}
\L{\LB{}\Tab{16}{a.up = sol.dn;}}
\L{\LB{}\Tab{16}{super\_sdinv(a,w);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{RSERIES}}
\L{\LB{\Proc{hinf}hinf()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES y, yp, ypp,  uP, upp, r, rp, rpp, h, rm2, rma, *rpow;}}
\L{\LB{}\Tab{8}{RSERIES rw, rm1;}}
\L{\LB{}\Tab{8}{INTERVL i1;}}
\L{\LB{}\Tab{8}{BND err, unr;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{double} t;}}
\L{\LB{}\Tab{8}{\K{int} m;}}
\L{\LB{}\Tab{8}{\K{int} i, j, k;}}
\L{\LB{}\Tab{8}{\K{unsigned} size;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{t = U.f[U.n\-60].center.b;}}
\L{\LB{}\Tab{8}{m = 10;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{Le = cvtdi(295.0);}}
\L{\LB{}\Tab{8}{UL = grseval(U,Le);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y = yinf(t, m);}}
\L{\LB{}\Tab{8}{y.center = cvtdb(t);}}
\L{\LB{}\Tab{8}{y.r = b0ero;}}
\L{\LB{}\Tab{8}{ypp = rspower(y, ration(3,2));}}
\L{\LB{}\Tab{8}{yp = rs(y.p.deg, y.center, y.r);}}
\L{\LB{}\Tab{8}{uP = rs(y.p.deg, y.center, y.r);}}
\L{\LB{}\Tab{8}{upp = rs(y.p.deg, y.center, y.r);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(i=1; i \<= ypp.p.deg; ++i)\{}}
\L{\LB{}\Tab{16}{yp.p.p[i] = mult(divi(ypp.p.p[i],plus(ifour,}}
\L{\LB{}\Tab{16}{    mult(cvtinti(i),ALPHA))),ifour);}}
\L{\LB{}\Tab{16}{uP.p.p[i] = divi(plus(y.p.p[i],mult(imthree,yp.p.p[i])),}}
\L{\LB{}\Tab{16}{    imtwo);}}
\L{\LB{}\Tab{16}{upp.p.p[i] = plus(mult(ypp.p.p[i],itwo),neg(yp.p.p[i]));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{yp.g = umultb(ypp.g, udivb(bfour, lplusb(bfour,lcvtib(}}
\L{\LB{}\Tab{8}{    mult(itwo,ALPHA)))));}}
\L{\LB{}\Tab{8}{yp.h = umultb(ypp.h, udivb(bfour, lplusb(bfour,lmultb(cvtintb(}}
\L{\LB{}\Tab{8}{    ypp.p.deg+1),lcvtib(ALPHA)))));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{uP.g = udivb(uplusb(y.g,umultb(yp.g,bthree)),btwo);}}
\L{\LB{}\Tab{8}{uP.h = udivb(uplusb(y.h,umultb(yp.h,bthree)),btwo);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{upp.g = uplusb(yp.g,umultb(ypp.g,btwo));}}
\L{\LB{}\Tab{8}{upp.h = uplusb(yp.h,umultb(ypp.h,btwo));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(grtb(bl1nrs(uP),bhalf))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"HINF: Derivative is not bounded below by 1\/2\!n \"\SE{});}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(grtb(bl1nrs(upp),bone))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"HINF: u is not convex\!n\"\SE{});}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r = rs(y.p.deg, y.center, y.r);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{r.p.p[1] = divi(y.p.p[1],itwo);}}
\L{\LB{}\Tab{8}{r.p.deg = 1;}}
\L{\LB{}\Tab{8}{\K{while} (r.p.deg \< y.p.deg )\{}}
\L{\LB{}\Tab{16}{rma = rspower(r,neg(ALPHA));}}
\L{\LB{}\Tab{16}{rpow =  (RSERIES *)calloc(size=r.p.deg+1,\K{sizeof}(RSERIES));}}
\L{\LB{}\Tab{16}{rsmatpower(rma, rpow);}}
\L{\LB{}\Tab{16}{rw = rs(r.p.deg+1,r.center,r.r);}}
\L{\LB{}\Tab{16}{\K{for}(j=1; j \<= r.p.deg+1; ++j)\{}}
\L{\LB{}\Tab{24}{err= b0ero;}}
\L{\LB{}\Tab{24}{\K{for}(k=1; k \<= j; ++k)\{}}
\L{\LB{}\Tab{32}{\K{if}(k \<= r.p.deg)}}
\L{\LB{}\Tab{40}{i1 = rpow[k].p.p[j\-k];}}
\L{\LB{}\Tab{32}{\K{else} }}
\L{\LB{}\Tab{40}{i1 = ione;}}
\L{\LB{}\Tab{32}{rw.p.p[j] = plus(mult(i1,y.p.p[k]),rw.p.p[j]);}}
\L{\LB{}\Tab{32}{\K{if}(k \> 1) err = maxb(err, uabs(i1));}}
\L{\LB{}\Tab{24}{\}}}
\L{\LB{}\Tab{24}{rw.p.p[j] = ienlarge(rw.p.p[j],umultb(err,y.g));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{16}{rw.p.p[0] = ione;}}
\L{\LB{}\Tab{16}{r.p.deg++;}}
\L{\LB{}\Tab{16}{rm2 = rspower(r, imtwo);}}
\L{\LB{}\Tab{16}{\K{for}(j=0; j \<= r.p.deg; ++j)\{}}
\L{\LB{}\Tab{24}{r.p.p[r.p.deg] = plus(r.p.p[r.p.deg],}}
\L{\LB{}\Tab{24}{    mult(rm2.p.p[j], rw.p.p[r.p.deg\-j]));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{r.p.p[r.p.deg] = divi(r.p.p[r.p.deg], itwo);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{\K{for}(j=0; j \<= r.p.deg\-1; ++j) freep(rpow[j].p);}}
\L{\LB{}\Tab{16}{freep(rm2.p), freep(rma.p), free((\K{char} *)rpow), rpow = NULL;}}
\L{\LB{}\Tab{16}{freep(rw.p);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rma = rspower(r,neg(ALPHA));}}
\L{\LB{}\Tab{8}{rm2 = rspower(r,imone);}}
\L{\LB{}\Tab{8}{rm2 = rsmultf(rm2,rm2);}}
\L{\LB{}\Tab{8}{rpow =  (RSERIES *)calloc(size=r.p.deg+1,\K{sizeof}(RSERIES));}}
\L{\LB{}\Tab{8}{rsmatpower(rma, rpow);}}
\L{\LB{}\Tab{8}{rw = rs(r.p.deg,r.center,r.r);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{err = b0ero;}}
\L{\LB{}\Tab{8}{\K{for}(j=1; j \<= r.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{\K{for}(k=r.p.deg\-j+1; k \<= r.p.deg; ++k)}}
\L{\LB{}\Tab{24}{rpow[j].h = uplusb(rpow[j].h,uabs(rpow[j].p.p[k]));}}
\L{\LB{}\Tab{16}{err = maxb(err, rpow[j].h);}}
\L{\LB{}\Tab{16}{\K{for}(k = r.p.deg; k \>= j; \-\-k)}}
\L{\LB{}\Tab{24}{rpow[j].p.p[k] = rpow[j].p.p[k\-j];}}
\L{\LB{}\Tab{16}{\K{for}(k = 0; k \< j; ++k)}}
\L{\LB{}\Tab{24}{rpow[j].p.p[k] = izero;}}
\L{\LB{}\Tab{16}{rw = rsplusf(rw, rsca(rpow[j],y.p.p[j]));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h,umultb(err,y.g));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(j=2; j \<= rw.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{err = b0ero;}}
\L{\LB{}\Tab{16}{\K{for}(k=2; k \<= j; ++k)\{}}
\L{\LB{}\Tab{24}{err = maxb(err,uabs(rpow[k].p.p[j]));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{rw.p.p[j] = ienlarge(rw.p.p[j],umultb(y.g,err));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r.p.p[0] = izero;}}
\L{\LB{}\Tab{8}{unr = bl1nrs(r);}}
\L{\LB{}\Tab{8}{\K{if} (unr.b \>= (\K{double}) 1)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"HINF: error no. 1\!n\"\SE{});}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{unr = lplusb(bone,negb(unr));}}
\L{\LB{}\Tab{8}{unr = uabs(poweri(cvtbi(unr),mult(cvtinti(\-r.p.deg\-1),ALPHA)));}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h, umultb(y.g, unr));}}
\L{\LB{}\Tab{8}{r.p.p[0] = ione;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw = rsmult(rw,rm2);}}
\L{\LB{}\Tab{8}{r.h = rw.h;}}
\L{\LB{}\Tab{8}{freep(rw.p);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{freep(rm2.p), freep(rma.p);}}
\L{\LB{}\Tab{8}{\K{for}(j=0; j \<= r.p.deg; ++j)freep(rpow[j].p);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rma = rspower(r,neg(ALPHA));}}
\L{\LB{}\Tab{8}{rm2 = rsmult(r,r);}}
\L{\LB{}\Tab{8}{rm2 = rsmultf(rm2,rscopy(r));}}
\L{\LB{}\Tab{8}{rsmatpower(rma, rpow);}}
\L{\LB{}\Tab{8}{rw = rs(r.p.deg,r.center,r.r);}}
\L{\LB{}\Tab{8}{rpp = rs(r.p.deg,r.center,r.r);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{err = b0ero;}}
\L{\LB{}\Tab{8}{\K{for}(j=1; j \<= r.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{rpp.h = rpow[j].h;}}
\L{\LB{}\Tab{16}{\K{for}(k=r.p.deg\-j+1; k \<= r.p.deg; ++k)\{}}
\L{\LB{}\Tab{24}{rpp.h = uplusb(rpp.h,uabs(rpow[j].p.p[k]));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{err = maxb(err, rpp.h);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{\K{for}(k = r.p.deg; k \>= j; \-\-k)}}
\L{\LB{}\Tab{24}{rpp.p.p[k] = rpow[j].p.p[k\-j];}}
\L{\LB{}\Tab{16}{\K{for}(k = 0; k \< j; ++k)}}
\L{\LB{}\Tab{24}{rpp.p.p[k] = izero;}}
\L{\LB{}\Tab{16}{rw = rsplusf(rw,}}
\L{\LB{}\Tab{16}{    rsca(rpp,uP.p.p[j]));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h,umultb(err,uP.g));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(j=2; j \<= rw.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{err = b0ero;}}
\L{\LB{}\Tab{16}{\K{for}(k=2; k \<= j; ++k)\{}}
\L{\LB{}\Tab{24}{err = maxb(err,uabs(rpow[k].p.p[j\-k]));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{rw.p.p[j] = ienlarge(rw.p.p[j],umultb(uP.g,err));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r.p.p[0] = izero;}}
\L{\LB{}\Tab{8}{unr = bl1nrs(r);}}
\L{\LB{}\Tab{8}{\K{if} (unr.b \>= (\K{double}) 1)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"HINF: error no. 3\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{unr = lplusb(bone,negb(unr));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{err = labsi(divi(cvtinti(12),poweri(UL,ihalf)));}}
\L{\LB{}\Tab{8}{\K{if}(lsb(lmultb(err,unr),cvtdb(t)))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"HINF: wrong choice of L\!n\"\SE{});}}
\L{\LB{}\Tab{16}{printf(\S{}\"err = \"\SE{});}}
\L{\LB{}\Tab{16}{printbd(err);}}
\L{\LB{}\Tab{16}{printf(\S{}\"unr = \"\SE{});}}
\L{\LB{}\Tab{16}{printbd(unr);}}
\L{\LB{}\Tab{16}{printf(\S{}\" UL = \"\SE{});}}
\L{\LB{}\Tab{16}{printival(UL);}}
\L{\LB{}\Tab{16}{printf(\S{}\"M = \%e\"\SE{},t);}}
\L{\LB{}\Tab{16}{printrs(r);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{unr = uabs(poweri(cvtbi(unr), mult(cvtinti(\-r.p.deg\-1),ALPHA)));}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h,umultb(unr,uplusb(uP.h, uP.g)));}}
\L{\LB{}\Tab{8}{rw.g = b0ero;}}
\L{\LB{}\Tab{8}{r.p.p[0] = ione;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rp = rsmultf(rspowerf(rw,imone),rm2);}}
\L{\LB{}\Tab{8}{rp.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{freep(rpp.p), freep(rma.p);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rm1 = rspower(r, imone);}}
\L{\LB{}\Tab{8}{rm2 = rsmult(rm1,rm1);}}
\L{\LB{}\Tab{8}{rm2 = rsmultf(rm2,rm2);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw = rs(r.p.deg, r.center, r.r);}}
\L{\LB{}\Tab{8}{rw.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{err = b0ero;}}
\L{\LB{}\Tab{8}{\K{for}(j=1; j \<= r.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{\K{for}(k=r.p.deg\-j+1; k \<= r.p.deg; ++k)}}
\L{\LB{}\Tab{24}{rpow[j].h = uplusb(rpow[j].h,uabs(rpow[j].p.p[k]));}}
\L{\LB{}\Tab{16}{err = maxb(err,rpow[j].h);}}
\L{\LB{}\Tab{16}{\K{for}(k = r.p.deg; k \>= j; \-\-k)}}
\L{\LB{}\Tab{24}{rpow[j].p.p[k] = rpow[j].p.p[k\-j];}}
\L{\LB{}\Tab{16}{\K{for}(k = 0; k \< j; ++k)}}
\L{\LB{}\Tab{24}{rpow[j].p.p[k] = izero;}}
\L{\LB{}\Tab{16}{rw = rsplusf(rw,}}
\L{\LB{}\Tab{16}{    rsca(rpow[j],upp.p.p[j]));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h,umultb(err,upp.g));}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(j=2; j \<= rw.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{err = b0ero;}}
\L{\LB{}\Tab{16}{\K{for}(k=2; k \<= j; ++k)\{}}
\L{\LB{}\Tab{24}{err = maxb(err,uabs(rpow[k].p.p[j]));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{rw.p.p[j] = ienlarge(rw.p.p[j],umultb(upp.g,err));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h,umultb(unr,uplusb(upp.h, upp.g)));}}
\L{\LB{}\Tab{8}{rw.g = b0ero;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rpp = rsmultf(rm2,rw);}}
\L{\LB{}\Tab{8}{rpp = rsmultf(rsmult(rp,rp),rpp);}}
\L{\LB{}\Tab{8}{rpp = rsmultf(rpp, rscopy(rp));}}
\L{\LB{}\Tab{8}{rpp.p.p[0] = ione;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw = rsmult(rp,rm1);}}
\L{\LB{}\Tab{8}{h = rsplusf(rsca(rw,itwo),}}
\L{\LB{}\Tab{8}{    rsplusf(rscaf(rsmult(rpp,rm1),imthree),rsmult(rw,rw)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{freep(y.p), freep(yp.p), freep(ypp.p);}}
\L{\LB{}\Tab{8}{freep(uP.p), freep(upp.p);}}
\L{\LB{}\Tab{8}{freep(r.p), freep(rp.p), freep(rpp.p);}}
\L{\LB{}\Tab{8}{freep(rm1.p), freep(rw.p);}}
\L{\LB{}\Tab{8}{\K{for}(j=0; j \<= r.p.deg; ++j) freep(rpow[j].p);}}
\L{\LB{}\Tab{8}{free((\K{char} *)rpow), rpow = NULL;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(h);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{RSERIES}}
\L{\LB{\Proc{h\_at\_0}h\_at\_0()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES y, yp, ypp,  uP, upp, r, rp, rpp, h, rma, *rpow;}}
\L{\LB{}\Tab{8}{RSERIES rw, rm1;}}
\L{\LB{}\Tab{8}{INTERVL sc, i1;}}
\L{\LB{}\Tab{8}{BND err, unr;}}
\L{\LB{}\Tab{8}{\K{int} i, j, k;}}
\L{\LB{}\Tab{8}{\K{unsigned} size;}}
\L{\LB{}\Tab{8}{\K{double} t;}}
\L{\LB{}\Tab{8}{\K{int} m = 20;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{De = cvtdi(0.0099);}}
\L{\LB{}\Tab{8}{UD = grseval(U,De);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i = 0;}}
\L{\LB{}\Tab{8}{t = 0.012;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y = y\_at\_0(t, m);}}
\L{\LB{}\Tab{8}{ypp = rspower(y, ration(3,2));}}
\L{\LB{}\Tab{8}{yp = rs(y.p.deg+1, y.center, y.r);}}
\L{\LB{}\Tab{8}{uP = rs(y.p.deg, y.center, y.r);}}
\L{\LB{}\Tab{8}{yp.p.p[0] = neg(W);}}
\L{\LB{}\Tab{8}{ypp.p.p[0] = ione;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sc = poweri(cvtdi(t),ihalf);}}
\L{\LB{}\Tab{8}{\K{for}(i=1; i \<= yp.p.deg; ++i)}}
\L{\LB{}\Tab{16}{yp.p.p[i] = mult(divi(mult(ypp.p.p[i\-1],itwo),cvtinti(i)),sc);}}
\L{\LB{}\Tab{8}{yp.g = umultb(ypp.g, btwo);}}
\L{\LB{}\Tab{8}{yp.g = umultb(yp.g, ucvtib(sc));}}
\L{\LB{}\Tab{8}{yp.g = udivb(yp.g,bthree);}}
\L{\LB{}\Tab{8}{yp.h = udivb(ypp.h, ldivb(cvtintb(yp.p.deg+1),btwo));}}
\L{\LB{}\Tab{8}{yp.h = umultb(yp.h, ucvtib(sc));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(i=2; i \<= y.p.deg; ++i)}}
\L{\LB{}\Tab{16}{uP.p.p[i] = plus(y.p.p[i],mult(yp.p.p[i\-2],cvtdi(t)));}}
\L{\LB{}\Tab{8}{uP.g = uplusb(y.g,umultb(yp.g,cvtdb(t)));}}
\L{\LB{}\Tab{8}{\K{for}(i=y.p.deg\-1; i \<= yp.p.deg; ++i)}}
\L{\LB{}\Tab{16}{uP.h = uplusb(uabs(yp.p.p[i]),uP.h);}}
\L{\LB{}\Tab{8}{uP.h = uplusb(y.h,umultb(uplusb(yp.h,uP.h),cvtdb(t)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(grtb(bl1nrs(uP),bhalf))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"H\_AT\_0: Derivative too small !!!\!n\"\SE{});}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{uP.p.p[0] = ione;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{upp = rsca(yp,itwo);}}
\L{\LB{}\Tab{8}{\K{for}(i=1; i \<= upp.p.deg; ++i)}}
\L{\LB{}\Tab{16}{upp.p.p[i] = plus(upp.p.p[i], mult(ypp.p.p[i\-1],sc));}}
\L{\LB{}\Tab{8}{upp.g = uplusb(upp.g,umultb(ypp.g,ucvtib(sc)));}}
\L{\LB{}\Tab{8}{upp.h = uplusb(upp.h,umultb(ypp.h,ucvtib(sc)));}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r = rs(y.p.deg, y.center, y.r);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{r.p.p[2] = neg(y.p.p[2]);}}
\L{\LB{}\Tab{8}{r.p.deg = 2;}}
\L{\LB{}\Tab{8}{\K{while} (r.p.deg \< y.p.deg )\{}}
\L{\LB{}\Tab{16}{rma = rspower(r,ihalf);}}
\L{\LB{}\Tab{16}{rpow =  (RSERIES *)calloc(size=r.p.deg+1,\K{sizeof}(RSERIES));}}
\L{\LB{}\Tab{16}{\K{for}(j=0; j \<= r.p.deg; ++j) rpow[j] = rs(r.p.deg,r.center,r.r);}}
\L{\LB{}\Tab{16}{rsmatpower(rma, rpow);}}
\L{\LB{}\Tab{16}{rw = rs(r.p.deg+1,r.center,r.r);}}
\L{\LB{}\Tab{16}{\K{for}(j=1; j \<= r.p.deg+1; ++j)\{}}
\L{\LB{}\Tab{24}{err= b0ero;}}
\L{\LB{}\Tab{24}{\K{for}(k=1; k \<= j; ++k)\{}}
\L{\LB{}}
\L{\LB{}\Tab{32}{\K{if}(k \<= r.p.deg)}}
\L{\LB{}\Tab{40}{i1 = rpow[k].p.p[j\-k];}}
\L{\LB{}\Tab{32}{\K{else} }}
\L{\LB{}\Tab{40}{i1 = ione;}}
\L{\LB{}}
\L{\LB{}\Tab{32}{rw.p.p[j] = plus(mult(i1,y.p.p[k]),rw.p.p[j]);}}
\L{\LB{}\Tab{32}{\K{if}(k \> 1) err = maxb(err, uabs(i1));}}
\L{\LB{}\Tab{24}{\}}}
\L{\LB{}\Tab{24}{rw.p.p[j] = ienlarge(rw.p.p[j],umultb(err,y.g));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{16}{rw.p.p[0] = ione;}}
\L{\LB{}\Tab{16}{r.p.deg++;}}
\L{\LB{}\Tab{16}{\K{for}(j=0; j \< r.p.deg; ++j)\{}}
\L{\LB{}\Tab{24}{r.p.p[r.p.deg] = plus(r.p.p[r.p.deg],}}
\L{\LB{}\Tab{24}{    mult(r.p.p[j], rw.p.p[r.p.deg\-j]));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{r.p.p[r.p.deg] = neg(r.p.p[r.p.deg]);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{\K{for}(j=0; j \<= r.p.deg\-1; ++j) freep(rpow[j].p);}}
\L{\LB{}\Tab{16}{freep(rma.p), free((\K{char} *)rpow), rpow = NULL;}}
\L{\LB{}\Tab{16}{freep(rw.p);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rma = rspower(r,ihalf);}}
\L{\LB{}\Tab{8}{rpow =  (RSERIES *)calloc(size=r.p.deg+1,\K{sizeof}(RSERIES));}}
\L{\LB{}\Tab{8}{\K{for}(j=0; j \<= r.p.deg; ++j) rpow[j] = rs(r.p.deg,r.center,r.r);}}
\L{\LB{}\Tab{8}{rsmatpower(rma, rpow);}}
\L{\LB{}\Tab{8}{rw = rs(r.p.deg,r.center,r.r);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{err = b0ero;}}
\L{\LB{}\Tab{8}{\K{for}(j=1; j \<= r.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{\K{for}(k=r.p.deg\-j+1; k \<= r.p.deg; ++k)}}
\L{\LB{}\Tab{24}{rpow[j].h = uplusb(rpow[j].h,uabs(rpow[j].p.p[k]));}}
\L{\LB{}\Tab{16}{err = maxb(err,rpow[j].h);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{\K{for}(k = r.p.deg; k \>= j; \-\-k)}}
\L{\LB{}\Tab{24}{rpow[j].p.p[k] = rpow[j].p.p[k\-j];}}
\L{\LB{}\Tab{16}{\K{for}(k = 0; k \< j; ++k)}}
\L{\LB{}\Tab{24}{rpow[j].p.p[k] = izero;}}
\L{\LB{}\Tab{16}{rw = rsplusf(rw,rsca(rpow[j],y.p.p[j]));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h,umultb(err,y.g));}}
\L{\LB{}\Tab{8}{\K{for}(j=2; j \<= rw.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{err = b0ero;}}
\L{\LB{}\Tab{16}{\K{for}(k=2; k \<= j; ++k)\{}}
\L{\LB{}\Tab{24}{err = maxb(err,uabs(rpow[k].p.p[j]));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{rw.p.p[j] = ienlarge(rw.p.p[j],umultb(y.g,err));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{unr = bl1nrs(r);}}
\L{\LB{}\Tab{8}{unr = uabs(poweri(cvtbi(unr),divi(cvtinti(r.p.deg+1),itwo)));}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h, umultb(y.g, unr));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw = rsmultf(rw,rscopy(r));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r.h = umultb(rw.h,btwo);}}
\L{\LB{}\Tab{8}{freep(rw.p);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{freep(rma.p), free((\K{char} *)rpow), rpow = NULL;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rma = rspower(r,ihalf);}}
\L{\LB{}\Tab{8}{rpow =  (RSERIES *)calloc(size=r.p.deg+1,\K{sizeof}(RSERIES));}}
\L{\LB{}\Tab{8}{\K{for}(j=0; j \<= r.p.deg; ++j) rpow[j] = rs(r.p.deg,r.center,r.r);}}
\L{\LB{}\Tab{8}{rsmatpower(rma, rpow);}}
\L{\LB{}\Tab{8}{rw = rs(r.p.deg,r.center,r.r);}}
\L{\LB{}\Tab{8}{rpp = rs(r.p.deg,r.center,r.r);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{err = b0ero;}}
\L{\LB{}\Tab{8}{\K{for}(j=1; j \<= r.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{rpp.h = rpow[j].h;}}
\L{\LB{}\Tab{16}{\K{for}(k=r.p.deg\-j+1; k \<= r.p.deg; ++k)}}
\L{\LB{}\Tab{24}{rpp.h = uplusb(rpp.h,uabs(rpow[j].p.p[k]));}}
\L{\LB{}\Tab{16}{err = maxb(err,rpp.h);}}
\L{\LB{}\Tab{16}{\K{for}(k = r.p.deg; k \>= j; \-\-k)}}
\L{\LB{}\Tab{24}{rpp.p.p[k] = rpow[j].p.p[k\-j];}}
\L{\LB{}\Tab{16}{\K{for}(k = 0; k \< j; ++k)}}
\L{\LB{}\Tab{24}{rpp.p.p[k] = izero;}}
\L{\LB{}\Tab{16}{rw = rsplusf(rw,}}
\L{\LB{}\Tab{16}{    rsca(rpp,uP.p.p[j]));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{rw.h = uplusb(umultb(err, uP.g), rw.h);}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(j=2; j \<= rw.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{err = b0ero;}}
\L{\LB{}\Tab{16}{\K{for}(k=2; k \<= j; ++k)\{}}
\L{\LB{}\Tab{24}{err = maxb(err,uabs(rpow[k].p.p[j\-k]));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{rw.p.p[j] = ienlarge(rw.p.p[j],umultb(uP.g,err));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{unr = bl1nrs(r);}}
\L{\LB{}\Tab{8}{err = umultb(ucvtib(UD),unr);}}
\L{\LB{}\Tab{8}{\K{if}(grtb(err,cvtdb(t)))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"H\_at\_0: wrong choice of D\!n\"\SE{});}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{unr = uabs(poweri(cvtbi(unr), divi(cvtinti(r.p.deg+1),itwo)));}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h,umultb(unr,uplusb(uP.h, uP.g)));}}
\L{\LB{}\Tab{8}{rw.g = b0ero;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rp = rspowerf(rw,imone);}}
\L{\LB{}\Tab{8}{rp.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{freep(rpp.p), freep(rma.p);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rm1 = rspower(r, imone);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw = rs(r.p.deg, r.center, r.r);}}
\L{\LB{}\Tab{8}{rw.p.p[0] = upp.p.p[0];}}
\L{\LB{}\Tab{8}{err = b0ero;}}
\L{\LB{}\Tab{8}{\K{for}(j=1; j \<= r.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{\K{for}(k=r.p.deg\-j+1; k \<= r.p.deg; ++k)}}
\L{\LB{}\Tab{24}{rpow[j].h = uplusb(rpow[j].h,uabs(rpow[j].p.p[k]));}}
\L{\LB{}\Tab{16}{err = maxb(err,rpow[j].h);}}
\L{\LB{}\Tab{16}{\K{for}(k = r.p.deg; k \>= j; \-\-k)}}
\L{\LB{}\Tab{24}{rpow[j].p.p[k] = rpow[j].p.p[k\-j];}}
\L{\LB{}\Tab{16}{\K{for}(k = 0; k \< j; ++k)}}
\L{\LB{}\Tab{24}{rpow[j].p.p[k] = izero;}}
\L{\LB{}\Tab{16}{rw = rsplusf(rw,rsca(rpow[j],upp.p.p[j]));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h,umultb(err,upp.g));}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(j=3; j \<= rw.p.deg; ++j)\{}}
\L{\LB{}\Tab{16}{err = b0ero;}}
\L{\LB{}\Tab{16}{\K{for}(k=3; k \<= j; ++k)\{}}
\L{\LB{}\Tab{24}{err = maxb(err,uabs(rpow[k].p.p[j]));}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{rw.p.p[j] = ienlarge(rw.p.p[j],umultb(upp.g,err));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw.h = uplusb(rw.h,umultb(unr,uplusb(upp.h,upp.g)));}}
\L{\LB{}\Tab{8}{rw.g = b0ero;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rpp = rsmultf(rsmult(rp,rp),rw);}}
\L{\LB{}\Tab{8}{rpp = rsmultf(rpp, rsca(rp,imone));}}
\L{\LB{}\Tab{8}{rpp.p.p[0] = mult(itwo,W);}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rw = rsmult(rp,rm1);}}
\L{\LB{}\Tab{8}{h = rsminusf(rsmult(rw,rw), rw);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{h.p.deg = h.p.deg \- 2;}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= h.p.deg; ++i)h.p.p[i] = divi(h.p.p[i+2],cvtdi(t));}}
\L{\LB{}\Tab{8}{h.h = udivb(h.h,cvtdb(t));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{h = rsminusf(rsmult(rpp,rm1), h);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{freep(y.p), freep(yp.p), freep(ypp.p);}}
\L{\LB{}\Tab{8}{freep(uP.p), freep(upp.p);}}
\L{\LB{}\Tab{8}{freep(r.p), freep(rp.p), freep(rpp.p);}}
\L{\LB{}\Tab{8}{freep(rm1.p);}}
\L{\LB{}\Tab{8}{\K{for}(j=0; j \<= r.p.deg; ++j) freep(rpow[j].p);}}
\L{\LB{}\Tab{8}{free((\K{char} *)rpow), rpow = NULL;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(rstruncf(h,9));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\K{void}}}
\L{\LB{\Proc{printh}printh()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES h;}}
\L{\LB{}\Tab{8}{printrsio(hinf());}}
\L{\LB{}\Tab{8}{h = h\_at\_0();}}
\L{\LB{}\Tab{8}{printrsio(h);}}
\L{\LB{}\Tab{8}{printivalio(Le);}}
\L{\LB{}\Tab{8}{printivalio(UL);}}
\L{\LB{}\Tab{8}{printivalio(De);}}
\L{\LB{}\Tab{8}{printivalio(UD);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\K{void}}}
\L{\LB{\Proc{readh}readh()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{HINF = readrsio();}}
\L{\LB{}\Tab{8}{H0 = readrsio();}}
\L{\LB{}\Tab{8}{Le = readivalio();}}
\L{\LB{}\Tab{8}{UL= readivalio();}}
\L{\LB{}\Tab{8}{De = readivalio();}}
\L{\LB{}\Tab{8}{UD = readivalio();}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{tfint1}tfint1(alpha,x)}}
\L{\LB{INTERVL alpha, x;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL sol;}}
\L{\LB{}\Tab{8}{\K{int} m, i;}}
\L{\LB{}\Tab{8}{BND err;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{m = 100;}}
\L{\LB{}\Tab{8}{\K{if}( x.up \>= one \|\| x.dn \< zero )\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"TFINT1: error\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = izero;}}
\L{\LB{}\Tab{8}{err = udivb(btwo,cvtintb(2*m+3));}}
\L{\LB{}\Tab{8}{\K{for}(i=m; i \>= 1; i\-\-)\{}}
\L{\LB{}\Tab{16}{sol = mult(plus(sol,inv(plus(cvtinti(i),ihalf))),}}
\L{\LB{}\Tab{16}{    divi(mult(x,plus(alpha,cvtinti(\-i+1))),cvtinti(i)));}}
\L{\LB{}\Tab{16}{err = udivb(}}
\L{\LB{}\Tab{16}{    umultb(umultb(uabs(x),err),uplusb(uabs(alpha),}}
\L{\LB{}\Tab{16}{    cvtintb(i\-1))),}}
\L{\LB{}\Tab{16}{    cvtintb(i));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = mult(plus(sol, itwo), poweri(x,ihalf));}}
\L{\LB{}\Tab{8}{err = umultb(err,udivb(umultb(uplusb(cvtintb(m),negb(lcvtib(alpha))),}}
\L{\LB{}\Tab{8}{    uabs(ratpower(x,3,2))),cvtintb(m+1)));}}
\L{\LB{}\Tab{8}{\K{return}(ienlarge(sol, err));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{tfint2}tfint2(alpha, a, b)}}
\L{\LB{INTERVL a, b, alpha;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL sol;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = poweri(iunion(a,b),alpha);}}
\L{\LB{}\Tab{8}{sol = mult(sol, mult(itwo,plus(b,neg(a))));}}
\L{\LB{}\Tab{8}{sol = divi(sol,}}
\L{\LB{}\Tab{8}{    plus(poweri(plus(b,imone),ihalf),poweri(plus(a,imone),ihalf)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{tfint3}tfint3(alpha, a, b)}}
\L{\LB{INTERVL a, b, alpha;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL sol;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = mult(poweri(plus(iunion(a,b),imone),ihalf),plus(alpha,ione));}}
\L{\LB{}\Tab{8}{sol = divi(plus(poweri(b,plus(alpha,ione)),}}
\L{\LB{}\Tab{8}{    neg(poweri(a,plus(alpha,ione)))),sol);}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{tfint4}tfint4(alpha, a, b)}}
\L{\LB{INTERVL a, alpha, b;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES rw1, rw2;}}
\L{\LB{}\Tab{8}{BND x, r;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{x.b = (a.dn+b.up)\/2.0;}}
\L{\LB{}\Tab{8}{r = maxb(uplusb(x,negb(lcvtib(a))),uplusb(negb(x),ucvtib(b)));}}
\L{\LB{}\Tab{8}{rw1 = rslinpower(ione,imone,neg(ihalf),8,x,r);}}
\L{\LB{}\Tab{8}{rw2 = rslinpower(ione,izero,alpha,8,x,r);}}
\L{\LB{}\Tab{8}{\K{return}(rsdintf(rsmultf(rw1,rw2),b,a));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{tfintf1}tfintf1(alpha,x)}}
\L{\LB{INTERVL alpha, x;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL sol, a, b;}}
\L{\LB{}\Tab{8}{\K{double} step;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(x.up \< 1.8)\K{return}(tfint1(alpha,plus(x,imone)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{b.up = b.dn = 1.8;}}
\L{\LB{}\Tab{8}{sol = tfint1(alpha, plus(b,imone));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{step = x.up\/100.0;}}
\L{\LB{}\Tab{8}{\K{while}(b.up \< x.dn)\{}}
\L{\LB{}\Tab{16}{a = b;}}
\L{\LB{}\Tab{16}{b.up = b.dn = b.dn + step;}}
\L{\LB{}\Tab{16}{a = tfint2(alpha,a,b);}}
\L{\LB{}\Tab{16}{sol = plus(sol,a);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(plus(sol,tfint2(alpha,b,x)));}}
\L{\LB{\}}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{tfintf2}tfintf2(alpha,x)}}
\L{\LB{INTERVL alpha, x;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL sol, a, b;}}
\L{\LB{}\Tab{8}{\K{double} step;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(x.up \< 1.8)\K{return}(tfint1(alpha,plus(x,imone)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{b.up = b.dn = 1.8;}}
\L{\LB{}\Tab{8}{sol = tfint1(alpha, plus(b,imone));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{step = x.up\/100.0;}}
\L{\LB{}\Tab{8}{\K{while}(b.up \< x.dn)\{}}
\L{\LB{}\Tab{16}{a = b;}}
\L{\LB{}\Tab{16}{b.up = b.dn = b.dn + step;}}
\L{\LB{}\Tab{16}{a = tfint4(alpha,a,b);}}
\L{\LB{}\Tab{16}{sol = plus(sol,a);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(plus(sol,tfint2(alpha,b,x)));}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secder0\_sp}secder0\_sp(w)}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL a, sol, uLwm2, m, upL, ta;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{m = cvtbi(H0.r);}}
\L{\LB{}\Tab{8}{upL = grsdereval(U,De);}}
\L{\LB{}\Tab{8}{uLwm2 = divi(UD,square(w));}}
\L{\LB{}\Tab{8}{\K{if}(uLwm2.dn \< one)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"SECDER0\_sp: Omega is too large\!n\"\SE{});}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{ta = poweri(m,neg(ihalf));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = izero;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{a = divi(cvtinti(H0.p.deg+1),itwo);}}
\L{\LB{}\Tab{8}{sol = izero;}}
\L{\LB{}\Tab{8}{sol = ienlarge(sol,umultb(uabs(mult(w,ta)),}}
\L{\LB{}\Tab{8}{    umultb(H0.h,uabs(tfintf1(a,uLwm2)))));}}
\L{\LB{}\Tab{8}{\K{for}(i=H0.p.deg; i \>= 0; \-\-i)\{}}
\L{\LB{}\Tab{16}{a = divi(cvtinti(i),itwo);}}
\L{\LB{}\Tab{16}{\K{if}(i \> 1) a = tfintf1(a,uLwm2);}}
\L{\LB{}\Tab{16}{\K{else} a = tfintf2(a,uLwm2);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{sol = mult(plus(mult(H0.p.p[i],a),mult(sol,ta)),w);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = plus(divi(mult(imtwo,UD),mult(mult(De,upL),poweri(}}
\L{\LB{}\Tab{8}{    plus(UD,neg(square(w))),ihalf))), mult(sol,itwo));}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secder1\_sp}secder1\_sp(w)}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL wa, a, sol, a2, uLwm2, m, upL, ta;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{m = cvtbi(HINF.center);}}
\L{\LB{}\Tab{8}{upL = grsdereval(U,Le);}}
\L{\LB{}\Tab{8}{uLwm2 = divi(UL,square(w));}}
\L{\LB{}\Tab{8}{\K{if}(uLwm2.dn \< one)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"SECDER1\_sp: Omega is too large\!n\"\SE{});}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{a2 = divi(ALPHA,itwo);}}
\L{\LB{}\Tab{8}{wa = poweri(w,ALPHA);}}
\L{\LB{}\Tab{8}{ta = mult(wa, poweri(divi(m,cvtinti(12)),ALPHA));}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{a = plus(mult(cvtinti(HINF.p.deg+1),a2),imone);}}
\L{\LB{}\Tab{8}{sol = izero;}}
\L{\LB{}\Tab{8}{sol = ienlarge(sol, }}
\L{\LB{}\Tab{8}{    umultb(uabs(ta),umultb(HINF.h,uabs(tfintf1(a,uLwm2)))));}}
\L{\LB{}\Tab{8}{\K{for}(i=HINF.p.deg; i \>= 1; \-\-i)\{}}
\L{\LB{}\Tab{16}{a = plus(mult(cvtinti(i),a2),imone);}}
\L{\LB{}\Tab{16}{\K{if}( i \> 1) a = tfintf1(a,uLwm2);}}
\L{\LB{}\Tab{16}{\K{else} a = tfintf2(a,uLwm2);}}
\L{\LB{}\Tab{16}{sol = mult(plus(sol,mult(HINF.p.p[i],a)),ta);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{sol = divi(divi(sol,itwo),w);}}
\L{\LB{}\Tab{8}{sol = plus(divi(mult(itwo,UL),mult(mult(Le,upL),poweri(}}
\L{\LB{}\Tab{8}{    plus(UL,neg(square(w))),ihalf))), sol);}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secder0\_speps}secder0\_speps(w)}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL r, sol;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r = poweri(divi(UD,cvtbi(H0.r)),ihalf);}}
\L{\LB{}\Tab{8}{sol = cvtbi(H0.h);}}
\L{\LB{}\Tab{8}{\K{for}(i=H0.p.deg; i \>= 0; \-\-i)\{}}
\L{\LB{}\Tab{16}{sol = mult(sol,r);}}
\L{\LB{}\Tab{16}{\K{if}(H0.p.p[i].dn \< (\K{double}) 0)}}
\L{\LB{}\Tab{24}{sol = plus(sol,iabs(H0.p.p[i]));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{sol = mult(sol,poweri(UD,ihalf));}}
\L{\LB{}\Tab{8}{sol = mult(sol,cvtinti(4));}}
\L{\LB{}\Tab{8}{sol = plus(divi(mult(itwo,UD),mult(mult(De,grsdereval(U,De)),poweri(}}
\L{\LB{}\Tab{8}{    plus(UD,neg(square(w))),ihalf))),sol);}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secder1\_speps}secder1\_speps(w)}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL r, sol, i1;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r = mult(poweri(UL,ihalf),divi(cvtbi(HINF.center),cvtinti(12)));}}
\L{\LB{}\Tab{8}{r = poweri(r,ALPHA);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = mult(cvtbi(HINF.h),r);}}
\L{\LB{}\Tab{8}{\K{if}(HINF.p.p[2].dn \< (\K{double}) 0)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"SECDER1\_SPEPS: second term negative.\!n\"\SE{});}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{for}(i=HINF.p.deg; i \>= 2; \-\-i)\{}}
\L{\LB{}\Tab{16}{\K{if}(HINF.p.p[i].dn \< (\K{double}) 0)}}
\L{\LB{}\Tab{24}{sol = plus(sol,iabs(HINF.p.p[i]));}}
\L{\LB{}\Tab{16}{sol = mult(sol,r);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{sol = mult(sol,r);}}
\L{\LB{}\Tab{8}{sol = divi(sol, poweri(UL,ihalf));}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i1 = mult(Le,iabs(grsdereval(U,Le)));}}
\L{\LB{}\Tab{8}{i1 = mult(i1,poweri(plus(UL,neg(square(w))),ihalf));}}
\L{\LB{}\Tab{8}{sol = plus(divi(mult(itwo,UL), i1), sol);}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{secder\_eps}secder\_eps()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{GRS yw;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{yw = grstimesx(grstimesx(grstimesx(YRS)));}}
\L{\LB{}\Tab{8}{yw = grspowerf(yw,neg(ihalf));}}
\L{\LB{}\Tab{8}{\K{return}(grsdintf(yw,De,Le));}}
\L{\LB{\}}}
\L{\LB{}}
\vfill\eject

\File{},{18:35},{Apr 17 1993}
\L{\LB{\K{\#include} \<math.h\>}}
\L{\LB{\K{\#include} \<stdio.h\>}}
\L{\LB{}}
\L{\LB{BND}}
\L{\LB{\Proc{lipreg}lipreg(u0,u1,x0,r,a)}}
\L{\LB{INTERVL u0, u1, x0;}}
\L{\LB{BND r, a;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{BND g1, sol, g0, c1, c2;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{g0 = umultb(r,uabs(u1));}}
\L{\LB{}\Tab{8}{g1 = udivb(g0,lcvtib(u0));}}
\L{\LB{}\Tab{8}{g0 = udivb(uplusb(g0,a),lcvtib(u0));}}
\L{\LB{}\Tab{8}{c1 = umultb(frak22(neg(ihalf),udivb(r,lcvtib(x0))),ucvtib(ratpower(x0,}}
\L{\LB{}\Tab{8}{    \-1,2)));}}
\L{\LB{}\Tab{8}{c2 = umultb(ucvtib(ratpower(u0,1,2)),}}
\L{\LB{}\Tab{8}{    frac22(ration(3,2),g0));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{c1 = udivb(umultb(usquareb(r),c1),btwo);}}
\L{\LB{}\Tab{8}{sol = umultb(c1,c2);}}
\L{\LB{}\Tab{8}{c2 = umultb(ucvtib(ratpower(u0,3,2)),}}
\L{\LB{}\Tab{8}{    frak22(ration(3,2),g1));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{c1 = umultb(c1, c2);}}
\L{\LB{}\Tab{8}{c2 = lmultb(a,lplusb(bone,negb(sol)));}}
\L{\LB{}\Tab{8}{\K{if} (lseqb(c1,c2)) \K{return}(sol);}}
\L{\LB{}\Tab{8}{\K{else}\{ }}
\L{\LB{}\Tab{16}{\K{return}(bone);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{BND}}
\L{\LB{\Proc{lip0}lip0(w,r,a)}}
\L{\LB{INTERVL w;}}
\L{\LB{BND r, a;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{BND g1, sol, g0, c1, c2;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{g1 = umultb(r,uabs(w));}}
\L{\LB{}\Tab{8}{g0 = uplusb(g1,a);}}
\L{\LB{}\Tab{8}{sol = frac22(ration(3,2),g0);}}
\L{\LB{}\Tab{8}{c2 = frak22(ration(3,2),g1);}}
\L{\LB{}\Tab{8}{c1 = udivb(umultb(bfour,ucvtib(ratpower(cvtbi(r),3,2))),cvtintb(3));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol = umultb(sol, c1);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{c1 = umultb(c1,c2);}}
\L{\LB{}\Tab{8}{c2 = lmultb(a,lplusb(bone,negb(sol)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if} (lseqb(c1,c2)) \K{return}(sol);}}
\L{\LB{}\Tab{8}{\K{else}\{ }}
\L{\LB{}\Tab{16}{\K{return}(bone);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\K{double}}}
\L{\LB{\Proc{vtffx}vtffx(xin, xout, u0, u1,y0, y1)}}
\L{\LB{\K{double} xin, u0, u1;}}
\L{\LB{INTERVL xout, *y0, *y1;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES y, yp, ypp, rsw;}}
\L{\LB{}\Tab{8}{INTERVL ithreehalfs, r;}}
\L{\LB{}\Tab{8}{BND bn, eps;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}\Tab{8}{\K{double} p[SIZE], pw[SIZE];}}
\L{\LB{}}
\L{\LB{}\Tab{8}{pzer(p), pzer(pw);}}
\L{\LB{}\Tab{8}{p[0] = u0, p[1] = u1*fabs(.5*(xout.dn+xout.up)\-xin);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{pw[0] = xin; }}
\L{\LB{}\Tab{8}{pw[1] = fabs(.5*(xout.up+xout.dn)\-xin);}}
\L{\LB{}\Tab{8}{myprpower(pw, \-0.5, pw);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(i=1; i \<= DEGREE; ++i)\{}}
\L{\LB{}\Tab{16}{myprpower(p,1.5,p);}}
\L{\LB{}\Tab{16}{pprod(p,pw,p);}}
\L{\LB{}\Tab{16}{pinte(p,p);}}
\L{\LB{}\Tab{16}{pinte(p,p);}}
\L{\LB{}\Tab{16}{psca(p,(.5*(xout.up+xout.dn)\-xin)*(.5*(xout.up+xout.dn)\-xin),p);}}
\L{\LB{}\Tab{16}{p[0] = u0, p[1] = u1*fabs(.5*(xout.up+xout.dn)\-xin);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r = iabs(plus(xout,cvtdi(\-xin)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y = rs(DEGREE,cvtdb(xin),cvtdb(r.up));}}
\L{\LB{}\Tab{8}{\K{for}(i=2; i\<= DEGREE; ++i) y.p.p[i] = cvtdi(p[i]);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{eps = bl1nrs(y);}}
\L{\LB{}\Tab{8}{bn = lipreg(cvtdi(u0), cvtdi(u1), cvtdi(xin), ucvtib(r), eps);}}
\L{\LB{}\Tab{8}{\K{while}(grteqb(bn,bone))\{}}
\L{\LB{}\Tab{16}{eps = maxb(eps, cvtdb(eps.b * 1.1));}}
\L{\LB{}\Tab{16}{bn = lipreg(cvtdi(u0), cvtdi(u1), cvtdi(xin), ucvtib(r), eps);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y.p.p[0] = cvtdi(u0);}}
\L{\LB{}\Tab{8}{y.p.p[1] = mult(cvtdi(r.up),cvtdi(u1));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rsw = rs(DEGREE,cvtdb(xin),cvtdb(r.up));}}
\L{\LB{}\Tab{8}{rsw.p.p[0] = cvtdi(xin);}}
\L{\LB{}\Tab{8}{rsw.p.p[1] = cvtdi(r.up);}}
\L{\LB{}\Tab{8}{rsw = rspowerf(rsw,neg(ihalf));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ithreehalfs = divi(ithree,itwo);}}
\L{\LB{}\Tab{8}{yp = rspower(y,ithreehalfs);}}
\L{\LB{}\Tab{8}{ypp = rsintegf(rsintegf(rsmultf(yp,rscopy(rsw))));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{yp = rscopy(y);}}
\L{\LB{}\Tab{8}{yp.p.p[0] = izero;}}
\L{\LB{}\Tab{8}{yp.p.p[1] = izero;}}
\L{\LB{}\Tab{8}{eps = bl1nrsf(rsminusf(yp,ypp));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y.g = udivb(eps,lplusb(bone, negb(bn)));}}
\L{\LB{}\Tab{8}{y.k = 2;}}
\L{\LB{}\Tab{8}{rsw.k = 2;}}
\L{\LB{}\Tab{8}{*y0 = rseval(y,xout);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{*y1 = rsevalf(rsintegf(rsmultf(rspower(y,ithreehalfs),rsw)), xout);}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{*y1 = plus(*y1,cvtdi(u1));}}
\L{\LB{}\Tab{8}{freep(y.p);}}
\L{\LB{}\Tab{8}{\K{return}(eps.b);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\K{double}}}
\L{\LB{\Proc{supervtffx}supervtffx(xin, xout, u0, u1,y0, y1)}}
\L{\LB{\K{double} xin;}}
\L{\LB{INTERVL xout, u0, u1;}}
\L{\LB{INTERVL *y0, *y1;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL yw0, yw1;}}
\L{\LB{}\Tab{8}{\K{double} eps;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(xin \<= xout.dn)\{}}
\L{\LB{}\Tab{16}{eps = vtffx(xin, xout, u0.up, u1.up, \&yw0, \&yw1);}}
\L{\LB{}\Tab{16}{y0\-\>up = yw0.up, y1\-\>up = yw1.up;}}
\L{\LB{}\Tab{16}{eps += vtffx(xin, xout, u0.dn, u1.dn, \&yw0, \&yw1);}}
\L{\LB{}\Tab{16}{y0\-\>dn = yw0.dn, y1\-\>dn = yw1.dn;}}
\L{\LB{}\Tab{16}{\K{return}(eps);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{else} \K{if}(xin \>= xout.up)\{}}
\L{\LB{}\Tab{16}{eps = vtffx(xin, xout, u0.dn, u1.up, \&yw0, \&yw1);}}
\L{\LB{}\Tab{16}{y0\-\>dn = yw0.dn, y1\-\>up = yw1.up;}}
\L{\LB{}\Tab{16}{eps += vtffx(xin, xout, u0.up, u1.dn, \&yw0, \&yw1);}}
\L{\LB{}\Tab{16}{y0\-\>up = yw0.up, y1\-\>dn = yw1.dn;}}
\L{\LB{}\Tab{16}{\K{return}(eps);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{else}\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"SUPERVTFFX: case not considered\!n\!n\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{RSERIES}}
\L{\LB{\Proc{vtffxi}vtffxi(xin, xout, u0, u1)}}
\L{\LB{INTERVL xin, xout, u0, u1;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES y, yp, ypp, rsw;}}
\L{\LB{}\Tab{8}{INTERVL ithreehalfs, r;}}
\L{\LB{}\Tab{8}{BND bn, eps;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}\Tab{8}{\K{double} p[SIZE], pw[SIZE];}}
\L{\LB{}}
\L{\LB{}\Tab{8}{pzer(p), pzer(pw);}}
\L{\LB{}\Tab{8}{p[0] = .5*(u0.dn+u0.up);}}
\L{\LB{}\Tab{8}{p[1] = .5*(u1.up+u1.dn)*fabs(.5*(xout.up+xout.dn)}}
\L{\LB{}\Tab{8}{    \-0.5*(xin.up+xin.dn));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{pw[0] = 0.5*(xin.up+xin.dn);}}
\L{\LB{}\Tab{8}{pw[1] = fabs(.5*(xout.up+xout.dn)\-0.5*(xin.up+xin.dn));}}
\L{\LB{}\Tab{8}{myprpower(pw, \-0.5, pw);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(i=1; i \<= DEGREE; ++i)\{}}
\L{\LB{}\Tab{16}{myprpower(p,1.5,p);}}
\L{\LB{}\Tab{16}{pprod(p,pw,p);}}
\L{\LB{}\Tab{16}{pinte(p,p);}}
\L{\LB{}\Tab{16}{pinte(p,p);}}
\L{\LB{}\Tab{16}{psca(p,(.5*(xout.up+xout.dn)\-0.5*(xin.up+xin.dn))}}
\L{\LB{}\Tab{16}{    *(.5*(xout.up+xout.dn)\-0.5*(xin.up+xin.dn)),p);}}
\L{\LB{}\Tab{16}{p[0] = .5*(u0.dn+u0.up);}}
\L{\LB{}\Tab{16}{p[1] = .5*(u1.up+u1.dn)*fabs(.5*(xout.up+xout.dn)}}
\L{\LB{}\Tab{16}{    \-0.5*(xin.up+xin.dn));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r = iabs(plus(xout,neg(xin)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y = rs(DEGREE,b0ero,cvtdb(r.up));}}
\L{\LB{}\Tab{8}{y.p.p[0] = u0;}}
\L{\LB{}\Tab{8}{y.p.p[1] = mult(cvtdi(r.up),u1);}}
\L{\LB{}\Tab{8}{\K{for}(i=2; i\<= DEGREE; ++i) y.p.p[i] = cvtdi(p[i]);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rsw = rs(DEGREE,b0ero,cvtdb(r.up));}}
\L{\LB{}\Tab{8}{rsw.p.p[0] = xin;}}
\L{\LB{}\Tab{8}{rsw.p.p[1] = cvtdi(r.up);}}
\L{\LB{}\Tab{8}{rsw = rspowerf(rsw,neg(ihalf));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ithreehalfs = divi(ithree,itwo);}}
\L{\LB{}\Tab{8}{yp = rspower(y,ithreehalfs);}}
\L{\LB{}\Tab{8}{ypp = rsintegf(rsintegf(rsmultf(yp,rsw)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{yp = rscopy(y);}}
\L{\LB{}\Tab{8}{yp.p.p[0] = izero;}}
\L{\LB{}\Tab{8}{yp.p.p[1] = izero;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{eps = bl1nrs(yp);}}
\L{\LB{}\Tab{8}{bn = lipreg(u0, u1, xin, ucvtib(r), eps);}}
\L{\LB{}\Tab{8}{\K{while}(grteqb(bn,bone))\{}}
\L{\LB{}\Tab{16}{eps = maxb(eps,cvtdb(eps.b * 1.1));}}
\L{\LB{}\Tab{16}{bn = lipreg(u0, u1, xin, ucvtib(r), eps);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{eps = bl1nrsf(rsminusf(yp,ypp));}}
\L{\LB{}\Tab{8}{y.g = udivb(eps,lplusb(bone, negb(bn)));}}
\L{\LB{}\Tab{8}{y.k = 2;}}
\L{\LB{}\Tab{8}{\K{return}(y);}}
\L{\LB{\}}}
\L{\LB{POLY}}
\L{\LB{\Proc{tfypoly}tfypoly(u0, u1, r, i)}}
\L{\LB{INTERVL u0, u1, r;}}
\L{\LB{\K{int} i;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{POLY poly, res;}}
\L{\LB{}\Tab{8}{POLY rsw;}}
\L{\LB{}\Tab{8}{\K{int} j, k;}}
\L{\LB{}\Tab{8}{poly = make\_poly(i);}}
\L{\LB{}\Tab{8}{poly.p[0] = u0, poly.p[1] = u1;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rsw = make\_poly(i);}}
\L{\LB{}\Tab{8}{rsw.p[0] = r;}}
\L{\LB{}\Tab{8}{rsw.p[1] = ione;}}
\L{\LB{}\Tab{8}{rsw = polypowerf(rsw,neg(ihalf));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(k=2; k \<= i; ++k)\{}}
\L{\LB{}\Tab{16}{res = make\_poly(k\-1);}}
\L{\LB{}\Tab{16}{\K{for}(j=0; j\<=k\-2; ++j) res.p[j] = poly.p[j];}}
\L{\LB{}\Tab{16}{res = polypowerf(res, ration(3,2));}}
\L{\LB{}\Tab{16}{res.p[k\-2] = coeffmult(res,rsw,k\-2);}}
\L{\LB{}\Tab{16}{poly.p[k] = divi(res.p[k\-2], cvtinti(k*(k\-1)));}}
\L{\LB{}\Tab{16}{freep(res);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{freep(rsw);}}
\L{\LB{}\Tab{8}{\K{return}(poly);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{RSERIES}}
\L{\LB{\Proc{vtffxi2}vtffxi2(xin, xout, u0, u1)}}
\L{\LB{INTERVL xin, xout, u0, u1;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES y, yp, ypp, rsw;}}
\L{\LB{}\Tab{8}{INTERVL ithreehalfs, r;}}
\L{\LB{}\Tab{8}{BND bn, eps;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}\Tab{8}{POLY poly;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{r = iabs(plus(xout,neg(xin)));}}
\L{\LB{}\Tab{8}{poly = polyscalef(tfypoly(u0, u1, xin, DEGREE), cvtdi(r.up));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{y = rs(DEGREE,b0ero,cvtdb(r.up));}}
\L{\LB{}\Tab{8}{y.p.p[0] = u0;}}
\L{\LB{}\Tab{8}{y.p.p[1] = mult(cvtdi(r.up),u1);}}
\L{\LB{}\Tab{8}{\K{for}(i=2; i\<= DEGREE; ++i)}}
\L{\LB{}\Tab{16}{y.p.p[i] = cvtdi(.5*(poly.p[i].up+poly.p[i].dn));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{rsw = rs(DEGREE,b0ero,cvtdb(r.up));}}
\L{\LB{}\Tab{8}{rsw.p.p[0] = xin;}}
\L{\LB{}\Tab{8}{rsw.p.p[1] = cvtdi(r.up);}}
\L{\LB{}\Tab{8}{rsw = rspowerf(rsw,imhalf);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ithreehalfs = divi(ithree,itwo);}}
\L{\LB{}\Tab{8}{yp = rspower(y,ithreehalfs);}}
\L{\LB{}\Tab{8}{ypp = rsintegf(rsintegf(rsmultf(yp,rsw)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{yp = rscopy(y);}}
\L{\LB{}\Tab{8}{yp.p.p[0] = izero;}}
\L{\LB{}\Tab{8}{yp.p.p[1] = izero;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{eps = bl1nrs(yp);}}
\L{\LB{}\Tab{8}{bn = lipreg(u0, u1, xin, ucvtib(r), eps);}}
\L{\LB{}\Tab{8}{\K{while}(grteqb(bn,bone))\{}}
\L{\LB{}\Tab{16}{eps = maxb(eps,cvtdb(eps.b * 1.1));}}
\L{\LB{}\Tab{16}{bn = lipreg(u0, u1, xin, ucvtib(r), eps);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{eps = bl1nrsf(rsminusf(yp,ypp));}}
\L{\LB{}\Tab{8}{y.h = udivb(eps,lplusb(bone, negb(bn)));}}
\L{\LB{}\Tab{8}{\K{for}(i=2; i\<= DEGREE; ++i)}}
\L{\LB{}\Tab{16}{y.p.p[i] = iunion(y.p.p[i], poly.p[i]);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(y);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\K{void}}}
\L{\LB{\Proc{vtff0}vtff0(w,t,y0, y1)}}
\L{\LB{\K{double} w;}}
\L{\LB{BND t;}}
\L{\LB{INTERVL *y0, *y1;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES y, yp, ypp;}}
\L{\LB{}\Tab{8}{INTERVL sc;}}
\L{\LB{}\Tab{8}{INTERVL ithreehalfs;}}
\L{\LB{}\Tab{8}{BND eps, b0;}}
\L{\LB{}\Tab{8}{\K{double} p[SIZE];}}
\L{\LB{}\Tab{8}{\K{int} i, j;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{pzer(p);}}
\L{\LB{}\Tab{8}{p[0] = 1.0, p[2] = \-w;}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= DEGREE; ++i)\{}}
\L{\LB{}\Tab{16}{myprpower(p,1.5,p);}}
\L{\LB{}\Tab{16}{\K{for}(j=DEGREE; j \>= 3; \-\-j)}}
\L{\LB{}\Tab{24}{p[j] = 4.0*p[j\-3]\/(j*(j\-2));}}
\L{\LB{}\Tab{16}{p[0] = 1.0, p[1]=zero, p[2]= \-w;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{pscale(p,sqrt(t.b),p);}}
\L{\LB{}\Tab{8}{y = rs(DEGREE,b0ero,t);}}
\L{\LB{}\Tab{8}{\K{for}(i=3; i\<= DEGREE; ++i) y.p.p[i] = cvtdi(p[i]);}}
\L{\LB{}\Tab{8}{b0 = bl1nrs(y);}}
\L{\LB{}\Tab{8}{y.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{y.p.p[2] = mult(cvtdi(\-w),cvtbi(t));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ithreehalfs = divi(ithree,itwo);}}
\L{\LB{}\Tab{8}{yp = rspower(y,ithreehalfs);}}
\L{\LB{}\Tab{8}{ypp = rs(DEGREE+3, b0ero, t);}}
\L{\LB{}\Tab{8}{\K{for} (i=0; i \<= DEGREE; ++i) ypp.p.p[i+3]= divi(yp.p.p[i],}}
\L{\LB{}\Tab{8}{    divi(cvtinti((i+1)*(i+3)),cvtinti(4)));}}
\L{\LB{}\Tab{8}{ypp.h = umultb(yp.h,}}
\L{\LB{}\Tab{8}{    udivb(cvtintb(4),cvtintb((DEGREE+2)*(DEGREE+4))));}}
\L{\LB{}\Tab{8}{sc = iexp(mult(divi(cvtinti(3),cvtinti(2)),ilog(cvtbi(t))));}}
\L{\LB{}\Tab{8}{ypp = rscaf(ypp, sc);}}
\L{\LB{}\Tab{8}{ypp.p.p[0] = y.p.p[0];}}
\L{\LB{}\Tab{8}{ypp.p.p[1] = y.p.p[1];}}
\L{\LB{}\Tab{8}{ypp.p.p[2] = y.p.p[2];}}
\L{\LB{}}
\L{\LB{}\Tab{8}{eps = btwo;}}
\L{\LB{}\Tab{8}{\K{while}(grteqb(eps,bone))\{}}
\L{\LB{}\Tab{16}{eps = lip0(cvtdi(w),t,b0);}}
\L{\LB{}\Tab{16}{b0 = maxb(b0,cvtdb(b0.b * 1.01));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{b0 = eps;}}
\L{\LB{}\Tab{8}{eps = bl1nrsf(rsminus(y,ypp));}}
\L{\LB{}\Tab{8}{y.g = umultb(eps, lplusb(bone,negb(b0)));}}
\L{\LB{}\Tab{8}{*y0 = izero, *y1 = izero;}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i\<=y.p.deg; ++i)\{}}
\L{\LB{}\Tab{16}{*y0 = plus(*y0,y.p.p[i]);}}
\L{\LB{}\Tab{16}{*y1 = plus(*y1,divi(yp.p.p[i],divi(cvtinti(i+1),itwo)));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{*y0 = ienlarge(*y0,uplusb(y.g,y.h));}}
\L{\LB{}\Tab{8}{ypp = rspower(y,ithreehalfs);}}
\L{\LB{}\Tab{8}{sc = iexp(mult(ihalf,ilog(cvtbi(t))));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ypp.g = udivb(ypp.g,btwo);}}
\L{\LB{}\Tab{8}{ypp.h = udivb(ypp.h,cvtintb(2*(ypp.p.deg+1)));}}
\L{\LB{}\Tab{8}{*y1 = mult(ienlarge(*y1,uplusb(ypp.g,ypp.h)), sc);}}
\L{\LB{}\Tab{8}{*y1 = plus(*y1,neg(cvtdi(w)));}}
\L{\LB{}\Tab{8}{freep(y.p), freep(yp.p), freep(ypp.p);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{RSERIES}}
\L{\LB{\Proc{y\_at\_0}y\_at\_0(tb,m)}}
\L{\LB{\K{double} tb;}}
\L{\LB{\K{int} m;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES y, yp, ypp;}}
\L{\LB{}\Tab{8}{INTERVL sc;}}
\L{\LB{}\Tab{8}{INTERVL ithreehalfs;}}
\L{\LB{}\Tab{8}{BND t, eps, b0;}}
\L{\LB{}\Tab{8}{\K{double} w, p[SIZE];}}
\L{\LB{}\Tab{8}{\K{int} olddeg, i, j;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{t = cvtdb(tb);}}
\L{\LB{}\Tab{8}{sc = iexp(mult(divi(ithree,itwo ),ilog(cvtbi(t))));}}
\L{\LB{}\Tab{8}{olddeg = DEGREE;}}
\L{\LB{}\Tab{8}{DEGREE = m;}}
\L{\LB{}\Tab{8}{\K{if} (m \>= SIZE)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"Y\_AT\_0: DEGREE \%d is not possible\!n\"\SE{},m);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{pzer(p);}}
\L{\LB{}\Tab{8}{w = .5*(W.up+W.dn);}}
\L{\LB{}\Tab{8}{p[0] = 1.0, p[2] = \-w*tb;}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= DEGREE; ++i)\{}}
\L{\LB{}\Tab{16}{myprpower(p,1.5,p);}}
\L{\LB{}\Tab{16}{\K{for}(j=DEGREE; j \>= 3; \-\-j)}}
\L{\LB{}\Tab{24}{p[j] = 2.0*(sc.up+sc.dn)*p[j\-3]\/(j*(j\-2));}}
\L{\LB{}\Tab{16}{p[0] = 1.0, p[1]=zero, p[2]= \-w*tb;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{y = rs(DEGREE,b0ero,t);}}
\L{\LB{}\Tab{8}{\K{for}(i=3; i\<= DEGREE; ++i) y.p.p[i] = cvtdi(p[i]);}}
\L{\LB{}\Tab{8}{b0 = bl1nrs(y);}}
\L{\LB{}\Tab{8}{y.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{y.p.p[2] = neg(mult(W,cvtbi(t)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ithreehalfs = divi(ithree,itwo);}}
\L{\LB{}\Tab{8}{yp = rspower(y,ithreehalfs);}}
\L{\LB{}\Tab{8}{ypp = rs(DEGREE+3, b0ero, t);}}
\L{\LB{}\Tab{8}{\K{for} (i=0; i \<= DEGREE; ++i) ypp.p.p[i+3]= divi(yp.p.p[i],}}
\L{\LB{}\Tab{8}{    divi(cvtinti((i+1)*(i+3)),ifour));}}
\L{\LB{}\Tab{8}{ypp.h = umultb(yp.h,udivb(cvtintb(4),cvtintb((DEGREE+2)*(DEGREE+4))));}}
\L{\LB{}\Tab{8}{ypp = rscaf(ypp, sc);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{yp = rscopy(y);}}
\L{\LB{}\Tab{8}{ypp.p.p[0] = y.p.p[0] = izero;}}
\L{\LB{}\Tab{8}{ypp.p.p[1] = y.p.p[1] = izero;}}
\L{\LB{}\Tab{8}{ypp.p.p[2] = y.p.p[2] = izero;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{eps = bl1nrsf(rsminusf(y,ypp));}}
\L{\LB{}\Tab{8}{\K{while}(grteqb(lip0(W,t,b0),bone)) b0 = maxb(b0, cvtdb(b0.b*1.1));}}
\L{\LB{}\Tab{8}{yp.g = udivb(eps, dengeob(lip0(W,t,b0)));}}
\L{\LB{}\Tab{8}{DEGREE = olddeg;}}
\L{\LB{}\Tab{8}{\K{return}(yp);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{tfw}tfw(w, tol)}}
\L{\LB{INTERVL w;}}
\L{\LB{\K{double} tol;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{BND b;}}
\L{\LB{}\Tab{8}{INTERVL i1, i2, i3, i4, r;}}
\L{\LB{}\Tab{8}{\K{double} eps, wtest, x;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{b.b = 0.008;}}
\L{\LB{}\Tab{8}{\K{while}(w.up\-w.dn\>tol)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"\!n\!nBOUNDS FOR w:\!n\"\SE{});}}
\L{\LB{}\Tab{16}{printival(w);}}
\L{\LB{}\Tab{16}{printivalio(w);}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{wtest = .5*(w.up+w.dn);}}
\L{\LB{}\Tab{16}{vtff0(wtest, b, \&i1, \&i2);}}
\L{\LB{}\Tab{16}{r.up = b.b;}}
\L{\LB{}\Tab{16}{x = 0.0008;}}
\L{\LB{}\Tab{16}{\K{while}(i2.dn\<= 0 \&\& r.up \< 250.0)\{}}
\L{\LB{}\Tab{24}{r.dn = r.up, r.up = r.dn+x;}}
\L{\LB{}\Tab{24}{\K{if}(r.dn \< 2.104025275 }}
\L{\LB{}\Tab{24}{    \&\& r.up \> 2.104025275)}}
\L{\LB{}\Tab{32}{r.up = 2.104025275;}}
\L{\LB{}\Tab{24}{eps = supervtffx(r.dn, cvtdi(r.up), }}
\L{\LB{}\Tab{24}{    i1, i2, \&i1, \&i2);}}
\L{\LB{}}
\L{\LB{}\Tab{24}{i3 = divi(cvtinti(5),cvtinti(2));}}
\L{\LB{}\Tab{24}{i3 = iexp(mult(i3,ilog(i1)));}}
\L{\LB{}\Tab{24}{i3 = divi(i3,iexp(mult(ihalf,ilog(cvtdi(r.up)))));}}
\L{\LB{}\Tab{24}{i4 = square(i2);}}
\L{\LB{}\Tab{24}{i3 = mult(itwo,i3);}}
\L{\LB{}\Tab{24}{\K{if}(i3.up \<= i4.dn) i2.dn = 1.0;}}
\L{\LB{}}
\L{\LB{}\Tab{24}{\K{if}(eps}\Tab{32}{\> 5.e\-17) x *= 0.7;}}
\L{\LB{}\Tab{24}{\K{if}(eps}\Tab{32}{\> 5.e\-16) x *= 0.5;}}
\L{\LB{}\Tab{24}{\K{if}(eps}\Tab{32}{\< 1.e\-17) x *= 1.2;}}
\L{\LB{}\Tab{24}{x = minm(x,0.3);}}
\L{\LB{}\Tab{24}{\K{if}(r.up \> 10.0) x = minm(x,0.5);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{\K{if}(r.up \>= 250.0)\{}}
\L{\LB{}\Tab{24}{\K{return}(w);}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{\K{else} \K{if}(i3.up \<= i4.dn) w.up = wtest;}}
\L{\LB{}\Tab{16}{\K{else} w.dn = wtest;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{return}(w);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{GRS}}
\L{\LB{\Proc{tff}tff(w)}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{GRS y;}}
\L{\LB{}\Tab{8}{BND b;}}
\L{\LB{}\Tab{8}{\K{unsigned} size;}}
\L{\LB{}\Tab{8}{INTERVL i1[1000], i2[1000], i3, i4 , i5[1000], i6[1000];}}
\L{\LB{}\Tab{8}{\K{double} eps, x, r[1000];}}
\L{\LB{}\Tab{8}{\K{int} count = 0;}}
\L{\LB{}\Tab{8}{\K{int} count2 = 0;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{b.b = 0.008;}}
\L{\LB{}\Tab{8}{vtff0(w.up, b, \&i1[0], \&i2[0]);}}
\L{\LB{}\Tab{8}{vtff0(w.dn, b, \&i5[0], \&i6[0]);}}
\L{\LB{}\Tab{8}{r[count] = b.b;}}
\L{\LB{}\Tab{8}{x = 0.0008;}}
\L{\LB{}\Tab{8}{i3.up = 1.0, i4.dn = zero;}}
\L{\LB{}\Tab{8}{\K{while}(i3.up \> i4.dn \|\| i6[count].dn \< 0)\{}}
\L{\LB{}\Tab{16}{\K{if}(i3.up \<= i4.dn \|\| i6[count].dn \>= 0) ++count2;}}
\L{\LB{}\Tab{16}{r[count+1] =  r[count]+x;}}
\L{\LB{}\Tab{16}{\K{if}(r[count] \< 2.10402528 \&\& r[count+1] \> 2.10402528)}}
\L{\LB{}\Tab{24}{r[count+1]=maxm(r[count],2.10402528);}}
\L{\LB{}\Tab{16}{\K{if}(i3.up \> i4.dn )}}
\L{\LB{}\Tab{24}{eps = supervtffx(r[count], cvtdi(r[count+1]), }}
\L{\LB{}\Tab{24}{    i1[count], i2[count], \&i1[count+1], \&i2[count+1]);}}
\L{\LB{}\Tab{16}{\K{if}(i6[count].dn \< 0)}}
\L{\LB{}\Tab{24}{eps += supervtffx(r[count], cvtdi(r[count+1]), }}
\L{\LB{}\Tab{24}{    i5[count], i6[count], \&i5[count+1], \&i6[count+1]);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{++count;}}
\L{\LB{}\Tab{16}{\K{if}(i3.up \> i4.dn )\{}}
\L{\LB{}\Tab{24}{i3 = divi(cvtinti(5),cvtinti(2));}}
\L{\LB{}\Tab{24}{i3 = iexp(mult(i3,ilog(i1[count])));}}
\L{\LB{}\Tab{24}{i3 = divi(i3,iexp(mult(ihalf,ilog(cvtdi(r[count])))));}}
\L{\LB{}\Tab{24}{i4 = square(i2[count]);}}
\L{\LB{}\Tab{24}{i3 = mult(itwo,i3);}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{16}{\K{if}(eps}\Tab{24}{\> 1.e\-16) x *= 0.7;}}
\L{\LB{}\Tab{16}{\K{if}(eps}\Tab{24}{\> 1.e\-15) x *= 0.5;}}
\L{\LB{}\Tab{16}{\K{if}(eps}\Tab{24}{\< 2.e\-17) x *= 1.2;}}
\L{\LB{}\Tab{16}{x = minm(x,4.0);}}
\L{\LB{}\Tab{16}{\K{if}(r[count] \> 200.0) x = minm(x,1.0);}}
\L{\LB{}\Tab{16}{\K{if}(r[count] \< 10.0) x = minm(x,0.05);}}
\L{\LB{}\Tab{16}{\K{if}(r[count] \> 250.0) x = minm(x,0.3);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{count \-= count2;}}
\L{\LB{}\Tab{8}{y.n = count+1;}}
\L{\LB{}\Tab{8}{y.f = (RSERIES *)calloc(size=count+2,\K{sizeof}(RSERIES));}}
\L{\LB{}\Tab{8}{y.f[0] = rs(1,b0ero,bone);}}
\L{\LB{}\Tab{8}{y.f[0].p.p[0] = ione;}}
\L{\LB{}\Tab{8}{y.f[0].p.p[1] = w;}}
\L{\LB{}\Tab{8}{\K{for}(count=1; count \<= y.n; ++count)\{}}
\L{\LB{}\Tab{16}{y.f[count] = rs(1,cvtdb(r[count\-1]),bone);}}
\L{\LB{}\Tab{16}{y.f[count].p.p[0].up = i5[count\-1].up;}}
\L{\LB{}\Tab{16}{y.f[count].p.p[0].dn = i1[count\-1].dn;}}
\L{\LB{}\Tab{16}{y.f[count].p.p[1].up = i6[count\-1].up;}}
\L{\LB{}\Tab{16}{y.f[count].p.p[1].dn = i2[count\-1].dn;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{return}(y);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{GRS}}
\L{\LB{\Proc{tfrs}tfrs(y)}}
\L{\LB{GRS y;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}\Tab{8}{GRS sol;}}
\L{\LB{}\Tab{8}{\K{unsigned} size;}}
\L{\LB{}\Tab{8}{\C{}\/*char *calloc();*\/\CE{}}}
\L{\LB{}\Tab{8}{INTERVL cvtdi(), x1, x2;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol.f = (RSERIES *)calloc(size=y.n\-1,\K{sizeof}(RSERIES));}}
\L{\LB{}\Tab{8}{sol.n = y.n\-2;}}
\L{\LB{}\Tab{8}{\K{for} (i=0; i \<= sol.n; ++i)\{}}
\L{\LB{}\Tab{16}{x1 = y.f[i+1].p.p[0];}}
\L{\LB{}\Tab{16}{x2 = y.f[i+1].p.p[1];}}
\L{\LB{}\Tab{16}{sol.f[i] = vtffxi(cvtdi(y.f[i+1].center.b),}}
\L{\LB{}\Tab{16}{    cvtdi(y.f[i+2].center.b),x1,x2);}}
\L{\LB{}\Tab{16}{sol.f[i].center = y.f[i+1].center;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(sol);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{Omega}Omega(u)}}
\L{\LB{GRS u;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{int} d;}}
\L{\LB{}\Tab{8}{INTERVL ievders(), sol, derw;}}
\L{\LB{}\Tab{8}{\K{double} otest, otest1, otest2;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{sol.dn = (\K{double}) 2;}}
\L{\LB{}\Tab{8}{sol.up = (\K{double}) 3;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(;;)\{}}
\L{\LB{}\Tab{16}{otest = .5*(sol.up+sol.dn);}}
\L{\LB{}\Tab{16}{\K{if}(otest == sol.up \|\| otest == sol.dn)}}
\L{\LB{}\Tab{24}{\K{return}(sol);}}
\L{\LB{}\Tab{16}{derw = grsdereval(u,cvtdi(otest));}}
\L{\LB{}\Tab{16}{\K{if}(derw.up \<= zero) sol.up = otest;}}
\L{\LB{}\Tab{16}{\K{else} \K{if}(derw.dn \>= zero) sol.dn = otest;}}
\L{\LB{}\Tab{16}{\K{else} }}
\L{\LB{}\Tab{16}{\{}}
\L{\LB{}\Tab{24}{otest1 = otest;}}
\L{\LB{}\Tab{24}{d = 1;}}
\L{\LB{}\Tab{24}{\K{while}(d )\{}}
\L{\LB{}\Tab{32}{otest2 = .5*(otest+sol.up);}}
\L{\LB{}\Tab{32}{\K{if}(otest2 == otest \|\| otest2 == sol.up)d = 0;}}
\L{\LB{}\Tab{32}{derw = grsdereval(u,cvtdi(otest2));}}
\L{\LB{}\Tab{32}{\K{if}(derw.up \<= zero ) sol.up = otest2;}}
\L{\LB{}\Tab{32}{\K{else} otest = otest2; }}
\L{\LB{}\Tab{24}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{24}{otest = otest1;}}
\L{\LB{}\Tab{24}{d = 1;}}
\L{\LB{}\Tab{24}{\K{while}(d )\{}}
\L{\LB{}\Tab{32}{otest2 = .5*(otest+sol.dn);}}
\L{\LB{}\Tab{32}{\K{if}(otest2 == otest \|\| otest2 == sol.dn)d = 0;}}
\L{\LB{}\Tab{32}{derw = grsdereval(u,cvtdi(otest2));}}
\L{\LB{}\Tab{32}{\K{if}(derw.up \>= zero ) sol.dn = otest2;}}
\L{\LB{}\Tab{32}{\K{else} otest = otest2; }}
\L{\LB{}\Tab{24}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{24}{\K{return}(sol);}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\K{void} }}
\L{\LB{\Proc{tfprint}tfprint()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{GRS grstimesx();}}
\L{\LB{}\Tab{8}{INTERVL  grseval();}}
\L{\LB{}}
\L{\LB{}\Tab{8}{printivalio(W);}}
\L{\LB{}\Tab{8}{printivalio(C1);}}
\L{\LB{}\Tab{8}{Y = tff(W);}}
\L{\LB{}\Tab{8}{printgrsio(Y);}}
\L{\LB{}\Tab{8}{fflush(stdout);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{YRS = tfrs(Y);}}
\L{\LB{}\Tab{8}{printgrsio(YRS);}}
\L{\LB{}\Tab{8}{fflush(stdout);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{U = grstimesx(YRS);}}
\L{\LB{}\Tab{8}{printgrsio(U);}}
\L{\LB{}\Tab{8}{printivalio(RC = Omega(U));}}
\L{\LB{}\Tab{8}{fflush(stdout);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{printivalio(BC = grseval(U,RC));}}
\L{\LB{}\Tab{8}{fflush(stdout);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\K{void} }}
\L{\LB{\Proc{tfread}tfread()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{W = readivalio();}}
\L{\LB{}\Tab{8}{C1 = readivalio();}}
\L{\LB{}\Tab{8}{Y = readgrsio();}}
\L{\LB{}\Tab{8}{YRS = readgrsio();}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= YRS.n; ++i)YRS.f[i].k = 2;}}
\L{\LB{}\Tab{8}{U = readgrsio();}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= U.n; ++i)U.f[i].k = 2;}}
\L{\LB{}\Tab{8}{RC = readivalio();}}
\L{\LB{}\Tab{8}{BC = readivalio();}}
\L{\LB{}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{r0}r0(w)}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL r, i1, cvtdi(), grseval(), w2, square();}}
\L{\LB{}\Tab{8}{\K{double} rtest, rtest1, rtest2;}}
\L{\LB{}\Tab{8}{\K{int} d;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{w2 = square(w);}}
\L{\LB{}\Tab{8}{r = cvtbi(uplusb(U.f[0].center,negb(U.f[0].r)));}}
\L{\LB{}\Tab{8}{i1 = rseval(U.f[0],r);}}
\L{\LB{}\Tab{8}{\K{if}(i1.up \>= w2.dn)\{}}
\L{\LB{}\Tab{16}{r.dn = (\K{double}) 0;}}
\L{\LB{}\Tab{16}{d = \-1;}}
\L{\LB{}\Tab{16}{\K{while}(i1.dn \< w2.up)\{}}
\L{\LB{}\Tab{24}{++d;}}
\L{\LB{}\Tab{24}{i1 = U.f[d].p.p[0];}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{d = maxm(d,0);}}
\L{\LB{}\Tab{16}{r.up = U.f[d].center.b;}}
\L{\LB{}\Tab{16}{\K{return}(r);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{r.up = RC.up;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(;;)\{}}
\L{\LB{}\Tab{16}{rtest = .5*(r.dn+r.up);}}
\L{\LB{}\Tab{16}{i1 = grseval(U,cvtdi(rtest));}}
\L{\LB{}\Tab{16}{\K{if}(i1.dn \>= w2.up ) r.up = rtest;}}
\L{\LB{}\Tab{16}{\K{else} \K{if}(i1.up \<= w2.dn ) r.dn = rtest;}}
\L{\LB{}\Tab{16}{\K{else} }}
\L{\LB{}\Tab{16}{\{}}
\L{\LB{}\Tab{24}{rtest1 = rtest;}}
\L{\LB{}\Tab{24}{d = 1;}}
\L{\LB{}\Tab{24}{\K{while}(d )\{}}
\L{\LB{}\Tab{32}{rtest2 = .5*(rtest+r.up);}}
\L{\LB{}\Tab{32}{\K{if}(rtest2 == rtest \|\| rtest2 == r.up)d = 0;}}
\L{\LB{}\Tab{32}{i1 = grseval(U,cvtdi(rtest2));}}
\L{\LB{}\Tab{32}{\K{if}(i1.dn \>= w2.up ) r.up = rtest2;}}
\L{\LB{}\Tab{32}{\K{else} rtest = rtest2; }}
\L{\LB{}\Tab{24}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{24}{rtest = rtest1;}}
\L{\LB{}\Tab{24}{d = 1;}}
\L{\LB{}\Tab{24}{\K{while}(d )\{}}
\L{\LB{}\Tab{32}{rtest2 = .5*(rtest+r.dn);}}
\L{\LB{}\Tab{32}{\K{if}(rtest2 == rtest \|\| rtest2 == r.dn)d = 0;}}
\L{\LB{}\Tab{32}{i1 = grseval(U,cvtdi(rtest2));}}
\L{\LB{}\Tab{32}{\K{if}(i1.up \<= w2.dn ) r.dn = rtest2;}}
\L{\LB{}\Tab{32}{\K{else} rtest = rtest2; }}
\L{\LB{}\Tab{24}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{24}{\K{if}(r.dn \<= r.up)\K{return}(r);}}
\L{\LB{}\Tab{24}{\K{else} abort();}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{INTERVL}}
\L{\LB{\Proc{r1}r1(w)}}
\L{\LB{INTERVL w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL r, i1, cvtdi(), grseval(), w2, square();}}
\L{\LB{}\Tab{8}{\K{double} rtest, rtest1, rtest2;}}
\L{\LB{}\Tab{8}{\K{int} d;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{w2 = square(w);}}
\L{\LB{}\Tab{8}{r = cvtbi(lplusb(U.f[U.n].center,U.f[U.n].r));}}
\L{\LB{}\Tab{8}{i1 = rseval(U.f[U.n],r);}}
\L{\LB{}\Tab{8}{\K{if}(i1.up \>= w2.dn)\{}}
\L{\LB{}\Tab{16}{r.up = 1.e15;}}
\L{\LB{}\Tab{16}{d = U.n+1;}}
\L{\LB{}\Tab{16}{\K{while}(i1.dn \< w2.up)\{}}
\L{\LB{}\Tab{24}{\-\-d;}}
\L{\LB{}\Tab{24}{i1 = U.f[d].p.p[0];}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{16}{d = minm(d,U.n);}}
\L{\LB{}\Tab{16}{r.dn = U.f[d].center.b;}}
\L{\LB{}\Tab{16}{\K{return}(r);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{r.dn = RC.dn;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{for}(;;)\{}}
\L{\LB{}\Tab{16}{rtest = 0.5*(r.up+r.dn);}}
\L{\LB{}\Tab{16}{i1 = grseval(U,cvtdi(rtest));}}
\L{\LB{}\Tab{16}{\K{if}(i1.dn \>= w2.up ) r.dn = rtest;}}
\L{\LB{}\Tab{16}{\K{else} \K{if}(i1.up \<= w2.dn ) r.up = rtest;}}
\L{\LB{}\Tab{16}{\K{else} \{}}
\L{\LB{}\Tab{24}{rtest1 = rtest;}}
\L{\LB{}\Tab{24}{d = 1;}}
\L{\LB{}\Tab{24}{\K{while}( d )\{}}
\L{\LB{}\Tab{32}{rtest2 = .5*(rtest+r.up);}}
\L{\LB{}\Tab{32}{\K{if}(rtest2 == rtest \|\| rtest2 == r.up) d = 0;}}
\L{\LB{}\Tab{32}{i1 = grseval(U,cvtdi(rtest2));}}
\L{\LB{}\Tab{32}{\K{if}(i1.up \<= w2.dn ) r.up = rtest2;}}
\L{\LB{}\Tab{32}{\K{else} rtest = rtest2; }}
\L{\LB{}\Tab{24}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{24}{rtest = rtest1;}}
\L{\LB{}\Tab{24}{d = 1;}}
\L{\LB{}\Tab{24}{\K{while}(d )\{}}
\L{\LB{}\Tab{32}{rtest2 = .5*(rtest+r.dn);}}
\L{\LB{}\Tab{32}{\K{if}(rtest2 == rtest \|\| rtest2 == r.dn)d = 0;}}
\L{\LB{}\Tab{32}{i1 = grseval(U,cvtdi(rtest2));}}
\L{\LB{}\Tab{32}{\K{if}(i1.dn \>= w2.up ) r.dn = rtest2;}}
\L{\LB{}\Tab{32}{\K{else} rtest = rtest2; }}
\L{\LB{}\Tab{24}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{24}{\K{if}(r.dn \<= r.up)\K{return}(r);}}
\L{\LB{}\Tab{24}{\K{else} abort();}}
\L{\LB{}\Tab{16}{\}}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{\Proc{vtfinf}vtfinf(a0, t, y0, y1)}}
\L{\LB{\K{double} t, a0;}}
\L{\LB{INTERVL *y0, *y1;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES y, yp, ypp;}}
\L{\LB{}\Tab{8}{INTERVL i1, ithreehalfs;}}
\L{\LB{}\Tab{8}{BND eps, b0;}}
\L{\LB{}\Tab{8}{\K{double} pnorm(), pw[SIZE], p[SIZE], alpha;}}
\L{\LB{}\Tab{8}{\K{int} i, j, olddeg;}}
\L{\LB{}\Tab{8}{alpha = (sqrt(73.0)\-7)\/2.0;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{olddeg = DEGREE;}}
\L{\LB{}\Tab{8}{DEGREE = SIZE\-1;}}
\L{\LB{}\Tab{8}{pzer(p);}}
\L{\LB{}\Tab{8}{p[0] = 1.0;}}
\L{\LB{}\Tab{8}{p[1] = \-a0*exp(log(t)*(\-alpha));}}
\L{\LB{}\Tab{8}{eps.b = 1.0;}}
\L{\LB{}\Tab{8}{\K{while}(eps.b \> 1.e\-15)\{}}
\L{\LB{}\Tab{16}{pcopy(p, pw);}}
\L{\LB{}\Tab{16}{myprpower(p, 1.5, p);}}
\L{\LB{}\Tab{16}{\K{for}(j=DEGREE; j \>= 2; \-\-j)}}
\L{\LB{}\Tab{24}{p[j] = 12.0*p[j]\/((3.0+j*alpha)*(4.0+j*alpha));}}
\L{\LB{}\Tab{16}{p[0] = 1.0;}}
\L{\LB{}\Tab{16}{p[1] = \-a0*exp(log(t)*(\-alpha));}}
\L{\LB{}\Tab{16}{psub(p, pw, pw);}}
\L{\LB{}\Tab{16}{eps.b = pnorm(pw);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{y = rs(DEGREE,b0ero,bone);}}
\L{\LB{}\Tab{8}{\K{for}(i=2; i\<= DEGREE; ++i) y.p.p[i] = cvtdi(p[i]);}}
\L{\LB{}\Tab{8}{b0 = bl1nrs(y);}}
\L{\LB{}\Tab{8}{y.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{y.p.p[1] = divi(cvtdi(\-a0),iexp(mult(ilog(cvtdi(t)),ALPHA)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(grtb(b0,lcvtib(ration(3,10))))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"VTINF: condition 1 is WRONG\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{if}(grtb(uabs(y.p.p[1]),lcvtib(ration(23,100))))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"VTINF: condition 2 is WRONG\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ithreehalfs = divi(ithree,itwo);}}
\L{\LB{}\Tab{8}{yp = rspower(y,ithreehalfs);}}
\L{\LB{}\Tab{8}{ypp = rs(DEGREE, b0ero, bone);}}
\L{\LB{}\Tab{8}{\K{for} (i=2; i \<= DEGREE; ++i)\{}}
\L{\LB{}\Tab{16}{i1 = plus(ithree,mult(cvtinti(i),ALPHA));}}
\L{\LB{}\Tab{16}{i1 = divi(mult(i1,plus(i1,ione)),cvtinti(12));}}
\L{\LB{}\Tab{16}{ypp.p.p[i]= divi(yp.p.p[i],i1);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{ypp.p.p[0]= y.p.p[0];}}
\L{\LB{}\Tab{8}{ypp.p.p[1]= y.p.p[1];}}
\L{\LB{}\Tab{8}{j = DEGREE+1;}}
\L{\LB{}\Tab{8}{i1 = plus(ithree,mult(cvtinti(j),ALPHA));}}
\L{\LB{}\Tab{8}{i1 = divi(cvtinti(12),mult(i1,plus(i1,ione)));}}
\L{\LB{}\Tab{8}{ypp.h = umultb(yp.h,ucvtib(i1));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{eps = bl1nrsf(rsminus(y,ypp));}}
\L{\LB{}\Tab{8}{y.g = umultb(ucvtib(ration(75,10)),eps);}}
\L{\LB{}\Tab{8}{*y0 = izero, *y1 = izero;}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i\<=y.p.deg; ++i)\{}}
\L{\LB{}\Tab{16}{*y0 = plus(*y0,y.p.p[i]);}}
\L{\LB{}\Tab{16}{i1 = plus(ifour,mult(cvtinti(i),ALPHA));}}
\L{\LB{}\Tab{16}{*y1 = plus(*y1,divi(yp.p.p[i],neg(i1)));}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{i1 = mult(cvtinti(144),iexp(mult(ilog(cvtdi(t)),neg(ithree))));}}
\L{\LB{}\Tab{8}{*y0 = ienlarge(*y0,uplusb(y.g,y.h));}}
\L{\LB{}\Tab{8}{*y0 = mult(*y0,i1);}}
\L{\LB{}\Tab{8}{ypp = rspower(y,ithreehalfs);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i1 = plus(ifour,mult(itwo,ALPHA));}}
\L{\LB{}\Tab{8}{*y1 = ienlarge(*y1,uplusb(udivb(ypp.g,lcvtib(i1)),}}
\L{\LB{}\Tab{8}{    udivb(ypp.h,lplusb(bfour,lmultb(cvtintb(y.p.deg+1),}}
\L{\LB{}\Tab{8}{    lcvtib(ALPHA))))));}}
\L{\LB{}\Tab{8}{i1 = mult(cvtinti(1728),iexp(mult(ilog(cvtdi(t)),neg(ifour))));}}
\L{\LB{}\Tab{8}{*y1 = mult(*y1,i1);}}
\L{\LB{}\Tab{8}{DEGREE = olddeg;}}
\L{\LB{}\Tab{8}{freep(y.p), freep(yp.p), freep(ypp.p);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\Proc{tfc1}tfc1(c)}}
\L{\LB{\K{double} c;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL i1, i2, i3, i4, i6, i5;}}
\L{\LB{}\Tab{8}{\K{double} xin, eps;}}
\L{\LB{}\Tab{8}{\K{int} i, j;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i = Y.n\-1;}}
\L{\LB{}\Tab{8}{;}}
\L{\LB{}\Tab{8}{vtfinf(c, Y.f[i].center.b, \&i5, \&i6);}}
\L{\LB{}\Tab{8}{i1 = i5;}}
\L{\LB{}\Tab{8}{i2 = i6;}}
\L{\LB{}\Tab{8}{\K{for}(j=i; j\>=2; \-\-j)\{}}
\L{\LB{}\Tab{16}{xin = Y.f[j].center.b;}}
\L{\LB{}\Tab{16}{eps = supervtffx(xin, cvtdi(Y.f[j\-1].center.b), i1, i2, \&i1, \&i2);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{i3 = Y.f[j\-1].p.p[0];}}
\L{\LB{}\Tab{16}{i4 = Y.f[j\-1].p.p[1];}}
\L{\LB{}\Tab{16}{\K{if}(i1.up \<= i3.dn) \K{return}(\-1);}}
\L{\LB{}\Tab{16}{\K{if}(i2.dn \>= i4.up) \K{return}(\-1);}}
\L{\LB{}\Tab{16}{\K{if}(i1.dn \>= i3.up) \K{return}(1);}}
\L{\LB{}\Tab{16}{\K{if}(i2.up \<= i4.dn) \K{return}(1);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{return}(0);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\Proc{getc1}getc1()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{double} ctest;}}
\L{\LB{}\Tab{8}{\K{double} t = 0.05;}}
\L{\LB{}\Tab{8}{\K{int} k = 1;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{while}(k ==1 \|\| k == \-1)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"BOUNDS for C1\!n\"\SE{});}}
\L{\LB{}\Tab{16}{printival(C1);}}
\L{\LB{}\Tab{16}{printivalio(C1);}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{ctest = t*C1.up+(1.0\-t)*C1.dn;}}
\L{\LB{}\Tab{16}{k =  tfc1(ctest);}}
\L{\LB{}\Tab{16}{\K{if}(k == 1) C1.dn = ctest;}}
\L{\LB{}\Tab{16}{\K{if}(k == \-1) C1.up = ctest;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\Proc{refiney}refiney()}}
\L{\LB{\{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{INTERVL i1, i2, i3, i4, i6, i5;}}
\L{\LB{}\Tab{8}{INTERVL cvtdi(), intersect();}}
\L{\LB{}\Tab{8}{\K{double} xin, eps;}}
\L{\LB{}\Tab{8}{\K{int} i, j;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{i = Y.n;}}
\L{\LB{}\Tab{8}{vtfinf(C1.up, Y.f[i].center.b, \&i5, \&i6);}}
\L{\LB{}\Tab{8}{vtfinf(C1.dn, Y.f[i].center.b, \&i3, \&i4);}}
\L{\LB{}\Tab{8}{i1.up =  i3.up;}}
\L{\LB{}\Tab{8}{i1.dn =  i5.dn;}}
\L{\LB{}\Tab{8}{i2.dn =  i4.dn;}}
\L{\LB{}\Tab{8}{i2.up =  i6.up;}}
\L{\LB{}\Tab{8}{i5 = Y.f[i].p.p[0];}}
\L{\LB{}\Tab{8}{i6 = Y.f[i].p.p[1];}}
\L{\LB{}\Tab{8}{Y.f[i].p.p[0] = intersect(i1,i5);}}
\L{\LB{}\Tab{8}{Y.f[i].p.p[1] = intersect(i2,i6);}}
\L{\LB{}\Tab{8}{\K{for}(j=i; j\>=2; \-\-j)\{}}
\L{\LB{}\Tab{16}{xin = Y.f[j].center.b;}}
\L{\LB{}\Tab{16}{eps = supervtffx(xin, cvtdi(Y.f[j\-1].center.b), i1, i2, \&i1, \&i2);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{i3 = Y.f[j\-1].p.p[0];}}
\L{\LB{}\Tab{16}{i4 = Y.f[j\-1].p.p[1];}}
\L{\LB{}\Tab{16}{Y.f[j\-1].p.p[0] = intersect(i1,i3);}}
\L{\LB{}\Tab{16}{Y.f[j\-1].p.p[1] = intersect(i2,i4);}}
\L{\LB{}\Tab{16}{i1 = Y.f[j\-1].p.p[0];}}
\L{\LB{}\Tab{16}{i2 = Y.f[j\-1].p.p[1];}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{\Proc{refine\_numbers}refine\_numbers()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{printivalio(W);}}
\L{\LB{}\Tab{8}{printivalio(C1);}}
\L{\LB{}\Tab{8}{refiney();}}
\L{\LB{}\Tab{8}{printgrsio(Y);}}
\L{\LB{}\Tab{8}{fflush(stdout);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{YRS = tfrs(Y);}}
\L{\LB{}\Tab{8}{printgrsio(YRS);}}
\L{\LB{}\Tab{8}{fflush(stdout);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{U = grstimesx(YRS);}}
\L{\LB{}\Tab{8}{printgrsio(U);}}
\L{\LB{}\Tab{8}{printivalio(RC = Omega(U));}}
\L{\LB{}\Tab{8}{fflush(stdout);}}
\L{\LB{}\Tab{8}{printivalio(BC = grseval(U,RC));}}
\L{\LB{}\Tab{8}{fflush(stdout);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\Proc{tfw2}tfw2(w)}}
\L{\LB{\K{double} w;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL i1, i2, i3, i4, i6, i5;}}
\L{\LB{}\Tab{8}{INTERVL cvtdi();}}
\L{\LB{}\Tab{8}{\K{double} xin, xout, eps;}}
\L{\LB{}\Tab{8}{\K{int} j;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{vtff0(w, Y.f[1].center, \&i5, \&i6);}}
\L{\LB{}\Tab{8}{i1 = i5;}}
\L{\LB{}\Tab{8}{i2 = i6;}}
\L{\LB{}\Tab{8}{\K{for}(j=1; j\<=Y.n\-1; ++j)\{}}
\L{\LB{}\Tab{16}{xin = Y.f[j].center.b;}}
\L{\LB{}\Tab{16}{xout = Y.f[j+1].center.b;}}
\L{\LB{}}
\L{\LB{}\Tab{16}{eps = supervtffx(xin, cvtdi(xout), i1, i2, \&i1, \&i2);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{i3 = Y.f[j+1].p.p[0];}}
\L{\LB{}\Tab{16}{i4 = Y.f[j+1].p.p[1];}}
\L{\LB{}\Tab{16}{\K{if}(i1.up \<= i3.dn) \K{return}(\-1);}}
\L{\LB{}\Tab{16}{\K{if}(i2.dn \>= i4.up) \K{return}(1);}}
\L{\LB{}\Tab{16}{\K{if}(i1.dn \>= i3.up) \K{return}(1);}}
\L{\LB{}\Tab{16}{\K{if}(i2.up \<= i4.dn) \K{return}(\-1);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{return}(0);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\Proc{mygetw}mygetw()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{double} wtest;}}
\L{\LB{}\Tab{8}{\K{double} t = .05;}}
\L{\LB{}\Tab{8}{\K{int} k = 1;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{while}(k ==1 \|\| k == \-1)\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"BOUNDS for W\!n\"\SE{});}}
\L{\LB{}\Tab{16}{printival(W);}}
\L{\LB{}\Tab{16}{printivalio(W);}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}}
\L{\LB{}\Tab{16}{wtest = t*W.up + (1\-t)*W.dn;}}
\L{\LB{}\Tab{16}{k =  tfw2(wtest);}}
\L{\LB{}\Tab{16}{\K{if}(k == 1) W.dn = wtest;}}
\L{\LB{}\Tab{16}{\K{if}(k == \-1) W.up = wtest;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{\Proc{refineY}refineY()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{INTERVL i1, i2, i3, i4, i5, i6;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{vtff0(W.up, Y.f[1].center, \&i1, \&i2);}}
\L{\LB{}\Tab{8}{vtff0(W.dn, Y.f[1].center, \&i5, \&i6);}}
\L{\LB{}\Tab{8}{Y.f[1].p.p[0] = iunion(i1,i5);}}
\L{\LB{}\Tab{8}{Y.f[1].p.p[1] = iunion(i2,i6);}}
\L{\LB{}\Tab{8}{\K{for}(i=1; i \<= Y.n\-1; ++i)\{}}
\L{\LB{}\Tab{16}{i1 = Y.f[i].p.p[0];}}
\L{\LB{}\Tab{16}{i2 = Y.f[i].p.p[1];}}
\L{\LB{}\Tab{16}{supervtffx(Y.f[i].center.b, cvtbi(Y.f[i+1].center),}}
\L{\LB{}\Tab{16}{    i1,i2,\&i3,\&i4);}}
\L{\LB{}\Tab{16}{i1 = Y.f[i+1].p.p[0];}}
\L{\LB{}\Tab{16}{i2 = Y.f[i+1].p.p[1];}}
\L{\LB{}\Tab{16}{Y.f[i+1].p.p[0] = intersect(i1,i3);}}
\L{\LB{}\Tab{16}{Y.f[i+1].p.p[1] = intersect(i2,i4);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{RSERIES}}
\L{\LB{\Proc{rstfu2}rstfu2(x,r,y)}}
\L{\LB{INTERVL  x;}}
\L{\LB{\K{double} r;}}
\L{\LB{RSERIES  *y;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{\K{int} j;}}
\L{\LB{}\Tab{8}{INTERVL u0, u1, a;}}
\L{\LB{}\Tab{8}{RSERIES  u;}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}\Tab{8}{a = plus(x,cvtdi(r));}}
\L{\LB{}\Tab{8}{u0 = grseval(YRS,x);}}
\L{\LB{}\Tab{8}{u1 = grsdereval(YRS,x);}}
\L{\LB{}\Tab{8}{*y = vtffxi2( x , a, u0, u1);}}
\L{\LB{}}
\L{\LB{}\Tab{8}{u = rs(y\-\>p.deg, b0ero, y\-\>r);}}
\L{\LB{}\Tab{8}{\K{for}(j = y\-\>p.deg; j\>=1; \-\-j)}}
\L{\LB{}\Tab{16}{u.p.p[j] = plus(mult(y\-\>p.p[j],x),}}
\L{\LB{}\Tab{16}{    mult(y\-\>p.p[j\-1],cvtbi(y\-\>r)));}}
\L{\LB{}\Tab{8}{u.p.p[0] = mult(y\-\>p.p[0] ,x);}}
\L{\LB{}\Tab{8}{u.h = umultb(y\-\>h,uplusb(uabs(x) ,y\-\>r));}}
\L{\LB{}\Tab{8}{u.h = uplusb(u.h,umultb(uabs(y\-\>p.p[y\-\>p.deg]),y\-\>r));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{return}(u);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{RSERIES}}
\L{\LB{\Proc{yinf}yinf(t, m)}}
\L{\LB{\K{double} t;}}
\L{\LB{\K{int} m;}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{RSERIES y, yp, ypp;}}
\L{\LB{}\Tab{8}{INTERVL i1, ithreehalfs;}}
\L{\LB{}\Tab{8}{BND eps, b0;}}
\L{\LB{}\Tab{8}{\K{double} pnorm(), pw[SIZE], p[SIZE], alpha;}}
\L{\LB{}\Tab{8}{\K{int} i, j, olddeg;}}
\L{\LB{}\Tab{8}{alpha = (sqrt(73.0)\-7)\/2.0;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{olddeg = DEGREE;}}
\L{\LB{}\Tab{8}{DEGREE = m;}}
\L{\LB{}\Tab{8}{pzer(p);}}
\L{\LB{}\Tab{8}{p[0] = 1.0;}}
\L{\LB{}\Tab{8}{p[1] = \-(C1.up+C1.dn)*.5*exp(log(t)*(\-alpha));}}
\L{\LB{}\Tab{8}{eps.b = 1.0;}}
\L{\LB{}\Tab{8}{\K{while}(eps.b \> 1.e\-15)\{}}
\L{\LB{}\Tab{16}{pcopy(p, pw);}}
\L{\LB{}\Tab{16}{myprpower(p, 1.5, p);}}
\L{\LB{}\Tab{16}{\K{for}(j=DEGREE; j \>= 2; \-\-j)}}
\L{\LB{}\Tab{24}{p[j] = 12.0*p[j]\/((3.0+j*alpha)*(4.0+j*alpha));}}
\L{\LB{}\Tab{16}{p[0] = 1.0;}}
\L{\LB{}\Tab{16}{p[1] = \-(C1.up+C1.dn)*.5*exp(log(t)*(\-alpha));}}
\L{\LB{}\Tab{16}{psub(p, pw, pw);}}
\L{\LB{}\Tab{16}{eps.b = pnorm(pw);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{y = rs(DEGREE,b0ero,bone);}}
\L{\LB{}\Tab{8}{\K{for}(i=2; i\<= DEGREE; ++i) y.p.p[i] = cvtdi(p[i]);}}
\L{\LB{}\Tab{8}{b0 = bl1nrs(y);}}
\L{\LB{}\Tab{8}{y.p.p[0] = ione;}}
\L{\LB{}\Tab{8}{y.p.p[1] = divi(neg(C1),iexp(mult(ilog(cvtdi(t)),ALPHA)));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{\K{if}(grtb(b0,lcvtib(ration(3,10))))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"YINF: condition 1 is WRONG\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{if}(grtb(uabs(y.p.p[1]),lcvtib(ration(23,100))))\{}}
\L{\LB{}\Tab{16}{printf(\S{}\"YINF: condition 2 is WRONG\!n\"\SE{});}}
\L{\LB{}\Tab{16}{fflush(stdout);}}
\L{\LB{}\Tab{16}{abort();}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{ithreehalfs = divi(ithree,itwo);}}
\L{\LB{}\Tab{8}{yp = rspower(y,ithreehalfs);}}
\L{\LB{}\Tab{8}{ypp = rs(DEGREE, b0ero, bone);}}
\L{\LB{}\Tab{8}{\K{for} (i=2; i \<= DEGREE; ++i)\{}}
\L{\LB{}\Tab{16}{i1 = plus(ithree,mult(cvtinti(i),ALPHA));}}
\L{\LB{}\Tab{16}{i1 = divi(mult(i1,plus(i1,ione)),cvtinti(12));}}
\L{\LB{}\Tab{16}{ypp.p.p[i]= divi(yp.p.p[i],i1);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{ypp.p.p[0]= y.p.p[0];}}
\L{\LB{}\Tab{8}{ypp.p.p[1]= y.p.p[1];}}
\L{\LB{}\Tab{8}{j = DEGREE+1;}}
\L{\LB{}\Tab{8}{i1 = plus(ithree,mult(cvtinti(j),ALPHA));}}
\L{\LB{}\Tab{8}{i1 = divi(cvtinti(12),mult(i1,plus(i1,ione)));}}
\L{\LB{}\Tab{8}{ypp.h = umultb(yp.h,ucvtib(i1));}}
\L{\LB{}}
\L{\LB{}\Tab{8}{eps = bl1nrsf(rsminus(y,ypp));}}
\L{\LB{}\Tab{8}{y.g = umultb(ucvtib(ration(75,10)),eps);}}
\L{\LB{}\Tab{8}{y.k = 2;}}
\L{\LB{}\Tab{8}{DEGREE = olddeg;}}
\L{\LB{}\Tab{8}{freep(yp.p), freep(ypp.p);}}
\L{\LB{}\Tab{8}{\K{return}(y);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{GRS}}
\L{\LB{\Proc{expandY}expandY()}}
\L{\LB{\{}}
\L{\LB{}\Tab{8}{GRS newy;}}
\L{\LB{}\Tab{8}{\K{double} step;}}
\L{\LB{}\Tab{8}{\K{int} i;}}
\L{\LB{}\Tab{8}{INTERVL i1;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{step = Y.f[Y.n].center.b\-Y.f[Y.n\-1].center.b;}}
\L{\LB{}\Tab{8}{\K{if}(step \> 0.5) step = 0.5;}}
\L{\LB{}\Tab{8}{i = (322.0\-Y.f[Y.n].center.b)\/step;}}
\L{\LB{}}
\L{\LB{}\Tab{8}{newy = grs(i+Y.n);}}
\L{\LB{}\Tab{8}{\K{for}(i=0; i \<= Y.n; ++i)\{}}
\L{\LB{}\Tab{16}{newy.f[i] = rscopy(Y.f[i]);}}
\L{\LB{}\Tab{16}{freep(Y.f[n].p);}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}\Tab{8}{\K{for}(i=Y.n+1; i \<= newy.n; ++i)\{}}
\L{\LB{}\Tab{16}{newy.f[i] = rs(1, cvtdb(newy.f[i\-1].center.b+step),bone);}}
\L{\LB{}\Tab{16}{i1.up = zero;}}
\L{\LB{}\Tab{16}{i1.dn = (\K{double}) \-2;}}
\L{\LB{}\Tab{16}{newy.f[i].p.p[1] = i1;}}
\L{\LB{}\Tab{16}{i1.dn = zero;}}
\L{\LB{}\Tab{16}{i1.up = one;}}
\L{\LB{}\Tab{16}{newy.f[i].p.p[0] = i1;}}
\L{\LB{}\Tab{8}{\}}}
\L{\LB{}}
\L{\LB{}\Tab{8}{free((\K{char} *)Y.f), Y.f = NULL;}}
\L{\LB{}\Tab{8}{\K{return}(newy);}}
\L{\LB{\}}}
\L{\LB{}}
\L{\LB{}}
\L{\LB{}}
\vfill\eject\end

