
void main()
main: scope:[main]  from
  [0] phi()
  to:main::@1
main::@1: scope:[main]  from main main::@3
  [1] main::i#4 = phi( main/0, main::@3/main::i#1 )
  [1] main::a#4 = phi( main/0, main::@3/main::a#1 )
  to:main::@2
main::@2: scope:[main]  from main::@1 main::@4
  [2] main::i#2 = phi( main::@1/main::i#4, main::@4/main::i#1 )
  [2] main::b#2 = phi( main::@1/0, main::@4/main::b#1 )
  [3] mul8u::a#1 = main::a#4
  [4] mul8u::b#0 = main::b#2
  [5] call mul8u
  [6] mul8u::return#2 = mul8u::res#2
  to:main::@4
main::@4: scope:[main]  from main::@2
  [7] main::$0 = mul8u::return#2
  [8] main::$3 = main::i#2 << 1
  [9] main::screen[main::$3] = main::$0
  [10] main::i#1 = ++ main::i#2
  [11] main::b#1 = ++ main::b#2
  [12] if(main::b#1!=6) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@4
  [13] main::a#1 = ++ main::a#4
  [14] if(main::a#1!=6) goto main::@1
  to:main::@return
main::@return: scope:[main]  from main::@3
  [15] return 
  to:@return

unsigned int mul8u(char a , char b)
mul8u: scope:[mul8u]  from main::@2
  [16] mul8u::mb#0 = (unsigned int)mul8u::b#0
  to:mul8u::@1
mul8u::@1: scope:[mul8u]  from mul8u mul8u::@3
  [17] mul8u::mb#2 = phi( mul8u/mul8u::mb#0, mul8u::@3/mul8u::mb#1 )
  [17] mul8u::res#2 = phi( mul8u/0, mul8u::@3/mul8u::res#6 )
  [17] mul8u::a#2 = phi( mul8u/mul8u::a#1, mul8u::@3/mul8u::a#0 )
  [18] if(mul8u::a#2!=0) goto mul8u::@2
  to:mul8u::@return
mul8u::@return: scope:[mul8u]  from mul8u::@1
  [19] return 
  to:@return
mul8u::@2: scope:[mul8u]  from mul8u::@1
  [20] mul8u::$1 = mul8u::a#2 & 1
  [21] if(mul8u::$1==0) goto mul8u::@3
  to:mul8u::@4
mul8u::@4: scope:[mul8u]  from mul8u::@2
  [22] mul8u::res#1 = mul8u::res#2 + mul8u::mb#2
  to:mul8u::@3
mul8u::@3: scope:[mul8u]  from mul8u::@2 mul8u::@4
  [23] mul8u::res#6 = phi( mul8u::@2/mul8u::res#2, mul8u::@4/mul8u::res#1 )
  [24] mul8u::a#0 = mul8u::a#2 >> 1
  [25] mul8u::mb#1 = mul8u::mb#2 << 1
  to:mul8u::@1
