
void main()
main: scope:[main]  from
  [0] phi()
  [1] call ifunc
  [2] ifunc::return#2 = ifunc::return#0
  to:main::@1
main::@1: scope:[main]  from main
  [3] main::$0 = ifunc::return#2
  [4] *SCREEN = main::$0
  to:main::@return
main::@return: scope:[main]  from main::@1
  [5] return 
  to:@return

unsigned long ifunc(unsigned long a)
ifunc: scope:[ifunc]  from main
  [6] phi()
  to:ifunc::@1
ifunc::@1: scope:[ifunc]  from ifunc ifunc::@2
  [7] ifunc::delta#2 = phi( ifunc/3, ifunc::@2/ifunc::delta#1 )
  [7] ifunc::x#3 = phi( ifunc/1, ifunc::@2/ifunc::x#1 )
  [7] ifunc::xsqr#2 = phi( ifunc/1, ifunc::@2/ifunc::xsqr#1 )
  [8] if(ifunc::xsqr#2<ifunc::a#0+1) goto ifunc::@2
  to:ifunc::@3
ifunc::@3: scope:[ifunc]  from ifunc::@1
  [9] ifunc::return#0 = -- ifunc::x#3
  to:ifunc::@return
ifunc::@return: scope:[ifunc]  from ifunc::@3
  [10] return 
  to:@return
ifunc::@2: scope:[ifunc]  from ifunc::@1
  [11] ifunc::x#1 = ++ ifunc::x#3
  [12] ifunc::xsqr#1 = ifunc::xsqr#2 + ifunc::delta#2
  [13] ifunc::delta#1 = ifunc::delta#2 + 2
  to:ifunc::@1
