From 40f304bff7bd4d9cd234d63d00cb1bc55a3428d6 Mon Sep 17 00:00:00 2001
From: Romain 'Table' DROUIN <romaindrouin14@gmail.com>
Date: Sat, 7 Jul 2018 16:25:50 +0200
Subject: [PATCH] =?UTF-8?q?Suppression=20des=20warning=20de=20ana=20(d?=
 =?UTF-8?q?=C3=A9but)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 log/src/ana/capfloat.c |  14 +-
 log/src/ana/devtechp.c |   5 -
 log/src/ana/globals.c  |  23 +-
 log/src/ana/idiff.c    | 393 +++++++++----------
 log/src/ana/inter.c    | 219 ++++++-----
 log/src/ana/iscope.c   |  16 +-
 log/src/ana/iswitch1.c | 210 +++++-----
 log/src/ana/iswitch2.c | 211 +++++-----
 log/src/ana/main.c     |  64 ---
 log/src/ana/mmeter.c   |   8 +-
 log/src/ana/nfet4.c    |  14 +-
 log/src/ana/nfet5.c    |  14 +-
 log/src/ana/nfet7f.c   |  51 +--
 log/src/ana/nfet7t.c   |  41 +-
 log/src/ana/nspc1.c    |  32 +-
 log/src/ana/numbers.c  |   2 +-
 log/src/ana/pfet4.c    |  14 +-
 log/src/ana/pfet5.c    |  14 +-
 log/src/ana/pfet6.c    |  20 +-
 log/src/ana/pfet7f.c   |  56 +--
 log/src/ana/pfet7t.c   |  44 +--
 log/src/ana/physical.c |   5 -
 log/src/ana/pspc1.c    |  31 +-
 log/src/ana/resfloat.c |  10 +-
 log/src/ana/stairs.c   | 233 +++++------
 log/src/ana/tc.c       | 854 +++++++++++++++++++++--------------------
 log/src/ana/thermal.c  |   9 +-
 log/src/ana/vdiff.c    | 334 ++++++++--------
 log/src/ana/vswitch.c  | 168 ++++----
 psys/include/p2c/p2c.h |   2 +-
 30 files changed, 1380 insertions(+), 1731 deletions(-)

diff --git a/log/src/ana/capfloat.c b/log/src/ana/capfloat.c
index 74c8313..52fba7c 100644
--- a/log/src/ana/capfloat.c
+++ b/log/src/ana/capfloat.c
@@ -150,7 +150,6 @@ static void GetCnf_Capfloat(ICCapfloat *NewIC)
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICCapfloat *WITH;
   char *STR1;
 
@@ -162,7 +161,6 @@ static void GetCnf_Capfloat(ICCapfloat *NewIC)
       if (!strcmp(Keyword, "CAP")) {
 	TRY(try1);
 	  WITH->ICCap = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->ICCap = 1e-12;
 	ENDTRY(try1);
@@ -203,12 +201,8 @@ static void initlib_Capfloat(Analog_32_action *act)
 static int Capfloatcheck(log_grec *Inst, long Attrnum)
 {
   int Result;
-  CapfloatConst *CapfloatVar;
-  Anainstlist *A_Gate;
 
   Result = true;
-  A_Gate = (Anainstlist *)Inst->info;
-  CapfloatVar = (CapfloatConst *)A_Gate->InstVar;
   switch (Attrnum) {
 
   case N_Cap:
@@ -285,15 +279,9 @@ static void Dispose_Capfloat(Analog_32_action *act)
 
 static void Readgate_Capfloat(Analog_32_action *act)
 {
-  CapfloatConst *CapfloatVar;
-  Anainstlist *A_Gate;
-  log_grec *WITH1;
 
   AnaCapattrread((long)Cstart, act->inst);   /*Read capacitors*/
-  A_Gate = (Anainstlist *)act->inst->info;
-  CapfloatVar = (CapfloatConst *)A_Gate->InstVar;
   /*Set any internals variables to */
-  WITH1 = act->inst;
 }
 
 static void Probe_Capfloat(Analog_32_action *act)
@@ -304,7 +292,7 @@ static void Probe_Capfloat(Analog_32_action *act)
   char Name1[256], Name2[256];
   log_grec *WITH;
   char STR1[22];
-  char STR2[256];
+  char STR2[265];
   char STR3[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/devtechp.c b/log/src/ana/devtechp.c
index 9c5b8ac..e130b2a 100644
--- a/log/src/ana/devtechp.c
+++ b/log/src/ana/devtechp.c
@@ -388,12 +388,9 @@ Analog_32_action *act;
 static void Openconfig_Devtechp(act)
 Analog_32_action *act;
 {
-  long Index;
-  log_grec *WITH;
 
   if (!act->ok)
     return;
-  WITH = act->inst;
   Reload_Devtechp(act);
 }
 
@@ -401,7 +398,6 @@ static void Readgate_Devtechp(act)
 Analog_32_action *act;
 {
   log_grec *WITH;
-  char STR1[256];
 
   WITH = act->inst;
   if (AnaOldmodel && !WITH->attr[0].blnk) {
@@ -432,7 +428,6 @@ static void Newgate_Devtechp(act)
 Analog_32_action *act;
 {
   Analog_32_action Newact;
-  char Newout[256];
 
   Newact.inst = act->inst;
   Newact.ok = true;
diff --git a/log/src/ana/globals.c b/log/src/ana/globals.c
index 8c7d527..c1bd744 100644
--- a/log/src/ana/globals.c
+++ b/log/src/ana/globals.c
@@ -335,7 +335,6 @@ void AnaGetvar(Varname, Value)
 char *Varname;
 double *Value;
 {
-  long Temp;
   char Name[256];
   double Newval;
   char *STR3;
@@ -347,7 +346,6 @@ double *Value;
   gets(Name);
   TRY(try1);
     Newval = strtod(Name, &STR3);
-    Temp = STR3 - Name + 1;
     *Value = Newval;
   RECOVER(try1);
     ;
@@ -568,10 +566,8 @@ void AnaCapDispose(inst)
 log_grec *inst;
 {
   Anainstlist *A_Gate;
-  long Numpins;
 
   A_Gate = (Anainstlist *)inst->info;
-  Numpins = inst->kind->numpins;
   Free(A_Gate->Pininfo);
 }
 
@@ -916,7 +912,7 @@ static void Openfiles()
 
 void AnaMatdump()
 {
-  long Row, Col, Dump;
+  long Row, Col;
   char Newdata[256];
   char STR3[256];
   long FORLIM, FORLIM1;
@@ -937,11 +933,9 @@ void AnaMatdump()
       if (WITH->Mat[Row][Col] >= 0) {
 	sprintf(Newdata, "+% .*E ",
 		P_max((int)(AnaDebugsize - 1) - 7, 1), WITH->Mat[Row][Col]);
-	Dump = strlen(Newdata) + 1;
       } else {
 	sprintf(Newdata, "% .*E ",
 		P_max((int)AnaDebugsize - 7, 1), WITH->Mat[Row][Col]);
-	Dump = strlen(Newdata) + 1;
       }
       Dataout(Newdata);
     }
@@ -957,10 +951,8 @@ void AnaMatdump()
       WITH = AnaSystem;
       if (WITH->MatNZ[Row][Col]) {
 	sprintf(Newdata, "F");
-	Dump = strlen(Newdata) + 1;
       } else {
 	sprintf(Newdata, "Z");
-	Dump = strlen(Newdata) + 1;
       }
       Dataout(Newdata);
     }
@@ -977,7 +969,6 @@ long Rownum;
   AnaExt_rec *A_Node;
   AnaInt_rec *Int_Count;
   int Found;
-  long Dump;
   char Newdata[256];
   AnaMatRec *WITH1;
 
@@ -994,12 +985,10 @@ long Rownum;
 	  sprintf(Newdata, " +% .*E ",
 		  P_max((int)(AnaDebugsize - 1) - 7, 1),
 		  A_Node->last + WITH1->Mat[A_Node->nodenum][AnaSysCol]);
-	  Dump = strlen(Newdata) + 1;
 	} else {
 	  sprintf(Newdata, " % .*E ",
 		  P_max((int)AnaDebugsize - 7, 1),
 		  A_Node->last + WITH1->Mat[A_Node->nodenum][AnaSysCol]);
-	  Dump = strlen(Newdata) + 1;
 	}
 	Dataout(Newdata);
       }
@@ -1016,12 +1005,10 @@ long Rownum;
 	sprintf(Newdata, " +% .*E ",
 		P_max((int)(AnaDebugsize - 1) - 7, 1),
 		Int_Count->last + WITH1->Mat[Int_Count->nodenum][AnaSysCol]);
-	Dump = strlen(Newdata) + 1;
       } else {
 	sprintf(Newdata, " % .*E ",
 		P_max((int)AnaDebugsize - 7, 1),
 		Int_Count->last + WITH1->Mat[Int_Count->nodenum][AnaSysCol]);
-	Dump = strlen(Newdata) + 1;
       }
       Dataout(Newdata);
     }
@@ -1032,7 +1019,7 @@ long Rownum;
 
 void AnaDiffdump()
 {
-  long Row, Col, Dump;
+  long Row, Col;
   char Newdata[256];
   long FORLIM, FORLIM1;
   AnaMatRec *WITH;
@@ -1049,11 +1036,9 @@ void AnaDiffdump()
       if (WITH->Mat[Row][Col] >= 0) {
 	sprintf(Newdata, "+% .*E ",
 		P_max((int)(AnaDebugsize - 1) - 7, 1), WITH->Mat[Row][Col]);
-	Dump = strlen(Newdata) + 1;
       } else {
 	sprintf(Newdata, "% .*E ",
 		P_max((int)AnaDebugsize - 7, 1), WITH->Mat[Row][Col]);
-	Dump = strlen(Newdata) + 1;
       }
       Dataout(Newdata);
     }
@@ -1069,10 +1054,8 @@ void AnaDiffdump()
       WITH = AnaSystem;
       if (WITH->MatNZ[Row][Col]) {
 	sprintf(Newdata, "F");
-	Dump = strlen(Newdata) + 1;
       } else {
 	sprintf(Newdata, "Z");
-	Dump = strlen(Newdata) + 1;
       }
       Dataout(Newdata);
     }
@@ -1108,9 +1091,7 @@ int stepcount = 0;
 
 int AnaQuit()
 {
-  int AnaResult;
 
-  AnaResult = false;
   stepcount++;
   if (timers_sysclock() > AnaStoptime) {
    /* printf("Count = %d\n", stepcount); */
diff --git a/log/src/ana/idiff.c b/log/src/ana/idiff.c
index 8b462d9..adb1191 100644
--- a/log/src/ana/idiff.c
+++ b/log/src/ana/idiff.c
@@ -201,86 +201,92 @@ int First;
 static void Ex_IDiff(act)
 Analog_32_action *act;
 {
-  /*IDifferent*/
-  double MinI1, MinI2, dI1dV1, dI1dV2, dI2dV1, dI2dV2;
-  AnaExt_rec *Pin1Ptr, *Pin2Ptr;
-  long Pin1, Pin2;
-  double VPin1, VPin2;
-  IDiffConst *IDiffVar;
-  Anainstlist *A_Gate;
-  double Fout, Ftime, Etemp, Blend, Th;
-  log_grec *WITH;
-  AnaMatRec *WITH1;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  IDiffVar = (IDiffConst *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  Pin1 = Pin1Ptr->nodenum;
-  VPin1 = Pin1Ptr->last;
-  Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
-  Pin2 = Pin2Ptr->nodenum;
-  VPin2 = Pin2Ptr->last;   /*Use with statement to get to internal variables*/
-  if (WITH->attr[N_Freeze - 1].UU.b)
-    Ftime = IDiffVar->Time;
-  else
-    Ftime = IDiffVar->Time + AnaDt;
-  switch (WITH->attr[N_Type - 1].UU.nv) {
-
-  case 0:
-    Fout = WITH->attr[N_Dc - 1].UU.r;
-    break;
-
-  case 1:
-    Fout = Pulsemaker(act->inst, Ftime, IDiffVar->First);
-    break;
-
-  case 2:
-    if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
-      Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-	       sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
-    else
-      Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-	       sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
-				(Ftime - WITH->attr[N_sDelay - 1].UU.r) +
-				WITH->attr[N_sPhase - 1].UU.r / 360));
-/* p2c: tools.text, line 4796: Note:
- * Line breaker spent 2.0+1.00 seconds, 5000 tries on line 224 [251] */
-    break;
-  }
-  Th = VPin2 - VPin1 + WITH->attr[N_Crowbar - 1].UU.r;
-  if (fabs(Th) < 0.1) {
-    Etemp = AnaExpo(7080 * Th);
-    Blend = 1 / (1 + Etemp);
-    MinI2 = Fout * Blend;
-    dI2dV2 = Etemp * Blend * Blend;
-    dI2dV2 *= 7080 * Fout;
-  } else {
-    if (Th > 0)
-      MinI2 = 0.0;
-    else
-      MinI2 = Fout;
-    dI2dV2 = 0.0;
-  }
-  MinI1 = -MinI2;
-  dI2dV1 = -dI2dV2;
-  dI1dV1 = dI2dV2;
-  dI1dV2 = dI2dV1;
-  WITH1 = AnaSystem;
-  WITH1->Mat[Pin1][AnaSysCol] += MinI1;
-  WITH1->Mat[Pin1][Pin1] += dI1dV1;
-  WITH1->Mat[Pin1][Pin2] += dI1dV2;
-  WITH1->Mat[Pin2][AnaSysCol] += MinI2;
-  WITH1->Mat[Pin2][Pin1] += dI2dV1;
-  WITH1->Mat[Pin2][Pin2] += dI2dV2;
-
-  WITH1->MatNZ[Pin1][AnaSysCol] = true;
-  WITH1->MatNZ[Pin1][Pin1] = true;
-  WITH1->MatNZ[Pin1][Pin2] = true;
-  WITH1->MatNZ[Pin2][AnaSysCol] = true;
-  WITH1->MatNZ[Pin2][Pin1] = true;
-  WITH1->MatNZ[Pin2][Pin2] = true;
-  AnaCapex(act->inst);
+  	/*IDifferent*/
+  	double MinI1, MinI2, dI1dV1, dI1dV2, dI2dV1, dI2dV2;
+  	AnaExt_rec *Pin1Ptr, *Pin2Ptr;
+  	long Pin1, Pin2;
+  	double VPin1, VPin2;
+  	IDiffConst *IDiffVar;
+  	Anainstlist *A_Gate;
+  	double Fout, Ftime, Etemp, Blend, Th;
+  	log_grec *WITH;
+  	AnaMatRec *WITH1;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	IDiffVar = (IDiffConst *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	Pin1 = Pin1Ptr->nodenum;
+  	VPin1 = Pin1Ptr->last;
+  	Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
+  	Pin2 = Pin2Ptr->nodenum;
+  	VPin2 = Pin2Ptr->last;   /*Use with statement to get to internal variables*/
+  	if (WITH->attr[N_Freeze - 1].UU.b)
+    	Ftime = IDiffVar->Time;
+  	else
+    	Ftime = IDiffVar->Time + AnaDt;
+
+	switch (WITH->attr[N_Type - 1].UU.nv) 
+	{
+  		case 0:
+    		Fout = WITH->attr[N_Dc - 1].UU.r;
+    		break;
+
+  		case 1:
+    		Fout = Pulsemaker(act->inst, Ftime, IDiffVar->First);
+    		break;
+
+  		case 2:
+	  		if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
+      			Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+	       				sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
+			else
+      			Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+	       				sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
+						(Ftime - WITH->attr[N_sDelay - 1].UU.r) +
+						WITH->attr[N_sPhase - 1].UU.r / 360));
+			
+			break;
+
+		default:
+			Fout = 0;
+  	}
+  	Th = VPin2 - VPin1 + WITH->attr[N_Crowbar - 1].UU.r;
+  	if (fabs(Th) < 0.1) {
+    	Etemp = AnaExpo(7080 * Th);
+    	Blend = 1 / (1 + Etemp);
+    	MinI2 = Fout * Blend;
+    	dI2dV2 = Etemp * Blend * Blend;
+    	dI2dV2 *= 7080 * Fout;
+  	} 
+	else 
+	{
+    	if (Th > 0)
+      		MinI2 = 0.0;
+		else
+      		MinI2 = Fout;
+
+		dI2dV2 = 0.0;
+  	}
+  	MinI1 = -MinI2;
+  	dI2dV1 = -dI2dV2;
+  	dI1dV1 = dI2dV2;
+  	dI1dV2 = dI2dV1;
+  	WITH1 = AnaSystem;
+  	WITH1->Mat[Pin1][AnaSysCol] += MinI1;
+  	WITH1->Mat[Pin1][Pin1] += dI1dV1;
+  	WITH1->Mat[Pin1][Pin2] += dI1dV2;
+  	WITH1->Mat[Pin2][AnaSysCol] += MinI2;
+  	WITH1->Mat[Pin2][Pin1] += dI2dV1;
+  	WITH1->Mat[Pin2][Pin2] += dI2dV2;
+
+  	WITH1->MatNZ[Pin1][AnaSysCol] = true;
+  	WITH1->MatNZ[Pin1][Pin1] = true;
+  	WITH1->MatNZ[Pin1][Pin2] = true;
+  	WITH1->MatNZ[Pin2][AnaSysCol] = true;
+  	WITH1->MatNZ[Pin2][Pin1] = true;
+  	WITH1->MatNZ[Pin2][Pin2] = true;
+  	AnaCapex(act->inst);
 }  /*Ex_IDiff*/
 
 
@@ -292,106 +298,111 @@ Analog_32_action *act;
 static void Iin_IDiff(act)
 Analog_32_action *act;
 {
-  /*IDifferent*/
-  AnaExt_rec *Pin1Ptr, *Pin2Ptr;
-  double VPin1, Vpin2;
-  IDiffConst *IDiffVar;
-  Anainstlist *A_Gate;
-  double Fout, Ftime, Th;
-  log_grec *WITH;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  IDiffVar = (IDiffConst *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  VPin1 = Pin1Ptr->now;
-  Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
-  Vpin2 = Pin2Ptr->now;
-  switch (act->pin) {
-
-  case 1:
-    WITH = act->inst;
-    if (WITH->attr[N_Freeze - 1].UU.b)
-      Ftime = IDiffVar->Time;
-    else
-      Ftime = IDiffVar->Time + AnaDtlast;
-    switch (WITH->attr[N_Type - 1].UU.nv) {
-
-    case 0:
-      Fout = WITH->attr[N_Dc - 1].UU.r;
-      break;
-
-    case 1:
-      Fout = Pulsemaker(act->inst, Ftime, IDiffVar->First);
-      break;
-
-    case 2:
-      if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
-	Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-		 sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
-      else
-	Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-		 sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
-				  (Ftime - WITH->attr[N_sDelay - 1].UU.r) +
-				  WITH->attr[N_sPhase - 1].UU.r / 360));
-/* p2c: tools.text, line 4796: Note:
- * Line breaker spent 3.0+1.00 seconds, 5000 tries on line 314 [251] */
-      break;
-    }
-    Th = Vpin2 - VPin1 + WITH->attr[N_Crowbar - 1].UU.r;
-    if (fabs(Th) < 0.1)
-      act->Iin = Fout / (1 + AnaExpo(7080 * Th)) + act->Iin;
-    else {
-      if (Th < 0)
-	act->Iin = Fout + act->Iin;
-    }
-    AnaCapIin(act);
-    break;
-
-  case 2:
-    WITH = act->inst;
-    if (WITH->attr[N_Freeze - 1].UU.b)
-      Ftime = IDiffVar->Time;
-    else
-      Ftime = IDiffVar->Time + AnaDtlast;
-    switch (WITH->attr[N_Type - 1].UU.nv) {
-
-    case 0:
-      Fout = WITH->attr[N_Dc - 1].UU.r;
-      break;
-
-    case 1:
-      Fout = Pulsemaker(act->inst, Ftime, IDiffVar->First);
-      break;
-
-    case 2:
-      if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
-	Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-		 sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
-      else
-	Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-		 sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
-				  (Ftime - WITH->attr[N_sDelay - 1].UU.r) +
-				  WITH->attr[N_sPhase - 1].UU.r / 360));
-/* p2c: tools.text, line 4796: 
- * Note: Line breaker spent 3.0 seconds, 5000 tries on line 353 [251] */
-      break;
-    }
-    Th = Vpin2 - VPin1 + WITH->attr[N_Crowbar - 1].UU.r;
-    if (fabs(Th) < 0.1)
-      act->Iin = act->Iin - Fout / (1 + AnaExpo(7080 * Th));
-    else {
-      if (Th < 0)
-	act->Iin = act->Iin - Fout;
-    }
-    AnaCapIin(act);
-    break;
-
-  default:
-    printf("Data Structure Corruption\n");
-    _Escape(1002);
-    break;
-  }
+  	/*IDifferent*/
+  	AnaExt_rec *Pin1Ptr, *Pin2Ptr;
+  	double VPin1, Vpin2;
+  	IDiffConst *IDiffVar;
+  	Anainstlist *A_Gate;
+  	double Fout, Ftime, Th;
+  	log_grec *WITH;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	IDiffVar = (IDiffConst *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	VPin1 = Pin1Ptr->now;
+  	Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
+  	Vpin2 = Pin2Ptr->now;
+  	switch (act->pin) 
+	{
+  		case 1:
+    		WITH = act->inst;
+    		if (WITH->attr[N_Freeze - 1].UU.b)
+      			Ftime = IDiffVar->Time;
+			else
+      			Ftime = IDiffVar->Time + AnaDtlast;
+
+			switch (WITH->attr[N_Type - 1].UU.nv) 
+			{
+    			case 0:
+      				Fout = WITH->attr[N_Dc - 1].UU.r;
+      				break;
+
+    			case 1:
+      				Fout = Pulsemaker(act->inst, Ftime, IDiffVar->First);
+      				break;
+
+    			case 2:
+      				if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
+						Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+		 						sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
+      				else
+						Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+		 						sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
+				  				(Ftime - WITH->attr[N_sDelay - 1].UU.r) +
+				  				WITH->attr[N_sPhase - 1].UU.r / 360));
+      				break;
+
+				default:
+					Fout = 0;
+    		}
+			Th = Vpin2 - VPin1 + WITH->attr[N_Crowbar - 1].UU.r;
+    		if (fabs(Th) < 0.1)
+      			act->Iin = Fout / (1 + AnaExpo(7080 * Th)) + act->Iin;
+    		else 
+			{
+      			if (Th < 0)
+					act->Iin = Fout + act->Iin;
+    		}
+			AnaCapIin(act);
+    		break;
+
+  		case 2:
+    		WITH = act->inst;
+    		if (WITH->attr[N_Freeze - 1].UU.b)
+      			Ftime = IDiffVar->Time;
+			else
+				Ftime = IDiffVar->Time + AnaDtlast;
+
+			switch (WITH->attr[N_Type - 1].UU.nv) 
+			{
+    			case 0:
+      				Fout = WITH->attr[N_Dc - 1].UU.r;
+      				break;
+
+    			case 1:
+      				Fout = Pulsemaker(act->inst, Ftime, IDiffVar->First);
+      				break;
+
+    			case 2:
+      				if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
+						Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+		 						sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
+      				else
+						Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+		 						sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
+				  				(Ftime - WITH->attr[N_sDelay - 1].UU.r) +
+				 	 			WITH->attr[N_sPhase - 1].UU.r / 360));
+      				break;
+
+				default:
+					Fout = 0;
+    		}
+    		Th = Vpin2 - VPin1 + WITH->attr[N_Crowbar - 1].UU.r;
+    		if (fabs(Th) < 0.1)
+      			act->Iin = act->Iin - Fout / (1 + AnaExpo(7080 * Th));
+    		else {
+      			if (Th < 0)
+					act->Iin = act->Iin - Fout;
+    		}
+    		AnaCapIin(act);
+    		break;
+
+  		default:
+    		printf("Data Structure Corruption\n");
+    		_Escape(1002);
+    		break;
+  	}
 }  /*Iin_IDiff*/
 
 
@@ -400,7 +411,6 @@ ICIDiff *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICIDiff *WITH;
   char *STR1;
 
@@ -418,7 +428,6 @@ ICIDiff *NewIC;
       if (!strcmp(Keyword, "CROWBAR")) {
 	TRY(try1);
 	  WITH->ICCrowbar = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->ICCrowbar = 0.1;
 	ENDTRY(try1);
@@ -438,7 +447,6 @@ ICIDiff *NewIC;
       if (!strcmp(Keyword, "DC")) {
 	TRY(try2);
 	  WITH->ICdc = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->ICdc = 1e-9;
 	ENDTRY(try2);
@@ -448,7 +456,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "OFFSET")) {
 	  TRY(try3);
 	    WITH->ICsOffset = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try3);
 	    WITH->ICsOffset = 5e-9;
 	  ENDTRY(try3);
@@ -456,7 +463,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "AMP")) {
 	  TRY(try4);
 	    WITH->ICsAmp = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try4);
 	    WITH->ICsAmp = 1e-9;
 	  ENDTRY(try4);
@@ -464,7 +470,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "FREQ")) {
 	  TRY(try5);
 	    WITH->ICsFreq = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try5);
 	    WITH->ICsFreq = 1 / (AnaDtmax * 10);
 	  ENDTRY(try5);
@@ -472,7 +477,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "PHASE")) {
 	  TRY(try6);
 	    WITH->ICsPhase = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try6);
 	    WITH->ICsPhase = 0.0;
 	  ENDTRY(try6);
@@ -480,7 +484,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "DELAY")) {
 	  TRY(try7);
 	    WITH->ICsDelay = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try7);
 	    WITH->ICsDelay = 0.0;
 	  ENDTRY(try7);
@@ -491,7 +494,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "IINIT")) {
 	  TRY(try8);
 	    WITH->ICpIinit = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try8);
 	    WITH->ICpIinit = 0.0;
 	  ENDTRY(try8);
@@ -499,7 +501,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "IPULSE")) {
 	  TRY(try9);
 	    WITH->ICpIpulse = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try9);
 	    WITH->ICpIpulse = 100e-9;
 	  ENDTRY(try9);
@@ -507,7 +508,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "DELAY")) {
 	  TRY(try10);
 	    WITH->ICpDelay = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try10);
 	    WITH->ICpDelay = 6 * AnaDtmax;
 	  ENDTRY(try10);
@@ -515,7 +515,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "RISE")) {
 	  TRY(try11);
 	    WITH->ICpRise = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try11);
 	    WITH->ICpRise = AnaDtmax * 3;
 	  ENDTRY(try11);
@@ -523,7 +522,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "FALL")) {
 	  TRY(try12);
 	    WITH->ICpFall = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try12);
 	    WITH->ICpFall = AnaDtmax * 3;
 	  ENDTRY(try12);
@@ -531,7 +529,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "WIDTH")) {
 	  TRY(try13);
 	    WITH->ICpWidth = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try13);
 	    WITH->ICpWidth = 6 * AnaDtmax;
 	  ENDTRY(try13);
@@ -539,7 +536,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "PERIOD")) {
 	  TRY(try14);
 	    WITH->ICpPeriod = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try14);
 	    WITH->ICpPeriod = 20 * AnaDtmax;
 	  ENDTRY(try14);
@@ -547,7 +543,6 @@ ICIDiff *NewIC;
 	if (!strcmp(Keyword, "RDELAY")) {
 	  TRY(try15);
 	    WITH->ICpRDelay = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try15);
 	    WITH->ICpRDelay = 0.0;
 	  ENDTRY(try15);
