You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
256 lines
11 KiB
256 lines
11 KiB
/* @generated */
|
|
digraph iCFG {
|
|
"div1_assign_conditional3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(1:int ) [line 43]\n *&return:int =(1 / n$0) [line 43]\n " shape="box"]
|
|
|
|
|
|
"div1_assign_conditional3" -> "div1_assign_conditional2" ;
|
|
"div1_assign_conditional2" [label="2: Exit div1_assign_conditional \n " color=yellow style=filled]
|
|
|
|
|
|
"div1_assign_conditional1" [label="1: Start div1_assign_conditional\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 43]\n " color=yellow style=filled]
|
|
|
|
|
|
"div1_assign_conditional1" -> "div1_assign_conditional3" ;
|
|
"choose_lvalue11" [label="11: DeclStmt \n *&v1:int =0 [line 11]\n " shape="box"]
|
|
|
|
|
|
"choose_lvalue11" -> "choose_lvalue10" ;
|
|
"choose_lvalue10" [label="10: DeclStmt \n *&v2:int =1 [line 11]\n " shape="box"]
|
|
|
|
|
|
"choose_lvalue10" -> "choose_lvalue5" ;
|
|
"choose_lvalue10" -> "choose_lvalue6" ;
|
|
"choose_lvalue9" [label="9: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int & [line 12]\n n$4=*n$3:int [line 12]\n *&v3:int =n$4 [line 12]\n " shape="box"]
|
|
|
|
|
|
"choose_lvalue9" -> "choose_lvalue3" ;
|
|
"choose_lvalue8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v2 [line 12]\n " shape="box"]
|
|
|
|
|
|
"choose_lvalue8" -> "choose_lvalue4" ;
|
|
"choose_lvalue7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v1 [line 12]\n " shape="box"]
|
|
|
|
|
|
"choose_lvalue7" -> "choose_lvalue4" ;
|
|
"choose_lvalue6" [label="6: Prune (false branch) \n n$2=*&a:int [line 12]\n PRUNE((n$2 == 0), false); [line 12]\n " shape="invhouse"]
|
|
|
|
|
|
"choose_lvalue6" -> "choose_lvalue8" ;
|
|
"choose_lvalue5" [label="5: Prune (true branch) \n n$2=*&a:int [line 12]\n PRUNE((n$2 != 0), true); [line 12]\n " shape="invhouse"]
|
|
|
|
|
|
"choose_lvalue5" -> "choose_lvalue7" ;
|
|
"choose_lvalue4" [label="4: + \n " ]
|
|
|
|
|
|
"choose_lvalue4" -> "choose_lvalue9" ;
|
|
"choose_lvalue3" [label="3: Return Stmt \n n$0=*&v3:int [line 13]\n *&return:int =n$0 [line 13]\n " shape="box"]
|
|
|
|
|
|
"choose_lvalue3" -> "choose_lvalue2" ;
|
|
"choose_lvalue2" [label="2: Exit choose_lvalue \n " color=yellow style=filled]
|
|
|
|
|
|
"choose_lvalue1" [label="1: Start choose_lvalue\nFormals: a:int \nLocals: v3:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int & v2:int v1:int \n DECLARE_LOCALS(&return,&v3,&0$?%__sil_tmpSIL_temp_conditional___n$1,&v2,&v1); [line 10]\n " color=yellow style=filled]
|
|
|
|
|
|
"choose_lvalue1" -> "choose_lvalue11" ;
|
|
"assign_conditional11" [label="11: DeclStmt \n *&v1:int =0 [line 23]\n " shape="box"]
|
|
|
|
|
|
"assign_conditional11" -> "assign_conditional10" ;
|
|
"assign_conditional10" [label="10: DeclStmt \n *&v2:int =0 [line 23]\n " shape="box"]
|
|
|
|
|
|
"assign_conditional10" -> "assign_conditional5" ;
|
|
"assign_conditional10" -> "assign_conditional6" ;
|
|
"assign_conditional9" [label="9: BinaryOperatorStmt: Assign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int & [line 24]\n *n$3:int =1 [line 24]\n " shape="box"]
|
|
|
|
|
|
"assign_conditional9" -> "assign_conditional3" ;
|
|
"assign_conditional8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v2 [line 24]\n " shape="box"]
|
|
|
|
|
|
"assign_conditional8" -> "assign_conditional4" ;
|
|
"assign_conditional7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v1 [line 24]\n " shape="box"]
|
|
|
|
|
|
"assign_conditional7" -> "assign_conditional4" ;
|
|
"assign_conditional6" [label="6: Prune (false branch) \n n$2=*&a:int [line 24]\n PRUNE((n$2 == 0), false); [line 24]\n " shape="invhouse"]
|
|
|
|
|
|
"assign_conditional6" -> "assign_conditional8" ;
|
|
"assign_conditional5" [label="5: Prune (true branch) \n n$2=*&a:int [line 24]\n PRUNE((n$2 != 0), true); [line 24]\n " shape="invhouse"]
|
|
|
|
|
|
"assign_conditional5" -> "assign_conditional7" ;
|
|
"assign_conditional4" [label="4: + \n " ]
|
|
|
|
|
|
"assign_conditional4" -> "assign_conditional9" ;
|
|
"assign_conditional3" [label="3: Return Stmt \n n$0=*&v1:int [line 25]\n *&return:int =n$0 [line 25]\n " shape="box"]
|
|
|
|
|
|
"assign_conditional3" -> "assign_conditional2" ;
|
|
"assign_conditional2" [label="2: Exit assign_conditional \n " color=yellow style=filled]
|
|
|
|
|
|
"assign_conditional1" [label="1: Start assign_conditional\nFormals: a:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int & v2:int v1:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$1,&v2,&v1); [line 22]\n " color=yellow style=filled]
|
|
|
|
|
|
"assign_conditional1" -> "assign_conditional11" ;
|
|
"div1_temp_lvalue3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(0:int ,1:int ) [line 47]\n *&return:int =n$0 [line 47]\n " shape="box"]
|
|
|
|
|
|
"div1_temp_lvalue3" -> "div1_temp_lvalue2" ;
|
|
"div1_temp_lvalue2" [label="2: Exit div1_temp_lvalue \n " color=yellow style=filled]
|
|
|
|
|
|
"div1_temp_lvalue1" [label="1: Start div1_temp_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 47]\n " color=yellow style=filled]
|
|
|
|
|
|
"div1_temp_lvalue1" -> "div1_temp_lvalue3" ;
|
|
"div0_assign_conditional3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(0:int ) [line 41]\n *&return:int =(1 / n$0) [line 41]\n " shape="box"]
|
|
|
|
|
|
"div0_assign_conditional3" -> "div0_assign_conditional2" ;
|
|
"div0_assign_conditional2" [label="2: Exit div0_assign_conditional \n " color=yellow style=filled]
|
|
|
|
|
|
"div0_assign_conditional1" [label="1: Start div0_assign_conditional\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 41]\n " color=yellow style=filled]
|
|
|
|
|
|
"div0_assign_conditional1" -> "div0_assign_conditional3" ;
|
|
"div0_choose_rvalue3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(1:int ) [line 37]\n *&return:int =(1 / n$0) [line 37]\n " shape="box"]
|
|
|
|
|
|
"div0_choose_rvalue3" -> "div0_choose_rvalue2" ;
|
|
"div0_choose_rvalue2" [label="2: Exit div0_choose_rvalue \n " color=yellow style=filled]
|
|
|
|
|
|
"div0_choose_rvalue1" [label="1: Start div0_choose_rvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 37]\n " color=yellow style=filled]
|
|
|
|
|
|
"div0_choose_rvalue1" -> "div0_choose_rvalue3" ;
|
|
"div1_choose_lvalue3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(0:int ) [line 35]\n *&return:int =(1 / n$0) [line 35]\n " shape="box"]
|
|
|
|
|
|
"div1_choose_lvalue3" -> "div1_choose_lvalue2" ;
|
|
"div1_choose_lvalue2" [label="2: Exit div1_choose_lvalue \n " color=yellow style=filled]
|
|
|
|
|
|
"div1_choose_lvalue1" [label="1: Start div1_choose_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 35]\n " color=yellow style=filled]
|
|
|
|
|
|
"div1_choose_lvalue1" -> "div1_choose_lvalue3" ;
|
|
"div_temp_lvalue9" [label="9: DeclStmt \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int =n$6 [line 29]\n *&r:int &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 29]\n " shape="box"]
|
|
|
|
|
|
"div_temp_lvalue9" -> "div_temp_lvalue3" ;
|
|
"div_temp_lvalue8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 29]\n " shape="box"]
|
|
|
|
|
|
"div_temp_lvalue8" -> "div_temp_lvalue4" ;
|
|
"div_temp_lvalue7" [label="7: ConditinalStmt Branch \n n$5=*&b:int [line 29]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =n$5 [line 29]\n " shape="box"]
|
|
|
|
|
|
"div_temp_lvalue7" -> "div_temp_lvalue4" ;
|
|
"div_temp_lvalue6" [label="6: Prune (false branch) \n n$4=*&a:int [line 29]\n PRUNE((n$4 == 0), false); [line 29]\n " shape="invhouse"]
|
|
|
|
|
|
"div_temp_lvalue6" -> "div_temp_lvalue8" ;
|
|
"div_temp_lvalue5" [label="5: Prune (true branch) \n n$4=*&a:int [line 29]\n PRUNE((n$4 != 0), true); [line 29]\n " shape="invhouse"]
|
|
|
|
|
|
"div_temp_lvalue5" -> "div_temp_lvalue7" ;
|
|
"div_temp_lvalue4" [label="4: + \n " ]
|
|
|
|
|
|
"div_temp_lvalue4" -> "div_temp_lvalue9" ;
|
|
"div_temp_lvalue3" [label="3: Return Stmt \n n$0=*&r:int & [line 30]\n n$1=*n$0:int [line 30]\n *&return:int =(1 / n$1) [line 30]\n " shape="box"]
|
|
|
|
|
|
"div_temp_lvalue3" -> "div_temp_lvalue2" ;
|
|
"div_temp_lvalue2" [label="2: Exit div_temp_lvalue \n " color=yellow style=filled]
|
|
|
|
|
|
"div_temp_lvalue1" [label="1: Start div_temp_lvalue\nFormals: a:int b:int \nLocals: r:int & 0$?%__sil_tmpSIL_materialize_temp__n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int \n DECLARE_LOCALS(&return,&r,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_temp_conditional___n$3); [line 28]\n " color=yellow style=filled]
|
|
|
|
|
|
"div_temp_lvalue1" -> "div_temp_lvalue5" ;
|
|
"div_temp_lvalue1" -> "div_temp_lvalue6" ;
|
|
"div0_temp_lvalue3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(1:int ,0:int ) [line 45]\n *&return:int =n$0 [line 45]\n " shape="box"]
|
|
|
|
|
|
"div0_temp_lvalue3" -> "div0_temp_lvalue2" ;
|
|
"div0_temp_lvalue2" [label="2: Exit div0_temp_lvalue \n " color=yellow style=filled]
|
|
|
|
|
|
"div0_temp_lvalue1" [label="1: Start div0_temp_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 45]\n " color=yellow style=filled]
|
|
|
|
|
|
"div0_temp_lvalue1" -> "div0_temp_lvalue3" ;
|
|
"div0_choose_lvalue3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(1:int ) [line 33]\n *&return:int =(1 / n$0) [line 33]\n " shape="box"]
|
|
|
|
|
|
"div0_choose_lvalue3" -> "div0_choose_lvalue2" ;
|
|
"div0_choose_lvalue2" [label="2: Exit div0_choose_lvalue \n " color=yellow style=filled]
|
|
|
|
|
|
"div0_choose_lvalue1" [label="1: Start div0_choose_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 33]\n " color=yellow style=filled]
|
|
|
|
|
|
"div0_choose_lvalue1" -> "div0_choose_lvalue3" ;
|
|
"div1_choose_rvalue3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(0:int ) [line 39]\n *&return:int =(1 / n$0) [line 39]\n " shape="box"]
|
|
|
|
|
|
"div1_choose_rvalue3" -> "div1_choose_rvalue2" ;
|
|
"div1_choose_rvalue2" [label="2: Exit div1_choose_rvalue \n " color=yellow style=filled]
|
|
|
|
|
|
"div1_choose_rvalue1" [label="1: Start div1_choose_rvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 39]\n " color=yellow style=filled]
|
|
|
|
|
|
"div1_choose_rvalue1" -> "div1_choose_rvalue3" ;
|
|
"choose_rvalue10" [label="10: DeclStmt \n *&v1:int =0 [line 17]\n " shape="box"]
|
|
|
|
|
|
"choose_rvalue10" -> "choose_rvalue5" ;
|
|
"choose_rvalue10" -> "choose_rvalue6" ;
|
|
"choose_rvalue9" [label="9: DeclStmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 18]\n *&v3:int =n$4 [line 18]\n " shape="box"]
|
|
|
|
|
|
"choose_rvalue9" -> "choose_rvalue3" ;
|
|
"choose_rvalue8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 18]\n " shape="box"]
|
|
|
|
|
|
"choose_rvalue8" -> "choose_rvalue4" ;
|
|
"choose_rvalue7" [label="7: ConditinalStmt Branch \n n$3=*&v1:int [line 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$3 [line 18]\n " shape="box"]
|
|
|
|
|
|
"choose_rvalue7" -> "choose_rvalue4" ;
|
|
"choose_rvalue6" [label="6: Prune (false branch) \n n$2=*&a:int [line 18]\n PRUNE((n$2 == 0), false); [line 18]\n " shape="invhouse"]
|
|
|
|
|
|
"choose_rvalue6" -> "choose_rvalue8" ;
|
|
"choose_rvalue5" [label="5: Prune (true branch) \n n$2=*&a:int [line 18]\n PRUNE((n$2 != 0), true); [line 18]\n " shape="invhouse"]
|
|
|
|
|
|
"choose_rvalue5" -> "choose_rvalue7" ;
|
|
"choose_rvalue4" [label="4: + \n " ]
|
|
|
|
|
|
"choose_rvalue4" -> "choose_rvalue9" ;
|
|
"choose_rvalue3" [label="3: Return Stmt \n n$0=*&v3:int [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"]
|
|
|
|
|
|
"choose_rvalue3" -> "choose_rvalue2" ;
|
|
"choose_rvalue2" [label="2: Exit choose_rvalue \n " color=yellow style=filled]
|
|
|
|
|
|
"choose_rvalue1" [label="1: Start choose_rvalue\nFormals: a:int \nLocals: v3:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int v1:int \n DECLARE_LOCALS(&return,&v3,&0$?%__sil_tmpSIL_temp_conditional___n$1,&v1); [line 16]\n " color=yellow style=filled]
|
|
|
|
|
|
"choose_rvalue1" -> "choose_rvalue10" ;
|
|
}
|