Index: trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionTreeInterpreter.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionTreeInterpreter.cs	(revision 6849)
+++ trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionTreeInterpreter.cs	(revision 6860)
@@ -132,14 +132,7 @@
 
       public const byte VariableCondition = 27;
-
-      public const byte UncheckedVariable = 28;
-      public const byte UncheckedVariableCondition = 29;
     }
     #endregion
 
-    private Dictionary<Type, byte> symbolToUncheckedOpcode = new Dictionary<Type, byte>() {
-      { typeof(HeuristicLab.Problems.DataAnalysis.Symbolic.Variable), OpCodes.UncheckedVariable },
-      { typeof(VariableCondition),OpCodes.UncheckedVariableCondition}
-    };
     private Dictionary<Type, byte> symbolToOpcode = new Dictionary<Type, byte>() {
       { typeof(Addition), OpCodes.Add },
@@ -213,5 +206,5 @@
       for (int i = 0; i < code.Length; i++) {
         Instruction instr = code[i];
-        if (instr.opCode == OpCodes.Variable || instr.opCode == OpCodes.UncheckedVariable) {
+        if (instr.opCode == OpCodes.Variable) {
           var variableTreeNode = instr.dynamicNode as VariableTreeNode;
           instr.iArg0 = dataset.GetReadOnlyDoubleValues(variableTreeNode.VariableName);
@@ -221,5 +214,5 @@
           instr.iArg0 = dataset.GetReadOnlyDoubleValues(laggedVariableTreeNode.VariableName);
           code[i] = instr;
-        } else if (instr.opCode == OpCodes.VariableCondition || instr.opCode == OpCodes.UncheckedVariableCondition) {
+        } else if (instr.opCode == OpCodes.VariableCondition) {
           var variableConditionTreeNode = instr.dynamicNode as VariableConditionTreeNode;
           instr.iArg0 = dataset.GetReadOnlyDoubleValues(variableConditionTreeNode.VariableName);
@@ -417,8 +410,4 @@
             return ((IList<double>)currentInstr.iArg0)[row] * variableTreeNode.Weight;
           }
-        case OpCodes.UncheckedVariable: {
-            var variableTreeNode = (VariableTreeNode)currentInstr.dynamicNode;
-            return ((IList<double>)currentInstr.iArg0)[row] * variableTreeNode.Weight;
-          }
         case OpCodes.LagVariable: {
             var laggedVariableTreeNode = (LaggedVariableTreeNode)currentInstr.dynamicNode;
@@ -448,15 +437,4 @@
             return trueBranch * p + falseBranch * (1 - p);
           }
-        case OpCodes.UncheckedVariableCondition: {
-            var variableConditionTreeNode = (VariableConditionTreeNode)currentInstr.dynamicNode;
-            double variableValue = ((IList<double>)currentInstr.iArg0)[row];
-            double x = variableValue - variableConditionTreeNode.Threshold;
-            double p = 1 / (1 + Math.Exp(-variableConditionTreeNode.Slope * x));
-
-            double trueBranch = Evaluate(dataset, ref row, state);
-            double falseBranch = Evaluate(dataset, ref row, state);
-
-            return trueBranch * p + falseBranch * (1 - p);
-          }
         default: throw new NotSupportedException();
       }
@@ -464,19 +442,8 @@
 
     private byte MapSymbolToOpCode(ISymbolicExpressionTreeNode treeNode) {
-      if ((treeNode.Symbol.GetType() == typeof(Variable) || treeNode.Symbol.GetType() == typeof(VariableCondition)) && !InLaggedContext(treeNode)) {
-        return symbolToUncheckedOpcode[treeNode.Symbol.GetType()];
-      } else {
-        if (symbolToOpcode.ContainsKey(treeNode.Symbol.GetType()))
-          return symbolToOpcode[treeNode.Symbol.GetType()];
-        else
-          throw new NotSupportedException("Symbol: " + treeNode.Symbol);
-      }
-    }
-
-    private bool InLaggedContext(ISymbolicExpressionTreeNode treeNode) {
-      if (treeNode.Parent == null) return false;
-      if (treeNode.Parent is ILaggedTreeNode) return true;
-      if (treeNode.Parent.Symbol is Derivative) return true;
-      return InLaggedContext(treeNode.Parent);
+      if (symbolToOpcode.ContainsKey(treeNode.Symbol.GetType()))
+        return symbolToOpcode[treeNode.Symbol.GetType()];
+      else
+        throw new NotSupportedException("Symbol: " + treeNode.Symbol);
     }
 
