The code looks fine. When you zoom in on the cricle you will see it segmented and doesn't affect the actual cutting.
Like Tweakie said the X and Y are moving in small straight lines, but......
How close to a perfect circle you can cut is dependant on your machines systems components. The better the resolution,
lead screw quality, micro stepping all come into play.
RICH