$r = 0.2in
linerad = 0.75*$r
linewid = 0.25

# Start and end blocks
#
box "statement-list" bold fit
line down 75% from last box.sw
dot rad 250% color black
X0: last.e + (0.3,0)
arrow from last dot to X0
move right 2in
box wid 5% ht 25% fill black
X9: last.w - (0.3,0)
arrow from X9 to last box.w


# The main rule that goes straight through from start to finish
#
box "statement" italic fit at 0.5<X0,X9>
arrow to X9
arrow from X0 to last box.w

# The by-pass line
#
arrow right $r from X0 then up $r \
  then right until even with 1/2 way between X0 and X9
line right until even with X9 - ($r,0) \
  then down until even with X9 then right $r

# The Loop-back rule
#
oval "\"&#92;n\"" fit at $r*1.2 below 1/2 way between X0 and X9
line right $r from X9-($r/2,0) then down until even with last oval \
   then to last oval.e ->
line from last oval.w left until even with X0-($r,0) \
   then up until even with X0 then right $r
oval "\";\"" fit at $r*1.2 below last oval
line from 2*$r right of 2nd last oval.e left $r \
   then down until even with last oval \
   then to last oval.e ->
line from last oval.w left $r then up until even with 2nd last oval \
   then left 2*$r ->
