%
O6057(DGG CROWNING LH)
IF[#576EQ0]GOTO7
IF[#577GT#576]GOTO8

(BIAS ADJUST)
#7=[#574-#573]/[#576-1]
#12=#573+#7*#577(LEAD)
IF[#12EQ0]GOTO1
#13=360.*[#503-#504]/#12(TO #531)
GOTO2
N1
#13=0
N2
#14=#13(TO #532)

IF[#502EQ0]GOTO3
#4=360*[#503-#575]/#502(To #15 #16)
GOTO4
N3
#4=0
N4
IF[#12EQ0]GOTO5
#5=360*[#503-#575]/#12(To #526)
GOTO6
N5
#5=0
N6
#15=#4-#5(To #526)
#16=#15(To #528)
GOTO8

N7
(NO BIAS ADJUST)
#13=#531
#14=#532
#15=#526
#16=#528

N8
IF[#571EQ0]GOTO11
#572=0
N11
IF[#570NE1]GOTO12

(L)
#3=#513-#514+#508+#15(C-COORDINATE)
#24=#516+#505*#507*2(X-COORDINATE)
#25=#515-#505*#506/2.0-#551/2+#522(Y-COORDINATE)
#18=#521(CROWNING RADIUS L)
#23=#13(C ANGLE Z+ TO Z-)

N12
IF[#570NE2]GOTO13

(R)
#3=#513+180+#514-#508+#16(C-COORDINATE)
#24=-#516-#505*#507*2(X-COORDINATE)
#25=#515-#505*#506/2.0-#551/2+#524(Y-COORDINATE)
#18=#523(CROWNING RADIUS R)
#23=#14(C ANGLE Z+ TO Z-)

N13
IF[#572NE0]GOTO16

(APPROACH)
G00Y[-#501/2.0-5.0-#551/2] 
IF[#571EQ1]GOTO14
Z[#503]
C[#3]X[#24]
GOTO15
N14
Z[#504]
C[#3+#23]X[#24]
N15
G01Y[-#501/2.0-#551/2]F1000 
G01Y[#25]F#517 

N16
IF[#572EQ2]GOTO17
IF[#572EQ3]GOTO17
IF[#571EQ1]GOTO17

(GO)
G01C[#3]X[#24]Y[#25]F#517 
G19V0W0
G03Z[#504]R#18C[#3+#23]
GOTO18

N17
(BACK)
G01C[#3+#23]X[#24]Y[#25]F#517 
G19V0W0
G02Z[#503]R#18C[#3]

N18
IF[#572EQ3]GOTO19
IF[#571NE0]GOTO19
GOTO20

N19
(ESCAPE)
G00Y[-#501/2.0-5.0-#551/2] 

N20
#577=#577+1(PROFILE PASS COUNTER)
M99
%