@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] *((const byte*) BGCOL) ← (byte) 0
  [5] *((const byte*) FGCOL) ← (byte) 0
  [6] *((const byte*) D011) ← (const byte) BMM|(const byte) DEN|(const byte) RSEL|(byte) 3
  [7] *((const byte*) D018) ← (byte)(word)(const byte*) SCREEN/(byte) $40|(word)(const byte*) BITMAP/(word) $400
  [8] call init_screen 
  to:main::@3
main::@3: scope:[main]  from main
  [9] phi()
  [10] call init_plot_tables 
  to:main::@1
main::@1: scope:[main]  from main::@1 main::@3 main::@4
  [11] if(*((const byte*) RASTER)!=(byte) $ff) goto main::@1
  to:main::@2
main::@2: scope:[main]  from main::@1
  [12] *((const byte*) BGCOL) ← ++ *((const byte*) BGCOL)
  [13] call plots 
  to:main::@4
main::@4: scope:[main]  from main::@2
  [14] *((const byte*) BGCOL) ← -- *((const byte*) BGCOL)
  to:main::@1

(void()) plots()
plots: scope:[plots]  from main::@2
  [15] phi()
  to:plots::@1
plots::@1: scope:[plots]  from plots plots::@3
  [16] (byte) plots::i#2 ← phi( plots/(byte) 0 plots::@3/(byte) plots::i#1 )
  [17] if((byte) plots::i#2<(const byte) plots_cnt) goto plots::@2
  to:plots::@return
plots::@return: scope:[plots]  from plots::@1
  [18] return 
  to:@return
plots::@2: scope:[plots]  from plots::@1
  [19] (byte) plot::x#0 ← *((const byte*) plots_x + (byte) plots::i#2)
  [20] (byte) plot::y#0 ← *((const byte*) plots_y + (byte) plots::i#2)
  [21] call plot 
  to:plots::@3
plots::@3: scope:[plots]  from plots::@2
  [22] (byte) plots::i#1 ← ++ (byte) plots::i#2
  to:plots::@1

(void()) plot((byte) plot::x , (byte) plot::y)
plot: scope:[plot]  from plots::@2
  [23] (byte~) plot::$6 ← *((const byte*) plot_xhi + (byte) plot::x#0)
  [24] (byte*) plot::plotter_x#1 ← (byte*) 0 hi= (byte~) plot::$6
  [25] (byte~) plot::$7 ← *((const byte*) plot_xlo + (byte) plot::x#0)
  [26] (byte*) plot::plotter_x#2 ← (byte*) plot::plotter_x#1 lo= (byte~) plot::$7
  [27] (byte~) plot::$8 ← *((const byte*) plot_yhi + (byte) plot::y#0)
  [28] (word) plot::plotter_y#1 ← (word) 0 hi= (byte~) plot::$8
  [29] (byte~) plot::$9 ← *((const byte*) plot_ylo + (byte) plot::y#0)
  [30] (word) plot::plotter_y#2 ← (word) plot::plotter_y#1 lo= (byte~) plot::$9
  [31] (byte*) plot::plotter#0 ← (byte*) plot::plotter_x#2 + (word) plot::plotter_y#2
  [32] (byte~) plot::$5 ← *((byte*) plot::plotter#0) | *((const byte*) plot_bit + (byte) plot::x#0)
  [33] *((byte*) plot::plotter#0) ← (byte~) plot::$5
  to:plot::@return
plot::@return: scope:[plot]  from plot
  [34] return 
  to:@return

(void()) init_plot_tables()
init_plot_tables: scope:[init_plot_tables]  from main::@3
  [35] phi()
  to:init_plot_tables::@1
init_plot_tables::@1: scope:[init_plot_tables]  from init_plot_tables init_plot_tables::@2
  [36] (byte) init_plot_tables::bits#3 ← phi( init_plot_tables/(byte) $80 init_plot_tables::@2/(byte) init_plot_tables::bits#4 )
  [36] (byte) init_plot_tables::x#2 ← phi( init_plot_tables/(byte) 0 init_plot_tables::@2/(byte) init_plot_tables::x#1 )
  [37] (byte~) init_plot_tables::$0 ← (byte) init_plot_tables::x#2 & (byte) $f8
  [38] *((const byte*) plot_xlo + (byte) init_plot_tables::x#2) ← (byte~) init_plot_tables::$0
  [39] *((const byte*) plot_xhi + (byte) init_plot_tables::x#2) ← >(const byte*) BITMAP
  [40] *((const byte*) plot_bit + (byte) init_plot_tables::x#2) ← (byte) init_plot_tables::bits#3
  [41] (byte) init_plot_tables::bits#1 ← (byte) init_plot_tables::bits#3 >> (byte) 1
  [42] if((byte) init_plot_tables::bits#1!=(byte) 0) goto init_plot_tables::@6
  to:init_plot_tables::@2
init_plot_tables::@6: scope:[init_plot_tables]  from init_plot_tables::@1
  [43] phi()
  to:init_plot_tables::@2
init_plot_tables::@2: scope:[init_plot_tables]  from init_plot_tables::@1 init_plot_tables::@6
  [44] (byte) init_plot_tables::bits#4 ← phi( init_plot_tables::@6/(byte) init_plot_tables::bits#1 init_plot_tables::@1/(byte) $80 )
  [45] (byte) init_plot_tables::x#1 ← ++ (byte) init_plot_tables::x#2
  [46] if((byte) init_plot_tables::x#1!=(byte) 0) goto init_plot_tables::@1
  to:init_plot_tables::@3
init_plot_tables::@3: scope:[init_plot_tables]  from init_plot_tables::@2 init_plot_tables::@4
  [47] (byte*) init_plot_tables::yoffs#2 ← phi( init_plot_tables::@2/(byte*) 0 init_plot_tables::@4/(byte*) init_plot_tables::yoffs#4 )
  [47] (byte) init_plot_tables::y#2 ← phi( init_plot_tables::@2/(byte) 0 init_plot_tables::@4/(byte) init_plot_tables::y#1 )
  [48] (byte~) init_plot_tables::$9 ← (byte) init_plot_tables::y#2 & (byte) 7
  [49] (byte~) init_plot_tables::$6 ← < (byte*) init_plot_tables::yoffs#2
  [50] (byte~) init_plot_tables::$7 ← (byte~) init_plot_tables::$9 | (byte~) init_plot_tables::$6
  [51] *((const byte*) plot_ylo + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$7
  [52] (byte~) init_plot_tables::$8 ← > (byte*) init_plot_tables::yoffs#2
  [53] *((const byte*) plot_yhi + (byte) init_plot_tables::y#2) ← (byte~) init_plot_tables::$8
  [54] if((byte~) init_plot_tables::$9!=(byte) 7) goto init_plot_tables::@4
  to:init_plot_tables::@5
init_plot_tables::@5: scope:[init_plot_tables]  from init_plot_tables::@3
  [55] (byte*) init_plot_tables::yoffs#1 ← (byte*) init_plot_tables::yoffs#2 + (word)(number) $28*(number) 8
  to:init_plot_tables::@4
init_plot_tables::@4: scope:[init_plot_tables]  from init_plot_tables::@3 init_plot_tables::@5
  [56] (byte*) init_plot_tables::yoffs#4 ← phi( init_plot_tables::@3/(byte*) init_plot_tables::yoffs#2 init_plot_tables::@5/(byte*) init_plot_tables::yoffs#1 )
  [57] (byte) init_plot_tables::y#1 ← ++ (byte) init_plot_tables::y#2
  [58] if((byte) init_plot_tables::y#1!=(byte) 0) goto init_plot_tables::@3
  to:init_plot_tables::@return
init_plot_tables::@return: scope:[init_plot_tables]  from init_plot_tables::@4
  [59] return 
  to:@return

(void()) init_screen()
init_screen: scope:[init_screen]  from main
  [60] phi()
  to:init_screen::@1
init_screen::@1: scope:[init_screen]  from init_screen init_screen::@2
  [61] (byte*) init_screen::b#2 ← phi( init_screen/(const byte*) BITMAP init_screen::@2/(byte*) init_screen::b#1 )
  [62] if((byte*) init_screen::b#2!=(const byte*) BITMAP+(word) $2000) goto init_screen::@2
  to:init_screen::@3
init_screen::@3: scope:[init_screen]  from init_screen::@1 init_screen::@4
  [63] (byte*) init_screen::c#2 ← phi( init_screen::@1/(const byte*) SCREEN init_screen::@4/(byte*) init_screen::c#1 )
  [64] if((byte*) init_screen::c#2!=(const byte*) SCREEN+(word) $400) goto init_screen::@4
  to:init_screen::@return
init_screen::@return: scope:[init_screen]  from init_screen::@3
  [65] return 
  to:@return
init_screen::@4: scope:[init_screen]  from init_screen::@3
  [66] *((byte*) init_screen::c#2) ← (byte) $14
  [67] (byte*) init_screen::c#1 ← ++ (byte*) init_screen::c#2
  to:init_screen::@3
init_screen::@2: scope:[init_screen]  from init_screen::@1
  [68] *((byte*) init_screen::b#2) ← (byte) 0
  [69] (byte*) init_screen::b#1 ← ++ (byte*) init_screen::b#2
  to:init_screen::@1
