build open-axiom
1(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%DoubleFloat|) |ACPLOT;NFtoSF|))23(DECLAIM4(FTYPE (FUNCTION (|%DoubleFloat| |%DoubleFloat| |%Shell|) |%Thing|)5|ACPLOT;makePt|))67(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |ACPLOT;swapCoords|))89(DECLAIM10(FTYPE (FUNCTION (|%Thing| |%Thing| |%Shell|) |%Boolean|)11|ACPLOT;samePlottedPt?|))1213(DECLAIM14(FTYPE15(FUNCTION (|%Thing| (|%List| |%Thing|) |%Shell|) (|%Pair| |%Short| |%Thing|))16|ACPLOT;findPtOnList|))1718(DECLAIM19(FTYPE20(FUNCTION21(|%DoubleFloat| |%DoubleFloat| |%DoubleFloat| |%DoubleFloat| |%Shell|)22|%Shell|)23|ACPLOT;makeCorners|))2425(PUT '|ACPLOT;makeCorners| '|SPADreplace| '|%vector|)2627(DECLAIM (FTYPE (FUNCTION (|%Shell| |%Shell|) |%DoubleFloat|) |ACPLOT;getXMin|))2829(PUT '|ACPLOT;getXMin| '|SPADreplace| '(XLAM (|corners|) (|%vref| |corners| 0)))3031(DECLAIM (FTYPE (FUNCTION (|%Shell| |%Shell|) |%DoubleFloat|) |ACPLOT;getXMax|))3233(PUT '|ACPLOT;getXMax| '|SPADreplace| '(XLAM (|corners|) (|%vref| |corners| 1)))3435(DECLAIM (FTYPE (FUNCTION (|%Shell| |%Shell|) |%DoubleFloat|) |ACPLOT;getYMin|))3637(PUT '|ACPLOT;getYMin| '|SPADreplace| '(XLAM (|corners|) (|%vref| |corners| 2)))3839(DECLAIM (FTYPE (FUNCTION (|%Shell| |%Shell|) |%DoubleFloat|) |ACPLOT;getYMax|))4041(PUT '|ACPLOT;getYMax| '|SPADreplace| '(XLAM (|corners|) (|%vref| |corners| 3)))4243(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |ACPLOT;SFPolyToUPoly|))4445(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |ACPLOT;RNPolyToUPoly|))4647(DECLAIM48(FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |ACPLOT;coerceCoefsToSFs|))4950(DECLAIM51(FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |ACPLOT;coerceCoefsToRNs|))5253(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%DoubleFloat|) |ACPLOT;RNtoSF|))5455(DECLAIM (FTYPE (FUNCTION (|%Thing| |%Shell|) |%Thing|) |ACPLOT;RNtoNF|))5657(DECLAIM (FTYPE (FUNCTION (|%DoubleFloat| |%Shell|) |%Thing|) |ACPLOT;SFtoNF|))5859(DECLAIM60(FTYPE61(FUNCTION (|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|)62(|%List| |%Thing|))63|ACPLOT;listPtsOnHorizBdry|))6465(DECLAIM66(FTYPE67(FUNCTION (|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|)68(|%List| |%Thing|))69|ACPLOT;listPtsOnVertBdry|))7071(DECLAIM72(FTYPE73(FUNCTION74((|%List| (|%List| |%Thing|)) |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|)75(|%List| |%Thing|))76|ACPLOT;listPtsInRect|))7778(DECLAIM79(FTYPE (FUNCTION ((|%List| (|%List| |%Thing|)) |%Thing| |%Shell|) |%Boolean|)80|ACPLOT;ptsSuchThat?|))8182(DECLAIM83(FTYPE84(FUNCTION ((|%List| |%Thing|) |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|)85|%Boolean|)86|ACPLOT;inRect?|))8788(DECLAIM89(FTYPE90(FUNCTION ((|%List| |%Thing|) |%Thing| |%Thing| |%Thing| |%Shell|)91|%Boolean|)92|ACPLOT;onHorzSeg?|))9394(DECLAIM95(FTYPE96(FUNCTION ((|%List| |%Thing|) |%Thing| |%Thing| |%Thing| |%Shell|)97|%Boolean|)98|ACPLOT;onVertSeg?|))99100(DECLAIM101(FTYPE102(FUNCTION103((|%List| (|%List| |%Thing|)) (|%List| (|%List| |%Thing|)) |%Thing| |%Thing|104|%Thing| |%Thing| |%Thing| |%Shell|)105|%Thing|)106|ACPLOT;newX|))107108(DECLAIM109(FTYPE110(FUNCTION111((|%List| (|%List| |%Thing|)) (|%List| (|%List| |%Thing|)) |%Thing| |%Thing|112|%Thing| |%Thing| |%Thing| |%Shell|)113|%Thing|)114|ACPLOT;newY|))115116(DECLAIM117(FTYPE118(FUNCTION (|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|) |%Shell|)119|ACPLOT;makeSketch;P2S2S$;27|))120121(DECLAIM122(FTYPE123(FUNCTION124(|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing|125|%Shell|)126|%Shell|)127|ACPLOT;makeOneVarSketch|))128129(DECLAIM130(FTYPE131(FUNCTION132(|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|)133|%Shell|)134|ACPLOT;makeLineSketch|))135136(DECLAIM137(FTYPE138(FUNCTION (|%DoubleFloat| |%DoubleFloat| (|%List| |%DoubleFloat|) |%Shell|)139|%Boolean|)140|ACPLOT;singValBetween?|))141142(DECLAIM143(FTYPE144(FUNCTION145(|%Thing| |%DoubleFloat| |%DoubleFloat| (|%List| |%DoubleFloat|)146(|%List| |%DoubleFloat|) (|%List| |%DoubleFloat|) |%DoubleFloat|147|%DoubleFloat| |%Shell|)148|%Shell|)149|ACPLOT;segmentInfo|))150151(DECLAIM152(FTYPE153(FUNCTION154(|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing|155|%Shell|)156|%Shell|)157|ACPLOT;makeRatFcnSketch|))158159(DECLAIM160(FTYPE161(FUNCTION162(|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|)163|%Shell|)164|ACPLOT;makeGeneralSketch|))165166(DECLAIM167(FTYPE (FUNCTION (|%Shell| |%DoubleFloat| |%Shell|) |%Shell|)168|ACPLOT;refine;$Df$;34|))169170(DECLAIM171(FTYPE172(FUNCTION173(|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Shell| |%DoubleFloat|174|%DoubleFloat| (|%IntegerSection| 1) (|%List| |%Thing|) |%Shell| |%Shell|)175(|%List| (|%List| |%Thing|)))176|ACPLOT;traceBranches|))177178(DECLAIM179(FTYPE180(FUNCTION181(|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| (|%List| |%Thing|)182(|%List| |%Thing|) (|%List| |%Thing|) (|%List| |%Thing|) |%Shell|)183|%Thing|)184|ACPLOT;dummyFirstPt|))185186(DECLAIM187(FTYPE188(FUNCTION189(|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|190|%DoubleFloat| |%DoubleFloat| (|%IntegerSection| 1) (|%List| |%Thing|)191(|%List| |%Thing|) |%Shell|)192(|%List| (|%List| |%Thing|)))193|ACPLOT;listPtsOnSegment|))194195(DECLAIM196(FTYPE197(FUNCTION198(|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|199|%DoubleFloat| |%DoubleFloat| (|%IntegerSection| 1) (|%List| |%Thing|)200(|%List| |%Thing|) |%Shell|)201(|%List| (|%List| |%Thing|)))202|ACPLOT;listPtsOnLoop|))203204(DECLAIM205(FTYPE206(FUNCTION207(|%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Thing| |%Shell|208|%DoubleFloat| |%DoubleFloat| (|%IntegerSection| 1) (|%List| |%Thing|)209(|%List| |%Thing|) |%Shell|)210(|%Pair| |%Thing| |%Thing|))211|ACPLOT;computeNextPt|))212213(DECLAIM214(FTYPE215(FUNCTION216(|%Thing| |%DoubleFloat| |%DoubleFloat| (|%IntegerSection| 1) |%Shell|)217(|%Pair| |%Short| |%Thing|))218|ACPLOT;newtonApprox|))219220(DECLAIM221(FTYPE (FUNCTION (|%Shell| |%Shell|) (|%List| (|%List| |%Thing|)))222|ACPLOT;listBranches;$L;41|))223224(PUT '|ACPLOT;listBranches;$L;41| '|SPADreplace|225'(XLAM (|acplot|) (|%vref| |acplot| 10)))226227(DECLAIM (FTYPE (FUNCTION (|%Shell| |%Shell|) |%Thing|) |ACPLOT;coerce;$Of;42|))228229(DEFUN |ACPLOT;NFtoSF| (|x| $) (+ 0.0 (SPADCALL |x| (|shellEntry| $ 27))))230231(DEFUN |ACPLOT;makePt| (|xx| |yy| $)232(PROG (|l|)233(RETURN234(SPADCALL (LETT |l| (LIST |xx| |yy|) |ACPLOT;makePt|)235(|shellEntry| $ 31)))))236237(DEFUN |ACPLOT;swapCoords| (|pt| $)238(|ACPLOT;makePt| (SPADCALL |pt| (|shellEntry| $ 33))239(SPADCALL |pt| (|shellEntry| $ 34)) $))240241(DEFUN |ACPLOT;samePlottedPt?| (|p0| |p1| $)242(LET ((|x0| (SPADCALL |p0| (|shellEntry| $ 34)))243(|y0| (SPADCALL |p0| (|shellEntry| $ 33)))244(|x1| (SPADCALL |p1| (|shellEntry| $ 34)))245(|y1| (SPADCALL |p1| (|shellEntry| $ 33))))246(AND (< (ABS (- |x1| |x0|)) (|shellEntry| $ 18))247(< (ABS (- |y1| |y0|)) (|shellEntry| $ 18)))))248249(DEFUN |ACPLOT;findPtOnList| (|pt| |pointList| $)250(PROGN251(LET ((#1=#:G1248 |pointList|))252(LOOP253(COND ((NOT (CONSP #1#)) (RETURN NIL))254(T255(LET ((|point| (CAR #1#)))256(COND257((|ACPLOT;samePlottedPt?| |pt| |point| $)258(RETURN-FROM |ACPLOT;findPtOnList| (CONS 0 |point|)))))))259(SETQ #1# (CDR #1#))))260(CONS 1 "failed")))261262(DEFUN |ACPLOT;makeCorners| (|xMinSF| |xMaxSF| |yMinSF| |yMaxSF| $)263(DECLARE (IGNORE $))264(VECTOR |xMinSF| |xMaxSF| |yMinSF| |yMaxSF|))265266(DEFUN |ACPLOT;getXMin| (|corners| $) (DECLARE (IGNORE $)) (SVREF |corners| 0))267268(DEFUN |ACPLOT;getXMax| (|corners| $) (DECLARE (IGNORE $)) (SVREF |corners| 1))269270(DEFUN |ACPLOT;getYMin| (|corners| $) (DECLARE (IGNORE $)) (SVREF |corners| 2))271272(DEFUN |ACPLOT;getYMax| (|corners| $) (DECLARE (IGNORE $)) (SVREF |corners| 3))273274(DEFUN |ACPLOT;SFPolyToUPoly| (|p| $)275(COND ((SPADCALL |p| (|shellEntry| $ 41)) (|spadConstant| $ 43))276(T277(SPADCALL278(SPADCALL (SPADCALL |p| (|shellEntry| $ 44))279(SPADCALL |p| (|shellEntry| $ 45)) (|shellEntry| $ 46))280(|ACPLOT;SFPolyToUPoly| (SPADCALL |p| (|shellEntry| $ 47)) $)281(|shellEntry| $ 48)))))282283(DEFUN |ACPLOT;RNPolyToUPoly| (|p| $)284(COND ((SPADCALL |p| (|shellEntry| $ 51)) (|spadConstant| $ 53))285(T286(SPADCALL287(SPADCALL (SPADCALL |p| (|shellEntry| $ 54))288(SPADCALL |p| (|shellEntry| $ 55)) (|shellEntry| $ 56))289(|ACPLOT;RNPolyToUPoly| (SPADCALL |p| (|shellEntry| $ 57)) $)290(|shellEntry| $ 58)))))291292(DEFUN |ACPLOT;coerceCoefsToSFs| (|p| $)293(SPADCALL (CONS #'(LAMBDA (|#1| $) (FLOAT |#1| |$DoubleFloatMaximum|)) NIL)294|p| (|shellEntry| $ 63)))295296(DEFUN |ACPLOT;coerceCoefsToRNs| (|p| $)297(SPADCALL (|shellEntry| $ 64) |p| (|shellEntry| $ 67)))298299(DEFUN |ACPLOT;RNtoSF| (|r| $) (SPADCALL |r| (|shellEntry| $ 68)))300301(DEFUN |ACPLOT;RNtoNF| (|r| $) (SPADCALL |r| (|shellEntry| $ 69)))302303(DEFUN |ACPLOT;SFtoNF| (|x| $) (SPADCALL |x| (|shellEntry| $ 70)))304305(DEFUN |ACPLOT;listPtsOnHorizBdry| (|pRN| |y| |y0| |xMinNF| |xMaxNF| $)306(LET* ((|pointList| NIL)307(|ySF| (|ACPLOT;RNtoSF| |y0| $))308(|f| (SPADCALL |pRN| |y| |y0| (|shellEntry| $ 74)))309(|roots| (SPADCALL |f| (|shellEntry| $ 14) (|shellEntry| $ 77))))310(PROGN311(LET ((#1=#:G1249 |roots|))312(LOOP313(COND ((NOT (CONSP #1#)) (RETURN NIL))314(T315(LET ((|root| (CAR #1#)))316(COND317((AND (SPADCALL |xMinNF| |root| (|shellEntry| $ 78))318(SPADCALL |root| |xMaxNF| (|shellEntry| $ 78)))319(SETQ |pointList|320(CONS321(|ACPLOT;makePt| (|ACPLOT;NFtoSF| |root| $) |ySF|322$)323|pointList|)))))))324(SETQ #1# (CDR #1#))))325|pointList|)))326327(DEFUN |ACPLOT;listPtsOnVertBdry| (|pRN| |x| |x0| |yMinNF| |yMaxNF| $)328(LET* ((|pointList| NIL)329(|xSF| (|ACPLOT;RNtoSF| |x0| $))330(|f| (SPADCALL |pRN| |x| |x0| (|shellEntry| $ 74)))331(|roots| (SPADCALL |f| (|shellEntry| $ 14) (|shellEntry| $ 77))))332(PROGN333(LET ((#1=#:G1250 |roots|))334(LOOP335(COND ((NOT (CONSP #1#)) (RETURN NIL))336(T337(LET ((|root| (CAR #1#)))338(COND339((AND (SPADCALL |yMinNF| |root| (|shellEntry| $ 80))340(SPADCALL |root| |yMaxNF| (|shellEntry| $ 80)))341(SETQ |pointList|342(CONS343(|ACPLOT;makePt| |xSF| (|ACPLOT;NFtoSF| |root| $)344$)345|pointList|)))))))346(SETQ #1# (CDR #1#))))347|pointList|)))348349(DEFUN |ACPLOT;listPtsInRect| (|points| |xMin| |xMax| |yMin| |yMax| $)350(PROG (|yy| |xx|)351(RETURN352(LET ((|pointList| NIL))353(SEQ354(LET ((#1=#:G1251 |points|))355(LOOP356(COND ((NOT (CONSP #1#)) (RETURN NIL))357(T358(LET ((|point| (CAR #1#)))359(PROGN360(LETT |xx| (|SPADfirst| |point|)361. #2=(|ACPLOT;listPtsInRect|))362(LETT |yy| (SPADCALL |point| (|shellEntry| $ 82)) . #2#)363(COND364((AND (SPADCALL |xMin| |xx| (|shellEntry| $ 80))365(AND (SPADCALL |xx| |xMax| (|shellEntry| $ 80))366(AND367(SPADCALL |yMin| |yy| (|shellEntry| $ 80))368(SPADCALL |yy| |yMax| (|shellEntry| $ 80)))))369(SETQ |pointList|370(CONS371(|ACPLOT;makePt| (|ACPLOT;NFtoSF| |xx| $)372(|ACPLOT;NFtoSF| |yy| $) $)373|pointList|))))))))374(SETQ #1# (CDR #1#))))375(EXIT |pointList|))))))376377(DEFUN |ACPLOT;ptsSuchThat?| (|points| |pred| $)378(PROGN379(LET ((#1=#:G1252 |points|))380(LOOP381(COND ((NOT (CONSP #1#)) (RETURN NIL))382(T383(COND384((FUNCALL (CAR |pred|) (CAR #1#) (CDR |pred|))385(RETURN-FROM |ACPLOT;ptsSuchThat?| T)))))386(SETQ #1# (CDR #1#))))387NIL))388389(DEFUN |ACPLOT;inRect?| (|point| |xMinNF| |xMaxNF| |yMinNF| |yMaxNF| $)390(LET ((|xx| (|SPADfirst| |point|))391(|yy| (SPADCALL |point| (|shellEntry| $ 82))))392(AND (SPADCALL |xMinNF| |xx| (|shellEntry| $ 80))393(AND (SPADCALL |xx| |xMaxNF| (|shellEntry| $ 80))394(AND (SPADCALL |yMinNF| |yy| (|shellEntry| $ 80))395(SPADCALL |yy| |yMaxNF| (|shellEntry| $ 80)))))))396397(DEFUN |ACPLOT;onHorzSeg?| (|point| |xMinNF| |xMaxNF| |yNF| $)398(LET ((|xx| (|SPADfirst| |point|))399(|yy| (SPADCALL |point| (|shellEntry| $ 82))))400(AND (SPADCALL |yy| |yNF| (|shellEntry| $ 84))401(AND (SPADCALL |xMinNF| |xx| (|shellEntry| $ 80))402(SPADCALL |xx| |xMaxNF| (|shellEntry| $ 80))))))403404(DEFUN |ACPLOT;onVertSeg?| (|point| |yMinNF| |yMaxNF| |xNF| $)405(LET ((|xx| (|SPADfirst| |point|))406(|yy| (SPADCALL |point| (|shellEntry| $ 82))))407(AND (SPADCALL |xx| |xNF| (|shellEntry| $ 84))408(AND (SPADCALL |yMinNF| |yy| (|shellEntry| $ 80))409(SPADCALL |yy| |yMaxNF| (|shellEntry| $ 80))))))410411(DEFUN |ACPLOT;newX|412(|vtanPts| |singPts| |yMinNF| |yMaxNF| |xNF| |xRN| |horizInc| $)413(PROG (|goo|)414(RETURN415(LET* ((|xNewNF|416(SPADCALL |xNF| (|ACPLOT;RNtoNF| |horizInc| $)417(|shellEntry| $ 85)))418(|xRtNF| (SPADCALL |xNF| |xNewNF| (|shellEntry| $ 86)))419(|xLftNF| (SPADCALL |xNF| |xNewNF| (|shellEntry| $ 87)))420(|foo|421(CONS #'|ACPLOT;newX!0|422(VECTOR $ |yMaxNF| |yMinNF| |xRtNF| |xLftNF|))))423(COND424((|ACPLOT;ptsSuchThat?| |singPts| |foo| $)425(|ACPLOT;newX| |vtanPts| |singPts| |yMinNF| |yMaxNF| |xNF| |xRN|426(SPADCALL |horizInc| (SPADCALL 2 (|shellEntry| $ 64))427(|shellEntry| $ 88))428$))429(T430(PROGN431(LETT |goo|432(CONS #'|ACPLOT;newX!1| (VECTOR $ |xNewNF| |yMaxNF| |yMinNF|))433|ACPLOT;newX|)434(COND435((|ACPLOT;ptsSuchThat?| |vtanPts| |goo| $)436(|ACPLOT;newX| |vtanPts| |singPts| |yMinNF| |yMaxNF| |xNF| |xRN|437(SPADCALL |horizInc| (SPADCALL 2 (|shellEntry| $ 64))438(|shellEntry| $ 88))439$))440(T (SPADCALL |xRN| |horizInc| (|shellEntry| $ 89)))))))))))441442(DEFUN |ACPLOT;newX!1| (|#1| $$)443(|ACPLOT;onVertSeg?| |#1| (SVREF $$ 3) (SVREF $$ 2) (SVREF $$ 1)444(SVREF $$ 0)))445446(DEFUN |ACPLOT;newX!0| (|#1| $$)447(|ACPLOT;inRect?| |#1| (SVREF $$ 4) (SVREF $$ 3) (SVREF $$ 2) (SVREF $$ 1)448(SVREF $$ 0)))449450(DEFUN |ACPLOT;newY|451(|htanPts| |singPts| |xMinNF| |xMaxNF| |yNF| |yRN| |vertInc| $)452(PROG (|goo|)453(RETURN454(LET* ((|yNewNF|455(SPADCALL |yNF| (|ACPLOT;RNtoNF| |vertInc| $)456(|shellEntry| $ 85)))457(|yTopNF| (SPADCALL |yNF| |yNewNF| (|shellEntry| $ 86)))458(|yBotNF| (SPADCALL |yNF| |yNewNF| (|shellEntry| $ 87)))459(|foo|460(CONS #'|ACPLOT;newY!0|461(VECTOR $ |yTopNF| |yBotNF| |xMaxNF| |xMinNF|))))462(COND463((|ACPLOT;ptsSuchThat?| |singPts| |foo| $)464(|ACPLOT;newY| |htanPts| |singPts| |xMinNF| |xMaxNF| |yNF| |yRN|465(SPADCALL |vertInc| (SPADCALL 2 (|shellEntry| $ 64))466(|shellEntry| $ 88))467$))468(T469(PROGN470(LETT |goo|471(CONS #'|ACPLOT;newY!1| (VECTOR $ |yNewNF| |xMaxNF| |xMinNF|))472|ACPLOT;newY|)473(COND474((|ACPLOT;ptsSuchThat?| |htanPts| |goo| $)475(|ACPLOT;newY| |htanPts| |singPts| |xMinNF| |xMaxNF| |yNF| |yRN|476(SPADCALL |vertInc| (SPADCALL 2 (|shellEntry| $ 64))477(|shellEntry| $ 88))478$))479(T (SPADCALL |yRN| |vertInc| (|shellEntry| $ 89)))))))))))480481(DEFUN |ACPLOT;newY!1| (|#1| $$)482(|ACPLOT;onHorzSeg?| |#1| (SVREF $$ 3) (SVREF $$ 2) (SVREF $$ 1)483(SVREF $$ 0)))484485(DEFUN |ACPLOT;newY!0| (|#1| $$)486(|ACPLOT;inRect?| |#1| (SVREF $$ 4) (SVREF $$ 3) (SVREF $$ 2) (SVREF $$ 1)487(SVREF $$ 0)))488489(DEFUN |ACPLOT;makeSketch;P2S2S$;27| (|p| |x| |y| |xRange| |yRange| $)490(PROG (|varList|)491(RETURN492(LET ((|xMin| (SPADCALL |xRange| (|shellEntry| $ 91)))493(|xMax| (SPADCALL |xRange| (|shellEntry| $ 92)))494(|yMin| (SPADCALL |yRange| (|shellEntry| $ 91)))495(|yMax| (SPADCALL |yRange| (|shellEntry| $ 92))))496(COND497((SPADCALL |xMax| |xMin| (|shellEntry| $ 93))498(|error| "makeSketch: bad range for first variable"))499((SPADCALL |yMax| |yMin| (|shellEntry| $ 93))500(|error| "makeSketch: bad range for second variable"))501(T502(SEQ503(LETT |varList| (SPADCALL |p| (|shellEntry| $ 95))504|ACPLOT;makeSketch;P2S2S$;27|)505(EXIT506(COND507((< 2 (LIST-LENGTH |varList|))508(|error| "makeSketch: polynomial in more than 2 variables"))509((ZEROP (LIST-LENGTH |varList|))510(|error| "makeSketch: constant polynomial"))511((EQL (LIST-LENGTH |varList|) 1)512(COND513((AND (NOT (SPADCALL |x| |varList| (|shellEntry| $ 99)))514(NOT (SPADCALL |y| |varList| (|shellEntry| $ 99))))515(|error| "makeSketch: bad variables"))516(T517(|ACPLOT;makeOneVarSketch| |p| |x| |y| |xMin| |xMax| |yMin|518|yMax| (|SPADfirst| |varList|) $))))519(T520(SEQ521(COND522((SPADCALL |x| |varList| (|shellEntry| $ 99))523(COND524((NOT (SPADCALL |y| |varList| (|shellEntry| $ 99)))525(EXIT (|error| #1="makeSketch: bad variables")))))526(T (EXIT (|error| #1#))))527(EXIT528(COND529((EQL (SPADCALL |p| (|shellEntry| $ 101)) 1)530(|ACPLOT;makeLineSketch| |p| |x| |y| |xMin| |xMax| |yMin|531|yMax| $))532((EQL (SPADCALL |p| |y| (|shellEntry| $ 102)) 1)533(|ACPLOT;makeRatFcnSketch| |p| |x| |y| |xMin| |xMax| |yMin|534|yMax| |y| $))535((EQL (SPADCALL |p| |x| (|shellEntry| $ 102)) 1)536(|ACPLOT;makeRatFcnSketch| |p| |x| |y| |xMin| |xMax| |yMin|537|yMax| |x| $))538(T539(|ACPLOT;makeGeneralSketch| |p| |x| |y| |xMin| |xMax| |yMin|540|yMax| $)))))))))))))))541542(DEFUN |ACPLOT;makeOneVarSketch|543(|p| |x| |y| |xMin| |xMax| |yMin| |yMax| |var| $)544(PROG (|xMaxSF| |xMinSF| |yMaxSF| |yMinSF| |sketchRoots| |roots| |bran|545|vtans| |htans| |tp| |bt| |rt| |lf| |maxVal| |minVal| |branch| |pt2|546|pt1|)547(RETURN548(SEQ549(COND550((EQUAL |var| |x|)551(PROGN552(LETT |minVal| (|ACPLOT;RNtoNF| |xMin| $)553. #1=(|ACPLOT;makeOneVarSketch|))554(LETT |maxVal| (|ACPLOT;RNtoNF| |xMax| $) . #1#)))555(T556(PROGN557(LETT |minVal| (|ACPLOT;RNtoNF| |yMin| $) . #1#)558(LETT |maxVal| (|ACPLOT;RNtoNF| |yMax| $) . #1#))))559(LETT |lf| NIL . #1#) (LETT |rt| NIL . #1#) (LETT |bt| NIL . #1#)560(LETT |tp| NIL . #1#) (LETT |htans| NIL . #1#) (LETT |vtans| NIL . #1#)561(LETT |bran| NIL . #1#)562(LETT |roots| (SPADCALL |p| (|shellEntry| $ 14) (|shellEntry| $ 107))563. #1#)564(LETT |sketchRoots| NIL . #1#)565(LET ((#2=#:G1253 |roots|))566(LOOP567(COND ((NOT (CONSP #2#)) (RETURN NIL))568(T569(LET ((|root| (CAR #2#)))570(COND571((AND (SPADCALL |minVal| |root| (|shellEntry| $ 80))572(SPADCALL |root| |maxVal| (|shellEntry| $ 80)))573(SETQ |sketchRoots|574(CONS (|ACPLOT;NFtoSF| |root| $)575|sketchRoots|)))))))576(SETQ #2# (CDR #2#))))577(EXIT578(COND579((NULL |sketchRoots|)580(VECTOR |p| |x| |y| |xMin| |xMax| |yMin| |yMax|581(VECTOR |lf| |rt| |bt| |tp|) |htans| |vtans| |bran|))582(T583(SEQ584(COND585((EQUAL |var| |x|)586(SEQ (LETT |yMinSF| (|ACPLOT;RNtoSF| |yMin| $) . #1#)587(LETT |yMaxSF| (|ACPLOT;RNtoSF| |yMax| $) . #1#)588(EXIT589(LET ((#3=#:G1254 |sketchRoots|))590(LOOP591(COND ((NOT (CONSP #3#)) (RETURN NIL))592(T593(LET ((|rootSF| (CAR #3#)))594(PROGN595(LETT |pt1|596(|ACPLOT;makePt| |rootSF| |yMaxSF| $)597. #1#)598(SETQ |tp| (CONS |pt1| |tp|))599(LETT |pt2|600(|ACPLOT;makePt| |rootSF| |yMinSF| $)601. #1#)602(SETQ |bt| (CONS |pt2| |bt|))603(LETT |branch| (LIST |pt1| |pt2|) . #1#)604(SETQ |bran| (CONS |branch| |bran|))))))605(SETQ #3# (CDR #3#)))))))606(T607(SEQ (LETT |xMinSF| (|ACPLOT;RNtoSF| |xMin| $) . #1#)608(LETT |xMaxSF| (|ACPLOT;RNtoSF| |xMax| $) . #1#)609(EXIT610(LET ((#4=#:G1255 |sketchRoots|))611(LOOP612(COND ((NOT (CONSP #4#)) (RETURN NIL))613(T614(LET ((|rootSF| (CAR #4#)))615(PROGN616(LETT |pt1|617(|ACPLOT;makePt| |xMaxSF| |rootSF| $)618. #1#)619(SETQ |rt| (CONS |pt1| |rt|))620(LETT |pt2|621(|ACPLOT;makePt| |xMinSF| |rootSF| $)622. #1#)623(SETQ |lf| (CONS |pt2| |lf|))624(LETT |branch| (LIST |pt1| |pt2|) . #1#)625(SETQ |bran| (CONS |branch| |bran|))))))626(SETQ #4# (CDR #4#))))))))627(EXIT628(VECTOR |p| |x| |y| |xMin| |xMax| |yMin| |yMax|629(VECTOR |lf| |rt| |bt| |tp|) |htans| |vtans| |bran|))))))))))630631(DEFUN |ACPLOT;makeLineSketch| (|p| |x| |y| |xMin| |xMax| |yMin| |yMax| $)632(PROG (|pt|)633(RETURN634(LET* ((|xMinSF| (|ACPLOT;RNtoSF| |xMin| $))635(|xMaxSF| (|ACPLOT;RNtoSF| |xMax| $))636(|yMinSF| (|ACPLOT;RNtoSF| |yMin| $))637(|yMaxSF| (|ACPLOT;RNtoSF| |yMax| $))638(|a|639(FLOAT640(SPADCALL (SPADCALL |p| |x| 1 (|shellEntry| $ 112))641(|shellEntry| $ 113))642|$DoubleFloatMaximum|))643(|b|644(FLOAT645(SPADCALL (SPADCALL |p| |y| 1 (|shellEntry| $ 112))646(|shellEntry| $ 113))647|$DoubleFloatMaximum|))648(|c|649(FLOAT650(SPADCALL651(SPADCALL (SPADCALL |p| |x| 0 (|shellEntry| $ 112)) |y| 0652(|shellEntry| $ 112))653(|shellEntry| $ 113))654|$DoubleFloatMaximum|))655(|lf| NIL)656(|rt| NIL)657(|bt| NIL)658(|tp| NIL)659(|htans| NIL)660(|vtans| NIL)661(|branch| NIL)662(|bran| NIL)663(|xBottom| (/ (- (- (* |b| |yMinSF|)) |c|) |a|))664(|xTop| (/ (- (- (* |b| |yMaxSF|)) |c|) |a|))665(|yLeft| (/ (- (- (* |a| |xMinSF|)) |c|) |b|))666(|yRight| (/ (- (- (* |a| |xMaxSF|)) |c|) |b|)))667(SEQ668(COND669((AND (< |xMinSF| |xBottom|) (< |xBottom| |xMaxSF|))670(PROGN671(LETT |pt| (|ACPLOT;makePt| |xBottom| |yMinSF| $)672. #1=(|ACPLOT;makeLineSketch|))673(SETQ |bt| (CONS |pt| |bt|))674(SETQ |branch| (CONS |pt| |branch|)))))675(COND676((AND (< |xMinSF| |xTop|) (< |xTop| |xMaxSF|))677(PROGN678(LETT |pt| (|ACPLOT;makePt| |xTop| |yMaxSF| $) . #1#)679(SETQ |tp| (CONS |pt| |tp|))680(SETQ |branch| (CONS |pt| |branch|)))))681(COND682((AND (<= |yMinSF| |yLeft|) (<= |yLeft| |yMaxSF|))683(PROGN684(LETT |pt| (|ACPLOT;makePt| |xMinSF| |yLeft| $) . #1#)685(SETQ |lf| (CONS |pt| |lf|))686(SETQ |branch| (CONS |pt| |branch|)))))687(COND688((AND (<= |yMinSF| |yRight|) (<= |yRight| |yMaxSF|))689(PROGN690(LETT |pt| (|ACPLOT;makePt| |xMaxSF| |yRight| $) . #1#)691(SETQ |rt| (CONS |pt| |rt|))692(SETQ |branch| (CONS |pt| |branch|)))))693(SETQ |bran| (CONS |branch| |bran|))694(EXIT695(VECTOR |p| |x| |y| |xMin| |xMax| |yMin| |yMax|696(VECTOR |lf| |rt| |bt| |tp|) |htans| |vtans| |bran|)))))))697698(DEFUN |ACPLOT;singValBetween?| (|xCurrent| |xNext| |xSingList| $)699(PROGN700(LET ((#1=#:G1256 |xSingList|))701(LOOP702(COND ((NOT (CONSP #1#)) (RETURN NIL))703(T704(LET ((|xVal| (CAR #1#)))705(COND706((AND (< |xCurrent| |xVal|) (< |xVal| |xNext|))707(RETURN-FROM |ACPLOT;singValBetween?| T))))))708(SETQ #1# (CDR #1#))))709NIL))710711(DEFUN |ACPLOT;segmentInfo|712(|f| |lo| |hi| |botList| |topList| |singList| |minSF| |maxSF| $)713(PROG (|val| |nextFrom| |nxt| |top| |bot| |currentFrom| |current|)714(RETURN715(LOOP716(SEQ717(COND718((NULL |topList|)719(COND720((NULL |botList|)721(RETURN-FROM |ACPLOT;segmentInfo|722(VECTOR (SPADCALL |lo| |hi| (|shellEntry| $ 119)) |hi| NIL NIL)))723(T724(PROGN725(LETT |current| (|SPADfirst| |botList|)726. #1=(|ACPLOT;segmentInfo|))727(SETQ |botList| (CDR |botList|))728(LETT |currentFrom| (|shellEntry| $ 22) . #1#)))))729((NULL |botList|)730(PROGN731(SETQ |current| (|SPADfirst| |topList|))732(SETQ |topList| (CDR |topList|))733(SETQ |currentFrom| (|shellEntry| $ 23))))734(T735(SEQ (LETT |bot| (|SPADfirst| |botList|) . #1#)736(LETT |top| (|SPADfirst| |topList|) . #1#)737(EXIT738(COND739((< |bot| |top|)740(PROGN741(SETQ |current| |bot|)742(SETQ |botList| (CDR |botList|))743(SETQ |currentFrom| (|shellEntry| $ 22))))744(T745(PROGN746(SETQ |current| |top|)747(SETQ |topList| (CDR |topList|))748(SETQ |currentFrom| (|shellEntry| $ 23)))))))))749(COND750((NULL |topList|)751(COND752((NULL |botList|)753(RETURN-FROM |ACPLOT;segmentInfo|754(VECTOR (SPADCALL |lo| |hi| (|shellEntry| $ 119)) |hi| NIL NIL)))755(T756(PROGN757(LETT |nxt| (|SPADfirst| |botList|) . #1#)758(SETQ |botList| (CDR |botList|))759(LETT |nextFrom| (|shellEntry| $ 22) . #1#)))))760((NULL |botList|)761(PROGN762(SETQ |nxt| (|SPADfirst| |topList|))763(SETQ |topList| (CDR |topList|))764(SETQ |nextFrom| (|shellEntry| $ 23))))765(T766(SEQ (SETQ |bot| (|SPADfirst| |botList|))767(SETQ |top| (|SPADfirst| |topList|))768(EXIT769(COND770((< |bot| |top|)771(PROGN772(SETQ |nxt| |bot|)773(SETQ |botList| (CDR |botList|))774(SETQ |nextFrom| (|shellEntry| $ 22))))775(T776(PROGN777(SETQ |nxt| |top|)778(SETQ |topList| (CDR |topList|))779(SETQ |nextFrom| (|shellEntry| $ 23)))))))))780(EXIT781(COND782((NOT (NULL (STRING= |currentFrom| |nextFrom|)))783(COND784((|ACPLOT;singValBetween?| |current| |nxt| |singList| $)785(RETURN-FROM |ACPLOT;segmentInfo|786(VECTOR (SPADCALL |lo| |current| (|shellEntry| $ 119)) |nxt|787|botList| |topList|)))788(T789(PROGN790(LETT |val|791(FUNCALL (CAR |f|)792(/ (- |nxt| |current|)793(FLOAT 2 |$DoubleFloatMaximum|))794(CDR |f|))795. #1#)796(COND797((OR (<= |val| |minSF|) (>= |val| |maxSF|))798(RETURN-FROM |ACPLOT;segmentInfo|799(VECTOR (SPADCALL |lo| |current| (|shellEntry| $ 119)) |nxt|800|botList| |topList|))))))))801((|ACPLOT;singValBetween?| |current| |nxt| |singList| $)802(RETURN-FROM |ACPLOT;segmentInfo|803(VECTOR (SPADCALL |lo| |current| (|shellEntry| $ 119)) |nxt|804|botList| |topList|))))))))))805806(DEFUN |ACPLOT;makeRatFcnSketch|807(|p| |x| |y| |xMin| |xMax| |yMin| |yMax| |depVar| $)808(PROG (|lo| |segInfo| |segList| |maxSF| |minSF| |top| |bot| |hi| |bran|809|rightVal| |leftVal| |denUPolyRN| |botList| |outList| |roots|810|topList| |singList| |tp| |bt| |rt| |lf| |vtans| |htans| |vtanPts|811|htanPts| |depVarMaxSF| |depVarMinSF| |depVarMax| |depVarMin|812|indVarMaxSF| |indVarMinSF| |indVarMaxNF| |indVarMinNF| |indVarMax|813|indVarMin| |f| |denUPolySF| |numUPolySF| |den| |num| |yMaxNF|814|yMinNF| |xMaxNF| |xMinNF| |yMaxSF| |yMinSF| |xMaxSF| |xMinSF| |pRN|815|dpdy| |dpdx| |curve| |RFPlot|)816(RETURN817(LET ((|factoredP| (SPADCALL |p| (|shellEntry| $ 126))))818(COND819((< 1 (SPADCALL |factoredP| (|shellEntry| $ 127)))820(|error| "reducible polynomial"))821(T822(SEQ823(LETT |dpdx| (SPADCALL |p| |x| (|shellEntry| $ 128))824. #1=(|ACPLOT;makeRatFcnSketch|))825(LETT |dpdy| (SPADCALL |p| |y| (|shellEntry| $ 128)) . #1#)826(LETT |pRN| (|ACPLOT;coerceCoefsToRNs| |p| $) . #1#)827(LETT |xMinSF| (|ACPLOT;RNtoSF| |xMin| $) . #1#)828(LETT |xMaxSF| (|ACPLOT;RNtoSF| |xMax| $) . #1#)829(LETT |yMinSF| (|ACPLOT;RNtoSF| |yMin| $) . #1#)830(LETT |yMaxSF| (|ACPLOT;RNtoSF| |yMax| $) . #1#)831(LETT |xMinNF| (|ACPLOT;RNtoNF| |xMin| $) . #1#)832(LETT |xMaxNF| (|ACPLOT;RNtoNF| |xMax| $) . #1#)833(LETT |yMinNF| (|ACPLOT;RNtoNF| |yMin| $) . #1#)834(LETT |yMaxNF| (|ACPLOT;RNtoNF| |yMax| $) . #1#)835(LETT |num|836(SPADCALL (SPADCALL |p| |depVar| 0 (|shellEntry| $ 112))837(|shellEntry| $ 129))838. #1#)839(LETT |den| (SPADCALL |p| |depVar| 1 (|shellEntry| $ 112)) . #1#)840(LETT |numUPolySF|841(|ACPLOT;SFPolyToUPoly| (|ACPLOT;coerceCoefsToSFs| |num| $) $)842. #1#)843(LETT |denUPolySF|844(|ACPLOT;SFPolyToUPoly| (|ACPLOT;coerceCoefsToSFs| |den| $) $)845. #1#)846(LETT |f|847(CONS #'|ACPLOT;makeRatFcnSketch!0|848(VECTOR |denUPolySF| $ |numUPolySF|))849. #1#)850(COND851((EQUAL |depVar| |x|)852(PROGN853(LETT |indVarMin| |yMin| . #1#)854(LETT |indVarMax| |yMax| . #1#)855(LETT |indVarMinNF| |yMinNF| . #1#)856(LETT |indVarMaxNF| |yMaxNF| . #1#)857(LETT |indVarMinSF| |yMinSF| . #1#)858(LETT |indVarMaxSF| |yMaxSF| . #1#)859(LETT |depVarMin| |xMin| . #1#)860(LETT |depVarMax| |xMax| . #1#)861(LETT |depVarMinSF| |xMinSF| . #1#)862(LETT |depVarMaxSF| |xMaxSF| . #1#)))863(T864(PROGN865(LETT |indVarMin| |xMin| . #1#)866(LETT |indVarMax| |xMax| . #1#)867(LETT |indVarMinNF| |xMinNF| . #1#)868(LETT |indVarMaxNF| |xMaxNF| . #1#)869(LETT |indVarMinSF| |xMinSF| . #1#)870(LETT |indVarMaxSF| |xMaxSF| . #1#)871(LETT |depVarMin| |yMin| . #1#)872(LETT |depVarMax| |yMax| . #1#)873(LETT |depVarMinSF| |yMinSF| . #1#)874(LETT |depVarMaxSF| |yMaxSF| . #1#))))875(LETT |htanPts|876(SPADCALL (LIST |p| |dpdx|) (LIST |x| |y|) (|shellEntry| $ 14)877(|shellEntry| $ 133))878. #1#)879(LETT |vtanPts|880(SPADCALL (LIST |p| |dpdy|) (LIST |x| |y|) (|shellEntry| $ 14)881(|shellEntry| $ 133))882. #1#)883(LETT |htans|884(|ACPLOT;listPtsInRect| |htanPts| |xMinNF| |xMaxNF| |yMinNF|885|yMaxNF| $)886. #1#)887(LETT |vtans|888(|ACPLOT;listPtsInRect| |vtanPts| |xMinNF| |xMaxNF| |yMinNF|889|yMaxNF| $)890. #1#)891(LETT |lf| NIL . #1#) (LETT |rt| NIL . #1#) (LETT |bt| NIL . #1#)892(LETT |tp| NIL . #1#)893(LETT |singList|894(PROGN895(LETT |roots|896(SPADCALL |den| (|shellEntry| $ 14)897(|shellEntry| $ 107))898. #1#)899(LETT |outList| NIL . #1#)900(LET ((#2=#:G1257 |roots|))901(LOOP902(COND ((NOT (CONSP #2#)) (RETURN NIL))903(T904(LET ((|root| (CAR #2#)))905(COND906((AND907(SPADCALL |indVarMinNF| |root|908(|shellEntry| $ 78))909(SPADCALL |root| |indVarMaxNF|910(|shellEntry| $ 78)))911(SETQ |outList|912(CONS (|ACPLOT;NFtoSF| |root| $)913|outList|)))))))914(SETQ #2# (CDR #2#))))915(SPADCALL (CONS #'|ACPLOT;makeRatFcnSketch!1| NIL) |outList|916(|shellEntry| $ 135)))917. #1#)918(LETT |topList|919(PROGN920(LETT |roots|921(SPADCALL922(SPADCALL |pRN| |depVar| |depVarMax|923(|shellEntry| $ 74))924(|shellEntry| $ 14) (|shellEntry| $ 77))925. #1#)926(LETT |outList| NIL . #1#)927(LET ((#3=#:G1258 |roots|))928(LOOP929(COND ((NOT (CONSP #3#)) (RETURN NIL))930(T931(LET ((|root| (CAR #3#)))932(COND933((AND934(SPADCALL |indVarMinNF| |root|935(|shellEntry| $ 78))936(SPADCALL |root| |indVarMaxNF|937(|shellEntry| $ 78)))938(SETQ |outList|939(CONS (|ACPLOT;NFtoSF| |root| $)940|outList|)))))))941(SETQ #3# (CDR #3#))))942(SPADCALL (CONS #'|ACPLOT;makeRatFcnSketch!2| NIL) |outList|943(|shellEntry| $ 135)))944. #1#)945(LETT |botList|946(PROGN947(LETT |roots|948(SPADCALL949(SPADCALL |pRN| |depVar| |depVarMin|950(|shellEntry| $ 74))951(|shellEntry| $ 14) (|shellEntry| $ 77))952. #1#)953(LETT |outList| NIL . #1#)954(LET ((#4=#:G1259 |roots|))955(LOOP956(COND ((NOT (CONSP #4#)) (RETURN NIL))957(T958(LET ((|root| (CAR #4#)))959(COND960((AND961(SPADCALL |indVarMinNF| |root|962(|shellEntry| $ 78))963(SPADCALL |root| |indVarMaxNF|964(|shellEntry| $ 78)))965(SETQ |outList|966(CONS (|ACPLOT;NFtoSF| |root| $)967|outList|)))))))968(SETQ #4# (CDR #4#))))969(SPADCALL (CONS #'|ACPLOT;makeRatFcnSketch!3| NIL) |outList|970(|shellEntry| $ 135)))971. #1#)972(LETT |denUPolyRN|973(|ACPLOT;RNPolyToUPoly| (|ACPLOT;coerceCoefsToRNs| |den| $) $)974. #1#)975(COND976((SPADCALL (SPADCALL |denUPolyRN| |indVarMin| (|shellEntry| $ 136))977(|spadConstant| $ 137) (|shellEntry| $ 138))978(LETT |leftVal| (- |depVarMinSF| (+ (ABS |depVarMinSF|) 1.0))979. #1#))980(T981(LETT |leftVal| (FUNCALL (CAR |f|) |indVarMinSF| (CDR |f|))982. #1#)))983(COND984((SPADCALL (SPADCALL |denUPolyRN| |indVarMax| (|shellEntry| $ 136))985(|spadConstant| $ 137) (|shellEntry| $ 138))986(LETT |rightVal| (- |depVarMinSF| (+ (ABS |depVarMinSF|) 1.0))987. #1#))988(T989(LETT |rightVal| (FUNCALL (CAR |f|) |indVarMaxSF| (CDR |f|))990. #1#)))991(COND992((EQUAL |depVar| |x|)993(PROGN994(COND995((AND (< |xMinSF| |leftVal|) (< |leftVal| |xMaxSF|))996(SETQ |bt| (CONS (|ACPLOT;makePt| |leftVal| |yMinSF| $) |bt|))))997(COND998((AND (< |xMinSF| |rightVal|) (< |rightVal| |xMaxSF|))999(SETQ |tp|1000(CONS (|ACPLOT;makePt| |rightVal| |yMaxSF| $) |tp|))))1001(LET ((#5=#:G1260 |botList|))1002(LOOP1003(COND ((NOT (CONSP #5#)) (RETURN NIL))1004(T1005(SETQ |lf|1006(CONS (|ACPLOT;makePt| |xMinSF| (CAR #5#) $)1007|lf|))))1008(SETQ #5# (CDR #5#))))1009(LET ((#6=#:G1261 |topList|))1010(LOOP1011(COND ((NOT (CONSP #6#)) (RETURN NIL))1012(T1013(SETQ |rt|1014(CONS (|ACPLOT;makePt| |xMaxSF| (CAR #6#) $)1015|rt|))))1016(SETQ #6# (CDR #6#))))))1017(T1018(PROGN1019(COND1020((AND (< |yMinSF| |leftVal|) (< |leftVal| |yMaxSF|))1021(SETQ |lf| (CONS (|ACPLOT;makePt| |xMinSF| |leftVal| $) |lf|))))1022(COND1023((AND (< |yMinSF| |rightVal|) (< |rightVal| |yMaxSF|))1024(SETQ |rt|1025(CONS (|ACPLOT;makePt| |xMaxSF| |rightVal| $) |rt|))))1026(LET ((#7=#:G1262 |botList|))1027(LOOP1028(COND ((NOT (CONSP #7#)) (RETURN NIL))1029(T1030(SETQ |bt|1031(CONS (|ACPLOT;makePt| (CAR #7#) |yMinSF| $)1032|bt|))))1033(SETQ #7# (CDR #7#))))1034(LET ((#8=#:G1263 |topList|))1035(LOOP1036(COND ((NOT (CONSP #8#)) (RETURN NIL))1037(T1038(SETQ |tp|1039(CONS (|ACPLOT;makePt| (CAR #8#) |yMaxSF| $)1040|tp|))))1041(SETQ #8# (CDR #8#)))))))1042(LETT |bran| NIL . #1#)1043(COND1044((< |depVarMinSF| |leftVal|)1045(COND ((< |leftVal| |depVarMaxSF|) (LETT |lo| |indVarMinSF| . #1#))1046((NULL |topList|)1047(COND1048((NULL |botList|)1049(RETURN-FROM |ACPLOT;makeRatFcnSketch|1050(VECTOR |p| |x| |y| |xMin| |xMax| |yMin| |yMax|1051(VECTOR |lf| |rt| |bt| |tp|) |htans| |vtans|1052|bran|)))1053(T1054(PROGN1055(LETT |lo| (|SPADfirst| |botList|) . #1#)1056(SETQ |botList| (CDR |botList|))))))1057((NULL |botList|)1058(PROGN1059(LETT |lo| (|SPADfirst| |topList|) . #1#)1060(SETQ |topList| (CDR |topList|))))1061(T1062(SEQ (LETT |bot| (|SPADfirst| |botList|) . #1#)1063(LETT |top| (|SPADfirst| |topList|) . #1#)1064(EXIT1065(COND1066((< |bot| |top|)1067(PROGN1068(LETT |lo| |bot| . #1#)1069(SETQ |botList| (CDR |botList|))))1070(T1071(PROGN1072(LETT |lo| |top| . #1#)1073(SETQ |topList| (CDR |topList|))))))))))1074((NULL |topList|)1075(COND1076((NULL |botList|)1077(RETURN-FROM |ACPLOT;makeRatFcnSketch|1078(VECTOR |p| |x| |y| |xMin| |xMax| |yMin| |yMax|1079(VECTOR |lf| |rt| |bt| |tp|) |htans| |vtans| |bran|)))1080(T1081(PROGN1082(LETT |lo| (|SPADfirst| |botList|) . #1#)1083(SETQ |botList| (CDR |botList|))))))1084((NULL |botList|)1085(PROGN1086(LETT |lo| (|SPADfirst| |topList|) . #1#)1087(SETQ |topList| (CDR |topList|))))1088(T1089(SEQ (LETT |bot| (|SPADfirst| |botList|) . #1#)1090(LETT |top| (|SPADfirst| |topList|) . #1#)1091(EXIT1092(COND1093((< |bot| |top|)1094(PROGN1095(LETT |lo| |bot| . #1#)1096(SETQ |botList| (CDR |botList|))))1097(T1098(PROGN1099(LETT |lo| |top| . #1#)1100(SETQ |topList| (CDR |topList|)))))))))1101(LETT |hi| 0.0 . #1#)1102(COND1103((< |depVarMinSF| |rightVal|)1104(COND ((< |rightVal| |depVarMaxSF|) (SETQ |hi| |indVarMaxSF|))1105((NULL |topList|)1106(COND1107((NULL |botList|)1108(|error| #9="makeRatFcnSketch: plot domain"))1109(T1110(PROGN1111(SETQ |hi| (SPADCALL |botList| (|shellEntry| $ 140)))1112(SETQ |botList|1113(SPADCALL |hi| |botList|1114(|shellEntry| $ 141)))))))1115((NULL |botList|)1116(PROGN1117(SETQ |hi| (SPADCALL |topList| (|shellEntry| $ 140)))1118(SETQ |topList|1119(SPADCALL |hi| |topList| (|shellEntry| $ 141)))))1120(T1121(SEQ1122(LETT |bot| (SPADCALL |botList| (|shellEntry| $ 140))1123. #1#)1124(LETT |top| (SPADCALL |topList| (|shellEntry| $ 140))1125. #1#)1126(EXIT1127(COND1128((< |top| |bot|)1129(PROGN1130(SETQ |hi| |bot|)1131(SETQ |botList|1132(SPADCALL |hi| |botList|1133(|shellEntry| $ 141)))))1134(T1135(PROGN1136(SETQ |hi| |top|)1137(SETQ |topList|1138(SPADCALL |hi| |topList|1139(|shellEntry| $ 141)))))))))))1140((NULL |topList|)1141(COND ((NULL |botList|) (|error| #9#))1142(T1143(PROGN1144(SETQ |hi| (SPADCALL |botList| (|shellEntry| $ 140)))1145(SETQ |botList|1146(SPADCALL |hi| |botList| (|shellEntry| $ 141)))))))1147((NULL |botList|)1148(PROGN1149(SETQ |hi| (SPADCALL |topList| (|shellEntry| $ 140)))1150(SETQ |topList| (SPADCALL |hi| |topList| (|shellEntry| $ 141)))))1151(T1152(SEQ (LETT |bot| (SPADCALL |botList| (|shellEntry| $ 140)) . #1#)1153(LETT |top| (SPADCALL |topList| (|shellEntry| $ 140)) . #1#)1154(EXIT1155(COND1156((< |top| |bot|)1157(PROGN1158(SETQ |hi| |bot|)1159(SETQ |botList|1160(SPADCALL |hi| |botList| (|shellEntry| $ 141)))))1161(T1162(PROGN1163(SETQ |hi| |top|)1164(SETQ |topList|1165(SPADCALL |hi| |topList|1166(|shellEntry| $ 141))))))))))1167(COND1168((EQUAL |depVar| |x|)1169(PROGN1170(LETT |minSF| |xMinSF| . #1#)1171(LETT |maxSF| |xMaxSF| . #1#)))1172(T1173(PROGN1174(LETT |minSF| |yMinSF| . #1#)1175(LETT |maxSF| |yMaxSF| . #1#))))1176(LETT |segList| NIL . #1#)1177(LOOP1178(PROGN1179(LETT |segInfo|1180(|ACPLOT;segmentInfo| |f| |lo| |hi| |botList| |topList|1181|singList| |minSF| |maxSF| $)1182. #1#)1183(SETQ |segList| (CONS (SVREF |segInfo| 0) |segList|))1184(LETT |lo| (SVREF |segInfo| 1) . #1#)1185(SETQ |botList| (SVREF |segInfo| 2))1186(SETQ |topList| (SVREF |segInfo| 3))1187(COND ((= |lo| |hi|) (RETURN |$NoValue|)))))1188(LET ((#10=#:G1264 |segList|))1189(LOOP1190(COND ((NOT (CONSP #10#)) (RETURN NIL))1191(T1192(PROGN1193(LETT |RFPlot|1194(SPADCALL |f| (CAR #10#) (|shellEntry| $ 149))1195. #1#)1196(LETT |curve|1197(|SPADfirst|1198(SPADCALL |RFPlot| (|shellEntry| $ 150)))1199. #1#)1200(COND1201((EQUAL |depVar| |y|)1202(SETQ |bran| (CONS |curve| |bran|)))1203(T1204(SETQ |bran|1205(CONS1206(SPADCALL (CONS #'|ACPLOT;swapCoords| $)1207|curve| (|shellEntry| $ 153))1208|bran|)))))))1209(SETQ #10# (CDR #10#))))1210(EXIT1211(VECTOR |p| |x| |y| |xMin| |xMax| |yMin| |yMax|1212(VECTOR |lf| |rt| |bt| |tp|) |htans| |vtans| |bran|)))))))))12131214(DEFUN |ACPLOT;makeRatFcnSketch!3| (|#1| |#2| $$) (< |#1| |#2|))12151216(DEFUN |ACPLOT;makeRatFcnSketch!2| (|#1| |#2| $$) (< |#1| |#2|))12171218(DEFUN |ACPLOT;makeRatFcnSketch!1| (|#1| |#2| $$) (< |#1| |#2|))12191220(DEFUN |ACPLOT;makeRatFcnSketch!0| (|#1| $$)1221(LET (($ (SVREF $$ 1)))1222(/ (SPADCALL (SVREF $$ 2) |#1| (|shellEntry| $ 130))1223(SPADCALL (SVREF $$ 0) |#1| (|shellEntry| $ 130)))))12241225(DEFUN |ACPLOT;makeGeneralSketch| (|pol| |x| |y| |xMin| |xMax| |yMin| |yMax| $)1226(PROG (|bran| |bdPts| |tp| |bt| |rt| |lf| |pRN| |bound| |err| |delta|1227|dpdySF| |dpdxSF| |pSF| |corners| |yMaxSF| |yMinSF| |xMaxSF| |xMinSF|1228|crits| |vtans| |htans| |vInc| |hInc| |critPts| |vtanPts| |htanPts|1229|foo| |singPts| |yMaxNF| |yMinNF| |xMaxNF| |xMinNF| |dpdy| |dpdx| |p|)1230(RETURN1231(LET ((|factoredPol| (SPADCALL |pol| (|shellEntry| $ 126))))1232(COND1233((< 1 (SPADCALL |factoredPol| (|shellEntry| $ 127)))1234(|error| "reducible polynomial"))1235(T1236(SEQ1237(LETT |p| (SPADCALL |factoredPol| 1 (|shellEntry| $ 154))1238. #1=(|ACPLOT;makeGeneralSketch|))1239(LETT |dpdx| (SPADCALL |p| |x| (|shellEntry| $ 128)) . #1#)1240(LETT |dpdy| (SPADCALL |p| |y| (|shellEntry| $ 128)) . #1#)1241(LETT |xMinNF| (|ACPLOT;RNtoNF| |xMin| $) . #1#)1242(LETT |xMaxNF| (|ACPLOT;RNtoNF| |xMax| $) . #1#)1243(LETT |yMinNF| (|ACPLOT;RNtoNF| |yMin| $) . #1#)1244(LETT |yMaxNF| (|ACPLOT;RNtoNF| |yMax| $) . #1#)1245(LETT |singPts|1246(SPADCALL (LIST |p| |dpdx| |dpdy|) (LIST |x| |y|)1247(|shellEntry| $ 14) (|shellEntry| $ 133))1248. #1#)1249(LETT |foo|1250(CONS #'|ACPLOT;makeGeneralSketch!0|1251(VECTOR $ |yMaxNF| |yMinNF| |xMaxNF| |xMinNF|))1252. #1#)1253(EXIT1254(COND1255((|ACPLOT;ptsSuchThat?| |singPts| |foo| $)1256(|error| "singular pts in region of sketch"))1257(T1258(SEQ1259(LETT |htanPts|1260(SPADCALL (LIST |p| |dpdx|) (LIST |x| |y|)1261(|shellEntry| $ 14) (|shellEntry| $ 133))1262. #1#)1263(LETT |vtanPts|1264(SPADCALL (LIST |p| |dpdy|) (LIST |x| |y|)1265(|shellEntry| $ 14) (|shellEntry| $ 133))1266. #1#)1267(LETT |critPts| (APPEND |htanPts| |vtanPts|) . #1#)1268(LETT |hInc|1269(SPADCALL (SPADCALL 1 20 (|shellEntry| $ 156))1270(SPADCALL |xMax| |xMin| (|shellEntry| $ 157))1271(|shellEntry| $ 158))1272. #1#)1273(LETT |vInc|1274(SPADCALL (SPADCALL 1 20 (|shellEntry| $ 156))1275(SPADCALL |yMax| |yMin| (|shellEntry| $ 157))1276(|shellEntry| $ 158))1277. #1#)1278(SETQ |foo|1279(CONS #'|ACPLOT;makeGeneralSketch!1|1280(VECTOR $ |xMinNF| |yMaxNF| |yMinNF|)))1281(COND1282((|ACPLOT;ptsSuchThat?| |critPts| |foo| $)1283(PROGN1284(SETQ |xMin|1285(|ACPLOT;newX| |critPts| |singPts| |yMinNF| |yMaxNF|1286|xMinNF| |xMin|1287(SPADCALL |hInc| (|shellEntry| $ 159)) $))1288(SETQ |xMinNF| (|ACPLOT;RNtoNF| |xMin| $)))))1289(SETQ |foo|1290(CONS #'|ACPLOT;makeGeneralSketch!2|1291(VECTOR $ |xMaxNF| |yMaxNF| |yMinNF|)))1292(COND1293((|ACPLOT;ptsSuchThat?| |critPts| |foo| $)1294(PROGN1295(SETQ |xMax|1296(|ACPLOT;newX| |critPts| |singPts| |yMinNF| |yMaxNF|1297|xMaxNF| |xMax| |hInc| $))1298(SETQ |xMaxNF| (|ACPLOT;RNtoNF| |xMax| $)))))1299(SETQ |foo|1300(CONS #'|ACPLOT;makeGeneralSketch!3|1301(VECTOR $ |yMinNF| |xMaxNF| |xMinNF|)))1302(COND1303((|ACPLOT;ptsSuchThat?| |critPts| |foo| $)1304(PROGN1305(SETQ |yMin|1306(|ACPLOT;newY| |critPts| |singPts| |xMinNF| |xMaxNF|1307|yMinNF| |yMin|1308(SPADCALL |vInc| (|shellEntry| $ 159)) $))1309(SETQ |yMinNF| (|ACPLOT;RNtoNF| |yMin| $)))))1310(SETQ |foo|1311(CONS #'|ACPLOT;makeGeneralSketch!4|1312(VECTOR $ |yMaxNF| |xMaxNF| |xMinNF|)))1313(COND1314((|ACPLOT;ptsSuchThat?| |critPts| |foo| $)1315(PROGN1316(SETQ |yMax|1317(|ACPLOT;newY| |critPts| |singPts| |xMinNF| |xMaxNF|1318|yMaxNF| |yMax| |vInc| $))1319(SETQ |yMaxNF| (|ACPLOT;RNtoNF| |yMax| $)))))1320(LETT |htans|1321(|ACPLOT;listPtsInRect| |htanPts| |xMinNF| |xMaxNF|1322|yMinNF| |yMaxNF| $)1323. #1#)1324(LETT |vtans|1325(|ACPLOT;listPtsInRect| |vtanPts| |xMinNF| |xMaxNF|1326|yMinNF| |yMaxNF| $)1327. #1#)1328(LETT |crits| (APPEND |htans| |vtans|) . #1#)1329(LETT |xMinSF| (|ACPLOT;RNtoSF| |xMin| $) . #1#)1330(LETT |xMaxSF| (|ACPLOT;RNtoSF| |xMax| $) . #1#)1331(LETT |yMinSF| (|ACPLOT;RNtoSF| |yMin| $) . #1#)1332(LETT |yMaxSF| (|ACPLOT;RNtoSF| |yMax| $) . #1#)1333(LETT |corners| (VECTOR |xMinSF| |xMaxSF| |yMinSF| |yMaxSF|)1334. #1#)1335(LETT |pSF| (|ACPLOT;coerceCoefsToSFs| |p| $) . #1#)1336(LETT |dpdxSF| (|ACPLOT;coerceCoefsToSFs| |dpdx| $) . #1#)1337(LETT |dpdySF| (|ACPLOT;coerceCoefsToSFs| |dpdy| $) . #1#)1338(LETT |delta|1339(MIN (/ (- |xMaxSF| |xMinSF|) 25)1340(/ (- |yMaxSF| |yMinSF|) 25))1341. #1#)1342(LETT |err| (MIN (/ |delta| 100) (/ (|shellEntry| $ 18) 100))1343. #1#)1344(LETT |bound| 10 . #1#)1345(LETT |pRN| (|ACPLOT;coerceCoefsToRNs| |p| $) . #1#)1346(LETT |lf|1347(|ACPLOT;listPtsOnVertBdry| |pRN| |x| |xMin| |yMinNF|1348|yMaxNF| $)1349. #1#)1350(LETT |rt|1351(|ACPLOT;listPtsOnVertBdry| |pRN| |x| |xMax| |yMinNF|1352|yMaxNF| $)1353. #1#)1354(LETT |bt|1355(|ACPLOT;listPtsOnHorizBdry| |pRN| |y| |yMin| |xMinNF|1356|xMaxNF| $)1357. #1#)1358(LETT |tp|1359(|ACPLOT;listPtsOnHorizBdry| |pRN| |y| |yMax| |xMinNF|1360|xMaxNF| $)1361. #1#)1362(LETT |bdPts| (VECTOR |lf| |rt| |bt| |tp|) . #1#)1363(LETT |bran|1364(|ACPLOT;traceBranches| |pSF| |dpdxSF| |dpdySF| |x| |y|1365|corners| |delta| |err| |bound| |crits| |bdPts| $)1366. #1#)1367(EXIT1368(VECTOR |p| |x| |y| |xMin| |xMax| |yMin| |yMax| |bdPts| |htans|1369|vtans| |bran|)))))))))))))13701371(DEFUN |ACPLOT;makeGeneralSketch!4| (|#1| $$)1372(|ACPLOT;onHorzSeg?| |#1| (SVREF $$ 3) (SVREF $$ 2) (SVREF $$ 1)1373(SVREF $$ 0)))13741375(DEFUN |ACPLOT;makeGeneralSketch!3| (|#1| $$)1376(|ACPLOT;onHorzSeg?| |#1| (SVREF $$ 3) (SVREF $$ 2) (SVREF $$ 1)1377(SVREF $$ 0)))13781379(DEFUN |ACPLOT;makeGeneralSketch!2| (|#1| $$)1380(|ACPLOT;onVertSeg?| |#1| (SVREF $$ 3) (SVREF $$ 2) (SVREF $$ 1)1381(SVREF $$ 0)))13821383(DEFUN |ACPLOT;makeGeneralSketch!1| (|#1| $$)1384(|ACPLOT;onVertSeg?| |#1| (SVREF $$ 3) (SVREF $$ 2) (SVREF $$ 1)1385(SVREF $$ 0)))13861387(DEFUN |ACPLOT;makeGeneralSketch!0| (|#1| $$)1388(|ACPLOT;inRect?| |#1| (SVREF $$ 4) (SVREF $$ 3) (SVREF $$ 2) (SVREF $$ 1)1389(SVREF $$ 0)))13901391(DEFUN |ACPLOT;refine;$Df$;34| (|plot| |stepFraction| $)1392(PROG (|vtans| |htans| |bran| |bdPts| |crits| |bound| |err| |delta|)1393(RETURN1394(LET* ((|p| (SVREF |plot| 0))1395(|x| (SVREF |plot| 1))1396(|y| (SVREF |plot| 2))1397(|dpdx| (SPADCALL |p| |x| (|shellEntry| $ 128)))1398(|dpdy| (SPADCALL |p| |y| (|shellEntry| $ 128)))1399(|pSF| (|ACPLOT;coerceCoefsToSFs| |p| $))1400(|dpdxSF| (|ACPLOT;coerceCoefsToSFs| |dpdx| $))1401(|dpdySF| (|ACPLOT;coerceCoefsToSFs| |dpdy| $))1402(|xMin| (SVREF |plot| 3))1403(|xMax| (SVREF |plot| 4))1404(|yMin| (SVREF |plot| 5))1405(|yMax| (SVREF |plot| 6))1406(|xMinSF| (|ACPLOT;RNtoSF| |xMin| $))1407(|xMaxSF| (|ACPLOT;RNtoSF| |xMax| $))1408(|yMinSF| (|ACPLOT;RNtoSF| |yMin| $))1409(|yMaxSF| (|ACPLOT;RNtoSF| |yMax| $))1410(|corners| (VECTOR |xMinSF| |xMaxSF| |yMinSF| |yMaxSF|)))1411(PROGN1412(SETQ |pSF| (|ACPLOT;coerceCoefsToSFs| |p| $))1413(SETQ |dpdxSF| (|ACPLOT;coerceCoefsToSFs| |dpdx| $))1414(SETQ |dpdySF| (|ACPLOT;coerceCoefsToSFs| |dpdy| $))1415(LETT |delta|1416(* |stepFraction|1417(MIN (/ (- |xMaxSF| |xMinSF|) 25)1418(/ (- |yMaxSF| |yMinSF|) 25)))1419. #1=(|ACPLOT;refine;$Df$;34|))1420(LETT |err| (MIN (/ |delta| 100) (/ (|shellEntry| $ 18) 100)) . #1#)1421(LETT |bound| 10 . #1#)1422(LETT |crits| (APPEND (SVREF |plot| 8) (SVREF |plot| 9)) . #1#)1423(LETT |bdPts| (SVREF |plot| 7) . #1#)1424(LETT |bran|1425(|ACPLOT;traceBranches| |pSF| |dpdxSF| |dpdySF| |x| |y| |corners|1426|delta| |err| |bound| |crits| |bdPts| $)1427. #1#)1428(LETT |htans| (SVREF |plot| 8) . #1#)1429(LETT |vtans| (SVREF |plot| 9) . #1#)1430(VECTOR |p| |x| |y| |xMin| |xMax| |yMin| |yMax| |bdPts| |htans| |vtans|1431|bran|))))))14321433(DEFUN |ACPLOT;traceBranches|1434(|pSF| |dpdxSF| |dpdySF| |x| |y| |corners| |delta| |err| |bound| |crits|1435|bdPts| $)1436(PROG (|segInfo| |pt| |p0|)1437(RETURN1438(LET* ((|lf| (SVREF |bdPts| 0))1439(|rt| (SVREF |bdPts| 1))1440(|tp| (SVREF |bdPts| 3))1441(|bt| (SVREF |bdPts| 2))1442(|bdry| (APPEND (APPEND |lf| |rt|) (APPEND |bt| |tp|)))1443(|bran| NIL))1444(SEQ1445(LOOP1446(COND ((NULL |bdry|) (RETURN NIL))1447(T1448(PROGN1449(LETT |pt| (|SPADfirst| |bdry|) . #1=(|ACPLOT;traceBranches|))1450(LETT |p0|1451(|ACPLOT;dummyFirstPt| |pt| |dpdxSF| |dpdySF| |x| |y|1452|lf| |rt| |bt| |tp| $)1453. #1#)1454(LETT |segInfo|1455(|ACPLOT;listPtsOnSegment| |pSF| |dpdxSF| |dpdySF| |x|1456|y| |p0| |pt| |corners| |delta| |err| |bound| |crits|1457|bdry| $)1458. #1#)1459(SETQ |bran| (CONS (|SPADfirst| |segInfo|) |bran|))1460(SETQ |crits| (SPADCALL |segInfo| (|shellEntry| $ 168)))1461(SETQ |bdry| (SPADCALL |segInfo| (|shellEntry| $ 169)))))))1462(LOOP1463(COND ((NULL |crits|) (RETURN NIL))1464(T1465(PROGN1466(LETT |pt| (|SPADfirst| |crits|) . #1#)1467(LETT |segInfo|1468(|ACPLOT;listPtsOnLoop| |pSF| |dpdxSF| |dpdySF| |x| |y|1469|pt| |corners| |delta| |err| |bound| |crits| |bdry| $)1470. #1#)1471(SETQ |bran| (CONS (|SPADfirst| |segInfo|) |bran|))1472(SETQ |crits| (SPADCALL |segInfo| (|shellEntry| $ 168)))))))1473(EXIT |bran|))))))14741475(DEFUN |ACPLOT;dummyFirstPt|1476(|p1| |dpdxSF| |dpdySF| |x| |y| |lf| |rt| |bt| |tp| $)1477(LET* ((|x1| (SPADCALL |p1| (|shellEntry| $ 34)))1478(|y1| (SPADCALL |p1| (|shellEntry| $ 33)))1479(|zero| 0.0)1480(|one| 1.0)1481(|px|1482(SPADCALL1483(SPADCALL |dpdxSF| (LIST |x| |y|) (LIST |x1| |y1|)1484(|shellEntry| $ 170))1485(|shellEntry| $ 171)))1486(|py|1487(SPADCALL1488(SPADCALL |dpdySF| (LIST |x| |y|) (LIST |x1| |y1|)1489(|shellEntry| $ 170))1490(|shellEntry| $ 171))))1491(COND1492((< (* |px| |py|) |zero|)1493(COND1494((OR (SPADCALL |p1| |lf| (|shellEntry| $ 172))1495(SPADCALL |p1| |bt| (|shellEntry| $ 172)))1496(|ACPLOT;makePt| (- |x1| |one|) (- |y1| |one|) $))1497(T (|ACPLOT;makePt| (+ |x1| |one|) (+ |y1| |one|) $))))1498((OR (SPADCALL |p1| |lf| (|shellEntry| $ 172))1499(SPADCALL |p1| |tp| (|shellEntry| $ 172)))1500(|ACPLOT;makePt| (- |x1| |one|) (+ |y1| |one|) $))1501(T (|ACPLOT;makePt| (+ |x1| |one|) (- |y1| |one|) $)))))15021503(DEFUN |ACPLOT;listPtsOnSegment|1504(|pSF| |dpdxSF| |dpdySF| |x| |y| |p0| |p1| |corners| |delta| |err|1505|bound| |crits| |bdry| $)1506(PROG (|pt1| |pt0| |p2| |ptInfo| |pointList|)1507(RETURN1508(SEQ (SETQ |bdry| (SPADCALL |p1| |bdry| (|shellEntry| $ 173)))1509(LETT |pointList| (LIST |p1|) . #1=(|ACPLOT;listPtsOnSegment|))1510(LETT |ptInfo|1511(|ACPLOT;computeNextPt| |pSF| |dpdxSF| |dpdySF| |x| |y| |p0|1512|p1| |corners| |delta| |err| |bound| |crits| |bdry| $)1513. #1#)1514(LETT |p2| (CAR |ptInfo|) . #1#)1515(EXIT1516(COND1517((NOT (NULL (STRING= (CDR |ptInfo|) (|shellEntry| $ 20))))1518(PROGN1519(SETQ |bdry| (SPADCALL |p2| |bdry| (|shellEntry| $ 173)))1520(SETQ |pointList| (CONS |p2| |pointList|))1521(LIST |pointList| |crits| |bdry|)))1522(T1523(SEQ1524(COND1525((NOT (NULL (STRING= (CDR |ptInfo|) (|shellEntry| $ 21))))1526(SETQ |crits| (SPADCALL |p2| |crits| (|shellEntry| $ 173)))))1527(SETQ |pointList| (CONS |p2| |pointList|))1528(LOOP1529(SEQ1530(LETT |pt0| (SPADCALL |pointList| (|shellEntry| $ 174)) . #1#)1531(LETT |pt1| (|SPADfirst| |pointList|) . #1#)1532(SETQ |ptInfo|1533(|ACPLOT;computeNextPt| |pSF| |dpdxSF| |dpdySF| |x| |y|1534|pt0| |pt1| |corners| |delta| |err| |bound| |crits|1535|bdry| $))1536(SETQ |p2| (CAR |ptInfo|))1537(EXIT1538(COND1539((NOT (NULL (STRING= (CDR |ptInfo|) (|shellEntry| $ 20))))1540(PROGN1541(SETQ |bdry| (SPADCALL |p2| |bdry| (|shellEntry| $ 173)))1542(SETQ |pointList| (CONS |p2| |pointList|))1543(RETURN-FROM |ACPLOT;listPtsOnSegment|1544(LIST |pointList| |crits| |bdry|))))1545(T1546(PROGN1547(COND1548((NOT (NULL (STRING= (CDR |ptInfo|) (|shellEntry| $ 21))))1549(SETQ |crits|1550(SPADCALL |p2| |crits| (|shellEntry| $ 173)))))1551(SETQ |pointList| (CONS |p2| |pointList|))))))))1552(EXIT (LIST |pointList| |crits| |bdry|))))))))))15531554(DEFUN |ACPLOT;listPtsOnLoop|1555(|pSF| |dpdxSF| |dpdySF| |x| |y| |p1| |corners| |delta| |err| |bound|1556|crits| |bdry| $)1557(PROG (|pt1| |pt0|)1558(RETURN1559(LET* ((|x1| (SPADCALL |p1| (|shellEntry| $ 34)))1560(|y1| (SPADCALL |p1| (|shellEntry| $ 33)))1561(|px|1562(SPADCALL1563(SPADCALL |dpdxSF| (LIST |x| |y|) (LIST |x1| |y1|)1564(|shellEntry| $ 170))1565(|shellEntry| $ 171)))1566(|py|1567(SPADCALL1568(SPADCALL |dpdySF| (LIST |x| |y|) (LIST |x1| |y1|)1569(|shellEntry| $ 170))1570(|shellEntry| $ 171)))1571(|p0| (|ACPLOT;makePt| (- |x1| 1.0) (- |y1| 1.0) $))1572(|pointList| (LIST |p1|))1573(|ptInfo|1574(|ACPLOT;computeNextPt| |pSF| |dpdxSF| |dpdySF| |x| |y| |p0| |p1|1575|corners| |delta| |err| |bound| |crits| |bdry| $))1576(|p2| (CAR |ptInfo|)))1577(COND1578((NOT (NULL (STRING= (CDR |ptInfo|) (|shellEntry| $ 20))))1579(|error| "boundary reached while on loop"))1580(T1581(SEQ1582(COND1583((NOT (NULL (STRING= (CDR |ptInfo|) (|shellEntry| $ 21))))1584(COND1585((SPADCALL |p1| |p2| (|shellEntry| $ 175))1586(|error| "first and second points on loop are identical"))1587(T (SETQ |crits| (SPADCALL |p2| |crits| (|shellEntry| $ 173)))))))1588(SETQ |pointList| (CONS |p2| |pointList|))1589(LOOP1590(SEQ1591(LETT |pt0| (SPADCALL |pointList| (|shellEntry| $ 174))1592. #1=(|ACPLOT;listPtsOnLoop|))1593(LETT |pt1| (|SPADfirst| |pointList|) . #1#)1594(SETQ |ptInfo|1595(|ACPLOT;computeNextPt| |pSF| |dpdxSF| |dpdySF| |x| |y|1596|pt0| |pt1| |corners| |delta| |err| |bound| |crits| |bdry|1597$))1598(SETQ |p2| (CAR |ptInfo|))1599(EXIT1600(COND1601((NOT (NULL (STRING= (CDR |ptInfo|) (|shellEntry| $ 20))))1602(|error| "boundary reached while on loop"))1603(T1604(SEQ1605(COND1606((NOT (NULL (STRING= (CDR |ptInfo|) (|shellEntry| $ 21))))1607(PROGN1608(SETQ |crits| (SPADCALL |p2| |crits| (|shellEntry| $ 173)))1609(COND1610((SPADCALL |p1| |p2| (|shellEntry| $ 175))1611(PROGN1612(SETQ |pointList| (CONS |p2| |pointList|))1613(RETURN-FROM |ACPLOT;listPtsOnLoop|1614(LIST |pointList| |crits| |bdry|))))))))1615(EXIT (SETQ |pointList| (CONS |p2| |pointList|)))))))))1616(EXIT (LIST |pointList| |crits| |bdry|)))))))))16171618(DEFUN |ACPLOT;computeNextPt|1619(|pSF| |dpdxSF| |dpdySF| |x| |y| |p0| |p1| |corners| |delta| |err|1620|bound| |crits| |bdry| $)1621(PROG (|critPt| |bdryPt| |pt| |x2| |x2New| |f| |y2| |y2New| |y2Approx|1622|incVar| |x2Approx| |critPt2| |critPt1| |pt2| |pt1| |x2Temp| |y2Temp|1623|yPointList| |xPointList| |y2Approxx| |x2Approxx| |yHi| |yLo| |xHi|1624|xLo| |lookingFor| |deltaY| |incVar0| |deltaX| |yy| |xx|)1625(RETURN1626(LET* ((|xMinSF| (SVREF |corners| 0))1627(|xMaxSF| (SVREF |corners| 1))1628(|yMinSF| (SVREF |corners| 2))1629(|yMaxSF| (SVREF |corners| 3))1630(|x0| (SPADCALL |p0| (|shellEntry| $ 34)))1631(|y0| (SPADCALL |p0| (|shellEntry| $ 33)))1632(|x1| (SPADCALL |p1| (|shellEntry| $ 34)))1633(|y1| (SPADCALL |p1| (|shellEntry| $ 33)))1634(|px|1635(SPADCALL1636(SPADCALL |dpdxSF| (LIST |x| |y|) (LIST |x1| |y1|)1637(|shellEntry| $ 170))1638(|shellEntry| $ 171)))1639(|py|1640(SPADCALL1641(SPADCALL |dpdySF| (LIST |x| |y|) (LIST |x1| |y1|)1642(|shellEntry| $ 170))1643(|shellEntry| $ 171))))1644(SEQ1645(COND1646((< (ABS |px|) (ABS |py|))1647(PROGN1648(LETT |incVar| |x| . #1=(|ACPLOT;computeNextPt|))1649(LETT |incVar0| |incVar| . #1#)1650(LETT |deltaX| (COND ((< |x0| |x1|) |delta|) (T (- |delta|))) . #1#)1651(LETT |x2Approx| (+ |x1| |deltaX|) . #1#)1652(LETT |y2Approx| (+ |y1| (* (- (/ |px| |py|)) |deltaX|)) . #1#)))1653(T1654(PROGN1655(LETT |incVar| |y| . #1#)1656(LETT |incVar0| |incVar| . #1#)1657(LETT |deltaY| (COND ((< |y0| |y1|) |delta|) (T (- |delta|))) . #1#)1658(LETT |x2Approx| (+ |x1| (* (- (/ |py| |px|)) |deltaY|)) . #1#)1659(LETT |y2Approx| (+ |y1| |deltaY|) . #1#))))1660(LETT |lookingFor| (|shellEntry| $ 19) . #1#)1661(COND1662((>= |x2Approx| |xMaxSF|)1663(PROGN1664(LETT |incVar| |x| . #1#)1665(SETQ |lookingFor| (|shellEntry| $ 20))1666(LETT |x2Approx| |xMaxSF| . #1#)1667(LETT |y2Approx| (+ |y1| (* (- (/ |px| |py|)) (- |x2Approx| |x1|)))1668. #1#)))1669((<= |x2Approx| |xMinSF|)1670(PROGN1671(LETT |incVar| |x| . #1#)1672(SETQ |lookingFor| (|shellEntry| $ 20))1673(LETT |x2Approx| |xMinSF| . #1#)1674(LETT |y2Approx| (+ |y1| (* (- (/ |px| |py|)) (- |x2Approx| |x1|)))1675. #1#))))1676(COND1677((>= |y2Approx| |yMaxSF|)1678(PROGN1679(LETT |incVar| |y| . #1#)1680(SETQ |lookingFor| (|shellEntry| $ 20))1681(LETT |y2Approx| |yMaxSF| . #1#)1682(LETT |x2Approx| (+ |x1| (* (- (/ |py| |px|)) (- |y2Approx| |y1|)))1683. #1#)))1684((<= |y2Approx| |yMinSF|)1685(PROGN1686(LETT |incVar| |y| . #1#)1687(SETQ |lookingFor| (|shellEntry| $ 20))1688(LETT |y2Approx| |yMinSF| . #1#)1689(LETT |x2Approx| (+ |x1| (* (- (/ |py| |px|)) (- |y2Approx| |y1|)))1690. #1#))))1691(COND1692((< |x1| |x2Approx|)1693(PROGN (LETT |xLo| |x1| . #1#) (LETT |xHi| |x2Approx| . #1#)))1694(T (PROGN (LETT |xLo| |x2Approx| . #1#) (LETT |xHi| |x1| . #1#))))1695(COND1696((< |y1| |y2Approx|)1697(PROGN (LETT |yLo| |y1| . #1#) (LETT |yHi| |y2Approx| . #1#)))1698(T (PROGN (LETT |yLo| |y2Approx| . #1#) (LETT |yHi| |y1| . #1#))))1699(LETT |x2Approxx| |x2Approx| . #1#) (LETT |y2Approxx| |y2Approx| . #1#)1700(LETT |xPointList| NIL . #1#) (LETT |yPointList| NIL . #1#)1701(LET ((#2=#:G1265 |crits|))1702(LOOP1703(COND ((NOT (CONSP #2#)) (RETURN NIL))1704(T1705(LET ((|pt| (CAR #2#)))1706(SEQ (LETT |xx| (SPADCALL |pt| (|shellEntry| $ 34)) . #1#)1707(LETT |yy| (SPADCALL |pt| (|shellEntry| $ 33)) . #1#)1708(COND1709((AND (AND (= |xx| |x2Approx|) (NOT (= |xx| |x1|)))1710(<1711(MIN (ABS (- |yy| |yLo|))1712(ABS (- |yy| |yHi|)))1713|delta|))1714(SETQ |xPointList| (CONS |pt| |xPointList|))))1715(COND1716((AND (AND (< |xLo| |xx|) (< |xx| |xHi|))1717(<1718(MIN (ABS (- |yy| |yLo|))1719(ABS (- |yy| |yHi|)))1720|delta|))1721(PROGN1722(SETQ |xPointList| (CONS |pt| NIL))1723(LETT |x2Approx| |xx| . #1#)1724(COND ((< |xx| |x1|) (LETT |xLo| |xx| . #1#))1725(T (LETT |xHi| |xx| . #1#))))))1726(COND1727((AND (= |yy| |y2Approx|) (NOT (= |yy| |y1|)))1728(SETQ |yPointList| (CONS |pt| |yPointList|))))1729(EXIT1730(COND1731((AND (AND (< |yLo| |yy|) (< |yy| |yHi|))1732(<1733(MIN (ABS (- |xx| |xLo|))1734(ABS (- |xx| |xHi|)))1735|delta|))1736(PROGN1737(SETQ |yPointList| (CONS |pt| NIL))1738(LETT |y2Approx| |yy| . #1#)1739(COND ((< |yy| |y1|) (LETT |yLo| |yy| . #1#))1740(T (LETT |yHi| |yy| . #1#)))))))))))1741(SETQ #2# (CDR #2#))))1742(COND1743((AND (NOT (NULL |xPointList|)) (NOT (NULL |yPointList|)))1744(COND1745((SPADCALL |xPointList| |yPointList| (|shellEntry| $ 176))1746(PROGN1747(LETT |incVar| |incVar0| . #1#)1748(COND1749((EQUAL |incVar| |x|)1750(LETT |y2Approx|1751(+ |y1| (* (- (/ |px| |py|)) (- |x2Approx| |x1|))) . #1#))1752(T1753(LETT |x2Approx|1754(+ |x1| (* (- (/ |py| |px|)) (- |y2Approx| |y1|)))1755. #1#)))1756(SETQ |lookingFor| (|shellEntry| $ 21))))1757((EQUAL |incVar0| |x|)1758(SEQ1759(LETT |x2Temp| (+ |x1| (* (- (/ |py| |px|)) (- |y2Approx| |y1|)))1760. #1#)1761(LETT |f|1762(|ACPLOT;SFPolyToUPoly|1763(SPADCALL |pSF| |y| |y2Approx| (|shellEntry| $ 177)) $)1764. #1#)1765(LETT |x2New| (|ACPLOT;newtonApprox| |f| |x2Temp| |err| |bound| $)1766. #1#)1767(EXIT1768(COND1769((EQL (CAR |x2New|) 1)1770(PROGN1771(LETT |y2Approx|1772(+ |y1| (* (- (/ |px| |py|)) (- |x2Approx| |x1|)))1773. #1#)1774(LETT |incVar| |x| . #1#)1775(SETQ |lookingFor| (|shellEntry| $ 21))))1776(T1777(SEQ1778(LETT |y2Temp|1779(+ |y1| (* (- (/ |px| |py|)) (- |x2Approx| |x1|)))1780. #1#)1781(SETQ |f|1782(|ACPLOT;SFPolyToUPoly|1783(SPADCALL |pSF| |x| |x2Approx| (|shellEntry| $ 177))1784$))1785(LETT |y2New|1786(|ACPLOT;newtonApprox| |f| |y2Temp| |err| |bound| $)1787. #1#)1788(EXIT1789(COND1790((EQL (CAR |y2New|) 1)1791(RETURN-FROM |ACPLOT;computeNextPt|1792(|ACPLOT;computeNextPt| |pSF| |dpdxSF| |dpdySF| |x| |y|1793|p0| |p1| |corners| (ABS (/ (- |x2Approx| |x1|) 2))1794|err| |bound| |crits| |bdry| $)))1795(T1796(SEQ1797(LETT |pt1| (|ACPLOT;makePt| |x2Approx| (CDR |y2New|) $)1798. #1#)1799(LETT |pt2| (|ACPLOT;makePt| (CDR |x2New|) |y2Approx| $)1800. #1#)1801(LETT |critPt1| (|ACPLOT;findPtOnList| |pt1| |crits| $)1802. #1#)1803(LETT |critPt2| (|ACPLOT;findPtOnList| |pt2| |crits| $)1804. #1#)1805(COND1806((AND (EQL (CAR |critPt1|) 1) (EQL (CAR |critPt2|) 1))1807(EXIT1808(COND1809((< (ABS (- |x2Temp| |x1|)) (ABS (- |x2Approx| |x1|)))1810(RETURN-FROM |ACPLOT;computeNextPt|1811(CONS |pt1| (|shellEntry| $ 19))))1812(T1813(RETURN-FROM |ACPLOT;computeNextPt|1814(CONS |pt2| (|shellEntry| $ 19))))))))1815(EXIT1816(COND1817((EQL (CAR |critPt1|) 1)1818(RETURN-FROM |ACPLOT;computeNextPt|1819(CONS1820(COND ((ZEROP (CAR |critPt2|)) (CDR |critPt2|))1821(T1822(|moanRetract| |critPt2|1823'(|Point| (|DoubleFloat|)))))1824(|shellEntry| $ 21))))1825((EQL (CAR |critPt2|) 1)1826(RETURN-FROM |ACPLOT;computeNextPt|1827(CONS (CDR |critPt1|) (|shellEntry| $ 21))))1828((< (ABS (- |x2Temp| |x1|)) (ABS (- |x2Approx| |x1|)))1829(RETURN-FROM |ACPLOT;computeNextPt|1830(CONS (CDR |critPt2|) (|shellEntry| $ 21))))1831(T1832(RETURN-FROM |ACPLOT;computeNextPt|1833(CONS (CDR |critPt1|)1834(|shellEntry| $ 21))))))))))))))))1835(T1836(SEQ1837(LETT |y2Temp| (+ |y1| (* (- (/ |px| |py|)) (- |x2Approx| |x1|)))1838. #1#)1839(LETT |f|1840(|ACPLOT;SFPolyToUPoly|1841(SPADCALL |pSF| |x| |x2Approx| (|shellEntry| $ 177)) $)1842. #1#)1843(LETT |y2New| (|ACPLOT;newtonApprox| |f| |y2Temp| |err| |bound| $)1844. #1#)1845(EXIT1846(COND1847((EQL (CAR |y2New|) 1)1848(PROGN1849(LETT |x2Approx|1850(+ |x1| (* (- (/ |py| |px|)) (- |y2Approx| |y1|)))1851. #1#)1852(LETT |incVar| |y| . #1#)1853(SETQ |lookingFor| (|shellEntry| $ 21))))1854(T1855(SEQ1856(LETT |x2Temp|1857(+ |x1| (* (- (/ |py| |px|)) (- |y2Approx| |y1|)))1858. #1#)1859(SETQ |f|1860(|ACPLOT;SFPolyToUPoly|1861(SPADCALL |pSF| |y| |y2Approx| (|shellEntry| $ 177))1862$))1863(LETT |x2New|1864(|ACPLOT;newtonApprox| |f| |x2Temp| |err| |bound| $)1865. #1#)1866(EXIT1867(COND1868((EQL (CAR |x2New|) 1)1869(RETURN-FROM |ACPLOT;computeNextPt|1870(|ACPLOT;computeNextPt| |pSF| |dpdxSF| |dpdySF| |x| |y|1871|p0| |p1| |corners| (ABS (/ (- |y2Approx| |y1|) 2))1872|err| |bound| |crits| |bdry| $)))1873(T1874(SEQ1875(LETT |pt1| (|ACPLOT;makePt| |x2Approx| (CDR |y2New|) $)1876. #1#)1877(LETT |pt2| (|ACPLOT;makePt| (CDR |x2New|) |y2Approx| $)1878. #1#)1879(LETT |critPt1| (|ACPLOT;findPtOnList| |pt1| |crits| $)1880. #1#)1881(LETT |critPt2| (|ACPLOT;findPtOnList| |pt2| |crits| $)1882. #1#)1883(COND1884((AND (EQL (CAR |critPt1|) 1) (EQL (CAR |critPt2|) 1))1885(EXIT1886(COND1887((< (ABS (- |y2Temp| |y1|)) (ABS (- |y2Approx| |y1|)))1888(RETURN-FROM |ACPLOT;computeNextPt|1889(CONS |pt2| (|shellEntry| $ 19))))1890(T1891(RETURN-FROM |ACPLOT;computeNextPt|1892(CONS |pt1| (|shellEntry| $ 19))))))))1893(EXIT1894(COND1895((EQL (CAR |critPt1|) 1)1896(RETURN-FROM |ACPLOT;computeNextPt|1897(CONS1898(COND ((ZEROP (CAR |critPt2|)) (CDR |critPt2|))1899(T1900(|moanRetract| |critPt2|1901'(|Point| (|DoubleFloat|)))))1902(|shellEntry| $ 21))))1903((OR (EQL (CAR |critPt2|) 1)1904(< (ABS (- |y2Temp| |y1|))1905(ABS (- |y2Approx| |y1|))))1906(RETURN-FROM |ACPLOT;computeNextPt|1907(CONS (CDR |critPt1|) (|shellEntry| $ 21))))1908(T1909(RETURN-FROM |ACPLOT;computeNextPt|1910(CONS (CDR |critPt2|)1911(|shellEntry| $ 21)))))))))))))))))))1912(COND1913((AND (NOT (NULL |xPointList|)) (NULL |yPointList|))1914(SEQ1915(LETT |y2Approx| (+ |y1| (* (- (/ |px| |py|)) (- |x2Approx| |x1|)))1916. #1#)1917(EXIT1918(COND1919((EQUAL |incVar0| |x|)1920(PROGN1921(LETT |incVar| |x| . #1#)1922(SETQ |lookingFor| (|shellEntry| $ 21))))1923(T1924(SEQ1925(LETT |f|1926(|ACPLOT;SFPolyToUPoly|1927(SPADCALL |pSF| |x| |x2Approx| (|shellEntry| $ 177)) $)1928. #1#)1929(LETT |y2New|1930(|ACPLOT;newtonApprox| |f| |y2Approx| |err| |bound| $)1931. #1#)1932(EXIT1933(COND1934((EQL (CAR |y2New|) 1)1935(PROGN1936(LETT |x2Approx| |x2Approxx| . #1#)1937(SETQ |y2Approx| |y2Approxx|)))1938(T1939(PROGN1940(LETT |pt| (|ACPLOT;makePt| |x2Approx| (CDR |y2New|) $)1941. #1#)1942(LETT |critPt| (|ACPLOT;findPtOnList| |pt| |crits| $) . #1#)1943(COND1944((EQL (CAR |critPt|) 1)1945(RETURN-FROM |ACPLOT;computeNextPt|1946(CONS |pt| (|shellEntry| $ 19))))1947(T1948(RETURN-FROM |ACPLOT;computeNextPt|1949(CONS (CDR |critPt|) (|shellEntry| $ 21))))))))))))))))1950(COND1951((AND (NULL |xPointList|) (NOT (NULL |yPointList|)))1952(SEQ1953(LETT |x2Approx| (+ |x1| (* (- (/ |py| |px|)) (- |y2Approx| |y1|)))1954. #1#)1955(EXIT1956(COND1957((EQUAL |incVar0| |y|)1958(PROGN1959(LETT |incVar| |y| . #1#)1960(SETQ |lookingFor| (|shellEntry| $ 21))))1961(T1962(SEQ1963(LETT |f|1964(|ACPLOT;SFPolyToUPoly|1965(SPADCALL |pSF| |y| |y2Approx| (|shellEntry| $ 177)) $)1966. #1#)1967(LETT |x2New|1968(|ACPLOT;newtonApprox| |f| |x2Approx| |err| |bound| $)1969. #1#)1970(EXIT1971(COND1972((EQL (CAR |x2New|) 1)1973(PROGN1974(SETQ |x2Approx| |x2Approxx|)1975(LETT |y2Approx| |y2Approxx| . #1#)))1976(T1977(PROGN1978(LETT |pt| (|ACPLOT;makePt| (CDR |x2New|) |y2Approx| $)1979. #1#)1980(LETT |critPt| (|ACPLOT;findPtOnList| |pt| |crits| $) . #1#)1981(COND1982((EQL (CAR |critPt|) 1)1983(RETURN-FROM |ACPLOT;computeNextPt|1984(CONS |pt| (|shellEntry| $ 19))))1985(T1986(RETURN-FROM |ACPLOT;computeNextPt|1987(CONS (CDR |critPt|) (|shellEntry| $ 21))))))))))))))))1988(COND1989((EQUAL |incVar| |x|)1990(PROGN1991(LETT |x2| |x2Approx| . #1#)1992(LETT |f|1993(|ACPLOT;SFPolyToUPoly|1994(SPADCALL |pSF| |x| |x2| (|shellEntry| $ 177)) $)1995. #1#)1996(LETT |y2New| (|ACPLOT;newtonApprox| |f| |y2Approx| |err| |bound| $)1997. #1#)1998(COND1999((EQL (CAR |y2New|) 1)2000(RETURN-FROM |ACPLOT;computeNextPt|2001(|ACPLOT;computeNextPt| |pSF| |dpdxSF| |dpdySF| |x| |y| |p0|2002|p1| |corners| (ABS (/ (- |x2| |x1|) 2)) |err| |bound| |crits|2003|bdry| $)))2004(T (LETT |y2| (CDR |y2New|) . #1#)))))2005(T2006(PROGN2007(LETT |y2| |y2Approx| . #1#)2008(LETT |f|2009(|ACPLOT;SFPolyToUPoly|2010(SPADCALL |pSF| |y| |y2| (|shellEntry| $ 177)) $)2011. #1#)2012(LETT |x2New| (|ACPLOT;newtonApprox| |f| |x2Approx| |err| |bound| $)2013. #1#)2014(COND2015((EQL (CAR |x2New|) 1)2016(RETURN-FROM |ACPLOT;computeNextPt|2017(|ACPLOT;computeNextPt| |pSF| |dpdxSF| |dpdySF| |x| |y| |p0|2018|p1| |corners| (ABS (/ (- |y2| |y1|) 2)) |err| |bound| |crits|2019|bdry| $)))2020(T (LETT |x2| (CDR |x2New|) . #1#))))))2021(LETT |pt| (|ACPLOT;makePt| |x2| |y2| $) . #1#)2022(EXIT2023(COND2024((NOT (NULL (STRING= |lookingFor| (|shellEntry| $ 19))))2025(CONS |pt| |lookingFor|))2026((NOT (NULL (STRING= |lookingFor| (|shellEntry| $ 20))))2027(PROGN2028(LETT |bdryPt| (|ACPLOT;findPtOnList| |pt| |bdry| $) . #1#)2029(COND2030((EQL (CAR |bdryPt|) 1) (|error| "couldn't find boundary point"))2031(T (CONS (CDR |bdryPt|) (|shellEntry| $ 20))))))2032(T2033(PROGN2034(LETT |critPt| (|ACPLOT;findPtOnList| |pt| |crits| $) . #1#)2035(COND ((EQL (CAR |critPt|) 1) (CONS |pt| (|shellEntry| $ 19)))2036(T (CONS (CDR |critPt|) (|shellEntry| $ 21)))))))))))))20372038(DEFUN |ACPLOT;newtonApprox| (|f| |a0| |err| |bound| $)2039(LET* ((|Df| (SPADCALL |f| (|shellEntry| $ 178)))2040(|oldApprox| |a0|)2041(|newApprox|2042(- |a0|2043(/ (SPADCALL |f| |a0| (|shellEntry| $ 130))2044(SPADCALL |Df| |a0| (|shellEntry| $ 130)))))2045(|i| 1))2046(SEQ2047(LOOP2048(COND ((NOT (< |err| (ABS (- |newApprox| |oldApprox|)))) (RETURN NIL))2049(T2050(COND2051((EQL |i| |bound|)2052(RETURN-FROM |ACPLOT;newtonApprox| (CONS 1 "failed")))2053(T2054(PROGN2055(SETQ |oldApprox| |newApprox|)2056(SETQ |newApprox|2057(- |oldApprox|2058(/ (SPADCALL |f| |oldApprox| (|shellEntry| $ 130))2059(SPADCALL |Df| |oldApprox|2060(|shellEntry| $ 130)))))2061(SETQ |i| (+ |i| 1))))))))2062(EXIT (CONS 0 |newApprox|)))))20632064(DEFUN |ACPLOT;listBranches;$L;41| (|acplot| $)2065(DECLARE (IGNORE $))2066(SVREF |acplot| 10))20672068(DEFUN |ACPLOT;coerce;$Of;42| (|acplot| $)2069(PROG (|ff| |ll|)2070(RETURN2071(LET* ((|pp| (SPADCALL (SVREF |acplot| 0) (|shellEntry| $ 183)))2072(|xx| (SPADCALL (SVREF |acplot| 1) (|shellEntry| $ 184)))2073(|yy| (SPADCALL (SVREF |acplot| 2) (|shellEntry| $ 184)))2074(|xLo| (SPADCALL (SVREF |acplot| 3) (|shellEntry| $ 185)))2075(|xHi| (SPADCALL (SVREF |acplot| 4) (|shellEntry| $ 185)))2076(|yLo| (SPADCALL (SVREF |acplot| 5) (|shellEntry| $ 185)))2077(|yHi| (SPADCALL (SVREF |acplot| 6) (|shellEntry| $ 185)))2078(|zip| (SPADCALL " = 0" (|shellEntry| $ 186)))2079(|com| (SPADCALL ", " (|shellEntry| $ 186)))2080(|les| (SPADCALL " <= " (|shellEntry| $ 186)))2081(|l|2082(LIST |pp| |zip| |com| |xLo| |les| |xx| |les| |xHi| |com| |yLo|2083|les| |yy| |les| |yHi|))2084(|f| NIL))2085(SEQ2086(LET ((#1=#:G1266 (SVREF |acplot| 10)))2087(LOOP2088(COND ((NOT (CONSP #1#)) (RETURN NIL))2089(T2090(PROGN2091(LETT |ll|2092(LET ((#2=#:G1267 (CAR #1#)) (#3=#:G1226 NIL))2093(LOOP2094(COND ((NOT (CONSP #2#)) (RETURN (|reverse!| #3#)))2095(T2096(SETQ #3#2097(CONS2098(SPADCALL (CAR #2#)2099(|shellEntry| $ 189))2100#3#))))2101(SETQ #2# (CDR #2#))))2102. #4=(|ACPLOT;coerce;$Of;42|))2103(SETQ |f|2104(CONS (SPADCALL |ll| (|shellEntry| $ 191)) |f|)))))2105(SETQ #1# (CDR #1#))))2106(LETT |ff|2107(SPADCALL (SPADCALL |l| (|shellEntry| $ 193))2108(SPADCALL |f| (|shellEntry| $ 191))2109(|shellEntry| $ 194))2110. #4#)2111(EXIT2112(SPADCALL (SPADCALL "ACPLOT" (|shellEntry| $ 186)) |ff|2113(|shellEntry| $ 194))))))))21142115(DEFUN |PlaneAlgebraicCurvePlot| ()2116(DECLARE (SPECIAL |$ConstructorCache|))2117(LET ((#1=#:G12682118(|tableValue| |$ConstructorCache| '|PlaneAlgebraicCurvePlot|)))2119(COND (#1# (|CDRwithIncrement| (CDAR #1#)))2120(T2121(UNWIND-PROTECT2122(PROG12123(CDDAR2124(SETF (|tableValue| |$ConstructorCache|2125'|PlaneAlgebraicCurvePlot|)2126(LIST2127(CONS NIL2128(CONS 1 (|PlaneAlgebraicCurvePlot;|))))))2129(SETQ #1# T))2130(COND2131((NOT #1#)2132(|tableRemove!| |$ConstructorCache|2133'|PlaneAlgebraicCurvePlot|))))))))21342135(DEFUN |PlaneAlgebraicCurvePlot;| ()2136(DECLARE (SPECIAL |$ConstructorCache|))2137(LET (($ (|newShell| 196)) (|pv$| (|buildPredVector| 0 0 NIL)))2138(PROGN2139(SETF (|shellEntry| $ 0) '(|PlaneAlgebraicCurvePlot|))2140(SETF (|shellEntry| $ 3) |pv$|)2141(|haddProp| |$ConstructorCache| '|PlaneAlgebraicCurvePlot| NIL (CONS 1 $))2142(|stuffDomainSlots| $)2143(SETF (|shellEntry| $ 6)2144(|Record| (|:| |poly| (|Polynomial| (|Integer|)))2145(|:| |xVar| (|Symbol|)) (|:| |yVar| (|Symbol|))2146(|:| |minXVal| (|Fraction| (|Integer|)))2147(|:| |maxXVal| (|Fraction| (|Integer|)))2148(|:| |minYVal| (|Fraction| (|Integer|)))2149(|:| |maxYVal| (|Fraction| (|Integer|)))2150(|:| |bdryPts|2151(|Record|2152(|:| |left| (|List| (|Point| (|DoubleFloat|))))2153(|:| |right| (|List| (|Point| (|DoubleFloat|))))2154(|:| |bottom| (|List| (|Point| (|DoubleFloat|))))2155(|:| |top| (|List| (|Point| (|DoubleFloat|))))))2156(|:| |hTanPts| (|List| (|Point| (|DoubleFloat|))))2157(|:| |vTanPts| (|List| (|Point| (|DoubleFloat|))))2158(|:| |branches|2159(|List| (|List| (|Point| (|DoubleFloat|)))))))2160(SETF (|shellEntry| $ 14) (SPADCALL 1 -6 10 (|shellEntry| $ 13)))2161(SETF (|shellEntry| $ 18) (SPADCALL 1 -3 10 (|shellEntry| $ 17)))2162(SETF (|shellEntry| $ 19) "nothing in particular")2163(SETF (|shellEntry| $ 20) "boundary point")2164(SETF (|shellEntry| $ 21) "critical point")2165(SETF (|shellEntry| $ 22) "bottom")2166(SETF (|shellEntry| $ 23) "top")2167$)))21682169(MAKEPROP '|PlaneAlgebraicCurvePlot| '|infovec|2170(LIST2171'#(NIL NIL NIL NIL NIL NIL '|Rep| (|PositiveInteger|) (0 . |One|)2172(|NonNegativeInteger|) (4 . |One|) (|Float|) (|Integer|)2173(8 . |float|) 'EPSILON (15 . -) (|DoubleFloat|) (20 . |float|)2174'PLOTERR 'NADA 'BDRY 'CRIT 'BOTTOM 'TOP (27 . |Zero|)2175(31 . |Zero|) (35 . |Zero|) (39 . |convert|) (44 . +)2176(|Point| 16) (|List| 16) (50 . |point|) (|PointPackage| 16)2177(55 . |yCoord|) (60 . |xCoord|) (65 . -) (71 . |abs|) (|Boolean|)2178(76 . <) (82 . |false|) (|Polynomial| 16) (86 . |zero?|)2179(|SparseUnivariatePolynomial| 16) (91 . |Zero|)2180(95 . |leadingCoefficient|) (100 . |totalDegree|)2181(105 . |monomial|) (111 . |reductum|) (116 . +) (|Fraction| 12)2182(|Polynomial| 49) (122 . |zero?|)2183(|SparseUnivariatePolynomial| 49) (127 . |Zero|)2184(131 . |leadingCoefficient|) (136 . |totalDegree|)2185(141 . |monomial|) (147 . |reductum|) (152 . +) (158 . |coerce|)2186(|PolynomialFunctions2| 12 16) (|Mapping| 16 12)2187(|Polynomial| 12) (163 . |map|) (169 . |coerce|)2188(|PolynomialFunctions2| 12 49) (|Mapping| 49 12) (174 . |map|)2189(180 . |coerce|) (185 . |coerce|) (190 . |convert|) (|List| 29)2190(195 . |nil|) (|Symbol|) (199 . |eval|) (|RealSolvePackage|)2191(|List| 11) (206 . |solve|) (212 . <) (218 . |cons|) (224 . <=)2192(230 . |first|) (235 . |second|) (240 . |true|) (244 . =)2193(250 . +) (256 . |max|) (262 . |min|) (268 . /) (274 . +)2194(|Segment| 49) (280 . |lo|) (285 . |hi|) (290 . <=) (|List| 73)2195(296 . |variables|) (301 . |#|) (306 . >) (312 . =)2196(318 . |member?|) (324 . |first|) (329 . |totalDegree|)2197(334 . |degree|) |ACPLOT;makeSketch;P2S2S$;27| (340 . =)2198(|List| 71) (346 . |nil|) (350 . |solve|) (356 . |nil|)2199(360 . |cons|) (366 . |null|) (371 . |cons|)2200(377 . |coefficient|) (384 . |ground|) (389 . *) (395 . -)2201(400 . /) (406 . <=) (|Segment| 16) (412 . |segment|)2202(418 . |first|) (423 . |rest|) (|String|) (428 . =) (434 . >=)2203(|Factored| 62) (440 . |coerce|) (445 . |numberOfFactors|)2204(450 . |differentiate|) (456 . -) (461 . |elt|) (|List| 76)2205(|List| 62) (467 . |realSolve|) (|Mapping| 37 16 16)2206(474 . |sort|) (480 . |elt|) (486 . |Zero|) (490 . =)2207(496 . |One|) (500 . |last|) (505 . |remove|) (511 . >)2208(|List| 118) (517 . |nil|) (521 . |cons|) (527 . =) (|Plot|)2209(|Mapping| 16 16) (533 . |plot|) (539 . |listBranches|)2210(544 . |first|) (|Mapping| 29 29) (549 . |map|)2211(555 . |nthFactor|) (561 . |append|) (567 . /) (573 . -)2212(579 . *) (585 . -) (590 . |append|) (596 . /) (602 . |min|)2213(608 . |min|) |ACPLOT;refine;$Df$;34| (612 . |null|)2214(617 . |not|) (622 . |first|) (627 . |second|) (632 . |third|)2215(637 . |eval|) (644 . |ground|) (649 . |member?|)2216(655 . |remove|) (661 . |second|) (666 . =) (672 . =)2217(678 . |eval|) (685 . |differentiate|) (690 . =) (696 . +)2218|ACPLOT;listBranches;$L;41| (|OutputForm|) (702 . |coerce|)2219(707 . |coerce|) (712 . |coerce|) (717 . |message|) (|List| 182)2220(722 . |nil|) (726 . |coerce|) (|List| $) (731 . |vconcat|)2221(736 . |cons|) (742 . |hconcat|) (747 . |vconcat|)2222|ACPLOT;coerce;$Of;42|)2223'#(|yRange| 753 |xRange| 758 |refine| 763 |makeSketch| 7692224|listBranches| 778 |coerce| 783)2225'NIL2226(CONS (|makeByteWordVec2| 1 '(0 0))2227(CONS '#(NIL NIL)2228(CONS2229'#((|PlottablePlaneCurveCategory|) (|CoercibleTo| 182))2230(|makeByteWordVec2| 1952231'(0 7 0 8 0 9 0 10 3 11 0 12 12 7223213 1 12 0 0 15 3 16 0 12 12 7 1722330 9 0 24 0 12 0 25 0 16 0 26 1 11223416 0 27 2 16 0 0 0 28 1 29 0 30223531 1 32 16 29 33 1 32 16 29 34 2223616 0 0 0 35 1 16 0 0 36 2 16 37 022370 38 0 37 0 39 1 40 37 0 41 0 4222380 43 1 40 16 0 44 1 40 9 0 45 2223942 0 16 9 46 1 40 0 0 47 2 42 0 022400 48 1 50 37 0 51 0 52 0 53 1 50224149 0 54 1 50 9 0 55 2 52 0 49 9224256 1 50 0 0 57 2 52 0 0 0 58 1 1622430 12 59 2 60 40 61 62 63 1 49 0224412 64 2 65 50 66 62 67 1 16 0 49224568 1 11 0 49 69 1 16 11 0 70 0 7122460 72 3 50 0 0 73 49 74 2 75 76 50224711 77 2 11 37 0 0 78 2 71 0 29 0224879 2 11 37 0 0 80 1 76 11 0 81 1224976 11 0 82 0 37 0 83 2 11 37 0 0225084 2 11 0 0 0 85 2 11 0 0 0 86 2225111 0 0 0 87 2 49 0 0 0 88 2 49 022520 0 89 1 90 49 0 91 1 90 49 0 9222532 49 37 0 0 93 1 62 94 0 95 1 9422549 0 96 2 9 37 0 0 97 2 9 37 0 0225598 2 94 37 73 0 99 1 94 73 0 10022561 62 9 0 101 2 62 9 0 73 102 2 73225737 0 0 104 0 105 0 106 2 75 76 62225811 107 0 30 0 108 2 30 0 16 0 10922591 30 37 0 110 2 105 0 71 0 111 3226062 0 0 73 9 112 1 62 12 0 113 2226116 0 0 0 114 1 16 0 0 115 2 16 022620 0 116 2 16 37 0 0 117 2 118 0226316 16 119 1 30 16 0 120 1 30 0 02264121 2 122 37 0 0 123 2 16 37 0 02265124 1 125 0 62 126 1 125 9 0 12722662 62 0 0 73 128 1 62 0 0 129 2 42226716 0 16 130 3 75 131 132 94 112268133 2 30 0 134 0 135 2 52 49 0 492269136 0 49 0 137 2 49 37 0 0 138 0227016 0 139 1 30 16 0 140 2 30 0 1622710 141 2 16 37 0 0 142 0 143 0 14422722 143 0 118 0 145 2 16 37 0 0 14622732 147 0 148 118 149 1 147 105 02274150 1 105 71 0 151 2 71 0 152 02275153 2 125 62 0 12 154 2 131 0 0 02276155 2 49 0 12 12 156 2 49 0 0 02277157 2 49 0 0 0 158 1 49 0 0 159 2227871 0 0 0 160 2 16 0 0 12 161 2 1622790 0 0 162 0 37 0 163 1 71 37 02280165 1 37 0 0 166 1 71 29 0 167 12281105 71 0 168 1 105 71 0 169 3 4022820 0 94 30 170 1 40 16 0 171 2 71228337 29 0 172 2 71 0 29 0 173 1 71228429 0 174 2 29 37 0 0 175 2 71 3722850 0 176 3 40 0 0 73 16 177 1 42 022860 178 2 7 37 0 0 179 2 7 0 0 02287180 1 62 182 0 183 1 73 182 0 18422881 49 182 0 185 1 182 0 122 186 02289187 0 188 1 29 182 0 189 1 182 02290190 191 2 187 0 182 0 192 1 182 02291190 193 2 182 0 0 0 194 1 0 118 022921 1 0 118 0 1 2 0 0 0 16 164 5 022930 62 73 73 90 90 103 1 0 105 02294181 1 0 182 0 195)))))2295'|lookupComplete|))22962297(SETF (|dbTemplate| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2298#(NIL NIL NIL NIL NIL NIL '|Rep| (|PositiveInteger|) (0 . |One|)2299(|NonNegativeInteger|) (4 . |One|) (|Float|) (|Integer|)2300(8 . |float|) 'EPSILON (15 . -) (|DoubleFloat|) (20 . |float|)2301'PLOTERR 'NADA 'BDRY 'CRIT 'BOTTOM 'TOP (27 . |Zero|) (31 . |Zero|)2302(35 . |Zero|) (39 . |convert|) (44 . +) (|Point| 16) (|List| 16)2303(50 . |point|) (|PointPackage| 16) (55 . |yCoord|) (60 . |xCoord|)2304(65 . -) (71 . |abs|) (|Boolean|) (76 . <) (82 . |false|)2305(|Polynomial| 16) (86 . |zero?|) (|SparseUnivariatePolynomial| 16)2306(91 . |Zero|) (95 . |leadingCoefficient|) (100 . |totalDegree|)2307(105 . |monomial|) (111 . |reductum|) (116 . +) (|Fraction| 12)2308(|Polynomial| 49) (122 . |zero?|) (|SparseUnivariatePolynomial| 49)2309(127 . |Zero|) (131 . |leadingCoefficient|) (136 . |totalDegree|)2310(141 . |monomial|) (147 . |reductum|) (152 . +) (158 . |coerce|)2311(|PolynomialFunctions2| 12 16) (|Mapping| 16 12) (|Polynomial| 12)2312(163 . |map|) (169 . |coerce|) (|PolynomialFunctions2| 12 49)2313(|Mapping| 49 12) (174 . |map|) (180 . |coerce|) (185 . |coerce|)2314(190 . |convert|) (|List| 29) (195 . |nil|) (|Symbol|) (199 . |eval|)2315(|RealSolvePackage|) (|List| 11) (206 . |solve|) (212 . <)2316(218 . |cons|) (224 . <=) (230 . |first|) (235 . |second|)2317(240 . |true|) (244 . =) (250 . +) (256 . |max|) (262 . |min|)2318(268 . /) (274 . +) (|Segment| 49) (280 . |lo|) (285 . |hi|)2319(290 . <=) (|List| 73) (296 . |variables|) (301 . |#|) (306 . >)2320(312 . =) (318 . |member?|) (324 . |first|) (329 . |totalDegree|)2321(334 . |degree|) |ACPLOT;makeSketch;P2S2S$;27| (340 . =) (|List| 71)2322(346 . |nil|) (350 . |solve|) (356 . |nil|) (360 . |cons|)2323(366 . |null|) (371 . |cons|) (377 . |coefficient|) (384 . |ground|)2324(389 . *) (395 . -) (400 . /) (406 . <=) (|Segment| 16)2325(412 . |segment|) (418 . |first|) (423 . |rest|) (|String|) (428 . =)2326(434 . >=) (|Factored| 62) (440 . |coerce|) (445 . |numberOfFactors|)2327(450 . |differentiate|) (456 . -) (461 . |elt|) (|List| 76)2328(|List| 62) (467 . |realSolve|) (|Mapping| 37 16 16) (474 . |sort|)2329(480 . |elt|) (486 . |Zero|) (490 . =) (496 . |One|) (500 . |last|)2330(505 . |remove|) (511 . >) (|List| 118) (517 . |nil|) (521 . |cons|)2331(527 . =) (|Plot|) (|Mapping| 16 16) (533 . |plot|)2332(539 . |listBranches|) (544 . |first|) (|Mapping| 29 29)2333(549 . |map|) (555 . |nthFactor|) (561 . |append|) (567 . /)2334(573 . -) (579 . *) (585 . -) (590 . |append|) (596 . /)2335(602 . |min|) (608 . |min|) |ACPLOT;refine;$Df$;34| (612 . |null|)2336(617 . |not|) (622 . |first|) (627 . |second|) (632 . |third|)2337(637 . |eval|) (644 . |ground|) (649 . |member?|) (655 . |remove|)2338(661 . |second|) (666 . =) (672 . =) (678 . |eval|)2339(685 . |differentiate|) (690 . =) (696 . +)2340|ACPLOT;listBranches;$L;41| (|OutputForm|) (702 . |coerce|)2341(707 . |coerce|) (712 . |coerce|) (717 . |message|) (|List| 182)2342(722 . |nil|) (726 . |coerce|) (|List| $) (731 . |vconcat|)2343(736 . |cons|) (742 . |hconcat|) (747 . |vconcat|)2344|ACPLOT;coerce;$Of;42|))23452346(SETF (|dbLookupFunction| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2347'|lookupComplete|)23482349(SETF (|dbConstructorForm| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2350'(|PlaneAlgebraicCurvePlot|))23512352(SETF (|dbConstructorKind| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2353'|domain|)23542355(SETF (|dbConstructorModemap| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2356'(((|PlaneAlgebraicCurvePlot|)2357(|Join| (|PlottablePlaneCurveCategory|)2358(CATEGORY |domain|2359(SIGNATURE |makeSketch|2360($ (|Polynomial| (|Integer|)) (|Symbol|) (|Symbol|)2361(|Segment| (|Fraction| (|Integer|)))2362(|Segment| (|Fraction| (|Integer|)))))2363(SIGNATURE |refine| ($ $ (|DoubleFloat|))))))2364(T |PlaneAlgebraicCurvePlot|)))23652366(SETF (|dbDualSignature| (|constructorDB| '|PlaneAlgebraicCurvePlot|)) '(NIL))23672368(SETF (|dbSourceFile| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2369'"acplot.spad")23702371(SETF (|dbModemaps| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2372'((|makeSketch| (*1 *1 *2 *3 *3 *4 *4)2373(AND (|isDomain| *2 (|Polynomial| (|Integer|)))2374(|isDomain| *3 (|Symbol|))2375(|isDomain| *4 (|Segment| (|Fraction| (|Integer|))))2376(|isDomain| *1 (|PlaneAlgebraicCurvePlot|))))2377(|refine| (*1 *1 *1 *2)2378(AND (|isDomain| *2 (|DoubleFloat|))2379(|isDomain| *1 (|PlaneAlgebraicCurvePlot|))))))23802381(SETF (|dbOperations| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2382'((|yRange| (#1=((|Segment| #2=(|DoubleFloat|)) $) NIL T ELT))2383(|xRange| (#1# NIL T ELT))2384(|refine| (($ $ (|DoubleFloat|)) 164 T ELT))2385(|makeSketch|2386(($ (|Polynomial| (|Integer|)) (|Symbol|) (|Symbol|)2387(|Segment| (|Fraction| (|Integer|)))2388(|Segment| (|Fraction| (|Integer|))))2389103 T ELT))2390(|listBranches| (((|List| (|List| (|Point| #2#))) $) 181 T ELT))2391(|coerce| (((|OutputForm|) $) 195 T ELT))))23922393(SETF (|dbOperationTable| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2394#(|yRange| 753 |xRange| 758 |refine| 763 |makeSketch| 7692395|listBranches| 778 |coerce| 783))23962397(SETF (|dbCapsuleDefinitions| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2398'((|ACPLOT;coerce;$Of;42| ((|OutputForm|) $))2399(|ACPLOT;listBranches;$L;41|2400((|List| (|List| (|Point| (|DoubleFloat|)))) $))2401(|ACPLOT;refine;$Df$;34| ($ $ (|DoubleFloat|)))2402(|ACPLOT;makeSketch;P2S2S$;27|2403($ (|Polynomial| (|Integer|)) (|Symbol|) (|Symbol|)2404(|Segment| (|Fraction| (|Integer|)))2405(|Segment| (|Fraction| (|Integer|)))))))24062407(SETF (|dbAbbreviation| (|constructorDB| '|PlaneAlgebraicCurvePlot|)) 'ACPLOT)24082409(SETF (|dbPrincipals| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2410'(((|PlottablePlaneCurveCategory|) . T)))24112412(SETF (|dbAncestors| (|constructorDB| '|PlaneAlgebraicCurvePlot|))2413'(((|CoercibleTo| (|OutputForm|)) . T)2414((|PlottablePlaneCurveCategory|) . T)))241524162417