@@ -609,12 +604,8 @@ log_grec *Inst;
 long Attrnum;
 {
   int Result;
-  IDiffConst *IDiffVar;
-  Anainstlist *A_Gate;
 
   Result = true;
-  A_Gate = (Anainstlist *)Inst->info;
-  IDiffVar = (IDiffConst *)A_Gate->InstVar;
   switch (Attrnum) {
 
   case N_Freeze:
@@ -804,13 +795,11 @@ Analog_32_action *act;
 {
   IDiffConst *IDiffVar;
   Anainstlist *A_Gate;
-  log_grec *WITH1;
   char STR1[256];
 
   AnaCapattrread((long)Cstart, act->inst);   /*Read capacitors*/
   A_Gate = (Anainstlist *)act->inst->info;
   IDiffVar = (IDiffConst *)A_Gate->InstVar;
-  WITH1 = act->inst;
   fscanf(*AnaLogglobals->actfile, "%lg%*[^\n]", &IDiffVar->Time);
   getc(*AnaLogglobals->actfile);
   fscanf(*AnaLogglobals->actfile, " %[a-zA-Z]%*[^\n]", STR1);
diff --git a/log/src/ana/inter.c b/log/src/ana/inter.c
index 18eb80b..3e4ca84 100644
--- a/log/src/ana/inter.c
+++ b/log/src/ana/inter.c
@@ -36,40 +36,31 @@ the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
 
 static void log_histinit_32(log_action_t *Globals, int Voltage)
 {
-  na_strlist_t *Dummy;
-
   if (Voltage) {
-    Dummy = strlist_append(&Globals->acttool->hlbl,
+    strlist_append(&Globals->acttool->hlbl,
 	"VCyan,Orange,Yellow,Pink,Green,Red,White,Medium Red,Light Gray,Dark Cyan,Dark Yellow,Dark Red:Color");
-    Dummy = strlist_append(&Globals->acttool->hlbl, "BY:Phosphor Visible?");
-    Dummy = strlist_append(&Globals->acttool->hlbl, "I3:Significant Digits:");
-    Dummy = strlist_append(&Globals->acttool->hlbl,
-			   "VLinear,Log:Scaling method:");
-    Dummy = strlist_append(&Globals->acttool->hlbl,
-			   "Linear;UV,5:Volts/Division:");
-    Dummy = strlist_append(&Globals->acttool->hlbl,
-			   "Linear;UV,0:Vertical Origin");
-    Dummy = strlist_append(&Globals->acttool->hlbl, "Log;UV,1e-15:Vzero:");
-    Dummy = strlist_append(&Globals->acttool->hlbl,
-			   "Log;UDiv,0:Vertical Origin");
-    Dummy = strlist_append(&Globals->acttool->hlbl, "");
-    Dummy = strlist_append(&Globals->acttool->hlbl, "3UV:Present Voltage:");
+    strlist_append(&Globals->acttool->hlbl, "BY:Phosphor Visible?");
+    strlist_append(&Globals->acttool->hlbl, "I3:Significant Digits:");
+    strlist_append(&Globals->acttool->hlbl, "VLinear,Log:Scaling method:");
+    strlist_append(&Globals->acttool->hlbl, "Linear;UV,5:Volts/Division:");
+    strlist_append(&Globals->acttool->hlbl, "Linear;UV,0:Vertical Origin");
+    strlist_append(&Globals->acttool->hlbl, "Log;UV,1e-15:Vzero:");
+    strlist_append(&Globals->acttool->hlbl, "Log;UDiv,0:Vertical Origin");
+    strlist_append(&Globals->acttool->hlbl, "");
+    strlist_append(&Globals->acttool->hlbl, "3UV:Present Voltage:");
     return;
   }
-  Dummy = strlist_append(&Globals->acttool->hlbl,
+  strlist_append(&Globals->acttool->hlbl,
       "VCyan,Orange,Yellow,Pink,Green,Red,White,Medium Red,Light Gray,Dark Cyan,Dark Yellow,Dark Red:Color");
-  Dummy = strlist_append(&Globals->acttool->hlbl, "BY:Phosphor Visible?");
-  Dummy = strlist_append(&Globals->acttool->hlbl, "I3:Significant Digits:");
-  Dummy = strlist_append(&Globals->acttool->hlbl,
-			 "VLinear,Log:Scaling method:");
-  Dummy = strlist_append(&Globals->acttool->hlbl,
-			 "Linear;UA,5e-9:Amps/Division:");
-  Dummy = strlist_append(&Globals->acttool->hlbl,
-			 "Linear;UA,0:Vertical Origin");
-  Dummy = strlist_append(&Globals->acttool->hlbl, "Log;UA,1e-15:Izero:");
-  Dummy = strlist_append(&Globals->acttool->hlbl, "Log;UDiv,0:Vertical Origin");
-  Dummy = strlist_append(&Globals->acttool->hlbl, "");
-  Dummy = strlist_append(&Globals->acttool->hlbl, "3UA:Present Current:");
+  strlist_append(&Globals->acttool->hlbl, "BY:Phosphor Visible?");
+  strlist_append(&Globals->acttool->hlbl, "I3:Significant Digits:");
+  strlist_append(&Globals->acttool->hlbl, "VLinear,Log:Scaling method:");
+  strlist_append(&Globals->acttool->hlbl, "Linear;UA,5e-9:Amps/Division:");
+  strlist_append(&Globals->acttool->hlbl, "Linear;UA,0:Vertical Origin");
+  strlist_append(&Globals->acttool->hlbl, "Log;UA,1e-15:Izero:");
+  strlist_append(&Globals->acttool->hlbl, "Log;UDiv,0:Vertical Origin");
+  strlist_append(&Globals->acttool->hlbl, "");
+  strlist_append(&Globals->acttool->hlbl, "3UA:Present Current:");
 }
 
 
@@ -556,6 +547,9 @@ static long Variantmap(long Variantcolor)
   case 11:
     Result = log_dred;
     break;
+
+  default:
+	Result = 0;
   }
   return Result;
 }
@@ -594,28 +588,26 @@ static void log_history_32(log_action_t *Globals, int Voltage)
 
 static void log_histval_32(log_action_t *Globals, int Voltage)
 {
-  switch (Globals->actgattr[AnaH_Method - 1].UU.nv) {
-
-  case AnaLinear:
-    Globals->actval =
-      (Globals->actval - Globals->actgattr[AnaH_LinOffset - 1].UU.r) /
-      Globals->actgattr[AnaH_Scale - 1].UU.r;
-    break;
-
-  case AnaLog:
-    if (fabs(Globals->actval) < Globals->actgattr[AnaH_Vzero - 1].UU.r)
-      Globals->actval = -Globals->actgattr[AnaH_LogOffset - 1].UU.r;
-    else
-      Globals->actval =
-	AnaInvLn10 *
-	log(fabs(Globals->actval) / Globals->actgattr[AnaH_Vzero - 1].UU.r) -
-	Globals->actgattr[AnaH_LogOffset - 1].UU.r;
-    break;
-  }
-  if (Globals->actgattr[AnaH_PhosVis - 1].UU.b)
-    Globals->acty = Variantmap((long)Globals->actgattr[AnaH_Color - 1].UU.nv);
-  else
-    Globals->acty = -1;
+	switch (Globals->actgattr[AnaH_Method - 1].UU.nv) 
+	{
+  		case AnaLinear:
+    	Globals->actval = (Globals->actval - Globals->actgattr[AnaH_LinOffset - 1].UU.r) /
+      						Globals->actgattr[AnaH_Scale - 1].UU.r;
+    	break;
+
+  		case AnaLog:
+    		if (fabs(Globals->actval) < Globals->actgattr[AnaH_Vzero - 1].UU.r)
+      			Globals->actval = -Globals->actgattr[AnaH_LogOffset - 1].UU.r;
+    		else
+      			Globals->actval = AnaInvLn10 * log(fabs(Globals->actval) / 
+						Globals->actgattr[AnaH_Vzero - 1].UU.r) -
+						Globals->actgattr[AnaH_LogOffset - 1].UU.r;
+    		break;
+  	}
+  	if (Globals->actgattr[AnaH_PhosVis - 1].UU.b)
+    	Globals->acty = Variantmap((long)Globals->actgattr[AnaH_Color - 1].UU.nv);
+  	else
+    	Globals->acty = -1;
 }
 
 
@@ -627,68 +619,73 @@ static void log_histval_32(log_action_t *Globals, int Voltage)
 
 static void log_histstr_32(log_action_t *Globals, int Voltage)
 {
-  double Temp;
-  char Unit[4];
-  log_action_t *WITH;
-
-  WITH = Globals;
-  if (!WITH->actgattr[AnaH_PhosVis - 1].UU.b)
-    return;
-  if (Voltage)
-    strcpy(Unit, "V");
-  else
-    strcpy(Unit, "A");
-  switch (WITH->actgattr[AnaH_Method - 1].UU.nv) {
-
-  case AnaLinear:
-    switch (WITH->acty) {
-
-    case Delta:
-    case Slope:
-      Temp = WITH->actval * WITH->actgattr[AnaH_Scale - 1].UU.r;
-      break;
-
-    case Absolute:
-    case Value:
-      Temp = WITH->actval * WITH->actgattr[AnaH_Scale - 1].UU.r +
-	     WITH->actgattr[AnaH_LinOffset - 1].UU.r;
-      break;
-    }
-    (*Globals->hook.realunit)(Temp,
+  	double Temp;
+  	char Unit[4];
+  	log_action_t *WITH;
+
+  	WITH = Globals;
+  	if (!WITH->actgattr[AnaH_PhosVis - 1].UU.b)
+    	return;
+
+  	if (Voltage)
+    	strcpy(Unit, "V");
+  	else
+    	strcpy(Unit, "A");
+
+  	switch (WITH->actgattr[AnaH_Method - 1].UU.nv) 
+	{
+  		case AnaLinear:
+    		switch (WITH->acty) 
+			{
+    			case Delta:
+    			case Slope:
+      				Temp = WITH->actval * WITH->actgattr[AnaH_Scale - 1].UU.r;
+      				break;
+
+    			case Absolute:
+    			case Value:
+      				Temp = WITH->actval * WITH->actgattr[AnaH_Scale - 1].UU.r +
+	     			WITH->actgattr[AnaH_LinOffset - 1].UU.r;
+      				break;
+
+				default:
+					Temp = 0;
+    		}
+    		(*Globals->hook.realunit)(Temp,
 			      (int)WITH->actgattr[AnaH_Sigdig - 1].UU.U73.i1,
 			      Unit, WITH->actstr);
-    break;
-
-  case AnaLog:
-    switch (WITH->acty) {
-
-    case Delta:
-      Temp = AnaExpo(AnaLn10 * WITH->actval);
-      (*Globals->hook.realunit)(Temp,
-	(int)WITH->actgattr[AnaH_Sigdig - 1].UU.U73.i1, "", WITH->actstr);
-      strcat(WITH->actstr, " Ratio");
-      break;
-
-    case Absolute:
-    case Value:
-      if (WITH->actval <= -WITH->actgattr[AnaH_LogOffset - 1].UU.r)
-	Temp = WITH->actgattr[AnaH_Vzero - 1].UU.r;
-      else
-	Temp = WITH->actgattr[AnaH_Vzero - 1].UU.r * AnaExpo(
-	      AnaLn10 * (WITH->actval + WITH->actgattr[AnaH_LogOffset - 1].UU.r));
-      (*Globals->hook.realunit)(Temp,
-	(int)WITH->actgattr[AnaH_Sigdig - 1].UU.U73.i1, Unit, WITH->actstr);
-      break;
-
-    case Slope:
-      Temp = AnaExpo(AnaLn10 * WITH->actval * WITH->actval2) / WITH->actval2;
-      (*Globals->hook.realunit)(Temp,
-	(int)WITH->actgattr[AnaH_Sigdig - 1].UU.U73.i1, "", WITH->actstr);
-      strcat(WITH->actstr, " Ratio");
-      break;
-    }
-    break;
-  }
+    		break;
+
+  		case AnaLog:
+    		switch (WITH->acty) 
+			{
+    			case Delta:
+      				Temp = AnaExpo(AnaLn10 * WITH->actval);
+      				(*Globals->hook.realunit)(Temp,
+							(int)WITH->actgattr[AnaH_Sigdig - 1].UU.U73.i1, "", WITH->actstr);
+      				strcat(WITH->actstr, " Ratio");
+      				break;
+
+    			case Absolute:
+    			case Value:
+      				if (WITH->actval <= -WITH->actgattr[AnaH_LogOffset - 1].UU.r)
+						Temp = WITH->actgattr[AnaH_Vzero - 1].UU.r;
+      				else
+						Temp = WITH->actgattr[AnaH_Vzero - 1].UU.r * AnaExpo(
+	      							AnaLn10 * (WITH->actval + WITH->actgattr[AnaH_LogOffset - 1].UU.r));
+   					(*Globals->hook.realunit)(Temp,
+									(int)WITH->actgattr[AnaH_Sigdig - 1].UU.U73.i1, Unit, WITH->actstr);
+      				break;
+
+    			case Slope:
+      				Temp = AnaExpo(AnaLn10 * WITH->actval * WITH->actval2) / WITH->actval2;
+      				(*Globals->hook.realunit)(Temp,
+								(int)WITH->actgattr[AnaH_Sigdig - 1].UU.U73.i1, "", WITH->actstr);
+      				strcat(WITH->actstr, " Ratio");
+      				break;
+    		}
+    		break;
+  	}
 }
 
 #undef Delta
diff --git a/log/src/ana/iscope.c b/log/src/ana/iscope.c
index 1ead6e4..f8549b2 100644
--- a/log/src/ana/iscope.c
+++ b/log/src/ana/iscope.c
@@ -346,9 +346,9 @@ Analog_32_action *act;
 static void Iin_Iscope(act)
 Analog_32_action *act;
 {
-  log_grec *WITH;
+//  log_grec *WITH;
 
-  WITH = act->inst;
+//  WITH = act->inst;
 }
 
 /*******************************************************************************/
@@ -394,7 +394,6 @@ ICIscope *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICIscope *WITH;
   char STR1[256];
   char STR2[256];
@@ -428,7 +427,6 @@ ICIscope *NewIC;
       if (!strcmp(Keyword, "PREC")) {
 	TRY(try1);
 	  WITH->Initprec = strtol(Arg, &STR3, 10);
-	  Dummy = STR3 - Arg + 1;
 	RECOVER(try1);
 	  WITH->Initprec = 3;
 	ENDTRY(try1);
@@ -474,22 +472,16 @@ Analog_32_action *act;
   char Oldout[256], Newout[256];
   double Lastval;
   short tx, ty;
-  int Left;
-  AnaCell_rec *Cellptr;
-  ICIscope *ICptr;
+  int Left = 0;
   Imeterrec *Intptr;
   Anainstlist *A_Gate;
   Analog_32_action *WITH;
-  ICIscope *WITH1;
   log_grec *WITH2;
   log_gattrrec *WITH3;
 
-  Cellptr = (AnaCell_rec *)act->inst->kind->info;
-  ICptr = (ICIscope *)Cellptr->Ainfo;
   A_Gate = (Anainstlist *)act->inst->info;
   Intptr = (Imeterrec *)A_Gate->InstVar;
   WITH = act;
-  WITH1 = ICptr;
   Attrnum = WITH->pin;
   if ((unsigned long)Attrnum < 32 &&
       ((1L << Attrnum) & ((1L << N_Present) | (1L << N_Format))) != 0) {
@@ -542,7 +534,7 @@ Analog_32_action *act;
 {
   short tx, ty;
   char Oldout[256];
-  int Left;
+  int Left = 0;
   AnaCell_rec *Cellptr;
   ICIscope *ICptr;
   Imeterrec *Intptr;
diff --git a/log/src/ana/iswitch1.c b/log/src/ana/iswitch1.c
index ffa67cc..931de29 100644
--- a/log/src/ana/iswitch1.c
+++ b/log/src/ana/iswitch1.c
@@ -204,56 +204,62 @@ double OldIideal;
 static void Ex_Iswitch1(act)
 Analog_32_action *act;
 {
-  double MinI1, dI1dV1;
-  AnaExt_rec *Pin1Ptr;
-  long Pin1;
-  double VPin1;
-  Iswitch1Const *Iswitch1Var;
-  Anainstlist *A_Gate;
-  double Fout, Th, Etemp, Blend;
-  log_grec *WITH;
-  AnaMatRec *WITH1;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  Iswitch1Var = (Iswitch1Const *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  Pin1 = Pin1Ptr->nodenum;
-  VPin1 = Pin1Ptr->last;   /*Use with statement to get to internal variables*/
-  switch (WITH->attr[N_Type - 1].UU.nv) {
-
-  case Bistable:
-    Fout = Bistablemaker(act->inst, Iswitch1Var->Time, Iswitch1Var->State,
-			 true, Iswitch1Var->OldIideal);
-    break;
-
-  case Monostable:
-    Fout = Monostablemaker(act->inst, Iswitch1Var->Time, Iswitch1Var->State,
-			   true, Iswitch1Var->OldIideal);
-    break;
-  }
-  Iswitch1Var->NewIideal = Fout;
-  Th = VPin1 - AnaVdd + WITH->attr[N_Crowbar - 1].UU.r;
-  if (fabs(Th) < 0.1) {
-    Etemp = AnaExpo(7080 * Th);
-    Blend = 1 / (1 + Etemp);
-    MinI1 = Fout * Blend;
-    dI1dV1 = Etemp * Blend * Blend;
-    dI1dV1 *= 7080 * Fout;
-  } else {
-    if (Th > 0)
-      MinI1 = 0.0;
-    else
-      MinI1 = Fout;
-    dI1dV1 = 0.0;
-  }
-  WITH1 = AnaSystem;
-  WITH1->Mat[Pin1][AnaSysCol] += MinI1;
-  WITH1->Mat[Pin1][Pin1] += dI1dV1;
-
-  WITH1->MatNZ[Pin1][AnaSysCol] = true;
-  WITH1->MatNZ[Pin1][Pin1] = true;
-  AnaCapex(act->inst);
+  	double MinI1, dI1dV1;
+  	AnaExt_rec *Pin1Ptr;
+  	long Pin1;
+  	double VPin1;
+  	Iswitch1Const *Iswitch1Var;
+  	Anainstlist *A_Gate;
+  	double Fout, Th, Etemp, Blend;
+  	log_grec *WITH;
+  	AnaMatRec *WITH1;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	Iswitch1Var = (Iswitch1Const *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	Pin1 = Pin1Ptr->nodenum;
+  	VPin1 = Pin1Ptr->last;   /*Use with statement to get to internal variables*/
+  	switch (WITH->attr[N_Type - 1].UU.nv) 
+	{
+  		case Bistable:
+    		Fout = Bistablemaker(act->inst, Iswitch1Var->Time, Iswitch1Var->State,
+					 true, Iswitch1Var->OldIideal);
+    		break;
+
+  		case Monostable:
+    		Fout = Monostablemaker(act->inst, Iswitch1Var->Time, Iswitch1Var->State,
+					true, Iswitch1Var->OldIideal);
+    		break;
+		
+		default:
+			Fout = 0;
+	}
+  	Iswitch1Var->NewIideal = Fout;
+  	Th = VPin1 - AnaVdd + WITH->attr[N_Crowbar - 1].UU.r;
+  	if (fabs(Th) < 0.1) {
+    	Etemp = AnaExpo(7080 * Th);
+    	Blend = 1 / (1 + Etemp);
+    	MinI1 = Fout * Blend;
+    	dI1dV1 = Etemp * Blend * Blend;
+    	dI1dV1 *= 7080 * Fout;
+  	}
+	else
+	{
+    	if (Th > 0)
+     		MinI1 = 0.0;
+		else
+			MinI1 = Fout;
+
+		dI1dV1 = 0.0;
+  	}
+  	WITH1 = AnaSystem;
+  	WITH1->Mat[Pin1][AnaSysCol] += MinI1;
+  	WITH1->Mat[Pin1][Pin1] += dI1dV1;
+
+  	WITH1->MatNZ[Pin1][AnaSysCol] = true;
+  	WITH1->MatNZ[Pin1][Pin1] = true;
+  	AnaCapex(act->inst);
 }  /*Ex_Iswitch1*/
 
 
@@ -265,49 +271,52 @@ Analog_32_action *act;
 static void Iin_Iswitch1(act)
 Analog_32_action *act;
 {
-  AnaExt_rec *Pin1Ptr;
-  double VPin1;
-  Iswitch1Const *Iswitch1Var;
-  Anainstlist *A_Gate;
-  double Fout, Th;
-  log_grec *WITH;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  Iswitch1Var = (Iswitch1Const *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  VPin1 = Pin1Ptr->now;
-  switch (act->pin) {
-
-  case 1:
-    WITH = act->inst;
-    switch (WITH->attr[N_Type - 1].UU.nv) {
-
-    case Bistable:
-      Fout = Bistablemaker(act->inst, Iswitch1Var->Time, Iswitch1Var->State,
-			   false, Iswitch1Var->OldIideal);
-      break;
-
-    case Monostable:
-      Fout = Monostablemaker(act->inst, Iswitch1Var->Time, Iswitch1Var->State,
-			     false, Iswitch1Var->OldIideal);
-      break;
-    }
-    Th = VPin1 - AnaVdd + WITH->attr[N_Crowbar - 1].UU.r;
-    if (fabs(Th) < 0.1)
-      act->Iin = act->Iin - Fout / (1 + AnaExpo(7080 * Th));
-    else {
-      if (Th < 0)
-	act->Iin = act->Iin - Fout;
-    }
-    AnaCapIin(act);
-    break;
-
-  default:
-    printf("Data Structure Corruption\n");
-    _Escape(1002);
-    break;
-  }
+  	AnaExt_rec *Pin1Ptr;
+  	double VPin1;
+  	Iswitch1Const *Iswitch1Var;
+  	Anainstlist *A_Gate;
+  	double Fout, Th;
+  	log_grec *WITH;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	Iswitch1Var = (Iswitch1Const *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	VPin1 = Pin1Ptr->now;
+  	switch (act->pin) 
+	{
+  		case 1:
+    		WITH = act->inst;
+    		switch (WITH->attr[N_Type - 1].UU.nv) 
+			{
+    			case Bistable:
+      				Fout = Bistablemaker(act->inst, Iswitch1Var->Time, Iswitch1Var->State,
+			   				false, Iswitch1Var->OldIideal);
+      				break;
+
+    			case Monostable:
+      				Fout = Monostablemaker(act->inst, Iswitch1Var->Time, Iswitch1Var->State,
+			     			false, Iswitch1Var->OldIideal);
+      				break;
+
+				default:
+					Fout = 0;
+    		}
+    		Th = VPin1 - AnaVdd + WITH->attr[N_Crowbar - 1].UU.r;
+    		if (fabs(Th) < 0.1)
+      			act->Iin = act->Iin - Fout / (1 + AnaExpo(7080 * Th));
+    		else {
+      			if (Th < 0)
+					act->Iin = act->Iin - Fout;
+    		}
+    		AnaCapIin(act);
+    		break;
+
+  		default:
+    		printf("Data Structure Corruption\n");
+    		_Escape(1002);
+    		break;
+  	}
 }  /*Iin_Iswitch1*/
 
 
@@ -316,7 +325,6 @@ ICIswitch1 *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICIswitch1 *WITH;
   char *STR1;
 
@@ -328,7 +336,6 @@ ICIswitch1 *NewIC;
       if (!strcmp(Keyword, "CROWBAR")) {
 	TRY(try1);
 	  WITH->ICCrowbar = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->ICCrowbar = 0.1;
 	ENDTRY(try1);
@@ -345,7 +352,6 @@ ICIswitch1 *NewIC;
 	if (!strcmp(Keyword, "IINIT")) {
 	  TRY(try2);
 	    WITH->ICbIinit = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try2);
 	    WITH->ICbIinit = 0.0;
 	  ENDTRY(try2);
@@ -353,7 +359,6 @@ ICIswitch1 *NewIC;
 	if (!strcmp(Keyword, "IPULSE")) {
 	  TRY(try3);
 	    WITH->ICbIpulse = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try3);
 	    WITH->ICbIpulse = 10e-9;
 	  ENDTRY(try3);
@@ -361,7 +366,6 @@ ICIswitch1 *NewIC;
 	if (!strcmp(Keyword, "RISE")) {
 	  TRY(try4);
 	    WITH->ICbRise = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try4);
 	    WITH->ICbRise = 3 * AnaDtmax;
 	  ENDTRY(try4);
@@ -369,7 +373,6 @@ ICIswitch1 *NewIC;
 	if (!strcmp(Keyword, "FALL")) {
 	  TRY(try5);
 	    WITH->ICbFall = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try5);
 	    WITH->ICbFall = 3 * AnaDtmax;
 	  ENDTRY(try5);
@@ -387,7 +390,6 @@ ICIswitch1 *NewIC;
 	if (!strcmp(Keyword, "IINIT")) {
 	  TRY(try6);
 	    WITH->ICmIinit = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try6);
 	    WITH->ICmIinit = 0.0;
 	  ENDTRY(try6);
@@ -395,7 +397,6 @@ ICIswitch1 *NewIC;
 	if (!strcmp(Keyword, "IPULSE")) {
 	  TRY(try7);
 	    WITH->ICmIpulse = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try7);
 	    WITH->ICmIpulse = 10e-9;
 	  ENDTRY(try7);
@@ -403,7 +404,6 @@ ICIswitch1 *NewIC;
 	if (!strcmp(Keyword, "RISE")) {
 	  TRY(try8);
 	    WITH->ICmRise = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try8);
 	    WITH->ICmRise = 3 * AnaDtmax;
 	  ENDTRY(try8);
@@ -411,7 +411,6 @@ ICIswitch1 *NewIC;
 	if (!strcmp(Keyword, "FALL")) {
 	  TRY(try9);
 	    WITH->ICmFall = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try9);
 	    WITH->ICmFall = 3 * AnaDtmax;
 	  ENDTRY(try9);
@@ -419,7 +418,6 @@ ICIswitch1 *NewIC;
 	if (!strcmp(Keyword, "WIDTH")) {
 	  TRY(try10);
 	    WITH->ICmWidth = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try10);
 	    WITH->ICmWidth = 6 * AnaDtmax;
 	  ENDTRY(try10);
@@ -651,13 +649,11 @@ Analog_32_action *act;
 {
   Iswitch1Const *Iswitch1Var;
   Anainstlist *A_Gate;
-  log_grec *WITH1;
   char STR1[256];
 
   AnaCapattrread((long)Cstart, act->inst);   /*Read capacitors*/
   A_Gate = (Anainstlist *)act->inst->info;
   Iswitch1Var = (Iswitch1Const *)A_Gate->InstVar;
-  WITH1 = act->inst;
   fscanf(*AnaLogglobals->actfile, "%lg%*[^\n]", &Iswitch1Var->Time);
   getc(*AnaLogglobals->actfile);
   fscanf(*AnaLogglobals->actfile, " %[a-zA-Z]%*[^\n]", STR1);
@@ -729,11 +725,9 @@ Analog_32_action *act;
 {
   Iswitch1Const *Iswitch1Var;
   Anainstlist *A_Gate;
-  log_grec *WITH1;
 
   A_Gate = (Anainstlist *)act->inst->info;
   Iswitch1Var = (Iswitch1Const *)A_Gate->InstVar;
-  WITH1 = act->inst;
   Iswitch1Var->Reset_State = Iswitch1Var->State;
   Iswitch1Var->Reset_Iideal = Iswitch1Var->OldIideal;
   Iswitch1Var->Reset_Time = Iswitch1Var->Time - AnaAccum;
diff --git a/log/src/ana/iswitch2.c b/log/src/ana/iswitch2.c
index fe631c7..3863af8 100644
--- a/log/src/ana/iswitch2.c
+++ b/log/src/ana/iswitch2.c
@@ -205,56 +205,62 @@ double OldIideal;
 static void Ex_Iswitch2(act)
 Analog_32_action *act;
 {
-  double MinI1, dI1dV1;
-  AnaExt_rec *Pin1Ptr;
-  long Pin1;
-  double VPin1;
-  Iswitch2Const *Iswitch2Var;
-  Anainstlist *A_Gate;
-  double Fout, Etemp, Blend, Th;
-  log_grec *WITH;
-  AnaMatRec *WITH1;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  Iswitch2Var = (Iswitch2Const *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  Pin1 = Pin1Ptr->nodenum;
-  VPin1 = Pin1Ptr->last;   /*Use with statement to get to internal variables*/
-  switch (WITH->attr[N_Type - 1].UU.nv) {
-
-  case Bistable:
-    Fout = Bistablemaker(act->inst, Iswitch2Var->Time, Iswitch2Var->State,
-			 true, Iswitch2Var->OldIideal);
-    break;
-
-  case Monostable:
-    Fout = Monostablemaker(act->inst, Iswitch2Var->Time, Iswitch2Var->State,
-			   true, Iswitch2Var->OldIideal);
-    break;
-  }
-  Iswitch2Var->NewIideal = Fout;
-  Th = WITH->attr[N_Crowbar - 1].UU.r - VPin1;
-  if (fabs(Th) < 0.1) {
-    Etemp = AnaExpo(7080 * Th);
-    Blend = 1 / (1 + Etemp);
-    MinI1 = -Fout * Blend;
-    dI1dV1 = Etemp * Blend * Blend;
-    dI1dV1 *= 7080 * Fout;
-  } else {
-    if (Th > 0)
-      MinI1 = 0.0;
-    else
-      MinI1 = -Fout;
-    dI1dV1 = 0.0;
-  }
-  WITH1 = AnaSystem;
-  WITH1->Mat[Pin1][AnaSysCol] += MinI1;
-  WITH1->Mat[Pin1][Pin1] += dI1dV1;
-
-  WITH1->MatNZ[Pin1][AnaSysCol] = true;
-  WITH1->MatNZ[Pin1][Pin1] = true;
-  AnaCapex(act->inst);
+  	double MinI1, dI1dV1;
+  	AnaExt_rec *Pin1Ptr;
+  	long Pin1;
+  	double VPin1;
+  	Iswitch2Const *Iswitch2Var;
+  	Anainstlist *A_Gate;
+  	double Fout, Etemp, Blend, Th;
+  	log_grec *WITH;
+  	AnaMatRec *WITH1;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	Iswitch2Var = (Iswitch2Const *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	Pin1 = Pin1Ptr->nodenum;
+  	VPin1 = Pin1Ptr->last;   /*Use with statement to get to internal variables*/
+  	switch (WITH->attr[N_Type - 1].UU.nv) 
+	{
+  		case Bistable:
+    		Fout = Bistablemaker(act->inst, Iswitch2Var->Time, Iswitch2Var->State,
+					true, Iswitch2Var->OldIideal);
+    		break;
+
+  		case Monostable:
+    		Fout = Monostablemaker(act->inst, Iswitch2Var->Time, Iswitch2Var->State,
+					true, Iswitch2Var->OldIideal);
+    		break;
+
+		default:
+			Fout = 0;
+  	}
+  	Iswitch2Var->NewIideal = Fout;
+  	Th = WITH->attr[N_Crowbar - 1].UU.r - VPin1;
+  	if (fabs(Th) < 0.1) {
+    	Etemp = AnaExpo(7080 * Th);
+    	Blend = 1 / (1 + Etemp);
+    	MinI1 = -Fout * Blend;
+    	dI1dV1 = Etemp * Blend * Blend;
+    	dI1dV1 *= 7080 * Fout;
+  	}
+	else
+	{
+    	if (Th > 0)
+      		MinI1 = 0.0;
+		else
+      		MinI1 = -Fout;
+
+		dI1dV1 = 0.0;
+  	}
+  	WITH1 = AnaSystem;
+  	WITH1->Mat[Pin1][AnaSysCol] += MinI1;
+  	WITH1->Mat[Pin1][Pin1] += dI1dV1;
+
+  	WITH1->MatNZ[Pin1][AnaSysCol] = true;
+  	WITH1->MatNZ[Pin1][Pin1] = true;
+  	AnaCapex(act->inst);
 }  /*Ex_Iswitch2*/
 
 
@@ -266,49 +272,53 @@ Analog_32_action *act;
 static void Iin_Iswitch2(act)
 Analog_32_action *act;
 {
-  AnaExt_rec *Pin1Ptr;
-  double VPin1;
-  Iswitch2Const *Iswitch2Var;
-  Anainstlist *A_Gate;
-  double Fout, Th;
-  log_grec *WITH;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  Iswitch2Var = (Iswitch2Const *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  VPin1 = Pin1Ptr->now;
-  switch (act->pin) {
-
-  case 1:
-    WITH = act->inst;
-    switch (WITH->attr[N_Type - 1].UU.nv) {
-
-    case Bistable:
-      Fout = Bistablemaker(act->inst, Iswitch2Var->Time, Iswitch2Var->State,
-			   false, Iswitch2Var->OldIideal);
-      break;
-
-    case Monostable:
-      Fout = Monostablemaker(act->inst, Iswitch2Var->Time, Iswitch2Var->State,
-			     false, Iswitch2Var->OldIideal);
-      break;
-    }
-    Th = WITH->attr[N_Crowbar - 1].UU.r - VPin1;
-    if (fabs(Th) < 0.1)
-      act->Iin = Fout / (1 + AnaExpo(7080 * Th)) + act->Iin;
-    else {
-      if (Th < 0)
-	act->Iin = Fout + act->Iin;
-    }
-    AnaCapIin(act);
-    break;
-
-  default:
-    printf("Data Structure Corruption\n");
-    _Escape(1002);
-    break;
-  }
+  	AnaExt_rec *Pin1Ptr;
+  	double VPin1;
+  	Iswitch2Const *Iswitch2Var;
+  	Anainstlist *A_Gate;
+  	double Fout, Th;
+  	log_grec *WITH;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	Iswitch2Var = (Iswitch2Const *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	VPin1 = Pin1Ptr->now;
+  	switch (act->pin) 
+	{
+  		case 1:
+    		WITH = act->inst;
+    		switch (WITH->attr[N_Type - 1].UU.nv) 
+			{
+    			case Bistable:
+      				Fout = Bistablemaker(act->inst, Iswitch2Var->Time, Iswitch2Var->State,
+			   				false, Iswitch2Var->OldIideal);
+      			break;
+
+    			case Monostable:
+      				Fout = Monostablemaker(act->inst, Iswitch2Var->Time, Iswitch2Var->State,
+			     			false, Iswitch2Var->OldIideal);
+      			break;
+				
+				default:
+					Fout = 0;
+    		}
+    		Th = WITH->attr[N_Crowbar - 1].UU.r - VPin1;
+    		if (fabs(Th) < 0.1)
+      			act->Iin = Fout / (1 + AnaExpo(7080 * Th)) + act->Iin;
+    		else 
+			{
+      			if (Th < 0)
+					act->Iin = Fout + act->Iin;
+    		}
+    		AnaCapIin(act);
+    		break;
+
+  		default:
+    		printf("Data Structure Corruption\n");
+    		_Escape(1002);
+    		break;
+  	}
 }  /*Iin_Iswitch2*/
 
 static void GetCnf_Iswitch2(NewIC)
@@ -316,7 +326,6 @@ ICIswitch2 *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICIswitch2 *WITH;
   char *STR1;
 
@@ -328,7 +337,6 @@ ICIswitch2 *NewIC;
       if (!strcmp(Keyword, "CROWBAR")) {
 	TRY(try1);
 	  WITH->ICCrowbar = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->ICCrowbar = 0.1;
 	ENDTRY(try1);
@@ -345,7 +353,6 @@ ICIswitch2 *NewIC;
 	if (!strcmp(Keyword, "IINIT")) {
 	  TRY(try2);
 	    WITH->ICbIinit = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try2);
 	    WITH->ICbIinit = 0.0;
 	  ENDTRY(try2);
@@ -353,7 +360,6 @@ ICIswitch2 *NewIC;
 	if (!strcmp(Keyword, "IPULSE")) {
 	  TRY(try3);
 	    WITH->ICbIpulse = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try3);
 	    WITH->ICbIpulse = 10e-9;
 	  ENDTRY(try3);
@@ -361,7 +367,6 @@ ICIswitch2 *NewIC;
 	if (!strcmp(Keyword, "RISE")) {
 	  TRY(try4);
 	    WITH->ICbRise = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try4);
 	    WITH->ICbRise = 3 * AnaDtmax;
 	  ENDTRY(try4);
@@ -369,7 +374,6 @@ ICIswitch2 *NewIC;
 	if (!strcmp(Keyword, "FALL")) {
 	  TRY(try5);
 	    WITH->ICbFall = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try5);
 	    WITH->ICbFall = 3 * AnaDtmax;
 	  ENDTRY(try5);
@@ -387,7 +391,6 @@ ICIswitch2 *NewIC;
 	if (!strcmp(Keyword, "IINIT")) {
 	  TRY(try6);
 	    WITH->ICmIinit = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try6);
 	    WITH->ICmIinit = 0.0;
 	  ENDTRY(try6);
@@ -395,7 +398,6 @@ ICIswitch2 *NewIC;
 	if (!strcmp(Keyword, "IPULSE")) {
 	  TRY(try7);
 	    WITH->ICmIpulse = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try7);
 	    WITH->ICmIpulse = 10e-9;
 	  ENDTRY(try7);
@@ -403,7 +405,6 @@ ICIswitch2 *NewIC;
 	if (!strcmp(Keyword, "RISE")) {
 	  TRY(try8);
 	    WITH->ICmRise = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try8);
 	    WITH->ICmRise = 3 * AnaDtmax;
 	  ENDTRY(try8);
@@ -411,7 +412,6 @@ ICIswitch2 *NewIC;
 	if (!strcmp(Keyword, "FALL")) {
 	  TRY(try9);
 	    WITH->ICmFall = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try9);
 	    WITH->ICmFall = 3 * AnaDtmax;
 	  ENDTRY(try9);
@@ -419,7 +419,6 @@ ICIswitch2 *NewIC;
 	if (!strcmp(Keyword, "WIDTH")) {
 	  TRY(try10);
 	    WITH->ICmWidth = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try10);
 	    WITH->ICmWidth = 6 * AnaDtmax;
 	  ENDTRY(try10);
@@ -652,13 +651,11 @@ Analog_32_action *act;
 {
   Iswitch2Const *Iswitch2Var;
   Anainstlist *A_Gate;
-  log_grec *WITH1;
   char STR1[256];
 
   AnaCapattrread((long)Cstart, act->inst);   /*Read capacitors*/
   A_Gate = (Anainstlist *)act->inst->info;
   Iswitch2Var = (Iswitch2Const *)A_Gate->InstVar;
-  WITH1 = act->inst;
   fscanf(*AnaLogglobals->actfile, "%lg%*[^\n]", &Iswitch2Var->Time);
   getc(*AnaLogglobals->actfile);
   fscanf(*AnaLogglobals->actfile, " %[a-zA-Z]%*[^\n]", STR1);
@@ -730,11 +727,9 @@ Analog_32_action *act;
 {
   Iswitch2Const *Iswitch2Var;
   Anainstlist *A_Gate;
-  log_grec *WITH1;
 
   A_Gate = (Anainstlist *)act->inst->info;
   Iswitch2Var = (Iswitch2Const *)A_Gate->InstVar;
-  WITH1 = act->inst;
   Iswitch2Var->Reset_State = Iswitch2Var->State;
   Iswitch2Var->Reset_Iideal = Iswitch2Var->OldIideal;
   Iswitch2Var->Reset_Time = Iswitch2Var->Time - AnaAccum;
diff --git a/log/src/ana/main.c b/log/src/ana/main.c
index e3b099e..ca7ff5e 100644
--- a/log/src/ana/main.c
+++ b/log/src/ana/main.c
@@ -618,7 +618,6 @@ void Analog_Systeminit()
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   char *STR1;
 
   do {
@@ -628,7 +627,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "VDD")) {
 	TRY(try1);
 	  AnaVdd = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaVdd <= AnaVddmin || AnaVdd > AnaVddmax)
 	    AnaVdd = 5.0;
 	RECOVER(try1);
@@ -638,7 +636,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "DTMAX")) {
 	TRY(try2);
 	  AnaDtmax = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaDtmax <= AnaDtmaxmin || AnaDtmax > AnaDtmaxmax)
 	    AnaDtmax = 1e-4;
 	RECOVER(try2);
@@ -648,7 +645,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "VSTEP")) {
 	TRY(try3);
 	  AnaVstep = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaVstep <= AnaVstepmin || AnaVstep > AnaVstepmax)
 	    AnaVstep = 0.1;
 	  AnaVshift = AnaVstep / AnaSrange;
@@ -660,7 +656,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "SRANGE")) {
 	TRY(try4);
 	  AnaSrange = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaSrange <= AnaSrangemin || AnaSrange > AnaSrangemax)
 	    AnaSrange = 10.0;
 	  AnaVshift = AnaVstep / AnaSrange;
@@ -672,7 +667,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "HIGHEST")) {
 	TRY(try5);
 	  AnaHighest = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaHighest > AnaHighestmax)
 	    AnaHighest = AnaVdd + 2;
 	RECOVER(try5);
@@ -682,7 +676,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "LOWEST")) {
 	TRY(try6);
 	  AnaLowest = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaLowest < AnaLowestmin || AnaLowest > 0)
 	    AnaLowest = -2.0;
 	RECOVER(try6);
@@ -692,7 +685,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "SMALL")) {
 	TRY(try7);
 	  AnaSmall = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaSmall < AnaSmallmin || AnaSmall > AnaSmallmax)
 	    AnaSmall = 0.1;
 	RECOVER(try7);
@@ -702,7 +694,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "TOL")) {
 	TRY(try8);
 	  AnaTol = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaTol < AnaTolmin || AnaTol > AnaTolmax)
 	    AnaTol = 0.000001;
 	RECOVER(try8);
@@ -712,7 +703,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "EQN_EPSILON")) {
 	TRY(try9);
 	  AnaEqn_Epsilon = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaEqn_Epsilon < AnaEqn_epsilonmin ||
 	      AnaEqn_Epsilon > AnaEqn_epsilonmax)
 	    AnaEqn_Epsilon = 1e-40;
@@ -723,7 +713,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "VARDONE_EPSILON")) {
 	TRY(try10);
 	  AnaVardone_Epsilon = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaVardone_Epsilon < AnaVardone_epsilonmin ||
 	      AnaVardone_Epsilon > AnaVardone_epsilonmax)
 	    AnaVardone_Epsilon = 1e-9;
@@ -734,7 +723,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "TIMEFACTOR")) {
 	TRY(try11);
 	  AnaTimefactor = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaTimefactor < AnaTimefactormin || AnaTimefactor > AnaTimefactormax)
 	    AnaTimefactor = 2.0;
 	RECOVER(try11);
