@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 init_font_hex 
  to:main::toD0181
main::toD0181: scope:[main]  from main
  [6] phi()
  to:main::@5
main::@5: scope:[main]  from main::toD0181
  [7] *((const byte*) D018) ← (const byte) main::toD0181_return#0
  to:main::@1
main::@1: scope:[main]  from main::@3 main::@5
  [8] (byte*) main::screen#4 ← phi( main::@5/(const byte*) SCREEN main::@3/(byte*) main::screen#1 )
  [8] (signed byte) main::y#4 ← phi( main::@5/(signed byte) -$c main::@3/(signed byte) main::y#1 )
  to:main::@2
main::@2: scope:[main]  from main::@1 main::@6
  [9] (byte*) main::screen#2 ← phi( main::@1/(byte*) main::screen#4 main::@6/(byte*) main::screen#1 )
  [9] (signed byte) main::x#2 ← phi( main::@1/(signed byte) -$13 main::@6/(signed byte) main::x#1 )
  [10] (signed byte) atan2_8::x#0 ← (signed byte) main::x#2
  [11] (signed byte) atan2_8::y#0 ← (signed byte) main::y#4
  [12] call atan2_8 
  [13] (byte) atan2_8::return#2 ← (byte) atan2_8::return#0
  to:main::@6
