
void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] idx = 0
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  [2] phi()
  [3] callexecute main 
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [4] return 
  to:@return

__stackcall void print(struct Vector v)
print: scope:[print]  from
  [5] print::v = stackidx(struct Vector,print::OFFSET_STACK_V)
  [6] SCREEN[idx] = *((char *)(struct Point *)&print::v)
  [7] idx = ++ idx
  [8] SCREEN[idx] = *((char *)(struct Point *)&print::v+OFFSET_STRUCT_POINT_Y)
  [9] idx = ++ idx
  [10] SCREEN[idx] = *((char *)(struct Point *)&print::v+OFFSET_STRUCT_VECTOR_P2)
  [11] idx = ++ idx
  [12] SCREEN[idx] = *((char *)(struct Point *)&print::v+OFFSET_STRUCT_VECTOR_P2+OFFSET_STRUCT_POINT_Y)
  [13] idx = ++ idx
  [14] SCREEN[idx] = ' '
  [15] idx = ++ idx
  to:print::@return
print::@return: scope:[print]  from print
  [16] return 
  to:@return

__stackcall struct Vector get(char i)
get: scope:[get]  from
  [17] get::i#0 = stackidx(char,get::OFFSET_STACK_I)
  [18] get::$0 = get::i#0 >> 1
  [19] get::$1 = get::i#0 + 1
  [20] get::$2 = get::i#0 << 1
  [21] *((char *)(struct Point *)&get::v) = get::i#0
  [22] *((char *)(struct Point *)&get::v+OFFSET_STRUCT_POINT_Y) = get::$0
  [23] *((char *)(struct Point *)&get::v+OFFSET_STRUCT_VECTOR_P2) = get::$1
  [24] *((char *)(struct Point *)&get::v+OFFSET_STRUCT_VECTOR_P2+OFFSET_STRUCT_POINT_Y) = get::$2
  [25] *(&get::return) = memcpy(*(&get::v), struct Vector, SIZEOF_STRUCT_VECTOR)
  to:get::@return
get::@return: scope:[get]  from get
  [26] stackidx(struct Vector,get::OFFSET_STACK_RETURN_0) = get::return
  [27] return 
  to:@return

__stackcall void main()
main: scope:[main]  from
  [28] phi()
  to:main::@1
main::@1: scope:[main]  from main main::@2
  [29] main::i#2 = phi( main/0, main::@2/main::i#1 )
  [30] if(main::i#2<5) goto main::@2
  to:main::@return
main::@return: scope:[main]  from main::@1
  [31] return 
  to:@return
main::@2: scope:[main]  from main::@1
  [32] stackpush(char) = main::i#2
  sideeffect stackpushbytes(3)
  [34] callexecute get 
  [35] main::v = stackpull(struct Vector)
  [36] stackpush(struct Vector) = main::v
  [37] callexecute print 
  sideeffect stackpullbytes(4)
  [39] main::i#1 = ++ main::i#2
  to:main::@1