@@ -744,7 +732,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "TIMEMIN")) {
 	TRY(try12);
 	  AnaTimemin = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaTimemin < AnaTimeminmin || AnaTimemin > AnaTimeminmax)
 	    AnaTimemin = 1e-40;
 	RECOVER(try12);
@@ -754,7 +741,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "ITERFIRSTMAX")) {
 	TRY(try13);
 	  AnaIterfirstmax = strtol(Arg, &STR1, 10);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaIterfirstmax < AnaIterfirstmaxmin ||
 	      AnaIterfirstmax > AnaIterfirstmaxmax)
 	    AnaIterfirstmax = 30;
@@ -765,7 +751,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "TIMEINCREASE")) {
 	TRY(try14);
 	  AnaTimeincrease = strtol(Arg, &STR1, 10);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaTimeincrease < AnaTimeincreasemin ||
 	      AnaTimeincrease > AnaTimeincreasemax)
 	    AnaTimeincrease = 2;
@@ -776,7 +761,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "TIMERELAX")) {
 	TRY(try15);
 	  AnaTimerelax = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaTimerelax < AnaTimerelaxmin || AnaTimerelax > AnaTimerelaxmax)
 	    AnaTimerelax = 1e-20;
 	RECOVER(try15);
@@ -786,7 +770,6 @@ void Analog_Systeminit()
       if (!strcmp(Keyword, "NODECAP")) {
 	TRY(try16);
 	  AnaNodecap = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNodecap < AnaNodecapmin || AnaNodecap > AnaNodecapmax)
 	    AnaNodecap = 10e-15;
 	RECOVER(try16);
@@ -804,7 +787,6 @@ void Analog_TechnologyCnf()
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   char *STR1;
 
   do {
@@ -815,7 +797,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "T")) {
 	TRY(try1);
 	  AnaPhysical.T = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPhysical.T <=  AnaMinPhysical.T || 
               AnaPhysical.T >   AnaMaxPhysical.T )
 	    AnaPhysical.T = 300;
@@ -827,7 +808,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "K")) {
 	TRY(try1);
 	  AnaPhysical.k = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPhysical.k <=  AnaMinPhysical.k || 
               AnaPhysical.k >   AnaMaxPhysical.k )
 	    AnaPhysical.k = 1.380658e-23;
@@ -839,7 +819,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "Q")) {
 	TRY(try1);
 	  AnaPhysical.q = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPhysical.q <=  AnaMinPhysical.q || 
               AnaPhysical.q >   AnaMaxPhysical.q )
 	    AnaPhysical.q = 1.60217733e-19;
@@ -851,7 +830,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "E_V")) {
 	TRY(try1);
 	  AnaPhysical.e_v = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPhysical.e_v <=  AnaMinPhysical.e_v || 
               AnaPhysical.e_v >   AnaMaxPhysical.e_v )
 	    AnaPhysical.e_v = 8.854187817e-12;
@@ -863,7 +841,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "E_S")) {
 	TRY(try1);
 	  AnaPhysical.e_s = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPhysical.e_s <=  AnaMinPhysical.e_s || 
               AnaPhysical.e_s >   AnaMaxPhysical.e_s )
 	    AnaPhysical.e_s = 11.7*AnaPhysical.e_v;
@@ -875,7 +852,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "E_OX")) {
 	TRY(try1);
 	  AnaPhysical.e_ox = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPhysical.e_ox <=  AnaMinPhysical.e_ox || 
               AnaPhysical.e_ox >   AnaMaxPhysical.e_ox )
 	    AnaPhysical.e_ox = 3.9*AnaPhysical.e_v;
@@ -887,7 +863,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "PHI_MS")) {
 	TRY(try1);
 	  AnaGenFab.phi_ms = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaGenFab.phi_ms <=  AnaMinGenFab.phi_ms || 
               AnaGenFab.phi_ms >   AnaMaxGenFab.phi_ms )
 	    AnaGenFab.phi_ms = -0.3;
@@ -915,7 +890,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "LAMBDA")) {
 	TRY(try1);
 	  AnaGenFab.lambda = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaGenFab.lambda <=  AnaMinGenFab.lambda || 
               AnaGenFab.lambda >   AnaMaxGenFab.lambda )
 	    AnaGenFab.lambda = 1e-6;
@@ -927,7 +901,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "TOX")) {
 	TRY(try1);
 	  AnaNFab.Tox = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.Tox <=  AnaMinNFab.Tox || 
               AnaNFab.Tox >   AnaMaxNFab.Tox )
 	    AnaNFab.Tox = 216e-10;
@@ -939,7 +912,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "PSI")) {
 	TRY(try1);
 	  AnaNFab.psi = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.psi <=  AnaMinNFab.psi || 
               AnaNFab.psi >   AnaMaxNFab.psi )
 	    AnaNFab.psi = 0.6;
@@ -951,7 +923,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "NA")) {
 	TRY(try1);
 	  AnaNFab.Na = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.Na <=  AnaMinNFab.Na || 
               AnaNFab.Na >   AnaMaxNFab.Na )
 	    AnaNFab.Na = 3.11e16;
@@ -963,7 +934,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "MU0")) {
 	TRY(try1);
 	  AnaNFab.mu0 = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.mu0 <=  AnaMinNFab.mu0 || 
               AnaNFab.mu0 >   AnaMaxNFab.mu0 )
 	    AnaNFab.mu0 = 686.6;
@@ -975,7 +945,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DELTAW")) {
 	TRY(try1);
 	  AnaNFab.deltaW = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.deltaW <=  AnaMinNFab.deltaW || 
               AnaNFab.deltaW >   AnaMaxNFab.deltaW )
 	    AnaNFab.deltaW = -0.11e-6;
@@ -987,7 +956,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DELTAL")) {
 	TRY(try1);
 	  AnaNFab.deltaL = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.deltaL <=  AnaMinNFab.deltaL || 
               AnaNFab.deltaL >   AnaMaxNFab.deltaL )
 	    AnaNFab.deltaL = 0.55e-6;
@@ -999,7 +967,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DEL_NAS")) {
 	TRY(try1);
 	  AnaNFab.del_NaS = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.del_NaS <=  AnaMinNFab.del_NaS || 
               AnaNFab.del_NaS >   AnaMaxNFab.del_NaS )
 	    AnaNFab.del_NaS = 0;
@@ -1011,7 +978,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "EARLY_S")) {
 	TRY(try1);
 	  AnaNFab.Early_s = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.Early_s <=  AnaMinNFab.Early_s || 
               AnaNFab.Early_s >   AnaMaxNFab.Early_s )
 	    AnaNFab.Early_s = 0.06;
@@ -1023,7 +989,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "L_0")) {
 	TRY(try1);
 	  AnaNFab.L_0 = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.L_0 <=  AnaMinNFab.L_0 || 
               AnaNFab.L_0 >   AnaMaxNFab.L_0 )
 	    AnaNFab.L_0 = 0.04e-6;
@@ -1035,7 +1000,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "ACACTIVE")) {
 	TRY(try1);
 	  AnaNFab.aCactive = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.aCactive <=  AnaMinNFab.aCactive || 
               AnaNFab.aCactive >   AnaMaxNFab.aCactive )
 	    AnaNFab.aCactive = 280e-18;
@@ -1047,7 +1011,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "ACWELL")) {
 	TRY(try1);
 	  AnaNFab.aCwell = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.aCwell <=  AnaMinNFab.aCwell || 
               AnaNFab.aCwell >   AnaMaxNFab.aCwell )
 	    AnaNFab.aCwell = 30e-18;
@@ -1059,7 +1022,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "LINCGS")) {
 	TRY(try1);
 	  AnaNFab.linCgs = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.linCgs <=  AnaMinNFab.linCgs || 
               AnaNFab.linCgs >   AnaMaxNFab.linCgs )
 	    AnaNFab.linCgs = 3e-16;
@@ -1071,7 +1033,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "ACGW")) {
 	TRY(try1);
 	  AnaNFab.aCgw = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.aCgw <=  AnaMinNFab.aCgw || 
               AnaNFab.aCgw >   AnaMaxNFab.aCgw )
 	    AnaNFab.aCgw = 10e-18;
@@ -1101,7 +1062,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "LAMBDA")) {
 	TRY(try1);
 	  AnaGenFab.lambda = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaGenFab.lambda <=  AnaMinGenFab.lambda || 
               AnaGenFab.lambda >   AnaMaxGenFab.lambda )
 	    AnaGenFab.lambda = 1e-6;
@@ -1113,7 +1073,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "TOX")) {
 	TRY(try1);
 	  AnaPFab.Tox = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.Tox <=  AnaMinPFab.Tox || 
               AnaPFab.Tox >   AnaMaxPFab.Tox )
 	    AnaPFab.Tox = 216e-10;
@@ -1125,7 +1084,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "PSI")) {
 	TRY(try1);
 	  AnaPFab.psi = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.psi <=  AnaMinPFab.psi || 
               AnaPFab.psi >   AnaMaxPFab.psi )
 	    AnaPFab.psi = 0.6;
@@ -1138,7 +1096,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "NA")) {
 	TRY(try1);
 	  AnaPFab.Na = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.Na <=  AnaMinPFab.Na || 
               AnaPFab.Na >   AnaMaxPFab.Na )
 	    AnaPFab.Na = 2.69e16;
@@ -1150,7 +1107,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "MU0")) {
 	TRY(try1);
 	  AnaPFab.mu0 = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.mu0 <=  AnaMinPFab.mu0 || 
               AnaPFab.mu0 >   AnaMaxPFab.mu0 )
 	    AnaPFab.mu0 = 205;
@@ -1162,7 +1118,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DELTAW")) {
 	TRY(try1);
 	  AnaPFab.deltaW = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.deltaW <=  AnaMinPFab.deltaW || 
               AnaPFab.deltaW >   AnaMaxPFab.deltaW )
 	    AnaPFab.deltaW = -0.11e-6;
@@ -1174,7 +1129,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DELTAL")) {
 	TRY(try1);
 	  AnaPFab.deltaL = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.deltaL <=  AnaMinPFab.deltaL || 
               AnaPFab.deltaL >   AnaMaxPFab.deltaL )
 	    AnaPFab.deltaL = 0.76e-6;
@@ -1186,7 +1140,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DEL_NAS")) {
 	TRY(try1);
 	  AnaPFab.del_NaS = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.del_NaS <=  AnaMinPFab.del_NaS || 
               AnaPFab.del_NaS >   AnaMaxPFab.del_NaS )
 	    AnaPFab.del_NaS = 0;
@@ -1198,7 +1151,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "EARLY_S")) {
 	TRY(try1);
 	  AnaPFab.Early_s = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.Early_s <=  AnaMinPFab.Early_s || 
               AnaPFab.Early_s >   AnaMaxPFab.Early_s )
 	    AnaPFab.Early_s = 0.06;
@@ -1210,7 +1162,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "L_0")) {
 	TRY(try1);
 	  AnaPFab.L_0 = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.L_0 <=  AnaMinPFab.L_0 || 
               AnaPFab.L_0 >   AnaMaxPFab.L_0 )
 	    AnaPFab.L_0 = 0.04e-6;
@@ -1222,7 +1173,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "ACACTIVE")) {
 	TRY(try1);
 	  AnaPFab.aCactive = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.aCactive <=  AnaMinPFab.aCactive || 
               AnaPFab.aCactive >   AnaMaxPFab.aCactive )
 	    AnaPFab.aCactive = 280e-18;
@@ -1234,7 +1184,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "ACWELL")) {
 	TRY(try1);
 	  AnaPFab.aCwell = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.aCwell <=  AnaMinPFab.aCwell || 
               AnaPFab.aCwell >   AnaMaxPFab.aCwell )
 	    AnaPFab.aCwell = 30e-18;
@@ -1246,7 +1195,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "LINCGS")) {
 	TRY(try1);
 	  AnaPFab.linCgs = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.linCgs <=  AnaMinPFab.linCgs || 
               AnaPFab.linCgs >   AnaMaxPFab.linCgs )
 	    AnaPFab.linCgs = 3e-16;
@@ -1258,7 +1206,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "ACGW")) {
 	TRY(try1);
 	  AnaPFab.aCgw = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.aCgw <=  AnaMinPFab.aCgw || 
               AnaPFab.aCgw >   AnaMaxPFab.aCgw )
 	    AnaPFab.aCgw = 280e-18;
@@ -1287,7 +1234,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "QSS")) {
 	TRY(try1);
 	  AnaNFab.Qss = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.Qss <=  AnaMinNFab.Qss || 
               AnaNFab.Qss >   AnaMaxNFab.Qss )
 	    AnaNFab.Qss = 0.00061;
@@ -1299,7 +1245,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DEL_NA0")) {
 	TRY(try1);
 	  AnaNFab.del_Na0 = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.del_Na0 <=  AnaMinNFab.del_Na0 || 
               AnaNFab.del_Na0 >   AnaMaxNFab.del_Na0 )
 	    AnaNFab.del_Na0 = 1;
@@ -1311,7 +1256,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DEL_MU")) {
 	TRY(try1);
 	  AnaNFab.del_mu = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaNFab.del_mu <=  AnaMinNFab.del_mu || 
               AnaNFab.del_mu >   AnaMaxNFab.del_mu )
 	    AnaNFab.del_mu = 1;
@@ -1340,7 +1284,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "QSS")) {
 	TRY(try1);
 	  AnaPFab.Qss = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.Qss <=  AnaMinPFab.Qss || 
               AnaPFab.Qss >   AnaMaxPFab.Qss )
 	    AnaPFab.Qss = 0.000126;
@@ -1352,7 +1295,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DEL_NA0")) {
 	TRY(try1);
 	  AnaPFab.del_Na0 = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.del_Na0 <=  AnaMinPFab.del_Na0 || 
               AnaPFab.del_Na0 >   AnaMaxPFab.del_Na0 )
 	    AnaPFab.del_Na0 = 0.835;
@@ -1364,7 +1306,6 @@ void Analog_TechnologyCnf()
       if (!strcmp(Keyword, "DEL_MU")) {
 	TRY(try1);
 	  AnaPFab.del_mu = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	  if (AnaPFab.del_mu <=  AnaMinPFab.del_mu || 
               AnaPFab.del_mu >   AnaMaxPFab.del_mu )
 	    AnaPFab.del_mu = 1;
@@ -1731,7 +1672,6 @@ static void UnDim()
   /******************************************************************************/
   log_grec *Count;
   long Pages, Numpages;
-  Anainstlist *A_Gate;
   long FORLIM;
   log_grec *WITH;
 
@@ -1742,7 +1682,6 @@ static void UnDim()
     while (Count != NULL) {
       WITH = Count;
       if (WITH->kind->simtype->simtype == 32) {
-	A_Gate = (Anainstlist *)Count->info;
 	(*AnaLogglobals->hook.setdimgate)(Count, false);
       }
       Count = Count->next;
@@ -2579,7 +2518,6 @@ static void Memory()
   Analog_32_action Act;
   int Timeout;
   log_grec *WITH;
-  log_action_t *WITH1;
   log_tool *WITH2;
 
   Numpages = AnaLogglobals->numpages;
@@ -2627,14 +2565,12 @@ static void Memory()
   switch (AnaTimestate) {
 
   case Anasettime:
-    WITH1 = AnaLogglobals;
     WITH2 = AnaLogglobals->acttool;
     WITH2->nexttstep = AnaDtlast;
     AnaTimestate = Anawait;
     break;
 
   case Anawait:
-    WITH1 = AnaLogglobals;
     WITH2 = AnaLogglobals->acttool;
     WITH2->nexttstep = AnaDtlast;
     break;
diff --git a/log/src/ana/mmeter.c b/log/src/ana/mmeter.c
index c9d51b0..35550c5 100644
--- a/log/src/ana/mmeter.c
+++ b/log/src/ana/mmeter.c
@@ -367,9 +367,9 @@ Analog_32_action *act;
 static void Iin_Mmeter(act)
 Analog_32_action *act;
 {
-  log_grec *WITH;
+//  log_grec *WITH;
 
-  WITH = act->inst;
+//  WITH = act->inst;
 }
 
 /*******************************************************************************/
@@ -415,7 +415,6 @@ ICMmeter *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICMmeter *WITH;
   char STR1[256];
   char STR2[256];
@@ -449,7 +448,6 @@ ICMmeter *NewIC;
       if (!strcmp(Keyword, "PREC")) {
 	TRY(try1);
 	  WITH->Initprec = strtol(Arg, &STR3, 10);
-	  Dummy = STR3 - Arg + 1;
 	RECOVER(try1);
 	  WITH->Initprec = 3;
 	ENDTRY(try1);
@@ -606,7 +604,7 @@ Analog_32_action *act;
 {
   short tx, ty;
   char Oldout[256];
-  int Left;
+  int Left = 0;
   AnaCell_rec *Cellptr;
   ICMmeter *ICptr;
   Imeterrec *Intptr;
diff --git a/log/src/ana/nfet4.c b/log/src/ana/nfet4.c
index f86e1b4..b637cf8 100644
--- a/log/src/ana/nfet4.c
+++ b/log/src/ana/nfet4.c
@@ -461,7 +461,6 @@ ICNfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICNfet *WITH;
   char *STR1;
 
@@ -473,7 +472,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "W/L")) {
 	TRY(try1);
 	  WITH->InitRatio = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitRatio = 1.0;
 	ENDTRY(try1);
@@ -481,7 +479,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "VT")) {
 	TRY(try2);
 	  WITH->InitVt = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitVt = 0.9;
 	ENDTRY(try2);
@@ -489,7 +486,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "I0")) {
 	TRY(try3);
 	  WITH->InitLeakage = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitLeakage = 5e-17;
 	ENDTRY(try3);
@@ -497,7 +493,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "FITFACTOR")) {
 	TRY(try4);
 	  WITH->InitFitFactor = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitFitFactor = 3.33;
 	ENDTRY(try4);
@@ -505,7 +500,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "KT/QN")) {
 	TRY(try5);
 	  WITH->InitKtqn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitKtqn = 0.04;
 	ENDTRY(try5);
@@ -513,7 +507,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CGS")) {
 	TRY(try6);
 	  WITH->InitCgs = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitCgs = 10e-15;
 	ENDTRY(try6);
@@ -521,7 +514,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CGD")) {
 	TRY(try7);
 	  WITH->InitCgd = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try7);
 	  WITH->InitCgd = 10e-15;
 	ENDTRY(try7);
@@ -529,7 +521,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CGB")) {
 	TRY(try8);
 	  WITH->InitCgb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try8);
 	  WITH->InitCgb = 10e-15;
 	ENDTRY(try8);
@@ -537,7 +528,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CDB")) {
 	TRY(try9);
 	  WITH->InitCdb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try9);
 	  WITH->InitCdb = 10e-15;
 	ENDTRY(try9);
