Problem at removeChild

First frame code:

var bos_mc:MovieClip = new MovieClip();
bos_mc.x=300;
bos_mc.y=300;

function sil(event:MouseEvent) {
    for (var i:int=0; i<5; i++) {
        
        trace(DisplayObject(bos_mc.getChildAt(i)).name+"  "+i);
        bos_mc.removeChild(DisplayObject(bos_mc.getChildAt(i)));
    }
}

for (var i:int=0; i<5; i++) {
    var daire:MovieClip = new MovieClip();
    daire.graphics.beginFill(0xff0000);
    daire.graphics.drawCircle(i*45,0,20);
    daire.name = "daire_"+i;
    daire.id=i;
    bos_mc.addChildAt(daire, i);
    daire.addEventListener(MouseEvent.CLICK,sil);
}

addChild(bos_mc);

When you click the buttons some of them make errors :puzzle: Like this:

RangeError: Error #2006: The supplied index is out of bounds.
    at flash.display::DisplayObjectContainer/getChildAt()
    at Untitled_fla::MainTimeline/sil()

What is the problem and how can I solve it?

Thanks