[qepcad-B] Initial import.

Jerry James jjames at fedoraproject.org
Fri Feb 14 19:16:41 UTC 2014


commit 8d6f9f081f6dc61155cbb3fef8b8859901d41e34
Author: Jerry James <jamesjer at betterlinux.com>
Date:   Fri Feb 14 12:17:12 2014 -0700

    Initial import.

 .gitignore                |    1 +
 qepcad-B-attr.patch       |  387 ++++++++++
 qepcad-B-destructor.patch |  125 ++++
 qepcad-B-env.patch        |   11 +
 qepcad-B-parens.patch     |  132 ++++
 qepcad-B-return.patch     |   56 ++
 qepcad-B-signed.patch     |   78 ++
 qepcad-B-syntax.patch     |   22 +
 qepcad-B-uninit.patch     |  314 ++++++++
 qepcad-B-unused.patch     | 1739 +++++++++++++++++++++++++++++++++++++++++++++
 qepcad-B.spec             |  116 +++
 sources                   |    1 +
 12 files changed, 2982 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..1ce00a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/qepcad-B.1.69.tar.gz
diff --git a/qepcad-B-attr.patch b/qepcad-B-attr.patch
new file mode 100644
index 0000000..f0cc22d
--- /dev/null
+++ b/qepcad-B-attr.patch
@@ -0,0 +1,387 @@
+--- ./extensions/rend/rend.h.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/rend/rend.h	2013-08-28 11:34:57.057516390 -0600
+@@ -34,7 +34,7 @@ extern "C" {
+ 
+ #include <iostream>
+ #include <sstream>
+-istream& qein(); // fetches the current qepcad istream object
++istream& qein() __pure; // fetches the current qepcad istream object
+ 
+ class singlelinestream : public istringstream
+ {
+--- ./extensions/rend/Rend_Cell.h.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/rend/Rend_Cell.h	2013-08-30 14:37:28.376780785 -0600
+@@ -49,8 +49,8 @@ public:
+   Rend_Cell& operator[](int i); /* gives child from index   */
+   Rend_Cell* neighbor_l(); /* returns left neighbor cell    */
+   Rend_Cell* neighbor_r(); /* returns right neighbor cell   */
+-  int array_index();       /* returns i such that 
+-			      parent->child[i] is the cell  */
++  int array_index() __pure; /* returns i such that 
++				parent->child[i] is the cell  */
+   void set_extents(Word J);
+   void out_descrip(Rend_Win &W, ostream &out, Mapper &M);
+   void out_descrip_ps(Rend_Win &W, ostream &out, Mapper &M);
+--- ./extensions/adj2d/truthbytop/truthbytop.h.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/truthbytop/truthbytop.h	2013-08-30 09:41:55.321108153 -0600
+@@ -4,13 +4,13 @@
+ #include "adj2D.h"
+ 
+ void GADDVERTEX(Word v, Word l, Word *G_);
+-Word GSTACKHANDLE(Word i, Word G_);
++Word GSTACKHANDLE(Word i, Word G_) __pure;
+ Word GVERTEXHANDLE(Word v, Word G_);
+ Word GVERTEXLABEL(Word v, Word G_);
+ void GNEWLABEL(Word v, Word l, Word G_);
+ void GADDEDGE(Word e, Word G_);
+ Word GSUCCLIST(Word v, Word G_);
+-Word vert2dim(Word v);
++Word vert2dim(Word v) __pure;
+ Word GPREDLIST(Word v, Word G_);
+ 
+ #endif
+--- ./extensions/adj2d/adj2D.h.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/adj2D.h	2013-08-30 14:35:45.336575945 -0600
+@@ -25,7 +25,7 @@ Word ADJ_2D1P2(Word U, Word V, Word w_l,
+ Word ADJ_2D1P3(Word U, Word w_l, Word B);
+ Word ADJ_2D1_COMPLETE(Word c, Word c_l, Word c_r, Word P, Word J);
+ Word ADJ_2D1_SIMPLE(Word U, Word V, Word w_l, Word B);
+-Word CWD_VECTOR_Q(Word u, Word v);
++Word CWD_VECTOR_Q(Word u, Word v) __pure;
+ Word EQUAL_ON_ONES(Word u, Word v);
+ Word LDCOEFMASK(Word c, Word P, Word J);
+ Word LDCOEFMASK(Word c, Word P, Word J);
+@@ -34,13 +34,13 @@ Word P1(Word U, Word V, Word W, Word v_l
+ Word P2(Word x_l, Word x_r, Word U, Word V, Word W, Word v_l, Word B);
+ Word P3(Word U, Word V, Word W, Word v_l, Word B);
+ Word P4(Word U, Word V, Word W, Word v_l, Word B);
+-Word SUM_NORM_SP(Word v);
++Word SUM_NORM_SP(Word v) __pure;
+ Word VECTOR_DIF(Word u, Word v);
+ Word VECTOR_DIF_S(Word u, Word v, Word *f);
+-Word VECTOR_LTEQ(Word u, Word v);
++Word VECTOR_LTEQ(Word u, Word v) __pure;
+ Word VECTOR_NEG(Word u);
+-Word VECTOR_ODD_E(Word v_);
+-Word VECTOR_SEMI_COMP(Word u, Word v);
++Word VECTOR_ODD_E(Word v_) __pure;
++Word VECTOR_SEMI_COMP(Word u, Word v) __pure;
+ Word VECTOR_SUM(Word u, Word v);
+ Word VECTOR_S_PROD(Word s, Word v);
+ Word ZERO_VECTOR(Word n);
+@@ -55,7 +55,7 @@ Word RIIFACMA(Word I, Word A, Word t, Wo
+ Word  RIIFACMABR(Word P, Word J, Word K, Word *H, Word *I);
+ Word SPRLC(Word c);
+ Word ADJ2DITOEL(Word L, Word c1, Word c0);
+-Word CCTV(Word C);
++Word CCTV(Word C) __pure;
+ void CTVPROPUP(Word C, Word t, Word N, Word by);
+ void TVCLOSURE1D(Word D, Word P, Word J, Word k, Word t);
+ void TVCLOSURE1DS(Word D, Word P, Word J, Word k, Word t);
+--- ./extensions/sfext/minhit/MINHITSETSRDR.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/minhit/MINHITSETSRDR.c	2013-08-30 09:28:39.624633978 -0600
+@@ -24,6 +24,8 @@ Note:  The point is that not only sortin
+ #define BDCOMP(a,b)  ((a) > (b) ? 1 : ((a) < (b) ? -1 : 0))
+ #define MC_FAIL 0
+ 
++static Word comp(Word a, Word b) __pure;
++
+ static Word comp(Word a, Word b) {
+       Word ap,bp,t,q;
+       ap = a; bp = b;
+--- ./extensions/sfext/extlang/CLOSESTINDEX.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/extlang/CLOSESTINDEX.c	2013-08-30 09:20:44.193946578 -0600
+@@ -10,6 +10,8 @@ cp: the ESCAD cell in L with index close
+ 
+ #include "extlang.h"
+ 
++static Word comp(Word u, Word v) __pure;
++
+ static Word comp(Word u, Word v)
+ {
+   Word r,t,U,V,A,B,a,b;
+--- ./extensions/sfext/sfcons/ESPCADDOPFSUFF.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/ESPCADDOPFSUFF.c	2013-08-30 09:32:29.048483014 -0600
+@@ -17,7 +17,7 @@ outputs
+ #include "qepcad.h"
+ #include "espcad.h"
+ 
+-static Word comp(Word A, Word B);
++static Word comp(Word A, Word B) __pure;
+ #define BDCOMP(a,b)   ((a) > (b) ? 1 : ((a) < (b) ? -1 : 0))
+ 	  
+ Word ESPCADDOPFSUFF(Word P, Word K)
+--- ./extensions/sfext/sort/BVCI1.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sort/BVCI1.c	2013-08-28 13:12:30.385244306 -0600
+@@ -12,9 +12,9 @@ b : -1 if u < v in lex order, 0 if u = v
+   ======================================================================*/
+ #include "qepcad.h"
+ 
+-Word BVCI1(Word *u_, Word *v_, Word n)
++Word BVCI1(const Word *u_, const Word *v_, Word n)
+ {
+-       Word *w,*u,*v;
++       const Word *w,*u,*v;
+        u = u_+1;
+        v = v_+1;
+        w = u + n;
+--- ./extensions/sfext/sort/BVC.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sort/BVC.c	2013-08-28 13:12:21.033150320 -0600
+@@ -12,9 +12,9 @@ b : -1 if u < v in lex order, 0 if u = v
+   ======================================================================*/
+ #include "mysort.h"
+ 
+-Word BVC(Word *u_, Word *v_, Word n)
++Word BVC(const Word *u_, const Word *v_, Word n)
+ {
+-       Word *w,*u,*v;
++       const Word *w,*u,*v;
+        u = u_;
+        v = v_;
+        w = u + n;
+--- ./extensions/sfext/addpol/MINPFSETNSC.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/addpol/MINPFSETNSC.c	2013-08-28 16:29:15.985921210 -0600
+@@ -25,6 +25,8 @@ outputs
+ #define BDCOMP(a,b)       ((a) > (b) ? 1 : ((a) < (b) ? -1 : 0))
+ #define CFLCT 5
+ 
++static Word comp1(Word a, Word b) __pure;
++
+ static Word comp1(Word a,Word b) {
+   Word A,B,t;
+   A = RED(a); B = RED(b); t = 0;
+--- ./extensions/sfext/mysort.h.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/mysort.h	2013-08-28 11:29:59.907828961 -0600
+@@ -52,7 +52,7 @@ Side Effects
+ Word GMSDS(Word *A, Word m, Word (*C)(Word,Word));
+ 
+ 
+-extern Word BVC(Word *u_,Word *v_,Word n);
++extern Word BVC(const Word *u_,const Word *v_,Word n) __pure;
+ extern void BVIS(Word **A,Word m,Word n);
+-extern Word BVCI1(Word *u_,Word *v_,Word n);
++extern Word BVCI1(const Word *u_,const Word *v_,Word n) __pure;
+ extern void BVISI1(Word **A,Word m,Word n);
+--- ./extensions/newadj/HATEST.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/newadj/HATEST.c	2013-08-30 13:26:52.518542789 -0600
+@@ -1,5 +1,5 @@
+ #include "newadj2D.h"
+-Word ISSECTOR(Word C) { return LAST(LELTI(C,INDX)) % 2; }
++static Word __pure ISSECTOR(Word C) { return LAST(LELTI(C,INDX)) % 2; }
+ void SAMPLECWR(Word c);
+ void strippedAFLWR(Word M,Word I,Word N,Word a,Word A);
+ void ANDWRITExx(Word M,Word I,Word n);
+--- ./source/qepcad.h.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/qepcad.h	2013-08-30 14:39:10.225632400 -0600
+@@ -134,10 +134,10 @@ void IPLLDWRMOD(Word V, Word A);
+ void IPLSRP(Word A, Word *s_, Word *P_);
+ Word IPRESPRS(Word r, Word A, Word B);
+ Word IPRNEVAL(BDigit r, Word P, BDigit t, Word b);
+-Word ISATOMF(Word F);
++Word ISATOMF(Word F) __pure;
+ Word ISDESIRED(Word c, Word C);
+ Word ISNULL(Word L);
+-Word ISPRIMIT(Word s);
++Word ISPRIMIT(Word s) __pure;
+ void IUPRWR(Word v, Word A, Word I);
+ Word IXCOMP(Word c1, Word c2);
+ void LABELWR(Word N, Word I);
+@@ -148,7 +148,7 @@ Word LOAR(Word k, Word Q, Word F);
+ Word LPFTOLRLP(Word r, Word L);
+ Word LPFZCALL(Word c, Word P, Word D);
+ Word LUNION(Word L1, Word L2);
+-Word LVCOMP(Word c1, Word c2);
++Word LVCOMP(Word c1, Word c2) __pure;
+ Word MAFDIF(Word p,Word a,Word b);
+ Word MAFHOM(Word p,Word M,Word a);
+ Word MAFINV(Word p,Word M,Word a);
+@@ -158,7 +158,7 @@ Word MAFUPEPROD(Word p,Word M,Word a,Wor
+ Word MAFUPGCD(Word p,Word M,Word A,Word B);
+ Word MAFUPMON(Word p, Word M, Word A);
+ Word MAFUPNR(Word p, Word M, Word A, Word B);
+-Word MATCHWORD(Word A, Word B);
++Word MATCHWORD(Word A, Word B) __pure;
+ Word MBPROD(Word A, Word B);
+ Word MCELL(Word a1, Word a2, Word a3, Word a4, Word a5, Word a6, Word a7, Word a8, Word a9, Word a10);
+ Word MKMUL(Word E, Word k);
+@@ -169,7 +169,7 @@ Word MPOLY(Word a1, Word a2, Word a3, Wo
+ Word MUPNR(Word p,Word A,Word B);
+ Word MVLMA(Word H_t, Word H_f);
+ Word MVLMASF(Word H_t, Word H_f);
+-Word NEGRLOP(Word T);
++Word NEGRLOP(Word T) __constfunc;
+ void NEXTCELL(Word D, Word c, Word *cp_, Word *t_);
+ void NEXTCOMB(Word n, Word r, Word Rs, Word *R_, Word *q_);
+ void NEXTLEXI(Word l, Word Rs, Word *R_, Word *q_);
+@@ -188,12 +188,12 @@ void PARENTWR(Word P);
+ void PCADWR(Word c);
+ void PCADSWR(Word c);
+ Word PFCOICQ(Word r, Word A, Word c, Word P, Word D);
+-Word PFPRDQ(Word P);
++Word PFPRDQ(Word P) __pure;
+ void PIMPTBLWR(Word C, Word R, Word V);
+ void PLABELWR(Word P);
+ Word PLDEG(Word P);
+ Word PLPOS(Word P, Word i);
+-Word PPPRDQ(Word P);
++Word PPPRDQ(Word P) __pure;
+ void PQFF(Word F, Word L, Word *Lp_);
+ void PRDADJINFO();
+ void PRDCC();
+@@ -209,7 +209,7 @@ void PRLDB();
+ void PRODWR(Word v);
+ void PROMPT();
+ void PROPAGATE(Word D, Word c, Word k, Word f, Word Q);
+-void PRQUIT();
++void PRQUIT() __noreturn;
+ void PRTRACEA();
+ void PRTRACED();
+ void PRUDB();
+@@ -217,7 +217,7 @@ void PRWHATIS();
+ void PSIGTBL(Word c, Word f, Word T_t, Word T_f, Word *Tp_t_, Word *Tp_f_);
+ void PSIMREP(Word r, Word P, Word *rs_, Word *Ps_);
+ void QEGLOBALS();
+-const char* QEPCADBVersion();
++const char* QEPCADBVersion() __constfunc;
+ Word QFFFSOP(Word H, Word P, Word f);
+ void QFFLPWR(Word N, Word V, Word F);
+ void QFFLWR(Word N, Word V, Word F);
+@@ -239,7 +239,7 @@ Word RMMPF(Word P, Word k);
+ Word RMMPJ(Word J, Word k);
+ Word RMNOTOP(Word F);
+ Word RMNOTOPN(Word F);
+-Word RNFAF(Word a);
++Word RNFAF(Word a) __pure;
+ Word RVSPTSVSP(BDigit r, Word P, BDigit s);
+ void SALGF(Word f, Word F, Word *G_, Word *H_);
+ void SAMPLEWR(Word r, Word s, Word PCNUMDEC);
+@@ -263,7 +263,7 @@ Word SOPFST(Word T);
+ Word SOSRSUBS(Word L);
+ Word SOSRSUPS(Word L);
+ void SPFRPSFT(Word P, Word c, Word k, Word *R_, Word *F_);
+-Word SSCOMP(Word c1, Word c2);
++Word SSCOMP(Word c1, Word c2) __pure;
+ Word STACKMULT(Word C);
+ void STACKMWR(Word M);
+ Word STFSOP(Word H);
+@@ -630,9 +630,9 @@ Word NEWDERIV(Word KT, Word P, Word Pb,
+ void STRIPPED_BIGLOOP(Word Jb, Word Pb, Word P0, Word D0, Word N, Word *P_, Word *D_);
+ Word CADSCL(Word C, Word i);
+ Word CELLFINDEX(Word D, Word I);
+-Word CRCELL(Word d);
++Word CRCELL(Word d) __pure;
+ void CSN(Word c, Word D, Word *b_, Word *d_);
+-Word BZWAZ(Word a, Word b);
++Word BZWAZ(Word a, Word b) __pure;
+ void LISTOFCWTV(Word C, Word *Lt_, Word *Lf_);
+ BDigit NUMSOLPOINTS(Word D, BDigit k);
+ Word LPFOWCS(Word C, Word B, Word P);
+@@ -669,7 +669,7 @@ void LTFOCWTVMARK(Word C, Word *Lt_, Wor
+ Word OPARTLIST(Word n);
+ Word PARTLIST(Word n);
+ Word SCAD2ESCAD(Word P, Word Ps, Word Ds, Word A);
+-Word SCCONFLICTQ(Word L1, Word L2);
++Word SCCONFLICTQ(Word L1, Word L2) __pure;
+ Word SCFILTER(Word c, Word d);
+ void SETCADTV2MARK(Word D);
+ void SETMARK2FMA(Word D, Word F, Word P);
+@@ -693,7 +693,7 @@ void CSORTSS(Word **A, Word a, Word L);
+ Word ICSIGDIFFL(Word **A, Word a, Word k);
+ Word MINPFSET(Word P, Word S, Word D, Word N);
+ Word PWUDSCWCP(Word D, Word P, Word N);
+-Word SIGEQUALOL(Word *A, Word *B, Word L);
++Word SIGEQUALOL(Word *A, Word *B, Word L) __pure;
+ void TDTOD(Word P, Word N, Word ***P2_, Word *P1_, Word *k_);
+ Word FMA2DNF(Word F);
+ Word FMA2QUNF(Word F, Word P);
+@@ -705,8 +705,8 @@ Word FMADMQ(Word F,Word C,Word k,Word P)
+ Word singleFMADMQ(Word F,Word C,Word k,Word P);
+ void FMAIWRITE(Word F);
+ Word FMALEVEL(Word F);
+-Word FMAOPCOMBINE(Word F);
+-Word FMAQEXTAF(Word F) ;
++Word FMAOPCOMBINE(Word F) __pure;
++Word FMAQEXTAF(Word F) __pure;
+ Word FMAPOLLIST(Word F, Word P);
+ void FMAREAD(Word P,Word V, Word *F_,Word *t_);
+ Word FMASMOOTH(Word F);
+@@ -723,9 +723,9 @@ void FMAWRITENEWLINEp(Word F, Word P, Wo
+ void FMAWRITEQEIN(Word F, Word P, Word V);
+ void FMAWRITEp(Word F, Word P, Word V, Word flag);
+ Word FMA_REMCONST(Word F);
+-Word FTYPEINFO(Word A);
++Word FTYPEINFO(Word A) __pure;
+ void IPDWRITELATEX(Word r, Word A, Word V);
+-Word POLINDEX2SIGINDEX(Word P_i, Word j);
++Word POLINDEX2SIGINDEX(Word P_i, Word j) __pure;
+ void SETTV2FMA(Word D, Word P, Word F, Word k);
+ void SETORDERfromFMA(Word D,Word P,Word F,Word o);
+ void SETORDER(Word D,Word P,Word V);
+@@ -739,7 +739,7 @@ Word RSFHSP(Word A, Word *Ab_);
+ Word CADCL(Word C, Word i);
+ Word CADFPCAD(Word D, Word P, Word S, Word I, Word Pb);
+ Word CADFPCADWI(Word D, Word P, Word S, Word I, Word Pb);
+-Word CATV(Word c);
++Word CATV(Word c) __pure;
+ void CCADCON(Word n, Word P, Word C, Word *Ps_, Word *Cs_);
+ void CCADCONEXT(Word n, Word P, Word C, Word *Ps_, Word *Cs_, Word *N_);
+ void CCADCONFPFS(Word n, Word P, Word C, Word N, Word *Ps_, Word *Cs_);
+@@ -749,7 +749,7 @@ Word CHTVQ(Word cs, Word b);
+ Word CTSEQ(Word as, Word bs);
+ void LTFOCALWTV(Word C, Word n, Word *Lt_, Word *Lf_);
+ void LTFOCWTV(Word C, Word *Lt_, Word *Lf_);
+-Word PCADCFCADC(Word c, Word Cs);
++Word PCADCFCADC(Word c, Word Cs) __pure;
+ Word PCADCINDEX(Word c);
+ Word PCADCL(Word Cs, Word i);
+ Word PCADCSV(Word cs, Word Ps);
+@@ -792,7 +792,7 @@ Word DOPFSUFF(Word P, Word K);
+ Word ESPCADDOPFSUFF(Word P, Word K);
+ Word GEOPARTII(Word F, Word S, Word P, Word Fs);
+ Word GEODATA(Word c, Word A, Word P);
+-Word GEOHEURISTIC(Word a, Word b);
++Word GEOHEURISTIC(Word a, Word b) __pure;
+ Word GEOMERGE(Word c,Word G,Word P);
+ Word GEOFIT(Word c,Word G,Word P);
+ Word ATOMFILTER(Word L_A,Word L_C,Word P);
+@@ -820,7 +820,7 @@ Word NECCONDS(Word L_T, Word L_F, Word L
+ Word DOPFSUFF_FULLD(Word P, Word K);
+ Word ESPCADDOPFSUFF_FULLD(Word P, Word K);
+ Word BVC(Word *u_, Word *v_, Word n);
+-Word BVCI1(Word *u_, Word *v_, Word n);
++Word BVCI1(Word *u_, Word *v_, Word n) __pure;
+ void BVIS(Word **A, Word m, Word n);
+ void BVISI1(Word **A, Word m, Word n);
+ void GIS(Word *A, Word m, Word (*C)(Word,Word));
+--- ./source/main/qepcadcls.h.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/main/qepcadcls.h	2013-08-30 13:29:46.950334457 -0600
+@@ -213,7 +213,7 @@ Word NMATOM;           /* Number of atom
+   void CHCELL(Word cs, Word *c_, Word *t_);
+   void ECLI(Word D, Word *c_, Word *t_);
+   BDigit SCREEN(Word c); 
+-  BDigit SCREENBYQUANTIFIER(Word c); 
++  BDigit SCREENBYQUANTIFIER(Word c) __pure; 
+   Word ISFECLI(Word D);
+   Word INITPCAD();
+   void EVALUATE(Word c, Word k, Word F, Word A);
+--- ./source/ticad/QFFTEV.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/QFFTEV.c	2013-08-30 13:34:05.245953999 -0600
+@@ -12,7 +12,7 @@ Quantifier-Free Formula Trial Evaluation
+  \parm{t} is the trial truth value of $F$ on the cell $c$.
+ ======================================================================*/
+ #include "qepcad.h"
+-static Word zeroQ(Word s, Word I_L);
++static Word zeroQ(Word s, Word I_L) __pure;
+ static Word ATOMETFEVAL(Word Q, Word D, Word c, Word F);
+ 
+ Word QepcadCls::QFFTEV(Word F, Word c, Word k)
+--- ./source/userint/PRQUIT.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/userint/PRQUIT.c	2013-08-30 14:40:03.857550869 -0600
+@@ -13,7 +13,4 @@ Step1: /* Process. */
+        ENDQEPCAD();
+        ENDSACLIB(SAC_FREEMEM);
+        exit(0);
+-
+-Return: /* Prepare for return. */
+-       return;
+ }
diff --git a/qepcad-B-destructor.patch b/qepcad-B-destructor.patch
new file mode 100644
index 0000000..e1633b4
--- /dev/null
+++ b/qepcad-B-destructor.patch
@@ -0,0 +1,125 @@
+--- ./plot2d/plot.cc.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./plot2d/plot.cc	2013-08-30 16:51:16.409298807 -0600
+@@ -37,6 +37,7 @@ class CADELT
+ public:
+   virtual bool read(istream &in) = 0;
+   virtual void glRend(const CADColors &C) = 0;
++  virtual ~CADELT() {}
+ };
+ 
+ class SNoverSR : public CADELT
+--- ./extensions/rend/Rend_Sample.cc.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/rend/Rend_Sample.cc	2013-08-30 16:59:11.255885740 -0600
+@@ -40,11 +40,6 @@ Rend_Sample_1DS::Rend_Sample_1DS(Word C,
+ }
+ 
+ 
+-Rend_Sample_1DS::~Rend_Sample_1DS()
+-{
+-  
+-}
+-
+ /*************************************************************
+  **  Refines I to 2^k or less, and returns binary rational 
+  **  middle of interval.
+@@ -112,13 +107,6 @@ Rend_Sample_1DO::Rend_Sample_1DO(Rend_Ce
+   L.W = NIL;
+ }
+ 
+-
+-Rend_Sample_1DO::~Rend_Sample_1DO()
+-{
+-  
+-}
+-
+-
+ Word Rend_Sample_1DO::coordinate(int k)
+ {
+   Word e,j1,j2,J,kp = k;
+@@ -178,11 +166,6 @@ Rend_Sample_2DS::Rend_Sample_2DS(Word C)
+ }
+ 
+ 
+-Rend_Sample_2DS::~Rend_Sample_2DS()
+-{
+-  
+-}
+-
+ /*************************************************************
+  **  Refines I to 2^k or less, and returns binary rational 
+  **  lower endpoint.
+@@ -237,11 +220,6 @@ Rend_Sample_2DC::Rend_Sample_2DC(Word C,
+ 
+ }
+ 
+-Rend_Sample_2DC::~Rend_Sample_2DC()
+-{
+-  
+-}
+-
+ Word Rend_Sample_2DC::coordinate(int k)
+ {
+   return L.W;
+@@ -265,11 +243,6 @@ Rend_Sample_BR::Rend_Sample_BR(Word a)
+   N.W = a;
+ }
+ 
+-Rend_Sample_BR::~Rend_Sample_BR()
+-{
+-  
+-}
+-
+ Word Rend_Sample_BR::coordinate(int k)
+ {
+   return N.W;
+--- ./extensions/rend/Rend_Sample.h.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/rend/Rend_Sample.h	2013-08-30 16:58:37.015983821 -0600
+@@ -32,7 +32,7 @@ class Rend_Sample
+   virtual Word coordinate(int k) = 0; 
+   virtual Word round(int k,int roundup)
+     { return this -> coordinate(k); }
+-  //  virtual ~Rend_Sample() = 0;
++  virtual ~Rend_Sample() {}
+ };
+ 
+ class Rend_Sample_1DS : public Rend_Sample
+@@ -49,7 +49,6 @@ private:
+   gcmemloc A,I;
+ public:
+   Rend_Sample_1DS(Word C, Word P);
+-  virtual ~Rend_Sample_1DS();
+   virtual Word coordinate(int k);
+   virtual Word round(int k, int roundup);
+   Word weakcompare(Word R);
+@@ -66,7 +65,6 @@ public:
+   gcmemloc L;
+ public:
+   Rend_Sample_1DO(Rend_Cell *dad);
+-  virtual ~Rend_Sample_1DO();
+   virtual Word coordinate(int k);
+     
+ };
+@@ -86,7 +84,6 @@ private:
+   gcmemloc A,I;
+ public:
+   Rend_Sample_2DS(Word C);
+-  virtual ~Rend_Sample_2DS();
+   virtual Word coordinate(int k);
+     
+ };
+@@ -101,7 +98,6 @@ public:
+   gcmemloc L;
+ public:
+   Rend_Sample_2DC(Word C,Word P);
+-  virtual ~Rend_Sample_2DC();
+   virtual Word coordinate(int k);
+   void add_point(Word p);
+   void clear_points();
+@@ -116,7 +112,6 @@ private:
+   gcmemloc N;
+ public:
+   Rend_Sample_BR(Word a);
+-  virtual ~Rend_Sample_BR();
+   virtual Word coordinate(int k);    
+ };
+ 
diff --git a/qepcad-B-env.patch b/qepcad-B-env.patch
new file mode 100644
index 0000000..6eba980
--- /dev/null
+++ b/qepcad-B-env.patch
@@ -0,0 +1,11 @@
+--- ./source/main/BEGINQEPCAD.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/main/BEGINQEPCAD.c	2013-07-18 16:57:34.694879193 -0600
+@@ -98,7 +98,7 @@ void BEGINQEPCAD(int &argc, char**& argv
+ void QEPCAD_ProcessRC(int argc, char **argv)
+ {
+   char *qepath = getenv("qe");
+-  if (qepath == NULL) { FAIL("QEPCAD_ProcessRC","Environment variable qe not defined!"); }
++  if (qepath == NULL) { setenv("qe", "/usr/share/qepcad", 1); qepath = getenv("qe"); }
+   string rcFileName = qepath + string("/default.qepcadrc");
+   ifstream rcin(rcFileName.c_str());
+   if (!rcin) { return; }
diff --git a/qepcad-B-parens.patch b/qepcad-B-parens.patch
new file mode 100644
index 0000000..dc4b514
--- /dev/null
+++ b/qepcad-B-parens.patch
@@ -0,0 +1,132 @@
+--- ./extensions/lift2D/IBPRRIOAP.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/lift2D/IBPRRIOAP.c	2013-08-30 16:03:12.403968400 -0600
+@@ -95,7 +95,7 @@ Step3: /* Isolate the roots of B(alpha,y
+ 	  goto Return; }
+ 	
+ 	/* get trend of first root */
+-	if (PDEG(B) % 2 == 0 && s == 1 || PDEG(B) % 2 == 1 && s == -1)
++	if ((PDEG(B) % 2 == 0 && s == 1) || (PDEG(B) % 2 == 1 && s == -1))
+ 	  t1 = -1;
+ 	else
+ 	  t1 = 1;
+--- ./extensions/lift2D/modIBPRRIOAP.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/lift2D/modIBPRRIOAP.c	2013-08-30 16:02:49.164007931 -0600
+@@ -97,7 +97,7 @@ Step3: /* Isolate the roots of B(alpha,y
+ 	  goto Return; }
+ 	
+ 	/* get trend of first root */
+-	if (PDEG(B) % 2 == 0 && s == 1 || PDEG(B) % 2 == 1 && s == -1)
++	if ((PDEG(B) % 2 == 0 && s == 1) || (PDEG(B) % 2 == 1 && s == -1))
+ 	  t1 = -1;
+ 	else
+ 	  t1 = 1;
+--- ./extensions/adj2d/truthbytop/BOUNDARY2D.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/truthbytop/BOUNDARY2D.c	2013-08-30 16:14:29.779797280 -0600
+@@ -80,7 +80,7 @@ Step6: /* Split cell list by dimension.
+        tc++;
+      else
+        fc++; }
+-   if (tc > 0 && fc > 0 || GVERTEXLABEL(v,G) == TRUE && tc == 0)
++   if ((tc > 0 && fc > 0) || (GVERTEXLABEL(v,G) == TRUE && tc == 0))
+      GNEWLABEL(v,TRUE,G);
+    else
+      GNEWLABEL(v,FALSE,G); }
+--- ./source/db/SINGULAR.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/db/SINGULAR.c	2013-08-30 16:04:35.516826349 -0600
+@@ -58,7 +58,7 @@ void SingularServer::reportStats(ostream
+ 
+ char peekNonWS(istream &in) 
+ { 
+-  char c; while((c = in.peek()) && c == ' ' || c == '\t' || c == '\n') in.get(); return c; 
++  char c; while(c = in.peek() && (c == ' ' || c == '\t' || c == '\n')) in.get(); return c; 
+ }
+ 
+ 
+--- ./source/db/convenientstreams.h.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/db/convenientstreams.h	2013-08-30 16:05:34.707724662 -0600
+@@ -31,7 +31,7 @@ public:
+     string s = "";
+     char c = in.get(); 
+     if (opt == skipleadingws) 
+-      while(c != EOF && (isspace(c) || c == '\\' && isspace(in.peek()))) c = in.get();
++      while(c != EOF && (isspace(c) || (c == '\\' && isspace(in.peek())))) c = in.get();
+     // States  : 0 = normal, 1 = in comment, 2 = just read a backslash
+     int state = 0;
+     do {
+--- ./source/proj/GROUPSAMEPJ.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/proj/GROUPSAMEPJ.c	2013-08-30 16:10:24.459222092 -0600
+@@ -46,7 +46,7 @@ BDigit PRJPNTEQUAL(Word A, Word B)
+     Word KR = LIST2(SECOND(aK),LIST2(1,1));
+     Word sL = AFSIGN(aM,aI,AFPEMV(1,aM,G,KL));
+     Word sR = AFSIGN(aM,aI,AFPEMV(1,aM,G,KR));
+-    return EQUAL(KL,KR) && sL == 0 || sL == 1 && sR == -1 || sL == -1 && sR == 1;
++    return (EQUAL(KL,KR) && sL == 0) || (sL == 1 && sR == -1) || (sL == -1 && sR == 1);
+   }
+ 
+   /* One primitive, the other not */
+@@ -75,10 +75,10 @@ Step1: /* Group. */
+ 	 {
+            ADV(Jt,&J2,&Jt);
+            Jt2 = LELTI(J2,PO_POLY);
+-           if (LELTI(J1,PO_TYPE) == PO_POINT && LELTI(J2,PO_TYPE) == PO_POINT
+-	       && PRJPNTEQUAL(Js1,Jt2) || 
+-	       LELTI(J1,PO_TYPE) != PO_POINT && LELTI(J2,PO_TYPE) != PO_POINT
+-	       && EQUAL(Js1,Jt2))
++           if ((LELTI(J1,PO_TYPE) == PO_POINT && LELTI(J2,PO_TYPE) == PO_POINT
++		&& PRJPNTEQUAL(Js1,Jt2)) || 
++	       (LELTI(J1,PO_TYPE) != PO_POINT && LELTI(J2,PO_TYPE) != PO_POINT
++		&& EQUAL(Js1,Jt2)))
+ 	   {
+              SLELTI(J2,PO_PARENT,CONC(LELTI(J2,PO_PARENT),LELTI(J1,PO_PARENT)));
+              t = 1;
+--- ./source/proj/PROJMCECmod.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/proj/PROJMCECmod.c	2013-08-30 16:12:22.235018024 -0600
+@@ -67,7 +67,7 @@ Step1: /* Obtain coefficients. */
+ 	   t = 1; }
+ 	 
+ 	 /* If r = 2 OR r-1 is in free variable space, the leading coefficient is always enough! */
+-	 if (t && (r == 2 || (PCMZERROR && r-1 <= GVNFV)) 
++	 if ((t && (r == 2 || (PCMZERROR && r-1 <= GVNFV)))
+ 	     || (experimentalExtensionFlag && qfrCheckNonNullified(r,Ap1,GVNA.W,GVNQFF.W,GVVL.W))
+ 	     )
+ 	   t = 0;
+@@ -101,7 +101,7 @@ Step1: /* Obtain coefficients. */
+ 	     tf = tf || (Q == FULLDE || Q == FULLDA);
+ 	     
+ 	     /* Test 3: in free variable space when the PCMZERROR option is used */
+-	     tf = tf || PCMZERROR && rp <= GVNFV;
++	     tf = tf || (PCMZERROR && rp <= GVNFV);
+ 
+ 	     /* Test 4: has no common zero with the system of all other coefficients */
+ 	     if (!tf)
+--- ./source/proj/PROJMCmod.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/proj/PROJMCmod.c	2013-08-30 16:11:49.731074222 -0600
+@@ -57,7 +57,7 @@ Step1: /* Obtain coefficients. */
+ 	   t = 1; }
+ 	 
+ 	 /* If r = 2 OR r-1 is in free variable space, the leading coefficient is always enough! */
+-	 if (t && (r == 2 || (PCMZERROR && r-1 <= GVNFV))
++	 if ((t && (r == 2 || (PCMZERROR && r-1 <= GVNFV)))
+ 	     || (experimentalExtensionFlag && qfrCheckNonNullified(r,Ap1,GVNA.W,GVNQFF.W,GVVL.W))
+ 	     )
+ 	   t = 0;
+@@ -91,7 +91,7 @@ Step1: /* Obtain coefficients. */
+ 	     tf = tf || (Q == FULLDE || Q == FULLDA);
+ 	     
+ 	     /* Test 3: in free variable space when the PCMZERROR option is used */
+-	     tf = tf || PCMZERROR && rp <= GVNFV;
++	     tf = tf || (PCMZERROR && rp <= GVNFV);
+ 
+ 	     /* Test 4: has no common zero with the system of all other coefficients */
+ 	     if (!tf)
+--- ./source/ticad/INITPCAD.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/INITPCAD.c	2013-08-30 16:13:07.946938949 -0600
+@@ -14,7 +14,7 @@ Word QepcadCls::INITPCAD()
+        Word D, tv;
+ 
+ Step0: /* Determine truth value! */
+-       if (GVNA == FALSE || GVNA != NIL && LELTI(GVNA,1) == NEOP && LELTI(GVNA,2) == 0) tv = NA;
++       if (GVNA == FALSE || (GVNA != NIL && LELTI(GVNA,1) == NEOP && LELTI(GVNA,2) == 0)) tv = NA;
+        else if (LELTI(GVNQFF,1) == NEOP && LELTI(GVNQFF,2) == 0) tv = FALSE;
+        else if (LELTI(GVNQFF,1) == EQOP && LELTI(GVNQFF,2) == 0) tv = TRUE;
+        else tv = UNDET;
diff --git a/qepcad-B-return.patch b/qepcad-B-return.patch
new file mode 100644
index 0000000..f25b1e1
--- /dev/null
+++ b/qepcad-B-return.patch
@@ -0,0 +1,56 @@
+--- ./extensions/sfext/formula/FTYPEINFO.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FTYPEINFO.c	2013-08-30 15:48:28.420527430 -0600
+@@ -23,6 +23,6 @@ Word FTYPEINFO(Word A)
+     return TRUE;
+   if (FIRST(A) == FALSE)
+     return FALSE;
+-  
++  FAIL("FTYPEINFO","Unknown formula type!"); 
+ }
+       
+--- ./source/qepcad.h.orig	2013-08-30 14:39:10.225632400 -0600
++++ ./source/qepcad.h	2013-08-30 16:17:46.258481805 -0600
+@@ -34,7 +34,7 @@ Word AFPNIPDB(Word Mb, Word B);
+ void AFUPGCDB(Word M, Word A, Word B, Word *C_, Word *Ab_, Word *Bb_);
+ void AFUPLM(Word M, Word A, Word *L_, Word *P_);
+ void AFUPRWR(Word a, Word v, Word A, Word I);
+-Word AFUPSFNDB(Word M, Word B, Word *t_, Word *Bt_, Word *F_);
++void AFUPSFNDB(Word M, Word B, Word *t_, Word *Bt_, Word *F_);
+ Word APPEND(Word P, Word k, Word R);
+ void APPENDEC(Word P, Word k, Word R, Word *Ps_, Word *F_);
+ void ATOMFLWR(Word N, Word V, Word A);
+--- ./source/db/AFUPSFNDB.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/db/AFUPSFNDB.c	2013-08-30 16:18:05.419450506 -0600
+@@ -5,7 +5,7 @@ AFUPSFN with Database.
+ ======================================================================*/
+ #include "qepcad.h"
+ 
+-Word AFUPSFNDB(Word M, Word B, Word *t_, Word *Bt_, Word *F_)
++void AFUPSFNDB(Word M, Word B, Word *t_, Word *Bt_, Word *F_)
+ {
+        Word t,Bt,F;
+ 
+--- ./source/db/SingSacPolicy.h.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/db/SingSacPolicy.h	2013-08-30 16:20:40.923189610 -0600
+@@ -28,17 +28,17 @@ public:
+   Word IPRES(Word r, Word A, Word B)
+   {
+     if (r > 2)
+-      sing->IPRES(r,A,B);
++      return sing->IPRES(r,A,B);
+     else
+-      sac ->IPRES(r,A,B);
++      return sac ->IPRES(r,A,B);
+   }
+ 
+   Word IPDSCR(Word r, Word A)
+   {
+     if (r > 2)
+-      sing->IPDSCR(r,A);
++      return sing->IPDSCR(r,A);
+     else
+-      sac ->IPDSCR(r,A);
++      return sac ->IPDSCR(r,A);
+   }
+ 
+   Word IPFACTGB(Word r, Word I, Word N)  
diff --git a/qepcad-B-signed.patch b/qepcad-B-signed.patch
new file mode 100644
index 0000000..ec42881
--- /dev/null
+++ b/qepcad-B-signed.patch
@@ -0,0 +1,78 @@
+--- ./plot2d/plot.cc.orig	2013-08-30 16:51:16.409298807 -0600
++++ ./plot2d/plot.cc	2013-08-30 16:55:10.593713039 -0600
+@@ -134,7 +134,7 @@ void* readdata(void *x)
+ 	pthread_mutex_lock(&M);
+ 	swap(CE,E);
+ 	pthread_mutex_unlock(&M);
+-	for(int i = 0; i < E.size(); i++) delete E[i];
++	for(size_t i = 0; i < E.size(); i++) delete E[i];
+ 	E.clear(); }
+       else if (c == 'E') { /******* Exit! *******************/
+ 	return 0;
+@@ -155,7 +155,7 @@ void display()
+ {
+   pthread_mutex_lock(&M);
+   glClear(GL_COLOR_BUFFER_BIT);
+-  for(int i = 0; i < CE.size(); i++)
++  for(size_t i = 0; i < CE.size(); i++)
+     CE[i]->glRend(Colors);
+   pthread_mutex_unlock(&M);  
+   glutSwapBuffers();
+@@ -286,7 +286,7 @@ void SNoverSR::glRend(const CADColors &C
+   // 128 or so points that can appear.
+   C.glSetColor(colorType,'D');
+   glBegin(GL_LINE_STRIP);
+-  for(int i = 0; i < V.size(); i++)
++  for(size_t i = 0; i < V.size(); i++)
+     glVertex2(V[i]);
+   glEnd();
+ }
+@@ -328,7 +328,7 @@ bool SRoverSR::read(istream &in)
+     else 
+     {
+       cerr << "Sector over sector in unknown format!" << endl;
+-      for(int i = 0; i < V.size(); i++)
++      for(size_t i = 0; i < V.size(); i++)
+ 	cerr << V[i] << endl;
+       exit(1);
+     }
+--- ./source/db/SINGULAR.c.orig	2013-08-30 16:04:35.516826349 -0600
++++ ./source/db/SINGULAR.c	2013-08-30 16:22:52.913963575 -0600
+@@ -67,7 +67,7 @@ Word readSingularPoly(Word r, Word V, is
+   Word A, t;
+   string s;
+   in >> s;
+-  for(int i = 0; i < s.length(); ++i)
++  for(size_t i = 0; i < s.length(); ++i)
+     if (s[i] == '*') s[i] = ' ';
+   s += ".\n";
+   istringstream si(s);
+@@ -108,7 +108,7 @@ string WritePolyForSingular(Word r, Word
+     out = sout.str();
+   }
+   // Put in * symbols
+-  for(int i = 1; i < out.length() - 1; ++i)
++  for(size_t i = 1; i < out.length() - 1U; ++i)
+     if (out[i] == ' ' && out[i+1] != '+' && out[i+1] != '-'
+ 	&& out[i-1] != '+' && out[i-1] != '-'
+ 	)
+--- ./source/saclib/gcword.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/saclib/gcword.c	2013-08-30 16:24:04.393840511 -0600
+@@ -30,7 +30,7 @@ void gcw_MARK();
+ }
+ 
+ static vector<Word*> G;
+-static int lim = 10;
++static size_t lim = 10;
+ 
+ void clean()
+ {
+@@ -62,7 +62,7 @@ void gcw_MARK()
+ {
+   //  SWRITE("gcw size is: ");IWRITE(G.size()); SWRITE("\n");
+   clean();
+-  for(int i = 0; i < G.size(); i++)
++  for(size_t i = 0; i < G.size(); i++)
+     if (*G[i] > BETA && *G[i] < BETAp && (*G[i] & 1))
+       MARK(*G[i]);
+ 
diff --git a/qepcad-B-syntax.patch b/qepcad-B-syntax.patch
new file mode 100644
index 0000000..446f3ab
--- /dev/null
+++ b/qepcad-B-syntax.patch
@@ -0,0 +1,22 @@
+--- ./source/main/BEGINQEPCAD.c.orig	2013-07-18 16:57:34.694879193 -0600
++++ ./source/main/BEGINQEPCAD.c	2013-08-30 16:28:15.882368349 -0600
+@@ -49,7 +49,7 @@ void BEGINQEPCAD(int &argc, char**& argv
+   {
+     int tmp = system("bash -c 'exit $(stty size | cut -d\" \" -f2)'");
+     tmp = WEXITSTATUS(tmp);
+-    if (10 <= tmp <= 512)
++    if (10 <= tmp && tmp <= 512)
+       cols = tmp;
+   }
+ 
+--- ./source/userint/USERINT.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/userint/USERINT.c	2013-08-30 16:30:52.370086235 -0600
+@@ -446,7 +446,7 @@ void VERTFILL2D(Word D)
+   Word L, S, T, CB;
+ 
+   /* GET 1D CAD STACK */
+-  L = L = LELTI(D,CHILD);
++  L = LELTI(D,CHILD);
+   if (L == NIL)
+   {
+     SWRITE("Must by a 2D CAD!\n");
diff --git a/qepcad-B-uninit.patch b/qepcad-B-uninit.patch
new file mode 100644
index 0000000..4201b0a
--- /dev/null
+++ b/qepcad-B-uninit.patch
@@ -0,0 +1,314 @@
+--- ./cad2d/src/TICAD.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./cad2d/src/TICAD.c	2013-08-30 15:42:57.518153269 -0600
+@@ -43,6 +43,8 @@ Step2: /* Choose. */
+ 	 if (L == 0) { /* Init for 1D Sectors */
+ 	   L = LELTI(D,CHILD);
+ 	   d = 1; }
++	 else
++	   d = 0;
+ 
+ 	 if (d == 1 && L != NIL) { /* Choose next 1D sectors */
+ 	   c = FIRST(L);
+@@ -51,6 +53,7 @@ Step2: /* Choose. */
+ 	   else
+ 	     L = RED2(L); }
+ 	 else if (d == 1 && L == NIL) { /* Init for 1D sections */
++	   c = NIL;
+ 	   d = 0;
+ 	   L = RED(LELTI(D,CHILD));
+ 	 }
+--- ./extensions/rend/WRITE_PS_INTERACTIVE.cc.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/rend/WRITE_PS_INTERACTIVE.cc	2013-08-28 15:31:47.564213356 -0600
+@@ -262,6 +262,8 @@ void WRITE_PS_INTERACTIVE(Rend_Cell &M,
+       if (t == 'p') {
+ 	  SWRITE("Enter projetion factor by (level,index): ");
+ 	  p = LREAD(); }
++      else
++	  p = NIL;
+ 
+       switch(c) {
+       case 'x': // 1D Sectors
+--- ./extensions/lift2D/modIBPRRIOAPSF.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/lift2D/modIBPRRIOAPSF.c	2013-08-28 15:36:30.044273572 -0600
+@@ -77,6 +77,7 @@ Step4: /*  Isolate the real roots of eac
+ Step5: /* Refine roots? */
+ 	if (k == NIL)
+ 	  goto Return;
++	Js = NIL;
+ 	Ls = NIL;
+ 	for(Lp = L; Lp != NIL; Lp = RED(Lp))
+         { 
+--- ./extensions/lift2D/modHIPRRID.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/lift2D/modHIPRRID.c	2013-08-28 15:34:25.468248208 -0600
+@@ -28,6 +28,7 @@ Step1: /* Compute a bound for the positi
+ 	k = HIPPRB(n,A);
+ 
+ Step2: /* Isolate the positive roots. */
++	L = NIL;
+ 	if (k == NIL) {
+ 	   L1 = NIL;
+ 	   goto Step3; }
+--- ./extensions/adj2d/oldadj/ACMADJ2D.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/adj2d/oldadj/ACMADJ2D.c	2013-08-28 15:27:00.100211471 -0600
+@@ -29,6 +29,7 @@ Step1: /* Get (A,I) defining c. */
+   FIRST2(Ip,&ip1,&ip2);
+   i1 = RNLBRN(ip1);
+   i2 = RNLBRN(ip2);
++  t = 0;
+ 
+ Step2: /* Get sample points for c_l and c_r. */
+   i_l = RNLBRN(SPRLC(c_l));
+--- ./extensions/sfext/extlang/SCAD2ESCAD.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/extlang/SCAD2ESCAD.c	2013-08-28 14:48:30.455672479 -0600
+@@ -27,6 +27,8 @@ Step2: /* Generate correct i-level signi
+ 	   P_i = RED(P_i);
+ 	   s = RED(s); }
+ 	 s = INV(ss); }
++       else
++	 s = NIL;
+ 
+ Step3: /* Construct extended Sub-CAD cell structure. */
+        EDs = LIST7(C,A,LELTI(Ds,SC_INX),NIL,s,NIL,UNDET);
+--- ./extensions/sfext/sfcons/SFCFULLDf.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/SFCFULLDf.c	2013-08-28 15:14:42.812090282 -0600
+@@ -52,6 +52,7 @@ Step2: /* Extended language. */
+ 
+       if (Lt == NIL && Lf == NIL) {
+ 	SWRITE("No cells have truth values!\n");
++	SF = NIL;
+ 	goto Return; }
+       t = ESPCADDOPFSUFF(Pp,LIST1(Dp));
+       LA = LISTOETAmod(Pp,n,t==NIL);
+--- ./extensions/sfext/sfcons/SFC4.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/SFC4.c	2013-08-30 15:15:10.647569953 -0600
+@@ -31,6 +31,7 @@ void QepcadCls::SFC4(Word D, Word P, Wor
+ {
+       Word t,SF,Dp,Pp,Lt,Lf,LA,Q,D1,P1,D0,P0,J0,i,Lp,pflag;
+       char e,s,m,c;
++      e = s = m = c = '\0';
+       T1 = T2 = T3 = T4 = 0;
+       F1 = 0;
+ 
+--- ./extensions/sfext/sfcons/SFC3.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/SFC3.c	2013-08-28 15:16:00.827160334 -0600
+@@ -90,7 +90,7 @@ Step3: /* The normal language. */
+ 	switch(m) {
+ 	case (0) : SF = NECCONDS(Lt,Lf,LA,Pp); break;
+ 	case (1) : SF = NAIVESF(Lt,Lf,LA,Pp); break; 
+-	case (2) : SWRITE("GEOTEST requires the extended language!\n"); goto Return; } }
++	case (2) : SF = NIL; SWRITE("GEOTEST requires the extended language!\n"); goto Return; } }
+ 
+ Step4: /* Massage the formula. */
+       pflag = 1;
+--- ./extensions/sfext/sfcons/SFC3f.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/SFC3f.c	2013-08-28 15:15:36.243138257 -0600
+@@ -88,7 +88,7 @@ Step3: /* The normal language. */
+ 	switch(m) {
+ 	case (0) : SF = NECCONDS(Lt,Lf,LA,Pp); break;
+ 	case (1) : SF = NAIVESF(Lt,Lf,LA,Pp); break; 
+-	case (2) : SWRITE("GEOTEST requires the extended language!\n"); goto Return; } }
++	case (2) : SF = NIL; SWRITE("GEOTEST requires the extended language!\n"); goto Return; } }
+ 
+ Step4: /* Massage the formula. */
+       pflag = 1;
+--- ./extensions/sfext/formula/FMAATOMREAD.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMAATOMREAD.c	2013-08-28 14:56:16.650119530 -0600
+@@ -18,7 +18,7 @@ void FMAATOMREAD(Word Q, Word V, Word *F
+        /* hide r,s,t; */
+ 
+ Step1: /* Read the left polynomial. */
+-        t = 1; r = LENGTH(V);
++        t = 1; r = LENGTH(V); F = NIL;
+         IPEXPREAD(r,V,&P1,&t); if (t == 0) goto Return;
+ 
+ Step2: /* Read the relational operator. */
+@@ -71,6 +71,7 @@ Word POLYINDEX(Word P, Word p, Word r, W
+     p = SECOND(p);
+ 
+   /* Is p already in P? */
++  pp = NIL;
+   P_r = LELTI(P,r); *t = 0;
+   for(Pp = P_r; Pp != NIL; Pp = RED(Pp)) {
+     pp = FIRST(Pp);
+--- ./extensions/sfext/formula/FMASMOOTH.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMASMOOTH.c	2013-08-28 14:50:13.736716426 -0600
+@@ -16,6 +16,7 @@ Step1: /* Atoms and Constants. */
+   if (ISLIST(F1) || F1 == TRUE || F1 == FALSE) {
+     G = F;
+     goto Return; }
++  G = NIL;
+ 
+ Step2: /* AND's */
+   if (F1 == ANDOP) {
+--- ./extensions/sfext/addpol/MINPFSETNSC.c.orig	2013-08-28 16:29:15.985921210 -0600
++++ ./extensions/sfext/addpol/MINPFSETNSC.c	2013-08-30 15:07:56.269063272 -0600
+@@ -42,7 +42,7 @@ Word MINPFSETNSC(Word P,Word S,Word D,Wo
+       Word x_s,js,Ls,O,Q,Q_i,Sp,Pp,i,Cp,*V,*Vp,**A,a,N,k,S_r,I,j,p;
+ 
+ Step1: /* Initialization. */
+-      C = NIL; Sltr = NIL; Pltr = NIL; N = LENGTH(K);
++      C = NIL; Sltr = NIL; S_r = NIL; Pltr = NIL; N = LENGTH(K);
+ 
+ Step2: /* Loop over each level in D. */
+       for(r = 1; r <= N; r++) {
+--- ./extensions/sfext/espcad/PCAD2ESPCAD.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/espcad/PCAD2ESPCAD.c	2013-08-30 15:10:16.295906419 -0600
+@@ -44,6 +44,8 @@ Step2: /* Generate correct i-level signi
+            P_i = RED(P_i);
+            s = RED(s); }
+          s = INV(ss); }
++       else
++	 s = NIL;
+ 
+ Step3: /* Construct extended Sub-CAD cell structure. */
+        EDs = LIST8(C,A,LELTI(Ds,SC_INX),NIL,s,NIL,UNDET,UNDET);
+--- ./source/io/FREADR.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/io/FREADR.c	2013-08-28 15:44:52.884175239 -0600
+@@ -23,7 +23,7 @@ void FREADR(Word V, Word f, Word *Fs_, W
+        /* hide C,i,q,r,t; */
+ 
+ Step1: /* Read quantifier list. */
+-       t = 1; Q = NIL; r = LENGTH(V);
++       Fs = NIL; t = 1; Q = NIL; r = LENGTH(V);
+        for (i = f + 1; i <= r; i++)
+          {
+          C = CREADB();
+--- ./source/io/CATTRNRDR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/CATTRNRDR.c	2013-08-28 15:40:18.276327460 -0600
+@@ -39,7 +39,7 @@ Step2: /* Get the internal representatio
+        goto Return;
+ 
+ Step3: /* Error exit. */
+-       DIELOC(); t = 0;
++       DIELOC(); V = 0; t = 0;
+ 
+ Return: /* Prepare for return. */
+        *V_ = V;
+--- ./source/io/ATOMFRDR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/ATOMFRDR.c	2013-08-28 15:37:47.085286610 -0600
+@@ -76,7 +76,7 @@ void ETFATOMRDR(Word V, Word P1, BDigit
+         Word t, F, r, j, P2, P2p, r1, r2, a, P, s;
+ 
+ Step1: /* Prepare */
+-        t = 1; r = LENGTH(V);
++        t = 1; r = LENGTH(V); F = NIL;
+ 
+ 
+ Step2: /* Read "_root_" */
+--- ./source/io/RLOPRDR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/RLOPRDR.c	2013-08-28 15:47:38.828113556 -0600
+@@ -31,7 +31,7 @@ Step1: /* Read in. */
+        goto Return;
+ 
+ Step2: /* Error exit. */
+-       DIELOC(); t = 0; goto Return;
++       DIELOC(); p = 0; t = 0; goto Return;
+ 
+ Return: /* Prepare for return. */
+        *p_ = p;
+--- ./source/io/LGOPRDR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/LGOPRDR.c	2013-08-28 15:46:19.140193709 -0600
+@@ -50,7 +50,7 @@ Step1: /* Read in. */
+          { SWRITE("Error LGOPRDR: Logic operator was expected.\n"); goto Step2; }
+ 
+ Step2: /* Error exit. */
+-       DIELOC(); t = 0; goto Return;
++       DIELOC(); p = 0; t = 0; goto Return;
+ 
+ Return: /* Prepare for return. */
+        *p_ = p;
+--- ./source/io/DESIREDRDR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/DESIREDRDR.c	2013-08-28 15:41:17.860345319 -0600
+@@ -15,6 +15,7 @@ void DESIREDRDR(Word *F_, Word *t_)
+        /* hide C,C1,R,V1,V2,t; */
+ 
+ Step1: /* Atomic condition. */
++       F = NIL;
+        t = 1;
+        C = CREADB(); if (C == '[') goto Step2;
+        BKSP(); 
+--- ./source/io/QFRDR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/QFRDR.c	2013-08-28 15:46:59.100124953 -0600
+@@ -39,7 +39,7 @@ Step1: /* Read in. */
+        goto Return;
+ 
+ Step2: /* Error exit. */
+-       DIELOC(); t = 0; goto Return;
++       DIELOC(); q = 0; t = 0; goto Return;
+ 
+ Return: /* Prepare for return. */
+        *q_ = q;
+--- ./source/io/GREADR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/GREADR.c	2013-08-28 15:45:29.740181394 -0600
+@@ -33,7 +33,7 @@ Step2: /* Read digits and convert. */
+        BKSP(); a = S * a; goto Return;
+ 
+ Step3: /* Error. */
+-       DIELOC(); t = 0; goto Return;
++       DIELOC(); a = 0; t = 0; goto Return;
+ 
+ Return: /* Prepare for return. */
+        *a_ = a;
+--- ./source/main/QEPCADauto.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/main/QEPCADauto.c	2013-08-28 15:52:45.403836140 -0600
+@@ -27,6 +27,8 @@ void QepcadCls::QEPCADauto(Word Fs, Word
+        char c1,c2; /* Chris variables. */
+ 
+ Step1: /* Normalize. */
++       t = 0;
++       F_e = F_n = F_s = NIL;
+        FIRST4(Fs,&r,&f,&Q,&Fh);
+        F = NORMQFF(Fh);
+        if (GVUA != NIL) GVNA = NORMQFF(GVUA);
+--- ./source/main/QEPCAD.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/main/QEPCAD.c	2013-08-28 15:51:13.747873723 -0600
+@@ -26,6 +26,8 @@ void QepcadCls::QEPCAD(Word Fs, Word *t_
+        Word Cs,Ps,Qs,Pps,Cps,Qps,SF; /* Chris variables. */
+        char c1,c2; /* Chris variables. */
+ Step1: /* Normalize. */
++       t = 0;
++       F_e = F_n = F_s = NIL;
+        FIRST4(Fs,&r,&f,&Q,&Fh);
+                /*Int*/ PCNSTEP = 1;
+                /*Int*/ if (INTERACT()) USERINT(LFS("Before Normalization"),'a');
+--- ./source/ticad/SUBST.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/SUBST.c	2013-08-30 15:36:14.959182825 -0600
+@@ -24,6 +24,7 @@ Word QepcadCls::SUBST(Word c, Word k, Wo
+        Word P,L,Sp,T1,T2,G,Q,f,i;
+ 
+ Step1: /* Substitute. */
++        f = UNDET;
+         L = NIL;
+         S = NIL;
+         Bp = B;
+--- ./source/ticad/AFUPMPR.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/AFUPMPR.c	2013-08-30 15:32:39.031457638 -0600
+@@ -27,6 +27,7 @@ void AFUPMPR(Word M, Word I, Word B, Wor
+        /* hide L1,Lp,j,jp,s,t,v,vp; */
+ 
+ Step1: /* Initialize. */
++       j = 0;
+        FIRST2(J,&a,&b);
+        t = AFUPSR(M,I,B,b);
+        if (t == 0)
+--- ./source/ticad/SUBSTR.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/SUBSTR.c	2013-08-30 15:36:46.631109286 -0600
+@@ -24,6 +24,7 @@ Word QepcadCls::SUBSTR(Word c, Word k, W
+        Word P,L,Q,T1,T2,Sp,G,f,i;
+ 
+ Step1: /* Do it. */
++       f = UNDET;
+        L = NIL;
+        S = NIL;
+        Bp = B;
+--- ./source/userint/PREQNCONSTL.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/userint/PREQNCONSTL.c	2013-08-30 15:37:35.045721919 -0600
+@@ -73,7 +73,7 @@ Return: /* Prepare for return. */
+ 
+ Word POLYLABEL(Word P, Word p, Word r, Word *t)
+ {
+-  Word P_r, Pp, pp;
++  Word P_r, Pp, pp = NIL;
+ 
+   for(; PDEG(p) == 0; r--)
+     p = SECOND(p);
diff --git a/qepcad-B-unused.patch b/qepcad-B-unused.patch
new file mode 100644
index 0000000..94c0fd0
--- /dev/null
+++ b/qepcad-B-unused.patch
@@ -0,0 +1,1739 @@
+--- ./cad2d/src/CAD2D.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./cad2d/src/CAD2D.c	2013-11-21 15:31:13.803963748 -0700
+@@ -20,8 +20,8 @@
+ 
+ void QepcadCls2D::CAD2D(Word Fs, Word *t_, Word *F_e_, Word *F_n_, Word *F_s_)
+ {
+-       Word A,D,F,F_e,F_n,F_s,Fh,J,P,Q,Ths,f,i,r,t;
+-       Word L;
++       Word A,D,F,F_e,F_n,F_s,Fh,J,P,Q,f,i,r,t;
++
+ Step1: /* Normalize. */
+        FIRST4(Fs,&r,&f,&Q,&Fh);
+        F = NORMQFF(Fh);
+@@ -70,9 +70,7 @@ Word AllAdjs(QepcadCls2D &Q, Word D,Word
+ 
+ Word printgraph(Word D, Word L)
+ {
+-  Word A,R,c,Q,a,b;
+-  FILE* fp;
+-  fp = fopen("temp","w");
++  Word R,c,Q,a,b;
+   
+   SWRITE("graph: {\n");
+ 
+--- ./cad2d/src/TICAD.c.orig	2013-08-30 15:42:57.518153269 -0600
++++ ./cad2d/src/TICAD.c	2013-11-21 15:33:05.259945387 -0700
+@@ -24,7 +24,7 @@ Output
+ 
+ Word QepcadCls2D::TICAD(Word Q,Word F,Word f,Word P,Word A)
+ {
+-       Word As,D,Ps,Ths,Thss,c,cp,k,s,sh,sp,t,R,S;
++       Word As,D,Ps,c,k,s,sh;
+        Word L,d;
+        
+ Step1: /* Initialize. */
+--- ./cad2d/src/PROJECT.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./cad2d/src/PROJECT.c	2013-11-21 15:32:38.947949657 -0700
+@@ -17,7 +17,7 @@ Projection Phase.
+ 
+ void QepcadCls2D::PROJECT(Word r, Word A,Word *P_, Word *J_)
+ {
+-       Word D,F,J,P,Ps,J_k1,P_k,R,Ths,Thss,k,i;
++       Word D,F,J,P,J_k1,P_k,R,Ths,Thss,k,i;
+ 
+ Step1: /* Initialize. */
+        P = LLCOPY(A); 
+--- ./cad2d/src/CONSTRUCT.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./cad2d/src/CONSTRUCT.c	2013-11-21 15:32:24.972951951 -0700
+@@ -19,31 +19,10 @@ Construct a stack.
+ ======================================================================*/
+ #include "cad2d.h"
+ 
+-static Word Chrisolate(Word M, BDigit p)
+-{
+-  Word n,q1,q2,S,L;
+-  BDigit *Mp;
+-
+-Step1: /* Convert the minimal polynomial to a software interval
+-          polynomial. */
+-        n = PDEG(M);
+-        q1 = p + 3;
+-        q2 = q1 + q1;
+-        S = (n + 1) * q2 + 1;
+-        Mp = GETARRAY(S);
+-        IPSIP(M,p,Mp);
+-
+-Step2: /* Isolate roots! */
+-	L = SIPRRID(Mp);
+-	FREEARRAY(Mp);
+-	return L;
+-}
+-
+ void QepcadCls2D::CONSTRUCT(Word c,Word k,Word f,Word Ps_,Word As)
+ {
+         BDigit p,t,Ths;
+-        Word A1,As1,At,B,b,E,I,Ip,I1,J,Jp,L,M,P1,Ps1,Pt,Pt1,S,s,T,Q;
+-	Word junk,a1,b1,t1,p1,j1;
++        Word A1,As1,At,B,b,E,I,Ip,I1,J,Jp,L,M,P1,Ps1,Pt,S,s,T,Q;
+ 
+ Step1: /* Extract the projection factors from their attribute lists. */
+ 	Word Ps = Ps_;
+--- ./plot2d/plot.cc.orig	2013-08-30 16:55:10.593713039 -0600
++++ ./plot2d/plot.cc	2013-11-21 15:28:46.188989026 -0700
+@@ -112,7 +112,6 @@ void* readdata(void *x)
+ {
+   vector<CADELT*> E;
+   istream &in = *inp;
+-  int flag;
+   char c;
+   do {
+     while( in >> c )
+--- ./extensions/rend/Rend_Sample.cc.orig	2013-08-30 16:59:11.255885740 -0600
++++ ./extensions/rend/Rend_Sample.cc	2013-11-21 14:29:46.693509554 -0700
+@@ -46,7 +46,7 @@ Rend_Sample_1DS::Rend_Sample_1DS(Word C,
+  *************************************************************/
+ Word Rend_Sample_1DS::coordinate(int k)
+ {
+-  Word P,J,j1,j2,js1,js2,s1,s2;
++  Word P,J,j1,j2;
+ 
+   P = A.W; J = I.W;
+ 
+@@ -64,7 +64,7 @@ Step2: /* Save interval refinement and r
+ 
+ Word Rend_Sample_1DS::round(int k, int roundup)
+ {
+-  Word P,J,j1,j2,js1,js2,s1,s2;
++  Word P,J,j1,j2;
+ 
+   P = A.W; J = I.W;
+ 
+@@ -109,7 +109,7 @@ Rend_Sample_1DO::Rend_Sample_1DO(Rend_Ce
+ 
+ Word Rend_Sample_1DO::coordinate(int k)
+ {
+-  Word e,j1,j2,J,kp = k;
++  Word /* e, */ j1,j2,J,kp = k;
+   do {
+     j1 = l -> sample -> round(kp,1);
+     j2 = r -> sample -> round(kp,0);
+@@ -132,8 +132,8 @@ Word Rend_Sample_1DO::coordinate(int k)
+  *************************************************************/
+ Rend_Sample_2DS::Rend_Sample_2DS(Word C)
+ {
+-  Word T,i,t1,t2,t3,j1,j2,s1,s2,s;
+-  Word tB,tJ,tA,tI,d1,d2,d3,d4,d5;
++  Word T,t1,t2,t3,j1,j2,s1,s2;
++  Word tB,tJ,tA,tI,d1;
+ 
+   //-- Set A to the minpol of sample point, and I to isolating int --/
+   T = LELTI( C , SAMPLE );
+@@ -172,7 +172,7 @@ Rend_Sample_2DS::Rend_Sample_2DS(Word C)
+  *************************************************************/
+ Word Rend_Sample_2DS::coordinate(int k)
+ {
+-  Word J,j1,j2,JL,S,tB,tJ,tA,tI,d1,i;
++  Word J,S,tB,tJ,tA,tI,d1,i;
+ 
+   
+ Step1: /* Initialize and decide if refinement is even necessary. */
+--- ./extensions/rend/CH_VIEW_WIN.cc.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/rend/CH_VIEW_WIN.cc	2013-11-21 14:35:14.101046692 -0700
+@@ -4,7 +4,7 @@
+ Word CH_VIEW_WIN(Rend_Cell &M, Rend_Win &W, Word Xs, Word Xt,
+ 	      Word Ys,Word Yt, Word e, Word P)
+ {
+-  Word mx,dx,dxp,dxp2,my,dy,d2x,d2y,L,i;
++  Word mx,my,d2x,d2y,L,i;
+ 
+   mx = LBRNP2PROD( LBRNSUM(W.x.W,W.X.W) , -1 );
+   my = LBRNP2PROD( LBRNSUM(W.y.W,W.Y.W) , -1 );
+--- ./extensions/rend/PLOT_2D_CAD.cc.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/rend/PLOT_2D_CAD.cc	2013-11-21 14:26:45.596772262 -0700
+@@ -42,9 +42,8 @@ void PLOT_2D_CAD(Word D, Word P, Word J,
+ {
+       char c;
+       Word N;
+-      Word i,j,I,ap,bp,a,b,L,p_n,n,A,Q,x,yl,Xs,Ys,Xt,Yt;
+-      char FIFO_NAME[20] =  "/tmp/_plot_pipe_",
+-	RM_FIFO[25] = "rm ";
++      Word L,Xs,Ys,Xt,Yt;
++      char FIFO_NAME[20] =  "/tmp/_plot_pipe_";
+       longtostring(getpid(),FIFO_NAME+11);
+       int t = 1, first = 1;
+       int wcount = 0;
+--- ./extensions/rend/Rend_Cell.cc.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/rend/Rend_Cell.cc	2013-11-21 14:33:14.205210657 -0700
+@@ -183,7 +183,7 @@ Word Rend_Cell::description(Rend_Win &W)
+  *************************************************************/
+ void Rend_Cell::out_descrip(Rend_Win &W,ostream &out,Mapper &M)
+ {
+-  Word p,x,y,L,Lp,l,l1,l2,l3,x1,x2,y1,y2;
++  Word x,y,L,l,x1,x2,y1,y2;
+ 
+   int px = 8;
+   int py = 8;
+@@ -310,7 +310,7 @@ void Rend_Cell::out_descrip(Rend_Win &W,
+  *************************************************************/
+ void Rend_Cell::out_descrip_ps(Rend_Win &W,ostream &out, Mapper &M)
+ {
+-  Word p,x,y,L,l,x1,x2,y1,y2;
++  Word p,L;
+   p = 12;
+   switch (level) {
+   case 0 :
+@@ -382,7 +382,7 @@ void Rend_Cell::out_descrip_ps(Rend_Win
+  *************************************************************/
+ void Rend_Cell::out_descrip_ps_color(Rend_Win &W,ostream &out, Mapper &M)
+ {
+-  Word p,x,y,L,l,x1,x2,y1,y2;
++  Word p,L;
+   p = 12;
+   switch (level) {
+   case 0 :
+@@ -475,7 +475,7 @@ void Rend_Cell::out_descrip_ps_color(Ren
+  *************************************************************/
+ void Rend_Cell::out_descrip_ps_raji(Rend_Win &W,ostream &out, Mapper &M)
+ {
+-  Word p,x,y,L,l,x1,x2,y1,y2;
++  Word p,L;
+   p = 12;
+   switch (level) {
+   case 0 :
+@@ -511,7 +511,7 @@ void Rend_Cell::out_descrip_ps_raji(Rend
+  *************************************************************/
+ void Rend_Cell::out_descrip_ps_standard(Rend_Win &W,ostream &out, Mapper &M)
+ {
+-  Word p,x,y,L,l,x1,x2,y1,y2;
++  Word p,L;
+   p = 12;
+   switch (level) {
+   case 0 :
+--- ./extensions/rend/WRITE_PS_INTERACTIVE.cc.orig	2013-08-28 15:31:47.564213356 -0600
++++ ./extensions/rend/WRITE_PS_INTERACTIVE.cc	2013-11-21 14:34:40.389086693 -0700
+@@ -190,8 +190,8 @@ void WRITE_PS_INTERACTIVE(Rend_Cell &M,
+        **********************************************************/
+     case 'a':
+       {
+-	Word OX, OY,xoff,yoff;
+-	double dum,Ox = 0, Oy = 0;
++	Word OX, OY;
++	double Ox = 0, Oy = 0;
+ 	SWRITE("Provide an origin: ");
+ 	qein() >> Ox >> Oy;
+ 	OX = IEEELBRN(Ox);
+--- ./extensions/lift2D/modIBPRRIOAPSF.c.orig	2013-08-28 15:36:30.044273572 -0600
++++ ./extensions/lift2D/modIBPRRIOAPSF.c	2013-11-21 14:45:55.412202364 -0700
+@@ -31,8 +31,8 @@ Outputs
+ 
+ void modIBPRRIOAPSF(Word M, Word I, Word B, Word p, Word k, BDigit *J_, BDigit *L_)
+ {
+-	BDigit *Mp,*bp,*c,i,m,n,q1,q2,S,s,t;
+-	Word a,b,Bp,I1,I2,J,K,L,Ls,Lp,T,Jp,Js,Ld;
++	BDigit *Mp,*bp,*c,m,n,q1,q2,S,s,t;
++	Word a,b,J,L,Ls,Lp,Jp,Js,Ld;
+ 
+ Step1: /* Convert the minimal polynomial to a software interval
+           polynomial. */
+--- ./extensions/lift2D/modHIPRRISD.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/lift2D/modHIPRRISD.c	2013-11-21 14:41:19.020585418 -0700
+@@ -23,7 +23,7 @@ Outputs
+ 
+ Word modHIPRRISD(BDigit n, interval *A, Word a, Word b)
+ {
+-	BDigit s,s2,t,u,v,Th,T0,sh;
++	BDigit s,s2,t,v,Th,T0,sh;
+ 	Word c,L,L1,L2;
+ 	interval *B,*C,J;
+ 
+--- ./extensions/lift2D/LIFTSRD2D.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/lift2D/LIFTSRD2D.c	2013-11-21 14:43:47.732380972 -0700
+@@ -14,7 +14,7 @@
+ 
+ Word LIFTSRD2D(Word c, Word D, Word P, Word L)
+ {
+-  Word S_L,S_R,s_L,s_R,S,i,c_L,c_R,cp,flag,m_L,m_R,so,mo,m,s,j;
++  Word S_L,S_R,s_R,S,i,c_R,cp,so,m,s,j;
+   Word M,I,P2,Rp,t,R,Rs,Rt,SP,r,k,c1,c2,prev,Sp,sor,next,s2,nextc,X;
+   Word DL,Rps,pf,a,b,e,temp,count,J;
+   Word R_L;
+@@ -113,7 +113,6 @@ if (PCVERBOSE) { SWRITE("Tried up to pre
+   /* Go through the neighboring stacks! */
+   /**************************************/
+   i = 0;
+-  flag = FALSE;
+ 
+   /* LIMITATION OF CURRENT IMPLEMENTATION 
+      make sure the larger stack is to the right */
+@@ -127,7 +126,6 @@ if (PCVERBOSE) { SWRITE("Tried up to pre
+ 
+   for(S = NIL; S_R != NIL; ) { /******* BIG LOOP!!!! **********/
+ 
+-    c_L = FIRST(S_L);
+     c_R = FIRST(S_R);
+ 
+     if (LELTI(c_R,MULSUB) != NIL && FIRST(FIRST(LELTI(c_R,MULSUB))) == J)
+@@ -153,7 +151,6 @@ if (PCVERBOSE) { SWRITE("Tried up to pre
+ 		  NOTDET,
+ 		  LELTI(c_R,DEGSUB),LELTI(c_R,MULSUB));
+       S = COMP(cp,S);
+-      flag = FALSE; 
+       if (RED(S_L) == NIL && RED(S_R) != NIL)
+ 	S_R = RED(S_R);
+       else {
+--- ./extensions/lift2D/IBPRRIOAPSF.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/lift2D/IBPRRIOAPSF.c	2013-11-21 14:44:47.197298052 -0700
+@@ -30,8 +30,8 @@ Outputs
+ 
+ void IBPRRIOAPSF(Word M, Word I, Word B, BDigit p,BDigit k, Word *J_, Word *L_)
+ {
+-	BDigit *Mp,*bp,*c,i,m,n,q1,q2,S,s,t;
+-	Word b,Bp,I1,I2,J,K,L,Ls,Lp,T,Jp;
++	BDigit *Mp,*bp,*c,m,n,q1,q2,S,s,t;
++	Word b,J,L,Ls,Lp,Jp;
+ 
+ Step1: /* Convert the minimal polynomial to a software interval
+           polynomial. */
+--- ./extensions/lift2D/modHIPRRID.c.orig	2013-08-28 15:34:25.468248208 -0600
++++ ./extensions/lift2D/modHIPRRID.c	2013-11-21 14:41:49.724543634 -0700
+@@ -22,7 +22,7 @@ void modHIPRRID(BDigit n, interval *A, W
+ {
+ 	BDigit k,s,t;
+ 	interval *B,*C;
+-	Word b,I,J,L,L1,L2;
++	Word I,L,L1,L2;
+ 
+ Step1: /* Compute a bound for the positive roots. */
+ 	k = HIPPRB(n,A);
+--- ./extensions/lift2D/LIFTSRR2D.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/lift2D/LIFTSRR2D.c	2013-11-21 14:40:41.964635468 -0700
+@@ -38,7 +38,7 @@ void debWRITEINTERVAL(Word I) {
+ 
+ Word LIFTSRR2D(Word c, Word D, Word P)
+ {
+-  Word S_L,S_R,s_L,s_R,S,i,c_L,c_R,cp,flag,m_L,m_R,so,mo,m,s,j;
++  Word S_L,S_R,s_L,s_R,S,i,c_L,c_R,cp,so,m,s;
+   Word M,I,P2,Rp,t,R,Rs,Rt,SP,r,k,c1,c2,prev,Sp,sor,next,s2,nextc,X;
+   Word OC, OT,count;
+ 
+@@ -108,7 +108,6 @@ Word LIFTSRR2D(Word c, Word D, Word P)
+   /* Go through the neighboring stacks! */
+   /**************************************/
+   i = 0;
+-  flag = FALSE;
+   for(S = NIL; S_L != NIL; S_L = RED(S_L), S_R = RED(S_R)) {
+ 
+     c_L = FIRST(S_L);
+@@ -133,8 +132,7 @@ Word LIFTSRR2D(Word c, Word D, Word P)
+ 		  CCONC(LELTI(c,INDX),LIST1(i)),COMP(FIRST(LELTI(c_L,SIGNPF)),LELTI(c,SIGNPF)),
+ 		  NOTDET,
+ 		  LELTI(c_L,DEGSUB),LELTI(c_L,MULSUB));
+-      S = COMP(cp,S);
+-      flag = FALSE; }
++      S = COMP(cp,S); }
+ 
+     else {
+       /************************************************************
+--- ./extensions/adj2d/truthbytop/GRAPHMODULE.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/truthbytop/GRAPHMODULE.c	2013-11-21 15:53:05.620446855 -0700
+@@ -61,9 +61,9 @@ Return: /* Prepare to return. */
+ 
+ Word GSTACKHANDLE(Word i, Word G_)
+ {  
+-  Word G,Gp,h;
+-  G = G_;
+-  for(Gp = NIL; G != NIL && (i > FIRST(FIRST(G))); G = RED(G));
++  Word G,h;
++
++  for(G = G_; G != NIL && (i > FIRST(FIRST(G))); G = RED(G));
+   if (G == NIL || FIRST(FIRST(G)) != i)
+     h = NIL;
+   else
+@@ -74,7 +74,7 @@ Word GSTACKHANDLE(Word i, Word G_)
+ 
+ Word GVERTEXHANDLE(Word v, Word G_)
+ {
+-  Word G,i,j,Gp,T,h;
++  Word i,j,T,h;
+ 
+   FIRST2(v,&i,&j);
+   h = GSTACKHANDLE(i,G_);
+--- ./extensions/adj2d/truthbytop/ADJ2DITOEL.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/truthbytop/ADJ2DITOEL.c	2013-11-21 14:23:19.197081651 -0700
+@@ -27,7 +27,7 @@ int bc(int a, int b)
+ 
+ Word ADJ2DITOEL(Word L, Word c1, Word c0)
+ {
+-  Word *A, E,n,l,s,a,b,k1,k0,i,itop,ibot,S;
++  Word *A, E,n,l,a,b,k1,k0,i,itop,ibot,S;
+ 
+ Step1: /* Initialize & Special Case. */
+   E = NIL;
+--- ./extensions/adj2d/oldadj/ACMADJ2D.c.orig	2013-08-28 15:27:00.100211471 -0600
++++ ./extensions/adj2d/oldadj/ACMADJ2D.c	2013-11-21 14:21:55.357216902 -0700
+@@ -239,7 +239,7 @@ Step3: /* Make assignments. */
+ 
+ Word ASYS2(Word M, Word H, Word I, Word P2)
+ {
+-  Word P,p,tH,tI,h1,h2,i1,i2,L1p,L2p,L1n,L2n,n1p,n1n,n2p,n2n,p1,p2,L1,L2,t;
++  Word P,p,tH,tI,h1,h2,i1,i2;
+ 
+   tH = -LBRNSIGN(IUPLBREVAL(M,FIRST(H)));
+   tI = LBRNSIGN(IUPLBREVAL(M,SECOND(I)));
+--- ./extensions/adj2d/ADJ_2D.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/adj2d/ADJ_2D.c	2013-11-21 14:16:45.565852665 -0700
+@@ -17,12 +17,6 @@ Outputs
+ ======================================================================*/
+ #include "adj2D.h"
+ #include "adj2D.h"
+-static void start();
+-static void stop();
+-static int k;
+-static void zero() { k = 0; }
+-void bump() { k++; }
+-static void print() { SWRITE("\n\nk = "); IWRITE(k); SWRITE("\n\n"); }
+ 
+ Word ADJ_2D(Word c, Word c_l, Word c_r, Word P, Word J)
+ {
+@@ -37,18 +31,3 @@ Word ADJ_2D(Word c, Word c_l, Word c_r,
+ 
+   return Sol;
+ }
+-
+-static Word ADJ_D_Time;
+-
+-void start()
+-{
+-  ADJ_D_Time = ACLOCK();
+-}
+-
+-void stop()
+-{
+-  ADJ_D_Time = ACLOCK() - ADJ_D_Time;
+-  SWRITE("\nADJ_2D took ");
+-  IWRITE(ADJ_D_Time);
+-  SWRITE(" millseconds.\n");
+-}
+--- ./extensions/adj2d/P4.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/P4.c	2013-11-21 14:19:00.398558416 -0700
+@@ -25,7 +25,7 @@ Notes: Program 4 tries to find solutions
+ 
+ Word P4(Word U, Word V, Word W, Word v_l, Word B)
+ {
+-  Word I,Sol,S,w,As,J;
++  Word Sol,S,w,As,J;
+ 
+ Step1: /* Loop. */
+   J = LIST2(B,AD2D_N_In); Sol = NIL; As = NIL;
+--- ./extensions/adj2d/ADJ_2D1.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/adj2d/ADJ_2D1.c	2013-11-21 14:20:11.254405149 -0700
+@@ -16,6 +16,7 @@ Outputs
+ #include "adj2D.h"
+ #include "adj2D.h"
+ /**************************************/
++/*
+ static FILE *OUTPUT;
+ 
+ static void init()
+@@ -30,6 +31,7 @@ static void uninit()
+ {
+   fclose(OUTPUT);
+ }
++*/
+ /**************************************/
+ 
+ 
+--- ./extensions/adj2d/P3.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/P3.c	2013-11-21 14:18:41.278605411 -0700
+@@ -29,7 +29,7 @@ Note:  Program 3 is the first called, an
+ 
+ Word P3(Word U, Word V, Word W, Word v_l, Word B)
+ {
+-  Word I,J,Sol,S,u,As;
++  Word J,Sol,S,u,As;
+ 
+ Step1: /* Special Case: No adjacencies to determine. */
+   if (U == NIL && W == NIL)
+--- ./extensions/adj2d/P1.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/P1.c	2013-11-21 14:18:20.069661253 -0700
+@@ -25,7 +25,7 @@ Notes: P1 has three main cases to deal w
+ 
+ Word P1(Word U, Word V, Word W, Word v_l, Word B)
+ {
+-  Word Sol,As,S,u,I,J,a,w,v,n,x,x_u,x_w,N,m_v,m_2v;
++  Word Sol,As,S,u,I,J,a,w,v,n,x,x_u,x_w,m_v,m_2v;
+ 
+   Sol = NIL; As = NIL;
+ 
+--- ./extensions/adj2d/sac_ext/IUPTSII.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/sac_ext/IUPTSII.c	2013-11-21 14:22:21.469173705 -0700
+@@ -14,7 +14,7 @@ Outputs
+ 
+ Word IUPTSII(Word A, Word I)
+ {
+-       Word i1,i2,Ap,t,a;
++       Word i1,i2,Ap,t;
+   
+ Step1: /* One-point interval. */
+        FIRST2(I,&i1,&i2);
+--- ./extensions/adj2d/ADJ_2D_PART.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/adj2d/ADJ_2D_PART.c	2013-11-21 14:17:38.837777990 -0700
+@@ -80,8 +80,3 @@ Step5: /* Clean up evidence of "shadow s
+ Return: /* Prepare to return. */
+        return Sol;
+ }
+-
+-static void dummy()
+-{
+-
+-}
+--- ./extensions/adj2d/ADJ_2D1P2.c.orig	2012-03-16 06:49:32.000000000 -0600
++++ ./extensions/adj2d/ADJ_2D1P2.c	2013-11-21 14:20:39.277351218 -0700
+@@ -9,7 +9,7 @@ void sa_send(const char* S);
+ 
+ Word ADJ_2D1P2(Word U, Word V, Word w_l, Word B)
+ {
+-  Word Sol,S,v,J,w_v,u,w_u,I,Solp,t,f;
++  Word Sol,S,v,J,w_v,u,w_u,I,Solp,f;
+ 
+   /*sa_send("[");*/
+ 
+--- ./extensions/sfext/pcadst/SCADDSCON.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/SCADDSCON.c	2013-11-21 11:27:14.776096755 -0700
+@@ -30,7 +30,7 @@ example, would be bad.
+ 
+ Word SCADDSCON(Word C, Word A, Word n)
+ {
+-      Word c,a,i,Cs,X,L,t;
++      Word c,a,i,Cs,X,L;
+ 
+ Step1: /* Construct a preliminary version of Cs, with all but the child
+ 	  list filled in. */
+--- ./extensions/sfext/pcadst/CADFPCADWI.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/CADFPCADWI.c	2013-11-21 11:23:24.761297769 -0700
+@@ -22,7 +22,7 @@ Outputs
+ 
+ Word CADFPCADWI(Word D, Word P, Word S, Word I, Word Pb)
+ {
+-      Word Db,Is,N,Sb,Pb_N,Ts,L,p,i,is,Q,Ms,C,Cs,Ds,Ss;
++      Word Db,Is,N,Sb,Pb_N,Ts,L,p,i,is,Ms,C,Cs,Ds,Ss;
+       Word Mb,mb;
+ 
+ Step1: /* Is D the root cell? */
+--- ./extensions/sfext/pcadst/SIMPLE_CAD_INFO.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/SIMPLE_CAD_INFO.c	2013-11-21 11:27:36.232075896 -0700
+@@ -6,7 +6,7 @@ n : the level
+ 
+ void SIMPLE_CAD_INFO(Word D, Word P, Word n, Word flag)
+ {
+-      Word Ps,Cs,t,Db;
++      Word Ps,Cs,t;
+ 
+ Step1: /* Check for the trivial cases. */
+       switch( DOPFSUFF(P,LIST1(D)) ) {
+--- ./extensions/sfext/pcadst/PCADWRITE.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/PCADWRITE.c	2013-11-21 11:26:44.881126611 -0700
+@@ -7,7 +7,7 @@
+ 
+ void PCADWRITE(Word Cs, Word Ps)
+ {
+-      Word C,l,i,L,k,I;
++      Word l,L,k,I;
+ 
+ Step1: /* */
+       I = PCADCINDEX(Cs);
+--- ./extensions/sfext/pcadst/CCADCONEXT.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/CCADCONEXT.c	2013-11-21 11:24:24.281258349 -0700
+@@ -21,7 +21,7 @@ Outputs
+ 
+ void CCADCONEXT(Word n, Word P, Word C, Word *Ps_, Word *Cs_, Word *N_)
+ {
+-      Word Ps,i,Cs,Q,S,c,L,Lp,b,d,bs,ds,cs,T1,T2,N,Np;
++      Word Ps,i,Cs,Q,S,L,Lp,bs,ds,cs,T1,T2,N;
+ 
+ Word t;
+ 
+--- ./extensions/sfext/pcadst/LTFOCWTV.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/LTFOCWTV.c	2013-11-21 11:25:27.168208934 -0700
+@@ -15,7 +15,7 @@ Outputs
+ 
+ void LTFOCWTV(Word C, Word *Lt_, Word *Lf_)
+ {
+-      Word L,Cp,Lt,Lf,t,Ltp,Lfp;
++      Word Cp,Lt,Lf,t,Ltp,Lfp;
+ 
+ Step1: /* If C is undetermined recurse on the children. */
+       t = LELTI(C,SC_CDTV); 
+--- ./extensions/sfext/pcadst/CADFPCAD.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/CADFPCAD.c	2013-11-21 11:23:05.305310830 -0700
+@@ -21,7 +21,7 @@ Outputs
+ 
+ Word CADFPCAD(Word D, Word P, Word S, Word I, Word Pb)
+ {
+-      Word Db,Is,N,Sb,Pb_N,Ts,L,p,i,is,Q,Ms,C,Cs,Ds,Ss;
++      Word Db,Is,N,Sb,Pb_N,Ts,L,p,i,is,Ms,C,Cs,Ds,Ss;
+       Word Mb,mb;
+ 
+ Step1: /* Is D the root cell? */
+--- ./extensions/sfext/pcadst/PCADSCANL.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/PCADSCANL.c	2013-11-21 11:26:21.576150561 -0700
+@@ -18,7 +18,7 @@ Outputs
+ 
+ Word PCADSCANL(Word Cs, Word i)
+ {
+-      Word CC,CC1,CC2,L,c;
++      Word CC,CC1,L,c;
+ 
+ Step1: /* Get list of children. */
+       CC = LELTI(Cs,SC_CDTV);
+--- ./extensions/sfext/pcadst/LTFOCALWTV.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/LTFOCALWTV.c	2013-11-21 11:25:45.401188973 -0700
+@@ -16,7 +16,7 @@ Outputs
+ 
+ void LTFOCALWTV(Word C, Word n, Word *Lt_, Word *Lf_)
+ {
+-      Word L,Cp,Lt,Lf,t,Ltp,Lfp;
++      Word Cp,Lt,Lf,t,Ltp,Lfp;
+ 
+ Step1: /* If C is undetermined recurse on the children. */
+       t = LELTI(C,SC_CDTV); 
+--- ./extensions/sfext/pcadst/CCADCONmod.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/pcadst/CCADCONmod.c	2013-11-21 11:24:52.841239711 -0700
+@@ -22,7 +22,7 @@ Outputs
+ 
+ void CCADCONmod(Word n, Word P, Word C, Word *Ps_, Word *Cs_)
+ {
+-      Word Ps,i,Cs,Q,S,c,L,Lp,b,d,bs,ds,cs,T1,T2;
++      Word Ps,i,Cs,Q,S,c,L,Lp,b,d,bs,ds,T1,T2;
+ 
+ Step1: /* Set Ps to the empty projection list, and Cs to the full 
+ original CAD C. */
+--- ./extensions/sfext/minhit/MINHITSETSRDR.c.orig	2013-08-30 09:28:39.624633978 -0600
++++ ./extensions/sfext/minhit/MINHITSETSRDR.c	2013-11-21 11:22:32.025333379 -0700
+@@ -27,7 +27,7 @@ Note:  The point is that not only sortin
+ static Word comp(Word a, Word b) __pure;
+ 
+ static Word comp(Word a, Word b) {
+-      Word ap,bp,t,q;
++      Word ap,bp,t;
+       ap = a; bp = b;
+       t =  BDCOMP(LENGTH(ap),LENGTH(bp));
+       while ((t == 0) && (bp != NIL) && (ap != NIL)) { 
+--- ./extensions/sfext/sfcons/SFC2.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/SFC2.c	2013-11-21 14:11:16.452311476 -0700
+@@ -5,7 +5,7 @@ Solution formula construction version 2
+ 
+ void QepcadCls::SFC2(Word D, Word P, Word J, Word n, Word sfm)
+ {
+-      Word t,SF,D0,P0,J0,D1,P1,Pp,Dp,Q,L,Lt,Lf;
++      Word t,SF,D1,P1,Pp,Dp,Q,L,Lt,Lf;
+ 
+ Step1: /* Space is either empty or R^n. */
+       t = DOPFSUFF(P,LIST1(D));
+--- ./extensions/sfext/sfcons/SOLEXTINT.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/SOLEXTINT.c	2013-11-21 14:13:58.830085733 -0700
+@@ -10,7 +10,7 @@ method to call and, of course, calls it.
+ 
+ void QepcadCls::SOLEXTINT()
+ {
+-  Word t,F_e,F_n,F_s, T, f, c;
++  Word T, f, c;
+ 
+ Step1: /* Initialization */
+   T = ACLOCK();
+--- ./extensions/sfext/sfcons/SFCFULLD.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/SFCFULLD.c	2013-11-21 14:12:59.286168676 -0700
+@@ -19,8 +19,7 @@ static Word PLISTOETAmod(Word p,Word B,W
+ 
+ void QepcadCls::SFCFULLD(Word D, Word P, Word J, Word n)
+ {
+-      Word t,SF,Dp,Pp,Lt,Lf,LA,Q,D1,P1,D0,P0,J0,i,Lp,pflag, L;
+-      char e,s,m,c;
++      Word t,SF,Dp,Pp,Lt,Lf,LA,L;
+ 
+ Step1: /* Space is either empty or R^n. */
+       t = DOPFSUFF_FULLD(P,LIST1(D));
+--- ./extensions/sfext/sfcons/SFCFULLDf.c.orig	2013-08-28 15:14:42.812090282 -0600
++++ ./extensions/sfext/sfcons/SFCFULLDf.c	2013-11-21 14:13:26.382130953 -0700
+@@ -19,8 +19,7 @@ static Word PLISTOETAmod(Word p,Word B,W
+ 
+ Word QepcadCls::SFCFULLDf(Word D, Word P, Word J, Word n)
+ {
+-      Word t,SF,Dp,Pp,Lt,Lf,LA,Q,D1,P1,D0,P0,J0,i,Lp,pflag, L;
+-      char e,s,m,c;
++      Word t,SF,Dp,Pp,Lt,Lf,LA,L;
+ 
+ Step1: /* Space is either empty or R^n. */
+       t = DOPFSUFF_FULLD(P,LIST1(D));
+--- ./extensions/sfext/sfcons/GEOTEST.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/GEOTEST.c	2013-11-21 11:30:20.159913247 -0700
+@@ -101,7 +101,7 @@ Word GEOMERGE(Word c,Word G,Word P)
+ 
+ Word GEOFIT(Word c,Word G,Word P)
+ {
+-  Word Q,Qp,C_Q,C_Qp,Ap,App,R,Rp,T,Tp,t,Rpp,A,m,L,x,a;
++  Word Q,Qp,C_Q,C_Qp,Ap,App,R,Rp,T,Tp,t,Rpp,m,L,x,a;
+   FIRST5(G,&Q,&C_Q,&Ap,&R,&T);
+   FIRST5(c,&Qp,&C_Qp,&App,&Rp,&Tp);
+   Tp = SINTER(Tp,T);
+@@ -128,8 +128,8 @@ Word GEOFIT(Word c,Word G,Word P)
+ 
+ Word GEOTEST(Word C,Word P,Word k,Word A)
+ {
+-       Word L,Lp,c,S,t,G,Q,Ap,Qp,App,C_Q,C_Qp,SF,SF1,
+-	    SF2,Lt,Lf,Si,Fi,T,R,Tp,Rp,Rpp,Bs,Bi,i,s,t1,t2,SFp,Ap1,Ap2,a;
++       Word L,Lp,c,S,t,G,Q,Ap,Qp,App,C_Q,SF,SF1,
++	    SF2,Lt,Lf,T,Bs,Bi,i,s,t1,t2,Ap1,Ap2,a;
+ 
+ Step1: /* Set L to a list of all (k-1)-level cells over which there are
+ k-level cells with SC_TMPM of TRUE. */
+--- ./extensions/sfext/sfcons/CYLIMPFORM.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sfcons/CYLIMPFORM.c	2013-11-21 14:10:45.390354485 -0700
+@@ -9,7 +9,7 @@ A : a list of atoms from which to constr
+ 
+ Word CYLIMPFORM(Word C, Word P, Word k, Word A)
+ {
+-       Word SF,L,Lp,c,S,t,Q,As,Ap,Fp,F,Lt,Lf,s,Si,Fi,Qp,SF2;
++       Word SF,L,Lp,c,S,t,F,Lt,Lf,s,Si,Fi,Qp,SF2;
+ 
+ Step1: /* Set L to a list of all (k-1)-level cells over which there are
+ k-level cells with SC_TMPM of TRUE. */
+--- ./extensions/sfext/sfcons/SFC4.c.orig	2013-08-30 15:15:10.647569953 -0600
++++ ./extensions/sfext/sfcons/SFC4.c	2013-11-21 14:11:55.278257632 -0700
+@@ -29,7 +29,7 @@ static Word F1; /* Flag indicating that
+ 
+ void QepcadCls::SFC4(Word D, Word P, Word J, Word n, Word L)
+ {
+-      Word t,SF,Dp,Pp,Lt,Lf,LA,Q,D1,P1,D0,P0,J0,i,Lp,pflag;
++      Word t,SF,Dp,Pp,Lt,Lf,LA,Q,D1,P1,D0,P0,J0,i;
+       char e,s,m,c;
+       e = s = m = c = '\0';
+       T1 = T2 = T3 = T4 = 0;
+--- ./extensions/sfext/projpf/PPFLPROJ.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/projpf/PPFLPROJ.c	2013-11-21 15:50:39.540489717 -0700
+@@ -17,11 +17,10 @@ Side Effects
+ 
+ void PPFLPROJ(Word L, Word i, Word P)
+ {
+-      Word A,T,p,B,b,t,tp,C;
++      Word A,p,B,b,t,tp,C;
+ 
+ Step1: /* Loop over each proj. fac. p in level i of P. */
+       A = LELTI(P,i);
+-      T = NIL;
+       while(A != NIL) {
+ 	ADV(A,&p,&A);
+ 
+--- ./extensions/sfext/formula/FMAATOMREAD.c.orig	2013-08-28 14:56:16.650119530 -0600
++++ ./extensions/sfext/formula/FMAATOMREAD.c	2013-11-21 11:18:02.817535867 -0700
+@@ -13,9 +13,9 @@ Word POLYINDEX(Word P, Word p, Word r, W
+ 
+ void FMAATOMREAD(Word Q, Word V, Word *F_, Word *t_)
+ {
+-       Word F,P,P1,P2,R,a,r,s,t,k,pi;
++       Word F,P1,P2,R,r,t,k,pi;
+        char c;
+-       /* hide r,s,t; */
++       /* hide r,t; */
+ 
+ Step1: /* Read the left polynomial. */
+         t = 1; r = LENGTH(V); F = NIL;
+--- ./extensions/sfext/formula/FMAWRITENEWLINE.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMAWRITENEWLINE.c	2013-11-21 11:19:28.921467612 -0700
+@@ -10,7 +10,7 @@ ForMulA write.
+ 
+ void FMAWRITENEWLINE(Word F, Word P, Word V, Word n)
+ {
+-  Word L,E,i,j,k,op,t,Fp,O,A;
++  Word i,j,k,op,t,Fp,O,A;
+ 
+   switch(FTYPEINFO(F)) {
+ 
+@@ -65,7 +65,7 @@ void FMAWRITENEWLINE(Word F, Word P, Wor
+ 
+ void FMAWRITENEWLINEp(Word F, Word P, Word V, Word flag)
+ {
+-  Word L,E,i,j,k,op,t,Fp,O,A;
++  Word i,j,k,op,t,Fp,O,A;
+ 
+   switch(FTYPEINFO(F)) {
+ 
+--- ./extensions/sfext/formula/FMAWRITE.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMAWRITE.c	2013-11-21 11:16:14.129607618 -0700
+@@ -8,7 +8,7 @@ ForMulA write.
+ 
+ void FMAWRITE(Word F, Word P, Word V)
+ {
+-  Word L,E,i,j,k,op,t,Fp,O,A;
++  Word i,j,k,op,t,Fp,O,A;
+ 
+   switch(FTYPEINFO(F)) {
+ 
+--- ./extensions/sfext/formula/FMATRYDISTRIBUTE.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMATRYDISTRIBUTE.c	2013-11-21 11:21:53.921359529 -0700
+@@ -45,7 +45,7 @@ Fp: the conjunction of C and F.  The fun
+ Word FMADISTRIBUTE(Word F, Word C)
+ {
+ 
+-  Word Fp, f, L, flag, fp,gp,I,X,X_C, I_C, op, A, Ap;
++  Word Fp, f, L, flag, gp,I,X,X_C, I_C, op, A, Ap;
+   f = FIRST(F);
+ 
+   switch(f)
+@@ -59,7 +59,6 @@ Word FMADISTRIBUTE(Word F, Word C)
+     L = NIL;
+     for(Fp = CINV(RED(F)); Fp != NIL; Fp = RED(Fp))
+     {      
+-      fp = FIRST(Fp);
+       gp = FMADISTRIBUTE(FIRST(Fp),C);
+       L = COMP(gp,L);
+     }
+--- ./extensions/sfext/formula/FMAPOLLIST.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMAPOLLIST.c	2013-11-21 11:20:48.273405683 -0700
+@@ -19,7 +19,7 @@ static Word subprog(Word F);
+ 
+ Word FMAPOLLIST(Word F, Word P)
+ {
+-  Word Q,L,i,j,n,np,P_i,G;
++  Word Q,L,i,j,P_i;
+ 
+   Q = NIL;
+   L = subprog(F);
+--- ./extensions/sfext/formula/FMAWRITEQEIN.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMAWRITEQEIN.c	2013-11-21 11:20:03.704440354 -0700
+@@ -7,7 +7,7 @@ ForMulA write.
+ 
+ void FMAWRITEQEIN(Word F, Word P, Word V)
+ {
+-  Word Q,L,i,j,n,np,P_i,G;
++  Word Q,i,n,np,G;
+ 
+ Step1: /* Get list of polynomials. */
+   Q = FMAPOLLIST(F,P);
+--- ./extensions/sfext/formula/FMAWRITEp.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMAWRITEp.c	2013-11-21 11:16:36.625605395 -0700
+@@ -9,7 +9,7 @@ ForMulA write.
+ 
+ void FMAWRITEp(Word F, Word P, Word V, Word flag)
+ {
+-  Word L,E,i,j,k,op,t,Fp,O,A;  
++  Word i,j,k,op,t,Fp,O,A;  
+ 
+   switch(FTYPEINFO(F)) {
+ 
+--- ./extensions/sfext/formula/FMACELLEVAL.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMACELLEVAL.c	2013-11-21 11:17:05.289582133 -0700
+@@ -15,7 +15,7 @@ Outputs
+ 
+ Word FMACELLEVAL(Word F, Word C, Word P)
+ {
+-  Word t,L,i,j,k,op,s,S,ip,c,v,cp,n,t1,A1,A2,U_FLAG;
++  Word t,L,i,j,k,op,s,S,ip,c,cp,n,t1,A1,A2,U_FLAG;
+ 
+   switch(FIRST(F)) {
+     
+--- ./extensions/sfext/formula/FMAWRITELATEX.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/formula/FMAWRITELATEX.c	2013-11-21 11:18:53.993495161 -0700
+@@ -8,7 +8,7 @@ ForMulA write.
+ 
+ void FMAWRITELATEX(Word F, Word P, Word V)
+ {
+-  Word L,E,i,j,k,op,t,Fp,O,A;
++  Word i,j,k,op,t,Fp,O,A;
+ 
+   switch(FTYPEINFO(F)) {
+ 
+@@ -62,7 +62,7 @@ void FMAWRITELATEX(Word F, Word P, Word
+ 
+ void FMAWRITELATEXp(Word F, Word P, Word V, Word flag)
+ {
+-  Word L,E,i,j,k,op,t,Fp,O,A;
++  Word i,j,k,op,t,Fp,O,A;
+ 
+   switch(FTYPEINFO(F)) {
+ 
+--- ./extensions/sfext/sort/GMSDS.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/sort/GMSDS.c	2013-11-21 14:14:27.862045232 -0700
+@@ -19,7 +19,7 @@ static Word G23VSDS(Word *v,Word m,Word
+ 
+ Word GMSDS(Word *A, Word m, Word (*C)(Word,Word))       
+ {
+-       Word *T,*T1,*T2,*A1,*A2,m1,m1p,m2,m2p,mp,k,l;
++       Word *T,*T1,*T2,*A1,*A2,m1,m1p,m2,m2p,mp,k;
+ 
+ Step1: /* Split. */
+        m1 = m >> 1;
+--- ./extensions/sfext/addpol/CLEAN_BIGLOOP.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/addpol/CLEAN_BIGLOOP.c	2013-11-21 11:05:35.847767024 -0700
+@@ -15,8 +15,8 @@ Inputs
+ 
+ void QepcadCls::CLEAN_BIGLOOP(Word Jb, Word Pb, Word P0, Word D0, Word N, Word *P_, Word *D_)
+ {
+-      Word P,D,G,C,T,N_T,Tb,Gb,Gbp,S_N_T,Tp,Gp,K,KT,p,i,S;
+-      Word Q,Q_i,Ps,Ds,Qb,Qb_i,Dsp,t,Ph;
++      Word P,D,G,C,T,N_T,Gb,K,KT,p,i,S;
++      Word Q,Ps,Ds,Dsp,t,Ph;
+       Word inum,tm,temp;
+ 
+ Step1: /* Initialize. */
+--- ./extensions/sfext/addpol/KCONST.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/addpol/KCONST.c	2013-11-21 11:07:24.160709582 -0700
+@@ -53,8 +53,7 @@ static Word S1_EMPTY(Word S1)
+ 
+ static Word S2_IN(Word o, Word S2)
+ {
+-      Word S;
+-      for(S = S2; S2 != NIL; S2 = RED(S2)) {
++      for( ; S2 != NIL; S2 = RED(S2)) {
+ 	if ( EQUAL(FIRST(FIRST(S2)),o) )
+ 	  return (1); }
+       return (0);
+@@ -79,30 +78,6 @@ static Word S2_EMPTY(Word S2)
+       return ( (S2 == NIL) );
+ }
+ 
+-/*--------- Is p a factor of q? ----------------*/
+-static Word ISPFACQ(Word p, Word q)
+-{
+-      Word l_p,R,r;
+-      l_p = LELTI(p,PO_LABEL);
+-      for(R = LELTI(q,PO_PARENT); R != NIL; R = RED(R)) {
+-	r = FIRST(R);
+-	if ( (FIRST(r) == PO_FAC) &&
+-	    EQUAL(LELTI(THIRD(r),PO_LABEL),l_p) )
+-	  return (1); }
+-      return (0);
+-}
+-/*--------- Is p the derivative of q? ----------------*/
+-static Word ISPDERQ(Word p, Word q)
+-{
+-      Word l_p,R,r;
+-      l_p = LELTI(p,PO_LABEL);
+-      for(R = LELTI(q,PO_PARENT); R != NIL; R = RED(R)) {
+-	r = FIRST(R);
+-	if ( (FIRST(r) == PO_DER) &&
+-	    EQUAL(LELTI(THIRD(r),PO_LABEL),l_p) )
+-	  return (1); }
+-      return (0);
+-}
+ /*--------- List of derivative factor  indices. --------*/
+ 
+ static Word LIST_OF_DI(Word o, Word J, Word P)
+@@ -132,7 +107,7 @@ return (L);
+ 
+ void KCONST(Word J, Word P, Word G, Word *K_, Word *KT_)
+ {
+-      Word S1,S2,Gp,o,L,l,KT,K,i,j;
++      Word S1,S2,Gp,o,L,l,KT,K;
+ 
+ /* Initialization. */
+       S1 = NIL; S2 = NIL;
+--- ./extensions/sfext/addpol/BPOLSETS.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/addpol/BPOLSETS.c	2013-11-21 11:04:30.344794006 -0700
+@@ -24,7 +24,7 @@ Outputs
+ 
+ void BPOLSETS(Word L_, Word D, Word P, Word *T_, Word *N_)
+ {
+-      Word L,T,Q,q,a,b,I_a,I_b,i_a,i_b,n,P_N,S_a,S_b,s_a,s_b,t,N,p,
++      Word L,T,Q,q,a,b,I_a,I_b,i_a,i_b,n,P_N,t,N,
+ 	   S_T,S_L,s_c,c,i,Tb,Tp;
+ 
+ Step1: /* Initialization. */
+--- ./extensions/sfext/addpol/STRIPPED_BIGLOOP.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/addpol/STRIPPED_BIGLOOP.c	2013-11-21 11:06:29.576739110 -0700
+@@ -15,8 +15,8 @@ Inputs
+ 
+ void QepcadCls::STRIPPED_BIGLOOP(Word Jb, Word Pb, Word P0, Word D0, Word N, Word *P_, Word *D_)
+ {
+-      Word P,D,G,C,T,N_T,Tb,Gb,Gbp,S_N_T,Tp,Gp,K,KT,p,i,S;
+-      Word Q,Q_i,Ps,Ds,Qb,Qb_i,Dsp,t,Ph;
++      Word P,D,G,C,T,N_T,Gb,K,KT,p,i;
++      Word Ps,t;
+       Word inum,tm,tt;
+ 
+ Step1: /* Initialize. */
+--- ./extensions/sfext/addpol/MINPFSETNSC.c.orig	2013-08-30 15:07:56.269063272 -0600
++++ ./extensions/sfext/addpol/MINPFSETNSC.c	2013-11-21 11:09:34.241637528 -0700
+@@ -38,8 +38,8 @@ static Word comp1(Word a,Word b) {
+ 
+ Word MINPFSETNSC(Word P,Word S,Word D,Word K)
+ {
+-      Word C,Sltr,Pltr,r,L_r,Ls_r,L,l,l_t,l_s,ls,Kp,Js,x,Jsp,s_k,sk;
+-      Word x_s,js,Ls,O,Q,Q_i,Sp,Pp,i,Cp,*V,*Vp,**A,a,N,k,S_r,I,j,p;
++      Word C,Sltr,Pltr,r,L_r,Ls_r,l,l_t,l_s,ls,Kp,Js,Jsp,s_k,sk;
++      Word Ls,O,Q,Q_i,Sp,i,Cp,*V,*Vp,**A,a,N,k,S_r,j,p;
+ 
+ Step1: /* Initialization. */
+       C = NIL; Sltr = NIL; S_r = NIL; Pltr = NIL; N = LENGTH(K);
+--- ./extensions/sfext/addpol/CFLCELLLIST.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/addpol/CFLCELLLIST.c	2013-11-21 11:04:46.496787612 -0700
+@@ -21,8 +21,7 @@ static Word comp(Word A, Word B);
+ 
+ Word CFLCELLLIST(Word L_D)
+ {
+-      Word C,r,C_r,L,Lp,T,F,U,c,t,f,u,Fp,Up,h,Cb,Cp,Q;
+-      /* Time */ Word tm;
++      Word C,C_r,L,Lp,T,F,U,c,t,f,u,Fp,Up,h,Cb,Cp,Q;
+ 
+ Step1: /* Initialize. */
+       C = NIL;
+--- ./extensions/sfext/crcads/CSORCELL.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/crcads/CSORCELL.c	2013-11-21 11:10:03.376621061 -0700
+@@ -19,7 +19,7 @@ Side Effects
+ 
+ void QepcadCls::CSORCELLTR(Word c, Word Pp, Word PpO, Word PpN)
+ {
+-      Word f,s,sh,M,K,C,Pps,L,T,B,E,I,A,a,b,k;
++      Word s,sh,M,K,C,Pps,L,T,B,E,I,A,a,b,k;
+ 
+       k = LELTI(c,LEVEL);
+ 
+--- ./extensions/sfext/crcads/CSORCELL_MOD.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/crcads/CSORCELL_MOD.c	2013-11-21 11:11:10.697582570 -0700
+@@ -25,8 +25,8 @@ static Word LLPFZC(Word c,Word P);
+ 
+ void QepcadCls::CSORCELLTR_MOD(Word c, Word Pp, Word PpO, Word PpN, Word P)
+ {
+-      Word f,s,sh,M,K,C,Pps,L,T,B,E,I,A,a,b,k;
+-      Word PP,NP,L_P,TP,i,ta,t;
++      Word s,sh,T,B,A,a,b,k;
++      Word PP,NP,L_P,TP,i,ta;
+ 
+ Step0:
+       k = LELTI(c,LEVEL);
+--- ./extensions/sfext/crcads/LISTOFCWTV.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/crcads/LISTOFCWTV.c	2013-11-21 11:11:49.009560402 -0700
+@@ -14,7 +14,7 @@ Outputs
+ 
+ void LISTOFCWTV(Word C, Word *Lt_, Word *Lf_)
+ {
+-      Word L,Cp,Lt,Lf,t,Ltp,Lfp;
++      Word Cp,Lt,Lf,t,Ltp,Lfp;
+ 
+ Step1: /* If C is undetermined recurse on the children. */
+       t = LELTI(C,TRUTH); 
+--- ./extensions/sfext/espcad/ESPCADLSNC.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/sfext/espcad/ESPCADLSNC.c	2013-11-21 11:15:39.025604946 -0700
+@@ -97,7 +97,7 @@ Output
+ 
+ Word ESPCADCTLSNC(Word c1,Word c2,Word c3,Word i,Word P)
+ {
+-      Word S1,S2,S3,n,Sp1,Sp2,s1,s2,T,L,j,k;
++      Word S1,S2,n,Sp1,Sp2,s1,s2,T,L,j,k;
+ 
+ Step1: /* Initialize. */
+       if (LELTI(c1,SC_TMPM) == LELTI(c2,SC_TMPM) && 
+@@ -106,7 +106,6 @@ Step1: /* Initialize. */
+ 	goto Return; }
+       S1 = LELTI(c1,SC_SIGN);
+       S2 = LELTI(c2,SC_SIGN);
+-      S3 = LELTI(c3,SC_SIGN);
+ 
+ Step2: /* Figure out which polynomials are zero in c2. */
+       for(n = 0, Sp1 = S1, Sp2 = S2, T = NIL; n < LENGTH(S1); n++) {
+--- ./extensions/newadj/HATEST.c.orig	2013-08-30 13:26:52.518542789 -0600
++++ ./extensions/newadj/HATEST.c	2013-11-21 14:39:13.004753560 -0700
+@@ -111,13 +111,11 @@ Sample point coordinate write.
+ 
+ void SAMPLECWR(Word c)
+ {
+-       Word I,Ip,M,Mp,b,bp,k,s,F,j,Ms,Is;
++       Word I,Ip,M,Mp,b,bp,s,F,j,Ms,Is;
+        Word M1;
+-       /* hide k; */
+ 
+ Step1: /* Setup. */
+        s = LELTI(c,SAMPLE);
+-       k = LELTI(c,LEVEL);
+ 
+ Step2: /* Extended representation. */
+        if (ISPRIMIT(s)) goto Step3;
+@@ -160,7 +158,7 @@ Algebraic number field elements list wri
+ 
+ void strippedAFLWR(Word M,Word I,Word N,Word a,Word A)
+ {
+-       Word A1,Ap,i,l,L,j;
++       Word A1,Ap,i;
+        /* hide i; */
+ 
+ Step1: /* Write. */
+@@ -196,7 +194,7 @@ Side effects
+ 
+ void ANDWRITExx(Word M, Word I, Word n)
+ {
+-       Word J,R,Mp,K;
++       Word J,R,K;
+        Word a,a1,a2,b,b1,b2,d,d1,d2,e,f,m;
+        Word N;
+ 
+--- ./extensions/newadj/HAP2.c.orig	2012-03-16 06:49:31.000000000 -0600
++++ ./extensions/newadj/HAP2.c	2013-11-21 14:36:23.403966610 -0700
+@@ -18,7 +18,7 @@ Outputs
+ 
+ Word HAP2(Word U, Word V, Word w_l, Word B)
+ {
+-  Word Sol,S,v,J,w_v,u,w_u,I,Solp,t,f;
++  Word Sol,S,v,J,w_v,u,w_u,I,Solp,f;
+ 
+   Sol = NIL;
+   S = NIL; 
+--- ./source/db/unnamedpipe.h.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/db/unnamedpipe.h	2013-11-21 14:24:57.148932355 -0700
+@@ -118,7 +118,7 @@ public:
+     if (openmask[0]) { close(fd[0]); openmask[0] = false; } 
+   }
+   void closeOut() { 
+-    const char ts[2] = {EOF,'\n'};
++    // const char ts[2] = {EOF,'\n'};
+     if (_out) { delete _out; _out = 0; }
+     if (openmask[1]) { 
+       //      write(fd[1],ts,2); 
+--- ./source/db/SINGULAR.c.orig	2013-08-30 16:22:52.913963575 -0600
++++ ./source/db/SINGULAR.c	2013-11-21 15:54:01.972430325 -0700
+@@ -162,8 +162,6 @@ Return: /* Prepare for return. */
+ 
+ void SingularServer::IPFAC(Word r, Word P, Word *s_, Word *c_, Word *L_)
+ {
+-  int T1 = serverTime();
+-
+   Word V = CreateVariableList(r);
+   string out =  WritePolyForSingular(r,P,V);
+ 
+@@ -212,9 +210,6 @@ void SingularServer::IPFAC(Word r, Word
+   Word ct = IABSF(lcf);
+   sn *= ISIGNF(lcf);
+ 
+-  // Figure out how long that took!
+-  int T2 = serverTime();
+-
+   // RETURN
+   *s_ = sn;
+   *c_ = ct;
+--- ./source/sysolve/VERIFYCONSTSIGN.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/sysolve/VERIFYCONSTSIGN.c	2013-11-21 15:07:45.956197229 -0700
+@@ -77,7 +77,7 @@ BDigit VERIFYPOSITIVITY(Word A, BDigit r
+   else if (FIRST(A) != IROOT)
+   {
+     /* atomic formula is "P_A T_A 0", where P_A is of level k_A. */
+-    Word T_A,P_A,k_A,s,rp,Pp,P,a,T;
++    Word T_A,P_A,k_A;
+     FIRST3(A,&T_A,&P_A,&k_A);
+     if (r != k_A) { goto Return; }
+     
+--- ./source/sysolve/SYSSOLVE.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/sysolve/SYSSOLVE.c	2013-11-21 15:07:11.596126207 -0700
+@@ -21,7 +21,7 @@ Output
+ 
+ Word SYSSOLVECAD(BDigit r, Word L, Word A, Word Vp, QepcadCls &Q)
+ {
+-  Word F, Fp, d, t, Lt, Lf, V, S;
++  Word F, Lt, Lf, V, S;
+ 
+   /* Set variable list */
+   if (LENGTH(Vp) < r) {
+--- ./source/sysolve/EVALSYS.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/sysolve/EVALSYS.c	2013-11-21 15:06:31.460049335 -0700
+@@ -20,7 +20,7 @@ Outputs:
+ 
+ Word EVALSYS(Word S, BDigit t, Word R)
+ {
+-  Word r, L, i, S_i, Ap, a, A, is, As, F, f, ip, fp, s, c;
++  Word r, L, i, S_i, Ap, a, A, is, As;
+   
+ Step1: /* Construct the skelaton of L, the answer. */
+   r = LENGTH(S);
+--- ./source/io/PRODWR.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/io/PRODWR.c	2013-11-21 14:49:35.531890901 -0700
+@@ -10,7 +10,8 @@ Product Write.
+ 
+ void PRODWR(Word v)
+ {
+-       Word I,I1,P1,P11,Pp,R1,W,W1,i,j,n1,v1,vp;
++       /* Word P1,P11,Pp,i,j,n1; */
++       Word I,I1,R1,W,W1,v1,vp;
+        /* hide i,j,n1; */
+ 
+        SWRITE("In \"PRODWR\"! This is dead code!\n"); exit(1);
+--- ./source/io/DNFLWR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/DNFLWR.c	2013-11-21 14:46:55.380117850 -0700
+@@ -13,7 +13,7 @@ Disjuctive Normal Form Label Write.
+ 
+ void DNFLWR(Word N, Word V, Word F)
+ {
+-       Word F1,F2,Fp,T;
++       Word F1,Fp,T;
+ 
+ Step1: /* Classify the formula F. */
+        T = FIRST(F);
+--- ./source/io/PCADWR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/PCADWR.c	2013-11-21 14:47:53.436035759 -0700
+@@ -11,7 +11,7 @@ Partial CAD write.
+ 
+ void PCADWR(Word c)
+ {
+-       Word M,cb,cp,p,s;
++       Word cb,cp,p,s;
+        /* hide p; */
+ 
+ Step1: /* common. */
+--- ./source/io/PCADSWR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/PCADSWR.c	2013-11-21 14:48:09.404013140 -0700
+@@ -11,7 +11,7 @@ Partial CAD signature write.
+ 
+ void PCADSWR(Word c)
+ {
+-       Word M,cb,cp,p,s,S;
++       Word cb,cp,p,s,S;
+        /* hide p; */
+ 
+ Step1: /* common. */
+--- ./source/io/IPLLDWRMOD.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/IPLLDWRMOD.c	2013-11-21 14:47:36.348059945 -0700
+@@ -12,7 +12,7 @@ Integral Polynomial, List of Lists, Dist
+ 
+ void IPLLDWRMOD(Word V, Word A)
+ {
+-       Word A1,A11,i,P,L,H;
++       Word A1,A11,i,P,H;
+        /* hide i,j,n,r; */
+ 
+ Step1: /* Write. */
+--- ./source/io/IPLLDWR.c.orig	2012-03-16 06:49:29.000000000 -0600
++++ ./source/io/IPLLDWR.c	2013-11-21 14:47:18.356085391 -0700
+@@ -12,7 +12,7 @@ Integral Polynomial, List of Lists, Dist
+ 
+ void IPLLDWR(Word V, Word A)
+ {
+-       Word A1,A11,i,P,L,H;
++       Word A1,A11,i,P,H;
+        /* hide i,j,n,r; */
+ 
+ Step1: /* Write. */
+--- ./source/io/DNFWR.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/io/DNFWR.c	2013-11-21 14:46:28.308156041 -0700
+@@ -12,7 +12,7 @@ Disjunctive Normal Form Write.
+ 
+ void DNFWR(Word V, Word F)
+ {
+-       Word F1,F2,Fp,T;
++       Word F1,Fp,T;
+ 
+ Step1: /* Classify the formula F. */
+        T = FIRST(F);
+--- ./source/io/SAMPLEWR.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/io/SAMPLEWR.c	2013-11-21 14:50:10.635840986 -0700
+@@ -55,8 +55,7 @@ Return: /* Prepare for return. */
+ 
+ void QepcadCls::SAMPLEWR(Word c)
+ {
+-       Word I,Ip,M,Mp,b,bp,k,s,F,j,Ms,Is;
+-       Word M1;
++       Word k,s;
+ 
+        s = LELTI(c,SAMPLE);
+        k = LELTI(c,LEVEL);
+--- ./source/saclib/GCSI.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/saclib/GCSI.c	2013-11-21 15:27:11.180009246 -0700
+@@ -23,10 +23,9 @@ extern void gcw_MARK();
+ 
+ void GCSI(Word s, char *EACSTACK)
+ {
+-       Word I,L,N,N1,Np,Np1,T,T1,c,**i,j,inc;
++       Word I,L,N,N1,Np,Np1,T,T1,c,inc;
+        char *a;
+-       GCArray *v;
+-       /* hide I,L,N,N1,Np,Np1,T,T1,c,i,j,inc,a,v; */
++       /* hide I,L,N,N1,Np,Np1,T,T1,c,inc,a; */
+ 
+ Step1: /* Setup. */
+ 	  if (GCM == 1) {
+--- ./source/proj/PROJECTauto.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/proj/PROJECTauto.c	2013-11-21 15:06:04.620087273 -0700
+@@ -17,7 +17,7 @@ Projection Phase.
+ 
+ void QepcadCls::PROJECTauto(Word r, Word A, Word *P_, Word *J_)
+ {
+-       Word D,F,J,P,Ps,J_k1,P_k,R,Ths,Thss,k,i;
++       Word D,F,J,P,J_k1,P_k,R,k,i;
+ 
+ Step1: /* Initialize. */
+        P = LLCOPY(A); 
+--- ./source/proj/ECLEVEL.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/proj/ECLEVEL.c	2013-11-21 15:02:53.659930746 -0700
+@@ -14,10 +14,9 @@ Output
+ 
+ Word ECLEVEL(Word L)
+ {
+-       Word k,Lp,L1;
++       Word k,L1;
+ 
+ Step1: /* Initialize. */
+-       Lp = L;
+        k = 0;
+ 
+ Step2: /* Loop. */
+--- ./source/proj/PROJMCECmod.c.orig	2013-08-30 16:12:22.235018024 -0600
++++ ./source/proj/PROJMCECmod.c	2013-11-21 15:05:19.164140638 -0700
+@@ -18,8 +18,8 @@ not propogate!
+ 
+ Word QepcadCls::PROJMCECmod(Word r, Word A)
+ {
+-       Word A1,A2,Ap,Ap1,Ap2,App,D,L,Lh,P,R,W,i,t,Q,j,S,Sp,C;
+-       Word Ls, Lc,LL,f,rp,fp,tf,T1,fef,esu,AssTmp,Sf,k;
++       Word A1,A2,Ap,Ap1,Ap2,App,D,L,Lh,P,R,W,i,t,Q,j,S,C;
++       Word Ls, Lc,LL,f,rp,fp,T1,fef,esu,AssTmp,Sf;
+ 
+ Step0: /* Obtain pivot constraint: If pivot is not all of level k, we can't use it! */
+        C = LELTI(GVPIVOT,r);
+--- ./source/proj/PROJMCx.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/proj/PROJMCx.c	2013-11-21 15:03:55.332025711 -0700
+@@ -15,7 +15,7 @@ McCallum's projection excluding leading
+ 
+ Word QepcadCls::PROJMCx(Word r, Word A)
+ {
+-       Word A1,A2,Ap,Ap1,Ap2,App,D,L,Lh,P,R,W,i,t;
++       Word A1,A2,Ap,Ap1,Ap2,App,D,P,R,W;
+ 
+ Step1: /* Obtain coefficients. */
+        P = NIL;
+--- ./source/proj/PROJECT.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/proj/PROJECT.c	2013-11-21 15:05:38.964122808 -0700
+@@ -19,7 +19,7 @@ Projection Phase.
+ 
+ void QepcadCls::PROJECT(Word r, Word A, Word *P_, Word *J_)
+ {
+-       Word D,F,J,P,Ps,J_k1,P_k,R,Ths,Thss,k,i;
++       Word D,F,J,P,J_k1,P_k,R,Ths,Thss,k,i;
+ 
+ Step1: /* Initialize. */
+        P = LLCOPY(A); 
+--- ./source/proj/PROJCO.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/proj/PROJCO.c	2013-11-21 15:03:20.188045422 -0700
+@@ -15,7 +15,7 @@ Collins' projection.
+ 
+ Word QepcadCls::PROJCO(Word r, Word A)
+ {
+-       Word A1,A2,Ap,Ap1,Ap2,App,D,L,L1,P,P1,R,R1,R11,R2,R21,Rp,Rp1,Rp11,Rp2,
++       Word A1,A2,Ap,Ap1,Ap2,App,D,L,L1,P,R,R1,R11,R2,R21,Rp,Rp1,Rp11,Rp2,
+             Rpp,Rs2,S1,Sp1,T,W,ap1,b,d,i,i1,i2,k,t;
+ 
+ Step1: /* $r = 2$. */
+--- ./source/proj/PROJMCmod.c.orig	2013-08-30 16:11:49.731074222 -0600
++++ ./source/proj/PROJMCmod.c	2013-11-21 15:04:46.963955950 -0700
+@@ -20,8 +20,8 @@ using namespace std;
+ 
+ Word QepcadCls::PROJMCmod(Word r, Word A)
+ {
+-       Word A1,A2,Ap,Ap1,Ap2,App,D,L,Lh,P,R,W,i,t,Q,j,S,Sp;
+-       Word Ls, Lc,LL,f,rp,fp,tf,T1,fef,esu,AssTmp,Sf;
++       Word A1,A2,Ap,Ap1,Ap2,App,D,L,Lh,P,R,W,i,t,Q,j,S;
++       Word Ls, Lc,LL,f,rp,fp,T1,fef,esu,AssTmp,Sf;
+ 
+ Step1: /* Obtain coefficients. */
+        P = NIL;
+--- ./source/main/INITIO.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/main/INITIO.c	2013-11-21 14:52:44.290698828 -0700
+@@ -14,8 +14,6 @@ void OutputContextInit(ostream&);
+ 
+ void INITIO()
+ {
+-       Word i;
+-
+ Step1: /* Initialize Input. */	  
+        if (isatty(0)) 
+ 	 InputContextInit(*(new readlineIstream()));
+--- ./source/main/QEPCADauto.c.orig	2013-08-28 15:52:45.403836140 -0600
++++ ./source/main/QEPCADauto.c	2013-11-21 14:56:00.803557526 -0700
+@@ -20,11 +20,8 @@ Quantifier Elimination by Partial Cylind
+ 
+ void QepcadCls::QEPCADauto(Word Fs, Word *t_, Word *F_e_, Word *F_n_, Word *F_s_)
+ {
+-       Word A,D,F,F_e,F_n,F_s,Fh,J,P,Q,Ths,f,i,r,t, T;
+-       /* hide Ths,i,t; */
+-       Word cL,**cC,cr,ce,ci,*cT,cj,cs,cl,ct; /* Chris variables. */
+-       Word Cs,Ps,Qs,Pps,Cps,Qps,SF; /* Chris variables. */
+-       char c1,c2; /* Chris variables. */
++       Word A,D,F,F_e,F_n,F_s,Fh,J,P,Q,f,r,t;
++       /* hide t; */
+ 
+ Step1: /* Normalize. */
+        t = 0;
+--- ./source/main/INITSTAT.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/main/INITSTAT.c	2013-11-21 14:53:05.410695532 -0700
+@@ -7,10 +7,6 @@ Initialize Statistics.
+ 
+ void INITSTAT()
+ {
+-       Word i;
+-       /* hide i; */
+-
+-
+ Step5: /* Statistics on Databases. */
+        TMDBMNG = 0;
+        TMDBSAV = 0;
+--- ./source/main/QEPCAD.c.orig	2013-08-28 15:51:13.747873723 -0600
++++ ./source/main/QEPCAD.c	2013-11-21 14:54:54.611625874 -0700
+@@ -22,9 +22,6 @@ void QepcadCls::QEPCAD(Word Fs, Word *t_
+ {
+        Word A,D,F,F_e,F_n,F_s,Fh,J,P,Q,Ths,f,i,r,t, T;
+        /* hide Ths,i,t; */
+-       Word cL,**cC,cr,ce,ci,*cT,cj,cs,cl,ct; /* Chris variables. */
+-       Word Cs,Ps,Qs,Pps,Cps,Qps,SF; /* Chris variables. */
+-       char c1,c2; /* Chris variables. */
+ Step1: /* Normalize. */
+        t = 0;
+        F_e = F_n = F_s = NIL;
+--- ./source/main/CADautoConst.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/main/CADautoConst.c	2013-11-21 15:01:56.403872771 -0700
+@@ -16,11 +16,7 @@ been set to something other than NIL, th
+ 
+ void QepcadCls::CADautoConst()
+ {
+-       Word A,D,F,F_e,F_n,F_s,Fh,J,P,Q,Ths,f,i,r,t, T;
+-       /* hide Ths,i,t; */
+-       Word cL,**cC,cr,ce,ci,*cT,cj,cs,cl,ct; /* Chris variables. */
+-       Word Cs,Ps,Qs,Pps,Cps,Qps,SF; /* Chris variables. */
+-       char c1,c2; /* Chris variables. */
++       Word A,D,F,Fh,J,P,Q,f,r;
+ 
+ Step1: /* Normalize. */
+        FIRST4(GVF,&r,&f,&Q,&Fh);
+--- ./source/main/INITCTRL.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/main/INITCTRL.c	2013-11-21 14:52:22.043697090 -0700
+@@ -7,12 +7,9 @@ Initialize Program/Trace Control.
+ 
+ void INITCTRL()
+ {
+-       Word k;
+-       /* hide k; */
+-
+ Step1: /* Initialize program control */
+-       Word PCDBUSE = 'y';
+-       Word PCDBLIMIT = 10;
++       PCDBUSE = 'y';
++       PCDBLIMIT = 10;
+ 
+ Step2: /* Initialize Algorithm Trace Control Variables. */
+        TCPROJ = NIL;
+--- ./source/ticad/MAFUPGCD.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/MAFUPGCD.c	2013-11-21 15:15:34.252159536 -0700
+@@ -17,7 +17,7 @@ Output
+ 
+ Word MAFUPGCD(Word p, Word M, Word A, Word B)
+ {
+-       Word C,A1,A2,A3,a,ap,r;
++       Word C,A1,A2,A3;
+   
+ Step1: /* A = 0 \/ B = 0 */
+        if (A == 0) {
+--- ./source/ticad/ACCCVBCR.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/ACCCVBCR.c	2013-11-21 15:10:06.421126382 -0700
+@@ -25,7 +25,7 @@ static Word SECTIONPOLS(Word k, Word c,
+ 
+ Word QepcadCls::ACCCVBCR(Word k, Word c, Word B1, Word b, Word* B1h)
+ {
+-  Word d, nnf, dV, IV, cp, i, I_i, d_i, c_i, L, Q, Qb, Qbs, F, Fp, a;
++  Word d, nnf, dV, IV, i, I_i, c_i, L, Q, Qb, Qbs, F, Fp, a;
+ 
+ Step1: /* Initialization **********************************************/
+   a = NIL; /* this is the pseudo-sample point we're building up *******/
+@@ -41,7 +41,6 @@ Step2: /* Loop over each level from 1 to
+   c_i = GVPC;
+   for(i = 1; i <= k; i++) {
+     I_i = LELTI(IV,i);
+-    d_i = LELTI(dV,i);
+     c_i = LELTI(LELTI(c_i,CHILD),I_i);
+     
+ Step3: /* c_i is a section over a 0-dimensional cell ******************/
+@@ -99,11 +98,10 @@ L : the list of all k-level polynomials
+ ======================================================================*/
+ static Word SECTIONPOLS(Word k, Word c, Word P)
+ {
+-  Word L,P_k,M,i,Mp;
++  Word L,P_k,M,i;
+   L = NIL;
+   P_k = LELTI(P,k);
+-  M = LELTI(c,MULSUB);
+-  for(Mp = M; M != NIL; M = RED(M)) {
++  for(M = LELTI(c,MULSUB); M != NIL; M = RED(M)) {
+     i = FIRST(FIRST(M));
+     L = COMP(LELTI(P_k,i),L); }
+   return L;
+--- ./source/ticad/EC.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/EC.c	2013-11-21 15:14:24.997157287 -0700
+@@ -16,7 +16,7 @@ Establish Children.
+ 
+ void EC(Word c, Word L, Word E, Word Bs)
+ {
+-       Word B,I,J,Lp,M,N,S,Sp,Pp,P,a,b,bp,kp,l,r,rp,s,sp,x,xb,xp;
++       Word B,I,J,Lp,M,N,S,Sp,Pp,P,a,b,bp,kp,l,r,s,sp,x,xb,xp;
+        /* hide kp,xp; */
+        Word T;
+ 
+@@ -52,7 +52,6 @@ Step4: /* First section. */
+ 
+ Step5: /* Check if there are more roots. */
+         if (Lp == NIL) goto Step9;
+-        rp = r;
+ 
+ Step6: /* Next sector. */
+         ADV2(Lp,&I,&B,&Lp); FIRST2(I,&l,&r);
+--- ./source/ticad/SUBST.c.orig	2013-08-30 15:36:14.959182825 -0600
++++ ./source/ticad/SUBST.c	2013-11-21 15:21:02.180078594 -0700
+@@ -20,7 +20,6 @@ Substitute the sample point into the pro
+ Word QepcadCls::SUBST(Word c, Word k, Word M, Word b, Word B)
+ {
+        Word B1,Bp,S,S1;
+-       Word dV,IV;
+        Word P,L,Sp,T1,T2,G,Q,f,i;
+ 
+ Step1: /* Substitute. */
+--- ./source/ticad/MAFUPMON.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/MAFUPMON.c	2013-11-21 15:15:51.244158678 -0700
+@@ -17,7 +17,7 @@ Output
+ 
+ Word MAFUPMON(Word p, Word M, Word A)
+ {
+-       Word B,d,Ap,a,ap,r;
++       Word B,d,Ap,a,ap;
+   
+ Step1: /* A = 0 */
+        if (A == 0) {
+--- ./source/ticad/TICADauto.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/TICADauto.c	2013-11-21 15:23:42.540053942 -0700
+@@ -24,7 +24,7 @@ Output
+ 
+ Word QepcadCls::TICADauto(Word Q, Word F, Word f, Word P, Word A)
+ {
+-       Word As,D,Ps,Ths,Thss,c,cp,k,s,sh,sp,t,R,S;
++       Word As,D,Ps,c,k,s,sh,t;
+ 
+ Step1: /* Initialize. */
+        D = INITPCAD();
+--- ./source/ticad/TICAD.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/TICAD.c	2013-11-21 15:23:00.396059765 -0700
+@@ -24,7 +24,7 @@ Output
+ 
+ Word QepcadCls::TICAD(Word Q, Word F, Word f, Word P, Word A)
+ {
+-       Word As,D,Ps,Ths,Thss,c,cp,k,s,sh,sp,t,R,S;
++       Word As,D,Ps,Ths,Thss,c,k,s,sh,t;
+ 
+ Step1: /* Initialize. */
+        D = INITPCAD();
+--- ./source/ticad/APEQC.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/APEQC.c	2013-11-21 15:10:25.996103193 -0700
+@@ -21,7 +21,7 @@ Effect
+ 
+ void QepcadCls::APEQC(Word c, Word k, Word P)
+ {
+-        Word c1,E,E1,E11,Ep,Ep1,h,i,j,m,M,Mp,S,t,tp,Ps,p;
++        Word c1,E,E1,E11,Ep,Ep1,i,j,m,M,Mp,S,t,Ps,p;
+ 
+ Step1: /* Get (k+1)-level equational constraints, if none, return. */
+ 	E = LELTI(GVEQNCONST,k+1);
+--- ./source/ticad/ECR.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/ECR.c	2013-11-21 15:15:04.116159572 -0700
+@@ -16,7 +16,7 @@ Establish Children on a rational sample
+ 
+ void ECR(Word c, Word L, Word E, Word Bs)
+ {
+-       Word B,I,J,Lp,M,N,S,Sp,Pp,P,a,b,bp,kp,l,r,rp,s,sp,x,xb,xp;
++       Word B,I,J,Lp,M,N,S,Sp,Pp,P,a,b,bp,kp,l,r,s,sp,x,xb,xp;
+        /* hide kp,xp; */
+        Word T;
+ 
+@@ -55,7 +55,6 @@ Step4: /* First section. */
+ 
+ Step5: /* Check if there are more roots. */
+         if (Lp == NIL) goto Step9;
+-        rp = r;
+ 
+ Step6: /* Next sector. */
+         ADV2(Lp,&I,&B,&Lp); FIRST2(I,&l,&r); 
+--- ./source/ticad/SIGNP1.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/SIGNP1.c	2013-11-21 15:20:40.908084633 -0700
+@@ -19,7 +19,7 @@ using namespace std;
+ 
+ void SIGNP1(Word c, Word P1, Word I)
+ {
+-       Word S1,c1,cb,I1;
++       Word c1,cb,I1;
+ 
+ Step1: /* Compute the signatures of $P_1$. */
+        vector<BDigit> S;
+--- ./source/ticad/QFFTEV.c.orig	2013-08-30 13:34:05.245953999 -0600
++++ ./source/ticad/QFFTEV.c	2013-11-21 15:19:34.709109473 -0700
+@@ -17,8 +17,8 @@ static Word ATOMETFEVAL(Word Q, Word D,
+ 
+ Word QepcadCls::QFFTEV(Word F, Word c, Word k)
+ {
+-       Word F1,Fp,I,Pt,T,i,j,m,s,t,tp,z;
+-       /* hide m,t,tp,z; */
++       Word F1,Fp,I,Pt,T,i,j,s,t,tp,z;
++       /* hide t,tp,z; */
+ 
+ Step1: /* Classify the formula $F$. */
+        T = FIRST(F);
+--- ./source/ticad/ACCCVBC.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/ACCCVBC.c	2013-11-21 15:09:16.324081437 -0700
+@@ -28,7 +28,7 @@ static Word SECTIONPOLS(Word k, Word c,
+ 
+ Word QepcadCls::ACCCVBC(Word k, Word c, Word M, Word B1, Word b, Word* B1h)
+ {
+-  Word d, nnf, dV, IV, cp, i, I_i, d_i, c_i, L, Q, Qb, Qbs, F, Fp, a;
++  Word d, nnf, dV, IV, i, I_i, c_i, L, Q, Qb, Qbs, F, Fp, a;
+ 
+ Step1: /* Initialization **********************************************/
+   a = NIL; /* this is the pseudo-sample point we're building up *******/
+@@ -44,7 +44,6 @@ Step1: /* Initialization ***************
+ Step2: /* Loop over each level from 1 to k ****************************/
+   for(i = 1; i <= k; i++) {
+     I_i = LELTI(IV,i);
+-    d_i = LELTI(dV,i);
+     c_i = LELTI(LELTI(c_i,CHILD),I_i);
+     
+ Step3: /* c_i is a section over a 0-dimensional cell ******************/
+@@ -108,11 +107,10 @@ L : the list of all k-level polynomials
+ ======================================================================*/
+ static Word SECTIONPOLS(Word k, Word c, Word P)
+ {
+-  Word L,P_k,M,i,Mp;
++  Word L,P_k,M,i;
+   L = NIL;
+   P_k = LELTI(P,k);
+-  M = LELTI(c,MULSUB);
+-  for(Mp = M; M != NIL; M = RED(M)) {
++  for(M = LELTI(c,MULSUB); M != NIL; M = RED(M)) {
+     i = FIRST(FIRST(M));
+     L = COMP(LELTI(P_k,i),L); }
+   return L;
+--- ./source/ticad/EC1.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/EC1.c	2013-11-21 15:14:44.828158865 -0700
+@@ -15,7 +15,7 @@ Establish Children of the root.
+ 
+ void EC1(Word c, Word L, Word Bs)
+ {
+-       Word B,I,J,Lp,M,N,S,Sp,P,a,b,kp,l,r,rp,s,xb,xp,Lp1,OL;
++       Word B,I,J,Lp,M,N,S,Sp,P,a,b,kp,l,r,s,xb,xp,Lp1,OL;
+        /* hide kp,xp; */
+        Word T;
+ 
+@@ -58,7 +58,6 @@ Step4: /* First section. */
+ 
+ Step5: /* Check if there are more roots. */
+         if (Lp == NIL) goto Step9;
+-        rp = r;
+ 
+ Step6: /* Next sector. */
+ 	ADV(Lp,&Lp1,&Lp);
+--- ./source/ticad/CONSTRUCT.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/ticad/CONSTRUCT.c	2013-11-21 15:14:00.596153692 -0700
+@@ -24,8 +24,7 @@ Word IUPSBRRI(Word B, BDigit k);
+ void QepcadCls::CONSTRUCT(Word c, Word k, Word f, Word Ps_, Word As)
+ {
+         BDigit p,t,Ths;
+-        Word B,b,E,I,Ip,I1,J,Jp,L,M,Ps,P1,Ps1,S,s,T,Q;
+-	Word junk,a1,b1,t1,p1,j1;
++        Word B,b,E,I,Ip,I1,J,Jp,L,M,Ps,S,s,T;
+ 
+ Step0: /* Root cell. */
+ 	if (k == 0) { CONSTRUCT1(c,k,f,Ps_,As); goto Return; }
+@@ -36,9 +35,7 @@ Step1: /* Extract the projection factors
+        for(Word Pt = CINV(Ps_); Pt != NIL; Pt = RED(Pt))
+        {
+          Word Pt1 = FIRST(Pt);
+-	 if (LELTI(Pt1,PO_TYPE) == PO_POINT)
+-	   junk = 1;
+-	 else
++	 if (LELTI(Pt1,PO_TYPE) != PO_POINT)
+ 	   Ps = COMP(LELTI(Pt1,PO_POLY),Ps);
+        }
+ 
+@@ -242,9 +239,8 @@ BDigit C1COMP(Word A, Word B)
+ /* Root cell. */
+ void QepcadCls::CONSTRUCT1(Word c, Word k, Word f, Word Ps_, Word As)
+ {
+-        BDigit p,t,Ths;
+-        Word B,b,E,I,Ip,I1,J,Jp,L,M,Ps,P1,Ps1,S,s,T,Q,Pp;
+-	Word junk,a1,b1,t1,p1,j1;
++        BDigit Ths;
++        Word I,Ps,Pp;
+ 
+ Step1: /* Extract the projection factors from their attribute lists. */
+ 	Ps = NIL; /* Basis for real-root isolation - i.e. the polynomials */
+@@ -390,7 +386,7 @@ Word IUPSBRRIIR(Word t_B, BDigit p, BDig
+     if (Li == 0) { fail = true; goto Return; }
+ 
+     for(BDigit t = (n%2==1 ? 1 : -1); Li != NIL; t *= -1, Li = RED(Li)) {
+-      Word I = FIRST(Li), i1, i2;
++      Word I = FIRST(Li);
+       Word J = SIPIR(C[i],I,t,k);
+       L = COMP(LIST3(i,J,t),L);
+     }
+--- ./source/ticad/SUBSTR.c.orig	2013-08-30 15:36:46.631109286 -0600
++++ ./source/ticad/SUBSTR.c	2013-11-21 15:21:17.364075319 -0700
+@@ -20,7 +20,6 @@ Substitute the rational sample point int
+ Word QepcadCls::SUBSTR(Word c, Word k, Word b, Word B)
+ {
+        Word B1,Bp,S,S1;
+-       Word dV,IV;
+        Word P,L,Q,T1,T2,Sp,G,f,i;
+ 
+ Step1: /* Do it. */
+--- ./source/userint/PRMCC.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/userint/PRMCC.c	2013-11-21 15:25:06.132042700 -0700
+@@ -10,7 +10,7 @@ Process "manually choose a cell" command
+ 
+ void QepcadCls::PRMCC(Word *t_)
+ {
+-       Word C,c,cp,t;
++       Word c,t;
+        /* hide t; */
+ 
+ Step1: /* Read in an argument. */
+--- ./source/userint/PRRMPF.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/userint/PRRMPF.c	2013-11-21 15:25:29.820039581 -0700
+@@ -7,7 +7,7 @@ Process "Remove Projection Factor" comma
+ 
+ void QepcadCls::PRRMPF()
+ {
+-       Word A_i,C,P_i,P_ij,i,j,t;
++       Word C,P_i,P_ij,i,j,t;
+        /* hide C,t; */
+ 
+ Step1: /* Read in arguments. */
+--- ./source/userint/PRDLFI.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/userint/PRDLFI.c	2013-11-21 15:24:39.420046216 -0700
+@@ -7,7 +7,7 @@ Process "display-level-factors i" comman
+ 
+ void QepcadCls::PRDLFI()
+ {
+-      Word i,j,L;
++      Word i;
+ 
+ Step1: /* Get level. */
+       i = IREAD();
+--- ./source/userint/PREQNCONSTL.c.orig	2013-08-30 15:37:35.045721919 -0600
++++ ./source/userint/PREQNCONSTL.c	2013-11-21 15:25:56.636036050 -0700
+@@ -90,7 +90,7 @@ Word POLYLABEL(Word P, Word p, Word r, W
+ 
+ void QepcadCls::PREQNCONSTPOLY()
+ {
+-  Word t1,t2,t3,r,P1,E,k,pi;
++  Word t1,t2,t3,r,P1,E,pi;
+ 
+   // Check if propagation of equational constraints was specified. 
+   if (PCPROPEC == FALSE) {
+--- ./source/userint/PRPROPEC.c.orig	2012-03-16 06:49:30.000000000 -0600
++++ ./source/userint/PRPROPEC.c	2013-11-21 15:26:16.052033493 -0700
+@@ -7,7 +7,7 @@ Process prop-eqn-const command.
+ 
+ void QepcadCls::PRPROPEC()
+ {
+-       Word C,i,r;
++       Word i,r;
+ 
+ Step1: /* Toggle the PCPROPEC global variable and initialize globals. */
+        GVEQNCONST = GVPIVOT = NIL;
diff --git a/qepcad-B.spec b/qepcad-B.spec
new file mode 100644
index 0000000..8bd34a0
--- /dev/null
+++ b/qepcad-B.spec
@@ -0,0 +1,116 @@
+Name:           qepcad-B
+Version:        1.69
+Release:        2%{?dist}
+Summary:        Quantifier elimination tool
+
+License:        MIT
+URL:            http://www.usna.edu/CS/~qepcad/B/QEPCAD.html
+Source0:        http://www.usna.edu/CS/~qepcad/INSTALL/%{name}.%{version}.tar.gz
+# Don't require users to set the "qe" environment variable.  Not for upstream.
+Patch0:         %{name}-env.patch
+# Add gcc attributes for better efficiency and warnings. Upstream: 20 Nov 2013.
+Patch1:         %{name}-attr.patch
+# Fix use of uninitialized variables. Upstream: 20 Nov 2013.
+Patch2:         %{name}-uninit.patch
+# Fix a non-void function where control can fall off the end. Upstream:
+# 20 Nov 2013.
+Patch3:         %{name}-return.patch
+# Fix abstract base classes with non-virtual destructors. Upstream:
+# 20 Nov 2013.
+Patch4:         %{name}-destructor.patch
+# Add parentheses to disambiguate mixed boolean operators. Upstream:
+# 20 Nov 2013.
+Patch5:         %{name}-parens.patch
+# Fix some mixed signed/unsigned operations. Upstream: 20 Nov 2013.
+Patch6:         %{name}-signed.patch
+# Fix syntactically incorrect expressions. Upstream: 20 Nov 2013.
+Patch7:         %{name}-syntax.patch
+# Remove unused variables and static functions.
+Patch8:         %{name}-unused.patch
+
+BuildRequires:  freeglut-devel
+BuildRequires:  readline-devel
+BuildRequires:  saclib-devel
+
+Requires:       bash
+Requires:       Singular
+
+%description
+QEPCAD is an implementation of quantifier elimination by partial
+cylindrical algebraic decomposition due originally to Hoon Hong, and
+subsequently added on to by many others.  It is an interactive
+command-line program written in C/C++, and based on the SACLIB library.
+This is QEPCAD B version 1.x, the "B" designating a substantial
+departure from the original QEPCAD and distinguishing it from any
+development of the original that may proceed in a different direction.
+
+%prep
+%setup -q -n qesource
+%patch0
+%patch1
+%patch2
+%patch3
+%patch4
+%patch5
+%patch6
+%patch7
+%patch8
+
+# Adapt to the Fedora saclib package
+sed -i 's,\${saclib}/lib/saclib.\.a,-lsaclib,' source/Makefile cad2d/Makefile
+
+# Use the right build flags
+sed -i "s/-O4/%{optflags} -Wno-unused-label $RPM_LD_FLAGS/" plot2d/Makefile
+
+%build
+# FIXME: %%{?_smp_mflags} doesn't work
+export saclib=%{_prefix}
+export qe=$PWD
+export CC=g++
+export CCo=g++
+export FLAGS="%{optflags} -I%{_includedir}/saclib -Wno-unused-label"
+export FLAGSo="$FLAGS"
+export SPECIFLAGS="-I%{_includedir}/saclib"
+export SPECLFLAGS="$RPM_LD_FLAGS"
+make -C extensions/sfext
+make -C extensions/adj2d
+make -C extensions/rend
+make -C extensions/newadj
+make -C extensions/lift2D
+make -C source opt FLAGSo="$FLAGS"
+make -C plot2d
+make -C cad2d opt FLAGSo="$FLAGS"
+
+%install
+#Install the binaries
+mkdir -p %{buildroot}%{_bindir}
+install -p -m 0755 source/qepcad %{buildroot}%{_bindir}
+install -p -m 0755 plot2d/ADJ2D_plot %{buildroot}%{_bindir}
+install -p -m 0755 cad2d/cad2d %{buildroot}%{_bindir}
+
+# Install the default settings file
+mkdir -p %{buildroot}%{_datadir}/qepcad
+sed 's/^#S/S/' default.qepcadrc > \
+  %{buildroot}%{_datadir}/qepcad/default.qepcadrc
+touch -r default.qepcadrc %{buildroot}%{_datadir}/qepcad/default.qepcadrc
+
+# Install qepcad.help and the expected symbolic links
+mkdir -p %{buildroot}%{_datadir}/qepcad/bin
+cp -p source/qepcad.help %{buildroot}%{_datadir}/qepcad/bin
+ln -s %{_bindir}/ADJ2D_plot %{buildroot}%{_datadir}/qepcad/bin
+ln -s %{_bindir}/cad2d %{buildroot}%{_datadir}/qepcad/bin
+ln -s %{_bindir}/qepcad %{buildroot}%{_datadir}/qepcad/bin
+
+%files
+%doc LICENSE LOG
+%{_bindir}/qepcad
+%{_bindir}/ADJ2D_plot
+%{_bindir}/cad2d
+%{_datadir}/qepcad/
+
+%changelog
+* Thu Feb 13 2014 Jerry James <loganjerry at gmail.com> - 1.69-2
+- Install qepcad.help
+
+* Thu Nov 21 2013 Jerry James <loganjerry at gmail.com> - 1.69-1
+- Initial RPM
diff --git a/sources b/sources
index e69de29..709dded 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+8eb38dcc186076896837c75f2f206bb8  qepcad-B.1.69.tar.gz


More information about the scm-commits mailing list