[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 10 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