
void main()
main: scope:[main]  from
  [0] phi()
  to:main::@1
main::@1: scope:[main]  from main main::@1 main::@3
  [1] main::i#2 = phi( main/0, main::@3/main::i#1, main::@1/0 )
  [2] if(main::i#2<4*SIZEOF_STRUCT_TASK/SIZEOF_STRUCT_TASK) goto main::@2
  to:main::@1
main::@2: scope:[main]  from main::@1
  [3] main::$6 = main::i#2 << 1
  [4] main::$5 = main::$6 + main::i#2
  [5] run::task#0 = tasks + main::$5
  [6] call run
  to:main::@3
main::@3: scope:[main]  from main::@2
  [7] main::i#1 = ++ main::i#2
  to:main::@1

__stackcall void set_bg(char col)
set_bg: scope:[set_bg]  from
  [8] set_bg::col#0 = stackidx(char,set_bg::OFFSET_STACK_COL)
  [9] *BACKGROUND = set_bg::col#0
  to:set_bg::@return
set_bg::@return: scope:[set_bg]  from set_bg
  [10] return 
  to:@return

__stackcall void set_border(char col)
set_border: scope:[set_border]  from
  [11] set_border::col#0 = stackidx(char,set_border::OFFSET_STACK_COL)
  [12] *BORDER = set_border::col#0
  to:set_border::@return
set_border::@return: scope:[set_border]  from set_border
  [13] return 
  to:@return

void run(struct Task *task)
run: scope:[run]  from main::@2
  [14] stackpush(char) = ((char *)tasks)[main::$5]
  [15] callexecute *(((void (**)(char))run::task#0)[OFFSET_STRUCT_TASK_HANDLER]) 
  sideeffect stackpullbytes(1)
  to:run::@return
run::@return: scope:[run]  from run
  [17] return 
  to:@return
