@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*) ub_screen) ← (const byte) ub
  [5] *((signed byte*)(const byte*) ub_screen+(byte) 1) ← (const signed byte) sb
  [6] *((word*)(const byte*) ub_screen+(byte) 1*(const byte) SIZEOF_WORD) ← (const word) uw
  [7] *((signed word*)(const byte*) ub_screen+(byte) 2*(const byte) SIZEOF_SIGNED_WORD) ← (const signed word) sw
  [8] *((byte*)(const signed byte*) sb_screen) ← (const byte) ub
  [9] *((const signed byte*) sb_screen+(byte) 1) ← (const signed byte) sb
  [10] *((word*)(const signed byte*) sb_screen+(byte) 1*(const byte) SIZEOF_WORD) ← (const word) uw
  [11] *((signed word*)(const signed byte*) sb_screen+(byte) 2*(const byte) SIZEOF_SIGNED_WORD) ← (const signed word) sw
  [12] *((byte*)(const word*) uw_screen) ← (const byte) ub
  [13] *((signed byte*)(const word*) uw_screen+(byte) 1) ← (const signed byte) sb
  [14] *((const word*) uw_screen+(byte) 1*(const byte) SIZEOF_WORD) ← (const word) uw
  [15] *((signed word*)(const word*) uw_screen+(byte) 2*(const byte) SIZEOF_SIGNED_WORD) ← (const signed word) sw
  [16] *((byte*)(const signed word*) sw_screen) ← (const byte) ub
  [17] *((signed byte*)(const signed word*) sw_screen+(byte) 1) ← (const signed byte) sb
  [18] *((word*)(const signed word*) sw_screen+(byte) 1*(const byte) SIZEOF_WORD) ← (const word) uw
  [19] *((const signed word*) sw_screen+(byte) 2*(const byte) SIZEOF_SIGNED_WORD) ← (const signed word) sw
  to:main::@return
main::@return: scope:[main]  from main
  [20] return 
  to:@return