@@ -545,7 +535,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CSB")) {
 	TRY(try10);
 	  WITH->InitCsb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try10);
 	  WITH->InitCsb = 10e-15;
 	ENDTRY(try10);
@@ -553,7 +542,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "EARLY")) {
 	TRY(try11);
 	  WITH->InitEarly = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try11);
 	  WITH->InitEarly = 50.0;
 	ENDTRY(try11);
@@ -872,7 +860,7 @@ Analog_32_action *act;
   log_grec *WITH;
   char STR1[18];
   char STR2[12];
-  char STR3[256];
+  char STR3[260];
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/nfet5.c b/log/src/ana/nfet5.c
index bf1a787..808f465 100644
--- a/log/src/ana/nfet5.c
+++ b/log/src/ana/nfet5.c
@@ -364,7 +364,6 @@ ICNfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICNfet *WITH;
   char *STR1;
 
@@ -376,7 +375,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "W/L")) {
 	TRY(try1);
 	  WITH->InitRatio = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitRatio = 1.0;
 	ENDTRY(try1);
@@ -384,7 +382,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "VT")) {
 	TRY(try2);
 	  WITH->InitVt = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitVt = 0.9;
 	ENDTRY(try2);
@@ -392,7 +389,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "BETA")) {
 	TRY(try3);
 	  WITH->InitBeta = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitBeta = 50e-6;
 	ENDTRY(try3);
@@ -400,7 +396,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "KAPPA")) {
 	TRY(try4);
 	  WITH->InitKappa = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitKappa = 1.0;
 	ENDTRY(try4);
@@ -408,7 +403,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "KT/Q")) {
 	TRY(try5);
 	  WITH->InitKtq = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitKtq = 0.025;
 	ENDTRY(try5);
@@ -416,7 +410,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CGS")) {
 	TRY(try6);
 	  WITH->InitCgs = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitCgs = 10e-15;
 	ENDTRY(try6);
@@ -424,7 +417,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CGD")) {
 	TRY(try7);
 	  WITH->InitCgd = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try7);
 	  WITH->InitCgd = 10e-15;
 	ENDTRY(try7);
@@ -432,7 +424,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CGB")) {
 	TRY(try8);
 	  WITH->InitCgb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try8);
 	  WITH->InitCgb = 10e-15;
 	ENDTRY(try8);
@@ -440,7 +431,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CDB")) {
 	TRY(try9);
 	  WITH->InitCdb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try9);
 	  WITH->InitCdb = 10e-15;
 	ENDTRY(try9);
@@ -448,7 +438,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CSB")) {
 	TRY(try10);
 	  WITH->InitCsb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try10);
 	  WITH->InitCsb = 10e-15;
 	ENDTRY(try10);
@@ -456,7 +445,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "EARLY")) {
 	TRY(try11);
 	  WITH->InitEarly = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try11);
 	  WITH->InitEarly = 50.0;
 	ENDTRY(try11);
@@ -775,7 +763,7 @@ Analog_32_action *act;
   log_grec *WITH;
   char STR1[18];
   char STR2[14];
-  char STR3[256];
+  char STR3[261]; // ATTENTION à cette modification
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/nfet7f.c b/log/src/ana/nfet7f.c
index 16090ee..7d14183 100644
--- a/log/src/ana/nfet7f.c
+++ b/log/src/ana/nfet7f.c
@@ -92,7 +92,7 @@ log_grec *Inst;
 {
   NfetConst *NfetVar;
   Anainstlist *A_Gate;
-  double rho, phi_f, phi_b,  Leff, Weff, Vfb, beta, lambda, del_Na;
+  double rho, phi_f, phi_b,  Leff, Weff, Vfb, beta, del_Na;
   double Wdrawn, Ldrawn;
 
   A_Gate = (Anainstlist *)Inst->info;
@@ -180,19 +180,19 @@ Analog_32_action *act;
          MinI4, dI4dV1, dI4dV2, dI4dV3, dI4dV4;
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
   long Pin1, Pin2, Pin3, Pin4;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4;   /*1*/
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;   /*1*/
   double ICap;
-  double Vg, Vd, Vs, Vb, Blend, InvBlend, Vnear, Vfar;
+  double Vg, Vd, Vs, Vb, Vnear, Vfar;
   double dVneardVs, dVneardVd, dVfardVs, dVfardVd, sign;
-  double Vt, dVtdVd, dVtdVs, dVtdVg, dVtdVb;
+  double Vt, dVtdVd, dVtdVs, dVtdVb;
   double phi_s, kappa, dkappadVg, dkappadVs, dkappadVd, dkappadVb;
   double Ifor, Irev, Idsi, Ids;
-  double lambda, dlambdadVg, dlambdadVs, dlambdadVd, dlambdadVb;
+  double lambda, dlambdadVg, dlambdadVs, dlambdadVd;
   double dIfordVg, dIfordVs, dIfordVd, dIfordVb;
   double dIrevdVg, dIrevdVs, dIrevdVd, dIrevdVb;
   double dIdsdVg, dIdsdVs, dIdsdVd, dIdsdVb;
   double dIdsidVg, dIdsidVs, dIdsidVd, dIdsidVb;
-  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9;
+  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp9;
   double tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19;
   double tmp20, tmp21, tmp22, tmp23, tmp24, tmp25;
 
@@ -218,7 +218,6 @@ Analog_32_action *act;
   VMem1 = A_Gate->Pininfo[0].Vmem;   /*Memories for capacitors*/
   VMem2 = A_Gate->Pininfo[1].Vmem;   /*...*/
   VMem3 = A_Gate->Pininfo[2].Vmem;   /*...*/
-  VMem4 = A_Gate->Pininfo[3].Vmem;   /*...*/
   Vg = VPin1;
   Vd = VPin2;
   Vs = VPin3;
@@ -226,8 +225,6 @@ Analog_32_action *act;
 
   if (Vd > Vs)
     {
-      Blend = 1;
-      InvBlend = 0;
       Vnear = Vs;
       Vfar = Vd;
       dVneardVs = 1;
@@ -238,8 +235,6 @@ Analog_32_action *act;
     }
   else
     {
-      Blend = 0;
-      InvBlend = 1;
       Vnear = Vd;
       Vfar = Vs;
       dVneardVs = 0;
@@ -264,7 +259,6 @@ Analog_32_action *act;
       dVtdVs = 0;
       dVtdVb = 0;
     }
-  dVtdVg = 0;
   phi_s = NfetVar->k5*tanh((NfetVar->k6/Vt)*(Vg - Vb + NfetVar->k7));
   if (phi_s > NfetVar->k12)
     {
@@ -452,17 +446,16 @@ static void Iin_NFET7F(act)
 Analog_32_action *act;
 {
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4;
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;
   NfetConst *NfetVar;
   Anainstlist *A_Gate;
-  double Vg, Vd, Vs, Vb, Blend, InvBlend, Vnear, Vfar;
+  double Vg, Vd, Vs, Vb, Vnear, Vfar;
   double sign;
   double Vt;
   double phi_s, kappa, lambda;
   double Ifor, Irev, Idsi, Ids;
-  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9;
-  double tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19;
-  double tmp20, tmp21, tmp22, tmp23, tmp24, tmp25;
+  double tmp0, tmp2, tmp6, tmp7, tmp9;
+  double tmp10, tmp11, tmp12, tmp13, tmp14;
   log_grec *WITH1;
 
   switch (act->pin) {
@@ -478,7 +471,6 @@ Analog_32_action *act;
     VMem1 = A_Gate->Pininfo[0].Vmem;
     VMem2 = A_Gate->Pininfo[1].Vmem;
     VMem3 = A_Gate->Pininfo[2].Vmem;
-    VMem4 = A_Gate->Pininfo[3].Vmem;
     VPin1 = Pin1Ptr->now;
     VPin2 = Pin2Ptr->now;
     VPin3 = Pin3Ptr->now;
@@ -528,16 +520,12 @@ Analog_32_action *act;
 
     if (Vd > Vs)
       {
-	Blend = 1;
-	InvBlend = 0;
 	Vnear = Vs;
 	Vfar = Vd;
 	sign = 1;
       }
     else
       {
-	Blend = 0;
-	InvBlend = 1;
 	Vnear = Vd;
 	Vfar = Vs;
 	sign = -1;
@@ -557,7 +545,6 @@ Analog_32_action *act;
       {
 	tmp0 = 1/phi_s;
 	tmp2 = AnaSqrt(tmp0*NfetVar->k8);
-	tmp3 = 1/Vt;
 	kappa = 1/(1 + NfetVar->k2*tmp2);
       }
     else
@@ -609,7 +596,6 @@ Analog_32_action *act;
     VMem1 = A_Gate->Pininfo[0].Vmem;
     VMem2 = A_Gate->Pininfo[1].Vmem;
     VMem3 = A_Gate->Pininfo[2].Vmem;
-    VMem4 = A_Gate->Pininfo[3].Vmem;
     VPin1 = Pin1Ptr->now;
     VPin2 = Pin2Ptr->now;
     VPin3 = Pin3Ptr->now;
@@ -630,7 +616,6 @@ ICNfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICNfet *WITH;
   char *STR1;
 
@@ -642,7 +627,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "WDRAWN")) {
 	TRY(try1);
 	  WITH->InitWdrawn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitWdrawn = 28;
 	ENDTRY(try1);
@@ -650,7 +634,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "LDRAWN")) {
 	TRY(try2);
 	  WITH->InitLdrawn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitLdrawn = 14;
 	ENDTRY(try2);
@@ -658,7 +641,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "SAREA")) {
 	TRY(try3);
 	  WITH->InitSArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitSArea = 36e-6;
 	ENDTRY(try3);
@@ -666,7 +648,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "DAREA")) {
 	TRY(try4);
 	  WITH->InitDArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitDArea = 36e-6;
 	ENDTRY(try4);
@@ -674,7 +655,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "WAREA")) {
 	TRY(try5);
 	  WITH->InitWArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitWArea = 100e-6;
 	ENDTRY(try5);
@@ -682,7 +662,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "NAOFFSET")) {
 	TRY(try6);
 	  WITH->InitNaOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitNaOffset = 1.0;
 	ENDTRY(try6);
@@ -690,7 +669,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "MUOFFSET")) {
 	TRY(try5);
 	  WITH->InitMuOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitMuOffset = 1;
 	ENDTRY(try5);
@@ -698,7 +676,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "QSSOFFSET")) {
 	TRY(try5);
 	  WITH->InitQssOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitQssOffset = 0;
 	ENDTRY(try5);
@@ -754,12 +731,8 @@ log_grec *Inst;
 long Attrnum;
 {
   int Result;
-  NfetConst *NfetVar;
-  Anainstlist *A_Gate;
 
   Result = true;
-  A_Gate = (Anainstlist *)Inst->info;
-  NfetVar = (NfetConst *)A_Gate->InstVar;
   switch (Attrnum) {
 
   case N_Wdrawn:
@@ -1011,9 +984,9 @@ Analog_32_action *act;
   double Node1, Node2, Node3, Node4, Pin1, Pin2, Pin3, Pin4, d1, d2;
   char Name2[256], Name3[256];
   log_grec *WITH;
-  char STR1[18];
+  char STR1[19];
   char STR2[14];
-  char STR3[256];
+  char STR3[262];
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/nfet7t.c b/log/src/ana/nfet7t.c
index 29414ef..dc9d1b7 100644
--- a/log/src/ana/nfet7t.c
+++ b/log/src/ana/nfet7t.c
@@ -93,7 +93,7 @@ log_grec *Inst;
 {
   NfetConst *NfetVar;
   Anainstlist *A_Gate;
-  double rho, phi_f, phi_b, Leff, Weff, Vfb, beta, lambda, del_Na;
+  double rho, phi_f, phi_b, Leff, Weff, Vfb, beta, del_Na;
   double Wdrawn, Ldrawn;
 
   A_Gate = (Anainstlist *)Inst->info;
@@ -182,15 +182,15 @@ Analog_32_action *act;
   long Pin1, Pin2, Pin3;
   double VPin1, VPin2, VPin3, VMem1, VMem2, VMem3;   /*1*/
   double ICap;
-  double Vg, Vd, Vs, Blend, InvBlend, Vnear, Vfar;
+  double Vg, Vd, Vs, Vnear, Vfar;
   double dVneardVs, dVneardVd, dVfardVs, dVfardVd, sign;
-  double Vt, dVtdVd, dVtdVs, dVtdVg;
+  double Vt, dVtdVd, dVtdVs;
   double phi_s, kappa, dkappadVg, dkappadVs, dkappadVd;
   double Ifor, Irev, Idsi, Ids;
   double lambda, dlambdadVg, dlambdadVs, dlambdadVd;
   double dIfordVg, dIfordVs, dIfordVd, dIrevdVg, dIrevdVs, dIrevdVd;
   double dIdsidVg, dIdsidVs, dIdsidVd, dIdsdVg, dIdsdVs, dIdsdVd;
-  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9;
+  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp9;
   double tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19;
   double tmp20, tmp21, tmp22, tmp23, tmp24, tmp25;
 
@@ -219,8 +219,6 @@ Analog_32_action *act;
 
   if (Vd > Vs)
     {
-      Blend = 1;
-      InvBlend = 0;
       Vnear = Vs;
       Vfar = Vd;
       dVneardVs = 1;
@@ -231,8 +229,6 @@ Analog_32_action *act;
     }
   else
     {
-      Blend = 0;
-      InvBlend = 1;
       Vnear = Vd;
       Vfar = Vs;
       dVneardVs = 0;
@@ -254,7 +250,6 @@ Analog_32_action *act;
       dVtdVd = 0;
       dVtdVs = 0;
     }
-  dVtdVg = 0;
   phi_s = NfetVar->k5*tanh((NfetVar->k6/Vt)*(Vg + NfetVar->k7));
   if (phi_s > NfetVar->k12)
     {
@@ -414,14 +409,13 @@ Analog_32_action *act;
   double VPin1, VPin2, VPin3, VMem1, VMem2, VMem3;
   NfetConst *NfetVar;
   Anainstlist *A_Gate;
-  double Vg, Vd, Vs, Blend, InvBlend, Vnear, Vfar;
+  double Vg, Vd, Vs, Vnear, Vfar;
   double sign;
   double Vt;
   double phi_s, kappa, lambda;
   double Ifor, Irev, Idsi, Ids;
-  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9;
-  double tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19;
-  double tmp20, tmp21, tmp22, tmp23, tmp24, tmp25;
+  double tmp0, tmp2, tmp6, tmp7, tmp9;
+  double tmp10, tmp11, tmp12, tmp13, tmp14;
   log_grec *WITH1;
 
   switch (act->pin) {
@@ -481,16 +475,12 @@ Analog_32_action *act;
 
     if (Vd > Vs)
       {
-	Blend = 1;
-	InvBlend = 0;
 	Vnear = Vs;
 	Vfar = Vd;
 	sign = 1;
       }
     else
       {
-	Blend = 0;
-	InvBlend = 1;
 	Vnear = Vd;
 	Vfar = Vs;
 	sign = -1;
@@ -510,7 +500,6 @@ Analog_32_action *act;
       {
 	tmp0 = 1/phi_s;
 	tmp2 = AnaSqrt(tmp0*NfetVar->k8);
-	tmp3 = 1/Vt;
 	kappa = 1/(1 + NfetVar->k2*tmp2);
       }
     else
@@ -564,7 +553,6 @@ ICNfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICNfet *WITH;
   char *STR1;
 
@@ -576,7 +564,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "WDRAWN")) {
 	TRY(try1);
 	  WITH->InitWdrawn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitWdrawn = 28;
 	ENDTRY(try1);
@@ -584,7 +571,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "LDRAWN")) {
 	TRY(try2);
 	  WITH->InitLdrawn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitLdrawn = 14;
 	ENDTRY(try2);
@@ -592,7 +578,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "SAREA")) {
 	TRY(try3);
 	  WITH->InitSArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitSArea = 36e-6;
 	ENDTRY(try3);
@@ -600,7 +585,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "DAREA")) {
 	TRY(try4);
 	  WITH->InitDArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitDArea = 36e-6;
 	ENDTRY(try4);
@@ -608,7 +592,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "NAOFFSET")) {
 	TRY(try5);
 	  WITH->InitNaOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitNaOffset = 1;
 	ENDTRY(try5);
@@ -616,7 +599,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "MUOFFSET")) {
 	TRY(try5);
 	  WITH->InitMuOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitMuOffset = 1;
 	ENDTRY(try5);
@@ -624,7 +606,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "QSSOFFSET")) {
 	TRY(try5);
 	  WITH->InitQssOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitQssOffset = 0;
 	ENDTRY(try5);
@@ -675,12 +656,8 @@ log_grec *Inst;
 long Attrnum;
 {
   int Result;
-  NfetConst *NfetVar;
-  Anainstlist *A_Gate;
 
   Result = true;
-  A_Gate = (Anainstlist *)Inst->info;
-  NfetVar = (NfetConst *)A_Gate->InstVar;
   switch (Attrnum) {
 
   case N_Wdrawn:
@@ -926,9 +903,9 @@ Analog_32_action *act;
   double Node1, Node2, Node3, Pin1, Pin2, Pin3, d1, d2;
   char Name2[256], Name3[256];
   log_grec *WITH;
-  char STR1[18];
+  char STR1[19];   // Attention modification pas sûr
   char STR2[14];
-  char STR3[256];
+  char STR3[262]; // Attention modification pas sûr
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/nspc1.c b/log/src/ana/nspc1.c
index 2cba6ee..c2df21d 100644
--- a/log/src/ana/nspc1.c
+++ b/log/src/ana/nspc1.c
@@ -222,10 +222,10 @@ Analog_32_action *act;
   double MinI2, dI2dV1, dI2dV2, dI2dV3, dI2dV4, 
          MinI3, dI3dV1, dI3dV2, dI3dV3, dI3dV4,
          MinI1, dI1dV1, dI1dV2, dI1dV3, dI1dV4,
-         MinI4, dI4dV1, dI4dV2, dI4dV3, dI4dV4;
+         MinI4, dI4dV1, dI4dV2, dI4dV3;
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
   long Pin1, Pin2, Pin3, Pin4;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4;   /*1*/
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;   /*1*/
   double ICap;
   NfetConst *NfetVar;
   Anainstlist *A_Gate;
@@ -265,7 +265,6 @@ Analog_32_action *act;
   VMem1 = A_Gate->Pininfo[0].Vmem;   /*Memories for capacitors*/
   VMem2 = A_Gate->Pininfo[1].Vmem;   /*...*/
   VMem3 = A_Gate->Pininfo[2].Vmem;   /*...*/
-  VMem4 = A_Gate->Pininfo[3].Vmem;  /*...*/
   Vg = VPin1;
   Vd = VPin2;
   Vs = VPin3;
@@ -352,7 +351,6 @@ Analog_32_action *act;
   dI4dV1 = 0.0;
   dI4dV2 = 0.0;
   dI4dV3 = 0.0;
-  dI4dV4 = 0.0;
   
   if (WITH->attr[N_Cgd - 1].UU.r != 0) {   /*C gate-drain*/
     if (AnaChangedDt)
@@ -436,12 +434,12 @@ static void Iin_NSPC1(act)
 Analog_32_action *act;
 {
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4;
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;
   NfetConst *NfetVar;
   Anainstlist *A_Gate;
   double Ids, Vg, Vd, Vs, Vb, Vds, K2Vg, K7Vb, 
-         ExpFor, OnePlusExpFor, LogOnePlusExpFor,
-	 Ifor, ExpRev, OnePlusExpRev, LogOnePlusExpRev, Irev, Blend,
+         ExpFor, LogOnePlusExpFor,
+	 Ifor, ExpRev, LogOnePlusExpRev, Irev, Blend,
 	 VdsInvVcross, Early, Itotal;
   log_grec *WITH1;
 
@@ -458,7 +456,6 @@ Analog_32_action *act;
       VMem1 = A_Gate->Pininfo[0].Vmem;
       VMem2 = A_Gate->Pininfo[1].Vmem;
       VMem3 = A_Gate->Pininfo[2].Vmem;
-      VMem4 = A_Gate->Pininfo[3].Vmem;
       VPin1 = Pin1Ptr->now;
       VPin2 = Pin2Ptr->now;
       VPin3 = Pin3Ptr->now;
@@ -516,12 +513,10 @@ Analog_32_action *act;
       fprintf(stderr,"bulk %f K7Vb %f\n",Vb,K7Vb);
 */
       ExpFor = AnaExpo(K2Vg - NfetVar->k5 - NfetVar->k6 * Vs + K7Vb);
-      OnePlusExpFor = 1 + ExpFor;
       LogOnePlusExpFor = log1p(ExpFor);
       Ifor = NfetVar->k1 * LogOnePlusExpFor * LogOnePlusExpFor;
 
       ExpRev = AnaExpo(K2Vg - NfetVar->k5 - NfetVar->k6 * Vd + K7Vb);
-      OnePlusExpRev = 1 + ExpRev;
       LogOnePlusExpRev = log1p(ExpRev);
       Irev = NfetVar->k1 * LogOnePlusExpRev * LogOnePlusExpRev;
 
@@ -565,7 +560,6 @@ ICNfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICNfet *WITH;
   char *STR1;
 
@@ -577,7 +571,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "NUMBER")) {
 	TRY(try14);
 	  WITH->InitNumber = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try14);
 	  WITH->InitNumber = 1.0;
 	ENDTRY(try14);
@@ -585,7 +578,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "W")) {
 	TRY(try12);
 	  WITH->InitW = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try12);
 	  WITH->InitW = 4.0;
 	ENDTRY(try12);
@@ -593,7 +585,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "L")) {
 	TRY(try13);
 	  WITH->InitL = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try13);
 	  WITH->InitL = 4.0;
 	ENDTRY(try13);
@@ -611,7 +602,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "VT")) {
 	TRY(try2);
 	  WITH->InitVt = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitVt = 0.9;
 	ENDTRY(try2);
@@ -619,7 +609,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "BETA")) {
 	TRY(try3);
 	  WITH->InitBeta = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitBeta = 50e-6;
 	ENDTRY(try3);
@@ -627,7 +616,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "KAPPA")) {
 	TRY(try4);
 	  WITH->InitKappa = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitKappa = 0.9;
 	ENDTRY(try4);
@@ -635,7 +623,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "KT/Q")) {
 	TRY(try5);
 	  WITH->InitKtq = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitKtq = 0.025;
 	ENDTRY(try5);
@@ -643,7 +630,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CB")) {
 	TRY(try14);
 	  WITH->InitCb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try14);
 	  WITH->InitCb = 0.0;
 	ENDTRY(try14);
@@ -651,7 +637,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CGS")) {
 	TRY(try6);
 	  WITH->InitCgs = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitCgs = 10e-15;
 	ENDTRY(try6);
@@ -659,7 +644,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CGD")) {
 	TRY(try7);
 	  WITH->InitCgd = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try7);
 	  WITH->InitCgd = 10e-15;
 	ENDTRY(try7);
@@ -667,7 +651,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CGB")) {
 	TRY(try8);
 	  WITH->InitCgb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try8);
 	  WITH->InitCgb = 10e-15;
 	ENDTRY(try8);
@@ -675,7 +658,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CDB")) {
 	TRY(try9);
 	  WITH->InitCdb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try9);
 	  WITH->InitCdb = 10e-15;
 	ENDTRY(try9);
@@ -683,7 +665,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "CSB")) {
 	TRY(try10);
 	  WITH->InitCsb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try10);
 	  WITH->InitCsb = 10e-15;
 	ENDTRY(try10);
@@ -691,7 +672,6 @@ ICNfet *NewIC;
       if (!strcmp(Keyword, "EARLY")) {
 	TRY(try11);
 	  WITH->InitEarly = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try11);
 	  WITH->InitEarly = 50.0;
 	ENDTRY(try11);
@@ -1101,7 +1081,7 @@ Analog_32_action *act;
   log_grec *WITH;
   char STR1[25];
   char STR2[14];
-  char STR3[256];
+  char STR3[261]; //Attention pas sûr
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/numbers.c b/log/src/ana/numbers.c
index e51810a..0c90ddd 100644
--- a/log/src/ana/numbers.c
+++ b/log/src/ana/numbers.c
@@ -967,7 +967,7 @@ static void Touch_Numbers(Analog_32_action *act)
 static void Probe_Numbers(Analog_32_action *act)
 {
   char dtstr[256];
-  char STR2[256];
+  char STR2[264]; // Attention pas sûr que ce correctif soit bien
 
   AnaScoreboard(GateName, (long)AnaMessGate1);
   if (AnaChanged) {
diff --git a/log/src/ana/pfet4.c b/log/src/ana/pfet4.c
index d2fe584..2ab350c 100644
--- a/log/src/ana/pfet4.c
+++ b/log/src/ana/pfet4.c
@@ -454,7 +454,6 @@ ICPfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICPfet *WITH;
   char *STR1;
 
@@ -466,7 +465,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "W/L")) {
 	TRY(try1);
 	  WITH->InitRatio = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitRatio = 1.0;
 	ENDTRY(try1);
@@ -474,7 +472,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "VT")) {
 	TRY(try2);
 	  WITH->InitVt = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitVt = 0.9;
 	ENDTRY(try2);
@@ -482,7 +479,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "I0")) {
 	TRY(try3);
 	  WITH->InitLeakage = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitLeakage = 1.66e-17;
 	ENDTRY(try3);
@@ -490,7 +486,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "FITFACTOR")) {
 	TRY(try4);
 	  WITH->InitFitFactor = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitFitFactor = 3.33;
 	ENDTRY(try4);
@@ -498,7 +493,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "KT/QN")) {
 	TRY(try5);
 	  WITH->InitKtqn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitKtqn = 0.04;
 	ENDTRY(try5);
@@ -506,7 +500,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGS")) {
 	TRY(try6);
 	  WITH->InitCgs = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitCgs = 10e-15;
 	ENDTRY(try6);
@@ -514,7 +507,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGD")) {
 	TRY(try7);
 	  WITH->InitCgd = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try7);
 	  WITH->InitCgd = 10e-15;
 	ENDTRY(try7);
@@ -522,7 +514,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGB")) {
 	TRY(try8);
 	  WITH->InitCgb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try8);
 	  WITH->InitCgb = 10e-15;
 	ENDTRY(try8);
@@ -530,7 +521,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CDB")) {
 	TRY(try9);
 	  WITH->InitCdb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try9);
 	  WITH->InitCdb = 10e-15;
 	ENDTRY(try9);
@@ -538,7 +528,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CSB")) {
 	TRY(try10);
 	  WITH->InitCsb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try10);
 	  WITH->InitCsb = 10e-15;
 	ENDTRY(try10);
@@ -546,7 +535,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "EARLY")) {
 	TRY(try11);
 	  WITH->InitEarly = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try11);
 	  WITH->InitEarly = 50.0;
 	ENDTRY(try11);
@@ -865,7 +853,7 @@ Analog_32_action *act;
   log_grec *WITH;
   char STR1[18];
   char STR2[12];
-  char STR3[256];
+  char STR3[260];
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/pfet5.c b/log/src/ana/pfet5.c
index 3e1de29..9381676 100644
--- a/log/src/ana/pfet5.c
+++ b/log/src/ana/pfet5.c
@@ -362,7 +362,6 @@ ICPfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICPfet *WITH;
   char *STR1;
 
@@ -374,7 +373,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "W/L")) {
 	TRY(try1);
 	  WITH->InitRatio = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitRatio = 1.0;
 	ENDTRY(try1);
@@ -382,7 +380,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "VT")) {
 	TRY(try2);
 	  WITH->InitVt = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitVt = 0.9;
 	ENDTRY(try2);
@@ -390,7 +387,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "BETA")) {
 	TRY(try3);
 	  WITH->InitBeta = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitBeta = 50e-6;
 	ENDTRY(try3);
@@ -398,7 +394,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "KAPPA")) {
 	TRY(try4);
 	  WITH->InitKappa = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitKappa = 1.0;
 	ENDTRY(try4);
@@ -406,7 +401,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "KT/Q")) {
 	TRY(try5);
 	  WITH->InitKtq = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitKtq = 0.025;
 	ENDTRY(try5);
@@ -414,7 +408,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGS")) {
 	TRY(try6);
 	  WITH->InitCgs = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitCgs = 10e-15;
 	ENDTRY(try6);
@@ -422,7 +415,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGD")) {
 	TRY(try7);
 	  WITH->InitCgd = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try7);
 	  WITH->InitCgd = 10e-15;
 	ENDTRY(try7);
@@ -430,7 +422,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGB")) {
 	TRY(try8);
 	  WITH->InitCgb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try8);
 	  WITH->InitCgb = 10e-15;
 	ENDTRY(try8);
@@ -438,7 +429,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CDB")) {
 	TRY(try9);
 	  WITH->InitCdb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try9);
 	  WITH->InitCdb = 10e-15;
 	ENDTRY(try9);
@@ -446,7 +436,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CSB")) {
 	TRY(try10);
 	  WITH->InitCsb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try10);
 	  WITH->InitCsb = 10e-15;
 	ENDTRY(try10);
@@ -454,7 +443,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "EARLY")) {
 	TRY(try11);
 	  WITH->InitEarly = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try11);
 	  WITH->InitEarly = 50.0;
 	ENDTRY(try11);
@@ -777,7 +765,7 @@ Analog_32_action *act;
   log_grec *WITH;
   char STR1[18];
   char STR2[14];
