Program: 131844
Project: 131844
Buggy source:
public static Engine takagiSugeno(){
  Engine engine=new Engine();
  engine.setName("String_Node_Str");
  InputVariable inputVariable1=new InputVariable();
  inputVariable1.setName("String_Node_Str");
  inputVariable1.setRange(0.000,10.000);
  inputVariable1.addTerm(new Triangle("String_Node_Str",0.000,1.000,2.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",1.000,2.000,3.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",2.000,3.000,4.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",3.000,4.000,5.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",4.000,5.000,6.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",5.000,6.000,7.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",6.000,7.000,8.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",7.000,8.000,9.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",8.000,9.000,10.000));
  engine.addInputVariable(inputVariable1);
  OutputVariable outputVariable1=new OutputVariable();
  outputVariable1.setName("String_Node_Str");
  outputVariable1.setRange(-1.000,1.000);
  outputVariable1.setLockOutputRange(false);
  outputVariable1.setLockValidOutput(true);
  outputVariable1.setDefaultValue(Double.NaN);
  outputVariable1.setDefuzzifier(new WeightedAverage());
  outputVariable1.output().setAccumulation(null);
  outputVariable1.addTerm(new Constant("String_Node_Str",0.840));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.450));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.040));
  outputVariable1.addTerm(new Constant("String_Node_Str",-0.180));
  outputVariable1.addTerm(new Constant("String_Node_Str",-0.190));
  outputVariable1.addTerm(new Constant("String_Node_Str",-0.040));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.090));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.120));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.040));
  engine.addOutputVariable(outputVariable1);
  OutputVariable outputVariable2=new OutputVariable();
  outputVariable2.setName("String_Node_Str");
  outputVariable2.setRange(Double.NaN,Double.NaN);
  outputVariable2.setLockOutputRange(false);
  outputVariable2.setLockValidOutput(true);
  outputVariable2.setDefaultValue(Double.NaN);
  outputVariable2.setDefuzzifier(new WeightedAverage());
  outputVariable2.output().setAccumulation(null);
  outputVariable2.addTerm(Function.create("String_Node_Str","String_Node_Str",engine,true));
  engine.addOutputVariable(outputVariable2);
  OutputVariable outputVariable3=new OutputVariable();
  outputVariable3.setName("String_Node_Str");
  outputVariable3.setRange(Double.NaN,Double.NaN);
  outputVariable3.setLockOutputRange(false);
  outputVariable3.setLockValidOutput(false);
  outputVariable3.setDefaultValue(Double.NaN);
  outputVariable3.setDefuzzifier(new WeightedAverage());
  outputVariable3.output().setAccumulation(null);
  outputVariable3.addTerm(Function.create("String_Node_Str","String_Node_Str",engine,true));
  engine.addOutputVariable(outputVariable3);
  RuleBlock ruleBlock1=new RuleBlock();
  ruleBlock1.setName("String_Node_Str");
  ruleBlock1.setConjunction(null);
  ruleBlock1.setDisjunction(null);
  ruleBlock1.setActivation(new AlgebraicProduct());
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  engine.addRuleBlock(ruleBlock1);
  return engine;
}

Fixed version (ground truth):
public static Engine takagiSugeno(){
  Engine engine=new Engine();
  engine.setName("String_Node_Str");
  InputVariable inputVariable1=new InputVariable();
  inputVariable1.setName("String_Node_Str");
  inputVariable1.setRange(0.000,10.000);
  inputVariable1.addTerm(new Triangle("String_Node_Str",0.000,1.000,2.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",1.000,2.000,3.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",2.000,3.000,4.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",3.000,4.000,5.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",4.000,5.000,6.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",5.000,6.000,7.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",6.000,7.000,8.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",7.000,8.000,9.000));
  inputVariable1.addTerm(new Triangle("String_Node_Str",8.000,9.000,10.000));
  engine.addInputVariable(inputVariable1);
  OutputVariable outputVariable1=new OutputVariable();
  outputVariable1.setName("String_Node_Str");
  outputVariable1.setRange(-1.000,1.000);
  outputVariable1.setLockOutputRange(false);
  outputVariable1.setLockValidOutput(true);
  outputVariable1.setDefaultValue(Double.NaN);
  outputVariable1.setDefuzzifier(new WeightedAverage());
  outputVariable1.output().setAccumulation(null);
  outputVariable1.addTerm(new Constant("String_Node_Str",0.840));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.450));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.040));
  outputVariable1.addTerm(new Constant("String_Node_Str",-0.180));
  outputVariable1.addTerm(new Constant("String_Node_Str",-0.190));
  outputVariable1.addTerm(new Constant("String_Node_Str",-0.040));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.090));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.120));
  outputVariable1.addTerm(new Constant("String_Node_Str",0.040));
  engine.addOutputVariable(outputVariable1);
  OutputVariable outputVariable2=new OutputVariable();
  outputVariable2.setName("String_Node_Str");
  outputVariable2.setRange(-1,1);
  outputVariable2.setLockOutputRange(false);
  outputVariable2.setLockValidOutput(true);
  outputVariable2.setDefaultValue(Double.NaN);
  outputVariable2.setDefuzzifier(new WeightedAverage());
  outputVariable2.output().setAccumulation(null);
  outputVariable2.addTerm(Function.create("String_Node_Str","String_Node_Str",engine,true));
  engine.addOutputVariable(outputVariable2);
  OutputVariable outputVariable3=new OutputVariable();
  outputVariable3.setName("String_Node_Str");
  outputVariable3.setRange(-1,1);
  outputVariable3.setLockOutputRange(false);
  outputVariable3.setLockValidOutput(false);
  outputVariable3.setDefaultValue(Double.NaN);
  outputVariable3.setDefuzzifier(new WeightedAverage());
  outputVariable3.output().setAccumulation(null);
  outputVariable3.addTerm(Function.create("String_Node_Str","String_Node_Str",engine,true));
  engine.addOutputVariable(outputVariable3);
  RuleBlock ruleBlock1=new RuleBlock();
  ruleBlock1.setName("String_Node_Str");
  ruleBlock1.setConjunction(null);
  ruleBlock1.setDisjunction(null);
  ruleBlock1.setActivation(new AlgebraicProduct());
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  ruleBlock1.addRule(Rule.parse("String_Node_Str",engine));
  engine.addRuleBlock(ruleBlock1);
  return engine;
}