Program: 50544
Project: 50544
Buggy source:
public void calcHopsTotals(){
  double ibuTotal=0;
  totalHopsCost=0;
  totalHopsOz=0;
  for (int i=0; i < hops.size(); i++) {
    double adjPreSize, aveOg=0;
    Hop h=((Hop)hops.get(i));
    if (h.getAdd().equalsIgnoreCase("String_Node_Str") || h.getAdd().equalsIgnoreCase("String_Node_Str")) {
      if (h.getMinutes() > 0)       adjPreSize=postBoilVol.getValueAs("String_Node_Str") + (preBoilVol.getValueAs("String_Node_Str") - postBoilVol.getValueAs("String_Node_Str")) / (boilMinutes / h.getMinutes());
 else       adjPreSize=postBoilVol.getValueAs("String_Node_Str");
      aveOg=1 + (((estOg - 1) + ((estOg - 1) / (adjPreSize / postBoilVol.getValueAs("String_Node_Str")))) / 2);
      if (ibuCalcMethod.equals("String_Node_Str"))       h.setIBU(calcTinseth(h.getAmountAs("String_Node_Str"),postBoilVol.getValueAs("String_Node_Str"),aveOg,h.getMinutes(),h.getAlpha(),ibuHopUtil));
 else       if (ibuCalcMethod.equals("String_Node_Str"))       h.setIBU(CalcRager(h.getAmountAs("String_Node_Str"),postBoilVol.getValueAs("String_Node_Str"),aveOg,h.getMinutes(),h.getAlpha()));
 else       h.setIBU(CalcGaretz(h.getAmountAs("String_Node_Str"),postBoilVol.getValueAs("String_Node_Str"),aveOg,h.getMinutes(),preBoilVol.getValueAs("String_Node_Str"),1,h.getAlpha()));
      if (h.getType().equalsIgnoreCase("String_Node_Str")) {
        h.setIBU(h.getIBU() * (1.0 + (pelletHopPct / 100)));
      }
      ibuTotal+=h.getIBU();
    }
    totalHopsCost+=h.getCostPerU() * h.getAmountAs("String_Node_Str");
    totalHopsOz+=h.getAmountAs("String_Node_Str");
  }
  ibu=ibuTotal;
}

Fixed version (ground truth):
public void calcHopsTotals(){
  double ibuTotal=0;
  totalHopsCost=0;
  totalHopsOz=0;
  for (int i=0; i < hops.size(); i++) {
    double adjPreSize, aveOg=0;
    Hop h=((Hop)hops.get(i));
    if (h.getAdd().equalsIgnoreCase("String_Node_Str") || h.getAdd().equalsIgnoreCase("String_Node_Str")) {
      if (h.getMinutes() > 0)       adjPreSize=postBoilVol.getValueAs("String_Node_Str") + (preBoilVol.getValueAs("String_Node_Str") - postBoilVol.getValueAs("String_Node_Str")) / (boilMinutes / h.getMinutes());
 else       adjPreSize=postBoilVol.getValueAs("String_Node_Str");
      aveOg=1 + (((estOg - 1) + ((estOg - 1) / (adjPreSize / postBoilVol.getValueAs("String_Node_Str")))) / 2);
      if (ibuCalcMethod.equals("String_Node_Str"))       h.setIBU(calcTinseth(h.getAmountAs("String_Node_Str"),postBoilVol.getValueAs("String_Node_Str"),aveOg,h.getMinutes(),h.getAlpha(),ibuHopUtil));
 else       if (ibuCalcMethod.equals("String_Node_Str"))       h.setIBU(CalcRager(h.getAmountAs("String_Node_Str"),postBoilVol.getValueAs("String_Node_Str"),aveOg,h.getMinutes(),h.getAlpha()));
 else       h.setIBU(CalcGaretz(h.getAmountAs("String_Node_Str"),postBoilVol.getValueAs("String_Node_Str"),aveOg,h.getMinutes(),preBoilVol.getValueAs("String_Node_Str"),1,h.getAlpha()));
      if (h.getType().equalsIgnoreCase("String_Node_Str")) {
        h.setIBU(h.getIBU() * (1.0 + (pelletHopPct / 100)));
      }
      ibuTotal+=h.getIBU();
    }
    totalHopsCost+=h.getCostPerU() * h.getAmountAs(h.getUnits());
    totalHopsOz+=h.getAmountAs("String_Node_Str");
  }
  ibu=ibuTotal;
}