W?#<> rat1.lisp by nil on WINDSOME at 2005/12/5 20:43:03\ using 7.0 [Windows] (Oct 20, 2004 22:05).\ Optimization settings at wfasl time:\ ((safety 0) (space 0) (speed 3) (compilation-speed 0) (debug 0)) *)"7.0 [Windows] (Oct 20, 2004 22:05)CAg7709<*source-pathname* pathname rat1lisp unspecific  rat1.lisp  /UV$VFɋuÐ 0+ @ rat1.lispLN<top-level-form <QAg7710@<poly require / UV$F^׋ɋuÐ 0+ @top-level-form <LN<<QAg7711@<rat1 provide / UV$F^׋ɋuÐ 0+ @<<QAg7712<optimize speed safety space compilation-speed compiler-proclaim / UV$F^׋ɋuÐ 0+ @<top-level-form <= QAg7713@<ma internal-in-package / UV$F׋^W'ɋu 0+ @<top-level-form < QAg7714@<ma*rat-gcd-level* .globally-special.  ce-putprop gcd />UV,FWƒ vRP^׋F3AWc;Gu VFɋu 0+ @top-level-form <h LN<< QAg7715 @*rat-gcd-level* variable LN< !!< record-source-file-1 /$UV,FV vRP^׋ɋu 0+ @< < QAg7716 < /uÐ 0(+ < < QAg7717 < *expand* .globally-special.  ce-putprop /:UV,FWƒ vRP^׋F3AWc;GuVWɋu 0+ @top-level-form < LN< <QAg7718@*expand* variable LN<!!<record-source-file-1 /$UV,FV vRP^׋ɋu 0+ @<<QAg7719</uÐ 0(+ <<Qmake-fpe gaexpt  fpe-insert /J%UV,tȀuHpu^W'3ҲW+gCwvRP^ɋu 0+ @poly2rat >= make-fpe  numerator  denominator make-rat -  make-good-rat /~?UVDE‰E3ҋ^W';t7EU^W'E؋׋FW+U؉EԋFuv"RP^&ɋuËFW+E܋E^*׋ЋE^W'ЋEɋ^.g' 0+ @fpe-copy  copy-tree /^ 0(+ @ fpe-expand *expand* p^ p* /b1UVwǃ8EG‹V]3WGjE)]SBR^W'ЋE^W'E][];}uҋEr3AW;ɋuÐ + @Apcompare e + l /^UVD][[];ugCE@ZUS^W']܉E؋W?M;Nu-]SCUԋ]SR^W'ЋEW+]SgC]Q Y;Vu EUgCUBsẺEЋREű3ɱVЋEW+Eɋu 0 + @Aexpt * /bUVD][[;uɋuËPEBtȀu[HpuPQ qEY]]SBR^W'ЋE܋^W']RW?]sEЋ]Cuɋ3AfsE؋UBsẺEԋBű3AVЋEԋuɋ3ɱf 0 + @fpe-norm lexically-visible-function <!</QUVdEQMMY^CEGEԉ]؋^CEGEĉ]ȉ}3۳]QMMY}}Mى]̍]҉]Mى]܍]]uEEu3AVEE3ҲW+UW+ɋu 0+ @labels fpe-norm  fn1-insert LN!!fn1 LN!!<<<<W@ fpe-coef-p / @;uGuË 0(+ @ fpe-coefone-p /"X;tuË@XuG 0(+ @fpe-coefzero-p / @XuGuÐ 0(+ @Apcompare e + l /qUV<][[;uQ YSW+gCEQ Y]]SR^W']E܋RW?M;Nu4]SBUE؋BSR^W'ЋEW+]SgC]Q QY;VuQ YSW+UgCUBsEЉEԋBuЋ3AVЋEgC 0 + @ fpe-insert lexically-visible-function <= make-fpe expt *  monomialp - > 1- *expand* 1+  polyshift / UVEMQxMYQpxYt]p]̃]]^CEGE]QpxY|QxMY}Mى]]]ptˀu'Kpupu)EɋuÉ}|t3ҋ^W';tEۋpu23^3ҲW';}u];}uEEu3AV랋]SBEpt^W'ЋE^"W'3ҲW+]SW+`p^&;tpC3Ҳ^*W'^.3ҲW';uJpEȋpIE3 ][];}u^2׋]ȋ\'pEċpIE3 ][];}u^2׋]ċ\tE܉]؋pC3҃ jRP3ɱEpC3Ҳ^*W't^"W'ЋE uRP3ɱEE؋U܃uuRP3ɱe!N6YOf;K}\[;Op[=pC3Ҳ ^.W';"p[3۳ Eԋ^:׋؋pT]ԃt⋝pC3҃ jRP3ɱEtEEԋ^2׋ЋE^"W'EpEEԋ^2׋ЋE^>W't uRP3ɱjEEUЃ uRP3ɱP = 0+ @labels  fpe-insert fi1 LN!!<<W@ polyshift subseq /,UV,E^W'E]CUW?EɋuÐ 0+ @Apcompare e + l /UVT][[];uɋu;uXECZUS^W']܉E؋W?M;NuS]SBEԋB]SR^W'ЋEW+EЋ]sEċ]C]Suċ3ɱVЋEgC]Q Y;Vu*UBsEE̋BUu3ɱVЋEgCUBsEEȋREu3ɱVЋEgC 0  + @fpe-* lexically-visible-function <* /fUVTEUQMMY^CEGẺ]Љ}QMMY}čMى]ԍ]ډ]ċ]S;tQUB;tXC@ZS^W'3ҲW+EuďE؋]C]Su؋3ɱVЋEW+ɋuËSBuEBXuEً]뒐 0+ @labels fpe-* fm1 LN!!<<W@A* /h4UV<][[;uɋuËPEBEQ Y]R^W'ЋEW+E؋]sEԋ]Cuԋ3AVЋEgC 0 + @fpe-^ lexically-visible-function <expt /CUVTEQMMYU^CEGẺ]QMMY}čMى]ԍ]ډ]ċ]SBU^W'3ҲW+EuďE܋]Cu܋3AVЋEW+ɋu 0+ @labels fpe-^ fp^1 LN!!<<W@fpe-negative-p < /6XStʀu JptuË@@3ҋ^g' 0(+ @ fpe-negate coefneg /.UV,XEC^׋]SRW+]SgC 0+ @ fpe-gcd-cofac fpe-norm pgcdswitch-cofac  fpe-insert = - /LUVtU܋׋W'EԋE܋׋W'EvE؋];u7Eԋ^׉EE܋^׉EE؋U uRP3ɱɋuËSBtU;u[뮋B]X]C@ZUSEEUPBECEȋEU^W'r3A|~MOqE׉}̉EЉU}tkuE]ȋE u[;~i]ċ]ċEЋӉ]ăwuRP^׉E؋EċU^"W';t;EUW+UW?JR]UӉ]ċW';t]똋EUċ^&W'ЋEW+UW?}u$EċUȋ^"W';t]E̋UW+UW?띋EUW+W+]IuËӉ]RZItI3'W'듋EȋUċ^&W'ЋEW+UW?}-E̋UW+W+]IӉ]RZItIt3'W'W?W? 0+ @pgcdswitch-cofac *rat-gcd-level* gcd  pgcd-cofac cdi equalp cdd p/-test /&UVprat- make-rat copy-rat ! structure !!pcopy-defstruct-description compute-struct-cpl notify-clos-of-new-structure .inv-get / \.UV4F^׋ЋF^W'F"^&׉E^*׋UF^.W'F uRP^2׋ɋu 0+ @<<<QAg7784?(3Ҳ^W'EEU^W'ЋE؋^W'ЋE^W'r3A|~MOqE׉}؋E܋^W'Uɋ^Bg' 0 + @rat-  fpe-negate  numerator  denominator make-rat rat+ /D"UV fpe-^ fpe-coefzero-p Rational division by zero-  make-good-rat / wUVLE‰E3ҋ^W';tFVvvRP^"ɋuËE3ҋ^&W';t>]CU^*W'E؋]CU^*W'U؉E̋FuvRP^"뮋]C^.;t F2׋]SEUԋ^6׋ЋEԋ^*W'E܋][E]Ћ^6׋ЋEЋ^*W'ЋEɋ^:g' 0+ 2xAg7785@@<@top-level-form < macro-calls  sy_function definef defun defsetf setf  defstruct boundp record-source-file defvar  in-package declaim   direct-calls store-doc-forms  load-scm-info update-xref-info .inv-get notify-clos-of-new-structure compute-struct-cpl copy-defstruct-description get-dd-predicate-closure memref symbol-function set-function-1  set-func_name remprop  share-conses ce-get check-lock-definitions .inv-symbol-function get-built-in-accessor check-lock-def-defstruct record-source-file-1 eq not  ce-putprop internal-in-package compiler-proclaim provide require sets *expand* *rat-gcd-level* *source-pathname*  references !*!+!,make-fpe !  fpe-insert expt cons numberp !coef^ list coefp poly2rat !!4! -  make-good-rat !1!.make-rat >= fpe-copy !  copy-tree  fpe-expand !cdar caar ! cdr car p^ p* null binds !*fpe-norm ! !1funcall <<!!>!3coef* !?!5! <!G<!@!0* !A!2!D<!!>!?! !G<!@+ !Apcompare !"!1!D fpe-coef-p ! !@!D fpe-coefone-p !eql coefonep ! !A!"!@!D!#fpe-coefzero-p ! !A!"!!N coefzerop !/!-!*! !G<1+  polyshift !Dvector !/1- svref length !7>  monomialp !#= !@!0!A!I!1!.!"!2!lc degree !3!?!H!Q!N!O!5 <!!>!?!4! !G<!@!J!A!K!"!1!D!S!!! !V .inv-svref subseq fpe-* !!?!H!N!O! !G<!I!1!A!"!@!D!#<!!>!?! !G<!@!J!1!A!K!"!Dfpe-^ !!?! !@!G<!A!0!1<!!>!?! !G<!@!I!A!1!Dfpe-negative-p ! < !A!2!#!!?!5coef-negative-p  fpe-negate !!>!?! !@!Acoefneg !1 fpe-gcd-cofac ! general-error-handler-one rplacd consp !7 inv-memref !1.inv-car !Z!/>_2op pgcdswitch-cofac !@!A!"!#!Fvalues !D append_2op !prog1 !4nconc !> min !>!?!N!Oappend setq  !m!-!+! p/-test !nequalp  pgcd-cofac !"!!Ncase !9!  short-vector  structurify !8! !9!d!arat* ! !8!`!_!f!6!Prat-denominator  rat-numerator  rat/ ! !8!`!_!ferror !6!P!}!~ rat+ !!N!Qcoefone ! !8!9!"!_!=p+ pnorm !f!P!.!}!~ rat- ! !}!~!d!9!rat^ ! !7!8!!P!}!~!`!X!9!Z  !/ UV$F^׋ɋuÐ 0+ @32x<@top-level-form <jNQ32yAg7786A@