|
|
|
/* @generated */
|
|
|
|
digraph iCFG {
|
|
|
|
"getValue3" [label="3: Return Stmt \n *&return:int =1 [line 137]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"getValue3" -> "getValue2" ;
|
|
|
|
"getValue2" [label="2: Exit getValue \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"getValue1" [label="1: Start getValue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 137]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"getValue1" -> "getValue3" ;
|
|
|
|
"m95" [label="5: DeclStmt \n *&value:int =0 [line 180]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m95" -> "m94" ;
|
|
|
|
"m94" [label="4: Switch_stmt \n n$0=*&value:int [line 181]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m94" -> "m93" ;
|
|
|
|
"m93" [label="3: Return Stmt \n *&return:int =0 [line 182]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m93" -> "m92" ;
|
|
|
|
"m92" [label="2: Exit m9 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m91" [label="1: Start m9\nFormals: \nLocals: value:int \n DECLARE_LOCALS(&return,&value); [line 179]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m91" -> "m95" ;
|
|
|
|
"m829" [label="29: DeclStmt \n *&value:int =0 [line 158]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m829" -> "m84" ;
|
|
|
|
"m828" [label="28: Prune (false branch) \n PRUNE(((n$3 == 0) == 0), false); [line 161]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m828" -> "m823" ;
|
|
|
|
"m828" -> "m824" ;
|
|
|
|
"m827" [label="27: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 161]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m827" -> "m826" ;
|
|
|
|
"m826" [label="26: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 162]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m826" -> "m825" ;
|
|
|
|
"m825" [label="25: Return Stmt \n *&return:int =0 [line 163]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m825" -> "m82" ;
|
|
|
|
"m824" [label="24: Prune (false branch) \n PRUNE(((n$3 == 1) == 0), false); [line 164]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m824" -> "m818" ;
|
|
|
|
"m824" -> "m819" ;
|
|
|
|
"m823" [label="23: Prune (true branch) \n PRUNE(((n$3 == 1) != 0), true); [line 164]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m823" -> "m822" ;
|
|
|
|
"m822" [label="22: DeclStmt \n *&something:int =1 [line 165]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m822" -> "m821" ;
|
|
|
|
"m821" [label="21: UnaryOperator \n n$4=*&something:int [line 166]\n *&something:int =(n$4 + 1) [line 166]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m821" -> "m84" ;
|
|
|
|
"m820" [label="20: DeclStmt \n *&z:int =9 [line 169]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m820" -> "m88" ;
|
|
|
|
"m819" [label="19: Prune (false branch) \n PRUNE(((n$3 == 2) == 0), false); [line 170]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m819" -> "m816" ;
|
|
|
|
"m819" -> "m817" ;
|
|
|
|
"m818" [label="18: Prune (true branch) \n PRUNE(((n$3 == 2) != 0), true); [line 170]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m818" -> "m88" ;
|
|
|
|
"m817" [label="17: Prune (false branch) \n PRUNE(((n$3 == 3) == 0), false); [line 171]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m817" -> "m88" ;
|
|
|
|
"m816" [label="16: Prune (true branch) \n PRUNE(((n$3 == 3) != 0), true); [line 171]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m816" -> "m88" ;
|
|
|
|
"m815" [label="15: Switch_stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 160]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m815" -> "m827" ;
|
|
|
|
"m815" -> "m828" ;
|
|
|
|
"m814" [label="14: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =2 [line 160]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m814" -> "m89" ;
|
|
|
|
"m813" [label="13: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 160]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m813" -> "m89" ;
|
|
|
|
"m812" [label="12: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 160]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m812" -> "m814" ;
|
|
|
|
"m811" [label="11: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 160]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m811" -> "m813" ;
|
|
|
|
"m810" [label="10: BinaryOperatorStmt: EQ \n n$2=_fun_getValue() [line 160]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m810" -> "m811" ;
|
|
|
|
"m810" -> "m812" ;
|
|
|
|
"m89" [label="9: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
"m89" -> "m815" ;
|
|
|
|
"m88" [label="8: DeclStmt \n *&a:int =0 [line 174]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m88" -> "m84" ;
|
|
|
|
"m87" [label="7: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 159]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m87" -> "m83" ;
|
|
|
|
"m86" [label="6: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 159]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m86" -> "m810" ;
|
|
|
|
"m85" [label="5: BinaryOperatorStmt: LT \n n$0=*&value:int [line 159]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m85" -> "m86" ;
|
|
|
|
"m85" -> "m87" ;
|
|
|
|
"m84" [label="4: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
"m84" -> "m85" ;
|
|
|
|
"m83" [label="3: Return Stmt \n *&return:int =0 [line 176]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m83" -> "m82" ;
|
|
|
|
"m82" [label="2: Exit m8 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m81" [label="1: Start m8\nFormals: \nLocals: a:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int z:int something:int value:int \n DECLARE_LOCALS(&return,&a,&0$?%__sil_tmpSIL_temp_conditional___n$1,&z,&something,&value); [line 157]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m81" -> "m829" ;
|
|
|
|
"m623" [label="23: DeclStmt \n *&value:int =0 [line 120]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m623" -> "m65" ;
|
|
|
|
"m622" [label="22: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 122]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m622" -> "m618" ;
|
|
|
|
"m622" -> "m619" ;
|
|
|
|
"m621" [label="21: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 122]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m621" -> "m620" ;
|
|
|
|
"m620" [label="20: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 123]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m620" -> "m63" ;
|
|
|
|
"m619" [label="19: Prune (false branch) \n PRUNE(((n$2 == 1) == 0), false); [line 125]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m619" -> "m613" ;
|
|
|
|
"m619" -> "m614" ;
|
|
|
|
"m618" [label="18: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 125]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m618" -> "m617" ;
|
|
|
|
"m617" [label="17: DeclStmt \n *&something:int =1 [line 126]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m617" -> "m616" ;
|
|
|
|
"m616" [label="16: UnaryOperator \n n$3=*&something:int [line 127]\n *&something:int =(n$3 + 1) [line 127]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m616" -> "m63" ;
|
|
|
|
"m615" [label="15: DeclStmt \n *&z:int =9 [line 129]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m615" -> "m63" ;
|
|
|
|
"m614" [label="14: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 130]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m614" -> "m611" ;
|
|
|
|
"m614" -> "m612" ;
|
|
|
|
"m613" [label="13: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 130]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m613" -> "m63" ;
|
|
|
|
"m612" [label="12: Prune (false branch) \n PRUNE(((n$2 == 3) == 0), false); [line 131]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m612" -> "m63" ;
|
|
|
|
"m611" [label="11: Prune (true branch) \n PRUNE(((n$2 == 3) != 0), true); [line 131]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m611" -> "m63" ;
|
|
|
|
"m610" [label="10: Switch_stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 121]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m610" -> "m621" ;
|
|
|
|
"m610" -> "m622" ;
|
|
|
|
"m69" [label="9: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 121]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m69" -> "m64" ;
|
|
|
|
"m68" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 121]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m68" -> "m64" ;
|
|
|
|
"m67" [label="7: Prune (false branch) \n PRUNE(((n$1 > 0) == 0), false); [line 121]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m67" -> "m69" ;
|
|
|
|
"m66" [label="6: Prune (true branch) \n PRUNE(((n$1 > 0) != 0), true); [line 121]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m66" -> "m68" ;
|
|
|
|
"m65" [label="5: BinaryOperatorStmt: GT \n n$1=*&value:int [line 121]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m65" -> "m66" ;
|
|
|
|
"m65" -> "m67" ;
|
|
|
|
"m64" [label="4: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
"m64" -> "m610" ;
|
|
|
|
"m63" [label="3: Return Stmt \n *&return:int =0 [line 134]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m63" -> "m62" ;
|
|
|
|
"m62" [label="2: Exit m6 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m61" [label="1: Start m6\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int z:int something:int value:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&z,&something,&value); [line 119]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m61" -> "m623" ;
|
|
|
|
"m1114" [label="14: DeclStmt \n *&value:int =0 [line 192]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m1114" -> "m115" ;
|
|
|
|
"m1113" [label="13: Prune (false branch) \n PRUNE(((n$3 == 0) == 0), false); [line 194]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m1113" -> "m113" ;
|
|
|
|
"m1112" [label="12: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 194]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m1112" -> "m1111" ;
|
|
|
|
"m1111" [label="11: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 195]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m1111" -> "m113" ;
|
|
|
|
"m1110" [label="10: Switch_stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 193]\n *&value:int =n$2 [line 193]\n n$3=*&value:int [line 193]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m1110" -> "m1112" ;
|
|
|
|
"m1110" -> "m1113" ;
|
|
|
|
"m119" [label="9: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =9 [line 193]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m119" -> "m114" ;
|
|
|
|
"m118" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =7 [line 193]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m118" -> "m114" ;
|
|
|
|
"m117" [label="7: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 193]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m117" -> "m119" ;
|
|
|
|
"m116" [label="6: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 193]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m116" -> "m118" ;
|
|
|
|
"m115" [label="5: BinaryOperatorStmt: EQ \n n$1=*&value:int [line 193]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m115" -> "m116" ;
|
|
|
|
"m115" -> "m117" ;
|
|
|
|
"m114" [label="4: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
"m114" -> "m1110" ;
|
|
|
|
"m113" [label="3: Return Stmt \n *&return:int =0 [line 197]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m113" -> "m112" ;
|
|
|
|
"m112" [label="2: Exit m11 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m111" [label="1: Start m11\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int value:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&value); [line 191]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m111" -> "m1114" ;
|
|
|
|
"m123" [label="23: DeclStmt \n *&value:int =0 [line 13]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m123" -> "m14" ;
|
|
|
|
"m122" [label="22: DeclStmt \n *&x:int =1 [line 16]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m122" -> "m121" ;
|
|
|
|
"m121" [label="21: Call _fun_printf \n n$7=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 17]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m121" -> "m120" ;
|
|
|
|
"m120" [label="20: BinaryOperatorStmt: Assign \n n$6=*&value:int [line 18]\n *&x:int =(n$6 + 1) [line 18]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m120" -> "m117" ;
|
|
|
|
"m119" [label="19: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 19]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m119" -> "m115" ;
|
|
|
|
"m119" -> "m116" ;
|
|
|
|
"m118" [label="18: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 19]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m118" -> "m117" ;
|
|
|
|
"m117" [label="17: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 20]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m117" -> "m18" ;
|
|
|
|
"m116" [label="16: Prune (false branch) \n PRUNE(((n$2 == 1) == 0), false); [line 22]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m116" -> "m112" ;
|
|
|
|
"m116" -> "m113" ;
|
|
|
|
"m115" [label="15: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 22]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m115" -> "m114" ;
|
|
|
|
"m114" [label="14: Call _fun_printf \n n$4=_fun_printf(\"(1)HELLO WORLD!\":char *) [line 23]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m114" -> "m14" ;
|
|
|
|
"m113" [label="13: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 25]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m113" -> "m110" ;
|
|
|
|
"m112" [label="12: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 25]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m112" -> "m111" ;
|
|
|
|
"m111" [label="11: Call _fun_printf \n n$3=_fun_printf(\"(2/def)HELLO WORLD!\":char *) [line 27]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m111" -> "m14" ;
|
|
|
|
"m110" [label="10: DefaultStmt_placeholder \n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m110" -> "m111" ;
|
|
|
|
"m19" [label="9: Switch_stmt \n n$2=*&value:int [line 15]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m19" -> "m118" ;
|
|
|
|
"m19" -> "m119" ;
|
|
|
|
"m18" [label="8: Call _fun_printf \n n$1=_fun_printf(\"(after_switch)HELLO WORLD!\":char *) [line 30]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m18" -> "m14" ;
|
|
|
|
"m17" [label="7: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 14]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m17" -> "m13" ;
|
|
|
|
"m16" [label="6: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 14]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m16" -> "m19" ;
|
|
|
|
"m15" [label="5: BinaryOperatorStmt: LT \n n$0=*&value:int [line 14]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m15" -> "m16" ;
|
|
|
|
"m15" -> "m17" ;
|
|
|
|
"m14" [label="4: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
"m14" -> "m15" ;
|
|
|
|
"m13" [label="3: Return Stmt \n *&return:int =0 [line 32]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m13" -> "m12" ;
|
|
|
|
"m12" [label="2: Exit m1 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m11" [label="1: Start m1\nFormals: \nLocals: x:int value:int \n DECLARE_LOCALS(&return,&x,&value); [line 12]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m11" -> "m123" ;
|
|
|
|
"m105" [label="5: DeclStmt \n *&value:int =0 [line 186]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m105" -> "m104" ;
|
|
|
|
"m104" [label="4: Switch_stmt \n *&value:int =7 [line 187]\n n$0=*&value:int [line 187]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m104" -> "m103" ;
|
|
|
|
"m103" [label="3: Return Stmt \n *&return:int =0 [line 188]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m103" -> "m102" ;
|
|
|
|
"m102" [label="2: Exit m10 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m101" [label="1: Start m10\nFormals: \nLocals: value:int \n DECLARE_LOCALS(&return,&value); [line 185]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m101" -> "m105" ;
|
|
|
|
"m717" [label="17: DeclStmt \n *&value:int =0 [line 140]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m717" -> "m74" ;
|
|
|
|
"m716" [label="16: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 142]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m716" -> "m712" ;
|
|
|
|
"m716" -> "m713" ;
|
|
|
|
"m715" [label="15: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 142]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m715" -> "m714" ;
|
|
|
|
"m714" [label="14: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 143]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m714" -> "m73" ;
|
|
|
|
"m713" [label="13: Prune (false branch) \n PRUNE(((n$0 == 1) == 0), false); [line 145]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m713" -> "m77" ;
|
|
|
|
"m713" -> "m78" ;
|
|
|
|
"m712" [label="12: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 145]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m712" -> "m711" ;
|
|
|
|
"m711" [label="11: DeclStmt \n *&something:int =1 [line 146]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m711" -> "m710" ;
|
|
|
|
"m710" [label="10: UnaryOperator \n n$1=*&something:int [line 147]\n *&something:int =(n$1 + 1) [line 147]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m710" -> "m73" ;
|
|
|
|
"m79" [label="9: DeclStmt \n *&z:int =9 [line 149]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m79" -> "m73" ;
|
|
|
|
"m78" [label="8: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 150]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m78" -> "m75" ;
|
|
|
|
"m78" -> "m76" ;
|
|
|
|
"m77" [label="7: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 150]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m77" -> "m73" ;
|
|
|
|
"m76" [label="6: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 151]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m76" -> "m73" ;
|
|
|
|
"m75" [label="5: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 151]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m75" -> "m73" ;
|
|
|
|
"m74" [label="4: Switch_stmt \n n$0=_fun_getValue() [line 141]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m74" -> "m715" ;
|
|
|
|
"m74" -> "m716" ;
|
|
|
|
"m73" [label="3: Return Stmt \n *&return:int =0 [line 154]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m73" -> "m72" ;
|
|
|
|
"m72" [label="2: Exit m7 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m71" [label="1: Start m7\nFormals: \nLocals: z:int something:int value:int \n DECLARE_LOCALS(&return,&z,&something,&value); [line 139]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m71" -> "m717" ;
|
|
|
|
"m422" [label="22: DeclStmt \n *&value:int =0 [line 79]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m422" -> "m44" ;
|
|
|
|
"m421" [label="21: DeclStmt \n *&x:int =1 [line 81]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m421" -> "m420" ;
|
|
|
|
"m420" [label="20: Call _fun_printf \n n$4=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 82]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m420" -> "m419" ;
|
|
|
|
"m419" [label="19: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 83]\n *&x:int =(n$3 + 1) [line 83]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m419" -> "m416" ;
|
|
|
|
"m418" [label="18: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 84]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m418" -> "m413" ;
|
|
|
|
"m418" -> "m414" ;
|
|
|
|
"m417" [label="17: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 84]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m417" -> "m416" ;
|
|
|
|
"m416" [label="16: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 85]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m416" -> "m43" ;
|
|
|
|
"m415" [label="15: DeclStmt \n *&z:int =9 [line 87]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m415" -> "m412" ;
|
|
|
|
"m414" [label="14: Prune (false branch) \n PRUNE(((n$0 == 1) == 0), false); [line 90]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m414" -> "m48" ;
|
|
|
|
"m414" -> "m49" ;
|
|
|
|
"m413" [label="13: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 90]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m413" -> "m412" ;
|
|
|
|
"m412" [label="12: DeclStmt \n *&something:int =1 [line 91]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m412" -> "m411" ;
|
|
|
|
"m411" [label="11: UnaryOperator \n n$1=*&something:int [line 92]\n *&something:int =(n$1 + 1) [line 92]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m411" -> "m410" ;
|
|
|
|
"m410" [label="10: BinaryOperatorStmt: Assign \n *&z:int =42 [line 94]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m410" -> "m43" ;
|
|
|
|
"m49" [label="9: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 96]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m49" -> "m46" ;
|
|
|
|
"m49" -> "m47" ;
|
|
|
|
"m48" [label="8: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 96]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m48" -> "m43" ;
|
|
|
|
"m47" [label="7: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 97]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m47" -> "m45" ;
|
|
|
|
"m46" [label="6: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 97]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m46" -> "m43" ;
|
|
|
|
"m45" [label="5: DefaultStmt_placeholder \n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m45" -> "m412" ;
|
|
|
|
"m44" [label="4: Switch_stmt \n n$0=*&value:int [line 80]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m44" -> "m417" ;
|
|
|
|
"m44" -> "m418" ;
|
|
|
|
"m43" [label="3: Return Stmt \n *&return:int =0 [line 100]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m43" -> "m42" ;
|
|
|
|
"m42" [label="2: Exit m4 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m41" [label="1: Start m4\nFormals: \nLocals: something:int z:int x:int value:int \n DECLARE_LOCALS(&return,&something,&z,&x,&value); [line 78]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m41" -> "m422" ;
|
|
|
|
"m317" [label="17: DeclStmt \n *&value:int =0 [line 61]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m317" -> "m34" ;
|
|
|
|
"m316" [label="16: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 63]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m316" -> "m312" ;
|
|
|
|
"m316" -> "m313" ;
|
|
|
|
"m315" [label="15: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 63]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m315" -> "m314" ;
|
|
|
|
"m314" [label="14: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 64]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m314" -> "m33" ;
|
|
|
|
"m313" [label="13: Prune (false branch) \n PRUNE(((n$0 == 1) == 0), false); [line 66]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m313" -> "m37" ;
|
|
|
|
"m313" -> "m38" ;
|
|
|
|
"m312" [label="12: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 66]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m312" -> "m311" ;
|
|
|
|
"m311" [label="11: DeclStmt \n *&something:int =1 [line 67]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m311" -> "m310" ;
|
|
|
|
"m310" [label="10: UnaryOperator \n n$1=*&something:int [line 68]\n *&something:int =(n$1 + 1) [line 68]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m310" -> "m33" ;
|
|
|
|
"m39" [label="9: DeclStmt \n *&z:int =9 [line 70]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m39" -> "m33" ;
|
|
|
|
"m38" [label="8: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 71]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m38" -> "m35" ;
|
|
|
|
"m38" -> "m36" ;
|
|
|
|
"m37" [label="7: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 71]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m37" -> "m33" ;
|
|
|
|
"m36" [label="6: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 72]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m36" -> "m33" ;
|
|
|
|
"m35" [label="5: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 72]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m35" -> "m33" ;
|
|
|
|
"m34" [label="4: Switch_stmt \n n$0=*&value:int [line 62]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m34" -> "m315" ;
|
|
|
|
"m34" -> "m316" ;
|
|
|
|
"m33" [label="3: Return Stmt \n *&return:int =0 [line 75]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m33" -> "m32" ;
|
|
|
|
"m32" [label="2: Exit m3 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m31" [label="1: Start m3\nFormals: \nLocals: z:int something:int value:int \n DECLARE_LOCALS(&return,&z,&something,&value); [line 60]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m31" -> "m317" ;
|
|
|
|
"m222" [label="22: DeclStmt \n *&value:int =0 [line 36]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m222" -> "m24" ;
|
|
|
|
"m221" [label="21: DeclStmt \n *&x:int =1 [line 38]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m221" -> "m220" ;
|
|
|
|
"m220" [label="20: Call _fun_printf \n n$4=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 39]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m220" -> "m219" ;
|
|
|
|
"m219" [label="19: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 40]\n *&x:int =(n$3 + 1) [line 40]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m219" -> "m216" ;
|
|
|
|
"m218" [label="18: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 41]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m218" -> "m213" ;
|
|
|
|
"m218" -> "m214" ;
|
|
|
|
"m217" [label="17: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 41]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m217" -> "m216" ;
|
|
|
|
"m216" [label="16: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 42]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m216" -> "m23" ;
|
|
|
|
"m215" [label="15: DeclStmt \n *&z:int =9 [line 44]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m215" -> "m212" ;
|
|
|
|
"m214" [label="14: Prune (false branch) \n PRUNE(((n$0 == 1) == 0), false); [line 47]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m214" -> "m28" ;
|
|
|
|
"m214" -> "m29" ;
|
|
|
|
"m213" [label="13: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 47]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m213" -> "m212" ;
|
|
|
|
"m212" [label="12: DeclStmt \n *&something:int =1 [line 48]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m212" -> "m211" ;
|
|
|
|
"m211" [label="11: UnaryOperator \n n$1=*&something:int [line 49]\n *&something:int =(n$1 + 1) [line 49]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m211" -> "m210" ;
|
|
|
|
"m210" [label="10: BinaryOperatorStmt: Assign \n *&z:int =42 [line 51]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m210" -> "m23" ;
|
|
|
|
"m29" [label="9: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 53]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m29" -> "m26" ;
|
|
|
|
"m29" -> "m27" ;
|
|
|
|
"m28" [label="8: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 53]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m28" -> "m23" ;
|
|
|
|
"m27" [label="7: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 54]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m27" -> "m25" ;
|
|
|
|
"m26" [label="6: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 54]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m26" -> "m23" ;
|
|
|
|
"m25" [label="5: DefaultStmt_placeholder \n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m25" -> "m212" ;
|
|
|
|
"m24" [label="4: Switch_stmt \n n$0=*&value:int [line 37]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m24" -> "m217" ;
|
|
|
|
"m24" -> "m218" ;
|
|
|
|
"m23" [label="3: Return Stmt \n *&return:int =0 [line 57]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m23" -> "m22" ;
|
|
|
|
"m22" [label="2: Exit m2 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m21" [label="1: Start m2\nFormals: \nLocals: something:int z:int x:int value:int \n DECLARE_LOCALS(&return,&something,&z,&x,&value); [line 35]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m21" -> "m222" ;
|
|
|
|
"m515" [label="15: DeclStmt \n *&value:int =0 [line 104]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m515" -> "m54" ;
|
|
|
|
"m514" [label="14: DeclStmt \n *&x:int =1 [line 107]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m514" -> "m513" ;
|
|
|
|
"m513" [label="13: Call _fun_printf \n n$4=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 108]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m513" -> "m512" ;
|
|
|
|
"m512" [label="12: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 109]\n *&x:int =(n$3 + 1) [line 109]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m512" -> "m54" ;
|
|
|
|
"m511" [label="11: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 111]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m511" -> "m54" ;
|
|
|
|
"m510" [label="10: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 111]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m510" -> "m59" ;
|
|
|
|
"m59" [label="9: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 112]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m59" -> "m54" ;
|
|
|
|
"m58" [label="8: Switch_stmt \n n$1=*&value:int [line 106]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m58" -> "m510" ;
|
|
|
|
"m58" -> "m511" ;
|
|
|
|
"m57" [label="7: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 105]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m57" -> "m53" ;
|
|
|
|
"m56" [label="6: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 105]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"m56" -> "m58" ;
|
|
|
|
"m55" [label="5: BinaryOperatorStmt: LT \n n$0=*&value:int [line 105]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m55" -> "m56" ;
|
|
|
|
"m55" -> "m57" ;
|
|
|
|
"m54" [label="4: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
"m54" -> "m55" ;
|
|
|
|
"m53" [label="3: Return Stmt \n *&return:int =0 [line 116]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"m53" -> "m52" ;
|
|
|
|
"m52" [label="2: Exit m5 \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m51" [label="1: Start m5\nFormals: \nLocals: x:int value:int \n DECLARE_LOCALS(&return,&x,&value); [line 103]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"m51" -> "m515" ;
|
|
|
|
}
|