
void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] last_time = 0
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  [2] phi()
  [3] call main
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [4] return 
  to:@return

int main()
main: scope:[main]  from __start::@1
  [5] phi()
  [6] call start
  to:main::@1
main::@1: scope:[main]  from main
  [7] phi()
  [8] call round
  to:main::@2
main::@2: scope:[main]  from main::@1
  [9] phi()
  [10] call round
  to:main::@3
main::@3: scope:[main]  from main::@2
  [11] phi()
  [12] call round
  to:main::@4
main::@4: scope:[main]  from main::@3
  [13] phi()
  [14] call round
  to:main::@5
main::@5: scope:[main]  from main::@4
  [15] phi()
  [16] call round
  to:main::@6
main::@6: scope:[main]  from main::@5
  [17] phi()
  [18] call round
  to:main::@7
main::@7: scope:[main]  from main::@6
  [19] phi()
  [20] call round
  to:main::@8
main::@8: scope:[main]  from main::@7
  [21] phi()
  [22] call round
  to:main::@9
main::@9: scope:[main]  from main::@8
  [23] phi()
  [24] call round
  to:main::@10
main::@10: scope:[main]  from main::@9
  [25] phi()
  [26] call round
  to:main::@11
main::@11: scope:[main]  from main::@10
  [27] phi()
  [28] call end
  to:main::@return
main::@return: scope:[main]  from main::@11
  [29] return 
  to:@return

void start()
start: scope:[start]  from end main
  asm { jsr$FFDE staLAST_TIME stxLAST_TIME+1  }
  to:start::@return
start::@return: scope:[start]  from start
  [31] return 
  to:@return

void round()
round: scope:[round]  from main::@1 main::@10 main::@2 main::@3 main::@4 main::@5 main::@6 main::@7 main::@8 main::@9
  [32] phi()
  to:round::@1
round::@1: scope:[round]  from round round::@2
  [33] round::p#2 = phi( round/Sieve, round::@2/round::p#1 )
  [34] if(round::p#2<Sieve+COUNT) goto round::@2
  to:round::@3
round::@3: scope:[round]  from round::@1 round::@5
  [35] round::I#3 = phi( round::@1/2, round::@5/round::I#2 )
  [36] if(round::I#3<SQRT_COUNT) goto round::@4
  to:round::@return
round::@return: scope:[round]  from round::@3
  [37] return 
  to:@return
round::@4: scope:[round]  from round::@3
  [38] if(Sieve[round::I#3]!=0) goto round::@5
  to:round::@8
round::@8: scope:[round]  from round::@4
  [39] round::$4 = round::I#3 << 1
  [40] round::S#1 = Sieve + round::$4
  to:round::@6
round::@6: scope:[round]  from round::@7 round::@8
  [41] round::S#3 = phi( round::@7/round::S#2, round::@8/round::S#1 )
  [42] if(round::S#3<Sieve+COUNT) goto round::@7
  to:round::@5
round::@5: scope:[round]  from round::@4 round::@6
  [43] round::I#2 = ++ round::I#3
  to:round::@3
round::@7: scope:[round]  from round::@6
  [44] *round::S#3 = 1
  [45] round::S#2 = round::S#3 + round::I#3
  to:round::@6
round::@2: scope:[round]  from round::@1
  [46] *round::p#2 = 0
  [47] round::p#1 = ++ round::p#2
  to:round::@1

void end()
end: scope:[end]  from main::@11
  [48] Ticks#0 = last_time
  [49] call start
  to:end::@1
end::@1: scope:[end]  from end
  [50] last_time = last_time - Ticks#0
  [51] Ticks#1 = last_time
  [52] print_uint::w#0 = Ticks#1
  [53] call print_uint
  to:end::@2
end::@2: scope:[end]  from end::@1
  [54] phi()
  [55] call print_ln
  to:end::@return
end::@return: scope:[end]  from end::@2
  [56] return 
  to:@return

void print_uint(unsigned int w)
print_uint: scope:[print_uint]  from end::@1
  [57] print_uchar::b#0 = byte1  print_uint::w#0
  [58] call print_uchar
  to:print_uint::@1
print_uint::@1: scope:[print_uint]  from print_uint
  [59] print_uchar::b#1 = byte0  print_uint::w#0
  [60] call print_uchar
  to:print_uint::@return
print_uint::@return: scope:[print_uint]  from print_uint::@1
  [61] return 
  to:@return

void print_ln()
print_ln: scope:[print_ln]  from end::@2
  [62] phi()
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [63] print_line_cursor#9 = phi( print_ln/print_screen#0, print_ln::@1/print_line_cursor#0 )
  [64] print_line_cursor#0 = print_line_cursor#9 + $28
  [65] if(print_line_cursor#0<print_char_cursor#27) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [66] return 
  to:@return

void print_uchar(char b)
print_uchar: scope:[print_uchar]  from print_uint print_uint::@1
  [67] print_char_cursor#37 = phi( print_uint/print_screen#0, print_uint::@1/print_char_cursor#27 )
  [67] print_uchar::b#2 = phi( print_uint/print_uchar::b#0, print_uint::@1/print_uchar::b#1 )
  [68] print_uchar::$0 = print_uchar::b#2 >> 4
  [69] print_char::ch#0 = print_hextab[print_uchar::$0]
  [70] call print_char
  to:print_uchar::@1
print_uchar::@1: scope:[print_uchar]  from print_uchar
  [71] print_uchar::$2 = print_uchar::b#2 & $f
  [72] print_char::ch#1 = print_hextab[print_uchar::$2]
  [73] call print_char
  to:print_uchar::@return
print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
  [74] return 
  to:@return

void print_char(char ch)
print_char: scope:[print_char]  from print_uchar print_uchar::@1
  [75] print_char_cursor#26 = phi( print_uchar/print_char_cursor#37, print_uchar::@1/print_char_cursor#27 )
  [75] print_char::ch#2 = phi( print_uchar/print_char::ch#0, print_uchar::@1/print_char::ch#1 )
  [76] *print_char_cursor#26 = print_char::ch#2
  [77] print_char_cursor#27 = ++ print_char_cursor#26
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [78] return 
  to:@return