-  char STR3[256];
+  char STR3[261]; // Attention modification non sûr
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/pfet6.c b/log/src/ana/pfet6.c
index 6048a51..7d48583 100644
--- a/log/src/ana/pfet6.c
+++ b/log/src/ana/pfet6.c
@@ -78,7 +78,7 @@ Analog_32_action *act;
          MinI4, dI4dV1, dI4dV2, dI4dV3, dI4dV4;
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
   long Pin1, Pin2, Pin3, Pin4;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4;   /*1*/
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;   /*1*/
   double ICap;
   PfetConst *PfetVar;
   Anainstlist *A_Gate;
@@ -117,7 +117,6 @@ Analog_32_action *act;
   VMem1 = A_Gate->Pininfo[0].Vmem;   /*Memories for capacitors*/
   VMem2 = A_Gate->Pininfo[1].Vmem;   /*...*/
   VMem3 = A_Gate->Pininfo[2].Vmem;   /*...*/
-  VMem4 = A_Gate->Pininfo[3].Vmem;   /*...*/
   Vg = VPin1;
   Vd = VPin2;
   Vs = VPin3;
@@ -290,7 +289,7 @@ static void Iin_PFET6(act)
 Analog_32_action *act;
 {
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4 ;
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;
   PfetConst *PfetVar;
   Anainstlist *A_Gate;
   double Ids, Vg, Vd, Vs, Vw, Vds, K2Vg, K7Vw, ExpFor, OnePlusExpFor,
@@ -416,7 +415,6 @@ ICPfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICPfet *WITH;
   char *STR1;
 
@@ -428,7 +426,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "W/L")) {
 	TRY(try1);
 	  WITH->InitRatio = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitRatio = 1.0;
 	ENDTRY(try1);
@@ -436,7 +433,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "VT")) {
 	TRY(try2);
 	  WITH->InitVt = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitVt = 0.9;
 	ENDTRY(try2);
@@ -444,7 +440,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "BETA")) {
 	TRY(try3);
 	  WITH->InitBeta = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitBeta = 50e-6;
 	ENDTRY(try3);
@@ -452,7 +447,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "KAPPA")) {
 	TRY(try4);
 	  WITH->InitKappa = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitKappa = 1.0;
 	ENDTRY(try4);
@@ -460,7 +454,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "KT/Q")) {
 	TRY(try5);
 	  WITH->InitKtq = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitKtq = 0.025;
 	ENDTRY(try5);
@@ -468,7 +461,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGS")) {
 	TRY(try6);
 	  WITH->InitCgs = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitCgs = 10e-15;
 	ENDTRY(try6);
@@ -476,7 +468,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGD")) {
 	TRY(try7);
 	  WITH->InitCgd = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try7);
 	  WITH->InitCgd = 10e-15;
 	ENDTRY(try7);
@@ -484,7 +475,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGB")) {
 	TRY(try8);
 	  WITH->InitCgb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try8);
 	  WITH->InitCgb = 10e-15;
 	ENDTRY(try8);
@@ -492,7 +482,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CDB")) {
 	TRY(try9);
 	  WITH->InitCdb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try9);
 	  WITH->InitCdb = 10e-15;
 	ENDTRY(try9);
@@ -500,7 +489,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CSB")) {
 	TRY(try10);
 	  WITH->InitCsb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try10);
 	  WITH->InitCsb = 10e-15;
 	ENDTRY(try10);
@@ -508,7 +496,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CWB")) {
 	TRY(try11);
 	  WITH->InitCwb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try11);
 	  WITH->InitCwb = 10e-15;
 	ENDTRY(try11);
@@ -516,7 +503,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "EARLY")) {
 	TRY(try12);
 	  WITH->InitEarly = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try12);
 	  WITH->InitEarly = 50.0;
 	ENDTRY(try12);
@@ -864,7 +850,7 @@ Analog_32_action *act;
   log_grec *WITH;
   char STR1[18];
   char STR2[14];
-  char STR3[256];
+  char STR3[261]; // attntion modifiction non sûr
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/pfet7f.c b/log/src/ana/pfet7f.c
index df69238..2e68acc 100644
--- a/log/src/ana/pfet7f.c
+++ b/log/src/ana/pfet7f.c
@@ -90,7 +90,7 @@ log_grec *Inst;
 {
   PfetConst *PfetVar;
   Anainstlist *A_Gate;
-  double rho, phi_f, phi_b, Leff, Weff, Vfb, beta, lambda, del_Na;
+  double rho, phi_f, phi_b, Leff, Weff, Vfb, beta, del_Na;
   double Wdrawn, Ldrawn;
 
   A_Gate = (Anainstlist *)Inst->info;
@@ -176,21 +176,21 @@ Analog_32_action *act;
          MinI4, dI4dV1, dI4dV2, dI4dV3, dI4dV4;
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
   long Pin1, Pin2, Pin3, Pin4;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4;   /*1*/
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;   /*1*/
   double ICap;
-  double Vg, Vd, Vs, Vb, Blend, InvBlend, Vnear, Vfar;
+  double Vg, Vd, Vs, Vb, Vnear, Vfar;
   double dVneardVs, dVneardVd, dVfardVs, dVfardVd, sign;
-  double Vt, dVtdVd, dVtdVs, dVtdVg, dVtdVb;
+  double Vt, dVtdVd, dVtdVs, dVtdVb;
   double phi_s, kappa, dkappadVg, dkappadVs, dkappadVd, dkappadVb;
   double Ifor, Irev, Isdi, Isd;
-  double lambda, dlambdadVg, dlambdadVs, dlambdadVd, dlambdadVb;
+  double lambda, dlambdadVg, dlambdadVs, dlambdadVd;
   double dIfordVg, dIfordVs, dIfordVd, dIfordVb;
   double dIrevdVg, dIrevdVs, dIrevdVd, dIrevdVb;
   double dIsddVg, dIsddVs, dIsddVd, dIsddVb;
   double dIsdidVg, dIsdidVs, dIsdidVd, dIsdidVb;
-  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9;
+  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp9;
   double tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19;
-  double tmp20, tmp21, tmp22, tmp23, tmp24, tmp25;
+  double tmp20, tmp21, tmp22, tmp24, tmp25;
 
   WITH = act->inst;
   if (AnaChangedP)
@@ -214,7 +214,6 @@ Analog_32_action *act;
   VMem1 = A_Gate->Pininfo[0].Vmem;   /*Memories for capacitors*/
   VMem2 = A_Gate->Pininfo[1].Vmem;   /*...*/
   VMem3 = A_Gate->Pininfo[2].Vmem;   /*...*/
-  VMem4 = A_Gate->Pininfo[3].Vmem;   /*...*/
   Vg = VPin1;
   Vd = VPin2;
   Vs = VPin3;
@@ -222,8 +221,6 @@ Analog_32_action *act;
 
   if (Vd < Vs)
     {
-      Blend = 1;
-      InvBlend = 0;
       Vnear = Vs;
       Vfar = Vd;
       dVneardVs = 1;
@@ -234,8 +231,6 @@ Analog_32_action *act;
     }
   else
     {
-      Blend = 0;
-      InvBlend = 1;
       Vnear = Vd;
       Vfar = Vs;
       dVneardVs = 0;
@@ -261,7 +256,6 @@ Analog_32_action *act;
       dVtdVd = 0;
       dVtdVb = 0;
     }
-  dVtdVg = 0;
 
   phi_s = PfetVar->k5*tanh(PfetVar->k6*((Vg + PfetVar->k7  - Vb)/Vt));
 
@@ -328,13 +322,11 @@ Analog_32_action *act;
     {
       tmp21 = 1/(Vnear -Vg + PfetVar->k19);
       tmp22 = PfetVar->k18*tmp21;
-      tmp23 = tmp22*tmp21;
       lambda  = tmp22;
       
       dlambdadVg =  tmp22*tmp21;
       dlambdadVd = -tmp22*tmp21*dVneardVd; 
       dlambdadVs = -tmp22*tmp21*dVneardVs;
-      dlambdadVb = 0;
     }
   else
     {
@@ -342,7 +334,6 @@ Analog_32_action *act;
       dlambdadVg = 0;
       dlambdadVs = 0;
       dlambdadVd = 0;
-      dlambdadVb = 0;
     }
 
   tmp24 = (Vb - Vfar);
@@ -459,17 +450,15 @@ static void Iin_PFET7F(act)
 Analog_32_action *act;
 {
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4;
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;
   PfetConst *PfetVar;
   Anainstlist *A_Gate;
-  double Vg, Vd, Vs, Vb, Blend, InvBlend, Vnear, Vfar;
+  double Vg, Vd, Vs, Vb, Vnear, Vfar;
   double sign;
   double Vt;
   double phi_s, kappa, lambda;
   double Ifor, Irev, Isdi, Isd;
-  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9;
-  double tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19;
-  double tmp20, tmp21, tmp22, tmp23, tmp24, tmp25;
+  double tmp11, tmp14;
   log_grec *WITH1;
 
   switch (act->pin) {
@@ -485,7 +474,6 @@ Analog_32_action *act;
     VMem1 = A_Gate->Pininfo[0].Vmem;
     VMem2 = A_Gate->Pininfo[1].Vmem;
     VMem3 = A_Gate->Pininfo[2].Vmem;
-    VMem4 = A_Gate->Pininfo[3].Vmem;
     VPin1 = Pin1Ptr->now;
     VPin2 = Pin2Ptr->now;
     VPin3 = Pin3Ptr->now;
@@ -535,16 +523,12 @@ Analog_32_action *act;
 
     if (Vd < Vs)
       {
-	Blend = 1;
-	InvBlend = 0;
 	Vnear = Vs;
 	Vfar = Vd;
 	sign = 1;
       }
     else
       {
-	Blend = 0;
-	InvBlend = 1;
 	Vnear = Vd;
 	Vfar = Vs;
 	sign = -1;
@@ -578,8 +562,6 @@ Analog_32_action *act;
   Irev =  tmp14*tmp14;
 
 
-  tmp18 = PfetVar->k10*sign*(1/kappa);
-  tmp19 = (Ifor - Irev);
   Isdi = PfetVar->k10*sign*(1/kappa)*(Ifor - Irev);
 
   if (Vg < Vnear)
@@ -618,7 +600,6 @@ Analog_32_action *act;
     VMem1 = A_Gate->Pininfo[0].Vmem;
     VMem2 = A_Gate->Pininfo[1].Vmem;
     VMem3 = A_Gate->Pininfo[2].Vmem;
-    VMem4 = A_Gate->Pininfo[3].Vmem;
     VPin1 = Pin1Ptr->now;
     VPin2 = Pin2Ptr->now;
     VPin3 = Pin3Ptr->now;
@@ -639,7 +620,6 @@ ICPfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICPfet *WITH;
   char *STR1;
 
@@ -651,7 +631,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "WDRAWN")) {
 	TRY(try1);
 	  WITH->InitWdrawn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitWdrawn = 28;
 	ENDTRY(try1);
@@ -659,7 +638,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "LDRAWN")) {
 	TRY(try2);
 	  WITH->InitLdrawn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitLdrawn = 14;
 	ENDTRY(try2);
@@ -667,7 +645,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "SAREA")) {
 	TRY(try3);
 	  WITH->InitSArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitSArea = 36e-6;
 	ENDTRY(try3);
@@ -675,7 +652,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "DAREA")) {
 	TRY(try4);
 	  WITH->InitDArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitDArea = 36e-6;
 	ENDTRY(try4);
@@ -683,7 +659,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "WAREA")) {
 	TRY(try5);
 	  WITH->InitWArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitWArea = 100e-6;
 	ENDTRY(try5);
@@ -691,7 +666,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "NAOFFSET")) {
 	TRY(try6);
 	  WITH->InitNaOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitNaOffset = 1.0;
 	ENDTRY(try6);
@@ -699,7 +673,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "MUOFFSET")) {
 	TRY(try5);
 	  WITH->InitMuOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitMuOffset = 1;
 	ENDTRY(try5);
@@ -707,7 +680,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "QSSOFFSET")) {
 	TRY(try5);
 	  WITH->InitQssOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitQssOffset = 0;
 	ENDTRY(try5);
@@ -762,12 +734,8 @@ log_grec *Inst;
 long Attrnum;
 {
   int Result;
-  PfetConst *PfetVar;
-  Anainstlist *A_Gate;
 
   Result = true;
-  A_Gate = (Anainstlist *)Inst->info;
-  PfetVar = (PfetConst *)A_Gate->InstVar;
   switch (Attrnum) {
 
   case N_Wdrawn:
@@ -1018,9 +986,9 @@ Analog_32_action *act;
   double Node1, Node2, Node3, Node4, Pin1, Pin2, Pin3, Pin4, d1, d2;
   char Name2[256], Name3[256];
   log_grec *WITH;
-  char STR1[18];
+  char STR1[19];
   char STR2[14];
-  char STR3[256];
+  char STR3[262];
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/pfet7t.c b/log/src/ana/pfet7t.c
index 09d8092..5af2fcb 100644
--- a/log/src/ana/pfet7t.c
+++ b/log/src/ana/pfet7t.c
@@ -93,7 +93,7 @@ log_grec *Inst;
 {
   PfetConst *PfetVar;
   Anainstlist *A_Gate;
-  double rho, phi_f, phi_b, Leff, Weff, Vfb, beta, lambda, del_Na;
+  double rho, phi_f, phi_b, Leff, Weff, Vfb, beta, del_Na;
   double Wdrawn, Ldrawn;
 
   A_Gate = (Anainstlist *)Inst->info;
@@ -180,17 +180,17 @@ Analog_32_action *act;
   long Pin1, Pin2, Pin3;
   double VPin1, VPin2, VPin3, VMem1, VMem2, VMem3;   /*1*/
   double ICap;
-  double Vg, Vd, Vs, Blend, InvBlend, Vnear, Vfar;
+  double Vg, Vd, Vs, Vnear, Vfar;
   double dVneardVs, dVneardVd, dVfardVs, dVfardVd, sign;
-  double Vt, dVtdVd, dVtdVs, dVtdVg;
+  double Vt, dVtdVd, dVtdVs;
   double phi_s, kappa, dkappadVg, dkappadVs, dkappadVd;
   double Ifor, Irev, Isdi, Isd;
   double lambda, dlambdadVg, dlambdadVs, dlambdadVd;
   double dIfordVg, dIfordVs, dIfordVd, dIrevdVg, dIrevdVs, dIrevdVd;
   double dIsdidVg, dIsdidVs, dIsdidVd, dIsddVg, dIsddVs, dIsddVd;
-  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9;
+  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp9;
   double tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19;
-  double tmp20, tmp21, tmp22, tmp23, tmp24, tmp25;
+  double tmp20, tmp21, tmp22, tmp24, tmp25;
 
   WITH = act->inst;
   if (AnaChangedP)
@@ -217,8 +217,6 @@ Analog_32_action *act;
 
   if (Vd < Vs)
     {
-      Blend = 1;
-      InvBlend = 0;
       Vnear = Vs;
       Vfar = Vd;
       dVneardVs = 1;
@@ -229,8 +227,6 @@ Analog_32_action *act;
     }
   else
     {
-      Blend = 0;
-      InvBlend = 1;
       Vnear = Vd;
       Vfar = Vs;
       dVneardVs = 0;
@@ -254,7 +250,6 @@ Analog_32_action *act;
       dVtdVs = 0;
       dVtdVd = 0;
     }
-  dVtdVg = 0;
 
   phi_s = PfetVar->k5*tanh(PfetVar->k6*((Vg + PfetVar->k7  - AnaVdd)/Vt));
 
@@ -316,7 +311,6 @@ Analog_32_action *act;
     {
       tmp21 = 1/(Vnear -Vg + PfetVar->k19);
       tmp22 = PfetVar->k18*tmp21;
-      tmp23 = tmp22*tmp21;
       lambda  = tmp22;
       
       dlambdadVg =  tmp22*tmp21;
@@ -423,14 +417,12 @@ Analog_32_action *act;
   double VPin1, VPin2, VPin3, VMem1, VMem2, VMem3;
   PfetConst *PfetVar;
   Anainstlist *A_Gate;
-  double Vg, Vd, Vs, Blend, InvBlend, Vnear, Vfar;
+  double Vg, Vd, Vs, Vnear, Vfar;
   double sign;
   double Vt;
   double phi_s, kappa, lambda;
   double Ifor, Irev, Isdi, Isd;
-  double tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9;
-  double tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19;
-  double tmp20, tmp21, tmp22, tmp23, tmp24, tmp25;
+  double tmp11, tmp14;
   log_grec *WITH1;
 
   switch (act->pin) {
@@ -490,16 +482,12 @@ Analog_32_action *act;
 
     if (Vd < Vs)
       {
-	Blend = 1;
-	InvBlend = 0;
 	Vnear = Vs;
 	Vfar = Vd;
 	sign = 1;
       }
     else
       {
-	Blend = 0;
-	InvBlend = 1;
 	Vnear = Vd;
 	Vfar = Vs;
 	sign = -1;
@@ -533,8 +521,6 @@ Analog_32_action *act;
     Irev =  tmp14*tmp14;
     
     
-    tmp18 = PfetVar->k10*sign*(1/kappa);
-    tmp19 = (Ifor - Irev);
     Isdi = PfetVar->k10*sign*(1/kappa)*(Ifor - Irev);
     
     if (Vg < Vnear)
@@ -575,7 +561,6 @@ ICPfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICPfet *WITH;
   char *STR1;
 
@@ -587,7 +572,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "WDRAWN")) {
 	TRY(try1);
 	  WITH->InitWdrawn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitWdrawn = 28;
 	ENDTRY(try1);
@@ -595,7 +579,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "LDRAWN")) {
 	TRY(try2);
 	  WITH->InitLdrawn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitLdrawn = 14;
 	ENDTRY(try2);
@@ -603,7 +586,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "SAREA")) {
 	TRY(try3);
 	  WITH->InitSArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitSArea = 36e-6;
 	ENDTRY(try3);
@@ -611,7 +593,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "DAREA")) {
 	TRY(try4);
 	  WITH->InitDArea = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitDArea = 36e-6;
 	ENDTRY(try4);
@@ -619,7 +600,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "NAOFFSET")) {
 	TRY(try5);
 	  WITH->InitNaOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitNaOffset = 1;
 	ENDTRY(try5);
@@ -627,7 +607,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "MUOFFSET")) {
 	TRY(try5);
 	  WITH->InitMuOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitMuOffset = 1;
 	ENDTRY(try5);
@@ -635,7 +614,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "QSSOFFSET")) {
 	TRY(try5);
 	  WITH->InitQssOffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitQssOffset = 0;
 	ENDTRY(try5);
@@ -687,12 +665,8 @@ log_grec *Inst;
 long Attrnum;
 {
   int Result;
-  PfetConst *PfetVar;
-  Anainstlist *A_Gate;
 
   Result = true;
-  A_Gate = (Anainstlist *)Inst->info;
-  PfetVar = (PfetConst *)A_Gate->InstVar;
   switch (Attrnum) {
 
   case N_Wdrawn:
@@ -938,9 +912,9 @@ Analog_32_action *act;
   double Node1, Node2, Node3, Pin1, Pin2, Pin3, d1, d2;
   char Name2[256], Name3[256];
   log_grec *WITH;
-  char STR1[18];
+  char STR1[19];
   char STR2[14];
-  char STR3[256];
+  char STR3[262];
   char STR4[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/physical.c b/log/src/ana/physical.c
index 19fcc8d..509e58e 100644
--- a/log/src/ana/physical.c
+++ b/log/src/ana/physical.c
@@ -218,12 +218,9 @@ Analog_32_action *act;
 static void Openconfig_Physical(act)
 Analog_32_action *act;
 {
-  long Index;
-  log_grec *WITH;
 
   if (!act->ok)
     return;
-  WITH = act->inst;
   Reload_Physical(act);
 }
 
@@ -231,7 +228,6 @@ void Readgate_Physical(act)
 Analog_32_action *act;
 {
   log_grec *WITH;
-  char STR1[256];
 
   WITH = act->inst;
   if (AnaOldmodel && !WITH->attr[0].blnk) {
@@ -251,7 +247,6 @@ static void Newgate_Physical(act)
 Analog_32_action *act;
 {
   Analog_32_action Newact;
-  char Newout[256];
 
   Newact.inst = act->inst;
   Newact.ok = true;
diff --git a/log/src/ana/pspc1.c b/log/src/ana/pspc1.c
index 715e596..461c0aa 100644
--- a/log/src/ana/pspc1.c
+++ b/log/src/ana/pspc1.c
@@ -184,7 +184,7 @@ Analog_32_action *act;
          MinI4, dI4dV1, dI4dV2, dI4dV3, dI4dV4;
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
   long Pin1, Pin2, Pin3, Pin4;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4;   /*1*/
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;   /*1*/
   double ICap;
   PfetConst *PfetVar;
   Anainstlist *A_Gate;
@@ -224,7 +224,6 @@ Analog_32_action *act;
   VMem1 = A_Gate->Pininfo[0].Vmem;   /*Memories for capacitors*/
   VMem2 = A_Gate->Pininfo[1].Vmem;   /*...*/
   VMem3 = A_Gate->Pininfo[2].Vmem;   /*...*/
-  VMem4 = A_Gate->Pininfo[3].Vmem;  /*...*/
   Vg = VPin1;
   Vd = VPin2;
   Vs = VPin3;
@@ -398,11 +397,11 @@ static void Iin_PSPC1(act)
 Analog_32_action *act;
 {
   AnaExt_rec *Pin1Ptr, *Pin2Ptr, *Pin3Ptr, *Pin4Ptr;
-  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3, VMem4;
+  double VPin1, VPin2, VPin3, VPin4, VMem1, VMem2, VMem3;
   PfetConst *PfetVar;
   Anainstlist *A_Gate;
-  double Ids, Vg, Vd, Vs, Vb, Vds, K2Vg, K7Vb, ExpFor, OnePlusExpFor, 
-         LogOnePlusExpFor,Ifor, ExpRev, OnePlusExpRev, LogOnePlusExpRev, 
+  double Ids, Vg, Vd, Vs, Vb, Vds, K2Vg, K7Vb, ExpFor, 
+         LogOnePlusExpFor,Ifor, ExpRev, LogOnePlusExpRev, 
          Irev, Blend, VdsInvVcross, Early, Itotal;
   log_grec *WITH1;
 
@@ -419,7 +418,6 @@ Analog_32_action *act;
       VMem1 = A_Gate->Pininfo[0].Vmem;
       VMem2 = A_Gate->Pininfo[1].Vmem;
       VMem3 = A_Gate->Pininfo[2].Vmem;
-      VMem4 = A_Gate->Pininfo[3].Vmem;
       VPin1 = Pin1Ptr->now;
       VPin2 = Pin2Ptr->now;
       VPin3 = Pin3Ptr->now;
@@ -475,12 +473,10 @@ Analog_32_action *act;
       K7Vb = PfetVar->k7 * Vb;
 
       ExpFor = AnaExpo(-K2Vg - PfetVar->k5 + PfetVar->k6 * Vs - K7Vb);
-      OnePlusExpFor = 1 + ExpFor;
       LogOnePlusExpFor = log1p(ExpFor);
       Ifor = PfetVar->k1 * LogOnePlusExpFor * LogOnePlusExpFor;
 
       ExpRev = AnaExpo(-K2Vg - PfetVar->k5 + PfetVar->k6 * Vd - K7Vb);
-      OnePlusExpRev = 1 + ExpRev;
       LogOnePlusExpRev = log1p(ExpRev);
       Irev = PfetVar->k1 * LogOnePlusExpRev * LogOnePlusExpRev;
 
@@ -524,7 +520,6 @@ ICPfet *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICPfet *WITH;
   char *STR1;
 
@@ -536,7 +531,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "NUMBER")) {
 	TRY(try13);
 	  WITH->InitW = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try13);
 	  WITH->InitNumber = 1;
 	ENDTRY(try13);
@@ -544,7 +538,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "W")) {
 	TRY(try12);
 	  WITH->InitW = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try12);
 	  WITH->InitW = 4.0;
 	ENDTRY(try12);
@@ -552,7 +545,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "L")) {
 	TRY(try13);
 	  WITH->InitL = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try13);
 	  WITH->InitL = 4.0;
 	ENDTRY(try13);
@@ -570,7 +562,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "VT")) {
 	TRY(try2);
 	  WITH->InitVt = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitVt = 0.9;
 	ENDTRY(try2);
@@ -578,7 +569,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "BETA")) {
 	TRY(try3);
 	  WITH->InitBeta = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitBeta = 50e-6;
 	ENDTRY(try3);
@@ -586,7 +576,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "KAPPA")) {
 	TRY(try4);
 	  WITH->InitKappa = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitKappa = 1.0;
 	ENDTRY(try4);
@@ -594,7 +583,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "KT/Q")) {
 	TRY(try5);
 	  WITH->InitKtq = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitKtq = 0.025;
 	ENDTRY(try5);
@@ -602,7 +590,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CB")) {
 	TRY(try14);
 	  WITH->InitCb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try14);
 	  WITH->InitCb = 10e-15;
 	ENDTRY(try14);
@@ -610,7 +597,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGS")) {
 	TRY(try6);
 	  WITH->InitCgs = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitCgs = 10e-15;
 	ENDTRY(try6);
@@ -618,7 +604,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGD")) {
 	TRY(try7);
 	  WITH->InitCgd = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try7);
 	  WITH->InitCgd = 10e-15;
 	ENDTRY(try7);
@@ -626,7 +611,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CGB")) {
 	TRY(try8);
 	  WITH->InitCgb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try8);
 	  WITH->InitCgb = 10e-15;
 	ENDTRY(try8);
@@ -634,7 +618,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CDB")) {
 	TRY(try9);
 	  WITH->InitCdb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try9);
 	  WITH->InitCdb = 10e-15;
 	ENDTRY(try9);
@@ -642,7 +625,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "CSB")) {
 	TRY(try10);
 	  WITH->InitCsb = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try10);
 	  WITH->InitCsb = 10e-15;
 	ENDTRY(try10);
@@ -650,7 +632,6 @@ ICPfet *NewIC;
       if (!strcmp(Keyword, "EARLY")) {
 	TRY(try11);
 	  WITH->InitEarly = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try11);
 	  WITH->InitEarly = 50.0;
 	ENDTRY(try11);
@@ -1060,7 +1041,7 @@ Analog_32_action *act;
   log_grec *WITH;
   char STR1[25];
   char STR2[14];
-  char STR3[256];
+  char STR3[261]; // Attention pas sûr
   char STR4[256];
 
   WITH = act->inst;
@@ -1211,6 +1192,8 @@ Analog_32_action *act;
 
   case ANALOG_ACT_REFRESH:
     Show_W_L(act->inst, false);
+    Probe_Pspc1(act);
+	break;
 
   case ANALOG_ACT_PROBE:
     Probe_Pspc1(act);
