Program: 22442
Project: 22442
Buggy source:
@Override public void smeltItem(){
  if (this.canSmelt()) {
    ItemStack itemstack=FurnaceRecipes.smelting().getSmeltingResult(this.getStackInSlot(0));
    if (SteamcraftRegistry.steamedFoods.containsKey(MutablePair.of(itemstack.getItem(),-1))) {
      int meta=SteamcraftRegistry.steamedFoods.get(MutablePair.of(itemstack.getItem(),-1)).right;
      Item item=SteamcraftRegistry.steamedFoods.get(MutablePair.of(itemstack.getItem(),-1)).left;
      if (meta == -1) {
        itemstack=new ItemStack(item);
      }
 else {
        itemstack=new ItemStack(item,0,meta);
      }
    }
    if (SteamcraftRegistry.steamedFoods.containsKey(MutablePair.of(itemstack.getItem(),itemstack.getItemDamage()))) {
      int meta=SteamcraftRegistry.steamedFoods.get(MutablePair.of(itemstack.getItem(),itemstack.getItemDamage())).right;
      Item item=SteamcraftRegistry.steamedFoods.get(MutablePair.of(itemstack.getItem(),itemstack.getItemDamage())).left;
      if (meta == -1) {
        itemstack=new ItemStack(item);
      }
 else {
        itemstack=new ItemStack(item,0,meta);
      }
    }
    if (this.getStackInSlot(2) == null) {
      this.setInventorySlotContents(2,itemstack.copy());
    }
 else     if (this.getStackInSlot(2).getItem() == itemstack.getItem()) {
      ItemStack copy=this.getStackInSlot(2).copy();
      copy.stackSize+=itemstack.stackSize;
      this.setInventorySlotContents(2,copy);
    }
    ItemStack copy=this.getStackInSlot(0).copy();
    copy.stackSize--;
    this.setInventorySlotContents(0,copy);
    if (this.getStackInSlot(0).stackSize <= 0) {
      this.setInventorySlotContents(0,null);
    }
  }
}

Fixed version (ground truth):
@Override public void smeltItem(){
  if (this.canSmelt()) {
    ItemStack itemstack=FurnaceRecipes.smelting().getSmeltingResult(this.getStackInSlot(0));
    if (SteamcraftRegistry.steamedFoods.containsKey(MutablePair.of(itemstack.getItem(),itemstack.getItemDamage()))) {
      int meta=SteamcraftRegistry.steamedFoods.get(MutablePair.of(itemstack.getItem(),itemstack.getItemDamage())).right;
      Item item=SteamcraftRegistry.steamedFoods.get(MutablePair.of(itemstack.getItem(),itemstack.getItemDamage())).left;
      if (meta == -1) {
        itemstack=new ItemStack(item);
      }
 else {
        itemstack=new ItemStack(item,1,meta);
      }
    }
 else     if (SteamcraftRegistry.steamedFoods.containsKey(MutablePair.of(itemstack.getItem(),-1))) {
      int meta=SteamcraftRegistry.steamedFoods.get(MutablePair.of(itemstack.getItem(),-1)).right;
      Item item=SteamcraftRegistry.steamedFoods.get(MutablePair.of(itemstack.getItem(),-1)).left;
      if (meta == -1) {
        itemstack=new ItemStack(item);
      }
 else {
        itemstack=new ItemStack(item,1,meta);
      }
    }
    if (this.getStackInSlot(2) == null) {
      this.setInventorySlotContents(2,itemstack.copy());
    }
 else     if (this.getStackInSlot(2).getItem() == itemstack.getItem()) {
      ItemStack copy=this.getStackInSlot(2).copy();
      copy.stackSize+=itemstack.stackSize;
      this.setInventorySlotContents(2,copy);
    }
    ItemStack copy=this.getStackInSlot(0).copy();
    copy.stackSize--;
    this.setInventorySlotContents(0,copy);
    if (this.getStackInSlot(0).stackSize <= 0) {
      this.setInventorySlotContents(0,null);
    }
  }
}