@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 print_cls 
  to:main::@1
main::@1: scope:[main]  from main
  [6] phi()
  [7] call print_euclid 
  to:main::@2
main::@2: scope:[main]  from main::@1
  [8] (byte*) print_char_cursor#63 ← (byte*) print_line_cursor#1
  [9] call print_euclid 
  to:main::@3
main::@3: scope:[main]  from main::@2
  [10] (byte*) print_char_cursor#64 ← (byte*) print_line_cursor#1
  [11] call print_euclid 
  to:main::@4
main::@4: scope:[main]  from main::@3
  [12] (byte*) print_char_cursor#65 ← (byte*) print_line_cursor#1
  [13] call print_euclid 
  to:main::@5
main::@5: scope:[main]  from main::@4
  [14] (byte*) print_char_cursor#66 ← (byte*) print_line_cursor#1
  [15] call print_euclid 
  to:main::@6
main::@6: scope:[main]  from main::@5
  [16] (byte*) print_char_cursor#67 ← (byte*) print_line_cursor#1
  [17] call print_euclid 
  to:main::@return
main::@return: scope:[main]  from main::@6
  [18] return 
  to:@return

(void()) print_euclid((byte) print_euclid::a , (byte) print_euclid::b)
print_euclid: scope:[print_euclid]  from main::@1 main::@2 main::@3 main::@4 main::@5 main::@6
  [19] (byte*) print_line_cursor#33 ← phi( main::@1/(byte*) 1024 main::@2/(byte*) print_line_cursor#1 main::@3/(byte*) print_line_cursor#1 main::@4/(byte*) print_line_cursor#1 main::@5/(byte*) print_line_cursor#1 main::@6/(byte*) print_line_cursor#1 )
  [19] (byte) print_euclid::b#10 ← phi( main::@1/(byte) 2 main::@2/(byte) $45 main::@3/(byte) $37 main::@4/(byte) 3 main::@5/(byte) $1a main::@6/(byte) $bb )
  [19] (byte*) print_char_cursor#53 ← phi( main::@1/(byte*) 1024 main::@2/(byte*) print_char_cursor#63 main::@3/(byte*) print_char_cursor#64 main::@4/(byte*) print_char_cursor#65 main::@5/(byte*) print_char_cursor#66 main::@6/(byte*) print_char_cursor#67 )
  [19] (byte) print_euclid::a#10 ← phi( main::@1/(byte) $80 main::@2/(byte) $a9 main::@3/(byte) $9b main::@4/(byte) $c7 main::@5/(byte) $5b main::@6/(byte) $77 )
  [20] (byte) print_byte::b#0 ← (byte) print_euclid::a#10
  [21] call print_byte 
  to:print_euclid::@1
print_euclid::@1: scope:[print_euclid]  from print_euclid
  [22] phi()
  [23] call print_char 
  to:print_euclid::@2
print_euclid::@2: scope:[print_euclid]  from print_euclid::@1
  [24] (byte) print_byte::b#1 ← (byte) print_euclid::b#10
  [25] call print_byte 
  to:print_euclid::@3
print_euclid::@3: scope:[print_euclid]  from print_euclid::@2
  [26] phi()
  [27] call print_char 
  to:print_euclid::@4
print_euclid::@4: scope:[print_euclid]  from print_euclid::@3
  [28] (byte) euclid::a#0 ← (byte) print_euclid::a#10
  [29] (byte) euclid::b#0 ← (byte) print_euclid::b#10
  [30] call euclid 
  [31] (byte) euclid::return#0 ← (byte) euclid::a#2
  to:print_euclid::@5
print_euclid::@5: scope:[print_euclid]  from print_euclid::@4
  [32] (byte) print_byte::b#2 ← (byte) euclid::return#0
  [33] call print_byte 
  to:print_euclid::@6
print_euclid::@6: scope:[print_euclid]  from print_euclid::@5
  [34] phi()
  [35] call print_ln 
  to:print_euclid::@return
print_euclid::@return: scope:[print_euclid]  from print_euclid::@6
  [36] return 
  to:@return