diff --git a/log/src/ana/resfloat.c b/log/src/ana/resfloat.c
index 2c31491..38d9cd9 100644
--- a/log/src/ana/resfloat.c
+++ b/log/src/ana/resfloat.c
@@ -110,9 +110,9 @@ static void Iin_Resfloat(act)
 Analog_32_action *act;
 {
   AnaExt_rec *Pin1Ptr;
-  double VPin1, VMem1;
+  double VPin1;
   AnaExt_rec *Pin2Ptr;
-  double VPin2, VMem2;
+  double VPin2;
   ResfloatConst *ResfloatVar;
   Anainstlist *A_Gate;
   log_grec *WITH;
@@ -122,10 +122,8 @@ Analog_32_action *act;
   ResfloatVar = (ResfloatConst *)A_Gate->InstVar;
   Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
   VPin1 = Pin1Ptr->now;
-  VMem1 = A_Gate->Pininfo[0].Vmem;
   Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
   VPin2 = Pin2Ptr->now;
-  VMem2 = A_Gate->Pininfo[1].Vmem;
   switch (act->pin) {
 
   case 1:
@@ -153,7 +151,6 @@ ICResfloat *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICResfloat *WITH;
   char *STR1;
 
@@ -165,7 +162,6 @@ ICResfloat *NewIC;
       if (!strcmp(Keyword, "RES")) {
 	TRY(try1);
 	  WITH->ICRes = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->ICRes = 1000.0;
 	ENDTRY(try1);
@@ -317,7 +313,7 @@ Analog_32_action *act;
   char Name1[256], Name2[256];
   log_grec *WITH;
   char STR1[22];
-  char STR2[256];
+  char STR2[264]; // Attention changement pas sûr
   char STR3[256];
 
   WITH = act->inst;
diff --git a/log/src/ana/stairs.c b/log/src/ana/stairs.c
index 2e27c40..e959dad 100644
--- a/log/src/ana/stairs.c
+++ b/log/src/ana/stairs.c
@@ -180,58 +180,62 @@ int First;
 static void Ex_Stairs(act)
 Analog_32_action *act;
 {
-  /*Stairserent*/
-  double MinI1, MinI2, dI1dV1, dI1dV2, dI2dV1, dI2dV2;
-  AnaExt_rec *Pin1Ptr, *Pin2Ptr;
-  long Pin1, Pin2;
-  double VPin1, VPin2;
-  StairsConst *StairsVar;
-  Anainstlist *A_Gate;
-  double Fout, Ftime;
-  log_grec *WITH;
-  AnaMatRec *WITH1;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  StairsVar = (StairsConst *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  Pin1 = Pin1Ptr->nodenum;
-  VPin1 = Pin1Ptr->last;
-  Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
-  Pin2 = Pin2Ptr->nodenum;
-  VPin2 = Pin2Ptr->last;   /*Use with statement to get to internal variables*/
-  if (WITH->attr[N_Freeze - 1].UU.b)
-    Ftime = StairsVar->Timez;
-  else
-    Ftime = StairsVar->Timez + AnaDt;
-  switch (WITH->attr[N_Type - 1].UU.nv) {
-
-  case 0:
-    Fout = Stairmaker(act->inst, Ftime, StairsVar->First);
-    break;
-  }
-  StairsVar->Videal = Fout;
-  MinI1 = StairsVar->Conductance * (VPin2 + Fout - VPin1);
-  MinI2 = -MinI1;
-  dI1dV1 = StairsVar->Conductance;
-  dI1dV2 = -StairsVar->Conductance;
-  dI2dV1 = -StairsVar->Conductance;
-  dI2dV2 = StairsVar->Conductance;
-  WITH1 = AnaSystem;
-  WITH1->Mat[Pin1][AnaSysCol] += MinI1;
-  WITH1->Mat[Pin1][Pin1] += dI1dV1;
-  WITH1->Mat[Pin1][Pin2] += dI1dV2;
-  WITH1->Mat[Pin2][AnaSysCol] += MinI2;
-  WITH1->Mat[Pin2][Pin1] += dI2dV1;
-  WITH1->Mat[Pin2][Pin2] += dI2dV2;
-
-  WITH1->MatNZ[Pin1][AnaSysCol] = true;
-  WITH1->MatNZ[Pin1][Pin1] = true;
-  WITH1->MatNZ[Pin1][Pin2] = true;
-  WITH1->MatNZ[Pin2][AnaSysCol] = true;
-  WITH1->MatNZ[Pin2][Pin1] = true;
-  WITH1->MatNZ[Pin2][Pin2] = true;
-  AnaCapex(act->inst);
+  	/*Stairserent*/
+  	double MinI1, MinI2, dI1dV1, dI1dV2, dI2dV1, dI2dV2;
+  	AnaExt_rec *Pin1Ptr, *Pin2Ptr;
+  	long Pin1, Pin2;
+  	double VPin1, VPin2;
+  	StairsConst *StairsVar;
+  	Anainstlist *A_Gate;
+  	double Fout, Ftime;
+  	log_grec *WITH;
+  	AnaMatRec *WITH1;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	StairsVar = (StairsConst *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	Pin1 = Pin1Ptr->nodenum;
+  	VPin1 = Pin1Ptr->last;
+  	Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
+  	Pin2 = Pin2Ptr->nodenum;
+  	VPin2 = Pin2Ptr->last;   /*Use with statement to get to internal variables*/
+  	if (WITH->attr[N_Freeze - 1].UU.b)
+    	Ftime = StairsVar->Timez;
+  	else
+    	Ftime = StairsVar->Timez + AnaDt;
+  	
+	switch (WITH->attr[N_Type - 1].UU.nv) 
+	{
+  		case 0:
+    		Fout = Stairmaker(act->inst, Ftime, StairsVar->First);
+    		break;
+
+		default:
+			Fout = 0;
+  	}
+  	StairsVar->Videal = Fout;
+  	MinI1 = StairsVar->Conductance * (VPin2 + Fout - VPin1);
+  	MinI2 = -MinI1;
+  	dI1dV1 = StairsVar->Conductance;
+  	dI1dV2 = -StairsVar->Conductance;
+  	dI2dV1 = -StairsVar->Conductance;
+  	dI2dV2 = StairsVar->Conductance;
+  	WITH1 = AnaSystem;
+  	WITH1->Mat[Pin1][AnaSysCol] += MinI1;
+  	WITH1->Mat[Pin1][Pin1] += dI1dV1;
+  	WITH1->Mat[Pin1][Pin2] += dI1dV2;
+  	WITH1->Mat[Pin2][AnaSysCol] += MinI2;
+  	WITH1->Mat[Pin2][Pin1] += dI2dV1;
+  	WITH1->Mat[Pin2][Pin2] += dI2dV2;
+
+  	WITH1->MatNZ[Pin1][AnaSysCol] = true;
+  	WITH1->MatNZ[Pin1][Pin1] = true;
+  	WITH1->MatNZ[Pin1][Pin2] = true;
+  	WITH1->MatNZ[Pin2][AnaSysCol] = true;
+  	WITH1->MatNZ[Pin2][Pin1] = true;
+  	WITH1->MatNZ[Pin2][Pin2] = true;
+  	AnaCapex(act->inst);
 }  /*Ex_Stairs*/
 
 
@@ -243,60 +247,68 @@ Analog_32_action *act;
 static void Iin_Stairs(act)
 Analog_32_action *act;
 {
-  /*Stairserent*/
-  AnaExt_rec *Pin1Ptr, *Pin2Ptr;
-  double VPin1, Vpin2;
-  StairsConst *StairsVar;
-  Anainstlist *A_Gate;
-  double Fout, Ftime;
-  log_grec *WITH;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  StairsVar = (StairsConst *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  VPin1 = Pin1Ptr->now;
-  Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
-  Vpin2 = Pin2Ptr->now;
-  switch (act->pin) {
-
-  case 1:
-    WITH = act->inst;
-    if (WITH->attr[N_Freeze - 1].UU.b)
-      Ftime = StairsVar->Timez;
-    else
-      Ftime = StairsVar->Timez + AnaDtlast;
-    switch (WITH->attr[N_Type - 1].UU.nv) {
-
-    case 0:
-      Fout = Stairmaker(act->inst, Ftime, StairsVar->First);
-      break;
-    }
-    act->Iin = StairsVar->Conductance * (VPin1 - Vpin2 - Fout) + act->Iin;
-    AnaCapIin(act);
-    break;
-
-  case 2:
-    WITH = act->inst;
-    if (WITH->attr[N_Freeze - 1].UU.b)
-      Ftime = StairsVar->Timez;
-    else
-      Ftime = StairsVar->Timez + AnaDtlast;
-    switch (WITH->attr[N_Type - 1].UU.nv) {
-
-    case 0:
-      Fout = Stairmaker(act->inst, Ftime, StairsVar->First);
-      break;
-    }
-    act->Iin = StairsVar->Conductance * (Vpin2 + Fout - VPin1) + act->Iin;
-    AnaCapIin(act);
-    break;
-
-  default:
-    printf("Data Structure Corruption\n");
-    _Escape(1002);
-    break;
-  }
+  	/*Stairserent*/
+  	AnaExt_rec *Pin1Ptr, *Pin2Ptr;
+  	double VPin1, Vpin2;
+  	StairsConst *StairsVar;
+  	Anainstlist *A_Gate;
+  	double Fout, Ftime;
+  	log_grec *WITH;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	StairsVar = (StairsConst *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	VPin1 = Pin1Ptr->now;
+  	Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
+  	Vpin2 = Pin2Ptr->now;
+  	switch (act->pin) 
+	{
+	  	case 1:
+	    	WITH = act->inst;
+	    	if (WITH->attr[N_Freeze - 1].UU.b)
+	      		Ftime = StairsVar->Timez;
+			else
+				Ftime = StairsVar->Timez + AnaDtlast;
+	    
+			switch (WITH->attr[N_Type - 1].UU.nv) 
+			{
+	    		case 0:
+	      			Fout = Stairmaker(act->inst, Ftime, StairsVar->First);
+	      			break;
+
+				default:
+					Fout = 0;
+	    	}
+	    	act->Iin = StairsVar->Conductance * (VPin1 - Vpin2 - Fout) + act->Iin;
+	    	AnaCapIin(act);
+	    	break;
+	
+	  	case 2:
+	    	WITH = act->inst;
+	    	if (WITH->attr[N_Freeze - 1].UU.b)
+	      		Ftime = StairsVar->Timez;
+			else
+				Ftime = StairsVar->Timez + AnaDtlast;
+	
+			switch (WITH->attr[N_Type - 1].UU.nv) 
+			{
+	    		case 0:
+	      			Fout = Stairmaker(act->inst, Ftime, StairsVar->First);
+	      			break;
+				
+				default:
+					Fout = 0;
+	    	}
+	    	act->Iin = StairsVar->Conductance * (Vpin2 + Fout - VPin1) + act->Iin;
+	    	AnaCapIin(act);
+	    	break;
+	
+	  	default:
+	    	printf("Data Structure Corruption\n");
+	    	_Escape(1002);
+	    	break;
+  	}
 }  /*Iin_Stairs*/
 
 static void GetCnf_Stairs(NewIC)
@@ -304,7 +316,6 @@ ICStairs *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICStairs *WITH;
   char *STR1;
 
@@ -322,7 +333,6 @@ ICStairs *NewIC;
       if (!strcmp(Keyword, "RES")) {
 	TRY(try1);
 	  WITH->ICRes = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->ICRes = 50.0;
 	ENDTRY(try1);
@@ -339,7 +349,6 @@ ICStairs *NewIC;
 	if (!strcmp(Keyword, "VSTART")) {
 	  TRY(try2);
 	    WITH->ICtVstart = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try2);
 	    WITH->ICtVstart = 0.0;
 	  ENDTRY(try2);
@@ -347,7 +356,6 @@ ICStairs *NewIC;
 	if (!strcmp(Keyword, "VEND")) {
 	  TRY(try3);
 	    WITH->ICtVend = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try3);
 	    WITH->ICtVend = AnaVdd;
 	  ENDTRY(try3);
@@ -355,15 +363,12 @@ ICStairs *NewIC;
 	if (!strcmp(Keyword, "NUMSTEPS")) {
 	  TRY(try4);
 	    WITH->ICtNumsteps = strtol(Arg, &STR1, 10);
-	    Dummy = STR1 - Arg + 1;
-	  RECOVER(try4);
 	    WITH->ICtNumsteps = 5;
 	  ENDTRY(try4);
 	}
 	if (!strcmp(Keyword, "STEPTIME")) {
 	  TRY(try5);
 	    WITH->ICtSteptime = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try5);
 	    WITH->ICtSteptime = AnaDtmax * 10;
 	  ENDTRY(try5);
@@ -371,7 +376,6 @@ ICStairs *NewIC;
 	if (!strcmp(Keyword, "TRAN")) {
 	  TRY(try6);
 	    WITH->ICtTrantime = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try6);
 	    WITH->ICtTrantime = AnaDtmax * 2;
 	  ENDTRY(try6);
@@ -379,7 +383,6 @@ ICStairs *NewIC;
 	if (!strcmp(Keyword, "RDELAY")) {
 	  TRY(try7);
 	    WITH->ICtRdelay = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try7);
 	    WITH->ICtRdelay = 0.0;
 	  ENDTRY(try7);
diff --git a/log/src/ana/tc.c b/log/src/ana/tc.c
index 5cc99b3..a76c7d2 100644
--- a/log/src/ana/tc.c
+++ b/log/src/ana/tc.c
@@ -166,7 +166,6 @@ ICTCAmp *NewIC;
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICTCAmp *WITH;
   char *STR1;
 
@@ -195,7 +194,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "VOFFSET")) {
 	TRY(try1);
 	  WITH->InitVoffset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->InitVoffset = 0.0;
 	ENDTRY(try1);
@@ -203,7 +201,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "IPOS")) {
 	TRY(try2);
 	  WITH->InitIpos = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->InitIpos = 1.0;
 	ENDTRY(try2);
@@ -211,7 +208,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "INEG")) {
 	TRY(try3);
 	  WITH->InitIneg = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try3);
 	  WITH->InitIneg = 1.0;
 	ENDTRY(try3);
@@ -219,7 +215,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "IKT/QN")) {
 	TRY(try4);
 	  WITH->InitIKtqn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try4);
 	  WITH->InitIKtqn = 0.04;
 	ENDTRY(try4);
@@ -227,7 +222,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "I0")) {
 	TRY(try5);
 	  WITH->InitLeakage = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try5);
 	  WITH->InitLeakage = 5e-17;
 	ENDTRY(try5);
@@ -235,7 +229,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "VT")) {
 	TRY(try6);
 	  WITH->InitVt = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try6);
 	  WITH->InitVt = 0.9;
 	ENDTRY(try6);
@@ -243,7 +236,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "EARLY")) {
 	TRY(try7);
 	  WITH->InitEarly = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try7);
 	  WITH->InitEarly = 50.0;
 	ENDTRY(try7);
@@ -251,7 +243,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "KT/QN")) {
 	TRY(try8);
 	  WITH->InitKtqn = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try8);
 	  WITH->InitKtqn = 0.04;
 	ENDTRY(try8);
@@ -259,7 +250,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "CAPVSET")) {
 	TRY(try9);
 	  WITH->InitCapVset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try9);
 	  WITH->InitCapVset = 10e-15;
 	ENDTRY(try9);
@@ -267,7 +257,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "CAPVOUT")) {
 	TRY(try10);
 	  WITH->InitCapVout = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try10);
 	  WITH->InitCapVout = 10e-15;
 	ENDTRY(try10);
@@ -275,7 +264,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "CAPVDIFF")) {
 	TRY(try11);
 	  WITH->InitCapVdiff = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try11);
 	  WITH->InitCapVdiff = 10e-15;
 	ENDTRY(try11);
@@ -283,7 +271,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "CGBVPLUS")) {
 	TRY(try12);
 	  WITH->InitCgbVplus = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try12);
 	  WITH->InitCgbVplus = 10e-15;
 	ENDTRY(try12);
@@ -291,7 +278,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "CGBVMINUS")) {
 	TRY(try13);
 	  WITH->InitCgbVminus = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try13);
 	  WITH->InitCgbVminus = 10e-15;
 	ENDTRY(try13);
@@ -299,7 +285,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "CDBVOUT")) {
 	TRY(try14);
 	  WITH->InitCdbVout = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try14);
 	  WITH->InitCdbVout = 10e-15;
 	ENDTRY(try14);
@@ -307,7 +292,6 @@ ICTCAmp *NewIC;
       if (!strcmp(Keyword, "CGBVSET")) {
 	TRY(try15);
 	  WITH->InitCgbVset = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try15);
 	  WITH->InitCgbVset = 10e-15;
 	ENDTRY(try15);
