Bizzare Trig Issue

WHY???

When I am running this:


var dist:int=50;
var speed:Number=3;
var degrees:Number=0;
var rt:MovieClip=MovieClip(root);
var shp:MovieClip=new MovieClip();
shp.graphics.beginFill(0xE21414);
shp.graphics.drawCircle(0,0,10);
this.addChild(shp);

var rad2:Number=180/Math.PI;
var rad:Number=Math.PI/180;

this.addEventListener(Event.ENTER_FRAME,update);

function update(e:Event):void {
	rotObjAroundPnt(new Point(50,50),shp);
}


function findDegreesTo(pnt1:Point,pnt2:Point):Number {//Returns from point1 to point2
	var xDist:Number=pnt1.x-pnt2.x;
	var yDist:Number=pnt1.y-pnt2.y;
	var atan2:Number=Math.atan2(xDist,yDist);
	return atan2*rt.rad2;
}

function rotObjAroundPnt(pnt:Point,obj:Object):void {
	var degTo:Number=findDegreesTo(new Point(50,50),new Point(shp.x,shp.y));
	degrees=degTo+speed;
	
	var angle=degrees*rad;
	var ypos=dist*Math.cos(angle);
	var xpos=dist*Math.sin(angle);

	obj.x=xpos+pnt.x;
	obj.y=ypos+pnt.y;
}


My object seems to “Bounce” back and forth from where it is.

(this is all the code in my application, just copy paste it into a blank file and it will work).

Please help.