removing unused deallocate param in nullify instr

Reviewed By: jeremydubreil

Differential Revision: D3263241

fbshipit-source-id: b0d2c0f
master
Sam Blackshear 9 years ago committed by Facebook Github Bot 6
parent 9e84da4aee
commit 20925df57c

@ -735,8 +735,8 @@ module Node = struct
call_instr :: instrs call_instr :: instrs
| Sil.Prune (origin_exp, loc, is_true_branch, if_kind) -> | Sil.Prune (origin_exp, loc, is_true_branch, if_kind) ->
Sil.Prune (convert_exp origin_exp, loc, is_true_branch, if_kind):: instrs Sil.Prune (convert_exp origin_exp, loc, is_true_branch, if_kind):: instrs
| Sil.Nullify (origin_pvar, loc, deallocate) -> | Sil.Nullify (origin_pvar, loc) ->
Sil.Nullify (convert_pvar origin_pvar, loc, deallocate) :: instrs Sil.Nullify (convert_pvar origin_pvar, loc) :: instrs
| Sil.Declare_locals (typed_vars, loc) -> | Sil.Declare_locals (typed_vars, loc) ->
let new_typed_vars = IList.map (fun (pvar, typ) -> (convert_pvar pvar, typ)) typed_vars in let new_typed_vars = IList.map (fun (pvar, typ) -> (convert_pvar pvar, typ)) typed_vars in
(Sil.Declare_locals (new_typed_vars, loc)) :: instrs (Sil.Declare_locals (new_typed_vars, loc)) :: instrs

@ -746,8 +746,8 @@ type instr =
[ret_id1..ret_idn = e_fun(arg_ts);] [ret_id1..ret_idn = e_fun(arg_ts);]
where n = 0 for void return and n > 1 for struct return *) where n = 0 for void return and n > 1 for struct return *)
| Call of Ident.t list * exp * (exp * typ) list * Location.t * call_flags | Call of Ident.t list * exp * (exp * typ) list * Location.t * call_flags
(** nullify stack variable, the bool parameter indicates whether to deallocate the variable *) (** nullify stack variable *)
| Nullify of Pvar.t * Location.t * bool | Nullify of Pvar.t * Location.t
| Abstract of Location.t (** apply abstraction *) | Abstract of Location.t (** apply abstraction *)
| Remove_temps of Ident.t list * Location.t (** remove temporaries *) | Remove_temps of Ident.t list * Location.t (** remove temporaries *)
| Stackop of stackop * Location.t (** operation on the stack of propsets *) | Stackop of stackop * Location.t (** operation on the stack of propsets *)
@ -2079,7 +2079,7 @@ let instr_get_loc = function
| Set (_, _, _, loc) | Set (_, _, _, loc)
| Prune (_, loc, _, _) | Prune (_, loc, _, _)
| Call (_, _, _, loc, _) | Call (_, _, _, loc, _)
| Nullify (_, loc, _) | Nullify (_, loc)
| Abstract loc | Abstract loc
| Remove_temps (_, loc) | Remove_temps (_, loc)
| Stackop (_, loc) | Stackop (_, loc)
@ -2096,7 +2096,7 @@ let instr_get_exps = function
[cond] [cond]
| Call (ret_ids, e, _, _, _) -> | Call (ret_ids, e, _, _, _) ->
e :: (IList.map (fun id -> Var id)) ret_ids e :: (IList.map (fun id -> Var id)) ret_ids
| Nullify (pvar, _, _) -> | Nullify (pvar, _) ->
[Lvar pvar] [Lvar pvar]
| Abstract _ -> | Abstract _ ->
[] []
@ -2139,8 +2139,8 @@ let pp_instr pe0 f instr =
(pp_comma_seq (pp_exp_typ pe)) (arg_ts) (pp_comma_seq (pp_exp_typ pe)) (arg_ts)
pp_call_flags cf pp_call_flags cf
Location.pp loc Location.pp loc
| Nullify (pvar, loc, deallocate) -> | Nullify (pvar, loc) ->
F.fprintf f "NULLIFY(%a,%b); %a" (Pvar.pp pe) pvar deallocate Location.pp loc F.fprintf f "NULLIFY(%a); %a" (Pvar.pp pe) pvar Location.pp loc
| Abstract loc -> | Abstract loc ->
F.fprintf f "APPLY_ABSTRACTION; %a" Location.pp loc F.fprintf f "APPLY_ABSTRACTION; %a" Location.pp loc
| Remove_temps (temps, loc) -> | Remove_temps (temps, loc) ->
@ -2238,7 +2238,7 @@ let instr_iter_types f instr = match instr with
| Call (_, e, arg_ts, _, _) -> | Call (_, e, arg_ts, _, _) ->
exp_iter_types f e; exp_iter_types f e;
IList.iter (fun (e, t) -> exp_iter_types f e; typ_iter_types f t) arg_ts IList.iter (fun (e, t) -> exp_iter_types f e; typ_iter_types f t) arg_ts
| Nullify (_, _, _) -> | Nullify (_, _) ->
() ()
| Abstract _ -> | Abstract _ ->
() ()
@ -3478,10 +3478,9 @@ let instr_compare instr1 instr2 = match instr1, instr2 with
if n <> 0 then n else call_flags_compare cf1 cf2 if n <> 0 then n else call_flags_compare cf1 cf2
| Call _, _ -> -1 | Call _, _ -> -1
| _, Call _ -> 1 | _, Call _ -> 1
| Nullify (pvar1, loc1, deallocate1), Nullify (pvar2, loc2, deallocate2) -> | Nullify (pvar1, loc1), Nullify (pvar2, loc2) ->
let n = Pvar.compare pvar1 pvar2 in let n = Pvar.compare pvar1 pvar2 in
if n <> 0 then n else let n = Location.compare loc1 loc2 in if n <> 0 then n else Location.compare loc1 loc2
if n <> 0 then n else bool_compare deallocate1 deallocate2
| Nullify _, _ -> -1 | Nullify _, _ -> -1
| _, Nullify _ -> 1 | _, Nullify _ -> 1
| Abstract loc1, Abstract loc2 -> | Abstract loc1, Abstract loc2 ->
@ -3606,9 +3605,8 @@ let instr_compare_structural instr1 instr2 exp_map =
else else
let n, exp_map = args_compare_structural arg_ts1 arg_ts2 exp_map in let n, exp_map = args_compare_structural arg_ts1 arg_ts2 exp_map in
(if n <> 0 then n else call_flags_compare cf1 cf2), exp_map (if n <> 0 then n else call_flags_compare cf1 cf2), exp_map
| Nullify (pvar1, _, deallocate1), Nullify (pvar2, _, deallocate2) -> | Nullify (pvar1, _), Nullify (pvar2, _) ->
let n, exp_map = exp_compare_structural (Lvar pvar1) (Lvar pvar2) exp_map in exp_compare_structural (Lvar pvar1) (Lvar pvar2) exp_map
(if n <> 0 then n else bool_compare deallocate1 deallocate2), exp_map
| Abstract _, Abstract _ -> 0, exp_map | Abstract _, Abstract _ -> 0, exp_map
| Remove_temps (temps1, _), Remove_temps (temps2, _) -> | Remove_temps (temps1, _), Remove_temps (temps2, _) ->
id_list_compare_structural temps1 temps2 exp_map id_list_compare_structural temps1 temps2 exp_map

@ -405,8 +405,8 @@ type instr =
[ret_id1..ret_idn = e_fun(arg_ts);] [ret_id1..ret_idn = e_fun(arg_ts);]
where n = 0 for void return and n > 1 for struct return *) where n = 0 for void return and n > 1 for struct return *)
| Call of Ident.t list * exp * (exp * typ) list * Location.t * call_flags | Call of Ident.t list * exp * (exp * typ) list * Location.t * call_flags
(** nullify stack variable, the bool parameter indicates whether to deallocate the variable *) (** nullify stack variable *)
| Nullify of Pvar.t * Location.t * bool | Nullify of Pvar.t * Location.t
| Abstract of Location.t (** apply abstraction *) | Abstract of Location.t (** apply abstraction *)
| Remove_temps of Ident.t list * Location.t (** remove temporaries *) | Remove_temps of Ident.t list * Location.t (** remove temporaries *)
| Stackop of stackop * Location.t (** operation on the stack of propsets *) | Stackop of stackop * Location.t (** operation on the stack of propsets *)

@ -78,7 +78,7 @@ let find_nullify_after_instr node instr pvar : bool =
let node_instrs = Cfg.Node.get_instrs node in let node_instrs = Cfg.Node.get_instrs node in
let found_instr = ref false in let found_instr = ref false in
let find_nullify = function let find_nullify = function
| Sil.Nullify (pv, _, _) when !found_instr -> Pvar.equal pv pvar | Sil.Nullify (pv, _) when !found_instr -> Pvar.equal pv pvar
| _instr -> | _instr ->
if instr = _instr then found_instr := true; if instr = _instr then found_instr := true;
false in false in
@ -538,7 +538,7 @@ let explain_leak tenv hpred prop alloc_att_opt bucket =
| None -> | None ->
if !verbose then (L.d_str "explain_leak: no current instruction"; L.d_ln ()); if !verbose then (L.d_str "explain_leak: no current instruction"; L.d_ln ());
value_str_from_pvars_vpath [] vpath value_str_from_pvars_vpath [] vpath
| Some (Sil.Nullify (pvar, _, _)) when check_pvar pvar -> | Some (Sil.Nullify (pvar, _)) when check_pvar pvar ->
if !verbose if !verbose
then then
(L.d_str "explain_leak: current instruction is Nullify for pvar "; (L.d_str "explain_leak: current instruction is Nullify for pvar ";
@ -549,7 +549,7 @@ let explain_leak tenv hpred prop alloc_att_opt bucket =
| Some (Sil.Abstract _) -> | Some (Sil.Abstract _) ->
if !verbose then (L.d_str "explain_leak: current instruction is Abstract"; L.d_ln ()); if !verbose then (L.d_str "explain_leak: current instruction is Abstract"; L.d_ln ());
let get_nullify = function let get_nullify = function
| Sil.Nullify (pvar, _, _) when check_pvar pvar -> | Sil.Nullify (pvar, _) when check_pvar pvar ->
if !verbose if !verbose
then then
(L.d_str "explain_leak: found nullify before Abstract for pvar "; (L.d_str "explain_leak: found nullify before Abstract for pvar ";

@ -93,7 +93,7 @@ let rec def_instr cfg (instr: Sil.instr) acc =
match instr with match instr with
| Sil.Set (e, _, _, _) -> def_exp cfg e acc | Sil.Set (e, _, _, _) -> def_exp cfg e acc
| Sil.Call _ | Sil.Letderef _ | Sil.Prune _ -> acc | Sil.Call _ | Sil.Letderef _ | Sil.Prune _ -> acc
| Sil.Nullify (x, _, _) -> | Sil.Nullify (x, _) ->
if is_not_function cfg x then Vset.add x acc else acc if is_not_function cfg x then Vset.add x acc else acc
| Sil.Abstract _ | Sil.Remove_temps _ | Sil.Stackop _ | Sil.Declare_locals _ -> acc | Sil.Abstract _ | Sil.Remove_temps _ | Sil.Stackop _ | Sil.Declare_locals _ -> acc
@ -212,7 +212,7 @@ let analyze_proc cfg pdesc cand =
(* Instruction i is nullifying a block variable *) (* Instruction i is nullifying a block variable *)
let is_block_nullify i = let is_block_nullify i =
match i with match i with
| Sil.Nullify(pvar, _, true) -> Sil.is_block_pvar pvar | Sil.Nullify(pvar, _) -> Sil.is_block_pvar pvar
| _ -> false | _ -> false
(** Add nullify instructions to the node given dead program variables *) (** Add nullify instructions to the node given dead program variables *)
@ -223,11 +223,11 @@ let node_add_nullify_instrs n dead_vars_after dead_vars_before =
pvars_tmp @ pvars_notmp in pvars_tmp @ pvars_notmp in
let instrs_after = let instrs_after =
IList.map IList.map
(fun pvar -> Sil.Nullify (pvar, loc, false)) (fun pvar -> Sil.Nullify (pvar, loc))
(move_tmp_pvars_first dead_vars_after) in (move_tmp_pvars_first dead_vars_after) in
let instrs_before = let instrs_before =
IList.map IList.map
(fun pvar -> Sil.Nullify (pvar, loc, false)) (fun pvar -> Sil.Nullify (pvar, loc))
(move_tmp_pvars_first dead_vars_before) in (move_tmp_pvars_first dead_vars_before) in
(* Nullify(bloc_var,_,true) can be placed in the middle (* Nullify(bloc_var,_,true) can be placed in the middle
of the block because when we add this instruction*) of the block because when we add this instruction*)
@ -527,7 +527,7 @@ let add_nullify_instrs tenv _ pdesc =
let loc = Cfg.Node.get_last_loc node in let loc = Cfg.Node.get_last_loc node in
let nullify_instrs = let nullify_instrs =
IList.filter is_local pvars IList.filter is_local pvars
|> IList.map (fun pvar -> Sil.Nullify (pvar, loc, false)) in |> IList.map (fun pvar -> Sil.Nullify (pvar, loc)) in
if nullify_instrs <> [] if nullify_instrs <> []
then Cfg.Node.append_instrs_temps node (IList.rev nullify_instrs) [] in then Cfg.Node.append_instrs_temps node (IList.rev nullify_instrs) [] in

@ -46,7 +46,7 @@ let rec unroll_type tenv typ off =
(** Given a node, returns a list of pvar of blocks that have been nullified in the block. *) (** Given a node, returns a list of pvar of blocks that have been nullified in the block. *)
let get_blocks_nullified node = let get_blocks_nullified node =
let null_blocks = IList.flatten(IList.map (fun i -> match i with let null_blocks = IList.flatten(IList.map (fun i -> match i with
| Sil.Nullify(pvar, _, true) when Sil.is_block_pvar pvar -> [pvar] | Sil.Nullify(pvar, _) when Sil.is_block_pvar pvar -> [pvar]
| _ -> []) (Cfg.Node.get_instrs node)) in | _ -> []) (Cfg.Node.get_instrs node)) in
null_blocks null_blocks
@ -1205,7 +1205,7 @@ let rec sym_exec tenv current_pdesc _instr (prop_: Prop.normal Prop.t) path
pdesc= current_pdesc; instr; tenv; prop_= prop_r; path; ret_ids; args= n_actual_params; pdesc= current_pdesc; instr; tenv; prop_= prop_r; path; ret_ids; args= n_actual_params;
proc_name= callee_pname; loc; } proc_name= callee_pname; loc; }
end end
| Sil.Nullify (pvar, _, deallocate) -> | Sil.Nullify (pvar, _) ->
begin begin
let eprop = Prop.expose prop_ in let eprop = Prop.expose prop_ in
match IList.partition match IList.partition
@ -1213,11 +1213,9 @@ let rec sym_exec tenv current_pdesc _instr (prop_: Prop.normal Prop.t) path
| Sil.Hpointsto (Sil.Lvar pvar', _, _) -> Pvar.equal pvar pvar' | Sil.Hpointsto (Sil.Lvar pvar', _, _) -> Pvar.equal pvar pvar'
| _ -> false) (Prop.get_sigma eprop) with | _ -> false) (Prop.get_sigma eprop) with
| [Sil.Hpointsto(e, se, typ)], sigma' -> | [Sil.Hpointsto(e, se, typ)], sigma' ->
let sigma'' = match deallocate with let sigma'' =
| false -> let se' = execute_nullify_se se in
let se' = execute_nullify_se se in Sil.Hpointsto(e, se', typ):: sigma' in
Sil.Hpointsto(e, se', typ):: sigma'
| true -> sigma' in
let eprop_res = Prop.replace_sigma sigma'' eprop in let eprop_res = Prop.replace_sigma sigma'' eprop in
ret_old_path [Prop.normalize eprop_res] ret_old_path [Prop.normalize eprop_res]
| [], _ -> | [], _ ->

@ -15,7 +15,7 @@ digraph iCFG {
12 -> 11 ; 12 -> 11 ;
11 [label="11: BinaryOperatorStmt: MulAssign \n n$6=*&x:double [line 15]\n *&x:double =(n$6 * 1.000000) [line 15]\n REMOVE_TEMPS(n$6); [line 15]\n NULLIFY(&x,false); [line 15]\n " shape="box"] 11 [label="11: BinaryOperatorStmt: MulAssign \n n$6=*&x:double [line 15]\n *&x:double =(n$6 * 1.000000) [line 15]\n REMOVE_TEMPS(n$6); [line 15]\n NULLIFY(&x); [line 15]\n " shape="box"]
11 -> 10 ; 11 -> 10 ;
@ -43,7 +43,7 @@ digraph iCFG {
5 -> 4 ; 5 -> 4 ;
4 [label="4: BinaryOperatorStmt: XorAssign \n n$0=*&b:int [line 22]\n *&b:int =(n$0 ^ 1) [line 22]\n REMOVE_TEMPS(n$0); [line 22]\n NULLIFY(&b,false); [line 22]\n " shape="box"] 4 [label="4: BinaryOperatorStmt: XorAssign \n n$0=*&b:int [line 22]\n *&b:int =(n$0 ^ 1) [line 22]\n REMOVE_TEMPS(n$0); [line 22]\n NULLIFY(&b); [line 22]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -3,11 +3,11 @@ digraph iCFG {
6 -> 5 ; 6 -> 5 ;
5 [label="5: DeclStmt \n *&large_int:int =9223372036854775807 [line 19]\n NULLIFY(&large_int,false); [line 19]\n " shape="box"] 5 [label="5: DeclStmt \n *&large_int:int =9223372036854775807 [line 19]\n NULLIFY(&large_int); [line 19]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
4 [label="4: DeclStmt \n *&overflow_int:int =n$0 [line 20]\n REMOVE_TEMPS(n$0); [line 20]\n NULLIFY(&overflow_int,false); [line 20]\n " shape="box"] 4 [label="4: DeclStmt \n *&overflow_int:int =n$0 [line 20]\n REMOVE_TEMPS(n$0); [line 20]\n NULLIFY(&overflow_int); [line 20]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -7,7 +7,7 @@ digraph iCFG {
4 -> 3 ; 4 -> 3 ;
3 [label="3: Return Stmt \n n$0=*&x:int [line 13]\n n$1=*&z:int [line 13]\n *&return:int =(n$0 + n$1) [line 13]\n REMOVE_TEMPS(n$0,n$1); [line 13]\n NULLIFY(&x,false); [line 13]\n NULLIFY(&z,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&x:int [line 13]\n n$1=*&z:int [line 13]\n *&return:int =(n$0 + n$1) [line 13]\n REMOVE_TEMPS(n$0,n$1); [line 13]\n NULLIFY(&x); [line 13]\n NULLIFY(&z); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,31 +3,31 @@ digraph iCFG {
15 -> 14 ; 15 -> 14 ;
14 [label="14: BinaryOperatorStmt: Assign \n n$12=*&x:int [line 14]\n *&y:int =~n$12 [line 14]\n REMOVE_TEMPS(n$12); [line 14]\n NULLIFY(&y,false); [line 14]\n " shape="box"] 14 [label="14: BinaryOperatorStmt: Assign \n n$12=*&x:int [line 14]\n *&y:int =~n$12 [line 14]\n REMOVE_TEMPS(n$12); [line 14]\n NULLIFY(&y); [line 14]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
13 [label="13: BinaryOperatorStmt: Assign \n n$11=*&x:int [line 15]\n *&y:int =-n$11 [line 15]\n REMOVE_TEMPS(n$11); [line 15]\n NULLIFY(&y,false); [line 15]\n " shape="box"] 13 [label="13: BinaryOperatorStmt: Assign \n n$11=*&x:int [line 15]\n *&y:int =-n$11 [line 15]\n REMOVE_TEMPS(n$11); [line 15]\n NULLIFY(&y); [line 15]\n " shape="box"]
13 -> 12 ; 13 -> 12 ;
12 [label="12: BinaryOperatorStmt: Assign \n n$10=*&x:int [line 16]\n *&y:int =n$10 [line 16]\n REMOVE_TEMPS(n$10); [line 16]\n NULLIFY(&y,false); [line 16]\n " shape="box"] 12 [label="12: BinaryOperatorStmt: Assign \n n$10=*&x:int [line 16]\n *&y:int =n$10 [line 16]\n REMOVE_TEMPS(n$10); [line 16]\n NULLIFY(&y); [line 16]\n " shape="box"]
12 -> 11 ; 12 -> 11 ;
11 [label="11: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 18]\n *&x:int =(n$9 + 1) [line 18]\n *&y:int =n$9 [line 18]\n REMOVE_TEMPS(n$9); [line 18]\n NULLIFY(&y,false); [line 18]\n " shape="box"] 11 [label="11: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 18]\n *&x:int =(n$9 + 1) [line 18]\n *&y:int =n$9 [line 18]\n REMOVE_TEMPS(n$9); [line 18]\n NULLIFY(&y); [line 18]\n " shape="box"]
11 -> 10 ; 11 -> 10 ;
10 [label="10: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 19]\n *&x:int =(n$8 + 1) [line 19]\n *&y:int =(n$8 + 1) [line 19]\n REMOVE_TEMPS(n$8); [line 19]\n NULLIFY(&y,false); [line 19]\n " shape="box"] 10 [label="10: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 19]\n *&x:int =(n$8 + 1) [line 19]\n *&y:int =(n$8 + 1) [line 19]\n REMOVE_TEMPS(n$8); [line 19]\n NULLIFY(&y); [line 19]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
9 [label="9: BinaryOperatorStmt: Assign \n n$7=*&x:int [line 21]\n *&x:int =(n$7 - 1) [line 21]\n *&y:int =(n$7 - 1) [line 21]\n REMOVE_TEMPS(n$7); [line 21]\n NULLIFY(&y,false); [line 21]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: Assign \n n$7=*&x:int [line 21]\n *&x:int =(n$7 - 1) [line 21]\n *&y:int =(n$7 - 1) [line 21]\n REMOVE_TEMPS(n$7); [line 21]\n NULLIFY(&y); [line 21]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
8 [label="8: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 22]\n *&x:int =(n$6 - 1) [line 22]\n *&y:int =n$6 [line 22]\n REMOVE_TEMPS(n$6); [line 22]\n NULLIFY(&x,false); [line 22]\n NULLIFY(&y,false); [line 22]\n " shape="box"] 8 [label="8: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 22]\n *&x:int =(n$6 - 1) [line 22]\n *&y:int =n$6 [line 22]\n REMOVE_TEMPS(n$6); [line 22]\n NULLIFY(&x); [line 22]\n NULLIFY(&y); [line 22]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -39,7 +39,7 @@ digraph iCFG {
6 -> 5 ; 6 -> 5 ;
5 [label="5: BinaryOperatorStmt: Assign \n n$1=*&b:int * [line 29]\n n$2=*&b:int * [line 29]\n n$3=*n$2:int [line 29]\n *n$1:int =(n$3 + 1) [line 29]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 29]\n NULLIFY(&b,false); [line 29]\n " shape="box"] 5 [label="5: BinaryOperatorStmt: Assign \n n$1=*&b:int * [line 29]\n n$2=*&b:int * [line 29]\n n$3=*n$2:int [line 29]\n *n$1:int =(n$3 + 1) [line 29]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 29]\n NULLIFY(&b); [line 29]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
@ -51,7 +51,7 @@ digraph iCFG {
3 -> 2 ; 3 -> 2 ;
2 [label="2: Exit main \n NULLIFY(&a,false); [line 33]\n " color=yellow style=filled] 2 [label="2: Exit main \n NULLIFY(&a); [line 33]\n " color=yellow style=filled]
1 [label="1: Start main\nFormals: \nLocals: b:int * a:int y:int x:int \n DECLARE_LOCALS(&return,&b,&a,&y,&x); [line 10]\n " color=yellow style=filled] 1 [label="1: Start main\nFormals: \nLocals: b:int * a:int y:int x:int \n DECLARE_LOCALS(&return,&b,&a,&y,&x); [line 10]\n " color=yellow style=filled]

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
3 [label="3: Return Stmt \n n$0=*&e:_Bool [line 12]\n *&return:_Bool =n$0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&e,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&e:_Bool [line 12]\n *&return:_Bool =n$0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&e); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,7 +3,7 @@ digraph iCFG {
6 -> 5 ; 6 -> 5 ;
5 [label="5: Call _fun_check \n n$0=*&x:int [line 14]\n _fun_check((n$0 < 2):int ) [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n NULLIFY(&x,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 5 [label="5: Call _fun_check \n n$0=*&x:int [line 14]\n _fun_check((n$0 < 2):int ) [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n NULLIFY(&x); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

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

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

@ -53,7 +53,7 @@ digraph iCFG {
7 -> 3 ; 7 -> 3 ;
6 [label="6: UnaryOperator \n n$2=*&p:int ** [line 17]\n n$3=*n$2:int * [line 17]\n NULLIFY(&p,false); [line 17]\n " shape="box"] 6 [label="6: UnaryOperator \n n$2=*&p:int ** [line 17]\n n$3=*n$2:int * [line 17]\n NULLIFY(&p); [line 17]\n " shape="box"]
6 -> 7 ; 6 -> 7 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
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 [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); [line 13]\n NULLIFY(&x1); [line 13]\n " shape="box"]
48 -> 38 ; 48 -> 38 ;
@ -24,7 +24,7 @@ digraph iCFG {
43 -> 48 ; 43 -> 48 ;
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 [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); [line 16]\n NULLIFY(&x2); [line 16]\n " shape="box"]
42 -> 27 ; 42 -> 27 ;
@ -49,7 +49,7 @@ digraph iCFG {
37 -> 42 ; 37 -> 42 ;
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 [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); [line 19]\n NULLIFY(&SIL_temp_conditional___n$20); [line 19]\n NULLIFY(&x3); [line 19]\n " shape="box"]
36 -> 21 ; 36 -> 21 ;
@ -95,7 +95,7 @@ digraph iCFG {
26 -> 32 ; 26 -> 32 ;
26 -> 33 ; 26 -> 33 ;
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 [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); [line 22]\n NULLIFY(&y1); [line 22]\n " shape="box"]
25 -> 15 ; 25 -> 15 ;
@ -120,7 +120,7 @@ digraph iCFG {
20 -> 25 ; 20 -> 25 ;
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 [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); [line 24]\n NULLIFY(&y2); [line 24]\n " shape="box"]
19 -> 4 ; 19 -> 4 ;
@ -145,15 +145,15 @@ digraph iCFG {
14 -> 19 ; 14 -> 19 ;
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 [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); [line 26]\n NULLIFY(&SIL_temp_conditional___n$4); [line 26]\n NULLIFY(&y3); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
13 -> 2 ; 13 -> 2 ;
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 [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); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
12 -> 8 ; 12 -> 8 ;
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 [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); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
11 -> 8 ; 11 -> 8 ;

@ -1,14 +1,14 @@
digraph iCFG { digraph iCFG {
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 [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); [line 23]\n NULLIFY(&y); [line 23]\n " shape="box"]
58 -> 42 ; 58 -> 42 ;
58 -> 43 ; 58 -> 43 ;
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 [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); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
57 -> 52 ; 57 -> 52 ;
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 [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); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
56 -> 52 ; 56 -> 52 ;
@ -29,7 +29,7 @@ digraph iCFG {
52 -> 58 ; 52 -> 58 ;
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 [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); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
51 -> 39 ; 51 -> 39 ;
@ -37,7 +37,7 @@ digraph iCFG {
50 -> 40 ; 50 -> 40 ;
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 [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); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
49 -> 40 ; 49 -> 40 ;
@ -49,7 +49,7 @@ digraph iCFG {
47 -> 49 ; 47 -> 49 ;
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 [label="46: BinaryOperatorStmt: GT \n n$2=*&SIL_temp_conditional___n$1:int [line 24]\n NULLIFY(&SIL_temp_conditional___n$1); [line 24]\n " shape="box"]
46 -> 47 ; 46 -> 47 ;
@ -98,7 +98,7 @@ digraph iCFG {
35 -> 30 ; 35 -> 30 ;
34 [label="34: Prune (true branch) \n PRUNE(((7 < n$10) != 0), true); [line 12]\n REMOVE_TEMPS(n$10); [line 12]\n NULLIFY(&x,false); [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 NULLIFY(&x); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"]
34 -> 36 ; 34 -> 36 ;
@ -111,7 +111,7 @@ digraph iCFG {
32 -> 33 ; 32 -> 33 ;
31 [label="31: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 12]\n NULLIFY(&x,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"] 31 [label="31: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 12]\n NULLIFY(&x); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"]
31 -> 36 ; 31 -> 36 ;
@ -124,7 +124,7 @@ digraph iCFG {
29 -> 21 ; 29 -> 21 ;
29 -> 22 ; 29 -> 22 ;
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 [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); [line 16]\n NULLIFY(&n); [line 16]\n " shape="box"]
28 -> 10 ; 28 -> 10 ;
@ -145,7 +145,7 @@ digraph iCFG {
24 -> 26 ; 24 -> 26 ;
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 [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); [line 16]\n NULLIFY(&y); [line 16]\n " shape="box"]
23 -> 24 ; 23 -> 24 ;
@ -154,7 +154,7 @@ digraph iCFG {
22 -> 23 ; 22 -> 23 ;
21 [label="21: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 16]\n NULLIFY(&x,false); [line 16]\n NULLIFY(&y,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="invhouse"] 21 [label="21: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 16]\n NULLIFY(&x); [line 16]\n NULLIFY(&y); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="invhouse"]
21 -> 26 ; 21 -> 26 ;
@ -162,12 +162,12 @@ digraph iCFG {
20 -> 28 ; 20 -> 28 ;
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 [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); [line 17]\n NULLIFY(&n); [line 17]\n " shape="box"]
19 -> 4 ; 19 -> 4 ;
19 -> 5 ; 19 -> 5 ;
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 [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); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
18 -> 9 ; 18 -> 9 ;
@ -208,7 +208,7 @@ digraph iCFG {
9 -> 19 ; 9 -> 19 ;
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 [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); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
8 -> 2 ; 8 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
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 [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); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
66 -> 59 ; 66 -> 59 ;
@ -35,7 +35,7 @@ digraph iCFG {
58 -> 65 ; 58 -> 65 ;
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 [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); [line 31]\n " shape="box"]
57 -> 51 ; 57 -> 51 ;
@ -43,7 +43,7 @@ digraph iCFG {
56 -> 52 ; 56 -> 52 ;
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 [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); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
55 -> 52 ; 55 -> 52 ;
@ -59,7 +59,7 @@ digraph iCFG {
52 -> 57 ; 52 -> 57 ;
51 [label="51: Return Stmt \n n$0=*&z:int [line 32]\n *&return:int =n$0 [line 32]\n REMOVE_TEMPS(n$0); [line 32]\n NULLIFY(&z,false); [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"] 51 [label="51: Return Stmt \n n$0=*&z:int [line 32]\n *&return:int =n$0 [line 32]\n REMOVE_TEMPS(n$0); [line 32]\n NULLIFY(&z); [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"]
51 -> 50 ; 51 -> 50 ;
@ -71,11 +71,11 @@ digraph iCFG {
49 -> 53 ; 49 -> 53 ;
49 -> 54 ; 49 -> 54 ;
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 [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); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
48 -> 41 ; 48 -> 41 ;
47 [label="47: BinaryConditinalStmt Init \n n$0=*&b:int [line 28]\n NULLIFY(&b,false); [line 28]\n " shape="box"] 47 [label="47: BinaryConditinalStmt Init \n n$0=*&b:int [line 28]\n NULLIFY(&b); [line 28]\n " shape="box"]
47 -> 43 ; 47 -> 43 ;
@ -107,11 +107,11 @@ digraph iCFG {
40 -> 47 ; 40 -> 47 ;
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 [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); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
39 -> 32 ; 39 -> 32 ;
38 [label="38: BinaryConditinalStmt Init \n n$0=*&b:int [line 26]\n NULLIFY(&b,false); [line 26]\n " shape="box"] 38 [label="38: BinaryConditinalStmt Init \n n$0=*&b:int [line 26]\n NULLIFY(&b); [line 26]\n " shape="box"]
38 -> 34 ; 38 -> 34 ;
@ -143,11 +143,11 @@ digraph iCFG {
31 -> 38 ; 31 -> 38 ;
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 [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); [line 22]\n " shape="box"]
30 -> 23 ; 30 -> 23 ;
29 [label="29: BinaryConditinalStmt Init \n n$1=*&b:int [line 22]\n NULLIFY(&b,false); [line 22]\n " shape="box"] 29 [label="29: BinaryConditinalStmt Init \n n$1=*&b:int [line 22]\n NULLIFY(&b); [line 22]\n " shape="box"]
29 -> 25 ; 29 -> 25 ;
@ -172,7 +172,7 @@ digraph iCFG {
24 -> 30 ; 24 -> 30 ;
23 [label="23: Return Stmt \n n$0=*&x:int [line 23]\n *&return:int =n$0 [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"] 23 [label="23: Return Stmt \n n$0=*&x:int [line 23]\n *&return:int =n$0 [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n NULLIFY(&x); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
23 -> 22 ; 23 -> 22 ;
@ -183,7 +183,7 @@ digraph iCFG {
21 -> 29 ; 21 -> 29 ;
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 [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); [line 17]\n " shape="box"]
20 -> 14 ; 20 -> 14 ;
@ -191,11 +191,11 @@ digraph iCFG {
19 -> 15 ; 19 -> 15 ;
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 [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); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
18 -> 15 ; 18 -> 15 ;
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 NULLIFY(&b,false); [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 NULLIFY(&b); [line 17]\n " shape="invhouse"]
17 -> 19 ; 17 -> 19 ;
@ -207,7 +207,7 @@ digraph iCFG {
15 -> 20 ; 15 -> 20 ;
14 [label="14: Return Stmt \n n$0=*&x:int [line 18]\n *&return:int =n$0 [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n NULLIFY(&x,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 14 [label="14: Return Stmt \n n$0=*&x:int [line 18]\n *&return:int =n$0 [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n NULLIFY(&x); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
@ -219,7 +219,7 @@ digraph iCFG {
12 -> 16 ; 12 -> 16 ;
12 -> 17 ; 12 -> 17 ;
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 [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); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
11 -> 5 ; 11 -> 5 ;
@ -227,11 +227,11 @@ digraph iCFG {
10 -> 6 ; 10 -> 6 ;
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 [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); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
9 -> 6 ; 9 -> 6 ;
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 NULLIFY(&b,false); [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 NULLIFY(&b); [line 14]\n " shape="invhouse"]
8 -> 10 ; 8 -> 10 ;
@ -251,7 +251,7 @@ digraph iCFG {
4 -> 7 ; 4 -> 7 ;
4 -> 8 ; 4 -> 8 ;
3 [label="3: Return Stmt \n n$0=*&x:int [line 12]\n *&return:int =n$0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&x,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&x:int [line 12]\n *&return:int =n$0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&x); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
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 [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); [line 20]\n NULLIFY(&SIL_temp_conditional___n$2); [line 20]\n NULLIFY(&SIL_temp_conditional___n$4); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
67 -> 51 ; 67 -> 51 ;
@ -73,7 +73,7 @@ digraph iCFG {
50 -> 53 ; 50 -> 53 ;
50 -> 54 ; 50 -> 54 ;
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 [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); [line 18]\n NULLIFY(&SIL_temp_conditional___n$2); [line 18]\n NULLIFY(&SIL_temp_conditional___n$4); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
49 -> 33 ; 49 -> 33 ;
@ -147,7 +147,7 @@ digraph iCFG {
32 -> 35 ; 32 -> 35 ;
32 -> 36 ; 32 -> 36 ;
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 [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); [line 15]\n NULLIFY(&SIL_temp_conditional___n$2); [line 15]\n NULLIFY(&SIL_temp_conditional___n$4); [line 15]\n NULLIFY(&SIL_temp_conditional___n$6); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
31 -> 10 ; 31 -> 10 ;
@ -242,7 +242,7 @@ digraph iCFG {
9 -> 12 ; 9 -> 12 ;
9 -> 13 ; 9 -> 13 ;
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 [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); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
8 -> 2 ; 8 -> 2 ;

@ -4,7 +4,7 @@ digraph iCFG {
95 -> 67 ; 95 -> 67 ;
95 -> 68 ; 95 -> 68 ;
94 [label="94: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 53]\n NULLIFY(&block_size,false); [line 53]\n APPLY_ABSTRACTION; [line 53]\n " shape="box"] 94 [label="94: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 53]\n NULLIFY(&block_size); [line 53]\n APPLY_ABSTRACTION; [line 53]\n " shape="box"]
94 -> 90 ; 94 -> 90 ;
@ -16,7 +16,7 @@ digraph iCFG {
92 -> 94 ; 92 -> 94 ;
91 [label="91: BinaryOperatorStmt: EQ \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 [label="91: BinaryOperatorStmt: EQ \n n$11=*&spec:char * [line 52]\n n$12=*n$11:char [line 52]\n NULLIFY(&spec); [line 52]\n " shape="box"]
91 -> 92 ; 91 -> 92 ;
@ -25,15 +25,15 @@ 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 *&block_size:char *=0 [line 50]\n NULLIFY(&block_size); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="box"]
89 -> 65 ; 89 -> 65 ;
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 NULLIFY(&SIL_temp_conditional___n$7,false); [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 NULLIFY(&SIL_temp_conditional___n$7); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="invhouse"]
88 -> 91 ; 88 -> 91 ;
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 NULLIFY(&SIL_temp_conditional___n$7,false); [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 NULLIFY(&SIL_temp_conditional___n$7); [line 49]\n NULLIFY(&spec); [line 49]\n " shape="invhouse"]
87 -> 89 ; 87 -> 89 ;
@ -63,11 +63,11 @@ digraph iCFG {
81 -> 87 ; 81 -> 87 ;
81 -> 88 ; 81 -> 88 ;
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 NULLIFY(&SIL_temp_conditional___n$3,false); [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 NULLIFY(&SIL_temp_conditional___n$3); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="invhouse"]
80 -> 91 ; 80 -> 91 ;
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 NULLIFY(&SIL_temp_conditional___n$3,false); [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 NULLIFY(&SIL_temp_conditional___n$3); [line 49]\n NULLIFY(&spec); [line 49]\n " shape="invhouse"]
79 -> 82 ; 79 -> 82 ;
@ -97,11 +97,11 @@ digraph iCFG {
73 -> 79 ; 73 -> 79 ;
73 -> 80 ; 73 -> 80 ;
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 NULLIFY(&SIL_temp_conditional___n$0,false); [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 NULLIFY(&SIL_temp_conditional___n$0); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="invhouse"]
72 -> 91 ; 72 -> 91 ;
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 NULLIFY(&SIL_temp_conditional___n$0,false); [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 NULLIFY(&SIL_temp_conditional___n$0); [line 49]\n NULLIFY(&spec); [line 49]\n " shape="invhouse"]
71 -> 74 ; 71 -> 74 ;
@ -145,15 +145,15 @@ digraph iCFG {
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 *&block_size:char *=0 [line 38]\n NULLIFY(&block_size); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
60 -> 36 ; 60 -> 36 ;
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 [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); [line 37]\n NULLIFY(&spec); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="invhouse"]
59 -> 35 ; 59 -> 35 ;
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 NULLIFY(&SIL_temp_conditional___n$7,false); [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 NULLIFY(&SIL_temp_conditional___n$7); [line 37]\n " shape="invhouse"]
58 -> 60 ; 58 -> 60 ;
@ -183,11 +183,11 @@ digraph iCFG {
52 -> 58 ; 52 -> 58 ;
52 -> 59 ; 52 -> 59 ;
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 [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); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="invhouse"]
51 -> 35 ; 51 -> 35 ;
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 NULLIFY(&SIL_temp_conditional___n$3,false); [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 NULLIFY(&SIL_temp_conditional___n$3); [line 36]\n " shape="invhouse"]
50 -> 53 ; 50 -> 53 ;
@ -207,7 +207,7 @@ digraph iCFG {
46 -> 48 ; 46 -> 48 ;
45 [label="45: BinaryOperatorStmt: Assign \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 [label="45: BinaryOperatorStmt: Assign \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); [line 36]\n " shape="box"]
45 -> 46 ; 45 -> 46 ;
@ -217,11 +217,11 @@ digraph iCFG {
44 -> 50 ; 44 -> 50 ;
44 -> 51 ; 44 -> 51 ;
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 [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); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="invhouse"]
43 -> 35 ; 43 -> 35 ;
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 NULLIFY(&SIL_temp_conditional___n$0,false); [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 NULLIFY(&SIL_temp_conditional___n$0); [line 36]\n " shape="invhouse"]
42 -> 45 ; 42 -> 45 ;
@ -233,11 +233,11 @@ digraph iCFG {
40 -> 37 ; 40 -> 37 ;
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 NULLIFY(&spec,false); [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 NULLIFY(&spec); [line 36]\n " shape="invhouse"]
39 -> 41 ; 39 -> 41 ;
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 NULLIFY(&spec,false); [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 NULLIFY(&spec); [line 36]\n " shape="invhouse"]
38 -> 40 ; 38 -> 40 ;
@ -258,19 +258,19 @@ digraph iCFG {
34 -> 61 ; 34 -> 61 ;
33 [label="33: BinaryOperatorStmt: Assign \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 [label="33: BinaryOperatorStmt: Assign \n n$7=*&x:int * [line 25]\n *n$7:int =32 [line 25]\n REMOVE_TEMPS(n$7); [line 25]\n NULLIFY(&x); [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 *&x:int *=17 [line 23]\n NULLIFY(&x); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
32 -> 15 ; 32 -> 15 ;
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 NULLIFY(&SIL_temp_conditional___n$3,false); [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 NULLIFY(&SIL_temp_conditional___n$3); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="invhouse"]
31 -> 33 ; 31 -> 33 ;
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 NULLIFY(&SIL_temp_conditional___n$3,false); [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 NULLIFY(&SIL_temp_conditional___n$3); [line 22]\n NULLIFY(&x); [line 22]\n " shape="invhouse"]
30 -> 32 ; 30 -> 32 ;
@ -300,11 +300,11 @@ digraph iCFG {
24 -> 30 ; 24 -> 30 ;
24 -> 31 ; 24 -> 31 ;
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 NULLIFY(&SIL_temp_conditional___n$0,false); [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 NULLIFY(&SIL_temp_conditional___n$0); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="invhouse"]
23 -> 33 ; 23 -> 33 ;
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 NULLIFY(&SIL_temp_conditional___n$0,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 NULLIFY(&SIL_temp_conditional___n$0); [line 22]\n " shape="invhouse"]
22 -> 25 ; 22 -> 25 ;
@ -345,11 +345,11 @@ digraph iCFG {
13 -> 18 ; 13 -> 18 ;
13 -> 19 ; 13 -> 19 ;
12 [label="12: BinaryOperatorStmt: Assign \n *&x:int *=32 [line 17]\n NULLIFY(&x,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 12 [label="12: BinaryOperatorStmt: Assign \n *&x:int *=32 [line 17]\n NULLIFY(&x); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
12 -> 3 ; 12 -> 3 ;
11 [label="11: BinaryOperatorStmt: Assign \n *&x:int *=17 [line 15]\n NULLIFY(&x,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 11 [label="11: BinaryOperatorStmt: Assign \n *&x:int *=17 [line 15]\n NULLIFY(&x); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
11 -> 3 ; 11 -> 3 ;
@ -361,7 +361,7 @@ digraph iCFG {
9 -> 11 ; 9 -> 11 ;
8 [label="8: BinaryOperatorStmt: EQ \n n$1=*&x:int * [line 14]\n n$2=*n$1:int [line 14]\n NULLIFY(&x,false); [line 14]\n " shape="box"] 8 [label="8: BinaryOperatorStmt: EQ \n n$1=*&x:int * [line 14]\n n$2=*n$1:int [line 14]\n NULLIFY(&x); [line 14]\n " shape="box"]
8 -> 9 ; 8 -> 9 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
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 [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); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
34 -> 28 ; 34 -> 28 ;
@ -11,11 +11,11 @@ digraph iCFG {
32 -> 29 ; 32 -> 29 ;
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 NULLIFY(&x,false); [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 NULLIFY(&x); [line 29]\n " shape="invhouse"]
31 -> 33 ; 31 -> 33 ;
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 NULLIFY(&x,false); [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 NULLIFY(&x); [line 29]\n " shape="invhouse"]
30 -> 32 ; 30 -> 32 ;
@ -47,7 +47,7 @@ digraph iCFG {
23 -> 25 ; 23 -> 25 ;
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 [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); [line 22]\n " shape="box"]
22 -> 23 ; 22 -> 23 ;
@ -60,11 +60,11 @@ digraph iCFG {
20 -> 17 ; 20 -> 17 ;
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 NULLIFY(&x,false); [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 NULLIFY(&x); [line 22]\n " shape="invhouse"]
19 -> 21 ; 19 -> 21 ;
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 NULLIFY(&x,false); [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 NULLIFY(&x); [line 22]\n " shape="invhouse"]
18 -> 20 ; 18 -> 20 ;
@ -104,7 +104,7 @@ digraph iCFG {
9 -> 11 ; 9 -> 11 ;
8 [label="8: Call _fun_identity \n n$0=*&x:int [line 13]\n n$1=_fun_identity(n$0:int ) [line 13]\n NULLIFY(&x,false); [line 13]\n " shape="box"] 8 [label="8: Call _fun_identity \n n$0=*&x:int [line 13]\n n$1=_fun_identity(n$0:int ) [line 13]\n NULLIFY(&x); [line 13]\n " shape="box"]
8 -> 9 ; 8 -> 9 ;
@ -124,7 +124,7 @@ digraph iCFG {
4 -> 8 ; 4 -> 8 ;
3 [label="3: Return Stmt \n n$0=*&x:int [line 10]\n *&return:int =n$0 [line 10]\n REMOVE_TEMPS(n$0); [line 10]\n NULLIFY(&x,false); [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&x:int [line 10]\n *&return:int =n$0 [line 10]\n REMOVE_TEMPS(n$0); [line 10]\n NULLIFY(&x); [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
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 [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); [line 22]\n NULLIFY(&z); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
24 -> 18 ; 24 -> 18 ;
@ -31,7 +31,7 @@ digraph iCFG {
17 -> 20 ; 17 -> 20 ;
17 -> 21 ; 17 -> 21 ;
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 [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); [line 20]\n NULLIFY(&z); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
16 -> 10 ; 16 -> 10 ;
@ -63,15 +63,15 @@ digraph iCFG {
9 -> 12 ; 9 -> 12 ;
9 -> 13 ; 9 -> 13 ;
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 [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); [line 17]\n NULLIFY(&z); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
8 -> 2 ; 8 -> 2 ;
7 [label="7: ConditinalStmt Branch \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 [label="7: ConditinalStmt Branch \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); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
6 [label="6: ConditinalStmt Branch \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 [label="6: ConditinalStmt Branch \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); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 -> 3 ; 6 -> 3 ;

@ -4,7 +4,7 @@ digraph iCFG {
26 -> 21 ; 26 -> 21 ;
26 -> 22 ; 26 -> 22 ;
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 [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); [line 16]\n " shape="box"]
25 -> 15 ; 25 -> 15 ;
@ -29,7 +29,7 @@ digraph iCFG {
20 -> 25 ; 20 -> 25 ;
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 [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); [line 17]\n " shape="box"]
19 -> 4 ; 19 -> 4 ;
@ -54,7 +54,7 @@ digraph iCFG {
14 -> 19 ; 14 -> 19 ;
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 [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); [line 18]\n NULLIFY(&SIL_temp_conditional___n$4); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
13 -> 2 ; 13 -> 2 ;
@ -78,11 +78,11 @@ digraph iCFG {
8 -> 13 ; 8 -> 13 ;
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 [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); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
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 [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); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 -> 3 ; 6 -> 3 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
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 [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); [line 12]\n NULLIFY(&x); [line 12]\n " shape="box"]
20 -> 10 ; 20 -> 10 ;
@ -24,7 +24,7 @@ digraph iCFG {
15 -> 20 ; 15 -> 20 ;
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 [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); [line 14]\n NULLIFY(&y); [line 14]\n " shape="box"]
14 -> 4 ; 14 -> 4 ;
@ -49,15 +49,15 @@ digraph iCFG {
9 -> 14 ; 9 -> 14 ;
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 [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); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
8 -> 2 ; 8 -> 2 ;
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 [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); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
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 [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); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
6 -> 3 ; 6 -> 3 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
8 [label="8: BinaryOperatorStmt: Assign \n *&today:int =0 [line 22]\n NULLIFY(&today,false); [line 22]\n " shape="box"] 8 [label="8: BinaryOperatorStmt: Assign \n *&today:int =0 [line 22]\n NULLIFY(&today); [line 22]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -7,15 +7,15 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&today:int [line 24]\n *&today:int =(n$0 + 4) [line 24]\n REMOVE_TEMPS(n$0); [line 24]\n NULLIFY(&today,false); [line 24]\n " shape="box"] 6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&today:int [line 24]\n *&today:int =(n$0 + 4) [line 24]\n REMOVE_TEMPS(n$0); [line 24]\n NULLIFY(&today); [line 24]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
5 [label="5: BinaryOperatorStmt: Assign \n *&today:int =(2 + 1) [line 25]\n NULLIFY(&today,false); [line 25]\n " shape="box"] 5 [label="5: BinaryOperatorStmt: Assign \n *&today:int =(2 + 1) [line 25]\n NULLIFY(&today); [line 25]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
4 [label="4: DeclStmt \n *&i:int =(2 + (2 - 0)) [line 26]\n NULLIFY(&i,false); [line 26]\n " shape="box"] 4 [label="4: DeclStmt \n *&i:int =(2 + (2 - 0)) [line 26]\n NULLIFY(&i); [line 26]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -1,9 +1,9 @@
digraph iCFG { digraph iCFG {
4 [label="4: DeclStmt \n *&option1:int =(1 << 0) [line 16]\n NULLIFY(&option1,false); [line 16]\n " shape="box"] 4 [label="4: DeclStmt \n *&option1:int =(1 << 0) [line 16]\n NULLIFY(&option1); [line 16]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;
3 [label="3: DeclStmt \n *&option2:int =(1 << 1) [line 17]\n NULLIFY(&option2,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 3 [label="3: DeclStmt \n *&option2:int =(1 << 1) [line 17]\n NULLIFY(&option2); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -11,11 +11,11 @@ digraph iCFG {
18 -> 11 ; 18 -> 11 ;
17 [label="17: Return Stmt \n n$1=*&foo_g:int [line 26]\n n$2=*&foo_a:int [line 26]\n *&return:int =(n$1 / n$2) [line 26]\n REMOVE_TEMPS(n$1,n$2); [line 26]\n NULLIFY(&foo_a,false); [line 26]\n NULLIFY(&foo_g,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 17 [label="17: Return Stmt \n n$1=*&foo_g:int [line 26]\n n$2=*&foo_a:int [line 26]\n *&return:int =(n$1 / n$2) [line 26]\n REMOVE_TEMPS(n$1,n$2); [line 26]\n NULLIFY(&foo_a); [line 26]\n NULLIFY(&foo_g); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
17 -> 11 ; 17 -> 11 ;
16 [label="16: Prune (false branch) \n PRUNE(((n$0 == 12) == 0), false); [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n NULLIFY(&foo_a,false); [line 25]\n NULLIFY(&foo_g,false); [line 25]\n " shape="invhouse"] 16 [label="16: Prune (false branch) \n PRUNE(((n$0 == 12) == 0), false); [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n NULLIFY(&foo_a); [line 25]\n NULLIFY(&foo_g); [line 25]\n " shape="invhouse"]
16 -> 18 ; 16 -> 18 ;
@ -43,31 +43,31 @@ digraph iCFG {
10 -> 20 ; 10 -> 20 ;
9 [label="9: DeclStmt \n *&foo_a:int =0 [line 13]\n NULLIFY(&foo_a,false); [line 13]\n " shape="box"] 9 [label="9: DeclStmt \n *&foo_a:int =0 [line 13]\n NULLIFY(&foo_a); [line 13]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
8 [label="8: DeclStmt \n *&foo_b:int =1 [line 14]\n NULLIFY(&foo_b,false); [line 14]\n " shape="box"] 8 [label="8: DeclStmt \n *&foo_b:int =1 [line 14]\n NULLIFY(&foo_b); [line 14]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
7 [label="7: DeclStmt \n *&foo_c:int =10 [line 15]\n NULLIFY(&foo_c,false); [line 15]\n " shape="box"] 7 [label="7: DeclStmt \n *&foo_c:int =10 [line 15]\n NULLIFY(&foo_c); [line 15]\n " shape="box"]
7 -> 6 ; 7 -> 6 ;
6 [label="6: DeclStmt \n *&foo_d:int =11 [line 16]\n NULLIFY(&foo_d,false); [line 16]\n " shape="box"] 6 [label="6: DeclStmt \n *&foo_d:int =11 [line 16]\n NULLIFY(&foo_d); [line 16]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
5 [label="5: DeclStmt \n *&foo_e:int =1 [line 17]\n NULLIFY(&foo_e,false); [line 17]\n " shape="box"] 5 [label="5: DeclStmt \n *&foo_e:int =1 [line 17]\n NULLIFY(&foo_e); [line 17]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
4 [label="4: DeclStmt \n *&foo_f:int =2 [line 18]\n NULLIFY(&foo_f,false); [line 18]\n " shape="box"] 4 [label="4: DeclStmt \n *&foo_f:int =2 [line 18]\n NULLIFY(&foo_f); [line 18]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;
3 [label="3: DeclStmt \n *&foo_g:int =(2 + 10) [line 19]\n NULLIFY(&foo_g,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 3 [label="3: DeclStmt \n *&foo_g:int =(2 + 10) [line 19]\n NULLIFY(&foo_g); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -12,11 +12,11 @@ digraph iCFG {
250 -> 248 ; 250 -> 248 ;
250 -> 249 ; 250 -> 249 ;
249 [label="249: Prune (false branch) \n n$10=*&q:int [line 171]\n PRUNE((n$10 == 0), false); [line 171]\n REMOVE_TEMPS(n$10); [line 171]\n NULLIFY(&q,false); [line 171]\n " shape="invhouse"] 249 [label="249: Prune (false branch) \n n$10=*&q:int [line 171]\n PRUNE((n$10 == 0), false); [line 171]\n REMOVE_TEMPS(n$10); [line 171]\n NULLIFY(&q); [line 171]\n " shape="invhouse"]
249 -> 247 ; 249 -> 247 ;
248 [label="248: Prune (true branch) \n n$10=*&q:int [line 171]\n PRUNE((n$10 != 0), true); [line 171]\n REMOVE_TEMPS(n$10); [line 171]\n NULLIFY(&q,false); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"] 248 [label="248: Prune (true branch) \n n$10=*&q:int [line 171]\n PRUNE((n$10 != 0), true); [line 171]\n REMOVE_TEMPS(n$10); [line 171]\n NULLIFY(&q); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"]
248 -> 245 ; 248 -> 245 ;
@ -44,7 +44,7 @@ digraph iCFG {
242 -> 245 ; 242 -> 245 ;
241 [label="241: BinaryOperatorStmt: GE \n n$5=*&v:int [line 177]\n NULLIFY(&v,false); [line 177]\n " shape="box"] 241 [label="241: BinaryOperatorStmt: GE \n n$5=*&v:int [line 177]\n NULLIFY(&v); [line 177]\n " shape="box"]
241 -> 242 ; 241 -> 242 ;
@ -87,7 +87,7 @@ digraph iCFG {
232 -> 233 ; 232 -> 233 ;
231 [label="231: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 173]\n REMOVE_TEMPS(n$2); [line 173]\n NULLIFY(&i,false); [line 173]\n NULLIFY(&j,false); [line 173]\n NULLIFY(&k,false); [line 173]\n " shape="invhouse"] 231 [label="231: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 173]\n REMOVE_TEMPS(n$2); [line 173]\n NULLIFY(&i); [line 173]\n NULLIFY(&j); [line 173]\n NULLIFY(&k); [line 173]\n " shape="invhouse"]
231 -> 227 ; 231 -> 227 ;
@ -155,11 +155,11 @@ digraph iCFG {
215 -> 212 ; 215 -> 212 ;
214 [label="214: Prune (true branch) \n PRUNE(((n$5 >= 15) != 0), true); [line 152]\n REMOVE_TEMPS(n$5); [line 152]\n NULLIFY(&i,false); [line 152]\n NULLIFY(&j,false); [line 152]\n NULLIFY(&k,false); [line 152]\n APPLY_ABSTRACTION; [line 152]\n " shape="invhouse"] 214 [label="214: Prune (true branch) \n PRUNE(((n$5 >= 15) != 0), true); [line 152]\n REMOVE_TEMPS(n$5); [line 152]\n NULLIFY(&i); [line 152]\n NULLIFY(&j); [line 152]\n NULLIFY(&k); [line 152]\n APPLY_ABSTRACTION; [line 152]\n " shape="invhouse"]
214 -> 199 ; 214 -> 199 ;
213 [label="213: BinaryOperatorStmt: GE \n n$5=*&v:int [line 152]\n NULLIFY(&v,false); [line 152]\n " shape="box"] 213 [label="213: BinaryOperatorStmt: GE \n n$5=*&v:int [line 152]\n NULLIFY(&v); [line 152]\n " shape="box"]
213 -> 214 ; 213 -> 214 ;
@ -202,7 +202,7 @@ digraph iCFG {
204 -> 205 ; 204 -> 205 ;
203 [label="203: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 148]\n REMOVE_TEMPS(n$2); [line 148]\n NULLIFY(&i,false); [line 148]\n NULLIFY(&j,false); [line 148]\n NULLIFY(&k,false); [line 148]\n APPLY_ABSTRACTION; [line 148]\n " shape="invhouse"] 203 [label="203: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 148]\n REMOVE_TEMPS(n$2); [line 148]\n NULLIFY(&i); [line 148]\n NULLIFY(&j); [line 148]\n NULLIFY(&k); [line 148]\n APPLY_ABSTRACTION; [line 148]\n " shape="invhouse"]
203 -> 199 ; 203 -> 199 ;
@ -254,11 +254,11 @@ digraph iCFG {
191 -> 184 ; 191 -> 184 ;
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 NULLIFY(&SIL_temp_conditional___n$6,false); [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 NULLIFY(&SIL_temp_conditional___n$6); [line 128]\n " shape="invhouse"]
190 -> 182 ; 190 -> 182 ;
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 NULLIFY(&SIL_temp_conditional___n$6,false); [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 NULLIFY(&SIL_temp_conditional___n$6); [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="invhouse"]
189 -> 164 ; 189 -> 164 ;
@ -292,11 +292,11 @@ digraph iCFG {
182 -> 175 ; 182 -> 175 ;
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 NULLIFY(&SIL_temp_conditional___n$3,false); [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 NULLIFY(&SIL_temp_conditional___n$3); [line 130]\n " shape="invhouse"]
181 -> 173 ; 181 -> 173 ;
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 NULLIFY(&SIL_temp_conditional___n$3,false); [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 NULLIFY(&SIL_temp_conditional___n$3); [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="invhouse"]
180 -> 162 ; 180 -> 162 ;
@ -351,7 +351,7 @@ digraph iCFG {
168 -> 164 ; 168 -> 164 ;
167 [label="167: DeclStmt \n *&a:int =2 [line 137]\n NULLIFY(&a,false); [line 137]\n " shape="box"] 167 [label="167: DeclStmt \n *&a:int =2 [line 137]\n NULLIFY(&a); [line 137]\n " shape="box"]
167 -> 166 ; 167 -> 166 ;
@ -386,11 +386,11 @@ digraph iCFG {
159 -> 152 ; 159 -> 152 ;
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 NULLIFY(&SIL_temp_conditional___n$6,false); [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 NULLIFY(&SIL_temp_conditional___n$6); [line 106]\n " shape="invhouse"]
158 -> 150 ; 158 -> 150 ;
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 NULLIFY(&SIL_temp_conditional___n$6,false); [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 NULLIFY(&SIL_temp_conditional___n$6); [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="invhouse"]
157 -> 132 ; 157 -> 132 ;
@ -424,11 +424,11 @@ digraph iCFG {
150 -> 143 ; 150 -> 143 ;
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 NULLIFY(&SIL_temp_conditional___n$3,false); [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 NULLIFY(&SIL_temp_conditional___n$3); [line 108]\n " shape="invhouse"]
149 -> 141 ; 149 -> 141 ;
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 NULLIFY(&SIL_temp_conditional___n$3,false); [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 NULLIFY(&SIL_temp_conditional___n$3); [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="invhouse"]
148 -> 130 ; 148 -> 130 ;
@ -483,7 +483,7 @@ digraph iCFG {
136 -> 132 ; 136 -> 132 ;
135 [label="135: DeclStmt \n *&a:int =2 [line 115]\n NULLIFY(&a,false); [line 115]\n " shape="box"] 135 [label="135: DeclStmt \n *&a:int =2 [line 115]\n NULLIFY(&a); [line 115]\n " shape="box"]
135 -> 134 ; 135 -> 134 ;
@ -518,11 +518,11 @@ digraph iCFG {
127 -> 120 ; 127 -> 120 ;
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 NULLIFY(&SIL_temp_conditional___n$7,false); [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 NULLIFY(&SIL_temp_conditional___n$7); [line 85]\n " shape="invhouse"]
126 -> 118 ; 126 -> 118 ;
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 NULLIFY(&SIL_temp_conditional___n$7,false); [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 NULLIFY(&SIL_temp_conditional___n$7); [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="invhouse"]
125 -> 99 ; 125 -> 99 ;
@ -556,11 +556,11 @@ digraph iCFG {
118 -> 111 ; 118 -> 111 ;
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 NULLIFY(&SIL_temp_conditional___n$4,false); [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 NULLIFY(&SIL_temp_conditional___n$4); [line 87]\n " shape="invhouse"]
117 -> 109 ; 117 -> 109 ;
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 NULLIFY(&SIL_temp_conditional___n$4,false); [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 NULLIFY(&SIL_temp_conditional___n$4); [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="invhouse"]
116 -> 102 ; 116 -> 102 ;
@ -623,7 +623,7 @@ digraph iCFG {
102 -> 101 ; 102 -> 101 ;
101 [label="101: DeclStmt \n *&a:int =2 [line 94]\n NULLIFY(&a,false); [line 94]\n " shape="box"] 101 [label="101: DeclStmt \n *&a:int =2 [line 94]\n NULLIFY(&a); [line 94]\n " shape="box"]
101 -> 100 ; 101 -> 100 ;
@ -654,11 +654,11 @@ digraph iCFG {
94 -> 87 ; 94 -> 87 ;
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 NULLIFY(&SIL_temp_conditional___n$7,false); [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 NULLIFY(&SIL_temp_conditional___n$7); [line 63]\n " shape="invhouse"]
93 -> 85 ; 93 -> 85 ;
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 NULLIFY(&SIL_temp_conditional___n$7,false); [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 NULLIFY(&SIL_temp_conditional___n$7); [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="invhouse"]
92 -> 65 ; 92 -> 65 ;
@ -692,11 +692,11 @@ digraph iCFG {
85 -> 78 ; 85 -> 78 ;
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 NULLIFY(&SIL_temp_conditional___n$4,false); [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 NULLIFY(&SIL_temp_conditional___n$4); [line 65]\n " shape="invhouse"]
84 -> 76 ; 84 -> 76 ;
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 NULLIFY(&SIL_temp_conditional___n$4,false); [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 NULLIFY(&SIL_temp_conditional___n$4); [line 65]\n " shape="invhouse"]
83 -> 68 ; 83 -> 68 ;
@ -763,7 +763,7 @@ digraph iCFG {
68 -> 67 ; 68 -> 67 ;
67 [label="67: DeclStmt \n *&a:int =2 [line 73]\n NULLIFY(&a,false); [line 73]\n " shape="box"] 67 [label="67: DeclStmt \n *&a:int =2 [line 73]\n NULLIFY(&a); [line 73]\n " shape="box"]
67 -> 66 ; 67 -> 66 ;
@ -790,19 +790,19 @@ digraph iCFG {
61 -> 75 ; 61 -> 75 ;
60 [label="60: DeclStmt \n *&a:int =0 [line 38]\n NULLIFY(&a,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"] 60 [label="60: DeclStmt \n *&a:int =0 [line 38]\n NULLIFY(&a); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
60 -> 40 ; 60 -> 40 ;
59 [label="59: BinaryOperatorStmt: Assign \n *&a:int =1 [line 40]\n NULLIFY(&a,false); [line 40]\n " shape="box"] 59 [label="59: BinaryOperatorStmt: Assign \n *&a:int =1 [line 40]\n NULLIFY(&a); [line 40]\n " shape="box"]
59 -> 52 ; 59 -> 52 ;
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 NULLIFY(&SIL_temp_conditional___n$4,false); [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 NULLIFY(&SIL_temp_conditional___n$4); [line 42]\n " shape="invhouse"]
58 -> 50 ; 58 -> 50 ;
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 NULLIFY(&SIL_temp_conditional___n$4,false); [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 NULLIFY(&SIL_temp_conditional___n$4); [line 42]\n " shape="invhouse"]
57 -> 31 ; 57 -> 31 ;
@ -836,11 +836,11 @@ digraph iCFG {
50 -> 43 ; 50 -> 43 ;
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 NULLIFY(&SIL_temp_conditional___n$1,false); [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 NULLIFY(&SIL_temp_conditional___n$1); [line 44]\n " shape="invhouse"]
49 -> 41 ; 49 -> 41 ;
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 NULLIFY(&SIL_temp_conditional___n$1,false); [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 NULLIFY(&SIL_temp_conditional___n$1); [line 44]\n " shape="invhouse"]
48 -> 34 ; 48 -> 34 ;
@ -903,7 +903,7 @@ digraph iCFG {
34 -> 33 ; 34 -> 33 ;
33 [label="33: BinaryOperatorStmt: Assign \n *&a:int =2 [line 51]\n NULLIFY(&a,false); [line 51]\n " shape="box"] 33 [label="33: BinaryOperatorStmt: Assign \n *&a:int =2 [line 51]\n NULLIFY(&a); [line 51]\n " shape="box"]
33 -> 32 ; 33 -> 32 ;
@ -915,7 +915,7 @@ digraph iCFG {
31 -> 30 ; 31 -> 30 ;
30 [label="30: BinaryOperatorStmt: Assign \n *&a:int =3 [line 55]\n NULLIFY(&a,false); [line 55]\n " shape="box"] 30 [label="30: BinaryOperatorStmt: Assign \n *&a:int =3 [line 55]\n NULLIFY(&a); [line 55]\n " shape="box"]
30 -> 29 ; 30 -> 29 ;
@ -930,7 +930,7 @@ digraph iCFG {
27 -> 60 ; 27 -> 60 ;
26 [label="26: DeclStmt \n *&a:int =0 [line 27]\n NULLIFY(&a,false); [line 27]\n " shape="box"] 26 [label="26: DeclStmt \n *&a:int =0 [line 27]\n NULLIFY(&a); [line 27]\n " shape="box"]
26 -> 23 ; 26 -> 23 ;
@ -959,7 +959,7 @@ digraph iCFG {
20 -> 19 ; 20 -> 19 ;
19 [label="19: BinaryOperatorStmt: Assign \n *&a:int =1 [line 33]\n NULLIFY(&a,false); [line 33]\n " shape="box"] 19 [label="19: BinaryOperatorStmt: Assign \n *&a:int =1 [line 33]\n NULLIFY(&a); [line 33]\n " shape="box"]
19 -> 18 ; 19 -> 18 ;
@ -974,7 +974,7 @@ digraph iCFG {
16 -> 26 ; 16 -> 26 ;
15 [label="15: DeclStmt \n *&a:int =0 [line 15]\n NULLIFY(&a,false); [line 15]\n " shape="box"] 15 [label="15: DeclStmt \n *&a:int =0 [line 15]\n NULLIFY(&a); [line 15]\n " shape="box"]
15 -> 12 ; 15 -> 12 ;
@ -1007,7 +1007,7 @@ digraph iCFG {
8 -> 7 ; 8 -> 7 ;
7 [label="7: BinaryOperatorStmt: Assign \n *&a:int =1 [line 22]\n NULLIFY(&a,false); [line 22]\n " shape="box"] 7 [label="7: BinaryOperatorStmt: Assign \n *&a:int =1 [line 22]\n NULLIFY(&a); [line 22]\n " shape="box"]
7 -> 6 ; 7 -> 6 ;

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

@ -3,7 +3,7 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: Return Stmt \n n$0=*&p.x:int [line 19]\n *&return:int =(1 / (n$0 - 32)) [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&p,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 6 [label="6: Return Stmt \n n$0=*&p.x:int [line 19]\n *&return:int =(1 / (n$0 - 32)) [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&p); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -14,7 +14,7 @@ digraph iCFG {
4 -> 7 ; 4 -> 7 ;
3 [label="3: Return Stmt \n *&SIL_compound_literal__n$0.x:int =52 [line 15]\n *&SIL_compound_literal__n$0.y:int =32 [line 15]\n n$1=*&SIL_compound_literal__n$0.x:int [line 15]\n *&return:int =n$1 [line 15]\n REMOVE_TEMPS(n$1); [line 15]\n NULLIFY(&SIL_compound_literal__n$0,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 3 [label="3: Return Stmt \n *&SIL_compound_literal__n$0.x:int =52 [line 15]\n *&SIL_compound_literal__n$0.y:int =32 [line 15]\n n$1=*&SIL_compound_literal__n$0.x:int [line 15]\n *&return:int =n$1 [line 15]\n REMOVE_TEMPS(n$1); [line 15]\n NULLIFY(&SIL_compound_literal__n$0); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,7 +3,7 @@ digraph iCFG {
18 -> 17 ; 18 -> 17 ;
17 [label="17: Return Stmt \n n$0=*&imageDrawRect.origin.x.a:int [line 59]\n *&return:int =(1 / n$0) [line 59]\n REMOVE_TEMPS(n$0); [line 59]\n NULLIFY(&imageDrawRect,false); [line 59]\n APPLY_ABSTRACTION; [line 59]\n " shape="box"] 17 [label="17: Return Stmt \n n$0=*&imageDrawRect.origin.x.a:int [line 59]\n *&return:int =(1 / n$0) [line 59]\n REMOVE_TEMPS(n$0); [line 59]\n NULLIFY(&imageDrawRect); [line 59]\n APPLY_ABSTRACTION; [line 59]\n " shape="box"]
17 -> 16 ; 17 -> 16 ;
@ -18,7 +18,7 @@ digraph iCFG {
14 -> 13 ; 14 -> 13 ;
13 [label="13: Return Stmt \n n$0=*&e.ssn:int [line 36]\n *&return:int =(1 / (n$0 - 12)) [line 36]\n REMOVE_TEMPS(n$0); [line 36]\n NULLIFY(&e,false); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 13 [label="13: Return Stmt \n n$0=*&e.ssn:int [line 36]\n *&return:int =(1 / (n$0 - 12)) [line 36]\n REMOVE_TEMPS(n$0); [line 36]\n NULLIFY(&e); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
13 -> 12 ; 13 -> 12 ;
@ -33,7 +33,7 @@ digraph iCFG {
10 -> 9 ; 10 -> 9 ;
9 [label="9: Return Stmt \n n$0=*&p:struct Point * [line 21]\n n$1=*n$0.x:int [line 21]\n *&return:int =(1 / (n$1 - 4)) [line 21]\n REMOVE_TEMPS(n$0,n$1); [line 21]\n NULLIFY(&p,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"] 9 [label="9: Return Stmt \n n$0=*&p:struct Point * [line 21]\n n$1=*n$0.x:int [line 21]\n *&return:int =(1 / (n$1 - 4)) [line 21]\n REMOVE_TEMPS(n$0,n$1); [line 21]\n NULLIFY(&p); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -44,7 +44,7 @@ digraph iCFG {
7 -> 10 ; 7 -> 10 ;
6 [label="6: DeclStmt \n n$0=_fun_foo() [line 17]\n *&p.x:int =1 [line 17]\n *&p.y:int =(n$0 + 3) [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: DeclStmt \n n$0=_fun_foo() [line 17]\n *&p.x:int =1 [line 17]\n *&p.y:int =(n$0 + 3) [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&p); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n NULLIFY(&a,false); [line 11]\n " shape="box"] 10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n NULLIFY(&a); [line 11]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
@ -7,11 +7,11 @@ digraph iCFG {
9 -> 4 ; 9 -> 4 ;
8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n NULLIFY(&a,false); [line 14]\n " shape="box"] 8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n NULLIFY(&a); [line 14]\n " shape="box"]
8 -> 5 ; 8 -> 5 ;
7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&b,false); [line 15]\n " shape="invhouse"] 7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&b); [line 15]\n " shape="invhouse"]
7 -> 3 ; 7 -> 3 ;

@ -1,13 +1,13 @@
digraph iCFG { digraph iCFG {
10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n NULLIFY(&a,false); [line 11]\n " shape="box"] 10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n NULLIFY(&a); [line 11]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
9 [label="9: DeclStmt \n *&b:int =0 [line 12]\n NULLIFY(&b,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 9 [label="9: DeclStmt \n *&b:int =0 [line 12]\n NULLIFY(&b); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
9 -> 4 ; 9 -> 4 ;
8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n NULLIFY(&a,false); [line 14]\n " shape="box"] 8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n NULLIFY(&a); [line 14]\n " shape="box"]
8 -> 5 ; 8 -> 5 ;
@ -19,7 +19,7 @@ digraph iCFG {
6 -> 4 ; 6 -> 4 ;
5 [label="5: BinaryOperatorStmt: Assign \n *&b:int =40 [line 15]\n n$0=*&b:int [line 15]\n NULLIFY(&b,false); [line 15]\n " shape="box"] 5 [label="5: BinaryOperatorStmt: Assign \n *&b:int =40 [line 15]\n n$0=*&b:int [line 15]\n NULLIFY(&b); [line 15]\n " shape="box"]
5 -> 6 ; 5 -> 6 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
15 [label="15: DeclStmt \n *&a:int =10 [line 11]\n NULLIFY(&a,false); [line 11]\n " shape="box"] 15 [label="15: DeclStmt \n *&a:int =10 [line 11]\n NULLIFY(&a); [line 11]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
@ -7,11 +7,11 @@ digraph iCFG {
14 -> 4 ; 14 -> 4 ;
13 [label="13: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n NULLIFY(&a,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 13 [label="13: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n NULLIFY(&a); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
13 -> 8 ; 13 -> 8 ;
12 [label="12: BinaryOperatorStmt: Assign \n *&a:int =2 [line 16]\n NULLIFY(&a,false); [line 16]\n " shape="box"] 12 [label="12: BinaryOperatorStmt: Assign \n *&a:int =2 [line 16]\n NULLIFY(&a); [line 16]\n " shape="box"]
12 -> 9 ; 12 -> 9 ;
@ -32,7 +32,7 @@ digraph iCFG {
8 -> 12 ; 8 -> 12 ;
7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n NULLIFY(&b,false); [line 18]\n " shape="invhouse"] 7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n NULLIFY(&b); [line 18]\n " shape="invhouse"]
7 -> 3 ; 7 -> 3 ;

@ -11,7 +11,7 @@ digraph iCFG {
10 -> 6 ; 10 -> 6 ;
9 [label="9: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n NULLIFY(&i,false); [line 13]\n NULLIFY(&j,false); [line 13]\n " shape="invhouse"] 9 [label="9: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n NULLIFY(&i); [line 13]\n NULLIFY(&j); [line 13]\n " shape="invhouse"]
9 -> 3 ; 9 -> 3 ;
@ -19,7 +19,7 @@ digraph iCFG {
8 -> 10 ; 8 -> 10 ;
7 [label="7: BinaryOperatorStmt: Assign \n *&b:int =10 [line 13]\n n$1=*&b:int [line 13]\n NULLIFY(&b,false); [line 13]\n " shape="box"] 7 [label="7: BinaryOperatorStmt: Assign \n *&b:int =10 [line 13]\n n$1=*&b:int [line 13]\n NULLIFY(&b); [line 13]\n " shape="box"]
7 -> 8 ; 7 -> 8 ;
@ -28,7 +28,7 @@ digraph iCFG {
6 -> 4 ; 6 -> 4 ;
5 [label="5: DeclStmt \n *&b:int =3 [line 13]\n NULLIFY(&b,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 5 [label="5: DeclStmt \n *&b:int =3 [line 13]\n NULLIFY(&b); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -7,7 +7,7 @@ digraph iCFG {
16 -> 12 ; 16 -> 12 ;
15 [label="15: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 13]\n REMOVE_TEMPS(n$4); [line 13]\n NULLIFY(&j,false); [line 13]\n " shape="invhouse"] 15 [label="15: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 13]\n REMOVE_TEMPS(n$4); [line 13]\n NULLIFY(&j); [line 13]\n " shape="invhouse"]
15 -> 6 ; 15 -> 6 ;
@ -32,7 +32,7 @@ digraph iCFG {
10 -> 13 ; 10 -> 13 ;
9 [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n NULLIFY(&i,false); [line 12]\n " shape="invhouse"] 9 [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n NULLIFY(&i); [line 12]\n " shape="invhouse"]
9 -> 3 ; 9 -> 3 ;
@ -57,7 +57,7 @@ digraph iCFG {
4 -> 7 ; 4 -> 7 ;
3 [label="3: Return Stmt \n n$0=*&k:int [line 17]\n *&return:int =n$0 [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&k,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&k:int [line 17]\n *&return:int =n$0 [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&k); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -7,7 +7,7 @@ digraph iCFG {
9 -> 6 ; 9 -> 6 ;
8 [label="8: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n NULLIFY(&b,false); [line 12]\n NULLIFY(&j,false); [line 12]\n " shape="invhouse"] 8 [label="8: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n NULLIFY(&b); [line 12]\n NULLIFY(&j); [line 12]\n " shape="invhouse"]
8 -> 3 ; 8 -> 3 ;

@ -7,7 +7,7 @@ digraph iCFG {
8 -> 4 ; 8 -> 4 ;
7 [label="7: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n NULLIFY(&j,false); [line 12]\n " shape="invhouse"] 7 [label="7: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n NULLIFY(&j); [line 12]\n " shape="invhouse"]
7 -> 3 ; 7 -> 3 ;
@ -15,7 +15,7 @@ digraph iCFG {
6 -> 8 ; 6 -> 8 ;
5 [label="5: DeclStmt \n *&b:int =0 [line 12]\n NULLIFY(&b,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 5 [label="5: DeclStmt \n *&b:int =0 [line 12]\n NULLIFY(&b); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
8 [label="8: DeclStmt \n *&d:int =0 [line 11]\n NULLIFY(&d,false); [line 11]\n " shape="box"] 8 [label="8: DeclStmt \n *&d:int =0 [line 11]\n NULLIFY(&d); [line 11]\n " shape="box"]
8 -> 5 ; 8 -> 5 ;
@ -11,7 +11,7 @@ digraph iCFG {
6 -> 4 ; 6 -> 4 ;
5 [label="5: BinaryOperatorStmt: Assign \n *&d:int =0 [line 12]\n NULLIFY(&d,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 5 [label="5: BinaryOperatorStmt: Assign \n *&d:int =0 [line 12]\n NULLIFY(&d); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -7,7 +7,7 @@ digraph iCFG {
7 -> 4 ; 7 -> 4 ;
6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 14]\n NULLIFY(&i,false); [line 14]\n " shape="invhouse"] 6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 14]\n NULLIFY(&i); [line 14]\n " shape="invhouse"]
6 -> 3 ; 6 -> 3 ;

@ -7,7 +7,7 @@ digraph iCFG {
10 -> 6 ; 10 -> 6 ;
9 [label="9: Prune (false branch) \n PRUNE(((n$1 < 10) == 0), false); [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&i,false); [line 12]\n NULLIFY(&j,false); [line 12]\n " shape="invhouse"] 9 [label="9: Prune (false branch) \n PRUNE(((n$1 < 10) == 0), false); [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&i); [line 12]\n NULLIFY(&j); [line 12]\n " shape="invhouse"]
9 -> 3 ; 9 -> 3 ;

@ -24,7 +24,7 @@ digraph iCFG {
10 -> 11 ; 10 -> 11 ;
9 [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n NULLIFY(&i,false); [line 12]\n " shape="invhouse"] 9 [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n NULLIFY(&i); [line 12]\n " shape="invhouse"]
9 -> 3 ; 9 -> 3 ;
@ -49,7 +49,7 @@ digraph iCFG {
4 -> 7 ; 4 -> 7 ;
3 [label="3: Return Stmt \n n$0=*&k:int [line 17]\n *&return:int =n$0 [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&k,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&k:int [line 17]\n *&return:int =n$0 [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&k); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -7,7 +7,7 @@ digraph iCFG {
8 -> 4 ; 8 -> 4 ;
7 [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&i,false); [line 12]\n " shape="invhouse"] 7 [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&i); [line 12]\n " shape="invhouse"]
7 -> 3 ; 7 -> 3 ;

@ -1,13 +1,13 @@
digraph iCFG { digraph iCFG {
9 [label="9: DeclStmt \n *&i:int =0 [line 11]\n NULLIFY(&i,false); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"] 9 [label="9: DeclStmt \n *&i:int =0 [line 11]\n NULLIFY(&i); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
9 -> 4 ; 9 -> 4 ;
8 [label="8: UnaryOperator \n n$1=*&i:int [line 13]\n *&i:int =(n$1 + 1) [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n NULLIFY(&i,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 8 [label="8: UnaryOperator \n n$1=*&i:int [line 13]\n *&i:int =(n$1 + 1) [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n NULLIFY(&i); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
8 -> 4 ; 8 -> 4 ;
7 [label="7: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&i,false); [line 12]\n " shape="invhouse"] 7 [label="7: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&i); [line 12]\n " shape="invhouse"]
7 -> 3 ; 7 -> 3 ;

@ -32,7 +32,7 @@ digraph iCFG {
8 -> 4 ; 8 -> 4 ;
7 [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&i,false); [line 13]\n NULLIFY(&k,false); [line 13]\n " shape="invhouse"] 7 [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&i); [line 13]\n NULLIFY(&k); [line 13]\n " shape="invhouse"]
7 -> 3 ; 7 -> 3 ;

@ -54,7 +54,7 @@ digraph iCFG {
7 -> 4 ; 7 -> 4 ;
6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n NULLIFY(&x,false); [line 12]\n " shape="invhouse"] 6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n NULLIFY(&x); [line 12]\n " shape="invhouse"]
6 -> 3 ; 6 -> 3 ;

@ -11,7 +11,7 @@ digraph iCFG {
6 -> 8 ; 6 -> 8 ;
5 [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int * [line 11]\n *n$0:int =0 [line 11]\n n$1=*n$0:int [line 11]\n NULLIFY(&p,false); [line 11]\n " shape="box"] 5 [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int * [line 11]\n *n$0:int =0 [line 11]\n n$1=*n$0:int [line 11]\n NULLIFY(&p); [line 11]\n " shape="box"]
5 -> 6 ; 5 -> 6 ;

@ -11,7 +11,7 @@ digraph iCFG {
6 -> 8 ; 6 -> 8 ;
5 [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int * [line 11]\n *n$0:int =0 [line 11]\n NULLIFY(&p,false); [line 11]\n " shape="box"] 5 [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int * [line 11]\n *n$0:int =0 [line 11]\n NULLIFY(&p); [line 11]\n " shape="box"]
5 -> 6 ; 5 -> 6 ;

@ -3,19 +3,19 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: DeclStmt \n n$3=*&a:int [line 12]\n *&a:int =(n$3 + 1) [line 12]\n *&b:int =(n$3 + 1) [line 12]\n REMOVE_TEMPS(n$3); [line 12]\n NULLIFY(&b,false); [line 12]\n " shape="box"] 6 [label="6: DeclStmt \n n$3=*&a:int [line 12]\n *&a:int =(n$3 + 1) [line 12]\n *&b:int =(n$3 + 1) [line 12]\n REMOVE_TEMPS(n$3); [line 12]\n NULLIFY(&b); [line 12]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
5 [label="5: DeclStmt \n n$2=*&a:int [line 13]\n *&a:int =(n$2 + 1) [line 13]\n *&c:int =n$2 [line 13]\n REMOVE_TEMPS(n$2); [line 13]\n NULLIFY(&c,false); [line 13]\n " shape="box"] 5 [label="5: DeclStmt \n n$2=*&a:int [line 13]\n *&a:int =(n$2 + 1) [line 13]\n *&c:int =n$2 [line 13]\n REMOVE_TEMPS(n$2); [line 13]\n NULLIFY(&c); [line 13]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
4 [label="4: DeclStmt \n n$1=*&a:int [line 14]\n *&a:int =(n$1 - 1) [line 14]\n *&d:int =(n$1 - 1) [line 14]\n REMOVE_TEMPS(n$1); [line 14]\n NULLIFY(&d,false); [line 14]\n " shape="box"] 4 [label="4: DeclStmt \n n$1=*&a:int [line 14]\n *&a:int =(n$1 - 1) [line 14]\n *&d:int =(n$1 - 1) [line 14]\n REMOVE_TEMPS(n$1); [line 14]\n NULLIFY(&d); [line 14]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;
3 [label="3: DeclStmt \n n$0=*&a:int [line 15]\n *&a:int =(n$0 - 1) [line 15]\n *&e:int =n$0 [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&a,false); [line 15]\n NULLIFY(&e,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 3 [label="3: DeclStmt \n n$0=*&a:int [line 15]\n *&a:int =(n$0 - 1) [line 15]\n *&e:int =n$0 [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&a); [line 15]\n NULLIFY(&e); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,19 +3,19 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: DeclStmt \n n$4=*&a:int [line 12]\n *&a:int =(n$4 + 1) [line 12]\n n$5=*&a:int [line 12]\n *&b:int =n$5 [line 12]\n REMOVE_TEMPS(n$4,n$5); [line 12]\n NULLIFY(&b,false); [line 12]\n " shape="box"] 6 [label="6: DeclStmt \n n$4=*&a:int [line 12]\n *&a:int =(n$4 + 1) [line 12]\n n$5=*&a:int [line 12]\n *&b:int =n$5 [line 12]\n REMOVE_TEMPS(n$4,n$5); [line 12]\n NULLIFY(&b); [line 12]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
5 [label="5: DeclStmt \n n$3=*&a:int [line 13]\n *&a:int =(n$3 + 1) [line 13]\n *&c:int =n$3 [line 13]\n REMOVE_TEMPS(n$3); [line 13]\n NULLIFY(&c,false); [line 13]\n " shape="box"] 5 [label="5: DeclStmt \n n$3=*&a:int [line 13]\n *&a:int =(n$3 + 1) [line 13]\n *&c:int =n$3 [line 13]\n REMOVE_TEMPS(n$3); [line 13]\n NULLIFY(&c); [line 13]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
4 [label="4: DeclStmt \n n$1=*&a:int [line 14]\n *&a:int =(n$1 - 1) [line 14]\n n$2=*&a:int [line 14]\n *&d:int =n$2 [line 14]\n REMOVE_TEMPS(n$1,n$2); [line 14]\n NULLIFY(&d,false); [line 14]\n " shape="box"] 4 [label="4: DeclStmt \n n$1=*&a:int [line 14]\n *&a:int =(n$1 - 1) [line 14]\n n$2=*&a:int [line 14]\n *&d:int =n$2 [line 14]\n REMOVE_TEMPS(n$1,n$2); [line 14]\n NULLIFY(&d); [line 14]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;
3 [label="3: DeclStmt \n n$0=*&a:int [line 15]\n *&a:int =(n$0 - 1) [line 15]\n *&e:int =n$0 [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&a,false); [line 15]\n NULLIFY(&e,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 3 [label="3: DeclStmt \n n$0=*&a:int [line 15]\n *&a:int =(n$0 - 1) [line 15]\n *&e:int =n$0 [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&a); [line 15]\n NULLIFY(&e); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
8 [label="8: Return Stmt \n n$2=*&p:int * [line 22]\n n$3=*n$2:int [line 22]\n *&x:int =n$3 [line 22]\n *&y:int =1 [line 23]\n n$0=*&x:int [line 24]\n n$1=*&y:int [line 24]\n n$4=*(n$0 + n$1):int [line 21]\n *&return:int =n$4 [line 21]\n REMOVE_TEMPS(n$4,n$0,n$1,n$2,n$3); [line 21]\n NULLIFY(&p,false); [line 21]\n NULLIFY(&x,false); [line 21]\n NULLIFY(&y,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"] 8 [label="8: Return Stmt \n n$2=*&p:int * [line 22]\n n$3=*n$2:int [line 22]\n *&x:int =n$3 [line 22]\n *&y:int =1 [line 23]\n n$0=*&x:int [line 24]\n n$1=*&y:int [line 24]\n n$4=*(n$0 + n$1):int [line 21]\n *&return:int =n$4 [line 21]\n REMOVE_TEMPS(n$4,n$0,n$1,n$2,n$3); [line 21]\n NULLIFY(&p); [line 21]\n NULLIFY(&x); [line 21]\n NULLIFY(&y); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -10,11 +10,11 @@ digraph iCFG {
6 -> 8 ; 6 -> 8 ;
5 [label="5: DeclStmt \n *&y:int =3 [line 11]\n NULLIFY(&y,false); [line 11]\n " shape="box"] 5 [label="5: DeclStmt \n *&y:int =3 [line 11]\n NULLIFY(&y); [line 11]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
4 [label="4: BinaryOperatorStmt: Assign \n *&X:int =4 [line 14]\n n$0=*&X:int [line 15]\n n$1=*n$0:int [line 13]\n *&y:int =n$1 [line 13]\n REMOVE_TEMPS(n$1,n$0); [line 13]\n NULLIFY(&X,false); [line 13]\n NULLIFY(&y,false); [line 13]\n " shape="box"] 4 [label="4: BinaryOperatorStmt: Assign \n *&X:int =4 [line 14]\n n$0=*&X:int [line 15]\n n$1=*n$0:int [line 13]\n *&y:int =n$1 [line 13]\n REMOVE_TEMPS(n$1,n$0); [line 13]\n NULLIFY(&X); [line 13]\n NULLIFY(&y); [line 13]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -1,13 +1,13 @@
digraph iCFG { digraph iCFG {
9 [label="9: DeclStmt \n *&x:double =1.000000 [line 11]\n NULLIFY(&x,false); [line 11]\n " shape="box"] 9 [label="9: DeclStmt \n *&x:double =1.000000 [line 11]\n NULLIFY(&x); [line 11]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
8 [label="8: BinaryOperatorStmt: Assign \n n$11=*&s:double [line 13]\n *&x:double =n$11 [line 13]\n REMOVE_TEMPS(n$11); [line 13]\n NULLIFY(&x,false); [line 13]\n " shape="box"] 8 [label="8: BinaryOperatorStmt: Assign \n n$11=*&s:double [line 13]\n *&x:double =n$11 [line 13]\n REMOVE_TEMPS(n$11); [line 13]\n NULLIFY(&x); [line 13]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
7 [label="7: BinaryOperatorStmt: Assign \n *&x:double =3 [line 14]\n n$10=*&x:double [line 14]\n *&q:double =n$10 [line 14]\n REMOVE_TEMPS(n$10); [line 14]\n NULLIFY(&q,false); [line 14]\n " shape="box"] 7 [label="7: BinaryOperatorStmt: Assign \n *&x:double =3 [line 14]\n n$10=*&x:double [line 14]\n *&q:double =n$10 [line 14]\n REMOVE_TEMPS(n$10); [line 14]\n NULLIFY(&q); [line 14]\n " shape="box"]
7 -> 6 ; 7 -> 6 ;
@ -15,11 +15,11 @@ digraph iCFG {
6 -> 5 ; 6 -> 5 ;
5 [label="5: BinaryOperatorStmt: Assign \n n$7=*&x:double [line 16]\n *&x:double =(n$7 + 1.000000) [line 16]\n n$8=*&x:double [line 16]\n *&q:double =n$8 [line 16]\n REMOVE_TEMPS(n$7,n$8); [line 16]\n NULLIFY(&q,false); [line 16]\n " shape="box"] 5 [label="5: BinaryOperatorStmt: Assign \n n$7=*&x:double [line 16]\n *&x:double =(n$7 + 1.000000) [line 16]\n n$8=*&x:double [line 16]\n *&q:double =n$8 [line 16]\n REMOVE_TEMPS(n$7,n$8); [line 16]\n NULLIFY(&q); [line 16]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&t:double [line 17]\n n$1=*&s:double [line 17]\n *&s:double =(n$1 + n$0) [line 17]\n n$2=*&s:double [line 17]\n n$3=*&r:double [line 17]\n *&r:double =(n$3 + n$2) [line 17]\n n$4=*&r:double [line 17]\n n$5=*&x:double [line 17]\n *&x:double =(n$5 + n$4) [line 17]\n n$6=*&x:double [line 17]\n *&q:double =n$6 [line 17]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3,n$4,n$5,n$6); [line 17]\n NULLIFY(&q,false); [line 17]\n NULLIFY(&r,false); [line 17]\n NULLIFY(&s,false); [line 17]\n NULLIFY(&t,false); [line 17]\n NULLIFY(&x,false); [line 17]\n " shape="box"] 4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&t:double [line 17]\n n$1=*&s:double [line 17]\n *&s:double =(n$1 + n$0) [line 17]\n n$2=*&s:double [line 17]\n n$3=*&r:double [line 17]\n *&r:double =(n$3 + n$2) [line 17]\n n$4=*&r:double [line 17]\n n$5=*&x:double [line 17]\n *&x:double =(n$5 + n$4) [line 17]\n n$6=*&x:double [line 17]\n *&q:double =n$6 [line 17]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3,n$4,n$5,n$6); [line 17]\n NULLIFY(&q); [line 17]\n NULLIFY(&r); [line 17]\n NULLIFY(&s); [line 17]\n NULLIFY(&t); [line 17]\n NULLIFY(&x); [line 17]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -15,7 +15,7 @@ digraph iCFG {
192 -> 184 ; 192 -> 184 ;
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 [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); [line 193]\n NULLIFY(&value); [line 193]\n " shape="box"]
191 -> 193 ; 191 -> 193 ;
@ -36,7 +36,7 @@ digraph iCFG {
187 -> 189 ; 187 -> 189 ;
186 [label="186: BinaryOperatorStmt: EQ \n n$1=*&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); [line 193]\n " shape="box"]
186 -> 187 ; 186 -> 187 ;
@ -56,11 +56,11 @@ digraph iCFG {
182 -> 195 ; 182 -> 195 ;
181 [label="181: DeclStmt \n *&value:int =0 [line 186]\n NULLIFY(&value,false); [line 186]\n " shape="box"] 181 [label="181: DeclStmt \n *&value:int =0 [line 186]\n NULLIFY(&value); [line 186]\n " shape="box"]
181 -> 180 ; 181 -> 180 ;
180 [label="180: Switch_stmt \n *&value:int =7 [line 187]\n n$0=*&value:int [line 187]\n NULLIFY(&value,false); [line 187]\n " shape="box"] 180 [label="180: Switch_stmt \n *&value:int =7 [line 187]\n n$0=*&value:int [line 187]\n NULLIFY(&value); [line 187]\n " shape="box"]
180 -> 179 ; 180 -> 179 ;
@ -79,7 +79,7 @@ digraph iCFG {
176 -> 175 ; 176 -> 175 ;
175 [label="175: Switch_stmt \n n$0=*&value:int [line 181]\n NULLIFY(&value,false); [line 181]\n " shape="box"] 175 [label="175: Switch_stmt \n n$0=*&value:int [line 181]\n NULLIFY(&value); [line 181]\n " shape="box"]
175 -> 174 ; 175 -> 174 ;
@ -103,7 +103,7 @@ digraph iCFG {
170 -> 165 ; 170 -> 165 ;
170 -> 166 ; 170 -> 166 ;
169 [label="169: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 161]\n NULLIFY(&value,false); [line 161]\n " shape="invhouse"] 169 [label="169: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 161]\n NULLIFY(&value); [line 161]\n " shape="invhouse"]
169 -> 168 ; 169 -> 168 ;
@ -128,7 +128,7 @@ digraph iCFG {
164 -> 163 ; 164 -> 163 ;
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 [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); [line 166]\n APPLY_ABSTRACTION; [line 166]\n " shape="box"]
163 -> 146 ; 163 -> 146 ;
@ -153,7 +153,7 @@ digraph iCFG {
158 -> 150 ; 158 -> 150 ;
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 [label="157: Switch_stmt \n n$3=*&SIL_temp_conditional___n$1:int [line 160]\n NULLIFY(&SIL_temp_conditional___n$1); [line 160]\n " shape="box"]
157 -> 169 ; 157 -> 169 ;
@ -183,11 +183,11 @@ digraph iCFG {
151 -> 157 ; 151 -> 157 ;
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 [label="150: DeclStmt \n *&a:int =0 [line 174]\n REMOVE_TEMPS(n$3); [line 174]\n NULLIFY(&a); [line 174]\n APPLY_ABSTRACTION; [line 174]\n " shape="box"]
150 -> 146 ; 150 -> 146 ;
149 [label="149: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 159]\n REMOVE_TEMPS(n$0); [line 159]\n NULLIFY(&value,false); [line 159]\n " shape="invhouse"] 149 [label="149: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 159]\n REMOVE_TEMPS(n$0); [line 159]\n NULLIFY(&value); [line 159]\n " shape="invhouse"]
149 -> 145 ; 149 -> 145 ;
@ -215,7 +215,7 @@ digraph iCFG {
143 -> 171 ; 143 -> 171 ;
142 [label="142: DeclStmt \n *&value:int =0 [line 140]\n NULLIFY(&value,false); [line 140]\n " shape="box"] 142 [label="142: DeclStmt \n *&value:int =0 [line 140]\n NULLIFY(&value); [line 140]\n " shape="box"]
142 -> 129 ; 142 -> 129 ;
@ -245,7 +245,7 @@ digraph iCFG {
136 -> 135 ; 136 -> 135 ;
135 [label="135: UnaryOperator \n n$1=*&something:int [line 147]\n *&something:int =(n$1 + 1) [line 147]\n REMOVE_TEMPS(n$1); [line 147]\n NULLIFY(&something,false); [line 147]\n APPLY_ABSTRACTION; [line 147]\n " shape="box"] 135 [label="135: UnaryOperator \n n$1=*&something:int [line 147]\n *&something:int =(n$1 + 1) [line 147]\n REMOVE_TEMPS(n$1); [line 147]\n NULLIFY(&something); [line 147]\n APPLY_ABSTRACTION; [line 147]\n " shape="box"]
135 -> 128 ; 135 -> 128 ;
@ -327,7 +327,7 @@ digraph iCFG {
116 -> 115 ; 116 -> 115 ;
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 [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); [line 127]\n APPLY_ABSTRACTION; [line 127]\n " shape="box"]
115 -> 102 ; 115 -> 102 ;
@ -352,7 +352,7 @@ digraph iCFG {
110 -> 102 ; 110 -> 102 ;
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 [label="109: Switch_stmt \n n$2=*&SIL_temp_conditional___n$0:int [line 121]\n NULLIFY(&SIL_temp_conditional___n$0); [line 121]\n " shape="box"]
109 -> 120 ; 109 -> 120 ;
@ -373,7 +373,7 @@ digraph iCFG {
105 -> 107 ; 105 -> 107 ;
104 [label="104: BinaryOperatorStmt: GT \n n$1=*&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); [line 121]\n " shape="box"]
104 -> 105 ; 104 -> 105 ;
@ -426,7 +426,7 @@ digraph iCFG {
92 -> 94 ; 92 -> 94 ;
92 -> 95 ; 92 -> 95 ;
91 [label="91: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 105]\n REMOVE_TEMPS(n$0); [line 105]\n NULLIFY(&value,false); [line 105]\n " shape="invhouse"] 91 [label="91: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 105]\n REMOVE_TEMPS(n$0); [line 105]\n NULLIFY(&value); [line 105]\n " shape="invhouse"]
91 -> 87 ; 91 -> 87 ;
@ -500,11 +500,11 @@ digraph iCFG {
74 -> 73 ; 74 -> 73 ;
73 [label="73: UnaryOperator \n n$1=*&something:int [line 92]\n *&something:int =(n$1 + 1) [line 92]\n REMOVE_TEMPS(n$1); [line 92]\n NULLIFY(&something,false); [line 92]\n " shape="box"] 73 [label="73: UnaryOperator \n n$1=*&something:int [line 92]\n *&something:int =(n$1 + 1) [line 92]\n REMOVE_TEMPS(n$1); [line 92]\n NULLIFY(&something); [line 92]\n " shape="box"]
73 -> 72 ; 73 -> 72 ;
72 [label="72: BinaryOperatorStmt: Assign \n *&z:int =42 [line 94]\n NULLIFY(&z,false); [line 94]\n APPLY_ABSTRACTION; [line 94]\n " shape="box"] 72 [label="72: BinaryOperatorStmt: Assign \n *&z:int =42 [line 94]\n NULLIFY(&z); [line 94]\n APPLY_ABSTRACTION; [line 94]\n " shape="box"]
72 -> 65 ; 72 -> 65 ;
@ -529,7 +529,7 @@ digraph iCFG {
67 -> 74 ; 67 -> 74 ;
66 [label="66: Switch_stmt \n n$0=*&value:int [line 80]\n NULLIFY(&value,false); [line 80]\n " shape="box"] 66 [label="66: Switch_stmt \n n$0=*&value:int [line 80]\n NULLIFY(&value); [line 80]\n " shape="box"]
66 -> 79 ; 66 -> 79 ;
@ -575,7 +575,7 @@ digraph iCFG {
56 -> 55 ; 56 -> 55 ;
55 [label="55: UnaryOperator \n n$1=*&something:int [line 68]\n *&something:int =(n$1 + 1) [line 68]\n REMOVE_TEMPS(n$1); [line 68]\n NULLIFY(&something,false); [line 68]\n APPLY_ABSTRACTION; [line 68]\n " shape="box"] 55 [label="55: UnaryOperator \n n$1=*&something:int [line 68]\n *&something:int =(n$1 + 1) [line 68]\n REMOVE_TEMPS(n$1); [line 68]\n NULLIFY(&something); [line 68]\n APPLY_ABSTRACTION; [line 68]\n " shape="box"]
55 -> 48 ; 55 -> 48 ;
@ -600,7 +600,7 @@ digraph iCFG {
50 -> 48 ; 50 -> 48 ;
49 [label="49: Switch_stmt \n n$0=*&value:int [line 62]\n NULLIFY(&value,false); [line 62]\n " shape="box"] 49 [label="49: Switch_stmt \n n$0=*&value:int [line 62]\n NULLIFY(&value); [line 62]\n " shape="box"]
49 -> 60 ; 49 -> 60 ;
@ -662,11 +662,11 @@ digraph iCFG {
35 -> 34 ; 35 -> 34 ;
34 [label="34: UnaryOperator \n n$1=*&something:int [line 49]\n *&something:int =(n$1 + 1) [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n NULLIFY(&something,false); [line 49]\n " shape="box"] 34 [label="34: UnaryOperator \n n$1=*&something:int [line 49]\n *&something:int =(n$1 + 1) [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n NULLIFY(&something); [line 49]\n " shape="box"]
34 -> 33 ; 34 -> 33 ;
33 [label="33: BinaryOperatorStmt: Assign \n *&z:int =42 [line 51]\n NULLIFY(&z,false); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"] 33 [label="33: BinaryOperatorStmt: Assign \n *&z:int =42 [line 51]\n NULLIFY(&z); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"]
33 -> 26 ; 33 -> 26 ;
@ -691,7 +691,7 @@ digraph iCFG {
28 -> 35 ; 28 -> 35 ;
27 [label="27: Switch_stmt \n n$0=*&value:int [line 37]\n NULLIFY(&value,false); [line 37]\n " shape="box"] 27 [label="27: Switch_stmt \n n$0=*&value:int [line 37]\n NULLIFY(&value); [line 37]\n " shape="box"]
27 -> 40 ; 27 -> 40 ;
@ -774,7 +774,7 @@ digraph iCFG {
8 -> 4 ; 8 -> 4 ;
7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n NULLIFY(&value,false); [line 14]\n " shape="invhouse"] 7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n NULLIFY(&value); [line 14]\n " shape="invhouse"]
7 -> 3 ; 7 -> 3 ;

@ -3,7 +3,7 @@ digraph iCFG {
4 -> 3 ; 4 -> 3 ;
3 [label="3: BinaryOperatorStmt: Assign \n *&x.b:int =20 [line 18]\n NULLIFY(&x,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 3 [label="3: BinaryOperatorStmt: Assign \n *&x.b:int =20 [line 18]\n NULLIFY(&x); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,9 +1,9 @@
digraph iCFG { digraph iCFG {
4 [label="4: DeclStmt \n *&x:void =_t$1 [line 15]\n NULLIFY(&x,false); [line 15]\n " shape="box"] 4 [label="4: DeclStmt \n *&x:void =_t$1 [line 15]\n NULLIFY(&x); [line 15]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;
3 [label="3: DeclStmt \n *&z:void =_t$0 [line 16]\n NULLIFY(&z,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 3 [label="3: DeclStmt \n *&z:void =_t$0 [line 16]\n NULLIFY(&z); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,7 +3,7 @@ digraph iCFG {
9 -> 8 ; 9 -> 8 ;
8 [label="8: GCCAstStmt \n n$0=*&src:int [line 27]\n _fun___infer_skip_gcc_ast_stmt(&dst:int &,n$0:int ) [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n NULLIFY(&src,false); [line 23]\n " shape="box"] 8 [label="8: GCCAstStmt \n n$0=*&src:int [line 27]\n _fun___infer_skip_gcc_ast_stmt(&dst:int &,n$0:int ) [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n NULLIFY(&src); [line 23]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -11,7 +11,7 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: Exit main \n NULLIFY(&dst,false); [line 29]\n " color=yellow style=filled] 6 [label="6: Exit main \n NULLIFY(&dst); [line 29]\n " color=yellow style=filled]
5 [label="5: Start main\nFormals: \nLocals: dst:int src:int \n DECLARE_LOCALS(&return,&dst,&src); [line 19]\n " color=yellow style=filled] 5 [label="5: Start main\nFormals: \nLocals: dst:int src:int \n DECLARE_LOCALS(&return,&dst,&src); [line 19]\n " color=yellow style=filled]
@ -26,7 +26,7 @@ digraph iCFG {
3 -> 2 ; 3 -> 2 ;
2 [label="2: Exit test \n NULLIFY(&z,false); [line 17]\n NULLIFY(&y,false); [line 17]\n NULLIFY(&x,false); [line 17]\n NULLIFY(&h,false); [line 17]\n " color=yellow style=filled] 2 [label="2: Exit test \n NULLIFY(&z); [line 17]\n NULLIFY(&y); [line 17]\n NULLIFY(&x); [line 17]\n NULLIFY(&h); [line 17]\n " color=yellow style=filled]
1 [label="1: Start test\nFormals: \nLocals: h:int z:int y:int x:int \n DECLARE_LOCALS(&return,&h,&z,&y,&x); [line 10]\n " color=yellow style=filled] 1 [label="1: Start test\nFormals: \nLocals: h:int z:int y:int x:int \n DECLARE_LOCALS(&return,&h,&z,&y,&x); [line 10]\n " color=yellow style=filled]

@ -10,7 +10,7 @@ digraph iCFG {
20 -> 22 ; 20 -> 22 ;
19 [label="19: Call _fun_XForward_call \n n$0=*&x:class XForward * [line 35]\n n$1=*n$0:class XForward [line 35]\n n$2=_fun_XForward_call(n$0:class XForward *) [line 35]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 35]\n NULLIFY(&x,false); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"] 19 [label="19: Call _fun_XForward_call \n n$0=*&x:class XForward * [line 35]\n n$1=*n$0:class XForward [line 35]\n n$2=_fun_XForward_call(n$0:class XForward *) [line 35]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 35]\n NULLIFY(&x); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
19 -> 18 ; 19 -> 18 ;
@ -58,7 +58,7 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: Return Stmt \n n$0=*&x:class X * [line 17]\n n$1=*n$0:class X [line 17]\n n$2=_fun_X_call(n$0:class X *) [line 17]\n *&return:int =n$2 [line 17]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 17]\n NULLIFY(&x,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 6 [label="6: Return Stmt \n n$0=*&x:class X * [line 17]\n n$1=*n$0:class X [line 17]\n n$2=_fun_X_call(n$0:class X *) [line 17]\n *&return:int =n$2 [line 17]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 17]\n NULLIFY(&x); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
6 [label="6: DeclStmt \n *&x:int =2 [line 11]\n NULLIFY(&x,false); [line 11]\n " shape="box"] 6 [label="6: DeclStmt \n *&x:int =2 [line 11]\n NULLIFY(&x); [line 11]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -11,7 +11,7 @@ digraph iCFG {
4 -> 3 ; 4 -> 3 ;
3 [label="3: Call delete \n n$0=*&i:int * [line 14]\n _fun___delete(n$0:int *) [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n NULLIFY(&i,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 3 [label="3: Call delete \n n$0=*&i:int * [line 14]\n _fun___delete(n$0:int *) [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n NULLIFY(&i); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,7 +3,7 @@ digraph iCFG {
34 -> 28 ; 34 -> 28 ;
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 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); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
33 -> 26 ; 33 -> 26 ;
@ -32,7 +32,7 @@ digraph iCFG {
27 -> 33 ; 27 -> 33 ;
26 [label="26: Exit conditional \n NULLIFY(&x,false); [line 28]\n NULLIFY(&a,false); [line 28]\n NULLIFY(&__temp_return_n$3,false); [line 28]\n NULLIFY(&SIL_materialize_temp__n$5,false); [line 28]\n NULLIFY(&SIL_materialize_temp__n$0,false); [line 28]\n " color=yellow style=filled] 26 [label="26: Exit conditional \n NULLIFY(&x); [line 28]\n NULLIFY(&a); [line 28]\n NULLIFY(&__temp_return_n$3); [line 28]\n NULLIFY(&SIL_materialize_temp__n$5); [line 28]\n NULLIFY(&SIL_materialize_temp__n$0); [line 28]\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 " 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 " color=yellow style=filled]
@ -43,7 +43,7 @@ digraph iCFG {
24 -> 22 ; 24 -> 22 ;
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 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); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
23 -> 15 ; 23 -> 15 ;
@ -76,7 +76,7 @@ digraph iCFG {
16 -> 23 ; 16 -> 23 ;
15 [label="15: Exit binaryConditional \n NULLIFY(&x,false); [line 23]\n NULLIFY(&a,false); [line 23]\n NULLIFY(&SIL_materialize_temp__n$4,false); [line 23]\n NULLIFY(&SIL_materialize_temp__n$0,false); [line 23]\n " color=yellow style=filled] 15 [label="15: Exit binaryConditional \n NULLIFY(&x); [line 23]\n NULLIFY(&a); [line 23]\n NULLIFY(&SIL_materialize_temp__n$4); [line 23]\n NULLIFY(&SIL_materialize_temp__n$0); [line 23]\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 " 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 " color=yellow style=filled]
@ -87,11 +87,11 @@ digraph iCFG {
13 -> 12 ; 13 -> 12 ;
12 [label="12: Return Stmt \n n$0=*&__return_param:class X * [line 16]\n _fun_X_X(n$0:class X *,&x:class X &) [line 16]\n REMOVE_TEMPS(n$0); [line 16]\n NULLIFY(&__return_param,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 12 [label="12: Return Stmt \n n$0=*&__return_param:class X * [line 16]\n _fun_X_X(n$0:class X *,&x:class X &) [line 16]\n REMOVE_TEMPS(n$0); [line 16]\n NULLIFY(&__return_param); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
12 -> 11 ; 12 -> 11 ;
11 [label="11: Exit getX \n NULLIFY(&x,false); [line 17]\n " color=yellow style=filled] 11 [label="11: Exit getX \n NULLIFY(&x); [line 17]\n " color=yellow style=filled]
10 [label="10: Start getX\nFormals: __return_param:class X *\nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 14]\n " color=yellow style=filled] 10 [label="10: Start getX\nFormals: __return_param:class X *\nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 14]\n " color=yellow style=filled]

@ -87,7 +87,7 @@ digraph iCFG {
42 -> 44 ; 42 -> 44 ;
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 [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); [line 29]\n " shape="box"]
41 -> 35 ; 41 -> 35 ;
@ -95,15 +95,15 @@ digraph iCFG {
40 -> 36 ; 40 -> 36 ;
39 [label="39: ConditinalStmt Branch \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 [label="39: ConditinalStmt Branch \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); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
39 -> 36 ; 39 -> 36 ;
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 NULLIFY(&a,false); [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 NULLIFY(&a); [line 29]\n " shape="invhouse"]
38 -> 40 ; 38 -> 40 ;
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 NULLIFY(&a,false); [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 NULLIFY(&a); [line 29]\n " shape="invhouse"]
37 -> 39 ; 37 -> 39 ;
@ -111,11 +111,11 @@ digraph iCFG {
36 -> 41 ; 36 -> 41 ;
35 [label="35: Return Stmt \n n$0=*&r:int & [line 30]\n n$1=*n$0:int [line 30]\n *&return:int =(1 / n$1) [line 30]\n REMOVE_TEMPS(n$0,n$1); [line 30]\n NULLIFY(&r,false); [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"] 35 [label="35: Return Stmt \n n$0=*&r:int & [line 30]\n n$1=*n$0:int [line 30]\n *&return:int =(1 / n$1) [line 30]\n REMOVE_TEMPS(n$0,n$1); [line 30]\n NULLIFY(&r); [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"]
35 -> 34 ; 35 -> 34 ;
34 [label="34: Exit div_temp_lvalue \n NULLIFY(&SIL_materialize_temp__n$2,false); [line 31]\n " color=yellow style=filled] 34 [label="34: Exit div_temp_lvalue \n NULLIFY(&SIL_materialize_temp__n$2); [line 31]\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 " 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 " color=yellow style=filled]
@ -132,7 +132,7 @@ digraph iCFG {
31 -> 26 ; 31 -> 26 ;
31 -> 27 ; 31 -> 27 ;
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 [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); [line 24]\n " shape="box"]
30 -> 24 ; 30 -> 24 ;
@ -144,11 +144,11 @@ digraph iCFG {
28 -> 25 ; 28 -> 25 ;
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 NULLIFY(&a,false); [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 NULLIFY(&a); [line 24]\n " shape="invhouse"]
27 -> 29 ; 27 -> 29 ;
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 NULLIFY(&a,false); [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 NULLIFY(&a); [line 24]\n " shape="invhouse"]
26 -> 28 ; 26 -> 28 ;
@ -160,7 +160,7 @@ digraph iCFG {
24 -> 23 ; 24 -> 23 ;
23 [label="23: Exit assign_conditional \n NULLIFY(&v2,false); [line 26]\n NULLIFY(&v1,false); [line 26]\n " color=yellow style=filled] 23 [label="23: Exit assign_conditional \n NULLIFY(&v2); [line 26]\n NULLIFY(&v1); [line 26]\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 " 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 " color=yellow style=filled]
@ -172,7 +172,7 @@ digraph iCFG {
21 -> 16 ; 21 -> 16 ;
21 -> 17 ; 21 -> 17 ;
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 [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); [line 18]\n " shape="box"]
20 -> 14 ; 20 -> 14 ;
@ -180,15 +180,15 @@ digraph iCFG {
19 -> 15 ; 19 -> 15 ;
18 [label="18: ConditinalStmt Branch \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 [label="18: ConditinalStmt Branch \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); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
18 -> 15 ; 18 -> 15 ;
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 NULLIFY(&a,false); [line 18]\n NULLIFY(&v1,false); [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 NULLIFY(&a); [line 18]\n NULLIFY(&v1); [line 18]\n " shape="invhouse"]
17 -> 19 ; 17 -> 19 ;
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 NULLIFY(&a,false); [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 NULLIFY(&a); [line 18]\n " shape="invhouse"]
16 -> 18 ; 16 -> 18 ;
@ -196,7 +196,7 @@ digraph iCFG {
15 -> 20 ; 15 -> 20 ;
14 [label="14: Return Stmt \n n$0=*&v3:int [line 19]\n *&return:int =n$0 [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&v3,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 14 [label="14: Return Stmt \n n$0=*&v3:int [line 19]\n *&return:int =n$0 [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&v3); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
@ -216,7 +216,7 @@ digraph iCFG {
10 -> 5 ; 10 -> 5 ;
10 -> 6 ; 10 -> 6 ;
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 [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); [line 12]\n " shape="box"]
9 -> 3 ; 9 -> 3 ;
@ -228,11 +228,11 @@ digraph iCFG {
7 -> 4 ; 7 -> 4 ;
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 NULLIFY(&a,false); [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 NULLIFY(&a); [line 12]\n " shape="invhouse"]
6 -> 8 ; 6 -> 8 ;
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 NULLIFY(&a,false); [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 NULLIFY(&a); [line 12]\n " shape="invhouse"]
5 -> 7 ; 5 -> 7 ;
@ -240,11 +240,11 @@ digraph iCFG {
4 -> 9 ; 4 -> 9 ;
3 [label="3: Return Stmt \n n$0=*&v3:int [line 13]\n *&return:int =n$0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&v3,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&v3:int [line 13]\n *&return:int =n$0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&v3); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;
2 [label="2: Exit choose_lvalue \n NULLIFY(&v2,false); [line 14]\n NULLIFY(&v1,false); [line 14]\n " color=yellow style=filled] 2 [label="2: Exit choose_lvalue \n NULLIFY(&v2); [line 14]\n NULLIFY(&v1); [line 14]\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 " 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 " color=yellow style=filled]

@ -11,14 +11,14 @@ digraph iCFG {
29 -> 28 ; 29 -> 28 ;
28 [label="28: Exit initialization_mixed_styles_not_handled_correctly \n NULLIFY(&z2,false); [line 43]\n NULLIFY(&z,false); [line 43]\n NULLIFY(&old,false); [line 43]\n " color=yellow style=filled] 28 [label="28: Exit initialization_mixed_styles_not_handled_correctly \n NULLIFY(&z2); [line 43]\n NULLIFY(&z); [line 43]\n NULLIFY(&old); [line 43]\n " color=yellow style=filled]
27 [label="27: Start initialization_mixed_styles_not_handled_correctly\nFormals: \nLocals: z2:class Z z:class Z [2] old:class Z \n DECLARE_LOCALS(&return,&z2,&z,&old); [line 39]\n " color=yellow style=filled] 27 [label="27: Start initialization_mixed_styles_not_handled_correctly\nFormals: \nLocals: z2:class Z z:class Z [2] old:class Z \n DECLARE_LOCALS(&return,&z2,&z,&old); [line 39]\n " color=yellow style=filled]
27 -> 31 ; 27 -> 31 ;
26 [label="26: DeclStmt \n *&z[0].a:int =1 [line 33]\n *&z[0].b:int =2 [line 33]\n *&z[1].a:int =2 [line 33]\n *&z[1].b:int =3 [line 33]\n NULLIFY(&z,false); [line 33]\n " shape="box"] 26 [label="26: DeclStmt \n *&z[0].a:int =1 [line 33]\n *&z[0].b:int =2 [line 33]\n *&z[1].a:int =2 [line 33]\n *&z[1].b:int =3 [line 33]\n NULLIFY(&z); [line 33]\n " shape="box"]
26 -> 25 ; 26 -> 25 ;
@ -26,7 +26,7 @@ digraph iCFG {
25 -> 24 ; 25 -> 24 ;
24 [label="24: Exit initialization_c_style \n NULLIFY(&z2,false); [line 35]\n " color=yellow style=filled] 24 [label="24: Exit initialization_c_style \n NULLIFY(&z2); [line 35]\n " color=yellow style=filled]
23 [label="23: Start initialization_c_style\nFormals: \nLocals: z2:class Z z:class Z [2] \n DECLARE_LOCALS(&return,&z2,&z); [line 32]\n " color=yellow style=filled] 23 [label="23: Start initialization_c_style\nFormals: \nLocals: z2:class Z z:class Z [2] \n DECLARE_LOCALS(&return,&z2,&z); [line 32]\n " color=yellow style=filled]
@ -37,7 +37,7 @@ digraph iCFG {
22 -> 21 ; 22 -> 21 ;
21 [label="21: Constructor Init \n n$0=*&this:class Z * [line 27]\n n$1=*&__param_0:class Z & [line 27]\n n$2=*n$1.b:int [line 27]\n *n$0.b:int =n$2 [line 27]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 27]\n NULLIFY(&__param_0,false); [line 27]\n NULLIFY(&this,false); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"] 21 [label="21: Constructor Init \n n$0=*&this:class Z * [line 27]\n n$1=*&__param_0:class Z & [line 27]\n n$2=*n$1.b:int [line 27]\n *n$0.b:int =n$2 [line 27]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 27]\n NULLIFY(&__param_0); [line 27]\n NULLIFY(&this); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
21 -> 20 ; 21 -> 20 ;
@ -63,7 +63,7 @@ digraph iCFG {
15 -> 14 ; 15 -> 14 ;
14 [label="14: Exit matrix_of_person \n NULLIFY(&arr,false); [line 25]\n NULLIFY(&SIL_materialize_temp__n$4,false); [line 25]\n NULLIFY(&SIL_materialize_temp__n$3,false); [line 25]\n NULLIFY(&SIL_materialize_temp__n$2,false); [line 25]\n NULLIFY(&SIL_materialize_temp__n$1,false); [line 25]\n " color=yellow style=filled] 14 [label="14: Exit matrix_of_person \n NULLIFY(&arr); [line 25]\n NULLIFY(&SIL_materialize_temp__n$4); [line 25]\n NULLIFY(&SIL_materialize_temp__n$3); [line 25]\n NULLIFY(&SIL_materialize_temp__n$2); [line 25]\n NULLIFY(&SIL_materialize_temp__n$1); [line 25]\n " color=yellow style=filled]
13 [label="13: Start matrix_of_person\nFormals: \nLocals: arr:class Person [2][2] SIL_materialize_temp__n$1:class Person SIL_materialize_temp__n$2:class Person SIL_materialize_temp__n$3:class Person SIL_materialize_temp__n$4:class Person \n DECLARE_LOCALS(&return,&arr,&SIL_materialize_temp__n$1,&SIL_materialize_temp__n$2,&SIL_materialize_temp__n$3,&SIL_materialize_temp__n$4); [line 22]\n " color=yellow style=filled] 13 [label="13: Start matrix_of_person\nFormals: \nLocals: arr:class Person [2][2] SIL_materialize_temp__n$1:class Person SIL_materialize_temp__n$2:class Person SIL_materialize_temp__n$3:class Person SIL_materialize_temp__n$4:class Person \n DECLARE_LOCALS(&return,&arr,&SIL_materialize_temp__n$1,&SIL_materialize_temp__n$2,&SIL_materialize_temp__n$3,&SIL_materialize_temp__n$4); [line 22]\n " color=yellow style=filled]
@ -78,14 +78,14 @@ digraph iCFG {
11 -> 10 ; 11 -> 10 ;
10 [label="10: Exit array_of_person \n NULLIFY(&arr,false); [line 20]\n NULLIFY(&SIL_materialize_temp__n$3,false); [line 20]\n NULLIFY(&SIL_materialize_temp__n$2,false); [line 20]\n NULLIFY(&SIL_materialize_temp__n$1,false); [line 20]\n " color=yellow style=filled] 10 [label="10: Exit array_of_person \n NULLIFY(&arr); [line 20]\n NULLIFY(&SIL_materialize_temp__n$3); [line 20]\n NULLIFY(&SIL_materialize_temp__n$2); [line 20]\n NULLIFY(&SIL_materialize_temp__n$1); [line 20]\n " color=yellow style=filled]
9 [label="9: Start array_of_person\nFormals: \nLocals: arr:class Person [10] SIL_materialize_temp__n$1:class Person SIL_materialize_temp__n$2:class Person SIL_materialize_temp__n$3:class Person \n DECLARE_LOCALS(&return,&arr,&SIL_materialize_temp__n$1,&SIL_materialize_temp__n$2,&SIL_materialize_temp__n$3); [line 17]\n " color=yellow style=filled] 9 [label="9: Start array_of_person\nFormals: \nLocals: arr:class Person [10] SIL_materialize_temp__n$1:class Person SIL_materialize_temp__n$2:class Person SIL_materialize_temp__n$3:class Person \n DECLARE_LOCALS(&return,&arr,&SIL_materialize_temp__n$1,&SIL_materialize_temp__n$2,&SIL_materialize_temp__n$3); [line 17]\n " color=yellow style=filled]
9 -> 12 ; 9 -> 12 ;
8 [label="8: Constructor Init \n n$0=*&this:class Person * [line 10]\n n$1=*&__param_0:class Person & [line 10]\n n$2=*n$1.x:int [line 10]\n *n$0.x:int =n$2 [line 10]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 10]\n NULLIFY(&__param_0,false); [line 10]\n NULLIFY(&this,false); [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"] 8 [label="8: Constructor Init \n n$0=*&this:class Person * [line 10]\n n$1=*&__param_0:class Person & [line 10]\n n$2=*n$1.x:int [line 10]\n *n$0.x:int =n$2 [line 10]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 10]\n NULLIFY(&__param_0); [line 10]\n NULLIFY(&this); [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -103,7 +103,7 @@ digraph iCFG {
4 -> 5 ; 4 -> 5 ;
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 12]\n n$1=*&i:int [line 12]\n *n$0.x:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&i,false); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 12]\n n$1=*&i:int [line 12]\n *n$0.x:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&i); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -11,14 +11,14 @@ digraph iCFG {
9 -> 8 ; 9 -> 8 ;
8 [label="8: Exit test \n NULLIFY(&x3,false); [line 24]\n NULLIFY(&x2,false); [line 24]\n NULLIFY(&x1,false); [line 24]\n " color=yellow style=filled] 8 [label="8: Exit test \n NULLIFY(&x3); [line 24]\n NULLIFY(&x2); [line 24]\n NULLIFY(&x1); [line 24]\n " color=yellow style=filled]
7 [label="7: Start test\nFormals: \nLocals: x3:class X x2:class X x1:class X \n DECLARE_LOCALS(&return,&x3,&x2,&x1); [line 20]\n " color=yellow style=filled] 7 [label="7: Start test\nFormals: \nLocals: x3:class X x2:class X x1:class X \n DECLARE_LOCALS(&return,&x3,&x2,&x1); [line 20]\n " color=yellow style=filled]
7 -> 11 ; 7 -> 11 ;
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 18]\n n$1=*&a:int [line 18]\n n$2=*&b:int [line 18]\n *n$0.f:int =(n$1 + n$2) [line 18]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 18]\n NULLIFY(&a,false); [line 18]\n NULLIFY(&b,false); [line 18]\n NULLIFY(&this,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 18]\n n$1=*&a:int [line 18]\n n$2=*&b:int [line 18]\n *n$0.f:int =(n$1 + n$2) [line 18]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 18]\n NULLIFY(&a); [line 18]\n NULLIFY(&b); [line 18]\n NULLIFY(&this); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -29,7 +29,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: Return Stmt \n n$0=*&this:class X * [line 15]\n n$1=*n$0.f:int [line 15]\n *&return:int =(1 / n$1) [line 15]\n REMOVE_TEMPS(n$0,n$1); [line 15]\n NULLIFY(&this,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&this:class X * [line 15]\n n$1=*n$0.f:int [line 15]\n *&return:int =(1 / n$1) [line 15]\n REMOVE_TEMPS(n$0,n$1); [line 15]\n NULLIFY(&this); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -11,15 +11,15 @@ digraph iCFG {
42 -> 41 ; 42 -> 41 ;
41 [label="41: DeclStmt \n n$2=*&b.t.v:int [line 58]\n *&v3:int =(1 / n$2) [line 58]\n REMOVE_TEMPS(n$2); [line 58]\n NULLIFY(&v3,false); [line 58]\n " shape="box"] 41 [label="41: DeclStmt \n n$2=*&b.t.v:int [line 58]\n *&v3:int =(1 / n$2) [line 58]\n REMOVE_TEMPS(n$2); [line 58]\n NULLIFY(&v3); [line 58]\n " shape="box"]
41 -> 40 ; 41 -> 40 ;
40 [label="40: Return Stmt \n n$0=*&v:int [line 59]\n n$1=*&v2:int [line 59]\n *&return:int =(n$0 + n$1) [line 59]\n REMOVE_TEMPS(n$0,n$1); [line 59]\n NULLIFY(&v,false); [line 59]\n NULLIFY(&v2,false); [line 59]\n APPLY_ABSTRACTION; [line 59]\n " shape="box"] 40 [label="40: Return Stmt \n n$0=*&v:int [line 59]\n n$1=*&v2:int [line 59]\n *&return:int =(n$0 + n$1) [line 59]\n REMOVE_TEMPS(n$0,n$1); [line 59]\n NULLIFY(&v); [line 59]\n NULLIFY(&v2); [line 59]\n APPLY_ABSTRACTION; [line 59]\n " shape="box"]
40 -> 39 ; 40 -> 39 ;
39 [label="39: Exit f_f2_div1 \n NULLIFY(&b,false); [line 60]\n " color=yellow style=filled] 39 [label="39: Exit f_f2_div1 \n NULLIFY(&b); [line 60]\n " color=yellow style=filled]
38 [label="38: Start f_f2_div1\nFormals: \nLocals: v3:int v2:int v:int b:class B \n DECLARE_LOCALS(&return,&v3,&v2,&v,&b); [line 54]\n " color=yellow style=filled] 38 [label="38: Start f_f2_div1\nFormals: \nLocals: v3:int v2:int v:int b:class B \n DECLARE_LOCALS(&return,&v3,&v2,&v,&b); [line 54]\n " color=yellow style=filled]
@ -30,7 +30,7 @@ digraph iCFG {
37 -> 36 ; 37 -> 36 ;
36 [label="36: DeclStmt \n n$1=*&b.f:int [line 50]\n *&v:int =(1 / n$1) [line 50]\n REMOVE_TEMPS(n$1); [line 50]\n NULLIFY(&v,false); [line 50]\n " shape="box"] 36 [label="36: DeclStmt \n n$1=*&b.f:int [line 50]\n *&v:int =(1 / n$1) [line 50]\n REMOVE_TEMPS(n$1); [line 50]\n NULLIFY(&v); [line 50]\n " shape="box"]
36 -> 35 ; 36 -> 35 ;
@ -38,7 +38,7 @@ digraph iCFG {
35 -> 34 ; 35 -> 34 ;
34 [label="34: Exit delegate_constr_f2_div0 \n NULLIFY(&b,false); [line 52]\n " color=yellow style=filled] 34 [label="34: Exit delegate_constr_f2_div0 \n NULLIFY(&b); [line 52]\n " color=yellow style=filled]
33 [label="33: Start delegate_constr_f2_div0\nFormals: \nLocals: v:int b:class B \n DECLARE_LOCALS(&return,&v,&b); [line 48]\n " color=yellow style=filled] 33 [label="33: Start delegate_constr_f2_div0\nFormals: \nLocals: v:int b:class B \n DECLARE_LOCALS(&return,&v,&b); [line 48]\n " color=yellow style=filled]
@ -49,7 +49,7 @@ digraph iCFG {
32 -> 31 ; 32 -> 31 ;
31 [label="31: DeclStmt \n n$1=*&b.f2:int [line 44]\n *&v:int =(1 / n$1) [line 44]\n REMOVE_TEMPS(n$1); [line 44]\n NULLIFY(&v,false); [line 44]\n " shape="box"] 31 [label="31: DeclStmt \n n$1=*&b.f2:int [line 44]\n *&v:int =(1 / n$1) [line 44]\n REMOVE_TEMPS(n$1); [line 44]\n NULLIFY(&v); [line 44]\n " shape="box"]
31 -> 30 ; 31 -> 30 ;
@ -57,7 +57,7 @@ digraph iCFG {
30 -> 29 ; 30 -> 29 ;
29 [label="29: Exit delegate_constr_f_div0 \n NULLIFY(&b,false); [line 46]\n " color=yellow style=filled] 29 [label="29: Exit delegate_constr_f_div0 \n NULLIFY(&b); [line 46]\n " color=yellow style=filled]
28 [label="28: Start delegate_constr_f_div0\nFormals: \nLocals: v:int b:class B \n DECLARE_LOCALS(&return,&v,&b); [line 42]\n " color=yellow style=filled] 28 [label="28: Start delegate_constr_f_div0\nFormals: \nLocals: v:int b:class B \n DECLARE_LOCALS(&return,&v,&b); [line 42]\n " color=yellow style=filled]
@ -72,7 +72,7 @@ digraph iCFG {
26 -> 25 ; 26 -> 25 ;
25 [label="25: Exit t_div0 \n NULLIFY(&b,false); [line 40]\n " color=yellow style=filled] 25 [label="25: Exit t_div0 \n NULLIFY(&b); [line 40]\n " color=yellow style=filled]
24 [label="24: Start t_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 37]\n " color=yellow style=filled] 24 [label="24: Start t_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 37]\n " color=yellow style=filled]
@ -87,7 +87,7 @@ digraph iCFG {
22 -> 21 ; 22 -> 21 ;
21 [label="21: Exit f_div0 \n NULLIFY(&b,false); [line 35]\n " color=yellow style=filled] 21 [label="21: Exit f_div0 \n NULLIFY(&b); [line 35]\n " color=yellow style=filled]
20 [label="20: Start f_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 32]\n " color=yellow style=filled] 20 [label="20: Start f_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 32]\n " color=yellow style=filled]
@ -102,18 +102,18 @@ digraph iCFG {
18 -> 17 ; 18 -> 17 ;
17 [label="17: Exit f2_div0 \n NULLIFY(&b,false); [line 30]\n " color=yellow style=filled] 17 [label="17: Exit f2_div0 \n NULLIFY(&b); [line 30]\n " color=yellow style=filled]
16 [label="16: Start f2_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 27]\n " color=yellow style=filled] 16 [label="16: Start f2_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 27]\n " color=yellow style=filled]
16 -> 19 ; 16 -> 19 ;
15 [label="15: Constructor Init \n n$2=*&this:class B * [line 24]\n n$3=*&a:int [line 24]\n n$4=*&b:int [line 24]\n _fun_B_B(n$2:class B *,(n$3 + n$4):int ) [line 24]\n REMOVE_TEMPS(n$2,n$3,n$4); [line 24]\n NULLIFY(&a,false); [line 24]\n " shape="box"] 15 [label="15: Constructor Init \n n$2=*&this:class B * [line 24]\n n$3=*&a:int [line 24]\n n$4=*&b:int [line 24]\n _fun_B_B(n$2:class B *,(n$3 + n$4):int ) [line 24]\n REMOVE_TEMPS(n$2,n$3,n$4); [line 24]\n NULLIFY(&a); [line 24]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
14 [label="14: BinaryOperatorStmt: Assign \n n$0=*&this:class B * [line 24]\n n$1=*&b:int [line 24]\n *n$0.f2:int =n$1 [line 24]\n REMOVE_TEMPS(n$0,n$1); [line 24]\n NULLIFY(&b,false); [line 24]\n NULLIFY(&this,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 14 [label="14: BinaryOperatorStmt: Assign \n n$0=*&this:class B * [line 24]\n n$1=*&b:int [line 24]\n *n$0.f2:int =n$1 [line 24]\n REMOVE_TEMPS(n$0,n$1); [line 24]\n NULLIFY(&b); [line 24]\n NULLIFY(&this); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
@ -132,7 +132,7 @@ digraph iCFG {
10 -> 9 ; 10 -> 9 ;
9 [label="9: Constructor Init \n n$0=*&this:class B * [line 22]\n n$1=*&a:int [line 22]\n _fun_B::T_T(n$0.t:class B::T *,n$1:int ) [line 22]\n REMOVE_TEMPS(n$0,n$1); [line 22]\n NULLIFY(&a,false); [line 22]\n NULLIFY(&this,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 9 [label="9: Constructor Init \n n$0=*&this:class B * [line 22]\n n$1=*&a:int [line 22]\n _fun_B::T_T(n$0.t:class B::T *,n$1:int ) [line 22]\n REMOVE_TEMPS(n$0,n$1); [line 22]\n NULLIFY(&a); [line 22]\n NULLIFY(&this); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -143,7 +143,7 @@ digraph iCFG {
7 -> 11 ; 7 -> 11 ;
6 [label="6: Constructor Init \n n$0=*&this:class B::T * [line 18]\n n$1=*&v:int [line 18]\n *n$0.v:int =n$1 [line 18]\n REMOVE_TEMPS(n$0,n$1); [line 18]\n NULLIFY(&this,false); [line 18]\n NULLIFY(&v,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 6 [label="6: Constructor Init \n n$0=*&this:class B::T * [line 18]\n n$1=*&v:int [line 18]\n *n$0.v:int =n$1 [line 18]\n REMOVE_TEMPS(n$0,n$1); [line 18]\n NULLIFY(&this); [line 18]\n NULLIFY(&v); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -154,7 +154,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: Constructor Init \n n$0=*&this:class A * [line 12]\n n$1=*&f:int [line 12]\n *n$0.f:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&f,false); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: Constructor Init \n n$0=*&this:class A * [line 12]\n n$1=*&f:int [line 12]\n *n$0.f:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&f); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,7 +3,7 @@ digraph iCFG {
97 -> 96 ; 97 -> 96 ;
96 [label="96: BinaryOperatorStmt: Assign \n n$0=*&tarray:class Person ** [line 98]\n n$1=_fun___new_array((sizeof(class Person ) * 10):unsigned long ) [line 98]\n _fun_Person_Person(n$1[0]:class Person *) [line 98]\n _fun_Person_Person(n$1[1]:class Person *) [line 98]\n _fun_Person_Person(n$1[2]:class Person *) [line 98]\n _fun_Person_Person(n$1[3]:class Person *) [line 98]\n _fun_Person_Person(n$1[4]:class Person *) [line 98]\n _fun_Person_Person(n$1[5]:class Person *) [line 98]\n _fun_Person_Person(n$1[6]:class Person *) [line 98]\n _fun_Person_Person(n$1[7]:class Person *) [line 98]\n _fun_Person_Person(n$1[8]:class Person *) [line 98]\n _fun_Person_Person(n$1[9]:class Person *) [line 98]\n *n$0[0]:class Person *=n$1 [line 98]\n REMOVE_TEMPS(n$0,n$1); [line 98]\n NULLIFY(&tarray,false); [line 98]\n APPLY_ABSTRACTION; [line 98]\n " shape="box"] 96 [label="96: BinaryOperatorStmt: Assign \n n$0=*&tarray:class Person ** [line 98]\n n$1=_fun___new_array((sizeof(class Person ) * 10):unsigned long ) [line 98]\n _fun_Person_Person(n$1[0]:class Person *) [line 98]\n _fun_Person_Person(n$1[1]:class Person *) [line 98]\n _fun_Person_Person(n$1[2]:class Person *) [line 98]\n _fun_Person_Person(n$1[3]:class Person *) [line 98]\n _fun_Person_Person(n$1[4]:class Person *) [line 98]\n _fun_Person_Person(n$1[5]:class Person *) [line 98]\n _fun_Person_Person(n$1[6]:class Person *) [line 98]\n _fun_Person_Person(n$1[7]:class Person *) [line 98]\n _fun_Person_Person(n$1[8]:class Person *) [line 98]\n _fun_Person_Person(n$1[9]:class Person *) [line 98]\n *n$0[0]:class Person *=n$1 [line 98]\n REMOVE_TEMPS(n$0,n$1); [line 98]\n NULLIFY(&tarray); [line 98]\n APPLY_ABSTRACTION; [line 98]\n " shape="box"]
96 -> 95 ; 96 -> 95 ;
@ -14,7 +14,7 @@ digraph iCFG {
94 -> 97 ; 94 -> 97 ;
93 [label="93: DeclStmt \n n$0=_fun___new_array((sizeof(class Person ) * 10):unsigned long ) [line 93]\n _fun_Person_Person(n$0[0]:class Person *) [line 93]\n _fun_Person_Person(n$0[1]:class Person *) [line 93]\n _fun_Person_Person(n$0[2]:class Person *) [line 93]\n _fun_Person_Person(n$0[3]:class Person *) [line 93]\n _fun_Person_Person(n$0[4]:class Person *) [line 93]\n _fun_Person_Person(n$0[5]:class Person *) [line 93]\n _fun_Person_Person(n$0[6]:class Person *) [line 93]\n _fun_Person_Person(n$0[7]:class Person *) [line 93]\n _fun_Person_Person(n$0[8]:class Person *) [line 93]\n _fun_Person_Person(n$0[9]:class Person *) [line 93]\n *&tarray:class Person *=n$0 [line 93]\n REMOVE_TEMPS(n$0); [line 93]\n NULLIFY(&tarray,false); [line 93]\n APPLY_ABSTRACTION; [line 93]\n " shape="box"] 93 [label="93: DeclStmt \n n$0=_fun___new_array((sizeof(class Person ) * 10):unsigned long ) [line 93]\n _fun_Person_Person(n$0[0]:class Person *) [line 93]\n _fun_Person_Person(n$0[1]:class Person *) [line 93]\n _fun_Person_Person(n$0[2]:class Person *) [line 93]\n _fun_Person_Person(n$0[3]:class Person *) [line 93]\n _fun_Person_Person(n$0[4]:class Person *) [line 93]\n _fun_Person_Person(n$0[5]:class Person *) [line 93]\n _fun_Person_Person(n$0[6]:class Person *) [line 93]\n _fun_Person_Person(n$0[7]:class Person *) [line 93]\n _fun_Person_Person(n$0[8]:class Person *) [line 93]\n _fun_Person_Person(n$0[9]:class Person *) [line 93]\n *&tarray:class Person *=n$0 [line 93]\n REMOVE_TEMPS(n$0); [line 93]\n NULLIFY(&tarray); [line 93]\n APPLY_ABSTRACTION; [line 93]\n " shape="box"]
93 -> 92 ; 93 -> 92 ;
@ -25,7 +25,7 @@ digraph iCFG {
91 -> 93 ; 91 -> 93 ;
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 [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); [line 89]\n NULLIFY(&tarray); [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="box"]
90 -> 83 ; 90 -> 83 ;
@ -65,7 +65,7 @@ digraph iCFG {
81 -> 80 ; 81 -> 80 ;
80 [label="80: Return Stmt \n n$0=*&arr:int * [line 84]\n n$1=*n$0[0]:int [line 84]\n n$2=*&arr:int * [line 84]\n n$3=*n$2[1]:int [line 84]\n n$4=*&arr:int * [line 84]\n n$5=*n$4[2]:int [line 84]\n n$6=*&arr:int * [line 84]\n n$7=*n$6[3]:int [line 84]\n n$8=*&arr:int * [line 84]\n n$9=*n$8[4]:int [line 84]\n *&return:int =(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 84]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9); [line 84]\n NULLIFY(&arr,false); [line 84]\n APPLY_ABSTRACTION; [line 84]\n " shape="box"] 80 [label="80: Return Stmt \n n$0=*&arr:int * [line 84]\n n$1=*n$0[0]:int [line 84]\n n$2=*&arr:int * [line 84]\n n$3=*n$2[1]:int [line 84]\n n$4=*&arr:int * [line 84]\n n$5=*n$4[2]:int [line 84]\n n$6=*&arr:int * [line 84]\n n$7=*n$6[3]:int [line 84]\n n$8=*&arr:int * [line 84]\n n$9=*n$8[4]:int [line 84]\n *&return:int =(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 84]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9); [line 84]\n NULLIFY(&arr); [line 84]\n APPLY_ABSTRACTION; [line 84]\n " shape="box"]
80 -> 79 ; 80 -> 79 ;
@ -76,7 +76,7 @@ digraph iCFG {
78 -> 81 ; 78 -> 81 ;
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 [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); [line 76]\n " shape="box"]
77 -> 70 ; 77 -> 70 ;
@ -113,7 +113,7 @@ digraph iCFG {
69 -> 68 ; 69 -> 68 ;
68 [label="68: Return Stmt \n n$0=*&x2:int * [line 79]\n n$1=*n$0[0]:int [line 79]\n n$2=*&x2:int * [line 79]\n n$3=*n$2[1]:int [line 79]\n *&return:int =(1 / ((n$1 + n$3) - 3)) [line 79]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 79]\n NULLIFY(&x2,false); [line 79]\n APPLY_ABSTRACTION; [line 79]\n " shape="box"] 68 [label="68: Return Stmt \n n$0=*&x2:int * [line 79]\n n$1=*n$0[0]:int [line 79]\n n$2=*&x2:int * [line 79]\n n$3=*n$2[1]:int [line 79]\n *&return:int =(1 / ((n$1 + n$3) - 3)) [line 79]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 79]\n NULLIFY(&x2); [line 79]\n APPLY_ABSTRACTION; [line 79]\n " shape="box"]
68 -> 67 ; 68 -> 67 ;
@ -128,11 +128,11 @@ digraph iCFG {
65 -> 59 ; 65 -> 59 ;
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 [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); [line 71]\n " shape="box"]
64 -> 57 ; 64 -> 57 ;
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 [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); [line 71]\n APPLY_ABSTRACTION; [line 71]\n " shape="box"]
63 -> 58 ; 63 -> 58 ;
@ -144,7 +144,7 @@ digraph iCFG {
61 -> 63 ; 61 -> 63 ;
60 [label="60: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 71]\n REMOVE_TEMPS(n$4); [line 71]\n NULLIFY(&z,false); [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 NULLIFY(&z); [line 71]\n " shape="invhouse"]
60 -> 62 ; 60 -> 62 ;
@ -157,7 +157,7 @@ digraph iCFG {
58 -> 64 ; 58 -> 64 ;
57 [label="57: Return Stmt \n n$0=*&p:class Person * [line 72]\n n$1=*n$0.x:int [line 72]\n *&return:int =(1 / (n$1 - 7)) [line 72]\n REMOVE_TEMPS(n$0,n$1); [line 72]\n NULLIFY(&p,false); [line 72]\n APPLY_ABSTRACTION; [line 72]\n " shape="box"] 57 [label="57: Return Stmt \n n$0=*&p:class Person * [line 72]\n n$1=*n$0.x:int [line 72]\n *&return:int =(1 / (n$1 - 7)) [line 72]\n REMOVE_TEMPS(n$0,n$1); [line 72]\n NULLIFY(&p); [line 72]\n APPLY_ABSTRACTION; [line 72]\n " shape="box"]
57 -> 56 ; 57 -> 56 ;
@ -168,7 +168,7 @@ digraph iCFG {
55 -> 65 ; 55 -> 65 ;
54 [label="54: DeclStmt \n *&z:int =6 [line 63]\n NULLIFY(&z,false); [line 63]\n " shape="box"] 54 [label="54: DeclStmt \n *&z:int =6 [line 63]\n NULLIFY(&z); [line 63]\n " shape="box"]
54 -> 53 ; 54 -> 53 ;
@ -176,11 +176,11 @@ digraph iCFG {
53 -> 47 ; 53 -> 47 ;
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 [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); [line 65]\n " shape="box"]
52 -> 45 ; 52 -> 45 ;
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 [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); [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"]
51 -> 46 ; 51 -> 46 ;
@ -192,7 +192,7 @@ digraph iCFG {
49 -> 51 ; 49 -> 51 ;
48 [label="48: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 65]\n REMOVE_TEMPS(n$4); [line 65]\n NULLIFY(&y,false); [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 NULLIFY(&y); [line 65]\n " shape="invhouse"]
48 -> 50 ; 48 -> 50 ;
@ -205,7 +205,7 @@ digraph iCFG {
46 -> 52 ; 46 -> 52 ;
45 [label="45: Return Stmt \n n$0=*&x:int * [line 66]\n n$1=*n$0:int [line 66]\n *&return:int =(1 / (n$1 - 5)) [line 66]\n REMOVE_TEMPS(n$0,n$1); [line 66]\n NULLIFY(&x,false); [line 66]\n APPLY_ABSTRACTION; [line 66]\n " shape="box"] 45 [label="45: Return Stmt \n n$0=*&x:int * [line 66]\n n$1=*n$0:int [line 66]\n *&return:int =(1 / (n$1 - 5)) [line 66]\n REMOVE_TEMPS(n$0,n$1); [line 66]\n NULLIFY(&x); [line 66]\n APPLY_ABSTRACTION; [line 66]\n " shape="box"]
45 -> 44 ; 45 -> 44 ;
@ -220,7 +220,7 @@ digraph iCFG {
42 -> 41 ; 42 -> 41 ;
41 [label="41: Return Stmt \n n$0=*&x1:int * [line 59]\n n$1=*n$0:int [line 59]\n *&return:int =(1 / n$1) [line 59]\n REMOVE_TEMPS(n$0,n$1); [line 59]\n NULLIFY(&x1,false); [line 59]\n APPLY_ABSTRACTION; [line 59]\n " shape="box"] 41 [label="41: Return Stmt \n n$0=*&x1:int * [line 59]\n n$1=*n$0:int [line 59]\n *&return:int =(1 / n$1) [line 59]\n REMOVE_TEMPS(n$0,n$1); [line 59]\n NULLIFY(&x1); [line 59]\n APPLY_ABSTRACTION; [line 59]\n " shape="box"]
41 -> 40 ; 41 -> 40 ;
@ -235,7 +235,7 @@ digraph iCFG {
38 -> 37 ; 38 -> 37 ;
37 [label="37: Return Stmt \n n$0=*&x1:int [line 54]\n *&return:int =(1 / n$0) [line 54]\n REMOVE_TEMPS(n$0); [line 54]\n NULLIFY(&x1,false); [line 54]\n APPLY_ABSTRACTION; [line 54]\n " shape="box"] 37 [label="37: Return Stmt \n n$0=*&x1:int [line 54]\n *&return:int =(1 / n$0) [line 54]\n REMOVE_TEMPS(n$0); [line 54]\n NULLIFY(&x1); [line 54]\n APPLY_ABSTRACTION; [line 54]\n " shape="box"]
37 -> 36 ; 37 -> 36 ;
@ -250,7 +250,7 @@ digraph iCFG {
34 -> 33 ; 34 -> 33 ;
33 [label="33: Return Stmt \n n$0=*&x1:int * [line 49]\n n$1=*n$0:int [line 49]\n *&return:int =(1 / n$1) [line 49]\n REMOVE_TEMPS(n$0,n$1); [line 49]\n NULLIFY(&x1,false); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"] 33 [label="33: Return Stmt \n n$0=*&x1:int * [line 49]\n n$1=*n$0:int [line 49]\n *&return:int =(1 / n$1) [line 49]\n REMOVE_TEMPS(n$0,n$1); [line 49]\n NULLIFY(&x1); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
33 -> 32 ; 33 -> 32 ;
@ -265,7 +265,7 @@ digraph iCFG {
30 -> 29 ; 30 -> 29 ;
29 [label="29: Return Stmt \n n$0=*&x1:float * [line 44]\n n$1=*n$0:float [line 44]\n *&return:float =(1 / (n$1 - 5.400000)) [line 44]\n REMOVE_TEMPS(n$0,n$1); [line 44]\n NULLIFY(&x1,false); [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"] 29 [label="29: Return Stmt \n n$0=*&x1:float * [line 44]\n n$1=*n$0:float [line 44]\n *&return:float =(1 / (n$1 - 5.400000)) [line 44]\n REMOVE_TEMPS(n$0,n$1); [line 44]\n NULLIFY(&x1); [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
29 -> 28 ; 29 -> 28 ;
@ -280,7 +280,7 @@ digraph iCFG {
26 -> 25 ; 26 -> 25 ;
25 [label="25: Return Stmt \n n$0=*&x1:int * [line 39]\n n$1=*n$0:int [line 39]\n *&return:int =(1 / (n$1 - 5)) [line 39]\n REMOVE_TEMPS(n$0,n$1); [line 39]\n NULLIFY(&x1,false); [line 39]\n APPLY_ABSTRACTION; [line 39]\n " shape="box"] 25 [label="25: Return Stmt \n n$0=*&x1:int * [line 39]\n n$1=*n$0:int [line 39]\n *&return:int =(1 / (n$1 - 5)) [line 39]\n REMOVE_TEMPS(n$0,n$1); [line 39]\n NULLIFY(&x1); [line 39]\n APPLY_ABSTRACTION; [line 39]\n " shape="box"]
25 -> 24 ; 25 -> 24 ;
@ -295,7 +295,7 @@ digraph iCFG {
22 -> 21 ; 22 -> 21 ;
21 [label="21: Return Stmt \n n$0=*&p:class Person * [line 34]\n n$1=*n$0.z:int [line 34]\n *&return:int =(1 / (n$1 - 7)) [line 34]\n REMOVE_TEMPS(n$0,n$1); [line 34]\n NULLIFY(&p,false); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"] 21 [label="21: Return Stmt \n n$0=*&p:class Person * [line 34]\n n$1=*n$0.z:int [line 34]\n *&return:int =(1 / (n$1 - 7)) [line 34]\n REMOVE_TEMPS(n$0,n$1); [line 34]\n NULLIFY(&p); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
21 -> 20 ; 21 -> 20 ;
@ -310,7 +310,7 @@ digraph iCFG {
18 -> 17 ; 18 -> 17 ;
17 [label="17: Return Stmt \n n$0=*&p:class Person * [line 29]\n n$1=*n$0.x:int [line 29]\n *&return:int =(1 / (n$1 - 5)) [line 29]\n REMOVE_TEMPS(n$0,n$1); [line 29]\n NULLIFY(&p,false); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 17 [label="17: Return Stmt \n n$0=*&p:class Person * [line 29]\n n$1=*n$0.x:int [line 29]\n *&return:int =(1 / (n$1 - 5)) [line 29]\n REMOVE_TEMPS(n$0,n$1); [line 29]\n NULLIFY(&p); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
17 -> 16 ; 17 -> 16 ;
@ -321,7 +321,7 @@ digraph iCFG {
15 -> 18 ; 15 -> 18 ;
14 [label="14: Return Stmt \n n$0=*&x:int [line 25]\n *&return:int =n$0 [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n NULLIFY(&x,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 14 [label="14: Return Stmt \n n$0=*&x:int [line 25]\n *&return:int =n$0 [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n NULLIFY(&x); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
@ -332,15 +332,15 @@ digraph iCFG {
12 -> 14 ; 12 -> 14 ;
11 [label="11: BinaryOperatorStmt: Assign \n n$4=*&this:class Person * [line 16]\n n$5=*&i:int [line 16]\n *n$4.x:int =n$5 [line 16]\n REMOVE_TEMPS(n$4,n$5); [line 16]\n NULLIFY(&i,false); [line 16]\n " shape="box"] 11 [label="11: BinaryOperatorStmt: Assign \n n$4=*&this:class Person * [line 16]\n n$5=*&i:int [line 16]\n *n$4.x:int =n$5 [line 16]\n REMOVE_TEMPS(n$4,n$5); [line 16]\n NULLIFY(&i); [line 16]\n " shape="box"]
11 -> 10 ; 11 -> 10 ;
10 [label="10: BinaryOperatorStmt: Assign \n n$2=*&this:class Person * [line 17]\n n$3=*&j:int [line 17]\n *n$2.y:int =n$3 [line 17]\n REMOVE_TEMPS(n$2,n$3); [line 17]\n NULLIFY(&j,false); [line 17]\n " shape="box"] 10 [label="10: BinaryOperatorStmt: Assign \n n$2=*&this:class Person * [line 17]\n n$3=*&j:int [line 17]\n *n$2.y:int =n$3 [line 17]\n REMOVE_TEMPS(n$2,n$3); [line 17]\n NULLIFY(&j); [line 17]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 18]\n n$1=*&k:int [line 18]\n *n$0.z:int =n$1 [line 18]\n REMOVE_TEMPS(n$0,n$1); [line 18]\n NULLIFY(&k,false); [line 18]\n NULLIFY(&this,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 18]\n n$1=*&k:int [line 18]\n *n$0.z:int =n$1 [line 18]\n REMOVE_TEMPS(n$0,n$1); [line 18]\n NULLIFY(&k); [line 18]\n NULLIFY(&this); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -351,7 +351,7 @@ digraph iCFG {
7 -> 11 ; 7 -> 11 ;
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 13]\n n$1=*&i:int [line 13]\n *n$0.x:int =n$1 [line 13]\n REMOVE_TEMPS(n$0,n$1); [line 13]\n NULLIFY(&i,false); [line 13]\n NULLIFY(&this,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 13]\n n$1=*&i:int [line 13]\n *n$0.x:int =n$1 [line 13]\n REMOVE_TEMPS(n$0,n$1); [line 13]\n NULLIFY(&i); [line 13]\n NULLIFY(&this); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -362,7 +362,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 12]\n *n$0.x:int =0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 12]\n *n$0.x:int =0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,16 +1,16 @@
digraph iCFG { digraph iCFG {
6 [label="6: DeclStmt \n *&SIL_init_list__n$0.top:int =0 [line 17]\n *&SIL_init_list__n$0.left:int =0 [line 17]\n *&SIL_init_list__n$0.bottom:int =0 [line 17]\n *&SIL_init_list__n$0.right:int =0 [line 17]\n _fun_Person_Person(&p:class Person *,&SIL_init_list__n$0:class Insets ) [line 17]\n NULLIFY(&SIL_init_list__n$0,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 6 [label="6: DeclStmt \n *&SIL_init_list__n$0.top:int =0 [line 17]\n *&SIL_init_list__n$0.left:int =0 [line 17]\n *&SIL_init_list__n$0.bottom:int =0 [line 17]\n *&SIL_init_list__n$0.right:int =0 [line 17]\n _fun_Person_Person(&p:class Person *,&SIL_init_list__n$0:class Insets ) [line 17]\n NULLIFY(&SIL_init_list__n$0); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
5 [label="5: Exit test \n NULLIFY(&p,false); [line 17]\n " color=yellow style=filled] 5 [label="5: Exit test \n NULLIFY(&p); [line 17]\n " color=yellow style=filled]
4 [label="4: Start test\nFormals: \nLocals: p:class Person SIL_init_list__n$0:class Insets \n DECLARE_LOCALS(&return,&p,&SIL_init_list__n$0); [line 17]\n " color=yellow style=filled] 4 [label="4: Start test\nFormals: \nLocals: p:class Person SIL_init_list__n$0:class Insets \n DECLARE_LOCALS(&return,&p,&SIL_init_list__n$0); [line 17]\n " color=yellow style=filled]
4 -> 6 ; 4 -> 6 ;
3 [label="3: Constructor Init \n n$0=*&this:class Person * [line 14]\n n$1=*&l.top:int [line 14]\n *n$0.age:int =n$1 [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&l,false); [line 14]\n NULLIFY(&this,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 3 [label="3: Constructor Init \n n$0=*&this:class Person * [line 14]\n n$1=*&l.top:int [line 14]\n *n$0.age:int =n$1 [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&l); [line 14]\n NULLIFY(&this); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -7,7 +7,7 @@ digraph iCFG {
25 -> 24 ; 25 -> 24 ;
24 [label="24: Exit test_div1 \n NULLIFY(&x,false); [line 41]\n " color=yellow style=filled] 24 [label="24: Exit test_div1 \n NULLIFY(&x); [line 41]\n " color=yellow style=filled]
23 [label="23: Start test_div1\nFormals: \nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 38]\n " color=yellow style=filled] 23 [label="23: Start test_div1\nFormals: \nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 38]\n " color=yellow style=filled]
@ -22,7 +22,7 @@ digraph iCFG {
21 -> 20 ; 21 -> 20 ;
20 [label="20: Exit test_div0_default_constructor \n NULLIFY(&x,false); [line 36]\n " color=yellow style=filled] 20 [label="20: Exit test_div0_default_constructor \n NULLIFY(&x); [line 36]\n " color=yellow style=filled]
19 [label="19: Start test_div0_default_constructor\nFormals: \nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 33]\n " color=yellow style=filled] 19 [label="19: Start test_div0_default_constructor\nFormals: \nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 33]\n " color=yellow style=filled]
@ -37,14 +37,14 @@ digraph iCFG {
17 -> 16 ; 17 -> 16 ;
16 [label="16: Exit test_div0 \n NULLIFY(&x,false); [line 31]\n " color=yellow style=filled] 16 [label="16: Exit test_div0 \n NULLIFY(&x); [line 31]\n " color=yellow style=filled]
15 [label="15: Start test_div0\nFormals: \nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 28]\n " color=yellow style=filled] 15 [label="15: Start test_div0\nFormals: \nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 28]\n " color=yellow style=filled]
15 -> 18 ; 15 -> 18 ;
14 [label="14: DeclStmt \n n$4=*&a:int [line 23]\n n$5=*&b:int [line 23]\n *&c:int =(n$4 + n$5) [line 23]\n REMOVE_TEMPS(n$4,n$5); [line 23]\n NULLIFY(&a,false); [line 23]\n NULLIFY(&b,false); [line 23]\n " shape="box"] 14 [label="14: DeclStmt \n n$4=*&a:int [line 23]\n n$5=*&b:int [line 23]\n *&c:int =(n$4 + n$5) [line 23]\n REMOVE_TEMPS(n$4,n$5); [line 23]\n NULLIFY(&a); [line 23]\n NULLIFY(&b); [line 23]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
@ -52,7 +52,7 @@ digraph iCFG {
13 -> 12 ; 13 -> 12 ;
12 [label="12: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 25]\n n$1=*&c:int [line 25]\n *n$0.f:int =n$1 [line 25]\n REMOVE_TEMPS(n$0,n$1); [line 25]\n NULLIFY(&c,false); [line 25]\n NULLIFY(&this,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 12 [label="12: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 25]\n n$1=*&c:int [line 25]\n *n$0.f:int =n$1 [line 25]\n REMOVE_TEMPS(n$0,n$1); [line 25]\n NULLIFY(&c); [line 25]\n NULLIFY(&this); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
12 -> 11 ; 12 -> 11 ;
@ -63,7 +63,7 @@ digraph iCFG {
10 -> 14 ; 10 -> 14 ;
9 [label="9: Return Stmt \n n$0=*&this:class X * [line 19]\n n$1=*n$0.f:int [line 19]\n *&return:int =(1 / n$1) [line 19]\n REMOVE_TEMPS(n$0,n$1); [line 19]\n NULLIFY(&this,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 9 [label="9: Return Stmt \n n$0=*&this:class X * [line 19]\n n$1=*n$0.f:int [line 19]\n *&return:int =(1 / n$1) [line 19]\n REMOVE_TEMPS(n$0,n$1); [line 19]\n NULLIFY(&this); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -74,7 +74,7 @@ digraph iCFG {
7 -> 9 ; 7 -> 9 ;
6 [label="6: Call _fun_X_init \n n$0=*&this:class X * [line 15]\n n$1=*n$0:class X [line 15]\n _fun_X_init(n$0:class X *) [line 15]\n REMOVE_TEMPS(n$0,n$1); [line 15]\n NULLIFY(&this,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 6 [label="6: Call _fun_X_init \n n$0=*&this:class X * [line 15]\n n$1=*n$0:class X [line 15]\n _fun_X_init(n$0:class X *) [line 15]\n REMOVE_TEMPS(n$0,n$1); [line 15]\n NULLIFY(&this); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -85,7 +85,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 12]\n *n$0.f:int =0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 12]\n *n$0.f:int =0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -19,11 +19,11 @@ digraph iCFG {
61 -> 60 ; 61 -> 60 ;
60 [label="60: Return Stmt \n n$0=*&d1:int [line 78]\n n$1=*&d2:int [line 78]\n *&return:int =(n$0 + n$1) [line 78]\n REMOVE_TEMPS(n$0,n$1); [line 78]\n NULLIFY(&d1,false); [line 78]\n NULLIFY(&d2,false); [line 78]\n APPLY_ABSTRACTION; [line 78]\n " shape="box"] 60 [label="60: Return Stmt \n n$0=*&d1:int [line 78]\n n$1=*&d2:int [line 78]\n *&return:int =(n$0 + n$1) [line 78]\n REMOVE_TEMPS(n$0,n$1); [line 78]\n NULLIFY(&d1); [line 78]\n NULLIFY(&d2); [line 78]\n APPLY_ABSTRACTION; [line 78]\n " shape="box"]
60 -> 59 ; 60 -> 59 ;
59 [label="59: Exit copyY_moveY_div1 \n NULLIFY(&y2,false); [line 79]\n NULLIFY(&y1,false); [line 79]\n NULLIFY(&__temp_return_n$3,false); [line 79]\n " color=yellow style=filled] 59 [label="59: Exit copyY_moveY_div1 \n NULLIFY(&y2); [line 79]\n NULLIFY(&y1); [line 79]\n NULLIFY(&__temp_return_n$3); [line 79]\n " color=yellow style=filled]
58 [label="58: Start copyY_moveY_div1\nFormals: \nLocals: d2:int __temp_return_n$3:class Y d1:int y2:class Y y1:class Y \n DECLARE_LOCALS(&return,&d2,&__temp_return_n$3,&d1,&y2,&y1); [line 72]\n " color=yellow style=filled] 58 [label="58: Start copyY_moveY_div1\nFormals: \nLocals: d2:int __temp_return_n$3:class Y d1:int y2:class Y y1:class Y \n DECLARE_LOCALS(&return,&d2,&__temp_return_n$3,&d1,&y2,&y1); [line 72]\n " color=yellow style=filled]
@ -50,11 +50,11 @@ digraph iCFG {
53 -> 52 ; 53 -> 52 ;
52 [label="52: Return Stmt \n n$0=*&d1:int [line 69]\n n$1=*&d2:int [line 69]\n *&return:int =(n$0 + n$1) [line 69]\n REMOVE_TEMPS(n$0,n$1); [line 69]\n NULLIFY(&d1,false); [line 69]\n NULLIFY(&d2,false); [line 69]\n APPLY_ABSTRACTION; [line 69]\n " shape="box"] 52 [label="52: Return Stmt \n n$0=*&d1:int [line 69]\n n$1=*&d2:int [line 69]\n *&return:int =(n$0 + n$1) [line 69]\n REMOVE_TEMPS(n$0,n$1); [line 69]\n NULLIFY(&d1); [line 69]\n NULLIFY(&d2); [line 69]\n APPLY_ABSTRACTION; [line 69]\n " shape="box"]
52 -> 51 ; 52 -> 51 ;
51 [label="51: Exit copyX_moveX_div1 \n NULLIFY(&x2,false); [line 70]\n NULLIFY(&x1,false); [line 70]\n NULLIFY(&__temp_return_n$3,false); [line 70]\n " color=yellow style=filled] 51 [label="51: Exit copyX_moveX_div1 \n NULLIFY(&x2); [line 70]\n NULLIFY(&x1); [line 70]\n NULLIFY(&__temp_return_n$3); [line 70]\n " color=yellow style=filled]
50 [label="50: Start copyX_moveX_div1\nFormals: \nLocals: d2:int __temp_return_n$3:class X d1:int x2:class X x1:class X \n DECLARE_LOCALS(&return,&d2,&__temp_return_n$3,&d1,&x2,&x1); [line 63]\n " color=yellow style=filled] 50 [label="50: Start copyX_moveX_div1\nFormals: \nLocals: d2:int __temp_return_n$3:class X d1:int x2:class X x1:class X \n DECLARE_LOCALS(&return,&d2,&__temp_return_n$3,&d1,&x2,&x1); [line 63]\n " color=yellow style=filled]
@ -73,7 +73,7 @@ digraph iCFG {
47 -> 46 ; 47 -> 46 ;
46 [label="46: Exit moveY_moveY_copyY_div0 \n NULLIFY(&y2,false); [line 61]\n NULLIFY(&y1,false); [line 61]\n NULLIFY(&SIL_materialize_temp__n$1,false); [line 61]\n " color=yellow style=filled] 46 [label="46: Exit moveY_moveY_copyY_div0 \n NULLIFY(&y2); [line 61]\n NULLIFY(&y1); [line 61]\n NULLIFY(&SIL_materialize_temp__n$1); [line 61]\n " color=yellow style=filled]
45 [label="45: Start moveY_moveY_copyY_div0\nFormals: \nLocals: y2:class Y y1:class Y SIL_materialize_temp__n$1:class Y \n DECLARE_LOCALS(&return,&y2,&y1,&SIL_materialize_temp__n$1); [line 57]\n " color=yellow style=filled] 45 [label="45: Start moveY_moveY_copyY_div0\nFormals: \nLocals: y2:class Y y1:class Y SIL_materialize_temp__n$1:class Y \n DECLARE_LOCALS(&return,&y2,&y1,&SIL_materialize_temp__n$1); [line 57]\n " color=yellow style=filled]
@ -84,7 +84,7 @@ digraph iCFG {
44 -> 43 ; 44 -> 43 ;
43 [label="43: Exit moveY_div0 \n NULLIFY(&__temp_return_n$1,false); [line 55]\n " color=yellow style=filled] 43 [label="43: Exit moveY_div0 \n NULLIFY(&__temp_return_n$1); [line 55]\n " color=yellow style=filled]
42 [label="42: Start moveY_div0\nFormals: \nLocals: __temp_return_n$1:class Y \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 55]\n " color=yellow style=filled] 42 [label="42: Start moveY_div0\nFormals: \nLocals: __temp_return_n$1:class Y \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 55]\n " color=yellow style=filled]
@ -107,7 +107,7 @@ digraph iCFG {
38 -> 37 ; 38 -> 37 ;
37 [label="37: Exit copyY_div0 \n NULLIFY(&y2,false); [line 53]\n NULLIFY(&y1,false); [line 53]\n " color=yellow style=filled] 37 [label="37: Exit copyY_div0 \n NULLIFY(&y2); [line 53]\n NULLIFY(&y1); [line 53]\n " color=yellow style=filled]
36 [label="36: Start copyY_div0\nFormals: \nLocals: y2:class Y y1:class Y \n DECLARE_LOCALS(&return,&y2,&y1); [line 48]\n " color=yellow style=filled] 36 [label="36: Start copyY_div0\nFormals: \nLocals: y2:class Y y1:class Y \n DECLARE_LOCALS(&return,&y2,&y1); [line 48]\n " color=yellow style=filled]
@ -118,7 +118,7 @@ digraph iCFG {
35 -> 34 ; 35 -> 34 ;
34 [label="34: Exit moveX_div0 \n NULLIFY(&__temp_return_n$1,false); [line 46]\n " color=yellow style=filled] 34 [label="34: Exit moveX_div0 \n NULLIFY(&__temp_return_n$1); [line 46]\n " color=yellow style=filled]
33 [label="33: Start moveX_div0\nFormals: \nLocals: __temp_return_n$1:class X \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 46]\n " color=yellow style=filled] 33 [label="33: Start moveX_div0\nFormals: \nLocals: __temp_return_n$1:class X \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 46]\n " color=yellow style=filled]
@ -141,7 +141,7 @@ digraph iCFG {
29 -> 28 ; 29 -> 28 ;
28 [label="28: Exit copyX_div0 \n NULLIFY(&x2,false); [line 44]\n NULLIFY(&x1,false); [line 44]\n " color=yellow style=filled] 28 [label="28: Exit copyX_div0 \n NULLIFY(&x2); [line 44]\n NULLIFY(&x1); [line 44]\n " color=yellow style=filled]
27 [label="27: Start copyX_div0\nFormals: \nLocals: x2:class X x1:class X \n DECLARE_LOCALS(&return,&x2,&x1); [line 39]\n " color=yellow style=filled] 27 [label="27: Start copyX_div0\nFormals: \nLocals: x2:class X x1:class X \n DECLARE_LOCALS(&return,&x2,&x1); [line 39]\n " color=yellow style=filled]
@ -152,15 +152,15 @@ digraph iCFG {
26 -> 25 ; 26 -> 25 ;
25 [label="25: BinaryOperatorStmt: Assign \n n$1=*&f:int [line 35]\n *&y.f:int =n$1 [line 35]\n REMOVE_TEMPS(n$1); [line 35]\n NULLIFY(&f,false); [line 35]\n " shape="box"] 25 [label="25: BinaryOperatorStmt: Assign \n n$1=*&f:int [line 35]\n *&y.f:int =n$1 [line 35]\n REMOVE_TEMPS(n$1); [line 35]\n NULLIFY(&f); [line 35]\n " shape="box"]
25 -> 24 ; 25 -> 24 ;
24 [label="24: Return Stmt \n n$0=*&__return_param:class Y * [line 36]\n _fun_Y_Y(n$0:class Y *,&y:class Y &) [line 36]\n REMOVE_TEMPS(n$0); [line 36]\n NULLIFY(&__return_param,false); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 24 [label="24: Return Stmt \n n$0=*&__return_param:class Y * [line 36]\n _fun_Y_Y(n$0:class Y *,&y:class Y &) [line 36]\n REMOVE_TEMPS(n$0); [line 36]\n NULLIFY(&__return_param); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
24 -> 23 ; 24 -> 23 ;
23 [label="23: Exit getY \n NULLIFY(&y,false); [line 37]\n " color=yellow style=filled] 23 [label="23: Exit getY \n NULLIFY(&y); [line 37]\n " color=yellow style=filled]
22 [label="22: Start getY\nFormals: f:int __return_param:class Y *\nLocals: y:class Y \n DECLARE_LOCALS(&return,&y); [line 33]\n " color=yellow style=filled] 22 [label="22: Start getY\nFormals: f:int __return_param:class Y *\nLocals: y:class Y \n DECLARE_LOCALS(&return,&y); [line 33]\n " color=yellow style=filled]
@ -171,22 +171,22 @@ digraph iCFG {
21 -> 20 ; 21 -> 20 ;
20 [label="20: BinaryOperatorStmt: Assign \n n$1=*&f:int [line 29]\n *&x.f:int =n$1 [line 29]\n REMOVE_TEMPS(n$1); [line 29]\n NULLIFY(&f,false); [line 29]\n " shape="box"] 20 [label="20: BinaryOperatorStmt: Assign \n n$1=*&f:int [line 29]\n *&x.f:int =n$1 [line 29]\n REMOVE_TEMPS(n$1); [line 29]\n NULLIFY(&f); [line 29]\n " shape="box"]
20 -> 19 ; 20 -> 19 ;
19 [label="19: Return Stmt \n n$0=*&__return_param:class X * [line 30]\n _fun_X_X(n$0:class X *,&x:class X &) [line 30]\n REMOVE_TEMPS(n$0); [line 30]\n NULLIFY(&__return_param,false); [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"] 19 [label="19: Return Stmt \n n$0=*&__return_param:class X * [line 30]\n _fun_X_X(n$0:class X *,&x:class X &) [line 30]\n REMOVE_TEMPS(n$0); [line 30]\n NULLIFY(&__return_param); [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"]
19 -> 18 ; 19 -> 18 ;
18 [label="18: Exit getX \n NULLIFY(&x,false); [line 31]\n " color=yellow style=filled] 18 [label="18: Exit getX \n NULLIFY(&x); [line 31]\n " color=yellow style=filled]
17 [label="17: Start getX\nFormals: f:int __return_param:class X *\nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 27]\n " color=yellow style=filled] 17 [label="17: Start getX\nFormals: f:int __return_param:class X *\nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 27]\n " color=yellow style=filled]
17 -> 21 ; 17 -> 21 ;
16 [label="16: Constructor Init \n n$0=*&this:class Y * [line 24]\n n$1=*&y:class Y & [line 24]\n n$2=*n$1.f:int [line 24]\n *n$0.f:int =(n$2 - 1) [line 24]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 24]\n NULLIFY(&this,false); [line 24]\n NULLIFY(&y,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 16 [label="16: Constructor Init \n n$0=*&this:class Y * [line 24]\n n$1=*&y:class Y & [line 24]\n n$2=*n$1.f:int [line 24]\n *n$0.f:int =(n$2 - 1) [line 24]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 24]\n NULLIFY(&this); [line 24]\n NULLIFY(&y); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
16 -> 15 ; 16 -> 15 ;
@ -197,7 +197,7 @@ digraph iCFG {
14 -> 16 ; 14 -> 16 ;
13 [label="13: Constructor Init \n n$0=*&this:class Y * [line 22]\n n$1=*&y:class Y & [line 22]\n n$2=*n$1.f:int [line 22]\n *n$0.f:int =n$2 [line 22]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 22]\n NULLIFY(&this,false); [line 22]\n NULLIFY(&y,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 13 [label="13: Constructor Init \n n$0=*&this:class Y * [line 22]\n n$1=*&y:class Y & [line 22]\n n$2=*n$1.f:int [line 22]\n *n$0.f:int =n$2 [line 22]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 22]\n NULLIFY(&this); [line 22]\n NULLIFY(&y); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
13 -> 12 ; 13 -> 12 ;
@ -215,7 +215,7 @@ digraph iCFG {
9 -> 10 ; 9 -> 10 ;
8 [label="8: Constructor Init \n n$0=*&this:class X * [line 13]\n n$1=*&__param_0:class X & [line 13]\n n$2=*n$1.f:int [line 13]\n *n$0.f:int =n$2 [line 13]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 13]\n NULLIFY(&__param_0,false); [line 13]\n NULLIFY(&this,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 8 [label="8: Constructor Init \n n$0=*&this:class X * [line 13]\n n$1=*&__param_0:class X & [line 13]\n n$2=*n$1.f:int [line 13]\n *n$0.f:int =n$2 [line 13]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 13]\n NULLIFY(&__param_0); [line 13]\n NULLIFY(&this); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -226,7 +226,7 @@ digraph iCFG {
6 -> 8 ; 6 -> 8 ;
5 [label="5: Constructor Init \n n$0=*&this:class X * [line 13]\n n$1=*&__param_0:class X & [line 13]\n n$2=*n$1.f:int [line 13]\n *n$0.f:int =n$2 [line 13]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 13]\n NULLIFY(&__param_0,false); [line 13]\n NULLIFY(&this,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 5 [label="5: Constructor Init \n n$0=*&this:class X * [line 13]\n n$1=*&__param_0:class X & [line 13]\n n$2=*n$1.f:int [line 13]\n *n$0.f:int =n$2 [line 13]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 13]\n NULLIFY(&__param_0); [line 13]\n NULLIFY(&this); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -3,7 +3,7 @@ digraph iCFG {
18 -> 17 ; 18 -> 17 ;
17 [label="17: Exit test \n NULLIFY(&y,false); [line 25]\n " color=yellow style=filled] 17 [label="17: Exit test \n NULLIFY(&y); [line 25]\n " color=yellow style=filled]
16 [label="16: Start test\nFormals: \nLocals: y:class Y \n DECLARE_LOCALS(&return,&y); [line 25]\n " color=yellow style=filled] 16 [label="16: Start test\nFormals: \nLocals: y:class Y \n DECLARE_LOCALS(&return,&y); [line 25]\n " color=yellow style=filled]
@ -18,7 +18,7 @@ digraph iCFG {
14 -> 13 ; 14 -> 13 ;
13 [label="13: Constructor Init \n n$0=*&this:class Y * [line 19]\n _fun_X_X(n$0.x3:class X *) [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&this,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 13 [label="13: Constructor Init \n n$0=*&this:class Y * [line 19]\n _fun_X_X(n$0.x3:class X *) [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&this); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
13 -> 12 ; 13 -> 12 ;
@ -29,7 +29,7 @@ digraph iCFG {
11 -> 15 ; 11 -> 15 ;
10 [label="10: Constructor Init \n n$2=*&this:class X * [line 16]\n n$3=*&a:int [line 16]\n n$4=*&b:int [line 16]\n *n$2.a:int =(n$3 + n$4) [line 16]\n REMOVE_TEMPS(n$2,n$3,n$4); [line 16]\n NULLIFY(&a,false); [line 16]\n NULLIFY(&b,false); [line 16]\n " shape="box"] 10 [label="10: Constructor Init \n n$2=*&this:class X * [line 16]\n n$3=*&a:int [line 16]\n n$4=*&b:int [line 16]\n *n$2.a:int =(n$3 + n$4) [line 16]\n REMOVE_TEMPS(n$2,n$3,n$4); [line 16]\n NULLIFY(&a); [line 16]\n NULLIFY(&b); [line 16]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
@ -37,7 +37,7 @@ digraph iCFG {
9 -> 8 ; 9 -> 8 ;
8 [label="8: Constructor Init \n n$0=*&this:class X * [line 13]\n *n$0.c:int =0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&this,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 8 [label="8: Constructor Init \n n$0=*&this:class X * [line 13]\n *n$0.c:int =0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&this); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -56,7 +56,7 @@ digraph iCFG {
4 -> 3 ; 4 -> 3 ;
3 [label="3: Constructor Init \n n$0=*&this:class X * [line 13]\n *n$0.c:int =0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&this,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 3 [label="3: Constructor Init \n n$0=*&this:class X * [line 13]\n *n$0.c:int =0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&this); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,16 +1,16 @@
digraph iCFG { digraph iCFG {
11 [label="11: DeclStmt \n *&SIL_materialize_temp__n$0[0]:int =1 [line 24]\n *&SIL_materialize_temp__n$0[1]:int =2 [line 24]\n *&SIL_materialize_temp__n$0[2]:int =3 [line 24]\n *&SIL_materialize_temp__n$0[3]:int =4 [line 24]\n *&SIL_materialize_temp__n$0[4]:int =5 [line 24]\n n$1=_fun___infer_skip_function(&SIL_materialize_temp__n$0:int [5]) [line 24]\n _fun_X_X(&x:class X *,n$1:class std::initializer_list<int> ) [line 24]\n REMOVE_TEMPS(n$1); [line 24]\n NULLIFY(&SIL_materialize_temp__n$0,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 11 [label="11: DeclStmt \n *&SIL_materialize_temp__n$0[0]:int =1 [line 24]\n *&SIL_materialize_temp__n$0[1]:int =2 [line 24]\n *&SIL_materialize_temp__n$0[2]:int =3 [line 24]\n *&SIL_materialize_temp__n$0[3]:int =4 [line 24]\n *&SIL_materialize_temp__n$0[4]:int =5 [line 24]\n n$1=_fun___infer_skip_function(&SIL_materialize_temp__n$0:int [5]) [line 24]\n _fun_X_X(&x:class X *,n$1:class std::initializer_list<int> ) [line 24]\n REMOVE_TEMPS(n$1); [line 24]\n NULLIFY(&SIL_materialize_temp__n$0); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
11 -> 10 ; 11 -> 10 ;
10 [label="10: Exit main \n NULLIFY(&x,false); [line 24]\n " color=yellow style=filled] 10 [label="10: Exit main \n NULLIFY(&x); [line 24]\n " color=yellow style=filled]
9 [label="9: Start main\nFormals: \nLocals: x:class X SIL_materialize_temp__n$0:int [5] \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$0); [line 24]\n " color=yellow style=filled] 9 [label="9: Start main\nFormals: \nLocals: x:class X SIL_materialize_temp__n$0:int [5] \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$0); [line 24]\n " color=yellow style=filled]
9 -> 11 ; 9 -> 11 ;
8 [label="8: Prune (false branch) \n PRUNE(((n$3 != n$5) == 0), false); [line 15]\n REMOVE_TEMPS(n$3,n$4,n$5); [line 15]\n NULLIFY(&i,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="invhouse"] 8 [label="8: Prune (false branch) \n PRUNE(((n$3 != n$5) == 0), false); [line 15]\n REMOVE_TEMPS(n$3,n$4,n$5); [line 15]\n NULLIFY(&i); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="invhouse"]
8 -> 2 ; 8 -> 2 ;
@ -35,7 +35,7 @@ digraph iCFG {
3 -> 6 ; 3 -> 6 ;
2 [label="2: Exit X_X \n NULLIFY(&list,false); [line 18]\n " color=yellow style=filled] 2 [label="2: Exit X_X \n NULLIFY(&list); [line 18]\n " color=yellow style=filled]
1 [label="1: Start X_X\nFormals: this:class X * list:class std::initializer_list<int> \nLocals: i:int * \n DECLARE_LOCALS(&return,&i); [line 14]\n " color=yellow style=filled] 1 [label="1: Start X_X\nFormals: this:class X * list:class std::initializer_list<int> \nLocals: i:int * \n DECLARE_LOCALS(&return,&i); [line 14]\n " color=yellow style=filled]

@ -3,7 +3,7 @@ digraph iCFG {
43 -> 42 ; 43 -> 42 ;
42 [label="42: Exit getX_field_div1 \n NULLIFY(&__temp_return_n$1,false); [line 43]\n " color=yellow style=filled] 42 [label="42: Exit getX_field_div1 \n NULLIFY(&__temp_return_n$1); [line 43]\n " color=yellow style=filled]
41 [label="41: Start getX_field_div1\nFormals: \nLocals: __temp_return_n$1:class X \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 43]\n " color=yellow style=filled] 41 [label="41: Start getX_field_div1\nFormals: \nLocals: __temp_return_n$1:class X \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 43]\n " color=yellow style=filled]
@ -14,7 +14,7 @@ digraph iCFG {
40 -> 39 ; 40 -> 39 ;
39 [label="39: Exit temp_field_div1 \n NULLIFY(&__temp_construct_n$0,false); [line 41]\n " color=yellow style=filled] 39 [label="39: Exit temp_field_div1 \n NULLIFY(&__temp_construct_n$0); [line 41]\n " color=yellow style=filled]
38 [label="38: Start temp_field_div1\nFormals: \nLocals: __temp_construct_n$0:class X \n DECLARE_LOCALS(&return,&__temp_construct_n$0); [line 41]\n " color=yellow style=filled] 38 [label="38: Start temp_field_div1\nFormals: \nLocals: __temp_construct_n$0:class X \n DECLARE_LOCALS(&return,&__temp_construct_n$0); [line 41]\n " color=yellow style=filled]
@ -25,7 +25,7 @@ digraph iCFG {
37 -> 36 ; 37 -> 36 ;
36 [label="36: Exit getX_method_div0 \n NULLIFY(&__temp_return_n$1,false); [line 39]\n " color=yellow style=filled] 36 [label="36: Exit getX_method_div0 \n NULLIFY(&__temp_return_n$1); [line 39]\n " color=yellow style=filled]
35 [label="35: Start getX_method_div0\nFormals: \nLocals: __temp_return_n$1:class X \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 39]\n " color=yellow style=filled] 35 [label="35: Start getX_method_div0\nFormals: \nLocals: __temp_return_n$1:class X \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 39]\n " color=yellow style=filled]
@ -36,7 +36,7 @@ digraph iCFG {
34 -> 33 ; 34 -> 33 ;
33 [label="33: Exit getX_field_div0 \n NULLIFY(&__temp_return_n$1,false); [line 37]\n " color=yellow style=filled] 33 [label="33: Exit getX_field_div0 \n NULLIFY(&__temp_return_n$1); [line 37]\n " color=yellow style=filled]
32 [label="32: Start getX_field_div0\nFormals: \nLocals: __temp_return_n$1:class X \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 37]\n " color=yellow style=filled] 32 [label="32: Start getX_field_div0\nFormals: \nLocals: __temp_return_n$1:class X \n DECLARE_LOCALS(&return,&__temp_return_n$1); [line 37]\n " color=yellow style=filled]
@ -47,7 +47,7 @@ digraph iCFG {
31 -> 30 ; 31 -> 30 ;
30 [label="30: Exit temp_method_div0 \n NULLIFY(&__temp_construct_n$0,false); [line 35]\n " color=yellow style=filled] 30 [label="30: Exit temp_method_div0 \n NULLIFY(&__temp_construct_n$0); [line 35]\n " color=yellow style=filled]
29 [label="29: Start temp_method_div0\nFormals: \nLocals: __temp_construct_n$0:class X \n DECLARE_LOCALS(&return,&__temp_construct_n$0); [line 35]\n " color=yellow style=filled] 29 [label="29: Start temp_method_div0\nFormals: \nLocals: __temp_construct_n$0:class X \n DECLARE_LOCALS(&return,&__temp_construct_n$0); [line 35]\n " color=yellow style=filled]
@ -58,7 +58,7 @@ digraph iCFG {
28 -> 27 ; 28 -> 27 ;
27 [label="27: Exit temp_field2_div0 \n NULLIFY(&__temp_construct_n$0,false); [line 33]\n " color=yellow style=filled] 27 [label="27: Exit temp_field2_div0 \n NULLIFY(&__temp_construct_n$0); [line 33]\n " color=yellow style=filled]
26 [label="26: Start temp_field2_div0\nFormals: \nLocals: __temp_construct_n$0:class X \n DECLARE_LOCALS(&return,&__temp_construct_n$0); [line 33]\n " color=yellow style=filled] 26 [label="26: Start temp_field2_div0\nFormals: \nLocals: __temp_construct_n$0:class X \n DECLARE_LOCALS(&return,&__temp_construct_n$0); [line 33]\n " color=yellow style=filled]
@ -69,7 +69,7 @@ digraph iCFG {
25 -> 24 ; 25 -> 24 ;
24 [label="24: Exit temp_field_div0 \n NULLIFY(&__temp_construct_n$0,false); [line 31]\n " color=yellow style=filled] 24 [label="24: Exit temp_field_div0 \n NULLIFY(&__temp_construct_n$0); [line 31]\n " color=yellow style=filled]
23 [label="23: Start temp_field_div0\nFormals: \nLocals: __temp_construct_n$0:class X \n DECLARE_LOCALS(&return,&__temp_construct_n$0); [line 31]\n " color=yellow style=filled] 23 [label="23: Start temp_field_div0\nFormals: \nLocals: __temp_construct_n$0:class X \n DECLARE_LOCALS(&return,&__temp_construct_n$0); [line 31]\n " color=yellow style=filled]
@ -84,25 +84,25 @@ digraph iCFG {
21 -> 20 ; 21 -> 20 ;
20 [label="20: Exit assign_temp_div0 \n NULLIFY(&x,false); [line 29]\n NULLIFY(&SIL_materialize_temp__n$2,false); [line 29]\n " color=yellow style=filled] 20 [label="20: Exit assign_temp_div0 \n NULLIFY(&x); [line 29]\n NULLIFY(&SIL_materialize_temp__n$2); [line 29]\n " color=yellow style=filled]
19 [label="19: Start assign_temp_div0\nFormals: \nLocals: x:class X SIL_materialize_temp__n$2:class X \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$2); [line 26]\n " color=yellow style=filled] 19 [label="19: Start assign_temp_div0\nFormals: \nLocals: x:class X SIL_materialize_temp__n$2:class X \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$2); [line 26]\n " color=yellow style=filled]
19 -> 22 ; 19 -> 22 ;
18 [label="18: Return Stmt \n n$0=*&__return_param:class X * [line 24]\n n$2=*&a:int [line 24]\n n$3=*&b:int [line 24]\n _fun_X_X(&SIL_materialize_temp__n$1:class X *,n$2:int ,n$3:int ) [line 24]\n _fun_X_X(n$0:class X *,&SIL_materialize_temp__n$1:class X &) [line 24]\n REMOVE_TEMPS(n$0,n$2,n$3); [line 24]\n NULLIFY(&__return_param,false); [line 24]\n NULLIFY(&a,false); [line 24]\n NULLIFY(&b,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 18 [label="18: Return Stmt \n n$0=*&__return_param:class X * [line 24]\n n$2=*&a:int [line 24]\n n$3=*&b:int [line 24]\n _fun_X_X(&SIL_materialize_temp__n$1:class X *,n$2:int ,n$3:int ) [line 24]\n _fun_X_X(n$0:class X *,&SIL_materialize_temp__n$1:class X &) [line 24]\n REMOVE_TEMPS(n$0,n$2,n$3); [line 24]\n NULLIFY(&__return_param); [line 24]\n NULLIFY(&a); [line 24]\n NULLIFY(&b); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
18 -> 17 ; 18 -> 17 ;
17 [label="17: Exit getX \n NULLIFY(&SIL_materialize_temp__n$1,false); [line 24]\n " color=yellow style=filled] 17 [label="17: Exit getX \n NULLIFY(&SIL_materialize_temp__n$1); [line 24]\n " color=yellow style=filled]
16 [label="16: Start getX\nFormals: a:int b:int __return_param:class X *\nLocals: SIL_materialize_temp__n$1:class X \n DECLARE_LOCALS(&return,&SIL_materialize_temp__n$1); [line 24]\n " color=yellow style=filled] 16 [label="16: Start getX\nFormals: a:int b:int __return_param:class X *\nLocals: SIL_materialize_temp__n$1:class X \n DECLARE_LOCALS(&return,&SIL_materialize_temp__n$1); [line 24]\n " color=yellow style=filled]
16 -> 18 ; 16 -> 18 ;
15 [label="15: Return Stmt \n n$0=*&f:int [line 19]\n *&return:int =(1 / n$0) [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&f,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 15 [label="15: Return Stmt \n n$0=*&f:int [line 19]\n *&return:int =(1 / n$0) [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&f); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
@ -113,7 +113,7 @@ digraph iCFG {
13 -> 15 ; 13 -> 15 ;
12 [label="12: Return Stmt \n n$0=*&this:class X * [line 16]\n n$1=*n$0.f:int [line 16]\n *&return:int =(1 / n$1) [line 16]\n REMOVE_TEMPS(n$0,n$1); [line 16]\n NULLIFY(&this,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 12 [label="12: Return Stmt \n n$0=*&this:class X * [line 16]\n n$1=*n$0.f:int [line 16]\n *&return:int =(1 / n$1) [line 16]\n REMOVE_TEMPS(n$0,n$1); [line 16]\n NULLIFY(&this); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
12 -> 11 ; 12 -> 11 ;
@ -124,7 +124,7 @@ digraph iCFG {
10 -> 12 ; 10 -> 12 ;
9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 14]\n n$1=*&x:class X & [line 14]\n n$2=*n$1.f:int [line 14]\n *n$0.f:int =n$2 [line 14]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 14]\n NULLIFY(&this,false); [line 14]\n NULLIFY(&x,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 14]\n n$1=*&x:class X & [line 14]\n n$2=*n$1.f:int [line 14]\n *n$0.f:int =n$2 [line 14]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 14]\n NULLIFY(&this); [line 14]\n NULLIFY(&x); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -135,7 +135,7 @@ digraph iCFG {
7 -> 9 ; 7 -> 9 ;
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 12]\n n$1=*&a:int [line 12]\n *n$0.f:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&a,false); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 12]\n n$1=*&a:int [line 12]\n *n$0.f:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&a); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -146,7 +146,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 11]\n n$1=*&a:int [line 11]\n *n$0.f:int =n$1 [line 11]\n REMOVE_TEMPS(n$0,n$1); [line 11]\n NULLIFY(&a,false); [line 11]\n NULLIFY(&this,false); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"] 3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 11]\n n$1=*&a:int [line 11]\n *n$0.f:int =n$1 [line 11]\n REMOVE_TEMPS(n$0,n$1); [line 11]\n NULLIFY(&a); [line 11]\n NULLIFY(&this); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
3 [label="3: Call _fun_Person_~Person \n n$0=*&p:class Person * [line 15]\n n$1=*n$0:class Person [line 15]\n _fun_Person_~Person(n$0:class Person *) [line 15]\n REMOVE_TEMPS(n$0,n$1); [line 15]\n NULLIFY(&p,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 3 [label="3: Call _fun_Person_~Person \n n$0=*&p:class Person * [line 15]\n n$1=*n$0:class Person [line 15]\n _fun_Person_~Person(n$0:class Person *) [line 15]\n REMOVE_TEMPS(n$0,n$1); [line 15]\n NULLIFY(&p); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
8 [label="8: Call delete \n n$0=*&x:int * [line 16]\n _fun___delete(n$0:int *) [line 16]\n REMOVE_TEMPS(n$0); [line 16]\n NULLIFY(&x,false); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"] 8 [label="8: Call delete \n n$0=*&x:int * [line 16]\n _fun___delete(n$0:int *) [line 16]\n REMOVE_TEMPS(n$0); [line 16]\n NULLIFY(&x); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -10,7 +10,7 @@ digraph iCFG {
6 -> 8 ; 6 -> 8 ;
5 [label="5: Call delete \n n$0=*&x:class X * [line 14]\n n$1=*n$0:class X [line 14]\n _fun_X_~X(n$0:class X *) [line 14]\n _fun___delete(n$0:class X *) [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&x,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 5 [label="5: Call delete \n n$0=*&x:class X * [line 14]\n n$1=*n$0:class X [line 14]\n _fun_X_~X(n$0:class X *) [line 14]\n _fun___delete(n$0:class X *) [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&x); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -7,7 +7,7 @@ digraph iCFG {
12 -> 11 ; 12 -> 11 ;
11 [label="11: Exit test \n NULLIFY(&t,false); [line 26]\n " color=yellow style=filled] 11 [label="11: Exit test \n NULLIFY(&t); [line 26]\n " color=yellow style=filled]
10 [label="10: Start test\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 23]\n " color=yellow style=filled] 10 [label="10: Start test\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 23]\n " color=yellow style=filled]
@ -29,7 +29,7 @@ digraph iCFG {
6 -> 9 ; 6 -> 9 ;
5 [label="5: DeclStmt \n n$1=*&p:int * [line 12]\n n$2=*n$1:int [line 12]\n *&x:int =n$2 [line 12]\n REMOVE_TEMPS(n$1,n$2); [line 12]\n NULLIFY(&p,false); [line 12]\n " shape="box"] 5 [label="5: DeclStmt \n n$1=*&p:int * [line 12]\n n$2=*n$1:int [line 12]\n *&x:int =n$2 [line 12]\n REMOVE_TEMPS(n$1,n$2); [line 12]\n NULLIFY(&p); [line 12]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
@ -37,7 +37,7 @@ digraph iCFG {
4 -> 3 ; 4 -> 3 ;
3 [label="3: Return Stmt \n n$0=*&x:int [line 14]\n *&return:int =n$0 [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n NULLIFY(&x,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&x:int [line 14]\n *&return:int =n$0 [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n NULLIFY(&x); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class B * [line 20]\n *n$0.f:int =1 [line 20]\n REMOVE_TEMPS(n$0); [line 20]\n NULLIFY(&this,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class B * [line 20]\n *n$0.f:int =1 [line 20]\n REMOVE_TEMPS(n$0); [line 20]\n NULLIFY(&this); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -10,7 +10,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class A * [line 12]\n *n$0.f:int =0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class A * [line 12]\n *n$0.f:int =0 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -21,7 +21,7 @@ digraph iCFG {
12 -> 14 ; 12 -> 14 ;
11 [label="11: Return Stmt \n n$0=*&p:int * [line 19]\n n$1=*n$0:int [line 19]\n *&return:int =n$1 [line 19]\n REMOVE_TEMPS(n$0,n$1); [line 19]\n NULLIFY(&p,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 11 [label="11: Return Stmt \n n$0=*&p:int * [line 19]\n n$1=*n$0:int [line 19]\n *&return:int =n$1 [line 19]\n REMOVE_TEMPS(n$0,n$1); [line 19]\n NULLIFY(&p); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
11 -> 10 ; 11 -> 10 ;
@ -53,7 +53,7 @@ digraph iCFG {
4 -> 3 ; 4 -> 3 ;
3 [label="3: Return Stmt \n n$0=*&p:int * [line 14]\n n$1=*n$0:int [line 14]\n *&return:int =n$1 [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&p,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&p:int * [line 14]\n n$1=*n$0:int [line 14]\n *&return:int =n$1 [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&p); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -29,7 +29,7 @@ digraph iCFG {
29 -> 28 ; 29 -> 28 ;
28 [label="28: Exit div0_B_A \n NULLIFY(&b,false); [line 21]\n " color=yellow style=filled] 28 [label="28: Exit div0_B_A \n NULLIFY(&b); [line 21]\n " color=yellow style=filled]
27 [label="27: Start div0_B_A\nFormals: \nLocals: b:class B<A> \n DECLARE_LOCALS(&return,&b); [line 18]\n " color=yellow style=filled] 27 [label="27: Start div0_B_A\nFormals: \nLocals: b:class B<A> \n DECLARE_LOCALS(&return,&b); [line 18]\n " color=yellow style=filled]
@ -44,7 +44,7 @@ digraph iCFG {
25 -> 24 ; 25 -> 24 ;
24 [label="24: Exit div0_B_int \n NULLIFY(&b,false); [line 16]\n " color=yellow style=filled] 24 [label="24: Exit div0_B_int \n NULLIFY(&b); [line 16]\n " color=yellow style=filled]
23 [label="23: Start div0_B_int\nFormals: \nLocals: b:class B<int> \n DECLARE_LOCALS(&return,&b); [line 13]\n " color=yellow style=filled] 23 [label="23: Start div0_B_int\nFormals: \nLocals: b:class B<int> \n DECLARE_LOCALS(&return,&b); [line 13]\n " color=yellow style=filled]

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
9 [label="9: Return Stmt \n n$0=*&a:class A * [line 17]\n n$1=*n$0:class A [line 17]\n n$2=_fun_A_meth_with_self(n$0:class A *,1:int ,2:int ) [line 17]\n n$3=_fun_fun_with_self(10:int ) [line 17]\n *&return:int =(n$2 + n$3) [line 17]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 17]\n NULLIFY(&a,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 9 [label="9: Return Stmt \n n$0=*&a:class A * [line 17]\n n$1=*n$0:class A [line 17]\n n$2=_fun_A_meth_with_self(n$0:class A *,1:int ,2:int ) [line 17]\n n$3=_fun_fun_with_self(10:int ) [line 17]\n *&return:int =(n$2 + n$3) [line 17]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 17]\n NULLIFY(&a); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -10,7 +10,7 @@ digraph iCFG {
7 -> 9 ; 7 -> 9 ;
6 [label="6: Return Stmt \n n$0=*&self:int [line 15]\n *&return:int =n$0 [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&self,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 6 [label="6: Return Stmt \n n$0=*&self:int [line 15]\n *&return:int =n$0 [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&self); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -21,7 +21,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: Return Stmt \n n$0=*&self:int [line 12]\n n$1=*&b:int [line 12]\n *&return:int =(n$0 + n$1) [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&b,false); [line 12]\n NULLIFY(&self,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&self:int [line 12]\n n$1=*&b:int [line 12]\n *&return:int =(n$0 + n$1) [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&b); [line 12]\n NULLIFY(&self); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,13 +1,13 @@
digraph iCFG { digraph iCFG {
23 [label="23: DeclStmt \n n$3=_fun_get<int>() [line 18]\n *&i:int =n$3 [line 18]\n REMOVE_TEMPS(n$3); [line 18]\n NULLIFY(&i,false); [line 18]\n " shape="box"] 23 [label="23: DeclStmt \n n$3=_fun_get<int>() [line 18]\n *&i:int =n$3 [line 18]\n REMOVE_TEMPS(n$3); [line 18]\n NULLIFY(&i); [line 18]\n " shape="box"]
23 -> 22 ; 23 -> 22 ;
22 [label="22: DeclStmt \n n$2=_fun_get<float>() [line 19]\n *&f:float =n$2 [line 19]\n REMOVE_TEMPS(n$2); [line 19]\n NULLIFY(&f,false); [line 19]\n " shape="box"] 22 [label="22: DeclStmt \n n$2=_fun_get<float>() [line 19]\n *&f:float =n$2 [line 19]\n REMOVE_TEMPS(n$2); [line 19]\n NULLIFY(&f); [line 19]\n " shape="box"]
22 -> 21 ; 22 -> 21 ;
21 [label="21: DeclStmt \n n$1=_fun_get<float *>() [line 20]\n *&fp:float *=n$1 [line 20]\n REMOVE_TEMPS(n$1); [line 20]\n NULLIFY(&fp,false); [line 20]\n " shape="box"] 21 [label="21: DeclStmt \n n$1=_fun_get<float *>() [line 20]\n *&fp:float *=n$1 [line 20]\n REMOVE_TEMPS(n$1); [line 20]\n NULLIFY(&fp); [line 20]\n " shape="box"]
21 -> 20 ; 21 -> 20 ;
@ -15,11 +15,11 @@ digraph iCFG {
20 -> 19 ; 20 -> 19 ;
19 [label="19: DeclStmt \n n$0=_fun_get<ENUM>() [line 22]\n *&x:int =n$0 [line 22]\n REMOVE_TEMPS(n$0); [line 22]\n NULLIFY(&x,false); [line 22]\n " shape="box"] 19 [label="19: DeclStmt \n n$0=_fun_get<ENUM>() [line 22]\n *&x:int =n$0 [line 22]\n REMOVE_TEMPS(n$0); [line 22]\n NULLIFY(&x); [line 22]\n " shape="box"]
19 -> 18 ; 19 -> 18 ;
18 [label="18: DeclStmt \n *&f2:float =0.000000 [line 23]\n NULLIFY(&f2,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"] 18 [label="18: DeclStmt \n *&f2:float =0.000000 [line 23]\n NULLIFY(&f2); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
18 -> 17 ; 18 -> 17 ;

@ -11,7 +11,7 @@ digraph iCFG {
41 -> 40 ; 41 -> 40 ;
40 [label="40: DeclStmt \n n$13=*&value:int [line 38]\n n$14=*&value:int [line 38]\n *&temp:int =((n$13 * n$14) + 10) [line 38]\n REMOVE_TEMPS(n$13,n$14); [line 38]\n NULLIFY(&temp,false); [line 38]\n NULLIFY(&value,false); [line 38]\n " shape="box"] 40 [label="40: DeclStmt \n n$13=*&value:int [line 38]\n n$14=*&value:int [line 38]\n *&temp:int =((n$13 * n$14) + 10) [line 38]\n REMOVE_TEMPS(n$13,n$14); [line 38]\n NULLIFY(&temp); [line 38]\n NULLIFY(&value); [line 38]\n " shape="box"]
40 -> 36 ; 40 -> 36 ;
@ -36,7 +36,7 @@ digraph iCFG {
35 -> 34 ; 35 -> 34 ;
34 [label="34: DeclStmt \n n$1=*&__range:class vec & [line 37]\n n$2=*n$1:class vec [line 37]\n _fun_vec_end(n$1:class vec &,&SIL_materialize_temp__n$0:class iterator *) [line 37]\n _fun_iterator_iterator(&__end:class iterator *,&SIL_materialize_temp__n$0:class iterator &) [line 37]\n REMOVE_TEMPS(n$1,n$2); [line 37]\n NULLIFY(&__range,false); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"] 34 [label="34: DeclStmt \n n$1=*&__range:class vec & [line 37]\n n$2=*n$1:class vec [line 37]\n _fun_vec_end(n$1:class vec &,&SIL_materialize_temp__n$0:class iterator *) [line 37]\n _fun_iterator_iterator(&__end:class iterator *,&SIL_materialize_temp__n$0:class iterator &) [line 37]\n REMOVE_TEMPS(n$1,n$2); [line 37]\n NULLIFY(&__range); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
34 -> 33 ; 34 -> 33 ;
@ -44,14 +44,14 @@ digraph iCFG {
33 -> 37 ; 33 -> 37 ;
32 [label="32: Exit test \n NULLIFY(&vector,false); [line 40]\n NULLIFY(&__temp_return_n$9,false); [line 40]\n NULLIFY(&__temp_construct_n$11,false); [line 40]\n NULLIFY(&__temp_construct_n$10,false); [line 40]\n NULLIFY(&__end,false); [line 40]\n NULLIFY(&__begin,false); [line 40]\n NULLIFY(&SIL_materialize_temp__n$4,false); [line 40]\n NULLIFY(&SIL_materialize_temp__n$0,false); [line 40]\n " color=yellow style=filled] 32 [label="32: Exit test \n NULLIFY(&vector); [line 40]\n NULLIFY(&__temp_return_n$9); [line 40]\n NULLIFY(&__temp_construct_n$11); [line 40]\n NULLIFY(&__temp_construct_n$10); [line 40]\n NULLIFY(&__end); [line 40]\n NULLIFY(&__begin); [line 40]\n NULLIFY(&SIL_materialize_temp__n$4); [line 40]\n NULLIFY(&SIL_materialize_temp__n$0); [line 40]\n " color=yellow style=filled]
31 [label="31: Start test\nFormals: \nLocals: __end:class iterator SIL_materialize_temp__n$0:class iterator __begin:class iterator SIL_materialize_temp__n$4:class iterator __temp_return_n$9:class iterator __temp_construct_n$10:class iterator __temp_construct_n$11:class iterator temp:int value:int __range:class vec & vector:class vec \n DECLARE_LOCALS(&return,&__end,&SIL_materialize_temp__n$0,&__begin,&SIL_materialize_temp__n$4,&__temp_return_n$9,&__temp_construct_n$10,&__temp_construct_n$11,&temp,&value,&__range,&vector); [line 35]\n " color=yellow style=filled] 31 [label="31: Start test\nFormals: \nLocals: __end:class iterator SIL_materialize_temp__n$0:class iterator __begin:class iterator SIL_materialize_temp__n$4:class iterator __temp_return_n$9:class iterator __temp_construct_n$10:class iterator __temp_construct_n$11:class iterator temp:int value:int __range:class vec & vector:class vec \n DECLARE_LOCALS(&return,&__end,&SIL_materialize_temp__n$0,&__begin,&SIL_materialize_temp__n$4,&__temp_return_n$9,&__temp_construct_n$10,&__temp_construct_n$11,&temp,&value,&__range,&vector); [line 35]\n " color=yellow style=filled]
31 -> 43 ; 31 -> 43 ;
30 [label="30: Return Stmt \n n$0=*&__return_param:class iterator * [line 29]\n n$1=*&this:class vec * [line 29]\n _fun_iterator_iterator(n$0:class iterator *,n$1.end_:class iterator &) [line 29]\n REMOVE_TEMPS(n$0,n$1); [line 29]\n NULLIFY(&__return_param,false); [line 29]\n NULLIFY(&this,false); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 30 [label="30: Return Stmt \n n$0=*&__return_param:class iterator * [line 29]\n n$1=*&this:class vec * [line 29]\n _fun_iterator_iterator(n$0:class iterator *,n$1.end_:class iterator &) [line 29]\n REMOVE_TEMPS(n$0,n$1); [line 29]\n NULLIFY(&__return_param); [line 29]\n NULLIFY(&this); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
30 -> 29 ; 30 -> 29 ;
@ -62,7 +62,7 @@ digraph iCFG {
28 -> 30 ; 28 -> 30 ;
27 [label="27: Return Stmt \n n$0=*&__return_param:class iterator * [line 28]\n n$1=*&this:class vec * [line 28]\n _fun_iterator_iterator(n$0:class iterator *,n$1.begin_:class iterator &) [line 28]\n REMOVE_TEMPS(n$0,n$1); [line 28]\n NULLIFY(&__return_param,false); [line 28]\n NULLIFY(&this,false); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"] 27 [label="27: Return Stmt \n n$0=*&__return_param:class iterator * [line 28]\n n$1=*&this:class vec * [line 28]\n _fun_iterator_iterator(n$0:class iterator *,n$1.begin_:class iterator &) [line 28]\n REMOVE_TEMPS(n$0,n$1); [line 28]\n NULLIFY(&__return_param); [line 28]\n NULLIFY(&this); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
27 -> 26 ; 27 -> 26 ;
@ -85,7 +85,7 @@ digraph iCFG {
22 -> 21 ; 22 -> 21 ;
21 [label="21: BinaryOperatorStmt: Assign \n n$0=*&this:class vec * [line 26]\n n$1=*&size:int [line 26]\n *n$0.end_.val:int =n$1 [line 26]\n REMOVE_TEMPS(n$0,n$1); [line 26]\n NULLIFY(&size,false); [line 26]\n NULLIFY(&this,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 21 [label="21: BinaryOperatorStmt: Assign \n n$0=*&this:class vec * [line 26]\n n$1=*&size:int [line 26]\n *n$0.end_.val:int =n$1 [line 26]\n REMOVE_TEMPS(n$0,n$1); [line 26]\n NULLIFY(&size); [line 26]\n NULLIFY(&this); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
21 -> 20 ; 21 -> 20 ;
@ -96,7 +96,7 @@ digraph iCFG {
19 -> 24 ; 19 -> 24 ;
18 [label="18: Return Stmt \n n$0=*&i1.val:int [line 21]\n n$1=*&i2.val:int [line 21]\n *&return:_Bool =(n$0 != n$1) [line 21]\n REMOVE_TEMPS(n$0,n$1); [line 21]\n NULLIFY(&i1,false); [line 21]\n NULLIFY(&i2,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"] 18 [label="18: Return Stmt \n n$0=*&i1.val:int [line 21]\n n$1=*&i2.val:int [line 21]\n *&return:_Bool =(n$0 != n$1) [line 21]\n REMOVE_TEMPS(n$0,n$1); [line 21]\n NULLIFY(&i1); [line 21]\n NULLIFY(&i2); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
18 -> 17 ; 18 -> 17 ;
@ -107,7 +107,7 @@ digraph iCFG {
16 -> 18 ; 16 -> 18 ;
15 [label="15: Constructor Init \n n$0=*&this:class iterator * [line 11]\n n$1=*&__param_0:class iterator & [line 11]\n n$2=*n$1.val:int [line 11]\n *n$0.val:int =n$2 [line 11]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 11]\n NULLIFY(&__param_0,false); [line 11]\n NULLIFY(&this,false); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"] 15 [label="15: Constructor Init \n n$0=*&this:class iterator * [line 11]\n n$1=*&__param_0:class iterator & [line 11]\n n$2=*n$1.val:int [line 11]\n *n$0.val:int =n$2 [line 11]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 11]\n NULLIFY(&__param_0); [line 11]\n NULLIFY(&this); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
@ -125,7 +125,7 @@ digraph iCFG {
11 -> 12 ; 11 -> 12 ;
10 [label="10: Return Stmt \n n$0=*&this:class iterator * [line 18]\n n$1=*n$0.val:int [line 18]\n *&return:int =n$1 [line 18]\n REMOVE_TEMPS(n$0,n$1); [line 18]\n NULLIFY(&this,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 10 [label="10: Return Stmt \n n$0=*&this:class iterator * [line 18]\n n$1=*n$0.val:int [line 18]\n *&return:int =n$1 [line 18]\n REMOVE_TEMPS(n$0,n$1); [line 18]\n NULLIFY(&this); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
@ -140,11 +140,11 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: Return Stmt \n n$0=*&__return_param:class iterator * [line 15]\n n$1=*&this:class iterator * [line 15]\n _fun_iterator_iterator(n$0:class iterator *,n$1:class iterator &) [line 15]\n REMOVE_TEMPS(n$0,n$1); [line 15]\n NULLIFY(&__return_param,false); [line 15]\n NULLIFY(&this,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 6 [label="6: Return Stmt \n n$0=*&__return_param:class iterator * [line 15]\n n$1=*&this:class iterator * [line 15]\n _fun_iterator_iterator(n$0:class iterator *,n$1:class iterator &) [line 15]\n REMOVE_TEMPS(n$0,n$1); [line 15]\n NULLIFY(&__return_param); [line 15]\n NULLIFY(&this); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
6 -> 2 ; 6 -> 2 ;
5 [label="5: Constructor Init \n n$0=*&this:class iterator * [line 11]\n n$1=*&__param_0:class iterator & [line 11]\n n$2=*n$1.val:int [line 11]\n *n$0.val:int =n$2 [line 11]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 11]\n NULLIFY(&__param_0,false); [line 11]\n NULLIFY(&this,false); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"] 5 [label="5: Constructor Init \n n$0=*&this:class iterator * [line 11]\n n$1=*&__param_0:class iterator & [line 11]\n n$2=*n$1.val:int [line 11]\n *n$0.val:int =n$2 [line 11]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 11]\n NULLIFY(&__param_0); [line 11]\n NULLIFY(&this); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -7,7 +7,7 @@ digraph iCFG {
60 -> 59 ; 60 -> 59 ;
59 [label="59: Return Stmt \n n$4=*&v:int [line 65]\n *&return:int =(1 / n$4) [line 65]\n REMOVE_TEMPS(n$4); [line 65]\n NULLIFY(&v,false); [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"] 59 [label="59: Return Stmt \n n$4=*&v:int [line 65]\n *&return:int =(1 / n$4) [line 65]\n REMOVE_TEMPS(n$4); [line 65]\n NULLIFY(&v); [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"]
59 -> 53 ; 59 -> 53 ;
@ -32,7 +32,7 @@ digraph iCFG {
54 -> 53 ; 54 -> 53 ;
53 [label="53: Exit branch_div1 \n NULLIFY(&x,false); [line 68]\n " color=yellow style=filled] 53 [label="53: Exit branch_div1 \n NULLIFY(&x); [line 68]\n " color=yellow style=filled]
52 [label="52: Start branch_div1\nFormals: \nLocals: v:int x:class X \n DECLARE_LOCALS(&return,&v,&x); [line 61]\n " color=yellow style=filled] 52 [label="52: Start branch_div1\nFormals: \nLocals: v:int x:class X \n DECLARE_LOCALS(&return,&v,&x); [line 61]\n " color=yellow style=filled]
@ -47,7 +47,7 @@ digraph iCFG {
50 -> 49 ; 50 -> 49 ;
49 [label="49: Return Stmt \n n$4=*&v:int [line 56]\n *&return:int =(1 / n$4) [line 56]\n REMOVE_TEMPS(n$4); [line 56]\n NULLIFY(&v,false); [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="box"] 49 [label="49: Return Stmt \n n$4=*&v:int [line 56]\n *&return:int =(1 / n$4) [line 56]\n REMOVE_TEMPS(n$4); [line 56]\n NULLIFY(&v); [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="box"]
49 -> 43 ; 49 -> 43 ;
@ -72,7 +72,7 @@ digraph iCFG {
44 -> 43 ; 44 -> 43 ;
43 [label="43: Exit branch_no_div \n NULLIFY(&x,false); [line 59]\n " color=yellow style=filled] 43 [label="43: Exit branch_no_div \n NULLIFY(&x); [line 59]\n " color=yellow style=filled]
42 [label="42: Start branch_no_div\nFormals: \nLocals: v:int x:class X \n DECLARE_LOCALS(&return,&v,&x); [line 52]\n " color=yellow style=filled] 42 [label="42: Start branch_no_div\nFormals: \nLocals: v:int x:class X \n DECLARE_LOCALS(&return,&v,&x); [line 52]\n " color=yellow style=filled]
@ -95,7 +95,7 @@ digraph iCFG {
38 -> 37 ; 38 -> 37 ;
37 [label="37: Return Stmt \n n$10=*&v:int [line 47]\n *&return:int =(1 / n$10) [line 47]\n REMOVE_TEMPS(n$10); [line 47]\n NULLIFY(&v,false); [line 47]\n APPLY_ABSTRACTION; [line 47]\n " shape="box"] 37 [label="37: Return Stmt \n n$10=*&v:int [line 47]\n *&return:int =(1 / n$10) [line 47]\n REMOVE_TEMPS(n$10); [line 47]\n NULLIFY(&v); [line 47]\n APPLY_ABSTRACTION; [line 47]\n " shape="box"]
37 -> 31 ; 37 -> 31 ;
@ -120,7 +120,7 @@ digraph iCFG {
32 -> 31 ; 32 -> 31 ;
31 [label="31: Exit y_branch_div0 \n NULLIFY(&y,false); [line 50]\n NULLIFY(&__temp_construct_n$5,false); [line 50]\n NULLIFY(&__temp_construct_n$11,false); [line 50]\n NULLIFY(&__temp_construct_n$0,false); [line 50]\n NULLIFY(&SIL_materialize_temp__n$6,false); [line 50]\n NULLIFY(&SIL_materialize_temp__n$12,false); [line 50]\n NULLIFY(&SIL_materialize_temp__n$1,false); [line 50]\n " color=yellow style=filled] 31 [label="31: Exit y_branch_div0 \n NULLIFY(&y); [line 50]\n NULLIFY(&__temp_construct_n$5); [line 50]\n NULLIFY(&__temp_construct_n$11); [line 50]\n NULLIFY(&__temp_construct_n$0); [line 50]\n NULLIFY(&SIL_materialize_temp__n$6); [line 50]\n NULLIFY(&SIL_materialize_temp__n$12); [line 50]\n NULLIFY(&SIL_materialize_temp__n$1); [line 50]\n " color=yellow style=filled]
30 [label="30: Start y_branch_div0\nFormals: \nLocals: __temp_construct_n$0:class X SIL_materialize_temp__n$1:class X __temp_construct_n$5:class X SIL_materialize_temp__n$6:class X v:int __temp_construct_n$11:class X SIL_materialize_temp__n$12:class X y:class Y \n DECLARE_LOCALS(&return,&__temp_construct_n$0,&SIL_materialize_temp__n$1,&__temp_construct_n$5,&SIL_materialize_temp__n$6,&v,&__temp_construct_n$11,&SIL_materialize_temp__n$12,&y); [line 41]\n " color=yellow style=filled] 30 [label="30: Start y_branch_div0\nFormals: \nLocals: __temp_construct_n$0:class X SIL_materialize_temp__n$1:class X __temp_construct_n$5:class X SIL_materialize_temp__n$6:class X v:int __temp_construct_n$11:class X SIL_materialize_temp__n$12:class X y:class Y \n DECLARE_LOCALS(&return,&__temp_construct_n$0,&SIL_materialize_temp__n$1,&__temp_construct_n$5,&SIL_materialize_temp__n$6,&v,&__temp_construct_n$11,&SIL_materialize_temp__n$12,&y); [line 41]\n " color=yellow style=filled]
@ -135,7 +135,7 @@ digraph iCFG {
28 -> 27 ; 28 -> 27 ;
27 [label="27: Return Stmt \n n$4=*&v:int [line 36]\n *&return:int =(1 / n$4) [line 36]\n REMOVE_TEMPS(n$4); [line 36]\n NULLIFY(&v,false); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 27 [label="27: Return Stmt \n n$4=*&v:int [line 36]\n *&return:int =(1 / n$4) [line 36]\n REMOVE_TEMPS(n$4); [line 36]\n NULLIFY(&v); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
27 -> 21 ; 27 -> 21 ;
@ -160,7 +160,7 @@ digraph iCFG {
22 -> 21 ; 22 -> 21 ;
21 [label="21: Exit branch_div0 \n NULLIFY(&x,false); [line 39]\n " color=yellow style=filled] 21 [label="21: Exit branch_div0 \n NULLIFY(&x); [line 39]\n " color=yellow style=filled]
20 [label="20: Start branch_div0\nFormals: \nLocals: v:int x:class X \n DECLARE_LOCALS(&return,&v,&x); [line 32]\n " color=yellow style=filled] 20 [label="20: Start branch_div0\nFormals: \nLocals: v:int x:class X \n DECLARE_LOCALS(&return,&v,&x); [line 32]\n " color=yellow style=filled]
@ -174,11 +174,11 @@ digraph iCFG {
18 -> 19 ; 18 -> 19 ;
17 [label="17: Return Stmt \n n$0=*&__return_param:class X * [line 27]\n n$2=*&this:class Y * [line 27]\n n$3=*n$2.f:int [line 27]\n n$4=*&this:class Y * [line 27]\n n$5=*n$4.b:int [line 27]\n _fun_X_X(&SIL_materialize_temp__n$1:class X *,n$3:int ,n$5:_Bool ) [line 27]\n _fun_X_X(n$0:class X *,&SIL_materialize_temp__n$1:class X &) [line 27]\n REMOVE_TEMPS(n$0,n$2,n$3,n$4,n$5); [line 27]\n NULLIFY(&__return_param,false); [line 27]\n NULLIFY(&this,false); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"] 17 [label="17: Return Stmt \n n$0=*&__return_param:class X * [line 27]\n n$2=*&this:class Y * [line 27]\n n$3=*n$2.f:int [line 27]\n n$4=*&this:class Y * [line 27]\n n$5=*n$4.b:int [line 27]\n _fun_X_X(&SIL_materialize_temp__n$1:class X *,n$3:int ,n$5:_Bool ) [line 27]\n _fun_X_X(n$0:class X *,&SIL_materialize_temp__n$1:class X &) [line 27]\n REMOVE_TEMPS(n$0,n$2,n$3,n$4,n$5); [line 27]\n NULLIFY(&__return_param); [line 27]\n NULLIFY(&this); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
17 -> 16 ; 17 -> 16 ;
16 [label="16: Exit Y_operator X \n NULLIFY(&SIL_materialize_temp__n$1,false); [line 27]\n " color=yellow style=filled] 16 [label="16: Exit Y_operator X \n NULLIFY(&SIL_materialize_temp__n$1); [line 27]\n " color=yellow style=filled]
15 [label="15: Start Y_operator X\nFormals: this:class Y * __return_param:class X *\nLocals: SIL_materialize_temp__n$1:class X \n DECLARE_LOCALS(&return,&SIL_materialize_temp__n$1); [line 27]\n " color=yellow style=filled] 15 [label="15: Start Y_operator X\nFormals: this:class Y * __return_param:class X *\nLocals: SIL_materialize_temp__n$1:class X \n DECLARE_LOCALS(&return,&SIL_materialize_temp__n$1); [line 27]\n " color=yellow style=filled]
@ -189,7 +189,7 @@ digraph iCFG {
14 -> 13 ; 14 -> 13 ;
13 [label="13: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 21]\n n$1=*&x:class X & [line 21]\n n$2=*n$1.b_:_Bool [line 21]\n *n$0.b_:_Bool =n$2 [line 21]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 21]\n NULLIFY(&this,false); [line 21]\n NULLIFY(&x,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"] 13 [label="13: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 21]\n n$1=*&x:class X & [line 21]\n n$2=*n$1.b_:_Bool [line 21]\n *n$0.b_:_Bool =n$2 [line 21]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 21]\n NULLIFY(&this); [line 21]\n NULLIFY(&x); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
13 -> 12 ; 13 -> 12 ;
@ -200,11 +200,11 @@ digraph iCFG {
11 -> 14 ; 11 -> 14 ;
10 [label="10: BinaryOperatorStmt: Assign \n n$2=*&this:class X * [line 16]\n n$3=*&f:int [line 16]\n *n$2.f_:int =n$3 [line 16]\n REMOVE_TEMPS(n$2,n$3); [line 16]\n NULLIFY(&f,false); [line 16]\n " shape="box"] 10 [label="10: BinaryOperatorStmt: Assign \n n$2=*&this:class X * [line 16]\n n$3=*&f:int [line 16]\n *n$2.f_:int =n$3 [line 16]\n REMOVE_TEMPS(n$2,n$3); [line 16]\n NULLIFY(&f); [line 16]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 17]\n n$1=*&b:_Bool [line 17]\n *n$0.b_:_Bool =n$1 [line 17]\n REMOVE_TEMPS(n$0,n$1); [line 17]\n NULLIFY(&b,false); [line 17]\n NULLIFY(&this,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 17]\n n$1=*&b:_Bool [line 17]\n *n$0.b_:_Bool =n$1 [line 17]\n REMOVE_TEMPS(n$0,n$1); [line 17]\n NULLIFY(&b); [line 17]\n NULLIFY(&this); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -215,7 +215,7 @@ digraph iCFG {
7 -> 10 ; 7 -> 10 ;
6 [label="6: Return Stmt \n n$0=*&this:class X * [line 12]\n n$1=*n$0.b_:_Bool [line 12]\n *&return:_Bool =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 6 [label="6: Return Stmt \n n$0=*&this:class X * [line 12]\n n$1=*n$0.b_:_Bool [line 12]\n *&return:_Bool =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -226,7 +226,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: Return Stmt \n n$0=*&this:class X * [line 11]\n n$1=*n$0.f_:int [line 11]\n *&return:int =n$1 [line 11]\n REMOVE_TEMPS(n$0,n$1); [line 11]\n NULLIFY(&this,false); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&this:class X * [line 11]\n n$1=*n$0.f_:int [line 11]\n *&return:int =n$1 [line 11]\n REMOVE_TEMPS(n$0,n$1); [line 11]\n NULLIFY(&this); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -7,7 +7,7 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: Call _fun_A_fun_default \n n$0=*&a_ptr:class A * [line 20]\n n$1=*n$0:class A [line 20]\n n$2=_fun_A_fun_default(n$0:class A *,1:int ,10:int ,20:int ) [line 20]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 20]\n NULLIFY(&a_ptr,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 6 [label="6: Call _fun_A_fun_default \n n$0=*&a_ptr:class A * [line 20]\n n$1=*n$0:class A [line 20]\n n$2=_fun_A_fun_default(n$0:class A *,1:int ,10:int ,20:int ) [line 20]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 20]\n NULLIFY(&a_ptr); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -18,7 +18,7 @@ digraph iCFG {
4 -> 8 ; 4 -> 8 ;
3 [label="3: Return Stmt \n n$0=*&a:int [line 13]\n n$1=*&b:int [line 13]\n n$2=*&c:int [line 13]\n *&return:int =((n$0 + n$1) + n$2) [line 13]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 13]\n NULLIFY(&a,false); [line 13]\n NULLIFY(&b,false); [line 13]\n NULLIFY(&c,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&a:int [line 13]\n n$1=*&b:int [line 13]\n n$2=*&c:int [line 13]\n *&return:int =((n$0 + n$1) + n$2) [line 13]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 13]\n NULLIFY(&a); [line 13]\n NULLIFY(&b); [line 13]\n NULLIFY(&c); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
10 [label="10: Call _fun_A_method \n n$0=*&a_ptr:class A * [line 25]\n n$1=*n$0:class A [line 25]\n n$2=_fun_A_method(n$0:class A *) [line 25]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 25]\n NULLIFY(&a_ptr,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 10 [label="10: Call _fun_A_method \n n$0=*&a_ptr:class A * [line 25]\n n$1=*n$0:class A [line 25]\n n$2=_fun_A_method(n$0:class A *) [line 25]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 25]\n NULLIFY(&a_ptr); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
@ -14,7 +14,7 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: Return Stmt \n n$0=*&this:class A * [line 20]\n n$1=*n$0.field:int [line 20]\n *&return:int =n$1 [line 20]\n REMOVE_TEMPS(n$0,n$1); [line 20]\n NULLIFY(&this,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 6 [label="6: Return Stmt \n n$0=*&this:class A * [line 20]\n n$1=*n$0.field:int [line 20]\n *&return:int =n$1 [line 20]\n REMOVE_TEMPS(n$0,n$1); [line 20]\n NULLIFY(&this); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -25,7 +25,7 @@ digraph iCFG {
4 -> 7 ; 4 -> 7 ;
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class A * [line 14]\n n$1=*&val:int [line 14]\n *n$0.field:int =n$1 [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&this,false); [line 14]\n NULLIFY(&val,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class A * [line 14]\n n$1=*&val:int [line 14]\n *n$0.field:int =n$1 [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&this); [line 14]\n NULLIFY(&val); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,7 +3,7 @@ digraph iCFG {
11 -> 10 ; 11 -> 10 ;
10 [label="10: Call _fun_A::AIn_fun \n n$0=*&a_ptr:class A * [line 25]\n n$1=*n$0.in:class A::AIn * [line 25]\n n$2=*n$1:class A::AIn [line 25]\n n$3=_fun_A::AIn_fun(n$1:class A::AIn *) [line 25]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 25]\n NULLIFY(&a_ptr,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 10 [label="10: Call _fun_A::AIn_fun \n n$0=*&a_ptr:class A * [line 25]\n n$1=*n$0.in:class A::AIn * [line 25]\n n$2=*n$1:class A::AIn [line 25]\n n$3=_fun_A::AIn_fun(n$1:class A::AIn *) [line 25]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 25]\n NULLIFY(&a_ptr); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
@ -18,7 +18,7 @@ digraph iCFG {
7 -> 6 ; 7 -> 6 ;
6 [label="6: Return Stmt \n n$0=*&c:int [line 18]\n *&return:int =(n$0 + 1) [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n NULLIFY(&c,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 6 [label="6: Return Stmt \n n$0=*&c:int [line 18]\n *&return:int =(n$0 + 1) [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n NULLIFY(&c); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;

@ -3,7 +3,7 @@ digraph iCFG {
10 -> 9 ; 10 -> 9 ;
9 [label="9: Call _fun_A_fun \n n$0=*&a_ptr:class A * [line 23]\n n$1=*n$0:class A [line 23]\n n$2=_fun_A_fun(n$0:class A *,1:int ,2:int ,3:int ) [line 23]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 23]\n NULLIFY(&a_ptr,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"] 9 [label="9: Call _fun_A_fun \n n$0=*&a_ptr:class A * [line 23]\n n$1=*n$0:class A [line 23]\n n$2=_fun_A_fun(n$0:class A *,1:int ,2:int ,3:int ) [line 23]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 23]\n NULLIFY(&a_ptr); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -14,7 +14,7 @@ digraph iCFG {
7 -> 10 ; 7 -> 10 ;
6 [label="6: Return Stmt \n n$0=*&a:int [line 17]\n n$1=*&b:int [line 17]\n *&return:int =(n$0 - n$1) [line 17]\n REMOVE_TEMPS(n$0,n$1); [line 17]\n NULLIFY(&a,false); [line 17]\n NULLIFY(&b,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 6 [label="6: Return Stmt \n n$0=*&a:int [line 17]\n n$1=*&b:int [line 17]\n *&return:int =(n$0 - n$1) [line 17]\n REMOVE_TEMPS(n$0,n$1); [line 17]\n NULLIFY(&a); [line 17]\n NULLIFY(&b); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -25,7 +25,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: Return Stmt \n n$0=*&a:int [line 15]\n n$1=*&b:int [line 15]\n n$2=*&c:int [line 15]\n *&return:int =((n$0 + n$1) + n$2) [line 15]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 15]\n NULLIFY(&a,false); [line 15]\n NULLIFY(&b,false); [line 15]\n NULLIFY(&c,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&a:int [line 15]\n n$1=*&b:int [line 15]\n n$2=*&c:int [line 15]\n *&return:int =((n$0 + n$1) + n$2) [line 15]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 15]\n NULLIFY(&a); [line 15]\n NULLIFY(&b); [line 15]\n NULLIFY(&c); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
13 [label="13: DeclStmt \n n$2=*&a:class A * [line 22]\n n$3=*n$2:class A [line 22]\n _fun_A_get(n$2:class A *,1:int ,&SIL_materialize_temp__n$1:class X *) [line 22]\n _fun_X_X(&x:class X *,&SIL_materialize_temp__n$1:class X &) [line 22]\n REMOVE_TEMPS(n$2,n$3); [line 22]\n NULLIFY(&a,false); [line 22]\n " shape="box"] 13 [label="13: DeclStmt \n n$2=*&a:class A * [line 22]\n n$3=*n$2:class A [line 22]\n _fun_A_get(n$2:class A *,1:int ,&SIL_materialize_temp__n$1:class X *) [line 22]\n _fun_X_X(&x:class X *,&SIL_materialize_temp__n$1:class X &) [line 22]\n REMOVE_TEMPS(n$2,n$3); [line 22]\n NULLIFY(&a); [line 22]\n " shape="box"]
13 -> 12 ; 13 -> 12 ;
@ -7,7 +7,7 @@ digraph iCFG {
12 -> 11 ; 12 -> 11 ;
11 [label="11: Exit test \n NULLIFY(&x,false); [line 24]\n NULLIFY(&SIL_materialize_temp__n$1,false); [line 24]\n " color=yellow style=filled] 11 [label="11: Exit test \n NULLIFY(&x); [line 24]\n NULLIFY(&SIL_materialize_temp__n$1); [line 24]\n " color=yellow style=filled]
10 [label="10: Start test\nFormals: a:class A *\nLocals: x:class X SIL_materialize_temp__n$1:class X \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$1); [line 21]\n " color=yellow style=filled] 10 [label="10: Start test\nFormals: a:class A *\nLocals: x:class X SIL_materialize_temp__n$1:class X \n DECLARE_LOCALS(&return,&x,&SIL_materialize_temp__n$1); [line 21]\n " color=yellow style=filled]
@ -18,18 +18,18 @@ digraph iCFG {
9 -> 8 ; 9 -> 8 ;
8 [label="8: Return Stmt \n n$0=*&__return_param:class X * [line 17]\n _fun_X_X(n$0:class X *,&x:class X &) [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&__return_param,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 8 [label="8: Return Stmt \n n$0=*&__return_param:class X * [line 17]\n _fun_X_X(n$0:class X *,&x:class X &) [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&__return_param); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
7 [label="7: Exit A_get \n NULLIFY(&x,false); [line 18]\n " color=yellow style=filled] 7 [label="7: Exit A_get \n NULLIFY(&x); [line 18]\n " color=yellow style=filled]
6 [label="6: Start A_get\nFormals: this:class A * p:int __return_param:class X *\nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 15]\n " color=yellow style=filled] 6 [label="6: Start A_get\nFormals: this:class A * p:int __return_param:class X *\nLocals: x:class X \n DECLARE_LOCALS(&return,&x); [line 15]\n " color=yellow style=filled]
6 -> 9 ; 6 -> 9 ;
5 [label="5: Constructor Init \n n$0=*&this:class X * [line 10]\n n$1=*&__param_0:class X & [line 10]\n n$2=*n$1.f:int [line 10]\n *n$0.f:int =n$2 [line 10]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 10]\n NULLIFY(&__param_0,false); [line 10]\n NULLIFY(&this,false); [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"] 5 [label="5: Constructor Init \n n$0=*&this:class X * [line 10]\n n$1=*&__param_0:class X & [line 10]\n n$2=*n$1.f:int [line 10]\n *n$0.f:int =n$2 [line 10]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 10]\n NULLIFY(&__param_0); [line 10]\n NULLIFY(&this); [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
9 [label="9: Call _fun_A_fun \n n$0=*&a:class A * [line 21]\n n$1=_fun_A_fun(0:int ) [line 21]\n REMOVE_TEMPS(n$0,n$1); [line 21]\n NULLIFY(&a,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"] 9 [label="9: Call _fun_A_fun \n n$0=*&a:class A * [line 21]\n n$1=_fun_A_fun(0:int ) [line 21]\n REMOVE_TEMPS(n$0,n$1); [line 21]\n NULLIFY(&a); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -21,7 +21,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: Return Stmt \n n$0=*&a:int [line 15]\n *&return:int =(1 / n$0) [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&a,false); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&a:int [line 15]\n *&return:int =(1 / n$0) [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n NULLIFY(&a); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,7 +3,7 @@ digraph iCFG {
53 -> 52 ; 53 -> 52 ;
52 [label="52: Call delete \n n$0=*&trgl:class Polygon * [line 72]\n n$1=*n$0:class Polygon [line 72]\n _fun_Polygon_~Polygon(n$0:class Polygon *) virtual [line 72]\n _fun___delete(n$0:class Polygon *) [line 72]\n REMOVE_TEMPS(n$0,n$1); [line 72]\n NULLIFY(&trgl,false); [line 72]\n APPLY_ABSTRACTION; [line 72]\n " shape="box"] 52 [label="52: Call delete \n n$0=*&trgl:class Polygon * [line 72]\n n$1=*n$0:class Polygon [line 72]\n _fun_Polygon_~Polygon(n$0:class Polygon *) virtual [line 72]\n _fun___delete(n$0:class Polygon *) [line 72]\n REMOVE_TEMPS(n$0,n$1); [line 72]\n NULLIFY(&trgl); [line 72]\n APPLY_ABSTRACTION; [line 72]\n " shape="box"]
52 -> 51 ; 52 -> 51 ;
@ -30,11 +30,11 @@ digraph iCFG {
46 -> 45 ; 46 -> 45 ;
45 [label="45: Return Stmt \n n$0=*&ppoly2:class Polygon * [line 64]\n n$1=*n$0:class Polygon [line 64]\n n$2=_fun_Polygon_area(n$0:class Polygon *) [line 64]\n *&return:int =(1 / n$2) [line 64]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 64]\n NULLIFY(&ppoly2,false); [line 64]\n APPLY_ABSTRACTION; [line 64]\n " shape="box"] 45 [label="45: Return Stmt \n n$0=*&ppoly2:class Polygon * [line 64]\n n$1=*n$0:class Polygon [line 64]\n n$2=_fun_Polygon_area(n$0:class Polygon *) [line 64]\n *&return:int =(1 / n$2) [line 64]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 64]\n NULLIFY(&ppoly2); [line 64]\n APPLY_ABSTRACTION; [line 64]\n " shape="box"]
45 -> 44 ; 45 -> 44 ;
44 [label="44: Exit tri_not_virtual_area \n NULLIFY(&trgl,false); [line 65]\n NULLIFY(&poly,false); [line 65]\n " color=yellow style=filled] 44 [label="44: Exit tri_not_virtual_area \n NULLIFY(&trgl); [line 65]\n NULLIFY(&poly); [line 65]\n " color=yellow style=filled]
43 [label="43: Start tri_not_virtual_area\nFormals: \nLocals: ppoly2:class Polygon * poly:class Polygon trgl:class Triangle \n DECLARE_LOCALS(&return,&ppoly2,&poly,&trgl); [line 59]\n " color=yellow style=filled] 43 [label="43: Start tri_not_virtual_area\nFormals: \nLocals: ppoly2:class Polygon * poly:class Polygon trgl:class Triangle \n DECLARE_LOCALS(&return,&ppoly2,&poly,&trgl); [line 59]\n " color=yellow style=filled]
@ -49,11 +49,11 @@ digraph iCFG {
41 -> 40 ; 41 -> 40 ;
40 [label="40: Return Stmt \n n$0=*&ppoly3:class Polygon * [line 56]\n n$1=*n$0:class Polygon [line 56]\n n$2=_fun_Polygon_area(n$0:class Polygon *) virtual [line 56]\n *&return:int =(1 / n$2) [line 56]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 56]\n NULLIFY(&ppoly3,false); [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="box"] 40 [label="40: Return Stmt \n n$0=*&ppoly3:class Polygon * [line 56]\n n$1=*n$0:class Polygon [line 56]\n n$2=_fun_Polygon_area(n$0:class Polygon *) virtual [line 56]\n *&return:int =(1 / n$2) [line 56]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 56]\n NULLIFY(&ppoly3); [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="box"]
40 -> 39 ; 40 -> 39 ;
39 [label="39: Exit poly_area \n NULLIFY(&poly,false); [line 57]\n " color=yellow style=filled] 39 [label="39: Exit poly_area \n NULLIFY(&poly); [line 57]\n " color=yellow style=filled]
38 [label="38: Start poly_area\nFormals: \nLocals: ppoly3:class Polygon * poly:class Polygon \n DECLARE_LOCALS(&return,&ppoly3,&poly); [line 53]\n " color=yellow style=filled] 38 [label="38: Start poly_area\nFormals: \nLocals: ppoly3:class Polygon * poly:class Polygon \n DECLARE_LOCALS(&return,&ppoly3,&poly); [line 53]\n " color=yellow style=filled]
@ -76,11 +76,11 @@ digraph iCFG {
34 -> 33 ; 34 -> 33 ;
33 [label="33: Return Stmt \n n$0=*&ppoly2:class Polygon * [line 50]\n n$1=*n$0:class Polygon [line 50]\n n$2=_fun_Polygon_area(n$0:class Polygon *) virtual [line 50]\n *&return:int =(1 / (n$2 - 10)) [line 50]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 50]\n NULLIFY(&ppoly2,false); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="box"] 33 [label="33: Return Stmt \n n$0=*&ppoly2:class Polygon * [line 50]\n n$1=*n$0:class Polygon [line 50]\n n$2=_fun_Polygon_area(n$0:class Polygon *) virtual [line 50]\n *&return:int =(1 / (n$2 - 10)) [line 50]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 50]\n NULLIFY(&ppoly2); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="box"]
33 -> 32 ; 33 -> 32 ;
32 [label="32: Exit tri_area \n NULLIFY(&trgl,false); [line 51]\n NULLIFY(&poly,false); [line 51]\n " color=yellow style=filled] 32 [label="32: Exit tri_area \n NULLIFY(&trgl); [line 51]\n NULLIFY(&poly); [line 51]\n " color=yellow style=filled]
31 [label="31: Start tri_area\nFormals: \nLocals: ppoly2:class Polygon * poly:class Polygon trgl:class Triangle \n DECLARE_LOCALS(&return,&ppoly2,&poly,&trgl); [line 45]\n " color=yellow style=filled] 31 [label="31: Start tri_area\nFormals: \nLocals: ppoly2:class Polygon * poly:class Polygon trgl:class Triangle \n DECLARE_LOCALS(&return,&ppoly2,&poly,&trgl); [line 45]\n " color=yellow style=filled]
@ -99,18 +99,18 @@ digraph iCFG {
28 -> 27 ; 28 -> 27 ;
27 [label="27: Return Stmt \n n$0=*&ppoly1:class Polygon * [line 42]\n n$1=*n$0:class Polygon [line 42]\n n$2=_fun_Polygon_area(n$0:class Polygon *) virtual [line 42]\n *&return:int =(1 / (n$2 - 20)) [line 42]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 42]\n NULLIFY(&ppoly1,false); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"] 27 [label="27: Return Stmt \n n$0=*&ppoly1:class Polygon * [line 42]\n n$1=*n$0:class Polygon [line 42]\n n$2=_fun_Polygon_area(n$0:class Polygon *) virtual [line 42]\n *&return:int =(1 / (n$2 - 20)) [line 42]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 42]\n NULLIFY(&ppoly1); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
27 -> 26 ; 27 -> 26 ;
26 [label="26: Exit rect_area \n NULLIFY(&rect,false); [line 43]\n " color=yellow style=filled] 26 [label="26: Exit rect_area \n NULLIFY(&rect); [line 43]\n " color=yellow style=filled]
25 [label="25: Start rect_area\nFormals: \nLocals: ppoly1:class Polygon * rect:class Rectangle \n DECLARE_LOCALS(&return,&ppoly1,&rect); [line 38]\n " color=yellow style=filled] 25 [label="25: Start rect_area\nFormals: \nLocals: ppoly1:class Polygon * rect:class Rectangle \n DECLARE_LOCALS(&return,&ppoly1,&rect); [line 38]\n " color=yellow style=filled]
25 -> 30 ; 25 -> 30 ;
24 [label="24: Constructor Init \n n$0=*&this:class Triangle * [line 29]\n _fun_Polygon_Polygon(n$0:class Triangle *) [line 29]\n REMOVE_TEMPS(n$0); [line 29]\n NULLIFY(&this,false); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 24 [label="24: Constructor Init \n n$0=*&this:class Triangle * [line 29]\n _fun_Polygon_Polygon(n$0:class Triangle *) [line 29]\n REMOVE_TEMPS(n$0); [line 29]\n NULLIFY(&this); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
24 -> 23 ; 24 -> 23 ;
@ -121,11 +121,11 @@ digraph iCFG {
22 -> 24 ; 22 -> 24 ;
21 [label="21: DeclStmt \n n$1=*&this:class Triangle * [line 33]\n n$2=*n$1.width:int [line 33]\n n$3=*&this:class Triangle * [line 33]\n n$4=*n$3.height:int [line 33]\n *&x:int =(n$2 * n$4) [line 33]\n REMOVE_TEMPS(n$1,n$2,n$3,n$4); [line 33]\n NULLIFY(&this,false); [line 33]\n " shape="box"] 21 [label="21: DeclStmt \n n$1=*&this:class Triangle * [line 33]\n n$2=*n$1.width:int [line 33]\n n$3=*&this:class Triangle * [line 33]\n n$4=*n$3.height:int [line 33]\n *&x:int =(n$2 * n$4) [line 33]\n REMOVE_TEMPS(n$1,n$2,n$3,n$4); [line 33]\n NULLIFY(&this); [line 33]\n " shape="box"]
21 -> 20 ; 21 -> 20 ;
20 [label="20: Return Stmt \n n$0=*&x:int [line 34]\n *&return:int =(n$0 - 10) [line 34]\n REMOVE_TEMPS(n$0); [line 34]\n NULLIFY(&x,false); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"] 20 [label="20: Return Stmt \n n$0=*&x:int [line 34]\n *&return:int =(n$0 - 10) [line 34]\n REMOVE_TEMPS(n$0); [line 34]\n NULLIFY(&x); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
20 -> 19 ; 20 -> 19 ;
@ -143,7 +143,7 @@ digraph iCFG {
16 -> 17 ; 16 -> 17 ;
15 [label="15: Constructor Init \n n$0=*&this:class Rectangle * [line 23]\n _fun_Polygon_Polygon(n$0:class Rectangle *) [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n NULLIFY(&this,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"] 15 [label="15: Constructor Init \n n$0=*&this:class Rectangle * [line 23]\n _fun_Polygon_Polygon(n$0:class Rectangle *) [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n NULLIFY(&this); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
@ -154,7 +154,7 @@ digraph iCFG {
13 -> 15 ; 13 -> 15 ;
12 [label="12: Return Stmt \n n$0=*&this:class Rectangle * [line 26]\n n$1=*n$0.width:int [line 26]\n n$2=*&this:class Rectangle * [line 26]\n n$3=*n$2.height:int [line 26]\n *&return:int =(n$1 * n$3) [line 26]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 26]\n NULLIFY(&this,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 12 [label="12: Return Stmt \n n$0=*&this:class Rectangle * [line 26]\n n$1=*n$0.width:int [line 26]\n n$2=*&this:class Rectangle * [line 26]\n n$3=*n$2.height:int [line 26]\n *&return:int =(n$1 * n$3) [line 26]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 26]\n NULLIFY(&this); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
12 -> 11 ; 12 -> 11 ;
@ -183,11 +183,11 @@ digraph iCFG {
5 -> 7 ; 5 -> 7 ;
4 [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:class Polygon * [line 17]\n n$3=*&a:int [line 17]\n *n$2.width:int =n$3 [line 17]\n REMOVE_TEMPS(n$2,n$3); [line 17]\n NULLIFY(&a,false); [line 17]\n " shape="box"] 4 [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:class Polygon * [line 17]\n n$3=*&a:int [line 17]\n *n$2.width:int =n$3 [line 17]\n REMOVE_TEMPS(n$2,n$3); [line 17]\n NULLIFY(&a); [line 17]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class Polygon * [line 18]\n n$1=*&b:int [line 18]\n *n$0.height:int =n$1 [line 18]\n REMOVE_TEMPS(n$0,n$1); [line 18]\n NULLIFY(&b,false); [line 18]\n NULLIFY(&this,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class Polygon * [line 18]\n n$1=*&b:int [line 18]\n *n$0.height:int =n$1 [line 18]\n REMOVE_TEMPS(n$0,n$1); [line 18]\n NULLIFY(&b); [line 18]\n NULLIFY(&this); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -23,15 +23,15 @@ digraph iCFG {
19 -> 18 ; 19 -> 18 ;
18 [label="18: BinaryOperatorStmt: Assign \n n$2=_fun_foo::value() [line 55]\n *&i:int =n$2 [line 55]\n REMOVE_TEMPS(n$2); [line 55]\n NULLIFY(&i,false); [line 55]\n " shape="box"] 18 [label="18: BinaryOperatorStmt: Assign \n n$2=_fun_foo::value() [line 55]\n *&i:int =n$2 [line 55]\n REMOVE_TEMPS(n$2); [line 55]\n NULLIFY(&i); [line 55]\n " shape="box"]
18 -> 17 ; 18 -> 17 ;
17 [label="17: BinaryOperatorStmt: Assign \n n$1=_fun_bar::value() [line 56]\n *&i:int =n$1 [line 56]\n REMOVE_TEMPS(n$1); [line 56]\n NULLIFY(&i,false); [line 56]\n " shape="box"] 17 [label="17: BinaryOperatorStmt: Assign \n n$1=_fun_bar::value() [line 56]\n *&i:int =n$1 [line 56]\n REMOVE_TEMPS(n$1); [line 56]\n NULLIFY(&i); [line 56]\n " shape="box"]
17 -> 16 ; 17 -> 16 ;
16 [label="16: BinaryOperatorStmt: Assign \n n$0=*&#GB$bar::pi:double [line 57]\n *&j:double =n$0 [line 57]\n REMOVE_TEMPS(n$0); [line 57]\n NULLIFY(&j,false); [line 57]\n " shape="box"] 16 [label="16: BinaryOperatorStmt: Assign \n n$0=*&#GB$bar::pi:double [line 57]\n *&j:double =n$0 [line 57]\n REMOVE_TEMPS(n$0); [line 57]\n NULLIFY(&j); [line 57]\n " shape="box"]
16 -> 15 ; 16 -> 15 ;
@ -39,7 +39,7 @@ digraph iCFG {
15 -> 14 ; 15 -> 14 ;
14 [label="14: Exit main \n NULLIFY(&x,false); [line 59]\n NULLIFY(&rect2,false); [line 59]\n NULLIFY(&rect1,false); [line 59]\n " color=yellow style=filled] 14 [label="14: Exit main \n NULLIFY(&x); [line 59]\n NULLIFY(&rect2); [line 59]\n NULLIFY(&rect1); [line 59]\n " color=yellow style=filled]
13 [label="13: Start main\nFormals: \nLocals: rect2:class foo::Rectangle rect1:class bar::Rectangle x:class foo::my_record j:double i:int \n DECLARE_LOCALS(&return,&rect2,&rect1,&x,&j,&i); [line 41]\n " color=yellow style=filled] 13 [label="13: Start main\nFormals: \nLocals: rect2:class foo::Rectangle rect1:class bar::Rectangle x:class foo::my_record j:double i:int \n DECLARE_LOCALS(&return,&rect2,&rect1,&x,&j,&i); [line 41]\n " color=yellow style=filled]

@ -3,7 +3,7 @@ digraph iCFG {
20 -> 14 ; 20 -> 14 ;
19 [label="19: BinaryOperatorStmt: AddAssign \n n$3=*&x:int [line 20]\n n$4=*&result:int [line 20]\n *&result:int =(n$4 + n$3) [line 20]\n REMOVE_TEMPS(n$3,n$4); [line 20]\n NULLIFY(&x,false); [line 20]\n " shape="box"] 19 [label="19: BinaryOperatorStmt: AddAssign \n n$3=*&x:int [line 20]\n n$4=*&result:int [line 20]\n *&result:int =(n$4 + n$3) [line 20]\n REMOVE_TEMPS(n$3,n$4); [line 20]\n NULLIFY(&x); [line 20]\n " shape="box"]
19 -> 15 ; 19 -> 15 ;
@ -12,7 +12,7 @@ digraph iCFG {
18 -> 16 ; 18 -> 16 ;
18 -> 17 ; 18 -> 17 ;
17 [label="17: Prune (false branch) \n n$1=*&x:int [line 19]\n PRUNE((n$1 == 0), false); [line 19]\n REMOVE_TEMPS(n$1); [line 19]\n NULLIFY(&i,false); [line 19]\n NULLIFY(&result,false); [line 19]\n NULLIFY(&x,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="invhouse"] 17 [label="17: Prune (false branch) \n n$1=*&x:int [line 19]\n PRUNE((n$1 == 0), false); [line 19]\n REMOVE_TEMPS(n$1); [line 19]\n NULLIFY(&i); [line 19]\n NULLIFY(&result); [line 19]\n NULLIFY(&x); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="invhouse"]
17 -> 12 ; 17 -> 12 ;
@ -43,7 +43,7 @@ digraph iCFG {
10 -> 4 ; 10 -> 4 ;
9 [label="9: BinaryOperatorStmt: AddAssign \n n$2=*&x:int [line 13]\n n$3=*&result:int [line 13]\n *&result:int =(n$3 + n$2) [line 13]\n REMOVE_TEMPS(n$2,n$3); [line 13]\n NULLIFY(&x,false); [line 13]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: AddAssign \n n$2=*&x:int [line 13]\n n$3=*&result:int [line 13]\n *&result:int =(n$3 + n$2) [line 13]\n REMOVE_TEMPS(n$2,n$3); [line 13]\n NULLIFY(&x); [line 13]\n " shape="box"]
9 -> 5 ; 9 -> 5 ;
@ -52,7 +52,7 @@ digraph iCFG {
8 -> 6 ; 8 -> 6 ;
8 -> 7 ; 8 -> 7 ;
7 [label="7: Prune (false branch) \n n$1=*&x:int [line 12]\n PRUNE((n$1 == 0), false); [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&i,false); [line 12]\n NULLIFY(&result,false); [line 12]\n NULLIFY(&x,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"] 7 [label="7: Prune (false branch) \n n$1=*&x:int [line 12]\n PRUNE((n$1 == 0), false); [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&i); [line 12]\n NULLIFY(&result); [line 12]\n NULLIFY(&x); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"]
7 -> 2 ; 7 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
73 [label="73: Return Stmt \n n$1=*&p:int * [line 60]\n n$2=*n$1:int [line 60]\n *&return:int =n$2 [line 60]\n REMOVE_TEMPS(n$1,n$2); [line 60]\n NULLIFY(&p,false); [line 60]\n APPLY_ABSTRACTION; [line 60]\n " shape="box"] 73 [label="73: Return Stmt \n n$1=*&p:int * [line 60]\n n$2=*n$1:int [line 60]\n *&return:int =n$2 [line 60]\n REMOVE_TEMPS(n$1,n$2); [line 60]\n NULLIFY(&p); [line 60]\n APPLY_ABSTRACTION; [line 60]\n " shape="box"]
73 -> 66 ; 73 -> 66 ;
@ -16,7 +16,7 @@ digraph iCFG {
70 -> 73 ; 70 -> 73 ;
69 [label="69: Prune (true branch) \n n$0=*&p:int * [line 57]\n PRUNE((n$0 != 0), true); [line 57]\n REMOVE_TEMPS(n$0); [line 57]\n NULLIFY(&p,false); [line 57]\n " shape="invhouse"] 69 [label="69: Prune (true branch) \n n$0=*&p:int * [line 57]\n PRUNE((n$0 != 0), true); [line 57]\n REMOVE_TEMPS(n$0); [line 57]\n NULLIFY(&p); [line 57]\n " shape="invhouse"]
69 -> 72 ; 69 -> 72 ;
@ -39,7 +39,7 @@ digraph iCFG {
64 -> 62 ; 64 -> 62 ;
63 [label="63: BinaryOperatorStmt: Assign \n n$3=*&a:int & [line 51]\n *n$3:int =0 [line 51]\n REMOVE_TEMPS(n$3); [line 51]\n NULLIFY(&a,false); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"] 63 [label="63: BinaryOperatorStmt: Assign \n n$3=*&a:int & [line 51]\n *n$3:int =0 [line 51]\n REMOVE_TEMPS(n$3); [line 51]\n NULLIFY(&a); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"]
63 -> 59 ; 63 -> 59 ;
@ -48,7 +48,7 @@ digraph iCFG {
62 -> 60 ; 62 -> 60 ;
62 -> 61 ; 62 -> 61 ;
61 [label="61: Prune (false branch) \n n$1=*&a:int & [line 50]\n n$2=*n$1:int [line 50]\n PRUNE((n$2 == 0), false); [line 50]\n REMOVE_TEMPS(n$1,n$2); [line 50]\n NULLIFY(&a,false); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="invhouse"] 61 [label="61: Prune (false branch) \n n$1=*&a:int & [line 50]\n n$2=*n$1:int [line 50]\n PRUNE((n$2 == 0), false); [line 50]\n REMOVE_TEMPS(n$1,n$2); [line 50]\n NULLIFY(&a); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="invhouse"]
61 -> 59 ; 61 -> 59 ;
@ -64,18 +64,18 @@ digraph iCFG {
58 -> 57 ; 58 -> 57 ;
57 [label="57: Exit reference_init_div0 \n NULLIFY(&r,false); [line 54]\n " color=yellow style=filled] 57 [label="57: Exit reference_init_div0 \n NULLIFY(&r); [line 54]\n " color=yellow style=filled]
56 [label="56: Start reference_init_div0\nFormals: \nLocals: a:int & r:int \n DECLARE_LOCALS(&return,&a,&r); [line 48]\n " color=yellow style=filled] 56 [label="56: Start reference_init_div0\nFormals: \nLocals: a:int & r:int \n DECLARE_LOCALS(&return,&a,&r); [line 48]\n " color=yellow style=filled]
56 -> 64 ; 56 -> 64 ;
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 [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); [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
55 -> 44 ; 55 -> 44 ;
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 [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); [line 43]\n " shape="box"]
54 -> 47 ; 54 -> 47 ;
@ -100,7 +100,7 @@ digraph iCFG {
49 -> 54 ; 49 -> 54 ;
48 [label="48: Prune (false branch) \n n$0=*&a:int [line 43]\n PRUNE((n$0 == 0), false); [line 43]\n REMOVE_TEMPS(n$0); [line 43]\n NULLIFY(&a,false); [line 43]\n " shape="invhouse"] 48 [label="48: Prune (false branch) \n n$0=*&a:int [line 43]\n PRUNE((n$0 == 0), false); [line 43]\n REMOVE_TEMPS(n$0); [line 43]\n NULLIFY(&a); [line 43]\n " shape="invhouse"]
48 -> 45 ; 48 -> 45 ;
@ -124,7 +124,7 @@ digraph iCFG {
43 -> 50 ; 43 -> 50 ;
43 -> 51 ; 43 -> 51 ;
42 [label="42: Return Stmt \n n$2=*&a:int [line 38]\n *&return:int =(1 / (n$2 - 1)) [line 38]\n REMOVE_TEMPS(n$2); [line 38]\n NULLIFY(&a,false); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"] 42 [label="42: Return Stmt \n n$2=*&a:int [line 38]\n *&return:int =(1 / (n$2 - 1)) [line 38]\n REMOVE_TEMPS(n$2); [line 38]\n NULLIFY(&a); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
42 -> 36 ; 42 -> 36 ;
@ -133,7 +133,7 @@ digraph iCFG {
41 -> 39 ; 41 -> 39 ;
41 -> 40 ; 41 -> 40 ;
40 [label="40: Prune (false branch) \n n$0=*&a:int [line 37]\n PRUNE((n$0 == 0), false); [line 37]\n REMOVE_TEMPS(n$0); [line 37]\n NULLIFY(&a,false); [line 37]\n " shape="invhouse"] 40 [label="40: Prune (false branch) \n n$0=*&a:int [line 37]\n PRUNE((n$0 == 0), false); [line 37]\n REMOVE_TEMPS(n$0); [line 37]\n NULLIFY(&a); [line 37]\n " shape="invhouse"]
40 -> 37 ; 40 -> 37 ;
@ -167,7 +167,7 @@ digraph iCFG {
32 -> 34 ; 32 -> 34 ;
31 [label="31: Return Stmt \n n$2=*&a:int [line 30]\n n$3=*&b:int [line 30]\n *&return:int =(1 / (n$2 + n$3)) [line 30]\n REMOVE_TEMPS(n$2,n$3); [line 30]\n NULLIFY(&a,false); [line 30]\n NULLIFY(&b,false); [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"] 31 [label="31: Return Stmt \n n$2=*&a:int [line 30]\n n$3=*&b:int [line 30]\n *&return:int =(1 / (n$2 + n$3)) [line 30]\n REMOVE_TEMPS(n$2,n$3); [line 30]\n NULLIFY(&a); [line 30]\n NULLIFY(&b); [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"]
31 -> 19 ; 31 -> 19 ;
@ -184,7 +184,7 @@ digraph iCFG {
28 -> 31 ; 28 -> 31 ;
27 [label="27: Prune (true branch) \n n$1=*&b:int [line 27]\n PRUNE((n$1 != 0), true); [line 27]\n REMOVE_TEMPS(n$1); [line 27]\n NULLIFY(&a,false); [line 27]\n NULLIFY(&b,false); [line 27]\n " shape="invhouse"] 27 [label="27: Prune (true branch) \n n$1=*&b:int [line 27]\n PRUNE((n$1 != 0), true); [line 27]\n REMOVE_TEMPS(n$1); [line 27]\n NULLIFY(&a); [line 27]\n NULLIFY(&b); [line 27]\n " shape="invhouse"]
27 -> 30 ; 27 -> 30 ;
@ -205,7 +205,7 @@ digraph iCFG {
23 -> 29 ; 23 -> 29 ;
22 [label="22: Prune (true branch) \n n$0=*&a:int [line 25]\n PRUNE((n$0 != 0), true); [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n NULLIFY(&a,false); [line 25]\n " shape="invhouse"] 22 [label="22: Prune (true branch) \n n$0=*&a:int [line 25]\n PRUNE((n$0 != 0), true); [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n NULLIFY(&a); [line 25]\n " shape="invhouse"]
22 -> 25 ; 22 -> 25 ;
@ -224,11 +224,11 @@ digraph iCFG {
18 -> 24 ; 18 -> 24 ;
17 [label="17: Return Stmt \n n$2=*&a:int [line 20]\n *&return:int =(1 / n$2) [line 20]\n REMOVE_TEMPS(n$2); [line 20]\n NULLIFY(&a,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 17 [label="17: Return Stmt \n n$2=*&a:int [line 20]\n *&return:int =(1 / n$2) [line 20]\n REMOVE_TEMPS(n$2); [line 20]\n NULLIFY(&a); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
17 -> 10 ; 17 -> 10 ;
16 [label="16: Return Stmt \n n$1=*&a:int [line 18]\n *&return:int =n$1 [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n NULLIFY(&a,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 16 [label="16: Return Stmt \n n$1=*&a:int [line 18]\n *&return:int =n$1 [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n NULLIFY(&a); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
16 -> 10 ; 16 -> 10 ;
@ -260,7 +260,7 @@ digraph iCFG {
9 -> 15 ; 9 -> 15 ;
8 [label="8: Return Stmt \n n$1=*&a:int [line 12]\n *&return:int =(1 / n$1) [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&a,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 8 [label="8: Return Stmt \n n$1=*&a:int [line 12]\n *&return:int =(1 / n$1) [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&a); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
8 -> 2 ; 8 -> 2 ;
@ -269,7 +269,7 @@ digraph iCFG {
7 -> 5 ; 7 -> 5 ;
7 -> 6 ; 7 -> 6 ;
6 [label="6: Prune (false branch) \n n$0=*&a:int [line 11]\n PRUNE((n$0 == 0), false); [line 11]\n REMOVE_TEMPS(n$0); [line 11]\n NULLIFY(&a,false); [line 11]\n " shape="invhouse"] 6 [label="6: Prune (false branch) \n n$0=*&a:int [line 11]\n PRUNE((n$0 == 0), false); [line 11]\n REMOVE_TEMPS(n$0); [line 11]\n NULLIFY(&a); [line 11]\n " shape="invhouse"]
6 -> 3 ; 6 -> 3 ;

@ -4,7 +4,7 @@ digraph iCFG {
14 -> 11 ; 14 -> 11 ;
14 -> 12 ; 14 -> 12 ;
13 [label="13: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 12]\n NULLIFY(&x,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"] 13 [label="13: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 12]\n NULLIFY(&x); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"]
13 -> 10 ; 13 -> 10 ;
@ -13,7 +13,7 @@ digraph iCFG {
12 -> 8 ; 12 -> 8 ;
12 -> 9 ; 12 -> 9 ;
11 [label="11: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 13]\n NULLIFY(&x,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="invhouse"] 11 [label="11: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 13]\n NULLIFY(&x); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="invhouse"]
11 -> 10 ; 11 -> 10 ;
@ -25,7 +25,7 @@ digraph iCFG {
9 -> 5 ; 9 -> 5 ;
8 [label="8: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 15]\n NULLIFY(&x,false); [line 15]\n " shape="invhouse"] 8 [label="8: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 15]\n NULLIFY(&x); [line 15]\n " shape="invhouse"]
8 -> 7 ; 8 -> 7 ;
@ -33,7 +33,7 @@ digraph iCFG {
7 -> 2 ; 7 -> 2 ;
6 [label="6: Return Stmt \n n$2=*&x:int [line 18]\n *&return:int =n$2 [line 18]\n REMOVE_TEMPS(n$2); [line 18]\n NULLIFY(&x,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"] 6 [label="6: Return Stmt \n n$2=*&x:int [line 18]\n *&return:int =n$2 [line 18]\n REMOVE_TEMPS(n$2); [line 18]\n NULLIFY(&x); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 -> 2 ; 6 -> 2 ;
@ -41,7 +41,7 @@ digraph iCFG {
5 -> 6 ; 5 -> 6 ;
4 [label="4: DeclStmt \n n$1=*&a:int [line 11]\n *&x:int =n$1 [line 11]\n REMOVE_TEMPS(n$1); [line 11]\n NULLIFY(&a,false); [line 11]\n " shape="box"] 4 [label="4: DeclStmt \n n$1=*&a:int [line 11]\n *&x:int =n$1 [line 11]\n REMOVE_TEMPS(n$1); [line 11]\n NULLIFY(&a); [line 11]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -7,7 +7,7 @@ digraph iCFG {
27 -> 15 ; 27 -> 15 ;
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 [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); [line 24]\n " shape="box"]
26 -> 25 ; 26 -> 25 ;
@ -15,7 +15,7 @@ digraph iCFG {
25 -> 15 ; 25 -> 15 ;
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 [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); [line 23]\n " shape="box"]
24 -> 16 ; 24 -> 16 ;
@ -45,7 +45,7 @@ digraph iCFG {
18 -> 24 ; 18 -> 24 ;
17 [label="17: Prune (false branch) \n n$0=*&a:int [line 23]\n PRUNE((n$0 == 0), false); [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n NULLIFY(&a,false); [line 23]\n NULLIFY(&result,false); [line 23]\n NULLIFY(&x,false); [line 23]\n " shape="invhouse"] 17 [label="17: Prune (false branch) \n n$0=*&a:int [line 23]\n PRUNE((n$0 == 0), false); [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n NULLIFY(&a); [line 23]\n NULLIFY(&result); [line 23]\n NULLIFY(&x); [line 23]\n " shape="invhouse"]
17 -> 14 ; 17 -> 14 ;
@ -76,7 +76,7 @@ digraph iCFG {
10 -> 4 ; 10 -> 4 ;
9 [label="9: BinaryOperatorStmt: AddAssign \n n$3=*&a:int [line 14]\n n$4=*&result:int [line 14]\n *&result:int =(n$4 + n$3) [line 14]\n REMOVE_TEMPS(n$3,n$4); [line 14]\n NULLIFY(&a,false); [line 14]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: AddAssign \n n$3=*&a:int [line 14]\n n$4=*&result:int [line 14]\n *&result:int =(n$4 + n$3) [line 14]\n REMOVE_TEMPS(n$3,n$4); [line 14]\n NULLIFY(&a); [line 14]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -89,7 +89,7 @@ digraph iCFG {
7 -> 5 ; 7 -> 5 ;
7 -> 6 ; 7 -> 6 ;
6 [label="6: Prune (false branch) \n n$0=*&a:int [line 13]\n PRUNE((n$0 == 0), false); [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&a,false); [line 13]\n NULLIFY(&result,false); [line 13]\n NULLIFY(&x,false); [line 13]\n " shape="invhouse"] 6 [label="6: Prune (false branch) \n n$0=*&a:int [line 13]\n PRUNE((n$0 == 0), false); [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&a); [line 13]\n NULLIFY(&result); [line 13]\n NULLIFY(&x); [line 13]\n " shape="invhouse"]
6 -> 3 ; 6 -> 3 ;

@ -3,15 +3,15 @@ digraph iCFG {
5 -> 4 ; 5 -> 4 ;
4 [label="4: DeclStmt \n *&r:int &=&v [line 12]\n NULLIFY(&r,false); [line 12]\n " shape="box"] 4 [label="4: DeclStmt \n *&r:int &=&v [line 12]\n NULLIFY(&r); [line 12]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;
3 [label="3: DeclStmt \n *&p:int *=&v [line 13]\n NULLIFY(&p,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 3 [label="3: DeclStmt \n *&p:int *=&v [line 13]\n NULLIFY(&p); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;
2 [label="2: Exit test \n NULLIFY(&v,false); [line 14]\n " color=yellow style=filled] 2 [label="2: Exit test \n NULLIFY(&v); [line 14]\n " color=yellow style=filled]
1 [label="1: Start test\nFormals: \nLocals: p:int * r:int & v:int \n DECLARE_LOCALS(&return,&p,&r,&v); [line 10]\n " color=yellow style=filled] 1 [label="1: Start test\nFormals: \nLocals: p:int * r:int & v:int \n DECLARE_LOCALS(&return,&p,&r,&v); [line 10]\n " color=yellow style=filled]

@ -7,15 +7,15 @@ digraph iCFG {
10 -> 9 ; 10 -> 9 ;
9 [label="9: DeclStmt \n n$2=*&vr:int & [line 19]\n n$3=*n$2:int [line 19]\n *n$2:int =(n$3 + 1) [line 19]\n *&r:int &=n$2 [line 19]\n REMOVE_TEMPS(n$2,n$3); [line 19]\n NULLIFY(&r,false); [line 19]\n " shape="box"] 9 [label="9: DeclStmt \n n$2=*&vr:int & [line 19]\n n$3=*n$2:int [line 19]\n *n$2:int =(n$3 + 1) [line 19]\n *&r:int &=n$2 [line 19]\n REMOVE_TEMPS(n$2,n$3); [line 19]\n NULLIFY(&r); [line 19]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
8 [label="8: DeclStmt \n n$0=*&vr:int & [line 20]\n n$1=*n$0:int [line 20]\n *n$0:int =(n$1 - 1) [line 20]\n *&q:int &=n$0 [line 20]\n REMOVE_TEMPS(n$0,n$1); [line 20]\n NULLIFY(&q,false); [line 20]\n NULLIFY(&vr,false); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"] 8 [label="8: DeclStmt \n n$0=*&vr:int & [line 20]\n n$1=*n$0:int [line 20]\n *n$0:int =(n$1 - 1) [line 20]\n *&q:int &=n$0 [line 20]\n REMOVE_TEMPS(n$0,n$1); [line 20]\n NULLIFY(&q); [line 20]\n NULLIFY(&vr); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
7 [label="7: Exit using_ref \n NULLIFY(&v,false); [line 21]\n " color=yellow style=filled] 7 [label="7: Exit using_ref \n NULLIFY(&v); [line 21]\n " color=yellow style=filled]
6 [label="6: Start using_ref\nFormals: \nLocals: q:int & r:int & vr:int & v:int \n DECLARE_LOCALS(&return,&q,&r,&vr,&v); [line 16]\n " color=yellow style=filled] 6 [label="6: Start using_ref\nFormals: \nLocals: q:int & r:int & vr:int & v:int \n DECLARE_LOCALS(&return,&q,&r,&vr,&v); [line 16]\n " color=yellow style=filled]
@ -26,15 +26,15 @@ digraph iCFG {
5 -> 4 ; 5 -> 4 ;
4 [label="4: DeclStmt \n n$1=*&v:int [line 12]\n *&v:int =(n$1 + 1) [line 12]\n *&r:int &=&v [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&r,false); [line 12]\n " shape="box"] 4 [label="4: DeclStmt \n n$1=*&v:int [line 12]\n *&v:int =(n$1 + 1) [line 12]\n *&r:int &=&v [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&r); [line 12]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;
3 [label="3: DeclStmt \n n$0=*&v:int [line 13]\n *&v:int =(n$0 - 1) [line 13]\n *&q:int &=&v [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&q,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 3 [label="3: DeclStmt \n n$0=*&v:int [line 13]\n *&v:int =(n$0 - 1) [line 13]\n *&q:int &=&v [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&q); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;
2 [label="2: Exit using_value \n NULLIFY(&v,false); [line 14]\n " color=yellow style=filled] 2 [label="2: Exit using_value \n NULLIFY(&v); [line 14]\n " color=yellow style=filled]
1 [label="1: Start using_value\nFormals: \nLocals: q:int & r:int & v:int \n DECLARE_LOCALS(&return,&q,&r,&v); [line 10]\n " color=yellow style=filled] 1 [label="1: Start using_value\nFormals: \nLocals: q:int & r:int & v:int \n DECLARE_LOCALS(&return,&q,&r,&v); [line 10]\n " color=yellow style=filled]

@ -1,13 +1,13 @@
digraph iCFG { digraph iCFG {
15 [label="15: DeclStmt \n n$2=*&par:int * [line 23]\n n$3=*n$2:int [line 23]\n *&v:int =n$3 [line 23]\n REMOVE_TEMPS(n$2,n$3); [line 23]\n NULLIFY(&v,false); [line 23]\n " shape="box"] 15 [label="15: DeclStmt \n n$2=*&par:int * [line 23]\n n$3=*n$2:int [line 23]\n *&v:int =n$3 [line 23]\n REMOVE_TEMPS(n$2,n$3); [line 23]\n NULLIFY(&v); [line 23]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
14 [label="14: DeclStmt \n n$1=*&par:int * [line 24]\n *&d:int &=n$1 [line 24]\n REMOVE_TEMPS(n$1); [line 24]\n NULLIFY(&d,false); [line 24]\n " shape="box"] 14 [label="14: DeclStmt \n n$1=*&par:int * [line 24]\n *&d:int &=n$1 [line 24]\n REMOVE_TEMPS(n$1); [line 24]\n NULLIFY(&d); [line 24]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
13 [label="13: DeclStmt \n n$0=*&par:int * [line 25]\n *&p:int *=n$0 [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n NULLIFY(&p,false); [line 25]\n NULLIFY(&par,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 13 [label="13: DeclStmt \n n$0=*&par:int * [line 25]\n *&p:int *=n$0 [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n NULLIFY(&p); [line 25]\n NULLIFY(&par); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
13 -> 12 ; 13 -> 12 ;
@ -18,34 +18,34 @@ digraph iCFG {
11 -> 15 ; 11 -> 15 ;
10 [label="10: DeclStmt \n n$0=*&par:int [line 17]\n *&v:int =n$0 [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&v,false); [line 17]\n " shape="box"] 10 [label="10: DeclStmt \n n$0=*&par:int [line 17]\n *&v:int =n$0 [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&v); [line 17]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
9 [label="9: DeclStmt \n *&d:int &=&par [line 18]\n NULLIFY(&d,false); [line 18]\n " shape="box"] 9 [label="9: DeclStmt \n *&d:int &=&par [line 18]\n NULLIFY(&d); [line 18]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
8 [label="8: DeclStmt \n *&p:int *=&par [line 19]\n NULLIFY(&p,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 8 [label="8: DeclStmt \n *&p:int *=&par [line 19]\n NULLIFY(&p); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
7 [label="7: Exit init_from_val \n NULLIFY(&par,false); [line 20]\n " color=yellow style=filled] 7 [label="7: Exit init_from_val \n NULLIFY(&par); [line 20]\n " color=yellow style=filled]
6 [label="6: Start init_from_val\nFormals: par:int \nLocals: p:int * d:int & v:int \n DECLARE_LOCALS(&return,&p,&d,&v); [line 16]\n " color=yellow style=filled] 6 [label="6: Start init_from_val\nFormals: par:int \nLocals: p:int * d:int & v:int \n DECLARE_LOCALS(&return,&p,&d,&v); [line 16]\n " color=yellow style=filled]
6 -> 10 ; 6 -> 10 ;
5 [label="5: DeclStmt \n n$2=*&par:int & [line 11]\n n$3=*n$2:int [line 11]\n *&v:int =n$3 [line 11]\n REMOVE_TEMPS(n$2,n$3); [line 11]\n NULLIFY(&v,false); [line 11]\n " shape="box"] 5 [label="5: DeclStmt \n n$2=*&par:int & [line 11]\n n$3=*n$2:int [line 11]\n *&v:int =n$3 [line 11]\n REMOVE_TEMPS(n$2,n$3); [line 11]\n NULLIFY(&v); [line 11]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
4 [label="4: DeclStmt \n n$1=*&par:int & [line 12]\n *&d:int &=n$1 [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&d,false); [line 12]\n " shape="box"] 4 [label="4: DeclStmt \n n$1=*&par:int & [line 12]\n *&d:int &=n$1 [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n NULLIFY(&d); [line 12]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;
3 [label="3: DeclStmt \n n$0=*&par:int & [line 13]\n *&p:int *=n$0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&p,false); [line 13]\n NULLIFY(&par,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 3 [label="3: DeclStmt \n n$0=*&par:int & [line 13]\n *&p:int *=n$0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&p); [line 13]\n NULLIFY(&par); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,9 +1,9 @@
digraph iCFG { digraph iCFG {
11 [label="11: DeclStmt \n n$3=*&x:class X * [line 21]\n n$4=*n$3.f:int [line 21]\n *&f:int =n$4 [line 21]\n REMOVE_TEMPS(n$3,n$4); [line 21]\n NULLIFY(&f,false); [line 21]\n " shape="box"] 11 [label="11: DeclStmt \n n$3=*&x:class X * [line 21]\n n$4=*n$3.f:int [line 21]\n *&f:int =n$4 [line 21]\n REMOVE_TEMPS(n$3,n$4); [line 21]\n NULLIFY(&f); [line 21]\n " shape="box"]
11 -> 10 ; 11 -> 10 ;
10 [label="10: DeclStmt \n n$0=*&x:class X * [line 22]\n n$1=*n$0:class X [line 22]\n n$2=_fun_X_call(n$0:class X *) [line 22]\n *&c:int =n$2 [line 22]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 22]\n NULLIFY(&c,false); [line 22]\n NULLIFY(&x,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 10 [label="10: DeclStmt \n n$0=*&x:class X * [line 22]\n n$1=*n$0:class X [line 22]\n n$2=_fun_X_call(n$0:class X *) [line 22]\n *&c:int =n$2 [line 22]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 22]\n NULLIFY(&c); [line 22]\n NULLIFY(&x); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
@ -14,11 +14,11 @@ digraph iCFG {
8 -> 11 ; 8 -> 11 ;
7 [label="7: DeclStmt \n n$3=*&x:class X & [line 16]\n n$4=*n$3.f:int [line 16]\n *&f:int =n$4 [line 16]\n REMOVE_TEMPS(n$3,n$4); [line 16]\n NULLIFY(&f,false); [line 16]\n " shape="box"] 7 [label="7: DeclStmt \n n$3=*&x:class X & [line 16]\n n$4=*n$3.f:int [line 16]\n *&f:int =n$4 [line 16]\n REMOVE_TEMPS(n$3,n$4); [line 16]\n NULLIFY(&f); [line 16]\n " shape="box"]
7 -> 6 ; 7 -> 6 ;
6 [label="6: DeclStmt \n n$0=*&x:class X & [line 17]\n n$1=*n$0:class X [line 17]\n n$2=_fun_X_call(n$0:class X &) [line 17]\n *&c:int =n$2 [line 17]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 17]\n NULLIFY(&c,false); [line 17]\n NULLIFY(&x,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 6 [label="6: DeclStmt \n n$0=*&x:class X & [line 17]\n n$1=*n$0:class X [line 17]\n n$2=_fun_X_call(n$0:class X &) [line 17]\n *&c:int =n$2 [line 17]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 17]\n NULLIFY(&c); [line 17]\n NULLIFY(&x); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -29,7 +29,7 @@ digraph iCFG {
4 -> 7 ; 4 -> 7 ;
3 [label="3: Return Stmt \n n$0=*&this:class X * [line 12]\n n$1=*n$0.f:int [line 12]\n *&return:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&this:class X * [line 12]\n n$1=*n$0.f:int [line 12]\n *&return:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,9 +1,9 @@
digraph iCFG { digraph iCFG {
19 [label="19: DeclStmt \n n$3=_fun_get_ptr() [line 25]\n n$4=*n$3.f:int [line 25]\n *&f:int =n$4 [line 25]\n REMOVE_TEMPS(n$3,n$4); [line 25]\n NULLIFY(&f,false); [line 25]\n " shape="box"] 19 [label="19: DeclStmt \n n$3=_fun_get_ptr() [line 25]\n n$4=*n$3.f:int [line 25]\n *&f:int =n$4 [line 25]\n REMOVE_TEMPS(n$3,n$4); [line 25]\n NULLIFY(&f); [line 25]\n " shape="box"]
19 -> 18 ; 19 -> 18 ;
18 [label="18: DeclStmt \n n$0=_fun_get_ptr() [line 26]\n n$1=*n$0:class X [line 26]\n n$2=_fun_X_call(n$0:class X *) [line 26]\n *&c:int =n$2 [line 26]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 26]\n NULLIFY(&c,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 18 [label="18: DeclStmt \n n$0=_fun_get_ptr() [line 26]\n n$1=*n$0:class X [line 26]\n n$2=_fun_X_call(n$0:class X *) [line 26]\n *&c:int =n$2 [line 26]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 26]\n NULLIFY(&c); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
18 -> 17 ; 18 -> 17 ;
@ -14,11 +14,11 @@ digraph iCFG {
16 -> 19 ; 16 -> 19 ;
15 [label="15: DeclStmt \n n$3=_fun_get_ref() [line 20]\n n$4=*n$3.f:int [line 20]\n *&f:int =n$4 [line 20]\n REMOVE_TEMPS(n$3,n$4); [line 20]\n NULLIFY(&f,false); [line 20]\n " shape="box"] 15 [label="15: DeclStmt \n n$3=_fun_get_ref() [line 20]\n n$4=*n$3.f:int [line 20]\n *&f:int =n$4 [line 20]\n REMOVE_TEMPS(n$3,n$4); [line 20]\n NULLIFY(&f); [line 20]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
14 [label="14: DeclStmt \n n$0=_fun_get_ref() [line 21]\n n$1=*n$0:class X [line 21]\n n$2=_fun_X_call(n$0:class X &) [line 21]\n *&c:int =n$2 [line 21]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 21]\n NULLIFY(&c,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"] 14 [label="14: DeclStmt \n n$0=_fun_get_ref() [line 21]\n n$1=*n$0:class X [line 21]\n n$2=_fun_X_call(n$0:class X &) [line 21]\n *&c:int =n$2 [line 21]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 21]\n NULLIFY(&c); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
@ -58,7 +58,7 @@ digraph iCFG {
4 -> 5 ; 4 -> 5 ;
3 [label="3: Return Stmt \n n$0=*&this:class X * [line 12]\n n$1=*n$0.f:int [line 12]\n *&return:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: Return Stmt \n n$0=*&this:class X * [line 12]\n n$1=*n$0.f:int [line 12]\n *&return:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -3,19 +3,19 @@ digraph iCFG {
16 -> 15 ; 16 -> 15 ;
15 [label="15: DeclStmt \n n$3=*&a:int [line 24]\n *&b:int =n$3 [line 24]\n REMOVE_TEMPS(n$3); [line 24]\n NULLIFY(&b,false); [line 24]\n " shape="box"] 15 [label="15: DeclStmt \n n$3=*&a:int [line 24]\n *&b:int =n$3 [line 24]\n REMOVE_TEMPS(n$3); [line 24]\n NULLIFY(&b); [line 24]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
14 [label="14: DeclStmt \n *&b:int =4 [line 28]\n n$2=*&b:int [line 28]\n *&a:int =n$2 [line 28]\n *&ref_from_val:int &=&a [line 28]\n REMOVE_TEMPS(n$2); [line 28]\n NULLIFY(&b,false); [line 28]\n " shape="box"] 14 [label="14: DeclStmt \n *&b:int =4 [line 28]\n n$2=*&b:int [line 28]\n *&a:int =n$2 [line 28]\n *&ref_from_val:int &=&a [line 28]\n REMOVE_TEMPS(n$2); [line 28]\n NULLIFY(&b); [line 28]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
13 [label="13: DeclStmt \n n$0=*&ref_from_val:int & [line 29]\n *&b:int =5 [line 29]\n n$1=*&b:int [line 29]\n *n$0:int =n$1 [line 29]\n *&ref_from_ref:int &=n$0 [line 29]\n REMOVE_TEMPS(n$0,n$1); [line 29]\n NULLIFY(&b,false); [line 29]\n NULLIFY(&ref_from_ref,false); [line 29]\n NULLIFY(&ref_from_val,false); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 13 [label="13: DeclStmt \n n$0=*&ref_from_val:int & [line 29]\n *&b:int =5 [line 29]\n n$1=*&b:int [line 29]\n *n$0:int =n$1 [line 29]\n *&ref_from_ref:int &=n$0 [line 29]\n REMOVE_TEMPS(n$0,n$1); [line 29]\n NULLIFY(&b); [line 29]\n NULLIFY(&ref_from_ref); [line 29]\n NULLIFY(&ref_from_val); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
13 -> 12 ; 13 -> 12 ;
12 [label="12: Exit crazy_nested \n NULLIFY(&a,false); [line 30]\n " color=yellow style=filled] 12 [label="12: Exit crazy_nested \n NULLIFY(&a); [line 30]\n " color=yellow style=filled]
11 [label="11: Start crazy_nested\nFormals: \nLocals: ref_from_ref:int & ref_from_val:int & b:int a:int \n DECLARE_LOCALS(&return,&ref_from_ref,&ref_from_val,&b,&a); [line 22]\n " color=yellow style=filled] 11 [label="11: Start crazy_nested\nFormals: \nLocals: ref_from_ref:int & ref_from_val:int & b:int a:int \n DECLARE_LOCALS(&return,&ref_from_ref,&ref_from_val,&b,&a); [line 22]\n " color=yellow style=filled]
@ -30,11 +30,11 @@ digraph iCFG {
9 -> 8 ; 9 -> 8 ;
8 [label="8: DeclStmt \n n$0=*&ref_from_val:int & [line 19]\n *n$0:int =6 [line 19]\n *&ref_from_ref:int &=n$0 [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&ref_from_ref,false); [line 19]\n NULLIFY(&ref_from_val,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 8 [label="8: DeclStmt \n n$0=*&ref_from_val:int & [line 19]\n *n$0:int =6 [line 19]\n *&ref_from_ref:int &=n$0 [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n NULLIFY(&ref_from_ref); [line 19]\n NULLIFY(&ref_from_val); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
7 [label="7: Exit nested \n NULLIFY(&a,false); [line 20]\n " color=yellow style=filled] 7 [label="7: Exit nested \n NULLIFY(&a); [line 20]\n " color=yellow style=filled]
6 [label="6: Start nested\nFormals: \nLocals: ref_from_ref:int & ref_from_val:int & a:int \n DECLARE_LOCALS(&return,&ref_from_ref,&ref_from_val,&a); [line 16]\n " color=yellow style=filled] 6 [label="6: Start nested\nFormals: \nLocals: ref_from_ref:int & ref_from_val:int & a:int \n DECLARE_LOCALS(&return,&ref_from_ref,&ref_from_val,&a); [line 16]\n " color=yellow style=filled]
@ -49,11 +49,11 @@ digraph iCFG {
4 -> 3 ; 4 -> 3 ;
3 [label="3: DeclStmt \n n$0=*&ref_from_val:int & [line 13]\n *&ref_from_ref:int &=n$0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&ref_from_ref,false); [line 13]\n NULLIFY(&ref_from_val,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 3 [label="3: DeclStmt \n n$0=*&ref_from_val:int & [line 13]\n *&ref_from_ref:int &=n$0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&ref_from_ref); [line 13]\n NULLIFY(&ref_from_val); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;
2 [label="2: Exit normal \n NULLIFY(&a,false); [line 14]\n " color=yellow style=filled] 2 [label="2: Exit normal \n NULLIFY(&a); [line 14]\n " color=yellow style=filled]
1 [label="1: Start normal\nFormals: \nLocals: ref_from_ref:int & ref_from_val:int & a:int \n DECLARE_LOCALS(&return,&ref_from_ref,&ref_from_val,&a); [line 10]\n " color=yellow style=filled] 1 [label="1: Start normal\nFormals: \nLocals: ref_from_ref:int & ref_from_val:int & a:int \n DECLARE_LOCALS(&return,&ref_from_ref,&ref_from_val,&a); [line 10]\n " color=yellow style=filled]

@ -19,7 +19,7 @@ digraph iCFG {
115 -> 114 ; 115 -> 114 ;
114 [label="114: Exit val_getI_div0 \n NULLIFY(&x,false); [line 142]\n NULLIFY(&r,false); [line 142]\n " color=yellow style=filled] 114 [label="114: Exit val_getI_div0 \n NULLIFY(&x); [line 142]\n NULLIFY(&r); [line 142]\n " color=yellow style=filled]
113 [label="113: Start val_getI_div0\nFormals: \nLocals: r:class Val x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 136]\n " color=yellow style=filled] 113 [label="113: Start val_getI_div0\nFormals: \nLocals: r:class Val x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 136]\n " color=yellow style=filled]
@ -46,7 +46,7 @@ digraph iCFG {
108 -> 107 ; 108 -> 107 ;
107 [label="107: Exit val_getF_div0 \n NULLIFY(&x,false); [line 134]\n NULLIFY(&r,false); [line 134]\n " color=yellow style=filled] 107 [label="107: Exit val_getF_div0 \n NULLIFY(&x); [line 134]\n NULLIFY(&r); [line 134]\n " color=yellow style=filled]
106 [label="106: Start val_getF_div0\nFormals: \nLocals: r:class Val x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 128]\n " color=yellow style=filled] 106 [label="106: Start val_getF_div0\nFormals: \nLocals: r:class Val x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 128]\n " color=yellow style=filled]
@ -73,7 +73,7 @@ digraph iCFG {
101 -> 100 ; 101 -> 100 ;
100 [label="100: Exit val_I_div0 \n NULLIFY(&x,false); [line 126]\n NULLIFY(&r,false); [line 126]\n " color=yellow style=filled] 100 [label="100: Exit val_I_div0 \n NULLIFY(&x); [line 126]\n NULLIFY(&r); [line 126]\n " color=yellow style=filled]
99 [label="99: Start val_I_div0\nFormals: \nLocals: r:class Val x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 120]\n " color=yellow style=filled] 99 [label="99: Start val_I_div0\nFormals: \nLocals: r:class Val x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 120]\n " color=yellow style=filled]
@ -100,7 +100,7 @@ digraph iCFG {
94 -> 93 ; 94 -> 93 ;
93 [label="93: Exit val_F_div0 \n NULLIFY(&x,false); [line 118]\n NULLIFY(&r,false); [line 118]\n " color=yellow style=filled] 93 [label="93: Exit val_F_div0 \n NULLIFY(&x); [line 118]\n NULLIFY(&r); [line 118]\n " color=yellow style=filled]
92 [label="92: Start val_F_div0\nFormals: \nLocals: r:class Val x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 112]\n " color=yellow style=filled] 92 [label="92: Start val_F_div0\nFormals: \nLocals: r:class Val x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 112]\n " color=yellow style=filled]
@ -127,7 +127,7 @@ digraph iCFG {
87 -> 86 ; 87 -> 86 ;
86 [label="86: Exit ptr_getI_div0 \n NULLIFY(&x,false); [line 109]\n NULLIFY(&r,false); [line 109]\n " color=yellow style=filled] 86 [label="86: Exit ptr_getI_div0 \n NULLIFY(&x); [line 109]\n NULLIFY(&r); [line 109]\n " color=yellow style=filled]
85 [label="85: Start ptr_getI_div0\nFormals: \nLocals: r:class Ptr x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 103]\n " color=yellow style=filled] 85 [label="85: Start ptr_getI_div0\nFormals: \nLocals: r:class Ptr x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 103]\n " color=yellow style=filled]
@ -154,7 +154,7 @@ digraph iCFG {
80 -> 79 ; 80 -> 79 ;
79 [label="79: Exit ptr_getF_div0 \n NULLIFY(&x,false); [line 101]\n NULLIFY(&r,false); [line 101]\n " color=yellow style=filled] 79 [label="79: Exit ptr_getF_div0 \n NULLIFY(&x); [line 101]\n NULLIFY(&r); [line 101]\n " color=yellow style=filled]
78 [label="78: Start ptr_getF_div0\nFormals: \nLocals: r:class Ptr x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 95]\n " color=yellow style=filled] 78 [label="78: Start ptr_getF_div0\nFormals: \nLocals: r:class Ptr x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 95]\n " color=yellow style=filled]
@ -181,7 +181,7 @@ digraph iCFG {
73 -> 72 ; 73 -> 72 ;
72 [label="72: Exit ptr_I_div0 \n NULLIFY(&x,false); [line 93]\n NULLIFY(&r,false); [line 93]\n " color=yellow style=filled] 72 [label="72: Exit ptr_I_div0 \n NULLIFY(&x); [line 93]\n NULLIFY(&r); [line 93]\n " color=yellow style=filled]
71 [label="71: Start ptr_I_div0\nFormals: \nLocals: r:class Ptr x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 87]\n " color=yellow style=filled] 71 [label="71: Start ptr_I_div0\nFormals: \nLocals: r:class Ptr x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 87]\n " color=yellow style=filled]
@ -208,7 +208,7 @@ digraph iCFG {
66 -> 65 ; 66 -> 65 ;
65 [label="65: Exit ptr_F_div0 \n NULLIFY(&x,false); [line 85]\n NULLIFY(&r,false); [line 85]\n " color=yellow style=filled] 65 [label="65: Exit ptr_F_div0 \n NULLIFY(&x); [line 85]\n NULLIFY(&r); [line 85]\n " color=yellow style=filled]
64 [label="64: Start ptr_F_div0\nFormals: \nLocals: r:class Ptr x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 79]\n " color=yellow style=filled] 64 [label="64: Start ptr_F_div0\nFormals: \nLocals: r:class Ptr x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 79]\n " color=yellow style=filled]
@ -235,7 +235,7 @@ digraph iCFG {
59 -> 58 ; 59 -> 58 ;
58 [label="58: Exit ref_getI_div0 \n NULLIFY(&x,false); [line 76]\n NULLIFY(&r,false); [line 76]\n " color=yellow style=filled] 58 [label="58: Exit ref_getI_div0 \n NULLIFY(&x); [line 76]\n NULLIFY(&r); [line 76]\n " color=yellow style=filled]
57 [label="57: Start ref_getI_div0\nFormals: \nLocals: r:class Ref x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 70]\n " color=yellow style=filled] 57 [label="57: Start ref_getI_div0\nFormals: \nLocals: r:class Ref x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 70]\n " color=yellow style=filled]
@ -262,7 +262,7 @@ digraph iCFG {
52 -> 51 ; 52 -> 51 ;
51 [label="51: Exit ref_getF_div0 \n NULLIFY(&x,false); [line 68]\n NULLIFY(&r,false); [line 68]\n " color=yellow style=filled] 51 [label="51: Exit ref_getF_div0 \n NULLIFY(&x); [line 68]\n NULLIFY(&r); [line 68]\n " color=yellow style=filled]
50 [label="50: Start ref_getF_div0\nFormals: \nLocals: r:class Ref x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 62]\n " color=yellow style=filled] 50 [label="50: Start ref_getF_div0\nFormals: \nLocals: r:class Ref x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 62]\n " color=yellow style=filled]
@ -289,7 +289,7 @@ digraph iCFG {
45 -> 44 ; 45 -> 44 ;
44 [label="44: Exit ref_I_div0 \n NULLIFY(&x,false); [line 60]\n NULLIFY(&r,false); [line 60]\n " color=yellow style=filled] 44 [label="44: Exit ref_I_div0 \n NULLIFY(&x); [line 60]\n NULLIFY(&r); [line 60]\n " color=yellow style=filled]
43 [label="43: Start ref_I_div0\nFormals: \nLocals: r:class Ref x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 54]\n " color=yellow style=filled] 43 [label="43: Start ref_I_div0\nFormals: \nLocals: r:class Ref x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 54]\n " color=yellow style=filled]
@ -316,14 +316,14 @@ digraph iCFG {
38 -> 37 ; 38 -> 37 ;
37 [label="37: Exit ref_F_div0 \n NULLIFY(&x,false); [line 52]\n NULLIFY(&r,false); [line 52]\n " color=yellow style=filled] 37 [label="37: Exit ref_F_div0 \n NULLIFY(&x); [line 52]\n NULLIFY(&r); [line 52]\n " color=yellow style=filled]
36 [label="36: Start ref_F_div0\nFormals: \nLocals: r:class Ref x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 46]\n " color=yellow style=filled] 36 [label="36: Start ref_F_div0\nFormals: \nLocals: r:class Ref x:class X \n DECLARE_LOCALS(&return,&r,&x); [line 46]\n " color=yellow style=filled]
36 -> 42 ; 36 -> 42 ;
35 [label="35: Return Stmt \n n$0=*&this:class Val * [line 42]\n n$1=*n$0.i:int [line 42]\n *&return:int =n$1 [line 42]\n REMOVE_TEMPS(n$0,n$1); [line 42]\n NULLIFY(&this,false); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"] 35 [label="35: Return Stmt \n n$0=*&this:class Val * [line 42]\n n$1=*n$0.i:int [line 42]\n *&return:int =n$1 [line 42]\n REMOVE_TEMPS(n$0,n$1); [line 42]\n NULLIFY(&this); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
35 -> 34 ; 35 -> 34 ;
@ -334,7 +334,7 @@ digraph iCFG {
33 -> 35 ; 33 -> 35 ;
32 [label="32: Return Stmt \n n$0=*&this:class Val * [line 41]\n n$1=*n$0.x.f:int [line 41]\n *&return:int =n$1 [line 41]\n REMOVE_TEMPS(n$0,n$1); [line 41]\n NULLIFY(&this,false); [line 41]\n APPLY_ABSTRACTION; [line 41]\n " shape="box"] 32 [label="32: Return Stmt \n n$0=*&this:class Val * [line 41]\n n$1=*n$0.x.f:int [line 41]\n *&return:int =n$1 [line 41]\n REMOVE_TEMPS(n$0,n$1); [line 41]\n NULLIFY(&this); [line 41]\n APPLY_ABSTRACTION; [line 41]\n " shape="box"]
32 -> 31 ; 32 -> 31 ;
@ -345,11 +345,11 @@ digraph iCFG {
30 -> 32 ; 30 -> 32 ;
29 [label="29: Constructor Init \n n$3=*&this:class Val * [line 40]\n n$4=*&r_:class X & [line 40]\n _fun_X_X(n$3.x:class X *,n$4:class X &) [line 40]\n REMOVE_TEMPS(n$3,n$4); [line 40]\n NULLIFY(&r_,false); [line 40]\n " shape="box"] 29 [label="29: Constructor Init \n n$3=*&this:class Val * [line 40]\n n$4=*&r_:class X & [line 40]\n _fun_X_X(n$3.x:class X *,n$4:class X &) [line 40]\n REMOVE_TEMPS(n$3,n$4); [line 40]\n NULLIFY(&r_); [line 40]\n " shape="box"]
29 -> 28 ; 29 -> 28 ;
28 [label="28: Constructor Init \n n$0=*&this:class Val * [line 40]\n n$1=*&this:class Val * [line 40]\n n$2=*n$1.x.f:int [line 40]\n *n$0.i:int =n$2 [line 40]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 40]\n NULLIFY(&this,false); [line 40]\n APPLY_ABSTRACTION; [line 40]\n " shape="box"] 28 [label="28: Constructor Init \n n$0=*&this:class Val * [line 40]\n n$1=*&this:class Val * [line 40]\n n$2=*n$1.x.f:int [line 40]\n *n$0.i:int =n$2 [line 40]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 40]\n NULLIFY(&this); [line 40]\n APPLY_ABSTRACTION; [line 40]\n " shape="box"]
28 -> 27 ; 28 -> 27 ;
@ -360,7 +360,7 @@ digraph iCFG {
26 -> 29 ; 26 -> 29 ;
25 [label="25: Return Stmt \n n$0=*&this:class Ptr * [line 34]\n n$1=*n$0.i:int * [line 34]\n n$2=*n$1:int [line 34]\n *&return:int =n$2 [line 34]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 34]\n NULLIFY(&this,false); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"] 25 [label="25: Return Stmt \n n$0=*&this:class Ptr * [line 34]\n n$1=*n$0.i:int * [line 34]\n n$2=*n$1:int [line 34]\n *&return:int =n$2 [line 34]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 34]\n NULLIFY(&this); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
25 -> 24 ; 25 -> 24 ;
@ -371,7 +371,7 @@ digraph iCFG {
23 -> 25 ; 23 -> 25 ;
22 [label="22: Return Stmt \n n$0=*&this:class Ptr * [line 33]\n n$1=*n$0.x:class X * [line 33]\n n$2=*n$1.f:int [line 33]\n *&return:int =n$2 [line 33]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 33]\n NULLIFY(&this,false); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"] 22 [label="22: Return Stmt \n n$0=*&this:class Ptr * [line 33]\n n$1=*n$0.x:class X * [line 33]\n n$2=*n$1.f:int [line 33]\n *&return:int =n$2 [line 33]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 33]\n NULLIFY(&this); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
22 -> 21 ; 22 -> 21 ;
@ -382,11 +382,11 @@ digraph iCFG {
20 -> 22 ; 20 -> 22 ;
19 [label="19: Constructor Init \n n$3=*&this:class Ptr * [line 32]\n n$4=*&r_:class X & [line 32]\n *n$3.x:class X *=n$4 [line 32]\n REMOVE_TEMPS(n$3,n$4); [line 32]\n NULLIFY(&r_,false); [line 32]\n " shape="box"] 19 [label="19: Constructor Init \n n$3=*&this:class Ptr * [line 32]\n n$4=*&r_:class X & [line 32]\n *n$3.x:class X *=n$4 [line 32]\n REMOVE_TEMPS(n$3,n$4); [line 32]\n NULLIFY(&r_); [line 32]\n " shape="box"]
19 -> 18 ; 19 -> 18 ;
18 [label="18: Constructor Init \n n$0=*&this:class Ptr * [line 32]\n n$1=*&this:class Ptr * [line 32]\n n$2=*n$1.x:class X * [line 32]\n *n$0.i:int *=n$2.f [line 32]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 32]\n NULLIFY(&this,false); [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"] 18 [label="18: Constructor Init \n n$0=*&this:class Ptr * [line 32]\n n$1=*&this:class Ptr * [line 32]\n n$2=*n$1.x:class X * [line 32]\n *n$0.i:int *=n$2.f [line 32]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 32]\n NULLIFY(&this); [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"]
18 -> 17 ; 18 -> 17 ;
@ -397,7 +397,7 @@ digraph iCFG {
16 -> 19 ; 16 -> 19 ;
15 [label="15: Return Stmt \n n$0=*&this:class Ref * [line 26]\n n$1=*n$0.i:int & [line 26]\n n$2=*n$1:int & [line 26]\n *&return:int =n$2 [line 26]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 26]\n NULLIFY(&this,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"] 15 [label="15: Return Stmt \n n$0=*&this:class Ref * [line 26]\n n$1=*n$0.i:int & [line 26]\n n$2=*n$1:int & [line 26]\n *&return:int =n$2 [line 26]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 26]\n NULLIFY(&this); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
@ -408,7 +408,7 @@ digraph iCFG {
13 -> 15 ; 13 -> 15 ;
12 [label="12: Return Stmt \n n$0=*&this:class Ref * [line 25]\n n$1=*n$0.x:class X & [line 25]\n n$2=*n$1.f:int [line 25]\n *&return:int =n$2 [line 25]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 25]\n NULLIFY(&this,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 12 [label="12: Return Stmt \n n$0=*&this:class Ref * [line 25]\n n$1=*n$0.x:class X & [line 25]\n n$2=*n$1.f:int [line 25]\n *&return:int =n$2 [line 25]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 25]\n NULLIFY(&this); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
12 -> 11 ; 12 -> 11 ;
@ -419,11 +419,11 @@ digraph iCFG {
10 -> 12 ; 10 -> 12 ;
9 [label="9: Constructor Init \n n$3=*&this:class Ref * [line 24]\n n$4=*&r_:class X & [line 24]\n *n$3.x:class X &=n$4 [line 24]\n REMOVE_TEMPS(n$3,n$4); [line 24]\n NULLIFY(&r_,false); [line 24]\n " shape="box"] 9 [label="9: Constructor Init \n n$3=*&this:class Ref * [line 24]\n n$4=*&r_:class X & [line 24]\n *n$3.x:class X &=n$4 [line 24]\n REMOVE_TEMPS(n$3,n$4); [line 24]\n NULLIFY(&r_); [line 24]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
8 [label="8: Constructor Init \n n$0=*&this:class Ref * [line 24]\n n$1=*&this:class Ref * [line 24]\n n$2=*n$1.x:class X & [line 24]\n *n$0.i:int &=n$2.f [line 24]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 24]\n NULLIFY(&this,false); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 8 [label="8: Constructor Init \n n$0=*&this:class Ref * [line 24]\n n$1=*&this:class Ref * [line 24]\n n$2=*n$1.x:class X & [line 24]\n *n$0.i:int &=n$2.f [line 24]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 24]\n NULLIFY(&this); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -434,7 +434,7 @@ digraph iCFG {
6 -> 9 ; 6 -> 9 ;
5 [label="5: Constructor Init \n n$0=*&this:class X * [line 10]\n n$1=*&__param_0:class X & [line 10]\n n$2=*n$1.f:int [line 10]\n *n$0.f:int =n$2 [line 10]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 10]\n NULLIFY(&__param_0,false); [line 10]\n NULLIFY(&this,false); [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"] 5 [label="5: Constructor Init \n n$0=*&this:class X * [line 10]\n n$1=*&__param_0:class X & [line 10]\n n$2=*n$1.f:int [line 10]\n *n$0.f:int =n$2 [line 10]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 10]\n NULLIFY(&__param_0); [line 10]\n NULLIFY(&this); [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -79,7 +79,7 @@ digraph iCFG {
103 -> 102 ; 103 -> 102 ;
102 [label="102: Return Stmt \n n$0=*&x:class X & [line 102]\n n$1=*n$0:class X [line 102]\n n$2=_fun_X_div(n$0:class X &) [line 102]\n *&return:int =n$2 [line 102]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 102]\n NULLIFY(&x,false); [line 102]\n APPLY_ABSTRACTION; [line 102]\n " shape="box"] 102 [label="102: Return Stmt \n n$0=*&x:class X & [line 102]\n n$1=*n$0:class X [line 102]\n n$2=_fun_X_div(n$0:class X &) [line 102]\n *&return:int =n$2 [line 102]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 102]\n NULLIFY(&x); [line 102]\n APPLY_ABSTRACTION; [line 102]\n " shape="box"]
102 -> 101 ; 102 -> 101 ;
@ -94,7 +94,7 @@ digraph iCFG {
99 -> 98 ; 99 -> 98 ;
98 [label="98: Return Stmt \n n$0=*&x:class X & [line 97]\n n$1=*n$0:class X [line 97]\n n$2=_fun_X_div(n$0:class X &) [line 97]\n *&return:int =n$2 [line 97]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 97]\n NULLIFY(&x,false); [line 97]\n APPLY_ABSTRACTION; [line 97]\n " shape="box"] 98 [label="98: Return Stmt \n n$0=*&x:class X & [line 97]\n n$1=*n$0:class X [line 97]\n n$2=_fun_X_div(n$0:class X &) [line 97]\n *&return:int =n$2 [line 97]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 97]\n NULLIFY(&x); [line 97]\n APPLY_ABSTRACTION; [line 97]\n " shape="box"]
98 -> 97 ; 98 -> 97 ;
@ -109,7 +109,7 @@ digraph iCFG {
95 -> 94 ; 95 -> 94 ;
94 [label="94: Return Stmt \n n$0=*&x:class X & [line 92]\n n$1=*n$0:class X [line 92]\n n$2=_fun_X_div(n$0:class X &) [line 92]\n *&return:int =n$2 [line 92]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 92]\n NULLIFY(&x,false); [line 92]\n APPLY_ABSTRACTION; [line 92]\n " shape="box"] 94 [label="94: Return Stmt \n n$0=*&x:class X & [line 92]\n n$1=*n$0:class X [line 92]\n n$2=_fun_X_div(n$0:class X &) [line 92]\n *&return:int =n$2 [line 92]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 92]\n NULLIFY(&x); [line 92]\n APPLY_ABSTRACTION; [line 92]\n " shape="box"]
94 -> 93 ; 94 -> 93 ;
@ -124,7 +124,7 @@ digraph iCFG {
91 -> 90 ; 91 -> 90 ;
90 [label="90: Return Stmt \n n$0=*&x:class X & [line 87]\n n$1=*n$0:class X [line 87]\n n$2=_fun_X_div(n$0:class X &) [line 87]\n *&return:int =n$2 [line 87]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 87]\n NULLIFY(&x,false); [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"] 90 [label="90: Return Stmt \n n$0=*&x:class X & [line 87]\n n$1=*n$0:class X [line 87]\n n$2=_fun_X_div(n$0:class X &) [line 87]\n *&return:int =n$2 [line 87]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 87]\n NULLIFY(&x); [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"]
90 -> 89 ; 90 -> 89 ;
@ -215,11 +215,11 @@ digraph iCFG {
67 -> 66 ; 67 -> 66 ;
66 [label="66: Return Stmt \n n$1=*&x:class X * [line 57]\n n$2=*n$1:class X [line 57]\n n$3=_fun_X_div(n$1:class X *) [line 57]\n *&return:int =n$3 [line 57]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 57]\n NULLIFY(&x,false); [line 57]\n APPLY_ABSTRACTION; [line 57]\n " shape="box"] 66 [label="66: Return Stmt \n n$1=*&x:class X * [line 57]\n n$2=*n$1:class X [line 57]\n n$3=_fun_X_div(n$1:class X *) [line 57]\n *&return:int =n$3 [line 57]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 57]\n NULLIFY(&x); [line 57]\n APPLY_ABSTRACTION; [line 57]\n " shape="box"]
66 -> 61 ; 66 -> 61 ;
65 [label="65: Prune (false branch) \n n$0=*&x:class X * [line 55]\n PRUNE((n$0 == 0), false); [line 55]\n REMOVE_TEMPS(n$0); [line 55]\n NULLIFY(&x,false); [line 55]\n " shape="invhouse"] 65 [label="65: Prune (false branch) \n n$0=*&x:class X * [line 55]\n PRUNE((n$0 == 0), false); [line 55]\n REMOVE_TEMPS(n$0); [line 55]\n NULLIFY(&x); [line 55]\n " shape="invhouse"]
65 -> 62 ; 65 -> 62 ;
@ -247,11 +247,11 @@ digraph iCFG {
59 -> 58 ; 59 -> 58 ;
58 [label="58: Return Stmt \n n$1=*&x:class X * [line 50]\n n$2=*n$1:class X [line 50]\n n$3=_fun_X_div(n$1:class X *) [line 50]\n *&return:int =n$3 [line 50]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 50]\n NULLIFY(&x,false); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="box"] 58 [label="58: Return Stmt \n n$1=*&x:class X * [line 50]\n n$2=*n$1:class X [line 50]\n n$3=_fun_X_div(n$1:class X *) [line 50]\n *&return:int =n$3 [line 50]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 50]\n NULLIFY(&x); [line 50]\n APPLY_ABSTRACTION; [line 50]\n " shape="box"]
58 -> 53 ; 58 -> 53 ;
57 [label="57: Prune (false branch) \n n$0=*&x:class X * [line 48]\n PRUNE((n$0 == 0), false); [line 48]\n REMOVE_TEMPS(n$0); [line 48]\n NULLIFY(&x,false); [line 48]\n " shape="invhouse"] 57 [label="57: Prune (false branch) \n n$0=*&x:class X * [line 48]\n PRUNE((n$0 == 0), false); [line 48]\n REMOVE_TEMPS(n$0); [line 48]\n NULLIFY(&x); [line 48]\n " shape="invhouse"]
57 -> 54 ; 57 -> 54 ;
@ -279,11 +279,11 @@ digraph iCFG {
51 -> 50 ; 51 -> 50 ;
50 [label="50: Return Stmt \n n$1=*&x:class X * [line 43]\n n$2=*n$1:class X [line 43]\n n$3=_fun_X_div(n$1:class X *) [line 43]\n *&return:int =n$3 [line 43]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 43]\n NULLIFY(&x,false); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"] 50 [label="50: Return Stmt \n n$1=*&x:class X * [line 43]\n n$2=*n$1:class X [line 43]\n n$3=_fun_X_div(n$1:class X *) [line 43]\n *&return:int =n$3 [line 43]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 43]\n NULLIFY(&x); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
50 -> 45 ; 50 -> 45 ;
49 [label="49: Prune (false branch) \n n$0=*&x:class X * [line 41]\n PRUNE((n$0 == 0), false); [line 41]\n REMOVE_TEMPS(n$0); [line 41]\n NULLIFY(&x,false); [line 41]\n " shape="invhouse"] 49 [label="49: Prune (false branch) \n n$0=*&x:class X * [line 41]\n PRUNE((n$0 == 0), false); [line 41]\n REMOVE_TEMPS(n$0); [line 41]\n NULLIFY(&x); [line 41]\n " shape="invhouse"]
49 -> 46 ; 49 -> 46 ;
@ -311,11 +311,11 @@ digraph iCFG {
43 -> 42 ; 43 -> 42 ;
42 [label="42: Return Stmt \n n$1=*&x:class X * [line 36]\n n$2=*n$1:class X [line 36]\n n$3=_fun_X_div(n$1:class X *) [line 36]\n *&return:int =n$3 [line 36]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 36]\n NULLIFY(&x,false); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"] 42 [label="42: Return Stmt \n n$1=*&x:class X * [line 36]\n n$2=*n$1:class X [line 36]\n n$3=_fun_X_div(n$1:class X *) [line 36]\n *&return:int =n$3 [line 36]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 36]\n NULLIFY(&x); [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
42 -> 37 ; 42 -> 37 ;
41 [label="41: Prune (false branch) \n n$0=*&x:class X * [line 34]\n PRUNE((n$0 == 0), false); [line 34]\n REMOVE_TEMPS(n$0); [line 34]\n NULLIFY(&x,false); [line 34]\n " shape="invhouse"] 41 [label="41: Prune (false branch) \n n$0=*&x:class X * [line 34]\n PRUNE((n$0 == 0), false); [line 34]\n REMOVE_TEMPS(n$0); [line 34]\n NULLIFY(&x); [line 34]\n " shape="invhouse"]
41 -> 38 ; 41 -> 38 ;
@ -361,7 +361,7 @@ digraph iCFG {
30 -> 32 ; 30 -> 32 ;
29 [label="29: BinaryOperatorStmt: Assign \n n$0=*&x:class X & [line 27]\n n$1=*&val:int [line 27]\n *n$0.f:int =n$1 [line 27]\n REMOVE_TEMPS(n$0,n$1); [line 27]\n NULLIFY(&val,false); [line 27]\n NULLIFY(&x,false); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"] 29 [label="29: BinaryOperatorStmt: Assign \n n$0=*&x:class X & [line 27]\n n$1=*&val:int [line 27]\n *n$0.f:int =n$1 [line 27]\n REMOVE_TEMPS(n$0,n$1); [line 27]\n NULLIFY(&val); [line 27]\n NULLIFY(&x); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
29 -> 28 ; 29 -> 28 ;
@ -372,7 +372,7 @@ digraph iCFG {
27 -> 29 ; 27 -> 29 ;
26 [label="26: Call _fun_X_nonzero \n n$0=*&x:class X & [line 25]\n n$1=*n$0:class X [line 25]\n _fun_X_nonzero(n$0:class X &) [line 25]\n REMOVE_TEMPS(n$0,n$1); [line 25]\n NULLIFY(&x,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 26 [label="26: Call _fun_X_nonzero \n n$0=*&x:class X & [line 25]\n n$1=*n$0:class X [line 25]\n _fun_X_nonzero(n$0:class X &) [line 25]\n REMOVE_TEMPS(n$0,n$1); [line 25]\n NULLIFY(&x); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
26 -> 25 ; 26 -> 25 ;
@ -383,7 +383,7 @@ digraph iCFG {
24 -> 26 ; 24 -> 26 ;
23 [label="23: Call _fun_X_zero \n n$0=*&x:class X & [line 23]\n n$1=*n$0:class X [line 23]\n _fun_X_zero(n$0:class X &) [line 23]\n REMOVE_TEMPS(n$0,n$1); [line 23]\n NULLIFY(&x,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"] 23 [label="23: Call _fun_X_zero \n n$0=*&x:class X & [line 23]\n n$1=*n$0:class X [line 23]\n _fun_X_zero(n$0:class X &) [line 23]\n REMOVE_TEMPS(n$0,n$1); [line 23]\n NULLIFY(&x); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
23 -> 22 ; 23 -> 22 ;
@ -394,7 +394,7 @@ digraph iCFG {
21 -> 23 ; 21 -> 23 ;
20 [label="20: BinaryOperatorStmt: Assign \n n$0=*&x:class X * [line 21]\n n$1=*&val:int [line 21]\n *n$0.f:int =n$1 [line 21]\n REMOVE_TEMPS(n$0,n$1); [line 21]\n NULLIFY(&val,false); [line 21]\n NULLIFY(&x,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"] 20 [label="20: BinaryOperatorStmt: Assign \n n$0=*&x:class X * [line 21]\n n$1=*&val:int [line 21]\n *n$0.f:int =n$1 [line 21]\n REMOVE_TEMPS(n$0,n$1); [line 21]\n NULLIFY(&val); [line 21]\n NULLIFY(&x); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
20 -> 19 ; 20 -> 19 ;
@ -405,7 +405,7 @@ digraph iCFG {
18 -> 20 ; 18 -> 20 ;
17 [label="17: Call _fun_X_nonzero \n n$0=*&x:class X * [line 19]\n n$1=*n$0:class X [line 19]\n _fun_X_nonzero(n$0:class X *) [line 19]\n REMOVE_TEMPS(n$0,n$1); [line 19]\n NULLIFY(&x,false); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"] 17 [label="17: Call _fun_X_nonzero \n n$0=*&x:class X * [line 19]\n n$1=*n$0:class X [line 19]\n _fun_X_nonzero(n$0:class X *) [line 19]\n REMOVE_TEMPS(n$0,n$1); [line 19]\n NULLIFY(&x); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
17 -> 16 ; 17 -> 16 ;
@ -416,7 +416,7 @@ digraph iCFG {
15 -> 17 ; 15 -> 17 ;
14 [label="14: Call _fun_X_zero \n n$0=*&x:class X * [line 17]\n n$1=*n$0:class X [line 17]\n _fun_X_zero(n$0:class X *) [line 17]\n REMOVE_TEMPS(n$0,n$1); [line 17]\n NULLIFY(&x,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"] 14 [label="14: Call _fun_X_zero \n n$0=*&x:class X * [line 17]\n n$1=*n$0:class X [line 17]\n _fun_X_zero(n$0:class X *) [line 17]\n REMOVE_TEMPS(n$0,n$1); [line 17]\n NULLIFY(&x); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
@ -434,7 +434,7 @@ digraph iCFG {
10 -> 11 ; 10 -> 11 ;
9 [label="9: Return Stmt \n n$0=*&this:class X * [line 14]\n n$1=*n$0.f:int [line 14]\n *&return:int =(1 / n$1) [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&this,false); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"] 9 [label="9: Return Stmt \n n$0=*&this:class X * [line 14]\n n$1=*n$0.f:int [line 14]\n *&return:int =(1 / n$1) [line 14]\n REMOVE_TEMPS(n$0,n$1); [line 14]\n NULLIFY(&this); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -445,7 +445,7 @@ digraph iCFG {
7 -> 9 ; 7 -> 9 ;
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 13]\n *n$0.f:int =0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&this,false); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"] 6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 13]\n *n$0.f:int =0 [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&this); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;
@ -456,7 +456,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 12]\n *n$0.f:int =1 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&this,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 12]\n *n$0.f:int =1 [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n NULLIFY(&this); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save