@@ -761,48 +745,47 @@ Analog_32_action *act;
 static void PreUpdate_TCAmp(act)
 Analog_32_action *act;
 {
-  TCAmpConst *TCAmpVar;
-  Anainstlist *A_Gate;
-  AnaExt_rec *PinPlusPtr;
-  double VPinplus;
-  AnaExt_rec *PinMinusPtr;
-  double VPinMinus;
-  AnaExt_rec *PinOutPtr;
-  double VPinOut;
-  AnaExt_rec *PinSetPtr;
-  double VPinSet;
-  log_grec *WITH1;
-
-  A_Gate = (Anainstlist *)act->inst->info;
-  TCAmpVar = (TCAmpConst *)A_Gate->InstVar;
-  WITH1 = act->inst;
-  switch (AmpRange) {
-
-  case Normal:
-  case Wide:
-    PinPlusPtr = (AnaExt_rec *)WITH1->pin[R_Vplus - 1]->info;
-    VPinplus = PinPlusPtr->last;
-    PinMinusPtr = (AnaExt_rec *)WITH1->pin[R_Vminus - 1]->info;
-    VPinMinus = PinMinusPtr->last;
-    PinOutPtr = (AnaExt_rec *)WITH1->pin[R_Vout - 1]->info;
-    VPinOut = PinOutPtr->last;
-    PinSetPtr = (AnaExt_rec *)WITH1->pin[R_Vset - 1]->info;
-    VPinSet = PinSetPtr->last;
-    break;
-
-  case Hwr:
-  case Fwr:
-    PinPlusPtr = (AnaExt_rec *)WITH1->pin[A_Vplus - 1]->info;
-    VPinplus = PinPlusPtr->last;
-    PinMinusPtr = (AnaExt_rec *)WITH1->pin[A_Vminus - 1]->info;
-    VPinMinus = PinMinusPtr->last;
-    PinOutPtr = (AnaExt_rec *)WITH1->pin[A_Vout - 1]->info;
-    VPinOut = PinOutPtr->last;
-    PinSetPtr = (AnaExt_rec *)WITH1->pin[A_Vset - 1]->info;
-    VPinSet = PinSetPtr->last;
-    break;
-  }
-  TCAmpVar->NewLimit = ((VPinSet >= WITH1->attr[N_Vt - 1].UU.r) ||
+  	TCAmpConst *TCAmpVar;
+  	Anainstlist *A_Gate;
+  	AnaExt_rec *PinPlusPtr;
+  	double VPinplus;
+  	AnaExt_rec *PinMinusPtr;
+  	double VPinMinus;
+  	AnaExt_rec *PinSetPtr;
+  	double VPinSet;
+  	log_grec *WITH1;
+
+  	A_Gate = (Anainstlist *)act->inst->info;
+  	TCAmpVar = (TCAmpConst *)A_Gate->InstVar;
+  	WITH1 = act->inst;
+  	switch (AmpRange) 
+	{
+  		case Normal:
+  		case Wide:
+    		PinPlusPtr = (AnaExt_rec *)WITH1->pin[R_Vplus - 1]->info;
+    		VPinplus = PinPlusPtr->last;
+    		PinMinusPtr = (AnaExt_rec *)WITH1->pin[R_Vminus - 1]->info;
+    		VPinMinus = PinMinusPtr->last;
+    		PinSetPtr = (AnaExt_rec *)WITH1->pin[R_Vset - 1]->info;
+    		VPinSet = PinSetPtr->last;
+    		break;
+
+  		case Hwr:
+  		case Fwr:
+    		PinPlusPtr = (AnaExt_rec *)WITH1->pin[A_Vplus - 1]->info;
+    		VPinplus = PinPlusPtr->last;
+    		PinMinusPtr = (AnaExt_rec *)WITH1->pin[A_Vminus - 1]->info;
+    		VPinMinus = PinMinusPtr->last;
+    		PinSetPtr = (AnaExt_rec *)WITH1->pin[A_Vset - 1]->info;
+    		VPinSet = PinSetPtr->last;
+    		break;
+
+		default:
+			VPinSet = 0;
+			VPinMinus = 0;
+			VPinplus = 0;
+  	}
+  	TCAmpVar->NewLimit = ((VPinSet >= WITH1->attr[N_Vt - 1].UU.r) ||
 			(VPinplus >= AnaVdd && VPinMinus >= AnaVdd));
 }
 
@@ -826,11 +809,9 @@ Analog_32_action *act;
 {
   TCAmpConst *TCAmpVar;
   Anainstlist *A_Gate;
-  log_grec *WITH1;
 
   A_Gate = (Anainstlist *)act->inst->info;
   TCAmpVar = (TCAmpConst *)A_Gate->InstVar;
-  WITH1 = act->inst;
   if (AnaLogglobals->showpage == act->page) {
     if (TCAmpVar->OldLimit != TCAmpVar->Limit)
       Limitfill(act->inst, TCAmpVar->Limit, false);
@@ -867,138 +848,160 @@ Analog_32_action *act;
 static void Probe_TCAmp(act)
 Analog_32_action *act;
 {
-  Anainstlist *A_Gate;
-  AnaExt_rec *Node1Ptr, *Node2Ptr, *Node3Ptr, *Node4Ptr;
-  double Node1, Node2, Node3, Node4, Pin1, Pin2, Pin3, Pin4;
-  TCAmpConst *TCAmpVar;
-  double ExpoVset, BlendVset, Iset;
-  int Outhigh, Outlow;
-  long IntAmp;
-  log_grec *WITH;
-  char STR1[256];
-  char STR2[256];
-
-  WITH = act->inst;
-  IntAmp = AmpRange;
-  A_Gate = (Anainstlist *)WITH->info;
-  switch (IntAmp) {
-
-  case Normal:
-  case Wide:
-    Pin1 = A_Gate->Pininfo[R_Vplus - 1].Vmem;
-    Pin2 = A_Gate->Pininfo[R_Vminus - 1].Vmem;
-    Pin3 = A_Gate->Pininfo[R_Vout - 1].Vmem;
-    Pin4 = A_Gate->Pininfo[R_Vset - 1].Vmem;
-    Node1Ptr = (AnaExt_rec *)WITH->pin[R_Vplus - 1]->info;
-    Node2Ptr = (AnaExt_rec *)WITH->pin[R_Vminus - 1]->info;
-    Node3Ptr = (AnaExt_rec *)WITH->pin[R_Vout - 1]->info;
-    Node4Ptr = (AnaExt_rec *)WITH->pin[R_Vset - 1]->info;
-    break;
-
-  case Hwr:
-  case Fwr:
-    Pin1 = A_Gate->Pininfo[A_Vplus - 1].Vmem;
-    Pin2 = A_Gate->Pininfo[A_Vminus - 1].Vmem;
-    Pin3 = A_Gate->Pininfo[A_Vout - 1].Vmem;
-    Pin4 = A_Gate->Pininfo[A_Vset - 1].Vmem;
-    Node1Ptr = (AnaExt_rec *)WITH->pin[A_Vplus - 1]->info;
-    Node2Ptr = (AnaExt_rec *)WITH->pin[A_Vminus - 1]->info;
-    Node3Ptr = (AnaExt_rec *)WITH->pin[A_Vout - 1]->info;
-    Node4Ptr = (AnaExt_rec *)WITH->pin[A_Vset - 1]->info;
-    break;
-  }
-  Node1 = Node1Ptr->ltimestep;
-  Node2 = Node2Ptr->ltimestep;
-  Node3 = Node3Ptr->ltimestep;
-  Node4 = Node4Ptr->ltimestep;
-  TCAmpVar = (TCAmpConst *)A_Gate->InstVar;
-  switch (IntAmp) {
-
-  case Normal:
-    AnaScoreboard(NormalName, (long)AnaMessGate1);
-    break;
-
-  case Wide:
-    AnaScoreboard(WideName, (long)AnaMessGate1);
-    break;
-
-  case Hwr:
-    AnaScoreboard(HwrName, (long)AnaMessGate1);
-    break;
-
-  case Fwr:
-    AnaScoreboard(FwrName, (long)AnaMessGate1);
-    break;
-  }
-  if (Node1 != Pin1 || Node2 != Pin2 || Node1 == AnaNotyet ||
-      Node2 == AnaNotyet || Node3 != Pin3 || Node4 != Pin4 ||
-      Node3 == AnaNotyet || Node4 == AnaNotyet) {
-    AnaScoreboard(" <undefined>", (long)AnaMessGate2);
-    AnaScoreboard("$", (long)AnaMessGate3);
-    AnaScoreboard("$", (long)AnaMessGate4);
-    return;
-  }
-  if (Pin4 > WITH->attr[N_Vt - 1].UU.r)
-    AnaScoreboard("Iset out of subthreshold", (long)AnaMessGate2);
-  else {
-    if (Pin1 < Pin4 && Pin2 < Pin4)
-      AnaScoreboard("Iset limited by V+,V-", (long)AnaMessGate2);
-    else {
-      ExpoVset = AnaExpo(TCAmpVar->Kn2 * Pin4);
-      BlendVset = 1 / (1 + TCAmpVar->Kn5 * ExpoVset);
-      Iset = TCAmpVar->Kn1 * ExpoVset * BlendVset +
-	     TCAmpVar->Kn4 * Pin4 * Pin4 * (1 - BlendVset);
-      sprintf(STR2, "Iset = %s", AnaProbeAmpStr(STR1, Iset));
-      AnaScoreboard(STR2, (long)AnaMessGate2);
-    }
-  }
-  if (fabs(Pin1 - Pin2) < 2 * WITH->attr[N_Ktqn - 1].UU.r)
-    AnaScoreboard("Tanh linear", (long)AnaMessGate3);
-  else
-    AnaScoreboard("Tanh saturated", (long)AnaMessGate3);
-  switch (IntAmp) {
-
-  case Normal:
-    if (Pin1 < Pin2) {
-      Outhigh = (Pin3 >= AnaVdd + Pin4);
-      Outlow = (Pin3 <= Pin1 - Pin4);
-    } else {
-      Outhigh = (Pin3 >= AnaVdd);
-      Outlow = (Pin3 <= Pin2 - Pin4);
-    }
-    break;
-
-  case Wide:
-    if (Pin1 < Pin2) {
-      Outhigh = (Pin3 >= AnaVdd + Pin4);
-      Outlow = (Pin3 < 0);
-    } else {
-      Outhigh = (Pin3 >= AnaVdd);
-      Outlow = (Pin3 + Pin4 < 0);
-    }
-    break;
-
-  case Hwr:
-    if (Pin1 > Pin2)
-      Outhigh = (Pin3 >= AnaVdd + Pin4);
-    else
-      Outhigh = (Pin3 >= AnaVdd);
-    Outlow = false;
-    break;
-
-  case Fwr:
-    Outhigh = (Pin3 >= AnaVdd);
-    Outlow = false;
-    break;
-  }
-  if (Outhigh) {
-    AnaScoreboard("Vout too high", (long)AnaMessGate4);
-    return;
-  }
-  if (Outlow)
-    AnaScoreboard("Vout too low", (long)AnaMessGate4);
-  else
-    AnaScoreboard("Vout ok", (long)AnaMessGate4);
+  	Anainstlist *A_Gate;
+  	AnaExt_rec *Node1Ptr, *Node2Ptr, *Node3Ptr, *Node4Ptr;
+  	double Node1, Node2, Node3, Node4, Pin1, Pin2, Pin3, Pin4;
+  	TCAmpConst *TCAmpVar;
+  	double ExpoVset, BlendVset, Iset;
+  	int Outhigh, Outlow;
+  	long IntAmp;
+  	log_grec *WITH;
+  	char STR1[256];
+  	char STR2[256];
+
+  	WITH = act->inst;
+  	IntAmp = AmpRange;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	
+	switch (IntAmp) 
+	{
+  		case Normal:
+  		case Wide:
+    		Pin1 = A_Gate->Pininfo[R_Vplus - 1].Vmem;
+    		Pin2 = A_Gate->Pininfo[R_Vminus - 1].Vmem;
+    		Pin3 = A_Gate->Pininfo[R_Vout - 1].Vmem;
+    		Pin4 = A_Gate->Pininfo[R_Vset - 1].Vmem;
+    		Node1Ptr = (AnaExt_rec *)WITH->pin[R_Vplus - 1]->info;
+    		Node2Ptr = (AnaExt_rec *)WITH->pin[R_Vminus - 1]->info;
+    		Node3Ptr = (AnaExt_rec *)WITH->pin[R_Vout - 1]->info;
+    		Node4Ptr = (AnaExt_rec *)WITH->pin[R_Vset - 1]->info;
+    		break;
+
+  		case Hwr:
+  		case Fwr:
+    		Pin1 = A_Gate->Pininfo[A_Vplus - 1].Vmem;
+    		Pin2 = A_Gate->Pininfo[A_Vminus - 1].Vmem;
+    		Pin3 = A_Gate->Pininfo[A_Vout - 1].Vmem;
+    		Pin4 = A_Gate->Pininfo[A_Vset - 1].Vmem;
+    		Node1Ptr = (AnaExt_rec *)WITH->pin[A_Vplus - 1]->info;
+    		Node2Ptr = (AnaExt_rec *)WITH->pin[A_Vminus - 1]->info;
+    		Node3Ptr = (AnaExt_rec *)WITH->pin[A_Vout - 1]->info;
+    		Node4Ptr = (AnaExt_rec *)WITH->pin[A_Vset - 1]->info;
+    		break;
+
+		default:
+			return;
+  	}
+  	Node1 = Node1Ptr->ltimestep;
+  	Node2 = Node2Ptr->ltimestep;
+  	Node3 = Node3Ptr->ltimestep;
+  	Node4 = Node4Ptr->ltimestep;
+  	TCAmpVar = (TCAmpConst *)A_Gate->InstVar;
+  	
+	switch (IntAmp) 
+	{
+  		case Normal:
+    		AnaScoreboard(NormalName, (long)AnaMessGate1);
+    		break;
+
+  		case Wide:
+    		AnaScoreboard(WideName, (long)AnaMessGate1);
+    		break;
+
+  		case Hwr:
+    		AnaScoreboard(HwrName, (long)AnaMessGate1);
+    		break;
+
+  		case Fwr:
+    		AnaScoreboard(FwrName, (long)AnaMessGate1);
+    		break;
+  	}
+  	if (Node1 != Pin1 || Node2 != Pin2 || Node1 == AnaNotyet ||
+			Node2 == AnaNotyet || Node3 != Pin3 || Node4 != Pin4 ||
+      		Node3 == AnaNotyet || Node4 == AnaNotyet) 
+	{
+    	AnaScoreboard(" <undefined>", (long)AnaMessGate2);
+    	AnaScoreboard("$", (long)AnaMessGate3);
+    	AnaScoreboard("$", (long)AnaMessGate4);
+    	return;
+  	}
+  	if (Pin4 > WITH->attr[N_Vt - 1].UU.r)
+   		AnaScoreboard("Iset out of subthreshold", (long)AnaMessGate2);
+  	else 
+	{
+    	if (Pin1 < Pin4 && Pin2 < Pin4)
+      		AnaScoreboard("Iset limited by V+,V-", (long)AnaMessGate2);
+    	else 
+		{
+      		ExpoVset = AnaExpo(TCAmpVar->Kn2 * Pin4);
+      		BlendVset = 1 / (1 + TCAmpVar->Kn5 * ExpoVset);
+      		Iset = TCAmpVar->Kn1 * ExpoVset * BlendVset +
+	     			TCAmpVar->Kn4 * Pin4 * Pin4 * (1 - BlendVset);
+      		sprintf(STR2, "Iset = %s", AnaProbeAmpStr(STR1, Iset));
+      		AnaScoreboard(STR2, (long)AnaMessGate2);
+    	}
+  	}
+  	if (fabs(Pin1 - Pin2) < 2 * WITH->attr[N_Ktqn - 1].UU.r)
+    	AnaScoreboard("Tanh linear", (long)AnaMessGate3);
+  	else
+    	AnaScoreboard("Tanh saturated", (long)AnaMessGate3);
+  	
+	switch (IntAmp) 
+	{
+  		case Normal:
+    		if (Pin1 < Pin2) 
+			{
+      			Outhigh = (Pin3 >= AnaVdd + Pin4);
+      			Outlow = (Pin3 <= Pin1 - Pin4);
+    
+			}
+			else
+			{
+      			Outhigh = (Pin3 >= AnaVdd);
+      			Outlow = (Pin3 <= Pin2 - Pin4);
+    		}
+			break;
+
+  		case Wide:
+    		if (Pin1 < Pin2) 
+			{
+      			Outhigh = (Pin3 >= AnaVdd + Pin4);
+      			Outlow = (Pin3 < 0);
+    		} 
+			else 
+			{
+      			Outhigh = (Pin3 >= AnaVdd);
+      			Outlow = (Pin3 + Pin4 < 0);
+    		}
+    		break;
+
+  		case Hwr:
+    		if (Pin1 > Pin2)
+      			Outhigh = (Pin3 >= AnaVdd + Pin4);
+			else
+				Outhigh = (Pin3 >= AnaVdd);
+
+			Outlow = false;
+   			break;
+
+  		case Fwr:
+    		Outhigh = (Pin3 >= AnaVdd);
+    		Outlow = false;
+    		break;
+
+		default:
+			Outhigh = false;
+			Outlow = false;
+  	}
+  	if (Outhigh) 
+	{
+    	AnaScoreboard("Vout too high", (long)AnaMessGate4);
+    	return;
+  	}
+  	if (Outlow)
+    	AnaScoreboard("Vout too low", (long)AnaMessGate4);
+  	else
+    	AnaScoreboard("Vout ok", (long)AnaMessGate4);
 }
 
 
@@ -1030,7 +1033,7 @@ Analog_32_action *act;
 	 InvBlendVstr, dBlendVstr_Temp, dBlendVstrdV1, dBlendVstrdV2,
 	 dBlendVstrdVset, Iset_Temp1, Iset_Temp2, Iset, dIset_Temp1,
 	 dIset_Temp2, dIsetdV1, dIsetdV2, dIsetdVset, TCtanch, dTCTanchdV1,
-	 dTCTanchdV2, ExpoVcmpVdd, BlendVcmpVdd, InvBlendVcmpVdd,
+	 ExpoVcmpVdd, BlendVcmpVdd, InvBlendVcmpVdd,
 	 dBlendVcmpVddTemp, dBlendVcmpVdddV1, dBlendVcmpVdddV2, MinV1V2Vdd,
 	 dMinV1V2VdddV1, dMinV1V2VdddV2, VcmpVdd, Vbot, dVbotdV1, dVbotdV2,
 	 dVbotdVout, ExpoVbot, BlendVbotTemp, BlendVbot, InvBlendVbot,
@@ -1048,12 +1051,12 @@ Analog_32_action *act;
 /* p2c: stdlib.text, line 4982: 
  * Note: Line breaker spent 2.0 seconds, 5000 tries on line 1035 [251] */
   Deltasign Sign;
-  double ResPositive, ResNegative, dResPositivedVout, dResNegativedVout,
+  double ResPositive, ResNegative, 
 	 IresTempPos, IresTempNeg, Ires, dIresTemp, dIresdV1, dIresdV2,
 	 dIresdVout, TCRes, dTCTemp, dTCResdV1, dTCResdV2, dTCResdVout, Vlow1,
 	 ExpoVlow1, ExpoVlow1Temp, BlendVlow1, InvBlendVlow1,
-	 dBlendVlow1dVout, dBlendVlow1dVset, Ilow1Temp1, Ilow1Temp2,
-	 Ilow1Temp3, Ilow1, dIlow1dVset, dIlow1dVout, Vlow2, ExpoVlow2,
+	 dBlendVlow1dVout, Ilow1Temp1, Ilow1Temp2,
+	 Ilow1Temp3, Ilow1, dIlow1dVset, Vlow2, ExpoVlow2,
 	 ExpoVlow2Temp, BlendVlow2, InvBlendVlow2, dBlendVlow2dVout,
 	 Ilow2Temp1, Ilow2Temp2, Ilow2Temp3, Ilow2, dIlow2dVout, Delta1,
 	 Delta2, Delta3, Delta4, Itop2Temp1, Itop2Temp2, Itop2Temp3;
@@ -1197,7 +1200,6 @@ Analog_32_action *act;
 
   TCtanch = AnaTanch(Del * TCAmpVar->HalfIKn2);
   dTCTanchdV1 = (1 - TCtanch * TCtanch) * TCAmpVar->HalfIKn2;
-  dTCTanchdV2 = -dTCTanchdV1;
 
 
   if (AmpRange == Normal) {
@@ -1268,7 +1270,6 @@ Analog_32_action *act;
     BlendVlow1 = 1 / (1 + ExpoVlow1Temp);
     InvBlendVlow1 = 1 - BlendVlow1;
     dBlendVlow1dVout = TCAmpVar->Kn2 * ExpoVlow1Temp * BlendVlow1 * BlendVlow1;
-    dBlendVlow1dVset = -dBlendVlow1dVout;
 
 
     Ilow1Temp1 = TCAmpVar->Kn1 * ExpoVlow1;
@@ -1278,7 +1279,6 @@ Analog_32_action *act;
     dIlow1dVset = TCAmpVar->Kn2 * Ilow1Temp3 +
 		  (Ilow1Temp2 - Ilow1Temp1) * dBlendVlow1dVout +
 		  TCAmpVar->TwoKn4 * Vlow1 * InvBlendVlow1;
-    dIlow1dVout = -dIlow1dVset;
 
     Vlow2 = -VPin3;
     ExpoVlow2 = AnaExpo(TCAmpVar->Kn2 * Vlow2);
@@ -1436,8 +1436,6 @@ Analog_32_action *act;
 
   ResPositive = 1 + (AnaVdd - VPin3) * TCAmpVar->InvVcross;
   ResNegative = 1 + VPin3 * TCAmpVar->InvVcross;
-  dResPositivedVout = -TCAmpVar->InvVcross;
-  dResNegativedVout = TCAmpVar->InvVcross;
 
   IresTempPos = ResPositive * WITH->attr[N_Ipos - 1].UU.r;
   IresTempNeg = ResNegative * WITH->attr[N_Ineg - 1].UU.r;
@@ -1574,223 +1572,243 @@ Analog_32_action *act;
 void Iin_TCAmp(act)
 Analog_32_action *act;
 {
-  AnaExt_rec *Pin1Ptr;
-  double VPin1, VMem1;
-  AnaExt_rec *Pin2Ptr;
-  double VPin2, VMem2;
-  AnaExt_rec *Pin3Ptr;
-  double VPin3, VMem3;
-  AnaExt_rec *Pin4Ptr;
-  double VPin4, VMem4;
-  TCAmpConst *TCAmpVar;
-  Anainstlist *A_Gate;
-
-  double Del, BlendDel, InvBlendDel, V1Offset, V2Offset, MaxV1V2, MinV1V2,
-	 Vcmp, BlendVcmp, ExpoVstr, BlendVstr, Vstr, TCtanch, BlendVcmpVdd,
-	 MinV1V2Vdd, VcmpVdd, Vbot, ExpoVbot, BlendVbot, Ibot, Vhighcmp,
-	 BlendVhighcmp, MaxVddV2, Vtop1, ExpoVtop1, BlendVtop1, Vtop2,
-	 ExpVtop2, BlendVtop2, Ihigh;
-  Deltasign Sign;
-  double TCRes, Iset, Vlow1, ExpoVlow1, BlendVlow1, Vlow2, ExpoVlow2,
-	 BlendVlow2, Delta1, Delta2, Delta3, Delta4;
-  log_grec *WITH;
-
-
-
-  WITH = act->inst;
-
-  /*Implementation notes*/
-  /*1. Use Dtlast, Dtlast+Accum for time values*/
-  /*Numbers used below are in 'virtual pin numbers' */
-  /*Pin1=Vplus*/
-  /*Pin3=Vout*/
-  /*Pin2=Vminus*/
-  /*Pin4=Vset*/
-
-
-  A_Gate = (Anainstlist *)WITH->info;
-  TCAmpVar = (TCAmpConst *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[R_Vplus - 1]->info;
-  VPin1 = Pin1Ptr->now;
-  VMem1 = A_Gate->Pininfo[R_Vplus - 1].Vmem;
-  Pin2Ptr = (AnaExt_rec *)WITH->pin[R_Vminus - 1]->info;
-  VPin2 = Pin2Ptr->now;
-  VMem2 = A_Gate->Pininfo[R_Vminus - 1].Vmem;
-  Pin3Ptr = (AnaExt_rec *)WITH->pin[R_Vout - 1]->info;
-  VPin3 = Pin3Ptr->now;
-  VMem3 = A_Gate->Pininfo[R_Vout - 1].Vmem;
-  Pin4Ptr = (AnaExt_rec *)WITH->pin[R_Vset - 1]->info;
-  VPin4 = Pin4Ptr->now;
-  VMem4 = A_Gate->Pininfo[R_Vset - 1].Vmem;
-  switch (act->pin) {
-
-  case R_Vplus:   /*Allows attr^[]. access*/
-    WITH = act->inst;
-    Delta1 = VPin1 - VMem1;
-    act->Iin = TCAmpVar->TauVdiff * (Delta1 - VPin2 + VMem2) +
-	       TCAmpVar->TauVout * (Delta1 - VPin3 + VMem3) +
-	       TCAmpVar->TauVset * (Delta1 - VPin4 + VMem4) + act->Iin;
-    AnaCapIin(act);   /*Add nodal capacitance*/
-    break;
-    /*Allows internal variable access*/
-
-  case R_Vminus:   /*Allows attr^[]. access*/
-    WITH = act->inst;
-    Delta2 = VPin2 - VMem2;
-    act->Iin = TCAmpVar->TauVout * (Delta2 - VPin3 + VMem3) +
-	       TCAmpVar->TauVdiff * (Delta2 - VPin1 + VMem1) +
-	       TCAmpVar->TauVset * (Delta2 - VPin4 + VMem4) + act->Iin;
-    AnaCapIin(act);   /*Add nodal capacitance*/
-    break;
-    /*Allows internal variable access*/
-
-  case R_Vout:   /*Allows attr^[]. access*/
-    WITH = act->inst;
-    V1Offset = VPin1 + TCAmpVar->HalfOffset;
-    V2Offset = VPin2 - TCAmpVar->HalfOffset;
-    Del = V1Offset - V2Offset;
-    if (fabs(Del) < 0.000708) {
-      BlendDel = 1 / (1 + AnaExpo(100000L * Del));
-      InvBlendDel = 1 - BlendDel;
-      MaxV1V2 = V2Offset * BlendDel + V1Offset * InvBlendDel;
-      MinV1V2 = V1Offset * BlendDel + V2Offset * InvBlendDel;
-      Sign = Zero;
-    } else {
-      if (Del > 0) {
-	BlendDel = 0.0;
-	InvBlendDel = 1.0;
-	MaxV1V2 = V1Offset;
-	MinV1V2 = V2Offset;
-	Sign = Positive;
-      } else {
-	BlendDel = 1.0;
-	InvBlendDel = 0.0;
-	MaxV1V2 = V2Offset;
-	MinV1V2 = V1Offset;
-	Sign = Negative;
-      }
-    }
-
-    Vcmp = MaxV1V2 - VPin4;
-    if (fabs(Vcmp) < 0.000708) {
-      BlendVcmp = 1 / (1 + AnaExpo(100000L * Vcmp));
-      Vstr = MaxV1V2 * BlendVcmp + VPin4 * (1 - BlendVcmp);
-    } else {
-      if (Vcmp > 0)
-	Vstr = VPin4;
-      else
-	Vstr = MaxV1V2;
-    }
-
-
-    ExpoVstr = AnaExpo(TCAmpVar->Kn2 * Vstr);
-    BlendVstr = 1 / (1 + TCAmpVar->Kn5 * ExpoVstr);
-    Iset = TCAmpVar->Kn1 * ExpoVstr * BlendVstr +
-	   TCAmpVar->Kn4 * Vstr * Vstr * (1 - BlendVstr);
-
-    TCtanch = AnaTanch(Del * TCAmpVar->HalfIKn2);
-
-    if (AmpRange == Normal) {
-      VcmpVdd = AnaVdd - MinV1V2;
-      if (fabs(VcmpVdd) < 0.000708) {
-	BlendVcmpVdd = 1 / (1 + AnaExpo(100000L * VcmpVdd));
-	MinV1V2Vdd = AnaVdd * BlendVcmpVdd + MinV1V2 * (1 - BlendVcmpVdd);
-      } else {
-	if (VcmpVdd > 0)
-	  MinV1V2Vdd = MinV1V2;
-	else
-	  MinV1V2Vdd = AnaVdd;
-      }
-
-      Vbot = MinV1V2Vdd - VPin3;
-      ExpoVbot = AnaExpo(TCAmpVar->Kn2 * Vbot);
-      BlendVbot = 1 / (1 + TCAmpVar->Kn5 * ExpoVbot);
-      Ibot = TCAmpVar->Kn1 * ExpoVbot * BlendVbot +
-	     (1 - BlendVbot) * TCAmpVar->Kn4 * Vbot * Vbot;
-    } else {
-      Vlow1 = VPin4 - VPin3;
-      ExpoVlow1 = AnaExpo(TCAmpVar->Kn2 * Vlow1);
-      BlendVlow1 = 1 / (1 + TCAmpVar->Kn5 * ExpoVlow1);
-      Vlow2 = -VPin3;
-      ExpoVlow2 = AnaExpo(TCAmpVar->Kn2 * Vlow2);
-      BlendVlow2 = 1 / (1 + TCAmpVar->Kn5 * ExpoVlow2);
-
-
-      Ibot = BlendDel * (TCAmpVar->Kn1 * ExpoVlow1 * BlendVlow1 +
-			 (1 - BlendVlow1) * TCAmpVar->Kn4 * Vlow1 * Vlow1) +
-	     InvBlendDel * (TCAmpVar->Kn1 * ExpoVlow2 * BlendVlow2 +
-			    (1 - BlendVlow2) * TCAmpVar->Kn4 * Vlow2 * Vlow2);
-    }
-
-    if (AmpRange == Normal) {
-      Vhighcmp = AnaVdd - VPin2;
-      if (fabs(Vhighcmp) < 0.000708) {
-	BlendVhighcmp = 1 / (1 + AnaExpo(100000L * Vhighcmp));
-	MaxVddV2 = VPin2 * BlendVhighcmp + AnaVdd * (1 - BlendVhighcmp);
-      } else {
-	if (Vhighcmp > 0)
-	  MaxVddV2 = AnaVdd;
-	else
-	  MaxVddV2 = VPin2;
-      }
-    } else
-      MaxVddV2 = AnaVdd;
-
-    if (Sign == Zero) {
-      Vtop1 = VPin3 - AnaVdd;
-      ExpoVtop1 = AnaExpo(TCAmpVar->Kn2 * Vtop1);
-      BlendVtop1 = 1 / (1 + TCAmpVar->Kn5 * ExpoVtop1);
-      Vtop2 = VPin3 + VPin4 - MaxVddV2;
-      ExpVtop2 = AnaExpo(TCAmpVar->Kn2 * Vtop2);
-      BlendVtop2 = 1 / (1 + TCAmpVar->Kn5 * ExpVtop2);
-      Ihigh = -(BlendDel * (TCAmpVar->Kp1 * ExpoVtop1 * BlendVtop1 +
-		  (1 - BlendVtop1) * TCAmpVar->Kp4 * Vtop1 * Vtop1) +
-		InvBlendDel * (TCAmpVar->Kp1 * ExpVtop2 * BlendVtop2 +
-		  (1 - BlendVtop2) * TCAmpVar->Kp4 * Vtop2 * Vtop2));
-    } else {
-      if (Sign == Positive) {
-	Vtop2 = VPin3 + VPin4 - MaxVddV2;
-	ExpVtop2 = AnaExpo(TCAmpVar->Kn2 * Vtop2);
-	BlendVtop2 = 1 / (1 + TCAmpVar->Kn5 * ExpVtop2);
-	Ihigh = -(TCAmpVar->Kp1 * ExpVtop2 * BlendVtop2 +
-		  (1 - BlendVtop2) * TCAmpVar->Kp4 * Vtop2 * Vtop2);
-      } else {
-	Vtop1 = VPin3 - AnaVdd;
-	ExpoVtop1 = AnaExpo(TCAmpVar->Kn2 * Vtop1);
-	BlendVtop1 = 1 / (1 + TCAmpVar->Kn5 * ExpoVtop1);
-	Ihigh = -(TCAmpVar->Kp1 * ExpoVtop1 * BlendVtop1 +
-		  (1 - BlendVtop1) * TCAmpVar->Kp4 * Vtop1 * Vtop1);
-      }
-    }
-
-    TCRes = (BlendDel * (1 + VPin3 * TCAmpVar->InvVcross) *
-	     WITH->attr[N_Ineg - 1].UU.r +
-	     InvBlendDel * (1 + (AnaVdd - VPin3) * TCAmpVar->InvVcross) *
-	     WITH->attr[N_Ipos - 1].UU.r) * TCtanch;
-
-    Delta3 = VPin3 - VMem3;
-    act->Iin = TCAmpVar->TauVout * (Delta3 - VPin2 + VMem2) - Ibot - Ihigh -
-	       Iset * TCRes + TCAmpVar->TauVout * (Delta3 - VPin1 + VMem1) +
-	       TCAmpVar->TauVset * (Delta3 - VPin4 + VMem4) + act->Iin;
-    AnaCapIin(act);   /*Add nodal capacitance*/
-    break;
-    /*Allows internal variable access*/
-
-  case R_Vset:   /*Allows attr^[]. access*/
-    WITH = act->inst;
-    Delta4 = VPin4 - VMem4;
-    act->Iin = TCAmpVar->TauVset * (Delta4 - VPin1 + VMem1) +
-	       TCAmpVar->TauVset * (Delta4 - VPin2 + VMem2) +
-	       TCAmpVar->TauVset * (Delta4 - VPin3 + VMem3) + act->Iin;
-    AnaCapIin(act);   /*Add nodal capacitance*/
-    break;
-    /*Allows internal variable access*/
-
-  default:
-    printf("Data Structure Corruption\n");
-    _Escape(1002);
-    break;
-  }
+  	AnaExt_rec *Pin1Ptr;
+  	double VPin1, VMem1;
+  	AnaExt_rec *Pin2Ptr;
+  	double VPin2, VMem2;
+  	AnaExt_rec *Pin3Ptr;
+  	double VPin3, VMem3;
+  	AnaExt_rec *Pin4Ptr;
+  	double VPin4, VMem4;
+  	TCAmpConst *TCAmpVar;
+  	Anainstlist *A_Gate;
+
+  	double Del, BlendDel, InvBlendDel, V1Offset, V2Offset, MaxV1V2, MinV1V2,
+	 	Vcmp, BlendVcmp, ExpoVstr, BlendVstr, Vstr, TCtanch, BlendVcmpVdd,
+	 	MinV1V2Vdd, VcmpVdd, Vbot, ExpoVbot, BlendVbot, Ibot, Vhighcmp,
+	 	BlendVhighcmp, MaxVddV2, Vtop1, ExpoVtop1, BlendVtop1, Vtop2,
+	 	ExpVtop2, BlendVtop2, Ihigh;
+  	Deltasign Sign;
+  	double TCRes, Iset, Vlow1, ExpoVlow1, BlendVlow1, Vlow2, ExpoVlow2,
+	 	BlendVlow2, Delta1, Delta2, Delta3, Delta4;
+  	log_grec *WITH;
+
+
+
+  	WITH = act->inst;
+
+  	/*Implementation notes*/
+  	/*1. Use Dtlast, Dtlast+Accum for time values*/
+  	/*Numbers used below are in 'virtual pin numbers' */
+  	/*Pin1=Vplus*/
+  	/*Pin3=Vout*/
+  	/*Pin2=Vminus*/
+  	/*Pin4=Vset*/
+
+
+  	A_Gate = (Anainstlist *)WITH->info;
+  	TCAmpVar = (TCAmpConst *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[R_Vplus - 1]->info;
+  	VPin1 = Pin1Ptr->now;
+  	VMem1 = A_Gate->Pininfo[R_Vplus - 1].Vmem;
+  	Pin2Ptr = (AnaExt_rec *)WITH->pin[R_Vminus - 1]->info;
+  	VPin2 = Pin2Ptr->now;
+  	VMem2 = A_Gate->Pininfo[R_Vminus - 1].Vmem;
+  	Pin3Ptr = (AnaExt_rec *)WITH->pin[R_Vout - 1]->info;
+  	VPin3 = Pin3Ptr->now;
+  	VMem3 = A_Gate->Pininfo[R_Vout - 1].Vmem;
+  	Pin4Ptr = (AnaExt_rec *)WITH->pin[R_Vset - 1]->info;
+  	VPin4 = Pin4Ptr->now;
+  	VMem4 = A_Gate->Pininfo[R_Vset - 1].Vmem;
+  	switch (act->pin) 
+	{
+  		case R_Vplus:   /*Allows attr^[]. access*/
+    		WITH = act->inst;
+    		Delta1 = VPin1 - VMem1;
+    		act->Iin = TCAmpVar->TauVdiff * (Delta1 - VPin2 + VMem2) +
+	       			TCAmpVar->TauVout * (Delta1 - VPin3 + VMem3) +
+	       			TCAmpVar->TauVset * (Delta1 - VPin4 + VMem4) + act->Iin;
+    		AnaCapIin(act);   /*Add nodal capacitance*/
+    		break;
+    		/*Allows internal variable access*/
+
+  		case R_Vminus:   /*Allows attr^[]. access*/
+    		WITH = act->inst;
+    		Delta2 = VPin2 - VMem2;
+    		act->Iin = TCAmpVar->TauVout * (Delta2 - VPin3 + VMem3) +
+	       			TCAmpVar->TauVdiff * (Delta2 - VPin1 + VMem1) +
+	       			TCAmpVar->TauVset * (Delta2 - VPin4 + VMem4) + act->Iin;
+    		AnaCapIin(act);   /*Add nodal capacitance*/
+    		break;
+   			/*Allows internal variable access*/
+
+  		case R_Vout:   /*Allows attr^[]. access*/
+    		WITH = act->inst;
+    		V1Offset = VPin1 + TCAmpVar->HalfOffset;
+    		V2Offset = VPin2 - TCAmpVar->HalfOffset;
+    		Del = V1Offset - V2Offset;
+    		if (fabs(Del) < 0.000708) {
+      			BlendDel = 1 / (1 + AnaExpo(100000L * Del));
+      			InvBlendDel = 1 - BlendDel;
+      			MaxV1V2 = V2Offset * BlendDel + V1Offset * InvBlendDel;
+      			MinV1V2 = V1Offset * BlendDel + V2Offset * InvBlendDel;
+      			Sign = Zero;
+    		} 
+			else 
+			{
+      			if (Del > 0) {
+					BlendDel = 0.0;
+					InvBlendDel = 1.0;
+					MaxV1V2 = V1Offset;
+					MinV1V2 = V2Offset;
+					Sign = Positive;
+      			}
+				else 
+				{
+					BlendDel = 1.0;
+					InvBlendDel = 0.0;
+					MaxV1V2 = V2Offset;
+					MinV1V2 = V1Offset;
+					Sign = Negative;
+      			}
+    		}
+
+    		Vcmp = MaxV1V2 - VPin4;
+    		if (fabs(Vcmp) < 0.000708) {
+      			BlendVcmp = 1 / (1 + AnaExpo(100000L * Vcmp));
+      			Vstr = MaxV1V2 * BlendVcmp + VPin4 * (1 - BlendVcmp);
+    		} 
+			else 
+			{
+      			if (Vcmp > 0)
+					Vstr = VPin4;
+      			else
+					Vstr = MaxV1V2;
+    		}
+			
+    		ExpoVstr = AnaExpo(TCAmpVar->Kn2 * Vstr);
+    		BlendVstr = 1 / (1 + TCAmpVar->Kn5 * ExpoVstr);
+    		Iset = TCAmpVar->Kn1 * ExpoVstr * BlendVstr +
+	   		TCAmpVar->Kn4 * Vstr * Vstr * (1 - BlendVstr);
+
+    		TCtanch = AnaTanch(Del * TCAmpVar->HalfIKn2);
+
+    		if (AmpRange == Normal) 
+			{
+      			VcmpVdd = AnaVdd - MinV1V2;
+      			if (fabs(VcmpVdd) < 0.000708) 
+				{
+					BlendVcmpVdd = 1 / (1 + AnaExpo(100000L * VcmpVdd));
+					MinV1V2Vdd = AnaVdd * BlendVcmpVdd + MinV1V2 * (1 - BlendVcmpVdd);
+      			}
+				else 
+				{
+					if (VcmpVdd > 0)
+	  					MinV1V2Vdd = MinV1V2;
+					else
+	  					MinV1V2Vdd = AnaVdd;
+      			}
+
+      			Vbot = MinV1V2Vdd - VPin3;
+      			ExpoVbot = AnaExpo(TCAmpVar->Kn2 * Vbot);
+      			BlendVbot = 1 / (1 + TCAmpVar->Kn5 * ExpoVbot);
+      			Ibot = TCAmpVar->Kn1 * ExpoVbot * BlendVbot +
+	     				(1 - BlendVbot) * TCAmpVar->Kn4 * Vbot * Vbot;
+    		} 
+			else 
+			{
+      			Vlow1 = VPin4 - VPin3;
+      			ExpoVlow1 = AnaExpo(TCAmpVar->Kn2 * Vlow1);
+      			BlendVlow1 = 1 / (1 + TCAmpVar->Kn5 * ExpoVlow1);
+      			Vlow2 = -VPin3;
+      			ExpoVlow2 = AnaExpo(TCAmpVar->Kn2 * Vlow2);
+      			BlendVlow2 = 1 / (1 + TCAmpVar->Kn5 * ExpoVlow2);
+
+      			Ibot = BlendDel * (TCAmpVar->Kn1 * ExpoVlow1 * BlendVlow1 +
+						(1 - BlendVlow1) * TCAmpVar->Kn4 * Vlow1 * Vlow1) +
+	     		InvBlendDel * (TCAmpVar->Kn1 * ExpoVlow2 * BlendVlow2 +
+			    		(1 - BlendVlow2) * TCAmpVar->Kn4 * Vlow2 * Vlow2);
+    		}
+
+    		if (AmpRange == Normal) 
+			{
+      			Vhighcmp = AnaVdd - VPin2;
+      			if (fabs(Vhighcmp) < 0.000708) {
+					BlendVhighcmp = 1 / (1 + AnaExpo(100000L * Vhighcmp));
+					MaxVddV2 = VPin2 * BlendVhighcmp + AnaVdd * (1 - BlendVhighcmp);
+      			}
+				else
+				{
+					if (Vhighcmp > 0)
+	  					MaxVddV2 = AnaVdd;
+					else
+	  					MaxVddV2 = VPin2;
+      			}
+    		}
+			else
+      			MaxVddV2 = AnaVdd;
+
+    		if (Sign == Zero) 
+			{
+      			Vtop1 = VPin3 - AnaVdd;
+      			ExpoVtop1 = AnaExpo(TCAmpVar->Kn2 * Vtop1);
+     			BlendVtop1 = 1 / (1 + TCAmpVar->Kn5 * ExpoVtop1);
+      			Vtop2 = VPin3 + VPin4 - MaxVddV2;
+      			ExpVtop2 = AnaExpo(TCAmpVar->Kn2 * Vtop2);
+      			BlendVtop2 = 1 / (1 + TCAmpVar->Kn5 * ExpVtop2);
+      			Ihigh = -(BlendDel * (TCAmpVar->Kp1 * ExpoVtop1 * BlendVtop1 +
+		  				(1 - BlendVtop1) * TCAmpVar->Kp4 * Vtop1 * Vtop1) +
+				InvBlendDel * (TCAmpVar->Kp1 * ExpVtop2 * BlendVtop2 +
+		  				(1 - BlendVtop2) * TCAmpVar->Kp4 * Vtop2 * Vtop2));
+    		}
+			else 
+			{
+      			if (Sign == Positive) 
+				{
+					Vtop2 = VPin3 + VPin4 - MaxVddV2;
+					ExpVtop2 = AnaExpo(TCAmpVar->Kn2 * Vtop2);
+					BlendVtop2 = 1 / (1 + TCAmpVar->Kn5 * ExpVtop2);
+					Ihigh = -(TCAmpVar->Kp1 * ExpVtop2 * BlendVtop2 +
+		  					(1 - BlendVtop2) * TCAmpVar->Kp4 * Vtop2 * Vtop2);
+      			}
+				else
+				{
+					Vtop1 = VPin3 - AnaVdd;
+					ExpoVtop1 = AnaExpo(TCAmpVar->Kn2 * Vtop1);
+					BlendVtop1 = 1 / (1 + TCAmpVar->Kn5 * ExpoVtop1);
+					Ihigh = -(TCAmpVar->Kp1 * ExpoVtop1 * BlendVtop1 +
+		  					(1 - BlendVtop1) * TCAmpVar->Kp4 * Vtop1 * Vtop1);
+      			}
+    		}
+
+    		TCRes = (BlendDel * (1 + VPin3 * TCAmpVar->InvVcross) *
+	     			WITH->attr[N_Ineg - 1].UU.r +
+	     			InvBlendDel * (1 + (AnaVdd - VPin3) * TCAmpVar->InvVcross) *
+	     			WITH->attr[N_Ipos - 1].UU.r) * TCtanch;
+
+    		Delta3 = VPin3 - VMem3;
+    		act->Iin = TCAmpVar->TauVout * (Delta3 - VPin2 + VMem2) - Ibot - Ihigh -
+	       			Iset * TCRes + TCAmpVar->TauVout * (Delta3 - VPin1 + VMem1) +
+	       			TCAmpVar->TauVset * (Delta3 - VPin4 + VMem4) + act->Iin;
+    		AnaCapIin(act);   /*Add nodal capacitance*/
+    		break;
+    		/*Allows internal variable access*/
+
+  		case R_Vset:   /*Allows attr^[]. access*/
+    		WITH = act->inst;
+    		Delta4 = VPin4 - VMem4;
+    		act->Iin = TCAmpVar->TauVset * (Delta4 - VPin1 + VMem1) +
+	       			TCAmpVar->TauVset * (Delta4 - VPin2 + VMem2) +
+	       			TCAmpVar->TauVset * (Delta4 - VPin3 + VMem3) + act->Iin;
+    		AnaCapIin(act);   /*Add nodal capacitance*/
+    		break;
+    		/*Allows internal variable access*/
+
+  		default:
+    		printf("Data Structure Corruption\n");
+    		_Escape(1002);
+    		break;
+  	}
 }  /*Iin_TCAmp*/
 
 
diff --git a/log/src/ana/thermal.c b/log/src/ana/thermal.c
index da0c0c9..1ea48df 100644
--- a/log/src/ana/thermal.c
+++ b/log/src/ana/thermal.c
@@ -125,12 +125,11 @@ Analog_32_action *act;
 {
   short Tx, Ty;
   Anainstlist *A_Gate;
-  ThermalConst *ThermalVar, *WITH;
+  ThermalConst *ThermalVar;
   char Newout[256];
 
   A_Gate = (Anainstlist *)act->inst->info;
   ThermalVar = (ThermalConst *)A_Gate->InstVar;
-  WITH = ThermalVar;
   (*AnaLogglobals->hook.hidecursor)();
   Tx = 0;
   Ty = 0;
@@ -175,12 +174,11 @@ Analog_32_action *act;
 {
   short Tx, Ty;
   Anainstlist *A_Gate;
-  ThermalConst *ThermalVar, *WITH;
+  ThermalConst *ThermalVar;
 
 
   A_Gate = (Anainstlist *)act->inst->info;
   ThermalVar = (ThermalConst *)A_Gate->InstVar;
-  WITH = ThermalVar;
   (*AnaLogglobals->hook.hidecursor)();
   m_color((long)AnaLogglobals->color.backgr);
   Tx = 0;
@@ -199,7 +197,6 @@ Analog_32_action *act;
 {
   long Attrnum;
   log_grec *WITH;
-  log_gattrrec *WITH1;
   ThermalConst *ThermalVar;
   Anainstlist *A_Gate;
 
@@ -293,7 +290,6 @@ Analog_32_action *act;
 static void Openconfig_Thermal(act)
 Analog_32_action *act;
 {
-  long Index;
   log_grec *WITH;
 
   if (!act->ok)
@@ -314,7 +310,6 @@ static void Readgate_Thermal(act)
 Analog_32_action *act;
 {
   log_grec *WITH;
-  char STR1[256];
 
   WITH = act->inst;
   if (AnaOldmodel && !WITH->attr[0].blnk) {
diff --git a/log/src/ana/vdiff.c b/log/src/ana/vdiff.c
index 2b8190c..cae8b7e 100644
--- a/log/src/ana/vdiff.c
+++ b/log/src/ana/vdiff.c
@@ -188,74 +188,76 @@ static double Pulsemaker(log_grec *Inst, double Ftime, int First)
 
 static void Ex_Vdiff(Analog_32_action *act)
 {
-  /*Vdifferent*/
-  double MinI1, MinI2, dI1dV1, dI1dV2, dI2dV1, dI2dV2;
-  AnaExt_rec *Pin1Ptr, *Pin2Ptr;
-  long Pin1, Pin2;
-  double VPin1, VPin2;
-  VdiffConst *VdiffVar;
-  Anainstlist *A_Gate;
-  double Fout, Ftime;
-  log_grec *WITH;
-  AnaMatRec *WITH1;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  VdiffVar = (VdiffConst *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  Pin1 = Pin1Ptr->nodenum;
-  VPin1 = Pin1Ptr->last;
-  Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
-  Pin2 = Pin2Ptr->nodenum;
-  VPin2 = Pin2Ptr->last;   /*Use with statement to get to internal variables*/
-  if (WITH->attr[N_Freeze - 1].UU.b)
-    Ftime = VdiffVar->Timez;
-  else
-    Ftime = VdiffVar->Timez + AnaDt;
-  switch (WITH->attr[N_Type - 1].UU.nv) {
-
-  case 0:
-    Fout = WITH->attr[N_Dc - 1].UU.r;
-    break;
-
-  case 1:
-    Fout = Pulsemaker(act->inst, Ftime, VdiffVar->First);
-    break;
-
-  case 2:
-    if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
-      Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-	       sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
-    else
-      Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-	       sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
-				(Ftime - WITH->attr[N_sDelay - 1].UU.r) +
-				WITH->attr[N_sPhase - 1].UU.r / 360));
-/* p2c: vtools.text, line 3723: Note:
- * Line breaker spent 2.0+1.00 seconds, 5000 tries on line 224 [251] */
-    break;
-  }
-  VdiffVar->Videal = Fout;
-  MinI1 = VdiffVar->Conductance * (VPin2 + Fout - VPin1);
-  MinI2 = -MinI1;
-  dI1dV1 = VdiffVar->Conductance;
-  dI1dV2 = -VdiffVar->Conductance;
-  dI2dV1 = -VdiffVar->Conductance;
-  dI2dV2 = VdiffVar->Conductance;
-  WITH1 = AnaSystem;
-  WITH1->Mat[Pin1][AnaSysCol] += MinI1;
-  WITH1->Mat[Pin1][Pin1] += dI1dV1;
-  WITH1->Mat[Pin1][Pin2] += dI1dV2;
-  WITH1->Mat[Pin2][AnaSysCol] += MinI2;
-  WITH1->Mat[Pin2][Pin1] += dI2dV1;
-  WITH1->Mat[Pin2][Pin2] += dI2dV2;
-  WITH1->MatNZ[Pin1][AnaSysCol] = true;
-  WITH1->MatNZ[Pin1][Pin1] = true;
-  WITH1->MatNZ[Pin1][Pin2] = true;
-  WITH1->MatNZ[Pin2][AnaSysCol] = true;
-  WITH1->MatNZ[Pin2][Pin1] = true;
-  WITH1->MatNZ[Pin2][Pin2] = true;
-  AnaCapex(act->inst);
+  	/*Vdifferent*/
+ 	double MinI1, MinI2, dI1dV1, dI1dV2, dI2dV1, dI2dV2;
+ 	AnaExt_rec *Pin1Ptr, *Pin2Ptr;
+ 	long Pin1, Pin2;
+ 	double VPin1, VPin2;
+ 	VdiffConst *VdiffVar;
+ 	Anainstlist *A_Gate;
+ 	double Fout, Ftime;
+	log_grec *WITH;
+  	AnaMatRec *WITH1;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	VdiffVar = (VdiffConst *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	Pin1 = Pin1Ptr->nodenum;
+  	VPin1 = Pin1Ptr->last;
+  	Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
+  	Pin2 = Pin2Ptr->nodenum;
+  	VPin2 = Pin2Ptr->last;   /*Use with statement to get to internal variables*/
+  	if (WITH->attr[N_Freeze - 1].UU.b)
+   		Ftime = VdiffVar->Timez;
+  	else
+    	Ftime = VdiffVar->Timez + AnaDt;
+  
+	switch (WITH->attr[N_Type - 1].UU.nv) 
+	{
+		case 0:
+    		Fout = WITH->attr[N_Dc - 1].UU.r;
+    		break;
+
+  		case 1:
+    		Fout = Pulsemaker(act->inst, Ftime, VdiffVar->First);
+    		break;
+
+  		case 2:
+    		if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
+      			Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+	       						sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
+    		else
+      			Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+	       				sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
+						(Ftime - WITH->attr[N_sDelay - 1].UU.r) +
+						WITH->attr[N_sPhase - 1].UU.r / 360));
+    		break;
+
+		default:
+			Fout = 0;
+  	}
+  	VdiffVar->Videal = Fout;
+  	MinI1 = VdiffVar->Conductance * (VPin2 + Fout - VPin1);
+  	MinI2 = -MinI1;
+  	dI1dV1 = VdiffVar->Conductance;
+  	dI1dV2 = -VdiffVar->Conductance;
+  	dI2dV1 = -VdiffVar->Conductance;
+  	dI2dV2 = VdiffVar->Conductance;
+  	WITH1 = AnaSystem;
+  	WITH1->Mat[Pin1][AnaSysCol] += MinI1;
+  	WITH1->Mat[Pin1][Pin1] += dI1dV1;
+  	WITH1->Mat[Pin1][Pin2] += dI1dV2;
+  	WITH1->Mat[Pin2][AnaSysCol] += MinI2;
+  	WITH1->Mat[Pin2][Pin1] += dI2dV1;
+  	WITH1->Mat[Pin2][Pin2] += dI2dV2;
+  	WITH1->MatNZ[Pin1][AnaSysCol] = true;
+  	WITH1->MatNZ[Pin1][Pin1] = true;
+  	WITH1->MatNZ[Pin1][Pin2] = true;
+  	WITH1->MatNZ[Pin2][AnaSysCol] = true;
+  	WITH1->MatNZ[Pin2][Pin1] = true;
+  	WITH1->MatNZ[Pin2][Pin2] = true;
+  	AnaCapex(act->inst);
 }  /*Ex_Vdiff*/
 
 /****************************************************************************/
@@ -265,94 +267,98 @@ static void Ex_Vdiff(Analog_32_action *act)
 
 static void Iin_Vdiff(Analog_32_action *act)
 {
-  /*Vdifferent*/
-  AnaExt_rec *Pin1Ptr, *Pin2Ptr;
-  double VPin1, Vpin2;
-  VdiffConst *VdiffVar;
-  Anainstlist *A_Gate;
-  double Fout, Ftime;
-  log_grec *WITH;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  VdiffVar = (VdiffConst *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  VPin1 = Pin1Ptr->now;
-  Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
-  Vpin2 = Pin2Ptr->now;
-  switch (act->pin) {
-
-  case 1:
-    WITH = act->inst;
-    if (WITH->attr[N_Freeze - 1].UU.b)
-      Ftime = VdiffVar->Timez;
-    else
-      Ftime = VdiffVar->Timez + AnaDtlast;
-    switch (WITH->attr[N_Type - 1].UU.nv) {
-
-    case 0:
-      Fout = WITH->attr[N_Dc - 1].UU.r;
-      break;
-
-    case 1:
-      Fout = Pulsemaker(act->inst, Ftime, VdiffVar->First);
-      break;
-
-    case 2:
-      if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
-	Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-		 sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
-      else
-	Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-		 sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
-				  (Ftime - WITH->attr[N_sDelay - 1].UU.r) +
-				  WITH->attr[N_sPhase - 1].UU.r / 360));
-/* p2c: vtools.text, line 3723: 
- * Note: Line breaker spent 3.0 seconds, 5000 tries on line 301 [251] */
-      break;
-    }
-    act->Iin = VdiffVar->Conductance * (VPin1 - Vpin2 - Fout) + act->Iin;
-    AnaCapIin(act);
-    break;
-
-  case 2:
-    WITH = act->inst;
-    if (WITH->attr[N_Freeze - 1].UU.b)
-      Ftime = VdiffVar->Timez;
-    else
-      Ftime = VdiffVar->Timez + AnaDtlast;
-    switch (WITH->attr[N_Type - 1].UU.nv) {
-
-    case 0:
-      Fout = WITH->attr[N_Dc - 1].UU.r;
-      break;
-
-    case 1:
-      Fout = Pulsemaker(act->inst, Ftime, VdiffVar->First);
-      break;
-
-    case 2:
-      if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
-	Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-		 sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
-      else
-	Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
-		 sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
-				  (Ftime - WITH->attr[N_sDelay - 1].UU.r) +
-				  WITH->attr[N_sPhase - 1].UU.r / 360));
-/* p2c: vtools.text, line 3723: Note:
- * Line breaker spent 2.0+1.00 seconds, 5000 tries on line 334 [251] */
-      break;
-    }
-    act->Iin = VdiffVar->Conductance * (Vpin2 + Fout - VPin1) + act->Iin;
-    AnaCapIin(act);
-    break;
-
-  default:
-    printf("Data Structure Corruption\n");
-    _Escape(1002);
-    break;
-  }
+  	/*Vdifferent*/
+  	AnaExt_rec *Pin1Ptr, *Pin2Ptr;
+  	double VPin1, Vpin2;
+  	VdiffConst *VdiffVar;
+  	Anainstlist *A_Gate;
+  	double Fout, Ftime;
+  	log_grec *WITH;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	VdiffVar = (VdiffConst *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	VPin1 = Pin1Ptr->now;
+  	Pin2Ptr = (AnaExt_rec *)WITH->pin[1]->info;
+  	Vpin2 = Pin2Ptr->now;
+  	switch (act->pin) 
+	{
+  		case 1:
+    		WITH = act->inst;
+    		if (WITH->attr[N_Freeze - 1].UU.b)
+      			Ftime = VdiffVar->Timez;
+    		else
+      			Ftime = VdiffVar->Timez + AnaDtlast;
+    		switch (WITH->attr[N_Type - 1].UU.nv) 
+			{
+				case 0:
+      				Fout = WITH->attr[N_Dc - 1].UU.r;
+      				break;
+
+    			case 1:
+      				Fout = Pulsemaker(act->inst, Ftime, VdiffVar->First);
+      				break;
+
+    			case 2:
+      				if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
+						Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+		 						sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
+      				else
+						Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+		 							sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
+				  					(Ftime - WITH->attr[N_sDelay - 1].UU.r) +
+				  					WITH->attr[N_sPhase - 1].UU.r / 360));
+      				break;
+
+				default:
+					Fout = 0;
+    		}
+    		act->Iin = VdiffVar->Conductance * (VPin1 - Vpin2 - Fout) + act->Iin;
+    		AnaCapIin(act);
+   			break;
+
+  		case 2:
+    		WITH = act->inst;
+    		if (WITH->attr[N_Freeze - 1].UU.b)
+      			Ftime = VdiffVar->Timez;
+    		else
+				Ftime = VdiffVar->Timez + AnaDtlast;
+
+			switch (WITH->attr[N_Type - 1].UU.nv) 
+			{
+    			case 0:
+      				Fout = WITH->attr[N_Dc - 1].UU.r;
+      				break;
+
+    			case 1:
+      				Fout = Pulsemaker(act->inst, Ftime, VdiffVar->First);
+      				break;
+
+    			case 2:
+      				if (Ftime < WITH->attr[N_sDelay - 1].UU.r)
+						Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+		 							sin(6.2831853 * (WITH->attr[N_sPhase - 1].UU.r / 360));
+      				else
+						Fout = WITH->attr[N_sOffset - 1].UU.r + WITH->attr[N_sAmp - 1].UU.r *
+		 						sin(6.2831853 * (WITH->attr[N_sFreq - 1].UU.r *
+				  				(Ftime - WITH->attr[N_sDelay - 1].UU.r) +
+				  				WITH->attr[N_sPhase - 1].UU.r / 360));
+      				break;
+
+				default:
+					Fout = 0;
+    		}
+
+    		act->Iin = VdiffVar->Conductance * (Vpin2 + Fout - VPin1) + act->Iin;
+    		AnaCapIin(act);
+    		break;
+
+  		default:
+    		printf("Data Structure Corruption\n");
+    		_Escape(1002);
+    		break;
+	}
 }  /*Iin_Vdiff*/
 
 
@@ -360,7 +366,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICVdiff *WITH;
   char *STR1;
 
@@ -378,7 +383,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
       if (!strcmp(Keyword, "RES")) {
 	TRY(try1);
 	  WITH->ICRes = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->ICRes = 50.0;
 	ENDTRY(try1);
@@ -398,7 +402,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
       if (!strcmp(Keyword, "DC")) {
 	TRY(try2);
 	  WITH->ICdc = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try2);
 	  WITH->ICdc = 0.0;
 	ENDTRY(try2);
@@ -408,7 +411,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "OFFSET")) {
 	  TRY(try3);
 	    WITH->ICsOffset = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try3);
 	    WITH->ICsOffset = AnaVdd / 2;
 	  ENDTRY(try3);
@@ -416,7 +418,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "AMP")) {
 	  TRY(try4);
 	    WITH->ICsAmp = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try4);
 	    WITH->ICsAmp = AnaVdd / 5;
 	  ENDTRY(try4);
@@ -424,7 +425,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "FREQ")) {
 	  TRY(try5);
 	    WITH->ICsFreq = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try5);
 	    WITH->ICsFreq = 1 / (AnaDtmax * 10);
 	  ENDTRY(try5);
@@ -432,7 +432,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "PHASE")) {
 	  TRY(try6);
 	    WITH->ICsPhase = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try6);
 	    WITH->ICsPhase = 0.0;
 	  ENDTRY(try6);
