[frontend] generate fresh ids separately for different procedures in the cfg

Summary:
each procedure has a different scope, so we can restart the fresh name generator and have more stable instructions in the cfg, that don't change when other procedures are changed
master
Cristiano Calcagno 9 years ago
parent 76c8b6e58b
commit 1e6247c872

@ -21,6 +21,9 @@ open CGen_trans
(* Translate one global declaration *)
let rec translate_one_declaration tenv cg cfg namespace parent_dec dec =
(* each procedure has different scope: start names from id 0 *)
Ident.reset_name_generator ();
let ns_suffix = Ast_utils.namespace_to_string namespace in
let info = Clang_ast_proj.get_decl_tuple dec in
CLocation.update_curr_file info;

@ -303,6 +303,9 @@ let add_harness_to_cg harness_name harness_cfg harness_node loc cg tenv =
(** create and fill the appropriate nodes and add them to the harness cfg. also add the harness
* proc to the cg *)
let setup_harness_cfg harness_name harness_cfg env proc_file_map tenv =
(* each procedure has different scope: start names from id 0 *)
Ident.reset_name_generator ();
(* TMP: pick an arbitrary cg and cfg to piggyback the harness code onto *)
(* TODO (t4707171): create our own fresh cfg / cg instead *)
let (source_dir, cg) =