main::@6: scope:[main]  from main::@2
  [14] (byte) main::angle#0 ← (byte) atan2_8::return#2
  [15] *((byte*) main::screen#2) ← (byte) main::angle#0
  [16] (byte*) main::screen#1 ← ++ (byte*) main::screen#2
  [17] (signed byte) main::x#1 ← ++ (signed byte) main::x#2
  [18] if((signed byte) main::x#1!=(signed byte) $15) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@6
  [19] (signed byte) main::y#1 ← ++ (signed byte) main::y#4
  [20] if((signed byte) main::y#1!=(signed byte) $d) goto main::@1
  to:main::@4
main::@4: scope:[main]  from main::@3 main::@4
  [21] *((const byte*) main::col00) ← ++ *((const byte*) main::col00)
  to:main::@4

(byte()) atan2_8((signed byte) atan2_8::x , (signed byte) atan2_8::y)
atan2_8: scope:[atan2_8]  from main::@2
  [22] if((signed byte) atan2_8::y#0>(signed byte) 0) goto atan2_8::@1
  to:atan2_8::@2
atan2_8::@2: scope:[atan2_8]  from atan2_8
  [23] (signed byte~) atan2_8::$2 ← - (signed byte) atan2_8::y#0
  to:atan2_8::@3
atan2_8::@3: scope:[atan2_8]  from atan2_8::@1 atan2_8::@2
  [24] (signed byte) atan2_8::yi#0 ← phi( atan2_8::@1/(signed byte) atan2_8::yi#11 atan2_8::@2/(signed byte~) atan2_8::$2 )
  [25] if((signed byte) atan2_8::x#0>(signed byte) 0) goto atan2_8::@4
  to:atan2_8::@5
atan2_8::@5: scope:[atan2_8]  from atan2_8::@3
  [26] (signed byte~) atan2_8::$7 ← - (signed byte) atan2_8::x#0
  to:atan2_8::@6
atan2_8::@6: scope:[atan2_8]  from atan2_8::@4 atan2_8::@5
  [27] (signed byte) atan2_8::xi#0 ← phi( atan2_8::@4/(signed byte) atan2_8::xi#8 atan2_8::@5/(signed byte~) atan2_8::$7 )
  to:atan2_8::@10
atan2_8::@10: scope:[atan2_8]  from atan2_8::@14 atan2_8::@6
  [28] (byte) atan2_8::angle#12 ← phi( atan2_8::@14/(byte) atan2_8::angle#13 atan2_8::@6/(byte) 0 )
  [28] (byte) atan2_8::i#2 ← phi( atan2_8::@14/(byte) atan2_8::i#1 atan2_8::@6/(byte) 0 )
  [28] (signed byte) atan2_8::xi#3 ← phi( atan2_8::@14/(signed byte) atan2_8::xi#7 atan2_8::@6/(signed byte) atan2_8::xi#0 )
  [28] (signed byte) atan2_8::yi#3 ← phi( atan2_8::@14/(signed byte) atan2_8::yi#7 atan2_8::@6/(signed byte) atan2_8::yi#0 )
  [29] if((signed byte) atan2_8::yi#3!=(signed byte) 0) goto atan2_8::@11
  to:atan2_8::@12
atan2_8::@12: scope:[atan2_8]  from atan2_8::@10 atan2_8::@14
  [30] (byte) atan2_8::angle#6 ← phi( atan2_8::@10/(byte) atan2_8::angle#12 atan2_8::@14/(byte) atan2_8::angle#13 )
  [31] (byte) atan2_8::angle#1 ← (byte) atan2_8::angle#6 >> (byte) 1
  [32] if((signed byte) atan2_8::x#0>=(signed byte) 0) goto atan2_8::@7
  to:atan2_8::@16
atan2_8::@16: scope:[atan2_8]  from atan2_8::@12
  [33] (byte) atan2_8::angle#4 ← (byte) $80 - (byte) atan2_8::angle#1
  to:atan2_8::@7
atan2_8::@7: scope:[atan2_8]  from atan2_8::@12 atan2_8::@16
  [34] (byte) atan2_8::angle#11 ← phi( atan2_8::@12/(byte) atan2_8::angle#1 atan2_8::@16/(byte) atan2_8::angle#4 )
  [35] if((signed byte) atan2_8::y#0>=(signed byte) 0) goto atan2_8::@8
  to:atan2_8::@9
atan2_8::@9: scope:[atan2_8]  from atan2_8::@7
  [36] (byte) atan2_8::angle#5 ← - (byte) atan2_8::angle#11
  to:atan2_8::@8
atan2_8::@8: scope:[atan2_8]  from atan2_8::@7 atan2_8::@9
  [37] (byte) atan2_8::return#0 ← phi( atan2_8::@9/(byte) atan2_8::angle#5 atan2_8::@7/(byte) atan2_8::angle#11 )
  to:atan2_8::@return
atan2_8::@return: scope:[atan2_8]  from atan2_8::@8
  [38] return 
  to:@return
atan2_8::@11: scope:[atan2_8]  from atan2_8::@10
  [39] (signed byte) atan2_8::xd#0 ← (signed byte) atan2_8::xi#3 >> (byte) atan2_8::i#2
  [40] (signed byte) atan2_8::yd#0 ← (signed byte) atan2_8::yi#3 >> (byte) atan2_8::i#2
  [41] if((signed byte) atan2_8::yi#3>(signed byte) 0) goto atan2_8::@13
  to:atan2_8::@15
atan2_8::@15: scope:[atan2_8]  from atan2_8::@11
  [42] (signed byte) atan2_8::xi#2 ← (signed byte) atan2_8::xi#3 - (signed byte) atan2_8::yd#0
  [43] (signed byte) atan2_8::yi#2 ← (signed byte) atan2_8::yi#3 + (signed byte) atan2_8::xd#0
  [44] (byte) atan2_8::angle#3 ← (byte) atan2_8::angle#12 - *((const byte*) CORDIC_ATAN2_ANGLES_8 + (byte) atan2_8::i#2)
  to:atan2_8::@14
atan2_8::@14: scope:[atan2_8]  from atan2_8::@13 atan2_8::@15
  [45] (signed byte) atan2_8::xi#7 ← phi( atan2_8::@13/(signed byte) atan2_8::xi#1 atan2_8::@15/(signed byte) atan2_8::xi#2 )
  [45] (byte) atan2_8::angle#13 ← phi( atan2_8::@13/(byte) atan2_8::angle#2 atan2_8::@15/(byte) atan2_8::angle#3 )
  [45] (signed byte) atan2_8::yi#7 ← phi( atan2_8::@13/(signed byte) atan2_8::yi#1 atan2_8::@15/(signed byte) atan2_8::yi#2 )
  [46] (byte) atan2_8::i#1 ← ++ (byte) atan2_8::i#2
  [47] if((byte) atan2_8::i#1==(const byte) CORDIC_ITERATIONS_8-(byte) 1+(byte) 1) goto atan2_8::@12
  to:atan2_8::@10
atan2_8::@13: scope:[atan2_8]  from atan2_8::@11
  [48] (signed byte) atan2_8::xi#1 ← (signed byte) atan2_8::xi#3 + (signed byte) atan2_8::yd#0
  [49] (signed byte) atan2_8::yi#1 ← (signed byte) atan2_8::yi#3 - (signed byte) atan2_8::xd#0
  [50] (byte) atan2_8::angle#2 ← (byte) atan2_8::angle#12 + *((const byte*) CORDIC_ATAN2_ANGLES_8 + (byte) atan2_8::i#2)
  to:atan2_8::@14
atan2_8::@4: scope:[atan2_8]  from atan2_8::@3
  [51] (signed byte) atan2_8::xi#8 ← (signed byte) atan2_8::x#0
  to:atan2_8::@6
atan2_8::@1: scope:[atan2_8]  from atan2_8
  [52] (signed byte) atan2_8::yi#11 ← (signed byte) atan2_8::y#0
  to:atan2_8::@3

(void()) init_font_hex((byte*) init_font_hex::charset)
init_font_hex: scope:[init_font_hex]  from main
  [53] phi()
  to:init_font_hex::@1
init_font_hex::@1: scope:[init_font_hex]  from init_font_hex init_font_hex::@5
  [54] (byte) init_font_hex::c#6 ← phi( init_font_hex/(byte) 0 init_font_hex::@5/(byte) init_font_hex::c#1 )
  [54] (byte*) init_font_hex::proto_hi#6 ← phi( init_font_hex/(const byte*) FONT_HEX_PROTO init_font_hex::@5/(byte*) init_font_hex::proto_hi#1 )
  [54] (byte*) init_font_hex::charset#5 ← phi( init_font_hex/(const byte*) CHARSET init_font_hex::@5/(byte*) init_font_hex::charset#0 )
  to:init_font_hex::@2
init_font_hex::@2: scope:[init_font_hex]  from init_font_hex::@1 init_font_hex::@4
  [55] (byte) init_font_hex::c1#4 ← phi( init_font_hex::@1/(byte) 0 init_font_hex::@4/(byte) init_font_hex::c1#1 )
  [55] (byte*) init_font_hex::proto_lo#4 ← phi( init_font_hex::@1/(const byte*) FONT_HEX_PROTO init_font_hex::@4/(byte*) init_font_hex::proto_lo#1 )
  [55] (byte*) init_font_hex::charset#2 ← phi( init_font_hex::@1/(byte*) init_font_hex::charset#5 init_font_hex::@4/(byte*) init_font_hex::charset#0 )
  [56] *((byte*) init_font_hex::charset#2) ← (byte) 0
  to:init_font_hex::@3
init_font_hex::@3: scope:[init_font_hex]  from init_font_hex::@2 init_font_hex::@3
  [57] (byte) init_font_hex::idx#5 ← phi( init_font_hex::@2/(byte) 1 init_font_hex::@3/(byte) init_font_hex::idx#2 )
  [57] (byte) init_font_hex::i#2 ← phi( init_font_hex::@2/(byte) 0 init_font_hex::@3/(byte) init_font_hex::i#1 )
  [58] (byte~) init_font_hex::$0 ← *((byte*) init_font_hex::proto_hi#6 + (byte) init_font_hex::i#2) << (byte) 4
  [59] (byte~) init_font_hex::$1 ← *((byte*) init_font_hex::proto_lo#4 + (byte) init_font_hex::i#2) << (byte) 1
  [60] (byte~) init_font_hex::$2 ← (byte~) init_font_hex::$0 | (byte~) init_font_hex::$1
  [61] *((byte*) init_font_hex::charset#2 + (byte) init_font_hex::idx#5) ← (byte~) init_font_hex::$2
  [62] (byte) init_font_hex::idx#2 ← ++ (byte) init_font_hex::idx#5
  [63] (byte) init_font_hex::i#1 ← ++ (byte) init_font_hex::i#2
  [64] if((byte) init_font_hex::i#1!=(byte) 5) goto init_font_hex::@3
  to:init_font_hex::@4
init_font_hex::@4: scope:[init_font_hex]  from init_font_hex::@3
  [65] *((byte*) init_font_hex::charset#2 + (byte) init_font_hex::idx#2) ← (byte) 0
  [66] (byte) init_font_hex::idx#3 ← ++ (byte) init_font_hex::idx#2
  [67] *((byte*) init_font_hex::charset#2 + (byte) init_font_hex::idx#3) ← (byte) 0
  [68] (byte*) init_font_hex::proto_lo#1 ← (byte*) init_font_hex::proto_lo#4 + (byte) 5
  [69] (byte*) init_font_hex::charset#0 ← (byte*) init_font_hex::charset#2 + (byte) 8
  [70] (byte) init_font_hex::c1#1 ← ++ (byte) init_font_hex::c1#4
  [71] if((byte) init_font_hex::c1#1!=(byte) $10) goto init_font_hex::@2
  to:init_font_hex::@5
init_font_hex::@5: scope:[init_font_hex]  from init_font_hex::@4
  [72] (byte*) init_font_hex::proto_hi#1 ← (byte*) init_font_hex::proto_hi#6 + (byte) 5
  [73] (byte) init_font_hex::c#1 ← ++ (byte) init_font_hex::c#6
  [74] if((byte) init_font_hex::c#1!=(byte) $10) goto init_font_hex::@1
  to:init_font_hex::@return
init_font_hex::@return: scope:[init_font_hex]  from init_font_hex::@5
  [75] return 
  to:@return