@@ -440,7 +439,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "DELAY")) {
 	  TRY(try7);
 	    WITH->ICsDelay = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try7);
 	    WITH->ICsDelay = 0.0;
 	  ENDTRY(try7);
@@ -451,7 +449,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "VINIT")) {
 	  TRY(try8);
 	    WITH->ICpVinit = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try8);
 	    WITH->ICpVinit = 0.0;
 	  ENDTRY(try8);
@@ -459,7 +456,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "VPULSE")) {
 	  TRY(try9);
 	    WITH->ICpVpulse = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try9);
 	    WITH->ICpVpulse = AnaVdd;
 	  ENDTRY(try9);
@@ -467,7 +463,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "DELAY")) {
 	  TRY(try10);
 	    WITH->ICpDelay = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try10);
 	    WITH->ICpDelay = 6 * AnaDtmax;
 	  ENDTRY(try10);
@@ -475,7 +470,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "RISE")) {
 	  TRY(try11);
 	    WITH->ICpRise = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try11);
 	    WITH->ICpRise = AnaDtmax * 3;
 	  ENDTRY(try11);
@@ -483,7 +477,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "FALL")) {
 	  TRY(try12);
 	    WITH->ICpFall = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try12);
 	    WITH->ICpFall = AnaDtmax * 3;
 	  ENDTRY(try12);
@@ -491,7 +484,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "WIDTH")) {
 	  TRY(try13);
 	    WITH->ICpWidth = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try13);
 	    WITH->ICpWidth = 6 * AnaDtmax;
 	  ENDTRY(try13);
@@ -499,7 +491,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "PERIOD")) {
 	  TRY(try14);
 	    WITH->ICpPeriod = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try14);
 	    WITH->ICpPeriod = 20 * AnaDtmax;
 	  ENDTRY(try14);
@@ -507,7 +498,6 @@ static void GetCnf_Vdiff(ICVdiff *NewIC)
 	if (!strcmp(Keyword, "RDELAY")) {
 	  TRY(try15);
 	    WITH->ICpRDelay = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try15);
 	    WITH->ICpRDelay = 0.0;
 	  ENDTRY(try15);
diff --git a/log/src/ana/vswitch.c b/log/src/ana/vswitch.c
index 46eb4d1..010f607 100644
--- a/log/src/ana/vswitch.c
+++ b/log/src/ana/vswitch.c
@@ -191,43 +191,46 @@ static double Monostablemaker(log_grec *Inst, double time, int State, int Ex, do
 
 static void Ex_Vswitch(Analog_32_action *act)
 {
-  double MinI1, dI1dV1;
-  AnaExt_rec *Pin1Ptr;
-  long Pin1;
-  double VPin1;
-  VswitchConst *VswitchVar;
-  Anainstlist *A_Gate;
-  double Fout;
-  log_grec *WITH;
-  AnaMatRec *WITH1;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  VswitchVar = (VswitchConst *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  Pin1 = Pin1Ptr->nodenum;
-  VPin1 = Pin1Ptr->last;   /*Use with statement to get to internal variables*/
-  switch (WITH->attr[N_Type - 1].UU.nv) {
-
-  case Bistable:
-    Fout = Bistablemaker(act->inst, VswitchVar->Time, VswitchVar->State, true,
-			 VswitchVar->OldVideal);
-    break;
-
-  case Monostable:
-    Fout = Monostablemaker(act->inst, VswitchVar->Time, VswitchVar->State,
-			   true, VswitchVar->OldVideal);
-    break;
-  }
-  VswitchVar->NewVideal = Fout;
-  MinI1 = VswitchVar->Conductance * (Fout - VPin1);
-  dI1dV1 = VswitchVar->Conductance;
-  WITH1 = AnaSystem;
-  WITH1->Mat[Pin1][AnaSysCol] += MinI1;
-  WITH1->Mat[Pin1][Pin1] += dI1dV1;
-  WITH1->MatNZ[Pin1][AnaSysCol] = true;
-  WITH1->MatNZ[Pin1][Pin1] = true;
-  AnaCapex(act->inst);
+  	double MinI1, dI1dV1;
+  	AnaExt_rec *Pin1Ptr;
+  	long Pin1;
+  	double VPin1;
+  	VswitchConst *VswitchVar;
+  	Anainstlist *A_Gate;
+  	double Fout;
+  	log_grec *WITH;
+  	AnaMatRec *WITH1;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	VswitchVar = (VswitchConst *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	Pin1 = Pin1Ptr->nodenum;
+  	VPin1 = Pin1Ptr->last;   /*Use with statement to get to internal variables*/
+  	switch (WITH->attr[N_Type - 1].UU.nv) 
+	{
+  		case Bistable:
+    		Fout = Bistablemaker(act->inst, VswitchVar->Time, VswitchVar->State, true,
+				 	VswitchVar->OldVideal);
+    		break;
+
+  		case Monostable:
+    		Fout = Monostablemaker(act->inst, VswitchVar->Time, VswitchVar->State,
+			   		true, VswitchVar->OldVideal);
+    		break;
+
+		default:
+			Fout = 0;
+  	}
+  	VswitchVar->NewVideal = Fout;
+  	MinI1 = VswitchVar->Conductance * (Fout - VPin1);
+  	dI1dV1 = VswitchVar->Conductance;
+  	WITH1 = AnaSystem;
+  	WITH1->Mat[Pin1][AnaSysCol] += MinI1;
+  	WITH1->Mat[Pin1][Pin1] += dI1dV1;
+  	WITH1->MatNZ[Pin1][AnaSysCol] = true;
+  	WITH1->MatNZ[Pin1][Pin1] = true;
+  	AnaCapex(act->inst);
 }  /*Ex_Vswitch*/
 
 
@@ -238,43 +241,47 @@ static void Ex_Vswitch(Analog_32_action *act)
 
 static void Iin_Vswitch(Analog_32_action *act)
 {
-  AnaExt_rec *Pin1Ptr;
-  double VPin1;
-  VswitchConst *VswitchVar;
-  Anainstlist *A_Gate;
-  double Fout;
-  log_grec *WITH;
-
-  WITH = act->inst;
-  A_Gate = (Anainstlist *)WITH->info;
-  VswitchVar = (VswitchConst *)A_Gate->InstVar;
-  Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
-  VPin1 = Pin1Ptr->now;
-  switch (act->pin) {
-
-  case 1:
-    WITH = act->inst;
-    switch (WITH->attr[N_Type - 1].UU.nv) {
-
-    case Bistable:
-      Fout = Bistablemaker(act->inst, VswitchVar->Time, VswitchVar->State,
-			   false, VswitchVar->OldVideal);
-      break;
-
-    case Monostable:
-      Fout = Monostablemaker(act->inst, VswitchVar->Time, VswitchVar->State,
-			     false, VswitchVar->OldVideal);
-      break;
-    }
-    act->Iin = VswitchVar->Conductance * (VPin1 - Fout) + act->Iin;
-    AnaCapIin(act);
-    break;
-
-  default:
-    printf("Data Structure Corruption\n");
-    _Escape(1002);
-    break;
-  }
+  	AnaExt_rec *Pin1Ptr;
+  	double VPin1;
+  	VswitchConst *VswitchVar;
+  	Anainstlist *A_Gate;
+  	double Fout;
+  	log_grec *WITH;
+
+  	WITH = act->inst;
+  	A_Gate = (Anainstlist *)WITH->info;
+  	VswitchVar = (VswitchConst *)A_Gate->InstVar;
+  	Pin1Ptr = (AnaExt_rec *)WITH->pin[0]->info;
+  	VPin1 = Pin1Ptr->now;
+  	switch (act->pin) 
+	{
+
+  		case 1:
+    		WITH = act->inst;
+    		switch (WITH->attr[N_Type - 1].UU.nv) {
+
+    			case Bistable:
+      				Fout = Bistablemaker(act->inst, VswitchVar->Time, VswitchVar->State,
+			   				false, VswitchVar->OldVideal);
+      				break;
+
+    			case Monostable:
+      				Fout = Monostablemaker(act->inst, VswitchVar->Time, VswitchVar->State,
+			     			false, VswitchVar->OldVideal);
+      				break;
+
+				default:
+					Fout = 0;
+    		}
+    		act->Iin = VswitchVar->Conductance * (VPin1 - Fout) + act->Iin;
+    		AnaCapIin(act);
+    		break;
+
+  		default:
+    		printf("Data Structure Corruption\n");
+    		_Escape(1002);
+    		break;
+  	}
 }  /*Iin_Vswitch*/
 
 
@@ -282,7 +289,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 {
   int Found;
   char Arg[256], Keyword[256];
-  long Dummy;
   ICVswitch *WITH;
   char *STR1;
 
@@ -294,7 +300,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
       if (!strcmp(Keyword, "RES")) {
 	TRY(try1);
 	  WITH->ICRes = strtod(Arg, &STR1);
-	  Dummy = STR1 - Arg + 1;
 	RECOVER(try1);
 	  WITH->ICRes = 50.0;
 	ENDTRY(try1);
@@ -311,7 +316,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 	if (!strcmp(Keyword, "VINIT")) {
 	  TRY(try2);
 	    WITH->ICbVinit = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try2);
 	    WITH->ICbVinit = 0.0;
 	  ENDTRY(try2);
@@ -319,7 +323,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 	if (!strcmp(Keyword, "VPULSE")) {
 	  TRY(try3);
 	    WITH->ICbVpulse = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try3);
 	    WITH->ICbVpulse = AnaVdd;
 	  ENDTRY(try3);
@@ -327,7 +330,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 	if (!strcmp(Keyword, "RISE")) {
 	  TRY(try4);
 	    WITH->ICbRise = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try4);
 	    WITH->ICbRise = 3 * AnaDtmax;
 	  ENDTRY(try4);
@@ -335,7 +337,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 	if (!strcmp(Keyword, "FALL")) {
 	  TRY(try5);
 	    WITH->ICbFall = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try5);
 	    WITH->ICbFall = 3 * AnaDtmax;
 	  ENDTRY(try5);
@@ -353,7 +354,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 	if (!strcmp(Keyword, "VINIT")) {
 	  TRY(try6);
 	    WITH->ICmVinit = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try6);
 	    WITH->ICmVinit = 0.0;
 	  ENDTRY(try6);
@@ -361,7 +361,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 	if (!strcmp(Keyword, "VPULSE")) {
 	  TRY(try7);
 	    WITH->ICmVpulse = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try7);
 	    WITH->ICmVpulse = AnaVdd;
 	  ENDTRY(try7);
@@ -369,7 +368,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 	if (!strcmp(Keyword, "RISE")) {
 	  TRY(try8);
 	    WITH->ICmRise = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try8);
 	    WITH->ICmRise = 3 * AnaDtmax;
 	  ENDTRY(try8);
@@ -377,7 +375,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 	if (!strcmp(Keyword, "FALL")) {
 	  TRY(try9);
 	    WITH->ICmFall = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try9);
 	    WITH->ICmFall = 3 * AnaDtmax;
 	  ENDTRY(try9);
@@ -385,7 +382,6 @@ static void GetCnf_Vswitch(ICVswitch *NewIC)
 	if (!strcmp(Keyword, "WIDTH")) {
 	  TRY(try10);
 	    WITH->ICmWidth = strtod(Arg, &STR1);
-	    Dummy = STR1 - Arg + 1;
 	  RECOVER(try10);
 	    WITH->ICmWidth = 6 * AnaDtmax;
 	  ENDTRY(try10);
@@ -689,11 +685,9 @@ static void Set_Vswitch(Analog_32_action *act)
 {
   VswitchConst *VswitchVar;
   Anainstlist *A_Gate;
-  log_grec *WITH1;
 
   A_Gate = (Anainstlist *)act->inst->info;
   VswitchVar = (VswitchConst *)A_Gate->InstVar;
-  WITH1 = act->inst;
   VswitchVar->Reset_State = VswitchVar->State;
   VswitchVar->Reset_Videal = VswitchVar->OldVideal;
   VswitchVar->Reset_Time = VswitchVar->Time - AnaAccum;
diff --git a/psys/include/p2c/p2c.h b/psys/include/p2c/p2c.h
index 51a33b1..5a41feb 100644
--- a/psys/include/p2c/p2c.h
+++ b/psys/include/p2c/p2c.h
@@ -172,7 +172,7 @@ typedef struct {
 } _TEXT;
 
 /* Memory allocation */
-# define Malloc(n)  (malloc((n) ? (n) : 1) ? 0 : (void*)_OutMem())
+# define Malloc(n)  (malloc((n != 0) ? (n) : 1) ? 0 : (void*)_OutMem())
 #define Free(p)     (free((void*)(p)), (p)=NULL)
 
 /* sign extension */
-- 
GitLab