Declare local variable for conditional in procdesc

Summary:Local variable created by conditional operator translation is now declared in scope of whole
procedure. Semantically there is no difference, hopefuly backend will not complain about this
change. Also, nullifying that variable is deferred to preanalysis instead of calling it manually

Reviewed By: jvillard

Differential Revision: D3155733

fb-gh-sync-id: 6cec8fc
fbshipit-source-id: 6cec8fc
master
Andrzej Kotulski 9 years ago committed by Facebook Github Bot 8
parent 07acaa3b97
commit 05c218d84f

@ -1123,9 +1123,7 @@ struct
let context = trans_state.context in let context = trans_state.context in
let cfg = context.cfg in let cfg = context.cfg in
let succ_nodes = trans_state.succ_nodes in let succ_nodes = trans_state.succ_nodes in
let procname = Cfg.Procdesc.get_proc_name context.CContext.procdesc in let procdesc = context.CContext.procdesc in
let mk_temp_var id =
Pvar.mk (Mangled.from_string ("SIL_temp_conditional___"^(string_of_int id))) procname in
let sil_loc = CLocation.get_sil_location stmt_info context in let sil_loc = CLocation.get_sil_location stmt_info context in
let do_branch branch stmt var_typ prune_nodes join_node pvar = let do_branch branch stmt var_typ prune_nodes join_node pvar =
let trans_state_pri = PriorityNode.force_claim_priority_node trans_state stmt_info in let trans_state_pri = PriorityNode.force_claim_priority_node trans_state stmt_info in
@ -1134,7 +1132,6 @@ struct
let (e', _) = extract_exp_from_list res_trans_b.exps let (e', _) = extract_exp_from_list res_trans_b.exps
"\nWARNING: Missing branch expression for Conditional operator. Need to be fixed\n" in "\nWARNING: Missing branch expression for Conditional operator. Need to be fixed\n" in
let set_temp_var = [ let set_temp_var = [
Sil.Declare_locals([(pvar, var_typ)], sil_loc);
Sil.Set (Sil.Lvar pvar, var_typ, e', sil_loc) Sil.Set (Sil.Lvar pvar, var_typ, e', sil_loc)
] in ] in
let tmp_var_res_trans = { empty_res_trans with instrs = set_temp_var } in let tmp_var_res_trans = { empty_res_trans with instrs = set_temp_var } in
@ -1153,7 +1150,8 @@ struct
let var_typ = add_reference_if_glvalue typ expr_info in let var_typ = add_reference_if_glvalue typ expr_info in
let join_node = create_node (Cfg.Node.Join_node) [] [] sil_loc context in let join_node = create_node (Cfg.Node.Join_node) [] [] sil_loc context in
Cfg.Node.set_succs_exn cfg join_node succ_nodes []; Cfg.Node.set_succs_exn cfg join_node succ_nodes [];
let pvar = mk_temp_var (Cfg.Node.get_id join_node :> int) in let pvar = mk_temp_sil_var procdesc "SIL_temp_conditional___" in
Cfg.Procdesc.append_locals procdesc [(Pvar.get_name pvar, var_typ)];
let continuation' = mk_cond_continuation trans_state.continuation in let continuation' = mk_cond_continuation trans_state.continuation in
let trans_state' = { trans_state with continuation = continuation'; succ_nodes = [] } in let trans_state' = { trans_state with continuation = continuation'; succ_nodes = [] } in
let res_trans_cond = exec_with_priority_exception trans_state' cond cond_trans in let res_trans_cond = exec_with_priority_exception trans_state' cond cond_trans in
@ -1161,10 +1159,7 @@ struct
do_branch true exp1 var_typ res_trans_cond.leaf_nodes join_node pvar; do_branch true exp1 var_typ res_trans_cond.leaf_nodes join_node pvar;
do_branch false exp2 var_typ res_trans_cond.leaf_nodes join_node pvar; do_branch false exp2 var_typ res_trans_cond.leaf_nodes join_node pvar;
let id = Ident.create_fresh Ident.knormal in let id = Ident.create_fresh Ident.knormal in
let instrs = [ let instrs = [Sil.Letderef (id, Sil.Lvar pvar, var_typ, sil_loc)] in
Sil.Letderef (id, Sil.Lvar pvar, var_typ, sil_loc);
Sil.Nullify (pvar, sil_loc, true)
] in
{ empty_res_trans with { empty_res_trans with
root_nodes = res_trans_cond.root_nodes; root_nodes = res_trans_cond.root_nodes;
leaf_nodes = [join_node]; leaf_nodes = [join_node];

@ -1,14 +1,14 @@
digraph iCFG { digraph iCFG {
48 [label="48: BinaryOperatorStmt: Assign \n n$23=*&SIL_temp_conditional___43:int [line 13]\n NULLIFY(&SIL_temp_conditional___43,true); [line 13]\n *&x1:int =(n$23 + 77) [line 13]\n REMOVE_TEMPS(n$23); [line 13]\n NULLIFY(&x1,false); [line 13]\n " shape="box"] 48 [label="48: BinaryOperatorStmt: Assign \n n$31=*&SIL_temp_conditional___n$28:int [line 13]\n *&x1:int =(n$31 + 77) [line 13]\n REMOVE_TEMPS(n$31); [line 13]\n NULLIFY(&SIL_temp_conditional___n$28,false); [line 13]\n NULLIFY(&x1,false); [line 13]\n " shape="box"]
48 -> 38 ; 48 -> 38 ;
48 -> 39 ; 48 -> 39 ;
47 [label="47: ConditinalStmt Branch \n n$22=*&z:int [line 13]\n DECLARE_LOCALS(&SIL_temp_conditional___43); [line 13]\n *&SIL_temp_conditional___43:int =n$22 [line 13]\n REMOVE_TEMPS(n$22); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 47 [label="47: ConditinalStmt Branch \n n$30=*&z:int [line 13]\n *&SIL_temp_conditional___n$28:int =n$30 [line 13]\n REMOVE_TEMPS(n$30); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
47 -> 43 ; 47 -> 43 ;
46 [label="46: ConditinalStmt Branch \n n$21=*&z:int [line 13]\n DECLARE_LOCALS(&SIL_temp_conditional___43); [line 13]\n *&SIL_temp_conditional___43:int =n$21 [line 13]\n REMOVE_TEMPS(n$21); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 46 [label="46: ConditinalStmt Branch \n n$29=*&z:int [line 13]\n *&SIL_temp_conditional___n$28:int =n$29 [line 13]\n REMOVE_TEMPS(n$29); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
46 -> 43 ; 46 -> 43 ;
@ -24,16 +24,16 @@ digraph iCFG {
43 -> 48 ; 43 -> 48 ;
42 [label="42: BinaryOperatorStmt: Assign \n n$20=*&SIL_temp_conditional___37:int [line 16]\n NULLIFY(&SIL_temp_conditional___37,true); [line 16]\n *&x2:int =(77 + n$20) [line 16]\n REMOVE_TEMPS(n$20); [line 16]\n NULLIFY(&x2,false); [line 16]\n " shape="box"] 42 [label="42: BinaryOperatorStmt: Assign \n n$27=*&SIL_temp_conditional___n$24:int [line 16]\n *&x2:int =(77 + n$27) [line 16]\n REMOVE_TEMPS(n$27); [line 16]\n NULLIFY(&SIL_temp_conditional___n$24,false); [line 16]\n NULLIFY(&x2,false); [line 16]\n " shape="box"]
42 -> 27 ; 42 -> 27 ;
42 -> 28 ; 42 -> 28 ;
41 [label="41: ConditinalStmt Branch \n n$19=*&z:int [line 16]\n DECLARE_LOCALS(&SIL_temp_conditional___37); [line 16]\n *&SIL_temp_conditional___37:int =n$19 [line 16]\n REMOVE_TEMPS(n$19); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 41 [label="41: ConditinalStmt Branch \n n$26=*&z:int [line 16]\n *&SIL_temp_conditional___n$24:int =n$26 [line 16]\n REMOVE_TEMPS(n$26); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
41 -> 37 ; 41 -> 37 ;
40 [label="40: ConditinalStmt Branch \n n$18=*&z:int [line 16]\n DECLARE_LOCALS(&SIL_temp_conditional___37); [line 16]\n *&SIL_temp_conditional___37:int =n$18 [line 16]\n REMOVE_TEMPS(n$18); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 40 [label="40: ConditinalStmt Branch \n n$25=*&z:int [line 16]\n *&SIL_temp_conditional___n$24:int =n$25 [line 16]\n REMOVE_TEMPS(n$25); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
40 -> 37 ; 40 -> 37 ;
@ -49,16 +49,16 @@ digraph iCFG {
37 -> 42 ; 37 -> 42 ;
36 [label="36: BinaryOperatorStmt: Assign \n n$14=*&SIL_temp_conditional___26:int [line 19]\n NULLIFY(&SIL_temp_conditional___26,true); [line 19]\n n$17=*&SIL_temp_conditional___31:int [line 19]\n NULLIFY(&SIL_temp_conditional___31,true); [line 19]\n *&x3:int =(n$14 + n$17) [line 19]\n REMOVE_TEMPS(n$14,n$17); [line 19]\n NULLIFY(&x3,false); [line 19]\n " shape="box"] 36 [label="36: BinaryOperatorStmt: Assign \n n$19=*&SIL_temp_conditional___n$16:int [line 19]\n n$23=*&SIL_temp_conditional___n$20:int [line 19]\n *&x3:int =(n$19 + n$23) [line 19]\n REMOVE_TEMPS(n$19,n$23); [line 19]\n NULLIFY(&SIL_temp_conditional___n$16,false); [line 19]\n NULLIFY(&SIL_temp_conditional___n$20,false); [line 19]\n NULLIFY(&x3,false); [line 19]\n " shape="box"]
36 -> 21 ; 36 -> 21 ;
36 -> 22 ; 36 -> 22 ;
35 [label="35: ConditinalStmt Branch \n n$16=*&z:int [line 19]\n DECLARE_LOCALS(&SIL_temp_conditional___31); [line 19]\n *&SIL_temp_conditional___31:int =n$16 [line 19]\n REMOVE_TEMPS(n$16); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 35 [label="35: ConditinalStmt Branch \n n$22=*&z:int [line 19]\n *&SIL_temp_conditional___n$20:int =n$22 [line 19]\n REMOVE_TEMPS(n$22); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
35 -> 31 ; 35 -> 31 ;
34 [label="34: ConditinalStmt Branch \n n$15=*&z:int [line 19]\n DECLARE_LOCALS(&SIL_temp_conditional___31); [line 19]\n *&SIL_temp_conditional___31:int =n$15 [line 19]\n REMOVE_TEMPS(n$15); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 34 [label="34: ConditinalStmt Branch \n n$21=*&z:int [line 19]\n *&SIL_temp_conditional___n$20:int =n$21 [line 19]\n REMOVE_TEMPS(n$21); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
34 -> 31 ; 34 -> 31 ;
@ -74,11 +74,11 @@ digraph iCFG {
31 -> 36 ; 31 -> 36 ;
30 [label="30: ConditinalStmt Branch \n n$13=*&z:int [line 19]\n DECLARE_LOCALS(&SIL_temp_conditional___26); [line 19]\n *&SIL_temp_conditional___26:int =n$13 [line 19]\n REMOVE_TEMPS(n$13); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 30 [label="30: ConditinalStmt Branch \n n$18=*&z:int [line 19]\n *&SIL_temp_conditional___n$16:int =n$18 [line 19]\n REMOVE_TEMPS(n$18); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
30 -> 26 ; 30 -> 26 ;
29 [label="29: ConditinalStmt Branch \n n$12=*&z:int [line 19]\n DECLARE_LOCALS(&SIL_temp_conditional___26); [line 19]\n *&SIL_temp_conditional___26:int =n$12 [line 19]\n REMOVE_TEMPS(n$12); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 29 [label="29: ConditinalStmt Branch \n n$17=*&z:int [line 19]\n *&SIL_temp_conditional___n$16:int =n$17 [line 19]\n REMOVE_TEMPS(n$17); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
29 -> 26 ; 29 -> 26 ;
@ -95,16 +95,16 @@ digraph iCFG {
26 -> 32 ; 26 -> 32 ;
26 -> 33 ; 26 -> 33 ;
25 [label="25: DeclStmt \n n$11=*&SIL_temp_conditional___20:int [line 22]\n NULLIFY(&SIL_temp_conditional___20,true); [line 22]\n *&y1:int =(n$11 + 77) [line 22]\n REMOVE_TEMPS(n$11); [line 22]\n NULLIFY(&y1,false); [line 22]\n " shape="box"] 25 [label="25: DeclStmt \n n$15=*&SIL_temp_conditional___n$12:int [line 22]\n *&y1:int =(n$15 + 77) [line 22]\n REMOVE_TEMPS(n$15); [line 22]\n NULLIFY(&SIL_temp_conditional___n$12,false); [line 22]\n NULLIFY(&y1,false); [line 22]\n " shape="box"]
25 -> 15 ; 25 -> 15 ;
25 -> 16 ; 25 -> 16 ;
24 [label="24: ConditinalStmt Branch \n n$10=*&z:int [line 22]\n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 22]\n *&SIL_temp_conditional___20:int =n$10 [line 22]\n REMOVE_TEMPS(n$10); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 24 [label="24: ConditinalStmt Branch \n n$14=*&z:int [line 22]\n *&SIL_temp_conditional___n$12:int =n$14 [line 22]\n REMOVE_TEMPS(n$14); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
24 -> 20 ; 24 -> 20 ;
23 [label="23: ConditinalStmt Branch \n n$9=*&z:int [line 22]\n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 22]\n *&SIL_temp_conditional___20:int =n$9 [line 22]\n REMOVE_TEMPS(n$9); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 23 [label="23: ConditinalStmt Branch \n n$13=*&z:int [line 22]\n *&SIL_temp_conditional___n$12:int =n$13 [line 22]\n REMOVE_TEMPS(n$13); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
23 -> 20 ; 23 -> 20 ;
@ -120,16 +120,16 @@ digraph iCFG {
20 -> 25 ; 20 -> 25 ;
19 [label="19: DeclStmt \n n$8=*&SIL_temp_conditional___14:int [line 24]\n NULLIFY(&SIL_temp_conditional___14,true); [line 24]\n *&y2:int =(77 + n$8) [line 24]\n REMOVE_TEMPS(n$8); [line 24]\n NULLIFY(&y2,false); [line 24]\n " shape="box"] 19 [label="19: DeclStmt \n n$11=*&SIL_temp_conditional___n$8:int [line 24]\n *&y2:int =(77 + n$11) [line 24]\n REMOVE_TEMPS(n$11); [line 24]\n NULLIFY(&SIL_temp_conditional___n$8,false); [line 24]\n NULLIFY(&y2,false); [line 24]\n " shape="box"]
19 -> 4 ; 19 -> 4 ;
19 -> 5 ; 19 -> 5 ;
18 [label="18: ConditinalStmt Branch \n n$7=*&z:int [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___14); [line 24]\n *&SIL_temp_conditional___14:int =n$7 [line 24]\n REMOVE_TEMPS(n$7); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 18 [label="18: ConditinalStmt Branch \n n$10=*&z:int [line 24]\n *&SIL_temp_conditional___n$8:int =n$10 [line 24]\n REMOVE_TEMPS(n$10); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
18 -> 14 ; 18 -> 14 ;
17 [label="17: ConditinalStmt Branch \n n$6=*&z:int [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___14); [line 24]\n *&SIL_temp_conditional___14:int =n$6 [line 24]\n REMOVE_TEMPS(n$6); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 17 [label="17: ConditinalStmt Branch \n n$9=*&z:int [line 24]\n *&SIL_temp_conditional___n$8:int =n$9 [line 24]\n REMOVE_TEMPS(n$9); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
17 -> 14 ; 17 -> 14 ;
@ -145,15 +145,15 @@ digraph iCFG {
14 -> 19 ; 14 -> 19 ;
13 [label="13: DeclStmt \n n$2=*&SIL_temp_conditional___3:int [line 26]\n NULLIFY(&SIL_temp_conditional___3,true); [line 26]\n n$5=*&SIL_temp_conditional___8:int [line 26]\n NULLIFY(&SIL_temp_conditional___8,true); [line 26]\n *&y3:int =(n$2 + n$5) [line 26]\n REMOVE_TEMPS(n$2,n$5); [line 26]\n NULLIFY(&y3,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 13 [label="13: DeclStmt \n n$3=*&SIL_temp_conditional___n$0:int [line 26]\n n$7=*&SIL_temp_conditional___n$4:int [line 26]\n *&y3:int =(n$3 + n$7) [line 26]\n REMOVE_TEMPS(n$3,n$7); [line 26]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 26]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 26]\n NULLIFY(&y3,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
13 -> 2 ; 13 -> 2 ;
12 [label="12: ConditinalStmt Branch \n n$4=*&z:int [line 26]\n DECLARE_LOCALS(&SIL_temp_conditional___8); [line 26]\n *&SIL_temp_conditional___8:int =n$4 [line 26]\n REMOVE_TEMPS(n$4); [line 26]\n NULLIFY(&z,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 12 [label="12: ConditinalStmt Branch \n n$6=*&z:int [line 26]\n *&SIL_temp_conditional___n$4:int =n$6 [line 26]\n REMOVE_TEMPS(n$6); [line 26]\n NULLIFY(&z,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
12 -> 8 ; 12 -> 8 ;
11 [label="11: ConditinalStmt Branch \n n$3=*&z:int [line 26]\n DECLARE_LOCALS(&SIL_temp_conditional___8); [line 26]\n *&SIL_temp_conditional___8:int =n$3 [line 26]\n REMOVE_TEMPS(n$3); [line 26]\n NULLIFY(&z,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 11 [label="11: ConditinalStmt Branch \n n$5=*&z:int [line 26]\n *&SIL_temp_conditional___n$4:int =n$5 [line 26]\n REMOVE_TEMPS(n$5); [line 26]\n NULLIFY(&z,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
11 -> 8 ; 11 -> 8 ;
@ -169,11 +169,11 @@ digraph iCFG {
8 -> 13 ; 8 -> 13 ;
7 [label="7: ConditinalStmt Branch \n n$1=*&z:int [line 26]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 26]\n *&SIL_temp_conditional___3:int =n$1 [line 26]\n REMOVE_TEMPS(n$1); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 7 [label="7: ConditinalStmt Branch \n n$2=*&z:int [line 26]\n *&SIL_temp_conditional___n$0:int =n$2 [line 26]\n REMOVE_TEMPS(n$2); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
6 [label="6: ConditinalStmt Branch \n n$0=*&z:int [line 26]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 26]\n *&SIL_temp_conditional___3:int =n$0 [line 26]\n REMOVE_TEMPS(n$0); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 6 [label="6: ConditinalStmt Branch \n n$1=*&z:int [line 26]\n *&SIL_temp_conditional___n$0:int =n$1 [line 26]\n REMOVE_TEMPS(n$1); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
6 -> 3 ; 6 -> 3 ;
@ -193,7 +193,7 @@ digraph iCFG {
2 [label="2: Exit binop_with_side_effects \n " color=yellow style=filled] 2 [label="2: Exit binop_with_side_effects \n " color=yellow style=filled]
1 [label="1: Start binop_with_side_effects\nFormals: z:int \nLocals: y3:int y2:int y1:int x3:int x2:int x1:int \n DECLARE_LOCALS(&return,&y3,&y2,&y1,&x3,&x2,&x1); [line 10]\n NULLIFY(&x1,false); [line 10]\n NULLIFY(&x2,false); [line 10]\n NULLIFY(&x3,false); [line 10]\n NULLIFY(&y1,false); [line 10]\n NULLIFY(&y2,false); [line 10]\n NULLIFY(&y3,false); [line 10]\n " color=yellow style=filled] 1 [label="1: Start binop_with_side_effects\nFormals: z:int \nLocals: y3:int SIL_temp_conditional___n$0:int SIL_temp_conditional___n$4:int y2:int SIL_temp_conditional___n$8:int y1:int SIL_temp_conditional___n$12:int SIL_temp_conditional___n$16:int SIL_temp_conditional___n$20:int x3:int SIL_temp_conditional___n$24:int x2:int SIL_temp_conditional___n$28:int x1:int \n DECLARE_LOCALS(&return,&y3,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$4,&y2,&SIL_temp_conditional___n$8,&y1,&SIL_temp_conditional___n$12,&SIL_temp_conditional___n$16,&SIL_temp_conditional___n$20,&x3,&SIL_temp_conditional___n$24,&x2,&SIL_temp_conditional___n$28,&x1); [line 10]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$12,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$16,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$20,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$24,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$28,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$8,false); [line 10]\n NULLIFY(&x1,false); [line 10]\n NULLIFY(&x2,false); [line 10]\n NULLIFY(&x3,false); [line 10]\n NULLIFY(&y1,false); [line 10]\n NULLIFY(&y2,false); [line 10]\n NULLIFY(&y3,false); [line 10]\n " color=yellow style=filled]
1 -> 44 ; 1 -> 44 ;

@ -1,26 +1,26 @@
digraph iCFG { digraph iCFG {
58 [label="58: BinaryOperatorStmt: Assign \n n$6=*&SIL_temp_conditional___52:int [line 23]\n NULLIFY(&SIL_temp_conditional___52,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"] 58 [label="58: BinaryOperatorStmt: Assign \n n$9=*&SIL_temp_conditional___n$5:int [line 23]\n *&y:int =n$9 [line 23]\n REMOVE_TEMPS(n$9); [line 23]\n NULLIFY(&SIL_temp_conditional___n$5,false); [line 23]\n NULLIFY(&y,false); [line 23]\n " shape="box"]
58 -> 42 ; 58 -> 42 ;
58 -> 43 ; 58 -> 43 ;
57 [label="57: ConditinalStmt Branch \n n$5=*&x:int [line 23]\n *&x:int =(n$5 - 1) [line 23]\n DECLARE_LOCALS(&SIL_temp_conditional___52); [line 23]\n *&SIL_temp_conditional___52: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"] 57 [label="57: ConditinalStmt Branch \n n$8=*&x:int [line 23]\n *&x:int =(n$8 - 1) [line 23]\n *&SIL_temp_conditional___n$5:int =n$8 [line 23]\n REMOVE_TEMPS(n$8); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
57 -> 52 ; 57 -> 52 ;
56 [label="56: ConditinalStmt Branch \n n$4=*&x:int [line 23]\n *&x:int =(n$4 + 1) [line 23]\n DECLARE_LOCALS(&SIL_temp_conditional___52); [line 23]\n *&SIL_temp_conditional___52: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"] 56 [label="56: ConditinalStmt Branch \n n$7=*&x:int [line 23]\n *&x:int =(n$7 + 1) [line 23]\n *&SIL_temp_conditional___n$5:int =(n$7 + 1) [line 23]\n REMOVE_TEMPS(n$7); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
56 -> 52 ; 56 -> 52 ;
55 [label="55: Prune (false branch) \n PRUNE(((n$3 > 1) == 0), false); [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n " shape="invhouse"] 55 [label="55: Prune (false branch) \n PRUNE(((n$6 > 1) == 0), false); [line 23]\n REMOVE_TEMPS(n$6); [line 23]\n " shape="invhouse"]
55 -> 57 ; 55 -> 57 ;
54 [label="54: Prune (true branch) \n PRUNE(((n$3 > 1) != 0), true); [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n " shape="invhouse"] 54 [label="54: Prune (true branch) \n PRUNE(((n$6 > 1) != 0), true); [line 23]\n REMOVE_TEMPS(n$6); [line 23]\n " shape="invhouse"]
54 -> 56 ; 54 -> 56 ;
53 [label="53: BinaryOperatorStmt: GT \n *&x:int =1 [line 23]\n n$3=*&x:int [line 23]\n " shape="box"] 53 [label="53: BinaryOperatorStmt: GT \n *&x:int =1 [line 23]\n n$6=*&x:int [line 23]\n " shape="box"]
53 -> 54 ; 53 -> 54 ;
@ -29,36 +29,36 @@ digraph iCFG {
52 -> 58 ; 52 -> 58 ;
51 [label="51: 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"] 51 [label="51: Return Stmt \n n$4=*&SIL_temp_conditional___n$0:int [line 24]\n *&return:int =(0 + n$4) [line 24]\n REMOVE_TEMPS(n$4); [line 24]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
51 -> 39 ; 51 -> 39 ;
50 [label="50: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___40); [line 24]\n *&SIL_temp_conditional___40:int =0 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 50 [label="50: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
50 -> 40 ; 50 -> 40 ;
49 [label="49: ConditinalStmt Branch \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 [label="49: ConditinalStmt Branch \n *&x:int =1 [line 24]\n n$3=*&x:int [line 24]\n *&SIL_temp_conditional___n$0:int =n$3 [line 24]\n REMOVE_TEMPS(n$3); [line 24]\n NULLIFY(&x,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
49 -> 40 ; 49 -> 40 ;
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 [label="48: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n " shape="invhouse"]
48 -> 50 ; 48 -> 50 ;
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 [label="47: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n " shape="invhouse"]
47 -> 49 ; 47 -> 49 ;
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 [label="46: BinaryOperatorStmt: GT \n n$2=*&SIL_temp_conditional___n$1:int [line 24]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 24]\n " shape="box"]
46 -> 47 ; 46 -> 47 ;
46 -> 48 ; 46 -> 48 ;
45 [label="45: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___41); [line 24]\n *&SIL_temp_conditional___41:int =2 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 45 [label="45: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =2 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
45 -> 41 ; 45 -> 41 ;
44 [label="44: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___41); [line 24]\n *&SIL_temp_conditional___41:int =1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 44 [label="44: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
44 -> 41 ; 44 -> 41 ;
@ -81,7 +81,7 @@ digraph iCFG {
39 [label="39: Exit bar \n " color=yellow style=filled] 39 [label="39: Exit bar \n " color=yellow style=filled]
38 [label="38: Start bar\nFormals: \nLocals: y:int x:int \n DECLARE_LOCALS(&return,&y,&x); [line 21]\n NULLIFY(&x,false); [line 21]\n NULLIFY(&y,false); [line 21]\n " color=yellow style=filled] 38 [label="38: Start bar\nFormals: \nLocals: SIL_temp_conditional___n$0:int SIL_temp_conditional___n$1:int SIL_temp_conditional___n$5:int y:int x:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$1,&SIL_temp_conditional___n$5,&y,&x); [line 21]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 21]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 21]\n NULLIFY(&SIL_temp_conditional___n$5,false); [line 21]\n NULLIFY(&x,false); [line 21]\n NULLIFY(&y,false); [line 21]\n " color=yellow style=filled]
38 -> 53 ; 38 -> 53 ;
@ -94,15 +94,15 @@ digraph iCFG {
36 -> 30 ; 36 -> 30 ;
35 [label="35: Prune (false branch) \n PRUNE(((7 < n$6) == 0), false); [line 12]\n REMOVE_TEMPS(n$6); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"] 35 [label="35: Prune (false branch) \n PRUNE(((7 < n$10) == 0), false); [line 12]\n REMOVE_TEMPS(n$10); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"]
35 -> 30 ; 35 -> 30 ;
34 [label="34: Prune (true branch) \n PRUNE(((7 < n$6) != 0), true); [line 12]\n REMOVE_TEMPS(n$6); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"] 34 [label="34: Prune (true branch) \n PRUNE(((7 < n$10) != 0), true); [line 12]\n REMOVE_TEMPS(n$10); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"]
34 -> 36 ; 34 -> 36 ;
33 [label="33: BinaryOperatorStmt: LT \n n$6=*&x:int [line 12]\n *&x:int =(n$6 + 1) [line 12]\n " shape="box"] 33 [label="33: BinaryOperatorStmt: LT \n n$10=*&x:int [line 12]\n *&x:int =(n$10 + 1) [line 12]\n " shape="box"]
33 -> 34 ; 33 -> 34 ;
@ -124,28 +124,28 @@ digraph iCFG {
29 -> 21 ; 29 -> 21 ;
29 -> 22 ; 29 -> 22 ;
28 [label="28: DeclStmt \n n$5=*&SIL_temp_conditional___20:int [line 16]\n NULLIFY(&SIL_temp_conditional___20,true); [line 16]\n *&n:int =n$5 [line 16]\n REMOVE_TEMPS(n$5); [line 16]\n NULLIFY(&n,false); [line 16]\n " shape="box"] 28 [label="28: DeclStmt \n n$9=*&SIL_temp_conditional___n$6:int [line 16]\n *&n:int =n$9 [line 16]\n REMOVE_TEMPS(n$9); [line 16]\n NULLIFY(&SIL_temp_conditional___n$6,false); [line 16]\n NULLIFY(&n,false); [line 16]\n " shape="box"]
28 -> 10 ; 28 -> 10 ;
28 -> 11 ; 28 -> 11 ;
27 [label="27: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 16]\n *&SIL_temp_conditional___20:int =2 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 27 [label="27: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =2 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
27 -> 20 ; 27 -> 20 ;
26 [label="26: ConditinalStmt Branch \n NULLIFY(&x,false); [line 16]\n NULLIFY(&y,false); [line 16]\n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 16]\n *&SIL_temp_conditional___20:int =1 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 26 [label="26: ConditinalStmt Branch \n NULLIFY(&x,false); [line 16]\n NULLIFY(&y,false); [line 16]\n *&SIL_temp_conditional___n$6:int =1 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
26 -> 20 ; 26 -> 20 ;
25 [label="25: Prune (false branch) \n PRUNE(((7 < (n$3 - n$4)) == 0), false); [line 16]\n REMOVE_TEMPS(n$3,n$4); [line 16]\n " shape="invhouse"] 25 [label="25: Prune (false branch) \n PRUNE(((7 < (n$7 - n$8)) == 0), false); [line 16]\n REMOVE_TEMPS(n$7,n$8); [line 16]\n " shape="invhouse"]
25 -> 27 ; 25 -> 27 ;
24 [label="24: Prune (true branch) \n PRUNE(((7 < (n$3 - n$4)) != 0), true); [line 16]\n REMOVE_TEMPS(n$3,n$4); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="invhouse"] 24 [label="24: Prune (true branch) \n PRUNE(((7 < (n$7 - n$8)) != 0), true); [line 16]\n REMOVE_TEMPS(n$7,n$8); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="invhouse"]
24 -> 26 ; 24 -> 26 ;
23 [label="23: BinaryOperatorStmt: LT \n n$3=*&x:int [line 16]\n *&x:int =(n$3 + 1) [line 16]\n n$4=*&y:int [line 16]\n NULLIFY(&x,false); [line 16]\n NULLIFY(&y,false); [line 16]\n " shape="box"] 23 [label="23: BinaryOperatorStmt: LT \n n$7=*&x:int [line 16]\n *&x:int =(n$7 + 1) [line 16]\n n$8=*&y:int [line 16]\n NULLIFY(&x,false); [line 16]\n NULLIFY(&y,false); [line 16]\n " shape="box"]
23 -> 24 ; 23 -> 24 ;
@ -162,20 +162,20 @@ digraph iCFG {
20 -> 28 ; 20 -> 28 ;
19 [label="19: BinaryOperatorStmt: Assign \n n$2=*&SIL_temp_conditional___9:int [line 17]\n NULLIFY(&SIL_temp_conditional___9,true); [line 17]\n *&n:int =n$2 [line 17]\n REMOVE_TEMPS(n$2); [line 17]\n NULLIFY(&n,false); [line 17]\n " shape="box"] 19 [label="19: BinaryOperatorStmt: Assign \n n$5=*&SIL_temp_conditional___n$2:int [line 17]\n *&n:int =n$5 [line 17]\n REMOVE_TEMPS(n$5); [line 17]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 17]\n NULLIFY(&n,false); [line 17]\n " shape="box"]
19 -> 4 ; 19 -> 4 ;
19 -> 5 ; 19 -> 5 ;
18 [label="18: ConditinalStmt Branch \n n$1=*&SIL_temp_conditional___13:int [line 17]\n NULLIFY(&SIL_temp_conditional___13,true); [line 17]\n DECLARE_LOCALS(&SIL_temp_conditional___9); [line 17]\n *&SIL_temp_conditional___9:int =n$1 [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 18 [label="18: ConditinalStmt Branch \n n$4=*&SIL_temp_conditional___n$3:int [line 17]\n *&SIL_temp_conditional___n$2:int =n$4 [line 17]\n REMOVE_TEMPS(n$4); [line 17]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
18 -> 9 ; 18 -> 9 ;
17 [label="17: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___13); [line 17]\n *&SIL_temp_conditional___13:int =2 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 17 [label="17: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =2 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
17 -> 13 ; 17 -> 13 ;
16 [label="16: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___13); [line 17]\n *&SIL_temp_conditional___13:int =1 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 16 [label="16: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
16 -> 13 ; 16 -> 13 ;
@ -191,7 +191,7 @@ digraph iCFG {
13 -> 18 ; 13 -> 18 ;
12 [label="12: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___9); [line 17]\n *&SIL_temp_conditional___9:int =1 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 12 [label="12: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
12 -> 9 ; 12 -> 9 ;
@ -208,15 +208,15 @@ digraph iCFG {
9 -> 19 ; 9 -> 19 ;
8 [label="8: Return Stmt \n n$0=*&SIL_temp_conditional___3:int [line 18]\n NULLIFY(&SIL_temp_conditional___3,true); [line 18]\n *&return:int =(0 + n$0) [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 8 [label="8: Return Stmt \n n$1=*&SIL_temp_conditional___n$0:int [line 18]\n *&return:int =(0 + n$1) [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
8 -> 2 ; 8 -> 2 ;
7 [label="7: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 18]\n *&SIL_temp_conditional___3:int =0 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 7 [label="7: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
6 [label="6: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 18]\n *&SIL_temp_conditional___3:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 6 [label="6: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 -> 3 ; 6 -> 3 ;
@ -235,7 +235,7 @@ digraph iCFG {
2 [label="2: Exit foo \n " color=yellow style=filled] 2 [label="2: Exit foo \n " color=yellow style=filled]
1 [label="1: Start foo\nFormals: \nLocals: n:int y:int x:int \n DECLARE_LOCALS(&return,&n,&y,&x); [line 10]\n NULLIFY(&n,false); [line 10]\n NULLIFY(&x,false); [line 10]\n NULLIFY(&y,false); [line 10]\n " color=yellow style=filled] 1 [label="1: Start foo\nFormals: \nLocals: SIL_temp_conditional___n$0:int SIL_temp_conditional___n$2:int SIL_temp_conditional___n$3:int n:int SIL_temp_conditional___n$6:int y:int x:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$2,&SIL_temp_conditional___n$3,&n,&SIL_temp_conditional___n$6,&y,&x); [line 10]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$6,false); [line 10]\n NULLIFY(&n,false); [line 10]\n NULLIFY(&x,false); [line 10]\n NULLIFY(&y,false); [line 10]\n " color=yellow style=filled]
1 -> 37 ; 1 -> 37 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
66 [label="66: Return Stmt \n n$2=*&SIL_temp_conditional___60:int [line 35]\n NULLIFY(&SIL_temp_conditional___60,true); [line 35]\n *&return:int =n$2 [line 35]\n REMOVE_TEMPS(n$2,n$0,n$1); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"] 66 [label="66: Return Stmt \n n$3=*&SIL_temp_conditional___n$2:int [line 35]\n *&return:int =n$3 [line 35]\n REMOVE_TEMPS(n$3,n$0,n$1); [line 35]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
66 -> 59 ; 66 -> 59 ;
@ -8,11 +8,11 @@ digraph iCFG {
65 -> 61 ; 65 -> 61 ;
65 -> 62 ; 65 -> 62 ;
64 [label="64: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___60); [line 35]\n *&SIL_temp_conditional___60:int =2 [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"] 64 [label="64: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =2 [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
64 -> 60 ; 64 -> 60 ;
63 [label="63: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___60); [line 35]\n *&SIL_temp_conditional___60:int =n$1 [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"] 63 [label="63: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =n$1 [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
63 -> 60 ; 63 -> 60 ;
@ -31,19 +31,19 @@ digraph iCFG {
59 [label="59: Exit test7 \n " color=yellow style=filled] 59 [label="59: Exit test7 \n " color=yellow style=filled]
58 [label="58: Start test7\nFormals: b:int \nLocals: \n DECLARE_LOCALS(&return); [line 35]\n NULLIFY(&b,false); [line 35]\n " color=yellow style=filled] 58 [label="58: Start test7\nFormals: b:int \nLocals: SIL_temp_conditional___n$2:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$2); [line 35]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 35]\n NULLIFY(&b,false); [line 35]\n " color=yellow style=filled]
58 -> 65 ; 58 -> 65 ;
57 [label="57: DeclStmt \n n$3=*&SIL_temp_conditional___52:int [line 31]\n NULLIFY(&SIL_temp_conditional___52,true); [line 31]\n *&z:int =n$3 [line 31]\n REMOVE_TEMPS(n$3); [line 31]\n " shape="box"] 57 [label="57: DeclStmt \n n$4=*&SIL_temp_conditional___n$1:int [line 31]\n *&z:int =n$4 [line 31]\n REMOVE_TEMPS(n$4); [line 31]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 31]\n " shape="box"]
57 -> 51 ; 57 -> 51 ;
56 [label="56: ConditinalStmt Branch \n NULLIFY(&p,false); [line 31]\n DECLARE_LOCALS(&SIL_temp_conditional___52); [line 31]\n *&SIL_temp_conditional___52:int =0 [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"] 56 [label="56: ConditinalStmt Branch \n NULLIFY(&p,false); [line 31]\n *&SIL_temp_conditional___n$1:int =0 [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
56 -> 52 ; 56 -> 52 ;
55 [label="55: ConditinalStmt Branch \n n$1=*&p:int * [line 31]\n n$2=*n$1:int [line 31]\n DECLARE_LOCALS(&SIL_temp_conditional___52); [line 31]\n *&SIL_temp_conditional___52:int =n$2 [line 31]\n REMOVE_TEMPS(n$1,n$2); [line 31]\n NULLIFY(&p,false); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"] 55 [label="55: ConditinalStmt Branch \n n$2=*&p:int * [line 31]\n n$3=*n$2:int [line 31]\n *&SIL_temp_conditional___n$1:int =n$3 [line 31]\n REMOVE_TEMPS(n$2,n$3); [line 31]\n NULLIFY(&p,false); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
55 -> 52 ; 55 -> 52 ;
@ -66,12 +66,12 @@ digraph iCFG {
50 [label="50: Exit test6 \n " color=yellow style=filled] 50 [label="50: Exit test6 \n " color=yellow style=filled]
49 [label="49: Start test6\nFormals: p:int *\nLocals: z:int \n DECLARE_LOCALS(&return,&z); [line 30]\n NULLIFY(&z,false); [line 30]\n " color=yellow style=filled] 49 [label="49: Start test6\nFormals: p:int *\nLocals: z:int SIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&z,&SIL_temp_conditional___n$1); [line 30]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 30]\n NULLIFY(&z,false); [line 30]\n " color=yellow style=filled]
49 -> 53 ; 49 -> 53 ;
49 -> 54 ; 49 -> 54 ;
48 [label="48: Return Stmt \n n$1=*&SIL_temp_conditional___42:int [line 28]\n NULLIFY(&SIL_temp_conditional___42,true); [line 28]\n *&return:int =n$1 [line 28]\n REMOVE_TEMPS(n$1,n$0); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"] 48 [label="48: Return Stmt \n n$2=*&SIL_temp_conditional___n$1:int [line 28]\n *&return:int =n$2 [line 28]\n REMOVE_TEMPS(n$2,n$0); [line 28]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
48 -> 41 ; 48 -> 41 ;
@ -80,11 +80,11 @@ digraph iCFG {
47 -> 43 ; 47 -> 43 ;
47 -> 44 ; 47 -> 44 ;
46 [label="46: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___42); [line 28]\n *&SIL_temp_conditional___42:int =1 [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"] 46 [label="46: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
46 -> 42 ; 46 -> 42 ;
45 [label="45: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___42); [line 28]\n *&SIL_temp_conditional___42:int =n$0 [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"] 45 [label="45: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =n$0 [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
45 -> 42 ; 45 -> 42 ;
@ -103,11 +103,11 @@ digraph iCFG {
41 [label="41: Exit test5 \n " color=yellow style=filled] 41 [label="41: Exit test5 \n " color=yellow style=filled]
40 [label="40: Start test5\nFormals: b:int \nLocals: \n DECLARE_LOCALS(&return); [line 28]\n " color=yellow style=filled] 40 [label="40: Start test5\nFormals: b:int \nLocals: SIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$1); [line 28]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 28]\n " color=yellow style=filled]
40 -> 47 ; 40 -> 47 ;
39 [label="39: Return Stmt \n n$1=*&SIL_temp_conditional___33:int [line 26]\n NULLIFY(&SIL_temp_conditional___33,true); [line 26]\n n$2=_fun_test2(n$1:int ) [line 26]\n *&return:int =n$2 [line 26]\n REMOVE_TEMPS(n$1,n$0,n$2); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 39 [label="39: Return Stmt \n n$2=*&SIL_temp_conditional___n$1:int [line 26]\n n$3=_fun_test2(n$2:int ) [line 26]\n *&return:int =n$3 [line 26]\n REMOVE_TEMPS(n$2,n$0,n$3); [line 26]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
39 -> 32 ; 39 -> 32 ;
@ -116,11 +116,11 @@ digraph iCFG {
38 -> 34 ; 38 -> 34 ;
38 -> 35 ; 38 -> 35 ;
37 [label="37: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___33); [line 26]\n *&SIL_temp_conditional___33:int =1 [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 37 [label="37: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
37 -> 33 ; 37 -> 33 ;
36 [label="36: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___33); [line 26]\n *&SIL_temp_conditional___33:int =n$0 [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 36 [label="36: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =n$0 [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
36 -> 33 ; 36 -> 33 ;
@ -139,11 +139,11 @@ digraph iCFG {
32 [label="32: Exit test4 \n " color=yellow style=filled] 32 [label="32: Exit test4 \n " color=yellow style=filled]
31 [label="31: Start test4\nFormals: b:int \nLocals: \n DECLARE_LOCALS(&return); [line 26]\n " color=yellow style=filled] 31 [label="31: Start test4\nFormals: b:int \nLocals: SIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$1); [line 26]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 26]\n " color=yellow style=filled]
31 -> 38 ; 31 -> 38 ;
30 [label="30: DeclStmt \n n$2=*&SIL_temp_conditional___24:int [line 22]\n NULLIFY(&SIL_temp_conditional___24,true); [line 22]\n *&x:int =n$2 [line 22]\n REMOVE_TEMPS(n$2,n$1); [line 22]\n " shape="box"] 30 [label="30: DeclStmt \n n$3=*&SIL_temp_conditional___n$2:int [line 22]\n *&x:int =n$3 [line 22]\n REMOVE_TEMPS(n$3,n$1); [line 22]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 22]\n " shape="box"]
30 -> 23 ; 30 -> 23 ;
@ -152,11 +152,11 @@ digraph iCFG {
29 -> 25 ; 29 -> 25 ;
29 -> 26 ; 29 -> 26 ;
28 [label="28: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___24); [line 22]\n *&SIL_temp_conditional___24:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 28 [label="28: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
28 -> 24 ; 28 -> 24 ;
27 [label="27: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___24); [line 22]\n *&SIL_temp_conditional___24:int =n$1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 27 [label="27: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =n$1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
27 -> 24 ; 27 -> 24 ;
@ -179,27 +179,27 @@ digraph iCFG {
22 [label="22: Exit test3 \n " color=yellow style=filled] 22 [label="22: Exit test3 \n " color=yellow style=filled]
21 [label="21: Start test3\nFormals: b:int \nLocals: x:int \n DECLARE_LOCALS(&return,&x); [line 21]\n NULLIFY(&x,false); [line 21]\n " color=yellow style=filled] 21 [label="21: Start test3\nFormals: b:int \nLocals: x:int SIL_temp_conditional___n$2:int \n DECLARE_LOCALS(&return,&x,&SIL_temp_conditional___n$2); [line 21]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 21]\n NULLIFY(&x,false); [line 21]\n " color=yellow style=filled]
21 -> 29 ; 21 -> 29 ;
20 [label="20: DeclStmt \n n$3=*&SIL_temp_conditional___15:int [line 17]\n NULLIFY(&SIL_temp_conditional___15,true); [line 17]\n *&x:int =n$3 [line 17]\n REMOVE_TEMPS(n$3); [line 17]\n " shape="box"] 20 [label="20: DeclStmt \n n$4=*&SIL_temp_conditional___n$1:int [line 17]\n *&x:int =n$4 [line 17]\n REMOVE_TEMPS(n$4); [line 17]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 17]\n " shape="box"]
20 -> 14 ; 20 -> 14 ;
19 [label="19: ConditinalStmt Branch \n NULLIFY(&b,false); [line 17]\n DECLARE_LOCALS(&SIL_temp_conditional___15); [line 17]\n *&SIL_temp_conditional___15:int =1 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 19 [label="19: ConditinalStmt Branch \n NULLIFY(&b,false); [line 17]\n *&SIL_temp_conditional___n$1:int =1 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
19 -> 15 ; 19 -> 15 ;
18 [label="18: ConditinalStmt Branch \n n$2=*&b:int [line 17]\n DECLARE_LOCALS(&SIL_temp_conditional___15); [line 17]\n *&SIL_temp_conditional___15:int =n$2 [line 17]\n REMOVE_TEMPS(n$2); [line 17]\n NULLIFY(&b,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 18 [label="18: ConditinalStmt Branch \n n$3=*&b:int [line 17]\n *&SIL_temp_conditional___n$1:int =n$3 [line 17]\n REMOVE_TEMPS(n$3); [line 17]\n NULLIFY(&b,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
18 -> 15 ; 18 -> 15 ;
17 [label="17: Prune (false branch) \n n$1=*&b:int [line 17]\n PRUNE((n$1 == 0), false); [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n " shape="invhouse"] 17 [label="17: Prune (false branch) \n n$2=*&b:int [line 17]\n PRUNE((n$2 == 0), false); [line 17]\n REMOVE_TEMPS(n$2); [line 17]\n " shape="invhouse"]
17 -> 19 ; 17 -> 19 ;
16 [label="16: Prune (true branch) \n n$1=*&b:int [line 17]\n PRUNE((n$1 != 0), true); [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n " shape="invhouse"] 16 [label="16: Prune (true branch) \n n$2=*&b:int [line 17]\n PRUNE((n$2 != 0), true); [line 17]\n REMOVE_TEMPS(n$2); [line 17]\n " shape="invhouse"]
16 -> 18 ; 16 -> 18 ;
@ -214,28 +214,28 @@ digraph iCFG {
13 [label="13: Exit test1 \n " color=yellow style=filled] 13 [label="13: Exit test1 \n " color=yellow style=filled]
12 [label="12: Start test1\nFormals: b:int \nLocals: x:int \n DECLARE_LOCALS(&return,&x); [line 16]\n NULLIFY(&x,false); [line 16]\n " color=yellow style=filled] 12 [label="12: Start test1\nFormals: b:int \nLocals: x:int SIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&x,&SIL_temp_conditional___n$1); [line 16]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 16]\n NULLIFY(&x,false); [line 16]\n " color=yellow style=filled]
12 -> 16 ; 12 -> 16 ;
12 -> 17 ; 12 -> 17 ;
11 [label="11: Return Stmt \n n$2=*&SIL_temp_conditional___6:int [line 14]\n NULLIFY(&SIL_temp_conditional___6,true); [line 14]\n n$3=_fun_test2(n$2:int ) [line 14]\n *&return:int =n$3 [line 14]\n REMOVE_TEMPS(n$2,n$3); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 11 [label="11: Return Stmt \n n$3=*&SIL_temp_conditional___n$0:int [line 14]\n n$4=_fun_test2(n$3:int ) [line 14]\n *&return:int =n$4 [line 14]\n REMOVE_TEMPS(n$3,n$4); [line 14]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
11 -> 5 ; 11 -> 5 ;
10 [label="10: ConditinalStmt Branch \n NULLIFY(&b,false); [line 14]\n DECLARE_LOCALS(&SIL_temp_conditional___6); [line 14]\n *&SIL_temp_conditional___6:int =1 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 10 [label="10: ConditinalStmt Branch \n NULLIFY(&b,false); [line 14]\n *&SIL_temp_conditional___n$0:int =1 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
10 -> 6 ; 10 -> 6 ;
9 [label="9: ConditinalStmt Branch \n n$1=*&b:int [line 14]\n DECLARE_LOCALS(&SIL_temp_conditional___6); [line 14]\n *&SIL_temp_conditional___6:int =n$1 [line 14]\n REMOVE_TEMPS(n$1); [line 14]\n NULLIFY(&b,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 9 [label="9: ConditinalStmt Branch \n n$2=*&b:int [line 14]\n *&SIL_temp_conditional___n$0:int =n$2 [line 14]\n REMOVE_TEMPS(n$2); [line 14]\n NULLIFY(&b,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
9 -> 6 ; 9 -> 6 ;
8 [label="8: Prune (false branch) \n n$0=*&b:int [line 14]\n PRUNE((n$0 == 0), false); [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n " shape="invhouse"] 8 [label="8: Prune (false branch) \n n$1=*&b:int [line 14]\n PRUNE((n$1 == 0), false); [line 14]\n REMOVE_TEMPS(n$1); [line 14]\n " shape="invhouse"]
8 -> 10 ; 8 -> 10 ;
7 [label="7: Prune (true branch) \n n$0=*&b:int [line 14]\n PRUNE((n$0 != 0), true); [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n " shape="invhouse"] 7 [label="7: Prune (true branch) \n n$1=*&b:int [line 14]\n PRUNE((n$1 != 0), true); [line 14]\n REMOVE_TEMPS(n$1); [line 14]\n " shape="invhouse"]
7 -> 9 ; 7 -> 9 ;
@ -246,7 +246,7 @@ digraph iCFG {
5 [label="5: Exit test \n " color=yellow style=filled] 5 [label="5: Exit test \n " color=yellow style=filled]
4 [label="4: Start test\nFormals: b:int \nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled] 4 [label="4: Start test\nFormals: b:int \nLocals: SIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0); [line 14]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 14]\n " color=yellow style=filled]
4 -> 7 ; 4 -> 7 ;

@ -1,13 +1,13 @@
digraph iCFG { digraph iCFG {
67 [label="67: Call n$0 \n n$0=*&SIL_temp_conditional___52:_fn_ (*) [line 20]\n NULLIFY(&SIL_temp_conditional___52,true); [line 20]\n n$1=*&SIL_temp_conditional___57:int [line 20]\n NULLIFY(&SIL_temp_conditional___57,true); [line 20]\n n$2=*&SIL_temp_conditional___62:int [line 20]\n NULLIFY(&SIL_temp_conditional___62,true); [line 20]\n n$0(n$1:int ,2:int ,n$2:int ) [line 20]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 67 [label="67: Call n$1 \n n$1=*&SIL_temp_conditional___n$0:_fn_ (*) [line 20]\n n$3=*&SIL_temp_conditional___n$2:int [line 20]\n n$5=*&SIL_temp_conditional___n$4:int [line 20]\n n$1(n$3:int ,2:int ,n$5:int ) [line 20]\n REMOVE_TEMPS(n$1,n$3,n$5); [line 20]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 20]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 20]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
67 -> 51 ; 67 -> 51 ;
66 [label="66: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___62); [line 20]\n *&SIL_temp_conditional___62:int =3 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 66 [label="66: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
66 -> 62 ; 66 -> 62 ;
65 [label="65: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___62); [line 20]\n *&SIL_temp_conditional___62:int =3 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 65 [label="65: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
65 -> 62 ; 65 -> 62 ;
@ -23,11 +23,11 @@ digraph iCFG {
62 -> 67 ; 62 -> 67 ;
61 [label="61: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___57); [line 20]\n *&SIL_temp_conditional___57:int =1 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 61 [label="61: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
61 -> 57 ; 61 -> 57 ;
60 [label="60: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___57); [line 20]\n *&SIL_temp_conditional___57:int =1 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 60 [label="60: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
60 -> 57 ; 60 -> 57 ;
@ -44,11 +44,11 @@ digraph iCFG {
57 -> 63 ; 57 -> 63 ;
57 -> 64 ; 57 -> 64 ;
56 [label="56: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___52); [line 20]\n *&SIL_temp_conditional___52:_fn_ (*)=_fun_some_f [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
56 -> 52 ; 56 -> 52 ;
55 [label="55: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___52); [line 20]\n *&SIL_temp_conditional___52:_fn_ (*)=_fun_some_f [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 55 [label="55: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
55 -> 52 ; 55 -> 52 ;
@ -68,20 +68,20 @@ digraph iCFG {
51 [label="51: Exit fun_ifthenelse4 \n " color=yellow style=filled] 51 [label="51: Exit fun_ifthenelse4 \n " color=yellow style=filled]
50 [label="50: Start fun_ifthenelse4\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 20]\n " color=yellow style=filled] 50 [label="50: Start fun_ifthenelse4\nFormals: \nLocals: SIL_temp_conditional___n$0:_fn_ (*) SIL_temp_conditional___n$2:int SIL_temp_conditional___n$4:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$2,&SIL_temp_conditional___n$4); [line 20]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 20]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 20]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 20]\n " color=yellow style=filled]
50 -> 53 ; 50 -> 53 ;
50 -> 54 ; 50 -> 54 ;
49 [label="49: Call _fun_some_f \n n$0=*&SIL_temp_conditional___34:int [line 18]\n NULLIFY(&SIL_temp_conditional___34,true); [line 18]\n n$1=*&SIL_temp_conditional___39:int [line 18]\n NULLIFY(&SIL_temp_conditional___39,true); [line 18]\n n$2=*&SIL_temp_conditional___44:int [line 18]\n NULLIFY(&SIL_temp_conditional___44,true); [line 18]\n _fun_some_f(n$0:int ,n$1:int ,n$2:int ) [line 18]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 49 [label="49: Call _fun_some_f \n n$1=*&SIL_temp_conditional___n$0:int [line 18]\n n$3=*&SIL_temp_conditional___n$2:int [line 18]\n n$5=*&SIL_temp_conditional___n$4:int [line 18]\n _fun_some_f(n$1:int ,n$3:int ,n$5:int ) [line 18]\n REMOVE_TEMPS(n$1,n$3,n$5); [line 18]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 18]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 18]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
49 -> 33 ; 49 -> 33 ;
48 [label="48: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___44); [line 18]\n *&SIL_temp_conditional___44:int =3 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 48 [label="48: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
48 -> 44 ; 48 -> 44 ;
47 [label="47: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___44); [line 18]\n *&SIL_temp_conditional___44:int =3 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 47 [label="47: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
47 -> 44 ; 47 -> 44 ;
@ -97,11 +97,11 @@ digraph iCFG {
44 -> 49 ; 44 -> 49 ;
43 [label="43: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___39); [line 18]\n *&SIL_temp_conditional___39:int =2 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 43 [label="43: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =2 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
43 -> 39 ; 43 -> 39 ;
42 [label="42: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___39); [line 18]\n *&SIL_temp_conditional___39:int =2 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 42 [label="42: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =2 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
42 -> 39 ; 42 -> 39 ;
@ -118,11 +118,11 @@ digraph iCFG {
39 -> 45 ; 39 -> 45 ;
39 -> 46 ; 39 -> 46 ;
38 [label="38: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___34); [line 18]\n *&SIL_temp_conditional___34:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 38 [label="38: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
38 -> 34 ; 38 -> 34 ;
37 [label="37: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___34); [line 18]\n *&SIL_temp_conditional___34:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 37 [label="37: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
37 -> 34 ; 37 -> 34 ;
@ -142,20 +142,20 @@ digraph iCFG {
33 [label="33: Exit fun_ifthenelse3 \n " color=yellow style=filled] 33 [label="33: Exit fun_ifthenelse3 \n " color=yellow style=filled]
32 [label="32: Start fun_ifthenelse3\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled] 32 [label="32: Start fun_ifthenelse3\nFormals: \nLocals: SIL_temp_conditional___n$0:int SIL_temp_conditional___n$2:int SIL_temp_conditional___n$4:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$2,&SIL_temp_conditional___n$4); [line 18]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 18]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 18]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 18]\n " color=yellow style=filled]
32 -> 35 ; 32 -> 35 ;
32 -> 36 ; 32 -> 36 ;
31 [label="31: Call n$0 \n n$0=*&SIL_temp_conditional___11:_fn_ (*) [line 15]\n NULLIFY(&SIL_temp_conditional___11,true); [line 15]\n n$1=*&SIL_temp_conditional___16:int [line 15]\n NULLIFY(&SIL_temp_conditional___16,true); [line 15]\n n$2=*&SIL_temp_conditional___21:int [line 15]\n NULLIFY(&SIL_temp_conditional___21,true); [line 15]\n n$3=*&SIL_temp_conditional___26:int [line 15]\n NULLIFY(&SIL_temp_conditional___26,true); [line 15]\n n$0(n$1:int ,n$2:int ,n$3:int ) [line 15]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 31 [label="31: Call n$1 \n n$1=*&SIL_temp_conditional___n$0:_fn_ (*) [line 15]\n n$3=*&SIL_temp_conditional___n$2:int [line 15]\n n$5=*&SIL_temp_conditional___n$4:int [line 15]\n n$7=*&SIL_temp_conditional___n$6:int [line 15]\n n$1(n$3:int ,n$5:int ,n$7:int ) [line 15]\n REMOVE_TEMPS(n$1,n$3,n$5,n$7); [line 15]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 15]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 15]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 15]\n NULLIFY(&SIL_temp_conditional___n$6,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
31 -> 10 ; 31 -> 10 ;
30 [label="30: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___26); [line 15]\n *&SIL_temp_conditional___26:int =3 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 30 [label="30: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =3 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
30 -> 26 ; 30 -> 26 ;
29 [label="29: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___26); [line 15]\n *&SIL_temp_conditional___26:int =3 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 29 [label="29: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =3 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
29 -> 26 ; 29 -> 26 ;
@ -171,11 +171,11 @@ digraph iCFG {
26 -> 31 ; 26 -> 31 ;
25 [label="25: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___21); [line 15]\n *&SIL_temp_conditional___21:int =2 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 25 [label="25: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =2 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
25 -> 21 ; 25 -> 21 ;
24 [label="24: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___21); [line 15]\n *&SIL_temp_conditional___21:int =2 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 24 [label="24: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =2 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
24 -> 21 ; 24 -> 21 ;
@ -192,11 +192,11 @@ digraph iCFG {
21 -> 27 ; 21 -> 27 ;
21 -> 28 ; 21 -> 28 ;
20 [label="20: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___16); [line 15]\n *&SIL_temp_conditional___16:int =1 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 20 [label="20: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
20 -> 16 ; 20 -> 16 ;
19 [label="19: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___16); [line 15]\n *&SIL_temp_conditional___16:int =1 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 19 [label="19: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
19 -> 16 ; 19 -> 16 ;
@ -213,11 +213,11 @@ digraph iCFG {
16 -> 22 ; 16 -> 22 ;
16 -> 23 ; 16 -> 23 ;
15 [label="15: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___11); [line 15]\n *&SIL_temp_conditional___11:_fn_ (*)=_fun_some_f [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 15 [label="15: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
15 -> 11 ; 15 -> 11 ;
14 [label="14: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___11); [line 15]\n *&SIL_temp_conditional___11:_fn_ (*)=_fun_some_f [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 14 [label="14: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
14 -> 11 ; 14 -> 11 ;
@ -237,20 +237,20 @@ digraph iCFG {
10 [label="10: Exit fun_ifthenelse2 \n " color=yellow style=filled] 10 [label="10: Exit fun_ifthenelse2 \n " color=yellow style=filled]
9 [label="9: Start fun_ifthenelse2\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled] 9 [label="9: Start fun_ifthenelse2\nFormals: \nLocals: SIL_temp_conditional___n$0:_fn_ (*) SIL_temp_conditional___n$2:int SIL_temp_conditional___n$4:int SIL_temp_conditional___n$6:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$2,&SIL_temp_conditional___n$4,&SIL_temp_conditional___n$6); [line 14]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 14]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 14]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 14]\n NULLIFY(&SIL_temp_conditional___n$6,false); [line 14]\n " color=yellow style=filled]
9 -> 12 ; 9 -> 12 ;
9 -> 13 ; 9 -> 13 ;
8 [label="8: Call n$0 \n n$0=*&SIL_temp_conditional___3:_fn_ (*) [line 12]\n NULLIFY(&SIL_temp_conditional___3,true); [line 12]\n n$0(1:int ,2:int ,3:int ) [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 8 [label="8: Call n$1 \n n$1=*&SIL_temp_conditional___n$0:_fn_ (*) [line 12]\n n$1(1:int ,2:int ,3:int ) [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
8 -> 2 ; 8 -> 2 ;
7 [label="7: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 12]\n *&SIL_temp_conditional___3:_fn_ (*)=_fun_some_f [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 7 [label="7: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
6 [label="6: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 12]\n *&SIL_temp_conditional___3:_fn_ (*)=_fun_some_f [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 6 [label="6: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
6 -> 3 ; 6 -> 3 ;
@ -269,7 +269,7 @@ digraph iCFG {
2 [label="2: Exit fun_ifthenelse1 \n " color=yellow style=filled] 2 [label="2: Exit fun_ifthenelse1 \n " color=yellow style=filled]
1 [label="1: Start fun_ifthenelse1\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled] 1 [label="1: Start fun_ifthenelse1\nFormals: \nLocals: SIL_temp_conditional___n$0:_fn_ (*) \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0); [line 12]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 12]\n " color=yellow style=filled]
1 -> 4 ; 1 -> 4 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
95 [label="95: BinaryOperatorStmt: Assign \n n$10=_fun_getenv(\"BLOCK\":char *) [line 47]\n *&spec:char *=n$10 [line 47]\n REMOVE_TEMPS(n$10); [line 47]\n " shape="box"] 95 [label="95: BinaryOperatorStmt: Assign \n n$13=_fun_getenv(\"BLOCK\":char *) [line 47]\n *&spec:char *=n$13 [line 47]\n REMOVE_TEMPS(n$13); [line 47]\n " shape="box"]
95 -> 67 ; 95 -> 67 ;
@ -8,15 +8,15 @@ digraph iCFG {
94 -> 90 ; 94 -> 90 ;
93 [label="93: Prune (false branch) \n PRUNE(((n$9 == 39) == 0), false); [line 52]\n REMOVE_TEMPS(n$8,n$9); [line 52]\n APPLY_ABSTRACTION; [line 52]\n " shape="invhouse"] 93 [label="93: Prune (false branch) \n PRUNE(((n$12 == 39) == 0), false); [line 52]\n REMOVE_TEMPS(n$11,n$12); [line 52]\n APPLY_ABSTRACTION; [line 52]\n " shape="invhouse"]
93 -> 90 ; 93 -> 90 ;
92 [label="92: Prune (true branch) \n PRUNE(((n$9 == 39) != 0), true); [line 52]\n REMOVE_TEMPS(n$8,n$9); [line 52]\n " shape="invhouse"] 92 [label="92: Prune (true branch) \n PRUNE(((n$12 == 39) != 0), true); [line 52]\n REMOVE_TEMPS(n$11,n$12); [line 52]\n " shape="invhouse"]
92 -> 94 ; 92 -> 94 ;
91 [label="91: BinaryOperatorStmt: EQ \n n$8=*&spec:char * [line 52]\n n$9=*n$8:char [line 52]\n NULLIFY(&spec,false); [line 52]\n " shape="box"] 91 [label="91: BinaryOperatorStmt: EQ \n NULLIFY(&SIL_temp_conditional___n$3,false); [line 52]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 52]\n NULLIFY(&SIL_temp_conditional___n$7,false); [line 52]\n n$11=*&spec:char * [line 52]\n n$12=*n$11:char [line 52]\n NULLIFY(&spec,false); [line 52]\n " shape="box"]
91 -> 92 ; 91 -> 92 ;
@ -25,35 +25,35 @@ digraph iCFG {
90 -> 65 ; 90 -> 65 ;
89 [label="89: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 50]\n NULLIFY(&block_size,false); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="box"] 89 [label="89: BinaryOperatorStmt: Assign \n NULLIFY(&SIL_temp_conditional___n$7,false); [line 50]\n NULLIFY(&spec,false); [line 50]\n *&block_size:char *=0 [line 50]\n NULLIFY(&block_size,false); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="box"]
89 -> 65 ; 89 -> 65 ;
88 [label="88: Prune (false branch) \n n$7=*&SIL_temp_conditional___81:int [line 49]\n NULLIFY(&SIL_temp_conditional___81,true); [line 49]\n PRUNE((n$7 == 0), false); [line 49]\n REMOVE_TEMPS(n$7); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="invhouse"] 88 [label="88: Prune (false branch) \n n$10=*&SIL_temp_conditional___n$7:int [line 49]\n PRUNE((n$10 == 0), false); [line 49]\n REMOVE_TEMPS(n$10); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="invhouse"]
88 -> 91 ; 88 -> 91 ;
87 [label="87: Prune (true branch) \n n$7=*&SIL_temp_conditional___81:int [line 49]\n NULLIFY(&SIL_temp_conditional___81,true); [line 49]\n PRUNE((n$7 != 0), true); [line 49]\n REMOVE_TEMPS(n$7); [line 49]\n NULLIFY(&spec,false); [line 49]\n " shape="invhouse"] 87 [label="87: Prune (true branch) \n n$10=*&SIL_temp_conditional___n$7:int [line 49]\n PRUNE((n$10 != 0), true); [line 49]\n REMOVE_TEMPS(n$10); [line 49]\n " shape="invhouse"]
87 -> 89 ; 87 -> 89 ;
86 [label="86: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___81); [line 49]\n *&SIL_temp_conditional___81:int =1 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"] 86 [label="86: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
86 -> 81 ; 86 -> 81 ;
85 [label="85: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___81); [line 49]\n *&SIL_temp_conditional___81:int =0 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"] 85 [label="85: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
85 -> 81 ; 85 -> 81 ;
84 [label="84: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 49]\n REMOVE_TEMPS(n$5,n$6); [line 49]\n " shape="invhouse"] 84 [label="84: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 49]\n REMOVE_TEMPS(n$8,n$9); [line 49]\n " shape="invhouse"]
84 -> 86 ; 84 -> 86 ;
83 [label="83: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 49]\n REMOVE_TEMPS(n$5,n$6); [line 49]\n " shape="invhouse"] 83 [label="83: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 49]\n REMOVE_TEMPS(n$8,n$9); [line 49]\n " shape="invhouse"]
83 -> 85 ; 83 -> 85 ;
82 [label="82: BinaryOperatorStmt: Assign \n n$5=_fun_getenv(\"BLOCKSIZE\":char *) [line 49]\n *&spec:char *=n$5 [line 49]\n n$6=*&spec:char * [line 49]\n " shape="box"] 82 [label="82: BinaryOperatorStmt: Assign \n NULLIFY(&SIL_temp_conditional___n$3,false); [line 49]\n NULLIFY(&spec,false); [line 49]\n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 49]\n *&spec:char *=n$8 [line 49]\n n$9=*&spec:char * [line 49]\n " shape="box"]
82 -> 83 ; 82 -> 83 ;
@ -63,31 +63,31 @@ digraph iCFG {
81 -> 87 ; 81 -> 87 ;
81 -> 88 ; 81 -> 88 ;
80 [label="80: Prune (false branch) \n n$4=*&SIL_temp_conditional___73:int [line 49]\n NULLIFY(&SIL_temp_conditional___73,true); [line 49]\n PRUNE((n$4 == 0), false); [line 49]\n REMOVE_TEMPS(n$4); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="invhouse"] 80 [label="80: Prune (false branch) \n n$6=*&SIL_temp_conditional___n$3:int [line 49]\n PRUNE((n$6 == 0), false); [line 49]\n REMOVE_TEMPS(n$6); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="invhouse"]
80 -> 91 ; 80 -> 91 ;
79 [label="79: Prune (true branch) \n n$4=*&SIL_temp_conditional___73:int [line 49]\n NULLIFY(&SIL_temp_conditional___73,true); [line 49]\n PRUNE((n$4 != 0), true); [line 49]\n REMOVE_TEMPS(n$4); [line 49]\n NULLIFY(&spec,false); [line 49]\n " shape="invhouse"] 79 [label="79: Prune (true branch) \n n$6=*&SIL_temp_conditional___n$3:int [line 49]\n PRUNE((n$6 != 0), true); [line 49]\n REMOVE_TEMPS(n$6); [line 49]\n " shape="invhouse"]
79 -> 82 ; 79 -> 82 ;
78 [label="78: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___73); [line 49]\n *&SIL_temp_conditional___73:int =1 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"] 78 [label="78: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
78 -> 73 ; 78 -> 73 ;
77 [label="77: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___73); [line 49]\n *&SIL_temp_conditional___73:int =0 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"] 77 [label="77: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
77 -> 73 ; 77 -> 73 ;
76 [label="76: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 49]\n REMOVE_TEMPS(n$2,n$3); [line 49]\n " shape="invhouse"] 76 [label="76: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 49]\n REMOVE_TEMPS(n$4,n$5); [line 49]\n " shape="invhouse"]
76 -> 78 ; 76 -> 78 ;
75 [label="75: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 49]\n REMOVE_TEMPS(n$2,n$3); [line 49]\n " shape="invhouse"] 75 [label="75: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 49]\n REMOVE_TEMPS(n$4,n$5); [line 49]\n " shape="invhouse"]
75 -> 77 ; 75 -> 77 ;
74 [label="74: BinaryOperatorStmt: Assign \n n$2=_fun_getenv(\"BLOCK_SIZE\":char *) [line 49]\n *&spec:char *=n$2 [line 49]\n n$3=*&spec:char * [line 49]\n " shape="box"] 74 [label="74: BinaryOperatorStmt: Assign \n NULLIFY(&SIL_temp_conditional___n$0,false); [line 49]\n NULLIFY(&spec,false); [line 49]\n n$4=_fun_getenv(\"BLOCK_SIZE\":char *) [line 49]\n *&spec:char *=n$4 [line 49]\n n$5=*&spec:char * [line 49]\n " shape="box"]
74 -> 75 ; 74 -> 75 ;
@ -97,27 +97,27 @@ digraph iCFG {
73 -> 79 ; 73 -> 79 ;
73 -> 80 ; 73 -> 80 ;
72 [label="72: Prune (false branch) \n n$1=*&SIL_temp_conditional___66:int [line 49]\n NULLIFY(&SIL_temp_conditional___66,true); [line 49]\n PRUNE((n$1 == 0), false); [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="invhouse"] 72 [label="72: Prune (false branch) \n n$2=*&SIL_temp_conditional___n$0:int [line 49]\n PRUNE((n$2 == 0), false); [line 49]\n REMOVE_TEMPS(n$2); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="invhouse"]
72 -> 91 ; 72 -> 91 ;
71 [label="71: Prune (true branch) \n n$1=*&SIL_temp_conditional___66:int [line 49]\n NULLIFY(&SIL_temp_conditional___66,true); [line 49]\n PRUNE((n$1 != 0), true); [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n NULLIFY(&spec,false); [line 49]\n " shape="invhouse"] 71 [label="71: Prune (true branch) \n n$2=*&SIL_temp_conditional___n$0:int [line 49]\n PRUNE((n$2 != 0), true); [line 49]\n REMOVE_TEMPS(n$2); [line 49]\n " shape="invhouse"]
71 -> 74 ; 71 -> 74 ;
70 [label="70: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___66); [line 49]\n *&SIL_temp_conditional___66:int =1 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"] 70 [label="70: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
70 -> 66 ; 70 -> 66 ;
69 [label="69: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___66); [line 49]\n *&SIL_temp_conditional___66:int =0 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"] 69 [label="69: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
69 -> 66 ; 69 -> 66 ;
68 [label="68: Prune (false branch) \n n$0=*&spec:char * [line 49]\n PRUNE((n$0 == 0), false); [line 49]\n REMOVE_TEMPS(n$0); [line 49]\n " shape="invhouse"] 68 [label="68: Prune (false branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 == 0), false); [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n " shape="invhouse"]
68 -> 70 ; 68 -> 70 ;
67 [label="67: Prune (true branch) \n n$0=*&spec:char * [line 49]\n PRUNE((n$0 != 0), true); [line 49]\n REMOVE_TEMPS(n$0); [line 49]\n " shape="invhouse"] 67 [label="67: Prune (true branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 != 0), true); [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n " shape="invhouse"]
67 -> 69 ; 67 -> 69 ;
@ -137,43 +137,43 @@ digraph iCFG {
63 [label="63: Exit main \n " color=yellow style=filled] 63 [label="63: Exit main \n " color=yellow style=filled]
62 [label="62: Start main\nFormals: \nLocals: block_size:char * spec:char * \n DECLARE_LOCALS(&return,&block_size,&spec); [line 42]\n NULLIFY(&block_size,false); [line 42]\n NULLIFY(&spec,false); [line 42]\n " color=yellow style=filled] 62 [label="62: Start main\nFormals: \nLocals: SIL_temp_conditional___n$0:int SIL_temp_conditional___n$3:int SIL_temp_conditional___n$7:int block_size:char * spec:char * \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$3,&SIL_temp_conditional___n$7,&block_size,&spec); [line 42]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 42]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 42]\n NULLIFY(&SIL_temp_conditional___n$7,false); [line 42]\n NULLIFY(&block_size,false); [line 42]\n NULLIFY(&spec,false); [line 42]\n " color=yellow style=filled]
62 -> 95 ; 62 -> 95 ;
61 [label="61: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCK\":char *) [line 34]\n *&spec:char *=n$8 [line 34]\n REMOVE_TEMPS(n$8); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"] 61 [label="61: BinaryOperatorStmt: Assign \n n$11=_fun_getenv(\"BLOCK\":char *) [line 34]\n *&spec:char *=n$11 [line 34]\n REMOVE_TEMPS(n$11); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
61 -> 36 ; 61 -> 36 ;
60 [label="60: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 38]\n NULLIFY(&block_size,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"] 60 [label="60: BinaryOperatorStmt: Assign \n NULLIFY(&SIL_temp_conditional___n$7,false); [line 38]\n *&block_size:char *=0 [line 38]\n NULLIFY(&block_size,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
60 -> 36 ; 60 -> 36 ;
59 [label="59: Prune (false branch) \n n$7=*&SIL_temp_conditional___52:int [line 37]\n NULLIFY(&SIL_temp_conditional___52,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"] 59 [label="59: Prune (false branch) \n n$10=*&SIL_temp_conditional___n$7:int [line 37]\n PRUNE((n$10 == 0), false); [line 37]\n REMOVE_TEMPS(n$10); [line 37]\n NULLIFY(&SIL_temp_conditional___n$7,false); [line 37]\n NULLIFY(&spec,false); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="invhouse"]
59 -> 35 ; 59 -> 35 ;
58 [label="58: Prune (true branch) \n n$7=*&SIL_temp_conditional___52:int [line 37]\n NULLIFY(&SIL_temp_conditional___52,true); [line 37]\n PRUNE((n$7 != 0), true); [line 37]\n REMOVE_TEMPS(n$7); [line 37]\n " shape="invhouse"] 58 [label="58: Prune (true branch) \n n$10=*&SIL_temp_conditional___n$7:int [line 37]\n PRUNE((n$10 != 0), true); [line 37]\n REMOVE_TEMPS(n$10); [line 37]\n " shape="invhouse"]
58 -> 60 ; 58 -> 60 ;
57 [label="57: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___52); [line 37]\n *&SIL_temp_conditional___52:int =1 [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"] 57 [label="57: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
57 -> 52 ; 57 -> 52 ;
56 [label="56: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___52); [line 37]\n *&SIL_temp_conditional___52:int =0 [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"] 56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
56 -> 52 ; 56 -> 52 ;
55 [label="55: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 37]\n REMOVE_TEMPS(n$5,n$6); [line 37]\n " shape="invhouse"] 55 [label="55: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 37]\n REMOVE_TEMPS(n$8,n$9); [line 37]\n " shape="invhouse"]
55 -> 57 ; 55 -> 57 ;
54 [label="54: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 37]\n REMOVE_TEMPS(n$5,n$6); [line 37]\n " shape="invhouse"] 54 [label="54: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 37]\n REMOVE_TEMPS(n$8,n$9); [line 37]\n " shape="invhouse"]
54 -> 56 ; 54 -> 56 ;
53 [label="53: 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"] 53 [label="53: BinaryOperatorStmt: Assign \n NULLIFY(&SIL_temp_conditional___n$3,false); [line 37]\n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 37]\n *&spec:char *=n$8 [line 37]\n n$9=*&spec:char * [line 37]\n " shape="box"]
53 -> 54 ; 53 -> 54 ;
@ -183,31 +183,31 @@ digraph iCFG {
52 -> 58 ; 52 -> 58 ;
52 -> 59 ; 52 -> 59 ;
51 [label="51: Prune (false branch) \n n$4=*&SIL_temp_conditional___44:int [line 36]\n NULLIFY(&SIL_temp_conditional___44,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"] 51 [label="51: Prune (false branch) \n n$6=*&SIL_temp_conditional___n$3:int [line 36]\n PRUNE((n$6 == 0), false); [line 36]\n REMOVE_TEMPS(n$6); [line 36]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="invhouse"]
51 -> 35 ; 51 -> 35 ;
50 [label="50: Prune (true branch) \n n$4=*&SIL_temp_conditional___44:int [line 36]\n NULLIFY(&SIL_temp_conditional___44,true); [line 36]\n PRUNE((n$4 != 0), true); [line 36]\n REMOVE_TEMPS(n$4); [line 36]\n " shape="invhouse"] 50 [label="50: Prune (true branch) \n n$6=*&SIL_temp_conditional___n$3:int [line 36]\n PRUNE((n$6 != 0), true); [line 36]\n REMOVE_TEMPS(n$6); [line 36]\n " shape="invhouse"]
50 -> 53 ; 50 -> 53 ;
49 [label="49: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___44); [line 36]\n *&SIL_temp_conditional___44:int =1 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 49 [label="49: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
49 -> 44 ; 49 -> 44 ;
48 [label="48: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___44); [line 36]\n *&SIL_temp_conditional___44:int =0 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 48 [label="48: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
48 -> 44 ; 48 -> 44 ;
47 [label="47: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 36]\n REMOVE_TEMPS(n$2,n$3); [line 36]\n " shape="invhouse"] 47 [label="47: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 36]\n REMOVE_TEMPS(n$4,n$5); [line 36]\n " shape="invhouse"]
47 -> 49 ; 47 -> 49 ;
46 [label="46: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 36]\n REMOVE_TEMPS(n$2,n$3); [line 36]\n " shape="invhouse"] 46 [label="46: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 36]\n REMOVE_TEMPS(n$4,n$5); [line 36]\n " shape="invhouse"]
46 -> 48 ; 46 -> 48 ;
45 [label="45: 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"] 45 [label="45: BinaryOperatorStmt: Assign \n NULLIFY(&SIL_temp_conditional___n$0,false); [line 36]\n n$4=_fun_getenv(\"BLOCK_SIZE\":char *) [line 36]\n *&spec:char *=n$4 [line 36]\n n$5=*&spec:char * [line 36]\n NULLIFY(&spec,false); [line 36]\n " shape="box"]
45 -> 46 ; 45 -> 46 ;
@ -217,27 +217,27 @@ digraph iCFG {
44 -> 50 ; 44 -> 50 ;
44 -> 51 ; 44 -> 51 ;
43 [label="43: Prune (false branch) \n n$1=*&SIL_temp_conditional___37:int [line 36]\n NULLIFY(&SIL_temp_conditional___37,true); [line 36]\n PRUNE((n$1 == 0), false); [line 36]\n REMOVE_TEMPS(n$1); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="invhouse"] 43 [label="43: Prune (false branch) \n n$2=*&SIL_temp_conditional___n$0:int [line 36]\n PRUNE((n$2 == 0), false); [line 36]\n REMOVE_TEMPS(n$2); [line 36]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="invhouse"]
43 -> 35 ; 43 -> 35 ;
42 [label="42: Prune (true branch) \n n$1=*&SIL_temp_conditional___37:int [line 36]\n NULLIFY(&SIL_temp_conditional___37,true); [line 36]\n PRUNE((n$1 != 0), true); [line 36]\n REMOVE_TEMPS(n$1); [line 36]\n " shape="invhouse"] 42 [label="42: Prune (true branch) \n n$2=*&SIL_temp_conditional___n$0:int [line 36]\n PRUNE((n$2 != 0), true); [line 36]\n REMOVE_TEMPS(n$2); [line 36]\n " shape="invhouse"]
42 -> 45 ; 42 -> 45 ;
41 [label="41: ConditinalStmt Branch \n NULLIFY(&spec,false); [line 36]\n DECLARE_LOCALS(&SIL_temp_conditional___37); [line 36]\n *&SIL_temp_conditional___37:int =1 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 41 [label="41: ConditinalStmt Branch \n NULLIFY(&spec,false); [line 36]\n *&SIL_temp_conditional___n$0:int =1 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
41 -> 37 ; 41 -> 37 ;
40 [label="40: ConditinalStmt Branch \n NULLIFY(&spec,false); [line 36]\n DECLARE_LOCALS(&SIL_temp_conditional___37); [line 36]\n *&SIL_temp_conditional___37:int =0 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 40 [label="40: ConditinalStmt Branch \n NULLIFY(&spec,false); [line 36]\n *&SIL_temp_conditional___n$0:int =0 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
40 -> 37 ; 40 -> 37 ;
39 [label="39: Prune (false branch) \n n$0=*&spec:char * [line 36]\n PRUNE((n$0 == 0), false); [line 36]\n REMOVE_TEMPS(n$0); [line 36]\n " shape="invhouse"] 39 [label="39: Prune (false branch) \n n$1=*&spec:char * [line 36]\n PRUNE((n$1 == 0), false); [line 36]\n REMOVE_TEMPS(n$1); [line 36]\n " shape="invhouse"]
39 -> 41 ; 39 -> 41 ;
38 [label="38: Prune (true branch) \n n$0=*&spec:char * [line 36]\n PRUNE((n$0 != 0), true); [line 36]\n REMOVE_TEMPS(n$0); [line 36]\n " shape="invhouse"] 38 [label="38: Prune (true branch) \n n$1=*&spec:char * [line 36]\n PRUNE((n$1 != 0), true); [line 36]\n REMOVE_TEMPS(n$1); [line 36]\n " shape="invhouse"]
38 -> 40 ; 38 -> 40 ;
@ -254,43 +254,43 @@ digraph iCFG {
35 [label="35: Exit test_loop \n " color=yellow style=filled] 35 [label="35: Exit test_loop \n " color=yellow style=filled]
34 [label="34: Start test_loop\nFormals: \nLocals: block_size:char * spec:char * \n DECLARE_LOCALS(&return,&block_size,&spec); [line 29]\n NULLIFY(&block_size,false); [line 29]\n NULLIFY(&spec,false); [line 29]\n " color=yellow style=filled] 34 [label="34: Start test_loop\nFormals: \nLocals: SIL_temp_conditional___n$0:int SIL_temp_conditional___n$3:int SIL_temp_conditional___n$7:int block_size:char * spec:char * \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$3,&SIL_temp_conditional___n$7,&block_size,&spec); [line 29]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 29]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 29]\n NULLIFY(&SIL_temp_conditional___n$7,false); [line 29]\n NULLIFY(&block_size,false); [line 29]\n NULLIFY(&spec,false); [line 29]\n " color=yellow style=filled]
34 -> 61 ; 34 -> 61 ;
33 [label="33: BinaryOperatorStmt: Assign \n n$5=*&x:int * [line 25]\n *n$5:int =32 [line 25]\n REMOVE_TEMPS(n$5); [line 25]\n NULLIFY(&x,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 33 [label="33: BinaryOperatorStmt: Assign \n NULLIFY(&SIL_temp_conditional___n$3,false); [line 25]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 25]\n n$7=*&x:int * [line 25]\n *n$7:int =32 [line 25]\n REMOVE_TEMPS(n$7); [line 25]\n NULLIFY(&x,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
33 -> 15 ; 33 -> 15 ;
32 [label="32: BinaryOperatorStmt: Assign \n *&x:int *=17 [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"] 32 [label="32: BinaryOperatorStmt: Assign \n NULLIFY(&SIL_temp_conditional___n$3,false); [line 23]\n NULLIFY(&x,false); [line 23]\n *&x:int *=17 [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
32 -> 15 ; 32 -> 15 ;
31 [label="31: Prune (false branch) \n n$4=*&SIL_temp_conditional___24:int [line 22]\n NULLIFY(&SIL_temp_conditional___24,true); [line 22]\n PRUNE((n$4 == 0), false); [line 22]\n REMOVE_TEMPS(n$4); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="invhouse"] 31 [label="31: Prune (false branch) \n n$6=*&SIL_temp_conditional___n$3:int [line 22]\n PRUNE((n$6 == 0), false); [line 22]\n REMOVE_TEMPS(n$6); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="invhouse"]
31 -> 33 ; 31 -> 33 ;
30 [label="30: Prune (true branch) \n n$4=*&SIL_temp_conditional___24:int [line 22]\n NULLIFY(&SIL_temp_conditional___24,true); [line 22]\n PRUNE((n$4 != 0), true); [line 22]\n REMOVE_TEMPS(n$4); [line 22]\n NULLIFY(&x,false); [line 22]\n " shape="invhouse"] 30 [label="30: Prune (true branch) \n n$6=*&SIL_temp_conditional___n$3:int [line 22]\n PRUNE((n$6 != 0), true); [line 22]\n REMOVE_TEMPS(n$6); [line 22]\n " shape="invhouse"]
30 -> 32 ; 30 -> 32 ;
29 [label="29: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___24); [line 22]\n *&SIL_temp_conditional___24:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 29 [label="29: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
29 -> 24 ; 29 -> 24 ;
28 [label="28: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___24); [line 22]\n *&SIL_temp_conditional___24:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 28 [label="28: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
28 -> 24 ; 28 -> 24 ;
27 [label="27: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 22]\n REMOVE_TEMPS(n$2,n$3); [line 22]\n " shape="invhouse"] 27 [label="27: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 22]\n REMOVE_TEMPS(n$4,n$5); [line 22]\n " shape="invhouse"]
27 -> 29 ; 27 -> 29 ;
26 [label="26: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 22]\n REMOVE_TEMPS(n$2,n$3); [line 22]\n " shape="invhouse"] 26 [label="26: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 22]\n REMOVE_TEMPS(n$4,n$5); [line 22]\n " shape="invhouse"]
26 -> 28 ; 26 -> 28 ;
25 [label="25: BinaryOperatorStmt: Assign \n n$2=_fun_getenv(\"BLOCK\":char *) [line 22]\n *&x:int *=n$2 [line 22]\n n$3=*&x:int * [line 22]\n " shape="box"] 25 [label="25: BinaryOperatorStmt: Assign \n NULLIFY(&SIL_temp_conditional___n$0,false); [line 22]\n NULLIFY(&x,false); [line 22]\n n$4=_fun_getenv(\"BLOCK\":char *) [line 22]\n *&x:int *=n$4 [line 22]\n n$5=*&x:int * [line 22]\n " shape="box"]
25 -> 26 ; 25 -> 26 ;
@ -300,27 +300,27 @@ digraph iCFG {
24 -> 30 ; 24 -> 30 ;
24 -> 31 ; 24 -> 31 ;
23 [label="23: Prune (false branch) \n n$1=*&SIL_temp_conditional___17:int [line 22]\n NULLIFY(&SIL_temp_conditional___17,true); [line 22]\n PRUNE((n$1 == 0), false); [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="invhouse"] 23 [label="23: Prune (false branch) \n n$2=*&SIL_temp_conditional___n$0:int [line 22]\n PRUNE((n$2 == 0), false); [line 22]\n REMOVE_TEMPS(n$2); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="invhouse"]
23 -> 33 ; 23 -> 33 ;
22 [label="22: Prune (true branch) \n n$1=*&SIL_temp_conditional___17:int [line 22]\n NULLIFY(&SIL_temp_conditional___17,true); [line 22]\n PRUNE((n$1 != 0), true); [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n NULLIFY(&x,false); [line 22]\n " shape="invhouse"] 22 [label="22: Prune (true branch) \n n$2=*&SIL_temp_conditional___n$0:int [line 22]\n PRUNE((n$2 != 0), true); [line 22]\n REMOVE_TEMPS(n$2); [line 22]\n " shape="invhouse"]
22 -> 25 ; 22 -> 25 ;
21 [label="21: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___17); [line 22]\n *&SIL_temp_conditional___17:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 21 [label="21: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
21 -> 17 ; 21 -> 17 ;
20 [label="20: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___17); [line 22]\n *&SIL_temp_conditional___17:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 20 [label="20: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
20 -> 17 ; 20 -> 17 ;
19 [label="19: Prune (false branch) \n n$0=*&x:int * [line 22]\n PRUNE((n$0 == 0), false); [line 22]\n REMOVE_TEMPS(n$0); [line 22]\n " shape="invhouse"] 19 [label="19: Prune (false branch) \n n$1=*&x:int * [line 22]\n PRUNE((n$1 == 0), false); [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n " shape="invhouse"]
19 -> 21 ; 19 -> 21 ;
18 [label="18: Prune (true branch) \n n$0=*&x:int * [line 22]\n PRUNE((n$0 != 0), true); [line 22]\n REMOVE_TEMPS(n$0); [line 22]\n " shape="invhouse"] 18 [label="18: Prune (true branch) \n n$1=*&x:int * [line 22]\n PRUNE((n$1 != 0), true); [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n " shape="invhouse"]
18 -> 20 ; 18 -> 20 ;
@ -340,7 +340,7 @@ digraph iCFG {
14 [label="14: Exit shortcircuit_and \n " color=yellow style=filled] 14 [label="14: Exit shortcircuit_and \n " color=yellow style=filled]
13 [label="13: Start shortcircuit_and\nFormals: x:int *\nLocals: \n DECLARE_LOCALS(&return); [line 21]\n " color=yellow style=filled] 13 [label="13: Start shortcircuit_and\nFormals: x:int *\nLocals: SIL_temp_conditional___n$0:int SIL_temp_conditional___n$3:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$3); [line 21]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 21]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 21]\n " color=yellow style=filled]
13 -> 18 ; 13 -> 18 ;

@ -1,21 +1,21 @@
digraph iCFG { digraph iCFG {
34 [label="34: Return Stmt \n n$1=*&SIL_temp_conditional___29:int [line 29]\n NULLIFY(&SIL_temp_conditional___29,true); [line 29]\n *&return:int =n$1 [line 29]\n REMOVE_TEMPS(n$1); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 34 [label="34: Return Stmt \n n$2=*&SIL_temp_conditional___n$0:int [line 29]\n *&return:int =n$2 [line 29]\n REMOVE_TEMPS(n$2); [line 29]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
34 -> 28 ; 34 -> 28 ;
33 [label="33: ConditinalStmt Branch \n NULLIFY(&x,false); [line 29]\n DECLARE_LOCALS(&SIL_temp_conditional___29); [line 29]\n *&SIL_temp_conditional___29:int =1 [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 33 [label="33: ConditinalStmt Branch \n NULLIFY(&x,false); [line 29]\n *&SIL_temp_conditional___n$0:int =1 [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
33 -> 29 ; 33 -> 29 ;
32 [label="32: ConditinalStmt Branch \n NULLIFY(&x,false); [line 29]\n DECLARE_LOCALS(&SIL_temp_conditional___29); [line 29]\n *&SIL_temp_conditional___29:int =0 [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 32 [label="32: ConditinalStmt Branch \n NULLIFY(&x,false); [line 29]\n *&SIL_temp_conditional___n$0:int =0 [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
32 -> 29 ; 32 -> 29 ;
31 [label="31: Prune (false branch) \n n$0=*&x:int [line 29]\n PRUNE((n$0 == 0), false); [line 29]\n REMOVE_TEMPS(n$0); [line 29]\n " shape="invhouse"] 31 [label="31: Prune (false branch) \n n$1=*&x:int [line 29]\n PRUNE((n$1 == 0), false); [line 29]\n REMOVE_TEMPS(n$1); [line 29]\n " shape="invhouse"]
31 -> 33 ; 31 -> 33 ;
30 [label="30: Prune (true branch) \n n$0=*&x:int [line 29]\n PRUNE((n$0 != 0), true); [line 29]\n REMOVE_TEMPS(n$0); [line 29]\n " shape="invhouse"] 30 [label="30: Prune (true branch) \n n$1=*&x:int [line 29]\n PRUNE((n$1 != 0), true); [line 29]\n REMOVE_TEMPS(n$1); [line 29]\n " shape="invhouse"]
30 -> 32 ; 30 -> 32 ;
@ -26,7 +26,7 @@ digraph iCFG {
28 [label="28: Exit neg \n " color=yellow style=filled] 28 [label="28: Exit neg \n " color=yellow style=filled]
27 [label="27: Start neg\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 29]\n " color=yellow style=filled] 27 [label="27: Start neg\nFormals: x:int \nLocals: SIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0); [line 29]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 29]\n " color=yellow style=filled]
27 -> 30 ; 27 -> 30 ;
@ -39,32 +39,32 @@ digraph iCFG {
25 -> 14 ; 25 -> 14 ;
24 [label="24: Prune (false branch) \n PRUNE((n$2 == 0), false); [line 22]\n REMOVE_TEMPS(n$1,n$2); [line 22]\n " shape="invhouse"] 24 [label="24: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 22]\n REMOVE_TEMPS(n$2,n$3); [line 22]\n " shape="invhouse"]
24 -> 26 ; 24 -> 26 ;
23 [label="23: Prune (true branch) \n PRUNE((n$2 != 0), true); [line 22]\n REMOVE_TEMPS(n$1,n$2); [line 22]\n " shape="invhouse"] 23 [label="23: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 22]\n REMOVE_TEMPS(n$2,n$3); [line 22]\n " shape="invhouse"]
23 -> 25 ; 23 -> 25 ;
22 [label="22: Call _fun_identity \n n$1=*&SIL_temp_conditional___17:int [line 22]\n NULLIFY(&SIL_temp_conditional___17,true); [line 22]\n n$2=_fun_identity(n$1:int ) [line 22]\n " shape="box"] 22 [label="22: Call _fun_identity \n n$2=*&SIL_temp_conditional___n$0:int [line 22]\n n$3=_fun_identity(n$2:int ) [line 22]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 22]\n " shape="box"]
22 -> 23 ; 22 -> 23 ;
22 -> 24 ; 22 -> 24 ;
21 [label="21: ConditinalStmt Branch \n NULLIFY(&x,false); [line 22]\n DECLARE_LOCALS(&SIL_temp_conditional___17); [line 22]\n *&SIL_temp_conditional___17:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 21 [label="21: ConditinalStmt Branch \n NULLIFY(&x,false); [line 22]\n *&SIL_temp_conditional___n$0:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
21 -> 17 ; 21 -> 17 ;
20 [label="20: ConditinalStmt Branch \n NULLIFY(&x,false); [line 22]\n DECLARE_LOCALS(&SIL_temp_conditional___17); [line 22]\n *&SIL_temp_conditional___17:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 20 [label="20: ConditinalStmt Branch \n NULLIFY(&x,false); [line 22]\n *&SIL_temp_conditional___n$0:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
20 -> 17 ; 20 -> 17 ;
19 [label="19: Prune (false branch) \n n$0=*&x:int [line 22]\n PRUNE((n$0 == 0), false); [line 22]\n REMOVE_TEMPS(n$0); [line 22]\n " shape="invhouse"] 19 [label="19: Prune (false branch) \n n$1=*&x:int [line 22]\n PRUNE((n$1 == 0), false); [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n " shape="invhouse"]
19 -> 21 ; 19 -> 21 ;
18 [label="18: Prune (true branch) \n n$0=*&x:int [line 22]\n PRUNE((n$0 != 0), true); [line 22]\n REMOVE_TEMPS(n$0); [line 22]\n " shape="invhouse"] 18 [label="18: Prune (true branch) \n n$1=*&x:int [line 22]\n PRUNE((n$1 != 0), true); [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n " shape="invhouse"]
18 -> 20 ; 18 -> 20 ;
@ -72,7 +72,7 @@ digraph iCFG {
17 -> 22 ; 17 -> 22 ;
16 [label="16: between_join_and_exit \n NULLIFY(&x,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 16 [label="16: between_join_and_exit \n NULLIFY(&SIL_temp_conditional___n$0,false); [line 22]\n NULLIFY(&x,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
16 -> 14 ; 16 -> 14 ;
@ -83,7 +83,7 @@ digraph iCFG {
14 [label="14: Exit baz \n " color=yellow style=filled] 14 [label="14: Exit baz \n " color=yellow style=filled]
13 [label="13: Start baz\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 20]\n " color=yellow style=filled] 13 [label="13: Start baz\nFormals: x:int \nLocals: SIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0); [line 20]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 20]\n " color=yellow style=filled]
13 -> 18 ; 13 -> 18 ;

@ -1,13 +1,13 @@
digraph iCFG { digraph iCFG {
24 [label="24: DeclStmt \n n$2=*&SIL_temp_conditional___19:int [line 22]\n NULLIFY(&SIL_temp_conditional___19,true); [line 22]\n *&z:int =n$2 [line 22]\n REMOVE_TEMPS(n$2); [line 22]\n NULLIFY(&z,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 24 [label="24: DeclStmt \n n$3=*&SIL_temp_conditional___n$0:int [line 22]\n *&z:int =n$3 [line 22]\n REMOVE_TEMPS(n$3); [line 22]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 22]\n NULLIFY(&z,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
24 -> 18 ; 24 -> 18 ;
23 [label="23: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___19); [line 22]\n *&SIL_temp_conditional___19:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 23 [label="23: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
23 -> 19 ; 23 -> 19 ;
22 [label="22: ConditinalStmt Branch \n n$0=_fun_ret_ptr(4:int ) [line 22]\n n$1=*n$0.field:int [line 22]\n DECLARE_LOCALS(&SIL_temp_conditional___19); [line 22]\n *&SIL_temp_conditional___19:int =n$1 [line 22]\n REMOVE_TEMPS(n$0,n$1); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 22 [label="22: ConditinalStmt Branch \n n$1=_fun_ret_ptr(4:int ) [line 22]\n n$2=*n$1.field:int [line 22]\n *&SIL_temp_conditional___n$0:int =n$2 [line 22]\n REMOVE_TEMPS(n$1,n$2); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
22 -> 19 ; 22 -> 19 ;
@ -26,20 +26,20 @@ digraph iCFG {
18 [label="18: Exit access_field_in_ife_branch \n " color=yellow style=filled] 18 [label="18: Exit access_field_in_ife_branch \n " color=yellow style=filled]
17 [label="17: Start access_field_in_ife_branch\nFormals: \nLocals: z:int \n DECLARE_LOCALS(&return,&z); [line 22]\n NULLIFY(&z,false); [line 22]\n " color=yellow style=filled] 17 [label="17: Start access_field_in_ife_branch\nFormals: \nLocals: z:int SIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&z,&SIL_temp_conditional___n$0); [line 22]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 22]\n NULLIFY(&z,false); [line 22]\n " color=yellow style=filled]
17 -> 20 ; 17 -> 20 ;
17 -> 21 ; 17 -> 21 ;
16 [label="16: DeclStmt \n n$0=*&SIL_temp_conditional___11:int [line 20]\n NULLIFY(&SIL_temp_conditional___11,true); [line 20]\n n$1=_fun_ret_ptr(n$0:int ) [line 20]\n n$2=*n$1.field:int [line 20]\n *&z:int =n$2 [line 20]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 20]\n NULLIFY(&z,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 16 [label="16: DeclStmt \n n$1=*&SIL_temp_conditional___n$0:int [line 20]\n n$2=_fun_ret_ptr(n$1:int ) [line 20]\n n$3=*n$2.field:int [line 20]\n *&z:int =n$3 [line 20]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 20]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 20]\n NULLIFY(&z,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
16 -> 10 ; 16 -> 10 ;
15 [label="15: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___11); [line 20]\n *&SIL_temp_conditional___11:int =3 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 15 [label="15: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =3 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
15 -> 11 ; 15 -> 11 ;
14 [label="14: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___11); [line 20]\n *&SIL_temp_conditional___11:int =2 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 14 [label="14: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =2 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
14 -> 11 ; 14 -> 11 ;
@ -58,20 +58,20 @@ digraph iCFG {
10 [label="10: Exit call_ife_then_access_field \n " color=yellow style=filled] 10 [label="10: Exit call_ife_then_access_field \n " color=yellow style=filled]
9 [label="9: Start call_ife_then_access_field\nFormals: \nLocals: z:int \n DECLARE_LOCALS(&return,&z); [line 20]\n NULLIFY(&z,false); [line 20]\n " color=yellow style=filled] 9 [label="9: Start call_ife_then_access_field\nFormals: \nLocals: z:int SIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&z,&SIL_temp_conditional___n$0); [line 20]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 20]\n NULLIFY(&z,false); [line 20]\n " color=yellow style=filled]
9 -> 12 ; 9 -> 12 ;
9 -> 13 ; 9 -> 13 ;
8 [label="8: DeclStmt \n n$2=*&SIL_temp_conditional___3:struct s * [line 17]\n NULLIFY(&SIL_temp_conditional___3,true); [line 17]\n n$3=*n$2.field:int [line 17]\n *&z:int =n$3 [line 17]\n REMOVE_TEMPS(n$2,n$3); [line 17]\n NULLIFY(&z,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 8 [label="8: DeclStmt \n n$3=*&SIL_temp_conditional___n$0:struct s * [line 17]\n n$4=*n$3.field:int [line 17]\n *&z:int =n$4 [line 17]\n REMOVE_TEMPS(n$3,n$4); [line 17]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 17]\n NULLIFY(&z,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
8 -> 2 ; 8 -> 2 ;
7 [label="7: ConditinalStmt Branch \n NULLIFY(&p,false); [line 17]\n n$1=*&q:struct s * [line 17]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 17]\n *&SIL_temp_conditional___3:struct s *=n$1 [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n NULLIFY(&q,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 7 [label="7: ConditinalStmt Branch \n NULLIFY(&p,false); [line 17]\n n$2=*&q:struct s * [line 17]\n *&SIL_temp_conditional___n$0:struct s *=n$2 [line 17]\n REMOVE_TEMPS(n$2); [line 17]\n NULLIFY(&q,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
6 [label="6: ConditinalStmt Branch \n NULLIFY(&q,false); [line 17]\n n$0=*&p:struct s * [line 17]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 17]\n *&SIL_temp_conditional___3:struct s *=n$0 [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&p,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 6 [label="6: ConditinalStmt Branch \n NULLIFY(&q,false); [line 17]\n n$1=*&p:struct s * [line 17]\n *&SIL_temp_conditional___n$0:struct s *=n$1 [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n NULLIFY(&p,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 -> 3 ; 6 -> 3 ;
@ -90,7 +90,7 @@ digraph iCFG {
2 [label="2: Exit ife_then_access_field \n " color=yellow style=filled] 2 [label="2: Exit ife_then_access_field \n " color=yellow style=filled]
1 [label="1: Start ife_then_access_field\nFormals: p:struct s * q:struct s *\nLocals: z:int \n DECLARE_LOCALS(&return,&z); [line 16]\n NULLIFY(&z,false); [line 16]\n " color=yellow style=filled] 1 [label="1: Start ife_then_access_field\nFormals: p:struct s * q:struct s *\nLocals: z:int SIL_temp_conditional___n$0:struct s * \n DECLARE_LOCALS(&return,&z,&SIL_temp_conditional___n$0); [line 16]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 16]\n NULLIFY(&z,false); [line 16]\n " color=yellow style=filled]
1 -> 4 ; 1 -> 4 ;

@ -1,19 +1,19 @@
digraph iCFG { digraph iCFG {
26 [label="26: BinaryOperatorStmt: AddAssign \n n$12=*&p:struct s * [line 15]\n n$13=*n$12.x:int [line 15]\n *n$12.x:int =(n$13 + 1) [line 15]\n REMOVE_TEMPS(n$12,n$13); [line 15]\n " shape="box"] 26 [label="26: BinaryOperatorStmt: AddAssign \n n$16=*&p:struct s * [line 15]\n n$17=*n$16.x:int [line 15]\n *n$16.x:int =(n$17 + 1) [line 15]\n REMOVE_TEMPS(n$16,n$17); [line 15]\n " shape="box"]
26 -> 21 ; 26 -> 21 ;
26 -> 22 ; 26 -> 22 ;
25 [label="25: BinaryOperatorStmt: AddAssign \n n$10=*&SIL_temp_conditional___20:struct s * [line 16]\n NULLIFY(&SIL_temp_conditional___20,true); [line 16]\n n$11=*n$10.x:int [line 16]\n *n$10.x:int =(n$11 + 1) [line 16]\n REMOVE_TEMPS(n$10,n$11); [line 16]\n " shape="box"] 25 [label="25: BinaryOperatorStmt: AddAssign \n n$14=*&SIL_temp_conditional___n$11:struct s * [line 16]\n n$15=*n$14.x:int [line 16]\n *n$14.x:int =(n$15 + 1) [line 16]\n REMOVE_TEMPS(n$14,n$15); [line 16]\n NULLIFY(&SIL_temp_conditional___n$11,false); [line 16]\n " shape="box"]
25 -> 15 ; 25 -> 15 ;
25 -> 16 ; 25 -> 16 ;
24 [label="24: ConditinalStmt Branch \n n$9=*&p:struct s * [line 16]\n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 16]\n *&SIL_temp_conditional___20:struct s *=n$9 [line 16]\n REMOVE_TEMPS(n$9); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 24 [label="24: ConditinalStmt Branch \n n$13=*&p:struct s * [line 16]\n *&SIL_temp_conditional___n$11:struct s *=n$13 [line 16]\n REMOVE_TEMPS(n$13); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
24 -> 20 ; 24 -> 20 ;
23 [label="23: ConditinalStmt Branch \n n$8=*&p:struct s * [line 16]\n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 16]\n *&SIL_temp_conditional___20:struct s *=n$8 [line 16]\n REMOVE_TEMPS(n$8); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 23 [label="23: ConditinalStmt Branch \n n$12=*&p:struct s * [line 16]\n *&SIL_temp_conditional___n$11:struct s *=n$12 [line 16]\n REMOVE_TEMPS(n$12); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
23 -> 20 ; 23 -> 20 ;
@ -29,16 +29,16 @@ digraph iCFG {
20 -> 25 ; 20 -> 25 ;
19 [label="19: BinaryOperatorStmt: AddAssign \n n$5=*&p:struct s * [line 17]\n n$6=*&SIL_temp_conditional___14:int [line 17]\n NULLIFY(&SIL_temp_conditional___14,true); [line 17]\n n$7=*n$5.x:int [line 17]\n *n$5.x:int =(n$7 + n$6) [line 17]\n REMOVE_TEMPS(n$5,n$6,n$7); [line 17]\n " shape="box"] 19 [label="19: BinaryOperatorStmt: AddAssign \n n$7=*&p:struct s * [line 17]\n n$9=*&SIL_temp_conditional___n$8:int [line 17]\n n$10=*n$7.x:int [line 17]\n *n$7.x:int =(n$10 + n$9) [line 17]\n REMOVE_TEMPS(n$7,n$9,n$10); [line 17]\n NULLIFY(&SIL_temp_conditional___n$8,false); [line 17]\n " shape="box"]
19 -> 4 ; 19 -> 4 ;
19 -> 5 ; 19 -> 5 ;
18 [label="18: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___14); [line 17]\n *&SIL_temp_conditional___14:int =7 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 18 [label="18: ConditinalStmt Branch \n *&SIL_temp_conditional___n$8:int =7 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
18 -> 14 ; 18 -> 14 ;
17 [label="17: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___14); [line 17]\n *&SIL_temp_conditional___14:int =3 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 17 [label="17: ConditinalStmt Branch \n *&SIL_temp_conditional___n$8:int =3 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
17 -> 14 ; 17 -> 14 ;
@ -54,15 +54,15 @@ digraph iCFG {
14 -> 19 ; 14 -> 19 ;
13 [label="13: BinaryOperatorStmt: AddAssign \n n$2=*&SIL_temp_conditional___3:struct s * [line 18]\n NULLIFY(&SIL_temp_conditional___3,true); [line 18]\n n$3=*&SIL_temp_conditional___8:int [line 18]\n NULLIFY(&SIL_temp_conditional___8,true); [line 18]\n n$4=*n$2.x:int [line 18]\n *n$2.x:int =(n$4 + n$3) [line 18]\n REMOVE_TEMPS(n$2,n$3,n$4); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 13 [label="13: BinaryOperatorStmt: AddAssign \n n$3=*&SIL_temp_conditional___n$0:struct s * [line 18]\n n$5=*&SIL_temp_conditional___n$4:int [line 18]\n n$6=*n$3.x:int [line 18]\n *n$3.x:int =(n$6 + n$5) [line 18]\n REMOVE_TEMPS(n$3,n$5,n$6); [line 18]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 18]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
13 -> 2 ; 13 -> 2 ;
12 [label="12: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___8); [line 18]\n *&SIL_temp_conditional___8:int =7 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 12 [label="12: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =7 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
12 -> 8 ; 12 -> 8 ;
11 [label="11: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___8); [line 18]\n *&SIL_temp_conditional___8:int =3 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 11 [label="11: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
11 -> 8 ; 11 -> 8 ;
@ -78,11 +78,11 @@ digraph iCFG {
8 -> 13 ; 8 -> 13 ;
7 [label="7: ConditinalStmt Branch \n n$1=*&p:struct s * [line 18]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 18]\n *&SIL_temp_conditional___3:struct s *=n$1 [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n NULLIFY(&p,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 7 [label="7: ConditinalStmt Branch \n n$2=*&p:struct s * [line 18]\n *&SIL_temp_conditional___n$0:struct s *=n$2 [line 18]\n REMOVE_TEMPS(n$2); [line 18]\n NULLIFY(&p,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
6 [label="6: ConditinalStmt Branch \n n$0=*&p:struct s * [line 18]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 18]\n *&SIL_temp_conditional___3:struct s *=n$0 [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n NULLIFY(&p,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 6 [label="6: ConditinalStmt Branch \n n$1=*&p:struct s * [line 18]\n *&SIL_temp_conditional___n$0:struct s *=n$1 [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n NULLIFY(&p,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 -> 3 ; 6 -> 3 ;
@ -102,7 +102,7 @@ digraph iCFG {
2 [label="2: Exit preincrement \n " color=yellow style=filled] 2 [label="2: Exit preincrement \n " color=yellow style=filled]
1 [label="1: Start preincrement\nFormals: p:struct s *\nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled] 1 [label="1: Start preincrement\nFormals: p:struct s *\nLocals: SIL_temp_conditional___n$0:struct s * SIL_temp_conditional___n$4:int SIL_temp_conditional___n$8:int SIL_temp_conditional___n$11:struct s * \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&SIL_temp_conditional___n$4,&SIL_temp_conditional___n$8,&SIL_temp_conditional___n$11); [line 14]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 14]\n NULLIFY(&SIL_temp_conditional___n$11,false); [line 14]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 14]\n NULLIFY(&SIL_temp_conditional___n$8,false); [line 14]\n " color=yellow style=filled]
1 -> 26 ; 1 -> 26 ;

@ -1,14 +1,14 @@
digraph iCFG { digraph iCFG {
20 [label="20: BinaryOperatorStmt: Assign \n n$10=*&SIL_temp_conditional___15:int * [line 12]\n NULLIFY(&SIL_temp_conditional___15,true); [line 12]\n n$11=*n$10:int [line 12]\n *&x:int =n$11 [line 12]\n REMOVE_TEMPS(n$10,n$11); [line 12]\n NULLIFY(&x,false); [line 12]\n " shape="box"] 20 [label="20: BinaryOperatorStmt: Assign \n n$13=*&SIL_temp_conditional___n$10:int * [line 12]\n n$14=*n$13:int [line 12]\n *&x:int =n$14 [line 12]\n REMOVE_TEMPS(n$13,n$14); [line 12]\n NULLIFY(&SIL_temp_conditional___n$10,false); [line 12]\n NULLIFY(&x,false); [line 12]\n " shape="box"]
20 -> 10 ; 20 -> 10 ;
20 -> 11 ; 20 -> 11 ;
19 [label="19: ConditinalStmt Branch \n n$9=*&p:int * [line 12]\n DECLARE_LOCALS(&SIL_temp_conditional___15); [line 12]\n *&SIL_temp_conditional___15:int *=n$9 [line 12]\n REMOVE_TEMPS(n$9); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 19 [label="19: ConditinalStmt Branch \n n$12=*&p:int * [line 12]\n *&SIL_temp_conditional___n$10:int *=n$12 [line 12]\n REMOVE_TEMPS(n$12); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
19 -> 15 ; 19 -> 15 ;
18 [label="18: ConditinalStmt Branch \n n$8=*&p:int * [line 12]\n DECLARE_LOCALS(&SIL_temp_conditional___15); [line 12]\n *&SIL_temp_conditional___15:int *=n$8 [line 12]\n REMOVE_TEMPS(n$8); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 18 [label="18: ConditinalStmt Branch \n n$11=*&p:int * [line 12]\n *&SIL_temp_conditional___n$10:int *=n$11 [line 12]\n REMOVE_TEMPS(n$11); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
18 -> 15 ; 18 -> 15 ;
@ -24,16 +24,16 @@ digraph iCFG {
15 -> 20 ; 15 -> 20 ;
14 [label="14: DeclStmt \n n$6=*&SIL_temp_conditional___9:int * [line 14]\n NULLIFY(&SIL_temp_conditional___9,true); [line 14]\n n$7=*n$6:int [line 14]\n *&y:int =n$7 [line 14]\n REMOVE_TEMPS(n$6,n$7); [line 14]\n NULLIFY(&y,false); [line 14]\n " shape="box"] 14 [label="14: DeclStmt \n n$8=*&SIL_temp_conditional___n$5:int * [line 14]\n n$9=*n$8:int [line 14]\n *&y:int =n$9 [line 14]\n REMOVE_TEMPS(n$8,n$9); [line 14]\n NULLIFY(&SIL_temp_conditional___n$5,false); [line 14]\n NULLIFY(&y,false); [line 14]\n " shape="box"]
14 -> 4 ; 14 -> 4 ;
14 -> 5 ; 14 -> 5 ;
13 [label="13: ConditinalStmt Branch \n n$5=*&p:int * [line 14]\n DECLARE_LOCALS(&SIL_temp_conditional___9); [line 14]\n *&SIL_temp_conditional___9:int *=n$5 [line 14]\n REMOVE_TEMPS(n$5); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 13 [label="13: ConditinalStmt Branch \n n$7=*&p:int * [line 14]\n *&SIL_temp_conditional___n$5:int *=n$7 [line 14]\n REMOVE_TEMPS(n$7); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
13 -> 9 ; 13 -> 9 ;
12 [label="12: ConditinalStmt Branch \n n$4=*&p:int * [line 14]\n DECLARE_LOCALS(&SIL_temp_conditional___9); [line 14]\n *&SIL_temp_conditional___9:int *=n$4 [line 14]\n REMOVE_TEMPS(n$4); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 12 [label="12: ConditinalStmt Branch \n n$6=*&p:int * [line 14]\n *&SIL_temp_conditional___n$5:int *=n$6 [line 14]\n REMOVE_TEMPS(n$6); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
12 -> 9 ; 12 -> 9 ;
@ -49,15 +49,15 @@ digraph iCFG {
9 -> 14 ; 9 -> 14 ;
8 [label="8: UnaryOperator \n n$2=*&SIL_temp_conditional___3:int * [line 16]\n NULLIFY(&SIL_temp_conditional___3,true); [line 16]\n REMOVE_TEMPS(n$2); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 8 [label="8: UnaryOperator \n n$3=*&SIL_temp_conditional___n$0:int * [line 16]\n REMOVE_TEMPS(n$3); [line 16]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
8 -> 2 ; 8 -> 2 ;
7 [label="7: ConditinalStmt Branch \n n$1=*&p:int * [line 16]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 16]\n *&SIL_temp_conditional___3:int *=n$1 [line 16]\n REMOVE_TEMPS(n$1); [line 16]\n NULLIFY(&p,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 7 [label="7: ConditinalStmt Branch \n n$2=*&p:int * [line 16]\n *&SIL_temp_conditional___n$0:int *=n$2 [line 16]\n REMOVE_TEMPS(n$2); [line 16]\n NULLIFY(&p,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
6 [label="6: ConditinalStmt Branch \n n$0=*&p:int * [line 16]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 16]\n *&SIL_temp_conditional___3:int *=n$0 [line 16]\n REMOVE_TEMPS(n$0); [line 16]\n NULLIFY(&p,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 6 [label="6: ConditinalStmt Branch \n n$1=*&p:int * [line 16]\n *&SIL_temp_conditional___n$0:int *=n$1 [line 16]\n REMOVE_TEMPS(n$1); [line 16]\n NULLIFY(&p,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
6 -> 3 ; 6 -> 3 ;
@ -76,7 +76,7 @@ digraph iCFG {
2 [label="2: Exit dereference_ifthenelse \n " color=yellow style=filled] 2 [label="2: Exit dereference_ifthenelse \n " color=yellow style=filled]
1 [label="1: Start dereference_ifthenelse\nFormals: p:int *\nLocals: y:int x:int \n DECLARE_LOCALS(&return,&y,&x); [line 10]\n NULLIFY(&x,false); [line 10]\n NULLIFY(&y,false); [line 10]\n " color=yellow style=filled] 1 [label="1: Start dereference_ifthenelse\nFormals: p:int *\nLocals: SIL_temp_conditional___n$0:int * y:int SIL_temp_conditional___n$5:int * SIL_temp_conditional___n$10:int * x:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&y,&SIL_temp_conditional___n$5,&SIL_temp_conditional___n$10,&x); [line 10]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$10,false); [line 10]\n NULLIFY(&SIL_temp_conditional___n$5,false); [line 10]\n NULLIFY(&x,false); [line 10]\n NULLIFY(&y,false); [line 10]\n " color=yellow style=filled]
1 -> 16 ; 1 -> 16 ;

@ -250,35 +250,35 @@ digraph iCFG {
192 -> 220 ; 192 -> 220 ;
191 [label="191: Call _fun_printf \n n$7=_fun_printf(\"B\\n\":char *) [line 126]\n REMOVE_TEMPS(n$7); [line 126]\n " shape="box"] 191 [label="191: Call _fun_printf \n n$9=_fun_printf(\"B\\n\":char *) [line 126]\n REMOVE_TEMPS(n$9); [line 126]\n " shape="box"]
191 -> 184 ; 191 -> 184 ;
190 [label="190: Prune (false branch) \n n$6=*&SIL_temp_conditional___183:int [line 128]\n NULLIFY(&SIL_temp_conditional___183,true); [line 128]\n PRUNE((n$6 == 0), false); [line 128]\n REMOVE_TEMPS(n$6); [line 128]\n " shape="invhouse"] 190 [label="190: Prune (false branch) \n n$8=*&SIL_temp_conditional___n$6:int [line 128]\n PRUNE((n$8 == 0), false); [line 128]\n REMOVE_TEMPS(n$8); [line 128]\n " shape="invhouse"]
190 -> 182 ; 190 -> 182 ;
189 [label="189: Prune (true branch) \n n$6=*&SIL_temp_conditional___183:int [line 128]\n NULLIFY(&SIL_temp_conditional___183,true); [line 128]\n PRUNE((n$6 != 0), true); [line 128]\n REMOVE_TEMPS(n$6); [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="invhouse"] 189 [label="189: Prune (true branch) \n n$8=*&SIL_temp_conditional___n$6:int [line 128]\n PRUNE((n$8 != 0), true); [line 128]\n REMOVE_TEMPS(n$8); [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="invhouse"]
189 -> 164 ; 189 -> 164 ;
188 [label="188: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___183); [line 128]\n *&SIL_temp_conditional___183:int =1 [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="box"] 188 [label="188: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =1 [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="box"]
188 -> 183 ; 188 -> 183 ;
187 [label="187: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___183); [line 128]\n *&SIL_temp_conditional___183:int =0 [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="box"] 187 [label="187: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =0 [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="box"]
187 -> 183 ; 187 -> 183 ;
186 [label="186: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 128]\n REMOVE_TEMPS(n$5); [line 128]\n " shape="invhouse"] 186 [label="186: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 128]\n REMOVE_TEMPS(n$7); [line 128]\n " shape="invhouse"]
186 -> 188 ; 186 -> 188 ;
185 [label="185: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 128]\n REMOVE_TEMPS(n$5); [line 128]\n " shape="invhouse"] 185 [label="185: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 128]\n REMOVE_TEMPS(n$7); [line 128]\n " shape="invhouse"]
185 -> 187 ; 185 -> 187 ;
184 [label="184: Call _fun_getValue \n n$5=_fun_getValue() [line 128]\n " shape="box"] 184 [label="184: Call _fun_getValue \n n$7=_fun_getValue() [line 128]\n " shape="box"]
184 -> 185 ; 184 -> 185 ;
@ -292,31 +292,31 @@ digraph iCFG {
182 -> 175 ; 182 -> 175 ;
181 [label="181: Prune (false branch) \n n$4=*&SIL_temp_conditional___174:int [line 130]\n NULLIFY(&SIL_temp_conditional___174,true); [line 130]\n PRUNE((n$4 == 0), false); [line 130]\n REMOVE_TEMPS(n$4); [line 130]\n " shape="invhouse"] 181 [label="181: Prune (false branch) \n n$5=*&SIL_temp_conditional___n$3:int [line 130]\n PRUNE((n$5 == 0), false); [line 130]\n REMOVE_TEMPS(n$5); [line 130]\n " shape="invhouse"]
181 -> 173 ; 181 -> 173 ;
180 [label="180: Prune (true branch) \n n$4=*&SIL_temp_conditional___174:int [line 130]\n NULLIFY(&SIL_temp_conditional___174,true); [line 130]\n PRUNE((n$4 != 0), true); [line 130]\n REMOVE_TEMPS(n$4); [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="invhouse"] 180 [label="180: Prune (true branch) \n n$5=*&SIL_temp_conditional___n$3:int [line 130]\n PRUNE((n$5 != 0), true); [line 130]\n REMOVE_TEMPS(n$5); [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="invhouse"]
180 -> 162 ; 180 -> 162 ;
179 [label="179: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___174); [line 130]\n *&SIL_temp_conditional___174:int =1 [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="box"] 179 [label="179: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="box"]
179 -> 174 ; 179 -> 174 ;
178 [label="178: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___174); [line 130]\n *&SIL_temp_conditional___174:int =0 [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="box"] 178 [label="178: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="box"]
178 -> 174 ; 178 -> 174 ;
177 [label="177: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 130]\n REMOVE_TEMPS(n$3); [line 130]\n " shape="invhouse"] 177 [label="177: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 130]\n REMOVE_TEMPS(n$4); [line 130]\n " shape="invhouse"]
177 -> 179 ; 177 -> 179 ;
176 [label="176: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 130]\n REMOVE_TEMPS(n$3); [line 130]\n " shape="invhouse"] 176 [label="176: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 130]\n REMOVE_TEMPS(n$4); [line 130]\n " shape="invhouse"]
176 -> 178 ; 176 -> 178 ;
175 [label="175: Call _fun_getValue \n n$3=_fun_getValue() [line 130]\n " shape="box"] 175 [label="175: Call _fun_getValue \n NULLIFY(&SIL_temp_conditional___n$6,false); [line 130]\n n$4=_fun_getValue() [line 130]\n " shape="box"]
175 -> 176 ; 175 -> 176 ;
@ -342,7 +342,7 @@ digraph iCFG {
170 -> 172 ; 170 -> 172 ;
169 [label="169: BinaryOperatorStmt: GT \n n$2=_fun_getValue() [line 132]\n " shape="box"] 169 [label="169: BinaryOperatorStmt: GT \n NULLIFY(&SIL_temp_conditional___n$3,false); [line 132]\n n$2=_fun_getValue() [line 132]\n " shape="box"]
169 -> 170 ; 169 -> 170 ;
@ -363,7 +363,7 @@ digraph iCFG {
165 -> 161 ; 165 -> 161 ;
164 [label="164: Skip GotoLabel_exit_step \n " color="gray"] 164 [label="164: Skip GotoLabel_exit_step \n NULLIFY(&SIL_temp_conditional___n$6,false); [line 141]\n " color="gray"]
164 -> 163 ; 164 -> 163 ;
@ -371,46 +371,46 @@ digraph iCFG {
163 -> 162 ; 163 -> 162 ;
162 [label="162: Skip GotoLabel_stepA \n " color="gray"] 162 [label="162: Skip GotoLabel_stepA \n NULLIFY(&SIL_temp_conditional___n$3,false); [line 143]\n " color="gray"]
162 -> 167 ; 162 -> 167 ;
161 [label="161: Exit g6 \n " color=yellow style=filled] 161 [label="161: Exit g6 \n " color=yellow style=filled]
160 [label="160: Start g6\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 124]\n NULLIFY(&a,false); [line 124]\n " color=yellow style=filled] 160 [label="160: Start g6\nFormals: \nLocals: a:int SIL_temp_conditional___n$3:int SIL_temp_conditional___n$6:int \n DECLARE_LOCALS(&return,&a,&SIL_temp_conditional___n$3,&SIL_temp_conditional___n$6); [line 124]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 124]\n NULLIFY(&SIL_temp_conditional___n$6,false); [line 124]\n NULLIFY(&a,false); [line 124]\n " color=yellow style=filled]
160 -> 172 ; 160 -> 172 ;
159 [label="159: Call _fun_printf \n n$7=_fun_printf(\"B\\n\":char *) [line 104]\n REMOVE_TEMPS(n$7); [line 104]\n " shape="box"] 159 [label="159: Call _fun_printf \n n$9=_fun_printf(\"B\\n\":char *) [line 104]\n REMOVE_TEMPS(n$9); [line 104]\n " shape="box"]
159 -> 152 ; 159 -> 152 ;
158 [label="158: Prune (false branch) \n n$6=*&SIL_temp_conditional___151:int [line 106]\n NULLIFY(&SIL_temp_conditional___151,true); [line 106]\n PRUNE((n$6 == 0), false); [line 106]\n REMOVE_TEMPS(n$6); [line 106]\n " shape="invhouse"] 158 [label="158: Prune (false branch) \n n$8=*&SIL_temp_conditional___n$6:int [line 106]\n PRUNE((n$8 == 0), false); [line 106]\n REMOVE_TEMPS(n$8); [line 106]\n " shape="invhouse"]
158 -> 150 ; 158 -> 150 ;
157 [label="157: Prune (true branch) \n n$6=*&SIL_temp_conditional___151:int [line 106]\n NULLIFY(&SIL_temp_conditional___151,true); [line 106]\n PRUNE((n$6 != 0), true); [line 106]\n REMOVE_TEMPS(n$6); [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="invhouse"] 157 [label="157: Prune (true branch) \n n$8=*&SIL_temp_conditional___n$6:int [line 106]\n PRUNE((n$8 != 0), true); [line 106]\n REMOVE_TEMPS(n$8); [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="invhouse"]
157 -> 132 ; 157 -> 132 ;
156 [label="156: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___151); [line 106]\n *&SIL_temp_conditional___151:int =1 [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="box"] 156 [label="156: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =1 [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="box"]
156 -> 151 ; 156 -> 151 ;
155 [label="155: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___151); [line 106]\n *&SIL_temp_conditional___151:int =0 [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="box"] 155 [label="155: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =0 [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="box"]
155 -> 151 ; 155 -> 151 ;
154 [label="154: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 106]\n REMOVE_TEMPS(n$5); [line 106]\n " shape="invhouse"] 154 [label="154: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 106]\n REMOVE_TEMPS(n$7); [line 106]\n " shape="invhouse"]
154 -> 156 ; 154 -> 156 ;
153 [label="153: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 106]\n REMOVE_TEMPS(n$5); [line 106]\n " shape="invhouse"] 153 [label="153: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 106]\n REMOVE_TEMPS(n$7); [line 106]\n " shape="invhouse"]
153 -> 155 ; 153 -> 155 ;
152 [label="152: Call _fun_getValue \n n$5=_fun_getValue() [line 106]\n " shape="box"] 152 [label="152: Call _fun_getValue \n n$7=_fun_getValue() [line 106]\n " shape="box"]
152 -> 153 ; 152 -> 153 ;
@ -424,31 +424,31 @@ digraph iCFG {
150 -> 143 ; 150 -> 143 ;
149 [label="149: Prune (false branch) \n n$4=*&SIL_temp_conditional___142:int [line 108]\n NULLIFY(&SIL_temp_conditional___142,true); [line 108]\n PRUNE((n$4 == 0), false); [line 108]\n REMOVE_TEMPS(n$4); [line 108]\n " shape="invhouse"] 149 [label="149: Prune (false branch) \n n$5=*&SIL_temp_conditional___n$3:int [line 108]\n PRUNE((n$5 == 0), false); [line 108]\n REMOVE_TEMPS(n$5); [line 108]\n " shape="invhouse"]
149 -> 141 ; 149 -> 141 ;
148 [label="148: Prune (true branch) \n n$4=*&SIL_temp_conditional___142:int [line 108]\n NULLIFY(&SIL_temp_conditional___142,true); [line 108]\n PRUNE((n$4 != 0), true); [line 108]\n REMOVE_TEMPS(n$4); [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="invhouse"] 148 [label="148: Prune (true branch) \n n$5=*&SIL_temp_conditional___n$3:int [line 108]\n PRUNE((n$5 != 0), true); [line 108]\n REMOVE_TEMPS(n$5); [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="invhouse"]
148 -> 130 ; 148 -> 130 ;
147 [label="147: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___142); [line 108]\n *&SIL_temp_conditional___142:int =1 [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="box"] 147 [label="147: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="box"]
147 -> 142 ; 147 -> 142 ;
146 [label="146: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___142); [line 108]\n *&SIL_temp_conditional___142:int =0 [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="box"] 146 [label="146: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="box"]
146 -> 142 ; 146 -> 142 ;
145 [label="145: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 108]\n REMOVE_TEMPS(n$3); [line 108]\n " shape="invhouse"] 145 [label="145: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 108]\n REMOVE_TEMPS(n$4); [line 108]\n " shape="invhouse"]
145 -> 147 ; 145 -> 147 ;
144 [label="144: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 108]\n REMOVE_TEMPS(n$3); [line 108]\n " shape="invhouse"] 144 [label="144: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 108]\n REMOVE_TEMPS(n$4); [line 108]\n " shape="invhouse"]
144 -> 146 ; 144 -> 146 ;
143 [label="143: Call _fun_getValue \n n$3=_fun_getValue() [line 108]\n " shape="box"] 143 [label="143: Call _fun_getValue \n NULLIFY(&SIL_temp_conditional___n$6,false); [line 108]\n n$4=_fun_getValue() [line 108]\n " shape="box"]
143 -> 144 ; 143 -> 144 ;
@ -474,7 +474,7 @@ digraph iCFG {
138 -> 140 ; 138 -> 140 ;
137 [label="137: BinaryOperatorStmt: GT \n n$2=_fun_getValue() [line 110]\n " shape="box"] 137 [label="137: BinaryOperatorStmt: GT \n NULLIFY(&SIL_temp_conditional___n$3,false); [line 110]\n n$2=_fun_getValue() [line 110]\n " shape="box"]
137 -> 138 ; 137 -> 138 ;
@ -495,7 +495,7 @@ digraph iCFG {
133 -> 129 ; 133 -> 129 ;
132 [label="132: Skip GotoLabel_exit_step \n " color="gray"] 132 [label="132: Skip GotoLabel_exit_step \n NULLIFY(&SIL_temp_conditional___n$6,false); [line 119]\n " color="gray"]
132 -> 131 ; 132 -> 131 ;
@ -503,46 +503,46 @@ digraph iCFG {
131 -> 130 ; 131 -> 130 ;
130 [label="130: Skip GotoLabel_stepA \n " color="gray"] 130 [label="130: Skip GotoLabel_stepA \n NULLIFY(&SIL_temp_conditional___n$3,false); [line 121]\n " color="gray"]
130 -> 135 ; 130 -> 135 ;
129 [label="129: Exit g5 \n " color=yellow style=filled] 129 [label="129: Exit g5 \n " color=yellow style=filled]
128 [label="128: Start g5\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 102]\n NULLIFY(&a,false); [line 102]\n " color=yellow style=filled] 128 [label="128: Start g5\nFormals: \nLocals: a:int SIL_temp_conditional___n$3:int SIL_temp_conditional___n$6:int \n DECLARE_LOCALS(&return,&a,&SIL_temp_conditional___n$3,&SIL_temp_conditional___n$6); [line 102]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 102]\n NULLIFY(&SIL_temp_conditional___n$6,false); [line 102]\n NULLIFY(&a,false); [line 102]\n " color=yellow style=filled]
128 -> 140 ; 128 -> 140 ;
127 [label="127: Call _fun_printf \n n$8=_fun_printf(\"B\\n\":char *) [line 83]\n REMOVE_TEMPS(n$8); [line 83]\n " shape="box"] 127 [label="127: Call _fun_printf \n n$10=_fun_printf(\"B\\n\":char *) [line 83]\n REMOVE_TEMPS(n$10); [line 83]\n " shape="box"]
127 -> 120 ; 127 -> 120 ;
126 [label="126: Prune (false branch) \n n$7=*&SIL_temp_conditional___119:int [line 85]\n NULLIFY(&SIL_temp_conditional___119,true); [line 85]\n PRUNE((n$7 == 0), false); [line 85]\n REMOVE_TEMPS(n$7); [line 85]\n " shape="invhouse"] 126 [label="126: Prune (false branch) \n n$9=*&SIL_temp_conditional___n$7:int [line 85]\n PRUNE((n$9 == 0), false); [line 85]\n REMOVE_TEMPS(n$9); [line 85]\n " shape="invhouse"]
126 -> 118 ; 126 -> 118 ;
125 [label="125: Prune (true branch) \n n$7=*&SIL_temp_conditional___119:int [line 85]\n NULLIFY(&SIL_temp_conditional___119,true); [line 85]\n PRUNE((n$7 != 0), true); [line 85]\n REMOVE_TEMPS(n$7); [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="invhouse"] 125 [label="125: Prune (true branch) \n n$9=*&SIL_temp_conditional___n$7:int [line 85]\n PRUNE((n$9 != 0), true); [line 85]\n REMOVE_TEMPS(n$9); [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="invhouse"]
125 -> 99 ; 125 -> 99 ;
124 [label="124: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___119); [line 85]\n *&SIL_temp_conditional___119:int =1 [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="box"] 124 [label="124: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="box"]
124 -> 119 ; 124 -> 119 ;
123 [label="123: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___119); [line 85]\n *&SIL_temp_conditional___119:int =0 [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="box"] 123 [label="123: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="box"]
123 -> 119 ; 123 -> 119 ;
122 [label="122: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 85]\n REMOVE_TEMPS(n$6); [line 85]\n " shape="invhouse"] 122 [label="122: Prune (false branch) \n PRUNE((n$8 == 0), false); [line 85]\n REMOVE_TEMPS(n$8); [line 85]\n " shape="invhouse"]
122 -> 124 ; 122 -> 124 ;
121 [label="121: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 85]\n REMOVE_TEMPS(n$6); [line 85]\n " shape="invhouse"] 121 [label="121: Prune (true branch) \n PRUNE((n$8 != 0), true); [line 85]\n REMOVE_TEMPS(n$8); [line 85]\n " shape="invhouse"]
121 -> 123 ; 121 -> 123 ;
120 [label="120: Call _fun_getValue \n n$6=_fun_getValue() [line 85]\n " shape="box"] 120 [label="120: Call _fun_getValue \n n$8=_fun_getValue() [line 85]\n " shape="box"]
120 -> 121 ; 120 -> 121 ;
@ -556,31 +556,31 @@ digraph iCFG {
118 -> 111 ; 118 -> 111 ;
117 [label="117: Prune (false branch) \n n$5=*&SIL_temp_conditional___110:int [line 87]\n NULLIFY(&SIL_temp_conditional___110,true); [line 87]\n PRUNE((n$5 == 0), false); [line 87]\n REMOVE_TEMPS(n$5); [line 87]\n " shape="invhouse"] 117 [label="117: Prune (false branch) \n n$6=*&SIL_temp_conditional___n$4:int [line 87]\n PRUNE((n$6 == 0), false); [line 87]\n REMOVE_TEMPS(n$6); [line 87]\n " shape="invhouse"]
117 -> 109 ; 117 -> 109 ;
116 [label="116: Prune (true branch) \n n$5=*&SIL_temp_conditional___110:int [line 87]\n NULLIFY(&SIL_temp_conditional___110,true); [line 87]\n PRUNE((n$5 != 0), true); [line 87]\n REMOVE_TEMPS(n$5); [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="invhouse"] 116 [label="116: Prune (true branch) \n n$6=*&SIL_temp_conditional___n$4:int [line 87]\n PRUNE((n$6 != 0), true); [line 87]\n REMOVE_TEMPS(n$6); [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="invhouse"]
116 -> 102 ; 116 -> 102 ;
115 [label="115: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___110); [line 87]\n *&SIL_temp_conditional___110:int =1 [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"] 115 [label="115: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =1 [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"]
115 -> 110 ; 115 -> 110 ;
114 [label="114: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___110); [line 87]\n *&SIL_temp_conditional___110:int =0 [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"] 114 [label="114: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =0 [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"]
114 -> 110 ; 114 -> 110 ;
113 [label="113: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 87]\n REMOVE_TEMPS(n$4); [line 87]\n " shape="invhouse"] 113 [label="113: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 87]\n REMOVE_TEMPS(n$5); [line 87]\n " shape="invhouse"]
113 -> 115 ; 113 -> 115 ;
112 [label="112: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 87]\n REMOVE_TEMPS(n$4); [line 87]\n " shape="invhouse"] 112 [label="112: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 87]\n REMOVE_TEMPS(n$5); [line 87]\n " shape="invhouse"]
112 -> 114 ; 112 -> 114 ;
111 [label="111: Call _fun_getValue \n n$4=_fun_getValue() [line 87]\n " shape="box"] 111 [label="111: Call _fun_getValue \n NULLIFY(&SIL_temp_conditional___n$7,false); [line 87]\n n$5=_fun_getValue() [line 87]\n " shape="box"]
111 -> 112 ; 111 -> 112 ;
@ -606,7 +606,7 @@ digraph iCFG {
106 -> 108 ; 106 -> 108 ;
105 [label="105: BinaryOperatorStmt: GT \n n$3=_fun_getValue() [line 89]\n " shape="box"] 105 [label="105: BinaryOperatorStmt: GT \n NULLIFY(&SIL_temp_conditional___n$4,false); [line 89]\n n$3=_fun_getValue() [line 89]\n " shape="box"]
105 -> 106 ; 105 -> 106 ;
@ -619,7 +619,7 @@ digraph iCFG {
103 -> 102 ; 103 -> 102 ;
102 [label="102: Skip GotoLabel_stepA \n " color="gray"] 102 [label="102: Skip GotoLabel_stepA \n NULLIFY(&SIL_temp_conditional___n$4,false); [line 93]\n " color="gray"]
102 -> 101 ; 102 -> 101 ;
@ -631,7 +631,7 @@ digraph iCFG {
100 -> 99 ; 100 -> 99 ;
99 [label="99: Skip GotoLabel_exit_step \n " color="gray"] 99 [label="99: Skip GotoLabel_exit_step \n NULLIFY(&SIL_temp_conditional___n$7,false); [line 97]\n " color="gray"]
99 -> 98 ; 99 -> 98 ;
@ -646,39 +646,39 @@ digraph iCFG {
96 [label="96: Exit g4 \n " color=yellow style=filled] 96 [label="96: Exit g4 \n " color=yellow style=filled]
95 [label="95: Start g4\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 81]\n NULLIFY(&a,false); [line 81]\n " color=yellow style=filled] 95 [label="95: Start g4\nFormals: \nLocals: a:int SIL_temp_conditional___n$4:int SIL_temp_conditional___n$7:int \n DECLARE_LOCALS(&return,&a,&SIL_temp_conditional___n$4,&SIL_temp_conditional___n$7); [line 81]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 81]\n NULLIFY(&SIL_temp_conditional___n$7,false); [line 81]\n NULLIFY(&a,false); [line 81]\n " color=yellow style=filled]
95 -> 108 ; 95 -> 108 ;
94 [label="94: Call _fun_printf \n n$8=_fun_printf(\"B\\n\":char *) [line 61]\n REMOVE_TEMPS(n$8); [line 61]\n " shape="box"] 94 [label="94: Call _fun_printf \n n$10=_fun_printf(\"B\\n\":char *) [line 61]\n REMOVE_TEMPS(n$10); [line 61]\n " shape="box"]
94 -> 87 ; 94 -> 87 ;
93 [label="93: Prune (false branch) \n n$7=*&SIL_temp_conditional___86:int [line 63]\n NULLIFY(&SIL_temp_conditional___86,true); [line 63]\n PRUNE((n$7 == 0), false); [line 63]\n REMOVE_TEMPS(n$7); [line 63]\n " shape="invhouse"] 93 [label="93: Prune (false branch) \n n$9=*&SIL_temp_conditional___n$7:int [line 63]\n PRUNE((n$9 == 0), false); [line 63]\n REMOVE_TEMPS(n$9); [line 63]\n " shape="invhouse"]
93 -> 85 ; 93 -> 85 ;
92 [label="92: Prune (true branch) \n n$7=*&SIL_temp_conditional___86:int [line 63]\n NULLIFY(&SIL_temp_conditional___86,true); [line 63]\n PRUNE((n$7 != 0), true); [line 63]\n REMOVE_TEMPS(n$7); [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="invhouse"] 92 [label="92: Prune (true branch) \n n$9=*&SIL_temp_conditional___n$7:int [line 63]\n PRUNE((n$9 != 0), true); [line 63]\n REMOVE_TEMPS(n$9); [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="invhouse"]
92 -> 65 ; 92 -> 65 ;
91 [label="91: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___86); [line 63]\n *&SIL_temp_conditional___86:int =1 [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="box"] 91 [label="91: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="box"]
91 -> 86 ; 91 -> 86 ;
90 [label="90: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___86); [line 63]\n *&SIL_temp_conditional___86:int =0 [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="box"] 90 [label="90: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="box"]
90 -> 86 ; 90 -> 86 ;
89 [label="89: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 63]\n REMOVE_TEMPS(n$6); [line 63]\n " shape="invhouse"] 89 [label="89: Prune (false branch) \n PRUNE((n$8 == 0), false); [line 63]\n REMOVE_TEMPS(n$8); [line 63]\n " shape="invhouse"]
89 -> 91 ; 89 -> 91 ;
88 [label="88: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 63]\n REMOVE_TEMPS(n$6); [line 63]\n " shape="invhouse"] 88 [label="88: Prune (true branch) \n PRUNE((n$8 != 0), true); [line 63]\n REMOVE_TEMPS(n$8); [line 63]\n " shape="invhouse"]
88 -> 90 ; 88 -> 90 ;
87 [label="87: Call _fun_getValue \n n$6=_fun_getValue() [line 63]\n " shape="box"] 87 [label="87: Call _fun_getValue \n n$8=_fun_getValue() [line 63]\n " shape="box"]
87 -> 88 ; 87 -> 88 ;
@ -692,31 +692,31 @@ digraph iCFG {
85 -> 78 ; 85 -> 78 ;
84 [label="84: Prune (false branch) \n n$5=*&SIL_temp_conditional___77:int [line 65]\n NULLIFY(&SIL_temp_conditional___77,true); [line 65]\n PRUNE((n$5 == 0), false); [line 65]\n REMOVE_TEMPS(n$5); [line 65]\n " shape="invhouse"] 84 [label="84: Prune (false branch) \n n$6=*&SIL_temp_conditional___n$4:int [line 65]\n PRUNE((n$6 == 0), false); [line 65]\n REMOVE_TEMPS(n$6); [line 65]\n " shape="invhouse"]
84 -> 76 ; 84 -> 76 ;
83 [label="83: Prune (true branch) \n n$5=*&SIL_temp_conditional___77:int [line 65]\n NULLIFY(&SIL_temp_conditional___77,true); [line 65]\n PRUNE((n$5 != 0), true); [line 65]\n REMOVE_TEMPS(n$5); [line 65]\n " shape="invhouse"] 83 [label="83: Prune (true branch) \n n$6=*&SIL_temp_conditional___n$4:int [line 65]\n PRUNE((n$6 != 0), true); [line 65]\n REMOVE_TEMPS(n$6); [line 65]\n " shape="invhouse"]
83 -> 68 ; 83 -> 68 ;
82 [label="82: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___77); [line 65]\n *&SIL_temp_conditional___77:int =1 [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"] 82 [label="82: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =1 [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"]
82 -> 77 ; 82 -> 77 ;
81 [label="81: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___77); [line 65]\n *&SIL_temp_conditional___77:int =0 [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"] 81 [label="81: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =0 [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"]
81 -> 77 ; 81 -> 77 ;
80 [label="80: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 65]\n REMOVE_TEMPS(n$4); [line 65]\n " shape="invhouse"] 80 [label="80: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 65]\n REMOVE_TEMPS(n$5); [line 65]\n " shape="invhouse"]
80 -> 82 ; 80 -> 82 ;
79 [label="79: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 65]\n REMOVE_TEMPS(n$4); [line 65]\n " shape="invhouse"] 79 [label="79: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 65]\n REMOVE_TEMPS(n$5); [line 65]\n " shape="invhouse"]
79 -> 81 ; 79 -> 81 ;
78 [label="78: Call _fun_getValue \n n$4=_fun_getValue() [line 65]\n " shape="box"] 78 [label="78: Call _fun_getValue \n NULLIFY(&SIL_temp_conditional___n$7,false); [line 65]\n n$5=_fun_getValue() [line 65]\n " shape="box"]
78 -> 79 ; 78 -> 79 ;
@ -742,7 +742,7 @@ digraph iCFG {
73 -> 75 ; 73 -> 75 ;
72 [label="72: BinaryOperatorStmt: GT \n n$3=_fun_getValue() [line 67]\n " shape="box"] 72 [label="72: BinaryOperatorStmt: GT \n NULLIFY(&SIL_temp_conditional___n$4,false); [line 67]\n n$3=_fun_getValue() [line 67]\n " shape="box"]
72 -> 73 ; 72 -> 73 ;
@ -759,7 +759,7 @@ digraph iCFG {
69 -> 62 ; 69 -> 62 ;
68 [label="68: Skip GotoLabel_stepA \n " color="gray"] 68 [label="68: Skip GotoLabel_stepA \n NULLIFY(&SIL_temp_conditional___n$4,false); [line 72]\n " color="gray"]
68 -> 67 ; 68 -> 67 ;
@ -771,7 +771,7 @@ digraph iCFG {
66 -> 65 ; 66 -> 65 ;
65 [label="65: Skip GotoLabel_exit_step \n " color="gray"] 65 [label="65: Skip GotoLabel_exit_step \n NULLIFY(&SIL_temp_conditional___n$7,false); [line 76]\n " color="gray"]
65 -> 64 ; 65 -> 64 ;
@ -786,7 +786,7 @@ digraph iCFG {
62 [label="62: Exit g3 \n " color=yellow style=filled] 62 [label="62: Exit g3 \n " color=yellow style=filled]
61 [label="61: Start g3\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 59]\n NULLIFY(&a,false); [line 59]\n " color=yellow style=filled] 61 [label="61: Start g3\nFormals: \nLocals: a:int SIL_temp_conditional___n$4:int SIL_temp_conditional___n$7:int \n DECLARE_LOCALS(&return,&a,&SIL_temp_conditional___n$4,&SIL_temp_conditional___n$7); [line 59]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 59]\n NULLIFY(&SIL_temp_conditional___n$7,false); [line 59]\n NULLIFY(&a,false); [line 59]\n " color=yellow style=filled]
61 -> 75 ; 61 -> 75 ;
@ -798,31 +798,31 @@ digraph iCFG {
59 -> 52 ; 59 -> 52 ;
58 [label="58: Prune (false branch) \n n$4=*&SIL_temp_conditional___51:int [line 42]\n NULLIFY(&SIL_temp_conditional___51,true); [line 42]\n PRUNE((n$4 == 0), false); [line 42]\n REMOVE_TEMPS(n$4); [line 42]\n " shape="invhouse"] 58 [label="58: Prune (false branch) \n n$6=*&SIL_temp_conditional___n$4:int [line 42]\n PRUNE((n$6 == 0), false); [line 42]\n REMOVE_TEMPS(n$6); [line 42]\n " shape="invhouse"]
58 -> 50 ; 58 -> 50 ;
57 [label="57: Prune (true branch) \n n$4=*&SIL_temp_conditional___51:int [line 42]\n NULLIFY(&SIL_temp_conditional___51,true); [line 42]\n PRUNE((n$4 != 0), true); [line 42]\n REMOVE_TEMPS(n$4); [line 42]\n " shape="invhouse"] 57 [label="57: Prune (true branch) \n n$6=*&SIL_temp_conditional___n$4:int [line 42]\n PRUNE((n$6 != 0), true); [line 42]\n REMOVE_TEMPS(n$6); [line 42]\n " shape="invhouse"]
57 -> 31 ; 57 -> 31 ;
56 [label="56: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___51); [line 42]\n *&SIL_temp_conditional___51:int =1 [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"] 56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =1 [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
56 -> 51 ; 56 -> 51 ;
55 [label="55: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___51); [line 42]\n *&SIL_temp_conditional___51:int =0 [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"] 55 [label="55: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =0 [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
55 -> 51 ; 55 -> 51 ;
54 [label="54: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 42]\n REMOVE_TEMPS(n$3); [line 42]\n " shape="invhouse"] 54 [label="54: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 42]\n REMOVE_TEMPS(n$5); [line 42]\n " shape="invhouse"]
54 -> 56 ; 54 -> 56 ;
53 [label="53: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 42]\n REMOVE_TEMPS(n$3); [line 42]\n " shape="invhouse"] 53 [label="53: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 42]\n REMOVE_TEMPS(n$5); [line 42]\n " shape="invhouse"]
53 -> 55 ; 53 -> 55 ;
52 [label="52: Call _fun_getValue \n n$3=_fun_getValue() [line 42]\n " shape="box"] 52 [label="52: Call _fun_getValue \n n$5=_fun_getValue() [line 42]\n " shape="box"]
52 -> 53 ; 52 -> 53 ;
@ -836,31 +836,31 @@ digraph iCFG {
50 -> 43 ; 50 -> 43 ;
49 [label="49: Prune (false branch) \n n$2=*&SIL_temp_conditional___42:int [line 44]\n NULLIFY(&SIL_temp_conditional___42,true); [line 44]\n PRUNE((n$2 == 0), false); [line 44]\n REMOVE_TEMPS(n$2); [line 44]\n " shape="invhouse"] 49 [label="49: Prune (false branch) \n n$3=*&SIL_temp_conditional___n$1:int [line 44]\n PRUNE((n$3 == 0), false); [line 44]\n REMOVE_TEMPS(n$3); [line 44]\n " shape="invhouse"]
49 -> 41 ; 49 -> 41 ;
48 [label="48: Prune (true branch) \n n$2=*&SIL_temp_conditional___42:int [line 44]\n NULLIFY(&SIL_temp_conditional___42,true); [line 44]\n PRUNE((n$2 != 0), true); [line 44]\n REMOVE_TEMPS(n$2); [line 44]\n " shape="invhouse"] 48 [label="48: Prune (true branch) \n n$3=*&SIL_temp_conditional___n$1:int [line 44]\n PRUNE((n$3 != 0), true); [line 44]\n REMOVE_TEMPS(n$3); [line 44]\n " shape="invhouse"]
48 -> 34 ; 48 -> 34 ;
47 [label="47: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___42); [line 44]\n *&SIL_temp_conditional___42:int =1 [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"] 47 [label="47: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
47 -> 42 ; 47 -> 42 ;
46 [label="46: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___42); [line 44]\n *&SIL_temp_conditional___42:int =0 [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"] 46 [label="46: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
46 -> 42 ; 46 -> 42 ;
45 [label="45: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 44]\n REMOVE_TEMPS(n$1); [line 44]\n " shape="invhouse"] 45 [label="45: Prune (false branch) \n PRUNE((n$2 == 0), false); [line 44]\n REMOVE_TEMPS(n$2); [line 44]\n " shape="invhouse"]
45 -> 47 ; 45 -> 47 ;
44 [label="44: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 44]\n REMOVE_TEMPS(n$1); [line 44]\n " shape="invhouse"] 44 [label="44: Prune (true branch) \n PRUNE((n$2 != 0), true); [line 44]\n REMOVE_TEMPS(n$2); [line 44]\n " shape="invhouse"]
44 -> 46 ; 44 -> 46 ;
43 [label="43: Call _fun_getValue \n n$1=_fun_getValue() [line 44]\n " shape="box"] 43 [label="43: Call _fun_getValue \n NULLIFY(&SIL_temp_conditional___n$4,false); [line 44]\n n$2=_fun_getValue() [line 44]\n " shape="box"]
43 -> 44 ; 43 -> 44 ;
@ -886,7 +886,7 @@ digraph iCFG {
38 -> 40 ; 38 -> 40 ;
37 [label="37: BinaryOperatorStmt: GT \n n$0=_fun_getValue() [line 46]\n " shape="box"] 37 [label="37: BinaryOperatorStmt: GT \n NULLIFY(&SIL_temp_conditional___n$1,false); [line 46]\n n$0=_fun_getValue() [line 46]\n " shape="box"]
37 -> 38 ; 37 -> 38 ;
@ -899,7 +899,7 @@ digraph iCFG {
35 -> 28 ; 35 -> 28 ;
34 [label="34: Skip GotoLabel_stepA \n " color="gray"] 34 [label="34: Skip GotoLabel_stepA \n NULLIFY(&SIL_temp_conditional___n$1,false); [line 50]\n " color="gray"]
34 -> 33 ; 34 -> 33 ;
@ -911,7 +911,7 @@ digraph iCFG {
32 -> 28 ; 32 -> 28 ;
31 [label="31: Skip GotoLabel_exit_step \n " color="gray"] 31 [label="31: Skip GotoLabel_exit_step \n NULLIFY(&SIL_temp_conditional___n$4,false); [line 54]\n " color="gray"]
31 -> 30 ; 31 -> 30 ;
@ -926,7 +926,7 @@ digraph iCFG {
28 [label="28: Exit g2 \n " color=yellow style=filled] 28 [label="28: Exit g2 \n " color=yellow style=filled]
27 [label="27: Start g2\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 37]\n NULLIFY(&a,false); [line 37]\n " color=yellow style=filled] 27 [label="27: Start g2\nFormals: \nLocals: SIL_temp_conditional___n$1:int SIL_temp_conditional___n$4:int a:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$1,&SIL_temp_conditional___n$4,&a); [line 37]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 37]\n NULLIFY(&SIL_temp_conditional___n$4,false); [line 37]\n NULLIFY(&a,false); [line 37]\n " color=yellow style=filled]
27 -> 60 ; 27 -> 60 ;

@ -3,40 +3,40 @@ digraph iCFG {
195 -> 186 ; 195 -> 186 ;
194 [label="194: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 194]\n APPLY_ABSTRACTION; [line 194]\n " shape="invhouse"] 194 [label="194: Prune (false branch) \n PRUNE(((n$3 == 0) == 0), false); [line 194]\n APPLY_ABSTRACTION; [line 194]\n " shape="invhouse"]
194 -> 184 ; 194 -> 184 ;
193 [label="193: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 194]\n " shape="invhouse"] 193 [label="193: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 194]\n " shape="invhouse"]
193 -> 192 ; 193 -> 192 ;
192 [label="192: Call _fun_printf \n n$3=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 195]\n REMOVE_TEMPS(n$3); [line 195]\n APPLY_ABSTRACTION; [line 195]\n " shape="box"] 192 [label="192: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 195]\n REMOVE_TEMPS(n$4); [line 195]\n APPLY_ABSTRACTION; [line 195]\n " shape="box"]
192 -> 184 ; 192 -> 184 ;
191 [label="191: Switch_stmt \n n$1=*&SIL_temp_conditional___185:int [line 193]\n NULLIFY(&SIL_temp_conditional___185,true); [line 193]\n *&value:int =n$1 [line 193]\n n$2=*&value:int [line 193]\n NULLIFY(&value,false); [line 193]\n " shape="box"] 191 [label="191: Switch_stmt \n n$2=*&SIL_temp_conditional___n$0:int [line 193]\n *&value:int =n$2 [line 193]\n n$3=*&value:int [line 193]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 193]\n NULLIFY(&value,false); [line 193]\n " shape="box"]
191 -> 193 ; 191 -> 193 ;
191 -> 194 ; 191 -> 194 ;
190 [label="190: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___185); [line 193]\n *&SIL_temp_conditional___185:int =9 [line 193]\n APPLY_ABSTRACTION; [line 193]\n " shape="box"] 190 [label="190: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =9 [line 193]\n APPLY_ABSTRACTION; [line 193]\n " shape="box"]
190 -> 185 ; 190 -> 185 ;
189 [label="189: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___185); [line 193]\n *&SIL_temp_conditional___185:int =7 [line 193]\n APPLY_ABSTRACTION; [line 193]\n " shape="box"] 189 [label="189: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =7 [line 193]\n APPLY_ABSTRACTION; [line 193]\n " shape="box"]
189 -> 185 ; 189 -> 185 ;
188 [label="188: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 193]\n REMOVE_TEMPS(n$0); [line 193]\n " shape="invhouse"] 188 [label="188: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 193]\n REMOVE_TEMPS(n$1); [line 193]\n " shape="invhouse"]
188 -> 190 ; 188 -> 190 ;
187 [label="187: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 193]\n REMOVE_TEMPS(n$0); [line 193]\n " shape="invhouse"] 187 [label="187: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 193]\n REMOVE_TEMPS(n$1); [line 193]\n " shape="invhouse"]
187 -> 189 ; 187 -> 189 ;
186 [label="186: BinaryOperatorStmt: EQ \n n$0=*&value:int [line 193]\n NULLIFY(&value,false); [line 193]\n " shape="box"] 186 [label="186: BinaryOperatorStmt: EQ \n n$1=*&value:int [line 193]\n NULLIFY(&value,false); [line 193]\n " shape="box"]
186 -> 187 ; 186 -> 187 ;
@ -45,14 +45,14 @@ digraph iCFG {
185 -> 191 ; 185 -> 191 ;
184 [label="184: Return Stmt \n *&return:int =0 [line 197]\n REMOVE_TEMPS(n$1,n$2); [line 197]\n APPLY_ABSTRACTION; [line 197]\n " shape="box"] 184 [label="184: Return Stmt \n *&return:int =0 [line 197]\n REMOVE_TEMPS(n$2,n$3); [line 197]\n APPLY_ABSTRACTION; [line 197]\n " shape="box"]
184 -> 183 ; 184 -> 183 ;
183 [label="183: Exit m11 \n " color=yellow style=filled] 183 [label="183: Exit m11 \n " color=yellow style=filled]
182 [label="182: Start m11\nFormals: \nLocals: value:int \n DECLARE_LOCALS(&return,&value); [line 191]\n NULLIFY(&value,false); [line 191]\n " color=yellow style=filled] 182 [label="182: Start m11\nFormals: \nLocals: SIL_temp_conditional___n$0:int value:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&value); [line 191]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 191]\n NULLIFY(&value,false); [line 191]\n " color=yellow style=filled]
182 -> 195 ; 182 -> 195 ;
@ -98,16 +98,16 @@ digraph iCFG {
171 -> 146 ; 171 -> 146 ;
170 [label="170: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 161]\n " shape="invhouse"] 170 [label="170: Prune (false branch) \n PRUNE(((n$3 == 0) == 0), false); [line 161]\n " shape="invhouse"]
170 -> 165 ; 170 -> 165 ;
170 -> 166 ; 170 -> 166 ;
169 [label="169: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 161]\n " shape="invhouse"] 169 [label="169: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 161]\n " shape="invhouse"]
169 -> 168 ; 169 -> 168 ;
168 [label="168: Call _fun_printf \n NULLIFY(&value,false); [line 162]\n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 162]\n REMOVE_TEMPS(n$4); [line 162]\n " shape="box"] 168 [label="168: Call _fun_printf \n NULLIFY(&value,false); [line 162]\n n$5=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 162]\n REMOVE_TEMPS(n$5); [line 162]\n " shape="box"]
168 -> 167 ; 168 -> 167 ;
@ -115,12 +115,12 @@ digraph iCFG {
167 -> 144 ; 167 -> 144 ;
166 [label="166: Prune (false branch) \n PRUNE(((n$2 == 1) == 0), false); [line 164]\n " shape="invhouse"] 166 [label="166: Prune (false branch) \n PRUNE(((n$3 == 1) == 0), false); [line 164]\n " shape="invhouse"]
166 -> 160 ; 166 -> 160 ;
166 -> 161 ; 166 -> 161 ;
165 [label="165: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 164]\n " shape="invhouse"] 165 [label="165: Prune (true branch) \n PRUNE(((n$3 == 1) != 0), true); [line 164]\n " shape="invhouse"]
165 -> 164 ; 165 -> 164 ;
@ -128,53 +128,53 @@ digraph iCFG {
164 -> 163 ; 164 -> 163 ;
163 [label="163: UnaryOperator \n n$3=*&something:int [line 166]\n *&something:int =(n$3 + 1) [line 166]\n REMOVE_TEMPS(n$3); [line 166]\n NULLIFY(&something,false); [line 166]\n APPLY_ABSTRACTION; [line 166]\n " shape="box"] 163 [label="163: UnaryOperator \n n$4=*&something:int [line 166]\n *&something:int =(n$4 + 1) [line 166]\n REMOVE_TEMPS(n$4); [line 166]\n NULLIFY(&something,false); [line 166]\n APPLY_ABSTRACTION; [line 166]\n " shape="box"]
163 -> 146 ; 163 -> 146 ;
162 [label="162: DeclStmt \n *&z:int =9 [line 169]\n NULLIFY(&a,false); [line 169]\n NULLIFY(&something,false); [line 169]\n NULLIFY(&z,false); [line 169]\n APPLY_ABSTRACTION; [line 169]\n " shape="box"] 162 [label="162: DeclStmt \n *&z:int =9 [line 169]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 169]\n NULLIFY(&a,false); [line 169]\n NULLIFY(&something,false); [line 169]\n NULLIFY(&z,false); [line 169]\n APPLY_ABSTRACTION; [line 169]\n " shape="box"]
162 -> 150 ; 162 -> 150 ;
161 [label="161: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 170]\n " shape="invhouse"] 161 [label="161: Prune (false branch) \n PRUNE(((n$3 == 2) == 0), false); [line 170]\n " shape="invhouse"]
161 -> 158 ; 161 -> 158 ;
161 -> 159 ; 161 -> 159 ;
160 [label="160: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 170]\n APPLY_ABSTRACTION; [line 170]\n " shape="invhouse"] 160 [label="160: Prune (true branch) \n PRUNE(((n$3 == 2) != 0), true); [line 170]\n APPLY_ABSTRACTION; [line 170]\n " shape="invhouse"]
160 -> 150 ; 160 -> 150 ;
159 [label="159: Prune (false branch) \n PRUNE(((n$2 == 3) == 0), false); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"] 159 [label="159: Prune (false branch) \n PRUNE(((n$3 == 3) == 0), false); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"]
159 -> 150 ; 159 -> 150 ;
158 [label="158: Prune (true branch) \n PRUNE(((n$2 == 3) != 0), true); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"] 158 [label="158: Prune (true branch) \n PRUNE(((n$3 == 3) != 0), true); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"]
158 -> 150 ; 158 -> 150 ;
157 [label="157: Switch_stmt \n n$2=*&SIL_temp_conditional___151:int [line 160]\n NULLIFY(&SIL_temp_conditional___151,true); [line 160]\n " shape="box"] 157 [label="157: Switch_stmt \n n$3=*&SIL_temp_conditional___n$1:int [line 160]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 160]\n " shape="box"]
157 -> 169 ; 157 -> 169 ;
157 -> 170 ; 157 -> 170 ;
156 [label="156: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___151); [line 160]\n *&SIL_temp_conditional___151:int =2 [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="box"] 156 [label="156: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =2 [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="box"]
156 -> 151 ; 156 -> 151 ;
155 [label="155: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___151); [line 160]\n *&SIL_temp_conditional___151:int =1 [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="box"] 155 [label="155: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="box"]
155 -> 151 ; 155 -> 151 ;
154 [label="154: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 160]\n REMOVE_TEMPS(n$1); [line 160]\n " shape="invhouse"] 154 [label="154: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 160]\n REMOVE_TEMPS(n$2); [line 160]\n " shape="invhouse"]
154 -> 156 ; 154 -> 156 ;
153 [label="153: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 160]\n REMOVE_TEMPS(n$1); [line 160]\n " shape="invhouse"] 153 [label="153: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 160]\n REMOVE_TEMPS(n$2); [line 160]\n " shape="invhouse"]
153 -> 155 ; 153 -> 155 ;
152 [label="152: BinaryOperatorStmt: EQ \n n$1=_fun_getValue() [line 160]\n " shape="box"] 152 [label="152: BinaryOperatorStmt: EQ \n n$2=_fun_getValue() [line 160]\n " shape="box"]
152 -> 153 ; 152 -> 153 ;
@ -183,7 +183,7 @@ digraph iCFG {
151 -> 157 ; 151 -> 157 ;
150 [label="150: DeclStmt \n *&a:int =0 [line 174]\n REMOVE_TEMPS(n$2); [line 174]\n NULLIFY(&a,false); [line 174]\n APPLY_ABSTRACTION; [line 174]\n " shape="box"] 150 [label="150: DeclStmt \n *&a:int =0 [line 174]\n REMOVE_TEMPS(n$3); [line 174]\n NULLIFY(&a,false); [line 174]\n APPLY_ABSTRACTION; [line 174]\n " shape="box"]
150 -> 146 ; 150 -> 146 ;
@ -211,7 +211,7 @@ digraph iCFG {
144 [label="144: Exit m8 \n " color=yellow style=filled] 144 [label="144: Exit m8 \n " color=yellow style=filled]
143 [label="143: Start m8\nFormals: \nLocals: a:int z:int something:int value:int \n DECLARE_LOCALS(&return,&a,&z,&something,&value); [line 157]\n NULLIFY(&a,false); [line 157]\n NULLIFY(&something,false); [line 157]\n NULLIFY(&value,false); [line 157]\n NULLIFY(&z,false); [line 157]\n " color=yellow style=filled] 143 [label="143: Start m8\nFormals: \nLocals: a:int SIL_temp_conditional___n$1:int z:int something:int value:int \n DECLARE_LOCALS(&return,&a,&SIL_temp_conditional___n$1,&z,&something,&value); [line 157]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 157]\n NULLIFY(&a,false); [line 157]\n NULLIFY(&something,false); [line 157]\n NULLIFY(&value,false); [line 157]\n NULLIFY(&z,false); [line 157]\n " color=yellow style=filled]
143 -> 171 ; 143 -> 171 ;
@ -301,25 +301,25 @@ digraph iCFG {
122 -> 104 ; 122 -> 104 ;
121 [label="121: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 122]\n " shape="invhouse"] 121 [label="121: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 122]\n " shape="invhouse"]
121 -> 117 ; 121 -> 117 ;
121 -> 118 ; 121 -> 118 ;
120 [label="120: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 122]\n " shape="invhouse"] 120 [label="120: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 122]\n " shape="invhouse"]
120 -> 119 ; 120 -> 119 ;
119 [label="119: Call _fun_printf \n n$3=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 123]\n REMOVE_TEMPS(n$3); [line 123]\n APPLY_ABSTRACTION; [line 123]\n " shape="box"] 119 [label="119: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 123]\n REMOVE_TEMPS(n$4); [line 123]\n APPLY_ABSTRACTION; [line 123]\n " shape="box"]
119 -> 102 ; 119 -> 102 ;
118 [label="118: Prune (false branch) \n PRUNE(((n$1 == 1) == 0), false); [line 125]\n " shape="invhouse"] 118 [label="118: Prune (false branch) \n PRUNE(((n$2 == 1) == 0), false); [line 125]\n " shape="invhouse"]
118 -> 112 ; 118 -> 112 ;
118 -> 113 ; 118 -> 113 ;
117 [label="117: Prune (true branch) \n PRUNE(((n$1 == 1) != 0), true); [line 125]\n " shape="invhouse"] 117 [label="117: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 125]\n " shape="invhouse"]
117 -> 116 ; 117 -> 116 ;
@ -327,53 +327,53 @@ digraph iCFG {
116 -> 115 ; 116 -> 115 ;
115 [label="115: UnaryOperator \n n$2=*&something:int [line 127]\n *&something:int =(n$2 + 1) [line 127]\n REMOVE_TEMPS(n$2); [line 127]\n NULLIFY(&something,false); [line 127]\n APPLY_ABSTRACTION; [line 127]\n " shape="box"] 115 [label="115: UnaryOperator \n n$3=*&something:int [line 127]\n *&something:int =(n$3 + 1) [line 127]\n REMOVE_TEMPS(n$3); [line 127]\n NULLIFY(&something,false); [line 127]\n APPLY_ABSTRACTION; [line 127]\n " shape="box"]
115 -> 102 ; 115 -> 102 ;
114 [label="114: DeclStmt \n *&z:int =9 [line 129]\n NULLIFY(&something,false); [line 129]\n NULLIFY(&value,false); [line 129]\n NULLIFY(&z,false); [line 129]\n APPLY_ABSTRACTION; [line 129]\n " shape="box"] 114 [label="114: DeclStmt \n *&z:int =9 [line 129]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 129]\n NULLIFY(&something,false); [line 129]\n NULLIFY(&value,false); [line 129]\n NULLIFY(&z,false); [line 129]\n APPLY_ABSTRACTION; [line 129]\n " shape="box"]
114 -> 102 ; 114 -> 102 ;
113 [label="113: Prune (false branch) \n PRUNE(((n$1 == 2) == 0), false); [line 130]\n " shape="invhouse"] 113 [label="113: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 130]\n " shape="invhouse"]
113 -> 110 ; 113 -> 110 ;
113 -> 111 ; 113 -> 111 ;
112 [label="112: Prune (true branch) \n PRUNE(((n$1 == 2) != 0), true); [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="invhouse"] 112 [label="112: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="invhouse"]
112 -> 102 ; 112 -> 102 ;
111 [label="111: Prune (false branch) \n PRUNE(((n$1 == 3) == 0), false); [line 131]\n APPLY_ABSTRACTION; [line 131]\n " shape="invhouse"] 111 [label="111: Prune (false branch) \n PRUNE(((n$2 == 3) == 0), false); [line 131]\n APPLY_ABSTRACTION; [line 131]\n " shape="invhouse"]
111 -> 102 ; 111 -> 102 ;
110 [label="110: Prune (true branch) \n PRUNE(((n$1 == 3) != 0), true); [line 131]\n APPLY_ABSTRACTION; [line 131]\n " shape="invhouse"] 110 [label="110: Prune (true branch) \n PRUNE(((n$2 == 3) != 0), true); [line 131]\n APPLY_ABSTRACTION; [line 131]\n " shape="invhouse"]
110 -> 102 ; 110 -> 102 ;
109 [label="109: Switch_stmt \n n$1=*&SIL_temp_conditional___103:int [line 121]\n NULLIFY(&SIL_temp_conditional___103,true); [line 121]\n " shape="box"] 109 [label="109: Switch_stmt \n n$2=*&SIL_temp_conditional___n$0:int [line 121]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 121]\n " shape="box"]
109 -> 120 ; 109 -> 120 ;
109 -> 121 ; 109 -> 121 ;
108 [label="108: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___103); [line 121]\n *&SIL_temp_conditional___103:int =0 [line 121]\n APPLY_ABSTRACTION; [line 121]\n " shape="box"] 108 [label="108: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 121]\n APPLY_ABSTRACTION; [line 121]\n " shape="box"]
108 -> 103 ; 108 -> 103 ;
107 [label="107: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___103); [line 121]\n *&SIL_temp_conditional___103:int =1 [line 121]\n APPLY_ABSTRACTION; [line 121]\n " shape="box"] 107 [label="107: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 121]\n APPLY_ABSTRACTION; [line 121]\n " shape="box"]
107 -> 103 ; 107 -> 103 ;
106 [label="106: Prune (false branch) \n PRUNE(((n$0 > 0) == 0), false); [line 121]\n REMOVE_TEMPS(n$0); [line 121]\n " shape="invhouse"] 106 [label="106: Prune (false branch) \n PRUNE(((n$1 > 0) == 0), false); [line 121]\n REMOVE_TEMPS(n$1); [line 121]\n " shape="invhouse"]
106 -> 108 ; 106 -> 108 ;
105 [label="105: Prune (true branch) \n PRUNE(((n$0 > 0) != 0), true); [line 121]\n REMOVE_TEMPS(n$0); [line 121]\n " shape="invhouse"] 105 [label="105: Prune (true branch) \n PRUNE(((n$1 > 0) != 0), true); [line 121]\n REMOVE_TEMPS(n$1); [line 121]\n " shape="invhouse"]
105 -> 107 ; 105 -> 107 ;
104 [label="104: BinaryOperatorStmt: GT \n n$0=*&value:int [line 121]\n NULLIFY(&value,false); [line 121]\n " shape="box"] 104 [label="104: BinaryOperatorStmt: GT \n n$1=*&value:int [line 121]\n NULLIFY(&value,false); [line 121]\n " shape="box"]
104 -> 105 ; 104 -> 105 ;
@ -382,14 +382,14 @@ digraph iCFG {
103 -> 109 ; 103 -> 109 ;
102 [label="102: Return Stmt \n *&return:int =0 [line 134]\n REMOVE_TEMPS(n$1); [line 134]\n APPLY_ABSTRACTION; [line 134]\n " shape="box"] 102 [label="102: Return Stmt \n *&return:int =0 [line 134]\n REMOVE_TEMPS(n$2); [line 134]\n APPLY_ABSTRACTION; [line 134]\n " shape="box"]
102 -> 101 ; 102 -> 101 ;
101 [label="101: Exit m6 \n " color=yellow style=filled] 101 [label="101: Exit m6 \n " color=yellow style=filled]
100 [label="100: Start m6\nFormals: \nLocals: z:int something:int value:int \n DECLARE_LOCALS(&return,&z,&something,&value); [line 119]\n NULLIFY(&something,false); [line 119]\n NULLIFY(&value,false); [line 119]\n NULLIFY(&z,false); [line 119]\n " color=yellow style=filled] 100 [label="100: Start m6\nFormals: \nLocals: SIL_temp_conditional___n$0:int z:int something:int value:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$0,&z,&something,&value); [line 119]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 119]\n NULLIFY(&something,false); [line 119]\n NULLIFY(&value,false); [line 119]\n NULLIFY(&z,false); [line 119]\n " color=yellow style=filled]
100 -> 122 ; 100 -> 122 ;

@ -3,27 +3,27 @@ digraph iCFG {
34 -> 28 ; 34 -> 28 ;
33 [label="33: DeclStmt \n n$6=*&SIL_temp_conditional___27:class X [line 27]\n NULLIFY(&SIL_temp_conditional___27,true); [line 27]\n *&SIL_materialize_temp__n$0:class X =n$6 [line 27]\n _fun_X_X(&x:class X *,&SIL_materialize_temp__n$0:class X &) [line 27]\n REMOVE_TEMPS(n$6); [line 27]\n NULLIFY(&SIL_materialize_temp__n$0,false); [line 27]\n NULLIFY(&SIL_materialize_temp__n$4,false); [line 27]\n NULLIFY(&__temp_return_n$2,false); [line 27]\n NULLIFY(&a,false); [line 27]\n NULLIFY(&x,false); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"] 33 [label="33: DeclStmt \n n$7=*&SIL_temp_conditional___n$1:class X [line 27]\n *&SIL_materialize_temp__n$0:class X =n$7 [line 27]\n _fun_X_X(&x:class X *,&SIL_materialize_temp__n$0:class X &) [line 27]\n REMOVE_TEMPS(n$7); [line 27]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 27]\n NULLIFY(&SIL_materialize_temp__n$0,false); [line 27]\n NULLIFY(&SIL_materialize_temp__n$5,false); [line 27]\n NULLIFY(&__temp_return_n$3,false); [line 27]\n NULLIFY(&a,false); [line 27]\n NULLIFY(&x,false); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
33 -> 26 ; 33 -> 26 ;
32 [label="32: ConditinalStmt Branch \n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&a:class X &) [line 27]\n DECLARE_LOCALS(&SIL_temp_conditional___27); [line 27]\n *&SIL_temp_conditional___27:class X =&SIL_materialize_temp__n$0 [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"] 32 [label="32: ConditinalStmt Branch \n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&a:class X &) [line 27]\n *&SIL_temp_conditional___n$1:class X =&SIL_materialize_temp__n$0 [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
32 -> 27 ; 32 -> 27 ;
31 [label="31: ConditinalStmt Branch \n _fun_getX(&SIL_materialize_temp__n$4:class X *) [line 27]\n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&SIL_materialize_temp__n$4:class X &) [line 27]\n DECLARE_LOCALS(&SIL_temp_conditional___27); [line 27]\n *&SIL_temp_conditional___27:class X =&SIL_materialize_temp__n$0 [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"] 31 [label="31: ConditinalStmt Branch \n _fun_getX(&SIL_materialize_temp__n$5:class X *) [line 27]\n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&SIL_materialize_temp__n$5:class X &) [line 27]\n *&SIL_temp_conditional___n$1:class X =&SIL_materialize_temp__n$0 [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
31 -> 27 ; 31 -> 27 ;
30 [label="30: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 27]\n REMOVE_TEMPS(n$3); [line 27]\n " shape="invhouse"] 30 [label="30: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 27]\n REMOVE_TEMPS(n$4); [line 27]\n " shape="invhouse"]
30 -> 32 ; 30 -> 32 ;
29 [label="29: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 27]\n REMOVE_TEMPS(n$3); [line 27]\n " shape="invhouse"] 29 [label="29: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 27]\n REMOVE_TEMPS(n$4); [line 27]\n " shape="invhouse"]
29 -> 31 ; 29 -> 31 ;
28 [label="28: Call _fun_X_operator bool \n _fun_getX(&__temp_return_n$2:class X *) [line 27]\n n$3=_fun_X_operator bool(&__temp_return_n$2:class X &) [line 27]\n " shape="box"] 28 [label="28: Call _fun_X_operator bool \n _fun_getX(&__temp_return_n$3:class X *) [line 27]\n n$4=_fun_X_operator bool(&__temp_return_n$3:class X &) [line 27]\n " shape="box"]
28 -> 29 ; 28 -> 29 ;
@ -35,7 +35,7 @@ digraph iCFG {
26 [label="26: Exit conditional \n " color=yellow style=filled] 26 [label="26: Exit conditional \n " color=yellow style=filled]
25 [label="25: Start conditional\nFormals: \nLocals: x:class X SIL_materialize_temp__n$0:class X __temp_return_n$2:class X SIL_materialize_temp__n$4:class X a:class X \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$0,&__temp_return_n$2,&SIL_materialize_temp__n$4,&a); [line 25]\n " color=yellow style=filled] 25 [label="25: Start conditional\nFormals: \nLocals: x:class X SIL_materialize_temp__n$0:class X SIL_temp_conditional___n$1:class X __temp_return_n$3:class X SIL_materialize_temp__n$5:class X a:class X \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$0,&SIL_temp_conditional___n$1,&__temp_return_n$3,&SIL_materialize_temp__n$5,&a); [line 25]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 25]\n " color=yellow style=filled]
25 -> 34 ; 25 -> 34 ;
@ -43,7 +43,7 @@ digraph iCFG {
24 -> 22 ; 24 -> 22 ;
23 [label="23: DeclStmt \n n$4=*&SIL_temp_conditional___16:class X [line 22]\n NULLIFY(&SIL_temp_conditional___16,true); [line 22]\n *&SIL_materialize_temp__n$0:class X =n$4 [line 22]\n _fun_X_X(&x:class X *,&SIL_materialize_temp__n$0:class X &) [line 22]\n REMOVE_TEMPS(n$4); [line 22]\n NULLIFY(&SIL_materialize_temp__n$0,false); [line 22]\n NULLIFY(&SIL_materialize_temp__n$3,false); [line 22]\n NULLIFY(&a,false); [line 22]\n NULLIFY(&x,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 23 [label="23: DeclStmt \n n$5=*&SIL_temp_conditional___n$2:class X [line 22]\n *&SIL_materialize_temp__n$0:class X =n$5 [line 22]\n _fun_X_X(&x:class X *,&SIL_materialize_temp__n$0:class X &) [line 22]\n REMOVE_TEMPS(n$5); [line 22]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 22]\n NULLIFY(&SIL_materialize_temp__n$0,false); [line 22]\n NULLIFY(&SIL_materialize_temp__n$4,false); [line 22]\n NULLIFY(&a,false); [line 22]\n NULLIFY(&x,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
23 -> 15 ; 23 -> 15 ;
@ -51,23 +51,23 @@ digraph iCFG {
22 -> 17 ; 22 -> 17 ;
21 [label="21: ConditinalStmt Branch \n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&a:class X &) [line 22]\n DECLARE_LOCALS(&SIL_temp_conditional___16); [line 22]\n *&SIL_temp_conditional___16:class X =&SIL_materialize_temp__n$0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 21 [label="21: ConditinalStmt Branch \n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&a:class X &) [line 22]\n *&SIL_temp_conditional___n$2:class X =&SIL_materialize_temp__n$0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
21 -> 16 ; 21 -> 16 ;
20 [label="20: ConditinalStmt Branch \n *&SIL_materialize_temp__n$3:class X =&SIL_materialize_temp__n$0 [line 22]\n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&SIL_materialize_temp__n$3:class X &) [line 22]\n DECLARE_LOCALS(&SIL_temp_conditional___16); [line 22]\n *&SIL_temp_conditional___16:class X =&SIL_materialize_temp__n$0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 20 [label="20: ConditinalStmt Branch \n *&SIL_materialize_temp__n$4:class X =&SIL_materialize_temp__n$0 [line 22]\n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&SIL_materialize_temp__n$4:class X &) [line 22]\n *&SIL_temp_conditional___n$2:class X =&SIL_materialize_temp__n$0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
20 -> 16 ; 20 -> 16 ;
19 [label="19: Prune (false branch) \n PRUNE((n$2 == 0), false); [line 22]\n REMOVE_TEMPS(n$2); [line 22]\n " shape="invhouse"] 19 [label="19: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 22]\n REMOVE_TEMPS(n$3); [line 22]\n " shape="invhouse"]
19 -> 21 ; 19 -> 21 ;
18 [label="18: Prune (true branch) \n PRUNE((n$2 != 0), true); [line 22]\n REMOVE_TEMPS(n$2); [line 22]\n " shape="invhouse"] 18 [label="18: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 22]\n REMOVE_TEMPS(n$3); [line 22]\n " shape="invhouse"]
18 -> 20 ; 18 -> 20 ;
17 [label="17: Call _fun_X_operator bool \n n$2=_fun_X_operator bool(&SIL_materialize_temp__n$0:class X &) [line 22]\n " shape="box"] 17 [label="17: Call _fun_X_operator bool \n n$3=_fun_X_operator bool(&SIL_materialize_temp__n$0:class X &) [line 22]\n " shape="box"]
17 -> 18 ; 17 -> 18 ;
@ -79,7 +79,7 @@ digraph iCFG {
15 [label="15: Exit binaryConditional \n " color=yellow style=filled] 15 [label="15: Exit binaryConditional \n " color=yellow style=filled]
14 [label="14: Start binaryConditional\nFormals: \nLocals: x:class X SIL_materialize_temp__n$0:class X SIL_materialize_temp__n$3:class X a:class X \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$0,&SIL_materialize_temp__n$3,&a); [line 20]\n " color=yellow style=filled] 14 [label="14: Start binaryConditional\nFormals: \nLocals: x:class X SIL_materialize_temp__n$0:class X SIL_temp_conditional___n$2:class X SIL_materialize_temp__n$4:class X a:class X \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$0,&SIL_temp_conditional___n$2,&SIL_materialize_temp__n$4,&a); [line 20]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 20]\n " color=yellow style=filled]
14 -> 24 ; 14 -> 24 ;

@ -87,23 +87,23 @@ digraph iCFG {
42 -> 44 ; 42 -> 44 ;
41 [label="41: DeclStmt \n n$5=*&SIL_temp_conditional___36:int [line 29]\n NULLIFY(&SIL_temp_conditional___36,true); [line 29]\n *&SIL_materialize_temp__n$2:int =n$5 [line 29]\n *&r:int &=&SIL_materialize_temp__n$2 [line 29]\n REMOVE_TEMPS(n$5); [line 29]\n " shape="box"] 41 [label="41: DeclStmt \n n$6=*&SIL_temp_conditional___n$3:int [line 29]\n *&SIL_materialize_temp__n$2:int =n$6 [line 29]\n *&r:int &=&SIL_materialize_temp__n$2 [line 29]\n REMOVE_TEMPS(n$6); [line 29]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 29]\n " shape="box"]
41 -> 35 ; 41 -> 35 ;
40 [label="40: ConditinalStmt Branch \n NULLIFY(&a,false); [line 29]\n NULLIFY(&b,false); [line 29]\n DECLARE_LOCALS(&SIL_temp_conditional___36); [line 29]\n *&SIL_temp_conditional___36:int =1 [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 40 [label="40: ConditinalStmt Branch \n NULLIFY(&a,false); [line 29]\n NULLIFY(&b,false); [line 29]\n *&SIL_temp_conditional___n$3:int =1 [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
40 -> 36 ; 40 -> 36 ;
39 [label="39: ConditinalStmt Branch \n NULLIFY(&a,false); [line 29]\n n$4=*&b:int [line 29]\n DECLARE_LOCALS(&SIL_temp_conditional___36); [line 29]\n *&SIL_temp_conditional___36:int =n$4 [line 29]\n REMOVE_TEMPS(n$4); [line 29]\n NULLIFY(&b,false); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 39 [label="39: ConditinalStmt Branch \n NULLIFY(&a,false); [line 29]\n n$5=*&b:int [line 29]\n *&SIL_temp_conditional___n$3:int =n$5 [line 29]\n REMOVE_TEMPS(n$5); [line 29]\n NULLIFY(&b,false); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
39 -> 36 ; 39 -> 36 ;
38 [label="38: Prune (false branch) \n n$3=*&a:int [line 29]\n PRUNE((n$3 == 0), false); [line 29]\n REMOVE_TEMPS(n$3); [line 29]\n " shape="invhouse"] 38 [label="38: Prune (false branch) \n n$4=*&a:int [line 29]\n PRUNE((n$4 == 0), false); [line 29]\n REMOVE_TEMPS(n$4); [line 29]\n " shape="invhouse"]
38 -> 40 ; 38 -> 40 ;
37 [label="37: Prune (true branch) \n n$3=*&a:int [line 29]\n PRUNE((n$3 != 0), true); [line 29]\n REMOVE_TEMPS(n$3); [line 29]\n " shape="invhouse"] 37 [label="37: Prune (true branch) \n n$4=*&a:int [line 29]\n PRUNE((n$4 != 0), true); [line 29]\n REMOVE_TEMPS(n$4); [line 29]\n " shape="invhouse"]
37 -> 39 ; 37 -> 39 ;
@ -118,7 +118,7 @@ digraph iCFG {
34 [label="34: Exit div_temp_lvalue \n " color=yellow style=filled] 34 [label="34: Exit div_temp_lvalue \n " color=yellow style=filled]
33 [label="33: Start div_temp_lvalue\nFormals: a:int b:int \nLocals: r:int & SIL_materialize_temp__n$2:int \n DECLARE_LOCALS(&return,&r,&SIL_materialize_temp__n$2); [line 28]\n NULLIFY(&r,false); [line 28]\n " color=yellow style=filled] 33 [label="33: Start div_temp_lvalue\nFormals: a:int b:int \nLocals: r:int & SIL_materialize_temp__n$2:int SIL_temp_conditional___n$3:int \n DECLARE_LOCALS(&return,&r,&SIL_materialize_temp__n$2,&SIL_temp_conditional___n$3); [line 28]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 28]\n NULLIFY(&r,false); [line 28]\n " color=yellow style=filled]
33 -> 37 ; 33 -> 37 ;
@ -132,23 +132,23 @@ digraph iCFG {
31 -> 26 ; 31 -> 26 ;
31 -> 27 ; 31 -> 27 ;
30 [label="30: BinaryOperatorStmt: Assign \n n$2=*&SIL_temp_conditional___25:int & [line 24]\n NULLIFY(&SIL_temp_conditional___25,true); [line 24]\n *n$2:int =1 [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n " shape="box"] 30 [label="30: BinaryOperatorStmt: Assign \n n$3=*&SIL_temp_conditional___n$1:int & [line 24]\n *n$3:int =1 [line 24]\n REMOVE_TEMPS(n$3); [line 24]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 24]\n " shape="box"]
30 -> 24 ; 30 -> 24 ;
29 [label="29: ConditinalStmt Branch \n NULLIFY(&a,false); [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___25); [line 24]\n *&SIL_temp_conditional___25:int &=&v2 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 29 [label="29: ConditinalStmt Branch \n NULLIFY(&a,false); [line 24]\n *&SIL_temp_conditional___n$1:int &=&v2 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
29 -> 25 ; 29 -> 25 ;
28 [label="28: ConditinalStmt Branch \n NULLIFY(&a,false); [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___25); [line 24]\n *&SIL_temp_conditional___25:int &=&v1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 28 [label="28: ConditinalStmt Branch \n NULLIFY(&a,false); [line 24]\n *&SIL_temp_conditional___n$1:int &=&v1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
28 -> 25 ; 28 -> 25 ;
27 [label="27: Prune (false branch) \n n$1=*&a:int [line 24]\n PRUNE((n$1 == 0), false); [line 24]\n REMOVE_TEMPS(n$1); [line 24]\n " shape="invhouse"] 27 [label="27: Prune (false branch) \n n$2=*&a:int [line 24]\n PRUNE((n$2 == 0), false); [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n " shape="invhouse"]
27 -> 29 ; 27 -> 29 ;
26 [label="26: Prune (true branch) \n n$1=*&a:int [line 24]\n PRUNE((n$1 != 0), true); [line 24]\n REMOVE_TEMPS(n$1); [line 24]\n " shape="invhouse"] 26 [label="26: Prune (true branch) \n n$2=*&a:int [line 24]\n PRUNE((n$2 != 0), true); [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n " shape="invhouse"]
26 -> 28 ; 26 -> 28 ;
@ -163,7 +163,7 @@ digraph iCFG {
23 [label="23: Exit assign_conditional \n " color=yellow style=filled] 23 [label="23: Exit assign_conditional \n " color=yellow style=filled]
22 [label="22: Start assign_conditional\nFormals: a:int \nLocals: v2:int v1:int \n DECLARE_LOCALS(&return,&v2,&v1); [line 22]\n " color=yellow style=filled] 22 [label="22: Start assign_conditional\nFormals: a:int \nLocals: SIL_temp_conditional___n$1:int & v2:int v1:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$1,&v2,&v1); [line 22]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 22]\n " color=yellow style=filled]
22 -> 32 ; 22 -> 32 ;
@ -172,23 +172,23 @@ digraph iCFG {
21 -> 16 ; 21 -> 16 ;
21 -> 17 ; 21 -> 17 ;
20 [label="20: DeclStmt \n n$3=*&SIL_temp_conditional___15:int [line 18]\n NULLIFY(&SIL_temp_conditional___15,true); [line 18]\n *&v3:int =n$3 [line 18]\n REMOVE_TEMPS(n$3); [line 18]\n " shape="box"] 20 [label="20: DeclStmt \n n$4=*&SIL_temp_conditional___n$1:int [line 18]\n *&v3:int =n$4 [line 18]\n REMOVE_TEMPS(n$4); [line 18]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 18]\n " shape="box"]
20 -> 14 ; 20 -> 14 ;
19 [label="19: ConditinalStmt Branch \n NULLIFY(&a,false); [line 18]\n NULLIFY(&v1,false); [line 18]\n DECLARE_LOCALS(&SIL_temp_conditional___15); [line 18]\n *&SIL_temp_conditional___15:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 19 [label="19: ConditinalStmt Branch \n NULLIFY(&a,false); [line 18]\n NULLIFY(&v1,false); [line 18]\n *&SIL_temp_conditional___n$1:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
19 -> 15 ; 19 -> 15 ;
18 [label="18: ConditinalStmt Branch \n NULLIFY(&a,false); [line 18]\n n$2=*&v1:int [line 18]\n DECLARE_LOCALS(&SIL_temp_conditional___15); [line 18]\n *&SIL_temp_conditional___15:int =n$2 [line 18]\n REMOVE_TEMPS(n$2); [line 18]\n NULLIFY(&v1,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 18 [label="18: ConditinalStmt Branch \n NULLIFY(&a,false); [line 18]\n n$3=*&v1:int [line 18]\n *&SIL_temp_conditional___n$1:int =n$3 [line 18]\n REMOVE_TEMPS(n$3); [line 18]\n NULLIFY(&v1,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
18 -> 15 ; 18 -> 15 ;
17 [label="17: Prune (false branch) \n n$1=*&a:int [line 18]\n PRUNE((n$1 == 0), false); [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n " shape="invhouse"] 17 [label="17: Prune (false branch) \n n$2=*&a:int [line 18]\n PRUNE((n$2 == 0), false); [line 18]\n REMOVE_TEMPS(n$2); [line 18]\n " shape="invhouse"]
17 -> 19 ; 17 -> 19 ;
16 [label="16: Prune (true branch) \n n$1=*&a:int [line 18]\n PRUNE((n$1 != 0), true); [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n " shape="invhouse"] 16 [label="16: Prune (true branch) \n n$2=*&a:int [line 18]\n PRUNE((n$2 != 0), true); [line 18]\n REMOVE_TEMPS(n$2); [line 18]\n " shape="invhouse"]
16 -> 18 ; 16 -> 18 ;
@ -203,7 +203,7 @@ digraph iCFG {
13 [label="13: Exit choose_rvalue \n " color=yellow style=filled] 13 [label="13: Exit choose_rvalue \n " color=yellow style=filled]
12 [label="12: Start choose_rvalue\nFormals: a:int \nLocals: v3:int v1:int \n DECLARE_LOCALS(&return,&v3,&v1); [line 16]\n NULLIFY(&v1,false); [line 16]\n NULLIFY(&v3,false); [line 16]\n " color=yellow style=filled] 12 [label="12: Start choose_rvalue\nFormals: a:int \nLocals: v3:int SIL_temp_conditional___n$1:int v1:int \n DECLARE_LOCALS(&return,&v3,&SIL_temp_conditional___n$1,&v1); [line 16]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 16]\n NULLIFY(&v1,false); [line 16]\n NULLIFY(&v3,false); [line 16]\n " color=yellow style=filled]
12 -> 21 ; 12 -> 21 ;
@ -216,23 +216,23 @@ digraph iCFG {
10 -> 5 ; 10 -> 5 ;
10 -> 6 ; 10 -> 6 ;
9 [label="9: DeclStmt \n n$2=*&SIL_temp_conditional___4:int & [line 12]\n NULLIFY(&SIL_temp_conditional___4,true); [line 12]\n n$3=*n$2:int [line 12]\n *&v3:int =n$3 [line 12]\n REMOVE_TEMPS(n$2,n$3); [line 12]\n " shape="box"] 9 [label="9: DeclStmt \n n$3=*&SIL_temp_conditional___n$1:int & [line 12]\n n$4=*n$3:int [line 12]\n *&v3:int =n$4 [line 12]\n REMOVE_TEMPS(n$3,n$4); [line 12]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 12]\n " shape="box"]
9 -> 3 ; 9 -> 3 ;
8 [label="8: ConditinalStmt Branch \n NULLIFY(&a,false); [line 12]\n DECLARE_LOCALS(&SIL_temp_conditional___4); [line 12]\n *&SIL_temp_conditional___4:int &=&v2 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 8 [label="8: ConditinalStmt Branch \n NULLIFY(&a,false); [line 12]\n *&SIL_temp_conditional___n$1:int &=&v2 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
8 -> 4 ; 8 -> 4 ;
7 [label="7: ConditinalStmt Branch \n NULLIFY(&a,false); [line 12]\n DECLARE_LOCALS(&SIL_temp_conditional___4); [line 12]\n *&SIL_temp_conditional___4:int &=&v1 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 7 [label="7: ConditinalStmt Branch \n NULLIFY(&a,false); [line 12]\n *&SIL_temp_conditional___n$1:int &=&v1 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
7 -> 4 ; 7 -> 4 ;
6 [label="6: Prune (false branch) \n n$1=*&a:int [line 12]\n PRUNE((n$1 == 0), false); [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n " shape="invhouse"] 6 [label="6: Prune (false branch) \n n$2=*&a:int [line 12]\n PRUNE((n$2 == 0), false); [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n " shape="invhouse"]
6 -> 8 ; 6 -> 8 ;
5 [label="5: Prune (true branch) \n n$1=*&a:int [line 12]\n PRUNE((n$1 != 0), true); [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n " shape="invhouse"] 5 [label="5: Prune (true branch) \n n$2=*&a:int [line 12]\n PRUNE((n$2 != 0), true); [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n " shape="invhouse"]
5 -> 7 ; 5 -> 7 ;
@ -247,7 +247,7 @@ digraph iCFG {
2 [label="2: Exit choose_lvalue \n " color=yellow style=filled] 2 [label="2: Exit choose_lvalue \n " color=yellow style=filled]
1 [label="1: Start choose_lvalue\nFormals: a:int \nLocals: v3:int v2:int v1:int \n DECLARE_LOCALS(&return,&v3,&v2,&v1); [line 10]\n NULLIFY(&v3,false); [line 10]\n " color=yellow style=filled] 1 [label="1: Start choose_lvalue\nFormals: a:int \nLocals: v3:int SIL_temp_conditional___n$1:int & v2:int v1:int \n DECLARE_LOCALS(&return,&v3,&SIL_temp_conditional___n$1,&v2,&v1); [line 10]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 10]\n NULLIFY(&v3,false); [line 10]\n " color=yellow style=filled]
1 -> 11 ; 1 -> 11 ;

@ -25,27 +25,27 @@ digraph iCFG {
91 -> 93 ; 91 -> 93 ;
90 [label="90: DeclStmt \n n$1=*&SIL_temp_conditional___84:int [line 89]\n NULLIFY(&SIL_temp_conditional___84,true); [line 89]\n n$2=_fun___new_array((sizeof(class Person ) * n$1):unsigned long ) [line 89]\n *&tarray:class Person *=n$2 [line 89]\n REMOVE_TEMPS(n$1,n$2); [line 89]\n NULLIFY(&tarray,false); [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="box"] 90 [label="90: DeclStmt \n n$2=*&SIL_temp_conditional___n$0:int [line 89]\n n$3=_fun___new_array((sizeof(class Person ) * n$2):unsigned long ) [line 89]\n *&tarray:class Person *=n$3 [line 89]\n REMOVE_TEMPS(n$2,n$3); [line 89]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 89]\n NULLIFY(&tarray,false); [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="box"]
90 -> 83 ; 90 -> 83 ;
89 [label="89: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___84); [line 89]\n *&SIL_temp_conditional___84:int =3 [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="box"] 89 [label="89: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =3 [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="box"]
89 -> 84 ; 89 -> 84 ;
88 [label="88: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___84); [line 89]\n *&SIL_temp_conditional___84:int =5 [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="box"] 88 [label="88: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =5 [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="box"]
88 -> 84 ; 88 -> 84 ;
87 [label="87: Prune (false branch) \n PRUNE(((n$0 == 5) == 0), false); [line 89]\n REMOVE_TEMPS(n$0); [line 89]\n " shape="invhouse"] 87 [label="87: Prune (false branch) \n PRUNE(((n$1 == 5) == 0), false); [line 89]\n REMOVE_TEMPS(n$1); [line 89]\n " shape="invhouse"]
87 -> 89 ; 87 -> 89 ;
86 [label="86: Prune (true branch) \n PRUNE(((n$0 == 5) != 0), true); [line 89]\n REMOVE_TEMPS(n$0); [line 89]\n " shape="invhouse"] 86 [label="86: Prune (true branch) \n PRUNE(((n$1 == 5) != 0), true); [line 89]\n REMOVE_TEMPS(n$1); [line 89]\n " shape="invhouse"]
86 -> 88 ; 86 -> 88 ;
85 [label="85: BinaryOperatorStmt: EQ \n n$0=_fun_getValue(5:int ) [line 89]\n " shape="box"] 85 [label="85: BinaryOperatorStmt: EQ \n n$1=_fun_getValue(5:int ) [line 89]\n " shape="box"]
85 -> 86 ; 85 -> 86 ;
@ -57,7 +57,7 @@ digraph iCFG {
83 [label="83: Exit array_of_class_with_not_constant_size \n " color=yellow style=filled] 83 [label="83: Exit array_of_class_with_not_constant_size \n " color=yellow style=filled]
82 [label="82: Start array_of_class_with_not_constant_size\nFormals: \nLocals: tarray:class Person * \n DECLARE_LOCALS(&return,&tarray); [line 88]\n NULLIFY(&tarray,false); [line 88]\n " color=yellow style=filled] 82 [label="82: Start array_of_class_with_not_constant_size\nFormals: \nLocals: tarray:class Person * SIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&tarray,&SIL_temp_conditional___n$0); [line 88]\n NULLIFY(&SIL_temp_conditional___n$0,false); [line 88]\n NULLIFY(&tarray,false); [line 88]\n " color=yellow style=filled]
82 -> 85 ; 82 -> 85 ;
@ -76,27 +76,27 @@ digraph iCFG {
78 -> 81 ; 78 -> 81 ;
77 [label="77: DeclStmt \n n$8=*&SIL_temp_conditional___71:int [line 76]\n NULLIFY(&SIL_temp_conditional___71,true); [line 76]\n n$9=_fun___new_array((sizeof(int ) * n$8):unsigned long ) [line 76]\n *&x2:int *=n$9 [line 76]\n REMOVE_TEMPS(n$8,n$9); [line 76]\n " shape="box"] 77 [label="77: DeclStmt \n n$9=*&SIL_temp_conditional___n$6:int [line 76]\n n$10=_fun___new_array((sizeof(int ) * n$9):unsigned long ) [line 76]\n *&x2:int *=n$10 [line 76]\n REMOVE_TEMPS(n$9,n$10); [line 76]\n NULLIFY(&SIL_temp_conditional___n$6,false); [line 76]\n " shape="box"]
77 -> 70 ; 77 -> 70 ;
76 [label="76: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___71); [line 76]\n *&SIL_temp_conditional___71:int =3 [line 76]\n APPLY_ABSTRACTION; [line 76]\n " shape="box"] 76 [label="76: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =3 [line 76]\n APPLY_ABSTRACTION; [line 76]\n " shape="box"]
76 -> 71 ; 76 -> 71 ;
75 [label="75: ConditinalStmt Branch \n n$7=_fun_getValue(5:int ) [line 76]\n DECLARE_LOCALS(&SIL_temp_conditional___71); [line 76]\n *&SIL_temp_conditional___71:int =n$7 [line 76]\n REMOVE_TEMPS(n$7); [line 76]\n APPLY_ABSTRACTION; [line 76]\n " shape="box"] 75 [label="75: ConditinalStmt Branch \n n$8=_fun_getValue(5:int ) [line 76]\n *&SIL_temp_conditional___n$6:int =n$8 [line 76]\n REMOVE_TEMPS(n$8); [line 76]\n APPLY_ABSTRACTION; [line 76]\n " shape="box"]
75 -> 71 ; 75 -> 71 ;
74 [label="74: Prune (false branch) \n PRUNE((n$6 == 0), false); [line 76]\n REMOVE_TEMPS(n$6); [line 76]\n " shape="invhouse"] 74 [label="74: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 76]\n REMOVE_TEMPS(n$7); [line 76]\n " shape="invhouse"]
74 -> 76 ; 74 -> 76 ;
73 [label="73: Prune (true branch) \n PRUNE((n$6 != 0), true); [line 76]\n REMOVE_TEMPS(n$6); [line 76]\n " shape="invhouse"] 73 [label="73: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 76]\n REMOVE_TEMPS(n$7); [line 76]\n " shape="invhouse"]
73 -> 75 ; 73 -> 75 ;
72 [label="72: Call _fun_getValue \n n$6=_fun_getValue(5:int ) [line 76]\n " shape="box"] 72 [label="72: Call _fun_getValue \n n$7=_fun_getValue(5:int ) [line 76]\n " shape="box"]
72 -> 73 ; 72 -> 73 ;
@ -120,7 +120,7 @@ digraph iCFG {
67 [label="67: Exit int_array \n " color=yellow style=filled] 67 [label="67: Exit int_array \n " color=yellow style=filled]
66 [label="66: Start int_array\nFormals: \nLocals: x2:int * \n DECLARE_LOCALS(&return,&x2); [line 75]\n NULLIFY(&x2,false); [line 75]\n " color=yellow style=filled] 66 [label="66: Start int_array\nFormals: \nLocals: x2:int * SIL_temp_conditional___n$6:int \n DECLARE_LOCALS(&return,&x2,&SIL_temp_conditional___n$6); [line 75]\n NULLIFY(&SIL_temp_conditional___n$6,false); [line 75]\n NULLIFY(&x2,false); [line 75]\n " color=yellow style=filled]
66 -> 72 ; 66 -> 72 ;
@ -128,27 +128,27 @@ digraph iCFG {
65 -> 59 ; 65 -> 59 ;
64 [label="64: DeclStmt \n n$2=_fun___new(sizeof(class Person ):unsigned long ) [line 71]\n n$6=*&SIL_temp_conditional___58:int [line 71]\n NULLIFY(&SIL_temp_conditional___58,true); [line 71]\n _fun_Person_Person(n$2:class Person *,n$6:int ) [line 71]\n *&p:class Person *=n$2 [line 71]\n REMOVE_TEMPS(n$2,n$6); [line 71]\n " shape="box"] 64 [label="64: DeclStmt \n n$2=_fun___new(sizeof(class Person ):unsigned long ) [line 71]\n n$7=*&SIL_temp_conditional___n$3:int [line 71]\n _fun_Person_Person(n$2:class Person *,n$7:int ) [line 71]\n *&p:class Person *=n$2 [line 71]\n REMOVE_TEMPS(n$2,n$7); [line 71]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 71]\n " shape="box"]
64 -> 57 ; 64 -> 57 ;
63 [label="63: ConditinalStmt Branch \n n$5=*&z:int [line 71]\n DECLARE_LOCALS(&SIL_temp_conditional___58); [line 71]\n *&SIL_temp_conditional___58:int =(1 + n$5) [line 71]\n REMOVE_TEMPS(n$5); [line 71]\n NULLIFY(&z,false); [line 71]\n APPLY_ABSTRACTION; [line 71]\n " shape="box"] 63 [label="63: ConditinalStmt Branch \n n$6=*&z:int [line 71]\n *&SIL_temp_conditional___n$3:int =(1 + n$6) [line 71]\n REMOVE_TEMPS(n$6); [line 71]\n NULLIFY(&z,false); [line 71]\n APPLY_ABSTRACTION; [line 71]\n " shape="box"]
63 -> 58 ; 63 -> 58 ;
62 [label="62: ConditinalStmt Branch \n NULLIFY(&z,false); [line 71]\n n$4=_fun_getValue(1:int ) [line 71]\n DECLARE_LOCALS(&SIL_temp_conditional___58); [line 71]\n *&SIL_temp_conditional___58:int =n$4 [line 71]\n REMOVE_TEMPS(n$4); [line 71]\n APPLY_ABSTRACTION; [line 71]\n " shape="box"] 62 [label="62: ConditinalStmt Branch \n NULLIFY(&z,false); [line 71]\n n$5=_fun_getValue(1:int ) [line 71]\n *&SIL_temp_conditional___n$3:int =n$5 [line 71]\n REMOVE_TEMPS(n$5); [line 71]\n APPLY_ABSTRACTION; [line 71]\n " shape="box"]
62 -> 58 ; 62 -> 58 ;
61 [label="61: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 71]\n REMOVE_TEMPS(n$3); [line 71]\n " shape="invhouse"] 61 [label="61: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 71]\n REMOVE_TEMPS(n$4); [line 71]\n " shape="invhouse"]
61 -> 63 ; 61 -> 63 ;
60 [label="60: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 71]\n REMOVE_TEMPS(n$3); [line 71]\n " shape="invhouse"] 60 [label="60: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 71]\n REMOVE_TEMPS(n$4); [line 71]\n " shape="invhouse"]
60 -> 62 ; 60 -> 62 ;
59 [label="59: Call _fun_getValue \n n$3=_fun_getValue(0:int ) [line 71]\n " shape="box"] 59 [label="59: Call _fun_getValue \n n$4=_fun_getValue(0:int ) [line 71]\n " shape="box"]
59 -> 60 ; 59 -> 60 ;
@ -164,7 +164,7 @@ digraph iCFG {
56 [label="56: Exit constructor_nodes \n " color=yellow style=filled] 56 [label="56: Exit constructor_nodes \n " color=yellow style=filled]
55 [label="55: Start constructor_nodes\nFormals: \nLocals: p:class Person * z:int \n DECLARE_LOCALS(&return,&p,&z); [line 69]\n NULLIFY(&p,false); [line 69]\n NULLIFY(&z,false); [line 69]\n " color=yellow style=filled] 55 [label="55: Start constructor_nodes\nFormals: \nLocals: p:class Person * SIL_temp_conditional___n$3:int z:int \n DECLARE_LOCALS(&return,&p,&SIL_temp_conditional___n$3,&z); [line 69]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 69]\n NULLIFY(&p,false); [line 69]\n NULLIFY(&z,false); [line 69]\n " color=yellow style=filled]
55 -> 65 ; 55 -> 65 ;
@ -172,31 +172,31 @@ digraph iCFG {
54 -> 53 ; 54 -> 53 ;
53 [label="53: DeclStmt \n n$8=_fun___new(sizeof(int ):unsigned long ) [line 64]\n n$9=_fun_getValue(4:int ) [line 64]\n *n$8:int =n$9 [line 64]\n *&y:int *=n$8 [line 64]\n REMOVE_TEMPS(n$8,n$9); [line 64]\n " shape="box"] 53 [label="53: DeclStmt \n n$9=_fun___new(sizeof(int ):unsigned long ) [line 64]\n n$10=_fun_getValue(4:int ) [line 64]\n *n$9:int =n$10 [line 64]\n *&y:int *=n$9 [line 64]\n REMOVE_TEMPS(n$9,n$10); [line 64]\n " shape="box"]
53 -> 47 ; 53 -> 47 ;
52 [label="52: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 65]\n n$7=*&SIL_temp_conditional___46:int [line 65]\n NULLIFY(&SIL_temp_conditional___46,true); [line 65]\n *n$2:int =n$7 [line 65]\n *&x:int *=n$2 [line 65]\n REMOVE_TEMPS(n$2,n$7); [line 65]\n " shape="box"] 52 [label="52: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 65]\n n$8=*&SIL_temp_conditional___n$3:int [line 65]\n *n$2:int =n$8 [line 65]\n *&x:int *=n$2 [line 65]\n REMOVE_TEMPS(n$2,n$8); [line 65]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 65]\n " shape="box"]
52 -> 45 ; 52 -> 45 ;
51 [label="51: ConditinalStmt Branch \n n$5=*&y:int * [line 65]\n n$6=*n$5:int [line 65]\n DECLARE_LOCALS(&SIL_temp_conditional___46); [line 65]\n *&SIL_temp_conditional___46:int =(1 + n$6) [line 65]\n REMOVE_TEMPS(n$5,n$6); [line 65]\n NULLIFY(&y,false); [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"] 51 [label="51: ConditinalStmt Branch \n n$6=*&y:int * [line 65]\n n$7=*n$6:int [line 65]\n *&SIL_temp_conditional___n$3:int =(1 + n$7) [line 65]\n REMOVE_TEMPS(n$6,n$7); [line 65]\n NULLIFY(&y,false); [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"]
51 -> 46 ; 51 -> 46 ;
50 [label="50: ConditinalStmt Branch \n NULLIFY(&y,false); [line 65]\n n$4=_fun_getValue(1:int ) [line 65]\n DECLARE_LOCALS(&SIL_temp_conditional___46); [line 65]\n *&SIL_temp_conditional___46:int =n$4 [line 65]\n REMOVE_TEMPS(n$4); [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"] 50 [label="50: ConditinalStmt Branch \n NULLIFY(&y,false); [line 65]\n n$5=_fun_getValue(1:int ) [line 65]\n *&SIL_temp_conditional___n$3:int =n$5 [line 65]\n REMOVE_TEMPS(n$5); [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"]
50 -> 46 ; 50 -> 46 ;
49 [label="49: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 65]\n REMOVE_TEMPS(n$3); [line 65]\n " shape="invhouse"] 49 [label="49: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 65]\n REMOVE_TEMPS(n$4); [line 65]\n " shape="invhouse"]
49 -> 51 ; 49 -> 51 ;
48 [label="48: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 65]\n REMOVE_TEMPS(n$3); [line 65]\n " shape="invhouse"] 48 [label="48: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 65]\n REMOVE_TEMPS(n$4); [line 65]\n " shape="invhouse"]
48 -> 50 ; 48 -> 50 ;
47 [label="47: Call _fun_getValue \n n$3=_fun_getValue(0:int ) [line 65]\n " shape="box"] 47 [label="47: Call _fun_getValue \n n$4=_fun_getValue(0:int ) [line 65]\n " shape="box"]
47 -> 48 ; 47 -> 48 ;
@ -212,7 +212,7 @@ digraph iCFG {
44 [label="44: Exit int_init_nodes \n " color=yellow style=filled] 44 [label="44: Exit int_init_nodes \n " color=yellow style=filled]
43 [label="43: Start int_init_nodes\nFormals: \nLocals: x:int * y:int * z:int \n DECLARE_LOCALS(&return,&x,&y,&z); [line 62]\n NULLIFY(&x,false); [line 62]\n NULLIFY(&y,false); [line 62]\n NULLIFY(&z,false); [line 62]\n " color=yellow style=filled] 43 [label="43: Start int_init_nodes\nFormals: \nLocals: x:int * SIL_temp_conditional___n$3:int y:int * z:int \n DECLARE_LOCALS(&return,&x,&SIL_temp_conditional___n$3,&y,&z); [line 62]\n NULLIFY(&SIL_temp_conditional___n$3,false); [line 62]\n NULLIFY(&x,false); [line 62]\n NULLIFY(&y,false); [line 62]\n NULLIFY(&z,false); [line 62]\n " color=yellow style=filled]
43 -> 54 ; 43 -> 54 ;

@ -71,20 +71,20 @@ digraph iCFG {
56 -> 64 ; 56 -> 64 ;
55 [label="55: Return Stmt \n n$2=*&a:int [line 44]\n *&return:int =(1 / (n$2 - 1)) [line 44]\n REMOVE_TEMPS(n$2); [line 44]\n NULLIFY(&a,false); [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"] 55 [label="55: Return Stmt \n n$3=*&a:int [line 44]\n *&return:int =(1 / (n$3 - 1)) [line 44]\n REMOVE_TEMPS(n$3); [line 44]\n NULLIFY(&a,false); [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
55 -> 44 ; 55 -> 44 ;
54 [label="54: DeclStmt \n n$1=*&SIL_temp_conditional___49:int [line 43]\n NULLIFY(&SIL_temp_conditional___49,true); [line 43]\n *&a:int =n$1 [line 43]\n REMOVE_TEMPS(n$1); [line 43]\n " shape="box"] 54 [label="54: DeclStmt \n n$2=*&SIL_temp_conditional___n$1:int [line 43]\n *&a:int =n$2 [line 43]\n REMOVE_TEMPS(n$2); [line 43]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 43]\n " shape="box"]
54 -> 47 ; 54 -> 47 ;
54 -> 48 ; 54 -> 48 ;
53 [label="53: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___49); [line 43]\n *&SIL_temp_conditional___49:int =0 [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"] 53 [label="53: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
53 -> 49 ; 53 -> 49 ;
52 [label="52: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___49); [line 43]\n *&SIL_temp_conditional___49:int =1 [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"] 52 [label="52: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
52 -> 49 ; 52 -> 49 ;
@ -119,7 +119,7 @@ digraph iCFG {
44 [label="44: Exit conditional_init_div0 \n " color=yellow style=filled] 44 [label="44: Exit conditional_init_div0 \n " color=yellow style=filled]
43 [label="43: Start conditional_init_div0\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 42]\n NULLIFY(&a,false); [line 42]\n " color=yellow style=filled] 43 [label="43: Start conditional_init_div0\nFormals: \nLocals: a:int SIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&a,&SIL_temp_conditional___n$1); [line 42]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 42]\n NULLIFY(&a,false); [line 42]\n " color=yellow style=filled]
43 -> 50 ; 43 -> 50 ;

@ -7,36 +7,36 @@ digraph iCFG {
27 -> 15 ; 27 -> 15 ;
26 [label="26: BinaryOperatorStmt: AddAssign \n n$5=*&a:int [line 24]\n n$6=*&result:int [line 24]\n *&result:int =(n$6 + n$5) [line 24]\n REMOVE_TEMPS(n$5,n$6); [line 24]\n NULLIFY(&a,false); [line 24]\n " shape="box"] 26 [label="26: BinaryOperatorStmt: AddAssign \n n$6=*&a:int [line 24]\n n$7=*&result:int [line 24]\n *&result:int =(n$7 + n$6) [line 24]\n REMOVE_TEMPS(n$6,n$7); [line 24]\n NULLIFY(&a,false); [line 24]\n " shape="box"]
26 -> 25 ; 26 -> 25 ;
25 [label="25: BinaryOperatorStmt: SubAssign \n n$4=*&x:int [line 25]\n *&x:int =(n$4 - 1) [line 25]\n REMOVE_TEMPS(n$4); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 25 [label="25: BinaryOperatorStmt: SubAssign \n n$5=*&x:int [line 25]\n *&x:int =(n$5 - 1) [line 25]\n REMOVE_TEMPS(n$5); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
25 -> 15 ; 25 -> 15 ;
24 [label="24: DeclStmt \n n$3=*&SIL_temp_conditional___18:int [line 23]\n NULLIFY(&SIL_temp_conditional___18,true); [line 23]\n *&a:int =n$3 [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n " shape="box"] 24 [label="24: DeclStmt \n n$4=*&SIL_temp_conditional___n$1:int [line 23]\n *&a:int =n$4 [line 23]\n REMOVE_TEMPS(n$4); [line 23]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 23]\n " shape="box"]
24 -> 16 ; 24 -> 16 ;
24 -> 17 ; 24 -> 17 ;
23 [label="23: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___18); [line 23]\n *&SIL_temp_conditional___18:int =0 [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"] 23 [label="23: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
23 -> 18 ; 23 -> 18 ;
22 [label="22: ConditinalStmt Branch \n n$2=*&x:int [line 23]\n DECLARE_LOCALS(&SIL_temp_conditional___18); [line 23]\n *&SIL_temp_conditional___18:int =n$2 [line 23]\n REMOVE_TEMPS(n$2); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"] 22 [label="22: ConditinalStmt Branch \n n$3=*&x:int [line 23]\n *&SIL_temp_conditional___n$1:int =n$3 [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
22 -> 18 ; 22 -> 18 ;
21 [label="21: Prune (false branch) \n PRUNE(((n$1 > 0) == 0), false); [line 23]\n REMOVE_TEMPS(n$1); [line 23]\n " shape="invhouse"] 21 [label="21: Prune (false branch) \n PRUNE(((n$2 > 0) == 0), false); [line 23]\n REMOVE_TEMPS(n$2); [line 23]\n " shape="invhouse"]
21 -> 23 ; 21 -> 23 ;
20 [label="20: Prune (true branch) \n PRUNE(((n$1 > 0) != 0), true); [line 23]\n REMOVE_TEMPS(n$1); [line 23]\n " shape="invhouse"] 20 [label="20: Prune (true branch) \n PRUNE(((n$2 > 0) != 0), true); [line 23]\n REMOVE_TEMPS(n$2); [line 23]\n " shape="invhouse"]
20 -> 22 ; 20 -> 22 ;
19 [label="19: BinaryOperatorStmt: GT \n n$1=*&x:int [line 23]\n " shape="box"] 19 [label="19: BinaryOperatorStmt: GT \n n$2=*&x:int [line 23]\n " shape="box"]
19 -> 20 ; 19 -> 20 ;
@ -64,7 +64,7 @@ digraph iCFG {
13 [label="13: Exit conditional_assignment \n " color=yellow style=filled] 13 [label="13: Exit conditional_assignment \n " color=yellow style=filled]
12 [label="12: Start conditional_assignment\nFormals: \nLocals: a:int result:int x:int \n DECLARE_LOCALS(&return,&a,&result,&x); [line 20]\n NULLIFY(&a,false); [line 20]\n NULLIFY(&result,false); [line 20]\n NULLIFY(&x,false); [line 20]\n " color=yellow style=filled] 12 [label="12: Start conditional_assignment\nFormals: \nLocals: a:int SIL_temp_conditional___n$1:int result:int x:int \n DECLARE_LOCALS(&return,&a,&SIL_temp_conditional___n$1,&result,&x); [line 20]\n NULLIFY(&SIL_temp_conditional___n$1,false); [line 20]\n NULLIFY(&a,false); [line 20]\n NULLIFY(&result,false); [line 20]\n NULLIFY(&x,false); [line 20]\n " color=yellow style=filled]
12 -> 28 ; 12 -> 28 ;

@ -1,26 +1,26 @@
digraph iCFG { digraph iCFG {
105 [label="105: DeclStmt \n n$20=_fun_NSString_stringWithUTF8String:(\"\":char *) [line 36]\n _fun___objc_retain(n$20:class NSString *) [line 36]\n *&__assert_fn__:class NSString *=n$20 [line 36]\n REMOVE_TEMPS(n$20); [line 36]\n " shape="box"] 105 [label="105: DeclStmt \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 36]\n NULLIFY(&target,false); [line 36]\n n$23=_fun_NSString_stringWithUTF8String:(\"\":char *) [line 36]\n _fun___objc_retain(n$23:class NSString *) [line 36]\n *&__assert_fn__:class NSString *=n$23 [line 36]\n REMOVE_TEMPS(n$23); [line 36]\n " shape="box"]
105 -> 100 ; 105 -> 100 ;
105 -> 101 ; 105 -> 101 ;
104 [label="104: BinaryOperatorStmt: Assign \n n$18=*&SIL_temp_conditional___99:class NSString * [line 36]\n NULLIFY(&SIL_temp_conditional___99,true); [line 36]\n _fun___objc_retain(n$18:class NSString *) [line 36]\n n$19=*&__assert_fn__:class NSString * [line 36]\n *&__assert_fn__:class NSString *=n$18 [line 36]\n _fun___objc_release(n$19:class NSString *) [line 36]\n REMOVE_TEMPS(n$18,n$19); [line 36]\n NULLIFY(&__assert_fn__,false); [line 36]\n " shape="box"] 104 [label="104: BinaryOperatorStmt: Assign \n n$21=*&SIL_temp_conditional___n$17:class NSString * [line 36]\n _fun___objc_retain(n$21:class NSString *) [line 36]\n n$22=*&__assert_fn__:class NSString * [line 36]\n *&__assert_fn__:class NSString *=n$21 [line 36]\n _fun___objc_release(n$22:class NSString *) [line 36]\n REMOVE_TEMPS(n$21,n$22); [line 36]\n NULLIFY(&SIL_temp_conditional___n$17,false); [line 36]\n NULLIFY(&__assert_fn__,false); [line 36]\n " shape="box"]
104 -> 98 ; 104 -> 98 ;
103 [label="103: ConditinalStmt Branch \n n$17=_fun_NSString_stringWithUTF8String:(\"<Unknown Function>\":char *) [line 36]\n DECLARE_LOCALS(&SIL_temp_conditional___99); [line 36]\n *&SIL_temp_conditional___99:class NSString *=n$17 [line 36]\n REMOVE_TEMPS(n$17); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 103 [label="103: ConditinalStmt Branch \n n$20=_fun_NSString_stringWithUTF8String:(\"<Unknown Function>\":char *) [line 36]\n *&SIL_temp_conditional___n$17:class NSString *=n$20 [line 36]\n REMOVE_TEMPS(n$20); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
103 -> 99 ; 103 -> 99 ;
102 [label="102: ConditinalStmt Branch \n n$16=*&__assert_fn__:class NSString * [line 36]\n DECLARE_LOCALS(&SIL_temp_conditional___99); [line 36]\n *&SIL_temp_conditional___99:class NSString *=n$16 [line 36]\n REMOVE_TEMPS(n$16); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 102 [label="102: ConditinalStmt Branch \n n$19=*&__assert_fn__:class NSString * [line 36]\n *&SIL_temp_conditional___n$17:class NSString *=n$19 [line 36]\n REMOVE_TEMPS(n$19); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
102 -> 99 ; 102 -> 99 ;
101 [label="101: Prune (false branch) \n n$15=*&__assert_fn__:class NSString * [line 36]\n PRUNE((n$15 == 0), false); [line 36]\n REMOVE_TEMPS(n$15); [line 36]\n " shape="invhouse"] 101 [label="101: Prune (false branch) \n n$18=*&__assert_fn__:class NSString * [line 36]\n PRUNE((n$18 == 0), false); [line 36]\n REMOVE_TEMPS(n$18); [line 36]\n " shape="invhouse"]
101 -> 103 ; 101 -> 103 ;
100 [label="100: Prune (true branch) \n n$15=*&__assert_fn__:class NSString * [line 36]\n PRUNE((n$15 != 0), true); [line 36]\n REMOVE_TEMPS(n$15); [line 36]\n " shape="invhouse"] 100 [label="100: Prune (true branch) \n n$18=*&__assert_fn__:class NSString * [line 36]\n PRUNE((n$18 != 0), true); [line 36]\n REMOVE_TEMPS(n$18); [line 36]\n " shape="invhouse"]
100 -> 102 ; 100 -> 102 ;
@ -28,28 +28,28 @@ digraph iCFG {
99 -> 104 ; 99 -> 104 ;
98 [label="98: DeclStmt \n n$14=_fun_NSString_stringWithUTF8String:(\"infer/tests/codetoanalyze/objc/frontend/assertions/NSAssert_example.m\":char *) [line 36]\n _fun___objc_retain(n$14:class NSString *) [line 36]\n *&__assert_file__:class NSString *=n$14 [line 36]\n REMOVE_TEMPS(n$14); [line 36]\n " shape="box"] 98 [label="98: DeclStmt \n n$16=_fun_NSString_stringWithUTF8String:(\"infer/tests/codetoanalyze/objc/frontend/assertions/NSAssert_example.m\":char *) [line 36]\n _fun___objc_retain(n$16:class NSString *) [line 36]\n *&__assert_file__:class NSString *=n$16 [line 36]\n REMOVE_TEMPS(n$16); [line 36]\n " shape="box"]
98 -> 93 ; 98 -> 93 ;
98 -> 94 ; 98 -> 94 ;
97 [label="97: BinaryOperatorStmt: Assign \n n$12=*&SIL_temp_conditional___92:class NSString * [line 36]\n NULLIFY(&SIL_temp_conditional___92,true); [line 36]\n _fun___objc_retain(n$12:class NSString *) [line 36]\n n$13=*&__assert_file__:class NSString * [line 36]\n *&__assert_file__:class NSString *=n$12 [line 36]\n _fun___objc_release(n$13:class NSString *) [line 36]\n REMOVE_TEMPS(n$12,n$13); [line 36]\n NULLIFY(&__assert_file__,false); [line 36]\n " shape="box"] 97 [label="97: BinaryOperatorStmt: Assign \n n$14=*&SIL_temp_conditional___n$10:class NSString * [line 36]\n _fun___objc_retain(n$14:class NSString *) [line 36]\n n$15=*&__assert_file__:class NSString * [line 36]\n *&__assert_file__:class NSString *=n$14 [line 36]\n _fun___objc_release(n$15:class NSString *) [line 36]\n REMOVE_TEMPS(n$14,n$15); [line 36]\n NULLIFY(&SIL_temp_conditional___n$10,false); [line 36]\n NULLIFY(&__assert_file__,false); [line 36]\n " shape="box"]
97 -> 91 ; 97 -> 91 ;
96 [label="96: ConditinalStmt Branch \n n$11=_fun_NSString_stringWithUTF8String:(\"<Unknown File>\":char *) [line 36]\n DECLARE_LOCALS(&SIL_temp_conditional___92); [line 36]\n *&SIL_temp_conditional___92:class NSString *=n$11 [line 36]\n REMOVE_TEMPS(n$11); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 96 [label="96: ConditinalStmt Branch \n n$13=_fun_NSString_stringWithUTF8String:(\"<Unknown File>\":char *) [line 36]\n *&SIL_temp_conditional___n$10:class NSString *=n$13 [line 36]\n REMOVE_TEMPS(n$13); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
96 -> 92 ; 96 -> 92 ;
95 [label="95: ConditinalStmt Branch \n n$10=*&__assert_file__:class NSString * [line 36]\n DECLARE_LOCALS(&SIL_temp_conditional___92); [line 36]\n *&SIL_temp_conditional___92:class NSString *=n$10 [line 36]\n REMOVE_TEMPS(n$10); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 95 [label="95: ConditinalStmt Branch \n n$12=*&__assert_file__:class NSString * [line 36]\n *&SIL_temp_conditional___n$10:class NSString *=n$12 [line 36]\n REMOVE_TEMPS(n$12); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
95 -> 92 ; 95 -> 92 ;
94 [label="94: Prune (false branch) \n n$9=*&__assert_file__:class NSString * [line 36]\n PRUNE((n$9 == 0), false); [line 36]\n REMOVE_TEMPS(n$9); [line 36]\n " shape="invhouse"] 94 [label="94: Prune (false branch) \n n$11=*&__assert_file__:class NSString * [line 36]\n PRUNE((n$11 == 0), false); [line 36]\n REMOVE_TEMPS(n$11); [line 36]\n " shape="invhouse"]
94 -> 96 ; 94 -> 96 ;
93 [label="93: Prune (true branch) \n n$9=*&__assert_file__:class NSString * [line 36]\n PRUNE((n$9 != 0), true); [line 36]\n REMOVE_TEMPS(n$9); [line 36]\n " shape="invhouse"] 93 [label="93: Prune (true branch) \n n$11=*&__assert_file__:class NSString * [line 36]\n PRUNE((n$11 != 0), true); [line 36]\n REMOVE_TEMPS(n$11); [line 36]\n " shape="invhouse"]
93 -> 95 ; 93 -> 95 ;
@ -61,27 +61,27 @@ digraph iCFG {
91 -> 78 ; 91 -> 78 ;
90 [label="90: Prune (false branch) \n n$3=*&SIL_temp_conditional___84:int [line 36]\n NULLIFY(&SIL_temp_conditional___84,true); [line 36]\n PRUNE((n$3 == 0), false); [line 36]\n REMOVE_TEMPS(n$3); [line 36]\n " shape="invhouse"] 90 [label="90: Prune (false branch) \n n$4=*&SIL_temp_conditional___n$2:int [line 36]\n PRUNE((n$4 == 0), false); [line 36]\n REMOVE_TEMPS(n$4); [line 36]\n " shape="invhouse"]
90 -> 83 ; 90 -> 83 ;
89 [label="89: Prune (true branch) \n n$3=*&SIL_temp_conditional___84:int [line 36]\n NULLIFY(&SIL_temp_conditional___84,true); [line 36]\n PRUNE((n$3 != 0), true); [line 36]\n REMOVE_TEMPS(n$3); [line 36]\n NULLIFY(&target,false); [line 36]\n " shape="invhouse"] 89 [label="89: Prune (true branch) \n n$4=*&SIL_temp_conditional___n$2:int [line 36]\n PRUNE((n$4 != 0), true); [line 36]\n REMOVE_TEMPS(n$4); [line 36]\n " shape="invhouse"]
89 -> 105 ; 89 -> 105 ;
88 [label="88: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___84); [line 36]\n *&SIL_temp_conditional___84:int =1 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 88 [label="88: ConditinalStmt Branch \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 36]\n *&SIL_temp_conditional___n$2:int =1 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
88 -> 84 ; 88 -> 84 ;
87 [label="87: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___84); [line 36]\n *&SIL_temp_conditional___84:int =0 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 87 [label="87: ConditinalStmt Branch \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 36]\n *&SIL_temp_conditional___n$2:int =0 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
87 -> 84 ; 87 -> 84 ;
86 [label="86: Prune (false branch) \n n$2=*&target:class A * [line 36]\n PRUNE((n$2 == 0), false); [line 36]\n REMOVE_TEMPS(n$2); [line 36]\n " shape="invhouse"] 86 [label="86: Prune (false branch) \n n$3=*&target:class A * [line 36]\n PRUNE((n$3 == 0), false); [line 36]\n REMOVE_TEMPS(n$3); [line 36]\n " shape="invhouse"]
86 -> 88 ; 86 -> 88 ;
85 [label="85: Prune (true branch) \n n$2=*&target:class A * [line 36]\n PRUNE((n$2 != 0), true); [line 36]\n REMOVE_TEMPS(n$2); [line 36]\n " shape="invhouse"] 85 [label="85: Prune (true branch) \n n$3=*&target:class A * [line 36]\n PRUNE((n$3 != 0), true); [line 36]\n REMOVE_TEMPS(n$3); [line 36]\n " shape="invhouse"]
85 -> 87 ; 85 -> 87 ;
@ -108,39 +108,39 @@ digraph iCFG {
80 -> 85 ; 80 -> 85 ;
80 -> 86 ; 80 -> 86 ;
79 [label="79: Return Stmt \n n$0=*&target:class A * [line 37]\n n$1=_fun_A_x(n$0:class A *) [line 37]\n *&return:int =n$1 [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"] 79 [label="79: Return Stmt \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 37]\n n$0=*&target:class A * [line 37]\n n$1=_fun_A_x(n$0:class A *) [line 37]\n *&return:int =n$1 [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"]
79 -> 78 ; 79 -> 78 ;
78 [label="78: Exit test2 \n " color=yellow style=filled] 78 [label="78: Exit test2 \n " color=yellow style=filled]
77 [label="77: Start test2\nFormals: target:class A *\nLocals: __assert_file__:class NSString * __assert_fn__:class NSString * \n DECLARE_LOCALS(&return,&__assert_file__,&__assert_fn__); [line 35]\n NULLIFY(&__assert_file__,false); [line 35]\n NULLIFY(&__assert_fn__,false); [line 35]\n " color=yellow style=filled] 77 [label="77: Start test2\nFormals: target:class A *\nLocals: SIL_temp_conditional___n$2:int SIL_temp_conditional___n$10:class NSString * __assert_file__:class NSString * SIL_temp_conditional___n$17:class NSString * __assert_fn__:class NSString * \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$2,&SIL_temp_conditional___n$10,&__assert_file__,&SIL_temp_conditional___n$17,&__assert_fn__); [line 35]\n NULLIFY(&SIL_temp_conditional___n$10,false); [line 35]\n NULLIFY(&SIL_temp_conditional___n$17,false); [line 35]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 35]\n NULLIFY(&__assert_file__,false); [line 35]\n NULLIFY(&__assert_fn__,false); [line 35]\n " color=yellow style=filled]
77 -> 80 ; 77 -> 80 ;
76 [label="76: DeclStmt \n n$19=_fun_NSString_stringWithUTF8String:(\"\":char *) [line 31]\n _fun___objc_retain(n$19:class NSString *) [line 31]\n *&__assert_fn__:class NSString *=n$19 [line 31]\n REMOVE_TEMPS(n$19); [line 31]\n " shape="box"] 76 [label="76: DeclStmt \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 31]\n NULLIFY(&target,false); [line 31]\n n$22=_fun_NSString_stringWithUTF8String:(\"\":char *) [line 31]\n _fun___objc_retain(n$22:class NSString *) [line 31]\n *&__assert_fn__:class NSString *=n$22 [line 31]\n REMOVE_TEMPS(n$22); [line 31]\n " shape="box"]
76 -> 71 ; 76 -> 71 ;
76 -> 72 ; 76 -> 72 ;
75 [label="75: BinaryOperatorStmt: Assign \n n$17=*&SIL_temp_conditional___70:class NSString * [line 31]\n NULLIFY(&SIL_temp_conditional___70,true); [line 31]\n _fun___objc_retain(n$17:class NSString *) [line 31]\n n$18=*&__assert_fn__:class NSString * [line 31]\n *&__assert_fn__:class NSString *=n$17 [line 31]\n _fun___objc_release(n$18:class NSString *) [line 31]\n REMOVE_TEMPS(n$17,n$18); [line 31]\n NULLIFY(&__assert_fn__,false); [line 31]\n " shape="box"] 75 [label="75: BinaryOperatorStmt: Assign \n n$20=*&SIL_temp_conditional___n$16:class NSString * [line 31]\n _fun___objc_retain(n$20:class NSString *) [line 31]\n n$21=*&__assert_fn__:class NSString * [line 31]\n *&__assert_fn__:class NSString *=n$20 [line 31]\n _fun___objc_release(n$21:class NSString *) [line 31]\n REMOVE_TEMPS(n$20,n$21); [line 31]\n NULLIFY(&SIL_temp_conditional___n$16,false); [line 31]\n NULLIFY(&__assert_fn__,false); [line 31]\n " shape="box"]
75 -> 69 ; 75 -> 69 ;
74 [label="74: ConditinalStmt Branch \n n$16=_fun_NSString_stringWithUTF8String:(\"<Unknown Function>\":char *) [line 31]\n DECLARE_LOCALS(&SIL_temp_conditional___70); [line 31]\n *&SIL_temp_conditional___70:class NSString *=n$16 [line 31]\n REMOVE_TEMPS(n$16); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"] 74 [label="74: ConditinalStmt Branch \n n$19=_fun_NSString_stringWithUTF8String:(\"<Unknown Function>\":char *) [line 31]\n *&SIL_temp_conditional___n$16:class NSString *=n$19 [line 31]\n REMOVE_TEMPS(n$19); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
74 -> 70 ; 74 -> 70 ;
73 [label="73: ConditinalStmt Branch \n n$15=*&__assert_fn__:class NSString * [line 31]\n DECLARE_LOCALS(&SIL_temp_conditional___70); [line 31]\n *&SIL_temp_conditional___70:class NSString *=n$15 [line 31]\n REMOVE_TEMPS(n$15); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"] 73 [label="73: ConditinalStmt Branch \n n$18=*&__assert_fn__:class NSString * [line 31]\n *&SIL_temp_conditional___n$16:class NSString *=n$18 [line 31]\n REMOVE_TEMPS(n$18); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
73 -> 70 ; 73 -> 70 ;
72 [label="72: Prune (false branch) \n n$14=*&__assert_fn__:class NSString * [line 31]\n PRUNE((n$14 == 0), false); [line 31]\n REMOVE_TEMPS(n$14); [line 31]\n " shape="invhouse"] 72 [label="72: Prune (false branch) \n n$17=*&__assert_fn__:class NSString * [line 31]\n PRUNE((n$17 == 0), false); [line 31]\n REMOVE_TEMPS(n$17); [line 31]\n " shape="invhouse"]
72 -> 74 ; 72 -> 74 ;
71 [label="71: Prune (true branch) \n n$14=*&__assert_fn__:class NSString * [line 31]\n PRUNE((n$14 != 0), true); [line 31]\n REMOVE_TEMPS(n$14); [line 31]\n " shape="invhouse"] 71 [label="71: Prune (true branch) \n n$17=*&__assert_fn__:class NSString * [line 31]\n PRUNE((n$17 != 0), true); [line 31]\n REMOVE_TEMPS(n$17); [line 31]\n " shape="invhouse"]
71 -> 73 ; 71 -> 73 ;
@ -148,28 +148,28 @@ digraph iCFG {
70 -> 75 ; 70 -> 75 ;
69 [label="69: DeclStmt \n n$13=_fun_NSString_stringWithUTF8String:(\"infer/tests/codetoanalyze/objc/frontend/assertions/NSAssert_example.m\":char *) [line 31]\n _fun___objc_retain(n$13:class NSString *) [line 31]\n *&__assert_file__:class NSString *=n$13 [line 31]\n REMOVE_TEMPS(n$13); [line 31]\n " shape="box"] 69 [label="69: DeclStmt \n n$15=_fun_NSString_stringWithUTF8String:(\"infer/tests/codetoanalyze/objc/frontend/assertions/NSAssert_example.m\":char *) [line 31]\n _fun___objc_retain(n$15:class NSString *) [line 31]\n *&__assert_file__:class NSString *=n$15 [line 31]\n REMOVE_TEMPS(n$15); [line 31]\n " shape="box"]
69 -> 64 ; 69 -> 64 ;
69 -> 65 ; 69 -> 65 ;
68 [label="68: BinaryOperatorStmt: Assign \n n$11=*&SIL_temp_conditional___63:class NSString * [line 31]\n NULLIFY(&SIL_temp_conditional___63,true); [line 31]\n _fun___objc_retain(n$11:class NSString *) [line 31]\n n$12=*&__assert_file__:class NSString * [line 31]\n *&__assert_file__:class NSString *=n$11 [line 31]\n _fun___objc_release(n$12:class NSString *) [line 31]\n REMOVE_TEMPS(n$11,n$12); [line 31]\n NULLIFY(&__assert_file__,false); [line 31]\n " shape="box"] 68 [label="68: BinaryOperatorStmt: Assign \n n$13=*&SIL_temp_conditional___n$9:class NSString * [line 31]\n _fun___objc_retain(n$13:class NSString *) [line 31]\n n$14=*&__assert_file__:class NSString * [line 31]\n *&__assert_file__:class NSString *=n$13 [line 31]\n _fun___objc_release(n$14:class NSString *) [line 31]\n REMOVE_TEMPS(n$13,n$14); [line 31]\n NULLIFY(&SIL_temp_conditional___n$9,false); [line 31]\n NULLIFY(&__assert_file__,false); [line 31]\n " shape="box"]
68 -> 62 ; 68 -> 62 ;
67 [label="67: ConditinalStmt Branch \n n$10=_fun_NSString_stringWithUTF8String:(\"<Unknown File>\":char *) [line 31]\n DECLARE_LOCALS(&SIL_temp_conditional___63); [line 31]\n *&SIL_temp_conditional___63:class NSString *=n$10 [line 31]\n REMOVE_TEMPS(n$10); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"] 67 [label="67: ConditinalStmt Branch \n n$12=_fun_NSString_stringWithUTF8String:(\"<Unknown File>\":char *) [line 31]\n *&SIL_temp_conditional___n$9:class NSString *=n$12 [line 31]\n REMOVE_TEMPS(n$12); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
67 -> 63 ; 67 -> 63 ;
66 [label="66: ConditinalStmt Branch \n n$9=*&__assert_file__:class NSString * [line 31]\n DECLARE_LOCALS(&SIL_temp_conditional___63); [line 31]\n *&SIL_temp_conditional___63:class NSString *=n$9 [line 31]\n REMOVE_TEMPS(n$9); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"] 66 [label="66: ConditinalStmt Branch \n n$11=*&__assert_file__:class NSString * [line 31]\n *&SIL_temp_conditional___n$9:class NSString *=n$11 [line 31]\n REMOVE_TEMPS(n$11); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
66 -> 63 ; 66 -> 63 ;
65 [label="65: Prune (false branch) \n n$8=*&__assert_file__:class NSString * [line 31]\n PRUNE((n$8 == 0), false); [line 31]\n REMOVE_TEMPS(n$8); [line 31]\n " shape="invhouse"] 65 [label="65: Prune (false branch) \n n$10=*&__assert_file__:class NSString * [line 31]\n PRUNE((n$10 == 0), false); [line 31]\n REMOVE_TEMPS(n$10); [line 31]\n " shape="invhouse"]
65 -> 67 ; 65 -> 67 ;
64 [label="64: Prune (true branch) \n n$8=*&__assert_file__:class NSString * [line 31]\n PRUNE((n$8 != 0), true); [line 31]\n REMOVE_TEMPS(n$8); [line 31]\n " shape="invhouse"] 64 [label="64: Prune (true branch) \n n$10=*&__assert_file__:class NSString * [line 31]\n PRUNE((n$10 != 0), true); [line 31]\n REMOVE_TEMPS(n$10); [line 31]\n " shape="invhouse"]
64 -> 66 ; 64 -> 66 ;
@ -181,31 +181,31 @@ digraph iCFG {
62 -> 48 ; 62 -> 48 ;
61 [label="61: Prune (false branch) \n n$3=*&SIL_temp_conditional___54:int [line 31]\n NULLIFY(&SIL_temp_conditional___54,true); [line 31]\n PRUNE((n$3 == 0), false); [line 31]\n REMOVE_TEMPS(n$3); [line 31]\n " shape="invhouse"] 61 [label="61: Prune (false branch) \n n$4=*&SIL_temp_conditional___n$2:int [line 31]\n PRUNE((n$4 == 0), false); [line 31]\n REMOVE_TEMPS(n$4); [line 31]\n " shape="invhouse"]
61 -> 53 ; 61 -> 53 ;
60 [label="60: Prune (true branch) \n n$3=*&SIL_temp_conditional___54:int [line 31]\n NULLIFY(&SIL_temp_conditional___54,true); [line 31]\n PRUNE((n$3 != 0), true); [line 31]\n REMOVE_TEMPS(n$3); [line 31]\n NULLIFY(&target,false); [line 31]\n " shape="invhouse"] 60 [label="60: Prune (true branch) \n n$4=*&SIL_temp_conditional___n$2:int [line 31]\n PRUNE((n$4 != 0), true); [line 31]\n REMOVE_TEMPS(n$4); [line 31]\n " shape="invhouse"]
60 -> 76 ; 60 -> 76 ;
59 [label="59: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___54); [line 31]\n *&SIL_temp_conditional___54:int =1 [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"] 59 [label="59: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
59 -> 54 ; 59 -> 54 ;
58 [label="58: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___54); [line 31]\n *&SIL_temp_conditional___54:int =0 [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"] 58 [label="58: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =0 [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
58 -> 54 ; 58 -> 54 ;
57 [label="57: Prune (false branch) \n PRUNE(((n$2 != 0) == 0), false); [line 31]\n REMOVE_TEMPS(n$2); [line 31]\n " shape="invhouse"] 57 [label="57: Prune (false branch) \n PRUNE(((n$3 != 0) == 0), false); [line 31]\n REMOVE_TEMPS(n$3); [line 31]\n " shape="invhouse"]
57 -> 59 ; 57 -> 59 ;
56 [label="56: Prune (true branch) \n PRUNE(((n$2 != 0) != 0), true); [line 31]\n REMOVE_TEMPS(n$2); [line 31]\n " shape="invhouse"] 56 [label="56: Prune (true branch) \n PRUNE(((n$3 != 0) != 0), true); [line 31]\n REMOVE_TEMPS(n$3); [line 31]\n " shape="invhouse"]
56 -> 58 ; 56 -> 58 ;
55 [label="55: BinaryOperatorStmt: NE \n n$2=*&target:class A * [line 31]\n " shape="box"] 55 [label="55: BinaryOperatorStmt: NE \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 31]\n n$3=*&target:class A * [line 31]\n " shape="box"]
55 -> 56 ; 55 -> 56 ;
@ -232,39 +232,39 @@ digraph iCFG {
50 -> 55 ; 50 -> 55 ;
49 [label="49: Return Stmt \n n$0=*&target:class A * [line 32]\n n$1=_fun_A_x(n$0:class A *) [line 32]\n *&return:int =n$1 [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"] 49 [label="49: Return Stmt \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 32]\n n$0=*&target:class A * [line 32]\n n$1=_fun_A_x(n$0:class A *) [line 32]\n *&return:int =n$1 [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"]
49 -> 48 ; 49 -> 48 ;
48 [label="48: Exit test1 \n " color=yellow style=filled] 48 [label="48: Exit test1 \n " color=yellow style=filled]
47 [label="47: Start test1\nFormals: target:class A *\nLocals: __assert_file__:class NSString * __assert_fn__:class NSString * \n DECLARE_LOCALS(&return,&__assert_file__,&__assert_fn__); [line 30]\n NULLIFY(&__assert_file__,false); [line 30]\n NULLIFY(&__assert_fn__,false); [line 30]\n " color=yellow style=filled] 47 [label="47: Start test1\nFormals: target:class A *\nLocals: SIL_temp_conditional___n$2:int SIL_temp_conditional___n$9:class NSString * __assert_file__:class NSString * SIL_temp_conditional___n$16:class NSString * __assert_fn__:class NSString * \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$2,&SIL_temp_conditional___n$9,&__assert_file__,&SIL_temp_conditional___n$16,&__assert_fn__); [line 30]\n NULLIFY(&SIL_temp_conditional___n$16,false); [line 30]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 30]\n NULLIFY(&SIL_temp_conditional___n$9,false); [line 30]\n NULLIFY(&__assert_file__,false); [line 30]\n NULLIFY(&__assert_fn__,false); [line 30]\n " color=yellow style=filled]
47 -> 50 ; 47 -> 50 ;
46 [label="46: DeclStmt \n n$29=_fun_NSString_stringWithUTF8String:(\"infer/tests/codetoanalyze/objc/frontend/assertions/NSAssert_example.m\":char *) [line 24]\n _fun___objc_retain(n$29:class NSString *) [line 24]\n *&__assert_file__:class NSString *=n$29 [line 24]\n REMOVE_TEMPS(n$29); [line 24]\n " shape="box"] 46 [label="46: DeclStmt \n NULLIFY(&SIL_temp_conditional___n$19,false); [line 24]\n NULLIFY(&a,false); [line 24]\n n$33=_fun_NSString_stringWithUTF8String:(\"infer/tests/codetoanalyze/objc/frontend/assertions/NSAssert_example.m\":char *) [line 24]\n _fun___objc_retain(n$33:class NSString *) [line 24]\n *&__assert_file__:class NSString *=n$33 [line 24]\n REMOVE_TEMPS(n$33); [line 24]\n " shape="box"]
46 -> 41 ; 46 -> 41 ;
46 -> 42 ; 46 -> 42 ;
45 [label="45: BinaryOperatorStmt: Assign \n n$27=*&SIL_temp_conditional___40:class NSString * [line 24]\n NULLIFY(&SIL_temp_conditional___40,true); [line 24]\n _fun___objc_retain(n$27:class NSString *) [line 24]\n n$28=*&__assert_file__:class NSString * [line 24]\n *&__assert_file__:class NSString *=n$27 [line 24]\n _fun___objc_release(n$28:class NSString *) [line 24]\n REMOVE_TEMPS(n$27,n$28); [line 24]\n NULLIFY(&__assert_file__,false); [line 24]\n " shape="box"] 45 [label="45: BinaryOperatorStmt: Assign \n n$31=*&SIL_temp_conditional___n$27:class NSString * [line 24]\n _fun___objc_retain(n$31:class NSString *) [line 24]\n n$32=*&__assert_file__:class NSString * [line 24]\n *&__assert_file__:class NSString *=n$31 [line 24]\n _fun___objc_release(n$32:class NSString *) [line 24]\n REMOVE_TEMPS(n$31,n$32); [line 24]\n NULLIFY(&SIL_temp_conditional___n$27,false); [line 24]\n NULLIFY(&__assert_file__,false); [line 24]\n " shape="box"]
45 -> 39 ; 45 -> 39 ;
44 [label="44: ConditinalStmt Branch \n n$26=_fun_NSString_stringWithUTF8String:(\"<Unknown File>\":char *) [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___40); [line 24]\n *&SIL_temp_conditional___40:class NSString *=n$26 [line 24]\n REMOVE_TEMPS(n$26); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 44 [label="44: ConditinalStmt Branch \n n$30=_fun_NSString_stringWithUTF8String:(\"<Unknown File>\":char *) [line 24]\n *&SIL_temp_conditional___n$27:class NSString *=n$30 [line 24]\n REMOVE_TEMPS(n$30); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
44 -> 40 ; 44 -> 40 ;
43 [label="43: ConditinalStmt Branch \n n$25=*&__assert_file__:class NSString * [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___40); [line 24]\n *&SIL_temp_conditional___40:class NSString *=n$25 [line 24]\n REMOVE_TEMPS(n$25); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 43 [label="43: ConditinalStmt Branch \n n$29=*&__assert_file__:class NSString * [line 24]\n *&SIL_temp_conditional___n$27:class NSString *=n$29 [line 24]\n REMOVE_TEMPS(n$29); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
43 -> 40 ; 43 -> 40 ;
42 [label="42: Prune (false branch) \n n$24=*&__assert_file__:class NSString * [line 24]\n PRUNE((n$24 == 0), false); [line 24]\n REMOVE_TEMPS(n$24); [line 24]\n " shape="invhouse"] 42 [label="42: Prune (false branch) \n n$28=*&__assert_file__:class NSString * [line 24]\n PRUNE((n$28 == 0), false); [line 24]\n REMOVE_TEMPS(n$28); [line 24]\n " shape="invhouse"]
42 -> 44 ; 42 -> 44 ;
41 [label="41: Prune (true branch) \n n$24=*&__assert_file__:class NSString * [line 24]\n PRUNE((n$24 != 0), true); [line 24]\n REMOVE_TEMPS(n$24); [line 24]\n " shape="invhouse"] 41 [label="41: Prune (true branch) \n n$28=*&__assert_file__:class NSString * [line 24]\n PRUNE((n$28 != 0), true); [line 24]\n REMOVE_TEMPS(n$28); [line 24]\n " shape="invhouse"]
41 -> 43 ; 41 -> 43 ;
@ -276,31 +276,31 @@ digraph iCFG {
39 -> 25 ; 39 -> 25 ;
38 [label="38: Prune (false branch) \n n$18=*&SIL_temp_conditional___31:int [line 24]\n NULLIFY(&SIL_temp_conditional___31,true); [line 24]\n PRUNE((n$18 == 0), false); [line 24]\n REMOVE_TEMPS(n$18); [line 24]\n " shape="invhouse"] 38 [label="38: Prune (false branch) \n n$21=*&SIL_temp_conditional___n$19:int [line 24]\n PRUNE((n$21 == 0), false); [line 24]\n REMOVE_TEMPS(n$21); [line 24]\n " shape="invhouse"]
38 -> 30 ; 38 -> 30 ;
37 [label="37: Prune (true branch) \n n$18=*&SIL_temp_conditional___31:int [line 24]\n NULLIFY(&SIL_temp_conditional___31,true); [line 24]\n PRUNE((n$18 != 0), true); [line 24]\n REMOVE_TEMPS(n$18); [line 24]\n NULLIFY(&a,false); [line 24]\n " shape="invhouse"] 37 [label="37: Prune (true branch) \n n$21=*&SIL_temp_conditional___n$19:int [line 24]\n PRUNE((n$21 != 0), true); [line 24]\n REMOVE_TEMPS(n$21); [line 24]\n " shape="invhouse"]
37 -> 46 ; 37 -> 46 ;
36 [label="36: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___31); [line 24]\n *&SIL_temp_conditional___31:int =1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 36 [label="36: ConditinalStmt Branch \n *&SIL_temp_conditional___n$19:int =1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
36 -> 31 ; 36 -> 31 ;
35 [label="35: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___31); [line 24]\n *&SIL_temp_conditional___31:int =0 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 35 [label="35: ConditinalStmt Branch \n *&SIL_temp_conditional___n$19:int =0 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
35 -> 31 ; 35 -> 31 ;
34 [label="34: Prune (false branch) \n PRUNE(((n$17 != 0) == 0), false); [line 24]\n REMOVE_TEMPS(n$17); [line 24]\n " shape="invhouse"] 34 [label="34: Prune (false branch) \n PRUNE(((n$20 != 0) == 0), false); [line 24]\n REMOVE_TEMPS(n$20); [line 24]\n " shape="invhouse"]
34 -> 36 ; 34 -> 36 ;
33 [label="33: Prune (true branch) \n PRUNE(((n$17 != 0) != 0), true); [line 24]\n REMOVE_TEMPS(n$17); [line 24]\n " shape="invhouse"] 33 [label="33: Prune (true branch) \n PRUNE(((n$20 != 0) != 0), true); [line 24]\n REMOVE_TEMPS(n$20); [line 24]\n " shape="invhouse"]
33 -> 35 ; 33 -> 35 ;
32 [label="32: BinaryOperatorStmt: NE \n n$17=*&a:class A * [line 24]\n " shape="box"] 32 [label="32: BinaryOperatorStmt: NE \n NULLIFY(&SIL_temp_conditional___n$19,false); [line 24]\n n$20=*&a:class A * [line 24]\n " shape="box"]
32 -> 33 ; 32 -> 33 ;
@ -327,39 +327,39 @@ digraph iCFG {
27 -> 32 ; 27 -> 32 ;
26 [label="26: Return Stmt \n n$15=*&a:class A * [line 25]\n n$16=_fun_A_x(n$15:class A *) [line 25]\n *&return:int =n$16 [line 25]\n REMOVE_TEMPS(n$15,n$16); [line 25]\n NULLIFY(&a,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 26 [label="26: Return Stmt \n NULLIFY(&SIL_temp_conditional___n$19,false); [line 25]\n n$17=*&a:class A * [line 25]\n n$18=_fun_A_x(n$17:class A *) [line 25]\n *&return:int =n$18 [line 25]\n REMOVE_TEMPS(n$17,n$18); [line 25]\n NULLIFY(&a,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
26 -> 25 ; 26 -> 25 ;
25 [label="25: Exit A_initWithRequest: \n " color=yellow style=filled] 25 [label="25: Exit A_initWithRequest: \n " color=yellow style=filled]
24 [label="24: Start A_initWithRequest:\nFormals: self:class A * a:class A *\nLocals: __assert_file__:class NSString * \n DECLARE_LOCALS(&return,&__assert_file__); [line 23]\n NULLIFY(&__assert_file__,false); [line 23]\n NULLIFY(&self,false); [line 23]\n " color=yellow style=filled] 24 [label="24: Start A_initWithRequest:\nFormals: self:class A * a:class A *\nLocals: SIL_temp_conditional___n$19:int SIL_temp_conditional___n$27:class NSString * __assert_file__:class NSString * \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$19,&SIL_temp_conditional___n$27,&__assert_file__); [line 23]\n NULLIFY(&SIL_temp_conditional___n$19,false); [line 23]\n NULLIFY(&SIL_temp_conditional___n$27,false); [line 23]\n NULLIFY(&__assert_file__,false); [line 23]\n NULLIFY(&self,false); [line 23]\n " color=yellow style=filled]
24 -> 27 ; 24 -> 27 ;
23 [label="23: DeclStmt \n n$14=_fun_NSString_stringWithUTF8String:(\"infer/tests/codetoanalyze/objc/frontend/assertions/NSAssert_example.m\":char *) [line 19]\n _fun___objc_retain(n$14:class NSString *) [line 19]\n *&__assert_file__:class NSString *=n$14 [line 19]\n REMOVE_TEMPS(n$14); [line 19]\n " shape="box"] 23 [label="23: DeclStmt \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 19]\n NULLIFY(&target,false); [line 19]\n n$16=_fun_NSString_stringWithUTF8String:(\"infer/tests/codetoanalyze/objc/frontend/assertions/NSAssert_example.m\":char *) [line 19]\n _fun___objc_retain(n$16:class NSString *) [line 19]\n *&__assert_file__:class NSString *=n$16 [line 19]\n REMOVE_TEMPS(n$16); [line 19]\n " shape="box"]
23 -> 18 ; 23 -> 18 ;
23 -> 19 ; 23 -> 19 ;
22 [label="22: BinaryOperatorStmt: Assign \n n$12=*&SIL_temp_conditional___17:class NSString * [line 19]\n NULLIFY(&SIL_temp_conditional___17,true); [line 19]\n _fun___objc_retain(n$12:class NSString *) [line 19]\n n$13=*&__assert_file__:class NSString * [line 19]\n *&__assert_file__:class NSString *=n$12 [line 19]\n _fun___objc_release(n$13:class NSString *) [line 19]\n REMOVE_TEMPS(n$12,n$13); [line 19]\n NULLIFY(&__assert_file__,false); [line 19]\n " shape="box"] 22 [label="22: BinaryOperatorStmt: Assign \n n$14=*&SIL_temp_conditional___n$10:class NSString * [line 19]\n _fun___objc_retain(n$14:class NSString *) [line 19]\n n$15=*&__assert_file__:class NSString * [line 19]\n *&__assert_file__:class NSString *=n$14 [line 19]\n _fun___objc_release(n$15:class NSString *) [line 19]\n REMOVE_TEMPS(n$14,n$15); [line 19]\n NULLIFY(&SIL_temp_conditional___n$10,false); [line 19]\n NULLIFY(&__assert_file__,false); [line 19]\n " shape="box"]
22 -> 16 ; 22 -> 16 ;
21 [label="21: ConditinalStmt Branch \n n$11=_fun_NSString_stringWithUTF8String:(\"<Unknown File>\":char *) [line 19]\n DECLARE_LOCALS(&SIL_temp_conditional___17); [line 19]\n *&SIL_temp_conditional___17:class NSString *=n$11 [line 19]\n REMOVE_TEMPS(n$11); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 21 [label="21: ConditinalStmt Branch \n n$13=_fun_NSString_stringWithUTF8String:(\"<Unknown File>\":char *) [line 19]\n *&SIL_temp_conditional___n$10:class NSString *=n$13 [line 19]\n REMOVE_TEMPS(n$13); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
21 -> 17 ; 21 -> 17 ;
20 [label="20: ConditinalStmt Branch \n n$10=*&__assert_file__:class NSString * [line 19]\n DECLARE_LOCALS(&SIL_temp_conditional___17); [line 19]\n *&SIL_temp_conditional___17:class NSString *=n$10 [line 19]\n REMOVE_TEMPS(n$10); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 20 [label="20: ConditinalStmt Branch \n n$12=*&__assert_file__:class NSString * [line 19]\n *&SIL_temp_conditional___n$10:class NSString *=n$12 [line 19]\n REMOVE_TEMPS(n$12); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
20 -> 17 ; 20 -> 17 ;
19 [label="19: Prune (false branch) \n n$9=*&__assert_file__:class NSString * [line 19]\n PRUNE((n$9 == 0), false); [line 19]\n REMOVE_TEMPS(n$9); [line 19]\n " shape="invhouse"] 19 [label="19: Prune (false branch) \n n$11=*&__assert_file__:class NSString * [line 19]\n PRUNE((n$11 == 0), false); [line 19]\n REMOVE_TEMPS(n$11); [line 19]\n " shape="invhouse"]
19 -> 21 ; 19 -> 21 ;
18 [label="18: Prune (true branch) \n n$9=*&__assert_file__:class NSString * [line 19]\n PRUNE((n$9 != 0), true); [line 19]\n REMOVE_TEMPS(n$9); [line 19]\n " shape="invhouse"] 18 [label="18: Prune (true branch) \n n$11=*&__assert_file__:class NSString * [line 19]\n PRUNE((n$11 != 0), true); [line 19]\n REMOVE_TEMPS(n$11); [line 19]\n " shape="invhouse"]
18 -> 20 ; 18 -> 20 ;
@ -371,31 +371,31 @@ digraph iCFG {
16 -> 2 ; 16 -> 2 ;
15 [label="15: Prune (false branch) \n n$3=*&SIL_temp_conditional___8:int [line 19]\n NULLIFY(&SIL_temp_conditional___8,true); [line 19]\n PRUNE((n$3 == 0), false); [line 19]\n REMOVE_TEMPS(n$3); [line 19]\n " shape="invhouse"] 15 [label="15: Prune (false branch) \n n$4=*&SIL_temp_conditional___n$2:int [line 19]\n PRUNE((n$4 == 0), false); [line 19]\n REMOVE_TEMPS(n$4); [line 19]\n " shape="invhouse"]
15 -> 7 ; 15 -> 7 ;
14 [label="14: Prune (true branch) \n n$3=*&SIL_temp_conditional___8:int [line 19]\n NULLIFY(&SIL_temp_conditional___8,true); [line 19]\n PRUNE((n$3 != 0), true); [line 19]\n REMOVE_TEMPS(n$3); [line 19]\n NULLIFY(&target,false); [line 19]\n " shape="invhouse"] 14 [label="14: Prune (true branch) \n n$4=*&SIL_temp_conditional___n$2:int [line 19]\n PRUNE((n$4 != 0), true); [line 19]\n REMOVE_TEMPS(n$4); [line 19]\n " shape="invhouse"]
14 -> 23 ; 14 -> 23 ;
13 [label="13: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___8); [line 19]\n *&SIL_temp_conditional___8:int =1 [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 13 [label="13: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
13 -> 8 ; 13 -> 8 ;
12 [label="12: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___8); [line 19]\n *&SIL_temp_conditional___8:int =0 [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 12 [label="12: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =0 [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
12 -> 8 ; 12 -> 8 ;
11 [label="11: Prune (false branch) \n PRUNE(((n$2 != 0) == 0), false); [line 19]\n REMOVE_TEMPS(n$2); [line 19]\n " shape="invhouse"] 11 [label="11: Prune (false branch) \n PRUNE(((n$3 != 0) == 0), false); [line 19]\n REMOVE_TEMPS(n$3); [line 19]\n " shape="invhouse"]
11 -> 13 ; 11 -> 13 ;
10 [label="10: Prune (true branch) \n PRUNE(((n$2 != 0) != 0), true); [line 19]\n REMOVE_TEMPS(n$2); [line 19]\n " shape="invhouse"] 10 [label="10: Prune (true branch) \n PRUNE(((n$3 != 0) != 0), true); [line 19]\n REMOVE_TEMPS(n$3); [line 19]\n " shape="invhouse"]
10 -> 12 ; 10 -> 12 ;
9 [label="9: BinaryOperatorStmt: NE \n n$2=*&target:class A * [line 19]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: NE \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 19]\n n$3=*&target:class A * [line 19]\n " shape="box"]
9 -> 10 ; 9 -> 10 ;
@ -422,14 +422,14 @@ digraph iCFG {
4 -> 9 ; 4 -> 9 ;
3 [label="3: Return Stmt \n n$0=*&target:class A * [line 20]\n n$1=_fun_A_x(n$0:class A *) [line 20]\n *&return:int =n$1 [line 20]\n REMOVE_TEMPS(n$0,n$1); [line 20]\n NULLIFY(&target,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 3 [label="3: Return Stmt \n NULLIFY(&SIL_temp_conditional___n$2,false); [line 20]\n n$0=*&target:class A * [line 20]\n n$1=_fun_A_x(n$0:class A *) [line 20]\n *&return:int =n$1 [line 20]\n REMOVE_TEMPS(n$0,n$1); [line 20]\n NULLIFY(&target,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;
2 [label="2: Exit A_addTarget: \n " color=yellow style=filled] 2 [label="2: Exit A_addTarget: \n " color=yellow style=filled]
1 [label="1: Start A_addTarget:\nFormals: self:class A * target:class A *\nLocals: __assert_file__:class NSString * \n DECLARE_LOCALS(&return,&__assert_file__); [line 18]\n NULLIFY(&__assert_file__,false); [line 18]\n NULLIFY(&self,false); [line 18]\n " color=yellow style=filled] 1 [label="1: Start A_addTarget:\nFormals: self:class A * target:class A *\nLocals: SIL_temp_conditional___n$2:int SIL_temp_conditional___n$10:class NSString * __assert_file__:class NSString * \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$2,&SIL_temp_conditional___n$10,&__assert_file__); [line 18]\n NULLIFY(&SIL_temp_conditional___n$10,false); [line 18]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 18]\n NULLIFY(&__assert_file__,false); [line 18]\n NULLIFY(&self,false); [line 18]\n " color=yellow style=filled]
1 -> 4 ; 1 -> 4 ;

@ -1,21 +1,21 @@
digraph iCFG { digraph iCFG {
11 [label="11: Return Stmt \n n$1=*&self:class A * [line 24]\n n$4=*&SIL_temp_conditional___6:int [line 24]\n NULLIFY(&SIL_temp_conditional___6,true); [line 24]\n n$5=_fun_A_test4:(n$1:class A *,n$4:int ) virtual [line 24]\n *&return:int =n$5 [line 24]\n REMOVE_TEMPS(n$1,n$4,n$5); [line 24]\n NULLIFY(&self,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 11 [label="11: Return Stmt \n n$1=*&self:class A * [line 24]\n n$5=*&SIL_temp_conditional___n$2:int [line 24]\n n$6=_fun_A_test4:(n$1:class A *,n$5:int ) virtual [line 24]\n *&return:int =n$6 [line 24]\n REMOVE_TEMPS(n$1,n$5,n$6); [line 24]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 24]\n NULLIFY(&self,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
11 -> 5 ; 11 -> 5 ;
10 [label="10: ConditinalStmt Branch \n NULLIFY(&b,false); [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___6); [line 24]\n *&SIL_temp_conditional___6:int =1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 10 [label="10: ConditinalStmt Branch \n NULLIFY(&b,false); [line 24]\n *&SIL_temp_conditional___n$2:int =1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
10 -> 6 ; 10 -> 6 ;
9 [label="9: ConditinalStmt Branch \n n$3=*&b:_Bool [line 24]\n DECLARE_LOCALS(&SIL_temp_conditional___6); [line 24]\n *&SIL_temp_conditional___6:int =n$3 [line 24]\n REMOVE_TEMPS(n$3); [line 24]\n NULLIFY(&b,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 9 [label="9: ConditinalStmt Branch \n n$4=*&b:_Bool [line 24]\n *&SIL_temp_conditional___n$2:int =n$4 [line 24]\n REMOVE_TEMPS(n$4); [line 24]\n NULLIFY(&b,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
9 -> 6 ; 9 -> 6 ;
8 [label="8: Prune (false branch) \n n$2=*&b:_Bool [line 24]\n PRUNE((n$2 == 0), false); [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n " shape="invhouse"] 8 [label="8: Prune (false branch) \n n$3=*&b:_Bool [line 24]\n PRUNE((n$3 == 0), false); [line 24]\n REMOVE_TEMPS(n$3); [line 24]\n " shape="invhouse"]
8 -> 10 ; 8 -> 10 ;
7 [label="7: Prune (true branch) \n n$2=*&b:_Bool [line 24]\n PRUNE((n$2 != 0), true); [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n " shape="invhouse"] 7 [label="7: Prune (true branch) \n n$3=*&b:_Bool [line 24]\n PRUNE((n$3 != 0), true); [line 24]\n REMOVE_TEMPS(n$3); [line 24]\n " shape="invhouse"]
7 -> 9 ; 7 -> 9 ;
@ -26,7 +26,7 @@ digraph iCFG {
5 [label="5: Exit A_test5: \n " color=yellow style=filled] 5 [label="5: Exit A_test5: \n " color=yellow style=filled]
4 [label="4: Start A_test5:\nFormals: self:class A * b:_Bool \nLocals: \n DECLARE_LOCALS(&return); [line 23]\n " color=yellow style=filled] 4 [label="4: Start A_test5:\nFormals: self:class A * b:_Bool \nLocals: SIL_temp_conditional___n$2:int \n DECLARE_LOCALS(&return,&SIL_temp_conditional___n$2); [line 23]\n NULLIFY(&SIL_temp_conditional___n$2,false); [line 23]\n " color=yellow style=filled]
4 -> 7 ; 4 -> 7 ;

Loading…
Cancel
Save