Program: 81886
Project: 81886
Buggy source:
@Override public void doRender(Entity entity,double x,double y,double z,float entityYaw,float partialTicks){
  GL11.glPushMatrix();
  int age=entity.ticksExisted * 5;
  float size=0.3F;
  if (size < 0)   size=0;
  if (entity instanceof EntityMovingBlock) {
    size=1;
  }
  GL11.glTranslatef((float)x,(float)y,(float)z);
  this.bindEntityTexture(entity);
  World var11=entity.worldObj;
  GL11.glScalef(size,size,size);
  IBlockState state=null;
  if (entity instanceof EntityMovingBlock) {
    state=((EntityMovingBlock)entity).tile.getDefaultState();
  }
 else {
    if (renderBlock != null) {
      state=renderBlock.getDefaultState();
    }
  }
  if (state != null) {
    this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
    IBlockState iblockstate=state;
    Block block=iblockstate.getBlock();
    BlockPos blockpos=new BlockPos(entity);
    World world=var11;
    if (iblockstate != world.getBlockState(blockpos)) {
      if (block.getRenderType(iblockstate) == EnumBlockRenderType.MODEL) {
        if (entity instanceof EntityMovingBlock) {
          try {
            GlStateManager.pushMatrix();
            GlStateManager.translate((float)x,(float)y,(float)z);
            GlStateManager.disableLighting();
            Tessellator tessellator=Tessellator.getInstance();
            VertexBuffer worldrenderer=tessellator.getBuffer();
            worldrenderer.begin(7,DefaultVertexFormats.BLOCK);
            int i=blockpos.getX();
            int j=blockpos.getY();
            int k=blockpos.getZ();
            worldrenderer.setTranslation((double)((float)(-i) - 0.5F),(double)(-j),(double)((float)(-k) - 0.5F));
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / 12.566370964050293D - 0.0D),1.0F,0.0F,0.0F);
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / (Math.PI * 2D) - 0.0D),0.0F,1.0F,0.0F);
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / (Math.PI * 2D) - 0.0D),0.0F,0.0F,1.0F);
            BlockRendererDispatcher blockrendererdispatcher=Minecraft.getMinecraft().getBlockRendererDispatcher();
            IBakedModel ibakedmodel=blockrendererdispatcher.getModelForState(iblockstate);
            blockrendererdispatcher.getBlockModelRenderer().renderModel(world,ibakedmodel,iblockstate,blockpos,worldrenderer,false);
            worldrenderer.setTranslation(0.0D,0.0D,0.0D);
            tessellator.draw();
            GlStateManager.enableLighting();
            GlStateManager.popMatrix();
          }
 catch (          Exception e) {
          }
        }
 else         if (entity instanceof EntityIceBall) {
          for (int ii=0; ii < Math.min(4,CoroUtilParticle.maxRainDrops); ii++) {
            GlStateManager.pushMatrix();
            GlStateManager.translate((float)CoroUtilParticle.rainPositions[ii].xCoord * 3F,(float)CoroUtilParticle.rainPositions[ii].yCoord * 3F,(float)CoroUtilParticle.rainPositions[ii].zCoord * 3F);
            GlStateManager.disableLighting();
            Tessellator tessellator=Tessellator.getInstance();
            VertexBuffer worldrenderer=tessellator.getBuffer();
            worldrenderer.begin(7,DefaultVertexFormats.BLOCK);
            int i=blockpos.getX();
            int j=blockpos.getY();
            int k=blockpos.getZ();
            worldrenderer.setTranslation((double)((float)(-i) - 0.5F),(double)(-j),(double)((float)(-k) - 0.5F));
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / 12.566370964050293D - 0.0D),1.0F,0.0F,0.0F);
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / (Math.PI * 2D) - 0.0D),0.0F,1.0F,0.0F);
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / (Math.PI * 2D) - 0.0D),0.0F,0.0F,1.0F);
            BlockRendererDispatcher blockrendererdispatcher=Minecraft.getMinecraft().getBlockRendererDispatcher();
            IBakedModel ibakedmodel=blockrendererdispatcher.getModelForState(iblockstate);
            blockrendererdispatcher.getBlockModelRenderer().renderModel(world,ibakedmodel,iblockstate,blockpos,worldrenderer,false);
            worldrenderer.setTranslation(0.0D,0.0D,0.0D);
            tessellator.draw();
            GlStateManager.enableLighting();
            GlStateManager.popMatrix();
          }
        }
      }
    }
  }
  GL11.glPopMatrix();
  super.doRender(entity,x,y,z,entityYaw,partialTicks);
}

