OK here it is and I cannot say it is perfect as I have nothing here to actually cut with. BUT it simulates so give it a whirl.
As always dry run test before you cut.
( Cut Concave Sphere)
(Setup the next 4 variables)
#1030 = .250 (Cutter Diameter)
#1040 = 5 (Sphere Diameter)
#1020 = .005 (Finish Allowance)
#1070 = 200 (Feedrate)
#1080 = [#1030/2] (Tool Radius)
#1000 = [[#1040 - #1030] - #1020] (Sphere Diameter - Finish allowance )
#1001 = 90
#1010 = #1001
G17 G40 G80
F1
G0 Z.5
M98 P1 L#1001 (Roughing Routine)
#1000 = [#1040 - #1030 ]
M98 P3 L#1001
M30
o001
(Roughing Routine)
#1002 = [0-90-#1010]
#1003 = [COS[#1002] * #1000 / 2]
#1004 = [SIN[#1002] * #1000 / 2]
G1 X[0-#1003] Y0 Z[#1004] F#1070
#2000 =#1003
#2001 = #1004
G2 X[0-#1003] Y0 I#1003 F#1070
#1010 = [#1010 - 1]
#1050 = [Fix [ -1*[#1003 / #1030]] *2]
M98 P2 L#1050
#1003 = #2000
#1004 = #2001
G1 X[0-#1003] Z#1004
M99
o002
(Do Pocketing of each slice)
#1003 = [#1003 +#1080]
G1 X[0-#1003 ]
G2 X[0-#1003 ] Y0 I[#1003 ] F#1070
M99
o003
(Do Finish Profile )
#1002 = [0-90-#1010]
#1003 = [COS[#1002] * #1000 / 2]
#1004 = [SIN[#1002] * #1000 / 2]
G1 X[0-#1003] Y0 Z[#1004] F#1070
G2 X[0-#1003] Y0 I#1003 F#1070
#1010 = [#1010 - 1]
M99
%
HAVE FUN, (;-) TP