@ -160,6 +160,9 @@ let create_icfg never_null_matcher linereader program icfg source_file cn node =
begin
Javalib.m_iter (JTrans.create_local_procdesc program linereader cfg tenv node) node;
Javalib.m_iter (fun m ->
(* each procedure has different scope: start names from id 0 *)
Ident.reset_name_generator ();
let method_kind = JTransType.get_method_kind m in
match m with
| Javalib.ConcreteMethod cm ->

@ -113,7 +113,12 @@ let callees_of_function_def : LAst.function_def -> Procname.t list = function
(* Update CFG and call graph with new function definition *)
let trans_function_def (cfg : Cfg.cfg) (cg: Cg.t) (metadata : LAst.metadata_map)
(func_def : LAst.function_def) : unit = match func_def with
(func_def : LAst.function_def) : unit =
(* each procedure has different scope: start names from id 0 *)
Ident.reset_name_generator ();
match func_def with
FunctionDef (func_name, ret_tp_opt, params, annotated_instrs) ->
let proc_name = procname_of_function_variable func_name in
let ret_type =

@ -1,5 +1,5 @@
digraph iCFG {
7 [label="7: Return Stmt \n n$1=*&a:int [line 26]\n n$2=*&b:int [line 26]\n *&return:int =(n$1 + n$2) [line 26]\n REMOVE_TEMPS(n$1,n$2); [line 26]\n NULLIFY(&a,false); [line 26]\n NULLIFY(&b,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
7 [label="7: Return Stmt \n n$0=*&a:int [line 26]\n n$1=*&b:int [line 26]\n *&return:int =(n$0 + n$1) [line 26]\n REMOVE_TEMPS(n$0,n$1); [line 26]\n NULLIFY(&a,false); [line 26]\n NULLIFY(&b,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
7 -> 6 ;

@ -11,11 +11,11 @@ digraph iCFG {
17 -> 16 ;
16 [label="16: DeclStmt \n n$13=*&a:int [line 24]\n *&a:int =(n$13 * 2) [line 24]\n n$14=*&a:int [line 24]\n n$15=*&a:int [line 24]\n *&a:int =(n$15 + 1) [line 24]\n *&b:int =(7 * n$15) [line 24]\n n$16=*&b:int [line 24]\n n$17=*&a:int [line 24]\n n$18=*&b:int [line 24]\n *&c:int =((n$17 + n$18) + 9) [line 24]\n n$19=*&c:int [line 24]\n n$20=*&c:int [line 24]\n *&d:int =n$20 [line 24]\n REMOVE_TEMPS(n$13,n$14,n$15,n$16,n$17,n$18,n$19,n$20); [line 24]\n NULLIFY(&a,false); [line 24]\n NULLIFY(&b,false); [line 24]\n NULLIFY(&c,false); [line 24]\n " shape="box"]
16 [label="16: DeclStmt \n n$1=*&a:int [line 24]\n *&a:int =(n$1 * 2) [line 24]\n n$2=*&a:int [line 24]\n n$3=*&a:int [line 24]\n *&a:int =(n$3 + 1) [line 24]\n *&b:int =(7 * n$3) [line 24]\n n$4=*&b:int [line 24]\n n$5=*&a:int [line 24]\n n$6=*&b:int [line 24]\n *&c:int =((n$5 + n$6) + 9) [line 24]\n n$7=*&c:int [line 24]\n n$8=*&c:int [line 24]\n *&d:int =n$8 [line 24]\n REMOVE_TEMPS(n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8); [line 24]\n NULLIFY(&a,false); [line 24]\n NULLIFY(&b,false); [line 24]\n NULLIFY(&c,false); [line 24]\n " shape="box"]
16 -> 15 ;
15 [label="15: Return Stmt \n n$12=*&d:int [line 25]\n *&return:int =n$12 [line 25]\n REMOVE_TEMPS(n$12); [line 25]\n NULLIFY(&d,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
15 [label="15: Return Stmt \n n$0=*&d:int [line 25]\n *&return:int =n$0 [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n NULLIFY(&d,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
15 -> 14 ;
@ -34,11 +34,11 @@ digraph iCFG {
11 -> 10 ;
10 [label="10: DeclStmt \n n$6=*&a:int [line 18]\n *&a:int =(n$6 * 2) [line 18]\n n$7=*&a:int [line 18]\n n$8=*&a:int [line 18]\n *&a:int =(n$8 + 1) [line 18]\n *&b:int =(7 * n$8) [line 18]\n n$9=*&b:int [line 18]\n n$10=*&a:int [line 18]\n n$11=*&b:int [line 18]\n *&d:int =((n$10 + n$11) + 9) [line 18]\n REMOVE_TEMPS(n$6,n$7,n$8,n$9,n$10,n$11); [line 18]\n NULLIFY(&a,false); [line 18]\n NULLIFY(&b,false); [line 18]\n " shape="box"]
10 [label="10: DeclStmt \n n$1=*&a:int [line 18]\n *&a:int =(n$1 * 2) [line 18]\n n$2=*&a:int [line 18]\n n$3=*&a:int [line 18]\n *&a:int =(n$3 + 1) [line 18]\n *&b:int =(7 * n$3) [line 18]\n n$4=*&b:int [line 18]\n n$5=*&a:int [line 18]\n n$6=*&b:int [line 18]\n *&d:int =((n$5 + n$6) + 9) [line 18]\n REMOVE_TEMPS(n$1,n$2,n$3,n$4,n$5,n$6); [line 18]\n NULLIFY(&a,false); [line 18]\n NULLIFY(&b,false); [line 18]\n " shape="box"]
10 -> 9 ;
9 [label="9: Return Stmt \n n$5=*&d:int [line 19]\n *&return:int =n$5 [line 19]\n REMOVE_TEMPS(n$5); [line 19]\n NULLIFY(&d,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
9 [label="9: Return Stmt \n n$0=*&d:int [line 19]\n *&return:int =n$0 [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&d,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
9 -> 8 ;

@ -1,26 +1,26 @@
digraph iCFG {
57 [label="57: BinaryOperatorStmt: Assign \n n$14=*&SIL_temp_conditional___51:int [line 23]\n NULLIFY(&SIL_temp_conditional___51,true); [line 23]\n *&y:int =n$14 [line 23]\n REMOVE_TEMPS(n$14); [line 23]\n NULLIFY(&y,false); [line 23]\n " shape="box"]
57 [label="57: BinaryOperatorStmt: Assign \n n$6=*&SIL_temp_conditional___51:int [line 23]\n NULLIFY(&SIL_temp_conditional___51,true); [line 23]\n *&y:int =n$6 [line 23]\n REMOVE_TEMPS(n$6); [line 23]\n NULLIFY(&y,false); [line 23]\n " shape="box"]
57 -> 42 ;
57 -> 43 ;
56 [label="56: UnaryOperator \n n$13=*&x:int [line 23]\n *&x:int =(n$13 - 1) [line 23]\n DECLARE_LOCALS(&SIL_temp_conditional___51); [line 23]\n *&SIL_temp_conditional___51:int =n$13 [line 23]\n REMOVE_TEMPS(n$13); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
56 [label="56: UnaryOperator \n n$5=*&x:int [line 23]\n *&x:int =(n$5 - 1) [line 23]\n DECLARE_LOCALS(&SIL_temp_conditional___51); [line 23]\n *&SIL_temp_conditional___51:int =n$5 [line 23]\n REMOVE_TEMPS(n$5); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
56 -> 51 ;
55 [label="55: UnaryOperator \n n$12=*&x:int [line 23]\n *&x:int =(n$12 + 1) [line 23]\n DECLARE_LOCALS(&SIL_temp_conditional___51); [line 23]\n *&SIL_temp_conditional___51:int =(n$12 + 1) [line 23]\n REMOVE_TEMPS(n$12); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
55 [label="55: UnaryOperator \n n$4=*&x:int [line 23]\n *&x:int =(n$4 + 1) [line 23]\n DECLARE_LOCALS(&SIL_temp_conditional___51); [line 23]\n *&SIL_temp_conditional___51:int =(n$4 + 1) [line 23]\n REMOVE_TEMPS(n$4); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
55 -> 51 ;
54 [label="54: Prune (false branch) \n PRUNE(((n$11 > 1) == 0), false); [line 23]\n REMOVE_TEMPS(n$11); [line 23]\n " shape="invhouse"]
54 [label="54: Prune (false branch) \n PRUNE(((n$3 > 1) == 0), false); [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n " shape="invhouse"]
54 -> 56 ;
53 [label="53: Prune (true branch) \n PRUNE(((n$11 > 1) != 0), true); [line 23]\n REMOVE_TEMPS(n$11); [line 23]\n " shape="invhouse"]
53 [label="53: Prune (true branch) \n PRUNE(((n$3 > 1) != 0), true); [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n " shape="invhouse"]
53 -> 55 ;
52 [label="52: BinaryOperatorStmt: GT \n *&x:int =1 [line 23]\n n$11=*&x:int [line 23]\n " shape="box"]
52 [label="52: BinaryOperatorStmt: GT \n *&x:int =1 [line 23]\n n$3=*&x:int [line 23]\n " shape="box"]
52 -> 53 ;
@ -33,19 +33,19 @@ digraph iCFG {
50 -> 40 ;
49 [label="49: BinaryOperatorStmt: Assign \n *&x:int =1 [line 24]\n n$9=*&x:int [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___40); [line 24]\n *&SIL_temp_conditional___40:int =n$9 [line 24]\n REMOVE_TEMPS(n$9); [line 24]\n NULLIFY(&x,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
49 [label="49: BinaryOperatorStmt: Assign \n *&x:int =1 [line 24]\n n$1=*&x:int [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___40); [line 24]\n *&SIL_temp_conditional___40:int =n$1 [line 24]\n REMOVE_TEMPS(n$1); [line 24]\n NULLIFY(&x,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
49 -> 40 ;
48 [label="48: Prune (false branch) \n PRUNE(((n$8 > 1) == 0), false); [line 24]\n REMOVE_TEMPS(n$8); [line 24]\n " shape="invhouse"]
48 [label="48: Prune (false branch) \n PRUNE(((n$0 > 1) == 0), false); [line 24]\n REMOVE_TEMPS(n$0); [line 24]\n " shape="invhouse"]
48 -> 50 ;
47 [label="47: Prune (true branch) \n PRUNE(((n$8 > 1) != 0), true); [line 24]\n REMOVE_TEMPS(n$8); [line 24]\n " shape="invhouse"]
47 [label="47: Prune (true branch) \n PRUNE(((n$0 > 1) != 0), true); [line 24]\n REMOVE_TEMPS(n$0); [line 24]\n " shape="invhouse"]
47 -> 49 ;
46 [label="46: BinaryOperatorStmt: GT \n n$8=*&SIL_temp_conditional___41:int [line 24]\n NULLIFY(&SIL_temp_conditional___41,true); [line 24]\n " shape="box"]
46 [label="46: BinaryOperatorStmt: GT \n n$0=*&SIL_temp_conditional___41:int [line 24]\n NULLIFY(&SIL_temp_conditional___41,true); [line 24]\n " shape="box"]
46 -> 47 ;
@ -74,7 +74,7 @@ digraph iCFG {
40 -> 39 ;
39 [label="39: Return Stmt \n n$10=*&SIL_temp_conditional___40:int [line 24]\n NULLIFY(&SIL_temp_conditional___40,true); [line 24]\n *&return:int =(0 + n$10) [line 24]\n REMOVE_TEMPS(n$10); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
39 [label="39: Return Stmt \n n$2=*&SIL_temp_conditional___40:int [line 24]\n NULLIFY(&SIL_temp_conditional___40,true); [line 24]\n *&return:int =(0 + n$2) [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
39 -> 38 ;

@ -3,7 +3,7 @@ digraph iCFG {
54 -> 50 ;
53 [label="53: UnaryOperator \n n$21=*&p:int * [line 42]\n n$22=*n$21:int [line 42]\n DECLARE_LOCALS(&SIL_temp_conditional___50); [line 42]\n *&SIL_temp_conditional___50:int =n$22 [line 42]\n REMOVE_TEMPS(n$21,n$22); [line 42]\n NULLIFY(&p,false); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
53 [label="53: UnaryOperator \n n$1=*&p:int * [line 42]\n n$2=*n$1:int [line 42]\n DECLARE_LOCALS(&SIL_temp_conditional___50); [line 42]\n *&SIL_temp_conditional___50:int =n$2 [line 42]\n REMOVE_TEMPS(n$1,n$2); [line 42]\n NULLIFY(&p,false); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
53 -> 50 ;
@ -19,11 +19,11 @@ digraph iCFG {
50 -> 49 ;
49 [label="49: DeclStmt \n n$23=*&SIL_temp_conditional___50:int [line 42]\n NULLIFY(&SIL_temp_conditional___50,true); [line 42]\n *&z:int =n$23 [line 42]\n REMOVE_TEMPS(n$23); [line 42]\n " shape="box"]
49 [label="49: DeclStmt \n n$3=*&SIL_temp_conditional___50:int [line 42]\n NULLIFY(&SIL_temp_conditional___50,true); [line 42]\n *&z:int =n$3 [line 42]\n REMOVE_TEMPS(n$3); [line 42]\n " shape="box"]
49 -> 48 ;
48 [label="48: Return Stmt \n n$20=*&z:int [line 43]\n *&return:int =n$20 [line 43]\n REMOVE_TEMPS(n$20); [line 43]\n NULLIFY(&z,false); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
48 [label="48: Return Stmt \n n$0=*&z:int [line 43]\n *&return:int =n$0 [line 43]\n REMOVE_TEMPS(n$0); [line 43]\n NULLIFY(&z,false); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
48 -> 47 ;
@ -39,15 +39,15 @@ digraph iCFG {
45 -> 41 ;
44 [label="44: ConditinalStmt Branch \n n$18=*&b:int [line 38]\n DECLARE_LOCALS(&SIL_temp_conditional___41); [line 38]\n *&SIL_temp_conditional___41:int =n$18 [line 38]\n REMOVE_TEMPS(n$18); [line 38]\n NULLIFY(&b,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
44 [label="44: ConditinalStmt Branch \n n$1=*&b:int [line 38]\n DECLARE_LOCALS(&SIL_temp_conditional___41); [line 38]\n *&SIL_temp_conditional___41:int =n$1 [line 38]\n REMOVE_TEMPS(n$1); [line 38]\n NULLIFY(&b,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
44 -> 41 ;
43 [label="43: Prune (false branch) \n n$17=*&b:int [line 38]\n PRUNE((n$17 == 0), false); [line 38]\n REMOVE_TEMPS(n$17); [line 38]\n " shape="invhouse"]
43 [label="43: Prune (false branch) \n n$0=*&b:int [line 38]\n PRUNE((n$0 == 0), false); [line 38]\n REMOVE_TEMPS(n$0); [line 38]\n " shape="invhouse"]
43 -> 45 ;
42 [label="42: Prune (true branch) \n n$17=*&b:int [line 38]\n PRUNE((n$17 != 0), true); [line 38]\n REMOVE_TEMPS(n$17); [line 38]\n " shape="invhouse"]
42 [label="42: Prune (true branch) \n n$0=*&b:int [line 38]\n PRUNE((n$0 != 0), true); [line 38]\n REMOVE_TEMPS(n$0); [line 38]\n " shape="invhouse"]
42 -> 44 ;
@ -55,7 +55,7 @@ digraph iCFG {
41 -> 40 ;
40 [label="40: Return Stmt \n n$19=*&SIL_temp_conditional___41:int [line 38]\n NULLIFY(&SIL_temp_conditional___41,true); [line 38]\n *&return:int =n$19 [line 38]\n REMOVE_TEMPS(n$19); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
40 [label="40: Return Stmt \n n$2=*&SIL_temp_conditional___41:int [line 38]\n NULLIFY(&SIL_temp_conditional___41,true); [line 38]\n *&return:int =n$2 [line 38]\n REMOVE_TEMPS(n$2); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
40 -> 39 ;
@ -71,15 +71,15 @@ digraph iCFG {
37 -> 33 ;
36 [label="36: ConditinalStmt Branch \n n$14=*&b:int [line 33]\n DECLARE_LOCALS(&SIL_temp_conditional___33); [line 33]\n *&SIL_temp_conditional___33:int =n$14 [line 33]\n REMOVE_TEMPS(n$14); [line 33]\n NULLIFY(&b,false); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
36 [label="36: ConditinalStmt Branch \n n$1=*&b:int [line 33]\n DECLARE_LOCALS(&SIL_temp_conditional___33); [line 33]\n *&SIL_temp_conditional___33:int =n$1 [line 33]\n REMOVE_TEMPS(n$1); [line 33]\n NULLIFY(&b,false); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
36 -> 33 ;
35 [label="35: Prune (false branch) \n n$13=*&b:int [line 33]\n PRUNE((n$13 == 0), false); [line 33]\n REMOVE_TEMPS(n$13); [line 33]\n " shape="invhouse"]
35 [label="35: Prune (false branch) \n n$0=*&b:int [line 33]\n PRUNE((n$0 == 0), false); [line 33]\n REMOVE_TEMPS(n$0); [line 33]\n " shape="invhouse"]
35 -> 37 ;
34 [label="34: Prune (true branch) \n n$13=*&b:int [line 33]\n PRUNE((n$13 != 0), true); [line 33]\n REMOVE_TEMPS(n$13); [line 33]\n " shape="invhouse"]
34 [label="34: Prune (true branch) \n n$0=*&b:int [line 33]\n PRUNE((n$0 != 0), true); [line 33]\n REMOVE_TEMPS(n$0); [line 33]\n " shape="invhouse"]
34 -> 36 ;
@ -87,7 +87,7 @@ digraph iCFG {
33 -> 32 ;
32 [label="32: Return Stmt \n n$15=*&SIL_temp_conditional___33:int [line 33]\n NULLIFY(&SIL_temp_conditional___33,true); [line 33]\n n$16=_fun_test2(n$15:int ) [line 33]\n *&return:int =n$16 [line 33]\n REMOVE_TEMPS(n$15,n$16); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
32 [label="32: Return Stmt \n n$2=*&SIL_temp_conditional___33:int [line 33]\n NULLIFY(&SIL_temp_conditional___33,true); [line 33]\n n$3=_fun_test2(n$2:int ) [line 33]\n *&return:int =n$3 [line 33]\n REMOVE_TEMPS(n$2,n$3); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
32 -> 31 ;
@ -103,15 +103,15 @@ digraph iCFG {
29 -> 25 ;
28 [label="28: ConditinalStmt Branch \n n$11=*&b:int [line 27]\n DECLARE_LOCALS(&SIL_temp_conditional___25); [line 27]\n *&SIL_temp_conditional___25:int =n$11 [line 27]\n REMOVE_TEMPS(n$11); [line 27]\n NULLIFY(&b,false); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
28 [label="28: ConditinalStmt Branch \n n$2=*&b:int [line 27]\n DECLARE_LOCALS(&SIL_temp_conditional___25); [line 27]\n *&SIL_temp_conditional___25:int =n$2 [line 27]\n REMOVE_TEMPS(n$2); [line 27]\n NULLIFY(&b,false); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
28 -> 25 ;
27 [label="27: Prune (false branch) \n n$10=*&b:int [line 27]\n PRUNE((n$10 == 0), false); [line 27]\n REMOVE_TEMPS(n$10); [line 27]\n " shape="invhouse"]
27 [label="27: Prune (false branch) \n n$1=*&b:int [line 27]\n PRUNE((n$1 == 0), false); [line 27]\n REMOVE_TEMPS(n$1); [line 27]\n " shape="invhouse"]
27 -> 29 ;
26 [label="26: Prune (true branch) \n n$10=*&b:int [line 27]\n PRUNE((n$10 != 0), true); [line 27]\n REMOVE_TEMPS(n$10); [line 27]\n " shape="invhouse"]
26 [label="26: Prune (true branch) \n n$1=*&b:int [line 27]\n PRUNE((n$1 != 0), true); [line 27]\n REMOVE_TEMPS(n$1); [line 27]\n " shape="invhouse"]
26 -> 28 ;
@ -119,11 +119,11 @@ digraph iCFG {
25 -> 24 ;
24 [label="24: DeclStmt \n n$12=*&SIL_temp_conditional___25:int [line 27]\n NULLIFY(&SIL_temp_conditional___25,true); [line 27]\n *&x:int =n$12 [line 27]\n REMOVE_TEMPS(n$12); [line 27]\n " shape="box"]
24 [label="24: DeclStmt \n n$3=*&SIL_temp_conditional___25:int [line 27]\n NULLIFY(&SIL_temp_conditional___25,true); [line 27]\n *&x:int =n$3 [line 27]\n REMOVE_TEMPS(n$3); [line 27]\n " shape="box"]
24 -> 23 ;
23 [label="23: Return Stmt \n n$9=*&x:int [line 28]\n *&return:int =n$9 [line 28]\n REMOVE_TEMPS(n$9); [line 28]\n NULLIFY(&x,false); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
23 [label="23: Return Stmt \n n$0=*&x:int [line 28]\n *&return:int =n$0 [line 28]\n REMOVE_TEMPS(n$0); [line 28]\n NULLIFY(&x,false); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
23 -> 22 ;
@ -139,15 +139,15 @@ digraph iCFG {
20 -> 16 ;
19 [label="19: ConditinalStmt Branch \n n$7=*&b:int [line 22]\n DECLARE_LOCALS(&SIL_temp_conditional___16); [line 22]\n *&SIL_temp_conditional___16:int =n$7 [line 22]\n REMOVE_TEMPS(n$7); [line 22]\n NULLIFY(&b,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
19 [label="19: ConditinalStmt Branch \n n$2=*&b:int [line 22]\n DECLARE_LOCALS(&SIL_temp_conditional___16); [line 22]\n *&SIL_temp_conditional___16:int =n$2 [line 22]\n REMOVE_TEMPS(n$2); [line 22]\n NULLIFY(&b,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
19 -> 16 ;
18 [label="18: Prune (false branch) \n n$6=*&b:int [line 22]\n PRUNE((n$6 == 0), false); [line 22]\n REMOVE_TEMPS(n$6); [line 22]\n " shape="invhouse"]
18 [label="18: Prune (false branch) \n n$1=*&b:int [line 22]\n PRUNE((n$1 == 0), false); [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n " shape="invhouse"]
18 -> 20 ;
17 [label="17: Prune (true branch) \n n$6=*&b:int [line 22]\n PRUNE((n$6 != 0), true); [line 22]\n REMOVE_TEMPS(n$6); [line 22]\n " shape="invhouse"]
17 [label="17: Prune (true branch) \n n$1=*&b:int [line 22]\n PRUNE((n$1 != 0), true); [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n " shape="invhouse"]
17 -> 19 ;
@ -155,11 +155,11 @@ digraph iCFG {
16 -> 15 ;
15 [label="15: DeclStmt \n n$8=*&SIL_temp_conditional___16:int [line 22]\n NULLIFY(&SIL_temp_conditional___16,true); [line 22]\n *&x:int =n$8 [line 22]\n REMOVE_TEMPS(n$8); [line 22]\n " shape="box"]
15 [label="15: DeclStmt \n n$3=*&SIL_temp_conditional___16:int [line 22]\n NULLIFY(&SIL_temp_conditional___16,true); [line 22]\n *&x:int =n$3 [line 22]\n REMOVE_TEMPS(n$3); [line 22]\n " shape="box"]
15 -> 14 ;
14 [label="14: Return Stmt \n n$5=*&x:int [line 23]\n *&return:int =n$5 [line 23]\n REMOVE_TEMPS(n$5); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
14 [label="14: Return Stmt \n n$0=*&x:int [line 23]\n *&return:int =n$0 [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
14 -> 13 ;
@ -175,15 +175,15 @@ digraph iCFG {
11 -> 7 ;
10 [label="10: ConditinalStmt Branch \n n$2=*&b:int [line 18]\n DECLARE_LOCALS(&SIL_temp_conditional___7); [line 18]\n *&SIL_temp_conditional___7:int =n$2 [line 18]\n REMOVE_TEMPS(n$2); [line 18]\n NULLIFY(&b,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
10 [label="10: ConditinalStmt Branch \n n$1=*&b:int [line 18]\n DECLARE_LOCALS(&SIL_temp_conditional___7); [line 18]\n *&SIL_temp_conditional___7:int =n$1 [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n NULLIFY(&b,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
10 -> 7 ;
9 [label="9: Prune (false branch) \n n$1=*&b:int [line 18]\n PRUNE((n$1 == 0), false); [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n " shape="invhouse"]
9 [label="9: Prune (false branch) \n n$0=*&b:int [line 18]\n PRUNE((n$0 == 0), false); [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n " shape="invhouse"]
9 -> 11 ;
8 [label="8: Prune (true branch) \n n$1=*&b:int [line 18]\n PRUNE((n$1 != 0), true); [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n " shape="invhouse"]
8 [label="8: Prune (true branch) \n n$0=*&b:int [line 18]\n PRUNE((n$0 != 0), true); [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n " shape="invhouse"]
8 -> 10 ;
@ -191,7 +191,7 @@ digraph iCFG {
7 -> 6 ;
6 [label="6: Return Stmt \n n$3=*&SIL_temp_conditional___7:int [line 18]\n NULLIFY(&SIL_temp_conditional___7,true); [line 18]\n n$4=_fun_test2(n$3:int ) [line 18]\n *&return:int =n$4 [line 18]\n REMOVE_TEMPS(n$3,n$4); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 [label="6: Return Stmt \n n$2=*&SIL_temp_conditional___7:int [line 18]\n NULLIFY(&SIL_temp_conditional___7,true); [line 18]\n n$3=_fun_test2(n$2:int ) [line 18]\n *&return:int =n$3 [line 18]\n REMOVE_TEMPS(n$2,n$3); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 -> 5 ;

@ -1,5 +1,5 @@
digraph iCFG {
67 [label="67: Call n$8 \n n$8=*&SIL_temp_conditional___52:_fn_ (*) [line 25]\n NULLIFY(&SIL_temp_conditional___52,true); [line 25]\n n$9=*&SIL_temp_conditional___57:int [line 25]\n NULLIFY(&SIL_temp_conditional___57,true); [line 25]\n n$10=*&SIL_temp_conditional___62:int [line 25]\n NULLIFY(&SIL_temp_conditional___62,true); [line 25]\n n$8(n$9:int ,2:int ,n$10:int ) [line 25]\n REMOVE_TEMPS(n$8,n$9,n$10); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
67 [label="67: Call n$0 \n n$0=*&SIL_temp_conditional___52:_fn_ (*) [line 25]\n NULLIFY(&SIL_temp_conditional___52,true); [line 25]\n n$1=*&SIL_temp_conditional___57:int [line 25]\n NULLIFY(&SIL_temp_conditional___57,true); [line 25]\n n$2=*&SIL_temp_conditional___62:int [line 25]\n NULLIFY(&SIL_temp_conditional___62,true); [line 25]\n n$0(n$1:int ,2:int ,n$2:int ) [line 25]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
67 -> 51 ;
@ -73,7 +73,7 @@ digraph iCFG {
50 -> 53 ;
50 -> 54 ;
49 [label="49: Call _fun_some_f \n n$5=*&SIL_temp_conditional___34:int [line 21]\n NULLIFY(&SIL_temp_conditional___34,true); [line 21]\n n$6=*&SIL_temp_conditional___39:int [line 21]\n NULLIFY(&SIL_temp_conditional___39,true); [line 21]\n n$7=*&SIL_temp_conditional___44:int [line 21]\n NULLIFY(&SIL_temp_conditional___44,true); [line 21]\n _fun_some_f(n$5:int ,n$6:int ,n$7:int ) [line 21]\n REMOVE_TEMPS(n$5,n$6,n$7); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
49 [label="49: Call _fun_some_f \n n$0=*&SIL_temp_conditional___34:int [line 21]\n NULLIFY(&SIL_temp_conditional___34,true); [line 21]\n n$1=*&SIL_temp_conditional___39:int [line 21]\n NULLIFY(&SIL_temp_conditional___39,true); [line 21]\n n$2=*&SIL_temp_conditional___44:int [line 21]\n NULLIFY(&SIL_temp_conditional___44,true); [line 21]\n _fun_some_f(n$0:int ,n$1:int ,n$2:int ) [line 21]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
49 -> 33 ;
@ -147,7 +147,7 @@ digraph iCFG {
32 -> 35 ;
32 -> 36 ;
31 [label="31: Call n$1 \n n$1=*&SIL_temp_conditional___11:_fn_ (*) [line 17]\n NULLIFY(&SIL_temp_conditional___11,true); [line 17]\n n$2=*&SIL_temp_conditional___16:int [line 17]\n NULLIFY(&SIL_temp_conditional___16,true); [line 17]\n n$3=*&SIL_temp_conditional___21:int [line 17]\n NULLIFY(&SIL_temp_conditional___21,true); [line 17]\n n$4=*&SIL_temp_conditional___26:int [line 17]\n NULLIFY(&SIL_temp_conditional___26,true); [line 17]\n n$1(n$2:int ,n$3:int ,n$4:int ) [line 17]\n REMOVE_TEMPS(n$1,n$2,n$3,n$4); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
31 [label="31: Call n$0 \n n$0=*&SIL_temp_conditional___11:_fn_ (*) [line 17]\n NULLIFY(&SIL_temp_conditional___11,true); [line 17]\n n$1=*&SIL_temp_conditional___16:int [line 17]\n NULLIFY(&SIL_temp_conditional___16,true); [line 17]\n n$2=*&SIL_temp_conditional___21:int [line 17]\n NULLIFY(&SIL_temp_conditional___21,true); [line 17]\n n$3=*&SIL_temp_conditional___26:int [line 17]\n NULLIFY(&SIL_temp_conditional___26,true); [line 17]\n n$0(n$1:int ,n$2:int ,n$3:int ) [line 17]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
31 -> 10 ;

@ -1,5 +1,5 @@
digraph iCFG {
93 [label="93: BinaryOperatorStmt: Assign \n n$28=_fun_getenv(\"BLOCK\":char *) [line 51]\n *&spec:char *=n$28 [line 51]\n REMOVE_TEMPS(n$28); [line 51]\n " shape="box"]
93 [label="93: BinaryOperatorStmt: Assign \n n$10=_fun_getenv(\"BLOCK\":char *) [line 51]\n *&spec:char *=n$10 [line 51]\n REMOVE_TEMPS(n$10); [line 51]\n " shape="box"]
93 -> 65 ;
@ -8,15 +8,15 @@ digraph iCFG {
92 -> 88 ;
91 [label="91: Prune (false branch) \n PRUNE(((n$27 == 39) == 0), false); [line 61]\n REMOVE_TEMPS(n$26,n$27); [line 61]\n APPLY_ABSTRACTION; [line 61]\n " shape="invhouse"]
91 [label="91: Prune (false branch) \n PRUNE(((n$9 == 39) == 0), false); [line 61]\n REMOVE_TEMPS(n$8,n$9); [line 61]\n APPLY_ABSTRACTION; [line 61]\n " shape="invhouse"]
91 -> 88 ;
90 [label="90: Prune (true branch) \n PRUNE(((n$27 == 39) != 0), true); [line 61]\n REMOVE_TEMPS(n$26,n$27); [line 61]\n " shape="invhouse"]
90 [label="90: Prune (true branch) \n PRUNE(((n$9 == 39) != 0), true); [line 61]\n REMOVE_TEMPS(n$8,n$9); [line 61]\n " shape="invhouse"]
90 -> 92 ;
89 [label="89: BinaryOperatorStmt: EQ \n n$26=*&spec:char * [line 61]\n n$27=*n$26:char [line 61]\n NULLIFY(&spec,false); [line 61]\n " shape="box"]
89 [label="89: BinaryOperatorStmt: EQ \n n$8=*&spec:char * [line 61]\n n$9=*n$8:char [line 61]\n NULLIFY(&spec,false); [line 61]\n " shape="box"]
89 -> 90 ;
@ -29,11 +29,11 @@ digraph iCFG {
87 -> 63 ;
86 [label="86: Prune (false branch) \n n$25=*&SIL_temp_conditional___79:int [line 57]\n NULLIFY(&SIL_temp_conditional___79,true); [line 57]\n PRUNE((n$25 == 0), false); [line 57]\n REMOVE_TEMPS(n$25); [line 57]\n APPLY_ABSTRACTION; [line 57]\n " shape="invhouse"]
86 [label="86: Prune (false branch) \n n$7=*&SIL_temp_conditional___79:int [line 57]\n NULLIFY(&SIL_temp_conditional___79,true); [line 57]\n PRUNE((n$7 == 0), false); [line 57]\n REMOVE_TEMPS(n$7); [line 57]\n APPLY_ABSTRACTION; [line 57]\n " shape="invhouse"]
86 -> 89 ;
85 [label="85: Prune (true branch) \n n$25=*&SIL_temp_conditional___79:int [line 57]\n NULLIFY(&SIL_temp_conditional___79,true); [line 57]\n PRUNE((n$25 != 0), true); [line 57]\n REMOVE_TEMPS(n$25); [line 57]\n NULLIFY(&spec,false); [line 57]\n " shape="invhouse"]
85 [label="85: Prune (true branch) \n n$7=*&SIL_temp_conditional___79:int [line 57]\n NULLIFY(&SIL_temp_conditional___79,true); [line 57]\n PRUNE((n$7 != 0), true); [line 57]\n REMOVE_TEMPS(n$7); [line 57]\n NULLIFY(&spec,false); [line 57]\n " shape="invhouse"]
85 -> 87 ;
@ -45,15 +45,15 @@ digraph iCFG {
83 -> 79 ;
82 [label="82: Prune (false branch) \n PRUNE((n$24 == 0), false); [line 57]\n REMOVE_TEMPS(n$23,n$24); [line 57]\n " shape="invhouse"]
82 [label="82: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 57]\n REMOVE_TEMPS(n$5,n$6); [line 57]\n " shape="invhouse"]
82 -> 84 ;
81 [label="81: Prune (true branch) \n PRUNE((n$24 != 0), true); [line 57]\n REMOVE_TEMPS(n$23,n$24); [line 57]\n " shape="invhouse"]
81 [label="81: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 57]\n REMOVE_TEMPS(n$5,n$6); [line 57]\n " shape="invhouse"]
81 -> 83 ;
80 [label="80: BinaryOperatorStmt: Assign \n n$23=_fun_getenv(\"BLOCKSIZE\":char *) [line 57]\n *&spec:char *=n$23 [line 57]\n n$24=*&spec:char * [line 57]\n " shape="box"]
80 [label="80: BinaryOperatorStmt: Assign \n n$5=_fun_getenv(\"BLOCKSIZE\":char *) [line 57]\n *&spec:char *=n$5 [line 57]\n n$6=*&spec:char * [line 57]\n " shape="box"]
80 -> 81 ;
@ -63,11 +63,11 @@ digraph iCFG {
79 -> 85 ;
79 -> 86 ;
78 [label="78: Prune (false branch) \n n$22=*&SIL_temp_conditional___71:int [line 56]\n NULLIFY(&SIL_temp_conditional___71,true); [line 56]\n PRUNE((n$22 == 0), false); [line 56]\n REMOVE_TEMPS(n$22); [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="invhouse"]
78 [label="78: Prune (false branch) \n n$4=*&SIL_temp_conditional___71:int [line 56]\n NULLIFY(&SIL_temp_conditional___71,true); [line 56]\n PRUNE((n$4 == 0), false); [line 56]\n REMOVE_TEMPS(n$4); [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="invhouse"]
78 -> 89 ;
77 [label="77: Prune (true branch) \n n$22=*&SIL_temp_conditional___71:int [line 56]\n NULLIFY(&SIL_temp_conditional___71,true); [line 56]\n PRUNE((n$22 != 0), true); [line 56]\n REMOVE_TEMPS(n$22); [line 56]\n NULLIFY(&spec,false); [line 56]\n " shape="invhouse"]
77 [label="77: Prune (true branch) \n n$4=*&SIL_temp_conditional___71:int [line 56]\n NULLIFY(&SIL_temp_conditional___71,true); [line 56]\n PRUNE((n$4 != 0), true); [line 56]\n REMOVE_TEMPS(n$4); [line 56]\n NULLIFY(&spec,false); [line 56]\n " shape="invhouse"]
77 -> 80 ;
@ -79,15 +79,15 @@ digraph iCFG {
75 -> 71 ;
74 [label="74: Prune (false branch) \n PRUNE((n$21 == 0), false); [line 56]\n REMOVE_TEMPS(n$20,n$21); [line 56]\n " shape="invhouse"]
74 [label="74: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 56]\n REMOVE_TEMPS(n$2,n$3); [line 56]\n " shape="invhouse"]
74 -> 76 ;
73 [label="73: Prune (true branch) \n PRUNE((n$21 != 0), true); [line 56]\n REMOVE_TEMPS(n$20,n$21); [line 56]\n " shape="invhouse"]
73 [label="73: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 56]\n REMOVE_TEMPS(n$2,n$3); [line 56]\n " shape="invhouse"]
73 -> 75 ;
72 [label="72: BinaryOperatorStmt: Assign \n n$20=_fun_getenv(\"BLOCK_SIZE\":char *) [line 56]\n *&spec:char *=n$20 [line 56]\n n$21=*&spec:char * [line 56]\n " shape="box"]
72 [label="72: BinaryOperatorStmt: Assign \n n$2=_fun_getenv(\"BLOCK_SIZE\":char *) [line 56]\n *&spec:char *=n$2 [line 56]\n n$3=*&spec:char * [line 56]\n " shape="box"]
72 -> 73 ;
@ -97,11 +97,11 @@ digraph iCFG {
71 -> 77 ;
71 -> 78 ;
70 [label="70: Prune (false branch) \n n$19=*&SIL_temp_conditional___64:int [line 55]\n NULLIFY(&SIL_temp_conditional___64,true); [line 55]\n PRUNE((n$19 == 0), false); [line 55]\n REMOVE_TEMPS(n$19); [line 55]\n APPLY_ABSTRACTION; [line 55]\n " shape="invhouse"]
70 [label="70: Prune (false branch) \n n$1=*&SIL_temp_conditional___64:int [line 55]\n NULLIFY(&SIL_temp_conditional___64,true); [line 55]\n PRUNE((n$1 == 0), false); [line 55]\n REMOVE_TEMPS(n$1); [line 55]\n APPLY_ABSTRACTION; [line 55]\n " shape="invhouse"]
70 -> 89 ;
69 [label="69: Prune (true branch) \n n$19=*&SIL_temp_conditional___64:int [line 55]\n NULLIFY(&SIL_temp_conditional___64,true); [line 55]\n PRUNE((n$19 != 0), true); [line 55]\n REMOVE_TEMPS(n$19); [line 55]\n NULLIFY(&spec,false); [line 55]\n " shape="invhouse"]
69 [label="69: Prune (true branch) \n n$1=*&SIL_temp_conditional___64:int [line 55]\n NULLIFY(&SIL_temp_conditional___64,true); [line 55]\n PRUNE((n$1 != 0), true); [line 55]\n REMOVE_TEMPS(n$1); [line 55]\n NULLIFY(&spec,false); [line 55]\n " shape="invhouse"]
69 -> 72 ;
@ -113,11 +113,11 @@ digraph iCFG {
67 -> 64 ;
66 [label="66: Prune (false branch) \n n$18=*&spec:char * [line 55]\n PRUNE((n$18 == 0), false); [line 55]\n REMOVE_TEMPS(n$18); [line 55]\n " shape="invhouse"]
66 [label="66: Prune (false branch) \n n$0=*&spec:char * [line 55]\n PRUNE((n$0 == 0), false); [line 55]\n REMOVE_TEMPS(n$0); [line 55]\n " shape="invhouse"]
66 -> 68 ;
65 [label="65: Prune (true branch) \n n$18=*&spec:char * [line 55]\n PRUNE((n$18 != 0), true); [line 55]\n REMOVE_TEMPS(n$18); [line 55]\n " shape="invhouse"]
65 [label="65: Prune (true branch) \n n$0=*&spec:char * [line 55]\n PRUNE((n$0 != 0), true); [line 55]\n REMOVE_TEMPS(n$0); [line 55]\n " shape="invhouse"]
65 -> 67 ;
@ -141,7 +141,7 @@ digraph iCFG {
60 -> 93 ;
59 [label="59: BinaryOperatorStmt: Assign \n n$17=_fun_getenv(\"BLOCK\":char *) [line 33]\n *&spec:char *=n$17 [line 33]\n REMOVE_TEMPS(n$17); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
59 [label="59: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCK\":char *) [line 33]\n *&spec:char *=n$8 [line 33]\n REMOVE_TEMPS(n$8); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
59 -> 34 ;
@ -149,11 +149,11 @@ digraph iCFG {
58 -> 34 ;
57 [label="57: Prune (false branch) \n n$16=*&SIL_temp_conditional___50:int [line 37]\n NULLIFY(&SIL_temp_conditional___50,true); [line 37]\n PRUNE((n$16 == 0), false); [line 37]\n REMOVE_TEMPS(n$16); [line 37]\n NULLIFY(&spec,false); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="invhouse"]
57 [label="57: Prune (false branch) \n n$7=*&SIL_temp_conditional___50:int [line 37]\n NULLIFY(&SIL_temp_conditional___50,true); [line 37]\n PRUNE((n$7 == 0), false); [line 37]\n REMOVE_TEMPS(n$7); [line 37]\n NULLIFY(&spec,false); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="invhouse"]
57 -> 33 ;
56 [label="56: Prune (true branch) \n n$16=*&SIL_temp_conditional___50:int [line 37]\n NULLIFY(&SIL_temp_conditional___50,true); [line 37]\n PRUNE((n$16 != 0), true); [line 37]\n REMOVE_TEMPS(n$16); [line 37]\n " shape="invhouse"]
56 [label="56: Prune (true branch) \n n$7=*&SIL_temp_conditional___50:int [line 37]\n NULLIFY(&SIL_temp_conditional___50,true); [line 37]\n PRUNE((n$7 != 0), true); [line 37]\n REMOVE_TEMPS(n$7); [line 37]\n " shape="invhouse"]
56 -> 58 ;
@ -165,15 +165,15 @@ digraph iCFG {
54 -> 50 ;
53 [label="53: Prune (false branch) \n PRUNE((n$15 == 0), false); [line 37]\n REMOVE_TEMPS(n$14,n$15); [line 37]\n " shape="invhouse"]
53 [label="53: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 37]\n REMOVE_TEMPS(n$5,n$6); [line 37]\n " shape="invhouse"]
53 -> 55 ;
52 [label="52: Prune (true branch) \n PRUNE((n$15 != 0), true); [line 37]\n REMOVE_TEMPS(n$14,n$15); [line 37]\n " shape="invhouse"]
52 [label="52: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 37]\n REMOVE_TEMPS(n$5,n$6); [line 37]\n " shape="invhouse"]
52 -> 54 ;
51 [label="51: BinaryOperatorStmt: Assign \n n$14=_fun_getenv(\"BLOCKSIZE\":char *) [line 37]\n *&spec:char *=n$14 [line 37]\n n$15=*&spec:char * [line 37]\n " shape="box"]
51 [label="51: BinaryOperatorStmt: Assign \n n$5=_fun_getenv(\"BLOCKSIZE\":char *) [line 37]\n *&spec:char *=n$5 [line 37]\n n$6=*&spec:char * [line 37]\n " shape="box"]
51 -> 52 ;
@ -183,11 +183,11 @@ digraph iCFG {
50 -> 56 ;
50 -> 57 ;
49 [label="49: Prune (false branch) \n n$13=*&SIL_temp_conditional___42:int [line 36]\n NULLIFY(&SIL_temp_conditional___42,true); [line 36]\n PRUNE((n$13 == 0), false); [line 36]\n REMOVE_TEMPS(n$13); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="invhouse"]
49 [label="49: Prune (false branch) \n n$4=*&SIL_temp_conditional___42:int [line 36]\n NULLIFY(&SIL_temp_conditional___42,true); [line 36]\n PRUNE((n$4 == 0), false); [line 36]\n REMOVE_TEMPS(n$4); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="invhouse"]
49 -> 33 ;
48 [label="48: Prune (true branch) \n n$13=*&SIL_temp_conditional___42:int [line 36]\n NULLIFY(&SIL_temp_conditional___42,true); [line 36]\n PRUNE((n$13 != 0), true); [line 36]\n REMOVE_TEMPS(n$13); [line 36]\n " shape="invhouse"]
48 [label="48: Prune (true branch) \n n$4=*&SIL_temp_conditional___42:int [line 36]\n NULLIFY(&SIL_temp_conditional___42,true); [line 36]\n PRUNE((n$4 != 0), true); [line 36]\n REMOVE_TEMPS(n$4); [line 36]\n " shape="invhouse"]
48 -> 51 ;
@ -199,15 +199,15 @@ digraph iCFG {
46 -> 42 ;
45 [label="45: Prune (false branch) \n PRUNE((n$12 == 0), false); [line 36]\n REMOVE_TEMPS(n$11,n$12); [line 36]\n " shape="invhouse"]
45 [label="45: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 36]\n REMOVE_TEMPS(n$2,n$3); [line 36]\n " shape="invhouse"]
45 -> 47 ;
44 [label="44: Prune (true branch) \n PRUNE((n$12 != 0), true); [line 36]\n REMOVE_TEMPS(n$11,n$12); [line 36]\n " shape="invhouse"]
44 [label="44: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 36]\n REMOVE_TEMPS(n$2,n$3); [line 36]\n " shape="invhouse"]
44 -> 46 ;
43 [label="43: BinaryOperatorStmt: Assign \n n$11=_fun_getenv(\"BLOCK_SIZE\":char *) [line 36]\n *&spec:char *=n$11 [line 36]\n n$12=*&spec:char * [line 36]\n NULLIFY(&spec,false); [line 36]\n " shape="box"]
43 [label="43: BinaryOperatorStmt: Assign \n n$2=_fun_getenv(\"BLOCK_SIZE\":char *) [line 36]\n *&spec:char *=n$2 [line 36]\n n$3=*&spec:char * [line 36]\n NULLIFY(&spec,false); [line 36]\n " shape="box"]
43 -> 44 ;
@ -217,11 +217,11 @@ digraph iCFG {
42 -> 48 ;
42 -> 49 ;
41 [label="41: Prune (false branch) \n n$10=*&SIL_temp_conditional___35:int [line 35]\n NULLIFY(&SIL_temp_conditional___35,true); [line 35]\n PRUNE((n$10 == 0), false); [line 35]\n REMOVE_TEMPS(n$10); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="invhouse"]
41 [label="41: Prune (false branch) \n n$1=*&SIL_temp_conditional___35:int [line 35]\n NULLIFY(&SIL_temp_conditional___35,true); [line 35]\n PRUNE((n$1 == 0), false); [line 35]\n REMOVE_TEMPS(n$1); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="invhouse"]
41 -> 33 ;
40 [label="40: Prune (true branch) \n n$10=*&SIL_temp_conditional___35:int [line 35]\n NULLIFY(&SIL_temp_conditional___35,true); [line 35]\n PRUNE((n$10 != 0), true); [line 35]\n REMOVE_TEMPS(n$10); [line 35]\n " shape="invhouse"]
40 [label="40: Prune (true branch) \n n$1=*&SIL_temp_conditional___35:int [line 35]\n NULLIFY(&SIL_temp_conditional___35,true); [line 35]\n PRUNE((n$1 != 0), true); [line 35]\n REMOVE_TEMPS(n$1); [line 35]\n " shape="invhouse"]
40 -> 43 ;
@ -233,11 +233,11 @@ digraph iCFG {
38 -> 35 ;
37 [label="37: Prune (false branch) \n n$9=*&spec:char * [line 35]\n PRUNE((n$9 == 0), false); [line 35]\n REMOVE_TEMPS(n$9); [line 35]\n " shape="invhouse"]
37 [label="37: Prune (false branch) \n n$0=*&spec:char * [line 35]\n PRUNE((n$0 == 0), false); [line 35]\n REMOVE_TEMPS(n$0); [line 35]\n " shape="invhouse"]
37 -> 39 ;
36 [label="36: Prune (true branch) \n n$9=*&spec:char * [line 35]\n PRUNE((n$9 != 0), true); [line 35]\n REMOVE_TEMPS(n$9); [line 35]\n " shape="invhouse"]
36 [label="36: Prune (true branch) \n n$0=*&spec:char * [line 35]\n PRUNE((n$0 != 0), true); [line 35]\n REMOVE_TEMPS(n$0); [line 35]\n " shape="invhouse"]
36 -> 38 ;
@ -258,7 +258,7 @@ digraph iCFG {
32 -> 59 ;
31 [label="31: BinaryOperatorStmt: Assign \n n$8=*&x:int * [line 22]\n *n$8:int =32 [line 22]\n REMOVE_TEMPS(n$8); [line 22]\n NULLIFY(&x,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
31 [label="31: BinaryOperatorStmt: Assign \n n$5=*&x:int * [line 22]\n *n$5:int =32 [line 22]\n REMOVE_TEMPS(n$5); [line 22]\n NULLIFY(&x,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
31 -> 14 ;
@ -266,11 +266,11 @@ digraph iCFG {
30 -> 14 ;
29 [label="29: Prune (false branch) \n n$7=*&SIL_temp_conditional___22:int [line 18]\n NULLIFY(&SIL_temp_conditional___22,true); [line 18]\n PRUNE((n$7 == 0), false); [line 18]\n REMOVE_TEMPS(n$7); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="invhouse"]
29 [label="29: Prune (false branch) \n n$4=*&SIL_temp_conditional___22:int [line 18]\n NULLIFY(&SIL_temp_conditional___22,true); [line 18]\n PRUNE((n$4 == 0), false); [line 18]\n REMOVE_TEMPS(n$4); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="invhouse"]
29 -> 31 ;
28 [label="28: Prune (true branch) \n n$7=*&SIL_temp_conditional___22:int [line 18]\n NULLIFY(&SIL_temp_conditional___22,true); [line 18]\n PRUNE((n$7 != 0), true); [line 18]\n REMOVE_TEMPS(n$7); [line 18]\n NULLIFY(&x,false); [line 18]\n " shape="invhouse"]
28 [label="28: Prune (true branch) \n n$4=*&SIL_temp_conditional___22:int [line 18]\n NULLIFY(&SIL_temp_conditional___22,true); [line 18]\n PRUNE((n$4 != 0), true); [line 18]\n REMOVE_TEMPS(n$4); [line 18]\n NULLIFY(&x,false); [line 18]\n " shape="invhouse"]
28 -> 30 ;
@ -282,15 +282,15 @@ digraph iCFG {
26 -> 22 ;
25 [label="25: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 18]\n REMOVE_TEMPS(n$5,n$6); [line 18]\n " shape="invhouse"]
25 [label="25: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 18]\n REMOVE_TEMPS(n$2,n$3); [line 18]\n " shape="invhouse"]
25 -> 27 ;
24 [label="24: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 18]\n REMOVE_TEMPS(n$5,n$6); [line 18]\n " shape="invhouse"]
24 [label="24: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 18]\n REMOVE_TEMPS(n$2,n$3); [line 18]\n " shape="invhouse"]
24 -> 26 ;
23 [label="23: BinaryOperatorStmt: Assign \n n$5=_fun_getenv(\"BLOCK\":char *) [line 18]\n *&x:int *=n$5 [line 18]\n n$6=*&x:int * [line 18]\n " shape="box"]
23 [label="23: BinaryOperatorStmt: Assign \n n$2=_fun_getenv(\"BLOCK\":char *) [line 18]\n *&x:int *=n$2 [line 18]\n n$3=*&x:int * [line 18]\n " shape="box"]
23 -> 24 ;
@ -300,11 +300,11 @@ digraph iCFG {
22 -> 28 ;
22 -> 29 ;
21 [label="21: Prune (false branch) \n n$4=*&SIL_temp_conditional___15:int [line 18]\n NULLIFY(&SIL_temp_conditional___15,true); [line 18]\n PRUNE((n$4 == 0), false); [line 18]\n REMOVE_TEMPS(n$4); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="invhouse"]
21 [label="21: Prune (false branch) \n n$1=*&SIL_temp_conditional___15:int [line 18]\n NULLIFY(&SIL_temp_conditional___15,true); [line 18]\n PRUNE((n$1 == 0), false); [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="invhouse"]
21 -> 31 ;
20 [label="20: Prune (true branch) \n n$4=*&SIL_temp_conditional___15:int [line 18]\n NULLIFY(&SIL_temp_conditional___15,true); [line 18]\n PRUNE((n$4 != 0), true); [line 18]\n REMOVE_TEMPS(n$4); [line 18]\n NULLIFY(&x,false); [line 18]\n " shape="invhouse"]
20 [label="20: Prune (true branch) \n n$1=*&SIL_temp_conditional___15:int [line 18]\n NULLIFY(&SIL_temp_conditional___15,true); [line 18]\n PRUNE((n$1 != 0), true); [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n NULLIFY(&x,false); [line 18]\n " shape="invhouse"]
20 -> 23 ;
@ -316,11 +316,11 @@ digraph iCFG {
18 -> 15 ;
17 [label="17: Prune (false branch) \n n$3=*&x:int * [line 18]\n PRUNE((n$3 == 0), false); [line 18]\n REMOVE_TEMPS(n$3); [line 18]\n " shape="invhouse"]
17 [label="17: Prune (false branch) \n n$0=*&x:int * [line 18]\n PRUNE((n$0 == 0), false); [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n " shape="invhouse"]
17 -> 19 ;
16 [label="16: Prune (true branch) \n n$3=*&x:int * [line 18]\n PRUNE((n$3 != 0), true); [line 18]\n REMOVE_TEMPS(n$3); [line 18]\n " shape="invhouse"]
16 [label="16: Prune (true branch) \n n$0=*&x:int * [line 18]\n PRUNE((n$0 != 0), true); [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n " shape="invhouse"]
16 -> 18 ;

@ -7,11 +7,11 @@ digraph iCFG {
31 -> 28 ;
30 [label="30: Prune (false branch) \n n$6=*&x:int [line 33]\n PRUNE((n$6 == 0), false); [line 33]\n REMOVE_TEMPS(n$6); [line 33]\n " shape="invhouse"]
30 [label="30: Prune (false branch) \n n$0=*&x:int [line 33]\n PRUNE((n$0 == 0), false); [line 33]\n REMOVE_TEMPS(n$0); [line 33]\n " shape="invhouse"]
30 -> 32 ;
29 [label="29: Prune (true branch) \n n$6=*&x:int [line 33]\n PRUNE((n$6 != 0), true); [line 33]\n REMOVE_TEMPS(n$6); [line 33]\n " shape="invhouse"]
29 [label="29: Prune (true branch) \n n$0=*&x:int [line 33]\n PRUNE((n$0 != 0), true); [line 33]\n REMOVE_TEMPS(n$0); [line 33]\n " shape="invhouse"]
29 -> 31 ;
@ -19,7 +19,7 @@ digraph iCFG {
28 -> 27 ;
27 [label="27: Return Stmt \n n$7=*&SIL_temp_conditional___28:int [line 33]\n NULLIFY(&SIL_temp_conditional___28,true); [line 33]\n *&return:int =n$7 [line 33]\n REMOVE_TEMPS(n$7); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
27 [label="27: Return Stmt \n n$1=*&SIL_temp_conditional___28:int [line 33]\n NULLIFY(&SIL_temp_conditional___28,true); [line 33]\n *&return:int =n$1 [line 33]\n REMOVE_TEMPS(n$1); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
27 -> 26 ;
@ -39,15 +39,15 @@ digraph iCFG {
23 -> 13 ;
22 [label="22: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 25]\n REMOVE_TEMPS(n$4,n$5); [line 25]\n " shape="invhouse"]
22 [label="22: Prune (false branch) \n PRUNE((n$2 == 0), false); [line 25]\n REMOVE_TEMPS(n$1,n$2); [line 25]\n " shape="invhouse"]
22 -> 24 ;
21 [label="21: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 25]\n REMOVE_TEMPS(n$4,n$5); [line 25]\n " shape="invhouse"]
21 [label="21: Prune (true branch) \n PRUNE((n$2 != 0), true); [line 25]\n REMOVE_TEMPS(n$1,n$2); [line 25]\n " shape="invhouse"]
21 -> 23 ;
20 [label="20: Call _fun_identity \n n$4=*&SIL_temp_conditional___15:int [line 25]\n NULLIFY(&SIL_temp_conditional___15,true); [line 25]\n n$5=_fun_identity(n$4:int ) [line 25]\n " shape="box"]
20 [label="20: Call _fun_identity \n n$1=*&SIL_temp_conditional___15:int [line 25]\n NULLIFY(&SIL_temp_conditional___15,true); [line 25]\n n$2=_fun_identity(n$1:int ) [line 25]\n " shape="box"]
20 -> 21 ;
@ -60,11 +60,11 @@ digraph iCFG {
18 -> 15 ;
17 [label="17: Prune (false branch) \n n$3=*&x:int [line 25]\n PRUNE((n$3 == 0), false); [line 25]\n REMOVE_TEMPS(n$3); [line 25]\n " shape="invhouse"]
17 [label="17: Prune (false branch) \n n$0=*&x:int [line 25]\n PRUNE((n$0 == 0), false); [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n " shape="invhouse"]
17 -> 19 ;
16 [label="16: Prune (true branch) \n n$3=*&x:int [line 25]\n PRUNE((n$3 != 0), true); [line 25]\n REMOVE_TEMPS(n$3); [line 25]\n " shape="invhouse"]
16 [label="16: Prune (true branch) \n n$0=*&x:int [line 25]\n PRUNE((n$0 != 0), true); [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n " shape="invhouse"]
16 -> 18 ;
@ -92,15 +92,15 @@ digraph iCFG {
10 -> 5 ;
9 [label="9: Prune (false branch) \n PRUNE((n$2 == 0), false); [line 16]\n REMOVE_TEMPS(n$1,n$2); [line 16]\n " shape="invhouse"]
9 [label="9: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 16]\n REMOVE_TEMPS(n$0,n$1); [line 16]\n " shape="invhouse"]
9 -> 11 ;
8 [label="8: Prune (true branch) \n PRUNE((n$2 != 0), true); [line 16]\n REMOVE_TEMPS(n$1,n$2); [line 16]\n " shape="invhouse"]
8 [label="8: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 16]\n REMOVE_TEMPS(n$0,n$1); [line 16]\n " shape="invhouse"]
8 -> 10 ;
7 [label="7: Call _fun_identity \n n$1=*&x:int [line 16]\n n$2=_fun_identity(n$1:int ) [line 16]\n NULLIFY(&x,false); [line 16]\n " shape="box"]
7 [label="7: Call _fun_identity \n n$0=*&x:int [line 16]\n n$1=_fun_identity(n$0:int ) [line 16]\n NULLIFY(&x,false); [line 16]\n " shape="box"]
7 -> 8 ;

@ -3,7 +3,7 @@ digraph iCFG {
24 -> 20 ;
23 [label="23: Call _fun_ret_ptr \n n$7=_fun_ret_ptr(4:int ) [line 25]\n n$8=*n$7.field:int [line 25]\n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 25]\n *&SIL_temp_conditional___20:int =n$8 [line 25]\n REMOVE_TEMPS(n$7,n$8); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
23 [label="23: Call _fun_ret_ptr \n n$0=_fun_ret_ptr(4:int ) [line 25]\n n$1=*n$0.field:int [line 25]\n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 25]\n *&SIL_temp_conditional___20:int =n$1 [line 25]\n REMOVE_TEMPS(n$0,n$1); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
23 -> 20 ;
@ -19,7 +19,7 @@ digraph iCFG {
20 -> 19 ;
19 [label="19: DeclStmt \n n$9=*&SIL_temp_conditional___20:int [line 25]\n NULLIFY(&SIL_temp_conditional___20,true); [line 25]\n *&z:int =n$9 [line 25]\n REMOVE_TEMPS(n$9); [line 25]\n NULLIFY(&z,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
19 [label="19: DeclStmt \n n$2=*&SIL_temp_conditional___20:int [line 25]\n NULLIFY(&SIL_temp_conditional___20,true); [line 25]\n *&z:int =n$2 [line 25]\n REMOVE_TEMPS(n$2); [line 25]\n NULLIFY(&z,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
19 -> 18 ;
@ -51,7 +51,7 @@ digraph iCFG {
12 -> 11 ;
11 [label="11: DeclStmt \n n$4=*&SIL_temp_conditional___12:int [line 21]\n NULLIFY(&SIL_temp_conditional___12,true); [line 21]\n n$5=_fun_ret_ptr(n$4:int ) [line 21]\n n$6=*n$5.field:int [line 21]\n *&z:int =n$6 [line 21]\n REMOVE_TEMPS(n$4,n$5,n$6); [line 21]\n NULLIFY(&z,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
11 [label="11: DeclStmt \n n$0=*&SIL_temp_conditional___12:int [line 21]\n NULLIFY(&SIL_temp_conditional___12,true); [line 21]\n n$1=_fun_ret_ptr(n$0:int ) [line 21]\n n$2=*n$1.field:int [line 21]\n *&z:int =n$2 [line 21]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 21]\n NULLIFY(&z,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
11 -> 10 ;

@ -12,11 +12,11 @@ digraph iCFG {
250 -> 248 ;
250 -> 249 ;
249 [label="249: Prune (false branch) \n n$61=*&q:int [line 183]\n PRUNE((n$61 == 0), false); [line 183]\n REMOVE_TEMPS(n$61); [line 183]\n " shape="invhouse"]
249 [label="249: Prune (false branch) \n n$10=*&q:int [line 183]\n PRUNE((n$10 == 0), false); [line 183]\n REMOVE_TEMPS(n$10); [line 183]\n " shape="invhouse"]
249 -> 247 ;
248 [label="248: Prune (true branch) \n n$61=*&q:int [line 183]\n PRUNE((n$61 != 0), true); [line 183]\n REMOVE_TEMPS(n$61); [line 183]\n APPLY_ABSTRACTION; [line 183]\n " shape="invhouse"]
248 [label="248: Prune (true branch) \n n$10=*&q:int [line 183]\n PRUNE((n$10 != 0), true); [line 183]\n REMOVE_TEMPS(n$10); [line 183]\n APPLY_ABSTRACTION; [line 183]\n " shape="invhouse"]
248 -> 245 ;
@ -24,7 +24,7 @@ digraph iCFG {
247 -> 228 ;
246 [label="246: DeclStmt \n n$58=*&i:int [line 187]\n n$59=*&j:int [line 187]\n n$60=*&k:int [line 187]\n *&v:int =((n$58 + n$59) + n$60) [line 187]\n REMOVE_TEMPS(n$58,n$59,n$60); [line 187]\n " shape="box"]
246 [label="246: DeclStmt \n n$7=*&i:int [line 187]\n n$8=*&j:int [line 187]\n n$9=*&k:int [line 187]\n *&v:int =((n$7 + n$8) + n$9) [line 187]\n REMOVE_TEMPS(n$7,n$8,n$9); [line 187]\n " shape="box"]
246 -> 241 ;
@ -32,19 +32,19 @@ digraph iCFG {
245 -> 244 ;
244 [label="244: Call _fun_printf \n n$57=_fun_printf(\"wow\\n\":char *) [line 190]\n REMOVE_TEMPS(n$57); [line 190]\n APPLY_ABSTRACTION; [line 190]\n " shape="box"]
244 [label="244: Call _fun_printf \n n$6=_fun_printf(\"wow\\n\":char *) [line 190]\n REMOVE_TEMPS(n$6); [line 190]\n APPLY_ABSTRACTION; [line 190]\n " shape="box"]
244 -> 240 ;
243 [label="243: Prune (false branch) \n PRUNE(((n$56 >= 15) == 0), false); [line 188]\n REMOVE_TEMPS(n$56); [line 188]\n APPLY_ABSTRACTION; [line 188]\n " shape="invhouse"]
243 [label="243: Prune (false branch) \n PRUNE(((n$5 >= 15) == 0), false); [line 188]\n REMOVE_TEMPS(n$5); [line 188]\n APPLY_ABSTRACTION; [line 188]\n " shape="invhouse"]
243 -> 240 ;
242 [label="242: Prune (true branch) \n PRUNE(((n$56 >= 15) != 0), true); [line 188]\n REMOVE_TEMPS(n$56); [line 188]\n APPLY_ABSTRACTION; [line 188]\n " shape="invhouse"]
242 [label="242: Prune (true branch) \n PRUNE(((n$5 >= 15) != 0), true); [line 188]\n REMOVE_TEMPS(n$5); [line 188]\n APPLY_ABSTRACTION; [line 188]\n " shape="invhouse"]
242 -> 245 ;
241 [label="241: BinaryOperatorStmt: GE \n n$56=*&v:int [line 188]\n NULLIFY(&v,false); [line 188]\n " shape="box"]
241 [label="241: BinaryOperatorStmt: GE \n n$5=*&v:int [line 188]\n NULLIFY(&v,false); [line 188]\n " shape="box"]
241 -> 242 ;
@ -53,15 +53,15 @@ digraph iCFG {
240 -> 236 ;
239 [label="239: Prune (false branch) \n PRUNE(((n$55 < 10) == 0), false); [line 186]\n REMOVE_TEMPS(n$55); [line 186]\n APPLY_ABSTRACTION; [line 186]\n " shape="invhouse"]
239 [label="239: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 186]\n REMOVE_TEMPS(n$4); [line 186]\n APPLY_ABSTRACTION; [line 186]\n " shape="invhouse"]
239 -> 232 ;
238 [label="238: Prune (true branch) \n PRUNE(((n$55 < 10) != 0), true); [line 186]\n REMOVE_TEMPS(n$55); [line 186]\n " shape="invhouse"]
238 [label="238: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 186]\n REMOVE_TEMPS(n$4); [line 186]\n " shape="invhouse"]
238 -> 246 ;
237 [label="237: BinaryOperatorStmt: LT \n n$55=*&k:int [line 186]\n " shape="box"]
237 [label="237: BinaryOperatorStmt: LT \n n$4=*&k:int [line 186]\n " shape="box"]
237 -> 238 ;
@ -70,15 +70,15 @@ digraph iCFG {
236 -> 237 ;
235 [label="235: Prune (false branch) \n PRUNE(((n$54 < 10) == 0), false); [line 185]\n REMOVE_TEMPS(n$54); [line 185]\n APPLY_ABSTRACTION; [line 185]\n " shape="invhouse"]
235 [label="235: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 185]\n REMOVE_TEMPS(n$3); [line 185]\n APPLY_ABSTRACTION; [line 185]\n " shape="invhouse"]
235 -> 228 ;
234 [label="234: Prune (true branch) \n PRUNE(((n$54 < 10) != 0), true); [line 185]\n REMOVE_TEMPS(n$54); [line 185]\n APPLY_ABSTRACTION; [line 185]\n " shape="invhouse"]
234 [label="234: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 185]\n REMOVE_TEMPS(n$3); [line 185]\n APPLY_ABSTRACTION; [line 185]\n " shape="invhouse"]
234 -> 236 ;
233 [label="233: BinaryOperatorStmt: LT \n n$54=*&j:int [line 185]\n " shape="box"]
233 [label="233: BinaryOperatorStmt: LT \n n$3=*&j:int [line 185]\n " shape="box"]
233 -> 234 ;
@ -87,15 +87,15 @@ digraph iCFG {
232 -> 233 ;
231 [label="231: Prune (false branch) \n PRUNE(((n$53 < 10) == 0), false); [line 184]\n REMOVE_TEMPS(n$53); [line 184]\n " shape="invhouse"]
231 [label="231: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 184]\n REMOVE_TEMPS(n$2); [line 184]\n " shape="invhouse"]
231 -> 227 ;
230 [label="230: Prune (true branch) \n PRUNE(((n$53 < 10) != 0), true); [line 184]\n REMOVE_TEMPS(n$53); [line 184]\n APPLY_ABSTRACTION; [line 184]\n " shape="invhouse"]
230 [label="230: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 184]\n REMOVE_TEMPS(n$2); [line 184]\n APPLY_ABSTRACTION; [line 184]\n " shape="invhouse"]
230 -> 232 ;
229 [label="229: BinaryOperatorStmt: LT \n NULLIFY(&q,false); [line 184]\n n$53=*&i:int [line 184]\n " shape="box"]
229 [label="229: BinaryOperatorStmt: LT \n NULLIFY(&q,false); [line 184]\n n$2=*&i:int [line 184]\n " shape="box"]
229 -> 230 ;
@ -108,7 +108,7 @@ digraph iCFG {
227 -> 226 ;
226 [label="226: Call _fun_printf \n n$52=_fun_printf(\"out!\\n\":char *) [line 197]\n REMOVE_TEMPS(n$52); [line 197]\n " shape="box"]
226 [label="226: Call _fun_printf \n n$1=_fun_printf(\"out!\\n\":char *) [line 197]\n REMOVE_TEMPS(n$1); [line 197]\n " shape="box"]
226 -> 225 ;
@ -116,7 +116,7 @@ digraph iCFG {
225 -> 224 ;
224 [label="224: Call _fun_printf \n n$51=_fun_printf(\"terminating!\\n\":char *) [line 199]\n REMOVE_TEMPS(n$51); [line 199]\n " shape="box"]
224 [label="224: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char *) [line 199]\n REMOVE_TEMPS(n$0); [line 199]\n " shape="box"]
224 -> 223 ;
@ -143,23 +143,23 @@ digraph iCFG {
218 -> 200 ;
217 [label="217: DeclStmt \n n$48=*&i:int [line 162]\n n$49=*&j:int [line 162]\n n$50=*&k:int [line 162]\n *&v:int =((n$48 + n$49) + n$50) [line 162]\n REMOVE_TEMPS(n$48,n$49,n$50); [line 162]\n " shape="box"]
217 [label="217: DeclStmt \n n$7=*&i:int [line 162]\n n$8=*&j:int [line 162]\n n$9=*&k:int [line 162]\n *&v:int =((n$7 + n$8) + n$9) [line 162]\n REMOVE_TEMPS(n$7,n$8,n$9); [line 162]\n " shape="box"]
217 -> 213 ;
216 [label="216: Call _fun_printf \n n$47=_fun_printf(\"wow\\n\":char *) [line 166]\n REMOVE_TEMPS(n$47); [line 166]\n " shape="box"]
216 [label="216: Call _fun_printf \n n$6=_fun_printf(\"wow\\n\":char *) [line 166]\n REMOVE_TEMPS(n$6); [line 166]\n " shape="box"]
216 -> 196 ;
215 [label="215: Prune (false branch) \n PRUNE(((n$46 >= 15) == 0), false); [line 163]\n REMOVE_TEMPS(n$46); [line 163]\n " shape="invhouse"]
215 [label="215: Prune (false branch) \n PRUNE(((n$5 >= 15) == 0), false); [line 163]\n REMOVE_TEMPS(n$5); [line 163]\n " shape="invhouse"]
215 -> 212 ;
214 [label="214: Prune (true branch) \n PRUNE(((n$46 >= 15) != 0), true); [line 163]\n REMOVE_TEMPS(n$46); [line 163]\n APPLY_ABSTRACTION; [line 163]\n " shape="invhouse"]
214 [label="214: Prune (true branch) \n PRUNE(((n$5 >= 15) != 0), true); [line 163]\n REMOVE_TEMPS(n$5); [line 163]\n APPLY_ABSTRACTION; [line 163]\n " shape="invhouse"]
214 -> 199 ;
213 [label="213: BinaryOperatorStmt: GE \n n$46=*&v:int [line 163]\n NULLIFY(&v,false); [line 163]\n " shape="box"]
213 [label="213: BinaryOperatorStmt: GE \n n$5=*&v:int [line 163]\n NULLIFY(&v,false); [line 163]\n " shape="box"]
213 -> 214 ;
@ -168,15 +168,15 @@ digraph iCFG {
212 -> 208 ;
211 [label="211: Prune (false branch) \n PRUNE(((n$45 < 10) == 0), false); [line 161]\n REMOVE_TEMPS(n$45); [line 161]\n APPLY_ABSTRACTION; [line 161]\n " shape="invhouse"]
211 [label="211: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 161]\n REMOVE_TEMPS(n$4); [line 161]\n APPLY_ABSTRACTION; [line 161]\n " shape="invhouse"]
211 -> 204 ;
210 [label="210: Prune (true branch) \n PRUNE(((n$45 < 10) != 0), true); [line 161]\n REMOVE_TEMPS(n$45); [line 161]\n " shape="invhouse"]
210 [label="210: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 161]\n REMOVE_TEMPS(n$4); [line 161]\n " shape="invhouse"]
210 -> 217 ;
209 [label="209: BinaryOperatorStmt: LT \n n$45=*&k:int [line 161]\n " shape="box"]
209 [label="209: BinaryOperatorStmt: LT \n n$4=*&k:int [line 161]\n " shape="box"]
209 -> 210 ;
@ -185,15 +185,15 @@ digraph iCFG {
208 -> 209 ;
207 [label="207: Prune (false branch) \n PRUNE(((n$44 < 10) == 0), false); [line 160]\n REMOVE_TEMPS(n$44); [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="invhouse"]
207 [label="207: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 160]\n REMOVE_TEMPS(n$3); [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="invhouse"]
207 -> 200 ;
206 [label="206: Prune (true branch) \n PRUNE(((n$44 < 10) != 0), true); [line 160]\n REMOVE_TEMPS(n$44); [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="invhouse"]
206 [label="206: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 160]\n REMOVE_TEMPS(n$3); [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="invhouse"]
206 -> 208 ;
205 [label="205: BinaryOperatorStmt: LT \n n$44=*&j:int [line 160]\n " shape="box"]
205 [label="205: BinaryOperatorStmt: LT \n n$3=*&j:int [line 160]\n " shape="box"]
205 -> 206 ;
@ -202,15 +202,15 @@ digraph iCFG {
204 -> 205 ;
203 [label="203: Prune (false branch) \n PRUNE(((n$43 < 10) == 0), false); [line 159]\n REMOVE_TEMPS(n$43); [line 159]\n APPLY_ABSTRACTION; [line 159]\n " shape="invhouse"]
203 [label="203: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 159]\n REMOVE_TEMPS(n$2); [line 159]\n APPLY_ABSTRACTION; [line 159]\n " shape="invhouse"]
203 -> 199 ;
202 [label="202: Prune (true branch) \n PRUNE(((n$43 < 10) != 0), true); [line 159]\n REMOVE_TEMPS(n$43); [line 159]\n APPLY_ABSTRACTION; [line 159]\n " shape="invhouse"]
202 [label="202: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 159]\n REMOVE_TEMPS(n$2); [line 159]\n APPLY_ABSTRACTION; [line 159]\n " shape="invhouse"]
202 -> 204 ;
201 [label="201: BinaryOperatorStmt: LT \n n$43=*&i:int [line 159]\n " shape="box"]
201 [label="201: BinaryOperatorStmt: LT \n n$2=*&i:int [line 159]\n " shape="box"]
201 -> 202 ;
@ -223,7 +223,7 @@ digraph iCFG {
199 -> 198 ;
198 [label="198: Call _fun_printf \n n$42=_fun_printf(\"out!\\n\":char *) [line 173]\n REMOVE_TEMPS(n$42); [line 173]\n " shape="box"]
198 [label="198: Call _fun_printf \n n$1=_fun_printf(\"out!\\n\":char *) [line 173]\n REMOVE_TEMPS(n$1); [line 173]\n " shape="box"]
198 -> 197 ;
@ -235,7 +235,7 @@ digraph iCFG {
196 -> 195 ;
195 [label="195: Call _fun_printf \n n$41=_fun_printf(\"terminating!\\n\":char *) [line 176]\n REMOVE_TEMPS(n$41); [line 176]\n " shape="box"]
195 [label="195: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char *) [line 176]\n REMOVE_TEMPS(n$0); [line 176]\n " shape="box"]
195 -> 194 ;
@ -250,15 +250,15 @@ digraph iCFG {
192 -> 220 ;
191 [label="191: Call _fun_printf \n n$40=_fun_printf(\"B\\n\":char *) [line 135]\n REMOVE_TEMPS(n$40); [line 135]\n " shape="box"]
191 [label="191: Call _fun_printf \n n$7=_fun_printf(\"B\\n\":char *) [line 135]\n REMOVE_TEMPS(n$7); [line 135]\n " shape="box"]
191 -> 184 ;
190 [label="190: Prune (false branch) \n n$39=*&SIL_temp_conditional___183:int [line 137]\n NULLIFY(&SIL_temp_conditional___183,true); [line 137]\n PRUNE((n$39 == 0), false); [line 137]\n REMOVE_TEMPS(n$39); [line 137]\n " shape="invhouse"]
190 [label="190: Prune (false branch) \n n$6=*&SIL_temp_conditional___183:int [line 137]\n NULLIFY(&SIL_temp_conditional___183,true); [line 137]\n PRUNE((n$6 == 0), false); [line 137]\n REMOVE_TEMPS(n$6); [line 137]\n " shape="invhouse"]
190 -> 182 ;
189 [label="189: Prune (true branch) \n n$39=*&SIL_temp_conditional___183:int [line 137]\n NULLIFY(&SIL_temp_conditional___183,true); [line 137]\n PRUNE((n$39 != 0), true); [line 137]\n REMOVE_TEMPS(n$39); [line 137]\n APPLY_ABSTRACTION; [line 137]\n " shape="invhouse"]
189 [label="189: Prune (true branch) \n n$6=*&SIL_temp_conditional___183:int [line 137]\n NULLIFY(&SIL_temp_conditional___183,true); [line 137]\n PRUNE((n$6 != 0), true); [line 137]\n REMOVE_TEMPS(n$6); [line 137]\n APPLY_ABSTRACTION; [line 137]\n " shape="invhouse"]
189 -> 164 ;
@ -270,15 +270,15 @@ digraph iCFG {
187 -> 183 ;
186 [label="186: Prune (false branch) \n PRUNE((n$38 == 0), false); [line 137]\n REMOVE_TEMPS(n$38); [line 137]\n " shape="invhouse"]
186 [label="186: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 137]\n REMOVE_TEMPS(n$5); [line 137]\n " shape="invhouse"]
186 -> 188 ;
185 [label="185: Prune (true branch) \n PRUNE((n$38 != 0), true); [line 137]\n REMOVE_TEMPS(n$38); [line 137]\n " shape="invhouse"]
185 [label="185: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 137]\n REMOVE_TEMPS(n$5); [line 137]\n " shape="invhouse"]
185 -> 187 ;
184 [label="184: Call _fun_getValue \n n$38=_fun_getValue() [line 137]\n " shape="box"]
184 [label="184: Call _fun_getValue \n n$5=_fun_getValue() [line 137]\n " shape="box"]
184 -> 185 ;
@ -292,11 +292,11 @@ digraph iCFG {
182 -> 175 ;
181 [label="181: Prune (false branch) \n n$37=*&SIL_temp_conditional___174:int [line 139]\n NULLIFY(&SIL_temp_conditional___174,true); [line 139]\n PRUNE((n$37 == 0), false); [line 139]\n REMOVE_TEMPS(n$37); [line 139]\n " shape="invhouse"]
181 [label="181: Prune (false branch) \n n$4=*&SIL_temp_conditional___174:int [line 139]\n NULLIFY(&SIL_temp_conditional___174,true); [line 139]\n PRUNE((n$4 == 0), false); [line 139]\n REMOVE_TEMPS(n$4); [line 139]\n " shape="invhouse"]
181 -> 173 ;
180 [label="180: Prune (true branch) \n n$37=*&SIL_temp_conditional___174:int [line 139]\n NULLIFY(&SIL_temp_conditional___174,true); [line 139]\n PRUNE((n$37 != 0), true); [line 139]\n REMOVE_TEMPS(n$37); [line 139]\n APPLY_ABSTRACTION; [line 139]\n " shape="invhouse"]
180 [label="180: Prune (true branch) \n n$4=*&SIL_temp_conditional___174:int [line 139]\n NULLIFY(&SIL_temp_conditional___174,true); [line 139]\n PRUNE((n$4 != 0), true); [line 139]\n REMOVE_TEMPS(n$4); [line 139]\n APPLY_ABSTRACTION; [line 139]\n " shape="invhouse"]
180 -> 162 ;
@ -308,15 +308,15 @@ digraph iCFG {
178 -> 174 ;
177 [label="177: Prune (false branch) \n PRUNE((n$36 == 0), false); [line 139]\n REMOVE_TEMPS(n$36); [line 139]\n " shape="invhouse"]
177 [label="177: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 139]\n REMOVE_TEMPS(n$3); [line 139]\n " shape="invhouse"]
177 -> 179 ;
176 [label="176: Prune (true branch) \n PRUNE((n$36 != 0), true); [line 139]\n REMOVE_TEMPS(n$36); [line 139]\n " shape="invhouse"]
176 [label="176: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 139]\n REMOVE_TEMPS(n$3); [line 139]\n " shape="invhouse"]
176 -> 178 ;
175 [label="175: Call _fun_getValue \n n$36=_fun_getValue() [line 139]\n " shape="box"]
175 [label="175: Call _fun_getValue \n n$3=_fun_getValue() [line 139]\n " shape="box"]
175 -> 176 ;
@ -334,15 +334,15 @@ digraph iCFG {
172 -> 191 ;
171 [label="171: Prune (false branch) \n PRUNE(((n$35 > 1) == 0), false); [line 141]\n REMOVE_TEMPS(n$35); [line 141]\n " shape="invhouse"]
171 [label="171: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 141]\n REMOVE_TEMPS(n$2); [line 141]\n " shape="invhouse"]
171 -> 168 ;
170 [label="170: Prune (true branch) \n PRUNE(((n$35 > 1) != 0), true); [line 141]\n REMOVE_TEMPS(n$35); [line 141]\n APPLY_ABSTRACTION; [line 141]\n " shape="invhouse"]
170 [label="170: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 141]\n REMOVE_TEMPS(n$2); [line 141]\n APPLY_ABSTRACTION; [line 141]\n " shape="invhouse"]
170 -> 172 ;
169 [label="169: BinaryOperatorStmt: GT \n n$35=_fun_getValue() [line 141]\n " shape="box"]
169 [label="169: BinaryOperatorStmt: GT \n n$2=_fun_getValue() [line 141]\n " shape="box"]
169 -> 170 ;
@ -355,7 +355,7 @@ digraph iCFG {
167 -> 166 ;
166 [label="166: Call _fun_printf \n n$34=_fun_printf(\"A\\n\":char *) [line 147]\n REMOVE_TEMPS(n$34); [line 147]\n " shape="box"]
166 [label="166: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 147]\n REMOVE_TEMPS(n$1); [line 147]\n " shape="box"]
166 -> 165 ;
@ -367,7 +367,7 @@ digraph iCFG {
164 -> 163 ;
163 [label="163: Call _fun_printf \n n$33=_fun_printf(\"exit\\n\":char *) [line 151]\n REMOVE_TEMPS(n$33); [line 151]\n APPLY_ABSTRACTION; [line 151]\n " shape="box"]
163 [label="163: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 151]\n REMOVE_TEMPS(n$0); [line 151]\n APPLY_ABSTRACTION; [line 151]\n " shape="box"]
163 -> 162 ;
@ -382,15 +382,15 @@ digraph iCFG {
160 -> 172 ;
159 [label="159: Call _fun_printf \n n$32=_fun_printf(\"B\\n\":char *) [line 112]\n REMOVE_TEMPS(n$32); [line 112]\n " shape="box"]
159 [label="159: Call _fun_printf \n n$7=_fun_printf(\"B\\n\":char *) [line 112]\n REMOVE_TEMPS(n$7); [line 112]\n " shape="box"]
159 -> 152 ;
158 [label="158: Prune (false branch) \n n$31=*&SIL_temp_conditional___151:int [line 114]\n NULLIFY(&SIL_temp_conditional___151,true); [line 114]\n PRUNE((n$31 == 0), false); [line 114]\n REMOVE_TEMPS(n$31); [line 114]\n " shape="invhouse"]
158 [label="158: Prune (false branch) \n n$6=*&SIL_temp_conditional___151:int [line 114]\n NULLIFY(&SIL_temp_conditional___151,true); [line 114]\n PRUNE((n$6 == 0), false); [line 114]\n REMOVE_TEMPS(n$6); [line 114]\n " shape="invhouse"]
158 -> 150 ;
157 [label="157: Prune (true branch) \n n$31=*&SIL_temp_conditional___151:int [line 114]\n NULLIFY(&SIL_temp_conditional___151,true); [line 114]\n PRUNE((n$31 != 0), true); [line 114]\n REMOVE_TEMPS(n$31); [line 114]\n APPLY_ABSTRACTION; [line 114]\n " shape="invhouse"]
157 [label="157: Prune (true branch) \n n$6=*&SIL_temp_conditional___151:int [line 114]\n NULLIFY(&SIL_temp_conditional___151,true); [line 114]\n PRUNE((n$6 != 0), true); [line 114]\n REMOVE_TEMPS(n$6); [line 114]\n APPLY_ABSTRACTION; [line 114]\n " shape="invhouse"]
157 -> 132 ;
@ -402,15 +402,15 @@ digraph iCFG {
155 -> 151 ;
154 [label="154: Prune (false branch) \n PRUNE((n$30 == 0), false); [line 114]\n REMOVE_TEMPS(n$30); [line 114]\n " shape="invhouse"]
154 [label="154: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 114]\n REMOVE_TEMPS(n$5); [line 114]\n " shape="invhouse"]
154 -> 156 ;
153 [label="153: Prune (true branch) \n PRUNE((n$30 != 0), true); [line 114]\n REMOVE_TEMPS(n$30); [line 114]\n " shape="invhouse"]
153 [label="153: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 114]\n REMOVE_TEMPS(n$5); [line 114]\n " shape="invhouse"]
153 -> 155 ;
152 [label="152: Call _fun_getValue \n n$30=_fun_getValue() [line 114]\n " shape="box"]
152 [label="152: Call _fun_getValue \n n$5=_fun_getValue() [line 114]\n " shape="box"]
152 -> 153 ;
@ -424,11 +424,11 @@ digraph iCFG {
150 -> 143 ;
149 [label="149: Prune (false branch) \n n$29=*&SIL_temp_conditional___142:int [line 116]\n NULLIFY(&SIL_temp_conditional___142,true); [line 116]\n PRUNE((n$29 == 0), false); [line 116]\n REMOVE_TEMPS(n$29); [line 116]\n " shape="invhouse"]
149 [label="149: Prune (false branch) \n n$4=*&SIL_temp_conditional___142:int [line 116]\n NULLIFY(&SIL_temp_conditional___142,true); [line 116]\n PRUNE((n$4 == 0), false); [line 116]\n REMOVE_TEMPS(n$4); [line 116]\n " shape="invhouse"]
149 -> 141 ;
148 [label="148: Prune (true branch) \n n$29=*&SIL_temp_conditional___142:int [line 116]\n NULLIFY(&SIL_temp_conditional___142,true); [line 116]\n PRUNE((n$29 != 0), true); [line 116]\n REMOVE_TEMPS(n$29); [line 116]\n APPLY_ABSTRACTION; [line 116]\n " shape="invhouse"]
148 [label="148: Prune (true branch) \n n$4=*&SIL_temp_conditional___142:int [line 116]\n NULLIFY(&SIL_temp_conditional___142,true); [line 116]\n PRUNE((n$4 != 0), true); [line 116]\n REMOVE_TEMPS(n$4); [line 116]\n APPLY_ABSTRACTION; [line 116]\n " shape="invhouse"]
148 -> 130 ;
@ -440,15 +440,15 @@ digraph iCFG {
146 -> 142 ;
145 [label="145: Prune (false branch) \n PRUNE((n$28 == 0), false); [line 116]\n REMOVE_TEMPS(n$28); [line 116]\n " shape="invhouse"]
145 [label="145: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 116]\n REMOVE_TEMPS(n$3); [line 116]\n " shape="invhouse"]
145 -> 147 ;
144 [label="144: Prune (true branch) \n PRUNE((n$28 != 0), true); [line 116]\n REMOVE_TEMPS(n$28); [line 116]\n " shape="invhouse"]
144 [label="144: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 116]\n REMOVE_TEMPS(n$3); [line 116]\n " shape="invhouse"]
144 -> 146 ;
143 [label="143: Call _fun_getValue \n n$28=_fun_getValue() [line 116]\n " shape="box"]
143 [label="143: Call _fun_getValue \n n$3=_fun_getValue() [line 116]\n " shape="box"]
143 -> 144 ;
@ -466,15 +466,15 @@ digraph iCFG {
140 -> 159 ;
139 [label="139: Prune (false branch) \n PRUNE(((n$27 > 1) == 0), false); [line 118]\n REMOVE_TEMPS(n$27); [line 118]\n " shape="invhouse"]
139 [label="139: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 118]\n REMOVE_TEMPS(n$2); [line 118]\n " shape="invhouse"]
139 -> 136 ;
138 [label="138: Prune (true branch) \n PRUNE(((n$27 > 1) != 0), true); [line 118]\n REMOVE_TEMPS(n$27); [line 118]\n APPLY_ABSTRACTION; [line 118]\n " shape="invhouse"]
138 [label="138: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 118]\n REMOVE_TEMPS(n$2); [line 118]\n APPLY_ABSTRACTION; [line 118]\n " shape="invhouse"]
138 -> 140 ;
137 [label="137: BinaryOperatorStmt: GT \n n$27=_fun_getValue() [line 118]\n " shape="box"]
137 [label="137: BinaryOperatorStmt: GT \n n$2=_fun_getValue() [line 118]\n " shape="box"]
137 -> 138 ;
@ -487,7 +487,7 @@ digraph iCFG {
135 -> 134 ;
134 [label="134: Call _fun_printf \n n$26=_fun_printf(\"A\\n\":char *) [line 124]\n REMOVE_TEMPS(n$26); [line 124]\n " shape="box"]
134 [label="134: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 124]\n REMOVE_TEMPS(n$1); [line 124]\n " shape="box"]
134 -> 133 ;
@ -499,7 +499,7 @@ digraph iCFG {
132 -> 131 ;
131 [label="131: Call _fun_printf \n n$25=_fun_printf(\"exit\\n\":char *) [line 128]\n REMOVE_TEMPS(n$25); [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="box"]
131 [label="131: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 128]\n REMOVE_TEMPS(n$0); [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="box"]
131 -> 130 ;
@ -514,15 +514,15 @@ digraph iCFG {
128 -> 140 ;
127 [label="127: Call _fun_printf \n n$24=_fun_printf(\"B\\n\":char *) [line 90]\n REMOVE_TEMPS(n$24); [line 90]\n " shape="box"]
127 [label="127: Call _fun_printf \n n$8=_fun_printf(\"B\\n\":char *) [line 90]\n REMOVE_TEMPS(n$8); [line 90]\n " shape="box"]
127 -> 120 ;
126 [label="126: Prune (false branch) \n n$23=*&SIL_temp_conditional___119:int [line 92]\n NULLIFY(&SIL_temp_conditional___119,true); [line 92]\n PRUNE((n$23 == 0), false); [line 92]\n REMOVE_TEMPS(n$23); [line 92]\n " shape="invhouse"]
126 [label="126: Prune (false branch) \n n$7=*&SIL_temp_conditional___119:int [line 92]\n NULLIFY(&SIL_temp_conditional___119,true); [line 92]\n PRUNE((n$7 == 0), false); [line 92]\n REMOVE_TEMPS(n$7); [line 92]\n " shape="invhouse"]
126 -> 118 ;
125 [label="125: Prune (true branch) \n n$23=*&SIL_temp_conditional___119:int [line 92]\n NULLIFY(&SIL_temp_conditional___119,true); [line 92]\n PRUNE((n$23 != 0), true); [line 92]\n REMOVE_TEMPS(n$23); [line 92]\n APPLY_ABSTRACTION; [line 92]\n " shape="invhouse"]
125 [label="125: Prune (true branch) \n n$7=*&SIL_temp_conditional___119:int [line 92]\n NULLIFY(&SIL_temp_conditional___119,true); [line 92]\n PRUNE((n$7 != 0), true); [line 92]\n REMOVE_TEMPS(n$7); [line 92]\n APPLY_ABSTRACTION; [line 92]\n " shape="invhouse"]
125 -> 99 ;
@ -534,15 +534,15 @@ digraph iCFG {
123 -> 119 ;
122 [label="122: Prune (false branch) \n PRUNE((n$22 == 0), false); [line 92]\n REMOVE_TEMPS(n$22); [line 92]\n " shape="invhouse"]
122 [label="122: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 92]\n REMOVE_TEMPS(n$6); [line 92]\n " shape="invhouse"]
122 -> 124 ;
121 [label="121: Prune (true branch) \n PRUNE((n$22 != 0), true); [line 92]\n REMOVE_TEMPS(n$22); [line 92]\n " shape="invhouse"]
121 [label="121: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 92]\n REMOVE_TEMPS(n$6); [line 92]\n " shape="invhouse"]
121 -> 123 ;
120 [label="120: Call _fun_getValue \n n$22=_fun_getValue() [line 92]\n " shape="box"]
120 [label="120: Call _fun_getValue \n n$6=_fun_getValue() [line 92]\n " shape="box"]
120 -> 121 ;
@ -556,11 +556,11 @@ digraph iCFG {
118 -> 111 ;
117 [label="117: Prune (false branch) \n n$21=*&SIL_temp_conditional___110:int [line 94]\n NULLIFY(&SIL_temp_conditional___110,true); [line 94]\n PRUNE((n$21 == 0), false); [line 94]\n REMOVE_TEMPS(n$21); [line 94]\n " shape="invhouse"]
117 [label="117: Prune (false branch) \n n$5=*&SIL_temp_conditional___110:int [line 94]\n NULLIFY(&SIL_temp_conditional___110,true); [line 94]\n PRUNE((n$5 == 0), false); [line 94]\n REMOVE_TEMPS(n$5); [line 94]\n " shape="invhouse"]
117 -> 109 ;
116 [label="116: Prune (true branch) \n n$21=*&SIL_temp_conditional___110:int [line 94]\n NULLIFY(&SIL_temp_conditional___110,true); [line 94]\n PRUNE((n$21 != 0), true); [line 94]\n REMOVE_TEMPS(n$21); [line 94]\n APPLY_ABSTRACTION; [line 94]\n " shape="invhouse"]
116 [label="116: Prune (true branch) \n n$5=*&SIL_temp_conditional___110:int [line 94]\n NULLIFY(&SIL_temp_conditional___110,true); [line 94]\n PRUNE((n$5 != 0), true); [line 94]\n REMOVE_TEMPS(n$5); [line 94]\n APPLY_ABSTRACTION; [line 94]\n " shape="invhouse"]
116 -> 102 ;
@ -572,15 +572,15 @@ digraph iCFG {
114 -> 110 ;
113 [label="113: Prune (false branch) \n PRUNE((n$20 == 0), false); [line 94]\n REMOVE_TEMPS(n$20); [line 94]\n " shape="invhouse"]
113 [label="113: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 94]\n REMOVE_TEMPS(n$4); [line 94]\n " shape="invhouse"]
113 -> 115 ;
112 [label="112: Prune (true branch) \n PRUNE((n$20 != 0), true); [line 94]\n REMOVE_TEMPS(n$20); [line 94]\n " shape="invhouse"]
112 [label="112: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 94]\n REMOVE_TEMPS(n$4); [line 94]\n " shape="invhouse"]
112 -> 114 ;
111 [label="111: Call _fun_getValue \n n$20=_fun_getValue() [line 94]\n " shape="box"]
111 [label="111: Call _fun_getValue \n n$4=_fun_getValue() [line 94]\n " shape="box"]
111 -> 112 ;
@ -598,15 +598,15 @@ digraph iCFG {
108 -> 127 ;
107 [label="107: Prune (false branch) \n PRUNE(((n$19 > 1) == 0), false); [line 96]\n REMOVE_TEMPS(n$19); [line 96]\n " shape="invhouse"]
107 [label="107: Prune (false branch) \n PRUNE(((n$3 > 1) == 0), false); [line 96]\n REMOVE_TEMPS(n$3); [line 96]\n " shape="invhouse"]
107 -> 104 ;
106 [label="106: Prune (true branch) \n PRUNE(((n$19 > 1) != 0), true); [line 96]\n REMOVE_TEMPS(n$19); [line 96]\n APPLY_ABSTRACTION; [line 96]\n " shape="invhouse"]
106 [label="106: Prune (true branch) \n PRUNE(((n$3 > 1) != 0), true); [line 96]\n REMOVE_TEMPS(n$3); [line 96]\n APPLY_ABSTRACTION; [line 96]\n " shape="invhouse"]
106 -> 108 ;
105 [label="105: BinaryOperatorStmt: GT \n n$19=_fun_getValue() [line 96]\n " shape="box"]
105 [label="105: BinaryOperatorStmt: GT \n n$3=_fun_getValue() [line 96]\n " shape="box"]
105 -> 106 ;
@ -615,7 +615,7 @@ digraph iCFG {
104 -> 103 ;
103 [label="103: Call _fun_printf \n n$18=_fun_printf(\"g4\\n\":char *) [line 98]\n REMOVE_TEMPS(n$18); [line 98]\n APPLY_ABSTRACTION; [line 98]\n " shape="box"]
103 [label="103: Call _fun_printf \n n$2=_fun_printf(\"g4\\n\":char *) [line 98]\n REMOVE_TEMPS(n$2); [line 98]\n APPLY_ABSTRACTION; [line 98]\n " shape="box"]
103 -> 102 ;
@ -627,7 +627,7 @@ digraph iCFG {
101 -> 100 ;
100 [label="100: Call _fun_printf \n n$17=_fun_printf(\"A\\n\":char *) [line 102]\n REMOVE_TEMPS(n$17); [line 102]\n APPLY_ABSTRACTION; [line 102]\n " shape="box"]
100 [label="100: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 102]\n REMOVE_TEMPS(n$1); [line 102]\n APPLY_ABSTRACTION; [line 102]\n " shape="box"]
100 -> 99 ;
@ -635,7 +635,7 @@ digraph iCFG {
99 -> 98 ;
98 [label="98: Call _fun_printf \n n$16=_fun_printf(\"exit\\n\":char *) [line 105]\n REMOVE_TEMPS(n$16); [line 105]\n " shape="box"]
98 [label="98: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 105]\n REMOVE_TEMPS(n$0); [line 105]\n " shape="box"]
98 -> 97 ;
@ -650,15 +650,15 @@ digraph iCFG {
95 -> 108 ;
94 [label="94: Call _fun_printf \n n$15=_fun_printf(\"B\\n\":char *) [line 67]\n REMOVE_TEMPS(n$15); [line 67]\n " shape="box"]
94 [label="94: Call _fun_printf \n n$8=_fun_printf(\"B\\n\":char *) [line 67]\n REMOVE_TEMPS(n$8); [line 67]\n " shape="box"]
94 -> 87 ;
93 [label="93: Prune (false branch) \n n$14=*&SIL_temp_conditional___86:int [line 69]\n NULLIFY(&SIL_temp_conditional___86,true); [line 69]\n PRUNE((n$14 == 0), false); [line 69]\n REMOVE_TEMPS(n$14); [line 69]\n " shape="invhouse"]
93 [label="93: Prune (false branch) \n n$7=*&SIL_temp_conditional___86:int [line 69]\n NULLIFY(&SIL_temp_conditional___86,true); [line 69]\n PRUNE((n$7 == 0), false); [line 69]\n REMOVE_TEMPS(n$7); [line 69]\n " shape="invhouse"]
93 -> 85 ;
92 [label="92: Prune (true branch) \n n$14=*&SIL_temp_conditional___86:int [line 69]\n NULLIFY(&SIL_temp_conditional___86,true); [line 69]\n PRUNE((n$14 != 0), true); [line 69]\n REMOVE_TEMPS(n$14); [line 69]\n APPLY_ABSTRACTION; [line 69]\n " shape="invhouse"]
92 [label="92: Prune (true branch) \n n$7=*&SIL_temp_conditional___86:int [line 69]\n NULLIFY(&SIL_temp_conditional___86,true); [line 69]\n PRUNE((n$7 != 0), true); [line 69]\n REMOVE_TEMPS(n$7); [line 69]\n APPLY_ABSTRACTION; [line 69]\n " shape="invhouse"]
92 -> 65 ;
@ -670,15 +670,15 @@ digraph iCFG {
90 -> 86 ;
89 [label="89: Prune (false branch) \n PRUNE((n$13 == 0), false); [line 69]\n REMOVE_TEMPS(n$13); [line 69]\n " shape="invhouse"]
89 [label="89: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 69]\n REMOVE_TEMPS(n$6); [line 69]\n " shape="invhouse"]
89 -> 91 ;
88 [label="88: Prune (true branch) \n PRUNE((n$13 != 0), true); [line 69]\n REMOVE_TEMPS(n$13); [line 69]\n " shape="invhouse"]
88 [label="88: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 69]\n REMOVE_TEMPS(n$6); [line 69]\n " shape="invhouse"]
88 -> 90 ;
87 [label="87: Call _fun_getValue \n n$13=_fun_getValue() [line 69]\n " shape="box"]
87 [label="87: Call _fun_getValue \n n$6=_fun_getValue() [line 69]\n " shape="box"]
87 -> 88 ;
@ -692,11 +692,11 @@ digraph iCFG {
85 -> 78 ;
84 [label="84: Prune (false branch) \n n$12=*&SIL_temp_conditional___77:int [line 71]\n NULLIFY(&SIL_temp_conditional___77,true); [line 71]\n PRUNE((n$12 == 0), false); [line 71]\n REMOVE_TEMPS(n$12); [line 71]\n " shape="invhouse"]
84 [label="84: Prune (false branch) \n n$5=*&SIL_temp_conditional___77:int [line 71]\n NULLIFY(&SIL_temp_conditional___77,true); [line 71]\n PRUNE((n$5 == 0), false); [line 71]\n REMOVE_TEMPS(n$5); [line 71]\n " shape="invhouse"]
84 -> 76 ;
83 [label="83: Prune (true branch) \n n$12=*&SIL_temp_conditional___77:int [line 71]\n NULLIFY(&SIL_temp_conditional___77,true); [line 71]\n PRUNE((n$12 != 0), true); [line 71]\n REMOVE_TEMPS(n$12); [line 71]\n " shape="invhouse"]
83 [label="83: Prune (true branch) \n n$5=*&SIL_temp_conditional___77:int [line 71]\n NULLIFY(&SIL_temp_conditional___77,true); [line 71]\n PRUNE((n$5 != 0), true); [line 71]\n REMOVE_TEMPS(n$5); [line 71]\n " shape="invhouse"]
83 -> 68 ;
@ -708,15 +708,15 @@ digraph iCFG {
81 -> 77 ;
80 [label="80: Prune (false branch) \n PRUNE((n$11 == 0), false); [line 71]\n REMOVE_TEMPS(n$11); [line 71]\n " shape="invhouse"]
80 [label="80: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 71]\n REMOVE_TEMPS(n$4); [line 71]\n " shape="invhouse"]
80 -> 82 ;
79 [label="79: Prune (true branch) \n PRUNE((n$11 != 0), true); [line 71]\n REMOVE_TEMPS(n$11); [line 71]\n " shape="invhouse"]
79 [label="79: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 71]\n REMOVE_TEMPS(n$4); [line 71]\n " shape="invhouse"]
79 -> 81 ;
78 [label="78: Call _fun_getValue \n n$11=_fun_getValue() [line 71]\n " shape="box"]
78 [label="78: Call _fun_getValue \n n$4=_fun_getValue() [line 71]\n " shape="box"]
78 -> 79 ;
@ -734,15 +734,15 @@ digraph iCFG {
75 -> 94 ;
74 [label="74: Prune (false branch) \n PRUNE(((n$10 > 1) == 0), false); [line 73]\n REMOVE_TEMPS(n$10); [line 73]\n " shape="invhouse"]
74 [label="74: Prune (false branch) \n PRUNE(((n$3 > 1) == 0), false); [line 73]\n REMOVE_TEMPS(n$3); [line 73]\n " shape="invhouse"]
74 -> 71 ;
73 [label="73: Prune (true branch) \n PRUNE(((n$10 > 1) != 0), true); [line 73]\n REMOVE_TEMPS(n$10); [line 73]\n APPLY_ABSTRACTION; [line 73]\n " shape="invhouse"]
73 [label="73: Prune (true branch) \n PRUNE(((n$3 > 1) != 0), true); [line 73]\n REMOVE_TEMPS(n$3); [line 73]\n APPLY_ABSTRACTION; [line 73]\n " shape="invhouse"]
73 -> 75 ;
72 [label="72: BinaryOperatorStmt: GT \n n$10=_fun_getValue() [line 73]\n " shape="box"]
72 [label="72: BinaryOperatorStmt: GT \n n$3=_fun_getValue() [line 73]\n " shape="box"]
72 -> 73 ;
@ -751,7 +751,7 @@ digraph iCFG {
71 -> 70 ;
70 [label="70: Call _fun_printf \n n$9=_fun_printf(\"g3\\n\":char *) [line 75]\n REMOVE_TEMPS(n$9); [line 75]\n " shape="box"]
70 [label="70: Call _fun_printf \n n$2=_fun_printf(\"g3\\n\":char *) [line 75]\n REMOVE_TEMPS(n$2); [line 75]\n " shape="box"]
70 -> 69 ;
@ -767,7 +767,7 @@ digraph iCFG {
67 -> 66 ;
66 [label="66: Call _fun_printf \n n$8=_fun_printf(\"A\\n\":char *) [line 80]\n REMOVE_TEMPS(n$8); [line 80]\n APPLY_ABSTRACTION; [line 80]\n " shape="box"]
66 [label="66: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 80]\n REMOVE_TEMPS(n$1); [line 80]\n APPLY_ABSTRACTION; [line 80]\n " shape="box"]
66 -> 65 ;
@ -775,7 +775,7 @@ digraph iCFG {
65 -> 64 ;
64 [label="64: Call _fun_printf \n n$7=_fun_printf(\"exit\\n\":char *) [line 83]\n REMOVE_TEMPS(n$7); [line 83]\n " shape="box"]
64 [label="64: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 83]\n REMOVE_TEMPS(n$0); [line 83]\n " shape="box"]
64 -> 63 ;
@ -798,11 +798,11 @@ digraph iCFG {
59 -> 52 ;
58 [label="58: Prune (false branch) \n n$6=*&SIL_temp_conditional___51:int [line 47]\n NULLIFY(&SIL_temp_conditional___51,true); [line 47]\n PRUNE((n$6 == 0), false); [line 47]\n REMOVE_TEMPS(n$6); [line 47]\n " shape="invhouse"]
58 [label="58: Prune (false branch) \n n$4=*&SIL_temp_conditional___51:int [line 47]\n NULLIFY(&SIL_temp_conditional___51,true); [line 47]\n PRUNE((n$4 == 0), false); [line 47]\n REMOVE_TEMPS(n$4); [line 47]\n " shape="invhouse"]
58 -> 50 ;
57 [label="57: Prune (true branch) \n n$6=*&SIL_temp_conditional___51:int [line 47]\n NULLIFY(&SIL_temp_conditional___51,true); [line 47]\n PRUNE((n$6 != 0), true); [line 47]\n REMOVE_TEMPS(n$6); [line 47]\n " shape="invhouse"]
57 [label="57: Prune (true branch) \n n$4=*&SIL_temp_conditional___51:int [line 47]\n NULLIFY(&SIL_temp_conditional___51,true); [line 47]\n PRUNE((n$4 != 0), true); [line 47]\n REMOVE_TEMPS(n$4); [line 47]\n " shape="invhouse"]
57 -> 31 ;
@ -814,15 +814,15 @@ digraph iCFG {
55 -> 51 ;
54 [label="54: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 47]\n REMOVE_TEMPS(n$5); [line 47]\n " shape="invhouse"]
54 [label="54: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 47]\n REMOVE_TEMPS(n$3); [line 47]\n " shape="invhouse"]
54 -> 56 ;
53 [label="53: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 47]\n REMOVE_TEMPS(n$5); [line 47]\n " shape="invhouse"]
53 [label="53: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 47]\n REMOVE_TEMPS(n$3); [line 47]\n " shape="invhouse"]
53 -> 55 ;
52 [label="52: Call _fun_getValue \n n$5=_fun_getValue() [line 47]\n " shape="box"]
52 [label="52: Call _fun_getValue \n n$3=_fun_getValue() [line 47]\n " shape="box"]
52 -> 53 ;
@ -836,11 +836,11 @@ digraph iCFG {
50 -> 43 ;
49 [label="49: Prune (false branch) \n n$4=*&SIL_temp_conditional___42:int [line 49]\n NULLIFY(&SIL_temp_conditional___42,true); [line 49]\n PRUNE((n$4 == 0), false); [line 49]\n REMOVE_TEMPS(n$4); [line 49]\n " shape="invhouse"]
49 [label="49: Prune (false branch) \n n$2=*&SIL_temp_conditional___42:int [line 49]\n NULLIFY(&SIL_temp_conditional___42,true); [line 49]\n PRUNE((n$2 == 0), false); [line 49]\n REMOVE_TEMPS(n$2); [line 49]\n " shape="invhouse"]
49 -> 41 ;
48 [label="48: Prune (true branch) \n n$4=*&SIL_temp_conditional___42:int [line 49]\n NULLIFY(&SIL_temp_conditional___42,true); [line 49]\n PRUNE((n$4 != 0), true); [line 49]\n REMOVE_TEMPS(n$4); [line 49]\n " shape="invhouse"]
48 [label="48: Prune (true branch) \n n$2=*&SIL_temp_conditional___42:int [line 49]\n NULLIFY(&SIL_temp_conditional___42,true); [line 49]\n PRUNE((n$2 != 0), true); [line 49]\n REMOVE_TEMPS(n$2); [line 49]\n " shape="invhouse"]
48 -> 34 ;
@ -852,15 +852,15 @@ digraph iCFG {
46 -> 42 ;
45 [label="45: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 49]\n REMOVE_TEMPS(n$3); [line 49]\n " shape="invhouse"]
45 [label="45: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n " shape="invhouse"]
45 -> 47 ;
44 [label="44: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 49]\n REMOVE_TEMPS(n$3); [line 49]\n " shape="invhouse"]
44 [label="44: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n " shape="invhouse"]
44 -> 46 ;
43 [label="43: Call _fun_getValue \n n$3=_fun_getValue() [line 49]\n " shape="box"]
43 [label="43: Call _fun_getValue \n n$1=_fun_getValue() [line 49]\n " shape="box"]
43 -> 44 ;
@ -878,15 +878,15 @@ digraph iCFG {
40 -> 59 ;
39 [label="39: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 51]\n REMOVE_TEMPS(n$2); [line 51]\n " shape="invhouse"]
39 [label="39: Prune (false branch) \n PRUNE(((n$0 > 1) == 0), false); [line 51]\n REMOVE_TEMPS(n$0); [line 51]\n " shape="invhouse"]
39 -> 36 ;
38 [label="38: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 51]\n REMOVE_TEMPS(n$2); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="invhouse"]
38 [label="38: Prune (true branch) \n PRUNE(((n$0 > 1) != 0), true); [line 51]\n REMOVE_TEMPS(n$0); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="invhouse"]
38 -> 40 ;
37 [label="37: BinaryOperatorStmt: GT \n n$2=_fun_getValue() [line 51]\n " shape="box"]
37 [label="37: BinaryOperatorStmt: GT \n n$0=_fun_getValue() [line 51]\n " shape="box"]
37 -> 38 ;
@ -934,15 +934,15 @@ digraph iCFG {
26 -> 23 ;
25 [label="25: Prune (false branch) \n PRUNE(((n$1 > 1) == 0), false); [line 32]\n REMOVE_TEMPS(n$1); [line 32]\n " shape="invhouse"]
25 [label="25: Prune (false branch) \n PRUNE(((n$0 > 1) == 0), false); [line 32]\n REMOVE_TEMPS(n$0); [line 32]\n " shape="invhouse"]
25 -> 22 ;
24 [label="24: Prune (true branch) \n PRUNE(((n$1 > 1) != 0), true); [line 32]\n REMOVE_TEMPS(n$1); [line 32]\n " shape="invhouse"]
24 [label="24: Prune (true branch) \n PRUNE(((n$0 > 1) != 0), true); [line 32]\n REMOVE_TEMPS(n$0); [line 32]\n " shape="invhouse"]
24 -> 20 ;
23 [label="23: BinaryOperatorStmt: GT \n n$1=_fun_getValue() [line 32]\n " shape="box"]
23 [label="23: BinaryOperatorStmt: GT \n n$0=_fun_getValue() [line 32]\n " shape="box"]
23 -> 24 ;

@ -3,7 +3,7 @@ digraph iCFG {
14 -> 13 ;
13 [label="13: Return Stmt \n n$1=*&e.ssn:int [line 42]\n *&return:int =n$1 [line 42]\n REMOVE_TEMPS(n$1); [line 42]\n NULLIFY(&e,false); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
13 [label="13: Return Stmt \n n$0=*&e.ssn:int [line 42]\n *&return:int =n$0 [line 42]\n REMOVE_TEMPS(n$0); [line 42]\n NULLIFY(&e,false); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
13 -> 12 ;

@ -3,19 +3,19 @@ digraph iCFG {
195 -> 186 ;
194 [label="194: Prune (false branch) \n PRUNE(((n$42 == 0) == 0), false); [line 225]\n APPLY_ABSTRACTION; [line 225]\n " shape="invhouse"]
194 [label="194: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 225]\n APPLY_ABSTRACTION; [line 225]\n " shape="invhouse"]
194 -> 184 ;
193 [label="193: Prune (true branch) \n PRUNE(((n$42 == 0) != 0), true); [line 225]\n " shape="invhouse"]
193 [label="193: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 225]\n " shape="invhouse"]
193 -> 192 ;
192 [label="192: Call _fun_printf \n n$43=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 226]\n REMOVE_TEMPS(n$43); [line 226]\n APPLY_ABSTRACTION; [line 226]\n " shape="box"]
192 [label="192: Call _fun_printf \n n$3=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 226]\n REMOVE_TEMPS(n$3); [line 226]\n APPLY_ABSTRACTION; [line 226]\n " shape="box"]
192 -> 184 ;
191 [label="191: Switch_stmt \n n$41=*&SIL_temp_conditional___185:int [line 223]\n NULLIFY(&SIL_temp_conditional___185,true); [line 223]\n *&value:int =n$41 [line 223]\n n$42=*&value:int [line 223]\n NULLIFY(&value,false); [line 223]\n " shape="box"]
191 [label="191: Switch_stmt \n n$1=*&SIL_temp_conditional___185:int [line 223]\n NULLIFY(&SIL_temp_conditional___185,true); [line 223]\n *&value:int =n$1 [line 223]\n n$2=*&value:int [line 223]\n NULLIFY(&value,false); [line 223]\n " shape="box"]
191 -> 193 ;
@ -28,15 +28,15 @@ digraph iCFG {
189 -> 185 ;
188 [label="188: Prune (false branch) \n PRUNE(((n$40 == 0) == 0), false); [line 223]\n REMOVE_TEMPS(n$40); [line 223]\n " shape="invhouse"]
188 [label="188: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 223]\n REMOVE_TEMPS(n$0); [line 223]\n " shape="invhouse"]
188 -> 190 ;
187 [label="187: Prune (true branch) \n PRUNE(((n$40 == 0) != 0), true); [line 223]\n REMOVE_TEMPS(n$40); [line 223]\n " shape="invhouse"]
187 [label="187: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 223]\n REMOVE_TEMPS(n$0); [line 223]\n " shape="invhouse"]
187 -> 189 ;
186 [label="186: BinaryOperatorStmt: EQ \n n$40=*&value:int [line 223]\n NULLIFY(&value,false); [line 223]\n " shape="box"]
186 [label="186: BinaryOperatorStmt: EQ \n n$0=*&value:int [line 223]\n NULLIFY(&value,false); [line 223]\n " shape="box"]
186 -> 187 ;
@ -45,7 +45,7 @@ digraph iCFG {
185 -> 191 ;
184 [label="184: Return Stmt \n *&return:int =0 [line 228]\n REMOVE_TEMPS(n$41,n$42); [line 228]\n APPLY_ABSTRACTION; [line 228]\n " shape="box"]
184 [label="184: Return Stmt \n *&return:int =0 [line 228]\n REMOVE_TEMPS(n$1,n$2); [line 228]\n APPLY_ABSTRACTION; [line 228]\n " shape="box"]
184 -> 183 ;
@ -60,11 +60,11 @@ digraph iCFG {
181 -> 180 ;
180 [label="180: Switch_stmt \n *&value:int =7 [line 214]\n n$39=*&value:int [line 214]\n NULLIFY(&value,false); [line 214]\n " shape="box"]
180 [label="180: Switch_stmt \n *&value:int =7 [line 214]\n n$0=*&value:int [line 214]\n NULLIFY(&value,false); [line 214]\n " shape="box"]
180 -> 179 ;
179 [label="179: Return Stmt \n *&return:int =0 [line 217]\n REMOVE_TEMPS(n$39); [line 217]\n APPLY_ABSTRACTION; [line 217]\n " shape="box"]
179 [label="179: Return Stmt \n *&return:int =0 [line 217]\n REMOVE_TEMPS(n$0); [line 217]\n APPLY_ABSTRACTION; [line 217]\n " shape="box"]
179 -> 178 ;
@ -79,11 +79,11 @@ digraph iCFG {
176 -> 175 ;
175 [label="175: Switch_stmt \n n$38=*&value:int [line 205]\n NULLIFY(&value,false); [line 205]\n " shape="box"]
175 [label="175: Switch_stmt \n n$0=*&value:int [line 205]\n NULLIFY(&value,false); [line 205]\n " shape="box"]
175 -> 174 ;
174 [label="174: Return Stmt \n *&return:int =0 [line 208]\n REMOVE_TEMPS(n$38); [line 208]\n APPLY_ABSTRACTION; [line 208]\n " shape="box"]
174 [label="174: Return Stmt \n *&return:int =0 [line 208]\n REMOVE_TEMPS(n$0); [line 208]\n APPLY_ABSTRACTION; [line 208]\n " shape="box"]
174 -> 173 ;
@ -98,16 +98,16 @@ digraph iCFG {
171 -> 146 ;
170 [label="170: Prune (false branch) \n PRUNE(((n$35 == 0) == 0), false); [line 183]\n " shape="invhouse"]
170 [label="170: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 183]\n " shape="invhouse"]
170 -> 165 ;
170 -> 166 ;
169 [label="169: Prune (true branch) \n PRUNE(((n$35 == 0) != 0), true); [line 183]\n " shape="invhouse"]
169 [label="169: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 183]\n " shape="invhouse"]
169 -> 168 ;
168 [label="168: Call _fun_printf \n NULLIFY(&value,false); [line 184]\n n$37=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 184]\n REMOVE_TEMPS(n$37); [line 184]\n " shape="box"]
168 [label="168: Call _fun_printf \n NULLIFY(&value,false); [line 184]\n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 184]\n REMOVE_TEMPS(n$4); [line 184]\n " shape="box"]
168 -> 167 ;
@ -115,12 +115,12 @@ digraph iCFG {
167 -> 144 ;
166 [label="166: Prune (false branch) \n PRUNE(((n$35 == 1) == 0), false); [line 186]\n " shape="invhouse"]
166 [label="166: Prune (false branch) \n PRUNE(((n$2 == 1) == 0), false); [line 186]\n " shape="invhouse"]
166 -> 160 ;
166 -> 161 ;
165 [label="165: Prune (true branch) \n PRUNE(((n$35 == 1) != 0), true); [line 186]\n " shape="invhouse"]
165 [label="165: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 186]\n " shape="invhouse"]
165 -> 164 ;
@ -128,7 +128,7 @@ digraph iCFG {
164 -> 163 ;
163 [label="163: UnaryOperator \n n$36=*&something:int [line 189]\n *&something:int =(n$36 + 1) [line 189]\n REMOVE_TEMPS(n$36); [line 189]\n NULLIFY(&something,false); [line 189]\n APPLY_ABSTRACTION; [line 189]\n " shape="box"]
163 [label="163: UnaryOperator \n n$3=*&something:int [line 189]\n *&something:int =(n$3 + 1) [line 189]\n REMOVE_TEMPS(n$3); [line 189]\n NULLIFY(&something,false); [line 189]\n APPLY_ABSTRACTION; [line 189]\n " shape="box"]
163 -> 146 ;
@ -136,24 +136,24 @@ digraph iCFG {
162 -> 150 ;
161 [label="161: Prune (false branch) \n PRUNE(((n$35 == 2) == 0), false); [line 194]\n " shape="invhouse"]
161 [label="161: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 194]\n " shape="invhouse"]
161 -> 158 ;
161 -> 159 ;
160 [label="160: Prune (true branch) \n PRUNE(((n$35 == 2) != 0), true); [line 194]\n APPLY_ABSTRACTION; [line 194]\n " shape="invhouse"]
160 [label="160: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 194]\n APPLY_ABSTRACTION; [line 194]\n " shape="invhouse"]
160 -> 150 ;
159 [label="159: Prune (false branch) \n PRUNE(((n$35 == 3) == 0), false); [line 195]\n APPLY_ABSTRACTION; [line 195]\n " shape="invhouse"]
159 [label="159: Prune (false branch) \n PRUNE(((n$2 == 3) == 0), false); [line 195]\n APPLY_ABSTRACTION; [line 195]\n " shape="invhouse"]
159 -> 150 ;
158 [label="158: Prune (true branch) \n PRUNE(((n$35 == 3) != 0), true); [line 195]\n APPLY_ABSTRACTION; [line 195]\n " shape="invhouse"]
158 [label="158: Prune (true branch) \n PRUNE(((n$2 == 3) != 0), true); [line 195]\n APPLY_ABSTRACTION; [line 195]\n " shape="invhouse"]
158 -> 150 ;
157 [label="157: Switch_stmt \n n$35=*&SIL_temp_conditional___151:int [line 181]\n NULLIFY(&SIL_temp_conditional___151,true); [line 181]\n " shape="box"]
157 [label="157: Switch_stmt \n n$2=*&SIL_temp_conditional___151:int [line 181]\n NULLIFY(&SIL_temp_conditional___151,true); [line 181]\n " shape="box"]
157 -> 169 ;
@ -166,15 +166,15 @@ digraph iCFG {
155 -> 151 ;
154 [label="154: Prune (false branch) \n PRUNE(((n$34 == 0) == 0), false); [line 181]\n REMOVE_TEMPS(n$34); [line 181]\n " shape="invhouse"]
154 [label="154: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 181]\n REMOVE_TEMPS(n$1); [line 181]\n " shape="invhouse"]
154 -> 156 ;
153 [label="153: Prune (true branch) \n PRUNE(((n$34 == 0) != 0), true); [line 181]\n REMOVE_TEMPS(n$34); [line 181]\n " shape="invhouse"]
153 [label="153: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 181]\n REMOVE_TEMPS(n$1); [line 181]\n " shape="invhouse"]
153 -> 155 ;
152 [label="152: BinaryOperatorStmt: EQ \n n$34=_fun_getValue() [line 181]\n " shape="box"]
152 [label="152: BinaryOperatorStmt: EQ \n n$1=_fun_getValue() [line 181]\n " shape="box"]
152 -> 153 ;
@ -183,19 +183,19 @@ digraph iCFG {
151 -> 157 ;
150 [label="150: DeclStmt \n *&a:int =0 [line 197]\n REMOVE_TEMPS(n$35); [line 197]\n NULLIFY(&a,false); [line 197]\n APPLY_ABSTRACTION; [line 197]\n " shape="box"]
150 [label="150: DeclStmt \n *&a:int =0 [line 197]\n REMOVE_TEMPS(n$2); [line 197]\n NULLIFY(&a,false); [line 197]\n APPLY_ABSTRACTION; [line 197]\n " shape="box"]
150 -> 146 ;
149 [label="149: Prune (false branch) \n PRUNE(((n$33 < 10) == 0), false); [line 179]\n REMOVE_TEMPS(n$33); [line 179]\n " shape="invhouse"]
149 [label="149: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 179]\n REMOVE_TEMPS(n$0); [line 179]\n " shape="invhouse"]
149 -> 145 ;
148 [label="148: Prune (true branch) \n PRUNE(((n$33 < 10) != 0), true); [line 179]\n REMOVE_TEMPS(n$33); [line 179]\n " shape="invhouse"]
148 [label="148: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 179]\n REMOVE_TEMPS(n$0); [line 179]\n " shape="invhouse"]
148 -> 152 ;
147 [label="147: BinaryOperatorStmt: LT \n n$33=*&value:int [line 179]\n " shape="box"]
147 [label="147: BinaryOperatorStmt: LT \n n$0=*&value:int [line 179]\n " shape="box"]
147 -> 148 ;
@ -219,25 +219,25 @@ digraph iCFG {
142 -> 129 ;
141 [label="141: Prune (false branch) \n PRUNE(((n$30 == 0) == 0), false); [line 161]\n " shape="invhouse"]
141 [label="141: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 161]\n " shape="invhouse"]
141 -> 137 ;
141 -> 138 ;
140 [label="140: Prune (true branch) \n PRUNE(((n$30 == 0) != 0), true); [line 161]\n " shape="invhouse"]
140 [label="140: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 161]\n " shape="invhouse"]
140 -> 139 ;
139 [label="139: Call _fun_printf \n n$32=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 162]\n REMOVE_TEMPS(n$32); [line 162]\n APPLY_ABSTRACTION; [line 162]\n " shape="box"]
139 [label="139: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 162]\n REMOVE_TEMPS(n$2); [line 162]\n APPLY_ABSTRACTION; [line 162]\n " shape="box"]
139 -> 128 ;
138 [label="138: Prune (false branch) \n PRUNE(((n$30 == 1) == 0), false); [line 164]\n " shape="invhouse"]
138 [label="138: Prune (false branch) \n PRUNE(((n$0 == 1) == 0), false); [line 164]\n " shape="invhouse"]
138 -> 132 ;
138 -> 133 ;
137 [label="137: Prune (true branch) \n PRUNE(((n$30 == 1) != 0), true); [line 164]\n " shape="invhouse"]
137 [label="137: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 164]\n " shape="invhouse"]
137 -> 136 ;
@ -245,7 +245,7 @@ digraph iCFG {
136 -> 135 ;
135 [label="135: UnaryOperator \n n$31=*&something:int [line 166]\n *&something:int =(n$31 + 1) [line 166]\n REMOVE_TEMPS(n$31); [line 166]\n NULLIFY(&something,false); [line 166]\n APPLY_ABSTRACTION; [line 166]\n " shape="box"]
135 [label="135: UnaryOperator \n n$1=*&something:int [line 166]\n *&something:int =(n$1 + 1) [line 166]\n REMOVE_TEMPS(n$1); [line 166]\n NULLIFY(&something,false); [line 166]\n APPLY_ABSTRACTION; [line 166]\n " shape="box"]
135 -> 128 ;
@ -253,29 +253,29 @@ digraph iCFG {
134 -> 128 ;
133 [label="133: Prune (false branch) \n PRUNE(((n$30 == 2) == 0), false); [line 170]\n " shape="invhouse"]
133 [label="133: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 170]\n " shape="invhouse"]
133 -> 130 ;
133 -> 131 ;
132 [label="132: Prune (true branch) \n PRUNE(((n$30 == 2) != 0), true); [line 170]\n APPLY_ABSTRACTION; [line 170]\n " shape="invhouse"]
132 [label="132: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 170]\n APPLY_ABSTRACTION; [line 170]\n " shape="invhouse"]
132 -> 128 ;
131 [label="131: Prune (false branch) \n PRUNE(((n$30 == 3) == 0), false); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"]
131 [label="131: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"]
131 -> 128 ;
130 [label="130: Prune (true branch) \n PRUNE(((n$30 == 3) != 0), true); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"]
130 [label="130: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"]
130 -> 128 ;
129 [label="129: Switch_stmt \n n$30=_fun_getValue() [line 159]\n " shape="box"]
129 [label="129: Switch_stmt \n n$0=_fun_getValue() [line 159]\n " shape="box"]
129 -> 140 ;
129 -> 141 ;
128 [label="128: Return Stmt \n *&return:int =0 [line 173]\n REMOVE_TEMPS(n$30); [line 173]\n APPLY_ABSTRACTION; [line 173]\n " shape="box"]
128 [label="128: Return Stmt \n *&return:int =0 [line 173]\n REMOVE_TEMPS(n$0); [line 173]\n APPLY_ABSTRACTION; [line 173]\n " shape="box"]
128 -> 127 ;
@ -301,25 +301,25 @@ digraph iCFG {
122 -> 104 ;
121 [label="121: Prune (false branch) \n PRUNE(((n$27 == 0) == 0), false); [line 135]\n " shape="invhouse"]
121 [label="121: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 135]\n " shape="invhouse"]
121 -> 117 ;
121 -> 118 ;
120 [label="120: Prune (true branch) \n PRUNE(((n$27 == 0) != 0), true); [line 135]\n " shape="invhouse"]
120 [label="120: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 135]\n " shape="invhouse"]
120 -> 119 ;
119 [label="119: Call _fun_printf \n n$29=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 136]\n REMOVE_TEMPS(n$29); [line 136]\n APPLY_ABSTRACTION; [line 136]\n " shape="box"]
119 [label="119: Call _fun_printf \n n$3=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 136]\n REMOVE_TEMPS(n$3); [line 136]\n APPLY_ABSTRACTION; [line 136]\n " shape="box"]
119 -> 102 ;
118 [label="118: Prune (false branch) \n PRUNE(((n$27 == 1) == 0), false); [line 138]\n " shape="invhouse"]
118 [label="118: Prune (false branch) \n PRUNE(((n$1 == 1) == 0), false); [line 138]\n " shape="invhouse"]
118 -> 112 ;
118 -> 113 ;
117 [label="117: Prune (true branch) \n PRUNE(((n$27 == 1) != 0), true); [line 138]\n " shape="invhouse"]
117 [label="117: Prune (true branch) \n PRUNE(((n$1 == 1) != 0), true); [line 138]\n " shape="invhouse"]
117 -> 116 ;
@ -327,7 +327,7 @@ digraph iCFG {
116 -> 115 ;
115 [label="115: UnaryOperator \n n$28=*&something:int [line 140]\n *&something:int =(n$28 + 1) [line 140]\n REMOVE_TEMPS(n$28); [line 140]\n NULLIFY(&something,false); [line 140]\n APPLY_ABSTRACTION; [line 140]\n " shape="box"]
115 [label="115: UnaryOperator \n n$2=*&something:int [line 140]\n *&something:int =(n$2 + 1) [line 140]\n REMOVE_TEMPS(n$2); [line 140]\n NULLIFY(&something,false); [line 140]\n APPLY_ABSTRACTION; [line 140]\n " shape="box"]
115 -> 102 ;
@ -335,24 +335,24 @@ digraph iCFG {
114 -> 102 ;
113 [label="113: Prune (false branch) \n PRUNE(((n$27 == 2) == 0), false); [line 144]\n " shape="invhouse"]
113 [label="113: Prune (false branch) \n PRUNE(((n$1 == 2) == 0), false); [line 144]\n " shape="invhouse"]
113 -> 110 ;
113 -> 111 ;
112 [label="112: Prune (true branch) \n PRUNE(((n$27 == 2) != 0), true); [line 144]\n APPLY_ABSTRACTION; [line 144]\n " shape="invhouse"]
112 [label="112: Prune (true branch) \n PRUNE(((n$1 == 2) != 0), true); [line 144]\n APPLY_ABSTRACTION; [line 144]\n " shape="invhouse"]
112 -> 102 ;
111 [label="111: Prune (false branch) \n PRUNE(((n$27 == 3) == 0), false); [line 145]\n APPLY_ABSTRACTION; [line 145]\n " shape="invhouse"]
111 [label="111: Prune (false branch) \n PRUNE(((n$1 == 3) == 0), false); [line 145]\n APPLY_ABSTRACTION; [line 145]\n " shape="invhouse"]
111 -> 102 ;
110 [label="110: Prune (true branch) \n PRUNE(((n$27 == 3) != 0), true); [line 145]\n APPLY_ABSTRACTION; [line 145]\n " shape="invhouse"]
110 [label="110: Prune (true branch) \n PRUNE(((n$1 == 3) != 0), true); [line 145]\n APPLY_ABSTRACTION; [line 145]\n " shape="invhouse"]
110 -> 102 ;
109 [label="109: Switch_stmt \n n$27=*&SIL_temp_conditional___103:int [line 133]\n NULLIFY(&SIL_temp_conditional___103,true); [line 133]\n " shape="box"]
109 [label="109: Switch_stmt \n n$1=*&SIL_temp_conditional___103:int [line 133]\n NULLIFY(&SIL_temp_conditional___103,true); [line 133]\n " shape="box"]
109 -> 120 ;
@ -365,15 +365,15 @@ digraph iCFG {
107 -> 103 ;
106 [label="106: Prune (false branch) \n PRUNE(((n$26 > 0) == 0), false); [line 133]\n REMOVE_TEMPS(n$26); [line 133]\n " shape="invhouse"]
106 [label="106: Prune (false branch) \n PRUNE(((n$0 > 0) == 0), false); [line 133]\n REMOVE_TEMPS(n$0); [line 133]\n " shape="invhouse"]
106 -> 108 ;
105 [label="105: Prune (true branch) \n PRUNE(((n$26 > 0) != 0), true); [line 133]\n REMOVE_TEMPS(n$26); [line 133]\n " shape="invhouse"]
105 [label="105: Prune (true branch) \n PRUNE(((n$0 > 0) != 0), true); [line 133]\n REMOVE_TEMPS(n$0); [line 133]\n " shape="invhouse"]
105 -> 107 ;
104 [label="104: BinaryOperatorStmt: GT \n n$26=*&value:int [line 133]\n NULLIFY(&value,false); [line 133]\n " shape="box"]
104 [label="104: BinaryOperatorStmt: GT \n n$0=*&value:int [line 133]\n NULLIFY(&value,false); [line 133]\n " shape="box"]
104 -> 105 ;
@ -382,7 +382,7 @@ digraph iCFG {
103 -> 109 ;
102 [label="102: Return Stmt \n *&return:int =0 [line 147]\n REMOVE_TEMPS(n$27); [line 147]\n APPLY_ABSTRACTION; [line 147]\n " shape="box"]
102 [label="102: Return Stmt \n *&return:int =0 [line 147]\n REMOVE_TEMPS(n$1); [line 147]\n APPLY_ABSTRACTION; [line 147]\n " shape="box"]
102 -> 101 ;
@ -401,45 +401,45 @@ digraph iCFG {
98 -> 97 ;
97 [label="97: Call _fun_printf \n n$25=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 118]\n REMOVE_TEMPS(n$25); [line 118]\n " shape="box"]
97 [label="97: Call _fun_printf \n n$4=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 118]\n REMOVE_TEMPS(n$4); [line 118]\n " shape="box"]
97 -> 96 ;
96 [label="96: BinaryOperatorStmt: Assign \n n$24=*&value:int [line 119]\n *&x:int =(n$24 + 1) [line 119]\n REMOVE_TEMPS(n$24); [line 119]\n NULLIFY(&x,false); [line 119]\n APPLY_ABSTRACTION; [line 119]\n " shape="box"]
96 [label="96: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 119]\n *&x:int =(n$3 + 1) [line 119]\n REMOVE_TEMPS(n$3); [line 119]\n NULLIFY(&x,false); [line 119]\n APPLY_ABSTRACTION; [line 119]\n " shape="box"]
96 -> 88 ;
95 [label="95: Prune (false branch) \n PRUNE(((n$22 == 0) == 0), false); [line 121]\n APPLY_ABSTRACTION; [line 121]\n " shape="invhouse"]
95 [label="95: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 121]\n APPLY_ABSTRACTION; [line 121]\n " shape="invhouse"]
95 -> 88 ;
94 [label="94: Prune (true branch) \n PRUNE(((n$22 == 0) != 0), true); [line 121]\n " shape="invhouse"]
94 [label="94: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 121]\n " shape="invhouse"]
94 -> 93 ;
93 [label="93: Call _fun_printf \n n$23=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 122]\n REMOVE_TEMPS(n$23); [line 122]\n APPLY_ABSTRACTION; [line 122]\n " shape="box"]
93 [label="93: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 122]\n REMOVE_TEMPS(n$2); [line 122]\n APPLY_ABSTRACTION; [line 122]\n " shape="box"]
93 -> 88 ;
92 [label="92: Switch_stmt \n n$22=*&value:int [line 116]\n " shape="box"]
92 [label="92: Switch_stmt \n n$1=*&value:int [line 116]\n " shape="box"]
92 -> 94 ;
92 -> 95 ;
91 [label="91: Prune (false branch) \n PRUNE(((n$21 < 10) == 0), false); [line 115]\n REMOVE_TEMPS(n$21); [line 115]\n " shape="invhouse"]
91 [label="91: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 115]\n REMOVE_TEMPS(n$0); [line 115]\n " shape="invhouse"]
91 -> 87 ;
90 [label="90: Prune (true branch) \n PRUNE(((n$21 < 10) != 0), true); [line 115]\n REMOVE_TEMPS(n$21); [line 115]\n " shape="invhouse"]
90 [label="90: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 115]\n REMOVE_TEMPS(n$0); [line 115]\n " shape="invhouse"]
90 -> 92 ;
89 [label="89: BinaryOperatorStmt: LT \n n$21=*&value:int [line 115]\n " shape="box"]
89 [label="89: BinaryOperatorStmt: LT \n n$0=*&value:int [line 115]\n " shape="box"]
89 -> 90 ;
89 -> 91 ;
88 [label="88: + \n REMOVE_TEMPS(n$22); [line 115]\n " ]
88 [label="88: + \n REMOVE_TEMPS(n$1); [line 115]\n " ]
88 -> 89 ;
@ -462,24 +462,24 @@ digraph iCFG {
83 -> 82 ;
82 [label="82: Call _fun_printf \n n$20=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 91]\n REMOVE_TEMPS(n$20); [line 91]\n " shape="box"]
82 [label="82: Call _fun_printf \n n$4=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 91]\n REMOVE_TEMPS(n$4); [line 91]\n " shape="box"]
82 -> 81 ;
81 [label="81: BinaryOperatorStmt: Assign \n n$19=*&value:int [line 92]\n *&x:int =(n$19 + 1) [line 92]\n REMOVE_TEMPS(n$19); [line 92]\n NULLIFY(&value,false); [line 92]\n NULLIFY(&x,false); [line 92]\n APPLY_ABSTRACTION; [line 92]\n " shape="box"]
81 [label="81: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 92]\n *&x:int =(n$3 + 1) [line 92]\n REMOVE_TEMPS(n$3); [line 92]\n NULLIFY(&value,false); [line 92]\n NULLIFY(&x,false); [line 92]\n APPLY_ABSTRACTION; [line 92]\n " shape="box"]
81 -> 78 ;
80 [label="80: Prune (false branch) \n PRUNE(((n$16 == 0) == 0), false); [line 93]\n " shape="invhouse"]
80 [label="80: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 93]\n " shape="invhouse"]
80 -> 75 ;
80 -> 76 ;
79 [label="79: Prune (true branch) \n PRUNE(((n$16 == 0) != 0), true); [line 93]\n APPLY_ABSTRACTION; [line 93]\n " shape="invhouse"]
79 [label="79: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 93]\n APPLY_ABSTRACTION; [line 93]\n " shape="invhouse"]
79 -> 78 ;
78 [label="78: Call _fun_printf \n n$18=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 94]\n REMOVE_TEMPS(n$18); [line 94]\n APPLY_ABSTRACTION; [line 94]\n " shape="box"]
78 [label="78: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 94]\n REMOVE_TEMPS(n$2); [line 94]\n APPLY_ABSTRACTION; [line 94]\n " shape="box"]
78 -> 65 ;
@ -487,12 +487,12 @@ digraph iCFG {
77 -> 74 ;
76 [label="76: Prune (false branch) \n PRUNE(((n$16 == 1) == 0), false); [line 99]\n " shape="invhouse"]
76 [label="76: Prune (false branch) \n PRUNE(((n$0 == 1) == 0), false); [line 99]\n " shape="invhouse"]
76 -> 70 ;
76 -> 71 ;
75 [label="75: Prune (true branch) \n PRUNE(((n$16 == 1) != 0), true); [line 99]\n APPLY_ABSTRACTION; [line 99]\n " shape="invhouse"]
75 [label="75: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 99]\n APPLY_ABSTRACTION; [line 99]\n " shape="invhouse"]
75 -> 74 ;
@ -500,7 +500,7 @@ digraph iCFG {
74 -> 73 ;
73 [label="73: UnaryOperator \n n$17=*&something:int [line 101]\n *&something:int =(n$17 + 1) [line 101]\n REMOVE_TEMPS(n$17); [line 101]\n NULLIFY(&something,false); [line 101]\n " shape="box"]
73 [label="73: UnaryOperator \n n$1=*&something:int [line 101]\n *&something:int =(n$1 + 1) [line 101]\n REMOVE_TEMPS(n$1); [line 101]\n NULLIFY(&something,false); [line 101]\n " shape="box"]
73 -> 72 ;
@ -508,20 +508,20 @@ digraph iCFG {
72 -> 65 ;
71 [label="71: Prune (false branch) \n PRUNE(((n$16 == 2) == 0), false); [line 105]\n " shape="invhouse"]
71 [label="71: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 105]\n " shape="invhouse"]
71 -> 68 ;
71 -> 69 ;
70 [label="70: Prune (true branch) \n PRUNE(((n$16 == 2) != 0), true); [line 105]\n APPLY_ABSTRACTION; [line 105]\n " shape="invhouse"]
70 [label="70: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 105]\n APPLY_ABSTRACTION; [line 105]\n " shape="invhouse"]
70 -> 65 ;
69 [label="69: Prune (false branch) \n PRUNE(((n$16 == 3) == 0), false); [line 106]\n " shape="invhouse"]
69 [label="69: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 106]\n " shape="invhouse"]
69 -> 67 ;
68 [label="68: Prune (true branch) \n PRUNE(((n$16 == 3) != 0), true); [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="invhouse"]
68 [label="68: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="invhouse"]
68 -> 65 ;
@ -529,12 +529,12 @@ digraph iCFG {
67 -> 74 ;
66 [label="66: Switch_stmt \n n$16=*&value:int [line 88]\n NULLIFY(&value,false); [line 88]\n " shape="box"]
66 [label="66: Switch_stmt \n n$0=*&value:int [line 88]\n NULLIFY(&value,false); [line 88]\n " shape="box"]
66 -> 79 ;
66 -> 80 ;
65 [label="65: Return Stmt \n *&return:int =0 [line 108]\n REMOVE_TEMPS(n$16); [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="box"]
65 [label="65: Return Stmt \n *&return:int =0 [line 108]\n REMOVE_TEMPS(n$0); [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="box"]
65 -> 64 ;
@ -549,25 +549,25 @@ digraph iCFG {
62 -> 49 ;
61 [label="61: Prune (false branch) \n PRUNE(((n$13 == 0) == 0), false); [line 69]\n " shape="invhouse"]
61 [label="61: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 69]\n " shape="invhouse"]
61 -> 57 ;
61 -> 58 ;
60 [label="60: Prune (true branch) \n PRUNE(((n$13 == 0) != 0), true); [line 69]\n " shape="invhouse"]
60 [label="60: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 69]\n " shape="invhouse"]
60 -> 59 ;
59 [label="59: Call _fun_printf \n n$15=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 70]\n REMOVE_TEMPS(n$15); [line 70]\n APPLY_ABSTRACTION; [line 70]\n " shape="box"]
59 [label="59: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 70]\n REMOVE_TEMPS(n$2); [line 70]\n APPLY_ABSTRACTION; [line 70]\n " shape="box"]
59 -> 48 ;
58 [label="58: Prune (false branch) \n PRUNE(((n$13 == 1) == 0), false); [line 72]\n " shape="invhouse"]
58 [label="58: Prune (false branch) \n PRUNE(((n$0 == 1) == 0), false); [line 72]\n " shape="invhouse"]
58 -> 52 ;
58 -> 53 ;
57 [label="57: Prune (true branch) \n PRUNE(((n$13 == 1) != 0), true); [line 72]\n " shape="invhouse"]
57 [label="57: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 72]\n " shape="invhouse"]
57 -> 56 ;
@ -575,7 +575,7 @@ digraph iCFG {
56 -> 55 ;
55 [label="55: UnaryOperator \n n$14=*&something:int [line 74]\n *&something:int =(n$14 + 1) [line 74]\n REMOVE_TEMPS(n$14); [line 74]\n NULLIFY(&something,false); [line 74]\n APPLY_ABSTRACTION; [line 74]\n " shape="box"]
55 [label="55: UnaryOperator \n n$1=*&something:int [line 74]\n *&something:int =(n$1 + 1) [line 74]\n REMOVE_TEMPS(n$1); [line 74]\n NULLIFY(&something,false); [line 74]\n APPLY_ABSTRACTION; [line 74]\n " shape="box"]
55 -> 48 ;
@ -583,29 +583,29 @@ digraph iCFG {
54 -> 48 ;
53 [label="53: Prune (false branch) \n PRUNE(((n$13 == 2) == 0), false); [line 78]\n " shape="invhouse"]
53 [label="53: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 78]\n " shape="invhouse"]
53 -> 50 ;
53 -> 51 ;
52 [label="52: Prune (true branch) \n PRUNE(((n$13 == 2) != 0), true); [line 78]\n APPLY_ABSTRACTION; [line 78]\n " shape="invhouse"]
52 [label="52: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 78]\n APPLY_ABSTRACTION; [line 78]\n " shape="invhouse"]
52 -> 48 ;
51 [label="51: Prune (false branch) \n PRUNE(((n$13 == 3) == 0), false); [line 79]\n APPLY_ABSTRACTION; [line 79]\n " shape="invhouse"]
51 [label="51: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 79]\n APPLY_ABSTRACTION; [line 79]\n " shape="invhouse"]
51 -> 48 ;
50 [label="50: Prune (true branch) \n PRUNE(((n$13 == 3) != 0), true); [line 79]\n APPLY_ABSTRACTION; [line 79]\n " shape="invhouse"]
50 [label="50: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 79]\n APPLY_ABSTRACTION; [line 79]\n " shape="invhouse"]
50 -> 48 ;
49 [label="49: Switch_stmt \n n$13=*&value:int [line 67]\n NULLIFY(&value,false); [line 67]\n " shape="box"]
49 [label="49: Switch_stmt \n n$0=*&value:int [line 67]\n NULLIFY(&value,false); [line 67]\n " shape="box"]
49 -> 60 ;
49 -> 61 ;
48 [label="48: Return Stmt \n *&return:int =0 [line 81]\n REMOVE_TEMPS(n$13); [line 81]\n APPLY_ABSTRACTION; [line 81]\n " shape="box"]
48 [label="48: Return Stmt \n *&return:int =0 [line 81]\n REMOVE_TEMPS(n$0); [line 81]\n APPLY_ABSTRACTION; [line 81]\n " shape="box"]
48 -> 47 ;
@ -624,24 +624,24 @@ digraph iCFG {
44 -> 43 ;
43 [label="43: Call _fun_printf \n n$12=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 43]\n REMOVE_TEMPS(n$12); [line 43]\n " shape="box"]
43 [label="43: Call _fun_printf \n n$4=_fun_printf(\"(out)HELLO WORLD!\":char *) [line 43]\n REMOVE_TEMPS(n$4); [line 43]\n " shape="box"]
43 -> 42 ;
42 [label="42: BinaryOperatorStmt: Assign \n n$11=*&value:int [line 44]\n *&x:int =(n$11 + 1) [line 44]\n REMOVE_TEMPS(n$11); [line 44]\n NULLIFY(&value,false); [line 44]\n NULLIFY(&x,false); [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
42 [label="42: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 44]\n *&x:int =(n$3 + 1) [line 44]\n REMOVE_TEMPS(n$3); [line 44]\n NULLIFY(&value,false); [line 44]\n NULLIFY(&x,false); [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
42 -> 39 ;
41 [label="41: Prune (false branch) \n PRUNE(((n$8 == 0) == 0), false); [line 45]\n " shape="invhouse"]
41 [label="41: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 45]\n " shape="invhouse"]
41 -> 36 ;
41 -> 37 ;
40 [label="40: Prune (true branch) \n PRUNE(((n$8 == 0) != 0), true); [line 45]\n APPLY_ABSTRACTION; [line 45]\n " shape="invhouse"]
40 [label="40: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 45]\n APPLY_ABSTRACTION; [line 45]\n " shape="invhouse"]
40 -> 39 ;
39 [label="39: Call _fun_printf \n n$10=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 46]\n REMOVE_TEMPS(n$10); [line 46]\n APPLY_ABSTRACTION; [line 46]\n " shape="box"]
39 [label="39: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 46]\n REMOVE_TEMPS(n$2); [line 46]\n APPLY_ABSTRACTION; [line 46]\n " shape="box"]
39 -> 26 ;
@ -649,12 +649,12 @@ digraph iCFG {
38 -> 35 ;
37 [label="37: Prune (false branch) \n PRUNE(((n$8 == 1) == 0), false); [line 51]\n " shape="invhouse"]
37 [label="37: Prune (false branch) \n PRUNE(((n$0 == 1) == 0), false); [line 51]\n " shape="invhouse"]
37 -> 31 ;
37 -> 32 ;
36 [label="36: Prune (true branch) \n PRUNE(((n$8 == 1) != 0), true); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="invhouse"]
36 [label="36: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="invhouse"]
36 -> 35 ;
@ -662,7 +662,7 @@ digraph iCFG {
35 -> 34 ;
34 [label="34: UnaryOperator \n n$9=*&something:int [line 53]\n *&something:int =(n$9 + 1) [line 53]\n REMOVE_TEMPS(n$9); [line 53]\n NULLIFY(&something,false); [line 53]\n " shape="box"]
34 [label="34: UnaryOperator \n n$1=*&something:int [line 53]\n *&something:int =(n$1 + 1) [line 53]\n REMOVE_TEMPS(n$1); [line 53]\n NULLIFY(&something,false); [line 53]\n " shape="box"]
34 -> 33 ;
@ -670,20 +670,20 @@ digraph iCFG {
33 -> 26 ;
32 [label="32: Prune (false branch) \n PRUNE(((n$8 == 2) == 0), false); [line 57]\n " shape="invhouse"]
32 [label="32: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 57]\n " shape="invhouse"]
32 -> 29 ;
32 -> 30 ;
31 [label="31: Prune (true branch) \n PRUNE(((n$8 == 2) != 0), true); [line 57]\n APPLY_ABSTRACTION; [line 57]\n " shape="invhouse"]
31 [label="31: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 57]\n APPLY_ABSTRACTION; [line 57]\n " shape="invhouse"]
31 -> 26 ;
30 [label="30: Prune (false branch) \n PRUNE(((n$8 == 3) == 0), false); [line 58]\n " shape="invhouse"]
30 [label="30: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 58]\n " shape="invhouse"]
30 -> 28 ;
29 [label="29: Prune (true branch) \n PRUNE(((n$8 == 3) != 0), true); [line 58]\n APPLY_ABSTRACTION; [line 58]\n " shape="invhouse"]
29 [label="29: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 58]\n APPLY_ABSTRACTION; [line 58]\n " shape="invhouse"]
29 -> 26 ;
@ -691,12 +691,12 @@ digraph iCFG {
28 -> 35 ;
27 [label="27: Switch_stmt \n n$8=*&value:int [line 40]\n NULLIFY(&value,false); [line 40]\n " shape="box"]
27 [label="27: Switch_stmt \n n$0=*&value:int [line 40]\n NULLIFY(&value,false); [line 40]\n " shape="box"]
27 -> 40 ;
27 -> 41 ;
26 [label="26: Return Stmt \n *&return:int =0 [line 60]\n REMOVE_TEMPS(n$8); [line 60]\n APPLY_ABSTRACTION; [line 60]\n " shape="box"]
26 [label="26: Return Stmt \n *&return:int =0 [line 60]\n REMOVE_TEMPS(n$0); [line 60]\n APPLY_ABSTRACTION; [line 60]\n " shape="box"]
26 -> 25 ;

@ -1,21 +1,21 @@
digraph iCFG {
13 [label="13: Call _fun_fun_default \n n$8=_fun_fun_default(1:int ,2:int ) [line 21]\n REMOVE_TEMPS(n$8); [line 21]\n " shape="box"]
13 [label="13: Call _fun_fun_default \n n$4=_fun_fun_default(1:int ,2:int ) [line 21]\n REMOVE_TEMPS(n$4); [line 21]\n " shape="box"]
13 -> 12 ;
12 [label="12: Call _fun_fun_default \n n$7=_fun_fun_default(1:int ,5:int ) [line 22]\n REMOVE_TEMPS(n$7); [line 22]\n " shape="box"]
12 [label="12: Call _fun_fun_default \n n$3=_fun_fun_default(1:int ,5:int ) [line 22]\n REMOVE_TEMPS(n$3); [line 22]\n " shape="box"]
12 -> 11 ;
11 [label="11: Call _fun_fun_default \n n$6=_fun_fun_default(3:int ,5:int ) [line 23]\n REMOVE_TEMPS(n$6); [line 23]\n " shape="box"]
11 [label="11: Call _fun_fun_default \n n$2=_fun_fun_default(3:int ,5:int ) [line 23]\n REMOVE_TEMPS(n$2); [line 23]\n " shape="box"]
11 -> 10 ;
10 [label="10: Call _fun_fun_default_decl \n n$5=_fun_fun_default_decl(6:int ,5:int ) [line 25]\n REMOVE_TEMPS(n$5); [line 25]\n " shape="box"]
10 [label="10: Call _fun_fun_default_decl \n n$1=_fun_fun_default_decl(6:int ,5:int ) [line 25]\n REMOVE_TEMPS(n$1); [line 25]\n " shape="box"]
10 -> 9 ;
9 [label="9: Call _fun_fun_default_decl \n n$4=_fun_fun_default_decl(6:int ,6:int ) [line 26]\n REMOVE_TEMPS(n$4); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
9 [label="9: Call _fun_fun_default_decl \n n$0=_fun_fun_default_decl(6:int ,6:int ) [line 26]\n REMOVE_TEMPS(n$0); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
9 -> 8 ;
@ -26,7 +26,7 @@ digraph iCFG {
7 -> 13 ;
6 [label="6: Return Stmt \n n$2=*&a:int [line 17]\n n$3=*&b:int [line 17]\n *&return:int =(n$2 + n$3) [line 17]\n REMOVE_TEMPS(n$2,n$3); [line 17]\n NULLIFY(&a,false); [line 17]\n NULLIFY(&b,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 [label="6: Return Stmt \n n$0=*&a:int [line 17]\n n$1=*&b:int [line 17]\n *&return:int =(n$0 + n$1) [line 17]\n REMOVE_TEMPS(n$0,n$1); [line 17]\n NULLIFY(&a,false); [line 17]\n NULLIFY(&b,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 -> 5 ;

@ -1,9 +1,9 @@
digraph iCFG {
29 [label="29: Call _fun_A_fun_default \n n$16=*&a_ptr:struct A * [line 59]\n n$17=_fun_A_fun_default(n$16:struct A ,1:int ,2:int ,20:int ) [line 59]\n REMOVE_TEMPS(n$16,n$17); [line 59]\n " shape="box"]
29 [label="29: Call _fun_A_fun_default \n n$2=*&a_ptr:struct A * [line 59]\n n$3=_fun_A_fun_default(n$2:struct A ,1:int ,2:int ,20:int ) [line 59]\n REMOVE_TEMPS(n$2,n$3); [line 59]\n " shape="box"]
29 -> 28 ;
28 [label="28: Call _fun_A_fun_default \n n$14=*&a_ptr:struct A * [line 60]\n n$15=_fun_A_fun_default(n$14:struct A ,1:int ,10:int ,20:int ) [line 60]\n REMOVE_TEMPS(n$14,n$15); [line 60]\n NULLIFY(&a_ptr,false); [line 60]\n APPLY_ABSTRACTION; [line 60]\n " shape="box"]
28 [label="28: Call _fun_A_fun_default \n n$0=*&a_ptr:struct A * [line 60]\n n$1=_fun_A_fun_default(n$0:struct A ,1:int ,10:int ,20:int ) [line 60]\n REMOVE_TEMPS(n$0,n$1); [line 60]\n NULLIFY(&a_ptr,false); [line 60]\n APPLY_ABSTRACTION; [line 60]\n " shape="box"]
28 -> 27 ;
@ -14,11 +14,11 @@ digraph iCFG {
26 -> 29 ;
25 [label="25: Call _fun_A_fun \n n$12=*&a_ptr:struct A * [line 53]\n n$13=_fun_A_fun(n$12:struct A ,10:int ,20:int ) [line 53]\n REMOVE_TEMPS(n$12,n$13); [line 53]\n " shape="box"]
25 [label="25: Call _fun_A_fun \n n$2=*&a_ptr:struct A * [line 53]\n n$3=_fun_A_fun(n$2:struct A ,10:int ,20:int ) [line 53]\n REMOVE_TEMPS(n$2,n$3); [line 53]\n " shape="box"]
25 -> 24 ;
24 [label="24: Call _fun_A_fun_default \n n$10=*&a_ptr:struct A * [line 54]\n n$11=_fun_A_fun_default(n$10:struct A ,1:int ,2:int ,3:int ) [line 54]\n REMOVE_TEMPS(n$10,n$11); [line 54]\n NULLIFY(&a_ptr,false); [line 54]\n APPLY_ABSTRACTION; [line 54]\n " shape="box"]
24 [label="24: Call _fun_A_fun_default \n n$0=*&a_ptr:struct A * [line 54]\n n$1=_fun_A_fun_default(n$0:struct A ,1:int ,2:int ,3:int ) [line 54]\n REMOVE_TEMPS(n$0,n$1); [line 54]\n NULLIFY(&a_ptr,false); [line 54]\n APPLY_ABSTRACTION; [line 54]\n " shape="box"]
24 -> 23 ;
@ -36,7 +36,7 @@ digraph iCFG {
20 -> 21 ;
19 [label="19: Return Stmt \n n$8=*&a:int [line 38]\n n$9=*&b:int [line 38]\n *&return:int =(n$8 + n$9) [line 38]\n REMOVE_TEMPS(n$8,n$9); [line 38]\n NULLIFY(&a,false); [line 38]\n NULLIFY(&b,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
19 [label="19: Return Stmt \n n$0=*&a:int [line 38]\n n$1=*&b:int [line 38]\n *&return:int =(n$0 + n$1) [line 38]\n REMOVE_TEMPS(n$0,n$1); [line 38]\n NULLIFY(&a,false); [line 38]\n NULLIFY(&b,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
19 -> 18 ;
@ -47,11 +47,11 @@ digraph iCFG {
17 -> 19 ;
16 [label="16: DeclStmt \n n$6=*&a:int [line 31]\n n$7=*&b:int [line 31]\n *&c:int =((n$6 + n$7) + 1) [line 31]\n REMOVE_TEMPS(n$6,n$7); [line 31]\n NULLIFY(&a,false); [line 31]\n NULLIFY(&b,false); [line 31]\n " shape="box"]
16 [label="16: DeclStmt \n n$2=*&a:int [line 31]\n n$3=*&b:int [line 31]\n *&c:int =((n$2 + n$3) + 1) [line 31]\n REMOVE_TEMPS(n$2,n$3); [line 31]\n NULLIFY(&a,false); [line 31]\n NULLIFY(&b,false); [line 31]\n " shape="box"]
16 -> 15 ;
15 [label="15: Return Stmt \n n$4=*&c:int [line 34]\n n$5=*&c:int [line 34]\n *&return:int =(n$4 * n$5) [line 34]\n REMOVE_TEMPS(n$4,n$5); [line 34]\n NULLIFY(&c,false); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
15 [label="15: Return Stmt \n n$0=*&c:int [line 34]\n n$1=*&c:int [line 34]\n *&return:int =(n$0 * n$1) [line 34]\n REMOVE_TEMPS(n$0,n$1); [line 34]\n NULLIFY(&c,false); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
15 -> 14 ;
@ -69,7 +69,7 @@ digraph iCFG {
11 -> 12 ;
10 [label="10: Return Stmt \n n$1=*&a:int [line 20]\n n$2=*&b:int [line 20]\n n$3=*&c:int [line 20]\n *&return:int =((n$1 + n$2) + n$3) [line 20]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 20]\n NULLIFY(&a,false); [line 20]\n NULLIFY(&b,false); [line 20]\n NULLIFY(&c,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
10 [label="10: Return Stmt \n n$0=*&a:int [line 20]\n n$1=*&b:int [line 20]\n n$2=*&c:int [line 20]\n *&return:int =((n$0 + n$1) + n$2) [line 20]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 20]\n NULLIFY(&a,false); [line 20]\n NULLIFY(&b,false); [line 20]\n NULLIFY(&c,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
10 -> 9 ;

@ -1,9 +1,9 @@
digraph iCFG {
12 [label="12: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 45]\n n$7=_fun_A_init(n$6:class A *) virtual [line 45]\n *&a:struct objc_object *=n$7 [line 46]\n REMOVE_TEMPS(n$6,n$7); [line 46]\n NULLIFY(&a,false); [line 46]\n " shape="box"]
12 [label="12: DeclStmt \n n$2=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 45]\n n$3=_fun_A_init(n$2:class A *) virtual [line 45]\n *&a:struct objc_object *=n$3 [line 46]\n REMOVE_TEMPS(n$2,n$3); [line 46]\n NULLIFY(&a,false); [line 46]\n " shape="box"]
12 -> 11 ;
11 [label="11: Release the autorelease pool \n n$4=_fun___objc_release_autorelease_pool() [line 44]\n REMOVE_TEMPS(n$4); [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
11 [label="11: Release the autorelease pool \n n$0=_fun___objc_release_autorelease_pool() [line 44]\n REMOVE_TEMPS(n$0); [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
11 -> 10 ;

@ -1,17 +1,17 @@
digraph iCFG {
41 [label="41: DeclStmt \n n$30=_fun___objc_alloc_no_fail(sizeof(class NSAutoreleasePool ):unsigned long ) [line 60]\n n$28=_fun_NSAutoreleasePool_init(n$30:class NSAutoreleasePool *) [line 60]\n *&pool:class NSAutoreleasePool *=n$28 [line 60]\n REMOVE_TEMPS(n$28,n$30); [line 60]\n " shape="box"]
41 [label="41: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(class NSAutoreleasePool ):unsigned long ) [line 60]\n n$5=_fun_NSAutoreleasePool_init(n$7:class NSAutoreleasePool *) [line 60]\n *&pool:class NSAutoreleasePool *=n$5 [line 60]\n REMOVE_TEMPS(n$5,n$7); [line 60]\n " shape="box"]
41 -> 40 ;
40 [label="40: DeclStmt \n n$27=_fun___objc_alloc_no_fail(sizeof(class NSString ):unsigned long ) [line 61]\n n$25=_fun___set_autorelease_attribute(n$27:class NSString *) [line 61]\n *&string:class NSString *=n$25 [line 61]\n REMOVE_TEMPS(n$25,n$27); [line 61]\n " shape="box"]
40 [label="40: DeclStmt \n n$4=_fun___objc_alloc_no_fail(sizeof(class NSString ):unsigned long ) [line 61]\n n$2=_fun___set_autorelease_attribute(n$4:class NSString *) [line 61]\n *&string:class NSString *=n$2 [line 61]\n REMOVE_TEMPS(n$2,n$4); [line 61]\n " shape="box"]
40 -> 39 ;
39 [label="39: Message Call: release \n n$24=*&pool:class NSAutoreleasePool * [line 63]\n _fun___objc_release_autorelease_pool(n$24:class NSAutoreleasePool *) [line 63]\n REMOVE_TEMPS(n$24); [line 63]\n NULLIFY(&pool,false); [line 63]\n " shape="box"]
39 [label="39: Message Call: release \n n$1=*&pool:class NSAutoreleasePool * [line 63]\n _fun___objc_release_autorelease_pool(n$1:class NSAutoreleasePool *) [line 63]\n REMOVE_TEMPS(n$1); [line 63]\n NULLIFY(&pool,false); [line 63]\n " shape="box"]
39 -> 38 ;
38 [label="38: DeclStmt \n n$23=*&string:class NSString * [line 64]\n *&c:class NSString *=n$23 [line 64]\n REMOVE_TEMPS(n$23); [line 64]\n NULLIFY(&c,false); [line 64]\n NULLIFY(&string,false); [line 64]\n APPLY_ABSTRACTION; [line 64]\n " shape="box"]
38 [label="38: DeclStmt \n n$0=*&string:class NSString * [line 64]\n *&c:class NSString *=n$0 [line 64]\n REMOVE_TEMPS(n$0); [line 64]\n NULLIFY(&c,false); [line 64]\n NULLIFY(&string,false); [line 64]\n APPLY_ABSTRACTION; [line 64]\n " shape="box"]
38 -> 37 ;
@ -34,19 +34,19 @@ digraph iCFG {
33 -> 32 ;
32 [label="32: BinaryOperatorStmt: Assign \n n$22=_fun_createA() [line 52]\n *&s1:class A *=n$22 [line 52]\n REMOVE_TEMPS(n$22); [line 52]\n " shape="box"]
32 [label="32: BinaryOperatorStmt: Assign \n n$3=_fun_createA() [line 52]\n *&s1:class A *=n$3 [line 52]\n REMOVE_TEMPS(n$3); [line 52]\n " shape="box"]
32 -> 31 ;
31 [label="31: BinaryOperatorStmt: Assign \n n$21=_fun_createA() [line 53]\n *&s2:class A *=n$21 [line 53]\n REMOVE_TEMPS(n$21); [line 53]\n " shape="box"]
31 [label="31: BinaryOperatorStmt: Assign \n n$2=_fun_createA() [line 53]\n *&s2:class A *=n$2 [line 53]\n REMOVE_TEMPS(n$2); [line 53]\n " shape="box"]
31 -> 30 ;
30 [label="30: BinaryOperatorStmt: Assign \n n$20=_fun_createA() [line 54]\n *&s3:class A *=n$20 [line 54]\n REMOVE_TEMPS(n$20); [line 54]\n " shape="box"]
30 [label="30: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 54]\n *&s3:class A *=n$1 [line 54]\n REMOVE_TEMPS(n$1); [line 54]\n " shape="box"]
30 -> 29 ;
29 [label="29: Release the autorelease pool \n n$19=_fun___objc_release_autorelease_pool(&s1:class A *,&s3:class A *,&s2:class A *) [line 51]\n REMOVE_TEMPS(n$19); [line 51]\n " shape="box"]
29 [label="29: Release the autorelease pool \n n$0=_fun___objc_release_autorelease_pool(&s1:class A *,&s3:class A *,&s2:class A *) [line 51]\n REMOVE_TEMPS(n$0); [line 51]\n " shape="box"]
29 -> 28 ;
@ -73,23 +73,23 @@ digraph iCFG {
23 -> 22 ;
22 [label="22: BinaryOperatorStmt: Assign \n n$18=_fun_createA() [line 39]\n *&s1:class A *=n$18 [line 39]\n REMOVE_TEMPS(n$18); [line 39]\n " shape="box"]
22 [label="22: BinaryOperatorStmt: Assign \n n$5=_fun_createA() [line 39]\n *&s1:class A *=n$5 [line 39]\n REMOVE_TEMPS(n$5); [line 39]\n " shape="box"]
22 -> 21 ;
21 [label="21: Message Call: retain \n n$17=*&s1:class A * [line 40]\n n$16=_fun___objc_retain(n$17:class A *) [line 40]\n REMOVE_TEMPS(n$16,n$17); [line 40]\n " shape="box"]
21 [label="21: Message Call: retain \n n$4=*&s1:class A * [line 40]\n n$3=_fun___objc_retain(n$4:class A *) [line 40]\n REMOVE_TEMPS(n$3,n$4); [line 40]\n " shape="box"]
21 -> 20 ;
20 [label="20: BinaryOperatorStmt: Assign \n n$15=_fun_createA() [line 41]\n *&s2:class A *=n$15 [line 41]\n REMOVE_TEMPS(n$15); [line 41]\n " shape="box"]
20 [label="20: BinaryOperatorStmt: Assign \n n$2=_fun_createA() [line 41]\n *&s2:class A *=n$2 [line 41]\n REMOVE_TEMPS(n$2); [line 41]\n " shape="box"]
20 -> 19 ;
19 [label="19: BinaryOperatorStmt: Assign \n n$14=_fun_createA() [line 42]\n *&s3:class A *=n$14 [line 42]\n REMOVE_TEMPS(n$14); [line 42]\n " shape="box"]
19 [label="19: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 42]\n *&s3:class A *=n$1 [line 42]\n REMOVE_TEMPS(n$1); [line 42]\n " shape="box"]
19 -> 18 ;
18 [label="18: Release the autorelease pool \n n$13=_fun___objc_release_autorelease_pool(&s1:class A *,&s2:class A *,&s3:class A *) [line 38]\n REMOVE_TEMPS(n$13); [line 38]\n " shape="box"]
18 [label="18: Release the autorelease pool \n n$0=_fun___objc_release_autorelease_pool(&s1:class A *,&s2:class A *,&s3:class A *) [line 38]\n REMOVE_TEMPS(n$0); [line 38]\n " shape="box"]
18 -> 17 ;
@ -104,11 +104,11 @@ digraph iCFG {
15 -> 25 ;
14 [label="14: DeclStmt \n n$12=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 30]\n n$10=_fun_A_init(n$12:class A *) virtual [line 30]\n *&s1:class A *=n$10 [line 30]\n REMOVE_TEMPS(n$10,n$12); [line 30]\n " shape="box"]
14 [label="14: DeclStmt \n n$4=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 30]\n n$2=_fun_A_init(n$4:class A *) virtual [line 30]\n *&s1:class A *=n$2 [line 30]\n REMOVE_TEMPS(n$2,n$4); [line 30]\n " shape="box"]
14 -> 13 ;
13 [label="13: Return Stmt \n n$9=*&s1:class A * [line 31]\n n$8=_fun___set_autorelease_attribute(n$9:class A *) [line 31]\n *&return:class A *=n$8 [line 31]\n REMOVE_TEMPS(n$8,n$9); [line 31]\n NULLIFY(&s1,false); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
13 [label="13: Return Stmt \n n$1=*&s1:class A * [line 31]\n n$0=_fun___set_autorelease_attribute(n$1:class A *) [line 31]\n *&return:class A *=n$0 [line 31]\n REMOVE_TEMPS(n$0,n$1); [line 31]\n NULLIFY(&s1,false); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
13 -> 12 ;

@ -1,13 +1,13 @@
digraph iCFG {
32 [label="32: Call _fun___objc_release \n n$23=*&a:class A * [line 70]\n _fun___objc_release(n$23:class A *) [line 70]\n REMOVE_TEMPS(n$23); [line 70]\n NULLIFY(&a,false); [line 70]\n APPLY_ABSTRACTION; [line 70]\n " shape="box"]
32 [label="32: Call _fun___objc_release \n n$1=*&a:class A * [line 70]\n _fun___objc_release(n$1:class A *) [line 70]\n REMOVE_TEMPS(n$1); [line 70]\n NULLIFY(&a,false); [line 70]\n APPLY_ABSTRACTION; [line 70]\n " shape="box"]
32 -> 29 ;
31 [label="31: Prune (false branch) \n n$22=*&a:class A * [line 69]\n PRUNE((n$22 == 0), false); [line 69]\n REMOVE_TEMPS(n$22); [line 69]\n APPLY_ABSTRACTION; [line 69]\n " shape="invhouse"]
31 [label="31: Prune (false branch) \n n$0=*&a:class A * [line 69]\n PRUNE((n$0 == 0), false); [line 69]\n REMOVE_TEMPS(n$0); [line 69]\n APPLY_ABSTRACTION; [line 69]\n " shape="invhouse"]
31 -> 29 ;
30 [label="30: Prune (true branch) \n n$22=*&a:class A * [line 69]\n PRUNE((n$22 != 0), true); [line 69]\n REMOVE_TEMPS(n$22); [line 69]\n " shape="invhouse"]
30 [label="30: Prune (true branch) \n n$0=*&a:class A * [line 69]\n PRUNE((n$0 != 0), true); [line 69]\n REMOVE_TEMPS(n$0); [line 69]\n " shape="invhouse"]
30 -> 32 ;
@ -23,15 +23,15 @@ digraph iCFG {
27 -> 30 ;
27 -> 31 ;
26 [label="26: DeclStmt \n n$21=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 62]\n n$19=_fun_A_init(n$21:class A *) virtual [line 62]\n *&a:class A *=n$19 [line 62]\n REMOVE_TEMPS(n$19,n$21); [line 62]\n " shape="box"]
26 [label="26: DeclStmt \n n$5=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 62]\n n$3=_fun_A_init(n$5:class A *) virtual [line 62]\n *&a:class A *=n$3 [line 62]\n REMOVE_TEMPS(n$3,n$5); [line 62]\n " shape="box"]
26 -> 25 ;
25 [label="25: Message Call: retain \n n$18=*&a:class A * [line 63]\n n$17=_fun___objc_retain(n$18:class A *) [line 63]\n REMOVE_TEMPS(n$17,n$18); [line 63]\n " shape="box"]
25 [label="25: Message Call: retain \n n$2=*&a:class A * [line 63]\n n$1=_fun___objc_retain(n$2:class A *) [line 63]\n REMOVE_TEMPS(n$1,n$2); [line 63]\n " shape="box"]
25 -> 24 ;
24 [label="24: Message Call: release \n n$16=*&a:class A * [line 64]\n _fun___objc_release(n$16:class A *) [line 64]\n REMOVE_TEMPS(n$16); [line 64]\n NULLIFY(&a,false); [line 64]\n APPLY_ABSTRACTION; [line 64]\n " shape="box"]
24 [label="24: Message Call: release \n n$0=*&a:class A * [line 64]\n _fun___objc_release(n$0:class A *) [line 64]\n REMOVE_TEMPS(n$0); [line 64]\n NULLIFY(&a,false); [line 64]\n APPLY_ABSTRACTION; [line 64]\n " shape="box"]
24 -> 23 ;
@ -42,11 +42,11 @@ digraph iCFG {
22 -> 26 ;
21 [label="21: DeclStmt \n n$15=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 55]\n n$13=_fun_A_init(n$15:class A *) virtual [line 55]\n *&a:class A *=n$13 [line 55]\n REMOVE_TEMPS(n$13,n$15); [line 55]\n " shape="box"]
21 [label="21: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 55]\n n$1=_fun_A_init(n$3:class A *) virtual [line 55]\n *&a:class A *=n$1 [line 55]\n REMOVE_TEMPS(n$1,n$3); [line 55]\n " shape="box"]
21 -> 20 ;
20 [label="20: Message Call: release \n n$12=*&a:class A * [line 56]\n _fun___objc_release(n$12:class A *) [line 56]\n REMOVE_TEMPS(n$12); [line 56]\n NULLIFY(&a,false); [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="box"]
20 [label="20: Message Call: release \n n$0=*&a:class A * [line 56]\n _fun___objc_release(n$0:class A *) [line 56]\n REMOVE_TEMPS(n$0); [line 56]\n NULLIFY(&a,false); [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="box"]
20 -> 19 ;
@ -57,11 +57,11 @@ digraph iCFG {
18 -> 21 ;
17 [label="17: DeclStmt \n n$11=_fun_test() [line 49]\n *&b:class A *=n$11 [line 49]\n REMOVE_TEMPS(n$11); [line 49]\n " shape="box"]
17 [label="17: DeclStmt \n n$1=_fun_test() [line 49]\n *&b:class A *=n$1 [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n " shape="box"]
17 -> 16 ;
16 [label="16: Message Call: release \n n$10=*&b:class A * [line 50]\n _fun___objc_release(n$10:class A *) [line 50]\n REMOVE_TEMPS(n$10); [line 50]\n NULLIFY(&b,false); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="box"]
16 [label="16: Message Call: release \n n$0=*&b:class A * [line 50]\n _fun___objc_release(n$0:class A *) [line 50]\n REMOVE_TEMPS(n$0); [line 50]\n NULLIFY(&b,false); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="box"]
16 -> 15 ;
@ -72,7 +72,7 @@ digraph iCFG {
14 -> 17 ;
13 [label="13: DeclStmt \n n$9=_fun_test() [line 43]\n *&b:class A *=n$9 [line 43]\n REMOVE_TEMPS(n$9); [line 43]\n NULLIFY(&b,false); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
13 [label="13: DeclStmt \n n$0=_fun_test() [line 43]\n *&b:class A *=n$0 [line 43]\n REMOVE_TEMPS(n$0); [line 43]\n NULLIFY(&b,false); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
13 -> 12 ;
@ -83,11 +83,11 @@ digraph iCFG {
11 -> 13 ;
10 [label="10: DeclStmt \n n$8=_fun_test() [line 36]\n *&b:class A *=n$8 [line 36]\n REMOVE_TEMPS(n$8); [line 36]\n " shape="box"]
10 [label="10: DeclStmt \n n$1=_fun_test() [line 36]\n *&b:class A *=n$1 [line 36]\n REMOVE_TEMPS(n$1); [line 36]\n " shape="box"]
10 -> 9 ;
9 [label="9: BinaryOperatorStmt: Assign \n n$7=*&b:class A * [line 37]\n *&#GB$g:class A *=n$7 [line 37]\n REMOVE_TEMPS(n$7); [line 37]\n NULLIFY(&b,false); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&b:class A * [line 37]\n *&#GB$g:class A *=n$0 [line 37]\n REMOVE_TEMPS(n$0); [line 37]\n NULLIFY(&b,false); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
9 -> 8 ;

@ -1,5 +1,5 @@
digraph iCFG {
19 [label="19: Return Stmt \n n$10=_fun___builtin___CFStringMakeConstantString(\"Icon\":char *) [line 43]\n n$11=_fun_CTFontCreateWithName(n$10:struct __CFString *,17.000000:double ,0:CGAffineTransform *) [line 43]\n n$12=_fun___objc_cast(n$11:void *,sizeof(void ):unsigned long ) [line 43]\n *&return:struct __CTFont *=n$12 [line 43]\n REMOVE_TEMPS(n$10,n$11,n$12); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
19 [label="19: Return Stmt \n n$0=_fun___builtin___CFStringMakeConstantString(\"Icon\":char *) [line 43]\n n$1=_fun_CTFontCreateWithName(n$0:struct __CFString *,17.000000:double ,0:CGAffineTransform *) [line 43]\n n$2=_fun___objc_cast(n$1:void *,sizeof(void ):unsigned long ) [line 43]\n *&return:struct __CTFont *=n$2 [line 43]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
19 -> 18 ;

@ -1,17 +1,17 @@
digraph iCFG {
15 [label="15: DeclStmt \n n$12=_fun_A_newA() [line 42]\n *&a1:class A *=n$12 [line 42]\n REMOVE_TEMPS(n$12); [line 42]\n " shape="box"]
15 [label="15: DeclStmt \n n$3=_fun_A_newA() [line 42]\n *&a1:class A *=n$3 [line 42]\n REMOVE_TEMPS(n$3); [line 42]\n " shape="box"]
15 -> 14 ;
14 [label="14: DeclStmt \n n$11=*&a1:class A * [line 43]\n _fun___objc_retain(n$11:class A *) [line 43]\n *&aa:class A *=n$11 [line 43]\n REMOVE_TEMPS(n$11); [line 43]\n NULLIFY(&a1,false); [line 43]\n NULLIFY(&aa,false); [line 43]\n " shape="box"]
14 [label="14: DeclStmt \n n$2=*&a1:class A * [line 43]\n _fun___objc_retain(n$2:class A *) [line 43]\n *&aa:class A *=n$2 [line 43]\n REMOVE_TEMPS(n$2); [line 43]\n NULLIFY(&a1,false); [line 43]\n NULLIFY(&aa,false); [line 43]\n " shape="box"]
14 -> 13 ;
13 [label="13: DeclStmt \n n$10=_fun_A_someA() [line 44]\n _fun___objc_retain(n$10:class A *) [line 44]\n *&a2:class A *=n$10 [line 44]\n REMOVE_TEMPS(n$10); [line 44]\n " shape="box"]
13 [label="13: DeclStmt \n n$1=_fun_A_someA() [line 44]\n _fun___objc_retain(n$1:class A *) [line 44]\n *&a2:class A *=n$1 [line 44]\n REMOVE_TEMPS(n$1); [line 44]\n " shape="box"]
13 -> 12 ;
12 [label="12: DeclStmt \n n$9=*&a2:class A * [line 45]\n _fun___objc_retain(n$9:class A *) [line 45]\n *&ab:class A *=n$9 [line 45]\n REMOVE_TEMPS(n$9); [line 45]\n NULLIFY(&a2,false); [line 45]\n NULLIFY(&ab,false); [line 45]\n " shape="box"]
12 [label="12: DeclStmt \n n$0=*&a2:class A * [line 45]\n _fun___objc_retain(n$0:class A *) [line 45]\n *&ab:class A *=n$0 [line 45]\n REMOVE_TEMPS(n$0); [line 45]\n NULLIFY(&a2,false); [line 45]\n NULLIFY(&ab,false); [line 45]\n " shape="box"]
12 -> 11 ;

@ -1,9 +1,9 @@
digraph iCFG {
20 [label="20: Call _fun___infer_assume \n n$20=*&callback:_fn_ (*) [line 46]\n n$21=_fun___infer_assume((n$20 != 0):_fn_ (*)) [line 46]\n REMOVE_TEMPS(n$20,n$21); [line 46]\n " shape="box"]
20 [label="20: Call _fun___infer_assume \n n$1=*&callback:_fn_ (*) [line 46]\n n$2=_fun___infer_assume((n$1 != 0):_fn_ (*)) [line 46]\n REMOVE_TEMPS(n$1,n$2); [line 46]\n " shape="box"]
20 -> 19 ;
19 [label="19: Call n$19 \n n$19=*&callback:_fn_ (*) [line 47]\n n$19(0:class NSError *,0:id *) [line 47]\n REMOVE_TEMPS(n$19); [line 47]\n NULLIFY(&callback,false); [line 47]\n APPLY_ABSTRACTION; [line 47]\n " shape="box"]
19 [label="19: Call n$0 \n n$0=*&callback:_fn_ (*) [line 47]\n n$0(0:class NSError *,0:id *) [line 47]\n REMOVE_TEMPS(n$0); [line 47]\n NULLIFY(&callback,false); [line 47]\n APPLY_ABSTRACTION; [line 47]\n " shape="box"]
19 -> 18 ;
@ -14,11 +14,11 @@ digraph iCFG {
17 -> 20 ;
16 [label="16: Call _fun___infer_assume \n n$17=*&name:class NSString * [line -1]\n n$18=_fun___infer_assume((n$17 != 0):class NSString *) [line -1]\n REMOVE_TEMPS(n$17,n$18); [line -1]\n " shape="box"]
16 [label="16: Call _fun___infer_assume \n n$13=*&name:class NSString * [line -1]\n n$14=_fun___infer_assume((n$13 != 0):class NSString *) [line -1]\n REMOVE_TEMPS(n$13,n$14); [line -1]\n " shape="box"]
16 -> 15 ;
15 [label="15: BinaryOperatorStmt: Assign \n n$14=*&self:class C * [line 31]\n n$16=*&name:class NSString * [line 31]\n n$15=_fun_NSString_copy(n$16:class NSString *) virtual [line 31]\n *n$14._name:class NSString *=n$15 [line 31]\n REMOVE_TEMPS(n$14,n$15,n$16); [line 31]\n NULLIFY(&name,false); [line 31]\n NULLIFY(&self,false); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
15 [label="15: BinaryOperatorStmt: Assign \n n$10=*&self:class C * [line 31]\n n$12=*&name:class NSString * [line 31]\n n$11=_fun_NSString_copy(n$12:class NSString *) virtual [line 31]\n *n$10._name:class NSString *=n$11 [line 31]\n REMOVE_TEMPS(n$10,n$11,n$12); [line 31]\n NULLIFY(&name,false); [line 31]\n NULLIFY(&self,false); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
15 -> 14 ;
@ -29,7 +29,7 @@ digraph iCFG {
13 -> 16 ;
12 [label="12: Return Stmt \n n$11=*&self:class C * [line 31]\n n$12=*n$11._name:class NSString * [line 31]\n *&return:class NSString *=n$12 [line 31]\n n$13=_fun___set_autorelease_attribute(n$12:class NSString *) [line 31]\n REMOVE_TEMPS(n$11,n$12,n$13); [line 31]\n NULLIFY(&self,false); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
12 [label="12: Return Stmt \n n$7=*&self:class C * [line 31]\n n$8=*n$7._name:class NSString * [line 31]\n *&return:class NSString *=n$8 [line 31]\n n$9=_fun___set_autorelease_attribute(n$8:class NSString *) [line 31]\n REMOVE_TEMPS(n$7,n$8,n$9); [line 31]\n NULLIFY(&self,false); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
12 -> 11 ;
@ -40,19 +40,19 @@ digraph iCFG {
10 -> 12 ;
9 [label="9: Call _fun___infer_assume \n n$9=*&a:class A * [line -1]\n n$10=_fun___infer_assume((n$9 != 0):class A *) [line -1]\n REMOVE_TEMPS(n$9,n$10); [line -1]\n " shape="box"]
9 [label="9: Call _fun___infer_assume \n n$5=*&a:class A * [line -1]\n n$6=_fun___infer_assume((n$5 != 0):class A *) [line -1]\n REMOVE_TEMPS(n$5,n$6); [line -1]\n " shape="box"]
9 -> 8 ;
8 [label="8: DeclStmt \n n$8=*&a:class A * [line 39]\n n$7=_fun_A_getA(n$8:class A *) virtual [line 39]\n _fun___objc_retain(n$7:class A *) [line 39]\n *&a1:class A *=n$7 [line 39]\n REMOVE_TEMPS(n$7,n$8); [line 39]\n NULLIFY(&a,false); [line 39]\n " shape="box"]
8 [label="8: DeclStmt \n n$4=*&a:class A * [line 39]\n n$3=_fun_A_getA(n$4:class A *) virtual [line 39]\n _fun___objc_retain(n$3:class A *) [line 39]\n *&a1:class A *=n$3 [line 39]\n REMOVE_TEMPS(n$3,n$4); [line 39]\n NULLIFY(&a,false); [line 39]\n " shape="box"]
8 -> 7 ;
7 [label="7: DeclStmt \n n$5=*&a1:class A * [line 40]\n n$6=*n$5.x:int [line 40]\n *&y:int =n$6 [line 40]\n REMOVE_TEMPS(n$5,n$6); [line 40]\n NULLIFY(&a1,false); [line 40]\n NULLIFY(&y,false); [line 40]\n " shape="box"]
7 [label="7: DeclStmt \n n$1=*&a1:class A * [line 40]\n n$2=*n$1.x:int [line 40]\n *&y:int =n$2 [line 40]\n REMOVE_TEMPS(n$1,n$2); [line 40]\n NULLIFY(&a1,false); [line 40]\n NULLIFY(&y,false); [line 40]\n " shape="box"]
7 -> 6 ;
6 [label="6: Return Stmt \n n$4=*&self:class C * [line 41]\n *&return:struct objc_object *=n$4 [line 41]\n REMOVE_TEMPS(n$4); [line 41]\n NULLIFY(&self,false); [line 41]\n APPLY_ABSTRACTION; [line 41]\n " shape="box"]
6 [label="6: Return Stmt \n n$0=*&self:class C * [line 41]\n *&return:struct objc_object *=n$0 [line 41]\n REMOVE_TEMPS(n$0); [line 41]\n NULLIFY(&self,false); [line 41]\n APPLY_ABSTRACTION; [line 41]\n " shape="box"]
6 -> 5 ;

@ -3,11 +3,11 @@ digraph iCFG {
81 -> 65 ;
80 [label="80: Prune (false branch) \n n$41=*&SIL_temp_conditional___74:int [line 38]\n NULLIFY(&SIL_temp_conditional___74,true); [line 38]\n PRUNE((n$41 == 0), false); [line 38]\n REMOVE_TEMPS(n$41); [line 38]\n " shape="invhouse"]
80 [label="80: Prune (false branch) \n n$5=*&SIL_temp_conditional___74:int [line 38]\n NULLIFY(&SIL_temp_conditional___74,true); [line 38]\n PRUNE((n$5 == 0), false); [line 38]\n REMOVE_TEMPS(n$5); [line 38]\n " shape="invhouse"]
80 -> 73 ;
79 [label="79: Prune (true branch) \n n$41=*&SIL_temp_conditional___74:int [line 38]\n NULLIFY(&SIL_temp_conditional___74,true); [line 38]\n PRUNE((n$41 != 0), true); [line 38]\n REMOVE_TEMPS(n$41); [line 38]\n NULLIFY(&target,false); [line 38]\n " shape="invhouse"]
79 [label="79: Prune (true branch) \n n$5=*&SIL_temp_conditional___74:int [line 38]\n NULLIFY(&SIL_temp_conditional___74,true); [line 38]\n PRUNE((n$5 != 0), true); [line 38]\n REMOVE_TEMPS(n$5); [line 38]\n NULLIFY(&target,false); [line 38]\n " shape="invhouse"]
79 -> 81 ;
@ -19,11 +19,11 @@ digraph iCFG {
77 -> 74 ;
76 [label="76: Prune (false branch) \n n$40=*&target:class A * [line 38]\n PRUNE((n$40 == 0), false); [line 38]\n REMOVE_TEMPS(n$40); [line 38]\n " shape="invhouse"]
76 [label="76: Prune (false branch) \n n$4=*&target:class A * [line 38]\n PRUNE((n$4 == 0), false); [line 38]\n REMOVE_TEMPS(n$4); [line 38]\n " shape="invhouse"]
76 -> 78 ;
75 [label="75: Prune (true branch) \n n$40=*&target:class A * [line 38]\n PRUNE((n$40 != 0), true); [line 38]\n REMOVE_TEMPS(n$40); [line 38]\n " shape="invhouse"]
75 [label="75: Prune (true branch) \n n$4=*&target:class A * [line 38]\n PRUNE((n$4 != 0), true); [line 38]\n REMOVE_TEMPS(n$4); [line 38]\n " shape="invhouse"]
75 -> 77 ;
@ -50,7 +50,7 @@ digraph iCFG {
70 -> 75 ;
70 -> 76 ;
69 [label="69: Return Stmt \n n$38=*&self:class A * [line 13]\n n$39=*n$38._x:int [line 13]\n *&return:int =n$39 [line 13]\n REMOVE_TEMPS(n$38,n$39); [line 13]\n NULLIFY(&self,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
69 [label="69: Return Stmt \n n$2=*&self:class A * [line 13]\n n$3=*n$2._x:int [line 13]\n *&return:int =n$3 [line 13]\n REMOVE_TEMPS(n$2,n$3); [line 13]\n NULLIFY(&self,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
69 -> 68 ;
@ -61,7 +61,7 @@ digraph iCFG {
67 -> 69 ;
66 [label="66: Return Stmt \n n$37=*&target:class A * [line 37]\n n$36=_fun_A_x(n$37:class A *) virtual [line 37]\n *&return:int =n$36 [line 37]\n REMOVE_TEMPS(n$36,n$37); [line 37]\n NULLIFY(&target,false); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
66 [label="66: Return Stmt \n n$1=*&target:class A * [line 37]\n n$0=_fun_A_x(n$1:class A *) virtual [line 37]\n *&return:int =n$0 [line 37]\n REMOVE_TEMPS(n$0,n$1); [line 37]\n NULLIFY(&target,false); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
66 -> 65 ;
@ -76,11 +76,11 @@ digraph iCFG {
63 -> 46 ;
62 [label="62: Prune (false branch) \n n$31=*&SIL_temp_conditional___55:int [line 33]\n NULLIFY(&SIL_temp_conditional___55,true); [line 33]\n PRUNE((n$31 == 0), false); [line 33]\n REMOVE_TEMPS(n$31); [line 33]\n " shape="invhouse"]
62 [label="62: Prune (false branch) \n n$5=*&SIL_temp_conditional___55:int [line 33]\n NULLIFY(&SIL_temp_conditional___55,true); [line 33]\n PRUNE((n$5 == 0), false); [line 33]\n REMOVE_TEMPS(n$5); [line 33]\n " shape="invhouse"]
62 -> 54 ;
61 [label="61: Prune (true branch) \n n$31=*&SIL_temp_conditional___55:int [line 33]\n NULLIFY(&SIL_temp_conditional___55,true); [line 33]\n PRUNE((n$31 != 0), true); [line 33]\n REMOVE_TEMPS(n$31); [line 33]\n NULLIFY(&target,false); [line 33]\n " shape="invhouse"]
61 [label="61: Prune (true branch) \n n$5=*&SIL_temp_conditional___55:int [line 33]\n NULLIFY(&SIL_temp_conditional___55,true); [line 33]\n PRUNE((n$5 != 0), true); [line 33]\n REMOVE_TEMPS(n$5); [line 33]\n NULLIFY(&target,false); [line 33]\n " shape="invhouse"]
61 -> 63 ;
@ -92,15 +92,15 @@ digraph iCFG {
59 -> 55 ;
58 [label="58: Prune (false branch) \n PRUNE(((n$30 != (void *)0) == 0), false); [line 31]\n REMOVE_TEMPS(n$30); [line 31]\n " shape="invhouse"]
58 [label="58: Prune (false branch) \n PRUNE(((n$4 != (void *)0) == 0), false); [line 31]\n REMOVE_TEMPS(n$4); [line 31]\n " shape="invhouse"]
58 -> 60 ;
57 [label="57: Prune (true branch) \n PRUNE(((n$30 != (void *)0) != 0), true); [line 31]\n REMOVE_TEMPS(n$30); [line 31]\n " shape="invhouse"]
57 [label="57: Prune (true branch) \n PRUNE(((n$4 != (void *)0) != 0), true); [line 31]\n REMOVE_TEMPS(n$4); [line 31]\n " shape="invhouse"]
57 -> 59 ;
56 [label="56: BinaryOperatorStmt: NE \n n$30=*&target:class A * [line 31]\n " shape="box"]
56 [label="56: BinaryOperatorStmt: NE \n n$4=*&target:class A * [line 31]\n " shape="box"]
56 -> 57 ;
@ -127,7 +127,7 @@ digraph iCFG {
51 -> 56 ;
47 [label="47: Return Stmt \n n$27=*&target:class A * [line 32]\n n$26=_fun_A_x(n$27:class A *) virtual [line 32]\n *&return:int =n$26 [line 32]\n REMOVE_TEMPS(n$26,n$27); [line 32]\n NULLIFY(&target,false); [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"]
47 [label="47: Return Stmt \n n$1=*&target:class A * [line 32]\n n$0=_fun_A_x(n$1:class A *) virtual [line 32]\n *&return:int =n$0 [line 32]\n REMOVE_TEMPS(n$0,n$1); [line 32]\n NULLIFY(&target,false); [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"]
47 -> 46 ;

@ -1,5 +1,5 @@
digraph iCFG {
25 [label="25: Return Stmt \n n$27=_fun_main1(4:int ) [line 51]\n *&return:int =n$27 [line 51]\n REMOVE_TEMPS(n$27); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"]
25 [label="25: Return Stmt \n n$0=_fun_main1(4:int ) [line 51]\n *&return:int =n$0 [line 51]\n REMOVE_TEMPS(n$0); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"]
25 -> 24 ;

@ -1,13 +1,13 @@
digraph iCFG {
30 [label="30: DeclStmt \n n$20=_fun_A_sharedInstance() [line 50]\n *&b:class A *=n$20 [line 50]\n REMOVE_TEMPS(n$20); [line 50]\n " shape="box"]
30 [label="30: DeclStmt \n n$3=_fun_A_sharedInstance() [line 50]\n *&b:class A *=n$3 [line 50]\n REMOVE_TEMPS(n$3); [line 50]\n " shape="box"]
30 -> 29 ;
29 [label="29: Message Call: setX: \n n$17=*&b:class A * [line 51]\n _fun_A_setX:(n$17:class A *,17:int ) virtual [line 51]\n REMOVE_TEMPS(n$17); [line 51]\n NULLIFY(&b,false); [line 51]\n " shape="box"]
29 [label="29: Message Call: setX: \n n$0=*&b:class A * [line 51]\n _fun_A_setX:(n$0:class A *,17:int ) virtual [line 51]\n REMOVE_TEMPS(n$0); [line 51]\n NULLIFY(&b,false); [line 51]\n " shape="box"]
29 -> 25 ;
28 [label="28: BinaryOperatorStmt: Assign \n n$18=*&self:class A * [line 14]\n n$19=*&x:int [line 14]\n *n$18._x:int =n$19 [line 14]\n REMOVE_TEMPS(n$18,n$19); [line 14]\n NULLIFY(&self,false); [line 14]\n NULLIFY(&x,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
28 [label="28: BinaryOperatorStmt: Assign \n n$1=*&self:class A * [line 14]\n n$2=*&x:int [line 14]\n *n$1._x:int =n$2 [line 14]\n REMOVE_TEMPS(n$1,n$2); [line 14]\n NULLIFY(&self,false); [line 14]\n NULLIFY(&x,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
28 -> 27 ;

@ -1,9 +1,9 @@
digraph iCFG {
19 [label="19: DeclStmt \n n$18=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 68]\n *&a:class A *=n$18 [line 68]\n REMOVE_TEMPS(n$18); [line 68]\n " shape="box"]
19 [label="19: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 68]\n *&a:class A *=n$3 [line 68]\n REMOVE_TEMPS(n$3); [line 68]\n " shape="box"]
19 -> 18 ;
18 [label="18: BinaryOperatorStmt: Assign \n n$15=*&a:class A * [line 70]\n n$16=_fun_foo(n$15:class A *) [line 70]\n *&a:class A *=n$16 [line 70]\n REMOVE_TEMPS(n$15,n$16); [line 70]\n NULLIFY(&a,false); [line 70]\n " shape="box"]
18 [label="18: BinaryOperatorStmt: Assign \n n$0=*&a:class A * [line 70]\n n$1=_fun_foo(n$0:class A *) [line 70]\n *&a:class A *=n$1 [line 70]\n REMOVE_TEMPS(n$0,n$1); [line 70]\n NULLIFY(&a,false); [line 70]\n " shape="box"]
18 -> 17 ;
@ -18,11 +18,11 @@ digraph iCFG {
15 -> 19 ;
14 [label="14: Message Call: capture \n n$14=*&a:class A * [line 60]\n _fun_A_capture(n$14:class A *) virtual [line 60]\n REMOVE_TEMPS(n$14); [line 60]\n " shape="box"]
14 [label="14: Message Call: capture \n n$1=*&a:class A * [line 60]\n _fun_A_capture(n$1:class A *) virtual [line 60]\n REMOVE_TEMPS(n$1); [line 60]\n " shape="box"]
14 -> 13 ;
13 [label="13: Return Stmt \n n$13=*&a:class A * [line 62]\n *&return:class A *=n$13 [line 62]\n REMOVE_TEMPS(n$13); [line 62]\n NULLIFY(&a,false); [line 62]\n APPLY_ABSTRACTION; [line 62]\n " shape="box"]
13 [label="13: Return Stmt \n n$0=*&a:class A * [line 62]\n *&return:class A *=n$0 [line 62]\n REMOVE_TEMPS(n$0); [line 62]\n NULLIFY(&a,false); [line 62]\n APPLY_ABSTRACTION; [line 62]\n " shape="box"]
13 -> 12 ;
@ -33,15 +33,15 @@ digraph iCFG {
11 -> 14 ;
10 [label="10: BinaryOperatorStmt: Assign \n n$10=*&self:class A * [line 50]\n n$12=_fun___objc_alloc_no_fail(sizeof(class B ):unsigned long ) [line 50]\n *n$10._b:class B *=n$12 [line 50]\n REMOVE_TEMPS(n$10,n$12); [line 50]\n " shape="box"]
10 [label="10: BinaryOperatorStmt: Assign \n n$8=*&self:class A * [line 50]\n n$10=_fun___objc_alloc_no_fail(sizeof(class B ):unsigned long ) [line 50]\n *n$8._b:class B *=n$10 [line 50]\n REMOVE_TEMPS(n$8,n$10); [line 50]\n " shape="box"]
10 -> 9 ;
9 [label="9: Message Call: sHandler: \n n$2=*&self:class A * [line 51]\n n$3=*n$2._b:class B * [line 51]\n DECLARE_LOCALS(&__objc_anonymous_block_A_capture______1); [line 51]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_capture______1 ):unsigned long ) [line 51]\n *&__objc_anonymous_block_A_capture______1:class __objc_anonymous_block_A_capture______1 =n$7 [line 51]\n n$8=*&self:class A * [line 51]\n *n$7.self:class A *=n$8 [line 51]\n n$4=*&self:class A * [line 51]\n n$9=*&__objc_anonymous_block_A_capture______1:_fn_ (*) [line 51]\n _fun_B_sHandler:(n$3:class B *,n$9:_fn_ (*),n$4:_fn_ (*)) virtual [line 51]\n REMOVE_TEMPS(n$2,n$3,n$7,n$8,n$4,n$9); [line 51]\n NULLIFY(&__objc_anonymous_block_A_capture______1,true); [line 51]\n NULLIFY(&self,false); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"]
9 [label="9: Message Call: sHandler: \n n$0=*&self:class A * [line 51]\n n$1=*n$0._b:class B * [line 51]\n DECLARE_LOCALS(&__objc_anonymous_block_A_capture______1); [line 51]\n n$5=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_capture______1 ):unsigned long ) [line 51]\n *&__objc_anonymous_block_A_capture______1:class __objc_anonymous_block_A_capture______1 =n$5 [line 51]\n n$6=*&self:class A * [line 51]\n *n$5.self:class A *=n$6 [line 51]\n n$2=*&self:class A * [line 51]\n n$7=*&__objc_anonymous_block_A_capture______1:_fn_ (*) [line 51]\n _fun_B_sHandler:(n$1:class B *,n$7:_fn_ (*),n$2:_fn_ (*)) virtual [line 51]\n REMOVE_TEMPS(n$0,n$1,n$5,n$6,n$2,n$7); [line 51]\n NULLIFY(&__objc_anonymous_block_A_capture______1,true); [line 51]\n NULLIFY(&self,false); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"]
9 -> 5 ;
8 [label="8: BinaryOperatorStmt: Assign \n n$5=*&self:class A * [line 52]\n n$6=*&d:class D * [line 52]\n *n$5._data:class D *=n$6 [line 52]\n REMOVE_TEMPS(n$5,n$6); [line 52]\n NULLIFY(&d,false); [line 52]\n APPLY_ABSTRACTION; [line 52]\n " shape="box"]
8 [label="8: BinaryOperatorStmt: Assign \n n$3=*&self:class A * [line 52]\n n$4=*&d:class D * [line 52]\n *n$3._data:class D *=n$4 [line 52]\n REMOVE_TEMPS(n$3,n$4); [line 52]\n NULLIFY(&d,false); [line 52]\n APPLY_ABSTRACTION; [line 52]\n " shape="box"]
8 -> 7 ;

@ -1,5 +1,5 @@
digraph iCFG {
6 [label="6: Return Stmt \n n$8=_fun_NSString_stringWithUTF8String:(\"Matt\":char *) [line 23]\n n$9=_fun_NSString_stringWithUTF8String:(\"firstName\":char *) [line 23]\n n$10=_fun_NSString_stringWithUTF8String:(\"Galloway\":char *) [line 23]\n n$11=_fun_NSString_stringWithUTF8String:(\"lastName\":char *) [line 23]\n n$12=_fun_NSNumber_numberWithInt:(28:int ) [line 23]\n n$13=_fun_NSString_stringWithUTF8String:(\"age\":char *) [line 23]\n n$7=_fun_NSDictionary_dictionaryWithObjectsAndKeys:(n$8:struct objc_object *,n$9:struct objc_object *,n$10:struct objc_object *,n$11:struct objc_object *,n$12:struct objc_object *,n$13:struct objc_object *,0:struct objc_object *) [line 23]\n *&return:class NSDictionary *=n$7 [line 23]\n REMOVE_TEMPS(n$7,n$8,n$9,n$10,n$11,n$12,n$13); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
6 [label="6: Return Stmt \n n$1=_fun_NSString_stringWithUTF8String:(\"Matt\":char *) [line 23]\n n$2=_fun_NSString_stringWithUTF8String:(\"firstName\":char *) [line 23]\n n$3=_fun_NSString_stringWithUTF8String:(\"Galloway\":char *) [line 23]\n n$4=_fun_NSString_stringWithUTF8String:(\"lastName\":char *) [line 23]\n n$5=_fun_NSNumber_numberWithInt:(28:int ) [line 23]\n n$6=_fun_NSString_stringWithUTF8String:(\"age\":char *) [line 23]\n n$0=_fun_NSDictionary_dictionaryWithObjectsAndKeys:(n$1:struct objc_object *,n$2:struct objc_object *,n$3:struct objc_object *,n$4:struct objc_object *,n$5:struct objc_object *,n$6:struct objc_object *,0:struct objc_object *) [line 23]\n *&return:class NSDictionary *=n$0 [line 23]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3,n$4,n$5,n$6); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
6 -> 5 ;

@ -1,5 +1,5 @@
digraph iCFG {
6 [label="6: Return Stmt \n n$1=_fun_NSString_stringWithUTF8String:(\"Hello World!\":char *) [line 19]\n *&return:class NSString *=n$1 [line 19]\n REMOVE_TEMPS(n$1); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
6 [label="6: Return Stmt \n n$0=_fun_NSString_stringWithUTF8String:(\"Hello World!\":char *) [line 19]\n *&return:class NSString *=n$0 [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
6 -> 5 ;

@ -1,13 +1,13 @@
digraph iCFG {
39 [label="39: DeclStmt \n n$39=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 39]\n n$37=_fun_A_init(n$39:class A *) virtual [line 39]\n *&a:class A *=n$37 [line 39]\n REMOVE_TEMPS(n$37,n$39); [line 39]\n " shape="box"]
39 [label="39: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 39]\n n$5=_fun_A_init(n$7:class A *) virtual [line 39]\n *&a:class A *=n$5 [line 39]\n REMOVE_TEMPS(n$5,n$7); [line 39]\n " shape="box"]
39 -> 38 ;
38 [label="38: Message Call: setLast_name: \n n$33=*&a:class A * [line 40]\n n$34=*&a2:class A * [line 40]\n _fun_A_setLast_name:(n$33:class A *,n$34:class A *) virtual [line 40]\n REMOVE_TEMPS(n$33,n$34); [line 40]\n NULLIFY(&a2,false); [line 40]\n " shape="box"]
38 [label="38: Message Call: setLast_name: \n n$1=*&a:class A * [line 40]\n n$2=*&a2:class A * [line 40]\n _fun_A_setLast_name:(n$1:class A *,n$2:class A *) virtual [line 40]\n REMOVE_TEMPS(n$1,n$2); [line 40]\n NULLIFY(&a2,false); [line 40]\n " shape="box"]
38 -> 34 ;
37 [label="37: BinaryOperatorStmt: Assign \n n$35=*&self:class A * [line 18]\n n$36=*&last_name:class A * [line 18]\n *n$35._last_name:class A *=n$36 [line 18]\n REMOVE_TEMPS(n$35,n$36); [line 18]\n NULLIFY(&last_name,false); [line 18]\n NULLIFY(&self,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
37 [label="37: BinaryOperatorStmt: Assign \n n$3=*&self:class A * [line 18]\n n$4=*&last_name:class A * [line 18]\n *n$3._last_name:class A *=n$4 [line 18]\n REMOVE_TEMPS(n$3,n$4); [line 18]\n NULLIFY(&last_name,false); [line 18]\n NULLIFY(&self,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
37 -> 36 ;
@ -18,7 +18,7 @@ digraph iCFG {
35 -> 37 ;
34 [label="34: Message Call: release \n n$32=*&a:class A * [line 41]\n _fun___objc_release(n$32:class A *) [line 41]\n REMOVE_TEMPS(n$32); [line 41]\n NULLIFY(&a,false); [line 41]\n " shape="box"]
34 [label="34: Message Call: release \n n$0=*&a:class A * [line 41]\n _fun___objc_release(n$0:class A *) [line 41]\n REMOVE_TEMPS(n$0); [line 41]\n NULLIFY(&a,false); [line 41]\n " shape="box"]
34 -> 33 ;

@ -3,32 +3,32 @@ digraph iCFG {
24 -> 23 ;
23 [label="23: Call _fun_foo1 \n n$14=*&x:int [line 44]\n _fun_foo1(n$14:int ) [line 44]\n REMOVE_TEMPS(n$14); [line 44]\n " shape="box"]
23 [label="23: Call _fun_foo1 \n n$10=*&x:int [line 44]\n _fun_foo1(n$10:int ) [line 44]\n REMOVE_TEMPS(n$10); [line 44]\n " shape="box"]
23 -> 22 ;
22 [label="22: BinaryOperatorStmt: Assign \n n$12=*&x:int [line 46]\n n$13=_fun_bar1(n$12:int ) [line 46]\n *&x:int =n$13 [line 46]\n REMOVE_TEMPS(n$12,n$13); [line 46]\n " shape="box"]
22 [label="22: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 46]\n n$9=_fun_bar1(n$8:int ) [line 46]\n *&x:int =n$9 [line 46]\n REMOVE_TEMPS(n$8,n$9); [line 46]\n " shape="box"]
22 -> 21 ;
21 [label="21: DeclStmt \n n$11=_fun___objc_alloc_no_fail(sizeof(class AClass ):unsigned long ) [line 48]\n *&o:class AClass *=n$11 [line 48]\n REMOVE_TEMPS(n$11); [line 48]\n " shape="box"]
21 [label="21: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(class AClass ):unsigned long ) [line 48]\n *&o:class AClass *=n$7 [line 48]\n REMOVE_TEMPS(n$7); [line 48]\n " shape="box"]
21 -> 17 ;
21 -> 18 ;
20 [label="20: Message Call: foo: \n n$8=*&o:class AClass * [line 52]\n n$9=*&x:int [line 52]\n _fun_AClass_foo:(n$8:class AClass *,n$9:int ) virtual [line 52]\n REMOVE_TEMPS(n$8,n$9); [line 52]\n " shape="box"]
20 [label="20: Message Call: foo: \n n$4=*&o:class AClass * [line 52]\n n$5=*&x:int [line 52]\n _fun_AClass_foo:(n$4:class AClass *,n$5:int ) virtual [line 52]\n REMOVE_TEMPS(n$4,n$5); [line 52]\n " shape="box"]
20 -> 19 ;
19 [label="19: BinaryOperatorStmt: Assign \n n$6=*&o:class AClass * [line 53]\n n$7=*&x:int [line 53]\n n$5=_fun_AClass_bar:(n$6:class AClass *,n$7:int ) virtual [line 53]\n *&x:int =n$5 [line 53]\n REMOVE_TEMPS(n$5,n$6,n$7); [line 53]\n NULLIFY(&o,false); [line 53]\n NULLIFY(&x,false); [line 53]\n APPLY_ABSTRACTION; [line 53]\n " shape="box"]
19 [label="19: BinaryOperatorStmt: Assign \n n$2=*&o:class AClass * [line 53]\n n$3=*&x:int [line 53]\n n$1=_fun_AClass_bar:(n$2:class AClass *,n$3:int ) virtual [line 53]\n *&x:int =n$1 [line 53]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 53]\n NULLIFY(&o,false); [line 53]\n NULLIFY(&x,false); [line 53]\n APPLY_ABSTRACTION; [line 53]\n " shape="box"]
19 -> 16 ;
18 [label="18: Prune (false branch) \n n$4=*&o:class AClass * [line 50]\n PRUNE((n$4 == 0), false); [line 50]\n REMOVE_TEMPS(n$4); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="invhouse"]
18 [label="18: Prune (false branch) \n n$0=*&o:class AClass * [line 50]\n PRUNE((n$0 == 0), false); [line 50]\n REMOVE_TEMPS(n$0); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="invhouse"]
18 -> 16 ;
17 [label="17: Prune (true branch) \n n$4=*&o:class AClass * [line 50]\n PRUNE((n$4 != 0), true); [line 50]\n REMOVE_TEMPS(n$4); [line 50]\n " shape="invhouse"]
17 [label="17: Prune (true branch) \n n$0=*&o:class AClass * [line 50]\n PRUNE((n$0 != 0), true); [line 50]\n REMOVE_TEMPS(n$0); [line 50]\n " shape="invhouse"]
17 -> 20 ;
@ -47,7 +47,7 @@ digraph iCFG {
13 -> 24 ;
12 [label="12: Return Stmt \n n$3=*&a:int [line 38]\n *&a:int =(n$3 + 1) [line 38]\n *&return:int =n$3 [line 38]\n REMOVE_TEMPS(n$3); [line 38]\n NULLIFY(&a,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
12 [label="12: Return Stmt \n n$0=*&a:int [line 38]\n *&a:int =(n$0 + 1) [line 38]\n *&return:int =n$0 [line 38]\n REMOVE_TEMPS(n$0); [line 38]\n NULLIFY(&a,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
12 -> 11 ;
@ -58,7 +58,7 @@ digraph iCFG {
10 -> 12 ;
9 [label="9: UnaryOperator \n n$2=*&a:int [line 33]\n *&a:int =(n$2 + 1) [line 33]\n REMOVE_TEMPS(n$2); [line 33]\n NULLIFY(&a,false); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
9 [label="9: UnaryOperator \n n$0=*&a:int [line 33]\n *&a:int =(n$0 + 1) [line 33]\n REMOVE_TEMPS(n$0); [line 33]\n NULLIFY(&a,false); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
9 -> 8 ;

@ -1,13 +1,13 @@
digraph iCFG {
8 [label="8: DeclStmt \n n$8=_fun___objc_alloc_no_fail(sizeof(class C ):unsigned long ) [line 22]\n *&c1:class C *=n$8 [line 22]\n REMOVE_TEMPS(n$8); [line 22]\n " shape="box"]
8 [label="8: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(class C ):unsigned long ) [line 22]\n *&c1:class C *=n$7 [line 22]\n REMOVE_TEMPS(n$7); [line 22]\n " shape="box"]
8 -> 7 ;
7 [label="7: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class C ):unsigned long ) [line 23]\n *&c2:class C *=n$6 [line 23]\n REMOVE_TEMPS(n$6); [line 23]\n " shape="box"]
7 [label="7: DeclStmt \n n$5=_fun___objc_alloc_no_fail(sizeof(class C ):unsigned long ) [line 23]\n *&c2:class C *=n$5 [line 23]\n REMOVE_TEMPS(n$5); [line 23]\n " shape="box"]
7 -> 6 ;
6 [label="6: InitListExp \n n$2=*&c1:class C * [line 24]\n n$1=_fun_C_init(n$2:class C *) virtual [line 24]\n n$3=*&c1:class C * [line 24]\n n$4=*&c2:class C * [line 24]\n *&a[0]:C *=n$1 [line 24]\n _fun___objc_retain(n$3:C *) [line 24]\n *&a[1]:C *=n$3 [line 24]\n _fun___objc_retain(n$4:C *) [line 24]\n *&a[2]:C *=n$4 [line 24]\n REMOVE_TEMPS(n$1,n$2,n$3,n$4); [line 24]\n NULLIFY(&c1,false); [line 24]\n NULLIFY(&c2,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
6 [label="6: InitListExp \n n$1=*&c1:class C * [line 24]\n n$0=_fun_C_init(n$1:class C *) virtual [line 24]\n n$2=*&c1:class C * [line 24]\n n$3=*&c2:class C * [line 24]\n *&a[0]:C *=n$0 [line 24]\n _fun___objc_retain(n$2:C *) [line 24]\n *&a[1]:C *=n$2 [line 24]\n _fun___objc_retain(n$3:C *) [line 24]\n *&a[2]:C *=n$3 [line 24]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 24]\n NULLIFY(&c1,false); [line 24]\n NULLIFY(&c2,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
6 -> 5 ;

Loading…
Cancel
Save