Index: trunk/MagicSoft/Mars/msignal/MExtractTimeFastSpline.cc
===================================================================
--- trunk/MagicSoft/Mars/msignal/MExtractTimeFastSpline.cc	(revision 4732)
+++ trunk/MagicSoft/Mars/msignal/MExtractTimeFastSpline.cc	(revision 4752)
@@ -200,6 +200,6 @@
       pp = fHiGainSecondDeriv[i-1] + 4.;
       fHiGainSecondDeriv[i] = -1.0/pp;
-      fHiGainFirstDeriv [i] = *(p+1) - 2.* *(p) + *(p-1);
-      fHiGainFirstDeriv [i] = (6.0*fHiGainFirstDeriv[i]-fHiGainFirstDeriv[i-1])/pp;
+      const Double_t deriv = *(p+1) - 2.* *(p) + *(p-1);
+      fHiGainFirstDeriv [i] = (6.0*deriv-fHiGainFirstDeriv[i-1])/pp;
     }
 
@@ -232,4 +232,7 @@
   // interval maxpos+1.
   //
+
+  Float_t higainklo = fHiGainSecondDeriv[klo];
+  Float_t higainkhi = fHiGainSecondDeriv[khi];
   while (x<upper-0.3)
     {
@@ -241,6 +244,6 @@
       y = a*klocont
         + b*khicont
-        + (a*a*a-a)*fHiGainSecondDeriv[klo] 
-        + (b*b*b-b)*fHiGainSecondDeriv[khi];
+        + (a*a*a-a)*higainklo
+        + (b*b*b-b)*higainkhi;
       
       if (y > abmax)
@@ -265,4 +268,6 @@
       khicont = (Float_t)*(first+khi);
 
+      higainklo = fHiGainSecondDeriv[klo];
+      higainkhi = fHiGainSecondDeriv[khi];
       while (x<upper-0.3)
         {
@@ -274,6 +279,6 @@
           y = a* klocont
             + b* khicont
-            + (a*a*a-a)*fHiGainSecondDeriv[klo] 
-            + (b*b*b-b)*fHiGainSecondDeriv[khi];
+            + (a*a*a-a)*higainklo
+            + (b*b*b-b)*higainkhi;
           
           if (y > abmax)
@@ -295,4 +300,6 @@
   step  = 0.04; // step size of 83 ps 
 
+  higainklo = fHiGainSecondDeriv[klo];
+  higainkhi = fHiGainSecondDeriv[khi];
   while (x<up)
     {
@@ -304,6 +311,6 @@
       y = a* klocont
         + b* khicont
-        + (a*a*a-a)*fHiGainSecondDeriv[klo] 
-        + (b*b*b-b)*fHiGainSecondDeriv[khi];
+        + (a*a*a-a)*higainklo
+        + (b*b*b-b)*higainkhi;
       
       if (y > abmax)
@@ -329,4 +336,6 @@
   b     = x - lower;
 
+  higainklo = fHiGainSecondDeriv[klo];
+  higainkhi = fHiGainSecondDeriv[khi];
   while (x>lo)
     {
@@ -338,6 +347,6 @@
       y = a* klocont
         + b* khicont
-        + (a*a*a-a)*fHiGainSecondDeriv[klo] 
-        + (b*b*b-b)*fHiGainSecondDeriv[khi];
+        + (a*a*a-a)*higainklo
+        + (b*b*b-b)*higainkhi;
       
       if (y > abmax)
