@begin: scope:[]  from
  [0] phi()
  to:@1
@1: scope:[]  from @begin
  [1] phi()
  [2] call main 
  to:@end
@end: scope:[]  from @1
  [3] phi()

(void()) main()
main: scope:[main]  from @1
  [4] phi()
  [5] call cls 
  to:main::@1
main::@1: scope:[main]  from main
  [6] (byte*) utoa16w::dst ← (byte*) 1024
  [7] call utoa16w 
  to:main::@2
main::@2: scope:[main]  from main::@1
  [8] (byte*) utoa16w::dst ← (byte*) 1024+(byte) $28
  [9] call utoa16w 
  to:main::@3
main::@3: scope:[main]  from main::@2
  [10] (byte*) utoa16w::dst ← (byte*) 1024+(byte) $28+(byte) $28
  [11] call utoa16w 
  to:main::@4
main::@4: scope:[main]  from main::@3
  [12] (byte*) utoa16w::dst ← (byte*) 1024+(byte) $28+(byte) $28+(byte) $28
  [13] call utoa16w 
  to:main::@5
main::@5: scope:[main]  from main::@4
  [14] (byte*) utoa16w::dst ← (byte*) 1024+(byte) $28+(byte) $28+(byte) $28+(byte) $28
  [15] call utoa16w 
  to:main::@return
main::@return: scope:[main]  from main::@5
  [16] return 
  to:@return

(void()) utoa16w((word) utoa16w::value , (byte*) utoa16w::dst)
utoa16w: scope:[utoa16w]  from main::@1 main::@2 main::@3 main::@4 main::@5
  [17] (word) utoa16w::value#5 ← phi( main::@1/(byte) 0 main::@2/(word) $4d2 main::@3/(word) $162e main::@4/(word) $270f main::@5/(word) $e608 )
  [18] (byte~) utoa16w::$0 ← > (word) utoa16w::value#5
  [19] (byte) utoa16n::nybble#0 ← (byte~) utoa16w::$0 >> (byte) 4
  [20] call utoa16n 
  [21] (byte) utoa16n::return#0 ← (byte) utoa16n::return#4
  to:utoa16w::@1
utoa16w::@1: scope:[utoa16w]  from utoa16w
  [22] (byte) utoa16w::started#1 ← (byte) utoa16n::return#0
  [23] (byte~) utoa16w::$3 ← > (word) utoa16w::value#5
  [24] (byte) utoa16n::nybble#1 ← (byte~) utoa16w::$3 & (byte) $f
  [25] (byte) utoa16n::started#1 ← (byte) utoa16w::started#1
  [26] call utoa16n 
  [27] (byte) utoa16n::return#1 ← (byte) utoa16n::return#4
  to:utoa16w::@2
utoa16w::@2: scope:[utoa16w]  from utoa16w::@1
  [28] (byte) utoa16w::started#2 ← (byte) utoa16n::return#1
  [29] (byte~) utoa16w::$6 ← < (word) utoa16w::value#5
  [30] (byte) utoa16n::nybble#2 ← (byte~) utoa16w::$6 >> (byte) 4
  [31] (byte) utoa16n::started#2 ← (byte) utoa16w::started#2
  [32] call utoa16n 
  to:utoa16w::@3
utoa16w::@3: scope:[utoa16w]  from utoa16w::@2
  [33] (byte~) utoa16w::$9 ← < (word) utoa16w::value#5
  [34] (byte) utoa16n::nybble#3 ← (byte~) utoa16w::$9 & (byte) $f
  [35] call utoa16n 
  to:utoa16w::@4
utoa16w::@4: scope:[utoa16w]  from utoa16w::@3
  [36] *((byte*) utoa16w::dst) ← (byte) 0
  to:utoa16w::@return
utoa16w::@return: scope:[utoa16w]  from utoa16w::@4
  [37] return 
  to:@return

(byte()) utoa16n((byte) utoa16n::nybble , (word**) utoa16n::dst , (byte) utoa16n::started)
utoa16n: scope:[utoa16n]  from utoa16w utoa16w::@1 utoa16w::@2 utoa16w::@3
  [38] (byte) utoa16n::started#7 ← phi( utoa16w/(byte) 0 utoa16w::@1/(byte) utoa16n::started#1 utoa16w::@2/(byte) utoa16n::started#2 utoa16w::@3/(byte) 1 )
  [38] (byte) utoa16n::nybble#4 ← phi( utoa16w/(byte) utoa16n::nybble#0 utoa16w::@1/(byte) utoa16n::nybble#1 utoa16w::@2/(byte) utoa16n::nybble#2 utoa16w::@3/(byte) utoa16n::nybble#3 )
  [39] if((byte) utoa16n::nybble#4==(byte) 0) goto utoa16n::@3
  to:utoa16n::@1
utoa16n::@3: scope:[utoa16n]  from utoa16n
  [40] phi()
  to:utoa16n::@1
utoa16n::@1: scope:[utoa16n]  from utoa16n utoa16n::@3
  [41] (byte) utoa16n::return#4 ← phi( utoa16n::@3/(byte) utoa16n::started#7 utoa16n/(byte) 1 )
  [42] if((byte) utoa16n::return#4==(byte) 0) goto utoa16n::@return
  to:utoa16n::@2
utoa16n::@2: scope:[utoa16n]  from utoa16n::@1
  [43] *(*(&(byte*) utoa16w::dst)) ← *((const byte*) DIGITS + (byte) utoa16n::nybble#4)
  [44] *(&(byte*) utoa16w::dst) ← ++ *(&(byte*) utoa16w::dst)
  to:utoa16n::@return
utoa16n::@return: scope:[utoa16n]  from utoa16n::@1 utoa16n::@2
  [45] return 
  to:@return

(void()) cls()
cls: scope:[cls]  from main
  [46] phi()
  to:cls::@1
cls::@1: scope:[cls]  from cls cls::@1
  [47] (byte*) cls::sc#2 ← phi( cls/(const byte*) cls::screen cls::@1/(byte*) cls::sc#1 )
  [48] *((byte*) cls::sc#2) ← (byte) ' '
  [49] (byte*) cls::sc#1 ← ++ (byte*) cls::sc#2
  [50] if((byte*) cls::sc#1!=(const byte*) cls::screen+(word) $3e7+(byte) 1) goto cls::@1
  to:cls::@return
cls::@return: scope:[cls]  from cls::@1
  [51] return 
  to:@return