(void()) print_ln()
print_ln: scope:[print_ln]  from print_euclid::@6
  [37] phi()
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [38] (byte*) print_line_cursor#16 ← phi( print_ln/(byte*) print_line_cursor#33 print_ln::@1/(byte*) print_line_cursor#1 )
  [39] (byte*) print_line_cursor#1 ← (byte*) print_line_cursor#16 + (byte) $28
  [40] if((byte*) print_line_cursor#1<(byte*) print_char_cursor#32) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [41] return 
  to:@return

(void()) print_byte((byte) print_byte::b)
print_byte: scope:[print_byte]  from print_euclid print_euclid::@2 print_euclid::@5
  [42] (byte*) print_char_cursor#51 ← phi( print_euclid/(byte*) print_char_cursor#53 print_euclid::@2/(byte*) print_char_cursor#32 print_euclid::@5/(byte*) print_char_cursor#32 )
  [42] (byte) print_byte::b#3 ← phi( print_euclid/(byte) print_byte::b#0 print_euclid::@2/(byte) print_byte::b#1 print_euclid::@5/(byte) print_byte::b#2 )
  [43] (byte~) print_byte::$0 ← (byte) print_byte::b#3 >> (byte) 4
  [44] (byte) print_char::ch#0 ← *((const byte*) print_hextab + (byte~) print_byte::$0)
  [45] call print_char 
  to:print_byte::@1
print_byte::@1: scope:[print_byte]  from print_byte
  [46] (byte~) print_byte::$2 ← (byte) print_byte::b#3 & (byte) $f
  [47] (byte) print_char::ch#1 ← *((const byte*) print_hextab + (byte~) print_byte::$2)
  [48] call print_char 
  to:print_byte::@return
print_byte::@return: scope:[print_byte]  from print_byte::@1
  [49] return 
  to:@return

(void()) print_char((byte) print_char::ch)
print_char: scope:[print_char]  from print_byte print_byte::@1 print_euclid::@1 print_euclid::@3
  [50] (byte*) print_char_cursor#31 ← phi( print_byte/(byte*) print_char_cursor#51 print_byte::@1/(byte*) print_char_cursor#32 print_euclid::@1/(byte*) print_char_cursor#32 print_euclid::@3/(byte*) print_char_cursor#32 )
  [50] (byte) print_char::ch#4 ← phi( print_byte/(byte) print_char::ch#0 print_byte::@1/(byte) print_char::ch#1 print_euclid::@1/(byte) ' ' print_euclid::@3/(byte) ' ' )
  [51] *((byte*) print_char_cursor#31) ← (byte) print_char::ch#4
  [52] (byte*) print_char_cursor#32 ← ++ (byte*) print_char_cursor#31
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [53] return 
  to:@return

(byte()) euclid((byte) euclid::a , (byte) euclid::b)
euclid: scope:[euclid]  from print_euclid::@4
  [54] phi()
  to:euclid::@1
euclid::@1: scope:[euclid]  from euclid euclid::@3 euclid::@4
  [55] (byte) euclid::b#2 ← phi( euclid/(byte) euclid::b#0 euclid::@3/(byte) euclid::b#2 euclid::@4/(byte) euclid::b#1 )
  [55] (byte) euclid::a#2 ← phi( euclid/(byte) euclid::a#0 euclid::@3/(byte) euclid::a#1 euclid::@4/(byte) euclid::a#2 )
  [56] if((byte) euclid::a#2!=(byte) euclid::b#2) goto euclid::@2
  to:euclid::@return
euclid::@return: scope:[euclid]  from euclid::@1
  [57] return 
  to:@return
euclid::@2: scope:[euclid]  from euclid::@1
  [58] if((byte) euclid::a#2>(byte) euclid::b#2) goto euclid::@3
  to:euclid::@4
euclid::@4: scope:[euclid]  from euclid::@2
  [59] (byte) euclid::b#1 ← (byte) euclid::b#2 - (byte) euclid::a#2
  to:euclid::@1
euclid::@3: scope:[euclid]  from euclid::@2
  [60] (byte) euclid::a#1 ← (byte) euclid::a#2 - (byte) euclid::b#2
  to:euclid::@1

(void()) print_cls()
print_cls: scope:[print_cls]  from main
  [61] phi()
  [62] call memset 
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [63] return 
  to:@return

(void*()) memset((void*) memset::str , (byte) memset::c , (word) memset::num)
memset: scope:[memset]  from print_cls
  [64] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [65] (byte*) memset::dst#2 ← phi( memset/(byte*)(const void*) memset::str#0 memset::@2/(byte*) memset::dst#1 )
  [66] if((byte*) memset::dst#2!=(const byte*) memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [67] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [68] *((byte*) memset::dst#2) ← (const byte) memset::c#0
  [69] (byte*) memset::dst#1 ← ++ (byte*) memset::dst#2
  to:memset::@1
