Program: 26236
Project: 26236
Buggy source:
/** 
 * Perform the registration
 */
public void run(){
  IJ.showStatus("String_Node_Str");
  if (target.getWidth() > BSplineModel.MAX_OUTPUT_SIZE || target.getHeight() > BSplineModel.MAX_OUTPUT_SIZE || source.getWidth() > BSplineModel.MAX_OUTPUT_SIZE || source.getHeight() > BSplineModel.MAX_OUTPUT_SIZE)   IJ.log("String_Node_Str");
  source.startPyramids();
  target.startPyramids();
  dialog.joinThreads();
  final ImagePlus[] output_ip=initializeOutputIPs();
  if (this.accurate_mode == MainDialog.MONO_MODE)   this.consistencyWeight=0.0;
  final Transformation warp=new Transformation(sourceImp,targetImp,source,target,sourcePh,targetPh,sourceMsk,targetMsk,sourceAffineMatrix,targetAffineMatrix,min_scale_deformation,max_scale_deformation,min_scale_image,divWeight,curlWeight,landmarkWeight,imageWeight,consistencyWeight,stopThreshold,outputLevel,showMarquardtOptim,accurate_mode,maxImageSubsamplingFactor,dialog.isSaveTransformationSet(),"String_Node_Str","String_Node_Str",output_ip[0],output_ip[1],dialog);
  IJ.showStatus("String_Node_Str");
  long start=System.currentTimeMillis();
  if (this.accurate_mode == MainDialog.MONO_MODE) {
    warp.doUnidirectionalRegistration();
    if (this.dialog.isSaveTransformationSet())     warp.saveDirectTransformation();
    if (source.isSubOutput()) {
      IJ.log("String_Node_Str");
    }
    warp.showDirectResults();
  }
 else {
    warp.doRegistration();
    if (this.dialog.isSaveTransformationSet()) {
      warp.saveDirectTransformation();
      warp.saveInverseTransformation();
    }
    if (source.isSubOutput()) {
      IJ.log("String_Node_Str");
    }
    warp.showDirectResults();
    if (target.isSubOutput()) {
      IJ.log("String_Node_Str");
    }
    warp.showInverseResults();
  }
  long stop=System.currentTimeMillis();
  if (outputLevel == 2)   IJ.write("String_Node_Str" + (stop - start) + "String_Node_Str");
  dialog.restoreAll();
  dialog.freeMemory();
}

Fixed version (ground truth):
/** 
 * Perform the registration
 */
public void run(){
  IJ.showStatus("String_Node_Str");
  if (target.getWidth() > BSplineModel.MAX_OUTPUT_SIZE || target.getHeight() > BSplineModel.MAX_OUTPUT_SIZE || source.getWidth() > BSplineModel.MAX_OUTPUT_SIZE || source.getHeight() > BSplineModel.MAX_OUTPUT_SIZE)   IJ.log("String_Node_Str");
  source.startPyramids();
  target.startPyramids();
  dialog.joinThreads();
  final ImagePlus[] output_ip=initializeOutputIPs();
  if (this.accurate_mode == MainDialog.MONO_MODE)   this.consistencyWeight=0.0;
  final Transformation warp=new Transformation(sourceImp,targetImp,source,target,sourcePh,targetPh,sourceMsk,targetMsk,sourceAffineMatrix,targetAffineMatrix,min_scale_deformation,max_scale_deformation,min_scale_image,divWeight,curlWeight,landmarkWeight,imageWeight,consistencyWeight,stopThreshold,outputLevel,showMarquardtOptim,accurate_mode,"String_Node_Str","String_Node_Str",output_ip[0],output_ip[1],dialog);
  IJ.showStatus("String_Node_Str");
  long start=System.currentTimeMillis();
  if (this.accurate_mode == MainDialog.MONO_MODE) {
    warp.doUnidirectionalRegistration();
    if (this.dialog.isSaveTransformationSet())     warp.saveDirectTransformation();
    if (source.isSubOutput()) {
      IJ.log("String_Node_Str");
    }
    warp.showDirectResults();
  }
 else {
    warp.doRegistration();
    if (this.dialog.isSaveTransformationSet()) {
      warp.saveDirectTransformation();
      warp.saveInverseTransformation();
    }
    if (source.isSubOutput()) {
      IJ.log("String_Node_Str");
    }
    warp.showDirectResults();
    if (target.isSubOutput()) {
      IJ.log("String_Node_Str");
    }
    warp.showInverseResults();
  }
  long stop=System.currentTimeMillis();
  if (outputLevel == 2)   IJ.write("String_Node_Str" + (stop - start) + "String_Node_Str");
  dialog.restoreAll();
  dialog.freeMemory();
}