
void main()
main: scope:[main]  from
  [0] phi()
  [1] call bool_and 
  to:main::@1
main::@1: scope:[main]  from main
  [2] phi()
  [3] call bool_or 
  to:main::@2
main::@2: scope:[main]  from main::@1
  [4] phi()
  [5] call bool_not 
  to:main::@3
main::@3: scope:[main]  from main::@2
  [6] phi()
  [7] call bool_complex 
  to:main::@return
main::@return: scope:[main]  from main::@3
  [8] return 
  to:@return

void bool_and()
bool_and: scope:[bool_and]  from main
  [9] phi()
  to:bool_and::@1
bool_and::@1: scope:[bool_and]  from bool_and bool_and::@3
  [10] bool_and::i#2 = phi( bool_and/0, bool_and::@3/bool_and::i#1 )
  [11] bool_and::$1 = bool_and::i#2 & 1
  [12] if(bool_and::i#2>=$a) goto bool_and::@4
  to:bool_and::@5
bool_and::@5: scope:[bool_and]  from bool_and::@1
  [13] if(bool_and::$1==0) goto bool_and::@2
  to:bool_and::@4
bool_and::@4: scope:[bool_and]  from bool_and::@1 bool_and::@5
  [14] bool_and::screen[bool_and::i#2] = ' '
  to:bool_and::@3
bool_and::@3: scope:[bool_and]  from bool_and::@2 bool_and::@4
  [15] bool_and::i#1 = ++ bool_and::i#2
  [16] if(bool_and::i#1!=$15) goto bool_and::@1
  to:bool_and::@return
bool_and::@return: scope:[bool_and]  from bool_and::@3
  [17] return 
  to:@return
bool_and::@2: scope:[bool_and]  from bool_and::@5
  [18] bool_and::screen[bool_and::i#2] = '*'
  to:bool_and::@3

void bool_or()
bool_or: scope:[bool_or]  from main::@1
  [19] phi()
  to:bool_or::@1
bool_or::@1: scope:[bool_or]  from bool_or bool_or::@3
  [20] bool_or::i#2 = phi( bool_or/0, bool_or::@3/bool_or::i#1 )
  [21] bool_or::$1 = bool_or::i#2 & 1
  [22] if(bool_or::i#2<$a) goto bool_or::@2
  to:bool_or::@5
bool_or::@5: scope:[bool_or]  from bool_or::@1
  [23] if(bool_or::$1==0) goto bool_or::@2
  to:bool_or::@4
bool_or::@4: scope:[bool_or]  from bool_or::@5
  [24] bool_or::screen[bool_or::i#2] = ' '
  to:bool_or::@3
bool_or::@3: scope:[bool_or]  from bool_or::@2 bool_or::@4
  [25] bool_or::i#1 = ++ bool_or::i#2
  [26] if(bool_or::i#1!=$15) goto bool_or::@1
  to:bool_or::@return
bool_or::@return: scope:[bool_or]  from bool_or::@3
  [27] return 
  to:@return
bool_or::@2: scope:[bool_or]  from bool_or::@1 bool_or::@5
  [28] bool_or::screen[bool_or::i#2] = '*'
  to:bool_or::@3

void bool_not()
bool_not: scope:[bool_not]  from main::@2
  [29] phi()
  to:bool_not::@1
bool_not::@1: scope:[bool_not]  from bool_not bool_not::@3
  [30] bool_not::i#2 = phi( bool_not/0, bool_not::@3/bool_not::i#1 )
  [31] bool_not::$1 = bool_not::i#2 & 1
  [32] if(bool_not::i#2<$a) goto bool_not::@4
  to:bool_not::@5
bool_not::@5: scope:[bool_not]  from bool_not::@1
  [33] if(bool_not::$1==0) goto bool_not::@4
  to:bool_not::@2
bool_not::@2: scope:[bool_not]  from bool_not::@5
  [34] bool_not::screen[bool_not::i#2] = '*'
  to:bool_not::@3
bool_not::@3: scope:[bool_not]  from bool_not::@2 bool_not::@4
  [35] bool_not::i#1 = ++ bool_not::i#2
  [36] if(bool_not::i#1!=$15) goto bool_not::@1
  to:bool_not::@return
bool_not::@return: scope:[bool_not]  from bool_not::@3
  [37] return 
  to:@return
bool_not::@4: scope:[bool_not]  from bool_not::@1 bool_not::@5
  [38] bool_not::screen[bool_not::i#2] = ' '
  to:bool_not::@3

void bool_complex()
bool_complex: scope:[bool_complex]  from main::@3
  [39] phi()
  to:bool_complex::@1
bool_complex::@1: scope:[bool_complex]  from bool_complex bool_complex::@3
  [40] bool_complex::i#2 = phi( bool_complex/0, bool_complex::@3/bool_complex::i#1 )
  [41] bool_complex::$5 = bool_complex::i#2 & 1
  [42] if(bool_complex::i#2>=$a) goto bool_complex::@5
  to:bool_complex::@6
bool_complex::@6: scope:[bool_complex]  from bool_complex::@1
  [43] if(bool_complex::$5==0) goto bool_complex::@2
  to:bool_complex::@5
bool_complex::@5: scope:[bool_complex]  from bool_complex::@1 bool_complex::@6
  [44] if(bool_complex::i#2<$a) goto bool_complex::@4
  to:bool_complex::@7
bool_complex::@7: scope:[bool_complex]  from bool_complex::@5
  [45] if(bool_complex::$5==0) goto bool_complex::@4
  to:bool_complex::@2
bool_complex::@2: scope:[bool_complex]  from bool_complex::@6 bool_complex::@7
  [46] bool_complex::screen[bool_complex::i#2] = '*'
  to:bool_complex::@3
bool_complex::@3: scope:[bool_complex]  from bool_complex::@2 bool_complex::@4
  [47] bool_complex::i#1 = ++ bool_complex::i#2
  [48] if(bool_complex::i#1!=$15) goto bool_complex::@1
  to:bool_complex::@return
bool_complex::@return: scope:[bool_complex]  from bool_complex::@3
  [49] return 
  to:@return
bool_complex::@4: scope:[bool_complex]  from bool_complex::@5 bool_complex::@7
  [50] bool_complex::screen[bool_complex::i#2] = ' '
  to:bool_complex::@3