Fixed version (ground truth):
@Override public void doRender(Entity entity,double x,double y,double z,float entityYaw,float partialTicks){
  GL11.glPushMatrix();
  int age=entity.ticksExisted * 5;
  float size=0.3F;
  if (size < 0)   size=0;
  if (entity instanceof EntityMovingBlock) {
    size=1;
  }
  GL11.glTranslatef((float)x,(float)y,(float)z);
  this.bindEntityTexture(entity);
  World var11=entity.worldObj;
  GL11.glScalef(size,size,size);
  IBlockState state=null;
  if (entity instanceof EntityMovingBlock) {
    state=((EntityMovingBlock)entity).tile.getDefaultState();
  }
 else {
    if (renderBlock != null) {
      state=renderBlock.getDefaultState();
    }
  }
  if (state != null) {
    this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
    IBlockState iblockstate=state;
    Block block=iblockstate.getBlock();
    BlockPos blockpos=new BlockPos(entity);
    World world=var11;
    if (iblockstate != world.getBlockState(blockpos)) {
      if (block.getRenderType(iblockstate) == EnumBlockRenderType.MODEL) {
        if (entity instanceof EntityMovingBlock) {
          try {
            GlStateManager.pushMatrix();
            GlStateManager.translate((float)x,(float)y,(float)z);
            GlStateManager.disableLighting();
            Tessellator tessellator=Tessellator.getInstance();
            BufferBuilder worldrenderer=tessellator.getBuffer();
            worldrenderer.begin(7,DefaultVertexFormats.BLOCK);
            int i=blockpos.getX();
            int j=blockpos.getY();
            int k=blockpos.getZ();
            worldrenderer.setTranslation((double)((float)(-i) - 0.5F),(double)(-j),(double)((float)(-k) - 0.5F));
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / 12.566370964050293D - 0.0D),1.0F,0.0F,0.0F);
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / (Math.PI * 2D) - 0.0D),0.0F,1.0F,0.0F);
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / (Math.PI * 2D) - 0.0D),0.0F,0.0F,1.0F);
            BlockRendererDispatcher blockrendererdispatcher=Minecraft.getMinecraft().getBlockRendererDispatcher();
            IBakedModel ibakedmodel=blockrendererdispatcher.getModelForState(iblockstate);
            blockrendererdispatcher.getBlockModelRenderer().renderModel(world,ibakedmodel,iblockstate,blockpos,worldrenderer,false);
            worldrenderer.setTranslation(0.0D,0.0D,0.0D);
            tessellator.draw();
            GlStateManager.enableLighting();
            GlStateManager.popMatrix();
          }
 catch (          Exception e) {
          }
        }
 else         if (entity instanceof EntityIceBall) {
          for (int ii=0; ii < Math.min(4,CoroUtilParticle.maxRainDrops); ii++) {
            GlStateManager.pushMatrix();
            GlStateManager.translate((float)CoroUtilParticle.rainPositions[ii].xCoord * 3F,(float)CoroUtilParticle.rainPositions[ii].yCoord * 3F,(float)CoroUtilParticle.rainPositions[ii].zCoord * 3F);
            GlStateManager.disableLighting();
            Tessellator tessellator=Tessellator.getInstance();
            BufferBuilder worldrenderer=tessellator.getBuffer();
            worldrenderer.begin(7,DefaultVertexFormats.BLOCK);
            int i=blockpos.getX();
            int j=blockpos.getY();
            int k=blockpos.getZ();
            worldrenderer.setTranslation((double)((float)(-i) - 0.5F),(double)(-j),(double)((float)(-k) - 0.5F));
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / 12.566370964050293D - 0.0D),1.0F,0.0F,0.0F);
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / (Math.PI * 2D) - 0.0D),0.0F,1.0F,0.0F);
            GlStateManager.rotate((float)(age * 0.1F * 180.0D / (Math.PI * 2D) - 0.0D),0.0F,0.0F,1.0F);
            BlockRendererDispatcher blockrendererdispatcher=Minecraft.getMinecraft().getBlockRendererDispatcher();
            IBakedModel ibakedmodel=blockrendererdispatcher.getModelForState(iblockstate);
            blockrendererdispatcher.getBlockModelRenderer().renderModel(world,ibakedmodel,iblockstate,blockpos,worldrenderer,false);
            worldrenderer.setTranslation(0.0D,0.0D,0.0D);
            tessellator.draw();
            GlStateManager.enableLighting();
            GlStateManager.popMatrix();
          }
        }
      }
    }
  }
  GL11.glPopMatrix();
  super.doRender(entity,x,y,z,entityYaw,partialTicks);
}