for (int i = 0; i < program.size(); i++) {
p.add(program.get(i).getInstruction());
}
StackInterpreter interp = new StackInterpreter(p, tree.deepCopy());
ClusterHead evaluated = interp.run();
double fitness = evaluate(evaluated);
if (punishesWastage()) {
fitness = scaleWastage(fitness, interp.getWastage());
}
checkBudget(fitness, evaluated);