Program: 39773
Project: 39773
Buggy source:
public int multiplyExperience(int originalExperience,int entityAmount){
  int newExperience;
  if (sm.config.getCustomConfig().isDouble("String_Node_Str")) {
    Algorithm algorithm=Algorithm.valueOf(sm.config.getCustomConfig().getString("String_Node_Str"));
    if (algorithm == LEGACY) {
      newExperience=(int)Math.round((1.45 + ThreadLocalRandom.current().nextDouble(0.75)) * (entityAmount - 1) * originalExperience);
    }
 else     if (algorithm == MINIMAL) {
      newExperience=(int)Math.round(originalExperience * ((0.25 + ThreadLocalRandom.current().nextDouble(0.5)) * entityAmount));
    }
 else     if (algorithm == NORMAL) {
      newExperience=(int)Math.round(originalExperience * ((0.75 + ThreadLocalRandom.current().nextDouble(0.5)) * entityAmount));
    }
 else     if (algorithm == GENEROUS) {
      newExperience=(int)Math.round(originalExperience * ((1.25 + ThreadLocalRandom.current().nextDouble(0.5)) * entityAmount));
    }
 else     if (algorithm == CUSTOM) {
      double customMultiplier=sm.config.getCustomConfig().getDouble("String_Node_Str");
      newExperience=(int)Math.round(originalExperience * (customMultiplier * entityAmount));
    }
 else {
      double customMultiplier=sm.config.getCustomConfig().getDouble("String_Node_Str");
      newExperience=(int)Math.round(originalExperience * (customMultiplier + ThreadLocalRandom.current().nextDouble(0.5) * entityAmount));
    }
  }
 else {
    newExperience=(int)Math.round(originalExperience * ((0.75 + ThreadLocalRandom.current().nextDouble(0.5)) * entityAmount));
  }
  return newExperience;
}

Fixed version (ground truth):
public int multiplyExperience(int originalExperience,int entityAmount){
  int newExperience;
  if (sm.config.getCustomConfig().isDouble("String_Node_Str")) {
    Algorithm algorithm=Algorithm.valueOf(sm.config.getCustomConfig().getString("String_Node_Str"));
    if (algorithm == LEGACY) {
      newExperience=(int)Math.round((1.45 + ThreadLocalRandom.current().nextDouble(0.75)) * (entityAmount - 1) * originalExperience);
    }
 else     if (algorithm == MINIMAL) {
      newExperience=(int)Math.round(originalExperience * (0.25 + ThreadLocalRandom.current().nextDouble(0.5)) * entityAmount);
    }
 else     if (algorithm == NORMAL) {
      newExperience=(int)Math.round(originalExperience * (0.75 + ThreadLocalRandom.current().nextDouble(0.5)) * entityAmount);
    }
 else     if (algorithm == GENEROUS) {
      newExperience=(int)Math.round(originalExperience * (1.25 + ThreadLocalRandom.current().nextDouble(0.5)) * entityAmount);
    }
 else     if (algorithm == CUSTOM) {
      double customMultiplier=sm.config.getCustomConfig().getDouble("String_Node_Str");
      newExperience=(int)Math.round(originalExperience * (customMultiplier * entityAmount));
    }
 else {
      double customMultiplier=sm.config.getCustomConfig().getDouble("String_Node_Str");
      newExperience=(int)Math.round(originalExperience * (customMultiplier + ThreadLocalRandom.current().nextDouble(0.5)) * entityAmount);
    }
  }
 else {
    newExperience=(int)Math.round(originalExperience * ((0.75 + ThreadLocalRandom.current().nextDouble(0.5)) * entityAmount));
  }
  return newExperience;
}