code: public void compileProgram() {
  		program.inputs().forEach(var -> var.calculateFuzzySpace());
  		program.outputs().forEach(var -> var.calculateFuzzySpace());
  
  		program.rules().forEach(rule -> {
  			updateMemberReferenceCount(rule.getCondition());
  			rule.assignmentMembers().forEach(member -> member.incrReferenceCount());
  		});
  	}
docs: Compile the program