
void main()
main: scope:[main]  from
  [0] phi()
  to:main::@1
main::@1: scope:[main]  from main main::@2
  [1] main::s#2 = phi( main/SCREEN, main::@2/main::s#1 )
  [2] if(main::s#2<SCREEN+$3e8) goto main::@2
  to:main::@3
main::@3: scope:[main]  from main::@1
  [3] phi()
  [4] call testUnaryOperator
  to:main::@4
main::@4: scope:[main]  from main::@3
  [5] phi()
  [6] call testBinaryOperator
  to:main::@return
main::@return: scope:[main]  from main::@4
  [7] return 
  to:@return
main::@2: scope:[main]  from main::@1
  [8] *main::s#2 = ' '
  [9] main::s#1 = ++ main::s#2
  to:main::@1

void testUnaryOperator()
testUnaryOperator: scope:[testUnaryOperator]  from main::@3
  [10] phi()
  [11] call assertType
  to:testUnaryOperator::@1
testUnaryOperator::@1: scope:[testUnaryOperator]  from testUnaryOperator
  [12] phi()
  [13] call assertType
  to:testUnaryOperator::@2
testUnaryOperator::@2: scope:[testUnaryOperator]  from testUnaryOperator::@1
  [14] phi()
  [15] call assertType
  to:testUnaryOperator::@3
testUnaryOperator::@3: scope:[testUnaryOperator]  from testUnaryOperator::@2
  [16] phi()
  [17] call assertType
  to:testUnaryOperator::@4
testUnaryOperator::@4: scope:[testUnaryOperator]  from testUnaryOperator::@3
  [18] phi()
  [19] call assertType
  to:testUnaryOperator::@5
testUnaryOperator::@5: scope:[testUnaryOperator]  from testUnaryOperator::@4
  [20] phi()
  [21] call assertType
  to:testUnaryOperator::@return
testUnaryOperator::@return: scope:[testUnaryOperator]  from testUnaryOperator::@5
  [22] return 
  to:@return

void testBinaryOperator()
testBinaryOperator: scope:[testBinaryOperator]  from main::@4
  [23] phi()
  [24] call assertType
  to:testBinaryOperator::@1
testBinaryOperator::@1: scope:[testBinaryOperator]  from testBinaryOperator
  [25] phi()
  [26] call assertType
  to:testBinaryOperator::@2
testBinaryOperator::@2: scope:[testBinaryOperator]  from testBinaryOperator::@1
  [27] phi()
  [28] call assertType
  to:testBinaryOperator::@3
testBinaryOperator::@3: scope:[testBinaryOperator]  from testBinaryOperator::@2
  [29] phi()
  [30] call assertType
  to:testBinaryOperator::@4
testBinaryOperator::@4: scope:[testBinaryOperator]  from testBinaryOperator::@3
  [31] phi()
  [32] call assertType
  to:testBinaryOperator::@5
testBinaryOperator::@5: scope:[testBinaryOperator]  from testBinaryOperator::@4
  [33] phi()
  [34] call assertType
  to:testBinaryOperator::@6
testBinaryOperator::@6: scope:[testBinaryOperator]  from testBinaryOperator::@5
  [35] idx#18 = ++ idx#109
  [36] call assertType
  to:testBinaryOperator::@7
testBinaryOperator::@7: scope:[testBinaryOperator]  from testBinaryOperator::@6
  [37] phi()
  [38] call assertType
  to:testBinaryOperator::@8
testBinaryOperator::@8: scope:[testBinaryOperator]  from testBinaryOperator::@7
  [39] phi()
  [40] call assertType
  to:testBinaryOperator::@9
testBinaryOperator::@9: scope:[testBinaryOperator]  from testBinaryOperator::@8
  [41] phi()
  [42] call assertType
  to:testBinaryOperator::@10
testBinaryOperator::@10: scope:[testBinaryOperator]  from testBinaryOperator::@9
  [43] phi()
  [44] call assertType
  to:testBinaryOperator::@11
testBinaryOperator::@11: scope:[testBinaryOperator]  from testBinaryOperator::@10
  [45] phi()
  [46] call assertType
  to:testBinaryOperator::@12
testBinaryOperator::@12: scope:[testBinaryOperator]  from testBinaryOperator::@11
  [47] idx#25 = ++ idx#109
  [48] call assertType
  to:testBinaryOperator::@13
testBinaryOperator::@13: scope:[testBinaryOperator]  from testBinaryOperator::@12
  [49] phi()
  [50] call assertType
  to:testBinaryOperator::@14
testBinaryOperator::@14: scope:[testBinaryOperator]  from testBinaryOperator::@13
  [51] phi()
  [52] call assertType
  to:testBinaryOperator::@15
testBinaryOperator::@15: scope:[testBinaryOperator]  from testBinaryOperator::@14
  [53] phi()
  [54] call assertType
  to:testBinaryOperator::@16
testBinaryOperator::@16: scope:[testBinaryOperator]  from testBinaryOperator::@15
  [55] phi()
  [56] call assertType
  to:testBinaryOperator::@17
testBinaryOperator::@17: scope:[testBinaryOperator]  from testBinaryOperator::@16
  [57] phi()
  [58] call assertType
  to:testBinaryOperator::@18
testBinaryOperator::@18: scope:[testBinaryOperator]  from testBinaryOperator::@17
  [59] phi()
  [60] call assertType
  to:testBinaryOperator::@19
testBinaryOperator::@19: scope:[testBinaryOperator]  from testBinaryOperator::@18
  [61] phi()
  [62] call assertType
  to:testBinaryOperator::@20
testBinaryOperator::@20: scope:[testBinaryOperator]  from testBinaryOperator::@19
  [63] phi()
  [64] call assertType
  to:testBinaryOperator::@21
testBinaryOperator::@21: scope:[testBinaryOperator]  from testBinaryOperator::@20
  [65] phi()
  [66] call assertType
  to:testBinaryOperator::@22
testBinaryOperator::@22: scope:[testBinaryOperator]  from testBinaryOperator::@21
  [67] phi()
  [68] call assertType
  to:testBinaryOperator::@23
testBinaryOperator::@23: scope:[testBinaryOperator]  from testBinaryOperator::@22
  [69] phi()
  [70] call assertType
  to:testBinaryOperator::@24
testBinaryOperator::@24: scope:[testBinaryOperator]  from testBinaryOperator::@23
  [71] idx#39 = ++ idx#109
  [72] call assertType
  to:testBinaryOperator::@25
testBinaryOperator::@25: scope:[testBinaryOperator]  from testBinaryOperator::@24
  [73] phi()
  [74] call assertType
  to:testBinaryOperator::@26
testBinaryOperator::@26: scope:[testBinaryOperator]  from testBinaryOperator::@25
  [75] phi()
  [76] call assertType
  to:testBinaryOperator::@27
testBinaryOperator::@27: scope:[testBinaryOperator]  from testBinaryOperator::@26
  [77] phi()
  [78] call assertType
  to:testBinaryOperator::@28
testBinaryOperator::@28: scope:[testBinaryOperator]  from testBinaryOperator::@27
  [79] phi()
  [80] call assertType
  to:testBinaryOperator::@29
testBinaryOperator::@29: scope:[testBinaryOperator]  from testBinaryOperator::@28
  [81] phi()
  [82] call assertType
  to:testBinaryOperator::@30
testBinaryOperator::@30: scope:[testBinaryOperator]  from testBinaryOperator::@29
  [83] idx#46 = ++ idx#109
  [84] call assertType
  to:testBinaryOperator::@31
testBinaryOperator::@31: scope:[testBinaryOperator]  from testBinaryOperator::@30
  [85] phi()
  [86] call assertType
  to:testBinaryOperator::@32
testBinaryOperator::@32: scope:[testBinaryOperator]  from testBinaryOperator::@31
  [87] phi()
  [88] call assertType
  to:testBinaryOperator::@33
testBinaryOperator::@33: scope:[testBinaryOperator]  from testBinaryOperator::@32
  [89] phi()
  [90] call assertType
  to:testBinaryOperator::@34
testBinaryOperator::@34: scope:[testBinaryOperator]  from testBinaryOperator::@33
  [91] phi()
  [92] call assertType
  to:testBinaryOperator::@35
testBinaryOperator::@35: scope:[testBinaryOperator]  from testBinaryOperator::@34
  [93] phi()
  [94] call assertType
  to:testBinaryOperator::@return
testBinaryOperator::@return: scope:[testBinaryOperator]  from testBinaryOperator::@35
  [95] return 
  to:@return

void assertType(char t1 , char t2)
assertType: scope:[assertType]  from testBinaryOperator testBinaryOperator::@1 testBinaryOperator::@10 testBinaryOperator::@11 testBinaryOperator::@12 testBinaryOperator::@13 testBinaryOperator::@14 testBinaryOperator::@15 testBinaryOperator::@16 testBinaryOperator::@17 testBinaryOperator::@18 testBinaryOperator::@19 testBinaryOperator::@2 testBinaryOperator::@20 testBinaryOperator::@21 testBinaryOperator::@22 testBinaryOperator::@23 testBinaryOperator::@24 testBinaryOperator::@25 testBinaryOperator::@26 testBinaryOperator::@27 testBinaryOperator::@28 testBinaryOperator::@29 testBinaryOperator::@3 testBinaryOperator::@30 testBinaryOperator::@31 testBinaryOperator::@32 testBinaryOperator::@33 testBinaryOperator::@34 testBinaryOperator::@35 testBinaryOperator::@4 testBinaryOperator::@5 testBinaryOperator::@6 testBinaryOperator::@7 testBinaryOperator::@8 testBinaryOperator::@9 testUnaryOperator testUnaryOperator::@1 testUnaryOperator::@2 testUnaryOperator::@3 testUnaryOperator::@4 testUnaryOperator::@5
  [96] idx#106 = phi( testBinaryOperator/$28, testBinaryOperator::@1/idx#109, testBinaryOperator::@10/idx#109, testBinaryOperator::@11/idx#109, testBinaryOperator::@12/idx#25, testBinaryOperator::@13/idx#109, testBinaryOperator::@14/idx#109, testBinaryOperator::@15/idx#109, testBinaryOperator::@16/idx#109, testBinaryOperator::@17/idx#109, testBinaryOperator::@18/$50, testBinaryOperator::@19/idx#109, testBinaryOperator::@2/idx#109, testBinaryOperator::@20/idx#109, testBinaryOperator::@21/idx#109, testBinaryOperator::@22/idx#109, testBinaryOperator::@23/idx#109, testBinaryOperator::@24/idx#39, testBinaryOperator::@25/idx#109, testBinaryOperator::@26/idx#109, testBinaryOperator::@27/idx#109, testBinaryOperator::@28/idx#109, testBinaryOperator::@29/idx#109, testBinaryOperator::@3/idx#109, testBinaryOperator::@30/idx#46, testBinaryOperator::@31/idx#109, testBinaryOperator::@32/idx#109, testBinaryOperator::@33/idx#109, testBinaryOperator::@34/idx#109, testBinaryOperator::@35/idx#109, testBinaryOperator::@4/idx#109, testBinaryOperator::@5/idx#109, testBinaryOperator::@6/idx#18, testBinaryOperator::@7/idx#109, testBinaryOperator::@8/idx#109, testBinaryOperator::@9/idx#109, testUnaryOperator/0, testUnaryOperator::@1/idx#109, testUnaryOperator::@2/idx#109, testUnaryOperator::@3/idx#109, testUnaryOperator::@4/idx#109, testUnaryOperator::@5/idx#109 )
  [96] assertType::t2#42 = phi( testBinaryOperator/TYPEID_CHAR, testBinaryOperator::@1/TYPEID_CHAR, testBinaryOperator::@10/TYPEID_UNSIGNED_LONG, testBinaryOperator::@11/TYPEID_LONG, testBinaryOperator::@12/TYPEID_UNSIGNED_INT, testBinaryOperator::@13/TYPEID_UNSIGNED_INT, testBinaryOperator::@14/TYPEID_UNSIGNED_INT, testBinaryOperator::@15/TYPEID_UNSIGNED_INT, testBinaryOperator::@16/TYPEID_UNSIGNED_LONG, testBinaryOperator::@17/TYPEID_LONG, testBinaryOperator::@18/TYPEID_INT, testBinaryOperator::@19/TYPEID_INT, testBinaryOperator::@2/TYPEID_UNSIGNED_INT, testBinaryOperator::@20/TYPEID_UNSIGNED_INT, testBinaryOperator::@21/TYPEID_INT, testBinaryOperator::@22/TYPEID_UNSIGNED_LONG, testBinaryOperator::@23/TYPEID_LONG, testBinaryOperator::@24/TYPEID_UNSIGNED_LONG, testBinaryOperator::@25/TYPEID_UNSIGNED_LONG, testBinaryOperator::@26/TYPEID_UNSIGNED_LONG, testBinaryOperator::@27/TYPEID_UNSIGNED_LONG, testBinaryOperator::@28/TYPEID_UNSIGNED_LONG, testBinaryOperator::@29/TYPEID_UNSIGNED_LONG, testBinaryOperator::@3/TYPEID_INT, testBinaryOperator::@30/TYPEID_LONG, testBinaryOperator::@31/TYPEID_LONG, testBinaryOperator::@32/TYPEID_LONG, testBinaryOperator::@33/TYPEID_LONG, testBinaryOperator::@34/TYPEID_UNSIGNED_LONG, testBinaryOperator::@35/TYPEID_LONG, testBinaryOperator::@4/TYPEID_UNSIGNED_LONG, testBinaryOperator::@5/TYPEID_LONG, testBinaryOperator::@6/TYPEID_CHAR, testBinaryOperator::@7/TYPEID_SIGNED_CHAR, testBinaryOperator::@8/TYPEID_UNSIGNED_INT, testBinaryOperator::@9/TYPEID_INT, testUnaryOperator/TYPEID_CHAR, testUnaryOperator::@1/TYPEID_SIGNED_CHAR, testUnaryOperator::@2/TYPEID_UNSIGNED_INT, testUnaryOperator::@3/TYPEID_INT, testUnaryOperator::@4/TYPEID_UNSIGNED_LONG, testUnaryOperator::@5/TYPEID_LONG )
  [96] assertType::t1#42 = phi( testBinaryOperator/TYPEID_CHAR, testBinaryOperator::@1/TYPEID_CHAR, testBinaryOperator::@10/TYPEID_UNSIGNED_LONG, testBinaryOperator::@11/TYPEID_LONG, testBinaryOperator::@12/TYPEID_UNSIGNED_INT, testBinaryOperator::@13/TYPEID_UNSIGNED_INT, testBinaryOperator::@14/TYPEID_UNSIGNED_INT, testBinaryOperator::@15/TYPEID_UNSIGNED_INT, testBinaryOperator::@16/TYPEID_UNSIGNED_LONG, testBinaryOperator::@17/TYPEID_LONG, testBinaryOperator::@18/TYPEID_INT, testBinaryOperator::@19/TYPEID_INT, testBinaryOperator::@2/TYPEID_UNSIGNED_INT, testBinaryOperator::@20/TYPEID_UNSIGNED_INT, testBinaryOperator::@21/TYPEID_INT, testBinaryOperator::@22/TYPEID_UNSIGNED_LONG, testBinaryOperator::@23/TYPEID_LONG, testBinaryOperator::@24/TYPEID_UNSIGNED_LONG, testBinaryOperator::@25/TYPEID_UNSIGNED_LONG, testBinaryOperator::@26/TYPEID_UNSIGNED_LONG, testBinaryOperator::@27/TYPEID_UNSIGNED_LONG, testBinaryOperator::@28/TYPEID_UNSIGNED_LONG, testBinaryOperator::@29/TYPEID_UNSIGNED_LONG, testBinaryOperator::@3/TYPEID_INT, testBinaryOperator::@30/TYPEID_LONG, testBinaryOperator::@31/TYPEID_LONG, testBinaryOperator::@32/TYPEID_LONG, testBinaryOperator::@33/TYPEID_LONG, testBinaryOperator::@34/TYPEID_UNSIGNED_LONG, testBinaryOperator::@35/TYPEID_LONG, testBinaryOperator::@4/TYPEID_UNSIGNED_LONG, testBinaryOperator::@5/TYPEID_LONG, testBinaryOperator::@6/TYPEID_CHAR, testBinaryOperator::@7/TYPEID_SIGNED_CHAR, testBinaryOperator::@8/TYPEID_UNSIGNED_INT, testBinaryOperator::@9/TYPEID_INT, testUnaryOperator/TYPEID_CHAR, testUnaryOperator::@1/TYPEID_SIGNED_CHAR, testUnaryOperator::@2/TYPEID_UNSIGNED_INT, testUnaryOperator::@3/TYPEID_INT, testUnaryOperator::@4/TYPEID_UNSIGNED_LONG, testUnaryOperator::@5/TYPEID_LONG )
  [97] if(assertType::t1#42==assertType::t2#42) goto assertType::@1
  to:assertType::@3
assertType::@3: scope:[assertType]  from assertType
  [98] COLS[idx#106] = RED
  to:assertType::@2
assertType::@2: scope:[assertType]  from assertType::@1 assertType::@3
  [99] SCREEN[idx#106] = assertType::t1#42
  [100] idx#109 = ++ idx#106
  to:assertType::@return
assertType::@return: scope:[assertType]  from assertType::@2
  [101] return 
  to:@return
assertType::@1: scope:[assertType]  from assertType
  [102] COLS[idx#106] = GREEN
  to:assertType::@2
