This is quick and dirty but it give an idea to start with.
Uses macro B not simple loops.
Code:
#100=.5(RADIUS)
#101=0.01(START DEPTH)
#102=-1.5(END DEPTH)
#103=-0.05(STEP SIZE)
(----------)
#104=#101(SET CURRENT DEPTH)
(DO A G52 LOCAL WORK OFFSET HERE)
(IF YOU WANT TO MAKE A HOLE SOMEPLACE)
(OTHER THEN THE CURRENT WORK OFFSET)
(ZERO POSITION)
G0X#100Y0.0
G0Z[#104+0.1]
G1Z#104F200.0
#104=[#104+#103]
WHILE [#104 GT #102] DO1
G3I[-#100]Z#104F100.0
#104=[#104+#103]
END1
G3I[-#100]Z#102F100.0(LAST STEP)
G3I[-#100]F100.0(CLEANUP)
G1X0Y0Z[#102+0.01]
G0Z[#104+0.1]
G52X0Y0